var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();


//jimish start
function update_door_cart(url,labels,values,dummy,f){ 
	
	//check door type is set and either door_size or door_width & door_height are set
	var errors="";
	//NB door_size is not added to the page unless door_type has been set 

	if (!f.door_size) errors='Please select a type of door before proceeding (step 1).';

	if (f.door_size && f.door_size.selectedIndex==0) {

		if ( f.door_width.value=='' || f.door_height.value=='') errors=errors+'Please select a standard size from the drop down list or select both a height and width in the custom size boxes (step2).';
	}
	
	if (errors!="") {
			alert(errors);
			return false;
	}
	
	
//'glazing_options', ,'door_hinge_position_from_top','door_hinge_position_from_bottom','door_hinge_side'
	var variables=['door_type','frame_option','glazing_option','size_type','door_height','door_width','door_size','door_colour','quantity','door_hinge_position_from_top','door_hinge_position_from_bottom','door_hinge_side','hinge_position'];
	
	var h;
	if (h=document.getElementById('door_height').value) {
		if (h>1245) variables.push('door_hinge_position_from_top2');
		if (h>1600) variables.push('door_hinge_position_from_bottom2');
	}

	url=url+"?";
	for(var i = 0; i < labels.length; i++) {
		url=url+labels[i]+"="+values[i]+"&";
	}
	for (var i = 0; i < variables.length; i++) {
		if (variables[i] in f ) {
			if(BrowserDetect.browser=='Firefox')
				url=url+variables[i]+"="+value(f.eval(variables[i]))+"&";
			else
				url=url+variables[i]+"="+value(f(variables[i]))+"&";
		}
	}
	
	
	//check have everything we need
	
	
	
	
	var rand=Math.floor((Math.random()*30000000));
	with (new Date()){
		url=url+"sid="+getTime();
	}	
	
	x[rand] = GetXmlHttpObject();
	if(x[rand]){
		x[rand].onreadystatechange = function(){
			if(x[rand].readyState == 4 && x[rand].status == 200){
				document.getElementById('basket_container').innerHTML=x[rand].responseText;

				x[rand]=null;
			}
		}
	}
	
		
	x[rand].open("GET", url , true);
	x[rand].send(null);
	return;
} 

function value(e) {
	if (e.value) return e.value;
	
	var selected_value=false;
	if (e.length) {
		for (var i=0; i<e.length; i++) {
			if (e[i].checked) selected_value=e[i].value;
		}
	}
	return selected_value;
}