// product Detail Droplet js
function replaceImage(smallImage, mediumImage, largeImage) {
    if (document.getElementById('small_image') != null)
        document.getElementById('small_image').src = smallImage;
    if (document.getElementById('medium_image') != null)
        document.getElementById('medium_image').src = mediumImage;
    if (document.getElementById('large_image') != null)
        document.getElementById('large_image').src = largeImage;
    if (largeImageUrl != null)
        largeImageUrl = largeImage;
}

function updateColorDescription(newDescription) {
    if (document.getElementById('colorDescription') != null)
        document.getElementById('colorDescription').innerHTML = newDescription;
}

function validateSize() {
    if (document.getElementById('skuNumber').value == '') {
        document.getElementById('sizeErrorMessage').style.display = 'block';
        return false;
    } else
        return true;
}

function selectSize(skuValue, skuNumber) {
    document.getElementById('sizeErrorMessage').style.display = 'none';
    // document.getElementById('selectedSku').innerHTML = skuValue;
    document.getElementById('skuNumber').value = skuNumber;

    selectSku(skuNumber);
}
function selectKidSize(skuValue, skuNumber, orginialPrice, discountedPrice) {
    selectSize(skuValue, skuNumber);
    if(document.getElementById('effectivePrice') != null)
        document.getElementById('effectivePrice').innerHTML = "$" + orginialPrice;
    if(document.getElementById('modifiedPrice') != null)
        document.getElementById('modifiedPrice').innerHTML = "$" + discountedPrice;
}

function skus() {
    this.skus = new Array();

    this.addSku = function (skuSize) {
        this.skus[this.skus.length] = skuSize;
    };
}
function selectSku(skuNumber) {
    for (i = 0; i < skuThumbs.skus.length; i ++) {
        var sku = skuThumbs.skus[i];
        var skuHtmlEl = document.getElementById(sku);
        if (sku == skuNumber) {
            skuHtmlEl.className = 'sku_selected_thumbnail';
        } else {
            skuHtmlEl.className = 'sku_thumbnail';
        }
    }
}
var skuThumbs = new skus ();


function appendQuery(link, query) {
    var ref = link+'/query/N=0';
    if (query != '' && query != null) {
        return ref+'&terms=' + query;
    }
    else {
        return ref;
    }
}

// power reviews toggle js for product Detail Droplet
function toggleNavFacet(facet_id, image_id) {
	if (document.getElementById(facet_id) != null)
	{
		if (document.getElementById(facet_id).style.display == 'block')
		{
			document.getElementById(facet_id).style.display='none';
		}
        else
		{
			document.getElementById(facet_id).style.display='block';
		}
	}
}

function toggleElement(element_id)
{
    var cartElement = document.getElementById(element_id);

    if (cartElement != null) {
        if (cartElement.style.display == 'block') {
            cartElement.style.display = 'none';
        }
        else {
            cartElement.style.display = 'block';
        }
    }


}


function gup( name )
{
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp( regexS );
  var results = regex.exec( window.location.href );
  if( results == null )
    return "";
  else
    return results[1];
}


function searchFocus(fObj) {
    if(fObj.value == "Keyword or Style #") {
        fObj.value = "";
    }
    fObj.style.color = "#333333";
}


function showInStockSize(inStockSkuNums) {
    var skuNums = new Array();
    skuNums = inStockSkuNums.split(';');
    for (i = 0; i < skuNums.length; i ++) {
        (document.getElementById(skuNums[i])).className = 'sku_selected_thumbnail';
    }
}

function hideInStockSize(inStockSkuNums) {
    var skuNums = new Array();
    skuNums = inStockSkuNums.split(';');
    for (i = 0; i < skuNums.length; i ++) {
        (document.getElementById(skuNums[i])).className = 'sku_thumbnail';
    }
    var selectedSkuNumber = document.getElementById('skuNumber').value;
    if(  selectedSkuNumber != null && selectedSkuNumber != "")
        selectSku(selectedSkuNumber);
}


//Gift Card
var cardAmtThumbs = new cardAmts ();

function cardAmts() {
    this.cardAmts = new Array();

    this.addCardAmt = function (cardAmt) {
        this.cardAmts[this.cardAmts.length] = cardAmt;
    };
}

function selectCardAmt(cardAmt, skuNumber) {
    document.getElementById('sizeErrorMessage').style.display = 'none';
    // document.getElementById('selectedSku').innerHTML = skuValue;
    document.getElementById('skuNumber').value = skuNumber;
    document.getElementById('giftCardAmt').value = cardAmt;
    document.getElementById('card_' + cardAmt).value = cardAmt;
    selectedCardAmt(cardAmt);
}

