var p = 0;
var usefilter = 1;
var oldhtml = "";
var oldq = "";
var nca = new Array();
var ncia = new Array();
var ncib = new Array();
var cntnc = 0;

function getOffset(el) 
{
    var _x = 0;
    var _y = 0;
    while( el && !isNaN( el.offsetLeft ) && !isNaN( el.offsetTop ) ) {
        _x += el.offsetLeft - el.scrollLeft;
        _y += el.offsetTop - el.scrollTop;
        el = el.offsetParent;
    }
    return { top: _y, left: _x };
}

function GetWidth()
  {
          var x = 0;
          if (self.innerHeight)
          {
                  x = self.innerWidth;
          }
          else if (document.documentElement && document.documentElement.clientHeight)
          {
                  x = document.documentElement.clientWidth;
          }
          else if (document.body)
          {
                  x = document.body.clientWidth;
          }
          return x;
  }

  function GetHeight()
  {
          var y = 0;
          if (self.innerHeight)
          {
                  y = self.innerHeight;
          }
          else if (document.documentElement && document.documentElement.clientHeight)
          {
                  y = document.documentElement.clientHeight;
          }
          else if (document.body)
          {
                  y = document.body.clientHeight;
          }
          return y;
  }

var useragent = navigator.appVersion;

function initTypeResult()
{
	if(document.getElementById(""+trq+""))
	{
		document.getElementById(""+trq+"").onkeyup = function(){getTypeResult(1)}
		document.getElementById(""+trq+"").setAttribute("autocomplete", "off"); 
		
		var b = document.body;
		if(b.addEventListener) 
		{
			b.addEventListener('keydown', checkReturn,false);
		}
		else if(b.attachEvent) //Microsoft
		{
			b.attachEvent('keydown',checkReturn);
		}
		
		//alert();
		
		if(document.getElementById("divtyperesult") == null)
		{
			var inputid = document.getElementById(""+trq+"");
			var posh = inputid.offsetHeight;
			//var posx = getOffset(document.getElementById("menubalk")).left-0;
			var posx = getOffset(document.getElementById(""+trq+"")).left-510;
			var posy = getOffset(document.getElementById(""+trq+"")).top+posh+5;
			document.write("<div id=\"divtyperesult\" style=\"z-index:1000;position:absolute;left:"+posx+"px;top:"+posy+"px;\" /></div>");
						
			var qlscheck = false;
			var url = window.location;
			var qlast = readLastSearch(url);
			
			if(qlast != "" && qlast != undefined && qlast != null)
			{
				var qlastArr = qlast.split("Q|Q");
				var urlcheck = qlastArr[0];
				
				//alert("check: "+urlcheck+ " vs "+url);
				if(urlcheck == url)
				{
					var qweery_url = qlastArr[1];
					if(qlastArr[2] != undefined)
					{
						document.getElementById(""+trq+"").value = qlastArr[2];
						qlscheck = true;
						//alert("get: "+qweery_url);
						getQLS(qweery_url);
						return false;
					}
				}
			}
		}
	}
	
	if(document.getElementById("user3"))
	{
		// do faq
		doTop();
	}
}
initTypeResult();


function doTop()
{
	if(faqcat == "")
	{
		faqcat = "*";
	}
	
	var host = document.location.protocol;
	var qweery_url = host+"//box.qweery.nl/"+qweery_name+"/?fe=MHw0Nnw0Nw==&n=5&qprx=2&qmscategorie="+faqcat+"&sort=Count|DESC&callback=callbackFAQ";
	//alert(qweery_url);
	var script_id = null;
	var script = document.createElement('script');
	script.setAttribute('type', 'text/javascript');
	script.setAttribute('src', qweery_url);
	script.setAttribute('id', 'script_id');
	
	script_id = document.getElementById('script_id');
	if(script_id)
	{
		document.getElementsByTagName('head')[0].removeChild(script_id);
	}
	document.getElementsByTagName('head')[0].appendChild(script);
}

function callbackFAQ(data)
{
	clearFAQ();
	for(var key in data) 
	{
		if(key == "content")
		{
			htmlcontent = data[key];
			if(htmlcontent.indexOf('qq 0 gevonden') != -1)
			{
				htmlcontent = "<div style=\"color:#1e3668;font-weight:bold;\">Er zijn helaas geen antwoorden gevonden op uw vraag</div>";
			}
		}
	}
	htmlcontent = "<div style=\"position:absolute;\"><div id=\"faqanswerinline\" style=\"display:none;position:relative;left:178px;border:1px solid #3A85BB;width:450px;background-color : #FFFFFF;\"></div></div>"+htmlcontent;
	document.getElementById("user3").innerHTML = htmlcontent;			
}

function clearFAQ()
{
	document.getElementById("user3").innerHTML = "";
}

function setFAQinline(url)
{
	url = url.replace("http:","");
	document.getElementById("faqanswerinline").style.display = "";
	document.getElementById("faqanswerinline").innerHTML = "<table cellspacing=\"0\" cellpadding=\"0\" width=\"100%\" style=\"background-color : #FFFFFF;\"><tr><td style=\"height:25px;padding-left:5px;color:#ffffff;font-weight:bold;padding-top:5px;background-color:#3A85BB;font-family:'trebuchet MS',Helvetica,sans-serif;font-size:12px;\" valign=\"top\">Antwoord op uw vraag</td><td align=\"right\"  style=\"padding-right:5px;background-color:#3A85BB;\"><span  onClick=\"closeFAQinline();\" style=\"cursor:pointer;color:#ffffff;font-size:11px;font-weight:normal;\">sluiten <img src=\"//box.qweery.nl/images/close2.png\" style=\"position:relative;top:2px;\"><span></span></td></tr></table><iframe src=\""+url+"\" width=\"450\" height=\"200\" frameborder=\"0\" style=\"background-color : #FFFFFF;padding:0px;\" name=\"iframefaq\" ALLOWTRANSPARENCY=true></iframe>";
	var scrollh = getOffset(document.getElementById("faqanswerinline")).top-300;
	window.scrollTo(0,scrollh);
}

