// JavaScript Document

var ytplayer=null;
var mute_state=0;
var thumbScroller=null;
var scrollCount=0;
var thumbsize=118;
var zoom=0;			// movie window zoom status. 0=small, 1=large
var movies = [];  	// multi dimensional array


var ISODate = {
    convert : function (input){
        if (!(typeof input === "string")) throw "ISODate, convert: input must be a string";
        var d = input.match(/^(\d{4})-(\d{2})-(\d{2})[T ](\d{2}):(\d{2}):(\d{2}(?:\.\d+)?)(Z|(([+-])(\d{2}):(\d{2})))$/i);
        if (!d) throw "ISODate, convert: Illegal format";
        return new Date(
                Date.UTC(d[1],d[2]-1,d[3],d[4],d[5],d[6]|0,(d[6]*1000-((d[6]|0)*1000))|0,d[7]) +
                (d[7].toUpperCase() ==="Z" ? 0 : (d[10]*3600 + d[11]*60) * (d[9]==="-" ? 1000 : -1000))
        );
    },
    format : function(t,utc){
        if (typeof t === "string") t = this.convert(t);
        if (!(t instanceof Date)) throw "ISODate, format: t is not a date object";
        t = utc ?
                [t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate(),t.getUTCHours(),t.getUTCMinutes(),t.getUTCSeconds()] :
                [t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds()];

        return this.month[t[1]] + " " +this.ordinal(t[2]) + ", " +t[0] +
                " @ " + this.clock12(t[3],t[4]);
    },
    month:["January","February","March","April","May","June","July","September","October","November","December"],
    ordinal:function(n) {
        return n+(["th","st","nd","rd"][(( n % 100 / 10) | 0) ===1 ? 0 : n % 10 < 4 ? n % 10 : 0 ]);
    },
    clock12:function(h24,m,s){
        h24%=24;
        var h12 = h24 % 12;
        if (h12===0) h12=12;
        return h12 + ":" +
                (m<10 ? "0" + m : m) +
                (isFinite(s) ? ":" + (s<10?"0"+s:s): "") +
                (h24<12 ? "AM":"PM");
    }
};

function doUpload(language) {
	window.location="upload1.php"+language;
}


function setytplayerState(newState) {
  
}

function onYouTubePlayerReady(playerId) {
  ytplayer = document.getElementById("moukaplayer");
  $('player').setStyle('position','absolute');
  $('player').setStyle('left','40px');
  $('player').setStyle('top','120px');
  ytplayer.addEventListener("onStateChange", "onytplayerStateChange");
  ytplayer.addEventListener("onError", "onPlayerError");
  ytplayer.setStyle('z-index','110');
	//loadNewVideo('u1zgFlCw8Aw',0);
}

function onytplayerStateChange(newState) {
  setytplayerState(newState);
}

function onPlayerError(errorCode) {
  alert("An error occured: " + errorCode);
}

// functions for the api calls
function loadNewVideo(id,startSeconds) {
//	  ytplayer.setStyle('position','absolute');
//	  ytplayer.setStyle('left','40px');
//	  ytplayer.setStyle('top','120px');
	ytplayer.loadVideoById(id, parseInt(startSeconds));
}

function cueNewVideo(id, startSeconds) {
  if (ytplayer) {
	ytplayer.cueVideoById(id, startSeconds);
  }
}


function getPlayerState() {
  if (ytplayer) {
	return ytplayer.getPlayerState();
  }
}



function getBytesLoaded() {
  if (ytplayer) {
	return ytplayer.getVideoBytesLoaded();
  }
}

function getBytesTotal() {
  if (ytplayer) {
	return ytplayer.getVideoBytesTotal();
  }
}

function getCurrentTime() {
  if (ytplayer) {
	return ytplayer.getCurrentTime();
  }
}

function getDuration() {
  if (ytplayer) {
	return ytplayer.getDuration();
  }
}

function getStartBytes() {
  if (ytplayer) {
	return ytplayer.getVideoStartBytes();
  }
}

function mute() {
  if (ytplayer) {
	ytplayer.mute();
  }
}

function unMute() {
  if (ytplayer) {
	ytplayer.unMute();
  }
}

function getEmbedCode() {
  alert(ytplayer.getVideoEmbedCode());
}

function getVideoUrl() {
  alert(ytplayer.getVideoUrl());
}

function setVolume(newVolume) {
  if (ytplayer) {
	ytplayer.setVolume(newVolume);
  }
}

function getVolume() {
  if (ytplayer) {
	return ytplayer.getVolume();
  }
}

function clearVideo() {
  if (ytplayer) {
	ytplayer.clearVideo();
  }
}

var play = function() {
	ytplayer.playVideo();
}

