destVideos = {
	load: function(url) {
		$.getJSON(url, function(data){
			destVideos.build(data);
		});
	},

	build: function(data) {
		estilo="bxEsq";
		$("#lstVideos").html('');
		$('#msgVideos').append('Destaques');
		$.each(data.data, function(i, val) {
			dt = val.publicationDate.split("T")[0].split("-");
			url_vid = location.protocol + "//" + location.host + "/" + location.pathname.split('/')[1] + "/" + val.json_video_url;
			chapeu = val.subtitle == "" ? getCateg.cat[val.category_id] : val.subtitle ;
            exibDesc = val.views != 1 ? "exibi&ccedil;&otilde;es" : "exibi&ccedil;&atilde;o" ;
			$("#lstVideos").append('<div class="videoHolder"><a href="' + url_vid + '"><img src="' + val.thumbnail + '" width="130px" height="73px" alt="título" border="0"/><h3 class="videoHolderTit">' + val.subtitle + '</h3><h2 class="videoHolderSubTit">' + val.title + '</h2><span class="videoExib">Exibições: ' + val.views + '</span></a></div>');
			estilo = (estilo == "bxEsq" ) ? "bxDir" : "bxEsq"; 
		} )
	}
		
}

listVideos = {
	load: function(url,obj) {
		$.getJSON(url, function(data){
			listVideos.build(data,obj);
		});
	},

	build: function(data,trg) {

		$("#"+trg).html('');
		
		$.each(data.data, function(i, val) {
			
			url_vid = location.protocol + "//" + location.host + "/" + location.pathname.split('/')[1] + "/" + val.json_video_url;
			chapeu = val.subtitle == "" ? getCateg.cat[val.category_id] : val.subtitle ;
            exibDesc = val.views != 1 ? "exibi&ccedil;&otilde;es" : "exibi&ccedil;&atilde;o" ;
			$("#"+trg).append('<div class="videoHolder"><a href="' + url_vid + '"><img src="' + val.thumbnail + '" width="130px" height="73px" alt="título" border="0"/><h3 class="videoHolderTit">' + val.subtitle + '</h3><h2 class="videoHolderSubTit">' + val.title + '</h2><span class="videoExib">Exibições: ' + val.views + '</span></a></div>');
		} )
	}
}



listVideosTodos = {
	load: function(url,obj) {
		$.getJSON(url, function(data){
			listVideosTodos.build(data,url,obj);
		});
	},

	build: function(data,url,trg) {

		$("#"+trg).html('');
		
		var title_valAnt = "";
		
		$.each(data.data, function(i, val) {
			
			url_vid = location.protocol + "//" + location.host + "/" + location.pathname.split('/')[1] + "/" + val.json_video_url;
			title_val = val.title;
			if(title_val != title_valAnt) {
				queryMarca = url + "&title=" + title_val;
				if(trg == "tudoMarcas"){
					$("#"+trg).append('<a href="javascript:getVideosByMarca(\'' + queryMarca + '\', \'' + title_val + '\')">' + title_val + '</a>');
				}
				else{
					$("#"+trg).append('<a href="'+url_vid+'">' + title_val + '</a>');
				}
			}
			title_valAnt = title_val;
		} )
	}
}



listCategoria = {
	catStart: "",
	parentStart: "",
	url: "",
	data: "",
	load: function(url){
		listCategoria.url = url
		$.getJSON(listCategoria.url, function(data){
			listCategoria.data = data
			listCategoria.build()
		});
	},
	build: function() {
		$('#listaCategorias').html('')
		$('#listaCategorias').append('<ul>')
		$.each(listCategoria.data, function(i, val) {
			if (val.total_videos>0) {
				$('#listaCategorias').append('<li>' + val.description + '</li>')
			}
		});
		$('#listaCategorias').append('</ul>')
		$('#atCol1 .navMenu .menuSecoes').click(function() {
			$('#atCol1 .navMenu li').css({'background-color' : '#FFF', 'color' : '#000'})
			$(this).css({'background-color' : '#5595b6', 'color' : '#FFF'})
			if(!$(this).parent().hasClass("float_menu")) {
				$('#atCol1 .navMenu .float_menu').css({'display': 'none'})
				$('#' + this.value).css({'display': 'block'})
			}
			$('#listTitleSection').html(this.title)
			shVideos.load('/videos/json/medias?category='+this.value+'&callback=?')
			$('#ltmNoticias').html('<div class="carregando">Carregando...</div>')
		})
		if (listCategoria.parentStart != "") { $('#m_' + listCategoria.parentStart).trigger('click')}
		$('#m_' + listCategoria.catStart).trigger('click')
	}
}


