// INDICATES WHAT TYPE OF SEARCH, VIN OR SPRIT
var typesearch = ""; 
 
function sok(denne){
   var svalg = denne.dbs.value;
   a = "/"+dbfp+"/SearchResult?ReadForm&script=alkoholsok&qnfl=none&query=";
   a=a+denne.searchtext.value;
   a=a+"*&count=20&st=1&fr=0&dbs="+svalg;
   if (connection != null && connection.xmlhttp != null)
   {
      connection.xmlhttp.abort();
      connection = null; 
   }
   connection = new ahah(a, 'prodlist',true);
   connection.load();
}
 
var passer = false;
function ekstra(dbs)
{
	var antall = document.frmsearch.alkohol;
	var t=0;
	for (a=0; a<antall.length; a++)
	{
    		if (antall[a].checked)
		{
			if(antall[a].value=="FIELD category1=Hvitvin" || antall[a].value=="FIELD category1=Rødvin")
			{
				t=1;
      			}
    		}
  	}
   
	if(t==1)
	{
    		if (document.getElementById("infohd2").style.visibility=="hidden")
		{
			document.getElementById("info").style.visibility="hidden";
			document.getElementById("info").style.position="absolute";
			document.getElementById("infohd").style.visibility="hidden";
			document.getElementById("infohd").style.position="absolute";
			document.getElementById("passer").style.visibility="visible";
			document.getElementById("passer").style.position="relative";
			document.getElementById("infohd2").style.visibility="visible";
			document.getElementById("infohd2").style.position="relative";
			passer = true;
			connection = new ahah('/'+dbfp+'/pages/element?open&dbs='+dbs+'&qnfl=none&passer=1', 'passer');
			connection.load();
		}
	}else{
		resetSection(2); // reset the selection on suit (passer) with. 
		if (document.getElementById("infohd2").style.visibility=="visible")
		{
			document.getElementById("passer").style.visibility="hidden";
			document.getElementById("passer").style.position="absolute";
			document.getElementById("infohd2").style.visibility="hidden";
			document.getElementById("infohd2").style.position="absolute";
			document.getElementById("info").style.visibility="visible";
			document.getElementById("info").style.position="relative";
			document.getElementById("infohd").style.visibility="visible";
			document.getElementById("infohd").style.position="relative";
			passer = false;
		}
	}
	t=0;
}
 
/* THIS RESETS THE PARENT SELECTION WHEN MOVING FROM ONE ITEM TO ANOTHER. */ 
resetSection = function ( section )
{
	if (section != 1 || section != 2)
	{
		var ealkohol = document.frmsearch.alkohol;
		for (i=0; i<ealkohol.length; i++){
			if (ealkohol[i].checked && ealkohol[i].getAttribute("searchfield")== section)
			{
				ealkohol[i].checked = false;	
			}
		}
	}
  
	// RESET	
	var edistrikt = document.frmsearch.distriktet;
	if (edistrikt != null)
	{
		for (i = 0 ;  i < edistrikt.length ; i++)
		{
			 if (edistrikt[i].checked)
			{edistrikt[i].checked=false;}
		}
	}
	getObject('distrikt').innerHTML = "" ;
	// THIS SHOULD RELOAD THE COUNTRIES OR OTHER TAB
	if (section != 2)
	{
		getObject('landene').innerHTML = "" ;
		getObject('annetDiv').innerHTML = "" ;
	}
 
	if (section != 1 || section == 2)
	{ 
		var epasser = document.frmsearch.passer;
		if (epasser != null)
		{
			for (i = 0 ;  i < epasser.length ; i++)
			{
				 if (epasser[i].checked)
				{epasser[i].checked=false;}
			}
		}
	}	 
	if (section == "vin" || section == "brennevin")	
	{
		var epris = document.frmsearch.pris;
		var evolum = document.frmsearch.volum;
		for (i = 0 ;  i < epris.length ; i++)
		{
			 if (epris[i].checked)
			{epris[i].checked=false;}
		}
		for (i = 0 ;  i < evolum.length ; i++)
		{
			 if (evolum[i].checked)
			{evolum[i].checked=false;}
		}
	}
}
 
function updateSearch( type , obj )
{}
 
