
	
	function cert_updatefilters(trigger) {
		var dd_app 			= document.getElementById("ddCertAppellation");
		var dd_varietals 	= document.getElementById("ddCertVarietals");
		var dd_wineries 	= document.getElementById("ddCertWineries");
		
		var selectedApp 		= 0;
		var selectedWinery 		= 0;
		var selectedVarietal 	= 0;
		
		if(dd_app.selectedIndex!=-1) selectedApp = dd_app.options[dd_app.selectedIndex].value;
		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=='appellation') {
			cert_fetch_varietals(0,selectedApp,selectedVarietal,selectedWinery,0,selectedVarietal);
			cert_fetch_wineries(0,selectedApp,selectedVarietal,selectedWinery,0,selectedWinery);
		}
		
		if(trigger=='varietal') {
			cert_fetch_appellations(0,selectedApp,selectedVarietal,selectedWinery,0,selectedApp);
			cert_fetch_wineries(0,selectedApp,selectedVarietal,selectedWinery,0,selectedWinery);
		}
		
		if(trigger=='winery') {
			cert_fetch_appellations(0,selectedApp,selectedVarietal,selectedWinery,0,selectedApp);
			cert_fetch_varietals(0,selectedApp,selectedVarietal,selectedWinery,0,selectedVarietal);
		}
		
	}
	
		
	function cert_fetch_appellations(param_state,param_app,param_varietal,param_winery,param_price,defaultvalue) {
		var ajax = new sack();
		ajax.requestFile = "../certificateAppellations.aspx?appellationId="+param_app+"&varietalId="+param_varietal+"&wineryId="+param_winery+"&val="+defaultvalue;
		ajax.onCompletion = function(){ cert_displayAppellations(ajax,defaultvalue); };	// Specify function that will be executed after file has been found
		ajax.runAJAX();		// Execute AJAX function
	}
	
	
	function cert_fetch_varietals(param_state,param_app,param_varietal,param_winery,param_price,defaultvalue) {
		var ajax = new sack();
		ajax.requestFile = "../certificateVarietals.aspx?appellationId="+param_app+"&varietalId="+param_varietal+"&wineryId="+param_winery+"&val="+defaultvalue;
		ajax.onCompletion = function(){ cert_displayVarietals(ajax,defaultvalue); };	// Specify function that will be executed after file has been found
		ajax.runAJAX();		// Execute AJAX function
	}
	
	function cert_fetch_wineries(param_state,param_app,param_varietal,param_winery,param_price,defaultvalue) {
		var ajax = new sack();
		ajax.requestFile = "../certificateWineries.aspx?appellationId="+param_app+"&varietalId="+param_varietal+"&wineryId="+param_winery+"&val="+defaultvalue;
		ajax.onCompletion = function(){ cert_displayWineries(ajax,defaultvalue); };	// Specify function that will be executed after file has been found
		ajax.runAJAX();		// Execute AJAX function
	}
	

	function cert_displayAppellations(ajax,defaultValue)
	{
		var xml = ajax.response;
		xml = xml.replace(/\n/gi,'');

		document.getElementById("ddCertAppellation").options.length = 0;
		
		var options = xml.split(/<appellation>/gi);
		var valueValuue = "";
		var textValue = "";
		
		document.getElementById("ddCertAppellation").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("ddCertAppellation").options[(no-1)+1] = new Option(textValue,valueValuue);
			
		}

		if(defaultValue!=-1) {
			var dd = document.getElementById("ddCertAppellation");
			for(var j=0;j<dd.length;j++) {
				if(dd.options[j].value==defaultValue) {
					dd.options[j].selected=true;
				}
			}
		}
	}


	function cert_displayVarietals(ajax,defaultValue)
	{
		var xml = ajax.response;
		xml = xml.replace(/\n/gi,'');

		document.getElementById("ddCertVarietals").options.length = 0;
		
		var options = xml.split(/<appellation>/gi);
		var valueValuue = "";
		var textValue = "";
		
		document.getElementById("ddCertVarietals").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("ddCertVarietals").options[(no-1)+1] = new Option(textValue,valueValuue);
		}
		if(defaultValue!=-1) {
			var dd = document.getElementById("ddCertVarietals");
			for(var j=0;j<dd.length;j++) {
				if(dd.options[j].value==defaultValue) {
					dd.options[j].selected=true;
				}
			}
		}
	}
	
	
	function cert_displayWineries(ajax,defaultValue)
	{
		var xml = ajax.response;
		xml = xml.replace(/\n/gi,'');

		document.getElementById("ddCertWineries").options.length = 0;
		
		var options = xml.split(/<appellation>/gi);
		var valueValuue = "";
		var textValue = "";
		
		document.getElementById("ddCertWineries").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 = value;
					}
					
				}
			}
			document.getElementById("ddCertWineries").options[(no-1)+1] = new Option(textValue,valueValuue);
		}
		}
		if(defaultValue!=-1) {
			var dd = document.getElementById("ddCertWineries");
			for(var j=0;j<dd.length;j++) {
				if(dd.options[j].value==defaultValue) {
					dd.options[j].selected=true;
				}
			}
		}
	}
	
	
	function cert_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 cert_clearselections() {
		document.getElementById("ddCertWineries").selectedIndex=0;
		document.getElementById("ddCertVarietals").selectedIndex=0;
		document.getElementById("ddCertAppellation").selectedIndex=0;
	}
	
	
	function searchcertificates(appellationid,wineryid,varietalid) {
		var ajax = new sack();
		document.getElementById("divresultsdata").innerHTML = "Searching Certificates...";
		ajax.requestFile = "certificates-ajax.aspx?appellationId="+appellationid+"&varietalId="+varietalid+"&wineryId="+wineryid;
		ajax.onCompletion = function(){ cert_displayRecommendationsResults(ajax); };	// Specify function that will be executed after file has been found
		ajax.runAJAX();		// Execute AJAX function
	}
	
	function cert_displayRecommendationsResults(ajax) {
		var xml = ajax.response;
		xml = xml.replace(/\n/gi,'');

		setVisibility("divIntro","hidden");
		setVisibility("divResults","visible");
		setVisibility("divIntroLink","visible");
		document.getElementById("divresultsdata").innerHTML = "";
		
		var options = xml.split(/<recommendation>/gi);
		var valueValue = "";
		var textValue = "";
		var strtemp = "";
		var strtemp2 = "";
		
		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) certificateid = value;
					if(key.indexOf('pdf')==0) pdf = value;
					if(key.indexOf('title')==0) title = value;
					if(key.indexOf('wineryname')==0) wineryname = value;
					if(key.indexOf('avadva')==0) avadva = value;
					if(key.indexOf('vintage')==0) vintage = value;
					if(key.indexOf('winename')==0) winename = value;
					if(key.indexOf('vineyarddesignation')==0) vineyarddesignation = value;
				}
			}
			strtemp += "<tr><td valign='top'>"+no+"</td><td valign='top'>"+wineryname+"</td><td valign='top'>"+vintage+" "+winename+" "+vineyarddesignation+"</td><td valign='top'>"+avadva+"</td><td valign='top'><a href='http://wine.appellationamerica.com/certificates/"+pdf+"' target='_blank'><img src='images/pdf-colour.gif' style='border:0px'></a></td></tr>";
		}
		strtemp2 = "<div style='padding-left:10px;padding-right:10px;'>"
		strtemp2 += "<h3 style='padding-left:0px;padding-bottom:10px'>Best-of-Appellation Certificates</h3>";
		strtemp2 += "<table style='width:100%' cellpadding='2' cellspacing='0'><tr style='background-color:#000000;color:#ffffff'><td style='width:20px'></td><td style='width:270px'>Winery</td><td style='width:240px'>Wine</td><td style='width:140px'>Appellation</td><td>PDF</td></tr>";
		strtemp2 += strtemp;
		strtemp2 += "</table></div>";
		
		document.getElementById("divresultsdata").innerHTML = strtemp2;
	}
	
	
	function setVisibility(objId, sVisibility) {
		var obj = document.getElementById(objId);
		obj.style.visibility = sVisibility;
		if(sVisibility!="visible")	obj.style.display = 'none';
		else obj.style.display = '';
	}
	
	
	function certsearchclear() {
		document.getElementById("ddCertAppellation").options.length = 0;
		document.getElementById("ddCertVarietals").options.length = 0;
		document.getElementById("ddCertWineries").options.length = 0;
		document.getElementById("divSearchTitle").innerHTML = "";
		setVisibility("divIntro","visible");
		setVisibility("divResults","hidden");
		setVisibility("divIntroLink","hidden");
	}