$(function(){
	initPage();
	initAccordion();
	$('.tabset').jqueryTabs();
	initMainGallery();
})

function initMainGallery(){
	//main gallery parser
	$('div.visual').each(function(){
		var _fadeSpeed = 650;
		var _gallery = $(this);
		var _target = $('.gallery-hold', _gallery);
		var _navClass = 'paging';
		var _listClass = 'gallery';
		var _activeClass = 'active';

		var _xmlSource = _gallery.attr('title');
		_gallery.attr('title','');

		if(_xmlSource && _xmlSource.length>0) {
			$.ajax({
				url: _xmlSource,
				dataType: (jQuery.browser.msie) ? 'text' : 'xml',
				success: function(xmlData){
					var _galleryData;
					if ( typeof xmlData == 'string') {
						_galleryData = new ActiveXObject( 'Microsoft.XMLDOM');
						_galleryData.async = false;
						_galleryData.loadXML(xmlData);
					} else {
						_galleryData = xmlData;
					}

					// gallery structure
					var _navHolder = $('<div />').addClass(_navClass);
					var _navList = $('<ul></ul>').appendTo(_navHolder);
					var _slideList = $('<ul></ul>').addClass(_listClass);
					_target.empty().append(_slideList);
					_target.append(_navHolder);
					
					var _currentIndex = 0;

					// gallery create structure
					var _xmlItems = $('item',_galleryData);
					_xmlItems.each(function(_ind){
						var _menuItem = $('<li><a href="#"></a></li>');
						var _curItem = $(this);
						_menuItem.find('a').html(_curItem.find('id').text());
						loadSection(_ind);
						if(_ind == _currentIndex) {
							_menuItem.addClass(_activeClass);
							_slideList.find('li[rel="'+_ind+'"]').addClass(_activeClass).fadeIn(_fadeSpeed);
						}
						_navList.append(_menuItem);
					});

					// load section function
					function loadSection(_num) {
						if(_slideList.find('li[rel="'+_num+'"]').length>0) return;
						var _curItem = _xmlItems.eq(_num);
						var _slideItem = $('<li><img /><span><a href="#"></a></span></li>');
						_slideItem.find('a').attr('href',_curItem.find('link-source').text());
						_slideItem.find('a').html(_curItem.find('link-text').text());
						_slideItem.find('img').attr('src',_curItem.find('image-source').text());
						_slideItem.find('img').attr('alt','');
						_slideItem.attr('rel',_num);
						_slideItem.find('span').addClass('btn-more');
						_slideList.append(_slideItem);
					}

					function sectionLoaded(_num) {
						if(_slideList.find('li[rel="'+_num+'"]').length>0) return true;
						return false;
					}

					var _gal = _gallery.gallery({
						listOfSlides: '.gallery>li',
						autoRotation: 7000,
						switcher:'.paging>ul>li',
						duration: _fadeSpeed,
						effect: true,
						IE: true
					})
					_gallery.mouseenter(function(){
						_gal.stop();
					}).mouseleave(function(){
						_gal.play();
					})

				},
				error: function() {
//					alert('AJAX Error!');
				}
			});
		}
	});
	//bottom gallery parser
	$('div.gallery2').each(function(){
		var _fadeSpeed = 650;
		var _gallery = $(this);
		var _target = $('.hold', _gallery);
		var _activeClass = 'active';

		var _xmlSource = _gallery.attr('title');
		_gallery.attr('title','');

		if(_xmlSource && _xmlSource.length>0) {
			$.ajax({
				url: _xmlSource,
				dataType: (jQuery.browser.msie) ? 'text' : 'xml',
				success: function(xmlData){
					var _galleryData;
					if ( typeof xmlData == 'string') {
						_galleryData = new ActiveXObject( 'Microsoft.XMLDOM');
						_galleryData.async = false;
						_galleryData.loadXML(xmlData);
					} else {
						_galleryData = xmlData;
					}

					// gallery structure
					var _slideList = $('<ul></ul>');
					_target.empty().append(_slideList);
					
					var _currentIndex = 0;

					// gallery create structure
					var _xmlItems = $('item',_galleryData);
					_xmlItems.each(function(_ind){
						var _curItem = $(this);
						loadSection(_ind);
						if(_ind == _currentIndex) {
							_slideList.find('li[rel="'+_ind+'"]').addClass(_activeClass);
						}
					});

					// load section function
					function loadSection(_num) {
						if(_slideList.find('li[rel="'+_num+'"]').length>0) return;
						var _curItem = _xmlItems.eq(_num);
						var _slideItem = $('<li></li>');
						var _imgHold = $('<div/>').addClass('image').appendTo(_slideItem).append('<a href="#"><img /></a>')
						_imgHold.find('a').attr('href', _curItem.find('link-source').text())
						_imgHold.find('img').attr('src',_curItem.find('image-source').text()).attr('alt','');
						$('<h3/>').appendTo(_slideItem).html(_curItem.find('item-title').text());
						$('<p/>').appendTo(_slideItem).html(_curItem.find('text').text());
						var _link = $('<span><a href="#"></a></span>').appendTo(_slideItem);
						_link.find('a').attr('href', _curItem.find('link-source').text()).html(_curItem.find('link-text').text())
						_slideItem.attr('rel',_num);
						_slideList.append(_slideItem);
					}

					function sectionLoaded(_num) {
						if(_slideList.find('li[rel="'+_num+'"]').length>0) return true;
						return false;
					}

					var _gal = _gallery.cyclingGall({
						slideEl: '.hold>ul',
						slides: '>li',
						autoRotation: 7000
					})

				},
				error: function() {
//					alert('AJAX Error!');
				}
			});
		}
	});
	//vertical gallery parser
	$('div.vgal-hold').each(function(){
		var _fadeSpeed = 650;
		var _gallery = $(this);
		var _target = $('.hold', _gallery);
		var _activeClass = 'active';

		var _xmlSource = _gallery.attr('title');
		_gallery.attr('title','');

		if(_xmlSource && _xmlSource.length>0) {
			$.ajax({
				url: _xmlSource,
				dataType: (jQuery.browser.msie) ? 'text' : 'xml',
				success: function(xmlData){
					var _galleryData;
					if ( typeof xmlData == 'string') {
						_galleryData = new ActiveXObject( 'Microsoft.XMLDOM');
						_galleryData.async = false;
						_galleryData.loadXML(xmlData);
					} else {
						_galleryData = xmlData;
					}

					// gallery structure
					var _slideList = $('<ul></ul>');
					_target.empty().append(_slideList);
					
					var _currentIndex = 0;

					// gallery create structure
					var _xmlItems = $('item',_galleryData);
					_xmlItems.each(function(_ind){
						var _curItem = $(this);
						loadSection(_ind);
						if(_ind == _currentIndex) {
							_slideList.find('li[rel="'+_ind+'"]').addClass(_activeClass);
						}
					});

					// load section function
					function loadSection(_num) {
						if(_slideList.find('li[rel="'+_num+'"]').length>0) return;
						var _curItem = _xmlItems.eq(_num);
						var _slideItem = $('<li><div></div></li>');
						var _box = _slideItem.find('div').addClass('box');
						var _imgHold = $('<div/>').addClass('image').appendTo(_box).append('<a href="#"><img /></a>')
						_imgHold.find('a').attr('href', _curItem.find('link-source').text())
						_imgHold.find('img').attr('src',_curItem.find('image-source').text()).attr('alt','');
						$('<h3/>').appendTo(_box).html(_curItem.find('item-title').text());
						$('<p/>').appendTo(_box).html(_curItem.find('text').text());
						var _link = $('<span><a href="#"></a></span>').appendTo(_box);
						_link.find('a').attr('href', _curItem.find('link-source').text()).html(_curItem.find('link-text').text())
						_slideItem.attr('rel',_num);
						_slideList.append(_slideItem);
					}

					function sectionLoaded(_num) {
						if(_slideList.find('li[rel="'+_num+'"]').length>0) return true;
						return false;
					}

					var _galvert = _gallery.cyclingGall({
						slideEl: '.hold>ul',
						slides: '>li',
						autoRotation: 7000,
						direction: true
					})

				},
				error: function() {
//					alert('AJAX Error!');
				}
			});
		}
	});
	//cite galleyr parser
	$('div.cite-gallery').each(function(){
		var _fadeSpeed = 650;
		var _gallery = $(this);
		var _target = $('.hold', _gallery);
		var _listClass = 'cite-gal'
		var _activeClass = 'active';

		var _xmlSource = _gallery.attr('title');
		_gallery.attr('title','');

		if(_xmlSource && _xmlSource.length>0) {
			$.ajax({
				url: _xmlSource,
				dataType: (jQuery.browser.msie) ? 'text' : 'xml',
				success: function(xmlData){
					var _galleryData;
					if ( typeof xmlData == 'string') {
						_galleryData = new ActiveXObject( 'Microsoft.XMLDOM');
						_galleryData.async = false;
						_galleryData.loadXML(xmlData);
					} else {
						_galleryData = xmlData;
					}

					// gallery structure
					var _slideList = $('<ul></ul>');
					var _slideListHolder = $('<div />').addClass(_listClass).append(_slideList);
					_target.empty().append(_slideListHolder);
					
					var _currentIndex = 0;

					// gallery create structure
					var _xmlItems = $('item',_galleryData);
					_xmlItems.each(function(_ind){
						var _curItem = $(this);
						loadSection(_ind);
						if(_ind == _currentIndex) {
							_slideList.find('li[rel="'+_ind+'"]').addClass(_activeClass);
						}
					});

					// load section function
					function loadSection(_num) {
						if(_slideList.find('li[rel="'+_num+'"]').length>0) return;
						var _curItem = _xmlItems.eq(_num);
						var _slideItem = $('<li><blockquote></blockquote></li>');
						var _box = _slideItem.find('blockquote');
						$('<q/>').appendTo(_box).html(_curItem.find('cite').text());
						$('<cite/>').appendTo(_box).html('- '+ _curItem.find('author').text());
						var _link1 = $('<p><a href="#"></a></p>').appendTo(_slideItem).find('a').attr('href', _curItem.find('link1-source').text()).html(_curItem.find('link1-text').text());
						var _link2 = $('<p><a href="#"></a></p>').appendTo(_slideItem).find('a').attr('href', _curItem.find('link2-source').text()).html(_curItem.find('link2-text').text());
						_slideItem.attr('rel',_num);
						_slideList.append(_slideItem);
					}

					function sectionLoaded(_num) {
						if(_slideList.find('li[rel="'+_num+'"]').length>0) return true;
						return false;
					}

					var _gall1 = _gallery.cyclingGall({
						slideEl: '.hold>.cite-gal>ul',
						slides: '>li',
						autoRotation: 7000,
						changeHeight: '.hold'
					})

				},
				error: function() {
//					alert('AJAX Error!');
				}
			});
		}
	});
}

