// JavaScript Document

function is_number()
{

		if ((event.keyCode >=48 && event.keyCode <= 57) || event.keyCode == 8 )
				event.keyCode=event.keyCode;
		else
				event.keyCode=0;	
	
}
function floatOnkeypress()
{
		if ((event.keyCode >=48 && event.keyCode <= 57) || event.keyCode == 8 || event.keyCode == 46)
				event.keyCode=event.keyCode;
		else
				event.keyCode=0;	
}	
function is_date(objDate)
 {
	//Date Variable, get the Value from Object
	var strDate = new String(objDate.value);

	//Change the Delimeter i.e. / Or - 
	var strDateDelimeter = "/";
	// No. of Delimeter found
	var countDelimeter = 0;
	
	//Loop Variable
	var i = 0;
	var j = 0;
	
	//Flag variables
	var flgDay   = false;
	var flgMonth = false;
	
	var flgMonthFormat = -1;
	
	var curYear ;
		
	//Array for Holding Day for Months
	var arrDays    = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
	//String Array for Months
	var arrSMonths = new Array("01","02","03","04","05","06","07","08","09","10","11","12"); 
	var arrIMonths = new Array(1,2,3,4,5,6,7,8,9,10,11,12);
	
	var arrValues;
	var cntNoDays;
			
	//When Compulsory

		
	//When Date Exists
	if(strDate != "")
	{
		//Split the Date into Parts i.e day,month and year
		arrValues = strDate.split(strDateDelimeter);

		if(arrValues.length == 1)
		{
			strDateDelimeter = "-";
			arrValues = strDate.split(strDateDelimeter);
		}	
	
		if(arrValues.length!=3)
		{
			alert("Invalid Date ");
			objDate.select();
			objDate.focus();
			return false;
		}
		
		//Check for Year
		if(arrValues[0].length==2 || arrValues[0].length==4)
		{
			flgDay=false;
			for(i=0;i<arrValues[0].length;i++)
			{
				if(arrValues[0].substring(i,1)>="0" && arrValues[0].substring(i,1)<="9")
				{
					flgDay = true;
				}
			}
				
			if(flgDay==false)
			{
				objDate.select();
				alert("Invalid Year ");
				objDate.focus();
				return false;	
			}	
		}
		else
		{
				alert("Invalid Year ");
				objDate.select();
				objDate.focus();
				return false;	
		}
	
		//Two Digited Year
		//Turn On Century
		if(arrValues[0].length==2)
		{  
		  if (arrValues[0]<50)
			curYear = "20" + arrValues[0];
		  else
		     curYear="19"+arrValues[0];
		}     
	
		else
		  curYear = arrValues[0];

		//if(curYear > new Date().getFullYear())
		//{
			//alert("Year cannot exceed " + new Date().getFullYear());
			//objDate.focus();
			//objDate.select();
			//return false;
		//}
		//Check the Month
		//Ensure that given month lies between 1 and 12
		//	alert(arrValues[1]);
	
		for(i=0;i<arrIMonths.length;i++)
		{
			if(parseInt(arrValues[1],10)==parseInt(arrIMonths[i],10))
			{
				flgMonth  = true;
				cntNoDays = arrDays[i];			
				flgMonthFormat = i;
				if(curYear%4==0 || curYear%100==0)
					cntNoDays++;
						
				break;	
			}
		}
	
		//Probably  Check, whether user has type 3-char date i.e jan etc.
		if(flgMonth==false)
		{
			for(i=0;i<arrIMonths.length;i++)
			{
				if(arrValues[1].toLowerCase()==arrSMonths[i])
				{
					flgMonth  = true;
					cntNoDays = arrDays[i];			
					if(curYear%4==0 || curYear%100==0)
						cntNoDays++;
							
					break;	
				}
			}
		}
	
		if(flgMonth==false)
		{
			alert("Invalid Month ");
			objDate.focus();
			objDate.select();
			return false;
		}
	
		//Check for Valid No. of Days for the specified month
		if(arrValues[2].length>2)
		{
			alert("Invalid Day ");
			objDate.focus();
			objDate.select();
			return false;
		}
	
		flgDay=false;
		for(i=0;i<arrValues[2].length;i++)
		{
			if(arrValues[2].substring(i,1)>="0" && arrValues[2].substring(i,1)<="9")
			{
				flgDay = true;
			}
		}
	
	
		if((flgDay==false) || parseInt(arrValues[2],10) > cntNoDays)
		{
			alert("Invalid No. of Days ");
			objDate.focus();
			return false;
		}
	
		if(flgMonthFormat>=0)
			arrValues[1] = arrSMonths[flgMonthFormat];
				
//		objDate.value= arrValues.join("/");
	
	}
 }

