// //
// JavaScript Functions //
// //
//////////////////////////////////////
// Algunas variables Globales
var HOY=new Date();
// Algunos formatos para fechas.
var NLDF="D/M/YY"; // para columnas en las queries INFORMIX
var IFDF="D/M/YY"; // para columnas en SQL según DBDATE
// Algunos formatos para nros.
var NF2="##"
var NF3="###"
var NF4="#.###"
var NF5="##.###"
var NF6="###.###"
var NF7="#.###.###"
var NF8="##.###.###"
var NF9="###.###.###"
var NF09="***.***.***"
var NFY9="&&&.&&&.&&&&"
var NF10="#.###.###.###"
var NF11="##.###.###.###"
var NF12="###.###.###.###"
var baseHtml="";
// Inline Character Constants
var BACKSPACE = "\b"
var TAB = "\t"
var CR = "\r"
var LF = "\n"
var CRLF = "\r\n"
var FF = "\f"
var DQUOTE = '\"'
var SQUOTE = "\'"
var BACKSLASH = "\\"
//
// Date Object Enhanced Methods
//
Date.prototype.getFullYear = getFullYear;
Date.prototype.getActualMonth = getActualMonth;
Date.prototype.getActualDay = getActualDay;
Date.prototype.getCalendarDay= getCalendarDay;
Date.prototype.getCalendarMonth= getCalendarMonth;
Date.prototype.getYearDay= getYearDay;
function DateFromN(ndia) {
// Esta función devuelve una fecha en formato "DD/MM/YY"
// a partir de un nro de día entre 1 y 366 del año actual
//
if ( ndia < 0 )
return ""
var yea=HOY.getYear();
if ( ndia >365 ) {
yea=yea+1;
ndia=ndia-365
}
var nmes = new Array(12);
nmes[0] = 31;
nmes[1] = 28;
nmes[2] = 31;
nmes[3] = 30;
nmes[4] = 31;
nmes[5] = 30;
nmes[6] = 31;
nmes[7] = 31;
nmes[8] = 30;
nmes[9] = 31;
nmes[10] = 30
nmes[11] = 31;
var sumadias=0;
for ( var i=0 ; i <= 11 ; i++) {
suma=nmes[i]+sumadias;
if (suma >= ndia )
break;
sumadias=suma;
}
var dia=ndia-sumadias;
// alert("Datos :"+dia+" Nro Dia: "+ndia+" Mes: "+mes+" SumaDias: "+sumadias+" Suma:"+suma+" Mes:"+i);
var mes=i+1;
// alert("Es Día :"+dia+" del mes "+mes);
return dia+"/"+mes+"/"+yea;
}
function AsignaFecha(stringDate,fecha) {
// Esta función asigna el día, mes y año de la cadena stringDate
// a la variable de tipo date pasada como argumento "fecha"
if ( stringDate == "" )
return "" ;
var s_fecha=DateUnformat(stringDate+"");
if ( s_fecha == "" )
return "" ;
if ( s_fecha.substring(0,1) == "-" ) {
alert("-> ¡ Fecha no Válida! ¡ Debe ser una fecha en formato dd/mm/aa!");
return "-1";
}
var day=HOY.getDate();
var yea=HOY.getYear();
var mon=HOY.getMonth()+1;
var pos=s_fecha.indexOf("/");
if (pos == -1) {
if ( s_fecha.length == 1 || s_fecha.length == 2 )
day=parseInt(s_fecha);
if ( s_fecha.length == 3 || s_fecha.length == 4 ) {
day=parseInt(s_fecha.substring(0,2));
mon=s_fecha.substring(2,s_fecha.length);
}
if ( s_fecha.length == 5 ) {
day=parseInt(s_fecha.substring(0,2));
mon=s_fecha.substring(2,3);
yea=parseInt(s_fecha.substring(3,s_fecha.length));
}
if ( s_fecha.length == 6 ) {
day=parseInt(s_fecha.substring(0,2));
mon=s_fecha.substring(2,4);
yea=parseInt(s_fecha.substring(4,s_fecha.length));
}
}
else {
var lastPos=s_fecha.substring(pos+1,s_fecha.length).indexOf("/");
if ( lastPos == -1 ) {
day = parseInt(s_fecha.substring(0,pos));
mon = s_fecha.substring(pos+1,s_fecha.length);
}
else {
lastPos=pos+lastPos+1;
day = parseInt(s_fecha.substring(0,pos));
mon = s_fecha.substring(pos+1,lastPos);
yea = parseInt(s_fecha.substring(lastPos+1,s_fecha.length));
}
}
fecha.setDate(day);
fecha.setMonth(mon-1);
fecha.setYear(yea);
return 0;
}
function getYearDay() {
var nday = this.getDate();
var nmon = this.getMonth();
var nyea = this.getYear();
var nmes = new Array(12);
nmes[0] = 31;
nmes[1] = daysInFebruary (nyea)
nmes[2] = 31;
nmes[3] = 30;
nmes[4] = 31;
nmes[5] = 30;
nmes[6] = 31;
nmes[7] = 31;
nmes[8] = 30;
nmes[9] = 31;
nmes[10] = 30
nmes[11] = 31;
var sumadias=0;
for ( var i=0 ; i < nmon; i++ )
sumadias=nmes[i]+sumadias;
var dia=sumadias+nday;
// alert("El Día es:"+dia+" del año");
return dia;
}
function getFullYear() {
var n = this.getYear();
if ( n >= 0 && n <= 70 )
n += 2000;
else
n += 1900;
return n;
}
function getActualMonth() {
var n = this.getMonth();
n += 1;
return n;
}
function getActualDay() {
var n = this.getDay();
n += 1;
return n;
}
function getCalendarDay() {
var n = this.getDay();
var ndia = new Array(7);
ndia[0] = "Domingo";
ndia[1] = "Lunes";
ndia[2] = "Martes";
ndia[3] = "Miércoles";
ndia[4] = "Jueves";
ndia[5] = "Viernes";
ndia[6] = "Sábado";
return ndia[n];
}
function getCalendarMonth() {
var n = this.getMonth();
var nmes = new Array(12);
nmes[0] = "Enero";
nmes[1] = "Febrero";
nmes[2] = "Marzo";
nmes[3] = "Abril";
nmes[4] = "Mayo";
nmes[5] = "Junio";
nmes[6] = "Julio";
nmes[7] = "Agosto";
nmes[8] = "Septiembre";
nmes[9] = "Octubre";
nmes[10] = "Noviembre";
nmes[11] = "Diciembre";
return nmes[n];
}
function stringMonth(n) {
var nmes = new Array(12);
nmes[0] = "Enero";
nmes[1] = "Febrero";
nmes[2] = "Marzo";
nmes[3] = "Abril";
nmes[4] = "Mayo";
nmes[5] = "Junio";
nmes[6] = "Julio";
nmes[7] = "Agosto";
nmes[8] = "Septiembre";
nmes[9] = "Octubre";
nmes[10] = "Noviembre";
nmes[11] = "Diciembre";
return nmes[n];
}
// End Date Objects
/*
Varialbles para el Scroll:
MESSAGE = "Your message" -- The text you want to scroll.
[Put into scroll.msg]
DELAY = 50 -- The delay (in milliseconds)
between each shift left.
[Put into scroll.delay]
POSITION = 100 -- How many spaces should lead the
message when it starts?
[Put into scroll.pos]
status_scroll -- true o false si scroll activado
*/
var status_scroll = false
// No scroll activado
var POSITION = 100
var DELAY = 50
var MESSAGE = " Cuentas a Pagar "
var scroll = new statusMessageObject()
function decode(str) {
return unescape(str);
}
function encode(str) {
return escape(str);
}
function getCookie(Name) {
var search = "NETSCAPE_LIVEWIRE." + Name + "=";
var RetStr = "";
var Offset = 0;
var end = 0;
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search);
if (offset != -1) {
offset += search.length;
end = document.cookie.indexOf(";",offset);
if (end == -1) {
end = document.cookie.length
}
RetStr = decode(document.cookie.substring(offset,end));
}
}
return(RetStr);
}
function setCookie(Name,Value,Expire) {
document.cokie = "NETSCAPE_LIVEWIRE." + Name + "="
+ encode(Value)
+ ((Expire == null) ? "" : ("; expires=" + Expire.toGMTString()));
}
function chk_login() {
if (client.es_inicio == 1 ) {
top.close();
redirect("initial.html?ipw=1");
return false;
}
else
return true;
}
function abreVentana(ulrPath,winName) {
// if (ulrPath != null) {
now=new Date();
var n = now.getSeconds();
stringArgs=" ";
numArgs=abreVentana.arguments.length;
if (numArgs >2) {
for (var i=1; i < numArgs; i++) {
stringArgs=stringArgs+","+abreVentana.arguments[i];
};
};
stringArgs="\""+stringArgs+"\"";
NvaVentana=window.open(ulrPath,winName+n,stringArgs);
return NvaVentana;
// };
}
function cierraVentana(Ventana) {
if (Ventana != null) {
Ventana.close();
return;
};
}
function NetHelp(topic) {
window.open("help.html#" + topic , "HelpWin",
"toolbar=no,directories=no,menubar=no,status=no,scrollbars=no,resizable=yes,width=400,height=500")
}
function loadHelp() {
if (parent.main.document.URL.indexOf("multi_entry.html") >= 0)
NetHelp("entry");
else if (parent.main.document.URL.indexOf("report") >= 0)
NetHelp("reports");
else if (parent.main.document.URL.indexOf("user_info.html") >= 0 ||
parent.main.document.URL.indexOf("_pw.html") >= 0)
NetHelp("prefs");
else if (parent.main.document.URL.indexOf("edit_entry") >= 0)
NetHelp("edit_entry");
else if (parent.main.document.URL.indexOf("admin.html") >= 0 ||
parent.main.document.URL.indexOf("add_") >= 0 ||
parent.main.document.URL.indexOf("edit_") >= 0)
NetHelp("admin");
else
NetHelp("intro");
}
function DbsError(status,dbstatus)
{
// Hay un problemilla: status es true en las operaciones de
// connect pero es un numérico en el resto.
// por eso siempre será true en las peticiones SQL
//
client.status=status;
client.dbstatus=dbstatus;
client.majorErrorCode=database.majorErrorCode();
client.majorErrorMessage= database.majorErrorMessage();
client.minorErrorCode =database.minorErrorCode();
client.minorErrorMessage=database.minorErrorMessage();
if ( status == true )
return;
if ( dbstatus == 0 )
return;
if (client.is_trans == true)
database.rollbackTransaction();
redirect('error.html')
}
function chkBrowser() {
browser = request.agent;
if (browser.indexOf("Mozilla/") != -1) {
ver = browser.substring(8,9)
verNum = parseInt(ver)
if (verNum > 2 ) {
return;
}
redirect("wrongbrw.html")
}
}
function writeln(text)
{
write(text + '\n');
}
function wbuttons(text)
{
write(' ndoc=\''+text+'\');'+'\n');
}
function escQuote (query_string) {
var new_string = "";
var query_len = query_string.length;
var c;
if (query_string == "" || query_string.indexOf("'") < 0)
return query_string;
for (var i = 0; i < query_len; i++) {
c = query_string.charAt(i);
if (c != '\'') new_string += c;
else new_string += "''";
}
return new_string;
}
function backslashQuote (s) {
var new_string = "";
var len = s.length;
var c;
if (s == "" || s.indexOf("'") < 0)
return s;
for (var i = 0; i < len; i++) {
c = s.charAt(i);
if (c != '\'') new_string += c;
else new_string += "\\'";
}
return new_string;
}
function createIdNameString(queryString) {
var query;
var temp;
temp = "";
query = database.cursor(queryString);
while (query.next())
temp += query[0]+" | "+query[1]+" || ";
query.close();
return temp;
}
function createIdNameGroupString(query_string) {
var query;
var temp;
temp = "";
query = database.cursor(query_string);
while (query.next()) {
if ((query[2]+"").indexOf("No Group") >= 0)
temp += query[0]+" | "+query.fullname+" || ";
else
temp += query[0]+" | "+query.fullname+" ("+query[2]+") || ";
}
query.close();
return temp;
}
function loggedIn() {
var today = new Date;
if (client.id == "null" || client.id == null)
return false;
if (! client["login"+((today.getYear()+today.getMonth())*client.id)])
return false;
if (client["login"+((today.getYear()+today.getMonth())*client.id)] != "yes")
return false;
return true;
}
function setLoggedIn() {
var today = new Date();
client["login"+((today.getYear()+today.getMonth())*client.id)] = "yes";
}
function setLoggedOut() {
var today = new Date();
if (client.id != null && client.id != "null")
client["login"+((today.getYear()+today.getMonth())*client.id)] = null;
}
function IdNameObj() {
this.id = "";
this.name = "";
this.currPos = 0;
}
function getNextItem(s,item) {
var nextPos;
nextPos = s.indexOf(" |",item.currPos);
item.id = s.substring(item.currPos,nextPos);
item.currPos = nextPos+3;
nextPos = s.indexOf(" ||", item.currPos);
item.name = s.substring(item.currPos,nextPos);
item.currPos = nextPos+4;
}
function writeSelectMultiOptions(list,selectList) {
var item = new IdNameObj();
var selectItem = new IdNameObj;
var allItemsFound = true;
getNextItem(selectList,selectItem);
while (item.currPos < list.length) {
getNextItem(list,item);
// current item in select list not found in list
if (item.name > selectItem.name &&
selectItem.currPos < selectList.length) {
getNextItem(selectList,selectItem);
allItemsFound = false;
}
if (item.id == selectItem.id) {
writeln("