//---------------------------------------------------
// DHTML Positioning
//---------------------------------------------------

var NODE_ELEMENT = 1;

function storePosition(el) {
	
	var x,w,y,h; 
	if (document.getBoxObjectFor) { 
		var bo = document.getBoxObjectFor(el); 
		x = bo.x; 
		w = bo.width;
		y = bo.y;
		h = bo.height;
	} else if (el.getBoundingClientRect) { 
		var rect = el.getBoundingClientRect(); 
		x = rect.left; 
		w = rect.right - rect.left;
		y = rect.top;
		h = rect.bottom - rect.top;
	} 

	el.x = x;
	el.y = y;
	el.w = w;
	el.h = h;
}

function elementHeight(elName) {
	
	if (elName.nodeType == NODE_ELEMENT) {
		var el = elName;
	} else {
		var el = document.getElementById(elName);
	}
	storePosition(el);
	return el.h;

}

function elementWidth(elName) {
	
	if (elName.nodeType == NODE_ELEMENT) {
		var el = elName;
	} else {
		var el = document.getElementById(elName);
	}
	storePosition(el);
	return el.w;

}

function elementX(elName) {
	if (elName.nodeType == NODE_ELEMENT) {
		var el = elName;
	} else {
		var el = document.getElementById(elName);
	}
	storePosition(el);
	return el.x;

}

function elementY(elName) {
	if (elName.nodeType == NODE_ELEMENT) {
		var el = elName;
	} else {
		var el = document.getElementById(elName);
	}
	storePosition(el);
	return el.y;

}

//---------------------------------------------------
// Update Layout
//---------------------------------------------------
function cmsUpdateLayout() {

	// get our page size
	if (document.body.clientWidth) {
		pageWidth = document.body.clientWidth;
		pageHeight = document.body.clientHeight;
	} else {
		pageWidth = innerWidth;
		pageHeight = innerHeight;
	}

	if (document.getElementById('cmsPanel')) {
		document.getElementById('cmsPanel').style.top = document.body.scrollTop;
		document.getElementById('cmsPanel').style.width = pageWidth;
		document.getElementById('cmsPanel').style.visibility = "visible";
	} 
	if (document.getElementById('FooterPanel')) {
		document.getElementById('FooterPanel').style.top = document.body.scrollTop + pageHeight - 34;
		document.getElementById('FooterPanel').style.width = pageWidth;
		document.getElementById('FooterPanel').style.visibility = "visible";
	} 
	if (document.getElementById('SubNavSelected') && document.getElementById('SortButtons')) {
		storePosition(document.getElementById('SubNavSelected'));
		storePosition(document.getElementById('SortButtons'));
		centerY = document.getElementById('SubNavSelected').y + document.getElementById('SubNavSelected').h/2 - 2;
		centerY -= document.getElementById('SortButtons').h/2;
		centerY += document.body.scrollTop;
		document.getElementById('SortButtons').style.top = centerY;
		document.getElementById('SortButtons').style.left = document.getElementById('SubNavSelected').x - 40;
		document.getElementById('SortButtons').style.visibility = "visible";
	}

}

//---------------------------------------------------
// Capture Events
//---------------------------------------------------
if (document.layers) {
  window.captureEvents(Event.RESIZE);
  window.captureEvents(Event.SCROLL);
}
window.onresize = cmsUpdateLayout;
window.onscroll = cmsUpdateLayout;
window.onload = cmsUpdateLayout;

//---------------------------------------------------
// Adds a page
//---------------------------------------------------
function cmsAddPage(caParentCategoryID,message) {
	caName=prompt(message,'My New Page');
	path = 'SaveChanges.php?doAddPage=1&caID=&caName='+escape(caName)+'&caParentCategoryID='+caParentCategoryID;
	path += '&targetpath='+escape(location.href);
	if (caName != null) {
		//alert(path);
		location.href=path;
	}
}

//---------------------------------------------------
// Formatting Calls
//---------------------------------------------------

function callFormatting(sFormatString, option){
	//myScroll = document.body.scrollTop;
	
	showInterface=true;
	document.execCommand(sFormatString,showInterface,option);
	//window.scrollTo(0,myScroll);
}

function changeFontSize(size){
	//var sSelected=thisForm.fontsize.selectedIndex + 1;
	//alert (sSelected);
	document.execCommand("FontSize", false, size);
}

