<!--
var oCurrDiv = null;
var iSpeed = 10;
var iDivHeight = null;
var iMaxHeight = 95;
var lLastChoice = 0;
//var sBase = '';

function AttributeMenuHeight(id) {
//			alert(id)
	switch (id) {
		case 'ul_menu_attributes_1':	// brand
			return 155;
			break;
		case 'ul_menu_attributes_Brands':	// brand
			return 155;
			break;
		case 'ul_menu_attributes_aCollection':	// brand
			return 155;
			break;
		default:
			return iMaxHeight
	}
}

var aAttributeItems = new Array();
aAttributeItems.push('ul_menu_brand','ul_menu_collection','ul_menu_attributes_Brands', 'ul_menu_attributes_aCollection')
function resizeAttributeMenus() {
	for (var i=0;i<aAttributeItems.length;i++) {
		var o = document.getElementById(aAttributeItems[i])
		if (o) {
			//if (i==3) alert(o.style.height);
			o.style.height = Math.min((o.scrollHeight),AttributeMenuHeight(o.id)) + 'px';
		}
	}
}

function slideUpDown(o, oH1) {
	if (typeof(o)=='string') o=document.getElementById(o);
	if (typeof(oH1)=='string') oH1=document.getElementById(oH1);
	if (o) {
		iDivHeight = o.offsetHeight
		if (oH1.className == 'closed') {
			//alert ('div is closed');
			if ( o.id == 'ul_menu_shapes') {
				o.style.height = 'auto';
				o.style.overflow = 'hidden';
			} else {
				o.style.height = Math.min((o.scrollHeight),AttributeMenuHeight(o.id)) + 'px';
				o.style.overflow = 'auto';
			}
			o.style.padding = '2px 2px 2px 2px';
			oH1.className = "";
			//oCurrDiv = null;
			//slideDown();
			if (oCurrDiv.id == 'ul_menu_attributes_1') { // brand
				ShowHide('find_brand',true);
			}
		} else {
			//alert ('div is open');
			oCurrDiv = o;
			o.style.padding = '0px 2px 0px 2px';
			o.style.overflow = 'hidden';
			//alert(oH1.style.width);
			oH1.className = "closed";
			//oH1.style.background = '#000000';
			slideUp();
		}
	}
}

function slideUp () {
	//alert('slideUp');
	iDivHeight = Math.max(0,iDivHeight - iSpeed);
	oCurrDiv.style.height = iDivHeight + 'px';
	if (iDivHeight > 0 ) {
		setTimeout('slideUp()',50)
	} else {
		if (oCurrDiv.id == 'ul_menu_attributes_1') { // brand
			ShowHide('find_brand',false);
		}
	}
	
}

function slideDown () {
	iDivHeight = Math.max(AttributeMenuHeight(oCurrDiv.id),iDivHeight + iSpeed);
	oCurrDiv.style.height = iDivHeight + 'px';
	if (iDivHeight <= iMaxHeight ) {
		setTimeout('slideDown()',50)
	}
}

function JumpToOption() {
	return;
	if (lLastChoice > 0) {
		window.location.hash = 'am_' + lLastChoice
	}
}


/******************************************************************************/
/*            Double pinned slider, by Mendel N and JJ M 2008                 */
/******************************************************************************/


document.onmousemove = mouseMove;
document.onmouseup   = mouseUp;

var dragObject  = null;
var mouseOffset = null;
var boxOffset = null;
var slider = [];
var slider_timeout = null;
var slider_width = 150;


var val = null;

function getMouseOffset(target, ev){
	ev = ev || window.event;

	var docPos    = getPosition(target);
	var mousePos  = mouseCoords(ev);
	//window.status = mousePos.x + ' - ' + docPos.x;
	//return {x:mousePos.x - docPos.x, y:mousePos.y - docPos.y};
	return {x:mousePos.x - docPos.x, y:mousePos.y - docPos.y};
}

