function PrevNotificacion(TipoResp,IdRespuesta,IdCaso){
	if (IdRespuesta != '0' && IdRespuesta != '' && IdCaso != '0'){
		window.open('previsualizar.asp?V1='+IdCaso+'&V2='+IdRespuesta+'&V3='+TipoResp,'Previsualizar','width=780,height=600,scrollbars=yes,menubar=yes');
	} else {
		alert('Indique motivo');
		return false;
	}
}

function OnBtnColorClick(color,param){
	fnShowChooseColorDlg(color,param,"");
}
function OnChangeColor(color,param){
	if(color){
		switch(param){
                case 1 :  document.getElementById('text_fld_1').value = color;
						  document.getElementById('color_fld_1').style.backgroundColor = color;
                          break;
			  	case 2 :  document.getElementById('text_fld_2').value = color;
						  document.getElementById('color_fld_2').style.backgroundColor = color;
                          break;
			  	case 3 :  document.getElementById('text_fld_3').value = color;
						  document.getElementById('color_fld_3').style.backgroundColor = color;
                          break;
			  	case 4 :  document.getElementById('text_fld_4').value = color;
						  document.getElementById('color_fld_4').style.backgroundColor = color;
                          break;
			  	case 5 :  document.getElementById('text_fld_5').value = color;
						  document.getElementById('color_fld_5').style.backgroundColor = color;
                          break;
			  	case 6 :  document.getElementById('text_fld_6').value = color;
						  document.getElementById('color_fld_6').style.backgroundColor = color;
                          break;
			  	case 7 :  document.getElementById('text_fld_7').value = color;
						  document.getElementById('color_fld_7').style.backgroundColor = color;
                          break;
			  	case 8 :  document.getElementById('text_fld_8').value = color;
						  document.getElementById('color_fld_8').style.backgroundColor = color;
                          break;
			  	case 9 :  document.getElementById('text_fld_9').value = color;
						  document.getElementById('color_fld_9').style.backgroundColor = color;
                          break;
			  	case 10 :  document.getElementById('text_fld_10').value = color;
						  document.getElementById('color_fld_10').style.backgroundColor = color;
                          break;
			  	case 11 :  document.getElementById('text_fld_11').value = color;
						  document.getElementById('color_fld_11').style.backgroundColor = color;
                          break;				
			  	case 12 :  document.getElementById('text_fld_12').value = color;
						  document.getElementById('color_fld_12').style.backgroundColor = color;
                          break;										 
                }              
	}
}

function Mid(s, n, c){
	var numargs=Mid.arguments.length;	
	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 iSubmitEnter(o){ 
	 var iAscii; 

	if (event.keyCode){ 
		 iAscii = event.keyCode;
	} else {
		if (event.which) {
			iAscii = event.which;
		} else {
			return false; 
		}
	}
	
	if (iAscii == 13) {add_user.submit(); return true; }
}
						
function CambiaTexto(NewTxt,IdElement){	
	eval("document.getElementById('"+IdElement+"').innerHTML='"+NewTxt+"'");
}

function DetBrowser(){
	Navegador = navigator.userAgent;
	BrowTmp = 'NI'; // No identificado	
	if (Navegador.indexOf('MSIE') != -1) BrowTmp = 'IE';
	if (Navegador.indexOf('Firefox') != -1) BrowTmp = 'FF';
	if (Navegador.indexOf('Netscape') != -1) BrowTmp = 'NS';
	if (Navegador.indexOf('Opera') != -1) BrowTmp = 'OP';
	return BrowTmp;
}

function iSubmitEnter(o){ 
	 var iAscii; 

	if (event.keyCode){ 
		 iAscii = event.keyCode;
	} else {
		if (event.which) {
			iAscii = event.which;
		} else {
			return false; 
		}
	}
	
	if (iAscii == 13) {add_user.submit(); return true; }
}
						
function CambiaTexto(NewTxt,IdElement){	
	eval("document.getElementById('"+IdElement+"').innerHTML='"+NewTxt+"'");
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' debe contener una dirección de correo eléctronico.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' debe contener un número.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' debe contener un número entre '+min+' y '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+'\n'; }
  } if (errors) alert('Complete o revise los siguientes campos:\n'+errors);
  document.MM_returnValue = (errors == '');
}
//_Hasta aqui
function checkCDV(dvr){
	dv = dvr + ""
	if ( dv != '0' && dv != '1' && dv != '2' && dv != '3' && dv != '4' && dv != '5' && dv != '6' && dv != '7' && dv != '8' && dv != '9' && dv != 'k'  && dv != 'K')
	{
		return false;
	}
	return true;
}

