window.onbeforeunload = function () {   clearselections(); }

	var ajax = new sack();
	var ajax2 = new sack();
	var ajax3 = new sack();
	var ajax5 = new sack();
	var ajax6 = new sack();
	var ajax7 = new sack();
	
	function updatefilters(trigger) {
		document.body.style.cursor = 'wait';
		var dd_varietals 	= document.getElementById("ddGrapes");
		var dd_wineries 	= document.getElementById("ddWineries");
		
		var selectedWinery 		= 0;
		var selectedVarietal 	= 0;
		
		if(dd_wineries.selectedIndex!=-1) selectedWinery = dd_wineries.options[dd_wineries.selectedIndex].value;
		if(dd_varietals.selectedIndex!=-1) selectedVarietal = dd_varietals.options[dd_varietals.selectedIndex].value;

		if(trigger=='varietal') {
			fetch_wineries(selectedVarietal,selectedWinery,selectedWinery);
			calculateResults(selectedWinery,selectedVarietal,ajax5);
		}
		
		if(trigger=='winery') {
			fetch_varietals(selectedVarietal,selectedWinery,selectedVarietal);
			calculateResults(selectedWinery,selectedVarietal,ajax6);
		}
	}
	
	
	
	function fetch_varietals(param_varietal,param_winery,defaultvalue) {
		ajax2.requestFile = "../awardsVarietals.aspx?varietalId="+param_varietal+"&wineryId="+param_winery+"&val="+defaultvalue;
		ajax2.onCompletion = function(){ displayVarietals(ajax2,defaultvalue); };	// Specify function that will be executed after file has been found
		ajax2.runAJAX();		// Execute AJAX function
	}
	
	function fetch_wineries(param_varietal,param_winery,defaultvalue) {
		ajax3.requestFile = "../awardsWineries.aspx?varietalId="+param_varietal+"&wineryId="+param_winery+"&val="+defaultvalue;
		ajax3.onCompletion = function(){ displayWineries(ajax3,defaultvalue); };	// Specify function that will be executed after file has been found
		ajax3.runAJAX();		// Execute AJAX function
	}
	


	function displayVarietals(ajax,defaultValue)
	{
		var xml = ajax.response;
		xml = xml.replace(/\n/gi,'');

		document.getElementById("ddGrapes").options.length = 0;
		
		var options = xml.split(/<appellation>/gi);
		var valueValuue = "";
		var textValue = "";
		
		document.getElementById("ddGrapes").options[0] = new Option("All",0);
		
		for(var no=1;no<options.length;no++){
		
			var elements = options[no].split(/</gi);
			
			for(var no2=0;no2<elements.length;no2++){
				if(elements[no2].substring(0,1)!='/'){
					var key = elements[no2].replace(/^(.*?)>.*$/gi,'$1');
					var value = elements[no2].replace(/^.*?>(.*)$/gi,'$1');
			
					if(key.indexOf('id')>=0){
						valueValuue = value;
					}
					
					if(key.indexOf('avadva')>=0){
						textValue = value;
					}
					
				}
			}
			document.getElementById("ddGrapes").options[(no-1)+1] = new Option(textValue,valueValuue);
		}
		if(defaultValue!=-1) {
			var dd = document.getElementById("ddGrapes");
			for(var j=0;j<dd.length;j++) {
				if(dd.options[j].value==defaultValue) {
					dd.options[j].selected=true;
				}
			}
		}
	}
	
	
	function displayWineries(ajax,defaultValue)
	{
		var xml = ajax.response;
		xml = xml.replace(/\n/gi,'');

		document.getElementById("ddWineries").options.length = 0;
		
		var options = xml.split(/<appellation>/gi);
		var valueValuue = "";
		var textValue = "";
		
		document.getElementById("ddWineries").options[0] = new Option("All",0);
		
		if(options.length>0) {
		for(var no=1;no<options.length;no++){
		
			var elements = options[no].split(/</gi);
			
			for(var no2=0;no2<elements.length;no2++){
				if(elements[no2].substring(0,1)!='/'){
					var key = elements[no2].replace(/^(.*?)>.*$/gi,'$1');
					var value = elements[no2].replace(/^.*?>(.*)$/gi,'$1');
			
					if(key.indexOf('id')>=0){
						valueValuue = value;
					}
					
					if(key.indexOf('avadva')>=0){
						textValue = replaceIt(value,"&amp;","&");
					}
					
				}
			}
			document.getElementById("ddWineries").options[(no-1)+1] = new Option(textValue,valueValuue);
		}
		}
		if(defaultValue!=-1) {
			var dd = document.getElementById("ddWineries");
			for(var j=0;j<dd.length;j++) {
				if(dd.options[j].value==defaultValue) {
					dd.options[j].selected=true;
				}
			}
		}
	}
	
	
	function replaceIt(sString, sReplaceThis, sWithThis) { 
		if (sReplaceThis != "" && sReplaceThis != sWithThis) { 
			var counter = 0; 
			var start = 0; 
			var before = ""; 
			var after = ""; 
			while (counter<sString.length) { 
				start = sString.indexOf(sReplaceThis, counter); 
				if (start == -1) { 
					break; 
				} else { 
					before = sString.substr(0, start); 
					after = sString.substr(start + sReplaceThis.length, sString.length); 
					sString = before + sWithThis + after; 
					counter = before.length + sWithThis.length; 
				} 
			} 
		} 
		return sString; 
	}
	

	
	function calculateResults(wineryId,varietalId,ajax)
	{
		if(typeof(ajax)=="undefined") ajax = ajax7;
		ajax.requestFile = "../calculateAwardsSearch.aspx?wineryId="+wineryId+"&varietalId="+varietalId;	// Specifying which file to get
		ajax.onCompletion = function(){ displayCalculationResult(ajax); };	// Specify function that will be executed after file has been found
		ajax.runAJAX();		// Execute AJAX function
	}

	function displayCalculationResult(ajax)
	{
		var xml = ajax.response;
		xml = xml.replace(/\n/gi,'');
		
		var options = xml.split(/<appellation>/gi);
		var valueValuue = "";
		var textValue = "";

		for(var no=1;no<options.length;no++){
		
			var elements = options[no].split(/</gi);
			
			for(var no2=0;no2<elements.length;no2++){
				if(elements[no2].substring(0,1)!='/'){
					var key = elements[no2].replace(/^(.*?)>.*$/gi,'$1');
					var value = elements[no2].replace(/^.*?>(.*)$/gi,'$1');
			
					if(key.indexOf('id')>=0){
						valueValuue = value;
					}
					
					if(key.indexOf('avadva')>=0){
						textValue = value;
					}
					
				}
			}
			
			if(valueValuue==0) {
				document.getElementById("searchBtn").value = "no wines";
				document.getElementById("searchBtn").disabled=true;
			}
			else {
				document.getElementById("searchBtn").value = "see all "+valueValuue+" wines";
				document.getElementById("searchBtn").disabled=false;
			}
		}
		document.body.style.cursor = 'default';
	}
	
	
	function clearselections() {
		document.getElementById("ddWineries").selectedIndex=0;
		document.getElementById("ddGrapes").selectedIndex=0;
		
		document.getElementById("searchBtn").value = "no picks";
		document.getElementById("searchBtn").disabled=true;
		updatefilters('varietal');
		updatefilters('winery');
		//alert("clear");
	}
	
	
	function searchawards(strpath) {
		var dd_varietals 	= document.getElementById("ddGrapes");
		var dd_wineries 	= document.getElementById("ddWineries");
		
		var selectedWinery = 0;
		var selectedVarietal = 0;
		
		if(dd_wineries.selectedIndex!=-1) selectedWinery = dd_wineries.options[dd_wineries.selectedIndex].value;
		if(dd_varietals.selectedIndex!=-1) selectedVarietal = dd_varietals.options[dd_varietals.selectedIndex].value;
		
		if(typeof(strpath)=="undefined") strpath=""; 
		location.href=strpath+"awards-and-accolades.aspx?search=true&wineryId="+selectedWinery+"&varietalId="+selectedVarietal;
	}
	