// BASKET.JS

function putInBasket(id, price){
	var overlay = document.getElementById('products_overlay');
	overlay.style.zIndex = 2;
	overlay.style.display = 'block';
	var qtyElm = document.getElementById('quantity_'+id);
	var qty = qtyElm.value;
	var url = "ajax.php";
	var params = "func=putInBasket&id="+id+"&qty="+qty;

	params += "&price="+price;
	
	ajaxConn();
	xmlHttp.onreadystatechange=function(){
		if((xmlHttp.readyState==4) && (xmlHttp.status==200)){
			//opdater kurv
			overlay.style.zIndex = 0;
			overlay.style.display = 'none';
			basketQty = 1;
			getBasket();
			qtyElm.value="1";
		}
	}
	ajaxSend(url, params);
}

function updateBasket(id, qty){
	if(!qty){
		var qty = document.getElementById('qty_'+id).value;
	}
	if(qty == "" || qty < 0 || isNaN(qty)){
		alert("Feltet \"Antal\" skal indeholde et positivt tal");
	}else{
		var url = "ajax.php";
		var params = "func=updateBasket&id="+id+"&qty="+qty;
		
		if(document.getElementById('old_price_'+id) != null){
			var old_price = document.getElementById('old_price_'+id).value;
			if(old_price == "" || old_price < 0){
				alert("Feltet \"Nuv. stykpris\" skal indeholde et positivt tal");
				return;
			}else{
				params += "&old_price="+old_price;
			}
		}
		
		document.getElementsByTagName("body")[0].style.cursor = "progress";
		ajaxConn();
		xmlHttp.onreadystatechange=function(){
			if((xmlHttp.readyState==4) && (xmlHttp.status==200)){
				getBasketContent();
				document.getElementsByTagName("body")[0].style.cursor = "default";
			}
		}
		ajaxSend(url, params);
	}
}

function updateAll(user_type){
	var elements = document.getElementsByTagName('input');
	var name = "qty";
	var name_len = name.length+1;
	var err = "";
	var prices = new Array();
	
	for(var i=0;i<elements.length;i++){
		var elm = elements[i];
		if(elm.getAttribute('type')=="text" && elm.getAttribute('name')==name){
			var id_str = elm.getAttribute('id');
			var id_length = id_str.length;
			var id = id_str.substr(name_len, id_length);
			if(user_type=="potential"){
				var old_price_elm = document.getElementById('old_price_'+id);
				var old_price = old_price_elm.value;
			}else{
				var old_price = 1;
			}
			var qty_elm = document.getElementById('qty_'+id);
			var qty = qty_elm.value;
			
			if(old_price == "" || old_price <= 0 || old_price == "0,00"){
				if(user_type=="potential"){
					err = 1;
					old_price_elm.style.backgroundColor = "#FFDD00";
				}
			}else if(qty == "" || qty < 0 || isNaN(qty)){
				err = 1;
				qty_elm.style.backgroundColor = "#FFDD00";
			}else{
				prices[prices.length] = new Array(id, old_price, qty);
			}
		}
	}
	if(err){
		alert("Felterne skal indeholde positive tal");
	}else{
		var json = '{"prices": [';
		for (var i=0; i<prices.length; i++ ) {
			if(i>0){
				json += ',';
			}
			json += '{"id": "'+prices[i][0]+'", "price": "'+prices[i][1]+'", "qty": "'+prices[i][2]+'"}';
		}
		json += ']}';

		var url = "ajax.php";
		var params = "func=updateBasketAll&json="+json;
		
		document.getElementsByTagName("body")[0].style.cursor = "progress";
		ajaxConn();
		xmlHttp.onreadystatechange=function(){
			if((xmlHttp.readyState==4) && (xmlHttp.status==200)){
				getBasketContent();
				document.getElementsByTagName("body")[0].style.cursor = "default";
			}
		}
		ajaxSend(url, params);
	}
}

function getBasketContent(){
	var url = "ajax.php";
	var params = "func=getBasketContent";
	
	ajaxConn();
	xmlHttp.onreadystatechange=function(){
		if((xmlHttp.readyState==4) && (xmlHttp.status==200)){
			document.getElementById('basketDiv').innerHTML = xmlHttp.responseText;
			getBasket();
		}
	}
	ajaxSend(url, params);
}

function getBasket(){
	var divQty = document.getElementById('basketQuantity');
	var divTotal = document.getElementById('basketTotal');
	var url = "ajax.php";
	var params = "func=getBasket";
	
	ajaxConn();
	xmlHttp.onreadystatechange=function(){
		if((xmlHttp.readyState==4) && (xmlHttp.status==200)){
			var json=eval('('+xmlHttp.responseText+')');
			divQty.removeChild(divQty.firstChild);
			divTotal.removeChild(divTotal.firstChild);
			divQty.appendChild(document.createTextNode(json.qty+' varer i kurven'));
			divTotal.appendChild(document.createTextNode(json.total+' DKK'));
		}
	}
	ajaxSend(url, params);
}

