// Basic code
function clickclear(thisfield, defaulttext) {
	if (thisfield.value == defaulttext) {
		thisfield.value = "";
	}
}

function clickrecall(thisfield, defaulttext) {
	if (thisfield.value == "") {
		thisfield.value = defaulttext;
	}
}


function isGalleryView(){
	return ($('div.btnGallery').size() > 0);
}

// Sifr customization

var helveticaRounded = {
 src: rootUrl+'swf/HelveticaRounded.swf',
 highsrc: rootUrl+'swf/HelveticaRounded.swf'
 };

var helveticaNeue = {
 src: rootUrl+'swf/HelveticaNeue.swf',
 highsrc: rootUrl+'swf/HelveticaNeue.swf'
 };

sIFR.compatMode = true; 

sIFR.activate();



function updateGraphs(){
	
	sIFR.replace(helveticaRounded, {
	    selector: 'h1',
	    wmode: 'transparent',
	    css: [
	      '.sIFR-root { font-size: 28px; color: #ec142d }'
	    ]
	  });
	
	sIFR.replace(helveticaRounded, {
	    selector: 'h2',
	    wmode: 'transparent',
	    css: [
	      '.sIFR-root { font-size: 19px; color: #0e0e0e; }'
	    ]
	  });
	
	// Animate poll graphs
	$('.whySponsorGraph .graphPBS').hide().slideDown('slow');
	$('.whySponsorGraph .graphBroadcast').hide().slideDown('slow');
	$('.whySponsorGraph .graphCable').hide().slideDown('slow');
}

  
function refreshSIFRs()
{	
	sIFR.replace(helveticaRounded, {
	    selector: '.programTitle',
	    wmode: 'transparent',
	    css: [
	      '.sIFR-root { font-size: 19px; color: #0e0e0e; }'
	    ]
	  });
	
	sIFR.replace(helveticaRounded, {
	    	selector: 'h3.underlined',
	    	wmode: 'transparent',
	    	css: [
	      	'.sIFR-root { font-size: 18px; color: #ff0000;  }'
		    	]
  			});

	sIFR.replace(helveticaRounded, {
		    selector: 'h3.grey',
		    wmode: 'transparent',
		    css: [
		      '.sIFR-root { font-size: 19px; color: #363636; }'
		    ]
		  });
		
	 sIFR.replace(helveticaRounded, {
		    selector: 'h3.videoListTitle',
		    wmode: 'transparent',
		    css: [
		      '.sIFR-root { font-size: 14px; color: #363636; text-transform:uppercase; }'
		    ]
		  });
		
		
		sIFR.replace(helveticaRounded, {
		    selector: 'h2',
		    wmode: 'transparent',
		    css: [
		      '.sIFR-root { font-size: 19px; color: #0e0e0e; }'
		    ]
		  });


		  sIFR.replace(helveticaRounded, {
			    selector: 'h3',
			    wmode: 'transparent',
			    css: [
			      '.sIFR-root { font-size: 20px; color: #EC142D;  }'
				    ]
		  });
		
}

var featuredProgramsState = null;

function showProgramDetails(obj)
{
	$('#programsLoading').fadeIn('slow');
		
	// Save featured tabs state
	if($("#featuredProgramsContainer").is(':visible'))
	{
		featuredProgramsState = 'visible';
	}
	
	$("#featuredProgramsContainer").hide();
	$('.programGrid').hide();
	$('.programDetailsContainer').load(obj.toString(), null, updateProgramDetails);
}

//
// Program screenshot gallery 
//
function setupProgramScreenshotGallery()
{
	$('.programDetailsContainer .left a img').click(function(e){		
		this.src.replace('/thumbs/', '/thumbs_blackwhite/');
		
		$('.programDetailsContainer .left a img').each( function (i) {  this.src=this.src.replace('/thumbs/', '/thumbs_blackwhite/'); } ); 
		
		this.src = this.src.replace('/thumbs_blackwhite/', '/thumbs/');
		newsrc = this.src;
		$('.programDetailsContainer .left .full').fadeOut('slow', function() {
			$(".programDetailsContainer .left .full").load( function() {  $(this).fadeIn('slow'); } );
			$('.programDetailsContainer .left .full').attr("src", newsrc.replace('/thumbs/', '/full/'));			
		});

		return false;
	});
}



/*
 * Document load
 */
