/* START applesearch object */

var timer=null;
var tm=null;
var hits=0;
var requester = null;
var resObj = null;
var base="http://pricebomb.co.uk"; 
//var base="http://localhost/pricebomb_uk";
		
if (!applesearch)	var applesearch = {};

applesearch.init = function ()
{
	// add applesearch css for non-safari, dom-capable browsers
	if ( navigator.userAgent.toLowerCase().indexOf('safari') < 0  && document.getElementById )
	{
		this.clearBtn = false;
		var dummy = document.getElementById("dummy_css");
		if (dummy)	dummy.href = base+"/applesearch.css";
	}
}

// called when on user input - toggles clear fld btn
applesearch.onChange = function (fldID, btnID)
{
	// check whether to show delete button
	var fld = document.getElementById( fldID );
	var btn = document.getElementById( btnID );
	if (fld.value.length > 0 && !this.clearBtn)
	{
		btn.style.background = "url('"+base+"/srch_r_f2.gif') no-repeat top left";
		btn.fldID = fldID; // btn remembers it's field
		btn.onclick = this.clearBtnClick;
		this.clearBtn = true;
	} else if (fld.value.length == 0 && this.clearBtn)
	{
		btn.style.background = "url('"+base+"/srch_r.gif') no-repeat top left";
		btn.onclick = null;
		this.clearBtn = false;
	}
}


// clears field
applesearch.clearFld = function (fldID,btnID)
{
	var fld = document.getElementById( fldID );
	fld.value = "";
	this.onChange(fldID,btnID);
	var o=document.getElementById( "output" );
	o.innerHTML="";
	
	o=document.getElementById( "tail" );
	o.innerHTML="";
	show_hide(0);
}

// called by btn.onclick event handler - calls clearFld for this button
applesearch.clearBtnClick = function ()
{
	applesearch.clearFld(this.fldID, this.id);
}

applesearch.ajaxFetch = function ()
{
	fireOff();
}

function fireOff()
{
	var q = document.getElementById("srch_fld");
	if(q.value.length==0){ return;}
	url=base+"/data.php?q="+q.value;
	// wait for no action in 1 sec after
	// but first cancel all previous timeouts.
	clearTimeout(tm);
	// then set new timer
	tm=setTimeout("getData(url,'output')",100);
}

function getData(url, target){
	clearTimeout(tm);
	resObj=target;
	if(!initXHR()){	};
	getURL(url);
}

function getURL(url){
	requester.open("GET", url);
	requester.send(null);
}

function initXHR(){
	try
	{
		requester = new XMLHttpRequest();
	}
	catch (error)
	{
		 try
		 {
		 	requester = new ActiveXObject("Microsoft.XMLHTTP");
		 }
		 catch (error)
		 {
		  	return false;
		 }
	}
	requester.onreadystatechange = stateHandler;
	return true;
}

function stateHandler()
{
	if (requester.readyState == 4)
	{
		if (requester.status == 200)
		{
			if(resObj!=null){ 
				if(resObj!="NA"){
					writeDetails(resObj); 
				}
			}
		}
	}
	return true;
}

function writeDetails(element)
{
	// make the panel appear
	 var receipt = document.getElementById(element);
	receipt.innerHTML=requester.responseText;
	show_hide(1);
}

function show_hide(show){
	var r = document.getElementById("output");
	if(show==1){
		r.style.visibility="visible";
	} else {
		r.style.visibility="none";
	}
	
}
function compare_products(check_box)
{
	var c = document.getElementById(check_box);
	var t = document.getElementById("plist");
	var sep="-";
	var output="";
	
	if(c.checked)
	{
		// since checked, let's add
		if(t.value!=""){ t.value+=sep;}
		t.value+=c.value;
	} else { 
		// since unchecked, let's remove
		var st=t.value;
		var st=st.split("-");
		
		var part_num=0;
		while (part_num < st.length)
		{
		  if(st[part_num]!=c.value)
		  {
		  	if(output!=""){ output+=sep;}
			output+=st[part_num];
		  }
		  part_num+=1;
		 } 
		 t.value=output;
	}
}
function submitform()
{
  document.form_compare_specs.submit();
}

