﻿
var globalPaxIndex=-1;
var globalPaxTd=-1;
var globalSegTd=-1;
var globalJourney = 0;
var globalSegment = 0;
var globalIdJS = 0;
var globalYourSeatLabel=0;
var lastCol=0;
var lastRow=0;
var seats= new Array(10);
var imgIds=new Array(10);
var globalFirstPaxIndex=-1;
var globalContactRepeat=true;
var globalPaxCount=-1;
var currentSeatOrder = 0;
var alertNoSeat = true;

function showWait() {
    $.blockUI({ message: '<div><img src="images/loading.gif"/></div>', css: { width: '273px', left: '43%' }});
}

function hideWait() {
    $.unblockUI();
}
function showHoldStatus(msg) {
    $.blockUI({ message: '<div>'+msg+'</div>', css: { width: '273px', left: '43%' }});
}
function showHoldStatusReload(msg) {
    $.blockUI({ message: '<div style="font-size:18px;color:#FF0000;">'+msg+'</div>', css: { width: '273px', left: '43%' }});
}
function hideHoldStatus() {
    $.unblockUI();
}
function hideHoldStatusReload() {
    $.unblockUI();
    var segJourney = (globalJourney * 10) +globalSegment;
    switch (segJourney){
        case 0:
        $("td[@name='tdDep1'] table").click();
        break;
        case 1:
        $("td[@name='tdDep2'] table").click();
        break;
        case 2:
        $("td[@name='tdDep3'] table").click();
        break;
        case 10:
        $("td[@name='tdArr1'] table").click();
        break;
        case 11:
        $("td[@name='tdArr2'] table").click();
        break;
        case 12:
        $("td[@name='tdArr3'] table").click();
        break;
    
    }
}
function startImgArray(val){
    var data=val.split("/");
    for(var i=0;i<10;i++){
        try{
            imgIds[data[i].substring(0,1)] = data[i].substring(1,data[i].length);
        }catch(err){}
    }
    
}



function setHeight()
{   

    var tr, td;
    tr = document.createElement('tr');  
    td = document.createElement('td');  
    tr.appendChild(td);
    td.setAttribute('id','tdSpaceBlock');
    td.setAttribute('colspan','2');
    td.setAttribute('colSpan','2');
    //td.innerHtml = "asfasdfas";
    
    td.appendChild(document.createTextNode(" "));
   
        
    var altura = ($('.tableSeatMapMain').height())-(($('.tablePaxContainer tr').length)*50);
    
    if(altura >= 0)
    {
        td.height = altura+"px;";
    }
    
    
    $('.tablePaxContainer tbody').append(tr);
    
    
    
    var x;
            
}
function markAsHold(){
    for(var i =0; seatOrder.length;i++){
        if(seatOrder[i]==null)
            return;
        if((seatOrder[i].journeyIndex==globalJourney)&&(seatOrder[i].segIndex==globalSegment)&&($('.tdPaxSel').get(0).innerHTML==seatOrder[i].paxName)){
            seatOrder[i].seatHold = true;
            return;
        }
        
    }
}

function countOpenSeat(){
    var seatCount=$('.tdSeatOpen').length;
    if((seatCount<=0)&&(alertNoSeat)){
        alertNoSeat = false;
        alert("Por favor dirija-se ao balção no aeroporto para fazer a reserva de sua poltrona.");
        return;
    }
}
function lookForNextPax(hold){
     
     if(hold){
        markAsHold();
        countOpenSeat();
    }else{
        var paxes = $(".tdPaxNotSel").eq(0).click();
    }
    for(var i =0; seatOrder.length;i++){
        if(seatOrder[i]==null)
            return;
        if(seatOrder[i].seatHold==null){
            currentSeatOrder=i;
            setNextPax(seatOrder[i]);
            return;
        }
    }
}

