////////////////////////////////////////////////////////////////////////////////
//
//  Project : 
//  Author  : Sebastiaan Schoonebeek
//  Date    : Juli 2005
//  Website : http://www.WebSnacks.nl
//
//  Copyright by Sebastiaan Schoonebeek / WebSnacks.nl
//
////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////
//
//  Functions
//
////////////////////////////////////////////////////////////////////////////////

function inputArray()
{
	inputs = new Array(	"vchVoorletters",
						"vchAchternaam",
						"vchStraat",
						"vchHuisnummer",
						"vchPostcode",
						"vchPlaats",
						"vchTelefoon",
						"vchEmail",
						"vchBanknummer",
						"vchOpNaamVan");
	return(inputs);
}
//------------------------------------------------------------------------------
//
//
//
//
//
//------------------------------------------------------------------------------
// NOTE
//
// [0] velden
// [1] niet checken, wel gebruiken voor TD
// [2] verplichte velden
// [3] datum velden, speciale check uitvoeren
//------------------------------------------------------------------------------
//
//
//
//
//
//------------------------------------------------------------------------------
function getFields1() // mijzelf
{
	var fields = new Array(
		new Array('vchGeboortedatum','vchBevallenOp','vchUitgerekendeDatum'),
		new Array('vchBevallenVan','vchTypeBabyVerwacht'),
		new Array('vchGeboortedatum'),
		new Array('vchGeboortedatum','vchBevallenOp','vchUitgerekendeDatum')
		);
	
	return(fields);
}
//------------------------------------------------------------------------------
//
//
//
//
//
//------------------------------------------------------------------------------
function getFields2() // voor iemand anders
{
	var fields = new Array(
		new Array(
			'vchGeslacht2','vchVoorletters2','vchAchternaam2','vchStraat2',
			'vchHuisnummer2','vchPostcode2','vchPlaats2','vchTelefoon2',
			'vchEmail2','intHeeftKinderenVraag1','vchGeboortedatumAanstaande',
			'vchUitgerekendeDatumBevalling','vchTypeBabyVerwacht2'),
		new Array('intHeeftKinderenVraag2','intAantalKinderen'),
		new Array(
			'vchVoorletters2','vchAchternaam2','vchStraat2',
			'vchHuisnummer2','vchPostcode2','vchPlaats2','vchTelefoon2',
			'vchGeboortedatumAanstaande','vchUitgerekendeDatumBevalling'),
		new Array('vchGeboortedatumAanstaande','vchUitgerekendeDatumBevalling')
		);
	
	return(fields);
}
//------------------------------------------------------------------------------
//
//
//
//
//
//------------------------------------------------------------------------------
function submitForm(checkForm,checkFields,dontCheck)
{
	var theForm = document.forms[checkForm];
	check = checkTheseFields(checkForm,checkFields,dontCheck);
	if( check )
	{
		var intVoor = getCheckedValue("intVoor");
		check2 = checkTheseExtraFields(checkForm,intVoor,dontCheck);
		if( check2 )
		{
			theForm.submit();
		} else {
			return(false)
		}
	}
}
//------------------------------------------------------------------------------
//
//
//
//
//
//------------------------------------------------------------------------------
function checkTheseFields(checkForm,checkFields,dontCheck)
{
	var theForm = document.forms[checkForm];
	
	var inputName = inputArray();
	for( i=0 ; i<(inputName.length) ; i++ )
	{
		
		if( !document.getElementById(inputName[i]).value )
		{
			alert(getErrorLine(inputName[i]));
			document.getElementById(inputName[i]).focus();
			return(false);
		}
		
		if( inputName[i] == "vchEmail" || inputName[i] == "vchEmail2" )
		{
			emailCheck = isValidEmail(document.getElementById(inputName[i]).value);
			if( !emailCheck ){ 
				alert("Het email adres klopt niet.");
				document.getElementById(inputName[i]).focus();
				return(false);
			}
		}
		
		if( inputName[i] == "vchTelefoon" || inputName[i] == "vchTelefoon2" )
		{
			telefoonCheck = isInteger(document.getElementById(inputName[i]).value);
			if( !telefoonCheck ){ 
				alert("Het telefoon nummer mag alleen cijfers bevatten.");
				document.getElementById(inputName[i]).focus();
				return(false);
			}
		}
	}
	return(true);
}
//------------------------------------------------------------------------------
//
//
//
//
//
//------------------------------------------------------------------------------
function checkTheseExtraFields(checkForm,intVoor,dontCheck)
{
	var theForm = document.forms[checkForm];
	
	if( intVoor == 1 )
	{
		// check velden : mijzelf
		var checkThese = getFields1();
	}
	else
	{
		// check velden : voor iemand anders
		var checkThese = getFields2();
	}
	
	// hoef alleen de datum velden te cheken..
	
	if( checkThese[3].length > 0 )
	{
		for( i=0 ; i<(checkThese[3].length) ; i++ )
		{
			if( document.getElementById(checkThese[3][i]+"_Day").disabled == false )
			{ 
			
				if( !document.getElementById(checkThese[3][i]+"_Day").value )
				{
					alert(getErrorLine(checkThese[3][i]+"_Day"));
					document.getElementById(checkThese[3][i]+"_Day").focus();
					return(false);
				}
				if( !document.getElementById(checkThese[3][i]+"_Month").value )
				{
					alert(getErrorLine(checkThese[3][i]+"_Month"));
					document.getElementById(checkThese[3][i]+"_Month").focus();
					return(false);
				}
				if( !document.getElementById(checkThese[3][i]+"_Year").value )
				{
					alert(getErrorLine(checkThese[3][i]+"_Year"));
					document.getElementById(checkThese[3][i]+"_Year").focus();
					return(false);
				}
			
			}
		}
	}
	
	return(true);
}
//------------------------------------------------------------------------------
//
//
//
//
//
//------------------------------------------------------------------------------
Array.prototype.inArray = function (value)
// Returns true if the passed value is found in the
// array.  Returns false if it is not.
{
	//alert(this)
	var i;
	for (i=0; i < this.length; i++) {
		// Matches identical (===), not just similar (==).
		if (this[i] === value) {
			return true;
		}
	}
	return false;
};

