﻿var DivLoaded;

function addbasket_ajax(pid, qty, pid2) {
		
	if(!pid) return;
	if(!qty) return;
	if(isNaN(pid)) return;
	if(isNaN(qty)) return;
	if(!pid2) pid2 = "";
	
	if($.ajax({
		cache: false,
		type: "GET",
		url: "/shop/ajax/update_basket.asp",
		data: "updcode=A&productid=" + pid + "&productqty=" + qty + "&productid2=" + pid2,
		//dataType: "text",
		success: basketOK,
		error: basketError
		})) {
		
		return false;	//Prevent fallback navigation
	} else {
		return true;	//Allow fallback navigation for limited browsers
	}
}

function enquiry_ajax(pid, type) {
		
	if(!pid) return;
	if(isNaN(pid)) return;
	
	if($.ajax({
		cache: false,
		type: "GET",
		url: "/shop/ajax/" + type + ".asp",
		data: "productid=" + pid,
		success: enquiry_OK
		})) {
		return false;	//Prevent fallback navigation
	} else {
		return true;	//Allow fallback navigation for limited browsers
	}
}

function enquiry_OK(data, textStatus){
	
	var $win = $(window);
	
	if (!DivLoaded){
		$("body").append("<div id='enq-Background'></div><div id='enq-popup'></div>");		
		
		$("#enq-Background").click(function () {
			enq_hide();
		});
			
	}
	
	$("#enq-popup").html(data);
	if($.browser.msie && $.browser.version == 6.0)	$("select").css("visibility", "hidden");
	$win.bind("resize", enq_resize);
	enq_resize();
	

	$("#frmEnquiry").submit(function() {
		return enq_submit(this);
	});
	
	$("#enq-Background").css({opacity: 0.7}).fadeIn("slow");
	$("#enq-popup").show("fast");
}
		
function enq_hide() {

	var $win = $(window);
	
	$("#enq-Background").fadeOut("slow");
	$("#enq-popup").hide("fast");
	if($.browser.msie && $.browser.version == 6.0)	$("select").css("visibility", "visible");
	$win.unbind("resize", enq_resize);
}

function enq_resize() {				

	var $eq = $("#enq-popup");
	var $win = $(window);
	var $doc = $(document);

	$("#enq-Background").css({height: $doc.height(), width: $win.width()});
	$eq.css({left: $win.width()/2 - $eq.width()/2, top: $win.scrollTop() + ($win.height()/2-$eq.height()/2)});
}	


function enq_submit(f) {

	var $f = $(f);

	if($.ajax({
		cache: false,
		type: "POST",
		url: $f.attr("ajAction"),
		data: $f.serialize(),
		success: enq_submitOK
		})) {
		return false;	//Prevent fallback navigation
	} else {
		return true;	//Allow fallback navigation for limited browsers
	}
}


function enq_submitOK(data, textStatus){
	$("#enq-popup").html(data);
	return false;
}




function basketOK(data, textStatus) {

	var popmsg, confmsg, popmsg_err, confmsg_err
	
	var $data = $(data);
	var mb = $data.filter("#minibasket").html();
	var $popmsg = $data.filter("#popmsg");
	var $confmsg = $data.filter("#confmsg");
	
	if($popmsg) {
		popmsg = $popmsg.html();
		popmsg_err = $popmsg.attr("msgtype");
	}
	if($confmsg) {
		confmsg = $confmsg.html();
		confmsg_err = $confmsg.attr("msgtype");
	}
	
	if(mb) {
		$("#minibasket").html(mb);

		$("#mb-dcID").change(function() {
			$.ajax({
				cache: false,
				type: "POST",
				url: "/pages/shop/ajax/update_basket.asp",
				data: $(this.form).serialize(),
				success: basketOK
			});
		});
		
		$("#mb-dcShow").click(function() {
			$("#minibasket_country").removeClass("minibasket_hidden");
			return false;
		});

	}
	
	if(popmsg) show_popupmsg(popmsg, popmsg_err);
	if(confmsg) show_confmsg(confmsg, confmsg_err);
	
}

function basketError(XMLHttpRequest, textStatus, errorThrown) {

	show_confmsg("Error HTTP " + XMLHttpRequest.status + ". Item not added to basket!", true);

}


function show_popupmsg(msg, err) {

	if(msg) {
		$popmsg = $("#popup-message");
		var $win = $(window);
		
		$popmsg.removeClass();
		if(err) $popmsg.addClass("popup-error");
		
		$popmsg.html(msg);
		$popmsg.css({left: ($win.width()/2) - ($popmsg.width()/2), top: $win.scrollTop() + ($win.height()/2) - ($popmsg.height()/2)});
		$popmsg.show();
		
		if(!err) window.setTimeout(function(){ $("#popup-message").hide() }, 1500);
	}
}

function show_confmsg(msg, err) {

	//Temp call to popupmsg until confmsg graphics are ready
	return show_popupmsg(msg, err);
}

