/* Browser Check */
var NS = (navigator.appName == "Netscape");
var IE = (document.all) ? true : false;

function addOption(objSelect, optionText, optionValue) {
	if (NS) {
		var newOpt  = new Option(optionText, optionValue);
		var selLength = objSelect.length;
		objSelect.options[selLength] = newOpt;
	} else if (IE) {
		var newOpt = document.createElement("OPTION");
		newOpt.text = optionText;
		newOpt.value = optionValue;
		objSelect.add(newOpt);
	}
}

function removeOption(objSelect, index) {
	if (NS) {
		objSelect.options[index] = null;
	} else if (IE) {
		objSelect.remove(index);
	}
}

function optionChecked(radioGroup) {
	var returnValue = false;
	for(i=0; i < radioGroup.length; i++){
		if (radioGroup[i].checked) {
			returnValue = true;
			break;
		};
	};
	return returnValue;
};

function toggleLeftMenu(object) {
	// use the following if rollover should only imitate a link
	if (IE) {
		if (object.style.cursor == "hand") {
			object.style.cursor = "auto" 
		} else {
			object.style.cursor = "hand"
		}
	} else if (NS) {
		if (object.style.cursor == "pointer") {
			object.style.cursor = "auto" 
		} else {
			object.style.cursor = "pointer"
		}
	}
	// use the following if rollover should change style
	/*
	if (object.className.indexOf("Hover") == -1) {
		object.className+= "Hover";
	} else {
		object.className = object.className.replace("Hover", "");
	}
	*/	
};

function formatCurrency(floatValue) {
	var parsedFloat = ("" + floatValue).split(".");
	var returnValue = parsedFloat[0];

	if (parsedFloat.length == 1) {
		returnValue += ".00";
	} else {
		if (parsedFloat[1].length ==1) {
			returnValue += "." + parsedFloat[1] + "0";
		} else {
			returnValue += "." + parsedFloat[1].substr(0,2);		
		};
	};
	
	return returnValue;
};

function maskNumeric(object) {
	if (object.value!="") {
		var isNumeric = true;
		for (i=0; i < object.value.length; i++) {
			if (!((object.value.charCodeAt(i) >= 48) && (object.value.charCodeAt(i) <= 57))) {
				isNumeric = false;
				break;
			}
		}
		
		if (!isNumeric) {
			alert("Only numeric characters(0-9) allowed in this field...");
			object.value = "";
			object.focus();
			if (window.event != undefined) {
				// MSIE
				window.event.returnValue = false;
			};	
		}
		
	}	
}

function maskFloat(object, defaultValue, min, max) {
	if (object.value!="") {
		if (isNaN(parseFloat(object.value))) {
			object.value = defaultValue;
			// alert("Please enter a numeric value ...");
			// object.focus();
			if (window.event != undefined) {
				// MSIE
				window.event.returnValue = false;
			};
		} else {
			tmpValue = parseFloat(object.value);
			object.value = tmpValue;
			if (!(min==0 && max==0)) {
				if ((tmpValue<min) || (tmpValue>max)) {
					alert("The value must be >= " + min + " and <= " + max);
					object.focus();
					if (window.event != undefined) {
						// MSIE
						window.event.returnValue = false;
					};	
				};
			};
			
		};
	} else {
		object.value = defaultValue;	
	};
};

function maskCurrency(object, defaultValue, min, max) {
	if (object.value!="") {
		if (isNaN(parseFloat(object.value))) {
			object.value = defaultValue;
			// alert("Please enter a numeric value ...");
			// object.focus();
			if (window.event != undefined) {
				// MSIE
				window.event.returnValue = false;
			};
		} else {
			tmpValue = parseFloat(object.value);
			object.value = formatCurrency(tmpValue);
			if (!(min==0 && max==0)) {
				if ((tmpValue<min) || (tmpValue>max)) {
					alert("The value must be >= " + min + " and <= " + max);
					object.focus();
					if (window.event != undefined) {
						// MSIE
						window.event.returnValue = false;
					};	
				};
			};
			
		};
	} else {
		object.value = defaultValue;	
	};
};

