﻿Lizard = {};
Lizard.ListaNegocios = {};
Lizard.CustomValidators = {};

/*  Esta funcion es para un custom validator que quiera validar fechas del siguiente formato 
    Formato fecha : MM-dd-yyyy
*/
Lizard.FormatoFecha = function(sender, args){
    var fecha = args.Value;
    args.IsValid = false;
    if(fecha===""){
        args.IsValid = true;
    }
    
    var fechaVerificar = fecha.split('/');
    var fechaValida = false;
    
    try{
        var mes = parseInt(fechaVerificar[1],10);
        var dia = parseInt(fechaVerificar[0],10);
        var ano = parseInt(fechaVerificar[2],10);
        mes--;
        fechaValida = DoctusBase.isValidDate(dia.toString(),mes.toString(),ano.toString());
        
    }catch(err){
        args.IsValid = false;
    }
    args.IsValid = fechaValida;
}

Lizard.ListaNegocios.FormasPagoChange = function(select){
    var index = select.selectedIndex;
    var cuotas =  document.getElementById(DoctusBase.findSameLevelId(select,"dataNumeroCuotas"));
    
    //Ya tenemos los objetos y seguimos con selecciona el input respectido
    cuotas.value="";
    if(index==0){
        cuotas.style.backgroundColor="#999";
        cuotas.style.color="#999";
        cuotas.readOnly = true;
        cuotas.value='0';
    }else if(index==1){
        cuotas.style.backgroundColor="#fff";
        cuotas.style.color="#000";
        cuotas.readOnly = false;
    }else if(index==2){
        cuotas.style.backgroundColor="#999";
        cuotas.style.color="#999";
        cuotas.value='0';
        cuotas.readOnly = true;
    }
}

Lizard.HideCalendar = function(e,args){
    e.hide();
}


Lizard.GetPriceFromProduct = function(ddlID){

    //debugger;
    var dropDownProductos = ddlID;
    var productoId = dropDownProductos.value;
    
    Sys.Net.WebServiceProxy.invoke(
    "../Modulo%20Negocio/Admin.aspx",
    "WmObtenerPrecioDeProducto",
    false,
    {"productoId":productoId},
    Lizard.GetPriceFromProductSuccessHandler,
    Lizard.GetPriceFromProductFailedHandler,
    null,
    3000
    );
    
} 




Lizard.GetPriceFromProductSuccessHandler = function(results,context,methodName){
    
    //debugger;
    var textBox = $get("ctl00_ContentPlaceHolderContent_ProductoEditor1_tbPrecio");
    textBox.value = results;
    
}


Lizard.GetPriceFromProductFailedHandler = function(results,context,methodName){
    
    debugger;
    var textBox = $get("ctl00_ContentPlaceHolderContent_ProductoEditor1_tbPrecio");
    textBox.value = "0";
}


/* Estos son los eventos de la pagina ADMINISTRADORNEGOCIO.aspx */
Lizard.ShowPopUpOrdenes = function(dropDown,productoId){


    var modal;
    var productoIdHidden;
    
    var option = dropDown.options[dropDown.selectedIndex].value;
        
    
    if(option == '2'){
        modal = $find('ctl00_ContentPlaceHolderContent_ModalPopupExtenderOrdenMedios');
        productoIdHidden = $get('ctl00_ContentPlaceHolderContent_FormViewOrdenDeMedios_dataProductoDelNegocioId');
        productoIdHidden.value = productoId;
        modal.show();
        dropDown.selectedIndex=0;
        return false;
    }else if(option == '4'){
        modal = $find('ctl00_ContentPlaceHolderContent_MPEOrdenExterna');
        productoIdHidden = $get('ctl00_ContentPlaceHolderContent_MFVOrdenExterna_dataProductoDelNegocioId');
        productoIdHidden.value = productoId;
        modal.show();
        dropDown.selectedIndex = 0;
        return false;
    }else if(option == '3'){
        modal = $find('ctl00_ContentPlaceHolderContent_ModalPopupExtenderOrdenIngenieria');
        productoIdHidden = $get('ctl00_ContentPlaceHolderContent_mfvOrdenIngenieria_dataProductoDelNegocioId');
        productoIdHidden.value = productoId;
        var estadoOrdenHidden = $get('ctl00_ContentPlaceHolderContent_mfvOrdenIngenieria_hfEstadoDeOrdenId');
        estadoOrdenHidden.value = '1';
        modal.show();
        dropDown.selectedIndex = 0;
        return false;
    }else if(option == '5'){
        return true;
    }   
    dropDown.selectedIndex=0;
    return false;
}





