$().ready(getLatestInit);

var vids;
var vidCount;
var vidPages;
var curPage;

function getLatestInit() {
	$("select#browse").change(handleDdChange);
	$("select#channel").change(handleDdChange);
	$("#latVidInner").html('<div id="latVidLoad">'+loadTxt+'</div>');
	$.ajax({
		type: "POST",
		url: "/index/latestvids/",
		success: latestvidSuccess, 
		error: latestvidFailure
	}); 
}

function latestvidSuccess(resp,textStatus) {
	try {
		jsonObj = $.json.decode(resp);
		vids = jsonObj.data;
		vidCount = jsonObj.count; 
		vidPages = jsonObj.pages;
		curPage = jsonObj.curPg;
		updateDisplay();
	} catch(err) {
		$("#latVidInner").html('<div id="latVidLoadErr">'+errTxt+'</div>');
	}
}

function latestvidFailure(XMLHttpRequest, textStatus, errorThrown) {
	$("#latVidInner").html('<div id="latVidLoadErr">'+errTxt+'</div>');
}

function handleDdChange() {
	uplvid(1);
}

function updateDisplay() {
    $("#latVidInner").html('');
    strPag = '';
    if(vidPages > 10){//not much room, 10 pages max for latest
        vidPages = 10;
    }
    if(vidPages > 1){   //we need pagination
        for(x=1;x<=vidPages;x++) {
            strPag += '<li><a href="javascript:uplvid('+x+')"';
            if(x==curPage)
                    strPag += ' class="latVidCurrPg"';
            strPag += '>'+x+'</a></li>';
            if(x!=vidPages)
                strPag += '.';
        }
    }
    $(".pagination.latVid").html(strPag);
    

    if(vidPages>0) {
        for(x=0;x<vidCount;x++) {
            buildVidContainer(x);
            $("#vi_"+x).hide();
            $("#vil_"+x).attr('href','/video/watch/id/'+vids[x]['id']+'/');
            $("#vii_"+x).attr('src','/media/serve/id/'+vids[x]['id']+'/thumb/1');
            $("#vit_"+x+" a").html(vids[x]['title']);
            $("#vit_"+x+" a").attr('href','/video/watch/id/'+vids[x]['id']+'/');
            $("#vid_"+x).html(durationToHMS(vids[x]['duration']));
            $("#vic_"+x).html(vids[x]['channelName']);
            $("#vi_"+x).slideDown("slow");
        }
    } else {
        $("#latVidInner").html('<div id="latVidNone">'+nomatchTxt+'</div>');
    }
}

function buildVidContainer(id) {
    var li = document.createElement('li');
    $('#latVidInner').append(li);
    li.id = 'vi_'+id;
    li.className = 'video';

    var lnk = document.createElement('a');
    li.appendChild(lnk);
    lnk.id = 'vil_'+id;
    var im = document.createElement('img');
    lnk.appendChild(im);
    im.id = 'vii_'+id;

    var hdr = document.createElement('h3');
    li.appendChild(hdr);
    hdr.id = 'vit_'+id;
    hdra = document.createElement('a');
    hdr.appendChild(hdra);

    inf = document.createElement('span');
    li.appendChild(inf);
    dur = document.createElement('span');
    inf.appendChild(dur);
    dur.setAttribute('id','vid_'+id);

    sep = document.createElement('span');
    inf.appendChild(sep);
    sep.innerHTML = " | "+ chanTxt + " ";

    chan = document.createElement('strong');
    inf.appendChild(chan);
    chan.setAttribute('id','vic_'+id);
    return;
}

function uplvid(val) {
	$("#latVidInner").html('<div id="latVidLoad"><img src="/img/ajax-loader.gif" />'+loadTxt+'</div>');
	var browse = $('#browse').val();
        var channel = $('#channel').val();
	$.ajax({
		type: "POST",
		url: "/index/latestvids/",
		data: "page="+val+"&chanId="+channel+"&browse="+browse,
		success: latestvidSuccess, 
		error: latestvidFailure
	});
}

function durationToHMS(dur) {
	if(dur==null) {
		dur = 0;
	}
	if(dur<60) {
		hrs = 0;
		min = 0;
		sec = dur;
	} else if(dur<3600) {
		hrs = 0;
		newDur = dur/60;
		durArr = newDur.toString().split('.');
		min = durArr[0];
		sec = parseInt(parseFloat('0.'+durArr[1])*60);
	} else {
		newDur = dur/3600;
		durArr = newDur.toString().split('.');
		hrs = durArr[0];
		min = parseFloat('0.'+durArr[1])*60;
		if(min.toString().indexOf('.')>-1) {
			durArr = min.toString().split('.');
			min = durArr[0];
			sec = Math.round(('0.'+durArr[1])*60);
		} else {
			sec = 0;
		}
	}
	if(hrs<10)
		hrs = "0"+hrs;
	if(min<10)
		min = "0"+min;
	if(sec<10)
		sec = "0"+sec;
	return hrs+":"+min+":"+sec;
}