var savedSKU = '', qlModelName = '';
var ie = (navigator.userAgent.indexOf("MSIE") > 0) ? true : false;

function ajaxFunction() {
    var xmlHttp;

    try {
        xmlHttp = new XMLHttpRequest();
    }
    catch (e) {
        try {
            xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e) {
            try {
                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e) {
                alert("Your browser does not support AJAX!");
                return false;
            }
        }
    }
    return xmlHttp;
}

function setValue(sku, color) {
    current_sku = sku;
    current_color = color;

    return;
}

function BuildQuicklookJs() {
    var content = document.getElementById("jLoader").innerHTML;
    var head = document.getElementsByTagName("head");
    var script = document.createElement("script");
    head[0].appendChild(script);
    script.type = "text/javascript";
    script.text = content;
}

function showPopUp(productid, color) {
    load_quicklook(productid);
}

function clearsizes() {
    window.location.reload(true);
}

function trackme(url, query) {
    if (window.XMLHttpRequest) {
        request = new XMLHttpRequest();

    } else if (window.ActiveXObject) {
        request = new ActiveXObject("Microsoft.XMLHTTP");
    }
    if (request) {
        request.onreadystatechange = function () {
            return false;
        };
        request.open("get", url, true);
        request.send(query);
    }
}

function addToCart(productid) {
    var qty = document.getElementById('qty_sel_ddl').value;
    var productid = document.getElementById('ProductIDHidden').value;
    var color = document.getElementById('ProductColors').value;
    var size = document.getElementById('ProductSizes').value;
    var modelname = document.getElementById('ModelName').innerHTML;
    var price = document.getElementById('UnitCost').innerHTML;

    $('#qvmessage').css("color", "#000");
    $('#qvmessage').css("padding", "5px");
    $('#qvmessage').css('display', 'block');
    $('#qvmessage').css('text-transform', 'uppercase');
    $('#qvmessage').css('font-size', '11px');

    if (color == '-1') {
        $('#qvmessage').show();
        $('#qvmessage').html('Please select a color!');
        return false;
    }

    if (size == '-1') {
        $('#qvmessage').show();
        $('#qvmessage').html('Please select a size!');
        return false;
    }

    if (!qty.match(/^[0-9]+$/) || qty == 0) {
        alert('quantity is Invalid');
        return false;
    }

    var xmlHttp = ajaxFunction();
    var params = '?productid=' + productid + '&colorid=' + color + '&sizeid=' + size + "&quantity=" + qty + "&ajax-add=1";
    var prodPlacementMember = -1;
    if (prodPlacementJSON && prodPlacementJSON.ProductPlacement) {

        for (var index = 0; index < prodPlacementJSON.ProductPlacement.length; index++) {
            if (prodPlacementJSON.ProductPlacement[index].ProductID == productid) {
                if (prodPlacementJSON.ProductPlacement[index].ColorID > 0) {
                    if (prodPlacementJSON.ProductPlacement[index].ProductID == productid && prodPlacementJSON.ProductPlacement[index].ColorID == color) {
                        prodPlacementMember = prodPlacementJSON.ProductPlacement[index].PlacementMemberID;
                        break;
                    }
                    continue;
                } else {
                    prodPlacementMember = prodPlacementJSON.ProductPlacement[index].PlacementMemberID
                }
            }
        }
    }
    if (prodPlacementMember > 0) {
        params += "&placementMemberID=" + prodPlacementMember;
    }

    document.getElementById('productid').value = productid;
    document.getElementById('colorid').value = color;
    document.getElementById('sizeid').value = size;
    document.getElementById('params').value = params;

    var url = '/store/os/addtocart.aspx';
    url += params;

    $('#qvmessage').show();
    $('#qvmessage').html('processing...');

    $.ajax({
        url: url,
        success: function () {
            var notice = $('#qvmessage');
            notice.html(qty + ' ' + (qlModelName != '' ? qlModelName : modelname) + ' has been added to your bag!');
            render_cart_header("CartItemsLBGet", "CartTotalLBGet");
            RefreshCart();
        },
        error: function () {
            notice.html('item has not been added!');
        }
    });

    return false;
}

function addToWishList() {
    var qty = document.getElementById('qty_sel_ddl').value;
    var productid = document.getElementById('ProductIDHidden').value;
    var color = document.getElementById('ProductColors').value;
    var size = document.getElementById('ProductSizes').value;
    var modelname = document.getElementById('ModelName').innerHTML;
    var price = document.getElementById('UnitCost').innerHTML;

    $('#qvmessage').css("color", "#000");
    $('#qvmessage').css("padding", "5px");
    $('#qvmessage').css('display', 'block');
    $('#qvmessage').css('text-transform', 'uppercase');
    $('#qvmessage').css('font-size', '11px');

    if (color == '-1') {
        $('#qvmessage').show();
        $('#qvmessage').html('Please select a color!');
        return false;
    }

    if (size == '-1') {
        $('#qvmessage').show();
        $('#qvmessage').html('Please select a size!');
        return false;
    }

    if (!qty.match(/^[0-9]+$/) || qty == 0) {
        alert('quantity is Invalid');
        return false;
    }

    var xmlHttp = ajaxFunction();
    var params = '?productid=' + productid + '&colorid=' + color + '&sizeid=' + size + "&quantity=" + qty + "&ajax-additem=1";

    document.getElementById('productid').value = productid;
    document.getElementById('colorid').value = color;
    document.getElementById('sizeid').value = size;
    document.getElementById('params').value = params;

    var url = '/store/MyWishList.aspx';
    url += params;

    $('#qvmessage').show();
    $('#qvmessage').html('processing...');

    $.ajax({
        url: url,
        success: function (transport) {
            wishListSuccess(transport, qty, modelname);
        },
        error: function () {
            notice.html('item has not been added!');
        }
    });

    return false;
}

function wishListSuccess(transport, qty, modelname) {
    if (transport) {
        var start = transport.indexOf("##JSONSTART##");
        if (start != -1) {
            var jsonString = transport.substr(start, transport.indexOf("##JSONEND##"));
            jsonString = jsonString.replace("##JSONSTART##", "");
            var json = eval('(' + jsonString + ')');
            if (json.Response.Redirect) {
                redirect(json.Response.RedirectURL);
                return;
            }
        }
    }
    var notice = $('#qvmessage');
    var checkout = $('#checkout');
    notice.html(qty + ' ' + modelname + ' has been added to your <a class=qlwishListLink href=/store/MyWishList.aspx >wish list</a>');
    checkout.hide('display', 'block');
    checkout.hide();
    render_cart_header("CartItemsLBGet", "CartTotalLBGet");
    RefreshCart();
}

function redirect(url) {
    window.location = url;
}

function hideSelects(action) {
    if (action != 'visible') { action = 'hidden'; }
    if (navigator.appName.indexOf("MSIE")) {
        for (var S = 0; S < document.forms.length; S++) {
            for (var R = 0; R < document.forms[S].length; R++) {
                if (document.forms[S].elements[R].options) {
                    document.forms[S].elements[R].style.visibility = action;
                }
            }
        }
    }
}

function getItemColor(productid) {
    if (!document.getElementById('quickViewBtn_' + productid))
        skuColor = '';
    else
        skuColor = document.getElementById('quickViewBtn_' + productid).title;

    return skuColor;
}

function getFirstChildWithTagName(element, tagName) {
    for (var i = 0; i < element.childNodes.length; i++) {
        if (element.childNodes[i].nodeName == tagName) return element.childNodes[i];
    }
}

function getHash(url) {
    var hashPos = url.lastIndexOf('#');
    return url.substring(hashPos + 1);
}
