

var checkfields = Array();
var checkfieldnum = 0;


////////////////////////////////////////
// Used to consolidate onload requests
// by more than a single module
// Example: onloadfuncs[onloadfuncs.length] = " alert('therer you go'); ";
// This is now obsolete. Start using opcmfPrimary.addEventCode()

var onloadfuncs = new Array();


window.onload=function(){

	for(i=0; i < onloadfuncs.length; i++){

		eval(onloadfuncs[i]);

	}
}

//
////////////////////////////////////





/** include - including .js files from JS - bfults@gmail.com - 2005-02-09    **
 ** Code licensed under Creative Commons Attribution-ShareAlike License      **
 ** http://creativecommons.org/licenses/by-sa/2.0/                           **/

var hIncludes = null;

function op_js_include(sURI){

	if (document.getElementsByTagName){

		if (!hIncludes){

			hIncludes = {};
			var cScripts = document.getElementsByTagName("script");

			for (var i=0,len=cScripts.length; i < len; i++)
				if (cScripts[i].src) hIncludes[cScripts[i].src] = true;

		}

		if (!hIncludes[sURI]){

			var oNew = document.createElement("script");
			oNew.type = "text/javascript";
			oNew.src = sURI;
			hIncludes[sURI]=true;
			document.getElementsByTagName("head")[0].appendChild(oNew);

		}

	}
}




function getScrollX() {

	var scrOfX = 0;

	if( typeof( window.pageXOffset ) == 'number' ) {

		//Netscape compliant
		scrOfX = window.pageXOffset;

	} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {

		//DOM compliant
		scrOfX = document.body.scrollLeft;

	} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {

		//IE6 standards compliant mode
		scrOfX = document.documentElement.scrollLeft;

	}

	return scrOfX;

}


function getScrollY() {

	var scrOfY = 0;

	if( typeof( window.pageYOffset ) == 'number' ) {

		//Netscape compliant
		scrOfY = window.pageYOffset;

	} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {

		//DOM compliant
		scrOfY = document.body.scrollTop;

	} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {

		//IE6 standards compliant mode
		scrOfY = document.documentElement.scrollTop;

	}

	return scrOfY;

}


function scrollto(target_id,speed){

	if(target_id == '') return;

	if(!document.getElementById(target_id)) return;

	var currentypos = getScrollY();

	targetdiv = document.getElementById(target_id);

	var desty = targetdiv.offsetTop;

	var thisNode = targetdiv;

	while (thisNode.offsetParent && (thisNode.offsetParent != document.body)) {

		thisNode = thisNode.offsetParent;
		desty += thisNode.offsetTop;

	}

	// bring you to just above
	desty -= 12;

	if(desty < currentypos){
		for ( I=currentypos; I > desty; I-= speed ){
			parent.scroll(1,I);
		}
	}else{

		for ( I=currentypos; I < desty; I+= speed ){
			parent.scroll(1,I);
		}
	}
}



//function redirectparent(url,timeout){
//	setTimeout("parent.document.location='" + url + "'",timeout);
//}



function popupwindow(target, twidth, theight){
	var tposx= (screen.width- twidth)/2
	var tposy= (screen.height - theight)/2
	var newWin1=window.open(target,"View","toolbar=no,width="+ twidth+",height="+ theight+ ",directories=no,status=no,scrollbars=yes,resizable=yes, menubar=no")
	newWin1.moveTo(tposx,tposy);
	newWin1.focus()
}

function backToTop(){
	for (I=250;I>0;I=I-5){
	parent.scroll(1,I) }
	parent.scroll(1,0);
}

function addtofav(urlAddress,pageName) { 

	if (window.external) { 
		window.external.AddFavorite(urlAddress,pageName) 
	} else { 
		alert("Sorry! Your browser doesn't support this function."); 
	}
}

function setfieldvalue(formname,fieldname,fieldvalue){
	eval("document.forms['" + formname + "']." + fieldname + ".value='" + fieldvalue + "'");
}


