/*var valor = $( "#template_x002e_edit-metadata_x002e_document-details_x0023_default_prop_cm_name" ).val();
console.log("valor del campo prop_cm_name");
console.log(valor);
*/
/*var element = new YAHOO.util.Element('template_x002e_edit-metadata_x002e_document-details_x0023_default_prop_cm_name');
var idValue = element.get('value');
console.log(idValue);
*/

var prefijo="template_x002e_edit-metadata_x002e_document-details_x0023_default_prop_";

//url de servicios rest
var host='http://'+window.location.host;
var urlProveedores=host+'/CVJServicesAlfrescoHocol/carvajal/proveedores/';
var urlClientes=host+'/CVJServicesAlfrescoHocol/carvajal/clientes/';
var urlPais=host+'/CVJServicesAlfrescoHocol/carvajal/pais/';
var urlAsociacion=host+'/CVJServicesAlfrescoHocol/carvajal/asociacion/';
var urlAnalista=host+'/CVJServicesAlfrescoHocol/carvajal/analista/';
var urlContrato=host+'/CVJServicesAlfrescoHocol/carvajal/contrato/';
var urlGerente=host+'/CVJServicesAlfrescoHocol/carvajal/Gerente/';
var urlPeriodoContable=host+'/CVJServicesAlfrescoHocol/carvajal/PeriodoContable/';



//se captura el pais del la carpeta

var STR_PAD_LEFT = 1;
var STR_PAD_RIGHT = 2;
var STR_PAD_BOTH = 3;
function pad(str, len, pad, dir) {
    if (typeof(len) == "undefined") { var len = 0; }
    if (typeof(pad) == "undefined") { var pad = ' '; }
    if (typeof(dir) == "undefined") { var dir = STR_PAD_RIGHT; }
    if (len + 1 >= str.length) { 
        switch (dir){
            case STR_PAD_LEFT:
                str = Array(len + 1 - str.length).join(pad) + str;
            break;
            case STR_PAD_BOTH:
                var right = Math.ceil((padlen = len - str.length) / 2);
                var left = padlen - right;
                str = Array(left+1).join(pad) + str + Array(right+1).join(pad);
            break;
            default:
                str = str + Array(len + 1 - str.length).join(pad);
            break;
        } // switch
    }
    return str;
}

//custom_nombreproveedor
//custom_pais
//funcion para crgar las lista en los selects por medio de un servicio rest


function loadDataPaisFromService(url, campo, paisvalor ){
	var optionlist='';
	
	optionlist += '<option value="-1" ></option>';
	$.getJSON( url , function( data ) {
	$.each( data, function( key, val ) {
    //items.push( "<li id='" + key + "'>" + val + "</li>" );
	//console.log(val);
	var item=val.id+'-'+val.nombrepais;
		if 	(item==paisvalor) {
		    optionlist += '<option value='+item+' selected>'+item+'</option>';
		}else{
			optionlist += '<option value='+item+'>'+item+'</option>';
		}
	
	}
	);
	$("#"+prefijo+campo).html(optionlist);
});
	
}

function loadDataAsociacionFromService(url, campo, asociacionvalor ){
	var optionlist='';
	
	optionlist += '<option value="-1"></option>';
	$.getJSON( url , function( data ) {
	$.each( data, function( key, val ) {
    //items.push( "<li id='" + key + "'>" + val + "</li>" );
	//console.log(val);
	//var item=val.id+'-'+val.nombreAsociacion;
	//var item=pad(val.nombreAsociacion,100,' ');
	var item=val.nombreAsociacion; // aqui se debe revisar para que salga completa la asociación
		if 	(item==asociacionvalor) {
		    optionlist += '<option value="'+item+'" selected>'+item+'</option>';
		}else{
			optionlist += '<option value="'+item+'">'+item+'</option>';
			console.log("no entra");
		}
	 
	}
	);
	$("#"+prefijo+campo).html(optionlist);
});
	
}

function loadDataAnalistaFromService(url, campo, analistavalor ){
	var optionlist='';
	
	optionlist += '<option value="-1"></option>';
	$.getJSON( url , function( data ) {
	$.each( data, function( key, val ) {

	var item=val.nombreanalista; // aqui se debe revisar para que salga completo el analista
		if 	(item==analistavalor) {
		    optionlist += '<option value="'+item+'" selected>'+item+'</option>';
		}else{
			optionlist += '<option value="'+item+'">'+item+'</option>';
			console.log("no entra");
		}
	 
	}
	);
	$("#"+prefijo+campo).html(optionlist);
});
	
}

