function special_email(var1)
{
	if (var1.indexOf('`') >= 0 || var1.indexOf('~') >= 0 || var1.indexOf('!') >= 0 || var1.indexOf('#') >= 0 ||
			var1.indexOf('$') >= 0 || var1.indexOf('%') >= 0 || var1.indexOf('^') >= 0 || var1.indexOf('&') >= 0 ||
			var1.indexOf('*') >= 0 || var1.indexOf('(') >= 0 || var1.indexOf(')') >= 0 || var1.indexOf('+') >= 0 ||
			var1.indexOf('{') >= 0 || var1.indexOf('}') >= 0 || var1.indexOf('|') >= 0 || var1.indexOf('[') >= 0 ||
			var1.indexOf(']') >= 0 || var1.indexOf('\\') >= 0 || var1.indexOf(';') >= 0 || var1.indexOf(':') >= 0 ||
			var1.indexOf('>') >= 0 || var1.indexOf('<') >= 0 || var1.indexOf(',') >= 0 || var1.indexOf('?') >= 0 ||
			var1.indexOf('/') >= 0 || var1.indexOf('\'') >= 0 || var1.indexOf('"') >= 0 || var1.indexOf(' ') >= 0)
			{
				alert("Enter a valid EmailId");
				return false;
		     }
    return true;
}

function cutSpaces(s)
{
	var s1, x;
	x = s1 = "";
	
	l = s.length;
	for(i = 0; i < l; i++)
		if((x = s.charAt(i)) != " ")
			s1+=x;
	return s1;
}

//replace spaces and "&" with "%20" and "%26"
function replaceSpaces(s)
{
	var rep;
	rep=/ /g
	//s=s.replace(/\s/gi,"+");
	s=s.replace(rep,"%20");
	var re;
	re=/&/g
	s=s.replace(re,"%26");
	//var reg3;
	//reg3=/#/g
	s=s.replace("#","%23");
	re2=/\s/g;
	s=s.replace(re2,"%0D%0A");
	return s;
}
// end replace spaces

function cutats(s)
	{
		var s1, x;
		x = s1 = "";
		l = s.length;
		for(i = 0; i < l; i++)
			if((x = s.charAt(i)) != "@")
				s1+=x;
		return s1;
	}

function NetE_Validate_Zip (objval)
{

	// -----------------------------------------------------------------------
	// If no length, we have a valid zip code.
	// -----------------------------------------------------------------------
	if (objval.length == 0)
		return true;

	// -----------------------------------------------------------------------
	// Length must be either 5 or 10
	// -----------------------------------------------------------------------
	if (objval.length != 5 && objval.length != 10)
		return false;

	if (objval.charAt(0) == "-" || objval.charAt(0) == "+")
		return false;

	// -----------------------------------------------------------------------
	// Check first 5 chars to be an integer.
	// -----------------------------------------------------------------------
	if (! NetE_Validate_Integer (objval.substring(0,5)))
		return false;

	// -----------------------------------------------------------------------
	// If the lenght is five, we've passed validation.
	// -----------------------------------------------------------------------
	if (objval.length == 5)
		return true;

	if (objval.charAt(5) != "-" && objval.charAt(5) != " ")
		return false;

	if (objval.charAt(6) == "-" || objval.charAt(6) == "+")
		return false;

	// -----------------------------------------------------------------------
	// The value must end with 5 digits.
	// -----------------------------------------------------------------------
	return ( NetE_Validate_Integer (objval.substring(6,10)));
}

function NetE_Validate_Zip1 (objval)
{

	// -----------------------------------------------------------------------
	// If no length, we have a valid zip code.
	// -----------------------------------------------------------------------
	if (objval.length == 0)
		return true;

	// -----------------------------------------------------------------------
	// Length must be either 6
	// -----------------------------------------------------------------------
	if (objval.length != 6)
		return false;

	if (objval.charAt(0) == "-" || objval.charAt(0) == "+")
		return false;

	// -----------------------------------------------------------------------
	// Check first 6 chars to be an integer.
	// -----------------------------------------------------------------------
	if (! NetE_Validate_Integer (objval.substring(0,6)))
		return false;

	// -----------------------------------------------------------------------
	// If the lenght is five, we've passed validation.
	// -----------------------------------------------------------------------
	if (objval.length == 6)
		return true;

	if (objval.charAt(6) != "-" && objval.charAt(6) != " ")
		return false;

	if (objval.charAt(7) == "-" || objval.charAt(7) == "+")
		return false;

	// -----------------------------------------------------------------------
	// The value must end with 6 digits.
	// -----------------------------------------------------------------------
	return ( NetE_Validate_Integer (objval.substring(1,6)));
}

