﻿var selectedColor, selectedSize, selectedArticleId
var chosenColorImage;
var chosenContainerId;

var initProductPage = function() {

    // Event handlers for product thumbnails
    $('.product-thumbnail').click(function() {
        var url = $('#product-zoom').attr('href');
        url += $(this).attr('rel');
        window.open(url);

        return false;
    });

    // Event handler for image zoom
    $('#product-zoom').click(function() {
        var url = $('#product-zoom').attr('href');
        url += $('#product-zoom').attr('rel');
        window.open(url);
        return false;
    });


    // Event handler for selecting color
    $('#product .product-colors .color ').click(function() { selectColor($(this), 'product'); return false });

    // Event handler for selecting size dropdowns
    $('#product .product-sizes-clicker').click(function() { return selectSizeDropdown('product') });
    $('#product .product-sizes-drop #sweSizeDrop a').click(function() { return selectSizeGroup($(this), 'product') });

    // Event handler for buying
    $('#buy-button').click(buyProduct);

    // Event handler for closing error message
    $('.sizeErrorMessage, .tipErrorMessageBox, .soldoutErrorMessage').click(function() { $(this).fadeOut() });


    // Event handler for showing more or less product description text
    $('.product-description a.moreless').click(function() {
        $('.product-description').toggle();
    })

    //Event handler to clear wishlist
    $('#sendWishList #clear-button').click(function() { return clearWishList() });


    // Event handler for modal dialogs
    initModalDialogEventHandlers("#product ");

    htmlToFlash('#category-title');
    htmlToFlash('#product-name');
    htmlToFlash('#product-price-name .new-price', '#ed2931', '/PageUI/Flash/futuraefbook.swf', 'offsetTop=9&textalign=left');
    htmlToFlash('#product-price-name .standard-price', '#000000', '/PageUI/Flash/futuraefbook.swf');
    //htmlToFlash('.old-price', '#00ff00', '/PageUI/Flash/futuraefbook.swf'); // No line through

    // Connect event handler for printing
    $('#print-product-link').click(function() { window.print(); });
}

//-------------------------------------------------
// Function for buying product from product page
//-------------------------------------------------
var buyProductOld = function() {

	cartOver = false;
           

    // Get the article id of the selected product
    var productSize = $('#product .product-size');
    var selectedArticleId = productSize.attr("selectedArticleId");

    if (!('' + selectedArticleId == "undefined")) {
        
		var productSizesClicker = $('#product .product-sizes-clicker');
        if (productSizesClicker.html().toLowerCase().indexOf('img') == -1){
		
			addToCart(selectedArticleId);
    	    hideSizeError('product');
			hideSoldoutError('product');
			openCart();
			setTimeout(function() {
			    closeCartNotOnHover();
			}, 8000);
		}else{
			hideSizeError('product');
			showSoldoutError('product');	
		}
    }
    else {
        
		showSizeError('product');
    }
    return false;
}

//-------------------------------------
// Function for showing error message
//-------------------------------------
var showSizeError = function(containerid) {
    //$('#sizeErrorMessage').append("<embed src='images/ajajaj.wav' hidden=true autostart=true loop=false>");
    $('#' + containerid + ' .sizeErrorMessage').css("top", $('#' + containerid + ' .product-size').position().top - 130);
    $('#' + containerid + ' .sizeErrorMessage').css("left", $('#' + containerid + ' .product-size').position().left);
    $('#' + containerid + ' .sizeErrorMessage').fadeIn();

}
var hideSizeError = function(containerid) {
    //console(containerid);
    $('#' + containerid + ' .sizeErrorMessage').fadeOut();
}
var showSoldoutError = function(containerid) {
    //$('#sizeErrorMessage').append("<embed src='images/ajajaj.wav' hidden=true autostart=true loop=false>");
    $('#' + containerid + ' .soldoutErrorMessage').css("top", $('#' + containerid + ' .product-size').position().top - 130);
    $('#' + containerid + ' .soldoutErrorMessage').css("left", $('#' + containerid + ' .product-size').position().left);
    $('#' + containerid + ' .soldoutErrorMessage').fadeIn();

}
var hideSoldoutError = function(containerid) {
    //console(containerid);
    $('#' + containerid + ' .soldoutErrorMessage').fadeOut();
}


