// MULTIPLE ONLOADS

// Browser Detection
isMac = (navigator.appVersion.indexOf("Mac")!=-1) ? true : false;
NS4 = (document.layers) ? true : false;
IEmac = ((document.all)&&(isMac)) ? true : false;
IE4plus = (document.all) ? true : false;
IE4 = ((document.all)&&(navigator.appVersion.indexOf("MSIE 4.")!=-1)) ? true : false;
IE5 = ((document.all)&&(navigator.appVersion.indexOf("MSIE 5.")!=-1)) ? true : false;
ver4 = (NS4 || IE4plus) ? true : false;
NS6 = (!document.layers) && (navigator.userAgent.indexOf('Netscape')!=-1)?true:false;

// Body onload utility (supports multiple onload functions)
var gSafeOnload = new Array();
function SafeAddOnload(f)
{
	if (IEmac && IE4)  // IE 4.5 blows out on testing window.onload
	{
		window.onload = SafeOnload;
		gSafeOnload[gSafeOnload.length] = f;
	}
	else if  (window.onload)
	{
		if (window.onload != SafeOnload)
		{
			gSafeOnload[0] = window.onload;
			window.onload = SafeOnload;
		}		
		gSafeOnload[gSafeOnload.length] = f;
	}
	else
		window.onload = f;
}
function SafeOnload()
{
	for (var i=0;i<gSafeOnload.length;i++)
		gSafeOnload[i]();
}

// Call the following with your function as the argument
// SafeAddOnload(yourfunctioname);

// END MULTIPLE ONLOADS

function element(id) {
	if(document.getElementById != null) {
		return document.getElementById(id);
	}
	if (document.all != null) {
		return document.all[id];
	}
	if (document.layers != null) {
		return document.layers[id];
	}
	return null;
}
function elements(ids) {
	a = new Array();
	for(var i in ids) {
		a.push(element(ids[i]));
	}
	return a;
}
function nobubble(e)
{
	if (!e) var e = window.event;
	if (e) {
		e.cancelBubble = true;
		if (e.stopPropagation) e.stopPropagation();
//		if (e.preventDefault) e.preventDefault();
	}
}
function dispswap(obj,t,m1,m2,obj2) {
	if (obj && typeof(obj)=="string") { obj = element(obj); }
	if (obj2 && typeof(obj2)=="string") { obj2 = element(obj2); }
	if (t && typeof(t)=="string") { t = element(t); }
	if (!obj) { return ; }
	on = obj.style.display=='none'?1:0;
	obj.style.display=on?'':'none';
	if (obj2) obj2.style.display=on?'none':'';
	if (t) {
		if (t.type == "checkbox") { t.checked = on?'true':''; }
		else if (t.tagName == 'TR') { t.className= on?m1:m2; }
		else if (t.src) { t.src = on?m1:m2; }
		else { t.innerHTML = on?m1:m2; }
	}
}
var bmtimer = null;

function Browser() {

  var ua, s, i;

  this.isIE    = false;  // Internet Explorer
  this.isOP    = false;  // Opera
  this.isNS    = false;  // Netscape
  this.version = null;

  ua = navigator.userAgent;

  s = "Opera";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isOP = true;
    this.version = parseFloat(ua.substr(i + s.length));
    return;
  }

  s = "Netscape6/";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isNS = true;
    this.version = parseFloat(ua.substr(i + s.length));
    return;
  }

  // Treat any other "Gecko" browser as Netscape 6.1.

  s = "Gecko";
  if ((i = ua.indexOf(s)) >= 0) {
    this.isNS = true;
    this.version = 6.1;
    return;
  }

  s = "MSIE";
  if ((i = ua.indexOf(s))) {
    this.isIE = true;
    this.version = parseFloat(ua.substr(i + s.length));
    return;
  }
}

/*var browser = new Browser();

if (browser.isIE)
  document.onmousedown = pageMousedown;
else
  document.addEventListener("mousedown", pageMousedown, true);

function pageMousedown(event) {
  var el;

  if (browser.isIE)
    el = window.event.srcElement;
  else
    el = (event.target.tagName ? event.target : event.target.parentNode);

  if (getContainerWith(el, "DIV", "browsemenu") == null) {
	browsemenuhide();
  }
}*/

