var track = {
moduleHelpDialog:function(moduleUrl,menubar){
track.openDialog(moduleUrl,500,500,menubar);
},
openDialog:function(url,length,width,menubar){
setDomain("fedex.com");
openDialog(url, length, width,"","",menubar);
},
setElementValue:function(elementId,value)
{
var obj = document.getElementById(elementId);
if (framework.util.isUndefinedOrNull(obj))
return framework.Status.ELEMENT_DOES_NOT_EXIST;
if (track.isElementTypeMatches(obj,framework.InputElementType.CHECKBOX)  ||
track.isElementTypeMatches(obj,framework.InputElementType.RADIO)) {
obj.checked=value;
} else if (track.isElementTypeMatches(obj,framework.InputElementType.SELECT_ONE)){
for (var i=0; i<obj.options.length; ++i) {
if (obj.options[i].value == value) {
obj.selectedIndex = i;
break;
}
}
if (i==obj.options.length) {
obj.selectedIndex = 0;
}
} else {
obj.value=value;
}
return framework.Status.SUCCESS;
},
getElementValue:function(elementId)
{
var obj = document.getElementById(elementId);
if (framework.util.isUndefinedOrNull(obj))
return framework.Status.ELEMENT_DOES_NOT_EXIST;
return obj.value;
},
isChecked:function(elementId)
{
var obj = document.getElementById(elementId);
if (framework.util.isUndefinedOrNull(obj))
return false;
if (track.isElementTypeMatches(obj,framework.InputElementType.CHECKBOX)  ||
track.isElementTypeMatches(obj,framework.InputElementType.RADIO)) {
return obj.checked;
}
return false;
},
clearElementValue:function(elementId)
{
var obj = document.getElementById(elementId);
if (framework.util.isUndefinedOrNull(obj))
return framework.Status.ELEMENT_DOES_NOT_EXIST;
if (track.isElementTypeMatches(obj,framework.InputElementType.CHECKBOX)  ||
track.isElementTypeMatches(obj,framework.InputElementType.RADIO)) {
obj.checked=false;
} else if (track.isElementTypeMatches(obj,framework.InputElementType.TEXT) ||
track.isElementTypeMatches(obj,framework.InputElementType.TEXTAREA)) {
obj.value="";
} else if (track.isElementTypeMatches(obj,framework.InputElementType.SELECT_ONE)){
obj.selectedIndex=0;
} else {
return framework.Status.INVALID_ELEMENT_TYPE;
}
return framework.Status.SUCCESS;
},
clearValues:function(node,listElementIds){
for (var i = 0; i < listElementIds.length; i++) {
track.clearValues(node + "." + listElementIds[i]);
}
},
isElementTypeMatches:function(obj,elementType)
{
if ( obj.type == elementType)
return true;
return false;
},
addHiddenVar:function(theForm, hiddenName, hiddenValue)
{
var newHiddenVar = document.createElement('INPUT');
newHiddenVar.name = hiddenName;
newHiddenVar.id = hiddenName;
newHiddenVar.value = hiddenValue;
newHiddenVar.type = 'HIDDEN';
theForm.appendChild(newHiddenVar);
},
isNumeric:function(value)
{
var numericExp = /^[0-9]+$/;
if(value.match(numericExp)){
return true;
} else {
return false;
}
},
validatePhoneNo:function(val){
if (val == "")
return false;
var count = 0;
for(var i=0;i<val.length;i++){
if(track.isNumeric(val.charAt(i)))
count++;
}
if(count == 10)
return true;
return false;
},
isEmailFormatAllowed:function(email) {
var maxEmailLength = 80;
var minEmailLength = 7;
var minDomainLength = 5;
var emailLength = email.length;
var domainLength = emailLength - email.indexOf("@") - 1;
var invalidTwoDot = email.indexOf("..", 0);
var invalidSpace = email.indexOf(" ");
var invalidComma = email.indexOf(",");
var invalidColon = email.indexOf(":");
var invalidSemiColon = email.indexOf(";");
var invalidLeftParen = email.indexOf("(");
var invalidRightParen = email.indexOf(")");
var atPos = email.indexOf("@", 1);
var localDotStart = email.indexOf(".", 0);
var localDotEnd = email.indexOf(".", atPos - 1);
var REGEX_EMAIL_FORMAT = new RegExp("^([^@\\s]+)@([\\w-]+\\.)([\\w-]+)(\\.\\w+)*$");
if(emailLength <= maxEmailLength
&& emailLength >= minEmailLength
&& domainLength >= minDomainLength
&& invalidTwoDot == -1
&& invalidSpace == -1
&& invalidComma == -1
&& invalidColon == -1
&& invalidSemiColon == -1
&& invalidLeftParen == -1
&& invalidRightParen == -1
&& localDotStart != 0
&& localDotEnd != atPos - 1 ) {
return REGEX_EMAIL_FORMAT.test(email);
}
else {
return false;
}
return;
},
isNetscapeBrowser:function (event) {
var gecko = (!!String.prototype.__defineGetter__ && !!window.crypto);
var isNetscape = false;
if (gecko)
{
if ((navigator.userAgent.indexOf("Firefox") != -1) &&
(navigator.userAgent.indexOf("Flock") == -1))
{
isNetscape = false;
}
else if (navigator.userAgent.indexOf("Netscape") != -1)
{
if (!!window.content && !!document.compatMode)
{
isNetscape = true;
}
}
}
return isNetscape;
},
logWSS:function(event)
{
if (!framework.util.isUndefinedOrNull(_hbLink)){
_hbLink(this.id, null);
}
}
};
function launchSelectedTab()
{
location = tabToOpen;
}
function navToHelpThisPage(event) {
track.moduleHelpDialog(helplink,false);
}
function doPrintableVersion(event) {
track.moduleHelpDialog(printActionUrl,true);
}
function createCookie(name,value,days)
{
if (days)
{
var date = new Date();
date.setTime(date.getTime() + (days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else var expires = "";
document.cookie = name+"="+escape(value)+expires+"; path=/;";
}
function readCookie(name)
{
var nameEQ = name + "=";
var ca = document.cookie.split(';');
var result = "";
for(var i=0;i < ca.length;i++)
{
var c = ca[i];
while (c.charAt(0)==' ')
{
c = c.substring(1,c.length);
}
if (c.indexOf(nameEQ) == 0)
{
result = unescape(c.substring(nameEQ.length,c.length));
}
if (result == "undefined")
{
result = "";
}
}
return result;
}
function removeCookie(name)
{
createCookie(name, "", -1);
}
function getCookieValue(cookiename) {
cookievalue = readCookie(cookiename);
if (cookievalue == null || cookievalue == "undefined") {
cookievalue = "";
}
return cookievalue;
}
function disable_it(control)
{
(control)?control.disabled=true:false;
return true;
}
function enable_it(control)
{
(control)?control.disabled=false:false;
return true;
}
function disable_id(control)
{
var inId = document.getElementById(control);
if (inId.disabled==false)
{
inId.disabled=true;
}
return true;
}
function enable_id(control)
{
var inId = document.getElementById(control);
if (inId.disabled==true)
{
inId.disabled=false;
}
return true;
}
function isItEnabled(control)
{
var retval = control.disabled;
retval = !retval;
return retval;
}
function set_button(check, control )
{
if (check)
{
enable_it(control);
}
else
{
disable_it(control);
}
return check;
}
function on_load()
{
if (document.sendNotification)
{
if (document.sendNotification.terms1.checked)
{
enable_it(document.sendNotification.submit);
}
else
{
disable_it(document.sendNotification.submit);
}
}
if (document.sendMail)
{
if (document.sendMail.terms1.checked)
{
enable_it(document.sendMail.submit);
}
else
{
disable_it(document.sendMail.submit);
}
}
checkMOTcookie();
checkKinkosTracking();
if (typeof(checkOneSpodBox) != 'undefined')
{
checkOneSpodBox();
}
if (typeof(checkOneMultipieceSpodBox) != 'undefined')
{
checkOneMultipieceSpodBox();
}
if (typeof(spodLetterPopup) != 'undefined')
{
popupSpodLetter();
}
return true;
}
function on_unload()
{
if (apptype == null || apptype == "")
return;
if (unloadit == true) {
var MOTCookieName = apptype + "MOT";
var MOTCookie = readCookie(MOTCookieName);
if (MOTCookie == '2')
{
track.openDialog('/Tracking/' + apptype + 'MOT?apptype=' + apptype + sessionurl, 395, 395, false);
}
}
return true;
}
function checkMOTcookie()
{
var threshold = 0.0;
if (typeof(apptype) == 'undefined')
{
return;
}
if (apptype == "")
return;
if (apptype == "wtrk")
{
if (!document.wtrkMOTinvite)
return;
threshold = wtrkMOTinvite;
}
var MOTCookieName = apptype + "MOT";
var MOTCookie = readCookie(MOTCookieName);
if (MOTCookie == null || MOTCookie == "")
{
var randtest = Math.random();
if (randtest < threshold)
{
createCookie(MOTCookieName, "1", 90);
}
else
{
createCookie(MOTCookieName, "0", 90);
}
}
}
function checkKinkosTracking()
{
var kinkosTracknumbers = "";
if (kinkosTracknumbers.length > 0)
{
var kinkosURL = "http://tracking.fedexkinkos.com/trackOrder.do?gtns=";
kinkosURL += kinkosTracknumbers
track.moduleHelpDialog(kinkosURL,true);
}
}
function handleErrors(objectId){
errors = null;
errors = objectId.trackMessages;
if (!framework.util.isUndefinedOrNull(errors))
handlePageErrors("pageLevel");
}
function handlePageErrors(pageTopID) {
for(var errDiv in errors) {
var elem = document.getElementById(errDiv);
if (!framework.util.isUndefinedOrNull(elem)) {
var errDivSplit = errDiv.split(".");
if (errDivSplit.length>1 && !framework.util.isUndefinedOrNull(window.errorHandlers)) {
var errHandler = errorHandlers[errDivSplit[0]];
if (!framework.util.isUndefinedOrNull(errHandler)) {
errHandler(errDivSplit);
}
}
if(elem.style.display == "none" || elem.style.display == "")
elem.style.display = "block";
var innerVal = elem.innerHTML;
var errorVal = errors[errDiv];
innerVal = innerVal.trim();
errorVal = errorVal.trim();
if(innerVal.indexOf(errorVal) < 0)
elem.innerHTML += errors[errDiv];
}
else {
if (errDiv != "track.primary.error")
alarm(errDiv+":"+errors[errDiv], pageTopID);
}
}
}
function fdxdate(dateString)
{
this.jsDate = new Date(Date.parse(dateString));
this.offsetChanged = false;
this.toFDXString = fdx_toFDXString;
this.toFDXStringNoTime = fdx_toFDXStringNoTime;
this.toFDX24Hour = fdx_toFDX24Hour;
this.toFDX24HourNoTime = fdx_toFDX24HourNoTime;
this.changeGMTOffset = fdx_changeGMTOffset;
this.toMMDDYYYY24Hour = fdx_toMMDDYYYY24Hour;
this.toMMDDYYYY24HourNoTime = fdx_toMMDDYYYY24HourNoTime;
this.months = [ "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ];
}
function fdx_changeGMTOffset(gmtOffset)
{
this.offsetChanged = true;
var newOffset = "";
if (gmtOffset != null && gmtOffset != "")
{
if (gmtOffset.match(/^\+/))
{
newOffset = gmtOffset.replace(/^\+/, "-");
}
else if (gmtOffset.match(/^-/))
{
newOffset = gmtOffset.replace(/^-/, "+");
}
gmtOffset = gmtOffset.replace(/^\+/, "-");
}
var newDate = this.jsDate.toGMTString() + " " + newOffset;
var WebCore = (!!document.implementation &&
!!document.implementation.createHTMLDocument &&
!document.fileCreatedDate &&
!!window.XMLHttpRequest &&
!window.opera);
if (WebCore)
{
if (navigator.vendor.indexOf("Apple") != -1)
{
var newDate = this.jsDate.toGMTString() + newOffset;
}
}
this.jsDate = new Date(Date.parse(newDate));
}
function fdx_toFDX24Hour()
{
var out = "";
var month = 0;
var date = "";
var year = "";
var hours = 0;
var minutes = 0;
if (this.offsetChanged == true)
{
month = this.jsDate.getUTCMonth();
date = this.jsDate.getUTCDate();
year = this.jsDate.getUTCFullYear();
hours = this.jsDate.getUTCHours();
minutes = this.jsDate.getUTCMinutes();
}
else
{
month = this.jsDate.getMonth();
date = this.jsDate.getDate();
year = this.jsDate.getFullYear();
hours = this.jsDate.getHours();
minutes = this.jsDate.getMinutes();
}
out += this.months[month];
out += " ";
out += date + ", " + year + " ";
if (hours < 10)
{
out += "0";
}
out += hours;
out += ":";
if (minutes < 10)
out += "0";
out += minutes;
return out;
}
function fdx_toFDX24HourNoTime()
{
var out = "";
var month = 0;
var date = "";
var year = "";
if (this.offsetChanged == true)
{
month = this.jsDate.getUTCMonth();
date = this.jsDate.getUTCDate();
year = this.jsDate.getUTCFullYear();
}
else
{
month = this.jsDate.getMonth();
date = this.jsDate.getDate();
year = this.jsDate.getFullYear();
}
out += this.months[month];
out += " ";
out += date + ", " + year;
return out;
}
function fdx_toFDXString()
{
var out = "";
var ampm = "";
var month = 0;
var date = "";
var year = "";
var hours = 0;
var minutes = 0;
if (this.offsetChanged == true)
{
month = this.jsDate.getUTCMonth();
date = this.jsDate.getUTCDate();
year = this.jsDate.getUTCFullYear();
hours = this.jsDate.getUTCHours();
minutes = this.jsDate.getUTCMinutes();
}
else
{
month = this.jsDate.getMonth();
date = this.jsDate.getDate();
year = this.jsDate.getFullYear();
hours = this.jsDate.getHours();
minutes = this.jsDate.getMinutes();
}
out += this.months[month];
out += " ";
out += date + ", " + year + " ";
if (hours > 12)
{
out += hours - 12;
ampm = "PM";
}
else if (hours == 0)
{
out += hours + 12;
ampm = "AM";
}
else
{
out += hours;
if (hours == 12)
{
ampm = "PM";
}
else
{
ampm = "AM";
}
}
out += ":";
if (minutes < 10)
out += "0";
out += minutes + " " + ampm;
return out;
}
function fdx_toFDXStringNoTime()
{
var out = "";
var ampm = "";
var month = 0;
var date = "";
var year = "";
if (this.offsetChanged == true)
{
month = this.jsDate.getUTCMonth();
date = this.jsDate.getUTCDate();
year = this.jsDate.getUTCFullYear();
}
else
{
month = this.jsDate.getMonth();
date = this.jsDate.getDate();
year = this.jsDate.getFullYear();
}
out += this.months[month];
out += " ";
out += date + ", " + year;
return out;
}
function fdx_toMMDDYYYY24Hour()
{
var out = "";
var newdate = new fdxdate(this.toFDX24Hour());
var month = 0;
var date = "";
var year = "";
var hours = 0;
var minutes = 0;
month = newdate.jsDate.getMonth() + 1;
date = newdate.jsDate.getDate();
year = newdate.jsDate.getFullYear();
hours = newdate.jsDate.getHours();
minutes = newdate.jsDate.getMinutes();
if (month < 10)
{
out += "0";
}
out += month + "/";
if (date < 10)
{
out += "0";
}
out += date + "/";
out += year + " ";
if (hours < 10)
{
out += "0";
}
out += hours;
out += ":";
if (minutes < 10)
out += "0";
out += minutes;
return out;
}
function fdx_toMMDDYYYY24HourNoTime()
{
var out = "";
var newdate = new fdxdate(this.toFDX24HourNoTime());
var month = 0;
var date = "";
var year = "";
month = newdate.jsDate.getMonth() + 1;
date = newdate.jsDate.getDate();
year = newdate.jsDate.getFullYear();
if (month < 10)
{
out += "0";
}
out += month + "/";
if (date < 10)
{
out += "0";
}
out += date + "/";
out += year;
return out;
}
function doOpenTerms(event)
{
openTerms(spodTermsUrl);
event.preventDefault();
}
function openTerms(url) {
window.open(url, 'openit', 'location=no,width=415,height=415,scrollbars=1,resizable=1,menubar=1');
return false;
}
function textDecorate(id, styleString)
{
var element = document.getElementById(id);
if (typeof(element) != 'undefined')
{
element.style.textDecoration = styleString;
}
}
function fontWeight(id, styleString)
{
var element = document.getElementById(id);
if (typeof(element) != 'undefined')
{
element.style.fontWeight = styleString;
}
}
function grayout(element)
{
element.style.backgroundColor = "";
element.style.color = "";
element.disabled = true;
}
function buttonpurple(element)
{
element.style.backgroundColor = "#660099";
element.style.color = "#FFFFFF";
element.disabled = false;
}
function html_unic(str) {
nc = "";
for (i = 0; i < str.length; i++) {
s = str.substr(i, 8);
if (arr = s.match(/^&#[0-9]+;/)) {
c = arr[0].replace(/[&#;]/g, "");
c = dec2hex(c);
c = "%u" + c;
c = c.replace(/^%u00/, "%");
i += arr[0].length - 1;
} else {
c = str.charAt(i);
};
nc += c;
};
return unescape(nc);
}
var Nav4 = ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) == 4));
var dialogWin = new Object()
function checkModal()
{
setTimeout("finishChecking()", 50)
return true
}
function finishChecking()
{
if (dialogWin.win && !dialogWin.win.closed)
{
dialogWin.win.focus()
}
}
function openWin(howto)
{
howto = track.openDialog(howto,500,500,false);
return false;
}
function openDialog(url, height, width, returnFunc, args, menubar)
{
if (!dialogWin.win || (dialogWin.win && dialogWin.win.closed))
{
dialogWin.returnFunc = returnFunc
dialogWin.returnedValue = ""
dialogWin.args = args
dialogWin.url = url
dialogWin.width = width
dialogWin.height = height
dialogWin.name = "dialog"
if (Nav4)
{
dialogWin.left = window.screenX +
((window.outerWidth - dialogWin.width) / 2)
dialogWin.top = window.screenY +
((window.outerHeight - dialogWin.height) / 2 - 20)
var attr = "scrollbars=yes,status=yes,screenX=" + dialogWin.left +
",screenY=" + dialogWin.top + ",resizable=yes,width=" +
dialogWin.width + ",height=" + dialogWin.height
}
else
{
dialogWin.left = (screen.width - dialogWin.width) / 2
dialogWin.top = ((screen.height - dialogWin.height) / 2 - 30);
var attr = "scrollbars=yes,status=yes,left=" + dialogWin.left + ",top=" +
dialogWin.top + ",resizable=yes,width=" + dialogWin.width +
",height=" + dialogWin.height
}
if (menubar)
{
attr = "menubar=yes,toolbar=yes," + attr;
}
dialogWin.win=window.open(dialogWin.url, dialogWin.name, attr)
if (!dialogWin.win) {
alarm("Popups blocked!");
}
}
else
{
dialogWin.win.focus()
}
}
function openMultiDialog(url, height, width, returnFunc, args)
{
if (!dialogWin.win || (dialogWin.win && dialogWin.win.closed))
{
dialogWin.returnFunc = returnFunc
dialogWin.returnedValue = ""
dialogWin.args = args
dialogWin.url = url
dialogWin.width = width
dialogWin.height = height
dialogWin.name = (new Date()).getSeconds().toString();
if (Nav4)
{
dialogWin.left = window.screenX +
((window.outerWidth - dialogWin.width) / 2)
dialogWin.top = window.screenY +
((window.outerHeight - dialogWin.height) / 2 - 20)
var attr = "scrollbars=yes,status=yes,screenX=" + dialogWin.left +
",screenY=" + dialogWin.top + ",resizable=yes,width=" +
dialogWin.width + ",height=" + dialogWin.height
}
else
{
dialogWin.left = (screen.width - dialogWin.width) / 2
dialogWin.top = ((screen.height - dialogWin.height) / 2 - 30);
var attr = "scrollbars=yes,status=yes,left=" + dialogWin.left + ",top=" +
dialogWin.top + ",resizable=yes,width=" + dialogWin.width +
",height=" + dialogWin.height
}
dialogWin.win=window.open(dialogWin.url, dialogWin.name, attr)
if (!dialogWin.win || !dialogWin.win.focus()) {
alarm("Popups blocked!");
}
}
else
{
dialogWin.win.focus()
}
}
function bodyOnClick() {
checkModal();
}
function bodyOnFocus() {
return checkModal();
}
function setDomain(newDomain) {
var isDomainSet = false;
var message = "Current domain=";
try
{
message += document.domain;
document.domain=newDomain;
isDomainSet = true;
}
catch( x) {
message += x.message;
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserAccess");
isDomainSet = true;
}
catch( x) {
message += " and "+x.message;
}
}
if (isDomainSet == false) {
}
return isDomainSet;
}
function isKinkosOrder(string)
{
if (typeof(string) != 'string')
{
return false;
}
if (string.length != 16)
{
return false;
}
if (string.match(/^\d+$/))
{
return true;
}
return false;
}
function TAtoArray(value)
{
var valueArray = value.split('\n');
var i = 0;
var newArray = new Array();
var arrayOffset = 0;
for(i = 0; i < valueArray.length; i++)
{
valueArray[i] = valueArray[i].replace(/\s/g, "");
if (valueArray[i].length > 0)
{
newArray[arrayOffset] = valueArray[i];
arrayOffset++;
}
}
return newArray;
}
function buildKinkosURL(orderArray)
{
var kinkosURL = "http://tracking.fedexkinkos.com/trackOrder.do?gtns=";
var i = 0;
var wsslist = "";
for (i = 0; i < orderArray.length; i++)
{
kinkosURL += orderArray[i] + "%0D%0A";
if (i < (orderArray.length - 1))
{
wsslist += orderArray[i] + ",";
}
}
kinkosURL += "&hbx.c2=" + wsslist;
return kinkosURL;
}
function openKinkosWindow(destURL)
{
var openWidth = 800;
var openHeight = 600;
var xpos = (screen.width - openWidth)/2;
var ypos = (screen.height - openHeight)/2;
var windowParams = "resizable=yes,scrollbars=yes,status=no,";
windowParams += "height=" + openHeight + ",";
windowParams += "width=" + openWidth + ",";
windowParams += "screenX=" + xpos + ",";
windowParams += "screenY=" + ypos + ",";
windowParams += "left=" + xpos + ",";
windowParams += "top=" + ypos + ",";
if (window.open)
{
window.open(destURL, "KinkosOrderTracking", windowParams);
}
return false;
}
function checkKinkosOrders(textAreaEntries)
{
if (typeof javalocale == 'undefined') {
var cntry = "";
var lang = "";
if (!framework.util.isUndefinedOrNull(document.getElementById("cntry_code"))) {
cntry = document.getElementById("cntry_code").value;
}
if (!framework.util.isUndefinedOrNull(document.getElementById("language"))) {
lang = document.getElementById("language").value;
}
if (cntry.toLowerCase() == "us" && lang.toLowerCase() == "english") {
var javalocale = "en_US";
}
}
if (typeof clienttype == 'undefined') {
if (!framework.util.isUndefinedOrNull(document.getElementById("clienttype"))) {
var clienttype = document.getElementById("clienttype").value;
}
}
if (typeof javalocale == 'undefined' || javalocale != "en_US")
{
return true;
}
if (typeof clienttype == 'undefined' || clienttype == "fsm")
{
return true;
}
var entriesArray = TAtoArray(textAreaEntries);
if (entriesArray == null)
{
return true;
}
var i = 0;
var kinkosnumbers = 0;
var nonkinkos = 0;
for (i = 0; i < entriesArray.length; i++)
{
if (isKinkosOrder(entriesArray[i]))
{
kinkosnumbers++;
}
else
{
nonkinkos++;
}
}
if (kinkosnumbers > 0 && nonkinkos == 0)
{
var newLocation = buildKinkosURL(entriesArray);
openKinkosWindow(newLocation);
return false;
}
else
{
return true;
}
}
