// JavaScript for PeopleFinders.com

// A. give focus to the very first empty field on the page
function focusInitialField() {
  var fields = document.getElementsByTagName('input');

  for ( var x = 0; x < fields.length; x++ ) {
    if (fields[x].getAttribute('type') == "text" && fields[x].value == "") {
    try{fields[x].focus();}
    catch(ex) {}
    break;
    }
}
}

// B. initialize global rollover buttons
function initRollovers() {
	if (!document.getElementById) return
	
	var aPreLoad = new Array();
    var bPreLoad = new Array();
	var sTempSrc;
	var aInputs = document.getElementsByTagName('input');
    // parse all input fields
	for (var i = 0; i < aInputs.length; i++) {		
		if (aInputs[i].className.indexOf('roll') != -1) { // fix for multiple classes (className == 'roll')
			var src = aInputs[i].getAttribute('src');
			var ftype = src.substring(src.lastIndexOf('.'), src.length);
			var hsrc = src.replace(ftype, '_o'+ftype);
            var dsrc = src.replace(ftype, '_x'+ftype);

			aInputs[i].setAttribute('hsrc', hsrc);
			
			aPreLoad[i] = new Image();
			aPreLoad[i].src = hsrc;
            // preload grey one too
            aInputs[i].setAttribute('dsrc', dsrc);

			bPreLoad[i] = new Image();
			bPreLoad[i].src = dsrc;

			// read src attribute value
			aInputs[i].onmouseover = function() {
				sTempSrc = this.getAttribute('src');
				this.setAttribute('src', this.getAttribute('hsrc'));
			}	
			// apply hover image to src value
			aInputs[i].onmouseout = function() {
				if (!sTempSrc) sTempSrc = this.getAttribute('src').replace('_o'+ftype, ftype);
				this.setAttribute('src', sTempSrc);
			}
		}
	}
}

// C-1. get elements by class function, script credits:
// http://www.robertnyman.com/2005/11/07/the-ultimate-getelementsbyclassname/
function getElementsByClass(oElm, strTagName, oClassNames){
	var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	var arrReturnElements = new Array();
	var arrRegExpClassNames = new Array();
	if(typeof oClassNames == "object"){
		for(var i=0; i<oClassNames.length; i++){
			arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames[i].replace(/\-/g, "\\-") + "(\\s|$)"));
		}
	}
	else{
		arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames.replace(/\-/g, "\\-") + "(\\s|$)"));
	}
	var oElement;
	var bMatchesAll;
	for(var j=0; j<arrElements.length; j++){
		oElement = arrElements[j];
		bMatchesAll = true;
		for(var k=0; k<arrRegExpClassNames.length; k++){
			if(!arrRegExpClassNames[k].test(oElement.className)){
				bMatchesAll = false;
				break;
			}
		}
		if(bMatchesAll){
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements)
}

// C-2. gives Array support for the push method to IE5
if(typeof Array.prototype.push != "function"){
	Array.prototype.push = ArrayPush;
	function ArrayPush(value){
		this[this.length] = value;
	}
}

// C-3. replace input for img onsubmit - emulate disabled button
function replaceImg() {
var fenabled = getElementsByClass(document, 'span','enabled');
var fdisable = getElementsByClass(document,'span','disabled');
	for(x=0; x < fenabled.length; x++) { 
       fenabled[x].style.display="none";
    }
	for(p = 0; p < fdisable.length; p++) { 
       fdisable[p].style.display="inline";
    }
}


// D-1. also preload anchored image buttons
var arImages=new Array();
function Preload() {
 var temp = Preload.arguments; 
 for(x=0; x < temp.length; x++) {
  arImages[x]=new Image();
  arImages[x].src=Preload.arguments[x];
 }
}

// D-2. only preload these images this if the current URL requires it
var whois=location+" " 
if (whois.indexOf("jax") != -1) { 
	var img1 = "/images/buttons/viewdetails-sm2.gif"
	var img2 = "/images/buttons/viewdetails-sm2_o.gif"
	var isJAX = true;
}

if (whois.toLowerCase().indexOf("summary") != -1) { 
	var view1 = "/images/buttons/viewdetails-sm3.gif";
	var view2 = "/images/buttons/viewdetails-sm3_o.gif";
	var img1 = "/images/buttons/viewdetails-sm.gif"
	var img2 = "/images/buttons/viewdetails-sm_o.gif"
	var isSummary = true;
}

if (whois.toLowerCase().indexOf("registerpf") != -1) {
    var isRegister = true;
}

if (whois.toLowerCase().indexOf("vertrue") != -1) {
    var isVertrue = true;
}

if (whois.toLowerCase().indexOf("order") != -1) {
    var isOrder = true;
}

// E. popupHelp window dimensions 
function popUpHelp(product,combined)
{
	var w = 810; //screen.width - 200
	var h = 610; //screen.height - 200;
	var iLeft = 0;
	var iTop = 0;

	var settings = "toolbar=no,scrollbars=yes,resizable=yes,width=" + w + ",height=" + h + ",top=" + iTop + ",left=" + iLeft;

	var url = "/producthelp.asp?product=" + product + "&combined=" + combined + "#sample";
	window.open(url,'sample',settings);
	return false;
}

// F. basic popup window dimensions 
// <a href="javascript:OpenWin('/path/to/file.htm', '400', '225');">
function OpenWin(url, w, h) {
	window.open(url,"win",'toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=0,width=' + w + ',height=' + h);
}

// G. load multiple functions at once 
onload = function doMultiple() {
  if(!isSummary && !isVertrue) {focusInitialField();}
  initRollovers();
  if(isJAX) {Preload(img1,img2);}
  if(isSummary) {Preload(img1,img2,view1,view2);}
}