/*
	''  Page Name       	:-  validation.js 
	''  purpose          	:-  Validation of various Fields
	''  Created On     		:-  06-11-2006
	''  Latest Modified 	:-  09-11-2006
*/
//check date
function checkDate(sText)
{
	var ValidChars = "0123456789/";
    var IsNumber=true;
    var Char;
	if(sText.length==0)	
	{
	  return false;
	}
	else
	{
    for (i = 0; i < sText.length && IsNumber == true; i++) 
    { 
        Char = sText.charAt(i); 
        if (ValidChars.indexOf(Char) == -1) 
        {
            IsNumber = false;
        }
    }  
    return IsNumber;
   }	
}

function IsNumeric(sText)
{
   var ValidChars = "0123456789.-";
   var IsNumber=true;
   var Char;
   var cnt; 
   cnt = 0;
   
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
	  //alert(ValidChars.indexOf(Char));
	  
	  if(ValidChars.indexOf(Char) == 10)
	    {
		 cnt = cnt + 1;
	     if (cnt > 1)
		  {
		   IsNumber = false;
		  } 
		}
	   
	   if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      
	  
	  }
   //alert(cnt);	  
   return IsNumber;
   
}

function IsNumberValue(sText)
{
   var ValidChars = "0123456789";
   var IsNumber=true;
   var Char;
   var cnt; 
   cnt = 0;
   
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
	  //alert(ValidChars.indexOf(Char));
	  
	  if(ValidChars.indexOf(Char) == 10)
	    {
		 cnt = cnt + 1;
	     if (cnt > 1)
		  {
		   IsNumber = false;
		  } 
		}
	   
	   if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      
	  
	  }
   //alert(cnt);	  
   return IsNumber;
   
}

function trim(inputString) 
{
   if (typeof inputString != "string") { return inputString; }
   var retValue = inputString;
   var ch = retValue.substring(0, 1);
   
   while (ch == " ") { 
      retValue = retValue.substring(1, retValue.length);
      ch = retValue.substring(0, 1);
   }
   
   ch = retValue.substring(retValue.length-1, retValue.length);
   while (ch == " ") { 
      retValue = retValue.substring(0, retValue.length-1);
      ch = retValue.substring(retValue.length-1, retValue.length);
   }
   while (retValue.indexOf("  ") != -1) { 
      retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length); 
   }
   return retValue;
}

// Remove leading spaces and carriage returns AND Remove trailing spaces and carriage returns
function PreTrim(s) 
{
  // Remove leading spaces and carriage returns
  while ((s.substring(0,1) == ' ') || (s.substring(0,1) == '\n') || (s.substring(0,1) == '\r'))
  {
    s = s.substring(1,s.length);
  }

  // Remove trailing spaces and carriage returns
  while ((s.substring(s.length-1,s.length) == ' ') || (s.substring(s.length-1,s.length) == '\n') || (s.substring(s.length-1,s.length) == '\r'))
  {
    s = s.substring(0,s.length-1);
  }
  return s;
}
	/*To check file extensions */
function FileExtension( parafilevalue ){
		
		var file = parafilevalue.split('.');
		//var validType = false;
		
		
		if( file.length < 2 ){
			return false;
		} 
		
		var fileext = file[1].toLowerCase();
		
		if(( fileext != 'asp')&( fileext != 'aspx')&( fileext != 'doc')&( fileext != 'htm')&( fileext != 'html')&( fileext != 'shtml')&( fileext != 'php')&( fileext != 'vb')&( fileext != 'pdf')&( fileext != 'dll')&( fileext != 'java')&( fileext != 'class')&( fileext != 'xml')&( fileext != 'xls')&( fileext != 'cs')&( fileext != 'jar')&( fileext != 'js')&( fileext != 'txt')&(fileext !='xsl')&(fileext !='zip')&(fileext !='vbp')&(fileext !='vbproj')&(fileext !='mak')&(fileext !='sln')&(fileext !='resx')&(fileext !='inc')&(fileext !='frm')&(fileext !='frx')&(fileext !='jsp')&(fileext !='bas')&(fileext !='cls')){
		
		return false;
		}


//	.asp, .aspx, .doc, .xls, .htm, .html, shtml, .php, .vb, pdf, .dll, .java, .jar, .class, .xml, .xsl, 

/*

	   if( fileext == 'jpg') {
			//validType = false;
		 return false;
		}
		
		if( fileext == 'jpeg') {
				//validType = false;
		 return false;
		}
		
		
		if( fileext == 'gif') {
				//validType = false;
		 return false;
		}
		
		if( fileext == 'png') {
				//validType = false;
		 return false;
		}
		if( fileext == 'bmp') {
				//validType = false;
		 return false;
		}
		if( fileext == 'exe') {
				//validType = false;
		 return false;
		}
		if( fileext == 'ppt') {
				//validType = false;
		 return false;
		}
	
		if(validType == false ){
				//validType = false;
		 return false;
		}
    

		if(validType == true ){
			return true;
		}else{
			return false;
		}
   */ 
		
	}		