function toggleFilter(triggerEl) {
	// get first unordered list element
	var ul = triggerEl.nextSibling;
	
	if (ul) {
		if ( ul.style.display == '' || ul.style.display == 'block' ) {
			ul.parentNode.className = 'off';
			ul.style.display = 'none';
		}
		else {
			ul.parentNode.className = 'on';
			ul.style.display = 'block';
		}
	}	
}

function closeAll(maxULs)
{
	// close all
	for (r=0; r<=maxULs; r++)
	{
		var fo=document.getElementById("sub_filter_option_"+r);
		if(fo)
		{ 
			fo.parentNode.className = 'off';
			fo.style.display = 'none';
		}
	}
	openAll_checked();
}
function openAll_checked()
{
	var form = document.getElementById("filter_option_form");
	var radio=null;
	
	for(r=0; r<form.elements.length; r++)
	{
		if (form.elements[r].checked)
		{ 
			radio=form.elements[r];
			var ul=document.getElementById(radio.alt);
			if(ul)
			{ 
				ul.parentNode.className = 'on';
				ul.style.display = 'block';
			}			
		}
	}
}
function mark_selected_label(input)
{
	var form = document.getElementById("filter_option_form");
	for(r=0; r<form.elements.length; r++)
	{
		if (form.elements[r].id==input) 
		{
			var lbl_name=input+"_"+form.elements[r].value+"_label";
			var label = document.getElementById(lbl_name);
			if(!label){return 0;}
			if(form.elements[r].checked)
			{ 
				label.className='selected'
				label.display = 'block';
			} else {
				label.className= '';
				label.display = 'block';
			}
		}
	}
	return 1;
}
function select_filter(input)
{
	var h="";
	var form = document.getElementById("filter_option_form");
	var output = document.getElementById("filters");
	var radio=null;
	var result="";
	var filters=output.value.split("&");
	
	for(r=0; r<form.elements.length; r++)
	{
		if (form.elements[r].id==input && form.elements[r].checked){ radio=form.elements[r]; r=form.elements.length+1}
	}
	if(radio==null){ return; }
	mark_selected_label(input);
	
	// locate input, if present remove it
	// then add new input
	// store existing values
	for (r=0; r<filters.length; r++)
	{
		var fields=filters[r].split("=");
		if(fields[0]!=input && fields.length==2)
		{
			// let's track rest of items
			if(result!=""){ result+="&"; }
			result+=fields[0]+"="+fields[1];
		}
	}
	
	// now add the changed value
	if(result!=""){ result+="&"; }
	result+=input+"="+radio.value;

	output.value=result;
	return 1;
}

function apply_filters(base_url, filters)
{
	var f = document.getElementById(filters);
	var url=base_url+"?"+f.value;
	window.location=url;
}
function remove_filters(base_url)
{
	window.location=base_url;
}
function reset_rad(input)
{
	var form = document.getElementById("filter_option_form");
	var output = document.getElementById("filters");
	var radio=null;
	var result="";
	var filters=output.value.split("&");
	
	for(r=0; r<form.elements.length; r++)
	{
		if (form.elements[r].id==input && form.elements[r].checked )
		{ 
			radio=form.elements[r];
			radio.checked=false;
		}
	}
	
	for (r=0; r<filters.length; r++)
	{
		var fields=filters[r].split("=");
		if(fields[0]!=input && fields.length==2)
		{
			// let's track rest of items
			if(result!=""){ result+="&"; }
			result+=fields[0]+"="+fields[1];
		}
	}

	output.value=result;
	mark_selected_label(input)
}
function rel_img(obj){
	if(obj.src.substring(obj.src.length-3)=="jpg")
	{
		obj.src=obj.src.substring(0, obj.src.length-3)+"gif";
	} else {
		obj.src=obj.src.substring(0, obj.src.length-3)+"jpg";
	}
}
/* END applesearch object */