function loadDataPeriodoFromService(url, campo, periodovalor ){
	var optionlist='';
	
	optionlist += '<option value="-1"></option>';
	$.getJSON( url , function( data ) {
	$.each( data, function( key, val ) {

	var item=val.periodo; // aqui se debe revisar para que salga completo el periodo
		if 	(item==periodovalor ) {
		    optionlist += '<option value="'+item+'" selected>'+item+'</option>';
		}else{
			optionlist += '<option value="'+item+'">'+item+'</option>';
			console.log("no entra");
		}
	 
	}
	);
	$("#"+prefijo+campo).html(optionlist);
});
	
}



function loadDataContratoFromService(url, campo, contratovalor ){
	var optionlist='';
	
	optionlist += '<option value="-1"></option>';
	$.getJSON( url , function( data ) {
	$.each( data, function( key, val ) {

	var item=val.id+'-'+val.nombrecontrato; // aqui se debe revisar para que salga completo el contrato
		if 	(item==contratovalor) {
		    optionlist += '<option value="'+item+'" selected>'+item+'</option>';
		}else{
			optionlist += '<option value="'+item+'">'+item+'</option>';
			console.log("no entra");
		}
	 
	}
	);
	$("#"+prefijo+campo).html(optionlist);
});
	
}

function loadDataGerenteFromService(url, campo, gerentevalor ){
	var optionlist='';
	
	optionlist += '<option value="-1" ></option>';
	$.getJSON( url , function( data ) {
	$.each( data, function( key, val ) {

	var item=val.nombregerente; // aqui se debe revisar para que salga completo el analista
		if 	(item==gerentevalor) {
		    optionlist += '<option value="'+item+'" selected>'+item+'</option>';
		}else{
			optionlist += '<option value="'+item+'">'+item+'</option>';
			console.log("no entra");
		}
	 
	}
	);
	$("#"+prefijo+campo).html(optionlist);
});
	
}

function getAsociacion(){
	
	var nombreasoc = this.value;
	nombreasoc=nombreasoc.substring(0,2);
	
}

function getAnalista(){
	
	var nombreanalista = this.value;
	nombreanalista=nombreanalista.substring(0,2);
	
}

function getPeriodoContable(){
	
	var periodo = this.value;
	periodo =periodo .substring(0,2);
	
}


function getContrato(){
	
	var nombrecontrato = this.value;
	nombrecontrato=nombrecontrato.substring(0,2);
	
}

function getGerente(){
	
	var nombregerente = this.value;
	nombregerente=nombregerente.substring(0,2);
	
}

function loadAsociacion(){
	
	var campoAso='custom_asociacion';
	//var campoEmpresa='custom_codigoempresa';
	//var campoProveedor='custom_nombreproveedor';
	
	//loadDataPaisFromService(urlPais,campo);
	var asociacionvalor = $( "#"+prefijo+campoAso ).val();
	//var clientevalor = $( "#"+prefijo+campoEmpresa ).val();
	//var proveedorvalor = $( "#"+prefijo+campoProveedor ).val();
	var disabled ="";
	
	
  console.log(asociacionvalor);
	//console.log(proveedorvalor);
	//if (!paisvalor){
	
		
	    $("#"+prefijo+campoAso).each(function() {
        var qty = this.value;
        var currentId = this.id;
		
//console.log($( "#"+prefijo+campoAso ).val());
		if (this.disabled)
			disabled="disabled";

			
        var selectbox = $('<select name="prop_custom_asociacion" tabindex="0" id="'+currentId+'" '+disabled+'><option value="'+asociacionvalor+'">'+asociacionvalor+'</option></select>');
        $(this).replaceWith(selectbox);
        /*for(var i = 1; i < 6; i++) {
            var option = document.createElement('option');
            option.value = i;
            $(option).text(i);
            if(i==qty) option.setAttribute('selected','selected');
            selectbox.append($(option));
            
        }*/
		//console.log(paisvalor);
		
		//loadDataPaisFromService(urlPais,campo,paisvalor);
		//YAHOO.util.Event.addListener(prefijo+"custom_pais", "change", getPais);
		
		loadDataAsociacionFromService(urlAsociacion, campoAso, asociacionvalor );
	    YAHOO.util.Event.addListener(prefijo+"custom_asociacion", "change", getAsociacion)
		});
	
}


