// JavaScript Document
function VerticalAccordion(){
	var _holder = jQuery("ul.accordion");
	var _dur = 1500;
	var _t = null;
	var _autoslide = 8000; //false or integer 1000 = 1sec
	var _curIndex = -1;

	_holder.each(function(){
		var _f = false;
		var _this = jQuery(this);
		var _opener = jQuery(".opener", _this);
		var _curIndex = _this.find("li").index(_this.find("li").filter(".open"));

		_opener.click(function(){
			if (!_f) {
				var _setOpen = jQuery(this).parents("li");
				var _setClose = _this.find("li").filter(".open");
				_width = _setClose.width();
				if (!jQuery(this).parents("li").hasClass("open")) {
					if (_autoslide) {
						if (_t) clearTimeout(_t);
						_curIndex = _opener.index(jQuery(this));
						_autorotate();
					};
					_f = true;
					_setOpen.animate({width: _width},{ duration: _dur, complete: function(){
						jQuery(this).addClass("open");
						_f = false;
					}});
					_setClose.animate({width: "41px"},{duration: _dur, complete: function(){
						jQuery(this).removeClass("open");
					}});
				};
			}
			return false;
		})

		if (_autoslide) {
			_autorotate();
		}

		function _autorotate(){
			_t = setTimeout(function(){
			_curIndex++;
			if (_curIndex == _opener.length) _curIndex=0;
			_opener.eq(_curIndex).trigger('click');
			},_autoslide);
		}

	})
}

function initTabs() {
	jQuery('ul.tabset').each(function(){
		var _list = jQuery(this);
		var _links = _list.find('a.tab');

		_links.each(function() {
			var _link = jQuery(this);
			var _href = _link.attr('href');
			var _tab = jQuery(_href);

			if(_link.hasClass('active')) _tab.show();
			else _tab.hide();

			_link.click(function(){
				_links.filter('.active').each(function(){
					jQuery(jQuery(this).removeClass('active').attr('href')).hide();
				});
				_link.addClass('active');
				_tab.show();
				return false;
			});
		});
	});
}

function initValidate(){
	var _submit = jQuery('.button');
	var _required = jQuery('.required');
	var _emailReg = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	var step = true;
	var eror = false;
	_submit.click(function(){
		var step = true;
		var eror = false;
		_required.each(function(){
			if (jQuery(this).val()==0 && step) {
				step = false;
				eror = true;
				jQuery(this).parent().addClass("open");
			} else {
				jQuery(this).parent().removeClass("open");
				if (jQuery(this).hasClass('email') && step) {
					if (!_emailReg.test(jQuery(this).val())) {
						eror = true;
						step = false;
						jQuery(this).parent().addClass("open");
					} else {
						jQuery(this).parent().removeClass("open");
					};
				};
			};
		});
	step=true;
	if (eror) {return false;}
	});
}


jQuery(document).ready(function(){
	VerticalAccordion();
	initTabs();
	initValidate();
});