function setNextPax(seatOrder){
    if((globalJourney!=seatOrder.journeyIndex)||(globalSegment!=seatOrder.segIndex)){
        var segJourney = (seatOrder.journeyIndex * 10) +seatOrder.segIndex;
        switch (segJourney){
            case 0:
            $("td[@name='tdDep1'] table").click();
            break;
            case 1:
            $("td[@name='tdDep2'] table").click();
            break;
            case 2:
            $("td[@name='tdDep3'] table").click();
            break;
            case 10:
            $("td[@name='tdArr1'] table").click();
            break;
            case 11:
            $("td[@name='tdArr2'] table").click();
            break;
            case 12:
            $("td[@name='tdArr3'] table").click();
            break;
        
        }
    }
    var paxes = $(".tdPaxNotSel:contains('"+seatOrder.paxName+"')").click();
    
}

function setSegment( journey,segment,idJS,pax,idJSPax,idImage,idTdItinerary) 
{   
    showWait();
    seats = new Array(10);
    globalIdJS = idJS;
    globalJourney=journey;
    globalSegment=segment;
    $('#tdSeatSelected').empty().get(0);
    $('.tdItinerarySel').removeClass('tdItinerarySel').addClass('tdItinerary');
    
    
    var tdItinerary=document.getElementById(idTdItinerary);
    tdItinerary.setAttribute("className","tdItinerarySel");
    tdItinerary.setAttribute("class","tdItinerarySel");
    
    
    
    $.ajax({url:"Checkin3_select_segment.aspx?segment="+segment+"&journey="+journey+"&pax="+globalPaxIndex+"&datetime="+Math.random(), dataType:'json', timeout: 80000, 
    success: function(data) 
    {
        var i=data;
        var aircraftCabin = $('table#aircraft tbody').empty().get(0); 
        $('.tablePaxContainer td:even').removeClass('imgSeatSelUsrSel').removeClass('imgSeatSelUsrNotSel').removeClass('imgSeatNotSelUsrSel').addClass('imgSeatNotSelUsrNotSel');
        
        var tdImgSeatSel=document.getElementById(imgIds[globalPaxIndex]);
        tdImgSeatSel.setAttribute("className","imgSeatNotSelUsrSel");
        tdImgSeatSel.setAttribute("class","imgSeatNotSelUsrSel");
        
        for(var row = data.cab.length-1;row>=0;row--){
        //for(var row = 0;row<data.cab.length;row++){
            var tr = document.createElement('tr');
            var tdLetter = document.createElement('td');
            //tdLetter.innerHTML = "-"+ String.fromCharCode('A'.charCodeAt()+ row);
            tdLetter.innerHTML = data.cab[row].c;
            tdLetter.setAttribute("className","labelLetter");
            tdLetter.setAttribute("class","labelLetter");
            tr.appendChild(tdLetter);
            if(row == data.cab.length-1){
                var trWallIni = document.createElement('tr');
                var tdWallIni = document.createElement('td');
                trWallIni.appendChild(tdWallIni);
                //first collum, need wing and first wall
                for(var collum=0;collum<data.cab[0].col.length;collum++){
                    tdWallIni = document.createElement('td');
                    if(data.cab[row].col[collum].s.w==1){
                        if(data.cab[row].col[collum-1].s.w!=1){
                            tdWallIni.innerHTML = "";
                            tdWallIni.setAttribute("className","tdWingIniFirst");
                            tdWallIni.setAttribute("class","tdWingIniFirst");
                        }else if(data.cab[row].col[collum+1].s.w!=1){
                            tdWallIni.innerHTML = "";
                            tdWallIni.setAttribute("className","tdWingIniLast");
                            tdWallIni.setAttribute("class","tdWingIniLast");
                        }else{
                            tdWallIni.innerHTML = "";
                            tdWallIni.setAttribute("className","tdWingIni");
                            tdWallIni.setAttribute("class","tdWingIni");
                        }
                    }else{
                        tdWallIni.innerHTML="";
                        tdWallIni.setAttribute("className","tdWallIni");
                        tdWallIni.setAttribute("class","tdWallIni");
                    }
                    trWallIni.appendChild(tdWallIni);
                }
                aircraftCabin.appendChild(trWallIni);
            }
               
            for(var collum=0;collum<data.cab[0].col.length;collum++){
                var tdSeat = document.createElement('td');
                    //tdSeat.innerHTML = " s:"+data.cab[row].col[collum].s.a + " p:"+data.cab[row].col[collum].s.p+ " l:"+data.cab[row].col[collum].s.l;
                    tdSeat.setAttribute("id",data.cab[row].col[collum].s.r+""+data.cab[row].c);
                    if(IsNumeric(data.cab[row].col[collum].s.a)){
                        seats[data.cab[row].col[collum].s.a]=data.cab[row].col[collum].s.r+""+data.cab[row].c;
                        if(data.cab[row].col[collum].s.a==globalPaxIndex){
                            try{
                                var tdImg=document.getElementById(imgIds[data.cab[row].col[collum].s.a]);
                                tdImg.setAttribute("className","imgSeatSelUsrSel");
                                tdImg.setAttribute("class","imgSeatSelUsrSel");
                            }catch(err){}
                        }else{
                            try{
                                var tdImg=document.getElementById(imgIds[data.cab[row].col[collum].s.a]);
                                tdImg.setAttribute("className","imgSeatSelUsrNotSel");
                                tdImg.setAttribute("class","imgSeatSelUsrNotSel");
                            }catch(err){}
                        }
                    }
                    
                    //tdSeat.cla
                    if(data.cab[row].col[collum].s.a=="O"){
                        tdSeat.setAttribute("className","tdSeatOpen");
                        tdSeat.setAttribute("class","tdSeatOpen");
                        
                         (function(c,r){
                            tdSeat.onclick =  function(){holdSeat(c,r);};
                            })(data.cab[row].c,data.cab[row].col[collum].s.r);
                        //tdSeat.setAttribute("onclick","holdSeat('"+data.cab[row].c+"','"+data.cab[row].col[collum].s.r+"');");
                        //tdSeat.onclick="holdSeat('"+data.cab[row].c+"','"+data.cab[row].col[collum].s.r+"');";
                    }else if(data.cab[row].col[collum].s.a==globalPaxIndex) {
                        tdSeat.setAttribute("className","tdSeatYour");
                        tdSeat.setAttribute("class","tdSeatYour");
                        var tdSeatSel = $('#tdSeatSelected').empty().get(0);
                        tdSeatSel.innerHTML = data.cab[row].col[collum].s.r+""+data.cab[row].c;
                    }else{
                        tdSeat.setAttribute("className","tdSeatBlock");
                        tdSeat.setAttribute("class","tdSeatBlock");
                        
                                          
                    }
                    tr.appendChild(tdSeat);     
            }
            
            
            
            
            $('td#tdSpaceBlock').removeClass("imgSeatNotSelUsrNotSel");

            aircraftCabin.appendChild(tr);

            if(row == 0){
                var trWallEnd = document.createElement('tr');
                var tdWallEnd = document.createElement('td');
                trWallEnd.appendChild(tdWallEnd);
                for(var collum=0;collum<data.cab[0].col.length;collum++){
                    tdWallEnd = document.createElement('td');
                    if(data.cab[row].col[collum].s.w==1){
                        if(data.cab[row].col[collum-1].s.w!=1){
                            tdWallEnd.innerHTML = "";
                            tdWallEnd.setAttribute("className","tdWingEndFirst");
                            tdWallEnd.setAttribute("class","tdWingEndFirst");
                        }else if(data.cab[row].col[collum+1].s.w!=1){
                            tdWallEnd.innerHTML = "";
                            tdWallEnd.setAttribute("className","tdWingEndLast");
                            tdWallEnd.setAttribute("class","tdWingEndLast");
                        }else{
                            tdWallEnd.innerHTML = "";
                            tdWallEnd.setAttribute("className","tdWingEnd");
                            tdWallEnd.setAttribute("class","tdWingEnd");
                        }
                    }else{
                        tdWallEnd.innerHTML="";
                        tdWallEnd.setAttribute("className","tdWallEnd");
                        tdWallEnd.setAttribute("class","tdWallEnd");
                    }
                    trWallEnd.appendChild(tdWallEnd);
                }
                aircraftCabin.appendChild(trWallEnd); 
            }  
            var c1 = data.cab[row].col[0].s.p;
            var c2 = "L";
            if(c1==c2){
                var trCenterCollum = document.createElement('tr');
                var tdCenterCollum = document.createElement('td');
                trCenterCollum.appendChild(tdCenterCollum);
                for(var collum=0;collum<data.cab[0].col.length;collum++){
                    tdCenterCollum = document.createElement('td');
                    tdCenterCollum.innerHTML = data.cab[row].col[collum].s.r;
                    trCenterCollum.appendChild(tdCenterCollum);
                    tdCenterCollum.setAttribute("className","labelLetter");
                    tdCenterCollum.setAttribute("class","labelLetter");
                }
                aircraftCabin.appendChild(trCenterCollum); 
            }  
    }
    try
    {
        var elemLast=document.getElementById(globalSegTd);
        elemLast.setAttribute("class","tableHeaderInfo");
        elemLast.setAttribute("className","tableHeaderInfo");
        
         var div = $('#' + idJS +' div'); 
         div.addClass("arrow");
        
        
    }
    catch(err){}
    try{
        globalSegTd = idJS;
        var elem=document.getElementById(idJS);
        
        elem.setAttribute("class","tableHeaderInfoSel");
        elem.setAttribute("className","tableHeaderInfoSel");
        
        var divSelect = $('.arrowSelect');
        if(divSelect.length!=0)
        {
            divSelect.removeClass("arrowSelect");
            divSelect.addClass("arrow");
        }
        var div = $('#' + idJS +' div'); 
        
        div.removeClass("arrow");
        div.addClass("arrowSelect");
        
        div.innerHTML="&nbsp;";
       
       var altura = $('.tableHeaderInfoSel').height();
       
       if($.browser.mozilla) {
        $('.arrowSelect').css('top', (altura+16) + 'px');
       } else {    
        $('.arrowSelect').css('top', (altura+21) + 'px');
       }
       
        
    }catch(err2){}
    if(idJSPax!=-1){
        //setPax(pax,idJSPax,idImage);   
    }
     $('#aircraft').css('width',$('#aircraft tr:first td').length*48+'px');
     countOpenSeat();
    hideWait();
},
        
    error:function(data)
    {       
        var i=data; 
        hideWait();
        alert("falha");
    }  });  
}
function setPax(pax,idJS,idImage) 
{
var tdOldImg = document.getElementById(imgIds[globalPaxIndex]);
if(seats[globalPaxIndex]!=null){
    tdOldImg.setAttribute("class","imgSeatSelUsrNotSel");
    tdOldImg.setAttribute("className","imgSeatSelUsrNotSel");
}else{
    tdOldImg.setAttribute("class","imgSeatNotSelUsrNotSel");
    tdOldImg.setAttribute("className","imgSeatNotSelUsrNotSel");
}

var tdSeatSel = $('#tdSeatSelected').empty().get(0);
try{
    var seatInfo= seats[globalPaxIndex];
    item= document.getElementById(seatInfo);
    item.setAttribute("className","tdSeatBlock");
    item.setAttribute("class","tdSeatBlock");  
    item.setAttribute("onclick",""); 
}catch(err){}

try{
    var seatInfo= seats[pax];
    var item= document.getElementById(seatInfo);
    item.setAttribute("className","tdSeatYour");
    item.setAttribute("class","tdSeatYour");  
    item.setAttribute("onclick",""); 
    tdSeatSel.innerHTML = seatInfo;
}catch(err){}

if(globalPaxTd!=-1){
    var elemLast=document.getElementById(globalPaxTd);
    elemLast.setAttribute("class","tdPaxNotSel");
    elemLast.setAttribute("className","tdPaxNotSel");
}

globalPaxTd = idJS;
globalPaxIndex=pax;
var elem=document.getElementById(idJS);

elem.setAttribute("class","tdPaxSel");
elem.setAttribute("className","tdPaxSel");
//setSegment(globalJourney,globalSegment,globalIdJS);

elem = document.getElementById(idImage);
try{
    if(seats[globalPaxIndex].length>0){
        elem.setAttribute("class","imgSeatSelUsrSel");
        elem.setAttribute("className","imgSeatSelUsrSel");
    }else{
        elem.setAttribute("class","imgSeatNotSelUsrSel");
        elem.setAttribute("className","imgSeatNotSelUsrSel");
    }
}catch(err)
{
    elem.setAttribute("class","imgSeatNotSelUsrSel");
    elem.setAttribute("className","imgSeatNotSelUsrSel");
}


}
function holdSeat(col,row) 
{   
    showWait();

     $.ajax
    (
        {url:"JSON/holdSeat.aspx?col="+col+"&row="+row+"&pax="+globalPaxIndex+"&seg="+globalSegment+"&jour="+globalJourney, dataType:'json', timeout: 60000, 
            success: function(data) 
            {
                var i=data; 
                if(data.hold=="1"){
               
                    lastCol=col;
                    lastRow=row;
                    var item= document.getElementById(row+""+col);
                    item.setAttribute("className","tdSeatYour");
                    item.setAttribute("class","tdSeatYour");  
                    item.setAttribute("onclick",""); 
                    
                    var seatN = seats[globalPaxIndex];
                    try{
                        var item2 = document.getElementById(seatN);
                        item2.setAttribute("className","tdSeatOpen");
                        item2.setAttribute("class","tdSeatOpen");
                        (function(c,r){
                        item2.onclick =  function(){holdSeat(c,r);};
                        })(seatN.substring(1,seatN.length),seatN.substring(0,1));
                    }catch(err){}
                            
                    try{
                        var tdImg=document.getElementById(imgIds[globalPaxIndex]);
                        tdImg.setAttribute("className","imgSeatSelUsrSel");
                        tdImg.setAttribute("class","imgSeatSelUsrSel");
                    }catch(err){}
                                
                    seats[globalPaxIndex]=row+""+col;
                    //alert("sucesso");
                    //setSegment(globalJourney,globalSegment,globalIdJS);
                    var tdSeatSel = $('#tdSeatSelected').empty().get(0);
                    tdSeatSel.innerHTML = row+""+col;
                    
                    hideWait();
                    lookForNextPax(true);
                    showHoldStatus('Assento Reservado com Sucesso!');
                    setTimeout("hideHoldStatus()",1500);
                }else{
                    hideWait();
                    showHoldStatusReload('Não foi possível reservar o assento.');
                    setTimeout("hideHoldStatusReload()",3000);
                    
                }
            },
        
            error:function(data)
            {       
                var i=data; 
                hideWait();
                hideHoldStatus();
               
            }  
        }
    );  
    
}



