/**
 * Copy billing address to delivery address
 */
function copyBillingAdr() {
	$('deliveryName').value = $('billingName').value;
	$('deliveryAtt').value = $('billingAtt').value;
	$('deliveryAddress1').value = $('billingAddress1').value;
	$('deliveryAddress2').value = $('billingAddress2').value;
	$('deliveryZip').value = $('billingZip').value;
	$('deliveryCity').value = $('billingCity').value;
}

/**
 *	Check basket information for customers that are loged in 
 */
function information_check_auth() {
	
	/* check for payment */
	if($('sendorderurl').value == "") {
		alert('Du skal vælge en betalingsform for at kunne fortsætte.');
	}
	else {
		/* check for accepted conditions */		
		if($('accept').checked == false) {
			alert('Du skal acceptere handelspetingelserne for at kunne fortsætte.');
		}
		else {
			/* check for payment form */
			if($('pfee').value == "") {
				alert('Du skal vælge en betalingsform');												
			}
			else {
				$('frm').action = $('sendorderurl').value;
				$('frm').submit();
			}
		}
	}
}

/**
 * Check basket information for customers that are not loged in
 */
function information_check() {
	
	var ok = 'false';
	
	if($('username').value == "") {
		alert('"Bestilt af" skal udfuldes');
		$('username').focus();
	}
	else {
		if($('email').value == "") {
			alert('Email adressen skal udfyldes.');
			$('email').focus();
		}
		else {
			/* billing name */
			if($('billingName').value == "") {
				alert('Navn skal udfyldes');
				$('billingName').focus();	
			}
			else {
				if($('billingAddress1').value == "") {
					alert('Adresse skal udfyldes');
					$('billingAddress1').focus();	
				}
				else {
					if($('billingZip').value == "") {
						alert('Postnr. skal udfyldes');
						$('billingZip').focus();	
					}
					else {
						if($('billingCity').value == "") {
							alert('By skal udfyldes');
							$('billingCity').focus();	
						}
						else {
							if($('copyaddress').checked == 'false') {
								/* check delivery address */
								if($('deliveryName').value == "") {
									alert('Leverings navn skal udfyldes');
									$('deliveryName').focus();	
								}
								else {
									if($('deliveryAddress1').value == "") {
										alert('Leverings adresse skal udfyldes');
										$('deliveryAdress1').focus();	
									}
									else {
										if($('deliveryZip').value == "") {
											alert('Leverings postnr. skal udfyldes');
											$('deliveryZip').focus();	
										}
										else {
											if($('deliveryCity').value == "") {
												alert('Leverings by skal udfyldes');
												$('deliveryCity').focus();	
											}
											else {
												if($('pfee').value == "") {
													alert('Du skal vælge en betalingsform');												
												}
												else {
													ok = 'true';
												}
											}
										}
									}
								}
							}
							else {
								if($('pfee').value == "") {
									alert('Du skal vælge en betalingsform');												
								}
								else { 
									ok = 'true';
								}
							}
						}
					}
				}
			}
		}
	}
		
	if(ok == 'true') {
		/* check for payment */
		if($('sendorderurl').value == "") {
			alert('Du skal vælge en betalingsform for at kunne fortsætte.');
		}
		else {
			/* check for accepted conditions */		
			if($('accept').checked == false) {
				alert('Du skal acceptere handelspetingelserne for at kunne fortsætte.');
			}
			else {
				$('frm').action = $('sendorderurl').value;
				$('frm').submit();
			}
		}
	}
}

/**
 * Add item to basket from params list
 * @param vnr
 * @param quantity
 * @param lowestQty
 * @param type
 * @return
 */
function addToBasketFromParams(vnr, quantity, lowestQty, type) {
	
	$('itemLowestQty').value = lowestQty;
	$('itemQuantity').value = quantity;
	
	addToBasket(vnr, type);
}


/**
 * Add item to basket (AJAX) 
 * @param vnr
 * @param type
 */
function addToBasket(vnr, type) {
	
	var amount = $('amount').value;	
	var min = $('itemLowestQty').value;
	var multiplum = $('itemQuantity').value;
	if(amount < min) {
		amount = min;
	}	
	var m = amount % multiplum;
	
	if(m != 0)
		amount = parseInt(amount) + parseInt(multiplum - m);
	
	var url = baseUrl + 'basket/add/vnr/' + vnr + '/amount/' + amount ;
	var myAjax = new Ajax.Request(url, 
		{
			method: 'get', 
			onSuccess: function(transport) {
			
				var dr = transport.responseXML.documentElement;
				var price = dr.getElementsByTagName('price')[0].firstChild.data;
				var description1 = dr.getElementsByTagName('description1')[0].firstChild.data;
				if(dr.getElementsByTagName('description2')[0].firstChild.data != "")
					var description2 = dr.getElementsByTagName('description2')[0].firstChild.data;
				else 
					var description2 = "&nbsp;";					
				updateBasket(type, price, amount, description1, description2, vnr);
				$('itemLowestQty').value = $('itemQuantity').value;
    	}, 
    	onFailure: function(){ alert('Something went wrong...') }
    } 
	);
}

/**
 * Update basket. Callback function
 * @param type
 * @param price
 * @param amount
 * @param description1
 * @param description2
 * @return
 */
