/************************************************************
Het resetten van een formulier naar de orginele waardes, indien
geen orginele waardes dan worden de ingevulde velden leeg
************************************************************/
function resetFormulier(strName){
	var blnReset = confirm("formuliergegevens worden gereset!")
	if (blnReset == true){
		document.forms[strName].reset();
	}
}

/************************************************************
Bepalen of er een editor is gebruikt, ja dan de HTML opslaan in een
variabele(<naam_editor>_HTMLContent.
Opdracht op opslaan zetten en URL zetten, waar het formulier naar toe
moet worden gestuurd.
************************************************************/
function opslaanRecord(arrObjEditors,arrEditorNaam,strURL){
	if(arrObjEditors != null){
		for(i=0;i<arrObjEditors.length;i++){
			save(arrObjEditors[i]);
		}
	}
	for(i=0;i<arrEditorNaam.length;i++){
		document.forms["frm_toevoegen"]["editorNaam"+i].value = arrEditorNaam[i];
		//alert(document.forms[0]["editorNaam"+i].value);
	}
	document.forms["frm_toevoegen"].cmdActie.value = "opslaan";
	document.forms["frm_toevoegen"].action = strURL;
	document.forms["frm_toevoegen"].submit();
}

/************************************************************
Bepalen of er een editor is gebruikt, ja dan de HTML opslaan in een
variabele(<naam_editor>_HTMLContent.
Formulier opdracht update zetten en URL waar formulier naar toe moet
worden gestuurd.
************************************************************/
function updateRecord(arrObjEditors,arrEditorNaam,strURL){
	if(arrObjEditors != null){
		for(i=0;i<arrObjEditors.length;i++){
			save(arrObjEditors[i]);
		}
	}
	for(i=0;i<arrEditorNaam.length;i++){
		document.forms["frm_wijzigen"]["editorNaam"+i].value = arrEditorNaam[i];
		//alert(document.forms[0]["editorNaam"+i].value);
	}
	document.forms["frm_wijzigen"].cmdActie.value = "update";
	document.forms["frm_wijzigen"].action = strURL;
	document.forms["frm_wijzigen"].submit();
}

/************************************************************
Indien bevestiging ok, dan formulier opdracht verwijderen zetten
en URL waar formulier naar toe moet worden gestuurd.
************************************************************/
function verwijderenRecords(strURL){
	if (confirm("Weet u zeker dat u dit item wilt verwijderen?") == true){
		document.forms["frm_verwijderen"].cmdActie.value = "verwijderen";
		document.forms["frm_verwijderen"].action = strURL;
		document.forms["frm_verwijderen"].submit();
	}
}

/************************************************************
Openen van een simpele window;
Argumenten: URL, titel window, breedte en hoogte.
Eigenschappen window:
	toolbar=no;
	location=no;
	directories=no;
	status=no;
	menubar=no;
	scrollbars=yes;
	resizable=no;
	copyhistory=no;
************************************************************/
function openWindowSimpel(strURL,strWindowName,intWidth,intHeight){
	window.open(strURL,strWindowName,"toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=" + intWidth + ", height=" + intHeight);
}

/************************************************************
Functie voor het veranderen van de positie van bijvoorbeeld
items in een lijst.
************************************************************/
function positieOmhoog(strFrm,recordID,strVActie,strURL){
	document.forms[strFrm].action = strURL;
	document.forms[strFrm].recordID.value = recordID;
	document.forms[strFrm].cmdActie.value = "positieOmhoog";
	document.forms[strFrm].cmdVActie.value = strVActie;
	document.forms[strFrm].submit();
}

/************************************************************
Functie voor het veranderen van de positie van bijvoorbeeld
items in een lijst.
************************************************************/
function positieOmlaag(strFrm,recordID,strVActie,strURL){
	document.forms[strFrm].action = strURL;
	document.forms[strFrm].recordID.value = recordID;
	document.forms[strFrm].cmdActie.value = "positieOmlaag";
	document.forms[strFrm].cmdVActie.value = strVActie;
	document.forms[strFrm].submit();
}

