
try{
	if(document.IBE_LOADED_IN_INTERNAL_DIV)
		document.IBE_LOADED_IN_INTERNAL_DIV=true;
	else
		document.IBE_LOADED_IN_INTERNAL_DIV=false;
		 
}catch(e){	
	document.IBE_LOADED_IN_INTERNAL_DIV=false;
	
}

//library functions!!!!
//rudimentary selector function 
LoaderEngine={};




LoaderEngine.assetsForXhr=0;
LoaderEngine.InnerHTMLTagId=0;
LoaderEngine.LOAD_METHOD='ibe_window_load';
LoaderEngine.TIMEOUT_ACTIVE=true;
LoaderEngine.DEBUG_ENABLED=false;
LoaderEngine.XHR_ASSOCIATIONS=[];
LoaderEngine.getAssociation=function(key,hasName){
	for(var i=0;i<this.XHR_ASSOCIATIONS.length;i++){
		if(this.XHR_ASSOCIATIONS[i][key]==hasName){
				return this.XHR_ASSOCIATIONS[i];
		}
	}
}
LoaderEngine.getByXhr=function(xhr){
	return this.getAssociation('xhr',xhr);
}
LoaderEngine.getByForm=function(formEl){
	return this.getAssociation('form',formEl);
}
LoaderEngine.SYNCER_ASSOCIATIONS=[];
LoaderEngine.getSyncerAssociation=function(key,hasName){
	for(var i=0;i<this.SYNCER_ASSOCIATIONS.length;i++){
		if(this.SYNCER_ASSOCIATIONS[i][key]==hasName){
				return this.SYNCER_ASSOCIATIONS[i];
		}
	}
};
LoaderEngine.getSyncerByObj=function(obj){
	return this.getSyncerAssociation('obj',obj);
};
LoaderEngine.XHR_FUNCTION_ASSOCIATIONS=[];
LoaderEngine.getXhrAssociation=function(key,hasName){
	for(var i=0;i<this.XHR_FUNCTION_ASSOCIATIONS.length;i++){
		//console.log('>'+i+'xhr'+this.XHR_FUNCTION_ASSOCIATIONS[i]['name']+' > ' +key+' > '+hasName+' > '+(this.XHR_FUNCTION_ASSOCIATIONS[i][key]==hasName));
		if(this.XHR_FUNCTION_ASSOCIATIONS[i][key]==hasName){
				return this.XHR_FUNCTION_ASSOCIATIONS[i];
		}
	}
	
};
LoaderEngine.getByFunctionOrXhr=function(obj){
	var retval=this.getXhrAssociation('fn',obj);
	if(retval!=null)return retval;
	else return this.getXhrAssociation('xhr',obj);
};





//the new parallel syncronised loading functions
//library


//elements by classname

function isEmpty(obj){
	if(obj==null) return true;
	for(var v in obj){
		return false;
	}return true;
}


function ibeGetElementsByClassName(tag,classname){
	var returnvalues=[];
	if(document.getElementsByClassName!=null){
		
		var elements=document.getElementsByClassName(classname);
		for(var i=0;i<elements.length;i++){
			var elementi=elements[i];			
			if(elementi.tagName.toUpperCase()==tag.toUpperCase() || tag==null || tag=='')returnvalues.push(elementi); 
		}
				
	}else{
		var elements=document.getElementsByTagName(tag);
		
		for(var i=0;i<elements.length;i++){
			var elementi=elements[i];			
			if(elementi.className.indexOf(classname)>=0)returnvalues.push(elementi); 
		}
		
		
	}
	return returnvalues;
}


function showMask(){
	var mask=document.getElementById('ibe-adminstyle-globalmaskingdiv');
	//mask.style.visibility='visible';
	mask.style.display='';		
}
function hideMask(){
	var mask=document.getElementById('ibe-adminstyle-globalmaskingdiv');
	//mask.style.visibility='hidden';
	mask.style.display='none';
	
}
function makeModal(div){	
	if(div!=null && div.parentNode!=null){
		div.previousParent=div.parentNode;
		var mask=document.getElementById('ibe-adminstyle-globalmaskingdiv');
		mask.appendChild(div);
	}
	showMask();
}
function unmakeModal(div){
	hideMask();	
	if(div==null){
		var mask=document.getElementById('ibe-adminstyle-globalmaskingdiv');
		div=mask.firstChild;
	}
	if(div!=null && div.previousParent!=null){
		div.previousParent.appendChild(div);	
		div.previousParent=null;
	}
}



