<!--
//Jump menu mod'd by Daniel Greene

mtDropDown.spacerGif = "images/clear.gif"; 
mtDropDown.dingbatOn = "images/minus.gif"; 
mtDropDown.dingbatOff = "images/plus.gif"; 
mtDropDown.dingbatSize = 16; 
mtDropDown.menuPadding = 5; 
mtDropDown.itemPadding = 5; 
mtDropDown.shadowSize = 2; 
mtDropDown.shadowOffset = 3; 
mtDropDown.shadowColor = "#333333"; 
//mtDropDown.shadowPng = "img/spclear.gif"; 
mtDropDown.backgroundColor = "#dbf2fa"; 
//mtDropDown.backgroundPng = "/img/spclear.gif"; 
mtDropDown.hideDelay = 600; 
mtDropDown.slideTime = 200; 
mtDropDown.reference = {topLeft:1,topRight:2,bottomLeft:3,bottomRight:4};
mtDropDown.direction = {down:1,right:2};
mtDropDown.registry = [];
mtDropDown._maxZ = 100;
mtDropDown.isSupported = function() {
  if (typeof mtDropDown.isSupported.r == "boolean") return mtDropDown.isSupported.r;
  var ua = navigator.userAgent.toLowerCase();
  var an = navigator.appName;
  var r = false;
  if (ua.indexOf("gecko") > -1) r = true; 
  else if (an == "Microsoft Internet Explorer") {
    if (document.getElementById) r = true; 
    }
  mtDropDown.isSupported.r = r;
  return r;
  }
mtDropDown.initialize = function() {
  for (var i = 0, menu = null; menu = this.registry[i]; i++) {
    menu.initialize();
    }
  }
mtDropDown.renderAll = function() {
  var aMenuHtml = [];
  for (var i = 0, menu = null; menu = this.registry[i]; i++) {
    aMenuHtml[i] = menu.toString();
    }
  document.write(aMenuHtml.join(""));
  }
