function NewChkAlp(val,chkfor)
{
	switch (chkfor)
	{
		case 1: //Alpha (comma and hyphen are allowed)
				invalid="~!@#$%^'\"*_+=|\\/:;?><][{}`1234567890";
				alertstr="Only alphabets are Allowed"
				break;
		case 2: //Alpha Numeric 
				invalid="~!@#$%^'\"*_-+=|\\/:;?><][{}`()";
				alertstr="Only alphabets & Numbers are Allowed"
				break;
		case 3:  //Address [including ')' and '(' ]
				invalid="~!@$%^'\"*_-+=|\\:;?><][{}`";
				alertstr="Only alphabets & Numbers are Allowed"
				break;
		case 4:  //Phone/Fax/Zip Code
				invalid="~!@$%^'\"*_+=|\\:;?><][{}.,`asdfghjklmnbvcxzqwertyuiopASDFGHJKLMNBVCXZQWERTYUIOP";
				alertstr="Only Numbers & / ( ) - are Allowed"
				break;
		case 5: //Alpha Numeric with blank hiphen and forward slash
				invalid="~!@#$&%^'\"*_.+=|\\:;?><][{}`()";
				alertstr="Only alphabets,Numbers, - , / , blankspaces are Allowed"
				break;
		case 6:  //Numbers Only
				invalid="~!@$%^'\"*_+=|\\/&()-:;?><][{}.,`asdfghjklmnbvcxzqwertyuiopASDFGHJKLMNBVCXZQWERTYUIOP' '";
				alertstr="Please Enter a Valid Number!"
				break;
		case 7: //Alpha Numeric with apostrophe(') and ; and : and , and / and # and -
				invalid="~!@$%^\"*_+=|\\?><][{}`";
				alertstr="Only alphabets & Numbers are Allowed"
				break;
		case 8:  //Numbers Only
				invalid="~!@$%^'\"*_+=|\\/&()-:;?><][{},`asdfghjklmnbvcxzqwertyuiopASDFGHJKLMNBVCXZQWERTYUIOP' '";
				alertstr="Please Enter a Valid Number!"
				break;								
		default :
			return false;
	}
	
	//invalid="~!@#$%^'\"*_-+=|\\/:;?><][{}`1234567890";
	
	str=val.value.toString();
	pos=str.length;
	if (str.length>0)
	{
		for(i=pos;i>=0;i--)
		{
			for(j=0;j<invalid.length;j++)
			{
				
				if(str.indexOf(invalid.charAt(j))!=-1)
				{
					val.value=str.substring(0,i-1);
					str=val.value;
					alert(alertstr);
					break;	
				}
			}
		}
	}
}

function EncrptText() 
{
	theText=document.JoinNow.MandPwd.value;
	output = new String;
	Temp = new Array();	
	TextSize = theText.length;
	for (i = 0; i < TextSize; i++) 
	{		
		Temp[i] = theText.charCodeAt(i) + (23);		
		output += Temp[i]+"|";
		
	}
	output=output.substr(0,output.length-1)
	document.JoinNow.HPwd.value=output;
	
//return output;

}

function Encr()
{
	EncrptText();
	/*
	document.JoinNow.HPwd.value=document.JoinNow.MandPwd.value;
	document.JoinNow.MandPwd.value="";*/
}
function EncrptTextO(theText) 
{
	output = new String;
	Temp = new Array();
	Temp2 = new Array();
	TextSize = theText.length;
	for (i = 0; i < TextSize; i++) 
	{
		rnd = Math.round(Math.random() * 122) + 68;
		Temp[i] = theText.charCodeAt(i) + rnd;
		Temp2[i] = rnd;
	}
	for (i = 0; i < TextSize; i++) 
	{
		output += String.fromCharCode(Temp[i], Temp2[i]);
	}

return output;
}



function EmailCheck (emailStr) {

var checkTLD=1;

var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;

var emailPat=/^(.+)@(.+)$/;

var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";

var validChars="\[^\\s" + specialChars + "\]";

var quotedUser="(\"[^\"]*\")";

var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;

var atom=validChars + '+';

var word="(" + atom + "|" + quotedUser + ")";

var userPat=new RegExp("^" + word + "(\\." + word + ")*$");

var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");

var matchArray=emailStr.match(emailPat);


if (matchArray==null) {

alert("Email address seems incorrect (check @ and .'s)");
return false;
}
var user=matchArray[1];
var domain=matchArray[2];

for (i=0; i<user.length; i++) {
if (user.charCodeAt(i)>127) {
alert("Ths username contains invalid characters.");
return false;
   }
}
for (i=0; i<domain.length; i++) {
if (domain.charCodeAt(i)>127) {
alert("Ths domain name contains invalid characters.");
return false;
   }
}


if (user.match(userPat)==null) {

alert("The username doesn't seem to be valid.");
return false;
}

var IPArray=domain.match(ipDomainPat);
if (IPArray!=null) {

for (var i=1;i<=4;i++) {
if (IPArray[i]>255) {
alert("Destination IP address is invalid!");
return false;
   }
}
return true;
}

var atomPat=new RegExp("^" + atom + "$");
var domArr=domain.split(".");
var len=domArr.length;
for (i=0;i<len;i++) {
if (domArr[i].search(atomPat)==-1) {
alert("The domain name does not seem to be valid.");
return false;
   }
}

if (checkTLD && domArr[domArr.length-1].length!=2 && 
domArr[domArr.length-1].search(knownDomsPat)==-1) {
alert("The address must end in a well-known domain or two letter " + "country.");
return false;
}

if (len<2) {
alert("This address is missing a hostname!");
return false;
}
return true;

}

