/*
    Document   : Guide
    Created on : 24.11.2009, 21:29
    Author     : Volker von Choltitz <volker.von.choltitz@inzumi.de>
    Description:
*/

function addObject(baseUrl, object) {
    $.ajax({
        type: "POST",
            url: baseUrl+"/default/basket/add-object",
            data: object!=null?'p_id='+object:'',
            dataType : 'json',
            beforeSend: function(){
                $('#return').html('<div id="basket_loading_overlay">'+$('#return').html()+'</div>');
            },
            success: function(data){
                var obj = data;
                if(obj.success==1){
                    $('#return').html(1);
                }
                $('#return').html(obj.html);
            }
    });
}

function addPersonalObject(baseUrl, object) {
    $.ajax({
        type: "POST",
            url: baseUrl+"/default/basket/add-object",
            data: object!=null?'p_id='+object:'',
            dataType : 'json',            
            success: function(){}
    });
}

function addObjects(baseUrl){
    $.ajax({
        type: "POST",
            url: baseUrl+"/default/basket/add-objects",
            dataType : 'text',
            beforeSend: function(){
                $('#add_objects').after('<p><div style="text-align:center;color:#f18e00;">Bitte warten Sie einen Augenblick. Die empfohlenen Reisetipps werden in Ihren Reiseführer übernommen.</div></p>');
                $('#return').html('<div>'+$('#return').html()+'</div>');
            },
            success: function(msg){
                if(msg==1){
                    window.location.href = baseUrl+"/guide/personalize";
                }
                else{
                    
                }
            }
    });   
}

function addDestinationObjects(baseUrl, destination){
     $.ajax({
        type: "POST",
            url: baseUrl+"/default/basket/add-destination-objects",
            data: destination!=null?'d_id='+destination:'',
            dataType : 'json',
            beforeSend: function(){
                $('#return').html('<div id="basket_loading"><div>Bitte warten Sie einen Augenblick</div><img src="/images/ajax-loader.gif" alt="loader"/></div><div id="basket_loading_overlay">'+$('#return').html()+'</div>');
            },
            success: function(data){
                var obj = data;
                if(obj.success==1){
                    $('#return').html(1);
                }
                $('#return').html(obj.html);
            }
    });
}

function addObject2(baseUrl, object, destination) {
    $.ajax({
        type: "POST",
            url: baseUrl+"/default/basket/add-object",
            data: object!=null&&destination!=null?'p_id='+object+'d_id='+destination:'',
            dataType : 'json',
            beforeSend: function(){
                $('#return').html('<div id="basket_loading_overlay">'+$('#return').html()+'</div>');
            },
            success: function(data){
                var obj = data;
                if(obj.success==1){
                    $('#return').html(1);
                }
                $('#return').html(obj.html);
            }
    });
}

function addCategoryObjects(baseUrl,category,destination){
     $.ajax({
        type: "POST",
            url: baseUrl+"/default/basket/add-category-objects",
            data: category!=null&&destination!=null?'c_id='+category+'&d_id='+destination:'',
            dataType : 'json',
            beforeSend: function(){
                $('#return').html('<div id="basket_loading"><div>Bitte warten Sie einen Augenblick</div><img src="/images/ajax-loader.gif" alt="loader"/></div><div id="basket_loading_overlay">'+$('#return').html()+'</div>');
            },
            success: function(data){
                var obj = data;
                if(obj.success==1){
                    $('#return').html(1);
                }
                $('#return').html(obj.html);
            }
    });
}

function addObjectComment(baseUrl,object_comment){
     $.ajax({
        type: "POST",
            url: baseUrl+"/default/basket/add-object-comment",
            data: object_comment!=null?'pc_id='+object_comment:'',
            dataType : 'json',
            beforeSend: function(){
                $('#return').html('<div>'+$('#return').html()+'</div>');
            },
            success: function(data){
                var obj = data;
                if(obj.success==1){
                    $('#return').html(1);
                }
                $('#return').html(obj.html);
            }
    });
}

function removeObject(baseUrl, object) {
      $.ajax({
        type: "POST",
            url: baseUrl+"/default/basket/remove-object",
            data: object!=null?'p_id='+object:'',
            dataType : 'json',
            beforeSend: function(){
                $('#return').html('<div id="basket_loading_overlay">'+$('#return').html()+'</div>');
            },
            success: function(data){
                var obj = data;
                if(obj.success==1){
                    $('#return').html(1);
                }
                $('#return').html(obj.html);
            }
    });
}