//---------------------------------
// Function for selecting color
//---------------------------------
var selectColor = function(e, containerid) {




    // red border around selected color
    e.siblings('.active').removeClass('active');
    e.addClass('active');



    chosenColorImage = e;
    chosenContainerId = containerid;

    // the color id and product article id is taken from the colors "rel" attribute
    var attributes = e.children('a').attr('rel').split(',');
    var colorId = attributes[0];
    var articleId = attributes[1];
    var sizeArguments = "colorid=" + colorId + "&productidentifier=" + articleId;
    var sizeUrl = "";
    if (containerid == "product") {
        sizeArguments += '&quickbuy=false';
        sizeUrl = "/Shop/Product/Content/ProductSizes.aspx";
    }
    else {
        sizeArguments += '&quickbuy=true';
        sizeUrl = "/Shop/Product/Content/ProductQuickBuySizes.aspx";
    }
    //alert(sizeArguments);




    if (attributes.length > 2) {
        var zommImage = attributes[2];
        $('#product-zoom').attr('rel', zommImage);
    }

    if (htmlDummy) {
        // !!!! randomness added for debugging/examplification only. Remove later !!!
        var d = new Date();
        var d2 = d.getMilliseconds();
        if (containerid == "product") {
            if (d2 < 250) { sizeUrl = 'content/product/product-sizes-alt1.htm'; }
            else if (d2 < 500) { sizeUrl = 'content/product/product-sizes-alt2.htm'; }
            else if (d2 < 750) { sizeUrl = 'content/product/product-sizes-alt3.htm'; }
            else if (d2 < 1000) { sizeUrl = 'content/product/product-sizes-alt4.htm'; }
        }
        else {
            if (d2 < 500) { sizeUrl = 'content/product/product-sizes-alt3.htm'; }
            else if (d2 < 1000) { sizeUrl = 'content/product/product-sizes-alt4.htm'; }
        }
    }

    //load sizes for selected color
    //alert(sizeUrl + '?'+ sizeArguments);
    $('#' + containerid + ' .product-size').load(sizeUrl + '?' + sizeArguments, sizesLoaded);



    // Reset size selection
    var productSize = $('#' + containerid + ' .product-size');
    productSize.attr("selectedArticleId", 'undefined');


    // Change active price
    // The class of the active price is taken from the colors "rel" attribute
    $('#' + containerid + ' .active-price').removeClass('active-price');  // hide all
    $('#' + containerid + ' .' + colorId).addClass('active-price');


    // Change the link to tip a friend
    if (containerid == "product") {
        storeHref = $('.simplemodal[rel=productTipModalContainer]');
        var storeUrl = storeHref.attr("base-href").replace("XXX", colorId);
        storeHref.attr("href", storeUrl);
    }

    // Change the link to blog
    if (containerid == "product" && !htmlDummy) {
        storeHref = $('.simplemodal[rel=productBlogContainer]');
        if (storeHref.length > 0) {
            var storeBlogUrl = storeHref.attr("base-href").replace("XXX", colorId);
            storeHref.attr("href", storeBlogUrl);
        }
    }

    var storeWishListUrl = "";

    //change the link to AddToWishList
    if (containerid == "product" && !htmlDummy) {
        storeHref = $('.simplemodal[rel=addWhishlistModalContainer]');
        if (storeHref.length > 0) {
            storeWishListUrl = storeHref.attr("base-href").replace("XXX", colorId);
            storeHref.attr("href", storeWishListUrl);
        }
    }

    //change the link to LoginUser
    if (containerid == "product" && !htmlDummy) {
        storeHref = $('.simplemodal[rel=addWhishlistLoginUserModalContainer]');
        if (storeHref.length > 0) {
            storeWishListUrl = storeHref.attr("base-href").replace("XXX", colorId);
            storeHref.attr("href", storeWishListUrl);
        }
    }



    return false;
}


//----------------------------------------
// Function for toogling size dropdown
//----------------------------------------
var selectSizeDropdown = function(containerid) {

    //alert('drop');

    var productSizes = $('#' + containerid + ' .product-sizes-drop');
    var productGroup = productSizes.find('div.group');

    if (productGroup.hasClass('active') == true) {
        //alert('hiding');
        productGroup.hide();
        productGroup.removeClass('active');
    } else {
        //alert('showing');
        productGroup.slideDown(150);
        productGroup.addClass('active');
    }


}
//----------------------------------------
// Function for selecting size (dropdown)
//----------------------------------------
var selectSizeGroup = function(el, containerid) {

    //if (!el.hasClass('soldout')) {
        el.parent().removeClass('active');
        el.parent().hide();

        var productSizesClicker = $('#' + containerid + ' .product-sizes-clicker');
        productSizesClicker.html(el.html());

        var productSize = $('#' + containerid + ' .product-size');
        productSize.attr("selectedArticleId", el.attr('rel'));

        //alert('selected articleid= ' + productSize.attr("selectedArticleId"));

        hideSizeError(containerid);
		hideSoldoutError('product');


        // Change the link to store stock status
        if (containerid == "product") {
            // Change the link to store stock status
            storeHref = $('.simplemodal[rel=storeStockModalContainer]');
            if (storeHref.attr("base-href") == undefined) {
                //alert('setting base-href');
                storeHref.attr("base-href", storeHref.attr("href"));
            }
            var storeUrl = storeHref.attr("base-href").replace("XXX", el.attr('rel'));
            storeHref.attr("href", storeUrl);

        }


    //}



    return false;

}





