$(document).ready(function(){

    workWithRegions.setEventsForDocumentReady();
    window.show_region   = false;
    window.show_language = false;
    window.show_search   = false;
    window.shaderM = 0;
    $('#shader').css({'width':$(document).width(),'height':$(document).height()});
    $('#shader2').css({'width':$(document).width(),'height':$(document).height()});

    $("body").ajaxStart(function(){
        $.fancybox.showActivity();
    });
    $('body').ajaxComplete(function() {
        $.fancybox.hideActivity();
    });

	/*Tag-Cloud öffnen/schließen*/
	$('.tagCloud .opener').click(function(){
		if ($(this).parents('.tagCloud').hasClass('open')){
			$(this).parents('.tagCloud').removeClass('open');
		}
		else {
			$(this).parents('.tagCloud').addClass('open');
		}
	});

   // Global Vars //
// for TAB tx-mfsces-pi10
window.activeTab = ':first';


// empty on click
$("input:text, textarea").focus(function(){
    if(typeof ($(this).attr('default')) == 'undefined' || $(this).val() == $(this).attr('default')){
        $(this).attr('default',$(this).val());
        $(this).val('');
    }
}).blur(function(){
    var newValue = $(this).val();
    if (newValue == '') {
        var myVal = $(this).attr('default');
        $(this).val(myVal);
    }
});


//Functions starts when the Document is Ready
// TAB tx-mfsces-pi10
hideTabs();



if($.trim($("div.toolbox").text()) != "") {
        $(".toolbox").ShowToolBox();
}

    //if($.trim($("div.addToSidebar div.media div.mediaContainer").text()) != "") {
    //    $(".addToSidebar .mediaContainer").prependTo($("#sidebar"));
    //    $("#main").css("width","382px").css("float","left");
    //}

        //IE6 Fix
    document.getElementById("navbar").style.width = "200px";
    
    var stageHeight = Math.max(document.getElementById('stage').offsetHeight);
    var navbarHeight = Math.max(document.getElementById('wholeNav').offsetHeight);
    var itemHeight = navbarHeight;

    if(navbarHeight < stageHeight){
        itemHeight = (stageHeight + 20);
        $('div.ccBox').css('position','absolute');
        $('div.ccBox').css('top',itemHeight +'px');
        $('div.ccBox').css('padding','0');

    }

 
    $('[id^="acc"]').removeClass('active');
    
   // Sitemap Single
    $('.twoSame p.expanded, .sitemapHead p.collapsed').click(function(){
        $(this).toggleClass('expanded');
        $(this).toggleClass('collapsed');
        $(this).next('ul').toggle();
    });

    // Sitemap All
    $('.sitemapHead p.collapsed').click(function(){
        if($('.sitemapHead p.collapsed').hasClass('collapsed')){
            $('.twoSame p.collapsed').each(function(key,item){
                $(item).toggleClass('expanded');
                $(item).toggleClass('collapsed');
                $(item).next('ul').toggle();
            });

        }else{
            $('.twoSame p.expanded').each(function(key,item){
                $(item).toggleClass('expanded');
                $(item).toggleClass('collapsed');
                $(item).next('ul').toggle();
            });
        }
        
    });
    
    
    
    // DL cleaning
    
    $('dt').each(function(dt){
        if($(this).text() == ''){
    	   $(this).next().remove();
    	   $(this).remove();
    	   
    	   
    	}
    });
    /*
     $('dd').each(function(dd){
        if($(this).html() == ''){
    	   $(this).remove();
    	}
    });
   */
    
    
    //Footer setzen
    var mope = document.getElementById("navbar").offsetHeight + 150;   
    if (mope > document.getElementById("container").offsetHeight) {
    	$('#container').css('min-height',mope);
    	if($.browser.msie && $.browser.version <= "7.0"){
    	    $('#container').css('height',mope);}	
    }    
    	
    
    
    // Main Navigation zusätzlicher Grauer Kasten unterhalb
    var $countNavs = 0;
    $('#wholeNav ul').each(function(ul){
            $countNavs++;
    });
    if($countNavs == 1){
        $('#wholeNav').append('<ul style="visibility: visible; height: 15px;border:0px;" class="subNav"/>');
    }
   
    /*
    // Nicht benötigte Punkte ausblenden
    $('ul.subNav:not(:last)').each(function(ul){
	$('ul.subNav li').each(function(li){
        	if($('ul.subNav:eq('+ul+') li:eq('+li+')').hasClass('active')){
            	$('ul.subNav:eq('+ul+') li:not(.active)').remove();
        	}
     	});
    });
    $('ul.subNav').css("visibility",'visible');
    */
    
    
        // Nicht benötigte Punkte ausblenden

    var mLi = 0;
    $('ul.subNav').each(function(ul){
        mLi++;
    });

    var mLiCount = 1;
    $('ul.subNav').each(function(ul){
	$('ul.subNav li').each(function(li){
            if(mLiCount != mLi){
                if($('ul.subNav:eq('+ul+') li:eq('+li+')').hasClass('active')){
                    $('ul.subNav:eq('+ul+') li:not(.active)').remove();
                }
            }
     	});
        mLiCount++;

    });
    $('ul.subNav').css("visibility",'visible');

    
    
    $('a').click(function(e){
        if($(this).attr('href') == '#'){
            //Cancel the link behavior
            e.preventDefault();
        }
    });





})

