// JScript File

var isNN = (navigator.appName.indexOf("Netscape")!=-1);

function doCaps(e, elm){
	elm.value = elm.value.toUpperCase();
}

function keyToUpperCase(field, evt){
		event.keyCode = String.fromCharCode(event.keyCode).toUpperCase().charCodeAt();
	return true;	
} // end keyToUpperCase

function padleft(val, ch, num) {
    var re = new RegExp(".{" + num + "}$");
    var pad = "";

    do  {
        pad += ch;
    }while(pad.length < num)
    return re.exec(pad + val);
}

function OnlyYN(e){
	var keyCode = (isNN) ? e.which : e.keyCode;
	var reg = /[YyNn]/;
	var goodVal = reg.test(String.fromCharCode(keyCode));
	if (goodVal){
		if (e.which){
			e.which = String.fromCharCode(keyCode).toUpperCase().charCodeAt(); 
		}else{
			e.keyCode = String.fromCharCode(keyCode).toUpperCase().charCodeAt(); 
		}
	}
	return goodVal;
}

function OnlyCS(e){
	var keyCode = (isNN) ? e.which : e.keyCode;
	var reg = /[CcSs]/;
	var goodVal = reg.test(String.fromCharCode(keyCode));
	if (goodVal){
		if (e.which){
			e.which = String.fromCharCode(keyCode).toUpperCase().charCodeAt(); 
		}else{
			e.keyCode = String.fromCharCode(keyCode).toUpperCase().charCodeAt(); 
		}
	}
	return goodVal;
}

function OnlyCE(e){
	var keyCode = (isNN) ? e.which : e.keyCode;
	var reg = /[CcEe]/;
	var goodVal = reg.test(String.fromCharCode(keyCode));
	if (goodVal){
		if (e.which){
			e.which = String.fromCharCode(keyCode).toUpperCase().charCodeAt(); 
		}else{
			e.keyCode = String.fromCharCode(keyCode).toUpperCase().charCodeAt(); 
		}
	}
	return goodVal;
}

function OnlyNumbers(evt){
	var charCode = (evt.which) ? evt.which : event.keyCode
	if (charCode > 31 && (charCode < 48 || charCode > 57))
		return false;
	return true;
}

function OnlyCurrency(e){
	var keyCode = (isNN) ? e.which : e.keyCode;
	var reg = /\$|\d|\./;
	var goodVal = reg.test(String.fromCharCode(keyCode));
	return goodVal;
}

function autoTab(input,len, e) {
	var keyCode = (isNN) ? e.which : e.keyCode; 
	var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
	var tb = input.form[(getIndex(input)+1) % input.form.length]
	if(input.value.length >= len && !containsElement(filter,keyCode)) {
		input.value = input.value.slice(0, len);
		if (tb.type == "text"){
			tb.focus();
			tb.select();
		}
	}
	return true;
}

function containsElement(arr, ele) {
	var found = false, index = 0;
	while(!found && index < arr.length)
	if(arr[index] == ele)
		found = true;
	else
		index++;
	return found;
}

function getIndex(input) {
	var index = -1, i = 0, found = false;
	while (i < input.form.length && index == -1)
	if (input.form[i] == input)index = i;
	else i++;
	return index;
}

function calendarSetup(input, dispArea, btn){
    Calendar.setup({
		inputField     :    input,           // id of the input field
		displayArea	   :    dispArea, 
		ifFormat       :    "%m/%d/%Y",      // %I:%M %p format of the input field
		daFormat	   :	"%m/%d/%Y",
		showsTime      :    false,           // will display a time selector
		button         :    btn,             // trigger for the calendar (button ID)
		singleClick    :    true,            // double-click mode
		step           :    1,               // show all years in drop-down boxes (instead of every other year as default)
		weekNumbers    :    false,
		cache		   :	false
	});
}

function doFadeOut(elm){
    var fadeOutAnim = new YAHOO.util.Anim(elm, { opacity: {to: 0} }, 1 );
	fadeOutAnim.animate();
}

var xmlHttp

function getXmlHttpObject(handler){ 
	var objXMLHttp=null
	if (window.XMLHttpRequest){
		objXMLHttp=new XMLHttpRequest();
	}else if (window.ActiveXObject){
		objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP");
	}
	return objXMLHttp;
}


function stateChanged(elm){ 
	var elm;
	try {
		if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete"){ 
			elm.value = xmlHttp.responseText;
		} 
	} catch (error) {
		alert(error.name + "\n" + error.message + "\n" + xmlHttp.responseText);
	}
}

