function goToPagineLibere() {
    if(logged) {
        document.getElementById("paginelibereform").submit();
    } else {
        location.href = "http://www.paginelibere.it";
    }
}

function modalOpen (dialog) {
    dialog.overlay.fadeIn('slow', function () {
        dialog.container.fadeIn('slow', function () {
            dialog.data.hide().slideDown('slow');	 
        });
    });
}

function modalClose (dialog) {
    dialog.data.fadeOut('slow', function () {
        dialog.container.hide('slow', function () {
            dialog.overlay.slideUp('slow', function () {
                $.modal.close();
            });
        });
    });
}

function checkAut() {
    var aut = document.getElementById("aut");
    if(aut == null) {
        document.getElementById("schedaForm").submit();
        return false;
    } else {
        if(aut.checked) {
            if(checkEmail()) {
                if(checkCampi()) {
                    document.getElementById("schedaForm").submit();
                } else {
                    $('#errorCampiEssenziali').modal({close: false, onOpen: modalOpen, onClose: modalClose});
                }
            } else {
                $('#errorMailDialog').modal({close: false, onOpen: modalOpen, onClose: modalClose});
            }
            return false;
        } else {
            $('#errorDialog').modal({close: false, onOpen: modalOpen, onClose: modalClose});
            return false;
        }    
    }
}

function checkCampi() {
    var temp = document.getElementById('pwd').value;
    if(temp == null || temp == "") {
        return false;
    } else {
        document.getElementById('pwd').value = clearSpecialCharacterFromString(temp);
    }
    temp = document.getElementById('pwd1').value;
    if(temp == null || temp == "") {
        return false;
    } else {
        document.getElementById('pwd1').value = clearSpecialCharacterFromString(temp);
    }
    temp = document.getElementById('nome').value;
    if(temp == null || temp == "") {
        return false;
    } else {
        document.getElementById('nome').value = clearSpecialCharacterFromString(temp);
    }
    if(document.getElementById('canale').value == "paginelibere") {
        temp = document.getElementById('paginelibere').value;
        if(temp == null || temp == "") {
            return false;
        } else {
            document.getElementById('paginelibere').value = clearSpecialCharacterFromString(temp);
        }
    }
    document.getElementById('cognome').value = clearSpecialCharacterFromInput('cognome');
    if(document.getElementById('nickforum') != null) {
      document.getElementById('nickforum').value = clearSpecialCharacterFromInput('nickforum');
    }
    if(document.getElementById('fonte') != null) {
      document.getElementById('fonte').value = clearSpecialCharacterFromInput('fonte');
    }
    if(document.getElementById("f1") != null) {
        document.getElementById('f1').value = removeSpecialCharacterFromInput('f1');
    }
    if(document.getElementById("f2") != null) {
        document.getElementById('f2').value = removeSpecialCharacterFromInput('f2');
    }
    if(document.getElementById("f3") != null) {
        document.getElementById('f3').value = removeSpecialCharacterFromInput('f3');
    }
    if(document.getElementById("f4") != null) {
        document.getElementById('f4').value = removeSpecialCharacterFromInput('f4');
    }
    if(document.getElementById("f5") != null) {
        document.getElementById('f5').value = removeSpecialCharacterFromInput('f5');
    }
    if(document.getElementById("l1") != null) {
        document.getElementById('l1').value = removeSpecialCharacterFromInput('l1');
    }
    if(document.getElementById("l2") != null) {
        document.getElementById('l2').value = removeSpecialCharacterFromInput('l2');
    }
    if(document.getElementById("l3") != null) {
        document.getElementById('l3').value = removeSpecialCharacterFromInput('l3');
    }
    if(document.getElementById("l4") != null) {
        document.getElementById('l4').value = removeSpecialCharacterFromInput('l4');
    }
    if(document.getElementById("l5") != null) {
        document.getElementById('l5').value = removeSpecialCharacterFromInput('l5');
    }
    if(document.getElementById('canale').value == "curriculum") {
        temp = document.getElementById('titoloCurriculum').value;
        document.getElementById('titoloCurriculum').value = clearSpecialCharacterFromString(temp);
        temp = document.getElementById('urlCurriculum').value;
        document.getElementById('urlCurriculum').value = removeSpecialCharacterFromInput('urlCurriculum');        
    }
    return true;
}