$.fn.cyclingGall = function(_opt){
	var _options = $.extend({
		slideEl: '>ul',
		slides: '>li',
		switcher: false,
		autoSlide: 7000,
		duration: 700,
		btPrev: '.btn-prev, .prev, .prev-btn, .btn-up, .up-btn',
		btNext: '.btn-next, .next, .next-btn, .btn-down, .down-btn',
		direction: false,
		activeClass: 'active',
		changeHeight: false
	}, _opt);
	var _enabledClass = 'slide-enabled';

	return this.each(function(){
		if ($(this).hasClass(_enabledClass)) return;
		var _holder = $(this),
			_animSpeed = _options.duration,
			_duration = _options.autoSlide,
			_slideEl = $(_options.slideEl, _holder),
			_slides = $(_options.slides, _slideEl),
			_btNext = $(_options.btNext, _holder),
			_btPrev = $(_options.btPrev, _holder),
			_switcher = _options.switcher ? $(_options.switcher, _holder) : false,
			_duration = _options.autoSlide,
			_activeClass = _options.activeClass,
			_direction = _options.direction,
			_frame = _options.changeHeight ? $(_options.changeHeight, _holder) : false;
		var _step = _slides.eq(0).outerWidth(true);
		var _active = 0;
		var _t;
		
		if (!_direction){
			var _offset = _step * (_slides.length);
			_slideEl.css('margin-left', -_offset);
			_slides.clone().appendTo(_slideEl);
			_slides.clone().appendTo(_slideEl);
		}
		else {
			_step = _slides.eq(0).outerHeight(true);
			var _offset = _step * (_slides.length);
			_slideEl.css('margin-top', -_offset);
			_slides.clone().appendTo(_slideEl);
			_slides.clone().appendTo(_slideEl);
		}
		if (_frame){
			if (_frame.height() != _slides.eq(_active).height()) _frame.css({
				'height': _slides.eq(_active).height()
			})
		}
			
		function changeSlide(_to){
			if (_switcher) {
				_switcher.eq(_active).removeClass(_activeClass);
				if (_to < 0) _switcher.eq(_slides.length-1).addClass(_activeClass);
				else if (_to > _slides.length-1) _switcher.eq(0).addClass(_activeClass);
				else _switcher.eq(_to).addClass(_activeClass);
			}
			if (_frame){
				var _toSl = _to;
				if (_to < 0) _toSl = _slides.length-1
				else if (_to > _slides.length-1) _toSl = 0;
				if (_frame.height() != _slides.eq(_toSl).height()) _frame.animate({
					'height': _slides.eq(_toSl).height()
				}, _animSpeed)
			}
			
			if (_direction){
				_slideEl.animate({
					'margin-top': -_step*_to - _offset
				}, _animSpeed, function(){
					_active = _to;
					if (_active < 0) {
						_active = _slides.length-1;
						_slideEl.css('margin-top',-_offset - _step*_active)
					}
					else if (_active > _slides.length-1) {
						_active = 0;
						_slideEl.css('margin-top',-_offset)
					}
				})
			}
			else {
				_slideEl.animate({
					'margin-left': -_step*_to - _offset
				}, _animSpeed, function(){
					_active = _to;
					if (_active < 0) {
						_active = _slides.length-1;
						_slideEl.css('margin-left',-_offset - _step*_active)
					}
					else if (_active > _slides.length-1) {
						_active = 0;
						_slideEl.css('margin-left',-_offset)
					}
				})
			}
		}
		
		if (_duration) {
			_t = setInterval(function(){
				changeSlide(_active+1)
			}, _duration)
			
			_holder.mouseenter(function(){
				if (_t) clearInterval(_t);
			}).mouseleave(function(){
				if (_t) clearInterval(_t);
				_t = setInterval(function(){
					changeSlide(_active+1)
				}, _duration)
			})
		}
		
		if (_switcher) {
			_switcher.click(function(){
				if (!_slideEl.is(':animated')) {
					changeSlide(_switcher.index($(this)));
				}
				return false;
			})
		}
		
		if (_btNext) {
			_btNext.click(function(){
				if (!_slideEl.is(':animated')) {
					changeSlide(_active+1);
				}
				return false;
			})
		}
		if (_btPrev) {
			_btPrev.click(function(){
				if (!_slideEl.is(':animated')) {
					changeSlide(_active-1);
				}
				return false;
			})
		}
	});
}

