// Title: Tigra Hints
// URL: http://www.softcomplex.com/products/tigra_hints/
// Version: 1.3
// Date: 09/03/2003 (mm/dd/yyyy)
// Note: Permission given to use this script in ANY kind of applications if
//    header lines are left unchanged.

var THintsS = [];
function THints (o_cfg, items) {
	this.n_id = THintsS.length;
	THintsS[this.n_id] = this;
	this.top = o_cfg.top ? o_cfg.top : 0;
	this.left = o_cfg.left ? o_cfg.left : 0;
	this.n_dl_show = o_cfg.show_delay;
	this.n_dl_hide = o_cfg.hide_delay;
	this.b_wise = o_cfg.wise;
	this.b_follow = o_cfg.follow;
	this.x = 0;
	this.y = 0;
	this.divs = [];
	this.show  = TTipShow;
	this.showD = TTipShowD;
	this.hide = TTipHide;
	this.move = TTipMove;
	// register the object in global collection
	this.n_id = THintsS.length;
	THintsS[this.n_id] = this;
	// filter Netscape 4.x out
	if (document.layers) return;
	var b_IE = navigator.userAgent.indexOf('MSIE') > -1,
	s_tag = ['<div id="TTip%name%" style="visibility:hidden;position:absolute;top:0px;left:0px;',   b_IE ? 'width:1px;height:1px;' : '', o_cfg['z-index'] != null ? 'z-index:' + o_cfg['z-index'] : '', '"><table cellpadding="0" cellspacing="0" border="0"><tr><td class="', o_cfg.css, '" nowrap>%text%</td></tr></table></div>'].join('');


	this.getElem = 
		function (id) { return document.all ? document.all[id] : document.getElementById(id); };
	this.showElem = 
		function (id, hide) { this.divs[id].o_css.visibility = hide ? 'hidden' : 'visible'; };
	this.getWinSz = window.innerHeight != null 
		? function (b_hight) { return b_hight ? innerHeight : innerWidth; }
		: function (b_hight) { return document.body[b_hight ? 'clientHeight' : 'clientWidth']; };	
	this.getWinSc = window.innerHeight != null 
		? function (b_hight) { return b_hight ? pageYOffset : pageXOffset; }
		: function (b_hight) { return document.body[b_hight ? 'scrollTop' : 'scrollLeft']; };	
	if (window.opera) {
		this.getSize = function (id, b_hight) { 
			return this.divs[id].o_css[b_hight ? 'pixelHeight' : 'pixelWidth']
		};
		document.onmousemove = function () {
			for (var n_i in THintsS) {
				THintsS[n_i].x = event.clientX;
				THintsS[n_i].y = event.clientY;
				if (THintsS[n_i].b_follow && THintsS[n_i].visible) 
					THintsS[n_i].move(THintsS[n_i].visible);
			}
			return true;
		};
	}
	else {
		this.getSize = function (id, b_hight) { 
			return this.divs[id].o_obj[b_hight ? 'offsetHeight' : 'offsetWidth'] 
		};
		document.onmousemove = b_IE
		? function () {
			for (var n_i in THintsS) {
				THintsS[n_i].x = event.clientX + document.body.scrollLeft;
				THintsS[n_i].y = event.clientY + document.body.scrollTop;
				if (THintsS[n_i].b_follow && THintsS[n_i].visible) 
					THintsS[n_i].move(THintsS[n_i].visible);
			}
			return true;
		} 
		: function (e) {
			for (var n_i in THintsS) {
				THintsS[n_i].x = e.pageX;
				THintsS[n_i].y = e.pageY;
				if (THintsS[n_i].b_follow && THintsS[n_i].visible) 
					THintsS[n_i].move(THintsS[n_i].visible)
			}
			return true;
		};
	}
	for (i in items) {
		document.write (s_tag.replace(/%text%/, items[i]).replace(/%name%/, i));
		this.divs[i] = { 'o_obj' : this.getElem('TTip' + i) };
		this.divs[i].o_css = this.divs[i].o_obj.style;
	}
}

function TTipShow (id) {
	if (document.layers) return;
	this.hide();
	if (this.divs[id]) {
		if (this.n_dl_show) this.divs[id].timer = setTimeout("THintsS[" + this.n_id + "].showD(" + id + ")", this.n_dl_show);
		else this.showD(id);
		this.visible = id;
	}
}

function TTipShowD (id) {
	this.move(id);
	this.showElem(id);
	if (this.n_dl_hide) this.timer = setTimeout("THintsS[" + this.n_id + "].hide()", this.n_dl_hide);
}