function getValue(val, type, elm){
	var errMsg;
	try {
		xmlHttp=getXmlHttpObject()
		if (xmlHttp==null){
			alert("Browser does not support HTTP Request")
			return
		} 
		var url = "../ajax/getValue.aspx"
		url = url + "?tp=" + type + "&val=" + val
		url = url + "&sid=" + Math.random()
		xmlHttp.onreadystatechange=stateChanged;
		xmlHttp.open("GET", url, true)
		xmlHttp.send(null)

	} catch (error) {
		alert(error.name + "." + error.message + "\n" + errMsg);
	}
} 

function getValue2(val1, val2, type, elm){
	try {
		xmlHttp=getXmlHttpObject()
		if (xmlHttp==null){
			alert("Browser does not support HTTP Request")
			return
		} 
		
		var url = "../ajax/getValue.aspx"
		url = url + "?tp=" + type + "&val=" + val1 + "&val2=" + val2
		url = url + "&sid=" + Math.random()
		xmlHttp.onreadystatechange=stateChanged(elm) 
		xmlHttp.open("GET", url, true)
		xmlHttp.send(null)
	} catch (error) {
		alert(error.name + "." + error.message);
	}
} 

function check6Date(id, val){
	var month = "";
	var year = "";
	
	if (val.length == 5 || val.length == 6 ){
		val = String(padleft(val, '0', 6));
		year = val.substr(val.length-4);
		month = val.substr(0, val.length-4);
		if (month < 1 || month > 12){
			$(id).addClassName("redbrdr");
			return false;
		} else {
			if (year < 1900 || year > new Date().getFullYear()){
				$(id).addClassName("redbrdr");
				return false;
			} else {
				return true;
			}
		}
	} else {
		return false;
	}
}

function strip(val){
	val = val.replace(new RegExp(/\//g), ""); // remove slashes
	//val = val.replace(new RegExp(/-/g), ""); // remove dashes
	val = val.replace(new RegExp(/,/g), ""); // remove commas
	val = val.replace(new RegExp(/\$/g), ""); // remove dollar signs
	val = val.replace(new RegExp(/\)/g), ""); // remove parentheses add negative sign
	val = val.replace(new RegExp(/\(/g), "-"); // remove parentheses add negative sign
	if (val == ""){
		val = "0";
	}
	return val;
}

function validDate(val, id, format){
	var newMsg = buildDate(val, format);
	if (typeof newMsg == "object") {
		$(id).removeClassName("redbrdr");
	}else{
		$(id).addClassName("redbrdr");
	}
	return newMsg;
}

function formatDate(dt, format){
	var out = "";
	switch (format){
		case "%mm%yyyy":
			out = padleft(dt.getMonth() + 1, '0', 2) + '/' + dt.getFullYear();
			break;
		case "%mm%dd%yyyy":
			out = padleft(dt.getMonth() + 1, '0', 2) + '/' + padleft(dt.getDate(), '0', 2) + '/' + dt.getFullYear();		
			break;
		case "%yyyy":
			out = dt.getFullYear();		
			break;
	}
	return out;
}

function switchEm(node){
    if ($(node).hasClassName('plus')){
        $(node).removeClassName('plus');
        $(node).addClassName('minus');
        $(node+"detail").removeClassName('none');
        $(node+"detail").addClassName('block');
    } else {
        $(node).removeClassName('minus');
        $(node).addClassName('plus');
        $(node+"detail").removeClassName('block');
        $(node+"detail").addClassName('none');
    }
}

var prefix="$"
var wd
function parseelement(thisone){
	if (thisone.value.charAt(0)=="$")
		return
	wd="w"
	var tempnum=thisone.value
	for (i=0;i<tempnum.length;i++){
		if (tempnum.charAt(i)=="."){
			wd="d"
			break
		}
	}
	if (wd=="w")
		thisone.value=prefix+tempnum+".00"
	else{
		if (tempnum.charAt(tempnum.length-2)=="."){
			thisone.value=prefix+tempnum+"0"
		} else {
			tempnum=Math.round(tempnum*100)/100
			thisone.value=prefix+tempnum
		}
	}
}

function btnAction(elm, e){
	$(elm.name).removeClassName("on")
	$(elm.name).removeClassName("out")
	$(elm.name).removeClassName("down")
	switch(e.type){
		case "mouseover":
			$(elm.name).addClassName("on")
			break;
		case "mouseout":
			$(elm.name).addClassName("out")
			break;
		case "mousedown":
			$(elm.name).addClassName("down")
			break;
	}
}

function bigBtnAction(elm, e){
	$(elm.name).removeClassName("Bon")
	$(elm.name).removeClassName("Bout")
	$(elm.name).removeClassName("Bdown")
	switch(e.type){
		case "mouseover":
			$(elm.name).addClassName("Bon")
			break;
		case "mouseout":
			$(elm.name).addClassName("Bout")
			break;
		case "mousedown":
			$(elm.name).addClassName("Bdown")
			break;
	}
}

