var curMenu = null;

if (document.images) 
{
    img21on = new Image();   
img21on.src = "/images/btn_portfolio_over.jpg"; 
img21off = new Image();  
img21off.src = "/images/btn_portfolio.jpg";img1on = new Image();   
img1on.src = "/images/txt_email_over.gif"; 
img1off = new Image();  
img1off.src = "/images/txt_email.gif";img2on = new Image();   
img2on.src = "/images/about_over.gif"; 
img2off = new Image();  
img2off.src = "/images/about.gif";img3on = new Image();   
img3on.src = "/images/clients_over.gif"; 
img3off = new Image();  
img3off.src = "/images/clients.gif";img4on = new Image();   
img4on.src = "/images/news_over.gif"; 
img4off = new Image();  
img4off.src = "/images/news.gif";img5on = new Image();   
img5on.src = "/images/partners_over.gif"; 
img5off = new Image();  
img5off.src = "/images/partners.gif";img6on = new Image();   
img6on.src = "/images/newsletter_over.gif"; 
img6off = new Image();  
img6off.src = "/images/newsletter.gif";img7on = new Image();   
img7on.src = "/images/t_contact_over.gif"; 
img7off = new Image();  
img7off.src = "/images/t_contact.gif";img8on = new Image();   
img8on.src = "/images/t_jobs_over.gif"; 
img8off = new Image();  
img8off.src = "/images/t_jobs.gif";img9on = new Image();   
img9on.src = "/images/t_privacy_over.gif"; 
img9off = new Image();  
img9off.src = "/images/t_privacy.gif";img10on = new Image();   
img10on.src = "/images/t_legal_over.gif"; 
img10off = new Image();  
img10off.src = "/images/t_legal.gif";img11on = new Image();   
img11on.src = "/images/content_management_over.gif"; 
img11off = new Image();  
img11off.src = "/images/content_management.gif";img12on = new Image();   
img12on.src = "/images/enterprise_search_over.gif"; 
img12off = new Image();  
img12off.src = "/images/enterprise_search.gif";img13on = new Image();   
img13on.src = "/images/online_strategy_over.gif"; 
img13off = new Image();  
img13off.src = "/images/online_strategy.gif";img14on = new Image();   
img14on.src = "/images/engine_marketing_over.gif"; 
img14off = new Image();  
img14off.src = "/images/engine_marketing.gif";img15on = new Image();   
img15on.src = "/images/email_marketing_over.gif"; 
img15off = new Image();  
img15off.src = "/images/email_marketing.gif";img16on = new Image();   
img16on.src = "/images/integration_over.gif"; 
img16off = new Image();  
img16off.src = "/images/integration.gif";img17on = new Image();   
img17on.src = "/images/design_multimedia_over.gif"; 
img17off = new Image();  
img17off.src = "/images/design_multimedia.gif";img18on = new Image();   
img18on.src = "/images/web_analytics_over.gif"; 
img18off = new Image();  
img18off.src = "/images/web_analytics.gif";img19on = new Image();   
img19on.src = "/images/t_sitemap_over.gif"; 
img19off = new Image();  
img19off.src = "/images/t_sitemap.gif";img20on = new Image();   
img20on.src = "/images/whitepapers_over.gif"; 
img20off = new Image();  
img20off.src = "/images/whitepapers.gif";img0ad = new Image(); 
img0ad.src = "/images/txt_content_management.gif";img11ad = new Image(); 
img11ad.src = "/images/txt_content_management.gif";img12ad = new Image(); 
img12ad.src = "/images/txt_online_marketing.gif";img13ad = new Image(); 
img13ad.src = "/images/txt_engine_marketing.gif";img14ad = new Image(); 
img14ad.src = "/images/txt_email_marketing.gif";img15ad = new Image(); 
img15ad.src = "/images/txt_integration.gif";img16ad = new Image(); 
img16ad.src = "/images/txt_design_multimedia.gif";img17ad = new Image(); 
img17ad.src = "/images/txt_enterprise_search.gif";img18ad = new Image(); 
img18ad.src = "/images/txt_web_analytics.gif"; 
      
}
    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;    
}