var ID = null;
var vorN = "NULL";
var myObject,preloadArray;
var imPrfx="~";

function setCookie(name,value,days) {
        var date = new Date();
        date.setTime(date.getTime()+(7*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
    document.cookie = name+"="+value+expires+"; path=/";
}

function deleteCookie(name, path, domain) {
    if (getCookie(name)) {
        document.cookie = name + "=" +
            ((path) ? "; path=" + path : "") +
            ((domain) ? "; domain=" + domain : "") +
            "; expires=Thu, 01-Jan-70 00:00:01 GMT";
    }
}

function getCookie(c_name)
{
if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(c_name + "=")
  if (c_start!=-1)
    { 
    c_start=c_start + c_name.length+1 
    c_end=document.cookie.indexOf(";",c_start)
    if (c_end==-1) c_end=document.cookie.length
    return unescape(document.cookie.substring(c_start,c_end))
    } 
  }
return ""
}

var sSite = "www.actieauto.nl";

function makeHttpRequest(url)
{
	makeAjaxRequest(url); 
}


// if return_xml is true, make sure that the server-side script starts with sending a "Content-type: text/xml" header!
function makeAjaxRequest(url, callback_function, return_xml)
{ 
	var objRequest = CreateHttpRequestObj(callback_function, return_xml); 
	if (!objRequest)
		return false; 

	objRequest.open('GET', url, true); 
	objRequest.send(null);
	return true;
}

function MakeAjaxGetRequest(sUrl, sQuery, sCallbackFunction, bXml) 
{
	return makeAjaxRequest(sUrl + (sQuery ? "?" + sQuery : ""), sCallbackFunction, bXml);
}

function MakeAjaxPostRequest(sUrl, sQuery, sCallbackFunction, bXml) 
{
	var objRequest = CreateHttpRequestObj(sCallbackFunction, bXml); 
	if (!objRequest)
		return false; 

	objRequest.open('POST', sUrl, true); 
	objRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	objRequest.setRequestHeader("Content-Length", sQuery.length);
	objRequest.setRequestHeader("Connection", "close");
	objRequest.send(sQuery);
	return true;
}

function CreateHttpRequestObj(sCallbackFunction, bXml) 
{ 
	var objRequest = null; 
	if (window.XMLHttpRequest) // Mozilla, Safari, MSIE7,...
	{ 
		objRequest = new XMLHttpRequest(); 
		if (objRequest.overrideMimeType)
			objRequest.overrideMimeType('text/xml');
	}
	else if (window.ActiveXObject) // IE 
	{
		try
		{ 
			objRequest = new ActiveXObject("Msxml2.XMLHTTP"); 
		}
		catch (e)
		{ 
			try
			{ 
				objRequest = new ActiveXObject("Microsoft.XMLHTTP"); 
			}
			catch (e) {} 
		} 
	}

	if (objRequest && sCallbackFunction)
	{
		objRequest.onreadystatechange = function()
		{ 
			if (objRequest.readyState == 4)
			{ 
				if (objRequest.status == 200)
				{ 
					if (bXml)
						eval(sCallbackFunction + '(objRequest.responseXML)'); 
					else 
						eval(sCallbackFunction + '(objRequest.responseText)'); 
				}
				else
//				else if ((typeof _DEBUG_ != "undefined") && _DEBUG_)
					alert('There was a problem with the request.(Code: ' + objRequest.status + ' => ' + objRequest.statusText + ')'); 
			} 
		} 
	}

	return objRequest; 
}

function changetext(text)
{
   c = document.getElementById('content');
   c.innerHTML = text;
}

function AAStats(id, t) 
{
	makeHttpRequest("/async/updatecounter.php?id=" + id + "&t=" + t + "&cache=no");
}

function setdisplay(text)
{
   c = document.getElementById('content');
   c.innerHTML = text;
}

function getcriteria() {
    var f = window.document.searchform;
    var v = '';
    for (i = 0; i < f.elements.length; i++) {
        if (f.elements[i].type != 'submit' && f.elements[i].name.length > 0) {
            if (f.elements[i].type == 'checkbox' || f.elements[i].type == 'radio') {
                if (f.elements[i].checked) {
                    v += '&' + f.elements[i].name + '=' + f.elements[i].value;
                }
            } else {            
                v += '&' + f.elements[i].name + '=' +f.elements[i].value;
            }
        }
    }
    return v;
}

function searchchange(offset) {
    var url='/actieautoresults.php?cache=no';
    url+= getcriteria();
    if (offset) url+= '&SF=' + offset;
   makeAjaxRequest(url,'setdisplay');
}


function setcriteria(name) {
    var str = getcriteria();
    setCookie('actieauto_param',str,7);
}

function popup2(naam,winnaam,winwidth,winheight,winscroll){
var tmpWin2 = null;
    var myScrollBarOffset = 12;
    var newnaam = naam;
    var h = winheight+20;
    startDate= new Date();
    if (tmpWin2 == null || tmpWin2.closed) {
             if(parseInt(navigator.appVersion)>=4){
                 tmpWin2=window.open(newnaam,winnaam,"toolbar=no,location=no,resizable=no,status=no,scrollbars="+winscroll+",menubar=no,width="+
                 (winwidth-myScrollBarOffset)+",height="+h+",left=0,top=0");}
             else{tmpWin2=window.open(newnaam,winnaam,"toolbar=no,location=no,resizable=yes,status=no,scrollbars=yes,menubar=no,width=404,height=380");}
            tmpWin2.location.href = newnaam;
            if (tmpWin2.opener == null) tmpWin2.opener = self;
            if (navigator.appName != "Microsoft Internet Explorer" || parseInt(navigator.appVersion) >=5)
                tmpWin2.focus();
    }
    else {
            if (navigator.appName != "Microsoft Internet Explorer" || parseInt(navigator.appVersion) >=5)
                tmpWin2.focus();
    }
    return false;
}

function hover(i) {
  var tag='tab'+i;
  if (document.images)
    document[tag].src='/images/tab_' + i + '.gif';
}

function unhover(i,mode) {
  var tag='tab'+i;
  if (document.searchform) {
    var v=document.searchform.mode.value;
      if (i!=v)
      document[tag].src='/images/tab_' + i + '_1.gif';
  } else {
    if (document.images)
        if (i!=mode)
        document[tag].src='/images/tab_' + i + '_1.gif';
  }
}

function changeform(i) {
    document.searchform.mode.value=i;
    if (i==3) {
        hover(i);
        unhover(1);
        unhover(2);
        document.getElementById('leasebox').style.visibility='visible';
        document.getElementById('postcodebox').style.visibility='hidden';
        document.getElementById('labelpl').innerHTML='<b>leasemaatschappij</b>';
        window.location = "index.php?mode=3";
    } else if (i==2) {
        hover(i);
        unhover(1);
        unhover(3);
        document.getElementById('leasebox').style.visibility='hidden';
        document.getElementById('postcodebox').style.visibility='visible';
        document.getElementById('labelpl').innerHTML='<b>postcodegebied</b>';
        window.location = "index.php?mode=2";
    } else { 
        hover(i);
        unhover(2);
        unhover(3);
        document.getElementById('postcodebox').style.visibility='hidden';
        document.getElementById('leasebox').style.visibility='hidden';
        document.getElementById('labelpl').innerHTML='';
        window.location = "index.php?mode=1";
    }
}

function test_form (nr)
{
    var f = document.searchform;
    f.mode[nr].checked = true;
    if (nr != 0) 
    {
        f.postcode.disabled = true;
        f.straal.disabled = true;
    }
    if (nr != 1) 
        f.provincie.disabled = true;
    f.lokatie.value=2;
}

function set_radio(nr)
{
    var f = document.searchform;

    f.postcode.disabled = true;
    f.straal.disabled = true;
    f.provincie.disabled = true;

    if (nr == 0) 
    {
        f.postcode.disabled = false;
        f.straal.disabled = false;
    }
    if (nr == 1) {
        f.provincie.disabled = false;
    }
    f.mode[nr].checked = true;
        
    f.lokatie.value=2;

}

var sKr = sSite.replace(/www\./, "[").replace(/\.nl/, "]");

function resetregio (nr)
{
    var f = document.searchform;

    f.postcode.disabled = true;
    f.straal.disabled = true;
    f.provincie.disabled = true;
    f.mode[0].checked = false;
    f.mode[1].checked = false;
}

function resetselectie() {
    var f = document.searchform;
    f.merk.value="0";
    f.modelserie.value="";
    f.segment.value="0";
    f.carrosserie.value="0";
}

function onof(L,N,f) {
    if (N == 1 && f == 1){ L.className = "onM1";}
    else if (N == 2 && f == 1) {L.classname="onM" ;}
        else if (N == 1 && f == 0){L.className = "ofM1";}
            else if (N == 2 && f == 0) {L.classname="ofM" ;}
}

function f_tog(n,o){
var aN = document.getElementsByTagName("select");
var aL = aN.length;
    for(i=0; i < aL; i ++){
           c = aN[i].id.charAt(n);
            if (n == c && o == 0) {aN[i].style.visibility = "hidden";}
            else if (n==c && o==1) {aN[i].style.visibility = "visible";}
    }
}

function mm_ct(name,o) {
    if (document.getElementById) {
        nL=name.length;
        nC = name.charAt(nL-1);
        var boxN = document.getElementById(name);


        var vorboxN = document.getElementById(vorN);

        if (o == 1) {
            if (vorboxN){
            var pnL=vorboxN.id.length;
            var pnC = vorboxN.id.charAt(pnL-1);
            vorboxN.style.visibility = "hidden";
            f_tog(pnC,1);
            }
        f_tog(nC,0);
        boxN.style.visibility = "visible";
        vorN = name;
        } else if (o == 0) {

            f_tog(nC,1);
            if (boxN) {
            boxN.style.visibility = "hidden";
            }
        }
    }
}

function Dropdown(id, bShow, bHideSelects)
{
    var obj = document.getElementById(id);
    if (!obj || !obj.style)
        return;
    nL=id.length;
    nC = id.charAt(nL-1);
    if (bShow==1) {
        var pnL=id.length;
        var pnC = id.charAt(pnL-1);
        f_tog(pnC,0);
        obj.style.visibility = "visible";
    } else {
        f_tog(nC,1);
        obj.style.visibility = "hidden";
    }

}

function go(urLL,target,w,h) {
    if (target == 1) {
        if (w>0 && h>0) {
            window.open(urLL,'AutoWeekpopup','toolbar=no,location=no,resizable=no,status=no,scrollbars=yes,menubar=no,width='+w+',height='+h+',left=0,top=0');
        } else {
            window.open(urLL,'AutoWeekpopup','toolbar=no,location=no,resizable=no,status=no,scrollbars=no,menubar=no,width=794,height=550,left=0,top=0');
        }
    } else {
        window.location = urLL;
    }
}

function makeHttpRequest(url) {
       if (window.XMLHttpRequest) { // Mozilla, Safari,... 
           http_request = new XMLHttpRequest(); 
       } else if (window.ActiveXObject) { // IE 
           http_request = new ActiveXObject("Microsoft.XMLHTTP"); 
       } 
       http_request.open('GET', url, true); 
       http_request.send(null); 
}


function getCookie(name) {
 var dc = document.cookie;
 var prefix = name + "=";
 var begin = dc.indexOf("; " + prefix);
 if (begin == -1) {
   begin = dc.indexOf(prefix);
   if (begin != 0) return null;
 } else
   begin += 2;
 var end = document.cookie.indexOf(";", begin);
 if (end == -1)
   end = dc.length;
 return unescape(dc.substring(begin + prefix.length, end));
}


function checkatt() {
 var seen = getCookie("ATT2008popup"); 
 if (!seen) {
 popup2('http://www.autoweek.nl/att2008.php?popup=1&cache=no','ATT',760,600,1);
 }
}



// filterbuttons
self.idFilteredContent = null;
self.aSaveStateIds = new Array();
self.aFilterblockStyles = [{ btn_def:"", btn_on:"activebutton" }]

function SaveFilterBlockStates()
{
	for (var i=0; i<arguments.length; i++)
		self.aSaveStateIds[arguments[i]] = true;
}

function SetFilterBlockCookie(idNr, nIndex)
{
	var sCookie = getCookie("filterblock_data");
	if (sCookie.length)
		var aTmp = sCookie.split("|");
	else
		var aTmp = [0,0,0,0,0];
	while (aTmp.length < idNr)
		aTmp[aTmp.length] = 0;
	aTmp[idNr] = nIndex;
	sCookie = aTmp.join("|");
	document.cookie = "filterblock_data=" + sCookie;
	self.aCookies["filterblock_data"] = sCookie;
}

function RestoreFilterBlockState(idMin)
{
	var sCookie = getCookie("filterblock_data");
	if (sCookie.length)
		var aTmp = sCookie.split("|");
	if (aTmp && aTmp[idMin])
	{
		var nIndex = aTmp[idMin] * 1;
		var row = document.getElementById("idFilterbuttonRow_" + idMin);
		if (row)
		{
			if ((nIndex >= 1) && (nIndex < row.cells.length - 1))
			{
				var aTags = row.cells[nIndex].getElementsByTagName('A');
				if (aTags && aTags.length)
					aTags[0].onclick();
			}
		}
		else if (row = document.getElementById("idFiltertabRow_" + idMin))
		{
//if (bDEBUG) alert(nIndex);
			for (var i=0; i<row.cells.length; i++)
			{
				var aTags = row.cells[i].getElementsByTagName('TABLE');
				if (aTags && aTags.length && (i == nIndex))
				{
					aTags[0].onclick();
					break;
				}
			}
		}
	}
}

function UpdateFilterButtons(idNr, oThisBtn, nFilterblockStyle)
{
	var row = document.getElementById("idFilterbuttonRow_" + idNr);
	if (row)
	{
		for (var i=1; i<row.cells.length-1; i++)
		{
			var aTags = row.cells[i].getElementsByTagName('A');
	//		aTags[0].className = ((aTags[0] == oThisBtn) ? self.aFilterblockStyles[nFilterblockStyle].btn_on : self.aFilterblockStyles[nFilterblockStyle].btn_def);
			row.cells[i].className = ((aTags[0] == oThisBtn) ? self.aFilterblockStyles[nFilterblockStyle].btn_on : self.aFilterblockStyles[nFilterblockStyle].btn_def);
			if (self.aSaveStateIds[idNr] && (aTags[0] == oThisBtn))
				SetFilterBlockCookie(idNr, i);
		}
	}
	else if (row = document.getElementById("idFiltertabRow_" + idNr))
	{
//if (bDEBUG) AlertObjProps(oThisBtn);
		for (var i=0; i<row.cells.length; i++)
		{
			var aTags = row.cells[i].getElementsByTagName('TABLE');
			if (aTags && aTags.length)
			{
				if (aTags[0] == oThisBtn)
				{
					aTags[0].className = "smalltabactive";
					aTags[0].onmouseover = "";
					aTags[0].onmouseout = "";
					if (self.aSaveStateIds[idNr])
						SetFilterBlockCookie(idNr, i);
				}
				else
				{
					aTags[0].className = "smalltabinactive";
					aTags[0].onmouseover = function() { this.className = "smalltabhover"; };
					aTags[0].onmouseout = function() { this.className = "smalltabinactive"; };
				}
//if (bDEBUG) AlertObjProps(aTags[0]);
			}
		}
	}
}

function GetFilteredContent(sUrl, idNr, oThisBtn, nFilterblockStyle)
{
	if (oThisBtn)
		UpdateFilterButtons(idNr, oThisBtn, nFilterblockStyle);
	self.idFilteredContent = "idFilterBlock_" + idNr;
	makeAjaxRequest(sUrl, "ChangeFilteredContent");
	return false;
}

function ChangeFilteredContent(sTxt)
{
   var obj = document.getElementById(self.idFilteredContent);
   if (obj)
	   obj.innerHTML = sTxt;
}

function SwapDiv(idNr, idMin, idMax, oThisBtn, nFilterblockStyle)
{
	UpdateFilterButtons(idMin, oThisBtn, nFilterblockStyle);
	for (var i=idMin; i<=idMax; i++)
	{
		var obj = document.getElementById("idFilterBlock_" + i);
		if (obj && obj.style)
			obj.style.display = ((i == idNr) ? "" : "none")
	}
}




function Meeltoe(sCode, sTxt)
{
	s = "<a h";
	s += "ref=\"ma";
	sTmp = Meel(sCode);
	s += "ilt";
	s += "o:" + sTmp + "\">" + (sTxt ? sTxt : sTmp) + "</";
	s += "a>";
	document.write(s);
}


function Meel(sInput)
{
	var sTmp, nTmp, s = new String();
	var sKey = sKr;

	for (var i=0, j=0; i<sInput.length; i+=2, j++)
	{
		sTmp = "0x" + sInput.substring(i, i+2);
		nTmp = (sTmp * 1) ^ sKey.charCodeAt(j % sKey.length);
		s += String.fromCharCode(nTmp);
	}

	return s;
}

window.popup = null;

function PopupWnd(sUrl, w, h, bScrollbars)
{
	var sScrollbars = (bScrollbars ? ",scrollbars" : "");
	if ((screen.width < w) || (screen.height < h))
	{
		sScrollbars = ",scrollbars";
		if (screen.width < w)
			w = screen.width;
		if (screen.height < h)
			h = screen.height;
	}

	if (!window.popup || window.popup.closed)
	{
		document.cookie = "screenX=" + screen.width;
		document.cookie = "screenY=" + screen.height;
		window.popup = window.open(sUrl, 'AwPopup', 'width=' + w + ',height=' + h + ',left=0,top=0' + sScrollbars);
	}
	else
	{
		window.popup.location.href = sUrl;
		window.popup.resizeTo(w, h);
		if (sScrollbars)
		{
			if (wnd.scrollbars)
				window.popup.scrollbars.visible = true;
			else
				window.popup.document.body.style.overflow = "auto";
		}
	}
	window.popup.focus();
	return false;
}