function closeFAQinline()
{
	document.getElementById("faqanswerinline").innerHTML = "";
	document.getElementById("faqanswerinline").style.display = "none";
}

function checkReturn(e)
{
	if(e.keyCode=='13')
	{							
		objFormMain.action = "";
		getTypeResult(1);
	}
}

function replace_html(el, html) 
{
	if( el ) 
	{
		var oldEl = (typeof el === "string" ? document.getElementById(el) : el);
		var newEl = document.createElement(oldEl.nodeName);
		
		// Preserve any properties we care about (id and class in this example)
		newEl.id = oldEl.id;
		newEl.className = oldEl.className;
		newEl.style.cssText= oldEl.style.cssText;
		
		//set the new HTML and insert back into the DOM
		newEl.innerHTML = html;
		if(oldEl.parentNode)
		oldEl.parentNode.replaceChild(newEl, oldEl);
		else
		oldEl.innerHTML = html;
		
		//return a reference to the new element in case we need it
		return newEl;
	}
}

function getTypeResult(qt)
{
	if (qt == null){qt = 1;}
	var q = trim(document.getElementById(""+trq+"").value);

	if(q != "")
	{
		usefilter = 1;
		if(q.length == 1 && qt == 1)
		{
			usefilter = 0;
		}
		
		if(qt == 1)
		{
			if(document.getElementById("prijs3_lowvalue")){document.getElementById("prijs3_lowvalue").value = "";}
			if(document.getElementById("prijs3_highvalue")){document.getElementById("prijs3_highvalue").value = "";}
		}
		
		setTimeout("xssAjax('"+q+"','"+p+"',"+qt+")",100)
	}
	else
	{
		document.getElementById("divtyperesult").style.display = "none";
		document.getElementById("divtyperesult").innerHTML = "";
	}
	return true;
}

function closeTypeResult()
{
	document.getElementById("divtyperesult").style.display = "none";
	saveLastSearch('');
}

function showTypeResult()
{
	if(document.getElementById("divtyperesult").innerHTML != "")
	{
		document.getElementById("divtyperesult").style.display = "";
	}
	
	var htmlcontent = document.getElementById("divtyperesult").innerHTML;
	var url = window.location;
	//saveLastSearch(url+"Q|Q"+htmlcontent);
}

function nextTypeResult(el)
{
	p = p+1;
	getTypeResult(0);
}

function prevTypeResult(el)
{
	p = p-1;
	getTypeResult(0);
}

function Qpage(page)
{
	p = page;
	getTypeResult(0);
}

function setQSort(sc)
{
	if(sc == 1)
	{
		var val = document.getElementById("qsort1").value;
		document.getElementById("qsort2").value = val;
	}
	else if(sc == 2)
	{
		var val = document.getElementById("qsort2").value;
		document.getElementById("qsort1").value = val;
	}
	setQFilter();
}

function tr_imgresize(elem,maxw,maxh)
{
	if (elem == undefined || elem == null) return false;
	if (maxw == undefined) maxw = 50;
	if (maxh == undefined) maxh = 50;
	var orig_width = elem.width;
	var orig_height = elem.height;
	
	if (elem.width > elem.height) 
	{
		if(elem.width > maxw) 
		{ 
			elem.width = maxw; 
			elem.height = orig_height*(maxw/orig_width);
		}
	} 
	else 
	{
		if(elem.height > maxh) 
		{ 
			elem.height = maxh; 
			elem.width = orig_width*(maxh/orig_height);
		}
	}
	return true;
}

function setQFilter()
{
	p=0;
	usefilter = 1;
	getTypeResult(0);
}

function setQRadio(el)
{
	var val = el.value;
	var elname = el.name;
	var ellength = document.forms["qweeryForm"].elements[""+elname+""].length;
	for(var i=0;i<ellength;i++)
	{
		if(document.forms["qweeryForm"].elements[""+elname+""][i].checked) 
		{
			document.forms["qweeryForm"].elements[""+elname+""][i].value = val;
		}
		else
		{
			document.forms["qweeryForm"].elements[""+elname+""][i].value = "";
		}
	}
	setQFilter();
}

function moreFilter(filtername, ctype)
{
	if(ctype == 1)
	{
		// open
		document.getElementById(""+filtername+"more").style.display = "";
		document.getElementById("less_"+filtername+"").style.display = "";
		document.getElementById("more_"+filtername+"").style.display = "none";
	}
	else
	{
		// close
		document.getElementById(""+filtername+"more").style.display = "none";
		document.getElementById("less_"+filtername+"").style.display = "none";
		document.getElementById("more_"+filtername+"").style.display = "";
	}
}

