function showSl(version, id)
{
	$('.sl-'+version).hide();
	$('#'+version+'-'+id).show();
	
	$('.sl-'+version+'tit').removeClass("sele1");
	$('.sl-'+version+'tit').removeClass("sele2");

	if(id == 1)
	{
		$('#sl-'+version+'-'+id).addClass("sele1");
	}
	else
	{
		$('#sl-'+version+'-'+id).addClass("sele2");
	}
}

function switchtab(tabnr)
{
	var totaltabs = 5;
	
	for (var i=0; i<=totaltabs; i++)
	{
		if (document.getElementById('tab' + i)) document.getElementById('tab' + i).style.display = 'none';		
		if (document.getElementById('link' + i)) document.getElementById('link' + i).className = 'inactive';
	}
	
	document.getElementById('tab' + tabnr).style.display = '';
	document.getElementById('link' + tabnr).className = 'active';
}

var loadEvent = {
	fnList : [],
	timer : null,
	domLoadElementId : "dom-load",
	add : function(fn)
	{
		loadEvent.fnList.push(fn)
		if(loadEvent.domLoaded == undefined)
		{
			loadEvent.domLoaded=false;
			loadEvent.domLoad();
			window.onload = function()
			{
				if(document.getElementById(loadEvent.domLoadElementId) == undefined)
				{
					window.defaultStatus = "Error: domLoadElementId[\""+loadEvent.domLoadElementId+"\"] is not embeded.";
				}
			}
		}
	},
	domLoad : function()
	{
		loadEvent.timer = setInterval(function() { // doesnt work in IE/Mac
		if((document.getElementsByTagName("body")[0] != null || document.body != null) && document.getElementById(loadEvent.domLoadElementId)) {
			loadEvent.runFnList();
			clearInterval(loadEvent.timer);
		}
		}, 250);
		if (typeof document.addEventListener != "undefined") {
			document.addEventListener("DOMContentLoaded", function() { loadEvent.runFnList(); clearInterval(loadEvent.timer); } , null); // Mozilla only
		}
	},
	runFnList : function()
	{
		if(loadEvent.domLoaded) return // for Mozilla, only execute once
		loadEvent.domLoaded = true; 
		for(var i=0,fn;fn=loadEvent.fnList[i];i++)
		{
			fn();
		}
	}
}



var icons = {
	contextA : "Met dit abonnement kunt u gebruik maken van ",
	contextNa : "Met dit abonnement kunt u op dit moment nog <strong>GEEN</strong> gebruik maken van ",
	contextElm : null,
	contextIconId : "context-menu-icon",
	contextTagwordId : "context-menu-tagword",
	init : function()
	{
		
		var iconsElmList = getElementsByClassName("icon",document,"img");
		var tagwordsElmList = getElementsByClassName("tagword",document,"span");
		if(iconsElmList.length || tagwordsElmList.length) icons.createContextMenu();
		
		if(document.getElementById(icons.contextTagwordId))
		{
			for(var i=0,spanElm;spanElm=tagwordsElmList[i];i++)
			{
				spanElm.onmouseover = function()
				{
					clearTimeout(this.timeID);
				
					icons.contextElm.className = "icon-over"
					icons.contextElm.innerHTML = this.id;
					
					icons.intRepos = 0;

					icons.contextElm.callee = this;
					this.timeID = setTimeout("icons.showHideMenu(true)",50);
					this.onmouseout = function()
					{
						clearTimeout(this.timeID);
						this.timeID = setTimeout("icons.showHideMenu(false)",10);
					}
				}
			}
		}
		
		if(document.getElementById(icons.contextIconId))
		{
			for(var i=0,imgElm;imgElm=iconsElmList[i];i++)
			{
				imgElm.onmouseover = function()
				{
					clearTimeout(this.timeID);
				
					icons.contextElm.className = "icon-over"
					
					icons.intRepos = 180;
					
					if(this.lang == 'a') icons.contextElm.innerHTML = icons.contextA + this.name;
					else icons.contextElm.innerHTML = icons.contextNa + this.name;
					
					//alert(this.status);
					
					//icons.contextElm.innerHTML = document.getElementById(icons.contextIconId).innerHTML;
					//if(hasClassName(this,"friend")) friendFeatures.contextMenuElm.getElementsByTagName("ul")[0].className="isFriend";
					//else if(hasClassName(this,"friend-blocked")) friendFeatures.contextMenuElm.getElementsByTagName("ul")[0].className="isFriendBlocked";
					//else if(hasClassName(this,"user-blocked")) friendFeatures.contextMenuElm.getElementsByTagName("ul")[0].className="isBlocked";
					//else  friendFeatures.contextMenuElm.getElementsByTagName("ul")[0].className="isSelf";
					
					icons.contextElm.callee = this;
					this.timeID = setTimeout("icons.showHideMenu(true)",50);
					this.onmouseout = function()
					{
						clearTimeout(this.timeID);
						this.timeID = setTimeout("icons.showHideMenu(false)",10);
					}
				}
			}
		}	
		
	},
	createContextMenu : function()
	{
		icons.contextElm = document.createElement("div");
		var bodyElm = document.getElementsByTagName("body")[0]
		icons.contextElm.className ="context-menu";
		bodyElm.appendChild(icons.contextElm);
	},
	showHideMenu : function(show)
	{
		if(show)
		{
			var offset = getGlobalOffset(icons.contextElm.callee);
			icons.contextElm.style.left=offset.left-icons.intRepos+"px";
			icons.contextElm.style.top=offset.top+28+"px";
			icons.contextElm.style.visibility="visible";
			icons.contextElm.onmouseover = function()
			{
				clearTimeout(this.callee.timeID);
				this.onmouseout = function()
				{
					clearTimeout(this.callee.timeID);
					this.callee.timeID = setTimeout("icons.showHideMenu(false)",10);
				}
			}
		}
		else
		{
			icons.contextElm.style.visibility="hidden";
		}
	}
}

