/**
* hoverIntent r5 // 2007.03.27 // jQuery 1.1.2+
* <http://cherne.net/brian/resources/jquery.hoverIntent.html>
* 
* @param  f  onMouseOver function || An object with configuration options
* @param  g  onMouseOut function  || Nothing (use configuration options object)
* @author    Brian Cherne <brian@cherne.net>
*/
(function($){$.fn.hoverIntent=function(f,g){var cfg={sensitivity:7,interval:100,timeout:0};cfg=$.extend(cfg,g?{over:f,out:g}:f);var cX,cY,pX,pY;var track=function(ev){cX=ev.pageX;cY=ev.pageY;};var compare=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);if((Math.abs(pX-cX)+Math.abs(pY-cY))<cfg.sensitivity){$(ob).unbind("mousemove",track);ob.hoverIntent_s=1;return cfg.over.apply(ob,[ev]);}else{pX=cX;pY=cY;ob.hoverIntent_t=setTimeout(function(){compare(ev,ob);},cfg.interval);}};var delay=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);ob.hoverIntent_s=0;return cfg.out.apply(ob,[ev]);};var handleHover=function(e){var p=(e.type=="mouseover"?e.fromElement:e.toElement)||e.relatedTarget;while(p&&p!=this){try{p=p.parentNode;}catch(e){p=this;}}if(p==this){return false;}var ev=jQuery.extend({},e);var ob=this;if(ob.hoverIntent_t){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);}if(e.type=="mouseover"){pX=ev.pageX;pY=ev.pageY;$(ob).bind("mousemove",track);if(ob.hoverIntent_s!=1){ob.hoverIntent_t=setTimeout(function(){compare(ev,ob);},cfg.interval);}}else{$(ob).unbind("mousemove",track);if(ob.hoverIntent_s==1){ob.hoverIntent_t=setTimeout(function(){delay(ev,ob);},cfg.timeout);}}};return this.mouseover(handleHover).mouseout(handleHover);};})(jQuery);

/*
 * Superfish v1.4.8 - jQuery menu widget
 * Copyright (c) 2008 Joel Birch
 *
 * Dual licensed under the MIT and GPL licenses:
 * 	http://www.opensource.org/licenses/mit-license.php
 * 	http://www.gnu.org/licenses/gpl.html
 *
 * CHANGELOG: http://users.tpg.com.au/j_birch/plugins/superfish/changelog.txt
 */