function mtDropDown(oActuator, iDirection, iLeft, iTop, iReferencePoint, parentMenuSet) {
  this.addItem = addItem;
  this.addMenu = addMenu;
  this.toString = toString;
  this.initialize = initialize;
  this.isOpen = false;
  this.show = show;
  this.hide = hide;
  this.items = [];
  this.onactivate = new Function(); 
  this.ondeactivate = new Function(); 
  this.onmouseover = new Function(); 
  this.onqueue = new Function(); 
  this.index = mtDropDown.registry.length;
  mtDropDown.registry[this.index] = this;
  var id = "mtDropDown" + this.index;
  var contentHeight = null;
  var contentWidth = null;
  var childMenuSet = null;
  var animating = false;
  var childMenus = [];
  var slideAccel = -1;
  var elmCache = null;
  var ready = false;
  var _this = this;
  var a = null;
  var pos = iDirection == mtDropDown.direction.down ? "top" : "left";
  var dim = null;
  function addItem(sText, sUrl) {
    var item = new mtDropDownItem(sText, sUrl, this);
    item._index = this.items.length;
    this.items[item._index] = item;
    }
  function addMenu(oMenuItem) {
    if (!oMenuItem.parentMenu == this) throw new Error("Cannot add a menu here");
    if (childMenuSet == null) childMenuSet = new mtDropDownSet(mtDropDown.direction.right, -5, 4, mtDropDown.reference.topRight);
    var m = childMenuSet.addMenu(oMenuItem);
    childMenus[oMenuItem._index] = m;
    m.onmouseover = child_mouseover;
    m.ondeactivate = child_deactivate;
    m.onqueue = child_queue;
    return m;
    }
  function initialize() {
    initCache();
    initEvents();
    initSize();
    ready = true;
    }
  function show() {
    if (ready) {
      _this.isOpen = true;
      animating = true;
      setContainerPos();
      elmCache["clip"].style.visibility = "visible";
      elmCache["clip"].style.zIndex = mtDropDown._maxZ++;
      slideStart();
      _this.onactivate();
      }
    }
  function hide() {
    if (ready) {
      _this.isOpen = false;
      animating = true;
      for (var i = 0, item = null; item = elmCache.item[i]; i++) dehighlight(item);
      if (childMenuSet) childMenuSet.hide();
      slideStart();
      _this.ondeactivate();
      }
    }
  function setContainerPos() {
    var sub = oActuator.constructor == mtDropDownItem; 
    var act = sub ? oActuator.parentMenu.elmCache["item"][oActuator._index] : oActuator; 
    var el = act;
    var x = 0;

if(document.layers)
				{
					    var y = -2;
				}
				else if(document.all)
				{
					    var y = -2;
				}
				else if(document.getElementById)
				{
					    var y = -2;

				}




    var minX = 0;
    var maxX = (window.innerWidth ? window.innerWidth : document.body.clientWidth) - parseInt(elmCache["clip"].style.width);
    var minY = 0;
    var maxY = (window.innerHeight ? window.innerHeight : document.body.clientHeight) - parseInt(elmCache["clip"].style.height);
    while (sub ? el.parentNode.className.indexOf("mtDropdownMenu") == -1 : el.offsetParent) {
      x += el.offsetLeft;
      y += el.offsetTop;
      if (el.scrollLeft) x -= el.scrollLeft;
      if (el.scrollTop) y -= el.scrollTop;
      el = el.offsetParent;
      }
    if (oActuator.constructor == mtDropDownItem) {
      x += parseInt(el.parentNode.style.left);
      y += parseInt(el.parentNode.style.top);
      }
    switch (iReferencePoint) {
      case mtDropDown.reference.topLeft:
        break;
      case mtDropDown.reference.topRight:
        x += act.offsetWidth;
        break;
      case mtDropDown.reference.bottomLeft:
        y += act.offsetHeight;
        break;
      case mtDropDown.reference.bottomRight:
        x += act.offsetWidth;
        y += act.offsetHeight;
        break;
      }
    x += iLeft;
    y += iTop;
    x = Math.max(Math.min(x, maxX), minX);
    y = Math.max(Math.min(y, maxY), minY);
    elmCache["clip"].style.left = x + "px";
    elmCache["clip"].style.top = y + "px";
    }
  function slideStart() {
    var x0 = parseInt(elmCache["content"].style[pos]);
    var x1 = _this.isOpen ? 0 : -dim;
    if (a != null) a.stop();
    a = new Accelimation(x0, x1, mtDropDown.slideTime, slideAccel);
    a.onframe = slideFrame;
    a.onend = slideEnd;
    a.start();
    }
  function slideFrame(x) {
    elmCache["content"].style[pos] = x + "px";
    }
  function slideEnd() {
    if (!_this.isOpen) elmCache["clip"].style.visibility = "hidden";
    animating = false;
    }
  function initSize() {
    var ow = elmCache["items"].offsetWidth;
    var oh = elmCache["items"].offsetHeight;
    var ua = navigator.userAgent.toLowerCase();
    elmCache["clip"].style.width = ow + mtDropDown.shadowSize + 2 + "px";
    elmCache["clip"].style.height = oh + mtDropDown.shadowSize + 2 + "px";
    elmCache["content"].style.width = ow + mtDropDown.shadowSize + "px";
    elmCache["content"].style.height = oh + mtDropDown.shadowSize + "px";
    contentHeight = oh + mtDropDown.shadowSize;
    contentWidth = ow + mtDropDown.shadowSize;
    dim = iDirection == mtDropDown.direction.down ? contentHeight : contentWidth;
    elmCache["content"].style[pos] = -dim - mtDropDown.shadowSize + "px";
    elmCache["clip"].style.visibility = "hidden";
    if (ua.indexOf("mac") == -1 || ua.indexOf("gecko") > -1) {
      elmCache["background"].style.width = ow + "px";
      elmCache["background"].style.height = oh + "px";
      elmCache["background"].style.backgroundColor = mtDropDown.backgroundColor;
      elmCache["shadowRight"].style.left = ow + "px";
      elmCache["shadowRight"].style.height = oh - (mtDropDown.shadowOffset - mtDropDown.shadowSize) + "px";
      elmCache["shadowRight"].style.backgroundColor = mtDropDown.shadowColor;
      elmCache["shadowBottom"].style.top = oh + "px";
      elmCache["shadowBottom"].style.width = ow - mtDropDown.shadowOffset + "px";
      elmCache["shadowBottom"].style.backgroundColor = mtDropDown.shadowColor;
      }
    else {
      elmCache["background"].firstChild.src = mtDropDown.backgroundPng;
      elmCache["background"].firstChild.width = ow;
      elmCache["background"].firstChild.height = oh;
      elmCache["shadowRight"].firstChild.src = mtDropDown.shadowPng;
      elmCache["shadowRight"].style.left = ow + "px";
      elmCache["shadowRight"].firstChild.width = mtDropDown.shadowSize;
      elmCache["shadowRight"].firstChild.height = oh - (mtDropDown.shadowOffset - mtDropDown.shadowSize);
      elmCache["shadowBottom"].firstChild.src = mtDropDown.shadowPng;
      elmCache["shadowBottom"].style.top = oh + "px";
      elmCache["shadowBottom"].firstChild.height = mtDropDown.shadowSize;
      elmCache["shadowBottom"].firstChild.width = ow - mtDropDown.shadowOffset;
      }
    }
  function initCache() {
    var menu = document.getElementById(id);
    var all = menu.all ? menu.all : menu.getElementsByTagName("*"); 
    elmCache = {};
    elmCache["clip"] = menu;
    elmCache["item"] = [];
    for (var i = 0, elm = null; elm = all[i]; i++) {
      switch (elm.className) {
        case "items":
        case "content":
        case "background":
        case "shadowRight":
        case "shadowBottom":
          elmCache[elm.className] = elm;
          break;
        case "item":
          elm._index = elmCache["item"].length;
          elmCache["item"][elm._index] = elm;
          break;
        }
      }
    _this.elmCache = elmCache;
    }
  function initEvents() {
    for (var i = 0, item = null; item = elmCache.item[i]; i++) {
      item.onmouseover = item_mouseover;
      item.onmouseout = item_mouseout;
      item.onclick = item_click;
      }
    if (typeof oActuator.tagName != "undefined") {
      oActuator.onmouseover = actuator_mouseover;
      oActuator.onmouseout = actuator_mouseout;
      }
    elmCache["content"].onmouseover = content_mouseover;
    elmCache["content"].onmouseout = content_mouseout;
    }
  function highlight(oRow) {
    oRow.className = "item hover";
    if (childMenus[oRow._index]) oRow.lastChild.firstChild.src = mtDropDown.dingbatOn;
    }
  function dehighlight(oRow) {
    oRow.className = "item";
    if (childMenus[oRow._index]) oRow.lastChild.firstChild.src = mtDropDown.dingbatOff;
    }
  function item_mouseover() {
    if (!animating) {
      highlight(this);
      if (childMenus[this._index]) childMenuSet.showMenu(childMenus[this._index]);
      else if (childMenuSet) childMenuSet.hide();
      }
    }
  function item_mouseout() {
    if (!animating) {
      if (childMenus[this._index]) childMenuSet.hideMenu(childMenus[this._index]);
      else dehighlight(this);
      }
    }
  function item_click() {
    if (!animating) {
      if (_this.items[this._index].url) location.href = _this.items[this._index].url;
      }
    }
  function actuator_mouseover() { parentMenuSet.showMenu(_this); }
  function actuator_mouseout() { parentMenuSet.hideMenu(_this); }
  function content_mouseover() {
    if (!animating) {
      parentMenuSet.showMenu(_this);
      _this.onmouseover();
      }
    }
  function content_mouseout() {
    if (!animating) { parentMenuSet.hideMenu(_this); }
    }
  function child_mouseover() {
    if (!animating) { parentMenuSet.showMenu(_this); }
    }
  function child_deactivate() {
    for (var i = 0; i < childMenus.length; i++) {
      if (childMenus[i] == this) {
        dehighlight(elmCache["item"][i]);
        break;
        }
      }
    }
  function child_queue() { parentMenuSet.hideMenu(_this); }
  function toString() {
    var aHtml = [];
    var sClassName = "mtDropdownMenu" + (oActuator.constructor != mtDropDownItem ? " top" : "");
    for (var i = 0, item = null; item = this.items[i]; i++) {
      aHtml[i] = item.toString(childMenus[i]);
      }
    return '<div id="' + id + '" class="' + sClassName + '">' + '<div class="content"><table class="items" cellpadding="0" cellspacing="0" border="0" width="165">' + aHtml.join('') + '</table>' + '<div class="shadowBottom"><img src="' + mtDropDown.spacerGif + '" width="1" height="1"></div>' + '<div class="shadowRight"><img src="' + mtDropDown.spacerGif + '" width="1" height="1"></div>' + '<div class="background"><img src="' + mtDropDown.spacerGif + '" width="1" height="1"></div>' + '</div></div>';

   /* return '<div id="' + id + '" class="' + sClassName + '">' + '<div class="content"><table class="items" cellpadding="0" cellspacing="0" border="0">' + '<tr><td colspan="2"><img src="' + mtDropDown.spacerGif + '" width="150" height="' + mtDropDown.menuPadding + '"></td></tr>' + aHtml.join('') + '<tr><td colspan="2"><img src="' + mtDropDown.spacerGif + '" width="1" height="' + mtDropDown.menuPadding + '"></td></tr></table>' + '<div class="shadowBottom"><img src="' + mtDropDown.spacerGif + '" width="1" height="1"></div>' + '<div class="shadowRight"><img src="' + mtDropDown.spacerGif + '" width="1" height="1"></div>' + '<div class="background"><img src="' + mtDropDown.spacerGif + '" width="1" height="1"></div>' + '</div></div>';*/

    }
  }
