/* webdev: Pim Rijpsma - pim@fabrique.nl */


// browser sniffer
function Browser(){
  this.uA = navigator.userAgent.toLowerCase();
  this.aN = navigator.appName.toLowerCase();
  this.iE = this.aN.indexOf('microsoft') != -1 ? 1 : 0;
  this.mac =  this.uA.indexOf('mac') != -1 ? 1 : 0;
  this.win = this.uA.indexOf('windows') != -1 ? 1 : 0;
  this.safari =  this.uA.indexOf('webkit') != -1 ? 1 : 0;
  this.opera =  this.uA.indexOf('opera') != -1 ? 1 : 0;    
  this.mozilla = this.aN.indexOf('netscape') != -1 && !this.safari ? 1 : 0;
  this.winMozilla = this.mozilla && this.win ? 1 : 0;
  this.winIE = this.iE && this.win && !this.opera ? 1 : 0;
  this.winIE6Down = this.winIE && parseInt(this.uA.split('msie ')[1].substring(0,1)) <= 6 ? 1: 0;
  this.macIE = this.iE && this.mac ? 1 : 0;
};
var browser = new Browser();

//incl. .js
//NIET XML COMPATIBLE!!! Gebruik een script tag in de XSLT's!!
//Dit geld ook voor de XOPUS pagina's zodat ze het script kunnen blijven delen en we niet 2 versies krijgen.
//if (window.jsPath == null)
//var jsPath = "/scripts/";
//document.write('<scr'+'ipt type="text/javascript" src="' + jsPath + 'jquery-latest.js"><\/scr'+'ipt>');
//document.write('<scr'+'ipt type="text/javascript" src="' + jsPath + 'jquery.jtip.js"><\/scr'+'ipt>');

// framebuster
//if (window!= top)top.location.href=location.href;

// getElementById
function getEl(id){
  return document.getElementById(id);
};

// addStyle
function addStyle(selector,properties){
  if (document.styleSheets) {
    var s = document.getElementsByTagName('style');
    if (s.length == 0){
      var sheet = document.createElement('style');
      sheet.setAttribute('type','text/css');
      //NIET XML COMPATIBLE, 'HEAD' = 'head'
      document.getElementsByTagName('head')[0].appendChild(sheet);}
    if (browser.winIE){
      var lastSheet = document.styleSheets[document.styleSheets.length - 1];
      lastSheet.addRule(selector, properties);}
    else {var lastSheet = s[0];
      lastSheet.appendChild(document.createTextNode(selector + ' { ' + properties + ' }'));}
  	}
};
addStyle('.drempel','display:none;');
addStyle('.rel','position:absolute !important;');
	
//hover form buttons
var setHover = function(){
if(!document.getElementsByTagName('input')) return false;
var hbg = document.getElementsByTagName('input');
	for (var i = 0; i < hbg.length; i++) {		
		if(hbg[i].getAttribute('type')=='submit' || hbg[i].getAttribute('type')=='reset' || hbg[i].getAttribute('type')=='button' || hbg[i].getAttribute('type')=='file') {
			hbg[i].onmouseover=function(){
				this.className = 'buttonhover';
			}
			hbg[i].onmouseout=function(){
				this.className = 'button';
			}
		}
	}
};

//search toggle value
var setSearch = function(id){
if(!document.getElementById(id)) return false;
var j = document.getElementById(id);
var key = j.value;
	j.onfocus=function(){
		if(j.value==key)j.value='';
	}
	j.onblur=function(){		
		if (j.value=='')j.value=key;
	}
};	

/**
//toggle
var cel = null;
function toggle(el){
  var el = el.match(/#(\w.+)/)[1];
	if (cel) {
		$('#' + cel).slideUp("fast");
		//$(this).removeClass("min");
		//$(this).addClass("plus");
	}
	if (el != cel) {
	  cel = el;
		$('#' + cel).slideDown("fast");
	} else {
    cel = null;
  }
	return false;
};
**/

