// JavaScript Document
/*
var digitos=10 //cantidad de digitos buscados
var puntero=0
var buffer=new Array(digitos) //declaración del array Buffer
var cadena=""

function buscar_option(obj,objfoco){
   var letra = String.fromCharCode(event.keyCode)
   if(puntero >= digitos){
       cadena="";
       puntero=0;
    }
   //si se presiona la tecla ENTER, borro el array de teclas presionadas y salto a otro objeto...
   if (event.keyCode == 13){
       borrar_buffer();
       if(objfoco!=0) objfoco.focus(); //evita foco a otro objeto si objfoco=0
    }
   //sino busco la cadena tipeada dentro del combo...
   else{
       buffer[puntero]=letra;
       //guardo en la posicion puntero la letra tipeada
       cadena=cadena+buffer[puntero]; //armo una cadena con los datos que van ingresando al array
       puntero++;

       //barro todas las opciones que contiene el combo y las comparo la cadena...
       for (var opcombo=0;opcombo < obj.length;opcombo++){
          if(obj[opcombo].text.substr(0,puntero).toLowerCase()==cadena.toLowerCase()){
          obj.selectedIndex=opcombo;
          }
       }
    }
   event.returnValue = false; //invalida la acción de pulsado de tecla para evitar busqueda del primer caracter
}

function borrar_buffer(){
   //inicializa la cadena buscada
    cadena="";
    puntero=0;
} 
*/
function MarcarOptions(objSelect, opcionesSeleccionadas, Color)
{
	arrayOpciones = opcionesSeleccionadas.split("-");
	
	for(k = 0; k < objSelect.options.length; k++)
	{
		for(j = 0; j < arrayOpciones.length; j++)
		{
			if(objSelect.options[k].value == arrayOpciones[j])
			{
				objSelect.options[k].backgroundColor = Color;	
			}
		}
	}
	
	for(k = 0; k < objSelect.options.length; k++)
	{
		if(objSelect.options[k].backgroundColor == "")
		{
			objSelect.options[k].backgroundColor = "#FFFFFF";	
		}
	}
}

function cmbEstablecerSeleccion(objSelect, Seleccionado)
{
	for(i =0; i < objSelect.options.length; i++)
	{	if(objSelect.options[i].value == Seleccionado)
		{	objSelect.options[i].selected = true;
			break;
		}
	}	
}

//
//-----------------------------------------------------------------------------
// Funciones de conversión entre php y JavaScript				(15/Mar/99)
//
// (c)Guillermo 'guille' Som, 1999
//
//-----------------------------------------------------------------------------
// Las funciones son:
//		Left, Right, Mid, LTrim, RTrim, Trim, InStr, RInStr, Space, 
//		jString (esta se llamará así, ya que String es una palabra reservada)
//		UCase, LCase, Len, 
// Otras funciones adicionales:
//		StrReverse
// Constantes:
//		vbCrLf, vbCr, vbLf, vbTab, 
//
//-----------------------------------------------------------------------------
// Códigos escape:
//
// \b = Backspace
// \f = Form feed
// \n = Line feed
// \r = Carriage return
// \t = Horizontal tab
//-----------------------------------------------------------------------------
// 
// Nota: 
// Para que todo funcione bien, hay que respetar el estado de las instrucciones
// es decir: cuidado con las mayúsculas/minúsculas.
//
//-----------------------------------------------------------------------------
//

//
//-----------------------------------------------------------------------------
// Constantes
var vbCr = "\r";
var vbLf = "\n";
var vbCrLf = vbCr+vbLf;
var vbTab = "\t";

