function ValidateDate(obj)
			{
			
					if (obj.value.length != 0)
					{
					
						if (obj.value.length != 10 )
						{
						alert("The date format should be : dd/MM/yyyy");
						obj.focus();
						return false
						}
						if (isDate(obj.value)==false){
							obj.focus()
							return false
						}
						return true
					   
					}
					}
					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)
				}
				month=parseInt(strMonth)
				day=parseInt(strDay)
				year=parseInt(strYr)
				if (pos1==-1 || pos2==-1){
					alert("The date format should be : dd/mm/yyyy")
					return false
				}
				if (strMonth.length<1 || month<1 || month>12){
					alert("Please enter a valid month")
					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 (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 LTrim(str)
{
   var whitespace = new String(" \t\n\r");
   var s = new String(str);

   if (whitespace.indexOf(s.charAt(0)) != -1) {
      var j=0, i = s.length;
      while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
         j++;
      s = s.substring(j, i);
   }
   return s;
}

function RTrim(str)

{
   var whitespace = new String(" \t\n\r");
   var s = new String(str);

   if (whitespace.indexOf(s.charAt(s.length-1)) != -1) {
      var i = s.length - 1;
      while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
         i--;
      s = s.substring(0, i+1);
   }
   return s;
}

function Trim(str)
{
   return RTrim(LTrim(str));
}

function onlyNumeric(field)
{
    if (field.value.length == 0)
	{ return true; }
	
	var valid = "0123456789"
	var ok = "yes";
	var temp;
	for (var i=0; i<field.value.length; i++)
	{
		temp = "" + field.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = "no";
	}
	
	s = field.value;
	filteredValues = "abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ~!@#$%^&*()_+{}:<>?|`-=[]\\;',./\"";
	var i;
	var returnString = "";
	for (i = 0; i < s.length; i++)
	{
		var c = s.charAt(i);
		if (filteredValues.indexOf(c) == -1) returnString += c;
	}
	field.value = returnString.toUpperCase();
}

function onlyFloat(field)
{
    if (field.value.length == 0)
	{ return true; }
	
    s = field.value;
	var j;
	var Flag=0;
	for (j = 0; j < s.length; j++)
	{
		var c = s.charAt(j);
		if (c == ".") Flag=Flag+1;
	}
	if (Flag>1)
	{
		alert("Please enter a valid Amount");
		field.value="";
		return false;
	}

	var valid = "0123456789."
	var ok = "yes";
	var temp;
	for (var i=0; i<field.value.length; i++)
	{
		temp = "" + field.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = "no";
	}

	s = field.value;
	filteredValues = "abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ~!@#$%^&*()_+{}:<>?|`-=[]\\;',/\"";
	var i;
	var returnString = "";
	for (i = 0; i < s.length; i++)
	{
		var c = s.charAt(i);
		if (filteredValues.indexOf(c) == -1) returnString += c;
	}
	
	field.value=returnString;	
}

function checkVC(field)
{

    if (field.value.length == 0)
	{ return true; }
	
    var valid = "0123456789"
	var ok = "yes";
	var temp;
	for (var i=0; i<field.value.length; i++)
	{
		temp = "" + field.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = "no";
	}


	
	s = field.value;
	filteredValues = "abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ~!@#$%^&*()_+{}:<>?|`-=[]\\;',./\"";
	var i;
	var returnString = "";
	for (i = 0; i < s.length; i++)
	{
		var c = s.charAt(i);
		if (filteredValues.indexOf(c) == -1) returnString += c;
	}
	field.value = returnString.toUpperCase();
	
	if (field.value.length != 11)
	{
		alert("VC Number has to be 11 Digits. Please enter a valid VC Number");
		field.focus();
		field.select();
		return false;
	}
}

function checkSTB(field)
{

    if (field.value.length == 0)
	{ return true; }

	
	s = field.value;
	filteredValues = "~!@#$%^&*()_+{}: <>?|`=[]\\;',./\"";
	var i;
	var returnString = "";
	for (i = 0; i < s.length; i++)
	{
		var c = s.charAt(i);
		if (filteredValues.indexOf(c) == -1) returnString += c;
	}
	field.value = returnString.toUpperCase();
	
 	if (field.value.length != 16 & field.value.length != 20)
	{
		alert("STB Number has to be 16 Digits or 20 digits. Please enter a valid STB Number");
		field.focus();
		field.select();
		return false;
	}
}

function checkRemark(field)
{

    if (field.value.length == 0)
	{ return true; }
	
    s = field.value;
		
	filteredValues = "`'\"";
	var i;
	var returnString = "";
	
	for (i = 0; i < s.length; i++)
	{
		var c = s.charAt(i);
		if (filteredValues.indexOf(c) == -1) returnString += c;
	}

    var i1;
	var returnString1 = "";
	
    if (field.value.length >= 250)
	{
		for (i1 = 0; i1 < 249; i1++)
		{
			var c = s.charAt(i1);
			if (filteredValues.indexOf(c) == -1) returnString1 += c;
		}
		alert("Please enter a shorter Remark, it cannot contain more than 250 characters");
		field.value = returnString1.toUpperCase();
		field.focus();
		return false;
	}
	
	field.value = returnString.toUpperCase();
}


function checkDD(field)
{

    if (field.value.length == 0)
	{ return true; }
	
    var valid = "0123456789"
	var ok = "yes";
	var temp;
	for (var i=0; i<field.value.length; i++)
	{
		temp = "" + field.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = "no";
	}


	
	s = field.value;
	filteredValues = "abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ~!@#$%^&*()_+{}:<>?|`-=[]\\;',./\"";
	var i;
	var returnString = "";
	for (i = 0; i < s.length; i++)
	{
		var c = s.charAt(i);
		if (filteredValues.indexOf(c) == -1) returnString += c;
	}
	field.value = returnString.toUpperCase();
	
	if (field.value.length != 6)
	{
		alert("DD Number has to be 6 Digits. Please enter a valid DD Number");
		field.focus();
		field.select();
		return false;
	}
}


function checkITZSr(field)
{
	if (field.value.length == 0)
	{ return true; }

	
	s = field.value;
	filteredValues = "~!@#$%^&*()_+{}: <>?|`-=[]\\;',./\"";
	var i;
	var returnString = "";
	for (i = 0; i < s.length; i++)
	{
		var c = s.charAt(i);
		if (filteredValues.indexOf(c) == -1) returnString += c;
	}
	field.value = returnString.toUpperCase();
	
    if (field.value.length != 12)
	{
		alert("ITZ Card Serial Number has to be 12 Characters. Please enter a valid ITZ Card Number");
		field.value="";
		field.focus();
		field.select();
		return false;
	}
}

function checkITZAc(field)
{

    if (field.value.length == 0)
	{ return true; }
	
    var valid = "0123456789"
	var ok = "yes";
	var temp;
	for (var i=0; i<field.value.length; i++)
	{
		temp = "" + field.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = "no";
	}

	
	s = field.value;
	filteredValues = "abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ~!@#$%^&*()_+{}:<>?|`-=[]\\;',./\"";
	var i;
	var returnString = "";
	for (i = 0; i < s.length; i++)
	{
		var c = s.charAt(i);
		if (filteredValues.indexOf(c) == -1) returnString += c;
	}
	field.value = returnString.toUpperCase();
		
	if (field.value.length != 12)
	{
		alert("ITZ Account Number has to be 12 Digits. Please enter a valid ITZ Account Number");
		field.value="";
		field.focus();
		field.select();
		return false;
	}
}

function checkITZPw(field)
{

    if (field.value.length == 0)
	{ return true; }

    var valid = "0123456789"
	var ok = "yes";
	var temp;
	for (var i=0; i<field.value.length; i++)
	{
		temp = "" + field.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = "no";
	}

	
	s = field.value;
	filteredValues = "abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ~!@#$%^&*()_+{}:<>?|`-=[]\\;',./\"";
	var i;
	var returnString = "";
	for (i = 0; i < s.length; i++)
	{
		var c = s.charAt(i);
		if (filteredValues.indexOf(c) == -1) returnString += c;
	}
	field.value = returnString.toUpperCase();
		
	if (field.value.length != 4)
	{
		alert("ITZ Password has to be 4 Digits. Please enter a valid ITZ Password");
		field.value="";
		field.focus();
		field.select();
		return false;
	}
}

function checkYear(field)
{

    if (field.value.length == 0)
	{ return true; }

    var valid = "0123456789"
	var ok = "yes";
	var temp;
	for (var i=0; i<field.value.length; i++)
	{
		temp = "" + field.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = "no";
	}

	
	s = field.value;
	filteredValues = "abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ~!@#$%^&*()_+{}:<>?|`-=[]\\;',./\"";
	var i;
	var returnString = "";
	for (i = 0; i < s.length; i++)
	{
		var c = s.charAt(i);
		if (filteredValues.indexOf(c) == -1) returnString += c;
	}
	field.value = returnString.toUpperCase();
		
	if (field.value.length != 4)
	{
		alert("Year has to be 4 Digits. Please enter a valid Year");
		field.focus();
		field.select();
		return false;
	}
}


function checkTele(field)
{
    if (field.value.length == 0)
	{ return true; }
	
	var valid = "0123456789-()"
	var ok = "yes";
	var temp;
	for (var i=0; i<field.value.length; i++)
	{
		temp = "" + field.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = "no";
	}

	
	s = field.value;
	filteredValues = "abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ~!@#$%^&*_+{}:<>?|`=[]\\;',./\"";
	var i;
	var returnString = "";
	for (i = 0; i < s.length; i++)
	{
		var c = s.charAt(i);
		if (filteredValues.indexOf(c) == -1) returnString += c;
	}
	field.value = returnString.toUpperCase();
}

function keepChecked(field)
{
	field.checked = true;
	return true;
}

function keepUnChecked(field)
{
	field.checked = false;
	return true;
}

function onlychar(field)
{
    if (field.value.length == 0)
	{ return true; }
	
	var valid = "abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	var ok = "yes";
	var temp;
	for (var i=0; i<field.value.length; i++)
	{
		temp = "" + field.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = "no";
	}
	
	s = field.value;
	filteredValues ="0123456789~!@#$%^&*()_+{}:<>?|`-=[]\\;',./\"";
        
	var i;
	var returnString = "";
	for (i = 0; i < s.length; i++)
	{
		var c = s.charAt(i);
		if (filteredValues.indexOf(c) == -1) returnString += c;
	}
	field.value = returnString.toUpperCase();
}


function PCase(STRING){
var strReturn_Value = "";
var iTemp = STRING.length;
if(iTemp==0){
return"";
}
var UcaseNext = false;
strReturn_Value += STRING.charAt(0).toUpperCase();
for(var iCounter=1;iCounter < iTemp;iCounter++){
if(UcaseNext == true){
strReturn_Value += STRING.charAt(iCounter).toUpperCase();
}
else{
strReturn_Value += STRING.charAt(iCounter).toLowerCase();
}
var iChar = STRING.charCodeAt(iCounter);
if(iChar == 32 || iChar == 45 || iChar == 46){
UcaseNext = true;
}
else{
UcaseNext = false
}
if(iChar == 99 || iChar == 67){
if(STRING.charCodeAt(iCounter-1)==77 || STRING.charCodeAt(iCounter-1)==109){
UcaseNext = true;
}
}


} //End For

return strReturn_Value;
} //End Function
function ValidateMobile(field)
{
	if (field.value.length != 0)
	{ 
		if (field.value.length != 10  )
		{
		alert("The mobile number is not valid,it should be of 10 digits");
		field.focus();
		return false;
		}
			return true;
	} 
}
function ValidateSmsid(field)
{
	if (field.value.length = 0)
	{ 
		alert("The smsid should not be blank!");
		field.focus();
		return false;
	}
			return true;
}
//by Ramesh it works for post back also work on onkeypress
function ValidateNumber()
		{
		
			var keycode=window.event.keyCode;  
			if (!((keycode >=48 && keycode <=57) ||keycode==8 ))
			{					
				window.event.keyCode=0;
				return false;
			}
			return true;

		}
		
		function ValidateRatNumber()
		{
		
			var keycode=window.event.keyCode;  
			if (!((keycode >=48 && keycode <=57) ||keycode==8 ||keycode==46 ))
			{					
				window.event.keyCode=0;
				return false;
			}
			return true;

		}
		function ValidatePaisa(obj){
		//debugger
				if (obj.value.length != 0){
					var dtCh= ".";
					var pos1=obj.value.indexOf(dtCh)
					var strpaisa=obj.value.substring(pos1+1)
					if(pos1!=-1){
					 if (strpaisa.length > 2){
						alert("Please enter a valid Paisa Up to Two Digit");
						obj.focus();
						return false;}
						return true;}}}	
		
function keepDisable(field)
{
	field.enabled = false;
	return true;
}
// date parsing function
function calprsdate (str_date) {

	var arr_date = str_date.split('-');

	if (arr_date.length != 3) return alert ("Invalid date format: '" + str_date + "'.\nFormat accepted is yyyy-mm-dd.");

	if (!arr_date[0]) return alert ("Invalid date format: '" + str_date + "'.\nNo year value can be found.");
	if (!RE_NUM.exec(arr_date[0])) return alert ("Invalid year value: '" + arr_date[0] + "'.\nAllowed values are unsigned integers.");

	if (!arr_date[1]) return alert ("Invalid date format: '" + str_date + "'.\nNo month value can be found.");
	if (!RE_NUM.exec(arr_date[1])) return alert ("Invalid month value: '" + arr_date[1] + "'.\nAllowed values are unsigned integers.");

	if (!arr_date[2]) return alert ("Invalid date format: '" + str_date + "'.\nNo day of month value can be found.");
	if (!RE_NUM.exec(arr_date[2])) return alert ("Invalid day of month value: '" + arr_date[2] + "'.\nAllowed values are unsigned integers.");



	var dt_date = new Date();
	dt_date.setDate(1);

	if (arr_date[0] < 100) arr_date[0] = Number(arr_date[0]) + (arr_date[0] < NUM_CENTYEAR ? 2000 : 1900);
	dt_date.setFullYear(arr_date[0]);


	if (arr_date[1] < 1 || arr_date[1] > 12) return alert ("Invalid month value: '" + arr_date[1] + "'.\nAllowed range is 01-12.");
	dt_date.setMonth(arr_date[1] - 1);
	 

	var dt_numdays = new Date(arr_date[0], arr_date[1], 0);
	dt_date.setDate(arr_date[2]);
	if (dt_date.getMonth() != (arr_date[1]-1)) return alert ("Invalid day of month value: '" + arr_date[2] + "'.\nAllowed range is 01-"+dt_numdays.getDate()+".");

	return (dt_date)
}

