// -----------------------------------------------------------------------------
window.addEvent('domready',function() {

	// start scrollen topselectie
	if (location.href.test('/topselectie/')) {
		scrollTopselectie();

		// zet events voor scrollen topselectie
		$('scrollen').addEvent('mouseover',function()	{stopScrollTopselectie()});
		$('scrollen').addEvent('mouseout',function()	{scrollTopselectie();});
	}

	// maak externe links
	$$('a[rel=external]').each(function(el) {el.target = '_blank';});
});

// ----------------------------------------------------------------------------

var bgBad      = "#e37703";
var bgBadText  = "#FFF";
var bgGood     = "#FFF";
var bgGoodText = "#000";

// ----------------------------------------------------------------------------

function showPopup(strUrl, strTitle, intWidth, intHeight) {
	window.open(strUrl, strTitle, 'width=' + intWidth + ',height=' + intHeight + '');
}

// -----------------------------------------------------------------------------

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;
  el.focus();
}

// ----------------------------------------------------------------------------

function financieelHaalbaar() {
  if ((document.calc.elements.inkomen1.value == "0") || (document.calc.elements.inkomen1.value == "")) {
    alert('U moet minimaal uw 1e inkomen invullen.');
    return false
  } else {
    return true
  }
}

// ----------------------------------------------------------------------------

function financieelHaalbaar2() {
  if (document.afspraak.elements.naam.value == "") {
    alert('U moet uw naam invullen.');
    return false
  } else if (document.afspraak.elements.telefoon.value == "") {
    alert('U moet uw telefoonnummer invullen.');
    return false
  } else if (document.afspraak.elements.email.value == "") {
    alert('U moet uw e-mailadres invullen.');
    return false
  } else {
    return true
  }
}

// -----------------------------------------------------------------------------

function checkAanmelding()
{
  var f = $('zoekaanmelding');

  if (f.naam.value == "") {
    setColor(f.naam, bgBad);
    alert("U vergat uw naam in te vullen!");
    return false
  }
  else setColor(f.naam, bgGood);

  if ((f.email.value == "") || (isEmail(f.email.value) == false)) {
    setColor(f.email, bgBad);
    alert("U vergat een (geldig) e-mailadres in te vullen.");
    return false
  }
  else setColor(f.email, bgGood);

  // wijken - checkbox
  var checkedBox = "";
  for (var i = 0; i < f.wijk.length; i++) {
    if ((f.wijk[i].checked == true) && (f.wijk[i].value.substr(0,6) != 'plaats')) {
      checkedBox = checkedBox + "," + f.wijk[i].value
    }
  }
  if (checkedBox == "") {
    alert("U vergat een (of meerdere) wijk(en) aan te vinken.");
    return false
  }

  // prijsmin - text
  if (f.prijsmin.value == "") {
    setColor(f.prijsmin, bgBad);
    alert("U vergat de minimumprijs in te vullen.");
    return false
  }
  else setColor(f.prijsmin, bgGood);

  // prijsmax - text
  if (f.prijsmax.value == "") {
    setColor(f.prijsmax, bgBad);
    alert("U vergat de maximumprijs in te vullen.");
    return false
  }
  else setColor(f.prijsmax, bgGood);

  // soort - select
  if (f.soort.value == "") {
    alert("U vergat het soort woning te selecteren.");
    return false
  }

  return true
}

// -----------------------------------------------------------------------------

function checkQWIK()
{
  var f = $('qwikaanmelding');

  if (f.voornaam.value == "") {
    setColor(f.voornaam, bgBad);
    alert("U vergat uw voornaam in te vullen!");
    return false
  }
  else setColor(f.voornaam, bgGood);

  if (f.achternaam.value == "") {
    setColor(f.achternaam, bgBad);
    alert("U vergat uw achternaam in te vullen!");
    return false
  }
  else setColor(f.achternaam, bgGood);

  if ((f.email.value == "") || (isEmail(f.email.value) == false)) {
    setColor(f.email, bgBad);
    alert("U vergat een (geldig) e-mailadres in te vullen.");
    return false
  }
  else setColor(f.email, bgGood);

  return true
}

// ----------------------------------------------------------------------------

function checkZoekPrijs()
{
  var reg1 = /^([0-9]){1,10}$/;      // valid
  var reg2 = /([^0-9]){1,}/g;        // invalid

  //if ($("prijsmin")) {
  var field1 = $("prijsmin");
  var str1 = field1.value;
  var str3 = (str1.replace(reg2, ""));
  //}

  //if ($("prijsmax")) {
  var field2 = $("prijsmax"); //document.zoekaanmelding.prijsmax;
  str2 = field2.value;
  var str4 = (str2.replace(reg2, ""));
  //}


  if (reg1.test(str3)) {  // syntax is valid
    check1 = true;
  } else {
    check1 = false;
  }

  if (reg1.test(str4)) {  // syntax is valid
    check2 = true;
  } else {
    check2 = false;
  }

  if ((check1 == false) || (check2 == false)) {
    return false;
  } else {
    if (parseInt(str3) < parseInt(str4)) {
      $("prijsmin").value = str3;
      $("prijsmax").value = str4;
      return true;
    }
    else
    {
      alert("Het ingevulde minimumbedrag (" + str3 + ") is groter dan\nof gelijk aan het ingevulde maximumbedrag (" + str4 + ")!");
      if (str3 > str4) {
        var tmp = str3;
        $("prijsmin").value = str4;
        $("prijsmax").value = tmp;
      }
      $("prijsmax").focus();
      $("prijsmax").select();
      return false;
    }
  }
}

