function response() {
    this.embedcode   = 'a';
    this.thumbnail   = 'b';
    this.title       = 'c';
    this.desc        = 'd';
    this.flightStart = 'e';
    this.flightEnd   = 'f';
    this.label       = 'h';
    this.content     = 'i';
    this.status      = 's';
}
var currentPageID;
var itemsPerPage        = 18;
var startFromFirstPage  = 1;
var thumbnailTable;
var arrRecommended = [];
var arrHighlights  = [];
var arrArchive     = [];
var arrMostViewed  = [];
var arrUniversal;

function toHTML(pageID,table,arrVideoItems){
   
    table.html('');
    var currentTime =  parseInt((new Date()).getTime()/1000);

    var cnt = 0;
    if(pageID != 1)
        cnt  = 18 * (pageID - 1);

    currentPageID = pageID;

    for(var i=0; i<3 ;i++)
    {
        var tr = $('<tr></tr>');
        var td = $('<td></td>');
        var div1 = $('<div class="TabThumbRow"></div>');
        for(var j=0; j<6 ;j++)
        {
            if(arrVideoItems[cnt] != null)
            {
                var div2 = $('<div class="TabVideoThumbnails"></div>');
                var div3 = $('<div class="TabThumbArea"></div>');
                var title;
                var embedCode;
                var thumbnail;
                var label;
                var content;
                if(table.selector == "#mostViewedTable")
                {
                    title       = arrVideoItems[cnt]["title"];
                    embedCode   = arrVideoItems[cnt]["embedcode"];
                    thumbnail   = arrVideoItems[cnt]["thumbnail"];
                    label       = arrVideoItems[cnt]["label"];
                    content     = arrVideoItems[cnt]["content"];
                }
                else
                {
                    var flightStart = arrVideoItems[cnt]["flightStart"];
                    var flightEnd   = arrVideoItems[cnt]["flightEnd"];

                    if(!isNaN(flightStart))
                    {
                        title       = arrVideoItems[cnt]["title"];
                        embedCode   = arrVideoItems[cnt]["embedcode"];
                        thumbnail   = arrVideoItems[cnt]["thumbnail"];
                        label       = arrVideoItems[cnt]["label"];
                        content     = arrVideoItems[cnt]["content"];
                    }
                }
               
                    if(title.length > 48){
                       title = title.substring(0,45) + "...";
                    }

                    var thumbdivHTML;
                    if (thumbnail != null && thumbnail != "") {
                        thumbdivHTML = '<a href="javascript:playVideo(\'' + embedCode + '\')" ><img src="' + thumbnail  +'" alt="ThumbImg001" height="56" width="94" ' +
                        'border="0"/></a>';
                    }
                    else
                    {
                        thumbdivHTML = '<a href="javascript:playVideo(\'' + embedCode + '\')"><img src="images/NoVideo.jpg" alt="ThumbImg001" height="56" width="94" border="0"/></a>';
                    }
                    var thumbDiv      = $('<div class="TabVideoThumbImage"></div>').html(thumbdivHTML);     //videothumb
                    div3 = div3.append(thumbDiv);
                   
//                    if(flightStart < currentTime)
//                    {
//                        var liveBadge = $('<div class="TabLiveBadge"></div>').html('<img border="0" title="Live Match" alt="Live Match" src="images/live-badge.png">');
//                        div3 = div3.append(liveBadge);
//                    }
                    var arrLabels = new Array();
                    if(label != "" && label != null){
                        arrLabels = label.split("/");
                        for(var k=0;k<arrLabels.length;k++)
                        {
                            if( arrLabels[k] == 'premium' || arrLabels[k] == 'Premium')
                            {
                                var premium = $('<div class="TabPremiumBadge"></div>').html('<img border="0" title="Premium Match" alt="Premium Match" src="images/premium-badge.png">');
                                div3 = div3.append(premium);
                            }
                        }
                    }
                    
                    
                    var titleDiv = $('<div class="TabThumbTitle">' + title + '</div>' );
                    div3      = div3.append(titleDiv);

                    div2 = div2.append(div3);
                    div1 = div1.append(div2);
                     td = td.append(div1);
               }          
         
            cnt++;
        }
        tr = tr.append(td);
       
        table.append(tr);
    }
    
    createLinks(table ,$("#paginationUL"),arrVideoItems);
}


