function submitForm(form) {if (form.fireEvent) {if(form.fireEvent("onsubmit")) {form.submit(); } } else if(form.onsubmit) {if(form.onsubmit(form)) {form.submit(); } } } function bookMarkSite(url,name) {if ($.browser.sie) { // IE window.external.AddFavorite(url, name); } else if ($.browser.mozilla) {window.sidebar.addPanel(name,url,""); } else if ($.browser.opera || $.browser.chrome || $.browser.webkit) {alert("Please press Ctrl+D to bookmark this page."); } else {PopupWindow('bookmarkSite.sdi','BookmarkSite','400','300','no'); } } function checkHTML(field_id) {var field = document.getElementById(field_id); if (field == null) return true;var html = field.value.toString(); if (html.length == 0) return true;var cbox_name = field.name + "_saveanyway";var cbox = document.getElementById(cbox_name); if (cbox != null && cbox.checked) return true;doWaitedXmlHttpRequest('checkHTMLfield.sdi', null, "POST", 'div_id=' + field.name + '_invalid_tags' + '&html=' + encodeURIComponent(html)); var section = document.getElementById(field.name + '_invalid_tags'); if (section == null) {return true;} var tags = req.responseXML.documentElement.getElementsByTagName("invalid_tags"); if (tags.length == 0 || tags[0].firstChild == null) {section.innerHTML = '';return true;} var invalid_tags=tags[0].firstChild.data;help_link = "Click on help to learn why this failed and how to write acceptable HTML.";section.innerHTML = '
' + invalid_tags.toString() + '
Check the box and save again to bypass validation  
' + help_link + '
';return false;} function setCellValue(id, value) {var mycel = document.getElementById(id); if (mycel == null) {alert("setCellValue called with invalid id=" + id); return;} while(mycel.childNodes.length) mycel.removeChild(mycel.childNodes[0]); mycel.appendChild(document.createTextNode(value)); } function getCellValue(id) {var mycel = document.getElementById(id); if (mycel == null) {alert("getCellValue called with invalid id=" + id); return "";} return mycel.firstChild.nodeValue;} function addTableRow(tbl, tbl_extra, row_contents) {addTableRowAt(tbl, tbl_extra, row_contents, -1); } function addTableRowAt(tbl, tbl_extra, row_contents, insert_at_idx) {var row_id="";var tr_end_idx = row_contents.indexOf(">"); var id_idx = row_contents.substring(0,tr_end_idx+1).indexOf("id="); if (id_idx > 0) {row_id = row_contents.substring(0,tr_end_idx+1).substring(id_idx+3); var delim=row_id.substring(0,1); row_id=row_id.substring(1); row_id=row_id.substring(0,row_id.indexOf(delim)); } if(tbl.outerHTML && insert_at_idx == -1 && !($.browser.chrome || $.browser.webkit)) {if($(tbl).children(':first').is('tbody')){$(tbl).children(':first').append(row_contents); }else{$(tbl).append(row_contents); } } else {row_contents = row_contents.substring(tr_end_idx + 1); var idx=row_contents.lastIndexOf(""); row_contents = row_contents.substring(0, idx); var new_row=tbl.insertRow(insert_at_idx); new_row.id=row_id;try {new_row.innerHTML=row_contents;} catch (err) {while (row_contents.indexOf("= 0) {var startidx=row_contents.indexOf(">"); var endidx=row_contents.indexOf(""); var new_td=new_row.insertCell(); var cell_attribs=row_contents.substring(row_contents.indexOf(""); if (idx >= 0) {new_td.colSpan=cell_attribs.substring(0,idx).replace(/['"]/g,''); // strip off quotes } else {new_td.colSpan=cell_attribs.replace(/['"]/g,''); // strip off quotes } } if (cell_attribs.indexOf("align=")>=0) {cell_attribs=cell_attribs.substring(cell_attribs.indexOf("align=")+6); idx=cell_attribs.indexOf(" "); if (idx<0) idx=cell_attribs.indexOf(">"); if (idx >= 0) {new_td.setAttribute("align", cell_attribs.substring(0,idx).replace(/['"]/g,'')); } else {new_td.setAttribute("align", cell_attribs.replace(/['"]/g,'')); } } var cell_contents=row_contents.substring(startidx+1, endidx); new_td.innerHTML=cell_contents;row_contents = row_contents.substring(endidx+5); } } } if (row_id.length > 0 && $("#"+row_id).length > 0) {initDatepicker($("#"+row_id).get(0)); } else {initDatepicker(tbl); } parentResizeInner(); } function fullyQualifiedURL(url) {if (!url) return "";if (url.indexOf('http')>=0) return url;if (url.indexOf('/')!=0) url = '/' + url;return location.protocol + "//" + location.host + url;} function initDatepicker(ele) {var $elements;if (ele) {$elements = $(ele).find("input.datepicker, input.datepicker_if_able"); } else {$elements = $("input.datepicker, input.datepicker_if_able"); } if ($elements.length == 0) return;$elements.datepicker({showOn: "button", buttonImage: fullyQualifiedURL("/crpr/show-calendar.gif"), // must use fully-qualified URL for ACM screen scraper buttonText: "Date Picker", buttonImageOnly: true, dateFormat: 'M d, yy', beforeShow: function(dateText, inst) {$(this).keydown(); } }); if (ele) {$(ele).find("input.datepicker_if_able").datepicker("option", "onAble", true); } else {$("input.datepicker_if_able").datepicker("option", "onAble", true); } } function removeTableRow(tbl, row_index) {if (tbl.rows.length > 0 && row_index < tbl.rows.length) tbl.deleteRow(row_index); parentResizeInner(); } function removeAllTableRows(tbl) {if (tbl != null){while(tbl.rows.length > 0){tbl.deleteRow(0); } } parentResizeInner(); } function allFieldsValid(form){with(form){for(var i=0;i tag. */ var _keep_alive_wait_timer=null;var authtoken=null;function sdiOnLoad(pageAuthToken, tabId, noKeepAlive, isStaffSession) {try {var el = parent.document.getElementById(self.name); if (el && el.className=='content_iframe') {el.style.width="";} } catch (err){} try {initialResize(); } catch (err) {} try {if (typeof(pageAuthToken)!='undefined' && pageAuthToken!=null && pageAuthToken.length > 0) {authtoken = pageAuthToken;for(i=0; i < document.forms.length; i++) {var elem = document.createElement("input"); elem.setAttribute("type", "hidden"); elem.setAttribute("name", "sdireqauth"); elem.setAttribute("value", pageAuthToken); document.forms[i].appendChild(elem); } for (i=0; i < document.links.length; i++) {var link = document.links[i];if (!link.href || link.href.substr(0,11)=="javascript:" || link.href.indexOf(".sdi")<0 || link.href.indexOf("sdireqauth=")>0) continue;if ($.browser.msie) {var inner_html = link.innerHTML;link.href += (link.href.indexOf('?') < 0 ? "?" : "&") + "sdireqauth=" + authtoken;if (inner_html != link.innerHTML) link.innerHTML = inner_html; // Fix display issue when text has '@' (AN-22986) } else {link.href += (link.href.indexOf('?') < 0 ? "?" : "&") + "sdireqauth=" + authtoken;} } } } catch (err) {} try {_keep_alive_wait_timer=setTimeout(function() { _keep_alive_wait_timer = null; }, keep_alive_delay_minutes*60000); for (var i = 0; i < document.forms.length; i++) {var form = document.forms[i];if(!form.action || form.action.length == 0) return;for (var j = 0; j=0) {var version = navigator.userAgent.substring(index).split("/")[1];if(parseFloat(version)>=0.1)FFExtra=32;} try {var list = parent.document.getElementsByTagName('iframe'); for(i=0;i=0) {var version = navigator.userAgent.substring(index).split("/")[1];if(parseFloat(version)>=0.1)FFextraHeight=32;} parentResizeInner(); var list = document.getElementsByTagName('iframe'); for(i=0;i= 0 ? getElementBodyWidth(el) : getBodyWidth(); if (document.documentElement && document.documentElement.offsetWidth && document.documentElement.offsetWidth < content_width) {el.style.width = content_width;} } catch (error) {} } if (el.addEventListener){el.addEventListener("load", readjustIframe, false); el.addEventListener("resize", readjustIframe, false); } else if (el.attachEvent){el.detachEvent("onload", readjustIframe); el.attachEvent("onload", readjustIframe); el.detachEvent("onresize", readjustIframe); el.attachEvent("onresize", readjustIframe); } } function readjustIframe(loadevt) {var crossevt=(window && window.event)? event : loadevt;var iframeroot=(crossevt.currentTarget)? crossevt.currentTarget : crossevt.srcElement;if (iframeroot && typeof(resizeIframe)!='undefined'){resizeIframe(iframeroot.id); } } function resizeIFrameForApp(target_tab_id) {if(!target_tab_id || target_tab_id.length == 0) {var content_nav_frame = findFrame("sdi_main_nav"); if (content_nav_frame) {target_tab_id = content_nav_frame.findContentTabIdForMenu(); } } if (target_tab_id && target_tab_id.length > 0) {try {var el = parent.document.getElementById(target_tab_id + '_content_iframe'); if (!el) el = parent.parent.document.getElementById(target_tab_id + '_content_iframe'); if (el) {el.style.height='100%';el.style.width='100%';el.style.overflow="auto";el.scrolling = "auto";} } catch (err) { } } } function textAreaExpand(img,field){var fld = "";for (var i = 0; i < document.forms.length; i++) {fld = eval("document.forms["+i+"]."+field); if(fld != null){break;} } if(fld.rows<10){img.name="clicked";for (i = 0; i < document.images.length; i++) {var docImg = document.images[i];if(docImg.name==img.name){var imgEnable = document.images[i+1];imgEnable.style.display = '';} } img.name="";} if(fld.rows<100){fld.rows+=10;parentResizeInner(); } } function textAreaContract(img,field){var fld = "";for (var i = 0; i < document.forms.length; i++) {fld = eval("document.forms["+i+"]."+field); if(fld != null){break;} } if(fld.rows>10){fld.rows-=10;parentResizeInner(); } if(fld.rows<10){img.style.display = 'none';img.name="clicked";for (i = 0; i < document.images.length; i++) {var docImg = document.images[i];if(docImg.name==img.name){var imgEnable = document.images[i];imgEnable.style.display = 'none';} } img.name="";} } function toggleDisplay(id){var elem=document.getElementById(id); if (!elem) return;elem.style.display=elem.style.display ? '' : 'none';parentResizeInner(); } function setIframeDisplay(iframe,id,display){if(frames) {var elem=frames(iframe).document.getElementById(id); if(elem)elem.style.display=display ? '' : 'none';} } function setDisplay(elem,display){if (elem && typeof(elem).toLowerCase()=='string') {elem = document.getElementById(elem); } if(!elem) return;elem.style.display=display ? '' : 'none';parentResizeInner(); } function isDisplayed(elem){if (elem && typeof(elem).toLowerCase()=='string') {elem = document.getElementById(elem); } if(!elem) return false;return elem.style.display=='';} function toggleBodyTriangle(id){setBodyTriangle(id,isDisplayed(id + "_body")); } function setBodyTriangle(id,v){setDisplay(id + "_downtriangle",v); setDisplay(id + "_righttriangle",!v); } function toggleGroupBody(id){toggleDisplay(id + "_body"); toggleBodyTriangle(id); } function setGroupBody(id,v){setDisplay(id + "_body",v); setBodyTriangle(id,v); } function setDisabledState(elem, disabled_state){if (elem && typeof(elem).toLowerCase()=='string') {var str = elem;try {elem = document.getElementById(str); } catch(e) {} if (!elem || typeof(elem)=='undefined') {try {elem = document.getElementsByName(str)[0];} catch(e) {} } } if(elem)elem.disabled = disabled_state;} function setDisabledAll(disabled_state) {for (var i = 0; i < document.forms.length; i++) {var form = document.forms[i];for (var j = 0; j 10) {alert("Bank routing number is too long"); routing_number.focus(); return false;} if (account_number.value.length == 0) {alert("Missing bank account number"); account_number.focus(); return false;} if (cardIsMasked(account_number.value) != cardIsMasked(routing_number.value)) {alert("Both the bank account and routing numbers must be specified"); account_number.focus(); return false;} if(cardIsMasked(account_number.value)) {if (account_number.value != account_number.defaultValue || routing_number.value != routing_number.defaultValue) {alert("You cannot modify the bank account or routing numbers without specifying both"); return false;} return true;} wallet_id.value="";_callback_context = new encryptCallbackContext(account_type.form); _callback_context.account_number=account_number;_callback_context.routing_number=routing_number;_callback_context.wallet_id = wallet_id;_callback_context.time = new Date().getTime(); _callback_context.key = maskCard(account_number.value); with (account_type.form) {var modulus = eval(wallet_id.name + "_modulus.value"); var exponent = eval(wallet_id.name + "_exponent.value"); } if (modulus == "error") {alert("A communication error with credit card services is preventing your order from being processed at this time"); _callback_context=null;return false;} if (modulus == "no encrypt") {_callback_context=null;return true;} if (modulus == "localdemo") {account_number.value=maskCard(account_number.value); routing_number.value = maskCard(routing_number.value); wallet_id.value = "Demo AccountID";_callback_context=null;return true;} var request = new AMS.AccountInfo(); request.setAccountType(account_type.value); request.setAccountNumber(account_number.value); request.setBankID(routing_number.value); request.setAccountOwner(holder); request.setModulus(modulus); request.setExponent(exponent); try {var cipher_text = AMS.getCipher(request); if (cipher_text) {_callback_context.timer = setTimeout("walletIDTimeout()", 20*1000); params = 'modulus=' + encodeURIComponent(modulus) + '&cipher_text=' + encodeURIComponent(cipher_text) + '&time=' + _callback_context.time + '&key=' + _callback_context.key + '\n';wallet_req = getAjaxRequest(); doAjaxRequest(wallet_req, "generateAMSAccountID.sdi", walletIDCallback, "POST", params); return false;} else {alert('Cannot encrypt the bank information'); _callback_context=null;return false;} } catch(e) {if (e == "InvalidToken"){alert('Error: the token is invalid. Try again.'); } else if (e == "AccountInfoMessageTooLong"){alert('Error: The input account information message is too long. Try again.'); } _callback_context=null;return false;} } function cleanupCCNumber(cc_number,wallet_id) {try {if (!cc_number || !wallet_id) {return;} with (cc_number.form) {modulus = eval(wallet_id.name + "_modulus.value"); } if (modulus == "no encrypt") {return;} if(!cardIsMasked(cc_number.value)) {cc_number.value = "";} } catch(e) {alert("Cleanup error\n" + e.name + "\n" + e.message); return;} } function encryptCCData(cc_number,cc_expiry,card_type_id,wallet_id,account_holder,account_zip,csc) {try {return doEncryptCCData(cc_number,cc_expiry,card_type_id,wallet_id,account_holder,account_zip,csc); } catch(e) {alert("Error encrypting credit card\n" + e.name + "\n" + e.message); _callback_context=null;return false;} } function doEncryptCCData(cc_number,cc_expiry,card_type_id,wallet_id,account_holder,account_zip,csc) {if (_callback_context!=null) {alert("Busy encrypting credit card, please try again"); return false;} if (!cc_number || !cc_expiry || !account_holder || (typeof account_zip == 'undefined') || !wallet_id) {alert("Missing parameter to encryptCCData method"); return false;} if (typeof(csc)=='undefined' || csc==null || emptyField(csc) || csc.disabled) {csc = null;} if (emptyField(cc_number)) {alert("Please enter a card number"); cc_number.focus(); return false;} if(empty(cc_expiry,"Card Expiration")) return false;if(!validExpiry(cc_expiry,"Card Expiration")) return false;holder = account_holder.form ? account_holder.value : account_holder;if (holder.length == 0) {alert("Missing account holder"); if (account_holder.form) account_holder.focus(); return false;} zip = account_zip.form ? account_zip.value : account_zip;if(cardIsMasked(cc_number.value)) {if (cc_number.value != cc_number.defaultValue) {alert("You cannot modify the credit card number without specifying the entire number"); return false;} if (csc != null && csc.value!= "sss" && csc.defaultValue!="sss") {alert("Both the security code and the credit card number must be specified"); return false;} /* if (cc_expiry.value != cc_expiry.defaultValue || (account_zip.form && account_zip.value != account_zip.defaultValue)) {alert("debugging: have wallet id but expiry or zip changed"); } */ if (wallet_id.value != "Demo AccountID") {if (cc_expiry.value != cc_expiry.defaultValue || (account_zip.form && account_zip.value != account_zip.defaultValue)) {_callback_context = new encryptCallbackContext(cc_number.form); _callback_context.cc_expiry=cc_expiry;_callback_context.account_zip=account_zip;_callback_context.wallet_id = wallet_id;_callback_context.timer = setTimeout("walletUpdateTimeout()", 30*1000); wallet_update_req = getAjaxRequest(); doAjaxRequest(wallet_update_req, "walletUpdateFunction.sdi?wallet_id=" + encodeURIComponent(wallet_id.value) + "&cc_expiry=" + cc_expiry.value + "&account_zip=" + zip, walletUpdateCallback, 'GET', ''); return false;} } return true;} wallet_id.value="";card_type_name=null;card_validation=0;type_to_check = 0;if (card_type_id != null) {type_to_check = card_type_id.form ? card_type_id.value : card_type_id;} if (type_to_check>0) {for(i=0;i