window.name="Principal";

function insertImage (img){
    var text=img;
    opener.document.editor.imagen_actual.value=text;
    opener.document.editor.imagen_aa.src=text;
    opener.document.editor.imagen_aa.style.display="block";
    opener.document.getElementById('confirm').style.display='block';
    //window.parent.close();
    close();
}

/*
* Valida addresses ip
*/
function validate_ip() {

    newip=new String(document.getElementById('ip_deny').value);

    var regexIP = /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;

    ;

    valid=newip.search(regexIP);

    if (valid==0) document.getElementById('refuse_ip').submit();
    else { alert ("La dirección IP no es valida");}
}
/*
* Oculta y despliega la capa pasada como parametro
*/
function ocultacapa(capa){
    var menu = document.getElementById(capa);
    menu.style.display = "none";
}
function despliegacapa(capa){
    var menu = document.getElementById(capa);

    /* Soberana chapuza, hay que quitar este código y
    hacer que recorra bien los elementos ul del documento
    y excluir el que le pasamos por parámetro
    */
    switch (menu.id){
        case "admin_general":
        document.getElementById('admin_sections').style.display="none";
        document.getElementById('admin_edicion').style.display="none";
        document.getElementById('admin_copia').style.display="none";
        break;
        case "admin_sections":
        document.getElementById('admin_general').style.display="none";
        document.getElementById('admin_edicion').style.display="none";
        document.getElementById('admin_usuario').style.display="none";
        document.getElementById('admin_copia').style.display="none";
        break;
        case "admin_edicion":
        document.getElementById('admin_general').style.display="none";
        document.getElementById('admin_sections').style.display="none";
        document.getElementById('admin_usuario').style.display="none";
        document.getElementById('admin_copia').style.display="none";
        break;
        case "admin_usuario":
        document.getElementById('admin_general').style.display="none";
        document.getElementById('admin_sections').style.display="none";
        document.getElementById('admin_edicion').style.display="none";
        document.getElementById('admin_copia').style.display="none";
        break;
        case "admin_copia":
        document.getElementById('admin_general').style.display="none";
        document.getElementById('admin_sections').style.display="none";
        document.getElementById('admin_edicion').style.display="none";
        break;
    }

    if(menu.style.display == "none" || menu.style.diplay==""){
        menu.style.display = "block";
    }
    else{
        menu.style.display = "none";
    }
}

/* Pop up */
function popup(pagina){
    window.open (pagina,"Historial", 'width=500,height=800, left=400,scrollbars=YES');
}

/* Pop up */
function popup_manual(pagina){
    window.open (pagina,"manual", 'width=480px, toolbar=yes, scrollbars=1,top=50%; left=50%');
}
/* Pop up */
function popup_visor(pagina){
    window.open (pagina,"visor", 'width=390px, toolbar=no, scrollbars=1,top=40, left=600');
}
function popup_visor_products (pagina,ancho,alto){
    ventana=window.open (pagina.src,"visor", ' toolbar=no, scrollbars=1,top=50%; left=50%');
}

/* Pop up */
function popup_files(pagina){
    window.open (pagina,"manual", 'width=800px,height=600px,toolbar=yes, scrollbars=1,top=1%; left=1%');
}

/*
Forma no intrusiva de llamar al pop up
<!--<a href="pagina.html" onclick="popup(this.href);return false">Lorem</a>-->

*/

// Vuelve a la página anterior del historial.
function atras (){
    window.history.back();
}

// Imprimir una página
function imprimirPagina() {
    if (window.print){
        window.print();

    }
    else {
        alert("Su navegador no le permite sort imprimir\n" +
        "Imprima desde el menú Files->Imprimir, o pulse CTRL+P simultaneamente.\n"+
        "Si sigue sin funcionar actualice su navegador\n");
    }
}
/**
* Valida los datos de los forms en el cliente.
*
* Tambíen son validados en el servidor
* en el archivo pedido.cliente.hpp
*/
function validate_datos_pedido (){

    if (document.getElementById('name').value=='' ||
    document.getElementById('lastname').value=='' ||
    document.getElementById('address').value=='' ||
    document.getElementById('cp').value=='' ||
    document.getElementById('city').value=='' ||
    document.getElementById('province').value=='' ||
    document.getElementById('phone').value=='' ||
    document.getElementById('nif').value=='') {

        alert  (
        "Debe rellenar al menos los campos de la dirección de facturación\n"+
        "Nombre: "+document.getElementById('name').value+"\n"+
        "Apellidos: "+document.getElementById('lastname').value+"\n"+
        "Dirección: "+document.getElementById('address').value+"\n"+
        "Código Postal: "+document.getElementById('cp').value+"\n"+
        "Ciudad: "+document.getElementById('city').value+"\n"+
        "Provincia: "+document.getElementById('province').value+"\n"+
        "País: "+document.getElementById('country').value+"\n"+
        "Teléfono: "+document.getElementById('phone').value+"\n"+
        "CIF/NIF: "+document.getElementById('nif').value+"\n"
        );
        window.location.href='pedido.php?error=true'
    }
    else {
        window.location.href='pedido.cliente.php';
    }

}
//
function check_all(field) {

    for (i = 0; i < field.length; i++){
        if (field[i].checked==false){
            field[i].checked = true;
        }
        else {
            field[i].checked = false;
        }
    }
}