//------------------------------------------------------
// Callback function called when sizes finished loading
//------------------------------------------------------
var sizesLoaded = function() {

    if (selectedSize) {
        $('#' + selectedSize).addClass('active');
        if ($('#' + selectedSize).text())
            $('#product-sizes-clicker').text($('#' + selectedSize).text());
        else
            $('#product-sizes-clicker').text('VÄLJ');
    }

    // change main picture
    // the new img src is taken from the colors href attribute
    //$('#' + containerid + ' .product-picture').attr('src', e.children('a').attr('href'));
   
    $('#' + chosenContainerId + ' .product-picture').attr('src', chosenColorImage.children('a').attr('href'));
    

    // Event handler for choosing size
    $('#quickbuy-product .product-sizes-clicker').click(function() { return selectSizeDropdown('quickbuy-product') });
    $('#quickbuy-product .product-sizes-drop div.group a').click(function() { return selectSizeGroup($(this), 'quickbuy-product') });

    $('#product .product-sizes-clicker').click(function() { return selectSizeDropdown('product') });
    $('#product .product-sizes-drop #sweSizeDrop a').click(function() { return selectSizeGroup($(this), 'product') });



}



//------------------------------------------------------
// Function for sending product tip
//------------------------------------------------------
var sendProductTip = function() {
    var hasError = false;

    var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;

    var receiverEmail = $("#txtReceiverEmail").val();

    if (receiverEmail == '') {
        $("#txtReceiverEmail").css("border-color", "red");
        hasError = true;
    } else if (!emailReg.test(receiverEmail)) {
        $("#txtReceiverEmail").css("border-color", "red");
        hasError = true;
    }
    else {
        $("#txtReceiverEmail").css("border-color", "black");
    }

    var senderEmail = $("#txtSenderEmail").val();
    if (senderEmail == '') {
        $("#txtSenderEmail").css("border-color", "red");
        hasError = true;
    } else if (!emailReg.test(senderEmail)) {
        $("#txtSenderEmail").css("border-color", "red");
        hasError = true;
    }
    else {
        $("#txtSenderEmail").css("border-color", "black");
    }

    var senderName = $("#txtSenderName").val();
    if (senderName == '') {
        $("#txtSenderName").css("border-color", "red");
        hasError = true;
    } else {
        $("#txtSenderName").css("border-color", "black");
    }

    var receiverName = $("#txtReceiverName").val();
    if (receiverName == '') {
        $("#txtReceiverName").css("border-color", "red");
        hasError = true;
    } else {
        $("#txtReceiverName").css("border-color", "black");
    }

    if (hasError) {
        var left = $(".red-button_l_23").offset().left;
        var top = $(".red-button_l_23").offset().top - 17;

        var errorboxHeight = $('.error-pop-window-top').outerHeight() + $('.error-pop-window-head-top').outerHeight();
        left = left + "px";
        top = top - errorboxHeight + "px";

        $('.error-pop-window-top').css({
            position: 'absolute',
            left: left,
            top: top,
            'z-index': '5000'
        });

        $('.error-pop-window-top').show();
        $('#login_loading_popup').hide();
        return false;
    }
    else {
        closeMessage('.error-pop-window-top');
        return true;
    }
}

function SendProductTipResult(data) {
    if (data != "") {
        $("#error").html(data);
        $("#error").show();
    }
    else {
        parent.Shadowbox.close();
     }
}

