// dynamic load

var dynload_init = null;

var dynload_timercheck = null;
var dynload_destination = null;
var dynload_onComplete = null;

var dynLoad_Return = "";

function DynamicLoad_Init(){
	dynload_init = true;
}

function DynamicLoad(url,destination, onComplete, PostData){

	//**Show loading bar
	//document.getElementById('div_dynloadLoading').style.display = 'block';

	dynLoad_Return = "";

	//**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
	
	//Add a random number to request so that content is always dynamic, not cached. (IE fix)
	var r=Math.floor(Math.random()*11)
	if(url.indexOf("?") == -1){
		url = url + "?rndl=" + r;
	}else{
		url = url + "&rndl=" + r;
	}
	
	
	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();
    }
    
	dynload_destination.innerHTML = " ";
	
	if(onComplete != "" && onComplete != null){
	    dynload_onComplete = onComplete;
	}else{
	    dynload_onComplete = null;
	}

	//**Hide loading bar

    
}

function DynamicLoadCheck() {
	
	//window.status=dynloadObj.readyState;

	if (dynloadObj.readyState == 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){
				
				dynload_destination.innerHTML = dynloadObj.responseText;
				
			}else{
			
				dynLoad_Return = 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(";");
		        for (i=0;i<xx.length;i++){
		            var sSS = xx[i];
		            eval(xx[i]);
		        }
		    }    
		}	
		
		return true;
		
	}else{
	
		DynamicLoadTimerStart()
		return false;
		
	}

}

function DynamicLoadTimerStart() {

	if (dynload_timercheck != null) {
		window.clearTimeout(dynload_timercheck);
	}
	dynload_timercheck = window.setTimeout("DynamicLoadCheck()",200);
}

DynamicLoad_Init();


// Additional functions (not related to dynLoad)
						
						
function opacity(id, opacStart, opacEnd, millisec) {
    //speed for each frame
    var speed = Math.round(millisec / 100);
    var timer = 0;

    //determine the direction for the blending, if start and end are the same nothing happens
    if(opacStart > opacEnd) {
        for(i = opacStart; i >= opacEnd; i--) {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    } else if(opacStart < opacEnd) {
        for(i = opacStart; i <= opacEnd; i++)
            {
            setTimeout("changeOpac(" + i + ",'" + id + "')",(timer * speed));
            timer++;
        }
    }
}

//change the opacity for different browsers
function changeOpac(opacity, id) {
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
	if(opacity == 0){
		object.display = "none";
	}else{
		object.display = "block";
	}
} 


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();