﻿jQuery.noConflict();

var timeout    = 500;
var closetimer = 0;
var ddmenuitem = 0;

document.onclick = jsddm_close;

// Udregner browserens bredde og højde og sætter derefter højden og bredden på addToCartOverlay

function setPageSize() {
	var xScroll, yScroll;
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = window.innerWidth + window.scrollMaxX;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	var windowWidth, windowHeight;
	if (self.innerHeight) {	// all except Explorer
		if(document.documentElement.clientWidth){
			windowWidth = document.documentElement.clientWidth; 
		} else {
			windowWidth = self.innerWidth;
		}
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}
	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){	
		pageWidth = xScroll;		
	} else {
		pageWidth = windowWidth;
	}
	
	jQuery('#addToCartOverlay').css({
		width: pageWidth, 
		height: pageHeight
    });
	jQuery('#variantAddOverlay').css({
		width: pageWidth, 
		height: pageHeight
    });
	jQuery('#variantAndAssemblyAddOverlay').css({
		width: pageWidth, 
		height: pageHeight
    });
	
};



function jsddm_open(){
	jsddm_canceltimer();
	jsddm_close();
	ddmenuitem = jQuery(this).find('ul').css('visibility', 'visible');
}

function jsddm_close(){
	if(ddmenuitem) ddmenuitem.css('visibility', 'hidden');
}

function jsddm_timer(){  
	closetimer = window.setTimeout(jsddm_close, timeout);
}

