var sequenceIds = null;
var sequenceIndex = null;
var currKeyword = null;

window.onload = function(){
    $('ContentSimpleNavBar').hide();
    $('ContentFullNavBar').hide();
    
    prepareImageSwap($('Search'),true,true,true);
    prepareImageSwap($('ContentFullNavBar'),true,true);
    
    initMenu();
    
    getContent(initMenuValue);
}

//Layout
function getContent(request){
    var url = 'svrcmd.php?cmd=get&type=' + request.type + '&d=' + Date();

    switch(request.type){
        case 'text':
            url += '&id=' + request.id;
            break;
        case 'sequenceslist':
            url += '&category=' + request.category;
            break;
        case 'activities': case 'glossary':
            break;
        case 'sequence':
            url += '&id=' + request.id;
            break;
        case 'search':
            url += '&keyword=' + request.keyword;
            break;
    }
    
    new Ajax.Request(url, {
        method: 'get',
        onSuccess: showContent
    });
}

function showContent(transport){
    var result = transport.responseJSON;
    scroll(0,0);
    
    if(!result || result.status == 'ERR'){
        $('ContentSimpleNavBar').show();
        $('ContentFullNavBar').hide();
        $('MainContent').update('Une erreur s\'est produite.');
    }else{
        $('ContentTitle').update(result.title);
        
        switch(result.type){
            case 'sequenceslist':
                sequenceIds = result.sequenceIds;
            case 'text':case 'activities':case 'glossary':
                $('ContentSimpleNavBar').show();
                $('ContentFullNavBar').hide();
                break;
            case 'sequence':
                $('ContentSimpleNavBar').hide();
                $('ContentFullNavBar').show();
                
                sequenceId = result.sequenceId;
                sequenceIndex = sequenceIds.indexOf(sequenceId);
                result.nbResults = sequenceIds.length;
                
                $('txtSequenceIndex').value = (sequenceIndex + 1);
                $('NbResults').update(sequenceIds.length);
                break;
        }
        
        //Complete SubTitle
        var fullSubTitle = '';
        if(result.subTitle)
            fullSubTitle += result.subTitle;
            
        if(result.nbResults)
            fullSubTitle += '&nbsp;(' + result.nbResults + '&nbsp;r&eacute;sultats)';
        
        if(result.sequenceTitle)
            fullSubTitle += '&nbsp;>&nbsp;' + result.sequenceTitle;
        
        $('ContentSubTitle').update(fullSubTitle);
        
        
        
        $('MainContent').update(result.HTML);
        prepareImageSwap($('MainContent'),true,true,true);
    }
}


function pagePrevious(){
    if(sequenceIndex > 0){
        sequenceIndex--;
        request = {type:'sequence',id:sequenceIds[sequenceIndex]};
        getContent(request);
    }
}

function pageNext(){
    if(sequenceIndex + 1 < sequenceIds.length){
        sequenceIndex++;
        
        request = {type:'sequence',id:sequenceIds[sequenceIndex]};
        getContent(request);
    }
}
function pageGoto(){
    var newSequenceIndex = parseInt($F('txtSequenceIndex'));
    
    if(newSequenceIndex <= sequenceIds.length && newSequenceIndex > 0){
        sequenceIndex = (newSequenceIndex-1);
        request = {type:'sequence',id:sequenceIds[sequenceIndex]};
        getContent(request);
    }
}

function searchKeyword(){
    var keyword = $F('txtSearch');

    getContent({type:'search',keyword:escape(keyword)});
}

function openLargeVideo(videoPath){
    var url = 'largevideo.php?vp=' + videoPath;
    
    var width = 720;
	var height = 416;
	var winl = (screen.width-width)/2;
	var wint = (screen.height-height)/2 - 50;
	if (winl < 0) winl = 0;
	if (wint < 0) wint = 0;
	
	window.open(url,'videolarge','top='+wint+',left='+winl+',width='+width+',height='+height+',toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0').focus();
}

function printSequence(){
    var url = 'printversion.php?id=' + sequenceIds[sequenceIndex];
    
    var width = 600;
	var height = 700;
	var winl = (screen.width-width)/2;
	var wint = (screen.height-height)/2 - 50;
	if (winl < 0) winl = 0;
	if (wint < 0) wint = 0;
	
	window.open(url,'printversion','top='+wint+',left='+winl+',width='+width+',height='+height+',toolbar=0,location=0,directories=0,status=0,menubar=1,scrollbars=1,resizable=1').focus();
}
//Events
function _getSucces(){}

//Functions
function rollImg(oImg)
{
	//Settings
	var sNormSuffix = '_norm';
	var sOverSuffix = '_roll';
	var iStatusLen = sNormSuffix.length;

	//For manipulation only
	var sCurrentImgName = oImg.src.substring(oImg.src.lastIndexOf('/') + 1,oImg.src.length);
	var sCurrentStatus = sCurrentImgName.substr(sCurrentImgName.lastIndexOf('_'),iStatusLen);
	
	//Will be used for the final string building
	var sPath = oImg.src.substring(0,oImg.src.lastIndexOf('/') + 1);
	var sShortImgName = sCurrentImgName.substr(0,sCurrentImgName.lastIndexOf('_'));
	var sImgExt = sCurrentImgName.substring(sCurrentImgName.lastIndexOf('.'),sCurrentImgName.length);
	
	//New status
	var sNewStatus = ((sCurrentStatus == sNormSuffix) ? sOverSuffix : sNormSuffix);
	
	var sNewImgName = sPath + sShortImgName + sNewStatus + sImgExt;
	
	oImg.src = sNewImgName;
}

function exeOnEnterKey(e, refFunction)
{
	var e = (e)? e : event;
	var nCode;
    
    if(e.charCode)
		nCode = e.charCode
    else
		nCode = (e.which) ? e.which : e.keyCode;
	
	if(nCode == 13 || nCode == 3)
	{
		refFunction();	
	} 
}