//------------------------------------------------------------
// $Id$
//------------------------------------------------------------
// ------------------------------------------------------------------------
// Browser sniffing and compatibility tools		//JCE 05/10/2001
// ------------------------------------------------------------------------

function BrowserObject()
{
	this.isIE = (navigator.appName.indexOf("Microsoft Internet Explorer")>=0);
	this.isNS = (navigator.appName.indexOf("Netscape")>=0);
	if (this.isIE) {
		this.version = Number(navigator.appVersion.split(';')[1].split(' ')[2]);
		this.support_self_printing = (this.isIE && this.version>=5)
	}
	
	if (this.isNS) {
		this.version = Number(navigator.appVersion.split(' ')[0]);
		this.support_self_printing = (this.isNS && this.version>=4)
	}
	
	this.AddOption = BrowserObject_AddOption;					//Adds an option to a SELECT object
	this.RemoveOption = BrowserObject_RemoveOption;		//Adds an option to a SELECT object
	
	return this;
}

/*
	oSelect: el objeto select al que se le va a agregar el nuevo objeto option
	text: texto que muestra el option
	value: valor para el option
	selected: estado de la seleccion del option
	index: ubicacion en la lista del option
*/
function BrowserObject_AddOption(oSelect, text, value, selected, index) {
	var oOption = null;
	oOption = new Option(text, value, selected, selected);
	
	if (this.isIE){
		oSelect.options.add(oOption, index);
	}
	if (this.isNS) {
		if (index==null) index = oSelect.options.length;
		if (index<oSelect.options.length) {
			l = oSelect.length;
			for(var i=l;i>index;i--) {
				oSelect.options[i] = oSelect.options[i-1];
			}
		}
		oSelect.options[index] = oOption;
	}
	return oOption;
}




function BrowserObject_RemoveOption(oSelect, oIndex) {
	if (this.isIE)
		oSelect.remove(oIndex);
	if (this.isNS)
		oSelect.options[oIndex] = null;
}

var BrowserData = new BrowserObject();

// ------------------------------------------------------------------------
// Funciones de Validacion y conversion de datos
// ------------------------------------------------------------------------


// ToDate
//		strDate es un string con una fecha a validar
//		strSep es el caracter usado para separar las partes de la fecha como '/' o '-'
function ToDate(strDate, strSep) {
	//Validar las fechas ingresadas
	var pos1, pos2, day, month, year, date;	
	//dia
	pos1 = strDate.indexOf(strSep,0);
	if (pos1 < 1) 
		return null;
	day = strDate.substring(0, pos1);
	//mes
	pos2 = strDate.indexOf(strSep, ++pos1);
	if (pos2 < 3) 
		return null;
	month = strDate.substring(pos1, pos2) - 1;
	if (month<0 || month>11)
		return null;
	//año
	year = strDate.substring(++pos2, strDate.length);
	date1 = new Date(year, month, 1);
	date2 = new Date(year, month + 1, 1)
	daysInMonth = (date2 - date1) / (1000*60*60*24);
	delete date1;
	delete dat2;
	if (day<1 || day>daysInMonth)
		return null;
	var ret = new Date(year, month, day);
	if (isNaN(ret)) return null
	else return ret;
}


//------------------------------------------------------------


function ValidarEmail(emailStr) 
{
	var emailPat=/^(.+)@(.+)$/

	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"

	var validChars="\[^\\s" + specialChars + "\]"

	var quotedUser="(\"[^\"]*\")"

	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/

	var atom=validChars + '+'

	var word="(" + atom + "|" + quotedUser + ")"

	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")

	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")

	var matchArray=emailStr.match(emailPat)

	if (matchArray==null) 
	{
		return "La dirección de e-mail es incorrecta."
	}

	var user=matchArray[1]

	var domain=matchArray[2]

	if (user.match(userPat)==null) 
	{
		return "El nombre de usuario de la dirección de e-mail no es válido."
	}

	var IPArray=domain.match(ipDomainPat)

	if (IPArray!=null) 
	{
		// this is an IP address
		for (var i=1;i<=4;i++) 
		{
			if (IPArray[i]>255) 
			{
				return "La dirección IP del e-mail ingresado no es válida."
			}
		}
	}

	var domainArray=domain.match(domainPat)

	if (domainArray==null) 
	{
		return "El nombre del dominio del e-mail no es válido."
	}

	var atomPat=new RegExp(atom,"g")

	var domArr=domain.match(atomPat)

	var len=domArr.length

	if (domArr[domArr.length-1].length<2 || 
		domArr[domArr.length-1].length>3) 
	{
	   return "La dirección de e-mail debe terminar en un dominio de tres letras o un país de dos."
	}

	if (len<2) 
	{
	   var errStr="La dirección de e-mail carece de hostname."
	   return errStr
	}
	return "";
}