//*************************************************************************************************************************
// -----------------------------------------------------------------------
// Validate the Format of the Phone Number.
// Output: Returns True if value is a number or NULL.
// -----------------------------------------------------------------------
function  NetE_Validate_PhoneNumber ( objval )
{
	// -----------------------------------------------------------------------
	// If zero length, it//s a valid phone number.
	// -----------------------------------------------------------------------
	if (objval.length == 0) return true;

	// -----------------------------------------------------------------------
	// Define valid start and middle formats.
	// -----------------------------------------------------------------------
	var start_format = " 0123456789(";
	var number_format = " 0123456789";
	var check_char=-1;
	var trailing_blank = false;
	var digits = false;

	// -----------------------------------------------------------------------
	// Define valid start and middle formats.
	// -----------------------------------------------------------------------
	for(var j=1 ; j < start_format.length; j++)
		if( objval.charAt(0) == start_format.charAt(j) ){
			check_char = j;
			break;
		}

	return true
}

// -----------------------------------------------------------------------
// Validate the field to be a valid phone number.
// Output: Returns True if value is a valid phone number.
// -----------------------------------------------------------------------
function NetE_Validate_Phone (objval)
{
	// -----------------------------------------------------------------------
	// If no length, we have a valid phone number!
	// -----------------------------------------------------------------------
	if (objval.length == 0)
		return true;

	// -----------------------------------------------------------------------
	// The Length must be 12 characters.
	// -----------------------------------------------------------------------
	if (objval.length != 12)
		return false;

	// -----------------------------------------------------------------------
	// The first 3 chars. must be a valid area code.
	// -----------------------------------------------------------------------
	if (! NetE_Validate_Number (objval.substring(0,3)))
		return false;
	else
		if (! NetE_Validate_NumberRange ((eval(objval.substring(0,3))), 100, 1000))
			return false;

	// -----------------------------------------------------------------------
	// Check if area code/exchange separator is either a '-' or ' '
	// -----------------------------------------------------------------------
	if (objval.charAt(3) != "-" && objval.charAt(3) != " " )
		return false;

	// -----------------------------------------------------------------------
	// Check if  characters 5 - 7 represent a valid exchange...
	// -----------------------------------------------------------------------
	if (! NetE_Validate_Number (objval.substring(4,7)))
		return false;
	else
		if (! NetE_Validate_NumberRange ((eval(objval.substring(4,7))), 100, 1000))
			return false;

	// -----------------------------------------------------------------------
	// Check if exchange/number separator is either a '-' or ' '
	// -----------------------------------------------------------------------
	if (objval.charAt(7) != "-" && objval.charAt(7) != " ")
		return false;

	// -----------------------------------------------------------------------
	// Make sure last for digits are a valid integer...
	// -----------------------------------------------------------------------
	if (objval.charAt(8) == "-" || objval.charAt(8) == "+")
		return false;
	else
	{
		return ( NetE_Validate_Integer (objval.substring(8,12)));
	}

	return true;
}

// -----------------------------------------------------------------------
// Validate the field to be a valid phone number.
// Output: Returns True if value is a valid phone number.
// -----------------------------------------------------------------------
//function NetE_Validate_Phone1 (objval)
//{
	// -----------------------------------------------------------------------
	// If no length, we have a valid phone number!
	// -----------------------------------------------------------------------
//	if (objval.length == 0)
//		return true;

	// -----------------------------------------------------------------------
	// The Length must be 13 characters.
	// -----------------------------------------------------------------------
//	if (objval.length != 14)
//		return false;

//	return true;
//}

function NetE_Validate_Phone1 (objval)
{
	// -----------------------------------------------------------------------
	// If no length, we have a valid phone number!
	// -----------------------------------------------------------------------
	if (objval.length == 0)
		return true;

	// -----------------------------------------------------------------------
	// The Length must be 14 characters.
	// -----------------------------------------------------------------------
	if (objval.length != 14)
		return false;

	// -----------------------------------------------------------------------
	// The first 2 chars. must be a valid area code.
	// -----------------------------------------------------------------------
	if (! NetE_Validate_Number (objval.substring(0,2)))
		return false;
	else
		if (! NetE_Validate_NumberRange ((eval(objval.substring(0,2))), 0, 100))
			return false;

	// -----------------------------------------------------------------------
	// Check if area code/exchange separator is either a '-' or ' '
	// -----------------------------------------------------------------------
	if (objval.charAt(2) != "-" && objval.charAt(2) != " " )
		return false;

	// -----------------------------------------------------------------------
	// Check if  characters 4 - 6 represent a valid exchange...
	// -----------------------------------------------------------------------
	if (! NetE_Validate_Number (objval.substring(3,6)))
		return false;
	else if (! NetE_Validate_NumberRange ((eval(objval.substring(3,6)), 100, 1000)))
			return false;


	// -----------------------------------------------------------------------
	// Check if exchange/number separator is either a '-' or ' '
	// -----------------------------------------------------------------------
	if ((objval.charAt(6) != "-" && objval.charAt(6) != " "))
			return false;


	// -----------------------------------------------------------------------
	// Make sure last for digits are a valid integer...
	// -----------------------------------------------------------------------
	if (objval.charAt(7) != "-" || objval.charAt(7) != "+")
		return ( NetE_Validate_Integer (objval.substring(7,14)));
}

