var ForrestToolbarPath = "http://toolbar.forrestmedia.nl/1.0/";
var LastChangeDate = "20100126";

if(CheckBlackList()){
    loadjscssfile(ForrestToolbarPath+"forrest-toolbar.css?"+LastChangeDate,"css", null);
    loadjscssfile(ForrestToolbarPath+"forrest-toolbar-print.css?"+LastChangeDate,"css","print");

    if (typeof jQuery == 'undefined') {loadjscssfile(ForrestToolbarPath+"jquery-1.3.2.min.js?"+LastChangeDate, "js",null, function(){startToolBar();});}
    else{startToolBar();}
}

function startToolBar(){$(document).ready(function(){CreateToolbar(GetDomain());});}

function CreateToolbar(siteName) {
        var olezoArr = new Array("Olezo.nl", "http://www.olezo.nl/","olezo" , new Array(new Array(".wrapper","margin-top:20px;"), new Array("#headerContent", "top:20px;")));
        var vakantiesArr = new Array("Vakanties.nl", "http://www.vakanties.nl", "vakanties", "multiple", new Array(
    							    new Array("alle.vakanties.nl", new Array(new Array(".wrapper",""), new Array("#headerContent", "")))
    							    ,new Array("vakanties.nl", new Array(new Array("#Content","margin-top:280px;"),new Array("#Header","top:20px;")))));
        var vakantieoordeelArr = new Array("VakantieOordeel.nl","http://www.vakantieoordeel.nl", "vakantieoordeel", new Array(new Array("#Container","margin-top:21px;")));
        var familiebandArr = new Array("Familieband.nl","http://www.familieband.nl", "familieband", new Array(new Array("#Container","margin-top:30px;")));
        var sites = new Array(olezoArr,vakantiesArr,vakantieoordeelArr,familiebandArr);

        var toolbarContainer = '<div class="forrestToolbar" id="network-nav" style="display:none;">';
        var toolbarSiteContainer ="";
        var refferingSite = GetDomaineName();
        if(sites && sites.length > 0) {
            toolbarSiteContainer = "<ul>";
            toolbarSiteContainer += '<li class="None">Bekijk ook andere Forrest Media websites: </li>';
            for(var i=0; i<sites.length; i++) {
                var siteInfo = sites[i];
                var found = false;
                var cSiteCss, cSiteName = siteInfo[0], cSiteClass = siteInfo[2];
                var cSiteUrl = siteInfo[1] +"?utm_source=Netwerkbalk&utm_medium=button&utm_campaign=Netwerkbalk-"+refferingSite;
               
                if(!isArray(siteInfo[3]))//check if there are multiple options for this site
                {
            	    for(var z=0; z < siteInfo[4].length; z++){
            		    if(siteName.toLowerCase().indexOf(siteInfo[4][z][0].toLowerCase()) >= 0){
            			    cSiteCss = siteInfo[4][z][1];
            			    found = true;
            			    break;
            		    }
            	    }
                }else{
            	    if(siteName.toLowerCase().indexOf(siteInfo[0].toLowerCase()) >= 0){	
            		    cSiteCss = siteInfo[3];
            		    found = true;
            	    }
                }
                if(!found) {
                    toolbarSiteContainer += '<li><div class="urlHolder"><a href="'+cSiteUrl+'" rel="nofollow" target="_blank" class="SiteIcon '+cSiteClass+'">'+cSiteName+'</a></div></li>';
                }else{
                    toolbarSiteContainer += '<li class="current"><div class="urlHolder"><a href="#" class="SiteIcon '+cSiteClass+'">'+cSiteName+'</a></div></li>';
                    //Set CSS changes
                    for(var y=0; y<cSiteCss.length; y++) {
                        var currentStyle = $(cSiteCss[y][0]).attr("style");
                        currentStyle = (currentStyle === undefined) ? '': currentStyle;
                        $(cSiteCss[y][0]).attr("style", currentStyle +" "+ cSiteCss[y][1]);
                    }
                }
            }
            toolbarSiteContainer += "<li class='navLast'><div class=\"urlHolder\">&nbsp;</div></li></ul>";
        }
        toolbarContainer += toolbarSiteContainer +"</div>";
        $("body").prepend(toolbarContainer);    	
        $("#network-nav").show();
        
        var browser=navigator.appName;
        var b_version=navigator.appVersion;
        var version=parseFloat(b_version);
        if ((browser=="Microsoft Internet Explorer") && (version>=4)){
            $("#network-nav li:has(a)").mouseover(function() {$(this).addClass('ulActive');});
            $("#network-nav li:has(a)").mouseout(function() {$(this).removeClass('ulActive'); });
        }
}
function CheckBlackList(){
    var checkUrl = location.href.toLowerCase();
    //Vakantieoordeel ?synd=true check
    if(checkUrl.indexOf('vakantieoordeel.nl') >= 0 && checkUrl.indexOf('?synd=true') >= 0){
        return false;
    }    
    return true;
}
function isArray(obj) {
	if (obj.constructor.toString().indexOf("Array") == -1){return false;}
	else{return true;}
}

function GetDomain(){return document.domain;}

function GetDomaineName(){
	var thisUrl = document.domain;
 
	// IF THERE, REMOVE WHITE SPACE FROM BOTH ENDS
	thisUrl = thisUrl.replace(new RegExp(/^\s+/),""); // START
	thisUrl = thisUrl.replace(new RegExp(/\s+$/),""); // END
	 
	// IF FOUND, CONVERT BACK SLASHES TO FORWARD SLASHES
	thisUrl = thisUrl.replace(new RegExp(/\\/g),"/");
	 
	// IF THERE, REMOVES 'http://', 'https://' or 'ftp://' FROM THE START
	thisUrl = thisUrl.replace(new RegExp(/^http\:\/\/|^https\:\/\/|^ftp\:\/\//i),"");
	 
	// IF THERE, REMOVES 'www.' FROM THE START OF THE STRING
	thisUrl = thisUrl.replace(new RegExp(/^www\./i),"");
	 
	// REMOVE COMPLETE STRING FROM FIRST FORWARD SLASH ON
	thisUrl = thisUrl.replace(new RegExp(/\/(.*)/),"");
		 
	// CHECK TO SEE IF THERE IS A DOT '.' LEFT IN THE STRING
	//var subDomain = (thisUrl.match(new RegExp(/\./g))) ? true : false;
	if (thisUrl.split('.').length-1 > 1)
	{
		thisUrl = thisUrl.replace(new RegExp(/^([a-zA-Z0-9])*[.]/),"");
	}
	return thisUrl;
}

function loadjscssfile(filename, filetype, addAttribute,callback) {
    var fileref;
    if (filetype == "js") { //if filename is a external JavaScript file
        fileref = document.createElement('script');
        fileref.setAttribute("type", "text/javascript");
        fileref.setAttribute("src", filename);
    }
    else if (filetype == "css") { //if filename is an external CSS file
        fileref = document.createElement("link");
        fileref.setAttribute("rel", "stylesheet");
        fileref.setAttribute("type", "text/css");
        fileref.setAttribute("href", filename);
        
        if(addAttribute == "print"){
            fileref.setAttribute("media","print");
        }
    }
    if (typeof fileref != "undefined")
        document.getElementsByTagName("head")[0].appendChild(fileref)
       
    if(callback !== undefined)
    {
	    fileref.onreadystatechange = function () {
		    if (fileref.readyState == 'complete') {
		        callback();
		        return false;
		    }
	    }
	    fileref.onload = function () {
		    callback();
		    return false;
	    }
    }
    return false;
}