// -----------------------------------------------------------------------------
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
  //alert(x.src);
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i, j=0, x, a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
  if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
  //alert(x.src);
}

// -----------------------------------------------------------------------------
var currentObj;

/* vervangen door onderstaande verbeterde versie, waarbij uitgegaan wordt van huidige afbeelding locatie
   (ipv. een vaste locatie!)

function swap(obj, state) {
  if (state != "") {
    if (state == 2) {
      obj.src = "../images/knoppen_submenu/" + obj.name + "_o.gif";
    } else if (state == 1) {
      obj.src = "../images/knoppen_submenu/" + obj.name + ".gif";
    }
    if (currentObj != null) {
      currentObj.src = "../images/knoppen_submenu/" + currentObj.name + "_o.gif";
    }
  }
} */
function swap(obj, state) {

  var regexp = /\.gif$/gi;
  var regexp2 = /_o\.gif$/gi;

  if (state != "") {
    if (state == 2) {
      var loc = obj.src;
      var newloc = loc.replace(regexp, "_o.gif");
      obj.src = newloc;
    }
    else if (state == 1) {
      var loc = obj.src;
      var newloc = loc.replace(regexp2, ".gif");
      obj.src = newloc;
    }
    if (currentObj != null) {
      var loc = currentObj.src;
      var newloc = loc.replace(regexp2, ".gif");
      currentObj.src = newloc;
    }
  }
}

// -----------------------------------------------------------------------------
function PopUpImage(target,width,height) {
  win=window.open(target,'Polyplan','width='+width+',height='+height+',left=10,top=10,location=0,menubar=0,status=0,resizable=1,resizeable=yes,resizeable,scrollbars=no');
	if (!win.opener)win.opener=self;
	if (win.focus)win.focus();
}
window.pup = PopUpImage;

// -----------------------------------------------------------------------------
function PopUpPrijs(target,width,height) {
  win=window.open(target,'Polyplan','width='+width+',height='+height+',left=100,top=100,location=0,menubar=0,status=0,resizable=1,resizeable=yes,resizeable');
	if (!win.opener)win.opener=self;
	if (win.focus)win.focus();
}
window.pup = PopUpPrijs;

// -----------------------------------------------------------------------------
function checkZoekForm() {

  var f = document.zoekForm;
  if ((f.regio[f.regio.selectedIndex].value != '') && (f.plaats[f.plaats.selectedIndex].value != '')) {
    alert('Selecteer a.u.b. een regio OF een plaats, niet beide!');
    return false
  }
  return true
}

// -----------------------------------------------------------------------------
function isEmail(str) {
  // are regular expressions supported?
  var supported = 0;
  if (window.RegExp) {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported) 
    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$");
  return (!r1.test(str) && r2.test(str));
}

// -----------------------------------------------------------------------------
function checkBrochureForm() {

  var name;
  var b = document.brochureForm;
  var zjecked = false;
  var betreft_val;

  // check of er minimaal 1 "betreft" is aangevinkt
  for (var i = 0; i < b.elements.length; i++) {
    name = b.elements[i].name;
    if (name == 'betreft') {
      if (b.elements[i].checked == 1) {
        zjecked = true;
        betreft_val = b.elements[i].value
      }
    }
  }
  if (zjecked == false) {
    alert('Vink alstublieft de brochure(s) aan, die u wilt ontvangen!');
    return false
  } else { // check of tekstveld bij "overig" is ingevuld
    if ((betreft_val == 'overig') && (b.overig.value == '')) {
      alert('U heeft "Overig" aangevinkt, maar verder niks ingevuld!\nVul alstublieft achter "Overig:" in wat u wenst te ontvangen.');
      return false
    }
  }
  // check naam
  if (b.naam.value.length < 2) {
    alert('Vul alstublieft uw naam in!');
    return false
  }
  // check adres
  if (b.adres.value.length < 4) {
    alert('Vul alstublieft uw adres in!');
    return false
  }
  // check postcode
  if (b.pcode.value.length < 4) {
    alert('Vul alstublieft uw postcode in!');
    return false
  }
  // check postcode
  if (b.pcode.value.length < 4) {
    alert('Vul alstublieft uw postcode in!');
    return false
  }
  // check plaats
  if (b.plaats.value.length < 2) {
    alert('Vul alstublieft uw plaats in!');
    return false
  }
  // check e-mail
  if (b.email.value.length < 5) {
    alert('Vul alstublieft uw e-mailadres in!');
    return false
  } else {
    if (!isEmail(b.email.value)) {
      alert('Vul alstublieft een geldig e-mailadres in!');
      return false
    }
  }
  return true
}

