//var enableCache = true;
var jsCache = new Array();

var dynamicContent_ajaxObjects = new Array();
function ucfirst(vay) {
    return vay.substr(0,1).toUpperCase() + vay.substr(1,vay.length);
}

function iframeSrc(isrc, iscroll){
	oIFrm = document.getElementById('myIFrm');
	//if(iscroll = "no"){
	//document.frames[oIFrm].document.body.style.overflow='hidden';
	//}
	//oIFrm.scrolling = iscroll;
	oIFrm.src = isrc;
}

function iframeTitle(isrc, iback){
	oTitle = document.getElementById('myIFTitle');
	Myisrc = isrc; //Myisrc = isrc.substr(5);
	oTitle.innerHTML = "<strong style=\"float:left;display:block;\">"+ucfirst(Myisrc)+"</strong>";
	oTitle.innerHTML += "<strong style=\"float:right;margin: 0 10px 12px 0;display:block;\"><a href=\"javascript:;\"  onclick=\"ajax_loadContent('MainContent','"+iback+"', true);return false;\">Go Back</a></strong>";
}

function ajax_showContent(divId,ajaxIndex,url,enableCache,iback,isrc, iscroll){

	var targetObj = document.getElementById(divId);
	targetObj.innerHTML = dynamicContent_ajaxObjects[ajaxIndex].response;
	if(enableCache){
		jsCache[url] = 	dynamicContent_ajaxObjects[ajaxIndex].response;
	}
	dynamicContent_ajaxObjects[ajaxIndex] = false;
	
	ajax_parseJs(targetObj)
	if(isrc != null){
	iframeSrc(isrc, iscroll);
	iframeTitle(isrc, iback);
	}
}

function ajax_loadContent(divId,url,enableCache,iback,isrc, iscroll){
	//new Cookie("page", url, "", "20").Save();

	if(enableCache && jsCache[url]){
		document.getElementById(divId).innerHTML = jsCache[url];
		ajax_parseJs(document.getElementById(divId))
		evaluateCss(document.getElementById(divId))
		return;
	}
	
	var ajaxIndex = dynamicContent_ajaxObjects.length;
	//var myPage = new Cookie("page").Load();
	//document.getElementById(divId).innerHTML = "Loading <strong>"+myPage.substr(0,1).toUpperCase() + myPage.substr(1,myPage.length-6)+"</strong> - please wait.";
	//alert(document.getElementById(divId).innerHTML);
	document.getElementById(divId).innerHTML = "Loading Page - please wait.";
	dynamicContent_ajaxObjects[ajaxIndex] = new sack();
	
	if(url.indexOf('?')>=0){
		dynamicContent_ajaxObjects[ajaxIndex].method='GET';
		var string = url.substring(url.indexOf('?'));
		url = url.replace(string,'');
		string = string.replace('?','');
		var items = string.split(/&/g);
		for(var no=0;no<items.length;no++){
			var tokens = items[no].split('=');
			if(tokens.length==2){
				dynamicContent_ajaxObjects[ajaxIndex].setVar(tokens[0],tokens[1]);
			}	
		}	
		url = url.replace(string,'');
	}

	dynamicContent_ajaxObjects[ajaxIndex].requestFile = url;	// Specifying which file to get
	dynamicContent_ajaxObjects[ajaxIndex].onCompletion = function(){ ajax_showContent(divId,ajaxIndex,url,enableCache,iback,isrc,iscroll); };	// Specify function that will be executed after file has been found
	dynamicContent_ajaxObjects[ajaxIndex].runAJAX();		// Execute AJAX function	
	
	
}

function ajax_parseJs(obj){
	var scriptTags = obj.getElementsByTagName('SCRIPT');
	var string = '';
	var jsCode = '';
	for(var no=0;no<scriptTags.length;no++){	
		if(scriptTags[no].src){
	        var head = document.getElementsByTagName("head")[0];
	        var scriptObj = document.createElement("script");
	
	        scriptObj.setAttribute("type", "text/javascript");
	        scriptObj.setAttribute("src", scriptTags[no].src);  	
		}else{
			if(navigator.userAgent.toLowerCase().indexOf('opera')>=0){
				jsCode = jsCode + scriptTags[no].text + '\n';
			}
			else
				jsCode = jsCode + scriptTags[no].innerHTML;	
		}
		
	}

	if(jsCode)ajax_installScript(jsCode);
}


function ajax_installScript(script){		
    if (!script)
        return;		
    if (window.execScript){        	
    	window.execScript(script)
    }else if(window.jQuery && jQuery.browser.safari){ // safari detection in jQuery
        window.setTimeout(script,0);
    }else{        	
        window.setTimeout( script, 0 );
    } 
}	
	
	
function evaluateCss(obj){
	var cssTags = obj.getElementsByTagName('STYLE');
	var head = document.getElementsByTagName('HEAD')[0];
	for(var no=0;no<cssTags.length;no++){
		head.appendChild(cssTags[no]);
	}	
}