function jsddm_canceltimer(){  
	if(closetimer){
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}

function highlightLinks(obj) {
	var id = jQuery(obj).attr('id');
	
	if(id != 'activeFaq'){
		jQuery(obj).attr('id','activeFaq');
		jQuery(obj).css({
			"color":"00638B",
			"background-image":"url('/Files/System/img/faq_header_active.png')"
		});
	}else{
		jQuery(obj).removeAttr('id');
		jQuery(obj).css({
			"color":"000000",
			"background-image":"url('/Files/System/img/faq_header_inactive.png')"
		});
	}
}

// Funktion der validerer login formen
function checkform(){
	if (document.ExtUserForm.ForgotPassword.checked) {
		if((document.ExtUserForm.ForgotPassword.checked) && (document.ExtUserForm.Username.value.length <= 0)) {
			alert('Angiv e-mail-adresse for at få tilsendt dit password.');
			document.ExtUserForm.Username.focus();
			return false;	
		}
	}
	else {
		if(document.ExtUserForm.Username.value.length <= 0){
			alert('Angiv brugernavn');
			document.ExtUserForm.Username.focus();
			return false;
		}

		if(document.ExtUserForm.Password.value.length <= 0){
			alert('Angiv kodeord');
			document.ExtUserForm.Password.focus();
			return false;
		}
	}
	
	return true;
}

// Funktion der håndterer "glemt password" på login siden
function ToggleForgotPassword() {
	document.getElementById("ShowPasswordText").disabled = document.ExtUserForm.ForgotPassword.checked;
	document.ExtUserForm.Password.disabled = document.ExtUserForm.ForgotPassword.checked;

	if (document.ExtUserForm.ForgotPassword.checked) {
		document.getElementById("UsernameText").innerHTML = "Indtast E-mail";
	}
	else {
		document.getElementById("UsernameText").innerHTML = "Brugernavn";
	}
}



/************************************ WEBSHOP FUNCTIONS **************************************/
var cartLinkStart = '/Default.aspx?ID=199&ProductID=';
var cartLinkEnd = '&CartCmd=Add';
var quantityText = '&Quantity=';
var quantity;
var toCart;
var empty = 0;
var orderQuick = 0;

function addToCartLinkDynamic(productId, minPur, hasVar){
	var amount = jQuery('input.amount'+productId).attr('value');
	if(hasVar == 'yes'){
		var selectedVariant = jQuery("#variants option:selected").attr('id');
		if(selectedVariant == 'nothing'){
			alert('Du har ikke valgt variant.');
			return false;			
		}
		jQuery("#VariantID").attr('value',selectedVariant);
	}
	if(minPur <= amount && amount%minPur == 0){
		jQuery.blockUI({ message: ' '});
		document.getElementById(productId).submit();
	}else{
		if(minPur > amount){
			alert('Der skal minimum købes ' + minPur + ' af dette produkt');	
		}else{
			alert('Bestillings antallet skal gå op i minimum bestillings antallet som er ' + minPur );
		}
	}
}

function variantItem(productId, variantId, variantText, minPur){
	var amount = jQuery('input.amount'+productId).attr('value');
	var aarVariantId = variantId.split('|');
	var aarVariantText = variantText.split('|');
	var variantList = jQuery('#productListVariants');
	var optionsString = '';
	
	if(minPur <= amount && amount%minPur == 0){
		setPageSize();
		var marginTop = jQuery(window).scrollTop();
		marginTop += 350;
		
		jQuery('div.variantLoadingImgCon').css('margin-top', marginTop);
		jQuery('#variantAddOverlay').fadeIn('slow');
				
		for(i=0; i < aarVariantId.length; i++){
			optionsString += '<option id="' + aarVariantId[i] + '">' + aarVariantText[i] + '</option>';
		}
		variantList.html(optionsString);
		
		jQuery('#variantAdd').bind('click', function() {
			submitVariant(productId);
		});
	}else{
		if(minPur > amount){
			alert('Der skal minimum købes ' + minPur + ' af dette produkt');	
		}else{
			alert('Bestillings antallet skal gå op i minimum bestillings antallet som er ' + minPur );
		}
	}
}


// Funktion der lukker en given popup, eksempelvis variant eller monteringspopup
function closePopup(idToFade){
	jQuery('#'+idToFade).fadeOut();
}

function variantItemAndAssembly(productId, variantId, variantText, assemblyPrice, assemblyId, assemblyName, minPur){
	var amount = jQuery('input.amount'+productId).attr('value');
	var aarVariantId = variantId.split('|');
	var aarVariantText = variantText.split('|');
	var variantList = jQuery('#productListAssemblyVariants');
	var optionsString = '';	
	
	if(minPur <= amount && amount%minPur == 0){
		setPageSize();
		var marginTop = jQuery(window).scrollTop();
		marginTop += 350;
		
		jQuery('div.loadingImgCon').css('margin-top', marginTop);
		jQuery('#withAssemblyAndVar').html(assemblyName);
		jQuery('#withoutAssemblyAndVar').html(assemblyName);
		jQuery('#assemblyPriceAndVar').html('<b>+ '+assemblyPrice+'</b>');
				
		for(i=0; i < aarVariantId.length; i++){
			optionsString += '<option id="' + aarVariantId[i] + '">' + aarVariantText[i] + '</option>';
		}
		variantList.html(optionsString);
		
		jQuery('div.loadingImgCon').css('margin-top', marginTop);
		jQuery('#variantAndAssemblyAddOverlay').fadeIn('slow');
		
		jQuery('#assemblyAndVariantAdd').bind('click', function() {
			submitVariant(productId, assemblyId);
		});
	}else{
		if(minPur > amount){
			alert('Der skal minimum købes ' + minPur + ' af dette produkt');	
		}else{
			alert('Bestillings antallet skal gå op i minimum bestillings antallet som er ' + minPur );
		}
	}
}


// De næste tre funktioner bruges til at ligge et assembly item i kurven fra liste visningen
function assemblyItem(productId, assemblyPrice, assemblyId, assemblyName, minPur){
	var amount = jQuery('input.amount'+productId).attr('value');
	if(minPur <= amount && amount%minPur == 0){
		setPageSize();
		var marginTop = jQuery(window).scrollTop();
		marginTop += 350;
		
		jQuery('div.loadingImgCon').css('margin-top', marginTop);
		jQuery('#withAssembly').html(assemblyName);
		jQuery('#withoutAssembly').html(assemblyName);
		jQuery('#assemblyPrice').html('<b>+ '+assemblyPrice+'</b>');
		jQuery('#addToCartOverlay').fadeIn('slow');
		jQuery('#assemblyAdd').bind('click', function() {
			addToCartLinkAssembly(productId, assemblyId);
		});
	}else{
		if(minPur > amount){
			alert('Der skal minimum købes ' + minPur + ' af dette produkt');	
		}else{
			alert('Bestillings antallet skal gå op i minimum bestillings antallet som er ' + minPur );
		}
	}
}
function addToCartLinkAssembly(productId, assemblyId){
	
	jQuery('#addToCartOverlay').fadeOut('fast');
	jQuery('#assemblyAdd').unbind('click');
	
   window.setTimeout("submitAssembly("+assemblyId+","+productId+")", 100);
}
function addToCartVariantLink(productId, assemblyId){
	jQuery('#variantAddOverlay').fadeOut('fast');
	jQuery('#variantAdd').unbind('click');
	
   window.setTimeout("submitVariant("+assemblyId+","+productId+")", 100);
}
function submitAssembly(assemblyId, productId){
	var inputValue = jQuery("input[name='assemblyRadios']:checked").val();
	if(inputValue == 1){
		inputValue = jQuery(".count"+productId).val();
	}
	document.getElementById('qty'+assemblyId+productId).value = inputValue;
	jQuery.blockUI({ message: ' '});
	document.getElementById(productId).submit();
}


function submitVariant(productId, assemblyId){
	var selectedVariant;
	var typeOF = typeof(assemblyId);

	if(typeOF != 'undefined'){
		selectedVariant = jQuery("#productListAssemblyVariants option:selected").attr('id');
		var inputValue = jQuery("input[name='assemblyVarRadios']:checked").val();
		if(inputValue == 1){
			inputValue = jQuery(".count"+productId).val();
		}
		document.getElementById('qty'+assemblyId+productId).value = inputValue;
	}else{
		selectedVariant = jQuery("#productListVariants option:selected").attr('id');	
	}

	jQuery("#var"+productId).attr('value',selectedVariant);
	document.getElementById(productId).submit();
}

//Denne funktion bruges til at ligge et assembly item i kurven fra produktvisning
function assemblyProductSubmit(productId, minPur, hasVar){
	var amount = jQuery('input.amount'+productId).attr('value');
	if(hasVar == 'yes'){
		var selectedVariant = jQuery("#variants option:selected").attr('id');
		if(selectedVariant == 'nothing'){
			alert('Du har ikke valgt variant.');
			return false;			
		}
		jQuery("#VariantID2").attr('value',selectedVariant);
	}
	if(minPur <= amount && amount%minPur == 0){
		var inputValue = jQuery("input[name='assemblyProductRadios']:checked").val();
		if(inputValue == 1){
			inputValue = jQuery(".count"+productId).val();
		}
		var assemblyAmount = document.getElementById('assemblyProductAmount').value = inputValue;
		jQuery.blockUI({ message: ' '});
		document.getElementById(productId).submit();
	}else{
		if(minPur > amount){
			alert('Der skal minimum købes ' + minPur + ' af dette produkt');	
		}else{
			alert('Bestillings antallet skal gå op i minimum bestillings antallet som er ' + minPur );
		}
	}
}
function addToCartLink(productId){
	jQuery.blockUI({ message: ' '});			
	window.location = cartLinkStart+productId+quantityText+quantity+cartLinkEnd;
}

function quickOrder(){
	document.multiForm.submit();
	window.location = '/Default.aspx?id=212';
}

// Denne funktion bruges til at sikre at der ikke bliver valgt et mindre antal af et produkt end 
// det tal der står i minimum.purchase feltet.
function cartAmountCheck(orderId, minPur){
	var cartAmount = jQuery('#QuantityOrderLine'+orderId).attr('value');
	modRes = cartAmount%minPur;
	if(cartAmount < minPur || cartAmount%minPur != 0){
		if(cartAmount < minPur){
			alert('Der skal minimum købes ' + minPur + ' af dette produkt');
			jQuery('#QuantityOrderLine'+orderId).attr('value', minPur);
		}else{
			alert('Bestillings antallet skal gå op i minimum bestillings antallet som er ' + minPur );
			jQuery('#QuantityOrderLine'+orderId).attr('value', cartAmount);
		}		
	}
}

// Denne funktion looper alle produkter i carten igennem og tjekker om der er nogen der har et antal der ikke går op i minimum purchase feltet. 
function cartAmountCheckFinal(orderLineId){

	var cartValidated = new Array;
	var finalValidation;
	var cartOrderlineCount = 0;
	var cartFormName = 'CartForm_'+orderLineId
	var elemCurrentAmount;
	var hiddenAmount;
	var currentAmount;
	
	
	jQuery('form[name=CartForm_'+orderLineId+'] div.cartRow').each(function(index) {
		elemCurrentAmount = jQuery(this).find('span.cartCol4 input.QuantityOrderLine');																	
																			
		hiddenAmount = jQuery(this).find('input.hiddenAmount').attr('value');
		currentAmount = jQuery(elemCurrentAmount).attr('value');
		currentProduktName = jQuery(this).find('input.produktNavn').attr('value');

		if(hiddenAmount != ''){
			cartOrderlineCount++;
			if(currentAmount < hiddenAmount || currentAmount%hiddenAmount != 0){
				if(currentAmount < hiddenAmount){
					alert('Der skal minimum købes ' + hiddenAmount + ' ' + currentProduktName);
					jQuery(elemCurrentAmount).attr('value', hiddenAmount);
					jQuery(elemCurrentAmount).focus();
					cartValidated[index] = false;
				}else{
					alert('Bestillings antallet af ' + currentProduktName + ' skal gå op i minimum bestillings antallet som er ' + hiddenAmount );
					jQuery(elemCurrentAmount).attr('value', currentAmount);
					jQuery(elemCurrentAmount).focus();
					cartValidated[index] = false;
				}		
			}else{
				cartValidated[index] = true;
			}
		}else{
			cartOrderlineCount++;
			cartValidated[index] = true;
		}
	});

	for(i = 0; i < cartOrderlineCount; i++){
		if(cartValidated[i] == true){
			finalValidation = true;
		}
		else{
			finalValidation = false;
			break;
		}
	} 
	
	if(finalValidation == true){
		jQuery('form[name=CartForm_'+orderLineId+']').attr('action', '/Default.aspx?ID=212&step=2').submit();;
	}
 }
	

// Denne funktion fjerner alle de tomme billeder på webshop oversigten og på produktvisning
function removePic(obj){
	jQuery(obj).remove();
}

/************************************ WEBSHOP CART FUNCTIONS **************************************/
//Denne funktion bruges til at skjule og vise alternativ leverings adresse i btb indkøbskurv step 2
function toggleDelivery(state){
	if(state == 'show'){
		jQuery('#showAlternate').slideDown('fast');
		jQuery('#nextStep').unbind('click');	
		jQuery('#nextStep').click(function () {
			altDelivery(this);
		});
	}
	if(state == 'hide'){
		jQuery('#showAlternate').slideUp('fast');
		jQuery('#nextStep').unbind('click');	
		jQuery('#nextStep').click(function () {
			javascript: document.getElementById('btbStep2').submit();
		});
	}
}

//Denne funktion bruges til at skjule og vise alternativ leverings adresse i btb indkøbskurv step 2
function altDelivery(obj){
	jQuery('#validationErrors').html('');	
	
	var error = new Array();
	error[0] = 0;
	error[1] = 0;
	error[2] = 0;
	error[3] = 0;

	var messege = '';
	var deliveryName = jQuery('#EcomOrderDeliveryName').attr('value');
	var deliveryAddress = jQuery('#EcomOrderDeliveryAddress').attr('value');
	var deliveryZip = jQuery('#EcomOrderDeliveryZip').attr('value');
	var deliveryCity = jQuery('#EcomOrderDeliveryCity').attr('value');
	var deliveryPhone = jQuery('#customfielddeliveryphone').attr('value');
	
	if(deliveryName.length < 2){
		messege += '<b style="color: red;"><i>Du skal indtaste et leverings navn</i></b><br />';
		error[0] = 1;
	}
	if(deliveryAddress.length < 2){
		messege += '<b style="color: red;"><i>Du skal indtaste en leverings adresse</i></b><br />';
		error[1] = 1;
	}
	if(deliveryZip.length != 4){
		messege += '<b style="color: red;"><i>Du skal indtaste et gyldigt leverings postnummer</i></b><br />';
		error[2] = 1;
	}
	if(deliveryCity.length < 2){
		messege += '<b style="color: red;"><i>Du skal indtaste en leverings by</i></b><br />';
		error[3] = 1;
	}
	if(deliveryPhone.length != 8){
		messege += '<b style="color: red;"><i>Du skal indtaste et gyldigt leverings tlf. nr.</i></b><br />';
		error[3] = 1;
	}
	
	if(error[0] == 1 || error[1] == 1 || error[2] == 1 || error[3] == 1){
		jQuery('#validationErrors').prepend(messege);		
		return false;
	}else{
		javascript: document.getElementById('btbStep2').submit();	
	}
}

function reqValidate(){
	reqVal = jQuery('#EcomOrderCustomerRefID').attr('value');
	if(reqVal.length < 1){
		jQuery('#validationErrors').html(" ");
		var reqMessege = '<b style="color: red;"><i>Du skal indtaste dit rekvisitions nummer</i></b><br />';
		jQuery('#validationErrors').append(reqMessege);
	}else{
		javascript: document.getElementById('btbStep2').submit();
	}
}

function maxCommentChars(obj){
	var commentLength = obj.value.length;
	var commentValue = obj.value;
	if(commentLength > 60){
		commentMessege = '<b style="color: red;"><i>Du kan max indtaste 60 tegn.</i></b><br />';
		document.terms.EcomOrderCustomerComment.value = commentValue.substring(0,59);
		jQuery("#validationErrors").html(" ");
		jQuery('#validationErrors').prepend(commentMessege);
	}
}

jQuery(document).ready(function() {									
	jQuery("a[name^='faq-']").each(function() {
		jQuery(this).click(function() {
			if( jQuery("#" + this.name).is(':hidden') ) {
				jQuery("#" + this.name).fadeIn('fast', function(){
					this.style.removeAttribute('filter');
				});
			} else {
				jQuery("#" + this.name).fadeOut('fast');
			}			
			return false;
		});
	});
	
	jQuery('#nextStep').click(function () {
		if(req.length > 0){
			reqValidate();
		}else{
			javascript: document.getElementById('btbStep2').submit();
		}
			
	});

	jQuery('#assemblyAndVariantClose').bind('click', function() {
		closePopup('variantAndAssemblyAddOverlay');
	});
	jQuery('#variantAddClose').bind('click', function() {
		closePopup('variantAddOverlay');
	});
	jQuery('#assemblyClose').bind('click', function() {
		closePopup('addToCartOverlay');
	});
	
	
	
	

//	jQuery("a.legend[href='/webshop.aspx']").attr('/webshop.aspx?eComSearch=1&Campaign=yes&Campaign_Type=3');

	jQuery('.webshopFavorite').qtip(
	{
		content: '<img src="/files/System/img/gfx_favoriteTooltip.png" />',
		style: { border: { width: 0 } },
		position: { adjust: { x: -220, y: -50 } }
	});
	
	jQuery('.removeFavorite').qtip(
	{
		content: '<img src="/files/System/img/gfx_removeFavoriteTooltip.png" />',
		style: { border: { width: 0 } },
		position: { adjust: { x: -220, y: -50 } }
	});

	var checkUL = jQuery("ul.M0_leftmenu").text();
	if(checkUL == ''){
		jQuery("div.leftmenu_top").remove();
		jQuery("div.leftmenu_bottom").remove();
	}
	
	jQuery('.M0 > li').bind('mouseover', jsddm_open)
	jQuery('.M0 > li').bind('mouseout',  jsddm_timer)

	jQuery.blockUI.defaults.overlayCSS.background = 'transparent url(/files/System/img/webshop_overlay_bg.png) repeat';
	jQuery.blockUI.defaults.css.background ='transparent url(/files/System/img/webshop_popupAddToCart.png) no-repeat';
	jQuery.blockUI.defaults.css.width = '418px';
	jQuery.blockUI.defaults.css.margin = '0px 0px 0px -180px';
	jQuery.blockUI.defaults.css.padding = '0px';
	jQuery.blockUI.defaults.css.left = '50%';
	jQuery.blockUI.defaults.css.height = '188px';
	jQuery.blockUI.defaults.css.border = 0;

});

