﻿function init()
{
    //document.onmousemove = update; // update(event) implied on NS, update(null) implied on IE
    //update();
    setInputsForAutoClear();
    
}

/*
setInputsForAutoClear, clearDefaultText, replaceDefaultText, and addEvent
are courtesy of Scott Andrew and/or Ross Shannon, (c) 2000–2007 Ross Shannon, 
Used by permission. http://www.yourhtmlsource.com/about/
http://www.yourhtmlsource.com/forms/clearingdefaulttext.html
*/
function setInputsForAutoClear() 
{
    var formInputs = document.getElementsByTagName('input');
    for (var i = 0; i < formInputs.length; i++) 
        {
            var theInput = formInputs[i];
   
            if (theInput.type == 'text' && theInput.className.match(/\bcleardefault\b/)) 
            {  
           
                /* Add event handlers */          
                addEvent(theInput, 'focus', clearDefaultText, false);
                addEvent(theInput, 'blur', replaceDefaultText, false);
         
                /* Save the current value */
                if (theInput.value != '') 
                {
                    theInput.defaultText = theInput.value;
                }
            }
        }
}

function clearDefaultText(e) 
{
    var target = window.event ? window.event.srcElement : e ? e.target : null;

    if (!target) return;

    if (target.value == target.defaultText) 
    {
        target.value = '';
    }
}

function replaceDefaultText(e) 
{
    var target = window.event ? window.event.srcElement : e ? e.target : null;
    
    if (!target) return;
    
    if (target.value == '' && target.defaultText) 
    {
        target.value = target.defaultText;
    }
}

/* 
* Cross-browser event handling, by Scott Andrew
*/
function addEvent(element, eventType, lamdaFunction, useCapture) 
{
    if (element.addEventListener) 
    {
        element.addEventListener(eventType, lamdaFunction, useCapture);
        return true;
    } 
    else if (element.attachEvent) 
    {
        var r = element.attachEvent('on' + eventType, lamdaFunction);
        return r;
    } 
    else 
    {
        return false;
    }
}

function submit()
{
    document.searchform.submit();
}

function doPulldownSearch(value)
{
    if ('' != value)
    {
        document.location.href = value;
    }
}

/*Scrolls window to top on every ajax postback*/
function pageLoadedHandler(sender, args) 
{
         window.scrollTo(0,0);
}

/*Cart Count Display*/
function showCartDetails()
{
	document.getElementById("ShowDetailsButton").style.display='none';
	document.getElementById("HideDetailsButton").style.display='block';
	document.getElementById("ShowDetails").style.display='block';
}

function hideCartDetails()
{
	document.getElementById("ShowDetailsButton").style.display='block';
	document.getElementById("HideDetailsButton").style.display='none';
	document.getElementById("ShowDetails").style.display='none';
}

/*Open PopUp Window*/
function OpenWindow(page, height, width)
{
	popup = window.open(page,"","height=" + height + ",width=" + width + ",scrollbars=yes,toolbar=yes,resizable=yes,menubar=no");
}

function NewWindow(mypage, myname, w, h, scroll) {
    var winl = (screen.width - w) / 2;
    var wint = (screen.height - h) / 2;
    winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable=yes,toolbar=no,menubar=no';
    win = window.open(mypage, myname, winprops);
}

/*Close PopUp Window*/
function CloseWindow()
{
    popup = window.close();
}

/*Close PopUp Window, Redirect Parent Window*/
function redirect(linkid)
{
    opener.location.href = linkid;
    window.close();
}

/*Star Rating for Customer Reviews*/
function highlightStar(imgPath, starFull, starEmpty, oPassedSrc) {
    var oSrc = window.event.srcElement;
    if(oPassedSrc != null) {
        oSrc = oPassedSrc;
    }

    var oOriginalSrc = oSrc;
        
    if(oSrc.tagName == "IMG") {
        if(oSrc.src.toLowerCase().endsWith(starEmpty)) {
            oSrc.src = imgPath + starFull;

            oSrc = oSrc.previousSibling;

            while(oSrc != null) {       
                if(oSrc.tagName == "SPAN") {
                    break;
                } else if(oSrc.tagName =='IMG') {
                    if(oSrc.stars != '1') {
                        if(oSrc.src.toLowerCase().endsWith(starEmpty)) {
                            oSrc.src = imgPath + starFull;
                        }
                    }
                }
                oSrc = oSrc.previousSibling;
            }
        }    
        oOriginalSrc = oOriginalSrc.nextSibling;
        while(oOriginalSrc != null) {
            if(oOriginalSrc.tagName == "SPAN") {
                break;
            } else if(oOriginalSrc.tagName =='IMG') {
                if(oOriginalSrc.stars != '1') {
                    if(oOriginalSrc.src.toLowerCase().endsWith(starFull)) {
                        oOriginalSrc.src = imgPath + starEmpty;
                    }
                }
            }
            oOriginalSrc = oOriginalSrc.nextSibling;
        }
    }
}