function Left(s, n){
	// Devuelve los n primeros caracteres de la cadena
	if(n>s.length)
		n=s.length;
		
	return s.substring(0, n);
}
function Right(s, n){
	// Devuelve los n últimos caracteres de la cadena
	var t=s.length;
	if(n>t)
		n=t;
		
	return s.substring(t-n, t);
}
function Mid(s, n, c){
	// Devuelve una cadena desde la posición n, con c caracteres
	// Si c = 0 devolver toda la cadena desde la posición n
	
	var numargs=Mid.arguments.length;
	
	// Si sólo se pasan los dos primeros argumentos
	if(numargs<3)
		c=s.length-n+1;
		
	if(c<1)
		c=s.length-n+1;
	if(n+c >s.length)
		c=s.length-n+1;
	if(n>s.length)
		return "";
		
	return s.substring(n-1,n+c-1);
}
function ltrim(s){
	// Devuelve una cadena sin los espacios del principio
	var i=0;
	var j=0;
	
	// Busca el primer caracter <> de un espacio
	for(i=0; i<=s.length-1; i++)
		if(s.substring(i,i+1) != ' '){
			j=i;
			break;
		}
	return s.substring(j, s.length);
}
function rtrim(s){
	// Quita los espacios en blanco del final de la cadena
	var j=0;
	
	// Busca el último caracter <> de un espacio
	for(var i=s.length-1; i>-1; i--)
		if(s.substring(i,i+1) != ' '){
			j=i;
			break;
		}
	return s.substring(0, j+1);
}
function trim(s){
	// Quita los espacios del principio y del final
	var c = "";
	c = ltrim(rtrim(s));
	c = (c == ' ')? "" : c;
	return c;
}
function InStr(n, s1, s2){
	// Devuelve la posición de la primera ocurrencia de s2 en s1
	// Si se especifica n, se empezará a comprobar desde esa posición
	// Sino se especifica, los dos parámetros serán las cadenas
	var numargs=InStr.arguments.length;
	
	if(numargs<3)
		return n.indexOf(s1)+1;
	else
		return s1.indexOf(s2, n)+1;
}
function RInStr(n, s1, s2){
	// Devuelve la posición de la última ocurrencia de s2 en s1
	// Si se especifica n, se empezará a comprobar desde esa posición
	// Sino se especifica, los dos parámetros serán las cadenas
	var numargs=RInStr.arguments.length;
	
	if(numargs<3)
		return n.lastIndexOf(s1)+1;
	else
		return s1.lastIndexOf(s2, n)+1;
}
function Space(n){
	// Devuelve una cadena con n espacios
	var t="";
	
	for(var i=1; i<=n; i++)
		t=t+" ";
	
	return t;
}
function jString(n, c){
	// Devuelve n veces el caracter c
	var t="";
	
	for(var i=1; i<=n; i++)
		t=t+c;
	return t;
}
function UCase(s){
	// Devuelve la cadena convertida a mayúsculas
	return s.toUpperCase();
}
function LCase(s){
	// Devuelve la cadena convertida en minúsculas
	return s.toLowerCase();
}
function Len(s){
	// Devuelve la longitud de la cadena s
	return s.length;
}
function StrReverse(s){
	// Invierte la cadena
	var i=s.length;
	var t="";
	
	while(i>-1){
		t=t+ s.substring(i,i+1);
		i--;
	}
	return t;
}

function str_replace(cadena, cambia_esto, por_esto) {
      return cadena.split(cambia_esto).join(por_esto);
}

function EsNumero(cadena)
{
	expReg = /^(\d{1,})$/
	
	return expReg.test(cadena);
}

function EsNumeroSeguroSocial(numero)
{
	expNoSS = /^(\d{3})-(\d{2})-(\d{4})$/
	return expNoSS.test(numero);
}

function EsFecha(fecha)
{	// formato 
	expFecha = /^(0[1-9]|1[012])(-)([012][1-9]|3[01]|10|20)\2(\d{4})$/
	if(fecha != "")
	{
		return expFecha.test(fecha);
	}
	else
	{
		return false;	
	}
}

function EsFechaMayorIgual(fec0, fec1){
    var bRes = false;
    var sMes0 = fec0.value.substr(0, 2);
    var sDia0 = fec0.value.substr(3, 2);
    var sAno0 = fec0.value.substr(6, 4);
    var sMes1 = fec1.value.substr(0, 2);
    var sDia1 = fec1.value.substr(3, 2);
    var sAno1 = fec1.value.substr(6, 4);
    if (sAno0 > sAno1) bRes = true;
    else {
     if (sAno0 == sAno1){
      if (sMes0 > sMes1) bRes = true;
      else {
       if (sMes0 == sMes1)
        if (sDia0 >= sDia1) bRes = true;
      }
     }
    }
    return bRes;
} 

function EsFechaMayor(fec0, fec1){
    var bRes = false;
    var sMes0 = fec0.value.substr(0, 2);
    var sDia0 = fec0.value.substr(3, 2);
    var sAno0 = fec0.value.substr(6, 4);
    var sMes1 = fec1.value.substr(0, 2);
    var sDia1 = fec1.value.substr(3, 2);
    var sAno1 = fec1.value.substr(6, 4);
    if (sAno0 > sAno1) bRes = true;
    else {
     if (sAno0 == sAno1){
      if (sMes0 > sMes1) bRes = true;
      else {
       if (sMes0 == sMes1)
        if (sDia0 > sDia1) bRes = true;
      }
     }
    }
    return bRes;
} 

function $MarcarSoloLectura(id_nombre_objeto)
{
	$(id_nombre_objeto).style.backgroundColor = "#C9F9B9";
	$(id_nombre_objeto).style.backgroundImage = "none";
	$(id_nombre_objeto).disabled = true;
}

function $DesmarcarSoloLectura(id_nombre_objeto)
{
	$(id_nombre_objeto).style.backgroundColor = "#FFFFFF";
	$(id_nombre_objeto).style.backgroundImage = "url(/images/fondo_input.jpg)";	
	$(id_nombre_objeto).disabled = false;
}

function DevolverEntero(objeto,cadena)
{
	var cat=cadena.split("");
	var numero="";
	
	for(i=0; i<cat.length; i++)
	{
		//alert(i);
		if(EsNumero(cat[i])){
			numero+=cat[i];	
		}
		
	}
	objeto.value=numero;
	
}

function FormatearDinero(valor)
{
	cadena = "";	
	cadena = (valor != "")? "$"+ roundTo(valor, 2 )+" USD" : "";
	return cadena;
}
function MM_openBrWindow(theURL,winName,features) { //v2.0
window.open(theURL,winName,features);
}
