/* Ajax GET */
function Ajax(url, div_name, param, showid)
{
  var http_request = false;
  
  if(showid) {
    show();
  }

  if (window.XMLHttpRequest) { // Mozilla, Safari,...
    http_request = new XMLHttpRequest();
    if (http_request.overrideMimeType) {
      http_request.overrideMimeType('text/xml');
    }
  } else if (window.ActiveXObject) { // IE
    try {
      http_request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        http_request = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) {}
    }
  }

  if (!http_request) {
    alert('Unfortunately you browser doesn\'t support this feature.');
    return false;
  }
   
  http_request.onreadystatechange = function() {
    if (http_request.readyState == 4) {
      if (http_request.status == 200) {
        if(!div_name) {
          div_name = "content";
        }
        if(http_request.responseText.indexOf("<script type=\"text/javascript\">") > -1) {
					var x = http_request.responseText.indexOf("<script type=\"text/javascript\">") + "<script type=\"text/javascript\">".length;
				  var y = http_request.responseText.indexOf("</script>") - x;
				  eval(http_request.responseText.substr(x, y));
			  }
        document.getElementById(div_name).innerHTML = http_request.responseText;
      } else {
        alert('There was a problem with the request.(Code: ' + http_request.status + ')');
      }
    }
  }
   
  if(param) {
    param = "?math=" + Math.random()*5 + param
  } else {
    param = "?math=" + Math.random()*5
  }
   
  http_request.open('GET', url + param, true);   
  http_request.send(null);
}
/* Ajax POST */
function AjaxPost(url, div_name, obj) {
  var getstr = "";
  for (i=0; i<obj.childNodes.length; i++) {
    if (obj.childNodes[i].tagName == "INPUT") {
      if (obj.childNodes[i].type == "text") {
        var NewChildValue = obj.childNodes[i].value.replace("&", "");
        getstr += obj.childNodes[i].name + "=" + NewChildValue + "&";
      }
      if (obj.childNodes[i].type == "hidden") {
        var NewChildValue = obj.childNodes[i].value.replace("&", "");
        getstr += obj.childNodes[i].name + "=" + NewChildValue + "&";
      }
      if (obj.childNodes[i].type == "password") {
        var NewChildValue = obj.childNodes[i].value.replace("&", "");
        getstr += obj.childNodes[i].name + "=" + NewChildValue + "&";
      }
      if (obj.childNodes[i].type == "checkbox") {
        if (obj.childNodes[i].checked) {
          getstr += obj.childNodes[i].name + "=1&";
        } else {
          getstr += obj.childNodes[i].name + "=0&";
        }
      }
      if (obj.childNodes[i].type == "radio") {
        if (obj.childNodes[i].checked) {
          getstr += obj.childNodes[i].name + "=" + obj.childNodes[i].value + "&";
        }
      }
    }   
    if (obj.childNodes[i].tagName == "SELECT") {
      var sel = obj.childNodes[i];
      getstr += sel.name + "=" + sel.options[sel.selectedIndex].value + "&";
    }
    if (obj.childNodes[i].tagName == "TEXTAREA") {
        getstr += obj.childNodes[i].name + "=" + escape(encodeURI(obj.childNodes[i].value )) + "&";    
    }
  }
  AjaxPost2(url, div_name, getstr);
}

function AjaxPost2(url, div_name, params) {
  var http_request = false;
 
  if (window.XMLHttpRequest) { // Mozilla, Safari,...
    http_request = new XMLHttpRequest();
    if (http_request.overrideMimeType) {
      http_request.overrideMimeType('text/xml');
    }
  } else if (window.ActiveXObject) { // IE
    try {
      http_request = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        http_request = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) {}
    }
  }
  if (!http_request) {
    alert('Unfortunately you browser doesn\'t support this feature.');
    return false;
  }
    
  http_request.open("POST", url, true);
  http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  http_request.setRequestHeader("Content-length", params.length);
  http_request.setRequestHeader("Connection", "close");
    
  http_request.onreadystatechange = function() {
    if (http_request.readyState == 4) {
      if (http_request.status == 200) {
        if(!div_name) {
          div_name = "content";
        }
        if(http_request.responseText.indexOf("<script type=\"text/javascript\">") > -1) {
					var x = http_request.responseText.indexOf("<script type=\"text/javascript\">") + "<script type=\"text/javascript\">".length;
				  var y = http_request.responseText.indexOf("</script>") - x;
				  eval(http_request.responseText.substr(x, y));
			  }
        document.getElementById(div_name).innerHTML = http_request.responseText;
      } else {
        alert('There was a problem with the request.(Code: ' + http_request.status + ')');
      }
    }
  }

  http_request.send(params);
}
/* Reload page */
function reload_main() {
  var sURL = unescape(window.location.pathname);
  window.location.href = sURL;
  window.location.reload( false );
}
/* Hide/Show Dropdown Menu */
window.onload=show;
function show(id) {
  var d = document.getElementById(id);
  	for (var i = 1; i<=10; i++) {
  		if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
  	}
  if (d) {
		d.style.display='block';
		d.style.zIndex=1000;
	}
}
/* Switch Language */
function switchLanguage() {
	var langSelect = $('langSwitcher');
	var lang = langSelect.options[langSelect.selectedIndex].value;
	var defaultLang = "en_US";
	
	if (lang != defaultLang) {
		var co = Cookie.write("aeolus_lang", lang, {duration: 60});
	} else if (Cookie.read("aeolus_lang")) {
		Cookie.dispose("aeolus_lang");
	}

	location.reload(true);
}
/* Stop enter from messing up */
function stopEnter(evt) {
  var evt = (evt) ? evt : ((event) ? event : null);
  var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
  if((evt.keyCode == 13) && (node.type=="text"))
  {
    return false;
  }
}
document.onkeypress = stopEnter;
/* IE7 Farkup fix */
if (/msie/i.test (navigator.userAgent)) //only override IE
{
	document.nativeGetElementById = document.getElementById;
	document.getElementById = function(id)
	{
		var elem = document.nativeGetElementById(id);
		if(elem)
		{
			//make sure that it is a valid match on id
			if(elem.id == id)
			{
				return elem;
			}
			else
			{
				//otherwise find the correct element
				for(var i=1;i<document.all[id].length;i++)
				{
					if(document.all[id][i].id == id)
					{
						return document.all[id][i];
					}
				}
			}
		}
		return null;
	};
}


