/**
 * Check necessary javascripts and css when loading widgets on other applications
	1. global.css 
	2. jquery library javascript
	3. omniture javascript
 */

var _Widgets_Include = {   
    script: function(module) {
        document.write('<script type="text/javascript" src="'+module+'"></script>');
    },
 
    style: function(module) {
       document.write('<link rel="stylesheet" href="'+module+'" type="text/css"/>');
    },
 
    load: function(jQueryVersion) {
        var scripts = document.getElementsByTagName("script"); 
        var styles = document.getElementsByTagName("link");       
        var includeJQueryLib = false;
        var includeGlobalCss = false;
        var includeSCode = false;
        var includeOmniture = false;
        var includeSimplemodal = false;
        var includeGCode = false;
        var includeMenuBehaviourCode = false;
        var includeGoogleAnalytics = false;
        var root = "";
        
        for(var i = 0; i < scripts.length; i++) {
			if(scripts[i].src && scripts[i].src.match(/js\/widgetpreload\.js$/)){
		
				root = scripts[i].src.replace(/js\/widgetpreload\.js$/,'');
				break;
			}
        }
    
		if(typeof jQuery !== 'undefined') {
			includeJQueryLib = true;	
		}
		        
        for(var m = 0; m < scripts.length; m++){
           if(scripts[m].src && scripts[m].src.match(/s_code\.js$/)) { //s_code script.
               includeSCode = true;
            }else if(scripts[m].src && scripts[m].src.match(/omniture\.js|(\?[a-z]=\d*)$/)) { //omniture script.
               includeOmniture = true;
            }else if(scripts[m].src && scripts[m].src.match(/g_code\.js$/)){ //g_code script
                includeGCode = true;
            }else if(scripts[m].src && scripts[m].src.match(/[a-z]*\.simplemodal(.)\d+(\.\d)*.js$/)) { //simplemodal script.   
               includeSimplemodal = true;
            }else if(scripts[m].src && scripts[m].src.match(/mainmenubehaviour\.js$/)){ //horizontal menu behaviour 
               includeMenuBehaviourCode = true;
            }else if(scripts[m].src && scripts[m].src.match(/ga\.js$/)){
                includeGoogleAnalytics= true;
            }
        }
        
        for(var j = 0; j < styles.length; j++){
			if(styles[j].href && styles[j].href.match(/global\.css|(\?[a-z]=\d*)$/)){
				includeGlobalCss = true;
				break;
			}
        }
        
        if(includeGlobalCss == false){
			this.style(root + 'css/global.css');
        }  
        
        if(includeGoogleAnalytics == false){
            this.script('https://ssl.google-analytics.com/ga.js');
        }
          
        if(includeJQueryLib == false){
			this.script(root + 'js/'+jQueryVersion+'.js');
        }
        
        if(includeMenuBehaviourCode == false){
            this.script(root + 'js/mainmenubehaviour.js');
        }
        
        if(includeSCode == false) {
			this.script(root + 'js/s_code.js');
        }
        
        if(includeGCode == false){
            this.script(root + 'js/g_code.js');
        }
        
        if(includeOmniture == false) {
			this.script(root + 'js/omniture.js');
        }
        
        if(includeSimplemodal == false) {
			this.script(root + 'js/jquery.simplemodal-1.2.3.js');
        }
        
    }
}
