
$( document ).ready( function(){
	
	$('#regEmail').blur( function(){
		validateEmail( $(this) );
	});
	
	$('#regPassword').blur( function(){
		validatePassword( $(this) );
	});
	
	$('#regPasswordRepeat').blur( function(){
		validateRepeatPassword( $(this) );
	});
	/*
	$('#regName').blur( function(){
		validateName( $(this) );
	});
	
	$('#regSurname').blur( function(){
		validateSurname( $(this) );
	});
	*/
	$('#regAcceptRegulation').click( function(){
		validateAcceptRegulation($(this));
	});
	
	$('#regAcceptPrivacy').click( function(){
		validateAcceptPrivacy($(this));
	});
	
	$( '#form-registration' ).submit( function(){
		//console.log('form.submit()');
		var r1, r2, r3, r4, r5, r6, r7, r8, r9, r10;
		r1 = !validateEmail($('#regEmail'));
		r2 = !validatePassword($('#regPassword'));
		r3 = !validateRepeatPassword($('#regPasswordRepeat'));
/*
		r4 = !validateName($('#regName'));
		r5 = !validateSurname($('#regSurname'));
*/		 
		r6 = !validateSubscriptions( $('#subscriptions') );
		r7 = !validateAcceptRegulation($('#regAcceptRegulation'));
		r8 = !validateAcceptPrivacy($('#regAcceptPrivacy'));
	
		return ( r1 && r2 && r3 && r4 && r5 && r6 && r7 && r8 );
	
	});
	
	$( '#form-profile' ).submit( function(){
		var r1, r2, r3;
/*
		r1 = !validateName( $('#efName') );
		r2 = !validateSurname( $('#efSurname') );
*/
		r3 = !validateEmail( $('#efEmail') );
		//alert( ( r1 +' ' + r2 + ' '+ r3 ) );
		//return false;
		return ( r1 && r2 && r3 );
	});
	
});

/**  
 * validate user email address
 */
function validateEmail( elem ){
	var isError = false;
	var pattern = /^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/;
	var t = $(elem);
	$( t ).parents('.row').removeClass( 'error' );
	$( t ).parents('.row').find('small').remove();
	if( !pattern.test( $( t ).val() ) ){
		$( t ).parents('.row').addClass( 'error' );
		$( '<small>Nieprawidłowy adres e-mail.</small>' ).appendTo( $( t ).parents('.row') );
		isError = true;
	} else {

		$.ajax({
			url: '/ajax/user/validateEmail',
			data: 'data[email]=' + $(t).val(),
			type: 'post',
			success: function ( response ) {
				var oResponse = $.evalJSON( response );
				if( oResponse.result === false ){
					$( t ).parents('.row').addClass( 'error' );
					$( '<small>Podany adres e-mail jest już w naszej bazie.</small>' ).appendTo( $( t ).parents('.row') );
					isError = true;
				}
			}
		});
	}
	//alert( 'email: '+isError );
	return isError;
}

/**
 * validate user password
 */
function validatePassword( elem ){
	var isError = false;
	var pattern = /^[a-zA-Z0-9_]{4,15}$/;
	var t = $(elem);
	$( t ).parents('.row').removeClass( 'error' );
	$( t ).parents('.row').find('small').remove();
	if( !pattern.test( $( t ).val() ) ){
		$( t ).parents('.row').addClass( 'error' );
		$( '<small>Wymagamy 4-15 znaków. Tylko litery, cyfry oraz "_".</small>' ).appendTo( $( t ).parents('.row') );
		isError = true;
	}
	return isError;
}

/**
 * validate user password re-type
 */
function validateRepeatPassword( elem ){
	var isError = false;
	var t = $(elem);
	$( t ).parents('.row').removeClass( 'error' );
	$( t ).parents('.row').find('small').remove();
	if( !$( t ).val() || $( t ).val() != $('#regPassword').val() ){
		$( t ).parents('.row').addClass( 'error' );
		$( '<small>Oba hasła muszą być takie same.</small>' ).appendTo( $( t ).parents('.row') );
		isError = true;
	}
	return isError;
}

/**
 * validate user name
 */
 /*
function validateName( elem ){
	var isError = false;
	var pattern = /^[a-zA-ZĘÓĄŚŁŻŹĆŃęóąśłżźćń]{3,25}$/;
	$( elem ).parents('.row').removeClass( 'error' );
	$( elem ).parents('.row').find('small').remove();
	if( !pattern.test( $( elem ).val() ) ){
		$( elem ).parents('.row').addClass( 'error' );
		$( '<small>Powiedz nam jak masz na imię.</small>' ).appendTo( $( elem ).parents('.row') );
		isError = true;
	}
	return isError;
}
*/
/**
 * validate user surname
 */
 /*
function validateSurname( elem ){
	var isError = false;
	var pattern = /^[a-zA-ZĘÓĄŚŁŻŹĆŃęóąśłżźćń\-\s]{2,50}$/;
	$( elem ).parents('.row').removeClass( 'error' );
	$( elem ).parents('.row').find('small').remove();
	if( !pattern.test( $( elem ).val() ) ){
		$( elem ).parents('.row').addClass( 'error' );
		$( '<small>Powiedz nam jak się nazywasz.</small>' ).appendTo( $( elem ).parents('.row') );
		isError = true;
	}
	return isError;
}
*/
/**
 * validate regulation accept
 */
function validateAcceptRegulation( elem ){
	var isError = false;
	$( elem ).parents('.row').removeClass( 'error' );
	//$( elem ).parents('.row').find('small').remove();
	if( $( elem ).attr('checked') === undefined ){
		$( elem ).parents('.row').addClass( 'error' );
		//$( '<small>Powiedz nam jak się nazywasz.</small>' ).appendTo( $( elem ).parents('.row') );
		isError = true;
	} else {
		$( elem ).parents('.row').removeClass( 'error' );
	}
	return isError;
}

/**    
 * validate provacy policy accept
 */
function validateAcceptPrivacy( elem ){
	var isError = false;
	$( elem ).parents('.row').removeClass( 'error' );
	//$( elem ).parents('.row').find('small').remove();
	//console.log('status:'+$( elem ).attr('checked'));
	if( $( elem ).attr('checked') === undefined ){
		$( elem ).parents('.row').addClass( 'error' );
		//$( '<small>Powiedz nam jak się nazywasz.</small>' ).appendTo( $( elem ).parents('.row') );
		isError = true;
	} else {
		$( elem ).parents('.row').removeClass( 'error' );
	}
	return isError;
}

/**
 * validate user subscription choice
 */
function validateSubscriptions( elem ){
	var isError = false;
	$( elem ).parents('.row').removeClass( 'error' );
	//console.log( $(elem).find( 'input[@type=radio]:checked' ).toString() );
	if( ($('li input[@type=radio]:checked', elem).length <= 0) && ($('#promoCode').val() == '' ) ){
		$( elem ).parents('.row').addClass( 'error' );
		$('#promoCode').parents('.row').addClass( 'error' );
		isError = true;
	}
	return isError;
}