;(function($) {
	$.fn.gallery = function(options) { return new Gallery(this.get(0), options); };
	function Gallery(context, options) { this.init(context, options); };
	Gallery.prototype = {
		options:{},
		init: function (context, options){
			this.options = $.extend({
				infinite: false,								//true = infinite gallery
				duration: 700,									//duration of effect it 1000 = 1sec
				slideElement: 1,								//number of elements for a slide
				autoRotation: false,							//false = option is disabled; 1000 = 1sec
				effect: false,									//false = slide; true = fade
				listOfSlides: 'ul > li',						//elements galleries
				switcher: false,								//false = option is disabled; 'ul > li' = elements switcher
				disableBtn: false,								//false = option is disabled; 'hidden' = class adds an buttons "prev" and "next"
				nextBtn: 'a.link-next, a.btn-next, a.next, a.next-link',		//button "next"
				prevBtn: 'a.link-prev, a.btn-prev, a.prev, a.prev-link',		//button "prev"
				circle: true,									//true = cyclic gallery; false = not cyclic gallery
				direction: false,								//false = horizontal; true = vertical
				event: 'click',									//event for the buttons and switcher
				IE: false,										//forced off effect it "fade" in IE
				autoHeight: false								//auto height on fade
			}, options || {});
			var _el = $(context).find(this.options.listOfSlides);
			if (this.options.effect) this.list = _el;
			else this.list = _el.parent();
			if(this.options.switcher) this.switcher = $(context).find(this.options.switcher);
			this.nextBtn = $(context).find(this.options.nextBtn);
			this.prevBtn = $(context).find(this.options.prevBtn);
			this.count = _el.index(_el.filter(':last'));
			
			if (this.options.switcher) this.active = this.switcher.index(this.switcher.filter('.active:eq(0)'));
			else this.active = _el.index(_el.filter('.active:eq(0)'));
			if (this.active < 0) this.active = 0;
			this.last = this.active;
			
			this.woh = _el.outerWidth(true);
			if (!this.options.direction) this.installDirections(this.list.parent().width());
			else {
				this.woh = _el.outerHeight(true);
				this.installDirections(this.list.parent().height());
			}
			
			if (!this.options.effect) {
				this.rew = this.count - this.wrapHolderW + 1;
				if (!this.options.direction) this.anim = '{marginLeft: -(this.woh * this.active)}';
				else this.anim = '{marginTop: -(this.woh * this.active)}';
				eval('this.list.css('+this.anim+')');
			}
			else {
				this.rew = this.count;
				this.list.css({opacity: 0}).removeClass('active').eq(this.active).addClass('active').css({opacity: 1}).css('opacity', 'auto');
				if(this.options.switcher) this.switcher.removeClass('active').eq(this.active).addClass('active');
				if(this.options.autoHeight) this.list.parent().css({height: this.list.eq(this.active).outerHeight()});
			}
			this.flag = true;
			if (this.options.infinite){
				this.count++;
				this.active += this.count;
				this.list.append(_el.clone());
				this.list.append(_el.clone());
				eval('this.list.css('+this.anim+')');
			}
			
			this.initEvent(this, this.nextBtn, true);
			this.initEvent(this, this.prevBtn, false);
			if (this.options.disableBtn) this.initDisableBtn();
			if (this.options.autoRotation) this.runTimer(this);
			if (this.options.switcher) this.initEventSwitcher(this, this.switcher);
		},
		initDisableBtn: function(){
			this.prevBtn.removeClass('prev-'+this.options.disableBtn);
			this.nextBtn.removeClass('next-'+this.options.disableBtn);
			if (this.active == 0 || this.count+1 == this.wrapHolderW) this.prevBtn.addClass('prev-'+this.options.disableBtn);
			if (this.active == 0 && this.count == 1 || this.count+1 <= this.wrapHolderW) this.nextBtn.addClass('next-'+this.options.disableBtn);
			if (this.active == this.rew) this.nextBtn.addClass('next-'+this.options.disableBtn);
		},
		installDirections: function(temp){
			this.wrapHolderW = Math.ceil(temp / this.woh);
			if (((this.wrapHolderW - 1) * this.woh + this.woh / 2) > temp) this.wrapHolderW--;
		},
		fadeElement: function(){
			if ($.browser.msie && this.options.IE){
				this.list.eq(this.last).css({opacity:0});
				this.list.removeClass('active').eq(this.active).addClass('active').css({opacity:'auto'});
			}
			else{
				this.list.eq(this.last).animate({opacity:0}, {queue:false, duration: this.options.duration});
				this.list.removeClass('active').eq(this.active).addClass('active').animate({
					opacity:1
				}, {queue:false, duration: this.options.duration, complete: function(){
					$(this).css('opacity','auto');
				}});
			}
			if(this.options.autoHeight) this.list.parent().animate({height: this.list.eq(this.active).outerHeight()}, {queue:false, duration: this.options.duration});
			if (this.options.switcher) this.switcher.removeClass('active').eq(this.active).addClass('active');
			this.last = this.active;
		},
		scrollElement: function($this){
			if (!$this.options.infinite) eval('$this.list.animate('+$this.anim+', {queue:false, duration: $this.options.duration});');
			else eval('$this.list.animate('+$this.anim+', $this.options.duration, function(){ $this.flag = true });');
			if ($this.options.switcher) $this.switcher.removeClass('active').eq($this.active / $this.options.slideElement).addClass('active');
		},
		runTimer: function($this){
			if($this._t) clearTimeout($this._t);
			$this._t = setInterval(function(){
				if ($this.options.infinite) $this.flag = false;
				$this.toPrepare($this, true);
			}, this.options.autoRotation);
		},
		initEventSwitcher: function($this, el){
			el.bind($this.options.event, function(){
				$this.active = $this.switcher.index($(this)) * $this.options.slideElement;
				if($this._t) clearTimeout($this._t);
				if ($this.options.disableBtn) $this.initDisableBtn();
				if (!$this.options.effect) $this.scrollElement($this);
				else $this.fadeElement();
				if ($this.options.autoRotation) $this.runTimer($this);
				return false;
			});
		},
		initEvent: function($this, addEventEl, dir){
			addEventEl.bind($this.options.event, function(){
				if ($this.flag){
					if ($this.options.infinite) $this.flag = false;
					if($this._t) clearTimeout($this._t);
					$this.toPrepare($this, dir);
					if ($this.options.autoRotation) $this.runTimer($this);
				}
				return false;
			});
		},
		toPrepare: function($this, side){
			if (!$this.options.infinite){
				if (($this.active == $this.rew) && $this.options.circle && side) $this.active = -$this.options.slideElement;
				if (($this.active == 0) && $this.options.circle && !side) $this.active = $this.rew + $this.options.slideElement;
				for (var i = 0; i < $this.options.slideElement; i++){
					if (side) { if ($this.active + 1 <= $this.rew) $this.active++; }
					else { if ($this.active - 1 >= 0) $this.active--; }
				};
			}
			else{
				if ($this.active >= $this.count + $this.count && side) $this.active -= $this.count;
				if ($this.active <= $this.count-1 && !side) $this.active += $this.count;
				eval('$this.list.css('+$this.anim+')');
				if (side) $this.active += $this.options.slideElement;
				else $this.active -= $this.options.slideElement;
			}
			if (this.options.disableBtn) this.initDisableBtn();
			if (!$this.options.effect) $this.scrollElement($this);
			else $this.fadeElement();
		},
		stop: function(){
			if (this._t) clearTimeout(this._t);
		},
		play: function(){
			if (this._t) clearTimeout(this._t);
			if (this.options.autoRotation) this.runTimer(this);
		}
	}
}(jQuery));

