
var reloadTimeout;

function invertCheckboxes(nom) {
  for (i=0, n=document.results.elements.length; i<n; i++)
  if (document.results.elements[i].name.indexOf(nom) != -1){
  	if (document.results.elements[i].checked==true) document.results.elements[i].checked=false;
  	else document.results.elements[i].checked=true;
  }
  waitReloadFilters();
}

function waitReloadFilters(){
  SetWaitMsgVisible();
  clearTimeout(reloadTimeout);
  reloadTimeout = setTimeout("reloadFilters();", 1500);
  return true;
}

function reloadFilters() {
	var exceptPartners = "";
	var keepTypes = "";
	var exceptDurations = "";
	var exceptTypes0 = "";
	var exceptCountries = "";
	var elem;
  
	for(var id in partners) {
		if (!document.getElementById(partners[id]).checked) {
		  	if (exceptPartners!="") exceptPartners+=",";
			exceptPartners += id;
		}
	}
	for(var id in types) {
	  	elem = document.getElementById('type_'+id);
		//alert('type_'+i);
		if (elem!=null && !elem.checked) {
			if (exceptTypes0!="") exceptTypes0+=",";
			exceptTypes0 += id;
		}
	}
	for(var key in other_types) {
		elem = document.getElementById(key);
		if (elem!=null && elem.checked) {
			if (keepTypes!="") keepTypes+=",";
			keepTypes += key;
		}
	}
	for(var i in durations) {
		elem = document.getElementById('nights_'+i);
		if (elem==null || !elem.checked) {
			if (exceptDurations!="") exceptDurations+=",";
			exceptDurations += i;
		}
	}
	for(var id in countries) {
		elem = document.getElementById('country_'+id);
		if (elem!=null && !elem.checked) {
			if (exceptCountries!="") exceptCountries+=",";
			exceptCountries += id;
		}
	}
	var pricemin = limit["price"]["min"];
	var pricemax = limit["price"]["max"];
	//if (pricemin!=infos["price"].Min) {
		params = replaceParam(params,"MinSelectedPrice",pricemin);
		params = replaceParam(params,"MinPricePos",Pos["price"]["min"]);
	//}
	//if (pricemax!=infos["price"].Max) {
		params = replaceParam(params,"MaxSelectedPrice",pricemax);
		params = replaceParam(params,"MaxPricePos",Pos["price"]["max"]);
	//}
	params = replaceParam(params,"exclude",exceptPartners);
	params = replaceParam(params,"holdTypes",keepTypes);
	params = replaceParam(params,"excludeTypes0",exceptTypes0);
	params = replaceParam(params,"excludeDurations",exceptDurations);
	params = replaceParam(params,"excludeCountries",exceptCountries);
	params = replaceParam(params,"navi",document.getElementById("navi").value);
	document.location.href = curPage+"?"+params;
}

function replaceParam(paramsStr,paramName,paramValue) {
	var paramPos = paramsStr.indexOf("&"+paramName+"=");
	if (paramPos != -1) {
		var nextAndPos = paramsStr.indexOf("&",paramPos+paramName.length+2);
		if (nextAndPos!=-1)
			paramsStr = paramsStr.substring(0,paramPos) + ((paramValue!="")?"&"+paramName+"="+paramValue:"") + paramsStr.substring(nextAndPos);
		else
			paramsStr = paramsStr.substring(0,paramPos) + ((paramValue!="")?"&"+paramName+"="+paramValue:"");
	}
	else if (paramValue!="")
		paramsStr += "&"+paramName+"="+paramValue;
	return paramsStr;
}

function showSearch(){
	//document.getElementById("cache").style.display='block';
	cach = document.getElementById("Search").style;
	topscroll = getScrollXY()[1];
  cach.top = topscroll+"px";
	cach.display = "block";
}
function hideSearch(){
	//document.getElementById("cache").style.display='none';
	document.getElementById("Search").style.display='none';
}
function SetWaitMsgVisible(){
	//document.getElementById("cache").style.display='block';
	cach = document.getElementById("wait").style;
	topscroll = getScrollXY()[1];
  cach.top = topscroll+"px";
	cach.display = "block";
}
function SetWaitMsgInvisible(){
	//document.getElementById("cache").style.display='none';
	document.getElementById("wait").style.display='none';
}