mtDropDownSet.registry = [];
function mtDropDownSet(iDirection, iLeft, iTop, iReferencePoint) {
  this.addMenu = addMenu;
  this.showMenu = showMenu;
  this.hideMenu = hideMenu;
  this.hide = hide;
  var menus = [];
  var _this = this;
  var current = null;
  this.index = mtDropDownSet.registry.length;
  mtDropDownSet.registry[this.index] = this;
  function addMenu(oActuator) {
    var m = new mtDropDown(oActuator, iDirection, iLeft, iTop, iReferencePoint, this);
    menus[menus.length] = m;
    return m;
    }
  function showMenu(oMenu) {
    if (oMenu != current) {
      if (current != null) hide(current); 
      current = oMenu;
      oMenu.show();
      }
    else {
      cancelHide(oMenu);
      }
    }
  function hideMenu(oMenu) {
    if (current == oMenu && oMenu.isOpen) {
      if (!oMenu.hideTimer) scheduleHide(oMenu);
      }
    }
  function scheduleHide(oMenu) {
    oMenu.onqueue();
    oMenu.hideTimer = window.setTimeout("mtDropDownSet.registry[" + _this.index + "].hide(mtDropDown.registry[" + oMenu.index + "])", mtDropDown.hideDelay);
    }
  function cancelHide(oMenu) {
    if (oMenu.hideTimer) {
      window.clearTimeout(oMenu.hideTimer);
      oMenu.hideTimer = null;
      }
    }
  function hide(oMenu) { 
    if (!oMenu && current) oMenu = current;
    if (oMenu && current == oMenu && oMenu.isOpen) {
      cancelHide(oMenu);
      current = null;
      oMenu.hideTimer = null;
      oMenu.hide();
      }
    }
  }
