//GLOBAL VARIABLES
if (typeof(isIE6)=="undefined") isIE6 = false;

var newgenItemID = 0;

var prodGallery = [

//{Brand:"", prod:"", priority:"", bg:"", img:"", imgposX:"", imgposY:"", text:"", txtposX:"", txtposY:"",color:""}
{Brand:'Coca Cola',prod:'Coca Cola Cherry',priority:'0',bg:'5',img:'cocacola_cherry',imgposX:'10',imgposY:'10',text:'Coca Cola Cherry<br/><span class=punch>What goes around<br/>comes around</span>',txtposX:'400',txtposY:'150',color:'#E7A712'}, 
{Brand:'Ambev',prod:'Guarana Antartica',priority:'1',bg:'22',img:'guarana_antartica',imgposX:'650',imgposY:'30',text:'Guarana Antartica<br/><span class=punch>Beat the Thirst<br/>At the BEST PRICE!</span>',txtposX:'50',txtposY:'200',color:'#E7A712'}, 
{Brand:'Coca Cola',prod:'Inca Kola Soft Drink',priority:'0',bg:'2',img:'cocacola_incakola-can',imgposX:'10',imgposY:'20',text:'Inca Kola<br/><span class=punch>The taste of Peru</span>',txtposX:'400',txtposY:'200',color:'#F0A000'}, 
{Brand:'Dr Pepper',prod:'Dr Pepper',priority:'0',bg:'11',img:'drpepper_can',imgposX:'650',imgposY:'30',text:'Dr Pepper<br/><span class=punch>Extinguishing your thirst since 1885</span>',txtposX:'50',txtposY:'200',color:'#FFFFFF'}, 
{Brand:'Goya',prod:'Sun dried Red Hot Pepper Paste (Aji Panca)',priority:'0',bg:'3',img:'goya_sundriedredhotpepperpaste',imgposX:'650',imgposY:'70',text:'Sun dried Red Hot Pepper Paste<br/><span class=punch>Hot + Tasteful = Heaven</span>',txtposX:'50',txtposY:'150',color:'#E7A712'}, 

{Brand:'Goya',prod:'Fruit Punch Soda Soft Drink',priority:'0',bg:'1',img:'goya_fruitpunchsoda',imgposX:'10',imgposY:'10',text:'Goya<br/>Fruit Punch Soda<br/><span class=punch>Bring Holidays<br/>with you</span>',txtposX:'400',txtposY:'150',color:'#74B8DC'}, 
{Brand:'Goya',prod:'Salsa Taquera (Taquera Hot Sauce)',priority:'0',bg:'14',img:'goya_salsataquera',imgposX:'10',imgposY:'10',text:'Salsa Taquera<br/><span class=punch>Real Mexican Style</span>',txtposX:'400',txtposY:'200',color:'#ACCD54'}, 
{Brand:'Goya',prod:'Salsa Pico de Gallo (Mild Sauce)',priority:'0',bg:'13',img:'goya_salsa-picodegallo',imgposX:'10',imgposY:'20',text:'Goya<br/>Salsa Pico de Gallo<br/><span class=punch>Where taste meet perfection</span>',txtposX:'400',txtposY:'150',color:'#ACCD54'}, 

{Brand:'Kerns',prod:'Guava Nectar',priority:'0',bg:'9',img:'kerns_guava',imgposX:'650',imgposY:'50',text:'Guava<br/><span class=punch>Chilling you out<br/>this summer</span>',txtposX:'50',txtposY:'150',color:'#E58514'}, 

{Brand:'La Costena',prod:'Tomatillos',priority:'0',bg:'2',img:'lacostena_tomatillos',imgposX:'650',imgposY:'50',text:'Tomatillos<br/><span class=punch>Can you resist<br/>the temptation?</span>',txtposX:'50',txtposY:'150',color:'#B73934'}, 
{Brand:'Latin Deli',prod:'Black Beans Seasoned',priority:'1',bg:'21',img:'latindeli_blackbeans-seasoned',imgposX:'10',imgposY:'10',text:'Black Beans Seasoned<br/><span class=punch>Open a tin</span>',txtposX:'400',txtposY:'200',color:'#B73934'}, 
{Brand:'Latin Deli',prod:'Whole Hearts of Palm',priority:'1',bg:'12',img:'latindeli_heartspalmwhole',imgposX:'670',imgposY:'30',text:'Latindeli<br/>Whole Hearths of Palm<br/><span class=punch>Where cooks<br/>become cheffs</span>',txtposX:'50',txtposY:'150',color:'#E7A712'}, 

{Brand:'Maseca',prod:'Tamales Flour',priority:'0',bg:'20',img:'maseca_tamales',imgposX:'10',imgposY:'10',text:'Maseca<br/>Tamales Flour<br/><span class=punch>Bring Latin America<br/>to your table</span>',txtposX:'450',txtposY:'150',color:'#C84825'}, 

{Brand:'P.A.N.',prod:'White Corn Meal (Pre-cooked)',priority:'1',bg:'17',img:'pan_whitecornmeal',imgposX:'680',imgposY:'20',text:'P.A.N.<br/>Pre-Cooked White Corn Meal<br/><span class=punch>Directly to your table</span>',txtposX:'50',txtposY:'150',color:'#E7A712'}, 
{Brand:'P.A.N.',prod:'Yellow Corn Meal (Pre-cooked)',priority:'1',bg:'19',img:'pan_yellowcornmeal',imgposX:'10',imgposY:'20',text:'P.A.N.<br/>Pre-Cooked Yellow Corn Meal<br/><span class=punch>Directly to your table</span>',txtposX:'400',txtposY:'150',color:'#E7A712'}, 
{Brand:'P.A.N.',prod:'Sweet Corn Meal (Pre-cooked)',priority:'1',bg:'16',img:'pan_sweetcornmeal',imgposX:'10',imgposY:'50',text:'P.A.N.<br/>Sweet Corn Mix<br/><span class=punch>Ready for you</span>',txtposX:'400',txtposY:'200',color:'#E08936'}

];


var subbanner = [

{img:'layout/bg_order.jpg', txt:'<p>Looking for the perfect taste?</p><p><b>Call Us</b><br>0425 232 788</p><p><b>Email Us</b><br><a href="mailto:ben@latindeli.com.au">ben@latindeli.com.au</a></p><p>Order only available to registered stores.</p>'},
{img:'subbanner/box_ben1.jpg', txt:''},
{img:'subbanner/box_ben2.jpg', txt:''},
{img:'subbanner/box_ben3.jpg', txt:''}

];

