﻿function PageMethod(path, fn, paramArray, successFn, errorFn) {
    var pagePath = window.location.pathname;
    if (path != undefined)
        pagePath = path; 
   
    var paramList = '';
    if (paramArray.length > 0) {//En nuestro caso solo existe uno, pero dejémolo genérico
        for (var i = 0; i < paramArray.length; i += 2) //Recorrer todo el array
        {
            if (paramList.length > 0) paramList += ',';
            paramList += '"' + paramArray[i] + '":"' + paramArray[i + 1] + '"';
        }
    }
    paramList = '{' + paramList + '}';
    //Llamar el webMethod
    jquery.ajax({
        type: "POST", //en POST
        url: pagePath + "/" + fn, //ubicación (PruebaJqueryAspNet.aspx/ObtenerMunicipios)
        contentType: "application/json; charset=utf-8", //contenido JSON
        data: paramList, //Parámetros [“Id_Departamento”, x]
        dataType: "json", //tipo de datos JSON
        success: successFn, //función que se ejecutará en caso de ser correcto
        error: errorFn//función que se ejecutará en caso de ser erróneo (opcional)
    });
}

function PageMethodGet(path, fn, paramArray, successFn, errorFn) {
    var pagePath = window.location.pathname;
    if (path != undefined)
        pagePath = path;

    var paramList = '';
    if (paramArray.length > 0) {//En nuestro caso solo existe uno, pero dejémolo genérico
        for (var i = 0; i < paramArray.length; i += 2) //Recorrer todo el array
        {
            if (paramList.length > 0) paramList += ',';
            paramList += '"' + paramArray[i] + '":"' + paramArray[i + 1] + '"';
        }

        paramList = '{' + paramList + '}';
    }
    
    //Llamar el webMethod
    jquery.ajax({
        type: "POST", //en POST
        url: pagePath + "/" + fn, //ubicación (PruebaJqueryAspNet.aspx/ObtenerMunicipios)
        contentType: "application/json; charset=utf-8", //contenido JSON
        data: paramList, //Parámetros [“Id_Departamento”, x]
        dataType: "json", //tipo de datos JSON
        success: successFn, //función que se ejecutará en caso de ser correcto
        error: errorFn//función que se ejecutará en caso de ser erróneo (opcional)
    });
}




function ErrorAjax() {
    alert("Se produjo un error al obtener los datos!");
}


function ArrayToJsonString(paramArray) {
    var paramList = '';
    if (paramArray.length > 0) {//En nuestro caso solo existe uno, pero dejémolo genérico
        for (var i = 0; i < paramArray.length; i += 2) //Recorrer todo el array
        {
            if (paramList.length > 0) paramList += ',';
            paramList += '"' + paramArray[i] + '":"' + paramArray[i + 1] + '"';
        }
    }
    paramList = '{' + paramList + '}';

    return paramList;
}