/***
  *  avow_utility.js
  *  Daniel Williams (dwilliams@avowsystems.com)
  *  Avow Systems, Inc.
  *  Updated 2010-05-14
  *  Originally coded by: 1st Movement
 ***/
nav_home_on = new Image();
nav_home_off = new Image();
nav_about_us_on = new Image();
nav_about_us_off = new Image();
nav_services_on = new Image();
nav_services_off = new Image();
nav_differentiators_on = new Image();
nav_differentiators_off = new Image();
nav_clients_on = new Image();
nav_clients_off = new Image();
nav_news_events_on = new Image();
nav_news_events_off = new Image();
nav_contact_on = new Image();
nav_contact_off = new Image();

nav_contact_us_on = new Image();
nav_contact_us_off = new Image();
 
nav_home_on.src = "images/nav_home_on.jpg";
nav_home_off.src = "images/nav_home_off.jpg";
 
nav_about_us_on.src = "images/nav_about_us_on.jpg";
nav_about_us_off.src = "images/nav_about_us_off.jpg";
 
nav_services_on.src = "images/nav_services_on.jpg";
nav_services_off.src = "images/nav_services_off.jpg";
 
nav_differentiators_on.src = "images/nav_differentiators_on.jpg";
nav_differentiators_off.src = "images/nav_differentiators_off.jpg";
 
nav_clients_on.src = "images/nav_clients_on.jpg";
nav_clients_off.src = "images/nav_clients_off.jpg";
 
nav_news_events_on.src = "images/nav_news_events_on.jpg";
nav_news_events_off.src = "images/nav_news_events_off.jpg";

nav_contact_us_on.src = "images/nav_contact_us_on.jpg";
nav_contact_us_off.src = "images/nav_contact_us_off.jpg";

sidenav_overview_on = new Image();
sidenav_overview_off = new Image();
sidenav_document_ordering_on = new Image();
sidenav_document_ordering_off = new Image();
sidenav_pdf_generation_on = new Image();
sidenav_pdf_generation_off = new Image();
sidenav_document_certification_on = new Image();
sidenav_document_certification_off = new Image();
sidenav_document_rights_on = new Image();
sidenav_document_rights_off = new Image();
sidenav_document_delivery_on = new Image();
sidenav_document_delivery_off = new Image();

sidenav_overview_on.src = "images/sidenav_overview_on.gif";
sidenav_overview_off.src = "images/sidenav_overview_off.gif";

sidenav_document_ordering_on.src = "images/sidenav_document_ordering_on.gif";
sidenav_document_ordering_off.src = "images/sidenav_document_ordering_off.gif";

sidenav_pdf_generation_on.src = "images/sidenav_pdf_generation_on.gif";
sidenav_pdf_generation_off.src = "images/sidenav_pdf_generation_off.gif";

sidenav_document_certification_on.src = "images/sidenav_document_certification_on.gif";
sidenav_document_certification_off.src = "images/sidenav_document_certification_off.gif";

sidenav_document_rights_on.src = "images/sidenav_document_rights_on.gif";
sidenav_document_rights_off.src = "images/sidenav_document_rights_off.gif";

sidenav_document_delivery_on.src = "images/sidenav_document_delivery_on.gif";
sidenav_document_delivery_off.src = "images/sidenav_document_delivery_off.gif";

function nav_on ( imgId )
{
  if ( document.images )
  {
    butOn = eval ( imgId + "_on.src" );
    document.getElementById(imgId).src = butOn;
  }
}
 
function nav_off ( imgId )
{
  if ( document.images )
  {
    butOff = eval ( imgId + "_off.src" );
    document.getElementById(imgId).src = butOff;
  }
}


/* FORM VALIDATION */

function validate_required(field,alerttxt)
{
with (field)
  {
  if (value==null||value=="")
    {
    alert(alerttxt);return false;
    }
  else
    {
    return true;
    }
  }
}

function validate_email(field,alerttxt)
{
with (field)
  {
  apos=value.indexOf("@");
  dotpos=value.lastIndexOf(".");
  if (apos<1||dotpos-apos<2)
    {alert(alerttxt);return false;}
  else {return true;}
  }
}

function validate_form(thisform)
{
with (thisform)
  {
  if (validate_required(fname,"Please fill in your first name")==false)
  {fname.focus();return false;}
  if (validate_required(lname,"Please fill in your last name")==false)
  {lname.focus();return false;}
  if (validate_email(contact_email,"Please fill in a valid email address such as myname@mysite.com")==false)
  {contact_email.focus();return false;}
  if (validate_required(notes,"Please fill in your message")==false)
  {notes.focus();return false;}
  }
}

/* DROPDOWN MENU FOR IE6 FIX */
// Javascript originally by Patrick Griffiths and Dan Webb.
// http://htmldog.com/articles/suckerfish/dropdowns/
sfHover = function() {
   var sfEls = document.getElementById("navbar").getElementsByTagName("li");
   for (var i=0; i<sfEls.length; i++) {
      sfEls[i].onmouseover=function() {
         this.className+=" hover";
      }
      sfEls[i].onmouseout=function() {
         this.className=this.className.replace(new RegExp(" hover\\b"), "");
      }
   }
}
if (window.attachEvent) window.attachEvent("onload", sfHover);


/* ACCORDION RELATED FUNCTIONS */
var ContentHeight = 140;
var TimeToSlide = 100.0;

var openAccordion = '';

function runAccordion(index)
{
  var nID = "Accordion" + index + "Content";
  if(openAccordion == nID)
    nID = '';
    
  setTimeout("animate(" + new Date().getTime() + "," + TimeToSlide + ",'" 
      + openAccordion + "','" + nID + "')", 33);
  
  openAccordion = nID;
}

function animate(lastTick, timeLeft, closingId, openingId)
{  
  var curTick = new Date().getTime();
  var elapsedTicks = curTick - lastTick;
  
  var opening = (openingId == '') ? null : document.getElementById(openingId);
  var closing = (closingId == '') ? null : document.getElementById(closingId);
 
  if(timeLeft <= elapsedTicks)
  {
    if(opening != null)
      opening.style.height =  ContentHeight + 'px';
    
    if(closing != null)
    {
      closing.style.display = 'none';
      closing.style.height = '0px';
    }
    return;
  }
 
  timeLeft -= elapsedTicks;
  var newClosedHeight = Math.round((timeLeft/TimeToSlide) * ContentHeight);

  if(opening != null)
  {
    if(opening.style.display != 'block')
      opening.style.display = 'block';
    opening.style.height = (ContentHeight - newClosedHeight) + 'px';
  }
  
  if(closing != null)
    closing.style.height = newClosedHeight + 'px';

  setTimeout("animate(" + curTick + "," + timeLeft + ",'" 
      + closingId + "','" + openingId + "')", 33);
}