// product scroller script
(function($){
  $.fn.mssProductScroller = function() {
    var currentlyMoving = false;
    var stepsize = 5;
    var scroller = $(this);
    if (!scroller){return false;} // fail if we cannot find scroller element
  
    var sView = scroller.children('.scroller-view').first();
    var sHidden = scroller.children('.scroller-hidden').first();
    
    // grab box size and number showing
    var defaultBoxes = sView.children('.sbox');
    var boxsize = parseInt(defaultBoxes.first().css('width'));
    var numshowing = defaultBoxes.length;
    
    // add functionality to next and previous buttons
    var nxt = scroller.children('.next-box');
    if (nxt){nxt.click(advanceScroller);}
    var prv = scroller.children('.prev-box');
    if (prv){prv.click(rewindScroller);}
  
  
    function advanceScroller(){
      if (currentlyMoving){return false;}else{currentlyMoving=true;}
      var hBoxes = sHidden.children('.sbox');
      var vBoxes = sView.children('.sbox');
      if (!hBoxes){return false;}
      var newBox = hBoxes.first();
      var oldBox = vBoxes.first();
      newBox.first().css('left', vBoxes.length * boxsize);
      sView.append(newBox);
      moveScroller(-1 * boxsize, function(){
        sHidden.append(oldBox);
        currentlyMoving=false;
      });
    }
    
    function rewindScroller(){
      if (currentlyMoving){return false;}else{currentlyMoving=true;}
      var hBoxes = sHidden.children('.sbox');
      if (!hBoxes){return false;}
      var newBox = hBoxes.last();
      var oldBox = sView.children('.sbox').last();
      newBox.css('left', -1 * boxsize);
      sView.prepend(newBox);
      moveScroller(boxsize, function(){
        sHidden.prepend(oldBox);
        currentlyMoving=false;
      });
    }
    
    function moveScroller(dist, after) {
      var currentChildren = sView.children('.sbox');
      
      currentChildren.animate({
        left: '+='+dist
      }, 500, after);
    }
  }
})(jQuery);

// multi image layer script
function makeVisible(a0, a1, a2, a3, a4, a5, a6, a7, a8) {
   for (i = 0; i < arguments.length; i++) {
      var myArg = arguments[i];
      if (myArg && myArg != "") {
         document.getElementById(arguments[i]).style.visibility = "visible";
         }
      }
   }
function makeNotVisible(a0, a1, a2, a3, a4, a5, a6, a7, a8) {
   for (i = 0; i < arguments.length; i++) {
      var myArg = arguments[i];
      if (myArg && myArg != "") {
         document.getElementById(myArg).style.visibility = "hidden";
         }
      }
   }
var layerTT = null;
function showMe(layer, state) {
   if (state == "on" && layer) {
      if (layerTT != null) layerTT.style.display = 'none';
      layer.style.display = 'block';
      layerTT = layer;
      }
   if (state == "off") {
      layerTT.style.display = 'none';
      }
   }
// show alt image views layer and hide select menus for IE6
function changeImage(num) {
   var imageName;
   for (i = 1; i <= 5; i++) {
      // imageName = (expanded==1)? "image" + i + "-cssLayer" : "image" + i;
      imageName = "image" + i;
      imageName2 = "image" + i + "-cssLayer";
      if (document.getElementById(imageName)) {
         document.getElementById(imageName).style.display = 'none';
         }
      if (document.getElementById(imageName2)) {
         document.getElementById(imageName2).style.display = 'none';
         }
      }
   if (document.getElementById("image" + num)) {
      document.getElementById("image" + num).style.display = 'block';
      }
   if (document.getElementById("image" + num + "-cssLayer")) {
      document.getElementById("image" + num + "-cssLayer").style.display = 'block';
      }
   }
function showLayer(layer, state, num) {
   if (document.getElementById(layer)) {
      if (state == "on") {
         document.getElementById(layer).style.display = 'block';
         // var activeImg = "image" + num + "-cssLayer";
         if (num) {
            changeImage(num, 1);
            }
         if (document.getElementById('product-table')) {
            var orderTable = document.getElementById('product-table');
            var options = orderTable.getElementsByTagName('select');
            for (i = 0; i < options.length; i++) {
               options[i].style.visibility = "hidden";
               }
            }
         }
      if (state == "off") {
         document.getElementById(layer).style.display = 'none';
         if (document.getElementById('product-table')) {
            var orderTable = document.getElementById('product-table');
            var options = orderTable.getElementsByTagName('select');
            for (i = 0; i < options.length; i++) {
               options[i].style.visibility = "visible";
               }
            }
         }
      }
   }
/* modal window */
function createModal(state) {
   var clickToClose = true;
   // set to true to close modalby clicking anywhere
   var container = document.getElementById('pageBody');
   // page container id
   var modal = document.getElementById('modalOverlay');
   // modal div id
   var cHeight = (container && container != 'undefined') ? container.offsetHeight + "px" : "1600px";
   var selects = document.getElementsByTagName('select');
   function off() {
      modal.style.display = 'none';
      showLayer('itemLayer' , 'off');
      for (i = 0; i < selects.length; i++) {
         selects[i].style.visibility = 'visible';   
         //showLayer('itemLayer' , 'off');
         }
      }
   function on() {
      modal.style.height = cHeight;
      modal.style.display = 'block';
      for(i = 0; i < selects.length; i++) {
         selects[i].style.visibility = 'hidden';
         }
      }
   if(!modal || modal == 'undefined') {
      modal = document.createElement('div');
      modal.id = 'modalOverlay';
      document.body.appendChild(modal);
      }
   if(clickToClose) {
      modal.onclick = off;
      }
   if (state == "on")on();
   if (state == "off")off();
   //if (state="on") {modal.onclick=showLayer('itemLayer' , 'off');}
   }
