function Trim(s) {
    var m = s.match(/^\s*(\S+(\s+\S+)*)\s*$/);
    return (m == null) ? "" : m[1];
}
function truncate_spaces(s)
{
	string_to_truncate=s;
	string_to_truncate=truncate_leading_spaces(string_to_truncate);
	string_to_truncate=truncate_trailing_spaces(string_to_truncate);
	return string_to_truncate;
}
	
//Function to truncate Leading Spaces
function truncate_leading_spaces(thisstring)
{
		name_with_spaces=thisstring;
		length_of_name=name_with_spaces.length;
		j=0;
		for (i=0;i<length_of_name;i++)
		{
			get_character=name_with_spaces.charAt(i);
			if (get_character==" ")
				{
				j=j+1;
				continue;
				}
			else
				{
				i=length_of_name;
				}
		}
		if(j>0)
			{
			return name_with_spaces.substring(j,length_of_name);
			}
		else
			{
			return name_with_spaces;
			}
}

//Function to truncate Trailing Spaces
function truncate_trailing_spaces(thisstring)
{
		name_with_spaces=thisstring;
		length_of_name=name_with_spaces.length;
		j=0;
		for (i=length_of_name;i>0;i--)
		{
			get_character=name_with_spaces.charAt(i-1);
			if (get_character==" ")
				{
				j=j+1;
				continue;
				}
			else
				{
				i=0;
				}
		}
		if(j>0)
			{
			return name_with_spaces.substring(0,length_of_name-j);
			}
		else
			{
			return name_with_spaces;
			}
}

function keyPressed(evt) 
{
  var F5 = 116;
  var shift = 16;
  var windows_right_click=93;
  var F10=121;
  var F4 = 115;
  var backspace = 8;
  var leftarrow = 37;
  var alt = 18;
  var ctrl = 17;

 	if(document.all)
		{
         		if (event.keyCode == F5) 
			{
              			event.keyCode = 0;
               			window.event.returnValue = false;
            		}
			if (event.keyCode == windows_right_click) 
			{
              			event.keyCode = 0;
               			window.event.returnValue = false;
            		}
			if (event.keyCode == F10) 
			{
              			event.keyCode = 0;
               			window.event.returnValue = false;
            		}
			if(event.keyCode == leftarrow)
			{
				event.keyCode = 0;
				window.event.returnValue = false;
			}
  		}
}

//function to disable right click
function click(e) 
{
	if (document.all) 
	{
         	if (event.button == 2) 
		{
              		alert("Sorry, Mouse Right Click is disabled");
			return false;
         	}
    	}
}

function emailcheck(input){
	var value = input.value;
	
	//var rx = new RegExp("\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*");
	var rx = new RegExp("^(['a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$");
	var matches = rx.exec(value);
	if((matches != null && value == matches[0])==false){
		//alert("Invalid E-mail. Please enter a valid email address");
		return false;
	}
	
	return true;
}

function emailcheck1(input){
	if(input.value.length!=0){
	    
		var notAllowed="[]:;,\"<>";
		var str = input.value;
		
		for (var i=0;i<str.length;i++){
			if (notAllowed.indexOf(str.charAt(i))!=-1){
	     		alert("Invalid E-mail. Please enter a valid email address");
				input.focus();
				return false;
			}
		}
		            
		var str=input.value.charAt(0);
		
		if(isNaN(str)){		
			if(str=='@' || str=='.'){
				alert("Invalid E-mail. Please enter a valid email address");
				input.focus();
				return false;
			}
		}
						
		if(input.value.indexOf("@@")>0 || input.value.substr(input.value.indexOf("@")).indexOf("..")>0 || input.value.indexOf("@.")>0){
			alert("Invalid E-mail. Please enter a valid email address");
			input.focus();
			return false;
		}
				
		var x = 1;
		var i=1;
		var j = 0;
 		var k =0;
	 	
		if(input.value.charAt(input.value.length-1)=='.' || input.value.charAt(input.value.length-1)=='@'){
	
			alert("Invalid E-mail. Please enter a valid email address");
			input.focus();
			return false;
		}
		if(input.value.indexOf(" ")>0){
			alert("Invalid E-mail. Please enter a valid email address");
			input.focus();
			return false;
		}

		pos1=input.value.indexOf("@");
		pos2=input.value.indexOf(".");
	
		if((pos1+1)==pos2 || (pos1-1)==pos2){
	
			alert("Invalid E-mail. Please enter a valid email address");
			input.focus();
			return false;
		}
		while(input.value.charAt(i)){
			if(input.value.charAt(i)=='@'){
				j= i+1;
				k= j;
				while(input.value.charAt(j)){
					if(input.value.charAt(j)=='.')
					x=0;
					j++;
				}
				break	 ; 
			}
			i++;
		}
		if (j==0){
	
			alert("Invalid E-mail. Please enter a valid email address");
			input.focus();
			return false;
		}
		if (x!=0){
	
			alert("Invalid E-mail. Please enter a valid email address");
			input.focus();
			return false;
		}

		if (k==(j+1)){
	
			alert("Invalid E-mail. Please enter a valid email address");
			input.value="";
			input.focus();
			return false;
		} 
	}
	return true;
}

