// iframe location if it is not already set on the page
gn_iframe = 'http://cache.vzw.com/scripts/globalnav/blank.html';

// the image directory
lib_img_dir = '/i/';

function pb_init(id,amount,yellow) {	
	var bar = $(id);
	var r_g_y = 'green';
	
	if (amount>=90)
	{
		var r_g_y = 'red';
	}

	if (yellow==true)
	{
		var r_g_y = 'yellow';
	}

	var pixels = Math.round(((amount*.01)*185));

	var meter = $('.percentage_bar_amount',bar);
	
	meter.removeClass('percentage_bar_amount');
	meter.addClass('percentage_bar_'+r_g_y);
	
	var reveal = new Fx.Morph(meter, {
		duration: 1000,
		transition: Fx.Transitions.Quad.easeOut,
		wait: true,
		fps: 24
	});
	
	reveal.start({
		'width': [0,pixels],
		'opacity': [0,1]
	});
}

function tg_init(togglers_name,toggleds_name,active,track) {
	var preload = new Array();

	var togglers = $$('.'+togglers_name);
	
	var toggleds = $$('.'+toggleds_name);

	togglers.each(function(toggler,index) {
		var active_content = toggleds[index];

		if (toggler.tagName=='IMG')
		{
			toggler.addEvents({
				'click':  function() {
					if (active==true)
					{
						var handlers = $$('.'+togglers_name);
						handlers.each(function(handler) {
							var source = handler.src;
							if (source.match('_active'))
							{
								var newSource = source.replace(/_active/, '_off');
								handler.src = newSource;
							}
						});

						var source = toggler.src;
						var newSource = source.replace(/_on/, '_active');
						toggler.src = newSource;
					}
					
					var contents = $$('.'+toggleds_name);
					contents.each(function(content) {
						content.addClass('hidden');
						content.removeClass('visible');
					});

					active_content.removeClass('hidden');
					active_content.addClass('visible');
					
					if (track==true && toggler.id!='')
					{
						if (window._hbLink)
						{
							_hbLink(toggler.id);
						}
					}
				}
			});

			preload[index] = new Image();
			var newSource = toggler.src.replace(/_off/, '_active');
			preload[index].src = newSource;
		}
		else
		{
			if (toggler.hasClass('active'))
			{
				toggler.removeClass('active');
				toggler.removeClass(togglers_name);
				toggler.addClass(togglers_name+'_active');	
			}

			toggler.addEvents({
				'click':  function() {
					var handlers = $$('.'+togglers_name+'_active');
					handlers.each(function(handler) {
						handler.removeClass(togglers_name+'_active');
						handler.addClass(togglers_name);
					});

					toggler.removeClass(togglers_name);
					toggler.addClass(togglers_name+'_active');

					var contents = $$('.'+toggleds_name);
					contents.each(function(content,index) {
						content.addClass('hidden');
						content.removeClass('visible');
					});

					active_content.removeClass('hidden');
					active_content.addClass('visible');
					
					if (track==true && toggler.id!='')
					{
						if (window._hbLink)
						{
							_hbLink(toggler.id);
						}
					}
				}
			});
		}
	});
}

