var isDealer = false;

$(document).ready(function(){		
	/* related to google search */
	$("#queryText").keypress(function(e){		
		if(e.keyCode == 13) doSearch( $(this).val() );
	});
	
	$("#doSearch").click(function(){
		doSearch($("#queryText").val());
	});
	
	/* related to ajax login */
	var ajaxLogin= $("#ajaxLogin");
	var ajaxReg= $("#ajaxRegister");
	
	$("#login").click(function(){		
		ajaxLogin.toggleClass("showAjaxLogin", true);
		var pos = $(this).position(); // get the position of the login link
		var posLeft = pos.left + 58 - $(ajaxLogin).width(); // adjust the left position
		var posTop = pos.top;
		ajaxLogin.css({top: posTop, left: posLeft}).show(); // set the login div position as per the position of the login link	
		
		ajaxReg.hide();
	});
	
	$("#reg").click(function(){		
		ajaxReg.toggleClass("showAjaxLogin", true);	
		var pos = $(this).position(); // get the position of the login link
		var posLeft = pos.left; // adjust the left position
		var posTop = pos.top;
		ajaxReg.css({top: posTop, left: posLeft}).show(); // set the login div position as per the position of the login link
		
		ajaxLogin.hide();
	});
	
	$("#doLogin").click(function(){
		requestLogin();
	});
	
	$("#txtLoginId").click(function(){
		if( $(this).val() == "Login Id" || $(this).val() == "Email" )
			$(this).val("");
	}).blur(function(){
		if( $(this).val() == "" ){
			if( isDealer )
				$(this).val("Login Id");
			else
				$(this).val("Email");
		}
	});
	
	$("#txtPassword").click(function(){// Password
		if( $(this).val() == "password" )
			$(this).val("");
	}).blur(function(){
		if( $(this).val() == "" ){		
			$(this).val("password");
		}
	});
	
	$(".tabs li").click(function(){			
		$(".tabs li").removeClass("sel").addClass("normal");
		$(this).addClass("sel");
		
		// check who is login(dealer or individual)
		if($(this).find("span").html().toLowerCase() == "dealer"){				
			isDealer = true;
			$("#txtLoginId").val("Login Id");
		}else{
			isDealer = false;
			$("#txtLoginId").val("Email");
		}
		
		$("#txtPassword").val("password");
	});
});

function requestLogin(){			
	var loginId = $("#txtLoginId").val().toLowerCase();
	var passwd = $("#txtPassword").val();
	var chkRemMe = $("#chkRemMe").attr("checked") ? true : false;
	
	if( validatedLogin(loginId, passwd) ){		
		$.ajax({
			type: "POST",
			url: "/ajaxpro/CarwaleAjax.AjaxCommonPro,CarwaleAjax.ashx",
			data: '{"loginId":"'+ loginId +'","pwd":"'+ passwd +'","rememberMe":'+ chkRemMe +',"isDealer":'+ isDealer +'}',
			beforeSend: function(xhr) { xhr.setRequestHeader("X-AjaxPro-Method", "UserLogin"); },
			success: function(response){
				var loginStatus = eval('('+ response +')');				
				if(loginStatus.value == true){							
					if( isDealer ){
						location.href = "/dealer/members/membersdefault.aspx";
					}else{
						$.ajax({
							type: "POST",
							url: "/ajaxpro/CarwaleAjax.AjaxCommonPro,CarwaleAjax.ashx",
							data:{},
							beforeSend: function(xhr) { xhr.setRequestHeader("X-AjaxPro-Method", "GetCurrentUserName"); },
							success: function(userName) {
								var userName = eval('('+ userName +')');								
								$("#login1_lblUser").html(userName.value); // update user name
								$("#login1_hrefLogin").attr("href","/users/login.aspx?logout=logout").html("<b>Logout</b>"); // update logout href
								$("#login1_spnReg").hide();
								$("#ajaxLogin").hide();								
							}
						});	
					}													
				}else{
					alert("Invalid login details. Please try again.");
				}				
			}
		});
	}
}

function validatedLogin(loginId, password){
	var isError = false;
	var reEmail = /^[a-z]+(([a-z_0-9]*)|([a-z_0-9]*\.[a-z_0-9]+))*@([a-z_0-9\-]+)((\.[a-z]{3})|((\.[a-z]{2})+)|(\.[a-z]{3}(\.[a-z]{2})+))$/;
	
	if( loginId == "" || password == "" ){
		alert("Required field can not be left blank");
		isError = true;
	}
	
	// Validate email address only in case of Individual login because Individual login through email and dealer login through login id
	if( isError == false && isDealer == false && !reEmail.test( loginId ) ){ 
		alert("Invalid login details. Please try again with valid login details.");
		isError = true;
	}
	
	if( isError ){ return false; }
	else{ return true };
}

function closeLogin(){
	$("#ajaxLogin,#ajaxRegister").hide();	
}

function doSearch(query){
	location.href = "/search/results.aspx?cx=002963291331112848676:ccmsgcrw20s&cof=FORID:9&ie=UTF-8&q=" + query + "&sa=Search&siteurl=www.carwale.com-F#988";
}

/* Argument Desc: 1. js object 2. id if the dropdown you want to fill 
3. associated hidden field to manage post back(view state) 4. array of dependent dropdowns. 5. string at index 0 like --select-- or any  */
function bindDropDownList(response, cmbToFill, viewStateId, dependentCmbs, selectString) {			
	if( response.Table != null ){
		if( !selectString || selectString == '' ) selectString = "--Select--";
		$(cmbToFill).empty().append("<option value=\"0\">"+ selectString +"</option>").attr("disabled", false);
		
		var hdnValues = "";
		
		for( var i = 0; i < response.Table.length; i++ ){
			$(cmbToFill).append("<option value="+ response.Table[i].Value + ">" + response.Table[i].Text + "</option>");
			
			if( hdnValues == "" )
				hdnValues += response.Table[i].Text + "|" + response.Table[i].Value;
			else
				hdnValues += "|" + response.Table[i].Text + "|" + response.Table[i].Value;
		}		
		
		if( viewStateId ) $("#" + viewStateId).val(hdnValues);
	}
	
	if(dependentCmbs && dependentCmbs.length > 0 ){
		for(var i=0; i<dependentCmbs.length; i++){
			$("#" + dependentCmbs[i]).empty().attr("disabled", true);
		}
	}
}

function showLoading(objId) {
    $(objId).append("<option value='0'>--Loading--</option>");
    //document.getElementById(objId).options[0].text = "";		
}