$(document).ready(function(){
	//CUFON
	Cufon.replace(".quote,.btn_navbar", {fontFamily:"DIN"});
	//NAVBAR
	navbar(page);
	//HOVER STATE FOR BUTTONS
	buttonHover();
	//TWITTER
	twitter();
	//BASICS
	basics(page);

	//PREVENT ENTER KEY FROM SUBMITTING FORM
	$(window).keypress(
		function(event){ 
			if (event.keyCode == 13) {
				event.preventDefault();
			} 
		}
	);
});
//NAVBAR FUNCTION - HOVER BACKGROUND ANIMATION
function navbar(page)
{
	//ADDING CLASS TO CURRENT PAGE
	$(".navbar ul li").eq(page).addClass("current");
	Cufon.replace("#" + $(".current").attr("id"), {color:'#FFF', fontFamily:"DIN"});
	//HOVER STATE
	$(".navbar ul li:not(.current)").css({backgroundPosition: '0px -70px'}) // workaround for FF 2.0 bug
									.hover(function(e){
										$(this).hoverFlow(e.type,{backgroundPosition: '0px 0px'},"fast");
										Cufon.replace("#" + $(this).attr("id"), {color:'#FFF', fontFamily:"DIN"});	
									}, function(e){
										$(this).hoverFlow(e.type,{backgroundPosition: '0px -70px'},"fast");
										var id = $(this).attr("id");
										var thecolor = "#CB3E2A";
										if (id == "login") thecolor = "#213769";	
										Cufon.replace("#" + id, {color: thecolor, fontFamily:"DIN"});	
									});
}
//ALL BUTTONS HOVER ESTATE
function buttonHover()
{
	$("div[id^='btn']").hover(function(){
		$(this).addClass("hover");							  
	}, function(){
		$(this).removeClass("hover");											
	});

	$("input[id^='btn']").hover(function(){
		$(this).addClass("hover");							  
	}, function(){
		$(this).removeClass("hover");											
	});

}
//BASICS
function basics(page)
{
	if (page == 6)
	{
		bannerGal();
		//WISHLIST
		prodtable();
		//FORM
		submitFormFunction("preorder",validateFormFunctionOrder,succFormFunction);
	}
	if (page == 5)
	{
		//HOME PAGE
		//banner(homeGallery);
		bannerGal();
	}
	if (page == 4)
	{
		//ABOUT PAGE
		bannerGal();
	}
	if (page == 3)
	{
		//PRODUCTS PAGE
		productGal();
	}
	if (page == 2)
	{
		//RECIPES PAGE
		bannerGal();
	}
	if (page == 1)
	{
		//FAQ PAGE
		bannerGal();
	}
	//COMMON TO ALL PAGES
	login();
	subbannerGal();
	//IF SESSION VARIABLE EXISTS
	if(typeof(showWishlist)!="undefined" && showWishlist)
	{
		//GENERATE WISHING LIST ANIMATION, HOVER AND CLICK EVENTS
		wish();
		//ADD ITEM FUNCTIONALITY
		wl_add();
	}
	Cufon.replace("h1,.recipeTextHeader", {fontFamily:"DIN"});

}

//BANNER
function banner(data)
{
	var str = '<ul class="gallery">';
	var counterstr = '<ul class="counter">';
	var textLocation = "Right";
	$.each(data, function(index){
		if (this.imageLocation == "Right") textLocation = "Left";
		//SLIDE
		str += '<li id="' + index + '">';
		str += '	<div class="slide">';
		str += '		<div class="slideImg' + this.imageLocation + '"><img src="' + this.img + '" alt="' + this.alt + '" title="' + this.alt + '" /></div>';
		str += '		<div class="slideText' + textLocation + '">';
		str += '			<div class="slideTextSmall">' + this.textS + '</div>';
		str += '			<div class="slideTextMedium">' + this.textM + '</div>';
		str += '			<div class="slideTextLarge">' + this.textL + '</div>';
		str += '		</div>';
		str += '	</div>';
		str += '</li>';
		//COUNTER
		counterstr += '<li>' + index + '</li>';
	});
	str += '</ul>';
	counterstr += '</ul>';
	var finalSTR = str + counterstr;
	$(".banner").html(finalSTR);
	Cufon.replace(".slideTextSmall,.slideTextMedium,.slideTextLarge", {fontFamily:"Santana-BlackCondensed", textShadow: '#000 3px 3px', shadowOpacity: 0.7, shadowBlur: 5});

	//GLOBAL VAR
	var loopvar;

	//CLICK EVENT
	$(".counter li").click(function(e){
		var clicked = $(this).html();
		//RESET
		$(".gallery li").animate({"opacity":0},200,function(){});
		$(".counter li").removeClass("galCurrent");
		//RE-ASSIGN
		$("#" + clicked).animate({"opacity":1},500,function(){});
		$(".counter li").eq(clicked).addClass("galCurrent");
		
		//LOOP RE-START
		if (typeof(loopvar)!="undefined")
		{
			clearTimeout(loopvar);
			var nextclicked = parseFloat(clicked) - 1;
			if (parseFloat(clicked) == 0)
			{
				nextclicked = parseFloat($(".counter li").length) - 1;
			}
			loopvar = setTimeout(function(){loop(nextclicked);},5000);
		}
	});
	
	//LOOP
	function loop(x)
	{
		$(".counter li").eq(x).trigger("click");
		x--;
		if (x==-1) x=parseFloat($(".counter li").length) - 1;
		loopvar = setTimeout(function(){loop(x);},5000);
	}

	//FIRST LOAD
	var x = $(".counter li:last-child").html();
	loop(x);
}

//TWITTER
function twitter()
{
	$(".boxNewsCanva").addClass("tweet").tweet({
		count: 3,
		fetch: 20,
		filter: function(t){ return ! /^@\w+/.test(t["tweet_raw_text"]); },
		username: "latin_deli",
		//list: "CocaCola",
		loading_text: "loading twitter feed...",
		refresh_interval: 10
	});
}


