// retenes.js
// Implementa funcionalidad para hacer un popup preguntando si quieren seguir a una liga externa, si afirmativo, lo abre en otra ventana.
// 2009.10.15 lmiller

function ponRetenes() {
	var ar = document.getElementsByTagName("a");
	for(var i=0; i< ar.length; i++) {
		var o = ar[i];
		var t = o.target;
		var h = o.href;
		if( t=="_blank" && !/.*cibnor.(gob\.)*mx.*/.test(h) ) {
			addListener(o,'click',reten);
		}
	}
}

function addListener(o,event,listener) {
	if(o.addEventListener) { // Navegedores W3
		o.addEventListener(event,listener,false);
	}else if (o.attachEvent) {
		o.attachEvent('on' + event, function() {listener.call(o)});
	}
}

function abreWin(uri) {
	var vent2 = window.open(uri, 'ventana2', 'width=800,height=600,scrollbars=yes,resizable=yes');
	vent2.focus();
	return(false);
}

function reten(evento) { // Poner popup preguntando si quieren seguir.
	var uri = this.href;
	if(!document.getElementById("retenDiv")) {
		var d = document.createElement("div");
		d.id = 'retenDiv';
		d.style.position='absolute';
		d.style.top='50px';
		d.style.left='50px';
		d.style.background='transparent url(/globalimg/reten_fondo_494.png) no-repeat center';
		d.style.color='#eee';
		d.style.border='none';
		d.style.width='494px';
		d.style.height='268px';
		d.style.textAlign='center';
		d.style.padding='.5em;';
		d.style.font='14px verdana';
		document.getElementsByTagName("body")[0].appendChild(d);
	}else{
		var d=document.getElementById("retenDiv");
	}

	d.innerHTML = "<p style='margin-top: 85px; margin-bottom: .5em; font: bold 30px verdana; color: red;'>Aviso de Salida</p><p style='width: 80%; text-align: justify; margin: -.5em auto;'>Usted est&aacute; por salir del sitio Web de cibnor.mx para entrar a una p&aacute;gina electr&oacute;nica externa que es mantenida por otra organizaci&oacute;n y con pol&iacute;ticas de privacidad diferentes.</p><p style='width: 90%; text-align: left; margin: 15px auto;'></p><img src='/globalimg/reten_cancelar.png' style='width: 118px; height: 41px; margin: 0; border: 0;  position: absolute; top: 210px; left: 98px; cursor: pointer;' onClick='document.getElementById(\"retenDiv\").style.display=\"none\"' /><img src='/globalimg/reten_continuar.png' style='width: 118px; height: 41px; margin: 0; border: 0; position: absolute; top: 210px; left: 284px; cursor: pointer;' onClick='document.getElementById(\"retenDiv\").style.display=\"none\"; abreWin(\"" + uri + "\"); return false' />";


	// Codigo de centrar de http://dhtmlpopups.webarticles.org/usability.php
	// Due to different browser naming of certain key global variables, we need to do three different tests to determine their values
	// Determine how much the visitor had scrolled

	var scrolledX, scrolledY;
	if( self.pageYOffset ) {
  		scrolledX = self.pageXOffset;
  		scrolledY = self.pageYOffset;
	} else if( document.documentElement && document.documentElement.scrollTop ) {
  		scrolledX = document.documentElement.scrollLeft;
  		scrolledY = document.documentElement.scrollTop;
	} else if( document.body ) {
  		scrolledX = document.body.scrollLeft;
  		scrolledY = document.body.scrollTop;
	}
	// Determine the coordinates of the center of browser's window
	var centerX, centerY;
	if( self.innerHeight ) {
  		centerX = self.innerWidth;
  		centerY = self.innerHeight;
	} else if( document.documentElement && document.documentElement.clientHeight ) {
  		centerX = document.documentElement.clientWidth;
  		centerY = document.documentElement.clientHeight;
	} else if( document.body ) {
  		centerX = document.body.clientWidth;
  		centerY = document.body.clientHeight;
	}
	var leftOffset = scrolledX + (centerX - 494) / 2;
	// Intento de hacerlo un poco mas estetico, causo problemas @800x600.
	// var topOffset = (scrolledY + (centerY - 268) / 2) -200;
	var topOffset = scrolledY + (centerY - 268) / 2;

	d.style.top = topOffset + "px";
	d.style.left = leftOffset + "px";
	d.style.display='block';
	
	// Suprimir accion default de brincar.
	evento = evento || window.event;
	if(evento.preventDefault) { // Navegadores w3
		evento.preventDefault();
	} else { // IE
		evento.returnValue=false;
	}
}
