



function isWeightBasedFlag(flagBits){
	if (flagBits & 32){ 
		return true; 
	} else { 
		return false; 
	}
}

function isAnalgesicFlag(flagBits){
	if (flagBits & 4096){ 
		return true; 
	} else { 
		return false; 
	}
}

function isByInvitationFlag(flagBits){
	if (flagBits & 65536){ 
		return true; 
	} else { 
		return false; 
	}
}

function isStockControlled(pickingFlagBits){
	if (pickingFlagBits & 16){ 
		return true; 
	} else { 
		return false; 
	}
}

function isSpecialRequirementsAllowed(pickingFlagBits){
	if (pickingFlagBits & 32){ 
		return true; 
	} else { 
		return false; 
	}
}

function getAllFlags(bitFlags,nutritionalBitFlags,pickingFlagBits,numberOfChillies){ if (bitFlags & 16384){writeFlag('','new_prod_flag','This product is new to Waitrose',15,42);}if (bitFlags & 32768){writeFlag('','ic_frozen','Frozen',15,54);}else if (bitFlags & 4){writeFlag('','ic_freezable','Suitable for freezing',15,15);}if (bitFlags & 8192 ){writeFlag('serviceCounter_flag','serviceCounter_flag','Unavailable for early morning delivery/collection',15,15); }else if (pickingFlagBits & 4){writeFlag('','serviceCounter_flag','Unavailable for early morning delivery/collection',15,15); }if (bitFlags & 262144){writeFlag('','ic_prev_frozen','Previously frozen',15,129);}if (nutritionalBitFlags & 4){writeFlag('vegetarian_flag','ic_vegetarian','Suitable for vegetarians',15,15);}if (nutritionalBitFlags & 1){writeFlag('organic_flag','ic_organic','Organic',15,16);}switch(numberOfChillies){case 1: writeFlag('','chilli_one','Mild',15,58);break;case 2: writeFlag('','chilli_two','Medium',15,81);break;case 3: writeFlag('','chilli_three','Hot',15,57);break;case 4: writeFlag('','chilli_four','Very Hot',15,93);break;}if (bitFlags & 1){}if (bitFlags & 2){writeFlag('price_commitment_flag','ic_pricecommitment','Price commitment',15,15);}if (bitFlags & 8){writeFlag('','ic_microwaveable','Microwaveable',15,15);}if (bitFlags & 16){}if (bitFlags & 32){}if (bitFlags & 64){}if (bitFlags & 1024){}if (bitFlags & 2048){}if (bitFlags & 4096){writeFlag('analgesic_flag','ic_analgesic2','Contains Analgesic (painkiller)',15,15)}if (nutritionalBitFlags & 262144){writeFlag('perf_bal_flag','ic_balanced','Perfectly Balanced',15,15); }if (bitFlags & 131072){writeFlag('','ic_allocated','Available while stock lasts',15,132);}}

function writeFlag(htmlHelpFile, iconGifName, toolTip, imgHeight, imgWidth){ if(arguments.length<5){ imgWidth=15; }if(arguments.length<4){ imgHeight=15; }if(htmlHelpFile.length>0){var writeFlags = '<a name="a'+iconGifName+'" class="image" href="javascript:helpWindow(\'products/'+htmlHelpFile+'\')" ><img class="lowlight" id="i'+iconGifName+'" src="/wdeliver/images/product_page/go_shopping/icons/'+iconGifName+'.gif" alt="'+toolTip+'" title="'+toolTip+'" height="'+imgHeight+'" width="'+imgWidth+'"></a>&nbsp;';document.write(writeFlags);}else{document.write('<img border="0" src="/wdeliver/images/product_page/go_shopping/icons/'+iconGifName+'.gif" alt="'+toolTip+'" title="'+toolTip+'" height="'+imgHeight+'" width="'+imgWidth+'">&nbsp;');}}

function writeHelpLink(htmlHelpFile, linkText, styleText){ 
	if(htmlHelpFile.length>0){
		document.write('<a href="javascript:helpWindow(\'products/'+htmlHelpFile+'\')" ',styleText,' >',linkText,'</a>&nbsp;');
	}
}

function getCookieValue(sName){
	
	var aCookie = document.cookie.split("; ");
	for (var i=0; i < aCookie.length; i++){
		
		var aCrumb = aCookie[i].split("=");
		if(sName==aCrumb[0]){ 
			return unescape(aCrumb[1]);
		}
	}
	
	return null;
}