function mtDropDownItem(sText, sUrl, oParent) {
  this.toString = toString;
  this.text = sText;
  this.url = sUrl;
  this.parentMenu = oParent;
  function toString(bDingbat) {
    var sDingbat = bDingbat ? mtDropDown.dingbatOff : mtDropDown.spacerGif;
    var iEdgePadding = mtDropDown.itemPadding + mtDropDown.menuPadding;
    var sPaddingLeft = "padding:" + mtDropDown.itemPadding + "px; padding-left:" + iEdgePadding + "px;"
    var sPaddingRight = "padding:" + mtDropDown.itemPadding + "px; padding-right:" + iEdgePadding + "px;"
    //return '<tr class="item"><td nowrap style="' + sPaddingLeft + '">' + sText + '</td><td width="14" style="' + sPaddingRight + '">' + '<img src="' + sDingbat + '" width="14" height="14"></td></tr><tr><td bgcolor="ffffff" colspan="2"></td></tr>';
	return '<tr class="item"><td nowrap style="' + sPaddingLeft + '" onMouseOver="return showStatus(\'' + sText +'\');" onMouseOut="return showStatus(\'\');" id="bottomBrd">' + sText + '</td><td width="14" style="' + sPaddingRight + '" id="bottomBrd">' + '<img src="' + sDingbat + '" width="14" height="14"></td></tr>';




    }
  }
