var cmMonthArray = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);

function isBlank(inputObj) { 
 for(var x = 0; x < inputObj.value.length; x++) {    
  if(inputObj.value.charCodeAt(x) != 32 & inputObj.value.charCodeAt(x) != 13 & inputObj.value.charCodeAt(x) != 10) {
   return false;
  }  
 }
 return true;
}

function isValidEmail(inputObj) {
 if(inputObj.value.indexOf('@') == -1 || inputObj.value.indexOf('.') == -1) {
  return false;
 }
 else {
  var tmp1 = inputObj.value.split("@");
  var tmp2 = tmp1[1].split(".");   
  if(tmp1[0].length < 1 || tmp2[0].length < 2 || tmp2[1].length < 2) {
   return false;
  }   
 }
 return true;
}

function isNumeric(inputObj) {
 if(isNaN(inputObj.value) || isBlank(inputObj)) {
  return false;
 }
 else {
  return true;
 }
}

function getSelectedRadioObj(radioObj) {  
 for(var x = 0; x < radioObj.length; x++) {
  if(radioObj[x].checked) {
   return radioObj[x].id;
  }  
 }
 return false;
}

function selectRadioObj(radioObj,val) {
 for(var x = 0; x < radioObj.length; x++) {  
  if(radioObj(x).value == val) {   
   radioObj(x).checked=true;
  }  
 } 
}

function isValidZip(inputObj) {
 if(isNumeric(inputObj) && inputObj.value.length == 5) {   
  return true;
 }
 else {
  return false;
 }
}

function isValidFullZip(inputObj) {}

function isValidPhone(format,inputObj) {
 // format - 0 = (xxx) xxx-xxxx
 // format - 1 = xxx xxx-xxxx
 // format - 2 = xxx.xxx.xxxx
 // format - 3 = xxx-xxxx
 switch(format) {
  case 0: {
   if(inputObj.value.indexOf('(') == -1 || inputObj.value.indexOf(')') == -1 || inputObj.value.indexOf('-') == -1 || inputObj.value.length !=14) {
    return false;
   }
   else {
    return true;
   }
  }
 }
}

function isValidDate(month,day,year) { 
 if(year < 1900 || year > 9999 || isNaN(year)) { 
  return 'year';
 }
 if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) {
  cmMonthArray[1] = "29";
 } 
 if(month < 1 || month > 12 || isNaN(month)) { 
  return 'month';
 } 
 if(day < 1 || day > cmMonthArray[(month-1)] || isNaN(day)) {  
  return 'day';
 }
 return true;
}

function isValidMonth(month) {
 if(isNaN(month) || month < 1 || month > 12) {
  return false;
 }
 return true;
}

function isValidDay(day, month) {
 if(isNaN(day) || day < 1 || day > cmMonthArray[(month-1)]) {  
  return false;
 }
 return true;
}

function isValidYear(year) {
 var date = new Date();
 var topYear = date.getFullYear()*1+1;
  
 if(isNaN(year) || year < 2006 || year > topYear) {   
  return false;
 }
 return true;  
}

function isStrictAlphaNumeric(inputObj) {  
 for(var x = 0; x < inputObj.value.length; x++) {
  if((inputObj.value.charCodeAt(x) >= 48 && inputObj.value.charCodeAt(x) <= 57) || (inputObj.value.charCodeAt(x) >= 65 && inputObj.value.charCodeAt(x) <= 90) || (inputObj.value.charCodeAt(x) >= 97 && inputObj.value.charCodeAt(x) <= 122) || (inputObj.value.charCodeAt(x) == 45 || inputObj.value.charCodeAt(x) == 95)) {
  }
  else {
   return false;
  }   
 }
 return true;
}

function isAlphaNumeric(inputObj) {  
 for(var x = 0; x < inputObj.value.length; x++) {
  if((inputObj.value.charCodeAt(x) >= 48 && inputObj.value.charCodeAt(x) <= 57) || (inputObj.value.charCodeAt(x) >= 65 && inputObj.value.charCodeAt(x) <= 90) || (inputObj.value.charCodeAt(x) >= 97 && inputObj.value.charCodeAt(x) <= 122) || (inputObj.value.charCodeAt(x) == 45 || inputObj.value.charCodeAt(x) == 95 || inputObj.value.charCodeAt(x) == 32)) {
  }
  else {
   return false;
  }   
 }
 return true;
}

function isAlphaNumericList(inputObj,delimeter) {
 if(!delimeter) { var delimeter = ','; }
 for(var x = 0; x < inputObj.value.length; x++) {
  if((inputObj.value.charCodeAt(x) >= 48 && inputObj.value.charCodeAt(x) <= 57) || (inputObj.value.charCodeAt(x) >= 65 && inputObj.value.charCodeAt(x) <= 90) || (inputObj.value.charCodeAt(x) >= 97 && inputObj.value.charCodeAt(x) <= 122) || (inputObj.value.charCodeAt(x) == 45 || inputObj.value.charCodeAt(x) == 95 || inputObj.value.charCodeAt(x) == 32) || (inputObj.value.charAt(x) == delimeter)) {
  }
  else {
   return false;
  }   
 }
 return true;
}
