﻿$(document).ready(function() {
    if ($('ul').length != 0 && $('ul').hasClass('accordion')) $('ul.accordion').accordion({
        active: ".selected",
        autoHeight: false,
        header: ".open-close",
        collapsible: true,
        event: "click"
    });

    if ($('ul').length != 0 && $('ul').hasClass('accordion2')) $('ul.accordion2').accordion({
        autoHeight: false,
        header: ".opener",
        collapsible: true,
        fillSpace: true,
        event: "click"
    });

    if ($('div.gallery-fade').length != 0) $('div.gallery-fade').gallSlide({
        duration: 0,
        effect: 'fade',
        autoSlide: 10000,
        fadeEl: 'ul.flash-list > li',
        switcher: 'div.holder > ul > li',
        temp: false
    });
    selectOptionSize();
    /*if ($('div.gallery-fade2').length != 0) $('div.gallery-fade2').gallSlide({
    duration: 0,
    effect: 'fade',
    autoSlide: 6000,
    fadeEl: 'ul > li',
    switcher: 'ul > li',
    temp:false
    });*/
});

/* Gallery */
jQuery.fn.gallSlide = function(_options){
	// defaults options	
	var _options = jQuery.extend({
		duration: 700,
		autoSlide: false,
		slideElement: 1,
		effect: true,
		fadeEl: 'ul',
		switcher: 'ul > li',
		next: 'a.link-next, a.btn-next, a.next',
		prev: 'a.link-prev, a.btn-prev, a.prev'
	},_options);
	
	return this.each(function(){
		var _hold = $(this);
		if (!_options.effect) var _speed = _options.duration;
		else {if (!_options.temp) var _speed = $.browser.msie ? 0 : _options.duration;
		else _speed = _options.duration;
		}
		var _timer = _options.autoSlide;
		var _sliderEl = _options.slideElement;
		var _wrap = _hold.find(_options.fadeEl);
		var _el = _hold.find(_options.switcher);
		var _next = _hold.find(_options.next);
		var _prev = _hold.find(_options.prev);
		var _count = _el.index(_el.filter(':last'));
		var _w = _el.outerWidth(true);
		var _wrapHolderW = Math.ceil(_wrap.parent().width()/_w);
		if (((_wrapHolderW-1)*_w + _w/2) > _wrap.parent().width()) _wrapHolderW--;
		if (_timer) var _t;
		var _active = _el.index(_el.filter('.active:eq(0)'));
		if (_active < 0) _active = 0;
		var _last = _active;
		if (!_options.effect) var rew = _count - _wrapHolderW + 1;
		else var rew = _count;
		
		if (!_options.effect) _wrap.css({marginLeft: -(_w * _active)});
		else {
			_wrap.css({opacity: 0}).removeClass('active').eq(_active).addClass('active').css({opacity: 1}).css('opacity', 'auto');
			_el.removeClass('active').eq(_active).addClass('active');
		}
		
		function fadeElement(){
			_wrap.eq(_last).animate({opacity:0}, {queue:false, duration: _speed});
			_wrap.removeClass('active').eq(_active).addClass('active').animate({
				opacity:1
			}, {queue:false, duration: _speed, complete: function(){
				$(this).css('opacity','auto');
			}});
			_el.removeClass('active').eq(_active).addClass('active');
			_last = _active;
		}
		function scrollEl(){
			_wrap.animate({marginLeft: -(_w * _active)}, {queue:false, duration: _speed});
		}
		function runTimer(){
			_t = setInterval(function(){
				if (_active == rew) _active = -_sliderEl;
				for (var i = 0; i < _sliderEl; i++){
					_active++;
					if (_active > rew) {
						_active--;
						break;
					}
				};
				if (!_options.effect) scrollEl();
				else fadeElement();
			}, _timer);
		}
		if (_timer) runTimer();
		_next.click(function(){
			if(_t) clearTimeout(_t);
			if (_active == rew) _active = -_sliderEl;
			for (var i = 0; i < _sliderEl; i++){
				_active++;
				if (_active > rew) {
					_active--;
					break;
				}
			};
			if (!_options.effect) scrollEl();
			else fadeElement();
			if (_timer) runTimer();
			return false;
		});
		_prev.click(function(){
			if(_t) clearTimeout(_t);
			if (_active == 0) _active = rew + _sliderEl;
			for (var i = 0; i < _sliderEl; i++){
				_active--;
				if (_active < 0) {
					_active++;
					break;
				}
			};
			if (!_options.effect) scrollEl();
			else fadeElement();
			if (_timer) runTimer();
			return false;
		});
		if (_options.effect) _el.click(function(){
			_active = _el.index($(this));
			if(_t) clearTimeout(_t);
			fadeElement();
			if (_timer) runTimer();
			return false;
		});
	});
}

function selectOptionSize() {
/*
    var selects = $(".info-form select");

    $.each(selects, function() {
        $(this).mouseover(function() {

        $(this).css("width", "300px");
            return true;
        }); //click

        $(this).blur(function() {
            $(this).css("width", "150px");
        }); //blur   
    });	  */
    //

    if ($.browser.msie) $('select.wide')
    .bind('focus mouseover', function() { $(this).addClass('expand').removeClass('clicked'); })
    .bind('click', function() { $(this).toggleClass('clicked'); })
    .bind('mouseout', function() { if (!$(this).hasClass('clicked')) { $(this).removeClass('expand'); } })
    .bind('blur', function() {
        $(this).removeClass('expand clicked'); 
    });
      
 }

