// ------------------------------------------------------------------------------------------
// Copyright AspDotNetStorefront.com, 1995-2010.  All Rights Reserved.
// http://www.aspdotnetstorefront.com
// For details on this license please visit  the product homepage at the URL above.
// THE ABOVE NOTICE MUST REMAIN INTACT.
// ------------------------------------------------------------------------------------------
function $bindMethod(object, method) {
    return function() {
        return method.apply(object, arguments);
    };
}

function $window_addLoad(handler) {
    if (window.addEventListener) {
        window.addEventListener('load', handler, false);
    }
    else if (document.addEventListener) {
        document.addEventListener('load', handler, false);
    }
    else if (window.attachEvent) {
        window.attachEvent('onload', handler);
    }
    else {
        if (typeof window.onload == 'function') {
            var oldload = window.onload;
            window.onload = function() {
                oldload();
                handler();
            }
        }
        else { window.onload = init; }
    }

}

function $getElement(id, handler) {
    var el = document.getElementById(id);
    return el;
}

var Keys = {
    Enter: 13
}

function $handleSearchEnterKey(id, handler) {
    var el = $getElement(id);
    if (el) {
        var delKeypress = function(e) {

            var keyCode;
            if (e && e.which) {
                keyCode = e.which;
            }
            else if (typeof (event) != 'undefined') {
                keyCode = event.keyCode;
            }

            // we must manually invoke the Page_ClientValidate
            // method here since relying on the normal behavior
            // is not guaranteed to set the appropriate validation flags
            // to stop the postback.
            if (keyCode == Keys.Enter) {
                if (typeof (Page_ClientValidate) != 'undefined') {
                    if (Page_ClientValidate() == false) {
                        return;
                    }
                }

                handler();

                return false;
            }
        }

        el.onkeypress = delKeypress;
    }

}








//carl 
var inputEPPKey = 'EPP Key';
var inputLoginEmail = 'Email';
var inputLoginPassword = 'Password';
var inputSearchText = 'Type your search here';
var inputNewsletter = 'Sign up to our mailing list';
var searchTextCaption = 'Enter your search term here';
var newsletterCaption = 'Sign up for Newsletter';

function checkDefaultFocus(obj, value) {
    //seach textbox focus 
    if (obj.value == value) {
        obj.value = '';
    }
}


function CheckInputDefault_focus(obj, value) {
    if (obj.value == value) {
        obj.value = '';
    }
}
function CheckInputDefault_blur(obj, value) {
    if (obj.value == '') {
        obj.value = value;
    }
}
function checkDefaultBlur(obj, value) {
    //seach textbox blur 
    if (obj.value == '') {
        obj.value = value;
    }
}



//menu 
var p_isIE = /*@cc_on!@*/false;
var currentMenu;
var oldMenu;
var timeout1;
var interval1;
var currentHeight = 0;
var flag = 0;
var tabIndex = 1;

function showMenuDelayed(id) {
    clearTimeout();
    setTimeout('showMenu("' + id + '")', 1500);
}


function showMenu(id) {
    clearTimeout();
    var obj = document.getElementById(id);
    var obj2 = document.getElementById(id + '2');
    obj2.className = 'menu2';
    if (oldMenu != null) {
        oldMenu.style.display = 'none';
    }
    if (timeout1 != null) {
        clearTimeout(timeout1);
    }

    obj.style.display = '';

    oldMenu = currentMenu;
    currentHeight = currentMenu.offsetHeight;
    currentMenu.style.height = '0px';
    //changeHeight();
    changeHeight()

}

function showMenu2(id) {
    var obj2 = document.getElementById(id + '2');
    obj2.className = 'menu2';
    flag = 1;
    clearTimeout(timeout1);
}

function hideMenu(id) {
    var obj = document.getElementById(id);
    var obj2 = document.getElementById(id + '2');
    obj2.className = 'menu1';
    currentMenu.style.height = currentHeight + 'px';
    timeout1 = setTimeout(function() { obj.style.display = 'none' }, 200);
}

function hideMenu2(id) {
    var obj = document.getElementById(id);
    var obj2 = document.getElementById(id + '2');
    obj2.className = 'menu1';
    timeout1 = setTimeout(function() { obj.style.display = 'none' }, 200);
}




