
function cuisine_selected (cuisine_id) {
    if (cuisine_id != window.current_cuisine) {
        createCookie("current_cuisine", cuisine_id, 1);
        $("#cuisine_div_" + window.current_cuisine).toggleClass("active");
        window.current_cuisine = cuisine_id;
        all_cuisine_deselect();
        $("#cuisine_div_" + cuisine_id).toggleClass("active");
        refresh_order_lists();
        if(window.document.title!='undefined') {
			window.document.title='Buenos Aires Delivery ' + cuisine[cuisine_id];
        }
    }
}

function all_cuisine_selected () {
	window.current_cuisine = 'ALL';
	$("div[id^='cuisine_div_']").toggleClass("active",true);
	refresh_order_lists();
}

function all_cuisine_deselect () {
	$("div[id^='cuisine_div_']").removeClass("active");
}

function neighbourhood_selected (neighbourhood_id) {
    if (neighbourhood_id != window.current_neighbourhood) {
        createCookie("current_neighbourhood", neighbourhood_id, 1);
        $("#neighbourhood_li_" + window.current_neighbourhood).toggleClass("active");
        window.current_neighbourhood = neighbourhood_id;
        $("#neighbourhood_li_" + neighbourhood_id).toggleClass("active");
        refresh_order_lists();
    }
}

function restaurant_selected (restaurant_id) {
    clear_cart();
    createCookie("current_restaurant", restaurant_id, 1);
}

function refresh_order_lists() {
    var count = 0;
    var glob_retrieved_data;
    $("#online_order_ul").slideUp(300);
    $("#phone_order_ul").slideUp(300);
    $("#closed_restaurants_order_ul").slideUp(300, function(){
        count++;
        if (count == 2) {
            $("#restaurant_lists_div").html(glob_retrieved_data);
            $("#online_order_ul").slideDown(300);
            $("#phone_order_ul").slideDown(300);
            $("#closed_restaurants_order_ul").slideDown(300);
        }
    });
    $.post(window.dev + "/code/php/run_function.php", {
        function_to_call: "get_home_restaurant_lists",
        cuisine_id: window.current_cuisine,
        neighbourhood_id: window.current_neighbourhood,
        current_language: window.current_language
    }, function(retrieved_data){
        if(retrieved_data.length > 0) {
            glob_retrieved_data = retrieved_data;
            count++;
            if (count == 2) {
                $("#restaurant_lists_div").html(glob_retrieved_data);
                $("#online_order_ul").slideDown(300);
                $("#phone_order_ul").slideDown(300);
                $("#closed_restaurants_order_ul").slideDown(300);
            }
        }
    });

/*
    refresh_order_list ("online");
    refresh_order_list ("phone");
    refresh_order_list ("closed_restaurants");*/
}

/*function refresh_order_list (order_type) {
    var count = 0;
    var glob_retrieved_data;
    $("#" + order_type + "_order_ul").slideUp(300, function(){
        count++;
        if (count == 2) {
            $("#" + order_type + "_order_ul").html(glob_retrieved_data);
            $("#" + order_type + "_order_ul").slideDown(300);
        }
    });
    $.post(window.dev + "/code/php/run_function.php", {
        function_to_call: "get_home_" + order_type + "_order_list",
        cuisine_id: window.current_cuisine,
        neighbourhood_id: window.current_neighbourhood,
        current_language: window.current_language
    }, function(retrieved_data){
        if(retrieved_data.length > 0) {
            glob_retrieved_data = retrieved_data;
            count++;
            if (count == 2) {
                $("#" + order_type + "_order_ul").html(retrieved_data);
                $("#" + order_type + "_order_ul").slideDown(300);
            }
        }
    });
}*/

function add_item_to_cart(menu_item_id, price_type_id) {
    var cart_restaurant_id = readCookie("cart_restaurant_id");
    if (cart_restaurant_id != window.current_restaurant) {
        clear_cart();
    }
    createCookie("cart_restaurant_id", window.current_restaurant);
    var cart = readCookie("cart");
    if (cart == null) cart = '';
    var cart_items = new Array();
    cart_items = cart.split("::");
    var found = false;
    for ( var x = 0 ; x < cart_items.length ; x++ ) {
        var item_parts = new Array();
        item_parts = cart_items[x].split(",");
        if (menu_item_id == item_parts[0] && item_parts[1] == price_type_id) {
            item_parts[2]++;
            cart_items[x] = item_parts.join(",");
            found = true;
            break;
        }
    }
    if (found == false) cart_items[cart_items.length] = menu_item_id + "," + price_type_id + ",1";
    createCookie("cart", cart_items.join("::"), 30);
    refresh_guest_check_div();
    $("#loading_div").hide();
}

