var requestedModules = new Array();
var loadedobjects="";


function getOrCreateDialogBox(divDialogBoxName) {
	var divDialogBox = top.document.getElementById(divDialogBoxName);
	
	if(!divDialogBox) {
		divDialogBox = document.createElement('div');
		divDialogBox.setAttribute('id', divDialogBoxName);
		divDialogBox.style.position = "absolute";
		divDialogBox.style.left = "1000px";
		divDialogBox.style.top = "20px";
		divDialogBox.style.width = "300px";
		divDialogBox.style.height = "300px";
		divDialogBox.style.backgroundColor = "gray";
		divDialogBox.innerHTML = "THIS IS REVOLUTION";
		divSociete = top.document.getElementById("divSociete");
		divSociete.appendChild(divDialogBox);		
	}
	return divDialogBox;
}

function loadModule(moduleName,divId,pageFormat,parameters){
	var targetDiv = document.getElementById(divId);
	//alert(document.location);
	if(!targetDiv){
		var divId = (!divId) ? moduleName + '_' + requestedModules.length : divId;
		targetDiv = document.createElement('div');
		targetDiv.id = divId;
		document.body.appendChild(targetDiv);
	}

	var xpane = new dijit.Dialog({"class": "loadModule", id: divId+"_FP", title:"", constrainToContainer:"false", displayCloseAction:"true"}, targetDiv);
	xpane.startup();
	xpane.show();
 	//xpane.resizeTo(600,500);
 	
	var format = (typeof pageFormat == 'undefined') ? '.html' : pageFormat;
	var params = (typeof parameters == 'undefined') ? '' : '?' + parameters;
	var targeturl = 'module/' + moduleName + '/'+ moduleName + format + params;
	var bindArgs = {
						    url:        targeturl,
						    handleAs:   "text",
						    sync:       true, // 2007-08-09 -> Attendre que le module soit charg� avant de lancer la requ�te AJAX
						    error:      function(type, errObj){
						        try{
					        		console.log("Erreur dans la fonction 'loadModule' " + errObj.message);
					        	} catch(ex) {alert("Erreur dans la fonction 'loadModule' " + errObj.message)}
						    },
						    load:      function(data, args){
						 		//on remplit le FloatingPane avec ce qui est renvoyé de 'url'
						 		var e = dijit.byId(divId+"_FP");
						 		data = data.replace("\n", '');
						 		data = data.replace("\r", '');
						 		e.setContent(data);
						 		
						 		var arel = e.containerNode.firstChild;
						 		
						    	//insertion des fichiers css et js associé au module (stockés dans un div avec un paramètre 'amsdep')

						 		var att = new String(arel.attributes['amsdep'].nodeValue);					 		
						 		
								var files = att.split(';');
								
								for (var i=0; i < files.length;i++){
									loadobjs(files[i]);
								}

							}
						};
	requestedModules[requestedModules.length] = dojo.xhrPost(bindArgs);
}


function loadobjs(file){
	var fileref="";
	
	if (loadedobjects.indexOf(file)==-1){ //Check to see if this object has not already been added to page before proceeding
		if (file.indexOf(".js")!=-1){ //If object is a js file
			fileref=document.createElement('script');
			fileref.setAttribute("type","text/javascript");
			fileref.setAttribute("src", file);
		}
		else if (file.indexOf(".css")!=-1){ //If object is a css file
			fileref=document.createElement("link");
			fileref.setAttribute("rel", "stylesheet");
			fileref.setAttribute("type", "text/css");
			fileref.setAttribute("href", file);
		}
	}
	
	if (fileref!=""){
		document.getElementsByTagName("head").item(0).appendChild(fileref);
		loadedobjects+=file+" "; //Remember this object as being already added to page
	}
}
