var bToMenuAangepast = false;
var uri = new Object();

$(document).ready(function(){
	uri = getURL(uri);
	Initalisering();
});

function Initalisering() {
	$('.nojs-hide').show();
	$('.js-hide').hide();
	$('.js-set-pointer').addClass("js-link");
	$('.closed-arrow-down').addClass("closed-arrow-right");
	$('.closed-arrow-down').removeClass("closed-arrow-down");
	$('a.jshref').attr("href", "javascript://")
	$('.jsdel').remove();
	$('.js-set-pointer').click(function(){
		$(this).next('.js-hide').slideToggle();
		$(this).children('.js-close-block').toggle();
		$(this).toggleClass("closed-arrow-right");
		$(this).toggleClass("closed-arrow-down");
		$(this).parent(".bd-arrows").toggleClass("closed-arrow-right");
		$(this).parent(".bd-arrows").toggleClass("closed-arrow-down");

		if ($(this).closest("div").parent("div").hasClass('media') == false) {
			$(this).toggleClass("bd-lichtst");
			$(this).next('dd').toggleClass("bd-lichtst");
		}

		//readspeaker uitzetten indien nodig
		var rspID = $(this).next('.js-hide').children('.clRsp').attr('id');
		if (rspID != undefined) {
			$(this).parent(".help").toggle();
			$("#rsp_hoofd_content").toggle();
			var para1 = $(this).next('.js-hide').children('.clRsp').children('.clRspPlayerAan').attr('id');
			var para2 = $(this).next('.js-hide').children('.clRsp').children('.clRspLinkUit').attr('id');
			if (para1 != undefined && para2 != undefined) {
				close_rsp_player(para1, para2);
			}
		}
	});
	$('.clTopClose .js-set-pointer').click(function(){
		$(this).parent(".help").toggle();
	});
	checkContentAdd(this);
	$(".required, .check_maxlength, .checkboxgroup input").focus(function () {fbResetInputError(this)}); // t.b.v. valideren formulieren
	if (bToMenuAangepast == false) {
		try {interactiebox()} catch(e){};
		dgFilter();
	}
	try {check_belangrijk_nieuws()} catch(e){};
	//try {migratie_wcm()} catch(e){};
}

function check_belangrijk_nieuws(){
	if (bBelangrijkNieuwsPrive != true){try {$('#divExtraNieuws_prive').remove();} catch(e){};}
	if (bBelangrijkNieuwsZakelijk != true){try {$('#divExtraNieuws_zakelijk').remove();} catch(e){};}
	if (bBelangrijkNieuwsIntermediairs != true){try {$('#divExtraNieuws_intermediairs').remove();} catch(e){};}
	if (bBelangrijkNieuwsDouane != true){try {$('#divExtraNieuws_douane').remove();} catch(e){};}
	if (bBelangrijkNieuwsToeslagen != true){try {$('#divExtraNieuws_toeslagen').remove();} catch(e){};}
}

function dgFilter(){
	var sDgFilter = $("meta[name=dgFilter]").attr("content");
	if (sDgFilter != undefined && trim(sDgFilter) != "" && sDgFilter.indexOf(",") == -1) {
		sDgFilter = sDgFilter.toLowerCase()
		sDgFilter = sDgFilter.replace(/ - /g,"-");
		sDgFilter = sDgFilter.replace(/ /g,"_");
		var aTmp = $('.dgFilter');
		for (var i=0; i < aTmp.length; i++){
			var sPath = $(aTmp[i]).attr("href");
			if (sPath.substr(sPath.length -1, 1) == "/"){sPath = sPath.substr(0,sPath.length -1) }			
			var sFile = sPath.substr(sPath.lastIndexOf("/")) + "_" + sDgFilter;
			$(aTmp[i]).attr("href",sPath + sFile );
		}
	}
	bToMenuAangepast = true;
}

function checkContentAdd(){
//Content_add leeg maken als er verder geen content in staat
	var nDivs = $("#content_add > div:not(.clRsp)").length;
	if (nDivs == 0){
		$('#content_add').empty();
	}
//Banner verwijderen als de doelpagina van de banner wordt getoond.
	var aDivs = $("div .banner");
	for (var i=0; i<aDivs.length ; i++){
		var sId = aDivs[i].id;
		if (sId.length > 0){
			//var sTemp = "#" + sId + " a.bloklink";
			var sHrefUrl = $("#" + sId + " a.bloklink").attr("href");
			if(sHrefUrl == uri.pathdocroot) {
				$('#'+ sId).remove();
			}
		}
	}
}