// -----------------------------------------------------------------------------
function showHideTxt(divToChangeID) {

	//alert("Ja, en nu?");
	var divtxt = document.getElementById(divToChangeID);
	//var stateVisibility = divtxt.style.visibility;
	//alert("Visibility: " + stateVisibility);
	var stateDisplay = divtxt.style.display;
	//alert("Display: " + stateDisplay);
	//Effect.SlideDown('id_of_element');
	//Effect.SlideUp('id_of_element');
	if (stateDisplay == "none") {
		//divtxt.style.visibility = "block";
		//Effect.SlideDown('id_of_element');
	} else {
		//divtxt.style.visibility = "none";	
		//Effect.SlideUp('id_of_element');		
	}
}

//------------------------------------------------------------------------------
var tooltipBackground = "#b8a761";
var tooltipTextcolor = "#ffffff";
var tooltipBorder = "1px solid #ffffff";
var tooltipWidth = "430"; //230
var tooltipPadding = "4px";

var images = document.getElementsByTagName("img");
var tooltipimage = new Object();
var tip = new Object();
var ii = 0;

function inittooltips()
{
  for (var i = 0; i < images.length; i++)
  {
    if (images[i].getAttribute("tooltip"))
    {
      var found = true;
      tooltipimage[ii] = images[i];
      tip[ii] = images[i].getAttribute("tooltip");
      Event.observe(tooltipimage[ii], "mouseover", function(e) {showTooltip(this, e);});
      Event.observe(tooltipimage[ii], "mouseout", function() {removeTooltip(this);});
      Event.observe(tooltipimage[ii], "mousemove", function(e) {showTooltip(this, e);});

      ii++;
    }
    else
    {
      var a = "b";
    }
  }

  if (found)
  {
    var tooltip = document.createElement("div");
    tooltip.style.position = "absolute";
    tooltip.style.zIndex = "200";
    tooltip.id = "tooltip";
    tooltip.style.border = tooltipBorder;
    tooltip.style.lineHeight = "20px";
    tooltip.style.color = tooltipTextcolor;
    tooltip.style.fontWeight = "bold";
    tooltip.style.background = tooltipBackground;
    tooltip.style.padding = tooltipPadding;
    tooltip.style.display = "none";
    tooltip.style.maxWidth = tooltipWidth + "px";
    document.body.appendChild(tooltip);
  }
}

//------------------------------------------------------------------------------
function showTooltip(image, e) {
  var hover = Event.element(e);
  var tip = hover.getAttribute("tooltip");
  var tooltip = document.getElementById("tooltip");
  tooltip.style.left = Event.pointerX(e) + 12 + "px";
  tooltip.style.top = Event.pointerY(e) - 30 + "px";
  tooltip.innerHTML = "&nbsp;" + tip + "&nbsp;";

  if (tooltip.style.display != "block") {
    tooltip.style.display = "block";
    Event.observe(image, "mousemove", function(e) {showTooltip(this, e);});
    Event.observe(tooltip, "mouseover", function(e) {$("tooltip").style.display = "block";});
    Event.observe(tooltip, "mouseout", function(e) {$("tooltip").style.display = "none";});
  } else {
    var a = "b";
  }
}

//------------------------------------------------------------------------------
function removeTooltip(image) {
  document.getElementById("tooltip").style.display = "none";
  Event.stopObserving("tooltip", "mouseout", function(e) {$("tooltip").style.display = "none";});
  Event.stopObserving("tooltip", "mouseover", function(e) {$("tooltip").style.display = "block";});
  Event.stopObserving(image, "mousemove", function(e) {showTooltip(this, e);});
}

