function ajax_data(query, container, text, onExecute)
{
    // создаем и загружаем обьект для подгрузки данных
    var req = null;
    // Mozilla, Safari, ...

	if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        if (req.overrideMimeType) {
            req.overrideMimeType('text/plain');
        }
    } else if (window.ActiveXObject) { // IE
        try {
            req = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                req = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }

    // callback-функция при получении данных
    req.onreadystatechange = function() {
        if(req.readyState == 4) {
            if(req.status == 200) {
                document.getElementById(container).innerHTML = req.responseText;
				onExecute();
            } else {
                document.getElementById(container).innerHTML = "Error: returned status code " + req.status + " " + req.statusText;
            }
        }
    }

    document.getElementById(container).innerHTML = text;
    req.open("GET", query+'&t='+new Date(), true);
    req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    req.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");

    // запрашиваем данные
    req.send(null);
}

function ajax_query(container, query, onExecute)
{
    // создаем и загружаем обьект для подгрузки данных
    var req = null;
    // Mozilla, Safari, ...

    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        if (req.overrideMimeType) {
            req.overrideMimeType('text/plain');
        }
    } else if (window.ActiveXObject) { // IE
        try {
            req = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                req = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }

    // callback-функция при получении данных
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
            if(req.status == 200) {
                document.getElementById(container).innerHTML = req.responseText;
                if (onExecute) onExecute(req.responseText);
            } else {
                // иначе возвращаем код и описание ошибки
                document.getElementById(container).innerHTML = "Error: returned status code " + req.status + " " + req.statusText;
            }
        }
    }


    document.getElementById(container).innerHTML = 'Загрузка...';
    req.open("GET", query+'&t='+new Date(), true);
    req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    req.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
    req.send(null);
}



/* НОВЫЕ V2 */

/* Проверить занят ли домен (см блок проверки в iclasses-коде */
function testDomain() {
    var dname = document.getElementById('xdomainnameid').value;
    var dzoneid = document.getElementById('xdomainzoneid').value;
    ajax_query('div_dname_checker', 'ajax.php?dname='+dname+'&dzoneid='+dzoneid, activateDomainSubmit);
}

/* активировать кнопку сабмита домена */
function activateDomainSubmit(content) {
    if (content == '<font color=green>Домен свободен</font>') {
        document.getElementById('submitdomainid').disabled = false;
    } else {
        document.getElementById('submitdomainid').disabled = true;
    }
}

/* СТАРЫЕ ФУНКЦИИ */

function checkdomain() {
    document.getElementById('loading-layer').style.display='block';
    ajax_data('./ajax.php?dname='+document.getElementById('xdomainname').value+'&dzoneid='+document.getElementById('xdomainprefix').value, 'xdomain', 'Пожалуйста, подождите...', new Function(" document.getElementById( 'loading-layer' ).style.display = 'none';"));
}

function checklogin() {
    if (document.form1.login.value.length<3) document.getElementById('uniq_login').innerHTML='<font color="#FF0000"> Логин должен состоять минимум из трех букв </font>';
    else ajax_data('./ajax.php?login='+document.form1.login.value, 'uniq_login', '...', new Function(""));
}


function SetDomain(d) {
    if (d == 0) {
        document.getElementById('domainprefix').style.display = 'none';
        document.getElementById('domainprefixb').style.display = 'none';
    } else {
        document.getElementById('domainprefix').style.display = 'inline';
        document.getElementById('domainprefixb').style.display = 'inline';
    }
}

function calcAll() {
    document.getElementById('hostingCost').innerHTML='';
    document.getElementById('domainCost').innerHTML='';
    document.getElementById('totalCost').innerHTML='';
    document.getElementById('switchHosting').innerHTML='';
    document.getElementById('switchDomain').innerHTML='';
    document.getElementById('switchTotal').innerHTML='';
    if (document.getElementById('hostingType').value==0){
        document.getElementById('hostingCost').innerHTML='<font color="#FF0000"> Не указан тип хостинга </font>';
        return;
    }
    if (document.getElementById('tariffPlan').value==0){
        document.getElementById('hostingCost').innerHTML='<font color="#FF0000"> Не указан тарифный план </font>';
        return;
    }
    if (document.getElementById('period').value==0){
        document.getElementById('hostingCost').innerHTML='<font color="#FF0000"> Не указан период </font>';
        return;
    }
    if (document.getElementById('cdata').innerHTML.indexOf('xdomainprefix')!=-1&&document.getElementById('xdomain').innerHTML=='&nbsp;'){
        document.getElementById('hostingCost').innerHTML='<font color="#FF0000"> Не проверено имя домена </font>';
        return;
    }

    if (document.getElementById('cdata').innerHTML.indexOf('xdomainprefix')!=-1){
        if (document.getElementById('xdomain').innerHTML.indexOf('Домен свободен')==-1){
            document.getElementById('hostingCost').innerHTML='<font color="#FF0000"> Укажите корректное имя домена </font>';
            return;
        }
        calcHosting();
        calcDomain();
        calcTotal();
        document.getElementById('switchHosting').innerHTML='Хостинг:';
        document.getElementById('switchDomain').innerHTML='Домен:';
        document.getElementById('switchTotal').innerHTML='Всего:';
    }else{
        if (document.getElementById('xdomainname2').value==''){
            document.getElementById('hostingCost').innerHTML='<font color="#FF0000"> Укажите имя домена </font>';
            return;
        }
        calcHosting();
        document.getElementById('switchHosting').innerHTML='Хостинг:';
    }
    document.getElementById('calc').disabled=0;
}

function calcHosting() {
    var hostingType = document.getElementById('hostingType').value;
    var period = document.getElementById('period').value;
    var tariff = document.getElementById('tariffPlan').value;

    ajax_query('hostingCost', './ajax.php?calc=hosting&xperiod='+period+'&xtype='+hostingType+'&xtariff='+tariff+'', '');
}

function calcDomain() {
    var hostingType = document.getElementById('hostingType').value;
    var period = document.getElementById('period').value;
    var tariff = document.getElementById('tariffPlan').value;

    var prefix = '&xprefix='+document.getElementById('xdomainprefix').value;

    var m1 = document.getElementById('mydomain1').checked;
    if (!m1) prefix = '';

    ajax_query('domainCost', './ajax.php?calc=domain&xperiod='+period+'&xtype='+hostingType+'&xtariff='+tariff+prefix, '');
}

function changeDomainName(){
    document.getElementById('calc').disabled=1;
    document.getElementById('xdomain').innerHTML='&nbsp;';
}

function calcTotal() {
    var hostingType = document.getElementById('hostingType').value;
    var period = document.getElementById('period').value;
    var tariff = document.getElementById('tariffPlan').value;

    var prefix = '&xprefix='+document.getElementById('xdomainprefix').value;

    var m1 = document.getElementById('mydomain1').checked;
    if (!m1) prefix = '';

    ajax_query('totalCost', './ajax.php?calc=total&xperiod='+period+'&xtype='+hostingType+'&xtariff='+tariff+prefix, '');
}

function enableNext(html,from_id) {
    //if (document.getElementById(from_id).innerHTML.indexOf(html)!=-1){
        document.iform.submit();
    //} else {
//        document.getElementById('xtrouble').innerHTML='<font color=red>Проверьте, чтобы доменное имя было корректно </font>';
    //}
}