function toggleProductSelectorState() {
	if ($('#selector').hasClass('off')) {
		$('#selector').removeClass('off').addClass('on');
	} else {
		$('#selector').removeClass('on').addClass('off');
	}
}

function toggleGeneralCloseTextMessage(hideGeneralMessage) {	
	
	if(hideGeneralMessage) {
		if(!$('#selectorInfo').is(':visible')) {
			$('#selectorInfo').show();
		}
		$('#selectorInfo #generalmsg').hide();
		$('#selectorInfo #resultsmsg').show();
	} else  {
		$('#selectorInfo #resultsmsg').hide();
		if($('#filterpanel').is(':visible')) {
			$('#selectorInfo #generalmsg').show();
			$('#selectorInfo').show();
		} else {
			$('#selectorInfo').hide();
		}
	}
}

$(document).ready(function(){

	$("#resultspanel #product_view #product_info #product_img a.jqzoom").jqzoom();
	
	var bestsellerdiv = $('#feature div.sc_menu');
	var searchdiv = $('#search');
	bestsellerdiv.width(searchdiv.width() - 100);
	bestsellerdiv.css({overflow: 'hidden'});
	
	var lastOpenedItemPanelName = "";
	var searchPerformed = false;
	var defaultPageSize = 8;
	var CATALOGUE = "catalogue";
	var PRODUCT_LINE = "productline";
	var PRODUCT_FAMILY = "productfamily";
	var goBackToItem = false;

	if( $.cookie('favourite') == null ) {
		var favourites='';
	    $.cookie( 'favourite', favourites,  { expires: 7 } );
	}

	$("#toolbar #mail").mouseover(function() {
		$("#toolbar #mail_desc").show();
		$("#toolbar #fav_desc").hide();
		$("#toolbar #contact_desc").hide();
	});
	
	$("#toolbar").find("#shortlist").mouseover(function() {
		$("#toolbar #mail_desc").hide();
		$("#toolbar #fav_desc").show();
		$("#toolbar #contact_desc").hide();
	});
	
	$("#toolbar #contact").mouseover(function() {
		$("#toolbar #mail_desc").hide();
		$("#toolbar #fav_desc").hide();
		$("#toolbar #contact_desc").show();
	});
	
	$("#toolbar #mail").click(function() {
		
		toggleGeneralCloseTextMessage(true);
		
		if ($('#resultspanel').find('#shortlist').is(":visible")) {
			$("#resultspanel").find("#shortlist").slideToggle("slow"); 
		} else {
			// clo
			if (searchPerformed) {
			   if ($('#filterpanel').is(":visible")) {
				   $('#resultspanel #products').slideToggle("slow");
			   } else {
				   //$('#resultspanel #product_view').slideToggle("slow");
			   }
			} else {
			   $('#resultspanel_wrapper').slideToggle('slow');
			   //toggleProductSelectorState();
			   $('#productPods').slideToggle('slow');
			}
		}
		// close compare if open
		if($('#resultspanel #comparison').is(':visible')) {   
			$('#resultspanel #comparison').slideToggle();
		}
		
		// close product view if open
		if($('#resultspanel #product_view').is(':visible')){
			$('#resultspanel #product_view').slideToggle();
		}
		
		
		$("#resultspanel #email_form").slideToggle("slow");

		$('#resultspanel #email_form #emailBody').show();
		$('#resultspanel #email_form #emailConfirmation').hide();
		
		$("#resultspanel #email_form #favourites .product_wrapper").remove();
		
		var cookieObj = $.cookie('favourite');
		var itemId = $('#resultspanel #product_view h2').attr("id");

		if (cookieObj != null && cookieObj != '') {
			var favourites = JSON.parse(cookieObj);
			if (favourites.length > 0) {
				for ( var i = 0; i < favourites.length; i++) {
					var itemHTML = "<div id='" + favourites[i].id + "' class='product_wrapper'>";
					itemHTML += "<img src='" + favourites[i].imgurl + "' height='100' width='75' />";
					itemHTML += "<div id='details'><a><h3 id='" + favourites[i].id + "'>" + favourites[i].name + "</h3></a><p>" + favourites[i].desc + "</p></div>";
					itemHTML += "<div id=\"remove_left\"><input type=\"checkbox\" value=\"" + favourites[i].id + "\" /></div><div id='" + favourites[i].id + "' class=\"remove\">Remove</div><div id=\"remove_right\"></div>";
					itemHTML += "</div>";
					$("#resultspanel #email_form #favourites").append(itemHTML);
				}
				$("#resultspanel #email_form #nofavourites").hide();
			} else {
				$("#resultspanel #email_form #nofavourites").show();
			}
		}
	});
   
	$("#resultspanel").find("#email_form .product_wrapper .remove").live('click', function() {
		var removeProducts = new Array();
		var count = 0;
		$("#resultspanel").find("#email_form .product_wrapper").find('#remove_left :checked').each(function() {
			removeProducts[count++]=$(this).val();
		});
				
		var cookieObj = $.cookie('favourite');
		var itemId = $(this).attr("id");
		var favourites = '[';

		if (cookieObj != null && cookieObj != '') {
			var favObj = JSON.parse(cookieObj);
			if (favObj.length > 0) {
				for ( var i = 0; i < favObj.length; i++) {
					var remove = false;
					for ( var j = 0; j < removeProducts.length; j++) {
						if (favObj[i].id == removeProducts[j]) {
							remove = true;
						}
					}
					if (!remove) {
						if (favourites != "[") {
							favourites += ",";
						}
						favourites += '{"id":' + '"' + favObj[i].id + '","name":"' + favObj[i].name + '","imgurl":"' + favObj[i].imgurl + '","desc":"' + favObj[i].desc + '"}';
					}
				}
			}
		} 
		favourites += "]";
		
		if (favourites == "[]") {
			favourites = '';
		}
		$.cookie('favourite', favourites);
		
		$("#resultspanel").find("#email_form .product_wrapper").find('#remove_left :checked').each(function() {
			//removeProducts[count++]=$(this).val();
			$(this).parent().parent().remove();
		});
		cookieObj = $.cookie('favourite');
		if (cookieObj == null || cookieObj == '') {
			$("#resultspanel #email_form").find("#nofavourites").show();
		}
	});

	$("#resultspanel").find("#shortlist .product_wrapper .remove").live('click', function() {	
		var removeProducts = new Array();
		var count = 0;
		$("#resultspanel").find("#shortlist").find('#remove_left :checked').each(function() {
			removeProducts[count++]=$(this).val();
		});
				
		var cookieObj = $.cookie('favourite');
		var itemId = $(this).attr("id");
		var favourites = '[';

		if (cookieObj != null && cookieObj != '') {
			var favObj = JSON.parse(cookieObj);
			if (favObj.length > 0) {
				for ( var i = 0; i < favObj.length; i++) {
					var remove = false;
					for ( var j = 0; j < removeProducts.length; j++) {
						if (favObj[i].id == removeProducts[j]) {
							remove = true;
						}
					}
					if (!remove) {
						if (favourites != "[") {
							favourites += ",";
						}
						favourites += '{"id":' + '"' + favObj[i].id + '","name":"' + favObj[i].name + '","imgurl":"' + favObj[i].imgurl + '","desc":"' + favObj[i].desc + '"}';
					}
				}
			}
		} 
		favourites += "]";
		
		if (favourites == "[]") {
			favourites = '';
		}
		$.cookie('favourite', favourites);
		
		$("#resultspanel").find("#shortlist").find('#remove_left :checked').each(function() {
			//removeProducts[count++]=$(this).val();
			$(this).parent().parent().remove();
		});	
		cookieObj = $.cookie('favourite');
		if (cookieObj == null || cookieObj == '') {
			$("#resultspanel").find("#shortlist").find("#nofavourites").show();
		}
	});
	
   $("#resultspanel #email_form #email_close").click(function() {
	   
	   toggleGeneralCloseTextMessage(false);
	   
	   $("#resultspanel #email_form").slideToggle("slow");

	   if (searchPerformed) {
		   if ($('#filterpanel').is(":visible")) {
			   //$('#resultspanel #products').slideToggle("slow");
			   if(!$('#resultspanel #products').is(':visible')) {
				   $('#resultspanel #products').slideToggle();
			   }
		   } else {
			   if(lastOpenedItemPanelName!="" && !$(lastOpenedItemPanelName).is(':visible')) {
				   $(lastOpenedItemPanelName).slideToggle('slow');
			  // if($('#resultspanel #product_view #product_info')) {
				//   $('#resultspanel #product_view').slideToggle();
				   toggleGeneralCloseTextMessage(true);
			   } else {
				   $('#filterpanel').slideToggle("slow");
				   toggleProductSelectorState();
				   if(!$('#resultspanel #products').is(':visible')) {
					   $('#resultspanel #products').slideToggle();
				   }
			   }
		   }
		   
	   } else {
		   $('#resultspanel_wrapper').slideToggle('slow');
		   $('#productPods').slideToggle('slow');
	   }
   	});
   
   $("#resultspanel #email_form #emailmsg").click(function() {
	   $("#resultspanel #email_form #emailmsg").text('');
   });
   
   $("#resultspanel #email_form #send").click(function() {
	   //$('#resultspanel #email_form #validationmessage').hide();
	   
	   var recipitentname = $("#resultspanel #email_form #recipitent_name").val();
	   var recipitentemail = $("#resultspanel #email_form #recipitent_email").val();
	   
	   var sendername = $("#resultspanel #email_form #sender_name").val();
	   var senderemail = $("#resultspanel #email_form #sender_email").val();
	   
	   var message = $("#resultspanel #email_form #emailmsg").val();
	   
	   var favourites = new Array();
	   var count = 0;
		/*$("#resultspanel #email_form #favourites .product_wrapper").each(function() {
			favourites[count++]=$(this).attr("id");
		});*/
	   var cookieObj = $.cookie('favourite');
	   if (cookieObj != null && cookieObj != '') {
			var favObj = JSON.parse(cookieObj);
			if (favObj.length > 0) {
				for ( var i = 0; i < favObj.length; i++) {
					favourites[count++] = favObj[i].name;
				}
			}
		}
		
	   if (recipitentname != '' && recipitentemail != '' && sendername != '' && senderemail != '') {
		   Selector.sendEmail(recipitentemail, recipitentname, senderemail, sendername, message, favourites, $('#catalogueid').val(), function(data) {		   
			   $('#resultspanel #email_form #emailBody').slideToggle('slow');
			   $('#resultspanel #email_form #emailConfirmation').slideToggle('slow');
			   $('#resultspanel #email_form #emailConfirmation').show();
			   if (data) {
				   $('#resultspanel #email_form #emailConfirmation #success').show();
				   $('#resultspanel #email_form #emailConfirmation #failure').hide();
			   } else {
				   $('#resultspanel #email_form #emailConfirmation #success').hide();
				   $('#resultspanel #email_form #emailConfirmation #failure').show();
			   }
			   
		   });
	   } else {
		   $('#resultspanel #email_form #validationmessage').show();
	   }
	   
   	});
   
   $("#toolbar").find("#shortlist").click(function() {
	   
	   toggleGeneralCloseTextMessage(true);
	   
	   if ($('#resultspanel #email_form').is(":visible")) {
		   $("#resultspanel #email_form").slideToggle("slow"); 
	   } else {
		   if (searchPerformed) {
			   if ($('#filterpanel').is(":visible")) {
				   $('#resultspanel #products').slideToggle("slow");
			   } else {
				   //$('#resultspanel #product_view').slideToggle("slow");
			   }
		   } else {
			   $('#resultspanel_wrapper').slideToggle('slow');
			   $('#productPods').slideToggle('slow');
		   }
	   }
	   // close compare if open	   
	   if($('#resultspanel #comparison').is(':visible')) {	 
		   $('#resultspanel #comparison').slideToggle("slow");		  
	   }
	   
	   if($('#resultspanel #product_view').is(':visible')){
		   $('#resultspanel #product_view').slideToggle();
	   }
	   
	   $("#resultspanel").find("#shortlist").slideToggle("slow");
	   $("#resultspanel").find("#shortlist .product_wrapper").remove();
	   
	   var cookieObj = $.cookie('favourite');
	   var itemId = $('#resultspanel #product_view h2').attr("id");
	   
	   if (cookieObj != null && cookieObj != '') {		   
		   var favourites = JSON.parse(cookieObj);		   
		   if (favourites.length > 0) {
			   for ( var i = 0; i < favourites.length; i++) {	
				   var itemHTML="";
				   itemHTML += "<div id=\"" + favourites[i].id + "\" class=\"product_wrapper\">";
				   itemHTML += "<img src=\"" + favourites[i].imgurl + "\" height=\"100\" width=\"75\"></img>";
				   itemHTML += "<div id=\"details\"><a><h3>" + favourites[i].name + "</h3></a><p>" + favourites[i].desc + "</p></div>";
				   itemHTML += "<div id=\"remove_left\"><input type=\"checkbox\" value=\"" + favourites[i].id + "\"></input></div><div id=\"" + favourites[i].id + "\" class=\"remove\">Remove</div><div id=\"remove_right\"></div>";
				   itemHTML += "</div>";				   
				   var e = $(itemHTML);
				   $("#resultspanel").find("#shortlist").append(e);
			   }
			   
			   $("#resultspanel").find("#shortlist").find("#nofavourites").hide();
			   $("#resultspanel").find("#shortlist").show();
		   } else {
			   $("#resultspanel").find("#shortlist").find("#nofavourites").show();
		   }		   
		   
		} else {
			$("#resultspanel").find("#shortlist").find("#nofavourites").show();
		}
   	});
   
   $("#resultspanel").find("#shortlist").find("#shortlist_close").click(function() {
	   toggleGeneralCloseTextMessage(false);
	   
	   $("#resultspanel").find("#shortlist").slideToggle("slow");
	   
	   if (searchPerformed) {
		   if ($('#filterpanel').is(":visible")) {
			   if(!$('#resultspanel #products').is(':visible')) {
				   $('#resultspanel #products').slideToggle();
			   }
		   } else {
			   if(lastOpenedItemPanelName!="" && !$(lastOpenedItemPanelName).is(':visible')) {
				   $(lastOpenedItemPanelName).slideToggle('slow');
			   //if($('#resultspanel #product_view #product_info')) {
				   //$('#resultspanel #product_view').slideToggle();
				   toggleGeneralCloseTextMessage(true);
			   } else {
				   $('#filterpanel').slideToggle("slow");
				   toggleProductSelectorState();
				   if(!$('#resultspanel #products').is(':visible')) {
					   $('#resultspanel #products').slideToggle();
				   }
			   }
		   }
		   
	   } else {
		   $('#resultspanel_wrapper').slideToggle('slow');
		   $('#productPods').slideToggle('slow');
	   }
   	});
  
	$('#selector').click(function() {  
		if ($('#selector').hasClass('off')) {
			$('#selector').removeClass('off').addClass('on');
		} else {
			$('#selector').removeClass('on').addClass('off');
			if ($('#filterpanel #filter ul li').hasClass('category')) {
				//Remove filter options when slide panel in
				$('#filter ul li.category').remove();
			}
		}
		
		if ($('#resultspanel').is(":visible")) {
			if ($('#resultspanel #products div').hasClass('product_wrapper')) {
				$('#resultspanel #products div.product_wrapper').remove();
				$('#resultspanel #products div.row').remove();
			}
			//Hide all possible screens
			$('#resultspanel #products').hide();
			$('#resultspanel #product_view').hide();
			$("#resultspanel").find("#shortlist").hide();
			$("#resultspanel #email_form").hide();
			$("#resultspanel #comparison").hide();
			
			$('#filter #viewresults #view_label').show();
			$('#filter #viewresults #refine_label').hide();
			$('#productPods').slideToggle('slow');
			searchPerformed = false;
		
		}
		
		/*if ($('#filter ul li').hasClass('category')) {
			//Remove filter options when slide panel in
			$('#filter ul li.category').remove();
		} */
		if(!$('#selector').hasClass('off')) {
			if ($('#filterpanel #filter ul li').hasClass('category')) {
				//Remove filter options when slide panel in
				$('#filter ul li.category').remove();
			}
			//Get characteristics
			var filterlevel = $('#filterlevel').val();

			if (filterlevel == CATALOGUE) {
				//alert("catalogue");
			} else if (filterlevel == PRODUCT_LINE) {
				
				Selector.getProductCharacteristicInProductLine($('#filterid').val(), $('#locale_code').val(), function(data) {
					var filters = JSON.parse(data);
					for(var x=0; x < filters.length; x++) {
						var filter = filters[x];
						var filterHTML = '<li class=\"category ' + filter.id + (x==filters.length - 1 ? ' last' : '') + '\"><a id=\"' + filter.id + '\" href=\"#\">' + filter.name + '</a></li>';
						// (' + filter.count + ')
						$('#filter ul').append(filterHTML);
						
						if (filter.id == '343') {
							//Get characteristics values
							Selector.getCharacteristicValuesInProductLine(filter.id, $('#filterid').val(), $('#locale_code').val(), $("#catalogueid").val(), function(values) {
								
								var filterOptions = JSON.parse(values);
								var parentId = 0;
								if (filterOptions.length > 0) {
									var filterOptionHTML = '<ul>';
									
										//Draw ohes icons
										for(var y=0; y < filterOptions.length; y++) {
											var filterOption = filterOptions[y];
											parentId = filterOption.parentid;
											filterOptionHTML += '<li class=\"option\"><input type=\"checkbox\" value=\"' + filterOption.id + '\" /><label class=\"icon\">' + filterOption.name + ' <i>('  + filterOption.count + ')</i></label>';
											
											switch (filterOption.id) {
												case '5743':
													filterOptionHTML += "<img src=\"/images/icons/ohes/green_10.jpg\">";
													break;
												;
												case '5744':
													filterOptionHTML += "<img src=\"/images/icons/ohes/yellow_10.jpg\">";
													break;
												;
												case '5745':
													filterOptionHTML += "<img src=\"/images/icons/ohes/red_one_10.jpg\">";
													break;
												;
												case '5746':
													filterOptionHTML += "<img src=\"/images/icons/ohes/red_two_10.jpg\">";
													break;
												;
												case '5747':
													filterOptionHTML += "<img src=\"/images/icons/ohes/red_three_10.jpg\">";
													break;
												;
											}
											
											filterOptionHTML += '</li>';
										}
									
									filterOptionHTML += '</ul>';
									$('#filter ul li.' + parentId).append(filterOptionHTML);
								}
								
								$('#filter ul').show();
								$('#filter #loading').hide();
								$('#filter ul li.' + parentId + ' ul').jScrollPane();
							});	
						} else {
							//Get characteristics values
							Selector.getCharacteristicValuesInProductLine(filter.id, $('#filterid').val(), $('#locale_code').val(), $("#catalogueid").val(), function(values) {
								
								var filterOptions = JSON.parse(values);
								var parentId = 0;
								if (filterOptions.length > 0) {
									var filterOptionHTML = '<ul>';
									for(var y=0; y < filterOptions.length; y++) {
										var filterOption = filterOptions[y];
										parentId = filterOption.parentid;
										filterOptionHTML += '<li class=\"option\"><input type=\"checkbox\" value=\"' + filterOption.id + '\" /><label>' + filterOption.name + ' <i>('  + filterOption.count + ')</i></label></li>';
									}
									
									filterOptionHTML += '</ul>';
									$('#filter ul li.' + parentId).append(filterOptionHTML);
								}
								
								$('#filter ul').show();
								$('#filter #loading').hide();
								$('#filter ul li.' + parentId + ' ul').jScrollPane();
							});	
						}	
					}
					
				});
			} else if (filterlevel == PRODUCT_FAMILY) {
				Selector.getCharacteristicsInProductFamily($('#filterid').val(), $('#locale_code').val(), function(data) {
					var filters = JSON.parse(data);
					for(var x=0; x < filters.length; x++) {
						var filter = filters[x];
						var filterHTML = '<li class=\"category ' + filter.id + (x==filters.length - 1 ? ' last' : '') + '\"><a id=\"' + filter.id + '\" href=\"#\">' + filter.name + '</a></li>';
						// (' + filter.count + ')
						$('#filter ul').append(filterHTML);
						
						if (filter.id == '343') {
							//Get characteristics values
							Selector.getCharacteristicValuesInProductFamily(filter.id, $('#filterid').val(), $('#locale_code').val(), $("#catalogueid").val(), function(values) {
								
								var filterOptions = JSON.parse(values);
								var parentId = 0;
								
								if (filterOptions.length > 0) {
									var filterOptionHTML = '<ul>';
									
										//Draw ohes icons
										for(var y=0; y < filterOptions.length; y++) {
											var filterOption = filterOptions[y];
											parentId = filterOption.parentid;
											filterOptionHTML += '<li class=\"option\"><input type=\"checkbox\" value=\"' + filterOption.id + '\" /><label class=\"icon\">' + filterOption.name + ' <i>('  + filterOption.count + ')</i></label>';
											
											switch (filterOption.id) {
												case '5743':
													filterOptionHTML += "<img src=\"/images/icons/ohes/green_10.jpg\">";
													break;
												;
												case '5744':
													filterOptionHTML += "<img src=\"/images/icons/ohes/yellow_10.jpg\">";
													break;
												;
												case '5745':
													filterOptionHTML += "<img src=\"/images/icons/ohes/red_one_10.jpg\">";
													break;
												;
												case '5746':
													filterOptionHTML += "<img src=\"/images/icons/ohes/red_two_10.jpg\">";
													break;
												;
												case '5747':
													filterOptionHTML += "<img src=\"/images/icons/ohes/red_three_10.jpg\">";
													break;
												;
											}
											
											filterOptionHTML += '</li>';
										}
									
									filterOptionHTML += '</ul>';
									$('#filter ul li.' + filterOption.parentid).append(filterOptionHTML);
								}
								
								$('#filter ul').show();
								$('#filter #loading').hide();
								$('#filter ul li.' + parentId + ' ul').jScrollPane();
								
							});	
						} else {
							//Get characteristics values
							Selector.getCharacteristicValuesInProductFamily(filter.id, $('#filterid').val(), $('#locale_code').val(), $("#catalogueid").val(), function(values) {
								
								var filterOptions = JSON.parse(values);
								var parentId = 0;

								if (filterOptions.length > 0) {
									var filterOptionHTML = '<ul>';
									
									for(var y=0; y < filterOptions.length; y++) {
										var filterOption = filterOptions[y];
										parentId = filterOption.parentid;
										filterOptionHTML += '<li class=\"option\"><input type=\"checkbox\" value=\"' + filterOption.id + '\" /><label>' + filterOption.name + ' <i>('  + filterOption.count + ')</i></label></li>';
									}
									
									filterOptionHTML += '</ul>';
									$('#filter ul li.' + filterOption.parentid).append(filterOptionHTML);
								}
								
								$('#filter ul').show();
								$('#filter #loading').hide();
								$('#filter ul li.' + parentId + ' ul').jScrollPane();
							});	
						}	
					}
					
				});
				
			}		
		}

		$('#filterpanel').slideToggle('slow');
		//$('#selectorInfo #generalmsg').show();
		//$('#selectorInfo #resultsmsg').hide();
		$('#resultspanel_wrapper').hide();
		$('#feature_wrapper').hide();
		
		if($('#selector').hasClass('off')) { 
			$('#selectorInfo').hide();
		} else {
			toggleGeneralCloseTextMessage(false);
		}
	});
	
	$('#resultspanel #products .product_wrapper .compare').live("click", function(e){
		lastOpenedItemPanelName = '#resultspanel #comparison';
		
		toggleGeneralCloseTextMessage(true);
		
		if ($('#resultspanel #comparison').hasClass('item')) {	
			$('#resultspanel #comparison .item').remove();
		}
		
		var compareProducts = new Array();
		var count = 0;
		$('.compare_left :checked').each(function() {
			compareProducts[count++]=$(this).val();
		});
		
		if (count > 3) {
			alert("You can compare up to three products. Please review your selection and try again.");
		} else {
			Selector.getItemCharacteristics(compareProducts, $('#locale_code').val(), function(compare) {
				var compareObjs = JSON.parse(compare);
				var prevChar = "";
				$("#resultspanel #comparison table tr").remove();
				if (compareObjs.length > 0) {
					var itemHTML = "";
	               
						for(var x=0; x < compareObjs.length; x++) {
							if (compareObjs[x].name == "name") {
								var itemTitleHTML = "<tr><td class=\"smalllabel\">&nbsp;</td>";
								for (var y=0; y < count; y++) {
									var fieldname = "value" + y;
									itemTitleHTML += "<td class=\"smallfield\"><h3>" + compareObjs[x][fieldname] + "</h3></td>";
								}
								itemTitleHTML += "</tr>";
								$("#resultspanel #comparison table").append(itemTitleHTML);
							} else if (compareObjs[x].name == "imageId") {
								var itemImageHTML = "<tr><td class=\"smalllabel\">&nbsp;</td>";
								for ( var z=0; z < count; z++) {
									var fieldname = "value" + z;
									itemImageHTML += "<td class=\"smallfield\"><img src=\"/pcimages/" + compareObjs[x][fieldname] + "/preview.jpg\" height=\"100\" width=\"100\" /></td>";
								}
								$("#resultspanel #comparison table").append(itemImageHTML);
							} else {
								itemHTML += "<tr><td class=\"smalllabel\">" + (prevChar == compareObjs[x].name ? "" : compareObjs[x].name) + "</td>";
								for ( var a=0; a < count; a++) {
									var fieldname = "value" + a;
									itemHTML += "<td class=\"smallfield\">" + (compareObjs[x][fieldname] == "" ? "-" : compareObjs[x][fieldname]) + "</td>";
								}
								itemHTML += "</tr>";
							}
						}
					$("#resultspanel #comparison table").append(itemHTML);
				}
			});
			
			$('#filterpanel').slideToggle('slow');
			toggleProductSelectorState();
			$("#resultspanel #products").slideToggle('slow');
			$("#resultspanel #comparison").slideToggle('slow');	
		}
	});
	
	$('#viewresults').click(function() {
			
		var optionSelected = false;
		var filterlevel = $('#filterlevel').val();
		var categoryCount = 0;
		var count = 0;
		var optionsSelected = false;
		var filterOptions = new Array();
		
		// empty features panel
		$('#feature ul.sc_menu').empty(); 
		
		$('#filter ul li.category').each(function() {
			var selected = new Array();
			count = 0;
			var selctedInCategory = $(this).find('li.option :checked').size();
			if (selctedInCategory > 0) {
				$(this).find('li.option :checked').each(function() {
					selected[count++]=$(this).val();
					if (count==selctedInCategory) {
						filterOptions[categoryCount]=selected;
					}
				});
				if (!optionsSelected) {
					optionsSelected = true;
				}
			} else {
				filterOptions[categoryCount]=selected;
			}
			categoryCount++;
		});

		if (optionsSelected) {
			// hide email panel
			if($("#resultspanel #email_form").is(':visible')) {
				$("#resultspanel #email_form").slideToggle('slow');
			}
			// hide wish list
			if($('#resultspanel').find('#shortlist').is(":visible")) {
				$('#resultspanel').find('#shortlist').slideToggle('slow');
			}
			// hide compare panel
			if($('#resultspanel #comparison').is(':visible')) {
				$('#resultspanel #comparison').slideToggle('slow');
			}
			if(!$('#resultspanel #products').is(':visible')) {
				$('#resultspanel #products').slideToggle('slow');
			}
			
			if ($('#resultspanel_wrapper').is(":visible")) {
				if ($('#resultspanel #products div').hasClass('product_wrapper')) {	
		 			//Remove filter options when slide panel in
		 			$('category').remove();
		 			$('#resultspanel #products div.product_wrapper').remove();
		 			$('#resultspanel #products div.row').remove();
		 			//$('#resultspanel #loading').show();
				}
	 		} else {
	 			$('#productPods').slideToggle('slow');
	 			$('#resultspanel_wrapper').slideToggle('slow');
	 			//$('#feature_wrapper').show();
	 		}			
			Selector.getItemByCharacteristicValueCount(filterlevel, filterOptions, $('#filterid').val(), $('#locale_code').val(), $('#catalogueid').val(), function(data) {			
	     		updatePagination(data);	     
	    		Selector.getPagedItemByCharacteristicValue(filterlevel, filterOptions, $('#filterid').val(), 0, defaultPageSize, $('#locale_code').val(), $('#catalogueid').val(), function(items) {    			
	    			var resultsPanelWidth = $('#resultspanel_wrapper').width();
		    		var podsWidth = 155;
	    			var itemObjs = JSON.parse(items);
					if (itemObjs.length > 0) {							
						var productHTML = ""
						$('#resultspanel #products #start').text(1);
						$('#resultspanel #products #end').text(itemObjs.length);
						productHTML += "<div class=\"row\">";
						var podsCounter = 0;
						var variableWidth = false;
						for(var x=0; x < itemObjs.length; x++) {
							var item = itemObjs[x];
							podsCounter++;
							if((resultsPanelWidth - (podsCounter*podsWidth)) < 0) {
								variableWidth = true;
							}
							if(x!=0 && variableWidth) {								
								if((resultsPanelWidth - (podsCounter*podsWidth)) < 0) {									
									podsCounter = 1;
									productHTML += "</div><div class=\"row\">";
								}
								else {									
									//productHTML += "";
								}
							} 
							else if(x!=0 && !variableWidth) {
								if(x % 4 == 0) {
									podsCounter = 1;
									productHTML += "</div><div class=\"row\">";
								} else {
									//productHTML += "";
								}
							}
							else {
								productHTML += "";
							}	
							//productHTML += (((x != 0) && (x % 4 == 0)) ? "</div><div class=\"row\">" : "");
				        	productHTML += "<div class=\"product_wrapper\"><div class=\"resultsItemLink\"><a href=\"#\"><h3 id=\"" + item.id + "\">";
				        	productHTML += (item.brand != "" ? item.brand + " " : "");
				        	productHTML += (item.td1 != "" ? item.td1 + " " : "");
				        	productHTML += (item.td2 != "" ? item.td2 + " " : "");
				        	productHTML += item.name + "</h3></a></div><img id=\"" + item.id + "\" src=\"/pcimages/" + item.imageid + "/item.jpg\" height=\"100\" width=\"75\" />" +
				        	"<div class=\"compare_left\"><input type=\"checkbox\" value=\"" + item.id + "\" /></div><div class=\"compare\">"+$("#selector_compare_box_text").text()+"</div><div id=\"compare_right\"></div></div>";	
						}
						productHTML += "</div>";
						$('#resultspanel #products').append(productHTML);
						$('#resultspanel #results_header').show();
						//$('#resultspanel #loading').hide();
					}
		    	});
			
			});
	    	
			if (filterlevel == PRODUCT_LINE) {
				Selector.getItemBestSellerInProductLine($('#filterid').val(), $('#locale_code').val(), $('#catalogueid').val(), function(items) {
			 		//alert("items=" + items);
			 		var featured = JSON.parse(items);
			 		if (featured.length > 0) {
			 			var featuredHTML = "";
			 			for(var y=0; y < featured.length; y++) {
			 				var featuredItem = featured[y];
			 				featuredHTML += "<li class='product_wrapper'>";
			 				featuredHTML += "<div class='product_left'>&nbsp;</div><div class='product'><a><h3 id=\"" + featuredItem.id + "\">";
			 				featuredHTML += (featuredItem.brand != "" ? featuredItem.brand + " " : "");
				        	featuredHTML += (featuredItem.td1 != "" ? featuredItem.td1 + " " : "");
				        	featuredHTML += (featuredItem.td2 != "" ? featuredItem.td2 + " " : "");
			 				featuredHTML += featuredItem.name + "</h3></a>";
			 				featuredHTML += "<img id=\"" + featuredItem.id + "\" src=\"/pcimages/" + featuredItem.imageid + "/item.jpg\" />";
			 				featuredHTML += "</div><div class='product_right'>&nbsp;</div></li>";
			             }
			 			$('#feature ul.sc_menu').append(featuredHTML);
			 			
			 			var div = $('#feature div.sc_menu'),
			 			ul = $('#feature ul.sc_menu'),
			 			ulPadding = 15;
			 			var divWidth = div.width();
			 			div.css({overflow: 'hidden'});
			 			var lastLi = ul.find('li:last-child');
			 			$('#feature_wrapper').show();
			 		}
		 		});
			}
			if (filterlevel == PRODUCT_FAMILY) {
				Selector.getItemBestSellerInProductFamily($('#filterid').val(), $('#locale_code').val(), $('#catalogueid').val(), function(items) {
			 		//alert("items=" + items);
			 		var featured = JSON.parse(items);
			 		if (featured.length > 0) {
			 			var featuredHTML = "";
			 			for(var y=0; y < featured.length; y++) {
			 				var featuredItem = featured[y];
			 				featuredHTML += "<li class='product_wrapper'>";
			 				featuredHTML += "<div class='product_left'>&nbsp;</div><div class='product'><a><h3 id=\"" + featuredItem.id + "\">";
			 				featuredHTML += (featuredItem.brand != "" ? featuredItem.brand + " " : "");
				        	featuredHTML += (featuredItem.td1 != "" ? featuredItem.td1 + " " : "");
				        	featuredHTML += (featuredItem.td2 != "" ? featuredItem.td2 + " " : "");
			 				featuredHTML += featuredItem.name + "</h3></a>";
			 				featuredHTML += "<img id=\"" + featuredItem.id + "\" src=\"/pcimages/" + featuredItem.imageid + "/item.jpg\" />";
			 				featuredHTML += "</div><div class='product_right'>&nbsp;</div></li>";
			             }
			 			$('#feature ul.sc_menu').append(featuredHTML);
			 			
			 			var div = $('#feature div.sc_menu'),
			 			ul = $('#feature ul.sc_menu'),
			 			ulPadding = 15;
			 			var divWidth = div.width();
			 			div.css({overflow: 'hidden'});
			 			var lastLi = ul.find('li:last-child');
			 			$('#feature_wrapper').show();
			 			
			 		}
		 		});
			}
			$('#filter #viewresults #view_label').hide();
			$('#filter #viewresults #refine_label').show();

			searchPerformed = true;
			
	     } else {
	    	alert("Please select one or more filter options");
	     }

	});
	
	function updatePagination(results) {
		var pages = 0;
		if (results % defaultPageSize != 0) {
			pages = ((results - (results % defaultPageSize)) / defaultPageSize) + 1;
		} else {
			pages = (results  / defaultPageSize);
		}
		
		if ($('#resultspanel_wrapper #resultspanel #pagnation ul li').hasClass('current')) {
			$('#resultspanel_wrapper #resultspanel #pagnation ul li').remove();
		}
		
		if (results == 0) {
			$('#resultspanel_wrapper #resultspanel #noresults').show();
			//$('#resultspanel_wrapper #resultspanel #results_header').show();
			$('#resultspanel_wrapper #resultspanel #found').hide();
			$('#resultspanel_wrapper #resultspanel #pagnation ul li').remove();
		} else {
			$('#resultspanel_wrapper #resultspanel #noresults').hide();
			var pagnationHTML = "<li value='1' class='current'>1</li>";
    		for(var i=2; i < pages + 1; i++) {
    			pagnationHTML += "<li value='" + i + "'>" + i + "</li>";
    		}
    		pagnationHTML += "<li id='next' class='wide' value='2'>Next >></li>";
    		$('#resultspanel_wrapper #resultspanel #pagnation ul').append(pagnationHTML);
			$('#resultspanel #products #total').text($('#resultspanel #products #total').val() + results);
			$('#resultspanel_wrapper #resultspanel #found').show();
		}
		
		if (pages > 1) {
			$('#resultspanel_wrapper #resultspanel #pagnation').show();
		} else {
			$('#resultspanel_wrapper #resultspanel #pagnation').hide();
		}
	}	

	//When user move mouse over menu
	$('#feature div.sc_menu').live("mousemove", function(e){
		
		var div = $('#feature div.sc_menu'),
		ul = $('#feature ul.sc_menu'),
		ulPadding = 15;
	
		//Get menu width
		var divWidth = div.width();
	
		//alert("divWidth=" + divWidth);
		//Remove scrollbars	
		div.css({overflow: 'hidden'});
	
		//alert("ul=" + ul);
	
		//Find last image container
		var lastLi = ul.find('li:last-child');
		
		//As images are loaded ul width increases,
		//so we recalculate it each time
		var ulWidth = lastLi[0].offsetLeft + lastLi.outerWidth() + ulPadding;	
		var left = (e.pageX - div.offset().left) * (ulWidth-divWidth) / divWidth;
		div.scrollLeft(left);
	});

	
	$('#resultspanel_wrapper #products .product_wrapper a h3, #resultspanel_wrapper #products .product_wrapper img, #favourites .product_wrapper a h3, #relatedproducts .product_wrapper a h3, #feature .product_wrapper a h3, #feature .product_wrapper img, #swatch .choice').live('click', function() {		
		
		// to make sure it does not display
		$('#resultspanel #product_view #product_documents').css('display', 'none');
		
		// move buttons to default positions
		$('#resultspanel #product_view #product_preview').css('display', 'none');
		$('#resultspanel #product_view #product_info .twobutton').css('margin-left', '0px');
		$('#resultspanel #product_view #product_info .clearboth').css('margin-left', '0px');
		$('#resultspanel #product_view #product_info #buttons_holder').css('margin-left', '0px');
		$('#resultspanel #product_view #product_info #buttons_holder_bottom').css('margin-left', '0px');
		
		
		if (!$('#resultspanel #product_view').is(":visible")) {
			// When viewing a product, filter panel should always be hidden
			if($('#filterpanel').is(':visible')) {
				toggleProductSelectorState();
				$('#filterpanel').slideToggle('slow');
			}
			if($('#resultspanel #products').is(':visible')) {
				$('#resultspanel #products').slideToggle('slow');
			}
			$('#resultspanel #product_view').slideToggle('slow');
			$('#resultspanel #product_view #product_img').show();
		} else {
			if($("#resultspanel #product_view #product_video").is(":visible")){
				$("#resultspanel #product_view #product_video").toggle("slow");
			}
			if($('#resultspanel #email_form').is(":visible")){
				$('#resultspanel #email_form').toggle("slow");
			}
			if($('#resultspanel #shortlist').is(":visible")){
				$('#resultspanel #shortlist').toggle("slow");
			}
		}
		// handle clicks when comparison is open
		if ($('#resultspanel #comparison').is(":visible")) {
			//$('#resultspanel #products').slideToggle('slow');
			$('#resultspanel #comparison').slideToggle('slow');
		}
		// handle clicks when email was open
		if ($('#resultspanel #email_form').is(":visible")) {
			$('#resultspanel #email_form').hide();
		}
		// handle clicks when shortlist was open
		if($("#resultspanel").find("#shortlist").is(':visible')) {
			$("#resultspanel").find("#shortlist").hide();
		}
		
		$("#resultspanel #product_view #product_info #favourite #add").show();
		$("#resultspanel #product_view #product_info #favourite #remove").hide();
		

		if ($('#selectorInfo #generalmsg').is(":visible")) {
			$('#selectorInfo #generalmsg').hide();
			$('#selectorInfo #resultsmsg').show();
		}

		var item;
		var itemId = $(this).attr('id');
		var attenuationUrl = null;
		$('#resultspanel #product_view #item_id').val(itemId);
		
		Selector.getItemById(itemId, $('#locale_code').val(), function(itemObj) {
			item = JSON.parse(itemObj);
			var productHTML = (item.brand != "" ? item.brand + " " : "");
	        	productHTML += (item.td1 != "" ? item.td1 + " " : "");
	        	productHTML += (item.td2 != "" ? item.td2 + " " : "");
	        	productHTML += item.name;
	        attenuationUrl = item.attenuationUrl;
	        
			$('#resultspanel #product_view h2').text(productHTML);
			$('#resultspanel #product_view h2').attr("id", item.id);
			$('#resultspanel #product_view #short').html(item.shortDesc);
			
			if (item.longDesc != "") {
				$('#resultspanel #product_view #long').html(item.longDesc);
				$('#resultspanel #product_view #more').show();
			} else {
				$('#resultspanel #product_view #more').hide();
			}
			
			$('#resultspanel #product_view #less').hide();
			$('#resultspanel #product_view #long').hide();
			
			$('#resultspanel #product_view #product_img').show();

			if (item.alt0 != null && item.alt0 != "") {
				$('#resultspanel #product_view #product_preview').slideToggle('slow');
				$('#resultspanel #product_view #product_preview #alt1').attr('src', '/pcimages/' + item.alt0 + '/preview.jpg');
				$('#resultspanel #product_view #product_preview #alt1').show();
			}
			if (item.alt1 != null && item.alt1 != "") {
				$('#resultspanel #product_view #product_preview #alt2').attr('src', '/pcimages/' + item.alt1 + '/preview.jpg');
				$('#resultspanel #product_view #product_preview #alt2').show();
			}
			if (item.alt2 != null && item.alt2 != "") {
				$('#resultspanel #product_view #product_preview #alt3').attr('src', '/pcimages/' + item.alt2 + '/preview.jpg');
				$('#resultspanel #product_view #product_preview #alt3').show();
			}
			if (item.alt3 != null && item.alt3 != "") {
				$('#resultspanel #product_view #product_preview #alt4').attr('src', '/pcimages/' + item.alt3 + '/preview.jpg');
				$('#resultspanel #product_view #product_preview #alt4').show();
			}
			/*if (item.alt4 != null && item.alt4 != "") {
				$('#resultspanel #product_view #product_preview #alt5').attr('src', '/pcimages/' + item.alt4 + '/preview.jpg');
				$('#resultspanel #product_view #product_preview #alt5').show();
			}*/
			
			// put buttons under alternative images holder
			if($('#resultspanel #product_view #product_preview').is(':visible')){
				$('#resultspanel #product_view #product_info .twobutton').css('margin-left', '-50px');
				$('#resultspanel #product_view #product_info .clearboth').css('margin-left', '-50px');
				$('#resultspanel #product_view #product_info #buttons_holder').css('margin-left', '-50px');
				$('#resultspanel #product_view #product_info #buttons_holder_bottom').css('margin-left', '-50px');
			}
			
			$('#resultspanel #product_view #product_img img.main').attr('src', '/pcimages/' + item.imageid + '/preview.jpg');
			$('#resultspanel #product_view #product_img a').attr('href', '/pcimages/' + item.imageid + '/preview.jpg');
			$('#resultspanel #product_view #product_img a').attr('title', 'zoom');
			$('#resultspanel #product_view #product_img .enlarge a').attr('href', '/pcimages/' + item.imageid + '/fullsize.jpg');

			$('#resultspanel #product_view #swatch').hide();
			$('#resultspanel #product_view #swatch div').remove();
			
			
			Selector.getItemSwatchColours(itemId, $('#locale_code').val(), function(swatchObj) {
				Selector.getProductShowSwatchColor(itemId, $('#locale_code').val(), function(showSwatch) {
				if (swatchObj != null && showSwatch) {
					var swatch = JSON.parse(swatchObj);
					for ( var i = 0; i < swatch.length; i++) {
						$('#resultspanel #product_view #swatch').append('<div id="' + swatch[i].id + '" class="choice" style="background-color: #' + swatch[i].swatch + ';">&nbsp;</div>');
					}
					$('#resultspanel #product_view #swatch').show();
				}
				});
			});
	        
			if (item.docs > 0) {
				$('#resultspanel #product_view #learn').show();
			}
			
			Selector.getItemVideo(itemId, $('#catalogue_code').val(), function(videoId){
				if(videoId != null && videoId != "" && videoId != "NO_VIDEO" ){
					$('#resultspanel #product_view #videos').show();
				} else {
					$('#resultspanel #product_view #videos').hide();
				}
			});
				
			$('#resultspanel #product_view #print a').attr('href', '/print.jsp?id=' + item.id + '&imageid=' + item.imageid + '&locale=' + $('#locale_code').val());
			if(!$("#resultspanel #product_view #product_detail").is(":visible")){
				$("#resultspanel #product_view #product_detail").toggle("slow");
			}
		});
		
		
		var cookieObj = $.cookie('favourite');
		if (cookieObj != null && cookieObj != '') {
			var favObj = JSON.parse(cookieObj);
			if (favObj.length > 0) {
				for ( var i = 0; i < favObj.length; i++) {
					if (favObj[i].id == itemId) {
						$("#resultspanel #product_view #product_info #favourite #add").hide();
						$("#resultspanel #product_view #product_info #favourite #remove").show();
					}
				}
			}
		}
		// moved up to document ready, otherwise handling jqzoom events are binded multiple times and zooming does not work correctly
		//$("#resultspanel #product_view #product_info #product_img a.jqzoom").jqzoom();
		
		//$("#resultspanel #product_view #product_img a.jqzoom").show();
		//$("#resultspanel #product_view #product_img a.jqzoom img").show();
		
		Selector.getItemCharacteristicValuePairs($(this).attr('id'), $('#locale_code').val(), function(characteristics) {
			var charObjs = JSON.parse(characteristics);
			var prevChar = "";
			
			if (charObjs.length > 0) {
				$('#resultspanel #product_view table tr').remove();
				for(var x=0; x < charObjs.length; x++) {
					if (charObjs[x].name != 'null' && charObjs[x].value != 'null') {
						if (charObjs[x].id==343) {
							var imageStr = "";
							switch (charObjs[x].valueid) {
								case '5743':
									imageStr = "<img src=\"/images/icons/ohes/green.jpg\">";
									break;
								;
								case '5744':
									imageStr= "<img src=\"/images/icons/ohes/yellow.jpg\">";
									break;
								;
								case '5745':
									imageStr= "<img src=\"/images/icons/ohes/red_one.jpg\">";
									break;
								;
								case '5746':
									imageStr= "<img src=\"/images/icons/ohes/red_two.jpg\">";
									break;
								;
								case '5747':
									imageStr= "<img src=\"/images/icons/ohes/red_three.jpg\">";
									break;
								;
							}
							var noisebandTitle = $("#resultspanel #product_view #noiseband_title").val();
							if (noisebandTitle != null && noisebandTitle != "") {
								imageStr += "<h3>" + noisebandTitle + "</h3>";
							}
							var noisebandIntro = $("#resultspanel #product_view #noiseband_intro").val();
							if (noisebandIntro != null && noisebandIntro != "") {
								imageStr += "<p>" + noisebandIntro + "</p>";
							}
							imageStr += "<p>" + charObjs[x].value + "</p>";
							
							$('#resultspanel #product_view table').append("<tr><td class=\"" + ((x == charObjs.length - 1) ? "label_last" : "label") + "\">" + (String(prevChar) == String(charObjs[x].name) ? "" : charObjs[x].name) + "</td>" +
									"<td class=\"" + ((x == charObjs.length - 1) ? "field_last" : "field") + "\">" + imageStr + "</td></tr>");					
						} else if (charObjs[x].id==342 && (attenuationUrl != null && attenuationUrl != ""  && attenuationUrl != "null")) {		
								$('#resultspanel #product_view table').append("<tr><td class=\"" + ((x == charObjs.length - 1) ? "label_last" : "label") + "\">" + (String(prevChar) == String(charObjs[x].name) ? "" : charObjs[x].name) + "</td>" +
										"<td class=\"" + ((x == charObjs.length - 1) ? "field_last" : "field") + "\"><a href='" + attenuationUrl + "' target=\"_blank\">" + charObjs[x].value + "</a></td></tr>");	
						} else {	
							$('#resultspanel #product_view table').append("<tr><td class=\"" + ((x == charObjs.length - 1) ? "label_last" : "label") + "\">" + (String(prevChar) == String(charObjs[x].name) ? "" : charObjs[x].name) + "</td>" +
																		"<td class=\"" + ((x == charObjs.length - 1) ? "field_last" : "field") + "\">" + charObjs[x].value + "</td></tr>");					
						}	
						prevChar = charObjs[x].name;
					}
				}
			}
		});
		
		$('#relatedproducts ul li').remove();
		//Related
		Selector.getItemRelatedItems($(this).attr('id'), $('#locale_code').val(), function(items) {
			var featured = JSON.parse(items);
	 		if (featured.length > 0) {
	 			var featuredHTML = "";
	 			for(var y=0; y < featured.length; y++) {
	 				var featuredItem = featured[y];
	 				featuredHTML += "<li class='product_wrapper'>";
	 				featuredHTML += "<div class='product'><a><h3 id='" + featuredItem.id + "'>";
	 				featuredHTML += (featuredItem.brand != "" ? featuredItem.brand + " " : "");
		        	featuredHTML += (featuredItem.td1 != "" ? featuredItem.td1 + " " : "");
		        	featuredHTML += (featuredItem.td2 != "" ? featuredItem.td2 + " " : "");
	 				featuredHTML += featuredItem.name + "</h3></a>";
	 				featuredHTML += "<img id=\"" + featuredItem.id + "\" src=\"/pcimages/" + featuredItem.imageid + "/item.jpg\" />";
	 				featuredHTML += "</div></li>";
	            }
	 			$('#relatedproducts ul').append(featuredHTML);
	 			$('#relatedproducts').show();
	 		} else {
	 			$('#relatedproducts').hide();
	 		}
		});
	});

	$("#resultspanel #product_view #product_preview img").click(function() {
		var mainSrc = $("#resultspanel #product_view #product_img img.main").attr('src');
		var previewSrc = $(this).attr('src');
		$('#resultspanel #product_view #product_img img.main').attr('src', previewSrc);
		$('#resultspanel #product_view #product_img a.jqzoom').attr('href', previewSrc);
		// update zoom button as well
		var fullsizeSrc = previewSrc.replace('preview', 'fullsize');
		$('#resultspanel #product_view #product_img div.enlarge a').attr('href', fullsizeSrc);
		$(this).attr('src', mainSrc);
	});
	
	$("#resultspanel_wrapper #resultspanel #product_view #product_close").click(function() {
		if($("#resultspanel #product_view #product_video").is(":visible")){
			$("#resultspanel #product_view #product_video").toggle("slow");
		}
		if($("#resultspanel #product_view #product_documents").is(":visible")){
			$("#resultspanel #product_view #product_documents").toggle("slow");
		}
		$('#filterpanel').slideToggle('slow');
		$('#selectorInfo #generalmsg').show();
		$('#selectorInfo #resultsmsg').hide();
		$('#resultspanel #products').slideToggle("slow");
		$('#resultspanel #product_view').slideToggle("slow");
		toggleProductSelectorState();
		/*if($('#resultspanel #product_view').is(':visible')){
			$('#selector').removeClass('off').addClass('on');
		} else {
			$('#selector').removeClass('on').addClass('off');
		}*/
	});
	
	$("#resultspanel_wrapper #resultspanel #comparison #comparison_close").click(function() {
		$('#filterpanel').slideToggle('slow');
		toggleGeneralCloseTextMessage(false);
		toggleProductSelectorState();
		$('#selectorInfo #generalmsg').show();
		$('#selectorInfo #resultsmsg').hide();
		$('#resultspanel #products').slideToggle("slow");
		$('#resultspanel #comparison').slideToggle("slow");
	});
	
	$("#resultspanel_wrapper #resultspanel #pagnation li").live('click', function() {
		var current = $(this).attr('value');
		var count = 0;
		var startIndex = defaultPageSize * (current - 1);
		var filterlevel = $('#filterlevel').val();
		var filterOptions = new Array();
		var categoryCount = 0;
		var pageSize = defaultPageSize;
		
		$('#filter ul li.category').each(function() {
			var selected = new Array();
			count = 0;
			var selctedInCategory = $(this).find('li.option :checked').size();
			if (selctedInCategory > 0) {
				$(this).find('li.option :checked').each(function() {
					selected[count++]=$(this).val();
					if (count==selctedInCategory) {
						filterOptions[categoryCount]=selected;
					}
				});
			} else {
				filterOptions[categoryCount]=selected;
			}
			categoryCount++;
		});
	
		Selector.getItemByCharacteristicValueCount(filterlevel, filterOptions, $('#filterid').val(), $('#locale_code').val(), $('#catalogueid').val(), function(data) {
			$('#resultspanel #products div.product_wrapper').remove();
			$('#resultspanel #products div.row').remove();
			$('#resultspanel_wrapper #resultspanel #results_header').hide();
			//$('#resultspanel #loading').show();

			var pages = 0;
    		if (data % defaultPageSize != 0) {
    			pages = ((data - (data % defaultPageSize)) / defaultPageSize) + 1;
			} else {
				pages = (data / defaultPageSize);
			}
    		
    		$('#resultspanel_wrapper #resultspanel #pagnation ul li').remove();
    		var pagnationHTML = "";
    		if (pages > 1) {
	    		if (current > 1) {
	    			pagnationHTML += "<li id='prev' class='wide' value='" + (current - 1) + "'><< Prev</li>";
	    		}
	
	    		for(var i=1; i < pages + 1; i++) {
	    			pagnationHTML += "<li " + (i == current ? "class='current'" : "") + "value='" + i + "'>" + i + "</li>";
	    		}
	    		
	    		if (current != (pages)) {
	    			pagnationHTML += "<li id='next' class='wide' value='" + (current + 1) + "'>Next >></li>";
	    		}
	
	    		$('#resultspanel_wrapper #resultspanel #pagnation ul').append(pagnationHTML);
	    		
	    		$('#resultspanel #products #total').text($('#resultspanel #products #total').val() + data);
				if ((data - startIndex) < defaultPageSize) {
					pageSize = data - startIndex;
				}
    		}
			Selector.getPagedItemByCharacteristicValue(filterlevel, filterOptions, $('#filterid').val(), startIndex, pageSize, $('#locale_code').val(), $('#catalogueid').val(), function(items) {
				var resultsPanelWidth = $('#resultspanel_wrapper').width();
	    		var podsWidth = 155;
				var itemObjs = JSON.parse(items);
				if (itemObjs.length > 0) {	
					var productHTML = "";					
					$('#resultspanel #products #start').text(startIndex + 1);
					$('#resultspanel #products #end').text(startIndex + itemObjs.length);
					
					productHTML += "<div class=\"row\">";
					var podsCounter = 0;
					var variableWidth = false;
					for(var x=0; x < itemObjs.length; x++) {
						var item = itemObjs[x];
						podsCounter++;
						if((resultsPanelWidth - (podsCounter*podsWidth)) < 0) {
							variableWidth = true;
						}
						if(x!=0 && variableWidth) {								
							if((resultsPanelWidth - (podsCounter*podsWidth)) < 0) {									
								podsCounter = 1;
								productHTML += "</div><div class=\"row\">";
							}
							else {									
								//productHTML += "";
							}
						} 
						else if(x!=0 && !variableWidth) {
							if(x % 4 == 0) {
								podsCounter = 1;
								productHTML += "</div><div class=\"row\">";
							} else {
								//productHTML += "";
							}
						}
						else {
							productHTML += "";
						}		
						//productHTML += (((x != 0) && (x % 4 == 0)) ? "</div><div class=\"row\">" : "");
			        	productHTML += "<div class='product_wrapper'><div class=\"resultsItemLink\"><a href=\"#\"><h3 id=\"" + item.id + "\">"; 
			        	productHTML += (item.brand != "" ? item.brand + " " : "");
			        	productHTML += (item.td1 != "" ? item.td1 + " " : "");
			        	productHTML += (item.td2 != "" ? item.td2 + " " : "");
			        	productHTML += item.name + "</h3></a></div>" + "<img id=\"" + item.id + "\" src=\"/pcimages/" + item.imageid + "/item.jpg\" height=\"100\" width=\"75\" />" +
	                        "<div class=\"compare_left\"><input type=\"checkbox\" value=\"" + item.id + "\" /></div><div class=\"compare\">"+$("#selector_compare_box_text").text()+"</div><div id=\"compare_right\"></div></div>";	
			        }
					productHTML += "</div>";					
					$('#resultspanel_wrapper #resultspanel #results_header').show();
					$('#resultspanel #products').append(productHTML);
				}
	    	});
		});
		
	});
	
	$("#resultspanel #product_view #learn").click(function() {
		Selector.getItemRelatedDocuments($('#resultspanel #product_view h2').attr('id'), $('#locale_code').val(), function(docObjs) {
			var documents = JSON.parse(docObjs);
			var docStr = "";
			$('#product_documents #doclist a').remove();
			for(var z=0; z < documents.length; z++) {
				docStr += '<a href="' + documents[z].url + '" target="_blank">' + $('#resultspanel #product_view h2').text() + " " + documents[z].type + '</a><br />';
			}
			if (documents.length > 0) {
				$('#product_documents #doclist').empty();
				$('#product_documents #doclist').append(docStr);
			}
		});
		if($("#resultspanel #product_view #product_video").is(":visible")){
			$("#resultspanel #product_view #product_video").toggle("slow");
		} else {
			$("#resultspanel #product_view #product_detail").toggle("slow");
		}
		$("#resultspanel #product_view #product_documents").toggle("slow");
	});
	
	$("#resultspanel #product_view #videos").click(function(){
		Selector.getItemVideo($('#resultspanel #product_view h2').attr('id'), $('#catalogue_code').val(), function(videoId){
			if(videoId != null && videoId != ""){
				var videoHtml = "<br /><object style=\"height: 390px; width: 640px\">" +
				"<param name=\"movie\" value=\"http://www.youtube.com/v/"+videoId+"?version=3\">" +
				"<param name=\"allowFullScreen\" value=\"true\">" +
				"<param name=\"allowScriptAccess\" value=\"always\">" +
				"<embed src=\"http://www.youtube.com/v/"+videoId+"?version=3\" type=\"application/x-shockwave-flash\" allowfullscreen=\"true\" allowScriptAccess=\"always\" width=\"320\" height=\"240\"></object>";
				$('#product_video').empty();
				$('#product_video').append(videoHtml);
				
				if($("#resultspanel #product_view #product_documents").is(":visible")){
					$("#resultspanel #product_view #product_documents").toggle("slow");
				} else {
					$("#resultspanel #product_view #product_detail").toggle("slow");
				}
				$("#resultspanel #product_view #product_video").toggle("slow");
			}
		});
		
	});
	
	$("#hidedocs").click(function() {
		$("#resultspanel #product_view #product_detail").toggle("slow");
		$("#resultspanel #product_view #product_documents").toggle("slow");
	});
	
	$("#resultspanel #product_view #more").click(function() {
		$('#resultspanel #product_view #long').toggle("slow");
		$('#resultspanel #product_view #more').hide();
		$('#resultspanel #product_view #less').show();
	});
	
	$("#resultspanel #product_view #less").click(function() {
		$('#resultspanel #product_view #long').toggle("slow");
		$('#resultspanel #product_view #less').hide();
		$('#resultspanel #product_view #more').show();
	});
	
	$("#resultspanel #product_view #product_info #favourite #add").click(function() {
		//Get current cookie value
		var cookieObj = $.cookie('favourite');
		var itemId = $('#resultspanel #product_view h2').attr("id");

			Selector.getItemMainImgId(itemId, $('#locale_code').val(), function(imageId) {
			var favourites = '[{"id":"' + itemId + '","name":"' + $('#resultspanel #product_view h2').text() + 
			'","imgurl":"' + '/pcimages/' + imageId + '/item.jpg","desc":"' + $('#resultspanel #product_view #product_detail #short').html() + '"}';

				if (cookieObj != null && cookieObj != '') {
					var favObj = JSON.parse(cookieObj);
					if (favObj.length > 0) {
						for ( var i = 0; i < favObj.length; i++) {
							favourites += "," + '{"id":' + '"' + favObj[i].id + '","name":"' + favObj[i].name + '","imgurl":"' + favObj[i].imgurl + '","desc":"' + favObj[i].desc + '"}';
						}
					}
				}
			
			favourites += "]";
			$.cookie('favourite', favourites);
			
			});

		$("#resultspanel #product_view #product_info #favourite #add").hide();
		$("#resultspanel #product_view #product_info #favourite #remove").show();
	});
	
	$("#resultspanel #product_view #product_info #favourite #remove").click(function() {
		var cookieObj = $.cookie('favourite');
		var itemId = $('#resultspanel #product_view h2').attr("id");
		var favourites = '[';

		if (cookieObj != null && cookieObj != '') {
			var favObj = JSON.parse(cookieObj);
			if (favObj.length > 0) {
				for ( var i = 0; i < favObj.length; i++) {
					if (favObj[i].id != itemId) {
						if (favourites != "[") {
							favourites += ",";
						}
						favourites += '{"id":' + '"' + favObj[i].id + '","name":"' + favObj[i].name + '","imgurl":"' + favObj[i].imgurl + '","desc":"' + favObj[i].desc + '"}';
					}
				}
			}
		}
		favourites += "]";

		if (favourites == "[]") {
			favourites = '';
		}
		$.cookie('favourite', favourites);

		$("#resultspanel #product_view #product_info #favourite #add").show();
		$("#resultspanel #product_view #product_info #favourite #remove").hide();
	});	

	$('#resultspanel #email_form #emailmsg').keyup(function(){
		if ($('#resultspanel #email_form #emailmsg').val().length > 225) {
			$('#resultspanel #email_form #emailmsg').val($('#resultspanel #email_form #emailmsg').val().substring(0, 225));
		} else {
			//update 'characters left' counter
			$('#resultspanel #email_form #remaining').html(225 - $('#resultspanel #email_form #emailmsg').val().length);
		}
	});
});