function setfieldcolor(formname, fieldname, color){
	eval("document.forms['" + formname + "']." + fieldname + ".style.background='"+color+"'");
}



function rowOver(name, nColor) {
  if (!nColor) nColor = "#ECECD9";
  var nameObj = (document.getElementById) ? document.getElementById(name) : eval("document.all['" + name + "']");
  if (nameObj != null) nameObj.style.background=nColor;
}


function rowOut(name, nColor) {
  var trObj = (document.getElementById) ? document.getElementById(name) : eval("document.all['" + name + "']");
  var nameObj = (document.getElementById) ? document.getElementById(name) : eval("document.all['" + name + "']");
  if (trObj == null || trObj.style.display=="none") nameObj.style.background=nColor;
}





function GlossaryTerm(word){

	jsphp_shtml('dToolWindow','Pages:Glossary:Remote','func=GetWordDefinition&word=' + escape(word),'  GlossaryCallback(); ');

}


function GlossaryCallback( returnstring ){

	var leftadjustment =10;

	if((xMousePos + 260) > xMousePosMax){
		leftadjustment = (300 - (xMousePosMax - xMousePos)) * -1;
	}

	displaytooldiv('', leftadjustment, 10, 'dToolWindow');

}


function opencolorpicker(formname,fieldname){

	jsphp_shtml('dToolWindow','Admin:Manager:Remote','func=ColorPicker&formname=' + escape(formname) + '&fieldname=' + fieldname,'  opencolorpicker_callback()  ');

}


function opencolorpicker_callback(){

	displaytooldiv('',-100,10,'dToolWindow');

}






//////////////////////////////////
// COOKIES