function checkDV(rut,dv){		
	largo = rut.length;
	if ( largo < 1 )
	{
		return false;
	}

	if ( !checkCDV( dv ) )
		return false;
	if ( rut == null || dv == null )
			return 0
	var dvr = '0'
	suma = 0
	mul  = 2
	for (i= rut.length -1 ; i >= 0; i--)
	{
		suma = suma + rut.charAt(i) * mul
		if (mul == 7)
			mul = 2
		else    
			mul++
	}
	res = suma % 11
	if (res==1)
		dvr = 'k'
	else if (res==0)
		dvr = '0'
	else
	{
	dvi = 11-res
	dvr = dvi + ""
	}

	if ( dvr != dv.toLowerCase() )
	{		
	return false
	}
	return true;
}
			
function validar_tipo(contenido){
	var Err_msg = 0;
	var Txt_msg = '';
	
	if (contenido == ''){
		Err_msg++;
		Txt_msg = Txt_msg + "- Ingrese Contenido.\n";
	}
	
	if (Err_msg == 0){
		document.buscar.submit();
	} else {
		alert('Complete:\n' + Txt_msg)
	}
}
	
function Login(){
	var Nerror = 0;
	var Txt_error = '';
	var user = document.login.username.value;
	var passwd = document.login.password.value;
	
	if (user != ''){
		if (user.length < 5){
			Nerror++;
			Txt_error = Txt_error + "- Largo usuario.\n";
		}
	} else {
		Nerror++;
		Txt_error = Txt_error + "- Usuario.\n";
	}
	
	if (passwd != ''){
		if (passwd.length < 5){
			Nerror++;
			Txt_error = Txt_error + "- Largo contraseña.\n";
		}
	} else {
		Nerror++;
		Txt_error = Txt_error + "- Contraseña.\n";
	}
	
	if (Nerror == 0){
		document.login.submit();
	} else {
		alert('Complete o corrija:\n' + Txt_error)
	}
}

function LoginAseg(){
	var Nerror = 0;
	var cnt = 0;
	var Txt_error = '';
	var user = document.Login_Aseg.username.value;
	var passwd = document.Login_Aseg.password.value;

	if (user != ''){
		if (user.length < 5){
			Nerror++;
			Txt_error = Txt_error + "- largo usuario.\n";
		}
	} else {
		Nerror++;
		Txt_error = Txt_error + "- usuario.\n";
	}
	
	if (passwd != ''){
		if (passwd.length < 5){
			Nerror++;
			Txt_error = Txt_error + "- largo contraseña.\n";
		}
	} else {
		Nerror++;
		Txt_error = Txt_error + "- contraseña.\n";
	}
	
	if (Nerror == 0){
		document.Login_Aseg.submit();
	} else {
		alert('Complete o corrija:\n' + Txt_error);
		return false;
	}
}

function LoginCom(){
	var Nerror = 0;
	var cnt = 0;
	var Txt_error = '';
	var user = document.Login_Com.username.value;
	var passwd = document.Login_Com.password.value;

	if (user != ''){
		if (user.length < 6){
			Nerror++;
			Txt_error = Txt_error + "- largo usuario.\n";
		}
	} else {
		Nerror++;
		Txt_error = Txt_error + "- usuario.\n";
	}
	
	if (passwd != ''){
		if (passwd.length < 6){
			Nerror++;
			Txt_error = Txt_error + "- largo contraseña.\n";
		}
	} else {
		Nerror++;
		Txt_error = Txt_error + "- contraseña.\n";
	}
	
	if (Nerror == 0){
		document.Login_Com.submit();
	} else {
		alert('Complete o corrija:\n' + Txt_error);
		return false;
	}
}

function dateDiff(p_Interval, p_Date1, p_Date2, p_firstdayofweek, p_firstweekofyear){
	if(!isDate(p_Date1)){return "invalid date: '" + p_Date1 + "'";}
	if(!isDate(p_Date2)){return "invalid date: '" + p_Date2 + "'";}
	var dt1 = new Date(p_Date1);
	var dt2 = new Date(p_Date2);

	// get ms between dates (UTC) and make into "difference" date
	var iDiffMS = dt2.valueOf() - dt1.valueOf();
	var dtDiff = new Date(iDiffMS);

	// calc various diffs
	var nYears  = dt2.getUTCFullYear() - dt1.getUTCFullYear();
	var nMonths = dt2.getUTCMonth() - dt1.getUTCMonth() + (nYears!=0 ? nYears*12 : 0);
	var nQuarters = parseInt(nMonths/3);	//<<-- different than VBScript, which watches rollover not completion
	
	var nMilliseconds = iDiffMS;
	var nSeconds = parseInt(iDiffMS/1000);
	var nMinutes = parseInt(nSeconds/60);
	var nHours = parseInt(nMinutes/60);
	var nDays  = parseInt(nHours/24);
	var nWeeks = parseInt(nDays/7);


	// return requested difference
	var iDiff = 0;		
	switch(p_Interval.toLowerCase()){
		case "yyyy": return nYears;
		case "q": return nQuarters;
		case "m": return nMonths;
		case "y": 		// day of year
		case "d": return nDays;
		case "w": return nDays;
		case "ww":return nWeeks;		// week of year	// <-- inaccurate, WW should count calendar weeks (# of sundays) between
		case "h": return nHours;
		case "n": return nMinutes;
		case "s": return nSeconds;
		case "ms":return nMilliseconds;	// millisecond	// <-- extension for JS, NOT available in VBScript
		default: return "invalid interval: '" + p_Interval + "'";
	}
}