/**
*  Javascript para la edición del texto.
*  David Ramón Yanes Fariña
*  Falta adaptarlo para opera, konqueror.
*  Funciona correctamente en Iexplorer 6.0, y navegadores con el motor *     Gecko.(mozilla,firefox,netscape).
*
*/
// Captura la selección, y añade las etiquetas.
function getSel(ini_etiqueta,fin_etiquita)
{
    // Si mozilla o firefox.
    if (window.getSelection)
    {

        editor=document.getElementById('editor');

        ini=editor.message.selectionStart;
        fin=editor.message.selectionEnd;
        pretext=editor.message.value.substring (0,ini);
        addtext=ini_etiqueta+editor.message.value.substring (ini,fin)+fin_etiqueta;
        fintext=editor.message.value.substring (fin, editor.message.value.length);


        final_text=pretext+addtext+fintext;
        editor.message.value='';
        editor.message.value=final_text;
        return final_text;
    }
    // If ¿Que navegador sería este?
    else if (document.getSelection){
        editor=document.getElementById('editor');

        if (fin_etiqueta.indexOf ('[/fr]')>=0 )
        meter (fin_etiqueta);
        else {
            final_text=prompt ("Introduzca text");
            meter (ini_etiqueta+final_text+fin_etiqueta);
        }

    }
    // Si es explorer 6.0
    else if (document.selection)
    {
        // Damos el foco al editor.
        document.editor.message.focus();

        //Capturamos la seleccion hecha por el usuario.
        sel=document.selection.createRange().text;
        addtext=ini_etiqueta+sel+fin_etiqueta;
        meter(addtext);
    }
    else return;
}

function delete_todo (){
    // Si es mozilla
    if (window.getSelection){
        editor=document.getElementById('editor');
        editor.message.value='';

    }

    // Si es ie
    else if (document.selection){
        document.editor.message.value='';
    }

}

// ----------------------------------------------------------------------------
// Este genial Script fue desarrollado por Tukzone, SirMatrix y Unknow,
// Todos del Foro.. Gracias a ellos por su colaboración

function storeCaret(text) {
    if (text.createTextRange) {
        text.caretPos = document.selection.createRange().duplicate();
    }
}

function meter(text) {

    var postopic = document.editor.message;

    if (postopic.createTextRange && postopic.caretPos) {
        var caretPos = postopic.caretPos;

        caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ?

        text + ' ' : text;
    }
    else postopic.value += text;

    postopic.focus(caretPos)
}

function codigo(accion) {
    switch(accion) {
        case "url":
        url=prompt ('Introduzca dirección','http://');
        ini_etiqueta='[a href=\"'+url+'\"]';
        fin_etiqueta='[/a]'
        break;
        case "bold":
        ini_etiqueta='[b]';
        fin_etiqueta='[/b]'
        break;
        case "italics":
        ini_etiqueta='[i]';
        fin_etiqueta='[/i]'
        break;
        case "quote":
        ini_etiqueta='[quote]';
        fin_etiqueta='[/quote]';
        break;
        case "underlayed":
        ini_etiqueta='[u]';
        fin_etiqueta='[/u]';
        break;
        case "fin_summary":
        ini_etiqueta='';
        fin_etiqueta='[/fr]';
        break;
        default:
        break;
    }
    getSel(ini_etiqueta,fin_etiqueta);
}
// Contador progresivo. Account la quanty de text que hay en el campo.
function textCounter(field, countfield, maxlimit) {
    if (field.value.length > maxlimit)
    field.value = field.value.substring(0, maxlimit);
    else
    countfield.value = field.value.length;
}

// Contador regresivo. Account la quanty de text que hay en el campo la cual es restada
// de max limit.
function reverseTextCounter(field, countfield, maxlimit) {
    if (field.value.length > maxlimit)
    field.value = field.value.substring(0, maxlimit);
    else
    countfield.value = maxlimit - field.value.length;
}



