var rePattern = new RegExp("[$;<>\.\{\}]");

function checkPattern(obj){	
 	if(rePattern.test(obj.value))	
	{
		alert("Please enter valid text.");
		obj.focus();
		return false;
	}
	return true;
}


var reEmail=/^[0-9a-zA-Z_\.-]+\@[0-9a-zA-Z_\.-]+\.[0-9a-zA-Z_\.-]+$/
function checkEmail(obj){
 	if(!reEmail.test(obj.value))
	{
		alert("Please enter a valid email address.");
		obj.focus();
		return false;
	}
	return true;
}



function isEmpty(val)
{   
	for(var i=0;i<val.length;i++)
	{
		if(val.charAt(i) != ' ')
		{
			return false;
		}
	}
	return true;
}

function LeapYear(intYear) {
	if (intYear % 100 == 0) {
		if (intYear % 400 == 0) { return true; }
	}
	else { 
		if ((intYear % 4) == 0) { return true; }
	}
	return false;
}


/* Date format mm/dd/yyyy */
function checkDate(dt)
{
	var reg = new RegExp("[0-9]{1,2}/[0-9]{1,2}/[0-9]{4}");
	if(reg.test(dt))
	{
		var datepart = dt.split("/");
		
		for(i=0;i<datepart.length;i++)
			datepart[i] = parseInt(parseFloat(datepart[i]));


		if(datepart[1] < 1 || datepart[1] > 31 || datepart[0] < 1 || datepart[0] > 12)
		{
			return false;
		}
		else if((datepart[0] == 4 || datepart[0] == 6 || datepart[0] == 9 || datepart[0] == 11) && datepart[1] == 31)
		{
			return false;	
		}
		else if(datepart[0] == 2)
		{
			if(datepart[1] > 29)
				return false;
			if(!LeapYear(datepart[2]) && datepart[1] == 29)
				return false;
		}
		return true;						
	}
	return false;			
}
		
/*  
     Dates accepted in mm/dd/yyyy format
     Return Code          Condition
	 -------------------------------
	    -1              dt1 less than dt2
	     0              dt1 equal to dt2
  	     1     	        dt1 greater than dt2		        
*/

function compareDates(dt1,dt2)
{
	var datepart1 = dt1.split("/");
	var datepart2 = dt2.split("/");
		
	for(i=0;i<datepart1.length;i++)
	{
		datepart1[i] = parseInt(parseFloat(datepart1[i]));
		datepart2[i] = parseInt(parseFloat(datepart2[i]));		
	}	
	
	if(datepart1[2] > datepart2[2])
		return 1;
	else if(datepart1[2] < datepart2[2])	 
		return -1;
	else if(datepart2[2] == datepart1[2])	 	
	{
		if(datepart1[0] > datepart2[0])
			return 1;
		else if(datepart1[0] < datepart2[0])	
			return -1;
		else if(datepart1[0] == datepart2[0])					 
		{
			if(datepart1[1] > datepart2[1])
				return 1;
			else if(datepart1[1] < datepart2[1])	
				return -1;			
		}
	}
	return 0;	
}


function changeDateFormat(dt,from_format,to_format)
{
	var converted_date  = new Array(3);		
	var datepart        = dt.split("/");        
	var from_formatpart = from_format.split("/");
	var to_formatpart   = to_format.split("/");
	for(i=0;i<3;i++)
	{
		for(j=0;j<3;j++)
		{
			if(to_formatpart[j] == from_formatpart[i])  	
			{
				converted_date[j] = datepart[i];  			
				break;
			}
		}
	}	
	return (converted_date[0]+"/"+converted_date[1]+"/"+converted_date[2]);	
}

function isNumeric(val){
	var reg = new RegExp("^[0-9]{1,}$");
	return reg.test(val);
}

function endsWith(str,list){
	var arr = list.split(",");	
	var len = str.length;
	var j;
	for(j=0;j<arr.length;j++){
		part_len = arr[j].length;
		if(str.lastIndexOf(arr[j]) + part_len == len){
			return true;
		}		
	}
	return false;
}

function validateEmail(email)
{
	if(email=="") return false;

	badstuff=";:/,'\"\\";

	for(i=0;i<badstuff.length;i++)
	{
		badcheck=badstuff.charAt(i);
		if(email.indexOf(badcheck,0)!=-1)
		return false;
	}//for

	posofAtsign=email.indexOf("@",1);
	if(posofAtsign==-1)
	return false;

	if(email.indexOf("@",posofAtsign+1) !=-1)
	return false;

	posofPeriod=email.indexOf(".",posofAtsign)
	if(posofPeriod==-1) return false;

	if(posofPeriod+2 > email.length)
	return false;

	return true;
}//validateEmail()

function isVldURL(urlName)
{
	if(urlName != "")
	{
		var urlValue=new String(urlName);

		var lookString="://"; //because this can be ftp:// or http://
		
		var result = urlValue.indexOf(lookString);

		if(result == -1)
			return false;
		else
		{
			var preUrl = urlValue.split(lookString);
			
			if(preUrl[0].length < 3)
				return false;
		}

		lookString = ".";
		
		result = urlValue.indexOf(lookString);
		
		if(result == -1)
			return false;
	}
	else
		return false;
	
	return true;	
}

function Trim(TRIM_VALUE){
	if(TRIM_VALUE.length < 1){
	return"";
	}
	TRIM_VALUE = RTrim(TRIM_VALUE);
	TRIM_VALUE = LTrim(TRIM_VALUE);
	if(TRIM_VALUE==""){
	return "";
	}
	else{
	return TRIM_VALUE;
	}
} //End Function

function RTrim(VALUE){
	var w_space = String.fromCharCode(32);
	var v_length = VALUE.length;
	var strTemp = "";
	if(v_length < 0){
	return"";
	}
	var iTemp = v_length -1;

	while(iTemp > -1){
	if(VALUE.charAt(iTemp) == w_space){
	}
	else{
	strTemp = VALUE.substring(0,iTemp +1);
	break;
	}
	iTemp = iTemp-1;

	} //End While
	return strTemp;

} //End Function

function LTrim(VALUE){
	var w_space = String.fromCharCode(32);
	if(v_length < 1){
	return"";
	}
	var v_length = VALUE.length;
	var strTemp = "";

	var iTemp = 0;

	while(iTemp < v_length){
	if(VALUE.charAt(iTemp) == w_space){
	}
	else{
	strTemp = VALUE.substring(iTemp,v_length);
	break;
	}
	iTemp = iTemp + 1;
	} //End While
	return strTemp;
} //End Function