function sok(denne){
   var svalg = denne.dbs.value;
   a = "/"+dbfp+"/SearchResult?ReadForm&qnfl=none&script=parfymesok&query=";
   a=a+denne.searchtext.value;
   a=a+"*&count=20&st=1&fr=0&dbs="+svalg;
   new ahah(a, 'prodlist').load();
}
function chgsearch(db){
	var sfield = "";
	var q = "";
	var oq = "";
	var surl = "";
	var orgsearch = "";
 
	// JUST STORE THE ORG SEARCH, NO NEED TO SEARCH IT THEN.
	sfield = eval( "document.frmsearch['" + "parfymeri" + "']" ) ;
	for (j=0; j<sfield.length; j++)
	{
		if (sfield[j].checked)
		{
			orgsearch = "(" + sfield[j].value + ")";
		}
	}
 
	for (i=0; i<document.frmsearch.elements.length; i++)
	{
		var durl = "";
    		q = document.frmsearch.elements[i];
		if (q.name != oq)
		{
			if (q.name == "enden")
			{
				break;
			}else{
				sfield = eval( "document.frmsearch['" + q.name + "']" ) ;
				if (sfield != null)
				{
					if (sfield.length == null && sfield.checked
)
					{
						durl +=  (durl==""?"":" OR ") + sfield.value;
					}
					for (j=0; j<sfield.length; j++)
					{
						if (sfield[j].checked)
						{
							durl +=  (durl==""?"":" OR ") + sfield[j].value;
						}
					}
				}
 
				if (surl=="" & durl!="")
				{
					surl = "("+ durl +")";
				}else{
					if (durl!="")
					{
						surl = surl + " AND (" + durl +")";
          				}
        			}
				oq = q.name;
      			}
    		}
  	}
 
	if ( surl.indexOf("AND") < 0 || orgsearch  == surl){
   		surl="FIELD specialoffer=1";
	}
 
	if (connection != null && connection.xmlhttp != null)
	{
		connection.xmlhttp.abort();
		connection = null; 
	}
// alert(surl)
	connection = new ahah('/'+dbfp+'/SearchResult?ReadForm&script=parfymesok&qnfl=none&query=article&meta='+surl+'&count=20&st=1&fr=0&dbs='+dbs, 'prodlist',true);
	connection.load();
}
var elements = null;
var elements1 = null;
var mvalue = "";
var pcat = "";
//parfyme db
function getElements(cat,metavalue)
{
   mvalue=metavalue;
   pcat = cat;
   getObject("kolonne2").innerHTML = "<img src='/"+dbfp+"/progress.gif' alt='søker...'>";
if (getObject("kolonne3").innerHTML.indexOf("popular-products") == -1)
{getObject("kolonne3").innerHTML = "";}
   var aj = new ajaxRequest( "/"+proddb+"/printrecords?open&get=" + sted + "*" + cat , "doSomethingWithThem( this.xmlhttp )" );
   aj.init();
}
function getElements2(cat,metavalue)
{
   mvalue=metavalue;
   pcat = cat;
   getObject("kolonne3").innerHTML = "<img src='/"+dbfp+"/progress.gif' alt='søker...'>";
   //var aj = new ajaxRequest( "/"+proddb+"/lookupcat?readform&view=parfymex&query=" +  sted + "*" + cat , "doSomethingWithThem2( this.xmlhttp )" );
   var aj = new ajaxRequest( "/"+proddb+"/PrintBrands?open&get=" + sted + "*" + cat , "doSomethingWithThem2( this.xmlhttp )" );
   aj.init();
}
 
function doSomethingWithThem(obj)
{
	elements =eval('(' + obj.responseText + ')');
	elements1 =elements;
	getCategories( elements.category , "level2"  );	
}
function doSomethingWithThem2(obj)
{
	elements =eval('(' + obj.responseText + ')');
	getCategories2( elements.category , "level2"  );	
}
 
