var editor = null;
var x      = 0;
var oude_tab = 'tab_omschrijving';
var oude_obj = '';


function hasOptions(obj) {if (obj!=null && obj.options!=null) { return true; }	return false;}
function swapOptions(obj,i,j) {	var o = obj.options;	var i_selected = o[i].selected;	var j_selected = o[j].selected;	var temp = new Option(o[i].text, o[i].value, o[i].defaultSelected, o[i].selected);var temp2= new Option(o[j].text, o[j].value, o[j].defaultSelected, o[j].selected);	o[i] = temp2;o[j] = temp;o[i].selected = j_selected;o[j].selected = i_selected;}
function moveOptionUp(obj) {if (!hasOptions(obj)) { return; }	for (i=0; i<obj.options.length; i++) {if (obj.options[i].selected) {if (i != 0 && !obj.options[i-1].selected) { swapOptions(obj,i,i-1);	obj.options[i-1].selected = true;}}} volgordeclasses ();}
function moveOptionDown(obj) {if (!hasOptions(obj)) { return; }	for (i=obj.options.length-1; i>=0; i--) {if (obj.options[i].selected) {if (i != (obj.options.length-1) && ! obj.options[i+1].selected) { swapOptions(obj,i,i+1);	obj.options[i+1].selected = true; }}} volgordeclasses ();}
function submitForm(url, veld) { var	list = document.getElementById(veld); 	var velden = '';	for (i = 0; i <= list.options.length - 1; i++) { 	velden = velden + '_SPLIT_' + list.options[i].value;}	window.location.href = url + velden; }
function volgordeclasses () {
	list		= document.getElementById('volgorde');
	var	kleur	= 'nee';

	for (i = 0; i <= list.options.length - 1; i++) {
		if (kleur == 'ja') {
			list.options[i].className = 'een';
			kleur = 'nee';
		} else {
			list.options[i].className = 'twee';
			kleur = 'ja';
		}

		if (typeof(volgordetitel) == "object") {
			for (a=0;a < volgordetitel.length;a++) {
				if (volgordetitel[a] == list.options[i].value) {
						list.options[i].style.color = 'red';
				}
			}
		}
	}
}

function doorsturen (id) {
  popUp(webadres + 'doorsturen/' + id, 400, 300);
}

function advertentie_email (id) {
  popUp(webadres + 'emailen/' + id, 500, 400);
}

function advertentie_printen (id) {
  popUp(webadres + 'printen/' + id, 500, 400);
}


function popUp(URL, breed, hoog) {
//	day = new Date();
//	id = day.getTime();
	scherm = window.open(URL, 'popup', 'toolbar=0,scrollbars=1,location=0,statusbar=1,menubar=0,resizable=0,width=800,height=600,left=150,top=150');
  if (window.focus) {scherm.focus()}
}