$(document).ready(function() {
	
	

	
	
	if($("#whySponsorIcons").size() > 0)
	{
	$("#whySponsorIcons .tooltip").hide();

	$("#whySponsorIcons li").Tooltip({ 
	    track: true, 
	    delay: 0, 
		top:5,
		left:5,
		width: 100,
	    showURL: false });
}
	
	
	sIFR.replace(helveticaRounded, {
	    selector: 'h1',
	    wmode: 'transparent',
	    css: ['.sIFR-root { font-size: 28px; color: #ec142d }']});





	sIFR.replace({
	    selector: 'div.sectionTitle h2.white',
		 src: rootUrl+'swf/HelveticaRounded.swf',
		 highsrc: rootUrl+'swf/HelveticaRounded.swf',
	    wmode: 'transparent',
	    css: [
	      '.sIFR-root { font-size: 19px; color: #ffffff; }'
	    ]
	  });



	 sIFR.replace(helveticaRounded, {
	    selector: '.whySponsorGraphContainer h2',
	    wmode: 'transparent',
	    css: [
	      '.sIFR-root { font-size: 22px; color: #0e0e0e;  }'
	    ]
	  });


	 sIFR.replace(helveticaNeue, {
	    selector: 'h2.contactReasonText',
	    wmode: 'transparent',
	    css: [
	      '.sIFR-root { font-size: 24px; color: #363636;  }'
	    ]
	  });

	sIFR.replace(helveticaRounded, {
	    selector: 'h2.white',
	    wmode: 'transparent',
	    css: [
	      '.sIFR-root { font-size: 19px; color: #FFFFFF; }'
	    ]
	  });


		sIFR.replace(helveticaRounded, {
		    selector: 'h2',
		    wmode: 'transparent',
		    css: [
		      '.sIFR-root { font-size: 19px; color: #0e0e0e; }'
		    ]
		  });


	 sIFR.replace(helveticaRounded, {
	    selector: 'h3.white',
	    wmode: 'transparent',
	    css: [
	      '.sIFR-root { font-size: 20px; color: #ffffff;  }'
	    ]
	  });

	  sIFR.replace(helveticaRounded, {
	    selector: 'h3.grey',
	    wmode: 'transparent',
	    css: [
	      '.sIFR-root { font-size: 18px; color: #363636; }'
	    ]
	  });


	  sIFR.replace(helveticaRounded, {
	    selector: '#whySponsorGraphNav h3',
	    wmode: 'transparent',
	    css: [
	      '.sIFR-root { font-size: 17px; color: #EC142D; }'
	    ]
	  });

	  sIFR.replace(helveticaRounded, {
	    selector: 'h3.small',
	    wmode: 'transparent',
	    css: [
	      '.sIFR-root { font-size: 19px; color: #EC142D; }'
	    ]
	  });

	 sIFR.replace(helveticaRounded, {
	    selector: 'h3.videoListTitle',
	    wmode: 'transparent',
	    css: [
	      '.sIFR-root { font-size: 14px; color: #363636; text-transform:uppercase; }'
	    ]
	  });

		 sIFR.replace(helveticaRounded, {
			    selector: 'h3',
			    wmode: 'transparent',
			    css: [
			      '.sIFR-root { font-size: 20px; color: #EC142D;  }'
				    ]
		  });

	
	// jScrollPane
	$('.scroll-pane').jScrollPane({showArrows:true});
	
	// Show view buttons on programs page
	$('.btnList').show();
	$('.btnGallery').show();

	// charts
	$('#whySponsorGraphNav li a').click(function(){
		$(this).parent().siblings().children('a.active').removeClass('active');
		console.log($(this).parent().siblings().children('a.active'));
		$(this).addClass('active');
		$('.whySponsorGraphContainer').load(this.href, null, function(){
			updateGraphs();
		});
		return false;
	});

	$('.btnprogram').click(function(e){
		 try {
			$('#videoPlayer').get(0).playProgramVideo();
		 }
		catch(err){
			return true;
		}
		return false;
	});	


	// Animate poll graphs
	$('.whySponsorGraph .graphPBS').hide().slideDown('slow');
	$('.whySponsorGraph .graphBroadcast').hide().slideDown('slow');
	$('.whySponsorGraph .graphCable').hide().slideDown('slow');


	setupProgramScreenshotGallery();

	// Program filter
	$("#programFilterSubmit").hide();
	$('#programsFilter input').click(function(e){		
		
		// Highlight labels
		$(this).next(':first').css('color', (this.checked ? '#EC142D' : '#868686'));
		
		if (!isGalleryView()) {		
				// Show preloader and hide tabs box 
				$('.programGrid').hide(); 
				$("#featuredProgramsContainer").hide();
				if ($(".programDetailsContainer").is(':visible')) {
					$(".programDetailsContainer, .programDetailsContainerTop").hide();
				}
			
				$('#programsLoading').fadeIn('slow', function() {
				
				// Submit filter
				$('#ProgramIndexForm').ajaxSubmit(function (data) {
					$('.programGrid').html(data);
					programGridUpdateResponseHandler();
					$('#programsLoading').hide();
					$("h3.underlined").show(); 
					$('.programGrid').show();
					refreshSIFRs();  	
				});
			});  
		}else { // Gallery view
			updateGalleryFlash();
		}
	}); 
	

	// Show program details
	$('.programGrid a').click(function(e){
		showProgramDetails(this);
		return false;
	});


	// Goals page
	$('ul.goals').hide();
	$('#goalsContainer').show();
	
	
	$(".navTabs a").parent().hover(function(e){
		if($(this).parent('li.active').size() < 1)
		{
			$(this).css('background-color', $(this).parent().css("border-top-color"));

			$(this).css('border-bottom-color', $(this).parent().css("border-top-color"));		
		}
	}, 	
	function(e){
			if($(this).parent('li.active').size() < 1)
			{
				$(this).css('background-color', '#4C4C4C');
				$(this).css('border-bottom-color', '#797979');
				$(this).parent().css('background-color', '#ECEBEB');
			}
	});

	// Featured programs tabs
	$(".navTabs a").click(function(e){
		$(".featuredBox").hide();
		$("#featuredBox" + this.innerHTML.replace(' ', '_')).show();
		$(".navTabs li").removeClass('active').addClass('inactive');
		$(this).parent().parent().addClass("active").removeClass("inactive");
		$(this).parent().parent().css('background-color', $(this).parent().parent().css("border-top-color"));
		
		$(this).parent().parent().parent().children().not('.active').children(0).css('background-color', '#4C4C4C').css('border-bottom-color', '#797979').parent().css('background-color', '#ECEBEB');
		
		
		// Submit AJAX
		$('.programGrid').hide();
		var tab = this;
		//alert(rootUrl + escape('programs/genre:' + this.innerHTML));
		$('#programsLoading').fadeIn('slow', function() { 
			
			sIFR.replace(helveticaRounded, {
				    selector: 'h3.grey',
				    wmode: 'transparent',
				    css: [
				      '.sIFR-root { font-size: 19px; color: #363636; }'
				    ]
				  });
				
				
			$('.programGrid').load(rootUrl + escape('programs/genre:' + tab.innerHTML), null, programGridUpdateResponseHandler);
		});
		
	
		
		
		return false;
	});
 });