function chgsearch(db,obj){
	if (obj != null)
	{	
		if ( typesearch  == "" )
		{	
			typesearch   = obj.getAttribute("searchfield")
		}else if (obj.getAttribute("searchfield") != null && typesearch != obj.getAttribute("searchfield"))
		{
			resetSection( typesearch )
			typesearch = obj.getAttribute("searchfield")
		}
	}
 
	var vurl = "";
	var durl = "";
	var surl = "";
	var prisurl = "";
	var vourl = "";
	var ealkohol = document.frmsearch.alkohol;
	var eland = document.frmsearch.land;
	var epasser = document.frmsearch.passer;
	var epris = document.frmsearch.pris;
	var evolum = document.frmsearch.volum;
	var edistrikt = document.frmsearch.distriktet;
	var eannet = document.frmsearch.annet;
  
	for (i=0; i<ealkohol.length; i++)
	{
		if (ealkohol[i].checked)
		{
			if(ealkohol[i].value=="FIELD category1=Hvitvin" || ealkohol[i].value=="FIELD category1=Rødvin" || ealkohol[i].value=="FIELD category2=Akevitt" || ealkohol[i].value=="FIELD category2=Whisky" )
			{
				vurl += (vurl.length==0?"":" OR ")+ealkohol[i].value;
				var landurl = "";
				if (eland!=null )
				{
					for (j=0; j<eland.length; j++)
					{
						if (eland[j].checked)
						{
							landurl += (landurl==""?"":" OR ") + eland[j].value;
					}
				}
			}		
			var purl = "";
         if (epasser !=null ){
           for (jj=0; jj<epasser.length; jj++){
             if (epasser[jj].checked){
                if (purl==""){
                   purl = epasser[jj].value;
                }else{
                   purl = purl + " OR " + epasser[jj].value;
                }
             }
           }
         }
         var distrikturl = "";
         if (edistrikt !=null ){
           for (jj=0; jj<edistrikt.length; jj++){
             if (edistrikt[jj].checked)
             {
		distrikturl += (distrikturl.length==0?edistrikt[jj].value:" OR " + edistrikt[jj].value)
             }
           }
         }
	}else{
		if (durl=="")
		{
			durl = ealkohol[i].value;
		}else{
			durl = durl + " OR " + ealkohol[i].value;
		}
 
		if (ealkohol[i].value == "FIELD category2=Likør")
		{
			var anneturl = "";
            		if (eannet !=null )
			{
				if (eannet.length == null)
				{
					// ONLY ONE VALUE
					anneturl = eannet.value;
				}else
				{
					for (jj=0; jj<eannet.length; jj++)
					{
						if (eannet[jj].checked)
						{
							anneturl += (anneturl==""?"":" OR ") + eannet[jj].value;
						}
					}
				}
			}      
			if (anneturl!="")
			{
				durl = "(" + durl + " AND " + anneturl + ")"
			}      
		}
	}
}
}
 
	// IF NOT NULL, THEN APPEND SUROUNDINGS
	if (durl.length != 0)
	{
		durl = "(" + durl + ")";
	}
 
	for (y=0; y<epris.length; y++)
	{
		if (epris[y].checked)
		{
			prisurl = (prisurl.length==0?"(" + epris[y].value + ")":prisurl + " OR (" + epris[y].value + ")")
		}
	}
 
	for (x=0; x<evolum.length; x++)
	{
		if (evolum[x].checked)
		{
			if (evolum[x].value == "FIELD QUANTITY=1")
			{
				vourl = ( vourl.length == 0?"(" + evolum[x].value + " AND NOT "+evolum[x].value+".5)":vourl + " OR (" + evolum[x].value + " AND NOT "+evolum[x].value+".5)");
			}else
			{
				vourl = ( vourl.length == 0?evolum[x].value:vourl + " OR " + evolum[x].value);
			}
		}
  	}
  
	if (vourl.length != 0)
	{vourl = "(" + vourl + ")";}
 
	if (vurl != "" )
	{
     		surl = "(" +  vurl + ")" ;
		if (landurl!=""){
			surl = surl + " AND (" + landurl + ")";
		}
     		if (purl!=""){
        		surl = surl + " AND (" + purl + ")";
     		}
		if (distrikturl!=""){
			surl = surl + " AND (" + distrikturl + ")";
		}
	}
  
	if ( surl !="" & durl != "" ){
		surl = "((" + surl +  ") OR " + durl +  ")";
	}else if ( surl !="" & durl == "" ){
		surl = "(" + surl +  ")";
	}else{
		surl = durl;
	}
 
	if ( surl !="" && prisurl != "" ){
		surl = surl + " AND (" + prisurl + ")";
	}else if ( surl =="" && prisurl != "" ){
		surl = prisurl;
	}
 
	if ( surl !="" & vourl != "" ){
		surl = surl + " AND " + vourl;
	}else if ( surl =="" & vourl != "" ){
		surl = vourl;
	}
//	alert("find by:" + surl);
 	if (passer == false && connection != null && connection.xmlhttp != null)
	{
    		connection.xmlhttp.abort();
    		connection = null; 
  	}
 
 	if (surl==""){
		surl="FIELD specialoffer=1";
	}
 
	connection = new ahah('/'+dbfp+'/SearchResult?ReadForm&script=alkoholsok&qnfl=none&query=article&meta=' + surl + '&count=20&st=1&fr=0&dbs='+db, 'prodlist' , true);
	connection.load();
}
 
