// 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 + 'swfobject.js"><\/scr'+'ipt>');
//document.write('<scr'+'ipt type="text/javascript" src="' + jsPath + 'jquery.dropshadow.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
$.fn.layOut = function(){
	
	//// frontend
	//// frontend
	if(browser.winIE){
		$('#container.wide .right-pane:first').insertBefore("#container.wide .content-pane");
	};
	
	//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
	
	$("#backend .dropshadow").css({ border: "none" });
	
	if(!browser.safari){
		//render dropshadows (safari uses css)
		$("#backend .dropshadow").each( function() {
	     	var myHeight = $(this).height()-14;
				var myWidth = $(this).width()-14;
				$(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)
		$('#backend .rnd-small').corners("3px");
		$('#backend .rnd-big').corners("6px");
		$('#backend .rnd-big-bott').corners("6px bottom");
		$('#backend ul.edit-article li a').corners("6px transparent top");
		$('#backend .tabs-container').corners("6px bottom right");
		$('#backend .rnd-title').corners("6px top");
		//$('.tabs-container .rnd-title').corner("6px hiddenParent tl tr");
		$('#backend .infobox').corner("6px");
	};
	
	
	// jquery UI tabs
	$('ul.edit-article').tabs();
	
	//show infobox
		$("#backend .icon-sprite a").each( function() {
			if (!$(this).hasClass("disabled")){
				xxOffset = -18;
				yyOffset = -202;
				$(this).hover(function(e) {
				    // get the defining span for this element
				    var ele = $(this).parent().children()[1]

				    if (ele) {
				        if (ele.children) {
				            $("#backend .infobox").children()[0].innerHTML = ele.children[0].innerHTML
				            $("#backend .infobox").children()[1].innerHTML = ele.children[1].innerHTML
				        }
				        else {
				            $("#backend .infobox").children()[0].innerHTML = ele.childElements()[0].innerHTML
				            $("#backend .infobox").children()[1].innerHTML = ele.childElements()[1].innerHTML
				        }
				    }
				    else {
				        $("#backend .infobox").children()[0].innerHTML = ""
				        $("#backend .infobox").children()[1].innerHTML = ""
				    }
					$("#backend .infobox")
					.css("top",(e.pageY - xxOffset) + "px")
					.css("left",(e.pageX + yyOffset) + "px")
					.show();
				},function(){
			   		$("#backend .infobox").hide();
				});
				$(this).click(function(){
					return false;
				});
			};
		});

	$('#backend input#wide').click(
    function(e) {
		if ($('#backend input#wide').is(':checked')){
      		//$(e).attr('checked',true);
					$("#backend .right-pane").animate({opacity:'toggle'},1000);
					window.setTimeout(function() {
						$("#backend .left-pane").animate({width:'100%'},600);
					}, 500);
				} else {
					$("#backend .left-pane").animate({width:'570px'},600);
					window.setTimeout(function() {
						$("#backend .right-pane").animate({opacity:'toggle'},1000);
					}, 500);
			}
    });
	
};// end layout on DomLoad


//toggle input value
$.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
$.fn.toggleSeq = function(id, class1, class2) {
$('#'+id+' li a:first').addClass(class2);
$('#'+id+' li div:first').show();
$('#'+id+' li a').click(function() {
	var checkElement = $(this).next();
		if((checkElement.is('div.drempel')) && (checkElement.is(':visible'))) {
			return false;
		}
		if((checkElement.is('div.drempel')) && (!checkElement.is(':visible'))) {    
			$('#'+id+' li a').removeClass(class2);
	        $(this).addClass(class2);
			$('#'+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
$.fn.toggleDiv = function(text1, text2, class1, class2) {
return this.toggle(function(){
			var el = $('#' + this.href.split('#')[1]);
            $(this).text(text2);
            $(this).removeClass(class1);
            $(this).addClass(class2);
           	el.animate({ height: 'toggle'}, {queue:false, duration:600});//, opacity: 'toggle' breaks cleartype IE7
    },function(){
			var el = $('#' + this.href.split('#')[1]);
            $(this).text(text1);
            $(this).removeClass(class2);
            $(this).addClass(class1);
            el.animate({ height: 'toggle'}, {queue:false, duration:400});//, opacity: 'toggle' breaks cleartype IE7
    });
};


//open external links in new window
$.fn.externalLinks = 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).addClass('external').attr('title', 'external link');
		aEl.onclick = function(){
			window.open(this.href);
			return false;
			}
		}
	}
};


//tooltip
$.fn.tooltip = function(){		
		xOffset = -20;
		yOffset = 0;		
	$("a.tooltip").hover(function(e){											  
		this.t = this.title;
		this.title = "";									  
		$("body").append("<p id='tooltip'>"+ this.t +"</p>");
		$("#tooltip")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px")
			.fadeIn("fast");
    },
	function(){
		this.title = this.t;		
		$("#tooltip").remove();
    });	
	$("a.tooltip").mousemove(function(e){
		$("#tooltip")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px");
	});			
};


//suckerfish navigation
$(document).ready(function(){
	$("ul.nav li").hover(
    function() { $(this).addClass("active"); },
    function() { $(this).removeClass("active"); }
  );
});



//DomLoad
$(document).ready(function(){

	//start onload events
	
	$('html').layOut();
	$('html').tooltip();
	$('.togval').toggleVal();

	//$('a.toggle').toggleDiv('meer opties','minder opties','icon-plus','icon-min');
	//$('html').toggleSeq('faq','faq-plus','faq-min');
	
	if (browser.winIE6Down){
		$('img[src$=.png]').ifixpng();
		try {document.execCommand('BackgroundImageCache', false, true);} catch(e) {};
	};
	if (browser.winIE){
		$('input:checkbox, input:radio, input:hidden').css({ border: "none", background: "none" });
	};
	if (browser.safari) { $('input[type=file]').css({ backgroundColor: "transparent", border: "none"}); };
	
	//end onload events
	
});

})(jQuery);