function CompareDates(oDate1,oDate2)
	{
		
		var pDate1 = oDate1.value;
		var pDate2 = oDate2.value;
		
		var vD1 = new String(pDate1);
		var vD2 = new String(pDate2);
		
		var flgDGt = false;
		var flgMGt = false;
		var flgYGt = false;
		
		var monPos1 = 0;
		var monPos2 = 0;
				
		var arrD1 = vD1.split("/");
		var arrD2 = vD2.split("/");
		
		var pD1 = arrD1[2];
		var pM1 = arrD1[1];
		var pY1 = arrD1[0];

		var pD2 = arrD2[2];
		var pM2 = arrD2[1];
		var pY2 = arrD2[0];
		
		var i;
		
		var monArr = new Array("01","02","03","04","05","06","07","08","09","10","11","12");
		
		if (parseInt(pY1,10) < parseInt(pY2,10))			return true;
		if (parseInt(pY1,10) > parseInt(pY2,10)) 
		{
			alert("From date should be less than To Date");
			oDate1.focus();
			oDate1.select();
			return false;
		}		
		monPos1 = 0;		
		//alert(pM1.toUpperCase()+" "+pM2.toUpperCase());
		for(i=0;i<=11;i++)
		  {
			if(pM1.toUpperCase() == monArr[i])
				{
				 	monPos1 = i+1;
					break;
				}
		  }					
		
		monPos2 = 0;		
		for(i=0;i<=11;i++)
		  {
			if(pM2.toUpperCase() == monArr[i])
				{
					monPos2 = i+1;
					break;
				}
		  }					
		
		//alert (monPos1+' ' +monPos2);
		if (parseInt(monPos1,10)<parseInt(monPos2,10)) 			return true;
		if (parseInt(monPos1,10)>parseInt(monPos2,10)) 			
		{
			alert("From date should be less than To Date");
			oDate1.focus();
			oDate1.select();
			return false;
		}
		
//		alert(pD1);
//		alert(pD2);
		
//		alert(parseInt(pD1));
//		alert(parseInt(pD2));
//		alert(parseInt("08"));
		
		if(parseInt(pD1,10) <= parseInt(pD2,10)) 		
			return true;
		else
		{
			alert("From date should be less than To Date");
			oDate1.focus();
			oDate1.select();
			return false;
		}
	}

function isEmail (s)
{   if (isEmpty(s))
       if (isEmail.arguments.length == 1) return defaultEmptyOK;
       else return (isEmail.arguments[1] == true);

    if (isWhitespace(s)) return false;
    if (!isvalidEmailChar(s)) return false;

    atOffset = s.lastIndexOf('@');

    if ( atOffset < 1 )
        return false;
    else {
 	dotOffset = s.indexOf('.', atOffset);

      if ( dotOffset < atOffset + 2 ||
         dotOffset > s.length - 2 ) {
         return false;
      }
   }
   return true;
}

function CompareExpireDate(oDate1,oDate2)
	{
		
		var pDate1 = oDate1.value;
		var pDate2 = oDate2.value;
		
		var vD1 = new String(pDate1);
		var vD2 = new String(pDate2);
		
		var flgDGt = false;
		var flgMGt = false;
		var flgYGt = false;
		
		var monPos1 = 0;
		var monPos2 = 0;
				
		var arrD1 = vD1.split("-");
		var arrD2 = vD2.split("-");
		
		var pD1 = arrD1[2];
		var pM1 = arrD1[1];
		var pY1 = arrD1[0];

		var pD2 = arrD2[2];
		var pM2 = arrD2[1];
		var pY2 = arrD2[0];
		
		var i;
		
		var monArr = new Array("01","02","03","04","05","06","07","08","09","10","11","12");
		
		if (parseInt(pY1,10) < parseInt(pY2,10))			return true;
		if (parseInt(pY1,10) > parseInt(pY2,10)) 
		{
			alert("Expire date should be greater than Current Date");
			oDate1.focus();
			oDate1.select();
			return false;
		}
		
		monPos1 = 0;		
		//alert(pM1.toUpperCase()+" "+pM2.toUpperCase());
		for(i=0;i<=11;i++)
		  {
			if(pM1.toUpperCase() == monArr[i])
				{
				 	monPos1 = i+1;
					break;
				}
		  }					
		
		monPos2 = 0;		
		for(i=0;i<=11;i++)
		  {
			if(pM2.toUpperCase() == monArr[i])
				{
					monPos2 = i+1;
					break;
				}
		  }					
		
		//alert (monPos1+' ' +monPos2);
		if (parseInt(monPos1,10)<parseInt(monPos2,10)) 			return true;
		if (parseInt(monPos1,10)>parseInt(monPos2,10)) 			
		{
			alert("Expire date should be greater than Current Date");
			oDate1.focus();
			oDate1.select();
			return false;
		}
		
//		alert(pD1);
//		alert(pD2);
		
//		alert(parseInt(pD1));
//		alert(parseInt(pD2));
//		alert(parseInt("08"));
		
		if(parseInt(pD1,10) <= parseInt(pD2,10)) 		
			return true;
		else
		{
			alert("Expire date should be greater than Current Date");
			oDate1.focus();
			oDate1.select();
			return false;
		}
	}
