var cmsaccessKeys=Array();
var cmspages=Array();

function cmsOpenAspect(){
	if(document.getElementById("cmsimagetoinsert").value!=""){
		window.open('cms/aspect/image.php?file='+document.getElementById("cmsimagetoinsert").value,'','scrollbars=no,menubar=no,height=625,width=660,resizable=no,toolbar=no,location=no,status=no');
	} else {
		window.open('cms/aspect/image.php','','scrollbars=no,menubar=no,height=625,width=660,resizable=no,toolbar=no,location=no,status=no');
	}
}
function cmsSelectImage($imageName, $imageWidth){
	document.getElementById("cmsimagetoinsert").value=$imageName;
	document.getElementById("cmsimagetodelete").value=$imageName;
	document.getElementById("cmsthisimagewidth").value=$imageWidth;

}
function cmsDoPreview($template, $id, $name){
	if(confirm("The "+$name+" page has been saved\n\nDo you want to preview this page?")){
		if($id==2){
			window.open("contact.php?page="+$id);
		} else {
			window.open($template+"?page="+$id);
		}
	}
}
function cmsPreviewImage($previewimage){
	document.getElementById("cmspreviewimage").src=$previewimage;
	document.getElementById("cmsimagepreview").style.display="block";
}
function cmsHidePreview(){
	document.getElementById("cmsimagepreview").style.display="none";
}
function cmsClosePanel($panel){
	document.getElementById($panel).style.display='none';
}
function cmsOpenPanel($panel){
	document.getElementById($panel).style.display='block';
	if($panel=="cmsinsertimagepanel"){
		document.getElementById("cmsimagealignleft").disabled=false;
		document.getElementById("cmsimagealignright").disabled=false;
		document.getElementById("cmsimagealigncenter").disabled=false;
		document.getElementById("cmseditableimageid").value='';
		document.getElementById("cmsmakeimagealink").disabled=false;
		document.getElementById("cmsalttagtext").value='';
		document.getElementById("cmsimagetoinsert").value='';
	}
}

function cmsdisablePlaceAfter(){
	if(document.getElementById("cmsplaceafter").disabled==false){
		document.getElementById("cmsplaceafter").disabled=true;
		document.getElementById("cmsoptionsaccesskey").disabled=true;
	} else {
		document.getElementById("cmsplaceafter").disabled=false;
		document.getElementById("cmsoptionsaccesskey").disabled=false;
	}	
}
function cmsdisableInsertAfter(){
	if(document.getElementById("cmsinsertafter").disabled==false){
		document.getElementById("cmsinsertafter").disabled=true;
		document.getElementById("cmsnewpageaccesskey").value='';
		document.getElementById("cmsnewpageaccesskey").disabled=true;
	} else {
		document.getElementById("cmsinsertafter").disabled=false;
		document.getElementById("cmsnewpageaccesskey").disabled=false;
	}	
}
function cmsoptionsswap($option){
	document.getElementById("cmsoption1").style.backgroundColor="#EFEFDE";
	document.getElementById("cmsoption2").style.backgroundColor="#EFEFDE";
	document.getElementById("cmsoption3").style.backgroundColor="#EFEFDE";

	document.getElementById("cmsoptionsoptions").style.display="none";
	document.getElementById("cmsoptionsnewpage").style.display="none";
	document.getElementById("cmsoptionsmypages").style.display="none";

	switch($option){
		case "options": 
			document.getElementById("cmsoptionsoptions").style.display="block";
			document.getElementById("cmsoption1").style.backgroundColor="#CDCDBC";
		break;
		case "newpage": 
			document.getElementById("cmsoptionsnewpage").style.display="block";
			document.getElementById("cmsoption2").style.backgroundColor="#CDCDBC";
		break;
		case "mypages": 
			document.getElementById("cmsoptionsmypages").style.display="block";
			document.getElementById("cmsoption3").style.backgroundColor="#CDCDBC";
		break;
		default: break;
	}
}

function cmsselectmypage($template, $id, $name){
	document.getElementById("cmsselectmypage").value=$template+"?page="+$id;
	document.getElementById("cmsdeletepageid").value=$id;
	document.getElementById("cmsdeletepagename").value=$name;
}
function cmsselecthyperlink($template, $id){
	document.getElementById("cmslinktoinsert").value=$template+"?page="+$id;
}
function cmsGoToPage(){
	if(document.getElementById("cmsselectmypage").value){
//		window.location=document.getElementById("cmsselectmypage").value+"&amp;editmode=1";
		window.location=document.getElementById("cmsselectmypage").value+"&editmode=1";
	} else {
		alert("You MUST select a page");
	}
	
}