function addDestination(baseUrl, destination){
    $.ajax({
        type: "POST",
            url: baseUrl+"/default/basket/add-destination",
            data: destination!=null?'d_id='+destination:'',
            dataType : 'json',
            beforeSend: function(){
                $('#return').html('<div id="basket_loading_overlay">'+$('#return').html()+'</div>');
            },
            success: function(data){
                var obj = data;
                if(obj.success==1){
                    $('#return').html(1);
                }
                $('#return').html(obj.html);
            }
    });
}

function addDestinationComment(baseUrl,destination_comment){
     $.ajax({
        type: "POST",
            url: baseUrl+"/default/basket/add-destination-comment",
            data: destination_comment!=null?'dc_id='+destination_comment:'',
            dataType : 'json',
            beforeSend: function(){
                $('#return').html('<div>'+$('#return').html()+'</div>');
            },
            success: function(data){
                var obj = data;
                if(obj.success==1){
                    $('#return').html(1);
                }
                $('#return').html(obj.html);
            }
    });
}

function setDestinationValues(baseUrl, destination, destination_description, report, practical_info, state){
    var string = destination!=null?'d_id='+destination:'';
    if(destination!=null){
        string = string + (destination_description!=null?'&destination_description='+destination_description:'');
        string = string + (report!=null?'&report='+report:'');
        string = string + (practical_info!=null?'&practical_info='+practical_info:'');
        string = string + (state!=null?'&state='+state:'');
        $.ajax({
            type: "POST",
                url: baseUrl+"/default/basket/set-destination-values",
                data: string!=null?string:'',
                dataType : 'json',               
                success: function(data){
                    var obj = data;
                    if(obj.success==1){
                        $('#return').html(1);
                    }
                    $('#return').html(obj.html);
                }
        });
    }
}

function clearBasket(baseUrl) {
    $.ajax({
        type: "POST",
            url: baseUrl+"/default/basket/clear",
            data: '',
            dataType : 'json',
            beforeSend: function(){
                $('#return').html('<div>'+$('#return').html()+'</div>');
            },
            success: function(data){
                var obj = data;
                if(obj.success==1){
                    $('#return').html(1);
                }
                $('#return').html(obj.html);
            }
    });
}

 function openDestination(baseUrl, d_id){
    //$('#destination_'+d_id).show('blind');
    $.ajax({
        type: "POST",
            url: baseUrl+"/default/basket/save-toggle-state-destination",
            data: d_id!=null?'d_id='+d_id+'&show=1':'',
            dataType : 'json',
            beforeSend: function(){
                $('#return').html('<div>'+$('#return').html()+'</div>');
            },
            success: function(data){
                var obj = data;
                if(obj.success==1){
                    $('#return').html(1);
                }
                $('#return').html(obj.html);
            }
    });
 }

 function closeDestination(baseUrl, d_id){
   // $('#destination_'+d_id).hide('blind');
    $.ajax({
        type: "POST",
            url: baseUrl+"/default/basket/save-toggle-state-destination",
            data: d_id!=null?'d_id='+d_id+'&show=0':'',
            dataType : 'json',
            beforeSend: function(){
                $('#return').html('<div>'+$('#return').html()+'</div>');
            },
            success: function(data){
                var obj = data;
                if(obj.success==1){
                    $('#return').html(1);
                }
                $('#return').html(obj.html);
            }
    });
 }

 function openCategory(baseUrl, d_id, c_id){
   // $('#category_'+id).show('blind');
    $.ajax({
        type: "POST",
            url: baseUrl+"/default/basket/save-toggle-state-category",
            data: d_id!=null?'d_id='+d_id+'&c_id='+c_id+'&show=1':'',
            dataType : 'json',
            beforeSend: function(){
                $('#return').html('<div>'+$('#return').html()+'</div>');
            },
            success: function(data){
                var obj = data;
                if(obj.success==1){
                    $('#return').html(1);
                }
                $('#return').html(obj.html);
            }
    });
 }

 function closeCategory(baseUrl, d_id, c_id){
    //$('#category_'+id).hide('blind');
    $.ajax({
        type: "POST",
            url: baseUrl+"/default/basket/save-toggle-state-category",
            data: d_id!=null?'d_id='+d_id+'&c_id='+c_id+'&show=0':'',
            dataType : 'json',
            beforeSend: function(){
                $('#return').html('<div>'+$('#return').html()+'</div>');
            },
            success: function(data){
                var obj = data;
                if(obj.success==1){
                    $('#return').html(1);
                }
                $('#return').html(obj.html);
            }
    });
 }

 function changeTitleColor(baseUrl, color){
     var color_id = color;    
     $('.guide_title_color_chooser').click(function(){
        var color_rgb = $(this).css('background-color');
        $('#guide_cover_title_background_color').css('background-color', color_rgb);
        color_id = $(this).attr('id').split('guide_color_id_');
        color_id = color_id[1];
        setGuideColor(baseUrl, color_id);
     });
     
     $('#guide_cover_title_background_color').css('background-color', $('#guide_color_id_'+color_id).css('background-color'));
 }

 function setGuideColor(baseUrl, color){
    $.ajax({
            type: "POST",
            url: baseUrl+"/default/basket/save-guide-cover-color",
            data: color!=null?'color='+color:'',
            dataType : 'text',
            success: function(msg){
                $('#return').html(msg);
            }
    });
 }

 function setGuidePicture(baseUrl, pictureId){
    $.ajax({
            type: "POST",
            url: baseUrl+"/default/basket/save-guide-cover-picture",
            data: pictureId!=null?'picture_id='+pictureId:'',
            dataType : 'text',
            success: function(msg){
                $('#return').html(msg);
            }
    });
 }

 function addGuideToBasket(baseUrl, gv_id, show_confirm_dialog, mode){
    $.ajax({
        type: "POST",
        url: baseUrl+"/default/basket/add-guide-to-basket-ajax",
        data: (gv_id!=null && show_confirm_dialog !=null)?'gv_id='+gv_id+'&show_confirm_dialog=1':gv_id!=null?'gv_id='+gv_id:'',
        dataType : 'json',
        beforeSend: function(){
            $('#return').html('<div id="basket_loading"><div>Bitte warten Sie einen Augenblick</div><img src="/images/ajax-loader.gif" alt="loader"/></div><div id="basket_loading_overlay">'+$('#return').html()+'</div>');
        },
        success: function(data){
            var obj = data;            
            $('#return').html(obj.html);
            if(obj.success==1){
               $('.reisetipp-uebernehmen').each(function(){
                    var id=$(this).attr("id").replace('add_', '');
                    var parent=$(this).parent();
                    parent.removeClass("in-den-reisefuehrer");
                    parent.addClass("aus-dem-reisefuehrer");
                    $(this).remove();
                    parent.append('<span id="remove_'+id+'" class="reisetipp-entfernen">&nbsp;</span>');
                });
            }
            if(obj.show_confirm_dialog == 1){
                showdialog(baseUrl, gv_id, mode);
            }
        }
     });
}

