//JABREV - HOMEPAGE JAVASCRIPT START

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 CC_startTip(){ //v1.0 333Creative
  ccID=document.getElementById;ccIE=(document.all);
  i5=(ccID&&ccIE);ccN6=(ccID&&!ccIE);ccI4=(!ccID&&ccIE);ccMC=(navigator.userAgent.indexOf("Mac")!= -1);
  cc1=null;ccF=0;index=0;ccX=15;ccY=15;n=0;ccPX=(ccID)?"px":"";var T="ccToolTip";
  if(ccID){el=document.getElementById(T)}
  else if(ccI4){el=document.all[T]}
}

function CC_hideTip(){ //v1.0 333Creative
 if(ccN6){if(cc1!=null){clearTimeout(cc1);cc1=null;}el.style.MozOpacity = '0%';ccF=0;
  el.style.visibility="hidden";}else 
 if(ccIE){el.style.visibility="hidden"}}

function CC_Follow(evt){ //v2.2 333Creative
 var d=document.body,st=(document.all)?document.body.scrollTop:0;if(ccI4){
 tW=(el.style.pixelWidth)?el.style.pixelWidth:el.offsetWidth;
 tH=(el.style.pixelHeight)?el.style.pixelHeight:el.offsetHeight;
 }else{tW=(el.style.width)?parseInt(el.style.width):parseInt(el.offsetWidth);
 tH=parseInt(el.offsetHeight);}if(ccIE){pX=d.clientWidth;if(document.body){
 sx=document.body.scrollLeft;sy=document.body.scrollTop;sy=document.documentElement.scrollTop;}
 mx=event.clientX;my=(event.clientY>tH)?event.clientY:event.clientY+tH;}else{pX=window.innerWidth;
 sx=window.pageXOffset;sy=window.pageYOffset;mx=evt.pageX;my=evt.pageY;}if(n==1){xo=mx+ccX;
 yo=(my+tH+ccY-((ccN6)?sy:0)>=pY)?-5-tH-ccY:ccY;if(ccN6){mx-=sx;}xo=mx+ccX;yo=(my+tH+ccY-((ccN6)?sy:0)>=pY)?-5-tH-ccY:ccY;
 var X=Math.min(pX-tW,Math.max(2,xo))+sx;var Y=my+yo+((!ccN6)?sy:0);el.style.left=X+ccPX;el.style.top=Y+ccPX;
 }
}

