function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}

function externalLinks() {
   if (!document.getElementsByTagName) return;
   var anchors = document.getElementsByTagName("a");
   for (var i=0; i<anchors.length; i++) {
      var anchor = anchors[i];
      if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external")
         anchor.target = "_blank";
      if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "top")
         anchor.target = "_top";
   }
}

// define onload events
addLoadEvent(externalLinks);

/* Start image rollover */
var actImgTag;
var selImgTag;
var clsRoll;
var imgList;
var activeImages;
var inactiveImages;

// UIR (Unobtrusive Image Rollover) v2.1-20090323
//     changelog v2.1: added support for input type="image"
//                     dropped IE5 compatibility
if (document.getElementById) {
   function initUIR() {
      actImgTag = "_on";
      selImgTag = "_sel";
      clsRoll = "roll";

      imgList = '';
      var images = document.getElementsByTagName('img');
      var inputs = document.getElementsByTagName('input');

      var rElems = new Array();

      for (var i=0; i<images.length; i++) {
         rElems[i] = images[i];
      }

      for (var j=0; j<inputs.length; j++) {
         if (inputs[j].type=='image') {
            rElems[i] = inputs[j];
            i++;
         }
      }

      for (var i=0; i<rElems.length; i++) {
         if (eval('/' + clsRoll + '/').test(rElems[i].className)) {
            imgList += rElems[i].src + ",";
            setEvents(rElems[i]);
         }
      }

      if (imgList != '') {
         imgList = imgList.substring(0, imgList.length-1);
         preload(imgList.split(","));
      }
   }

   function setEvents(element) {
      element.onmouseover = function() { if (typeof(roll) != 'undefined') roll(this); }
      element.onmouseout = function() { if (typeof(roll) != 'undefined') roll(this); }
      element.onfocus = function() { if (typeof(roll) != 'undefined') roll(this); }
      element.onblur = function() { if (typeof(roll) != 'undefined') roll(this); }
   }

   function preload(imgList) {
      activeImages = new Array(imgList.length);
      inactiveImages = new Array(imgList.length);

      for (var i=0; i<imgList.length; i++) {
         activeImages[i] = new Image();
         activeImages[i].src = getBaseName(imgList[i]) + actImgTag + getExt(imgList[i]);
         inactiveImages[i] = new Image();
         inactiveImages[i].src = getBaseName(imgList[i]) + getExt(imgList[i]);
      }
   }

   function getBaseName(filename) {
      if (eval('/'+actImgTag+'\./').test(filename)) filename = filename.replace(actImgTag+'.', '.');
      if (eval('/'+selImgTag+'\./').test(filename)) filename = filename.replace(selImgTag+'.', '.');
      return filename.substring(0, filename.lastIndexOf('.'));
   }

   function getExt(filename) {
      return filename.substring(filename.lastIndexOf('.'), filename.length);
   }

   function getImage(imageName, isActive) {
      (isActive==0) ? images = inactiveImages : images = activeImages;
      for (var i=0; i<images.length; i++) {
         if (getBaseName(imageName) == getBaseName(images[i].src)) {
            return images[i];
            break;
         }
      }
      return [];
   }

   function roll(element) {
      var src, newSrc;
      var node, currNode;

      src = element.src;
      if (!(eval('/'+selImgTag+'\./').test(src))) {
         newSrc = getImage(src,!(eval('/'+actImgTag+'\./').test(src))).src;
      }
      if (!(typeof(newSrc)=='undefined')) element.src = newSrc;
   }

   addLoadEvent(initUIR);
} // (C) 2005-2009 Emanuele Rodriguez <erodri@gmail.com>

/* End image rollover */


// Sets a default value for form fields
function setElemDefValue(elemId, defText) {
  var objField = document.getElementById(elemId);

  if (objField != null) {
    if (objField.value == '') objField.value = defText;
  	objField.onfocus = function() { if (this.value == defText) this.value = ''; }
  	objField.onblur = function() { if (this.value == '') this.value = defText; }
  }
}

function resetElemDefValue(elemId, defText) {
  var objField = document.getElementById(elemId);
	if (objField.value == defText) objField.value = "";
}

function setFormDefValues() {
	setElemDefValue('src_term', strSearchDefText);

	var objForms = document.getElementsByTagName("form");

  if (objForms.length > 0) {
  	for (i=0; i<objForms.length; i++) {
  		objForms[i].onsubmit = function() { resetElemDefValue('src_term', strSearchDefText); }
  	}
  }
}

addLoadEvent(setFormDefValues);
// end default form values handling

// submenu handling
var numMenuItems = 0;
var selSubMenu = 0;

function showSubMenu(num) {
  for (i=1; i<=numMenuItems; i++) {
    if (jQuery('#nav_i'+i).attr('class') == 'sel') {
      selSubMenu = i;
      jQuery('#nav_i'+i).removeClass('sel');
    }
    (i==num)?jQuery('#nav_i'+i).addClass('act'):jQuery('#nav_i'+i).removeClass('act');
  }
}

function hideSubMenus() {
  for (i=1; i<=numMenuItems; i++) {
    jQuery('#nav_i'+i).removeClass('act');
  }
  (selSubMenu>0)?jQuery('#nav_i'+selSubMenu).addClass('sel'):void(null);
}

jQuery(document).ready(
  function() {
    if (numMenuItems == 0) numMenuItems = jQuery('#nav ul.menu>li').length;

  	jQuery('#nav').hover( function() {}, function() { hideSubMenus(); } );

    for (i=1; i<=numMenuItems; i++) {
      eval("jQuery('#nav_i"+i+" a').hover( function() { showSubMenu("+i+"); }, function() {} );");
    }
  }
);
// end submenu handling

function isEmail(valor){
	var p = /\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/;
	return p.test(valor);
}