//GLTV javascript extension
if (Page.gltv == null)
{
	//alert('INIT: GLTV');
	var __GLTV__ = 
	{
		hijack: false,
		//current channel
		channel: '',
		//current subchannel
		subchannel: '',
		//current video
		video:'',
		//current related page
		rel:'',
		//current playlist page
		page:'',
		//current search string
		query:'',
		
		popupsOpen:false,
		transcriptOpen:false,
		
		initialize: function()
		{
			if (window.ActiveXObject)
				this.hijack = true;
			else if (document.implementation && document.implementation.createDocument)
				this.hijack = true;
			else
				this.hijack = false;
				
			//setup images to pre-load
			var base = "/skins/default/graphics/";
			var images = [	"today_active.gif",
							"legal_active.gif",
							"news_active.gif",
							"info_active.gif",
							"ent_active.gif",
							"fuente_active.gif",
							"next_disabled.gif",
							"prev_disabled.gif",
							"sub_nav_bar.gif",
							"sn_desc_bg.gif",
							"snc.gif",
							"snclc.gif",
							"snclc1.gif",
							"snlcs.gif",
							"snlcs1.gif",
							"snsr.gif",
							"overlay.png"
							];
							
			for (var i=0; i<images.length;i++)
			{
				Page.images.preloadQueue.add(base+images[i]);
			}
			
			this.channel = $('channel_data').innerHTML;
			this.subchannel = $('subchannel_data').innerHTML;
			this.video = $('video_data').innerHTML;
			this.query = $('query_data').innerHTML;
			this.page = Number($('page_data').innerHTML);
			this.rel = Number($('rel_data').innerHTML);
			
			Page.style.displayBlock('search_btn');
			
			this.createPlayer();
			this.initPlaylist();
			
		},
		
		createPlayer: function()
		{
			var params =["src", "/GLTVPlayer",
						 "width", 460,
						 "height", 300,
						 "align", "middle",
						 "id", "GLTVPlayer",
						 "quality", "best",
						 "wmode","window",
						 "allowFullScreen","true",
						 "FlashVars", "video="+this.video,
						 "bgcolor", "#FFFFFF",
						 "name", "GLTVPlayer",
						 "allowScriptAccess","sameDomain",
						 "type", "application/x-shockwave-flash",
						 "pluginspage", "http://www.adobe.com/go/getflashplayer" ];
						 
			var alt = "<div><strong>Please download the latest version of the "+
					  "<a href='http://www.adobe.com/products/flashplayer/' target='_blank'>Flash Player</a>.";
			
			Page.flash.output(9,0,28,params,alt,'player',true);
		},
		
		initPlaylist: function()
		{		
			var psh1 = $('page_select_holder_1');
			var ps1 = $('page_selector_1');
			var psh2 = $('page_select_holder_2');
			var ps2 = $('page_selector_2');
			var total = Number($('total_videos_data').innerHTML);
			var count = Number($('page_size_data').innerHTML);
			var pages = Math.ceil(total/count);
			if (total > count)
			{	
				Page.style.show(psh1);
				Page.style.show(psh2);
				ps1.options.length = 0;
				ps2.options.length = 0;
		
				var page = 1;
				while (pages >= page)
				{
					var opt1 = new Option(page+' of '+pages, page);
					var opt2 = new Option(page+' of '+pages, page);
					ps1.options[ps1.options.length] = opt1;
					ps2.options[ps2.options.length] = opt2;
					page++;
				}
				ps1.selectedIndex = this.page;
				ps2.selectedIndex = this.page;
			}
			try
			{
				$('video_'+this.video).className = 'now_playing';
				$('video_'+this.video+'_border').innerHTML = 'Now Playing';
			}
			catch (e)
			{}		
		},
		
		navigate: function (c,s,v,r,p,q)
		{
			//alert ('c:'+c+'\ns:'+s+'\nv:'+v+'\nr:'+r+'\np:'+p+'\nq:'+q);
			if (c==null)
				c='';		
			if (s==null)
				s='';		
			if (v==null)
				v='';		
			if (r==null)
				r=null;		
			if (p==null)
				p=null;		
			if (q==null)
				q='';		
			
			//new channel
			if (c != this.channel && c != '')
			{
				//alert('update main nav');
				this.setMainNav(c,s,p,q);
				this.updateAds();
			}
			else if (s != this.subchannel && s != '')
			{
				//alert('update sub nav');
				this.setSubNav(c,s,p,q);
				this.updateAds();
			}
			else if (v != this.video && v != '')
			{
				//alert('update video');
				this.setVideo(v);
			}
			else if (q != this.query  && q != '')
			{
				//alert('update search');
				this.setPlaylist(c,s,p,q);
			}
			else if (p != this.page  && p != null)
			{
				//alert('update playlist page');
				this.setPlaylistPage(c,s,p,q);
			}
			else if (r != this.rel  && r != null)
			{
				//alert('update related page');
				this.setRelatedPage(v,r);
			}
	
		},
		
		updateAds: function()
		{
			var ad1 = $('ad_one');
			ad1.innerHTML = '<a href="http://getlegaltv.advertserve.com/servlet/click/zone?zid=4&pid=0&lookup=true&position=1" target="_top">'+
										'<img src="http://getlegaltv.advertserve.com/servlet/view/banner/image/zone?zid=4&pid=0&position=1" height="60" width="468" hspace="0" vspace="0" border="0" alt="Click Here!"/>'+
										'</a>';
			var ad2 = $('ad_two');
			ad2.innerHTML = '<a href="http://getlegaltv.advertserve.com/servlet/click/zone?zid=5&pid=0&lookup=true&position=1" target="_top">'+
										'<img src="http://getlegaltv.advertserve.com/servlet/view/banner/image/zone?zid=5&pid=0&position=1" height="60" width="468" hspace="0" vspace="0" border="0" alt="Click Here!"/>'+
										'</a>';
		},
		
		setMainNav: function(c,s,p,q)
		{
			//alert('setMainNav');
			//reset last tab
			if (this.channel != c)
			{
				var lastTab = $(this.channel + '_btn');
				lastTab.className = null;
				
				var nextTab = $(c+'_btn');
				nextTab.className = 'selected';
				
				//update sub nav
				this.setSubNav(c,s,p,q);
				
				this.channel = c;
			}
		},
		
		setSubNav: function(c,s,p,q)
		{
			//alert('setSubNav');
			var snbs = _(c+'_sub_nav_button');
	
			if (this.channel != c)
			{
				//alert('change sub nav');
				//change sub nav
				Page.style.displayNone('loaded_sub_nav_'+this.channel)
				var lsn = $('loaded_sub_nav_'+c);
				if (lsn != null)
				{
					Page.style.displayBlock(lsn);
					if (snbs.length > 0)
						s = snbs[0].id.replace(/sub_([a-zA-Z0-9_-]+)_btn/,'$1');
					else
						s = '';
				}
				else
				{
					//alert('load new sub nav');
					//load new sub nav
					var newDiv = document.createElement('div');
					newDiv.id = 'loaded_sub_nav_'+c;
					$('sub_nav').appendChild(newDiv);
					newDiv.innerHTML = '<div class="loading"> </div>';
					Page.ajax.transform('/index.php?xml=subnav&channel='+c,
											  '/skins/default/templates/sub_nav.xsl',
											  'loaded_sub_nav_'+c,'',null);
				}
			}
			
			//select button
			for (var i=0; i < snbs.length; i++)
			{
				if (snbs[i].id == 'sub_'+s+'_btn')
					snbs[i].className = 'selected';
				else
					snbs[i].className = null;
			}
			
			this.setPlaylist(c,s,p,q)
			
			this.subchannel = s;
		},
		
		setPlaylist: function(c,s,p,q)
		{
			//alert('setPlaylist')
			var url = '/index.php?xml=playlist&channel='+c;
			if (s!='')
				url += '&subchannel='+s;
			if (p!=-1)
				url += '&page='+(p+1);
			if (q!='')
				url += '&query='+q;
			
			$('playlist').innerHTML = '<div id="playlist_title">Loading...</div><div class="playlist_loading"> </div>';
			Page.ajax.transform(url,'/skins/default/templates/playlist.xsl','playlist',"Page.gltv.initPlaylist();",null);
			
			//search value
			var si = $('search_input');
			if (q!='')
				si.value = q;
			else
				si.value = "Search Videos";
			this.query = q;
			
			this.page = Number(p);
		},
		
		setPlaylistPage: function(c,s,p,q)
		{
			var url = '/index.php?xml=playlist&channel='+c;
			if (s!='')
				url += '&subchannel='+s;
			if (p!=-1)
				url += '&page='+(p+1);
			if (q!='')
				url += '&query='+q;
					
			//load page if needed
			var sp = $("playlist_page_"+p);
			if (sp == null)
			{	
				var newDiv = document.createElement('div');
				newDiv.id = "playlist_page_"+p;
				newDiv.className = "playlist_page";
				Page.style.setStyle(newDiv,'marginLeft',(p*500)+'px');
				$('playlist_page_holder').appendChild(newDiv);
				newDiv.innerHTML = '<div class="loading"> </div>';
				Page.ajax.transform(url,'/skins/default/templates/playlist_vid.xsl','playlist_page_'+p,null,null);
			}
	
			//update controls
			var total = Number($('total_videos_data').innerHTML);
			var count = Number($('page_size_data').innerHTML);
			var pt = $('playlist_position');
			var nds1 = $('next_page_disabled_1');
			var ns1 = $('next_page_1');
			var lds1 = $('last_page_disabled_1');
			var ls1 = $('last_page_1');
			var ps1 = $('page_selector_1');
			var nds2 = $('next_page_disabled_2');
			var ns2 = $('next_page_2');
			var lds2 = $('last_page_disabled_2');
			var ls2 = $('last_page_2');
			var ps2 = $('page_selector_2');
			
			var vto = (p+1)*count;
			var vfrom = p*count+1;
					
			pt.innerHTML = 'Viewing '+vfrom+'-'+((vto>total)?total:vto)+' of '+total+' Videos';
			if (total > vto)
			{
				Page.style.displayNone(nds1);
				Page.style.displayBlock(ns1);
				Page.style.displayNone(nds2);
				Page.style.displayBlock(ns2);
			}
			else
			{
				Page.style.displayBlock(nds1);
				Page.style.displayNone(ns1);
				Page.style.displayBlock(nds2);
				Page.style.displayNone(ns2);
			}
			
			if (vfrom > 1)
			{
				Page.style.displayNone(lds1);
				Page.style.displayBlock(ls1);
				Page.style.displayNone(lds2);
				Page.style.displayBlock(ls2);
			}
			else
			{
				Page.style.displayBlock(lds1);
				Page.style.displayNone(ls1);
				Page.style.displayBlock(lds2);
				Page.style.displayNone(ls2);
			}
			
			if (total > count)
			{
				ps1.selectedIndex = p;
				ps2.selectedIndex = p;
			}
			
			//move pages
			var from = ((this.page == null)?0:this.page)*-500;
			var to = p*-500;
			
			Page.effects.tween('playlist_page_holder','left',from,to,0,20,30,'out',true,'px');
			
			this.page = Number(p);
		},
		
		nextPage: function()
		{
			if (this.page == null)
				this.page = 0;
			this.navigate(this.channel,this.subchannel,null,null,this.page+1,this.query);
		},
		lastPage: function()
		{
			this.navigate(this.channel,this.subchannel,null,null,this.page-1,this.query);
		},
		gotoPage: function(event)
		{
			var t = Page.targetOf(event);
			var p = t.selectedIndex;
			this.navigate(this.channel,this.subchannel,null,null,p,this.query);
		},
		
		handleSearchKeypress: function(e) 
		{
     		var key;      
     		if(window.event)
          	key = window.event.keyCode; //IE
     		else
         	key = e.which; //firefox      

     		if (key == 13)
  				this.search();

  			return (key != 13);
		},
				
		search: function()
		{
			var input = $('search_input');
			if (input.value != '' && input.value != 'Search Videos')
				this.navigate(this.channel,this.subchannel,null,null,null,input.value);
			else
				alert ('Please enter text to search...')
		},
		
		setVideo: function(v)
		{
			var url = '/index.php?xml=related&video='+v;
			var url2 = '/index.php?xml=video&video='+v;
			try
			{
				
				var player = $('GLTVPlayer');
				player.setVideoId(v);
			
				$('related').innerHTML = '<div id="related_loading"> </div>';
				Page.ajax.transform(url,'/skins/default/templates/related.xsl','related',null,null);
				Page.ajax.transform(url2,'/skins/default/templates/player.xsl','player_details',null,null);
		
				try
				{
					$('video_'+this.video).className = '';
					$('img_holder_'+this.video).removeChild($('now_playing_span'));
				}
				catch (e)
				{}
				
				try
				{
					$('video_'+v).className = 'now_playing';
					var nps = document.createElement('span');
					nps.innerHTML = 'Now Playing...';
					nps.id = 'now_playing_span';
					$('img_holder_'+v).appendChild(nps);
				}
				catch(e)
				{}
			}
			catch(e)
			{
				alert('Please wait for video player to load...');
			}
			this.video = v;
			
		},
		
		setRelatedPage: function(v,r)
		{
			var url = '/index.php?xml=related&video='+v+'&rel='+(r+1);
					
			//load page if needed
			var rp = $("related_thumbs_page_"+r);
			if (rp == null)
			{	
				var newDiv = document.createElement('div');
				newDiv.id = "related_thumbs_page_"+r;
				newDiv.className = "related_thumbs_page";
				Page.style.setStyle(newDiv,'marginLeft',(r*376)+'px');
				$('related_thumbs_page_holder').appendChild(newDiv);
				newDiv.innerHTML = '<div class="loading"> </div>';
				Page.ajax.transform(url,'/skins/default/templates/related_vid.xsl','related_thumbs_page_'+r,null,null);
			}
			
			//update controls
			var total = Number($('total_related_data').innerHTML);
			var count = Number($('related_page_size_data').innerHTML);
			var nds = _('next_rel_disabled');
			var ns = _('next_rel');
			var lds = _('last_rel_disabled');
			var ls = _('last_rel');
			
			var vto = (r+1)*count;
			var vfrom = r*count+1;
			
			for (var i=0; i<ns.length; i++)
			{
				if (total > vto)
				{
					Page.style.displayNone(nds[i]);
					Page.style.displayBlock(ns[i]);
				}
				else
				{
					Page.style.displayBlock(nds[i]);
					Page.style.displayNone(ns[i]);
				}
				
				if (vfrom > 1)
				{
					Page.style.displayNone(lds[i]);
					Page.style.displayBlock(ls[i]);
				}
				else
				{
					Page.style.displayBlock(lds[i]);
					Page.style.displayNone(ls[i]);
				}
			}
			
			//move pages
			var from = ((this.rel == null)?0:this.rel)*-376;
			var to = r*-376;
			Page.effects.tween('related_thumbs_page_holder','left',from,to,0,15,30,'out',true,'px');
			
			this.rel = Number(r);
		},
		nextRel: function()
		{
			if (this.page == null)
				this.page = 0;
			this.navigate(null,null,this.video,this.rel+1,null,null);
		},
		lastRel: function()
		{
			this.navigate(null,null,this.video,this.rel-1,null,null);
		},
		
		showRelDescription: function(id)
		{
			Page.style.displayBlock('rel_title_'+id);
		},
		hideRelDescription: function(id)
		{
			Page.style.displayNone('rel_title_'+id);
		},
		
		content: 
		{
			clientWidth: function() 
			{
				return (window.innerWidth ? window.innerWidth : (document.documentElement ? document.documentElement.clientWidth : (document.body ? document.body.clientWidth : 0)));
			},
			clientHeight: function() {
				return (window.innerHeight ? window.innerHeight : (document.documentElement ? document.documentElement.clientHeight : (document.body ? document.body.clientHeight : 0)));
			},
			scrollLeft: function() {
				return (window.pageXOffset ? window.pageXOffset : (document.documentElement ? document.documentElement.scrollLeft : (document.body ? document.body.scrollLeft : 0)));
			},
			scrollTop: function() {
				return (window.pageYOffset ? window.pageYOffset : (document.documentElement ? document.documentElement.scrollTop : (document.body ? document.body.scrollTop : 0))	);
			}			
		},
		
		openPopup: function(pop)
		{
			if (!this.popupsOpen)
			{
				Page.style.hide('player');
				try
				{
					var player = $('GLTVPlayer');
					player.pause(true);
				}
				catch(e)
				{
				
				}
				

				this.setOverlaySize();
				Page.addEvent(window,'resize',Page.gltv.setOverlaySize,document);
				Page.style.displayBlock('overlay');
				
				$('popup_content').innerHTML = '<div class="loading"></div>';
				Page.ajax.transform('/static/'+pop+'.xml','/skins/default/templates/'+pop+'.xsl','popup_content',null,null);
				this.popupsOpen = true;
			}
		},
		
		setOverlaySize: function(e)
		{
				var w = (Page.gltv.content.clientWidth() < 1000)?1000:Page.gltv.content.clientWidth();
				var h = (Page.gltv.content.clientHeight() < 832)?832:Page.gltv.content.clientHeight();
				var ov = $('overlay');
				Page.style.setStyle(ov,'width', w+'px');
				Page.style.setStyle(ov,'height', w+'px');
		},
		
		closePopup: function()
		{
			if (Page.gltv.popupsOpen)
			{
				Page.style.show('player');
				Page.removeEvent(window,'resize',Page.gltv.setOverlaySize,document);
				Page.style.displayNone('overlay');
					$('popup_content').innerHTML = '<div class="loading"></div>';
				Page.gltv.popupsOpen = false;
			}
		},
	
		openTranscript: function()
		{
			if (!Page.gltv.transcriptOpen)
			{
				Page.style.displayBlock('transcript');
				this.transcriptOpen = true;
			}
		},
		
		closeTranscript: function()
		{
			if (Page.gltv.transcriptOpen)
			{
				Page.style.displayNone('transcript');
				this.transcriptOpen = false;
			}
		},
		
		processForm: function()
		{
	
			var type;
			try
			{
				type = _('emailform')[0].value;
			}
			catch(e){}	
		
			if (type == 'register')
			{
				var fname = _('fname')[0].value;
				var fne = Page.validate.string(fname,1,100,true);
				var lname = _('lname')[0].value;
				var lne = Page.validate.string(lname,1,100,true);
				var email = _('email')[0].value;
				var eme = Page.validate.email(email,true);
				var phone = _('phone')[0].value;
				var phe = Page.validate.usphone(phone,false);
				var zip = _('zip')[0].value;
				var ze = Page.validate.number(zip,10000,99999,false);
							
				if (fne=='' && lne=='' && eme=='' && phe==''  && ze=='')
				{
					var company = _('company')[0].value;
					var position = _('position')[0].value;
					var address = _('address')[0].value;
					var city = _('city')[0].value;
					var state = _('state')[0].value;
	
					var obj = { fname:fname,
								lname:lname,
								email:email,
								company:company,
								position:position,
								phone:phone,
								address:address,
								city:city,
								state:state,
								zip:zip,
								emailform:type};
					Page.ajax.transform('/index.php?xml=static&static=register','/skins/default/templates/result.xsl','popup_content',null,obj);
				}
				else
				{
					var str = 'The following errors occured:\n\n';
					str += (fne == '')?(''):(Page.validate.getError(fne,'First Name')+'\n');
					str += (lne == '')?(''):(Page.validate.getError(lne,'Last Name')+'\n');
					str += (eme == '')?(''):(Page.validate.getError(eme,'Email Address')+'\n');
					str += (phe == '')?(''):(Page.validate.getError(phe,'Phone')+'\n');
					str += (ze == '')?(''):(Page.validate.getError(ze,'Zip Code')+'\n');
					
					alert(str);
				}
			}
			else if (type == 'advertise')
			{
				var msg = _('message')[0].value;
				var mse = Page.validate.string(msg,1,500,true);
				var email = _('email')[0].value;
				var eme = Page.validate.email(email,true);
				var phone = _('phone')[0].value;
				var phe = Page.validate.usphone(phone,false);
				
				if (eme=='' && phe=='' && mse=='')
				{
					var fname = _('fname')[0].value;
					var lname = _('lname')[0].value;
					
					var obj = { fname:fname,
								lname:lname,
								email:email,
								phone:phone,
								message:msg,
								emailform:type};
								
					Page.ajax.transform('/index.php?xml=static&static=advertise','/skins/default/templates/result.xsl','popup_content',null,obj);
				}
				else
				{
					var str = 'The following errors occured:\n\n';
					str += (mse == '')?(''):(Page.validate.getError(mse,'message')+'\n');
					str += (eme == '')?(''):(Page.validate.getError(eme,'Email Address')+'\n');
					str += (phe == '')?(''):(Page.validate.getError(phe,'Phone')+'\n');
					
					alert(str);
				}
			}
			else if (type == 'contact')
			{
				var msg = _('message')[0].value;
				var mse = Page.validate.string(msg,1,500,true);
				var email = _('email')[0].value;
				var eme = Page.validate.email(email,true);
				var phone = _('phone')[0].value;
				var phe = Page.validate.usphone(phone,false);
				
				if (eme=='' && phe=='' && mse=='')
				{
					var fname = _('fname')[0].value;
					var lname = _('lname')[0].value;
					
					var obj = { fname:fname,
								lname:lname,
								email:email,
								phone:phone,
								message:msg,
								emailform:type};
								
					Page.ajax.transform('/index.php?xml=static&static=contact','/skins/default/templates/result.xsl','popup_content',null,obj);
				}
				else
				{
					var str = 'The following errors occured:\n\n';
					str += (mse == '')?(''):(Page.validate.getError(mse,'message')+'\n');
					str += (eme == '')?(''):(Page.validate.getError(eme,'Email Address')+'\n');
					str += (phe == '')?(''):(Page.validate.getError(phe,'Phone')+'\n');
					
					alert(str);
				}
			}
		}
	}
	Page.extend({gltv:__GLTV__});

	Page.registerInitializer('Page.gltv.initialize()');
}
function closePopup()
{
	Page.gltv.closePopup();
}