function xssAjax(q,p,qt) 
{
	var qweery_append = "";
	var q2 = trim(document.getElementById(""+trq+"").value);
	
	if(q2 != q){return false;}
	
	if(qt == 1)
	{
		p = 0;
	}
	
	if(q2 == "")
	{
		closeTypeResult();
		return false;
	}
	
	if((q == q2 && q != "") || qt == 0 || usefilter == 1)
	{
		//alert(usefilter);
		if(document.getElementById("qweeryForm") && usefilter == 1)
		{
			var formelem = document.getElementById("qweeryForm");
			for(i=0; i<document.forms["qweeryForm"].elements.length; i++)
			{	
				varname = formelem.elements[i].name;
				varval = formelem.elements[i].value;
				vartype = formelem.elements[i].type;
				if(varname != "" && varval != "")
				{
					if(vartype == "checkbox")
					{
						if(formelem.elements[i].checked)
						{
							qweery_append = qweery_append+"&"+varname+"="+tr_encodeURIComponent(varval);
						}
					}
					else if(vartype == "radio")
					{
						if(formelem.elements[i].checked)
						{
							qweery_append = qweery_append+"&"+varname+"="+tr_encodeURIComponent(varval);
						}
					}
					else
					{
						qweery_append = qweery_append+"&"+varname+"="+tr_encodeURIComponent(varval);
					}
				}
			}
		}
		
		//qweery_append += "&sort=Toestelprijs|ASC";
		var host = document.location.protocol;
		var q_org = q;
		q = q+"*";
		var qweery_url = host+"//box.qweery.nl/"+qweery_name+"/?fe="+tr_encodeURIComponent(qweery_client)+"&n=6&qprx=2&q="+tr_encodeURIComponent(q)+"&p="+p+qweery_append;
		//qweery_url = qweery_url.replace("%26","&amp;");
		
		//alert(qweery_url);
		qweery_url_global1 = qweery_url;
		qweery_q_global1 = q_org;
		
		var qcString = base64_encode(qweery_url);
		if(ncib[qcString] == "" || ncib[qcString] == undefined)
		{
			cntnc++;
			var usecntnc = cntnc;
			ncib[qcString] = cntnc;
			ncia[cntnc] = qcString;
		}
		else
		{
			var usecntnc = ncib[qcString];			
		}
		qweery_url = qweery_url+"&qcid="+usecntnc;
		
		if(nca[qcString] != "" && nca[qcString] != undefined)
		{
			var data = nca[qcString];
			if(data != "")
			{
				showContent(data);
				return false;
			}
		}
		
		//alert(qweery_url);
		var script_id = null;
		var script = document.createElement('script');
		script.setAttribute('type', 'text/javascript');
		script.setAttribute('src', qweery_url);
		script.setAttribute('id', 'script_id');
		
		script_id = document.getElementById('script_id');
		if(script_id)
		{
			document.getElementsByTagName('head')[0].removeChild(script_id);
		}
		document.getElementsByTagName('head')[0].appendChild(script);
	}
}

var qweery_url_global1 = "";
var qweery_url_global2 = "";
var qweery_q_global1 = "";
var qweery_q_global2 = "";
function getQLS(qweery_url)
{
	var script_id = null;
	var script = document.createElement('script');
	script.setAttribute('type', 'text/javascript');
	script.setAttribute('src', qweery_url);
	script.setAttribute('id', 'script_id');
	
	script_id = document.getElementById('script_id');
	if(script_id)
	{
		document.getElementsByTagName('head')[0].removeChild(script_id);
	}
	document.getElementsByTagName('head')[0].appendChild(script);
}

function callback(data) 
{
	var htmlcontent = "";
	var qcString = "";
	
	for(var key in data) 
	{
		if(key == "qcid")
		{
			var rawdata = data[key];
			if(ncia[rawdata] != "" && ncia[rawdata] != undefined)
			{
				var qcString = ncia[rawdata];
			}
		}
		else if(key == "content")
		{
			htmlcontent = data[key];
			//htmlcontent = rawdata;
			//alert("ok");
		}
	}
	
	if(qcString != "")
	{
		nca[qcString] = htmlcontent;
	}
	//alert(htmlcontent);
	
	if(htmlcontent == "")
	{
		return false;
	}
	
	var q2 = trim(document.getElementById(""+trq+"").value);
	if(q2 == "")
	{
		closeTypeResult();
		return false;
	}
	
	showContent(htmlcontent);
}

function openURI(url)
{
	document.location.href= url;
}
	
function showContent(htmlcontent)
{
	if(htmlcontent.indexOf('<!--0-->0 producten') != -1)
	{
		qweery_url_global1 = "";
		qweery_q_global1 = "";
		oldhtml = document.getElementById("divtyperesult").innerHTML;
		var noresult = "<div style=\"padding:5px;z-index:100002;position:relative;left:0px;top:2px;background-color:#FFFFFF;border:3px solid #cc5a08;width:875px;height:617px;\"><table width=\"600\" cellspacing=\"0\" cellpadding=\"0\"><tr><td></td><td><h2>Er zijn geen resultaten gevonden</h2><br><br><b>Probeer in de zoekbalk een nieuwe zoekopdracht</b><div onClick=\"javascript:setPrevious();\" style=\"text-decoration:underline;cursor:pointer;\">Ga terug naar het vorige resultaat</div></td>	</tr></table>";
		replace_html("divtyperesult", noresult);
		//document.getElementById("divtyperesult").innerHTML = "<div style=\"padding:5px;z-index:100002;position:relative;left:0px;top:4px;background-color:#FFFFFF;border:3px solid #999999;width:825px;height:617px;\"><table width=\"600\" cellspacing=\"0\" cellpadding=\"0\"><tr><td></td><td><h2>Er zijn geen resultaten gevonden</h2><br><br><b>Probeer in de zoekbalk een nieuwe zoekopdracht</b><div onClick=\"javascript:setPrevious();\" style=\"text-decoration:underline;cursor:pointer;\">Ga terug naar het vorige resultaat</div></td>	</tr></table>";
		document.getElementById("divtyperesult").style.display = "";
	}
	else
	{
		if(qweery_url_global1 != "")
		{
			qweery_url_global2 = qweery_url_global1;
			qweery_q_global2 = qweery_q_global1;
		}
		//alert(htmlcontent);
		oldq = trim(document.getElementById(""+trq+"").value);
		//document.getElementById("divtyperesult").innerHTML = htmlcontent;
		replace_html('divtyperesult', htmlcontent);
		document.getElementById('divtyperesult').style.visibility = "visible";
		document.getElementById("divtyperesult").style.display = "";
		
		if(useragent.indexOf("Macintosh") != -1 && useragent.indexOf("Safari") == -1)
		{
			if(document.getElementById("spacertop"))
			{
				document.getElementById("spacertop").style.display = "none";
			}
		}
		
		setSliders();
		checkSpell();
		
		var url = window.location;
		if(qweery_url_global2 != "")
		{
			saveLastSearch(url+"Q|Q"+qweery_url_global2+"Q|Q"+qweery_q_global2);
		}
	}
	
	return true;
}