var elements = null;
var mvalue = "";
var pcat = "";
 
function getElements(cat, metavalue, metadiv)
{
   	mvalue=metavalue;
   	pcat = cat;
   	getObject(metadiv).innerHTML = "<img src='/"+dbfp+"/progress.gif' alt='søker...'>";
   	var aj = new ajaxRequest( "/"+proddb+"/lookupcat?readform&view=alkohol2&query=" +  sted + "*" + cat , "doSomethingWithThem( this.xmlhttp, '"+ metadiv +"' )" );
   	aj.init();
}
 
function getElements2(cat, metadiv)
{
	var eland = document.frmsearch.land;
	var szsearch = "";
	if (eland != null)
	{
		for ( i = 0 ; i < eland.length ; i++)
		{
			if (eland[i].checked)
			{
				szsearch +=  (szsearch .length == 0?"":";") +sted +"*" + eland[i].getAttribute("district").replace("|" , ";"+sted +"*")
			}
		}
	}
/*
	if (cat.checked)
	{
		countries +=  (countries.length == 0?"":";") + sted + "*"+ metavalue
	}else
	{
		var ss = countries.split(";");
		countries = "";
		for ( i = 0 ;  i < ss.length ; i++ )
		{
			if ((sted+"*"+metavalue) != ss[i])
			{
				countries +=  (countries.length == 0?"":";") + ss[i];
			}
		}
	}
//	mvalue=metavalue;
//	pcat = cat;
*/
getObject(metadiv).style.display = "";
	getObject(metadiv).innerHTML = "<img src='/"+dbfp+"/progress.gif' alt='søker...'>";
	var aj = new ajaxRequest( "/"+proddb+"/lookupregion?readform&view=alkohol3&query=" + szsearch, "setRegion( this.xmlhttp, '"+ metadiv +"' )" );
	aj.init();
}
 
function getElements3(cat, metavalue, metadiv)
{
	getElements2(cat, metavalue, metadiv)
/*
   mvalue=metavalue;
   pcat = cat;
   getObject(metadiv).innerHTML = "<img src='/"+dbfp+"/progress.gif' alt='søker...'>";
   var aj = new ajaxRequest( "/"+proddb+"/lookupcat?readform&view=alkohol4&query=" +  sted + "*" + cat , "doSomethingWithThem( this.xmlhttp, '"+ metadiv +"' )" );
   aj.init();
*/
}
 
function setRegion( obj, sdiv )
{
	var mdiv = sdiv;	
	var tmpelements = eval("(" + obj.responseText + ")");
	szhtml = "";
	for( i = 0 ;  i < tmpelements.regions.length ; i++ )
	{	
		if (tmpelements.regions[i] != null && tmpelements.regions[i].name != "")
		{
			navn = tmpelements.regions[i].name;
	    		verdi = tmpelements.regions[i].name;
			szhtml =  szhtml +  "<input type='checkbox' name='distriktet' value='FIELD category3="+ verdi +"' onclick='chgsearch(\""+dbs+"\",this);'> " +  navn + "<br />";
		}
	}
	getObject(mdiv).innerHTML = "<b>Distrikt</b><br />"+szhtml;
}
 
function doSomethingWithThem(obj, sdiv)
{
	var tmpelements = eval("(" + obj.responseText + ")");
	getCategories( tmpelements , sdiv);
}
 
