﻿/*global jQuery */

jQuery(function ($) {

    function onAjaxError(err, msg) {
        alert(err.status + ' : ' + err.statusText);
        //TODO;
    }

    $('#re7_unit, #re7_qty').bind('change', function () {

        var strQte = $('#re7_qty').val();
        var strUnit = $('#re7_unit').val();
        var strIDRecette = $('#IDRecette').val();

        //On change l'appel pour l'impression
        var strPrintNoImageHREF = "recette_impression_sans_image.aspx";
        strPrintNoImageHREF += "?id=" + strIDRecette;
        strPrintNoImageHREF += "&unit=" + (strUnit === "1" ? "metrique" : "imperial");
        strPrintNoImageHREF += "&multiplicateur=" + strQte;

        $('#print_link_no_image').attr('href', strPrintNoImageHREF);

       
        var strPrintImageHREF = "recette_impression_avec_images.aspx";
        strPrintImageHREF += "?id=" + strIDRecette;
        strPrintImageHREF += "&unit=" + (strUnit === "1" ? "metrique" : "imperial");
        strPrintImageHREF += "&multiplicateur=" + strQte;

        $('#print_link_image').attr('href', strPrintImageHREF);

        //on vient cherche la valeur et l'unité et on change l'appel de "ajouter a ma liste d'epicerie"
        var strSendToEpicerieHref = $('#sendToListeEpicerie').attr('href');

        var arrSendToEpicerieHref = strSendToEpicerieHref.split("&");

        var arrQte = arrSendToEpicerieHref[1].split("=");
        var arrUnit = arrSendToEpicerieHref[2].split("=");

        arrQte[1] = strQte;
        arrUnit[1] = strUnit;

        arrSendToEpicerieHref[1] = arrQte.join("=");
        arrSendToEpicerieHref[2] = arrUnit.join("=");

        strSendToEpicerieHref = arrSendToEpicerieHref.join("&");

        $('#sendToListeEpicerie').attr('href', strSendToEpicerieHref);
        //**********************

        var strURL = "../ajax/getRecette.aspx?";
        var arrData = {
            id: $('#IDRecette').val(),
            type: $("#re7_unit").val(), //1 = Metrique, 2 = Imperial
            quantite: $("#re7_qty").val()
        };

        $.ajax({
            url: strURL,
            data: arrData,
            type: 'GET',
            error: onAjaxError,
            success: function (_strIngredients) {
                $('#main ul.ingredients').replaceWith(_strIngredients);
            }
        });
    });

    $('#sendToListeEpicerie').bind('click', function (sender)  {
        sender.preventDefault();
        var strHREF = $('#sendToListeEpicerie').attr('href');

        $.ajax({
            url: strHREF,
            method: 'GET',
            dataType: 'xml',

            success: function (xml) {
                var $xml = $(xml);
                var $xmlIngredients = $xml.find("ingredient");

                if (window.ActiveXObject) {
                    var strXML = xml.xml;
                }
                // code for Mozilla, Firefox, Opera, etc.
                else {
                    strXML = (new XMLSerializer()).serializeToString(xml);
                }

                //This should work in both IE and firefox. Cannot use jquery selector.
                swfobject.getObjectById("ListeEpicerieData").addData(strXML);
            }
        });
    });
    
    function addToRecettePopulaire() {
        var strIDRecette = $('#IDRecette').val();

        $.ajax({
            url: "../ajax/addToRecettesPopulaires.aspx?id_recette=" + strIDRecette,
            method: "GET"
        });
    }

    //On attend 20 secondes (calculé en millisecondes) avant d'ajouter la recette dans les recettes populaires
    $(this).oneTime(20 * 1000, addToRecettePopulaire);
});
