/**** variables *********************************/
var sol_list = new Array();
var mapcx = "אטיעלש'צז";
var mapcy = "aeeoiu oe";
var validc = "0123456789abcdefghijklmnopqrstuvwxyz ";
var stopwords = ";e;il;lo;la;i;gli;le;l;un;una;dal;dalla;dalle;dall;dei;di;delle;da;d;sul;sullo;sulla;sull;sui;nei;nel;nella;nello;nell;in;";
var cmp_list = new Array();

/**** remSymb() *********************************/
function remSymb(s) {
    var str2 = "";
    for (var i=0; i<s.length; i++) {
        var c = s.charAt(i);
        var p = validc.indexOf(c);
        if (p >= 0) {
            str2 = str2 + c;
        }
        else {
            str2 = str2 + ' ';
        }
    }
    return str2;
}

/**** swl() *************************************/
function swl(arr) {
    var res = "";    
    n = 0;
    for (var i=0; i<arr.length; i++) {
        arr[i] = arr[i].trim();
        if (arr[i] == '') continue;
        var tok = ';' + arr[i] + ';';
        if ( stopwords.indexOf(tok) >= 0) continue;
        res += (n==0)? arr[i] : ' ' + arr[i];
        n++;
    }
    return res;
}

/**** mcc() *************************************/
function mcc(s) {
    s = hex_md5(s);
    for (var i=0; i<cmp_list.length; i++) {
        if (s == cmp_list[i]) return true;
    }
    return false;
}

/**** remAccents() ******************************/
function remAccents(s) {
    var str2 = "";
    for (var i=0; i<s.length; i++) {
        var c = s.charAt(i);
        var p = mapcx.indexOf(c);
        if (p >= 0) {
            str2 = str2 + mapcy.charAt(p);
        }
        else {
            str2 = str2 + c;
        }
    }
    return str2;
}


/**** jsCheckSolution() *************************/
function jsCheckSolution() {
    var r = priv_checkSolution();
    if (r < 0) {
        alert('Soluzione non corretta');
        return false;
    }
    else {
        alert('Soluzione corretta');
        return true;
    }
}

function addSolution() {
    var el = getel('idFLD_YSOLUTION');
    if (el) {
        var s = prompt('Soluzione da aggiungere (solo lettere, numeri, spazi, apostrofi e virgole):', '');
        if ( typeof(s) == 'string') {
            s = s.trim();
            if (s == '') return;
            var vc = "0123456789abcdefghijklmnopqrstuvwxyz 'אטיעלש'צז,.";
            var us = s.toLowerCase();
            for (var i=0; i<us.length; i++)
                if ( vc.indexOf( us.charAt(i) ) < 0) {
                    alert('Caratteri non validi');
                    return;
                }
            var r = el.value;
            var r2 = '';
            var lines = r.split("\n");
            for(var i=0; i<lines.length; i++) {
                lines[i] = lines[i].trim();
                if (lines[i] == '') continue;
                r2 += lines[i] + "\n";
            }
            r2 += s + "\n";
            el.value = r2;            
        }
    }
}
