﻿var inits = inits || {};
inits.front = {};
inits.front.onfilter = {};

var home = home || {};

inits.front.index = function() {
	home.homeMedias();
	inits.front.initZeitFilter();
	inits.front.tagCloud();
	$('ul.zeit-tabs a').click(function(){
		if ($(this).parents("li:first").is(".selected")) {
			return false;
		}
		$(this).parents("ul:first").find("li, a").removeClass("selected loading");
		$(this).parents("li:first").addClass("selected");
		$(this).addClass("loading");
		inits.front.zeitgeists(this.rel);
		MEDIA_SORTING = this.rel;
		return false;
	});
};

inits.front.edFilter = 'user';
inits.front.currentZeit = 'mostRecent';
inits.front.zeitgeists = function(show) {
	inits.front.currentZeit = show;
	$("div.zeit-ajax-container").inject("/ajax/home", {"types": TYPES, "show": show, "index.itemsPerPage": 6, "mediaSize": MEDIA_SIZE, "mediaListFormat": MEDIA_FORMAT, "edFilter":inits.front.edFilter,"isFromHome":"true"}, "h1", function(xhr, status){
		$(this).html(xhr.responseText);
		$("ul.zeit-tabs a").removeClass("loading");
		zeit.setEvents();
		utils.forceRateImg();
		zeit.setVideoFrames();
		inits.front.initZeitFilter();
		zeit.playlistEvents();
		zeit.limitDescription();
	});
};

inits.front.changeZeitgeistsFilter = function(filter) {
	inits.front.edFilter = 'user';
	inits.front.zeitgeists(inits.front.currentZeit);
};

inits.front.initZeitFilter = function() {
	$('.zeitFilterUser a').click(function(e) {
		e.stopPropagation();
		e.preventDefault();
		if ($(this).parent().hasClass('enabled')) {
			$(this).parent().parent().find('.disabled').removeClass('disabled').addClass('enabled');
			$(this).parent().removeClass('enabled').addClass('disabled');
			if ($(this).parent().hasClass('user')) {
				inits.front.edFilter = 'user';
			} else {
				inits.front.edFilter = 'editorial';
			}
			inits.front.zeitgeists(inits.front.currentZeit);
		}
	});
};

inits.front.tagCloud = function() {
	$(".tagCloud").inject("/ajax/tagCloud", {types: TYPES,"index.itemsPerPage":TAGCLOUD_HOME_PAGESIZE}, "h2");
};

inits.front.onfilter["index"] = function() {
	inits.front.tagCloud();
	inits.front.zeitgeists(MEDIA_SORTING);
};


home.homeMedias = function() {
	home.parseList();
	if (homeMediaType == "M") {
		home.homeMediasMosaic();
	} else {
		home.homeMediasFluid();
	}
};

home.mosaicBlocks = {
	block1:[
		[ {s:"large",l:8,t:25},{s:"medium",l:8,t:212},{s:"small",l:173,t:212} ],
		[ {s:"large",l:8,t:25},{s:"small",l:8,t:212},{s:"medium",l:103,t:212} ],
		[ {s:"medium",l:8,t:25},{s:"small",l:173,t:25},{s:"large",l:8,t:140} ],
		[ {s:"small",l:8,t:25},{s:"medium",l:103,t:25},{s:"large",l:8,t:140} ]
	],
	block2:[
		[ {s:"small",l:15,t:377},{s:"medium",l:103,t:377},{s:"small",l:173,t:498} ],
		[ {s:"medium",l:15,t:377},{s:"small",l:173,t:377},{s:"small",l:173,t:498} ],
		[ {s:"small",l:173,t:377},{s:"small",l:15,t:446},{s:"medium",l:103,t:446} ],
		[ {s:"small",l:173,t:377},{s:"medium",l:15,t:446},{s:"small",l:173,t:446} ]
	],
	block3:[
		[ {s:"large",l:260,t:377},{s:"medium",l:515,t:377},{s:"small",l:515,t:498} ],
		[ {s:"large",l:260,t:377},{s:"small",l:515,t:377},{s:"medium",l:515,t:446} ]
	],
	block4:[
		[ {s:"large",l:697,t:257},{s:"small",l:697,t:446},{s:"small",l:785,t:446} ],
		[ {s:"small",l:697,t:257},{s:"small",l:785,t:257},{s:"large",l:697,t:324} ]
	]
}