function remove_item_from_cart(menu_item_id, price_type_id) {
    var cart = readCookie("cart");
    if (cart == null) cart = '';
    var cart_items = new Array();
    cart_items = cart.split("::");
    for ( var x = 0 ; x < cart_items.length ; x++ ) {
        var item_parts = new Array();
        item_parts = cart_items[x].split(",");
        if (menu_item_id == item_parts[0] && item_parts[1] == price_type_id) {
            item_parts[2]--;
            if (item_parts[2] == 0) cart_items.splice(x, 1);
            else cart_items[x] = item_parts.join(",");
            break;
        }
    }
    createCookie("cart", cart_items.join("::"), 30);
    refresh_guest_check_div();
}

function refresh_guest_check_div() {
    refresh_cart();
    refresh_cart_total();
    refresh_cart_action_buttons();
}

function refresh_cart() {
    var count = 0;
    var glob_retrieved_data;
    $("#guest_check_inner_content").stop(true, true).slideUp(300, function(){
    	$("#loading_div").show();
        count++;
        if (count == 2) {
            $("#guest_check_inner_content").html(glob_retrieved_data);
            $("#guest_check_inner_content").slideDown(300);
            $("#loading_div").hide();
        }
    });
    $.post(window.dev + "/code/php/run_function.php", {
        function_to_call: "get_cart"
    }, function(retrieved_data){
        if(retrieved_data.length > 0) {
            glob_retrieved_data = retrieved_data;
            count++;
            if (count == 2) {
                $("#guest_check_inner_content").html(retrieved_data);
                $("#guest_check_inner_content").slideDown(300);
                $("#loading_div").hide();
            }
        }
    });
    $("#loading_div").hide();
}

function refresh_cart_total() {
    $.post(window.dev + "/code/php/run_function.php", {
        function_to_call: "get_cart_total"
    }, function(retrieved_data){
        if(retrieved_data.length > 0) {
            $("#total_amount_span").text("$" + retrieved_data);
        }
    });
}

/*function refresh_cart_action_buttons(cart_total) {
    if (cart_has_stuff() == true) {
        $('#cancel_order_button_div').slideDown(300);
        if (cart_total < window.restaurant_order_min) {
            $('#next_step_button_div').slideUp(300);
            $('#finalize_order_button_div').slideUp(300);
            $('#minimum_order_div').slideDown(300);
        } else {
            $('#next_step_button_div').slideDown(300);
            $('#finalize_order_button_div').slideDown(300);
            $('#minimum_order_div').slideUp(300);
        }
    }
    else $(".order_in_progress").hide();
}*/

function refresh_cart_action_buttons() {
    $.post(window.dev + "/code/php/run_function.php", {
        function_to_call: "get_cart_action_buttons"
    }, function(retrieved_data){
        //alert('volvio del get_cart_action_buttons');
        $("#cart_action_buttons_div").html(retrieved_data);
        if (cart_has_stuff() == true) $("#cancel_order_button_div").slideDown(300);
        else $("#cancel_order_button_div").slideUp(300);
    });
}

function cart_has_stuff() {
    var cart = readCookie("cart");
    if (cart == null || cart == '' || cart == '::') return false;
    else return true;
}

function cancel_order() {
    clear_cart();
    if (window.current_page != "home") go_back_to_home();
}

function clear_cart_and_refresh() {
    clear_cart();
    refresh_cart();
}

function clear_cart() {
    createCookie("cart","",1);
}

function finalize_order() {
    var form = document.getElementById("deliver_to_form");
    $.post(window.dev + "/code/php/run_function.php", {
        function_to_call: "finalize_order",
        name: form.name.value,
        address: form.address.value,
        phone: form.phone.value,
        email: form.email.value,
        unit: form.unit.value,
        closest_cross_street: form.closest_cross_street.value,
        comments: form.comments.value,
        how_did_you_hear_about_us: form.how_did_you_hear_about_us.value,
        restaurant_id: window.current_restaurant,
        neighbourhood_id: window.current_neighbourhood,
        change: $("#pay_with_input").attr("value")
    }, function(retrieved_data){
        if(retrieved_data.length > 0) {
            if (retrieved_data.substring(0,4) != "fail") {
                clear_cart();
                go_forward_to_confirmation(retrieved_data);
            } else {
            	alert(retrieved_data.substring(5,retrieved_data.length));
            }
        }
    });
}

