// JavaScript 


// 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);
			}
		}
	}
}


// 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)
}

// 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;
	}
}

// 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";
    }
}



// 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];
 }
}

// preload these images 
var img1 = "images/buttons/viewdetails-sm.jpg"
var img2 = "images/buttons/viewdetails-sm_o.jpg"

// give focus to the very first field on the page
/*function focusInitialField() {
	var firstfield = document.getElementsByTagName('input')[0];
	if (firstfield.value == '') firstfield.focus();
}*/
function focusInitialField() {
    var firstfield = document.getElementsByTagName('input')[0];

    if ((firstfield) && (firstfield.value == '')) firstfield.focus();
}



// load multiple functions at once
onload = function doMultiple() {
  initRollovers();
  Preload(img1,img2);
  focusInitialField();
}

