function lib_bwcheck(){ //Browsercheck (needed)
	this.ver=navigator.appVersion
	this.agent=navigator.userAgent
	this.dom=document.getElementById?1:0
	this.opera5=this.agent.indexOf("Opera 5")>-1
	this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0; 
	this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0;
	this.ie4=(document.all && !this.dom && !this.opera5)?1:0;
	this.ie=this.ie4||this.ie5||this.ie6
	this.mac=this.agent.indexOf("Mac")>-1
	this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0; 
	this.ns4=(document.layers && !this.dom)?1:0;
	this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5)
	return this
}


// ----------------------------------------------
// Escribe dentro de un div - necesito la func lib_bwcheck()
// ----------------------------------------------
function layerWrite(id,nestref,text)
{
  var nav = new lib_bwcheck();
  if (nav.ns4)
	{if (nestref) var lyr = eval('document.'+nestref+'.document.'+id+'.document');
	else var lyr = document.layers[id].document;
	lyr.open();
	lyr.write(text);
	lyr.close();
	}
  else document.all[id].innerHTML = text;
}




// ----------------------------------------------
// Esta función valida que una fecha este correcta y viene el formulario
// ----------------------------------------------
function ValidDate()
{
var field_name = ValidDate.arguments[0];
var display_name = ValidDate.arguments[1];
if (ValidDate.arguments.length==2) var form = document.forms[0];
else var form = document.forms[ValidDate.arguments[2]];
var pDate = form.elements[field_name].value;
result = false;
// Create a variable to hold the correct format.
var CorrectFormat = /[0-3][0-9]\/[0-1][0-9]\/[0-9][0-9][0-9][0-9]/;
// If the field has value, validate the date.
if (pDate && CorrectFormat.test(pDate))
	{
	// Split out the month, day and year variables.
	var Day = pDate.substr(0,2);
	var Month = pDate.substr(3,2);
	var Year = pDate.substr(6,4);
	// Ensure all the values are greater than 0
	if (Month > 0 && Month <=12 && Day > 0 && Day <=31  && Year > 0)
		{
		// Find the max day for the month
		// The default max day is 31
		var maxDays = 31;
		// If the month is April, June, September or November the max day is 30
		if (Month == 4 || Month == 6 || Month == 9 || Month == 11) maxDays = 30;
		if (Month == 2)
			if (Year % 4 > 0) maxDays =28;
			else
				if (Year % 100 == 0 && Year % 400 > 0) maxDays = 28;
				else maxDays = 29;
			// Determine if the day entered is less than the max days for that month.
			if (Day <= maxDays) result = true;
		}
	}
if (!result)
	{alert('El campo "'+display_name+'" no contiene un fecha válida.');
	form.elements[field_name].focus();
	}
return result;
}
 
 

// -----------------------------------------
// Esta función valida una direccion de e-mail
// -----------------------------------------
function parse_email()
{
var field_name = parse_email.arguments[0];
var display_name = parse_email.arguments[1];
var language = parse_email.arguments[2];
if (parse_email.arguments.length==3) var form = document.forms[0];
else var form = document.forms[parse_email.arguments[3]];
var str = form.elements[field_name].value; 
result = true;
if ((str.indexOf('@') == -1) || (str.indexOf('@') == 0) || (str.indexOf('@') == str.length -1)) result = false;
if (!result)
 { if (language==1) alert('El campo "'+display_name+'" no contiene una dirección de email válida.') 
   else alert('The field "'+display_name+'" is not a valid email address.');
   form.elements[field_name].focus(); }
return result
}



function parse_DNI(field_name, display_name, language)
{
var str = document.forms[0].elements[field_name].value; 
result = true;
if ( (isNaN(str)==true) || (str.length != 11)) result = false;
if (!result)
 { if (language==1) alert('El campo "'+display_name+'" no contiene un numero válido de DNI.') 
   else alert('The field "'+display_name+'" is not a valid email address.');
   document.forms[0].elements[field_name].focus(); }
return result
}

// --------------------------------------------
// Esta función valida que un número sea entero
// --------------------------------------------
function valid_int()
{
var field_name = valid_int.arguments[0];
var display_name = valid_int.arguments[1];
var language = valid_int.arguments[2];
if (valid_int.arguments.length==3) var form = document.forms[0];
else var form = document.forms[valid_int.arguments[3]];
var str = form.elements[field_name].value;
result = true;
if ( (isNaN(parseInt(str))==true) || str.indexOf('.') > -1 ||  str.indexOf(',') > -1) result = false;
if (!result)
 { if (language==1) alert('El campo "'+display_name+'" no es válido.') 
   else alert('The field "'+display_name+'" is not valid.');
   form.elements[field_name].focus(); }
return result
}


