// JavaScript Document

var mmOpenContainer = null;
var mmOpenMenus = null;
var mmHideMenuTimer = null;
var scrollTimer = 0;
var scrollSpeed = 16;
var scrollPos   = -30;
var scrollQbj   = null;


var currentGallery = new Array();
var currentShowHide = new Array();

var prodRotNaming  = '';
var prodRotTimer   = null;
var prodRotCount   = 2000;
var prodRotMax     = 10;
var prodRotCurrent = 1;


function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}





function scroll_menu_down() {
	clearTimeout(scrollTimer);
	
	scrollPos = scrollPos+2;
	
	var m = document.getElementById(scrollQbj);
	// set timer
	if(scrollPos > -30 && scrollPos < 0) {
		m.style.marginTop = scrollPos+"px";
		scrollTimer = setTimeout("scroll_menu_down()",scrollSpeed);
	}
	else if(scrollPos == 0) {
		m.style.marginTop = scrollPos+"px";
	}
}

function scroll_menu_up() {
	clearTimeout(scrollTimer);
	
	scrollPos = scrollPos-2;
	
	var m = document.getElementById(scrollQbj);
	
	// set timer
	if(scrollPos < 0 && scrollPos > -30) {
		m.style.marginTop = scrollPos+"px";
		scrollTimer = setTimeout("scroll_menu_up()",scrollSpeed);
	}
	else if(scrollPos == -30) {
		m.style.marginTop = scrollPos+"px";
	}
}





function MM_menuShowMenu(containName,menuName,curButton,osY,osX) {
	MM_setLayer(curButton,containName,osY,osX)
	MM_menuHideMenus();
	MM_menuResetTimeout();
	MM_menuShowMenuContainer(containName);
	MM_menuShowMenuInner(menuName);
}

	// set the position of the opening menu
	function MM_setLayer(obj,lyr,bosY,bosX){ //v1.0
		// get offset
		var buttonOffsetY = bosY;
		var buttonOffsetX = bosX;
		// get parent menu position
		var newX = MM_findPosX(obj);
		var newY = MM_findPosY(obj);
		// get new menu object and change position
		var x = new MM_findObj(lyr);
		x.style.top = (buttonOffsetY+newY) + 'px';
		x.style.left = (buttonOffsetX+newX) + 'px';
	}
	
	function MM_menuHideMenus() {
		MM_menuResetTimeout();
		if(mmOpenContainer) {
			var c = document.getElementById(mmOpenContainer);
			c.style.visibility = "inherit";
			mmOpenContainer = null;
		}
		if(mmOpenMenus) {
			for(var i in mmOpenMenus) {
				var m = document.getElementById(mmOpenMenus[i]);
				//m.style.visibility = "hidden";
				scrollQbj = mmOpenMenus[i];
				scroll_menu_up();
			}
			mmOpenMenus = null;
		}
	}
	
	function MM_menuResetTimeout() {
		if (mmHideMenuTimer) clearTimeout(mmHideMenuTimer);
		mmHideMenuTimer = null;
	}
	
	function MM_menuShowMenuContainer(containName) {	
		var c = document.getElementById(containName);
		var s = c.style;
		s.visibility = "inherit";
		mmOpenContainer = "" + containName;
	}

	function MM_menuShowMenuInner(subMenuName) {
		MM_menuResetTimeout();
		var e = document.getElementById(subMenuName);
		//e.style.visibility = "inherit";
		scrollQbj = subMenuName;
		scroll_menu_down();
		if(!mmOpenMenus) {
			mmOpenMenus = new Array;
		}
		mmOpenMenus[mmOpenMenus.length] = "" + subMenuName;
	}





function MM_menuOverMenuItem(menuName,subMenuSuffix,curLink,osY,osX) {
	//
	MM_menuResetTimeout();
	MM_menuHideSubmenus(menuName);
	if(subMenuSuffix) {
		var subMenuName = ""+menuName+"_"+subMenuSuffix;
		MM_setLayer(0,subMenuName,osY,osX);
		MM_menuShowMenuInner(subMenuName);
	}
}


	function MM_menuHideSubmenus(menuName) {
		if(mmOpenMenus) {
			var h = false;
			var c = 0;
			for(var i in mmOpenMenus) {
				if(h) {
					var m = document.getElementById(mmOpenMenus[i]);
					m.style.visibility = "hidden";
				}
				else if(mmOpenMenus[i]==menuName) {h = true;} 
				else {c++;}
			}
			mmOpenMenus.length = c+1;
		}
	}





function MM_menuStartTimeout(hideTimeout) {mmHideMenuTimer = setTimeout("MM_menuHideMenus()", hideTimeout);}