//PRODUCT GALLERY
function productGal()
{
	//COLLECTING ALL PRODUCTS
	$.ajax({  
		url: 'src/sqlscripts.php',
		data: 'a=products',
		type: 'GET',
		cache: false,
		contentType: 'application/json; charset=utf-8',
		dataType: "json",
		error: function(XMLHttpRequest,textStatus, errorThrown) {alert("Status:<br/>" + textStatus + "<br/><br/>Error:<br/>" + errorThrown + "<br/><br/>Response:<br/>" + XMLHttpRequest.responseText);},
		success: function(data){
			productNavbar(data);
		}
	});
	
	//PRODUCT NAVBAR
	function productNavbar(data)
	{
		//CUFON FOR PRODUCT NAVBAR
		Cufon.replace(".btn_prod_category", {fontFamily:"DIN"});
		
		//HOVER EVENT
		$(".btn_prod_category").hover(function(e){
			var hovered = parseFloat($(this).attr("rel"));
			$(".prod_triangle").hoverFlow(e.type,{left: hovered},"fast");
			
		}, function(e){
			var current = parseFloat($(".pcurrent").attr("rel"));
			$(".prod_triangle").hoverFlow(e.type,{left: current},"fast");
			
		});
		//CLICK EVENT
		$(".btn_prod_category").click(function(){
			$(".pcurrent").removeClass("pcurrent");
			$(this).addClass("pcurrent");
			var index = $(this).index();
			if (index == 0) productGalPrint(data.sauces);
			if (index == 2) productGalPrint(data.beverages);
			if (index == 4) productGalPrint(data.beans);
			if (index == 6) productGalPrint(data.flours);
			if (index == 8) productGalPrint(data.tinned);
			if (index == 10) productGalPrint(data.other);
		});
		//FIRST LOAD
		$(".btn_prod_category").eq(0).trigger("click");
		
	}
		
	function productGalPrint(data)
	{
		//BEGIN - SLIDESHOW
		var str = "<div id='slideshow'><div id='slidesContainer'>";
		
		//LOOP
		$.each(data, function(){
			str += "<div class='slide' id='"+this.id+"'>";
			str += "	<h2 class='spn'>" + this.brand + " - " + this.productName + "</h2><div class='slideImg'><a href=''><img src='images/products/" + this.img + ".png' alt='" + this.productName + "' /></a></div>";
			if (this.servingSize != "")
			{
			str += "	<div class='nutrition'><h2 class='header'><span>Nutrition Facts</span></h2>";
			str += "		<div class='servings separator'>";
			str += "			<div class='servingLeft'>Serving Size: <span class='servingsize'>" + this.servingSize + "</span></div>";
			str += "			<div class='servingRight'>Serving About: <span>" + this.servAbout + "</span></div>";
			str += "		</div>";
			str += "		<div class='amountPerServing separator'>";
			str += "				<div>Amount per Serving</div>";
			str += "				<div class='cals'>Calories <span class='calories'>" + this.calories + "</span></div>";
			str += "				<div class='caloriesFromFat'>Calories from Fat 0.0</div>";
			str += "		</div>";
			
			str += "		<div class='dailyValues separator'>";
			str += "				<div class='subHeader'>% Daily Value *</div>";
			str += "				<dl class='nutrients'>";
			str += "					<dt><strong>Total Fat</strong> " + this.totalFat.split("|")[0] + "</dt><dd class='fat'>" + this.totalFat.split("|")[1] + "</dd>";
			str += "					<dt class='indent'>Saturated Fat " + this.saturatedFat.split("|")[0] + "</dt><dd>" + this.saturatedFat.split("|")[1] + "</dd>";
			str += "					<dt><strong>Cholesterol</strong> " + this.cholesterol.split("|")[0] + "</dt><dd>" + this.cholesterol.split("|")[1] + "</dd>";
			str += "					<dt><strong>Sodium</strong> " + this.sodium.split("|")[0] + "</dt><dd>" + this.sodium.split("|")[1] + "</dd>";
			str += "					<dt><strong>Total Carbohydrate</strong> " + this.totalCarb.split("|")[0] + "</dt><dd>" + this.totalCarb.split("|")[1] + "</dd>";
			str += "					<dt class='indent'>Dietary Fiber " + this.dietaryFiber.split("|")[0] + "</dt><dd>" + this.dietaryFiber.split("|")[1] + "</dd>";
			str += "					<dt class='indent'>Sugars " + this.sugars + "</dt><dd>&nbsp;</dd>";
			str += "					<dt><strong>Protein</strong> " + this.protein + "</dt><dd>&nbsp;</dd>";
			str += "				</dl>";
			str += "		</div>";
			
			str += "		<div class='caloriesFrom separator'>";
			str += "			<dl class='nutrients'>";
			if (this.vitamins != "")	str += "				<dt><strong>Vitamins:</strong> " + this.vitamins + "</dt>";
			if (this.ingredients != "")	str += "				<dt><strong>Ingredients:</strong> " + this.ingredients + "</dt>";
			
			str += "			</dl>";
			str += "		</div>";
			
			str += "		<div class='notes'>";
			str += "		<p>* Percent Daily Values are based on a 2,000 calorie diet. Your daily values may be higher or lower depending on your calories needs.</p>";
			str += "		</div>";
			
			if(typeof(showWishlist)!="undefined" && showWishlist)
			{

			str += "		<div class='notes2'>";
			str += "		<div class='wishorder'>";
			str += "			<span>No. Boxes </span>";
			str += "			<input type=text class='qty' value='1' name='qty' tabindex='-1' />";
			str += "			<span> x " + this.unitperbox + " units per box</span>";
			str += "			<div class='btn_add' rel='" + this.id + "|" + this.brand + " - " + this.productName + " " + this.weight + "|" + this.unitperbox + "'>Add to Wish List</div>";
			str += "			<input type=hidden name='productID' value='" + this.id + "' />";
			str += "		</div>";
			str += "		</div>";
				
			}
			
			str += "	</div>";
			}
			else
			{
			str += "	<div class='note'>" + this.note + "</div>";	
			}
			str += "</div>";
		});
		
		//END - SLIDESHOW
		str += "</div></div>";
		//PRINTING
		$(".banner").html(str);
		//CUFON REPLACEMENT
		Cufon.replace(".spn", {fontFamily:"Santana-BlackCondensed", textShadow: '#000 3px 3px', shadowOpacity: 0.7, shadowBlur: 5});
		//IFIXPNG
		if(isIE6)
		{
			loadedCallbackFunction();
		}

		//NUTRITION ROUND BORDER
		//$(".nutrition").wrap("<div class='outer'></div>");
		//$(".nutrition").corner("round 15px").parent().css("padding", "15px").corner("round 21px");
		//ADD TO WISHLIST CORNER
		//$(".btn_add").corner("round 15px");
		
		//ADD BUTTON HOVER
		$("div[class^='btn']").hover(function(){
			$(this).addClass("hover");							  
		}, function(){
			$(this).removeClass("hover");											
		});

		//ADD BUTTON CLICK EVENT
		$(".btn_add").click(function(){
			var quantity = $(this).parent().find("input.qty").val();
			var dataArray = $(this).attr("rel").split("|");
			var prodID = dataArray[0];
			var product = dataArray[1];
			var unitperbox = dataArray[2];
			newgenItemID++;
			var itemID = newgenItemID;
			var cookieName = "item_" + itemID;
			var cookieVal = prodID + "|" + product + "|" + quantity + "|" + unitperbox;

			//ADD TO WISH LIST
			var destinationObj = $(".wishcanva ul");
			destinationObj.append("<li id='item_" + itemID + "'><span class='wl_text' style='width:300px;'>" + product + "</span><span class='wl_text'>No. of boxes </span><span class='wl_text' style='width:20px;'>" + quantity + "</span><span class='wl_text'> x </span><span class='wl_text' id='box_" + itemID + "' style='width:20px;'>" + unitperbox + "</span><span class='wl_text'> units per box</span><input type=hidden name='prodID_" + prodID + "' value='" + prodID + "' /><div class='btn_del'>Delete</div></li>");
			//BUTTONS ICONS
			$(".btn_del").button({icons: {primary: "ui-icon-trash"},text: false})			
		
			//UPDATE START TEXT IN WISHTAB
			updateWLcounter();

			//ADD COOKIE
			$.cookie(cookieName, cookieVal, {expires: null}); 
		});
		
		//CONTROLS
		productGalControls();
	}
	
	function productGalControls()
	{
	  var currentPosition = 0;
	  var slideWidth = 1000;
	  var slides = $('.slide');
	  var numberOfSlides = slides.length;
	
	  // Remove scrollbar in JS
	  $('#slidesContainer').css('overflow', 'hidden');
	
	  // Wrap all .slides with #slideInner div
	  slides
		.wrapAll('<div id="slideInner"></div>')
		// Float left to display horizontally, readjust .slides width
		.css({
		  'float' : 'left',
		  'width' : slideWidth
		});
	
	  // Set #slideInner width equal to total width of all slides
	  $('#slideInner').css('width', slideWidth * numberOfSlides);
	
	  // Insert controls in the DOM
	  $('#slideshow')
		.prepend('<span class="control" id="leftControl">Clicking moves left</span>')
		.append('<span class="control" id="rightControl">Clicking moves right</span>');
	
	  // Hide left arrow control on first load
	  manageControls(currentPosition);
	
	  // Create event listeners for .controls clicks
	  $('.control')
		.bind('click', function(){
		// Determine new position
		currentPosition = ($(this).attr('id')=='rightControl') ? currentPosition+1 : currentPosition-1;
		
		// Hide / show controls
		manageControls(currentPosition);
		// Move slideInner using margin-left
		$('#slideInner').animate({
		  'marginLeft' : slideWidth*(-currentPosition)
		});
	  });
	
	  // manageControls: Hides and Shows controls depending on currentPosition
	  function manageControls(position){
		// Hide left arrow if position is first slide
		if(position==0){ $('#leftControl').hide() } else{ $('#leftControl').show() }
		// Hide right arrow if position is last slide
		if(position==numberOfSlides-1){ $('#rightControl').hide() } else{ $('#rightControl').show() }
	  }			
	}
	
}

