var xOffset = 5;var yOffset = -5;var textOn = null;var imageOn = null;var lastID = '';var editMenu = 'off';var rolloverColor = '#FFFF33';var className;var fileName;var imgfileName;var divID;function setStatus(text){	window.status = text;}function editText(){	location.href = siteurl + "admin/editText.php?file=" + fileName + "&lastpage=" + escape(location.href) + "&className=" + className;}function editPage(){	location.href = siteurl + "admin/configPage.php?page=" + escape(phpself);}function editData(type){	location.href = siteurl + "admin/editData.php?rowname=" + fileName + "&lastpage=" + escape(location.href) + "&className=" + className + "&editor_mode=" + type;}function editXML(){	location.href = siteurl + "admin/editXML.php?file=" + fileName + "&lastpage=" + escape(location.href);}function editImage(){	location.href = siteurl + "admin/editImage.php?file=" + imgfileName + "&lastpage=" + escape(location.href);}function editStyle(){	parent.location.href = siteurl + "admin/editStyle.php?file=" + className + "&lastpage=" + escape(location.href);}function editFile(file, type){	location.href = siteurl + "admin/editFile.php?file=" + file + "&lastpage=" + escape(location.href) + "&type=" + type;}// SHOW & HIDE DEV MENUfunction hideDiv(divID){	if (is_ie){		eval(divID).style.visibility = 'hidden';	}else{		document.getElementById(divID).style.visibility = 'hidden';	}}function showDiv(divID){	if (is_ie){		eval(divID).style.visibility = 'visible';	}else{		document.getElementById(divID).style.visibility = 'visible';	}}// MENU ROLLOVERSfunction divOver(divID, bkgColor, textColor){	if (is_ie){		eval(divID).style.background = bkgColor;		eval(divID).style.color = textColor;	}else{		document.getElementById(lastDiv).style.background = "transparent";		document.getElementById(divID).style.background = bkgColor;		document.getElementById(divID).style.color = textColor;		if(lastDiv != null && lastDiv != divID){			document.getElementById(lastDiv).style.background = "transparent";		}		lastDiv = divID;	}}function divOut(divID, bkgcolor, textcolor){	lastDiv = divID;	if (is_ie){		eval(divID).style.background = bkgcolor;		eval(divID).style.color = textcolor;	}else{		document.getElementById(lastDiv).style.background = "transparent";		document.getElementById(divID).style.background = bkgcolor;		document.getElementById(divID).style.color = textcolor;	}}				// IMAGE OBJECTfunction openImageMenu(imageInstance, fileInstance, event){	if (editMenu == 'off'){		lastID = 'image';		imageOn = imageInstance;		imgfileName = fileInstance;		imageOver(imageInstance)		return !showPopup('imageMenu', event);	}}function imageOver(imageID){	if (editMenu == 'off'){		if (is_ie){			eval(imageID).style.cursor = 'hand';			eval(imageID).className = 'imageOver';		}else{			document.getElementById(imageID).style.cursor = 'pointer';			document.getElementById(imageID).className = 'imageOver';		}		setStatus('Click to Edit');	}}function imageOut(imageID){	if (editMenu == 'off'){		if (is_ie){			eval(imageID).className = 'imageOut';		}else{			document.getElementById(imageID).className = 'imageOut';		}		setStatus('');	}}// TEXT OBJECTfunction openTextMenu(textInstance, classInstance, fileInstance, event){	if (editMenu == 'off'){		lastID = 'text';		textOn = textInstance;		className = classInstance;		fileName = fileInstance;		textOver(textInstance)		return !showPopup('textMenu', event);	}}function textOver(text){	if (editMenu == 'off'){		if (is_ie){			eval(text).style.cursor = 'hand';			eval(text).style.background = rolloverColor; 		}else{			document.getElementById(text).style.cursor = 'pointer';			document.getElementById(text).style.backgroundColor = rolloverColor;		}		setStatus('Click to Edit');	}}function textOut(text){	if (editMenu == 'off'){		if (is_ie){			eval(text).style.background = 'transparent';		}else{			document.getElementById(text).style.backgroundColor = 'transparent';		}		setStatus(''); 	}}// DATA OBJECTfunction openDataMenu(textInstance, classInstance, fileInstance, event){	if (editMenu == 'off'){		lastID = 'text';		textOn = textInstance;		className = classInstance;		fileName = fileInstance;		textOver(textInstance)		return !showPopup('dataMenu', event);	}}// XML OBJECTfunction openXMLMenu(xmlInstance, fileInstance, event){	if (editMenu == 'off'){		lastID = 'image';		imageOn = xmlInstance;		fileName = fileInstance;		imageOver(xmlInstance)		return !showPopup('xmlMenu', event);	}}function showPopup (targetObjectId, eventObj) {    if(eventObj) {	// hide any currently-visible popups	hidecurrentpopup();	// stop event from bubbling up any farther	eventObj.cancelBubble = true;	// move popup div to current cursor position 	// (add scrollTop to account for scrolling for IE)	var newXCoordinate = (eventObj.pageX)?eventObj.pageX + xOffset:eventObj.x + xOffset + ((document.body.scrollLeft)?document.body.scrollLeft:0);	var newYCoordinate = (eventObj.pageY)?eventObj.pageY + yOffset:eventObj.y + yOffset + ((document.body.scrollTop)?document.body.scrollTop:0);	moveObject(targetObjectId, newXCoordinate, newYCoordinate);	// and make it visible	if( changeObjectVisibility(targetObjectId, 'visible') ) {	    // if we successfully showed the popup	    // store its Id on a globally-accessible object	    window.currentlyVisiblePopup = targetObjectId;	    editMenu = 'on';	    return true;	} else {	    // we couldn't show the popup, boo hoo!	    return false;	}    } else {	// there was no event object, so we won't be able to position anything, so give up	return false;    }} // showPopupfunction hidecurrentpopup() {    // note: we've stored the currently-visible popup on the global object window.currentlyVisiblePopup    if(window.currentlyVisiblePopup) {    	editMenu = 'off';		changeObjectVisibility(window.currentlyVisiblePopup, 'hidden');		window.currentlyVisiblePopup = false;		if (textOn != null){			if (lastID = 'text'){				textOut(textOn);			}		}		if (imageOn != null){			if (lastID = 'image'){				imageOut(imageOn);			}		}    }} // hideCurrentPopup// ***********************// hacks and workarounds *// ***********************// initialize hacks whenever the page loadswindow.onload = initializeHacks;// setup an event handler to hide popups for generic clicks on the documentdocument.onclick = hidecurrentpopup;function initializeHacks() {    // this ugly little hack resizes a blank div to make sure you can click    // anywhere in the window for Mac MSIE 5    if ((navigator.appVersion.indexOf('MSIE 5') != -1) 	&& (navigator.platform.indexOf('Mac') != -1)	&& getStyleObject('blankDiv')) {	window.onresize = explorerMacResizeFix;    }    resizeBlankDiv();    // this next function creates a placeholder object for older browsers    createFakeEventObj();}function createFakeEventObj() {    // create a fake event object for older browsers to avoid errors in function call    // when we need to pass the event object to functions    if (!window.event) {	window.event = false;    }} // createFakeEventObjfunction resizeBlankDiv() {    // resize blank placeholder div so IE 5 on mac will get all clicks in window    if ((navigator.appVersion.indexOf('MSIE 5') != -1) 	&& (navigator.platform.indexOf('Mac') != -1)	&& getStyleObject('blankDiv')) {	getStyleObject('blankDiv').width = document.body.clientWidth - 20;	getStyleObject('blankDiv').height = document.body.clientHeight - 20;    }}function explorerMacResizeFix () {    location.reload(false);}function getStyleObject(objectId) {    // cross-browser function to get an object's style object given its id    if(document.getElementById && document.getElementById(objectId)) {	// W3C DOM	return document.getElementById(objectId).style;    } else if (document.all && document.all(objectId)) {	// MSIE 4 DOM	return document.all(objectId).style;    } else if (document.layers && document.layers[objectId]) {	// NN 4 DOM.. note: this won't find nested layers	return document.layers[objectId];    } else {	return false;    }} // getStyleObjectfunction changeObjectVisibility(objectId, newVisibility) {    // get a reference to the cross-browser style object and make sure the object exists    var styleObject = getStyleObject(objectId);    if(styleObject) {	styleObject.visibility = newVisibility;	return true;    } else {	// we couldn't find the object, so we can't change its visibility	return false;    }} // changeObjectVisibilityfunction moveObject(objectId, newXCoordinate, newYCoordinate) {    // get a reference to the cross-browser style object and make sure the object exists    var styleObject = getStyleObject(objectId);    if(styleObject) {	styleObject.left = newXCoordinate;	styleObject.top = newYCoordinate;	return true;    } else {	// we couldn't find the object, so we can't very well move it	return false;    }} // moveObject
