function shade (elemento)   { 
    el = document.getElementById (elemento);
    isVisible = (el.style.display == 'none') ? true : false;
    
    el.style.visibility = isVisible ? "visible" : "hidden";
    el.style.display = isVisible ? "inline" : "none";

}



function shadeTabs (menuList, container)
{
m = document.getElementById(menuList);
c = document.getElementById(container);

mElements = m.document.getElementsByTagName("a");
cElements = c.document.getElementsByTagName("div");

  for (var i = 0; i < mElements.length; i++) 
    {
      mElements[i].style.border = "1px solid gray";
      mElements[i].onclick = multiShade(cElements[i].id, menuList, container);
      cElements[i].style.visibility = "hidden";
      cElements[i].style.display = "none";
    }
}


function shadeSwitch(anchor, elem, menu, contain)
{
if (window.location.hash = anchor) multiShade(elem, menu, contain);
}



function showSection(section, elemClass)
{
// Get total DIV elements with Class "elemClass"
  var elements = getElementsByClassName(elemClass) 
  var target = document.getElementById(section);
  for (x in elements)
          {
            elements[x].style.visibility = 'hidden'; 
            elements[x].style.display = 'none';
          }
        target.style.visibility = 'visible'; 
        target.style.display = 'block';
}



function sectionOnLoad(section, elemClass)
{
var hash = window.location.hash;
var search = window.location.search;

if (hash || search) return;
else showSection(section, elemClass);
}

function sectionOnHash(anchor, section, elemClass)
{
if (window.location.hash.substring(1) == anchor) showSection(section, elemClass);

}

function sectionOnSearch(question, section, elemClass)
{
if (window.location.search.substring(1).split("=")[0] == question)  showSection(section, elemClass);
}







function getElementsByClassName(theClass) {
var nodes = [];
var myclass = new RegExp('\\b'+theClass+'\\b');
var elem = document.getElementsByTagName('*');
for (var i = 0; i < elem.length; i++) 
  {
    var classes = elem[i].className;
    if (myclass.test(classes)) nodes.push(elem[i]);
  }
return nodes;
}; 


/*function validateForm(pwlength, elements) {
var input = [];
var errors = [];
if (!is_array(elements)) return false;
if (!is_int(pwlength.length)) return false; 
// var theForm = document.getElementById(formId);
for (var i = 0; i < elements.length; i++)
  {
  var target = document.getElementById(elements[i]);
  switch (target.type){
    case "text":
        if (target.value.length() == 0) { errors[] = "L'elemento " + target.id + " non deve essere vuoto."; }
        break;
    case "password": 
        if (target.value.length() == 0) { errors[] = "L'elemento " + target.type + " '" + target.id + "' non deve essere vuoto.";}
        if (target.value.length() < pwlength) { errors[] = "L'elemento " + target.type + " '" +  target.id + "' risulta troppo corto.";}
        break;
    case else:
        break;        
    }
  }
  if (errors.length > 0){return errors;}
  else return true;

}

*/

function getCredits()
{
alert(' ZENITH Framework Engine by Guido Cauli <guido.cauli@gmail.com>\n\ Version 0.80 (03Aug2008).\n Not for Redistribution.\n This software cannot be copied, user and/or modified in any way without explicit permission of the Author. ');
}
