var sequenceIds = null;
var sequenceIndex = null;
var currKeyword = null;
var lastListRequest = null;

window.onload = function(){
    $('ContentSimpleNavBar').hide();
    $('ContentFullNavBar').hide();
    
    prepareImageSwap($('Search'),true,true,true);
    prepareImageSwap($('ContentFullNavBar'),true,true);
    prepareImageSwap($('ContentListNavBar'),true,true);

    initMenu();


    var sequenceId = getQuerystring('idfiche');
    
    if (sequenceId){
        sequenceIds = new Array();
        sequenceIds[0] = sequenceId;
        getContent({type:'sequence',id:sequenceId});
    }
    else{
        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':
            lastListRequest = request;
            break;
        case 'activities': case 'glossary':
            break;
        case 'sequence':
            url += '&id=' + request.id;
            break;
        case 'search':
            lastListRequest = request;
            url += '&keyword=' + request.keyword;
            break;
        case 'filter':
            lastListRequest = request;
            url += '&year=' + request.year + '&speaker=' + request.speaker + '&discipline=' + request.discipline;
            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;
                $('ContentSimpleNavBar').hide();
                $('ContentFullNavBar').hide();
                $('ContentListNavBar').show();
                break;
            case 'text':case 'activities':case 'glossary':
                $('ContentSimpleNavBar').show();
                $('ContentFullNavBar').hide();
                $('ContentListNavBar').hide();
                break;
            case 'sequence':
                $('ContentSimpleNavBar').hide();
                $('ContentFullNavBar').show();
                $('ContentListNavBar').hide();
                
                sequenceId = result.sequenceId;
                sequenceIndex = Math.max(sequenceIds.indexOf(sequenceId),0);
                //alert(sequenceIds);
                result.nbResults = sequenceIds.length;
                
                $('txtSequenceIndex').value = (sequenceIndex + 1);
                $('NbResults').update(sequenceIds.length);

                var linkAddThis = "<a id=\"ShareSequence\" href=\"http://www.addthis.com/bookmark.php?v=250&amp;pub=xa-4a795d794f0c32f3\" onmouseover=\"return addthis_open(this, '', 'http://www.ccdmd.qc.ca/ri/conferences?idfiche=" + sequenceId + "', '[TITLE]')\" onmouseout=\"addthis_close()\" onclick=\"return addthis_sendto()\">Partager ce m&eacute;dia</a>";
                $('partagerMedia').update(linkAddThis);

                break;
        }
        
        //Complete SubTitle
        var fullSubTitle = '';
        if(result.subTitle)
            fullSubTitle += result.subTitle;
            
        if(result.nbResults)
            fullSubTitle += '&nbsp;<a href="javascript:getContent(lastListRequest)">' + result.nbResults + '&nbsp;r&eacute;sultat(s)</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 filterList(){
    var year = $F('lstYear');
    var speaker = $F('lstSpeaker');
    var discipline = $F('lstDiscipline');

    getContent({type:'filter',year:year,speaker:escape(speaker),discipline:discipline});
}

function openLargeVideo(videoPath, videoW, videoH){
    var url;
    var width;
    var height;
    var nameW;

    url = 'largevideo.php?vp=' + videoPath + '&wi=' + videoW + '&he=' + videoH;
    width = videoW;
    height = videoH;

    var nameSplit = videoPath.split("/");
    var nameSplit2 = nameSplit[nameSplit.length - 1].split(".mov");
    nameW = nameSplit2[0];

    
    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,nameW,'top='+wint+',left='+winl+',width='+width+',height='+height+',toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0').focus();
}
function openFullScreenVideo(videoPath, videoW, videoH){
    var url;
         
    url = 'fullscreenvideo.php?vp=' + videoPath + '&wi=' + videoW + '&he=' + videoH;
    
    var width = screen.width;
    var height = screen.height;
    var winl = 0;
    var wint = 0;
    
    window.open(url,'videofullscreen','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 = 700;
    var height = 750;
    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();  
    } 
}

function getQuerystring(key, default_)
{
  if (default_==null) default_=""; 
  key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regex = new RegExp("[\\?&]"+key+"=([^&#]*)");
  var qs = regex.exec(window.location.href);
  if(qs == null){
    return default_;
  }
  else{
    return qs[1];
  }
}