function go_forward_to_confirmation(order_md5) {
    $(document.body).html('<form id="hidden_post_form" action="' + window.dev + '/order_confirmation/' + order_md5 + '/" method="get" style="display: none;"></form>');
    document.getElementById("hidden_post_form").submit();
}

function go_back_to_home() {
    $(document.body).html('<form id="hidden_post_form" action="' + window.dev + '/" method="get" style="display: none;"></form>');
    document.getElementById("hidden_post_form").submit();
}

function createCookie(name,value,days) {
    var expires;
    if (days) {
        var date = new Date();
        date.setTime(date.getTime()+(days*24*60*60*1000));
        expires = "; expires="+date.toGMTString();
    }
    else expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}

/* Admin functions */

function add_new_menu_item_plus(form_id) {
    add_new_menu_item(form_id, true);
}

function add_new_menu_item(form_id, add_another) {
    var item_category_id = form_id.split('_');
    item_category_id = item_category_id[item_category_id.length-1];

    var form = document.getElementById(form_id);
    var price_type1 = $('#' + form_id).find('input[name|=price_type1]').attr('value');
    var price_type2 = $('#' + form_id).find('input[name|=price_type2]').attr('value');
    var price_type3 = $('#' + form_id).find('input[name|=price_type3]').attr('value');
    var price_type_id1 = $('#' + form_id).find('input[name|=price_type_id1]').attr('value');
    var price_type_id2 = $('#' + form_id).find('input[name|=price_type_id2]').attr('value');
    var price_type_id3 = $('#' + form_id).find('input[name|=price_type_id3]').attr('value');
    $.post(window.dev + "/code/php/run_function.php", {
        function_to_call: "add_new_menu_item",
        item_category_id: item_category_id,
        description_en: form.description_en.value,
        description_es: form.description_es.value,
        price_type_value1: price_type1,
        price_type_value2: price_type2,
        price_type_value3: price_type3,
        price_type_id1: price_type_id1,
        price_type_id2: price_type_id2,
        price_type_id3: price_type_id3
    }, function(retrieved_data){
        //alert(retrieved_data);
        $('#' + form_id).find('.insert_ok_label').show().animate({
            opacity: 1
        }, 500, function() {
            if (add_another) {
                $(form).slideUp(function(){
                    form.reset();
                    $('#' + form_id).find('.insert_ok_label').hide();
                    $(form).slideDown();
                });
            } else window.location.reload();
        });
    });
}

function save_menu_item(form_id) {
    var menu_item_id = form_id.split('_');
    menu_item_id = menu_item_id[menu_item_id.length-1];

    var form = document.getElementById(form_id);
    var price_type1 = $('#' + form_id).find('input[name|=price_type1]').attr('value');
    var price_type2 = $('#' + form_id).find('input[name|=price_type2]').attr('value');
    var price_type3 = $('#' + form_id).find('input[name|=price_type3]').attr('value');
    var price_type_id1 = $('#' + form_id).find('input[name|=price_type_id1]').attr('value');
    var price_type_id2 = $('#' + form_id).find('input[name|=price_type_id2]').attr('value');
    var price_type_id3 = $('#' + form_id).find('input[name|=price_type_id3]').attr('value');
    $.post(window.dev + "/code/php/run_function.php", {
        function_to_call: "save_menu_item",
        menu_item_id: menu_item_id,
        description_en: form.description_en.value,
        description_es: form.description_es.value,
        price_type_value1: price_type1,
        price_type_value2: price_type2,
        price_type_value3: price_type3,
        price_type_id1: price_type_id1,
        price_type_id2: price_type_id2,
        price_type_id3: price_type_id3
    }, function(retrieved_data){
        //alert(retrieved_data);
        $('#' + form_id).find('.insert_ok_label').show().animate({
            opacity: 1
        }, 500, function() {
            /*$('#menu_item_tr_' + menu_item_id).toggle();
            $('#' + form_id).find('.insert_ok_label').hide();*/
            window.location.reload();
        });
    });
}

function delete_menu_item(menu_item_id) {

    $.post(window.dev + "/code/php/run_function.php", {
        function_to_call: "delete_menu_item",
        menu_item_id: menu_item_id
    }, function(retrieved_data){
        //alert(retrieved_data);
        window.location.reload();
    /*$('#' + form_id).find('.insert_ok_label').show().animate({
            opacity: 1
        }, 500, function() {
        });*/
    });
}

