function AddLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}

function InsertAfter(parent, node, referenceNode) {
  parent.insertBefore(node, referenceNode.nextSibling);
}

function PageQuery(q) {
  if (q.length > 1) {
    this.q = q.substring(1, q.length);
  } else {
    this.q = null;
  }
  this.keyValuePairs = new Array();
  if (q) {
    for (var i=0; i < this.q.split("&").length; i++) {
      this.keyValuePairs[i] = this.q.split("&")[i];
    }
  }
  this.getKeyValuePairs = function() {
    return this.keyValuePairs;
  }
  this.getValue = function(s) {
    for (var j=0; j < this.keyValuePairs.length; j++) {
      if (this.keyValuePairs[j].split("=")[0] == s) {
        return this.keyValuePairs[j].split("=")[1];
      }
    }
    return false;
  }
  this.getParameters = function() {
    var a = new Array(this.getLength());
    for (var j=0; j < this.keyValuePairs.length; j++) {
      a[j] = this.keyValuePairs[j].split("=")[0];
    }
    return a;
  }
  this.getLength = function() {
    return this.keyValuePairs.length;
  }
}

function QueryString(key) {
  var page = new PageQuery(window.location.search);
  return unescape(page.getValue(key));
}

function getObject(obj) {
  var theObj;
  if (document.all) {
    if (typeof obj=="string") {
      return document.all(obj);
    } else {
      return obj.style;
    }
  }
  if (document.getElementById) {
    if (typeof obj == "string") {
      return document.getElementById(obj);
    } else {
      return obj.style;
    }
  }
  return null;
}

function Contar(entry,style,text,characters) {
  var entryObj=getObject(entry);
  var styleObj=getObject(style);
  var longitud=characters - entryObj.value.length;
  if(longitud <= 0) {
    longitud=0;
    text='<span class="disable"> '+text+' </span>';
    entryObj.value=entryObj.value.substr(0,characters);
  }
  styleObj.innerHTML = text.replace("{CHAR}",longitud);
}

function SwapImage(ToImg, ImgEl) {
  ImgEl.src = "/__wms/_img/" + ToImg;
}

function GetInnerText (node) {
  return (node.textContent || node.innerText || node.text) ;
}

function createCookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else var expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}

function eraseCookie(name) {
  createCookie(name,"",-1);
}