function getContainerWith(node, tagName, className) {

  // Starting with the given node, find the nearest containing element
  // with the specified tag name and style class.

  while (node != null) {
    if (node.tagName != null && node.tagName == tagName &&
        hasClassName(node, className))
      return node;
    node = node.parentNode;
  }

  return node;
}

function hasClassName(el, name) {

  var i, list;

  // Return true if the given element currently has the given class
  // name.

  list = el.className.split(" ");
  for (i = 0; i < list.length; i++)
    if (list[i] == name)
      return true;

  return false;
}

function getPageOffsetLeft(el) {

  var x;

  // Return the x coordinate of an element relative to the page.

  x = el.offsetLeft;
  if (el.offsetParent != null)
    x += getPageOffsetLeft(el.offsetParent);

  return x;
}

function getPageOffsetTop(el) {

  var y;

  // Return the x coordinate of an element relative to the page.

  y = el.offsetTop;
  if (el.offsetParent != null)
    y += getPageOffsetTop(el.offsetParent);

  return y;
}
function send_form(name,action) {
	var el = document.getElementById(name);
	if (action) el.action=action;
	el.submit();
}

/* Rekel cookies */

function RekelCookie(name) {
	if (!name) name = 'rekel';
	if (document.cookie.length) { 
		this.cookies = ' ' + document.cookie; 
	}
	this.cookiename = name;
}

RekelCookie.prototype.setCookie = function (key, value) {
	c = this.getCookieContents();
	if(c) { a = c.split(','); }
	else a = new Array();
	b = new Array();
	if (a.length) {
		for(var i in a) {
			if(a[i].substr(0,key.length+1)!=key+':') {
				b.push(a[i]);
			}
		}
	}
	if (value!=false) b.unshift(key+":"+value);
	c = this.cookiename + "=" + b.join(',');
	document.cookie = c;
}

RekelCookie.prototype.getCookieContents = function () {
	if (document.cookie.length) {
		this.cookies = ' ' + document.cookie; 
		var start = this.cookies.indexOf(' ' + this.cookiename + '=');
		if (start == -1) { return null; }
		var end = this.cookies.indexOf(";", start);
		if (end == -1) { end = this.cookies.length; }
		end -= start;
		var cookie = this.cookies.substr(start,end);
		return unescape(cookie.substr(cookie.indexOf('=') + 1, cookie.length - cookie.indexOf('=') + 1));
	}
	else { return null; }
}

RekelCookie.prototype.getCookie = function (key) {
	c = this.getCookieContents();
	if (c) {
		if (a = c.split(',')) for(var i in a) {
			if(a[i]==key) {
				return 1;
			}
		}
		return null;
	}
	else { return null; }
}

/* ! Rekel cookies */

function enquete_submit(formname) {
	var antwoord=0;
	var form = element(formname);
	if (form.elements['enquete'][0].checked) antwoord = 1;
	else if (form.elements['enquete'][1].checked) antwoord = 2;
	else if (form.elements['enquete'][2].checked) antwoord = 3;
	else return false;
	var div_vraag = element('enquete_vraag');
	var div_antwoord = element('enquete_antwoord'+antwoord);
	div_vraag.style.display='none';
	div_antwoord.style.display='';
}