function get_new_menu_item_with_new_category_form_html() {

    var form = document.getElementById('new_item_for_new_category_form');

    var str_category_name_en = form.category_names_input_en.value;
    var str_category_name_es = form.category_names_input_es.value;
    if (str_category_name_en == '' || str_category_name_es == '') {
        if (window.current_language == "en") alert("Please type in a category name in both languages");
        if (window.current_language == "es") alert("Por favor ingrese una categoría en ambos idiomas");
        return;
    }

    var price_type_strings_array = '';
    var empty_price = 0;
    if (form.price_type_id_input_en_1.value != '') {
        if (form.price_type_id_input_es_1.value != '') {
            price_type_strings_array += form.price_type_id_input_en_1.value + "__";
            price_type_strings_array += form.price_type_id_input_es_1.value + "__";
        } else {
            if (window.current_language == "en") alert("Please enter price type in both languages");
            if (window.current_language == "es") alert("Por favor ingrese tipo de precio an ambos idiomas");
            return;
        }
    } else empty_price++;
    if (form.price_type_id_input_en_2.value != '') {
        if (form.price_type_id_input_es_2.value != '') {
            price_type_strings_array += form.price_type_id_input_en_2.value + "__";
            price_type_strings_array += form.price_type_id_input_es_2.value + "__";
        } else {
            if (window.current_language == "en") alert("Please enter price type in both languages");
            if (window.current_language == "es") alert("Por favor ingrese tipo de precio an ambos idiomas");
            return;
        }
    } else empty_price++;
    if (form.price_type_id_input_en_3.value != '') {
        if (form.price_type_id_input_es_3.value != '') {
            price_type_strings_array += form.price_type_id_input_en_3.value + "__";
            price_type_strings_array += form.price_type_id_input_es_3.value + "__";
        } else {
            if (window.current_language == "en") alert("Please enter price type in both languages");
            if (window.current_language == "es") alert("Por favor ingrese tipo de precio an ambos idiomas");
            return;
        }
    } else empty_price++;
    if (empty_price == 3) {
        if (window.current_language == "en") alert("Please enter least one price type");
        if (window.current_language == "es") alert("Por favor ingrese al menos un tipo de precio");
        return;
    }
    $.post(window.dev + "/code/php/run_function.php", {
        function_to_call: "get_new_menu_item_with_new_category_form_html",
        price_type_strings_array: price_type_strings_array,
        str_category_name_en: str_category_name_en,
        str_category_name_es: str_category_name_es
    }, function(retrieved_data){
        $('#add_menu_item_to_new_category_form_content1_div').hide();
        form.reset();
        $('#add_menu_item_to_new_category_form_content2_div').html(retrieved_data);
    });
}

/*function get_new_menu_item_with_new_category_form_html() {

    var form = document.getElementById('new_item_for_new_category_form');

    var str_category_id = form.category_names_combo_box.value;
    if (str_category_id == '') {
        if (window.current_language == "en") alert("Please choose a category");
        if (window.current_language == "es") alert("Por favor seleccione una categoría");
        return;
    }

    var price_type_ids_array = '';
    var empty_price = 0;
    if (form.price_type_id_combo_box_1.value != '') price_type_ids_array += form.price_type_id_combo_box_1.value + "_"; else empty_price++;
    if (form.price_type_id_combo_box_2.value != '') price_type_ids_array += form.price_type_id_combo_box_2.value + "_"; else empty_price++;
    if (form.price_type_id_combo_box_3.value != '') price_type_ids_array += form.price_type_id_combo_box_3.value; else empty_price++;
    if (empty_price == 3) {
        if (window.current_language == "en") alert("Please choose at least one price type");
        if (window.current_language == "es") alert("Por favor seleccione al menos un tipo de precio");
        return;
    }
    $.post(window.dev + "/code/php/run_function.php", {
        function_to_call: "get_new_menu_item_with_new_category_form_html",
        price_type_ids_array: price_type_ids_array,
        str_category_id: str_category_id
    }, function(retrieved_data){
        $('#add_menu_item_to_new_category_form_content1_div').hide();
        form.reset();
        $('#add_menu_item_to_new_category_form_content2_div').html(retrieved_data);
    });
}*/

