function getNodeValue(node, tagname, tagnumber, default_val) {
	var elems = node.getElementsByTagName(tagname);
	if (elems && elems[tagnumber] && elems[tagnumber].firstChild && elems[tagnumber].firstChild.nodeValue) {
		return elems[tagnumber].firstChild.nodeValue;
	}
	return default_val;
}

function buildMainProduct(responseXML){
	if (document.implementation.createDocument){
		var parser = new DOMParser();
		xmlResponse = parser.parseFromString(responseXML, "text/xml");
	} else if (window.ActiveXObject){
		xmlResponse = new ActiveXObject("Microsoft.XMLDOM")
		xmlResponse.async="false";
		xmlResponse.loadXML(responseXML);
	}
	
	var feedDetails = xmlResponse.getElementsByTagName("product")
	//TOP DEAL
	var daySkuDetails = new Element('div', {'class': 'day_sku_details'})
	var daySkuImage = new Element('img', {'src': getNodeValue(feedDetails[0], "medium", 0,""), 'border':'0', 'class': 'float_sku'}).injectInside(daySkuDetails)
	var daySkuDetail = new Element('div', {'class':'sku_details'}).injectInside(daySkuDetails)
	var daySkuHeader = new Element('h1').setText(getNodeValue(feedDetails[0], "name", 0,"")).injectInside(daySkuDetail)
	var daySkuP = new Element('p').setText(getNodeValue(feedDetails[0], "description1", 0,"")).injectInside(daySkuDetail)
	var daySkuPrice = new Element('h2').setHTML('&pound;'+getNodeValue(feedDetails[0], "sellingprice", 0,"")).injectInside(daySkuDetail)
	var tickHTML = 'Tick the box if you want this deal<input id="'+getNodeValue(feedDetails[0], "sku", 0,"")+'" type="checkbox" name="itemlist" value="'+getNodeValue(feedDetails[0], "sku", 0,"")+'" class="styled">'
	var daySkuTick = new Element('div', {'class':'main_tick'}).setHTML(tickHTML).injectInside(daySkuDetail)
	var addButton = new Element('div').setHTML("<input src='/content/ebiz/wilkinsonplus/page/dealoftheday/checkout_but.gif' class='right' type='image' style='float:left; margin-top:10px;'>").injectInside(daySkuDetail)
	
	$('red_border').empty()
	daySkuDetails.injectInside($('red_border'))
}

function buildDealProducts(responseXML){
	if (document.implementation.createDocument){
		var parser = new DOMParser();
		xmlResponse = parser.parseFromString(responseXML, "text/xml");
	} else if (window.ActiveXObject){
		xmlResponse = new ActiveXObject("Microsoft.XMLDOM")
		xmlResponse.async="false";
		xmlResponse.loadXML(responseXML);
	}
	
	var feedDetails = xmlResponse.getElementsByTagName("product")
	$('deal_wrapper').empty()
	for(a=0;a<feedDetails.length;a++){
		var br = new Element('br')
		var brClear = new Element('br',{'clear':'all'})
		var daySkuDetails = new Element('div', {'class': 'more_deal'})
		var smallImage = "http://www.wilkinsonplus.com/content/ebiz/wilkinsonplus/invt/"+getNodeValue(feedDetails[a], "sku", 0,"")+"/"+getNodeValue(feedDetails[a], "sku", 0,"")+"_s.jpg"
		var daySkuImage = new Element('img', {'src': smallImage, 'border':'0', 'class': 'more_deal_img'}).injectInside(daySkuDetails)
		var daySkuHeader = new Element('span', {'class': 'prod_more'}).setText(getNodeValue(feedDetails[a], "name", 0,"")).injectInside(daySkuDetails)
		var daySkuPrice = new Element('span', {'class': 'save'}).setHTML('&pound;'+getNodeValue(feedDetails[a], "sellingprice", 0,"")).injectInside(daySkuDetails)
		brClear.injectAfter(daySkuPrice)
		var daySkuDetail = new Element('div', {'class':'select_prod'}).injectInside(daySkuDetails)
		var tickHTML = '<input id="'+getNodeValue(feedDetails[a], "sku", 0,"")+'" type="checkbox" name="itemlist" value="'+getNodeValue(feedDetails[a], "sku", 0,"")+'" class="styled"> Choose'
		var daySkuTick = new Element('span').setHTML(tickHTML).injectInside(daySkuDetail)
		daySkuDetails.injectInside($('deal_wrapper'))				
	}
}

function getProductXML(dealCat,prodType) {
	$('red_border').empty()
	var waiting = new Element('img',{src:'2.gif'}).injectInside($('red_border'));
	var url = "http://www.wilkinsonplus.com/icat/ " + dealCat + "?layout=blank&temp=xmlproductlist"
	var getXML = new Ajax(url, {
		method: 'get',
		onComplete: function(responseXML){
			if(prodType=='deal'){
				buildMainProduct(responseXML)
			} else {
				buildDealProducts(responseXML)	
			}
		}
	}).request('catRef='+dealCat);
}

function fixDate(date) {
	var base = new Date(0);
	var skew = base.getTime();
	if (skew > 0)
	date.setTime(date.getTime() - skew);
}