/**                  
 * form.events.js
 *
 * @version 1.0
 * @package kopersweb/overhoeks
 * @author  a.j.de vries
 *
 * Copyright (c) Malibomba                               
 * IT IS NOT ALLOWED TO USE OR MODIFY ANYTHING OF 
 * THIS CODE, WITHOUT THE PERMISION OF THE AUTHOR.                       
 * Info? Mail to info@malibomba.com                             
 */
//<![CDATA[

var xmlhttp = false;
/*@cc_on @*/
/*@if(@_jscript_version >= 5)
	try {
		xmlhttp = new ActiveXObject('Msxml2.XMLHTTP');
	} catch(e) {
		try {
			xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
		} catch(e) {
			xmlhttp = false;
		}
	}
@else
	var xmlhttp = false;
@end @*/
if(!xmlhttp && document.createElement) {
	try {
		xmlhttp = new XMLHttpRequest();
	} catch(e) {
		xmlhttp = false;
	}
}


var bType = false;
var bIsMale = false;
var bDouble = false;
var aAccomodationTypes = [];
var bPriceForSale = false;
var bPriceForRent = false;
var bRoomsBuy = false;
var bRoomsRent = false;
var bRentType = false;
var bBuyType = false;
var bSamhh = false;
var bAccomodationLiving = false;
var bAccomodationCompany = false;
var bZipCode = '';
var eForm = document.forms[1];

// type
var eType = eForm['type'];
for( var i = 0; i < eType.length; i++ ) {
    _setEvent(eType[i], 'click', function(e) {
        var e = (e) ? e : event;
        var eElem = (e.srcElement) ? e.srcElement : e.target;
        if(eElem.checked) {
            bType = true;
        }
    } ); // End of onclick;
}

// is_male
var eIsMale = eForm['is_male'];
for( var i = 0; i < eIsMale.length; i++ ) {
	_setEvent(eIsMale[i], 'click', function(e) {
		var e = (e) ? e : event;
		var eElem = (e.srcElement) ? e.srcElement : e.target;
		if(eElem.checked) {
			bIsMale = true;
		}
	} ); // End of onclick;
}

// voorkeur(en)
var eAccomodationTypes = eForm['accomodation_types[]'];
for( var i = 0; i < eAccomodationTypes.length; i++ ) {
	_setEvent(eAccomodationTypes[i], 'click', function(e) {
		var e = (e) ? e : event;
		var eElem = (e.srcElement) ? e.srcElement : e.target;
		if(eElem.checked) {
			aAccomodationTypes.push(eElem.value)
		} else {
		var aTmp = [];
		for( var x = 0; x < aAccomodationTypes.length; x++ ) {
			if(eElem.value != aAccomodationTypes[x])
			aTmp.push(aAccomodationTypes[x]);
		}
			aAccomodationTypes = aTmp;
		}
	} ); // End of onclick;
}

// prijsklasse koopwoning
var ePriceForSale = eForm['price_for_sale'];
for( var i = 0; i < ePriceForSale.length; i++ ) {
	_setEvent(ePriceForSale[i], 'click', function(e) {
		var e = (e) ? e : event;
		var eElem = (e.srcElement) ? e.srcElement : e.target;
		if(eElem.checked) {
			bPriceForSale = true;
		}
	} ); // End of onclick;
}

// prijsklasse huurwoning
var ePriceForRent = eForm['price_for_rent'];
	for( var i = 0; i < ePriceForRent.length; i++ ) {
	_setEvent(ePriceForRent[i], 'click', function(e) {
		var e = (e) ? e : event;
		var eElem = (e.srcElement) ? e.srcElement : e.target;
		if(eElem.checked) {
			bPriceForRent = true;
		}
	} ); // End of onclick;
}

// kamers koop
var eRoomsBuy = eForm['rooms_buy'];
	for( var i = 0; i < eRoomsBuy.length; i++ ) {
	_setEvent(eRoomsBuy[i], 'click', function(e) {
		var e = (e) ? e : event;
		var eElem = (e.srcElement) ? e.srcElement : e.target;
		if(eElem.checked) {
			bRoomsBuy = true;
		}
	} ); // End of onclick;
}

// kamers huur
var eRoomsRent = eForm['rooms_rent'];
	for( var i = 0; i < eRoomsRent.length; i++ ) {
	_setEvent(eRoomsRent[i], 'click', function(e) {
		var e = (e) ? e : event;
		var eElem = (e.srcElement) ? e.srcElement : e.target;
		if(eElem.checked) {
			bRoomsRent = true;
		}
	} ); // End of onclick;
}

// samenstelling huishouden
var eSamhh = eForm['sam_hh'];
	for( var i = 0; i < eSamhh.length; i++ ) {
	_setEvent(eSamhh[i], 'click', function(e) {
		var e = (e) ? e : event;
		var eElem = (e.srcElement) ? e.srcElement : e.target;
		if(eElem.checked) {
			bSamhh = true;
		}
	} ); // End of onclick;
}

// type huur
var eRentType = eForm['rent_type'];
    for( var i = 0; i < eRentType.length; i++ ) {
    _setEvent(eRentType[i], 'click', function(e) {
        var e = (e) ? e : event;
        var eElem = (e.srcElement) ? e.srcElement : e.target;
        if(eElem.checked) {
            bRentType = true;
        }
    } ); // End of onclick;
}