function checkDate(input)               
{
	gb1=input;	//	Fetch Date from the TextBox
	if(gb1!="")
	{
		if( gb1.length < 10)
		{
			alert("Length of Date Should be of 10 characters.\nPlease specify the date as dd/mm/yyyy");
			//input.focus()
			return false;
		}

		arey=new Array("0","1","2","3","4","5","6","7","8","9","/");
		chk=0;
		for(i=0;i<10;i++)
		{
			char1=gb1.charAt(i);
			flag=1;
			for(j=0;j<11;j++)
			{
				if(char1==arey[j])
				{
					flag=0;
					break;
				}
			}
			if(flag)
			{
				chk=1;
				break;
			}
		}
		if(chk)
		{
			alert("Date does not contain valid characterss.\nPlease check.");
			return false;
		}
		n0=gb1.charAt(0);		//	d
		n1=gb1.charAt(1);		//	d
		n2=gb1.charAt(2);		//	/
		n3=gb1.charAt(3);		//	m
		n4=gb1.charAt(4);		//	m
		n5=gb1.charAt(5);		//	/
		n6=gb1.charAt(6);		//	y
		n7=gb1.charAt(7);		//	y
		n8=gb1.charAt(8);		//	y
		n9=gb1.charAt(9);		//	y
		yy=n6 + n7 + n8 + n9;	//	yyyy
		dd=n0 + n1;			    //	dd
		mm=n3 + n4;			    //	mm
		yy=eval(yy);			//	yyyy as a Number.
		//document.forms(0).MNTH.value=eval(mm-1);
		//document.forms(0).YR.value=yy;
			
		if( n0=="/" || n1=="/" || n3=="/" || n4=="/" || n6=="/" || n7=="/" || n8=="/" || n9=="/")
		{
			alert("Please Enter date in dd\/mm\/yyyy format");
			return false;
		}
		else
		if(n2 !="/")
		{
				alert("Forward Slash Missing between Date and Month");
				return false;
		}
		else
		if(n5 !="/")
		{
			alert("Forward Slash Missing between Month and Year");
			return false;
		}
		else
		if( (n0=="0" && n1<1) || n0>3 || (n0=="3" && n1>1) )
		{
			alert("Invalid Date.\nCheck dd in Date.");
			return false;
		}
		else
		if( (n3=="0" && n4<1) || n3>1 || (n3=="1" && n4>2) )
		{
			alert("Invalid Date.\nCheck mm in Date.");
			return false;
		}
		else
		if (yy < 1940 || yy > 2080)
		{
			alert("Invalid Date.\nCheck yyyy in Date.\n(Enter Year between 1940 to 2080)");
			return false;
		}
		else
		if ( (mm=="04" || mm=="06" || mm=="09" || mm=="11") && dd=="31" ) 
		{
			if(mm=="04") { gaurav="April" } if(mm=="06") { gaurav="June" } if(mm=="09") { gaurav="September" } if(mm=="11") { gaurav="November" }
				alert(" Month is of 30 Days not 31.\nPlease Change.");
			return false;
		}
		else
		if ( ( dd=="30" || dd=="31") && mm=="02")
		{
			alert("February Month does not have " + dd + " days.\nPlease Change.");
			return false;
		}
		else
		if(dd=="29" & mm=="02")
		{
			rem4=yy%4;
			rem400=yy%400;
			rem100=yy%100;
			if( (rem4=="0" || rem400=="0") && rem100!="0")
			{	
			}
			else
			{
				alert(yy + " is not a Leap Year.\nPlease Change yyyy in Date.");
				return false;
			}
		}
		return true;
       
	}
}