//------------------------------------------------------------------------------
function zoekOpSoort(zoekOpLocatie) 
{

  var z1 = document.getElementById("divZoek1");
  var z2 = document.getElementById("divZoek2");
  var tabs = document.getElementById("zoekTabs");
  var zoektab = document.getElementById("zoektab");
  
	if (zoekOpLocatie == true) 
	{
		z1.style.display = "block";
		z2.style.display = "none";
		z1.style.visibility = "visible";
		z2.style.visibility = "hidden";
		tabs.style.backgroundImage = "url(/_images/tab_left.gif)";
		zoektab.value = "1";
	} 
	else 
	{
		z1.style.display = "none";
		z2.style.display = "block";
		z1.style.visibility = "hidden";
		z2.style.visibility = "visible";
		tabs.style.backgroundImage = "url(/_images/tab_right.gif)";
		zoektab.value = "2";		
	}
}

//------------------------------------------------------------------------------
function doZoekActie(zoekpage) {

	var tab = document.getElementById("zoektab").value;
	var url = "state=zoek&zoektab=" + tab + "&";
	
	if (tab == "1") 
	{ // zoeken op locatie
		//var regio = document.getElementById("regio").value;
		//var plaats = document.getElementById("plaats").value;
		var zoekw = document.getElementById("zoekw").value;
		//url = "regio=" + regio + "&plaats=" + plaats + "&acco=" + acco;
		url = "zoekw=" + escape(zoekw);
	}	
	else 
	{ // zoeken op lifestyle
	  var lifestyles = document.getElementsByName("lifestyle");
		for (var i = 0; i < lifestyles.length; i++) 
		{
			if (lifestyles[i].checked == true) 
			{
			  url = url + "lifestyle=" + escape(lifestyles[i].value) + "&";
			}
		}
		if (url.charAt(url.length - 1) == "&") 
		{
			url = url.substr(0, url.length - 1);
		}
	}
	document.forms[0].action = (zoekpage + "?" + url); //zoekpage;
	document.forms[0].method = "GET";
	document.forms[0].submit();
}

//------------------------------------------------------------------------------
// AJAX
//------------------------------------------------------------------------------
function createRequestObject() {
	var ro = null;
	//var browser = navigator.appName;
	//if (browser == "Microsoft Internet Explorer"){
  //check voor IE browser (via appName) gewijzigd, aangezien XMLHttpRequest vanaf IE7 (ook) mogelijk is...
  if (window.XMLHttpRequest) {
    ro = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    ro = new ActiveXObject("Microsoft.XMLHTTP");
	} else {
    //stays null... ro = null;
  }
	return ro;
}

//------------------------------------------------------------------------------

var req = createRequestObject();

function getLifeStyleCounter(landKar, checkName, counterDiv) {

	var lifestyles = document.getElementsByName(checkName);
	var counter = document.getElementById(counterDiv);
	var ids = "lk=" + landKar + "&";
	for (var i = 0; i < lifestyles.length; i++) {
		if (lifestyles[i].checked == true) {
		  ids = ids + "ls=" + escape(lifestyles[i].value) + "&";
		}
	}
	if (ids.charAt(ids.length - 1) == "&") {
		ids = ids.substr(0, ids.length - 1);
	}  
  var url = "/_components/ajax_countacco.aspx?" + ids; //GET method
  req.open("GET", url, true);        //XMLHttpRequest.open(String method, String URL, boolean asynchronous)
  req.onreadystatechange = zoek_setCounterAJAX_callback; //asynchronous --> callback function opgeven
  req.send(null);                    //op dit moment wordt request uitgevoerd    
}

//------------------------------------------------------------------------------
function zoek_setCounterAJAX_callback() {

  if (req.readyState == 4) {
    if (req.status == 200) {
      document.getElementById("lsCounter").innerHTML = req.responseText;
    } else {
      //alert('There was a problem with the request...\nStatus: ' + req.status);
      document.getElementById("lsCounter").innerHTML = '<br/>';
    }
  }
}