//LOGIN
function login()
{
		var email = $("#email"),
			password = $("#password"),
			allFields = $([]).add(name).add(email).add(password),
			tips = $(".validateTips");
			
		function updateTips(t)
		{
			tips.text(t).addClass("ui-state-highlight");
			setTimeout(function(){tips.removeClass("ui-state-highlight", 1500);},500);
		}

		function checkLength(o,n,min,max)
		{
			if (o.val().length > max || o.val().length < min) 
			{
				o.addClass("ui-state-error");
				updateTips("Length of " + n + " must be between " + min + " and " + max + ".");
				o.focus();
				return false;
			} 
			else 
			{
				return true;
			}
		}

		function checkRegexp(o, regexp, n) 
		{
			if (!(regexp.test(o.val()))) 
			{
				o.addClass("ui-state-error");
				updateTips(n);
				o.focus();
				return false;
			} 
			else 
			{
				return true;
			}
		}
		
		$("#dialog-form").dialog({
			autoOpen: false,
			height: 300,
			width: 350,
			modal: true,
			buttons: {
				"Login": function(){
					var bValid = true;
					allFields.removeClass("ui-state-error");

					bValid = bValid && checkLength( email, "email", 6, 80 );
					bValid = bValid && checkRegexp( email, /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i, "eg. john@something.com" );

					bValid = bValid && checkLength( password, "password", 5, 16 );
					bValid = bValid && checkRegexp( password, /^([0-9a-zA-Z])+$/, "Password field only allow : a-z 0-9" );

					if (bValid) 
					{

						$.post('src/login.php', 'user=' + escape(email.val()) + '&pass=' + escape(password.val()), function(data, textStatus) {
						  //data contains the JSON object
						  //textStatus contains the status: success, error, etc
						  if (data.indexOf("loggedin")==-1)
						  {
							updateTips(data);  
						  }
						  else
						  {
							  //RELOAD PAGE TO INCLUDE SESSION VARIABLES
							  //$("#dialog-form").dialog("close");
							  window.location.reload();
						  }
						}, "json");

					}
				},
				Cancel: function(){
					$(this).dialog("close");
				}
			},
			close: function(){
				allFields.val("").removeClass("ui-state-error");
			}
		});

		$("#login-dialog").click(function(){
			$("#dialog-form").dialog("open");
		});
}

//RECIPES
//GLOBAL VARIABLE
var recipes = new Array();
function recipesLoad(rID)
{
	$.ajax({  
		url: 'src/sqlscripts.php',
		data: 'a=recipes',
		type: 'GET',
		cache: false,
		contentType: 'application/json; charset=utf-8',
		dataType: "json",
		error: function(XMLHttpRequest,textStatus, errorThrown) {alert("Status:<br/>" + textStatus + "<br/><br/>Error:<br/>" + errorThrown + "<br/><br/>Response:<br/>" + XMLHttpRequest.responseText);},
		success: function(data){
			printRecipeBar(data);
		}
	});
	
	function printRecipeBar(data)
	{
		$.each(data.Entry, function(){
			recipes.push(this);	
		});
		$.each(data.Main, function(){
			recipes.push(this);
		});
		
		recipesGenerator(rID);
	}
	
}

//RECIPE FUNCTION - LOADING FROM GLOBAL VARIABLE
function recipesGenerator(rID)
{
	if (rID == "" || typeof(rID)=="undefined") rID = 4;
	
	var str = "";
	
	$.each(recipes, function(){
		if (this.id == rID)
		{
			$(".recipeImage").html("<img src='images/recipes/" + this.img + ".jpg' alt='" + this.recipeName + "' width='330'>");
			var totalTime = parseFloat(this.prepTime) + parseFloat(this.cookTime);
			
			var hours = Math.floor(totalTime / 60);          
			var minutes = totalTime % 60;
			
			if (totalTime >> 0)
			{
				if (hours == 0)
				{
					var totalTimeText = minutes + "min";
				}
				else
				{
					if (minutes == 0)
					{
						var totalTimeText = hours + "h";
					}
					else
					{
						var totalTimeText = hours + "h " + minutes + "min";
					}
				}
				$(".recipeServingContainer").html("<b>Serving size:</b> " + this.serve + "<br/><b>Cooking time:</b> " + totalTimeText + "<br/><b>Source:</b> Click the link below<br/><a href='" + this.source + "' target='_blank'>" + this.source + "</a>");
			}
			else
			{
				$(".recipeServingContainer").html("<b>Serving size:</b> " + this.serve + "<br/><b>Source:</b> Click the link below<br/><a href='" + this.source + "' target='_blank'>" + this.source + "</a>");
			}
			
			if (this.tips != "")
			{
				$(".recipeTipLocator").html('<div class="recipeTip"><div class="recipeTipPadding"><div class="recipeTipContainer">' + this.tips + '</div></div></div>');
			}
			
			if (this.description != "")
			{
				$(".recipeDescriptionLocator").html('<div class="recipeDesc"><div class="recipeDescPadding"><div class="recipeDescContainer">' + this.description + '</div></div></div>');
			}
			$(".recipeTextHeader").html(this.recipeName);
			$("#ingredients").html(this.ingredients);
			$("#method").html(this.preparation);

			str += "<a href='recipes.php?r=" + this.id + "'><div class='recipeItem' id='" + this.id + "' style='color:#c84028;'>" + this.recipeName + "</div></a>";
			
		}
		else
		{
			str += "<a href='recipes.php?r=" + this.id + "'><div class='recipeItem' id='" + this.id + "'>" + this.recipeName + "</div></a>";
		}
	});
	$(".recipeListCanvaContainer").html(str);
	
}

//WISH LIST
function wish()
{
	if (typeof(showWishlist)!="undefined" && showWishlist)
	{
		//CHECK COOKIES
		var cookies = get_cookies_array();
		var nrcookies = 0;
			for(var name in cookies) {
				nrcookies++;
			}

		if (nrcookies > 0)
		{
			for(var name in cookies) 
			{
				if (name.indexOf("item_")!=-1)
				{
					var cookieValue = cookies[name];
					cookieValArray = cookieValue.split("|");
					var prodID = cookieValArray[0];
					var product = cookieValArray[1];
					var quantity = cookieValArray[2];
					var unitperbox = cookieValArray[3];
					var destinationObj = $(".wishcanva ul");
					var itemID = parseFloat(name.substring(5));
					if (itemID > newgenItemID) {newgenItemID = itemID-1;}
					destinationObj.append("<li id='item_" + itemID + "'><span class='wl_text' style='width:300px;'>" + product + "</span><span class='wl_text'>No. of boxes </span><span class='wl_text' style='width:20px;'>" + quantity + "</span><span class='wl_text'> x </span><span class='wl_text' id='box_" + itemID + "' style='width:20px;'>" + unitperbox + "</span><span class='wl_text'> units per box</span><input type=hidden name='prodID_" + prodID + "' value='" + prodID + "' /><div class='btn_del'>Delete</div></li>");
					newgenItemID++;
				}
			}
			//BUTTONS ICONS
			$(".btn_del").button({icons: {primary: "ui-icon-trash"},text: false})			
		}
		
		//UPDATE START TEXT IN WISHTAB
		updateWLcounter();
		
		//ANIMATE top FROM 0 to 40px
		//WAIT FOR 40sec AND THEN CHANGE OPACITY TO .20
		$(".wishlist").animate({"top":"-204px"},4000,function(){
			setTimeout(function(){$(".wishlist").animate({"opacity":0.2},2000);},2000);			
		});
		
		//HOVER EVENT TO CHANGE OPACITY FROM .20 to 1.
		$(".wishlist").hover(function(e){
			$(this).hoverFlow(e.type,{opacity: '1'},"fast");
		}, function(e){
			$(this).hoverFlow(e.type,{opacity: '0.2'},"fast");
			if ($(".wishlist").css("top") == "0px")
			{
		//		$(".wishlist").animate({'top': '-204px'},"fast");
			}
		});
		
		//CLICK EVENT
		$(".wishTab").click(function(e){
		
			var currPos = $(".wishlist").css("top");
			if (currPos == "-204px")
			{
				$(".wishlist").animate({'top': '0px'},"fast");
			}
			else
			{
				$(".wishlist").animate({'top': '-204px'},"fast");
			}
		});	
	}
}