function IsNumeric(sText)

{
   var ValidChars = "0123456789,.";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
   { 
       Char = sText.charAt(i); 
       if (ValidChars.indexOf(Char) == -1) 
       {
            IsNumber = false;
       }
   }
   return IsNumber;   
}


function setUpJS(initialJourney, segment, idJs,paxIndex,idTdPax,idImagePax,idTdHeader)
{
    setSegment(initialJourney,segment,idJs,paxIndex,idTdPax,idImagePax,idTdHeader);
   
}

function verifyAllDocSel(paxIndex){
    if((globalFirstPaxIndex==paxIndex)&&globalContactRepeat&&(globalPaxCount>1)){
        verifyContactInfoRepeat();
    }
    var vecDoc = $('.txtDoc');
    for(var i=0; i<vecDoc.length; i++){
        var elem = vecDoc[i];
        if(elem.value==""){
            blockButtonContinue();
            return false;
        }
    }
    var chkNoContact=document.getElementById("chkNoContactInfo");
    if(!chkNoContact.checked){
        vecDoc = $('.txtContactInfoName');
        for(var i=0; i<vecDoc.length; i++){
            var elem = vecDoc[i];
           if(elem.value==""){
                blockButtonContinue();
                return false;
            }
        }
        
        vecDoc = $('.txtRelationshipNivel');
        for(var i=0; i<vecDoc.length; i++){
            var elem = vecDoc[i];
            if(elem.value==""){
                blockButtonContinue();
                return false;
            }
        }
        vecDoc = $('.txtContactInfoAreaCode');
        for(var i=0; i<vecDoc.length; i++){
            var elem = vecDoc[i];
            if(elem.value==""){
                blockButtonContinue();
                return false;
            }
        }
        vecDoc = $('.txtLabelContactInfoPhone');
        for(var i=0; i<vecDoc.length; i++){
            var elem = vecDoc[i];
            if(elem.value==""){
                blockButtonContinue();
                return false;
            }
        }
    }
    unBlockButtonContinue();
    return true;
}

