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_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_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];}
}

// Visualiza u oculta el contenido de un TR
function openCloseTR(id, template){
	tr  = document.getElementById('idprensa' + id);
	img = document.getElementById('idprensa' + id + 'img');

	if (tr.style.display == ''){
		tr.style.display = 'none';
		img.src = '/img/templates/' + template + '/ico_mas.gif';
	} else {
		tr.style.display = '';
		img.src = '/img/templates/' + template + '/ico_menos.gif';
	}
}

String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g,"");
}

function scrollMove(side, step, maxDst)
{
    var content, margin, newMargin;

    side    = side.toUpperCase();
    content = document.getElementById('scrollContent');
    margin  = content.style.marginLeft

    if (margin != '') {
    	margin = parseInt(margin.replace(/px/, ''));
    }

    if (side == 'L') {
        if (margin == '') {
            newMargin = - step;
        } else if (Math.abs(margin) < maxDst){
            newMargin = margin - step;
        }
    } else {
        if (margin == '' || margin > 0) {
            newMargin = 0;
        } else {
            newMargin = margin + step;
        }
    }

	content.style.marginLeft = newMargin + 'px';
}

function miniscrollZoom(action, codgame)
{
    var img = document.getElementById('imgGame' + codgame);
    var div = document.getElementById('imgArrows' + codgame);

    if (action == 'in') {
        img.style.width      = '67px';
        img.style.height     = '67px';
        img.style.marginTop  = '-33.5px';
        img.style.marginLeft = '-33.5px';
        div.style.display    = '';
    } else {
        img.style.width      = '63px';
        img.style.height     = '63px';
        img.style.marginTop  = '-31.5px';
        img.style.marginLeft = '-31.5px';
        div.style.display    = 'none';
    }
}

function bigscrollZoom(action, codgame)
{
    var img = document.getElementById('imgGame' + codgame);
    var div = document.getElementById('imgArrows' + codgame);

    if (action == 'in') {
        img.style.width      = '133px';
        img.style.height     = '141px';
        img.style.marginTop  = '-70.5px';
        img.style.marginLeft = '-66.5px';
        div.style.display    = '';
    } else {
        img.style.width      = '127px';
        img.style.height     = '135px';
        img.style.marginTop  = '-67.5px';
        img.style.marginLeft = '-63.5px';
        div.style.display    = 'none';
    }
}
// Fin funciones scroll

/**
 * Mete el texto response en el div para la descripción del juego
 */
function updateGameDescription(response) {
    var desc = document.getElementById('gameDesc');

    desc.innerHTML = response;

    // Limpia el área de mensajes
    writeMsg('');
}

/**
 * Cambia los enlaces para que referencien al juego seleccionado
 * y muestra las características del juego.
 */
function changeGame(codjuego)
{
    var caracteristicas   = document.getElementById('id_caracteristicas');
    var compatibilidades  = document.getElementById('id_compatibilidades');
    var comprar           = document.getElementById('id_comprar');

    caracteristicas.onclick = function() {
        buttonClic(this.id);
        gameFeatures(codjuego);
    };

    compatibilidades.onclick = function() {
        buttonClic(this.id);
        gameCompatibility(codjuego);
    };

    comprar.onclick = function() {
        buttonClic(this.id);
        gameBuy(codjuego);
    };

    var nombre  = gamesInfo[codjuego]['nombre'];
    var banner  = document.getElementById('gameBanner');
    var demo    = document.getElementById('gameDemo');
    var name    = document.getElementById('gameName');

    // Actualizamos el título de la página con el nombre del juego
    document.title = nombre;

    demo.src                = '/javagames/demos/' + codjuego + '.gif';

    if (tipoPlantilla == 'erotic'){
    	name.innerHTML          = '<strong><font color="#710B46">' + nombre.toUpperCase() + '</font></strong>';
    	banner.style.background = 'url(/javagames/654x139/' + codjuego + '.jpg)';
    } else {
    	name.innerHTML          = nombre.toUpperCase();
    	banner.style.background = 'url(/javagames/480x60/' + codjuego + '.jpg)';
    }

    gameFeatures(codjuego);
}

/**
 * Muestra la descripción del juego seleccionado
 */
function gameFeatures(codjuego)
{
    updateGameDescription(gamesInfo[codjuego]['desc']);
}

/**
 * Obtiene las compatibilidades del juego
 */
