var curMenu = null;
    function imgOn(imgName) 
    {
        if(imgName != "")
        {
            if (document.images && (imgName != current_menu_item)) 
            {        
                document[imgName].src = eval(imgName + "on.src");
            }
         }
    }
    function imgOff(imgName) 
    {
        if(imgName != "")
        {
            if (document.images && (imgName != current_menu_item)) 
            {
                document[imgName].src = eval(imgName + "off.src");        
            }
        }
    }
    function imgOn2(imgName) 
    {
        if (document.images) {
     
          // document["img" + imgName].src = eval("img" +imgName + "on.src");
           var objDivHolder = (document.all)? document.all["initialDisplay"] : document.getElementById("initialDisplay");
           var objDiv = (document.all)? document.all["menu" + imgName] : document.getElementById("menu" + imgName);
           objDivHolder.style.display = "none"; 
           objDiv.style.display = "block"; 
        }       
    }
    // Function to 'deactivate' images.
    function imgOff2(imgName) 
    {
        if (document.images) {
           //document["img" + imgName].src = eval("img" + imgName + "off.src");
           //document["holder"].src = "/images/txt_content_management.gif";
           var objDivHolder = (document.all)? document.all["initialDisplay"] : document.getElementById("initialDisplay");
            var objDiv = (document.all)? document.all["menu" + imgName] : document.getElementById("menu" + imgName);
            objDivHolder.style.display = "block"; 
            objDiv.style.display = "none"; 
        }
    }

    //recursive offsetTop
    function getOffsetTop(elem)
    {
        if(!elem.offsetParent)
            return elem.offsetTop;
        return elem.offsetTop + getOffsetTop(elem.offsetParent);
    }

    
  function getPosition(e) 
  {
    e = e || window.event;
    var cursor = {x:0, y:0};
    if (e.pageX || e.pageY) {
        cursor.x = e.pageX;
        cursor.y = e.pageY;
    } 
    else {
        var de = document.documentElement;
        var b = document.body;
        cursor.x = e.clientX + 
            (de.scrollLeft || b.scrollLeft) - (de.clientLeft || 0);
        cursor.y = e.clientY + 
            (de.scrollTop || b.scrollTop) - (de.clientTop || 0);
    }
    return cursor;
  }
    function open_window(url, h, w)
    {
        if(h=="")    
            h=521;
        if(w=="")
            w=621;
        var values = new String('toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars=1,resizable=1,left=80,top=50,width=' + w + ',height=' + h);
        mywin = window.open(url,"win", values);
    }
/*     function bmEncode(sInput)
     {
              sOutput = escape(sInput);
              sOutput = sOutput.replace(/\*//*g, "%2A"); 
              sOutput = sOutput.replace(/\+/g, "%2B"); 
              sOutput = sOutput.replace(/\-/g, "%2D"); 
              sOutput = sOutput.replace(/\./g, "%2E"); 
              sOutput = sOutput.replace(/\_/g, "%5F");
              sOutput = sOutput.replace(/\%/g, "$"); 
              return sOutput; 
      } 
      function bmEncodeArray(sValue)
      {
             var theArray = sValue.split("!");
             var oValue = new String("");
             for(i=0;i<theArray.length;i++)
             {
              oValue += bmEncode(theArray[i]) + "!";
             }
             return oValue;
      }*/
 
/*var req;
var blogAddress = 'http://www.nonlinear.ca/blog/';
function loadXMLDoc(url) {
 req = false;
    // branch for native XMLHttpRequest object
    if(window.XMLHttpRequest) {
     try {
   req = new XMLHttpRequest();
        } catch(e) {
   req = false;
        }
    // branch for IE/Windows ActiveX version
    } else if(window.ActiveXObject) {
        try {
         req = new ActiveXObject("Msxml2.XMLHTTP");
       } catch(e) {
         try {
            req = new ActiveXObject("Microsoft.XMLHTTP");
         } catch(e) {
            req = false;
         }
  }
    }
 if(req) {
  req.onreadystatechange = processReqChange;
  req.open("GET", url, true);
  req.send("");
 }
}
function processReqChange() {
    // only if req shows "loaded"
    if (req.readyState == 4) {
        // only if "OK"
        if (req.status == 200) {
   var response = req.responseXML.documentElement;
   var posts = response.getElementsByTagName("item");
   for(i = 0; i < 1; i++)
   {
  title = posts[i].childNodes[0].text;
  linkAddress = posts[i].childNodes[2].text;
  //alert(posts[i].item().childNodes.length);
    
  document.getElementById("latestpost").innerHTML = '<a target="_blog" href="'+linkAddress+'">'+title+'</a>';
   }
        } else {
            // alert("There was a problem retrieving the XML data:\n" + req.statusText);
        }
    }
}

/**************************************************/
/*             Form validation                    */
/**************************************************/
function validRequired(formField,fieldLabel)
{
     if (formField.value == "")
     {
       alert('Please enter a value for the "' + fieldLabel +'" field.');
       formField.focus();
       return false;
     }
     return true;
}

function validEmail(formField,fieldLabel,required)
{
    if (required && !validRequired(formField,fieldLabel))
         return false;
    
     var reg = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/
     if (formField.value.length > 0 && !reg.test(formField.value))
     {
          alert("Please enter a complete email address in the form: yourname@yourdomain.com");
          formField.focus();
          return false;  
     }
     return true;
}

function validPhone(formField,fieldLabel,required)
{
    if (required && !validRequired(formField,fieldLabel))
         return false;
    
     var reg = /(\d{3})\D*(\d{3})\D*(\d{4})\D*(\d*)$/
     if (formField.value.length > 0 && !reg.test(formField.value))
     {
          alert("Please enter a valid phone number");
          formField.focus();
          return false;  
     }
     return true;    
}