function getCategories( tmpelements, sdiv )
{
	var mdiv = sdiv;
	var navn ="";
	var verdi ="";
	var szhtml = "";
	//szhtml = "<h2>" + pcat + "</h2>"
  	for( i = 1 ;  i < tmpelements.category.length ; i++ )
  	{
    		if (tmpelements.category[i].name==""){
    		    	navn = pcat;
    		    	verdi = "";
    		}else{
    		    	navn = tmpelements.category[i].name;
    		    	verdi = tmpelements.category[i].name;
    		}
 
    		if(tmpelements.category[i].name=="Hvitvin" | tmpelements.category[i].name=="Rødvin"){
    		   szhtml =  szhtml +  "<div class='alkohol'><input searchfield='"+sdiv +"' type='checkbox' name='alkohol' value='FIELD category1="+ verdi +"' onclick='resetSection(1);chgsearch(\""+dbs+"\",this);ekstra(\""+dbs+"\");getLabels(\""+ sted + "*" + tmpelements.category[i].name+"\", \"alkohol\");'> " +  navn + " (" +  tmpelements.category[i].count +  ")</div>";
    		}else if (tmpelements.category[i].name=="Akevitt" || tmpelements.category[i].name =="Whisky" || tmpelements.category[i].name =="Likør") {
   		   szhtml =  szhtml +  "<div class='alkohol'><input searchfield='"+sdiv +"' type='checkbox' name='alkohol' value='FIELD category2="+ verdi +"' onclick='chgsearch(\""+dbs+"\",this);ekstra(\""+dbs+"\");getLabels(\""+ sted + "*" + tmpelements.category[i].name+"\", \"alkohol\");'> " +  navn + " (" +  tmpelements.category[i].count +  ")</div>";
    		}else if(mdiv=="distrikt"){
    		   szhtml =  szhtml +  "<input searchfield='"+sdiv +"' type='checkbox' name='distriktet' value='FIELD category3="+ verdi +"' onclick='chgsearch(\""+dbs+"\",this);'> " +  navn + " (" +  tmpelements.category[i].count +  ")<br />";
    		}else{
    		   szhtml =  szhtml +  "<div class='alkohol'><input searchfield='"+sdiv +"' type='checkbox' name='alkohol' value='FIELD category2="+ verdi +"' onclick='chgsearch(\""+dbs+"\",this);ekstra(\""+dbs+"\");'> " +  navn + " (" +  tmpelements.category[i].count +  ")</div>";
    		}
  	}
	if( sdiv=="vin"){elements = tmpelements}  
	if( sdiv=="brennevin"){elements2 = tmpelements}  
	if( sdiv=="distrikt"){elements3 = tmpelements}  
	if(mdiv=="distrikt")
	{
		getObject(mdiv).innerHTML = "<b>Distrikt</b><br />"+szhtml;
	}else
	{
		getObject(mdiv).innerHTML = szhtml;
	}
}
 
