/**
 * @author Peter Hoose (C) 2007
 */

var curMgThumbPos = 0;
var moveAmt       = 115;
//var moveAmt     = 220;
var moveMult      = 2; // Essentially how many images to move at a time
var origMoveMult  = moveMult;
var totalMgThumbs = 0;
var visMgThumbs   = 4; 

function showPic(newImgLink) {	  	
  
  if (!document.getElementById("mgMainImg")) return true;		
           
  var newImgImg = newImgLink.getElementsByTagName("img");
  var newImg = newImgImg[0];
  	 
  var source = newImgLink.getAttribute("href");
  var altTxt = newImg.getAttribute("alt");
   
  //var mainImg = document.getElementById("mgMainImg");
  $('mgMainImg').remove();
  new Asset.image(source, {id: "mgMainImg", onload: function() {                   
          this.setStyle('opacity', 0);          
          this.injectInside($('mgMainImgWrap'));          
          var Effect = new Fx.Style('mgMainImg', 'opacity', {duration:1000}).start(0,1);         
        }});

  //mainImg.setAttribute("src", source);
  //mainImg.setAttribute("alt", altTxt);
  
  return false;
}

function buildMg() {
  	
  if (!document.getElementById("mg")) return false;          
  if (!document.getElementById("mgThumbsNav")) return false;
  if (!document.getElementById("mgThumbsImgs")) return false;
  var mgThumbsNav = document.getElementById("mgThumbsNav");
  var mgThumbsNavLinks = mgThumbsNav.getElementsByTagName("a");

  var mgThumbs  = document.getElementById("mgThumbsImgs");
  totalMgThumbs = mgThumbs.getElementsByTagName("img").length;	
        
  // Add operators to plus/minus links to enable navigation in the gallery

  for (var i=0;i < mgThumbsNavLinks.length; i ++) {
    mgThumbsNavLinks[i].onclick = function() {
      return slideMgThumbs(this.id);
	}
	mgThumbsNavLinks[i].onmouseover = function() {
      hoverEffect(this.id, "Hover", "TNav");
		}
	mgThumbsNavLinks[i].onmouseout = function() {
      hoverEffect(this.id, "Norm", "TNav");
	  }
    if (mgThumbsNavLinks[i].id == "mgMinus") {
      document.getElementById("mgMinusTNav").style.backgroundColor = "#808080";
      document.getElementById("mgMinus").style.cursor = "default";
    }	
  }

  // Add operators to img links to control how and where they are displayed
        
  var mgThumbsImgs = document.getElementById("mgThumbsImgs");
  var mgThumbsImgsLinks = mgThumbsImgs.getElementsByTagName("a");
  for (var i=0; i < mgThumbsImgsLinks.length; i ++) {
    mgThumbsImgsLinks[i].onclick = function() {		  	
      // To ensure that the link is not followed we must
      // use return here
      return showPic(this);
    }
  }
}

function slideMgThumbs(direction) {
		  
  var mgPlusT  = document.getElementById("mgPlusTNav").style;
  var mgMinusT = document.getElementById("mgMinusTNav").style;   
  var mgPlus  = document.getElementById("mgPlus").style;
  var mgMinus = document.getElementById("mgMinus").style;   
  
  var mgThumbs      = document.getElementById("mgThumbsImgs");
           
  if (direction == 'mgMinus') {
    if (curMgThumbPos != 0) {
      
      
      if ((curMgThumbPos + (moveAmt * moveMult)) > 0) {         
        moveMult = origMoveMult;
        while ((curMgThumbPos + (moveAmt * moveMult)) > 0) { 
          moveMult -=1; 
        }
      }
      else {
        if ((curMgThumbPos + (moveAmt * origMoveMult)) > 0) {                   
          moveMult = origMoveMult;
          while ((curMgThumbPos + (moveAmt * moveMult)) > 0) { 
            moveMult -=1; 
          }          
        }
        else { 
          moveMult = origMoveMult;
        }
      }
      var move = (curMgThumbPos+(moveAmt*moveMult));      
      var moveMgThumbs = new Fx.Style('mgThumbsImgs', 'margin-left', {transition:Fx.Transitions.Quad.easeOut});                   
      moveMgThumbs.start(curMgThumbPos,move);         
      curMgThumbPos += (moveAmt*moveMult);
    }
  }
  else if (direction == 'mgPlus') {    
    //if (curMgThumbPos != -((moveAmt * moveMult) * (totalMgThumbs-visMgThumbs))) {        
    if (curMgThumbPos > -(moveAmt * (totalMgThumbs - visMgThumbs))) {        
       
      //alert("CUR POS: " + curMgThumbPos + " NEW POS: " + (curMgThumbPos - (moveAmt * moveMult)) + " TOTAL SLIDE: " + -((totalMgThumbs-visMgThumbs) * moveAmt));         
      if ((curMgThumbPos - (moveAmt * moveMult)) < -((totalMgThumbs-visMgThumbs) * moveAmt)) {           
        moveMult = origMoveMult;
        while ((curMgThumbPos - (moveAmt * moveMult)) < -((totalMgThumbs-visMgThumbs) * moveAmt)) {
          moveMult -= 1;
        }        
      }
      else { 
        if ((curMgThumbPos - (moveAmt * origMoveMult)) < -((totalMgThumbs-visMgThumbs) * moveAmt)) {
          moveMult = origMoveMult;
          while ((curMgThumbPos - (moveAmt * moveMult)) < -((totalMgThumbs-visMgThumbs) * moveAmt)) {
            moveMult -= 1;
          }          
        }
        else {
          moveMult = origMoveMult;        
        }
      }
      var move = (curMgThumbPos-(moveAmt * moveMult));      
      var moveMgThumbs = new Fx.Style('mgThumbsImgs', 'margin-left', {transition:Fx.Transitions.Quad.easeOut});                   
      moveMgThumbs.start(curMgThumbPos,move);         
      curMgThumbPos -= (moveAmt * moveMult);	  
    }
   
  }
  else {
    return true;
  }
  if (curMgThumbPos == 0) {
    mgMinusT.backgroundColor = "#808080";
    mgMinus.cursor = "default";
	  mgMinusT.cursor = "default";
  }
  else if (direction == "mgPlus") {  	
    mgMinusT.backgroundColor = "#000000";
    mgMinus.cursor = "pointer";
	  mgMinusT.cursor = "pointer";
  }

  //if (curMgThumbPos == -(moveAmt * (totalMgThumbs - visMgThumbs))) {          
  if (curMgThumbPos <= -(moveAmt * (totalMgThumbs - visMgThumbs))) {          
    mgPlusT.backgroundColor = "#808080";
    mgPlus.cursor = "default";
	  mgPlusT.cursor = "default";
  }
  else if (direction == "mgMinus") {
    mgPlusT.backgroundColor = "#000000";
    mgPlus.cursor = "pointer";
	  mgPlusT.cursor = "pointer";
  }

  // We don't want to follow the link for this, it just reloads the page
         	   
  return false;
}

window.addEvent('domready', function(){      
  buildMg();
});   