function ValidateEmail(email)
{
 var pass1=email;
 var exp1=/[a-z]|[A-Z]/;

 var first=pass1.charAt(0);
 var match1=first.match(exp1) 
 if(match1==null)
 {
   alert("Email Should start with a Char");
   return;
 }

 var exp2=/\s\w*/g;
 var match2=pass1.match(exp2);
  if(match2!=null)
 {
   alert("Blank spaces are not allowed");
   return;
 }
 var exp3=/[@]/g;
 var match3=pass1.match(exp3);
if(match3==null)
 {
   alert("Email Address Sould contain atleast one @ symbol !!");
   return;
 }
if(match3.length>1)
 {
   alert("Email Sould not contain more then one @ symbol !!");
   return;
 }
 var ind_of_at=(pass1.indexOf("@",0));
 var sep1=pass1.slice(0,ind_of_at);
 var sep2=pass1.slice(ind_of_at+1,pass1.length);

//alert(sep1+"=="+sep2)

 var exp4=/\W/g;
 var sparray1=sep1.match(exp4);
if(sparray1!=null)
   alert("invalid email address:    "+  sep1);

var ind_of_dot=(sep2.indexOf(".",0));
var sep3=sep2.slice(0,ind_of_dot);
var sep4=sep2.slice(ind_of_dot,sep2.length);

if(ind_of_dot==-1 || ind_of_dot==0)
 {
  alert("Errot at email: @"+sep2+"  i.e yahoo.com");
  return;
 }
   
 var sparray2=sep3.match(exp4);
 var exp5=/_/g;
 var sparray3=sep3.match(exp5);
if(sparray2!=null||sparray3!=null)
 {
   alert("Error at Email  :"+sep3);
   return;
 }
 //alert("=="+sep4)
if(sep4!='.com' || sep4!=".co.in")
  {
   alert("Error at email  :"+sep4+"  i.e   .com");
   return;
  }


}

function ValidateDate(day,mon,year,trans)
{
	day=parseInt(day);
	year=parseInt(year);
	mon=parseInt(mon);	
	//alert(day+" "+mon+" "+year)
	
	var now= new Date();
	var yr=now.getYear();
	var mn=now.getMonth();
	var d=now.getDate();
	
	//alert(d+" "+mn+" "+yr)
	if (trans)
	{	
		if (year>yr)
			return false;		
		else if (year==yr && mon > (mn+1))
			return false;
		else if (year==yr && mon==(mn+1) && day > d)
			return false;	
	}	
	
	if ((year<parseInt(1900))||(year>parseInt(2500)))
		return false;

	if ((mon==4)||(mon==6)||(mon==9)||(mon==11))
	{
		if (parseInt(day)>30)
		return false;
	}
	
	if ((mon==2) && (LeapYear(year)))
	{
		if (parseInt(day)>29)
		return false;
	}
	else if ((mon==2) && (parseInt(day)>28))
	return false;
	
	return true;
}

function ValidateChequeDate(day,mon,year)
{
	day=parseInt(day);
	year=parseInt(year);
	mon=parseInt(mon);	
	//alert(day+" "+mon+" "+year)
	
	var now= new Date();
	var yr=now.getYear();
	var mn=now.getMonth();
	var d=now.getDate();	
		
}

function LeapYear(year)
{
	year=parseInt(year);
	if ((year % 4)==0)
	{
		//alert("leapyear")	
		return true;
	}
	if ((year % 100)==0)
	{
		if ((year % 400)==0)
		{
			//alert("leapyear")
			return true;
		}
	}
	return false;
}



function IsSpace(inpt)
{
	var i=0,incr=0;		
	for(i=0;i<inpt.length;i++)
	{
		if(inpt.charAt(i)==" ")
		{
			incr=incr+1;
		}
		else
			break;
	}
	if(parseInt(incr)==parseInt(inpt.length))
	{
		return true;
	}
	else
		return false;
}

function onlynumbers(cname)
	{   
	 var str,Val;
	 str="!@#$%^`~&*()_ +{}.- |QqWwEeRrTtYyUuIiOoPpAaSsDdFfGgHhJjKkLl;:\\='ZzXxCcVvBbNnMm<,>?/";
	 for(var i=0; i <cname.length; i++)
	 {
	 	Val=cname.substring(i,i+1);
	 	if ((str.indexOf(Val)>=0))
		{
			return false;
		}
	 }
	return true;
	}
