function trim(s)
{
	var l=0; var r=s.length -1;
	while(l < s.length && s[l] == ' ')
	{	l++; }
	while(r > l && s[r] == ' ')
	{	r-=1;	}
	return s.substring(l, r+1);
}

function checkMobileNumber(mobile_no) {
	if( !IsOnlyNumbers(mobile_no) ) return "Only numbers are allowed in Mobile number!";
	else if( mobile_no.length != 10 ) return "Mobile number must be 10 characters long!";
	else if( mobile_no.charAt(0) != '9' && mobile_no.charAt(0) != '8' && mobile_no.charAt(0) != '7' ) return "First digit of your mobile number must be 9";
	//else if(mobile_no.substring(0, 2)=='91') return "First digit of your mobile number must be 9";
	else return false;
}

function IsOnlyNumbers(str) {
	var nonums = /^[0-9]*$/;
	if (nonums.test(str))
	return true;
	else
	return false;
}

function IsOnlyZeros(str) {
	var nonums = /^[0]*$/;
	if (nonums.test(str))
	return true;
	else
	return false;
}

function CountingMobileZeros(mobile_no){
	var count = 0;

	for(i=mobile_no.length;i>(mobile_no.length-5);i--){
		var chr = mobile_no.charAt(i);
		if(chr=='0'){
			count++;
		}
	}
	if(count<4)
		return true;
	else
		return false;
}

function textCounter(field,cntfield,maxlimit) {
	if (field.value.length > maxlimit)
	field.value = field.value.substring(0, maxlimit);
	else
	cntfield.value = maxlimit - field.value.length;
}

function showHide(obj, img_obj) {
//alert(obj);
//alert(img_obj);

	if(!document.getElementById(obj)) return false;

	div = document.getElementById(obj);
	//alert(div.className);
	if(div.className == 'hide') {

		if(img_obj.src.indexOf('trv_plus4.gif') != -1) {
			pos = img_obj.src.indexOf('trv_plus4.gif');
			rep_img = "trv_topminus.gif";
		}
		else if(img_obj.src.indexOf('trv_intersecplus.gif') != -1) {
			pos = img_obj.src.indexOf('trv_intersecplus.gif');
			rep_img = "trv_intersecminus.gif";
		}
		else if(img_obj.src.indexOf('trv_intersecplus_end.gif') != -1) {
			pos = img_obj.src.indexOf('trv_intersecplus_end.gif');
			rep_img = "trv_intersecminus_end.gif";
		}
		img_obj.src = img_obj.src.substring(0, pos) + rep_img;
		div.className = 'show';
	}else {
		if(img_obj.src.indexOf('trv_topminus.gif') != -1) {
			pos = img_obj.src.indexOf('trv_topminus.gif');
			rep_img = "trv_plus4.gif";
		}
		else if(img_obj.src.indexOf('trv_intersecminus.gif') != -1) {
			pos = img_obj.src.indexOf('trv_intersecminus.gif');
			rep_img = "trv_intersecplus.gif";
		}
		else if(img_obj.src.indexOf('trv_intersecminus_end.gif') != -1) {
			pos = img_obj.src.indexOf('trv_intersecminus_end.gif');
			rep_img = "trv_intersecplus_end.gif";
		}
		img_obj.src = img_obj.src.substring(0, pos) + rep_img;
		div.className = 'show';
		div.className = 'hide';
	}
}

function checkParent(parent, id, this_obj) {
	if(this_obj.checked) {
		for(var i=1; i<=id; i++) {
			obj = document.getElementById(parent + '_' + i);
			obj.checked = true;
		}
	}
	else {
		for(var i=1; i<=id; i++) {
			obj = document.getElementById(parent + '_' + i);
			obj.checked = false;
		}
	}
}

function IsOnlyChars(name) {
    str = "0123456789";
	//alert(name);
    for(i=0; i<name.length; i++) {
        if(str.indexOf(name.charAt(i)) != -1) {
            return true;
        }
    }
    return false;
}

function IsAlphaNumeric(name){
	var str="123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ";
	var flag = 0;
    for(i=0; i<name.length; i++) {
        if(str.indexOf(name.charAt(i)) != -1) {
            flag = 0;
        }else{
			flag = 1;			
			return true;
		}
    }
	return false;
}

function MobileNumeric(name){
	var nonums = /^[0-9A-Za-z- ]*$/;
	if (nonums.test(name))
		return true;
	else
		return false;
}

function containSpecialCharacters(str, exclude) {
    
    var iChars = "! @#$%^&*()+=-[]\\\';,./{}|\":<>?";
    if(exclude) {
        for (var j=0; j < exclude.length; j++) {
            iChars = iChars.replace(exclude.charAt(j), '');
        }
    }
	//alert(iChars);
    for (var i = 0; i < str.length; i++) {
        if (iChars.indexOf(str.charAt(i)) != -1) {
            return true;
        }
    }
    return false;
}

