
var blnMac = (navigator.userAgent.toLowerCase().indexOf("mac") != -1) ? true : false;
var blnNs4 = (document.layers) ? true : false;
var blnIe4 = (document.all && !document.getElementById) ? true : false;
var blnIe5 = (document.all && document.getElementById) ? true : false;
var blnNs6 = (!document.all && document.getElementById) ? true : false;

var debug = false;
var http_request = false;
var objFocus;
var ftn_call;
var node;

function ftnGetObjectString(strObjectId) {
	if(blnNs4) return "document." + strObjectId;
	if(blnIe4) return "document.all." + strObjectId;
	if(blnIe5 || blnNs6){
		if (blnMac && blnIe5)
			return "document.all['" + strObjectId + "']";
		else
			return "document.getElementById('" + strObjectId + "')";
	}
}

function ftnGetObject(strObjectId) {
	var strEval = ftnGetObjectString(strObjectId);
	return eval(strEval);
}

function ftnMakeRequest(url, obj, ftn) {
	objFocus = obj;
	ftn_call = ftn;
	http_request = false;
	
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/xml');
		}
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}

	if (!http_request) {
		alert('Giving up :( Cannot create an XMLHTTP instance');
		return false;
	}
	http_request.onreadystatechange = ftnProcessXML;
	http_request.open('GET', url, true);
	http_request.send(null);
}

function ftnProcessXML() {
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			//alert(http_request.responseText);
			node = "";
			node =  http_request.responseXML.documentElement;
			eval(ftn_call);
		} else {
			//alert('There was a problem with the request.');
			eval(ftn_call);
		}
	}
}

function ftnGetProductColours() {
	var objId;
	if (node.childNodes != null) {
		for (var i = 0; i < node.childNodes.length; i++) {
			objId = node.childNodes.item(i);
			if (objId.attributes.item(3).nodeValue == "0") {				// if product colour is unavailable then disable
				ftnGetObject("colour_img_" + (i + 1)).disabled = true;
				ftnGetObject("colour_name_" + (i + 1)).className = "bodytextfalse";
				ftnGetObject("colour_name_" + (i + 1)).innerHTML = objId.attributes.item(1).nodeValue + " (unavailable in this size)";
				ftnGetObject("qty_" + (i + 1)).disabled = true;
			} else if (objId.attributes.item(3).nodeValue == "-1") {
				ftnGetObject("colour_img_" + (i + 1)).disabled = false;
				ftnGetObject("colour_name_" + (i + 1)).className = "bodytext";
				ftnGetObject("colour_name_" + (i + 1)).innerHTML = objId.attributes.item(1).nodeValue + " (Out of Stock - available soon)";
				ftnGetObject("qty_" + (i + 1)).disabled = false;
			}
			else {														// otherwise enable
				ftnGetObject("colour_img_" + (i + 1)).disabled = false;
				ftnGetObject("colour_name_" + (i + 1)).className = "bodytext";
				ftnGetObject("colour_name_" + (i + 1)).innerHTML = objId.attributes.item(1).nodeValue;
				ftnGetObject("qty_" + (i + 1)).disabled = false;
			}
		}
	}
}

function ftnGetRelatedProductColours(rel_num) {
	var objId;
	if (node.childNodes != null) {
		for (var i = 0; i < node.childNodes.length; i++) {
			objId = node.childNodes.item(i);
			if (objId.attributes.item(3).nodeValue == "0") {				// if product colour is unavailable then disable
				ftnGetObject("product_colour" + rel_num + "_" + (i + 1)).className = "bodytextfalse";
				ftnGetObject("qty" + rel_num + "_" + (i + 1)).disabled = true;
			} else {														// otherwise enable
				ftnGetObject("product_colour" + rel_num + "_" + (i + 1)).className = "bodytext";
				ftnGetObject("qty" + rel_num + "_" + (i + 1)).disabled = false;
			}
		}
	}
}