// -----------------------------------------------------------------------------

function checkTellAFriend() {
  var f = $('mailwoning');

  if (f.vannaam.value == "") {
    setColor(f.vannaam, bgBad);
    alert("U vergat uw naam in te vullen!");
    return false
  } else setColor(f.vannaam, bgGood);

  if (f.vanemail.value == "") {
    setColor(f.vanemail, bgBad);
    alert("U vergat uw e-mailadres in te vullen!");
    return false
  } else setColor(f.vanemail, bgGood);

  if (f.aannaam.value == "") {
    setColor(f.aannaam, bgBad);
    alert("U vergat de naam van uw vriend(in) in te vullen!");
    return false
  } else setColor(f.aannaam, bgGood);

  if (f.aanemail.value == "") {
    setColor(f.aanemail, bgBad);
    alert("U vergat het e-mailadres van uw vriend(in) in te vullen!");
    return false
  } else setColor(f.aanemail, bgGood);

}

// -----------------------------------------------------------------------------

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,3}|[0-9]{1,3})(\\]?)$");
  return (!r1.test(str) && r2.test(str));
}

// -----------------------------------------------------------------------------

function checkNumeriek(formitem) {
  var reg1 = /^([0-9]){1,8}$/;       // valid
  var reg2 = /([^0-9]){1,}/g;        // invalid

  var field = formitem; //document.woningadd.vraagprijs;
  var str1 = field.value;
  var str3 = (str1.replace(reg2, ""));

  field.value = str3;
}

// -----------------------------------------------------------------------------

function checkPrijs() {
  var reg1 = /^([0-9]){1,10}$/;       // valid
  var reg2 = /([^0-9]){1,}/g;        // invalid

  var field1 = $("zoekaanmelding").prijsmin;
  var str1 = field1.value;
  var str3 = (str1.replace(reg2, ""));

  var field2 = $("zoekaanmelding").prijsmax;
  str2 = field2.value;

  var str4 = (str2.replace(reg2, ""));

  if (reg1.test(str3)) {  // syntax is valid
    check1 = true;
  } else {
    check1 = false;
  }

  if (reg1.test(str4)) {  // syntax is valid
    check2 = true;
  } else {
    check2 = false;
  }

  if ((check1 == false) || (check2 == false)) {
    return false;
  } else {
    if (parseInt(str3) < parseInt(str4)) {
      $("zoekaanmelding").prijsmin.value = str3;
      $("zoekaanmelding").prijsmax.value = str4;
      return true;
    } else {
      alert("Het ingevulde minimumbedrag (" + str3 + ") is groter dan\nof gelijk aan het ingevulde maximumbedrag (" + str4 + ")!");
      if (str3 > str4) {
        var tmp = str3;
        $("zoekaanmelding").prijsmin.value = str4;
        $("zoekaanmelding").prijsmax.value = tmp;
      }
      $("zoekaanmelding").prijsmax.focus();
      $("zoekaanmelding").prijsmax.select();
      return false;
    }
  }
}

// -----------------------------------------------------------------------------

