//***** SKY SPORTS SCROLLER SCRIPT  : V1.01 14:48 16 June 2010*****//
typeof(bskyb) != 'object' && (bskyb = {});

bskyb.accordian = function (p) {
    var el;
    if (p) {
        el = p
    } else {
        el = '.enable-accordian'
    }
    $(el).each(function () {

        var options = $(this).attr('options');

        var instance = {

            acc: $(this),
            speed: bskyb.util.getoptions({
                opts: options,
                val: 'speed',
                parse: true,
                def: 500
            }),
            remember: bskyb.util.getoptions({
                opts: options,
                val: 'remember'
            }),
            multi: bskyb.util.getoptions({
                opts: options,
                val: 'multi'
            }),
            delay: bskyb.util.getoptions({
                opts: options,
                val: 'delay'
            }),
            open: bskyb.util.getoptions({
                opts: options,
                val: 'open'
            }),
            'static': bskyb.util.getoptions({
                opts: options,
                val: 'static'
            })
        }
		
        if (instance['static'] != 'false') {

            instance.acc.find('.accordian-head').css({
                'backgroundPosition': '10000px -10000px',
                cursor: 'default'
            }).addClass('on');


        } else {

            instance.remember != 'false' && instance.acc.attr('id', instance.remember);

            remember = function () {

                if (instance.open == 'false') {

                    var on = "";
                    instance.acc.children('ul').children('.accordian-item').each(function (i) {

                        if ($(this).children('.accordian-head').hasClass('on')) {

                            on += i + "|";

                        }

                    })

                    bskyb.cookie.set(instance.remember, on.replace(/\|$/, ''), 365);

                }

            }
			
			ajaxContent = function(thisitem, ajax){
				
				thisitem.closest('.accordian-item').children('.accordian-head').addClass('ajaxed');
				thisitem.closest('.accordian-item').children('.accordian-section:hidden').slideDown(instance.speed, function () {
					
					var section = $(this);
					thisitem.addClass('on');
					section.addClass('loading');
					
					remember();
					
					$.ajax({
					  url: ajax,
					  context: section,
					  success: function(data){
						section.removeClass('loading').append(data);
						//if data contains an enabler div then run the related function
						if(!!$(data).attr('class').match(/\benable-/)){
							var fn = $(data).attr('class').split('enable-')[1].split(' ')[0];
							eval("bskyb."+fn+"({el:section.find('.enable-"+fn+"')})");
						}
					  }
					});
				});
				
			}

            if (instance.multi != 'false') {

                instance.acc.children('ul').children('.accordian-item').children('.accordian-head').click(function () {

                    var ajax = false;
                    if ($(this).attr('url') && $(this).hasClass('ajaxed') == false) {
                        ajax = $(this).attr('url')
                    }

                    var thisitem = $(this);

                    if ($(this).hasClass('on')) {

                        thisitem.closest('.accordian-item').children('.accordian-section:visible').slideUp(instance.speed, function () {

                            thisitem.removeClass('on');
                            remember();

                        })


                    } else {

                        if (ajax) {
							
                            ajaxContent(thisitem, ajax);
							
                        } else {

                            thisitem.closest('.accordian-item').children('.accordian-section:hidden').slideDown(instance.speed, function () {
                                thisitem.addClass('on');
                                remember();
                            })

                        }


                    }

                    return false;

                })



            }


            if (instance.multi == 'false') {

                instance.acc.children('ul').children('.accordian-item').children('.accordian-head').click(function () {

                    if (instance['static'] != 'false') {
                        return false
                    }

                    var ajax = false;
                    if ($(this).attr('url') && $(this).hasClass('ajaxed') == false) {
                        ajax = $(this).attr('url')
                    }

                    var thisitem = $(this);

                    if (thisitem.hasClass('on')) {


                        thisitem.closest('.accordian-item').children('.accordian-section:visible').slideUp(instance.speed, function () {

                            thisitem.removeClass('on');
                            remember();

                        })


                    } else {
                        var o = instance.acc.children('ul').children('.accordian-item').children('.accordian-section:visible');
                        if (o[0]) {

                            o.slideUp(instance.speed, function () {
                                $(this).parents('.accordian-items').children('.accordian-item').children('.accordian-head').removeClass('on')
                                //$(this).prev('.accordian-head').removeClass('on');
                                thisitem.closest('.accordian-item').children('.accordian-head').addClass('on');

                                if (ajax) {
									
                                    ajaxContent(thisitem, ajax);

                                } else {

                                    thisitem.closest('.accordian-item').children('.accordian-section:hidden').slideDown(instance.speed, function () {
                                        remember()
                                    })

                                }

                            })


                        } else {
                            thisitem.closest('.accordian-item').children('.accordian-head').addClass('on');
                            thisitem.closest('.accordian-item').children('.accordian-section:hidden').slideDown(instance.speed, function () {
								
                                remember();

                            })

                        }

                    }

                    return false;

                })



            }

            if (instance.open != 'false') {

                instance.acc.children('ul').children('.accordian-item').children('.accordian-section').hide();
                instance.acc.children('ul').children('.accordian-item').children('.accordian-head').removeClass('on');
                instance.acc.children('ul').children('.accordian-item:eq(' + (instance.open - 1) + ')').children('.accordian-section').show();
                instance.acc.children('ul').children('.accordian-item:eq(' + (instance.open - 1) + ')').children('.accordian-head').addClass('on');

            } else {
                instance.acc.children('ul').children('.accordian-item').children('.accordian-section').hide();
                instance.acc.children('ul').children('.accordian-item').children('.accordian-head').removeClass('on');
                instance.acc.children('ul').children('.accordian-item:eq(0)').children('.accordian-section').show();
                instance.acc.children('ul').children('.accordian-item:eq(0)').children('.accordian-head').addClass('on');

            }

            //check cookies
            if (instance.remember != 'false' && bskyb.cookie.get(instance.remember)) {

                $('#' + instance.remember).children('ul').children('.accordian-item').children('.accordian-section').hide();
                $('#' + instance.remember).children('ul').children('.accordian-item').children('.accordian-head').removeClass('on');
                var t = bskyb.cookie.get(instance.remember).split('|');
                $(t).each(function () {

                    $('#' + instance.remember).children('ul').children('.accordian-item:eq(' + (this) + ')').children('.accordian-section').show();
                    $('#' + instance.remember).children('ul').children('.accordian-item:eq(' + (this) + ')').children('.accordian-head').addClass('on');

                })

            }

        }

    })

    $('.accordian-close').click(function () {

        var t = $(this).attr('targetacc');

        $(this).addClass('on');
        $(this).parents('ul').find('.accordian-open').removeClass('on');

        t ? $(t).find('div.accordian-section').slideUp(300) : $('div.accordian-section').slideUp(300);
        t ? $(t).find('tr.accordian-section').hide() : $('tr.accordian-section').hide();

        return false;

    })

    $('.accordian-open').click(function () {
        var thisa = $(this);
        var t = $(this).attr('targetacc');

        $(this).addClass('on');
        $(this).parents('ul').find('.accordian-close').removeClass('on');


        if ($(this).attr('href').length > 2 && $(this).hasClass('ajaxed') == false) {


            $(t).find('div.accordian-section').load($(this).attr('href'), function () {

                thisa.addClass('ajaxed');
                t ? $(t).find('div.accordian-section').slideDown(300) : $('div.accordian-section').slideDown(300);
                t ? $(t).find('tr.accordian-section').show() : $('tr.accordian-section').show();

            })


        } else {

            t ? $(t).find('div.accordian-section').slideDown(300) : $('div.accordian-section').slideDown(300);
            t ? $(t).find('tr.accordian-section').show() : $('tr.accordian-section').show();

        }

        return false;

    })

};