//FORM SUBMISSION FUNCTION
function submitFormFunction(formClass,val,succ){
	//FORM SUBMISSION
	var options = { 
		beforeSubmit: val,
		success: succ,
		formClass: formClass
	};
	//BIND FORM SUBMIT
	$('.' + formClass).ajaxForm(options);

}
//FORM VALIDATION FUNCTION
function validateFormFunction(formData, jqForm, options){
	//REGEX DEFINITIONS
	var regNumeric = new RegExp(/^[0-9 _]*$/);
	
	var returnVar = true;

	//RUN VALIDATION FUNCTION
	$.each(formData, function(){
		if(this.value != 'Submit'){
			
			//MANDATORY FIELD
			if (this.value == "")
			{
				returnVar = false;
				return false;
			}
			
			else
			if(!regNumeric.test(this.value))
			{
				returnVar = false;
				return false;
			}
		}
	});
	
	if(returnVar == false){
		return false;
	}
}
//FORM SUCCESS FUNCTION
function succFormFunction(data)
{
	//ADDING ITEM TO WISH LIST
	alert(data);

}

//ADD ITEMS TO WISHLIST FROM WISHLIST MENU
function wl_add()
{
	//COLLECTING ALL PRODUCTS
	$.ajax({  
		url: 'src/sqlscripts.php',
		data: 'a=tags',
		type: 'GET',
		cache: false,
		contentType: 'application/json; charset=utf-8',
		dataType: "json",
		error: function(XMLHttpRequest,textStatus, errorThrown) {alert("Status:<br/>" + textStatus + "<br/><br/>Error:<br/>" + errorThrown + "<br/><br/>Response:<br/>" + XMLHttpRequest.responseText);},
		success: function(data){
			addTags(data);
		}
	});
	
	function addTags(data)
	{
		$("#btn_addItem").click(function(){
			newgenItemID++;
			var destinationObj = $(".wishcanva ul");
			destinationObj.append("<li id='item_" + newgenItemID + "'><input type=text name='tag_" + newgenItemID + "' class='tags' /><span class='wl_text'>No. of boxes </span><input type=text value='1' class='qty'><span class='wl_text'> x </span><span class='wl_text' id='box_" + newgenItemID + "'>24</span><span class='wl_text'> units per box</span><div class='btn_save' id='save_" + newgenItemID + "' rel=''>Save</div><div class='btn_del'>Delete</div></li>");
			//AUTOCOMPLETE
			$( ".tags" ).autocomplete({
				source: data.tags
			});
			//BUTTONS ICONS
			$(".btn_save").button({icons: {primary: "ui-icon-disk"},text: false})			
			$(".btn_del").button({icons: {primary: "ui-icon-trash"},text: false})			
		});
		
		//UNITS PER BOX
		$("input.tags").live("change",function(){
			var id = $(this).parent().attr("id").substring(5);
			var selectedTag = $(this).val();
			var prodIndex = 0;
			$.each(data.tags, function(index){
				if (this == selectedTag)
				{
					prodIndex = index;
					return false;
				}
			});
			$("#box_" + id).html(data.products[prodIndex].unitperbox);
			$("#save_" + id).attr("rel",data.products[prodIndex].id);
		});
		
		//DELETE BUTTON
		$(".btn_del").live("click", function(){
			//IF LI DID NOT HAVE INPUTS BUT TEXT ONLY, REMOVE FROM DATABASE
			if ($(this).parent().find("input.tags").length == 0)
			{
				//ITEM WAS SAVED TO THE DATABASE
				//REMOVE ITEM FROM DB
				var itemID = $(this).parent().attr("id").substring(5);
				var cookieName = "item_" + itemID;
				$.cookie(cookieName, null);
			}
			//REMOVE LI
			$(this).parent().remove();
			//DECREASE WISH LIST COUNTER
			updateWLcounter();
		});
		
		//SAVE BUTTON
		$(".btn_save").live("click", function(){
			var itemID = $(this).parent().attr("id").substring(5);
			//UPDATE LI REMOVING INPUT BOX AND REPLACING IT WITH SPAN
			var product = $(this).parent().find("input.tags").val();
			$(this).parent().find("input.tags").before("<span class='wl_text' style='width:300px;'>" + product + "</span>");
			$(this).parent().find("input.tags").remove();
			
			var quantity = $(this).parent().find("input.qty").val();
			$(this).parent().find("input.qty").before("<span class='wl_text' style='width:20px;'>" + quantity + "</span>");
			$(this).parent().find("input.qty").remove();
			
			var unitperbox = $("#box_" + itemID).html();
			
			var prodID = $(this).attr("rel");
			$(this).before("<input type=hidden name='prodID_" + prodID + "' value='" + prodID + "' />");
			//REMOVE THE SAVE BUTTON
			$(this).remove();
			//INCREASE COUNTER ON WISH LIST TAB
			updateWLcounter();
			//ADD COOKIE
			var cookieName = "item_" + itemID;
			var cookieVal = prodID + "|" + product + "|" + quantity + "|" + unitperbox;
			$.cookie(cookieName, cookieVal, {expires: null}); 
		});
		
	}
	
	//SUBMIT BUTTON
	$("#btn_orderNow").click(function(){
		var cookies = printCookies();
		//PASSING ORDER TO MAILER
		$.post('src/mailer.php', 'order=' + escape(cookies), function(data, textStatus) {
			//data contains the JSON object
			//textStatus contains the status: success, error, etc
			if (data != "sent")
			{
				//SHOW ERROR MESSAGE
				alert(data);
			}
			else
			{
				//ONCE SENT DELETE ALL COOKIES BUT PHPSESSID
				var cookies2 = get_cookies_array();
				for(var name in cookies2) {
				  //if (name != "PHPSESSID") 
				  if (name.indexOf("item_")!=-1) 
				  {
						$.cookie(name, null);
				  }
				}
				//REMOVING LI
				$(".wishcanva ul li").each(function(){
					$(this).remove();
				});
				//UPDATE WISH LIST TAB
				updateWLcounter();
				//SHOW MESSAGE
				$(".wishcanva ul").append("<li id='feedback'>Thanks for submitting your Wishlist. We will contact you shortly with a quote.</li>");
				setTimeout(function(){
					//REMOVE MESSAGE
					$("#feedback").remove(); 
					//HIDE WISH LIST IF EXTENDED
					var currPos = $(".wishlist").css("top");
					if (currPos == "0px")
					{
						$(".wishlist").animate({'top': '-204px'},"fast");
					}
				},3000);
			}
		}, "json");
	});	
	
}

function updateWLcounter()
{
	var wl_counter = 0;
	var msg = "";
	$(".wishcanva ul li").each(function(){
		if ($(this).find("span.wl_text").length == 6)
		{
			wl_counter++;
		}
	});	
	if (wl_counter > 0)
	{
		msg = "You have " + wl_counter + " items in your Wish List.";
	}
	else
	{
		msg = "Your Wish List is Empty.";
	}
	$(".wishTabCanva p").html("Welcome back " + username + "! - " + msg);
}


//COOKIES
function get_cookies_array() {
    var cookies = { };
    if (document.cookie && document.cookie != '') {
        var split = document.cookie.split(';');
        for (var i = 0; i < split.length; i++) {
            var name_value = split[i].split("=");
            name_value[0] = name_value[0].replace(/^ /, '');
            cookies[decodeURIComponent(name_value[0])] = decodeURIComponent(name_value[1]);
        }
    }
    return cookies;
}

