/* 
[ Wigzy | /sys/lib/js/ | wigzy.js ]
  Wigzy core file
*/

var head = document.getElementsByTagName("head")[0];
var GlobalContainer = $('GlobalContainer');
var GlobalHeader = $('GlobalHeader');
var LocalContainer = $('LocalContainer');
var FooterContainer = $('FooterContainer');

// Directory Paths
var ModDir = "sys/modules/";
var WigzyLib = "sys/wigzy/lib/";

var IconLib32 = "sys/img/icons/32x32/";
var IconLib16 = "sys/img/icons/16x16/";

//XSLT Templates
var temp_blank = "sys/wigzy/template/temp_blank.xsl";
var temp_container ="sys/wigzy/template/container/temp_container.xsl";
var temp_blogpost = "sys/wigzy/template/blog/temp_post.xsl";


function createCSS(href) {
        var newCSS=document.createElement('link');
                newCSS.setAttribute("rel", "stylesheet");
                newCSS.setAttribute("type", "text/css");
                newCSS.setAttribute("href", href);
                head.appendChild(newCSS);
                }
                
function createJS(src) {
        var newJS=document.createElement('script');
                newJS.setAttribute("type","text/javascript");
                newJS.setAttribute("src", src);
                head.appendChild(newJS);
                }
                
function appendModule(Module,File,Replace,Container,Template,CSS,JS) {

	// Doh! Safari needs to step up
	if (BrowserDetect.browser == "Safari") {
	
		Replace == true ? $(Receptacle).innerHTML = '' : null;
		
        new Transformation()
		.setXml(ModDir+Module+'/'+File)
        .setXslt(Template)
		.transform(Container);	
		
		CSS != "no" ? createCSS(ModDir+Module+'/'+CSS) : null;
		JS != "no" ? createJS(ModDir+Module+'/'+JS) : null;
		 
		}	
		
	else { genX(Module, File, Replace) }
		
	}                

document.observe("dom:loaded", function() {
	var GlobalDep = new Array(
		"sys/css/global.css",
		"sys/css/"+Page+".css",
		
		// XSLT Processing ( could just be one file - SAFARI!!!)
		"sys/wigzy/detect.js",
		"sys/wigzy/xslt.js",
		"sys/wigzy/genX.js",
		
		// Core Extras
		"sys/wigzy/core/reflection.js",
		
		// Module Container Templates
		"sys/wigzy/template/container/container.js",
		"sys/wigzy/template/container/container.css",
		
		// ETC
		WigzyLib +"growler.js", WigzyLib+"growler.css",
		WigzyLib +"valid.js",
		WigzyLib +"blackbox.js", WigzyLib +"blackbox.css",
		WigzyLib +"labl.js", WigzyLib +"labl.css",
		WigzyLib +"protoflow.js", WigzyLib +"protoflow.css",
		WigzyLib +"tooltips.js", WigzyLib +"tooltips.css",
		
		// Modules Config [!n] Always should be last
		ModDir+"config_modules.js" 
		);

		
	GlobalDep.each(function(Path, index) {
  		var CSSext = /.css$/;

		switch(CSSext.test(Path)) {
	
			case true: createCSS(Path); break;    
			  
			default: createJS(Path); break;
		
			}
	});
		
	
	
				
});