function CC_displayTip(o,m,e,w,h,l,t,g,z,p,s,y,b,a,q){ //v1.0 333Creative
  var mm=unescape(m),lnk=document.links,x=el.style,f=eval("CC_"+"Follow");for(var i=0;i<lnk.length;i++){if(q=='1'&&!ccN6){
  lnk[i].onmousemove=f;n=1}else if(q=='2'&&!ccN6){n=2}else if(ccN6&&q=='1'){
  lnk[i].addEventListener("mousemove",f,false);n=1}else if(ccN6&&q=='2'){n=2}}
  pY=(ccIE)?document.body.clientHeight:window.innerHeight;if(ccID||ccIE){
  x.backgroundColor=g;x.color=z;x.width=w+ccPX;x.height="auto";x.borderStyle=s;
  x.borderColor=y;x.borderWidth=b+ccPX;x.textAlign=a;x.left=l+ccPX;x.top=t+ccPX;}
  if(window.opera||ccMC||ccI4){x.visibility="visible";el.innerHTML=mm}else
  if(i5){x.filter=e;el.filters[0].Apply();x.visibility="visible";el.filters[0].Play(p);el.innerHTML=mm;
  if(o<100){x.filter="alpha(opacity="+o+")"}}else if(ccN6){x.visibility="visible";el.innerHTML=mm;if(ccF<o){ccOP=ccF+8;ccF=ccOP;
  cc1=setTimeout("CC_displayTip('0','"+m+"')",40);
  el.style.MozOpacity=ccOP+'%';
  }}
}
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.01
  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 && d.getElementById) x=d.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_showHideLayers() { //v9.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) 
  with (document) if (getElementById && ((obj=getElementById(args[i]))!=null)) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

//JABREV - HOMEPAGE JAVASCRIPT END

//
//
////These functions are for the DomainQuery search page.
//
//

function checkEnter(e){ 
    //e is event object passed from function invocation
    var characterCode //literal character code will be stored in this variable

    if(e && e.which){ //if which property of event object is supported (NN4)
    e = e
    characterCode = e.which //character code is contained in NN4's which property
    }
    else{
    e = event
    characterCode = e.keyCode //character code is contained in IE's keyCode property
    }

    if(characterCode == 13){ //if generated character code is equal to ascii 13 (if enter key)
    document.forms[0].action="http://www.revelation.com/revelation.nsf/Search?OpenAgent";
    document.forms[0].id="qs";
    document.forms[0].method="post";
    document.forms[0].submit();

    return false;
    }
    else{
    return true 
}

}

function clearWorksQueryStatus() {
    document.getElementById("WorksQueryStatus").innerHTML = "";
}

function clearNONWorksQueryStatus() {
    document.getElementById("NONWorksQueryStatus").innerHTML = "";
}

function clearDominoQueryStatus() {
    document.getElementById("DominoQueryStatus").innerHTML = "";
}

function validateWorksSearchInput() {
    //console.log("start validating works search input...");
    var inpField = document.getElementById("SEARCHVAL");
	if (inpField == null) {
		return false;
		//Works field is probably hidden or not authorized.
	}
	
    var dispStatus = document.getElementById("WorksQueryStatus");

    var inpFieldVal;
    inpFieldVal = inpField.value;
    inpFieldVal = inpFieldVal.replace(/^\s+|\s+$/g, ""); //trim white space
    if (inpFieldVal.length == 0) {
        dispStatus.innerHTML = "A search parameter is required.";
        return false;
    }
    else
        return true;

    //console.log("done validating works search input...");
}

function validateNONWorksSearchInput() {
    //console.log("start validating works search input...");
    var inpField = document.getElementById("NONSEARCHVAL");
	if (inpField == null) {
		return false;
		//Works field is probably hidden or not authorized.
	}
	
    var dispStatus = document.getElementById("NONWorksQueryStatus");

    var inpFieldVal;
    inpFieldVal = inpField.value;
    inpFieldVal = inpFieldVal.replace(/^\s+|\s+$/g, ""); //trim white space
    if (inpFieldVal.length == 0) {
        dispStatus.innerHTML = "A search parameter is required.";
        return false;
    }
    else
        return true;

    //console.log("done validating works search input...");
}


function validateDominoSearchInput() {
    //console.log("start validating domino search input...");
    var inpField = document.getElementById("SimpleQuery");
    var dispStatus = document.getElementById("DominoQueryStatus");

    var inpFieldVal;
    inpFieldVal = inpField.value;
    inpFieldVal = inpFieldVal.replace(/^\s+|\s+$/g,""); //trim white space
    if (inpFieldVal.length == 0) {
        dispStatus.innerHTML="A search parameter is required.";
        return false;
    }
    else
        return true;

    //console.log("done validating domino search input...");
}

function validateOnSubmit(e) {

	var clickTarget;
	
	
	if ((typeof e != 'undefined') && (typeof e.srcElement != 'undefined')) {
		//console.log(e.srcElement.name);
		//console.log("e.srcElement.id = " + e.srcElement.id);	
		clickTarget = e.srcElement.id;
	}
	
	//This is undefined if Search image was clicked in IE
	if ((typeof e != 'undefined') && (typeof e.currentTarget != 'undefined')) { 
			//console.log("e.currentTarget.id = " + e.currentTarget.id);
			clickTarget = e.currentTarget.id;
	}
	
	if (typeof e == 'undefined') {
		clickTarget = this.document.activeElement.id;
	}
	

	//btnDominoSearchImage
    if ((clickTarget == "btnDominoSearch") || (clickTarget == "btnDominoSearchImage") || (clickTarget == "a#btnDominoSearch")) {
        retVal = validateDominoSearchInput();
        return retVal;
    }

    //If the reset link or other link was clicked let the submit pass through
    if (clickTarget == "btnReset" || clickTarget == "") {
        return true;
    }

    var retVal;

    //Trap a works forum search and process it if validation passes.
    if (e.srcElement.id == "worksforumsearch") {
        retVal = validateWorksSearchInput();
        return retVal;
    }
	
	if (e.srcElement.id == "nonworksforumsearch") {
        retVal = validateNONWorksSearchInput();
        return retVal;
    }

    //Assume that this is a domino search by default.
    retVal = validateDominoSearchInput();
    return retVal;

}


function keypressDomainQuery(e)
{
	//e is event object passed from function invocation
	var characterCode //literal character code will be stored in this variable

	if(e && e.which){ //if which property of event object is supported (NN4)
	e = e
	characterCode = e.which //character code is contained in NN4's which property
	}
	else{
	e = event
	characterCode = e.keyCode //character code is contained in IE's keyCode property
	}

	if(characterCode == 13){
	
		var activeControl;
		
		
		if (typeof e.srcElement != 'undefined') {
			//console.log(e.srcElement.id);
			//console.log(e.srcElement.name);
			activeControl = e.srcElement.name
		}
		else {
			activeControl = this.document.activeElement.id;
		}
	
		//if(e.srcElement.id=="doWorksSearch"){
	    //if ((activeControl == "SEARCHVAL") || (activeControl == "input#SimpleQuery") || (activeControl == "SimpleQuery")) {
		if((activeControl=="btnWorksSearch") || (activeControl=="doWorksSearch") || (activeControl == "SEARCHVAL") || (activeControl == "input#SEARCHVAL")){
	        //console.log("Doing works query");

	        if (validateWorksSearchInput() == false)
	            return false;

			//console.log('validateDominoSearchInput redefined')
	        window['validateDominoSearchInput'] = function () { return; }
			doWorksSearch();
		} if((activeControl=="btnNONWorksSearch") || (activeControl=="doNONWorksSearch") || (activeControl == "NONSEARCHVAL") || (activeControl == "input#NONSEARCHVAL")){
	        //console.log("Doing nonworks query");

	        if (validateNONWorksSearchInput() == false)
	            return false;

			//console.log('validateDominoSearchInput redefined')
	        window['validateDominoSearchInput'] = function () { return; }
			doNONWorksSearch();
		} else //if(e.srcElement.id=="SimpleQuery")
		{
		    //console.log("Doing simple query");

		    if(validateDominoSearchInput() == false)
                return false;

			//document.forms[0].action="http://www.revelation.com/revelation.nsf/Search?OpenAgent";
			//document.forms[0].id="qs";
			//document.forms[0].method="post";
			//document.forms[0].submit();
			
			if (getInternetExplorerVersion() == 9) {
					var clickTarget;
					clickTarget = document.getElementById('btnDominoSearchImage');
					fireEvent( clickTarget, "Click");
			}
			else {
				var tmpWindow = window;
				//console.log('doWorksSearch redefined')
				window['doWorksSearch'] = function(){ return;};
			}
		}
	
	}
	else
	{
	//console.log(characterCode);
	}

}


function doWorksSearch() {
    //It redirects the default form DomainQuery action
    //console.log("doWOrksSearch");

    document.forms[0].action="http://www.revelation.com/o4wtrs/oecgi3.exe/O4W_DOMINO_HANDOFF";
	document.forms[0].id="worksforumsearch";
	document.forms[0].method = "get";
	
	var fieldBoardSelection;
	fieldBoardSelection = document.getElementById('BOARDSELECTION');
	fieldBoardSelection.value = "WORKS_BOARD";

	if (validateWorksSearchInput() == false) {
		window.stop();
	    return false;
	}
	else {
		document.forms[0].submit();
	}
}

function doNONWorksSearch() {
    //It redirects the default form DomainQuery action
    //console.log("doWOrksSearch");

    document.forms[0].action="http://www.revelation.com/o4wtrs/oecgi3.exe/O4W_DOMINO_HANDOFF";
	document.forms[0].id="nonworksforumsearch";
	document.forms[0].method = "get";

	var fieldBoardSelection;
	fieldBoardSelection = document.getElementById('BOARDSELECTION');
	fieldBoardSelection.value = "NONWORKS_BOARD";

	var nonsearchval;
	nonsearchval = document.getElementById('NONSEARCHVAL');
	
	var searchval;
	searchval = document.getElementById('SEARCHVAL');
	
	
	searchval.value = nonsearchval.value;
	
	if (validateNONWorksSearchInput() == false) {
		window.stop();
	    return false;
	}
	else {
		document.forms[0].submit();
	}
}

function getInternetExplorerVersion()
// Returns the version of Internet Explorer or a -1
// (indicating the use of another browser).
{
  var rv = -1; // Return value assumes failure.
  if (navigator.appName == 'Microsoft Internet Explorer')
  {
    var ua = navigator.userAgent;
    var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
    if (re.exec(ua) != null)
      rv = parseFloat( RegExp.$1 );
  }
  return rv;
}

function checkVersion()
{
  var msg = "You're not using Internet Explorer.";
  var ver = getInternetExplorerVersion();

  if ( ver > -1 )
  {
    if ( ver >= 8.0 ) 
      msg = "You're using a recent copy of Internet Explorer."
    else
      msg = "You should upgrade your copy of Internet Explorer.";
  }
  alert( msg );
}

function fireEvent(obj,evt){

    var fireOnThis = obj;
    if( document.createEvent ) {
      var evObj = document.createEvent('MouseEvents');
      evObj.initEvent( evt, true, false );
      fireOnThis.dispatchEvent( evObj );

    } else if( document.createEventObject ) {
      var evObj = document.createEventObject();
      fireOnThis.fireEvent( 'on' + evt, evObj );
    }
}