function  NetE_Validate_NumberRange (objval, min_value, max_value)
{
	// -----------------------------------------------------------------------
	// If the Min value is not null, then the number must be less than Min.
	// -----------------------------------------------------------------------
	if (min_value != null)
	{
		if (objval < min_value)
			return false;
	}

	// -----------------------------------------------------------------------
	// If the Max value is not null, then the number must be greater than Max.
	// -----------------------------------------------------------------------
	if (max_value != null)
	{
		if (objval > max_value)
			return false;
	}

	return true;
}
// -----------------------------------------------------------------------
// Validate the field to be an integer.
// Output: Returns True if value is an integer or NULL.
// -----------------------------------------------------------------------
function NetE_Validate_Integer (objval)
{
	// -----------------------------------------------------------------------
	// If zero length, it//s a valid phone number.
	// -----------------------------------------------------------------------
	 if (objval.length == 0)
		return true;

	// -----------------------------------------------------------------------
	// Loop through the value string - if we find a . then no integer.
	// -----------------------------------------------------------------------
	var check_char=-1;
	for(var j=0 ; j < objval.length; j++)
	{
		if( objval.charAt(j) == "." )
		{
			check_char = j;
			break;
		}
	}

	// -----------------------------------------------------------------------
	// If no periods, now check for the val to be a number.
	// -----------------------------------------------------------------------
	if (check_char < 0)
		return NetE_Validate_Number(objval);
	else
		return false;
}

// -----------------------------------------------------------------------
// Validate the field to be a number.
// Output: Returns True if value is a number or NULL.
// -----------------------------------------------------------------------
function  NetE_Validate_Number ( objval )
{
	// -----------------------------------------------------------------------
	// If zero length, it//s a valid phone number.
	// -----------------------------------------------------------------------
	if (objval.length == 0) return true;

	// -----------------------------------------------------------------------
	//  Accept the following formats:
	//  -  having an optional leading $.
	//  -  having at most 1 decimal point.
	//  -  otherwise containing only the characters 0-9.
	// -----------------------------------------------------------------------
	var start_format = " 0123456789$.";
	var number_format = " .0123456789";
	var check_char=-1;
	var decimal = false;
	var trailing_blank = false;
	var digits = false;

	// -----------------------------------------------------------------------
	// The first character can be + - .  blank or a digit.
	// -----------------------------------------------------------------------
	for(var j=1 ; j < start_format.length; j++)
		if( objval.charAt(0) == start_format.charAt(j) )
		{
			check_char = j;
			break;
		}

	// -----------------------------------------------------------------------
	// Check for a decimal.
	// -----------------------------------------------------------------------
	if (check_char == 1)
		decimal = true;
	else if (check_char < 1)
		return false;

	// -----------------------------------------------------------------------
	// /Remaining characters can be only . or a digit, but only one decimal.
	// -----------------------------------------------------------------------
	for (var i = 1; i < objval.length; i++)
	{
		check_char =-1;
		for( j=1 ; j <number_format.length; j++)
			if( objval.charAt(i) == number_format.charAt(j) ){
				check_char = j;
				break;
			}

		if (check_char < 0)
			return false;
		else if (check_char == 1)
			{
				if (decimal)		// Second decimal.
					return false;
				else
					decimal = true;
			}
			else if (check_char == 0)
			{
				if (decimal || digits)
					trailing_blank = true;
			}
			else if (trailing_blank)
				return false;
			else
				digits = true;
	}

	return true
}


function lastday(mon, yr)
{
 
 var start_date= new Date(yr, mon, 1);

 var end_date= new Date(yr, mon+1, 1);
 lday =( end_date - start_date);
 
 lday = lday/(24*60*60000);
 return lday;
}

