/*
 * Independent escort room actions
 */
$(document).ready(function(){
    $("a[href='#escortEditPersonal']").click( function() {
        $("input[name='action']").val("edit_personal");
        $("form[name='escortProfileForm']").submit();
        return false;
    });
    $("a[href='#escortEditLocations']").click( function() {
        $("input[name='action']").val("edit_locations");
        $("form[name='escortProfileForm']").submit();
        return false;
    });
    $("a[href='#escortEditRates']").click( function() {
        $("input[name='action']").val("edit_rates");
        $("form[name='escortProfileForm']").submit();
        return false;
    });
    $("a[href='#escortEditCatsAndServices']").click( function() {
        $("input[name='action']").val("edit_cats_and_services");
        $("form[name='escortProfileForm']").submit();
        return false;
    });
    $("a[href='#escortEditContact']").click( function() {
        $("input[name='action']").val("edit_contact");
        $("form[name='escortProfileForm']").submit();
        return false;
    });
    $("a[href='#escortEditDescription']").click( function() {
        $("input[name='action']").val("edit_description");
        $("form[name='escortProfileForm']").submit();
        return false;
    });
    $("a[href='#escortAddPhysicalCharacteristics']").click( function() {
        $("input[name='action']").val("add_ph");
        $("form[name='escortProfileForm']").submit();
        return false;
    });
    $("a[href='#escortEditPhysicalCharacteristics']").click( function() {
        $("input[name='action']").val("edit_ph");
        $("form[name='escortProfileForm']").submit();
        return false;
    });
    /**
     * Escort room menu actions
     */
    $("a[href='#escortEditProfile']").click( function() {
        $("input[name='action']").val("edit_profile");
        $("form[name='escortMenuForm']").submit();
        return false;
    });
    $("a[href='#escortChangePassword']").click( function() {
        $("input[name='action']").val("change_password");
        $("form[name='escortMenuForm']").submit();
        return false;
    });
    $("a[href='#escortPhotos']").click( function() {
        $("input[name='action']").val("viewPhotos");
        $("form[name='escortMenuForm']").submit();
        return false;
    });
    $("a[href='#escortAddPhoto']").click( function() {
        $("input[name='action']").val("addPhoto");
        $("form[name='escortPhotosForm']").submit();
        return false;
    });
    $("#deletePhotoDialog").dialog({
        bgiframe: true,
        autoOpen: false,
        width: 300,
        height: 160,
        modal: true,
        buttons: {
            'No': function() {
                $(this).dialog('close');
            },
            'Yes': function() {
                $("form[name='escortPhotosForm']").submit();
            }
        }
    });
    $("form[name='escortPhotosForm'] a[href='#deletePhoto']").click(function() {
        $("input[name='action']").val("deletePhoto");
        $("input[name='photo_id']").val($(this).attr('rel'));
        $("#deletePhotoDialog").dialog('open');
        return false;
    });
    $("#deleteAccountDialog").dialog({
        bgiframe: true,
        autoOpen: false,
        width: 300,
        height: 160,
        modal: true,
        buttons: {
            'No': function() {
                $(this).dialog('close');
            },
            'Yes': function() {
                $("form[name='escortMenuForm']").submit();
            }
        }
    });
    $("a[href='#deleteAccount']").click( function() {
        $("input[name='action']").val("deleteAccount");
        $("#deleteAccountDialog").dialog('open');
        return false;
    });

    $('select#uk_region_registration').change(function(){
        var regionId = $(this).val();
        if (regionId == "") {
            $('select#main_location_id option').remove();
            $('select#main_location_id').parent().parent().hide();
            return;
        }
        
        $.post("ajax",
               {
                   func: "loadLocationsList",
                   region_id: regionId
               },
               function(data){
                   var len = data.length;
                   if (len > 0) {
                       var mainLocationId = $('input#main_location_id_value').val();
                       var options = '<option value="0">---</option>';
                       for (var i = 0; i < data.length; i++) {
                           if (data[i]['id'] == mainLocationId) {
                               options += '<option value="' + data[i]['id']+ '" selected="yes">' + data[i]['title'] + '</option>';
                           } else {
                               options += '<option value="' + data[i]['id']+ '">' + data[i]['title'] + '</option>';
                           }
                       }
                       $("select#main_location_id").html(options);
                       $('select#main_location_id').parent().parent().show();
                   } else {
                       $('select#main_location_id option').remove();
                       $('select#main_location_id').parent().parent().hide();
                   }
               },
               "json"
        );
    });
    $('select#uk_region_registration').change();

    // Multiple dropdown lists for locations

    $('select#uk_regions').change(function(){
        var regionIds = "";
        $('select#uk_regions :selected').each(function(i, selected) {
            regionIds += "," + $(selected).val();
        });

        if (regionIds == "") {
            $('select#coveringLoc option').remove();
            $('select#coveringLoc').parent().parent().hide();
            return;
        } else {
            regionIds = regionIds.substr(1);
        }

        $.post("ajax",
               {
                   func: "loadLocationsListMultiple",
                   region_ids: regionIds
               },
               function(data){
                   var len = data.length;
                   if (len > 0) {
                       var coveringLocationsIdsString = $('input#coveringLocationsIdsString').val();
                       var coveringLocationsIdsList = coveringLocationsIdsString.split(",");
                       function in_array(what, where) {
                           for (var i = 0; i < where.length; i++) {
                               if (what == where[i]) {
                                   return true;
                               }
                           }
                           return false;
                       }
                       var options = "";
                       for (var i = 0; i < data.length; i++) {
                           if (in_array(data[i]['id'], coveringLocationsIdsList)) {
                               options += '<option value="' + data[i]['id']+ '" selected="yes">' + data[i]['title'] + '</option>';
                           } else {
                               options += '<option value="' + data[i]['id']+ '">' + data[i]['title'] + '</option>';
                           }
                       }
                       $("select#coveringLoc").html(options);
                       $('select#coveringLoc').parent().parent().show();
                   } else {
                       $('select#coveringLoc option').remove();
                       $('select#coveringLoc').parent().parent().hide();
                   }
               },
               "json"
        );
    });
    $('select#uk_regions').change();

    $("a#selectAllLocations").click( function() {
        $('select#coveringLoc option').attr('selected', "yes");
        return false;
    });
});