function selectStar(imgPath, starFull, starEmpty) {
    var oOriginalSrc = window.event.srcElement;
    var oSrc = window.event.srcElement;
    if(oSrc.tagName == 'SPAN') {
        return; // in between stars
    }
    
    while(oSrc.tagName != 'SPAN') {
        oSrc = oSrc.parentNode;
    }            
    
    oSrc.onmouseover = "style.cursor = 'hand';";
    oSrc.onmouseout = '';
    
    highlightStar(imgPath, starFull, starEmpty, oOriginalSrc);
    
    var oHidden = oOriginalSrc.parentNode.nextSibling;
    oHidden.value = oOriginalSrc.stars;
}

function unhighlightStar(imgPath, starFull, starEmpty) {
    var oSrc = window.event.srcElement;
    if(oSrc.tagName == "IMG") {
        if(oSrc.src.toLowerCase().endsWith(starFull)) {
            if(oSrc.stars != '1') {
                oSrc.src = imgPath + starEmpty;

                oSrc = oSrc.previousSibling;

                while(oSrc != null) {
                    if(oSrc.tagName == "SPAN") {
                        break;
                    } else if(oSrc.tagName =='IMG') {
                        if(oSrc.stars != '1') {
                            if(oSrc.src.toLowerCase().endsWith(starFull)) {
                                oSrc.src = imgPath + starEmpty;
                            }
                        }
                    }
                    oSrc = oSrc.previousSibling;
                }
            }
        }
    }
}

/*Find the Top and Left Coordinates of any page object*/
function findPos(obj) 
{
	var curleft = curtop = 0;
    if (obj.offsetParent) 
    {
        do {
	        curleft += obj.offsetLeft;
	        curtop += obj.offsetTop;
        } while (obj = obj.offsetParent);
    }

	return [curleft,curtop];
}

/*Display div to the left of img on mouse roll-over. Position determined by size and position of img.*/
function showRolloverL(div, img)
{
    document.getElementById(div).style.display='block';
    document.getElementById(div).style.top=(findPos(img)[1] + (img.height/2) - (document.getElementById(div).offsetHeight/2)) + 'px';    
    document.getElementById(div).style.left=(findPos(img)[0] - (document.getElementById(div).offsetWidth)) + 'px';
}

/*Display div to the right of img on mouse roll-over. Position determined by size and position of img.*/
function showRolloverR(div, img)
{
    document.getElementById(div).style.display='block';
    document.getElementById(div).style.top=(findPos(img)[1] + (img.height/2) - (document.getElementById(div).offsetHeight/2)) + 'px';
    document.getElementById(div).style.left=(findPos(img)[0] + img.width) + 'px';
}

/*Hide div on mouse roll-off.*/
function hideRollover(div)
{
    document.getElementById(div).style.display='none';
}

/*Display div to the right of search box.  Position determined by size and position of search box.*/
function showCategorySearchR(div, box, boxId, cols)
{
    document.getElementById(div).style.display='block';
    document.getElementById(div).style.top=(findPos(box)[1] + 11 - (document.getElementById(div).offsetHeight/2)) + 'px';
    document.getElementById(div).style.left=(findPos(box)[0] + (cols*7.5)) + 'px';
    setTimeout(function() { clickAnyWhereToClose(boxId,div,div); }, 300);
}

var dpScrollIntervalId = 0;
function moveDPScroll(div, img, top, left)
{
    if(document.getElementById(div) != null)
    {
        document.getElementById(div).style.display='block';
        document.getElementById(div).style.top=(findPos(img)[1] + top) + 'px';
        document.getElementById(div).style.left=(findPos(img)[0] + img.width + left) + 'px';
    }
    else
    {
        top +=findPos(img)[1];
        left +=findPos(img)[0] + img.width;
        dpScrollIntervalId = setInterval("moveDiv('dpscroll'," + top + "," + left + ")", 1000);
    }
}

function moveDiv(div, top, left)
{
    if(document.getElementById(div) != null)
    {
        clearInterval(dpScrollIntervalId);
        document.getElementById(div).style.display= 'block';
        document.getElementById(div).style.top= top + 'px';
        document.getElementById(div).style.left= left + 'px';
    }
}

function clickAnyWhereToClose(excludeObj1,excludeObj2,hideThisObj) {
	orig_on_click = document.body.onclick;
	document.body.onclick = function (e) {
		if(!e && event && event.srcElement) {
			var count=0;
			var target = event.srcElement;
			while(count < 15 && target && target.nodeName != 'BODY') {
				if(target.id && target.id!="" && (target.id == excludeObj1 || target.id == excludeObj2)) {
					return true;
				} else {
					target = target.parentNode;					
				}
				count++;
			}
		}
		elem1 = getID(excludeObj1);
		elem2 = getID(excludeObj2);
		if (elem1 && elem1.className.indexOf('dontHideMe') == -1 && elem2 && elem2.className.indexOf('dontHideMe') == -1) {
			hideID(hideThisObj);
			document.body.onclick = orig_on_click;
		}
	}
}

function getID(id) {
	return document.getElementById(id);
}

function hideID(name) {
	if(getID(name)) {
		getID(name).style.display = 'none';
	}
}

function showID(name) {
	if(getID(name)) {
		getID(name).style.display = 'block';
	}
}

function toggleDisplayID(name) {
	if(getID(name)) {
		if(getID(name).style.display = 'none') {
			showID(name);
		} else {
			hideID(name);
		}
	}
}