/************************************
  COPYRIGHT ZYLBER AB 2007

  Functions for falling prices
 ************************************/

var xmlHttp1;
var xmlHttp2;

var timeleft = 0;
var products = new Array();
for (var i = 1; i <= 6; i++) {
	products[i]				= new Array();
	products[i]['id']		= 0;
	products[i]['info']		= 0;
	products[i]['disabled']	= 0;
	products[i]['clock']	= 1000;
}

function pricerInitiate() {
	xmlHttp1 = GetXmlHttpObject();
	if (xmlHttp1 != null) {
		var url = '/js/freefall_getproductinfo.php';
		xmlHttp1.onreadystatechange = pricerGetProductInfo;
		xmlHttp1.open("GET",url,true);
		xmlHttp1.send(null);
	}
}

function pricerGetProductInfo() {
	if (xmlHttp1.readyState == 4 || xmlHttp1.readyState == "complete") {
		if (xmlHttp1.status == 200) {
			var productInfoRaw = xmlHttp1.responseXML;
			var productInfo = new Array();
			for (var i = 1; i <= 6; i++) {
				productInfo[i] = new Array(
					productInfoRaw.getElementsByTagName('artID')[i-1].firstChild.data,
					productInfoRaw.getElementsByTagName('price')[i-1].firstChild.data,
					productInfoRaw.getElementsByTagName('timeleft')[i-1].firstChild.data,
					productInfoRaw.getElementsByTagName('disabled')[i-1].firstChild.data,
					productInfoRaw.getElementsByTagName('clock')[i-1].firstChild.data
				);
			}
			var pricerGetProductDataUrl = '';
			var boo_getData		= false;
			var boo_allEmpty	= true;
			if (productInfo[1][0] != products[1]['id'] && productInfo[1][0] != 0) {
				// Hämta data
				boo_getData = true;
				boo_allEmpty = false;
				pricerGetProductDataUrl	+= '&id1=' + productInfo[1][0];
				products[1]['id']		= productInfo[1][0];
				products[1]['disabled']	= productInfo[1][3];
				products[1]['clock']	= productInfo[1][4];
			} else if (productInfo[1][0] != 0) {
				// Uppdatera
				boo_allEmpty = false;
				pricerGetProductDataUrl += '&id1=' + productInfo[1][0];
				document.getElementById('product1_price').innerHTML		= productInfo[1][1];
				document.getElementById('product1_timeleft').innerHTML	= productInfo[1][2];
				timeleft = productInfo[1][2];
				products[1]['id']		= productInfo[1][0];
				products[1]['disabled']	= productInfo[1][3];
				if (products[1]['clock'] != productInfo[1][4]) {
					document.getElementById('freefall_clock1').setAttribute('src', '/img/freefall_clock_' + productInfo[1][4] + '.gif');
					products[1]['clock'] = productInfo[1][4];
				}
			} else if (productInfo[1][0] == 0) {
				pricerGetProductDataUrl += '&id1=' + productInfo[1][0];
				document.getElementById('product1').innerHTML = '';
				document.getElementById('product1').setAttribute('class', '');
				document.getElementById('product1').setAttribute('className', '');
				products[1]['id']		= 0;
				products[1]['disabled'] = 0;
				products[1]['clock']	= 1000;
			}
			if (boo_allEmpty == true && boo_getData == false) {
				document.getElementById('freefall_info').style.display = 'block';
				setTimeout("pricerInitiate()",10000);
			} else if (boo_getData == true) {
				pricerGetProductData(pricerGetProductDataUrl);
			} else {
				// Tic-tac function
				pricerCounter();
			}
		}
	}
}

function pricerCounter() {
	if (timeleft == 1) {
		if (document.getElementById('product1_timeleft')) {
			document.getElementById('product1_timeleft').innerHTML = '<span style="color:red;">' + timeleft + ' sekund</span>';
		}
		timeleft--;
		setTimeout("pricerInitiate()",1000);
	} else if (timeleft <= 10) {
		if (document.getElementById('product1_timeleft')) {
			document.getElementById('product1_timeleft').innerHTML = '<span style="color:red;">' + timeleft + ' sekunder</span>';
		}
		timeleft--;
		setTimeout("pricerCounter()",1000);
	} else if (timeleft == 30) {
		if (document.getElementById('product1_timeleft')) {
			document.getElementById('product1_timeleft').innerHTML = timeleft + ' sekunder';
		}
		timeleft--;
		setTimeout("pricerInitiate()",1000);
	} else {
		if (document.getElementById('product1_timeleft')) {
			document.getElementById('product1_timeleft').innerHTML = timeleft + ' sekunder';
		}
		timeleft--;
		setTimeout("pricerCounter()",1000);
	}
}

function pricerGetProductData(url) {
	xmlHttp2 = GetXmlHttpObject();
	if (xmlHttp2 != null) {
		var retrieveUrl = '/js/freefall_getproductdata.php?retrieve' + url;
		xmlHttp2.onreadystatechange = pricerShowProductData;
		xmlHttp2.open("GET",retrieveUrl,true);
		xmlHttp2.send(null);
	}
}

