    var $ = jQuery;
    
    var mini_bulk = 0; // массовая проверка
    
    function hosting_ie67_fix() {
        var $above = $('tr:first td:last', '#hosting .htable');
        var aboveheight = $('tr', '#hosting .htable').eq(1).height() + $('tr', '#hosting .htable').eq(0).height();
        $('#vip_long').css({
        height:
            $('#hosting .htable').innerHeight()
            -
            aboveheight
            -
            $('tr:last', '#hosting .htable').innerHeight()
            + 'px',
        width: $above.width() - 2 + 'px',
        left:  $above.position().left + 'px',
        top:   ($above.position().top + aboveheight) + 'px'
        });
    }


    function red_alert_animate (warn_span, input, warn_message, time){
	if( document.getElementById(warn_span) == null ){
		$(input).after('<span class="red new_red" id="'+warn_span+'">'+warn_message+'</span>');
	}
	$(input).css('border-color','#red');
	$(input).animate({
	    borderBottomColor:"#E4E4E4",
	    borderLeftColor:"#E4E4E4",
	    borderRightColor:"#E4E4E4",
	    borderTopColor:"#E4E4E4"
	}, { queue:false, duration: time } );
    }

    $(document).ready(function(){

        if ( document.getElementById('hosting_count') ) {
            var hosting_count = document.getElementById('hosting_count').value;
            var domain_limit = document.getElementById('domain_limit').value;

            // Цикл по хостингам
            for(var i=0; i<hosting_count; i++) {
                $('#hosting_table').append('<tr id="hosting_elem_' + i + '">\
                                                <td>\
                                                    <select\
                                                        class="double_border"\
                                                        style="vertical-align:middle;margin-top:5px; margin-bottom:5px; width:100%;"\
                                                        id="choosed_dname_' + i + '"\
                                                        name="choosed_dname_' + i + '"\
                                                        onfocus="this.oldvalue = this.value;"\
                                                        onchange="del_dname_from_lists( this.value ); add_dname_to_lists( this.oldvalue );">\
                                                    </select>\
                                                </td>\
                                                <td style="width:25px;height:25px;">\
                                                    <a id="del_hosting_list_link_' + i + '" style="\
                                                        display:inline-block;\
                                                        width:25px;\
                                                        height:25px;\
                                                        overflow:hidden;\
                                                        text-indent:-100px;\
                                                        background:url(\'/i/style/second/button/del_round_red_cross.png\') no-repeat 0 0;"\
                                                        href="#" onclick="del_hosting_list( this.id ); return false;" title="Удалить хостинг">&nbsp;</a>\
                                                </td>\
                                            </tr>');

                // Цикл по доменам
                for(var z=0; z < domains.length; z++) {
                    var selected = 0;
                    if ( i == z ) { 
                        selected = 1;
                    };
                    var NewOption = new Option( domains[z], domains[z], selected, selected );
                    document.getElementById('choosed_dname_' + i).options[z] = NewOption;
                };
                if ( domains.length == 0 ) {
                    $('#hostings_block').hide();
                    $('#hostings_table_block').hide();
                    //$('#choosed_dname_' + i).hide();
                };
            };
            $('#del_hosting_list_link_0').hide();
            // Очищаем выпадающие списки от уже выбранных значений
            clear_choosed_dnames_from_list();
            if ( domains.length > domain_limit ) { clear_lists() };
        };

	if ( document.getElementById('hosting') != null ) {
	    if ($.browser.msie && $.browser.version < 8) {
		hosting_ie67_fix();
		$(window).resize(function(){
		    hosting_ie67_fix();
		});
	    }

	    $('th.expand', '#hosting').click(function(){
		var section = $(this).parents('tr').eq(0).hide().attr('id') + '_ex';
		$('tr.'+section, '#hosting').show();
		if ($.browser.msie && $.browser.version < 8) {
		    hosting_ie67_fix();
		}
	    });
	    $('th.collapse', '#hosting').click(function(){
		var section = $(this).parents('tr').attr('class');
		$('tr.'+section, '#hosting').hide();
		$('tr#'+section.replace('_ex', '')).show();
		if ($.browser.msie && $.browser.version < 8) {
		    hosting_ie67_fix();
		}
	    });
	}
	else if ( document.getElementById('existing_domain') != null && document.getElementById('existing_domain').checked ){
	    $('#existing_domain').click();
	    if ( $('#new_domain_tbl') != null) {
	         $('#new_domain_tbl').hide();
	    };
	    $('#order_hosting_button').removeAttr('disabled');
	}
	else if ( document.getElementById('new_domain') && document.getElementById('new_domain').checked ){
	    $('#new_domain').click();
	    $('#existing_domain_tbl').hide();
	    if ( domains.length == 0 ) {
	        $('#order_hosting_button').attr('disabled','disabled');
	    };
	}
	else if ( document.getElementById('hosting_pp') != null ) {
	   document.getElementById( document.getElementById( 'precontype' ).value ).click();
	};
	/*$('#selects_p :input').each(
	    function () {
	        $(this).change(
	            function () {
	                if ( this.options[this.selectedIndex].value == 'other_dname' && document.getElementById('check_results').style.display != 'block' ) {
	                    document.getElementById('new_dname').value = '';
	                    if ( document.getElementById('new_dname').value == '' ) $('#order_hosting_button').attr('disabled','disabled');
	                    $('#new_dname_reg_block').show();
	                }
	                else {
	                    $('#order_hosting_button').removeAttr('disabled');
	                    document.getElementById('new_dname').value = '';
	                    var tbl = document.getElementById("avail_unavail_table");
	                    if (tbl.tBodies[0].rows[0]) tbl.tBodies[0].deleteRow(0);
	                    //$('#new_dname_reg_block').hide();
	                    $('#check_results').hide();
	                };
	            }
	        );
	    }
	);*/
	
	// вешаем на enter клик "проверить" и убираем submit
	$('#new_dname').bind( 'keypress', function(e) { 
	    code = (e.keyCode ? e.keyCode : e.which);
	    if (code == 13) {
		$('#new_dname').blur();
		$('#check_domain_button').click();
		$('#new_dname').focus();
		return false;
	    }
	});
	
	// проверка выбранных ранее доменов из кеша при обновлении страницы
	if ( $('#selected_domains .tocheck').length ) {
	    mini_bulk = 1;
	    $('#selected_domains .tocheck').slice(0, 3).each(function() { check_available(this, 1) });
	}
	
	// если выбранные ранее домены после обновления страницы есть - делаем кнопку "я принимаю" включенной
	/*
	if (domains){
	    $('#order_hosting_button').removeAttr('disabled');
	}
	*/
	
	$('#check_domain_button').click(
	    function ( ) {
	        //clear_lists();
		var dname = $('#new_dname').val();
		if ( dname == '' ) {
		    return false;
		};
		$('#check_results').show();
		
		// очищаем блок "выбранные ранее домены" от "отмененных"
		$('#selected_domains_table tr').each(function () {
		    if ( !$(this).find('input').is(':checked') ) $(this).remove();
		});
		
		// выбранные ранее домены помещаем в отдельный блок
		if ( $('#avail_unavail_table tr.avail').length > 0 ) {
		    $('#avail_unavail_table tr.avail').each(function () {
			if ( $(this).find('input').is(':checked') ) {
			    $('#selected_domains_table').append( $(this) );
			}
		    });
		    $('#selected_domains').show();
		}
		
		
		// прячем блок "выбранные ранее домены", если таких не имеется
		if ( $('#selected_domains_table tr').length == 0 ) $('#selected_domains').hide();
		
		$('#avail_unavail_table tr').remove(); 		// чистим результаты прошлой проверки
		var first_row_class = 'first'; 			// переменная с классом для первого проверяемого домена в таблице
		var used_dname = '';
		if ( dname.search(/(\.)(.{2,8})$/) == -1 ){ 	// "домен введён без зоны"
		    var trim_domain = /(\.*)(\.\.*)/gi; 	// паттерн для отделения точек и символов в конце домена
		    dname = dname.replace(trim_domain, '$1'); 	// отбрасываем всё, что идёт после доменного имени, 
								// т.к. будем пробивать по зонам массива tlds
		    var tlds = ['.ru','.рф','.su','.com','.net','.org','.com.ua','.biz','.info','.name','.am','.tv','.mobi','.me' ];
		    for(var i=0; i<tlds.length; i++) {		// в цикле создаем подготовленные строки, которые будут скормлены check_available
			if ( $.inArray( tlds[i].substr(1), allow_cyr_tlds ) >= 0 ) 
			    used_dname = dname; 
			else
			    used_dname = translit(dname);
			if ( tlds[i] == '.рф' ) {
			    used_dname = translit_to_rus(dname);
			}
			if ( $('#span_'+used_dname+'\\'+tlds[i]).length == 0 ) {
			    var dname_short = used_dname.replace(/(.{20})(.*)/ig, "$1..."); // обрезаем длинные домены
			    $('#avail_unavail_table').append('<tr id="'+used_dname+tlds[i]+'" class="needcheck tocheck '+first_row_class+'"><td><img src="/i/highslide/loader.white.gif" alt="загрузка"/>'+dname_short+'</td><td></td></tr>');
			    var first_row_class = ''; 		// обнуляем, т.к. у нас д.б. единственная строка с таким классом
			}
		    }
		    mini_bulk = 1; // пошла массовая проверка
		} else {
		    var span_id = '#span_'+dname.replace(/\./,"\\.");// alert(span_id);
		    if ( $(span_id).length == 0 ) {
			var dname_short = dname.replace(/(.{20})(.*)/ig, "$1..."); // обрезаем длинные домены
			$('#avail_unavail_table').append('<tr id="'+dname+'" class="needcheck tocheck '+first_row_class+'"><td><img src="/i/highslide/loader.white.gif" alt="загрузка"/>'+dname_short+'</td><td></td></tr>');
			mini_bulk = 0; // пошла одиночная проверка
		    }
		}
	        if ( $('#avail_unavail_table tr').length ) $('#check_results').show(); else $('#check_results').hide();
		$('.tocheck').slice(0, 3).each(function() { check_available(this, 1) });
	        return false;
	    }
	);
	
        $('#new_dname').change(
            function ( ) {
                $('#order_hosting_button').attr('disabled','disabled');
            }
        );
	
	$('#hosting_order_form').submit( function () {
	    if ( $('#existing_domain').is(':checked') && document.getElementById('dname') && $('#dname').val() == 0){
		red_alert_animate ('red_alert', '#dname', 'Указано некорректное либо несуществующее имя домена!', 2000);
		$('#order_hosting_button').removeAttr('disabled');
		return false;
	    } else {
		$('#order_hosting_button').attr('disabled', 'disabled');
	    }
	});
	
	$('#vps_order_form').submit( function () {
	    if ( document.getElementById('vpsname') && $('#vpsname').val() == 0){
		red_alert_animate ('red_alert', '#vpsname', 'Не указано имя услуги!', 2000);		
		return false;
	    } else {
		$('#order_vps_button').attr('disabled', 'disabled');
	    }
	});
		
	$('#dedicated_order_form').submit( function () {
	    if ( document.getElementById('dedicated_name_input') && ($('#dedicated_name_input').val() == '' || $('#dedicated_name_input').val() == 0)){
		red_alert_animate ('red_alert', '#dedicated_name_input', 'Не указано имя услуги!', 2000);		
		return false;
	    }
	    else {
		$('#order_dedicated_button').attr('disabled', 'disabled');
	    }
	});

        $('#packages_order_form').submit( function () {
            if ( $('#package_name').val() == "" ){
                red_alert_animate ('red_alert', '#package_name', 'Не указано имя пакета!', 2000);		
                return false;
            } else {
                $('#packages_order_button').attr('disabled', 'disabled');
            }
        });

	// кнопка on/off autorenew
        var def = $('select#autorenew_flag:selected').attr('value');
        (def == 1) ? $('select#autorenew_flag').parent().addClass('switch-off') : $('select#autorenew_flag').parent().addClass('switch-on')
        $('select#autorenew_flag').parent().click(function() {
            if($(this).hasClass('switch-on')) {
              $('option',$(this)).removeAttr('selected').filter('[value = 1]').attr('selected','selected');
              $(this).removeClass('switch-on').addClass('switch-off');
            } else {
              $('option',$(this)).removeAttr('selected').filter('[value = 0]').attr('selected','selected');
              $(this).removeClass('switch-off').addClass('switch-on');
            }
        });	
    });

    // заглушка
    function change_total_amount( obj ) { 
        var dname = obj.id.replace( /^input_/, '' );
        var domains_limit = document.getElementById('domain_limit').value;
        if ( domains.length >= domains_limit ) {
            obj.checked = 0;
        };
        if ( obj.checked ) { 
            add_dname_to_domains( dname );
            add_dname_to_lists( dname );
        }
        else {
            del_dname_from_domains( dname );
            del_dname_from_lists( dname, 1 );
        };
        if ( document.getElementById('choosed_dname_0' ).options.length > 0 ) {
            $('#choosed_dname_0').show();
        };
        //document.getElementById('domain_count_label').innerHTML = $('#avail_unavail_table input:checked').length;
        document.getElementById('domain_count_label').innerHTML =  domains.length;
	if ( $('#avail_unavail_table input:checked').length != 0 || $('#selected_domains_table input:checked').length != 0 ){
	    $('#order_hosting_button').removeAttr('disabled');
	} else {
	    setTimeout(function(){  
		$('#order_hosting_button').attr('disabled', 'disabled');  
	    }, 25);  
	}
    }

    function show_uplink_domain_way(sender, form) {
	if (sender == 'existing_domain') {
	    document.getElementById('existing_domain_tbl').style.display = '';
	    if ( document.getElementById('new_domain_tbl') != null ) {
	        document.getElementById('new_domain_tbl').style.display = 'none';
	    };
	    $('#order_hosting_button').removeAttr('disabled');
	}
	else if (sender == 'new_domain') {
	    if ( document.getElementById('existing_domain_tbl') != null ) {
	        document.getElementById('existing_domain_tbl').style.display = 'none';
	    };
	    document.getElementById('new_domain_tbl').style.display = '';
	    
	    if ( domains.length == 0 ) {
	        $('#order_hosting_button').attr('disabled','disabled');
	    };
	    
	    if ( document.getElementById('red_alert') ) {
	        $('#red_alert').remove();
	    };
	}
    }
    
    function show_person_type(sender, form) {
	if (sender == 'hosting_pp') {
	    document.getElementById('hosting_pp_fields').style.display = '';
	    document.getElementById('hosting_org_fields').style.display = 'none';
	}
	else if (sender == 'hosting_org') {
	    document.getElementById('hosting_pp_fields').style.display = 'none';
	    document.getElementById('hosting_org_fields').style.display = '';
	}
    }

    function get_choosed_dnames() {
        var result = [];
        if ( document.getElementById('hosting_count') ) {
            var hosting_count = document.getElementById('hosting_count').value;

            // Цикл по хостингам
            for(var i=0; i<hosting_count; i++) {
                var obj = document.getElementById('choosed_dname_' + i);
                if ( obj && obj.selectedIndex != -1 ) {
                    result.push( obj.options[ obj.selectedIndex ].value );
                };
            };
        };
        return result;
    }

    // Очищаем выпадающие списки от уже выбранных значений
    function clear_choosed_dnames_from_list() {
        var hosting_count = document.getElementById('hosting_count').value;
        var choosed_dnames = get_choosed_dnames();
        // Перебираем хостинги ( выпадающие списки )
        for (var i=0; i<hosting_count; i++) {
            var each_list = document.getElementById('choosed_dname_' + i);
            // Перебираем выбранные значения в выпадающих списках
            for ( var z=0; z < choosed_dnames.length; z++ ) {
                // Перебираем элементы выпадающих списков
                // Этот список перебираем в обратном порядке чтобы при удалении не сбивалась нумерация
                if ( !each_list ) { continue; };
                for ( var x=each_list.options.length; x >= 0 ; x-- ) {
                    var current_elem_not_selected = each_list.selectedIndex == -1 || choosed_dnames[z] != each_list.options[ each_list.selectedIndex ].value;
                    var current_elem_is_choosed = each_list.options[x] && each_list.options[x].value == choosed_dnames[z];
                    if ( current_elem_is_choosed && current_elem_not_selected ) {
                        each_list.remove(x);
                    };
                };
            };
        };
    }

    function add_dname_to_lists( dname ) {
        if ( document.getElementById('hosting_count') && dname ) {
            var hosting_count = document.getElementById('hosting_count').value;
            $('#hostings_block').show();
            $('#hostings_table_block').show();
            // Цикл по хостингам
            for(var i=0; i<hosting_count; i++) {
                var NewOption = new Option( dname, dname );
                var list_obj = document.getElementById('choosed_dname_' + i);
                //$('#choosed_dname_' + i).show();
                if ( !list_obj ) { continue; };
                var already_in_list = 0;
                for ( var x = 0; x < list_obj.options.length; x++ ) {
                    if ( list_obj.options[ x ].value == dname ) {
                        already_in_list = 1;
                        break;
                    };
                }
                if ( already_in_list == 0 ) {
                    list_obj.options[ list_obj.options.length ] = NewOption;
                };
            };
            // Очищаем выпадающие списки от уже выбранных значений
            clear_choosed_dnames_from_list();
            //add_dname_to_domains( dname );
        };
    }

    function del_dname_from_lists( dname, del_selected ) {
        if ( document.getElementById('hosting_count') && dname ) {
            var hosting_count = document.getElementById('hosting_count').value;
            var show_all = 0;
            var empty_list = -1;
            // Цикл по хостингам
            for(var i=0; i < hosting_count; i++) {
                var list_obj = document.getElementById('choosed_dname_' + i);
                // Цикл по элементам списка
                for ( var x=list_obj.options.length; x >= 0; x--) {
                    if ( list_obj.options[x] && list_obj.options[x].value == dname && ( list_obj.options[ list_obj.selectedIndex ].value != dname || del_selected == 1 ) ) {
                        list_obj.remove(x);
                    };
                };
                if ( list_obj.options.length == 0 ) {
                    empty_list = i;
                };
                show_all = show_all + list_obj.options.length;
            };
            if ( empty_list != -1 ) { 
                if ( empty_list == 0 ) {
                    $('#choosed_dname_' + empty_list).hide();
                }
                else {
                    del_hosting_list( 'del_hosting_list_link_' + empty_list );
                };
            };
            if ( !show_all ) {
                $('#hostings_table_block').hide();
            };
            //del_dname_from_domains( dname );
            // Очищаем выпадающие списки от уже выбранных значений
            clear_choosed_dnames_from_list();
        };
    }

    // Полностью очищаем выпадающие списки
    function clear_lists() {
        if ( !document.getElementById('hosting_count') ) { return };
        var hosting_count = document.getElementById('hosting_count').value;
        // Перебираем хостинги ( выпадающие списки )
        for ( var i = hosting_count; i >= 0; i-- ) {
            if ( i == 0 ) {
                var each_list = document.getElementById('choosed_dname_' + i);
                //if ( !each_list ) { continue; };
                each_list.length = 0;
            }
            else {
                $('#hosting_elem_' + i).remove();
            };
        };
        var checked = $('#avail_unavail_table input:checked');
        for ( var i = 0; i < checked.length; i++ ) {
            checked[i].checked = 0;
        };
	
        var checked_selected = $('#selected_domains_table input:checked');
        for ( var i = 0; i < checked_selected.length; i++ ) {
            checked_selected[i].checked = 0;
        };

        document.getElementById('hosting_count').value =
        document.getElementById('hosting_count_label').innerHTML = 1


        domains.length = 
        document.getElementById('domain_count_label').innerHTML = 0;

        document.getElementById('domain_limit').value = 
        document.getElementById('domain_limit_label').innerHTML = document.getElementById('domain_per_hosting').value;

        $('#hostings_table_block').hide();
        $('#order_hosting_button').attr('disabled','disabled');
    }

    function add_dname_to_domains( dname ) {
        var domain_list = '';
        for ( var i = 0; i < domains.length; i++ ) {
            domain_list = domain_list + domains[i] + ',';
            if ( domains[i] == dname ) {
                return 0;
            };
        }

        domains.push( dname );
        domain_list = domain_list + dname;
        document.getElementById("domain_list").value = domain_list;
        document.getElementById('domain_count_label').innerHTML =  domains.length;
        //add_dname_to_lists( dname );
    }

    function del_dname_from_domains( dname ) {
        var domains_copy = [];
        var domain_list = '';
        for ( var i = 0; i < domains.length; i++ ) {
            if ( domains[i] != dname ) {
                domain_list = domain_list + domains[i];
                if ( i < domains.length - 1 ) { domain_list = domain_list + ',' };
                domains_copy.push( domains[i] );
            };
        }
        domains = domains_copy;
        document.getElementById("domain_list").value = domain_list;
        document.getElementById('domain_count_label').innerHTML =  domains.length;
        //del_dname_from_lists( dname, 1 );
    }

    // Добавляем хостинг / выпадающий список
    function add_hosting_list() {
        if ( !document.getElementById('hosting_count') ) { return; };
        var hosting_count = document.getElementById('hosting_count').value;
        var domain_per_hosting = document.getElementById('domain_per_hosting').value;
        var add_dname;
        var add_dname_obj;
        var do_add_hosting = 0;
        if ( hosting_count == domains.length ) {
            var checklist = $('#avail_unavail_table input:unchecked');
            for ( var i = 0; i < checklist.length; i++ ) {
                if ( !checklist[i].checked && checklist[i].id ) {
                    add_dname = checklist[i].id.replace( /^input_/, '' );
                    add_dname_obj = checklist[i];
                    do_add_hosting = 1;
                    break;
                };
            };
            if ( !do_add_hosting ) { return; };
        }
        if ( hosting_count > domains.length ) { return; };
        $('#hosting_table').append('<tr id="hosting_elem_' + hosting_count + '">\
                                        <td>\
                                            <select\
                                                class="double_border"\
                                                style="vertical-align:middle;margin-top:5px; margin-bottom:5px; width:100%;"\
                                                id="choosed_dname_' + hosting_count + '"\
                                                name="choosed_dname_' + hosting_count + '"\
                                                onfocus="this.oldvalue = this.value;"\
                                                onchange="del_dname_from_lists( this.value ); add_dname_to_lists( this.oldvalue );">\
                                            </select>\
                                        </td>\
                                        <td style="width:25px;height:25px;">\
                                            <a id="del_hosting_list_link_' + hosting_count + '" style="\
                                                display:inline-block;\
                                                width:25px;\
                                                height:25px;\
                                                overflow:hidden;\
                                                text-indent:-100px;\
                                                background:url(\'/i/style/second/button/del_round_red_cross.png\') no-repeat 0 0;"\
                                                href="#" onclick="del_hosting_list( this.id ); return false;" title="Удалить хостинг">&nbsp;</a>\
                                        </td>\
                                    </tr>');
        document.getElementById('hosting_count').value = 
        document.getElementById('hosting_count_label').innerHTML = parseInt( hosting_count ) + 1;
        document.getElementById('domain_limit').value = 
        document.getElementById('domain_limit_label').innerHTML = (parseInt( hosting_count ) + 1) * parseInt( domain_per_hosting );
        if ( do_add_hosting ){
            add_dname_obj.checked = 1;
            add_dname_to_domains( add_dname );
            document.getElementById('domain_count_label').innerHTML =  domains.length;
        }

        fill_hosting_list( hosting_count );
        // Очищаем выпадающие списки от уже выбранных значений
        clear_choosed_dnames_from_list();
    }

    // Заполняем список хостинга из массива domains
    function fill_hosting_list( hosting_num ) {
        if ( typeof( hosting_num ) == 'undefined' ) { return; };

        var hosting_list = document.getElementById('choosed_dname_' + hosting_num);
        // Цикл по доменам
        var selected = 0;
        for(var z=0; z < domains.length; z++) {
            var dname_choosed = 0;
            var choosed_dnames = get_choosed_dnames();
            for (var x = 0; x < choosed_dnames.length; x++ ) {
                //alert( domains[z] + '-------' + choosed_dnames[x] );
                if ( domains[z] == choosed_dnames[x] ) {
                    dname_choosed = 1;
                    break;
                };
            };
            var NewOption = new Option( domains[z], domains[z], selected == 0, selected == 0 );
            hosting_list.options[z] = NewOption;
            if ( dname_choosed == 0 ) { 
                selected = selected + 1;
            };
        };
        if ( domains.length == 0 ) {
            $('#hostings_block').hide();
            $('#hostings_table_block').hide();
            //$('#choosed_dname_' + i).hide();
        };
    }

    function fill_all_hosting_lists() {
        if ( !document.getElementById('hosting_count') ) { return; };
        var hosting_count = document.getElementById('hosting_count').value;
        for ( var i = 0; i < hosting_count; i++ ) {

            document.getElementById('choosed_dname_' + i).options.length = 0;
            fill_hosting_list( i );
        };
    }

    function del_hosting_list( hosting_num ) {
        if ( !hosting_num || !document.getElementById('hosting_count') ) { return; };
        hosting_num = parseInt( hosting_num.replace( /^del_hosting_list_link_/, '') );
        var hosting_count = parseInt( document.getElementById('hosting_count').value );
        var new_domain_limit = document.getElementById('domain_per_hosting').value * (hosting_count - 1);

        if ( domains.length - new_domain_limit == 1 ) { 
            var choosed_hosting_dname = document.getElementById('choosed_dname_' + hosting_num).value;
            document.getElementById('input_' + choosed_hosting_dname).checked = 0;
            del_dname_from_domains( choosed_hosting_dname );
        }
        else if ( domains.length - new_domain_limit > 1 ) { 
            return;
        };

        $('#hosting_elem_' + hosting_num).remove();
        for ( var i = hosting_num + 1; i < hosting_count; i++ ) {
            var prev_id = i - 1;
            document.getElementById('hosting_elem_' + i).id = 'hosting_elem_' + prev_id;
            var choosed_dname_elem = document.getElementById('choosed_dname_' + i);
            choosed_dname_elem.id = 'choosed_dname_' + prev_id;
            choosed_dname_elem.name = 'choosed_dname_' + prev_id;
            document.getElementById('del_hosting_list_link_' + i).id = 'del_hosting_list_link_' + prev_id;
        } 

        document.getElementById('hosting_count').value = 
        document.getElementById('hosting_count_label').innerHTML = hosting_count - 1;

        document.getElementById('domain_limit').value = 
        document.getElementById('domain_limit_label').innerHTML = new_domain_limit;

        document.getElementById('domain_count_label').innerHTML =  domains.length;


        fill_all_hosting_lists();
        clear_choosed_dnames_from_list();
    }