//------------------------------------------------------------------------------
function review_getContent(id) {

	if (id != "") {
		var reviewImg = document.getElementById("image_reviews");
		reviewImg.src = "/_images/wait_reviews.gif";
	
		var url = "/_components/ajax_beoordelingen.aspx?id=" + id;
		req.open("GET", url, true);
		req.onreadystatechange = review_getContent_callback;
		req.send(null);
	}
	
}

//------------------------------------------------------------------------------
function review_getContent_callback() {

  if (req.readyState == 4) {
    if (req.status == 200) {
      document.getElementById("inhoud").innerHTML = req.responseText;
    } else {
      alert("Beoordelingen kunnen niet opgehaald worden of zijn niet aanwezig!\n(Status: " + req.status + ")");
      //document.getElementById("inhoud").innerHTML = '<br/>';
    }
		var reviewImg = document.getElementById("image_reviews");
		reviewImg.src = "/_images/spacer.gif";
  }
}

//------------------------------------------------------------------------------
function acco_getMeerPrijsContent(accoID) {

	if (accoID != "") {
		var prijsInfoImg = document.getElementById("imgMeerPrijsInfo");
		prijsInfoImg.src = "/_images/icon_meerprijsinfo_wait.gif";
	
		var url = "/_components/ajax_accoprijsinfo.aspx?id=" + accoID;
		req.open("GET", url, true);
		req.onreadystatechange = acco_getMeerPrijsContent_callback;
		req.send(null);
	}

}

//------------------------------------------------------------------------------
function acco_getMeerPrijsContent_callback() {

  if (req.readyState == 4) {
    if (req.status == 200) {
      document.getElementById("inhoud").innerHTML = req.responseText;
    } else {
      alert("Prijsinformatie kan niet opgehaald worden of is niet (meer) aanwezig!\n(Status: " + req.status + ")");
      //document.getElementById("inhoud").innerHTML = '<br/>';
    }
		var prijsInfoImg = document.getElementById("imgMeerPrijsInfo");
		prijsInfoImg.src = "/_images/spacer.gif";
  }
}

//------------------------------------------------------------------------------
function aanmeldennieuwsbrief(f, DomainPlusPathInfo)
{
	var voornaam, achternaam, email, geslacht;

	voornaam   = document.getElementById("vnaam").value;
	achternaam = document.getElementById("anaam").value;
	email      = document.getElementById("email").value;

	// man = 1, vrouw = 0
	if (f.elements["geslacht"][0].checked == true) {
		geslacht = f.elements["geslacht"][0].value;
	} else {
		geslacht = f.elements["geslacht"][1].value;
	}

	// aanpassing maken voor local 	
	url = "http://" + DomainPlusPathInfo + "?nieuwsbrief=true&voornaam=" + voornaam + "&achternaam=" + achternaam + "&email=" + email + "&geslacht=" + geslacht;
	location.href = url;
}

//------------------------------------------------------------------------------
function afmeldennieuwsbrief(f, DomainPlusPathInfo)
{
	var email2 = "";
  email2 = document.getElementById("email2").value;

	// aanpassing maken voor local
	url = "http://" + DomainPlusPathInfo + "?nieuwsbrief=false&email2=" + email2;
	location.href = url;
}