//xhr object
function getXhrObj()
{
var xmlHttp;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    try
      {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    catch (e)
      {
      
      return false;
      }
    }
  }
  //xmlHttp='xhr';
  return xmlHttp;
}


//the syncer class
function Syncer(){
	this.elements=[];
	this.threadcount=0;
	this.objtype='syncer';
	this.register=function(obj){
		
		if(obj!=null){
			for(var i=0;i<this.elements.length;i++){
				if(this.elements[i]==obj ){				
					return true; 
				}			
			}
			this.threadcount++;
			
			if(LoaderEngine.DEBUG_ENABLED)console.log(' register> '+this.threadcount+' >' +this.elements.length+'>'+this.name+' > '+(obj.src || obj.href || obj.value || obj.name || obj));
			
			this.elements.push(obj);
			LoaderEngine.SYNCER_ASSOCIATIONS.push({'syncer':this,'obj':obj});
			try{
				obj.onsyncerload=function(){
					var syncer=LoaderEngine.getSyncerByObj(this);					
					if(syncer && syncer['syncer'])syncer['syncer'].deregister(this);
				};
			}catch(e){}
		}
		
	}
	this.deregister=function(obj){		
		
		for(var i=0;i<this.elements.length;i++){			
			if(this.elements[i]==obj){
				this.threadcount--;
				
				if(LoaderEngine.DEBUG_ENABLED)console.log('deregister> '+this.threadcount+' > '+i+'>'+ this.name+' > '+(obj.src || obj.href || obj.value || obj.name || obj));						
				//this.elements[i].syncer=null;
				//this.elements[i]=null;

				
				this.checkandsyncerload();				
				return true; 
			}
		}
	}
	this.checkandsyncerload=function(){
		if(this.onsyncerload && this.threadcount==0){				
				this.onsyncerload();
		}
	}
}

//get the assets
function getCssArrays(){
	var tagArray=[]
	var inlinetags=[];
	var tags=ibeGetElementsByClassName('div','ibe_css_tag');
	for(var i=0;i<tags.length;i++){	
		var text=tags[i].innerText;
		var where='innerText';
		if(text==null || text=='')text= tags[i].textContent;
		where='textContent';
		var tag={'tag':'style','type':'text/css','media':'screen','where':where,'value':text};
		//var tag={'tag':'style','type':'text/css','media':'screen','innerHTML':tags[i].innerHTML};
		inlinetags.push(tag);
	}
	tagArray.push(inlinetags);
	
	var outlinetags=[];
	var tags=ibeGetElementsByClassName('input','ibe_css_tag');
	for(var i=0;i<tags.length;i++){		
		LoaderEngine.TaggableAssets++;	
		var tag={'tag':'link','type':'text/css','rel':'stylesheet','media':'screen','where':'href','value':tags[i].value};		
		outlinetags.push(tag);
	}
	tagArray.push(outlinetags);
	return tagArray;
}



