function set_params(){

	$("#whoweare").ajaxReload({
		callback: function(data) {
			set_params();
		}
	});
	/*
	$("#joinus_link").ajaxReload({
		callback: function(data) {
		set_params();
	}
	});*/
	
	var chooserank_title = $("#ship_rank_id").siblings("input[name='chooserank_title']").val();
	/*$("#ship_rank_id").dialogDropdown({
			title: chooserank_title,
			href: '/main/select_rank',
			width: 950,
			back_pres_val : 'Rank',
			callback: function(){
				set_params();
			},
			close: function(){$(this).remove(); $("input[name='ship_rank_id']").keypress();},
			style: {"width":"250px", 'padding':'3px 0px', 'font-size':'18px', 'font-family':'Verdana', 'height':'25px', 'float':'left'},
			buttons_backgrounds: {"Ok":"<?= lang::image('save'); ?>"}
	});*/
	
	$("#ship_rank_id").singleRankChooser();
	
	$('.avalid').ajaxValidate({method: 'register'});
	
	
  	$("#pass_forgot").ajaxDialog( {
  		title : "<?= Kohana::lang('mainpage.passrec_title');?>",
		element_id : "modal_window",
		width: 641,
		height: 216,
		close: function(){$(this).remove();}, 
   		callback: function(data) {
   			$(data).find("form").submit(function(){
   				var param = $("#login_or_id").val();
   				$.ajax( {
   					url : 'main/passrec',
   					type: "POST",
   					data: {
   						login_or_id: param
   				  	},
   					success : function(msg) {
   						$("#modal_window").html(msg);
   					}
   					 
   				});
   				
   				return false;
   			});
   		}
   	});
	
}