function verifyDocs(){
    var checkedDocs=verifyAllDocSel(-1);
    if(checkedDocs)
        return true;
    else{
        alert('Por favor preencher os dados.');
        return false;    
    }
            
    
}

function verifyContactInfoRepeat(){

    var vecCIN = $('.txtContactInfoName');
    if(vecCIN[0].value=="")
        return;
    
    var vecRN = $('.txtRelationshipNivel');
    if(vecRN[0].value=="")
        return;
        
//    var vecCIAC = $('.txtContactInfoAreaCode');
  //  if(vecCIAC[0].value=="")
    //    return;
        
    var vecCIP = $('.txtLabelContactInfoPhone');
    if(vecCIP[0].value=="")
        return;
        
    var repeatContact = confirm ("Deseja Repetir o contato anterior em todos os campos?")
    globalContactRepeat=false;
    if(repeatContact){
        var CIN = vecCIN[0].value;
        var RN = vecRN[0].value;
      //  var CIAC = vecCIAC[0].value;
        var CIP = vecCIP[0].value;
        vecCIN.attr('value',CIN);
        vecRN.attr('value',RN);
        //vecCIAC.attr('value',CIAC);
        vecCIP.attr('value',CIP);
        
        
    }
}

function blockButtonContinue(){
    //$('.btnContinueCheckin').attr('src','images/continue2.png').attr('disabled',true);

}