//------------------------------------------------------------------------------
function generateMedereizigers() {

	var aantalList = document.getElementById("ddAantalPersonen");
	var aantal = aantalList.value;
	var medeInvoer = "";
  var div2write2 = document.getElementById("divMedereizigers");

	if (parseInt(aantal) > 0) {
		medeInvoer = "<table cellpadding='2' cellspacing='0'><tr><th colspan='2'>achternaam</th><th>voornaam</th><th>geslacht</th><th>geb.dat.</th></tr>";
		for (var i = 1; i <= aantal; i++) {
			medeInvoer += ("<tr><td align='right'>" + i + ":</td><td><input type='text' name='anaam" + i + "' size='16' maxlength='50'/>&nbsp;</td><td><input type='text' name='vnaam" + i + "' size='10' maxlength='25'/></td><td><input type='radio' name='geslacht" + i + "' value='1' checked='checked'/>m<input type='radio' name='geslacht" + i + "' value='0'/>v&nbsp;</td><td><input type='text' name='gebdat" + i + "' size='8' maxlength='10'/></td></tr>");
		}
		medeInvoer += "</table>";

		div2write2.innerHTML = medeInvoer;
    if (parseInt(aantal) == 1) {
  		alert("Vul a.u.b. onderstaande gegevens in voor uw medereiziger!\n - Achternaam\n - Voorna(a)m(en)\n - Geslacht\n - Geboortedatum");
    } else {
  		alert("Vul a.u.b. onderstaande gegevens in voor de " + aantal + " medereizigers!\n - Achternaam\n - Voorna(a)m(en)\n - Geslacht\n - Geboortedatum");
    }

	} else {
		div2write2.innerHTML = "";  
  }
	
}

//------------------------------------------------------------------------------
// Presentatie Brochure
//------------------------------------------------------------------------------

// Formulier validatie

var bgBad      = "#CBBE89";
var bgBadText  = "#000000";
var bgGood     = "#B7C6E5";
var bgGoodText = "#000000";

//------------------------------------------------------------------------------

function setColor(el, bg)
{
  // Text color bepalen
  if (bg == bgBad) {
    var txt = bgBadText
  }
  else {
    var txt = bgGoodText
  }
	
  if (el.style) el.style.backgroundColor = bg;
  if (el.style) el.style.color = txt;
}

//------------------------------------------------------------------------------

function checkFormInschrijving2008()
{
  var f = document.forms[0];
  var msg = "";

  if (f.reisbureau.value == "")
  {
    setColor(f.reisbureau, bgBad);
    msg += "U vergat uw reisbureau in te vullen!\n";
  }
  else setColor(f.reisbureau, bgGood);

  if (f.anvrnr.value == "")
  {
    setColor(f.anvrnr, bgBad);
    msg += "Vergeet niet uw ANVR nummer in te vullen!\n";
  }
  else setColor(f.anvrnr, bgGood);

  if (f.adres.value == "")
  {
    setColor(f.adres, bgBad);
    msg += "U vergat uw adres in te vullen!\n";
  }
  else setColor(f.adres, bgGood);

  if (f.woonplaats.value == "")
  {
    setColor(f.woonplaats, bgBad);
    msg += "U vergat de woonplaats in te vullen!\n";
  }
  else setColor(f.woonplaats, bgGood);

  if (f.voornaam.value == "")
  {
    setColor(f.voornaam, bgBad);
    msg += "U vergat uw voornaam in te vullen!\n";
  }
  else setColor(f.voornaam, bgGood);
  
  if (f.achternaam.value == "")
  {
    setColor(f.achternaam, bgBad);
    msg += "U vergat uw achternaam in te vullen!\n";
  }
  else setColor(f.achternaam, bgGood);

  if (f.telefoonnummer.value == "")
  {
    setColor(f.telefoonnummer, bgBad);
    msg += "U vergat uw telefoonnummer in te vullen!\n";
  }
  else setColor(f.telefoonnummer, bgGood);

  if (f.aanwezig.value == "")
  {
    setColor(f.aanwezig, bgBad);
    msg += "U vergat aan te geven welke dag u wilt komen!\n";
  }
  else setColor(f.aanwezig, bgGood);
  
	if (msg == "")
	{
		return true
	}
	else
	{
		error = "Uw inschrijving is om volgende redenen niet verstuurt:\n\n";
		error += msg;
		alert(error);
		return false
	}

  return true
}

//------------------------------------------------------------------------------

function handleZoekformKeyPress(e, form, urlToGo) {

  var key = (e.keyCode || e.which);
  // alert("handleZoekformKeyPress! Key: " + key);
  if (key == 13) { // [enter] gedrukt, moet er ECHT gezocht worden?

    var naamField = document.getElementById("zoekw");

    doZoekActie(urlToGo);   
  }
}

//------------------------------------------------------------------------------