function Accelimation(from, to, time, zip) {
  if (typeof zip == "undefined") zip = 0;
  if (typeof unit == "undefined") unit = "px";
  this.x0 = from;
  this.x1 = to;
  this.dt = time;
  this.zip = -zip;
  this.unit = unit;
  this.timer = null;
  this.onend = new Function();
  this.onframe = new Function();
  }
Accelimation.prototype.start = function() {
  this.t0 = new Date().getTime();
  this.t1 = this.t0 + this.dt;
  var dx = this.x1 - this.x0;
  this.c1 = this.x0 + ((1 + this.zip) * dx / 3);
  this.c2 = this.x0 + ((2 + this.zip) * dx / 3);
  Accelimation._add(this);
  }
Accelimation.prototype.stop = function() {
  Accelimation._remove(this);
  }
Accelimation.prototype._paint = function(time) {
  if (time < this.t1) {
    var elapsed = time - this.t0;
    this.onframe(Accelimation._getBezier(elapsed/this.dt,this.x0,this.x1,this.c1,this.c2));
    }
  else this._end();
  }
Accelimation.prototype._end = function() {
  Accelimation._remove(this);
  this.onframe(this.x1);
  this.onend();
  }
Accelimation._add = function(o) {
  var index = this.instances.length;
  this.instances[index] = o;

  if (this.instances.length == 1) {
    this.timerID = window.setInterval("Accelimation._paintAll()", this.targetRes);
    }
  }
Accelimation._remove = function(o) {
  for (var i = 0; i < this.instances.length; i++) {
    if (o == this.instances[i]) {
      this.instances = this.instances.slice(0,i).concat( this.instances.slice(i+1) );
      break;
      }
    }
  if (this.instances.length == 0) {
    window.clearInterval(this.timerID);
    this.timerID = null;
    }
  }
Accelimation._paintAll = function() {
  var now = new Date().getTime();
  for (var i = 0; i < this.instances.length; i++) {
    this.instances[i]._paint(now);
    }
  }
Accelimation._B1 = function(t) { return t*t*t }
Accelimation._B2 = function(t) { return 3*t*t*(1-t) }
Accelimation._B3 = function(t) { return 3*t*(1-t)*(1-t) }
Accelimation._B4 = function(t) { return (1-t)*(1-t)*(1-t) }
Accelimation._getBezier = function(percent,startPos,endPos,control1,control2) {
  return endPos * this._B1(percent) + control2 * this._B2(percent) + control1 * this._B3(percent) + startPos * this._B4(percent);
  }
Accelimation.instances = [];
Accelimation.targetRes = 10;
Accelimation.timerID = null;




function jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
  }
function makestatussay(txt) {self.status = txt;}
function makestatusclear() {self.status = "";}
function newImage(arg) {
  if (document.images) {
    rslt = new Image();
    rslt.src = arg;
    return rslt;
    }
  }
function changeImages() {
  if (document.images && (preloadFlag == true)) {
    for (var i=0; i<changeImages.arguments.length; i+=2) {
      document[changeImages.arguments[i]].src = changeImages.arguments[i+1];
      }
    }
  }
function reloadPage(init) {
  if (init==true) with (navigator) {
    if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
      document.pgW=innerWidth;
      document.pgH=innerHeight;
      onresize=reloadPage;
      }
    }
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
  }
reloadPage(true);
function preloadImages() {
  var d=document;
  if(d.images) {
    if(!d.p) d.p=new Array();
    var i,j=d.p.length,a=preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){
      d.p[j]=new Image;
      d.p[j++].src=a[i];
      }
    }
  }
  
  
var preloaded = [];

function init() {


  if (mtDropDown.isSupported()) {
    mtDropDown.initialize();

  
    }
  }

function loadImage(sFilename) {
  var img = new Image();
  img.src ="images/" + sFilename;
  return img;
  }

function swapImage(imgName, sFilename) {
  document.images[imgName].src = sFilename;
  }
  
//-->


function boxOnClick( box, msg) {
        if(box.value == msg){
             box.value='';
             box.style.color = "#000000";
        }
}

function boxOnBlur( box, msg) {
        if(box.value == '') {
             box.value = msg;
             box.style.color = "#666666"; 
        }
}