// Teaser tx_editmatrix
function toggleTeaser(item){
    $(item).parents('div:eq(0)').toggleClass('active');
};

// TAB tx-mfsces-pi10
function hideTabs(){
    $('p.tabby:not('+window.activeTab+')').hide();
};

function switchTab(jID){
    window.activeTab = '#'+jID;
    hideTabs();
    $('#'+jID).show();
}


// ACC tx-mfsces-pi10
function switchAcc(jID){
if(window.activeAcc == jID){
	$('[id^="acc"]').removeClass('active');
	window.activeAcc = '';
}else{
    $('ul.toggleList li.active:not(#'+jID+')').removeClass('active');$('#'+jID).addClass('active');
    	window.activeAcc = jID;
    }
}

function switchLL(LL){
    if($('#swLL').val() != '0'){
	var val = $('#swLL').val(); 

	if (val.indexOf('ttp://') > 0) {
	       	location.href = $('#swLL').val();
	} else {
        	location.href = 'http://' + document.location.hostname + '/' + $('#swLL').val();        
	}
    }
}



function openGeo(args)
{
    argsArr = args.split(",");
    id_country=argsArr[0];
    id_continent=argsArr[1];

    
    if(id_country != ''){
	location.href="index.php?id=413&L=0&tx_editfiltersystem_pi1[cmd]=search&tx_editfiltersystem_pi1[land]="+id_country+"&no_cache=1&L="+L;
    }
    
    if(id_continent != ''){
	//location.href="index.php";
    }
    
    
}

workWithSearch ={
    openLayer:function(){
        if(window.show_search == false){
            workWithLayers.closeOtherTop();
            $('#shader').show().bind('click', function() {
                workWithSearch.closeLayer();
            });
            workWithLayers.centerLayers();
            $('#searchDropdown').slideDown();
            window.show_search = true;
        }else{
            workWithSearch.closeLayer();
        }
    },
    closeLayer:function(){
        window.show_search = false;
        $('#searchDropdown').slideUp();
        $('#shader').hide();
        $('#shader').unbind('click');
    }

}

workWithLayers ={
    closeOtherTop:function(){
        workWithLanguage.closeLayer();
        workWithRegions.closeLayer();
        workWithSearch.closeLayer();
        $('#js_headlines').show();
        $('.imgMenu,#js_shadow2').fadeOut();
    },
    centerLayers:function(){
        if($.browser.msie){
            $('.header').insertAfter('#shader2');
            $('.drpdwn').insertAfter('#shader2');
            $('.corporateDropup').insertAfter('#shader2');

            var left = ($('body').outerWidth() - 940)/2;
            $('.header').css('left',left);
            $('.drpdwn').css('left',left);
        }
    },
    centerLayersCorp:function(){
        if($.browser.msie){
            $('.header').insertAfter('#shader2');
            $('.drpdwn').insertAfter('#shader2');
            $('.corporateDropup').insertAfter('#shader2');

            var left = ($('body').outerWidth() - 940)/2;
            $('.header').css('left',left);
            $('.drpdwn').css('left',left);
            var top = $('.footer').position();
            $('.corporateDropup').css({'left':left,'top': (top.top -75), 'height': '0px'});
            $('.corporateDropup').animate({'height': '200px','top': '380px'},500);
        }
    }
}

