var actionOn = "";
var actionRow;

String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}

function swapObj(a,b)  {
      document.getElementById(a).style.display="none";
      document.getElementById(b).style.display="";
}

function hideObj(a){
      document.getElementById(a).style.display="none";
}
      
function displayObj(a){
      document.getElementById(a).style.display="";
}

function TabNext(obj,event,len,nextField) {

		var fieldLength=0;
		var nextFieldId=document.getElementById(nextField);

		if (event=="down") {
			fieldLength=obj.value.length;
		}
		else {
			if (obj.value.length!=fieldLength) {
				fieldLength=obj.value.length;
				if (fieldLength==len) {
					nextFieldId.focus();
				}
			}
		}
}

// Ensure only valid characters are entered in a field
function CheckValidInput(field) {

		var invalidChars="<>{}[]&%+/\=;";

		for (var i=0;i<field.length;i++) {

			 var thisChar = field.charAt(i);

			 var isInvalid  = invalidChars.indexOf(thisChar);

			 if (isInvalid>-1) {
			     return false;		
			 } 	
		}
		return true;
}

function CheckCharOnlyInput(field) {

		var invalidChars="1234567890";

		for (var i=0;i<field.length;i++) {

			 var thisChar = field.charAt(i);

			 var isInvalid  = invalidChars.indexOf(thisChar);

			 if (isInvalid>-1) {
			     return false;		
			 } 	
		}
		return true;
}

function CheckDate(dayField, monthField, yearField) {

		  var day 	= document.getElementById(dayField).value;
      var month = document.getElementById(monthField).value;
      var year	= document.getElementById(yearField).value;

      var intday = parseInt(day, 10);

      if (isNaN(intday) || intday<1)   {
				alert("Invalid day entered");
				document.getElementById(dayField).focus();
				document.getElementById(dayField).select();		
				return false;
		  }	

      var intmonth = parseInt(month, 10);

      if (isNaN(intmonth) || intmonth>12 || intmonth<1) {
				alert("Invalid month entered");
				document.getElementById(monthField).focus();
				document.getElementById(monthField).select();		
				return false;
      }

      var intyear = parseInt(year, 10);

      if(year.length<4 || isNaN(intyear) || intyear<1) {
				alert("Invalid year entered");
				document.getElementById(yearField).focus();
				document.getElementById(yearField).select();		
				return false;
      }

      if ((intmonth==1 || intmonth==3 || intmonth==5 || intmonth==7 || intmonth==8 || intmonth==10 || intmonth==12) && (intday > 31)) {
				alert("Invalid date entered");
				document.getElementById(dayField).focus();
				document.getElementById(yearField).select();		
				return false;
      }

      if ((intmonth==4 || intmonth==6 || intmonth==9 || intmonth==11) && (intday > 30)) {
				alert("Invalid date entered");
				document.getElementById(dayField).focus();
				document.getElementById(yearField).select();		
				return false;
      }

      if (intmonth == 2) {
            if (LeapYear(intyear)) {
                  if (intday > 29) {
					alert("Invalid date entered");
					document.getElementById(dayField).focus();
					document.getElementById(yearField).select();		
					return false;
                  }

            }
            else  {
                  if (intday > 28) {
					alert("Invalid date entered");
					document.getElementById(dayField).focus();
					document.getElementById(yearField).select();		
					return false;
                  }
            }
      }

      return true;
}

function LeapYear(intyear) {

      if (intyear%100 == 0) {
            if (intyear%400 == 0){ 
				return true; 
			    }
      }
      else {
            if ((intyear % 4) == 0) { 
				return true; 
			    }
      }

      return false;
}

function checkPercentage (fieldName, alertName, decimals) {

		var theValue = eval(fieldName+".value");

		if (theValue.length==0) {
			alert(alertName+" must be entered");
			eval(fieldName+".focus();");
			return false;
		}		
		
		if (isNaN(theValue)) {
			alert(alertName+" must be numeric");
			eval(fieldName+".select();");
			eval(fieldName+".focus();");
			return false;
		}		
		
		if (theValue > 100 || theValue < 0) {
			alert(alertName+" must be between 0 and 100");
			eval(fieldName+".select();");
			eval(fieldName+".focus();");			
			return false;			
		}
		
		if (decimals=='N') {
			if (theValue.indexOf(".") > -1) {			
				alert(alertName+" must be a whole number");
				eval(fieldName+".select();");
				eval(fieldName+".focus();");				
				return false;			
			}
		}	

		return true;

}