function initAccordion(){
	$('.accordion').each(function(){
		var _acc = $(this);
		var _openers = $(".opener", _acc);
		$('.accordion').accordion({
			header: '.opener',
			active: _openers.index(_openers.filter('.selected')),
			icons: false
		})
	})
	
}

// jquery tabs plugin
jQuery.fn.jqueryTabs = function(_options){
	// default options
	var _options = jQuery.extend({
		addToParent:false,
		holdHeight:false,
		activeClass:'active',
		tabLinks:'a.tab',
		fadeSpeed:0,
		event:'click'
	},_options);

	return this.each(function(){
		var _holder = jQuery(this);
		var _fadeSpeed = _options.fadeSpeed;
		var _activeClass = _options.activeClass;
		var _addToParent = _options.addToParent;
		var _holdHeight = _options.holdHeight;
		var _tabLinks = jQuery(_options.tabLinks, _holder);
		var _tabset = (_addToParent ? _tabLinks.parent() : _tabLinks);
		var _event = _options.event;
		var _animating = false;

		// tabs init
		_tabLinks.each(function(){
			var _tmpLink = jQuery(this);
			var _tmpTab = jQuery(_tmpLink.attr('href'));
			var _classItem = (_addToParent ? _tmpLink.parent() : _tmpLink);
			if(_tmpTab.length) {
				if(_classItem.hasClass(_activeClass)) _tmpTab.show();
				else _tmpTab.hide();
			}
		});

		// tab switcher
		function switchTab(_switcher) {
			if(!_animating) {
				var _link = jQuery(_switcher);
				var _newItem = (_addToParent ? _link.parent() : _link);
				var _newTab = jQuery(_link.attr('href'));
				if(_newItem.hasClass(_activeClass)) return;

				var _oldItem = jQuery(_addToParent ? _tabset : _tabLinks).filter('.'+_activeClass);
				var _oldTab = jQuery(jQuery(_addToParent ? _oldItem.children('a') : _oldItem).attr('href'));
				if(_newTab.length) {
					_animating = true;
					if(_oldItem.length) {
						_newItem.addClass(_activeClass);
						_oldItem.removeClass(_activeClass);

						var _parent = _oldTab.parent();
						if(_holdHeight) _parent.css({height:_parent.height()});

						_oldTab.fadeOut(_fadeSpeed,function(){
							_newTab.fadeIn(_fadeSpeed,function(){
								_animating = false;
							});
							if(_holdHeight) _parent.css({height:'auto'});
						});
					} else {
						_newItem.addClass(_activeClass);
						_newTab.fadeIn(_fadeSpeed,function(){
							_animating = false;
						});
					}
				}
			}
		}

		// control
		_tabLinks.each(function(){
			jQuery(this).bind(_event,function(){
				switchTab(this);
				return false;
			});
		});
	});
}