// --------------------------------------------
// Esta función valida que un número sea float y viene el nombre del form
// --------------------------------------------

function valid_float(field_name, display_name, language, formName)
{
var str = document.forms[formName].elements[field_name].value; 
result = true;
if ( (isNaN(parseFloat(str))==true) ) result = false;
if (!result)
 { if (language==1) alert('El campo "'+display_name+'" no es válido.') 
   else alert('The field "'+display_name+'" is not valid.');
   document.forms[formName].elements[field_name].focus(); }
return result
}

// --------------------------------------------
// Esta función valida que un número este en un rango
// --------------------------------------------
function valid_range(field_name, display_name, range_bot, range_top, formName)
{
var str = document.forms[formName].elements[field_name].value; 
result = true;
if ( str < range_bot || str > range_top ) result = false;
if (!result)
 { alert('El campo "'+display_name+'" debe estar en el rango: '+range_bot+' - '+range_top+'.');
   document.forms[formName].elements[field_name].focus(); }
return result
}


// --------------------------------------------
// Esta función valida que el texto de un campo no sea maoy que size
// compare 1= | 2< | 3<= | 4> | 5>= 
// --------------------------------------------
function check_size(field_name, display_name, size, compare, formName)
{
var str = document.forms[formName].elements[field_name].value; 
result = false;
if (compare==1 && str.length == size) result = true;
if (compare==2 && str.length <  size) result = true;
if (compare==3 && str.length <= size) result = true;
if (compare==4 && str.length >  size) result = true;
if (compare==5 && str.length >= size) result = true;
if (!result)
 { alert('El tamaño del campo "'+display_name+'" no es válido.') 
   document.forms[formName].elements[field_name].focus(); }
return result
}




function openwin(pagina) {
window.open(pagina, null, "top=30, left=100, height=450, width=600, status=no, toolbar=no,menubar=no,location=no,scrollbars=yes");
}

function openVidriera(pagina) {
window.open(pagina, null, "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=640,height=480");
}

function openContactoServicio(IDServicio) {
window.open('/servContacto.asp?IDServicio='+IDServicio, null, "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=480,height=350");
}

function openImprimirGuia(IDTipoServicio, ver) {
window.open('/miGuiaImprimir.asp?IDTipoServicio='+IDTipoServicio+'&ver='+ver, null, "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=640,height=480");
}

