function checkInsertForm(form) {
    //If we are not requesting data, then we gather it
    if(requesting)
        return false;
    else if(form.id.value.length > 0){
        form.div.value = form.div.value.toUpperCase();
        
        if(form.name.value.length == 0) {
            alert('O nome do equipo non ten un valor correcto.');
            form.name.focus();
        }
        else if(!/^[ivx]+\.[0-9]+$/i.test(form.div.value) && !/(^[iI]$)|(^[pP]rimera$)/i.test(form.div.value)) {
            alert('A división non ten un valor correcto.\nExemplos: VI.102, IX.10, I, Primera.');
            form.div.focus();
        }
        else if(form.zone.value.length == 0) {
            alert('Por favor, selecciona a zona á que pertences.');
            form.zone.focus();
        }
        else return confirm('Seguro que desexas inscribirte no bando do '+(form.zone.value == 1 ? 'Sur' : 'Norte')+"?"); //validado correctamente, que confirme el usuario
    }
    else checkId(form.id);
    return false;
}

var requesting = false;
var lastId = false;
var fail = 0;
var MAX_FAILS = 1; /*Just one try. If it fails, then we allow the user to write it manually*/
function checkId(id, event) {
    if((lastId == id.value) && !event)
        return;
    lastId = id.value;
    if(id && !isNaN(id.value) && (id.value!='')) {
        //alert(id.value);
        //get contents from peaso's web
        if(!requesting) {
            var request = getAjaxRequest();
            if(!request) {
                alert('oooops! ocorreu un erro, fala cos administradores do sistema!');
                return;
            }
            
            requesting = true;
            document.getElementById('searchButton').src = 'images/wait.gif';
            
            request.onreadystatechange = function() {
                if (request.readyState == 4) {
                    requesting = false;
                    document.getElementById('searchButton').src = 'images/search.png';
                    if (request.status == 200) {
                        if(request.responseText == 'error001') {
                            if(fail++ < MAX_FAILS) {
                                alert('Non existe o equipo!! Comproba que a ID está ben posta!!');
                            }
                            else {
                                var name = document.getElementById('f_insert_name');
                                var div = document.getElementById('f_insert_div');
                                name.readOnly = false;
                                div.readOnly = false;
                                name.className = 'noreadonly';
                                div.className = 'noreadonly';
                                alert('É posible que non haxa datos do teu equipo accesibles online porque es un equipo novo en Hattrick. Por favor, cumplimenta o formulario manualmente.');
                                name.focus();
                            }
                        }
                        else if(request.responseText == 'error002') {
                            var name = document.getElementById('f_insert_name');
                            var div = document.getElementById('f_insert_div');
                            name.readOnly = false;
                            div.readOnly = false;
                            name.className = 'noreadonly';
                            div.className = 'noreadonly';
                            alert('Tivo lugar un erro ó obter información do teu equipo. Por favor, introduce a man o nome do teu equipo e a división na que xogas.');
                            name.focus();
                        }
                        else {
                            try {
                                eval(request.responseText);
                            }
                            catch(e) {
                                alert(request.responseText);
                            }
                        }
                    }
                    else {
                        alert('Ocorreu un erro ó intentar acceder ós datos automáticamente. Por favor, inténtao de novo.');
                    }
                }
            }
            
            request.open('GET','url_get.php?view=teamdetails&section=insert&id='+id.value, true);
            request.send(null);
            return;
        }
        else return;
    }
    if(!event) {
        alert('Debes introducir un ID correcto');
        id.focus();
    }
    return;
}

/**
* Obtain an XMLHttpRequest object to manage sync and async requests
* @returns bool False, if the object could not be created. Otherwise, an Object to manage Ajax Requests
*/
function getAjaxRequest() {
    if(window.XMLHttpRequest && !(window.ActiveXObject)) {// XMLHttpRequest native Object
        try {
            return new XMLHttpRequest();
        } catch(e) {
            return false;
        }
    } else if(window.ActiveXObject) {// IE
        try {
            return new ActiveXObject('Msxml2.XMLHTTP');
        } catch(e) {
            try {
                return new ActiveXObject('Microsoft.XMLHTTP');
            } catch(e) {
                return false;
            }
        }
    }
}

function generateMessage(element, name, id) {
    element.parentNode.style.backgroundColor = '#000000';
    var objGen = document.getElementById('messageGenerated');
    objGen.value = document.getElementById('messageSkeleton').value.replace('[TEAM_NAME]', name).replace('[TEAM_ID]', id).replace('[POST_ID]', document.getElementById('postId').value);
    objGen.focus();
    objGen.select();
    var text = document.selection.createRange();
    return text.execCommand("Copy") || (element.parentNode.style.backgroundColor && element.parentNode.style.backgroundColor == '#000000');
}