function initPage()
{
	clearFormFields({
		clearInputs: true,
		clearTextareas: true,
		passwordFieldText: true,
		addClassFocus: "focus",
		filterClass: "default"
	});
}
function clearFormFields(o)
{
	if (o.clearInputs == null) o.clearInputs = true;
	if (o.clearTextareas == null) o.clearTextareas = true;
	if (o.passwordFieldText == null) o.passwordFieldText = false;
	if (o.addClassFocus == null) o.addClassFocus = false;
	if (!o.filter) o.filter = "default";
	if(o.clearInputs) {
		var inputs = document.getElementsByTagName("input");
		for (var i = 0; i < inputs.length; i++ ) {
			if((inputs[i].type == "text" || inputs[i].type == "password") && inputs[i].className.indexOf(o.filterClass)) {
				inputs[i].valueHtml = inputs[i].value;
				inputs[i].onfocus = function ()	{
					if(this.valueHtml == this.value) this.value = "";
					if(this.fake) {
						inputsSwap(this, this.previousSibling);
						this.previousSibling.focus();
					}
					if(o.addClassFocus && !this.fake) {
						this.className += " " + o.addClassFocus;
						this.parentNode.className += " parent-" + o.addClassFocus;
					}
				}
				inputs[i].onblur = function () {
					if(this.value == "") {
						this.value = this.valueHtml;
						if(o.passwordFieldText && this.type == "password") inputsSwap(this, this.nextSibling);
					}
					if(o.addClassFocus) {
						this.className = this.className.replace(o.addClassFocus, "");
						this.parentNode.className = this.parentNode.className.replace("parent-"+o.addClassFocus, "");
					}
				}
				if(o.passwordFieldText && inputs[i].type == "password") {
					var fakeInput = document.createElement("input");
					fakeInput.type = "text";
					fakeInput.value = inputs[i].value;
					fakeInput.className = inputs[i].className;
					fakeInput.fake = true;
					inputs[i].parentNode.insertBefore(fakeInput, inputs[i].nextSibling);
					inputsSwap(inputs[i], null);
				}
			}
		}
	}
	if(o.clearTextareas) {
		var textareas = document.getElementsByTagName("textarea");
		for(var i=0; i<textareas.length; i++) {
			if(textareas[i].className.indexOf(o.filterClass)) {
				textareas[i].valueHtml = textareas[i].value;
				textareas[i].onfocus = function() {
					if(this.value == this.valueHtml) this.value = "";
					if(o.addClassFocus) {
						this.className += " " + o.addClassFocus;
						this.parentNode.className += " parent-" + o.addClassFocus;
					}
				}
				textareas[i].onblur = function() {
					if(this.value == "") this.value = this.valueHtml;
					if(o.addClassFocus) {
						this.className = this.className.replace(o.addClassFocus, "");
						this.parentNode.className = this.parentNode.className.replace("parent-"+o.addClassFocus, "");
					}
				}
			}
		}
	}
	function inputsSwap(el, el2) {
		if(el) el.style.display = "none";
		if(el2) el2.style.display = "inline";
	}
}


