function addDestiny()
{
    var Destiny = parseInt(dojo.byId('cbDestinies').value);
    var tbl = document.getElementById('extra_itinerary');
    var lastRow = tbl.rows.length;
    if(Destiny>0 && lastRow<50)
    {
        getData(Destiny);
    }
}

function createCbo(id,value)
{
    var retorno = '';
    retorno += '<div autocomplete="true" dojoType="dijit.form.FilteringSelect" ';
    retorno += 'value="'+value+'"';
    retorno +=' id="cbDestinies_'+id+'" name="cbDestinies_'+id+'" searchAttr="label" store="extraStorage">';
    retorno +='<script type="dojo/method" event="onChange">';
    retorno +='updateExtras(this,'+id+')';
    retorno +='</script></div>';
    return retorno;
}

function createExtras(obj,id)
{
	extra	= 'extraop_'+id;
    var retorno = '';
    retorno+='<div class="button-add"><a class="button-add" href="javascript:wipe(\''+extra+'\'); return false;">Add Extra Activities</a></div>';
	retorno+='<div id="extraop_'+id+'" style="display:none;" ';
    retorno+='<table width="100%" border="0" cellpadding="2" cellspacing="0" bgcolor="#4C3120">';
    retorno+='<tbody id="extras_'+id+'">';
    for ( var i in obj )
    {
        retorno+='<tr><td align="right">';
        retorno+='<input id="extra_'+id+'_'+i+'"';
        retorno+=' name="extra_'+id+'_'+i+'" ';
        retorno+=' type="checkbox" ';
        retorno+=' value="'+obj[i].exov_title+'" /> ';
        retorno+=' </td><td>'+obj[i].exov_title+'</td></tr>';
    }
    retorno+='</tbody></table>';
	retorno+='</div>';
    return retorno;

}

function getData(desi) {
    try {
        x = dojo.xhrPost( {
            // The following URL must match that used to test the server.
            url : rootUrl + 'tours/json/getdestiny/destiny/' + desi,
            headers : {
                "Content-Type" : "application/x-www-form-urlencoded; charset=utf-8"
            },
            handleAs : 'json',
            preventCache : true,
            sync : true,
            timeout : 50000,
            load : function(responseObject, ioArgs) {
                console.log('Read JSON Data ... do something',
                    responseObject);
                buildContent(responseObject);
            },
            error : function(type, error) {
                console.debug(
                    "Get Data!  An error occurred: ",
                    error);
            }
        // More properties for xhrGet...
        });

    } catch (err) {
        console.debug("Holy Bomb Box, Batman!  An error occurred: ", err);
    }
}

function buildContent(obj)
{
    try{
        var tbl = document.getElementById('extra_itinerary');
        var lastRow = tbl.rows.length;
        var final_id = lastRow;
        var row = tbl.insertRow(lastRow);
        var extras		 = obj.extras;
        row.id  = 'tmp_row_'+final_id;
        var cell_5 = row.insertCell(0);
        var cell_4 = row.insertCell(0);
        var cell_3 = row.insertCell(0);
       // var cell_2 = row.insertCell(0);
        var cell_1 = row.insertCell(0);
        cell_1.innerHTML = '<div style="padding-top:16px; text-align:center;">'+final_id+'</div>';
        cell_3.innerHTML = '<div style="text-align:center; padding-top:10px; height:22px;">'+createCbo(final_id,obj.desi_id)+'</div>';
        cell_5.id = 'col_extras_'+final_id;
        if(extras)
        {
            cell_5.innerHTML = createExtras(extras,final_id);
        }
        element = 'tmp_row_'+final_id;
        dojo.parser.parse(dojo.byId(element));
    }catch (err) {
        console.debug("Build Content!  An error occurred: ", err);
    }
}

