
function ShowKLADRDistricts( id ) {
//    sleep (100000)
//    alert('ShowKLADRDistricts '+id);
    var pars = $H({id:id}).toQueryString();
//    alert(pars);
    new Ajax.Request (
//	root_dir+"/admin/js/php/manager.org.show.item.php",
	root_dir+"/admin/js/php/kladr.get.districts.php",
	{   method:"post", parameters:pars,
	    onSuccess : ActionAfterShowKLADRDistricts,
	    onFailure : ShowKLADRAddress
	}
    )
}

function ShowKLADRAddress() {
    enableSelect('object_address_locality_id');
    enableSelect('object_address_street');
    enableSelect('object_address_house');
    enableSelect('object_address_building');
    enableSelect('object_address_other');
}

function ActionAfterShowKLADRDistricts(transport) {
//    alert(transport.responseText);
    var newOptions = eval('(' + transport.responseText + ')');
//    var oSelectList = $('locality');
    oSelectList = $('object_address_locality_id');

//    sleep (100000)
//    clearSelect(oSelectList); // delete all OPTION & OPTGROUP

    sizeof = newOptions.length;
    if (sizeof == undefined) return
    
    i = 0;
    if (document.createElement){
        var newSelectListOption = document.createElement("OPTION");
        newSelectListOption.value = $('object_address_region_id').options[$('object_address_region_id').selectedIndex].value;//newOptions[i][0];//["ID"];
        newSelectListOption.text = '------------------------------';//newOptions[i][1];//["NAME"];
	newSelectListOption.disabled = 'disabled';//newOptions[i][1];//["NAME"];
    
        // hint: for IE & DOM which arguments are not equalented
        (oSelectList.options.add) ? oSelectList.options.add(newSelectListOption) : oSelectList.add(newSelectListOption, null);
    }else{
        // for NN3.x-4.x
        oSelectList.options[i] = new Option(0, '', false, false);
    }

    // BGN: add brands
    for (i = 0; i < newOptions.length; i++){
//	alert(newOptions[i]["name"]);
        if (document.createElement){
            var newSelectListOption = document.createElement("OPTION");
	    id = newOptions[i]['CODE']; //substr( newOptions[i]['code'], 0, 5 );
            newSelectListOption.value = id;
	    socrname = strtolower(newOptions[i]["SOCRNAME"]);
	    
//	    newSelectListOption.text = 'st=' + newOptions[i]["status"] + '_';
            newSelectListOption.text += newOptions[i]["NAME"];
	    if (socrname != "город") newSelectListOption.text += ' ' + socrname;
            // hint: for IE & DOM which arguments are not equalented
            (oSelectList.options.add) ? oSelectList.options.add(newSelectListOption) : oSelectList.add(newSelectListOption, null);
        }else{
            // for NN3.x-4.x
            oSelectList.options[i+1] = new Option(newOptions[i]['ID'], newOptions[i]['NAME'], false, false);
        }
    }
    
//    alert("locality");
    ShowKLADRAddress()
    // END: add models
}

function ShowKLADRCities( id ) {
//    alert('ShowKLADRCities '+id);
    oSelectList = $('object_address_locality_id');
    clearSelect(oSelectList); // delete all OPTION & OPTGROUP

    var pars = $H({id:id}).toQueryString();
//    alert(root_dir+"/admin/js/php/kladr.get.cities.php");
    new Ajax.Request (
	root_dir+"/admin/js/php/kladr.get.cities.php",
	{   method:"post", parameters:pars,
	    onSuccess : ActionAfterShowKLADRCities
	}
    )
}