// begin presentatie helpblokken op overzicht-pagina's
function doHelp( id, oThis){
	var iCorrectie =5;
	var iTop = $("#" + oThis.id).offset().top;
	var iTopMain = $(".content_main").offset().top;

	if ($.browser.msie){
		var iPaddingContentMain = 0;
	} else {
		var iPaddingContentMain = parseInt($(".content_add").css("padding-top"));
	}
		
	var margin_top = iTop - (iTopMain + iPaddingContentMain + iCorrectie) ;
	$("#" + id).css("margin-top",margin_top + "px");
	$('.help .js-close-block').show();
	
	//de werkelijke presentatie
	if ( $('.help:visible').attr("id") != id) {
		$('.help:visible').toggle();
		$('.btn-help-on').toggleClass("btn-help-on");
	}
	$('#'+id).toggle(); 
	$(oThis).toggleClass("btn-help-on");
}

function closeHelp(oThis){
	$(oThis).parent().parent(".help").hide();	
	var id= "#btn_" + $(oThis).parent().parent(".help").attr("id")
	$(id).toggleClass("btn-help-on");
}
// einde presentatie helpblokken op overzicht-pagina's


//begin code t.b.v. feedbackform
function interactiebox(){
	$("#feedback_start").click(function () { 
		feedbackbox_toggle();
  }); 
	$("#feedback_box .js-close-block").click(function () { 
		feedbackbox_toggle();
	});
	$("#fb_reactie").keyup(function () { 
		show_character_count(document.getElementById("fb_reactie"), document.getElementById("fb_reactie_teller"))
	});
	fb_init_text();
	fb_check_init_text();
	$("#fb_onderwerp").blur(function () {fb_check_init_text()});	
	$("#fb_onderwerp").focus(function () {fb_check_init_text()});	
}

function fbResetInputError(oThis){
	$(oThis).closest("li").removeClass("input_error");
}

var sFBTextOnderwerp;
function fb_init_text(){
	// Standaardteksten
	var taal = document.getElementsByTagName('html')[0].lang;
	if (taal=='nl'){
		sFBTextOnderwerp = 'Geef kort en bondig weer waar uw reactie over gaat';
	}	else if (taal=='de'){
		sFBTextOnderwerp = 'Schildern Sie kurz und buendig, worauf sich Ihr Kommentar bezieht.';
	}	else if (taal=='en'){
		sFBTextOnderwerp = 'Briefly and concisely state what your response is about.';
	}
	document.getElementById("feedback_form").reset();
	return(true);
}

function fb_check_init_text(){
	var idOnderwerpVeld = 'fb_onderwerp';
	var sCss = 'init_text'; 	
	if (document.getElementById(idOnderwerpVeld).value == sFBTextOnderwerp) {
		document.getElementById(idOnderwerpVeld).value = '';
		$('#fb_onderwerp').removeClass(sCss);
	}	else if (document.getElementById(idOnderwerpVeld).value == '') {
		document.getElementById(idOnderwerpVeld).value = sFBTextOnderwerp;
		$('#fb_onderwerp').addClass(sCss);
	}
	return(true);
}

function show_character_count(oField, oCounter){
	if (oField.getAttribute('saveMaxLength') == null){
		oField.setAttribute('saveMaxLength', oField.getAttribute('maxlength'));
		oField.removeAttribute('maxlength');
	}
	var iMax = parseInt(oField.getAttribute('saveMaxLength'));	
	var iRest = iMax - oField.value.length;
	
	if (iRest < 0 && $(oCounter).hasClass("veld_info_error") == false ){
		$(oCounter).addClass("veld_info_error");	
	} else if (iRest >= 0 && $(oCounter).hasClass("veld_info_error") ) {
		$(oCounter).removeClass("veld_info_error");		
	}
	oCounter.innerHTML = iRest;
}

function feedbackbox_toggle(){
	 $("#feedback_box").toggle();
	 $("#interactie_bar").toggle();
	 $('#interactie_box').toggleClass("click_box_open");
}

function doSend(f, sTaal, thisSiteStat) {
	if (doForm(f, sTaal) == true) {
		if (thisSiteStat) {
			thisSiteStat = "http://nl.sitestat.com/belastingdienst/belastingdienst/s?" + thisSiteStat;
			var counter = thisSiteStat + "&ns__t=" + new Date().getTime();
			var counterImage = new Image(); counterImage.src = counter;
		}
		return true;
		f.submit();
	} else {
    return false;
	}
}

