// JavaScript Document
function changeLanguage(lang) { 
    document.location=setURLvariable(document.location.href,'langID',lang);
}

function getURLElements(url)
{
	var ele;
	var ele2={};
	
	var ind=url.indexOf("?");
	if(ind!=-1)
	{
		url1=url.substr(0,ind);
		url2=url.substr(ind+1);
		ele=url2.split("&");
	}else
	{
		url1=url;
		url2="";
		ele=[];
	}
	
	for(i=0;(i<ele.length);i++)
	{
		
		var ind2=ele[i].indexOf("=");
		var name=ele[i].substr(0,ind2);
		var value=ele[i].substr(ind2+1);
		ele2[name]=value;
	}
	
	return ele2;
}

function reformElements(ele)
{
	var str="";
	
	for(var key in ele)
	{
		//alert(key);
		if(typeof(ele[key])=='function')
			continue;
		if(ele[key]!==null)
		str+=key+"="+ele[key]+"&";
	}
	str=str.substr(0,str.length-1);
	
	return str;
}

function setURLvariable(url,variable,value)
{
	var url1;
	var url2;
	var ele;
	
	var ele=getURLElements(url);
	
	var ind=url.indexOf("?");
	if(ind!=-1)
	{
		url1=url.substr(0,ind);
	}else
	{
		url1=url;
		ele=[];
	}
	ele[variable]=value;
	url2=reformElements(ele);
	//alert(url2);
	if(url2.length>0)
	{
		url=url1+"?"+url2;
	}
	return url;
}

function setMultibleURLvariable(url,elements)
{
	var url1;
	var url2;
	var ele;
	
	var ele=getURLElements(url);
	
	var ind=url.indexOf("?");
	if(ind!=-1)
	{
		url1=url.substr(0,ind);
	}else
	{
		url1=url;
		ele=[];
	}
	
	for(var key in elements)
	{
			ele[key]=elements[key];
	}
	url2=reformElements(ele);
	//alert(url2);
	if(url2.length>0)
	{
		url=url1+"?"+url2;
	}
	return url;
}



function deleteURLvariable(url,variable)
{
	var url1;
	var url2;
	var ele;
	
	var ele=getURLElements(url);
	
	var ind=url.indexOf("?");
	if(ind!=-1)
	{
		url1=url.substr(0,ind);
	}else
	{
		url1=url;
		ele=[];
	}
	delete ele[variable];
	url2=reformElements(ele);
	
	if(url2.length>0)
	{
		url=url1+"?"+url2;
	}
	return url;
	
}

/*
function setURLvariable(url,variable,value)
{
	var url1;
	var url2;
	var ele;
	
	var ind=url.indexOf("?");
	if(ind!=-1)
	{
		url1=url.substr(0,ind);
		url2=url.substr(ind+1);
		ele=url2.split("&");
	}else
	{
		url1=url;
		url2="";
		ele=[];
	}
	//alert(url1);
	//alert(url2);
	
	//alert("ELE"+ele);
	varFound=false;
	for(i=0;(i<ele.length)&&(!varFound);i++)
	{
		
		ind2=ele[i].indexOf("=");
		val=ele[i].substr(0,ind2);
		//alert(val);
		if(val==variable)
		{
			ele[i]=variable+'='+value;
			varFound=true;
		}
	}
	
	if(varFound==false)
	{
		ele[ele.length]=variable+'='+value;
	}
	var ret=url1+"?"+ele.join("&");
	//alert (ret);
	return ret;
	
}
*/
function getAjax()
{
	var xmlHttp;
	try
	{
		xmlHttp=new XMLHttpRequest();
	}catch (e)
	{
		try
		{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e)
		{
			try
			{
				xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e)
			{
				alert("Your browser does not support AJAX!");
				return false;
			}
		}
	}
	return xmlHttp;
}

function addOnLoad(func)
{
	var oldfunc=window.onload;
	if(typeof ondfunc=='function')
	{
		window.onload=function ()
		{
			oldfunc();
			func();
		}
	}else
	{
		window.onload=func;
	}
}

function makeAjaxCall(mo,mi,dm,other_params,callback)
{
	var ajax=getAjax();
	ajax.onreadystatechange=function()
		{
			if(ajax.readyState==4)
			{
				var obj=eval('('+ajax.responseText+')');
				var obj2=obj;
				callback.call(null,obj2);
			}
		}

	var data='{"module":"'+mo+'","module_instance":"'+mi+'","display_mode":"'+dm+'"';
	for(var i in other_params)
	{
		data+=',"'+i+'":"'+other_params[i]+'"';
	}
	data+="}";	
	
	ajax.open('POST','ajax_core.php',true);
	ajax.send(data);
}