function printCookies()
{
	var cookies = get_cookies_array();
	var str = "";
	for(var name in cookies) {
	  if (name.indexOf("item_")!=-1) str += cookies[name] + "@";
	}
	str = str.substring(0, str.length-1);
	return str;		
}

//RANDOM RANGE FUNCTION FOR BANNER GALLERY
function randomRange(from, to, leng)
{
	var tem, A= [], L= 0, i= 0;
	randomRangeLoop: 
	while(L< leng)
	{
		tem= Math.floor(Math.random()*to)+from;
		i= 0;
		while(i<L)
		{
			if(A[i++]=== tem) continue randomRangeLoop;
		}
		A[L++]= tem;
	}
	return A;
}

function bannerGal()
{
	
	//DIVIDING BY PRIORITY
	var P1 = new Array();
	var P0 = new Array();
	$.each(prodGallery, function(){
		if(this.priority == "0") P0.push(this); 
		if(this.priority == "1") P1.push(this);
	});
	var P1slidesNr = randomRange(0, P1.length-1, 3);
	var P0slidesNr = randomRange(0, P0.length-1, 3);

	//var slidesNr = randomRange(1, prodGallery.length-1, 5);
	var str = "<div class='slider'><ul>";
	

/*	
	for (var i=0; i<5; i++)
	{
		var u = slidesNr[i];
		str += "<li>";
		str += "	<div class='slideBG' style='background:url(images/banner/bg_banner_" + prodGallery[u].bg + ".jpg) no-repeat 0px 0px;'>";
		str += "		<div class='slideProd' style='top:" + prodGallery[u].imgposY + "px; left:" + prodGallery[u].imgposX + "px; background:url(images/products/" + prodGallery[u].img + ".png) no-repeat 0px 0px transparent; z-index:100;'></div>";
		str += "		<div class='slideText' style='top:" + prodGallery[u].txtposY + "px; left:" + prodGallery[u].txtposX + "px;' rel='" + prodGallery[u].color + "'>" + prodGallery[u].text + "</div>";
		str += "	</div>";
		str += "</li>";
	}
*/
	for (var i=0; i<3; i++)
	{
		var u = P1slidesNr[i];
		str += "<li>";
		str += "	<div class='slideBG' style='background:url(images/banner/bg_banner_" + P1[u].bg + ".jpg) no-repeat 0px 0px;'>";
		str += "		<div class='slideProd' style='top:" + P1[u].imgposY + "px; left:" + P1[u].imgposX + "px; background:url(images/products/" + P1[u].img + ".png) no-repeat 0px 0px transparent; z-index:100;'></div>";
		str += "		<div class='slideText' style='top:" + P1[u].txtposY + "px; left:" + P1[u].txtposX + "px;' rel='" + P1[u].color + "'>" + P1[u].text + "</div>";
		str += "	</div>";
		str += "</li>";
	}
	for (var i=0; i<3; i++)
	{
		var u = P0slidesNr[i];
		str += "<li>";
		str += "	<div class='slideBG' style='background:url(images/banner/bg_banner_" + P0[u].bg + ".jpg) no-repeat 0px 0px;'>";
		str += "		<div class='slideProd' style='top:" + P0[u].imgposY + "px; left:" + P0[u].imgposX + "px; background:url(images/products/" + P0[u].img + ".png) no-repeat 0px 0px transparent; z-index:100;'></div>";
		str += "		<div class='slideText' style='top:" + P0[u].txtposY + "px; left:" + P0[u].txtposX + "px;' rel='" + P0[u].color + "'>" + P0[u].text + "</div>";
		str += "	</div>";
		str += "</li>";
	}
	
	str += "</ul></div>";
	
	//PRINTING THE RANDOM SLIDES
	$(".banner").html(str);
	//SETTING COLORS TO PUNCH SPANS
	$(".punch").each(function(){
		var colour = $(this).parent().attr("rel");
		$(this).css("color",colour);
	});
	
	//RESETING ALL SLIDES
	$(".slider li").css("opacity","0");
	Cufon.replace(".slideText", {fontFamily:"Santana-BlackCondensed", textShadow: '#000 3px 3px', shadowOpacity: 0.7, shadowBlur: 5});
	
	
	//IFIXPNG
	if(isIE6)
	{
		loadedCallbackFunction();
	}

	//ANIMATION
	var animateCounter = 0;
	var firstload = 0;
	function animatethis()
	{
		if (animateCounter == 0)
		{
			if (firstload == 0)
			{
				firstload = 1;
				$(".slider li").eq(animateCounter).css("opacity","1")
				animateCounter++;
				setTimeout(function(){animatethis();},4000);
			}
			else
			{
				$(".slider li").eq(animateCounter).animate({opacity:1},2000);
				$(".slider li").eq(5).animate({opacity:0},2000,function(){
					animateCounter++;
					setTimeout(function(){animatethis();},4000);
				});
			}
		}
		else
		{
			$(".slider li").eq(animateCounter).animate({opacity:1},2000);
			$(".slider li").eq(animateCounter - 1).animate({opacity:0},2000,function(){
				if (animateCounter<5)
				{
					animateCounter++;
				}
				else
				{
					animateCounter=0;
				}
				setTimeout(function(){animatethis();},4000);
			});
		}
	}
	
	animatethis();

}


//loadedCallbackFunction() - FUNCTION TO FIX PNG IN IE6
function loadedCallbackFunction(){	
	//FIX PNG IN IE6
	jQuery('img').ifixpng();
	jQuery('div').each(
		function(){
			if(jQuery(this).css("background-image").indexOf('png') != -1){
				jQuery(this).ifixpng();
			}
		}
	);
}

//subbanner
function subbannerGal()
{
	var str = "";
	$.each(subbanner, function(){
		str += "<div class='subbannerBox' style='background:url(images/" + this.img + ") no-repeat 0px 0px;'>";
		str += "	<div class='subbannerPos'>";
		str += "		" + this.txt;
		str += "	</div>";
		str += "</div>";
	});
	$(".boxOrders").html(str).wrap("<a href='preorder.php'></a>");
	$(".subbannerBox").css("opacity","0");
	$(".subbannerBox").eq(0).css("opacity","1");
	var nrslides = $(".subbannerBox").length;
	
	function animateSB(x)
	{
		if (x<nrslides)
		{
			
			if (x==0)
			{
				$(".subbannerBox").eq(nrslides-1).animate({"opacity":"0"},500);
				$(".subbannerBox").eq(0).animate({"opacity":"1"},500);
			}
			else
			{
				$(".subbannerBox").eq(x-1).animate({"opacity":"0"},500);
				$(".subbannerBox").eq(x).animate({"opacity":"1"},500);
			}
			x++;
			setTimeout(function(){animateSB(x);},5000);
		}
		else
		{
			x=0;
			animateSB(x);
		}
	}
	animateSB(0);	
	
}

