var FEED_URL;
var result;
var response;
var uploadCount = 4;
var favCount = 2;
var deviceAgent = navigator.userAgent.toLowerCase();
var agentID = deviceAgent.match(/(iphone|ipod|ipad)/);

function checkConnectFB(){
	if(!FB){
		return;
	}
	else{
		$('#toBlockFB').css({'display': 'block'});
		$('#fb_connect_error').css({'display': 'none'});
	}
}

function showYoutubeTab(userName){

	var uploadUrl = 'http://gdata.youtube.com/feeds/api/users/' + userName + '/uploads?v=2&alt=jsonc';
	var favUrl = 'http://gdata.youtube.com/feeds/api/users/' + userName + '/favorites?v=2&alt=jsonc';
	
	responseUpload = $.ajax(uploadUrl,{ success: buildUploadHTML, dataType: 'jsonp',crossDomain: true});
	
	responseFav = $.ajax(favUrl, {success: buildFavHTML, dataType: 'jsonp',crossDomain: true});

}
function buildUploadHTML(response){
	
	var pageData = response.data.items;
	var htmlItems ='';
	i = 0;
	var isPlayerReady = 0;
	
	if(uploadCount > pageData.length)
		uploadCount = pageData.length;
	while(i <= uploadCount-1){
		
		if(isPlayerReady == 0){
			if(pageData[i].accessControl.syndicate == 'denied'){
				htmlItems += buildUploadItem(pageData[i]);
			}
			else{
				$('#yt_player').html(buildPlayer(pageData[i]));
				$('#info_conteiner_main').html(buildPlayerInfo(pageData[i]));
				isPlayerReady = 1;
				

			}

		}
		else
			htmlItems += buildUploadItem(pageData[i]);
		i++;
	}
	
	$('#upload_conteiner_holder').html(htmlItems);
	$('#upload_count').html(response.data.totalItems);
	$('#s_a_u').attr('href', 'http://www.youtube.com/user/'+ pageData[0].uploader +'#p/a');
	resizeUploadBox();
	$('#toBlockYT').css({'display': 'block'});
	$('#yt_connect_error').css({'display': 'none'})
}
var buildFavHTML = function(response){
	var pageData = response.data.items;
	var htmlItems = '';
	i = 0;
	if(response.data.items != null){
	while(i <= favCount-1 ){
		htmlItems += buildFavItem(pageData[i]);
		i++;
	}
	$('#favorites_conteiner_holder').html(htmlItems);
	$('#fav_count').html(response.data.totalItems);
	$('#s_a_f').attr('href', 'http://www.youtube.com/user/'+ pageData[0].uploader +'#p/a');
	}
	else{
		$('#fav_count').html('0');
		$('#s_a_f').remove();
	}
}


var crossBroserVideo = function(data) {
	
	if (agentID && data.mobile != null) {
		return 'http://m.youtube.com/#/watch?xl=xl_blazer&v='+data.id;
	}
	return data.player['default'];
}

var buildUploadItem = function (data){
	var item = '';
	uploaded = data.uploaded;
	if(isNaN(new Date(uploaded))){
		uploaded = sinceForIe(uploaded);
	}
	secDiff = (new Date().getTime())-(new Date(uploaded).getTime());

	var sinceDate = timeSince(secDiff); // Returns array, two elem.

	item = '<div class="item"><div class="thumb">';
	item += '<img src="' + data.thumbnail.sqDefault + '" width="96" height="54" alt="' + data.title + '" />';
	item += '<span class="duration">' + secondsToTime(data.duration) + '</span>';
	item += '</div><div class="video_info">';
	item += '<a  target="_blank" href="' + crossBroserVideo(data) + '" class="upload_video_title" title="' + data.title + '">' + data.title + '</a>';
	item += '<div class="details">' + data.viewCount + ' view' + getS(data.viewCount) +' - '+ sinceDate[0] + ' '+ sinceDate[1] +' ago</div>';
	item += '</div><div class="clear"></div></div>';

	return item;
}
var buildFavItem = function (data){
	var item = '';
	uploaded = data.video.uploaded;
	secDiff = (new Date().getTime())-(new Date(uploaded).getTime());
	
	item = '<div class="item"><div class="thumb">';
	item += '<img src="' + data.video.thumbnail.sqDefault + '" width="96" height="54" alt="' + data.video.title + '" />';
	item += '<span class="duration">' + secondsToTime(data.video.duration) + '</span>';
	item += '</div><div class="video_info">';
	item += '<a target="_blank" href="' + crossBroserVideo(data.video) + '" class="upload_video_title" title="' + data.video.title + '">' + data.video.title + '</a>';
	item += '<div class="details"><a target="_blank" href="http://www.youtube.com/user/'+ data.author +'" title="'+ data.author +' on Youtube">'+ data.author +'</a> - '+ data.video.viewCount +' view'+ getS(data.video.viewCount) +'</div>';
	item += '</div><div class="clear"></div></div>';
	return item;
}
var buildPlayer = function(firstElem){
	
	onYouTubePlayerAPIReady(firstElem);
	
}
var buildPlayerInfo = function(firstElem){
	

    var infoHtml = '';
	getS(firstElem.viewCount);
	infoHtml +='<div class="video_title">'+ firstElem.title +'</div>';
	infoHtml +='<span class="details">From: '+ firstElem.uploader +' | '+ buildDate(firstElem.updated) +' | '+ firstElem.viewCount +' view' + s +'</span>';
	infoHtml +='<p class="description">'+ firstElem.description +'</p>';
	infoHtml +='<a target="_blank" href="'+ crossBroserVideo(firstElem) +'" class="more">View comments, related videos, and more </a>';
	return infoHtml;
}
var buildDate = function(date){
	var m_names = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
	var d = new Date();
	var curr_date = d.getDate();
	var curr_month = d.getMonth();
	var curr_year = d.getFullYear();
	return(m_names[curr_month] + " " + curr_date + ", " + curr_year);


}