/************************************************************
Functie voor het invoegen van een afbeelding bij bijvoorbeeld
een nieuwsitem. Functie opent een dialog met de afmetingen 580 bij 640 pixels.
************************************************************/
function weergevenInvoegenAfbeelding(strFrmNaam,strVeldnaam,strURL,strPad,lngMaxSize){
	var strAttr, strBestandsnaam;

	strAttr = "status:no;dialogWidth:580px;dialogHeight:640px; scroll: no; resizable: yes; help:no";
	strURL = strURL + "?GP=" + strPad + "&MaxImageSize=" + lngMaxSize;
	if(document.forms[strFrmNaam][strVeldnaam].value != ""){
		strBestandsnaam = showModalDialog(strURL,strPad + document.forms[0][strVeldnaam].value,strAttr);
	}
	else{
		strBestandsnaam = showModalDialog(strURL,"",strAttr);
	}

	if(strBestandsnaam == undefined){
		if(document.forms[strFrmNaam][strVeldnaam].value == ""){
			document.forms[strFrmNaam][strVeldnaam].value = "";
		}
	}
	else{
		document.forms[strFrmNaam][strVeldnaam].value = strBestandsnaam;

	}
}

/************************************************************
Functie zet waarde van checkbox op True of False. Zodat bij het
opslaan doormiddel van CBool conversie de waarde direct goed
wordt opgeslagen in de database.
************************************************************/
function check(refCheckbox){
	if(refCheckbox.checked == true){
		refCheckbox.value = "True";
	}
	else{
		refCheckbox.value = "False";
	}
}


/************************************************************
Functie bepaald of er wel tekst in zoekveld is ingevuld. Zo ja
dan URL en actie zetten.
************************************************************/
function zoeken(strActie,strURL){
	if(document.forms["frm_zoeken"].zoekTekst.value != ""){
		document.forms["frm_zoeken"].action = strURL;
		document.forms["frm_zoeken"].cmdActie.value = strActie;
		document.forms["frm_zoeken"].submit();
	}
	else{
		return false;
	}
}

/************************************************************
Functie voor sorteren veld in oplopende of aflopende volgorde.
************************************************************/
function doeSorteren(strVeldNaam,strActie,strURL){
	document.forms["sorteren"].action = strURL;
	document.forms["sorteren"].cmdActie.value = strActie;
	document.forms["sorteren"].sorteerveld.value = strVeldNaam;
	if(document.forms["sorteren"].sorteervolgorde.value == "ASC") {
		document.forms["sorteren"].sorteervolgorde.value = "DESC";
	}
	else{
		document.forms["sorteren"].sorteervolgorde.value = "ASC";
	}
	document.forms["sorteren"].submit();
}

/************************************************************
Indien pagina gesorteerd dan deze sorterings volgorde versturen.
Wanneer er een volgende pagina wordt opgevraagd.
************************************************************/
function pNavigatie(intPnr,strURL){
	//document.forms["sorteren"].action = strURL;
	document.forms["sorteren"].pnr.value = intPnr;
	document.forms["sorteren"].submit();
}

/************************************************************

************************************************************/
function checkDate (str_datetime) {
	var monthLength = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
	var isTrue;
	isTrue=false;

	if(str_datetime.value != null)
	{
		if(str_datetime.value !="")
		{
				var re_date = /^(\d+)\-(\d+)\-(\d+)$/;
				if (re_date.exec(str_datetime.value)){
					var mySplitResult = str_datetime.value.split("-");
					if (mySplitResult[0]<32 && mySplitResult[0]>0 && mySplitResult[1]<13 && mySplitResult[1]>0 && mySplitResult[2]<2100 && mySplitResult[2]>1900){
					if (mySplitResult[2]/4 == parseInt(mySplitResult[2]/4))	monthLength[1] = 29;
						if (mySplitResult[0] > monthLength[mySplitResult[1]-1]){
							isTrue=false;
							monthLength[1] = 28;
						}
						else{
						isTrue=true;
						}
					}
					else{
						isTrue=false;
					}
				}
				else{
					isTrue=false;
				}
		}
		else{
		isTrue=true;
		}
	}
	else{
	isTrue=true;
	}
	if (isTrue==false){
		alert("De door u ingevulde datum: "+ str_datetime.value+" is incorrect.\nGraag de datum invullen als dd-mm-jjjj.");
		setTimeout("document.getElementById('"+str_datetime.id+"').focus();",1);
		setTimeout("document.getElementById('"+str_datetime.id+"').select();",1);
	}
}
/*********************************
*********************************/
function showOpmerkingArtikel(strId,intX,intY)
{
	//alert(intX);
	oOpm = document.getElementById(strId);

	if(oOpm!=undefined)
	{
		oOpm.style.visibility = "visible";
		//alert(oOpm.style.left);
		oOpm.style.left = -8+intX;//intX+"px";
		//oOpm.style.top = -30+intY+"px;"//intX+"px";
	}
}