function add_new_restaurant() {

    var form = document.getElementById('new_restaurant_form');

    var restaurant_name = form.restaurant_name.value;
    var restaurant_email = form.restaurant_email.value;
    var restaurant_web_address = form.restaurant_web_address.value;
    var restaurant_url_name = form.restaurant_url_name.value;
    var restaurant_order_min = form.restaurant_order_min.value;
    var restaurant_has_online_ordering = form.restaurant_has_online_ordering.checked;
    var restaurant_has_phone_ordering = form.restaurant_has_phone_ordering.checked;
    var restaurant_admin_username = form.restaurant_admin_username.value;
    if (restaurant_admin_username == '') {
        if (window.current_language == "en") alert("Username can not be blank");
        if (window.current_language == "es") alert("El nombre de usuario no puede ser en blanco");
        return;
    }
    var restaurant_admin_password = form.restaurant_admin_password.value;
    var restaurant_admin_password_again = form.restaurant_admin_password_again.value;
    if (restaurant_admin_password == '') {
        if (window.current_language == "en") alert("Password can not be blank");
        if (window.current_language == "es") alert("La contraseña no puede ser en blanco");
        return;
    }
    if (restaurant_admin_password != restaurant_admin_password_again) {
        if (window.current_language == "en") alert("Password and Password again do not match");
        if (window.current_language == "es") alert("La contraseña y la confirmación de la contraseña no coinciden");
        return;
    }

    //Cuisines
    var separator;
    var cuisines_count = $('#new_restaurant_form').find('select[name|=restaurant_cuisine_id]').length;
    var restaurant_cuisine_id_list = '';
    var restaurant_cuisine_id_array = new Array();
    if (cuisines_count > 1) {
        for (var x = 0 ; x < cuisines_count ; x++) {
            if (x == cuisines_count-1) separator = '';
            else separator = ':::';
            restaurant_cuisine_id_array[restaurant_cuisine_id_array.length] = form.restaurant_cuisine_id[x].value;
            restaurant_cuisine_id_list += form.restaurant_cuisine_id[x].value + separator;
        }
        if (check_duplicate_values(restaurant_cuisine_id_array, cuisines_count)) {
            if (window.current_language == "en") alert("Duplicate cuisines found");
            if (window.current_language == "es") alert("Se ingresaron cocinas duplicadas");
            return;
        }
    } else {
        restaurant_cuisine_id_list = form.restaurant_cuisine_id.value;
    }

    //Neighbourhoods
    var locations_count = $('#new_restaurant_form').find('select[name|=restaurant_neighbourhood_id]').length;
    var restaurant_neighbourhood_id_list = '';
    var restaurant_phone1_list = '';
    var restaurant_phone2_list = '';
    var restaurant_address_list = '';
    var restaurant_map_embed_url_list = '';
    var restaurant_neighbourhood_id_array = new Array();
    if (locations_count > 1) {
        for (x = 0 ; x < locations_count ; x++) {
            if (x == locations_count-1) separator = '';
            else separator = ':::';
            restaurant_neighbourhood_id_array[restaurant_neighbourhood_id_array.length] = form.restaurant_neighbourhood_id[x].value;
            restaurant_neighbourhood_id_list += form.restaurant_neighbourhood_id[x].value + separator;
            restaurant_phone1_list += form.restaurant_phone1[x].value + separator;
            restaurant_phone2_list += form.restaurant_phone2[x].value + separator;
            restaurant_address_list += form.restaurant_address[x].value + separator;
            restaurant_map_embed_url_list += form.restaurant_map_embed_url[x].value + separator;
        }
        if (check_duplicate_values(restaurant_neighbourhood_id_array, locations_count)) {
            if (window.current_language == "en") alert("Duplicate locations found. You can only register one location for each neighbourhood");
            if (window.current_language == "es") alert("Se ingresaron sucursales duplicadas. Solo puede registrar una sucursal por barrio");
            return;
        }
    } else {
        restaurant_neighbourhood_id_list += form.restaurant_neighbourhood_id[0].value;
        restaurant_phone1_list += form.restaurant_phone1.value;
        restaurant_phone2_list += form.restaurant_phone2.value;
        restaurant_address_list += form.restaurant_address.value;
        restaurant_map_embed_url_list += form.restaurant_map_embed_url.value;
    }

    //Open time
    var restaurant_open_time_string_en = form.restaurant_string_open_time_en_input.value;
    if (restaurant_open_time_string_en == '') {
        if (window.current_language == "en") alert("Please enter a textual description for the restaurant open time - English");
        if (window.current_language == "es") alert("Por favor ingrese una descripcion textual para el horario de apertura - Ingles");
        return;
    }
    var restaurant_open_time_string_es = form.restaurant_string_open_time_es_input.value;
    if (restaurant_open_time_string_es == '') {
        if (window.current_language == "en") alert("Please enter a textual description for the restaurant open time - Spanish");
        if (window.current_language == "es") alert("Por favor ingrese una descripcion textual para el horario de apertura - Español");
        return;
    }
    var restaurant_open_time_list = get_open_time_comma_delimited_values(form);

    $.post(window.dev + "/code/php/run_function.php", {
        function_to_call: "add_new_restaurant",
        restaurant_name: restaurant_name,
        restaurant_email: restaurant_email,
        restaurant_web_address: restaurant_web_address,
        restaurant_url_name: restaurant_url_name,
        restaurant_order_min: restaurant_order_min,
        restaurant_has_online_ordering: restaurant_has_online_ordering,
        restaurant_has_phone_ordering: restaurant_has_phone_ordering,
        restaurant_admin_username: restaurant_admin_username,
        restaurant_admin_password: restaurant_admin_password,
        restaurant_cuisine_id_list: restaurant_cuisine_id_list,
        restaurant_neighbourhood_id_list: restaurant_neighbourhood_id_list,
        restaurant_phone1_list: restaurant_phone1_list,
        restaurant_phone2_list: restaurant_phone2_list,
        restaurant_address_list: restaurant_address_list,
        restaurant_map_embed_url_list: restaurant_map_embed_url_list,
        restaurant_open_time_string_en: restaurant_open_time_string_en,
        restaurant_open_time_string_es: restaurant_open_time_string_es,
        restaurant_open_time_list: restaurant_open_time_list
    }, function(retrieved_data){
        if (retrieved_data == "success") {
            if (window.current_language == "en") alert("Restaurant added successfully");
            if (window.current_language == "es") alert("Restaurante agregado exitosamente");
            window.location.reload();
        }
        else alert (retrieved_data);
    });
}

