;(function($) {
	$.fn.login = function(options) {
	  
		var settings = $.extend({}, $.fn.login.defaults, options);
		//$.log('login init: ' + settings.loginSuccessPage);
			
		return this.each(function() {
			
			var $this = $(this);
			$this.find("#ziplocRegister").after('<div id="loginClose"><img src="/en/images/ui/ziploc-close-btn.gif" height="13" width="13" alt="Close" /></div>');
			var $closeBtn = $("#loginClose");
			var $navTrigger = $("#nav-7");
			var $forgotPW = $("#ziplocPasswordReminder a");
			var $registerBtn = $("ziplocRegister a");
			var $loginBtn = $("input#ziplocLoginButton");
			
			$navTrigger.click(function(){
				//$.log(settings.loginSuccessPage);
				//$.log('navTrigger clicked');
				if ($.cookie("ziplocEmail")) {
					window.location = settings.loginSuccessPage;
					return false;
				} else {
					$this.fadeIn(300);
					//$this.fadeToggle(300);
					return false;
				}
			});
									
			$closeBtn.click(function(){
				//$.log('closeBtn clicked');
				$this.fadeOut(300);
				return false;
			});
			
			$loginBtn.click(function(){
				$this.doLogin(settings.loginSuccessPage);
				return false;
			});

			$forgotPW.click(function(){
				$this.doforgotPW();
				return false;
			});


			
		});
	};
	
	$.fn.doLogin = function(redirectPage) {
	  	//var defaults = $this.data('settings');
		//var settings = $.extend({}, defaults, options);
		$(":input").removeClass("error");


			
		$.ajax({
			type:		"POST",
			url:		"/services/UserLogin.ashx",
			data:		"email=" + $("#ziplocEmail").val() +
							"&password=" + $("#ziplocPassword").val(),
			
			success:	function(responseText) {
			  //alert(responseText);
				//$.log(responseText)
				$(":input").removeClass("error");
				
				/*
				Let's describe the messaging here...
				*/
				
				var b = new Array();
				var a = responseText.split('&');
				for(i=0; i<a.length; i++){
					b[i] = a[i].substring(a[i].indexOf("=")+1);
					//alert(i +":"+ b[i])
				}
				
				if (b[0] == "Errors") {
					//$("#form-error").css("display", "block");
					//$("#form-error").text(b[1]);
					
					var e = b[2].split(';');
					for(j=0; j<e.length; j++){
						$("#ziploc" + $.string(e[j]).capitalize().str).addClass("error");
					}
				} else if (b[0] == "False") {
					//$("#form-error").css("display", "block");
					//$("#form-error").text(b[1]);
					$.log(b[1]);
					if (b[1] == "No such profile") {
						$("#ziplocEmail").addClass("error");
					} else {
						$("#ziplocPassword").addClass("error");
					}
				} else {
					//$("#form-error").css("display", "hidden");
					$.cookie("ziplocEmail", $("#ziplocEmail").val(), {path: '/'});
					$.cookie("NumberBonusEntriesAwarded", b[2], {path: '/'});
					$.cookie("BonusPagesAwarded", b[3], {path: '/'});
					window.location = redirectPage;
					//$.log(redirectPage)
					//window.location = "/en/my-ziploc/myziploc-profile.aspx";
	
				}
				
			}
		});
		return false;
	};
			
	$.fn.resetLogin = function(requested) {
		return this.each(function() {
			
		});
	};

	$.fn.login.defaults = {
		loginSuccessPage: "/en/my-ziploc/myziploc-profile.aspx",
		forgotPasswordPage: "",
		errorClass: "error"
	};


	$.fn.doforgotPW = function() {
		$(":input").removeClass("error");
		var $pageurl = window.location;
		var $lang = $pageurl.toString().indexOf("fr") != -1 ? "fr" : "en";
		$.ajax({
			type:		"POST",
			url:		"/services/ForgotPassword.ashx",
			data:		"email=" + $("#ziplocEmail").val() + "&Language=" + $lang,
			success:	function(responseText) {
				//alert(responseText);
				//$.log(responseText)
				$(":input").removeClass("error");
				
								
				var b = new Array();
				var a = responseText.split('&');
				for(i=0; i<a.length; i++){
					b[i] = a[i].substring(a[i].indexOf("=")+1);
					//alert(i +":"+ b[i])
				}
				
				if (b[0] == "Errors") {
					$("#ziplocEmail").addClass("error");
					return false;
					} else {
						$("#msg").html("Password is sent to your email.");
						return false;
				}
				
			}
		});
		return false;
	};

})(jQuery);