/*********************************
*********************************/
function hideOpmerkingArtikel(strId)
{
	oOpm = document.getElementById(strId);
	if(oOpm!=undefined)
	{
		oOpm.style.visibility = "hidden";
	}
}

/************************************************************

************************************************************/
function isNumberKey(evt)
{
   var charCode = (evt.which) ? evt.which : event.keyCode
   if (charCode != 44 && (charCode < 48 || charCode > 57))
      return false;

   return true;
}

/************************************************************
tabs
************************************************************/
var elSelected = null;
var naam;
function showHideLayer(elMenu,arrLyrShow,arrLyrHide){
	if(elSelected!=null)
	{
		elSelected.style.backgroundColor = "#ffffff";
		elMenu.style.backgroundColor = "#ccc";
		elSelected = elMenu;
	}
	else
	{
		elMenu.style.backgroundColor = "#ccc";
		elSelected = elMenu;
	}


	for(i=0;i<arrLyrHide.length;i++){
		document.getElementById(arrLyrHide[i]).style.display = "none";
	}

	for(i=0;i<arrLyrShow.length;i++){
		document.getElementById(arrLyrShow[i]).style.display = "block";
	}
}

/************************************************************

************************************************************/
 function allesSelecteren(strFrm,strSelectBox)
{
	var element = document.getElementsByTagName('select');
	for (i=0; i<element.length; i++) {
		//alert(element[i].name);
		//alert(element[i].name.charAt(0));
		if (element[i].name.charAt(0)=="t"){
			for(j=0;j<element[i].options.length;j++)
			{
			 element[i].options[j].selected = true;
			}
		//  return true;
		}
	}
}
/************************************************************

************************************************************/
function toevoegenSelectie(strFrm,strVan,strNaar)
{
	var oSelectNaar = document.forms[strFrm][strNaar];
	var oSelectVan = document.forms[strFrm][strVan];
	var arrElVan = new Array(oSelectVan.length);
	var arrCount = 0;
	selection = "";
	j = oSelectNaar.options.length;
	for(i=0;i<oSelectVan.options.length;i++)
	{
		if(oSelectVan.options[i].selected)
		{
			oSelectNaar.options[j] = new Option(oSelectVan.options[i].text,oSelectVan.options[i].value);
			oSelectVan.options[i] = null;
			j++;
			i=-1;
		}

	}
}

/************************************************************

************************************************************/
function verwijderenSelectie(strFrm,strVan,strNaar)
{
	var oSelectNaar = document.forms[strFrm][strNaar];
	var oSelectVan = document.forms[strFrm][strVan];

	selection = "";
	j = oSelectNaar.options.length;
	for(i=0;i<oSelectVan.options.length;i++)
	{
		if(oSelectVan.options[i].selected)
		{
			oSelectNaar.options[j] = new Option(oSelectVan.options[i].text,oSelectVan.options[i].value);
			oSelectVan.options[i] = null;
			j++;
			i=-1;
		}
	}
}

/************************************************************

************************************************************/
function voeruit(strFrm,strActie,arrStrID,arrStrWaarde){
	document.forms[strFrm].cmdActie.value = strActie;
	for(i=0;i<arrStrID.length;i++){
		if(arrStrID[i]!="" && arrStrWaarde[i]!="")
		{
			document.forms[strFrm][arrStrID[i]].value = arrStrWaarde[i];
		}
	}
	document.forms[strFrm].submit();
}

