﻿$.fn.pause = function(n) {
    n = n || 1000;
    return this.queue(function() {
        var el = this;
        setTimeout(function() {
            return $(el).dequeue();
        }, n);
    });
};

$(document).ready(function() {

    $(window).bind('resize scroll', vistaChanged);

    $('#mist').css('opacity', '0.5');
    
    resetShootingStar();

});

function valid(ctrl) {

    var outer = $(ctrl).parent().parent().parent();
    
    var c;
    var callback = outer.find('.callback');
    callback.html('').show();

    var b = outer.find('input:text').each(function() {

        var c = $(this).val();
        c = jQuery.trim(c);
        c = c.replace(/£/, '');
        $(this).val(c);

    });

    var minS = outer.find('.minDonation').attr('value');
    var min = parseInt(minS);
    var qty = parseInt(outer.find('.qty').val());
    var price = parseInt(outer.find('.price').val());

    if (isNaN(price * 1)) c = "please enter a valid price";
    else if (isNaN(qty * 1)) c = "please enter a valid quantity";
    else if (price < min) c = "below recommendation (£" + minS + ")";
    else if (qty < 1) c = "please enter a quantity";

    if (c == null) {
        window.scrollTo(0, 0);
        return true;
    }
    else {
        callback.html(c).focus().pause(1200).fadeOut();
        return false;
    }
}

function checkoutClicked() {

    manageBasket.off(true);
    vistaChanged();
    $('#paypalOverlay').show();
}

function vistaChanged() {

    var wh = $(window).height();
    var dh = $(document).height();

    $('#paypalOverlay, #mist').css('height', dh);

    if (wh < 510) $('#clangerLeft, #clangerRight').hide();
    else $('#clangerLeft, #clangerRight').show();

    var left = ($(window).width() / 2) - ($('#basketDetails').width() / 2);

    var scrollTop = document.documentElement.scrollTop;
    var top = scrollTop + ((wh - $('#basketDetails').height()) / 2)

    $('#basketDetails').css({ 'left': left, 'top': top });

}

function fireStar() {

    $("#shootingStar").animate({
        top: 400,
        left: -102
    }, 1000, resetShootingStar);

}

var fr = true;

function resetShootingStar() {

    $("#shootingStar").css({ 'top': '-102px', 'left': '660px' });

    if (fr) {
        setTimeout('fireStar()', 500);
        fr = false;
    }
    else {
        var r = Math.floor(Math.random() * 5000);
        setTimeout('fireStar()', r);
    }

}

function miniBasketUpdate() {

    $('.updateAni').css('display', 'block');
    $('.updateAni').fadeOut().fadeIn().fadeOut().fadeIn().fadeOut();

}

function mainCartUpdateStart() {

    $('#mist').css('z-index', '400');
    $('body').css('cursor', 'wait');

}

Sys.WebForms.PageRequestManager.getInstance().add_endRequest(function() { setTimeout("closeMainBasket()", 500); });

function closeMainBasket() {

    var items = $('#basketSize').html();

    //alert(items);

    $('#mist').css('z-index', '200');
    $('body').css('cursor', '');
    
    if (items == null) manageBasket.off(true);

}

var manageBasket = {
    on: function() {
        vistaChanged();
        $('#mist, #basketDetails').css('display', 'block');
    },
    off: function(instant) {
        instant = instant || false;
        if ($('#mist').css('z-index') != '400') {
            if (instant) $('#mist, #basketDetails').hide();
            else $('#mist, #basketDetails').fadeOut('fast');
        }
    }
};