var pause = function() {
  if (ytplayer) {
	ytplayer.pauseVideo();
  }
}

var stop= function() {
  if (ytplayer) {
	ytplayer.stopVideo();
  }
}

var restart = function() {
  if (ytplayer) {
	ytplayer.seekTo(0, true);
  }
}

var doMute = function()
{
	mute_state=!mute_state;
	if(mute_state)
	{
		mute();
	}else{
		unMute();
	}
}

var ButtonOver = function(event)
{
	event.target.tween('opacity','1.0');
}

var ButtonLeave = function(event)
{
	event.target.tween('opacity','0.5');
}

var scrollLeft = function()
{
	if(scrollCount>0)
	{
		scrollCount-=thumbsize;
		thumbScroller.start(scrollCount,0);
	}
}

var scrollRight = function()
{
	if(scrollCount<(50*thumbsize))
	{
		scrollCount+=thumbsize;
		thumbScroller.start(scrollCount,0);
	}
}

var toggleZoom = function()
{
	ytplayer = document.getElementById("moukaplayer");
	
	zoom=!zoom;
	if(zoom==0)
	{
	  ytplayer.setStyle('width','440px');
	  ytplayer.setStyle('height','279px');
	  $('player').setStyle('width','440px');
	  $('player').setStyle('height','279px');

	  // reset areas
	  $('button_leftscroll').setStyle('visibility','visible');
	  $('button_rightscroll').setStyle('visibility','visible');
	  $('thumbs_control').setStyle('visibility','visible');
	  $('thumblist_selection').setStyle('visibility','visible');
	  $('thumbnails').setStyle('visibility','visible');
	  $('information2').setStyle('visibility','visible');
	  $('information_gap').setStyle('visibility','visible');
	  $('information').setStyle('top','410px');
	  $('information').setStyle('left','40px');
	  $('map').setStyle('left','500px');
	  $('campaign_panel').setStyle('visibility','visible');
	}else{
	  ytplayer.setStyle('width','900px');
	  ytplayer.setStyle('height','480px');
	  $('player').setStyle('width','900px');
	  $('player').setStyle('height','480px');
	  
	  // hide & relocate other areas
	  $('button_leftscroll').setStyle('visibility','hidden');
	  $('button_rightscroll').setStyle('visibility','hidden');
	  $('thumblist_selection').setStyle('visibility','hidden');
	  $('thumbs_control').setStyle('visibility','hidden');
	  $('thumbnails').setStyle('visibility','hidden');
	  $('information2').setStyle('visibility','hidden');
	  $('information_gap').setStyle('visibility','hidden');
	  $('information').setStyle('top','625px');
	  $('information').setStyle('left','504px');
	  $('map').setStyle('left','-2000px');
	  $('campaign_panel').setStyle('visibility','hidden');
	}
}

var mediaButtonsSetup = function()
{
	$('play_button').setStyle('cursor',"pointer");
	$('play_button').setStyle('opacity',"0.5");
	$('play_button').setStyle('z-index',"101");
	$('play_button').addEvent('click',play);
	$('play_button').addEvent('mouseover',ButtonOver);
	$('play_button').addEvent('mouseleave',ButtonLeave);
	
	$('pause_button').setStyle('cursor',"pointer");
	$('pause_button').setStyle('opacity',"0.5");
	$('pause_button').setStyle('z-index',"101");
	$('pause_button').addEvent('click',pause);
	$('pause_button').addEvent('mouseover',ButtonOver);
	$('pause_button').addEvent('mouseleave',ButtonLeave);

	$('restart_button').setStyle('cursor',"pointer");
	$('restart_button').setStyle('opacity',"0.5");
	$('restart_button').setStyle('z-index',"101");
	$('restart_button').addEvent('click',restart);
	$('restart_button').addEvent('mouseover',ButtonOver);
	$('restart_button').addEvent('mouseleave',ButtonLeave);

	$('mute_button').setStyle('cursor',"pointer");
	$('mute_button').setStyle('opacity',"0.5");
	$('mute_button').setStyle('z-index',"101");
	$('mute_button').addEvent('click',doMute);
	$('mute_button').addEvent('mouseover',ButtonOver);
	$('mute_button').addEvent('mouseleave',ButtonLeave);

	$('zoom_button').setStyle('cursor',"pointer");
	$('zoom_button').setStyle('opacity',"0.5");
	$('zoom_button').setStyle('z-index',"101");
	$('zoom_button').addEvent('click',toggleZoom);
	$('zoom_button').addEvent('mouseover',ButtonOver);
	$('zoom_button').addEvent('mouseleave',ButtonLeave);

	$('button_leftscroll').setStyle('cursor',"pointer");
	$('button_leftscroll').setStyle('opacity',"0.5");
	$('button_leftscroll').addEvent('mouseover',ButtonOver);
	$('button_leftscroll').addEvent('mouseleave',ButtonLeave);

	$('button_rightscroll').setStyle('cursor',"pointer");
	$('button_rightscroll').setStyle('opacity',"0.5");
	$('button_rightscroll').addEvent('mouseover',ButtonOver);
	$('button_rightscroll').addEvent('mouseleave',ButtonLeave);

	$('button_leftscroll').addEvent('click', scrollLeft);
	$('button_rightscroll').addEvent('click', scrollRight);

	var thumbNails = $('thumbnails');
	thumbScroller = new Fx.Scroll(thumbNails);
}



