//-------------------------
// VPS с администрированием + трафик платный
//-------------------------
var vps_adm_traf_pay=new Array();
vps_adm_traf_pay["plans"]=new Array("VPS с администрированием “Корпоративный“ (5 Gb, 1 домен)",
                               "VPS c администрированием “Мини“ (5 Gb, 10 доменов)",
                               "1. VPS с администрированием (10 Gb, 15 доменов)",
                               "2. VPS с администрированием (20 Gb, 25 доменов)",
                               "3. VPS c администрированием (30 Gb, 40 доменов)",
                               "4. VPS c администрированием (40 Gb, неогр)");
vps_adm_traf_pay["cost"]=new Array(25,27,30,45,75,150);
vps_adm_traf_pay["terms"]=new Array(1,2,3,6,12);
//-------------------------
// VPS с администрированием + трафик бесплатный
//-------------------------
var vps_adm_traf_free=new Array();
vps_adm_traf_free["plans"]=new Array("VPS с администрированием “Корпоративный“ (5 Gb, 1 домен)",
                               "VPS c администрированием “Мини“ (5 Gb, 10 доменов)",
                               "1. VPS с администрированием (10 Gb, 15 доменов)",
                               "2. VPS с администрированием (20 Gb, 25 доменов)",
                               "3. VPS c администрированием (30 Gb, 40 доменов)",
                               "4. VPS c администрированием (40 Gb, 80 доменов)"
                               );
vps_adm_traf_free["cost"]=new Array(30,35,50,55,90,175);
vps_adm_traf_free["terms"]=new Array(1,2,3,6,12);

//-------------------------
// VPS без администрирования
//-------------------------
var vps_noadm_traf_pay=new Array();
vps_noadm_traf_pay["plans"]=new Array("5. VPS без администрирования (5 Gb, неогр. доменов)",
                                "6. VPS без администрирования (10 Gb, неогр. доменов)",
                                "7. VPS без администрирования (20 Gb, неогр. доменов)",
                                "8. VPS без администрирования (30 Gb, неогр. доменов)",
                                "9. VPS без администрирования (40 Gb, неогр. доменов)"
                                );
vps_noadm_traf_pay["cost"]=new Array(17,20,30,50,100);
vps_noadm_traf_pay["terms"]=new Array(1,2,3,6,12);
//-------------------------
// VPS без администрирования bel
//-------------------------
var vps_noadm_traf_free=new Array();
vps_noadm_traf_free["plans"]=new Array("5. VPS без администрирования (5 Gb, неогр. доменов)",
                                "6. VPS без администрирования (10 Gb, неогр. доменов)",
                                "7. VPS без администрирования (20 Gb, неогр. доменов)",
                                "8. VPS без администрирования (30 Gb, неогр. доменов)",
                                "9. VPS без администрирования (40 Gb, неогр. доменов)"
                                );
vps_noadm_traf_free["cost"]=new Array(25,40,45,55,105);
vps_noadm_traf_free["terms"]=new Array(1,2,3,6,12);

//--------------------------------
// VPS без администрирования win
//--------------------------------
var vps_noadm_win_traf_pay=new Array();
vps_noadm_win_traf_pay["plans"]=new Array("1. WIN-VPS без администрирования (10 Gb, неогр. доменов)",
                                "2. WIN-VPS без администрирования (20 Gb, неогр. доменов)",
                                "3. WIN-VPS без администрирования (30 Gb, неогр. доменов)",
                                "4. WIN-VPS без администрирования (40 Gb, неогр. доменов)",
                                "5. WIN-VPS без администрирования (50 Gb, неогр. доменов)");