function checkSpell()
{
	if(document.getElementById("spelling"))
	{
		var spellFill = trim(document.getElementById("spelling").innerHTML);
		//alert(spellFill.length);
		if(spellFill.length <= 5)
		{
			document.getElementById("spelling").style.display = "none";
			document.getElementById("spelling2").style.display = "none";
			document.getElementById("spelling3").style.display = "none";
		}
		else
		{
			document.getElementById("spelling").style.display = "";
			document.getElementById("spelling2").style.display = "";
			document.getElementById("spelling3").style.display = "";
		}
	}
	return true;
}

function setPrevious()
{
	//alert(qweery_url_global2);
	if(qweery_url_global2 == "")
	{
		var qlscheck = false;
		var url = window.location;
		var qlast = readLastSearch(url);
		//alert("last\n"+qlast);
		if(qlast != "" && qlast != undefined && qlast != null)
		{
			var qlastArr = qlast.split("Q|Q");
			var urlcheck = qlastArr[0];
			
			//alert("check: "+urlcheck+ " vs "+url);
			if(urlcheck == url)
			{
				var qweery_url = qlastArr[1];
				if(qlastArr[2] != undefined)
				{
					document.getElementById(""+trq+"").value = qlastArr[2];
					qlscheck = true;
					//alert("get: "+qweery_url);
					getQLS(qweery_url);
					return false;
				}
			}
		}
		closeTypeResult();
	}
	else
	{
		getQLS(qweery_url_global2);
		document.getElementById(""+trq+"").value = qweery_q_global2;
	}
}

function trim( str, charlist )
{
    var whitespace;
    
    if(!charlist){
        whitespace = ' \n\r\t\f\x0b\xa0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000';
    } else{
        whitespace = charlist.replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g, '\$1');
    }
  
	for (var i = 0; i < str.length; i++) {
		if (whitespace.indexOf(str.charAt(i)) === -1) {
		str = str.substring(i);
		break;
		}
	}
	for (i = str.length - 1; i >= 0; i--) {
		if (whitespace.indexOf(str.charAt(i)) === -1) {
			str = str.substring(0, i + 1);
			break;
    	}
	}
	return whitespace.indexOf(str.charAt(0)) === -1 ? str : '';
}


function base64_decode( data ) 
{
    var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
    var o1, o2, o3, h1, h2, h3, h4, bits, i = ac = 0, dec = "", tmp_arr = [];

    do {  // unpack four hexets into three octets using index points in b64
        h1 = b64.indexOf(data.charAt(i++));
        h2 = b64.indexOf(data.charAt(i++));
        h3 = b64.indexOf(data.charAt(i++));
        h4 = b64.indexOf(data.charAt(i++));

        bits = h1<<18 | h2<<12 | h3<<6 | h4;

        o1 = bits>>16 & 0xff;
        o2 = bits>>8 & 0xff;
        o3 = bits & 0xff;

        if (h3 == 64) {
            tmp_arr[ac++] = String.fromCharCode(o1);
        } else if (h4 == 64) {
            tmp_arr[ac++] = String.fromCharCode(o1, o2);
        } else {
            tmp_arr[ac++] = String.fromCharCode(o1, o2, o3);
        }
    } while (i < data.length);
    
    dec = tmp_arr.join('');
    dec = utf8_decode(dec);
    
    return dec;
}

function base64_encode( data ) 
{   
    var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
    var o1, o2, o3, h1, h2, h3, h4, bits, i = ac = 0, enc="", tmp_arr = [];
    data = utf8_encode(data);
    
    do { // pack three octets into four hexets
        o1 = data.charCodeAt(i++);
        o2 = data.charCodeAt(i++);
        o3 = data.charCodeAt(i++);

        bits = o1<<16 | o2<<8 | o3;

        h1 = bits>>18 & 0x3f;
        h2 = bits>>12 & 0x3f;
        h3 = bits>>6 & 0x3f;
        h4 = bits & 0x3f;

        // use hexets to index into b64, and append result to encoded string
        tmp_arr[ac++] = b64.charAt(h1) + b64.charAt(h2) + b64.charAt(h3) + b64.charAt(h4);
    } while (i < data.length);
    
    enc = tmp_arr.join('');
    
    switch( data.length % 3 ){
        case 1:
            enc = enc.slice(0, -2) + '==';
        break;
        case 2:
            enc = enc.slice(0, -1) + '=';
        break;
    }

    return enc;
}

function utf8_decode ( str_data ) 
{
 	var tmp_arr = [], i = ac = c = c1 = c2 = 0;

    while ( i < str_data.length ) {
        c = str_data.charCodeAt(i);
        if (c < 128) {
            tmp_arr[ac++] = String.fromCharCode(c); 
            i++;
        } else if ((c > 191) && (c < 224)) {
            c2 = str_data.charCodeAt(i+1);
            tmp_arr[ac++] = String.fromCharCode(((c & 31) << 6) | (c2 & 63));
            i += 2;
        } else {
            c2 = str_data.charCodeAt(i+1);
            c3 = str_data.charCodeAt(i+2);
            tmp_arr[ac++] = String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
            i += 3;
        }
    }
    
    return tmp_arr.join('');
}

