// dynamic load

var dynload_timercheck  = null;
var dynload_destination = null;
var dynload_onComplete  = null;
var dynload_extracheck  = null;
var dyn_extracheckval   = "";
var dyn_bAppend         = false;

var dynloadState = 0;

function DynamicLoad_Init(){

	document.write("<div style='width:100%;height:100%;text-align:center;display:none;position:absolute;top:0px;left:0px;' id='div_dynloadLoading'>");
	document.write("	<table width='100%' id='divloadingtempmain'><tr><td>");
	document.write("	<div style='width:120px;height:10px;color:#444444;vertical-align:middle;'>");
	document.write("		<img src='img/loading.gif'>&nbsp;Loading");
	document.write("	</div>");
	document.write("	</td></tr></table>");
	document.write("</div>");

}

function DynamicLoad(url,destination, onComplete, PostData, bAppend){

    if (bAppend != undefined && bAppend != null){
        dyn_bAppend = bAppend;
    }
    
	if(dynloadState != 0){
		return false;	
	}

	//**Show loading bar
	//document.getElementById('div_dynloadLoading').style.display = 'block';

	//**Init object
	if(window.XMLHttpRequest){
		dynloadObj  = new XMLHttpRequest();
	}else if(window.ActiveXObject){
		dynloadObj  = new ActiveXObject("Microsoft.XMLHTTP");
	}else{
		alert("DYNAMIC LOAD ERROR:\n\nCould not load.");
	}
	
	//**Request
	
	dynloadObj.async = false;
	if (PostData){
	    dynloadObj.open("POST", url);
  	    dynloadObj.setRequestHeader("content-type","application/x-www-form-urlencoded");
  	    dynloadObj.send(PostData);
	}else{
	    dynloadObj.open("GET", url);
	    dynloadObj.send(null);
	}
	
	//**Output response when ready
	if (destination){
	    if(destination.indexOf(":") > -1){
		    dynload_destination = destination;
	    }else{
		    dynload_destination = document.getElementById(destination);
		    DynamicLoadTimerStart();
	    }
    }else{
        dynload_destination = "";
        DynamicLoadTimerStart();
    }
    
    if (bAppend){
	    dynload_destination.innerHTML = dynload_destination.innerHTML + document.getElementById('div_dynloadLoading').innerHTML;
    }else{
	    dynload_destination.innerHTML = document.getElementById('div_dynloadLoading').innerHTML;
    }
	            	
	if(onComplete != "" && onComplete != null){
	    dynload_onComplete = onComplete;
	}else{
	    dynload_onComplete = null;
	}

	//**Hide loading bar

    
}