function ChangeFont(face){	
	//var myIndex = thisForm.fontface.selectedIndex;
	//var sSelected=thisForm.fontface.options[myIndex].value;
	document.execCommand("FontName", false, face);
}
function ChangeFormat(type){
	//var myIndex = thisForm.BlockFormat.selectedIndex;
	//var sSelected=thisForm.BlockFormat.options[myIndex].value;
	document.execCommand("FormatBlock", false, type);
}	

function ChangeFontColor(sColorType,thisForm) {
	var myIndex = thisForm.FontColor.selectedIndex;
	var sColor=thisForm.FontColor.options[myIndex].value;
	document.execCommand(sColorType, false, sColor);
}

function ChangeForeColor(sColor) {
	document.execCommand('ForeColor', false, sColor);
}

function ChangeBackColor(sColorType,thisForm) {
	var myIndex = thisForm.BackColor.selectedIndex;
	var sColor=thisForm.BackColor.options[myIndex].value;
	document.execCommand(sColorType, false, sColor);
}

function cmsUploadImage(contentRegionName) {
	
	document.forms.SaveForm.doSaveChanges.value = 1;
	document.forms.SaveForm.doUploadImage.value = contentRegionName;
	document.forms.SaveForm.submit();
	
}

function cmsRemoveImage(contentRegionName) {
	
	if (confirm('Are you sure you want to delete this image?\n(An image placeholder will remain, so you will be able to upload another image later.)')) {
		document.forms.SaveForm['hcText_'+contentRegionName].value = '';
		if(document.getElementById(contentRegionName)) {
			document.getElementById(contentRegionName).style.backgroundImage = 'url(media/images/OptionalImage.gif)';
		}
		//document.forms.SaveForm.doSaveChanges.value = 1;
		//document.forms.SaveForm.submit();
	}
	
	
}
function cmsRemoveDownload(contentRegionName) {
	
	if (confirm('Are you sure you want to delete this file?\n(A placeholder will remain, so you will be able to upload another file later.)')) {
		document.forms.SaveForm['hcText_'+contentRegionName].value = '';
		if(document.getElementById(contentRegionName)) {
			document.getElementById(contentRegionName).innerHTML = '<img src="/media/images/icon_upload.gif" width=32 height=32 hspace=6 align=absmiddle>';
		}
		//document.forms.SaveForm.doSaveChanges.value = 1;
		//document.forms.SaveForm.submit();
	}
	
	
}
function cmsRemoveHTMLTags(id){
	if(document.getElementById && document.getElementById(id)){
		var strInputCode = document.getElementById(id).innerHTML;

		var strTagStrippedText = strInputCode.replace(/<\/?[^>]+(>|$)/g, "");
		alert("Input code:\n" + strInputCode + "\n\nOutput text:\n" + strTagStrippedText);	
	}	
}

function cmsClearClipboardFormatting() {
	
	oldText = new String(window.clipboardData.getData("Text"));
	oldText = window.clipboardData.getData("Text");
	oldText = escape(oldText);
	oldText = oldText.replace(/\%0D\%0A\%0D\%0A/g,'%0D%0A');
	oldText = oldText.replace(/\%0A/g,'%0A%0A');
	oldText = unescape(oldText);
	window.clipboardData.setData("Text",oldText);

}


function ToggleOpen(caID) {
	if (document.getElementById('BioTable'+caID)) {
		if (document.getElementById('BioTable'+caID).style.visibility == 'hidden') {
			document.getElementById('BioTable'+caID).style.visibility = 'visible';
			document.getElementById('BioTable'+caID).style.height = 'auto';
		} else {
			document.getElementById('BioTable'+caID).style.visibility = 'hidden';
			document.getElementById('BioTable'+caID).style.height = 1;
		}
	}
}

function StaffHoverOver(caID) {
	if (document.getElementById('MainRow'+caID)) {
		document.getElementById('MainRow'+caID).className='StaffTableRowHover';
		document.getElementById('BioRow'+caID).className='StaffTableRowHover';
	}
    

}
function StaffHoverOff(caID) {
	if (document.getElementById('MainRow'+caID)) {
		document.getElementById('MainRow'+caID).className='StaffTableRow';
		document.getElementById('BioRow'+caID).className='StaffTableRow';
	}
}