//banner
function changeBanner(i) {
    var banner = document.getElementById('banner_text').getElementsByTagName('div');
    var bannerA = document.getElementById('banner_image').getElementsByTagName('a')[0];
    var bannerImg = document.getElementById('banner_image').getElementsByTagName('img')[0];
    var bannerImg2 = document.getElementById('banner_images').getElementsByTagName('img');
    var bannerA2 = document.getElementById('banner_images').getElementsByTagName('a');
    for (j = 0; j < 9; j = j + 2) {
        if (j == 2 * i) {
            banner[j].className = 'banner_text3';
            banner[j + 1].className = 'banner_text2';
        }
        else {
            banner[j].className = 'banner_text2';
            banner[j + 1].className = '';
        }
    }
    bannerA.href = bannerA2[i].href;
    bannerImg.src = bannerImg2[i].src;

}

//search parameters
function changeHeight() {
    var speed = currentHeight / 15;
    if (p_isIE) {
        speed = currentHeight / 15;
    }
    if (currentMenu.offsetHeight < currentHeight) {
        currentMenu.style.height = currentMenu.offsetHeight + speed + 'px';
        currentMenu.style.opacity = currentMenu.offsetHeight / currentHeight;
        if (p_isIE) {
            currentMenu.style.filter = 'alpha(opacity=' + 100 * (currentMenu.offsetHeight / currentHeight) + ')';
        }
        setTimeout('changeHeight()', 10);
    }
    else {
        currentMenu.style.height = currentHeight + 'px';
        currentMenu.style.opacity = currentMenu.offsetHeight / currentHeight;
        if (p_isIE) {
            currentMenu.style.filter = 'alpha(opacity=' + 100 * (currentMenu.offsetHeight / currentHeight) + ')';
        }
    }
}

function changeTab(i) {
    if (tabIndex != i) {
        var obj = document.getElementById('tabContent1');
        var obj1 = document.getElementById('tabs1').getElementsByTagName('img')[i - 1];
        var obj2 = document.getElementById('tabsContent' + i);
        var obj3 = document.getElementById('tabs1').getElementsByTagName('img')[tabIndex - 1];
        obj1.src = obj1.src.replace(/b.png/g, 'a.png');
        obj3.src = obj3.src.replace(/a.png/g, 'b.png');
        obj.innerHTML = obj2.innerHTML;
        tabIndex = i;
    }
}

//ajax estimate shipping price
var xmlHttp;
function GetEstShipping() {


    xmlHttp = GetXmlHttpObject()
    if (xmlHttp == null) {
        alert("Your browser does not support AJAX!");
        return;
    }

    zip.value = document.getElementById('minicart_input').value;

    var url = "shoppingcart.aspx";
    url = url + "?Minicart=true";
    url = url + "&zip=" + zip;
    url = url + "&sid=" + Math.random();

    //alert(url);
    xmlHttp.onreadystatechange = stateChanged;
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);

}


function stateChanged() {
    if (xmlHttp.readyState == 4) {
        if (xmlHttp.status == 200) {
            var re = xmlHttp.responseText;
           if (re.indexOf('!!!!!!!!!') != -1) {
                re = re.split('!!!!!!!!!')[0];
                //alert(re);
                if (re.toLowerCase().indexOf('no') != -1) {
                    document.getElementById('minicart_estField2').innerHTML = re;
                    document.getElementById('minicart_estField1').style.display = 'none';
                    document.getElementById('minicart_estField2').style.display = '';
                }
                else {
                    document.getElementById('minicart_estprice').innerHTML = re;
                    document.getElementById('minicart_estField1').style.display = '';
                    document.getElementById('minicart_estField2').style.display = 'none';
                }
            }
        }
    }
}


function GetXmlHttpObject() {
    var xmlHttp = null;
    try {
        // Firefox, Opera 8.0+, Safari
        xmlHttp = new XMLHttpRequest();
    }
    catch (e) {
        // Internet Explorer
        try {
            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e) {
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
    return xmlHttp;
}

function getQueryStringByName(name) {
    var result = location.search.match(new RegExp("[\?\&]" + name + "=([^\&]+)", "i"));
    if (result == null || result.length < 1) {
        return "";
    }
    return result[1];
}

function changePage(i) {
    var url = '';
    url = location.pathname + '?pagenum=' + i;
    url = url + '&sortby=' + getQueryStringByName('sortby');
    self.location = url;
}
function changeSort(i) {
    var url = '';
    url = location.pathname + '?pagenum=1';
    url = url + '&sortby=' + i;
    self.location = url;
}


function Subscribe(name)
{
var email = document.getElementById(name).value;
//alert(email);
var url = "/subscribe.aspx?subscribe="+email;
self.location = url;
}