//PRODUCT TABLE
function prodtable()
{
	//COLLECTING ALL PRODUCTS
	$.ajax({  
		url: 'src/sqlscripts.php',
		data: 'a=prdtable',
		type: 'GET',
		cache: false,
		contentType: 'application/json; charset=utf-8',
		dataType: "json",
		error: function(XMLHttpRequest,textStatus, errorThrown) {alert("Status:<br/>" + textStatus + "<br/><br/>Error:<br/>" + errorThrown + "<br/><br/>Response:<br/>" + XMLHttpRequest.responseText);},
		success: function(data){
			printTable(data);
		}
	});
	
	function printTable(data)
	{
		//CATEGORIES
		var beans = data.beans;
		var beverages = data.beverages;
		var flours = data.flours;
		var other = data.other;
		var sauces = data.sauces;
		var tinned = data.tinned;
		var foodservices = data.foodservices;
		
		//SETTING UP THE HEADER
		var top = "";
		top += "<div class='prdTable'>";
		top += "	<div class='prdHeader'>";
		top += "		<div class='prdCol1'>Select</div>";
		top += "		<div class='prdCol2'>Image</div>";
		top += "		<div class='prdCol3'>Product Name</div>";
		top += "		<div class='prdCol4'>Brand</div>";
		top += "		<div class='prdCol5'>Quantity</div>";
		top += "		<div class='prdCol6'>Units per box</div>";
		top += "	</div>";
		
		var middle = "";
		var counter = 0;
		$.each(beans, function(){
			if (counter % 2 == 0)
			{
				col = "odd"
			}else
			{
				col = "even"
			}
			middle += "<div class='prdRow "+ col +"'>";
			middle += "		<div class='prdCol1'><input type='checkbox' name='pID_"+ this.id +"' id='pID_"+ this.id +"' class='inputCheck' /></div>";
			middle += "		<div class='prdCol2'><img src='images/thumb/"+ this.img +".png' alt='' /></div>";
			middle += "		<div class='prdCol3'>"+ this.productName +"</div>";
			middle += "		<div class='prdCol4'>"+ this.brand +"</div>";
			middle += "		<div class='prdCol5'><input type='text' name='pID_"+ this.id +"_qty' class='inputText' disabled='disabled'></div>";
			middle += "		<div class='prdCol6'>"+ this.unitperbox +"</div>";
			middle += "</div>";
			counter++;
		});
		
		var footer = "</div>";
		
		var str="";
		str += "<div class='prdCategory'>Beans</div>" + top + middle + footer;
		
		var middle = "";
		var counter = 0;
		$.each(beverages, function(){
			if (counter % 2 == 0)
			{
				col = "odd"
			}else
			{
				col = "even"
			}
			middle += "<div class='prdRow "+ col +"'>";
			middle += "		<div class='prdCol1'><input type='checkbox' name='pID_"+ this.id +"' id='pID_"+ this.id +"' class='inputCheck' /></div>";
			middle += "		<div class='prdCol2'><img src='images/thumb/"+ this.img +".png' alt='' /></div>";
			middle += "		<div class='prdCol3'>"+ this.productName +"</div>";
			middle += "		<div class='prdCol4'>"+ this.brand +"</div>";
			middle += "		<div class='prdCol5'><input type='text' name='pID_"+ this.id +"_qty' class='inputText' disabled='disabled'></div>";
			middle += "		<div class='prdCol6'>"+ this.unitperbox +"</div>";
			middle += "</div>";
			counter++;
		});
		str += "<div class='prdCategory'>Beverages</div>" + top + middle + footer;

		var middle = "";
		var counter = 0;
		$.each(flours, function(){
			if (counter % 2 == 0)
			{
				col = "odd"
			}else
			{
				col = "even"
			}
			middle += "<div class='prdRow "+ col +"'>";
			middle += "		<div class='prdCol1'><input type='checkbox' name='pID_"+ this.id +"' id='pID_"+ this.id +"' class='inputCheck' /></div>";
			middle += "		<div class='prdCol2'><img src='images/thumb/"+ this.img +".png' alt='' /></div>";
			middle += "		<div class='prdCol3'>"+ this.productName +"</div>";
			middle += "		<div class='prdCol4'>"+ this.brand +"</div>";
			middle += "		<div class='prdCol5'><input type='text' name='pID_"+ this.id +"_qty' class='inputText' disabled='disabled'></div>";
			middle += "		<div class='prdCol6'>"+ this.unitperbox +"</div>";
			middle += "</div>";
			counter++;
		});
		str += "<div class='prdCategory'>Flours</div>" + top + middle + footer;
		
		var middle = "";
		var counter = 0;
		$.each(other, function(){
			if (counter % 2 == 0)
			{
				col = "odd"
			}else
			{
				col = "even"
			}
			middle += "<div class='prdRow "+ col +"'>";
			middle += "		<div class='prdCol1'><input type='checkbox' name='pID_"+ this.id +"' id='pID_"+ this.id +"' class='inputCheck' /></div>";
			middle += "		<div class='prdCol2'><img src='images/thumb/"+ this.img +".png' alt='' /></div>";
			middle += "		<div class='prdCol3'>"+ this.productName +"</div>";
			middle += "		<div class='prdCol4'>"+ this.brand +"</div>";
			middle += "		<div class='prdCol5'><input type='text' name='pID_"+ this.id +"_qty' class='inputText' disabled='disabled'></div>";
			middle += "		<div class='prdCol6'>"+ this.unitperbox +"</div>";
			middle += "</div>";
			counter++;
		});
		str += "<div class='prdCategory'>Other</div>" + top + middle + footer;
		
		var middle = "";
		var counter = 0;
		$.each(sauces, function(){
			if (counter % 2 == 0)
			{
				col = "odd"
			}else
			{
				col = "even"
			}
			middle += "<div class='prdRow "+ col +"'>";
			middle += "		<div class='prdCol1'><input type='checkbox' name='pID_"+ this.id +"' id='pID_"+ this.id +"' class='inputCheck' /></div>";
			middle += "		<div class='prdCol2'><img src='images/thumb/"+ this.img +".png' alt='' /></div>";
			middle += "		<div class='prdCol3'>"+ this.productName +"</div>";
			middle += "		<div class='prdCol4'>"+ this.brand +"</div>";
			middle += "		<div class='prdCol5'><input type='text' name='pID_"+ this.id +"_qty' class='inputText' disabled='disabled'></div>";
			middle += "		<div class='prdCol6'>"+ this.unitperbox +"</div>";
			middle += "</div>";
			counter++;
		});
		str += "<div class='prdCategory'>Sauces</div>" + top + middle + footer;
		
		var middle = "";
		var counter = 0;
		$.each(tinned, function(){
			if (counter % 2 == 0)
			{
				col = "odd"
			}else
			{
				col = "even"
			}
			middle += "<div class='prdRow "+ col +"'>";
			middle += "		<div class='prdCol1'><input type='checkbox' name='pID_"+ this.id +"' id='pID_"+ this.id +"' class='inputCheck' /></div>";
			middle += "		<div class='prdCol2'><img src='images/thumb/"+ this.img +".png' alt='' /></div>";
			middle += "		<div class='prdCol3'>"+ this.productName +"</div>";
			middle += "		<div class='prdCol4'>"+ this.brand +"</div>";
			middle += "		<div class='prdCol5'><input type='text' name='pID_"+ this.id +"_qty' class='inputText' disabled='disabled'></div>";
			middle += "		<div class='prdCol6'>"+ this.unitperbox +"</div>";
			middle += "</div>";
			counter++;
		});
		str += "<div class='prdCategory'>Tinned</div>" + top + middle + footer;
		
		var middle = "";
		var counter = 0;
		$.each(foodservices, function(){
			if (counter % 2 == 0)
			{
				col = "odd"
			}else
			{
				col = "even"
			}
			middle += "<div class='prdRow "+ col +"'>";
			middle += "		<div class='prdCol1'><input type='checkbox' name='pID_"+ this.id +"' id='pID_"+ this.id +"' class='inputCheck' /></div>";
			middle += "		<div class='prdCol2'><img src='images/thumb/"+ this.img +".png' alt='' /></div>";
			middle += "		<div class='prdCol3'>"+ this.productName +"</div>";
			middle += "		<div class='prdCol4'>"+ this.brand +"</div>";
			middle += "		<div class='prdCol5'><input type='text' name='pID_"+ this.id +"_qty' class='inputText' disabled='disabled'></div>";
			middle += "		<div class='prdCol6'>"+ this.unitperbox +"</div>";
			middle += "</div>";
			counter++;
		});
		str += "<div class='prdCategory'>Food Services</div>" + top + middle + footer;
		
		
		//PRINTING IT OUT	
		$("#prodTable").html(str);
		
		//CHECKBOXES
		$(".inputCheck").change(function(){
			var clicked = $(this).attr("id");
			if ($(this).is(":checked") == true)
			{
				$("input[name='" + clicked+"_qty" + "']").val("1").removeAttr("disabled");
			}
			else
			{
				$("input[name='" + clicked+"_qty" + "']").val("").attr("disabled",true);
			}
		});
	}
}