// ---------- MACROMEDIA
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_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_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 AppendOnload(aFunction)
{
	var sFunction;
	if (window.onload!=null) {
		sOnload = window.onload.toString().split('{')[1].split('}')[0];
		sFunction = aFunction.toString().split('{')[1].split('}')[0];
		sOnload += ';' + sFunction;
		window.onload = new Function(sOnload);
	
	}
	else {
		window.onload = aFunction;
	}
}


function CompareNumber(a,b)
{
	var d = a-b;
	return (d==0) ? d : ((d<0) ? -1 : 1);
}


function calcularMinMax(sData)
{
		vData = sData.split(',');
		for(i=0;i<vData.length;vData[i]=Number(vData[i++]));		
		vData.sort(CompareNumber);
		MinMax = new Array();
		for(i=0;isNaN(vData[i]) && i<vData.length;i++);
		if (i==vData.length) {
			MinMax.min = 0;
			MinMax.max = 0;
			return MinMax;
		}
		MinMax.min = vData[i];
		for(i=vData.length-1;isNaN(vData[i]);i--);
		MinMax.max = vData[i];
		delta = (MinMax.max - MinMax.min) / 10;		
		delta = (delta==0) ? 0.05 : delta;				
		MinMax.min -= delta;
		MinMax.max += delta;
		return MinMax;
}		

function abrir_win(){  
  window.open("../registracion/privacidad.asp","ventana","scrollbars=1,width=490, height=470",false);  
  return false;
}


function publicidad(id) {
if (parent.frames["FIL4"] != null)
	parent.frames["FIL4"].location.href = "/nav/rotator.pl?" + id;
}

function aviso(id, interno){
if (id !=0 ){
   if (interno == 0) window.open("/nav/click.pl?i=" + id );
   else parent.window.location.href = "/nav/click.pl?i="+ id; }
   else parent.window.location.href = "http://www.portfoliopersonal.com/";
}

function glosario(u) {
	window.open(u, "glosario", "toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,resizable=yes,width=300,height=300", true);
}

function copyright(u) {
	window.open(u, "copyright", "toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,resizable=yes,width=300,height=300", true);
}

function noticia(u) {
window.open("/nav/tuframes.pl?html=" + u, "noticias", "toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,resizable=yes,width=520,height=450", true);
}
/*
function noticia(u){ window.open(url,'livecam1','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=565,height=500'); }
*/
function commodities(url){ window.open(url,'livecam1','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,align=center,width=560,height=500'); }


function multiLoad(doc1,doc2) {
  parent.COL1.location.href=doc1;
  parent.COL2.location.href=doc2;
}

