﻿// Orbelink JScript Events

/** Sobre Navegacion **/
function getURL(theUrl){
    window.location = theUrl;
}


/** Pone a la fila el CSS de "Over"
 * param:   sender (objeto):        Elemento que llamo al evento.
 * param:   indice (int):           Indice de la fila en la tabla.
 **/
function setRowFocus(sender, indice){
    sender.className = "tablaResultados_Over";
}


/** Quita a la fila el CSS de "Over"
 * param:   sender (objeto):        Elemento que llamo al evento.
 * param:   indice (int):           Indice de la fila en la tabla.
 * param:   selected (bool):        Si originalmente estaba seleccionado.
 **/
function unsetRowFocus(sender, indice){
    if (arguments[2] == true){
        sender.className = "tablaResultados_Selected";
    } else {
        if (indice % 2 == 0){
            sender.className = "tablaResultados_Item";
        } else {
            sender.className = "tablaResultados_Alternate";
        }
    }
}


/** Aplica el color del borde del control
 * param:   sender (objeto):        Elemento que llamo al evento.
 **/
function setFocus(sender){
    sender.style.borderColor = "blue";
}


/** Quita el color del borde del control
 * param:   sender (objeto):        Elemento que llamo al evento.
 **/
function setBlur(sender){
    sender.style.borderColor = "";
}


/** Muestra un mensaje de alerta
 * param:   sender (objeto):        Elemento que llamo al evento.
 * param:   elMensaje (String):     Mensaje a mostrar en el cuadro de alerta
 **/
function showAlert(sender, elMensaje){
    alert(elMensaje);
}


/** Muestra o oculta un elemento html con la propiedad de display 
 * param:   whichLayer (string):     Cual elemento a cambiar.
 * param:   sender (objeto):         Elemento que llamo al evento.
 **/
function toggleLayer(whichLayer, sender)
{
    var style = null;
	if (document.getElementById){
		style = document.getElementById(whichLayer).style;
	}else if (document.all){
		style = document.all[whichLayer].style;
	}else if (document.layers){
		style = document.layers[whichLayer].style;
	}
	
	if (style != null && style.display != null){
	    if (style.display == "none"){
	        style.display = "block";
	    } else if (style.display == "" || style.display == "block"){
	        style.display = "none";
	    }
	}
	
	if (sender != null && sender.src != null){
	    var srcTemp = sender.src.substring(0, sender.src.lastIndexOf('-')+1);
	    var sufijo = sender.src.substring(sender.src.lastIndexOf('-')+1, sender.src.length);
	    if (sufijo == 'collapsed.gif'){
	        sender.src = srcTemp + 'expanded.gif';
	    } else {
	        sender.src = srcTemp + 'collapsed.gif';
	    }
	}
}

function showTextProgress(sender, maxCharacters, progressDiv){
    var progressDiv_Obj;
    if (progressDiv != null){
        progressDiv_Obj = document.getElementById(progressDiv);
    }

    if (sender != null && sender.value != null && progressDiv_Obj != null){
        var actuales = sender.value.length;
        if (actuales > 0){
            var percent = (actuales * 100) / maxCharacters;
        } else {
            var percent = 0;        
        }
        if (progressDiv_Obj.style != null && progressDiv_Obj.style.width != null){
            progressDiv_Obj.style.width = percent + '%';
        }
        if (progressDiv_Obj.innerHTML != null){
            progressDiv_Obj.innerHTML = percent + '%';
        }
    }
}


/** Cambia el fondo de un elemento tomando el "value" del indice seleccionado del DropDownList
 * param:   sender (objeto):        Elemento que llamo al evento.
 * param:   theElementID (string):  ID del elemento a cambiarle el fondo.
 **/
function cambiarFondoDDL(sender, theElementID){
    var theElement = null;
    var colorFondo = '#000000';
        
    if (document.getElementById){
		theElement = document.getElementById(theElementID);
	}
	
	if (sender.options != null){
        var optionSeleccionado = sender.options[sender.selectedIndex];
        if (optionSeleccionado.value){
            colorFondo = optionSeleccionado.value;
        }
    }

	if (theElement != null && theElement.style != null){
	    theElement.style.backgroundColor = colorFondo;
	}
}




function handleEnter(sender, buttonToClick){
	if (window.event.keyCode == 13){
		showAlert(buttonToClick.id);
	}
}




/*** PROCESO ***/

function handleEnter (field, event) {
    var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
	if (keyCode == 13) {
	    var i;
		for (i = 0; i < field.form.elements.length; i++){
		    if (field == field.form.elements[i]){
		        break;
		    }
			i = (i + 1) % field.form.elements.length;
			field.form.elements[i].focus();
			return false;
		}
	} 
	else
	return true;
}      

function checkAll(sender, primerCheck_ClientID, primerCheck_ID, cantidad)
{
    var numeroInicio = 0;
    var check
	if (primerCheck_ClientID != null){
	    var prefijoID = sender.src.substring(0, sender.src.lastIndexOf(primerCheck_ID));
	    numeroInicio = prefijoID.src.substring(prefijoID.src.lastIndexOf('_') + 1 , prefijoID.src.length);
	}
	
	var contador = 0;
	for (contador = 0; contador < cantidad; contador++){
	    var elCheck = null;
	    var elID = 'ct_' + numeroInico + contador;
	    if (document.getElementById){
	       // elCheck = document.getElementById(elID).style;
	    }else if (document.all){
		   // elCheck = document.all[elID].style;
	    }else if (document.layers){
		   // elCheck = document.layers[elID].style;
	    }
	}
	
	/*checked="checked"
	disabled="disabled"*/
}

function cssMenu(obj){
    if(obj.style.display=='block'){
        obj.style.display='none';
    } else  {
        obj.style.display='block';
    }
}

function checkAll2(sender){

    var toCheck = true;
    if (sender.checked != null){
        if (sender.checked){
            sender.checked = (!sender.checked)
            toCheck = sender.checked;
        }
    }
    
    //Get the parent.
    var laTabla = sender.parentNode;
    while (laTabla.tagName != 'table'){
        laTabla = laTabla.parentNode;
    }
    
    //var filas = laTabla.rows;
    //filas = laTabla.length;
    
    var inputs = laTabla.getElementsByTagName("input");
    var cantidad = inputs.length;
    
    for (i=0; i < cantidad; i++){
        if (inputs[i].checked != null){
            inputs[i].checked = toCheck;
        }
    }
    
}