jQuery(function(){
	clearInputs();
	jQuery('div.navigation').each(function(){
		if(jQuery(this).find('a').length == 0) jQuery(this).remove();
	});
	openClose();
	initGall();
	jQuery('div.zoom a').fancybox({
		'titleShow'			: false,
		'padding'			: 2,
		'autoScale'			: false,
		'overlayOpacity'	: 0.7,
		'overlayColor'		: '#000'
	}).each(function(){
		this.b_img = jQuery(this).attr('title');
		jQuery(this).removeAttr('title');
	});
	jQuery('div.section-form form').submit(function(){
		if(!formValid(jQuery(this))) return false;
	});
});
/*--- form validation ---*/
var _emailReg = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
function formValid(_form){
	var _f = true;
	var _fields = _form.find('.must-valid');
	_fields.parents('.row').removeClass('error');
	for(var i = 0; i < _fields.length; i++){
		if(_fields.eq(i).attr('tagName').toLowerCase() == 'select'){
			if(_fields.eq(i).val() == 'default' || _fields.eq(i).val().indexOf('select a') != -1){
				_fields.eq(i).parents('.row:eq(0)').addClass('error');
				_f = false;
			}
		}
		else if(_fields.eq(i).hasClass('email-field')){
			if(!_emailReg.test(_fields.eq(i).val()) || _fields.eq(i).val() == _fields.eq(i).data('val') || _fields.eq(i).val() == ''){
				_fields.eq(i).parents('.row:eq(0)').addClass('error');
				_f = false;
			}
		}
		else{
			if(_fields.eq(i).val() == _fields.eq(i).data('val') || _fields.eq(i).val() == ''){
				_fields.eq(i).parents('.row:eq(0)').addClass('error');
				_f = false;
			}
		}
	}
	return _f;
}
/*---- clear inputs ---*/
function clearInputs(){
	jQuery('input:text, input:password, textarea').each(function(){
		var _el = jQuery(this);
		_el.data('val', _el.val());
		_el.bind('focus', function(){
			if(_el.val() == _el.data('val')) _el.val('');
		}).bind('blur', function(){
			if(_el.val() == '') _el.val(_el.data('val'));
		});
	});
}
/*---- open/close functionality ----*/
function openClose(){
	var _duration = 300; //in ms
	jQuery('div.section-form div.container').each(function(){
		var _hold = jQuery(this);
		var _btn = _hold.find('.a-class');
		var _box = _hold.find('.container-holder');
		if(_btn.length && _box.length){
			var _h = _box.height();
			if(_hold.hasClass('opened')) _box.show();
			else _box.hide();
			_btn.click(function(){
				if(_hold.hasClass('opened')){
					_hold.removeClass('opened');
					_box.stop().animate({height:0}, _duration, function(){
						jQuery(this).css({display:'none', height:'auto'});
					});
				}
				else{
					_hold.addClass('opened');
					if(_box.is(':hidden')){
						_box.show();
						_h = _box.height();
						_box.height(0);
					}
					_box.stop().animate({height: _h}, _duration, function(){ 
						jQuery(this).height('auto');
					})
				}
				return false;
			}).mouseenter(function(){
				jQuery(this).addClass('hovered');
			}).mouseleave(function(){
				jQuery(this).removeClass('hovered');
			});
		}
	});
}
/*--- gallery function ---*/
function initGall(){
	var move_speed = 0; //in ms
	jQuery('#gallery').each(function(){
		var _hold = jQuery(this);
		var list_hold = _hold.find('div.list-hold > ul');
		var _list = list_hold.children();
		var btn_prev = _hold.find('div.link-prev a');
		var btn_next = _hold.find('div.link-next a');
		var _step = _list.outerWidth();
		var _a = 0;
		if(window.location.hash && window.location.hash.indexOf('box=') != -1) _a = window.location.hash.split('box=')[1];
		if(_a && jQuery('#'+_a).length) _a = _list.index(_list.filter(jQuery('#'+_a).parents('li:eq(0)')));
		else _a = 0;
		if(_list.length){
			for(var i = 0; i < _list.length; i++){
				if(_list.eq(i).find('embed').length) _list.eq(i).data('video', _list.eq(i).html());
			}
			var _btn = jQuery('<ul class="list"></ul>');
			for(var i = 0; i < _list.length; i++){
				_btn.append('<li><a href="#">'+((i+1 < 10) ? ('0'+(i+1)) : (i+1))+'</a></li>');
			}
			jQuery('#gall-nav').prepend(_btn);
			_btn = _btn.find('a');
			
			_btn.eq(_a).addClass('active');
			_list.removeClass('active').eq(_a).addClass('active');
			list_hold.css('left', -_a*_step);
			
			_btn.click(function(){
				moveList(_btn.index(this));
				return false;
			});
			btn_prev.click(function(){
				if(_a > 0) moveList(_a - 1);
				else moveList(_list.length - 1);
				return false;
			});
			btn_next.click(function(){
				if(_a < _list.length - 1) moveList(_a + 1);
				else moveList(0);
				return false;
			});
		}
		else{
			btn_prev.hide();
			btn_next.hide();
		}
		function moveList(_ind){
			if(_ind != _a){
				_btn.eq(_a).removeClass('active');
				_btn.eq(_ind).addClass('active');
				_list.eq(_a).removeClass('active');
				_list.eq(_ind).addClass('active');
				if(_list.eq(_a).data('video')) _list.eq(_a).html(_list.eq(_a).data('video'));
				if(_list.eq(_ind).find('div[id!=""]:eq(0)').length) window.location.hash = 'box='+_list.eq(_ind).find('div[id!=""]:eq(0)').attr('id');
				list_hold.animate({left:-_ind*_step},{queue:false, duration: move_speed});
				_a = _ind;
			}
		}
	});
}
