(function(){

    function HandleLanguageLinks( container ) {
        var self = {};
        function init( ) {
            self.container = container;
            if( self.getCurrentLanguage( ) != 'de' ) {
                dojo.query( 'a[href^="/de/"]', self.container ).forEach( self.processLink );
            }
            return self;
        }
        self.getCurrentLanguage = function( ) {
            var url = location.href;
            return url.substr( url.indexOf( 'phace.at' ) + 9, 2 );
        };
        self.processLink = function( link ) {
            var href = dojo.attr( link, 'href' );
            var target = href.replace( '/de/', '/' + self.getCurrentLanguage( ) + '/' );
            // only replace the link, if the page exists
            var d = dojo.xhrGet( { url: target } );
            d.addCallback( function( result ) {
                dojo.attr( link, 'href', target );
            } );
            d.addErrback( function( err ) {
                console.info( err );
            } );
        };
        return init( );
    }

    dojo.addOnLoad( function( ) {
        dojo.query( '.content-global' ).forEach( HandleLanguageLinks );
    } );
})();

