/*
	Displays Alerts and Dialog box for dropdown edit links
*/
	var STR_DELETE = 'Are You Sure You Wish To Delete This Record?';
	var STR_EMPTY = 'Dropdown list empty!';
	var STR_SELECT = 'Please Select an Item from the dropdown list!';

	function AllowUpdate(objElement,strHref,boolConfirm,incZero) {
		if (objElement.length == 0) {
			alert(STR_EMPTY);
		} else {
			if (objElement.selectedIndex == -1){ 
				alert(STR_SELECT);
			} else {
				if ((objElement.selectedIndex == 0)&&(!incZero)) {
					alert(STR_SELECT);
				} else {
					if ((boolConfirm) ? confirm(STR_DELETE):true) {
						window.location.href = strHref + objElement.options[objElement.selectedIndex].value; 
					}
				}
			}
		}
		return false;
	}

/*
	Manage date drop downs 
*/
	function getDaysInMonth(aMonth,aYear) {
		var d = new Date();
		d.setYear((aYear - 0) + ((aYear - 0) < 1900 ? 1900 : 0));
		d.setMonth(aMonth);
		d.setDate(32);
		return 32 - d.getDate();
	}

	function populate(aYear,aMonth,objDays) {
		var dayIndex
		if (isYear(aYear) && isMonth(aMonth)) {
			dayIndex = objDays.selectedIndex;
			var daysInMonth = getDaysInMonth(aMonth - 1,aYear);
			for (var i = 0; i < objDays.length; i++) {
				objDays.options[0] = null;
			}
			objDays.options[0] = new Option(0);
			objDays.options[0].text = 'day';
			for (var i = 1; i < daysInMonth + 1; i++) {
				objDays.options[i] = new Option(i);
			}
			if (dayIndex < daysInMonth + 1) {
				objDays.options[dayIndex].selected = true;
			} else {
				objDays.options[0].selected = true;
			}
		}
	}

/*
	open browser window
*/
	function openWindow(theURL,winName,features) {
		var newwindow = window.open(theURL,winName,features);
		newwindow.focus();
	}
/*
	show and hide layers
*/

	function toggleLayer(whichLayer)
	{
		if (document.getElementById)
		{
			// this is the way the standards work
			var style2 = document.getElementById(whichLayer).style;
			style2.display = style2.display? "":"block";
		}
		else if (document.all)
		{
			// this is the way old msie versions work
			var style2 = document.all[whichLayer].style;
			style2.display = style2.display? "":"block";
		}
		else if (document.layers)
		{
			// this is the way nn4 works
			var style2 = document.layers[whichLayer].style;
			style2.display = style2.display? "":"block";
		}
	}

/*
	get value of form field
*/

	function fieldValue(aElement,aReturnDisplayValue) {
		var strCurrType = '';
		strCurrType = aElement.type;
		if (strCurrType == 'password' || strCurrType == 'text' || strCurrType == 'textarea') {
			return aElement.value;
		} else {
			if (strCurrType == 'select-one' || strCurrType == 'select-multiple') {
				if (aReturnDisplayValue) {
					return aElement.options[aElement.selectedIndex].text;
				} else {
					return aElement.options[aElement.selectedIndex].value;
				}
			} else {
			    if (strCurrType == 'radio' || strCurrType == 'checkbox') {
					return aElement.checked;
				}
	        }
		}
	}

/*
	Prevent Form being submitted by User pressing Enter
*/

	function noenter() {
		return !(window.event && window.event.keyCode == 13); 
	}
/*
	Macromedia - Dropdown link menu
*/
	function MM_jumpMenu(targ,selObj,restore){ //v3.0
		eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
		if (restore) selObj.selectedIndex=0;
	}
/*
	URLEncode & Decode
*/
    function URLEncode (clearString) {
        var output = '';
        var x = 0;
        clearString = clearString.toString();
        var regex = /(^[a-zA-Z0-9_.]*)/;
        while (x < clearString.length) {
            var match = regex.exec(clearString.substr(x));
            if (match != null && match.length > 1 && match[1] != '') {
                output += match[1];
                x += match[1].length;
            } else {
                if (clearString[x] == ' ')
                    output += '+';
                else {
                    var charCode = clearString.charCodeAt(x);
                    var hexVal = charCode.toString(16);
                    output += '%' + ( hexVal.length < 2 ? '0' : '' ) + hexVal.toUpperCase();
                }
                x++;
            }
        }
        return output;
    }

    function URLDecode (encodedString) {
        var output = encodedString;
        var binVal, thisString;
        var myregexp = /(%[^%]{2})/;
        while ((match = myregexp.exec(output)) != null && match.length > 1 && match[1] != '') {
            binVal = parseInt(match[1].substr(1),16);
            thisString = String.fromCharCode(binVal);
            output = output.replace(match[1], thisString);
        }
        return output;
    }

