$(document).ready(function(){
	$('a.ctl').click(function(){
		switch($(this).attr('id')){
			case 'signup':
				$('.c').hide();
				$('.s').show();
				$('form #type').val('signup');
				break;
			case 'contact':
				$('.s').hide();
				$('.c').show();
				$('form #type').val('contact');
				break;
		}
		$('a.ctl').hide();
		$('form input[type!="hidden"][type!="button"], form textarea, form label')
			.removeClass('success')
			.removeClass('error')
			.val('')
			.eq(0).focus();
		return false;
		
	});
	$('a.cancel').click(function(){
		$('.c').hide();
		$('.s').hide();
		$('a.ctl').show();
		return false;
	});
	$('form input[type!="hidden"][type!="button"]').eq(0).focus();
	$('form#application, form#group, form.check').submit(function(event){
		$('label.required')
			.each(function(i){
				if( $(this).parent('li').css('display') !== 'none' ){
                    var name = $(this).attr('for');
                    var input = $('#'+name);
					if( !valid(input)){
						$(this).removeClass('success')
							   .removeClass('error')
							   .addClass('error');

						input.removeClass('success')
							 .removeClass('error')
							 .addClass('error');
					} else {
						$(this).removeClass('error')
							   .removeClass('success')
							   .addClass('success');

						input.removeClass('error')
							 .removeClass('success')
							 .addClass('success');
					}

					input.blur(function(){
						if( valid(input)){
							$(this).removeClass('error')
								   .removeClass('success')
								   .addClass('success');
							
							$(this).siblings('label')
								 .removeClass('error')
								 .removeClass('error')
								 .addClass('success');
						}
					});
				}
			});

		if( $('label.error').get(0) ){
			var error  = $('label.error').eq(0);
			var offset = error.offset().top;
			$('html, body').animate({scrollTop:offset}, 500);
			error.focus();
//			return false;
			event.preventDefault();
		}
	});
	var i=0;
    $('table.list tr:not(:has(th))').each(function(){
		if( $(this).is('td:first a:first') == true ){
			var odd = $(this).hasClass('odd') ? true:false;
			$(this).click(function(){
				document.location.href = $(this).find('td:first a:first').attr('href');
			});
			$(this).mouseover(function(){
				$(this).removeClass('over')
					   .removeClass('odd')
					   .addClass('over');
			});
			$(this).mouseout(function(){
				$(this).removeClass('over');
				if( odd ) $(this).addClass('odd');
			});
		}
    });		
	function valid(input){
		if(input.val() == ''){
			return false;
		} 

		var email = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
		if( input.hasClass('email') ){
			return email.test(input.val());
		}
			
		var phone = new RegExp(/^(\()?(\d{3})(\)|-)?(\d{3})(-)?(\d{4})$/);
		if( input.hasClass('phone') ){
			return phone.test(input.val());
		}

		return true;
	}
});