shVideos = {
	vidStart: 0,
	vidEnd: 0,
	totVideos: 0,
	espacos: 6,
	url: "",
	data: "",
	query: "",
    sizeBlock: 8,
	currBlock: 1,
	totBlocks: 0,
	paginaTotal: 1,
	paginaAtual: 1,
	

	load: function(url) {
		shVideos.url = url
		$('#lstVideos').html('<div class="carregando">Carregando...</div>')
		$('#pageControl').html('')
		$("#ltCountIni").html('')
		$("#ltCountEnd").html('')
		$("#ltCountVideos").html('')

		$.getJSON(this.url, function(data){
			shVideos.data = data.data ;
			shVideos.totVideos = data.total_medias ;
			shVideos.build() ;
		});
	},
	
	build: function() {
		$('#pageControl').html('')
		$('#lstVideos').html('')

		shVideos.paginaTotal = Math.ceil(shVideos.totVideos/shVideos.espacos)
		shVideos.totBlocks = Math.ceil(shVideos.paginaTotal / shVideos.sizeBlock)
		
        $("#ltCountVideos").html(shVideos.totVideos)
		
		if (shVideos.totVideos<1) {
			$("#ltCountIni").html("")
			$("#ltCountEnd").html("")
			$('#lstVideos').html('<div class="carregando">Nenhum vídeo encontrado</div>') 
		} else {
			shVideos.formatVideo()
			shVideos.mkPageControl(shVideos.paginaAtual)
		}

	},


    mkPageControl: function(pag) {

		$("#ltCountIni").html(shVideos.vidStart + 1)
		$("#ltCountEnd").html(shVideos.vidEnd)

		if (shVideos.paginaTotal < 2) return 
        
		$('#pageControl').html('<p>')
		
		startPage = (shVideos.currBlock * shVideos.sizeBlock) - shVideos.sizeBlock 
		endPage = (shVideos.currBlock * shVideos.sizeBlock)
		
		if (shVideos.currBlock > 1)
				$('#pageControl').append('<a href="javascript:shVideos.gotoBlock(' + (shVideos.currBlock - 1) + ');"><b>menos</b></a> | ' );

		
		for (i=0;i<shVideos.paginaTotal;i++) {
		   if ( ( i >= startPage ) && (i < endPage ) ) {
				status = (pag == i + 1) ? 'class="selected"' : '' ;
				$('#pageControl').append('<a ' + status + ' href="javascript:shVideos.gotoPage(' + (i + 1) + ');"><b>' + (i + 1) + '</b></a>' );
	           if (i < shVideos.paginaTotal - 1 ) $('#pageControl').append(' | ') ;
		   }

		}

		if (shVideos.currBlock < shVideos.totBlocks) 
			$('#pageControl').append('<a href="javascript:shVideos.gotoBlock(' + (shVideos.currBlock + 1) + ');"><b>mais</b></a>' );
		

		$('#pageControl').append('</p><div class="sepHorz"></div>');

	},

   gotoBlock: function(block) {
       shVideos.currBlock = block ;
	   shVideos.gotoPage( (block * shVideos.sizeBlock) - (shVideos.sizeBlock - 1) ) 

   },

   gotoPage: function(n) {
		shVideos.paginaAtual = n 
		shVideos.vidStart = (n - 1) * shVideos.espacos  ;
        shVideos.vidEnd = shVideos.vidStart ;
		$('#lstVideos').html('') ;
		shVideos.load('/videos/json/medias?start=' + shVideos.paginaAtual + '&limit='+ shVideos.espacos + shVideos.query + '&callback=?')
		shVideos.mkPageControl(n)
	},

    formatVideo: function() {
		
		$.each(shVideos.data, function(i, val) {
			dt = val.publicationDate.split("T")[0].split("-");
			url_vid = location.protocol + "//" + location.host + "/" + location.pathname.split('/')[1] + "/" + val.json_video_url; 
			chapeu = val.subtitle == "" ? getCateg.cat[val.category_id] : val.subtitle ;
            exibDesc = val.views != 1 ? "exibi&ccedil;&otilde;es" : "exibi&ccedil;&atilde;o" ;
			$('#lstVideos').append('<div class="videoHolder"><a href="' + url_vid + '"><img src="' + val.thumbnail + '" width="130px" height="73px" alt="título" border="0"/><h3 class="videoHolderTit">' + val.subtitle + '</h3><h2 class="videoHolderSubTit">' + val.title + '</h2><span class="videoExib">Exibições: ' + val.views + '</span></a></div>') 
			$('#lstVideos').append('<div class="sepHorz"></div>');
			shVideos.vidEnd = shVideos.vidEnd + 1 ;
		})
	
	}
}


dtExt = function(dtNum) {
  var Meses     = new Array("Janeiro","Fevereiro","Mar&ccedil;o","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro");
  nwDate = new Date(dtNum) ;
  return (nwDate.getDate() + " de " + Meses[nwDate.getMonth()].toLowerCase() + " de " + nwDate.getFullYear());
}

