// Dropdown menus
function hover (el) {
  el = document.getElementById (el);
  // Hide the last:
  if (last_item) {
    last_item.className = "";
  }
  last_item = false;
  // Show this one:
  el.className = "hover";
}
var last_item = false;
function unhover (el) {
el = document.getElementById (el);
  last_item = el;
  setTimeout ('if (last_item) { last_item.className = ""; }', 1000);
}

// Logo rotaion script
var current_img = 0;
var square_img = wide_img = 1;
var square_max = 8;
var wide_max = 14;
function do_logos () {
  // Initial load:
  document.getElementById ("logo_1").src = "/_resources/logos/wide_" + wide_max +".gif";
  document.getElementById ("logo_2").src = "/_resources/logos/wide_1.gif";
  document.getElementById ("logo_3").src = "/_resources/logos/square_" + square_max +".gif";
  document.getElementById ("logo_4").src = "/_resources/logos/square_1.gif";
  // Now rotate:
  logos ();
}
function logos () {
  current_img = (current_img >= 4) ? 1 : current_img + 1;
  if (current_img < 3) {
    wide_img = (wide_img >= wide_max) ? 1 : wide_img + 1;
    document.getElementById ("logo_" + current_img).src = "/_resources/logos/wide_" + wide_img + ".gif";
  } else {
    square_img = (square_img >= square_max) ? 1 : square_img + 1;
    document.getElementById ("logo_" + current_img).src = "/_resources/logos/square_" + square_img + ".gif";
  }
  setTimeout ("logos ()", 1500);
}

function promptCallback(addy,el) {  
	
		var str=String(el);
		str=str.replace(/%20/g, " ");
		var elRef=str.substr(str.lastIndexOf("/")+1);
		//alert(docRef+" - "+val);
	 
  if (addy != null && addy != ' ' && addy != '')  {

    var req = AJAX.createXMLHTTPObject ();
    if (!req) return;
    req.open ("POST", "/_dl.php", true);
    req.setRequestHeader ('User-Agent', 'XMLHTTP/1.0');
    req.setRequestHeader ('Content-type', 'application/x-www-form-urlencoded');
    if (req.readyState == 4) return;
    req.onreadystatechange = function () {
		  if (req.readyState == 4){
        //document.location = el.href;
		alert("Thank you, we will send the document to the supplied\nemail address within the next working day");
      }
    };
    req.send ("addy="+addy+"&docref="+elRef);
  } else {
    //document.location = el.href;//allows dl regardless - not used now
	return false;
  }
  
	
}
// File Downloads
function fileDownload (el) {

  IEprompt("Please enter your email address\nso that we can send the document to you.\nPlease be assured that we will not pass\non your email address to any third party.", "", el); 


  return false;
}


AJAX = {};
AJAX.XMLHttpFactories = [
  function () {return new XMLHttpRequest()},
  function () {return new ActiveXObject("Msxml2.XMLHTTP")},
  function () {return new ActiveXObject("Msxml3.XMLHTTP")},
  function () {return new ActiveXObject("Microsoft.XMLHTTP")}
];
AJAX.createXMLHTTPObject = function () {
  var xmlhttp = false;
  for (var i=0;i<AJAX.XMLHttpFactories.length;i++) {
    try {
      xmlhttp = AJAX.XMLHttpFactories[i]();
    }
    catch (e) {
      continue;
    }
    break;
  }
  return xmlhttp;
}


///////////////////////////////////////////////////////////
// Usage IEprompt("dialog descriptive text", "default starting value");
// 
// IEprompt will call promptCallback(val)
// Where val is the user's input or null if the dialog was canceled.
///////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////
// This source code has been released into the public domain
// January 14th, 2007.
// You may use it and modify it freely without compensation
// and without the need to tell everyone where you got it.
///////////////////////////////////////////////////////////


///////////////////////////////////////////////////////////
// You must create a promptCallback(val) function to handle
// the user input.  If you don't this script will fail and
// Bunnies will die.
///////////////////////////////////////////////////////////


///////////////////////////////////////////////////////////
// These are global scope variables, they should remain global.
///////////////////////////////////////////////////////////
var _dialogPromptID=null;
var _blackoutPromptID=null;
///////////////////////////////////////////////////////////

