<!--
//<![CDATA[
var selectdd_text = "-- select --";   


$(document).ready( function() {
	
	$("#showMore").click(function() {
			$(".para").slideToggle();		
			
			var text = $("#showMore").html();
			
			if(text=="Show more info...") {
				$("#showMore").html("Hide more info...");
			}
			else {
				$("#showMore").html("Show more info...");
			}
			
			return false;
	});
	
	var cat1_id = $("#cat1").val();
	
	// Category Selector
	$("#category_selection ul li a").click(function() {
													
			var id = $(this).attr("rel");
			
			if(id!='') {
				$("#category_selection ul li").removeClass("on");
				$(this).parent().addClass("on");
				
				$("#BtnResetSelector").show();
				
				$("#cat2").val(id);
				
				var imageType = $("#imagetype").val();
				
				ResetDataDefDropDowns();
				
				GetResults(1, "c1="+cat1_id+"&c2=" + id+"&it"+imageType, "Searching...");
			}
			
			return false;
		});
	
	// Reset button
	$("#BtnResetSelector").click(function() {
								   
		$("#BtnResetSelector").hide();
		$("#category_selection ul li").removeClass("on");
		
		ClearResults();
		
		$("#cat2").val('');
		
		var imageType = $("#imagetype").val();
		
		GetResults(1, "c1="+cat1_id+"&it"+imageType, "Searching...");
		
		ResetDataDefDropDowns();
		
		return false;
	});
	
	$("div.addoption select.txt").change(function() {
		
		$(".resetForm").show();
		
		var dd1 = $("#dd1_dd").val();
		var dd5 = $("#dd5_dd").val();
		var dd6 = $("#dd6_dd").val();		
		var dd7 = $("#dd7_dd").val();
		var dd8 = $("#dd8_dd").val();
		var dd9 = $("#dd9_dd").val();
		
		$("#BtnResetSelector").show();
	
		
		// Rebind data with updated values
		BindDataDefDropDowns(dd1, dd5, dd6, dd7, dd8, dd9);
		
		// Get product results
		var cat1 = $("#cat1").val();
		var cat2 = $("#cat2").val();
		var imageType =$("#imagetype").val();
		
		var dataurl = "c1="+cat1;
				dataurl += "&c2="+cat2;		
				dataurl += "&it=" + imageType;
				dataurl += "&dd1="+dd1;
				dataurl += "&dd5="+dd5;
				dataurl += "&dd6="+dd6;
				dataurl += "&dd7="+dd7;
				dataurl += "&dd8="+dd8;
				dataurl += "&dd9="+dd9;
	
		GetResults(1, dataurl, "Searching...");
	});
	
	if(process_saved_search) {
		ProcessSavedSearch();	
	}
	else 
	{	
		ResetDataDefDropDowns();	
		
		var imageType =$("#imagetype").val();
		
		GetResults(1, "c1="+cat1_id+"&it"+imageType, "Searching...");
	}
	
	
	
});

// Show progress message
function EnableProgressMessage(msg) {
	$("#progress").html(msg);	
	$("#progress").css("display", "inline");
}

// Hide progress message
function DisableProgressMessage() {
	$("#progress").hide();

}

// Clear the result panel
function ClearResults() {
	$("#resultspanel").html(''); 	
	$("#resultspanel").hide(); 	
}

// Show the result panel
function ShowResults(msg) {
	$("#resultspanel").html(msg); 	
	$("#resultspanel").slideDown("slow"); 		
}


function GetResults(page, datavar, msg) {
	
	//ClearResults();
	EnableProgressMessage(msg);
	
	$.ajax({
		   type: "POST",
		   url: "/__ajax/__product_search.asp",
		   data: "p=" + page + "&" + encodeURI(datavar),
		   success: function(msg){
				
				ShowResults(msg);
				DisableProgressMessage();				
				
				// Bind paging
				$(".pagelink").click( function() {
					
					var pagenum = $(this).attr("rel");
					GetResults(pagenum, datavar, "Updating...");
					return false;
				
				});
				
				BindSort();						
				imagePreview();		
				
				$("#resultstable tr td").hover(
					function() {
						$(this).parent().find("td").addClass("alt");
					},
					function () {
						$(this).parent().find("td").removeClass("alt");
					});
				
					$("#resultstable tr td:not(.last)").click(function() { location.href=$(this).parent().find("a").attr("href");});
					BindRequirementLinks();
		   }
	 });
	
}

