﻿/* Initialize namespace */
if (typeof japp == 'undefined'){
  japp = {
	  utility: { 
	     jsStack: {}
	  }
  };
}

japp.utility.isLoadedJs = function(js){
	return ($('script[src="'+js+'"]'	).attr('src') == js  || js in japp.utility.jsStack);
}

japp.utility.isLoadedCss = function(css){
	return ($('link[href="'+css+'"]'	).attr('href') == css);
}

japp.utility.loadJs = function(jss, async, reload){
	async = false;
	reload = false;
	
	for(i = 0; i < jss.length; i++){
		js = jss[i];
		if(reload || !japp.utility.isLoadedJs(js)){
			/* Synchronous request by default (to avoid wrong initialization order) */
			$.ajax({url: js,
              dataType: 'script',
              async: false
             });
      if(!reload){       
			  japp.utility.jsStack[js] = 1;
			}  
		}
	} 
}


japp.utility.loadCss = function(csses, media){
	media = 'screen';
	for(i = 0; i < csses.length; i++){
		css = csses[i];
		if(!japp.utility.isLoadedCss(css)){
			   $("<link>").appendTo("head")
			              .attr({rel:  "stylesheet",
                           type: "text/css",
                           media: media,
                           href: css
                    });  
		}
	}
} 