function createLinks(table,ul,arrVideoItems)
{  
  thumbnailTable = table;
  ul.html('');
  if(isPageLoad)
  {
      arrUniversal = arrRecommended;
  }
  else
  {
        arrUniversal = arrVideoItems;
  }
  var anchorTag;
  var startPageIndex = currentPageID ;
  var numPages = Math.ceil(arrUniversal.length /itemsPerPage);
  var lastPageIndex = startPageIndex + 5;
  

  if(startPageIndex > 1)
  {
       var prevli = $('<li></li>');
       var prevID = currentPageID - 1;
       var aPrev  = "<a href='#' onclick='Javascript:toHTML(" + prevID + ",thumbnailTable,arrUniversal)'; class='prevnext'> <img src='images/arrowLeft.png'width='18' height='14' alt='next'/>previous</a>";
       prevli = prevli.html(aPrev);
       ul.append(prevli);
  }

  if(lastPageIndex > numPages)
  {
    var startPageLink = numPages - 4 ;
    if(startPageLink < 0)
      startPageIndex = startFromFirstPage ;
    else
      startPageIndex = startPageLink ;
  }
  else if(startPageIndex -1 >0)
     startPageIndex = startPageIndex - 1;

   lastPageIndex = startPageIndex + 5;

  for(var i=startPageIndex; i< lastPageIndex ;i++)
  {
        var li = $('<li></li>');
    	if(i > numPages)
    	{
    	   i --;
    	   break;
    	}

	    if(i ==  currentPageID)
	         anchorTag = ("<a href='#' onclick='Javascript:toHTML(" + i + ",thumbnailTable,arrUniversal);' class='currentpage'>" + toDoubleDigit(i) + "</a>");
	    else
	        anchorTag = ("<a href='#' onclick='Javascript:toHTML(" + i + ",thumbnailTable,arrUniversal);' >" + toDoubleDigit(i) + "</a>");

	    li = li.html(anchorTag);
        ul = ul.append(li);
 }

 if(currentPageID  < numPages)
 {
     var nextli = $('<li></li>');
     var nextID = currentPageID + 1;
     var aNext  = "<a href='#' onclick='Javascript:toHTML(" + nextID + ",thumbnailTable,arrUniversal)'; class='prevnext'> <img src='images/arrowRight.png' width='18' height='14' alt='next'/>next</a>";
     nextli = nextli.html(aNext);
     ul = ul.append(nextli)
 }

}

function toDoubleDigit(num) {
    if (num < 10)
        return '0' + num;
    else
        return '' + num;
}

function getThumbnail(){
     var hashParams = new Object() ;
     hashParams['embedCode']  = arrEmbeds;
     var thumbnailURL = generateSignature(hashParams);
     setMostViewedData(thumbnailURL,$("#mostViewedTable"));
}

function setMostViewedData(url,table){
    jQuery.ajax({
        type: "GET",
        url: url,
        dataType: "xml",
        success: function(xml){
            showMostViewedResponse(xml,table);
        }
    });
}

function showMostViewedResponse(xml,table)
{
    var embedCode2VideoHash = [];
     $(xml).find('item').each(function()
        {
            var resp        = new response();
            resp.title       = $(this).find('title').text();
            resp.embedcode   = $(this).find('embedCode').text();           
            resp.thumbnail   = $(this).find('thumbnail').text();
            resp.label       = $(this).find('labels').find('label').text();
            resp.content     = $(this).find('content_type').text();
            embedCode2VideoHash[resp.embedcode] = resp;
        });
     var orderedVideos = [];
     //Order these as per the order returned by the Analytics query
     for (i=0;i<arrEmbeds.length;i++) {
         orderedVideos.push(embedCode2VideoHash[arrEmbeds[i]]);
     }
     arrMostViewed = orderedVideos;
     toHTML(1,table,orderedVideos);
}