/************************************************************

************************************************************/
function openWindowSimpelMakeThumb(strURL,dll,intWidth,intHeight,source,destination,width,height){

//alert(document.getElementById("img_afbeelding").value);
if (document.getElementById("img_afbeelding_groot").value !="") {
strURL+="?dll="+dll+"&sourcemap="+source+"&destinationmap="+destination+"&image="+document.getElementById("img_afbeelding_groot").value+"&width="+width+"&height="+height;
//strWindowName=dll&
	window.open(strURL,"thumb","toolbar=yes, location=yes, directories=no, status=no, menubar=yes, scrollbars=yes, resizable=no, copyhistory=no, width=" + intWidth + ", height=" + intHeight);
	}
else{
alert("Er is geen afbeelding geselecteerd.");
}
}

/************************************************************

************************************************************/
function voerformuit(strFrm){
	document.forms[strFrm].submit();
}
/************************************************************

************************************************************/
function isDatum(evt)
{
   var charCode = (evt.which) ? evt.which : evt.keyCode;
   //alert(charCode);
   if (charCode != 45 && charCode != 8 && charCode != 46 && charCode != 37 && charCode != 39 && (charCode < 48 || charCode > 57))
      return false;

   return true;
}

/************************************************************

************************************************************/
 function allesSelecteren(strFrm,strSelectBox)
{
	var element = document.getElementsByTagName('select');
	for (i=0; i<element.length; i++) {
		//alert(element[i].name);
		//alert(element[i].name.charAt(0));
		//alert(element[i].name.substring(0,7));
		if (element[i].name.substring(0,7)=="toegang"){
			for(j=0;j<element[i].options.length;j++)
			{
			 element[i].options[j].selected = true;
			}
		//  return true;
		}
	}
}
/************************************************************

************************************************************/
function toevoegenSelectie(strFrm,strVan,strNaar)
{
	var oSelectNaar = document.forms[strFrm][strNaar];
	var oSelectVan = document.forms[strFrm][strVan];
	var arrElVan = new Array(oSelectVan.length);
	var arrCount = 0;
	selection = "";
	j = oSelectNaar.options.length;
	for(i=0;i<oSelectVan.options.length;i++)
	{
		if(oSelectVan.options[i].selected)
		{
			oSelectNaar.options[j] = new Option(oSelectVan.options[i].text,oSelectVan.options[i].value);
			oSelectVan.options[i] = null;
			j++;
			i=-1;
		}

	}
}

/************************************************************

************************************************************/
function verwijderenSelectie(strFrm,strVan,strNaar)
{
	var oSelectNaar = document.forms[strFrm][strNaar];
	var oSelectVan = document.forms[strFrm][strVan];

	selection = "";
	j = oSelectNaar.options.length;
	for(i=0;i<oSelectVan.options.length;i++)
	{
		if(oSelectVan.options[i].selected)
		{
			oSelectNaar.options[j] = new Option(oSelectVan.options[i].text,oSelectVan.options[i].value);
			oSelectVan.options[i] = null;
			j++;
			i=-1;
		}
	}
}

/************************************************************
************************************************************/
function goForm(strFrm){
	document.forms[strFrm].submit();
}

/************************************************************
************************************************************/
function goLink(strLink){
	window.location=strLink;
}

/************************************************************
************************************************************/
function setFormVerwijder(strFrm,vacature_id){
	document.forms[strFrm].vacature_id.value=vacature_id;
}
/************************************************************
************************************************************/
function goFormVerleng(strFrm,vacature_id){
	document.forms[strFrm].vacature_id.value=vacature_id;
	document.forms[strFrm].submit();
}
/************************************************************
************************************************************/
function goFormZoek(strFrm,functiegroep_id,functie_id,werk,leerwerkplek,longitude,latitude,postcode){
	document.forms[strFrm].functiegroep_id.value=functiegroep_id;
	document.forms[strFrm].functie_id.value=functie_id;
	document.forms[strFrm].werk.value=werk;
	document.forms[strFrm].leerwerkplek.value=leerwerkplek;
	document.forms[strFrm].longitude.value=longitude;
	document.forms[strFrm].latitude.value=latitude;
	document.forms[strFrm].postcode.value=postcode;
	document.forms[strFrm].submit();
}

