
// open window
function WindowOpen(width,height,url) {
	window.open(url,"","toolbar=0,location=0,status=1,menubar=0,scrollbars=1,resizable=0,width=" +width+ ",height=" +height);
}

// copy address
function CopyAddress() {
	if (document.formtaxatie.idemadres.checked) {
		document.formtaxatie.taxatie_adres.value = document.formtaxatie.woonadres.value;
		document.formtaxatie.taxatie_postcode.value = document.formtaxatie.postcode.value;
		document.formtaxatie.taxatie_woonplaats.value = document.formtaxatie.woonplaats.value;
	} else {
		document.formtaxatie.taxatie_adres.value = '';
		document.formtaxatie.taxatie_postcode.value = '';
		document.formtaxatie.taxatie_woonplaats.value = '';
	}
}

// add bookmark
function AddBookmark(url, title) {
	if (window.sidebar) { // Mozilla Firefox Bookmark
		window.sidebar.addPanel(title, url, "");
	} else if( window.external ) { // IE Favorite
		window.external.AddFavorite(url, title);
	} else if(window.opera && window.print) { // Opera Hotlist
		return true;
	}
}

//this function is used for mouseovers
function AddStringToFileName(file_object, string_to_add) {
	last_dot   = file_object.src.lastIndexOf('.');
	file_ext   = file_object.src.slice(last_dot, file_object.src.length); // eg: .gif
	file_path  = file_object.src.slice(0, last_dot); // eg: /shared/custom/images/header
	string_len = string_to_add.length;
	
	//exit if the filename already contains the string to add
	if(file_path.slice(file_path.length - string_len, file_path.length) == string_to_add)
		return;
	
	//add the string to add to the src
	file_object.src = file_path + string_to_add + file_ext;
}

function RemoveStringFromFileName(file_object, string_to_remove) {
	last_dot   = file_object.src.lastIndexOf('.');
	file_ext   = file_object.src.slice(last_dot, file_object.src.length); // eg: .gif
	file_path  = file_object.src.slice(0, last_dot); // eg: /shared/custom/images/header
	string_len = string_to_remove.length;
	
	//only remove the string if filename contains the string
	if(file_path.slice(file_path.length - string_len, file_path.length) == string_to_remove)
		file_object.src = file_path.slice(0, file_path.length - string_len) + file_ext;
}

function CheckFormTaxatie(f) {
	// MESSAGE
	var header = 'De volgende velden zijn niet correct ingevuld:\n\n';
	
	// CHECK FIELDS
	var message = '';
	message += CheckRadio(f.geslacht, 'Geslacht');
	message += CheckField(f.volledigenaam, 'Volledige naam');
	message += CheckField(f.woonadres, 'Woonadres');
	message += CheckField(f.postcode, 'Postcode');
	message += CheckField(f.woonplaats, 'Woonplaats');
	message += CheckEmail(f.email, 'E-mailadres');
	message += CheckField(f.datumaanvraag, 'Datum van de aanvraag');
	message += CheckField(f.telefoonnummer1, 'Telefoonnummer');
	message += CheckField(f.taxatie_adres, 'Adres (van het te taxeren object)');
	message += CheckField(f.taxatie_postcode, 'Postcode (van het te taxeren object)');
	message += CheckField(f.taxatie_woonplaats, 'Plaatsnaam (van het te taxeren object)');
	//message += CheckField(f.benodigd_ivm, 'De taxatie is benodigd i.v.m.');
	//message += CheckField(f.benodigde_executiewaarde, 'Minimaal benodigde executiewaarde');
	message += CheckRadio(f.nhg, 'Is de Nationale Hypotheek Garantie (NHG) van toepassing?');
	message += CheckRadio(f.verbouwing_taxatie, 'Dient er een verbouwing in de taxatie te worden opgenomen?');
	
  	if (message != "") {
		alert(header+''+message);
		return false
	}
}

