/************************************************************************************************************
Ajax dynamic content
Copyright (C) 2006  DTHMLGoodies.com, Alf Magne Kalleland

************************************************************************************************************/	

var enableCache = false;
var jsCache = new Array();

var dynamicContent_ajaxObjects = new Array();

function ajax_showContent(divId,ajaxIndex,url)
{
	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)
}

function ajax_loadContent(divId,url)
{
	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;

	if(divId=='colorPic'){
		document.getElementById(divId+'Loader').innerHTML = '<img src="/pic/layout/loading.gif" border="0" style="margin-right:11px">';
	}		
	else{
		//document.getElementById(divId).innerHTML = '<div style=text-align:center;><img src=/content/pic/layout/loading1.gif border=0></div>';
	}
	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); };	// 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]);
	}	
}


function ajax_submitForm(formName,divId,url) {
	var fObj=document.getElementById(formName);
	var numEl=fObj.elements.length;
	var lStr='?';
	var strArg=url.indexOf('?');
	if (strArg>0){lStr='&';}

	for (var i=0;i<numEl;i++) {
		if (fObj.elements[i].tagName=='INPUT')
		{
			if (fObj.elements[i].type=='text') {
			   lStr+=fObj.elements[i].name+'='+fObj.elements[i].value+'&';
			}
			if (fObj.elements[i].type=='hidden') {
			   lStr+=fObj.elements[i].name+'='+fObj.elements[i].value+'&';
			}
			if (fObj.elements[i].type=='checkbox') {
			   if (fObj.elements[i].checked) {
				  lStr+=fObj.elements[i].name+'='+fObj.elements[i].value+'&';
			   } else {
				  lStr+=fObj.elements[i].name+'=&';
			   }
			}
			if (fObj.elements[i].type=='radio') {
			   if (fObj.elements[i].checked) {
				  lStr+=fObj.elements[i].name+'='+fObj.elements[i].value+'&';
			   }
			}
		 } 
		 if (fObj.elements[i].tagName=='SELECT') {
			var sel=fObj.elements[i];
			lStr+=sel.name+'='+sel.options[sel.selectedIndex].value+'&';
		 }
	}
	
	var urlLoad=url+lStr;
	var focusID=document.getElementById(divId);
	//focusID.focus();
	return ajax_loadContent(divId,urlLoad);
}

function ajax_submitFormValues(formName,divId,url,fValues) {
	var fObj=document.getElementById(formName);
	var numEl=fObj.elements.length;
	var lStr='?';
	var strArg=url.indexOf('?');
	if (strArg>0){lStr='&';}

	for (var i=0;i<numEl;i++) {
		if (fObj.elements[i].tagName=='INPUT')
		{
			var fieldName=fObj.elements[i].name;
			if (fObj.elements[i].type=='text' && fieldName.indexOf(fValues)!=-1) {
			   lStr+=fObj.elements[i].name+'='+encodeURI(fObj.elements[i].value)+'&';
			}
		 } 
	}
	
	var urlLoad=url+lStr;
	var focusID=document.getElementById(divId);
	focusID.focus();
	return ajax_loadContent(divId,urlLoad);
}




// Disable subOpt while reloading
function disableFormValues(formName){

	var objForm = document.getElementById(formName);
	var numElObj=objForm.elements.length;
	for (i=0; i<numElObj; i++) {
		if (objForm.elements[i].name.substring(0,2)=='pp' || objForm.elements[i].name=='selMatPlate' || objForm.elements[i].name=='selMatStand'){
			objForm.elements[i].disabled=true;
		}
	}
}
