// Global Timeout Length
var switchWait = 1500;
var swTotal = switchWait * 3;

// Select Stuff
var selectOut;
var selectElem;

// Switch Top Images
function switchPic(imgSet){var imgGrp=$('#top-images').children().eq(imgSet);if($(imgGrp).children().size()<2){swTotal-=switchWait;return;}$(imgGrp).children().first().fadeOut().next().fadeIn().prev().appendTo($(imgGrp));setTimeout('switchPic('+imgSet+')',swTotal);}

// Onload
$(document).ready(function(){

// Drop Down Menu Animation
	var t;$('head').append("<style type=\"text/css\">\n"+'#tabs li:hover ul{display:none;}'+"\n</style>");$('#tabs > ul > li > ul').parent().hover(function(){$(this).css('z-index','100');$('a:first',this).toggleClass('hover').next().slideDown('fast');},function(){$(this).css('z-index','0');$('ul',this).slideUp('fast',function(){$(this).prev().toggleClass('hover');});});

// Start Rotating Pictures
	$('#top-images').children().each(function(){$(this).children().removeClass('hide').css({'display':'none','z-index':'10'}).first().css('display','block');});for(var i=0;i<3;i++)setTimeout("switchPic("+i+")",switchWait*(i+1));

// Replace Select Boxes
//	$('select').each(function(){var optstr='';$(this).find('option').each(function(){optstr+='<li><a href="#'+$(this).val()+'"><span>'+$(this).html()+'</span></a></li>';});$(this).replaceWith('<div class="select '+$(this).attr('class')+'"><input type="hidden" name="'+$(this).attr('name')+'" value="'+$(this).val()+'" /><div class="selected"><a href="#" tabindex="'+$(this).attr('tabindex')+'">'+$(this).children('option:selected').html()+'</a></div><ul>'+optstr+'</ul></div>');});$('.select').each(function(){$(this).mouseleave(function(){selectElem=this;selectOut=setTimeout(function(){selectElem.blur;closeSelect();},500);}).mouseenter(function(){clearTimeout(selectOut);});});$('.select .selected a').each(function(){$(this).click(function(event){event.preventDefault();openSelect($(this).parent().parent());}).focus(function(){openSelect($(this).parent().parent());}).blur(function(){selectElem=$(this).parent().parent();setTimeout(function(){selectElem.blur;closeSelect();},200);});});$('.select ul a').each(function(){$(this).click(function(event){event.preventDefault();$(this).parent().parent().parent().find('input:first').val($(this).attr('href').substr(1)).parent().find('.selected a:first').html($(this).html());});});

// Default Text for Fields
	$('input[title],textarea[title]').focus(function(){$(this).removeClass('error');if($(this).val()==$(this).attr('title'))$(this).val('');}).blur(function(){if(empty($(this).val()))$(this).val($(this).attr('title'));});

// Messages Dialog
	$('body').append('<div id="messages" title="Error"></div>');

});

// Select Drop Down
function closeSelect(elem){$(selectElem).removeClass('over').find('ul').slideUp('fast');}
function openSelect(elem){$(elem).addClass('over').find('ul').slideDown('fast');}

// Validate Contact Form
function validateContactForm(elem){var empty=checkEmptyAll(elem);if(empty){showMessage('Please fill in the required fields highlighted in red.');return false;}var validEmail=checkEmail($(elem).find('input[name=email]').val());if(!validEmail){$(elem).find('input[name=email]').addClass('error');showMessage('Please enter a valid email address.');return false;}return true;}

// Validate Resume Form
function validateResumeForm(elem){var empty=checkEmpty($(elem).find('input[name=name],input[name=email]'));var emptyOr=checkEmptyOr($(elem).find('input[name=comments]'),$(elem).find('input[name=resume]'));if(empty){showMessage('Please fill in the required fields highlighted in red.');return false;}if(emptyOr){showMessage('Please include your resume as an attached file or copy and paste it into the comments field.');return false;}var validEmail=checkEmail($(elem).find('input[name=email]').val());if(!validEmail){showMessage('Please enter a valid email address.');return false;}return true;}

// Validate Job Requirements Form
function validateJobForm(elem){var empty=checkEmpty($(elem).find('input[name=company],input[name=name],input[name=email],input[name=phone]'));var emptyOr=checkEmptyOr($(elem).find('textarea[name=comments]'),$(elem).find('input[name=job]'));if(empty){showMessage('Please fill in the required fields highlighted in red.');return false;}if(emptyOr){showMessage('Please include the job position requirements as an attached file or copy and paste it into the comments field.');return false;}var validEmail=checkEmail($(elem).find('input[name=email]').val());if(!validEmail){showMessage('Please enter a valid email address.');return false;}return true;}

// Check for Fields Not Filled In
function checkEmpty(elem){var err=false;$(elem).each(function(){if($(this).val()==$(this).attr('title')||empty(trim($(this).val()))){err=true;$(this).addClass('error');}});if(err)return true;return false;}
function checkEmptyAll(elem){return checkEmpty($(elem).find('input[type=text],textarea'));}
function checkEmptyOr(elem1,elem2){if(checkEmpty(elem1)&&checkEmpty(elem2))return true;return false;}

// Validate Email Address
function checkEmail(addr){var regEx=/^[\w.-_]+@[\w.-]+\.[\w]{2,4}$/;return regEx.test(addr);}

// Display Message
function showMessage(msg){$('#messages').html(msg).dialog({buttons:{Ok:function(){$(this).dialog('close');}},minHeight:150,modal:true,width:600});}

// PHP.JS Functions

// http://phpjs.org/functions/array
function array(){return Array.prototype.slice.call(arguments);}

// http://phpjs.org/functions/empty
function empty(mixed_var){var key;if(mixed_var===""||mixed_var===0||mixed_var==="0"||mixed_var===null||mixed_var===false||typeof mixed_var==='undefined'){return true;}if(typeof mixed_var=='object'){for(key in mixed_var){return false;}return true;}return false;}

// http://phpjs.org/functions/trim
function trim(str,charlist){var whitespace,l=0,i=0;str+='';if(!charlist){whitespace=" \n\r\t\f\x0b\xa0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000";}else{charlist+='';whitespace=charlist.replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g,'$1');}l=str.length;for(i=0;i<l;i++){if(whitespace.indexOf(str.charAt(i))===-1){str=str.substring(i);break;}}l=str.length;for(i=l-1;i>=0;i--){if(whitespace.indexOf(str.charAt(i))===-1){str=str.substring(0,i+1);break;}}return whitespace.indexOf(str.charAt(0))===-1?str:'';}

