// Greens Herbs 
// Order form JS


//TOOD: look for the unit then add this to the endof the string.
function hideCheckboxes(){
	inputs = document.getElementsByTagName('input'); 

    //cycle trough the input fields 
    for(var i=0; i < inputs.length; i++) { 

        //check if the input is a checkbox 
        if((inputs[i].getAttribute('type') == 'checkbox') && (inputs[i].getAttribute('name')!= 'TandC')) {
        inputs[i].style.display='none'; 
        } 
    } 
}

window.onload = hideCheckboxes;
function calculateTotal(){

		var delivery = document.forms[0].elements['delivery'].value;
		var sTotal = parseFloat(document.forms[0].elements['sub-total'].value);
		var gTotal = parseFloat(document.forms[0].elements['sub-total'].value);
		var purpleDelivery = 1.5;
		if (delivery == 'green' ){
			if (sTotal == 0){
				gTotal = 0;
			}
			else if (sTotal <= 2.50){
				gTotal = sTotal + 1.50;
			}else{
				gTotal = sTotal;
			}
		} else if (delivery == 'purple'){
			if (sTotal == 0){
				gTotal = 0;
			}
			else if (sTotal <= 15){
				gTotal = parseFloat(sTotal) + parseFloat(1.5);
				
			}else{
				gTotal=sTotal;
			}
		} else {
			gTotal = sTotal;
		}
		
		gTotal = gTotal*1
		document.forms[0].elements['grand-total'].value = gTotal.toFixed(2);
		
		var totalbox = document.getElementById('totalbox');
		var cartTitle = document.getElementById('basket-header');
		var newText = document.createElement('h2');
		newText.setAttribute('id', 'basket-header');
		var titleInnards = document.createTextNode("Your total is:" + " \u00A3"+gTotal.toFixed(2));
		newText.appendChild(titleInnards);
		totalbox.replaceChild(newText,cartTitle);
		
		sTotal =0;
		gTotal=0;
}

function addItem(item){
	var currentValue = 0;
	currentValue = parseInt(document.forms[0].elements[item].value);
	if (isNaN(currentValue)){
		currentValue = 0;
	}
	var grandTotal = parseFloat(document.forms[0].elements["sub-total"].value);
	var units = item + "-units"; //get me the units that the item issold in
	unitQty = parseInt(document.forms[0].elements[units].value);
	
	if (!document.forms[0].elements[(item + "-basket")].checked){
		//if the baske variable is unchecked, then check it and leave it be.
		currentValue = currentValue
		document.forms[0].elements[item].value = currentValue+"g";
		document.forms[0].elements[(item + "-basket")].checked = true;
		
		//show a cart symbol
		var img = document.createElement('img');
		img.src = 'assets/images/cart_16.png';
		img.id = item+"-basket-img";
		document.forms[0].elements[(item + "-basket")].parentNode.insertBefore(img, document.forms[0].elements[(item + "-basket")]);
		
		//calcualte the price
		var itemPrice = item;
		itemPrice += "-price";
		var unitPrice = parseFloat(document.forms[0].elements[itemPrice].value);
		
		var currentLineTotal = document.forms[0].elements[item+"-total"].value;
		currentLineTotal = currentLineTotal.replace(/[^0-9.]/g, '');
		/*grandTotal -= parseFloat(currentLineTotal);
		if (grandTotal <= 0){
			grandTotal = 0;
		}*/	
		var lineTotal = ((currentValue / unitQty)* unitPrice);
		grandTotal += lineTotal;
		document.forms[0].elements[(item+'-total')].value = ("\u00A3"+lineTotal.toFixed(2));
		document.forms[0].elements['sub-total'].value = grandTotal.toFixed(2);
		calculateTotal();
		addToCart(item, currentValue);

		
	}else{ 
		currentValue = currentValue + unitQty ;
		document.forms[0].elements[item].value = (currentValue+"g");
		
		//calcualte the price
		var itemPrice = item;
		itemPrice += "-price";
		var unitPrice = parseFloat(document.forms[0].elements[itemPrice].value);
		grandTotal += unitPrice;
		var lineTotal = ((currentValue / unitQty)* unitPrice);
		document.forms[0].elements[(item+'-total')].value = ("\u00A3"+lineTotal.toFixed(2));
		document.forms[0].elements['sub-total'].value = grandTotal.toFixed(2);	
		calculateTotal();
		addToCart(item, currentValue);

	
	}
}

