function roundNumber(rnum) {
    var rlength = 2; // The number of decimal places to round to
    if (rnum > 8191 && rnum < 10485) {
	    rnum = rnum-5000;
	    var newnumber = Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength);
	    newnumber = newnumber+5000;
    } else {
	    var newnumber = Math.round(rnum*Math.pow(10,rlength))/Math.pow(10,rlength);
    }
    return rnum;
}

function formatCurrency(num) {
    num = num.toString().replace(/\$|\,/g,'');
    if(isNaN(num))
    num = "0";
    sign = (num == (num = Math.abs(num)));
    num = Math.floor(num*100+0.50000000001);
    cents = num%100;
    num = Math.floor(num/100).toString();
    if(cents<10)
    cents = "0" + cents;
    for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
    num = num.substring(0,num.length-(4*i+3))+','+
    num.substring(num.length-(4*i+3));
    return (((sign)?'':'-') + '$' + num + '.' + cents);
}

function showHover(srcelem)
{
	var cfore,cback;
	var src;	

	if (srcelem != null)	
		src = srcelem;
	
	if (src.style.backgroundColor == '#666666')		
		return;

	//for firefox
	if (src.style.backgroundColor == 'rgb(102, 102, 102)')
		return;
	
	if (src.style.backgroundColor == '#f0efef')	
		src.style.backgroundColor = "#C9C7C7";
	else
		src.style.backgroundColor = "#f0efef";
}

//used to show hover for side menu
var prevsidebackground = "";
var prevselecteddiv = null;
var selectedInnerdiv = null;

var prevselecteddiv2 = null;
var selectedInnerdiv2 = null;

function showHoverSide(src,action)
{
	//alert (document.getElementById("cidcategory").value);	
	//if (src.className == 'selectedmenuinner' || src.id.substring(1) == document.getElementById("cidcategory").value)
	//	return;	

	if (action == 1){ //1 = over
		prevsidebackground = src.style.backgroundColor;	
		src.style.backgroundColor = "#C9C7C7";				
		if (src.childNodes[0].id == 'imgspan')
			src.childNodes[0].innerHTML = "<IMG SRC='images/orangeselectarrow.gif' width='9' height='9' border='0' class='menuimg'  alt='left'>&nbsp;&nbsp;&nbsp;";
	}
	else{
		src.style.backgroundColor = prevsidebackground;
		prevsidebackground = "";
		if (src.childNodes[0].id == 'imgspan')
			src.childNodes[0].innerHTML = "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
	}
}

var prevcenterbackground = "";
function showHoverCenter(src,action)
{
	if (src.style.backgroundColor == '#666666')
		return;

	if (action == 'over'){
		prevcenterbackground = src.style.backgroundColor;	
		src.style.backgroundColor = "#C9C7C7";		
	}
	else{
		src.style.backgroundColor = prevcenterbackground;
		prevcenterbackground = "";
	}
}

function showMenu(curdiv,idcategory)
{
	var intxt = "";
	curdiv.className = "currentinnermenu";
	
	for (var x=0;x<menuArray.length;x++){
        if (menuArray[x][0] == idcategory){
			//alert(menuArray[x][5]);
			if (menuArray[x][5] == 'Always' || menuArray[x][5] == 'SubCat'){
				displaylevel = menuArray[x][5];
				intxt += "<div style='cursor:pointer;' class='leftmenuinner'"
				intxt += " onmouseover='showHoverSide(this,1)' onmouseout='showHoverSide(this,0)'"
				intxt += " onclick='menuClick(" + x + ")' title='" + menuArray[x][3] +"'><span id='imgspan'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>"
				intxt += menuArray[x][2] + "</div>";		
			}
			else{
				idcategory2 = menuArray[x][1];
				displaylevel = menuArray[x][5];
				intxt += "<div style='cursor:pointer;' class='currentinnermenu'"
				intxt += " onmouseover='showHoverSide(this,1)' onmouseout='showHoverSide(this,0)'"
				intxt += " onclick='showMenu2(this," + idcategory2 + ");'"
				intxt += " title='" + menuArray[x][3] +"'>"
				intxt += "<span id='imgspan'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>"
				intxt += menuArray[x][2] + "</div>";
				intxt += "<div id='divMenu2" + idcategory2 + "' style='position:relative;display:none;'></div>"
			}		
		}
	}

	//make prevselecteddiv white
	if (prevselecteddiv != null){
		if (displaylevel != 'SubCat')		
			prevselecteddiv.className = 'innermenu';
	}		
	
	prevselecteddiv = curdiv;	
	
	//make inner div not selected
	if (selectedInnerdiv != null)
		selectedInnerdiv.style.display='none';		
		
	selectedInnerdiv = document.getElementById('divMenu' + idcategory);
	
	selectedInnerdiv.innerHTML = intxt;				
	//setTimeout("selectedInnerdiv.style.display='block'",500);
	selectedInnerdiv.style.display='block';			
}

