	$j(document).ready(function(){
	});
	
	// -- Registration --
	function activateRegistrationForm(){
		
		jQuery(function($){
			$("#tax_id").mask("**********");	
		});
		
		var validator = $j("#registerForm").validate({
      	highlight: function(element, errorClass) {
					$j(element).fadeOut(function() {
					$j(element).fadeIn();
				});
			},
			rules: { 
				last_name: "required",
				first_name: "required",
				middle_name: "required",
				birth_date: "required",
				tax_id: "required",
				phone: "required",				
				
				remail: {
					required:true,
					email:true,
					maxlength: 100,
					remote: "/ajax/?module=RegistrationController&method=checkRepeatEmail"
				},			
				rpassword:"required",
				rerpassword: {
					equalTo: "#rpassword"
				},
				secret_question: "required",
				secret_question_answer: "required"
			},
		  	messages: {
				remail: {
					remote: "Пользователь, с таким email, уже есть",
					email: "Некорректный e-mail"
				},
				rerpassword: {
					equalTo: "Пароли должны совпадать"
				}
			},
			//submitHandler: function(form){},
        	errorPlacement: function(error, element) {
				if (error.html().length>0) {
					$j(element).removeClass("borderInput").addClass("errorInput");
					if(error.html()!='This field is required.'){
						error.appendTo( element.parent().next() );
					}
				} else {
					$j(element).removeClass("errorInput").addClass("borderInput"); 
				}			
			},
			success: function(label) { label.html("&nbsp;").addClass("checked"); }
    	});
		
		// Календарь
		$j("#birth_date, #birth_date3").datepicker({
			mandatory: true,
			yearRange: '1925:2025',
			dateFormat: $j.datepicker.ATOM
		}).attr("readonly", "readonly");
		
		$j("img.dateImg").bind('click', function(){
			$j(this).prev().focus();
		}).css("cursor", "pointer");
	}
	
	// -- Statements --
	
	// -- Анкета вкладчика --

	function activateDepositorForm(){
			
		jQuery(function($){
			$("#passport_series_number, #passport_series_number3").mask("aa-999999");
			$("#tax_id, #tax_id3").mask("**********");	
		});
		
		$j("#document_type").bind('change', function(){
			if( $j(this).val()==0 ){
				$j("#passport_series_number").mask("aa-999999");			
			} else {
				$j("#passport_series_number").unmask("aa-999999");			
			}
		});
		
		$j(".change_third_person").bind('change', function(){
			if( $j(this).val()==1 ){
				$j("#third_person").slideToggle(500);
				
				$j("#last_name3").rules("add", "required");
				$j("#first_name3").rules("add", "required");
				$j("#middle_name3").rules("add", "required");
				$j("#passport_series_number3").rules("add", "required");
				$j("#passport_gave3").rules("add", "required");
				$j("#passport_date3").rules("add", "required");
				$j("#tax_id3").rules("add", "required");
				$j("#birth_date3").rules("add", "required");
				$j("#address_birth3").rules("add", "required");
				$j("#address3").rules("add", "required");

			} else {
				$j("#third_person").slideToggle(500);
				
				$j("#last_name3").val("").rules("remove", "required");
				$j("#first_name3").val("").rules("remove", "required");
				$j("#middle_name3").val("").rules("remove", "required");
				$j("#passport_series_number3").rules("remove", "required");
				$j("#passport_gave3").val("").rules("remove", "required");
				$j("#passport_date3").val("").rules("remove", "required");
				$j("#tax_id3").val("").rules("remove", "required");
				$j("#birth_date3").val("").rules("remove", "required");
				$j("#address_birth3").val("").rules("remove", "required");
				$j("#address3").val("").rules("remove", "required");
			}
		});		
		
		$j("#period_type").bind('change', function(){
			if( $j(this).val()==3 ){
				$j("#rperiod_type_other").show();
			} else {
				$j("#rperiod_type_other").hide();
			}
		});
		
		var validator = $j("#DepositorForm").validate({
      	highlight: function(element, errorClass) {
					$j(element).fadeOut(function() {
					$j(element).fadeIn();
				});
			},
			rules: { 
				last_name: "required",
				first_name: "required",
				middle_name: "required",
				passport_series_number: "required",
				passport_gave: "required",
				passport_date: "required",
				tax_id: "required",
				birth_date: "required",
				address_birth: "required",
				adress: "required",
				adress_live: "required",
				phone: "required",
				amount_one_period: "required",
				period_first: "required",
				period_last: "required",
				remail: {
					email:true,
					maxlength: 100,
					remote: "/ajax/?module=RegistrationController&method=checkRepeatEmail"
				}
			},
		  	messages: {				
				remail: {
					email: "Некорректный e-mail",
					maxlength: 'до 100 символов',
					remote: "К сожалению, email уже занят"					
				}				
			},
			submitHandler: function(form){
				activatefade();
				$j("#result").show();
				$j.post("/ajax/?module=StatementsDepositorForm&method=statementsChecking", { request:$j(form).serialize() }, function( responseText ){
					$j("#result").html( responseText ).center();
					$j(window).bind('resize', function() {	$j('#result').center(); });
					window.scroll(0,0);
				});				
				return false;
			},
        	errorPlacement: function(error, element) {
				if (error.html().length>0) {
					$j(element).removeClass("borderInput").addClass("errorInput");
					if(error.html()!='This field is required.'){
						error.appendTo( element.parent().next() );
					}
				} else {
					$j(element).removeClass("errorInput").addClass("borderInput"); 
				}			
			},
			success: function(label) { label.html("&nbsp;").addClass("checked"); }
    	});
		
		// Календарь
		$j("#birth_date, #birth_date3, #passport_date, #passport_date3").datepicker({
			mandatory: true,
			yearRange: '1925:2025',
			dateFormat: $j.datepicker.ATOM
		}).attr("readonly", "readonly");
		
		$j("#period_first, #period_last").datepicker({
			mandatory: true,
			yearRange: '2008:2100',
			dateFormat: $j.datepicker.ATOM
		}).attr("readonly", "readonly");
		
		$j("img.dateImg").bind('click', function(){
			$j(this).prev().focus();
		}).css("cursor", "pointer");
	}
	
	function confirmationDepositorForm( request ){		
		$j.post("/ajax/?module=StatementsDepositorForm&method=statementsConfirmation", { request:$j("#DepositorForm").serialize() }, function( responseText ){
					$j("#statementFormBlock").hide();
					deactivefade();
					$j("#confirmation a").attr("href", responseText);
					$j("#confirmation").show();
		});		
	}
	
	// --Заявление наследника --
	
	function activateStatementsOnetimePensionPayment(){
		
		jQuery(function($){
			$("#passport_series_number").mask("aa-999999");
			$("#deceased_number_retirement").mask("**********");
			//$("#certificate_death_series_number").mask("aaaa-999999");
			//$("#сurrent_account").mask("99999999999999");
			$("#mfo").mask("999999");
		});
		
		$j("#document_type").bind('change', function(){
			if( $j(this).val()==0 ){
				$j("#passport_series_number").mask("aa-999999");			
			} else {
				$j("#passport_series_number").unmask("aa-999999");			
			}
		});
		
		$j("#fundnumber").text( FUNDS_EDRPOU[$j(".fund").val()] );
		$j(".fund").bind('change', function(){
			$j("#fundnumber").text( FUNDS_EDRPOU[$j(this).val()] );	
		});
		
		$j(".change_type_amount").bind('change', function(){
			if( $j(this).val()==1 ){
				$j("#account").slideToggle(500);
				
				$j("#сurrent_account").rules("add", "required");
				$j("#bank").rules("add", "required");
				$j("#mfo").rules("add", "required");
				$j("#appointment_payment").rules("add", "required");

			} else {
				$j("#account").slideToggle(500);
				
				$j.each($j(".tab4"), function(i, field){
				 	$j(field).val("").rules("remove", "required");
				 });
			}
		});
		
		var validator = $j("#onetimepensionpaymentForm").validate({
      	highlight: function(element, errorClass) {
					$j(element).fadeOut(function() {
					$j(element).fadeIn();
				});
			},
			rules: { 
				last_name: "required",
				first_name: "required",
				middle_name: "required",
				passport_series_number: "required",
				passport_gave: "required",
				passport_date: "required",
				adress: "required",
				phone: "required",
				deceased_last_name: "required",
				deceased_first_name: "required",
				deceased_middle_name: "required",
				deceased_number_retirement: "required",
				certificate_death_series_number: "required",
				certificate_death_gave_date: "required",				
				hereditary_number: "required",
				registry_number: "required",
				notaries: "required",
				hereditary_date: "required",
				amount_pension: "required",
				current_account: { required:true, rangelength:[10,14], digits:true },
				bank: "required",
				mfo: "required",
				appointment_payment: "required"
			},
		  	messages: { current_account: { required:' ', rangelength:'<br/>от 10 до 14 цифр ', digits: '<br/>от 10 до 14 цифр ' } },
			submitHandler: function(form){
				activatefade();
				$j("#result").show();
				$j.post("/ajax/?module=StatementsOnetimePensionPayment&method=statementsChecking", { request:$j(form).serialize() }, function( responseText ){
					$j("#result").html( responseText ).center();
					$j(window).bind('resize', function() {	$j('#result').center(); });
					window.scroll(0,0);
				});				
				return false;
			},
        	errorPlacement: function(error, element) {		
				if (error.html().length>0) {
					$j(element).removeClass("borderInput").addClass("errorInput");
					if($j(element).attr("name")=='current_account'){
						$j(element).parent().find('span').html( error.html() );						
					}
				} else {
					$j(element).removeClass("errorInput").addClass("borderInput"); 
				}
			},
			success: function(label) { label.html("&nbsp;").addClass("checked"); }
    	});
		
		// Календарь
		$j("#hereditary_date, #passport_date").datepicker({
			mandatory: true,
			yearRange: '1925:2025',
			dateFormat: $j.datepicker.ATOM
		}).attr("readonly", "readonly");
		
		$j("img.dateImg").bind('click', function(){
			$j(this).prev().focus();
		}).css("cursor", "pointer");
	}
	
	function confirmationOnetimePensionPayment ( request ){		
		$j.post("/ajax/?module=StatementsOnetimePensionPayment&method=statementsConfirmation", { request:$j("#onetimepensionpaymentForm").serialize() }, function( responseText ){
					$j("#statementFormBlock").hide();
					deactivefade();
					$j("#confirmation a").attr("href", responseText);
					$j("#confirmation").show();
		});		
	}
	
	// -- AskQuestion
	
	function activateAskQuestionForm(){
		
		var validator = $j("#askquestionForm").validate({
      	highlight: function(element, errorClass) {
					$j(element).fadeOut(function() {
					$j(element).fadeIn();
				});
			},
			rules: { 
				subject: "required",
				question: "required",
				fio: "required",				
				email: {
					required:true,
					email:true
				}
			},
		  	messages: {				
				email: {
					email: "Некорректный e-mail"
				}
			},
        	errorPlacement: function(error, element) { 
				if (error.html().length>0) {
					$j(element).removeClass("borderInput").addClass("errorInput");
					if(error.html()!='This field is required.'){
						error.appendTo( element.parent().next() );
					}
				} else {
					$j(element).removeClass("errorInput").addClass("borderInput"); 
				} 
			},
			success: function(label) { label.html("&nbsp;").addClass("checked"); }
    	});		
	}
	
	// -- RecoverPassword --
	
	function activateRecoverPasswordForm(){
		
		var validator = $j("#RecoverPasswordForm").validate({
      	highlight: function(element, errorClass) {
					$j(element).fadeOut(function() {
					$j(element).fadeIn();
				});
			},
			rules: {
				email: {
					required:true,
					email:true
				}
			},
		  	messages: {				
				email: {
					email: "Некорректный e-mail"
				}
			},
        	errorPlacement: function(error, element) { 
				if (error.html().length>0) {
					$j(element).removeClass("borderInput").addClass("errorInput");
					if(error.html()!='This field is required.'){
						error.appendTo( element.parent().next() );
					}
				} else {
					$j(element).removeClass("errorInput").addClass("borderInput"); 
				} 
			},
			success: function(label) { label.html("&nbsp;").addClass("checked"); }
    	});		
	}
	
	function activateAnswerOnQuestionForm(){
		
		var validator = $j("#AnswerOnQuestionForm").validate({
      	highlight: function(element, errorClass) {
					$j(element).fadeOut(function() {
					$j(element).fadeIn();
				});
			},
			rules: { 
				AnswerOnQuestion: "required"
			},
        	errorPlacement: function(error, element) { 
				if (error.html().length>0) {
					$j(element).removeClass("borderInput").addClass("errorInput");					
				} else {
					$j(element).removeClass("errorInput").addClass("borderInput"); 
				} 
			},
			success: function(label) { label.html("&nbsp;").addClass("checked"); }
    	});		
	}
	
	// -- LoginForm
	
	function activateLoginForm(){
		
		$j("#loginButton").bind('click', function(){
			$j("#loginform").submit();
		});
		
		var first = false;		
		var validator = $j("#loginform").validate({	
			highlight: function(element, errorClass) {
				$j(element).fadeOut(function() {
					$j(element).fadeIn();
				});
			},	
			rules: { lemail: "required", lpassword:"required" },
			messages: { lemail: "Поле 'E-mail' не заполнено", lpassword:"Поле 'Пароль' не заполнено" },      
			errorPlacement: function(error, element) {			
				$j("#loginerror").html($j(error).html());	 
			},		
			submitHandler: function(form) {				
				$j.get("/ajax/?module=SiteLogin&method=login", {'request':$j(form).serialize()}, function(responseText){
					
					if( typeof(responseText)=='undefined' ){				
						alert("Ошибка при передаче данных! Попробуйте снова");					
					} else {
						var json = eval( "(" + responseText + ")" );	
						if( typeof(json.error)=='undefined' ){
								alert("Ошибка при передаче данных! Попробуйте снова");							
							} else {								
								if( json.error==0 ) {									
									//window.location.reload(true);
									window.location = '/выписки/';
								} else if( json.error==1 ) {
									window.location = '/blocked.html';
								} else if( json.error==2 ) {
									$j("#loginerror").html("Неправильная пара логин-пароль! Авторизоваться не удалось.");	
									$j("#loginblock").effect("shake", { times: 1, distance: 15 }, 250);
								} else {									  
									alert(json.messadge);
								}
							}
					}
				});			
				return false;
			},		
			success: function(label) { label.html("&nbsp;").addClass("checked"); }
		});
	}
	
	// -- LogOut --
	
	function activateLogoutForm(){
		$j(".logoutButton").bind('click', function(){
			if( !you_are_sure("Вы уверенны?") ){
				return false;
			}
			
			$j.get("/ajax/?module=SiteLogin&method=logout", function(responseText){				
					if( typeof(responseText)=='undefined' ){				
						alert("Ошибка при передаче данных! Попробуйте снова");				
					} else {
						var json = eval( "(" + responseText + ")" );	
						if( typeof(json.error)=='undefined' ){
								alert("Ошибка при передаче данных! Попробуйте снова");					
							} else {								
								if( json.error==0 ) {
									window.location.reload(true);
								}
							}
					}
			});
			return false;
		});
	}
	
	// -- Addithional -- 
	
	function activateFancyGallery(){
		$j("div#pageGallery a").fancybox({
      	'overlayShow':    true
		});
	}
	
	function dump(obj) {
		  var result = null;
		  for (var i in obj)
		  result += 'object' + '.' + i + ' = ' + obj[i] + '\n';
		  return result;
	} 
	
	function acvtivateMainTable(){            
        $j("#form_order tr").mouseover(function(){ $j(this).addClass("over"); }).mouseout(function(){ $j(this).removeClass("over"); });
        $j("#form_order tr:even").addClass("alt");
	}
	 
	function activateblock(){
		$j.blockUI({  
				centerY: 0, 
				css: { top: '10px', left: '10px', right: '', backgroundColor:'#600608', color:'#fff', border:"3px solid #fff" },
				overlayCSS: { backgroundColor:'#000',  opacity:'0.75'},
				fadeOut:100
		});
	}
	
	function deactivateblock(){
		$j.unblockUI();
	}
	
	function activatefade(){
		$j("#FadeBlock").height( $j("body").height()+$j("body").height()*0.2 ).addClass("fadeBlock").show();
	}
	
	function deactivefade(){
		$j("#FadeBlock").removeClass("fadeBlock").hide();
		$j("#result").hide().empty();
	}
	
	function you_are_sure(str){
		return confirm(str);
	}
	
	function number_format( number, decimals, dec_point, thousands_sep ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +     bugfix by: Michael White (http://getsprink.com)
    // +     bugfix by: Benjamin Lupton
    // +     bugfix by: Allan Jensen (http://www.winternet.no)
    // +    revised by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
    // +     bugfix by: Howard Yeend
    // +    revised by: Luke Smith (http://lucassmith.name)
    // +     bugfix by: Diogo Resende
    // +     bugfix by: Rival
    // %        note 1: For 1000.55 result with precision 1 in FF/Opera is 1,000.5, but in IE is 1,000.6
    // *     example 1: number_format(1234.56);
    // *     returns 1: '1,235'
    // *     example 2: number_format(1234.56, 2, ',', ' ');
    // *     returns 2: '1 234,56'
    // *     example 3: number_format(1234.5678, 2, '.', '');
    // *     returns 3: '1234.57'
    // *     example 4: number_format(67, 2, ',', '.');
    // *     returns 4: '67,00'
    // *     example 5: number_format(1000);
    // *     returns 5: '1,000'
    // *     example 6: number_format(67.311, 2);
    // *     returns 6: '67.31'
 
    var n = number, prec = decimals;
    n = !isFinite(+n) ? 0 : +n;
    prec = !isFinite(+prec) ? 0 : Math.abs(prec);
    var sep = (typeof thousands_sep == "undefined") ? ',' : thousands_sep;
    var dec = (typeof dec_point == "undefined") ? '.' : dec_point;
 
    var s = (prec > 0) ? n.toFixed(prec) : Math.round(n).toFixed(prec); //fix for IE parseFloat(0.55).toFixed(0) = 0;
 
    var abs = Math.abs(n).toFixed(prec);
    var _, i;
 
    if (abs >= 1000) {
        _ = abs.split(/\D/);
        i = _[0].length % 3 || 3;
 
        _[0] = s.slice(0,i + (n < 0)) +
              _[0].slice(i).replace(/(\d{3})/g, sep+'$1');
 
        s = _.join(dec);
    } else {
        s = s.replace('.', dec);
    }
 
    return s;
}
