function isValidEmailAddress(emailAddress) {
var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
return pattern.test(emailAddress);
}


function send_to_friend() {
     if(!$('#id_friends_name').val() || !$('#id_sender_name').val() || !$('#id_sender_name').val() ){
        $('#send_to_friend_form').addClass('errors');
        $('span.errormsg').html('YOU\'RE MISSING A REQUIRED FIELD');
        return false;
    }
    if(! isValidEmailAddress( $('#id_friends_email').val() ) || ! isValidEmailAddress( $('#id_sender_email').val() )){
        $('#send_to_friend_form').addClass('errors');
        $('span.errormsg').html('THAT\'S NOT A VALID EMAIL');
        return false;
    }   
	$.post($('#send_to_friend form').attr('action'), $('#send_to_friend form').serialize(), function(data) {
            $('#send_to_friend').html(data);
            $('.highslide-heading').text('THE CARRIER PIGEON HAS BEEN CONTACTED!');
            setTimeout("$('.closebutton').click()",5000);
        });
        return false;
}

function highslide_instock_request() {
    var frm = $('form[name="request_instock_notification"]');
    if (!frm.length) return;
    var url = frm.attr('action') + '?' + frm.serialize();
    frm.find('a').attr('href', url).click(function() {
        return hs.htmlExpand(this, { dimmingOpacity:0.5, width:320, height:156, slideshowGroup: 'gallery', outlineType: 'rounded-white', wrapperClassName: 'draggable-header no-footer noarrows', objectType: 'ajax', preserveContent: true } );
    });
    $('#instock_notification').live('click', function() {
        $.post($('#instock_form').attr('action'), $('#instock_form').serialize(), function(data) {
            if(data.search('errorlist')!=-1) {
                //$('#instock_form').parents('.highslide-body:first').html(data);
                $('#instock_form').html(data);
            } else {
                $('#instock_form').parents('.highslide-body:first').load('/instock-notification-success/');
	            setTimeout("$('.closebutton').click()",5000);
            }
        });
        return false;
    });
}

function do_instock_request() {
    $.post($('#instock_form').attr('action'), $('#instock_form').serialize(), function(data) {
        if(data.search('errorlist')!=-1) {
            //$('#instock_form').parents('.highslide-body:first').html(data);
            $('#instock_popup').html(data);
        } else {
            $('#instock_form').parents('.highslide-body:first').load('/instock-notification-success/');
            setTimeout("$('.closebutton').click()",5000);
        }
    });
    return false;
}

$(document).ready(function() {
    highslide_instock_request();    
    $('#image_zoomer, #product_main_link').click( function() {
        $('#main_prod_img').find('a.hidden_prodimg[href="'+$(this).attr('href')+'"]').click();
        $('div.jqZoomWindow').remove();
        return false;
    });
    var options = {
        zoomWidth: 420,
        zoomHeight: 330,
        xOffset: 20,
        yOffset: -30,
        position: "right"
    };
    $('#image_zoomer').jqzoom(options);
    $('#order_form form').submit(function() {
        $('#add_button').fadeOut("fast");
        var $this = $(this);
        $.post('/cart/ajax/add-to-cart/', $this.serialize(), function(data) {
            $('#add_button, #cost, #quantity').hide();
            $('.added_to_cart').fadeIn("fast");
            $('body').trigger('addbasket', [$this.find('[name="sku"]').val(), data]);
        }, "json");
        return false;
    });
    // start slide show
    
    var intval = setInterval ( "if($('li.current').hasClass('last')){$('#product_image li:first').mouseover();}else{$('#product_image li.current').next('#product_image li').mouseover();}", 7000 );
    $('#image_zoomer').mouseover( function() {
        clearInterval (intval);
    });

});

function update_image(display, fullsize) {
    $('#product_main_image').attr('src', display);
    $('#product_image_link').attr('href', fullsize);
    $('a.product_main_link').attr('href', fullsize);
}
hs.registerOverlay({
    html: '<div class="closebutton" onclick="return hs.close(this)" title="Close"></div>',
    position: 'top right',
    align: 'center',
    slideshowGroup: 'product-images',
    useOnHtml: true,
    fade: 2 // fading the semi-transparent overlay looks bad in IE
});

hs.graphicsDir = '/media/highslide/graphics/'; 
hs.dimming=true;
hs.dimmingOpacity = 0.6;
hs.dimmingGeckoFix = true;
hs.showCredits = false;
hs.loadingText = 'Loading...';
hs.transitions = ['expand', 'crossfade'];
//hs.outlineType = 'rounded-white';
hs.fadeInOut = true;