getCategories = function(list , fieldname , pos)
{
	var navn ="";
	var verdi ="";
	var szhtml = "";
	szhtml = ""
	var i = 1;
	searchfield = "k3";
	searchfield2 = "category3";
	if (fieldname == "level3")
	{
		i = 0; // start at first pos. This is because of notesviews we start at 1
		searchfield = "k4"
		searchfield2 = "category4"
	}
	for( i ;  i < list.length ; i++ )
	{
		if( list[i] != null)
		{
    			if (list[i].name=="" || list[i].name == "EMPTY")
			{
    			    	navn = pcat;
    		    		verdi = "";
			}else{
				navn = list[i].name;
				verdi = list[i].key;
			}
			if ( fieldname  == "level2")
			{
				if (verdi  == "" )
				{
					szhtml =  szhtml +  "<input searchName='"+navn.replace('%26','&amp;') +"' type='checkbox' name='"+fieldname+"' value='NOT%20FIELD%20"+searchfield2 +"%20IS%20PRESENT' onclick='getLabels(\""+  sted + "*" + list[i].name+"\", \""+fieldname+"\"); chgsearch(\""+dbs+"\");'> " +  navn.replace('%26','&amp;') + " (" +  list[i].count +  ")<br>";
				}else
				{
    					szhtml =  szhtml +  "<input searchName='"+navn.replace('%26','&amp;') +"' type='checkbox' name='"+fieldname+"' value='FIELD "+searchfield +"="+ verdi.replace('&' , "%26") +"' onclick='getLabels(\"" + sted + "*" + list[i].name+"\", \""+fieldname+"\"); chgsearch(\""+dbs+"\");'> " +  navn.replace('%26','&amp;') + " (" +  list[i].count +  ")<br>";
				}
  			}else
			{
				if (verdi  == "" )
				{
					szhtml =  szhtml +  "<input searchName='"+navn.replace('%26','&amp;') +"' searchAtt='"+pos+ "*" + i +"' type='checkbox' name='"+fieldname+"' value='NOT%20FIELD%20"+searchfield +"%20IS%20PRESENT' onclick='getLabels(\""+  sted + "*" + list[i].name+"\", \""+fieldname+"\"); chgsearch(\""+dbs+"\");'> " +  navn.replace('%26','&amp;') + " (" +  list[i].count +  ")<br>";
				}else
				{
    					szhtml =  szhtml +  "<input searchName='"+navn.replace('%26','&amp;') +"' searchAtt='"+pos + "*" + i+"' type='checkbox' name='"+fieldname+"' value='FIELD "+searchfield +"="+ verdi.replace('&' , "%26") +"' onclick='getLabels(\"" + sted + "*" + list[i].name+"\", \""+fieldname+"\"); chgsearch(\""+dbs+"\");'> " +  navn.replace('%26','&amp;') + " (" +  list[i].count +  ")<br>";
				} 
			}
		}
	}
	if (fieldname == "level2")
	{
        	getObject("hdkol2").innerHTML = "<h1>" + pcat + "</h1>";
		getObject("kolonne2").innerHTML = szhtml;
		getObject("annet").innerHTML =  "";
		getObject("typesearch").style.display  =  "none";
	}else
	{
		getObject("annet").innerHTML =  getObject("annet").innerHTML+ szhtml;
	}
}
getCategories2 = function(list , fieldname , pos)
{
	var navn ="";
	var verdi ="";
	var szhtml = "";
	szhtml = "";
	var i = 1;
	searchfield = "k3";
	searchfield2 = "category3";
	if (fieldname == "level3")
	{
		i = 0; // start at first pos. This is because of notesviews we start at 1
		searchfield = "k4"
		searchfield2 = "category4"
	}
	aliste = new Array();
	dliste = new Array();
	gliste = new Array();
	jliste = new Array();
	npliste = new Array();
	qsliste = new Array();
	tvliste = new Array();
	wliste = new Array();
	var ac = 0;
	var df = 0;
	var gi = 0;
	var jm = 0;
	var np= 0;
	var qs= 0;
	var tv= 0;
	var w = 0;
	for( i ;  i < list.length ; i++ )
	{
		if( list[i] != null)
		{
    			if (list[i].name=="" || list[i].name == "EMPTY")
			{
    			    	navn = pcat;
    		    		verdi = "";
			}else{
			    	navn = list[i].name;
			    	letter = navn.substr(0,1);
			    	if (letter=="A" | letter=="B" | letter=="C"){
			    	   aliste[ac] = list[i];
			    	   ac++
			    	}
			    	if (letter=="D" | letter=="E" | letter=="F"){
			    	   dliste[df] = list[i];
			    	   df++
			    	}
			    	if (letter=="G" | letter=="H" | letter=="I"){
			    	   gliste[gi] = list[i];
			    	   gi++
			    	}
			    	if (letter=="J" | letter=="K" | letter=="L" | letter=="M"){
			    	   jliste[jm] = list[i];
			    	   jm++
			    	}
			    	if (letter=="N" | letter=="O" | letter=="P"){
			    	   npliste[np] = list[i];
			    	   np++
			    	}
			    	if (letter=="Q" | letter=="R" | letter=="S"){
			    	   qsliste[qs] = list[i];
			    	   qs++
			    	}
			    	if (letter=="T" | letter=="U" | letter=="V"){
			    	   tvliste[tv] = list[i];
			    	   tv++
			    	}
			    	if (letter=="W" | letter=="X" | letter=="Y" | letter=="Z" | letter=="Æ" | letter=="Ø" | letter=="Å"){
			    	   wliste[w] = list[i];
			    	   w++
			    	}
			}
		}
	}
 	ahtml= printCategories(aliste, "A - C");
	dhtml= printCategories(dliste, "D - F");
 	ghtml= printCategories(gliste, "G - I");
	jhtml= printCategories(jliste, "J - M");
 	nphtml= printCategories(npliste, "N - P");
	qshtml= printCategories(qsliste, "Q - S");
 	tvhtml= printCategories(tvliste, "T - V");
	whtml= printCategories(wliste, "W - Å");
	getObject("kolonne3").innerHTML =szhtml + ahtml +dhtml + ghtml + jhtml + nphtml +qshtml + tvhtml + whtml;
}
 