function loadAnalista(){
	
		var campoAnalista='custom_analista';
		var analistavalor = $( "#"+prefijo+campoAnalista ).val();
		var disabled ="";
		console.log(analistavalor);

		$("#"+prefijo+campoAnalista).each(function() {
		var qty = this.value;
		var currentId = this.id;
		
		if (this.disabled)
			disabled="disabled";
	
        var selectbox = $('<select name="prop_custom_analista" tabindex="0" id="'+currentId+'" '+disabled+'><option value="'+analistavalor+'">'+analistavalor+'</option></select>');
        $(this).replaceWith(selectbox);

		loadDataAnalistaFromService(urlAnalista, campoAnalista, analistavalor );
	    YAHOO.util.Event.addListener(prefijo+"custom_analista", "change", getAnalista)
		});
}

function loadPeriodoContable(){
	
		var campoPeriodo='custom_periodocontable';
		var periodovalor = $( "#"+prefijo+campoPeriodo).val();
		console.log("#"+prefijo+campoPeriodo);
		var disabled ="";
		console.log(periodovalor);

		$("#"+prefijo+campoPeriodo).each(function() {
		var qty = this.value;
		var currentId = this.id;
		
		if (this.disabled)
			disabled="disabled";
	
        var selectbox = $('<select name="prop_custom_periodocontable" tabindex="0" id="'+currentId+'" '+disabled+'><option value="'+periodovalor+'">'+periodovalor+'</option></select>');
        $(this).replaceWith(selectbox);

		loadDataPeriodoFromService(urlPeriodoContable, campoPeriodo, periodovalor );
	    YAHOO.util.Event.addListener(prefijo+"custom_periodocontable", "change", getPeriodoContable)
		});
}


function loadContrato(){
	
		var campoContrato='custom_contrato';
		var contratovalor = $( "#"+prefijo+campoContrato ).val();
		var disabled ="";
		console.log(contratovalor);

		$("#"+prefijo+campoContrato).each(function() {
		var qty = this.value;
		var currentId = this.id;
		
		if (this.disabled)
			disabled="disabled";
	
        var selectbox = $('<select name="prop_custom_contrato" tabindex="0" id="'+currentId+'" '+disabled+'><option value="'+contratovalor+'">'+contratovalor+'</option></select>');
        $(this).replaceWith(selectbox);

		loadDataContratoFromService(urlContrato, campoContrato, contratovalor );
	    YAHOO.util.Event.addListener(prefijo+"custom_contrato", "change", getContrato)
		});
}

function loadGerente(){
	
		var campoGerente='custom_gerente';
		var gerentevalor = $( "#"+prefijo+campoGerente ).val();
		var disabled ="";
		console.log(gerentevalor);

		$("#"+prefijo+campoGerente).each(function() {
		var qty = this.value;
		var currentId = this.id;
		
		if (this.disabled)
			disabled="disabled";
	
        var selectbox = $('<select name="prop_custom_gerente" tabindex="0" id="'+currentId+'" '+disabled+'><option value="'+gerentevalor+'">'+gerentevalor+'</option></select>');
        $(this).replaceWith(selectbox);

		loadDataGerenteFromService(urlGerente, campoGerente, gerentevalor );
	    YAHOO.util.Event.addListener(prefijo+"custom_gerente", "change", getGerente)
		});
}

//funcion que carga el listado de clientes filtrado por pais
function loadClientes(pais, clientevalor){
	
	//var element = new YAHOO.util.Element(prefijo+"custom_paisfijo");
	//console.log("Carga Clientes");
	var url=urlClientes+pais
	var campo='custom_codigoempresa';
	
	var optionlist='';
	$.getJSON( url , function( data ) {
	$.each( data, function( key, val ) {
    //items.push( "<li id='" + key + "'>" + val + "</li>" );
	var item=val.id+'-'+val.nombre;
	
	if( item==clientevalor){
      optionlist += '<option value="'+item+'"selected>'+item+'</option>';
	}else{
      optionlist += '<option value="'+item+'">'+item+'</option>';
	}
	
	}
	);
	$("#"+prefijo+campo).html(optionlist);
});



	//loadDataClientesFromService(url,campo);
	

	
}