function doForm(f, sTaal) {
	if ( isRequiredFilled(f, sTaal) ) {
		return true;
	} else {
		return false;
	}
}

function isRequiredFilled(f, sTaal) {
	var aErr = new Array();
	var sErrIntro;
	var aCheck = $("#" + f.id + " .required");
	for (var i=0; i < aCheck.length; i++) {
		if (isElEmpty(aCheck[i]) ) {
			aErr[aErr.length] = new Array(3);
			aErr[aErr.length - 1][0] = aCheck[i].title;
			if (sTaal=="nl"){
				aErr[aErr.length - 1][1] = "U heeft het veld " + aCheck[i].title + " niet ingevuld. Vul dit veld in.";
			} else if (sTaal=="de"){	
				aErr[aErr.length - 1][1] = "DUITS --> U heeft het veld " + aCheck[i].title + " niet ingevuld. Vul dit veld in.";
			} else if (sTaal=="nl"){	
				aErr[aErr.length - 1][1] = "ENGELS --> U heeft het veld " + aCheck[i].title + " niet ingevuld. Vul dit veld in.";
			}
			aErr[aErr.length - 1][2] = $("#" + aCheck[i].id).parent("li");
		} 
	}
//groep checkboxen valideren
// class op omliggende tag (meestal li) moet zijn: checkboxgroup-min-x
// waarbij x vervangen moet worden door het aantal checkboxen dat minimaal aangekruist moet zijn om te valideren.
	var aCheckboxGroup= $("#" + f.id + " .checkboxgroup");
	for (var i=0; i < aCheckboxGroup.length; i++) {	
		var classList = aCheckboxGroup[i].className.split(/\s+/);
		for (ii = 0; ii < classList.length; ii++) {
			if (classList[ii].length > 4) {
				if (classList[ii].substr(0,4) === "min_") {
					var iJuist = parseInt(classList[ii].substr(4) );
					if (isNaN(iJuist) == false) {
						aCheckboxes = aCheckboxGroup[i].getElementsByTagName("input")
						var iGevonden = 0;
						for (iii = 0; iii < aCheckboxes.length; iii++) {
							if (aCheckboxes[iii].checked == true) {
								iGevonden++;
							}
						}	
						if (iGevonden < iJuist){
							aErr[aErr.length] = new Array(3);
							aErr[aErr.length - 1][0] = aCheckboxGroup[i].title;
							if (sTaal=="nl"){
								aErr[aErr.length - 1][1] = "U heeft het veld " + aCheckboxGroup[i].title + " niet ingevuld. Vul dit veld in.";
							} else if (sTaal=="de"){	
								aErr[aErr.length - 1][1] = "DUITS --> U heeft het veld " + aCheckboxGroup[i].title + " niet ingevuld. Vul dit veld in.";
							} else if (sTaal=="nl"){	
								aErr[aErr.length - 1][1] = "ENGELS --> U heeft het veld " + aCheckboxGroup[i].title + " niet ingevuld. Vul dit veld in.";
							}						
							aErr[aErr.length - 1][2] = $(aCheckboxGroup[i]);		
						}
										
					}
				}
			}
		}
	}
//controle op maxlength
 	var aCheck = $("#" + f.id + " .check_maxlength");	
	for (var i=0; i < aCheck.length; i++) {
		//if (checkMaxlength(aCheck[i]) ) {
		
		var iMax = parseInt(aCheck[i].getAttribute('saveMaxLength'));	
		var iRest = iMax - aCheck[i].value.length;
		if(iRest < 0) { 		
			aErr[aErr.length] = new Array(3);
			aErr[aErr.length - 1][0] = aCheck[i].title;
			if (sTaal=="nl"){
				aErr[aErr.length - 1][1] = "U heeft in het veld " + aCheck[i].title + " meer dan " + iMax +  " karakters ingevuld. Verminder het aantal karakters.";
			} else if (sTaal=="de"){	
				aErr[aErr.length - 1][1] = "DUITS --> U heeft in het veld " + aCheck[i].title + " meer dan " + iMax +  " karakters ingevuld. Verminder het aantal karakters.";
			} else if (sTaal=="nl"){	
				aErr[aErr.length - 1][1] = "ENGELS --> U heeft in het veld " + aCheck[i].title + " meer dan " + iMax +  " karakters ingevuld. Verminder het aantal karakters.";
			}
			aErr[aErr.length - 1][2] = $("#" + aCheck[i].id).parent("li");
		} 
	} 	

// alle velden met class "input_error" class verwijderen
$("#" + f.id + " .input_error").removeClass("input_error");	
	
//foutmelding genereren	
	if (aErr.length > 0) {
		if (sTaal=="nl"){
			sErrIntro = "De gegevens zijn niet verzonden.";
		}
		if (sTaal=="de"){
			sErrIntro = "Duits enkelvoud - Textredactie moet nog fout-text aanleveren";
		}
		if (sTaal=="en"){
			sErrIntro = "Engels enkelvoud - Textredactie moet nog fout-text aanleveren";
		}							
		var sHTML = "<p><strong>" + sErrIntro + "</strong></p>\n<ul>";

		for (var i=0; i < aErr.length; i++) {
			sHTML +="\n\t<li>" + aErr[i][1] + "</li>";	
			$(aErr[i][2]).addClass("input_error");
		}
		sHTML += "\n</ul>";
		$("#"+ f.id + " .message_err").html(sHTML);
		$("#"+ f.id + " .message_err").show(); 
		return false;
	} else {	
		$("#"+ f.id + " .message_err").hide(); 
		return true;
	}
}

