var page, url, top, sub1, sub2, gnid;

//top
var topObjOpen = new Object;
var topObjClosed = new Object;

//sub section 1
var sub1ObjOpen = new Object;
var sub1ObjOpen = new Object;

var sub2ObjOpen = new Object;
var sub2ObjOpen = new Object;


function leftNavSet() {
	/*
	Name files as top_sub1_sub2_<variable> for full menu


	Files can also be named top_<var> or top_sub1_<var>, providing that the element <var> does not
	exist, only the valid object's will appear in the menu. 

	top and sub1 both need an On and Off state, which is in addition to the display: block/none
	
	*/
	var t;
	url = window.location.href;
	page = url.slice((url.lastIndexOf('/')+1),url.lastIndexOf('.'));

	t = page.indexOf('_');
	if (!top || top.length<1)
		top = (t>0)?page.slice(0,t) : page;

	t=page.indexOf('_',top.length+1);

	if (!sub1 || sub1.length<1)	
		sub1 = (t>0) ? page.slice(top.length+1,t) : page.slice(top.length+1);

	if (!sub2 || sub2.length<1) {
		sub2 = page.slice(sub1.length+top.length+2,(page.lastIndexOf('_')));
		if (!sub2)
			sub2 = page.slice(sub1.length+top.length+2);
	}

	topObjOpen = document.getElementById(top + 'Open');
	topObjClosed = document.getElementById(top + 'Closed');	

	if (sub1.length>0 && topObjOpen && topObjClosed) { //Top menu is open, sub menu 1 is too
		sub1ObjOpen = document.getElementById(top + '_' + sub1 + 'Open');
		sub1ObjClosed = document.getElementById(top + '_' + sub1 + 'Closed');
		
		topObjOpen.style.display="block";
		topObjClosed.style.display="none";
		topObjOpen.firstChild.className='topSelectedOff';  //Submenu is open, so turn off the top menu

		if (sub1ObjOpen && sub1ObjClosed) { 	//Submenu 1 is valid
        	        sub2ObjOpen = document.getElementById(top + '_' + sub1 + '_' + sub2);
			
			sub1ObjOpen.style.display="block";
			sub1ObjClosed.style.display="none"

			if (!sub2ObjOpen) {		//No Submenu 2, submenu 1 is open and on
				sub1ObjOpen.firstChild.className='subSelected';
			}
			else {			//Submenu 2 is open, submenu 1 is now open, but off

				sub1ObjOpen.firstChild.className='subSelectedOff';
				if (sub2ObjOpen)
					sub2ObjOpen.className="on";
			}
		}
	}
	else {		//Only the top menu is open, nothing else.
		if (topObjOpen && topObjClosed) { 
			topObjOpen.style.display="block";
			topObjClosed.style.display="none";
		}
	}
}


function topNavSet() {
	if (!gnid) {
		url = window.location.href;
		gnid = url.slice(0,url.lastIndexOf('/'));
		gnid = gnid.slice(gnid.lastIndexOf('/')+1);
	}
	var gntarget = document.getElementById('gn' + gnid);
	if (gntarget) 
		gntarget.className="here";
}


function navset() {
	topNavSet();
	leftNavSet();
}


function imgWindow(that) {
	return false; 
	window.setTimeout(function() { 
		jQuery(that).fancybox().trigger('click');
	}, 200);
	return false;
	var imgurl,imgsrc;
	if (that.href) { 
		imgsrc = that.href;
		//imgurl = imgsrc.slice(imgsrc.indexOf('/','8')+1,imgsrc.lastIndexOf('_')) + imgsrc.slice(imgsrc.lastIndexOf('.'));
		imgurl = imgsrc.slice(imgsrc.indexOf('/','8')+1);
	}
	else imgurl = that;
	window.open("/imgwindow.php?src=" + imgurl,"imgWindow","toolbar=0,status=0,location=0,resizable=1,scrollbars=auto,width=640,height=480");
	return false;
}


/******
 *	Primary Navigation
*/

var primaryNavOff = new Array();
var primaryNavOn  = new Array();
var primaryNavImages = new Array('gnhome','gnproducts','gnrfid','gncase_studies','gnnews','gnmedia','gncompany');

jQuery(function() { 
	var c,t,obj;
	
	for(c=0;c<=primaryNavImages.length;c++) { 
		t=primaryNavImages[c];
		if (t) { 
			primaryNavOff[t] = new Image();
			primaryNavOff[t].src = 'images/primarynav/' + navPathLang + primaryNavImages[c] + '-Off.jpg';
			primaryNavOn[t]  = new Image();
			primaryNavOn[t].src = 'images/primarynav/'  + navPathLang + primaryNavImages[c] + '-On.jpg';
		}
	} //End for
});