function ActionAfterShowKLADRCities(transport) {
//    alert(transport.responseText);
    var newOptions = eval('(' + transport.responseText + ')');
    oSelectList = $('object_address_locality_id');

    sizeof = newOptions.length;
    if ( sizeof == undefined ) return;

    i = 0;
    if (document.createElement){
        var newSelectListOption = document.createElement("OPTION");
        newSelectListOption.value = $('object_address_region_id').options[$('object_address_region_id').selectedIndex].value;//'0000000000000';//newOptions[i][0];//["ID"];
        newSelectListOption.text = '';//newOptions[i][1];//["NAME"];
    
        // hint: for IE & DOM which arguments are not equalented
        (oSelectList.options.add) ? oSelectList.options.add(newSelectListOption) : oSelectList.add(newSelectListOption, null);
    }else{
        // for NN3.x-4.x
        oSelectList.options[i] = new Option(0, '', false, false);
    }

    // BGN: add brands
    for (i = 0; i < newOptions.length; i++){
//	alert(newOptions[i]["name"]);
        if (document.createElement){
            var newSelectListOption = document.createElement("OPTION");
	    id = newOptions[i]['CODE']; //substr( newOptions[i]['code'], 0, 8 );
            newSelectListOption.value = id;
	    socrname = strtolower(newOptions[i]["SOCRNAME"]);

//	    newSelectListOption.text = 'st=' + newOptions[i]["status"] + '_';
            newSelectListOption.text += newOptions[i]["NAME"];
	    if (socrname != "город") newSelectListOption.text += ' ' + socrname;

	    if (newOptions[i]["status"] == 2) { newSelectListOption.className = 'active100'; }
	    if (newOptions[i]["status"] == 1) { newSelectListOption.className = 'active20'; }

            // hint: for IE & DOM which arguments are not equalented
            (oSelectList.options.add) ? oSelectList.options.add(newSelectListOption) : oSelectList.add(newSelectListOption, null);
        } else {
            // for NN3.x-4.x
            oSelectList.options[i+1] = new Option(newOptions[i]['ID'], newOptions[i]['NAME'], false, false);
        }
    }
    // END: add models
    code = substr( newOptions[0]['CODE'], 0, 2 ) + '000000000';
    ShowKLADRDistricts( code ); 
    ShowKLADRAddress();
}

function ShowKLADRPlaces( id ) {
//    alert('ShowKLADRPlaces '+id);
    var pars = $H({id:id}).toQueryString();
//    alert(pars);
    new Ajax.Request (
//	root_dir+"/admin/js/php/manager.org.show.item.php",
	root_dir+"/admin/js/php/kladr.get.places.php",
	{   method:"post", parameters:pars,
	    onSuccess : ActionAfterShowKLADRPlaces
	}
    )
}

function ActionAfterShowKLADRPlaces(transport) {
//    alert(transport.responseText);
    var newOptions = eval('(' + transport.responseText + ')');
    var oSelectList = $('object_address_place_id');

    clearSelect(oSelectList); // delete all OPTION & OPTGROUP

    sizeof = newOptions.length;
//    alert(typeof(sizeof));
    if (sizeof == undefined) return;
    
    i = 0;
    if (document.createElement){
        var newSelectListOption = document.createElement("OPTION");
        newSelectListOption.value = '00000000000';//newOptions[i][0];//["ID"]; //$('object_address_locality_id').options[$('object_address_locality_id').selectedIndex].value;//
        newSelectListOption.text = '';//newOptions[i][1];//["NAME"];
    
        // hint: for IE & DOM which arguments are not equalented
        (oSelectList.options.add) ? oSelectList.options.add(newSelectListOption) : oSelectList.add(newSelectListOption, null);
    }else {
        // for NN3.x-4.x
        oSelectList.options[i] = new Option(0, '', false, false);
    }

    // BGN: add brands
    for (i = 0; i < newOptions.length; i++){
        if (document.createElement){
            var newSelectListOption = document.createElement("OPTION");
	    id = newOptions[i]['CODE']; //substr( newOptions[i]['code'], 0, 11 );
            newSelectListOption.value = id;
	    socrname = strtolower(newOptions[i]["SOCRNAME"]);

//	    newSelectListOption.text = 'st=' + newOptions[i]["status"] + '_';
            newSelectListOption.text += newOptions[i]["NAME"];
	    if (socrname != "город") newSelectListOption.text += ' ' + socrname;
            // hint: for IE & DOM which arguments are not equalented
            (oSelectList.options.add) ? oSelectList.options.add(newSelectListOption) : oSelectList.add(newSelectListOption, null);
        }else{
            // for NN3.x-4.x
            oSelectList.options[i+1] = new Option(newOptions[i]['ID'], newOptions[i]['NAME'], false, false);
        }
    }
    // END: add models
    enableSelect('object_address_place_id');
}