function checkDateNew(input)               
{
	gb1=input;	//	Fetch Date from the TextBox
	if(gb1!="")
	{
		if( gb1.length < 10)
		{
			alert("The date must be entered in dd\/mm\/yyyy format. Please re-enter it.");
			//input.focus()
			return false;
		}

		arey=new Array("0","1","2","3","4","5","6","7","8","9","/");
		chk=0;
		for(i=0;i<10;i++)
		{
			char1=gb1.charAt(i);
			flag=1;
			for(j=0;j<11;j++)
			{
				if(char1==arey[j])
				{
					flag=0;
					break;
				}
			}
			if(flag)
			{
				chk=1;
				break;
			}
		}
		if(chk)
		{
			alert("The date must be entered in dd\/mm\/yyyy format. Please re-enter it.");
			return false;
		}
		n0=gb1.charAt(0);		//	d
		n1=gb1.charAt(1);		//	d
		n2=gb1.charAt(2);		//	/
		n3=gb1.charAt(3);		//	m
		n4=gb1.charAt(4);		//	m
		n5=gb1.charAt(5);		//	/
		n6=gb1.charAt(6);		//	y
		n7=gb1.charAt(7);		//	y
		n8=gb1.charAt(8);		//	y
		n9=gb1.charAt(9);		//	y
		yy=n6 + n7 + n8 + n9;	//	yyyy
		dd=n0 + n1;			    //	dd
		mm=n3 + n4;			    //	mm
		yy=eval(yy);			//	yyyy as a Number.
		//document.forms(0).MNTH.value=eval(mm-1);
		//document.forms(0).YR.value=yy;
			
		if( n0=="/" || n1=="/" || n3=="/" || n4=="/" || n6=="/" || n7=="/" || n8=="/" || n9=="/")
		{
			alert("The date must be entered in dd\/mm\/yyyy format. Please re-enter it.");
			return false;
		}
		else
		if(n2 !="/")
		{
				alert("The date must be entered in dd\/mm\/yyyy format. Please re-enter it.");
				return false;
		}
		else
		if(n5 !="/")
		{
			alert("The date must be entered in dd\/mm\/yyyy format. Please re-enter it.");
			return false;
		}
		else
		if( (n0=="0" && n1<1) || n0>3 || (n0=="3" && n1>1) )
		{
			alert("The date must be entered in dd\/mm\/yyyy format. Please re-enter it.");
			return false;
		}
		else
		if( (n3=="0" && n4<1) || n3>1 || (n3=="1" && n4>2) )
		{
			alert("The date must be entered in dd\/mm\/yyyy format. Please re-enter it.");
			return false;
		}
		else
		if ( (mm=="04" || mm=="06" || mm=="09" || mm=="11") && dd=="31" ) 
		{
			if(mm=="04") { gaurav="April" } if(mm=="06") { gaurav="June" } if(mm=="09") { gaurav="September" } if(mm=="11") { gaurav="November" }
				alert("The date must be entered in dd\/mm\/yyyy format. Please re-enter it.");
			return false;
		}
		else
		if ( ( dd=="30" || dd=="31") && mm=="02")
		{
			alert("The date must be entered in dd\/mm\/yyyy format. Please re-enter it.");
			return false;
		}
		else
		if(dd=="29" & mm=="02")
		{
			rem4=yy%4;
			rem400=yy%400;
			rem100=yy%100;
			if( (rem4=="0" || rem400=="0") && rem100!="0")
			{	
			}
			else
			{
				alert(yy + " is not a Leap Year.\nPlease Change yyyy in Date.");
				return false;
			}
		}
		return true;
       
	}
}

function NotAFutureDate(oTxtBox)
{
	var systemDate = new Date;
	var arr = oTxtBox.value.split("/");
	var sysyear = systemDate.getFullYear();
	var sysmonth = systemDate.getMonth()+1;
	var sysday = systemDate.getDate();
	if(arr[2]>sysyear)
	{
		alert("You cannot enter a future date");
		oTxtBox.select();
		return false;
	}
	else if(arr[1]>sysmonth && arr[2]==sysyear)
	{
		alert("You cannot enter a future date");
		oTxtBox.select();
		return false;
	}
	else if(arr[0]>sysday && arr[1]==sysmonth && arr[2]==sysyear)
	{
		alert("You cannot enter a future date");
		oTxtBox.select();
		return false;
	}
	return true;
}