function selectMovie(index) {
	var movie_record = movies[index];
	loadNewVideo(movie_record["id"],0);
	positionMap(movie_record["geo"]);
	$('movie_title').innerHTML=movie_record["title"];
	$('movie_description').innerHTML=movie_record["description"];
	$('movie_author').innerHTML=movie_record["author"];
	$('movie_date').innerHTML=movie_record["timestamp"];
	$('thumblist_selection').setStyle('left',index*thumbsize);
	$('thumblist_selection').setStyle('visibility','visible');
	$('thumblist_selection').setStyle('opacity','0.1');
	$('movie_title').setStyle('color','#000000');
	$('movie_author').setStyle('color','#000000');
	$('movie_date').setStyle('color','#000000');
	$('movie_description').setStyle('color','#000000');
	$('movie_title').tween('color','#FFFFFF');
	$('movie_author').tween('color','#FFFFFF');
	$('movie_date').tween('color','#FFFFFF');
	$('movie_description').tween('color','#FFFFFF');
	$('thumblist_selection').tween('opacity','1.0');
}

function scrollThumbs(index) {
	if(index<49 && index>-1)
	{
		scrollCount=index*thumbsize;
		thumbScroller.start(scrollCount,0);
	}
}

function loadVideosStream(data) {
  var feed = data.feed;
  var entries = feed.entry || [];
  var html = ['<ul id="thumblist">'];
  for (var i = 0; i < entries.length; i++) {
	  
	  
	  
    var entry = entries[i];
    var title = entry.title.$t.substr(0, 60);
    var thumbnailUrl = entries[i].media$group.media$thumbnail[0].url;
    var playerUrl = entries[i].media$group.media$player[0].url;
	var pos = playerUrl.lastIndexOf("?v=");
	var description = "";
	if($chk(entry.media$group.media$description.$t))
	{
		description = entry.media$group.media$description.$t;
	}
	var timestamp = entry.updated.$t;
	var author = entry.author[0].name.$t;
	var geo="63.666664 25.600000";
	if($chk(entry.georss$where))
	{
		geo = entry.georss$where.gml$Point.gml$pos.$t;
	}
	var movie_record = new Array();
	movie_record["title"]=title; 
	movie_record["thumbURL"]=thumbnailUrl;
	movie_record["id"]=playerUrl.substr(pos+3);
	var position = description.indexOf('@@');
	var desc;
	if(position>0)
	{
		movie_record["author"]=description.substr(0,position);
		desc=description.substr(position+2);
	}
	else
	{
		movie_record["author"]="No Author Specified";
		desc=description;
	}
	// strip off the email address
	position = desc.indexOf('%%');
	if(position>0)
	{
		desc = desc.substr(0,position);	
	}
	movie_record["description"]=desc;
	
	
	movie_record["timestamp"]=ISODate.format(timestamp);
	movie_record["geo"]=geo;
	movies.push(movie_record);
	
	html.push('<li><img onclick="selectMovie(',i,');" src="',thumbnailUrl,'" width="110" height="88" title="',title,'"/></li>');
	
//	html.push('<li><img onclick="loadNewVideo(\'', i, '\',\'', playerUrl.substr(pos+3), '\',\'', escape(title), '\',\'', escape(description), '\',\'', escape(author), '\',\'', timestamp, '\',0)" src="',thumbnailUrl,'" width="110" height="88"/></li>');
  }
  html.push('</ul>');
  $('thumbnails').innerHTML = html.join('');

}


window.addEvent('domready', function() {
	initGoogleEarth();
	mediaButtonsSetup();
	

	var params = { allowScriptAccess: "always", bgcolor: "#000000", wmode: "opaque" };
	var atts = { id: "moukaplayer" };
	swfobject.embedSWF("http://www.youtube.com/apiplayer?enablejsapi=1&playerapiid=moukaplayer", 
					   "youtube", "440", "279", "8", null, null, params, atts);    
            
	scrollCount=0;
	$('thumbnails').scrollLeft=0;
	mute_state=0;
	$('thumblist_selection').setStyle('visibility','hidden');


});

