// JavaScript Document
var root_path = '/';
var http;
var delivery_type;

function create_xmlhttp_object(){
	var req;
	if(window.XMLHttpRequest){
		// Firefox, Safari, Opera...
		req = new XMLHttpRequest();
	} else if(window.ActiveXObject){
		// Internet Explorer 5+
		req = new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		alert('Problem creating the XMLHttpRequest object');
	}
	return req;
}

function add_to_cart(id){
	var quantity = document.getElementById('prod_'+id).value;
	var price = document.getElementById('prod_'+id+'_price').value;
	if(document.getElementById('prod_'+id+'_colour')){
		var colour = document.getElementById('prod_'+id+'_colour').value;
	}
	var params = "id="+id+"&quantity="+quantity+"&price="+escape(price);
	if(colour){
		params += "&colour="+colour;
	}
	http = create_xmlhttp_object();
	http.open('POST', root_path+'ajax/add_to_cart.php');
	http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http.setRequestHeader("Content-length", params.length);
	http.setRequestHeader("Connection", "close");
	http.onreadystatechange = add_to_cart_result;
	http.send(params);
}

function add_to_cart_result(){
	if(http.readyState == 4 && http.status == 200){
		var response = http.responseText;
		if(response){			
			if(window.ActiveXObject){
				//IE
				var doc = new ActiveXObject("Microsoft.XMLDOM");
				doc.async = "false";
				doc.loadXML(response);
			} else {
				//Mozilla, Firefox, Opera, etc.
				var parser = new DOMParser();
				var doc = parser.parseFromString(response, "text/xml");
			}
						
			// documentElement always represents the root node
			var x = doc.documentElement;
			var href = location.href;
			location.href = href;
		}
	}
}

function calculate_delivery_cost(){
	if(document.getElementById('postcode').value == ""){
		alert("Please enter a postcode before selecting a delivery method");
		document.getElementById('delivery_type')[0].selected = true;
	} else {
		var postcode = document.getElementById('postcode').value;
		var method = document.getElementById('delivery_type').options[document.getElementById('delivery_type').selectedIndex].value;
		delivery_type = method;
		var weight = document.getElementById('total_weight').value;
		if(method != 0){
			params = "postcode="+escape(postcode)+"&weight="+escape(weight);
			http = create_xmlhttp_object();
			http.open('POST', root_path+'ajax/get_delivery_cost.php');
			http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
			http.setRequestHeader("Content-length", params.length);
			http.setRequestHeader("Connection", "close");
			http.onreadystatechange = calculate_delivery_cost_result;
			http.send(params);
		}
	}
}

function calculate_delivery_cost_result(){
	if(http.readyState == 4 && http.status == 200){
		var response = http.responseText;
		if(response){			
			if(window.ActiveXObject){
				//IE
				var doc = new ActiveXObject("Microsoft.XMLDOM");
				doc.async = "false";
				doc.loadXML(response);
			} else {
				//Mozilla, Firefox, Opera, etc.
				var parser = new DOMParser();
				var doc = parser.parseFromString(response, "text/xml");
			}
			
			// documentElement always represents the root node
			var x = doc.documentElement;
			if(delivery_type == 1){
				var price = x.childNodes[0].childNodes[0].firstChild.nodeValue;
			} else {
				var price = x.childNodes[0].childNodes[1].firstChild.nodeValue;
			}
			document.getElementById('delivery_total').childNodes[1].firstChild.nodeValue = price;
			document.getElementById('delivery_total').style.display = 'block';
			
			var tot = document.getElementById('total_inc_vat').firstChild.nodeValue;
			tot = currency_formatted(parseFloat(tot)+parseFloat(price));
			document.getElementById('sub_total').childNodes[1].firstChild.nodeValue = tot;
			document.getElementById('sub_total').style.display = 'block';
			
			document.getElementById('sub_total_value').value = tot;
			document.getElementById('proceed_order').disabled = false;
		}
	}
}

function cart_delete(id){
	if(confirm('Are you sure you want to remove this product from your shopping cart?')){
		var params = "id="+id;
		http = create_xmlhttp_object();
		http.open('POST', root_path+'ajax/cart_delete.php');
		http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		http.setRequestHeader("Content-length", params.length);
		http.setRequestHeader("Connection", "close");
		http.onreadystatechange = cart_delete_result;
		http.send(params);
	}
}