getVideos = function (idCat, desc, item) {
	if (idCat!=0){
		showMsg('cat', desc);
	    shVideos.query="&category="+idCat;
		shVideos.gotoPage(1);
    } else {
        $('#msgVideos').html('');
		shVideos.query="";
		shVideos.gotoPage(1);
	}
    chColor(item) ; 	
}

getVideosByTag = function (tag, desc) {
    chColor(-1) ; 
	document.location.href = "#navVideos";
	shVideos.query="&tag="+tag;
	shVideos.gotoPage(1);
	showMsg('tag', desc);
}

getVideosByMarca = function (queryMarca, desc) {
    chColor(-1) ; 
	queryMarca = tiraAcento(queryMarca);
	document.location.href = "#navVideos";
	shVideos.query=queryMarca;
	shVideos.gotoPage(1);
	showMsg('', desc);
}

getTagByMenu = function (tag, desc, item) {
    getVideosByTag(tag, desc);
    chColor(item) ; 
}


chColor = function (item) {
    $("#opMenu a").each ( function (i) { 
       ( i == item ) ? $(this).addClass("categoriaSelected") : $(this).removeClass("categoriaSelected");
	} )    
}

replaceLink = function (id) {
   $(id + ' a').each ( function() { 
	   tag=this.href.substring(this.href.lastIndexOf("/") + 1);
       this.href="javascript:getVideosByTag('" + tag + "', '" + this.innerHTML + "')"; 
       this.innerHTML = this.innerHTML + ((id == "#tagsVideos") ? "   "  : "") ;
    } )
}

showMsg = function(type, msg) {
    tAux = type == 'tag' ? "pela TAG " : " " ;
	$('#msgVideos').html('<div class="sepHorz" style="width:270px"></div>');
	$('#msgVideos').append('<p>Resultados para ' + tAux + '<b style="color:#000">' + msg.toUpperCase() + '</b></p>');
}

altText = function() {
    document.getElementById('boxBusca').value = '' ;
}

searchVideo = function () {
    shVideos.query = "&title=" + document.getElementById('boxBusca').value + "" ;
    showMsg('cat', document.getElementById('boxBusca').value);
	shVideos.gotoPage(1);
}

formatDuration = function (val) {
	 return (val.substring(val.indexOf(':')+1));
}

getCateg = {
    cat:[],
	load: function() {
		$.getJSON("/videos/json/categories?listchildren=true", function(data){
			$.each(data, function(i, val) {
				getCateg.cat[val.id]=val.name ;
			})
		});
	}
}

getHighLight = function () {
	shVideos.query = "&highlighted=true";
	shVideos.gotoPage(1);

}

function tiraAcento(text) { 
  text = text.replace(new RegExp('[ÁÀÂÃ]','gi'), 'A'); 
  text = text.replace(new RegExp('[ÉÈÊ]','gi'), 'E'); 
  text = text.replace(new RegExp('[ÍÌÎ]','gi'), 'I'); 
  text = text.replace(new RegExp('[ÓÒÔÕ]','gi'), 'O'); 
  text = text.replace(new RegExp('[ÚÙÛ]','gi'), 'U'); 
  text = text.replace(new RegExp('[Ç]','gi'), 'C'); 
  return text; 
}

getCateg.load();

$(document).ready(function() {

	getHighLight();
	listVideos.load("/videos/json/medias?limit=6&callback=?","ltmRecent");
	listVideos.load("/videos/json/medias?order=views&limit=6&callback=?","ltmVistos");
	getVideos(0,'',0);
	replaceLink('#tagsVideos');
	replaceLink('#videoTagsEsq');
	//listVideosTodos.load("/videos/json/medias?start=1&limit=1000&order=title&ordertype=asc&callback=?","tudoMarcas");
	listVideosTodos.load("/videos/json/medias?start=1&limit=1000&order=title&ordertype=asc&subtitle=Paris&callback=?","tudoParis");
	listVideosTodos.load("/videos/json/medias?start=1&limit=1000&order=title&ordertype=asc&subtitle=London&callback=?","tudoLondon");
	listVideosTodos.load("/videos/json/medias?start=1&limit=1000&order=title&ordertype=asc&subtitle=Milan&callback=?","tudoMilan");
	listVideosTodos.load("/videos/json/medias?start=1&limit=1000&order=title&ordertype=asc&subtitle=NY&callback=?","tudoNY");
	listVideosTodos.load("/videos/json/medias?start=1&limit=1000&order=title&ordertype=asc&subtitle=SPFW Verão 2010&callback=?","tudoSPFWv2010");
	listVideosTodos.load("/videos/json/medias?start=1&limit=1000&order=title&ordertype=asc&subtitle=Fashion Rio Verão 201&callback=?","tudoFRv2010");
	
	
});
