$(function(){
	showHideEff();
	activateForm('.form');
});
var timer = null;
var showHideSelector = '.servicesList';
var showHideTriggerWrapper = 'li';
var showHideTrigger = 'h4';
var showHideEle = 'div';
var iconHtml = '<a class="icon"></a>';
var tickHtml = '<em class="tick"></em>';
var autoRotate = false;

function activateForm(selector){
	$.each($(selector), function(){
		$(this).bind('submit',function(){
			var allOk = true;
			$.each($(this).find('.req'), function(){
				$(this).focus();
				if( $(this).val() == '' ){
					$(this).focus();
					alert($(this).attr('alt'));
					allOk = false;
					return allOk;
				}else if( $(this).hasClass('email') ){
					var emailFil = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
					if( ! emailFil.test($(this).val()) ){ $(this).focus(); alert($(this).attr('alt')); allOk = false;  return allOk; }
				}else{ allOk = true; }
			});
			return allOk;
		});
	});
}

function rotateNext(){
	var nextEle = $(showHideSelector+' '+showHideTriggerWrapper+'.active').next(showHideTriggerWrapper);
	if( nextEle.html() != null ){
		$(showHideSelector+' .active').next().find(showHideTrigger).trigger('click');
	}else{
		$(showHideSelector+' '+showHideTriggerWrapper+':first '+showHideTrigger).trigger('click');
	}
}

function showHideEff(){
	$.each( $(showHideSelector+' '+showHideTrigger), function(){
		$(this).prepend(iconHtml);
		$(this).before(tickHtml);
		$(this).parent().find('.tick').hide();

		$(this).bind('click',function(e){
			if(e.pageX){ clearInterval(timer); }
			var $thisClicked = $(this);
			if( $(showHideSelector).find('.active').hasClass('active') ){
				if( ! $thisClicked.parent().hasClass('active') ){
					$('.active '+showHideEle).hide('normal',function(){
						$thisClicked.parent().find('.tick').show();
						$thisClicked.parent().find(showHideEle).show('normal');
						$thisClicked.parent().addClass('active');
					}).parent().removeClass('active');
				}else{
					$thisClicked.siblings(showHideEle).hide('normal');
					$thisClicked.parent().removeClass('active');
				}
			}else{
				$thisClicked.siblings(showHideEle).show('normal');
				$thisClicked.parent().find('.tick').show();
				$thisClicked.parent().addClass('active');
			}
		});
	});
	
	if(autoRotate){
		timer = setInterval(rotateNext, 3000);
	}
}