;(function($){$.fn.superfish=function(op){var sf=$.fn.superfish,c=sf.c,$arrow=$(['<span class="',c.arrowClass,'"> &#187;</span>'].join('')),over=function(){var $$=$(this),menu=getMenu($$);clearTimeout(menu.sfTimer);$$.showSuperfishUl().siblings().hideSuperfishUl();},out=function(){var $$=$(this),menu=getMenu($$),o=sf.op;clearTimeout(menu.sfTimer);menu.sfTimer=setTimeout(function(){o.retainPath=($.inArray($$[0],o.$path)>-1);$$.hideSuperfishUl();if(o.$path.length&&$$.parents(['li.',o.hoverClass].join('')).length<1){over.call(o.$path);}},o.delay);},getMenu=function($menu){var menu=$menu.parents(['ul.',c.menuClass,':first'].join(''))[0];sf.op=sf.o[menu.serial];return menu;},addArrow=function($a){$a.addClass(c.anchorClass).append($arrow.clone());};return this.each(function(){var s=this.serial=sf.o.length;var o=$.extend({},sf.defaults,op);o.$path=$('li.'+o.pathClass,this).slice(0,o.pathLevels).each(function(){$(this).addClass([o.hoverClass,c.bcClass].join(' ')).filter('li:has(ul)').removeClass(o.pathClass);});sf.o[s]=sf.op=o;$('li:has(ul)',this)[($.fn.hoverIntent&&!o.disableHI)?'hoverIntent':'hover'](over,out).each(function(){if(o.autoArrows)addArrow($('>a:first-child',this));}).not('.'+c.bcClass).hideSuperfishUl();var $a=$('a',this);$a.each(function(i){var $li=$a.eq(i).parents('li');$a.eq(i).focus(function(){over.call($li);}).blur(function(){out.call($li);});});o.onInit.call(this);}).each(function(){var menuClasses=[c.menuClass];if(sf.op.dropShadows&&!($.browser.msie&&$.browser.version<7))menuClasses.push(c.shadowClass);$(this).addClass(menuClasses.join(' '));});};var sf=$.fn.superfish;sf.o=[];sf.op={};sf.IE7fix=function(){var o=sf.op;if($.browser.msie&&$.browser.version>6&&o.dropShadows&&o.animation.opacity!=undefined)
this.toggleClass(sf.c.shadowClass+'-off');};sf.c={bcClass:'sf-breadcrumb',menuClass:'sf-js-enabled',anchorClass:'sf-with-ul',arrowClass:'sf-sub-indicator',shadowClass:'sf-shadow'};sf.defaults={hoverClass:'sfHover',pathClass:'overideThisToUse',pathLevels:1,delay:800,animation:{opacity:'show'},speed:'normal',autoArrows:true,dropShadows:true,disableHI:false,onInit:function(){},onBeforeShow:function(){},onShow:function(){},onHide:function(){}};$.fn.extend({hideSuperfishUl:function(){var o=sf.op,not=(o.retainPath===true)?o.$path:'';o.retainPath=false;var $ul=$(['li.',o.hoverClass].join(''),this).add(this).not(not).removeClass(o.hoverClass).find('>ul').hide().css('visibility','hidden');o.onHide.call($ul);return this;},showSuperfishUl:function(){var o=sf.op,sh=sf.c.shadowClass+'-off',$ul=this.addClass(o.hoverClass).find('>ul:hidden').css('visibility','visible');sf.IE7fix.call($ul);o.onBeforeShow.call($ul);$ul.animate(o.animation,o.speed,function(){sf.IE7fix.call($ul);o.onShow.call($ul);});return this;}});})(jQuery);

sfHover = function() {
	var sfEls = document.getElementById("topNav").getElementsByTagName("LI");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfHover";
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfHover\\b"), "");
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);

$(document).ready(function(){
						   
	jQuery.preloadImages = function() {
		for(var i = 0; i<arguments.length; i++) {
			jQuery("<img>").attr("src", arguments[i]);
		}
	}

	// accordion
	$('div.accContent').hide();
	$('p.trigger').addClass('closed');

	// IE 6 png fix
	if ($.browser.msie && $.browser.version <= 6) {
		DD_belatedPNG.fix('.alphaPng, .alphaPng img, #searchArea, #header .shadow, #footerLinks, #topBanner p.link, #callouts p a, #jobsRibbon, h1.pageHead img');
	}

	if (!($.browser.msie && $.browser.version <= 6)) {
		// drop down menu
		$('ul#topNav').superfish({ 
			delay:       1000,                            // one second delay on mouseout 
			animation:   {opacity:'show',height:'show'},  // fade-in and slide-down animation 
			speed:       'fast',                          // faster animation speed 
			autoArrows:  false,                           // disable generation of arrow mark-up 
			dropShadows: false                            // disable drop shadows 
		});
	}
	
	// accordion
	$('p.trigger a').click(function() {
		if ($(this).parent('p.trigger').hasClass('closed')) {
			$('div.accContent').slideUp('fast');
			$('p.trigger').addClass('closed');				
			$(this).parent('p.trigger').next('div.accContent').slideDown('fast');
			$(this).parent('p.trigger').removeClass('closed');
		} else {
			$('div.accContent').slideUp('fast');
			$('p.trigger').addClass('closed');				
		}
		return false;
	})

	// image gallery
	$.preloadImages("../images/gallery/hover.png");

	var imgSrc;

	$('#mainMediaGallery #thumbs a:not(.current)').hover(
		function() {
		    $(this).addClass("borderGray");
			imgSrc = $(this).children('img').attr('src');
			$(this).children('img').attr('src','../images/gallery/hover.png');
		},
		function() {
            $(this).removeClass("borderGray");
			$(this).children('img').attr('src',imgSrc);
		}
	);
	
	$("#mainMediaGallery #thumbs a:first").addClass("current");
	
	// clear site search field
	$('#searchArea #search').focus(function() {
		$(this).val('');
	});
	
});