function clearSpecialCharacterFromString(t) {
    return t.replace(/\"/g, "&quot;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
}

function clearSpecialCharacterFromInput(t) {
    return document.getElementById(t).value.replace(/\"/g, "&quot;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
}

function removeSpecialCharacterFromInput(t) {
    return document.getElementById(t).value.replace(/\"/g, "").replace(/</g, "").replace(/>/g, "");
}

function checkEmail() {
    var str = document.getElementById('email').value;
    var reg = /^[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.(([0-9]{1,3})|([a-zA-Z]{2,3})|(aero|coop|info|museum|name))$/;
    return reg.test(str);
}

function getStats() {
    var c = $("#canale").val();
    if(c == null || c == "") {
        c = "lavoro";
    }
    $.post("getStats.jsp", { canale: c },
        function(data){
            var stats = data.split("<tr>");
            for(var i = 0;i < (stats.length - 1);i++) {
                var stat = stats[i].split("<td>");
                document.getElementById("f"+(i+1)).value = trim(stat[0]);
                document.getElementById("l"+(i+1)).value = trim(stat[2]);
                document.getElementById("sf"+(i+1)+"-0").innerHTML = stat[3];
                var options = document.getElementById("p"+(i+1)).options;
                var j = 0;
                while(j < options.length) {
                    if(options[j].value == stat[1]) {
                        break;
                    }
                    j++;
                }
                document.getElementById("p"+(i+1)).selectedIndex = j;
            }
        }
    );
}

function trim(str) {
        str = str.replace(/^\s+/, '');
        for (var i = str.length - 1; i >= 0; i--) {
                if (/\S/.test(str.charAt(i))) {
                        str = str.substring(0, i + 1);
                        break;
                }
        }
        return str;
}

function setFintoInput(t, b) {
    if(b == true) {
        t.className = "fintoInput";
    } else {
        t.className = "";
    }
    return false;
}

function saveStats() {
    var c = $("#canale").val();
    if(c == null || c == "") {
        c = "lavoro";
    }
    document.getElementById("saveStatsButton").disabled = true;
    $.post("saveStats.jsp", { canale: c,
        f1: removeSpecialCharacterFromInput('f1'), f2: removeSpecialCharacterFromInput('f2'), f3: removeSpecialCharacterFromInput('f3'), f4: removeSpecialCharacterFromInput('f4'), f5: removeSpecialCharacterFromInput('f5'),
        l1: removeSpecialCharacterFromInput('l1'), l2: removeSpecialCharacterFromInput('l2'), l3: removeSpecialCharacterFromInput('l3'), l4: removeSpecialCharacterFromInput('l4'), l5: removeSpecialCharacterFromInput('l5'),
        p1: document.getElementById('p1').options[document.getElementById('p1').selectedIndex].value,
        p2: document.getElementById('p2').options[document.getElementById('p2').selectedIndex].value,
        p3: document.getElementById('p3').options[document.getElementById('p3').selectedIndex].value,
        p4: document.getElementById('p4').options[document.getElementById('p4').selectedIndex].value,
        p5: document.getElementById('p5').options[document.getElementById('p5').selectedIndex].value },
        function(data){
            document.getElementById("exStats").innerHTML = data;
            getStats();
            document.getElementById("saveStatsButton").disabled = false;
        }
    );
}

function saveNickForum() {
    var c = removeSpecialCharacterFromInput("nickforum");
    document.getElementById("saveNickButton").disabled = true;
    $.post("saveNick.jsp", { nickforum: c },
        function(data){
            if(data.indexOf("*resetNick*") != -1) {
                document.getElementById("nickBox").innerHTML = "Durante la tua iscrizione non hai indicato il nick (nomignolo) con il quale vuoi essere identificato nel Forum. Per entrare nel forum ti chiediamo quindi di fare questa scelta andando nel tuo <a href=\"myjc.jsp?action=modificauser\">profilo</a> ed inserendo il <b>nickForum</b>.<br>Dopo tale scelta sarai libero di leggere, inserire commenti, racconti, chiedere consigli su tutto cio' che e' inerente al mondo del lavoro.";
            } else {
                if(data.indexOf("|||") != -1) {
                    var text = data.split("|||");
                    data = text[0];
                    document.getElementById("nickforum").value = text[1];
                }
                if(data.length > 0) {
                    $('<div>' + data + '<br/><br/><input type="close" value="Ok" class="modalClose" style="width: 20px;" /></div>').modal({close: false, onOpen: modalOpen, onClose: modalClose});
                }
                document.getElementById("saveNickButton").disabled = false;
            }
        }
    );
}

function createPagineLibere() {
    var c = removeSpecialCharacterFromInput("nomesito");
    document.getElementById("paginelibereCrea").disabled = true;
    $.post("savePagineLibere.jsp", { nomesito: c },
        function(data){
            if(data.indexOf("_ERR_") > 0) {
                if(data.indexOf("duplicate key")) {
                    $('<div>Il nome da te scelto esiste già, ti preghiamo quindi di sceglierne un altro<br/><br/><input type="close" value="Ok" class="modalClose" style="width: 20px;" /></div>').modal({close: false, onOpen: modalOpen, onClose: modalClose});
                } else {
                    $('<div>' + data.substring(5) + '<br/><br/><input type="close" value="Ok" class="modalClose" style="width: 20px;" /></div>').modal({close: false, onOpen: modalOpen, onClose: modalClose});
                }
                document.getElementById("paginelibereCrea").disabled = false;
            } else {
                document.getElementById('paginelibereinput').innerHTML = "";
                document.getElementById('pagineliberebox').innerHTML = data;
            }
        }
    );
}

function saveNewsletter() {
    var c = $("#canale").val();
    if(c == null || c == "") {
        c = "lavoro";
    }
    var w2;
    if(document.getElementById('wannaalerter').checked) {
        w2 = "S";
    } else {
        w2 = "N";
    }
    var w3;
    if(document.getElementById('wannadayalerter').checked) {
        w3 = "S";
    } else {
        w3 = "N";
    }
    document.getElementById("saveNewsletterButton").disabled = true;
    $.post("saveNewsletter.jsp", { canale: c, wannaalerter: w2, wannadayalerter: w3 },
        function(data) {
            if(trim(data).length != "") {
                $('<div>' + data + '<br/><br/><input type="close" value="Ok" class="modalClose" style="width: 20px;" /></div>').modal({close: false, onOpen: modalOpen, onClose: modalClose});
            }
            document.getElementById("saveNewsletterButton").disabled = false;
        }
    );
}

function createJSuggest(t) {
    var u = "search.jsp?paese=" + document.getElementById("p"+t).options[document.getElementById("p"+t).selectedIndex].value + "&canale=" + document.getElementById("canale").value;
    document.getElementById("f"+t).onFocus = function(){};
    $("#f"+t).jSuggest({
        minchar: 3,
        opacity: 1.0,
        zindex: 20000,
        delay: 500,
        loadingImg: '/myjc/js/ajax-loader.gif',
        loadingText: 'Loading...',
        autoChange: false,
        url: u,
        type: "GET",
        data: "k"
    });
}

function createCookie(name, value) {
        var date = new Date();
        date.setTime(date.getTime()+(365*24*60*60*1000));
        var expires = "; expires="+date.toGMTString();
	document.cookie = name+"="+value+expires+"; path=/";
}

function RGBtoHex(c) {
    var R = c.substring(c.indexOf("(")+1, c.indexOf(","));
    var G = c.substring(c.indexOf(",")+1, c.indexOf(",", c.indexOf(",")+1));
    var B = c.substring(c.indexOf(",", c.indexOf(",")+1)+1, c.indexOf(")"));
    return "#" + toHex(R) + toHex(G) + toHex(B);
}

function toHex(N) {
    return "" + GiveHex(Math.floor(N / 16)) + GiveHex(N % 16);
}

function GiveHex(dec)
{
   var val;
   if(dec == 10)
      val = "A";
   else if(dec == 11)
      val = "B";
   else if(dec == 12)
      val = "C";
   else if(dec == 13)
      val = "D";
   else if(dec == 14)
      val = "E";
   else if(dec == 15)
      val = "F";
   else val = "" + dec;
   return val;
}

function selezionaTuttiContatti(t) {
    var i = 0;
    var d = document.getElementById("contatto"+i);
    while(d != null) {
        d.checked = t;
        i++;
        d = document.getElementById("contatto"+i);
    }
}

function eliminaCurriculum(id) {
    $.post("eliminaCurriculum.jsp", { idcv: id },
        function(data) {
            if(data.indexOf("-1") == -1) {
                id = "CURRICULUM_" + id;
                var table = document.getElementById("listaCurriculum");
                for(var i = 0; i < table.rows.length; i++) {
                    if(table.rows[i].id == id) {
                        table.deleteRow(i);
                        break;
                    }
                }
            }
        }
    );
}

function inserisciCurriculum(t, m, e) {
    t.disabled = true;
    var titolo = clearSpecialCharacterFromInput('titoloCurriculum');
    $("#titoloCurriculum").val("");
    var url = removeSpecialCharacterFromInput('urlCurriculum');
    $("#urlCurriculum").val("");
    var lingua = document.getElementById('linguaCurriculum').options[document.getElementById('linguaCurriculum').selectedIndex].value;
    document.getElementById('linguaCurriculum').selectedIndex = 0;
    var paese = document.getElementById('paeseCurriculum').options[document.getElementById('paeseCurriculum').selectedIndex].value;
    document.getElementById('paeseCurriculum').selectedIndex = 0;
    $.post("inserisciCurriculum.jsp", { titoloCurriculum: titolo, urlCurriculum: url, linguaCurriculum: lingua, paeseCurriculum: paese },
        function(data) {
            if(data.indexOf("-1") == -1 && data.indexOf("-2") == -1 && data.indexOf("-3") == -1) {
                var table = document.getElementById("listaCurriculum");
                var row = table.insertRow(-1);
                row.setAttribute("id", "CURRICULUM_" + data);
                var cell = row.insertCell(-1);
                cell.innerHTML = titolo;
                cell = row.insertCell(-1);
                cell.innerHTML = lingua;
                cell = row.insertCell(-1);
                cell.innerHTML = paese;
                cell = row.insertCell(-1);
                cell.innerHTML = m;
                cell = row.insertCell(-1);
                cell.innerHTML = "";
                cell = row.insertCell(-1);
                if(url.indexOf("http://") == -1) {
                    url = "http://" + url;
                }
                cell.innerHTML = "<a href=\"" + url + "\" target=\"_blank\">#</a>";
                cell = row.insertCell(-1);
                cell.innerHTML = "<input type=\"button\" value=\"" + e + "\" onclick=\"eliminaCurriculum('" + data + "');\" />";
            } else if(data.indexOf("-1") != -1) {
                $('#urlError').modal({close: false, onOpen: modalOpen, onClose: modalClose});
            } else if(data.indexOf("-2") != -1) {
                $('#urlFormatError').modal({close: false, onOpen: modalOpen, onClose: modalClose});
            } else {
                $('#urlHostError').modal({close: false, onOpen: modalOpen, onClose: modalClose});
            }
            t.disabled = false;
        }
    );
}