/*!
 * jQuery UI 1.8.4
 *
 * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * http://docs.jquery.com/UI
 */
(function(c,j){function k(a){return!c(a).parents().andSelf().filter(function(){return c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this)}).length}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.4",plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&a.element[0].parentNode)for(var e=0;e<b.length;e++)a.options[b[e][0]]&&b[e][1].apply(a.element,d)}},contains:function(a,
b){return document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(a,b){if(c(a).css("overflow")==="hidden")return false;b=b&&b==="left"?"scrollLeft":"scrollTop";var d=false;if(a[b]>0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a<b+d},isOver:function(a,b,d,e,h,i){return c.ui.isOverAxis(a,d,h)&&c.ui.isOverAxis(b,e,i)},keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,
CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});c.fn.extend({_focus:c.fn.focus,focus:function(a,b){return typeof a==="number"?this.each(function(){var d=this;setTimeout(function(){c(d).focus();b&&b.call(d)},a)}):this._focus.apply(this,arguments)},enableSelection:function(){return this.attr("unselectable",
"off").css("MozUserSelect","")},disableSelection:function(){return this.attr("unselectable","on").css("MozUserSelect","none")},scrollParent:function(){var a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(c.curCSS(this,"position",1))&&/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(c.curCSS(this,
"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!a.length?c(document):a},zIndex:function(a){if(a!==j)return this.css("zIndex",a);if(this.length){a=c(this[0]);for(var b;a.length&&a[0]!==document;){b=a.css("position");if(b==="absolute"||b==="relative"||b==="fixed"){b=parseInt(a.css("zIndex"));if(!isNaN(b)&&b!=0)return b}a=a.parent()}}return 0}});c.each(["Width","Height"],function(a,b){function d(f,g,l,m){c.each(e,function(){g-=
parseFloat(c.curCSS(f,"padding"+this,true))||0;if(l)g-=parseFloat(c.curCSS(f,"border"+this+"Width",true))||0;if(m)g-=parseFloat(c.curCSS(f,"margin"+this,true))||0});return g}var e=b==="Width"?["Left","Right"]:["Top","Bottom"],h=b.toLowerCase(),i={innerWidth:c.fn.innerWidth,innerHeight:c.fn.innerHeight,outerWidth:c.fn.outerWidth,outerHeight:c.fn.outerHeight};c.fn["inner"+b]=function(f){if(f===j)return i["inner"+b].call(this);return this.each(function(){c.style(this,h,d(this,f)+"px")})};c.fn["outer"+
b]=function(f,g){if(typeof f!=="number")return i["outer"+b].call(this,f);return this.each(function(){c.style(this,h,d(this,f,true,g)+"px")})}});c.extend(c.expr[":"],{data:function(a,b,d){return!!c.data(a,d[3])},focusable:function(a){var b=a.nodeName.toLowerCase(),d=c.attr(a,"tabindex");if("area"===b){b=a.parentNode;d=b.name;if(!a.href||!d||b.nodeName.toLowerCase()!=="map")return false;a=c("img[usemap=#"+d+"]")[0];return!!a&&k(a)}return(/input|select|textarea|button|object/.test(b)?!a.disabled:"a"==
b?a.href||!isNaN(d):!isNaN(d))&&k(a)},tabbable:function(a){var b=c.attr(a,"tabindex");return(isNaN(b)||b>=0)&&c(a).is(":focusable")}})}})(jQuery);
;/*!
 * jQuery UI Widget 1.8.4
 *
 * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * http://docs.jquery.com/UI/Widget
 */