function cmsUpdatePage($allowedKey){
	if(trim(document.getElementById("cmspagename").value)==""){
		alert("You MUST type a name for the page");		
	} else {
		if(checkForBothQuotes(document.getElementById("cmspagename").value)){
			alert("You MUST NOT have single or double quotes in your page name");
		} else {
			if(document.getElementById("cmsupdatemenuentry").checked==true){
				if(trim(document.getElementById("cmsoptionsaccesskey").value)==""){
					alert("You MUST choose an access key");
				} else {
					if(cmsTestAccessKey(document.getElementById("cmsoptionsaccesskey").value, $allowedKey)){
						document.getElementById("cmsoptionsform").submit();
					}
				}
			} else {
				if(cmsTestAccessKey(document.getElementById("cmsoptionsaccesskey").value, $allowedKey)){
					document.getElementById("cmsoptionsform").submit();
				}
			}
		}	
	}
}

function cmsTestAccessKey($key, $allowedKey){
	for($x=0; $x<cmsaccessKeys.length; $x++){
		if($key.toLowerCase()==cmsaccessKeys[$x].toLowerCase()){
			if($key.toLowerCase()!=$allowedKey.toLowerCase()){
				alert("'"+$key+"' is already in use");
				return false;
			}
		}
	}
	return true;
}

function cmscreatepage(){
	$newpagename=trim(document.getElementById("cmsnewpagename").value);
	$nametaken=null;
	if(trim(document.getElementById("cmsnewpagename").value)!=""){
		for($i=0; $i<cmspages.length; $i++){
			$comparepagename=trim(cmspages[$i]);
			if($newpagename.toLowerCase()==$comparepagename.toLowerCase()){
				$nametaken=1;
			}
		}
		if(!$nametaken){
			if(checkForBothQuotes(document.getElementById("cmsnewpagename").value)){
				alert("You MUST NOT have single or double quotes in your page name");
			} else {
				if(document.getElementById("cmsnewpagemenuentry").checked==true){
					if(document.getElementById("cmsnewpagemenuentry").checked==true){
						if(trim(document.getElementById("cmsnewpageaccesskey").value)==""){
							alert("you MUST choose an access key");
						} else {
							if(cmsTestAccessKey(document.getElementById("cmsnewpageaccesskey").value, " ")){
								document.getElementById("cmsoptionsnewpageform").submit();
							}
						}
					}		
				} else {
					document.getElementById("cmsoptionsnewpageform").submit();
				}
			}
		} else {
			alert("'"+document.getElementById("cmsnewpagename").value+"' is already in use!");
		}
		
	} else {
		alert("You MUST type a page name");
	}
}


function cmsDeletePage(){
	$page=document.getElementById("cmsdeletepageid").value;
	$undeleteable=Array(1,2);
	$dont=null;
	for($x=0; $x<$undeleteable.length; $x++){
		if ($page==$undeleteable[$x]){
			$dont=1;
		}
	}
	if($dont){
		alert("You cannot delete the '"+document.getElementById("cmsdeletepagename").value+"' page");
	} else {
		if(trim(document.getElementById("cmsselectmypage").value)==""){
			alert("You MUST select a page to delete");
		} else {
			$name=document.getElementById("cmsdeletepagename").value;
			if(confirm("Are you sure you want to delete the '"+$name+"' page?\n\nYou will NOT be able to undo this action")){
				document.getElementById("cmsoptionsdeletepageform").submit();
			}
		}
	}
}

function checkForQuotes($string){
	for($x=0; $x<$string.length; $x++){
		$char=$string.charAt($x);
		if($char=='"'){
			return true;
		}
	}
	return false;
}
function checkForBothQuotes($string){
	for($x=0; $x<$string.length; $x++){
		$char=$string.charAt($x);
		if($char=='"' || $char=="'"){
			return true;
		}
	}
	return false;
}
function trim(sString){
	while (sString.substring(0,1) == ' '){
		sString = sString.substring(1, sString.length);
	}
	while (sString.substring(sString.length-1, sString.length) == ' '){
		sString = sString.substring(0,sString.length-1);
	}
	return sString;
}
function cmsEditImage(){
}

