var sys_img_path = '../../../';

$(document).ready(function(){
	$("#agentname").focus();
	$("#btn_forgottenPassword").click(function(){ toggleForm(1); })
	$("#btn_loginnow").click(function(){ toggleForm(0); })
	$("#frm_agentlogin").validate({
		rules: {
			agentname: { required: true },
			agentpassword: { required: true }
		},
		messages: {
			agentname: { required: "Username cannot be left empty." },
			agentpassword: { required: "Password cannot be left empty." }
		},
		submitHandler: function() { doLogin(); }
	});	
	$("#frm_agentrtvpw").validate({
		rules: {
			agentemail: { required: true, maxlength: 100, email: true }
		},
		messages: {
			agentemail: { required: "Email cannot be left empty." }
		},
		submitHandler: function() { doRetrieve(); }
	});
});


doLogin = function(){
	var saveLoad_html = "<img src=\""+sys_img_path+"images/ajaxloader_bert2.gif\" alt=\"\"/><span>Authenticating ... </span>";
	var saveBtn_html = "<button type=\"submit\" name=\"validate\" id=\"validate\"><b>Login</b></button>";
	$("#frm_agentlogin").ajaxSubmit({
		url: $("#frm_agentlogin").attr("action"),
		type: $("#frm_agentlogin").attr("method"),
		timeout: 300000,
		beforeSubmit: function(){
			$("#box_loginbtn").hide().html(saveLoad_html).fadeIn(300);
		}, 
		error: function(xhr, desc, e) {
			var msg = (desc == 'timeout') ? 'Connection 5 minutes Time Out, Please try again Later.': desc;
			if(desc == 'timeout')
				alert("5 minutes time out. Your connection seems to be very slow. Please try logging in later.");
			else
				alert(desc);
//			alert(xhr.responseText);
		},
		success: function(msg){
/*
			alert(msg);
*/
			var msg_arr = msg.split("||");
			switch(msg_arr[0]){
				case "0":
					$("#loginform_progressmsg").hide().html(msg_arr[1]).fadeIn(300);
					break;
				case "1":
					$("#loginform_progressmsg").hide().html("Passed authentication, redirecting to dash board.").fadeIn(300);
					window.location = msg_arr[1];
					break;
			}
		},
		complete: function(){
			$("#box_loginbtn").hide().html(saveBtn_html).fadeIn(300);
		}
	}); 
	return false;
}


doRetrieve = function(){
	var saveLoad_html = "<img src=\""+sys_img_path+"images/ajaxloader_bert2.gif\" alt=\"\"/><span>Sending password ... </span>";
	var saveBtn_html = "<button type=\"submit\" name=\"retrieve\" id=\"retrieve\"><b>Retrieve Password</b></button>";
	$("#frm_agentrtvpw").ajaxSubmit({
		url: $("#frm_agentrtvpw").attr("action"),
		type: $("#frm_agentrtvpw").attr("method"),
		timeout: 120000,
		beforeSubmit: function(){
			$("#box_rtvbtn").hide().html(saveLoad_html).fadeIn(300);
		}, 
		error: function(xhr, desc, e) {
			var msg = (desc == 'timeout') ? 'Connection 2 min Time Out, Please try again Later.': desc;
			alert("Failed to save: " + msg);
			alert(xhr.responseText);
		},
		success: function(msg){
/*
			alert(msg);
*/
			var msg_arr = msg.split("||");
			switch(msg_arr[0]){
				case "0":
					$("#rtvform_progressmsg").hide().html(msg_arr[1]).fadeIn(300);
					break;
				case "1":
					$("#rtvform_progressmsg").hide().html("Password has been sent to your email.").fadeIn(300);
					setTimeout('$("#btn_loginnow").click()', 2000);
					break;
			}
		},
		complete: function(){
			$("#box_rtvbtn").hide().html(saveBtn_html).fadeIn(300);
		}
	}); 

	return false;
}

toggleForm = function(form){
	//[0] = forgoten password
	//[1] = login form
	
	switch(form){
		case 1:
			$("#box_agentlogin").hide();
			$("#box_agentrtvpw").hide().fadeIn(300);
			break;
		case 0:
			$("#box_agentlogin").hide().fadeIn(300);
			$("#box_agentrtvpw").hide();
			break;
	}
}