/************************************************************

************************************************************/
function googleGeo(strForm, addressField,townField,latField, lngField){
	var address= document.forms[strForm][addressField].value;
	address+=','+document.forms[strForm][townField].value;
	//alert(address);
	if(document.forms[strForm][addressField].value==""){
		document.forms[strForm].submit();
		}
	geocoder = new GClientGeocoder();
	geocoder.getLatLng(address,
		function(point) {
			if (!point) {
				alert("De postcode '"+address + "' is niet gevonden, voer een andere in.\nIndien u wel een correcte postcode hebt ingevuld, is er waarschijnlijk een probleem met het ophalen van de coördinaten. \nProbeer het dan over enkele ogenblikken opnieuw.");
      } else {
      	document.forms[strForm][latField].value=point.lat() ;
      	document.forms[strForm][lngField].value=point.lng();
		document.forms[strForm].submit();
      }
		});
}

/************************************************************

************************************************************/
function googleGeo2(strForm, addressField,townField,latField, lngField){
	var address= document.forms[strForm][addressField].value;
	address+=','+document.forms[strForm][townField].value;
	geocoder = new GClientGeocoder();
	geocoder.getLatLng(address,
		function(point) {
			if (!point) {
				alert("De postcode '"+address + "' is niet gevonden, voer een andere in.\nIndien u wel een correcte postcode hebt ingevuld, is er waarschijnlijk een probleem met het ophalen van de coördinaten. \nProbeer het dan over enkele ogenblikken opnieuw.");
      } else {
      	document.forms[strForm][latField].value=point.lat();
      	document.forms[strForm][lngField].value=point.lng();
		document.forms[strForm].submit();
      }
		});
}


/*********************************
*********************************/
function geefWeer(refThis,hetElement)
{
	if(refThis.checked == true)
	{
	elementA = document.getElementById(hetElement);
	elementA.style.display = "block";
	var element = elementA.getElementsByTagName('input');
	for (i=0; i<element.length; i++) {
		//alert(element[i].name);
		//alert(element[i].name.charAt(0));
	 	element[i].disabled = "";
	}
	document.getElementById('aantalfunctiegroepen').value++;
	//alert(document.getElementById('aantalfunctiegroepen').value);
	if(document.getElementById('aantalfunctiegroepen').value==4){
		elementA = document.getElementById('functiegroepen');
		var element = elementA.getElementsByTagName('input');
		for (i=0; i<element.length; i++) {
			if(element[i].checked == false){
				//alert(element[i].name);
				element[i].disabled = "disabled";
			}
			//alert(element[i].name.charAt(0));
			//element[i].disabled = "disabled";
		}
	}

	}
	else{
	elementA = document.getElementById(hetElement);
	elementA.style.display = "none";
	var element = elementA.getElementsByTagName('input');
	for (i=0; i<element.length; i++) {
		//alert(element[i].name);
		//alert(element[i].name.charAt(0));
		element[i].disabled = "disabled";
	}
	document.getElementById('aantalfunctiegroepen').value--;
	//alert(document.getElementById('aantalfunctiegroepen').value);
	if(document.getElementById('aantalfunctiegroepen').value<4){
		elementA = document.getElementById('functiegroepen');
		var element = elementA.getElementsByTagName('input');
		for (i=0; i<element.length; i++) {
			//if(element[i].checked == false){
				//alert(element[i].name);
				element[i].disabled = "";
			//}
			//alert(element[i].name.charAt(0));
			//element[i].disabled = "disabled";
		}
	}
	}
	//alert('nu');

}