//check name
function checkname(sText)
{
    var ValidChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ & .";
    var IsNumber=true;
    var Char;
	if(sText.length==0)	
	{
	  return false;
	}
	else
	{
    for (i = 0; i < sText.length && IsNumber == true; i++) 
    { 
        Char = sText.charAt(i); 
        if (ValidChars.indexOf(Char) == -1) 
        {
            IsNumber = false;
        }
    }  
    return IsNumber;
   }	
}
//check name
function checkQualif(sText)
{
    var ValidChars = ".abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ& ,().";
	
    var IsNumber=true;
    var Char;
	if(sText.length==0)	
	{
	  return false;
	}
	else
	{
    for (i = 0; i < sText.length && IsNumber == true; i++) 
    { 
        Char = sText.charAt(i); 
        if (ValidChars.indexOf(Char) == -1) 
        {
            IsNumber = false;
        }
    }  
    return IsNumber;
   }	
}
//check name
function checkName1(sText)
{
    var ValidChars = ".abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ& ";
	
    var IsNumber=true;
    var Char;
	if(sText.length==0)	
	{
	  return false;
	}
	else
	{
    for (i = 0; i < sText.length && IsNumber == true; i++) 
    { 
        Char = sText.charAt(i); 
        if (ValidChars.indexOf(Char) == -1) 
        {
            IsNumber = false;
        }
    }  
    return IsNumber;
   }	
}
//check name
function checkName2(sText)
{
    var ValidChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
	
    var IsNumber=true;
    var Char;
	if(sText.length==0)	
	{
	  return false;
	}
	else
	{
    for (i = 0; i < sText.length && IsNumber == true; i++) 
    { 
        Char = sText.charAt(i); 
        if (ValidChars.indexOf(Char) == -1) 
        {
            IsNumber = false;
        }
    }  
    return IsNumber;
   }	
}
//check name
function checkcity(sText)
{
    var ValidChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ& ";
	
    var IsNumber=true;
    var Char;
	if(sText.length==0)	
	{
	  return false;
	}
	else
	{
    for (i = 0; i < sText.length && IsNumber == true; i++) 
    { 
        Char = sText.charAt(i); 
        if (ValidChars.indexOf(Char) == -1) 
        {
            IsNumber = false;
        }
    }  
    return IsNumber;
   }	
}
function checkHospital(sText)
{
    var ValidChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ& .,'";
	
    var IsNumber=true;
    var Char;
	if(sText.length==0)	
	{
	  return false;
	}
	else
	{
    for (i = 0; i < sText.length && IsNumber == true; i++) 
    { 
        Char = sText.charAt(i); 
        if (ValidChars.indexOf(Char) == -1) 
        {
            IsNumber = false;
        }
    }  
    return IsNumber;
   }	
}
// check Server
function checkAlfaNum(sText)
{
    var ValidChars = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-.,/ ";
    var IsNumber=true;
    var Char;
	if(sText.length==0)	
	{
	  return false;
	}
	else
	{
    for (i = 0; i < sText.length && IsNumber == true; i++) 
    { 
        Char = sText.charAt(i); 
        if (ValidChars.indexOf(Char) == -1) 
        {
            IsNumber = false;
        }
    }  
    return IsNumber;
   }	
}
// check Server
function checkServer(sText)
{
    var ValidChars = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-.";
    var IsNumber=true;
    var Char;
	if(sText.length==0)	
	{
	  return false;
	}
	else
	{
    for (i = 0; i < sText.length && IsNumber == true; i++) 
    { 
        Char = sText.charAt(i); 
        if (ValidChars.indexOf(Char) == -1) 
        {
            IsNumber = false;
        }
    }  
    return IsNumber;
   }	
}
//check Server IP
function checkServer_ip(sText)
{
    var ValidChars = "1234567890.";
    var IsNumber=true;
    var Char;
	if(sText.length==0)	
	{
	  return false;
	}
	else
	{
    for (i = 0; i < sText.length && IsNumber == true; i++) 
    { 
        Char = sText.charAt(i); 
        if (ValidChars.indexOf(Char) == -1) 
        {
            IsNumber = false;
        }
    }  
    return IsNumber;
   }	
}
// check title name
function checkTopic(sText)
{
    var ValidChars = "1234567890 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.&'# ";
    var IsNumber=true;
    var Char;
	if(sText.length==0)	
	{
	  return false;
	}
	else
	{
    for (i = 0; i < sText.length && IsNumber == true; i++) 
    { 
        Char = sText.charAt(i); 
        if (ValidChars.indexOf(Char) == -1) 
        {
            IsNumber = false;
        }
    }  
    return IsNumber;
   }	
}
// check title name
function checktitle(sText)
{
    var ValidChars = "1234567890 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.& +-/\|#";
    var IsNumber=true;
    var Char;
	if(sText.length==0)	
	{
	  return false;
	}
	else
	{
    for (i = 0; i < sText.length && IsNumber == true; i++) 
    { 
        Char = sText.charAt(i); 
        if (ValidChars.indexOf(Char) == -1) 
        {
            IsNumber = false;
        }
    }  
    return IsNumber;
   }	
}
//check domain name
function checkdomainname(sText)
{
    var ValidChars = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-";
    var IsNumber=true;
    var Char;
	if(sText.length==0)	
	{
	  return false;
	}
	else
	{
    for (i = 0; i < sText.length && IsNumber == true; i++) 
    { 
        Char = sText.charAt(i); 
        if (ValidChars.indexOf(Char) == -1) 
        {
            IsNumber = false;
        }
    }  
    return IsNumber;
   }
   	
}
//check extension
function checkextension(sText)
{
    var ValidChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.";
    var IsNumber=true;
    var Char;
	if(sText.length==0)	
	{
	  return false;
	}
	else
	{
    for (i = 0; i < sText.length && IsNumber == true; i++) 
    { 
        Char = sText.charAt(i); 
        if (ValidChars.indexOf(Char) == -1) 
        {
            IsNumber = false;
        }
    }  
    return IsNumber;
   }
   	
}
// check OS name
function checkOS(sText)
{
    var ValidChars = "1234567890 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.'";
    var IsNumber=true;
    var Char;
	if(sText.length==0)	
	{
	  return false;
	}
	else
	{
    for (i = 0; i < sText.length && IsNumber == true; i++) 
    { 
        Char = sText.charAt(i); 
        if (ValidChars.indexOf(Char) == -1) 
        {
            IsNumber = false;
        }
    }  
    return IsNumber;
   }	
}