// type koop
var eBuyType = eForm['buy_type'];
    for( var i = 0; i < eBuyType.length; i++ ) {
    _setEvent(eBuyType[i], 'click', function(e) {
        var e = (e) ? e : event;
        var eElem = (e.srcElement) ? e.srcElement : e.target;
        if(eElem.checked) {
            bBuyType = true;
        }
    } ); // End of onclick;
}

// type woonruimte
/***
var eAccomodationLiving = eForm['accomodation_living'];
for( var i = 0; i < eAccomodationLiving.length; i++ ) {
	_setEvent(eAccomodationLiving[i], 'click', function(e) {
		var e = (e) ? e : event;
		var eElem = (e.srcElement) ? e.srcElement : e.target;
		if(eElem.checked) {
		bAccomodationLiving = true;
		}
	} ); // End of onclick;
}
***/

// type bedrijfsruimte
var eAccomodationCompany = eForm['accomodation_company'];
for( var i = 0; i < eAccomodationCompany.length; i++ ) {
	_setEvent(eAccomodationCompany[i], 'click', function(e) {
		var e = (e) ? e : event;
		var eElem = (e.srcElement) ? e.srcElement : e.target;
		if(eElem.checked) {
			bAccomodationCompany = true;
		}
	} ); // End of onclick;
}


eForm.onsubmit = function(e) {
	_formCheck(eForm);
	var sMessage = _getMessage();
	if( sMessage != '' ) { sMessage+= "\n"; }

	// check double only for new subscribers:
	if( typeof eForm['prospect_id'] == 'undefined' ) {
		if( eForm['email'] != '') {
			xmlhttp.open('GET', '/kopersweb/checkdouble.xmlhttp.php?email=' + eForm['email'].value, false);	
			xmlhttp.send(null);
			var sResponse = xmlhttp.responseText;
			if( sResponse != '' && sResponse == 'false' ) {
				alert('U staat al ingeschreven.');
				return false;
			}	
		}
	}

	// is_male
	if(!bIsMale) {
		sMessage = 'Verplicht veld "De heer of mevrouw" is niet ingevuld!' + "\n" + sMessage;
	}

	// type
	if(!bType) {
		sMessage = 'Verplicht veld "Interesse" is niet ingevuld!' + "\n" + sMessage;
	}
    
    // zipcode with international-check
    var re = new RegExp('^[0-9]{4} ?[A-z]{2}$');
    if (!eForm['international'].checked && eForm['zipcode'].value!='') {
        if (!re.test(eForm['zipcode'].value)) {
            sMessage = 'Veld Postcode bevat geen geldige postcode!' + "\n" + sMessage;
        }
    }


	/**
	 * EXTRA FORM OPTIONS:
	 * check if the visitor is interested in
	 * the complete range of options. If so, check the
	 * extra additional form fields ..................
	 -------------------------------------------------*/
	if( bAddtionalOptions == true ) {
		// voorkeur(en)
		if( aAccomodationTypes.length <= 0 ) {
			sMessage+= 'Verplicht veld "Voorkeur woning" is niet ingevuld!' + "\n";
		}

		// prijsklasse koopwoning
		if( !bPriceForSale && in_array(1, aAccomodationTypes) ) {
			sMessage+= 'Verplicht veld "Prijsklasse koopwoning" is niet ingevuld!' + "\n";
		}

		// prijsklasse huurwoning
		if( !bPriceForRent && in_array(2, aAccomodationTypes) ) {
			sMessage+= 'Verplicht veld "Prijsklasse huurwoning" is niet ingevuld!' + "\n";
		}
		
		// kamers koop
		if( !bRoomsBuy && in_array(1, aAccomodationTypes) ) {
			sMessage+= 'Verplicht veld "Aantal kamers koopwoning" is niet ingevuld!' + "\n";
		}
        
        // type koop
        if( !bBuyType && in_array(1, aAccomodationTypes) ) {
            sMessage+= 'Verplicht veld "Type koop" is niet ingevuld!' + "\n";
        }
		
		// kamers huur
		if( !bRoomsRent && in_array(2, aAccomodationTypes) ) {
			sMessage+= 'Verplicht veld "Aantal kamers huurwoning" is niet ingevuld!' + "\n";
		}
		
		// samenstelling huishouden
		if( !bSamhh && (in_array(1, aAccomodationTypes) || in_array(2, aAccomodationTypes)) ) {
			sMessage+= 'Verplicht veld "Samenstelling huishouden" is niet ingevuld!' + "\n";
		}
		
        // type huur
        if( !bRentType && in_array(2, aAccomodationTypes) ) {
            sMessage+= 'Verplicht veld "Type huur" is niet ingevuld!' + "\n";
        }
        
		// type woonruimte
		//if( !bAccomodationLiving && 
		//	( in_array(1, aAccomodationTypes) || in_array(2, aAccomodationTypes) ) ) { // woon accomodatie typen.
		//	sMessage+= 'Verplicht veld Type woonruimte is niet ingevuld!' + "\n";
		//}
 
		// type bedrijfsruimte
		//if( !bAccomodationCompany &&
		//	( in_array(3, aAccomodationTypes) || in_array(4, aAccomodationTypes) || 
		//	in_array(5, aAccomodationTypes) || in_array(6, aAccomodationTypes) ) ) { // bedrijfs accomodatie typen.
		//	sMessage+= 'Verplicht veld "Type bedrijfsruimte" is niet ingevuld!' + "\n";
		//}
	}

	if(sMessage != '') {
		alert(sMessage)
		return false;
	} else {
		return true;
	}
}
//]]>
