/*
// TWiT LIVE JS DOCUMENT VER 2.5
// CREATED: 2009 JULY 24 
// BY: KEVIN PORTEOUS
// WEB: HTTP://WWW.KEVINPORTEOUS.COM
// EMAIL: KEVIN[at]KEVINPORTEOUS.COM
//
// LAST UPDATED: 2009 OCTOBER 25
*/

var defaultStream = "#bitgravity";
var viewerUpdateFrequecey = 120; // viewer count update frequency
var statusUpdateFrequecey = 120; // viewer count update frequency

var timeOffset = -7;

// #################################################################### \\
// # AUTO HIDE SHOW CHATROOM BUTTON (START)						      # \\                    
// #################################################################### \\

// hide the chat button after 30 seconds
var timer = setInterval( hideChatButton, 30000); // hide after 30 seconds

// update the viewer count every 60 secsond
var updateViewers = setInterval( viewers, viewerUpdateFrequecey * 1000); // update every 60 sec. BG has 60 sec lag.

// update the viewer count every 60 secsond
var updateStreamStatus = setInterval( checkStream, statusUpdateFrequecey * 1000); // update every 60 sec. BG has 60 sec lag.

function hideChatButton() {
	
	//fade chat button out
	$("#chat-show").animate({opacity: 0}, 200);
	
	//clear interval counter
	clearInterval(timer);
	
}

// #################################################################### \\
// # AUTO HIDE SHOW CHATROOM BUTTON (END)						      # \\                    
// #################################################################### \\

$(document).ready(function(){
						   
// scroll down to video if using lower res then height 768, e.g. netbook
if(screen.height < 768){ $('html,body').animate({scrollTop: 130}, 2000); }
		  		   
// check stream stored in cookie
if ( $.cookie('TWiTStream') == null ) { var selectStream = defaultStream; } else { var selectStream = $.cookie('TWiTStream'); }

// fix button placement if > ie 6
if($.browser.msie && parseFloat(jQuery.browser.version.substr(0,1)) <= 7){ $("#chat-show").css('top', '149px'); }
						   
$('#streamsNav a').each(function () {

	//alert('checking: ' + this.hash + ' against ' + selectStream);
	
	if(this.hash == selectStream){

		$(this).addClass('streamSelect');
		replaceStream(this.hash);

	} else {
	

		$(this).find('img').each(function() {
		
			var src = $(this).attr("src").replace("_off", "").match(/[^\.]+/) + "_off.jpg";
			$(this).attr("src", src);
		
		});
		

	}
	
});

$('#streamsNav a').click(function () {
								   
	// set all buttons ti off
	$('#streamsNav a').find('img').each(function() {
	
		var src = $(this).attr("src").replace("_off", "").match(/[^\.]+/) + "_off.jpg";
		$(this).attr("src", src);
	
	});
	
	// set selected to on
	$(this).find('img').each(function() {
	
		var src = $(this).attr("src").replace("_off", "").match(/[^\.]+/) + ".jpg";
		$(this).attr("src", src);
	
	});

	replaceStream(this.hash);
	
	// set the stream cookie
	
	$.cookie('TWiTStream', this.hash);
	
	//alert('cookie set as: ' + this.hash);
	
	return false;

});
	
// load viewer numbers
viewers();

// load podcasts
podasts();

// check stream
checkStream();

$(function($) {

	  var twitTime = {
		utc: true,
		utc_offset: timeOffset // TIME OFFSET
	  }
		$('.clock-time').jclock(twitTime);

});

//animate button (flashing)
$("#chat-show").animate({opacity: 0.2}, 500).animate({opacity: 1.0}, 500).animate({opacity: 0.2}, 500).animate({opacity: 1.0}, 500)

// #################################################################### \\
// # DIV HOVER LINK CLICK (START)							          # \\                    
// #################################################################### \\

$(".divlink").click(function () {
	var fwd = $(this).find('a:first').attr('rel');
	window.open(fwd, '_blank');
	return false;
});
		  
// #################################################################### \\
// # DIV HOVER LINK CLICK (END)							     	      # \\                    
// #################################################################### \\

// #################################################################### \\
// # SHOW CHATROOM FROM TEXT LINK CLICK (START)				          # \\                    
// #################################################################### \\

$('#showchat').click(function () {
							   
			
	// check if chat rooms is already displayed
	if( $('#chat-client').is(':visible')){ 
	
	
		// chat client is hidden and must be shown
		
		// stop hiding chat room button
		clearInterval(timer);
		
		// scroll up to video
		$('html,body').animate({scrollTop: 0}, 1000);
		
		// hide chatroom (fades out)			  
		$("#chat-client").fadeOut();
		
		// change text of chat link
		$('#showchat').html('Show Chat Below');

		return false;

	
	} else {
	
		// chat client is hidden and must be shown
		
		// stop hiding chat room button
		clearInterval(timer);
		
		// show chatroom (slides down)			  
		$("#chat-client").slideDown();
		
		// scroll down to chat client
		$('html,body').animate({scrollTop: 600}, 1000);
		
		// change text of chat link
		$('#showchat').html('Hide Chat');

		return false;

	}
	
	return false;
	
});

// #################################################################### \\
// # SHOW CHATROOM FROM TEXT LINK CLICK (END)				          # \\                    
// #################################################################### \\

// #################################################################### \\
// # SHOW/HIDE TWIT PRODUCTION SCHEDULE GOOGLE CALENDAR (START)	       # \\                    
// #################################################################### \\

$('#showcalendar').click(function () {
	
	$("#calendar").slideToggle("slow");
	
	return false;

});
	
// #################################################################### \\
// # SHOW/HIDE TWIT PRODUCTION SCHEDULE GOOGLE CALENDAR (END)	      # \\                    
// #################################################################### \\

}); // END DOC READY