function gameCompatibility(codjuego)
{
	if (tipoPlantilla == 'erotic'){
	    var options = {
		   url: '/sections/contenidos/compatibility.php',
		   queryVars: {codjuego: codjuego},
		   responseType: 'text',
		   handler: updateGameDescription,
		   showLoading: true,
		   loadingImg: '/img/xpiggy-loader.gif'
	    };
	} else {
		var options = {
		   url: '/sections/contenidos/compatibility.php',
		   queryVars: {codjuego: codjuego},
		   responseType: 'text',
		   handler: updateGameDescription,
		   showLoading: true,
		   loadingImg: '/img/kitmaker-loader.gif'
	    };
	}

    ajaxSendRequest(options);
}

/**
 * Muestra los datos necesarios para la descarga del juego
 */
function gameBuy(codjuego, geo)
{
	if (tipoPlantilla == 'erotic'){
	    var options = {
		   url: '/sections/download/download.php',
		   queryVars: {codjuego: codjuego, type: 'J', geo: geo},
		   responseType: 'text',
		   handler: updateGameDescription,
		   showLoading: true,
		   loadingImg: '/img/xpiggy-loader.gif'
	    };
	} else {
		var options = {
		   url: '/sections/download/download.php',
		   queryVars: {codjuego: codjuego, type: 'J', geo: geo},
		   responseType: 'text',
		   handler: updateGameDescription,
		   showLoading: true,
		   loadingImg: '/img/kitmaker-loader.gif'
	    };
	}

    ajaxSendRequest(options);
}

/**
 * Escribe el mensaje en el area de mensajes
 */
function writeMsg(msg)
{
    var msgArea = document.getElementById('msgArea');

    msgArea.innerHTML = msg;
}

/**
 * Comprueba que se haya seleccionado operadora y terminal. Si falta alguno, informa
 * en el área de mensajes. Si todo esta correcto, realiza la petición AJAX que mostra-
 * rá los métodos de pago correspondientes.
 */
function checkOperadoras(codjuego)
{
    var mcc_mnc = document.getElementById('mcc_mnc');
    var mm      = document.getElementById('mm');

    if (mcc_mnc.selectedIndex == 0) {
        writeMsg(msgArea['MUST_OP']);
    } else if (mm.selectedIndex == 0) {
        writeMsg(msgArea['MUST_MOVIL']);
    } else {
        var mcc_mnc = mcc_mnc.options[mcc_mnc.selectedIndex].value;
        var mm      = mm.options[mm.selectedIndex].value;
        var ma      = mm.split('|')[0];
        var mo      = mm.split('|')[1];
        var codmm   = mm.split('|')[2];

        if (tipoPlantilla == 'erotic'){
	        var options = {
	            url: '/sections/download/download.php',
	            queryVars: {codjuego: codjuego, type: 'J', MA: ma, MO: mo, CODMM: codmm, MCC_MNC: mcc_mnc},
	            responseType: 'text',
	            handler: updateGameDescription,
	            showLoading: true,
	            loadingImg: '/img/xpiggy-loader.gif'
	        };
        } else {
        	var options = {
	            url: '/sections/download/download.php',
	            queryVars: {codjuego: codjuego, type: 'J', MA: ma, MO: mo, CODMM: codmm, MCC_MNC: mcc_mnc},
	            responseType: 'text',
	            handler: updateGameDescription,
	            showLoading: true,
	            loadingImg: '/img/kitmaker-loader.gif'
	        };
        }

        ajaxSendRequest(options);
    }
}

var buttonBarColor = 'normal';

function buttonMouseOver(id)
{
    var button = document.getElementById(id);
    var bar    = document.getElementById('button_bar');
    var re     = /_a.gif/;

    if (re.test(button.src)) {
        button.src = button.src.replace('_a.gif', '_b.gif');
    }

    if (bar!=null){
	    if (id == 'id_comprar') {
	        bar.src = bar.src.replace('grey_shade.gif', 'buy_shade.gif');
	    } else {
	        bar.src = bar.src.replace('buy_shade.gif', 'grey_shade.gif');
	    }
    }
}

function buttonMouseOut(id)
{
    var button = document.getElementById(id);
    var bar    = document.getElementById('button_bar');
    var re     = /_b.gif/;

    if (re.test(button.src)) {
        button.src = button.src.replace('_b.gif', '_a.gif');
    }

    if (bar!=null){
	    if (buttonBarColor == 'normal') {
	        bar.src = bar.src.replace('buy_shade.gif', 'grey_shade.gif');
	    } else {
	        bar.src = bar.src.replace('grey_shade.gif', 'buy_shade.gif');
	    }
    }
}