/*******
#----------------------------------------------------------------------------
Function for popover in left-nav
#----------------------------------------------------------------------------
*******/
function showSizeData(bin, label1, label2, useULTag){

    var divDisp = document.getElementById('sizebin' + bin);
    var divIdFloat = document.getElementById('isFloat' + bin);

    divIdFloat.style.left = divDisp.offsetLeft - 0;
    divIdFloat.style.top = divDisp.offsetTop + 10;
    divIdFloat.style.visibility = 'visible';


  if (populated == 0)
  {
   var popovercontent = '<div class="margin12px"><table  class="sizePop"><tr class="even"><td colspan="6" class="padLeft12px lbl1">'+ label1 +'</td></tr><tr><td colspan="6" class="lbl2">'+ label2 +'</td></tr><tr>'

    var ArrLinks = new Array();
    ArrLinks = sizeLinks[bin];
    var linkCount = ArrLinks.length;
    var colspanValue = 6 - (linkCount % 6);
    var padRtClass = '';
    
    for (i = 0; i < linkCount; i++) {
        if ( ((i+1) % 6) == 0 ) {
            padRtClass = 'padRight12px';
        } else {
            padRtClass = '';
        }
        if (  useULTag ) {
            popovercontent = popovercontent + '<td class="sizeCell ' + padRtClass + '"><ul class="default">'+ ArrLinks[i]  + '</ul></td>';
        }else {
            popovercontent = popovercontent + '<td class="sizeCell ' + padRtClass + '">' + ArrLinks[i] + '</td>';
        }
        if ( ((i+1) % 6) == 0 ) {
             popovercontent = popovercontent + '</tr><tr>';
        }
    }

    popovercontent = popovercontent + '<td colspan=' + colspanValue + '>&nbsp;</td></tr></table></div>';
    divIdFloat.innerHTML = popovercontent;
   }
    insertIFrameBehindPopup(divIdFloat);
    populated = 1;
}

  function insertIFrameBehindPopup(divIdFloat) {


	var iframe = document.getElementById("iframeMarker");

	if(iframe && navigator.appVersion.substr(22,3)!="5.0")
  			iframe.innerHTML = "<iframe id='menu_iframe' scrolling='no' frameborder='0' height=100% width=100%></iframe>";

        if(iframe)
  	{
	     iframe.style.position = "absolute";
	     iframe.style.top = divIdFloat.offsetTop - 0.5;
	     iframe.style.left = divIdFloat.offsetLeft - 0.5;
	     iframe.style.width = divIdFloat.clientWidth + 5;
	     iframe.style.height = divIdFloat.clientHeight + 5;
             iframe.style.display = "inline";
  	}
  }

function toggleMenuElement(el) {
        var element = el.offsetParent;
        if(element.className.indexOf('unhide') !=-1){
                element.className = element.className.replace(/unhide/,"min");
        }else{
                        if(element.className.indexOf('min') !=-1){
                                element.className = element.className.replace(/min/,"unhide");
                        }
        }
}

function toggleLeftMenu(el) {
        var element = el.offsetParent;
        if(element.className.indexOf('max') !=-1){
                element.className = element.className.replace(/max/,"min");
        }else{
                        if(element.className.indexOf('min') !=-1){
                                element.className = element.className.replace(/min/,"max");
                        }
        }
}

/*******
#----------------------------------------------------------------------------
#Function for Change Favourites - IYR
#----------------------------------------------------------------------------
*******/

function toggle(el) {
        var element = el;
        if(element.className.indexOf('jfyShow') !=-1){
                element.className = element.className.replace(/jfyShow/,"hide");
        }else{
                        if(element.className.indexOf('hide') !=-1){
                                element.className = element.className.replace(/hide/,"jfyShow");
                        }
        }
}

/*******
#----------------------------------------------------------------------------
Functions for popover swatches
#----------------------------------------------------------------------------
*******/
 
