/////////////////////////
// page control functions
/////////////////////////
/*
 * ======================================================================================
 * Function		: setSelect
 * Description	: ensures the correct controls are displayed for use
 * Parameter
 *  obj			: selected element on the page
 * ======================================================================================
 */
var previousChoice = "";
function setSelect(obj)
{

    var keuze = obj;
    if(keuze == "overige") {
		document.getElementById("BistroSearchKenmerkControl_overigeRadio").checked=true;
		document.getElementById("BistroSearchKenmerkControl_publicatieKenmerk").value="";
		document.getElementById("BistroSearchKenmerkControl_insolventieNummer").value="";
		document.getElementById("BistroSearchKenmerkControl_rechtBankSelectList").value="";
    }
    if(keuze == "publicatie") {
		document.getElementById("BistroSearchKenmerkControl_publicatieRadio").checked=true;
		document.getElementById("BistroSearchKenmerkControl_dateSelectBox").value="Vandaag";
		document.getElementById("BistroSearchKenmerkControl_txtStartDate").value="";
		document.getElementById("BistroSearchKenmerkControl_txtEndDate").value="";
		checkListItems("BistroSearchKenmerkControl_typePublicatieList", 0, 1)
		checkListItems("BistroSearchKenmerkControl_rechtBankCheckList", 0, 1)
		document.getElementById("BistroSearchKenmerkControl_insolventieNummer").value="";
		document.getElementById("BistroSearchKenmerkControl_rechtBankSelectList").value="";
		displayDate(document.getElementById("BistroSearchKenmerkControl_dateSelectBox"));
    }
    if(keuze == "insolventie") {
		document.getElementById("BistroSearchKenmerkControl_insolventieRadio").checked=true;
		document.getElementById("BistroSearchKenmerkControl_dateSelectBox").value="Vandaag";
		document.getElementById("BistroSearchKenmerkControl_txtStartDate").value="";
		document.getElementById("BistroSearchKenmerkControl_txtEndDate").value="";
		checkListItems("BistroSearchKenmerkControl_typePublicatieList", 0, 1)
		checkListItems("BistroSearchKenmerkControl_rechtBankCheckList", 0, 1)
		document.getElementById("BistroSearchKenmerkControl_publicatieKenmerk").value="";
		displayDate(document.getElementById("BistroSearchKenmerkControl_dateSelectBox"));
    }
    Page_ClientValidate();
    if(previousChoice!=keuze) {
		document.getElementById("BistroSearchKenmerkControl_valSearchKenmerken").style.display = "none";
    };
    previousChoice = keuze;
}

/*
 * ======================================================================================
 * Function		: displayDate
 * Description	: ensures the correct controls are displayed for use
 * Parameter
 *  obj			: The date object
 * ======================================================================================
 */
var firstDisplay = true;

function displayDate(obj)
{
//    alert(obj.length);
    var keuze = obj.options[obj.selectedIndex].value;

	document.getElementById("BistroSearchKenmerkControl_txtStartDate").style.display="none";
	document.getElementById("BistroSearchKenmerkControl_startDateImagePanel").style.display="none";
	document.getElementById("BistroSearchKenmerkControl_dateEnLabel").style.display="none";
	document.getElementById("BistroSearchKenmerkControl_txtEndDate").style.display="none";
	document.getElementById("BistroSearchKenmerkControl_endDateImagePanel").style.display="none";
	if(!firstDisplay) {
		document.getElementById("BistroSearchKenmerkControl_txtStartDate").value="";
		document.getElementById("BistroSearchKenmerkControl_txtEndDate").value="";
	}
    if(keuze=="Op"||keuze=="Na"||keuze=="Voor"||keuze=="Tussen") { 
		document.getElementById("BistroSearchKenmerkControl_txtStartDate").style.display="block";
		document.getElementById("BistroSearchKenmerkControl_startDateImagePanel").style.display="block";
    }
    if(keuze=="Tussen") {
		document.getElementById("BistroSearchKenmerkControl_dateEnLabel").style.display="block";
		document.getElementById("BistroSearchKenmerkControl_txtEndDate").style.display="block";
		document.getElementById("BistroSearchKenmerkControl_endDateImagePanel").style.display="block";
    }
	firstDisplay = false;
}

/*******************************************************************
This is the javascript function that is invoked when the checkboxlist
is clicked.
Function: checkListItems.
Inputs:   checkBoxListId - The id of the checkbox list.
          selectionItem - The number of the item that compromises the complete
          list of items. If the selectionItem is checked, the other
          items are unchecked and visa versa.
          doCheck - If doCheck is '1', the selectionItem is checked and all
          other items are unchecked.
Purpose:  Control the checkboxselection when the checkbox to verify is
          checked.
********************************************************************/
var alleRechtbankList = true;
var alleTypePublicatieList = true;