function cart_delete_result(){
	if(http.readyState == 4 && http.status == 200){
		var response = http.responseText;
		if(response){			
			if(window.ActiveXObject){
				//IE
				var doc = new ActiveXObject("Microsoft.XMLDOM");
				doc.async = "false";
				doc.loadXML(response);
			} else {
				//Mozilla, Firefox, Opera, etc.
				var parser = new DOMParser();
				var doc = parser.parseFromString(response, "text/xml");
			}
						
			// documentElement always represents the root node
			var x = doc.documentElement;
			var href = location.href;
			location.href = href;
		}
	}
}

function cart_quantity_change(id, type){
	if(type == '+'){
		document.getElementById('prod_'+id).value++;
	} else {
		if(document.getElementById('prod_'+id).value > 0){
			document.getElementById('prod_'+id).value--;
		}
	}
}

function cart_update_qty(id){
	var quantity = document.getElementById('prod_'+id).value;
	var params = "id="+id+"&quantity="+quantity;
	http = create_xmlhttp_object();
	http.open('POST', root_path+'ajax/update_quantity.php');
	http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http.setRequestHeader("Content-length", params.length);
	http.setRequestHeader("Connection", "close");
	http.onreadystatechange = cart_update_qty_result;
	http.send(params);
}

function cart_update_qty_result(){
	if(http.readyState == 4 && http.status == 200){
		var response = http.responseText;
		if(response){			
			if(window.ActiveXObject){
				//IE
				var doc = new ActiveXObject("Microsoft.XMLDOM");
				doc.async = "false";
				doc.loadXML(response);
			} else {
				//Mozilla, Firefox, Opera, etc.
				var parser = new DOMParser();
				var doc = parser.parseFromString(response, "text/xml");
			}
						
			// documentElement always represents the root node
			var x = doc.documentElement;
			var href = location.href;
			location.href = href;
		}
	}
}

function currency_formatted(amount)
{
	var i = parseFloat(amount);
	if(isNaN(i)) { i = 0.00; }
	var minus = '';
	if(i < 0) { minus = '-'; }
	i = Math.abs(i);
	i = parseInt((i + .005) * 100);
	i = i / 100;
	s = new String(i);
	if(s.indexOf('.') < 0) { s += '.00'; }
	if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
	s = minus + s;
	return s;
}

function horizontal_ad_box_click(id){
	switch(id){
		case 1:
			document.location.href = '/recommended-links/';
			break;
		case 2:
			document.location.href = '/recommended-links/';
			break;
	}
}

function initRotator() {
    // arguments: image name, rotation speed, (optional) path to images
    var rotator1 = new dw_Rotator('frame_image', 3500, '/img/');
    // add the images to rotate into that image object
    rotator1.addImages("frame.jpg", "frame2.jpg", "frame3.jpg");
    //rotator1.rotate(); // sometimes may want to call rotate here
    dw_Rotator.start();
}

function quantity_change(id, type){
	if(type == '+'){
		document.getElementById('prod_'+id).value++;
	} else {
		if(document.getElementById('prod_'+id).value > 0){
			document.getElementById('prod_'+id).value--;
		}
	}
	if(document.getElementById('prod_'+id+'_colour')){
		if(document.getElementById('prod_'+id+'_colour').value != "" && document.getElementById('prod_'+id).value > 0){
			document.getElementById('prod_'+id+'_to_cart').disabled = false;
		} else {
			document.getElementById('prod_'+id+'_to_cart').disabled = true;
		}
	} else {
		if(document.getElementById('prod_'+id).value > 0){
			document.getElementById('prod_'+id+'_to_cart').disabled = false;
		} else {
			document.getElementById('prod_'+id+'_to_cart').disabled = true;
		}
	}
}

function right_ad_box_click(id){
	switch(id){
		case 1:
			document.location.href = '/pic/colour-hardeners/';
			break;
		case 2:
			document.location.href = '/pic/antique-release-agents/';
			break;
		case 3:
			document.location.href = '/block-paving/';
			break;
		case 4:
			document.location.href = '/printing-mats-to-buy/';
			break;
	}
}

function set_prod_colour(id, colour){
	var prod_select = document.getElementById('prod_'+id+'_selected_colour');
	prod_select.getElementsByTagName('p')[0].style.display = 'none';
	prod_select.getElementsByTagName('img')[0].style.display = 'block';
	prod_select.getElementsByTagName('img')[0].src = root_path+'img/colours/'+colour+'.jpg';
	if(document.getElementById('prod_'+id).value > 0){
		document.getElementById('prod_'+id+'_to_cart').disabled = false;
	}
	document.getElementById('prod_'+id+'_colour').value = colour;
}