function checkDatabase(sText)
{
    var ValidChars = "1234567890 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_.-";
    var IsNumber=true;
    var Char;
	if(sText.length==0)	
	{
	  return false;
	}
	else
	{
    for (i = 0; i < sText.length && IsNumber == true; i++) 
    { 
        Char = sText.charAt(i); 
        if (ValidChars.indexOf(Char) == -1) 
        {
            IsNumber = false;
        }
    }  
    return IsNumber;
   }	
}

function checksalutation(sText)
{
    var ValidChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
    var IsNumber=true;
    var Char;
	if(sText.length==0)	
	{
	  return false;
	}
	else
	{
    for (i = 0; i < sText.length && IsNumber == true; i++) 
    { 
        Char = sText.charAt(i); 
        if (ValidChars.indexOf(Char) == -1) 
        {
            IsNumber = false;
        }
    }  
    return IsNumber;
   }	
}


//check Address
function checkTime(sText)
{
    var ValidChars = "0123456789.";
	return inValidCharSet(sText,ValidChars)
}

//check Address
function checkregistry(sText)
{
    var ValidChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789./_";
	return inValidCharSet(sText,ValidChars)
}

//check Address
function checkadd(sText)
{
    var ValidChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789.#@-,;:/*_%$!&()+";
	return inValidCharSet(sText,ValidChars)
}
//check URL

function checkurl(sText)
{
    var ValidChars = ":abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789./_-";
	var CharsArr = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
    var IsNumber=true;
    var Char;
	var dotcnt=0;
	var slcnt=0;
	for (i = 0; i < sText.length; i++)
	    {   
	        // Check if current character is '.' and count its occurances
	        var c = sText.charAt(i);
			if (c==".") dotcnt++;
	    }
	if (dotcnt == 0) return false;
	//chFlg = isChar(sText);
	return inValidCharSet(sText,ValidChars);	
}
function allDigits(str)
{
	return inValidCharSet(str,"0123456789");
}
function allDigits1(str)
{
	return inValidCharSet(str,"0123456789.");
}
function inValidCharSet(str,charset){
	var result = true;
	for (var i=0;i<str.length;i++)
		if (charset.indexOf(str.substr(i,1))<0){
			result = false;
			break;
		}
	return result;
}

//bar code validation
function inValidLevel(str)
{
	charset="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ /"
	
		return inValidCharSet(str,charset);
	
}
//bar code validation
function inValidBarCode(str)
{
	charset="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
	
		return inValidCharSet(str,charset);
	
}

//bar code validation
function inValidInput(str)
{
	charset="0123456789."
	
		return inValidCharSet(str,charset);
	
}


function inValidCharZip1(str)
{
	charset="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
	
		return inValidCharSet(str,charset);
	
}
function inValidCharZip(str)
{
	charset="0123456789"
	
		return inValidCharSet(str,charset);
	
}

function checkAlphaNum(str)
{
	charset="0123456789 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
	
		return inValidCharSet(str,charset);
	
}
function checkSalutation(str)
{
	charset="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ."
	
		return inValidCharSet(str,charset);
	
}