function DynamicLoadCheck() {

	window.status=dynloadObj.readyState;

	if (dynloadObj.readyState == 1 && dynloadState != 1) {
		dynloadState = 1;
		if(dynload_destination){

            if (dyn_bAppend){
                dynload_destination.innerHTML += "<div id='divloadingtemp'><img align='absmiddle' src='img/loading.gif' width='14' height='15'>loading...</div>";
            }else{
			    dynload_destination.innerHTML = "<div id='divloadingtemp'><img align='absmiddle' src='img/loading.gif' width='14' height='15'>loading...</div>";
			}    
		}
	}
	
	if (dynloadObj.readyState == 2 && dynloadState != 2) {
		dynloadState = 2;
		if(dynload_destination){
            if (dyn_bAppend){
                dynload_destination.innerHTML += "<div id='divloadingtemp'><imgalign='absmiddle' src='img/loading.gif' width='14' height='15'>completing load...</div>";
            }else{
			    dynload_destination.innerHTML = "<div id='divloadingtemp'><img align='absmiddle' src='img/loading.gif' width='14' height='15'>completing load...</div>";
			}
		}
	}
	
	if (dynloadObj.readyState == 3 && dynloadState != 3) {
		dynloadState = 3;
		if(dynload_destination){
            if (dyn_bAppend){
                dynload_destination.innerHTML += "<div id='divloadingtemp'><img align='absmiddle' src='img/loading.gif' width='14' height='15'>loading content...</div>";
            }else{
    			dynload_destination.innerHTML = "<div id='divloadingtemp'><img align='absmiddle' src='img/loading.gif' width='14' height='15'>loading content...</div>";
    		}	
		}
	}

	if (dynloadObj.readyState == 4 && dynloadState != 4) {
		
		dynloadState = 4;
				
		var aValues;
		
		if((dynload_destination.toString + "").indexOf(":") > -1){
			aValues = dynload_destination.split(":");
			switch(aValues[0]){
				case "SETVALUE":
					eval(aValues[1] + "='" + dynloadObj.responseText + "'");
				break;
			}
		}else{
			if(dynload_destination){
				
				if (document.getElementById("divloadingtemp")){
                    var o = document.getElementById("divloadingtemp");
                    o.parentNode.removeChild(o);
				}
				
				if (document.getElementById("divloadingtempmain")){
                    var o = document.getElementById("divloadingtempmain");
                    o.parentNode.removeChild(o);
				}				
				
                if (dyn_bAppend){
				    dynload_destination.innerHTML = dynload_destination.innerHTML + dynloadObj.responseText;
                }else{
				    dynload_destination.innerHTML = dynloadObj.responseText;
	            }
				
			}

		}
		
		dynload_timercheck	= null;
		dynload_destination = null;
		var sSS				= dynload_onComplete;
		dynload_onComplete	= null;
	
		if(sSS != null){
		    if (sSS.indexOf(";") == -1){
		        eval(sSS); //Call onComplete functions/methods
		    }else{
		        var xx = sSS.split(";");
		        
		        var hd  = null;
		        var hd1 = "";
		        
		        for (i=0;i<xx.length;i++){
		        
					if (i == 0){
						hd = xx[i];
						
						dynloadState = 0;

						eval(hd);
						
					}else{
						hd1 = hd1 + xx[i] + ";";	
					}
					
		        }
		        
				if (hd1 != "" && hd1 != ";" && hd1 != null){
					dyn_extracheckval = hd1;
					dynload_extracheck = window.setTimeout("ExtraCheck()",400);
				}else{
					dynload_extracheck = null;
					dyn_extracheckval = "";
				}
		        
		    }    
		}	
			
		dynloadState = 0;

	    document.getElementById('div_dynloadLoading').style.display = 'none';
		
		return true;
		
	}else{
	
		dynloadState = 0;
	
		DynamicLoadTimerStart()
		return false;
		
	}

}

function ExtraCheck(){

	if (dynload_timercheck == null){
		dynload_extracheck = null;
	
		var hd  = null;
		var hd1 = "";
		
		xx = dyn_extracheckval.split(";");
		
		for (i=0;i<xx.length;i++){
		
			if (i == 0){
				hd = xx[i];
				
				if (hd != "" && hd != null){
				
					eval(hd);
				}else{
					dynload_extracheck = null;
					dyn_extracheckval = "";
				}				
			}else{
				hd1 = hd1 + xx[i] + ";";	
			}
			
		}	
		
		if (dyn_extracheckval != "" && dyn_extracheckval != ";" && dyn_extracheckval != null){
			dyn_extracheckval = hd1;
			dynload_extracheck = window.setTimeout("ExtraCheck()",400);
		}else{
			dynload_extracheck = null;
			dyn_extracheckval = "";
		}
				
	}
	
}

function DynamicLoadTimerStart() {

	if (dynload_timercheck != null) {
		window.clearTimeout(dynload_timercheck);
	}
	dynload_timercheck = window.setTimeout("DynamicLoadCheck()",200);
}

DynamicLoad_Init();

var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari",
			versionSearch: "Version"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();

/*var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-21609102-1']);
_gaq.push(['_trackPageview']);

(function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();*/