function get_open_time_comma_delimited_values(form) {
    var return_array = '';
    for (var x = 0 ; x < 7 ; x++) {
        return_array +=
        form.open_time_1_hf[x].value + ',' +
        form.open_time_1_mf[x].value + ',' +
        form.open_time_1_ht[x].value + ',' +
        form.open_time_1_mt[x].value + ',' +
        form.open_time_2_hf[x].value + ',' +
        form.open_time_2_mf[x].value + ',' +
        form.open_time_2_ht[x].value + ',' +
        form.open_time_2_mt[x].value + ',' +
        form.open_time_3_hf[x].value + ',' +
        form.open_time_3_mf[x].value + ',' +
        form.open_time_3_ht[x].value + ',' +
        form.open_time_3_mt[x].value + ',';
    }
    return return_array;
}

function check_duplicate_values(array_to_check, array_lenght) {
    for (var x = 0 ; x < array_lenght ; x++) {
        for (var y = 0 ; y < array_lenght ; y++) {
            if (x != y) {
                //alert ("x:" + array_to_check[x] + ",y:" + array_to_check[y]);
                if (array_to_check[x] == array_to_check[y]) return true;
            }
        }
    }
    return false;
}

function edit_restaurant(restaurant_id) {
    $.post(window.dev + "/code/php/run_function.php", {
        function_to_call: "get_restaurant_for_edit",
        restaurant_id: restaurant_id
    }, function(retrieved_data){
        $('#edit_restaurant_div_id_' + restaurant_id).html(retrieved_data).slideDown(500);
    });
}

function update_restaurant_main_info(restaurant_id) {

    var form = document.getElementById('edit_restaurant_form_' + restaurant_id);

    var restaurant_name = form.restaurant_name.value;
    var restaurant_email = form.restaurant_email.value;
    var restaurant_web_address = form.restaurant_web_address.value;
    var restaurant_url_name = form.restaurant_url_name.value;
    var restaurant_order_min = form.restaurant_order_min.value;
    var restaurant_has_online_ordering = form.restaurant_has_online_ordering.checked;
    var restaurant_has_phone_ordering = form.restaurant_has_phone_ordering.checked;

    //Open time
    var restaurant_open_time_string_en = form.restaurant_string_open_time_en_input.value;
    if (restaurant_open_time_string_en == '') {
        if (window.current_language == "en") alert("Please enter a textual description for the restaurant open time - English");
        if (window.current_language == "es") alert("Por favor ingrese una descripcion textual para el horario de apertura - Ingles");
        return;
    }
    var restaurant_open_time_string_es = form.restaurant_string_open_time_es_input.value;
    if (restaurant_open_time_string_es == '') {
        if (window.current_language == "en") alert("Please enter a textual description for the restaurant open time - Spanish");
        if (window.current_language == "es") alert("Por favor ingrese una descripcion textual para el horario de apertura - Español");
        return;
    }
    var restaurant_open_time_list = get_open_time_comma_delimited_values(form);

    $.post(window.dev + "/code/php/run_function.php", {
        function_to_call: "update_restaurant_main_info",
        restaurant_id: restaurant_id,
        restaurant_name: restaurant_name,
        restaurant_email: restaurant_email,
        restaurant_web_address: restaurant_web_address,
        restaurant_url_name: restaurant_url_name,
        restaurant_order_min: restaurant_order_min,
        restaurant_has_online_ordering: restaurant_has_online_ordering,
        restaurant_has_phone_ordering: restaurant_has_phone_ordering,
        restaurant_open_time_string_en: restaurant_open_time_string_en,
        restaurant_open_time_string_es: restaurant_open_time_string_es,
        restaurant_open_time_list: restaurant_open_time_list
    }, function(retrieved_data){
        if (retrieved_data == 'success'){
            if (window.current_language == "en") alert("Data updated successfully");
            if (window.current_language == "es") alert("Actualización exitosa");
        } else alert(retrieved_data);
    });
}