function updateBasket(type, price, amount, description1, description2, vnr) {	
	
	if(type == "table" || type == "") {
		var tbl = document.getElementById('basket');
		var lastRow = tbl.rows.length;
		var row = tbl.insertRow(lastRow);
		
		var cell = row.insertCell(0);
		cell.colSpan = 2;
		cell.setAttribute("class", "basketLine");
		cell.appendChild(document.createTextNode(description1 + "\n" + description2));
		
		row = tbl.insertRow((lastRow+1));
		
		cell = row.insertCell(0);
		cell.setAttribute("class", "basketLineAmount");
		cell.appendChild(document.createTextNode("Antal: " + amount));
		cell = row.insertCell(1);
		cell.setAttribute("class", "basketLinePrice");
		cell.appendChild(document.createTextNode(price));
		
	}
	else if(type == "list") {

		var lines = parseFloat(document.getElementById('basketItems').value);		
		if(!lines)
			lines = 0;
		if(lines == 0)
			var clear = true;
		else
			var clear = false;
		lines = lines + parseFloat(amount);
		var total = parseFloat(document.getElementById('basketTotal').value);
		if(!total)
			total = 0.0;
		total = total + parseFloat(price);

		document.getElementById('basketItems').value = lines;
		document.getElementById('basketTotal').value = total;

		document.getElementById('baskettotalamount').innerHTML = total.toFixed(2).replace(".", ",");
		document.getElementById('basketitems').innerHTML = lines;

		var newline = "<div id='basketitem'><b>" + vnr + "</b><br>" + description1 + "<br>";
		
		if(description2 != "")
			newline = newline + description2 + "<br>";

		newline = newline + "<div style='float: left;'><b>Antal:</b>&nbsp;" + amount + "</div><span style='float: right; padding: 0 5px 0 0'>";
		if(parseFloat(price) > 0)
			newline = newline + parseFloat(price).toFixed(2).replace(".", ",") + "&nbsp;<b>" + currency;
		else
			newline = newline + "<b>Ukendt pris";
		newline = newline + "</b></span></div>"; 
		
		if(clear == true)
			$('basketitemsmain').innerHTML = newline;
		else 
			$('basketitemsmain').innerHTML = $('basketitemsmain').innerHTML + newline;
		
//		alert('Varen er tilføjet til kurven');
		
	}	
	else if(type == "compact") {

		var lines = parseFloat(document.getElementById('basketItems').value);
		if(!lines)
			lines = 0;
		lines = lines + parseFloat(amount);
		var total = parseFloat(document.getElementById('basketTotal').value);
		if(!total)
			total = 0.0;
		total = total + parseFloat(price);
		document.getElementById('basketItems').value = lines;
		document.getElementById('basketTotal').value = total;
		document.getElementById('basketTotalDiv').innerHTML = total.toFixed(2).replace(".", ",");
		document.getElementById('basketItemsDiv').innerHTML = lines;

		alert('Varen er tilføjet til kurven');
		
		document.getElementById('quickbasket').style.visibility = "visible";
		
		if(document.getElementById('login'))
			document.getElementById('login').style.visibility = "hidden";
		
	}
}

/**
 * Accept shopping conditions 
 */
function doConditionsCheck(url) {

	var chk = document.getElementById('accepted');

	if(chk.checked == true)
		document.location.href = url;
	else
		alert('Du skal acceptere handelsbetingelserne før du kan fortsætte');
}

/**
 * Change the delevery address 
 */
function changeDeliveryAddress() {

	var deliveryAddress = document.getElementById('deliveryAddress');
	var did = deliveryAddress[deliveryAddress.selectedIndex].value;
	var url = document.getElementById('baseUrl').value + 'basket/getdeleveryaddress/id/' + did;
	var myAjax = new Ajax.Request(url, 
		{
			method: 'get', 
			onSuccess: function(transport) {
				var name = "";			
				var att = "";
				var address1 = "";
				var address2 = "";
				var zip = "";
				var city = "";
				var country = "";
				var dr = transport.responseXML.documentElement;
				if(dr.getElementsByTagName('name')[0])
					var name = dr.getElementsByTagName('name')[0].firstChild.data;
				if(dr.getElementsByTagName('att')[0])
					var att = dr.getElementsByTagName('att')[0].firstChild.data;
				if(dr.getElementsByTagName('address1')[0])
					var address1 = dr.getElementsByTagName('address1')[0].firstChild.data;
				if(dr.getElementsByTagName('address2')[0])
					var address2 = dr.getElementsByTagName('address2')[0].firstChild.data;
				if(dr.getElementsByTagName('zip')[0])
					var zip = dr.getElementsByTagName('zip')[0].firstChild.data;
				if(dr.getElementsByTagName('city')[0])
					var city = dr.getElementsByTagName('city')[0].firstChild.data;
				if(dr.getElementsByTagName('country')[0])
					var country = dr.getElementsByTagName('country')[0].firstChild.data;
				updateDeliveryAddress(name, att, address1, address2, zip, city, country);
    	} 
    } 
	);
}

/**
 * Update the delivery data
 * @param name
 * @param att
 * @param address1
 * @param address2
 * @param zip
 * @param city
 * @param country
 * @return
 */
function updateDeliveryAddress(name, att, address1, address2, zip, city, country) {
									
	document.getElementById("deliveryName").value = name;
	document.getElementById("deliveryAtt").value = att;
	document.getElementById("deliveryAddress1").value = address1;
	document.getElementById("deliveryAddress2").value = address2;
	document.getElementById("deliveryZip").value = zip;
	document.getElementById("deliveryCity").value = city;
	document.getElementById("deliveryCountry").value = country;

}