function swapImageOn(that) { 
	that.src = primaryNavOn[that.id].src;
	that.style.cursor='pointer';
}
function swapImageOff(that) { 
	if (that.id!=myNav)
		that.src = primaryNavOff[that.id].src;
}

jQuery(function() { 
	jQuery('#gntop li img').hover(function() {
		swapImageOn(this);
	}, function() {
		swapImageOff(this);
	});
}); 








//Photos & schematrics lightboxes
jQuery(function() { 


		if ( document.getElementById('photoSchematics') ) { 
			//jQuery('#photoSchematics a').attr('rel', 'gallery').fancybox(); 
			var items = jQuery('#photoSchematics a');
			var total = $j(items).size(); 
			var c = 1;
			$j(items).each(function() { 
				var title = "Image " + c++ + " of " + total;
				$j(this).attr({
					'rel' : 'gallery', 
					'title' : title
				}).fancybox(); 
				
			}); 
		}
		
		//Ajaxify the iframe links just before the click
		jQuery('.fancybox-iframe[href^="/"]').click(function() {
			jQuery(this).attr('original_href', jQuery(this).attr('href') );
			jQuery(this).attr('href' , jQuery(this).attr('href') + '/iframe');

		});
		
		var height = jQuery(window).height();
		height = ( height < 400 ) ? 400 : height - 100;
		
		try { 
				jQuery('.fancybox-iframe[href^="/"]').fancybox({
					type		:	'iframe',
					width		:	800, 
					height		:	height,
					onCleanup  : function(a) {
						//Restore the original (non-ajax) link
						jQuery(a).attr('href' , jQuery(a).attr('original_href') );
					}		
				
				});
		
		} catch (e) { } 
		
		
		//Normal fancybox
		try { 
			jQuery('.fancybox').fancybox();
		} catch(e) { } 
	
	
}); 




function setInstructions(id) { 
	var obj;
	if ((obj=document.getElementById('instructionsDiv')) && instructionsText[id])
		obj.innerHTML=instructionsText[id];
}


function vidSelect(x) {
	var so = new SWFObject("media/vids/vidPlayer.swf","DAIFUKU_VIDEO","320","280","8");
	so.addVariable("vidPath",x);
	so.write("vidBrick");	
}


function showItem(a,b,c) {
	for(d=1; d<=c; d++) {
		e = a+d;
		if (b == d) {
				document.getElementById(e).style.display="block";
		}
		else {
				document.getElementById(e).style.display="none";
		}
	}
}


function showImage(f,g) {
	h = f+g;
	document.getElementById("newsletterHeaderImg").src=h;
}


function getURLVar(urlVarName)
{
	var urlHalves = String(document.location).split('?');
	var urlVarValue = '';
	if(urlHalves[1])
	{
		var urlVars = urlHalves[1].split('&');
		for(i=0; i<=(urlVars.length); i++)
		{
			if(urlVars[i])
			{
				var urlVarPair = urlVars[i].split('=');
				if (urlVarPair[0] && urlVarPair[0] == urlVarName)
				{
					urlVarValue = urlVarPair[1];
				}
			}
		}
	}
	return urlVarValue;   
}

function random_string(string_length) {
	var chrs = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
	var random = '';
	for (var i=0; i<string_length; i++) {
		var num = Math.floor(Math.random() * chrs.length);
		random += chrs.substring(num,num+1);
	}
	return random; 
}



