	var ns4=document.layers
	var ie4=document.all
	var ns6=document.getElementById&&!document.all
	var isMac = (navigator.appVersion.indexOf("Mac")!=-1) ? true : false;

	var popup;
	var overlay;
	
	function HelpCursor(sender)
	{
		var lnk = sender;
		sender.style.cursor = "help";
	}

	function ShowHelp(sender, num)
	{
		if(ie4)//if IE we must hide all dropdownlists. IE does not allow div tags to be positioned over them.
		{
			var selects = document.getElementsByTagName("select");
			for(var xx = 0; xx < selects.length; xx++)
			{
				selects[xx].style.visibility = "hidden";
			}
		}
		
		var loc = getCenter();
		popup = sender.parentNode.getElementsByTagName("div")[1];
		//popup = document.getElementById('popup_' + sender);
		var width;
		var height;
		
		if (ie4)
		{
			width = isMac ? document.body.offsetWidth : document.body.scrollWidth;
			height = isMac ? document.body.offsetHeight : document.body.scrollHeight;
		}
		else if (ns4)
		{
			width = document.width;
			height = document.height;
		}
		else if (ns6)
		{
			width = document.body.offsetWidth+document.body.offsetLeft;
			height = document.body.offsetHeight+document.body.offsetTop;
		}
		
		
		
		//if(!overlay)
			overlay = createOverlayLayer();
			
		overlay.visibility = 'visible';
		
		if(popup.filters != null)
			popup.filters[0].apply();
		popup.style.position = "absolute";
		popup.style.top = loc.y - 150;
		popup.style.left = loc.x - 210;
		popup.style.display = "block";
		popup.style.visibility = "visible"
		if(popup.filters != null)
			popup.filters[0].play();
	}
	
	function hideHelp()
	{
	
		if(ie4)//show hidden dropdownlists
		{
			var selects = document.getElementsByTagName("select");
			for(var xx = 0; xx < selects.length; xx++)
			{
				selects[xx].style.visibility = "visible";
			}
		}
		
		if(popup)
		{
			overlay.visibility = 'hidden';
			
			if(popup.filters != null)
				popup.filters[0].apply();
			popup.style.visibility = "hidden";
			if(popup.filters != null)
				popup.filters[0].play();
				
			
			document.getElementById('overlay').parentNode.removeChild(document.getElementById('overlay'));
		}
	}
	
	function getCenter()
	{
		var clientHeight;
		var clientWidth;
		var docTop;
		var docLeft;
		
		if (ie4) 
		{
			clientHeight = document.body.clientHeight;
			clientWidth = document.body.clientWidth;
			docTop = document.body.scrollTop;
			docLeft = document.body.scrollLeft;
		} 
		else if (ns4 || ns6)
		{
			clientHeight = window.innerHeight - 20;
			clientWidth = window.innerWidth - 20;
			docTop = window.pageYOffset;
			docLeft = window.pageXOffset;
		}
	    
		var loc = new Object();
		loc.x = docLeft + clientWidth/2;
		loc.y = docTop + clientHeight/2;
		return loc;
	}
	
	function createOverlayLayer()
	{
		var nL;
		var left = 0;
		var top = 0;
		var name = "overlay";
		var html = "";
		
		if (ie4)
		{
			var width = isMac ? document.body.offsetWidth : document.body.scrollWidth;
			var height = isMac ? document.body.offsetHeight : document.body.scrollHeight;
			var divhtml = '<div  id=' + name + ' style="visibility:visible;left:' + left + 
				'px;top:' + top + 'px;width:' + width + 
				'px;height:' + height + 'px;position:absolute; ">' + 
				html + '</div>';
			document.body.insertAdjacentHTML('beforeEnd', divhtml);
			nL = document.all[name].style
		}
		else if (ns4)
		{
			var width = document.width;
			var height = document.height;
			nL=new Layer(width);
			nL.name = name;
			nL.left=left;
			nL.top=top;
			nL.height = height;
			nL.clip.width = width;
			nL.clip.height = height;
			nL.visibility = "show";
			nL.background = "";
			nL.document.open();
			nL.document.write('');
			nL.document.close();
		}
		else if (ns6)
		{
			var nL = document.createElement("DIV");
			nL.innerHTML = "";
			var mybody=document.body;
			mybody.appendChild(nL);
			nL.style.position = "absolute";
			nL.style.visibility = "visible";
			nL.style.left = left;
			nL.style.top = top;
			nL.style.width = document.body.offsetWidth+document.body.offsetLeft;
			nL.style.height = document.body.offsetHeight+document.body.offsetTop;
			nL.style.background = "";
			nL.id = name;
			nL = nL.style;
		}
		return nL;
	}
	
	