// CSS style for 'Swatches' popover
 function insertSwatchData(asin){
     styleStr = "<style>.swatchDataFloat {background-color:white !important; padding:4px; border: solid 1px #333333; z-index:400; width:130px; position:absolute;}</style>";
 
     divStr = '<div class="swatchDataFloat" id="isFloat' + asin + '"></div>';
 
     document.write(styleStr);
     document.write(divStr);
 
     hidePopover('isFloat' + asin);
 }
 
 // Show the 'Swatches' popover
 function showSwatchData(asin, allColors, swatchClose, widget){
     var divDisp = document.getElementById('swatches' + asin + widget);
     var divIdFloat = document.getElementById('isFloat' + asin + widget);
 
     divIdFloat.style.left = divDisp.offsetLeft - 30;
     divIdFloat.style.top = divDisp.offsetTop - 30;
     divIdFloat.style.visibility = 'visible';
 
  // TODO: Put close popover image here
     var popovercontent = '<a href="javascript:hidePopover(\'isFloat' + asin + widget + '\')">' +
                           swatchClose + '</a><h6>' + allColors + '&nbsp;Colours</h6><div class="samples">'
 
     var ArrImages = new Array();
     if (widget != '') {
       ArrImages = eval('swatchImages'+asin)[asin];
     } else {
       ArrImages = swatchImages[asin];
     }
     for (i=0; i<ArrImages.length; i++) {
         popovercontent = popovercontent + ArrImages[i] + '&nbsp;';
         if ( ((i+1) % 4) == 0 ) {
              popovercontent = popovercontent + '<br />';
         }
     }
 
     popovercontent = popovercontent + '</div>';
     divIdFloat.innerHTML = popovercontent;
 }
 
 
 function hidePopover(isFloatID){
     var divIdFloat = document.getElementById(isFloatID);
     divIdFloat.style.visibility = 'hidden';

     if (document.getElementById("iframeMarker")) {
        document.getElementById("iframeMarker").style.display = "none";
     }    
 
 }

function updateStartIndex(delta,totalViews,viewableCount) {
   var obj = document.getElementById('hdnStartIndex');
   var currentVal = eval(obj.value);
   obj.value = currentVal + eval(delta);
   updateView(obj.value,totalViews,viewableCount);
}

function updateView(curStartIndex,totalViews,viewableCount){
   curStartIndex = eval(curStartIndex );

   document.getElementById('leftArrow').className = 'hide';
   document.getElementById('leftpadder').className = 'unhide';
   document.getElementById('rightArrow').className = 'hide';
   document.getElementById('rightpadder').className = 'unhide';

   if (curStartIndex != 1)
   {
        document.getElementById('leftArrow').className = 'unhide middle';
        document.getElementById('leftpadder').className = 'hide';
   }

   if (curStartIndex <= (totalViews - viewableCount))
   {
        document.getElementById('rightArrow').className = 'unhide middle';
        document.getElementById('rightpadder').className = 'hide';
   }

   for (iCount = 0; iCount < totalViews; iCount++)
   {
       var obj = document.getElementById('image_'+iCount);

       if (obj && (iCount + 1 >= curStartIndex  && iCount + 1 < (curStartIndex + viewableCount) )) {
          obj.className = "unhide";
       }
       else if (obj) {
           obj.className = "hide";
       }
   }
}

function changeRating (asin,rate,name) {
    if ( rate == 'OWN') {
        document.getElementById(asin + '.rating.owned').value = "OWN";
    } else {
        document.getElementById(asin + '.rating.onetofive').value = rate;
    }

    formName = asin + '_' + name;
    document.forms[formName].submit();
}

function toggleRv (e1, currClassName) {
    element = e1.offsetParent;
    singleRv(element, currClassName);
    if(element.className == currClassName + " max") {
        element.className = currClassName + " min";
    } else{
        element.className = currClassName + " max";
    }
}

function singleRv(element, currClassName){
    if(element.id != 'singleId'){ //resets if this is a new element
        if(old = document.getElementById('singleId')){
            old.className = currClassName + " min";
            old.id = "";
        }
        element.id = "singleId"; //rename to id
    }
}

// Function to get all elements of the id passed in the page
function getElementsById(sId)
{
  var outArray = new Array();
  if(typeof(sId)!='string' || !sId)
  {
	return outArray;
  };

  if(document.evaluate)
  {
	var xpathString = "//*[@id='" + sId.toString() + "']"
	var xpathResult = document.evaluate(xpathString, document, null, 0, null);
	while ((outArray[outArray.length] = xpathResult.iterateNext())) { }
	outArray.pop();
  }
  else if(document.all)
  {
        if (!document.all[sId])
             return;

	for(var i=0,j=document.all[sId].length;i<j;i+=1){
	outArray[i] =  document.all[sId][i];}

  }else if(document.getElementsByTagName)
  {

	var aEl = document.getElementsByTagName( '*' );
	for(var i=0,j=aEl.length;i<j;i+=1){

		if(aEl[i].id == sId )
		{
			outArray.push(aEl[i]);
		};
	};

  };

  return outArray;
 }