loadEvent.add(icons.init);

// ====================================================================

function getGlobalOffset(elm)
{
	var offset = {left:0,top:0};
	if (elm.offsetParent)
	{
		while (elm.offsetParent)
		{
			offset.left += elm.offsetLeft;
			offset.top += elm.offsetTop;
			elm = elm.offsetParent;
		}
	}
	return offset;
}

uniqueId = 0;
function giveUniqueID()
{
	return "BRUniq"+ ++uniqueId
}


function getElementsByClassName(className,nodeElm,elmType)
{
	var elementList = [];
	var elementsByClassName = [];
	if(elmType) elementList = nodeElm.getElementsByTagName(elmType);
	else elementList = document.all || document.getElementsByTagName("*");
	for(var i=0,elm;elm=elementList[i];i++)
	{
		if(hasClassName(elm,className))
		{
			elementsByClassName.push(elm);
		}
	}
	return elementsByClassName;
}


function hasClassName(elm,className)
{
	var re = RegExp("(^|\\s)"+className+"(\\s|$)");
	return re.test(elm.className);
}










function checkLength(field, length, nextField) {
		if(field.value.length == length)
			document.getElementById(nextField).focus();
}

function checkAddress(form) {
	isValidZipcodeNr(form.zipcode);
	isValidZipcodeExt(form.zipcodeExt);
	isValidHouseNr(form.housenr);

	if(flag) {
		UFO.create( { movie:"/includes/flash/loading.swf",width:"470",height:"150",majorversion:"8", build:"0",wmode:"transparent",bgcolor:"#ffffff",flashvars:""}, "step1");
		form.submit();
		flag = 1
	}
	else {
		flag = 1
		return false;
	}
}


var intCompareCount = 0;
function addCompareProduct(n) {
	if(n.checked == true) intCompareCount++;
	else intCompareCount--;

	if(intCompareCount > 3) {
		n.checked = false;
		intCompareCount--;
		alert('U kunt maximaal drie producten vergelijken');
	}

	if(intCompareCount > 1) {
		document.getElementById('compare-button-1').disabled = false;
		document.getElementById('compare-button-2').disabled = false;
	}
	else {
		document.getElementById('compare-button-1').disabled = true;
		document.getElementById('compare-button-2').disabled = true;
	}
	return false;
}


var tmpState = '';
function setRating(n, rate) {
	document.getElementById('rate'+n).value = rate;
	document.getElementById('rates-'+n).className = 'rates rate-' +rate;
	tmpState = document.getElementById('rates-'+n).className;
}
function checkState(n){
	if(document.getElementById('rates-'+n).className != 'rates') {
		tmpState = document.getElementById('rates-'+n).className;
		document.getElementById('rates-'+n).className = 'rates';
	}
}
function checkStateOut(n){
	if(tmpState) {
		document.getElementById('rates-'+n).className = tmpState;
		tmpState = '';
	}
}

function addBookmark(){
	if (document.all)
		window.external.AddFavorite('http://www.telefonievergelijker.nl','Telefonievergelijker.nl')
}

function showProductDetails(id){
	width=500;
	height=400;
	xl = (screen.availWidth/2)-(width/2)
	tt = (screen.availHeight/2)-(height/2)
	product=window.open('/product_details_popup.php?productId='+id,'popup','toolbar=no,scrolling=auto,resizable=no,location=no,directories=no,status=no,scrollbars=yes,menubar=no,width='+width+',height='+height+',left='+xl+',top='+tt);
	product.focus()
	
}

function showPriceplan(id){
	width=500;
	height=400;
	xl = (screen.availWidth/2)-(width/2)
	tt = (screen.availHeight/2)-(height/2)
	priceplan=window.open('priceplan_details_popup.php?priceId='+id,'popup','toolbar=no,scrolling=auto,resizable=no,location=no,directories=no,status=no,scrollbars=yes,menubar=no,width='+width+',height='+height+',left='+xl+',top='+tt);
	priceplan.focus()
}

function bookmark(bookmarkurl, bookmarktitle)
{
	if (document.all)
		window.external.AddFavorite(bookmarkurl, bookmarktitle);
}