function ro_init() {
	var preload = new Array();

	for (i=0;i<arguments.length;i++)
	{
		var cl = arguments[i];
		var els = $$('.'+cl);
		els.each(function(el) {
			ro_add_el(el,cl);
		});
	}

	var els = $$('.rollover');
	els.each(function(el,index) {
		if (el.tagName == 'IMG')
		{
			preload[index] = new Image();
			var newSource = el.src.replace(/_off/, "_on");
			preload[index].src = newSource;
			ro_add_img(el);
		}
	});
	
	function ro_add_img(el) {
		el.addEvents({
			'mouseenter':  function() {
				var source = el.src;
				if (!(source.match("_active")))
				{
					var newSource = source.replace(/_off/, "_on");
					el.src = newSource;
				}
			},

			'mouseleave': function() {
				var source = el.src;
				if (!(source.match("_active")))
				{
					var newSource = source.replace(/_on/, "_off");
					el.src = newSource;
				}
			}
		});

		var pt = $(el.parentNode);

		if (pt.tagName == 'A')
		{
			pt.addEvents({
				'focus':  function() {
					var source = el.src;
					if (!(source.match("_active")))
					{
						var newSource = source.replace(/_off/, "_on");
						el.src = newSource;
					}
				},

				'blur': function() {
					var source = el.src;
					if (!(source.match("_active")))
					{
						var newSource = source.replace(/_on/, "_off");
						el.src = newSource;
					}
				}
			});
		}
	} 
		
	function ro_add_el(el,cl) {

		el.addEvents({
			'mouseenter':  function() {
				if (!(el.className.match("_active")))
				{
					el.removeClass(cl);
					el.addClass(cl+'_on');
				}
			},
			'mouseleave': function() {
				if (!(el.className.match("_active")))
				{
					el.removeClass(cl+'_on');
					el.addClass(cl);
				}
			},
			'focus':  function() {
				if (!(el.className.match("_active")))
				{	
					el.removeClass(cl);
					el.addClass(cl+'_on');
				}
			},
			'blur': function() {
				if (!(el.className.match("_active")))
				{
					el.removeClass(cl+'_on');
					el.addClass(cl);
				}
			}
		});
	}
}