vps_noadm_win_traf_pay["cost"]=new Array(20,25,35,70,125);
vps_noadm_win_traf_pay["terms"]=new Array(1,2,3,6,12);
//-------------------------------
// VPS без администрирования win
//-------------------------------
var vps_noadm_win_traf_free=new Array();
vps_noadm_win_traf_free["plans"]=new Array("1. WIN-VPS без администрирования (10 Gb, неогр. доменов)",
                                "2. WIN-VPS без администрирования (20 Gb, неогр. доменов)",
                                "3. WIN-VPS без администрирования (30 Gb, неогр. доменов)",
                                "4. WIN-VPS без администрирования (40 Gb, неогр. доменов)",
                                "5. WIN-VPS без администрирования (50 Gb, неогр. доменов)");

vps_noadm_win_traf_free["cost"]=new Array(27,34,67,101,135);
vps_noadm_win_traf_free["terms"]=new Array(1,2,3,6,12);

// OS
var sys=new Array();
sys['unix']="Debian GNU/Linux";
sys['win']="Windows";

//-------------------------
// округляет число вверх до ближайшего целого
function myround(amount) 
{
    amount=(Math.round(amount*100))/100;
    return (amount==Math.floor(amount)) ? amount : Math.floor(amount)+1;
}

// округляет число до кратного 10
function roundfiz(amount)
{
    amount=(Math.round(amount/10))*10;
    return amount;
}

// округляет число с показом сотых
function cent(amount) 
{
    amount=(Math.round(amount*100))/100;
    return (amount==Math.floor(amount)) ? amount : ((amount*10 == Math.floor(amount*10)) ? amount + '0' : amount);
}

// округляет число value вверх до ближайшего целого, кратного заданному number.
function nearest(value,number) 
{
    var ceil=Math.ceil(value);
    var remainder=value%number;
    if (remainder>0) value=value-remainder+number;
        return value;
}
function update_os()
{
    $("#os").selectedIndex=0;
    $("#plan").selectedIndex=0;
    update_items();
}

function update_items(domain_check)
{
    if(domain_check==undefined)
    {
        domain_check=true;
    }
    
    var discount=new Array();
    var temp=new Array();

    var dname=new String();
    var dname=$("#doman").attr('value');
    //var Otraf_limit=document.getElementById("traf_limit");
    var s1=$("#s1").attr('checked');
    var objOS=$("#os");
    var objAdmtype=$("#adm_type");
    var objPlan=$("#plan");
    var traf_type=$("#traf_type").attr('value');

    var no_support=$("#s3").attr('checked');
    if(no_support!=true && domain_check==true)
    {
        if (dname.length==0)
        {
            alert('Не введено имя домена.');
            return -1;
        }
        dname=dname.replace(/\..*/gi,"");
        var zone=$("#zona").val();
        dname+=zone;
        $("#doman").attr('value',dname);
    }

    if (objOS.val()=="unix")
    {
        $("#websrv").val(0);
        if(objAdmtype[0].length!=2)
        {
            objAdmtype.empty();
            $("<option></option>").attr("value", 'vps_adm').attr("selected", 'selected').html("VPS c администрированием").appendTo(objAdmtype);
            $("<option></option>").attr("value", 'vps_noadm').html("VPS без администрирования").appendTo(objAdmtype);
        }

    }
    else if(objOS.val()=="win")
    {
        $("#websrv").val(2);
        objAdmtype.empty();
        $("<option></option>").attr("value", 'vps_noadm').html("VPS без администрирования").appendTo(objAdmtype);
    }

    var SelectedPlan ='';
    if(objOS.val()=="unix")
    {
        
        if(objAdmtype.val()=='vps_adm')
        {
            if(traf_type=='1')
            {
                SelectedPlan = vps_adm_traf_free;
            }
            else
            {
                SelectedPlan = vps_adm_traf_pay;
            }
        }
        else
        {
            if(traf_type=='1')
            {
                SelectedPlan = vps_noadm_traf_free;
            }
            else
            {
                SelectedPlan = vps_noadm_traf_pay;
            }
        }
    }
    else if(objOS.val()=="win")
    {
            
            if(traf_type=='1')
            {
                SelectedPlan = vps_noadm_win_traf_free;
            }
            else
            {
                SelectedPlan = vps_noadm_win_traf_pay;
            }
    }

    if(SelectedPlan["plans"] && SelectedPlan["plans"][0] != '')
    {
        objPlan.empty();
        for (i=0;i<SelectedPlan["plans"].length;i++)
        {
            $("<option></option>").attr("value", i).html(SelectedPlan["plans"][i]).appendTo(objPlan);
        }
    }
}