function checkMaxlength(oField){
	var iMax = parseInt(oField.getAttribute('maxlength'));	
	var iRest = iMax - oField.value.length;
	if(iRest < 0) { 
		return false
	} else {
		return true
	}
}

function isElEmpty(el) {
	var isEmpty = ((el.value == "") || (el.value == " ")|| (el.value == "&nbsp;") || (el.value == null) || $(el).hasClass("init_text") ) ? true : false;
	return isEmpty;
}
//Einde code t.b.v. feedbackform

var uri = new Object();
//  uri = getURL(uri);
function getURL(uri) {
  uri.dir = location.href.substring(0, location.href.lastIndexOf('\/'));
  uri.dom = uri.dir; if (uri.dom.substr(0,7) == 'http:\/\/') uri.dom = uri.dom.substr(7);
  uri.path = ''; var pos = uri.dom.indexOf('\/'); if (pos > -1) {uri.path = uri.dom.substr(pos+1); uri.dom = uri.dom.substr(0,pos);}
  uri.port = ''; var pos = uri.dom.indexOf(':'); if (pos > -1) {uri.port = uri.dom.substr(pos+1);}
  uri.page = location.href.substring(uri.dir.length+1, location.href.length+1);
  pos = uri.page.indexOf('?');if (pos > -1) {uri.page = uri.page.substring(0, pos);}
  pos = uri.page.indexOf('#');if (pos > -1) {uri.page = uri.page.substring(0, pos);}
  uri.ext = ''; pos = uri.page.indexOf('.');if (pos > -1) {uri.ext =uri.page.substring(pos+1); uri.page = uri.page.substr(0,pos);}
  uri.file = uri.page;
  if (uri.ext != '') uri.file += '.' + uri.ext;
  if (uri.file == '') uri.page = 'index';
	if (uri.path == '') { uri.pathdocroot = "\/" + uri.file;} else {uri.pathdocroot = "\/" + uri.path + "\/" + uri.file;}
	uri.args=[];
	if (location.href.indexOf("?") != -1 ){
		if (location.href.indexOf("&") != -1) {
			uri.args = location.href.substr(location.href.indexOf("?")+1).split("&");
		} else {
			uri.args[0] = location.href.substr(location.href.indexOf("?")+1)
		}
	}
	uri.bookmark = location.hash;
	if (uri.bookmark.indexOf("?") != -1){
		uri.bookmark = uri.bookmark.substr(0,uri.bookmark.indexOf("?"));	
	}
  return uri;
}

function doTel(thisSiteStat){
	if (thisSiteStat) {
		thisSiteStat = "http://nl.sitestat.com/belastingdienst/belastingdienst/s?" + thisSiteStat;
    var counter = thisSiteStat + "&ns__t=" + new Date().getTime();
		var counterImage = new Image(); counterImage.src = counter;
	}
}

function trim(strWaarde) {
	strWaarde = strWaarde.replace(/(\s+$)|(^\s+)/g, '');
	return strWaarde
}