function placeOrder(){
	var url = "ajax.php";
	var params = "func=placeOrder";
	var shipping_methods = document.getElementById('shipping_method').shipping;
	var selected_shipping_method = "";
	var cnt = -1;
	var order_note = document.getElementById('order_note').value;
	
    for (var i=shipping_methods.length-1; i > -1; i--){
        if (shipping_methods[i].checked){
			selected_shipping_method = shipping_methods[i].value;
			i = -1;
		}
    }
	
	if(selected_shipping_method == ""){
		alert("Du skal vælge en forsendelsesmetode");
	}else{
		var name = document.getElementById('delivery_name').value;
		var address = document.getElementById('delivery_address').value;
		var zip = document.getElementById('delivery_zip').value;
		var city = document.getElementById('delivery_city').value;
		
		params += "&name="+name+"&address="+address+"&zip="+zip+"&city="+city+"&shipping_id="+selected_shipping_method+"&order_note="+order_note;
		
		ajaxConn();
		xmlHttp.onreadystatechange=function(){
			if((xmlHttp.readyState==4) && (xmlHttp.status==200)){
				if(xmlHttp.responseText == "success"){
					document.location.href = 'checkout.php';
				}else{
					statusMsg("Der er sket en fejl: "+xmlHttp.responseText);
				}
			}
		}
		ajaxSend(url, params);
	}
}

function saveDraft(){
	var name = document.getElementById('draftName');
	if(name.value == ""){
		alert("Du skal angive et skabelonnavn");
		name.focus();
	}else{
		var url = "ajax.php";
		var params = "func=saveDraft&name="+name.value;
		
		ajaxConn();
		xmlHttp.onreadystatechange=function(){
			if((xmlHttp.readyState==4) && (xmlHttp.status==200)){
				if(xmlHttp.responseText == "success"){
					document.getElementById('basketDiv').innerHTML = "Ordren er blevet gemt som skabelon, du kan komme tilbage til kurven <a href=\"javascript: getBasketContent();\">her</a>";
					document.getElementById('draftNameDiv').style.dislay = "none";
				}else{
					statusMsg("Der er sket en fejl: "+xmlHttp.responseText);
				}
			}
		}
		ajaxSend(url, params);
	}
}

function updateDraft(id, draft_id, qty){
	if(!qty){
		var qty = document.getElementById('qty_'+id).value;
	}
	var answer = true;
	
	if(qty == "" || qty == 0){
		answer = confirm("Er du sikker på at du vil slette denne vare fra skabelonen?");
	}
	if(answer){
		var url = "ajax.php";
		var params = "func=updateDraft&id="+id+"&qty="+qty;
		statusMsg("opdaterer...");
		
		ajaxConn();
		xmlHttp.onreadystatechange=function(){
			if((xmlHttp.readyState==4) && (xmlHttp.status==200)){
				var json = eval('('+xmlHttp.responseText+')');
				if(json.res == "success"){
					if(json.action == "delete"){
						window.location.href='?site=show_draft&id='+id;
					}else{
						statusMsg("Antal er opdateret");	
					}
				}else{
					statusMsg("Der er sket en fejl, prøv igen");	
				}
			}
		}
		ajaxSend(url, params);
	}
}

function useDraft(iId){
	var answer = confirm("Dette vil slette din kurvs nuværende indhold, er du sikker?");
	if(answer){
		var id = iId;
		var url = "ajax.php";
		var params = "func=useDraft&id="+id;
		
		statusMsg("overfører...");
		
		ajaxConn();
		xmlHttp.onreadystatechange=function(){
			if((xmlHttp.readyState==4) && (xmlHttp.status==200)){
				if(xmlHttp.responseText == "success"){
					window.location.href = '?site=basket';
				}else{
					alert("der er sket en fejl, prøv igen ("+xmlHttp.responseText+")");
				}
			}
		}
		ajaxSend(url, params);
	}
}

function deleteDraft(iId){
	var id = iId;
	var url = "ajax.php";
	var params = "func=deleteDraft&id="+id;
	
	ajaxConn();
	xmlHttp.onreadystatechange=function(){
		if((xmlHttp.readyState==4) && (xmlHttp.status==200)){
			if(xmlHttp.responseText == "success"){
				window.location.href='?site=order_drafts';
			}else{
				statusMsg("Kunne ikke slette skabelonen, prøv igen");
			}
		}
	}
	ajaxSend(url, params);
}

function toggleDeliveryAddress(iId, strChecked){
	var strDisplay = "none";
	if(strChecked==true){
		strDisplay = "block";
	}
	document.getElementById('deliveryAddress').style.display=strDisplay;
}

function checkKey(ev, id, price){
	if(ev.keyCode==13){
		putInBasket(id, price);
	}
}