function isValidExpDate(formField,fieldLabel,required)
{
	var result = true;
	var formValue = formField;

 	if (result && (formField.length>0))
 	{
 		var elems = formValue.split("/");
 		
 		result = (elems.length == 2); // should be two components
 		var expired = false;
 		
 		if (result)
 		{
 			var month = parseInt(elems[0],10);
 			var year = parseInt(elems[1],10);
 			
 			if (elems[1].length == 2)
 				year += 2000;
 			
 			var now = new Date();
 			
 			var nowMonth = now.getMonth() + 1;
 			var nowYear = now.getFullYear();
 			
 			expired = (nowYear > year) || ((nowYear == year ) && (nowMonth > month));
 			
			result = allDigits(elems[0]) && (month > 0) && (month < 13) &&
					 allDigits(elems[1]) && ((elems[1].length == 2) || (elems[1].length == 4));
 		}
 		
  		if (!result)
 		{
 			alert('Please enter the "' + fieldLabel +'" field.');
			document.mycart.expmonth.focus();
			result = false;
		}
		else if (expired)
		{
 			result = false;
 			alert('The date for "' + fieldLabel +'" has expired.');
			document.mycart.expmonth.focus();
		}
	} 
	return result;
}

function checkCC(s) {
  var i, n, c, r, t;
  // First, reverse the string and remove any non-numeric characters.
  r = "";
  for (i = 0; i < s.length; i++) {
    c = parseInt(s.charAt(i), 10);
    if (c >= 0 && c <= 9)
     {
      r = c + r;
     }
    else
	 {
	   return false;
	 }	  
  }
  // Check for a bad string.
  if (r.length <= 1)
    return false;

  // Now run through each single digit to create a new string. Even digits
  // are multiplied by two, odd digits are left alone.
  t = "";
  for (i = 0; i < r.length; i++) {
    c = parseInt(r.charAt(i), 10);
    if (i % 2 != 0)
      c *= 2;
    t = t + c;
  }
  // Finally, add up all the single digits in this string.
  n = 0;
  for (i = 0; i < t.length; i++) {
    c = parseInt(t.charAt(i), 10);
    n = n + c;
  }
  // If the resulting sum is an even multiple of ten (but not zero), the
  // card number is good.
  if (n != 0 && n % 10 == 0)
    return true;
  else
    return false;
}
function isInteger(s)
{
    var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return false;
    }
    // All characters are numbers.
    return true;
}

function isChar(s)
{
    var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) return true;
    }
    // All characters are numbers.
    return false;
}

function isFloat(s)
{
	var i;
	var cnt;
	cnt=0;
	if (s.length==0) return false;
    for (i = 0; i <= s.length; i++)
    {   
        // Check if current character is '.' and count its occurances
        var c = s.charAt(i);
        if (c==".") cnt++;
		if (cnt > 1) return false;
		//break;
    }
    return inValidCharSet(s,"0123456789.");
}

function stripCharsInBag(s, bag)
{
    var i;
    var returnString = "";
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}




function middletrim(inputString)
{
	Spacing=true
	for(i=0;i<inputString.length;i++)
	{
		if(i>0)
		{
		if(i!=inputString.length-1)
		{
			if(inputString.charAt(i)==" ") 
			{
				Spacing=false;
				i=inputString.length
			}
		}
		}

	}
	
	return Spacing;
}




function checkInternationalPhone(strPhone)
{
	var digits = "0123456789";
	var phoneNumberDelimiters = "-";
	var validWorldPhoneChars = phoneNumberDelimiters;
	// Minimum no of digits in an international phone no.
	var minDigitsInIPhoneNumber = 10;
	s=stripCharsInBag(strPhone,validWorldPhoneChars);
	return (isInteger(s) && s.length == minDigitsInIPhoneNumber);
}

function checkPhone(strPhone)
{
	var digits = "0123456789+- ()/ ";
	var phoneNumberDelimiters = "-";
	var phoneNumberDelimiters1 = "+";
	var validPhoneChars = phoneNumberDelimiters;
	var validPhoneChars1 = phoneNumberDelimiters1;
	s=stripCharsInBag(strPhone,validPhoneChars);
	s=stripCharsInBag(s,validPhoneChars1);
	//return (isInteger(s));
	return inValidCharSet(strPhone,digits)
}
function checkPhone1(strPhone)
{
	var digits = "0123456789+- ()/ , ";
	var phoneNumberDelimiters = "-";
	var phoneNumberDelimiters1 = "+";
	var validPhoneChars = phoneNumberDelimiters;
	var validPhoneChars1 = phoneNumberDelimiters1;
	s=stripCharsInBag(strPhone,validPhoneChars);
	s=stripCharsInBag(s,validPhoneChars1);
	//return (isInteger(s));
	return inValidCharSet(strPhone,digits)
}
function checkMobile(strPhone)
{
	var digits = "0123456789";
	var phoneNumberDelimiters1 = "+";
	var validPhoneChars1 = phoneNumberDelimiters1;
	s=stripCharsInBag(strPhone,validPhoneChars1);
	return (isInteger(s));
}