function editGuide(baseUrl,gv_id,show_confirm_dialog, mode){
    $.ajax({
        type: "POST",
        url: baseUrl+"/default/basket/edit-guide",
        data: (gv_id!=null && show_confirm_dialog !=null)?'gv_id='+gv_id+'&show_confirm_dialog=1':gv_id!=null?'gv_id='+gv_id:'',
        dataType : 'json',
        beforeSend: function(){
            $('#return').html('<div id="basket_loading"><div>Bitte warten Sie einen Augenblick</div><img src="/images/ajax-loader.gif" alt="loader"/></div><div id="basket_loading_overlay">'+$('#return').html()+'</div>');
        },
        success: function(data){
            var obj = data;           
            $('#return').html(obj.html);
            if(obj.success==1){               
                $('.reisetipp-uebernehmen').each(function(){
                    var id=$(this).attr("id").replace('add_', '');
                    var parent=$(this).parent();
                    parent.removeClass("in-den-reisefuehrer");
                    parent.addClass("aus-dem-reisefuehrer");
                    $(this).remove();
                    parent.append('<span id="remove_'+id+'" class="reisetipp-entfernen">&nbsp;</span>');
                });
                if(obj.show_confirm_dialog == 1){
                    showdialog(baseUrl, gv_id, mode);
                }
            }
            else{
                showErrorDialog(baseUrl,gv_id);
            }           
        }
     });
}

function publishGuide(baseUrl, g_id){
    $.ajax({
        type: "POST",
        url: baseUrl+"/default/guide/publish-guide",
        data: g_id!=null?'g_id='+g_id[0]+'&gv_id='+g_id[1]:'',
        dataType : 'text',
        success: function(msg){
            if(msg!=1){
                $('#return_add_guide_cart_messsage').html(msg);
            }
            else{
                var parent = $('#publish_guide_'+g_id[0]+'_'+g_id[1]).parent();
                $('#publish_guide_'+g_id[0]+'_'+g_id[1]).remove();
                parent.html('Reiseführer wird geprüft und anschließend freigegeben');
            }
        }
     });
}

