// remote scripting library
// (c) copyright 2005 modernmethod, inc
var sajax_debug_mode = false;
var sajax_request_type = "POST";
var sajax_target_id = "";
var sajax_failure_redirect = "";
function sajax_debug(text) {
if (sajax_debug_mode)
alert(text);
}
function sajax_init_object() {
sajax_debug("sajax_init_object() called..")
var A;
var msxmlhttp = new Array(
'Msxml2.XMLHTTP.5.0',
'Msxml2.XMLHTTP.4.0',
'Msxml2.XMLHTTP.3.0',
'Msxml2.XMLHTTP',
'Microsoft.XMLHTTP');
for (var i = 0; i < msxmlhttp.length; i++) {
try {
A = new ActiveXObject(msxmlhttp[i]);
} catch (e) {
A = null;
}
}
if(!A && typeof XMLHttpRequest != "undefined")
A = new XMLHttpRequest();
if (!A)
sajax_debug("Could not create connection object.");
return A;
}
var sajax_requests = new Array();
function sajax_cancel() {
for (var i = 0; i < sajax_requests.length; i++)
sajax_requests[i].abort();
}
function sajax_do_call(func_name, args) {
var i, x, n;
var uri;
var post_data;
var target_id;
sajax_debug("in sajax_do_call().." + sajax_request_type + "/" + sajax_target_id);
target_id = sajax_target_id;
if (typeof(sajax_request_type) == "undefined" || sajax_request_type == "")
sajax_request_type = "GET";
uri = "/inc/mcp.js.php";
if (sajax_request_type == "GET") {
if (uri.indexOf("?") == -1)
uri += "?rs=" + escape(func_name);
else
uri += "&rs=" + escape(func_name);
uri += "&rst=" + escape(sajax_target_id);
uri += "&rsrnd=" + new Date().getTime();
for (i = 0; i < args.length-1; i++)
uri += "&rsargs[]=" + escape(args[i]);
post_data = null;
}
else if (sajax_request_type == "POST") {
post_data = "rs=" + escape(func_name);
post_data += "&rst=" + escape(sajax_target_id);
post_data += "&rsrnd=" + new Date().getTime();
for (i = 0; i < args.length-1; i++)
post_data = post_data + "&rsargs[]=" + escape(args[i]);
}
else {
alert("Illegal request type: " + sajax_request_type);
}
x = sajax_init_object();
if (x == null) {
if (sajax_failure_redirect != "") {
location.href = sajax_failure_redirect;
return false;
} else {
sajax_debug("NULL sajax object for user agent:\n" + navigator.userAgent);
return false;
}
} else {
x.open(sajax_request_type, uri, true);
// window.open(uri);
sajax_requests[sajax_requests.length] = x;
if (sajax_request_type == "POST") {
x.setRequestHeader("Method", "POST " + uri + " HTTP/1.1");
x.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
}
x.onreadystatechange = function() {
if (x.readyState != 4)
return;
sajax_debug("received " + x.responseText);
var status;
var data;
var txt = x.responseText.replace(/^\s*|\s*$/g,"");
status = txt.charAt(0);
data = txt.substring(2);
if (status == "") {
// let's just assume this is a pre-response bailout and let it slide for now
} else if (status == "-")
alert("Error: " + data);
else {
if (target_id != "")
document.getElementById(target_id).innerHTML = eval(data);
else {
try {
var callback;
var extra_data = false;
if (typeof args[args.length-1] == "object") {
callback = args[args.length-1].callback;
extra_data = args[args.length-1].extra_data;
} else {
callback = args[args.length-1];
}
callback(eval(data), extra_data);
} catch (e) {
sajax_debug("Caught error " + e + ": Could not eval " + data );
}
}
}
}
}
sajax_debug(func_name + " uri = " + uri + "/post = " + post_data);
x.send(post_data);
sajax_debug(func_name + " waiting..");
delete x;
return true;
}
// wrapper for printCalendar
function x_printCalendar() {
sajax_do_call("printCalendar",
x_printCalendar.arguments);
}
// wrapper for viewDay
function x_viewDay() {
sajax_do_call("viewDay",
x_viewDay.arguments);
}
/// Form functions
function swapLabel () {
selectBox = document.forms[0].assignment;
selectedValue = selectBox.options[selectBox.selectedIndex].value;
if (selectedValue == "Collection") {
label = "Images needed by";
}
else {
label = "Shoot date";
}
document.getElementById('formLabel').innerHTML = label;
}
function addFileField () {
x = document.getElementById('file_count').value;
y = x;
y++;
fileField = "artwork_"+x;
document.getElementById(fileField).style.display = 'block';
//newFields = "
";
//document.getElementById(fileFields).innerHTML = newFields;
document.getElementById('file_count').value = y;
}
function checkEmail () {
var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
email = document.getElementById('email').value;
var message = "";
if (reg.test(email) == false) {
message = "That email address is not valid!
";
}
return message;
}
function validateWeb () {
feedback = "";
if (document.getElementById('title').value == "") {
feedback += "Project Title
";
}
if (document.getElementById('goal').value == "") {
feedback += "Project Goal
";
}
if (document.getElementById('requested').value == "") {
feedback += "Requested By
";
}
if (document.getElementById('email').value == "") {
feedback += "Email
";
}
success = checkValidation(feedback);
return success;
}
function validatePrint () {
feedback = "";
if (document.getElementById('title').value == "") {
feedback += "Project Title
";
}
if (document.getElementById('goal').value == "") {
feedback += "Project Goal
";
}
if (document.getElementById('requested').value == "") {
feedback += "Requested By
";
}
if (document.getElementById('email').value == "") {
feedback += "Email
";
}
if (document.getElementById('quantity').value == "") {
feedback += "Quantity
";
}
if (document.getElementById('color').value == "") {
feedback += "Color
";
}
if (document.getElementById('size').value == "") {
feedback += "Size
";
}
if (document.getElementById('folding').value == "") {
feedback += "Folding
";
}
if (document.getElementById('pages').value == "") {
feedback += "Pages/Panels
";
}
if (document.getElementById('vendor').value == "") {
feedback += "Vendor
";
}
if (document.getElementById('contact').value == "") {
feedback += "Contact
";
}
if (document.getElementById('delivery').value == "") {
feedback += "Delivery
";
}
if (document.getElementById('org').value == "") {
feedback += "ORG#
";
}
success = checkValidation(feedback);
return success;
}
function validatePhoto () {
feedback = "";
if (document.getElementById('title').value == "") {
feedback += "Project Title
";
}
if (document.getElementById('goal').value == "") {
feedback += "Project Goal
";
}
if (document.getElementById('requested').value == "") {
feedback += "Requested By
";
}
if (document.getElementById('email').value == "") {
feedback += "Email
";
}
success = checkValidation(feedback);
return success;
}
function validateVideo (theForm) {
feedback = "";
if (document.getElementById('title').value == "") {
feedback += "Project Title
";
}
if (document.getElementById('goal').value == "") {
feedback += "Project Goal
";
}
if (document.getElementById('requested').value == "") {
feedback += "Requested By
";
}
if (document.getElementById('email').value == "") {
feedback += "Email
";
}
for (i=0; i < theForm.broadcast.length; i++) {
if (theForm.broadcast[i].checked) {
var broadcastChecked = 1;
}
}
if (broadcastChecked != 1) {
feedback += "Is this project for broadcast?
";
}
success = checkValidation(feedback);
return success;
}
function checkValidation (feedback) {
showDialog('');
if (feedback != "") {
message = "The following fields are required!
You must fill them out to submit the Creative Brief.
"+feedback+"
Close";
showDialog(message);
return false;
}
else {
verifyAddress = checkEmail();
if (verifyAddress != "") {
showDialog(verifyAddress);
return false;
}
else {
document.getElementById('dialog').innerHTML = "Please wait while your request is submitted...";
return true;
}
}
}
//Calendar Functions
function calendarJump(month,year) {
x_printCalendar(month,year,updateCal);
}
function viewDay(month,day,year) {
x_viewDay(month,day,year,updateCal);
}
function updateCal(cal) {
document.getElementById("calendar").innerHTML = cal;
}
//Dialog Functions
function showDialog (content) {
self.scrollTo(0,0);
document.getElementById('dialog').innerHTML = content;
document.getElementById('grayout').style.display = 'block';
document.getElementById('dialog').style.display = 'block';
}
function closeDialog () {
document.getElementById('grayout').style.display = 'none';
document.getElementById('dialog').style.display = 'none';
document.getElementById('dialog').innerHTML = '';
}