function selectedCardAmt(selectedCardAmt) {
    for (i = 0; i < cardAmtThumbs.cardAmts.length; i++) {
        var cardAmt = cardAmtThumbs.cardAmts[i];
        var cardAmtHtmlEl = document.getElementById('card_' + cardAmt);
        if (cardAmt == selectedCardAmt) {
            cardAmtHtmlEl.className = 'sku_selected_thumbnail';
        } else {
            cardAmtHtmlEl.className = 'sku_thumbnail';
        }
    }
}

function validateEmail (s) {
    var isEmail_re       = /^\s*[\w\-\+_]+(\.[\w\-\+_]+)*\@[\w\-\+_]+\.[\w\-\+_]+(\.[\w\-\+_]+)*\s*$/;
    return String(s).search (isEmail_re) != -1;
}
function getJsonCookie(name) {    
    var stringCookie = getCookie(name);
    var jsonCookie = null;
    if (stringCookie != '') {
        jsonCookie = Json.evaluate(stringCookie)
    }
    return jsonCookie;
}
function setJsonCookie(name, jsonCookie, expiredays) {
    setCookie(name, Json.toString(jsonCookie), expiredays);
}

function showElement(element_id)
{
    document.getElementById(element_id).style.display = 'block';
}
function hideElement(element_id)
{
    document.getElementById(element_id).style.display = 'none';
}
function signUpSkxShoeAlert() {
    var email = document.getElementById('shoeAlertEmail').value
    var skuNumber = document.getElementById('shoeAlertSku').value;
    if (!validateEmail(email)) {
        alert('Please enter a valid email address.');
        return;
    }

    var shoeAlertJson = getJsonCookie("shoeAlerts");
    var newAlert = true;
    if (shoeAlertJson != null) {
        for (var i = 0; i < shoeAlertJson.skuNumber.length; i++) {
            if (shoeAlertJson.skuNumber[i] == skuNumber) {
                newAlert = false;
                break;
            }
        }
    }

    if (newAlert) {
        var url = '/shop/addToCart.page?shoeAlertSku=' + skuNumber + '&shoeAlertEmail=' + email + '&signUpShoeAlert=t'
        new Ajax(url, {method: 'post'}).request();
    }

    toggleSkxShoeAlertForm();
    updateSkxShoeAlertCookie(email, skuNumber);
    //$('shoeAlertDiv').setHTML('<b>You\'re all signed up!</b> <button  type="button" onclick="toggleElement(\'shoeAlertDiv\'); return false;">Close</button>');
}
function toggleSkxShoeAlertForm() {
    toggleElement('shoeAlertForm');
    toggleElement('shoeAlertMsg');
}
function updateSkxShoeAlertCookie(email, skuNumber) {
    //update email cookie
    setCookie("shoeAlertsEmail",email,7)

    // update skunumber json cookie
    var shoeAlertJson = getJsonCookie("shoeAlerts");
    if (shoeAlertJson == null) {
        shoeAlertJson = {"skuNumber":[skuNumber]}
    } else {
        for (var i = 0; i < shoeAlertJson.skuNumber.length; i++) {
            if (shoeAlertJson.skuNumber[i] == skuNumber)
                return
        }
        shoeAlertJson.skuNumber[shoeAlertJson.skuNumber.length] = skuNumber
    }
    setJsonCookie("shoeAlerts",shoeAlertJson)
}
var defaultEmailDescription='Enter Your Email Here'
function initShoeAlertForm(email) {
    var shoeAlertsEmailCookie = getCookie("shoeAlertsEmail");
    var emailField = document.getElementById('shoeAlertEmail');
    if (shoeAlertsEmailCookie != '')
        emailField.value = shoeAlertsEmailCookie;
    else if (email != '')
        emailField.value = email;
    else
        emailField.value = defaultEmailDescription;

    if(window.ie) {
        var slotC = document.getElementById('slotC');
        if (slotC != null)
            slotC.style.zIndex = 1;

        var productDetailRight = document.getElementById('productDetailRight');
        if (productDetailRight != null)
            productDetailRight.style.zIndex = 1;
    }
}
function initShoeAlertText() {
    if (document.getElementById('shoeAlertEmail').value == defaultEmailDescription) {
        document.getElementById('shoeAlertEmail').value = '';
    }
}
function exitShoeAlertText() {
    if (document.getElementById('shoeAlertEmail').value == '') {
        document.getElementById('shoeAlertEmail').value = defaultEmailDescription;
    }
}