function send()
{
	Page.gltv.processForm();
}

function showOverlays(oid,lid) 
{
		var poh = $('overlay_ad_holder');
		var oad = $('overlay_ad');
		var ro = $('rel_overlay')
		var ad2 = $('ad_two');

		Page.style.displayBlock(poh);
		Page.style.displayBlock(ro);
		
		//var adover = $('ad_overlay');
		if (oid > 0)
		{
			oad.innerHTML = '<a href="http://getlegaltv.advertserve.com/servlet/click/media?mid='+oid+'&pid=0&lookup=true&position=1" target="_blank">'+
								 '<img src="http://getlegaltv.advertserve.com/servlet/view/banner/image/media?mid='+oid+'&pid=0&position=1" height="250" width="300" hspace="0" vspace="0" border="0" alt="Click Here!"/></a>';
		}
		else
		{
			oad.innerHTML = '<a href="http://getlegaltv.advertserve.com/servlet/click/zone?zid=6&pid=0&lookup=true&position=1" target="_blank">'+
									'<img src="http://getlegaltv.advertserve.com/servlet/view/banner/image/zone?zid=6&pid=0&position=1" height="60" width="468" hspace="0" vspace="0" border="0" alt="Click Here!"/>'+
									'</a>';
		}
		
		if (lid > 0)
		{
			ad2.innerHTML = '<a href="http://getlegaltv.advertserve.com/servlet/click/media?mid='+lid+'&pid=0&lookup=true&position=1" target="_blank">'+
								 '<img src="http://getlegaltv.advertserve.com/servlet/view/banner/image/media?mid='+lid+'&pid=0&position=1" height="60" width="468" hspace="0" vspace="0" border="0" alt="Click Here!"/></a>';

		}
		else
		{
			ad2.innerHTML = '<a href="http://getlegaltv.advertserve.com/servlet/click/zone?zid=5&pid=0&lookup=true&position=1" target="_blank">'+
									'<img src="http://getlegaltv.advertserve.com/servlet/view/banner/image/zone?zid=5&pid=0&position=1" height="60" width="468" hspace="0" vspace="0" border="0" alt="Click Here!"/>'+
									'</a>';
		}
		
}

function hideOverlays()
{
		var poh = $('overlay_ad_holder');
		var ro = $('rel_overlay')
		Page.style.displayNone(poh);
		Page.style.displayNone(ro);
}

function loadNextVideo()
{
	var idh = $('nextVideoId');
	if (idh != null)
	{
		var next = idh.innerHTML;
		if (next != '')
			Page.gltv.setVideo(next);
	}
}