printCategories = function(liste, overskrift)
{
if (liste.length < 1) return("");
	var lhtml ="";
	i = 0;
	var midt = Math.round(liste.length/2);
	lhtml = "<div class='merker'><div  style='text-align:left; margin-right:10px;'><b>"+overskrift+"</b></div>";
	for( i ;  i < midt ; i++ )
	{
	    	navn = liste[i].name;
		lhtml = lhtml + "<input type='checkbox' name='level4' value='FIELD brand="+navn.replace('&' , "%26").replace("'","%27")+"' onclick='chgsearch(\""+dbs+"\");'> " +  navn.replace('%26','&amp;') + " (" +  liste[i].count +  ")<br />";
	}
	lhtml = lhtml +  "</div>";
	lhtml = lhtml +  "<div class='merker'><br />";
	for( i ;  i <liste.length ; i++ )
	{
	    	navn = liste[i].name;
		lhtml = lhtml + "<input type='checkbox' name='level4' value='FIELD brand="+navn.replace('&' , "%26").replace("'","%27")+"' onclick='chgsearch(\""+dbs+"\");'> " +  navn.replace('%26','&amp;') + " (" +  liste[i].count +  ")<br />";
	}
	lhtml = lhtml +  "</div><div style='clear:both; border-bottom:solid 1px #870B0B'></div>";
	return(lhtml);
}
/* USED TO STORE A BRAND - THE NAME AND COUNT- STORED IN A ARRAY */ 
brandItem = function( name , number )
{
	this.name = name;
	this.count = number;
}
 
/* GETS ALL THE BRANDS AND COUNT THEM BASED ON THE SECTION */ 
getBrands= function(list , brands)
{
	var a = 0;
	var newitem = false;
	if (brands == null)
	{
		mybrands = new Array();
	}else
	{
		mybrands = brands;	
	}
	
	for( iii = 0 ; iii < list.brands.length ; iii++ )
        {
		newitem = true;
		if( list.brands[iii] != null)
		{
				for( t = 0 ; t < mybrands.length ; t++ )
				{
					if (list.brands[iii].name == mybrands[t].name)
					{
						// USE THE SAME ITEM, JUST ADD THE COUNT
						mybrands[t].count= mybrands[t].count + list.brands[iii].count;
						newitem = false;
						break;
					}
				}
 
   				if (newitem)
				{ 
					// CREATE A NEW BRAND ITEM
   					mybrands[ mybrands.length ]= new brandItem(list.brands[iii].name , list.brands[iii].count);
				}   				
		}
	}
	return mybrands;
}
getSelected = function(pfield)
{
	szlabels = "";
	if (pfield.length == null && pfield.checked)
	{
		szlabels = pfield.value.substr(pfield.value.indexOf("=")+1,pfield.value.length)
		if (pfield.getAttribute("searchAtt") != null)
		{szlabels += "*" + pfield.getAttribute("searchAtt");}
	}else
	{
       		for (j=0; j<pfield.length; j++)	
		{	
			if (pfield[j].checked)
			{
				szlabels +=  (szlabels.length==0?"":";") + pfield[j].getAttribute("searchName");
				if (pfield[j].getAttribute("searchAtt") != null)
				{szlabels += "*" + pfield[j].getAttribute("searchAtt");}
			}
		}
	}
	return szlabels.split(";");
}
  