function openEnviarAmigo(IDServicio) {
window.open('/miGuiaEnviar.asp?IDServicio='+IDServicio, null, 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=481,height=391');
}

function openVerFoto(idFoto) { window.open('/galFotosVer.asp?idFoto='+idFoto, null, "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=420,height=300");
}



// ---------------------------------------------
// esta funcion verifica que se elija un boton radio
// ---------------------------------------------
function radioSelected(radio_name, display_name, formName)
 {var result = false;
 for (i=0; i < document.forms[formName].elements[radio_name].length && !result ; i++)
 	result = document.forms[formName].elements[radio_name][i].checked;
 if (!result)
 	{alert('Por favor, seleccione una "'+display_name+'".');
 	document.forms[formName].elements[radio_name][0].focus();
 	}
 return result;
 }

// ---------------------------------------------
// esta funcion devuelve el valor elegido en un grupo de radio
// ---------------------------------------------
function getRadioSelected(radio_name, formName)
 {var result = false;
 var returnResult;
  if (document.forms[formName].elements[radio_name].length > 0)
	{for (i=0; i < document.forms[formName].elements[radio_name].length && !result ; i++)
		{result = document.forms[formName].elements[radio_name][i].checked;
		returnResult = document.forms[formName].elements[radio_name][i].value;}
	}
else
	{result = document.forms[formName].elements[radio_name].checked;
	returnResult = document.forms[formName].elements[radio_name].value;
	}
 return returnResult;
 }


// ---------------------------------------------
// esta funcion verifica que se elija un item de una lista (dropdown)
// ---------------------------------------------
function itemListSelected(select_name, display_name, formName)
 {var result = (document.forms[formName].elements[select_name].selectedIndex > -1);
 if (!result)
 	{alert('Debe seleccionar "'+display_name+'".');
 	//document.forms[formName].elements[radio_name][0].focus();
 	}
 return result;
 }

// ---------------------------------------------
// esta funcion devuelve el valor elegido en una lista (dropdown)
// ---------------------------------------------
function getItemSelected(select_name, formName)
 {var result = false;
 var returnResult;
  if (document.forms[formName].elements[select_name].length > 0)
	{var itemSeleccionado = document.forms[formName].elements[select_name].selectedIndex;
	returnResult = document.forms[formName].elements[select_name].options[itemSeleccionado].value;}
else returnResult = null;
 return returnResult;
 }


//--------------------------------------------------------------------------------------------------------------
// esta func. valida que los valores pasados en fieldsArray de un Formulario, no sean vacíos
//--------------------------------------------------------------------------------------------------------------
function valid()
{
var fieldsArray = valid.arguments[0];
var displayArray = valid.arguments[1];
if (valid.arguments.length==2) var form = document.forms[0];
else var form = document.forms[valid.arguments[2]];
 result = true;
 for (var i = 1; ((i < fieldsArray.length) && (result)); i++)
  {
    if (form.elements[fieldsArray[i]].value == '') 
     {alert('El campo "'+displayArray[i]+'" no puede estar vacio.');
      result = false;
      form.elements[fieldsArray[i]].focus();}
  }  
 return result 
}


//--------------------------------------------------------------------------------------------------------------
// muestra la fecha del cliente, como dia, de mes de año
//--------------------------------------------------------------------------------------------------------------
function mostrarFecha()
{
day = new Array(7);
day[0] = 'Domingo';
day[1] = 'Lunes';
day[2] = 'Martes';
day[3] = 'Miércoles';
day[4] = 'Jueves';
day[5] = 'Viernes';
day[6] = 'Sábado';
month = new Array(12);
month[0] = 'Enero';
month[1] = 'Febrero';
month[2] = 'Marzo';
month[3] = 'Abril';
month[4] = 'Mayo';
month[5] = 'Junio';
month[6] = 'Julio';
month[7] = 'Agosto';
month[8] = 'Septiembre';
month[9] = 'Octubre';
month[10] = 'Noviembre';
month[11] = 'Diciembre';
var d = new Date();
var ds = d.getDay();
var m = d.getMonth();
document.write(day[ds]+", "+d.getDate()+" de "+month[m]+" del "+d.getFullYear());
}


// CODIGO DE ROLLOVER DE COLOR DE CELDAS

function cOvr(src) {
src.style.cursor = 'hand';
}

function cOut(src) {
src.style.cursor = 'default';
}

function mOvr(src,clrOver) {
src.style.backgroundColor = clrOver;
src.style.cursor = 'hand';
}

function mOut(src,clrIn) {
src.style.backgroundColor = clrIn;
src.style.cursor = 'default';
}

function mClk(src) {
if(event.srcElement.tagName=='TD'){
src.children.tags('A')[0].click();
}
}



//**********************************************
//************* REMOTE SCRIPT TOOLS *************
//**********************************************
// ---------------------------------------------
// verifica que se seleccione un item de una lista drop down
// ---------------------------------------------
function validSelection(select_name, display_name, formName)
{var result = (document.forms[formName].elements[select_name].selectedIndex > -1);
 if (!result || document.forms[formName].elements[select_name].options[document.forms[formName].elements[select_name].selectedIndex].value==noValue)
 	{alert('Debe seleccionar "'+display_name+'".');
 	result = false;
 	}
 return result;
}


function selectOption( listName, optionVal ){
  // set list selection to option based on value
  var lst = document.forms[formName][listName];
  for( var i = 0; i< lst.options.length; i++ ){
    if( lst.options[i].value == optionVal ){
      lst.selectedIndex = i;
      return;
    }  
  }
}

function fillList( listName, strOptions ){
  // fill any list with options
  emptyList( listName );
  
  // always insert selection prompt
  var lst = document.forms[formName][listName];
  lst.disabled = true;

  //inicio una variable que tiene la cant. de elementos del list
  var cant = lst.length;  

  // options in form "value~displaytext|value~displaytext|..."
  var aOptionPairs = strOptions.split('|');
  for( var i = 0; i < aOptionPairs.length; i++ ){
    if (aOptionPairs[i].indexOf('~') != -1) {
      var aOptions = aOptionPairs[i].split('~');
      lst.options[i + cant] = new Option(aOptions[1], aOptions[0]);
    }  
  }
  
  // init to no value
  selectOption( listName, noValue );
  lst.onchange = eval( listName + "_onChange" );
  lst.disabled = false;
}


function verificarSeleccionRubro()
{
 if (document.forms[formName]['idRubro'].value != '')
 	{selectOption( 'idRubroF', document.forms[formName]['idRubro'].value );
         document.forms[formName]['idRubroF'].onchange();
 	}
}

function verificarSeleccionSubRubro()
{
 if (document.forms[formName]['idSubRubro'].value != '')
 	{selectOption( 'idSubRubroF', document.forms[formName]['idSubRubro'].value );
        document.forms[formName]['idSubRubroF'].onchange();
	}
}

function verificarSeleccionOperacion()
{
 if (document.forms[formName]['idOperacion'].value != '')
 	{selectOption( 'idOperacionF', document.forms[formName]['idOperacion'].value );
        document.forms[formName]['idOperacionF'].onchange();
	}
}