function getScriptArrays(){
	var tagArray=[];
	
	var scriptLibs=ibeGetElementsByClassName('input','ibe_js_lib_tag');
	var libtags=[];
	for(var i=0;i<scriptLibs.length;i++){
		
		var pushtag=true;		
		var tag={'tag':'script','where':'src','value':scriptLibs[i].value};
		for(var j=0;j<tagArray.length;j++){
			for(var k=0;k<tagArray[j].length;k++){
				if(tagArray[j][k].value==scriptLibs[i].value){
					
					pushtag=false;
					break;
				}
			}
			if(!pushtag)break;
		}
		if(pushtag){
			LoaderEngine.TaggableAssets++;			
			libtags.push(tag);			
		}		
	}
	tagArray.push(libtags);
	
	var scriptInputs=ibeGetElementsByClassName('div','ibe_js_tag');
	for(var i=0;i<scriptInputs.length;i++){
		var inlinetags=[];		
		//alert('textcontent='+scriptInputs[i].textContent+'>\n innerhtml='+scriptInputs[i].innerHTML+'>\n text='+scriptInputs[i].text+'\n> innertext='+scriptInputs[i].innerText+'\n> outertext='+scriptInputs[i].outerText);
		var text=scriptInputs[i].outerText;		
		var where='innerText';
		if(text==null || text==''){
			text= scriptInputs[i].textContent;
			where='textContent';
		}
		
		
		var tag={'tag':'script','where':where,'value':text,'id':scriptInputs[i].id};
		inlinetags.push(tag);
		tagArray.push(inlinetags);
	}
	
	
	var scriptInputs=ibeGetElementsByClassName('input','ibe_js_tag');
	var tags=[];
	for(var i=0;i<scriptInputs.length;i++){
		var pushtag=true;
		var tag={'tag':'script','where':'src','value':scriptInputs[i].value};		
		for(var j=0;j<tagArray.length;j++){
			for(var k=0;k<tagArray[j].length;k++){				
				if(tagArray[j][k].value==scriptInputs[i].value){
					
					pushtag=false;
					break;
				}
			}
			if(!pushtag)break;
		}
		if (pushtag){			
			LoaderEngine.TaggableAssets++;
			tags.push(tag);
			
		}
	}
	tagArray.push(tags);
	
	return tagArray;
}



function getAssets(){
	var tagArray=[];
	
	var taglibs=getCssArrays();
	
	currentrank=0;
	for(var i=0;i<taglibs.length;i++){
		var tags=taglibs[i];		
		tagArray.push({'tags':tags,'rank':currentrank,'wait':false});
		currentrank++;
	}
	
	
	var scriptlibs=getScriptArrays();
	for(var i=0;i<scriptlibs.length;i++){
		var tags=scriptlibs[i];
		var wait=false;
		if(tags.length>0 && tags[0].where=='src' && tags[0].value!=null && tags[0].value!='')wait=true;
		tagArray.push({'tags':tags,'rank':currentrank,'wait':wait});
		currentrank++;
	}
	return tagArray;//array of arrays of tags
}
function getAssetElement(asset){
	//var tag={'tag':'script','src':scriptLibs[i].value};
	//var tag={'tag':'style','type':'text/css','rel':'stylesheet','media':'screen','href':tags[i].value};
	var tag=document.createElement(asset['tag']);
	
	tag.onload=function(){
		
	}
	
	try{
		
		for(var key in asset){
			
			try{
				tag[key]=asset[key];				
			}catch(e){				
				if(key=='innerText' || key=='textContent' )tag.text=asset[key];		
			}
			try{				
				if(key=='innerText' || key=='textContent' ){					
					tag.text=asset[key];					
				}				
			}catch(e){			
				
			}
		}
		
	
	}catch(e){
		
		outertag=document.createElement('div');
		div.id='ibe_innerhtml_tagger_for_ie';
		
		++LoaderEngine.InnerHTMLTagId;
		
		var tagtype='text/css';
		if(asset['tag']=='script')tagtype='text/javascript';
		var text='<'+asset['tag']+' type="'+tagtype+'" id="temp_ibe_innerhtml_tag_'+LoaderEngine.InnerHTMLTagId+'">var temp_ibe_innerhtml_var=0;</'+asset['tag']+'>';
		
		outertag.innerHTML+=text;
		tag=outertag.firstChild;
		while(tag.id!='temp_ibe_innerhtml_tag_'+LoaderEngine.InnerHTMLTagId) tag=tag.nextSibling;
		//var tag=document.getElementById('temp_ibe_innerhtml_tag_'+LoaderEngine.InnerHTMLTagId);
		
		if(tag.parentNode)tag.parentNode.removeChild(tag);
		
		for(var key in asset){
			tag[key]=asset[key];				
		}
	}

	document.getElementsByTagName('head')[0].appendChild(tag);

	return tag;
}
function getAssetElements(assetGroup){
	var assetElementsGroup={};
	
	var assetElements=[];
	
	for(var i=0;i<assetGroup.tags.length;i++){
		
		var tag=getAssetElement(assetGroup.tags[i]);
		assetElements.push(tag);
	}
	assetElementsGroup.tags=assetElements;
	assetElementsGroup.wait=assetGroup.wait;
	return assetElementsGroup;
}