function chan()
{
    var suma=0;
    var sum_by=0;
    var zakaz="";
    var new_order=$("#s1").attr('checked');
    var transfer=$("#s2").attr('checked');
    var no_support=$("#s3").attr('checked');
    var dname=$("#doman").attr('value');
    var summa=$("#summa");

    var objOS=$("#os :selected");
    var objAdmtype=$("#adm_type :selected");
    var objPlan=$("#plan :selected");
    var objTraf_type=$("#traf_type :selected");
    var objTerm=$("#term :selected");
    var objZona = $("#zona :selected");
    var zona_txt = objZona.text();

    var is_by = 0;
    if(dname.indexOf('.by')>=0)
    {
        is_by = 1;
    }

    zakaz+="Белорусский ДЦ\n";

    if(no_support!=true)
    {
        if (dname.length<=0 )
        {
            alert("Вы не указали домен");
            return false;
        }
       if (dname.length<=2)
        {
          alert('Имя домена слишком короткое.');
          return false;
        }

         zakaz+="Домен - "+dname+"\n";;
    }

//    document.forms.hosting.sum.value=suma;
    $("#summa").attr('value',suma);

if (objTraf_type.val()=='0') { alert("Вы не выбрали Зарубежный трафик"); return false; }
zakaz+="Зарубежный трафик - "+objTraf_type.text()+"\n";
// проверка выбора платформы
if (objOS.val()<=0) { alert("Вы не выбрали Операционную систему"); return false; }
zakaz+="Операционная система - "+objOS.text()+"\n";

// проверка выбора типа тарифного плана
if (objAdmtype.val()=='') { alert("Вы не выбрали Тип тарифного плана"); return false; }
zakaz+="Тип тарифного плана - "+objAdmtype.text()+"\n";

// проверка выбора тарифного плана
if (objPlan.val()=='') { alert("Вы не выбрали Тарифный план"); return false; }
zakaz+="Тарифный план - "+objPlan.text()+"\n";

// проверка выбора срока оплаты
if (objTerm.val()=='') { alert("Вы не выбрали срок заказа"); return false; }
zakaz+="Срок заказа (месяцев) - "+objTerm.text()+"\n";

//web-server
zakaz+="Тип Web-сервера:  "+$("#websrv option:selected").text()+"\n\n";

    if(objOS.val()=="unix")
    {
        if(objAdmtype.val()=='vps_adm')
        {
            if(objTraf_type.val()=='1')
            {
                SelectedPlan = vps_adm_traf_free;
            }
            else
            {
                SelectedPlan = vps_adm_traf_pay;
            }
        }
        else
        {
            if(objTraf_type.val()=='1')
            {
                SelectedPlan = vps_noadm_traf_free;
            }
            else
            {
                SelectedPlan = vps_noadm_traf_pay;
            }
        }
    }
    else if(objOS.val()=="win")
    {
            if(objTraf_type.val()=='1')
            {
                SelectedPlan = vps_noadm_win_traf_free;
            }
            else
            {
                SelectedPlan = vps_noadm_win_traf_pay;
            }
    }
    suma= (SelectedPlan['cost'][objPlan.val()]*SelectedPlan['terms'][objTerm.val()]);
    if(objTerm.val()==4)
    {
        suma = myround(suma - suma/10);
    }
//    al
// новая регистрация или поддержка домена
if (new_order || transfer) 
{
         if (new_order==true)
            {
                    zakaz+="Регистрация домена в зоне ";
                    zakaz+=zona_txt;
            }
            else if(transfer==true)
            {
                zakaz+="Перенос и поддержка домена ";
            }
            // домен  срок 1 год
            if (objTerm.val()==4)
                {

                  if(zona_txt=='.by' || zona_txt=='.tv' || zona_txt=='.mobi')
                    {
                            sum_by=myround((suma*usd)+roundfiz(domainpr_year[zona_txt]*usd))*1.20;
                            suma+=domainpr_year[zona_txt];
                    }
                    else zakaz+=" (бесплатно)";
                }
                else 
                {
                    sum_by=myround((suma*usd)+roundfiz(domainprice[zona_txt]*usd))*1.20;
                    suma+=domainprice[zona_txt];
                }
            zakaz+="\n";
}
else
{
    zakaz+="Регистрации и поддержки домена не требуются";
}
//   document.forms.hosting.sum.value=cent(suma);
    //zakaz+="\n----------------------------------\nОбщая стоимость - "+document.forms.hosting.sumusd.value+" у.е.";
        if(no_support==true || sum_by==0)
        {
            sum_by=suma*usd*1.20;
        }

        sum_by=roundfiz(sum_by);        
        nds_by=myround(sum_by-(sum_by/1.20));

        zakaz_by=zakaz+"\nИтого: "+sum_by+" бел.руб (в том числе НДС "+nds_by+" бел.руб)\n----------------------------------\n";
        zakaz=zakaz+"\n----------------------------------\n";
        $("#zakaz_by").attr('value',zakaz_by);
        $("#zakaz").attr('value',zakaz);
        $("#sumby").attr('value',sum_by);
        $("#sumusd").attr('value',suma);
        $("#sum").attr('value',suma);        
        $("#dzona").attr('value',zona_txt);

return true;
}

