function llenaDepatotal(depa,prov,dist,codigo)
{


var obj1, obj2;
    obj1 = depa ; 
    obj2 = prov;
    obj3 = dist;
    alert(codigo)
	codigo.value=obj1.options.value+obj2.options.value+obj3.options.value;
    codObj=obj1.options.value;
    codProv=obj2.options.value;
    codDis=obj3.options.value;
    alert(codDis)
    var codigoPapa ="";
    for(var i=0; i< obj1.options.length; i++)   {
      
        if (obj1.options[i].value==codObj)
        {  obj1.options[i].selected=codObj;
           llenaComboHijo(obj1,obj2,obj3)
            llenaProv(obj2,codProv);
            llenaComboHijo2(obj1,obj2,obj3)
            llenaDist(obj3,codDis);
            break;
        }
    }

}





function llenaDepa(depa,prov,dist,codigo)
{
var obj1, obj2;
    obj1 = depa ;
    obj2 = prov;
    obj3 = dist;
    codObj=codigo.substring(0, 2);
    codProv=codigo.substring(2,4);
    codDis=codigo.substring(4,6);
    var codigoPapa ="";
    for(var i=0; i< obj1.options.length; i++)   {
     
        if (obj1.options[i].value==codObj)
        {  obj1.options[i].selected=codObj;
            llenaComboHijo(obj1,obj2,obj3)
            llenaProv(obj2,codProv);
            llenaComboHijo2(obj1,obj2,obj3)
            llenaDist(obj3,codDis);
            break;
        }
    }

}


function llenaProv(prov,codigo)
{
var obj1, obj2;
    obj1 = prov;
    var codigoPapa ="";
    
    for(var i=0; i< obj1.options.length; i++)   {
     
            if (obj1.options[i].value==codigo)
        {
              obj1.options[i].selected=codigo
            break;
        }
    }

}


function llenaDist(dist,codigo)
{
var obj1, obj2;
    obj1 = dist;
    var codigoPapa ="";
   
    for(var i=0; i< obj1.options.length; i++)   {
    
        if (obj1.options[i].value==codigo)
        {     obj1.options[i].selected=codigo
            break;
        }
    }

}
// Funcion para llenar el combo de distritos y provincias
function llenaCombosP(papa,hijo,obj3, dep,prov,dist){
	var obj1, obj2;
    obj1 = papa;
    obj2 = hijo;
    
    index1=addOption(obj2,"","----------Selecciona----------");
    selectOptionByIndex(obj2,index1);
    var codigoPapa = dep;
	
    if (obj2.length != 0)   {
        for(var i=0; i<obj2.options.length ; ++i)   {

            obj2.options[i]=null;
            --i;
        }
    }

    var x0, x1, x2;

    for (var j=0; j<b.length; j++)   {
        x0 = b[j][0];
        x1 = b[j][1];
        x2 = b[j][2];
        x3 = b[j][3];
    	
    	    
        if (codigoPapa == x0) 
        {	
        	obj2.options[obj2.options.length] = new Option(x3,x1);
			
			if (x1 == prov){ 
				obj2.options[obj2.options.length-1].selected = true;
			}
        }
    }
    //obj2.options[obj2.options.length] = new Option("----------Selecciona----------","");
    removeOptions(obj3);
    index=addOption(obj3,"","----------Selecciona----------");
    selectOptionByIndex(obj3,index);
    llenaCombosProv(obj3, dep, prov, dist)
    SortD(hijo);
}

// Funcion para llenar el combo de distritos 
function llenaCombosProv(obj3, dep,prov,dist){
    var obj2;
    obj2 = obj3;
    
    
    if (obj2.length != 0)   {
        for(var i=0; i<obj2.options.length ; ++i)   {
            obj2.options[i]=null;
            --i;
        }
    }
    var x0, x1, x2, x3;
    for (var j=0; j<c.length; j++)   {
        x0 = c[j][0];
        x1 = c[j][1];
        x2 = c[j][2];
        x3 = c[j][3];
        if (x0 == dep && x1 == prov) { 
        	obj2.options[obj2.options.length] = new Option(x3,x2);
        	if (x2==dist) {
	        	obj2.options[obj2.options.length-1].selected = true;
        	}
        }
    }
    //obj2.options[obj2.options.length] = new Option("----------Selecciona----------","");
    SortD(obj3);
}