(function(b,j){var k=b.fn.remove;b.fn.remove=function(a,c){return this.each(function(){if(!c)if(!a||b.filter(a,[this]).length)b("*",this).add([this]).each(function(){b(this).triggerHandler("remove")});return k.call(b(this),a,c)})};b.widget=function(a,c,d){var e=a.split(".")[0],f;a=a.split(".")[1];f=e+"-"+a;if(!d){d=c;c=b.Widget}b.expr[":"][f]=function(h){return!!b.data(h,a)};b[e]=b[e]||{};b[e][a]=function(h,g){arguments.length&&this._createWidget(h,g)};c=new c;c.options=b.extend(true,{},c.options);
b[e][a].prototype=b.extend(true,c,{namespace:e,widgetName:a,widgetEventPrefix:b[e][a].prototype.widgetEventPrefix||a,widgetBaseClass:f},d);b.widget.bridge(a,b[e][a])};b.widget.bridge=function(a,c){b.fn[a]=function(d){var e=typeof d==="string",f=Array.prototype.slice.call(arguments,1),h=this;d=!e&&f.length?b.extend.apply(null,[true,d].concat(f)):d;if(e&&d.substring(0,1)==="_")return h;e?this.each(function(){var g=b.data(this,a),i=g&&b.isFunction(g[d])?g[d].apply(g,f):g;if(i!==g&&i!==j){h=i;return false}}):
this.each(function(){var g=b.data(this,a);if(g){d&&g.option(d);g._init()}else b.data(this,a,new c(d,this))});return h}};b.Widget=function(a,c){arguments.length&&this._createWidget(a,c)};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(a,c){b.data(c,this.widgetName,this);this.element=b(c);this.options=b.extend(true,{},this.options,b.metadata&&b.metadata.get(c)[this.widgetName],a);var d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()});
this._create();this._init()},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(a,c){var d=a,e=this;if(arguments.length===0)return b.extend({},e.options);if(typeof a==="string"){if(c===j)return this.options[a];d={};d[a]=c}b.each(d,function(f,
h){e._setOption(f,h)});return e},_setOption:function(a,c){this.options[a]=c;if(a==="disabled")this.widget()[c?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",c);return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(a,c,d){var e=this.options[a];c=b.Event(c);c.type=(a===this.widgetEventPrefix?a:this.widgetEventPrefix+a).toLowerCase();d=d||{};if(c.originalEvent){a=
b.event.props.length;for(var f;a;){f=b.event.props[--a];c[f]=c.originalEvent[f]}}this.element.trigger(c,d);return!(b.isFunction(e)&&e.call(this.element[0],c,d)===false||c.isDefaultPrevented())}}})(jQuery);
;/*
 * jQuery UI Accordion 1.8.4
 *
 * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT or GPL Version 2 licenses.
 * http://jquery.org/license
 *
 * http://docs.jquery.com/UI/Accordion
 *
 * Depends:
 *	jquery.ui.core.js
 *	jquery.ui.widget.js
 */
