/*
  Date: 31.08.
  Changes: GSA - JS f�r Autocomplete + Cookie

*/

var Bosch = {
    
    noop: function() {},
    
    libraries: [],
    scripts: [],
    
    basePath: '',
    forceWrite: true,
    
    service: null,
    
    addLibraries: function(libraries) {
        var src = libraries;
        if (typeof libraries == 'string') src = libraries.split(',');
        for (var i in src) {
            this.addLibrary(src[i]);
        }
    },
    
    addScripts: function(scripts) {
        var src = scripts;
        if (typeof scripts == 'string') src = scripts.split(',');
        for (var i in src) {
            this.addScript(src[i]);
        }
    },
    
    addLibrary: function(library) {
        this.libraries.push(library);
    },
    
    addScript: function(script) {
        this.scripts.push(script);
    },
    
    createScript: function(uri, callback) {
        callback = callback || this.noop;
        
        var script = document.createElement('script');
        script.type = 'text/javascript';
        
        if (script.readyState) {
            script.onReadyStateChange = function() {
                if (script.readyState == 'loaded' || script.readyState == 'complete') {
                    script.onReadyStateChange = null;
                    callback();
                }
            };
        } else {
            script.onLoad = function() {
                callback();
            }
        }
        
        script.src = uri;
        return script;
    },
    
    init: function(service) {
        
        this.service = service;
        
        for (var n in this.libraries) {
            // ensure that libraries are written by document.write to prevent an uncommon initial loading error sometimes occurs on chrome & ie
            document.write('<script type="text/javascript" src="' + this.libraries[n] + '"></script>');
        }
   
        if (service) {
            this.createScript(this.service + this.scripts.join(','));
            return;
        }
        
        var createdScripts = [], crs;
        for (var i in this.scripts) {
            if (this.forceWrite) {
                document.write('<script type="text/javascript" src="' + this.scripts[i] + '"></script>');
            } else {
                crs = this.createScript(this.scripts[i]);
                createdScripts.push(crs);
            }
        }

        switch(dtpLanguage)
            {

            case "DE":    dtpChoose = '/media/_tech/layout/js/jquery/language_jquery_ui/jqueryuidatepicker-de.js'; document.write('<script type="text/javascript" src="' + dtpChoose + '"></script>');break;
            case "ES":    dtpChoose = '/media/_tech/layout/js/jquery/language_jquery_ui/jqueryuidatepicker-es.js'; document.write('<script type="text/javascript" src="' + dtpChoose + '"></script>');break;
            case "FR":    dtpChoose = '/media/_tech/layout/js/jquery/language_jquery_ui/jqueryuidatepicker-fr.js'; document.write('<script type="text/javascript" src="' + dtpChoose + '"></script>');break;
            default:      dtpChoose = '/media/_tech/layout/js/jquery/language_jquery_ui/jqueryuidatepicker-en-GB.js'; document.write('<script type="text/javascript" src="' + dtpChoose + '"></script>');break;
            }                  
        
        if (this.forceWrite) return;
        
        window.onload = function() {
            for (var n in createdScripts) {
                document.getElementsByTagName('head')[0].appendChild(createdScripts[n]);
            }
        }
    }
};
//Bosch.addLibraries(['jquery-v142min.js']);
 
Bosch.addScripts([
// Library
      '/media/_tech/layout/js/jquery/jquery-v142min.js',
      '/media/_tech/videoplayer/jquery_player/jqueryui186custommin.js',
// Language Datepicker
       

// SWF and Videoplayer      
      '/media/_tech/layout/js/swf/swfobject~1.js',
      '/media/_tech/videoplayer/jquery_player/boschvideoplayer.js',
      '/media/_tech/videoplayer/jquery_player/boschvideoplayerlangde.js',
// AUDIO      
      '/media/_tech/videoplayer/jquery_player/boschaudioplayer.js',
      '/media/_tech/videoplayer/jquery_player/boschAudioPlayerLangDe.js',
      
      '/media/_tech/videoplayer/jquery_player/boschplayercaption.js',
      
// Plugin Carousel     
      '/media/_tech/layout/js/jquery/jqueryjcarousel.js',
// Overlay Gallery and HTML      
      '/media/_tech/layout/js/jquery/thickbox.js',
// Video anf Flash      
      '/media/_tech/layout/js/swf/swfaddress.js',
// Plugin roundcorner      
      '/media/_tech/layout/js/jquery/jquerycorner.js',
      
      '/media/_tech/layout/js/functions.js',
// Overlay Videoplayer
      '/media/_tech/layout/js/jquery/jqueryfancybox134.js',
// Flyout and Main Menue RO     
      '/media/_tech/layout/js/jquery/hoverintent.js',
      '/media/_tech/layout/js/jquery/jsflyout.js',
// Expandable Box
   '/media/_tech/layout/js/jquery/jqueryexpandable.js',
// Tooltip Plugin
   '/media/_tech/layout/js/jquery/jquerytooltipWCMS.js',   
// Share Plugin Footer
   '/media/_tech/layout/js/jquery/share.js',
   '/media/_tech/layout/js/jquery/shareLangEn.js',
// Share Plugin Twitter
   '/media/_tech/layout/js/jquery/twitter.js',      
// Validator FormEdit
    '/media/_tech/layout/js/jquery/jquery_validate.js',
// GSA Cookie  
    '/media/_tech/layout/js/jquery/sayt/jquerycookie.js',
    '/media/_tech/layout/js/jquery/gsaCookie.js',

// Main Functions and Eventhandling      
      '/media/_tech/layout/js/jquery/jQFunctions.js',      
// GSA Autocomplete        
'/media/_tech/layout/js/jquery/sayt/gsa_autocomplete/jquerybind.js',
'/media/_tech/layout/js/jquery/sayt/gsa_autocomplete/jquerysayt.js',
'/media/_tech/layout/js/jquery/sayt/gsa_autocomplete/jqueryurldecodermin.js',
'/media/_tech/layout/js/jquery/sayt/gsa_autocomplete/jqueryutf8.js',
'/media/_tech/layout/js/jquery/sayt/gsa_autocomplete/loadSaytquicksearch.js',
'/media/_tech/layout/js/jquery/sayt/gsa_autocomplete/loadSaytsearch.js',     

// GSA Postsearch
'/media/_tech/layout/js/jquery/sayt/gsa_postsearch/jqueryjtemplates.js', 
'/media/_tech/layout/js/jquery/sayt/gsa_postsearch/jquerypostSearch.js',    
        
  
// Fixes IE      
      '/media/_tech/layout/js/behaviour.js'      
]);

Bosch.init();