function comprobarcif(cif){
    mal=false;
    letras="ABCDEFGHKLMNPQS"
    caracteres=[];

    for(a=0;a<cif.length;a++){
        caracteres[a]=cif.charAt(a);
    }
    if(letras.indexOf(caracteres[0])==-1){
        esto=cif;
        validar(esto);
        return false;
    }
    resultadoImpares=0;
    for(a=1;a<8;a=a+2){
        numero=caracteres[a]*2;
        numero=parseInt(numero/10)+numero%10;
        resultadoImpares+=numero
    }

    resultadoImpares=parseInt(resultadoImpares/10)+resultadoImpares%10;

    numeroPar=0;
    for(a=2;a<8;a=a+2){
        numeroPar+=parseInt(caracteres[a]);
    }
    total=resultadoImpares+numeroPar;
    total=11-(total%10)+1;
    if(total!=caracteres[8]){mal=true;}
    if(mal){
        pepe=alert("Parece ser que el C.I.F. no es correcto.\nPor favor corríjalo.");
        document.introducir.CIF.focus();return false
    }
    return true;
}
/*******************************
Validación del nif. Por Carlitos. [email]carlosbernad@teleline.es[/email]
Si usas este script, deja intactas estas líneas (créditos). Vale?
También te agradecería un e-mail con tus comentarios.
*******************************/
function validate_nif(abc)
{
    dni=abc.substring(0,abc.length-1)
    let=abc.charAt(abc.length-1)
    if (!isNaN(let))
    {
        alert('Introduzca el número del DNI seguido de la letra, sin guiones ni espacios.')
        getFormToValidate().nif.focus()
        return false
    }
    else
    {
        cadena="TRWAGMYFPDXBNJZSQVHLCKET"
        posicion = dni % 23
        letra = cadena.substring(posicion,posicion+1)
        if (letra!=let.toUpperCase())
        {
            alert("Nif no válido");
            getFormToValidate().nif.focus();
            return false
        }
    }
    return true;
}


function getFormToValidate () {
    var frms = document.getElementsByTagName('form');
    for (var i=0; i<frms.length; i++) {
        if (frms[i].className.indexOf('validate') != -1) {
            return (frms[i]);
        }
    }
}


/*
Comprueba si el email pasado como parámetro es válido.
*/
function validate_web(web){

    // Expresion regular
    var regex=/(^http:\/\/\w+(\.\w+)*\.\w{2,3}$)|(^w+(\.\w+)*\.\w{2,3}$)/;

    // Comentar la siguiente linea si no se desea que aparezca el alert()
    if (regex.test(web)){
        return true;
    }
    else {
        alert ('La dirección web no es correcta');
        getFormToValidate().web.focus();
        window.scrollBy(0,-30);
        return false;
    }
}



/*
Comprueba si el email pasado como parámetro es válido.
*/
function validate_email(email){

    //expresion regular
    var regex=/^[^@\s]+@[^@\.\s]+(\.[^@\.\s]+)+$/

    //comentar la siguiente linea si no se desea que aparezca el alert()

    if (regex.test(email)){
        return true;
    }
    else {
        alert ('Introduzca un email válido');
        getFormToValidate().email.focus();
        window.scrollBy(0,-30);
        return false;
    }
}

/*
Comprueba si el email pasado como parámetro es válido.
*/
function validate_phone(phone,phone2){
    var er_phone = /(^([0-9]{9,9})|^)$/				//9 numeros o cadena vacia
    //comprueba campo codigo postal
    if(er_phone.test(phone.value)) {
        return true;
    }
    else {
        alert('El número de teléfono debe estar compuesto de 9 cifras.');
        if (phone2==1){
            getFormToValidate().ephone.focus();
        }
        else {
            getFormToValidate().phone.focus();
        }
        window.scrollBy(0,-30);
        return false;
    }
}

// Ocultar email.
function MailLink (usuario, dominio, tld, texto) {
 //codifica los caracteres mas significativos
 var arroba = '@'
 var punto = '.'

 //utiliza variables para ocultar las palabras clave
 var etiqueta = 'ma' + '' + 'il'
 var dospuntos = 'to:'
 var localizador = usuario
 localizador = localizador + arroba + dominio
 localizador = localizador + punto + tld

 //escribe en enlace
 document.write('<a href="' + etiqueta + dospuntos + localizador + '?subject=ydondevamos - ' + '">'+ localizador + '</a>')
}   

