/* ONLOAD */
window.onload = function() {
aboutPrefix = /about-/;

iniMenu(); //Menu lava

if (aboutPrefix.test(window.location))
{
	autoSelected(document.getElementById("links_costumers"), "about_selected");
	autoSelected(document.getElementById("links_fellows"), "about_selected");
}
};

/* Class Management */
function hasClass(ele,cls) {
	return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}

function addClass(ele,cls) {
	if (!this.hasClass(ele,cls)) ele.className += " "+cls;
}

function removeClass(ele,cls) {
	if (hasClass(ele,cls)) {
    	var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
		ele.className=ele.className.replace(reg,' ');
	}
}


/* Button Hover */
function overbutton(ele) //optional
{
	addClass(ele, "button-over");
}

function outbutton(ele)
{
	removeClass(ele, "button-over");
}


/* AJAX Management */
var net = new Object();
 
net.READY_STATE_UNINITIALIZED=0;
net.READY_STATE_LOADING=1;
net.READY_STATE_LOADED=2;
net.READY_STATE_INTERACTIVE=3;
net.READY_STATE_COMPLETE=4;
 
// Constructor
net.ContentLoader = function(url, funct, functionError) {
  this.url = url;
  this.req = null;
  this.onload = funct;
  this.onerror = (functionError) ? functionError : this.defaultError;
  this.loadContentXML(url);
}
 
net.ContentLoader.prototype = {
  loadContentXML: function(url) {
    if(window.XMLHttpRequest) {
      this.req = new XMLHttpRequest();
    }
    else if(window.ActiveXObject) {
      this.req = new ActiveXObject("Microsoft.XMLHTTP");
    }
 
    if(this.req) {
      try {
        var loader = this;
        this.req.onreadystatechange = function() {
          loader.onReadyState.call(loader);
        }
        this.req.open('GET', url, true);
        this.req.send(null);
      } catch(err) {
        this.onerror.call(this);
      }
    }
  },
 
  onReadyState: function() {
    var req = this.req;
    var ready = req.readyState;
    if(ready == net.READY_STATE_COMPLETE) {
      var httpStatus = req.status;
      if(httpStatus == 200 || httpStatus == 0) {
        this.onload.call(this);
      }
      else {
        this.onerror.call(this);
      }
    }
  },
 
  defaultError: function() {
    alert("An error ocurred"
      + "\n\nreadyState:" + this.req.readyState
      + "\nstatus: " + this.req.status 
      + "\nheaders: " + this.req.getAllResponseHeaders());
  }
}

/* Subsections management */
function autoSelected(ulEle, classSelected)
{
	var liEles = ulEle.getElementsByTagName("li");
	for (n=0; n<liEles.length; n++)
	{
		if (window.location == liEles[n].firstChild.href)	
			{
				liEles[n].firstChild.className = classSelected;
			}			
		}
} 