function ShowKLADRStreets( id ) {
//    alert('ShowKLADRPlaces '+id);
    var pars = $H({id:id}).toQueryString();
//    alert(pars);
    new Ajax.Request (
//	root_dir+"/admin/js/php/manager.org.show.item.php",
	"kladr.get.streets.php",
	{   method:"post", parameters:pars,
	    onSuccess : ActionAfterShowKLADRStreets
	}
    )
}

function ActionAfterShowKLADRStreets(transport) {
//    alert(transport.responseText);
    var newOptions = eval('(' + transport.responseText + ')');
    var oSelectList = $('street');

    clearSelect(oSelectList); // delete all OPTION & OPTGROUP

    sizeof = newOptions.length;
//    alert(typeof(sizeof));
    if (sizeof == undefined) return;
    
    i = 0;
    if (document.createElement){
        var newSelectListOption = document.createElement("OPTION");
        newSelectListOption.value = '0';//'000000000000000';//newOptions[i][0];//["ID"];
        newSelectListOption.text = '';//newOptions[i][1];//["NAME"];
    
        // hint: for IE & DOM which arguments are not equalented
        (oSelectList.options.add) ? oSelectList.options.add(newSelectListOption) : oSelectList.add(newSelectListOption, null);
    }else {
        // for NN3.x-4.x
        oSelectList.options[i] = new Option(0, '', false, false);
    }

    // BGN: add brands
    for (i = 0; i < newOptions.length; i++){
        if (document.createElement){
            var newSelectListOption = document.createElement("OPTION");
	    id = newOptions[i]['code']; //substr( newOptions[i]['code'], 0, 11 );
            newSelectListOption.value = id;
	    socrname = strtolower(newOptions[i]["socr"]);

//	    newSelectListOption.text = 'st=' + newOptions[i]["status"] + '_';
	//    switch (socrname) {
	//	case 'аал'		: newSelectListOption.text += newOptions[i]["name"] + ' ' + socrname;	break;
	//	case 'аллея'		: newSelectListOption.text += socrname + ' ' + newOptions[i]["name"];	break;
	//	case 'аул'		: newSelectListOption.text += newOptions[i]["name"] + ' ' + socrname;	break;
	//	case 'б-р'		: newSelectListOption.text += newOptions[i]["name"] + ' ' + socrname;	break;
	//	case 'въезд'		: newSelectListOption.text += newOptions[i]["name"] + ' ' + socrname;	break;
	//	case 'высел'		: newSelectListOption.text += newOptions[i]["name"] + ' ' + socrname;	break;
	//	case 'городок'		: newSelectListOption.text += newOptions[i]["name"] + ' ' + socrname;	break;
	//	case 'д'		: newSelectListOption.text += newOptions[i]["name"] + '. ' + socrname;	break;
	//	case 'дор'		: newSelectListOption.text += newOptions[i]["name"];	break;
	//	case 'ж/д_оп'		: newSelectListOption.text += 'ж/д пункт ' + newOptions[i]["name"];	break;
	//	case 'ж/д_будка'	: newSelectListOption.text += 'ж/д будка ' + newOptions[i]["name"];	break;
	//	case 'ж/д_казарм'	: newSelectListOption.text += 'ж/д казарма ' + newOptions[i]["name"];	break;
	//	case 'ж/д_платф'	: newSelectListOption.text += 'ж/д платформа ' + ewOptions[i]["name"];	break;
	//	case 'ж/д_ст'		: newSelectListOption.text += 'ж/д станция  ' + newOptions[i]["name"];	break;
	//	case 'ж/д_пост'		: newSelectListOption.text += 'ж/д пост ' + newOptions[i]["name"];	break;
	//	case 'ж/д_рзд'		: newSelectListOption.text += 'ж/д разъезд ' + newOptions[i]["name"];	break;
	//	case 'жт'		: newSelectListOption.text += 'жив. точка ' + newOptions[i]["name"];	break;
	//	case 'заезд'		: newSelectListOption.text += newOptions[i]["name"] + ' ' + socrname;	break;
	//	case 'казарма'		: newSelectListOption.text += newOptions[i]["name"] + ' ' + socrname;	break;
	//	case 'кв-л'		: newSelectListOption.text += newOptions[i]["name"] + ' квартал';	break;
	//	case 'км'		: newSelectListOption.text += newOptions[i]["name"] + ' ' + socrname + '.';	break;
	//	case 'кольцо'		: newSelectListOption.text += newOptions[i]["name"] + ' ' + socrname;	break;
	//	case 'линия'		: newSelectListOption.text += newOptions[i]["name"] + ' ' + socrname;	break;
	//	case 'м'		: newSelectListOption.text += newOptions[i]["name"];	break;
	//	case 'мкр'		: newSelectListOption.text += socrname + ' ' + newOptions[i]["name"];	break;
	//	case 'наб'		: newSelectListOption.text += socrname + '. ' + newOptions[i]["name"];	break;
	//	case 'нп'		: newSelectListOption.text += newOptions[i]["name"];	break;
	//	case 'остров'		: newSelectListOption.text += socrname + ' ' + newOptions[i]["name"];	break;
	//	case 'парк'		: newSelectListOption.text += socrname + ' ' + newOptions[i]["name"];	break;
	//	case 'переезд'		: newSelectListOption.text += newOptions[i]["name"] + ' ' + socrname;	break;
	//	case 'пер'		: newSelectListOption.text += socrname + '. ' + newOptions[i]["name"];	break;
	//	case 'п/р'		: newSelectListOption.text += 'район ' + newOptions[i]["name"];	break;
	//	case 'платф'		: newSelectListOption.text += 'платформа ' + newOptions[i]["name"];	break;
	//	case 'пл-ка'		: newSelectListOption.text += newOptions[i]["name"] + ' площадка';	break;
	//	case 'пл'		: newSelectListOption.text += 'площадь ' + newOptions[i]["name"];	break;
	//	case 'полуст'		: newSelectListOption.text += 'полустанок ' + newOptions[i]["name"];	break;
	//	case 'п/ст'		: newSelectListOption.text += newOptions[i]["name"];	break;
	//	case 'п'		: newSelectListOption.text += newOptions[i]["name"];	break;
	//	case 'починок'		: newSelectListOption.text += newOptions[i]["name"];	break;
	//	case 'п/о'		: newSelectListOption.text += 'почт.отд. ' + newOptions[i]["name"];	break;
	//	case 'проезд'		: newSelectListOption.text += newOptions[i]["name"] + ' ' + socrname;	break;
	//	case 'просек'		: newSelectListOption.text += newOptions[i]["name"];	break;
	//	case 'проселок'		: newSelectListOption.text += newOptions[i]["name"];	break;
	//	case 'пр-кт'		: newSelectListOption.text += newOptions[i]["name"] + ' ' + socrname;	break;
	//	case 'проулок'		: newSelectListOption.text += socrname + ' ' + newOptions[i]["name"];	break;
	//	case 'рзд'		: newSelectListOption.text += newOptions[i]["name"] + ' ' + socrname;	break;
	//	case 'сад'		: newSelectListOption.text += socrname + ' ' + newOptions[i]["name"];	break;
	//	case 'с'		: newSelectListOption.text += 'село ' + newOptions[i]["name"];	break;
	//	case 'сквер'		: newSelectListOption.text += 'сквер ' + newOptions[i]["name"];	break;
	//	case 'сл'		: newSelectListOption.text += 'слобода ' + newOptions[i]["name"];	break;
	//	case 'ст'		: newSelectListOption.text += 'станция ' + newOptions[i]["name"];	break;
	//	case 'стр'		: newSelectListOption.text += 'строение ' + newOptions[i]["name"];	break;
	//	case 'тер'		: newSelectListOption.text += newOptions[i]["name"];	break;
	//	case 'тракт'		: newSelectListOption.text += newOptions[i]["name"] + ' ' + socrname;	break;
	//	case 'туп'		: newSelectListOption.text += newOptions[i]["name"] + ' ' + socrname;	break;
	//	case 'ул'		: newSelectListOption.text += 'ул. ' + newOptions[i]["name"];	break;
	//	case 'уч-к'		: newSelectListOption.text += newOptions[i]["name"] + ' ' + socrname;	break;
	//	case 'х'		: newSelectListOption.text += newOptions[i]["name"] + ' хутор';	break;
	//	case 'ш'		: newSelectListOption.text += newOptions[i]["name"] + ' шоссе';	break;
	//	default			: newSelectListOption.text += '         ' + newOptions[i]["name"];	break;
	    //}
	    newSelectListOption.text = newOptions[i]["name"] + ' ' + socrname;
            // hint: for IE & DOM which arguments are not equalented
            (oSelectList.options.add) ? oSelectList.options.add(newSelectListOption) : oSelectList.add(newSelectListOption, null);
        }else{
            // for NN3.x-4.x
            oSelectList.options[i+1] = new Option(newOptions[i]['ID'], newOptions[i]['name'], false, false);
        }
    }
    // END: add models
    enableSelect('street');
}