// Bind handler to result headings to perform column sort
function BindSort() {
	
	// Add sort arrow to column headings
	if($("#DIR").val()=="a") {
		$('.sortresults[rel="'+$("#SORT").val()+'"]').append('<img src="/gfx/gfx_dir_asc.gif" alt="" />');
	} else {
		$('.sortresults[rel="'+$("#SORT").val()+'"]').append('<img src="/gfx/gfx_dir_desc.gif" alt="" />');
	}
			
	// Bind action to column headers to perform sort on results
	$(".sortresults").click( function() {
									  
		var sortby = $(this).attr("rel");	
		
		var currsort = $("#SORT").val();
		var currsortdir = $("#DIR").val();
		
		
		if(sortby==currsort) {
			
			if(currsortdir=="a") {
				$("#SORT").val(sortby);
				$("#DIR").val("d");
				
			} else {
				$("#SORT").val(sortby);
				$("#DIR").val("a");
				
			}
			
		}	else {
			$("#SORT").val(sortby);
			$("#DIR").val("a");
			
		}
		
		if(sortby!='') {
			GetResults(1, BuildDataVars(), "Updating...");
		}
		
		return false;
		
	});	
}

// Build data variables for a querystring url
function BuildDataVars() {
	
	var url ='';
	
	url = "s=" + $("#SORT").val();
	url += "&d=" + $("#DIR").val();
	url += "&m=" + $("#MANU").val();
	url += "&c1=" + $("#CAT_1").val();
	url += "&c2=" + $("#CAT_2").val();
	url += "&dd1=" + $("#DD_1").val();
	url += "&dd5=" + $("#DD_5").val();
	url += "&dd6=" + $("#DD_6").val();
	url += "&dd7=" + $("#DD_7").val();
	url += "&dd8=" + $("#DD_8").val();
	url += "&dd9=" + $("#DD_9").val();
	url += "&it=" + $("#imagetype").val();
	
	return url;
	
}

// Clear 6 data definition drop downs
function ResetDataDefDropDowns() {
	BindDataDefDropDowns(null, null, null, null, null, null);
}

// Bind 6 data definition drop downs
function BindDataDefDropDowns(dd1, dd5, dd6, dd7, dd8, dd9) {

	if(dd1==null) {dd1 = ''; }
	if(dd5==null) {dd5 = ''; }
	if(dd6==null) {dd6 = ''; }
	if(dd7==null) {dd7 = ''; }
	if(dd8==null) {dd8 = ''; }
	if(dd9==null) {dd9 = ''; }
	
	var cat1= $("#cat1").val();
	var cat2= $("#cat2").val();
	
	var imageType = $("#imagetype").val();
	
	
	// GET LIST OF ALLOWD DROPDOWNS
	// hide any data def boxes that arnt used
	var dd_list = "";
	var alowedArr = new Array();


	$.ajax({
		   type: "POST",
		   url: "/__ajax/__category_def.asp",
		   data: "c=" + cat1,
		   success: function(msg){
			   //Returns comma seperated dd's of definitions to show
			   dd_list = msg;
			   alowedArr = dd_list.split(",");
	
				var ddArr = new Array("1", "5", "6", "7", "8", "9");
				
				// Loop throug the 6 drop down boxes for data values
				for ( i=0; i < ddArr.length; i++ ) {
			
						// Check if the dd is set to show
						if(InArray(alowedArr, ddArr[i])) {
						
							$("#dd" + ddArr[i] + "_dd").parent().show();
							
							// Clear select
							$("#dd" + ddArr[i] + "_dd").removeOption(/./);
							$("#dd" + ddArr[i] + "_dd").removeOption(""); 
							
							// Disable select whilst processing
							$("#dd" + ddArr[i] + "_dd").attr("disabled", "disabled");	
							
							// Add top option 
							$("#dd" + ddArr[i] + "_dd").addOption("", selectdd_text);
							
							
							// Gather options from JSON feed
							$("#dd" + ddArr[i] + "_dd").ajaxAddOption(
								   "/__ajax/__product_dd_json.asp",
								   {
									   "dd1":dd1,
									   "dd5":dd5,
									   "dd6":dd6,
									   "dd7":dd7,
									   "dd8":dd8,
									   "dd9":dd9,									
									   "cat1":cat1,
									   "cat2":cat2,		
									   "it":imageType,
									   "action":"def" + ddArr[i]
									}, 
								   true,
									SortBindDataDefDropDowns,
									[{"i": ddArr[i], "val": eval("dd"+ddArr[i])}]);
							}
						else {
							$("#dd" + ddArr[i] + "_dd").parent().hide();
						}
				}
				
				if($("#showtypeselector").val()=="False" && $(".addoption_select:visible").length == 0) {
					$("#product_selector").hide();
				}
			
		 }
	});

}

