// On dom ready load
$(function () {
    // Langugage sliding
    $(".regions ul li a:first").click(function () { //When trigger is clicked...
        $(this).css("background-image", "url(/images/lang_bg_hover.png)");
        //Following events are applied to the subnav itself (moving subnav up and down)
        $(this).parent().find("ul").slideToggle('fast'); //Drop down the subnav on click
        $(this).blur();

        $(this).parent().hover(function () {
        }, function () {
            var listItem = $(this);
            listItem.parent().find("ul").slideUp('slow',
                function () { listItem.find("a:first").css("background-image", "url(/images/lang_bg.png)"); }); //When the mouse hovers out of the subnav, move it back up

        });


        return false;
        //Following events are applied to the trigger (Hover events for the trigger)
    }).hover(function () {
        $(this).addClass("subhover"); //On hover over, add class "subhover"
    }, function () {	//On Hover Out
        $(this).removeClass("subhover"); //On hover out, remove class "subhover"
    });


    // Login sliding function 
    $('div#login a').click(function () {
        if ($(this).hasClass('login')) {
            $('div#login').animate({ 'top': '0px' }, 500, function () { $(this).children('a.login').removeClass('login').addClass('submit').text('login').blur() });
            return false;
        }
        else {
            return true;
            if (document.URL.indexOf("bad=true") >= 0) {
                alert('bad');
            }
        }
    });


    // Mandatory Login field check
    $('div#login a:last').click(function () {

        if ($(this).hasClass('submit') &&
            ($('div#login #s').val().length == 0 || $('div#login #s').val() == 'Enter your email' ||
            $('div#login #password').val().length == 0)) {

            if ($('div#login #s').val().length == 0 || $('div#login #s').val() == 'Enter your email')
                $('div#login #s').css('color:#C83A36;');

            if ($('div#login #password').val().length == 0)
                $('fauxPassword').css('color:#C83A36;');

            $('div#login p.error').remove();
            $('div#login').height('97px');
            $('div#login #fauxPassword').after('<p class="error">Please enter an email address and password</p>');

            return false;
        }
    });

    // Change login field color
    $('div#login input').focus(function () {
        $(this).css('color', '#000000');
    });

    // Swap faux password box on click
    $('#fauxPassword').focus(function () {
        $(this).hide();
        $('div#login #password').show();
        $('div#login #password').focus();
    });


    // Return false on selected primary nav elements
    $('ul#primaryNav li.selected a').click(function () {
        return false;
    });
    $('#login a.closeLoginBut').click(function () {

        $('div#login').animate({ 'top': ('-' + ($('div#login').height() - 2)) }, 500, function () {
            $(this).children('a.submit').removeClass('submit').addClass('login').text('login');
            $('div#login p.error').remove();

            $('div#login').height('72px');
            $('div#login').css('top', '-70px');
        });
        return false;
    });

    // Fixing sub nav positions

    var subNav = $('#subNav').length;
    if (subNav) {

        var slctNavWidth = $('ul#primaryNav li.selected').width();
        var headerLeftPos = $('#header').offset().left;
        $('<img src="/images/subnav_arrow.png" alt="pointer" class="pointer ieFix" />').prependTo('div#subNav');
        var subNavWidth = $('#subNav').width();
        var pointerPos = slctNavWidth / 2;
        var slctNavLeftPos = $('ul#primaryNav li.selected').offset().left;
        var slctNavWidthHalf = slctNavWidth / 2;

        $('div#subNav').css('left', slctNavLeftPos - headerLeftPos);

        var subNavWidth = $('#subNav').width();

        $('div#subNav').width(subNavWidth);

        var subNavWidthNoButWidth = subNavWidth - slctNavWidth;
        var halfSubNavWidthNoButWidth = subNavWidthNoButWidth / 2;

        $('img.pointer').css('left', pointerPos + halfSubNavWidthNoButWidth);
        $('div#subNav').css('marginLeft', -halfSubNavWidthNoButWidth);

        var headerWidth = $('#header').width();
        var getNavPos = $('#subNav').offset().left + subNavWidth;
        var headerPos = $('#header').offset().left + headerWidth;

        if (getNavPos > headerPos) {
            var adjustNav = getNavPos - headerPos;
            var originalMargin = $('#subNav').css('margin-left');
            var parseMarg = parseInt(originalMargin);
            var adjustedMargin = parseMarg - adjustNav;

            $('div#subNav').css('marginLeft', adjustedMargin);
            $('img.pointer').css('left', pointerPos - adjustedMargin);
        }

        var getNavPosOriginal = $('#subNav').offset().left;
        var headerPosOriginal = $('#header').offset().left;

        if (getNavPosOriginal < headerPosOriginal) {
            var adjustNav = headerPosOriginal - getNavPosOriginal;
            var originalMargin = $('#subNav').css('margin-left');
            var parseMarg = parseInt(originalMargin);
            var adjustedMargin = parseMarg + adjustNav;

            $('div#subNav').css('marginLeft', adjustedMargin);
            $('img.pointer').css('left', pointerPos + adjustedMargin);
        }
    }

    /* Many thanks to @author Klaus Hartl/klaus.hartl@stilbuero.de*/

    jQuery.cookie = function (key, value, options) {

        // key and value given, set cookie...
        if (arguments.length > 1 && (value === null || typeof value !== "object")) {
            options = jQuery.extend({}, options);

            if (value === null) {
                options.expires = -1;
            }

            if (typeof options.expires === 'number') {
                var days = options.expires, t = options.expires = new Date();
                t.setDate(t.getDate() + days);
            }

            return (document.cookie = [
                encodeURIComponent(key), '=',
                options.raw ? String(value) : encodeURIComponent(String(value)),
                options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
                options.path ? '; path=' + options.path : '',
                options.domain ? '; domain=' + options.domain : '',
                options.secure ? '; secure' : ''
            ].join(''));
        }

        // key and possibly options given, get cookie...
        options = value || {};
        var result, decode = options.raw ? function (s) { return s; } : decodeURIComponent;
        return (result = new RegExp('(?:^|; )' + encodeURIComponent(key) + '=([^;]*)').exec(document.cookie)) ? decode(result[1]) : null;
    };
    var COOKIE_NAME = 'cuegleName';
    var COOKIE_PASS = 'cueglePass';

    var options = { path: '/', expires: 10 };

    $('a.rmbrLog').live('click', function () {
        var cookie_val = $('input#s').val();
        var cookie_pass = $('input#password').val();
        $.cookie(COOKIE_NAME, cookie_val, options);
        $.cookie(COOKIE_PASS, cookie_pass, options);
        $('a.rmbrLog').text('Clear login details').removeClass('rmbrLog').addClass('logOut');
        return false;
    });
    $('a.logOut').live('click', function () {

        $.cookie(COOKIE_NAME, null, options);
        $.cookie(COOKIE_PASS, null, options);


        $('a.logOut').text('Remember my login').removeClass('logOut').addClass('rmbrLog');
        $('div#login').animate({ 'top': '-70px' }, 500, function () { $(this).children('a.submit').removeClass('submit').addClass('login').text('login') });
        $('div#login input').val('');
        return false;
    });

    if ($.cookie('cuegleName') && $.cookie('cueglePass')) {
        //$('#login').css('top' ,0);
        $('input#s').val($.cookie('cuegleName'));

        $('input#password').val($.cookie('cueglePass'));

        $('a.rmbrLog').text('Clear login details').removeClass('rmbrLog').addClass('logOut');
    }

    // News Nav slider

    var newsLists = $('ul.newsLists').length;

    if (newsLists) {

        $('ul.newsLists h5 a').click(function () {
            $(this).parent().siblings().slideToggle().end().toggleClass('selected').parent().siblings().children(':not("h5")').slideUp().end().children('h5').removeClass('selected');
            $('ul.newsLists h6').removeClass('selected');
            return false;
        });

        $('ul.newsLists h6 a').click(function () {
            $('ul.newsLists h6').removeClass('selected');
            $(this).parent().addClass('selected');
            return false;
        });
    }

    if (window.location.toString().indexOf('cueglefailedlogin=1') > -1) {
        $('#loginBtn').trigger('click');
        $('div#login').css('height', '92px');
    }
});
