function getKeyPress(evt){
	var key=0;
	
	if(window.event || !evt.which){
		key = evt.keyCode; // for IE, same as window.event.keyCode
	}else if(evt){
		key = evt.which; // for Netscape...
	}
	return key;
}

function onlyNumeric(e){
	var key;
	var varRet=false;
		
	key=getKeyPress(e);
	if (key>=48 && key<=57){
		varRet=true;
	}
	return varRet;
}

function onlyFloat(e){
	var key;
	var varRet=false;
		
	key=getKeyPress(e);
	if ((key>=48 && key<=57) || key==46){
		varRet=true;
	}
	return varRet;
}

function onlyDate(e){
	var key;
	var varRet=false;
		
	key=getKeyPress(e);
	if ((key>=48 && key<=57) || key==47 || key==45){
		varRet=true;
	}
	return varRet;
}

function isValidDate(date2check){
  // determines if the date string passed represents a valid date.
  // returns 0 if the date is valid
  // returns 1 if the date is not in the format of mm/dd/ccyy, mm-dd-ccyy, or mmddccyy
  //      m/d/ccyy & m-d-ccyy are also acceptable
  // returns 2 if the date is not a legal date (i.e. 02/30/1999)
  
  var retval = 0;
  var aMMDDCCYY;
  var dtest;
  
  // use a regular expression pattern match to determine if the date format is valid
  if (/^(\d\d?-\d\d?-\d{4})|(\d\d?\/\d\d?\/\d{4})|(\d{8})$/.test(date2check)){
    dtest = new Date(date2check);
    if (/\//.test(date2check)){
      aMMDDCCYY = date2check.split("/");
    }else{
      if (/-/.test(date2check)){
        aMMDDCCYY = date2check.split("-");
      }else{
        aMMDDCCYY = Array(date2check.substr(0,2), date2check.substr(2,2), date2check.substr(4,4));
        dtest = new Date(aMMDDCCYY[0] + "/" + aMMDDCCYY[1] + "/" + aMMDDCCYY[2]);
      }
    }
    if (dtest.getMonth() + 1 != aMMDDCCYY[0] || dtest.getDate() != aMMDDCCYY[1] || dtest.getFullYear() != aMMDDCCYY[2]){
		retval = 2;
		alert('You Must Enter A Valid Date!\nPlease Try Again.');
    }
  }else{
		retval = 1;
		alert('Please Change Your Date Format.\nPlease Try Again.');
  }
  return retval;
}

function isChecked(object) {
    if (object.checked) return true;
    else return false;
}

function ValidateEmail(txtEmail){
	var at_count=0;
	var dot_count=0;
	var temp=0;
	var mail;
	var ok=false;
	var at_pos;
	var dot_pos;
	var domain;
	var count;
	var dom;
	var error;
	var k;
			
	dom=new Array("au","com","net","org","edu","in","mil","gov","arpa","biz","aero","name","coop","info","pro","museum");
	mail=txtEmail.value;
	if(mail==""){
		alert("Please enter e-mail address.");
		txtEmail.focus();
	}else{
		at_pos=mail.indexOf("@");
		dot_pos=mail.indexOf(".");
		if(at_pos<1 || dot_pos<1){
			alert("Please check position of '@' and '.' in email address.");
			txtEmail.focus();
		}else{
			condition="yes";
			for(var i=0;i<mail.length;i++){
				if((mail.charCodeAt(i)>0 && mail.charCodeAt(i)<48)||(mail.charCodeAt(i)>57 && mail.charCodeAt(i)<65)||(mail.charCodeAt(i)>91 && mail.charCodeAt(i)<97)||mail.charCodeAt(i)>122){
					if(mail.charAt(i)=="@"||mail.charAt(i)=="."){
							if(mail.charAt(i)=="@"){
								at_count++;
							}else{
								dot_count++;
							} // counts the no. of times @ and . appears in email
							if(dot_count>=1){
								dot_pos=i;
								if((dot_pos>at_pos) && temp==0){
									pos=dot_pos-at_pos;
									temp++;
								}					
							}
					}else{
						if(mail.charAt(i)!="_"){
							condition="no";
							i=mail.length;
						}
					}
				}
			}
			if(condition=="no"){
				alert("Your email contains a blank space or special character.");
				txtEmail.focus();
			}else{
				if(at_count>1){
					alert("E-mail contains extra @ ");
					txtEmail.focus();
				}else{
					if(pos<2){
						alert("Missing domain name between '@' and '.'");
						txtEmail.focus();
						ok=false;
						i=mail.length;
					}else{	
						count=dot_pos+1;
						domain="";
						for(count;count<mail.length;count++){
							domain=domain+mail.charAt(count);		
						}
						error="yes";
						for(var k=0;k<dom.length;k++){
							if(domain==dom[k]){
								k=dom.length;
								error="no";
							}
						}
						if((error=="yes" && (domain.length>2)) || (domain.length<2)){
							alert("Domain name must end with well known domains \n or 2-lettered country name. eg com,edu,in etc.");
							txtEmail.focus();
						}else{
							ok=true;
						}
					}
				}
			}
		}
	}
	return ok;
}

function validEmail(email){
    var re = new RegExp();
    re = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
    if (!re.test(email)){
		alert('Please Enter A Valid Email Address. Please Try Again.');
		return false;
	}else{
		return true;
	}
}