function order()
{
    if ($("#s1").attr('checked')==true)
     {
        check_domain2(1);
    }
    else
    {
        Check_RegForm();
    }
}

function Check_RegForm()
{
      if ($("#s1").attr('checked')==true)
      {
        if (!update_domain()) return false;
      }
      if (!chan()) return false;
      var sum_by = $("#sumby").attr('value');
      var sum_usd = $("#sumusd").attr('value');
      var sum = $("#sum").attr('value');
      var dzone=$("#zona :selected").val();

	if ($("#adm_type :selected").val()=='') { alert("Вы не выбрали Тип тарифного плана"); return false; }
	if (sum>0) 
	{
        if (confirm("Все ли правильно?\n\n"+$("#zakaz").attr('value')+"\n" ))
             {
                if(parseInt(sum_by.value)>0 && dzone=='.by' && $("#s3").attr('checked')==false)
                {
	    	    sum_usd.value= cent(sum_by.value/usd_order);
	        }
                else
	        {
    	            sum_usd.value= sum.value;
                }
//                objBY.display="none";
                document.hosting.submit();
              }
        else
             {return false;}

	} else return false;
}


function sel_tarif(opt_id)
{
    var objOS=$("#os");
    var objAdmtype=$("#adm_type");
    var objPlan=$("#plan");
    var objTraf_type=$("#traf_type");
    var objTerm=$("#term");
    var opt_arr = new String(opt_id);
    //opt_arr = opt_id;
    var v_arr = opt_arr.split("-");
    opt_id = v_arr[0];

    //  traf type
    objTraf_type.val(v_arr[1]);
    // 1 year
    objTerm.val(4);
    os='';
    if(opt_id<=10)
    {
        os='unix';
        objOS.val('unix');
    }
    else
    {
        os='win';
        objOS.val('win');
        $("#websrv").val(2);
    }

    update_items(false);
    if(opt_id>=5)
    {
        if(os=='win')
        {
            opt_id=opt_id-11;
        }
        else
        {
            opt_id=opt_id-6;
        }
        objAdmtype.val('vps_noadm');
    }
    else
    {
        objAdmtype.val('vps_adm');
    }
    update_items(false);

    objPlan.val(opt_id);

}