function IsNumeric(sText){
   var ValidChars = "0123456789.,";
   var IsNumber=true;
   var Char;
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1){
         IsNumber = false;
         }
      }
   return IsNumber;   
}

function isValidEmail(email, required) {
    if (required==undefined) {   // if not specified, assume it's required
        required=true;
    }
    if (email==null) {
        if (required) {
            return false;
        }
        return true;
    }
    if (email.length==0) {  
        if (required) {
            return false;
        }
        return true;
    }


    if (! allValidChars(email)) {  // check to make sure all characters are valid
        return false;
    }
    if (email.indexOf("@") < 1) { //  must contain @, and it must not be the first character
        return false;
    } else if (email.lastIndexOf(".") <= email.indexOf("@")) {  // last dot must be after the @
        return false;
    } else if (email.indexOf("@") == email.length) {  // @ must not be the last character
        return false;
    } else if (email.indexOf("..") >=0) { // two periods in a row is not valid
	return false;
    } else if (email.indexOf(".") == email.length) {  // . must not be the last character
	return false;
    }
    return true;
}
function allValidChars(email) {
  var parsed = true;
  var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";
  for (var i=0; i < email.length; i++) {
    var letter = email.charAt(i).toLowerCase();
    if (validchars.indexOf(letter) != -1)
      continue;
    parsed = false;
    break;
  }
  return parsed;
}

function remote(url){
  window.opener.location=url
}

function iSubmitEnter(o){ 
	 var iAscii; 

	if (event.keyCode){ 
		 iAscii = event.keyCode;
	} else {
		if (event.which) {
			iAscii = event.which;
		} else {
			return false; 
		}
	}
	
	if (iAscii == 13) {add_user.submit(); return true; }
}

function iSubmitEnter(o){ 
	 var iAscii; 

	if (event.keyCode){ 
		 iAscii = event.keyCode;
	} else {
		if (event.which) {
			iAscii = event.which;
		} else {
			return false; 
		}
	}
	
	if (iAscii == 13) {add_user.submit(); return true; }
}
function Valfecha(Cadena){
		var Fecha= new String(Cadena) 
		var RealFecha= new Date() 
		var Ano= new String(Fecha.substring(Fecha.lastIndexOf("/")+1,Fecha.length))   
		var Mes= new String(Fecha.substring(Fecha.indexOf("/")+1,Fecha.lastIndexOf("/")))   
		var Dia= new String(Fecha.substring(0,Fecha.indexOf("/")))   
		var leapYear
		
		if ((Ano/4) != Math.floor(Ano/4)) {
			leapYear = "N";
		} else if ((Ano/100) != Math.floor(Ano/100)) {
			leapYear = "Y";
		} else if ((Ano/400) != Math.floor(Ano/400)) {
			leapYear = "N";		
		} else {
			leapYear = "Y";
		}
			
		if (Fecha.length != 10){
			return false
		}
		
		if (isNaN(Ano) || Ano.length<4 || parseFloat(Ano)<1900){   
			return false   
		}   
		if (isNaN(Mes) || parseFloat(Mes)<1 || parseFloat(Mes)>12){   
			return false   
		}   
		if (isNaN(Dia) || parseInt(Dia, 10)<1 || parseInt(Dia, 10)>31){   
			return false   
		}   
		if (Mes==4 || Mes==6 || Mes==9 || Mes==11 || Mes==2) {   

			if (Mes==2){
				if (leapYear == 'Y'){
					if (Dia > 29) {   
						return false   
					}					
				}else{
					if (Dia > 28) {   
						return false   
					}									
				}
			}else{
				if (Dia > 30) {   
					return false   
				}											
			}
		}   
	  return true     
	}  
