﻿var total_tourist = 0;
var tour_id = -1;


function PopulateTourist(id) {
    var HTML;
    HTML = "<table border=0 width=\"100%\">";
    if (id == 0) {
        var user_fio = GetFIO();
        HTML = HTML + "<tr><td class='t' colspan='3'>Данные общегражданского паспорта:</td></tr>";
        HTML = HTML + "<tr><td class='htt'>Ф.И.О.</td><td colspan='2' class='t'>"+user_fio+"</td></tr>";
    HTML = HTML + "<tr><td class='htt'>серия и номер</td><td nowrap><input style=\"width:30px\" class='t' type='input' id='OPNM' /><font class='htt'> - </font><input style=\"width:60px\" class='t' type='input' id='OPSR'></td></tr>";
    HTML = HTML + "<tr><td class='htt'>выдан:</td><td colspan='2'><input class='t' type='input' id='OVDN' style=\"width:280px\" /></td></tr>";
    HTML = HTML + "<tr><td class='htt'>адрес прописки:</td><td colspan='2'><input class='t' type='input' id='ADR' style=\"width:280px\" /></td></tr>";
    HTML = HTML + "<tr><td colspan='3'><br/></td></tr>";
    }
    HTML = HTML + "<tr><td class='t' colspan='3'>Данные заграничного паспорта:</td></tr>";
    HTML = HTML + "<tr><td class='htt'>Имя:</td><td><input class='t' type='input' id='NM_" + id + "' /></td><td class='t'><i>Имя и фамилию следует писать латинскими буквами</i></td></tr>";
    HTML = HTML + "<tr><td class='htt'>Фамилия:</td><td><input class='t' type='input' id='FM_" + id + "' /></td><td></td></tr>";
    HTML = HTML + "<tr><td class='htt'>дата рождения:</td><td><input style=\"width:60px\" class='t' type='input' id='DR_" + id + "' /></td><td class='t'><i>формат написания даты дд.мм.гггг</i></td></tr>";
    HTML = HTML + "<tr><td colspan=2><br/></td></tr>";
    HTML = HTML + "<tr><td class='htt'>серия и номер</td><td nowrap><input style=\"width:20px\" class='t' type='input' id='PNM_" + id + "' /><font class='htt'> № </font><input style=\"width:55px\" class='t' type='input' id='PSR_" + id + "'></td></tr>";
    HTML = HTML + "<tr><td class='htt'>дата выдачи:</td><td><input style=\"width:60px\" class='t' type='input' id='DV_" + id + "' /></td><td class='t'><i>формат написания даты дд.мм.гггг</i></td></tr>";
    HTML = HTML + "<tr><td class='htt'>дата окончания действия:</td><td><input style=\"width:60px\" class='t' type='input' id='DE_" + id + "' /></td><td></td></tr>";
    HTML = HTML + "<tr><td height='1' colspan='3' class='rest' ><img src='/images/empty.gif' height='1' border='0' width='290px'></tr>";
    HTML = HTML + "</table>";
    return HTML;
}


function GetFIO() {
    si_nt = "ShowTours.aspx?xn=fio";
    return(loadHTML(si_nt));

}

function ShowTTForms(id) {
    total_tourist = 0;
    tour_id = id;
    var z_forms = "<p class=\"t\" align=\"center\"><b>Персональные данные</b></p>";
    z_forms+= "<p class=\"t\">Для окончательного оформления тура требуется ввести паспортные данные <b>на всех</b> участников поездки. А также необходимы данные человека непосредственно оплачивающего тур.<br/> Все предоставленные данные неоходимы для оформления документов и заполнения бланка договора и будут использоваться сотрудниками Агентства Раз-Два Тур исключительно в служебных целях и в интересах Клиента.</p>";
    z_forms += "<p class=\"t\" align=\"center\"><table border=\"0\" width=\"650px\"  cellpadding='0' cellspacing='0'><tr><td class='t' colspan='3'></td></tr><tr><td colspan='3' align='left'>";
    Vimg = document.getElementById("LoadedTours");
    for (i = 0; i < 20; i++) {
        z_forms = z_forms + "<div id='TTF_" + i + "' style=\"display:none\"></div>";
 
    }
    z_forms += "</td></tr><tr><td colspan='3'><div id='TTF_menu'></div><br/></td></tr><tr><td width='65px' align='left'>";
    z_forms += "<div class=\"btn65\"><a href=\"JavaScript:MakeLastOperation(1);\">&lt;&nbsp;Обратно</a></div></td><td width='65px' align='left'>";
    z_forms += "<div class=\"btn65\"><a href=\"JavaScript:TTSubmitAll();\">Далее&nbsp;&gt;</a></div>";
    z_forms+="</td><td width='520px'>&nbsp;</td></tr></table></p>";
    Vimg.innerHTML = z_forms;
    AddTourist();
}

function Setmenu() {
    var vtr_menu = document.getElementById("TTF_menu");
    var menu_html = "<table width='100%'><tr><td class='htt' align='center'>";
    menu_html += "<a href='JavaScript:AddTourist();'>[+]Добавить попутчика</a>";
    if (total_tourist > 1) {
        menu_html += "&nbsp;|&nbsp;<a href='JavaScript:RemoveTourist();'>[-]Удалить попутчика</a>";
    }

  //  menu_html += "<br>Всего:" + total_tourist;
    
    menu_html += "</td></tr></table>";
    vtr_menu.innerHTML = menu_html;
  
    
}