function popUpcontent(name, inhoud, breed, hoog) {
  var generator=window.open(name,'popup','height=' + hoog + ',width=' + breed + 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,left=150,top=150');
  generator.document.write('<html><head><title>' + name + '</title><link rel="stylesheet" href="/css/site_popup.css" type="text/css"/></head><body>');
  generator.document.write(inhoud);
  generator.document.write('</body></html>');
  generator.document.close();
}

function htmlarealaden () {
	if (typeof (velden) == "object") {
		for (x=0; x < velden.length; x++) {
			editor = new HTMLArea(velden[x]);
			editor.config.pageStyle = "@import url(/css/templates/htmlarealayout.css);";


	   //editor.config.btnList["verwijzing"] = [  "Verwijzing naar database maken", webadres + "jsf/htmlarea/images/ed_database.gif", 0, function() { database_verwijzing ();}, false ];
     //editor.config.btnList["vraaginvoegen"] = [  "Vraag positie invoegen", webadres + "jsf/htmlarea/images/ed_vraag.gif", 0, function() { vraag_invoegen ();}, false ];
	   //editor.config.toolbar.push(["verwijzing", "vraaginvoegen"]);

		 editor.generate();
		}
	}
}

function putfocus (formInst, elementInst) {
	if (document.forms.length > 0) {
		document.forms[formInst].elements[elementInst].focus();
		document.forms[formInst].elements[elementInst].select();
	}
}

function parsepagina () {
	htmlarealaden ();

  oude_obj = document.getElementById('omschrijving_a');
}

window.onload = parsepagina;

function in_array(my_array,my_value){
	caseSensitive = in_array.arguments.length<3?0:in_array.arguments[2];

	for(i=0;i<my_array.length;i++){
		if((caseSensitive==0?my_array[i]:my_array[i].toUpperCase())==(caseSensitive==0?my_value:my_value.toUpperCase())){
			return true;
		}
	}

	return false;
}

function radiovalideren(veld) {

  var box = document.getElementById(veld + '_veldaantal');
  var radio_choice = false;

  for (counter = 1; counter <= box.value; counter++) {
    waarde = document.getElementById(veld + counter);

    if (waarde.checked) {
      radio_choice = true;
    }
  }

  if (!radio_choice) {
    return (false);
  }

  return (true);
}

function upload_images_aanbod(){
	alert(document.getElementById('foto').value);
}
function IsNumeric(strString)
   //  check for valid numeric strings
   {
   var strValidChars = "0123456789";
   var strChar;
   var blnResult = true;

   if (strString.length == 0) return false;

   //  test strString consists of valid characters listed above
   for (i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
         {
         blnResult = false;
         }
      }
   return blnResult;
   }



function valideren (velden) {
	gen_error="";
	var veld_arr = new Array();
  if((!document.getElementById('woning_vraagprijsa') || document.getElementById('woning_vraagprijsa').value == "") && (!document.getElementById('woning_vraagprijs_extra') || document.getElementById('woning_vraagprijs_extra').value == "0")){
	  velden.push('woning_vraagprijsa');
  }


  if (velden.length) {
    fouten = 0;

    for (x = 0;x < velden.length;x++) {



      if (document.getElementById(velden[x])) {
        box = document.getElementById(velden[x]);

        box.className = 'normaal';


        if (document.getElementById(velden[x] + '_veldtype')) {
          box2 = document.getElementById(velden[x] + '_veldtype');

					if (box2.value == 'driestuks') {
	    			 	boxa1 = document.getElementById(velden[x] + 'a');
	    				boxa2 = document.getElementById(velden[x] + 'b');
	    				boxa3 = document.getElementById(velden[x] + 'c');
	    				if (!boxa1.value || !boxa2.value || !boxa3.value) {
	    				  box.className = 'fout';

	    				  if (velden[x] =="boten_afmetingen"){
	    				  	gen_error += "Niet alle afmetingen zijn opgegeven!\n";
	    				  } else {
	    				  	gen_error += velden[x]+" is niet opgegeven!\n";
	    				  }


	    				  fouten = 1;

	    				}

					} else {

					            if (!radiovalideren(velden[x])) {

			 						if (velden[x]=="woning_bouwsoort"){
				            			gen_error += "Bouwsoort is niet opgegeven!\n";
				            			fouten = 1;
			 						} else if 	(velden[x]=="woning_status"){
			 							gen_error += "Status is niet opgegeven!\n";
			 							fouten = 1;
			 						} else if 	(velden[x]=="boten_status"){
			 							gen_error += "Status is niet opgegeven!\n";
			 							fouten = 1;
			 						}else if	(velden[x]=="permaand_perjaar"){
						          		// Check of we met huurprijs of koopprijs te maken hebben
										if (checkStatus('te huur')) {
											// In het geval van huurprijs geven we aan dat permaand/perjaar moet worden aangegeven.
											gen_error += "Bij een huurprijs dient op te geven of deze per maand of per jaar is!\n";
										}
			 						} else {
			 							gen_error += velden[x]+" is niet opgegeven!\n";
			 							fouten = 1;
			 						}

			 						if (fouten)
			            				box.className = 'fout';

					  			}
					}
        } else {

           if (velden[x] =="object_postcodea" && (box.value=="" || !IsNumeric(box.value) || box.value.length!=4))	{
        		gen_error += "De eerste box van de postcode mag alleen uit 4 cijfers bestaan!\n";
	       }
	       if (velden[x] =="object_postcodeb" && (box.value=="" || IsNumeric(box.value) || box.value.length!=2 ))	{
		        gen_error += "De tweede box van de postcode mag alleen uit 2 letters bestaan!\n";
	       }
	       if (velden[x] =="woning_vraagprijsa" && (box.value=="" || !IsNumeric(box.value)))	{
		        gen_error += "Vraagprijs mag alleen uit cijfers bestaan!\n";
	       }
	       if (velden[x] =="woning_vraagprijsa" && (box.value==0 || box.value=="0"))	{
		        gen_error += "Vraagprijs moet groter zijn dan 0!\n";
	       }
	       if (velden[x] =="woning_bouwjaar" && (box.value=="" || !IsNumeric(box.value)))	{
		        gen_error += "Bouwjaar mag alleen uit cijfers bestaan!\n";
	       }
	       if (velden[x] =="woning_woonoppervlakte" && (box.value=="" || !IsNumeric(box.value)))	{
		        gen_error += "Oppervlakte mag alleen uit cijfers bestaan!\n";
	       }
	       if (velden[x] =="contact_telefoon" && (box.value=="" || !IsNumeric(box.value) ||   box.value.length<10))	{
		        gen_error += "Telefoon moet  uit minstens 10 cijfers bestaan!\n";
	       }


          if ((!box.value || box.value == 0)  && !box.selectedIndex && box.selectedIndex != 'undefined' && velden[x]!="woning_isolatie" && velden[x]!="recreatie_overig") {

          	veldomschrijving = "";

          	if (velden[x]=="contact_bedrijfsnaam"){
          		veldomschrijving = "Bedrijfsnaam";
          	}else if(velden[x]=="contact_contactpersoon"){
          		veldomschrijving = "Contactpersoon";
          	}else if(velden[x]=="contact_email"){
          		veldomschrijving = "E-mail adres";
           	}else if(velden[x]=="contact_telefoon"){
          		//veldomschrijving = "Telefoon";
           	}else if(velden[x]=="object_plaats"){
          		veldomschrijving = "Plaats";
			}else if(velden[x]=="object_adres"){
          		veldomschrijving = "Adres";
			}else if(velden[x]=="object_postcodea"){
          	//	veldomschrijving =  "Postcode";
			}else if(velden[x]=="object_postcodeb"){
          	//	veldomschrijving = "Postcode";
			}else if(velden[x]=="rubriek"){
          		veldomschrijving = "Rubriek Categorie";
			}else if(velden[x]=="object_provincie"){
          		veldomschrijving = "Provincie";
			}else if(velden[x]=="woning_status"){
          		veldomschrijving = "Status";
			}else if(velden[x]=="object_omschrijving"){
          		veldomschrijving = "Omschrijving";
			}else if(velden[x]=="woning_bouwjaar"){
          		//veldomschrijving = "Bouwjaar";
			}else if(velden[x]=="woning_aantalkamers"){
          		veldomschrijving = "Aantal kamers";
			}else if(velden[x]=="woning_woonoppervlakte"){
          	//	veldomschrijving = "Oppervlakte";
			}else if(velden[x]=="woning_ligging"){
          		veldomschrijving = "Ligging";
			}else if(velden[x]=="woning_beschikbaarheid"){
          		veldomschrijving = "Beschikbaarheid";
			}else if(velden[x]=="voorwaarden"){
          		veldomschrijving = "Akkoord Algemene Voorwaarden";
			}else if(velden[x]=="woning_vraagprijsa"){
          	//	veldomschrijving = "Vraagprijs";
			}else if(velden[x]=="interieur_stijl"){
          		veldomschrijving = "Stijl";
			}else if(velden[x]=="interieur_kleur"){
          		veldomschrijving = "Kleur";
			}else if(velden[x]=="interieur_materiaal"){
          		veldomschrijving = "Materiaal";
			}else if(velden[x]=="interieurtitel"){
          		veldomschrijving = "Titel";
			}else if(velden[x]=="garage_capaciteit"){
          		veldomschrijving = "Capaciteit";
			}else if(velden[x]=="recreatie_bouwmateriaal"){
          		veldomschrijving = "Bouwmateriaal";
			}else if(velden[x]=="woning_indeling"){
          		veldomschrijving = "Indeling";
 			}else if(velden[x]=="woning_onderhoud_binnen"){
          		veldomschrijving = "Onderhoud binnen";
 			}else if(velden[x]=="woning_onderhoud_buiten"){
          		veldomschrijving = "Onderhoud buiten";
 			}else if(velden[x]=="woning_verwarming"){
          		veldomschrijving = "Verwarming";
        	}else if(velden[x]=="woning_isolatie"){
          		veldomschrijving = "Isolatie";
          		//alert(document.getElementsByName(velden[x]).length);
        	}else if(velden[x]=="woning_dakconstructie"){
          		veldomschrijving = "Dakconstructie";
        	}else if(velden[x]=="recreatie_overig"){
          		veldomschrijving = "Recreatie";
        	}else if(velden[x]=="bedrijfspand_titel"){
          		veldomschrijving = "Titel";
        	}else if(velden[x]=="bedrijfspand_titel"){
          		veldomschrijving = "Titel";
        	}else if(velden[x]=="recreatie_ligging"){
          		veldomschrijving = "Ligging";
        	}else if(velden[x]=="bouwkavel_nummer"){
          		veldomschrijving = "Kavelnummer ";
        	}else if(velden[x]=="bouwkavel_grootte"){
          		veldomschrijving = "Kavelgrootte  ";
        	}else if(velden[x]=="bouwkavel_grondoppervlak"){
          		veldomschrijving = "Grond oppervlak";
        	}else if(velden[x]=="bouwkavel_wateroppervlak"){
          		veldomschrijving = "Water oppervlak";
        	}else if(velden[x]=="bouwkavel_ligging"){
          		veldomschrijving = "Ligging ";
        	}else if(velden[x]=="object_land"){
          		veldomschrijving = "Land";
        	}else if(velden[x]=="woning_status_buitenland"){
          		veldomschrijving = "Status";
        	}else if(velden[x]=="woonwens_gewenst_oppervlak"){
          		veldomschrijving = "Gewenst Oppervlak";
        	}else if(velden[x]=="garage_oppervlakte"){
          		veldomschrijving = "Oppervlakte";
        	}else if(velden[x]=="bedrijf_ligging"){
          		veldomschrijving = "Ligging";
        	}else if(velden[x]=="boten_merk"){
          		veldomschrijving = "Merk/Model";
        	}else if(velden[x]=="boten_bouwmateriaal"){
          		veldomschrijving = "Bouwmateriaal";
        	}else if(velden[x]=="boten_motor"){
          		veldomschrijving = "Motor(en)";
        	}else if(velden[x]=="boten_pk"){
          		veldomschrijving = "Vermogen (pk)";
			} else {
          		veldomschrijving = velden[x];
          	}


          	if (veldomschrijving && veld_arr[veldomschrijving]!="set"){
          		gen_error+= (veldomschrijving)+" is niet opgegeven!\n";
          	}
          	if (veldomschrijving) veld_arr[veldomschrijving] = "set";

          	box.className = 'fout';
            fouten = 1;
          }
        }
      } else if (document.getElementById(velden[x] + 'a')) {

	        box = document.getElementById(velden[x] + 'a');
        	box.className = 'normaal';
        if (!box.value || (box.value == 0 && document.getElementById('mastercategorie').value != 8) || !IsNumeric(box.value)) {

        	if(velden[x]=="woonwens_minimaal" ){
        		veldomschrijving = "Minimale Prijs mag alleen uit cijfers bestaan";
        	} else if(velden[x]=="woonwens_maximaal"){
          		veldomschrijving = "Maximale Prijs mag alleen uit cijfers bestaan";
        	} else {
        		veldomschrijving = velden[x];
        	}
          	if (veld_arr[veldomschrijving]!="set"){
          		gen_error+= (veldomschrijving)+"\n";
          	}
          	veld_arr[veldomschrijving] = "set";

        	box.className = 'fout';
          fouten = 1;
        }
      }
    }

    if (fouten) {
      alert('Niet alle velden zijn correct ingevuld.\nDe ontbrekende velden zijn met een rode rand aangegeven.\nHieronder een lijst van de ontbrekende velden.\n\n'+gen_error);

      return false;
    } else {
		if (document.getElementById('voorwaarden').checked == true) {
			document.getElementById('bevestigen').value=1;
			return confirm('Weet u zeker dat u deze advertentie wilt plaatsen?');
		} else {
			alert('U dient akkoord te gaan met de Algemene Voorwaarden voordat u een advertentie kunt plaatsen.');
			return false;
		}
    }
  }
}

function voorwaarden_akkoord () {
  if (document.getElementById('voorwaarden').checked == true) {
    return confirm('Weet u zeker dat u deze advertentie wilt plaatsen?');
  } else {
    alert('U dient akkoord te gaan met de Algemene Voorwaarden voordat u een advertentie kunt plaatsen.');
    return false;
  }
}

function plaats (waarde) {
  return URLEncode(waarde);
}

function land (waarde) {
  return URLEncode(waarde);
}


function URLEncode (clearString) {
  var output = '';
  var x = 0;
  clearString = clearString.toString();
  var regex = /(^[a-zA-Z0-9_.]*)/;
  while (x < clearString.length) {
    var match = regex.exec(clearString.substr(x));
    if (match != null && match.length > 1 && match[1] != '') {
    	output += match[1];
      x += match[1].length;
    } else {
      if (clearString[x] == ' ')
        output += '+';
      else {
        var charCode = clearString.charCodeAt(x);
        var hexVal = charCode.toString(16);
        output += '%' + hexVal.toUpperCase();
      }
      x++;
    }
  }
  return output;
}


function valideer_doorsturen () {
  box1 = document.getElementById('naam1');
  box2 = document.getElementById('naam2');
  box3 = document.getElementById('email');

  if (!box1.value || !box2.value || !box3.value) {
    alert('Niet alle verplichte velden zijn ingevuld.');
    return false;
  } else {
    return true;
  }
}

function actief_tabblad (obj, tab) {
  if (tab != oude_tab) {
    box = document.getElementById(tab);

    box.style.display = 'block';
    obj.className = 'actief';

    if (oude_tab) {
      box = document.getElementById(oude_tab);
      box.style.display = 'none';

      if (oude_obj) {
        oude_obj.className = 'normaal';
      }
    }

    oude_tab = tab;
    oude_obj = obj;
  }
}

function verander_foto (foto) {

  box = document.getElementById('fotodiv');
  box.innerHTML = '<img src="' + webadres + 'php/verwerk/bestanden.php?code=' + foto + '" width="400">';
}

function verander_foto_domeo (foto, map) {
	box = document.getElementById('fotodiv');
	box.innerHTML = '<img src="' + webadres + 'img/domeo/' + map + '/' + foto + '" width="400">';
}


function swfHeader () {
  document.write('<object type="application/x-shockwave-flash" data="' + webadres + 'swf/header.swf" width="100%" height="95"><param name="bgcolor" value="#CCFF00"><param name="movie" value="' + webadres + 'swf/header.swf"><embed src="_URL_swf/header.swf" quality="high" bgcolor="#CCFF00" width="100%" height="95" name="headerSWF" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>');
}

function wachtwoordverandering () {
  box1 = document.getElementById('email');
  box2 = document.getElementById('wachtwoord1');
  box3 = document.getElementById('wachtwoord2');

  if (!box1.value) {
    alert('Vul eerst een e-mail adres in');
  } else if (box2.value != box3.value) {
    alert('De ingevulde wachtwoorden zijn niet gelijk');
  } else if (box2.value.length == 0) {
    alert('Vul eerst een nieuw wachtwoord in');
  } else {
    return true;
  }

  return false;
}

function veranderStatus(soort) {
	// Koop
	if (soort.toLowerCase() == 'te koop' || soort.toLowerCase() == 'beleggingsobject') {
	  document.getElementById('woning_vraagprijs_titel').innerHTML = 'Koopprijs <span class="verplicht">*</span>';

	  document.getElementById('woning_kooptype1').parentNode.style.display = 'block';
	  document.getElementById('woning_kooptype2').parentNode.style.display = 'block';
	  document.getElementById('woning_kooptype3').parentNode.style.display = 'none';
	  document.getElementById('woning_kooptype4').parentNode.style.display = 'none';

	// Huur
	} else {
	  document.getElementById('woning_vraagprijs_titel').innerHTML = 'Huurprijs <span class="verplicht">*</span>';

	  document.getElementById('woning_kooptype1').parentNode.style.display = 'none';
	  document.getElementById('woning_kooptype2').parentNode.style.display = 'none';
	  document.getElementById('woning_kooptype3').parentNode.style.display = 'block';
	  document.getElementById('woning_kooptype4').parentNode.style.display = 'block';
	}
}
function hideStatus() {
	  document.getElementById('woning_kooptype1').parentNode.style.display = 'none';
	  document.getElementById('woning_kooptype2').parentNode.style.display = 'none';
	  document.getElementById('woning_kooptype3').parentNode.style.display = 'none';
	  document.getElementById('woning_kooptype4').parentNode.style.display = 'none';
}
function checkStatus(statusToCheck) {
	arr = document.getElementsByName('woning_status');

	/**
	 * @author: PaulD
	 *
	 * LET OP: Theoretisch gezien klopt deze loop niet :)
	 * Hij start bij index 0 (wat mij logisch lijkt) en eindigt bij arr.length (en dat is dus 1 index te hoog!)
	 *
	 * Dit heb ik expres gedaan, omdat IE en Firefox het allebei anders zagen:
	 * IE: begint bij index 1 en gaat tot en MET arr.length
	 * FF: begint bij index 0 en gaat TOT arr.length (zoals het hoort dus)
	 *
	 * Voor IE heb ik dus if (arr[t]) toegevoegd, zodat als er iets geselecteerd wordt dat niet bestaat, de loop wel
	 * gewoon doordraait.
	 */
	for(t=0; t<=arr.length; t++){
		if (arr[t] && arr[t].checked && arr[t].value.toLowerCase() == statusToCheck.toLowerCase()){
			return true;
		}
	}

	return false;
}

function veranderStatusSoortObject(soort) {
	if(soort == 'Woonhuis') {
		document.getElementById('formulier_rij_woning_soort_list_woonhuis').style.display = 'block';
		document.getElementById('formulier_rij_woning_soort_list_appartement').style.display = 'none';
	} else {
		document.getElementById('formulier_rij_woning_soort_list_appartement').style.display = 'block';
		document.getElementById('formulier_rij_woning_soort_list_woonhuis').style.display = 'none';
	}
}

function aanmeldKeuzePersoonlijkeGegevens(soort) {
	if (soort == "Particulier"){
		document.getElementById("formulier_rij_903").style.display = "none";
		document.getElementById("formulier_rij_901").style.display = "none";
		document.getElementById("formulier_rij_902").style.display = "none";
	} else if (soort == "Beroepsmatig"){
		document.getElementById("formulier_rij_903").style.display = "block";
		document.getElementById("formulier_rij_901").style.display = "block";
		document.getElementById("formulier_rij_902").style.display = "block";
	}
}
