//*********************vijay chandel(15/01/2008) for error messages alongwith parsing
//function to check valid space
function spaceCheck(text){
	var chk = "!@#$%^&*()<>?;:''";
	var lent,flag = true;
	lent = text;
	for(i = 0; i<lent.length; i++){
		for(j = 0; j<chk.length; j++){
			if(lent.charAt(i) == chk.charAt(j)){
				flag = false;
				break;
			}
		}
	}
	if(flag){
		return true;
	}
	else{
		return false;
	}
}

//function to check valid string
function stringCheck(text){
	var chk = "~!@#$%^&*()_+`-={}|[]\:\";\'<>?,./";//  "!@#$%^&*()<>?:;''";
	var lent;
	lent = text;
	for(i = 0; i<lent.length; i++){
		for(j=0; j<chk.length; j++){
			if(lent.charAt(i) == chk.charAt(j)){
				return false;
			}
		}
	}
	return true;
}

//function to check valid Integer
function integerCheck(text){
	var chk = "0123456789";
	var lent, ans, flag = false;
	lent = text;
	for(i = 0; i<lent.length; i++){
		for(j = 0; j<chk.length; j++){
			if(lent.charAt(i) == chk.charAt(j)){
				if(ans == 1){
					break;
				}
				flag = true;
				ans = 0;
				break;
			}
			else{
				if(j == chk.length-1){
					ans = 1
					break;
				}
			}
		}
	}
	if(ans == 0){
		return true;
	}
	else{
		return false;
	}
}

//function to check valid email address.
function isValidEmail(strEmail){
	validRegExp = /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/;
	if(strEmail.search(validRegExp) == -1){
		return false;
	}
	return true;
}

//function to check space left and right.
function ltrim(argvalue){
	while (1){
		if(argvalue.substring(0, 1) != " ")
		break;
		argvalue = argvalue.substring(1, argvalue.length);
	}	
	return argvalue;
}

function rtrim(argvalue){
	while (1){
		if (argvalue.substring(argvalue.length - 1, argvalue.length) != " ")
		break;
		argvalue = argvalue.substring(0, argvalue.length - 1);
	}
	return argvalue;
}

function trim(argvalue){
  var tmpstr = ltrim(argvalue);
  return rtrim(tmpstr);
}

function isblank(s){
  for(var i = 0; i < s.length; i++){
     var c = s.charAt(i);
     if ((c != ' ') && (c != '\n') && (c != '\t'))
        return false;
  }
  return true;
}

//function to check valid user name
function validateName(name,fieldname){
	var iChars = "`~!@#$%^&*()+=-[]\\\';,/{}|\":<>?";
	for (var i = 0; i < name.length; i++){
		if (iChars.indexOf(name.charAt(i)) != -1){
			alert ("special characters are not allowed in " + fieldname + ".");
			return false;
		}
	}
	return true;
}

//function to check password and confim password
function isPass(pass1,pass2){
	if ((pass1 == "") || (pass1.length < 6)){
		alert("\nThe password field is either empty or less than 6 chars.\n\nPlease enter your password.")
		return false;
	}
	if (pass1 != pass2){
		alert("Passwords typed do not match, please re-enter your passwords.\n\n");
		return false;
	}
	return true;
}

/*function isDate(mm,dd,yyyy){
	
	var d = new Date(mm + "/" + dd + "/" + yyyy);
	var d = new Date();
	return (d.getMonth() + 1 == mm && d.getDate() == dd && d.getFullYear() == yyyy);
}*/
function isDate(mm,dd,yyyy) 
{
   var d = new Date(mm + "/" + dd + "/" + yyyy);
   return d.getMonth() + 1 == mm && d.getDate() == dd && d.getFullYear() == yyyy;
}

//function to check date of birth
function getDOB(year){
	if (year < 70) return (2000 + year);
	if (year < 1900) return (1900 + year);
		return year;
}

function getDate(){
	
	var myDate = new Date();
	var birthDate = new Date(getDOB(myDate.getFullYear()),myDate.getMonth(),myDate.getDate());
	alert(birthDate);
	
}
/*function isDate(mm, dd, yyyy){
	var currDate = new Date();
	var thisDate = new Date();
	thisDate.setFullYear(yyyy, mm, dd);
	
	if(currDate.getFullYear() > thisDate.getFullYear()){
		return false;
	}
	if(currDate.getMonth()+1 > thisDate.getMonth()){
		return false;
	}
	if(currDate.getDate() > thisDate.getDate()){
		return false;
	}
	return true;
}*/

function isValidDate(mm, dd, yyyy){
	var currDate = new Date(); 
	var thisDate = new Date(); 
	thisDate.setFullYear(yyyy, mm, dd);
	if (thisDate.getFullYear() > currDate.getFullYear()) {
		return false;
	} 
	if (thisDate.getMonth() > currDate.getMonth()+1) {
		return false;
	} 
	if (thisDate.getDate() > currDate.getDate()) {
		return false;
	}
	return true;
} 

function IsNumeric(sText) {
	var ValidChars = "0123456789.";
	var IsNumber=true;
	var Char;
	var DotHolder = '';
	for (i = 0; i < sText.length && IsNumber == true; i++){ 
		Char = sText.charAt(i); 
		if (ValidChars.indexOf(Char) == -1){
			IsNumber = false;
		}
		if (Char == '.'){
			if (DotHolder == ''){
				DotHolder = Char;
			}else{
				IsNumber = false;							
			}
		}
	}
	if (sText.length == 1 && Char == '.') {
		IsNumber = false;
	}
	return IsNumber;	
}

function resetDefaultValues(what) {
    for (var i=0, j=what.elements.length; i<j; i++) {
        myType = what.elements[i].type;
        if (myType == 'checkbox' || myType == 'radio')
            what.elements[i].checked = what.elements[i].defaultChecked;
        if (myType == 'hidden' || myType == 'password' || myType == 'text' || myType == 'textarea')
            what.elements[i].value = what.elements[i].defaultValue;
        if (myType == 'select-one' || myType == 'select-multiple')
            for (var k=0, l=what.elements[i].options.length; k<l; k++)
                what.elements[i].options[k].selected = what.elements[i].options[k].defaultSelected;
    }
}

function countCharacters(obj, id, len) {
	var remLen = len - obj.value.length;
	if(remLen == 0) {
		obj.value = obj.value.substr(0, len);
		document.getElementById(id).innerHTML = remLen;
	}
	else if(remLen < 0) {
		obj.value = obj.value.substr(0, len);
		obj.focus();
	}
	else {
		document.getElementById(id).innerHTML = remLen;
	}
}