function TTipMove (id) {
	var n_x = this.x + this.left, n_y = this.y + this.top;
	if (this.b_wise) {
		var n_w = this.getSize(id), n_h = this.getSize(id, true),
		n_win_w = this.getWinSz(), n_win_h = this.getWinSz(true),
		n_win_l = this.getWinSc(), n_win_t = this.getWinSc(true);
		if (n_x + n_w > n_win_w + n_win_l) n_x = n_win_w + n_win_l - n_w;
		if (n_x < n_win_l) n_x = n_win_l;
		if (n_y + n_h > n_win_h + n_win_t) n_y = n_win_h + n_win_t - n_h;
		if (n_y < n_win_t) n_y = n_win_t;
	}
	this.divs[id].o_css.left = n_x;
	this.divs[id].o_css.top = n_y;
}

function TTipHide () {
	if (this.timer) clearTimeout(this.timer);
	if (this.visible != null) {
		if (this.divs[this.visible].timer) clearTimeout(this.divs[this.visible].timer);
		setTimeout("THintsS[" + this.n_id + "].showElem(" + this.visible + ", true)", 10);
		this.visible = null;
	}
}

var HINTS_CFG = {
	'top'        : 5, // a vertical offset of a hint from mouse pointer
	'left'       : 5, // a horizontal offset of a hint from mouse pointer
	'css'        : 'hintsClass', // a style class name for all hints, TD object
	'show_delay' : 200, // a delay between object mouseover and hint appearing
	'hide_delay' : 40000, // a delay between hint appearing and hint hiding
	'wise'       : true,
	'follow'     : true,
	'z-index'    : 0 // a z-index for all hint layers
},

