function ValidateDate(obj)
			{
					if (obj.value.length != 0)
					{
						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 strMonth=dtStr.substring(0,pos1)
				var strDay=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 : mm/dd/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 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 ReadOnlyFileField(field)
{
    if (field.value.length == 0)
	{ return true; }
	field.value = "";
}
function onlyCountryCode(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 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 onlySpecialAlphaNumeric(field)
{
    if (field.value.length == 0)
	{ return true; }
	//         [ ( ] ) , * &
	var valid = "-abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'._&*,[]()";
	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 ="~!@#$%^+{}:<>?|`=\\;/\"";
        
	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 onlyalphaNumeric(field)
{
    if (field.value.length == 0)
	{ return true; }
	
	var valid = "-abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'._";
	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 ="~!@#$%^&*()+{}:<>?|`=[]\\;,/\"";
        
	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 onlyEmailId(field)
{
    if (field.value.length == 0)
	{ return true; }
	
	var valid = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789._-";
	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 ="~!#$%^&*()+{}:<>?|`=[]\\;,/\"'";
        
	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 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 validRequired(formField)
{
	var result = true;
	if (formField.value == "" || formField.value ==null)
	{
		alert('Fields marked with * are mandatory');
		formField.focus();
		result = false;
	}
	return result;
}




function onlyNumericHypen(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();
}


