﻿// ------------------------------------------------------------------------------------------
// 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;
    }

}
Array.prototype.unique =
  function() {
    var a = [];
    var l = this.length;
    for(var i=0; i<l; i++) {
      for(var j=i+1; j<l; j++) {
        // If this[i] is found later in the array
        if (this[i] === this[j])
          j = ++i;
      }
      a.push(this[i]);
    }
    return a;
  };
$(document).ready(function () {
    $('ul#mainNav li.hasSubMenu').bind('mouseenter', openSubMenu);
	$('ul#mainNav li.hasSubMenu').bind('mouseleave', closeSubMenu);

	$('li#Brands').mouseover(function(){
		$('.prodPriceAndWish').css('position','static');
	});

	$('li#Brands').mouseout(function(){
		$('.prodPriceAndWish').css('position','relative');
	});
	
	
	build_brands_sub_menu();
});




function openSubMenu() {
    $(this).addClass('open');
}

function closeSubMenu() {
    $(this).removeClass('open');
}

function build_brands_sub_menu(){	
	var num_brands = $('#Manufacturers.leftNav ul.tame li a').size();
	var num_rows = Math.ceil((num_brands/25));	
	
	for(var i=0;i<=num_rows;i++){
		var em_string = (i==0) ? '<em>#</em>' : '';
		$('#brands_sub_menu').append('<li id="brands_col_'+i+'">'+em_string+'</li>');
	}
	
	var num_links = 0;
	var last_char = '';
	$('#Manufacturers.leftNav ul.tame li a').each(function(){
		num_links++;
		var sel_string = '#brands_sub_menu';
		var append_string = '#brands_sub_menu #brands_col_0';		
		if (num_links > 26 && num_links < 51){
			append_string = '#brands_sub_menu #brands_col_1';
		}
		if (num_links >= 51 && num_links < 76){
			append_string = '#brands_sub_menu #brands_col_2';
		}
		if (num_links >= 76 && num_links < 101){
			append_string = '#brands_sub_menu #brands_col_3';
		}
		if (num_links >= 101 && num_links < 126){
			append_string = '#brands_sub_menu #brands_col_4';
		}
		if (num_links >= 126 && num_links < 151){
			append_string = '#brands_sub_menu #brands_col_5';        }
		if (num_links >= 151){
			append_string = '#brands_sub_menu #brands_col_6';
		}
		var first_char = $(this).text().charAt(0); 
		var regex=/^[A-Za-z]/; 
		if ( (first_char != last_char) && regex.test(first_char) ){
			$(append_string).append('<em>'+first_char+'</em>');
		}
		last_char = first_char;
		$(this).clone().appendTo(append_string);
    });	
	

}


//added by paul franzen
var _GLOBAL_product_image_id = window.location.href.split('-')[1];
var _global_proto = ('https:' == document.location.protocol ? 'https://' : 'http://');
var _globalImages = [];
function createThumbs(i) {
    var oImg = new Image();

    oImg.src = _global_proto + 'www.lonnys.com/shop/web/images/product/large/' + _GLOBAL_product_image_id + '_' + i + '_.jpg';

    oImg.onload = function () {
        i++;
        createThumbs(i);
        _globalImages.push(oImg.src);
    }
    oImg.onerror = function () {
        var carHTML = '<ul>';
        for (var i = 0; i < _globalImages.length; i++) {
            var selFlag = (i == 0) ? "selected" : "";
            carHTML += '<li><a href="' + _globalImages[i] + '" class="' + selFlag + '" rel="products"><img src="' + _globalImages[i] + '" /></a></li>';
        }
        carHTML += '</ul>';
        $('#thumbNailPane').removeClass('loading').html(carHTML).jCarouselLite({
            btnNext: ".next",
            btnPrev: ".prev",
            visible: 3,
            circular: false
        });
        $("a[rel='products']").colorbox({
            title: 'Enlarged View',
            maxHeight: '95%',
            photo: true
        });
        $('#thumbNailPane ul li a').click(function () {
            $(this).parents('#thumbNailPane').find('a').removeClass('selected');
            $(this).addClass('selected');
            var newPrevImage = $(this).children('img').attr('src');
            $('img#previewImage').attr('src', newPrevImage);
            $('a#vli').attr('href', newPrevImage);
            return false;
        })
        return false;
    }
}
function createCarousel() {
    createThumbs(1);
    var topPrevUrl = _global_proto+'www.lonnys.com/shop/web/images/product/large/' + _GLOBAL_product_image_id + '_1_.jpg';
    $('#vli').append('<img src="' + topPrevUrl + '" id="previewImage" />').attr('href', topPrevUrl);

    $('a#vli').click(function (e) {
        e.preventDefault();
        var IMGURL = $(this).attr('href');
        $("a[rel='products'][href='" + IMGURL + "']").colorbox({
            maxHeight: '95%',
            width: '600px',
            open: true
        });
        return false;
    });


} //end createCarousel
$(document).ready(function () {
    $("select[id^='Color']").change(function () {
        var newPrevImage = '/shop/web/images/product/large/' + _GLOBAL_product_image_id + '_1_' + $(this).children('option:selected').text().toLowerCase() + '.jpg';
        $('#previewImagePane').addClass('loading');
        $('img#previewImage').hide().attr('src', newPrevImage).show();
        $('#thumbNailPane a').removeClass('selected');
    });


    $('#sale_row').jCarouselLite({
        btnNext: ".next",
        btnPrev: ".prev",
        visible: 5,
        circular: true
    });

    createCarousel();

});