//for second level (von duprin and monarch)
function showMenu2(curdiv,idcategory)
{
	var intxt = "";
	curdiv.className = "currentinnermenu";
	
	//make prevselecteddiv2 lowercase
	if (prevselecteddiv2 != null)
		prevselecteddiv2.className = 'currentinnermenu';			
	prevselecteddiv2 = curdiv;	
	
	//make inner div2 not selected
	if (selectedInnerdiv2 != null)
		selectedInnerdiv2.style.display='none';		
		
	selectedInnerdiv2 = document.getElementById('divMenu2' + idcategory);
	
	for (var x=0;x<menuArray.length;x++){
        if (menuArray[x][0] == idcategory){
			intxt += "<div style='cursor:pointer;' class='leftmenuinner2'"
			intxt += " onmouseover='showHoverSide(this,1)' onmouseout='showHoverSide(this,0)'"
			intxt += " onclick='menuClick(" + x + ")' title='" + menuArray[x][3] +"'><span id='imgspan'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>"
			intxt += menuArray[x][2] + "</div>";			
		}
	}
	
	selectedInnerdiv2.innerHTML = intxt;				
	//setTimeout("selectedInnerdiv.style.display='block'",500);
	selectedInnerdiv2.style.display='block';			
}

function menuClick(arrnum)
{
	location = menuArray[arrnum][4];
}

function hideMenu(curdiv,action)
{
	if (action == 'show'){
		curdiv.style.display='block';
	}
	else{
		curdiv.style.display='none';
		//selecteddiv.style.backgroundColor = prevsidebackground;
		//prevsidebackground = "";
	}
}

//Used in cart to confirm that customer will delete item
function validateDelete(obj)
{
	if (!confirm("Are you sure you want to delete this " + obj + "?"))
		return false;
	return true;
}

//function validateCheckout()
//{
//	if (document.getElementById('savestate').value == 1){
//		alert("Please update your cart.");
//		return false;
//	}
//	return true;
//}

//function validateCheckoutMinimum()
//{
//	if (document.getElementById('savestate').value == 1)
//		alert("Please update your cart.");
//	else
//	    alert('The minimum purchase amount is $500.00');
//	return false;
//}

//validates checkout on shoppingcart.aspx
function validateCheckout(minorder,minorderSurcharge,totalcart)
{	
	if (document.getElementById('savestate').value == 1){
		alert("Please update your cart.")
		return false;
	}

	if (minorder > 0) //then minimum required
	{
        if ((totalcart < parseInt(minorder)) && (totalcart >= parseInt(minorderSurcharge)))
        {
            document.getElementById('divBelowMin').style.display = "";
            return false;
        }
        else if (totalcart < parseInt(minorderSurcharge))
        {
            alert("The minimum purchase amount is $" + minorderSurcharge);
            return false;
        }	    
	}
	
	return true;
}

function showBelowMinMessage(curelem,display)
{
    if (display == 1)
    {
        curelem.className = "MinimumOrderLinkOver";
        document.getElementById('divBelowMinMessage').style.display = "";
    }
    else
    {
        curelem.className = "MinimumOrderLink";
        document.getElementById('divBelowMinMessage').style.display = "none";
    }
}

function validateCart()
{
	if (document.getElementById('totalcart').value < 1){
		alert("Your shopping cart is empty");
		return false
	}
	return true;
}

function validateOpen(closeddates)
{
	if (!confirm("Our offices are closed " + closeddates + ".\nYour order will be processed after we reopen.\nDo you want to proceed with the order?"))
	    return false;
	
	return true;
}

function displayCartConfirm()
{
	document.getElementById('divcartmessage').style.display='block';
	document.getElementById('tblrightcart').style.border= '5px solid #5E5D5D';
	//document.getElementById('divcartmessage').style.top = document.getElementById('tblrightcart').offsetTop + 20;
	setTimeout("document.getElementById('divcartmessage').style.display='none'",5000);
	setTimeout("document.getElementById('tblrightcart').style.border= '0px';",5000);
}