function cmsDeleteImage(){
	$image=document.getElementById("cmsimagetoinsert").value;
	if(!$image){
		alert("You MUST select an image to delete");
	} else {
		if(confirm("Are you sure you want to delete the image '"+$image+"'?\n\nAll instances of this image will become invalid\n\nYou wil NOT be able to undo this action")){
			document.getElementById("cmsimagedeleteform").submit();
		}
	}
}
function cmsUploadImage(){
	$image=document.getElementById("cmsuploadimagename").value;
	if(!$image){
		alert("you MUST select an image to upload.\n\nClick the 'Browse' button");
	} else {
		document.getElementById("cmsimageuploadform").submit();
	}
}
function cmstoolswap($item, $action){
	$itemsrc=($item.src);
	$namearray=$itemsrc.split(".gif");
	$name=$namearray[0];
	$image=$name.substr(0, $name.length-3)
	$rollover=$image+"_f2.gif";
	$rollout=$image+"_f1.gif";
	$item.style.cursor="pointer";
	if($action==1){
		$item.src=$rollover;
	} else {
		$item.src=$rollout;
	}
	
}
function cmsAddItem($id){
	window.location="cms/4siteactions.php?additem="+$id;
}
function cmsSavePage(){

	if(document.getElementById("cmseditor")){
		if(document.all){
			$content=document.frames(0).document.body.innerHTML;
		} else {
			$content=document.getElementById("cmseditor").contentDocument.body.innerHTML;
		}
	}
	if(document.getElementById("cmsupdateitemtitle")){
		document.getElementById("cmsbodycontent").value=$content;
		if(confirm("Are you sure you want save this item?")){
			document.getElementById("cmssavepageform").submit();
		}
	} else {
		$title=document.getElementById("cmsmetapagetitle").value;
		$keywords=document.getElementById("cmsmetakeywords").value;
		$subject=document.getElementById("cmsmetasubject").value;
		$description=document.getElementById("cmsmetadescription").value;
		document.getElementById("cmsnewmetapagetitle").value=$title;
		document.getElementById("cmsnewmetakeywords").value=$keywords;
		document.getElementById("cmsnewmetasubject").value=$subject;
		document.getElementById("cmsnewmetadescription").value=$description;

		document.getElementById("cmsnewsfeedsaveoption").value="NOTHING";
		if(document.getElementById("cmsrssfeedaddress")){
			document.getElementById("cmsnewsfeedsaveoption").value=document.getElementById("cmsrssfeedaddress").value;
		}

		if(document.getElementById("cmsbodycontent")){
			document.getElementById("cmsbodycontent").value=$content;
		}
		
		if(confirm("Are you sure you want save the page?")){
			document.getElementById("cmssavepageform").submit();
		}

	}
}

function cmschangeeditableimage($which, $page, $table, $alt, $image){
	document.getElementById("cmsinsertimagepanel").style.display="block";
	document.getElementById("cmsimagealignleft").disabled=true;
	document.getElementById("cmsimagealignright").disabled=true;
	document.getElementById("cmsimagealigncenter").disabled=true;
	document.getElementById("cmsmakeimagealink").checked=false;
	document.getElementById("cmsmakeimagealink").disabled=true;
	document.getElementById("cmseditableimageid").value=$which;
	document.getElementById("cmseditableimagepageid").value=$page;
	document.getElementById("cmseditableimagetablename").value=$table;
	document.getElementById("cmsimagetoinsert").value=$image;
	document.getElementById("cmsalttagtext").value=$alt;
}

function cmsEditHTML($page){
	window.open("4sitehtmleditor.php", "htmleditor", "menubar=no,location=no,resizable=no,scrollbars=no,status=no, width=500, height=500");
}

function cmsrssenabler($trueorfalse){
	if($trueorfalse==1){
		document.getElementById("cmsrssfeedaddress").disabled=false;
		document.getElementById("cmsnewsfeedsaveoption").disabled=false;
	} else {
		document.getElementById("cmsrssfeedaddress").disabled=true;
		document.getElementById("cmsnewsfeedsaveoption").disabled=true;
	}
}



// ***********************************************************************************************
// ******** THE FOLLOWING FUNCTIONS DEAL WITH FORMATTING BEFORE EXECUTION BEFORE  ****************
// ***********************************************************************************************
function cmsinsertimage(){
	$imagetoinsert=document.getElementById("cmsimagetoinsert").value;
	$image="images/pageimages/"+$imagetoinsert;
	$alt=document.getElementById("cmsalttagtext").value;
	$maxwidth=document.getElementById("cmseditor").parentNode.parentNode.clientWidth;
	$thisimagewidth=document.getElementById("cmsthisimagewidth").value;
	if(document.getElementById("cmsimagealignleft").checked==true){
		$align=("left");
	} else if(document.getElementById("cmsimagealignright").checked==true){
		$align=("right");
	} else if(document.getElementById("cmsimagealigncenter").checked==true){
		$align=("center");
	}
	if(document.getElementById("cmsmakeimagealink").checked==true){
		$href=document.getElementById("cmslinktoinsert").value;
		if(document.getElementById("cmslinkopeninsame").checked==true){
			$target=("_self");
		} else {
			$target=("_blank");
		}
	} else {
		$href="none";
		$target=null;
	}
	if(!$imagetoinsert){
		alert("You MUST select an image");
	} else {
		if(!$alt){
			alert("You MUST type some <alt> tag text");
		} else {
			if(checkForQuotes($alt)){
				alert("You MUST NOT have double quotes in your <alt> tag text");
			} else {	
				if(document.getElementById("cmseditableimageid").value!=''){
					if(confirm("You must save your page before changing an image\n\n                         Continue?")){
						document.getElementById("cmsneweditableimagename").value=document.getElementById("cmsimagetoinsert").value;
						document.getElementById("cmseditableimageform").submit();
					}
				} else {
					if(!trim($href) || trim($href)=="http://"){
						alert("You MUST select a page or type a link in the links panel");
					} else {
						if($thisimagewidth>$maxwidth){
							alert("This image is too wide to fit on the page");
						} else {
							insertimg($image, $alt, $align, $href, $target);
						}
					}
				}
			}
		}
	}
}


