	var url_portal = 'http://www.uptodown.com/';
	var url_comunidad = 'http://community.uptodown.com/es';
	var server_cdn = 'http://cdn.uptodown.net/utdcdn/v9/';
   	var dominio = 'uptodown.com/es';
   	var lang = 'es';

function nuevoAjax()
{
	var aVersions = ["MSXML2.XMLHttp.5.0","MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0","MSXML2.XMLHttp","Microsoft.XMLHttp"];

	if(window.XMLHttpRequest){
		return new XMLHttpRequest();
    }else if(window.ActiveXObject){
		for(var i = 0; i < aVersions.length; i++)
		{
			try {
				var oXmlHttp = new ActiveXObject(aVersions[i]);
				return oXmlHttp;
			}catch(error){}
        }
    }
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

function ajax_exe(url,pars,callback)
{
	if(arguments[3] == 'xml')	var fn = function(){ if(ajax.readyState == 4){ callback(ajax.responseXML) } }
	else						var fn = function(){ if(ajax.readyState == 4){ callback(ajax.responseText) } }

	ajax = nuevoAjax();     
	ajax.open("POST",url,true);            
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	ajax.send(pars+ '&lang=es');	
	ajax.onreadystatechange = fn;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

var Class = function() { return function() { this.__construct.apply(this, arguments); } }

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Array.prototype.inArray = function(value){
	var i;
	for(i=0; i < this.length; i++){ if(this[i] === value) return true; }
	return false;
};

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

function $(id){
	return document.getElementById(id);
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

function add_event(obj, evType, fn)
{
	if(obj.addEventListener)	obj.addEventListener(evType, fn, false);
	else if (obj.attachEvent)	obj.attachEvent('on' + evType, fn);
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

function get_xml_tag(xml,tag)
{
	if(xml.getElementsByTagName(tag)[0].firstChild != null) 
		return xml.getElementsByTagName(tag)[0].firstChild.data;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

function getAbsolutePosition(id)
{
	if(typeof id == 'string') obj = document.getElementById(id);
	if(!obj) return { top:0,left:0 };

	var y = 0;
	var x = 0;
	while(obj.offsetParent) 
	{
		x += obj.offsetLeft;
		y += obj.offsetTop;
		obj = obj.offsetParent;
	}

	return {top:y,left:x};
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

function get_selected_txt(obj)
{
	if(document.selection) 
	{
		var tr = document.selection.createRange();
		var longitud = tr.text.length;
	}
	else if(typeof(obj.selectionStart) != "undefined") var longitud = obj.selectionEnd - obj.selectionStart;
	
	return longitud;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

function key(e)
{
	var k = window.event ? window.event.keyCode : e.which ? e.which : e.charCode;
	return k;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

function get_subdom()
{
	var c = document.location.href;
	return c.substr(7,c.indexOf('.') - 7);
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Efectos
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

function opacity(obj, value)
{
	obj.style.opacity = value/100;
	obj.style.MozOpacity = value/100;
	obj.style.KhtmlOpacity = value/100;
	obj.style.filter = 'alpha(opacity=' + value + ')';
	obj.style.zoom = 1; // Needed for Explorer
} 

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

function fade_in(obj)
{
	var refresco = 100;
	var multiplicador = 3;

	setTimeout(function(){ obj.style.display = 'block'; }, 1);

	for(var c = 0; c < refresco; c++) 
		(function(c){
			setTimeout(function(){ opacity(obj,c); }, multiplicador * c);
		})(c);
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

function fade_out(obj)
{
	var refresco = 100;
	var multiplicador = 3;

	for(var c = refresco; c >= 0; c--) 
		(function(c){
			setTimeout(function(){ opacity(obj,c); }, multiplicador * c);
		})(c);
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

function parpadeo(obj,valor)
{
	for(var i = 150; i <= 750; i += 300) setTimeout(function(){ obj.style.visibility = 'hidden'; }, i);
	for(var z = 300; z <= 900; z += 300) setTimeout(function(){ obj.style.visibility = 'visible'; }, z);
	setTimeout(function(){ obj.innerHTML = valor; }, 1040);
	setTimeout(function(){ fade_in(obj); }, 1050);
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

function oscurecer()
{
	if(!$('fnd'))
	{	
		var obj = document.createElement('div');

		obj.id = 'fnd';
		obj.style.position = 'fixed'; 
		obj.style.top = '0px'; 
		obj.style.left = '0px'; 
		obj.style.width = '100%'; 
		obj.style.height = '100%';
		obj.style.zIndex = '998'; 
		obj.style.backgroundColor = '#000000';	

		opacity(obj, 50);
		obj.style.display = 'block';

		document.body.appendChild(obj);
	}
	else
		$('fnd').style.display = 'block';
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

function aclarar()
{
	$('fnd').style.display = 'none';
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Miscelanea
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

function vaciar_select(obj)
{  
	while(obj.childNodes[0])  
		obj.removeChild(obj.childNodes[0]);  
}  

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

function scroll_y()
{
	var scroll = 0;

	if(typeof(window.pageYOffset) == 'number'){					scroll = window.pageYOffset;
	}else if(document.body && document.body.scrollTop){				scroll = document.body.scrollTop;	
	}else if(document.documentElement && document.documentElement.scrollTop){	scroll = document.documentElement.scrollTop; }

	return scroll;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

function url_script()
{
	return '/ajax/index.php';
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

function contador_caracteres(obj,max_caracteres)
{
	if(obj)
	{
		var idt = 'c-esp';

		obj.onkeyup = function()
		{ 
			var caracteres = max_caracteres - obj.value.length;

			if(caracteres < max_caracteres)
			{
				var ini_c = caracteres == 1 ? '' : 'n'; 
				var final_c = caracteres == 1 ? '' : 'es'; 
	
				if(!$(idt))
				{	
					var coord = getAbsolutePosition(obj.id);
					coord.top += 30; 

					var contador = document.createElement('div');
					contador.id = idt;
					contador.style.color = '#999999';
					contador.style.fontSize = '11px';
					contador.style.position = 'absolute'; 
					contador.style.top = coord.top + 'px'; 
					contador.style.left = coord.left + 'px'; 
					document.body.appendChild(contador);
				}

				$(idt).innerHTML = 'Queda' + ini_c + ' ' + caracteres + ' Caracter' + final_c;
			}
			else
				if($(idt)) document.body.removeChild($(idt));			
		}

		obj.onkeypress = function(e)
		{ 
			var num_c = key(e);
			var teclas_permitidas = new Array(8,13,37,38,39,40,46);

			if((teclas_permitidas.inArray(num_c) == false) && (obj.value.length == max_caracteres))	return false;
			else																					return true;
		}
	}
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Generic 
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

var jbox = new Class();
jbox.prototype = {

	__construct: function(id)
	{
		var ancho = 600; //width fixed

		oscurecer();

		var x = (Math.max(document.body.clientWidth,document.documentElement.clientWidth) - (ancho + 40)) / 2;
		var y = scroll_y() + 80;

		var box = $(id);
		box.className = 'pop_continent';
		box.style.position = 'absolute'; 
		box.style.top = y + 'px'; 
		box.style.left = x + 'px'; 
		box.style.zIndex = '999';
		box.style.width = ancho + 'px';
		box.style.display = 'none';

		var ini_box = document.createElement('div');
		ini_box.id = 'ini-jbox';
		ini_box.className = 'pop1'; 
		ini_box.style.zIndex = '999'; 
		ini_box.innerHTML = '&nbsp;';

		var content_box = document.createElement('div');
		content_box.id = 'content-jbox';
		content_box.className = 'pop2'; 
		content_box.style.zIndex = '999'; 
		content_box.innerHTML = box.innerHTML;

		var fin_box = document.createElement('div');
		fin_box.id = 'fin-jbox';
		fin_box.className = 'pop3'; 
		fin_box.style.zIndex = '999'; 
		fin_box.innerHTML = '&nbsp;';

		var sep = document.createElement('br');
		sep.id = 'sep-jbox';
		sep.style.clear = 'both'; 
		sep.style.zIndex = '999'; 

		var btn = document.createElement('div');
		btn.id = 'close-jbox';
		btn.style.cssFloat = btn.style.styleFloat = 'right'; 
		btn.style.width = '60'; 
		btn.style.zIndex = '999';
		btn.style.color = '#4D8ED5'; 
		btn.style.fontSize = '11px';
		btn.style.cursor = 'pointer';
		btn.innerHTML = '<div style="float:left; margin-right:2px;">Cerrar</div> <img src="' + server_cdn + 'close.png" style="float:left;" />';
		if(btn.addEventListener)	btn.addEventListener('click', this.close, false);
		else if(btn.attachEvent)	btn.attachEvent('onclick', this.close);

		box.innerHTML = '';
		document.body.appendChild(box);
		box.appendChild(ini_box);
		box.appendChild(content_box);
		box.appendChild(fin_box);
		content_box.insertBefore(sep,content_box.firstChild);
		content_box.insertBefore(btn,sep);

		box.style.display = 'block';
	},

	///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

	close: function()
	{ 
		var box = $('content-jbox').parentNode;

		aclarar(); 

		$('content-jbox').removeChild($('close-jbox'));		
		$('content-jbox').removeChild($('sep-jbox'));
		var contenido = $('content-jbox').innerHTML;
		
		box.style.display = 'none';
		box.removeChild($('ini-jbox'));
		box.removeChild($('content-jbox'));
		box.removeChild($('fin-jbox'));
		box.innerHTML = contenido;
	},

	///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

	cambiar_content: function(cad)
	{
		$('content-jbox').innerHTML += cad;

		var btn = $('close-jbox');
		if(btn.addEventListener)	btn.addEventListener('click', this.close, false);
		else if(btn.attachEvent)	btn.attachEvent('onclick', this.close);
	}
}


function del(element,text) {
	if (element.value == text)	element.value = "";

}

function res(element,text) {
	if (element.value == "")	element.value = text;
}



function printf(fstring)
  { var pad = function(str,ch,len)
      { var ps='';
        for(var i=0; i<Math.abs(len); i++) ps+=ch;
        return len>0?str+ps:ps+str;
      }
    var processFlags = function(flags,width,rs,arg)
      { var pn = function(flags,arg,rs)
          { if(arg>=0)
              { if(flags.indexOf(' ')>=0) rs = ' ' + rs;
                else if(flags.indexOf('+')>=0) rs = '+' + rs;
              }
            else
                rs = '-' + rs;
            return rs;
          }
        var iWidth = parseInt(width,10);
        if(width.charAt(0) == '0')
          { var ec=0;
            if(flags.indexOf(' ')>=0 || flags.indexOf('+')>=0) ec++;
            if(rs.length<(iWidth-ec)) rs = pad(rs,'0',rs.length-(iWidth-ec));
            return pn(flags,arg,rs);
          }
        rs = pn(flags,arg,rs);
        if(rs.length<iWidth)
          { if(flags.indexOf('-')<0) rs = pad(rs,' ',rs.length-iWidth);
            else rs = pad(rs,' ',iWidth - rs.length);
          }    
        return rs;
      }
    var converters = new Array();
    converters['c'] = function(flags,width,precision,arg)
      { if(typeof(arg) == 'number') return String.fromCharCode(arg);
        if(typeof(arg) == 'string') return arg.charAt(0);
        return '';
      }
    converters['d'] = function(flags,width,precision,arg)
      { return converters['i'](flags,width,precision,arg); 
      }
    converters['u'] = function(flags,width,precision,arg)
      { return converters['i'](flags,width,precision,Math.abs(arg)); 
      }
    converters['i'] =  function(flags,width,precision,arg)
      { var iPrecision=parseInt(precision);
        var rs = ((Math.abs(arg)).toString().split('.'))[0];
        if(rs.length<iPrecision) rs=pad(rs,' ',iPrecision - rs.length);
        return processFlags(flags,width,rs,arg); 
      }
    converters['E'] = function(flags,width,precision,arg) 
      { return (converters['e'](flags,width,precision,arg)).toUpperCase();
      }
    converters['e'] =  function(flags,width,precision,arg)
      { iPrecision = parseInt(precision);
        if(isNaN(iPrecision)) iPrecision = 6;
        rs = (Math.abs(arg)).toExponential(iPrecision);
        if(rs.indexOf('.')<0 && flags.indexOf('#')>=0) rs = rs.replace(/^(.*)(e.*)$/,'$1.$2');
        return processFlags(flags,width,rs,arg);        
      }
    converters['f'] = function(flags,width,precision,arg)
      { iPrecision = parseInt(precision);
        if(isNaN(iPrecision)) iPrecision = 6;
        rs = (Math.abs(arg)).toFixed(iPrecision);
        if(rs.indexOf('.')<0 && flags.indexOf('#')>=0) rs = rs + '.';
        return processFlags(flags,width,rs,arg);
      }
    converters['G'] = function(flags,width,precision,arg)
      { return (converters['g'](flags,width,precision,arg)).toUpperCase();
      }
    converters['g'] = function(flags,width,precision,arg)
      { iPrecision = parseInt(precision);
        absArg = Math.abs(arg);
        rse = absArg.toExponential();
        rsf = absArg.toFixed(6);
        if(!isNaN(iPrecision))
          { rsep = absArg.toExponential(iPrecision);
            rse = rsep.length < rse.length ? rsep : rse;
            rsfp = absArg.toFixed(iPrecision);
            rsf = rsfp.length < rsf.length ? rsfp : rsf;
          }
        if(rse.indexOf('.')<0 && flags.indexOf('#')>=0) rse = rse.replace(/^(.*)(e.*)$/,'$1.$2');
        if(rsf.indexOf('.')<0 && flags.indexOf('#')>=0) rsf = rsf + '.';
        rs = rse.length<rsf.length ? rse : rsf;
        return processFlags(flags,width,rs,arg);        
      }  
    converters['o'] = function(flags,width,precision,arg)
      { var iPrecision=parseInt(precision);
        var rs = Math.round(Math.abs(arg)).toString(8);
        if(rs.length<iPrecision) rs=pad(rs,' ',iPrecision - rs.length);
        if(flags.indexOf('#')>=0) rs='0'+rs;
        return processFlags(flags,width,rs,arg); 
      }
    converters['X'] = function(flags,width,precision,arg)
      { return (converters['x'](flags,width,precision,arg)).toUpperCase();
      }
    converters['x'] = function(flags,width,precision,arg)
      { var iPrecision=parseInt(precision);
        arg = Math.abs(arg);
        var rs = Math.round(arg).toString(16);
        if(rs.length<iPrecision) rs=pad(rs,' ',iPrecision - rs.length);
        if(flags.indexOf('#')>=0) rs='0x'+rs;
        return processFlags(flags,width,rs,arg); 
      }
    converters['s'] = function(flags,width,precision,arg)
      { var iPrecision=parseInt(precision);
        var rs = arg;
        if(rs.length > iPrecision) rs = rs.substring(0,iPrecision);
        return processFlags(flags,width,rs,0);
      }
    farr = fstring.split('%');
    retstr = farr[0];
    fpRE = /^([-+ #]*)(\d*)\.?(\d*)([cdieEfFgGosuxX])(.*)$/;
    for(var i=1; i<farr.length; i++)
      { fps=fpRE.exec(farr[i]);
        if(!fps) continue;
        if(arguments[i]!=null) retstr+=converters[fps[4]](fps[1],fps[2],fps[3],arguments[i]);
        retstr += fps[5];
      }
    return retstr;
  }



/////////////////////////////////////////////////
// Usuario (Login, Registro, Recordar password)
/////////////////////////////////////////////////

var user = new Class();
user.prototype = {
	__construct: function(id){
	},
	///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

	abrir: function(id)
	{
		frm = new jbox(id);
	},

	///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

	cerrar: function()
	{
		$('reg_errores').style.display = 'none';
		$('captcha').src = '';
		frm.close();
	},

	///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

	cambiar: function(id)
	{
		this.cerrar();
		if(id == 'frm_login')		this.frm_login();
		if(id == 'frm_registro')	this.frm_registro();
		if(id == 'frm_recuperar')	this.frm_recuperar();
	},

	///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

	frm_login: function()
	{
		this.abrir('frm_login');
		$('username').focus();
	},

	///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	captcha: function()
	{
		$('captcha').src = '';
		$('captcha').src = url_comunidad + '/users/captcha/'+random();
	},

	///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
	frm_registro: function()
	{
		this.abrir('frm_registro');
		this.captcha();
	},
	
	frm_recuperar: function()
	{
		this.abrir('frm_recuperar');
		//this.captcha();
	},
	
	///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

	enter: function(e)
	{
		var iAscii;
		if(e.keyCode)		iAscii = e.keyCode;
		else if (e.which)	iAscii = e.which;
		else				return false;

		if(iAscii == 13) this.enviar_login();
	}, 

	///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

	enviar_login: function()
	{
		var pars = 'driver=usuarios&op=login&username=' + $('username').value + '&password=' + $('password').value;
		var callback = function(txt){ 
			if(txt == 1)	document.location.reload();
			else		alert(txt);
		};
		ajax_exe(url_script(),pars,callback);

		return false;
	},

	///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

	enviar_logout: function()
	{
		var pars = 'driver=usuarios&op=logout';
		var callback = function(txt){ document.location.reload(); };
	
		ajax_exe(url_script(),pars,callback);
	},

	///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

	enviar_registro: function()
	{
		if($('condiciones_uso').checked == true)			var cond_uso = 1;
		else								var cond_uso = 0;

		var pars = 'driver=usuarios&op=registro';
		pars += '&username=' + $('reg_usuario').value;
		pars += '&email=' + $('reg_email').value;
		pars += '&password=' + $('reg_password').value;
		pars += '&confirmar_password=' + $('reg_password2').value;
		pars += '&captcha=' + $('reg_captcha').value;
		pars += '&condiciones_uso=' + cond_uso;

		var callback = function(txt){ 
			if(txt != 1)
			{
				$('reg_errores').innerHTML = txt;
				$('reg_errores').style.display = 'block';
			}
			else
			{
				usuario.cerrar();
				alert("Enhorabuena \n\n Su registro en la comunidad de Uptodown se ha relizado con éxito.");
			}
		};

		ajax_exe(url_script(),pars,callback);
	},

	///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

	enviar_recuperar: function()
	{
 		var pars = 'driver=usuarios&op=recuperar-password&email=' + $('email').value + '&email2=' + $('email2').value + '&recuperar=1';
		var callback = function(txt){ this.cerrar('frm_recuperar'); };
		var callback = function(txt){ 
			if(txt == 1){	document.location.reload();
			}else{		
				alert(txt);
				document.location.reload();
			}
		};

		ajax_exe(url_script(),pars,callback);
	},

	///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

	definir_eventos: function()
	{
		if($('login_link'))		$('login_link').onclick = function(){ usuario.frm_login(); return false; }
		if($('reg_link'))		$('reg_link').onclick = function(){ usuario.frm_registro(); return false; }
		if($('logout_link'))		$('logout_link').onclick = function(){ usuario.enviar_logout(); return false; }
		if($('join_img'))		$('join_img').onclick = function(){ usuario.frm_registro(); }
	}
}

var frm;
var usuario = new user;

var rotator_imgs = function()
{
	if(typeof(prog_imgs) != 'undefined') this.num_imgs = prog_imgs.length;
	this.img_1 = 0;
	this.img_2 = 1;
	this.img_3 = 2;


	////////////////////////////////

	this.anterior = function()
	{ 
		if(this.num_imgs > 3)
		{
			if(this.img_1 == 0)					var img_ant = this.num_imgs - 1;
			else							var img_ant = this.img_1 - 1;

			this.img_3 = this.img_2;
			this.img_2 = this.img_1;
			this.img_1 = img_ant;
		}

		this.rotar();
	};

	////////////////////////////////

	this.siguiente = function()
	{
		if(this.num_imgs > 3)
		{
			if(this.img_3 == this.num_imgs - 1)			var img_sig = 0;
			else							var img_sig = this.img_3 + 1;

			this.img_1 = this.img_2;
			this.img_2 = this.img_3;
			this.img_3 = img_sig;
		}

		this.rotar();
	};

	////////////////////////////////

	this.rotar = function()
	{
		if(this.num_imgs > 3)
		{
			$('img_1').src = prog_imgs_mini[this.img_1];
			$('img_2').src = prog_imgs_mini[this.img_2];
			$('img_3').src = prog_imgs_mini[this.img_3];

			$('img_1').onclick = function(){ rotator_big.abrir(rotator.img_1); };
			$('img_2').onclick = function(){ rotator_big.abrir(rotator.img_2); };
			$('img_3').onclick = function(){ rotator_big.abrir(rotator.img_3); };
		}
	};
}

////////////////////////////////
// Rotator Imagenes Grande
////////////////////////////////

var rotator_imgs_big = function()
{

	this.abrir = function(num)
	{
		if(typeof(prog_imgs) != 'undefined') this.num_imgs = prog_imgs.length;
		this.img_actual = 0;

		var cad = '<img id="img_big_anterior" src="http://cdn.uptodown.net/utdcdn/v9/left.png" onclick="rotator_big.anterior()" />';
		cad += '<div id="cont_img_actual"><img id="img_actual" src="" /></div>';
		cad += '<img id="img_big_siguiente" src="http://cdn.uptodown.net/utdcdn/v9/right.png" onclick="rotator_big.siguiente()" />';
		cad += '<br style="clear:both;" />';
		cad += '<br style="clear:both;" />';
		cad += '<p id="titulo_img_big"></p>'; 


		if($('imagenes_big')) $('imagenes_big').innerHTML = cad;
		var box_img = new jbox('imagenes_big');

		this.img_actual = num; 
		this.rotar();
	}

	////////////////////////////////

	this.anterior = function()
	{ 
		if(this.img_actual == 0)			this.img_actual = this.num_imgs - 1;
		else						this.img_actual = this.img_actual - 1;

		this.rotar();
	};

	////////////////////////////////

	this.siguiente = function()
	{
		if(this.img_actual == this.num_imgs - 1)	this.img_actual = 0;
		else						this.img_actual = this.img_actual + 1;

		this.rotar();
	};

	////////////////////////////////

	this.rotar = function()
	{
		var ref = this.img_actual + 1;

		$('img_actual').style.display = 'none';
		$('img_actual').src = prog_imgs[this.img_actual];
		$('titulo_img_big').innerHTML = printf('Imagen', ref, this.num_imgs);
		fade_in($('img_actual'));
	};

}

////////////////////////////////
// Formulario opiniones
////////////////////////////////

var form_opiniones = function()
{
	this.mostrar = function()
	{
		var box_frm = new jbox('form_opiniones');	
		$('enviar_form_opiniones').onclick = function(){ frm_opi.enviar(); return false; }
	};

	////////////////////////////////

	this.enviar = function()
	{
		var pars = 'driver=comentarios&op=nuevo';
		pars += '&texto=' + $('texto').value;
		pars += '&programa_id=' + $('programa_id').value;
		pars += '&plataforma_id=' + $('plataforma_id').value;	
		var callback = function(txt){ document.location.reload(); }

		ajax_exe(url_script(),pars,callback);
	};


	////////////////////////////////

	this.limpiar = function()
	{
		$('texto').value = '';
	};
}

////////////////////////////////
// Votar Opiniones
////////////////////////////////

function votar_opinion(prog,id_opinion,voto)
{
	var pars = 'driver=comentarios&op=votar&id=' + id_opinion + '&voto=' + voto;
	var callback = function(txt){ parpadeo($('votos_' + id_opinion),txt);}
	ajax_exe(url_script(),pars,callback);
	$('btn_votos_' + id_opinion).innerHTML = '<span style="float:right; width:32px; margin:0 6px 0 6px;"><strong>OK!</strong></span>';
}

////////////////////////////////
// Definir Eventos y Procesos
////////////////////////////////

var rotator_big = new rotator_imgs_big();
var frm_opi = new form_opiniones();function suscribir_boletin()
{
	var url = 'http://' + get_subdom() + '.' + dominio + 'boletines/suscribir/';
	var pars = 'email=' + $('newsletter_input').value;
	var callback = function(txt){ alert(txt); }

	ajax_exe(url,pars,callback);
}

////////////////////////////////
// Selector Pais
////////////////////////////////

var selector_pais = function()
{
	this.box_select;

	////////////////////////////////

	this.abrir = function()
	{
		this.box_select = new jbox('selector_pais');
	}

	////////////////////////////////

	this.cerrar = function()
	{ 
		this.box_select.close();
	}

	////////////////////////////////
	
	this.seleccionar = function(cod)
	{
		$('privateterms').innerHTML = paises[cod]['privateterms'];
		$('sms_texto').innerHTML = paises[cod]['texto'];
		$('sms_precio').innerHTML = paises[cod]['precio'];

		select_pais.cerrar();
	};
}

////////////////////////////////
// Definir Eventos y Procesos
////////////////////////////////

//var select_pais = new selector_pais();
//if($('abrir_selector_pais')) $('abrir_selector_pais').onclick = function(){ select_pais.abrir(); }
function validar(f)
{		
	if(f.buzon.value == '')
	{
		alert("Por favor introduzca su código de descarga");
		exit;
	}else if(f.buzon.value == 2)
	{
		if(f.codigo_descarga.value == '')
		{
			alert("Por favor introduzca su código de descarga");
			exit;
		}
	}

	f.submit();
}

function mostrar_ocultar_extras()
{
	var extras = document.getElementById('extras');
	var buzon = document.getElementById('buzon');
	if(buzon.value == 2)	extras.style.display = 'block'; 
	else					extras.style.display = 'none';
}

