  $(document).ready(function() {
  
 		getcountries('#bank_country',777);
    getcountries('#real_country',777);
    getcountries('#ur_country');
				
    getcities('#bank_city', 777);
    getcities('#real_city', 777);
    getcities('#ur_city', 777);

		$('#bank_country').change(function() {
    //	getcities('#'+$(this).nextAll('select')[0].attr('name'), $(this).val());
   	 getcities('#bank_city', $(this).val());
    });

		$('#real_country').change(function() {
   	 getcities('#real_city', $(this).val());
    });

 		$('#ur_country').change(function() {
   	 getcities('#ur_city', $(this).val());
    });

  //  function test_inn()
   // 	if( /(\d{1}(\D*)){10}/.test($('#inn').val()) ) {
   //   	inn = $('#inn').val().replace(/\D/ig,"");
  //			if(inn.length == 10) { alert(is_valid_inn(inn) ? 'true' : 'false') }
   //     if(inn.length == 12) { alert(is_valid_inn($('#inn').val()) ? 'true' : 'false') }
   //   }
  
  //    return false;
      // $('#form_reg').submit();
	//	});
    
  	$('#inn').blur(function() {
  		if( /(\d{1}(\D*)){10}/.test($('#inn').val()) ) {
      	inn = $('#inn').val().replace(/\D/ig,"");
   	 		$.getJSON("cabinet/reg.php", { action : 'inn', piInn : inn }, function(data) { 
					if(data != '-1') {
        		$('#name').val(data.real_name);
            $('#ur_name').val(data.ur_name);
            $('#due_type').val(data.due_type);
            
            $('#gen_dir').val(data.bossname);
            $('#main_buh').val(data.buhname);
            $('#rs_account').val(data.account);
            $('#bank_name').val(data.bank);
            $('#bank_city_name').val(data.bank_city);
            $('#ks_account').val(data.bank_corr);
            $('#bik').val(data.bank_bik);
            $('#real_post_index').val(data.fiz_index);
            $('#real_city').val(data.fiz_city);
            $('#real_address').val(data.fiz_adress);
            $('#ur_post_index').val(data.legal_index);
            $('#ur_city').val(data.legal_city);
            $('#ur_address').val(data.legal_adress);
            $('#phone').val(data.phone);
            $('#fax').val(data.fax); 

 					  getcountries('#bank_country',data.bank_country_id);
            getcountries('#real_country',data.fiz_country_id);
            getcountries('#ur_country',777);

        		getcities('#bank_city', data.bank_country_id,data.bank_city);
        		getcities('#real_city', data.fiz_country_id,data.fiz_city);
        		getcities('#ur_city', 777);
          }
          
        });
    	}
    });
  });
  
  function getcities(obj,id,selected_id) {
  	$.getJSON("cabinet/reg.php", { action : 'city', piCountryId : id },	function(data) { 
    	populateS(obj, data);
			$(obj+' option[value='+selected_id+']').attr('selected', 'selected'); 
    });
  }

  function getcountries(obj,selected_id) {
  	$.getJSON("cabinet/reg.php", { action : 'country' },	function(data) { 
    	populateS(obj, data); 
      $(obj+' option[value='+selected_id+']').attr('selected', 'selected'); 
    });
  }
  
  function populateS(obj,data) {
  	  	var select = $(obj);
        var options = select.attr('options');
        $('option', select).remove();

        $.each(data, function(key, value) {
            options[options.length] = new Option(value['name'],value['id']);
        });
  }

  function is_valid_inn(i) {
    if ( i.match(/\D/) ) return false;
    
    var inn = i.match(/(\d)/g);
    
    if ( inn.length == 10 )
    {
        return inn[9] == String(((
            2*inn[0] + 4*inn[1] + 10*inn[2] + 
            3*inn[3] + 5*inn[4] +  9*inn[5] + 
            4*inn[6] + 6*inn[7] +  8*inn[8]
        ) % 11) % 10);
    }
    else if ( inn.length == 12 )
    {
        return inn[10] == String(((
             7*inn[0] + 2*inn[1] + 4*inn[2] +
            10*inn[3] + 3*inn[4] + 5*inn[5] +
             9*inn[6] + 4*inn[7] + 6*inn[8] +
             8*inn[9]
        ) % 11) % 10) && inn[11] == String(((
            3*inn[0] +  7*inn[1] + 2*inn[2] +
            4*inn[3] + 10*inn[4] + 3*inn[5] +
            5*inn[6] +  9*inn[7] + 4*inn[8] +
            6*inn[9] +  8*inn[10]
        ) % 11) % 10);
    }
    
    return false;
	}
  