Lizard.GetDatosFromCliente = function(ddlID){

    var dropDownProductos = ddlID;
    var clienteId = dropDownProductos.options[dropDownProductos.selectedIndex].value;
    var nombre = dropDownProductos.options[dropDownProductos.selectedIndex].text;
    
    
    var hiddenClienteName = $get("ctl00_ContentPlaceHolderContent_FormView1_hfNombreCliente");
    hiddenClienteName.value = nombre;
    
  
    
    Sys.Net.WebServiceProxy.invoke(
    "../Modulo%20Facturacion/ModuloRecaudo.aspx",
    "WmObtenerDirCliente",
    false,
    {"clienteId":clienteId},
    Lizard.GetClienteDIRSuccessHandler,
    Lizard.GetClienteDIRFailedHandler,
    null,
    3000
    );
    
    
    Sys.Net.WebServiceProxy.invoke(
    "../Modulo%20Facturacion/ModuloRecaudo.aspx",
    "WmObtenerNitCliente",
    false,
    {"clienteId":clienteId},
    Lizard.GetClienteNITSuccessHandler,
    Lizard.GetClienteNITFailedHandler,
    null,
    3000
    );
    
    
    
    
} 
Lizard.GetClienteNITSuccessHandler = function(results,context,methodName){
    
    var textBox = $get("ctl00_ContentPlaceHolderContent_FormView1_dataNit");
    textBox.value = results;
}
Lizard.GetClienteNITFailedHandler = function(results,context,methodName){
    
}

Lizard.GetClienteDIRSuccessHandler = function(results,context,methodName){

    var textBox = $get("ctl00_ContentPlaceHolderContent_FormView1_dataDireccion");
    textBox.value = results;
}
Lizard.GetClienteDIRFailedHandler = function(results,context,methodName){
    
}

Lizard.PopUpArchivoNegocio = function(ProductoNegocioId){
    var popup = $find('ctl00_ContentPlaceHolderContent_ModalPopupPanelArchivos');
    popup.show();
    return false;
}


Lizard.LongitudMaxima = function(sender, args){
    
    var texto = args.Value;
    var longitud = texto.length
    args.IsValid = false;
    if(longitud<140){
        args.IsValid = true;
    }
}

Lizard.CambioPrecio = function(sender){
       
       
        var cantidad = $get('ctl00_ContentPlaceHolderContent_ProductoEditor1_tbCantidad').value;
        var precio = $get('ctl00_ContentPlaceHolderContent_ProductoEditor1_tbPrecio').value;
        
        cantidad = parseInt(cantidad,10);
        precio=parseFloat(precio,10);
        var total = precio*cantidad;
        
        if(isNaN(total)){
            $get('PrecioTotalProductos').innerHTML = "$0";
        }else{
            $get('PrecioTotalProductos').innerHTML = DoctusBase.formatCurrency(total);
        }
}

Lizard.ProductoBorrarCantidad = function(){
    $get('ctl00_ContentPlaceHolderContent_ProductoEditor1_tbCantidad').value = "";
    Lizard.CambioPrecio();
}


Lizard.CustomValidators.Currency = function(sender, args){
    var number = args.Value.replace(/,/,".");
    number = new Number(number);
    args.IsValid =false;
    if(!isNaN(number) && number>0)
        args.IsValid =true;
    
}

Lizard.CustomValidators.UInt = function(sender, args){
     var number = parseInt(args.valueOf,10);
    args.IsValid =false;
    if(!isNaN(number) && number>0 && (""+number===args.Value))
        args.IsValid =true;
}