workWithLanguage = {
    openLayer:function(){
        if(window.show_language == false){
            workWithLayers.closeOtherTop();
            $('#shader').show().bind('click', function() {
                workWithLanguage.closeLayer();
            });
            workWithLayers.centerLayers();
            $('#languageDropdown').slideDown();
            window.show_language = true;
        }else{
            workWithLanguage.closeLayer();
        }
    },
    closeLayer:function(){
        $('#languageDropdown').slideUp();
        $('#shader').hide();
        $('#shader').unbind('click');
        window.show_language = false;
    }
}

workWithRegions = {
	openLayer:function(){
            if(window.show_region == false){
                workWithLayers.closeOtherTop();
                workWithRegions.fetchRegions(0,2);
                $('ul.topMenu li.region a').css({'color':'#ccc','background-position':'left -30px'})
                $('#shader').show().bind('click', function() {
                    workWithRegions.closeLayer();
                });
                $('#regionMainLayer .region02').hide();
                $('#regionMainLayer .region01').show();
                workWithLayers.centerLayers();
                $('#regionMainLayer').slideDown();
                $('html, body').animate({scrollTop:0}, 'slow');
                window.show_region = true;
            }else{
                workWithRegions.closeLayer();
            }
	},
        fetchLocations:function(uid,pointer,mode){
//            var pageId = getParameter("id",window.location.href);
//            $.get('index.php?id='+pageId, {"no_cache" : 1,"L" : L, "type": 999, "tx_ddevajax_pi1[element]" : 1, "tx_ddevregions_pi2[uid]": uid, "tx_ddevregions_pi2[pointer]": pointer}, function(returnData){
            $.get('index.php?id='+pid, {"no_cache" : 1,"L" : L, "type": 999, "tx_ddevajax_pi1[element]" : 1, "tx_ddevregions_pi2[uid]": uid, "tx_ddevregions_pi2[pointer]": pointer}, function(returnData){
                if ($(".region02").length == 0){
                    $('#regionMainLayer').append(returnData);
                }else{
                    $('.region02').replaceWith(returnData);
                }
                workWithRegions.reInitEvents();
                workWithRegions.openDetailLayer(mode);
            });
        },
        fetchRegions:function(pointer,element){
//            var pageId = getParameter("id",window.location.href);
//            $.get('index.php?id='+pageId, {"no_cache" : 1, "L" : L, "type" : 999, "tx_ddevajax_pi1[element]" : 2, "tx_ddevregions_pi2[pointer]": pointer}, function(returnData){
            $.get('index.php?id='+pid, {"no_cache" : 1, "L" : L, "type" : 999, "tx_ddevajax_pi1[element]" : 2, "tx_ddevregions_pi2[pointer]": pointer}, function(returnData){
                $('#regionMainLayer').replaceWith(returnData);
                workWithRegions.reInitEvents();
                $('#regionMainLayer,.region01').show();
                workWithLayers.centerLayers();
            });
        },
        reInitEvents:function(){
            observeAjax();
            workWithRegions.setEventsForDocumentReady();
        },
        startContactform:function(email){
            workWithRegions.closeLayer();
            startContactform(email);
        },
	closeLayer:function(){
            $('#regionMainLayer').slideUp();
            $('#regionMainLayer .region01').hide();
            $('#regionMainLayer .region02').hide();
            $('#shader').hide();
            $('#shader').unbind('click');
            $('ul.topMenu li.region a').css({'color':'#002F5C','background-position':'left top'})
            window.show_region = false;
	},
        openDetailLayer:function(mode){
            if(mode == 'init'){
                $('#regionMainLayer .region01').slideUp();
                $('#regionMainLayer .region02').slideDown();
            }else{
                $('#regionMainLayer .region01').hide();
                $('#regionMainLayer .region02').show();
            }
        },
        switchBackLayer:function(){
            $('#regionMainLayer .region01').slideDown();
            $('#regionMainLayer .region02').slideUp();
        },
        setEventsForDocumentReady:function(){
            $('#pageBrowserRegions a').click(function(link){
               var pointer = getParameter('tx_ddevregions_pi2[pointer]',$(this).attr('href'));
               workWithRegions.fetchRegions(pointer,2);
               return false;
            });

            $('#pageBrowserLocations a').click(function(link){
               var pointer = getParameter('tx_ddevregions_pi2[pointer]',$(this).attr('href'));
               if($(this).attr('href') != 'javascript:void(0);'){
                   console.info($(this).attr('href'));
                   var uid = getParameter('tx_ddevregions_pi2[uid]',$(this).attr('href'));
                   workWithRegions.fetchLocations(uid,pointer,'normal');
               }
               return false;
            });

        }
}