function loadAssetElement(assetElement,waiting){
	
	//load the asset.. ie set src or innerText or textContent of the asset element
	try{
		assetElement[assetElement['where']]=assetElement['value'];		
	}catch(e){
	//	if(assetElement['where']=='textContent' || assetElement['where']=='innerText') assetElement['text']=assetElement['value'];
	}
	if(assetElement['where']=='textContent' || assetElement['where']=='innerText'){
		assetElement['text']=assetElement['value'];
	}
	
	if(waiting==false || waiting==null){	
		assetElement.onload();	
	}
	
	
}
function loadAssetGroup(assetGroup){
	var elements=assetGroup.tags;
	
	for(var i=0;i<elements.length;i++){
		loadAssetElement(elements[i],assetGroup.wait);
	}	
	
}

function trimEmptyAssets(assets){
	var blockingAssets=[];
	for(var i=0;i<assets.length;i++){
		if(assets[i].tags && assets[i].tags.length>0) blockingAssets.push(assets[i]);
	}
	return blockingAssets;
}


function loadNonBlockingAssetsAndGetBlockingAssets(assets){
	var blockingAssets=[];
	var nonBlockingAssetElements=[];
	
	for(var i=0;i<assets.length;i++){
		
		if(assets[i].wait){			
			blockingAssets.push(assets[i]);			
		}else{
				
			var assetElements=getAssetElements(assets[i]);
			nonBlockingAssetElements.push(assetElements);

			loadAssetGroup(assetElements);
			
		}		
	}
	
	return blockingAssets;
}




//get the xhrs
function getXHR(formEl){		
	var xhrobj=getXhrObj();
	LoaderEngine.XHR_ASSOCIATIONS.push({'xhr':xhrobj,'form':formEl});
	//xhrobj.formEl=formEl;
	formEl.XHRObject=xhrobj;
	return xhrobj;
}

function getXHRs(){
	var tags=ibeGetElementsByClassName('form','ibe_ajax_tag');
	var xhrs=[];
	for(var i=0;i<tags.length;i++){
		
		var xhr =getXHR(tags[i]);
		
		xhrs.push(xhr);	
	}
	return xhrs;
}

function sendXHR(xhrobj){	
	
	//var formEl=xhrobj.formEl;
	
	var formEl=LoaderEngine.getByXhr(xhrobj)['form'];
	//if(LoaderEngine.DEBUG_ENABLED)console.log(xhrobj.onreadystatechange);
	
	var queryString='';
	
	for(var i=0;i<formEl.elements.length;i++){
		if(formEl.elements[i]!=null && formEl.elements[i]!=''){
			queryString+=((queryString=='')?'':'&')+formEl.elements[i].name+'='+formEl.elements[i].value			
		}
	}
	
	queryString=encodeURI(queryString);
	var temp=formEl.method.toUpperCase();
	if(temp=='POST'){
		xhrobj.open(formEl.method, formEl.action, true);
		//Send the proper header information along with the request
		xhrobj.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		xhrobj.setRequestHeader("Content-length", queryString.length);
		xhrobj.setRequestHeader("Connection", "close");
		xhrobj.send(queryString);	
	}else{
		var actn=formEl.action;
		if(queryString!=null && queryString!='')actn+='?'+queryString;
		xhrobj.open(formEl.method,actn,true);
		xhrobj.send(null);		
	}
	
}