function getPosition(e){
	//var left = -35;
	var left = 0;
	var top  = 0;

	while (e.offsetParent){
		left += e.offsetLeft;
		top  += e.offsetTop;
		e     = e.offsetParent;
	}

	left += e.offsetLeft;
	top  += e.offsetTop;

	return {x:left, y:top};
}

function mouseMove(ev){
	ev = ev || window.event;
	var mousePos = mouseCoords(ev);

	if(dragObject){
		if(dragObject == document.getElementById('zoom_box')) {
			zoomDrag(mousePos);
		} else {
			//dragObject.style.position = 'absolute';
			//dragObject.style.top      = mousePos.y - mouseOffset.y;
			dragObject.style.left     = Math.min(Math.max(mousePos.x - mouseOffset.x - boxOffset.x,0),slider_width) + 'px';
	//		dragObject.style.left     = Math.min(Math.max(mousePos.x - mouseOffset.x,0),150);
			setValue(dragObject.parentNode.id);
		}
		return false;
	}
}

function mouseCoords(ev){
	if(ev.pageX || ev.pageY){
		return {x:ev.pageX, y:ev.pageY};
	}
	if (document.documentElement.scrollTop || document.documentElement.scrollLeft) {
		return {
			x:ev.clientX + document.documentElement.scrollLeft - document.body.clientLeft,
			y:ev.clientY + document.documentElement.scrollTop  - document.body.clientTop
		};
	}
	return {
		x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
		y:ev.clientY + document.body.scrollTop  - document.body.clientTop
	};
}


function mouseUp(){
	if (dragObject) {
		if(dragObject == document.getElementById('zoom_box')) {
			hideZoom();
		} else {
			slider_timeout = setTimeout('slider_dosearch(\'' + dragObject.parentNode.id + '\')',750)
		}
	}
	dragObject = null;
}

function makeDraggable(item){
	if(!item) return;
	item.onmousedown = function(ev){
		dragObject  = this;
		mouseOffset = getMouseOffset(this, ev);
		boxOffset = getPosition(item)
		boxOffset.x -= item.offsetLeft;
		this.style.cursor = 'hand';
		return false;
	}
}

// change the variables based on the slider array
function setValue(box) {
	var nSlide = parseInt(box.replace('slider_',''));
	//alert(nSlide)
	
	var knob_1 = document.getElementById('knob_' + nSlide + '_a');
	var knob_2 = document.getElementById('knob_' + nSlide + '_b');
	
	var val1 = getKnobValue(knob_1,nSlide)
	var val2 = getKnobValue(knob_2,nSlide)
	
	//window.status = 'val1=' + val1 + ', val2=' + val2;
	
	var oLow = document.getElementById('low_value_' + nSlide);
	var oHigh = document.getElementById('high_value_' + nSlide);
	
	//set the new hi and low
	slider[nSlide].currLow = Math.min(val1,val2);
	slider[nSlide].currHigh = Math.max(val1,val2);

	switch (slider[nSlide].numType) {
		case 'Price':
			oLow.innerHTML = m_myFormatCurrency(slider[nSlide].currLow);
			oHigh.innerHTML = m_myFormatCurrency(slider[nSlide].currHigh);
			break;
		case 'Case Width':
			oLow.innerHTML = slider[nSlide].currLow + 'mm';
			oHigh.innerHTML = slider[nSlide].currHigh + 'mm';
			break;
		case 'Percent Off':
			oLow.innerHTML = slider[nSlide].currLow + '%';
			oHigh.innerHTML = slider[nSlide].currHigh + '%';
			break;
		default:
			oLow.innerHTML = slider[nSlide].currLow;
			oHigh.innerHTML = slider[nSlide].currHigh;
	}
	if (slider[nSlide].numType != 'Percent Off') if (slider[nSlide].currHigh == slider[nSlide].max) oHigh.innerHTML += '+';

}

function getKnobValue (o, lSlide) {
	var knobVal = o.offsetLeft
	var minVal = slider[lSlide].min;
	var maxVal = slider[lSlide].max;
	var range = maxVal - minVal
	if (slider[lSlide].numType == 'Price') {
		knobVal = getPriceKnobVal(knobVal);
		knobVal = Math.round(knobVal / 100) * 100
	} else {
		knobVal = Math.round((range * knobVal)/slider_width);
	}
	return knobVal + slider[lSlide].min;
}