// Function to hide all Select (dropdowns) behind a div
function hideAdjacentSelectObjs( targetDiv ) {
    if (navigator.appName != "Microsoft Internet Explorer")
      return;
    targetDiv = document.getElementById(targetDiv);
    
    for(var i = 0; i < document.all.tags( "SELECT" ).length; ++i) {
        obj = document.all.tags( "SELECT" )[i];
        obj.style.visibility = "hidden";
        obj.tempHidden = '0';
    }
}

// Function to show all Select (dropdowns) in the document
function showAllSelectObjs() {
    if (navigator.appName != "Microsoft Internet Explorer")
      return;

    var arrSelect = document.getElementsByTagName("SELECT");
    for(var i = 0; i < arrSelect.length; ++i) {
        if (arrSelect[i].tempHidden == '0') {
            arrSelect[i].style.visibility = "visible";
            arrSelect[i].tempHidden = '';
        }
    }
}

// Function to position the top-nav tabs
function positionTab(div, parentObj) {
  divObj = document.getElementById(div);
  var top = findPosY(parentObj);
  var left = findPosX(parentObj);
  if (navigator.appName == "Microsoft Internet Explorer") {
     divObj.style.top = top + 13;
     divObj.style.left = left + 22;
  } else {
     divObj.style.top = top + 9;
     divObj.style.left = left - 1.5;

  }
}

 // Function to find the X position of an element
 function findPosX(obj)
  {
    var curleft = 0;
    if(obj.offsetParent)
        while(1) 
        {
          curleft += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.x)
        curleft += obj.x;
    return curleft;
  }

 // Function to find the Y position of an element
  function findPosY(obj)
  {
    var curtop = 0;
    if(obj.offsetParent)
        while(1)
        {
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.y)
        curtop += obj.y;
    return curtop;
  }

  //function to create a cookie
  function addCookie(name,value,days) {
       if (days) {
           var date = new Date();
           date.setTime(date.getTime()+(days*24*60*60*1000));
           var expires = "; expires="+date.toGMTString();
       }
       else var expires = "";
            document.cookie = name+"="+value+expires+"; path=/";
  }

   // Sets the cookie splash-id with the required values
   // Cookie format: "email1=flashid,email2=flashid,email3=flash3,"
   // For anonymous users: "session-id=flashid,email1-flashid,"
   function setSplashCookie(email, value, splashCookie) {
     var cookieString = "";
     // If the cookie for the current user is not found, 
     // just append it
     if (splashCookie == null || splashCookie.indexOf(email) == -1) {
          cookieString = ((splashCookie == null)?"":splashCookie) + email + "=" + value + ":";
     } else {
        // If the cookie is found, replace the existing one to update
        // the splash Id
         var arrTemp = splashCookie.split(":");
         for(i = 0; i < arrTemp.length; i++) {
            if (arrTemp[i].indexOf(email) >= 0) {
               cookieString += email+"="+value+":";
            } else if (arrTemp[i] != '') {
               cookieString += arrTemp[i]+":";
            }
         }
     }

     // Add the cookie, expires after 365 days
     addCookie("splash-id",cookieString, 365);
   }

   function trim(s){
     if((s==null)||(typeof(s)!='string')||!s.length)return'';
     return s.replace(/^\s+/,'').replace(/\s+$/,'');
   }

// disableOnChange and enableOnChange are implemented to support desired functionality
// for tabbing through multiple variation ASIN fields
                                                                                                                          
var disableOnChangeFlag = 0;
var nextActiveElement = 0;
                                                                                                                          
                                                                                                                          
function disableOnChange(event) {
    var srcObj;
                                                                                                                          
    // if is 'Enter' or 'Tab', trigger onChange event for keyboard accessability
    if(event.keyCode == 9 /* Tab */ || event.keyCode == 13 /* Enter */) {
        srcObj = event.srcElement || event.target;
        srcObj.onchange();
    } else {
        disableOnChangeFlag = 1;
    }
}
                                                                                                                          
function enableOnChange(event) {
    disableOnChangeFlag = 0;
    if(event.keyCode == 13 /* Enter */ && nextActiveElement) {
       nextActiveElement.focus();
    }
    nextActiveElement = 0;
}