function pincode() 
{
	if ((event.keyCode >=48 && event.keyCode <= 57) ||  event.keyCode == 8 )
			event.keyCode=event.keyCode;
	else
			event.keyCode=0;	
				

}
function isFloat(objFloat)
{
					
					if (isNaN(objFloat.value) == true)
					{
						alert ("Please Enter Valid Number");
						objFloat.select();
						objFloat.focus();
						return false;
					}
						return true;					
}	
function floatOnkeypress()
{
		if ((event.keyCode >=48 && event.keyCode <= 57) || event.keyCode == 8 || event.keyCode == 46)
				event.keyCode=event.keyCode;
		else
				event.keyCode=0;	
}




<!-- Original:  Sandeep V. Tamhankar (stamhankar@hotmail.com) -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

<!-- Begin
function emailCheck_1(emailStr) 
{


// checks if the e-mail address is valid
var emailPat = /^(\".*\"|[A-Za-z]\w*)@(\[\d{1,3}(\.\d{1,3}){3}]|[A-Za-z]\w*(\.[A-Za-z]\w*)+)$/;
var matchArray = emailStr.match(emailPat);
if (matchArray == null) {
alert("Your email address seems incorrect.  Please try again (check the '@' and '.'s in the email address)");
return false;
}
// make sure the IP address domain is valid
var IPArray = matchArray[2].match(/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/);
if (IPArray != null) {
for (var i=1;i<=4;i++) {
if (IPArray[i]>255) {
alert("Destination IP address is invalid!")
return false;
      }
   }
}
return true;
}
//  End -->


function Trim(strInput) {
    /* Check to see if the length of the input string is zero. */
    if(strInput.length == 0) {
        /* If the length is zero, return a zero length sting. */
        return "";
    }
    else {
        /* If the length is greater than zero, find out what the
           last character in the string is */
        strTemp = strInput.substring(strInput.length - 1)
    }

    /* If the last character is a space, trim it from the string */
    while (strTemp == " ") {
        /* Set the input string equal to the input sting, minus the last charater */
        strInput = strInput.substring(0, strInput.length - 1)

        /* Check to see if the string has a zero length again. */
        if (strInput.length == 0) {
            /* If the length is zero, return a zero length sting. */
            strTemp = "";
        }
        else {
            /* If the length is greater than zero, find out what the
               last character in the string is */
            strTemp = strInput.substring(strInput.length - 1)
        }
    }
	
    /* Do the same thing, but for the beginning of the string */
    if (strInput.length == 0) {
        strTemp = "";
    }
    else {
        strTemp = strInput.substring(0, 1)
    }
		
    while (strTemp == " ") {
        strInput = strInput.substring(1)
			
        if (strInput.length == 0) {
            strTemp = "";
        }
        else {
            strTemp = strInput.substring(0, 1)
        }
    }
    return strInput;
}


<!-- Begin

function emailCheck(addr) {

var man,db;
man = 1;
db = 1;
addr = Trim(addr);

if (addr == '' && man) 
{

			if (db) alert('email address is mandatory');
			return false;
			}

			var invalidChars = '\/\'\\ ";:?!()[]\{\}^|';

			for (i=0; i<invalidChars.length; i++) {
			if (addr.indexOf(invalidChars.charAt(i),0) > -1) {
				if (db) alert('email address contains invalid characters');
				return false;
			}
			}
			for (i=0; i<addr.length; i++) {
			if (addr.charCodeAt(i)>127) {
				if (db) alert("email address contains non ascii characters.");
				return false;
			}
			}

			var atPos = addr.indexOf('@',0);
			if (atPos == -1) {
			if (db) alert('email address must contain an @');
			return false;
			}
			if (atPos == 0) {
			if (db) alert('email address must not start with @');
			return false;
			}
			if (addr.indexOf('@', atPos + 1) > - 1) {
			if (db) alert('email address must contain only one @');
			return false;
			}
			if (addr.indexOf('.', atPos) == -1) {
			if (db) alert('email address must contain a period in the domain name');
			return false;
			}
			if (addr.indexOf('@.',0) != -1) {
			if (db) alert('period must not immediately follow @ in email address');
			return false;
			}
			if (addr.indexOf('.@',0) != -1){
			if (db) alert('period must not immediately precede @ in email address');
			return false;
			}
			if (addr.indexOf('..',0) != -1) {
			if (db) alert('two periods must not be adjacent in email address');
			return false;
			}
			var suffix = addr.substring(addr.lastIndexOf('.')+1);
			if (suffix.length != 2 && suffix != 'com' && suffix != 'net' && suffix != 'org' && suffix != 'edu' && suffix != 'int' && suffix != 'mil' && suffix != 'gov' & suffix != 'arpa' && suffix != 'biz' && suffix != 'aero' && suffix != 'name' && suffix != 'coop' && suffix != 'info' && suffix != 'pro' && suffix != 'museum') {
			if (db) alert('invalid primary domain in email address');
			return false;
			}
			return true;
}