function deleteGuide(baseUrl,guide_id){
    $.ajax({
        type: "POST",
            url: baseUrl+"/default/guide/delete-guide",
            data: guide_id!=null?'g_id='+guide_id:'',
            dataType : 'json',
            success: function(msg){
                if(msg==1){
                    var item = $('#reisefuehrer-box-'+guide_id);
                    item.hide();
                }
                else{
                    $('#return_add_guide_cart_messsage').html(msg);
                }
            }
    });
}

function removeDestination(baseUrl,d_id){
    $.ajax({
        type: "POST",
        url: baseUrl+"/default/basket/remove-destination",
        data: d_id!=null?'d_id='+d_id:'',
        dataType : 'json',
        beforeSend: function(){
            $('#return').html('<div id="basket_loading_overlay">'+$('#return').html()+'</div>');
        },
        success: function(data){
            var obj = data;
            if(obj.success==1){
                $('#return').html(1);
            }
            $('#return').html(obj.html);
        }
     });
}

function showdialog(baseUrl, gv_id, mode){
    var content = '<p><strong>Bitte beachten Sie!</strong></p><div>Die Reiseführerbox enthält mindestens ein Reiseziel und möglicherweise auch Ihre persönlichen Inhalte. Diese werden mit den Inhalten des zu übernehmenden Reiseführers vollständig ersetzt.</div>';
    var title = 'Inhalte des Reiseführers übernehmen';
    var okLabel = "Inhalte übernehmen";
    var cancelLabel = "Abbrechen";

    if(mode == 'edit'){
        content = '<p><strong>Bitte beachten Sie!</strong></p><div>Die Reiseführerbox enthält mindestens ein Reiseziel und möglicherweise auch Ihre persönlichen Inhalte. Diese werden mit den Inhalten des zu bearbeitenden Reiseführers vollständig ersetzt.</div>';
        title = 'Inhalte des Reiseführers bearbeiten';
        okLabel = "Inhalte bearbeiten";
    }

    var buttons = {};
    buttons[cancelLabel] = function(){
                            $(this).dialog("close");
                            $(this).dialog('destroy');
                            return false;
                        }
    buttons[okLabel] =  function() {
                            $(this).dialog("close");
                            if(mode == 'add'){
                                addGuideToBasket(baseUrl, gv_id, 1, mode);
                            }
                            else{
                                editGuide(baseUrl, gv_id, 1, mode);
                            }

                            $(this).dialog('destroy');
                            return true;
                        }    
    
    $("#basket_dialog").html(content);
    $("#basket_dialog").dialog({
                    bgiframe: true,
                    resizable: false,
                    title: title,
                    height:200,
                    scroll:false,
                    width:400,
                    autoOpen:false,
                    modal: true,
                    buttons: buttons                    
    });
    if(!$("#basket_dialog").dialog('isOpen')){
        $("#basket_dialog").dialog('open');
    }
}

function showErrorDialog(baseUrl, gv_id){
    var content = '<p><strong>Bitte beachten Sie!</strong></p><div>Dieser Reiseführer wurde von einem anderen inzumi-Mitglied erstellt. Sie können diesen leider nicht bearbeiten.</div><div>Möchten Sie die Inhalte des Reiseführers übernehmen?</div>';
    var title = 'Diesen Reiseführer können sie leider nicht bearbeiten';   
    var cancelLabel = "Abbrechen";
    var okLabel = "Inhalte übernehmen";

    var buttons = {};
    buttons[cancelLabel] = function(){
                            $(this).dialog("close");
                            $(this).dialog('destroy');
                            return false;
                        }
    buttons[okLabel] =  function() {
                            $(this).dialog("close");
                            addGuideToBasket(baseUrl, gv_id, null, 'add');
                            $(this).dialog('destroy');
                            return true;
                        }

    $("#basket_dialog").html(content);
    $("#basket_dialog").dialog({
                    bgiframe: true,
                    resizable: false,
                    title: title,
                    height:200,
                    scroll:false,
                    width:400,
                    autoOpen:false,
                    modal: true,
                    buttons: buttons
    });
    if(!$("#basket_dialog").dialog('isOpen')){
        $("#basket_dialog").dialog('open');
    }
}