function AddTourist() {
  
    var vtr = document.getElementById("TTF_" + total_tourist);
    if (vtr != null) {
        vtr.style.display = "";
        vtr.innerHTML = PopulateTourist(total_tourist);
        total_tourist++;
        Setmenu();
        
        
       
    }
}

function RemoveTourist() {
    total_tourist--;
    var vtr = document.getElementById("TTF_" + total_tourist);
    if (vtr != null) {
        vtr.innerHTML = "";
        vtr.style.display = "none";
        Setmenu();
       
    }
   
}


// проверка элементов
function ChkPass(nm, l) {
    nmm = String(nm);
    if (nmm == "") return false;
    if (nmm.length != l) return false;
    var numericMatchexpression = /^[0-9]+$/;

    var re = new RegExp(numericMatchexpression);

    if (!re.test(nmm)) {
        return false;
    }

    return true;


}


function ChkSpec(nm) {
    nmm = String(nm);
    if (nmm == "") return false;
      //[А-Яа-яA-Za-z0-9Ёё .,-]
    var numericMatchexpression = /^[^$#<>@&!~]+$/;

    var re = new RegExp(numericMatchexpression);

    if (!re.test(nmm)) {
        return false;
    }

    return true;


}

function ChkNames(nm) {
    nmm = String(nm);
    if (nmm == "") return false;
    var numericMatchexpression = /^[a-zA-Z]+$/;

    var re = new RegExp(numericMatchexpression);

    if (!re.test(nmm)) {
        return false;
    }

    return true;


}

function ChkDates(nm) {
    nmm = String(nm);
    if (nmm == "") return false;
    var numericMatchexpression = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/;

    var re = new RegExp(numericMatchexpression);

    if (!re.test(nmm)) {
        return false;
    }

    return true;


}


function TTSubmitAll() {

    if (total_tourist==1) {
        var answer = confirm("Вы вписали ВСЕХ попутчиков?");
        if (!answer) {
            return;
        }
    }
    
    Vimg = document.getElementById("LoadedTours");

    var q = [['TourUID', tour_id]];
    var mpi = 0;
if (!ChkSpec(document.getElementById('OPNM').value)){
 alert("ошибка в формате поля 'серия паспорта (общегр.) - недопустимые символы'");
                return;
}
if (!ChkSpec(document.getElementById('OPSR').value)){
    alert("ошибка в формате поля 'номер паспорта (общегр.)  - недопустимые символы'");
                return;
}

if (!ChkSpec(document.getElementById('OVDN').value)) {
 alert("ошибка в формате поля 'выдан: (общегр.)  - недопустимые символы'");
                return;
}

if (!ChkSpec(document.getElementById('ADR').value)){
 alert("ошибка в формате поля 'адрес прописки (общегр.)  - недопустимые символы'");
                return;
}
    q.push(['OPNM', EncUrl.encode(document.getElementById('OPNM').value)]);
    q.push(['OPSR', EncUrl.encode(document.getElementById('OPSR').value)]);
    q.push(['OVDN', EncUrl.encode(document.getElementById('OVDN').value)]);
    q.push(['ADR', EncUrl.encode(document.getElementById('ADR').value)]);
    for (i = 0; i < total_tourist; i++) {
        if (document.getElementById('NM_' + i) != null) {

            if (!ChkNames(document.getElementById('NM_' + i).value)) {
                alert("ошибка в формате поля 'Имя'(загран.)");
                return;
            }

            q.push(['NM_' + mpi, document.getElementById('NM_' + i).value]);

            if (!ChkNames(document.getElementById('FM_' + i).value)) {
                alert("ошибка в формате поля 'Фамилия'(загран.)");
                return;
            }
            q.push(['FM_' + mpi, document.getElementById('FM_' + i).value]);
            if (!ChkDates(document.getElementById('DR_' + i).value)) {
                alert("ошибка в формате даты поля 'Дата рождения'(загран.)");
                return;
            }
            q.push(['DR_' + mpi, document.getElementById('DR_' + i).value]);


            if (!ChkPass(document.getElementById('PNM_' + i).value,2)) {
                alert("ошибка в формате поля серии  паспорта (загран.)");
                return;
            }
            q.push(['PNM_' + mpi, document.getElementById('PNM_' + i).value]);

            if (!ChkPass(document.getElementById('PSR_' + i).value,7)) {
                alert("ошибка в формате поля номера паспорта (загран.)");
                return;
            }

            q.push(['PSR_' + mpi, document.getElementById('PSR_' + i).value]);

            if (!ChkDates(document.getElementById('DV_' + i).value)) {
                alert("ошибка в формате поля - 'дата выдачи паспорта' (загран.)");
                return;
            }

            q.push(['DV_' + mpi, document.getElementById('DV_' + i).value]);

            if (!ChkDates(document.getElementById('DE_' + i).value)) {
                alert("ошибка  в формате поля - 'дата окончания действия паспорта' (загран.)");
                return;
            }
            q.push(['DE_' + mpi, document.getElementById('DE_' + i).value]);
            mpi++;
        }
    }
    q.push(['count', mpi]);

    q_string = esf.getSubmitSuffix(q);

    si_nt = "ShowTours.aspx?xn=8" + q_string;
    ret_str = loadHTML(si_nt);
    v_str = ret_str.indexOf('<!--State-OK-->');
    if (v_str > -1) {
        PayTour(tour_id);
        return;
    } else {
        alert("Произошла ошибка!" + ret_str);
    }

}