//------------------------------------------------------
// Function for sending wishlist tip
//------------------------------------------------------
var sendWishListTip = function() {
    var hasError = false;

    var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;

    var receiverEmail = $(".wishlist-receiver-email").val();
    if (receiverEmail == '') {
        $(".wishlist-receiver-email").css("border-color", "red");
        hasError = true;
    } else if (!emailReg.test(receiverEmail)) {
        $(".wishlist-receiver-email").css("border-color", "red");
        hasError = true;
    }
    else {
        $(".wishlist-receiver-email").css("border-color", "black");
    }

    var senderEmail = $(".wishlist-sender-email").val();
    if (senderEmail == '') {
        $(".wishlist-sender-email").css("border-color", "red");
        hasError = true;
    } else if (!emailReg.test(senderEmail)) {
        $(".wishlist-sender-email").css("border-color", "red");
        hasError = true;
    }
    else {
        $(".wishlist-sender-email").css("border-color", "black");
    }

    var senderName = $(".wishlist-sender-name").val();
    if (senderName == '') {
        $(".wishlist-sender-name").css("border-color", "red");
        hasError = true;
    } else {
        $(".wishlist-sender-name").css("border-color", "black");
    }

    var receiverName = $(".wishlist-receiver-name").val();
    if (receiverName == '') {
        $(".wishlist-receiver-name").css("border-color", "red");
        hasError = true;
    } else {
        $(".wishlist-receiver-name").css("border-color", "black");
    }

    if (hasError) {
        OpenErrorBoxLeftClass("wishlist-send-button", "err_somethingwrong");
        return false;
    }
    /*if (!hasError) {
    var args =
    "?receiver-name=" + $('#receiver-name').val() +
    "&receiver-email=" + $('#receiver-email').val() +
    "&sender-email=" + $('#sender-email').val() +
    "&sender-name=" + $('#sender-name').val() +
    "&colorId=" + $('#colorId').val() +
    "&productId=" + $('#productId').val() +
    "&message=" + $('#message').val();
            
    var sendMailUrl = "/Shop/MyPages/Wishlist/SendMail.aspx" + args;
    $.getJSON(sendMailUrl, SendWishListTipResult);
    }
    else {
    OpenErrorBoxLeft("send-button", "err_somethingwrong");
    }*/
}

function SendWishListTipResult(data) {
    //alert(data);
    $("#message-sent").html("<h3 class='fontize'>" + data + "</h3>");
    $("#message-sent").css({ display: "block" });  
}

//------------------------------------------------------
// Function to clear textfield after sending wishlist tip
//------------------------------------------------------
var sendMailDone = function() {
    //$('#sendWishList input[type=text]').val("");
    $('#sendWishList #receiver-name').val("");
    $('#sendWishList #receiver-email').val("");
    htmlToFlash("h3");
}

//------------------------------------------------------
// Function to clear wishlist
//------------------------------------------------------
var clearWishList = function() {
    var wishListUrl = "/Shop/MyPages/WishList/ClearWishList.aspx";
    $('#wishlist').load(wishListUrl, function() { htmlToFlash('h1'); });
}

//------------------------------------------------------
// Function to delete wishlistitem
//------------------------------------------------------
var deleteWishListItem = function(productid, noofitems) {
  
    var wishListUrl = "";
    if (noofitems == 1) {
        wishListUrl = "/Shop/MyPages/WishList/ClearWishList.aspx";
        $('#wishlist').load(wishListUrl);
    } else {
        wishListUrl = "/Shop/MyPages/WishList/DeleteWishListItem.aspx?productid=" + productid;

        $('#product-list').load(wishListUrl);
    }
}

//------------------------------------------------------
// Functions used by store stock popup
//------------------------------------------------------
var checkSelectedValue = function(selectBox) {
    $('#store-stock-info').hide();
    $('#store-stock-info-loading').show();
    var url = $(selectBox).attr('value');
    $('#store-stock-info').load(url, storeStockInfoLoaded);
}

var storeStockInfoLoaded = function() {
    $('#store-stock-info-loading').hide();
    $('#store-stock-info').show();
}

//-------------------------------------
// Function for showing layer information
//-------------------------------------
var showLayerInfo = function(containerid) {
    $('#' + containerid + ' .layerInfoMessage').css("top", $('#' + containerid + ' .layer-symbol').position().top - 258);
    $('#' + containerid + ' .layerInfoMessage').css("left", $('#' + containerid + ' .layer-symbol').position().left);
	$('#' + containerid + ' .layerInfoMessage').css("z-index",10000);
    $('#' + containerid + ' .layerInfoMessage').fadeIn();

}
var hideLayerInfo = function(containerid) {
    //console(containerid);
    $('#' + containerid + ' .layerInfoMessage').fadeOut();
}

