function addLoadListener(fn)
{
  if (typeof window.addEventListener != 'undefined')
  {
    window.addEventListener('load', fn, false);
  }
  else if (typeof document.addEventListener != 'undefined')
  {
    document.addEventListener('load', fn, false);
  }
  else if (typeof window.attachEvent != 'undefined')
  {
    window.attachEvent('onload', fn);
  }
  else
  {
    var oldfn = window.onload;
    if (typeof window.onload != 'function')
    {
      window.onload = fn;
    }
    else
    {
      window.onload = function()
      {
        oldfn();
        fn();
      };
    }
  }
}

function attachEventListener(target, eventType, functionRef, capture)
{
  if (typeof target.addEventListener != "undefined")
  {
    target.addEventListener(eventType, functionRef, capture);
  }
  else if (typeof target.attachEvent != "undefined")
  {
    target.attachEvent("on" + eventType, functionRef);
  }
  else
  {
    eventType = "on" + eventType;

    if (typeof target[eventType] == "function")
    {
      var oldListener = target[eventType];

      target[eventType] = function()
      {
        oldListener();

        return functionRef();
      }
    }
    else
    {
      target[eventType] = functionRef;
    }
  }

  return true;
}

// Javascript originally by Patrick Griffiths and Dan Webb.
// http://htmldog.com/articles/suckerfish/dropdowns/
sfHover = function() {
	var sfEls = document.getElementById("nav").getElementsByTagName("li");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" hover";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" hover\\b"), "");
			// alert ("in here with class:" + this.className);
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);


function showstuff(boxid1, boxid2){
   document.getElementById(boxid1).style.visibility="visible";
   document.getElementById(boxid2).style.visibility="hidden";
   document.getElementById(boxid1).style.display="block";
   document.getElementById(boxid2).style.display="none";
}

function hidestuff(boxid1, boxid2){
   document.getElementById(boxid1).style.visibility="hidden";
   document.getElementById(boxid2).style.visibility="visible";
   document.getElementById(boxid1).style.display="none";
   document.getElementById(boxid2).style.display="block";
}


function getEventTarget(event)
{
  var targetElement = null;

  if (typeof event.target != "undefined")
  {
    targetElement = event.target;
  }
  else
  {
    targetElement = event.srcElement;
  }

  while (targetElement.nodeType == 3 && targetElement.parentNode != null)
  {
    targetElement = targetElement.parentNode;
  }

  return targetElement;
}


function toggleDivOL( elemID )
{
	var elem = document.getElementById( elemID );
	if( elem.style.position != 'absolute' )
	{
		elem.style.position = 'absolute';
		elem.style.left = '-4000px';
	}
	else
	{
		elem.style.position = 'relative';
		elem.style.left = '0px';
	}
}

function divbox (box_id)
{
  if (box_id.style.display == "block")
	box_id.style.display = "none";
  else if (box_id.style.display == "none")
	box_id.style.display = "block";
  else
	return false;
}

function createRequestObject() {
	var req;
	if(window.XMLHttpRequest){
		req = new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
	} else {
		alert('There was a problem creating the XMLHttpRequest object, Your browser does not support AJAX! most modern browsers do, please disable javascript to stop seeing these messages');
	}
	return req;
}

var http = createRequestObject();

function sendRequest(act, eID) {
	var i = Math.round(10000000000*Math.random())
	http.open('get', act+'&rand='+i);
	http.onreadystatechange = function(){handleResponse(eID);};
	http.send(null);
}

function handleResponse(id) {
	if(http.readyState == 4 && http.status == 200){
		var response = http.responseText;
		if(response && id) {
			document.getElementById(id).innerHTML = response;
		}
	}
}

function A_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function handleResponseChangeDiv() {
	if(http.readyState == 4 && http.status == 200){
		var response = http.responseText;
		if(response) {
			document.getElementById("helpdiv").innerHTML = response; // change "helpdiv" if needbe
			setTimeout(messagediv,2000);
		}
	}
}

function ajax_change_user_pref(a, b) {
  if (b == '') {
    b="0";
  }
  var url="ajax.pl?pref="+a+"&value="+b+"&page=change_user_pref";
  sendRequest(url, ' ');
  //alert('Done: '+url);
  return false;
}

function ajax_do(url, div) {
  sendRequest(url, div);
  //alert('Done: '+url);
  return false;
}


function edit_links(span) {

   var spans = document.getElementsByTagName('span');
    for(var i=0; i < spans.length; i++){
      if(spans[i].className == span){
          if (spans[i].className == "editz") {
            spans[i].className ="editz_show";
          } else {
            spans[i].className ="editz";
          }

      }
    }
  }

function clearText(thefield){
  if (thefield.defaultValue==thefield.value)
  thefield.value = "";
}

function restoreDefault(thefield) {
  if (thefield.value== "")
  thefield.value = thefield.defaultValue;
}

function noDefSubmit(thefield){
  if (thefield.Value==thefield.defaultValue)
  thefield.value = "";
}


function IsEmpty(aTextField) {
   if ((aTextField.value.length==0) ||
   (aTextField.value==null)) {
      return true;
   }
   else { return false; }
}

function check_passwords(id1, id2, result_div) {

  var p1=document.getElementById(id1);
  var p2=document.getElementById(id2);
  var div=document.getElementById(result_div);

  //alert(p1.value +'=='+ p2.value);
  //var isempty=;
  if (!IsEmpty(p1)) {
    if (p1.value == p2.value ) {
      div.innerHTML='<div class="_messageBox_accept "> <div class="_messageBoxInner"><p class="_messageBoxText"><span class="messageBox_messageText">Passwords match</span></p></div></div>';
    } else {
      div.innerHTML='<div class="_messageBox_reject "><div class="_messageBoxInner"><p class="_messageBoxText"><span class="messageBox_messageText">Passwords do not match!</span></p></div></div>';
    }
  }
}

