// JavaScript Document

function isValidPassword(pass) {
  x1 = /^[a-z\d]{8,12}$/i // only alphanumerics, and length 8-12
  x2 = /[a-z]/i           // a letter present
  x3 = /\d/               // a digit present
  valid = x1.test(pass) && x2.test(pass) && x3.test(pass);
  return valid;
}

function isValidLogin(pass) {
  x1 = /^[a-z\d]{8,12}$/i // only alphanumerics, and length 8-12
  valid = x1.test(pass);
  return valid;
}

function isTelBelgium(area, number) {
  if ((area == "" && number != "") || (number == "" && area != "") ||		
     (area != "" && (!isWord(area))) || (number != "" && (!isWord(number))) ||
	 (area != "" && (area.length < 2 || area.length > 3)) || (number != "" && (number.length < 6 || number.length > 7)) || 
	 ((area != "" && number != "") && area.length + number.length != 9)) {	  
   return false;
  }
  return true;
}
  
function isTelInternational(area, number) {
  if ((area == "" && number != "") || (number == "" && area != "") ||		
      (area != "" && (!isWord(area))) || (number != "" && (!isWord(number))) ||
      (area != "" && (area.length < 2)) || (number != "" && (number.length < 6)) || 	  
	  ((area != "" && number != "") && area.length + number.length > 11)) {
    return false;
  }
  return true;
}  
  
function isMobileBelgium(area, number) {
  if ((area == "" && number != "") || (number == "" && area != "") ||		
      (area != "" && (!isWord(area))) || (number != "" && (!isWord(number))) ||
	  (area != "" && (area.length != 4)) || (number != "" && (number.length != 6)) || 
	  ((area != "" && number != "") && area.length + number.length != 10)) {	  
    return false;
  }
  return true;
}


function isEmail(email){
  var pattern=/(^[\-_\.a-zA-Z0-9]+)@((([0-9]{1,3}\.){3}([0-9]{1,3})((:[0-9])*))|(([a-zA-Z0-9\-]+)(\.[a-zA-Z]{2,})+(\.[a-zA-Z]{2})?((:[0-9])*)))/; 
  if (email.search(pattern) == -1) {return false;}
  else {return true};	
}

function isNumber(number) {
  oneDecimal = false;
  inputStr = number.toString();
  for (var i = 0; i < inputStr.length; i ++) {
	var oneChar = inputStr.charAt(i);
	if ((i == 0) && (oneChar == "-")) {
	  continue;
	}
	if ((oneChar == ".") && (!oneDecimal)) {
	  oneDecimal = true;
  	  continue;
	}
	if ((oneChar < "0") || (oneChar > "9")) {
	  return false;
	}
  }
  return true;
}

function isAlfaNonNumeric(word) {
  return true;
}

function isWord(number) {
  oneDecimal = false;
  inputStr = number.toString();
  for (var i = 0; i < inputStr.length; i ++) {
	var oneChar = inputStr.charAt(i);
	if ((oneChar < "0") || (oneChar > "9")) {
	  return false;
	}
  }
  return true;
}

function isDate(day, month, year) {
  var daysArr = new Array;
  for (var i=0; i<12; i++) {
    if(i!=1) {
      if((i/2)==(Math.round(i/2))) {
        if(i<=6) {daysArr[i]="31";}
        else {daysArr[i]="30";}
      }
      else {
        if(i<=6) {daysArr[i]="30";}
        else {daysArr[i]="31";}
      }
    }
    else {
      if((year/4)==(Math.round(year/4))) {daysArr[i]="29";}
      else {daysArr[i]="28";}
    }
  } 
  if ((!isNumber(day)) || (!isNumber(month)) || (!isNumber(year))) return false;
  if (year < 1000) return false;
  if (Number(month) < 1 || Number(month) > 12) return false;  
  i = Number(month) - 1;
  if ((Number(day) < 1) || (Number(day) > daysArr[i])) return false;
  return true;
}

function isAlplaNumericOrUnderscore(str) {
  var pattern=/^\w*$/; 
  if (str.search(pattern) == -1) {return false;}
  else {return true};
}

function isExtention(str, extension) {
  var offset = str.length - extension.length - 1;
  var end = extension.length + 1;
  str = str.toLowerCase();
  extension = "." + extension;
  if (extension.toLowerCase() == str.substr(offset,end)) {return true}
  else {return false}
}

function isJPG(str) {
  if (isExtention(str,'jpg')) {return true}
  else {return false}  
}

function isPNG(str) {
  if (isExtention(str,'png')) {return true}
  else {return false}  
}

function isGIF(str) {
  if (isExtention(str,'gif')) {return true}
  else {return false}  
}

function isInt(number) {
  oneDecimal = false;
  inputStr = number.toString();
  for (var i = 0; i < inputStr.length; i ++) {
	var oneChar = inputStr.charAt(i);
	if ((oneChar < "0") || (oneChar > "9")) {
	  return false;
	}
  }
  return true;
}