function update_restaurant_cuisines(restaurant_id) {

    var form = document.getElementById('edit_restaurant_form_' + restaurant_id);

    var separator;
    var cuisines_count = $('#edit_restaurant_form_' + restaurant_id).find('select[name|=restaurant_cuisine_id]').length;
    var restaurant_cuisine_id_list = '';
    var restaurant_cuisine_id_array = new Array();
    if (cuisines_count > 1) {
        for (var x = 0 ; x < cuisines_count ; x++) {
            if (x == cuisines_count-1) separator = '';
            else separator = ':::';
            restaurant_cuisine_id_array[restaurant_cuisine_id_array.length] = form.restaurant_cuisine_id[x].value;
            restaurant_cuisine_id_list += form.restaurant_cuisine_id[x].value + separator;
        }
        if (check_duplicate_values(restaurant_cuisine_id_array, cuisines_count)) {
            if (window.current_language == "en") alert("Duplicate cuisines found");
            if (window.current_language == "es") alert("Se ingresaron cocinas duplicadas");
            return;
        }
    } else {
        restaurant_cuisine_id_list = form.restaurant_cuisine_id.value;
    }

    $.post(window.dev + "/code/php/run_function.php", {
        function_to_call: "update_restaurant_cuisines",
        restaurant_id: restaurant_id,
        restaurant_cuisine_id_list: restaurant_cuisine_id_list
    }, function(retrieved_data){
        if (retrieved_data == 'success'){
            if (window.current_language == "en") alert("Data updated successfully");
            if (window.current_language == "es") alert("Actualización exitosa");
        } else alert(retrieved_data);
    });
}

function update_restaurant_menu_admin(restaurant_id) {

    var form = document.getElementById('edit_restaurant_form_' + restaurant_id);

    var restaurant_admin_username = form.restaurant_admin_username.value;
    if (restaurant_admin_username == '') {
        if (window.current_language == "en") alert("Username can not be blank");
        if (window.current_language == "es") alert("El nombre de usuario no puede ser en blanco");
        return;
    }
    var restaurant_admin_password = form.restaurant_admin_password.value;
    var restaurant_admin_password_again = form.restaurant_admin_password_again.value;
    if (restaurant_admin_password == '') {
        if (window.current_language == "en") alert("Password can not be blank");
        if (window.current_language == "es") alert("La contraseña no puede ser en blanco");
        return;
    }
    if (restaurant_admin_password != restaurant_admin_password_again) {
        if (window.current_language == "en") alert("Password and Password again do not match");
        if (window.current_language == "es") alert("La contraseña y la confirmación de la contraseña no coinciden");
        return;
    }

    $.post(window.dev + "/code/php/run_function.php", {
        function_to_call: "update_restaurant_menu_admin",
        restaurant_id: restaurant_id,
        restaurant_admin_username: restaurant_admin_username,
        restaurant_admin_password: restaurant_admin_password
    }, function(retrieved_data){
        if (retrieved_data == 'success'){
            if (window.current_language == "en") alert("Data updated successfully");
            if (window.current_language == "es") alert("Actualización exitosa");
        } else alert(retrieved_data);
    });
}