(function(c){c.widget("ui.accordion",{options:{active:0,animated:"slide",autoHeight:false,clearStyle:false,collapsible:false,event:"click",fillSpace:false,header:"> li > :first-child,> :not(li):even",icons:{header:"ui-icon-triangle-1-e",headerSelected:"ui-icon-triangle-1-s"},navigation:false,navigationFilter:function(){return this.href.toLowerCase()===location.href.toLowerCase()}},_create:function(){var a=this,b=a.options;a.running=0;a.element.addClass("ui-accordion ui-widget ui-helper-reset").children("li").addClass("ui-accordion-li-fix");
a.headers=a.element.find(b.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion",function(){b.disabled||c(this).addClass("ui-state-hover")}).bind("mouseleave.accordion",function(){b.disabled||c(this).removeClass("ui-state-hover")}).bind("focus.accordion",function(){b.disabled||c(this).addClass("ui-state-focus")}).bind("blur.accordion",function(){b.disabled||c(this).removeClass("ui-state-focus")});a.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom");
if(b.navigation){var d=a.element.find("a").filter(b.navigationFilter).eq(0);if(d.length){var f=d.closest(".ui-accordion-header");a.active=f.length?f:d.closest(".ui-accordion-content").prev()}}a.active=a._findActive(a.active||b.active).addClass("ui-state-default ui-state-active").toggleClass("ui-corner-all ui-corner-top");a.active.next().addClass("ui-accordion-content-active");a._createIcons();a.resize();a.element.attr("role","tablist");a.headers.attr("role","tab").bind("keydown.accordion",function(g){return a._keydown(g)}).next().attr("role",
"tabpanel");a.headers.not(a.active||"").attr({"aria-expanded":"false",tabIndex:-1}).next().hide();a.active.length?a.active.attr({"aria-expanded":"true",tabIndex:0}):a.headers.eq(0).attr("tabIndex",0);c.browser.safari||a.headers.find("a").attr("tabIndex",-1);b.event&&a.headers.bind(b.event.split(" ").join(".accordion ")+".accordion",function(g){a._clickHandler.call(a,g,this);g.preventDefault()})},_createIcons:function(){var a=this.options;if(a.icons){c("<span></span>").addClass("ui-icon "+a.icons.header).prependTo(this.headers);
this.active.children(".ui-icon").toggleClass(a.icons.header).toggleClass(a.icons.headerSelected);this.element.addClass("ui-accordion-icons")}},_destroyIcons:function(){this.headers.children(".ui-icon").remove();this.element.removeClass("ui-accordion-icons")},destroy:function(){var a=this.options;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role");this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-accordion-disabled ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("tabIndex");
this.headers.find("a").removeAttr("tabIndex");this._destroyIcons();var b=this.headers.next().css("display","").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-accordion-disabled ui-state-disabled");if(a.autoHeight||a.fillHeight)b.css("height","");return c.Widget.prototype.destroy.call(this)},_setOption:function(a,b){c.Widget.prototype._setOption.apply(this,arguments);a=="active"&&this.activate(b);if(a=="icons"){this._destroyIcons();
b&&this._createIcons()}if(a=="disabled")this.headers.add(this.headers.next())[b?"addClass":"removeClass"]("ui-accordion-disabled ui-state-disabled")},_keydown:function(a){if(!(this.options.disabled||a.altKey||a.ctrlKey)){var b=c.ui.keyCode,d=this.headers.length,f=this.headers.index(a.target),g=false;switch(a.keyCode){case b.RIGHT:case b.DOWN:g=this.headers[(f+1)%d];break;case b.LEFT:case b.UP:g=this.headers[(f-1+d)%d];break;case b.SPACE:case b.ENTER:this._clickHandler({target:a.target},a.target);
a.preventDefault()}if(g){c(a.target).attr("tabIndex",-1);c(g).attr("tabIndex",0);g.focus();return false}return true}},resize:function(){var a=this.options,b;if(a.fillSpace){if(c.browser.msie){var d=this.element.parent().css("overflow");this.element.parent().css("overflow","hidden")}b=this.element.parent().height();c.browser.msie&&this.element.parent().css("overflow",d);this.headers.each(function(){b-=c(this).outerHeight(true)});this.headers.next().each(function(){c(this).height(Math.max(0,b-c(this).innerHeight()+
c(this).height()))}).css("overflow","auto")}else if(a.autoHeight){b=0;this.headers.next().each(function(){b=Math.max(b,c(this).height("").height())}).height(b)}return this},activate:function(a){this.options.active=a;a=this._findActive(a)[0];this._clickHandler({target:a},a);return this},_findActive:function(a){return a?typeof a==="number"?this.headers.filter(":eq("+a+")"):this.headers.not(this.headers.not(a)):a===false?c([]):this.headers.filter(":eq(0)")},_clickHandler:function(a,b){var d=this.options;
if(!d.disabled)if(a.target){a=c(a.currentTarget||b);b=a[0]===this.active[0];d.active=d.collapsible&&b?false:this.headers.index(a);if(!(this.running||!d.collapsible&&b)){this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);if(!b){a.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").children(".ui-icon").removeClass(d.icons.header).addClass(d.icons.headerSelected);
a.next().addClass("ui-accordion-content-active")}h=a.next();f=this.active.next();g={options:d,newHeader:b&&d.collapsible?c([]):a,oldHeader:this.active,newContent:b&&d.collapsible?c([]):h,oldContent:f};d=this.headers.index(this.active[0])>this.headers.index(a[0]);this.active=b?c([]):a;this._toggle(h,f,g,b,d)}}else if(d.collapsible){this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);
this.active.next().addClass("ui-accordion-content-active");var f=this.active.next(),g={options:d,newHeader:c([]),oldHeader:d.active,newContent:c([]),oldContent:f},h=this.active=c([]);this._toggle(h,f,g)}},_toggle:function(a,b,d,f,g){var h=this,e=h.options;h.toShow=a;h.toHide=b;h.data=d;var j=function(){if(h)return h._completed.apply(h,arguments)};h._trigger("changestart",null,h.data);h.running=b.size()===0?a.size():b.size();if(e.animated){d={};d=e.collapsible&&f?{toShow:c([]),toHide:b,complete:j,
down:g,autoHeight:e.autoHeight||e.fillSpace}:{toShow:a,toHide:b,complete:j,down:g,autoHeight:e.autoHeight||e.fillSpace};if(!e.proxied)e.proxied=e.animated;if(!e.proxiedDuration)e.proxiedDuration=e.duration;e.animated=c.isFunction(e.proxied)?e.proxied(d):e.proxied;e.duration=c.isFunction(e.proxiedDuration)?e.proxiedDuration(d):e.proxiedDuration;f=c.ui.accordion.animations;var i=e.duration,k=e.animated;if(k&&!f[k]&&!c.easing[k])k="slide";f[k]||(f[k]=function(l){this.slide(l,{easing:k,duration:i||700})});
f[k](d)}else{if(e.collapsible&&f)a.toggle();else{b.hide();a.show()}j(true)}b.prev().attr({"aria-expanded":"false",tabIndex:-1}).blur();a.prev().attr({"aria-expanded":"true",tabIndex:0}).focus()},_completed:function(a){this.running=a?0:--this.running;if(!this.running){this.options.clearStyle&&this.toShow.add(this.toHide).css({height:"",overflow:""});this.toHide.removeClass("ui-accordion-content-active");this._trigger("change",null,this.data)}}});c.extend(c.ui.accordion,{version:"1.8.4",animations:{slide:function(a,
b){a=c.extend({easing:"swing",duration:300},a,b);if(a.toHide.size())if(a.toShow.size()){var d=a.toShow.css("overflow"),f=0,g={},h={},e;b=a.toShow;e=b[0].style.width;b.width(parseInt(b.parent().width(),10)-parseInt(b.css("paddingLeft"),10)-parseInt(b.css("paddingRight"),10)-(parseInt(b.css("borderLeftWidth"),10)||0)-(parseInt(b.css("borderRightWidth"),10)||0));c.each(["height","paddingTop","paddingBottom"],function(j,i){h[i]="hide";j=(""+c.css(a.toShow[0],i)).match(/^([\d+-.]+)(.*)$/);g[i]={value:j[1],
unit:j[2]||"px"}});a.toShow.css({height:0,overflow:"hidden"}).show();a.toHide.filter(":hidden").each(a.complete).end().filter(":visible").animate(h,{step:function(j,i){if(i.prop=="height")f=i.end-i.start===0?0:(i.now-i.start)/(i.end-i.start);a.toShow[0].style[i.prop]=f*g[i.prop].value+g[i.prop].unit},duration:a.duration,easing:a.easing,complete:function(){a.autoHeight||a.toShow.css("height","");a.toShow.css({width:e,overflow:d});a.complete()}})}else a.toHide.animate({height:"hide",paddingTop:"hide",
paddingBottom:"hide"},a);else a.toShow.animate({height:"show",paddingTop:"show",paddingBottom:"show"},a)},bounceslide:function(a){this.slide(a,{easing:a.down?"easeOutBounce":"swing",duration:a.down?1E3:200})}}})})(jQuery);
;

