/* ******************** * Code by Kyle Anderson - Megaphone Communications (www.megaphone.ca / kyle1@megaphone.ca) * copyright 2005 All Rights Reserved. * ******************** */ var editPanelObj, loginPanel, pwPanel, decline, docName, editable=0;var EDITPANELHEIGHT = "36px";var EDITABLE_BGRND_HUE = "#DFDFBB";var path = "editHTML/";document.onkeypress = login;function browserCheck(){	if (navigator.appVersion.indexOf("MSIE") == -1){		alert("The Microsoft Internet Explorer Web Browser is required to edit these pages.");		return true;	}	else		return true;}function login(evt){	if(!browserCheck())		return;	evt = (evt)?evt:((window.event)?window.event:null);	var key;	(evt.keyCode)?key=evt.keyCode:key=evt.charCode;		//alert(key);	if(key==24){	//alert("Editor test: 1");		if(parent.frames["editPanel"])			parent.frames["editPanel"].closeEditable();		else{		//alert("Editor test: 2");			eval(sendToPHP(path + "session.php"));			return false;		}	}	return true;}   function openLoginPanel(){		//alert("Editor test: 7");	 if(!document.getElementById("loginPanel")){		loginPanel = document.createElement("div");		 	loginPanel.id = "login_panel";			loginPanel.className = "ed_panel ed_hue3";					var loginPanelHeader = document.createElement("div");		 	loginPanelHeader.className = "ed_panelHeader";		 	var title = document.createTextNode("Log-in");			loginPanelHeader.appendChild(title);					loginPanel.appendChild(loginPanelHeader);					//alert("Editor test: 8");					 var loginPanelBody = document.createElement("div");		 	loginPanelBody.className = "ed_panelContent";			var userNameDiv = document.createElement("div");			userNameDiv.className = "box";			loginPanelBody.appendChild(userNameDiv);		 	var label_1 = document.createTextNode("User Name: ");		 	userNameDiv.appendChild(label_1);			var userName = document.createElement("input");			userName.name = "userName";			userName.size = 16;			userNameDiv.appendChild(userName);			loginPanelBody.appendChild(document.createElement("br"));			var passwordDiv = document.createElement("div");			passwordDiv.className = "box";			loginPanelBody.appendChild(passwordDiv);			var label_2 = document.createTextNode("Password: ");		 	passwordDiv.appendChild(label_2);			var password = document.createElement("input");			password.size = 16;			password.type = "password";			passwordDiv.appendChild(password);			loginPanelBody.appendChild(document.createElement("br"));			loginPanelBody.appendChild(document.createElement("br"));			loginPanelBody.appendChild(document.createElement("br"));		 		 loginPanel.appendChild(loginPanelBody);								//alert("Editor test: 9");		 		 decline = document.createElement("div");		 	decline.className = "decline";		 	decline.appendChild(document.createTextNode("* Incorrect Login *"));					loginPanelBody.appendChild(decline);		 		 var loginPanelFooter = document.createElement("div");		 	loginPanelFooter.className = "ed_panelFooter ed_hue2";			var loginSubmit = document.createElement("button");				var loginSubmitTxt = document.createTextNode("SUBMIT");				loginSubmit.appendChild(loginSubmitTxt);				loginSubmit.style.marginLeft = "8px";				loginSubmit.onclick = tryLogin;			var loginClose = document.createElement("button");				var loginCloseTxt = document.createTextNode("CANCEL");				loginClose.appendChild(loginCloseTxt);				loginClose.onclick = removeLogin;				loginPanelFooter.appendChild(loginClose);				loginPanelFooter.appendChild(loginSubmit);				loginPanelBody.appendChild(document.createElement("br"));		 		 loginPanel.appendChild(loginPanelFooter);										//alert("Editor test: 10");		 		 var changePassword_URL = document.createElement("a");		 changePassword_URL.appendChild(document.createTextNode("Change Password?"));		 changePassword_URL.href = "javascript:changePassword();";		 changePassword_URL.style.textDecoration = "underline";		 changePassword_URL.style.color = "blue";		 var changePassword_p = document.createElement("p");		 changePassword_p.appendChild(changePassword_URL);		 		 loginPanel.appendChild(changePassword_p);		 loginPanel.appendChild(document.createElement("br"));		 		 document.getElementsByTagName("body")[0].appendChild(loginPanel);									//alert("Editor test: 11");		 userName.focus();		 if(document.all){			loginPanel.style.setExpression("top","( (getScrSz().ySz/2-120) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px'","jscript");			loginPanel.style.setExpression("left","( (getScrSz().xSz/2-(parseInt(loginPanel.style.width)/2)) + ( ignoreMe = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px'","jscript");		}													//alert("Editor test: 12");	 }	 	 function tryLogin(){		if(userName.value && password.value)			eval(sendToPHP(path + "session.php","userName="+userName.value+"&password="+password.value));		else if(!userName.value){			alert("Please enter your User Name.");			userName.focus();		}		else if(!password.value){			alert("Please enter the password.");			password.focus();		}	}	}function login_failed_msg(){	var msg = decline.firstChild;	if(msg.data != "* Incorrect Login *")		msg.replaceData(0, msg.length, "* Incorrect Login *");	decline.style.display = 'block';}function changePassword(){	if(loginPanel)		loginPanel.style.display = "none";	if(!document.getElementById("pwPanel")){		pwPanel = document.createElement("div");		pwPanel.id = "pw_panel";		pwPanel.className = "ed_panel ed_hue3";				var pwPanelHeader = document.createElement("div");		pwPanelHeader.className = "ed_panelHeader";		var title = document.createTextNode("Change Password");		pwPanelHeader.appendChild(title);					pwPanel.appendChild(pwPanelHeader);				var pwPanelBody = document.createElement("div");		 	pwPanelBody.className = "ed_panelContent";			var userNameDiv = document.createElement("div");			userNameDiv.className = "box";			pwPanelBody.appendChild(userNameDiv);		 	var label_1 = document.createTextNode("User Name: ");		 	userNameDiv.appendChild(label_1);			var userName = document.createElement("input");			userName.name = "userName";			userName.size = 16;			userNameDiv.appendChild(userName);			pwPanelBody.appendChild(document.createElement("br"));						var passwordDiv = document.createElement("div");			passwordDiv.className = "box";			pwPanelBody.appendChild(passwordDiv);			var label_2 = document.createTextNode("Password: ");		 	passwordDiv.appendChild(label_2);			var password = document.createElement("input");			password.size = 16;			password.type = "password";			passwordDiv.appendChild(password);			pwPanelBody.appendChild(document.createElement("br"));						var hr = pwPanelBody.appendChild(document.createElement("hr"));			hr.style.clear = "both";			hr.style.height = "1px";			hr.style.width = "92%";			hr.style.margin = "auto";						var passwordNewDiv = document.createElement("div");			passwordNewDiv.className = "box";			pwPanelBody.appendChild(passwordNewDiv);			var label_3 = document.createTextNode("New Password: ");		 	passwordNewDiv.appendChild(label_3);			var passwordNew = document.createElement("input");			passwordNew.size = 16;			passwordNew.type = "password";			passwordNewDiv.appendChild(passwordNew);			pwPanelBody.appendChild(document.createElement("br"));						var passwordNew2Div = document.createElement("div");			passwordNew2Div.className = "box";			pwPanelBody.appendChild(passwordNew2Div);			var label_4 = document.createTextNode("Retype Password: ");		 	passwordNew2Div.appendChild(label_4);			var passwordNew2 = document.createElement("input");			passwordNew2.size = 16;			passwordNew2.type = "password";			passwordNew2Div.appendChild(passwordNew2);			pwPanelBody.appendChild(document.createElement("br"));						pwPanel.appendChild(pwPanelBody);					 	var pw_decline = document.createElement("div");			pw_decline.className = "decline";		 	pw_decline.appendChild(document.createTextNode("* Incorrect Data *"));						pwPanelBody.appendChild(pw_decline);						var hr2 = pwPanelBody.appendChild(document.createElement("hr"));			hr2.style.clear = "both";			hr2.style.height = "1px";			hr2.style.width = "92%";			hr2.style.margin = "auto";		 		 var pwPanelFooter = document.createElement("div");		 	pwPanelFooter.className = "ed_panelFooter ed_hue2";			var pwSubmit = document.createElement("button");				var pwSubmitTxt = document.createTextNode("SUBMIT");				pwSubmit.appendChild(pwSubmitTxt);				pwSubmit.style.marginLeft = "8px";				pwSubmit.onclick = reset_password;			var pwClose = document.createElement("button");				var pwCloseTxt = document.createTextNode("CANCEL");				pwClose.appendChild(pwCloseTxt);				pwClose.onclick = removePwPanel;				pwPanelFooter.appendChild(pwClose);				pwPanelFooter.appendChild(pwSubmit);				pwPanelBody.appendChild(document.createElement("br"));		 		 pwPanel.appendChild(pwPanelFooter);		if(document.all){			pwPanel.style.setExpression("top","( (getScrSz().ySz/2-120) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px'","jscript");			pwPanel.style.setExpression("left","( (getScrSz().xSz/2-(parseInt(pwPanel.style.width)/2)) + ( ignoreMe = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px'","jscript");		}	}	document.getElementsByTagName("body")[0].appendChild(pwPanel);		userName.focus();		function reset_password(){		if(userName.value && password.value && passwordNew.value && passwordNew2.value){			if(eval(sendToPHP(path + "change_pw.php","userName="+userName.value+"&password="+password.value+"&passwordNew="+passwordNew.value+"&passwordNew2="+passwordNew2.value))){				removePwPanel();				var toReplace = decline.firstChild;				toReplace.replaceData(0, toReplace.length, "* Password has been reset *");				decline.style.display = "block";			}			else				pw_decline.style.display = "block";		}		else if(!userName.value){			alert("Please enter your User Name.");			userName.focus();		}		else if(!password.value){			alert("Please enter the current password.");			password.focus();		}		else if(!passwordNew.value){			alert("Please enter a new password.");			passwordNew.focus();		}		else if(!passwordNew2.value){			alert("Please enter the new password a second time.");			passwordNew2.focus();		}	}	}function removeLogin(){	document.getElementsByTagName("body")[0].removeChild(loginPanel);}function removePwPanel(){		document.getElementsByTagName("body")[0].removeChild(pwPanel);		loginPanel.style.display = "block";}function setEditable(frameSrc){	document.onmouseup = selected;	docBody = document.getElementsByTagName("body")[0];	//bodyRng = document.body.createTextRange();	//docBody.innerHTML = "<div id='editable'>" + bodyRng.htmlText + "</div>";	//document.getElementById("editable").contentEditable = true;	if(!document.getElementById("editPanel")){		editPanelObj = document.createElement("iframe");		editPanelObj.id="editPanel";		editPanelObj.style.position="absolute";		editPanelObj.style.width = getScrSz().xSz + "px";		editPanelObj.style.height = EDITPANELHEIGHT;		editPanelObj.scrolling="no";		editPanelObj.style.border="1px solid #333";		editPanelObj.src=frameSrc;		if(document.all){			editPanelObj.style.setExpression("top","( -4 + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ) ) + 'px'","jscript");			editPanelObj.style.setExpression("left","( -4 + ( ignoreMe2 = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ) ) + 'px'","jscript");		}	}		docBody.insertBefore(editPanelObj,docBody.firstChild);		editPanelObj.contentEditable=false;		editPanelObj.unselectable="on";		editable=1;		traverse(document,true);}function traverse(n,val) {	if(n.nodeType == 1 && (n.id != "editPanel") && n.className && n.className == "editableContent"){        (val==true)?n.contentEditable="true":n.contentEditable="false";		//(val==true)?n.style.backgroundColor=EDITABLE_BGRND_HUE:n.style.backgroundColor="#FFFFFF";		//(val==true)?document.styleSheets[0].addImport("editPanel_open.css"):n.style.backgroundColor="#FFFFFF";		//parent.document.styleSheets[0].addRule(elParentId,"background-color:" + HUE1);	}    var children = n.childNodes;    for(var i=0; i < children.length; i++)        traverse(children[i],val);}function selected(evt){	if(editable && document.selection.type != "none"){		evt = (evt)?evt:((window.event)?window.event:null);		if(evt){			elem = (evt.target)?evt.target:evt.srcElement;			if(elem.tagName)				tag = elem.tagName;			else if(parent.elem.tagName){				tag = parent.elem.tagName;				elem = elem.parentElement;			}		if(checkEditable(elem)){			parent.frames["editPanel"].setSelected(elem);			if(tag.toLowerCase() == "a"){				displayNone();				if(elem.href.indexOf("mailto:") != -1)					parent.frames["editPanel"].putEmailTop(elem);				else					parent.frames["editPanel"].hrefEditor.set("top");	//putHrefTop(elem);			}			else if(tag.toLowerCase() == "img"){				parent.frames["editPanel"].putImgTop(elem);				parent.frames["editPanel"].hrefEditor.set("top"); 	//putHrefTop(elem);							}			else				displayNone();			}		}	}}function checkEditable(element){	if(element.contentEditable != "inherit")		return true;	while(element.parentElement){		if(element.parentElement.contentEditable != "inherit")			return true;		else			element = element.parentElement;	}	return false;}function displayNone(){	if(parent.frames["editPanel"].document.getElementById("hrefPanelTop").style.display != "none")		parent.frames["editPanel"].document.getElementById("hrefPanelTop").style.display = "none";	if(parent.frames["editPanel"].document.getElementById("imgPanelTop").style.display != "none")		parent.frames["editPanel"].document.getElementById("imgPanelTop").style.display = "none";	editPanelObj.style.height = EDITPANELHEIGHT;}function getScrSz(){	scrSz = new Object();	if(window.innerHeight){		scrSz.ySz = window.innerHeight;		scrSz.xSz = window.innerWidth;		}	else if(document.documentElement.clientHeight){		scrSz.ySz = document.documentElement.clientHeight;		scrSz.xSz = document.documentElement.clientWidth;		}	else if(screen.height){		scrSz.ySz = Math.round(screen.height*.72);		scrSz.xSz = Math.round(screen.width*.72);		}	else if(document.body && document.body.clientHeight){		scrSz.ySz = document.body.clientHeight;		scrSz.xSz = document.body.clientWidth;		}	return scrSz;}function sendToPHP(url,data){			//alert("Editor test: 3");	if(url){				//alert("Editor test: 4");    	var req;    	if (window.XMLHttpRequest) {				//alert("Editor test: 5a");       	 	req = new XMLHttpRequest();        	req.open("POST", url, false);			req.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");       	 	req.send(data);    	} else if (window.ActiveXObject) {				//alert("Editor test: 5");        	try {      			req = new ActiveXObject("Microsoft.XMLHTTP");      			req.open("POST", url, false);				req.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");      			req.send(data)       			}      		catch (e) {				//alert("Editor test: 5b");      			req = new ActiveXObject("MSXML2.XMLHTTP.4.0");      			req.open("POST", url, false);				req.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");     			req.send(data)      				}				}    }	if(req.responseText.indexOf("Error:")!=-1)		alert(req.responseText);	else{				//alert("Editor test: 6");		return req.responseText;	}}