function CheckPinCode(str){
	if(str=='') return "Please enter Pincode.";
	else if( !IsOnlyNumbers(str) ) return "Only numbers are allowed in Pincode.";
	else if( str.length != 6 ) return "Pincode must be 6 characters long.";
	else if( str.charAt(0) == '0' ) return "First digit of your pincode number must be other 0.";
	else return false;
}

function checkFirstLastCharacter(str) {

    var iChars = "_.";

    //for First character
    if (iChars.indexOf(str.charAt(0)) != -1) {
        return true;
    }
    //for Last character
    if (iChars.indexOf(str.charAt(str.length-1)) != -1) {
        return true;
    }
}



function checkNameValidity(name) {
	if(name=='') return "Please enter ";
    else if( containSpecialCharacters( name, ' ')) return "Special characters are not allowed in ";
    else if( checkFirstLastCharacter(name) ) return "Special characters are not allowed at Start or End of ";
    else if(IsOnlyChars(name)) return "Only alphabets are allowed in ";
    else return false;
}


// Validation for Registration Module

function CapitalizeMe(val) {
	
	var CapitalString = val.toUpperCase();
	var firstchar = CapitalString.substring(0,1);
	var reststring = CapitalString.substring(1);
	var SmallString = reststring.toLowerCase();

	var name = firstchar+SmallString;
	return name;
}

function UserNameValidity(str){
	var UserNameFilter = /^[a-zA-Z0-9_]{4,12}$/;
	
	if(str.length < 4) return "Username has to be 4-12 characters.";
	else if(str.length > 12) return "Username has to be 4-12 characters.";
	else if(!UserNameFilter.test(str)) return "Special characters are not permitted.";
	else return false;
}

function LoginUserNameValidity(str){
	var str="123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_- ";
	var flag = 0;
    for(i=0; i<name.length; i++) {
        if(str.indexOf(name.charAt(i)) != -1) {
            flag = 0;
        }else{
			flag = 1;			
			return true;
		}
    }
	return false;
}

function inValidPassword(text) {
    if(text.length < 6) return 'Password has to be 6-18 characters.';
    else if(text.length >18) return 'Password has to be 6-18 characters.';
    else if(containSpecialCharacters(text)) return "Password can't have special characters.";
}

function NameValidity(str){
	var NameFilter = /^[A-Za-z ]{1,}$/;
	if(!NameFilter.test(str)) return "Name appears to be incorrect.";
	else return false;
}

function EmailValidity(str){
	//var EmailFilter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	var EmailFilter = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;

	if(!EmailFilter.test(str)) return "Email address seems to be incorrect.";
	else return false;
}

function MobileValidity(mobile_no) {
	if( !IsOnlyNumbers(mobile_no) ) return "Mobile number seems to be incorrect.";
	else if( mobile_no.length != 10 ) return "Mobile number must be 10 characters long.";
	else if( mobile_no.charAt(0) != '9' && mobile_no.charAt(0) != '8' && mobile_no.charAt(0) != '7') return "Mobile number seems to be incorrect.";
	else return false;
}

function MobileValidityNRI(mobile_no) {
	if( !IsOnlyNumbers(mobile_no) ) return "Mobile number seems to be incorrect .";
	else if( mobile_no.length < 6 ) return "Mobile number must be greater 6 characters .";
	else if( IsOnlyZeros(mobile_no) ) return "Mobile number has all digit zeros .";
	else if( !CountingMobileZeros(mobile_no) ) return "Mobile number seems to be incorrect .";
	else return false;
}

/*function CityValidity(str){
	var NameFilter = /^[A-Za-z0-9 ]{1,}$/;
	
	if(!NameFilter.test(str)) return "City name appears to be incorrect.";
	else return false;
}*/

function CityValidity(str){
	var NameFilter = /^[A-Za-z0-9 ]{1,}$/;	
	if(!NameFilter.test(str)) return "City name appears to be incorrect.";
	else if( IsOnlyNumbers(str) ) return "City name appears to be incorrect.";
	else return false;
}

function CodeValidity(code) {
	if( !IsOnlyNumbers(code) ) return "Verification code entered seems to be incorrect.";
	else return false;
}

function EmailCodeValidity(code){
	if( !IsOnlyChars(code) ) return "Verification code entered seems to be incorrect.";
	else return false;
}

function checkEnter(e){
       var characterCode;
	
       if(e && e.which){
               e = e
               characterCode = e.which;
       }
       else{
               e = event;
               characterCode = e.keyCode;
       }

       if(characterCode == 13){
               gotoRegStep2();
               return false;
       }
       else{
               return true;
       }
}


