// Generic Popup Script
function popUp(URL) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width=300,height=500');");
}


// Open links in external window for XHTML 1.0 Strict compliancy
// To make a link open in external window add the "rel" attribute to the <a> tag
// and set its value to "external" example:
//     <a href="http://www.google.com" rel="external">Google</a>
function externalLinks() {
	if (!document.getElementsByTagName) return;
	var anchors = document.getElementsByTagName("a");
	var areas = document.getElementsByTagName("area");
	var forms = document.getElementsByTagName("form");
	for (var i=0; i<anchors.length; i++) {
		var anchor = anchors[i];
		if (anchor.getAttribute("href") &&
		anchor.getAttribute("rel") == "external")
		anchor.target = "_blank";
	}
	for (var x=0; x<areas.length; x++) {
		var area = areas[x];
		if (area.getAttribute("href") &&
		area.getAttribute("rel") == "external")
		area.target = "_blank";
	}
	for (var y=0; y<forms.length; y++) {
		var form = forms[y];
		if (form.getAttribute("rel") == "external")
		form.target = "_blank";
	}
}

function simplePreload() { 
	var args = simplePreload.arguments;
	document.imageArray = new Array(args.length);
	for(var i=0; i<args.length; i++) {
		document.imageArray[i] = new Image;
		document.imageArray[i].src = args[i];
	}
}

function startup() {
	//List functions to be run on startup here:
	externalLinks();
	simplePreload("images/menu_aboutus_o.gif","images/menu_clientlist_o.gif","images/menu_contact_o.gif","images/menu_departments_o.gif","images/menu_opportunities_o.gif","images/menu_press_o.gif","images/btn_submit_o.gif");
}

var oldonload = window.onload;

if (typeof window.onload != 'function') {
	window.onload = startup;
} else {
	window.onload = function() {
		oldonload();
		startup();
	}
}


// Image rollover - for use please make sure image names follow the following name scheme:
// Idle Image:  image_i.gif
// Hover Image: image_o.gif
// File extension and anything before the _i. does not matter so long as it is consistent between
// the two states (e.g. "image_i.gif" and "hoverimage_o.gif" does not work)
// Usage:
// <img src="image_i.gif" alt="" onmouseover="rollOver(this)" onmouseout="rollOut(this)" />
var oldImage = "";
function rollOver(oImg) {
	oldImage = oImg.src;
	var newImage = oldImage.replace("_i.","_o.");
	oImg.src = newImage;
}
function rollOut(oImg) {
	oImg.src = oldImage;
}

// Replace input field with default value on blur if nothing was entered
// Usage: <input type="text" value="Default Value" onfocus="clearText(this)" onblur="replaceText(this)" />
function clearText(thefield) {
	if (thefield.defaultValue==thefield.value) { thefield.value = "" }
} 
 
function replaceText(thefield) {
	if (thefield.value=="") { thefield.value = thefield.defaultValue }
}



var animating = false;
var openStatus = false;

// window.status = "openStatus = "+openStatus+" | animating = "+animating;

function galleryExpand() {
	if(animating == false) {
		animating = true;
		
		document.getElementById("gallery").style.zIndex = 999;
		
		if(openStatus == false) {
			var curWidth = 462;		// Closed width
			var finWidth = 780;
		} else {
			var curWidth = 780;		// Opened width
			var finWidth = 462;
		}
		var timePerFrame = 5;	// Time per frame in ms
		var numFrames = 15;		// Frames in animation
		var dist = 20;			// Distance to travel (in pixels)
		
		var newWidth = curWidth;	
		var frame = 1;
		
		function displayNextFrame() {
			if (frame > numFrames) {
				clearInterval(intervalId);
				if(openStatus == false) { openStatus = true; } else { openStatus = false; }
				document.getElementById("gallery").style.width = finWidth+'px';
				if(openStatus == false) { document.getElementById("gallery").style.zIndex = 0; }
				animating = false;
				// window.status = "openStatus = "+openStatus+" | animating = "+animating+" | width = "+document.getElementById("gallery").style.width;
				return;
			}
			
			if(openStatus == false) {
				newWidth += dist;
			} else {
				newWidth -= dist;
			}
			
			document.getElementById("gallery").style.width = newWidth + 'px';
		
			frame++;
			
			// window.status = "openStatus = "+openStatus+" | animating = "+animating+" | Opening: "+newWidth+"px";
		}
	
		var intervalId = setInterval(displayNextFrame,timePerFrame);
		
	}
}


function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
  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=MM_findObj(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 == '');
}