// Remember the current position.
function storeCaret(text)
{
	// Only bother if it will be useful.
	if (typeof(text.createTextRange) != 'undefined')
		text.caretPos = document.selection.createRange().duplicate();
}

// Replaces the currently selected text with the passed text.
function replaceText(text, textarea)
{
	// Attempt to create a text range (IE).
	if (typeof(textarea.caretPos) != "undefined" && textarea.createTextRange)
	{
		var caretPos = textarea.caretPos;

		caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
		caretPos.select();
	}
	// Mozilla text range replace.
	else if (typeof(textarea.selectionStart) != "undefined")
	{
		var begin = textarea.value.substr(0, textarea.selectionStart);
		var end = textarea.value.substr(textarea.selectionEnd);
		var scrollPos = textarea.scrollTop;

		textarea.value = begin + text + end;

		if (textarea.setSelectionRange)
		{
			textarea.focus();
			textarea.setSelectionRange(begin.length + text.length, begin.length + text.length);
		}
		textarea.scrollTop = scrollPos;
	}
	// Just put it on the end.
	else
	{
		textarea.value += text;
		textarea.focus(textarea.value.length - 1);
	}
}

// Surrounds the selected text with text1 and text2.
function surroundText(text1, text2, textarea)
{
	// Can a text range be created?
	if (typeof(textarea.caretPos) != "undefined" && textarea.createTextRange)
	{
		var caretPos = textarea.caretPos;

		caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text1 + caretPos.text + text2 + ' ' : text1 + caretPos.text + text2;
		caretPos.select();
	}
	// Mozilla text range wrap.
	else if (typeof(textarea.selectionStart) != "undefined")
	{
		var begin = textarea.value.substr(0, textarea.selectionStart);
		var selection = textarea.value.substr(textarea.selectionStart, textarea.selectionEnd - textarea.selectionStart);
		var end = textarea.value.substr(textarea.selectionEnd);
		var newCursorPos = textarea.selectionStart;
		var scrollPos = textarea.scrollTop;

		textarea.value = begin + text1 + selection + text2 + end;

		if (textarea.setSelectionRange)
		{
			if (selection.length == 0)
				textarea.setSelectionRange(newCursorPos + text1.length, newCursorPos + text1.length);
			else
				textarea.setSelectionRange(newCursorPos, newCursorPos + text1.length + selection.length + text2.length);
			textarea.focus();
		}
		textarea.scrollTop = scrollPos;
	}
	// Just put them on the end, then.
	else
	{
		textarea.value += text1 + text2;
		textarea.focus(textarea.value.length - 1);
	}
}

// color table

function elem(elementName) {
  return document.getElementById(elementName);
}

function hide(elementName) {
  elem(elementName).style.display = 'none';
}

function hideError(fieldKey) {
  hide(fieldKey + "ErrorMessage");
  elem(fieldKey + "ErrorBox").className = "errorbox-good";
}