function postcodelookup() {
	var f = document.forms[0];
	if (!f.elements['f[postcode]'].value) return;
	if (!f.elements['f[huisnummer]'].value) return;
	var xmlhttp=false;
	/*@cc_on @*/
	/*@if (@_jscript_version >= 5)
	// JScript gives us Conditional compilation, we can cope with old IE versions.
	// and security blocked creation of the objects.
	 try {
	  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	 } catch (e) {
	  try {
	   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	  } catch (E) {
	   xmlhttp = false;
	  }
	 }
	@end @*/
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
		try {
			xmlhttp = new XMLHttpRequest();
		} catch (e) {
			xmlhttp=false;
		}
	}
	if (!xmlhttp && window.createRequest) {
		try {
			xmlhttp = window.createRequest();
		} catch (e) {
			xmlhttp=false;
		}
	}

	xmlhttp.open("GET", "/services/postcodelookup.php?query="+f.elements['f[postcode]'].value+f.elements['f[huisnummer]'].value,true);
	 xmlhttp.onreadystatechange=function() {
	  if (xmlhttp.readyState==4) {
		var x = xmlhttp.responseXML;
		var e = '';
		if (x) {
			e = x.getElementsByTagName('straatnaam');
			var straatnaam = '';
			if (e && e[0]) {
				straatnaam = e[0].firstChild.data;
			}
			e = x.getElementsByTagName('plaatsnaam');
			var plaatsnaam = '';
			if (e && e[0]) {
				plaatsnaam = e[0].firstChild.data;
			}
			e = x.getElementsByTagName('provincienaam');
			var provincienaam = '';
			if (e && e[0]) {
				provincienaam = e[0].firstChild.data;
			}
			e = x.getElementsByTagName('cebucocode');
			var cebucocode = '';
			if (e && e[0]) {
				cebucocode = e[0].firstChild.data;
			}
			var f = document.forms[0];
			if (straatnaam) {
				if (f.elements['f[straatnaam]']) f.elements['f[straatnaam]'].value=straatnaam;
			}
			if (plaatsnaam) {
				if (f.elements['f[woonplaats]']) f.elements['f[woonplaats]'].value=plaatsnaam;
			}
			if (provincienaam) {
				if (f.elements['f[provincie]']) f.elements['f[provincie]'].value=provincienaam;
			}
			if (cebucocode) {
				if (f.elements['f[cebucocode]']) f.elements['f[cebucocode]'].value=cebucocode;
			}
		}
	  }
	 }
	 xmlhttp.send(null);
     return 1;
}
function postcodelookup2() {
	var f = document.forms[0];
	if (!f.elements['f[factuuradres_postcode]'].value) return;
	if (!f.elements['f[factuuradres_huisnummer]'].value) return;
	var xmlhttp=false;
	/*@cc_on @*/
	/*@if (@_jscript_version >= 5)
	// JScript gives us Conditional compilation, we can cope with old IE versions.
	// and security blocked creation of the objects.
	 try {
	  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	 } catch (e) {
	  try {
	   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	  } catch (E) {
	   xmlhttp = false;
	  }
	 }
	@end @*/
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
		try {
			xmlhttp = new XMLHttpRequest();
		} catch (e) {
			xmlhttp=false;
		}
	}
	if (!xmlhttp && window.createRequest) {
		try {
			xmlhttp = window.createRequest();
		} catch (e) {
			xmlhttp=false;
		}
	}

	xmlhttp.open("GET", "/services/postcodelookup.php?query="+f.elements['f[factuuradres_postcode]'].value+f.elements['f[factuuradres_huisnummer]'].value,true);
	 xmlhttp.onreadystatechange=function() {
	  if (xmlhttp.readyState==4) {
		var x = xmlhttp.responseXML;
		var e = '';
		if (x) {
			e = x.getElementsByTagName('straatnaam');
			var straatnaam = '';
			if (e && e[0]) {
				straatnaam = e[0].firstChild.data;
			}
			e = x.getElementsByTagName('plaatsnaam');
			var plaatsnaam = '';
			if (e && e[0]) {
				plaatsnaam = e[0].firstChild.data;
			}
			var f = document.forms[0];
			if (straatnaam) {
				if (f.elements['f[factuuradres_straatnaam]']) f.elements['f[factuuradres_straatnaam]'].value=straatnaam;
			}
			if (plaatsnaam) {
				if (f.elements['f[factuuradres_plaats]']) f.elements['f[factuuradres_plaats]'].value=plaatsnaam;
			}
		}
	  }
	 }
	 xmlhttp.send(null)
}
function check_leads_form() {
	f = document.forms['leadsform'];
//	if (!f.elements['f[telefoon]'].value) {
//		alert('Vul uw telefoonnummer in');
//		return false;
//	}
	if (!f.elements['f[postcode]'].value.match(/^\s*[0-9]{4}\s*[a-z]{2}\s*$/i)) {
		alert('Vul een geldige postcode in');
		return false;
	}
	if (!f.elements['f[huisnummer]'].value) {
		alert('Vul uw huisnummer in');
		return false;
	}
    if (!f.elements['f[email]'].value) {
		alert('Vul uw emailadres in');
		return false;
	}
	/* Sjef: dit uitzetten als telefoon niet verplicht */
	telefoonnummer = f.elements['f[telefoon]'].value;
	if((!telefoonnummer.replace(/\D/g,"").match(/^0[0-9]{9}$/))
    || telefoonnummer.replace(/\D/g,"") == '0000000000'
    || telefoonnummer.replace(/\D/g,"") == '0123456789'
    ) {
		alert('Vul een 10-cijferig telefoonnummer in');
		return false;
	}
	/* Sjef: einde dit uitzetten als telefoon niet verplicht */
	return true;
}
function standaard_profiel(profiel, new_design) {
	var sjv = element('sjv');
	var sjv_piek = element('sjv_piek');
	var sjv_dal = element('sjv_dal');
	var sjv_gas = element('sjv_gas');
	if (sjv && sjv_piek && sjv_dal) {
		if (profiel=='single') {
			sjv_piek.value = 1200;
			sjv_dal.value = 1200;
			sjv_gas.value = 1000;
		}
		if (profiel=='duo') {
			sjv_piek.value = 1500;
			sjv_dal.value = 1500;
			sjv_gas.value = 1500;
		}
		if (profiel=='gezin') {
			sjv_piek.value = 2250;
			sjv_dal.value = 2250;
			sjv_gas.value = 1800;
		}
		if (profiel=='gezingroot') {
			sjv_piek.value = 2700;
			sjv_dal.value = 3300;
			sjv_gas.value = 2000;
		}
		if (profiel=='mkb') {
			sjv_piek.value = 15000;
			sjv_dal.value = 15000;
			sjv_gas.value = 10000;
		}
		sjv.value = parseInt(sjv_piek.value) + parseInt(sjv_dal.value);

        var imgs =['single', 'duo', 'gezin', 'gezingroot', 'mkb'];
        imgs.each(function(next_img) {
            if (typeof new_design == 'undefined') {
            if (next_img == profiel) $(next_img).addClassName('timga');
            else $(next_img).removeClassName('timga');
            } else if (new_design == '1') {
                var span_id = 'u_'+next_img;
                if (next_img == profiel) {
                    $(span_id).addClassName('active');
                } else {
                    $(span_id).removeClassName('active');
                }
            }
        });
	}
}
function select_profiel(profiel) {
    var sjv = element('sjv');
    var sjv_piek = element('sjv_piek');
    var sjv_dal = element('sjv_dal');
    var sjv_gas = element('sjv_gas');
    if (sjv && sjv_piek && sjv_dal) {
        if (profiel=='single') {
                sjv_piek.value = 1200;
                sjv_dal.value = 1200;
                sjv_gas.value = 1000;
        }
        if (profiel=='duo') {
                sjv_piek.value = 1500;
                sjv_dal.value = 1500;
                sjv_gas.value = 1500;
        }
        if (profiel=='gezin') {
                sjv_piek.value = 2250;
                sjv_dal.value = 2250;
                sjv_gas.value = 1800;
        }
        if (profiel=='gezingroot') {
                sjv_piek.value = 2700;
                sjv_dal.value = 3300;
                sjv_gas.value = 2000;
        }
        if (profiel=='mkb') {
                sjv_piek.value = 15000;
                sjv_dal.value = 15000;
                sjv_gas.value = 10000;
        }
        sjv.value = parseInt(sjv_piek.value) + parseInt(sjv_dal.value);

        var imgs =['single', 'duo', 'gezin', 'gezingroot', 'mkb'];
        var profile_texts = {single: 'Single', duo: 'Duo', gezin: 'Gezin', gezingroot: 'Groot gezin', mkb: 'Mkb'};
        imgs.each(function(next_img) {
            var span_id = 'und_'+next_img;
            if (next_img == profiel) {
                $(span_id).addClassName('active');
                // $('profile_name').innerHTML = profile_texts[profiel];
            } else {
                $(span_id).removeClassName('active');
            }
        });
    }
}
function standaard_profiel_laden() {
	var sjv = element('sjv');
	var sjv_piek = element('sjv_piek');
	var sjv_dal = element('sjv_dal');
	var sjv_gas = element('sjv_gas');
	var meter = '';
	e = element('meter_1');
	if (e.checked) meter = 'enkel';
	e = element('meter_2');
	if (e.checked) meter = 'dubbel';
	var gas = 'nee';
	e = element('gas');
	if (e.checked) gas = 'ja';
	var elec = 'nee';
	e = element('elec');
	if (e.checked) elec = 'ja';
	var f = document.forms[0];
	if (!meter) {
		alert('Selecteer een metertype');
		return;
	}
	f.elements['f[sjv]'].value = sjv.value;
	f.elements['f[sjv_piek]'].value = sjv_piek.value;
	f.elements['f[sjv_dal]'].value = sjv_dal.value;
	f.elements['f[sjv_gas]'].value = sjv_gas.value;
	f.elements['f[gas]'].value = gas;
	f.elements['f[elec]'].value = elec;
	f.elements['f[meter]'].value = meter;
	if (meter=='enkel' && !sjv.value) {
		alert('Vul een geschat jaarverbruik in');
		return;
	}
	if (meter=='dubbel' && !sjv_piek.value && !sjv_dal.value) {
		alert('Vul een geschat jaarverbruik in');
		return;
	}
//	f.action = 'aanvraag_overzicht.php';
	f.submit();
}
function frmifld_ch(o,match) {
	var patt = new RegExp('^'+match+'$','i');
	if (!patt.test(o.value)) {
		o.style.backgroundColor = '#FFDDDD';
	} else {
		o.style.backgroundColor = '';
	}
}
function eanlookup(anchor,target,postcode,huisnummer,toevoeging,gas) {
	element('eanpopup_frame').contentWindow.document.body.innerHTML = 'Loading...';
	var src = 'eanlookup.php?postcode='+postcode+'&huisnummer='+huisnummer+'&toevoeging='+toevoeging+'&target='+target+'&popup=eancode_popup'+(gas?'&type=gas':'');
	element('eanpopup_frame').src = src;
	eancode_popup.showPopup(anchor);
}