function pricerShowProductData() {
	if (xmlHttp2.readyState == 4 || xmlHttp2.readyState == "complete") {
		if (xmlHttp2.status == 200) {
			var productDataRaw = xmlHttp2.responseXML;
			var productData = productDataRaw.getElementsByTagName('product');
			for (var i = 0; i < productData.length; i++) {
				var product_artNr			= productData[i].getElementsByTagName('artID')[0].firstChild.data;
				var product_price			= productData[i].getElementsByTagName('price')[0].firstChild.data;
				var product_store			= productData[i].getElementsByTagName('store')[0].firstChild.data;
				var product_timeleft		= productData[i].getElementsByTagName('timeleft')[0].firstChild.data;
				var product_title			= productData[i].getElementsByTagName('title')[0].firstChild.data;
				var product_description		= productData[i].getElementsByTagName('description')[0].firstChild.data;
				var product_weight			= productData[i].getElementsByTagName('weight')[0].firstChild.data;
				var product_length			= productData[i].getElementsByTagName('length')[0].firstChild.data;
				var product_width			= productData[i].getElementsByTagName('width')[0].firstChild.data;
				var product_diameter		= productData[i].getElementsByTagName('diameter')[0].firstChild.data;
				var product_ringdiameter	= productData[i].getElementsByTagName('ringdiameter')[0].firstChild.data;
				var product_brandID			= productData[i].getElementsByTagName('braID')[0].firstChild.data;
				var product_brandName		= productData[i].getElementsByTagName('name')[0].firstChild.data;
				var insertString = 	'<table border="0" cellpadding="0" cellspacing="0">' +
										'<tr>' + 
											'<td colspan="2">' +
												'<a href="/artiklar/?bra=' + product_brandID + '" title="' + product_brandName + '"><img src="/img/brands/' + product_brandID + '.gif" alt="' + product_brandName + '" class="freefall_brand" /></a>' +
												'<img src="/img/freefall_clock_' + products[i+1]['clock'] + '.gif" alt="Visar grafiskt hur mycket priset har sjunkit, fördelat på 8 delar" id="freefall_clock' + (i + 1) + '" class="freefall_clock" />' +
												'<a href="/artikel/' + product_artNr + '/" title="' + product_title + '" class="freefall_more">' +
													'<img src="/bilder_m/' + product_artNr + '_1.jpg" alt="" class="freefall_photo" />' +
													'<div class="freefall_hover">' +
														'<img src="/img/freefall_arrow.gif" alt="" />' +
														'<table border="0" cellpadding="0" cellspacing="0" class="freefall_data">' +
															'<tr><th colspan="2" class="freefall_tablebrand">' + product_brandName + '</th></tr>' +
															'<tr><th colspan="2" class="freefall_tabletitle">' + product_title + '</th></tr>' +
															'<tr><td colspan="2" class="freefall_tabledescription">' + productData[i].getElementsByTagName('description')[0].firstChild.data + '</td></tr>' +
															'<tr><th>Artnr</th><td>' + product_artNr + '</td></tr>';
															if (product_weight != '-') {
																insertString += 
															'<tr><th>Vikt</th><td>' + productData[i].getElementsByTagName('weight')[0].firstChild.data + '</td></tr>';
															}
															if (product_length != '-') {
																insertString +=
															'<tr><th>Längd</th><td>' + productData[i].getElementsByTagName('length')[0].firstChild.data + '</td></tr>';
															}
															if (product_width != '-') {
																insertString +=
															'<tr><th>Bredd</th><td>' + productData[i].getElementsByTagName('width')[0].firstChild.data + '</td></tr>';
															}
															if (product_diameter != '-') {
																insertString +=
															'<tr><th>Diameter</th><td>' + productData[i].getElementsByTagName('diameter')[0].firstChild.data + '</td></tr>';
															}
															if (product_ringdiameter != '-') {
																insertString +=
															'<tr><th>Ringdiameter</th><td>' + productData[i].getElementsByTagName('ringdiameter')[0].firstChild.data + '</td></tr>';
															}
															insertString +=
														'</table>' +
													'</div>' +
												'</a>' +
											'</td>' +
										'</tr>' +
										'<tr><td colspan="2" class="freefall_buy large">Pris just nu: <span id="' + productData[i].getAttribute('id') + '_price">' + product_price + '</span> kr</td></tr>' +
										'<tr><td colspan="2" class="freefall_buy">Pris i butik: ' + product_store + ' kr</td></tr>' +
										'<tr><td colspan="2" class="freefall_buy">Nästa pris: <span id="' + productData[i].getAttribute('id') + '_timeleft">' + product_timeleft + '</span></td></tr>' +
										'<tr>' +
											'<td colspan="2">';
											if (products[i+1]['disabled'] == 1) {
												insertString +=
												'<div><input type="image" src="/img/button_cart_ff_disabled.jpg" title="Lägg i varukorgen" class="button_wide_submit" id="freefall_submit2_disabled" disabled="disabled" /></div>';
											} else {
												insertString +=
												'<form method="post" action="">' +
													'<div class="hidden"><input type="hidden" name="kv2" id="kv2" value="yes" /></div>' +
													'<div class="hidden"><input type="hidden" name="kv2id" id="kv2id" value="' + product_artNr + '" /></div>' +
													'<div><input type="image" src="/img/button_cart_ff.jpg" title="Lägg i varukorgen" class="button_wide_submit" id="freefall_submit2" /></div>' +
												'</form>';
											}
											insertString +=
											'</td>' +
										'</tr>' +
									'</table>';
				products[i+1]['id']		= product_artNr;
				timeleft = productData[i].getElementsByTagName('timeleft')[0].firstChild.data;
				document.getElementById('freefall_info').style.display = 'none';
				document.getElementById('product' + (i+1)).innerHTML = insertString;
				document.getElementById('product' + (i+1)).setAttribute('class', 'showfall');
				document.getElementById('product' + (i+1)).setAttribute('className', 'showfall');
			}
			pricerCounter();
		}
	}
}

function GetXmlHttpObject() {
	var objXMLHttp = null;
	try {
		objXMLHttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch(e) {
	 	try {
	 		objXMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
	 	} catch(e) {
	 		objXMLHttp = new XMLHttpRequest();
	 	}
	}
	return objXMLHttp;
}

addLoadEvent(pricerInitiate);