function getLabels(szlabels, choice)
{
elements = elements1;
//alert(szlabels+","+ choice);
	var pfield = eval( "document.frmsearch['" + choice + "']" ) ;
	var labels = null; 
	var szhtml = "";
	var brands = null; 
	if (choice!="")
	{
		labels = getSelected(pfield);
	} 
	if (choice != "level3" || labels.toString() == ""  )
	{
		if (choice != "level3" ){
//alert(choice +"!= level3")
			getObject("annet").innerHTML =  "";
			getObject("typesearch").style.display = "none";
		}else if(labels.toString() == "")
//alert("labels.toString() == ''")
{labels = getSelected(document.frmsearch['level2']);}
//alert(labels.length + "-" +labels.toString())
		for( i = 0 ; i < labels.length ; i++ )
		{ 
			for( ii = 0 ; ii < elements.category.length ; ii++ )
			{
//alert( labels[i]+"=="+ elements.category[ii].name)
				if (elements.category[ii] != null && labels[i] == elements.category[ii].name)
				{
					// GET ALL BRANDS FOR THIS ITEM, SEND IN ALREADY CALCS
//alert("getbrands")
					brands  = getBrands(elements.category[ii],brands );				
					if (elements.category[ii].subcategory != 0 && choice != "level3")
					{
						getObject("annet").innerHTML = getObject("annet").innerHTML + "<b>"+elements.category[ii].name+"pleie</b><br>"
						getCategories( elements.category[ii].subcategory,  "level3" , ii);
						getObject("typesearch").style.display = "";
					}
        			} 
        			if(labels.toString()==""){
        			    brands  = getBrands(elements.category[ii],brands );
        			}
    			}
 		}
	}else
	{	
		var subchecked = false;
		var firstlabels =  getSelected(document.frmsearch['level2']);	
 
		var sz = null;
		var isheadchecked = -1;
// alert(firstlabels.length)
		for( i = 0 ; i < firstlabels.length ; i++ )
		{ 
			isheadchecked = -1;
			for( ii = 0 ; ii < elements.category.length ; ii++ )
			{
				if (elements.category[ii] != null && firstlabels[i] == elements.category[ii].name)
				{					
					for( s = 0 ; s < labels.length ; s++ )
					{
						sz = labels[s].split("*");	
						if (ii.toString() == sz[1])
						{
							isheadchecked = ii;													brands  = getBrands(elements.category[parseInt(sz[1])].subcategory[parseInt(sz[2])],brands );					
						}
					}
 /*
					if (isheadchecked != -1)
					{
//alert("a mane i checked" + elements.category[ii].name);
//						brands  = getBrands(elements.category[ii],brands );	
						break;
					}else
					{
						alert("a sub i checked");
						for( s = 0 ; s < labels.length ; s++ )
						{
							sz = labels[s].split("*");	
//alert("select form:" + sz[0])
							brands  = getBrands(elements.category[parseInt(sz[1])].subcategory[parseInt(sz[2])],brands );					
						}		
						break;
					}*/
				}
			}
		}
		//return;
	}
	// PRINT OUT MY INFO,
	if (brands != null)
	{
		getCategories2( brands, "level3" );
/*	
		for (a=0; a < brands.length ; a++ )
		{
  	  		szhtml = szhtml +  "<div class='merker'><input type='checkbox' name='level4' value='FIELD Brand="+ brands[a].name.replace('&','%26') + "'onclick='chgsearch(\""+dbs+"\")'> " +letter +"-"+ brands[a].name + " ("+ 	brands[a].count +")" + "</div>";
		}
*/
	}
//	getObject("kolonne3").innerHTML = ahtml +szhtml;
}