function autopromo(imagen) {
	barra_izquierda = "/barraizqn.htm";
	frame_central = "/tapa.html";
	if (imagen == "autoindeco"){
		barra_izquierda = "/barraizqn3.htm";
		frame_central = "/asp/cal_arg.asp";
	}
	if (imagen == "autoinfsem"){
		barra_izquierda = "/barraizqinf.htm";
		frame_central = "/es/infsem.html";
	}
	if (imagen == "autoleon"){
		barra_izquierda = "/barraizqinf.htm";
		frame_central = "/es/infsem.html";
	}
	if (imagen == "autoplazof"){
		barra_izquierda = "/barraizqinv2.htm";
		frame_central = "/plazofijoing.htm";
	}
	if (imagen == "autoresbur"){
		barra_izquierda = "/barraizqmn.htm";
		frame_central = "/asp/resumen.asp";
	}
	if (imagen == "auto24"){
		barra_izquierda = "/barraizqn.htm";
		frame_central = "/hoy.html";
	}
	if (imagen == "autoafjp"){
		barra_izquierda = "/barraizqinv6.htm";
		frame_central = "/asp/afjp_ing.asp" ;
	}
	if (imagen == "autohipo"){
		barra_izquierda = "/barraizqcred3.htm";
		frame_central = "/asp/hipot_ing.asp" ;
	}
	if (imagen == "autopren"){
		barra_izquierda = "/barraizqcred2.htm";
		frame_central = "/asp/prend_ing.asp" ;
	}
	if (imagen == "autocotizac"){
		barra_izquierda = "/barraizqmn1.htm";
		frame_central = "/asp/accion_m.asp" ;
	}
	if (imagen == "autotasa"){
		barra_izquierda = "/barraizqmn3.htm";
		frame_central = "/asp/baibor.asp" ;
	}
	if (imagen == "autopers"){
		barra_izquierda = "/barraizqcred1.htm";
		frame_central = "/asp/perso_ing.asp" ;
	}
	if (imagen == "autoopci"){
		barra_izquierda = "/barraizqmn1.htm";
		frame_central = "/asp/listaopcion.asp" ;
	}
	if (imagen == "autofci"){
		barra_izquierda = "/barraizqinv5.htm";
		frame_central = "/inv/fc/qs.html" ;
	}
	if (imagen == "autoeclnol"){
		barra_izquierda = "/barraizqn.htm";
		frame_central = "/lanacion.html" ;
	}
	if (imagen == "autoconv"){
		barra_izquierda = "/barraizqmn.htm";
		frame_central = "/conversor.html" ;
	}
	if (imagen == "autocambio"){
		barra_izquierda = "/barraizqmn.htm";
		frame_central = "/asp/moneda.asp" ;
	}
	if (imagen == "autobono"){
		barra_izquierda = "/barraizqmn2.htm";
		frame_central = "/busqueda.htm" ;
	}
	if (imagen == "autoayp"){
		barra_izquierda = "/barraizqn.htm";
		frame_central = "/informes.html" ;
	}
	if (imagen == "autoexpo"){
		barra_izquierda = "/barraizqn.htm";
		frame_central = "/promo/premio.html" ;
	}
	if (imagen == "autoebook"){
		barra_izquierda = "/barraizqinf.htm";
		frame_central = "/ebook.html" ;
	}

		
	parent.COL1.location.href= barra_izquierda;
	parent.COL2.location.href= frame_central;
}

function Exhibank() {
	window.open('asp/exhibank/exhibank.asp',null,'location=no,height=400,width=500');
}
//------------------------------------------------------------

function Banner_ClickExperts(site, seccion, size, pos) {
	
	var axel = Math.random() + "";
	var num = axel * 1000000000000000000;    
	var urlProtocol;
	
	if (document.URL.toString().substr(0, 5)=='https')
		urlProtocol = 'https';
	else
		urlProtocol = 'http';
	
	target="/site="+site+"/area="+seccion+"/aamsz="+size+"/pos="+pos;    
	tag = '<SCR'+'IPT language="JavaScript1.1" SRC="' + urlProtocol + '://ds.clickexperts.net/jserver/acc_random=' + num + target + '"></SCR' + 'IPT>';
    return document.writeln(tag);
}
//------------------------------------------------------------
function validateDate(field, valStr,srch) { 
  l = valStr.split('(')[1].split(')')[0];
  c = valStr.split('(')[0]; 
  if (c == 'char') {
    b = String.fromCharCode(window.event.keyCode).search(srch);
   }
  return ((field.value.length < l) && (b>=0)); 
 } 

function FuncPoneElemento(simbolo){
	document.frmCotiz.simbolo.value = simbolo;
	document.frmCotiz.action = "/Buscador/RSBuscadorCotizaciones.asp?BuscarSimbolo=" + simbolo;
	document.frmCotiz.submit();
}

function alertError(msg,txt) {
	alert(msg);
	if (txt && txt.focus) txt.focus();
	return false;
}

function Buscador(){
	if (document.frmCotiz.simbolo.value == "") return alertError("Debe ingresar un símbolo a buscar",document.frmCotiz.simbolo);
	document.frmCotiz.action = "/BuscadorCotizaciones.asp"	
	return true;
}

function OpenPopupTrading (){
	window.open ('https://trading.portfoliopersonal.com/trading/login.asp');
	//, 'toolbar=0,location=no,status=no,menubar=no,scrollbars=yes,top=0,left=0, width=1024, height=768');
}

function AttachFavIcon (){
var Header = document.getElementsByTagName ("head") [0];
var Link = document.createElement ("link");
	Link.rel = "icon";
	Link.href = "http://www.portfoliopersonal.com/favicon.ico";
	Link.type = "image/x-icon";
	Header.appendChild (Link);
	Link.rel = "shortcut icon";
	Header.appendChild (Link);
}

AttachFavIcon ();