function updateGalleryFlash()
{	
	
	$('.programGrid').hide(); 
	$("#featuredProgramsContainer").hide();
	
	if($(".programDetailsContainer").is(':visible'))
	{
		$(".programDetailsContainer, .programDetailsContainerTop").hide();
	}
	
	$('#videoContent').show();

	$('#ProgramIndexForm').get(0).action = rootUrl + 'programs.xml';
	
	// notify loading to flash here
	$('#galleryFlash').get(0).setStateLoading();
	
	// Submit filter
	$('#ProgramIndexForm').ajaxSubmit(function(data){
		// notify flash here
		// alert(data);
	
	
	var str = new XMLSerializer().serializeToString(data);
	
		$('#galleryFlash').get(0).sendXML(str);
	});
}

function openMegaShow(str) {
  	//if(str == 'close')

//alert('Got from flash!' + str);
	//{
	//	// Hide flash here
		$('#videoContent').hide();
		//$('').show();
		$('#programsLoading').fadeIn('slow');

		$('.programDetailsContainer').load(rootUrl + 'programs/view/' + str, null, updateProgramDetails);		
	//}
  return str + " received";
 }



function updateProgramDetails(responseText, textStatus, XMLHttpRequest)
{	
	$('#programsLoading').fadeOut('slow', function(){ $('.programDetailsContainer, .programDetailsContainerTop').fadeIn('slow'); setupProgramScreenshotGallery(); });
	
	
	$('#backToPrograms').click(function(e){
		$('.programDetailsContainer, .programDetailsContainerTop').fadeOut('slow', function(){
			
			if(isGalleryView())$('#videoContent').show();
			else $('.programGrid').show();
			
			//Restore tabs
			if(featuredProgramsState == 'visible')$("#featuredProgramsContainer").show();	
		}); return false; });
	
	refreshSIFRs();

	
	//Update bindings on AJAX content
	$('.programDetailsNav .navDetails').click(function(e){
		$('.programDetailsContainer').load(rootUrl + '/programs/view/' + currentProgramId, null, updateProgramDetails);
		$('.programDetailsContainer, .programDetailsContainerTop').show();
		return false;
	});
	
	$('.programDetailsNav .navBenefits').click(function(e){
		$('.programDetailsContainer').load(rootUrl + '/programs/benefits/' + currentProgramId, null, updateProgramDetails);
		$('.programDetailsContainer, .programDetailsContainerTop').show();
		return false;
	});
	
	$('.programDetailsNav .navVideo').click(function(e){
		$('.programDetailsContainer').load(rootUrl + '/programs/video/' + currentProgramId, null, updateProgramDetails);
		$('.programDetailsContainer, .programDetailsContainerTop').show();
		return false;
	});
}


function programGridUpdateResponseHandler(responseText, textStatus, XMLHttpRequest)
{
	
	// Show program details
	$('.programGrid a').click(function(e){
		showProgramDetails(this);
		return false;
	});
	
	$('#programsLoading').fadeOut('slow');
	$('.programGrid').fadeIn('slow', function(){ 
		
		
	refreshSIFRs();
	
	});
}



  
 