//ORDER VALIDATION
//FORM VALIDATION ERROR FUNCTION
function pageError(fieldName, errorText, jqForm){
	$("#errorLog").html(errorText); 
	$("#errorLog").css('display', 'block');
	$(eval('jqForm[0].' + fieldName)).attr('value','');
	$(eval('jqForm[0].' + fieldName)).focus();
}
function validateFormFunctionOrder(formData, jqForm, options){
	//REGEX DEFINITIONS
	var regEmail = new RegExp(/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/);
	var regNumeric = new RegExp(/^[0-9 _]*$/);
	var regSpace = new RegExp(/^[\s]*$/);
	
	var regNumbers = new RegExp(/\d+\.?\d*/);
	var returnVar = true;
	//RESET ERROR
	$("#errorLog").css('display', 'none');
	//RUN VALIDATION FUNCTION
	$.each(formData, function(){
		if(this.value != 'Submit')
		{
			
			var fieldname = this.name.toUpperCase();
			var name = $("[name='" + this.name + "']").parent().attr("rel");
			
			//MANDATORY FIELD
			if (this.value == "" && $("[name='" + this.name + "']").attr("class") == "mandatory")
			{
				pageError(this.name, "Please fill in the <b>" + name + "</b> field.", jqForm);
				returnVar = false;
				return false;
			}
			
			else
			if (fieldname.toLowerCase().indexOf("email")!=-1 && !regEmail.test(this.value))
			{
				pageError(this.name, "Please enter a valid email format for field <b>" + name + "</b>.", jqForm);
				returnVar = false;
				return false;
			}
			else
			if(fieldname.toLowerCase().indexOf("phone")!=-1 && !regNumeric.test(this.value))
			{
				pageError(this.name, "Please enter a valid phone for field <b>" + name + "</b>.", jqForm);
				returnVar = false;
				return false;
			}
		}
	});
	
	//CHECKBOXES
	var individualproductscount = 0;
	$("input[type='checkbox']").each(function(){
		if($(this).is(":checked") == true) individualproductscount++;	
	});
	if (individualproductscount==0 && returnVar == true)
	{
		$("#errorLog").html("You must select at least one item."); 
		$("#errorLog").css('display', 'block');
		returnVar = false;
		return false;
	}
	if(returnVar == false){
		return false;
	}
}

//FORM SUCCESS FUNCTION
function succFormFunction(data)
{
	//$("#errorLog").html(data);
	//SHOW PRINT FRIENDLY VERSION + NORMAL VERSION IN A TABLE
	var data = $.parseJSON(data);
	var clientData = data.client;
	var preorderData = data.details;
	
	var str = "<hr/>";
	str += "<p>Thank you for submitting your Pre-Order. We will contact you shortly with a quote. You will receive a copy of your pre-order via email.<br/>If you want to print it out, please <a id='btn_print'>click here for a print friendly version</a>.</p>";
	str += "<div class='resultsContainer'>";
	str += "	<div class='resultHeader'>Client Details</div>";
	str += "	<div class='resultsTable'>";
	str += "		<div class='resultCol1'>";
	str += "			<div class='resultRow'>";
	str += "				<div class='resultRowLabel'>First Name</div>";
	str += "				<div class='resultRowValue'>"+clientData.fname+"</div>";
	str += "			</div>";
	str += "			<div class='resultRow'>";
	str += "				<div class='resultRowLabel'>Address</div>";
	str += "				<div class='resultRowValue'>"+clientData.addr+"</div>";
	str += "			</div>";
	str += "			<div class='resultRow'>";
	str += "				<div class='resultRowLabel'>State</div>";
	str += "				<div class='resultRowValue'>"+clientData.state+"</div>";
	str += "			</div>";
	str += "			<div class='resultRow'>";
	str += "				<div class='resultRowLabel'>Email</div>";
	str += "				<div class='resultRowValue'>"+clientData.email+"</div>";
	str += "			</div>";
	str += "		</div>";
	str += "		<div class='resultCol2'>";
	str += "			<div class='resultRow'>";
	str += "				<div class='resultRowLabel'>Last Name</div>";
	str += "				<div class='resultRowValue'>"+clientData.lname+"</div>";
	str += "			</div>";
	str += "			<div class='resultRow'>";
	str += "				<div class='resultRowLabel'>Suburb</div>";
	str += "				<div class='resultRowValue'>"+clientData.suburb+"</div>";
	str += "			</div>";
	str += "			<div class='resultRow'>";
	str += "				<div class='resultRowLabel'>Post Code</div>";
	str += "				<div class='resultRowValue'>"+clientData.pcode+"</div>";
	str += "			</div>";
	str += "			<div class='resultRow'>";
	str += "				<div class='resultRowLabel'>Telephone</div>";
	str += "				<div class='resultRowValue'>"+clientData.phone+"</div>";
	str += "			</div>";
	str += "		</div>";
	str += "	</div>";
	str += "	<div class='resultHeader'>Pre-Order Details</div>";
	str += "	<div class='resultsTable'>";
	str += "		<div class='rtRow rtHeader'>";
	str += "			<div class='rtCol1'>Item</div>";
	str += "			<div class='rtCol2'>Image</div>";
	str += "			<div class='rtCol3'>Brand</div>";
	str += "			<div class='rtCol4'>Product</div>";
	str += "			<div class='rtCol5'>Quantity</div>";
	str += "			<div class='rtCol6'>Units per Box</div>";
	str += "		</div>";
	
	var counterItems = 1;
	$.each(preorderData, function(){
		var objData = this;
		
		if (counterItems % 2 == 0)
		{
			rowClass = "even";
		}
		else
		{
			rowClass = "odd";
		}
		str += "	<div class='rtRow "+ rowClass +"'>";
		str += "		<div class='rtCol1'>"+counterItems+"</div>";
		str += "		<div class='rtCol2'><img src='images/thumb/"+objData.img+".png' alt='"+objData.productName+"' /></div>";
		str += "		<div class='rtCol3'>"+objData.brand+"</div>";
		str += "		<div class='rtCol4'>"+objData.productName+"</div>";
		str += "		<div class='rtCol5'>"+objData.qty+"</div>";
		str += "		<div class='rtCol6'>"+objData.unitperbox+"</div>";
		str += "	</div>";
		
		counterItems++;
	});
	
	str += "	</div>";
	str += "</div>";
	
	$(".contentPadding").html(str);
	
	$("#btn_print").click(function(){
		var w = window.open();
		var html = $(".resultsContainer").html();
		var head = "<head><title>Pre-Order</title><link rel='stylesheet' href='src/stylesPrint.css' type='text/css' media='screen' /></head><body>";
		var foot = "</body>";
		var content = head + html + foot;
		content = "<html>"+content+"</html>";
		w.document.writeln(content);
	});
}

//FORM SUBMISSION FUNCTION
function submitFormFunction(formID,val,succ){
	//FORM VARIABLE MODIFICATION
	formID = formID + 'Form';
	//FORM SUBMISSION
	var options = { 
		beforeSubmit: val,
		success: succ,
		formID: formID
	};
	//BIND FORM SUBMIT
	$('#' + formID).ajaxForm(options);

}