function delItem(item){
	var currentValue = 0;
	currentValue = parseInt(document.forms[0].elements[item].value);
	var grandTotal = parseFloat(document.forms[0].elements['sub-total'].value);
	var units = item + "-units"; //get me the units that the item issold in

	unitQty = parseInt(document.forms[0].elements[units].value);
	
	currentValue = currentValue - unitQty ;
	if(currentValue <= 0){
	    currentValue = 0;
	    document.forms[0].elements[(item +"-basket")].checked = false;
	    var img = document.getElementById(item+"-basket-img");
	    img.parentNode.removeChild(img);
	}

	
	//calcualte the price
	var itemPrice = item;
	itemPrice += "-price";
	var unitPrice = parseFloat(document.forms[0].elements[itemPrice].value);
	
	var currentLineTotal = document.forms[0].elements[item+"-total"].value;
	currentLineTotal = currentLineTotal.replace(/[^0-9.]/g, '');
	grandTotal -= parseFloat(currentLineTotal);
	if (grandTotal <= 0){
		grandTotal = 0;
	}
	var lineTotal = ((currentValue / unitQty)* unitPrice);
	grandTotal += lineTotal;
	
	
	document.forms[0].elements[(item+'-total')].value = ("\u00A3"+lineTotal.toFixed(2));
	document.forms[0].elements['sub-total'].value = grandTotal.toFixed(2);
	
	calculateTotal();
	addToCart(item, currentValue);
	if (currentValue == 0){
		currentValue = unitQty;
		document.forms[0].elements[item+'-total'].value = ('\u00A3'+unitPrice.toFixed(2));
	}
	document.forms[0].elements[item].value = currentValue+"g";
}

function checkUnit(item){
	var currentValue = parseInt(document.forms[0].elements[item].value);
	
	currentValue = (currentValue/parseInt(document.forms[0].elements[(item+"-units")].value))

	currentValue = currentValue.toFixed(0)*parseInt(document.forms[0].elements[(item+"-units")].value);
	if(currentValue !=0){
		document.forms[0].elements[item].value = currentValue;
		document.forms[0].elements[(item+"-basket")].checked=false;
		var img = document.getElementById(item+"-basket-img");
	    if (img){img.parentNode.removeChild(img);}
		addItem(item);
	}else{
		document.forms[0].elements[item].value = currentValue;
		delItem(item);
	}	
}

function addToCart(ItemName, qty){
	
	ItemName =ItemName.replace(/[^a-z0-9.]/g, ' ');

	if (document.getElementById("cart-"+ItemName)){
		var existingNode = document.getElementById("cart-"+ItemName);
		var listHead = document.getElementById('basket-list');
		var newListNode = document.createElement('li');
		newListNode.setAttribute('id', "cart-"+ItemName);
		var newListItem = document.createTextNode(ItemName+" "+qty+"g");
		newListNode.appendChild(newListItem);
		listHead.replaceChild(newListNode, existingNode);	
	}else{
		var listHead = document.getElementById('basket-list');
		var newListNode = document.createElement('li');
		newListNode.setAttribute('id', "cart-"+ItemName);
		var newListItem = document.createTextNode(ItemName+" "+qty+"g");
		newListNode.appendChild(newListItem);
		listHead.appendChild(newListNode);
	}
	if(qty == 0){
		var thisNode = document.getElementById("cart-"+ItemName);
		var listHeadNode = document.getElementById('basket-list')
		listHeadNode.removeChild(thisNode);
	}
}


function errorCheck(evnt){
	var form = document.forms[0];
	if (form.elements['TandC'].checked != true){
		alert('Please confirm that you have read the Terms and Conditions');
		form.elements['TandC'].focus();	
	}else{
		ajaxSubmit(evnt);
	}
}


