var maxmchars = 1024;
var message = "Message exceeds %n characters. Reduce it a little, please.";
var error_message = "There has been an error sending the feedback message. Please try again later or not. ";
var ftarea_updt_fp = function() {
$("#feedback_msg").text($("#feedback_textarea")[0].value.length + " of max. " + maxmchars);
if($("#feedback_textarea")[0].value.length > maxmchars) { $("#feedback_msg").css("color", "red"); }
else { $("#feedback_msg").css("color", "gray"); }
};
$(function(){
// Dialog
$("#feedback_dialog").dialog({
autoOpen: false,
width: 400,
buttons: {
"Ok": function() {
if($("#feedback_textarea")[0].value.length > maxmchars) {
alert(message.replace("%n", maxmchars));
$("#feedback_textarea")[0].focus();
}
else if($("#feedback_textarea")[0].value.length == 0) {
$("#feedback_textarea")[0].focus();
}
else if($("#feedback_email")[0].value.length == 0) {
$("#feedback_email")[0].focus();
}
else if(!$("#feedback_email")[0].value.match(".+@.+\\..+")) {
alert("Please introduce a valid e-mail address!");
$("#feedback_email")[0].focus();
}
else {
// ajax permite gestionar respuesta erronea HTTP, post no:
//$.post('/ajax/sendfbck.php', {message: $("#feedback_textarea")[0].value}, function(ok) {(ok==1)?$(this).dialog("close"):$('feedback_msg').text("There has been an error sending the feedback message. Please try again later or not.");});
$("#feedback_msg").html("
");
$.ajax({
type: "POST",
url: "/ajax/addcomment.php",
data: {
from: $("#feedback_email")[0].value,
message: $("#feedback_textarea")[0].value,
action: "PUT"
},
success: function(msg) {
if(msg=="ok") {
alert("Thanks for submitting your feedback!");
$("#feedback_dialog").dialog("close");
$("#feedback_dialog_link").css("color","gray");
$("#feedback_dialog_link").css("text-decoration","none");
$("#feedback_dialog_link").css("cursor","default");
$("#feedback_dialog_link").unbind("click");
}
else {
$("#feedback_msg").text(error_message + msg);
}
},
error: function(xmlobj,errdesc,excpobj) {
$("#feedback_msg").text(error_message + "(HTTP " + xmlobj.status + ")");
}
});
}
return false;
},
"Cancel": function() {
$(this).dialog("close");
}
}
});
// Dialog Link
$("#feedback_dialog_link").click(function() {
$("#feedback_dialog").dialog('open');
$("#feedback_msg").text("");
ftarea_updt_fp();
return false;
});
$("#feedback_textarea").keypress(ftarea_updt_fp);
$("#feedback_textarea").keydown(ftarea_updt_fp);
$("#feedback_textarea").keyup(ftarea_updt_fp);
$("#feedback_textarea").change(ftarea_updt_fp);
$("#feedback_textarea").click(ftarea_updt_fp);
});