if (typeof jQuery == "undefined") { alert("The faxControl library requires jQuery. Please ensure that it is loaded first"); }
var faxControlPlaceholder = " Fax Recipients:
Loading fax options..
";
var faxControlFaxButton = "";
var faxControlFaxSaveButton = "";
var faxControlMemoryInput = "";
var faxControl = {
initialize: function () {
var placeholder = jQuery("#faxControl");
if (placeholder == null || placeholder.size() == 0) {
if (jQuery(".DoNotPrint").size() > 0) {
placeholder = jQuery("
");
jQuery(".DoNotPrint").append(placeholder);
}
else {
alert("Missing placeholder please ensure a div with the id faxControl or a div with class DoNotPrint exists on the page.");
return;
}
}
var demoNo ="";
demoNo = getSearchValue("demographic_no");
if (demoNo == "") { demoNo = getSearchValue("efmdemographic_no", jQuery("form").attr('action')); }
placeholder.html(faxControlPlaceholder);
$.ajax({
url:"../eform/efmformfax_form.jsp",
data:"demographicNo=" + demoNo,
success: function(data) {
if (data == null || data.trim() == "") {
placeholder.html("");
alert("Error loading fax control, please contact an administrator.");
}
else {
placeholder.html(data);
var buttonLocation = jQuery("input[name='SubmitButton']");
if (buttonLocation.size() != 0) {
buttonLocation = jQuery(buttonLocation[buttonLocation.size() -1]);
jQuery(faxControlFaxButton).insertAfter(buttonLocation);
jQuery(faxControlFaxSaveButton).insertAfter(buttonLocation);
jQuery(faxControlMemoryInput).insertAfter(buttonLocation);
}
else {
buttonLocation = jQuery(".DoNotPrint");
if (buttonLocation == null || buttonLocation.size() == 0) {
buttonLocation = jQuery(jQuery("form")[0]);
}
if (buttonLocation != null) {
buttonLocation.append(jQuery(faxControlFaxButton));
buttonLocation.append(jQuery(faxControlFaxSaveButton));
buttonLocation.append(jQuery(faxControlMemoryInput));
}
}
if (buttonLocation == null) { alert("Unable to find form or save button please check this is a proper eform."); return; }
updateFaxButton();
}
}
});
}
};
jQuery(document).ready(function() {
faxControl.initialize();
});
function getSearchValue(name, url)
{
if (url == null) { url = window.location.href; }
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regexS = "[\\?&]"+name+"=([^]*)";
var regex = new RegExp(regexS);
var results = regex.exec(url);
if (results == null) { return ""; }
else { return results[1]; }
}
function AddOtherFaxProvider() {
var selected = jQuery("#otherFaxSelect option:selected");
_AddOtherFax(selected.text(),selected.val());
}
function AddOtherFax() {
var number = jQuery("#otherFaxInput").val();
if (checkPhone(number)) {
_AddOtherFax(number,number);
}
else {
alert("The fax number you entered is invalid.");
}
}
function _AddOtherFax(name, number) {
//if (name == "" || number == "") { alert("Invalid recipient"); return; }
var remove = "remove";
var html = "
"+name+", Fax No: "+number+ " " +remove+"
";
jQuery("#faxRecipients").append(jQuery(html));
updateFaxButton();
}
function checkPhone(str)
{
var phone = /^((\+\d{1,3}(-| )?\(?\d\)?(-| )?\d{1,5})|(\(?\d{2,6}\)?))(-| )?(\d{3,4})(-| )?(\d{4})(( x| ext)\d{1,5}){0,1}$/;
if (str.match(phone)) {
return true;
} else {
return false;
}
}
function removeRecipient(element) {
var el = jQuery(element);
if (el) { el.parent().remove(); updateFaxButton(); }
else { alert("Unable to remove recipient."); }
}
function updateFaxButton() {
var disabled = !hasFaxNumber();
document.getElementById("fax_button").disabled = disabled;
document.getElementById("faxSave_button").disabled = disabled;
}
function hasFaxNumber() {
return jQuery("#faxRecipients").children().size() > 0;
}
function submitFaxButtonAjax(save) {
document.getElementById('faxEForm').value=true;
var saveHolder = jQuery("#saveHolder");
if (saveHolder == null || saveHolder.size() == 0) {
jQuery("form").append("");
}
saveHolder = jQuery("#saveHolder");
saveHolder.val(!save);
needToConfirm=false;
if (document.getElementById('Letter') == null) {
jQuery("form").submit();
}
else {
var form = $("form[name='RichTextLetter']");
form.attr("target", "_blank");
document.getElementById('Letter').value=editControlContents('edit');
$.ajax({
type: "POST",
url: form.attr("action"),
data: form.serialize(),
success: function() {
alert("Fax sent successfully");
if (save) { window.close(); }
},
error: function() {
alert("An error occured while attempting to send your fax, please contact an administrator.");
}
});
}
document.getElementById('faxEForm').value=false;
}