function utf8_encode(str_data)
{
    str_data = str_data.replace(/\r\n/g,"\n");
    var tmp_arr = [], ac = 0;

    for (var n = 0; n < str_data.length; n++) {
        var c = str_data.charCodeAt(n);
        if (c < 128) {
            tmp_arr[ac++] = String.fromCharCode(c);
        } else if((c > 127) && (c < 2048)) {
            tmp_arr[ac++] = String.fromCharCode((c >> 6) | 192);
            tmp_arr[ac++] = String.fromCharCode((c & 63) | 128);
        } else {
            tmp_arr[ac++] = String.fromCharCode((c >> 12) | 224);
            tmp_arr[ac++] = String.fromCharCode(((c >> 6) & 63) | 128);
            tmp_arr[ac++] = String.fromCharCode((c & 63) | 128);
        }
    }
    
    return tmp_arr.join('');
}

function tr_encodeURIComponent(str) 
{
	if (typeof(encodeURIComponent) == 'function') 
	{
		return encodeURIComponent(str);
	} 
	else 
	{
		return escape(str);
	}
}

function readLastSearch(url)
{
	var nameEQ = "qls=";
	var nameEQ2 = "qls="+url;
	//alert("read: "+nameEQ2);
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) 
	{
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return(c.substring(nameEQ.length,c.length));
	}
	return null;
}

function saveLastSearch(url)
{
	//alert("save:"+url);
	var date = new Date();
	date.setTime(date.getTime()+(60*60*1000)); // one hour
	var expires = "; expires="+date.toGMTString();
	document.cookie = "qls="+url+expires+"; path=/";
}

function accentsTidy(s)
{
        var r=s.toLowerCase();
        r = r.replace(new RegExp("[àáâãäå]", 'g'),"a");
        r = r.replace(new RegExp("æ", 'g'),"ae");
        r = r.replace(new RegExp("ç", 'g'),"c");
        r = r.replace(new RegExp("[èéêë]", 'g'),"e");
        r = r.replace(new RegExp("[ìíîï]", 'g'),"i");
        r = r.replace(new RegExp("ñ", 'g'),"n");                            
        r = r.replace(new RegExp("[òóôõö]", 'g'),"o");
        r = r.replace(new RegExp("œ", 'g'),"oe");
        r = r.replace(new RegExp("[ùúûü]", 'g'),"u");
        r = r.replace(new RegExp("[ýÿ]", 'g'),"y");
        return r;
}

function noPunctNew(s) {
 var r = s.replace(new RegExp("[?.,!:;]", 'g')," ");
 r = r.replace(new RegExp("[\u0027-\u0060-\u00B4]", 'g')," ");
 r = r.replace("&euro;","%E2%82%AC");
 r = r.replace("&amp;","%26amp%3B");
 return r;
}

function noPunct(s)
{

	var r = s.replace("?","");
	r = r.replace(".","");
	r = r.replace(",","");
	r = r.replace("!","");
	r = r.replace(":","");
	r = r.replace(";","");
	return r;
}

// slider
var Qmouseover = false;
var slider = {};

function qLeft(elmnt, pos)
{
	if (!(elmnt = document.getElementById(elmnt))) return 0;
	if (elmnt.style && (typeof(elmnt.style.left) == 'string')) {
		if (typeof(pos) == 'number') elmnt.style.left = pos + 'px';
		else {
			pos = parseInt(elmnt.style.left);
			if (isNaN(pos)) pos = 0;
		}
	}
	else if (elmnt.style && elmnt.style.pixelLeft) {
		if (typeof(pos) == 'number') elmnt.style.pixelLeft = pos;
		else pos = elmnt.style.pixelLeft;
	}
	return pos;
}