var secondsToTime = function(secs){
	var divisor_for_minutes = secs % (60 * 60);
	var minutes = Math.floor(divisor_for_minutes / 60);
	var divisor_for_seconds = divisor_for_minutes % 60;
	var seconds = Math.ceil(divisor_for_seconds);
	// Adding leadeng zero if secons < then 10
	if(seconds < 10)
		seconds = '0'+seconds;
	return (minutes + ':' + seconds);
}

  

  
  var player;
  function onYouTubePlayerAPIReady(videoData) {
	if (!videoData)
		return;
	if(typeof YT == 'undefined')
		return;
	player = new YT.Player('yt_player', {
	  height: '230',
	  width: '400',
	  videoId: videoData.id,
	  playerVars: {'autohide': 1, 'controls': 1, 'enablejsapi': 1}


	});
  }
var resizeUploadBox = function() {
	info = $('#info_box')[0].offsetHeight;
	playerH = $('#yt_player')[0].offsetHeight;
	main = $('div.conteiner_each')[0].offsetHeight;
	newHeight = main - playerH - info;
	$('.upload_conteiner').css('height', (newHeight - 25) );
	
}
var resizeWall = function() {
	head = $('.head')[0].offsetHeight;
	if($('.comment_place')[0].offsetHeight > 140)
		comment = $('.comment_place')[0].offsetHeight;
	else
		comment = 140;
	main = $('div.conteiner_each')[0].offsetHeight;
	newHeight = main - comment - head;
	
	$('.wall_place').css('height', (newHeight - 20) );

	$('#my_like').height(newHeight - 60);
	hh = newHeight - 120;
	//$('#my_like')[0].src = "http://www.facebook.com/plugins/likebox.php?href=http%3A%2F%2Fwww.facebook.com%2Fhome.php%23%21%2Fpages%2FVionnet-Official-Page%2F138448249501971&width=400&colorscheme=light&show_faces=false&stream=true&header=false&height=" + hh;
	//alert(newHeight);
}

$(window).resize(function() {
  resizeUploadBox();
  //resizeWall();

});
var timeSince = function(sec){
	var dateMass = Array(
		{name: 'minute', value: 60},
		{name: 'hour', value: 3600},
		{name: 'day', value: 86400},
		{name: 'week', value: 604800},
		{name: 'month', value: 2592000},
		{name: 'year', value: 31104000}
	);
	sec = Math.round(sec / 1000);
	
	for(var i in dateMass){
		var ddata = sec / dateMass[i]['value'];
		
		if(ddata >= 1 )
			dateMass[i]['res'] = ddata;
		else {
			
			var value = Math.round(dateMass[i-1]['res']);
			
			var name = dateMass[i-1].name;
			if(value > 1)
				name = name + 's';

			return [value, name];
			
		}
	}
}
var getS = function(count){
	s = '';
	if(count > 1)
		s = 's';
	return s;
}
var sinceForIe = function(uploaded){
	dot = uploaded.indexOf('.');
	uploaded = uploaded.substring(0,dot);
	uploaded = uploaded.replace(/-/g, '/');
	uploaded = uploaded.replace(/t/i, ' ');
	return uploaded;
}
var stopOnClose = function (){
	if(player && player.state == 1)
		player.stopVideo();
}
var resizeIpad = function(){
	if(agentID){
		hhh = window.outerHeight - 50;
		iConts = $('.mt-overlay');
		for (var i = 0; i < iConts.length; i++) {
			iConts[i].style.height = hhh + 'px';
		}
	}
}

$(document).ready(function() {
	//resizeWall();
	
});