function getBundlerXhr(assets){
	
	var elForm={
			elements:[],
			method:'POST',
			action:'scoolex.ajax'
		};
		var acmode={'name':'ACTION_MODE','value':'GET_GROUPS'};
		elForm.elements.push(acmode);
		for(var i=0;i<assets.length;i++){
			var tObj=assets[i];
			for(var j=0;j<tObj['tags'].length;j++){	
				if( tObj['tags'][j].where!='innerText' && tObj['tags'][j].where!='textContent' ){
					var nameElement={'name':'contentPath','value':tObj['tags'][j]['value']};
					var categoryElement={'name':'contentType','value':tObj['rank']};
					var typeElement={'name':'type','value':tObj['tags'][j]['tag']};
					elForm.elements.push(nameElement);
					elForm.elements.push(categoryElement);
					elForm.elements.push(typeElement);
				} 				
			}
		}
		
		var bundlerXhr=getXHR(elForm);					
		bundlerXhr.onreadystatechange=function(){						
			if(bundlerXhr.readyState==4){
											
				var response=bundlerXhr.responseText;       				
				$(IBE_INTERNAL_DIV_ID).innerHTML=response;
				loadJsScreenUrl();
			}
		}				
	var assetobj=LoaderEngine.getByXhr(bundlerXhr);
//	bundlerXhr.name='bundlerxhr';
	assetobj['assets']=assets;
	//bundlerXhr.name='bundler';
	return bundlerXhr;
	
	/*
	var bundlerXhr={};
	bundlerXhr.formEl={elements:[],method:'GET',action:'nullscreen.screen'};
	bundlerXhr.assets=assets;
	bundlerXhr.send=function(obj){
		
		this.readyState=4;		
		this.responseText=this.assets;
		this.onreadystatechange();
	}
	bundlerXhr.open=function(){};
	bundlerXhr.name='bundler';
	return bundlerXhr;
	*/
}
function window_location(loc){	
	if(document.IBE_LOADED_IN_INTERNAL_DIV && IBE_INTERNAL_DIV_ID!=null && $(IBE_INTERNAL_DIV_ID)!=null){		
		var elForm={
			elements:[],
			method:'GET',
			action:loc
		};
		var xhr=getXHR(elForm);					
		xhr.onreadystatechange=function(){						
			if(xhr.readyState==4){								
				var response=xhr.responseText;            				
				$(IBE_INTERNAL_DIV_ID).innerHTML=response;
				loadJsScreenUrl();
			}
		}				
		
		sendXHR(elForm.XHRObject);						
		return false;
	}
	else window.location=loc;
}
function form_submit(form){
	if(form.ajaxsubmit!=null)return form.ajaxsubmit();
	else return form.submit();
}
function completeLoading(){
				
		unmakeModal(document.getElementById('modalercontainer'));
		$$('.ibe-adminstyle-firsthidden').each(function(el){el.setStyle('display','');});
		
		if(document.IBE_LOADED_IN_INTERNAL_DIV && IBE_INTERNAL_DIV_ID!=null && $(IBE_INTERNAL_DIV_ID)!=null){
			
			var forms=$$('form');
			
			for(var v=0;v<forms.length;v++){
				
				if(!forms[v].hasClass('ibe_ajax_tag')){
					
					forms[v].ajaxsubmit=function(evt){
						evt=evt || window.event;
						if(this.validator && !this.validator.pseudoSubmit) return false;
						var xhr=getXHR(this);					
						xhr.onreadystatechange=function(){						
							if(xhr.readyState==4){								
								var response=xhr.responseText;            				
	            				$(IBE_INTERNAL_DIV_ID).innerHTML=response;
	            				loadJsScreenUrl();
							}
						}				
						
						sendXHR(this.XHRObject);
						//event bubbling is stopped
						if(evt){
							evt.cancelBubble = true;
							if (evt.stopPropagation) evt.stopPropagation();	
						}
						return false;
					}
					forms[v].addEvent('submit',forms[v].ajaxsubmit);					
				}
			}
		
		}
		LoaderEngine.TIMEOUT_ACTIVE=false;		
		window.fireEvent(EnvVariables.LOAD_METHOD);		
}

	function bundlerreadystatechangefn(xhrobj){
			
			
			//for(var v in this){
			//	al+=(v+' > '+this[v]+'\n');
			//}
			//alert(al);
			//if(this==document){
			//	alert('docs');
				var objXhrAssets=LoaderEngine.getByFunctionOrXhr(xhrobj);
			//}
			//else var objXhrAssets=LoaderEngine.getByFunctionOrXhr(this);
			//alert('::'+objXhrAssets['xhr']);
			var xhr=objXhrAssets['xhr'];
			//if(LoaderEngine.DEBUG_ENABLED)console.log(xhr.name+'>'+this.name+'>>'+(this==xhr));
			//if(LoaderEngine.DEBUG_ENABLED)console.log('rsc'+xhr.readyState);
			//var xhr=this.xhr;	
			if(xhr.readyState==4){
				
				var newassets=eval('('+xhr.responseText+')');
				
							
				if(!isEmpty(newassets)){
					
					var eltArr=new Array();					
					for(var key in newassets) eltArr[parseInt(key)]=newassets[key];					
					for(var key in newassets){
						
						var assetArray=newassets[key];	
							
						for(var i=0;i<objXhrAssets.assets.length;i++){
							var tObj=objXhrAssets.assets[i];
							
							if(tObj['rank']==key){							
								for(var ctAssetArray=0;ctAssetArray<assetArray.length;ctAssetArray++){
									var tObjTag=tObj['tags'][0];
									if(tObj['tags'].length>ctAssetArray)tObjTag=tObj['tags'][ctAssetArray];
									var tag={};	
									for (var v in tObjTag){
										tag[v]=tObjTag[v];
									};
									tag['value']=assetArray[ctAssetArray];
									//var tag={'tag':,'where':'src','value':assetArray[i]};
									assetArray[ctAssetArray]=tag;
								}								
								tObj['tags']=assetArray;								
							}
						}
					}
										
				}
				
				
				var blockingAssets=trimEmptyAssets(objXhrAssets.assets);
				
				var blockingAssetElements=[];
				var assetgroupSyncer=[];
				
				for(var i=0;i<blockingAssets.length;i++){
						
					var assetGroup=blockingAssets[i];
					
					
					assetgroupSyncer[i]=new Syncer();	assetgroupSyncer[i].name='agsyncer'+i;
					
					
					var assetLinks=getAssetElements(assetGroup);
					
					for(var j=0;j<assetLinks.tags.length;j++){
							
						var asset=assetLinks.tags[j];
									
						assetgroupSyncer[i].register(asset);
						
						asset.onreadystatechange=function(){//ie and opera
							try{							
								var v=this.readyState;
							}catch(e){
								
							}
							
							if(v=='loaded' ){
								
								var syncer=LoaderEngine.getSyncerByObj(this);
															
								if(syncer && syncer['syncer'])syncer['syncer'].deregister(this);							
							}										
						}					
						asset.onload=function(){
							
							var syncer=LoaderEngine.getSyncerByObj(this);
							
							if(syncer && syncer['syncer'])syncer['syncer'].deregister(this);
						}
					}
					
					blockingAssetElements.push(assetLinks);
					
					if(i>0){
						assetgroupSyncer[i-1].nextAssetGroup=assetLinks;
						assetgroupSyncer[i-1].onsyncerload=function(){						
							loadAssetGroup(this.nextAssetGroup);
						}
					}
					
									
					if(i==blockingAssets.length-1){
						var syncer=LoaderEngine.getSyncerByObj(xhr);
						if(syncer && syncer['syncer'])syncer['syncer'].register(assetgroupSyncer[i]);
					}
					
				}
				
				if(blockingAssetElements.length>0){
					var assetElementGroup=blockingAssetElements[0];
					
					loadAssetGroup(assetElementGroup);
				}
				
				var syncer=LoaderEngine.getSyncerByObj(xhr);
				if(LoaderEngine.DEBUG_ENABLED)console.log('deregister bundlerxhr');
				if(syncer && syncer['syncer'])syncer['syncer'].deregister(xhr);
				
				
			}
			
		}
		function readystatechangefn(xhrobj){
			
			var objXhrAssets=LoaderEngine.getByFunctionOrXhr(xhrobj);
			
			var xhr=objXhrAssets['xhr'];					
			//console.log(xhrobj+'doc<'+(this==document)+'>'+objXhr);
			
			
			if(LoaderEngine.DEBUG_ENABLED)console.log(xhr.name+'>'+this.name+'>>'+(this==xhr));
			if(LoaderEngine.DEBUG_ENABLED)console.log('rsc--'+xhr.readyState);
		
			
			
			if(xhr!=null && xhr.readyState==4){//the response is obtained;
				
				var formEl=LoaderEngine.getByXhr(xhr);
				var syncerEl=LoaderEngine.getSyncerByObj(xhr);
								
				if(formEl && formEl['form'])formEl['form'].onsubmit();	
				if(syncerEl && syncerEl['syncer'])syncerEl['syncer'].deregister(xhr);
			}	
			
			
		}