function maskInt(object, defaultValue, min, max) {
	if (object.value!="") {
		if (isNaN(parseInt(object.value))) {
			object.value = defaultValue;
			// alert("Please enter a numeric value ...");
			// object.focus();
			if (window.event != undefined) {
				// MSIE
				window.event.returnValue = false;
			};	
		} else {
			tmpValue = parseInt(object.value);
			object.value = tmpValue;
			if (!(min==0 && max==0)) {			
				if ((tmpValue<min) || (tmpValue>max)) {
					alert("The value must be >= " + min + " and <= " + max);
					object.focus();
					if (window.event != undefined) {
						// MSIE
						window.event.returnValue = false;
					};
				};
			};
		};
	} else {
		object.value = defaultValue;	
	};
};

function maskDate(object) {
	// VALID DATE FORMAT: MM/DD/YYYY
	var errFlag = false;
	var inputValue = "" + object.value;
	
	if (inputValue!="") {
		var dateArray = inputValue.split("/");
		if (dateArray.length!=3) {
			errFlag = true;
		} else {
			if ((dateArray[0].length>2) || (dateArray[1].length>2) || (dateArray[2].length!=4)) {
				errFlag = true;
			} else {
				if (isNaN(dateArray[0]) || isNaN(dateArray[1]) || isNaN(dateArray[2])) {
					errFlag = true;
				} else {
					// .parse date format : MM/DD/YY
					var tmpMonth = (new Number(dateArray[0])).valueOf();
					var tmpDay = (new Number(dateArray[1])).valueOf();
					var tmpYear = (new Number(dateArray[2])).valueOf();
					var tmpDate = new Date(tmpMonth + "/" + tmpDay + "/" + tmpYear);
					if ((tmpDate.getDate()!=tmpDay) || (tmpDate.getMonth()!=(tmpMonth-1)) || (tmpDate.getFullYear()!=tmpYear)) {
						errFlag = true;
					} else {
						strMonth = "" + tmpMonth;
						strDay = "" + tmpDay;
						strYear = "" + tmpYear;
						
						newValue = "";
						newValue += (strMonth.length==1 ? "0" : "") + strMonth;
						newValue += "/" + (strDay.length==1 ? "0" : "") + strDay;
						newValue += "/" + strYear;
						object.value = newValue;
					};
				};
				
			};
		};
	};
	
	if (errFlag) {
		object.value = "";
		alert("Please enter a valid date ...");
		object.focus();
		if (window.event != undefined) {
			// MSIE
			window.event.returnValue = false;
		};
	};

};

function validateEmail(email) { 
	apos=email.indexOf("@");
	dotpos=email.lastIndexOf(".");
	lastpos=email.length-1;
	if ((apos < 1) || (dotpos-apos < 2) || ((lastpos-dotpos) > 3) || ((lastpos-dotpos) < 2)) {
		return false;
	} else {
		return true;
	};
};

function refreshDateObject(objectName) {
	dateObject = document.getElementById(("" + objectName));
	tmpDay = "" + (document.getElementById((objectName + "_day"))).value;
	tmpMonth = "" + (document.getElementById((objectName + "_month"))).value;
	tmpYear = "" + (document.getElementById((objectName + "_year"))).value;
	
	if ((tmpDay != "") && (tmpMonth != "") && (tmpYear != "")) {
		testDate = new Date(tmpYear, tmpMonth, tmpDay);
		if (parseInt(tmpDay) != testDate.getDate()) {
			dateObject.value = "";
		} else {
			dateObject.value = (parseInt(tmpDay) < 10 ? "0" : "") + tmpDay + "/" + ((parseInt(tmpMonth)+1) < 10 ? "0" : "") + (parseInt(tmpMonth)+1) + "/" + tmpYear;
		};
	} else {
		dateObject.value = "";
	};
};