function initQSlider(basename, minval, maxval,poslow,poshigh,slidelength,addleft,addright,lock,lockalign,stepvalue) // Set up the sliders
{
	//alert(basename+" "+minval+" "+maxval+" "+poslow+" "+poshigh+" "+slidelength+" "+addleft+" "+addright+" "+lock+" "+lockalign+" "+stepvalue);
	if(minval == null || isNaN(minval)){document.getElementById("pricefilter").style.display="none";return false;}
	
	maxval = maxval+stepvalue;
	minval = minval-stepvalue;
	
	
	if(poshigh == poslow && poslow == minval && poshigh == maxval && minval > 0)
	{
		minval = minval-stepvalue;
		poslow = minval;
	}
	if(!document.getElementById(""+basename+"_lowvalue") || !document.getElementById(""+basename+"_highvalue"))
	{
		document.getElementById("pricefilter").style.display="none";
		return false;
	}
	//alert("minv: "+minval+" maxv:"+maxval+" posl: "+poslow+" posh:"+poshigh);
	if(document.getElementById(""+basename+"_lowvalue").value != "")
	{
		if(parseInt(document.getElementById(""+basename+"_lowvalue").value) < poslow)
		{
			document.getElementById(""+basename+"_lowvalue").value = poslow;
		}
		poslow = parseInt(document.getElementById(""+basename+"_lowvalue").value);
	}
	
	if(document.getElementById(""+basename+"_highvalue").value != "")
	{
		if(parseInt(document.getElementById(""+basename+"_highvalue").value) > poshigh)
		{
			document.getElementById(""+basename+"_highvalue").value = poshigh;
		}
		poshigh = parseInt(document.getElementById(""+basename+"_highvalue").value);
		//alert(poshigh);
	}
		
	if((poshigh-poslow)<stepvalue)
	{
		poslow = poslow-stepvalue;
		if(poslow < minval)
		{
			poslow = minval;
		}
		poshigh = poshigh+stepvalue;
		if(poshigh > maxval)
		{
			poshigh = maxval;
		}
	}
	
	//document.getElementById(""+basename+"_slideselect").style.width = ((poshigh*((slidelength-addleft)/maxval))+addleft)-((poslow*((slidelength-addleft)/maxval))+addleft)-parseInt(document.getElementById(""+basename+"_sliderlow").style.width)+2+ 'px'; // set selectline
	//alert(parseInt(document.getElementById(""+basename+"_sliderlow").style.width));
	
	var slideselectwidth = ((poshigh*((slidelength-addleft)/maxval))+addleft)-((poslow*((slidelength-addleft)/maxval))+addleft)-parseInt(document.getElementById(""+basename+"_sliderlow").style.width)+2;
	if(slideselectwidth <  0){slideselectwidth = 0;}
	document.getElementById(""+basename+"_slideline").style.width = slidelength+addleft+addright+ 'px'; // set baseline
	document.getElementById(""+basename+"_sliderlow").style.left = (poslow*((slidelength-addleft)/maxval))+addleft+ 'px'; // base position left slider
	document.getElementById(""+basename+"_sliderhigh").style.left = (poshigh*((slidelength-addleft)/maxval))+addleft+ 'px'; // base position right slider
	document.getElementById(""+basename+"_slideselect").style.left = (poslow*((slidelength-addleft)/maxval))+addleft+parseInt(document.getElementById(""+basename+"_sliderlow").style.width)-1+ 'px'; // base position selectline
	document.getElementById(""+basename+"_slideselect").style.width = slideselectwidth+"px"; // set selectline
	document.getElementById(""+basename+"_sliderstart").style.left = addleft+ 'px';
	document.getElementById(""+basename+"_sliderend").style.left = (maxval*((slidelength-addleft)/maxval))+addleft+parseInt(document.getElementById(""+basename+"_sliderhigh").offsetWidth)+ 'px';
	
	document.getElementById(""+basename+"_width").value = slidelength;
	document.getElementById(""+basename+"_min").value = minval;
	document.getElementById(""+basename+"_max").value = maxval;
	document.getElementById(""+basename+"_offleft").value = addleft;
	document.getElementById(""+basename+"_offright").value = addright;
	document.getElementById(""+basename+"_lock").value = lock;
	document.getElementById(""+basename+"_lockalign").value = lockalign;
	document.getElementById(""+basename+"_stepvalue").value = stepvalue;
	
	// set values
	/*var newvalmin = Math.floor((parseInt(document.getElementById(""+basename+"_sliderlow").offsetLeft)-parseInt(document.getElementById(""+basename+"_offleft").value))*(parseInt(document.getElementById(""+basename+"_max").value)/(slidelength-parseInt(document.getElementById(""+basename+"_offleft").value))));
	document.getElementById(""+basename+"_lowvalue").value = newvalmin;
	document.getElementById(""+basename+"_lowdvalue").innerHTML = newvalmin;
	
	var newvalmax = Math.floor(parseInt(document.getElementById(""+basename+"_sliderhigh").offsetLeft-parseInt(document.getElementById(""+basename+"_offleft").value))*(parseInt(document.getElementById(""+basename+"_max").value)/(slidelength-parseInt(document.getElementById(""+basename+"_offleft").value))));
	document.getElementById(""+basename+"_highvalue").value = newvalmax;
	document.getElementById(""+basename+"_highdvalue").innerHTML = newvalmax;
	*/
	//var tmpval = parseInt(document.getElementById(""+basename+"_sliderlow").style.width);
	//alert("minv: "+minval+" maxv:"+maxval+" posl: "+poslow+" posh:"+poshigh+" w:"+slidelength+" s:"+document.getElementById(""+basename+"_slideselect").style.width+"\n(("+poshigh+"*(("+slidelength+"-"+addleft+")/+"+maxval+"))+"+addleft+")-(("+poslow+"*(("+slidelength+"-"+addleft+")/"+maxval+"))+"+addleft+")-"+tmpval+")+2+ px");
	//alert("minv: "+minval+" maxv:"+maxval+" posl: "+poslow+" posh:"+poshigh);
	
	if(document.getElementById(""+basename+"_lowvalue").value == "")
	{
		document.getElementById(""+basename+"_lowvalue").value = poslow;
	}
	replace_html(""+basename+"_lowdvalue", document.getElementById(""+basename+"_lowvalue").value);
	//document.getElementById(""+basename+"_lowdvalue").innerText = document.getElementById(""+basename+"_lowvalue").value;
	if(document.getElementById(""+basename+"_highvalue").value == "")
	{
		document.getElementById(""+basename+"_highvalue").value = poshigh;
	}
	replace_html(""+basename+"_highdvalue", document.getElementById(""+basename+"_highvalue").value);
	//document.getElementById(""+basename+"_highdvalue").innerText = document.getElementById(""+basename+"_highvalue").value;

	// set position of show values
	if(lock == 1)
	{
		// prijs elements locked to sliders
		if(lockalign == "left")
		{
			document.getElementById(""+basename+"_lowshowvalue").style.left = (poslow*((slidelength-addleft)/maxval))+addleft+ 'px'; // base position left slider
			document.getElementById(""+basename+"_highshowvalue").style.left = (poshigh*((slidelength-addleft)/maxval))+addleft+ 'px'; // base position right slider
		}
		else if(lockalign == "center")
		{
			var lowwidth = document.getElementById(""+basename+"_lowshowvalue").offsetWidth;
			var highwidth = document.getElementById(""+basename+"_highshowvalue").offsetWidth;
			document.getElementById(""+basename+"_lowshowvalue").style.left = (poslow*((slidelength-addleft)/maxval))+addleft-(lowwidth/2)+ 'px'; // base position left slider
			document.getElementById(""+basename+"_highshowvalue").style.left = (poshigh*((slidelength-addleft)/maxval))+addleft-(highwidth/2)+ 'px'; // base position right slider
		}
		else if(lockalign == "right")
		{
			var lowwidth = document.getElementById(""+basename+"_lowshowvalue").offsetWidth;
			var highwidth = document.getElementById(""+basename+"_highshowvalue").offsetWidth;
			document.getElementById(""+basename+"_lowshowvalue").style.left = (poslow*((slidelength-addleft)/maxval))+addleft-(lowwidth)+ 'px'; // base position left slider
			document.getElementById(""+basename+"_highshowvalue").style.left = (poshigh*((slidelength-addleft)/maxval))+addleft-(highwidth)+ 'px'; // base position right slider
		}
	}
	
	//alert(navigator.appVersion);
	
	if(navigator.appVersion.indexOf("iPad")!=-1)
	{
		document.getElementById(""+basename+"_sliderlow").ontouchstart =Qtouchslide; // attach event listener
		document.getElementById(""+basename+"_sliderhigh").ontouchstart = Qtouchslide; // attach event listener
	}
	else
	{
		document.getElementById(""+basename+"_sliderlow").onmousedown = Qslide; // attach event listener
		document.getElementById(""+basename+"_sliderhigh").onmousedown = Qslide; // attach event listener
	}
	 
}