var e=null;var h=null;var g=null;var k=false;var s=290;var q=null;var r=null;var p={};function C(a,b){if(a){q=a}if(b){r=b}}
function l(a){return a==document.body?0:a.offsetLeft+l(a.offsetParent)}
function t(a){return a==document.body?0:a.offsetTop+t(a.offsetParent)}
function x(a,b){
		if(ie4)//if IE we must hide all dropdownlists. IE does not allow div tags to be positioned over them.
		{
			var selects = document.getElementsByTagName("select");
			for(var xx = 0; xx < selects.length; xx++)
			{
				selects[xx].style.visibility = "hidden";
			}
		}
var c=b?b:elem("colorsample-"+a);var d=l(c)+20;e=a;h=elem("colorfield-"+a).value;if(cp_directionality=="rtl"){d=l(c)-s;if(b){d+=b.offsetWidth-20}}if(d<0){d=0}else if(d+s>document.body.offsetWidth){d=document.body.offsetWidth-s-20}var f=elem("color_picker");f.style.top=t(c);f.style.left=d;f.style.display="";document.onmouseup=m}
function D(a){k=true;g=a;if(e!=null){i(e,a,true,true,true);elem("colorfield-"+e).focus()}m()}
function v(a){g=a;if(r!=null){r(e,h,g)}}
function m(){
		if(ie4)//show hidden dropdownlists
		{
			var selects = document.getElementsByTagName("select");
			for(var xx = 0; xx < selects.length; xx++)
			{
				selects[xx].style.visibility = "visible";
			}
		}
if(!k){v(h)}k=false;document.onmouseup="";e=null;elem("color_picker").style.display="none"}
function o(a){if(a==null){return false}if(a.charAt(0)=="#"){a=a.substring(1)}return a.match("[0-9a-fA-F]{6}")}
function z(a){var b=elem("colorfield-"+a).value;if(o(b)){p[a]=b;return j(b)}else{if(p[a]){return j(p[a])}else{return j("000000")}}}
function j(a){return[parseInt(a.substring(0,2),16),parseInt(a.substring(2,4),16),parseInt(a.substring(4,6),16)]}
function y(a){var b=(256+a[0]).toString(16).substring(1);var c=(256+a[1]).toString(16).substring(1);var d=(256+a[2]).toString(16).substring(1);return(b+c+d).toUpperCase()}
function i(a,b,c,d,f){if(o(b)){e=a;g=b;hideError(a);elem("colorsample-"+a).style.backgroundColor="#"+b;if(c){elem("colorfield-"+a).value=b}if(f&&q!=null){q(e,h,g)}}else if(d||b.length==6){showError(a,val("invalidColorErrorMsg"))}}
function E(a,b){if(b==undefined){for(var c=0;c<a.length;c++){w(a[c])}}else{for(var c=0;c<a.length;c++){var d=b[a[c]];i(a[c],y(d),true,true,false)}}}
function w(a){var b=val("colorfield-"+a);i(a,b,false,true,false)}
var n=false;function u(){n=true}
function B(){n=false}
function A(a,b){if(!n){u();x(a,b)}}
var _cp_registerPicker=C;var _cp_showPicker=x;var _cp_selectColor=D;var _cp_mouseOverColor=v;var _cp_hidePicker=m;var _cp_isValidColor=o;var _cp_getLiteralColor=z;var _cp_toColor=j;var _cp_toHex=y;var _cp_setColor=i;var _cp_synchronizeColorList=E;var _cp_refreshColor=w;var _cp_ignorePreviewClick=u;var _cp_previewClickCleanup=B;var _cp_handlePreviewClick=A;

// html design menu

// Remember the current position.
function storeCaret(text)
{
	// Only bother if it will be useful.
	if (typeof(text.createTextRange) != 'undefined')
		text.caretPos = document.selection.createRange().duplicate();
}

// Replaces the currently selected text with the passed text.
function replaceText(text, textarea)
{
	// Attempt to create a text range (IE).
	if (typeof(textarea.caretPos) != "undefined" && textarea.createTextRange)
	{
		var caretPos = textarea.caretPos;

		caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
		caretPos.select();
	}
	// Mozilla text range replace.
	else if (typeof(textarea.selectionStart) != "undefined")
	{
		var begin = textarea.value.substr(0, textarea.selectionStart);
		var end = textarea.value.substr(textarea.selectionEnd);
		var scrollPos = textarea.scrollTop;

		textarea.value = begin + text + end;

		if (textarea.setSelectionRange)
		{
			textarea.focus();
			textarea.setSelectionRange(begin.length + text.length, begin.length + text.length);
		}
		textarea.scrollTop = scrollPos;
	}
	// Just put it on the end.
	else
	{
		textarea.value += text;
		textarea.focus(textarea.value.length - 1);
	}
}

// Surrounds the selected text with text1 and text2.
function surroundText(text1, text2, textarea)
{
	// Can a text range be created?
	if (typeof(textarea.caretPos) != "undefined" && textarea.createTextRange)
	{
		var caretPos = textarea.caretPos;

		caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text1 + caretPos.text + text2 + ' ' : text1 + caretPos.text + text2;
		caretPos.select();
	}
	// Mozilla text range wrap.
	else if (typeof(textarea.selectionStart) != "undefined")
	{
		var begin = textarea.value.substr(0, textarea.selectionStart);
		var selection = textarea.value.substr(textarea.selectionStart, textarea.selectionEnd - textarea.selectionStart);
		var end = textarea.value.substr(textarea.selectionEnd);
		var newCursorPos = textarea.selectionStart;
		var scrollPos = textarea.scrollTop;

		textarea.value = begin + text1 + selection + text2 + end;

		if (textarea.setSelectionRange)
		{
			if (selection.length == 0)
				textarea.setSelectionRange(newCursorPos + text1.length, newCursorPos + text1.length);
			else
				textarea.setSelectionRange(newCursorPos, newCursorPos + text1.length + selection.length + text2.length);
			textarea.focus();
		}
		textarea.scrollTop = scrollPos;
	}
	// Just put them on the end, then.
	else
	{
		textarea.value += text1 + text2;
		textarea.focus(textarea.value.length - 1);
	}
}

// popup window
function open_popup(host)
{
	window.open('includes/host/'+host,'Hosting','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=no,top=140,left=155,width=600,height=400')
}
	