﻿
// LOAD VAR
            
function loadVar(id,variable) 			{ document.getElementById(id).innerHTML = variable; }
function load_var(id,variable) 			{ document.getElementById(id).innerHTML = variable; }
function load_variable(id,variable) 	{ document.getElementById(id).innerHTML = variable; }
function load_html(id,variable) 		{ document.getElementById(id).innerHTML = variable; }
function load_value(id,variable) 		{ document.getElementById(id).value = variable; }


// AJAX XML REQUEST

function getXMLHTTPRequest() {
	try {req = new XMLHttpRequest();} catch(err1) {
		try {req = new ActiveXObject("Msxml2.XMLHTTP");} catch (err2) {
        		try {req = new ActiveXObject("Microsoft.XMLHTTP");} catch (err3) {
            			req = false;}
 	   		}
		}
		
	return req;
}
  


// LOAD FUNCTION
            
function load_function(fn_name,fn_vars) {
	
	function create_function() {
				
		var loop 			= 0;
		var fn_name_array 	= fn_name.split(';');	
		var fn_vars_array 	= fn_vars.split(';');	
		var fn_new			= "";
				
		while (fn_name_array[loop]) {

			var loop2			= 0;
			var fn_vars_array2	= fn_vars_array[loop].split(',');
					
			fn_new 				= fn_new+fn_name_array[loop]+'(';
					
			while (fn_vars_array2[loop2]) {
						
				if (loop2 > 0 ) { fn_new = fn_new+","; }
				fn_new = fn_new+'"'+fn_vars_array2[loop2]+'"';
				loop2 = loop2 + 1;		
			}
					
			fn_new = fn_new+');';
			loop = loop + 1;				
		}
				
		return new Function(fn_new);
	}
			
	var run_function = create_function();     
	run_function();
}



// GENERIC INCLUDE
            
function include(id,file) {
var http = getXMLHTTPRequest();  
	
	http.onreadystatechange = function() {
	
		if (http.readyState == 4){
			
			if (http.status == 200)		{ document.getElementById(id).innerHTML = http.responseText;} 
			else						{ document.getElementById(id).innerHTML = "Error loading " + file;}

		}
	}

	http.open("GET", file, true);
	http.send(null);
}



// AJAX INCLUDE

function ajax_include(id,file) { include(id,file); }



// SJAX INCLUDE

function sjax_include(id,file) {
var http = getXMLHTTPRequest();
			
	if (http) {
	
		http.open("GET", file, false);
    	http.send(null);	

		return document.getElementById(id).innerHTML = http.responseText;
  	} 
	
	else { return false; }                                             
}

		

// INCLUDE MULTI

function include_multi(ids,files,count,type) { 

	var loop 			= 0;
	
	var id_array 		= new Array(count);
	var file_array	 	= new Array(count);		
		
	id_array 			= ids.split (',');
	file_array 			= files.split (',');

	while (loop < count) {
		
		if ( type == "ajax") { ajax_include(id_array[loop],file_array[loop]); }
		if ( type == "sjax") { sjax_include(id_array[loop],file_array[loop]); }
		
		loop = loop + 1;
	}
}


	
// INCLUDE FUNCTION
            
function include_function(id,file,fn_name,fn_vars) {
var http = getXMLHTTPRequest();  
	
	http.onreadystatechange = function() {
			
		if (http.readyState == 4) {
			
			if (http.status == 200)		{ document.getElementById(id).innerHTML = http.responseText;} 
			else						{ document.getElementById(id).innerHTML = "Error loading " + file;}
			
			function create_function() {
				
				var loop 			= 0;
				var fn_name_array 	= fn_name.split(';');	
				var fn_vars_array 	= fn_vars.split(';');	
				var fn_new			= "";
				
				while (fn_name_array[loop]) {

					var loop2			= 0;
					var fn_vars_array2	= fn_vars_array[loop].split(',');
					
					fn_new 				= fn_new+fn_name_array[loop]+'(';
					
					while (fn_vars_array2[loop2]) {
						
						if (loop2 > 0 ) { fn_new = fn_new+","; }
						fn_new = fn_new+'"'+fn_vars_array2[loop2]+'"';
						loop2 = loop2 + 1;		
					}
					
					fn_new = fn_new+');';
					loop = loop + 1;				
				}
				
				return new Function(fn_new);
			}
			
			var run_function = create_function();     
			run_function();
		}
	}
			
	http.open("GET", file, true);
	http.send(null);
}



// AJAX RELOAD

var ajax_reload_count = 0;
function ajax_reload(id,file,delay,loop) { 
			
	if (ajax_reload_count != 0) { include (id,file); }
	
	var delay_sec = delay*1000;
	
	if (ajax_reload_count < loop) {
		
		recursive = "ajax_reload('" + id + "','" + file + "','" + delay + "','" + loop + "')";
		ajax_reload_count ++;
		setTimeout(recursive, delay_sec); 
	}
}


// INCLUDE RETURN

var include_return_data;

function include_return(file) {
var http = getXMLHTTPRequest();

        http.onreadystatechange = function() {

                if (http.readyState == 4){

                        if (http.status == 200)         { include_return_data = http.responseText;}
                        else                            { include_return_data = "Error loading " + file;}

                }
        }

        http.open("GET", file, true);
        http.send(null);
}