function Qtouchslide(evnt)
{
	//if (!evnt) evnt = window.event; // Get the mouse event causing the slider activation.
	var evnt = evnt.targetTouches[0];
	slider = (evnt.target) ? evnt.target : evnt.srcElement; // Get the activated slider element.
	
	var sliderid = slider.id;
	var nameArr = sliderid.split("_");
	var basename = nameArr[0];
	var slidername = nameArr[1];
	
	if(document.getElementById(""+basename+"_width"))
	{
		var sliderlength = document.getElementById(""+basename+"_width").value;
	}
	else
	{
		return false;
	}
	slider.startOffsetX = qLeft(slider.id) - evnt.screenX;
	//alert(qLeft(slider.id) +" "+ evnt.screenX);
	Qmouseover = true;
	//alert("go slider "+basename);
	
	document.ontouchmove = moveQ;
	document.ontouchend = sliderQUp;
}

function Qslide(evnt)
{
	if (!evnt) evnt = window.event; // Get the mouse event causing the slider activation.
	slider = (evnt.target) ? evnt.target : evnt.srcElement; // Get the activated slider element.
	var sliderid = slider.id;
	var nameArr = sliderid.split("_");
	var basename = nameArr[0];
	var slidername = nameArr[1];
	
	if(document.getElementById(""+basename+"_width"))
	{
		var sliderlength = document.getElementById(""+basename+"_width").value;
	}
	else
	{
		return false;
	}
	slider.startOffsetX = qLeft(slider.id) - evnt.screenX;
	Qmouseover = true;
	
	document.onmousemove = moveQ; // Start the action if the mouse is dragged.
	document.onmouseup = sliderQUp; // Stop sliding.
	
	return false;
}