/* White paper download for quiz at products/3 */
$j(document).ready(function() {

	//No cookie handling messages
	var cookies_message_title = '<b>Cookies are not enabled.</b>  Without cookies, this form may not function properly.<br /><br /> If you\'ve already completed this form, please ';
	var cookies_message_link = 'click here to start your download.';

	//Test for cookies
	var cookies_enabled = true;
	var c_id = random_string(16);
	var c_val = random_string(16); 
	$j.cookie(c_id, c_val); 
	if ($j.cookie(c_id) != c_val) {
		cookies_enabled = false; 
	} 
	else { 
		//Delete the cookie
		$j.cookie(c_id , '', {expires:-1});
	}


	var download_wp_state = false; 
/*
	var download_wp_html = ' 															\
		<div class="download_wp_form" style="visibility:hidden;">							\
			<h3 style="font-size:95%;font-weight:normal;">Please complete the following information to continue:</h3>				\
			<form id="download_wp" name="download_wp" action="inc/ajcb_user.php" method="POST">				 														\
			<input type="hidden" name="cbfunc" value="save_quiz_contact" />				\
			<table>																		\
				<tr>																	\
					<td><span class="req">*</span>Name:</td><td><input type="text" name="wpd_name" /></td>		\
				</tr><tr>																\
					<td><span class="req">*</span>Company:</td><td><input type="text" name="wpd_company" /></td>	\
				</tr><tr>																\
					<td><span class="req">*</span>Email:</td><td><input type="text" name="wpd_email" /></td>		\
				</tr><tr>																\
					<td><span class="req">*</span>Phone:</td><td><input type="text" name="wpd_phone" /></td>		\
				</tr><tr>																\
					<td>Address:</td><td><input type="text" name="wpd_address" /></td>	\
				</tr><tr>																	\
					<td colspan="2"><input type="submit" class="submit" value="Download Whitepaper" /></td>	\
				</tr>																		\
			</table>																	\
			<p style="padding:0;font-size:80%;">(<span class="req">*</span>) Denotes required field</p>					\
		</div>																			\
	';  
*/
	$j('a.download_wp').click(function() {
		$j('input[name="wpd_product"]').val( $j(this).attr('href') );

		//Form has already been completed, do not display
		//if ( $j(this).hasClass('wp_contact_form_completed') )
		if ( $j.cookie('wp_contact_form_completed') == 1 )
			return; 

		if (download_wp_state == false) { 
//			$j(this).parent().parent().after(download_wp_html); 
			$j('.download_wp_form').css('display','none').css('visibility','visible');
			center_wp_form(this);

			//This works good in everything but IE, it wont' attach to parent properly
			//So only do it if we have multiple download links
			//$j('.download_wp_form').appendTo( $j(this).parent() ).slideDown();
			if ( $j(this).hasClass('wp_form_multi') ) {
				$j('.download_wp_form').appendTo( $j(this).parent() )	
			}
			$j('.download_wp_form').slideDown();

			download_wp_state = true; 
			download_wp_attach_validator( $j(this).attr('href') );
			$j(this).addClass('download_wp_form_expanded');

		} else {
			if ( $j(this).hasClass('download_wp_form_expanded') ) {
				//Re-click
				$j('.download_wp_form').slideToggle();

			} else { 
				//New click
				center_wp_form(this);
				$j('.download_wp_form_expanded').removeClass('download_wp_form_expanded');
				$j('.download_wp_form').hide().slideUp('fast' , function() {});
				$j('.download_wp_form').appendTo( $j(this).parent() ).slideToggle();
				$j(this).addClass('download_wp_form_expanded');
				
			}
			
		}
		return false;
	}); 
	
	
	function center_wp_form(that) { 
		if (! $j(that).hasClass('center_wp_form') )
			return false;
			
		var f = $j('.download_wp_form'); 
		var left = $j(that).offset().left; 
		var top = $j(that).offset().top + $j(that).height()+5; 
		$j(f).css({ 'left':left+'px' , 'top':top+'px' });
		return true;
	}

	function download_wp_attach_validator(href) {
		if (cookies_enabled == false) { 
			var cookies_message = '<br /><p>' + cookies_message_title + '<a class="purple" href="' + href + '" target="_blank">' + cookies_message_link + '</a></p>';
			$j('.download_wp_form').append(cookies_message);
		}

		
	
		$j('.download_wp_form form').validate({
			rules: {
				wpd_name: { required: true },
				wpd_company: { required: true },
				wpd_email: { required: true , email: true },
				wpd_phone: { required: true }
			},
			messages: {
				wpd_name: 'Please enter your name.', 
				wpd_company: 'Please enter your company name.', 
				wpd_email: 'Please enter a valid email address.',
				wpd_phone: 'Please enter your phone number.'
			},
			submitHandler: function(form) {
				if (jQuery.url.attr('directory') == '/quiz') { 
					try { 
						pageTracker._trackPageview( '/whitepapers/AS/RS' ); 
					} catch(e) { }
				}
				
				$j(form).ajaxSubmit({
					success: function(a) { 
						
						if ($j.browser.msie == true) 
							window.open(href , '_BLANK');
						else 
							window.location = href;//'/whitepapers/AS/RS';

						if ( $j('form#download_wp').hasClass('wp_single_submit') ) {
							//$j('a.download_wp').addClass('wp_contact_form_completed');
							$j.cookie('wp_contact_form_completed' , '1' , {expires:60});
						}
						$j('.download_wp_form').slideUp('fast' , function() {});



						
						return false; 
					}
				}); 
			
				
				return false;
			}
		}); 
	}
//	console.log( jQuery.url.attr('directory').substr(0,5) );
	if (jQuery.url.attr('directory').substr(0,5) == '/quiz') { 
		$j('a.qzs_track').each(function() {
			if ( !$j(this).hasClass('download_wp') && !$j(this).hasClass('qzs_col') ) { 
				$j(this).attr('href' , $j(this).attr('href') + '?quiz_redir=1'); 
			} else {	//wp download
//				pageTracker._trackPageview( $j(this).attr('href') );
				
			}
		}); 
		
	}


	//Setup mbOpen for multibox to call when opening content
	var mbOpen = function(id) {
		var mid = jQuery('div#mb_videos ul#mb_videos_type_tabs li.ui-tabs-selected').attr('id');
		var vid = id;
		var page = "/video/"+mid+"/"+vid;
		if ( !mid ) { 
			var page = '/video/' + vid;
		}

		//Google analytics tracking
		try { 
			pageTracker._trackPageview(page);
		} 
		catch(err) {}

	};

	//Initialize multibox
	box = new MultiBox(
		'mb', {
			descClassName: 'multiBoxDesc', 
			useOverlay: true, 
			showNumbers: false,
			showControls: true,
			openFromLink: true,
			contentColor: '#FFF', 
			onOpen: mbOpen
		}
	);


/*
	try { 
		//Add play button for vidoes in products section
		$j('.newVidBrick .video_img').each(function() {
			var h = $j('img', this).height(); 
			var w = $j('img', this).width(); 
			
			
			var o = $j('img', this).offset(); 
	
			//Pixel is 32x32
			var t = h/2 - 16 + o.top;

			var id = $j(this).find("a.mb").attr("id");
		
			$j('<a class="video_play_button"/>').css({
				'position':'absolute',
				'top': t + 'px',
				'width': w + 'px', 
				'left': o.left
			}).attr({
				'href':'javascript:void(0);'
			}).bind('click',function() {
				//Open the sibling's multibox on click

				mbopen(id);
				return false;			
				
			}).appendTo(this);
		}); 
	} catch(e) { } 
*/

	$j('.newVidBrick .video_img img').each(function() {
		this.onload = function() {
			var h = $j(this).height(); 
			var w = 33;//$j(this).width(); 
			
			
			var o = $j(this).offset(); 
	
			//Pixel is 32x32
			var t = h/2 - 16 + o.top;
			var l = o.left + ( $j(this).width() / 2 - 16 );

			var parent = $j(this).parents("a.mb");
			var id = $j(parent).attr("id").toString();
			
			var sel = '#' + id;
			$j(sel).hover(function() {

			}, function() {

			}); 
			var playid = 'play-btn-' + id;
			
			var play = $j('<div class="video_play_button"/>').css({
				'position':'absolute',
				'top': t,
				'width': w, 
				'left': l, 
				'id' : playid
			}).hide()
			.bind('click',function() {
				//Open the sibling's multibox on click
				mbopen(id);
				return false;			
				
			});//.appendTo( $j(this).parents('.video_img') );
			
			if ( jQuery.browser.msie == true ) { 
//				var pos = document.getElementById(playid);
//				pos.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true',src='/images/misc/playicon.png', sizingMethod='scale')";
			}



			
			$j(play).data('parent', parent);
			$j(parent).data('play', play);
			
//			play.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/images/misc/playicon.png', sizingMethod='scale')";
			
			$j(play).appendTo( $j(this).parents('.video_img') );
			
			$j(parent).hover(function(e) {
				//Hide any play buttons that did not close properly
				$j('.video_play_button:visible').not( $j(this).data('play') ).stop(true,true).hide();
				$j(this).data('play').fadeIn();
			
			}, function(e) {
				var play = $j(this).data('play');
				var img = $j(this).find('img');
				
			if ( mouse_over_item(e, img) == false ) { 
					$j(play).stop(true,true).fadeOut();
				}
			}); 
			
		}; 
		this.src = this.src + '?rand=' + Math.random();
		
	}); //end each video image

	
	


}); //End document ready


function mouse_over_item(e, that) { 
	var w = $j(that).width();
	var h = $j(that).height();
	var t = $j(that).offset().top;
	var l = $j(that).offset().left;							
	
	//Prevent the closing if we're still 'inside' the image
	//This is for title functionality
	return (
			e.pageX >= l
			&& e.pageX <= l+w
			&& e.pageY >= t
			&& e.pageY <= t+h
	);

}





/**
*   Multibox open
*	Multibox needs to be passed the A element 
*	This function opens based on the ID
*
*	@param vid The box id
*	@returns null
**/
function mbopen(vid) { 
	if (document.getElementById(vid)) {
		var elm = document.getElementById(vid);
		box.open(elm);
	}
	return false;
}

function reset_scroll() { 
		jQuery('div#OverlayContainer').css('height','auto');
		height=jQuery(document).height();
		jQuery('div#OverlayContainer').css('height',height+"px");
		//window.alert(height);
}