function tt_init() {
	
	var bases = $$('.tooltip');
	var tips = $$('.tip');
	var tt_img_dir = lib_img_dir+'tooltips/';

	var body  = document.getElementsByTagName('body').item(0);
	var div = document.createElement('DIV');
	var div = $(div);
	div.id='tip_holder';
	div.style.left='-1000em';
	body.appendChild(div);

	var use_ishim=false;
	
	if (navigator.appVersion.indexOf("MSIE")!=-1) {
			try
			{
			document.execCommand("BackgroundImageCache", false, true); 
			}
			catch(err)
			{
			}
		tt_pngorgif = 'gif';
	}
	else
	{
		tt_pngorgif = 'png';
	}

	var temp=navigator.appVersion.split("MSIE")
	var version=parseFloat(temp[1])
	if (version>=6 && version<7)
	{
		use_ishim=true;
		body.insertAdjacentHTML('beforeEnd', '<iframe src="'+gn_iframe+'" id="tt_ishim" frameborder="0" scrolling="0" style="position:absolute;top:0;left:0;width:0;height:0;display:none;z-index:99;filter:progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0);"></iframe>');
	}

	var tbl = document.createElement('TABLE');
	tbl.setAttribute("cellpadding", "0");
	tbl.setAttribute("cellspacing", "0");
	tbl.setAttribute("border", "0");
	tbl.id='tip_table';
	div.appendChild(tbl);
	var tblbody = document.createElement('TBODY');
	tbl.appendChild(tblbody);

	var tr1 = document.createElement('TR');
	tblbody.appendChild(tr1);
	var tr2 = document.createElement('TR');
	tblbody.appendChild(tr2);
	var tr3 = document.createElement('TR');
	tblbody.appendChild(tr3);

	var td1 = document.createElement('TD');
	td1.setAttribute("align", "right");
	td1.setAttribute("valign", "bottom");
	var img1 = document.createElement('IMG');
	img1.src = tt_img_dir+tt_pngorgif+'/tile_top_left.'+tt_pngorgif;
	img1.style.width='15px';
	img1.style.height='15px';
	td1.appendChild(img1);
	tr1.appendChild(td1);

	var td2 = document.createElement('TD');
	td2.style.background = 'url('+tt_img_dir+tt_pngorgif+'/tile_top.'+tt_pngorgif+') repeat-x bottom left';
	var img2 = document.createElement('IMG');
	img2.src = tt_img_dir+'s.gif';
	td2.appendChild(img2);
	tr1.appendChild(td2);

	var td3 = document.createElement('TD');
	td3.setAttribute("align", "left");
	td3.setAttribute("valign", "bottom");
	var img3 = document.createElement('IMG');
	img3.src = tt_img_dir+tt_pngorgif+'/tile_top_right.'+tt_pngorgif;
	img3.style.width='15px';
	img3.style.height='15px';
	td3.appendChild(img3);
	tr1.appendChild(td3);

	var td4 = document.createElement('TD');
	td4.style.background = 'url('+tt_img_dir+tt_pngorgif+'/tile_left.'+tt_pngorgif+') repeat-y top right';
	var img4 = document.createElement('IMG');
	img4.src = tt_img_dir+'s.gif';
	td4.appendChild(img4);
	tr2.appendChild(td4);

	var td5 = document.createElement('TD');
	td5.id='tip_content';	
	tr2.appendChild(td5);

	var td6 = document.createElement('TD');
	td6.style.background = 'url('+tt_img_dir+tt_pngorgif+'/tile_right.'+tt_pngorgif+') repeat-y top left';
	var img6 = document.createElement('IMG');
	img6.src = tt_img_dir+'s.gif';
	td6.appendChild(img6);
	tr2.appendChild(td6);

	var td7 = document.createElement('TD');
	td7.setAttribute("align", "right");
	td7.setAttribute("valign", "top");
	var img7 = document.createElement('IMG');
	img7.src = tt_img_dir+tt_pngorgif+'/tile_bottom_left.'+tt_pngorgif;
	img7.style.width='15px';
	img7.style.height='15px';
	td7.appendChild(img7);
	tr3.appendChild(td7);

	var td8 = document.createElement('TD');
	td8.style.background = 'url('+tt_img_dir+tt_pngorgif+'/tile_bottom.'+tt_pngorgif+') repeat-x top left';
	var img8 = document.createElement('IMG');
	img8.src = tt_img_dir+'s.gif';
	td8.appendChild(img8);
	tr3.appendChild(td8);

	var td9 = document.createElement('TD');
	td9.setAttribute("align", "left");
	td9.setAttribute("valign", "top");
	var img9 = document.createElement('IMG');
	img9.src = tt_img_dir+tt_pngorgif+'/tile_bottom_right.'+tt_pngorgif;
	img9.style.width='15px';
	img9.style.height='15px';
	td9.appendChild(img9);
	tr3.appendChild(td9);

	var arrow_down = document.createElement('IMG');
	arrow_down.src=tt_img_dir+tt_pngorgif+'/carat_bottom.'+tt_pngorgif;
	div.appendChild(arrow_down);
	arrow_down.id = 'tt_arrow_down';
	arrow_down.style.position = 'absolute';
	arrow_down.style.display = 'block';
	arrow_down.style.bottom = '0';
	arrow_down.style.left='20px';

	var arrow_up = document.createElement('IMG');
	arrow_up.src=tt_img_dir+tt_pngorgif+'/carat_top.'+tt_pngorgif;
	div.appendChild(arrow_up);
	arrow_up.id = 'tt_arrow_up';
	arrow_up.style.position = 'absolute';
	arrow_up.style.display = 'block';
	arrow_up.style.top = '0';
	arrow_up.style.left='20px';

	var arrow_right = document.createElement('IMG');
	arrow_right.src=tt_img_dir+tt_pngorgif+'/carat_left.'+tt_pngorgif;
	div.appendChild(arrow_right);
	arrow_right.id = 'tt_arrow_right';
	arrow_right.style.position = 'absolute';
	arrow_right.style.display = 'block';
	arrow_right.style.left = '0';
	arrow_right.style.top = '20px';

	var arrow_left = document.createElement('IMG');
	arrow_left.src=tt_img_dir+tt_pngorgif+'/carat_right.'+tt_pngorgif;
	div.appendChild(arrow_left);
	arrow_left.id = 'tt_arrow_left';
	arrow_left.style.position = 'absolute';
	arrow_left.style.display = 'block';
	arrow_left.style.right = '0';
	arrow_left.style.top = '20px';

	tt_clear_arrows();

	function tt_ishim(show)
	{
		var ishim = $('tt_ishim');
		var tip_holder = $('tip_holder');
		if(show==true && use_ishim==true)
		{	
			ishim.style.display = 'block';
			var div_pos = tip_holder.getCoordinates();
			ishim.style.width = div_pos.width;
			ishim.style.height = div_pos.height;
			ishim.style.top = div_pos.top;
			ishim.style.left = div_pos.left;
		}
		
		if (show==false && use_ishim==true)
		{
			ishim.style.display = 'none';
		}
	}
	
	var reveal = new Fx.Morph(div, {
		duration: 200,
		transition: Fx.Transitions.Quad.easeIn,
		wait: true,
		fps: 24
	});

	reveal.addEvent('onStart', function(){
		tt_ishim(true);
	});

	var repeal = new Fx.Morph(div, {
		duration: 200,
		transition: Fx.Transitions.Quad.easeIn,
		wait: true,
		fps: 24
	});

	repeal.addEvent('onComplete', function(){
		tt_ishim(false);
		div.style.left='-1000em';
		tt_clear_arrows();
	});

	function tt_clear_arrows() {
		arrow_up.style.visibility='hidden';
		arrow_down.style.visibility='hidden';
		arrow_right.style.visibility='hidden';
		arrow_left.style.visibility='hidden';
	}

	function tt_locate(base) {
		div.style.padding='0';

		var content = this.clone();
		content.style.position='relative';
		content.style.left='0';
		content.style.margin='0';
		
		var con_des = $('tip_content');
		tt_base = base;
		con_des.innerHTML='';
		con_des.appendChild(content);

		var win = {'x': window.getWidth(), 'y': window.getHeight()};
		var scroll = {'x': window.getScrollLeft(), 'y': window.getScrollTop()};
		var tc = div.getCoordinates();
		var bc = base.getCoordinates();

		if (tt_pngorgif=='gif')
		{
			pad=9;
		}
		else
		{
			pad=11;
		}

		var tas = bc.top-scroll.y-pad;
		var bas = win.y-bc.bottom+scroll.y-pad;
		var ras = win.x+scroll.x-bc.right-pad;
		var las = bc.left-scroll.x-pad;

		var align
		var l
		var t

		if (this.className.contains('bottom'))
		{
			if (tc.height<bas)
			{
				align='bottom';
			}
			else if (tc.height<tas)
			{
				align='top';
			}
			else if (tc.width<ras)
			{
				align='right';
			}
			else if (tc.width<las)
			{
				align='left';
			}
			else
			{
				align='bottom';
			}
		}
		else if (this.className.contains('right'))
		{
			if (tc.width<ras)
			{
				align='right';
			}
			else if (tc.width<las)
			{
				align='left';
			}
			else if (tc.height<tas)
			{
				align='top';
			}
			else if (tc.height<bas)
			{
				align='bottom';
			}
			else
			{
				align='right';
			}
		}
		else if (this.className.contains('left'))
		{
			if (tc.width<las)
			{
				align='left';
			}
			else if (tc.width<ras)
			{
				align='right';
			}
			else if (tc.height<tas)
			{
				align='top';
			}
			else if (tc.height<bas)
			{
				align='bottom';
			}
			else
			{
				align='left';
			}
		}
		else
		{
			if (tc.height<tas)
			{
				align='top';
			}
			else if (tc.height<bas)
			{
				align='bottom';
			}
			else if (tc.width<ras)
			{
				align='right';
			}
			else if (tc.width<las)
			{
				align='left';
			}
			else
			{
				align='top';
			}
		}
		
		var tas = tas+pad;
		var bas = bas+pad;
		var ras = ras+pad;
		var las = las+pad;

		if (align=='top')
		{
			arrow_down.style.visibility='visible';
			div.style.paddingBottom=pad+'px';
			if (bc.width<50)
			{
				l=bc.left+(bc.width/2)-37;
			}
			else
			{
				l=bc.left
			}
			t=bc.top-tc.height-pad+7;
		} 
		else if (align=='bottom')
		{
			arrow_up.style.visibility='visible';
			div.style.paddingTop=pad+'px';
			if (bc.width<50)
			{
				l=bc.left+(bc.width/2)-37;
			}
			else
			{
				l=bc.left
			}
			t=bc.bottom-pad+7;
		}
		else if (align=='right')
		{
			arrow_right.style.visibility='visible';
			div.style.paddingLeft=pad+'px';
			if (bc.height<50)
			{
				t=bc.top+(bc.height/2)-37;
			}
			else
			{
				t=bc.top;
			}
			l=bc.right-pad+7;
		}
		else if (align=='left')
		{
			arrow_left.style.visibility='visible';
			div.style.paddingRight=pad+'px';
			if (bc.height<50)
			{
				t=bc.top+(bc.height/2)-37;
			}
			else
			{
				t=bc.top;
			}
			l=bc.left-tc.width-pad+7;
		}
		
		div.style.left=l+'px';
		div.style.top=t+'px';

		reveal.start({
			'opacity': [0,1]
		});
	}
		
	bases.each(function(base,index) {
		base.addEvents({
			'mouseenter':  function(e) {
				clearTimeout(tt_locate_to);

				var relTarg = e.relatedTarget || e.fromElement;
				while (relTarg && relTarg != base && relTarg != div && relTarg.nodeName != 'BODY')
				relTarg = relTarg.parentNode
				if (relTarg == base || relTarg == div) return;

				tt_locate_to = tt_locate.delay(500,tips[index],base);	
			},

			'mouseleave': function(e) {
				clearTimeout(tt_locate_to);
				
				var relTarg = e.relatedTarget || e.toElement;
				while (relTarg && relTarg != base && relTarg != div && relTarg.nodeName != 'BODY')
				relTarg = relTarg.parentNode
				if (relTarg == base || relTarg == div) return;

				reveal.stop();
				repeal.start({
					'opacity': [1,0]
				});
			}
		});
	});

	var tt_locate_to;

	div.addEvents({
		'mouseleave': function(e) {			
			clearTimeout(tt_locate_to);

			var relTarg = e.relatedTarget || e.toElement;
			while (relTarg && relTarg != tt_base && relTarg != div && relTarg.nodeName != 'BODY')
			relTarg = relTarg.parentNode
			if (relTarg == tt_base || relTarg == div) return;

			reveal.stop();
			repeal.start({
				'opacity': [1,0]
			});
		}
	});
}