function moveQ(evnt)
{
	//alert("move");
	if(!Qmouseover){return false;}
	
	if(navigator.appVersion.indexOf("iPad")!=-1)
	{
		var evnt = evnt.targetTouches[0];
	}
	else
	{
		var evnt = (!evnt) ? window.event : evnt; // The mousemove event
	}
	var sliderid = slider.id;
	var nameArr = sliderid.split("_");
	var basename = nameArr[0];
	var slidername = nameArr[1];
	
	if(basename == undefined)
	{
		return false;
	}
	var stepvalue = parseInt(document.getElementById(""+basename+"_stepvalue").value);
	
	if (Qmouseover) 
	{ 
		slider.x = slider.startOffsetX + evnt.screenX; // Horizontal mouse position relative to allowed slider positions
		slider.y = slider.startOffsetY + evnt.screenY; // Horizontal mouse position relative to allowed slider positions
		
		//alert(slidername+" "+slider.startOffsetX+" "+evnt.screenX);
		
		var wid = parseInt(document.getElementById(""+basename+"_width").value);
		var xMax = wid;
		
		var wid2 = 0;
		var widlow = parseInt(document.getElementById(""+basename+"_offleft").value);
		var xMin = wid2+widlow;
		
		if(slidername == "sliderlow")
		{
			// slider may not go beyond sliderhigh
			var xHigh = document.getElementById(""+basename+"_sliderhigh").offsetLeft;
			//alert(xHigh);
			if (slider.x > xHigh) slider.x = xHigh-5;
		}
		else if(slidername == "sliderhigh")
		{
			// slider may not go beyond sliderlow
			var xHigh = document.getElementById(""+basename+"_sliderlow").offsetLeft;
			if (slider.x < xHigh) slider.x = xHigh+5;
		}
		 
		if (slider.x > xMax){slider.x = xMax;} // Limit horizontal movement
		if (slider.x < xMin){slider.x = xMin;} // Limit horizontal movement
		
		qLeft(slider.id, slider.x);  // move slider to new horizontal position
		var sliderVal = slider.x + slider.y; // pixel value of slider regardless of orientation

		document.getElementById(""+basename+"_slideselect").style.left = parseInt(document.getElementById(""+basename+"_sliderlow").offsetLeft)+parseInt(document.getElementById(""+basename+"_sliderlow").style.width)-1+ 'px'; // base position selectline
		document.getElementById(""+basename+"_slideselect").style.width = parseInt(document.getElementById(""+basename+"_sliderhigh").offsetLeft)-parseInt(document.getElementById(""+basename+"_sliderlow").offsetLeft)-parseInt(document.getElementById(""+basename+"_sliderlow").style.width)+1+ 'px'; // set selectline
		
		// set values
		if(slidername == "sliderlow")
		{
			var newvalmin = Math.floor((parseInt(document.getElementById(""+basename+"_sliderlow").offsetLeft)-parseInt(document.getElementById(""+basename+"_offleft").value))*(parseInt(document.getElementById(""+basename+"_max").value)/(wid-parseInt(document.getElementById(""+basename+"_offleft").value))));
			newvalmin = stepvalue * Math.round(newvalmin / stepvalue);
			if(newvalmin == document.getElementById(""+basename+"_highvalue").value){newvalmin = newvalmin-stepvalue}
			document.getElementById(""+basename+"_lowvalue").value = newvalmin;
			replace_html(""+basename+"_lowdvalue", newvalmin);
			//document.getElementById(""+basename+"_lowdvalue").innerText = newvalmin;
		}
		if(slidername == "sliderhigh")
		{
			var newvalmax = Math.ceil(parseInt(document.getElementById(""+basename+"_sliderhigh").offsetLeft-parseInt(document.getElementById(""+basename+"_offleft").value))*(parseInt(document.getElementById(""+basename+"_max").value)/(wid-parseInt(document.getElementById(""+basename+"_offleft").value))));
			newvalmax = stepvalue * Math.round(newvalmax / stepvalue);
			//alert(newvalmax);
			if(newvalmax == document.getElementById(""+basename+"_lowvalue").value){newvalmax = newvalmax+stepvalue;}
			document.getElementById(""+basename+"_highvalue").value = newvalmax;
			replace_html(""+basename+"_highdvalue", ""+newvalmax+"");
			//document.getElementById(""+basename+"_highdvalue").innerText = newvalmax;
		}

		// set position of show values
		if(document.getElementById(""+basename+"_lock").value == 1)
		{
			var lockalign = document.getElementById(""+basename+"_lockalign").value;
			// prijs elements locked to sliders
			if(lockalign == "left")
			{
				if(slidername == "sliderlow")
				{
					document.getElementById(""+basename+"_lowshowvalue").style.left = parseInt(document.getElementById(""+basename+"_sliderlow").offsetLeft)+ 'px'; // base position left slider
				}
				else if(slidername == "sliderhigh")
				{
					document.getElementById(""+basename+"_highshowvalue").style.left = parseInt(document.getElementById(""+basename+"_sliderhigh").offsetLeft)+ 'px'; // base position right slider
				}
			}
			else if(lockalign == "center")
			{
				var lowwidth = document.getElementById(""+basename+"_lowshowvalue").offsetWidth;
				var highwidth = document.getElementById(""+basename+"_highshowvalue").offsetWidth;
				if(slidername == "sliderlow")
				{
					document.getElementById(""+basename+"_lowshowvalue").style.left = parseInt(document.getElementById(""+basename+"_sliderlow").offsetLeft)-(lowwidth/2)+ 'px'; // base position left slider
				}
				else if(slidername == "sliderhigh")
				{
					document.getElementById(""+basename+"_highshowvalue").style.left = parseInt(document.getElementById(""+basename+"_sliderhigh").offsetLeft)-(highwidth/2)+ 'px'; // base position right slider
				}
			}
			else if(lockalign == "right")
			{
				var lowwidth = document.getElementById(""+basename+"_lowshowvalue").offsetWidth;
				var highwidth = document.getElementById(""+basename+"_highshowvalue").offsetWidth;
				if(slidername == "sliderlow")
				{
					document.getElementById(""+basename+"_lowshowvalue").style.left = parseInt(document.getElementById(""+basename+"_sliderlow").offsetLeft)-lowwidth+ 'px'; // base position left slider
				}
				else if(slidername == "sliderhigh")
				{
					document.getElementById(""+basename+"_highshowvalue").style.left = parseInt(document.getElementById(""+basename+"_sliderhigh").offsetLeft)-highwidth+ 'px'; // base position right slider`
				}
			}
		}
		return false;
	}
	return
}

function sliderQUp()
{
	if(Qmouseover)
	{
		Qmouseover = false; // Stop the sliding.
		setQFilter(2);
	}
	Qmouseover = false; // Stop the sliding.
}

function setSliders()
{
	var slidevalue = "";
	var basename = "";
	var minval = "";
	var maxval = "";
	var poslow = "";
	var poshigh = "";
	var slidelength = "";
	var addleft = "";
	var addright = "";
	var lock = "";
	var lockalign = "";
	var stepvalue ="";
	var itemArr = "";
	
	for(var a=1;a<11;a++)
	{
		if(document.getElementById("slideinit"+a+""))
		{
			slidevalue = document.getElementById("slideinit"+a+"").value;
			itemArr = slidevalue.split(",");
			basename = itemArr[0];
			minval = parseInt(itemArr[1]);
			maxval = parseInt(itemArr[2]); 
			poslow = parseInt(itemArr[3]);
			poshigh =parseInt( itemArr[4]);
			slidelength = parseInt(itemArr[5]);
			addleft = parseInt(itemArr[6]);
			addright = parseInt(itemArr[7]);
			lock = parseInt(itemArr[8]);
			lockalign = itemArr[9];
			stepvalue = parseInt(itemArr[10]);
			
			initQSlider(basename, minval, maxval,poslow,poshigh,slidelength,addleft,addright,lock,lockalign,stepvalue);
		}
	}
}