function loadscreen(){
	var timeout=1*60;
	var timeOutElements=ibeGetElementsByClassName('input','IBE_TIMEOUT_SECONDS_TO_LOAD_IN_BASIC_HTML_MODE');
	if(timeOutElements!=null){
		for(var ctTimeOuts=0;ctTimeOuts<timeOutElements.length;ctTimeOuts++){
			if(parseFloat(timeOutElements[ctTimeOuts].value)>timeout)timeout=parseFloat(timeOutElements[ctTimeOuts].value);		
		}
	}	
	//var t=setTimeout("if(LoaderEngine.TIMEOUT_ACTIVE){loadPureHtmlView();}",timeout*1000);
	makeModal(document.getElementById('modalercontainer'));	
		
		var globalSyncer=new Syncer();
		globalSyncer.name='globalsyncer';
		globalSyncer.onsyncerload=completeLoading;
	
		
		var xhrs=getXHRs();
		//dummy syncer lock to chain things properly
		var dummysyncerlock={'name':'dummysyncerlock'};
		
		globalSyncer.register(dummysyncerlock);	
		
		for(var i=0;i<xhrs.length;i++){
			xhr=xhrs[i];
			
			globalSyncer.register(xhr);
			
			LoaderEngine.XHR_FUNCTION_ASSOCIATIONS.push({
				'xhr':xhr,
				'fn':readystatechangefn,
				'name':'xhr'+i
			});		
			xhr.onreadystatechange=function(){readystatechangefn(xhr)};
			
		}
		
		for(var i=0;i<xhrs.length;i++){
			sendXHR(xhrs[i]);
		}
		
		var assets=getAssets();
		var bundlerxhr={};	
		//bundlerxhr.assets=assets;
		if(document.getElementById('IBE_BUNDLING_MODE').value=='AJAX' &&  LoaderEngine.TaggableAssets>0 ){			
			 bundlerxhr=getBundlerXhr(assets);	
		}
//		bundlerxhr.name='bundler';
		globalSyncer.register(bundlerxhr);
		//unload after bundler has been loaded
		
		
		//bundlerreadystatechangefn.xhr=bundlerxhr;
		//bundlerxhr.xhr=bundlerxhr;
		LoaderEngine.XHR_FUNCTION_ASSOCIATIONS.push({
			'xhr':bundlerxhr,
			'fn':bundlerreadystatechangefn,
			'name':'bundler',
			'assets':assets
		
		});		
		bundlerxhr.onreadystatechange=function(){bundlerreadystatechangefn(bundlerxhr);};
		dummysyncerlock.onsyncerload();
		if(document.getElementById('IBE_BUNDLING_MODE').value=='AJAX' &&  LoaderEngine.TaggableAssets>0 ){
			
			sendXHR(bundlerxhr);	
			
		}else{
			bundlerxhr.readyState=4;
			bundlerxhr.onreadystatechange();
		}
		
	
	
	
	
}


//error function
function loadPureHtmlView(){
			
	if(document.IBE_LOADED_IN_INTERNAL_DIV){
		if(IBE_PAGE_MODE!='BASIC_HTML'){
			IBE_PAGE_MODE='BASIC_HTML';	
			startSearch();	
		}else{
			//search error
		}
						
	}else if(document.getElementById('ibe_load_in_html_mode_form')){
		document.getElementById('ibe_load_in_html_mode_form').submit();
	}
	else{
		//search error
	}
	
}



if(true==document.IBE_LOADED_IN_INTERNAL_DIV)loadscreen();
else{
	window.onload=loadscreen;
}


function oldwindowonload(){
	
	//first add the css tags
	loadInlineStyles();
	
	loadStyles();
	
	//load js framework
	//loadLibraries();
	 
	
	//add the javascript
	loadInlineScripts();
	
	loadLibScripts();
	
	loadScripts();
	
	//start the xhrs
	loadXHRs();	
}