function toggle(el) {
  var name = el.href.match(/#(\w.+)/)[1];
  if($("#"+name).css('display') == 'none') {
    $("#"+name).slideDown("fast");
    $(el).removeClass("plusbtn");
    $(el).addClass("minbtn");
    $(el).html("Minder zoekmogelijkheden");
  } else {
    $("#"+name).slideUp("fast");
    $(el).removeClass("minbtn");
    $(el).addClass("plusbtn");
    $(el).html("Meer zoekmogelijkheden");
  }
}

// set external links
var setExternalLinks = function(){
	var localDomain = Array(
		"www.statengeneraaldigitaal.nl",
		"jsru.kb.nl",
		"sgdo.kb.nl",
		"jsruo.kb.nl",
		"jsrua.kb.nl",
		"sgda.dmz.kb.nl",
		"sgd.kb.nl" );
	var localExtensionsInNewWindow = Array('doc','xls','pdf');
	var list = document.getElementsByTagName('a');
    urlLoop:for (var i = 0; i < list.length; i++){
    	var aEl = list[i];
    	//if no href propertie, do nothing.
    	if(!aEl.href)
    		continue;
        var aElHref = aEl.href.split("/");
        //if no proper external domain to validate, do nothing.
        if(!(aElHref.length >= 3))
        	continue;
        aElHref = aElHref[2].replace(/ /,"");
		// check for extensions
		var extension = (aElHref.substring(aElHref.length - 4,aElHref.length)).toLowerCase();
        for (var j = 0; j < localExtensionsInNewWindow.length; j++){
            if (extension == '.' + localExtensionsInNewWindow[j]){
				//open extendsions in new window
				aEl.onclick = function(){
	            	window.open(this.href);
                	return false;
             	}
             	continue urlLoop;
            }
		}
		//open mailto: en javascript: links in same window.
		if(aElHref.indexOf('mailto:') != -1 || aElHref.indexOf('javascript:') != -1)
			continue;
		// open urls from non local domains in new window
		for(var j = 0; j < localDomain.length; j++)
			if(aElHref == localDomain[j])
				continue urlLoop;
		aEl.onclick = function(){
	    	window.open(this.href);
        	return false;
        }
	}
};

/*/ set external links
var setExternalLinks = function(){
var localDomain = (location.href.split('/')[2]);
var localExtensionsInNewWindow = Array('doc','xls','pdf');
var list = document.getElementsByTagName('A');
	for (var i = 0; i < list.length; i++){
	var aEl = list[i];
	var aElHref = aEl.href;
// check for extensions
var extension = (aElHref.substring(aElHref.length - 4,aElHref.length)).toLowerCase();
var foundExtension = false;
	for (var j = 0; j < localExtensionsInNewWindow.length; j++){
	if (extension == '.' + localExtensionsInNewWindow[j]){
		foundExtension = true;
	break;
	}
}
// open in new window if conditions are right
if ((aElHref.split('/')[2] != localDomain && aElHref.indexOf('mailto:') == -1 && aElHref.indexOf('javascript:') == -1) || foundExtension){
		aEl.onclick = function(){
			window.open(this.href);
			return false;
			}
		}
	}
};*/

//table styles
function styleList(){
 	$("ul.searchres li:even").addClass('alt');
	//$("ul.searchres li").mouseover(function() {$(this).addClass("over");}).mouseout(function() {$(this).removeClass("over");});
};


function randArraySort(){
  return (Math.round(Math.random())-0.5);
}


//Random colors
function rndColor(){

  var hbg = $(".rnd");
  var hbf = $(".rndtxt");
  var RndColor = new Array('olive','green','plum','pink','purple','red','aqua','marine');
  RndColor.sort( randArraySort );
  var str = '';
  var num = 0;
	for (var i = 0; i < hbg.length; i++) {	
		var Color = (RndColor[num]);
		$(hbg[i]).addClass(Color);
		//$(hba[i]).addClass(Color+"tag");
	  if ($(".rndtxt").length != 0) $(hbf[i]).addClass(Color+"txt");
    num++;
    if (num >= RndColor.length){
      num = 0;
    }
	}
  
  //links 
  var hba = $("blockquote p > a");
  RndColor.sort( randArraySort );
  var num = 0;
  for (var i = 0; i < hba.length; i++) {
		Color 	= (RndColor[num]);
		$(hba[i]).addClass(Color+'tag');
    num++;
    if (num >= RndColor.length){
      num = 0;
    }
  }
  //tags 
  var hbt = $("blockquote p > span.tag");
  RndColor.sort( randArraySort );
  var num = 0;
  for (var i = 0; i < hbt.length; i++) {
    Color 	= (RndColor[num]);
	$(hbt[i]).addClass(Color+'tag');
    num++;
    if (num >= RndColor.length){
      num = 0;
    }
  }
};

function show(event, id) {
    $("#subnavigation li").removeClass('selected');
    $(event).parent().addClass('selected');

    $("div.section.selected").removeClass("selected").addClass("drempel");
    $("div.section.drempel").css('display', 'none').css('visibility', 'hidden');
    $("#"+id).css('display', 'block').css('visibility', 'visible');
}

//Round border
function roundBorder(){
	$(".rndgrey").prepend('<div class="tl"></div><div class="tr"></div>').append('<div class="bl"></div>');
	$(".rndwhite").prepend('<div class="tl"></div><div class="tr"></div>').append('<div class="br"></div>');
	$("#rightcolumn .rnd").eq(0).addClass("first");
};

//layout case switcher 
var currentLarge = 1;
function checkWindowWidth(){
//if(!document.getElementById(id)) return false;
//NIET XML COMPATIBLE, document.body is GEEN XML DOM funcite - var smaller = ((document.documentElement.clientWidth > 0 && document.documentElement.clientWidth < 960) || document.body.clientWidth < 960);
	var smaller = ((document.documentElement.clientWidth > 0 && document.documentElement.clientWidth < 960) || document.getElementsByTagName('body')[0].clientWidth < 960);
	var elHTML = document.getElementsByTagName('html')[0];
  if (smaller) { if (currentLarge == 0){ return; }
		currentLarge = 0;
    if (elHTML){elHTML.className = 'small';}
	} else {	if (currentLarge == 1){ return; }
		currentLarge = 1;
    if (elHTML){elHTML.className = '';}
	}
};

function checkSearchfieldsContents(blockID) {
  var flag;
  flag = 0;
  $("input", "#"+blockID).each(function(i){
    if (this.value != '') {
      flag = 1;
    }
  });

  $("input", "#"+blockID).each(function(i){
    if (this.value != '') {
      flag = 1;
    }
  });

  if (flag == 1) {
    $('#'+blockID).css("display","block");
    $("#"+blockID+"_button").removeClass("plusbtn");
    $("#"+blockID+"_button").addClass("minbtn");
    $("#"+blockID+"_button").html("Minder zoekmogelijkheden");
  }
}

function checkSearchfields() {

  checkSearchfieldsContents("fold_kamerverslagen");
  checkSearchfieldsContents("fold_kamerstukken");
  checkSearchfieldsContents("fold_kamervragen");

}
		
//DOM loader, Dean Edwards/Matthias Miller/John Resig
function init() {
	//SGD needs to update layout again after ajax call's.
	// This fives double double quotes... why make double quote's with JavaScript?????
	// correcting...
	// if (arguments.callee.done) return;
	//arguments.callee.done = true; 
	if (_timer) clearInterval(_timer);
	roundBorder();
	rndColor();
	styleList();
	checkWindowWidth();
  checkSearchfields();
	//setSearch('search');
	setHover();
	setExternalLinks();
	//$("a.top").click(function(){$('#framework').ScrollTo(800);return false;});
	if (!arguments.callee.done){
		arguments.callee.done = true;
		$("blockquote > p").prepend('<span class="quote neg">&ldquo;</span>').append('<span class="quote">&rdquo;</span>');
	}
	try {document.execCommand('BackgroundImageCache', false, true);} catch(e) {};
	
	//correct css for IE6 if SGDAjax.js is loaded
	if(browser.winIE6Down && typeof(correctRelativeCssFilterUrlsIE6) != 'undefined'){
		correctRelativeCssFilterUrlsIE6();
	}
};
if (document.addEventListener) {
	document.addEventListener("DOMContentLoaded", init, false);
}
// for Internet Explorer (using conditional comments)
/*@cc_on @*/
/*@if (@_win32)document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
var script = document.getElementById("__ie_onload");
script.onreadystatechange = function() {    
	if (this.readyState == "complete") {        
		init();  
	}
};
/*@end @*/

if (/WebKit/i.test(navigator.userAgent)) {  
var _timer = setInterval(function() {        
	if (/loaded|complete/.test(document.readyState)) {            
		clearInterval(_timer); init();}}, 10);
};

window.onload = function(){
	init();
};
//function() {
	//Update DOM for SGD if SGDAjax is included in page else just init.
//	if(typeof(updateDom) != 'undefined'){
//		updateDom();
//	} else {
//		init();
//	}
//};

window.onresize = function(){
	checkWindowWidth();
};