function checkListItems(checkBoxListId, selectionItem, doCheck)
{
    objCtrl = document.getElementById(checkBoxListId);
    if(objCtrl == null || selectionItem == null) { return; }

    if(doCheck != null) {
		if(doCheck=='1') {
			document.getElementById(checkBoxListId + '_' + selectionItem).checked = true;
			if(checkBoxListId == 'BistroSearchKenmerkControl_rechtBankCheckList') {
				alleRechtbankList = false;
			}
			if(checkBoxListId == 'BistroSearchKenmerkControl_typePublicatieList') {
				alleTypePublicatieList = false;
			}
		}
    } else {
		setSelect("overige");
    }
    
	var oAlleCheckBox = document.getElementById(checkBoxListId + '_' + selectionItem);
    var isChecked = oAlleCheckBox.checked;
    if(isChecked) {
		if(checkBoxListId == 'BistroSearchKenmerkControl_rechtBankCheckList' && alleRechtbankList) {
			isChecked = false;
		}
		if(checkBoxListId == 'BistroSearchKenmerkControl_typePublicatieList' && alleTypePublicatieList) {
			isChecked = false;
		} 
    }
	var checkedCount = 0;
	var objItem = null;
	var i = 0;
	while ((objItem = document.getElementById(checkBoxListId + '_' + i)) != null) {
        if(i != selectionItem)
        {
            if(isChecked)
            {
                objItem.checked = false;
            } else {
				if(objItem.checked==true) {
					checkedCount++;
				}
            }
        }
		i++;
	}
   
    oAlleCheckBox.checked = (checkedCount == 0 ? true : false);
    if(checkBoxListId == 'BistroSearchKenmerkControl_rechtBankCheckList') {
        alleRechtbankList = (oAlleCheckBox.checked ? true : false);
    }
    if(checkBoxListId == 'BistroSearchKenmerkControl_typePublicatieList') {
		alleTypePublicatieList = (oAlleCheckBox.checked ? true : false);
	}
}

/*
 * ======================================================================================
 * Function		: saveSearchParameters
 * Description	: saves the values of the inputs to a cookie
 * ======================================================================================
 */
function saveSearchParameters(){
   	var form = document.forms[0].elements;
   	var arr1 = Array();
   	var arr2 = Array();
   	var count = 0;
   	for (var i=0;i<form.length;i++){
   		if(form[i].id!="") {
   			if(form[i].type != "text" && form[i].checked!=null) {
   				arr1[count] = form[i].id;
   				arr2[count] = form[i].checked;
   			} else {
				arr1[count] = form[i].id;
				arr2[count] = form[i].value;
   			}
   			count++;
   		}
   	}
    saveVoorkeuren("voorkeuren_inspub", arr1, arr2);
}

function drop(strItem1, status1, strItem2, status2) {
	document.getElementById(strItem1).style.display = status1;
    document.getElementById(strItem2).style.display = status2;
	return false;
}

function chkPageSubmit(event,id) { 
	if (event.keyCode!=null && id!=null) {
		if (event.keyCode == 13) {
			try {
				document.getElementById(id).click();
			} catch(e) {
				return;
			}
		}
	}
}

///////////////////////
// validation functions
///////////////////////
/*
 * ======================================================================================
 * Function		: valNatPersonSearchCombination
 * Description	: validates if the user has filled in the required input fields
 *                for natuurlijk persoon search
 * ======================================================================================
 */
 
function valNatPersonSearchCombination(source, arguments) {
	var form = document.forms[0].elements;
	var natuurlijkpersoon_vv = wtrim(form.BistroSearchNatuurlijkpersoonControl_voorvoegselNat.value);
	var natuurlijkpersoon_an = wtrim(form.BistroSearchNatuurlijkpersoonControl_achternaamNat.value);
	var natuurlijkpersoon_gd = wtrim(form.BistroSearchNatuurlijkpersoonControl_geboortedatumNat.value);
	var natuurlijkpersoon_pc = wtrim(form.BistroSearchNatuurlijkpersoonControl_postcodeNat.value);						
	var natuurlijkpersoon_hn = wtrim(form.BistroSearchNatuurlijkpersoonControl_huisnummerNat.value);

	if(natuurlijkpersoon_an!="") {
		if(natuurlijkpersoon_gd!="") {
			// EERSTE OPTIE
			return true;
		} else if(natuurlijkpersoon_pc!="" && natuurlijkpersoon_hn!="") {
			// TWEEDE OPTIE
			return true;
		} else {
			form.BistroSearchNatuurlijkpersoonControl_geboortedatumNat.focus();
			return false;						
		}
	} else if(natuurlijkpersoon_gd!="") {
		if(natuurlijkpersoon_pc!="" && natuurlijkpersoon_hn!="") {
			// DERDE OPTIE
			return true;
		} else {
			form.BistroSearchNatuurlijkpersoonControl_postcodeNat.focus();
			return false;
		}
	} else {
		form.BistroSearchNatuurlijkpersoonControl_voorvoegselNat.focus();
		return false;
	}
}