function update_restaurant_locations(restaurant_id) {

    var form = document.getElementById('edit_restaurant_form_' + restaurant_id);

    var separator;
    var locations_count = $('#edit_restaurant_form_' + restaurant_id).find('select[name|=restaurant_neighbourhood_id]').length;
    var restaurant_neighbourhood_id_list = '';
    var restaurant_phone1_list = '';
    var restaurant_phone2_list = '';
    var restaurant_address_list = '';
    var restaurant_map_embed_url_list = '';
    var restaurant_neighbourhood_id_array = new Array();

    if (locations_count > 1) {
        for (x = 0 ; x < locations_count ; x++) {
            if (x == locations_count-1) separator = '';
            else separator = ':::';
            restaurant_neighbourhood_id_array[restaurant_neighbourhood_id_array.length] = form.restaurant_neighbourhood_id[x].value;
            restaurant_neighbourhood_id_list += form.restaurant_neighbourhood_id[x].value + separator;
            restaurant_phone1_list += form.restaurant_phone1[x].value + separator;
            restaurant_phone2_list += form.restaurant_phone2[x].value + separator;
            restaurant_address_list += form.restaurant_address[x].value + separator;
            restaurant_map_embed_url_list += form.restaurant_map_embed_url[x].value + separator;
        }
        if (check_duplicate_values(restaurant_neighbourhood_id_array, locations_count)) {
            if (window.current_language == "en") alert("Duplicate locations found. You can only register one location for each neighbourhood");
            if (window.current_language == "es") alert("Se ingresaron sucursales duplicadas. Solo puede registrar una sucursal por barrio");
            return;
        }
    } else {
        restaurant_neighbourhood_id_list += form.restaurant_neighbourhood_id[form.restaurant_neighbourhood_id.selectedIndex].value;
        restaurant_phone1_list += form.restaurant_phone1.value;
        restaurant_phone2_list += form.restaurant_phone2.value;
        restaurant_address_list += form.restaurant_address.value;
        restaurant_map_embed_url_list += form.restaurant_map_embed_url.value;
    }

    $.post(window.dev + "/code/php/run_function.php", {
        function_to_call: "update_restaurant_locations",
        restaurant_id: restaurant_id,
        restaurant_neighbourhood_id_list: restaurant_neighbourhood_id_list,
        restaurant_phone1_list: restaurant_phone1_list,
        restaurant_phone2_list: restaurant_phone2_list,
        restaurant_address_list: restaurant_address_list,
        restaurant_map_embed_url_list: restaurant_map_embed_url_list
    }, function(retrieved_data){
        if (retrieved_data == 'success'){
            if (window.current_language == "en") alert("Data updated successfully");
            if (window.current_language == "es") alert("Actualización exitosa");
        } else alert(retrieved_data);
    });
}

function add_another_cuisine_html(caller) {
    $.post(window.dev + "/code/php/run_function.php", {
        function_to_call: "get_empty_cuisine_combo_box"
    }, function(retrieved_data){
        $(caller).parent().parent().append(retrieved_data);
    });
}

function add_another_neighbourhood_html(caller) {
    $.post(window.dev + "/code/php/run_function.php", {
        function_to_call: "get_empty_neighbourhood_combo_box"
    }, function(retrieved_data){
        $(caller).parent().parent().append(retrieved_data);
    });
}

function delete_restaurant(restaurant_id) {
    var confirmation = 0;
    if (window.current_language == "en") {
        if (confirm("Are you sure that you want to completely remove this restaurant and ALL its data? This includes all menues. This action is IRREVERSIBLE and can not be undone. Proceed?")) confirmation++;
        else return;
    }
    if (window.current_language == "es") {
        if (confirm("Está seguro que quiere remover este restaurante y TODA su información asociada? Esta información incluye todos los menu. Esta acción es IRREVERSIBLE y no puede ser deshecha. Desea proceder?")) confirmation++;
        else return;
    }
    if (window.current_language == "en") {
        if (confirm("WARNING: all data for restaurant will be PERMANENTLY lost. Are you sure?")) confirmation++;
        else return;
    }
    if (window.current_language == "es") {
        if (confirm("ADVERTENCIA: toda la información del restaurante va a eliminarse en forma PERMANENTE. Esta seguro?")) confirmation++;
        else return;
    }
    if (confirmation == 2) {
        $.post(window.dev + "/code/php/run_function.php", {
            function_to_call: "delete_restaurant",
            restaurant_id: restaurant_id
        }, function(retrieved_data){
            if (retrieved_data == 'success'){
                if (window.current_language == "en") alert("Restaurant successfuly deleted");
                if (window.current_language == "es") alert("Restaurante eliminado exitosamente");
                window.location.reload();
            } else alert(retrieved_data);
        });
    }
}

function turn_on_off_call_center(on_off_value) {
    $.post(window.dev + "/code/php/run_function.php", {
        function_to_call: "turn_on_off_call_center",
        on_off_value: on_off_value
    }, function(retrieved_data){
        if (retrieved_data == 'success') {
            if (on_off_value) {
                if (window.current_language == "en") alert("Call Center is now turned on");
                else if (window.current_language == "es") alert("El Call Center ha sido encendido");
            } else {
                if (window.current_language == "en") alert("Call Center is now turned off");
                else if (window.current_language == "es") alert("El Call Center ha sido apagado");
            }
        }
    });
}