function llenaComboHijo( papa, hijo ,obj3 )   {
	var obj1, obj2;

    obj1 = papa;
    obj2 = hijo;
    var codigoPapa ="";

    for(var i=0; i< obj1.options.length; i++)   {

        if (obj1.options[i].selected)   {
         codigoPapa=obj1.options[i].value;

            break;
        }
    }
    
    
    if (obj2.length != 0)   {

        for(var i=0; i<obj2.options.length ; ++i)   {

            obj2.options[i]=null;
            --i;
        }
    }

    var x0, x1, x2,x3;
    
    for (var j=0; j<b.length; j++)   {
        x0 = b[j][0];
        x1 = b[j][1];
        x2 = b[j][2];
        x3 = b[j][3];
    	
    	    
        if (codigoPapa == x0) 
        {
        
		obj2.options[obj2.options.length] = new Option(x3,x1);
        }
    }
    //obj2.options[obj2.options.length] = new Option("----------Selecciona----------","");
    removeOptions(obj3);
    index=addOption(obj3,"","----------Selecciona----------");
    selectOptionByIndex(obj3,index);
    llenaComboHijo2(obj1,obj2,obj3)
    SortD(hijo);
}

function llenaComboHijo2( dep, papa, hijo)   {
    var obj0, obj1, obj2;
    obj0 = dep;
    obj1 = papa;
    obj2 = hijo;
    var codigoPapa ="";
    for(var i=0; i< obj0.options.length; i++)   {
        if (obj0.options[i].selected)   {
            codigoDep=obj0.options[i].value;
            break;
        }
    }
    for(var i=0; i< obj1.options.length; i++)   {
        if (obj1.options[i].selected)   {
            codigoPapa=obj1.options[i].value;
            break;
        }
    }
    if (obj2.length != 0)   {
        for(var i=0; i<obj2.options.length ; ++i)   {
            obj2.options[i]=null;
            --i;
        }
    }
    var x0, x1, x2, x3;
    for (var j=0; j<c.length; j++)   {
        x0 = c[j][0];
        x1 = c[j][1];
        x2 = c[j][2];
        x3 = c[j][3];
        if (x0 == codigoDep && x1 == codigoPapa) obj2.options[obj2.options.length] = new Option(x3,x2);
    }
    //obj2.options[obj2.options.length] = new Option("----------Selecciona----------","");
    SortD(hijo);
}


function llenaTextoDepaProvDist( dep, papa, hijo)   {
    var obj0, obj1, obj2;
    obj0 = dep;
    obj1 = papa;
    obj2 = hijo;
    var codigoPapa ="";
    
  for(var i=0; i< obj0.options.length; i++)   {
        if (obj0.options[i].selected)   {
            codigoDep=obj0.options[i].value;
            break;
        }
    }
    for(var i=0; i< obj1.options.length; i++)   {
        if (obj1.options[i].selected)   {
            codigoPapa=obj1.options[i].value;
            break;
        }
    }
    if (obj2.length != 0)   {
        for(var i=0; i<obj2.options.length ; ++i)   {
            obj2.options[i]=null;
            --i;
        }
    }
    var x0, x1, x2, x3;
    for (var j=0; j<c.length; j++)   {
        x0 = c[j][0];
        x1 = c[j][1];
        x2 = c[j][2];
        x3 = c[j][3];
        if (x0 == codigoDep && x1 == codigoPapa) obj2.options[obj2.options.length] = new Option(x3,x2);
    }
    //obj2.options[obj2.options.length] = new Option("----------Selecciona----------","");
    SortD(hijo);
}


function selectOptionByIndex(htmlSelectObject,optionIndex)  {
    htmlSelectObject.selectedIndex = optionIndex;
}

function addOption(htmlSelectObject,newOptionValue,newOptionText)   {
    newIndex=htmlSelectObject.options.length;     
    htmlSelectObject.options[newIndex] = new Option(newOptionText,newOptionValue);
    return newIndex;
}

function SortD(box){
    var temp_opts = new Array();
    var temp = new Object();
    var temp2 = new Object();
    for(var i=0; i<box.options.length; i++){
        temp_opts[i] = box.options[i];
    }
    for(var x=0; x<temp_opts.length-1; x++){
        for(var y=(x+1); y<temp_opts.length; y++){
            if(temp_opts[x].text > temp_opts[y].text){
                temp = temp_opts[x].text;
                temp2 = temp_opts[x].value;
                temp_opts[x].text = temp_opts[y].text;
                temp_opts[x].value = temp_opts[y].value;
                temp_opts[y].text = temp;
                temp_opts[y].value = temp2;
            }
        }
    }
    for(var i=0; i<box.options.length; i++){
        box.options[i].value = temp_opts[i].value;
        box.options[i].text = temp_opts[i].text;
    }
}


function removeOptions(htmlSelectObject)    {
    if (htmlSelectObject.length != 0)   {
        for(var i=0; i< htmlSelectObject.options.length ; ++i)   {
            htmlSelectObject.options[i]=null;
            --i;
	}
    }
function obtenerDepartamentos(comboDepartamento) {
	for(var i = 0; i < a.length; i++) {
		var x = new Array();
		x = a[i];
		addOption(comboDepartamento, x[0], x[3]);
	}
}
}