function ol_init(hide_flash_launcher) {
	
	var flashers = new Array();
	var objects = document.getElementsByTagName('OBJECT');
	var embeds = document.getElementsByTagName('EMBED');
	
	var x = 0;
	
	for (i=0;i<=embeds.length-1;i++)
	{
		flashers[x]=embeds[i];
		x++
	}

	for (i=x;i<=objects.length-1;i++)
	{
		flashers[x]=objects[i];
		x++
	}
	
	var selects = $$('SELECT'); 
	var launchers = $$('.launcher');
	var layers = $$('.layer');
	var ieisevil = false;

	var body  = document.getElementsByTagName('body').item(0);
	var overlay = document.createElement('DIV');
	var overlay = $(overlay);
	overlay.id='overlay';
	body.appendChild(overlay);

	if (navigator.appVersion.indexOf("MSIE")!=-1){
	var temp=navigator.appVersion.split("MSIE")
	var version=parseFloat(temp[1])
		if (version<=6)
		{
			ieisevil=true;
		}
	}

	function ol_hide_selects() {
		if ((selects.length >= 1) && ieisevil==true)
		{
			selects.each(function(select) {
				if (select.hasClass('ol'))
				{
					return
				}
				else
				{
					select.style.visibility='hidden';
				}
			});	
		}
	}

	function ol_show_selects() {
		if ((selects.length >= 1) && ieisevil==true)
		{
			selects.each(function(select) {
				select.style.visibility='visible';
			});
		}
	}

	function ol_hide_flash() {
		if ((flashers.length >= 1) && (navigator.appVersion.indexOf('Mac')!=-1))
		{
			flashers.each(function(flasher) {
				flasher.style.visibility='hidden';
			});
		}
	}

	function ol_show_flash() {
		if ((flashers.length >= 1) && (navigator.appVersion.indexOf('Mac')!=-1))
		{
			flashers.each(function(flasher) {
				flasher.style.visibility='visible';
			});
		}
	}

	function ol_launch() {
		var x = window.getScrollWidth();
		var y = window.getScrollHeight();
		
		if (ieisevil==true)
		{
			var x = window.getWidth();
		}

		overlay.style.width=x+'px';
		overlay.style.height=y+'px';
		overlay.style.display='block';
	}

	launchers.each(function(launcher,index) {
		var active_content = layers[index];
		if (active_content.hasClass('flash') && (navigator.appVersion.indexOf('Mac')!=-1))
		{
			if (hide_flash_launcher==true)
			{
				launcher.style.display='none';
			}
		}
		else
		{	
			launcher.href='#';
			launcher.addEvents({	
				'click': function(event) {
					var event = new Event(event);
					ol_hide_flash();
					ol_launch();
					var x = window.getWidth();
					var w = active_content.getCoordinates().width.toInt();

					var l = (x/2)-(w/2);

					active_content.style.left=l+'px';

					if (ieisevil==true)
					{
						var t = window.getScrollTop();
						var t = t+50;
						active_content.style.top=t+'px';
						ol_hide_selects();
					}

					var close = $('.close_primary',active_content);
					close.focus();
					
					event.preventDefault();
					return false;
				},
				'keydown': function(event){
					var event = new Event(event);
					if (event.key == 'enter')
					{
						ol_hide_flash();
						ol_launch();
						var x = window.getWidth();
						var w = active_content.getCoordinates().width.toInt();

						var l = (x/2)-(w/2);

						active_content.style.left=l+'px';

						if (ieisevil==true)
						{
							var t = window.getScrollTop();
							var t = t+50;
							active_content.style.top=t+'px';
							ol_hide_selects();
						}
						
						var close = $('.close_primary',active_content);
						close.focus();

						event.preventDefault();
						return false;
					}
				}
			});
		}
	});

	layers.each(function(layer) {

		layer.style.display='block';
		var h3 = layer.getFirst();
		var text = h3.innerHTML;
		var span1 = document.createElement('SPAN');
		var span2 = document.createElement('SPAN');
		var span3 = document.createElement('SPAN');
		var span4 = document.createElement('SPAN');
		var lnk = document.createElement('A');
		
		lnk.href='#';
		lnk.className='close_primary';
		lnk.innerHTML='Close';
		h3.innerHTML='';
		
		h3.appendChild(span1);
		span1.appendChild(span2);
		span2.appendChild(span3);
		span3.appendChild(span4);
		span3.appendChild(lnk);
		span4.innerHTML=text;

		var bl = document.createElement('DIV');
		bl.className='bl';

		var br = document.createElement('DIV');
		br.className='br';

		var bm = document.createElement('DIV');
		bm.className='bm';
		
		layer.appendChild(bl);
		bl.appendChild(br);
		br.appendChild(bm);

		if (ieisevil==true)
		{
			layer.style.position='absolute';
		}

		var close = $('.close_primary',layer);
		close.addEvents({
			'click': function(event) {
				var event = new Event(event);
				layers.each(function(layer) {
					layer.style.left='-1000em';
				});
				overlay.style.display='none';
				ol_show_flash();
				ol_show_selects();
				event.preventDefault();
				return false;	
			},
			'keydown': function(event){
				var event = new Event(event);
				if (event.key == 'enter')
				{
					layers.each(function(layer) {
						layer.style.left='-1000em';
					});
					overlay.style.display='none';
					ol_show_flash();
					ol_show_selects();
				}
				event.preventDefault();
				return false;	
			}
		});
	});

	overlay.addEvents({
		'click': function() {
			layers.each(function(layer) {
				layer.style.left='-1000em';
			});
			overlay.style.display='none';
			ol_show_flash();
			ol_show_selects();
		}
	});
}

function gm_init() {
	var gm = document.getElementById('gm');
	var uls = gm.getElementsByTagName('UL');
	var lis = uls[0].childNodes;
	
	for (var i=0; i<lis.length; i++) {
		if (lis[i].nodeName=='LI')
		{
			lis[i].onmouseover=function() {
				this.className='pattern_hover';
			}
			lis[i].onmouseout=function() {
				this.className='';
			}
			var hrefs = lis[i].getElementsByTagName('A');
			for (var j=0; j<hrefs.length; j++) {
				hrefs[j].custom = lis[i];

				hrefs[j].onfocus=function() {
					this.custom.className='pattern_hover';	
				}
				hrefs[j].onblur=function() {
					this.custom.className='';
				}
			}
		}
	}
}