function ajaxSubmit(evnt){
	//alert("function ajax started");
	var xmlhttp;
	var form = document.forms[0];
	var url = "greens-order.php?";
	
	//get the contact details 
	url += 'grand-total='+encodeURIComponent(form.elements['grand-total'].value);
	url += '&delivery='+encodeURIComponent(form.elements['delivery'].value);
	url += '&name='+encodeURIComponent(form.elements['name'].value);
	url += '&telephone='+encodeURIComponent(form.elements['telephone'].value);
	url += '&address='+encodeURIComponent(form.elements['address'].value);
	url += '&email='+encodeURIComponent(form.elements['email'].value);
	url += '&postCode='+encodeURIComponent(form.elements['postCode'].value);
	url += '&time='+encodeURIComponent(form.elements['time'].value);
	url += '&marketing='+encodeURIComponent(form.elements['marketing'].value);
	url += '&specialNotes='+encodeURIComponent(form.elements['specialNotes'].value);
	
	if(form.elements['sweet-crunchy-basket'].checked == true){
		url+='&sweet-crunchy='+encodeURIComponent(form.elements['sweet-crunchy'].value);
		url+='&sweet-crunchy-total='+encodeURIComponent(form.elements['sweet-crunchy-total'].value);
	}
	if(form.elements['nice-spicy-basket'].checked == true){
		url+='&nice-spicy='+encodeURIComponent(form.elements['nice-spicy'].value);
		url+='&nice-spicy-total='+encodeURIComponent(form.elements['nice-spicy-total'].value);
	}
	if(form.elements['salad-rocket-basket'].checked == true){
		url+='&salad-rocket='+encodeURIComponent(form.elements['salad-rocket'].value);
		url+='&salad-rocket-total='+encodeURIComponent(form.elements['salad-rocket-total'].value);
	}
	if(form.elements['wild-rocket-basket'].checked == true){
		url+='&wild-rocket='+encodeURIComponent(form.elements['wild-rocket'].value);
		url+='&wild-rocket-total='+encodeURIComponent(form.elements['wild-rocket-total'].value);
	}
	if(form.elements['pesto-basket'].checked == true){
		url+='&pesto='+encodeURIComponent(form.elements['pesto'].value);
		url+='&pesto-total='+encodeURIComponent(form.elements['pesto-total'].value);
	}
	if(form.elements['sweet-cucumber-pickle-basket'].checked == true){
		url+='&sweet-cucumber-pickle='+encodeURIComponent(form.elements['sweet-cucumber-pickle'].value);
		url+='&sweet-cucumber-pickle-total='+encodeURIComponent(form.elements['sweet-cucumber-pickle-total'].value);
	}
	if(form.elements['basil-oil-basket'].checked == true){
		url+='&basil-oil='+encodeURIComponent(form.elements['basil-oil'].value);
		url+='&basil-oil-total='+encodeURIComponent(form.elements['basil-oil-total'].value);
	}
	if(form.elements['tarragon-vinegar-basket'].checked == true){
		url+='&starragon-vinegar='+encodeURIComponent(form.elements['tarragon-vinegar'].value);
		url+='&tarragon-vinegar-total='+encodeURIComponent(form.elements['tarragon-vinegar-total'].value);
	}
		
	if(form.elements['chervil-basket'].checked == true){
		url+='&chervil='+encodeURIComponent(form.elements['chervil'].value);
		url+='&chervil-total='+encodeURIComponent(form.elements['chervil-total'].value);
	}
	if(form.elements['parsley-basket'].checked == true){
		url+='&parsley='+encodeURIComponent(form.elements['parsley'].value);
		url+='&parsley-total='+encodeURIComponent(form.elements['parsley-total'].value);
	}
	if(form.elements['french-sorrel-basket'].checked == true){
		url+='&french-sorrel='+encodeURIComponent(form.elements['french-sorrel'].value);
		url+='&french-sorrel-total='+encodeURIComponent(form.elements['french-sorrel-total'].value);
	}
	if(form.elements['coriander-basket'].checked == true){
		url+='&coriander='+encodeURIComponent(form.elements['coriander'].value);
		url+='&coriander-total='+encodeURIComponent(form.elements['coriander-total'].value);
	}
	if(form.elements['sage-basket'].checked == true){
		url+='&sage='+encodeURIComponent(form.elements['sage'].value);
		url+='&sage-total='+encodeURIComponent(form.elements['sage-total'].value);
	}
	if(form.elements['rosemary-basket'].checked == true){
		url+='&rosemary='+encodeURIComponent(form.elements['rosemary'].value);
		url+='&rosemary-total='+encodeURIComponent(form.elements['rosemary-total'].value);
	}
	if(form.elements['thyme-basket'].checked == true){
		url+='&thyme='+encodeURIComponent(form.elements['thyme'].value);
		url+='&thyme-total='+encodeURIComponent(form.elements['thyme-total'].value);
	}
	if(form.elements['oregano-basket'].checked == true){
		url+='&oregano='+encodeURIComponent(form.elements['oregano'].value);
		url+='&oregano-total='+encodeURIComponent(form.elements['oregano-total'].value);
	}
	if(form.elements['mint-basket'].checked == true){
		url+='&mint='+encodeURIComponent(form.elements['mint'].value);
		url+='&mint-total='+encodeURIComponent(form.elements['mint-total'].value);
	}
	if(form.elements['chives-basket'].checked == true){
		url+='&chives='+encodeURIComponent(form.elements['chives'].value);
		url+='&chives-total='+encodeURIComponent(form.elements['chives-total'].value);
	}
	if(form.elements['dill-basket'].checked == true){
		url+='&dill='+encodeURIComponent(form.elements['dill'].value);
		url+='&dill-total='+encodeURIComponent(form.elements['dill-total'].value);
	}
	if(form.elements['basil-sweet-genovese-basket'].checked == true){
		url+='&basil-sweet-genovese='+encodeURIComponent(form.elements['basil-sweet-genovese'].value);
		url+='&basil-sweet-genovese-total='+encodeURIComponent(form.elements['basil-sweet-genovese-total'].value);
	}
	if(form.elements['basil-cinnamon-basket'].checked == true){
		url+='&basil-cinnamon='+encodeURIComponent(form.elements['basil-cinnamon'].value);
		url+='&basil-cinnamon-total='+encodeURIComponent(form.elements['basil-cinnamon-total'].value);
	}
	if(form.elements['basil-lemon-basket'].checked == true){
		url+='&basil-lemon='+encodeURIComponent(form.elements['basil-lemon'].value);
		url+='&basil-lemon-total='+encodeURIComponent(form.elements['basil-lemon-total'].value);
	}
	if(form.elements['basil-greek-basket'].checked == true){
		url+='&basil-greek='+encodeURIComponent(form.elements['basil-greek'].value);
		url+='&basil-greek-total='+encodeURIComponent(form.elements['basil-greek-total'].value);
	}
	if(form.elements['basil-sweet-genovese-30g-basket'].checked == true){
		url+='&basil-sweet-genovese-30g='+encodeURIComponent(form.elements['basil-sweet-genovese-30g'].value);
		url+='&basil-sweet-genovese-30g-total='+encodeURIComponent(form.elements['basil-sweet-genovese-30g-total'].value);
	}
	if(form.elements['basil-cinnamon-30g-basket'].checked == true){
		url+='&basil-cinnamon-30g='+encodeURIComponent(form.elements['basil-cinnamon-30g'].value);
		url+='&basil-cinnamon-30g-total='+encodeURIComponent(form.elements['basil-cinnamon-30g-total'].value);
	}
	if(form.elements['basil-lemon-30g-basket'].checked == true){
		url+='&basil-lemon-30g='+encodeURIComponent(form.elements['basil-lemon-30g'].value);
		url+='&basil-lemon-30g-total='+encodeURIComponent(form.elements['basil-lemon-30g-total'].value);
	}
	if(form.elements['basil-greek-30g-basket'].checked == true){
		url+='&basil-greek-30g='+encodeURIComponent(form.elements['basil-greek-30g'].value);
		url+='&basil-greek-30g-total='+encodeURIComponent(form.elements['basil-greek-30g-total'].value);
	}
	if(form.elements['tarragon-basket'].checked == true){
		url+='&tarragon='+encodeURIComponent(form.elements['tarragon'].value);
		url+='&tarragon-total='+encodeURIComponent(form.elements['tarragon-total'].value);
	}
	//set the ajax loader gif running
	//document.getElementById('submit').innerHTML = "<img src='images/ajax-loader.gif'/>";
	if (window.XMLHttpRequest){
  		// code for IE7+, Firefox, Chrome, Opera, Safari
  		xmlhttp=new XMLHttpRequest();
  	}else if (window.ActiveXObject){
  		// code for IE6, IE5
  		xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  	}else{
  		alert("Your Browser does not support this type of Javascript, please call Greens Herbs to place the order.");
  	}
	xmlhttp.onreadystatechange=function(){
		if(xmlhttp.readyState==4){
				//document.getElementById('submit').style.visibility = "hidden";
				//display a confirm message.
				document.getElementById('form-wrapper').innerHTML = "<p id='thank-you'>Thank you for your order</p>";
				var totalbox = document.getElementById('totalbox');
				totalbox.innerHTML = "<h2>Your Basket</h2>";
		}
	}
	xmlhttp.open("GET",url,true);
	xmlhttp.send(null);
	if (evnt && evnt.preventDefault)
		evnt.preventDefault();
	return false;
	
}