function updateExtras(desi,rowid)
{
    try {
        var element = 'col_extras_'+rowid;
        var celda = document.getElementById(element);
        celda.innerHTML = '';


        dojo.parser.parse(dojo.byId(element));

        var retorno = null;
        var  x = dojo.xhrPost( {
            // The following URL must match that used to test the server.
            url : rootUrl + 'tours/json/getdestiny/destiny/' + desi,
            headers : {
                "Content-Type" : "application/x-www-form-urlencoded; charset=utf-8"
            },
            handleAs : 'json',
            preventCache : false,
            sync : true,
            timeout : 50000,
            load : function(responseObject, ioArgs) {
                console.log('Update Extras Data ... do something',
                    responseObject);
                retorno=responseObject;
            },
            error : function(type, error) {
                console.debug(
                    "Update Extras!  An error occurred: ",
                    error);
            }
        });
        if(retorno.extras)
        {
            celda.innerHTML = createExtras(retorno.extras,rowid);
            dojo.parser.parse(dojo.byId(element));
        }
    } catch (err) {
        console.debug("Holy Bomb Box, Batman!  An error occurred: ", err);
    }
}

function updateall()
{
    //comparamos las tabls
    var tbMain      =  document.getElementById('main_itineray');
    var tbExtra     = document.getElementById('extra_itinerary');
    var totalMain   = tbMain.rows.length;
    var totalExtra  = tbExtra.rows.length;
    var dif = totalExtra - totalMain;
    if(dif>1)
    {
        insertItinerary(totalMain,dif);
    }
    updateItinerary();
}


function insertItinerary(total,dif)
{
   var Trows = total+(dif-1);
   var tbl = document.getElementById('main_itineray');
   var inicio = total+1;
   for (inicio;inicio<=Trows;inicio++)
   {
       var row = tbl.insertRow(total);
       var destino = dijit.byId('cbDestinies_'+inicio).attr('displayedValue');
       row.id = 'row_'+inicio;
       var cell_4 = row.insertCell(0);
       var cell_3 = row.insertCell(0);
       var cell_2 = row.insertCell(0);
       var cell_1 = row.insertCell(0);
       cell_4.id='col_'+inicio;
	     //cell_1.innerHTML = '<div style="text-align: center; padding-top: 15px;">'+final_id+'</div>';
       cell_1.innerHTML = '<div style="height:22px; text-align:center;">'+inicio+'</div>';
       cell_3.id = 'itinerary_tit_'+inicio;
       cell_3.innerHTML = dijit.byId('cbDestinies_'+inicio).attr('displayedValue');
       cell_2.innerHTML = 'Extra Day';
       total++;
   }
}


function updateItinerary()
{
    var tbl = document.getElementById('main_itineray');
    var totalMain   = tbl.rows.length;
    var inicio = parseInt(dojo.byId('max_itinerary').value);
    var x =1 ;
    var texto;
    inicio++;
    for(inicio;inicio<=totalMain;inicio++)
    {
        var destino = dijit.byId('cbDestinies_'+inicio).attr('displayedValue');
        var elemento = 'itinerary_tit_'+inicio;
        var celda   = document.getElementById(elemento);
        celda.innerHTML = destino;
    }

    for(x;x<=totalMain;x++)
    {
        elemento = 'col_'+x;
        celda   = document.getElementById(elemento);
        celda.innerHTML = '';
    }
    var labels=document.getElementsByTagName("INPUT"),i;
    for(i=0;i<labels.length;i++)
    {
        if(labels[i].type=='checkbox')
        {
            if(labels[i].checked)
            {
              var  texto  = labels[i].value;
              var  mytool = labels[i].id.split('_');
              var celda   = document.getElementById('col_'+mytool[1]);
              var html  = celda.innerHTML;
              if(html.length<1)
              {
                  celda.innerHTML = texto;
              }else{
                  celda.innerHTML = html+ ', '+texto;
              }
            }
        }
    }
}

function sendQuoted()
{
    if (!dijit.byId('frmCat').validate()) {
        return false;
    }
    var tbl = document.getElementById('table_itinerary');
    document.getElementById('itinerario').value ='<table>'+ tbl.innerHTML+'</table>';//tbl.innerHTML;
    document.frmCat.action = rootUrl + 'tours/index/thanks';
    document.frmCat.submit();
    return true;
}

/**
 * ./build.sh profile=standard optimize=shrinksafe.keepLines version=1.1.0mini
  cssOptimize=comments.keepLines cssImportIgnore=../dijit.css action=release
 */