// #################################################################### \\
// # SCRIPTING FOR VIDEO POPOUT WINDOW (START)						  # \\                    
// #################################################################### \\

var profiles =
{
	video:
	{
		height:380,
		width:640,
		//center:1,
		top:0,
		left:0,
		clearVideo:1,
		resizable:0
	},

	chat:
	{
		height:380,
		width:640,
		//center:1,
		top:0, 
		left:640//,
		//clearVideo:1
	}

};


$(function()
{
	$(".popout").popupwindow(profiles);
});


// #################################################################### \\
// # SCRIPTING FOR VIDEO POPOUT WINDOW (END)						  # \\                    
// #################################################################### \\


// #################################################################### \\
// # SCRIPTING FOR TWIT CLOCK (START)								  # \\                    
// #################################################################### \\

$(document).keydown(function (e) { 

	if(e.which == 32) { 

		showClock();

	return false; 

	} 
	
});


// Show TWit Time
function showClock() {

	$('#clock').fadeIn("Slow").animate({opacity: 1.0}, 5000).fadeOut("Slow");
	
}


// #################################################################### \\
// # SCRIPTING FOR TWIT CLOCK (END)								  # \\                    
// #################################################################### \\



// #################################################################### \\
// # SCRIPTING FOR BITGRAVITY VIEW COUNTER (START)					  # \\                    
// #################################################################### \\

function viewers(){
		
	// update viewer count via jQuery AJAX
	$.ajax({
		url: "../data/bitgravity_total.txt",
		cache: false,
		success: function(html){

			// update <p> tag innerHTML
			if(html != 0){
				$("#view-count").html(html + " viewers");
			}
		
		}
	});

	
}

// #################################################################### \\
// # SCRIPTING FOR BITGRAVITY VIEW COUNTER (END)					  # \\                    
// #################################################################### \\


// #################################################################### \\
// # SCRIPTING FOR PODCAST RELEASES (START)							  # \\                    
// #################################################################### \\

function podasts(){
		
	// update viewer count via jQuery AJAX
	$.ajax({
		url: "../data/podcast.txt",
		cache: true,
		success: function(html){

			$("#podcasts").html(html);
		
		}
	});

	
}

// #################################################################### \\
// # SCRIPTING FOR PODCAST RELEASES (END)							  # \\                    
// #################################################################### \\


// #################################################################### \\
// # SCRIPTING FOR STREAM STATUS CHECKER (START)					  # \\                    
// #################################################################### \\

function checkStream() {
	
	var noCache = Date();
	
	$.getJSON("../data/stream.json", { "noCache": noCache }, function(data) {

		var obj = (data);
	
			$.each(obj, function(i, val) {
			
				if(obj[i].status == 'true'){ $(i).addClass('streamUp');  $(i).removeClass('streamDown'); } else { $(i).addClass('streamDown'); $(i).removeClass('streamUp');}
				
			});
	
		});

}



// #################################################################### \\
// # SCRIPTING FOR STREAM STATUS CHECKER (END)	 					  # \\                    
// #################################################################### \\




// #################################################################### \\
// # REPLACE STREAM (START)					  						  # \\                    
// #################################################################### \\