// This works alongside the function above (BindDataDefDropDowns)
function SortBindDataDefDropDowns(elem) {

	$("#dd" + elem.i + "_dd").each(function() {
				
		$(this).attr("disabled", "");							

		if (this.options.length < 2) {
					$(this).addOption("", "No options");
					$(this).attr("disabled", "disabled");
				} else {
					$(this).selectOptions(elem.val, true);
				}
		});
	
}


// Perform AUTO SEARCH
function ProcessSavedSearch() {
	
	var cat1_val = pss_c1;
	var cat2_val = pss_c2;
	
	$("#cat1").val(cat1_val);
	$("#cat2").val(cat2_val);
	
	
	var dataurl = "c1="+pss_c1;
				dataurl += "&c2="+pss_c2;			
				dataurl += "&dd1="+pss_dd1;
				dataurl += "&dd5="+pss_dd5;
				dataurl += "&dd6="+pss_dd6;
				dataurl += "&dd7="+pss_dd7;
				dataurl += "&dd8="+pss_dd8;
				dataurl += "&dd9="+pss_dd9;
				dataurl += "&s=" + pss_sort;
				dataurl += "&d=" + pss_dir;
				dataurl += "&it=" + pss_it;
	
	GetResults(pss_page, dataurl, "Searching...");
	
	if(pss_dd1!=''||pss_dd5!=''||pss_dd6!=''||pss_dd7!=''||pss_dd8!=''||pss_dd9!=''||cat2_val!='') {
		$("#BtnResetSelector").show();	
	}
	
	ResetDataDefDropDowns();	
	BindDataDefDropDowns(pss_dd1, pss_dd5, pss_dd6, pss_dd7, pss_dd8, pss_dd9);
			
	var c2el = $("#category_selection ul li a[rel="+cat2_val+"]");
	c2el.parent().addClass("on");
}



// Image preview 
// *******************************************
this.imagePreview = function(){	
		
	$(".preview").hover(function() {

		this.imgsrc = $(this).attr("lowsrc");
		
		var posx = getX(this) + 78; // add width of image and border
		var posy = getY(this);
		
		// IE seems to be slightly different from the rest 
		if(navigator.appName != "Microsoft Internet Explorer") {
			posy += 5;	// dont know why its 5, should be just borders
		}
		
		$(this).addClass("on");
		
		$("body").append("<p id='preview'><img src='"+ this.imgsrc +"' alt='Image preview' /></p>");								 
		$("#preview").css("top",posy)	.css("left",posx).fadeIn("fast");						
    },
	function(){
		$("#preview").remove();
		$(this).removeClass("on");
    });	
	
};

// Element positions
function getX(obj) {
	return obj.offsetLeft + (obj.offsetParent ? getX(obj.offsetParent) : obj.x ? obj.x : 0);
}        
function getY(obj) {
	return (obj.offsetParent ? obj.offsetTop + getY(obj.offsetParent) : obj.y ? obj.y : 0);
}

// Misc Functions
// ***********************************************
function InArray(array, search_phrase)
{
  for( var i = 0; i < array.length; i++ )
  {
    if( search_phrase == array[i] )
    {
      return true;
    }
  }
  return false;
}

/** Bind requirements Links **/
function BindRequirementLinks() {
	
	/** Requirements Links **/
	$(".requirementLink").click(function() {

		//Get rel values
		var data = $(this).parent().find("input:hidden").val();
		var arr = data.split("|");
		
		var product_code = arr[0];
		var product_id = arr[1];
		var product_name = arr[2];
		var category_id = arr[3];
		var category_name = arr[4];
		
		//Get Qty
		var qty = $(this).parent().parent().find("input:text").val();
		
		// Add product
		if(qty>0) {
			
			$.ajax({
			   type: "POST",
			   url: "/__ajax/__requirements.asp",
			   cache: false,
			 
			   data: "product_code=" + escape(product_code) + "&product_id=" + product_id + "&product_name=" + escape(product_name) + "&category_id=" + category_id + "&category_name=" + escape(category_name) + "&qty=" + qty + "&action=add",
			   success: function(msg) {
				 // alert("Product added to list [" + msg + "]");
				//$("#requirementslist").show();
				//$("#requirementslist_items").html(msg);
				
				tb_show('Requirements List', '/__ajax/__requirements.asp?height=300&width=400', null);
				UpdateCount();
			   }
			 });		
		}
		
		return false;
	});	
}

//]]>
-->	