//funcion que carga el listado de proveeedor filtrado por pais
function loadProveedores(pais,proveedorvalor){
		
	//var element = new YAHOO.util.Element(prefijo+"custom_paisfijo");
	//var pais = element.get('value');
	//console.log("Carga Proveedores");
	var url=urlProveedores+pais
	var campo='custom_nombreproveedor';
	//loadDataProveedoresFromService(url,campo);
	var optionlist='';
	$.getJSON( url , function( data ) {
	$.each( data, function( key, val ) {
    //items.push( "<li id='" + key + "'>" + val + "</li>" );
		var item=pad(val.nit,30,' ')+'-'+pad(val.nombre,100,' ');
		//item=item.replace(' ','_');
		if(item.trim()==proveedorvalor){
	      optionlist += '<option value="'+item.trim()+'" selected>'+item.trim()+'</option>';
		
		}else{
      optionlist += '<option value="'+item.trim()+'">'+item.trim()+'</option>';
	  }
	}
	);
	$("#"+prefijo+campo).html(optionlist);
});

}
function loadPais(){
		
	var campo='custom_pais';
	var campoEmpresa='custom_codigoempresa';
	var campoProveedor='custom_nombreproveedor';
	
	//loadDataPaisFromService(urlPais,campo);
	var paisvalor = $( "#"+prefijo+campo ).val();
	var clientevalor = $( "#"+prefijo+campoEmpresa ).val();
	var proveedorvalor = $( "#"+prefijo+campoProveedor ).val();
	var disabled ="";
	
	
  //console.log(clientevalor);
	//console.log(proveedorvalor);
	//if (!paisvalor){
	
	    $("#"+prefijo+campo).each(function() {
        var qty = this.value;
        var currentId = this.id;
		


		if (this.disabled)
			disabled="disabled";
		
		
		
		
        var selectbox = $('<select name="prop_custom_pais" tabindex="0" id="'+currentId+'" '+disabled+'><option value="'+paisvalor+'">'+paisvalor+'</option></select>');
        $(this).replaceWith(selectbox);
        /*for(var i = 1; i < 6; i++) {
            var option = document.createElement('option');
            option.value = i;
            $(option).text(i);
            if(i==qty) option.setAttribute('selected','selected');
            selectbox.append($(option));
            
        }*/
		//console.log(paisvalor);
		loadDataPaisFromService(urlPais,campo,paisvalor);
		YAHOO.util.Event.addListener(prefijo+"custom_pais", "change", getPais);
		
		});
		
		/******CREA COMBO PARA CLIENTES****/
		
		$("#"+prefijo+campoEmpresa).each(function() {
        var qty = this.value;
        var currentId = this.id;
		
		
		if (this.disabled)
			disabled="disabled";
		
        var selectbox = $('<select name="prop_custom_codigoempresa" tabindex="0" id="'+currentId+'" '+disabled+'><option value="'+qty+'">'+qty+'</option></select>');
		$(this).replaceWith(selectbox);
		});
		
		if (!paisvalor){
			//console.log('Valida Pais:::1 '+paisvalor);
			
			
		}else{
			paisvalor=paisvalor.substring(0,2);
			loadClientes(paisvalor,clientevalor);
			loadProveedores(paisvalor,proveedorvalor);
			
            //console.log('Valida Pais:::2 '+paisvalor);			
		}
		
		/******CREA COMBO PARA PROVEEDORES****/
		
		$("#"+prefijo+campoProveedor).each(function() {
        var qty = this.value;
        var currentId = this.id;
		
		if (this.disabled)
			disabled="disabled";
		
        var selectbox = $('<select name="prop_custom_nombreproveedor" tabindex="0" id="'+currentId+'" '+disabled+'><option value="'+qty+'">'+qty+'</option></select>');
		$(this).replaceWith(selectbox);
		});		

	//}
		
}

function getPais(){
	
var pais=this.value;
pais=pais.substring(0,2);
loadClientes(pais,-1);
loadProveedores(pais,-1);	

}


//YAHOO.util.Event.on(prefijo+"custom_codigoempresa", "mouseenter", fnCallback);


//carga las funciones
YAHOO.util.Event.addListener(window, "load", loadPais);
YAHOO.util.Event.addListener(window, "load", loadAsociacion);
YAHOO.util.Event.addListener(window, "load", loadAnalista);
YAHOO.util.Event.addListener(window, "load", loadPeriodoContable);
YAHOO.util.Event.addListener(window, "load", loadContrato);
YAHOO.util.Event.addListener(window, "load", loadGerente);
//YAHOO.util.Event.addListener(window, "load", loadClientes);
//YAHOO.util.Event.addListener(window, "load", loadProveedores);
//YAHOO.util.Event.addListener(prefijo+"custom_pais", "change", getPais);
