// JavaScript Document

var isDHTML = 0;
var isLayers = 0;
var isAll = 0;
var isID = 0;

if (document.getElementById) {isID = 1; isDHTML = 1;}
else {
   browserVersion = parseInt(navigator.appVersion);
   if ((navigator.appName.indexOf('Netscape') != -1) && (browserVersion == 4)) {isLayers = 1; isDHTML = 1;}
   else {
     if (document.all) {isAll = 1; isDHTML = 1;}
}}



function findDOM(objectID,withStyle) {
	if (withStyle == 1) {
		if (isID) { return (document.getElementById(objectID).style) ; }
		else { 
			if (isAll) { return (document.all[objectID].style); }
		else {
			if (isLayers) { return (document.layers[objectID]); }
		};}
	}
	else {
		if (isID) { return (document.getElementById(objectID)) ; }
		else { 
			if (isAll) { return (document.all[objectID]); }
		else {
			if (isLayers) { return (document.layers[objectID]); }
		};}
	}
}


var validIntChar =  /[^ (+)\d-]/;
var validNumChar = /[-+]?[0-9]*\.?[0-9]+/;
var validEmailFormat = /\w+@\w+.\w\w+/;

function chk_num(element) {
	if (element.value == "") { return false }
	else {
		if (validNumChar.test(element.value) == false) { return false } else { return true }
	}
}

function chk_int(element) {
	if (element.value == "") { return false }
	else {
		if (validIntChar.test(element.value) == false) { return false } else { return true }
	}
}

function chk_email(element) {
	if (element.value == "") { return false }
	else {
		if (validEmailFormat.test(element.value) == false) { return false } else { return true }
	}
}

/* assign radio/checkbox opbject to variable to pass into "element" */
function chk_radio(element) { // also works for checkbox
	rval = false; 
	for (i=0; i<element.length; i++) { rval = rval||element[i].checked; }
	return rval;
}
/* assign radio/checkbox opbject to variable to pass into "element" */
function chk_radios(element,limit) { // also works for checkbox
	rval = false; 
	for (i=1; i<limit; i++) { rval = rval||findDOM(element+i,0).checked; }
	return rval;
}

/* ------  field formatting  ------ */

function removeComma(num) {
	var re =/,/g;
	var str = num.toString();

	str = str.replace(re,"");

	return parseFloat(str);
}

function doDecimals(number, x) {
	x = (!x ? 2 : x);
	return Math.round(number*Math.pow(10,x))/Math.pow(10,x);
}

function doCommas(sNumber) {
	var sNew = "", sDecimalPart, sNumberPart;
	var x = 1;

	iDecimal = sNumber.indexOf(".");	
	if (iDecimal >= 0) {
		sTempDecimal = sNumber.substring(iDecimal);
		sNumberPart = sNumber.substring(0, iDecimal);		
		sNew = String(doCommas1(sNumberPart)) + sTempDecimal; 
	}
	else {		
		sNew = doCommas1(sNumber); 
	}		
	return sNew;
}

function doCommas1(sInteger)
{
	var x=1, sNew = "";
	for(var i = sInteger.length - 1; i >= 0; i--) {
		if (x % 4 == 0) {
			sNew = "," + sNew;
			x = 1
		}
		sNew = sInteger.charAt(i) + sNew;
		x++;
	}
	return sNew;
}

/* -------  set field name  ------- */

function enumerateFields(fid) {
	var enumerateFieldsCounter = 0; pauseCounter = false; lastName = "";
	var allInputs=document[fid].getElementsByTagName("*");
	for (i=0; i<allInputs.length; i++) { 
		if (typeof allInputs[i].className=="string" && allInputs[i].className.search("enumOff")==-1) {
			if (allInputs[i].tagName.toLowerCase() == "input" || allInputs[i].tagName.toLowerCase() == "select" || allInputs[i].tagName.toLowerCase() == "textarea") {
				pauseCounter = (allInputs[i].name == lastName);
				if (allInputs[i].type == "radio") { if (!pauseCounter) { enumerateFieldsCounter++; } } else { enumerateFieldsCounter++; }
				lastName = allInputs[i].name;
				if (allInputs[i].name == "") { allInputs[i].name = allInputs[i].id + "_" + enumerateFieldsCounter; }
				else { if (allInputs[i].name.search(/_/) == -1) { allInputs[i].name += "_" + enumerateFieldsCounter; } }
			}
		}
	}
}

function fieldActive(fid,element,stat) { // form name , fieldname , status [ true = active ]
	if (stat) {
		findDOM(element+"set",1).opacity = "1.0"; // FF
		findDOM(element+"set",1).filter = "alpha(opacity=100)"; // IE
		if (typeof document.fid[element].length != "undefined") { for (i=0; i<document.fid[element].length; i++) { document.fid[element][i].disabled = false; } } else { document.fid[element].disabled = false; }
	} else { 
		findDOM(element+"set",1).opacity = "0.5"; // FF
		findDOM(element+"set",1).filter = "alpha(opacity=50)"; // IE
		if (typeof document.fid[element].length != "undefined") { for (i=0; i<document.fid[element].length; i++) { document.fid[element][i].checked = false; document.fid[element][i].disabled = true; } } else { document.fid[element].disabled = true; document.fid[element].value = ""; }
	}
}

function fieldShow(fid,element,stat) { // form name , fieldname , status [ true = active ]
	if (stat) {
		findDOM(element+"set",1).display = "block";
		if (typeof document[fid][element].length != "undefined") { for (i=0; i<document[fid][element].length; i++) { document[fid][element][i].disabled = false; } } else { document[fid][element].disabled = false; }
	} else { 
		findDOM(element+"set",1).display = "none";
		if (typeof document[fid][element].length != "undefined") { for (i=0; i<document[fid][element].length; i++) { document[fid][element][i].checked = false; document[fid][element][i].disabled = true; } } else { document[fid][element].disabled = true; document[fid][element].value = ""; }
	}
}

function getParameter(paramName) {
 
    // Build regex expression to find paramName in window.location.href
    // and then parse out everything after the "=" sign and before the "&"
    // sign
    paramName = paramName.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
    var regexS = "[\\?&]"+paramName+"=([^&#]*)";
    var regex = new RegExp( regexS );
    var results = regex.exec( window.location.href );
 
    if( results == null )
        return "";
    else {
        returnValue = unescape(results[1]);             // Unescape it
        returnValue = returnValue.replace(/\+/g, ' ');  // Replace plus sign with space
        return returnValue;
    }
}