function getPriceKnobVal(lVal) {
	var  l = Math.round(lVal / slider_width * 100)
	return l * (l * .75) * 2.666667
}

function getPriceKnobPosition(lVal) {
//	alert(lVal)
	lVal = Math.round(lVal/100) * 100
//	alert(Math.round(Math.sqrt((lVal / 2.666667) / .75)))
//	return  l = Math.round(Math.sqrt((lVal / 2.666667) / .75))
	return  Math.round(Math.sqrt((lVal / 2.666667) / .75))
}

function setupSlider(lSlide) {
	var lRange = slider[lSlide].max - slider[lSlide].min
	var lVal = slider[lSlide].currLow - slider[lSlide].min;
	if (slider[lSlide].numType == 'Price') {
		var lPos = getPriceKnobPosition(lVal) / 100 * slider_width
	} else {
		var lPos = Math.round((lVal/lRange) * slider_width)
	}
	var o = document.getElementById('knob_' + lSlide + '_a')
	if (o) { o.style.left = lPos + 'px' }
	lVal = slider[lSlide].currHigh - slider[lSlide].min;
	if (slider[lSlide].numType == 'Price') {
		lPos = getPriceKnobPosition(lVal) / 100 * slider_width
	} else {
		lPos = Math.round((lVal/lRange) * slider_width)
	}
	o = document.getElementById('knob_' + lSlide + '_b')
	if (o) { o.style.left = lPos + 'px' }
	setValue('slider_' + lSlide);
}

function FormatNumber(num,decimalNum,bolLeadingZero,bolParens,bolCommas)
	// JavaScript Functions Written by:
     //    Scott Mitchell
     //    mitchell@4guysfromrolla.com
     //    http://www.4GuysFromRolla.com
/**********************************************************************
	IN:
		NUM - the number to format
		decimalNum - the number of decimal places to format the number to
		bolLeadingZero - true / false - display a leading zero for
										numbers between -1 and 1
		bolParens - true / false - use parenthesis around negative numbers
		bolCommas - put commas as number separators.
 
	RETVAL:
		The formatted number!
 **********************************************************************/
{ 
        if (isNaN(parseInt(num))) return "NaN";

	var tmpNum = num;
	var iSign = num < 0 ? -1 : 1;		// Get sign of number
	
	// Adjust number so only the specified number of numbers after
	// the decimal point are shown.
	tmpNum *= Math.pow(10,decimalNum);
	tmpNum = Math.round(Math.abs(tmpNum))
	tmpNum /= Math.pow(10,decimalNum);
	tmpNum *= iSign;					// Readjust for sign
	
	
	// Create a string object to do our formatting on
	var tmpNumStr = new String(tmpNum);

	// See if we need to strip out the leading zero or not.
	if (!bolLeadingZero && num < 1 && num > -1 && num != 0)
		if (num > 0)
			tmpNumStr = tmpNumStr.substring(1,tmpNumStr.length);
		else
			tmpNumStr = "-" + tmpNumStr.substring(2,tmpNumStr.length);
		
	// See if we need to put in the commas
	if (bolCommas && (num >= 1000 || num <= -1000)) {
		var iStart = tmpNumStr.indexOf(".");
		if (iStart < 0)
			iStart = tmpNumStr.length;

		iStart -= 3;
		while (iStart >= 1) {
			tmpNumStr = tmpNumStr.substring(0,iStart) + "," + tmpNumStr.substring(iStart,tmpNumStr.length)
			iStart -= 3;
		}		
	}

	// See if we need to use parenthesis
	if (bolParens && num < 0)
		tmpNumStr = "(" + tmpNumStr.substring(1,tmpNumStr.length) + ")";

	return tmpNumStr;		// Return our formatted string!
}

/**********************************************************************/