home.homeMediasMosaic = function() {
	$("#topContent").css('paddingLeft','4px');
	home.getMosaicMediaList();
	if( utils.getFlashVersion().split(',').shift() < 9) {
		$('#mosaicMainMedia').append('<div class="postContent"><div id="objectContainer"><div><h2>Sua vers&atilde;o do Flash Player da Adobe &eacute; antiga.</h2><div><a href="http://get.adobe.com/br/flashplayer/" target="_blank">Obtenha a &uacute;ltima vers&atilde;o do Flash Player.</a></div></div></div></div>')
	} else {
		if (home.mediaList.all[0]) {
			$('#mosaicMainMedia').append(home.getVidPlayer(home.mediaList.all[0],'425','342'));
		}
	}
	if (home.mediaList.all[0]) {
		$('#mosaicMainMedia .main-video a').attr('href','http://mais.uol.com.br/view/'+home.mediaList.all[0].pf+'/'+home.mediaList.all[0].hs).html(home.mediaList.all[0].tl);
	}

	var mediaMosaic = {large:[],medium:[],small:[]};
	for (var idxMedia = 0; idxMedia < 12; idxMedia++) {
		if (idxMedia < 3) {
			if (home.mediaList.video.length-1 > 0 && home.mediaList.photo.length > 0) {
				if (home.getRnd(2) == 1) {
					mediaMosaic.large.push(home.mediaList.video.pop());
				} else {
					mediaMosaic.large.push(home.mediaList.photo.pop());
				}
			} else if (home.mediaList.video.length-1 > 0) {
				mediaMosaic.large.push(home.mediaList.video.pop());
			} else if (home.mediaList.photo.length > 0) {
				mediaMosaic.large.push(home.mediaList.photo.pop());
			} else if (home.mediaList.text.length > 0) {
				mediaMosaic.large.push(home.mediaList.text.pop());
			} else if (home.mediaList.audio.length > 0) {
				mediaMosaic.large.push(home.mediaList.audio.pop());
			}
		} else if (idxMedia < 6) {
			if (home.mediaList.video.length-1 > 0 && home.mediaList.photo.length > 0 && home.mediaList.text.length > 0) {
				var rnd = home.getRnd(4);
				if (rnd == 1) {
					mediaMosaic.medium.push(home.mediaList.text.pop());
				} else {
					if (home.getRnd(2) == 1) {
						mediaMosaic.medium.push(home.mediaList.video.pop());
					} else {
						mediaMosaic.medium.push(home.mediaList.photo.pop());
					}
				}
			} else if (home.mediaList.video.length-1 > 0 && home.mediaList.photo.length > 0) {
				if (home.getRnd(2) == 1) {
					mediaMosaic.medium.push(home.mediaList.video.pop());
				} else {
					mediaMosaic.medium.push(home.mediaList.photo.pop());
				}
			} else if (home.mediaList.video.length-1 > 0) {
				mediaMosaic.medium.push(home.mediaList.video.pop());
			} else if (home.mediaList.photo.length > 0) {
				mediaMosaic.medium.push(home.mediaList.photo.pop());
			} else if (home.mediaList.text.length > 0) {
				mediaMosaic.medium.push(home.mediaList.text.pop());
			} else if (home.mediaList.audio.length > 0) {
				mediaMosaic.medium.push(home.mediaList.audio.pop());
			}
		} else {
			if (home.mediaList.text.length > 0 && home.mediaList.audio.length > 0) {
				if (home.getRnd(2) == 1) {
					mediaMosaic.small.push(home.mediaList.text.pop());
				} else {
					mediaMosaic.small.push(home.mediaList.audio.pop());
				}
			} else if (home.mediaList.video.length-1 > 0) {
				mediaMosaic.small.push(home.mediaList.video.pop());
			} else if (home.mediaList.photo.length > 0) {
				mediaMosaic.small.push(home.mediaList.photo.pop());
			} else if (home.mediaList.text.length > 0) {
				mediaMosaic.small.push(home.mediaList.text.pop());
			} else if (home.mediaList.audio.length > 0) {
				mediaMosaic.small.push(home.mediaList.audio.pop());
			}
		}
	}

	$("#mosaicContainer").html('');

	var mosaicCounter = 1;

	var block1 = home.mosaicBlocks.block1[(home.getRnd(4)-1)];
	for (var idxBlock = 0; idxBlock < block1.length; idxBlock++) {
		$("#mosaicContainer").append('<div id="mosaicCounter_'+mosaicCounter+'" class="mosaicThumb">'+(home.mediaThumb( mediaMosaic[block1[idxBlock].s].pop(), block1[idxBlock].s, block1[idxBlock].l, block1[idxBlock].t ))+'</div>');
		mosaicCounter++;
	}
	var block2 = home.mosaicBlocks.block2[(home.getRnd(4)-1)];
	for (var idxBlock = 0; idxBlock < block2.length; idxBlock++) {
		$("#mosaicContainer").append('<div id="mosaicCounter_'+mosaicCounter+'" class="mosaicThumb">'+(home.mediaThumb( mediaMosaic[block2[idxBlock].s].pop(), block2[idxBlock].s, block2[idxBlock].l, block2[idxBlock].t ))+'</div>');
		mosaicCounter++;
	}
	var block3 = home.mosaicBlocks.block3[(home.getRnd(2)-1)];
	for (var idxBlock = 0; idxBlock < block3.length; idxBlock++) {
		$("#mosaicContainer").append('<div id="mosaicCounter_'+mosaicCounter+'" class="mosaicThumb">'+(home.mediaThumb( mediaMosaic[block3[idxBlock].s].pop(), block3[idxBlock].s, block3[idxBlock].l, block3[idxBlock].t ))+'</div>');
		mosaicCounter++;
	}
	var block4 = home.mosaicBlocks.block4[(home.getRnd(2)-1)];
	for (var idxBlock = 0; idxBlock < block4.length; idxBlock++) {
		$("#mosaicContainer").append('<div id="mosaicCounter_'+mosaicCounter+'" class="mosaicThumb">'+(home.mediaThumb( mediaMosaic[block4[idxBlock].s].pop(), block4[idxBlock].s, block4[idxBlock].l, block4[idxBlock].t ))+'</div>');
		mosaicCounter++;
	}

	var fadeList = home.getRndMap(12);
	var startTimeout = 400;
	for (var idxFade = 0; idxFade < fadeList.length; idxFade++) {

		window.setTimeout("home.fadeThumb('"+(fadeList[idxFade]+1)+"')",startTimeout);
		startTimeout = startTimeout+120;
	}
};