function idays(m,d,y)
{
	lday=lastday(m.options[m.selectedIndex].value-1 ,
    y.options[y.selectedIndex].value);

        d.length=lday;
       
        //d.options[0].text="1"
        //d.options[0].value="1"
        for(i=0;i<lday;i++)
        {
         
         d.options[i].text=i+1;
         d.options[i].value=i+1;
        }
   
}

function getDateFromFormat(val,format) {
	val=val+"";
	format=format+"";
	var i_val=0;
	var i_format=0;
	var c="";
	var token="";
	var token2="";
	var x,y;
	var now=new Date();
	var year=now.getYear();
	var month=now.getMonth()+1;
	var date=now.getDate();
	var hh=now.getHours();
	var mm=now.getMinutes();
	var ss=now.getSeconds();
	var ampm="";
	
	while (i_format < format.length) {
		// Get next token from format string
		c=format.charAt(i_format);
		token="";
		while ((format.charAt(i_format)==c) && (i_format < format.length)) {
			token += format.charAt(i_format++);
			}
		// Extract contents of value based on format token
		if (token=="yyyy" || token=="yy" || token=="y") {
			if (token=="yyyy") { x=4;y=4; }
			if (token=="yy")   { x=2;y=2; }
			if (token=="y")    { x=2;y=4; }
			year=_getInt(val,i_val,x,y);
			if (year==null) { return 0; }
			i_val += year.length;
			if (year.length==2) {
				if (year > 70) { year=1900+(year-0); }
				else { year=2000+(year-0); }
				}
			}
		else if (token=="MMM"){
			month=0;
			for (var i=0; i<MONTH_NAMES.length; i++) {
				var month_name=MONTH_NAMES[i];
				if (val.substring(i_val,i_val+month_name.length).toLowerCase()==month_name.toLowerCase()) {
					month=i+1;
					if (month>12) { month -= 12; }
					i_val += month_name.length;
					break;
					}
				}
			if ((month < 1)||(month>12)){return 0;}
			}
		else if (token=="MM"||token=="M") {
			month=_getInt(val,i_val,token.length,2);
			if(month==null||(month<1)||(month>12)){return 0;}
			i_val+=month.length;}
		else if (token=="dd"||token=="d") {
			date=_getInt(val,i_val,token.length,2);
			if(date==null||(date<1)||(date>31)){return 0;}
			i_val+=date.length;}
		else if (token=="hh"||token=="h") {
			hh=_getInt(val,i_val,token.length,2);
			if(hh==null||(hh<1)||(hh>12)){return 0;}
			i_val+=hh.length;}
		else if (token=="HH"||token=="H") {
			hh=_getInt(val,i_val,token.length,2);
			if(hh==null||(hh<0)||(hh>23)){return 0;}
			i_val+=hh.length;}
		else if (token=="KK"||token=="K") {
			hh=_getInt(val,i_val,token.length,2);
			if(hh==null||(hh<0)||(hh>11)){return 0;}
			i_val+=hh.length;}
		else if (token=="kk"||token=="k") {
			hh=_getInt(val,i_val,token.length,2);
			if(hh==null||(hh<1)||(hh>24)){return 0;}
			i_val+=hh.length;hh--;}
		else if (token=="mm"||token=="m") {
			mm=_getInt(val,i_val,token.length,2);
			if(mm==null||(mm<0)||(mm>59)){return 0;}
			i_val+=mm.length;}
		else if (token=="ss"||token=="s") {
			ss=_getInt(val,i_val,token.length,2);
			if(ss==null||(ss<0)||(ss>59)){return 0;}
			i_val+=ss.length;}
		else if (token=="a") {
			if (val.substring(i_val,i_val+2).toLowerCase()=="am") {ampm="AM";}
			else if (val.substring(i_val,i_val+2).toLowerCase()=="pm") {ampm="PM";}
			else {return 0;}
			i_val+=2;}
		else {
			if (val.substring(i_val,i_val+token.length)!=token) {return 0;}
			else {i_val+=token.length;}
			}
		}
	// If there are any trailing characters left in the value, it doesn't match
	if (i_val != val.length) { return 0; }
	// Is date valid for month?
	if (month==2) {
		// Check for leap year
		if ( ( (year%4==0)&&(year%100 != 0) ) || (year%400==0) ) { // leap year
			if (date > 29){ return false; }
			}
		else { if (date > 28) { return false; } }
		}
	if ((month==4)||(month==6)||(month==9)||(month==11)) {
		if (date > 30) { return false; }
		}
	// Correct hours value
	if (hh<12 && ampm=="PM") { hh+=12; }
	else if (hh>11 && ampm=="AM") { hh-=12; }
	var newdate=new Date(year,month-1,date,hh,mm,ss);
	return newdate.getTime();
	}