function cmsinsertlink(){
	$href=document.getElementById("cmslinktoinsert").value;
	if(document.getElementById("cmslinkopeninsame").checked==true){
		$target=("_self");
	} else {
		$target=("_blank");
	}
	if(!trim($href)){
		alert("You MUST select a page or type a link");
	} else {
		insertLink($href, $target);
	}
}


// ***********************************************************************************************
// *********************** THE FOLLOWING ARE THE WYSIWYG FUNCTIONS *******************************
// ***********************************************************************************************
function formatText(formatting){
	if (document.all){
		document.frames(0).document.execCommand(formatting, false, null);
	} else {
		document.getElementById("cmseditor").contentDocument.execCommand(formatting, false, null);
	}
}

function insertLink(vhref, vtarget){
	if (document.all){
		document.frames(0).focus();
		var vselection=document.frames(0).document.selection;
		var vrange=vselection.createRange();
		var vlinktext=vrange.text;
		if (vlinktext!=""){
			vrange.pasteHTML("<A HREF='"+vhref+"' CLASS='bodylink' TARGET='"+vtarget+"'>"+vlinktext+"</A>");
		} else {
			alert("You MUST select some text before formatting");
		}
	} else {
		var vlinktext=document.getElementById("cmseditor").contentDocument.getSelection();
		string="<A HREF='"+vhref+"' CLASS='bodylink' TARGET='"+vtarget+"'>"+vlinktext+"</A>";
		if (vlinktext!=""){
			document.getElementById("cmseditor").contentDocument.execCommand('insertHTML', false, string);
		} else {
			alert("You MUST select some text before formatting");
		}
	}
}

function cmsresize(){
	vsize=document.getElementById("cmsfontsize").value;
	if (vsize!="Size"){
		if (document.all){
			document.frames(0).document.execCommand('fontsize', false, vsize);
		} else {
			document.getElementById("cmseditor").contentDocument.execCommand('fontsize', false, vsize);
		}
	}
	document.getElementById("cmsfontsize").options[0].selected=true;
}
function cmsfontcol(){
	vcol="#"+document.getElementById("cmsfontcol").value;
	if(vcol!="Color"){
		if (document.all){
			document.frames(0).document.execCommand('forecolor', false, vcol);
		} else {
			document.getElementById("cmseditor").contentDocument.execCommand('forecolor', false, vcol);
		}
	}
	document.getElementById("cmsfontcol").options[0].selected=true;
}

function insertimg(im, alt, align, $href, $target){
	if($target){
		if($target=="_self"){
			$linkhtml="onclick='window.location=\""+$href+"\"'";
		} else {
			$linkhtml="onclick='window.open(\""+$href+"\", \"_blank\")'";
		}
		$linkstyle="cursor:pointer;";
	} else {
		$linkhtml='';
		$linkstyle='';
	}
	if (align=='center'){
		string="<center><img "+$linkhtml+" src='"+im+"' alt='"+alt+"' style='"+$linkstyle+" padding:5px;' border=0></center>";
	} else if(align=='left') {
		string="<img "+$linkhtml+" src='"+im+"' align="+align+" alt='"+alt+"' style='"+$linkstyle+" padding-top:5px; padding-bottom:5px; padding-right:5px' border=0>";
	} else if(align=='right') {
		string="<img "+$linkhtml+" src='"+im+"' align="+align+" alt='"+alt+"' style='"+$linkstyle+" padding-top:5px; padding-bottom:5px; padding-left:5px;' border=0>";
	}
	if (document.all){
		document.frames(0).focus();
		var vselection=document.frames(0).document.selection;
		var vrange=vselection.createRange();
		vrange.pasteHTML(string);
	} else {
		document.getElementById("cmseditor").contentDocument.execCommand('insertHTML', false, string);
	}
}
function clearTags(){
	if (document.all){
		document.frames(0).focus();
		document.frames(0).document.execCommand('removeformat', false, null);
	} else {
		document.getElementById("cmseditor").contentDocument.execCommand('removeformat', false, null);
	}
}