$(document).ready(function(){
	$(document).find('input').focus(function(){
		var val = $(this).siblings("input[name='notification_text']").val();
		if(val == null || val == '' || $(this).siblings('div').length > 0) return;
		var nast = $('<div class="registration-notification"></div>');
		$(nast).css('background-color', '#cfcfcf');
		$(nast).text(val);
		//$(nast).append($(img).css('bottom:-1px').attr('src', '/images/corners/registration-inf-br-ship.gif'));
		$(this).parent().append(nast);
	});
	
	$(document).find('input').blur(function(){
		var val = $(this).siblings('input[name="notification_text"]').val();
		console.log(val);
		if( val == null || val == '') return;
		$(this).siblings('div').each(function(){
		    if($(this).text() == val)
			$(this).remove();
		});
		
	});
	
	$("#nationality_id").change(function(){
		var error = $(this).val() > 0 ? false : $(this).siblings('input').val();
		show_notification(this, error);
	});
	
	$("#a_country").change(function(){
		var error = $(this).val().length && parseInt($(this).val()) > 0 ? false : $(this).siblings('input').val();
		show_notification(this, error);
	});
	
	$("#birth_year").change(function(){
		var error = $(this).val().length > 0 ? false : $(this).siblings('input').val();
		show_notification(this, error);
	});
	
	$("#privacy").change(function(){
		$(this).parent().siblings('div').remove();
		var error = $(this).attr('checked') ? null : $(this).siblings("input[name='error_text']").val();
		show_notification(this, error);
		$(this).siblings('div').css('margin', "5px auto");
	});
	
	$("#privacy").click(function(){
		$("#privacy").change();
	});
	
	$("#privacy").keypress(function(){
		$("#privacy").change();
	});
	
	$("input[type='radio']").change(function(){
		var error = $('input[name=' + $(this).attr('name') + ']:checked').length > 0 ? null : $(this).parents('td:first').find("input[name='error_text']").val();
		show_notification(this, error);
	});
	
	$('#ship_rank_cell > input[name="ship_rank_id"]').live('change',function(){
		var error = $(this).val() > 0 ? false : $(this).siblings('input[name="error_text"]').val();
		show_notification(this, error);
	});
	
	$('#password').keyup(function(){
		var error = $(this).val().length >= 6 && $(this).val().length <= 30 ? false : $(this).siblings('input[name="error_text"]').val();
		show_notification(this, error);
		$('#password_retype').keyup();
	});
	
	$('#password_retype').keyup(function(){
		var error = $(this).val() == $('#password').val() ? false : $(this).siblings('input[name="error_text"]').val();
		show_notification(this, error);
	});
	
	$('#email').keyup(function(){
		$('#email_retype').keyup();
	});
	
	
	$('#email_retype').attr("block_info", "0");
	$('#email_retype').keyup(function(){
		if($('#email_retype').attr("block_info") != "1") {
		    var error = $(this).val() == $('#email').val() ? false : $(this).siblings('.do-not-match').val();
		    show_notification(this, error);
		} 
	});
	
	$('#email_retype').bind('paste', function (e) {
		e.preventDefault();
		var error = $(this).val() == $('#email').val() ? false : $(this).siblings('.paste-forbidden').val();
		show_notification(this, error);
		
		// such a hack to block notifications triggered by keyup events
		$('#email_retype').attr("block_info", "1");
		setTimeout(function(){
		    $('#email_retype').attr("block_info", "0");
		}, 200);
	});
	
	$('#registration_form').submit(function(){
		$('.avalid').keyup();
		$('#password').keyup();
		$('#password_retype').keyup();
		$('#email_retype').keyup();
		$('#nationality_id').change();
		$('#a_country').change();
		$("input[name='gender']:first").change();
		$("input[name='a_type']:first").change();
		$('#birth_year').change();
		$('#privacy').change();
		$('#ship_rank_cell > input[name="ship_rank_id"]').change();
		var isOk = true;
		var offset = 0;
		var submit_yahoo = $('input[name="yahoo_confirm"]').val();
		
		if(submit_yahoo=="true")
		    return isOk;
		
		// if seafarer
		if($('#nationality_id').length > 0) {
		    isOk = isOk && $('input[name="ship_rank_id"]').val() > 0;
		    if(!isOk && offset==0)
			offset = 20;
		    isOk = isOk && $('#nationality_id').val() > 0;
		    if(!isOk && offset==0) offset = $('#nationality_id').offset().top;

		    isOk = isOk && ($("input[name='gender']:first").attr('checked') || $("input[name='gender']:last").attr('checked')) ? true : false;
		    if(!isOk && offset==0) offset = $("input[name='gender']:first").offset().top;

		    isOk = isOk && $('#birth_year').val().length > 0;
		    if(!isOk && offset==0) offset = $('#birth_year').offset().top;

		    isOk = isOk && $('#password').val().length >= 6 && $('#password').val().length <= 30;
		    if(!isOk && offset==0) offset = $('#password').offset().top;

		    isOk = isOk && $('#password_retype').val() == $('#password').val();
		    if(!isOk && offset==0) offset = $('#password_retype').offset().top;
		    
		    isOk = isOk && $('#email_retype').val() == $('#email').val();
		    if(!isOk && offset==0) offset = $('#email_retype').offset().top;

		    isOk = isOk && $('#privacy').attr('checked');
		    if(!isOk && offset==0) offset = $('#privacy').offset().top;
		}
		$('.avalid').each(function(){
			if(!isOk) return;
			var elem = $(this);
			$.ajax({
				url: '/validation/register',
				data: {
					field : $(this).attr('name'), 
					val : $(this).val(), 
					pass : $("#password").val(), 
					type: $('#reg_type').length > 0 ? $('#reg_type').val() : 'user'
				},
				complete: function(data) {
					var response = JSON.parse(data.responseText, function (key, value){return value;}).answer;
					isOk = response == true ? true : false;
					if(!isOk) offset = $(elem).offset().top;
				},
				dataType: "json",
				type: "POST",
				async: false
			});
		});
		
		if(offset>0)
			$('html,body').animate({scrollTop: offset-20}, 500);
		    	
		if(isOk && submit_yahoo=="false")
		{
		    if($('#email').val().match(/.*@(yahoo|ymail).*/))
		    {
			$('.yahoo_mail').clone().confirmBox({
			    close: function(){
				$('input[name="yahoo_confirm"]').val('true');
				$('#registration_form').submit();
			    }
			});
		    }
		    else
			return isOk;
		}
		if(submit_yahoo=="false")
		    return false;
		else
		    return isOk;
	});
	
	$("#select_rank_ok").live("click", function(){
		var selected = $(".top_dialog").find(
				"input[name='ship_rank_id']:checked");
		var id_elem = selected.length > 0 ? selected.attr('element_id') : 0;
		var rank_name = $(".top_dialog").find(
				"label[for='" + selected.attr('id') + "']")
				.html();
		rank_name = rank_name != null ? rank_name : '';
		
		$("#modal_window").bind('dialogclose',  function(){
			var hidden_element  = $('input[name="ship_rank_id"][type="hidden"]');
			
			hidden_element.val(id_elem);
			hidden_element.next().val(rank_name);
			hidden_element.keypress();
		});
		
		$("#modal_window").dialog("close");
		
	});
	
	set_params();
});