//used on shoppingcart.aspx to check if customer is getting multiples of boxquantity
function validateqtycart()	
{
	var inputelem = document.getElementsByTagName("input");
	var qty, qtyelem, x;
	var qtyarray = new Array();
	//var qtyallowedarray = new Array();
	x = 0;
	for(i=0;i<inputelem.length;i++)
	{			
		//check if item is qty order
		if(inputelem[i].id.indexOf('qtyquoted') > -1)
		{
			qtyarray[x] = new Array(3);
			qtyarray[x][0] = inputelem[i].value;
		}
		
		if(inputelem[i].id.indexOf('uxQuantityText') > -1)
		{
			qtyarray[x][1] = inputelem[i].value;	
			qtyarray[x][2] = inputelem[i].id;	
			inputelem[i].style.backgroundColor = "white";
			x++;				
		}			
	}
	
	for (i=0;i<x;i++){			
		qty = parseInt(qtyarray[i][1]);		 
		qtyelem = qtyarray[i][2];			
		
		//check if item is qty order
		qtyquoted = parseInt(qtyarray[i][0]);
		if (qtyquoted > 0){
			if (qty < qtyquoted){
				document.getElementById(qtyelem).style.backgroundColor = "red";  
				alert("This item is a quoted quantity order and has a minimum of " + qtyquoted + ".");
				document.getElementById(qtyelem).focus();
				return false;
			}
		}
	}

	return true;
}

function displayCartConfirm()
{
	document.getElementById('divcartmessage').style.display='block';
	document.getElementById('tblrightcart').style.border= '5px solid #5E5D5D';
	//document.getElementById('divcartmessage').style.top = document.getElementById('tblrightcart').offsetTop + 20;
	setTimeout("document.getElementById('divcartmessage').style.display='none'",5000);
	setTimeout("document.getElementById('tblrightcart').style.border= '0px';",5000);
}


//Used to confirm that customer accepts policy
function validateAccept()
{
    if (document.getElementById("ctl00_uxPlaceHolder_chkAccept").checked == false){
        alert("You must accept the terms and conditions before completing this order.\nPlease read the full terms and conditions and scroll down to accept.");        
        return false;
    }
    return true;
}

//Validate Credit Card
function validateCard()
{
	var idPrefix = "ctl00_uxPlaceHolder_";
	var varcardType = document.getElementById(idPrefix + "CreditCartTypeDropDownList").value;
	var varcardNum = document.getElementById(idPrefix + "CreditCardNumberTextBox").value;
	var varmt = document.getElementById(idPrefix + "ExpMonthDropDownList").value;
	var varyr = document.getElementById(idPrefix + "ExpYearDropDownList").value;
	var varcvv2 = document.getElementById(idPrefix + "CVV2TextBox").value;
	varcardNum = varcardNum.replace(/\s/g,"");
	
	//Card Type
	if (varcardType == ""){
		alert("Please select the Credit Card Type");
		document.getElementById(idPrefix + "CreditCartTypeDropDownList").focus();
		return false;
	}
			
	//Card #		
	if (varcardNum == ""){
		alert("Please enter the Card Number");
		document.getElementById(idPrefix + "CreditCardNumberTextBox").focus();
		return false;
	}
			
	//CVV2	
	if (varcvv2 == ""){
		alert("Please enter the Card Verification #");
		document.getElementById(idPrefix + "CVV2TextBox").focus();
		return false;
	}		
	
	//check if user entered 3#'s for MC/Visa or 4 #'s for American Exp
	if (varcardType=="American Express"){
		if (varcvv2.length != 4){
			alert("Please enter a 4 digit CVV for American Express");
			return false;
		}
	}
	else{
		if (varcvv2.length != 3){
			alert("Please enter a 3 digit CVV for Visa or Mastercard");
			return false;
		}
	}

	//Expiration Month
	if (varmt == ""){
		alert("Please select the Exp Month");
		document.getElementById(idPrefix + "ExpMonthDropDownList").focus();
		return false;
	}
	
	//Exp Year
	if (varyr == ""){
		alert("Please select the Exp Year");
		document.getElementById(idPrefix + "ExpYearDropDownList").focus();
		return false;
	}	
	
	//check if card expired
	var myDate=new Date();
	myDate.setDate(myDate.getDate());
	var curmt = myDate.getMonth()+1;
	var curyr = myDate.getFullYear();
	if (varyr == curyr){
		if (varmt < curmt){
			alert("Invalid date.");			
			return false;
		}
	}

	return true;
}