function IEprompt(innertxt,def,docRef) {

   that=this;

   // Check to see if this is MSIE 7.   This isn't a great general purpose
   // detection system but it works well enough just to find MSIE 7.
   var _isIE7=(navigator.userAgent.indexOf('MSIE 7')>0);

   this.wrapupPrompt = function (cancled) {
      // wrapupPrompt is called when the user enters or cancels the box.
      // It's called only by the IE7 dialog box, not the non IE prompt box
      if (_isIE7) {
         // Make sure we're in IE7 mode and get the text box value
         val=document.getElementById('iepromptfield').value;
         // clear out the dialog box
         _dialogPromptID.style.display='none';
         // clear out the screen
         _blackoutPromptID.style.display='none';
         // clear out the text field
         document.getElementById('iepromptfield').value = '';
         // if the cancel button was pushed, force value to null.
         if (cancled) { val = '' }
         // call the user's function
         promptCallback(val,docRef);
      }
      return false;
   }

   //if def wasn't actually passed, initialize it to null
   if (def==undefined) { def=''; }

   if (_isIE7) {
      // If this is MSIE 7.0 then...
      if (_dialogPromptID==null) {
         // Check to see if we've created the dialog divisions.
         // This block sets up the divisons
         // Get the body tag in the dom
         var tbody = document.getElementsByTagName("body")[0];
         // create a new division
         tnode = document.createElement('div');
         // name it
         tnode.id='IEPromptBox';
         // attach the new division to the body tag
         tbody.appendChild(tnode);
         // and save the element reference in a global variable
         _dialogPromptID=document.getElementById('IEPromptBox');
         // Create a new division (blackout)
         tnode = document.createElement('div');
         // name it.
         tnode.id='promptBlackout';
         // attach it to body.
         tbody.appendChild(tnode);
         // And get the element reference
         _blackoutPromptID=document.getElementById('promptBlackout');
         // assign the styles to the blackout division.
         _blackoutPromptID.style.opacity='.9';
         _blackoutPromptID.style.position='absolute';
         _blackoutPromptID.style.top='0px';
         _blackoutPromptID.style.left='0px';
         _blackoutPromptID.style.backgroundColor='#555555';
         _blackoutPromptID.style.filter='alpha(opacity=90)';
         _blackoutPromptID.style.height=(document.body.offsetHeight<screen.height) ? screen.height+'px' : document.body.offsetHeight+20+'px'; 
         _blackoutPromptID.style.display='block';
         _blackoutPromptID.style.zIndex='50';
         // assign the styles to the dialog box
         _dialogPromptID.style.border='2px solid blue';
         _dialogPromptID.style.backgroundColor='#DDDDDD';
         _dialogPromptID.style.position='absolute';
         _dialogPromptID.style.width='330px';
         _dialogPromptID.style.zIndex='100';
      }
      // This is the HTML which makes up the dialog box, it will be inserted into
      // innerHTML later. We insert into a temporary variable because
      // it's very, very slow doing multiple innerHTML injections, it's much
      // more efficient to use a variable and then do one LARGE injection.
      var tmp = '<div style="width: 100%; background-color: blue; color: white; font-family: verdana; font-size: 10pt; font-weight: bold; height: 20px">Input Required</div>';
      tmp += '<div style="padding: 10px">'+innertxt + '<BR><BR>';
      tmp += '<form action="" onsubmit="return that.wrapupPrompt()">';
      tmp += '<input id="iepromptfield" name="iepromptdata" type=text size=46 value="'+def+'">';
      tmp += '<br><br><center>';
      tmp += '<input type="submit" value="&nbsp;&nbsp;&nbsp;OK&nbsp;&nbsp;&nbsp;">';
      tmp += '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
      tmp += '<input type="button" onclick="that.wrapupPrompt(true)" value="&nbsp;Cancel&nbsp;">';
      tmp += '</form></div>';
      // Stretch the blackout division to fill the entire document
      // and make it visible.  Because it has a high z-index it should
      // make all other elements on the page unclickable.
      _blackoutPromptID.style.height=(document.body.offsetHeight<screen.height) ? screen.height+'px' : document.body.offsetHeight+20+'px'; 
      _blackoutPromptID.style.width='100%';
      _blackoutPromptID.style.display='block';
      // Insert the tmp HTML string into the dialog box.
      // Then position the dialog box on the screen and make it visible.
      _dialogPromptID.innerHTML=tmp;
      _dialogPromptID.style.top=parseInt(document.documentElement.scrollTop+(screen.height/3))+'px';
      _dialogPromptID.style.left=parseInt((document.body.offsetWidth-315)/2)+'px';
      _dialogPromptID.style.display='block';
      // Give the dialog box's input field the focus.
      document.getElementById('iepromptfield').focus();
   } else {
      // we are not using IE7 so do things "normally"
      promptCallback(prompt(innertxt,def),docRef);
	  return false;
   }
}