function unBlockButtonContinue(){
    //$('.btnContinueCheckin').attr('src','images/continue.png').attr('disabled',false);

}


function checkUserId(){

    if($('.txtUserId').val()!=""){
        return true;
    }else{
        alert('Por favor insira o código.');
        return false;
    }
}

var pnrSel = "";
function pnrContinue(pnr) {
    pnrSel=pnr;
    $('#LinkButtonPopupFareRule').click();

}

function onAgreementContinue() {
    if ($('div#facebox2 #agreementInput').attr('checked')) {
        //$('#pnrContinue input').click();
        window.location = "Checkin2.aspx?pnr=" + pnrSel;
    } else {
        alert("Você deve concordar com os termos de compromisso");
    }
}

function verifySeats(){
    showWait();

     $.ajax
    (
        {url:"JSON/verifySeats.aspx", dataType:'json', timeout: 60000, cache: false, 
            success: function(data) 
            {
                var i=data; 
                if(data.allHold==1)
                    $('.btnDoc').click();
                else{
                    alert('For favor, escolha todos os assentos.');
                }
                
                hideWait();
            },
        
            error:function(data)
            {       
                var i=data; 
                
                hideWait();
                alert("Falha ao tentar verificar assentos.");
            }  
        }
    );
}

function orderCheckin2()
{

    var tablesJQ = $('.tableInfo')
    var containerDiv=$('#ctl00_ContentPlaceHolder1_pnlPax').empty().get(0);
    var tables=tablesJQ.get();
    for(var i=0; i<tablesJQ.length; i++){
        var tableSel=tablesJQ.eq(i);
        var paxName=$('.tdTableInfoName span',tableSel).get(0).innerHTML;
        tablesJQ.get(i).paxName=paxName;       
    }
    var swap=true;
    while(swap){
        swap=false;
        for(var j=0;j<tables.length-1;j++){
            if(tables[j].paxName > tables[j+1].paxName){
                var tmp= tables[j];
                tables[j]= tables[j+1];
                tables[j+1]=tmp;
                swap=true;
            }
        }
    }
    for(var k=0;k<tables.length;k++){
        $('#ctl00_ContentPlaceHolder1_pnlPax').append(tables[k]);
    }
    $('td.tdCkeck input').click(checkboxCheck);
    checkboxCheck();
  
}