function buttonClic(id)
{
    if (id == 'id_comprar') {
        buttonBarColor = 'special';
    } else {
        buttonBarColor = 'normal';
    }

    var bar = document.getElementById('button_bar');

    if (bar!=null){
	    if (buttonBarColor == 'normal') {
	        bar.src = bar.src.replace('buy_shade.gif', 'grey_shade.gif');
	    } else {
	        bar.src = bar.src.replace('grey_shade.gif', 'buy_shade.gif');
	    }
    }

    var botonera = document.getElementById('botonera');
    if (botonera!=null){
    	var imgs     = botonera.getElementsByTagName('img');
	    var re       = /_[abc].gif/;

	    // Todos a A menos el seleccionado: a C
	    for (var i = 0; i < imgs.length; i++) {
	        if (imgs[i].id == id) {
	            imgs[i].src = imgs[i].src.replace(re, '_c.gif');
	        } else {
	            imgs[i].src = imgs[i].src.replace(re, '_a.gif');
	        }
	    }
    }
}

function checkSolicitud()
{
    var nombre         = document.getElementById('nombre');
    var direccion      = document.getElementById('direccion');
    var telefono       = document.getElementById('telefono');
    var email          = document.getElementById('email');
    var curriculum     = document.getElementById('curriculum');
    var solicitud_info = document.getElementById('solicitud_info');

    if (nombre.value.trim() == '' || direccion.value.trim() == '' || telefono.value.trim() == '' ||
        email.value.trim() == '' || curriculum.value.trim() == '') {

            solicitud_info.innerHTML = textosJS['CHECK_ALL_DATA'];

        return false;
    } else {
        return true;
    }
}

function checkContacto()
{
    var nombre         = document.getElementById('nombre');
    var asunto         = document.getElementById('asunto');
    var direccion      = document.getElementById('direccion');
    var mensaje        = document.getElementById('mensaje');
    var telefono       = document.getElementById('telefono');

    var solicitud_info = document.getElementById('contacto_info');

    if (nombre.value.trim() == '' || asunto.value.trim() == '' || direccion.value.trim() == '' ||
        mensaje.value.trim() == '' || telefono.value.trim() == '') {

            solicitud_info.innerHTML = textosJS['CHECK_ALL_DATA'];

        return false;
    } else {
        return true;
    }
}

function checkInscripcion()
{
    var nombre     = document.getElementById('nombre');
    var apellidos  = document.getElementById('apellidos');
    var empresa    = document.getElementById('empresa');
    var poblacion  = document.getElementById('poblacion');
    var cargo      = document.getElementById('cargo');
    var telefono   = document.getElementById('telefono');
    var email      = document.getElementById('email');

    if (nombre.value.trim() == '' || apellidos.value.trim() == '' ||
        empresa.value.trim() == '' || poblacion.value.trim() == '' ||
        cargo.value.trim() == '' || telefono.value.trim() == '' ||
        email.value.trim() == '') {

        contacto_info.innerHTML = textosJS['CHECK_ALL_DATA'];

        return false;
    } else {
        return true;
    }
}

function showPreview(type, code, lang)
{
    window.open('/miscelany/showPreview.php?type=' + type + '&code=' + code + '&lang=' + lang, 'name','height=158,width=250,left=100,top=100,toolbar=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no');
}

function gotoSection(section, language, code)
{
	var rewrite;
	switch(language){
		case 'es':
			switch(section){
				case 'juegos':
					if (code){
						rewrite = code + '.htm';
					} else {
						rewrite = 'juegos-java/';
					}
					break;
				case 'videos': rewrite = 'contenidos-moviles/videos/'; break;
				case 'contenidos': rewrite = 'contenidos-moviles/'; break;
				case 'noticias': rewrite = 'noticias/'; break;
			}
		break;

		case 'en':
			switch(section){
				case 'juegos':
					if (code){
						rewrite = code + '.htm';
					} else {
						rewrite = 'mobile-games/'; break;
					}
					break;
				case 'videos': rewrite = 'mobile-contents/videos/'; break;
				case 'contenidos': rewrite = 'mobile-contents/'; break;
				case 'noticias': rewrite = 'news/'; break;
			}
		break;
	}

	if (rewrite != undefined){
		window.location = rewrite;
	}
}