function getParameter(name,string){
    name = name.replace(/[\[]/,'\\\[').replace(/[\]]/,'\\\]');
    var regexS = "[\\?&]"+name+"=([^&#]*)";
    var regex = new RegExp(regexS);
    var results = regex.exec(string);
    if( results == null ){
        return '';
    }else{
        return results[1];
    }
}

function observeAjax(){
    $(document).ajaxSuccess(function(evt, request, settings){
        globalInit(evt.target)
    });
}

function globalInit(jquerySelectorOrObject){
    if(jquerySelectorOrObject == null){
        jquerySelectorOrObject = "body";
    }
}

var Base64 = {
    _keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
    encode : function (input) {
        var output = "";
        var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
        var i = 0;
        input = Base64._utf8_encode(input);
        while (i < input.length) {
            chr1 = input.charCodeAt(i++);
            chr2 = input.charCodeAt(i++);
            chr3 = input.charCodeAt(i++);
            enc1 = chr1 >> 2;
            enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
            enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
            enc4 = chr3 & 63;

            if (isNaN(chr2)) {
                    enc3 = enc4 = 64;
            } else if (isNaN(chr3)) {
                    enc4 = 64;
            }

            output = output +
            this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) +
            this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);
        }

        return output;
    },
    decode : function (input) {
        var output = "";
        var chr1, chr2, chr3;
        var enc1, enc2, enc3, enc4;
        var i = 0;
        input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
        while (i < input.length) {
            enc1 = this._keyStr.indexOf(input.charAt(i++));
            enc2 = this._keyStr.indexOf(input.charAt(i++));
            enc3 = this._keyStr.indexOf(input.charAt(i++));
            enc4 = this._keyStr.indexOf(input.charAt(i++));
            chr1 = (enc1 << 2) | (enc2 >> 4);
            chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
            chr3 = ((enc3 & 3) << 6) | enc4;
            output = output + String.fromCharCode(chr1);

            if (enc3 != 64) {
                    output = output + String.fromCharCode(chr2);
            }
            if (enc4 != 64) {
                    output = output + String.fromCharCode(chr3);
            }
        }
        output = Base64._utf8_decode(output);

        return output;

    },
    _utf8_encode : function (string) {
        string = string.replace(/\r\n/g,"\n");
        var utftext = "";
        for (var n = 0; n < string.length; n++) {
            var c = string.charCodeAt(n);
            if (c < 128) {
                utftext += String.fromCharCode(c);
            }else if((c > 127) && (c < 2048)) {
                utftext += String.fromCharCode((c >> 6) | 192);
                utftext += String.fromCharCode((c & 63) | 128);
            }else {
                utftext += String.fromCharCode((c >> 12) | 224);
                utftext += String.fromCharCode(((c >> 6) & 63) | 128);
                utftext += String.fromCharCode((c & 63) | 128);
            }
        }

        return utftext;
    },
    _utf8_decode : function (utftext) {
        var string = "";
        var i = 0;
        var c = c1 = c2 = 0;
        while ( i < utftext.length ) {
            c = utftext.charCodeAt(i);
            if (c < 128) {
                string += String.fromCharCode(c);
                i++;
            }else if((c > 191) && (c < 224)) {
                c2 = utftext.charCodeAt(i+1);
                string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
                i += 2;
            }else {
                c2 = utftext.charCodeAt(i+1);
                c3 = utftext.charCodeAt(i+2);
                string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
                i += 3;
            }
        }

        return string;
    }

}