function ScaleMainTable()
{
    var version;
    
    if (navigator.appName == "Microsoft Internet Explorer")
	{
        version = parseFloat(navigator.appVersion.split("MSIE")[1]);
        if (version >= 7.0)
		{
            document.getElementById("maintable_ie7").style.height = "" + (document.documentElement.clientHeight - 350) + "px";
        }
    }
}

function showRating(iColumnRating, param_id)
{
	var iTotal = 0;
	var iNumFull = Math.floor(iColumnRating / 2);
	var toPrint = '';
	
	for (var x=1; x<=iNumFull; x++)
	{
		toPrint += "<span class=rating_full></span>";
		iTotal = iTotal + 2;
	}
	if (iColumnRating - (iNumFull * 2) == 1)
	{
		toPrint += "<span class=rating_half></span>";
		iTotal = iTotal + 2;
	}
	for (var z=iTotal+1; z<=10; z=z+2)
	{
		toPrint += "<span class=rating_none></span>";
	}
	
	document.getElementById(param_id).innerHTML = toPrint;
}

// Flash objects don't have to be activated by visitors with this small script
objects = document.getElementsByTagName("object");
for (var i = 0; i < objects.length; i++)
{
    objects[i].outerHTML = objects[i].outerHTML;
}

function inithome()
{
	document.getElementById("bg_1").className = 'innertable_active';
	document.getElementById("bg_2").className = 'innertable_passive';
	document.getElementById("bg_3").className = 'innertable_passive';
	document.getElementById("select_step1").disabled = "";
	document.getElementById("select_step2").disabled = "disabled";
	document.getElementById("button_home").disabled = "disabled";
	document.getElementById("text_home_1").visibility  = "visible";
	document.getElementById("text_home_2").visibility  = "hidden";
	document.getElementById("text_home_3").visibility  = "hidden";
	document.getElementById("text_home_sub_1").visibility  = "visible";
	document.getElementById("text_home_sub_2").visibility  = "hidden";
	document.getElementById("text_home_sub_3").visibility  = "hidden";
	document.getElementById("ani_step1_passive_ie7").visibility  = "hidden";
	document.getElementById("ani_step1_passive").visibility  = "hidden";
	document.getElementById("ani_active").visibility  = "visible";
	document.getElementById("ani_active_ie").visibility  = "visible";
}

function changestep(first, next)
{
	if (first == 1 && next == 2)
	{
		document.getElementById("bg_1").className = 'innertable_passive';
		document.getElementById("bg_2").className = 'innertable_active';
		document.getElementById("bg_3").className = 'innertable_passive';
		document.getElementById("select_step1").disabled = "";
		document.getElementById("select_step2").disabled = "";
		document.getElementById("button_home").disabled = "disabled";
		document.getElementById("text_home_1").visibility  = "hidden";
		document.getElementById("text_home_2").visibility  = "visible";
		document.getElementById("text_home_3").visibility  = "hidden";
		document.getElementById("text_home_sub_1").visibility  = "hidden";
		document.getElementById("text_home_sub_2").visibility  = "visible";
		document.getElementById("text_home_sub_3").visibility  = "hidden";
		document.getElementById("ani_step1_passive_ie7").visibility  = "visible";
		document.getElementById("ani_step1_passive").visibility  = "visible";
		document.getElementById("ani_active").visibility  = "hidden";
		document.getElementById("ani_active_ie").visibility  = "hidden";
	}
	else if (first == 2 && next == 3)
	{
		document.getElementById("bg_1").className = 'innertable_passive';
		document.getElementById("bg_2").className = 'innertable_passive';
		document.getElementById("bg_3").className = 'innertable_active';
		document.getElementById("select_step1").disabled = "";
		document.getElementById("select_step2").disabled = "";
		document.getElementById("button_home").disabled = "";
		document.getElementById("text_home_1").visibility  = "hidden";
		document.getElementById("text_home_2").visibility  = "hidden";
		document.getElementById("text_home_3").visibility  = "visible";
		document.getElementById("text_home_sub_1").visibility  = "hidden";
		document.getElementById("text_home_sub_2").visibility  = "hidden";
		document.getElementById("text_home_sub_3").visibility  = "visible";
	}
}

function showPayinfo()
{
	document.getElementById("payinfo").style.display  = "";
}

function hidePayinfo()
{
	document.getElementById("payinfo").style.display  = "none";
}

function switchPayInfo()
{
	if (document.getElementById("payinfo").style.display  == "none")
	{
		document.getElementById("payinfo").style.display  = "";
	}
	else
	{
		document.getElementById("payinfo").style.display  = "none";
	}
}

function openPopUp(path, windowTitle, windowWidth, windowHeight)
{

	popImg = window.open(path, windowTitle, "toolbar=no,scrollbars=yes,resizable=no,width="
           + (parseInt(windowWidth)+20)  + ",height="
           + (parseInt(windowHeight)+20));

	popImg.moveTo(window.screenWidth, window.screenHeight);
}
