function disableButton(id)
{
    $("#" + id).attr('disabled', 'disabled');
}

function enableButton(id)
{
    $("#" + id).removeAttr('disabled');
}

function isButtonEnabled(id)
{
    var val = $("#" + id).attr('disabled');

    return !val;
}

function reloadPage()
{
    var sURL = unescape(window.location.pathname);
    window.location.href = sURL;
}

function openUrl(url)
{
    window.location.href = url;
}

function openPopup(url, name, options)
{
    if (!options) {
        options = "height=700, width=500, status=no, directories=no, menubar=no, toolbar=no, scrollbars,resizable=yes";
    }

    if (!name) {
        name = '';
    }
    var w = window.open(url, name, options);
    w.focus();
}


function openFullScreen(url)
{
    var options = "type=fullWindow, top=auto, fullscreen, left=auto, width=auto, height=auto, status=no, directories=no, menubar=no, toolbar=no, scrollbar=no, resizable=yes";
    window.open(url, "", options);
}

function openFullScreen2(url)
{
  var win_w = screen.availWidth - 20;
  var win_h = screen.availHeight - 20;
  var myWindow = window.open(url, "_blank", "top=0, left=0, width=" + win_w + ", height=" + win_h + ", toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes");
  return myWindow;
}

function resetFormError()
{
    $('input').removeClass('form_error');
    $('select').removeClass('form_error');
}

function setFormError(id)
{
    $("#" + id).addClass('form_error');
}

function isValidEmail(email)
{
    if (email.search(/^\w+((-\w+)|(\.\w+))*\@\w+((\.|-)\w+)*\.\w+$/) != -1) {
        return true;
    }
    else {
        return false;
    }
}

function isEmpty(str)
{
    str = trim(str);
    if (str == '') {
        return true;
    } else {
        return false;
    }
}

function trim(stringa){
    while (stringa.substring(0,1) == ' '){
        stringa = stringa.substring(1, stringa.length);
    }
    while (stringa.substring(stringa.length-1, stringa.length) == ' '){
        stringa = stringa.substring(0,stringa.length-1);
    }
    return stringa;
}

function isNumeric(sText, numberFloat)

{
    var validChars = "0123456789";
    if (numberFloat) {
        validChars = "0123456789.";
    }
    var isNumber=true;
    var tmpChar;

 
    for (i = 0; i < sText.length && isNumber == true; i++)
    {
        tmpChar = sText.charAt(i);
        if (validChars.indexOf(tmpChar) == -1)
        {
            isNumber = false;
        }
    }
    return isNumber;
}

function urlencode(str) {
    var escapetString = str;
    escapetString = escape(str)
    .replace(/\+/g,'%2B')
    .replace(/%20/g, '+')
    .replace(/\*/g, '%2A')
    .replace(/\//g, '%2F')
    .replace(/@/g, '%40');

    return escapetString;
}

function urldecode(str) {
    return unescape(str.replace('+', ' '));
}

function checkPIVA(pi)
{
    if (pi == '') {
        return false;
    }
    if (pi.length != 11) {
        return false;
    }
    valids = "0123456789";
    for (i = 0; i < 11; i++) {
        if (valids.indexOf(pi.charAt(i) ) == -1) {
            return false;
        }
    }
    s = 0;
    for (i = 0; i <= 9; i += 2) {
        s += pi.charCodeAt(i) - '0'.charCodeAt(0);
    }
    for (i = 1; i <= 9; i += 2) {
        c = 2*( pi.charCodeAt(i) - '0'.charCodeAt(0) );
        if (c > 9)  c = c - 9;
        {
            s += c;
        }
    }
    if ((10 - s%10)%10 != pi.charCodeAt(10) - '0'.charCodeAt(0)) {
        return false;
    }

    return true;
}

function checkCF(cf)
{
    var validi, i, s, set1, set2, setpari, setdisp;
    if (cf == '')  {
        return false;
    }
    cf = cf.toUpperCase();
    if (cf.length != 16) {
        return false;
    }
    validi = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
    for (i = 0; i < 16; i++) {
        if (validi.indexOf(cf.charAt(i)) == -1) {
            return false;
        }
    }
    set1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    set2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ";
    setpari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    setdisp = "BAKPLCQDREVOSFTGUHMINJWZYX";
    s = 0;
    for (i = 1; i <= 13; i += 2) {
        s += setpari.indexOf(set2.charAt(set1.indexOf(cf.charAt(i))));
    }
    for (i = 0; i <= 14; i += 2) {
        s += setdisp.indexOf(set2.charAt(set1.indexOf(cf.charAt(i))));
    }
    if (s%26 != cf.charCodeAt(15)-'A'.charCodeAt(0) ) {
        return false;
    }

    return true;
}