function CheckFormTaxatiePrijsopgave(f) {
	// MESSAGE
	var header = 'De volgende velden zijn niet correct ingevuld:\n\n';
	
	// CHECK FIELDS
	var message = '';
	message += CheckRadio(f.geslacht, 'Geslacht');
	message += CheckField(f.volledigenaam, 'Volledige naam');
	message += CheckField(f.telefoonnummer1, 'Telefoonnummer');
	message += CheckEmail(f.email, 'E-mailadres');
	
  	if (message != "") {
		alert(header+''+message);
		return false
	}
}

function CheckField(fieldname, message) {
	if(fieldname) {
		if (fieldname.value == "") {
			SetFFStyle(fieldname, 'Bad');
			message = '- '+message+'\n';
			return message;
		} else {
			SetFFStyle(fieldname, 'Good');
			return '';
		}
	} else {
		return '';
	}
}

function CheckCheckbox(fieldname, message) {
	if(fieldname) {
		if (fieldname.checked != true) {
			message = '- '+message+'\n';
			return message;
		} else {
			return '';
		}
	} else {
		return '';
	}
}

function CheckEmail(fieldname, message) {
	if(fieldname) {
		if (fieldname.value == "") {
			SetFFStyle(fieldname, 'Bad');
			message = '- '+message+'\n';
			return message;
		} else if (IsEmail(fieldname.value) == false) {
			SetFFStyle(fieldname, 'Bad');
			message = '- '+message+' is geen geldig e-mailadres !\n';
			return message;
		} else {
			SetFFStyle(fieldname, 'Good');
			return '';
		}
	} else {
		return '';
	}
}

function CheckRadio(fieldname, message) {
	var result = 0;
	for(var i=0; i<fieldname.length; i++) {
		if (fieldname[i].checked==true) {
			result = 1;
		}
	}
	if (!result) {
		SetFFStyle(fieldname, 'Bad');
		message = '- '+message+'\n';
		return message;
	} else {
		SetFFStyle(fieldname, 'Good');
		return '';
	}
}

function IsEmail(str) {
	// are regular expressions supported?
	var supported = 0;
	if (window.RegExp) {
		var tempStr = "a";
		var tempReg = new RegExp(tempStr);
		if (tempReg.test(tempStr)) supported = 1;
	}
	if (!supported)
		return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
	var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
	var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
	return (!r1.test(str) && r2.test(str));
}

function SetFFStyle(el, status) {
	if (status == 'Bad') {
		// Backup current classname in cookie
		if (el.className != 'FormCheckBad') {
			var expires = CookieExpires();
			Set_Cookie("ContactClassName", el.className,expires);
		}
		
		// Change classname to bad
		el.className = 'FormCheckBad';
	} else {
		// Get classname from cookie
		var ContactClassName = Get_Cookie("ContactClassName");
		
		if (ContactClassName != 'FormCheckBad' && ContactClassName != '') {
			// Restore classname from cookie
			el.className = ContactClassName;
		} else {
			// Restore to default class
			el.className = 'FormCheckGood';
		}
	}
}

// set cookie
function Set_Cookie(name,value,expires,path,domain,secure) {
    document.cookie = name + "=" +escape(value) +
        ( (expires) ? ";expires=" + expires.toGMTString() : "") +
        ( (path) ? ";path=" + path : "") + 
        ( (domain) ? ";domain=" + domain : "") +
        ( (secure) ? ";secure" : "");
}

// cookie expires
function CookieExpires() {
	var today = new Date();
	var expires = new Date(today.getTime() + (56 * 86400000));
	return expires;
}

// get cookie
function Get_Cookie(name) {
	var start = document.cookie.indexOf(name+"=");
	var len = start+name.length+1;
	if ((!start) && (name != document.cookie.substring(0,name.length))) return null;
	if (start == -1) return null;
	var end = document.cookie.indexOf(";",len);
	if (end == -1) end = document.cookie.length;
	return unescape(document.cookie.substring(len,end));
}



