function _loadData(ev)
{
    if (this.name) initData(this);
}
function _loadDataPress(ev)
{
    if (this.name) initDataPress(this);
}


function initData(obj)
{
    var parentForm = obj.parentNode;
    var request = 'http://www.karta-smi.ru/gmodule/sform.php?d=1';

    request += getFormQS(obj.form)+'&name='+obj.name;

    oS = document.createElement("script");
    oS.setAttribute("src",request);
    oS.setAttribute("name",'loadScript');
    oS.setAttribute("id",'loadScript');

    document.body.appendChild(oS);
}

function initDataPress(obj)
{
    var parentForm = obj.parentNode;
    var request = 'http://www.karta-smi.ru/gmodule/pressform.php?d=1';

    request += getFormQS(obj.form)+'&name='+obj.name;

    oS = document.createElement("script");
    oS.setAttribute("src",request);
    oS.setAttribute("name",'loadScript');
    oS.setAttribute("id",'loadScript');

    document.body.appendChild(oS);
}


function updateSelect(name,groupName,evalMethod)
{
    var selectObj = document.getElementById(name);
    if (selectObj) {
        if (selectObj.type == 'select-one') {
            selectObj.options.length = 0;

            if (data[name].options.length == 0) {
                if (name == 'region_id') {
                    opt = new Option(' ', '0', false, false);
                    selectObj.options[0] = opt;
                    selectObj.disabled = false;
                } else {
                    selectObj.disabled = true;
                }
            } else {
                selectObj.disabled = false;
                for (i=0; i < data[name].options.length; i++) {
                    var intIndexOfMatch = 1;
                    string = data[name].options[i][1];
                    
                    while (intIndexOfMatch != -1){
                        // Relace out the current instance.
                        string = string.replace( "&nbsp;", " ");
                        // Get the index of any next matching substring.
                        intIndexOfMatch = string.indexOf( "&nbsp;" );
                    }
                    
                    opt = new Option(string, data[name].options[i][0], false, false);
                    selectObj.options[i] = opt;
                }
            }
        } else if (selectObj.type == 'text') {
            selectObj.value = data[name].options[0][1];
        } else if (selectObj.type == 'textarea') {
            selectObj.value = data[name].options[0][1].replace(/<br>/g, "\n");;
        }
        

        if (evalMethod) {
            eval(evalMethod);
        }
    }
}

function unlinkData()
{
  if(navigator.appName == 'Netscape')
    document.body.removeChild(document.getElementById('loadScript'));
}

function getFormQS(objForm)
{
    var qs = '';

    for (i=0; i<objForm.elements.length; i++) {
        if (objForm.elements[i].type != 'submit' && objForm.elements[i].type != 'textarea') {
            qs += '&'+objForm.elements[i].name+'='+objForm.elements[i].value;
        }
    }

    return qs;
}

function showLoadCaption(name)
{
    var selectObj = document.getElementById(name);
    if (selectObj && selectObj.type == 'select-one') {
        opt = new Option('Загружается...', '', false, false);
        selectObj.options[0] = opt;
    }
}

function init(name) 
{
    obj = document.getElementById('q['+name+']');
   // initData(obj);
    obj.onchange = _loadData;
}

function initPress(name) 
{
    obj = document.getElementById('qp['+name+']');
   // initData(obj);
    obj.onchange = _loadDataPress;
}


init('country');
init('CityId');

