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);
}

//Mise en page
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':
            document.getElementById("txtSearch").value="";
            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)';
            //fullSubTitle += '<span onClick="getContent({type:\'sequenceslist\',category:0})" onMouseOver="this.style=\'underline\'"><font class="retourres">' + result.nbResults + '&nbsp;r&eacute;sultats</font></span>';

            var splitmots = fullSubTitle.split(" ");

            if (splitmots[0] == 'Recherche'){
               var keywordL = $F('txtSearch');

               fullSubTitle += '<a href="javascript:getContent({type:\'search\',keyword:escape(\'' + keywordL + '\')})"><font class="retourres">' + result.nbResults + '&nbsp;r&eacute;sultats</font></a>';
            }
            else{
                
                var keywordL2 = $F('txtSearch');
                var longe = keywordL2.length;

                if (longe > 0){
                   fullSubTitle += '<a href="javascript:getContent({type:\'search\',keyword:escape(\'' + keywordL2 + '\')})"><font class="retourres">' + result.nbResults + '&nbsp;r&eacute;sultats</font></a>';
                }
                else
                {
                    fullSubTitle += '<a href="javascript:getContent({type:\'sequenceslist\',category:' + result.category + '})"><font class="retourres">' + result.nbResults + '&nbsp;r&eacute;sultats</font></a>';
                }

            }
       }
        
        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 changeEnglish(){
   //alert('En construction.');

   location.href = "http://www.ccdmd.qc.ca/en/handsonscience/";
}

function openLargeVideo(videoPath){
    var url = 'largevideo.php?vp=' + videoPath;

    var width = 720;
    var height = 496;
    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 openPleinEcran(videoPath){

    var width = screen.width;
    var height = screen.height;
    var winl = 0;
    var wint = 0;

    var url = 'pleinecranvideo.php?vp=' + videoPath + '&sw=' + width + '&sh=' + height;

    window.open(url,'FullScreen','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();  
    } 
}