function replaceStream(newStream){
	
	// clear all layers
	$('#place').html('');
	$('#popoutvideo').show();
	$('#bull1').show();


if (newStream == "#bitgravity"){
	
	// stablerelease variable comes from the BitGravity functions JS file.
	
	var so = new SWFObject( stablerelease, "TWiTUstream", "640", "380", "9", "#000000");
	so.addVariable("File", "http://bglive-a.bitgravity.com/twit/live/low");//.File = "http://bglive-a.bitgravity.com/twit/live/2low";
	so.addVariable("FileQuality2", "http://bglive-a.bitgravity.com/twit/live/high");//.FileQuality2 = "http://bglive-a.bitgravity.com/twit/live/2high";
	so.addVariable("FileLabel", "Standard Quality");//.FileLabel = "Standard";
	so.addVariable("FileQuality2Label", "High Quality");//.FileQuality2Label = "HQ";
	so.addVariable("FileBitrate", "350");//.FileBitrate = "350";
	so.addVariable("FileQuality2Bitrate", "800");//.FileQuality2Bitrate = "800";
	so.addVariable("DefaultLevel", "1");//.DefaultLevel = "1";
	so.addVariable("Mode", "live");//.Mode = "live";
	so.addVariable("AutoPlay", "true");//.AutoPlay = "true";
	so.addVariable("ScrubMode", "simple");//.ScrubMode = "simple";
	so.addVariable("BufferTime", "1.5");//.BufferTime = "1.5";
	so.addVariable("VideoFit", "automatic");//.VideoFit = "automatic";
	so.addVariable("DefaultRatio", "1.777778");//.DefaultRatio = "1.777778";
	so.addVariable("LogoImage", "http://bitcast-b.bitgravity.com/player/6/assets/bglogo100.png");//.LogoImage = "http://bitcast-b.bitgravity.com/player/6/assets/bglogo100.png";
	so.addVariable("LogoPosition", "topright");//.LogoPosition = "topright";
	so.addVariable("LogoLink", "http://bitgravity.com");//.LogoLink = "http://bitgravity.com";
	so.addVariable("ColorBase", "#3493b0");//.ColorBase = "#3493b0";
	so.addVariable("ColorControl", "#ffffff");//.ColorControl = "#ffffff";
	so.addVariable("ColorHighlight", "#a2dbec");//.ColorHighlight = "#a2dbec";
	so.addVariable("ColorFeature", "#a2dbec");//.ColorFeature = "#a2dbec";
	so.addParam("allowFullScreen", "true");
	so.addParam("allowScriptAccess", "always");
	so.addParam("wmode", "transparent");
	so.write("video");

} // END  IF BitGravity
	


if (newStream == "#ustream"){

	var so = new SWFObject("http://cdn1.ustream.tv/swf/4/viewer.107.swf?cid=1/1524", "TWiTUstream", "640", "380", "9", "#000000");
	so.addVariable("flashvars", "autoplay=true&amp;brand=embed&amp;cid=1524");
	so.addParam("scale", "exactfit");
	so.addParam("swliveconnect", "false");
	so.addParam("allowscriptaccess", "never");
	so.addParam("menu", "false");
	so.addParam("allowFullScreen", "true");
	so.write("video");

} // END IF Ustream
	


if (newStream == "#stickam"){

	var so = new SWFObject("http://player.stickam.com/stickamPlayer/174207768-4654009", "TWiTStickam", "640", "380", "9", "#000000");
	so.addParam("scale", "exactfit");
	so.addParam("swliveconnect", "false");
	so.addParam("allowscriptaccess", "never");
	so.addParam("menu", "false");
	so.addParam("allowFullScreen", "true");
	so.addVariable("allowfullscreen", "true");
	//so.write("video");
	
	$('#video').html('<strong>Stickam Player Here</strong>');
	
	//$('#popout').hide();
	
} // END IF Stickam
		


if (newStream == "#audio"){

  var so = new SWFObject('assets/player/player-viral.swf','mpl','500','35','9');
  so.addParam('allowfullscreen','false');
  so.addParam('allowscriptaccess','always');
  so.addParam('wmode','opaque');
  so.addVariable('duration','86400');
  so.addVariable('file','http://twit.am:80/listen');
  so.addVariable("skin", "assets/player/skin.swf");
  so.addVariable('type','sound');
  so.addVariable('autostart','true');
  so.write('video');
  
  $("#place").html("<img src='assets/images/audio_stream.jpg' width='500' height='340' alt='TWiT Live Audio Stream' />");
  
  $('#popoutvideo').hide();
  $('#bull1').hide();
  

} // END IF Stickam
	
} // EOF

// #################################################################### \\
// # REPLACE STREAM (END)					  						  # \\                    
// #################################################################### \\