// find parent items position X
function MM_findPosX(obj){ //v1.0
  var curleft = 0; 
  if (obj.offsetParent){ 
  	while (obj.offsetParent){
	  curleft += obj.offsetLeft; 
	  obj = obj.offsetParent;
	}
  }
  else if (obj.x) curleft += obj.x;
  return curleft;
}

// find parent items position Y
function MM_findPosY(obj){ //v1.0
  var curtop = 0;
  if (obj.offsetParent){
   while (obj.offsetParent){
     curtop += obj.offsetTop
     obj = obj.offsetParent;
   }
  }
  else if (obj.y) curtop += obj.y;
  return curtop;
}






function gallery_show(objName,seq) {
	//alert(currentGallery);
	
	var n = document.getElementById(objName+seq);
	var o = document.getElementById(objName+currentGallery[objName]);

	if(currentGallery[objName] != seq) {
		n.style.display = 'block';
		if(o) {o.style.display = 'none';}
	}
	
	currentGallery[objName] = seq;
}



function show_hide(objName,seq,linkName) {
	
	var linkOff = '<strong class="plusmin-plus">Show Links</strong>';
	var linkOn  = '<strong class="plusmin-min">Hide Links</strong>';

	var n = document.getElementById(objName+seq);
	var o = document.getElementById(objName+currentShowHide[objName]);
	var l = document.getElementById(linkName+seq);
	var c = document.getElementById(linkName+currentShowHide[objName]);

	n.style.display = 'block';
	if(o) {o.style.display = 'none';}
	
	
	if(currentShowHide[objName] != seq) {
		currentShowHide[objName] = seq;
		if(l) {l.innerHTML = linkOn;}
		if(c) {c.innerHTML = linkOff;}
	}
	else {
		currentShowHide[objName] = '';
		if(c) {c.innerHTML = linkOff;}
	}
}



function product_rotator_init(naming,intt,total) {
	prodRotNaming = naming;
	prodRotMax = total;
	prodRotCount = intt;
	prodRotCurrent = 1;
	// bring in first
	product_rotator_do(prodRotCurrent,prodRotCount);
}


function product_rotator_do(no,waitTime) {
	clearTimeout(prodRotTimer);
	
	var curObj = document.getElementById(prodRotNaming+prodRotCurrent);
	var curObjBtn = document.getElementById(prodRotNaming+prodRotCurrent+'_but');
	
	if(curObj) {curObj.style.display = 'none';}
	if(curObjBtn) {curObjBtn.className = 'off-link';}
	
	prodRotCurrent = no;
	
	var newObj = document.getElementById(prodRotNaming+prodRotCurrent);
	var newObjBtn = document.getElementById(prodRotNaming+prodRotCurrent+'_but');
	
	if(newObj) {newObj.style.display = 'block';}
	if(newObjBtn) {newObjBtn.className = 'on-link';}
	
	var nextObj = (prodRotCurrent == prodRotMax) ? 1 : prodRotCurrent+1;
	
	if(waitTime != 0) {
		prodRotTimer = setTimeout("product_rotator_do("+nextObj+","+prodRotCount+")", waitTime);
	}
}




function toNumber(str, isInteger, roundNum) {
	var num;
	var strType = typeof(str);
	
	if(strType == "string") {
		// Strip non-numeric chars and convert to number
		num = Number(str.replace(/[^0-9-.]/g, ""));
	} 
	else if(strType != "number") {
		// Return NaN if not a number
		return NaN;
	}
	
	if (isNaN(num)) {return 0;} 
	else if (isInteger) {return Math.floor(num);} 
	else if (roundNum) {return Math.round(num);} 
	else {return num;}
}


function CurrencyFormatted(amount) {
	var i = parseFloat(amount);
	if(isNaN(i)) { i = 0.00; }
	var minus = "";
	if(i < 0) { minus = "-"; }
	i = Math.abs(i);
	i = parseInt((i + .005) * 100);
	i = i / 100;
	s = new String(i);
	if(s.indexOf(".") < 0) { s += ".00"; }
	if(s.indexOf(".") == (s.length - 2)) { s += "0"; }
	s = minus + s;
	return CommaFormatted(s);
}


function CommaFormatted(amount) {
	var delimiter = ","; // replace comma if desired
	var a = amount.split(".",2)
	var d = a[1];
	var i = parseInt(a[0]);
	if(isNaN(i)) { return ""; }
	var minus = "";
	if(i < 0) { minus = "-"; }
	i = Math.abs(i);
	var n = new String(i);
	var a = [];
	while(n.length > 3)
	{
		var nn = n.substr(n.length-3);
		a.unshift(nn);
		n = n.substr(0,n.length-3);
	}
	if(n.length > 0) { a.unshift(n); }
	n = a.join(delimiter);
	if(d.length < 1) { amount = n; }
	else { amount = n + "." + d; }
	amount = minus + amount;
	return amount;
}