//begin functions for customer billing & shipping info
//if billing country is outside US, show NonUS popup msg
function toggleNonUSMsg(curelem)
{
    //get position
    var posleft = 0;
    var posright = 0;
    for (posleft = 0, postop = 0; curelem.offsetParent; curelem = curelem.offsetParent) 
	{
		posleft += curelem.offsetLeft;
		postop += curelem.offsetTop;
	}
    
    if (document.getElementById("divNonUS").style.display == "none")
    {
    	document.getElementById("divNonUS").style.left = (posleft) + "px";
	    document.getElementById("divNonUS").style.top = (postop - 120) + "px";
        document.getElementById("divNonUS").style.display = "";
    }
    else
        document.getElementById("divNonUS").style.display = "none";
}

//if billing country is outside US, show textbox by state
function displayNonUSMsg(curselect)
{
    var statedrop = document.getElementById("ctl00_uxPlaceHolder_uxCustomerRegister_uxStateList_uxStateDrop");
    var statetext = document.getElementById("ctl00_uxPlaceHolder_uxCustomerRegister_uxStateList_uxStateText");
    
    if (!statedrop)
    {
        statedrop = document.getElementById("ctl00_uxPlaceHolder_uxStateList_uxStateDrop");
        statetext = document.getElementById("ctl00_uxPlaceHolder_uxStateList_uxStateText"); 
    }
    
    if( curselect.value == 'US' )
    {        
        //statedrop.disabled = false;
        statedrop.value = '';
        statetext.style.visibility = 'hidden';
        document.getElementById( 'tdNonUS' ).style.display = 'none';
        
        if (statedrop.value == 'AK' || statedrop.value == 'HI')
            shippingAsBillingOption(0);
        else
            shippingAsBillingOption(1);
    }
    else 
    {
        statedrop.value = 'OT';
        //statedrop.disabled = true;
        statetext.style.visibility = 'visible';
        document.getElementById( 'tdNonUS' ).style.display = '';
        toggleNonUSMsg(curselect);   
        
        shippingAsBillingOption(0);
    }
}

//if billing country is outside US, disable shipping as billing 
function shippingAsBillingOption(display)
{    
    var elemprefix = "ctl00_uxPlaceHolder_uxCustomerRegister_";    
    tdUseBillingAsShippingElem = document.getElementById(elemprefix + "tdUseBillingAsShipping");
    tdDoNotUseBillingAsShippingElem = document.getElementById(elemprefix + "tdDoNotUseBillingAsShipping");
        
    if (!tdUseBillingAsShippingElem)
    {
        elemprefix = "ctl00_uxPlaceHolder_";
        tdUseBillingAsShippingElem = document.getElementById(elemprefix + "tdUseBillingAsShipping");
        tdDoNotUseBillingAsShippingElem = document.getElementById(elemprefix + "tdDoNotUseBillingAsShipping");
    }
    
    if (display == 1)
    {
        tdUseBillingAsShippingElem.style.display = '';
        tdDoNotUseBillingAsShippingElem.style.display = 'none';    
    }
    else
    {
        tdUseBillingAsShippingElem.style.display = 'none';
        tdDoNotUseBillingAsShippingElem.style.display = ''; 

        document.getElementById(elemprefix + "uxUseBillingAsShipping").checked = false; 
        document.getElementById(elemprefix + "uxShippingFirstName").disabled = false; 
        document.getElementById(elemprefix + "uxShippingLastName").disabled = false; 
        document.getElementById(elemprefix + "uxShippingCompany").disabled = false; 
        document.getElementById(elemprefix + "uxShippingAddress1").disabled = false; 
        document.getElementById(elemprefix + "uxShippingAddress2").disabled = false;
        document.getElementById(elemprefix + "uxShippingCity").disabled = false;
        document.getElementById(elemprefix + "uxShippingStateList_uxStateDrop").disabled = false; 
        document.getElementById(elemprefix + "uxShippingZip").disabled = false;
        document.getElementById(elemprefix + "uxShippingPhone").disabled = false; 
        document.getElementById(elemprefix + "uxShippingFax").disabled = false;         
    }
}
//end of functions for customer billing & shipping info