function FormatCurrency(num,decimalNum,bolLeadingZero,bolParens,bolCommas)
/**********************************************************************
	IN:
		NUM - the number to format
		decimalNum - the number of decimal places to format the number to
		bolLeadingZero - true / false - display a leading zero for
										numbers between -1 and 1
		bolParens - true / false - use parenthesis around negative numbers
		bolCommas - put commas as number separators.										
 
	RETVAL:
		The formatted number!		
 **********************************************************************/
{
	var tmpStr = new String(FormatNumber(num,decimalNum,bolLeadingZero,bolParens,bolCommas));

	if (tmpStr.indexOf("(") != -1 || tmpStr.indexOf("-") != -1) {
		// We know we have a negative number, so place '$' inside of '(' / after '-'
		if (tmpStr.charAt(0) == "(")
			tmpStr = "($"  + tmpStr.substring(1,tmpStr.length);
		else if (tmpStr.charAt(0) == "-")
			tmpStr = "-$" + tmpStr.substring(1,tmpStr.length);
			
		return tmpStr;
	}
	else
		return "$" + tmpStr;		// Return formatted string!
}

function m_myFormatCurrency(num) {
	return FormatCurrency(num,0,false,false,true)
}

// search function
function m_dosearch(sUrl,lFormID) {
	if (lFormID != 2) {
		var o = document.forms['m_search_form'].elements['m_search']
	} else {
		var o = document.forms['m_search_form2'].elements['m_search2']
	}

	if (o) {
		var sTmp = o.value
		if (sTmp.length < 3) {
			alert('Please enter at least 3 characters in search box')
			return false
		} else if (sTmp == 'Refine Search') { 
			o.value = ''
			o.focus()
			return false
		} else {
			sUrl += 'Search=' + encodeURIComponent(sTmp)
			//alert(sUrl)
			location.href= sBase + '/m_watches.asp?' + sUrl 
		}
	}
}

function slider_dosearch(id) {
	if (id.substr(0,7) == 'slider_') {
		var nSlide = parseInt(id.replace('slider_',''));
		var oSlider = slider[nSlide]
		if (oSlider) {
			var sVal = oSlider.currLow + '-';
			if (oSlider.currHigh >= oSlider.max && oSlider.numType != 'Percent Off') {
				sVal += '999999';
			} else {
				sVal += oSlider.currHigh;
			}
			var sUrl = oSlider.url + oSlider.numType + '=' + sVal;
			if (oSlider.advanced) {
				document.getElementById('Price').value = sVal;
			} else {
				location.href= sBase + '/m_watches.asp?' + sUrl;
			}
		}
	}
}


//show or hide mercado and plain menus

function showHideMenu(sMenu, bSave) {
	var oMercado = document.getElementById('mercado_menu');
	var oMercadoAdvanced = document.getElementById('advanced_menu');
	var oPlain = document.getElementById('classic_menu');	
	var oQuick = document.getElementById('tab_quick');	
	var oAdvanced = document.getElementById('tab_advanced');	
	var oClassic = document.getElementById('tab_classic');
	//alert('here');
	if (oMercado && (oMercadoAdvanced || oPlain)) {
		showHideMercTabs(true)
		if (sMenu == 'quick') {
			oMercado.style.display='block';
			if (oMercadoAdvanced) oMercadoAdvanced.style.display='none';
			if (oPlain) oPlain.style.display='none';
			if (oQuick) oQuick.className='tab_quick_on';
			if (oAdvanced) oAdvanced.className='tab_advanced';
			if (oClassic) oClassic.className='tab_classic';
			resizeAttributeMenus();
		} else if (sMenu == 'advanced') {
			oMercado.style.display='none';
			if (oMercadoAdvanced) oMercadoAdvanced.style.display='block';
			if (oPlain) oPlain.style.display='none';
			if (oQuick) oQuick.className='tab_quick';
			if (oAdvanced) oAdvanced.className='tab_advanced_on';
			if (oClassic) oClassic.className='tab_classic_on';
			resizeAttributeMenus();
		} else if (sMenu == 'plain') {
			oMercado.style.display='none';
			if (oMercadoAdvanced) oMercadoAdvanced.style.display='none';
			if (oPlain) oPlain.style.display='block';
			if (oQuick) oQuick.className='tab_quick';
			if (oAdvanced) oAdvanced.style.display='none';
			if (oClassic) oClassic.className='tab_classic_on';
			resizeAttributeMenus();
		}
	}
	if (bSave) SetCookie('visible',sMenu);
}

