$(document).ready(function() {

	var trans_login = 'Logga in';

	$("#pComment").bind('focus', function() 
	{ 
		if($(this).val() == $(this).attr('v'))
			$(this).val('');
	});
	
	$("#pComment").bind('blur', function() 
	{
		if($(this).val() == '')
			$(this).val($(this).attr('v'));
	});

	var debug = false;

	/*
	jQuery.ajaxSetup({ 
	contentType: "application/x-www-form-urlencoded;charset=ISO-8859-1" 
	});
	*/

	rebindCart();
	rebindCustomerInfo();

	$("#fastCheckoutFormSubmit").click(function() {

		var result = true;
		var resultForm = true;
		var alertText = "";

		$.getJSON("/shop/shopfunctions/fastCheckoutAJAXAction.asp?action=getWebUserLoginStatus", { emailAddress: $("#emailAddress").val(), orgNo: $("#orgNo").val() }, function(data) {
			//sätter alla varningar om det är några.
			checkIfCustomerExistsActions(data);

			if(!( $("#orgNoStatus").html() == '' ))
			{
				alertText = alertText + trans_org_no_is_already_in_use_please_enter_another +'. \n'+ trans_if_it_belongs_to_you_please_log_in +'.\n\n';
				//result = false;
			}
					
			if(( $("#denyPurchase").val() == '1' ))
			{
				alertText = alertText + 'Vänligen korrigera de artiklar som du beställt för många av\n';
				result = false;
			}

			if(!( $("#emailStatus").html() == '' ))
			{
				alertText = alertText + trans_email_is_already_beeing_used +'. \n'+ trans_if_it_belongs_to_you_please_log_in +'.\n\n';
				result = false;
			}
			
			if(!($("#disclaimer").attr("checked")))
			{
				alertText = alertText + trans_agree_with_the_terms_of_condition + '.\n\n';
				//result = false;
			}

			if (alertText !="")
			{
				alert(alertText);
				result = false;
			}
			
			if (result == true)
			{
		        var formObj = document.getElementById('fastCheckoutForm');
				resultForm = mySubmitForm(formObj);	
			}

			else
			{
				return false;
			}		

			if (resultForm == true && result == true)
			{
							
				$.post("/shop/shopfunctions/fastCheckoutAJAXAction.asp?action=fastCheckoutCustomerSubmit", $("#fastCheckoutForm").serialize(),function(data){

					//LÄÄGG TILL EN FUNKTION SOM *KOLLAR OM VI FÅTT NÅGOT TILLBAKA.
					//if  result = false;
					//alert(data);
					//alert("datat är:"+ $("#customerId").val());
					
					if($("#pComment").val() == $("#pComment").attr('v')) 
						$("#pComment").val('');
						
					if ($("#activeDiscountCode").val() != "" && $("#customerId").val() != "")
					{
						$.post("/shop/shopfunctions/fastCheckoutAJAXAction.asp?action=isCampaigncodeUsed", { campaignCode: $("#activeDiscountCode").val(), customerId: $("#customerId").val() } , function(response) {										
						var rArray = response.split(';');

						if (rArray[0] == '0')
						{
							alert('Du har redan använt denna kampanjkoden');
							$("#fastCheckoutFormSubmit").attr('disabled',false);
							return false;
						}
						$("#fastCheckoutForm").submit();						
					});
					}
					else						
						$("#fastCheckoutForm").submit();

				 });
			
			}

		});
	});  //slut fastCheckoutFormSubmit
				
	// Aktivera validering för alla inputfält för vald betaltyp
    	$("#customerData input[validateData*='"+$("input[name='payType']:checked").val()+",']").attr("validate","1");
		
	// Vid varje ajax-laddnings start skall popup visas + centreras
	$("#fastCheckout").ajaxStart(function(){
		$("#ajaxPopup").center();
		loadPopup();
		//centerPopup();
	 });

	// Vid varje ajax-laddnings slut skall popup döljas
	$("#fastCheckout").ajaxStop(function(){
		disablePopup();
	 });

	// Aktivera så att kommentatorsfältet växer efter behov
	//$("#pComment").growfield({});
		                
	function updateSummary()
	{
		if (debug == true) alert('updateSummary');
		$("#fastCheckoutSummary").load("/shop/shopfunctions/fastCheckoutAJAXAction.asp?action=updateSummary");			
	}

	$("input[name='payType']:radio").live('click', function() {	
		   	$("#fastCheckoutForm").attr("action",$(this).attr("action"));
			$("#cartWhitespace").load("/shop/shopfunctions/fastCheckoutAJAXAction.asp?action=updateCart", { payType: $(this).val() } , rebindCart );			
			
			$("#payTypeInfo").load("/shop/shopfunctions/fastCheckoutAJAXAction.asp?action=updatePayTypeInfo", { payType: $(this).val() } );			
					    	
	    	if($(this).val()=='K')
	    	{			  
				if($("#orgNoStatus").html() == '')  		
				{
					$("#customerWhitespace").load("/shop/shopfunctions/fastCheckoutAJAXAction.asp?action=updateCustomer&getCustomerInformationFromKreditor=1", { orgNo: $("#orgNo").val() } , rebindCustomerInfo );					
				}
				else
				{
					$("#customerWhitespace").load("/shop/shopfunctions/fastCheckoutAJAXAction.asp?action=updateCustomer", { orgNo: $("#orgNo").val() } , rebindCustomerInfo );					
					if (debug == true) alert('show kreditorinfo');
		    	}	    	
		    }
	    	else
	    	{
				rebindCustomerInfo();	    	
    			if (debug == true) alert('hide kreditorinfo');			
	    	}			    		    			    	
	});

	$("input[name='deliveryType']:radio").live('click', function() {
		$("#cartWhitespace").load("/shop/shopfunctions/fastCheckoutAJAXAction.asp?action=updateCart", { deliveryType: $(this).val() } , rebindCart );	
		$("#deliveryTypeInfo").load("/shop/shopfunctions/fastCheckoutAJAXAction.asp?action=updateDeliveryTypeInfo", { deliveryType: $(this).val() } );						
	});
	
	$("#discountCodeSubmit").live('click', function() {
		$.post("/shop/shopfunctions/fastCheckoutAJAXAction.asp?action=getDiscountCodeDetails", { discountCode: $("#discountCode").val() } , updateCart );	
	});
	
	$("#discountCode").live('keyup', function(event) {
		if(event.keyCode == 13) 
			$.post("/shop/shopfunctions/fastCheckoutAJAXAction.asp?action=getDiscountCodeDetails", { discountCode: $("#discountCode").val() } , updateCart );	
	});
	
	$("input[cat='noItems']").live('change', function() {
		$("#cartWhitespace").load("/shop/shopfunctions/fastCheckoutAJAXAction.asp?action=updateCart", { rowNo : $(this).attr("rowNo"), noItems: $(this).val() } , rebindCart );	
	});
	
	$(".removeArticle").live('click', function() {
		$("#cartWhitespace").load("/shop/shopfunctions/fastCheckoutAJAXAction.asp?action=updateCart", { removeArticleId : $(this).attr("articleId") } , rebindCart );				
	});
	
	$(".incNoOfItems").live('click', function() {
		$("#cartWhitespace").load("/shop/shopfunctions/fastCheckoutAJAXAction.asp?action=updateCart", { incArticleRow : $(this).attr("rowNo") } , rebindCart );				
	});
	
	$(".decNoOfItems").live('click', function() {
		$("#cartWhitespace").load("/shop/shopfunctions/fastCheckoutAJAXAction.asp?action=updateCart", { decArticleRow : $(this).attr("rowNo") } , rebindCart );				
	});	
	
	$(".activateGiftWrap").live('click', function() {
		$.get("/shop/shopfunctions/fastCheckoutAJAXAction.asp?action=updateGiftWrap", { articleId : $(this).attr("articleId") , giftWrapActive : $(this).attr("checked") } ,updateCart );	
	});
	
	$("#activateForgotPassword").live('click', function() {	
		$(".forgotPasswordRow").slideToggle();
	});
	
	$("#forgotPasswordSubmit").live('click', function() {	
		$.post("/shop/shopfunctions/fastCheckoutAJAXAction.asp?action=forgotPassword", { email: $("#forgotUsername").val() } , function(data){
		    alert(data);
		});
	});

	function updateCart()
	{
		if (debug == true) alert('updateCart');
		$("#cartWhitespace").load("/shop/shopfunctions/fastCheckoutAJAXAction.asp?action=updateCart", rebindCart );			
	}
			    	   
	function rebindCart()
	{
		if (debug == true) alert('rebindCart');
		
		$(".dropruta.giftWrapCard").bind('change', function() {						
			$.get("/shop/shopfunctions/fastCheckoutAJAXAction.asp?action=updateGiftWrap", { articleId : $(this).attr("articleId"), giftWrapCard : $(this).val() } , updateCart );		
		});
	
		$(".dropruta.giftWrapPackage").bind('change', function() {			
			$.get("/shop/shopfunctions/fastCheckoutAJAXAction.asp?action=updateGiftWrap", { articleId : $(this).attr("articleId"), giftWrapPackage : $(this).val() } , updateCart );				
		});	
	
		$(".textbox.giftWrapCardText").bind('change', function() {			
			$.get("/shop/shopfunctions/fastCheckoutAJAXAction.asp?action=updateGiftWrap", { articleId : $(this).attr("articleId"),  giftWrapCardText : $(this).val() } , updateCart );				
		});	
		
		updateSummary();
					
	}	    		 

	$("#login").live('click', function() {
		if ($("#username").val() == '' || $("#password").val() == '')
		{
			alert(trans_Please_specify + ': ' + trans_email +', ' + trans_password);
		}
		else
		{
			$("#customerWhitespace").load("/shop/shopfunctions/fastCheckoutAJAXAction.asp?action=login", { username: $("#username").val() , password: $("#password").val() } , function() {
			rebindCustomerInfo();
			updateCart();
			} );
		}
	});

	$('#password').live('keyup', function(event) {	
		if(event.keyCode == 13) 
		{		
			if ($("#username").val() == '' || $("#password").val() == '')
			{
				alert(trans_Please_specify + ': ' + trans_email +', ' + trans_password);
			}
			else
			{
				$("#customerWhitespace").load("/shop/shopfunctions/fastCheckoutAJAXAction.asp?action=login", { username: $("#username").val() , password: $("#password").val() } , rebindCustomerInfo );					
			}
		}
	});
	
	$("input[name='orgNo']").live('change', function() {		
		//Kolla om det är Klarna som är vald, gör då ett uppslag vid ändring av org-nummret.
		if($("#payTypeK").is(':checked'))
		{
			getCustomerInformationFromKreditor();
		}else
		{
			checkIfCustomerExists();
		}		
	});
	
	$("input[name='emailAddress']").live('change', function() {
			
			//Kolla om det finns några kunder som matchar.
			checkIfCustomerExists();

			/*
			$("#emailStatus").load("/shop/shopfunctions/fastCheckoutAJAXAction.asp?action=getWebUserLoginStatus", { emailAddress: $(this).val(), orgNo: $("#orgNo").val() }, function() {
			
				if($("#emailStatus").html() != "")
					$("#emailMessage").html('<div class="info_ico_small"></div> E-postadressen används redan. Om den tillhör dig, vänligen logga in. (<a href="#" class="gotoLogin">' + trans_login + '</a>)');
				else
			});																	
			*/
	});
	
	$("input[name='customerMode']:radio").live('click', function() {				
		$("#customerWhitespace").load("/shop/shopfunctions/fastCheckoutAJAXAction.asp?action=updateCustomer", { customerMode: $(this).val() } , rebindCustomerInfo );																	
	});
	
	$(".gotoLogin").live('click', function() {				
		$("#customerWhitespace").load("/shop/shopfunctions/fastCheckoutAJAXAction.asp?action=updateCustomer", { customerMode: '1' } , rebindCustomerInfo );																	
	});
	
	$("input[name='customerOrganizationalForm']:radio").live('click', function() {		
		$("#customerWhitespace").load("/shop/shopfunctions/fastCheckoutAJAXAction.asp?action=updateCustomer", { customerOrganizationalForm: $(this).val() } , rebindCustomerInfo );													
	});
	
	$("input[name='activateDeliveryAddress']").live('click', function() {
		$.post("/shop/shopfunctions/fastCheckoutAJAXAction.asp?action=updateActivateDeliveryAddress", { ActivateDeliveryAddress : $("input[name='activateDeliveryAddress']:checked").val() });	
		if ($("input[name='activateDeliveryAddress']:checked").val() == "on")				
			$("#deliveryAddress").slideDown();		
		else
			$("#deliveryAddress").slideUp();
	});	

	$("input[name='getCustomerInformationFromKreditor']").live('click', function() {
		//checkIfCustomerExists();
		getCustomerInformationFromKreditor();

		/*
		$("#customerWhitespace").load("/shop/shopfunctions/fastCheckoutAJAXAction.asp?action=updateCustomer&getCustomerInformationFromKreditor=1", { orgNo: $("#orgNo").val() } , function() {
		rebindCustomerInfo();
		checkIfCustomerExists();
		});


		$("#orgNoStatus").load("/shop/shopfunctions/fastCheckoutAJAXAction.asp?action=getCustomerOrgNoStatus", { orgNo: $("#orgNo").val(), emailAddress: $("#emailAddress").val() } , function() {
			if($("#orgNoStatus").html() == '')
				$("#customerWhitespace").load("/shop/shopfunctions/fastCheckoutAJAXAction.asp?action=updateCustomer&getCustomerInformationFromKreditor=1", { orgNo: $("#orgNo").val() } , rebindCustomerInfo );
			else
			{
				$("#customerMessage").html('<div class="info_ico_small"></div>' + trans_org_no_is_already_in_use_please_enter_another + '<br>'+ trans_if_it_belongs_to_you_please_log_in + ' (<a href="#" class="gotoLogin">' + trans_login + '</a>)');
				$("#kreditorError").html('');
			}
		});	
		*/
	});

	//Kolla om det finns några kunder som matchar med angett orgnummer och e-postadress beroende på olika settings.
	function checkIfCustomerExistsActions(data)
	{
		//Kollar så att det är någon data som skickats och därmed tagits emot
		if(data != null)
		{
			//Om vi har fått någon träff.
			if(data.responseStatus)
			{
				//Sätt det funna kundnummret
				$("#customerId").val(data.customerId);
				$("#emailMessage").html('');
				$("#orgNoStatus").html('');
				$("#emailStatus").html('');
				$("#kreditorError").html('');
				
			}else
			{
				//Om det är samma kund vi hittade som man är inloggad med så ska vi inte göra något.
				if( data.customerIdLoggedIn == $("#customerId").val() )
				{
					//Sätt det funna kundnummret
					$("#customerId").val(parseInt(data.customerIdLoggedIn));
					
					$("#emailMessage").html('');
					$("#orgNoStatus").html('');
					$("#emailStatus").html('');
					$("#kreditorError").html('');
				}else
				{
				
					//Vi ska ej sätta något kundnummer.
					$("#customerId").val('');
					$("#kreditorError").html('');
					
					//Ange felmeddelande varför vi ej hittat kund eller inte tillåter sökt kund.
					if(data.errorMsg){
						$("#emailMessage").html('<div class="info_ico_small"></div> '+ data.errorMsg);
					}else{
						$("#emailMessage").html('');
					}
					//Beroende på genom vad som kunden hittades ska det göras olika saker.
					switch(data.customerIdentifier)
					{
						case 'orgno':
							$("#orgNoStatus").html('<img src="/shop/shop_img/not_ok.gif" title="'+ data.errorMsg +'.">');
							$("#emailStatus").html('');
							break;
						case 'email':
							$("#orgNoStatus").html('');
							$("#emailStatus").html('<img src="/shop/shop_img/not_ok.gif" title="'+ data.errorMsg +'.">');
							break;
						case 'webuserlogin':
							$("#orgNoStatus").html('');
							$("#emailStatus").html('<img src="/shop/shop_img/not_ok.gif" title="'+ data.errorMsg +'.">');
							break;
						default:
							$("#orgNoStatus").html('');
							$("#emailStatus").html('');
							break;
					}
				}//slut koll om samma kund.
				
			}
		}
	}
	
	//Kolla om det finns några kunder som matchar med angett orgnummer och e-postadress beroende på olika settings.
	function checkIfCustomerExists()
	{
		//if ($("#customerId").val() == "")
		$.getJSON("/shop/shopfunctions/fastCheckoutAJAXAction.asp?action=getWebUserLoginStatus", { emailAddress: $("#emailAddress").val(), orgNo: $("#orgNo").val() }, function(data) {
			checkIfCustomerExistsActions(data);
		});	
	}
	
	//Kolla om allt ser bra ut med org-nummret, isåfall gör ett kundupplag från klarna.
	function getCustomerInformationFromKreditor()
	{
			//checkIfCustomerExists();
			if($("#orgNoStatus").html() == '')
			{
				$("#customerWhitespace").load("/shop/shopfunctions/fastCheckoutAJAXAction.asp?action=updateCustomer&getCustomerInformationFromKreditor=1", { orgNo: $("#orgNo").val() } , function() {
				rebindCustomerInfo();
				//checkIfCustomerExists();
				});
			}else
			{
				checkIfCustomerExists();
			}
	
	}

	function rebindCustomerInfo()
	{
		
		if (debug == true) alert('rebindCustomerInfo');
	
		if($("input[name='customerMode']:checked").val() == '1')
		{
			$("#fastCheckoutFormSubmit").attr("disabled", "disabled");
		}
		else
		{
			$("#fastCheckoutFormSubmit").attr("disabled", "");
		}
		    
		switch ( $("input[name='payType']:checked").val() )
		{
			case 'K':
		    	$("#customerData input[kreditorDisable='true']").attr("readonly","readonly");	
	   	  	$("#kreditorInfo").show();
	   	  	$("#otherPayInfo").hide();
			break;
			
			default:
		    	$("#customerData input[kreditorDisable='true']").attr("readonly","");
	   	  	$("#kreditorInfo").hide();
	   	  	$("#otherPayInfo").show();
			break;		     
		}
	
		$("#customerData input").attr("validate","");
		$("#customerData input[validateData*='"+$("input[name='payType']:checked").val()+",']").attr("validate","1");
	}

	var popupStatus = 0;  

	function loadPopup()
	{   	
		if(popupStatus==0)
		{   
			//$("#ajaxBackground").css({   "opacity": "0.5"  });   
			$("#ajaxPopup").toggle();
			//$("#ajaxBackground").toggle();
			popupStatus = 1;   
		}   
	}  

	function centerPopup()
	{   
		var windowWidth = document.documentElement.clientWidth;   
		var windowHeight = document.documentElement.clientHeight;   
		var popupHeight = $("#ajaxPopup").height();  
		var popupWidth = $("#ajaxPopup").width();   
		$("#ajaxPopup").css({   "position": "absolute",   "top": windowHeight/2-popupHeight/2,   "left": windowWidth/2-popupWidth/2   });  	
		$("#ajaxBackground").css({   "height": windowHeight   });   
	}
	
	function disablePopup()
	{   
		if(popupStatus==1)
		{   
			//$("#ajaxBackground").toggle();   
			$("#ajaxPopup").toggle();   
			popupStatus = 0;   
		}   
	}
	
});