/*********************************
*********************************/
function geefFunctieWeer(refThis,intTeller)
{
	if(refThis.checked == true)
	{
	document.getElementById('aantalfunctie'+intTeller).value++;
	//alert(document.getElementById('aantalfunctie'+intTeller).value);
	if(document.getElementById('aantalfunctie'+intTeller).value==4){
		elementA = document.getElementById('functies'+intTeller);
		var element = elementA.getElementsByTagName('input');
		for (i=0; i<element.length; i++) {
			if(element[i].checked == false){
				//alert(element[i].name);
				element[i].disabled = "disabled";
			}
			//alert(element[i].name.charAt(0));
			//element[i].disabled = "disabled";
		}
	}

	}
	else{
	document.getElementById('aantalfunctie'+intTeller).value--;
	//alert(document.getElementById('aantalfunctiegroepen').value);
	if(document.getElementById('aantalfunctie'+intTeller).value<4){
		elementA = document.getElementById('functies'+intTeller);
		var element = elementA.getElementsByTagName('input');
		for (i=0; i<element.length; i++) {
			//if(element[i].checked == false){
				//alert(element[i].name);
				element[i].disabled = "";
			//}
			//alert(element[i].name.charAt(0));
			//element[i].disabled = "disabled";
		}
	}
	}
	//alert('nu');

}

/************************************************************
************************************************************/
function checkLeerwerkplek(form,leerwerkplek,werk,strPostcode){
	if(document.getElementById(leerwerkplek).checked==false && document.getElementById(werk).checked==false){
		alert('Vink "Vast/tijdelijk werk" en/of "Leerwerkplek" aan.');
		return false;
	}
	else if(!(postcode(strPostcode)==true || postcodeCijfers(strPostcode)==true) && document.getElementById(strPostcode).value!=""){
		alert('U hebt een onjuiste postcode ingevoerd!\nGebruik de notatie `1234AB`.\nOf tenminste de 4 cijfers.');
		return false;
	}

	else if(document.getElementById(strPostcode).value==""){
		document.forms[form].submit();
	}
	else{
	googleGeo('submit_form','postcode', 'land','latitude','longitude');
	}
}

/************************************************************
************************************************************/
function checkLeerwerkplek2(leerwerkplek,werk,strPostcode){
	if(document.getElementById(leerwerkplek).checked==false && document.getElementById(werk).checked==false){
		alert('Vink "Vast/tijdelijk werk" en/of "Leerwerkplek" aan.');
		return false;
	}
	else if(postcode(strPostcode)==false){
		alert('U hebt een onjuiste postcode ingevoerd!\nGebruik de notatie `1234AB`.\n');
		return false;
	}
	else{
	googleGeo2('submit_form','postcode', 'land','latitude','longitude');
	}
}

/************************************************************
************************************************************/
function verwijderAccount(form){
	if (confirm("Weet u zeker dat u uw gegevens wilt verwijderen?\n Daarmee vervalt uw inschrijving bij Transferro.") == true){
		//document.forms[form].mid.value = "verwijderaccount";
		document.forms[form].submit();
	}
}
/************************************************************
************************************************************/
function postcode(strPostcode)
{
  var el = document.getElementById(strPostcode).value;
  el = el.toUpperCase()
  if (el.length == 6)
  {
		  var re = RegExp("^[0-9][0-9][0-9][0-9][A-Z][A-Z]$", "gi");
		  if (re.test(el))
		  {
				//alert('Postcode is goed');
				return true;
		  }
		  else
		  {
				//alert('Postcode is fout');
				return false;
		  }
  }
  else
  {
	  return false;
  }
}
/************************************************************
************************************************************/
function postcodeCijfers(strPostcode)
{
  var el = document.getElementById(strPostcode).value;
  el = el.toUpperCase()
  if (el.length == 4)
  {
		  var re = RegExp("^[0-9][0-9][0-9][0-9]$", "gi");
		  if (re.test(el))
		  {
				//alert('Postcode is goed');
				return true;
		  }
		  else
		  {
				//alert('Postcode is fout');
				return false;
		  }
  }
  else
  {
	  return false;
  }
}

/************************************************************
************************************************************/
function schakeltekst(elementID,strTekst)
{
  var el = document.getElementById(elementID);
  el.innerHTML=strTekst;
  var el = document.getElementById(elementID+"2");
  el.value=strTekst;
}
