function MM_validateForm() { //v4.0
  if (document.getElementById){
    var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
    for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]);
      if (val) { nm=val.name; if ((val=val.value)!="") {
        if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
          if (p<1 || p==(val.length-1)) errors+='- '+nm+' must contain an e-mail address.\n';
        } else if (test!='R') { num = parseFloat(val);
          if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
          if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
            min=test.substring(8,p); max=test.substring(p+1);
            if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
      } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' is required.\n'; }
    } if (errors) alert('The following error(s) occurred:\n'+errors);
    document.MM_returnValue = (errors == '');
} }

function returnSelected(menuDiv)
{
   var url = window.location.href.toLowerCase();
   var menu = document.getElementById(menuDiv);
   if( menu!=null )
   {
      var items = menu.getElementsByTagName("a");
      for( var i=0; i<items.length; i++ )
      {
         if( items[i].href.toLowerCase()==url )
         {
            return items[i];
            break;
         }
      }
      return false;
   }
}

function setSelected( menuDiv,selectedItem )
{
   if( selectedItem!=false )
   {
      selectedItem.className = selectedItem.className+" selected";
      var parent = selectedItem.parentNode;
      while( true )
      {
         if( parent==null )
         {
            break; 
         }
         else if( parent.id==menuDiv )
         {
            break;
         }
         else if( parent.tagName.toLowerCase()=="li" )
         {
            var links = parent.childNodes;
            for(var i=0; i<links.length; i++ )
            {
               if( links[i].nodeName.toLowerCase()=='a' )
               {
                  links[i].className = links[i].className+" selected"
               }
            }
            parent.className = parent.className+' open';
         }
         parent = parent.parentNode;
      }
   }
}

function goToURL(url)
{
   if( url!="" )
   {
      window.location = url;
   }
}

function CreateBookmark()
{
   title = document.title; 
   url = document.location.href;

   if (window.sidebar)
   { 
     // Mozilla Firefox Bookmark
      window.sidebar.addPanel(title, url,"");
   }
   else if ( window.external ) 
   { // IE Favorite
      window.external.AddFavorite( url, title);
   }
}

function getCookie(NameOfCookie)
{
   if (document.cookie.length > 0)
   {
      begin = document.cookie.indexOf(NameOfCookie+"=");
      if (begin != -1)
      {
         begin += NameOfCookie.length+1;
         end = document.cookie.indexOf(";", begin);
         if (end == -1) end = document.cookie.length;
         return unescape(document.cookie.substring(begin, end));
      }
   }
   return null;
}

function startup()
{

// set selected menu items
   var menuName = 'subNav';
   var menu = document.getElementById(menuName);
   if( menu!=null )
   {
      setSelected(menuName,returnSelected(menuName));
   }

// show download form if applicable
   var infoForm = document.getElementById("infoform");
   var infoContent = document.getElementById("infocontent");
   if( infoForm!=null && infoContent!=null )
   {
      if( getCookie("detailsgiven")==null )
      {
         infoForm.className='show';
         infoContent.className='hide';
      }
   }

// set colouring of page if needed
   var breadcrumb = document.getElementById("breadcrumb");
   if( breadcrumb!=null )
   {
      var outer = document.getElementById("outer");
      if( breadcrumb.innerHTML.indexOf("CCTV")>-1 )
      {
         outer.className='orangeBG';
      }
      else if( breadcrumb.innerHTML.indexOf("Electrical Services")>-1 )
      {
         outer.className='pinkBG';
      }
      else if( breadcrumb.innerHTML.indexOf("IP Networking")>-1 )
      {
         outer.className='darkBlueBG';
      }
      else if( breadcrumb.innerHTML.indexOf("Rail Industry")>-1 )
      {
         outer.className='greenBG';
      }
      else if( breadcrumb.innerHTML.indexOf("Fire Systems")>-1 )
      {
         outer.className='redBG';
      }
      else if( breadcrumb.innerHTML.indexOf("IT Cabling")>-1 )
      {
         outer.className='blueBG';
      }
      else
      {
         outer.className='standardBG';
      }
   }

}




