
//frame buster
if(typeof mgc_framebust!=="undefined"){ 
	if(mgc_framebust){
		if (top !== self){
			top.location.href = self.location.href;
		}
	}
}
jQuery(document).ready(function(){

	//reccomendation blocks
	var usedreccs="";
	var $reccblocks = jQuery("div.reccblock");
	var recclen = $reccblocks.length;
	var reccpos=0;
	if(recclen>0){
		var reccblock = function(){
			if(reccpos<recclen){
				var $this = $reccblocks.eq(reccpos);
				var therel = $this.attr("rel");
				var reldata = therel.split("|");
				var blockid = $this.attr("id")
				var $thisloading = jQuery("#"+blockid+"_loading");
				jQuery.ajax({
					type:"GET",
					url:reldata[0],
					data: {dauuid: reldata[1],baynoteurl: reldata[2],usedreccs:usedreccs,internalAd: reldata[3]},
					dataType:"json",
					success: function(data){
						usedreccs = data.THERECCS;
						$this.html(data.THEHTML);
						$thisloading.fadeOut();
						$this.show("blind", { direction: "vertical" }, 1000);
						reccpos++;
						reccblock();
					},
					error: function(){
						$thisloading.fadeOut();
					},
					cache: true
				});
			}
		}
		reccblock()
	}	

	if(document.getElementById("hyperlynxseminarpage")){
		jQuery("a.fancybutton").addClass("hlseminarfulfill");
	}
	if(document.getElementById("mgcuserstate")){
		if(jQuery("#mgcuserstate").hasClass("immediateFulfillment")){
			jQuery("a.hltechpubfulfill").live("click",function(){
				mboxUpdate('hyperlynx_landing_clickwatcher','tpclick=true');
			});
			jQuery("a.hlseminarfulfill").live("click",function(){
				mboxUpdate('hyperlynx_landing_clickwatcher','semclick=true');
			});
		}
	}

	//code for ic flow mentor.com/products/ic_nanometer_design/custom-ic-design/
	if(document.getElementById("custom-ic-flow-source")){
		jQuery("#custom-ic-flow").addClass(jQuery("#custom-ic-flow-source").attr("rel"));
	}

	//do not change this is to handle cases when our cdn hostname is not included in header - MDW
	if(typeof STATIC_ASSET_DOMAIN==="undefined"){
		STATIC_ASSET_DOMAIN="";
	}

	// suckerfish fix added by MDW 2/12/2009
	if((jQuery.browser.msie && jQuery.browser.version < 7)){
		jQuery("ul.products-nav li").hover(function(){
			jQuery("ul.products-nav li").removeClass("hover");
			jQuery(this).addClass("hover");
		},function(){
			jQuery(this).removeClass("hover");
		});
	}

	//home flash
	
	if(document.getElementById("homeflash")){
		if(readCookie("homepageda")===null){
			var flashvars = {};
			var params = {};
			params.wmode = "transparent";
			var attributes = {};
			swfobject.embedSWF("/swf/home.swf", "homeflash", "700", "169", "9.0.0", false, flashvars, params, attributes);
			createCookie("homepageda","pageloaded",1);
		}else{
			jQuery("#homeflash").remove();
		}
	}	
	
	jQuery("a.mgclightbox").mgclightbox();

	//url handling
	var pageurl = window.location.href;
	var pageurlsplit = pageurl.replace(/\/$/, "").split("?");
	var pageurlbase = pageurlsplit[0];
	var phvalues={};
	if(pageurlsplit.length>1){
		var pageurlquerystring = pageurlsplit[1];
		var pageurlarray = pageurlquerystring.split("&");
		jQuery.each(pageurlarray, function(i,n){
			var tempval = n.split("=");
			if(tempval.length>1){
				phvalues[tempval[0]]=tempval[1];
			}
		});
	}
	
	//ui tabs replacement for homepage
	
	jQuery("ul.toggles", "body.home").each(function(){
		var $this = jQuery(this);
		var $thelis = $this.find("li");
		var $thepanels;
		$thelis.each(function(i){
			var thehref = jQuery(this).find("a").attr("href");
			jQuery(thehref).addClass("ui-tabs-panel");
			if(i===0){
				jQuery(this).addClass("ui-tabs-selected");
				$thepanels=jQuery(thehref);
			}else{
				jQuery(thehref).addClass("ui-tabs-hide");
				$thepanels=$thepanels.add(jQuery(thehref));
			}
			jQuery(this).click(function(){
				$thepanels.addClass("ui-tabs-hide");
				$thelis.removeClass("ui-tabs-selected");
				jQuery(this).addClass("ui-tabs-selected");
				jQuery(thehref).removeClass("ui-tabs-hide");
				return false;
			});
		});
	});

	//if((jQuery.browser.msie &&  jQuery.browser.version < 7)){
	//	jQuery("a,div,span").pngfix()
	//	jQuery("img[src$=png]").pngfix({
	//		sizingMethod: "scale"
	//	});
	//}
	
	//add search to blank search fields and clear when somebody goes to type in it
	if (jQuery("#searchTerm").val() === ''){
		jQuery("#searchTerm").val('search');
	}
	jQuery("#searchTerm").focus(function(){
		if (jQuery(this).val() == 'search'){
			jQuery(this).val('') ;
		}
	});
	jQuery("form#searchbox").submit(function(){
		if (jQuery("#searchTerm").val() == 'search'){
			jQuery("#searchTerm").val('');
		}
	});

//PAYMENT FORM INTERACTIONS - ADDED BY MDW 1/23/2009
	

	jQuery("div.radioShowHide").each(function(){
		var $thisRSH=jQuery(this);
		jQuery(".radiopanel",$thisRSH).hide();
		jQuery(".radiotrigger",$thisRSH).each(function(i){
			jQuery(this).click(function(){
				jQuery(".radiopanel",$thisRSH).hide();
				jQuery("label.required",$thisRSH).removeClass("required").addClass("reqhidden");
				var $showpanel = jQuery("div.radiopanel:eq(" + (i) + ")",$thisRSH);
				$showpanel.show();
				jQuery("label.reqhidden",$showpanel).removeClass("reqhidden").addClass("required");
			});
			if(jQuery(this).is(":checked")){
				jQuery(".radiopanel",$thisRSH).hide();
				jQuery("label.required",$thisRSH).removeClass("required").addClass("reqhidden");
				var $showpanel = jQuery("div.radiopanel:eq(" + (i) + ")",$thisRSH);
				$showpanel.show();
				jQuery("label.reqhidden",$showpanel).removeClass("reqhidden").addClass("required");
			}
		});
		if(jQuery(".radiotrigger:checked",$thisRSH).length<1){
			jQuery(".radiotrigger:first",$thisRSH).trigger("click");
		}
	});
	
//auto fill billing on training - added by MDW 6/30/2008
	jQuery("#id_sameascontact").click(function(){
		if(jQuery(this).attr("checked")===true){
			jQuery("#id_billing_address1").val(jQuery("#id_address1").val());
			jQuery("#id_billing_municipality").val(jQuery("#id_municipality").val());
			jQuery("#id_billing_state").val(jQuery("#id_state").val());
			jQuery("#id_billing_postalcode").val(jQuery("#id_postal_code").val());
			jQuery("#id_billing_country").val(jQuery("#id_country").val());
		}
	});
//YIELD SOLUTIONS MOUSEOVER - ADDED BY KPK 1/20/2009
	if(document.getElementById("banneryield")){
		jQuery("li","#banneryield").hover(function(){
				jQuery(this).find("div.pane").animate({opacity: "show"}, 200);
		},function(){
				jQuery(this).find("div.pane").animate({opacity: "hide"}, "slow");
		});
	}

//AJAX GET - ADDED BY MDW 1/21/2009
	jQuery("a.ajaxget").live("click",function(){
		var $this = jQuery(this);
		var relmessage = $this.attr("rel");
		jQuery.get(jQuery(this).attr("href"),function(){
			if($this.hasClass("alertmess")){
				alert(relmessage);
			}
		});
		return false;
	});


//CITY ZIP SWITCH FOR REG FORM - ADDED BY MDW 1/15/2009
	var $countryselect = jQuery("#countryselect",jQuery("#register"));
	var $countryselectrow = $countryselect.parents("tr:first");
	var $zipcity = jQuery("#zip-city",jQuery("#register"));
	var countryselect = function(){
		if($countryselect.val()===""){
			$zipcity.find(".zip").hide().removeClass("error");
			$zipcity.find(".city").hide().removeClass("error");
			$zipcity.find(".mgcrequired").removeClass("mgcrequired");
			$zipcity.find("label.required").removeClass("required");
			if(document.getElementById("flopackreg")){
				jQuery("#flopacknewrow").remove();
				jQuery("#citytext").removeClass("removeonsubmit");
				jQuery("#ziptext").removeClass("removeonsubmit");
			}
		}else if($countryselect.val()==="UNITED STATES"){
			$zipcity.find(".zip").css({display:"block"});
			jQuery("#ziptext").focus().addClass("mgcrequired");
			$zipcity.find("label.zip").addClass("required");
			$zipcity.find(".city").hide().removeClass("error").removeClass("required");
			jQuery("#citytext").removeClass("mgcrequired");
			if(document.getElementById("flopackreg")){
				jQuery("#flopacknewrow").remove();
				var newrow='<tr id="flopacknewrow">'+
							'<td><label class="required" for="cityfield">City</label>'+
							'<div class="text half">'+
							'<input type="text" id="cityfield" class="mgcrequired" name="municipality" value=""  />'+
							'</div></td>'+
							'<td><label class="required" for="statefield">State</label>'+
							'<div class="select half">'+
							'<select id="statefield" name="state" class="mgcrequired"></select>'+
							'</div></td>';
				var $newrow=jQuery(newrow);
				$newrow.insertAfter($countryselectrow);
				jQuery.get("/apps/utilities/flopack/options_state.cfm",function(data){
					jQuery("#statefield").append(data);
				});
				jQuery("#citytext").addClass("removeonsubmit");
				jQuery("#ziptext").removeClass("removeonsubmit");
			}
		}else{
			$zipcity.find(".city").css({display:"block"});
			jQuery("#citytext").focus().addClass("mgcrequired");
			$zipcity.find(".zip").hide().removeClass("error").removeClass("required");
			jQuery("#ziptext").removeClass("mgcrequired");
			$zipcity.find("label.city").addClass("required");
			if(document.getElementById("flopackreg")){
				jQuery("#flopacknewrow").remove();
				var newrow='<tr id="flopacknewrow">'+
							'<td><label class="required" for="zipfield">Postal Code</label>'+
							'<div class="text half">'+
							'<input type="text" id="zipfield" class="mgcrequired" name="postal_code" value=""  />'+
							'</div></td>'+
							'<td>&nbsp;</td>';
				var $newrow=jQuery(newrow);
				$newrow.insertAfter($countryselectrow);
				jQuery("#citytext").removeClass("removeonsubmit");
				jQuery("#ziptext").addClass("removeonsubmit");
			}
		}
		$zipcity.find("p.instructionserror").remove();
	};
	$countryselect.change(countryselect);
	countryselect();

//FORM VALIDATION - ADDED BY MDW 1/15/2009

	jQuery("form.mentorvalidatetable").each(function(){
		var validID=jQuery(this).attr("id");
		MENTOR.validate({
			formId:validID,
			emailClass: 'validateemail',
			phoneClass: 'validatephone',
			numericClass: 'validatenumeric',
			fireWhen: 'now',
			labelOutsideDiv: true,
			errorClass: 'instructionserror',
			bigAlertClass:'error-alert'
		});
	});
	var languagePack;
	if(document.getElementById("languagePack")){
		languagePack=jQuery("#languagePack").attr("rel");
		if (languagePack !== "english"){
			jQuery(".account-message").remove();
		}
	}else{
		languagePack='english';
	}
	jQuery("form.mentorvalidatetablenew").each(function(){
		var validID=jQuery(this).attr("id");
		MENTOR.validatenew({
			formId:validID,
			emailClass: 'validateemail',
			phoneClass: 'validatephone',
			numericClass: 'validatenumeric',
			fireWhen: 'now',
			labelOutsideDiv: true,
			errorClass: 'instructionserror',
			bigAlertClass:'error-alert',
			language: languagePack
		});
	});
	jQuery("select",jQuery("form.mentorvalidatetable,form.mentorvalidatetablenew")).each(function(){																//iterate through all select fields
		if(jQuery.trim(jQuery("option:selected",jQuery(this)).val())=='Other (please specify):') {				//if the last option is selected
			jQuery('#' + jQuery(this).attr('name') + '_other').addClass("showingoption").removeClass("hidingoption").show();	//add the showingoption class to the span around the text field
		}else{
			jQuery('#' + jQuery(this).attr('name') + '_other').removeClass("showingoption").addClass("hidingoption").hide();  //if it is not selected add teh hidingoption class
		}
		jQuery(this).change(function(){															//attach a change listener
			if(jQuery.trim(jQuery("option:selected",jQuery(this)).val())=='Other (please specify):') {			//if the last option is selected
				jQuery('#' + jQuery(this).attr('name') + '_other').addClass("showingoption").removeClass("hidingoption").show();  //show the span with the text field in it
			}else{
				jQuery('#' + jQuery(this).attr('name') + '_other').removeClass("showingoption").addClass("hidingoption").hide()	//if not seletected, hide the text field
				.find("span.error").remove();
			}
		});
	});
	jQuery("input.checkboxother",jQuery("form.mentorvalidatetable,form.mentorvalidatetablenew")).each(function(){
		var $this = jQuery(this).parents("div:first");
		var $thislabelp = $this.prev("p");
		var $newCheck = jQuery('<div class="checkboxes"><p><input type="checkbox" class="createdcheckother removeonsubmit checkbox" /> <label class="checkbox">Other</label></p></div>').insertBefore($thislabelp);
		var $currentBlock = jQuery(this).parents("tr:first");
		$thisothertext = jQuery(this);
		$thislabelp.hide();
		if((jQuery.browser.msie && jQuery.browser.version < 7)){
			$thislabelp.find("label").css({"margin-bottom":"0"});
		}
		$this.hide();
		jQuery("input.createdcheckother",$currentBlock).click(function(){
			if(jQuery(this).attr("checked")===true){
				$this.show();
				$thislabelp.show();
				jQuery(this).val('').removeClass("removeonsubmit");
			}else{
				$this.hide();
				jQuery(this).val('').addClass("removeonsubmit");
				$thislabelp.hide();
			}
		});				
	});	
	jQuery("form.mentorvalidate").each(function(){
		var validID=jQuery(this).attr("id");
		MENTOR.validate({
			formId:validID,
			emailClass: 'validateemail',
			phoneClass: 'validatephone',
			numericClass: 'validatenumeric',
			fireWhen: 'now',
			labelOutsideDiv: false,
			errorClass: 'error',
			labelRelationship: '+'
		});
	});
	jQuery("select",jQuery("form.mentorvalidate")).each(function(){																//iterate through all select fields
		if(jQuery.trim(jQuery("option:selected",jQuery(this)).text())=='Other (please specify):') {				//if the last option is selected
			jQuery('#' + jQuery(this).attr('name') + '_other').addClass("showingoption").removeClass("hidingoption").show();	//add the showingoption class to the span around the text field
		}else{
			jQuery('#' + jQuery(this).attr('name') + '_other').removeClass("showingoption").addClass("hidingoption").hide();  //if it is not selected add teh hidingoption class
		}
		jQuery(this).change(function(){															//attach a change listener
			if(jQuery.trim(jQuery("option:selected",jQuery(this)).text())=='Other (please specify):') {			//if the last option is selected
				jQuery('#' + jQuery(this).attr('name') + '_other').addClass("showingoption").removeClass("hidingoption").show();  //show the span with the text field in it
			}else{
				jQuery('#' + jQuery(this).attr('name') + '_other').removeClass("showingoption").addClass("hidingoption").hide()	//if not seletected, hide the text field
				.find("span.error").remove();
			}
		});
	});
	jQuery("input.checkboxother",jQuery("form.mentorvalidate")).each(function(){
		var $newCheck = jQuery('<p><input type="checkbox" class="createdcheckother removeonsubmit" /> <label class="checkbox">Other</label></p>').insertBefore(jQuery(this).prev("label"));
		var $currentBlock = jQuery(this).parents("li");
		$thisothertext = jQuery(this);
		jQuery(this).prev("label").hide().end().hide();
		jQuery("input.createdcheckother",$currentBlock).click(function(){
			if(jQuery(this).attr("checked")===true){
				jQuery(".checkboxother",$currentBlock).removeClass("removeonsubmit").show().prev("label").show();
			}else{
				jQuery(".checkboxother",$currentBlock).hide().val('').addClass("removeonsubmit").prev("label").hide();
			}
		});				
	});	

//sign in - ADDED BY MDW 1/6/2009
/*

	jQuery("#signin-link").click(function(){
		jQuery(this).parent().toggleClass('signin-toggled')
	})

	jQuery("#signin-cancel").click(function(){
		jQuery("#signin-link").trigger("click");
		return false;
	})
*/

	jQuery('input#password').attachPassMeter({
		imgsPath: STATIC_ASSET_DOMAIN+'/images/passmeter/',
    	passtarget: '#passwordtarget',
    	bgPosition: 'center'
  	});

//createaccountcode  - ADDED BY MDW 12/4/2008

	if(jQuery("input#invoke-create").is(":checked")){
		jQuery("#account-creation").show();
		jQuery("#password-message").fadeIn("fast");
		jQuery("#createaccount").val("yes");
		//jQuery("#remember-me").hide();
	}else{
		jQuery("#account-creation").hide();
		jQuery("#password-message").hide();
		jQuery("#createaccount").val("no");
		//jQuery("#remember-me").show();
	}
	jQuery("#invoke-create").click(function(){
		if(jQuery(this).is(":checked")){
			jQuery("#account-creation").show();
			jQuery("#password-message").fadeIn("fast");
			jQuery("#createaccount").val("yes");
			//jQuery("#remember-me").hide();
		}else{
			jQuery("#account-creation").hide();
			jQuery("#password-message").hide();
			jQuery("#createaccount").val("no");
			//jQuery("#remember-me").show();
		}
	});


	jQuery("a.signinswitch").click(function(){
		jQuery('#register').slideToggle("fast");
		jQuery("form[name=login]").slideToggle("fast");
		jQuery("#message-signin").toggle();
		jQuery("#message-form").toggle();
		return false;
	});

// swapitems - ADDED BY MDW 12/4/2008
	jQuery("a.swapitems").click(function(){
		var params = jQuery(this).attr("rel");
		var parsedparams = params.split("||");
		jQuery.each(parsedparams,function(i,n){
			var thisparam = n.split("|");
/*
			console.log(thisparam[0])
			console.log(jQuery('#'+thisparam[1]))
*/
			switch(thisparam[0]){
			case 'slideToggle':
				jQuery('#'+thisparam[1]).slideToggle("fast");
				break;
			case 'toggle':
				jQuery('#'+thisparam[1]).toggle();
				break;
			}
		});
		return false;
	});


	//tag control
	jQuery("#tags,div.tagcontrol").each(function(){
		var $tags = jQuery(this);
		var $tagsul = $tags.find("ul");
		var $tagsmore = $tags.find(".more-tags");
		var $tagsless = $tags.find(".less-tags");
		var numtags = $tagsul.find("li").length;
		var currpage = 0;
		var toshow;
		$tagsmore.click(function(){
			currpage++;
			showtags("more");
			return false;
		});
		$tagsless.click(function(){
			currpage--;
			showtags("less");
			return false;
		});
		var mllinks = function(){
			if(numtags>toshow){
				$tagsmore.show();
			}else{
				$tagsmore.hide();
			}
			if(currpage>0){
				$tagsless.show();
			}else{
				$tagsless.hide();
			}
		};
		var showtags = function(dir){
			toshow = (currpage+1)*10;
			if(dir==="more"){
				jQuery("li:lt("+toshow+")",$tagsul).show();
			}else if(dir==="less"){
				jQuery("li:gt("+(toshow-1)+")",$tagsul).hide();
			}
			mllinks();		
		};
		showtags("more");
	})	

	//tooltips - added by KPK 9/26/2008
	jQuery(".tooltip").tooltip({
		track: false,
		showURL: false
	});
	
	jQuery(".tooltip").hover(function(){
		if(jQuery(this).attr("rel")){
			var $this = jQuery(this);
			var timefunc = function(){
				if(jQuery("#tooltip").is(":visible")){
					jQuery("#tooltip").width($this.attr("rel")+'px');
					clearInterval(timey);
				}
			};
			var timey = setInterval(timefunc,10);
		}
	},function(){
			jQuery("#tooltip").width("");
	});

	jQuery(".tooltiphtml").tooltip({
		track: false,
		showURL: false,
		extraClass: "pretty",
		bodyHandler: function() {
	        	return jQuery(this).next("div.tooltipcontent").clone(); 
    	} 
	});
	//collapsing nav
/* 	if(!(jQuery.browser.msie && jQuery.browser.version < 7)){ */
		var navArray = [];																				//an array to store the ids of open menus
		jQuery("div.collapsingnav").each(function(index){												//for each collapsing nav 
		
			var $mainul = jQuery(this).find("ul:first");
	
			var navId = jQuery(this).attr("id");														//id for the current nav
			navArray[navId]=[];																			//an array for this nav to store the menu status
			var currentarray = navArray[navId];															//reference to array for this nav 
			var $currentNav = jQuery(this);																//reference to current nav 
	
	
			//BE SURE TO REMOVE THIS PART OF THE CODE
			//jQuery("li",$currentNav).each(function(index){
			//	jQuery(this).attr("rel",index+1);
			//});
	
	
			//var cookiedNav = readCookie("openNav"+navId);												//read the cookie for this nav 
			//if(cookiedNav!=null){
			//	currentarray = cookiedNav.split(",")													//if there is a cookie populate the array on load
			//}
			//jQuery.each(currentarray,function(i,val){													//for each item in the array
			//	if(val!=''){
			//		var relsel = "[rel="+val+"]"
			//		jQuery(relsel,$currentNav).addClass("cookieopened");								//add a class to the li saying its open
			//	}
			//});
			jQuery("li",$currentNav).not("li > ul > li").each(function(){												//for each child menu
				var $childUl = jQuery(this).find("ul");															//reference to the child
				var $parentLi = jQuery(this);													//reference to its parent 
				if($childUl.length>0){
					if($parentLi.hasClass("cookieopened")){		     										//if it is opened in the cookie
						$childUl.show();																	//show the child
					}
		
					if((!$parentLi.hasClass("active"))&&(!$parentLi.hasClass("cookieopened"))){				//add class to the parent li with that part of the menus status
						$parentLi.addClass("closed");
					}else{
						$parentLi.addClass("open");
					}
					var $clickExpando = jQuery('<a href="#" class="expand">More</a>');						//create the open/close link
					
					$clickExpando.click(function(){															//when link clicked
						if($parentLi.hasClass("closed")){													//if it is closed
							$childUl.show("blind",{duration:200});											//show child
							$parentLi.addClass("open").removeClass("closed");								//change class on parent li
							currentarray.push($parentLi.attr("rel"));									//add to open array 
							//createCookie("openNav"+navId,currentarray.join(","),7);							//write change to cookie
						}else if($parentLi.hasClass("open")){												//if it is open
							$childUl.hide("blind",{duration:200});											//hide child
							$parentLi.addClass("closed").removeClass("open").removeClass("active");			//change status class on parent li
							$parentLi.removeClass("cookieopened");											//remove open because of cookie class
							currentarray = jQuery.grep(currentarray, function(n, i){						//remove from open array 
		      					return (n != $parentLi.attr("rel"));
		    				});
							//createCookie("openNav"+navId,currentarray.join(","),7);							//write edits to cookie
						}
						return false;
					});
					$clickExpando.height($parentLi.find("a:first").outerHeight());							//set height of open close link to match sibling link
					$parentLi.prepend($clickExpando);														//prepend the open/close link
				}else{
					$parentLi.addClass("nochildren");
				}
			});
			
		});
/* 	} */


	
//	var flyoutstatus='closed';
//	var aniopen=null;
//	var aniclose=null;
//	var $flyout=jQuery("#flyout");																	//create reference to flyout div
//	jQuery("li#products a:first").hover(function(){													//use hover rather than mouseover because uses custom mouseenter
//		if(flyoutstatus=='closed'&&aniopen==null){																	//if flyout is hidden
//			flyoutstatus='open'
//			$flyout.css({																			//set position because of firefox bug of 0,0
//				top:'32px',
//				left: '114px',
//				position: 'absolute'
//			})
//			aniopen=1
//			$flyout.show("blind",{duration:200,callback:function(){aniopen=null}});											//animate the opening of the flyout
//		}
//	},function(){});																				//noop mouseleave
//	var flyoutwidth=547;																			//create reference to expanded flyout width
//	jQuery("#flyout ul:first > li").each(function(){												//for each li in the main ul in flyout
//		var $currLi = jQuery(this);																	//create reference to current li 
//		$currLi.hover(function(){																	//add hover on current li to use mouseenter
//			jQuery("div.columns",$flyout).hide();													//hide all inner content
//			if(jQuery("div#inner",$flyout).width()<flyoutwidth){									//if the inner content is not expanded out
//				jQuery("div#inner",$flyout).animate({												//animate the expansion
//					width:flyoutwidth+"px"
//				},250);
//			}
//			jQuery("div.columns",$currLi).show();													//show the inner content
//		},function(){});
//	})
//	$flyout.hover(function(){},function(e){															//on mouseleave
//		jQuery("div#inner",$flyout).animate({														//collapse the inner content
//			width:"181px"		
//		},250,function(){
//			if(flyoutstatus=='open'&&aniclose==null){
//				flyoutstatus='closed';
//				jQuery("div.columns",$flyout).hide();													//hide the inner content
//				aniclose=1;
//				$flyout.hide("blind",{duration:200,callback:function(){aniclose=null}});													//hide the menu
//			}						
//		});
//	});
//	jQuery("#solutions,#support").mouseover(function(){												//on mouseover of the two links next to products
//		jQuery("div.columns",$flyout).hide();													//hide it 
//		if(flyoutstatus=='open'&&aniclose==null){																	//if the flyout is visible
//			flyoutstatus='closed'
//			aniclose=1;
//			$flyout.hide("blind",{duration:200,callback:function(){aniclose=null}});
//		}
//	});//
	
	//autocomplete productfinder
	if(document.getElementById("finder-box")){
		MENTOR.autocomplete({
			firewhen: 'now',
			autoFillTextReference: '#finder-box',
			jsonUrl: '/apps/product_finder/ajax_suggestions.cfm?',
			valueFn:function(datapass){
				var valuePass; 
				if(typeof datapass.SUGGESTION!=="undefined"){
					valuePass = datapass.SUGGESTION;
				}else{
					valuePass = "";
				}
				
				return valuePass;
			},
			onSelected: function(json,fillelem){
				window.location.href = json.PATH;
			},
			attachContainerToText: 'no',
			wrapText: true,
			minChars: 2,
			useSpinner: true
		});
	}
	jQuery("#prodfinder input.searchbutton").hide();
	

	//tag finder
	if(document.getElementById("tagfinder")){
		var jsonURL = '/shared/tagfinder?designArea=' + jQuery("#tagfinder-designArea").val();
		if (jQuery("#tagfinder-multimedia")) {
			jsonURL += "&multimedia=" + jQuery("#tagfinder-multimedia").val();
		}
		if (jQuery("#tagfinder").val() !== 'Start Typing'){
			jQuery("#tagfinder").val('Start Typing');
		}
		jQuery("#tagfinder").focus(function(){
			if (jQuery(this).val() == 'Start Typing'){
				jQuery(this).val('') ;
			}
		});		
		MENTOR.autocomplete({
			firewhen: 'now',
			autoFillTextReference: '#tagfinder',
			jsonUrl: jsonURL,
			valueFn:function(datapass){
				var valuePass; 
				if(typeof datapass.SUGGESTION!=="undefined"){
					valuePass = datapass.SUGGESTION;
				}else{
					valuePass = "";
				}
				
				return valuePass;
			},
			onSelected: function(json,fillelem){
				window.location.href = json.PATH;
			},
			attachContainerToText: 'no',
			wrapText: true,
			minChars: 2,
			useSpinner:true
		});
	}

	//search results panel
/*
	var $searchbox=jQuery("#searchbox");
	if($searchbox[0]){
		var autostatus;
		$searchbox.attr('autocomplete','off').keyup(function(event,a){						
			if($searchbox.val().length >= 3){									
				if ((event.keyCode > 40 || event.keyCode == 8)||(a === "mousepaste")){			
					autostatus = 'on';
					var ajaxDataObj = {};														
					ajaxDataObj['keyword'] = $searchbox.val();
					jQuery.ajax({
						'url': 'searchresults.cfm',													
						'data': ajaxDataObj,													
						'dataType': 'html',														
						'port': "searchresults",													
						'mode': "abort",														
						'type': 'GET',															
						'success': function(data){
							jQuery("#resultspanel").remove();
							var $resultspanel = jQuery('<div id="resultspanel"></div>').hide().appendTo("#header div.container");
							$resultspanel[0].innerHTML=data;												
							$resultspanel.show();												
						}
					})
				}
			}else{
				jQuery("#resultspanel").remove();
			}
		})
		var iePaste = function(){
			$searchbox.trigger("keyup",["mousepaste"]);
		}
		if($.browser.msie){
			$searchbox[0].onpaste=function(){setTimeout(iePaste,100)};                     
		}else if($.browser.mozilla){
			$searchbox[0].addEventListener('input',function(){$searchbox.trigger("keyup",["mousepaste"]);},false);
		}
	}
*/
	
	
	//input rollover
	jQuery(".rollover").hover(
	function(){
			var newSrc = jQuery(this).attr("src").replace(/\.(png|jpg|gif)$/,"-active.$1");
			jQuery(this).attr("src",newSrc);
	},
	function(){
			var oldSrc = jQuery(this).attr("src").replace(/\-active\.(png|jpg|gif)$/,".$1");
			jQuery(this).attr("src",oldSrc);
	});

	MENTOR.mentorslider({
		fireWhen: 'now',
		widthOnUl: 'yes',
		rotateSpeed: 4000
	});
	
	jQuery("div.image").each(function(){
		var capimagewidth = jQuery("img",jQuery(this)).width();
		jQuery(this).width(capimagewidth);
	});
	
	jQuery("div#resourcenav-sub > ul > li > a").not("a.button").hover(function(){
		jQuery("div#resourcenav-sub > ul > li").removeClass("active");
		jQuery(this).parent("li").addClass("active");
	},function(){
	});
	
/*
	var $critlink = jQuery("a.criteria-toggle")
	$critlink.toggle(function(){
		jQuery("div#search-criteria-drop").show("blind",{duration:200});
		jQuery(this).addClass("toggled");
	},function(){
		jQuery("div#search-criteria-drop").hide("blind",{duration:200});
		jQuery(this).removeClass("toggled");
	});
	jQuery("div#search-criteria-drop li a").click(function(){
		jQuery("div#search-criteria-drop li").removeClass("active")
		jQuery(this).parent("li").addClass("active");
		var crithtml = '<span><strong>Searching: </strong>' + jQuery(this).text() + '</span>'
		$critlink.html(crithtml).trigger("click");
	});
	jQuery("div#search-criteria-drop a.close").click(function(){
		$critlink.trigger("click");
	});
*/
	
	//vertical tabber
	jQuery("div.verttab").each(function(vindex){
		var $thisverttab = jQuery(this);
		$thisverttab.addClass("verttabactive");
		$thisverttab.append('<div class="clear"></div>');
		var $divulnav = jQuery('<div class="vertnavigator"></div>');
		var $ulnav = jQuery('<ul class="vertnavigator"></ul>');
		if($thisverttab.hasClass("cookied")){
			if(jQuery("div.panel[title="+readCookie($thisverttab.attr("id"))+"]").length>0){
				jQuery("div.panel").removeClass("default");
				jQuery("div.panel[title="+readCookie($thisverttab.attr("id"))+"]").addClass("default");
			}
		}

		var categories = {};
		jQuery("div.panel",$thisverttab).each(function(){
			var theRel = jQuery(this).attr("rel");
			var theCat;
			var theRels = theRel.split("|");
			if(theRels.length>1&&$thisverttab.hasClass("ajax")){
				theCat=theRels[0];
				jQuery(this).data("ajaxfile",theRels[1]);
			}else{
				theCat=theRel;
			}
			if(!categories[theCat]){
				categories[theCat]='yes';
			}
		});
		jQuery.each(categories,function(i,n){
			var category = i;
			var $cathead = jQuery('<li class="header">'+category+'</li>');
			if(category!==''){
				$cathead.appendTo($ulnav);
			}
			var selector;
			if($thisverttab.hasClass("ajax")){
				selector = "div.panel[rel^="+category+"|]";
			}else{
				selector = "div.panel[rel="+category+"]";
			}
			jQuery(selector,$thisverttab).each(function(index){
				jQuery('<li><a href="#" id="'+vindex+'_'+category.replace(/ /g,"")+'_'+index+'_link">'+jQuery(this).attr("title")+'</a></li>').appendTo($ulnav);
				jQuery(this).attr("id",vindex+'_'+category.replace(/ /g,"")+'_'+index);
			});			
		});
		$divulnav.prependTo($thisverttab);
		$ulnav.prependTo($divulnav);
		jQuery("div.panel",$thisverttab).not("div.panel.visible").hide();
		jQuery("a",$ulnav).click(function(){
			if(!jQuery(this).parents("li:first").hasClass("active")){
				jQuery("li",$ulnav).removeClass("active");
				jQuery(this).parents("li:first").addClass("active");
				var divtoshow = jQuery(this).attr("id").split("_link");
				divtoshow.pop();
				var divtoshowid = divtoshow.join("_link");
				var $thisvis = jQuery("div.visible",$thisverttab);
				jQuery("div.panel",$thisverttab).removeClass("visible").hide();
				var $actionpanel = jQuery("div#"+divtoshowid.replace(" ",""),$thisverttab);
				var actionurl = $actionpanel.data("ajaxfile");
				if($thisverttab.hasClass("cookied")){
					createCookie($thisverttab.attr("id"),$actionpanel.attr("title"),1);
				}
				if($thisverttab.hasClass("ajax")&&!$actionpanel.hasClass("ajaxed")&&actionurl){
					$actionpanel.html('<img src="'+STATIC_ASSET_DOMAIN+'/images/anim-loading.gif" class="loading" />').show().addClass("visible");
					jQuery.get(actionurl+"?noUI=1&dummy="+new Date().getTime(),function(html){
						var $html = jQuery(html);
						jQuery("a.mgclightbox",$html).mgclightbox();
						//console.log($html)
						$actionpanel.empty().html($html).addClass("ajaxed");
					});
				}else{
					$actionpanel.show().addClass("visible");
				}
			}
			return false;
		});
		if(jQuery("div.panel.default",$thisverttab).length===0){
			jQuery("a:first",$ulnav).trigger("click");
/*
			jQuery("div.panel:first",$thisverttab).addClass("visible");
			jQuery("a:first",$ulnav).parents("li:first").addClass("active");
*/
		}else{
			var $defaulttab = jQuery("div.panel.default",$thisverttab);
			var $defaultlink = jQuery("#"+$defaulttab[0].id+"_link");
			$defaultlink.trigger("click");
/*
			$defaulttab.removeClass("default").addClass("visible");
			jQuery("a#"+$defaulttab.attr("id")+"_link",$ulnav).parents("li:first").addClass("active");
*/
		}

	});


//POPUPS - ADDED BY MDW 3/27/2008

	jQuery("a.popup").each(function(){													//for each link with class popup
		jQuery(this).click(function(){													//attach a click function that opens a popup window
			var passedWidth;
			var passedHeight;
			if((jQuery(this).is("[rel]")) && (jQuery(this).attr("rel").split('|').length===2)){
				passedWidth = jQuery(this).attr("rel").split('|')[0];
				passedHeight = jQuery(this).attr("rel").split('|')[1];
			}else{
				passedWidth=920;
				passedHeight=720;
			}
			var w = window.open(jQuery(this).attr("href"),"popup","width=" + passedWidth + ",height=" + passedHeight + ",resizable=yes,toolbar=no,menubar=no,location=yes,scrollbars=yes");
			w.focus();
			return false;
		});
	});



//TABBER REPLACEMENTS - ADDED BY MDW 3/4/2008

	var tabberdefault = getquerystring(window.location.href)["mgctab"];
	var markdefaulttab = function(tabber,tabbertab){
		var $foundtabber = jQuery("div.tabber:eq("+tabber+")");
		if($foundtabber.length>0){
			jQuery("div.tabbertab:eq("+tabbertab+")",$foundtabber).addClass("defaultTab");
		}
	}
	if(typeof tabberdefault !== "undefined"){
		var tabcoordinates=tabberdefault.split(",");
		if(tabcoordinates.length>1){
			if((parseInt(tabcoordinates[0],10)!=="NaN")&&(parseInt(tabcoordinates[1],10)!=="NaN")){
				markdefaulttab(tabcoordinates[0],tabcoordinates[1]);
			}
		}else if(tabcoordinates.length===1){
			if(parseInt(tabcoordinates[0],10)!=="NaN"){
				markdefaulttab(0,tabcoordinates[0]);
			}
		}
	}

	var $tabber = jQuery("div.tabber");
	
	$tabber.each(function(){

		var $currentTabber = jQuery(this);
		$currentTabber.removeClass("tabber").addClass("tabberlive");
	
		var $tabberNav = jQuery('<ul class="tabbernav"></ul>').prependTo($currentTabber);
	
		jQuery("div.tabbertab",$currentTabber).not("div.tabbertab:first",$currentTabber).hide();
	
		jQuery("div.tabbertab",$currentTabber).each(function(index){
			var h2length = jQuery("h2",jQuery(this)).length;
			var h3length = jQuery("h3",jQuery(this)).length;
			var tabtext;
			if((h2length===0)&&(h3length===0)){
				tabtext=index+1;
			}else if(h2length>0){
				tabtext = jQuery("h2:first",jQuery(this)).text();
				//jQuery("h2:first",jQuery(this)).hide();
			}else{
				tabtext = jQuery("h3:first",jQuery(this)).text();
				//jQuery("h3:first",jQuery(this)).hide();
			}
			jQuery('<li><a href="#" title="' + tabtext + '"><span>' + tabtext + '</span></a></li>').appendTo($tabberNav);
			jQuery(this).attr("rel",tabtext);
		});
		//this block adds classes to the tabs on mentor.com homepage
		if($currentTabber.is("#hometabber")){
			jQuery("li:eq(0)",$tabberNav).addClass("products");
			jQuery("li:eq(1)",$tabberNav).addClass("solutions");
			jQuery("li:eq(2)",$tabberNav).addClass("da");
		}
		
		jQuery('<div class="clear"></div>').insertAfter($tabberNav.find("li:last"));
				
		jQuery("ul.tabbernav li a",$currentTabber).click(function(){
			jQuery("ul.tabbernav li",$currentTabber).removeClass("tabberactive");
			jQuery(this).parent("li").addClass("tabberactive");
			$currentTabber.height($currentTabber.height());
			jQuery("div.tabbertab",$currentTabber).hide();
			jQuery("div.tabbertab[rel='"+ jQuery(this).attr("title") + "']",$currentTabber).animate({opacity: "show"}, "slow");
			jQuery(this).trigger("blur");
 			$currentTabber.height('') ;
			return false;
		});
		
		var defaultTab = jQuery("div.tabbertab",$currentTabber).index(jQuery("div.tabbertab.defaultTab",$currentTabber)[0]);

		if(defaultTab!==-1){
			jQuery("ul.tabbernav li:eq(" + defaultTab + ") a:first",$currentTabber).trigger("click");
		}else{
			jQuery("ul.tabbernav li:first a:first",$currentTabber).trigger("click");
		}
		
	
	});

//ANIMATED TABS REPLACES MOOTABS - ADDED BY MDW 3/4/2008

/*
	var $anitabs = jQuery("div.anitabs");
	
	$anitabs.each(function(){
		jQuery("ul",jQuery(this)).tabs({fx: { opacity: 'toggle' } });	
	});
*/
	
	//fancy button
	jQuery("a.fancybutton").each(function(){
		var $thebutton = jQuery(this);
		$thebutton.addClass("styled");
		$thebutton.html(jQuery('<span>'+$thebutton.text()+'</span>'));
		jQuery('<div class="clear"></div>').insertAfter($thebutton);
		$thebutton.click(function(){
			jQuery(this).trigger("blur");
		});
	});
	
	//inner fade
	jQuery("div.innerfade").each(function(){
		var $fadeul = jQuery("ul:first",jQuery(this));
		var numitems = jQuery("li.item",$fadeul).length;
		var divheight=parseInt($fadeul.outerHeight()/numitems,10);
		var relArray = jQuery(this).attr("rel").split("|");
		$fadeul.innerfade({
			speed: parseInt(relArray[0],10),
			timeout: parseInt(relArray[1],10),
			type: relArray[2],
			containerheight: divheight
		});
	});
	
	//expandable ul
	jQuery("ul.expandable > li > a").click(function(){
		var $parli = jQuery(this).parents("li:first");
		$parli.toggleClass("expanded");
		var $ul = $parli.find("ul");
		if($parli.hasClass("expanded")){
			$ul.show();
		}else{
			$ul.hide();
		}
		return false;
	});

//Abstract Togglers - ADDED BY MDW 3/11/2008

	jQuery("a.abstracttoggler,p.abstracttoggler").next("div").hide();
	jQuery("a.abstracttoggler,p.abstracttoggler").toggle(function(){
		jQuery(this).next("div").animate({height: 'toggle'},"fast").end().removeClass("toggle-collapsed").addClass("toggle-expanded");
	},function(){
		jQuery(this).next("div").animate({height: 'toggle'},"fast").end().removeClass("toggle-expanded").addClass("toggle-collapsed");
	});
	jQuery("a.signintoggler").live("click",function(){
		jQuery(this).next("div").animate({height: 'toggle'},"fast").end().toggleClass("toggle-collapsed").toggleClass("toggle-expanded").parents("div#user").toggleClass("signin-toggled");
		if(jQuery.browser.msie){
			var $searchbox = jQuery("#searchbox");
			$searchbox.is(":visible")?$searchbox.hide():$searchbox.show();
		}
		return false;
	});
	jQuery("#signin-cancel").live("click",function(){
		jQuery("#signin-link").trigger("click");
	});
	
//URL HANDLING
/*

	//url handling for when filter changes
	var techpaperurl = window.location.href;
	var techpaperurlsplit = techpaperurl.split("?")
	var techpaperurlbase = techpaperurlsplit[0]
	var tpvalues={};
	if(techpaperurlsplit.length>1){
		var techpaperquerystring = techpaperurlsplit[1];
		var techpaperarray = techpaperquerystring.split("&")
		jQuery.each(techpaperarray, function(i,n){
			var tempval = n.split("=")
			if(tempval.length>1){
				tpvalues[tempval[0]]=tempval[1]
			}
		})
	}
*/

/*
	var urlqueryparse = function(url,key){
		var argsplit = url.split("?")
		var urlbase = argsplit[0]
		var argvalues={};
		if(argsplit.length>1){
			var querystring = argsplit[1];
			var urlarray = querystring.split("&")
			jQuery.each(urlarray, function(i,n){
				var tempval = n.split("=")
				if(tempval.length>1){
					argvalues[tempval[0]]=tempval[1]
				}
			})
		}
		return argvalues[key];
	}
*/
	
//Multimedia - ADDED BY MDW   11/23/2008

/*
	jQuery("div.mm div.multimediarows").each(function(){
		var $mm = jQuery(this)
		var $items = $mm.find("div.column").data("mmstate","unselected")
		$mm.bind("click.mm",function(e){
			var $target = jQuery(e.target);
			if($target.is("a")||$target.is("a span")){
				var $item = $target.parents("div.column:first");
				if($item.data("mmstate")!=="selected"){
					$items.data("mmstate","unselected").removeClass("selected");
					$item.addClass("selected").data("mmstate","selected");
					var itemId=$item.attr("rel");
					var contentHref = '/prototypes/openplayer/MGCplayerdemo.swf';
					var xmlpath = '/prototypes/openplayer/nav.cfm?vid='+itemId;
					jQuery("#infopanel").html('<img src="/images/anim-loading-dark.gif" style="margin:10px 0 0 100px" />')
					swfobject.embedSWF(contentHref, "flashPlayer", "480", "400", "9", "expressInstall.swf", {url:xmlpath}, {allowFullScreen:"true",wmode:"transparent"}, {})
					jQuery.ajax({
						type: "POST",
						url: "infopanel.cfm?vid="+itemId,
						data: {page: '2'},
						success:function(data){
							jQuery("#infopanel").html(data)
						}
					})
				}
				return false;
			}
		})
	})
*/
	
	//poscasting
	
	if(document.getElementById("podcast")){
		var $podcast = jQuery("#podcast");
		if($podcast.is("a")){
			$podcast.hide();
			jQuery('<div id="podcastplayer"></div><div id="player_container"><ul id="player_controls"><li id="player_play">play</li><li id="player_pause">pause</li><li id="player_stop">stop</li><li id="player_volume_min">min volume</li><li id="player_volume_max">max volume</li></ul><div id="player_progress"><div id="player_progress_load_bar"><div id="player_progress_play_bar"></div></div></div><div id="player_volume_bar"><div id="player_volume_bar_value"></div></div><div id="player_playlist_message"><div id="song_title"></div><div id="play_time"></div><div id="total_time"></div></div></div>').insertAfter($podcast)
			jQuery("#podcastplayer").jPlayer({
				ready: function () {
					jQuery(this).setFile($podcast.attr("href"));
				},
				swfPath:'/images',
				volume: 50,
				oggSupport: false
			})
			.jPlayerId("play", "player_play")
			.jPlayerId("pause", "player_pause")
			.jPlayerId("stop", "player_stop")
			.jPlayerId("loadBar", "player_progress_load_bar")
			.jPlayerId("playBar", "player_progress_play_bar")
			.jPlayerId("volumeMin", "player_volume_min")
			.jPlayerId("volumeMax", "player_volume_max")
			.jPlayerId("volumeBar", "player_volume_bar")
			.jPlayerId("volumeBarValue", "player_volume_bar_value")
			.onProgressChange( function(loadPercent, playedPercentRelative, playedPercentAbsolute, playedTime, totalTime) {
				var myPlayedTime = new Date(playedTime);
				var ptMin = (myPlayedTime.getUTCMinutes() < 10) ? "0" + myPlayedTime.getUTCMinutes() : myPlayedTime.getUTCMinutes();
				var ptSec = (myPlayedTime.getUTCSeconds() < 10) ? "0" + myPlayedTime.getUTCSeconds() : myPlayedTime.getUTCSeconds();
				jQuery("#play_time").text(ptMin+":"+ptSec);
		
				var myTotalTime = new Date(totalTime);
				var ttMin = (myTotalTime.getUTCMinutes() < 10) ? "0" + myTotalTime.getUTCMinutes() : myTotalTime.getUTCMinutes();
				var ttSec = (myTotalTime.getUTCSeconds() < 10) ? "0" + myTotalTime.getUTCSeconds() : myTotalTime.getUTCSeconds();
				jQuery("#total_time").text(ttMin+":"+ttSec);
			});
		}
	}
	
	//code for ajaxing optins - added by MDW 1/15/2009
	
	if(document.getElementById("ajaxoptins")){
		var $ajaxoptins = jQuery("#ajaxoptins");
		var $optinsform = $ajaxoptins.find("form");
		var $customquestiondiv = jQuery("div.custom-question",$ajaxoptins);
		$optinsform.submit(function(){
			jQuery("div.submit",$ajaxoptins).remove();
			var optinsarr=[];
			jQuery("input[name=newsletterID]",$optinsform).each(function(){
				if(jQuery(this).is(":checked")){
					optinsarr.push(jQuery(this).val());
				}
			});
			var dataobjpass={};
			dataobjpass.newsletterID=optinsarr.join(",");
			jQuery("input[type=hidden]",$optinsform).each(function(){
				dataobjpass[jQuery(this).attr("name")]=jQuery(this).val();
			});
			$ajaxoptins.html('<img src="'+STATIC_ASSET_DOMAIN+'/images/forms/anim-loading.gif" />');
			jQuery.ajax({
				data: dataobjpass,
				type: 'POST',
				url: $optinsform.attr("action"),
				success: function(data){
				},
				error: function(){
/* 					$ajaxoptins.html('<h2>Sorry.</h2><p>There was an error signing up for enews subscriptions.</p>') */
				}
			});
			$ajaxoptins.html('<h2>Thank you.</h2><p>You have successfully signed up for eNews subscriptions. You will begin to receive the requested eNews subscription from Mentor Graphics.</p> <p>If you have any questions or would like to speak to a Mentor representative, please contact us at: <a href="mailto:sales_info@mentor.com">sales_info@mentor.com</a> or <strong>call 800-547-3000</strong>.</p>');
			return false;
		});
	}
	

	jQuery("li#products a:first span").bind("click.flyout",function(){
		var $productsclick = jQuery(this);
		var $flyout=jQuery("#flyout");																	//create reference to flyout div
		$productsclick.parent("a").addClass("products-toggled").end().addClass("products-toggled");
		$flyout.css({																			//set position because of firefox bug of 0,0
			top:'32px',
			left: '78px',
			position: 'absolute'
		});
		$flyout.show("blind",{duration:200});											//animate the opening of the flyout
		$flyout.html('<img src="'+STATIC_ASSET_DOMAIN+'/images/anim-loading.gif" class="loading" />');
		jQuery.ajax({
			url: '/products/flyout',
			success: function(data){
				//product flyout
				var $innerdiv = jQuery('<div id="inner"></div>');
				$innerdiv[0].innerHTML=data;
				$flyout.html($innerdiv);
				if(jQuery.browser.msie){
					jQuery("#searchbox,select").hide();
				}
				$productsclick.unbind("click.flyout");
				$productsclick.toggle(function(e){
					jQuery(this).parent("a").removeClass("products-toggled").end().removeClass("products-toggled");
					jQuery("div.columns",$flyout).hide();													//hide the inner content
					jQuery("div#inner",$flyout).animate({width:"181px"},250,function(){$flyout.hide("blind",{duration:200});});
					if(jQuery.browser.msie){
						jQuery("#searchbox,select").show();
					}
					return false;
				},function(){
					jQuery(this).parent("a").addClass("products-toggled").end().addClass("products-toggled");
					$flyout.css({																			//set position because of firefox bug of 0,0
						top:'32px',
						left: '114px',
						position: 'absolute'
					});
					if(jQuery.browser.msie){
						jQuery("#searchbox,select").hide();
					}
					$flyout.show("blind",{duration:200});											//animate the opening of the flyout
					return false;
				}).hover(function(){
					jQuery(this).addClass("hover");
				},function(){
					jQuery(this).removeClass("hover");
				});
				var flyoutwidth=547;																			//create reference to expanded flyout width
				jQuery("#flyout ul:first > li").each(function(){												//for each li in the main ul in flyout
					var $currLi = jQuery(this);																	//create reference to current li 
					$currLi.hover(function(){																	//add hover on current li to use mouseenter
						jQuery("div.columns",$flyout).hide();													//hide all inner content
						if(jQuery("div#inner",$flyout).width()<flyoutwidth){									//if the inner content is not expanded out
							jQuery("div#inner",$flyout).animate({												//animate the expansion
								width:flyoutwidth+"px"
							},250);
						}
						jQuery("div.columns",$currLi).show();													//show the inner content
					},function(){});
				});
				jQuery("div.columns a.close",$flyout).click(function(){
					$productsclick.trigger("click");
					return false;
				});	
		
			}
		});
		return false;
	});
/*
	jQuery("div.mm div.npbuttons").each(function(){
		var $npbuttons=jQuery(this);
		var $nav = $npbuttons.find("div.navigation")
		var currpage;
		var $pagelinks = jQuery("div.pages a,div.pages span",$nav);
		$pagelinks.each(function(){
			jQuery(this).data("pageGo",parseInt(jQuery(this).text(),10)).data("linktype","page");
			if(jQuery(this).is("span")){
				currpage=parseInt(jQuery(this).text(),10)
			}
		})
		var pages = $pagelinks.length
		$npbuttons.bind("click.npbuttons",function(e,tgt){
			var $target = jQuery(tgt || e.target);
			if($target.is("a")){
				var $linkclicked = $target;
				var $prevbutton = $npbuttons.find("a.previous").data("linktype","previous")
				var $nextbutton = $npbuttons.find("a.next").data("linktype","next")
				var $currpagedisplay =  jQuery("span",$nav);
				var $newlink = jQuery('<a>'+$currpagedisplay.text()+'</a>')
				$newlink.data("pageGo",parseInt($currpagedisplay.text(),10)).data("linktype","page")
				if(parseInt($currpagedisplay.text(),10)===pages){
					$newlink.addClass("last")				
				}
				$currpagedisplay.replaceWith($newlink)
				
				var linkpage=parseInt($linkclicked.data("pageGo"),10)
				var newpage,buttonclicked
				var prevcreated=false;
				if($linkclicked.data("linktype")==="next"){
					$npbuttons.trigger("click.npbuttons",[$nav.find("a:contains("+(parseInt($currpagedisplay.text(),10)+1)+")")])
					return false;
				}
				if($linkclicked.data("linktype")==="previous"){
					$npbuttons.trigger("click.npbuttons",[$nav.find("a:contains("+(parseInt($currpagedisplay.text(),10)-1)+")")])
					return false;
				}
				if(linkpage===1){
					$prevbutton.hide()
				}
				if(linkpage===pages){
					$nextbutton.hide()
				}
				if(linkpage<pages){
					$nextbutton.show()
				}
				if(linkpage>1){
					if($prevbutton.length===0){
						jQuery('<a class="previous npbutton" href="embedded-mm.cfm">Previous</a>').prependTo($nav)
					}else{
						$prevbutton.show()
					}
				}			
				if($target.data("linktype")==="page"){
					var $newspan = jQuery('<span>'+$target.text()+'</span>')
					$newspan.data("pageGo",parseInt($target.text(),10)).data("linktype","page")
					$target.replaceWith($newspan)
				}
				$npbuttons.prev("div.multimediarows").html('<img src="/images/anim-loading-dark.gif" style="margin:10px 0 0 410px" />')
				jQuery.ajax({
					type: "POST",
					url: "thumbnails.cfm",
					data: {page: linkpage},
					success:function(data){
						$npbuttons.prev("div.multimediarows").html(data)
					}
				})
				return false;
			}	
		})
	})*/
	
	
	
/*	.click(function(){
		var $this = jQuery(this)
		var nextpage = "ss"
	})
*/


//product hierarchy
	// cull the last segment if it's a dash-separated-title-with-EMAID or dash-separated-design-task-with-UUID name
	if (pageurlbase.match(/.*-[0-9]+\/?$/) || pageurlbase.match(/.*-[a-fA-F0-9]+-(dt|ph)\/?$/)) {
		var parts = pageurlbase.split("/");
		delete parts[parts.length - 1];
		pageurlbase = parts.join("/");
	}
	if (pageurlbase.substr(pageurlbase.length - 1) != "/") {
		pageurlbase += "/";
	}
	if(!document.getElementById("gridpage")){
		jQuery("#tpselector").change(function(){			
			tpstring = pageurlbase + jQuery("option:selected", this).text().toLowerCase().replace(/[^a-z0-9]+/g, "-") + "-" + jQuery(this).val() + "-dt";
			if(phvalues.resultsPerPage){
				tpstring += "?resultsPerPage=" + phvalues.resultsPerPage;
			}
			window.location.href=tpstring;
		});
	}
	if(phvalues.expanded){
		if(phvalues.expanded=='yes'){
			jQuery("div.request a.abstracttoggler").trigger("click");
		}
	}
	jQuery("#phselector").change(function(){
		doFilter = (jQuery("option:selected", this).val() !== "");		
		var resourcestring =  doFilter ? pageurlbase + jQuery("option:selected", this).text().toLowerCase().replace(/[^a-z0-9]+/g, "-") + "-" + jQuery(this).val() + "-ph" : "";
		if(phvalues.resultsPerPage){
			resourcestring += "?resultsPerPage=" + phvalues.resultsPerPage;
		}		
		if(doFilter){
			window.location.href = resourcestring;
		}
	});
	
	jQuery("#changeemail").click(function(){
		jQuery("#email").attr("disabled",false).parents("div.disabled").removeClass("disabled");
		jQuery("#changeemailbutton").attr("disabled",false);
		return false;
	});
	
	//preload images
	var preimages = [];
	preimages.push('/images/bg-nav-hover-ul.gif');
	preimages.push('/images/bg-nav-hover-left-lg.png');
	preimages.push('/images/bg-nav-hover-right-lg.png');
	preimages.push('/images/bg-nav-hover-right-lg.gif');
	preimages.push('/images/lightbox/tl.png');
	preimages.push('/images/lightbox/tm.png');
	preimages.push('/images/lightbox/tr.png');
	preimages.push('/images/lightbox/ml.png');
	preimages.push('/images/lightbox/mr.png');
	preimages.push('/images/lightbox/bl.png');
	preimages.push('/images/lightbox/bm.png');
	preimages.push('/images/lightbox/br.png');
	preimages.push('/images/lightbox/tl.gif');
	preimages.push('/images/lightbox/tm.gif');
	preimages.push('/images/lightbox/tr.gif');
	preimages.push('/images/lightbox/ml.gif');
	preimages.push('/images/lightbox/mr.gif');
	preimages.push('/images/lightbox/bl.gif');
	preimages.push('/images/lightbox/bm.gif');
	preimages.push('/images/lightbox/br.gif');
	preimages.push('/images/bg-zoom.gif');
	preimages.push('/images/bg-zoom.png');
	preimages.push('/images/bg-resource-drop-top.png');
	preimages.push('/images/bg-resource-drop-top.gif');
	preimages.push('/images/bg-nav-expand-hover.gif');
	
	jQuery.each(preimages,function(i,n){
		var $image=jQuery("<img />");
		$image.attr("src",STATIC_ASSET_DOMAIN+n);
		$image.remove();
	});
	
	//CLUETIP - added by MDW 3/9/2009
	jQuery('a.cluetip').cluetip({
		cluetipClass: 'jtip', 
		arrows: true, 
		local:true, 
		cursor: 'pointer',
		dropShadow: false,
		hoverIntent: false,
		sticky: true,
		mouseOutClose: true,
		closePosition: 'title',
		closeText: 'Close',
		positionBy: 'bottomTop',
		context: false,
		activation:"click"
	});
	
	jQuery("a.printbutton").live("click",function(){
		window.print();
		return false;
	});
	
	//flopack account usercheck
	jQuery("#id_username_flopack").keyup(function(){
		var $this = jQuery(this);
		var thisval = $this.val();
		var thisvallen = thisval.length;
		var isbadusername=true;
		var $target = jQuery("#id_username_flopack_target");
		$target.css({
			'background-repeat': 'no-repeat', 
			'background-position': 'center center',
			width: '50%'
		});
		var updateusercheck=function(stateness){
			if(stateness){
				$this.addClass("mgc_invalidvalue").removeClass("mgc_validvalue");
				$target.css('background-image','url(/images/bg-username-unavailable.png)');
			}else{
				$this.addClass("mgc_validvalue").removeClass("mgc_invalidvalue");
				$target.css({
					'background-image': 'url(/images/bg-username-available.png)'
				});
			}
		};
		if(thisvallen>0){
			jQuery.ajax({
				url:'/apps/utilities/flopack/check_username.cfm',
				data:{username:thisval},
				port:'usercheck',
				mode:'abort',
				type: 'POST',
				success: function(data){
					if(jQuery.trim(data)==='true'){
						isbadusername=true;
					}else{
						isbadusername=false;
					}
					updateusercheck(isbadusername);
				}
			});
		}else{
			updateusercheck(true);
		}
	});
	jQuery("a#decrufter").toggle(function(){
		jQuery(this).addClass("decrufted");
		jQuery("div.cruft").hide();
		return false;
	},function(){
		jQuery(this).removeClass("decrufted");
		jQuery("div.cruft").show();
		return false;
	});
	jQuery("#encrufter").live("click",function(){
		jQuery("#encruft").toggle();
		jQuery(".encruft").toggle();
		jQuery(this).toggleClass("toggle-expanded");
		return false;
	});
	
	
	//image fader
	jQuery("div.imagefader").each(function(){
		var $this = jQuery(this);
		var $imagedivs = $this.find("div.imagefaderimage");
		var numimages = $imagedivs.length;
		var currPanel=1;
		var rotateSpeed = $this.attr("rel")?parseInt($this.attr("rel"),10):0;
		var $firstImage = $imagedivs.eq(0).show();
		$this.height($firstImage.height());
		var removeFilter=function(element) {
			if(element.style.removeAttribute){
				element.style.removeAttribute('filter');
			}
		}
		var changeimage = function(i){
            jQuery('div.imagefaderimage:visible',$this).fadeOut("normal");
		    $imagedivs.eq(i).fadeIn("normal", function() {
				removeFilter(jQuery(this)[0]);
			});
		}
		var rotateit = function(){
			if(currPanel===numimages){
				currPanel=1;
			}else{
				currPanel++;
			}
			changeimage(currPanel-1);
		}
		var rotateInterval = setInterval(rotateit,rotateSpeed);
	});

});


//COOKIE FUNCTIONS
var createCookie = function(name,value,days){
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}else{
		var expires = "";
	}
	document.cookie = name+"="+value+expires+"; path=/";
};
var readCookie = function(name){
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
};
var eraseCookie = function(name){
	createCookie(name,"",-1);
};

var getquerystring = function(url){
	var argsplit = url.split("?");
	var urlbase = argsplit[0];
	var argvalues={};
	if(argsplit.length>1&&argsplit[1]!==''){
		var querystring = argsplit[1];
		var urlarray = querystring.split("&");
		jQuery.each(urlarray, function(i,n){
			var tempval = n.split("=");
			if(tempval.length>1){
				argvalues[tempval[0]]=tempval[1];
			}
		});
		return argvalues;
	}else{
		return false;
	}
};
function MGC_winOpen(url, name, features) { 
	winChild = window.open(url, name, features);
	winChild.focus();
	return winChild;
}

