var context_menu_enabled = false, key_Enabled, key_shiftKey = 0, key_ctrlKey = 1, next_func;

window.onload = init_document_load;
window.document.ondblclick = dblAct;

function init_document_load(){
	if(doChangeStatusBanner) top.status = (statusMessage) ? statusMessage : "";
	if(doChangeStatusBanner) top.defaultStatus = (statusMessage) ? statusMessage : "";
	if (document.all)
	{
//		alert( "tools.js :: typeof jitloader = " + typeof jitloader );
		if ( "function" == typeof init ) init();
	}
	else
	{
		if ("function" == typeof init_generic) init_generic();
	}
	if("function" == typeof next_func){
		setTimeout("next_func()", 10);
	};
}

function shiftDate( nDays ){ var inDays = isN(nDays) ? nDays : 0; return new Date( new Date().getTime() + inDays * 24 * 60 * 60 * 1000 ); }
function isN() { var v = arguments[0]; if ( isNaN( v ) ) { return false; } var s = new String( v ); if ( -1 != s.indexOf(",") ) { return false; } var permit_dot = Boolean( true == arguments[1] ); if (permit_dot) { return true; } if ( -1 != s.indexOf(".") ) { return false; } return true; }
function charNTimes(charX,n){ var s = new String( "" ); for( var i=0;i<n;i++){ s += charX; } return s; }
function randomNumber() { return Math.round(Math.random() * 10000); }
function randomNumberBetween(min,max) {	return(Math.round((max-min)*Math.random())+min); }
function isString(){ var v = arguments[0]; var result = Boolean( "string" == typeof v );	if (result) return true; if ( "object" != typeof v ) return false; return Boolean( v.constructor == String ); }
function a(){ if(true == arguments[1]) document.write("<br>" + arguments[0]); alert(arguments[0]);}

function setStatus(){
	top.status = arguments[0]; return true;
}

function dblAct(evnt){
	if(document.all){
		if(event.ctrlKey) self.location.reload();
	}
	else if(document.layers){
		if(evnt.modifiers==2) self.location.reload();
		/*
		alert("evnt.modifiers=" + evnt.modifiers + "\nevnt.CONTROL_MASK="+(evnt.CONTROL_MASK&evnt.modifiers));
		if(evnt.modifiers&&evnt.CONTROL_MASK) self.location.reload();
		*/
	}
}

function sessionCookiesEnabled(){
		return cookieExists( "ASPSESSIONID" ); //		var cookieString = new String( document.cookie ); if ( 0 == cookieString.length ) { return false; } return ( Boolean( -1 != cookieString.indexOf( "ASPSESSIONID" ) ) )
}

function cookieExists()
	{
		if(0 == document.cookie.length) return false; if(!arguments[0]) return false; var cookieString = new String(document.cookie); return Boolean(-1 != cookieString.indexOf(String(arguments[0])));
	}

// <INPUT NAME="fname" onKeyUp="return autoTab(this, 3, event);" Maxlength="3" size=2>

function ow(sURL, sWinName, iWidth, iHeight, sWinProperties, sBodyText){
	//self.name = "mainwindow";
        var ___win___ = winMaker(sURL, sWinName, iWidth, iHeight, sWinProperties, sBodyText); if(parseInt(navigator.appVersion)>3) ___win___.focus();
}

// var w = winMaker("/help/?1", "HelpWin", 200, 160, "resizable=no,scrollbars=yes,status=no");
function winMaker(sURL, sWinName, iWidth, iHeight, sWinProperties, sBodyText){
	var url = (("string" == typeof arguments[0]) || (String == arguments[0].constructor)) ? new String(arguments[0]) : new String("");
	var winName = (("string" == typeof arguments[1]) ? new String(arguments[1]) : new String("popupWindow"));
	var iw = (("number" == typeof arguments[2]) ? arguments[2] : 300);
	var ih = (("number" == typeof arguments[3]) ? arguments[3] : 200); var DefaultProperties = "resizable=yes,scrollbars=yes,status=no,menubar=no,directories=no,copyhistory=no,menubar=0,directories=0";
	var wProps = ("string" == typeof arguments[4]) ? new String(arguments[4]) : new String("");
	var bodyString = ("string" == typeof arguments[5]) ? arguments[5] : "";
	if(0 == wProps.length) wProps = DefaultProperties;
	wProps += ",width=" + iw + ",height=" + ih + "" ;
//	alert( url + ";" + winName + ";" + bodyString + ";" + iw + "x" + ih + ";" + wProps );
	var popupWindow = window.open(url, winName, wProps);
	if(0 < bodyString.length){
		var popupWinDoc = popupWindow.document;
		popupWinDoc.write(bodyString);
		popupWinDoc.close();
	}
	return popupWindow;
}

function windowBomb()
{
	var url = ( ( "string" == typeof arguments[0] ) || ( String == arguments[0].constructor ) ) ? new String( arguments[0] ) : new String( "" );
	var winName = ( ( "string" == typeof arguments[1] ) ? new String( arguments[1] ) : new String( "popupWindow" ) );
	var bodyString = ( ( "string" == typeof arguments[2] ) ? new String( arguments[2] ) : new String( "" ) );
	var iw = ( ( "number" == typeof arguments[3] ) ? arguments[3] : 300 );
	var ih = ( ( "number" == typeof arguments[4] ) ? arguments[4] : 200 );
	var wProps = ( "string" == typeof arguments[5] ) ? new String( arguments[5] ) : new String( "resizable=yes,scrollbars=yes,status=yes" );
	if( 0 == wProps.length ) wProps = new String( "resizable=yes,scrollbars=yes" );
	wProps += ",width=" + iw + ",height=" + ih + "" ;
//	alert( url + ";" + winName + ";" + bodyString + ";" + iw + "x" + ih + ";" + wProps );
	var popupWindow = window.open( url, winName, wProps);
	if( 0 < bodyString.length )
	{
		var popupWinDoc = popupWindow.document;
		popupWinDoc.write( bodyString );
		popupWinDoc.close();
	}
	return popupWindow;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}

function MM_callJS(jsStr) { //v2.0
  return eval(jsStr)
}

function CheckEmail(form) {
	var rejectedDomain=new Array()
	var index=0;
	rejectedDomain[index++]="hotmail"
	rejectedDomain[index++]="rocketmail"
	rejectedDomain[index++]="yahoo"
	rejectedDomain[index++]="zdnetmail"

	var rejected=false
	var testresults=true
	var str=form.email.value
	var filter=/^.+@.+\..{2,3}$/
	if (filter.test(str)){
		var tempstring = str.split("@")
		tempstring = tempstring[1].split(".")
		for (i=0; i<rejectedDomain.length; i++) {
			if (tempstring[0]==rejectedDomain[i])
			rejected=true
		}
		if (rejected) {
			var message="Please input a more official email address!\n"
			message += "The following addresses are not allowed:\n"
			for (i=0; i<rejectedDomain.length; i++) {
				message += "\t" + rejectedDomain[i] + "\n"
			}
			validatePrompt(form.email, message)
			testresults=false
		}
	} else {
		message="Please input a complete and valid email address!"
		validatePrompt(form.email, message)
		testresults=false
	}
	return (testresults)
}