home.fadeThumb = function(thumb) {
	$('#mosaicCounter_'+thumb+' .thumb').fadeIn('slow');
}

home.homeMediasFluid = function() {
	$('#leftTopContent').append(home.getVidPlayer(home.mediaList.video[0],'100%','100%'));
	$('#leftTopContent .main-video a').attr('href','http://mais.uol.com.br/view/'+home.mediaList.video[0].pf+'/'+home.mediaList.video[0].hs).html(home.mediaList.video[0].tl);
	$('#topThumbs').append('<ul></ul>');
	for (idxMedia = 1; idxMedia < home.mediaList.all.length; idxMedia++) {
		$('#topThumbs ul').append('<li>'+home.mediaThumb(home.mediaList.all[idxMedia],'xsmall')+'</li>');
	}
};

home.mediaThumb = function(obj,size,l,t) {
	if (obj != undefined) {
		var thumbSize = size;
		if (thumbSize == 'small') {
			thumbSize = 'xsmall';
		}
		var sSpecificType = '';
		var sTextData = '';
	
		switch(obj.tp) {
			case "audio":
				sSpecificType = '<img src="http://mais.i.uol.com.br/images/podcast-'+thumbSize+'.jpg" alt="'+obj.tl+'" />';
			break;
			case "text":
				if(thumbSize == "xsmall") {
					sSpecificType = '<img src="http://mais.i.uol.com.br/images/bkg-text-'+thumbSize+'.jpg" alt="'+obj.tl+'" />';
				} else {
					sTextData = '<p><a href="http://mais.uol.com.br/view/'+obj.pf+'/'+obj.hs+'" title="'+obj.tl+'">'+obj.tl+'</a></p>';
				}
			break;
			case "video":
			case "photo":
				if (size == 'xsmall') {
					size = 'small';
					thumbSize = 'xsmall';
				}
				//sSpecificType = '<img src="'+obj.st+'/'+obj.md+'-'+size+'.jpg" alt="'+obj.tl+'" />'; //#via_modulo
				sSpecificType = '<img src="'+obj.st+'/'+obj.pt+obj.dt+'-'+size+'.jpg" alt="'+obj.tl+'" />'; //#sem_modulo
			break;
		}
		var sPos = '';
		if (l != "undefined") {
			sPos += "left:"+l+"px;";
		}
		if (t != "undefined") {
			sPos += "top:"+t+"px;";
		}
		var sBuff = ''
			+'	<div style="'+sPos+'" class="thumb '+thumbSize+' '+obj.tp+'">'
			+sTextData
			+'		<a href="http://mais.uol.com.br/view/'+obj.pf+'/'+obj.hs+'" title="'+obj.tl+'">'
			+'			<span>&nbsp;</span>'
			+sSpecificType
			+'		</a>'
			+'	</div>'
		return sBuff;
	} else {
		return '';
	}
}