HINTS_ITEMS = [/*
	wrap("Tigra Hints Product Page"),
	wrap("SoftComplex Download Page"),
	wrap("Tigra Hints Forum"),
	
	wrap_img("01", "A picture of a tiger"),
	wrap_img("70","A picture of a tiger"),
	wrap_img("20","A picture of a puma"),
	*/
	wrap_img("",""),
	wrap_img("public_aguas/factura/img/Datos-del-Titular.jpg","Dirección donde se encuentra situado el suministro, por tanto, el contador."),
	wrap_img("public_aguas/factura/img/titular-de-pagos.jpg","Datos bancarios del titular que efectua la factura."),
	wrap_img("public_aguas/factura/img/tarifa.jpg","Tipo de Tarifa asignada al abonado. Depende de varios factores como el calibre del contador, el uso del agua (empresarial o doméstico), ..."),
	wrap_img("public_aguas/factura/img/periodicidad.jpg","Periodicidad de Facturación. Existen 2 posibilidades: Emisión de la factura cada tres meses o mensualmente."),
	wrap_img("public_aguas/factura/img/suministro.jpg","El nº de suministro es su código de abonado. Este número asignado es fijo, por lo que siempre será el mismo para todas sus facturas"),
	wrap_img("public_aguas/factura/img/fecha-emision.jpg","Fecha de Emisión de su factura"),
	wrap_img("public_aguas/factura/img/n-factura.jpg","Nº Identificativo de la factura actual"),
	wrap_img("public_aguas/factura/img/vencimiento.jpg","Fecha en la que se ha de hacer efectivo el pago de la factura"),
	wrap_img("public_aguas/factura/img/diametro.jpg","Diámetro expresado en milímetros del contador que tiene usted instalado"),
	wrap_img("public_aguas/factura/img/n-unidades.jpg","Número de viviendas que controla el contador. Será mayor que uno si es una Comunidad de Vecinos"),
	wrap_img("public_aguas/factura/img/lect-anterior.jpg","Cantidad de metros cúbicos de agua que marcaba su contador en la fecha anterior a la última lectura tomada"),
	wrap_img("public_aguas/factura/img/lec-actual.jpg","Cantidad de metros cúbicos de agua que marcaba su contador en la fecha de la última lectura tomada"),
	wrap_img("public_aguas/factura/img/consumo.jpg","El consumo viene dado por la diferencia entre la lectura anterior y la lectura actual (última tomada). REAL indica que ha sido leída físicamente. ESTIMADA indica que el lector no pudo leer su contador."),
	wrap_img("public_aguas/factura/img/datos.jpg","Datos de notificación del abonado, es decir, dirección de envío de la factura."),
	wrap_img("public_aguas/factura/img/cuota-de-servicios.jpg","Cuota Fija que se aplica según el calibre del contador instalado. En caso de Comunidad de Vecinos con contador único el Importe se multiplicará por el número de pisos."),
	wrap_img("public_aguas/factura/img/consumo-de-agua.jpg","Cuota Variable en función de m3 de aguas consumidos. En caso de Comunidad de Vecinos con un contador único, se divide el consumo entre el nº de pisos."),
	wrap_img("public_aguas/factura/img/bloque-1.jpg","Cantidad de consumo de agua que no supera los 20 m3."),
	wrap_img("public_aguas/factura/img/bloque-2.jpg","Cantidad de consumo de agua que excede de los 20 m3 y no supera 42 m3."),
	wrap_img("public_aguas/factura/img/bloque-3.jpg","Cantidad de consumo de agua que excede de los 42 m3 de consumo."),
	wrap_img("public_aguas/factura/img/total-agua.jpg","Suma de los tres bloques de consumo de agua."),
	wrap_img("public_aguas/factura/img/depuracion.jpg","Concepto de depuración que se aplica en función de los m3 consumidos."),
	wrap_img("public_aguas/factura/img/impuestos.jpg","I.V.A.	que se repercute sobre la suma de la cuota de servicios, con el Agua más la Depuración."),
	wrap_img("public_aguas/factura/img/tasa.jpg","Tasa de Alcantarillado correspondiente al Ayuntamiento de Alcázar de San Juan."),
	wrap_img("public_aguas/factura/img/cuota-fija.jpg","Cuota Fija que se aplica según el uso de la vivienda. Tipos de Usos: Doméstico y Empresarial."),
	wrap_img("public_aguas/factura/img/cuota-variable.jpg","Cuota Variable en función de los m3 consumidos. Los blques se aplica de forma idéntica al caso de consumo de Agua."),
	wrap_img("public_aguas/factura/img/total.jpg","Total Factura es el importe total del resultado de la suma de Agua más el Alcantarillado."),
	wrap_img("","Teléfono para aviso de averías con servicio 24 horas."),
	wrap_img("","Diagrama de barras que refleja un histórico de los 4 consumos anteriores a la de su factura actual."),
	wrap_img("public_aguas/factura/img/datos-pago.jpg","Datos de uso interno por parte de Aguas de Alcázar para aquellas facturas no domiciliadas por banco."),
	wrap_img("public_aguas/factura/img/n-suministro.jpg","Código de Barras de uso interno para aquellas facturas que no están domiciliadas por banco.")
	/*
	'<table border="0" cellspacing="0" cellpadding="0" bgcolor="#4682B4"><tr><td><table border="0" cellspacing="1" cellpadding="3"><tr class="row"><td nowrap><b>currentStyle</b></td><td align="center">supported</td></tr><tr class="row"><td nowrap><b>getComputedStyle()</b></td><td align="center">unsupported</td></tr><tr class="row"><td nowrap><b>style</b></td><td align="center">supported</td></tr></table></td></tr></table>',
	'<table border="0" cellspacing="0" cellpadding="0" bgcolor="#4682B4"><tr><td><table border="0" cellspacing="1" cellpadding="3"><tr class="row"><td><b>currentStyle</b></td><td align="center">unsupported</td></tr><tr class="row"><td nowrap><b>getComputedStyle()</b></td><td align="center">supported</td></tr><tr class="row"><td><b>style</b></td><td align="center">supported</td></tr></table></td></tr></table>',
	'<table border="0" cellspacing="0" cellpadding="0" bgcolor="#4682B4"><tr><td><table border="0" cellspacing="1" cellpadding="3"><tr class="row"><td><b>currentStyle</b></td><td align="center">unsupported</td></tr><tr class="row"><td nowrap><b>getComputedStyle()</b></td><td align="center">unsupported</td></tr><tr class="row"><td><b>style</b></td><td align="center">supported</td></tr></table></td></tr></table>',
	'<table border="0" cellspacing="0" cellpadding="0" bgcolor="#4682B4"><tr><td><table border="0" cellspacing="1" cellpadding="3"><tr class="row"><td><b>cssRules[] </b></td><td align="center">unsupported</td></tr><tr class="row"><td><b>rules[] </b></td><td align="center">supported</td></tr><tr class="row"><td nowrap><b>styleSheets[] </b></td><td align="center">supported</td></tr></table></td></tr></table>',
	'<table border="0" cellspacing="0" cellpadding="0" bgcolor="#4682B4"><tr><td><table border="0" cellspacing="1" cellpadding="3"><tr class="row"><td><b>cssRules[] </b></td><td align="center">supported</td></tr><tr class="row"><td><b>rules[]</b></td><td align="center">unsupported</td></tr><tr class="row"><td nowrap><b>styleSheets[]</b></td><td align="center">supported</td></tr></table></td></tr></table>',
	'<table border="0" cellspacing="0" cellpadding="0" bgcolor="#4682B4"><tr><td><table border="0" cellspacing="1" cellpadding="3"><tr class="row"><td><b>addRule() </b></td><td align="center">supported</td></tr><tr class="row"><td nowrap><b>deleteRule() </b></td><td align="center">unsupported</td></tr><tr class="row"><td nowrap><b>insertRule() </b></td><td align="center">unsupported</td></tr><tr class="row"><td nowrap><b>removeRule()</b></td><td align="center">supported</td></tr></table></td></tr></table>',
	'<table border="0" cellspacing="0" cellpadding="0" bgcolor="#4682B4"><tr><td><table border="0" cellspacing="1" cellpadding="3"><tr class="row"><td><b>addRule()</b></td><td align="center">unsupported</td></tr><tr class="row"><td nowrap><b>deleteRule()</b></td><td align="center">supported</td></tr><tr class="row"><td nowrap><b>insertRule() </b></td><td align="center">supported</td></tr><tr class="row"><td nowrap><b>removeRule()</b></td><td align="center">unsupported</td></tr></table></td></tr></table>',
	'<table border="0" cellspacing="0" cellpadding="0" bgcolor="#4682B4"><tr><td><table border="0" cellspacing="1" cellpadding="3"><tr class="row"><td nowrap><b>createCSS StyleSheet()</b></td><td align="center">unsupported</td></tr><tr class="row"><td nowrap><b>createStyleSheet() </b></td><td align="center">supported</td></tr><tr class="row"><td nowrap><b>getOverrideStyle() </b></td><td align="center">unsupported</td></tr><tr class="row"><td nowrap><b>getPropertyPriority()</b></td><td align="center">unsupported</td></tr></table></td></tr></table>',
	'<table border="0" cellspacing="0" cellpadding="0" bgcolor="#4682B4"><tr><td><table border="0" cellspacing="1" cellpadding="3"><tr class="row"><td nowrap><b>createCSS StyleSheet() </b></td><td align="center">unsupported</td></tr><tr class="row"><td nowrap><b>createStyleSheet() </b></td><td align="center">supported</td></tr><tr class="row"><td nowrap><b>getOverrideStyle() </b></td><td align="center">unsupported</td></tr><tr class="row"><td nowrap><b>getPropertyPriority()</b></td><td align="center">supported</td></tr></table></td></tr></table>',
	'<table border="0" cellspacing="0" cellpadding="0" bgcolor="#4682B4"><tr><td><table border="0" cellspacing="1" cellpadding="3"><tr class="row"><td nowrap><b>createCSS StyleSheet() </b></td><td align="center">unsupported</td></tr><tr class="row"><td nowrap><b>createStyleSheet() </b></td><td align="center">unsupported</td></tr><tr class="row"><td nowrap><b>getOverrideStyle() </b></td><td align="center">unsupported</td></tr><tr class="row"><td nowrap><b>getPropertyPriority()</b></td><td align="center">supported</td></tr></table></td></tr></table>',
	'Softcomplex Inc. is rapidly growing<br>US/Ukrainian company providing high quality <br>software development and IT consulting services.',
	wrap("Tigra Hints Documentation", true)
	*/
];

var myHint = new THints (HINTS_CFG, HINTS_ITEMS);

function wrap (s_, b_ques) {
	return "<table cellpadding='0' cellspacing='0' border='0' style='-moz-opacity:90%;filter:progid:DXImageTransform.Microsoft.dropShadow(Color=#777777,offX=4,offY=4)'><tr><td rowspan='2'><img src='img/1"+(b_ques?"q":"")+".gif'></td><td><img src='/img/pixel.gif' width='1' height='15'></td></tr><tr><td background='img/2.gif' height='28' nowrap>"+s_+"</td><td><img src='img/4.gif'></td></tr></table>"
}

function wrap_img (s_file, s_title) {
	if (s_file==''){
			return "<table cellpadding=5 width='200' bgcolor=white style='border:2px solid #3D4D93'><tr><td align=center>"+s_title+"</td></tr></table>"
	}else
		return "<table cellpadding=5 bgcolor=white style='border:2px solid #3D4D93'><tr><td align=center><img src='"+s_file+"' style='border-left: 1px inset #579AE4; border-right: 3px inset #579AE4; border-top: 1px solid #579AE4; border-bottom: 3px inset #579AE4' ></td></tr><tr><td align=center>"+s_title+"</td></tr></table>" //class='picI'
}