function checkHuisAanmelding()
{
  var f = $('huisaanmelding');

  if (f.naam.value == "") {
    setColor(f.naam, bgBad);
    alert("U vergat uw naam in te vullen!");
    return false
  }
  else setColor(f.naam, bgGood);

  if (f.achternaam.value == "") {
    setColor(f.achternaam, bgBad);
    alert("U vergat uw achternaam in te vullen!");
    return false
  }
  else setColor(f.achternaam, bgGood);

  if (f.straat_huisnummer.value == "") {
    setColor(f.straat_huisnummer, bgBad);
    alert("U vergat uw straatnaam in te vullen!");
    return false
  }
  else setColor(f.straat_huisnummer, bgGood);

  if (f.postcode.value == "") {
    setColor(f.postcode, bgBad);
    alert("U vergat uw postcode in te vullen!");
    return false
  }
  else setColor(f.postcode, bgGood);

  if (f.woonplaats.value == "") {
    setColor(f.woonplaats, bgBad);
    alert("U vergat uw woonplaats in te vullen!");
    return false
  }
  else setColor(f.woonplaats, bgGood);

  if ((f.email.value == "") || (isEmail(f.email.value) == false)) {
    setColor(f.email, bgBad);
    alert("U vergat een (geldig) e-mailadres in te vullen.");
    return false
  }
  else setColor(f.email, bgGood);

  if (f.telefoonnummer.value == "") {
    setColor(f.telefoonnummer, bgBad);
    alert("U vergat uw telefoonnummer in te vullen!");
    return false
  }
  else setColor(f.telefoonnummer, bgGood);

  if (f.tk_adres.value == "") {
    setColor(f.tk_adres, bgBad);
    alert("U vergat de straatnaam op te geven van het door u aangeboden huis!");
    return false
  }
  else setColor(f.tk_adres, bgGood);

  if (f.tk_postcode.value == "") {
    setColor(f.tk_postcode, bgBad);
    alert("U vergat de postcode op te geven van het door u aangeboden huis!");
    return false
  }
  else setColor(f.tk_postcode, bgGood);

    // plaats = select
    if (f.plaats.value == "") {
    alert("U vergat de plaats te selecteren.");
    return false
  }
	
	// wijk = select
    if (f.wijk.value == "") {
    alert("U vergat de wijk te selecteren.");
    return false
  }

  // soort - select
  if (f.soort.value == "") {
    alert("U vergat het soort woning te selecteren.");
    return false
  }

  if (f.vraagprijs.value == "") {
    setColor(f.vraagprijs, bgBad);
    alert("Geef alstublieft een eerste prijsindicatie aan.");
    return false
  }
  else setColor(f.vraagprijs, bgGood);

  if (f.bouwjaar.value == "") {
    setColor(f.bouwjaar, bgBad);
    alert("U vergat het bouwjaar op te geven van het door u aangeboden huis!");
    return false
  }
  else setColor(f.bouwjaar, bgGood);

   if (f.omschrijving.value == "Geef hier een korte omschrijving van de aangeboden woning.") {
    setColor(f.omschrijving, bgBad);
    alert("U vergat een korte omschrijving op te geven van het door u aangeboden huis!");
    return false
  }
  else setColor(f.omschrijving, bgGood);

  return true
}

// -----------------------------------------------------------------------------

function copyAddress() {

  var f = $('huisaanmelding');

  f.tk_adres.value = f.straat_huisnummer.value;
  f.tk_postcode.value = f.postcode.value;

  return false;
}

// -----------------------------------------------------------------------------

var scrollInterval = null;
var scrollX = 0;

function scrollTopselectie() {
	
	scrollX = scrollX + .4;

	if (scrollX > 1000)	{
		scrollX = 1000;
	}

	window.scrollTo(scrollX, 0);

	if (scrollInterval == null)	{
		scrollInterval = setInterval('scrollTopselectie()', 12)
	}

}

// -----------------------------------------------------------------------------

function stopScrollTopselectie() {
	if (scrollInterval != null) {
		clearInterval(scrollInterval);
		scrollInterval = null;
	}
}

// -----------------------------------------------------------------------------

function setWijk(selPlaatsID,objIdForResult) {

  if ($(selPlaatsID)) {
    var plaats = $(selPlaatsID).value;
    var requrl = "/_private/ajax.asp";
    var myHTMLReq = new Request.HTML({url:requrl, method:'post', update:$(objIdForResult)}).send("state=gw&p=" + plaats);
  }
}

// -----------------------------------------------------------------------------

function checkMakelaarAanmelding() {
  var f = $('aanmeldingMakelaar');

  if (f.naam.value == "") {
    setColor(f.naam, bgBad);
    alert("U vergat uw naam in te vullen!");
    return false
  }
  else setColor(f.naam, bgGood);

  if (f.achternaam.value == "") {
    setColor(f.achternaam, bgBad);
    alert("U vergat uw achternaam in te vullen!");
    return false
  }
  else setColor(f.achternaam, bgGood);

  if (f.straat_huisnummer.value == "") {
    setColor(f.straat_huisnummer, bgBad);
    alert("U vergat uw adres in te vullen!");
    return false
  }
  else setColor(f.straat_huisnummer, bgGood);

  if (f.postcode.value == "") {
    setColor(f.postcode, bgBad);
    alert("U vergat uw postcode in te vullen!");
    return false
  }
  else setColor(f.postcode, bgGood);

  if (f.woonplaats.value == "") {
    setColor(f.woonplaats, bgBad);
    alert("U vergat uw woonplaats in te vullen!");
    return false
  }
  else setColor(f.woonplaats, bgGood);

  if (f.email.value == "") {
    setColor(f.email, bgBad);
    alert("U vergat uw e-mailadres in te vullen!");
    return false
  }
  else setColor(f.email, bgGood);

  if (f.telefoonnummer.value == "") {
    setColor(f.telefoonnummer, bgBad);
    alert("U vergat uw telefoonnummer in te vullen!");
    return false
  }
  else setColor(f.telefoonnummer, bgGood);

  if ( (!f.publ_telefoon.checked) && (!f.publ_email.checked) ) {
    alert("U vergat te kiezen hoe we het best contact met u kunnen opnemen!");
    return false
  }


  return true
}

// -----------------------------------------------------------------------------