function getAllMobileModels(brandid){
	var url = urlpath+"GetAllMobileModels.php?brandid="+brandid;
	//alert(url);
	httpObj.open("GET",url,true);
	//httpObj.onreadystatechange = UpdateMobileModels ;
	httpObj.onreadystatechange = function(){
		if(httpObj.readyState==4){
		var strContent=httpObj.responseText;
		//alert(httpObj.responseText);
		document.getElementById("phonemodels").innerHTML=strContent;
	  }
	}
	httpObj.send(null);
}

function getModelImage(model){
	brand = document.getElementById("mobile_brand_id").value;
	var url = urlpath+"MobileImages.php?model=" + model + "&brand=" + brand;
	alert(url);
	httpObj.open("GET",url,true);
	//httpObj.onreadystatechange = UpdateMobileModels ;
	httpObj.onreadystatechange = function(){
		if(httpObj.readyState==1||httpObj.readyState==2||httpObj.readyState==3){
				document.getElementById("modelsimage").innerHTML = "<p style='text-align:center;margin-top:50px;margin-bottom:3px;'><img src='./images/loadinfo.net.gif'></p>";
		}
		if(httpObj.readyState==4){
		var strContent=httpObj.responseText;
		alert(httpObj.responseText);
		document.getElementById("modelsimage").innerHTML=strContent;
	  }
	}
	httpObj.send(null);
}

///////////////////////////////////Tool Tip ///////////////////////


function attachTooltip(elementId){

	if($(elementId)){
		Event.observe(elementId, 'focus', onfocusEle, false);
		Event.observe(elementId, 'blur', onblurEle, false);
		//	   Event.observe(elementId, 'mouseover', onfocusEle, false);
		//	   Event.observe(elementId, 'mouseout', onblurEle, false);
	}
};

function onblurEle(e){
	
	var id = Event.element(e).id;
	$(id).className = "inputstyle" ;
	$("h-" + id).className = "field-hint-inactive" ;
};

function onfocusEle(e){
	
	if($(selected_field)) {
		$("h-" + selected_field).className = "field-hint-inactive" ;
		$(selected_field).className = "inputstyle" ;
	}
	var id = Event.element(e).id;
	//$(id).className = "inputstyle-focus" ;
	
	if(navigator.appName=='Microsoft Internet Explorer')
		$("h-" + id).className = "field-hintIE";
	else
		$("h-" + id).className = "field-hint";
};

//only for home page tool-tip
/*function attachHomeTooltip(elementId) {

	if($(elementId)){
		Event.observe(elementId, 'focus', onfocusEleHome, false);
		Event.observe(elementId, 'blur', onblurEleHome, false);
	}
};

function onblurEleHome(e) {
	var id = Event.element(e).id;
	$(id).className = "inputstyle" ;
	$("h-" + id).className = "field-hint-inactive" ;
};

function onfocusEleHome(e){
	if($(selected_field)) {
		$("h-" + selected_field).className = "field-hint-inactive" ;
		$(selected_field).className = "inputstyle" ;
	}
	var id = Event.element(e).id;
	$(id).className = "inputstyle-focus" ;
	$("h-" + id).className = "field-hint-home" ;
};*/

//only for home page tool-tip

selected_field = '';

function Highlight(id){
	selected_field = id;
	$(id).focus();
};


function CropPhoto()
{

width = document.getElementById("width").value;
height = document.getElementById("height").value;
x1 = document.getElementById("x1").value;
x2 = document.getElementById("x2").value;

alert(width);
alert(x1);
alert(x2);

}
////////////////////////////////////////////////////////////
var response = 0;
var nn;

function SKclass (obj,Rate,speed) {
	 var oL=obj.offsetLeft;
	 //var oT=obj.offsetTop;
	 var oT=obj.offsetRight;
	 this.stop=null;
	 this.oTime=null;
	 var om=this;
	 this.start=function(){
			 if(parseInt(obj.style.left)==oL-2){
				//obj.style.top=oT+2+"px";
				obj.style.right=oT+2+"px";
				setTimeout(function(){obj.style.left=oL+2+"px"},Rate)
			 }
			 else{
				//obj.style.top=oT-2+"px";
				obj.style.right=oT-2+"px";
				setTimeout(function(){obj.style.left=oL-2+"px"},Rate)
			}
		this.oTime=setTimeout(function(){om.start()},speed);
	 }
	 this.stop=function(){
	   clearTimeout(this.oTime);		 
	 }
}

function ShowShakingErrorMessage(DivName){
	var m=document.getElementById(DivName);
	var nn=new SKclass(m,20,70);
	nn.start();
}