function IsFloat(Obj)
{
	var x=Obj.value;
	var y=x.toString().length;
	var j,z;
		
	for (i=0;i<y;i++)
	{	
		j=x.substring(i,i+1);
		if(x.indexOf('.')==x.lastIndexOf('.'))
		{
			if ((isNaN(j)==true && j!='.') || (j==' '))
			{
				z=x.toString().substring(0,i);
				Obj.value=z;
				return false;
			}
		}
		else
		{
			z=x.toString().substring(0,y-1);
			Obj.value=z;
			return false;
		}
	}
}

function ChkCurrFormat(val) {
    // Trim any whitespace... (remove this, if you want it to throw an error for whitespace)
    val = val.replace(/\s/g, "");

    // Match the currency format
    if(val.search(/^\$?\d{1,3}(,?\d{3})*(\.\d{1,2})?$/) == -1) {
         alert("This amount is NOT valid!");
         return false;
    }
    
}
	
function CheckSQuote(InputStr)
{
	//alert(InputStr)
	var InpStr=new String(InputStr);
	var InpStr=InpStr.split("'");
	var OutStr='';	
	for (i=0;i<InpStr.length-1;i++)
	{
		OutStr+=InpStr[i]+"''";	
	}
	OutStr+=InpStr[i];
	//alert(OutStr);
	return OutStr;
		
}



/**
 * DHTML date validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */
// Declaring valid date character, minimum year and maximum year
var dtCh= "/";
var minYear=1900;
var maxYear=2100;

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 stripCharsInBag(s, bag){
	var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function daysInFebruary (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}
function DaysArray(n) {
	for (var i = 1; i <= n; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this
}

function isDate(dtStr){
	var daysInMonth = DaysArray(12)
	var pos1=dtStr.indexOf(dtCh)
	var pos2=dtStr.indexOf(dtCh,pos1+1)
	var strDay=dtStr.substring(0,pos1)
	var strMonth=dtStr.substring(pos1+1,pos2)
	var strYear=dtStr.substring(pos2+1)
	strYr=strYear
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	}
	
	day=parseInt(strDay)
	month=parseInt(strMonth)
	year=parseInt(strYr)
	if (pos1==-1 || pos2==-1){
		alert("The date format should be : dd/mm/yyyy")
		return false
	}
	
	if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		alert("Please enter a valid day")
		return false
	}
	if (strMonth.length<1 || month<1 || month>12){
		alert("Please enter a valid month")
		return false
	}
	if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		alert("Please enter a valid 4 digit year between "+minYear+" and "+maxYear)
		return false
	}
	if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		alert("Please enter a valid date")
		return false
	}
return true;
}

function PayOutDate(fdate,tdate)
{	
	//validates as if fdate is 
					
	var InpStr=new String(fdate);
	var InpStr=InpStr.split("/");	
	d=InpStr[0];
	m=InpStr[1]-1;
	y=InpStr[2];
	
	var InpDt=new Date(y,m,d);	
	IDay=InpDt.getDay();  //returns Sun=0,Mon=1,Tue=2...
	if (parseInt(IDay)!=parseInt(2))
	 {
		alert("From Date Must be A Tuesday");
		return false;
	 }	
	
	var dayInMS=InpDt.getTime();
	var nextMonInMS=dayInMS+(60*60*24*6*1000);
	var nextMon=new Date(nextMonInMS);
		
	var InpStr=new String(tdate);
	var InpStr=InpStr.split("/");	
	d=InpStr[0];
	m=InpStr[1]-1;
	y=InpStr[2];	
	var InpDt=new Date(y,m,d);
	
	//alert(parseInt(nextMon.getYear())+" "+parseInt(InpDt.getYear()));
	//alert(parseInt(nextMon.getMonth())+" "+parseInt(InpDt.getMonth()));
	//alert(parseInt(nextMon.getDate())+" "+parseInt(InpDt.getDate()));
		
	if (parseInt(nextMon.getYear())==parseInt(InpDt.getYear()))
	{
		if (parseInt(nextMon.getMonth())==parseInt(InpDt.getMonth()))
		{			
			if(parseInt(nextMon.getDate())==parseInt(InpDt.getDate()))
			return true;
			else
			alert("To Date Must be"+" "+nextMon.getDate()+"/"+(parseInt(nextMon.getMonth())+1)+"/"+nextMon.getYear());
		}
		else
		alert("To Date Must be"+" "+nextMon.getDate()+"/"+(parseInt(nextMon.getMonth())+1)+"/"+nextMon.getYear());	
	}
	else
	alert("To Date Must be"+" "+nextMon.getDate()+"/"+(parseInt(nextMon.getMonth())+1)+"/"+nextMon.getYear());
	 
}