﻿
function ReplaceVolusionWishList() {
    var btnaddtowishlist = document.getElementsByName("btnaddtowishlist");
    if (btnaddtowishlist.length > 0) {
        btnaddtowishlist = btnaddtowishlist[0];
        var addToMrButton = document.createElement("img");
        addToMrButton.id = "addToMrButton_volusion_replace";
        addToMrButton.src = mrUserCustom.AddToMrButtonImageSrc;
        addToMrButton.style.left = findPos(btnaddtowishlist).left;
        addToMrButton.style.top = findPos(btnaddtowishlist).top;
        addToMrButton.style.cursor = "pointer";
        addToMrButton.style.position = "absolute";
        addToMrButton.onclick = function() {
            CreateAddToMyRegistryWidget();
        };
        btnaddtowishlist.style.display = "none";
        document.body.appendChild(addToMrButton);
    }
    else {
        PositionVolusionWishList();
    }
}

function PositionVolusionWishList() {
    var addtocartbutton = document.getElementsByName("btnaddtocart")[0];
    var leftPosition = findPos(addtocartbutton).left;
    var topPosition = findPos(addtocartbutton).top;
    var addToMrButton = document.createElement("img");
    addToMrButton.id = "addToMrButton_volusion_position";
    addToMrButton.src = mrUserCustom.AddToMrButtonImageSrc;
    addToMrButton.style.left = findPos(addtocartbutton).left + "px";
    addToMrButton.style.top = findPos(addtocartbutton).top + "px";
    addToMrButton.style.marginTop = mrUserCustom.addToMrButtonTopPadding;
    addToMrButton.style.cursor = "pointer";
    addToMrButton.style.position = "absolute";
    addToMrButton.onclick = function() {
        CreateAddToMyRegistryWidget();
    };
    document.body.appendChild(addToMrButton);



}

function getVolusionPrice() {
    var resultstring = "";
    var priceArray = document.getElementsByTagName("font");
    for (var i = 0; i < priceArray.length; i++) {
        if (priceArray[i].getAttribute("class")) {
            resultstring = priceArray[i].getAttribute("class");
            if (resultstring == "pricecolor colors_productprice") {
                return getProductPriceVolusion(priceArray[i].innerHTML);
            }
        }
        else if (priceArray[i].getAttribute("className")) {
            resultstring = priceArray[i].getAttribute("className");
            if (resultstring == "pricecolor colors_productprice") {
                return getProductPriceVolusion(priceArray[i].innerHTML);
            }
        }
        else {
        }
    }
}


function findPos(obj) {
    var objectParam = obj;
    var curleft = curtop = 0;
    if (obj.offsetParent) {
        curleft = obj.offsetLeft
        curtop = obj.offsetTop
        while (obj = obj.offsetParent) {
            curleft += obj.offsetLeft
            curtop += obj.offsetTop
        }
    }
    var elementParam = objectParam;
    elementParam.left = curleft;
    elementParam.top = curtop;
    return elementParam;
}

function CreateAddToMyRegistryWidget() {
    var domainName = 'myregistry.com';
    var documentBody = document.getElementsByTagName('body')[0];
    var MrDragAndDrop = document.createElement('script');
    MrDragAndDrop.id = 'mr_CreateAddToMyRegistryWidget';
    MrDragAndDrop.type = 'text/javascript';
    MrDragAndDrop.src = 'http://www.' + domainName + '/addgiftmr/widgetjs.aspx';
    documentBody.appendChild(MrDragAndDrop);
}

function getProductPriceVolusion(stringToSearch) {

    var str = stringToSearch;
    var reg = /\$([\d,.]+)/g;
    var prices = [];
    var price;

    while ((price = reg.exec(str)) != null) {

        if (price.toString().search(",") != -1) {
            price = price.toString().split(",")[1];
        }

        prices.push(price);
    }
    prices.sort(SortPricesVolusion);


    var topPrice = "";
    if (prices[0]) {
        if (prices.length == 1) {
            topPrice = prices[0];
        }
        else {
            var middleprice = parseInt(prices.length / 2);
            topPrice = prices[middleprice];
        }
    }

    if ((typeof (topPrice)).toString() == "undefined") {
        topPrice = "";
    }
    return topPrice;
}

function SortPricesVolusion(a, b) {
    return (b - a);
}