function showHideMercTabs(b) {
	ShowHide('merc_tabs',b)
}

function checkVisible(conMercado) {
	var sVisible = GetCookie('visible');
//	if (sVisible=='advanced') sVisible = 'quick';
	if (sVisible==null) {
		sVisible = (conMercado=='On') ? 'quick' : 'plain';
	}
	showHideMenu(sVisible, false)
}

// find a brand

var findBrand_timer = false;

function findBrand(lNum,bAdvanced) {
	if (findBrand_timer) { clearTimeout(findBrand_timer); findBrand_timer = false; }
	findBrand_timer = setTimeout('findBrandStart(' + lNum + ',' + bAdvanced + ')',500);
}

function findBrandStart(lNum,bAdvanced) {
	var o = document.getElementById('find_a_brand' + ((bAdvanced) ? '_a':''));
	if (o) {
//		alert(o.value)
		var sVal = o.value
		var oUl = document.getElementById('ul_menu_attributes_' + ((bAdvanced) ? 'Brands':lNum))
		findBrandSub(sVal,oUl,bAdvanced);
	}
}

function findBrandSub(sVal,oUl,bAdvanced) {
	if (oUl) {
		var oLi, reMatch, reNum
		sVal = sVal.replace(/[^a-zA-Z&\s\.\-]/g,'')
		reMatch = new RegExp('(' + sVal.replace(/\./,'\\\.') + ')','ig')
		reNum = /\((\d+)\)/
		for (var i=0;i<oUl.childNodes.length;i++) {
			oLi = oUl.childNodes[i]
			if (oLi.nodeType == 1 && oLi.nodeName == ((bAdvanced) ? 'A':'LI')) {
				var oA = ((bAdvanced) ? oLi:oLi.firstChild)
				if (oA) {
					if (oA.innerText) {
						var sBrand = oA.innerText;
					} else if(oA.textContent) {
						var sBrand = oA.textContent;
					}
					oA.innerHTML = sBrand
					if (sVal.length==0) {
						oLi.style.display='block';
					} else {
						if (sBrand.toLowerCase().indexOf(sVal.toLowerCase()) == -1) {
							oLi.style.display = 'none'
						} else {
							oLi.style.display = 'block'
							sBrand = sBrand.replace(reMatch,'<span class="brand_match">$1</span>')
						}
					}
					sBrand = sBrand.replace(reNum,'<span class="tiny">($1)</span>')
					oA.innerHTML = sBrand
				}
			}
//			if (i > 5) break;
		}
	}
}

function checkUncheck(sForm, iIndex, iGrp, sAttribute) {
	var oForm = document.getElementById(sForm);
//	alert('menu_' + sAttribute + '_' + iIndex);
	var oLink = document.getElementById('menu_' + iGrp + '_' + iIndex);
	if (oLink) { oLink.className = (oLink.className == 'menu_check') ? 'menu_check_selected' : 'menu_check'; }

	var oEl = oForm.elements[sAttribute];
	if (oEl) {
		if (oEl.length) oEl = oEl[iIndex];
		oEl.checked = !oEl.checked;
	}
}

function checkUncheckCase(sForm, iIndex, iGrp, sAttribute) {
	var oForm = document.getElementById(sForm);
//	alert('menu_' + sAttribute + '_' + iIndex);
	var oLink = document.getElementById('m_ws_' + iGrp + '_' + iIndex);
	if (oLink) { oLink.className = (oLink.className == 'm_ws_holder') ? 'm_ws_holder_selected' : 'm_ws_holder'; }
	
	var oEl = oForm.elements[sAttribute];
	if (oEl) {
		if (oEl.length) oEl = oEl[iIndex];
		oEl.checked = !oEl.checked;
	}
}

-->