/*********************AJAX*********************/
function getXmlHttpObject () {
    var xmlHttp = null;
    try { // Firefox, Opera 8.0+, Safari
        try {
            netscape.security.PrivilegeManager.enablePrivilege ( "UniversalBrowserRead" );
        } catch ( e ) {
        }
        xmlHttp=new XMLHttpRequest ();
    } catch ( e ) { // Internet Explorer
        try {
            xmlHttp = new ActiveXObject ( "Msxml2.XMLHTTP" );
        } catch ( e ) {
            xmlHttp = new ActiveXObject ( "Microsoft.XMLHTTP" );
        }
    }
    return xmlHttp;
}

function ajax ( url_function, div_id ) {
    xmlHttp = getXmlHttpObject ();
    if ( xmlHttp == null ) {
        return;
    }
    if ( xmlHttp.overrideMimeType ) {
        xmlHttp.overrideMimeType ( 'text/xml' );
    }
    try {
        xmlHttp.open ( "GET", url_function, true );
    } catch ( e ) {
    }
    xmlHttp.onreadystatechange = function stateChanged () {
                                     if ( xmlHttp.readyState == 4 ) {
                                         document.getElementById ( div_id ).innerHTML = xmlHttp.responseText;
                                     }
                                 };
    xmlHttp.send ( null );
}
/*********************DIV POPUP*********************/
function popup_exit ( div_id ) {
  var element = document.getElementById ( div_id );
  element.style.display = 'none';
}

function popup_show ( div_id, img_id, ajax_url_function, evt ) {
    if ( !evt ) evt = window.event;
    var element = document.getElementById ( div_id );
    if ( ajax_url_function ) {
        ajax ( ajax_url_function, div_id );
    } else {
        element.innerHTML = 'vazio';
    }
    element.style.position = "absolute";
    element.style.display  = "block";
    element.style.left = evt.clientX + 20 + 'px';
    element.style.top  = evt.clientY + 20 + 'px';
}
/*********************VALIDATION*********************/
function validar_pes (objecto) {  
    for (i=0;i<objecto.length;i++) {
        var tempobj=objecto.elements[i];
        if (tempobj.name == "pQuery") {
            if (tempobj.value == "") {
                alert("O campo de pesquisa deve ser preenchido.");
                return false;
            }
            if (tempobj.value.length < 3 ) {
                alert("Por favor, pesquise com 3 ou mais caracteres.");
                return false;
            }
            if (tempobj.value != "" && tempobj.value.length > 198 ) {
                alert("Por favor, pesquise com 198 ou menos caracteres.");
                return false;
            }
        }
    }
    objecto.submit();
    return true;   
}

function validar_pes_pro() {
    if (document.getElementById("textTit").value != "" && document.getElementById("textTit").value.length > 198 ) {
        alert("Por favor, pesquise com 198 ou menos caracteres, no campo Título."); 
        return false;
    }
    if (document.getElementById("textDes").value != "" && !isDate(document.getElementById("textDes").value)) {
        return false;
    }
    if (document.getElementById("textAte").value != "" && !isDate(document.getElementById("textAte").value)) {
        return false;
    }
    return true;
}

function set_visible (obj) {
    obj = document.getElementById (obj);
    obj.style.visibility = (obj.style.visibility == 'visible') ? 'hidden' : 'visible';
}

function validar_com (objecto) {  
    for (i=0;i<objecto.length;i++) {
        var tempobj=objecto.elements[i];
        if (tempobj.name == "pComment") {
            if (tempobj.value != "" && tempobj.value.length > 4000 ) {
                alert("O seu comentário não deve exceder os 4000 caracteres.");
                return false;
            }
        }
        if (tempobj.name == "pEmail") {
            if (tempobj.value != "" && tempobj.value.length > 250 ) {
                alert("O seu e-mail não deve exceder os 250 caracteres.");
                return false;
            }
        }
        if (tempobj.name == "pName") {
            if (tempobj.value != "" && tempobj.value.length > 250 ) {
                alert("O seu nome não deve exceder os 250 caracteres.");
                return false;
            }
        }
    }
    objecto.submit();
    return true;   
}

function validar_email (email) {
    var emailPat = /^(([^<>()[\]\\,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/;
    var matchArray = email.match(emailPat);
    if (matchArray == null) {
        return false;
    }
    return true;
}

function validar_new (objecto) {  
    for (i=0;i<objecto.length;i++) {
        var tempobj=objecto.elements[i];
        if (tempobj.name == "pEmail") {
            if (tempobj.value == "") {
                alert("O campo E-mail deve ser preenchido.");
                return false;
            }
            if (tempobj.value != "" && tempobj.value.length > 150 ) {
                alert("O seu e-mail não deve exceder os 150 caracteres.");
                return false;
            }
            if (tempobj.value != "" && validar_email (tempobj.value) == false ) {
                alert("O e-mail introduzido é inválido.");
                return false;
            }
        }
    }
    objecto.submit();
    return true;   
}