function getAProblem(availabilityBits, flagBits, problemBits, globalProblemBits, optionalArg, optionalArg2, optionalArg3){if (typeof thisListType != 'undefined' && thisListType!=orderListType){if ((availabilityBits & 32)==0){ return "Sorry, this item is no longer available."; }if (availabilityBits & 64){ return "Sorry, this item is no longer available."; }if (availabilityBits & 2){ return "Sorry, this item is no longer available."; }if (availabilityBits & 8){ return "Sorry, this item is temporarily unavailable."; }if (availabilityBits & 16){ return "Sorry, this item is seasonally unavailable."; }if ((availabilityBits & 1)==0){ return "Sorry, this item is not available in your chosen delivery/collection branch."; }if ((problemBits & 262144)){ return "Sorry, Homedirect items are not available from your chosen branch."; }if ((problemBits & 16)){ return "Sorry, this item is unavailable on your chosen delivery/collection day."; }if ((problemBits & 64)){ return "Sorry, only WaitroseEntertaining items are allowed to be ordered from home."; }}if (problemBits & 4096){return "Sorry, you are not allowed Waitrose Deliver products in your trolley for a WaitroseEntertaining phone order.";} if (problemBits & 1){ return "Sorry, this item is not available for delivery on your chosen delivery/collection date."; }if (problemBits & 32){return "Sorry, this item is not available for delivery or collection between: ";}
	

	
	

	if (getCookieValue("BYINVAMENDMENT")!="true"){
		if (typeof thisListType != 'undefined' && thisListType!=orderListType && problemBits & 2){
			if (problemBits & 2048){
				return "Sorry, this item is not available for delivery on your chosen delivery/collection date."
			} else {
				return "You need to order this item at least " + optionalArg + " days in advance. The earliest date available is "+optionalArg2+".";
			}
		}
		if (typeof thisListType != 'undefined' && thisListType!=orderListType && problemBits & 1024){
			return "This product must be consumed before your event date.";
		}
	}
	
	if (typeof thisListType != 'undefined' && thisListType!=orderListType && problemBits & 131072){
		return "You need to order this item at least " + optionalArg + " days in advance. The earliest date available is "+optionalArg2+".";

	}
	

	if (problemBits & 4){ return "We cannot deliver Service Counter lines so early.  Please book a later delivery/collection slot."; }if (problemBits & 128){ return "Only items from the Christmas and New Year shelf can be added to your current slot."; }if (problemBits & 512){ return "This line cannot be placed in a future type slot."; }if (problemBits & 2048){ return "This line is no longer available on the required date."; }if (problemBits & 8){ return "This item is not available for an early morning delivery. Please book a delivery time later in the day."; }if (problemBits & 8192){ return "This is a non loan line in a loan only order!"; }if(typeof thisListType != 'undefined' && thisListType==trolleyListType){if (problemBits & 256){ return "Sorry, we do not have enough stock to satisfy your requirements for this item."; }}if (problemBits & 65536){ 
		var msg = "";
		if (optionalArg3 && optionalArg3!=""){
			var temp = optionalArg3.split("|");
			return "Sorry, this item is not available for " + temp[0] + " between " + temp[1] + " and " + temp[2] + ".";
		} else {
			return 'Sorry, this item is not available for your slot type on this date.';
		}	
	}
	

	if ((globalProblemBits & 1) && (flagBits & 4096)){ 
		return "Please reduce the total number of analgesic products in your trolley to 2."; 
	}
	

	return "";
}

function getIsAvailable(availabilityBits){
	if ((availabilityBits & 32)==0){ 
		return false; 
	}
	if ((availabilityBits & 5) == 5){ 
		return true; 
	} else{ 
		return false; 
	}
}

function getDeliveryDays(deliveryBitFlags){var dayNames = new Array ("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");var imgWidths = new Array (new Array(19,21),new Array(20,20),new Array(18,20),new Array(23,23),new Array(18,20),new Array(16,20),new Array(20,20));var noDays = new Array();var str = "";var iconPath="/wdeliver/images/by_invitation/icons";for(i=0; i<7; i++){if((deliveryBitFlags & Math.pow(2,i))==0){ noDays[noDays.length]=i;}}var hvrTxt = "Usually available on all days";if(noDays.length>0){hvrTxt = "Not available for delivery or collection on ";for(i=0; i < noDays.length; i++){hvrTxt += dayNames[noDays[i]]+"s";if(i<(noDays.length-2)){ hvrTxt+=", "; }if(i==(noDays.length-2)){ hvrTxt+=" or "; }}}for(i=0; i<7; i++){dayName = dayNames[i];if(deliveryBitFlags & Math.pow(2,i)){str+= "<span class='deliveryDays deliveryDaysYes' title='"+hvrTxt+"' href='javascript://'>"+dayName.substring(0,2)+"</span>";}else{str+= "<span class='deliveryDays deliveryDaysNo' title='"+hvrTxt+"' href='javascript://'>&nbsp;&nbsp;&nbsp;&nbsp;</span>";}}document.write(str);
}

function getZoneImage(zoneType){var imageSrc = "/wdeliver/images/picking/1x1t.gif";var txt = "Unknown zone type";switch(zoneType){case 1:imageSrc = "/wdeliver/images/picking/amb.gif";txt = "Ambient";break;case 2:imageSrc = "/wdeliver/images/picking/ch.gif";txt = "Chilled";break;case 3:imageSrc = "/wdeliver/images/picking/frz.gif";txt = "Frozen";break;case 4:imageSrc = "/wdeliver/images/picking/fvh.gif";txt = "FVH";break;default:}return '<img border=0 src="'+imageSrc+'" width=15 height=15 title="'+txt+' product" alt="'+txt+'">';}

jsLoaded++;