function ShowOKATODistricts( id ) {
//    sleep (100000)
//    alert('ShowOKATODistricts '+id);
    var oSelectList = $('object_address_district_id');
    clearSelect(oSelectList); // delete all OPTION & OPTGROUP

    tmp = substr( id, 0, 2 );
    if ((tmp == '77') || (tmp == '78')) {
	enableSelect('object_address_district_id');
    } else {
	tmp = substr( id, 2, 3 );
	if (tmp == '000') {
	    tmp = substr( id, 5, 3 );
	    if (tmp == '000') {
		disableSelect('object_address_district_id');
		return;
	    } else {
		enableSelect('object_address_district_id');
	    }
	} else {
	    enableSelect('object_address_district_id');
	}
    }
    
    var pars = $H({id:id}).toQueryString();
//    alert(pars);
    new Ajax.Request (
//	root_dir+"/admin/js/php/manager.org.show.item.php",
	root_dir+"/admin/js/php/okato.get.districts.php",
	{   method:"post", parameters:pars,
	    onSuccess : ActionAfterShowOKATODistricts
	}
    )
}

function ActionAfterShowOKATODistricts(transport) {
    //alert(transport.responseText);
    var newOptions = eval('(' + transport.responseText + ')');
//    var oSelectList = $('locality');
    var oSelectList = $('object_address_district_id');
    clearSelect(oSelectList); // delete all OPTION & OPTGROUP

    sizeof = newOptions.length;
    if (sizeof == undefined) return;
    
    i = 0;
    if (document.createElement){
        var newSelectListOption = document.createElement("OPTION");
        newSelectListOption.value = '0';//newOptions[i][0];//["ID"];
        newSelectListOption.text = '';//newOptions[i][1];//["NAME"];
//	newSelectListOption.disabled = 'disabled';//newOptions[i][1];//["NAME"];
    
        // hint: for IE & DOM which arguments are not equalented
        (oSelectList.options.add) ? oSelectList.options.add(newSelectListOption) : oSelectList.add(newSelectListOption, null);
    }else{
        // for NN3.x-4.x
        oSelectList.options[i] = new Option(0, '', false, false);
    }

    // BGN: add brands
    for (i = 0; i < newOptions.length; i++){
//	alert(newOptions[i]["name"]);
        if (document.createElement){
            var newSelectListOption = document.createElement("OPTION");
            newSelectListOption.value = newOptions[i]['CODE'];
            newSelectListOption.text = newOptions[i]['NAME'];
            // hint: for IE & DOM which arguments are not equalented
            (oSelectList.options.add) ? oSelectList.options.add(newSelectListOption) : oSelectList.add(newSelectListOption, null);
        }else{
            // for NN3.x-4.x
            oSelectList.options[i+1] = new Option(newOptions[i]['ID'], newOptions[i]['NAME'], false, false);
        }
    }
    
//    alert("locality");
    enableSelect('object_address_district_id');
    // END: add models
}


