// browser sniffer
var Browser = function(){
  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.operaMini =  this.uA.indexOf('mini') != -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 && /msie|MSIE 6/.test(navigator.userAgent) == 1 ? 1 : 0;
  this.macIE = this.iE && this.mac ? 1 : 0;
};
var browser = new Browser();
	

// addStyle
var addStyle = function(selector,properties){
  if (document.styleSheets) {
    var s = document.getElementsByTagName('STYLE');
    if (s.length == 0){
      var sheet = document.createElement('style');
      sheet.setAttribute('type','text/css');
      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('.noscript','display: block !important;');


//incl. .js
var jsPath = "scripts/";

document.write('<scr'+'ipt type="text/javascript" src="' + jsPath + 'jquery.corner.js"><\/scr'+'ipt>');
document.write('<scr'+'ipt type="text/javascript" src="' + jsPath + 'jquery.corners.js"><\/scr'+'ipt>');
document.write('<scr'+'ipt type="text/javascript" src="' + jsPath + 'jquery.ui.core.js"><\/scr'+'ipt>');
document.write('<scr'+'ipt type="text/javascript" src="' + jsPath + 'jquery.ui.tabs.js"><\/scr'+'ipt>');
document.write('<scr'+'ipt type="text/javascript" src="' + jsPath + 'jquery.thickbox.js"><\/scr'+'ipt>');
document.write('<scr'+'ipt type="text/javascript" src="' + jsPath + 'jquery.cookie.js"><\/scr'+'ipt>');
//document.write('<scr'+'ipt type="text/javascript" src="' + jsPath + 'swfobject.js"><\/scr'+'ipt>');
if (browser.winIE6Down){
	document.write('<scr'+'ipt type="text/javascript" src="' + jsPath + 'jquery.ifixpng.js"><\/scr'+'ipt>');
};

jQuery.noConflict();
(function($) {

//layout on DomLoad
jQuery.fn.layOut = function() {
	
/*

	//// frontend
	
	//rounded background corners (use corner with border, use corners without border)
	// $('#frontend .rnd-small').corner("3px");
	// 	$('#frontend .rnd-big').corner("6px");
	if(!browser.safari && !browser.winIE6Down){
			$('#frontend #toolbar').corner("4px");
			$('#frontend #toolbar a').corner("4px");
			$('#frontend .toolbarUser a').corner("4px");
		if(!browser.winIE){
			$('#frontend input.loginButton').corner("3px");
			$('#frontend input.button').corner("3px");
		};
	};
	
*/	

	
	//// backend

jQuery("#backend .dropshadow").css({ border: "none" });
	
	if(!browser.safari){
		//render dropshadows (safari uses css)
	    jQuery("#backend .dropshadow").each(function() {
	    var myHeight = jQuery(this).height() - 14;
	    var myWidth = jQuery(this).width() - 14;
				jQuery(this).prepend('<div class="tl"></div><div style="width:' + myWidth + 'px !important;" class="tm"></div><div class="tr"></div><div style="height:' + myHeight + 'px !important;" class="ml"></div><div style="height:' + myHeight + 'px !important;" class="mr"></div><div class="bl"></div><div style="width:' + myWidth + 'px !important;" class="bm"></div><div class="br"></div>');
		});
		//rounded corners or border (safari uses css)
		jQuery('#backend .rnd-small').corners("3px");
		jQuery('#backend .rnd-big').corners("6px");
		jQuery('#backend .rnd-big-bott').corners("6px bottom");
		jQuery('#backend ul.edit-article li a').corners("6px transparent top");
		jQuery('#backend .tabs-container').corners("6px bottom right");
		jQuery('#backend .rnd-title').corners("6px top");
		//$('.tabs-container .rnd-title').corner("6px hiddenParent tl tr");
		jQuery('#backend .infobox').corner("6px");
	};
	
	
	// jquery UI tabs
	jQuery('ul.edit-article').tabs();
	
	//show infobox
	jQuery("#backend .icon-sprite a").each(function() {
	if (!jQuery(this).hasClass("disabled")) {
				xxOffset = -18;
				yyOffset = -202;
				jQuery(this).hover(function(e) {
				    // get the defining span for this element
				var ele = jQuery(this).parent().children()[1]

				    if (ele) {
				        if (ele.children) {
				            jQuery("#backend .infobox").children()[0].innerHTML = ele.children[0].innerHTML
				            jQuery("#backend .infobox").children()[1].innerHTML = ele.children[1].innerHTML
				        }
				        else {
				            jQuery("#backend .infobox").children()[0].innerHTML = ele.childElements()[0].innerHTML
				            jQuery("#backend .infobox").children()[1].innerHTML = ele.childElements()[1].innerHTML
				        }
				    }
				    else {
				        jQuery("#backend .infobox").children()[0].innerHTML = ""
				        jQuery("#backend .infobox").children()[1].innerHTML = ""
				    }
				    jQuery("#backend .infobox")
					.css("top",(e.pageY - xxOffset) + "px")
					.css("left",(e.pageX + yyOffset) + "px")
					.show();
				},function(){
				    jQuery("#backend .infobox").hide();
				});
				jQuery(this).click(function() {
					return false;
				});
			};
		});

		jQuery('#backend input#wide').click(
    function(e) {
		if (jQuery('#backend input#wide').is(':checked')) {
      		//$(e).attr('checked',true);
		    jQuery("#backend .right-pane").animate({ opacity: 'toggle' }, 1000);
					window.setTimeout(function() {
					    jQuery("#backend .left-pane").animate({ width: '100%' }, 600);
					}, 500);
				} else {
				    jQuery("#backend .left-pane").animate({ width: '570px' }, 600);
					window.setTimeout(function() {
					    jQuery("#backend .right-pane").animate({ opacity: 'toggle' }, 1000);
					}, 500);
			}
    });
	
};// end layout on DomLoad


//toggle input value
jQuery.fn.toggleVal = function() {
return this.focus(function() {
	if( this.value == this.defaultValue ) {
		this.value = "";
	}
}).blur(function() {
	if( !this.value.length ) {
		this.value = this.defaultValue;
		}
	});
};


//toggle div sequence
jQuery.fn.toggleSeq = function(id, class1, class2) {
jQuery('#' + id + ' li a:first').addClass(class2);
jQuery('#' + id + ' li div:first').show();
jQuery('#' + id + ' li a').click(function() {
var checkElement = jQuery(this).next();
		if((checkElement.is('div.drempel')) && (checkElement.is(':visible'))) {
			return false;
		}
		if((checkElement.is('div.drempel')) && (!checkElement.is(':visible'))) {
		    jQuery('#' + id + ' li a').removeClass(class2);
		    jQuery(this).addClass(class2);
		    jQuery('#' + id + ' div.drempel:visible').animate({ height: 'toggle' }, { queue: true, duration: 600 }); //, opacity: 'toggle' breaks cleartype IE7	
				checkElement.animate({ height: 'toggle'}, {queue:true, duration:600});//, opacity: 'toggle' breaks cleartype IE7
			return false;
		}
	});
};


//toggle div
jQuery.fn.toggleDiv = function(text1, text2, class1, class2) {
return this.toggle(function(){
    var el = jQuery('#' + this.href.split('#')[1]);
        jQuery(this).text(text2);
        jQuery(this).removeClass(class1);
        jQuery(this).addClass(class2);
           	el.animate({ height: 'toggle'}, {queue:false, duration:600});//, opacity: 'toggle' breaks cleartype IE7
    },function(){
        var el = jQuery('#' + this.href.split('#')[1]);
            jQuery(this).text(text1);
            jQuery(this).removeClass(class2);
            jQuery(this).addClass(class1);
            el.animate({ height: 'toggle'}, {queue:false, duration:400});//, opacity: 'toggle' breaks cleartype IE7
    });
};

/**********************************************************************
/**********************************************************************
/ MYREPORT.JS
/**********************************************************************
/**********************************************************************/

function fnMy_CheckboxSelected() {
    var oneOrMoreChecked = false;
    var checkBoxTable = document.getElementById('checkboxTable');

    var inputs = checkBoxTable.getElementsByTagName('input');
    for (var i = 0; i < inputs.length; i++) {
        if (inputs.item(i).checked) {
            oneOrMoreChecked = true;
        }
    }

    if (!oneOrMoreChecked) {
        alert('Selecteer een of meer artikel(en) voor download.')
    };
    return oneOrMoreChecked;
}


/** EXTERNAL.JS
/**********************************************************************
/**********************************************************************/

//open external links in new window
jQuery.fn.externalLinks = function() {
    var localDomain = (location.href.split('/')[2]);
    var base = jQuery('base');
    
    if (base.length > 0) {
	localDomain = base[0].href.replace('http://','').replace('/','');
    }	

    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).addClass('external'); //.attr('title', 'external link'); (Issue FB-1917)
            aEl.onclick = function() {
                window.open(this.href);
                return false;
            }
        }
    }
};


//tooltip
jQuery.fn.tooltip = function() {		
		xOffset = -20;
		yOffset = 0;
		jQuery("a.tooltip").hover(function(e) {											  
		this.t = this.title;
		this.title = "";
		jQuery("body").append("<p id='tooltip'>" + this.t + "</p>");
		jQuery("#tooltip")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px")
			.fadeIn("fast");
    },
	function(){
		this.title = this.t;
		jQuery("#tooltip").remove();
    });
    jQuery("a.tooltip").mousemove(function(e) {
        jQuery("#tooltip")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px");
	});			
};


//suckerfish navigation
jQuery(document).ready(function() {
	$("ul.nav li").hover(
    function() { jQuery(this).addClass("active"); },
    function() { jQuery(this).removeClass("active"); }
  );
});


//set font size
jQuery(document).ready(function() {

    jQuery(".txt-size-01").click(function(event) {
	event.preventDefault();
	    jQuery("body").removeClass();
	    jQuery("body").addClass("txt-size-01");
	    jQuery.cookie("fontSize", "txt-size-01");
		return false;
	});

	jQuery(".txt-size-02").click(function(event) {
	event.preventDefault();
	    jQuery("body").removeClass();
	    jQuery("body").addClass("txt-size-02");
	    jQuery.cookie("fontSize", "txt-size-02");
		return false;
	});

	jQuery(".txt-size-03").click(function(event) {
	event.preventDefault();
	    jQuery("body").removeClass();
	    jQuery("body").addClass("txt-size-03");
	    jQuery.cookie("fontSize", "txt-size-03");
		return false;
	});

	// Cookie
	var fontSize = jQuery.cookie("fontSize");
	if(fontSize == "txt-size-01") {
	    jQuery("body").addClass("txt-size-01");
	};

	if(fontSize == "txt-size-02") {
	    jQuery("body").addClass("txt-size-012");
	};

	if(fontSize == "txt-size-03") {
	    jQuery("body").addClass("txt-size-03");
	};

});


//DomLoad
jQuery(document).ready(function() {


    jQuery('html').layOut();
    jQuery('html').tooltip();
    jQuery('.togval').toggleVal();

    jQuery('#content a[href^=http]').externalLinks();

	//$('a.toggle').toggleDiv('meer opties','minder opties','icon-plus','icon-min');
	//$('html').toggleSeq('faq','faq-plus','faq-min');
	
	if (browser.winIE6Down){
	    jQuery('img[src$=.png]').ifixpng();
		try {document.execCommand('BackgroundImageCache', false, true);} catch(e) {};
	};
	if (browser.winIE){
	    jQuery('input:checkbox, input:radio, input:hidden').css({ border: "none", background: "none" });
	};
	if (browser.safari) { jQuery('input[type=file]').css({ backgroundColor: "transparent", border: "none" }); };
	
	//end onload events
	
});

})(jQuery);