function form_is_changed(f) {
	if (f && typeof(f)=="string") { f = element(f); }
	if (!f) return false;
	var result = false;
	for (var i=0, j=f.elements.length; i<j; i++) {
		mt = f.elements[i].type;
		if (mt == 'checkbox' || mt == 'radio') {
			if (f.elements[i].checked && !f.elements[i].defaultChecked) {
				result = true
			}
		}
		if (/*mt == 'hidden' || */mt == 'password' || mt == 'text' || mt == 'textarea') {
			if (f.elements[i].value != f.elements[i].defaultValue) {
				result = true
			}
		}
		if (mt == 'select-one' || mt == 'select-multiple') {
			var hasDefaultSelected = false;
			var l=f.elements[i].options.length;
			for (var k=0; k<l; k++) { 
				if (f.elements[i].options[k].defaultSelected) {
					hasDefaultSelected = true;
					k = f.elements[i].options.length;
				}
			}
			for (var k=0; k<l; k++) {
				if (hasDefaultSelected) {
					if (f.elements[i].name=='f[PRESENTATIE]') continue;
					if (f.elements[i].options[k].selected && !f.elements[i].options[k].defaultSelected) {
						result = true
					}
				} else if (f.elements[i].options[k].selected && k != 0) {
					result = true
				}
			}
		}
	}
	return result;
}
function submitonenter(myfield,e) {
	var keycode;
	if (window.event) keycode = window.event.keyCode;
	else if (e) keycode = e.which;
	else return true;

	if (keycode == 13) {
		myfield.form.submit();
		return false;
	} else {
		return true;
	}
}