function createCookie(name,value,days)
{
	if (days)
	{
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name)
{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++)
	{
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name)
{
	createCookie(name,"",-1);
}



function setintrocookie(page,state){

	if(state == false || state == ''){ eraseCookie('intropage'); }
	else{ createCookie('intropage',page,'365'); }

}

//  COOKIES
//////////////////////////////


//////////////////////////////////
// Taken from Stuart Langridge
// need to be tested to verify
// if works properly
function addEvent(elm, evType, fn, useCapture){

	if(elm.addEventListener){
		elm.addEventListener(evType, fn, useCapture);
		return true;
	}else if(elm.attachEvent){
		var r = elm.attachEvent('on' + evType, fn);
		return r;
	}else{
		elm['on' + evType] = fn;
	}
}///////////////////////////////



///////////////////////////////////////////////////
// BEGIN Primary


// EXAMPLE
//opcmfPrimary.addEventCode("resize","function(){ alert(\"Hello 2\") }");
//opcmfPrimary.addEventCode("load","sayhi");


var opcmfPrimary = {


	addEventCode: function (eventname,code){

		if (window.attachEvent) { 

			eventname = "on" + eventname;
			eval("window.attachEvent(\"" + eventname + "\", " + code + " );"); 

		} else { 
	
			window.addEventListener(eventname,eval(code), false);
		}
	}

}


//  END Primary
///////////////////////////////////////////////


///////////////////////////////////////////////////
// BEGIN FadeFX


// EXAMPLE
// <a href="#" onclick="opcmfEffects.fade('element1','5')">Toggle fade</a>
// <div id="element1" style="display:none; float:left; background-color:red">Div one</div>
//  Spees from 1 (slow) to 5 (fast)

var opcmfEffects = {

	fade: function(elid,speed) {


		var opacs = ["0",".1",".2",".3",".4",".5",".6",".7",".8",".9","1"];

		if (document.getElementById(elid).style.display == 'none'){

			this.fadein(elid,speed);


		}else{

			this.fadeout(elid,speed);

		}
	},


	fadein: function(elid,speed) {


		var opacs = ["0",".1",".2",".3",".4",".5",".6",".7",".8",".9","1"];

		opcmf_setOpacity(elid, '.1');

		document.getElementById(elid).style.display = 'block';
		
		for (var i = 0; i < 11; i++){

			setTimeout('this.opcmf_setOpacity(\''+elid+'\',\''+opacs[i]+'\');', i * (100 / speed));

		}

	},



	fadeout: function(elid,speed) {


		var opacs = ["0",".1",".2",".3",".4",".5",".6",".7",".8",".9","1"];

		opacs.reverse();

		for (var i = 0; i < 11; i++) {

			setTimeout('this.opcmf_setOpacity(\''+elid+'\',\''+opacs[i]+'\');', i * (100 / speed));
			
			if(i == 10) document.getElementById(elid).style.display = 'none';

		}

		setTimeout('document.getElementById(\''+elid+'\').style.display = "none";', i * (100 / speed));


	},

	findPos: function(obj) {

		obj = document.getElementById(obj);

		if(obj) {

			var curleft = curtop = 0;

			if (obj.offsetParent) {

				curleft = obj.offsetLeft
				curtop = obj.offsetTop
			
				while (obj = obj.offsetParent) {
					curleft += obj.offsetLeft
					curtop += obj.offsetTop

				}
			}	

			return [curleft,curtop];

		}
	},



	repositiondiv: function(anchor,tleft,ttop,divname) {

		var targetdiv = document.getElementById(divname);

		var coors = this.findPos(anchor);

		var newx = (( coors[0]*1) + (tleft*1)  );
		var newy = (( coors[1]*1) + (ttop*1)  );

		var x = document.getElementById(divname);
		x.style.left = newx + 'px';
		x.style.top = newy + 'px';

		this.fade(targetdiv.id,'5')

		return;

	},


	setOpacity: function(obj_id, value) {

		if (navigator.vendor == "KDE") {
			document.getElementById(obj_id).style.KHTMLOpacity = value;
		} else if (navigator.appName == "Netscape") {
			document.getElementById(obj_id).style.MozOpacity = value;
		} else if (navigator.appName == "Microsoft Internet Explorer" && navigator.userAgent.indexOf("Opera") == -1) {

			newval = value * 100;
			document.getElementById(obj_id).style.filter = "alpha(opacity=" + newval + ");";

			document.getElementById(obj_id).style.opacity = value;

		} else {
			document.getElementById(obj_id).style.opacity = value;
		}
	
		return;

	},



	togglevisibility: function(obj_id) {

		var obj = document.getElementById(obj_id);

		if(obj) {

			if(obj.style.display == '') {
				obj.style.display='none';
			}else{
				obj.style.display='';
			}
		}
	
	},



	hide: function(obj_id) {

		var obj = document.getElementById(obj_id);

		if(obj) obj.style.display='none';

	},

	centerobj: function(obj_id,width,height) {
	
		var this_obj = document.getElementById(obj_id);

		if(this_obj) {

			////if(width == "") width = this_obj.style.width;
			////if(height == "") height = this_obj.style.height;

			var clientcenterx = (document.body.clientWidth / 2) - (width / 2);
			var clientcentery = (document.body.clientHeight / 2) - (height /2);			
									
			//this_obj.style.left = ((document.body.clientWidth/2) - (width / 2)) + "px";
			//this_obj.style.top = ((document.body.clientHeight/2) - (height /2)) + "px;";
			
			//this_obj.style.left = ((clientw/2) - (width / 2)) + "px";
			//this_obj.style.top = ((clienth/2) - (height /2)) + "px;";

			this_obj.style.left = clientcenterx + 'px';
			this_obj.style.top = clientcentery + 'px';
						
			
			//eval("this_obj.style.left = (clientw - (width / 2));
			//this_obj.style.top = (clienth - (height /2));
			
			

		}

		//alert('hi ' + clientcenterx);
		
	}


}



function opcmf_setOpacity(obj_id, value){

	opcmfEffects.setOpacity(obj_id, value);

}


//  END FadeFX
///////////////////////////////////////////////



function showgreypopup(title,url,height,width){

	GB_showCenter(title,url,height,width);

}





 