/*
 * ======================================================================================
 * Function		: valRechtPersonSearchCombination
 * Description	: validates if the user has filled in the required input fields
 *                for rechtspersoon search
 * ======================================================================================
 */
function valRechtPersonSearchCombination(source, arguments) {
	var form = document.forms[0].elements;
	var rechtspersoon_nm 	= wtrim(form.BistroSearchRechtspersoonControl_naamRecht.value);
	var rechtspersoon_kvk 	= wtrim(form.BistroSearchRechtspersoonControl_kvknummerRecht.value);
	var rechtspersoon_pc 	= wtrim(form.BistroSearchRechtspersoonControl_postcodeRecht.value);
	var rechtspersoon_hn 	= wtrim(form.BistroSearchRechtspersoonControl_huisnummerRecht.value);
	
	if(rechtspersoon_nm!="") {
		return true;
	} else if (rechtspersoon_kvk!="") {
		return true;
	} else if (rechtspersoon_pc!="" && rechtspersoon_hn!="") {
		return true;
	} else if(rechtspersoon_pc!="" || rechtspersoon_hn!="") {
		if(rechtspersoon_pc=="") {
			form.BistroSearchRechtspersoonControl_postcodeRecht.focus();
			return false;
		} else {
			form.BistroSearchRechtspersoonControl_huisnummerRecht.focus();
			return false;
		}
	} else {
		form.BistroSearchRechtspersoonControl_naamRecht.focus();
		return false;
	}
}

/*
 * ======================================================================================
 * Function		: valSearchKenmerkenCombination
 * Description	: validates if the user has filled in the required input fields
 *                for kenmerken search
 * ======================================================================================
 */
function valSearchKenmerkenCombination(source, arguments) {
	var form = document.forms[0].elements;
	var kenmerkOverigeRadio	= form.BistroSearchKenmerkControl_overigeRadio;
	var kenmerkPublicatieRadio = form.BistroSearchKenmerkControl_publicatieRadio;
	var kenmerkInsolventieRadio = form.BistroSearchKenmerkControl_insolventieRadio;
	var dateSelectBox = form.BistroSearchKenmerkControl_dateSelectBox.value;
	var txtStartDate = wtrim(form.BistroSearchKenmerkControl_txtStartDate.value);
	var txtEndDate = wtrim(form.BistroSearchKenmerkControl_txtEndDate.value);
	var publicatieKenmerk = wtrim(form.BistroSearchKenmerkControl_publicatieKenmerk.value);
	var insolventieNummer = wtrim(form.BistroSearchKenmerkControl_insolventieNummer.value);

	if(kenmerkOverigeRadio.checked) {
		if((dateSelectBox=="Op" || dateSelectBox=="Na" || dateSelectBox=="Voor") && txtStartDate=="") {
			return false;
		}
		if(dateSelectBox=="Tussen" && (txtStartDate=="" || txtEndDate=="")) {
			return false;
		}
		return true;
	} else if (kenmerkPublicatieRadio.checked) {
		if(publicatieKenmerk=="") {
			form.BistroSearchKenmerkControl_publicatieKenmerk.focus();
			return false;
		} else {
			return true;
		}
	} else if (kenmerkInsolventieRadio.checked) {
		if(insolventieNummer=="") {
			return false;
		} else {
			return true;
		}
	} else {
		return false;
	}
}

function wtrim(str) {
    str = String(str);
    str = str.replace(/^\s+/, "");
    str = str.replace(/\s+$/, "");
    return str;
}

/* ======================================================================================
 * Function			:	valRequiredSalutation
 * Description		:	
 * ======================================================================================
*/
function valRequiredSalutation()
{
	var blnValidSalutation = true;
		
	if ((document.getElementById('aanhef_dhr').checked == false) && (document.getElementById('aanhef_mevr').checked == false))
	{
		blnValidSalutation = false;
	}
	
	return blnValidSalutation;
}