function getLabels(szlabels, choice)
{
	var pfield = eval( "document.frmsearch['" + choice + "']" ) ;
	if (choice!=""){
	szlabels = "";
        for (j=0; j<pfield.length; j++){
          if (pfield[j].checked){
            if (szlabels==""){
              szlabels = pfield[j].value.substr(pfield[j].value.indexOf("=")+1,pfield[j].value.length);
            }else{
              szlabels = szlabels + ";" + pfield[j].value.substr(pfield[j].value.indexOf("=")+1,pfield[j].value.length);
            }
          }
        }
	}
	var elm = null;
	var szhtml = "";
	var szhtml2 = "";
	var szhtml3 = "";
	var merker = new Array();
	var mantall = new Array();
	var mtype = new Array();
	var key = new Array();
	var mtype2 = new Array();
	var mdbl = new Array();
	var a = 0;
	var ny = 0;
	labels = szlabels.split(";");  
	for( i = 0 ; i < labels.length ; i++ )
	{ 
		if(labels[i] =="Akevitt" || labels[i] =="Whisky" || labels[i] =="Likør")
		{
			elm = elements2;
		}else if (labels[i] == "distrikt"){
			elm = elements3;
		}else{
			elm = elements;
		}
 
		if (labels[i] =="distrikt") 
		{
			for( ii = 0 ; ii < elm.category.length ; ii++ )
		{
			if (labels[i] == elm.category[ii].name)
			{
				for( iii = 0 ; iii < elm.category[ii].brands.length ; iii++ )
          			{
					if( elm.category[ii].brands[iii] != null)
					{
					   szhtml3 = szhtml3 +  "<input type='checkbox' name='distriktet' value='FIELD category3="+ elm.category[ii].brands[iii].name + "'onclick='chgsearch(\""+dbs+"\",this)'> " + elm.category[ii].brands[iii].name + " ("+ elm.category[ii].brands[iii].count +")" + "<br />";
					}
				}
        		} 
    		}
		getObject('distrikt').innerHTML = "<b>" + labels[i] + "</b><br />" +szhtml3 ;
		getObject('distrikt').style.display = "";
	      }
	if (labels[i] =="Likør") 
	{
		for( ii = 0 ; ii < elm.category.length ; ii++ )
		{
			if (labels[i] == elm.category[ii].name)
			{
				for( iii = 0 ; iii < elm.category[ii].brands.length ; iii++ )
          			{
					if( elm.category[ii].brands[iii] != null && elm.category[ii].brands[iii].name != "") 
					{
					   szhtml2 = szhtml2 +  "<input type='checkbox' name='annet' value='FIELD category3="+ elm.category[ii].brands[iii].name + "'onclick='chgsearch(\""+dbs+"\",this)'> " + elm.category[ii].brands[iii].name + " ("+ elm.category[ii].brands[iii].count +")" + "<br />";
					}
				}
        		} 
    		}
		szhtml2 = "<b>" + labels[i] + "</b><br />"  + szhtml2 ;
	}
 
	if (labels[i] =="Hvitvin" || labels[i] =="Rødvin" || labels[i] =="Akevitt" || labels[i] =="Whisky") 	
	{
		for( ii = 0 ; ii < elm.category.length ; ii++ )
		{
				if (labels[i] == elm.category[ii].name)
				{
					for( iii = 0 ; iii < elm.category[ii].brands.length ; iii++ )
					{
						if( elm.category[ii].brands[iii] != null)
						{
							if (a > 0){
								for( t = 0 ; t < merker.length ; t++ ){
									if (elm.category[ii].brands[iii].name == merker[t]){
										mantall[t] = mantall[t] + elm.category[ii].brands[iii].count;
										mtype2[t] = elm.category[ii].name;
										ny = 1;
										t = merker.length;
      					         				}
   					      			}
								if (ny==0)
								{ 
									merker[a] = elm.category[ii].brands[iii].name;
									mantall[a] = elm.category[ii].brands[iii].count;
									key[a] = (elm.category[ii].brands[iii].key!=null?elm.category[ii].brands[iii].key:"");
									mtype[a] = elm.category[ii].name;
									a = a+1;
								}
								ny=0;
							}else{
   					      			merker[a] = elm.category[ii].brands[iii].name;
								mantall[a] = elm.category[ii].brands[iii].count;
								mtype[a] = elm.category[ii].name;
								key[a] = (elm.category[ii].brands[iii].key!=null?elm.category[ii].brands[iii].key:"");
								a = a+1;
							}
						}
					}
        			} 
    			}
	      	}
  	}
 
  	for (a=0; a < merker.length ; a++ ){
  	  	if(mtype[a] == "Akevitt"){
  	  	   szhtml = szhtml +  "<input type='checkbox' name='land' value='FIELD category3="+ merker[a] + "'onclick='chgsearch(\""+dbs+"\",this)'> " + merker[a] + " " + mtype[a] + " ("+ mantall[a] +")" + "<br />";
  	  	}else if(mtype[a] == "Whisky"){
  	  	   szhtml = szhtml +  "<input type='checkbox' name='land' value='FIELD k3="+ key[a] + "'onclick='chgsearch(\""+dbs+"\",this)'> " + merker[a] + " ("+ mantall[a] +")" + "<br />";
  	  	}else{
  	  	   if (mtype2[a]!=undefined){
  	  	   szhtml = szhtml +  "<input district=\""+ mtype2[a] +"*"+ merker[a] + "|" + mtype[a]+"*"+ merker[a]+"\" type='checkbox' name='land' value='FIELD category2="+ merker[a] + "'onclick='getElements2(this, \"distrikt\"); chgsearch(\""+dbs+"\",this)'> " + merker[a] + " ("+ mantall[a] +")" + "<br />";
  	  	   }else{
  	  	   szhtml = szhtml +  "<input district=\"" + mtype[a]+"*"+ merker[a]+"\" type='checkbox' name='land' value='FIELD category2="+ merker[a] + "'onclick='getElements2(this, \"distrikt\"); chgsearch(\""+dbs+"\",this)'> " + merker[a] + " ("+ mantall[a] +")" + "<br />";
  	  	   }
  	  	}
  	}
 	getObject('annetDiv').innerHTML = szhtml2 ;
 	getObject('landene').innerHTML = szhtml ;
 	getObject('distrikt').innerHTML = "" ;
	getObject('distrikt').style.display = "none";
}