function SubmitNewsLetter()
{
    var txtFirstName = $get(txtFirstNameId);
    var txtLastName = $get(txtLastNameId);
    var txtEmail = $get(txtEmailId);
    var txtCompany = $get(txtCompanyId);
    var pValError = $get('pValError');
    var pSuccess = $get('pSuccess');

    if(Page_ClientValidate('Newsletter'))
    {
        NewsLetterSignup.NewsLetterSignUp(txtFirstName.value,txtLastName.value,txtEmail.value,txtCompany.value,
            null,null,0,null,succeededCallback, failedCallback, userContext);           
        
       pSuccess.innerHTML = 'Submitting.';
       pValError.innerHTML = '';
    }
    else
    {
       pValError.innerHTML = 'All fields are required.';
       pSuccess.innerHTML = '';
    }
}

function succeededCallback(result) 
{   
    var pSuccess = $get('pSuccess');
     pSuccess.innerHTML = result;
}

function userContext(result) {
    var pValError = $get('pValError');
    pValError.innerHTML = result;
    //alert(result + 'Timeout');
}

function failedCallback(result) {
    var pValError = $get('pValError');
    pValError.innerHTML = result;
    //alert(result + 'error');
}

function SearchSubmit()
{   
    //alert(URLEncode(document.getElementById('q').value));
    document.location.href='SearchResults.aspx?cx=000681304331378566556%3Avvodpnr8pdg&cof=FORID%3A9&ie=UTF-8&q=' +   
    URLEncode(document.getElementsByName('q')[0].value) + '&sa=Search';  
}

 function URLEncode (clearString) 
 {  
   var output = '';  
   var x = 0;  
   clearString = clearString.toString();  
   var regex = /(^[a-zA-Z0-9_.]*)/;  
   while (x < clearString.length) {  
     var match = regex.exec(clearString.substr(x));  
     if (match != null && match.length > 1 && match[1] != '') {  
         output += match[1];  
       x += match[1].length;  
     } else {  
       if (clearString[x] == ' ')  
         output += '+';  
       else {  
         var charCode = clearString.charCodeAt(x);  
         var hexVal = charCode.toString(16);  
         output += '%' + ( hexVal.length < 2 ? '0' : '' ) + hexVal.toUpperCase();  
       }  
       x++;  
     }  
   }  
   return output;  
 } 
 
function SwapPhoto(photoId)
{    
    var pCaption = $get('pCaption');    
    
    MediaImageSwap.ChangeImage(photoId,succeededPhotoCallback, failedPhotoCallback, userPhotoContext);           
    
    $("#thumbs .current").removeClass("current");
        
    pCaption.innerHTML = 'Swaping...';
}

function succeededPhotoCallback(result) 
{   
    var pCaption = $get('pCaption');
    var imgLarge = $get(imgLargeId);
    
    imgLarge.setAttribute("src", result.path);
    imgLarge.setAttribute("title", result.title);
    pCaption.innerHTML = result.summary;
    
    var photoObj = "aPhoto" + result.id;
    $("#"+photoObj).addClass("current");
    
}

function userPhotoContext(result) {
    var pCaption = $get('pCaption');
    pCaption.innerHTML = result;
    //alert(result + 'Timeout');
}

function failedPhotoCallback(result) {
    var pCaption = $get('pCaption');
    pCaption.innerHTML = result;
    //alert(result + 'error');
}