function nobubble(e)
{
	if (!e) var e = window.event;
	if (e) {
		e.cancelBubble = true;
		if (e.stopPropagation) e.stopPropagation();
//		if (e.preventDefault) e.preventDefault();
	}
}

function alt_cb_state(field,state) {
	for (i = 0; i < field.length; i++) {
		if ((field[i].type=='checkbox' || field[i].type=='radio') && !field[i].disabled) {
			field[i].checked = state;
		}
	}
}

function update_product(p) {
	f=document.forms[0];
	ep=element('f_product');
	eg=element('f_gas');
	ee=element('f_elec');
	ep.value='';
	if (p=='gas') {
		eg.value='ja';
		ee.value='nee';
	} else {
		ee.value='ja';
		if (p.match(/\bgas\b/)) {
			eg.value='ja';
		} else {
			eg.value='nee';
		}
	}
	if (p.match(/\bvariabel\b/)) {
		ep.value='variabel';
	} else if (p.match(/\b1jaarvast\b/)){
		ep.value='1jaarvast';
	} else {
		ep.value='variabel';
	}
}

function update_leadresults() {
	f = document.forms[0];
	var num = 0;
	var current_status = -1;
	while (e = f.elements['leadresultid_'+num]) {
		var id = e.value;
		if (id) {
			var lrsel = element('leadresult_'+id);
			var lrdiv = element('leadresultdiv_'+id);
			var lrtype = f.elements['leadresulttype['+id+']'];
			if (lrsel.checked) {
				lrdiv.style.backgroundColor = 'white';
				lrdiv.style.backgroundImage = '';
				lrdiv.style.textDecoration = '';
				if (current_status<0 && lrtype && lrtype.value) {
					current_status = num;
					lrdiv.style.backgroundColor = '#ffff99';
				}
			} else {
				lrdiv.style.backgroundColor = '#dddddd';
//				lrdiv.style.backgroundImage = 'url(../graphics/bd4sg.gif)';
				lrdiv.style.textDecoration = 'line-through';
			}
		}
		num++;
	}
}