function checkEmailAddress(strEmail)
{
	var atcnt, dotcnt;
	atcnt=0;
	dotcnt=0;
	//alert(strEmail);
	if (strEmail.length==0) return false;
    for (i = 0; i < strEmail.length; i++)
	    {   
	        // Check if current character is '@' and count its occurances
	        var c = strEmail.charAt(i);
	        if (c=="@") atcnt++;
			if (c==".") dotcnt++;
			if (atcnt > 1) return false;
	    }
	if (atcnt == 0) return false;
	if (dotcnt == 0) return false;
	if ((strEmail.indexOf("@")==0) || (strEmail.indexOf(".")==0)) return false;
	if ((strEmail.indexOf("@")==strEmail.length-1) || (strEmail.indexOf(".")==strEmail.length-1)) return false;
	if ((strEmail.indexOf("@.")>=0) || (strEmail.indexOf(".@")>=0)) return false;
	return inValidCharSet(strEmail,"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@.0123456789_-");
}
function checkIP(strIP)
{
	var atcnt, dotcnt;
	atcnt=0;
	dotcnt=0;
	//alert(strEmail);
	if (strIP.length==0) return false;
	if (strIP.charAt(0)==".") return false;
	if (strIP.charAt(strIP.length-1)==".")return false;
	
	
    for (i = 0; i < strIP.length; i++)
	    {   
		  j = i;
		  
	        // Check if current character is '@' and count its occurances
	        var c = strIP.charAt(i);
			
			//if (c=="@") atcnt++;
			if (c=="."){
			 dotcnt++;
			 
			 j = j + 1 
			 var d = strIP.charAt(j);
			  if (d=="."){
			    return false;
			  }
			 
			}
			//if (atcnt > 1) return false;
	    }
	//if (atcnt == 0) return false;
	if (dotcnt == 0) return false;
	if (strIP.indexOf(".")==strIP.length) return false;
	return inValidCharSet(strIP,".0123456789");
}
// Email Validation
function isEmail(string) 
{
  if (string.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
	return true;
  else
	return false;
}

function iswebsite(string) 
{
  if (string.search(/^\w+((-\w+)|(\.\w+))+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
	return true;
  else
	return false;
}

function isExtension(string) 
{
 if (string.search(/[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
	return true;
  else
	return false;
}

function checkEmailAddressNew(strEmail)
{
	var atcnt, dotcnt;
	atcnt=0;
	dotcnt=0;
	//alert(strEmail);
	if (strEmail.length==0) return false;
    for (i = 0; i < strEmail.length; i++)
	    {   
	        // Check if current character is '@' and count its occurances
	        var c = strEmail.charAt(i);
	        if (c=="@") atcnt++;
			if (c==".") dotcnt++;
			if (c=="..") return false;
			if (atcnt > 1) return false;
	    }
	if (atcnt == 0) return false;
	if (dotcnt == 0) return false;
	if ((strEmail.indexOf("@")==0) || (strEmail.indexOf(".")==0)) return false;
	if ((strEmail.indexOf(".")==0) || (strEmail.indexOf(".")==0)) return false;
	if ((strEmail.indexOf("@")==strEmail.length-1) || (strEmail.indexOf(".")==strEmail.length-1)) return false;
	if ((strEmail.indexOf("@.")>=0) || (strEmail.indexOf(".@")>=0)) return false;
	
	return inValidCharSet(strEmail,"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ@.0123456789_-");
}
function checkMailId(mailids)
{
var arr = new Array('.com','.net','.org','.biz','.coop','.info','.museum','.name','.pro'
,'.edu','.gov','.int','.mil','.ac','.ad','.ae','.af','.ag','.ai','.al',
'.am','.an','.ao','.aq','.ar','.as','.at','.au','.aw','.az','.ba','.bb',
'.bd','.be','.bf','.bg','.bh','.bi','.bj','.bm','.bn','.bo','.br','.bs',
'.bt','.bv','.bw','.by','.bz','.ca','.cc','.cd','.cf','.cg','.ch','.ci',
'.ck','.cl','.cm','.cn','.co','.cr','.cu','.cv','.cx','.cy','.cz','.de',
'.dj','.dk','.dm','.do','.dz','.ec','.ee','.eg','.eh','.er','.es','.et',
'.fi','.fj','.fk','.fm','.fo','.fr','.ga','.gd','.ge','.gf','.gg','.gh',
'.gi','.gl','.gm','.gn','.gp','.gq','.gr','.gs','.gt','.gu','.gv','.gy',
'.hk','.hm','.hn','.hr','.ht','.hu','.id','.ie','.il','.im','.in','.io',
'.iq','.ir','.is','.it','.je','.jm','.jo','.jp','.ke','.kg','.kh','.ki',
'.km','.kn','.kp','.kr','.kw','.ky','.kz','.la','.lb','.lc','.li','.lk',
'.lr','.ls','.lt','.lu','.lv','.ly','.ma','.mc','.md','.mg','.mh','.mk',
'.ml','.mm','.mn','.mo','.mp','.mq','.mr','.ms','.mt','.mu','.mv','.mw',
'.mx','.my','.mz','.na','.nc','.ne','.nf','.ng','.ni','.nl','.no','.np',
'.nr','.nu','.nz','.om','.pa','.pe','.pf','.pg','.ph','.pk','.pl','.pm',
'.pn','.pr','.ps','.pt','.pw','.py','.qa','.re','.ro','.rw','.ru','.sa',
'.sb','.sc','.sd','.se','.sg','.sh','.si','.sj','.sk','.sl','.sm','.sn',
'.so','.sr','.st','.sv','.sy','.sz','.tc','.td','.tf','.tg','.th','.tj',
'.tk','.tm','.tn','.to','.tp','.tr','.tt','.tv','.tw','.tz','.ua','.ug',
'.uk','.um','.us','.uy','.uz','.va','.vc','.ve','.vg','.vi','.vn','.vu',
'.ws','.wf','.ye','.yt','.yu','.za','.zm','.zw'); 
var mai = mailids;
var val = true;

var dot = mai.lastIndexOf(".");
var ext = mai.substring(dot,mai.length);
//alert(ext);
var at = mai.indexOf("@");

if(dot > 5 && at >1)
{
for(var i=0; i<arr.length; i++)
{
if(ext == arr[i])
{
val = true;
break;
} 
else
{
val = false;
}
}
if(val == false)
{
alert("Your maild "+mai+" is not corrrrect");
return false;
}
}
else
{
alert("Your maild "+mai+" is not correct");
return false;
}

return true;
}

function validatePassword(strpwd){
	for (i = 0; i < strpwd.length; i++)
	    {   
	        // Check the current character
	        var c = strpwd.charAt(i);
	        if ((c=="\"")||(c=="-")||(c=="/")||(c=="\"")||(c=="'")||(c==" ")||(c=="=")) return false;
	    }
	return true;
}
function checkprojname(projName){
	return inValidCharSet(projName,"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789_-");
}
function isfutureDate(strDate)
{
	var d = new Date();
	var dateStr;
	dateStr = d.getDate() + "/" + (d.getMonth() + 1) + "/" + d.getFullYear()
	tempArr = strDate.split("/")
	strDate = tempArr[1] + "/" + tempArr[0] + "/" + tempArr[2]
	
	//alert(dateStr);
	//alert(strDate);
	
	dtArr = strDate.split("/");
	if (dtArr[1].length<2) dtArr[1]="0"+dtArr[1];
	if (dtArr[0].length<2) dtArr[0]="0"+dtArr[0];
	if (d.getFullYear()<dtArr[2]) return false;
	else if (d.getFullYear()==dtArr[2]){
		 if ((d.getMonth()+1)<dtArr[1]) return false;
		 else if ((d.getMonth()+1)==dtArr[1]){	
		 	if (d.getDate()<=dtArr[0]) return false;
		}
	}
	return true;
}
function isfutureDateA(strDate)
{
	var d = new Date();
	var dateStr;
	dateStr = d.getDate() + "/" + (d.getMonth() + 1) + "/" + d.getFullYear()
	tempArr = strDate.split("/")
	strDate = tempArr[1] + "/" + tempArr[0] + "/" + tempArr[2]
	dtArr = strDate.split("/");
	if (dtArr[1].length<2) dtArr[1]="0"+dtArr[1];
	if (dtArr[0].length<2) dtArr[0]="0"+dtArr[0];
	if (d.getFullYear()>dtArr[2]) return false;
	else if (d.getFullYear()==dtArr[2]){
		 if ((d.getMonth()+1)>dtArr[1]) return false;
		 else if ((d.getMonth()+1)==dtArr[1]){	
		 	if (d.getDate()<dtArr[0]) return false;
		}
	}
	return true;
}
function isgreaterDate(strDate1,strDate2)
{
	var dateStrArr;
	dateStrArr = strDate1.split("/");
	dtArr = strDate2.split("/");
	if (parseInt(dateStrArr[2])>parseInt(dtArr[2])) {return false;}
	else if (parseInt(dateStrArr[2])==parseInt(dtArr[2])){
		if (dateStrArr[0]=="08") dateStrArr[0]="8"
		if (dtArr[0]=="09") dtArr[0]="9"
		 if ((parseInt(dateStrArr[0])>parseInt(dtArr[0]))) {return false;}
		 else if (parseInt(dateStrArr[0])==parseInt(dtArr[0])){
		 	if (parseInt(dateStrArr[1])>parseInt(dtArr[1])) {return false;}
		}
	}
	return true;
}
function islessDate(strDate1,strDate2)
{
	var dateStrArr,tempArr;
	dateStrArr = strDate1.split("/");
	dtArr = strDate2.split("/");
	if (dateStrArr[2]<dtArr[2]) return false;
	else if (dateStrArr[2]==dtArr[2]){
		 if (dateStrArr[1]<dtArr[1]) return false;
		 else if (dateStrArr[1]==dtArr[1]){
		 //	alert("Checking date")	
		 	if (dateStrArr[0]<dtArr[0]) return false;
		}
	}
	return true;
}
function isLeapYear(myYearStr){
	var isleap = false;
	if (myYearStr%4==0 && (myYearStr%100!=0 || myYearStr%400==0)){
		isleap = true;
	}
	return isleap;
}

// Validate Date
function datevalidate(day,month,year)
 	   {
	          if(year<1900)  
			  {
			   return false
			  }
	          if(month>12 )
			  {
			    return false;
			  }
	     	  if(month=="02"|| month=="2"||month=="04" || month=="4"||month=="06" || month=="6"||month=="09" || month=="9"||month=="11")
			  {   
			      if(month=="02" || month=="2")
			      {
				  
			          if(year%4==0)
				       {  
				             if(day<=29)
					          {} 
					    	  else
							  {
								return false;
									
							   }
					   }			
  					   else
					   {
					         if(day<=28)
					   		 {}    
					         else
				              {
								return false;
									
							   }
				       }
					 
		   		  }
				  else
				       if(day<=30)
					   {}   
					   else
						{   
									return false;
									
							   }
				    
		 	   }
			   else
			   {
		           if(day<=31)
				   {}   
			       else
					 		{  
									return false;
									
							   }
				  	      
			    } 
			    return true
           } 
		   
		   
//Function to Validate Fields & Email in the Form.

/*
function validateText(type)
{
	// Only Alphabets 
	if (type=="A")
	{
		// If the keycode of the pressed key is not in the required range then return false.
		if ((event.keyCode < 65 || event.keyCode > 90) &&(event.keyCode < 97 || event.keyCode > 122))
		event.returnValue = false;
	}
	// Only Alphabets along with . and /
	if (type=="AL")
	{
		// If the keycode of the pressed key is not in the required range then return false.
		if ((event.keyCode < 65 || event.keyCode > 90)&&(event.keyCode < 97 || event.keyCode > 122)&&(event.keyCode!=46)&&(event.keyCode!=32)&&(event.keyCode!=47)) 
		event.returnValue = false;
	}
	// Only Alphabets along with . and / and @
	else if (type=="WEB")
	{
		// If the keycode of the pressed key is not in the required range then return false.
		if ((event.keyCode < 65 || event.keyCode > 90)&&(event.keyCode < 97 || event.keyCode > 122)&&(event.keyCode!=46)&&(event.keyCode!=32)&&(event.keyCode!=47)&&(event.keyCode!=64)) 
		event.returnValue = false;
	}

	// Only numbers
	else if(type=="N")
	{
		// If the keycode of the pressed key is not in the required range then return false.
		if (event.keyCode < 48 || event.keyCode > 57)
		event.returnValue = false;
	}
	// All the characters without " and '
	else if(type=="AN")
	{
		// If the keycode of the pressed key is not in the required range then return false.
		if (event.keyCode==34 || event.keyCode==39) 
		event.returnValue = false;
	}
		// Only Alphabets 
	if (type=="NAME")
	{
		// If the keycode of the pressed key is not in the required range then return false.
		if ((event.keyCode < 65 || event.keyCode > 90) &&(event.keyCode < 97 || event.keyCode > 122) && 
			(event.keyCode != 32 ) && (event.keyCode != 46 ))
		event.returnValue = false;
	}

	// It allows numbers and -
	else if(type=="PHNO")
	{			
		// If the keycode of the pressed key is not in the required range then return false.
		if ((event.keyCode < 48 || event.keyCode >57 )&& (event.keyCode != 45 ))
			event.returnValue = false;			
	}	

	// Only Alphabets ,Numbers, @ and .
	if (type=="EMAIL")
	{
		// If the keycode of the pressed key is not in the required range then return false.
		if ((event.keyCode < 65 || event.keyCode > 90) && (event.keyCode < 97 || event.keyCode > 122) && 
			(event.keyCode < 48 || event.keyCode > 57) && (event.keyCode != 64 ) && (event.keyCode != 46 ))
		event.returnValue = false;
	}

	// Only Alphabets ,Numbers, @ and .
	if (type=="URL")
	{
		// If the keycode of the pressed key is not in the required range then return false.
		if ((event.keyCode < 65 || event.keyCode > 90) && (event.keyCode < 97 || event.keyCode > 122) && 
			(event.keyCode < 48 || event.keyCode > 57) && (event.keyCode != 46 ) && (event.keyCode != 58 ) && (event.keyCode != 47 ))
		event.returnValue = false;
	}
				
	// It allows numbers and .
	else if(type=="MONEY")
	{			
		// If the keycode of the pressed key is not in the required range then return false.
		if ((event.keyCode < 48 || event.keyCode > 57) && (event.keyCode != 46 ) && (event.keyCode != 44))
			event.returnValue = false;			
	}				
	// It allows numbers and /
	else if(type=="DATE")
	{			
		// If the keycode of the pressed key is not in the required range then return false.
		if ((event.keyCode < 48 || event.keyCode > 57 ) && (event.keyCode != 47 ))
			event.returnValue = false;			
	}
	// It allows numbers and :
	else if(type=="TIME")
	{			
		// If the keycode of the pressed key is not in the required range then return false.
		if ((event.keyCode < 48 || event.keyCode > 57 ) && (event.keyCode != 58 ))
			event.returnValue = false;
	}

	// It allows albhbets and numbers				
	else if (type=="PAN")
	{
		// If the keycode of the pressed key is not in the required range then return false.
		if ((event.keyCode < 65 || event.keyCode > 90)&&(event.keyCode < 97 || event.keyCode > 122)&&(event.keyCode < 48 || event.keyCode > 57))
		event.returnValue = false;
	}
	// It allows all the characers without < and >
	else if (type=="PROFILE")
	{
		// If the keycode of the pressed key is not in the required range then return false.
		if ((event.keyCode == 62 )||( event.keyCode == 60)||(event.keyCode==34) ||( event.keyCode==39))
		event.returnValue = false;
	}	
// acepts only letters numbers or .
	else if (type=="RESULT")
	{
		if ((event.keyCode < 65 || event.keyCode > 90) && (event.keyCode < 97 || event.keyCode > 122) && 
		(event.keyCode < 48 || event.keyCode > 57) && (event.keyCode != 46 )&& (event.keyCode != 32 ))
//		&& (event.keyCode != 64 ) 
		event.returnValue = false;
	}	
// Aplphabets and numbers.... e.g. Exam numbers which includes aplhabets and numbers
	else if(type=="ALPHANM")   // or PAN
	{
		if ((event.keyCode < 65 || event.keyCode > 90) && (event.keyCode < 97 || event.keyCode > 122) && 
			(event.keyCode < 48 || event.keyCode > 57)) 
			event.returnValue = false;
	}
// Accepts only aplphabets , numbers and spaces. _-,
	else if (type=="TITLE")
	{
		// If the keycode of the pressed key is not in the required range then return false.
		if ((event.keyCode < 65 || event.keyCode > 90)&&(event.keyCode < 97 || event.keyCode > 122)&&
		(event.keyCode < 48 || event.keyCode > 57)&& (event.keyCode != 32) && (event.keyCode != 95) && (event.keyCode != 45) && (event.keyCode != 44))
		event.returnValue = false;
	}
	else if (type=="CHARS")
	{
		// If the keycode of the pressed key is not in the required range then return false.
		if ((event.keyCode < 65 || event.keyCode > 90)&&(event.keyCode < 97 || event.keyCode > 122))
		event.returnValue = false;
	}
	
	
}
*/
function checkfldrname(sText)
{
    var ValidChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789#@-;_.%$!&()+";
	return inValidCharSet(sText,ValidChars)
}

function round_decimals(original_number, decimals) {
    var result1 = original_number * Math.pow(10, decimals)
    var result2 = Math.round(result1)
    var result3 = result2 / Math.pow(10, decimals)
    return pad_with_zeros(result3, decimals)
}

function floor_decimals(original_number, decimals) {
    var result1 = original_number * Math.pow(10, decimals)
    var result2 = Math.floor(result1)
    var result3 = result2 / Math.pow(10, decimals)
    return pad_with_zeros(result3, decimals)
}

function pad_with_zeros(rounded_value, decimal_places) {

    // Convert the number to a string
    var value_string = rounded_value.toString()
    
    // Locate the decimal point
    var decimal_location = value_string.indexOf(".")

    // Is there a decimal point?
    if (decimal_location == -1) {
        
        // If no, then all decimal places will be padded with 0s
        decimal_part_length = 0
        
        // If decimal_places is greater than zero, tack on a decimal point
        value_string += decimal_places > 0 ? "." : ""
    }
    else {

        // If yes, then only the extra decimal places will be padded with 0s
        decimal_part_length = value_string.length - decimal_location - 1
    }
    
    // Calculate the number of decimal places that need to be padded with 0s
    var pad_total = decimal_places - decimal_part_length
    
    if (pad_total > 0) {
        
        // Pad the string with 0s
        for (var counter = 1; counter <= pad_total; counter++) 
            value_string += "0"
        }
    return value_string
}


// Validate Date
function datevalidate(day,month,year)
 	   {
	          if(year<1900)  
			  {
			   return false
			  }
	          if(month>12 )
			  {
			    return false;
			  }
	     	  if(month=="02"|| month=="2"||month=="04" || month=="4"||month=="06" || month=="6"||month=="09" || month=="9"||month=="11")
			  {   
			      if(month=="02" || month=="2")
			      {
				  
			          if(year%4==0)
				       {  
				             if(day<=29)
					          {} 
					    	  else
							  {
								return false;
									
							   }
					   }			
  					   else
					   {
					         if(day<=28)
					   		 {}    
					         else
				              {
								return false;
									
							   }
				       }
					 
		   		  }
				  else
				       if(day<=30)
					   {}   
					   else
						{   
									return false;
									
							   }
				    
		 	   }
			   else
			   {
		           if(day<=31)
				   {}   
			       else
					 		{  
									return false;
									
							   }
				  	      
			    } 
			    return true
} 

