// hover for IE
function ieHover(_list) {
    if (jQuery_1_3_2.browser.msie && jQuery_1_3_2.browser.version < 7) {
        jQuery_1_3_2(_list).hover(function() {
            jQuery_1_3_2(this).addClass('hover');
        }, function() {
            jQuery_1_3_2(this).removeClass('hover');
        });
    }
}

// accordion function
function initAccordion() {
    var _activeClass = 'active';
    //var _cookieTitle = 'activesection';
    var _slideSpeed = 500;

    // cookies
    //if(getCookie(_cookieTitle)) {
    //	var _num = parseInt(getCookie(_cookieTitle));
    //	jQuery_1_3_2('ul.accordion > li').removeClass(_activeClass).eq(_num).addClass(_activeClass);
    //}
    jQuery_1_3_2('ul.accordion > li').each(function(_ind){
        jQuery_1_3_2(this).find('a').click(function(){
            //setCookie(_cookieTitle,_ind);
            });
    })

    // accordion
    jQuery_1_3_2('ul.accordion').each(function(){
        var _accordion = jQuery_1_3_2(this);
        var _items = _accordion.find('li:has(ul)');
        _items.each(function(){
            var _holder = jQuery_1_3_2(this);
            var _opener = _holder.find('>a.opener');
            var _slider = _holder.find('>div.slide');

            _opener.click(function(){
                var _levelItems = _holder.parent().children(':has(ul)').not(_holder);

                if(_holder.hasClass(_activeClass)) {
                    _slider.slideUp(_slideSpeed,function(){
                        _holder.removeClass(_activeClass);
                    });
                } else {
                    _holder.addClass(_activeClass);
                    _slider.slideDown(_slideSpeed);

                    // collapse others
                    _levelItems.find('>div.slide:visible').slideUp(_slideSpeed,function(){
                        _levelItems.removeClass(_activeClass);
                    })
                }
                return false;
            });
            var _selectedHolder = _holder.find('a.selected');
            _selectedHolder.each(function(){
                if (!_holder.hasClass(_activeClass)) {
                    _holder.addClass(_activeClass);
                }                          
            });
            if(_holder.hasClass(_activeClass)) _slider.show();
            else _slider.hide();
        });
    });
}

// cookies function
function getCookie( name ) {
    var start = document.cookie.indexOf( name + "=" );
    var len = start + name.length + 1;
    if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ) {
        return null;
    }

    if ( start == -1 ) return null;
    var end = document.cookie.indexOf( ';', len );
    if ( end == -1 ) end = document.cookie.length;
    return unescape( document.cookie.substring( len, end ) );
}

function setCookie( name, value, expires, path, domain, secure ) {
    var today = new Date();
    today.setTime( today.getTime() );
    if ( expires ) {
        expires = expires * 1000 * 60 * 60 * 24;
    }
    var expires_date = new Date( today.getTime() + (expires) );
    document.cookie = name+'='+escape( value ) +
    ( ( expires ) ? ';expires='+expires_date.toGMTString() : '' ) + //expires.toGMTString()
    ( ( path ) ? ';path=' + path : '' ) +
    ( ( domain ) ? ';domain=' + domain : '' ) +
    ( ( secure ) ? ';secure' : '' );
}

function deleteCookie( name, path, domain ) {
    if ( getCookie( name ) ) document.cookie = name + '=' +
        ( ( path ) ? ';path=' + path : '') +
        ( ( domain ) ? ';domain=' + domain : '' ) +
        ';expires=Thu, 01-Jan-1970 00:00:01 GMT';
}

// page init
jQuery_1_3_2(function() {
    initAccordion();
    ieHover('#nav li');
});

/*--------------------------------------------------------------------
 * jQuery plugin: customInput()
 * by Maggie Wachs and Scott Jehl, http://www.filamentgroup.com
 * Copyright (c) 2009 Filament Group
 * Dual licensed under the MIT (filamentgroup.com/examples/mit-license.txt) and GPL (filamentgroup.com/examples/gpl-license.txt) licenses.
 * Article: http://www.filamentgroup.com/lab/accessible_custom_designed_checkbox_radio_button_inputs_styled_css_jquery/
 * Usage example below (see comment "Run the script...").
--------------------------------------------------------------------*/

jQuery_1_3_2.fn.customInput = function(){
	jQuery_1_3_2(this).each(function(i){
		if(jQuery_1_3_2(this).is('[type=checkbox],[type=radio]')){
			var input = jQuery_1_3_2(this);

			// get the associated label using the input's id
			var label = jQuery_1_3_2('label[for='+input.attr('id')+']');

			//get type, for classname suffix
			var inputType = (input.is('[type=checkbox]')) ? 'checkbox' : 'radio';

			// wrap the input + label in a div
			jQuery_1_3_2('<div class="custom-'+ inputType +'"></div>').insertBefore(input).append(input, label);

			// find all inputs in this set using the shared name attribute
			var allInputs = jQuery_1_3_2('input[name='+input.attr('name')+']');

			// necessary for browsers that don't support the :hover pseudo class on labels
			label.hover(
				function(){
					jQuery_1_3_2(this).addClass('hover');
					if(inputType == 'checkbox' && input.is(':checked')){
						jQuery_1_3_2(this).addClass('checkedHover');
					}
				},
				function(){ jQuery_1_3_2(this).removeClass('hover checkedHover'); }
			);

			//bind custom event, trigger it, bind click,focus,blur events
			input.bind('updateState', function(){
				if (input.is(':checked')) {
					if (input.is(':radio')) {
						allInputs.each(function(){
							jQuery_1_3_2('label[for='+jQuery_1_3_2(this).attr('id')+']').removeClass('checked');
						});
					};
					label.addClass('checked');
				}
				else { label.removeClass('checked checkedHover checkedFocus'); }

			})
			.trigger('updateState')
			.click(function(){
				jQuery_1_3_2(this).trigger('updateState');
			})
			.focus(function(){
				label.addClass('focus');
				if(inputType == 'checkbox' && input.is(':checked')){
					jQuery_1_3_2(this).addClass('checkedFocus');
				}
			})
			.blur(function(){ label.removeClass('focus checkedFocus'); });
		}
	});
};
