﻿/* Copyright © 2010 Illinois Natural History Survey */

var WINDOW_TEMPLATE = new Template(
      '<div class="window">' +
         '<div class="windowTitle"><a href="Taxa.aspx?TaxonNameID=#{TAXON_ID}" title="Go to this taxon">#{TAXON_NAME}</a></div>' +
         '<div style="float: left"><a href="javascript:close(#{IMAGE_ID});" title="Unstick image"><img src="../img_logo/x.png" alt="Deselect" class="imgBtn"/></a></div>' +
         '<div class="windowTitleSeparator"></div>' +
         '<div class="thumbBox"><a href="ShowImage.aspx?TaxonNameID=#{TAXON_ID}&ImageID=#{IMAGE_ID}" title="Go to this image">' +
            '<img style="padding: 0; margin: 0; border-width: 0" src="../editImgSnd/GetThumb.aspx?ImageID=#{IMAGE_ID}&Width=320&Height=200&Fit=True" alt="Thumbnail" />' +
         '</a></div>' +
         '<div class="descLbl">#{DESC}</div>' +
         '<div class="cmpBtnBox">' +
            '<a href="javascript:showSmall(#{IMAGE_ID});" title="Show image (small)" class="cmpBtn"><img src="../img_logo/smallImg.PNG" alt="Show image (small)" class="imgBtn"/></a>' +
            '<a href="javascript:showFull(#{IMAGE_ID});" title="Show image (full)" class="cmpBtn"><img src="../img_logo/fullImg.PNG" alt="Show image (full)" class="imgBtn"/></a>' +
            '<a href="javascript:compareLRS(#{IMAGE_ID});" title="Left-Right (small)" class="cmpBtn"><img src="../img_logo/LRS.PNG" alt="Left-Right (small)" class="imgBtn"/></a>' +
            '<a href="javascript:compareUDS(#{IMAGE_ID});" title="Up-Down (small)" class="cmpBtn"><img src="../img_logo/UDS.PNG" alt="Up-Down (small)" class="imgBtn" /></a>' +
            '<a href="javascript:compareLRF(#{IMAGE_ID});" title="Left-Right (full)" class="cmpBtn"><img src="../img_logo/LRF.PNG" alt="Left-Right (full)" class="imgBtn" /></a>' +
            '<a href="javascript:compareUDF(#{IMAGE_ID});" title="Up-Down (full)" class="cmpBtn"><img src="../img_logo/UDF.PNG" alt="Up-Down (full)" class="imgBtn" /></a>' +
         '</div>' +
      '</div>'
      );



var G$Cookie = '';



function drawWindows() {
   var buff = '';

   for (var i = 0; i < G$StickyImages.length; i++) {

      if (!G$StickyImages[i].hide)
         buff += WINDOW_TEMPLATE.evaluate({
            TAXON_ID: G$StickyImages[i].txnId,
            TAXON_NAME: G$TaxaNames.idx[G$StickyImages[i].txnId].name,
            IMAGE_ID: G$StickyImages[i].imgId,
            DESC: G$StickyImages[i].desc
         });
   }
   $('stickiesPanel').update(buff);
}

function findImage(id) {

   for (var i = 0; i < G$StickyImages.length; i++) {

      if (G$StickyImages[i].imgId == id)
         return G$StickyImages[i];
   }
   return null;
}

function updateCookie() {

   if (G$StickyImages.length > STICKY_IMAGES_LIMIT)
      G$StickyImages.shift();

   G$Cookie = '';
   for (var i = 0; i < G$StickyImages.length; i++) {
      if (!G$StickyImages[i].hide)
         G$Cookie += G$StickyImages[i].imgId + '-';
   }
   document.cookie = STICKIES_COOKIE_NAME + '=' + escape(G$Cookie.substr(0, G$Cookie.length - 1)) + '; path=/Common/basic/ShowImage.aspx'
}

function updateStickBtn(img) {

   $('stickBtn').value = (!img || img && img.hide) ? 'Select image to compare' : 'Deselect this image';
}

function stickBtnClick() {
   var img = findImage(G$CurrImage.imgId);

   if (!img) {

      img = G$CurrImage;
      G$StickyImages.push(img);
   }
   else
      img.hide = !img.hide;

   updateCookie(img);
   updateStickBtn(img);
   drawWindows();
}

function close(id) {
   var img = findImage(id);

   img.hide = true;
   updateCookie(img);
   if (id == G$CurrImage.imgId)
      updateStickBtn(img);
   drawWindows();
}

function showImg(id, full) {
   window.open('PopImage.aspx?ImageID=' + id + '&width=640' + (full ? '&Full=1' : ''), '', 'width=650,height=490,resizable=yes,scrollbars=yes');
}

function showSmall(id) {

   showImg(id, false);
}

function showFull(id) {

   showImg(id, true)
}

function showCompare(id, layout) {

   window.open('PopImage.aspx?ImageID=' + G$CurrImage.imgId + '&Image2ID=' + id +
                 (layout & 2 ? '' : '&Width=640&Height=480') + '&Layout=' + layout, '', 'width=650,height=490,resizable=yes,scrollbars=yes');
}

function compareLRS(id) {

   showCompare(id, 0)
}

function compareUDS(id) {

   showCompare(id, 1);
}

function compareLRF(id) {

   showCompare(id, 2);
}

function compareUDF(id) {

   showCompare(id, 3);
}

function load() {
   var i, j;

   G$TaxaNames.idx = new Object();
   for (var i = 0; i < G$TaxaNames.length; i++) {

      G$TaxaNames.idx[G$TaxaNames[i].txnId] = G$TaxaNames[i];
   }

   if ((i = document.cookie.indexOf(STICKIES_COOKIE_NAME + "=")) >= 0) {
      i += STICKIES_COOKIE_NAME.length + 1;
      j = document.cookie.indexOf(";", i);

      G$Cookie = unescape(document.cookie.substring(i, j > 0 ? j : document.cookie.length));
   }
   drawWindows();
   updateStickBtn(findImage(G$CurrImage.imgId));
   $('stickBtn').setStyle({ visibility: 'visible' });
}