//////////////////////////////////////////////////////////////
//
//	For the functionality of dhtml drop downs used throughout
//
//////////////////////////////////////////////////////////////

var ie4=document.all;
var ns6=document.getElementById&&!document.all;
var disappeardelay=290;		//menu disappear speed onMouseout (in miliseconds)
var hidemenu_onclick="yes"	//hide menu when user clicks within menu?

function getposOffset(what, offsettype){
	var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
	var parentEl=what.offsetParent;
	while (parentEl!=null){
		totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;
		parentEl=parentEl.offsetParent;
	}
	return totaloffset;
}

function iecompattest(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function clearbrowseredge(obj, whichedge){
	var edgeoffset=0;
	if (whichedge=="rightedge"){
	var windowedge=ie4 && !window.opera? iecompattest().scrollLeft+iecompattest().clientWidth-15 : window.pageXOffset+window.innerWidth-15
	dropmenuobj.contentmeasure=dropmenuobj.offsetWidth;
	if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure)
	edgeoffset=dropmenuobj.contentmeasure-obj.offsetWidth;
	}
	else{
	var topedge=ie4 && !window.opera? iecompattest().scrollTop : window.pageYOffset
	var windowedge=ie4 && !window.opera? iecompattest().scrollTop+iecompattest().clientHeight-15 : window.pageYOffset+window.innerHeight-18
	dropmenuobj.contentmeasure=dropmenuobj.offsetHeight;
	if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure){ //move up?
	edgeoffset=dropmenuobj.contentmeasure+obj.offsetHeight;
	if ((dropmenuobj.y-topedge)<dropmenuobj.contentmeasure) //up no good either?
	edgeoffset=dropmenuobj.y+obj.offsetHeight-topedge;
	}
	}
	return edgeoffset
}

function dropdownmenu(obj, e, selection, menuwidth, posleft){
	clearsubmenu(selection);
	if (!document.getElementById(selection)){return;}
	if (window.event) event.cancelBubble=true;
	else if (e.stopPropagation) e.stopPropagation()
	clearhidemenu();
	dropmenuobj=document.getElementById(selection);

	if (ie4||ns6){
		showhide(dropmenuobj.style, e, "visible", "hidden", menuwidth);
		dropmenuobj.x=posleft;
		dropmenuobj.y=getposOffset(obj, "top");
		dropmenuobj.style.left=dropmenuobj.x-clearbrowseredge(obj, "rightedge")+"px";
		if (ns6) { dropmenuobj.style.top=dropmenuobj.y-1+'px'; }
		if (ie4) { dropmenuobj.style.top=dropmenuobj.y +'px'; }
	}
	return clickreturnvalue();
}


function showhide(obj, e, visible, hidden, menuwidth){
	if (ie4||ns6)
	dropmenuobj.style.left=dropmenuobj.style.top=-500;
	if (menuwidth!=""){
		dropmenuobj.widthobj=dropmenuobj.style;
		dropmenuobj.widthobj.width=menuwidth;
	}

	if (e.type=="click" && obj.visibility==hidden || e.type=="mouseover")
		obj.visibility=visible;
	else if (e.type=="click")
		obj.visibility=hidden;
}
	
function clickreturnvalue(){
	if (ie4||ns6) {
		return false;
	} else {
		return true;
	}
}

function contains_ns6(a, b) {
	while (b.parentNode)
	if ((b = b.parentNode) == a)
	return true;
	return false;
}

function dynamichide(e){
	if (ie4&&!dropmenuobj.contains(e.toElement))
	delayhidemenu();
	else if (ns6&&e.currentTarget!= e.relatedTarget&& !contains_ns6(e.currentTarget, e.relatedTarget))
	delayhidemenu();
}

function hidemenu(e){
	if (typeof dropmenuobj!="undefined"){
		if (ie4||ns6){
			dropmenuobj.style.visibility="hidden";
		}
	}
}

function delayhidemenu(){
	if (ie4||ns6) {
		delayhide=setTimeout("hidemenu()",disappeardelay);
	}
}

function clearhidemenu(){
	if (typeof delayhide!="undefined") {
		clearTimeout(delayhide);
	}
}

if (hidemenu_onclick=="yes") {
	document.onclick=hidemenu;
}

function clearsubmenu(selection) {
	myArray = new Array('aboutus', 'advertising', 'subscribe', 'contactus');
	for (i=0; i< myArray.length; i++){
		if ( myArray[i] != selection ){
			document.getElementById(myArray[i]).style.visibility = 'hidden';
		}
	}

}


function trim(pString)
{
  pString=pString.replace(/^[\s]+/ , "");
  pString=pString.replace(/[\s]+$/ , "");
  return pString;
}

function trimTextElements(pForm)
{
  for (i=0; i <pForm.elements.length; i++)
  {
    tempObject=pForm.elements[i];

    if (!(tempObject && tempObject.type))
      continue;

    if (tempObject.type.toLowerCase()=="text" || tempObject.type.toLowerCase()=="textarea" || tempObject.type.toLowerCase()=="password")
      tempObject.value=trim(tempObject.value);
  }
}