function isLong(n,x,y) {
   return (n.length >= x) && (n.length <= y);
}
function isEmpty(t) {
   return (t == "");
}
function isNum(n) {
   return (n.search(/[^0-9]/) == -1);
}
function isId(t) {
   return (t.search(/[^a-z_0-9]/i) == -1);
}
function isText(t) {
   return (t.search(/[a-z0-9]/i) != -1);
}
function isEmail(t) {
   return (t.search(/.+@.+\..+/i) != -1)
}
function cleanNumber(c) {
  temp="";
  for (i=c.value.length-1; i>=0;i--) {
    ch = c.value.charAt(i);
    if (ch>='0' && ch<='9')
	  temp=ch + temp;
    else if (temp.length<=2 && (ch==',' || ch=='.'))
      temp="";
  }
  c.value = temp;  
  return true;
}
function cleanID(c) {
  c.value.replace(/[^0-9a-z_]/ig,"");
  return true;
}
function filterNumber(e) {
	if(e.keyCode != null) {
	    if(((e.keyCode >= 48) && (e.keyCode  < 58)) || (e.keyCode < 32) || (e.keyCode == 127)) //digits for MSIE + special symbols
	 		return e;
		else 
			return false;
	} else if (e.which != null) {
  	    if(((e.which >= 48) && (e.which  < 58)) || (e.which < 32) || (e.which == 127))    //digits for Netscape
	 		return e;
		else 
			return false;
	} else {
		return true;
	}
}
function filterID(e) {
	if(e.keyCode != null) { //MSIE
	    if( ((e.keyCode >= 48) && (e.keyCode < 58)) || //digits
			((e.keyCode >= 65) && (e.keyCode < 91)) || //capital letters
			((e.keyCode >= 97) && (e.keyCode < 123)) || //small letters
			 (e.keyCode == 95) || (e.keyCode < 32) || (e.keyCode == 127))// underscore + special symbols
	 		return e;
		else 
			return false;
	} else if (e.which != null) { //Netscape
	    if( ((e.which >= 48) && (e.which < 58)) ||  //digits 
			((e.which >= 65) && (e.which < 91)) || //capital letters
			((e.which >= 97) && (e.which < 123)) || //small letters
			 (e.which == 95) || (e.which < 32) || (e.which == 127))// underscore + special symbols
	 		return e;
		else 
			return false;
	} else {
		return true;
	}
}
function checkLogin(c) {
	if(isEmpty(c.value) || !isId(c.value)) {
       alert('Please, input correct Login!');
       c.select();
       c.focus();
       return false;
	} 
	return true;
}
function checkPassword(c) {
	if(isEmpty(c.value) || !isId(c.value)) {
       alert('Please, input correct Password')
       c.select();
       c.focus();
       return false;
	}
	return true;
}

function checkName(c, fieldName) {
	if(isEmpty(c.value) || !isText(c.value)) {
       alert('Field ' + fieldName + ' is required!');
       c.select();
       c.focus();
       return false;
	} 
	return true;
}

function checkEmail(c) {
	if(isEmpty(c.value) || !isEmail(c.value)) {
       alert('Please, input correct Email!')
       c.select();
       c.focus();
       return false;
	}
	return true;
}
function checkPasswordMatch(c1,c2) {
	if(c1.value != c2.value) {
       alert('Sorry, your re-password didn\'t match with your password!\nPlease input correct Passwords!');
       c2.select();
       c2.focus();
       return false;
	}
	return true;
}
function checkRNum(c,message) {
    if (isEmpty(c.value) || !isNum(c.value)) {
	    alert(message);
    	c.select();
	    c.focus();
    	return false;
	}
	return true;
}
function checkNum(c,message) {
    if (!isEmpty(c.value) && !isNum(c.value)) {
	    alert(message);
    	c.select();
	    c.focus();
    	return false;
	}
	return true;
}
function checkRT(c,message,mn,mx) {
    if (isEmpty(c.value) || !isText(c.value) || !isLong(c.value,mn,mx)) {
	    alert(message);
    	c.select();
	    c.focus();
    	return false;
	}
	return true;
}

function checkRadio(c, msg) {
  for (i = 0; i<c.length; i++)
    if (c[i].checked) return true;
  alert(msg);
  c[0].select();
  c[0].focus();
	return false;
}

function checkCombo(obj, fieldName)
{
  if (obj.options[obj.selectedIndex].value != "")
   return true;
  else
  {
    alert('Field ' + fieldName + ' is required!');
    obj.focus();
    return false;
  }
}

function DisplayError( obj, action, txt, dis )
{
  if (dis)
  {
    if (!action)
    {
      alert(txt);
      obj.focus();
      return false;
    }
    return true;
 }
 return false;
}

function verifyDate(d, m, year)
{
 var days=0;
  if (isEmpty(d) || !isNum(d)) return false;
  if (isEmpty(m) || !isNum(m)) return false;
  if (isEmpty(year) || !isNum(year)) return false;
 if ( m > 12) return false;
 if (year.length < 4 ) return false;
 if (m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12) {
  days = 31;
 }
 else{
  days = 30;
 }              
 
 if (m == 2) 
  if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)
   days = 29;
  else 
   days = 28;

 if ((d > 0 )&&(d > days))
  return false;
 else
  return true; 
}

function isValidDate( str )
{
 var d = new String(str), ok;
   
  date_string = d.split("/");
  if (date_string.length != 3) {
   return false;
  }
  else{
   ok = verifyDate(date_string[1],date_string[0],date_string[2]);
  }
 return ok;
}