home.getVidPlayer = function(obj,width,height) {
	if (obj != undefined) {
		//var playerUrl = obj.st+'/player.swf?mediaId='+obj.md+'&p=maish'; //#via_modulo
//		var playerUrl = obj.st+'/player.swf?path='+obj.pt+'&id='+obj.dt+'&host='+obj.st+'&mediaId='+obj.md+'&embed=false'; //#via_modulo
		//var playerUrl = 'http://storage.mais.uol.com.br/player.swf?mediaId='+obj.md+'&p=maish'; //#sem_modulo
		var playerUrl = 'http://storage.mais.uol.com.br/player_video.swf?mediaId='+obj.md+'&p=maish';
		var sBuff = ''
			+'<object width="'+width+'" height="'+height+'">'
			+'	<param name="movie" value="'+playerUrl+'" />'
			+'	<param name="allowfullscreen" value="true" />'			
			+'	<param name="allowscriptaccess" value="always" />'
			+'	<param name="wmode" value="window" />'
			+'	<param name="quality" value="best" />'
			+'	<embed width="'+width+'" height="'+height+'" allowscriptaccess="always" allowfullscreen="true" wmode="window" quality="best" src="'+playerUrl+'" type="application/x-shockwave-flash" />'
			+'</object>';
		return sBuff;
	} else {
		return '';
	}
}

home.mediaList = {};
home.parseList = function() {
	home.mediaList = {
		video:[],
		audio:[],
		photo:[],
		text:[],
		all:[]
	};
	while (homeMediaList.length > 0) {
		var rnd = (home.getRnd(homeMediaList.length)-1);
		var tmpItem = homeMediaList[rnd];
		home.mediaList.all.push(tmpItem);
		switch(tmpItem.tp) {
			case "video": home.mediaList.video.push(tmpItem); break;
			case "audio": home.mediaList.audio.push(tmpItem); break;
			case "photo": home.mediaList.photo.push(tmpItem); break;
			case "text": home.mediaList.text.push(tmpItem); break;
		}

		if (rnd > 0) {
			if ((rnd+1) < homeMediaList.length) {
				var newListPart2 = homeMediaList.slice( 0,(rnd) );
				homeMediaList = homeMediaList.slice((rnd+1),(homeMediaList.length));
				$.merge(homeMediaList,newListPart2);
			} else {
				homeMediaList = homeMediaList.slice(0,(homeMediaList.length-1));
			}
		} else {
			homeMediaList = homeMediaList.slice(1,homeMediaList.length);
		}
	}
};

home.getMosaicMediaList = function() {
	var tmpList = [];
	for (var idxList = 0; idxList < home.mediaList.video.length; idxList++) {
		tmpList.push(home.mediaList.video[idxList]);
	}
	for (var idxList = 0; idxList < home.mediaList.photo.length; idxList++) {
		tmpList.push(home.mediaList.photo[idxList]);
	}
	for (var idxList = 0; idxList < home.mediaList.text.length; idxList++) {
		tmpList.push(home.mediaList.text[idxList]);
	}
	for (var idxList = 0; idxList < home.mediaList.audio.length; idxList++) {
		tmpList.push(home.mediaList.audio[idxList]);
	}
	home.mediaList.all = tmpList;
	return home.mediaList.all;
};

home.getRnd = function(max) {
	return Math.ceil(Math.random()*max);
};

home.getRndMap = function(max) {
	var map = [];
	for (var idxMap = 0; idxMap < max; idxMap++) {
		map.push(idxMap);
	}
	map.sort(function(a,b) { return Math.random()-0.5; });
	return map;
}