function render_step_2() {
    // ../templates/right_home_step2.tpl
    new Ajax.Request('includes/leads_step_2.php', {
        method: 'post',
        parameters: $('leadsform').serialize(true),
        onSuccess: function (transport) {
            var response = transport.responseText || "no response text";
            $('leadsformtitle').style.display = 'none';
            $('leadsformmsg').style.display = 'none';
            $('leads_form_container').innerHTML = response;
            var re = new RegExp('leads_errs');
            var lead_error = false;
            if (re.match(response)) lead_error = true;
            google_analytics1(lead_error);
        },
        onFailure: function() { }
    });
}
function render_step_1() {
    // ../templates/right_home_step2.tpl
    new Ajax.Request('includes/leads_step_1.php', {
        method: 'post',
        parameters: $('leadsform').serialize(true),
        onSuccess: function (transport) {
            var response = transport.responseText || "No response!";
            $('leadsformtitle').style.display = 'block';
            $('leadsformmsg').style.display = 'block';
            $('leads_form_container').innerHTML = response;
        },
        onFailure: function() {  }
    });
}
function change_video(id, vidtitle) {
    // ../templates/right_home_step2.tpl
    new Ajax.Request('includes/get_video_html.php?vid='+id, {
        method: 'post',
        onSuccess: function (transport) {
            var response = transport.responseText || "No response!";
            document.getElementById('home_video').innerHTML = response;
            $('video_title').innerHTML = vidtitle;
        },
        onFailure: function() {  }
    });
}
function google_analytics1(lead_error) {
    try {
        var step_name = "Step_2";
        if (lead_error) step_name = "Step_2_error";
        var result = pageTracker._setCustomVar(
            1, "Lead_Home", step_name,
            3                    // Sets the scope to page-level
        );
        pageTracker._trackPageview("/funnel_G1/lead_step2.html");
    } catch(err) { }
}
function show_hide_section_form1(checkobox) {
    e = element('bedrijfsgegevens_section');
    e.style.display = checkobox.checked ? '' : 'none';
    e2=element('functie_section');
    e2.style.display=checkobox.checked ? '' : 'none';
    if (checkobox.checked) renderh2();

}
function renderh2() {
    sIFR.replace(arial_narrow, {
      selector: 'h2.myheaderclassh2',
      css: [
          '.sIFR-root { color: #727272; font-size: 22px; text-transform:uppercase; }',
          'em { color: #05bde1; font-style: normal; } '
      ]
    });
}