//------------------------------------------------------------------------------
//
//
//
//
//
//------------------------------------------------------------------------------
function getCheckedValue(Obj)
{
	var veld = document.getElementsByName(Obj);
	var veldLength = veld.length;
	if(veldLength == undefined)
	{
		if( veld.checked )
		{
			return veld.value;
		} else {
			return "";
		}
	}
	for( var i=0 ; i<veldLength ; i++ )
	{
		if( veld[i].checked )
		{
			return veld[i].value;
		}
	}
	return "";
}
//------------------------------------------------------------------------------
//
//
//
//
//
//------------------------------------------------------------------------------
function getErrorLine(e)
{
	switch(e)
	{
		case "vchNaam" : 
			return("Vul a.u.b. u naam in!");
			break;
		case "vchStraat" : 
			return("Vul a.u.b. u straatnaam in!");
			break;
		case "vchHuisnummer" : 
			return("Vul a.u.b. u huisnummer in!");
			break;
		case "vchPostcode" : 
			return("Vul a.u.b. u postcode in!");
			break;
		case "vchPlaats" : 
			return("Vul a.u.b. u plaats naam in!");
			break;
		case "vchTelefoon" : 
			return("Vul a.u.b. u telefoon nummer in!");
			break;
		case "vchEmail" : 
			return("Vul a.u.b. u email adres in!");
			break;
		default : 
			return("Volgens mij ging er iets mis!");
			break;
	}
}
//------------------------------------------------------------------------------
//
//
//
//
//
//------------------------------------------------------------------------------
function intVoorClicked(t)
{
	if( t == 1 )
	{
		document.getElementById("intVoor1").checked = true;
		document.getElementById("intVoor2").checked = false;
		var enableThis	= getFields1();
		var disableThis	= getFields2();
	} else {
		document.getElementById("intVoor1").checked = false;
		document.getElementById("intVoor2").checked = true;
		var enableThis	= getFields2();
		var disableThis	= getFields1();
	}
	
	var darray = new Array('_Day','_Month','_Year');
	
	//alert(disableThis[0])
	//alert(disableThis[3])
	
	tempArray = disableThis[3];
	
	for( i=0 ; i<disableThis[0].length ; i++ ){
		//alert(disableThis[0][i])
		if( tempArray.inArray(disableThis[0][i]) )
		{
			for( j=0 ; j<darray.length ; j++ ){
				document.getElementById(disableThis[0][i]+darray[j]).disabled = true;
				document.getElementById(disableThis[0][i]+darray[j]).style.background = "#DDDDDD";
				document.getElementById(disableThis[0][i]+"TD1").style.color = "#C26D9F";
				if(document.getElementById(disableThis[0][i]+"TD2")){
					document.getElementById(disableThis[0][i]+"TD2").style.color = "#C26D9F";
				}
			}
		} else {
			document.getElementById(disableThis[0][i]).disabled = true;
			document.getElementById(disableThis[0][i]).value = "";
			document.getElementById(disableThis[0][i]).style.background = "#DDDDDD";
			document.getElementById(disableThis[0][i]+"TD").style.color = "#C26D9F";
		}
	}
	
	for( i=0 ; i<disableThis[1].length ; i++ ){
		document.getElementById(disableThis[1][i]).disabled = true;
		document.getElementById(disableThis[1][i]).style.background = "#DDDDDD";
	}
	
	tempArray = enableThis[3];
	
	for( i=0 ; i<enableThis[0].length ; i++ ){
		if( tempArray.inArray(enableThis[0][i]) )
		{
			//alert(enableThis[0][i])
			for( j=0 ; j<darray.length ; j++ ){
				document.getElementById(enableThis[0][i]+darray[j]).disabled = false;
				document.getElementById(enableThis[0][i]+darray[j]).style.background = "#FFFFFF";
				document.getElementById(enableThis[0][i]+"TD1").style.color = "#000000";
				if(document.getElementById(enableThis[0][i]+"TD2")){
					document.getElementById(enableThis[0][i]+"TD2").style.color = "#000000";
				}
			}
		} else {
			document.getElementById(enableThis[0][i]).disabled = false;
			document.getElementById(enableThis[0][i]).value = "";
			document.getElementById(enableThis[0][i]).style.background = "#FFFFFF";
			document.getElementById(enableThis[0][i]+"TD").style.color = "#000000";
		}
	}
	
	for( i=0 ; i<enableThis[1].length ; i++ ){
		document.getElementById(enableThis[1][i]).disabled = false;
		document.getElementById(disableThis[1][i]).style.background = "#FFFFFF";
	}
	
	if( t == 2 ){
		document.babyhotelbon.vchGeslacht2.options[0].selected = true;
		document.babyhotelbon.vchTypeBabyVerwacht2.options[0].selected = true;
	}
	
}
//------------------------------------------------------------------------------
//
// 
//
//
//
//------------------------------------------------------------------------------
function disableSomeElements()
{
	var enableThis = getFields2();
	tempArray = enableThis[3];
	var darray = new Array('_Day','_Month','_Year');
	
	for( i=0 ; i<enableThis[0].length ; i++ )
	{
		if( tempArray.inArray(enableThis[0][i]) )
		{
			for( j=0 ; j<darray.length ; j++ ){
				document.getElementById(enableThis[0][i]+darray[j]).disabled = true;
				document.getElementById(enableThis[0][i]+darray[j]).value = "";
				document.getElementById(enableThis[0][i]+darray[j]).style.background = "#DDDDDD";
				document.getElementById(enableThis[0][i]+"TD1").style.color = "#C26D9F";
				if(document.getElementById(enableThis[0][i]+"TD2")){
					document.getElementById(enableThis[0][i]+"TD2").style.color = "#000000";
				}
			}
		} else {
			document.getElementById(enableThis[0][i]).disabled = true;
			document.getElementById(enableThis[0][i]).value = "";
			document.getElementById(enableThis[0][i]).style.background = "#DDDDDD";
			document.getElementById(enableThis[0][i]+"TD").style.color = "#C26D9F";
		}
	}
	
	for( i=0 ; i<enableThis[1].length ; i++ ){
		document.getElementById(enableThis[1][i]).disabled = true;
		document.getElementById(enableThis[1][i]).disabled = true;
	}
}
//------------------------------------------------------------------------------
//
//
//
//
//
//------------------------------------------------------------------------------
function checkAkkoord()
{
	alert("U moet akkoord gaan met een machtiging!");
	document.getElementById("intAkkoord").checked = true;
}
//------------------------------------------------------------------------------
//
//
//
//
//
//------------------------------------------------------------------------------
function intHeeftKinderenVraagClicked(t)
{
	if( t == 1 )
	{
		document.getElementById("intHeeftKinderenVraag1").checked = true;
		document.getElementById("intHeeftKinderenVraag2").checked = false;
		document.getElementById("intAantalKinderen").disabled = false;
	} else {
		document.getElementById("intHeeftKinderenVraag1").checked = false;
		document.getElementById("intHeeftKinderenVraag2").checked = true;
		document.getElementById("intAantalKinderen").disabled = true;
	}
}
//------------------------------------------------------------------------------
//
//
//
//
//
//------------------------------------------------------------------------------
function start()
{
	disableSomeElements();
	document.getElementById("intVoor1").checked = true;
}
//------------------------------------------------------------------------------
//
//
//
//
//
//------------------------------------------------------------------------------
function inBehandeling(formnaam)
{
	thisForm = document.forms[formnaam];
	thisForm.submit();
}
//------------------------------------------------------------------------------
//
//
//
//
//
//------------------------------------------------------------------------------
function check000(veld,darray)
{
	for( i=0 ; i<darray.length ; i++ )
	{
		if( document.getElementById(veld+darray[i]).value ){
			return(true);
		}
	}
	return(false);
}
//------------------------------------------------------------------------------
//
//
//
//
//
//------------------------------------------------------------------------------
function checkVchBevallenOp()
{
	var form = document.forms["babyhotelbon"];
	
	var darray = new Array('_Day','_Month','_Year');
	
	if( check000("vchBevallenOp",darray) ){
		for( i=0 ; i<darray.length ; i++ ){
			document.getElementById("vchUitgerekendeDatum"+darray[i]).disabled = true;
			document.getElementById("vchUitgerekendeDatum"+darray[i]).value = "";
			document.getElementById("vchUitgerekendeDatum"+darray[i]).style.background = "#DDDDDD";
		}
		document.getElementById("vchUitgerekendeDatum"+"TD1").style.color = "#C26D9F";
		document.getElementById("vchUitgerekendeDatum"+"TD2").style.color = "#C26D9F";
		document.getElementById("vchTypeBabyVerwacht").disabled = true;
	} else {
		for( i=0 ; i<darray.length ; i++ ){
			document.getElementById("vchUitgerekendeDatum"+darray[i]).disabled = false;
			document.getElementById("vchUitgerekendeDatum"+darray[i]).value = "";
			document.getElementById("vchUitgerekendeDatum"+darray[i]).style.background = "#FFFFFF";
		}
		document.getElementById("vchUitgerekendeDatum"+"TD1").style.color = "#000000";
		document.getElementById("vchUitgerekendeDatum"+"TD2").style.color = "#000000";
		document.getElementById("vchTypeBabyVerwacht").disabled = false;
	}
}
//------------------------------------------------------------------------------
//
//
//
//
//
//------------------------------------------------------------------------------
function checkVchUitgerekendeDatum()
{
	var form = document.forms["babyhotelbon"];
	
	var darray = new Array('_Day','_Month','_Year');
	
	if( check000("vchUitgerekendeDatum",darray) ){
		for( i=0 ; i<darray.length ; i++ ){
			document.getElementById("vchBevallenOp"+darray[i]).disabled = true;
			document.getElementById("vchBevallenOp"+darray[i]).value = "";
			document.getElementById("vchBevallenOp"+darray[i]).style.background = "#DDDDDD";
		}
		document.getElementById("vchBevallenOp"+"TD1").style.color = "#C26D9F";
		document.getElementById("vchBevallenOp"+"TD2").style.color = "#C26D9F";
		document.getElementById("vchBevallenVan").disabled = true;
	} else {
		for( i=0 ; i<darray.length ; i++ ){
			document.getElementById("vchBevallenOp"+darray[i]).disabled = false;
			document.getElementById("vchBevallenOp"+darray[i]).value = "";
			document.getElementById("vchBevallenOp"+darray[i]).style.background = "#FFFFFF";
		}
		document.getElementById("vchBevallenOp"+"TD1").style.color = "#000000";
		document.getElementById("vchBevallenOp"+"TD2").style.color = "#000000";
		document.getElementById("vchBevallenVan").disabled = false;
	}
}
//------------------------------------------------------------------------------
//
//
//
//
//
//------------------------------------------------------------------------------
function isValidEmail(str)
{
	var at="@";
	var dot=".";
	var lat=str.indexOf(at);
	var lstr=str.length;
	var ldot=str.indexOf(dot);
	
	if (str.indexOf(at)==-1){
		return(false);
	}
	
	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		return(false);
	}
	
	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		return(false);
	}
	
	if (str.indexOf(at,(lat+1))!=-1){
		return(false);
	}
	
	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		return(false);
	}
	
	if (str.indexOf(dot,(lat+2))==-1){
		return(false);
	}
	
	if (str.indexOf(" ")!=-1){
		return(false);
	}
	
	return(true);
}
//------------------------------------------------------------------------------
//
//
//
//
//
//------------------------------------------------------------------------------
function isInteger(s)
{
	var i;
	for (i = 0; i < s.length; i++){
		var c = s.charAt(i);
		if (((c < "0") || (c > "9"))) return(false);
	}
	return(true);
}
//------------------------------------------------------------------------------
//
//
//
//
//
//------------------------------------------------------------------------------
function checkForNumber(str)
{
	var validchars = "0123456789";
	for (var i=0; i < str.length; i++) {
		var letter = str.charAt(i).toLowerCase();
		if (validchars.indexOf(letter) != -1){
			return(false);
		}
	}
	return(true);
}
//------------------------------------------------------------------------------
//
//
//
//
//
//------------------------------------------------------------------------------
var win= null;
function NewWindow(mypage,myname,w,h,scroll)
{
	var winl = (screen.width-w)/2;
	var wint = (screen.height-h)/2;
	var settings  ='height='+h+',';
		settings +='width='+w+',';
		settings +='top='+wint+',';
		settings +='left='+winl+',';
		settings +='scrollbars='+scroll+',';
		settings +='topmargin=0,';
		settings +='leftmargin=0,';
		settings +='resizable=yes';		  
	win=window.open(mypage,myname,settings);
	if(parseInt(navigator.appVersion) >= 4){win.window.focus();}
}
//------------------------------------------------------------------------------
//
//
//
//
//
//------------------------------------------------------------------------------
