/* Copyright (c) 2006, CyberGite.com. All rights reserved. */


CyberGiteClass = function() {

  // EXTERNAL LINKS IMAGE
  this.externalLinksImage = "/_resources/v1.1/images/external.png";

  // THUMBNAILS
  this.thumbSelections = new Array();

};


CyberGiteClass.prototype = {


  // INIT
  init: function() {

    this.externalLinks();
    this.prepareThumbnails();

  },


  // EXTERNAL LINKS
  externalLinks: function() {

    var host = document.location.host;
    var myAnchors = document.getElementsByTagName("a");
    for (var i = 0, n = myAnchors.length; i < n; i++) {
      var urlhref = myAnchors[i].href;
      var urlexternal = (!urlhref.indexOf("http://") && urlhref.indexOf("http://" + document.location.host));
      if (urlhref && urlexternal) {
        myAnchors[i].className = "External " + myAnchors[i].className;
        myAnchors[i].target = "_blank";
        var currclass = " " + myAnchors[i].className + " ";
        if (currclass.indexOf(" NoExternalImage ") < 0) {
          myImg = document.createElement("img");
          myImg.src = this.externalLinksImage;
          myImg.className = "External";
          myAnchors[i].appendChild(document.createTextNode(" "));
          myAnchors[i].appendChild(myImg);
        }
      }
    }

  },


  // PREPARE THUMBNAILS
  prepareThumbnails: function() {

    var myParagraphs = document.getElementsByTagName('P');
    for (var i = 0; i < myParagraphs.length; i++) {
      if (myParagraphs[i].className == 'Thumbnails') {
        var links = myParagraphs[i].getElementsByTagName('A');
        for (var k = 0; k < links.length; k++) {
          if (links[k].className == "PopUpHelp") {
            links[k].onclick = function() {
              return false;
            };
          } else {
            links[k].onclick = function() {
              CyberGite.expandThumbnail(this);
              this.focus();
              return false;
            };
            links[k].onfocus = function() {
              CyberGite.expandThumbnail(this);
            };
          }
        }
      }
    }

  },


  // EXPAND THUMBNAIL
  expandThumbnail: function(anchor) {

    var myImg = anchor.getElementsByTagName("IMG")[0];

    var parameters = anchor.href.split("#")[1].split("_");
    var type       = parameters[1];
    var index      = parameters[2];
    var subindex   = parameters[3];
    var imgalt     = myImg.alt;
    var blockIndex = type + "_" + index;

    this.replaceLargeImage(type, index, subindex, myImg.src, imgalt);

    if (this.thumbSelections[blockIndex] > 0 && this.thumbSelections[blockIndex] != subindex) {
      this.collapseThumbnail(blockIndex, this.thumbSelections[blockIndex]);
    }

    var target = document.getElementById("LargeImage_" + blockIndex + "_" + subindex);
    target.className = "Expanded";
    this.thumbSelections[blockIndex] = subindex;

    return false;

  },


  // COLLAPSE THUMBNAIL
  collapseThumbnail: function(blockIndex, subindex) {

    var target = document.getElementById("LargeImage_" + blockIndex + "_" + subindex);
    target.className = "";
    return false;

  },


  // REPLACE LARGE IMAGE
  replaceLargeImage: function(type, index, subindex, tnsrc, imgalt) {

    var idNode = document.getElementById("LargeImage_" + type + "_" + index + "_" + subindex);
    var noscriptNode = idNode.getElementsByTagName("NOSCRIPT")[0];
    if (! noscriptNode) return false;

    var imgsize = "";
    var width   = "";
    var height  = "";

    var lgsrc = tnsrc.replace("/tn_imageblock_", "/lg_imageblock_");
    var urlsearch = tnsrc.split("?")[1];
    if (urlsearch) {
      var values = urlsearch.split("_");
      if (values[0]) width  = values[0];
      if (values[1]) height = values[1];
    }
    if (width && height) {
      imgsize = ' width="' + width + '" height="' + height + '"';
    }

    var myLinkNode = document.createElement('A');
    myLinkNode.href = '#nogo';
    myLinkNode.onblur = function () {
      this.parentNode.parentNode.className = "";
    };
    myLinkNode.onclick = function() {
      this.parentNode.parentNode.className = "";
      return false;
    };

    var myImageNode = document.createElement('IMG');
    myImageNode.src = lgsrc;
    myImageNode.alt = imgalt;
    myImageNode.width = width;
    myImageNode.height = height;

    var myParagraphNode = document.createElement('P');

    myLinkNode.appendChild(myImageNode);
    myParagraphNode.appendChild(myLinkNode);
    noscriptNode.parentNode.replaceChild(myParagraphNode, noscriptNode);

    return true;

  }


};


// enlarged thumbnails
document.write("\n<style type='text/css'>");
document.write("\n  div.LargeImages div { display: none; }");
document.write("\n  div.LargeImages div.Expanded { display: block; }");
document.write("\n</style>");

// screen size
document.cookie = "screen_width=" + screen.width;
document.cookie = "screen_height=" + screen.height;

// class instance
var CyberGite = new CyberGiteClass();

