var http_request = http_set_request(); var isDebug = 0; function AJAX_GET_URL(get_url, update_url, response_url) { get_url = url_add_timestamp(get_url); update_url = url_add_timestamp(update_url); if(isDebug) { alert('get_url: ' + get_url); alert('update_url: ' + update_url); alert('response_url: ' + response_url); } http_request.open('get', get_url, true); http_request.onreadystatechange = function() { update_page(update_url, response_url); }; http_request.send(null); } function AJAX_POST_URL(post_url, paramsJavascript, update_url, response_url) { var params = eval(paramsJavascript); post_url = url_add_timestamp(post_url); update_url = url_add_timestamp(update_url); if(isDebug) { alert('post_url: ' + post_url); alert('update_url: ' + update_url); alert('response_url: ' + response_url); alert('params: ' + params); } http_request.open('post', post_url, true); http_request.setRequestHeader('content-type', 'application/x-www-form-urlencoded'); http_request.setRequestHeader('content-length', params.length); http_request.setRequestHeader('connection', 'close'); http_request.onreadystatechange = function() { update_page(update_url, response_url); }; http_request.send(params); } function http_set_request() { try { http_request = new XMLHttpRequest(); } catch(trymicrosoft) { try { http_request = new ActiveXObject("Msxml2.XMLHTTP"); } catch(othermicrosoft) { try { http_request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (failed) { http_request = null; } } } return http_request; } function update_page(update_url, response_url) { if(http_request.readyState === 4) { if(http_request.status === 200) { if(isDebug) { alert('http_request.responseText: ' + http_request.responseText); } if(http_request.responseText) { window.location = response_url; } else { window.location = update_url; } } else { alert('Error! REQUEST status is [' + http_request.status + '].'); } } } function url_add_timestamp(url) { if(url.match(/#.*$/)) { var url_1 = url.match(/^.*#/).toString(); url_1 = url_1.substring(0, url_1.length - 1); var url_2 = url.match(/#.*$/).toString(); if(url_1.match(/.*\?.*/)) url_1 += '&timestamp=' + new Date().getTime(); else url_1 += '?timestamp=' + new Date().getTime(); url = url_1 + url_2; } else { if(url.match(/.*\?.*/)) url += '&timestamp=' + new Date().getTime(); else url += '?timestamp=' + new Date().getTime(); } return url; } function build_select_options(so_label, so_total, i, select_id) { var selectOptionsInput = so_label; for(var j = 1; j <= so_total; j++) { var isInStock = document.getElementById('selectOptions_' + i + '_' + select_id + '_' + j).value; var optionPriceChangeElem = document.getElementById('optionPriceChangeInput_' + i + '_' + select_id + '_' + j); if(optionPriceChangeElem == null) var optionPriceChange = 'null'; else var optionPriceChange = document.getElementById('optionPriceChangeInput_' + i + '_' + select_id + '_' + j).value; var menuChoiceElem = document.getElementById('selectOptions_' + i + '_' + select_id + '_' + j + '_label'); var menuChoice = menuChoiceElem.innerText || menuChoiceElem.textContent; menuChoice = menuChoice.substring(0, menuChoice.length - 1); menuChoice = QUOTE_ENCODE(menuChoice); selectOptionsInput += ' ; ' + isInStock + ' , ' + optionPriceChange + ' , ' + menuChoice; } return selectOptionsInput; } function post_grad_item_edit_level_change(post_url, update_url) { var isEditGradItemName = 0; var isEditGradItemInputs = 0; var gradItemEditLevel = ''; if(document.getElementById('isEditGradItemName').checked) isEditGradItemName = 1; if(document.getElementById('isEditGradItemInputs').checked) isEditGradItemInputs = 1; if(!isEditGradItemName && !isEditGradItemInputs) gradItemEditLevel = 'none'; else if(isEditGradItemName && !isEditGradItemInputs) gradItemEditLevel = 'name-desc-only'; else if(!isEditGradItemName && isEditGradItemInputs) gradItemEditLevel = 'inputs-only'; else gradItemEditLevel = 'all'; var paramsJavascript = "'gradItemEditLevel=' + '" + gradItemEditLevel + "';"; AJAX_POST_URL(post_url, paramsJavascript, update_url, null); } function post_form_grad_item(post_url, update_url, i, itemType, name_id_url_encoded, so1_label, so1_total, so2_label, so2_total, so3_label, so3_total, so4_label, so4_total, so5_label, so5_total, so6_label, so6_total, so7_label, so7_total, so8_label, so8_total, so9_label, so9_total, so10_label, so10_total, so11_label, so11_total, so12_label, so12_total, so13_label, so13_total, so14_label, so14_total, so15_label, so15_total) { name_id_url_encoded = PHP_RAWURLENCODE(name_id_url_encoded); var newNameIdInputElem = document.getElementById('nameIdInput_' + i); if(newNameIdInputElem != null) var newNameIdInput = PHP_RAWURLENCODE(newNameIdInputElem.value); else var newNameIdInput = ''; var descriptionInputElem = document.getElementById('descriptionInput_' + i); if(descriptionInputElem != null) var descriptionInput = PHP_RAWURLENCODE(descriptionInputElem.value); else var descriptionInput = ''; isInStockInput = document.getElementById('isInStock_' + i).value; isInStockInput = encodeURIComponent(isInStockInput); var displayOrderInput = parseInt(document.getElementById('displayOrderInput_' + i).value); displayOrderInput = encodeURIComponent(displayOrderInput); var priceInputElem = document.getElementById('priceInput_' + i); var priceInput = priceInputElem.value; priceInput = encodeURIComponent(priceInput); var qtyPriceInputElem = document.getElementById('qtyPriceInput_' + i); if(qtyPriceInputElem != null) { var qtyPriceInput = qtyPriceInputElem.value; qtyPriceInput = encodeURIComponent(qtyPriceInput); } else { var qtyPriceInput = 'null'; } if(isInStockInput) { if(so1_label != '') { so1_label = decodeURIComponent(so1_label); selectOptions1Input = build_select_options(so1_label, so1_total, i, 1); selectOptions1Input = encodeURIComponent(selectOptions1Input); } else { selectOptions1Input = ''; } if(so2_label != '') { so2_label = decodeURIComponent(so2_label); selectOptions2Input = build_select_options(so2_label, so2_total, i, 2); selectOptions2Input = encodeURIComponent(selectOptions2Input); } else { selectOptions2Input = ''; } if(so3_label != '') { so3_label = decodeURIComponent(so3_label); selectOptions3Input = build_select_options(so3_label, so3_total, i, 3); selectOptions3Input = encodeURIComponent(selectOptions3Input); } else { selectOptions3Input = ''; } if(so4_label != '') { so4_label = decodeURIComponent(so4_label); selectOptions4Input = build_select_options(so4_label, so4_total, i, 4); selectOptions4Input = encodeURIComponent(selectOptions4Input); } else { selectOptions4Input = ''; } if(so5_label != '') { so5_label = decodeURIComponent(so5_label); selectOptions5Input = build_select_options(so5_label, so5_total, i, 5); selectOptions5Input = encodeURIComponent(selectOptions5Input); } else { selectOptions5Input = ''; } if(so6_label != '') { so6_label = decodeURIComponent(so6_label); selectOptions6Input = build_select_options(so6_label, so6_total, i, 6); selectOptions6Input = encodeURIComponent(selectOptions6Input); } else { selectOptions6Input = ''; } if(so7_label != '') { so7_label = decodeURIComponent(so7_label); selectOptions7Input = build_select_options(so7_label, so7_total, i, 7); selectOptions7Input = encodeURIComponent(selectOptions7Input); } else { selectOptions7Input = ''; } if(so8_label != '') { so8_label = decodeURIComponent(so8_label); selectOptions8Input = build_select_options(so8_label, so8_total, i, 8); selectOptions8Input = encodeURIComponent(selectOptions8Input); } else { selectOptions8Input = ''; } if(so9_label != '') { so9_label = decodeURIComponent(so9_label); selectOptions9Input = build_select_options(so9_label, so9_total, i, 9); selectOptions9Input = encodeURIComponent(selectOptions9Input); } else { selectOptions9Input = ''; } if(so10_label != '') { so10_label = decodeURIComponent(so10_label); selectOptions10Input = build_select_options(so10_label, so10_total, i, 10); selectOptions10Input = encodeURIComponent(selectOptions10Input); } else { selectOptions10Input = ''; } if(so11_label != '') { so11_label = decodeURIComponent(so11_label); selectOptions11Input = build_select_options(so11_label, so11_total, i, 11); selectOptions11Input = encodeURIComponent(selectOptions11Input); } else { selectOptions11Input = ''; } if(so12_label != '') { so12_label = decodeURIComponent(so12_label); selectOptions12Input = build_select_options(so12_label, so12_total, i, 12); selectOptions12Input = encodeURIComponent(selectOptions12Input); } else { selectOptions12Input = ''; } if(so13_label != '') { so13_label = decodeURIComponent(so13_label); selectOptions13Input = build_select_options(so13_label, so13_total, i, 13); selectOptions13Input = encodeURIComponent(selectOptions13Input); } else { selectOptions13Input = ''; } if(so14_label != '') { so14_label = decodeURIComponent(so14_label); selectOptions14Input = build_select_options(so14_label, so14_total, i, 14); selectOptions14Input = encodeURIComponent(selectOptions14Input); } else { selectOptions14Input = ''; } if(so15_label != '') { so15_label = decodeURIComponent(so15_label); selectOptions15Input = build_select_options(so15_label, so15_total, i, 15); selectOptions15Input = encodeURIComponent(selectOptions15Input); } else { selectOptions15Input = ''; } } else { selectOptions1Input = ''; selectOptions2Input = ''; selectOptions3Input = ''; selectOptions4Input = ''; selectOptions5Input = ''; selectOptions6Input = ''; selectOptions7Input = ''; selectOptions8Input = ''; selectOptions9Input = ''; selectOptions10Input = ''; selectOptions11Input = ''; selectOptions12Input = ''; selectOptions13Input = ''; selectOptions14Input = ''; selectOptions15Input = ''; } var paramsJavascript = "'name_id_url_encoded=' + '" + name_id_url_encoded + "'" + " + '&newNameId=' + '" + newNameIdInput + "'" + " + '&description=' + '" + descriptionInput + "'" + " + '&itemType=' + '" + itemType + "'" + " + '&isInStockInput=' + '" + isInStockInput + "'" + " + '&displayOrderInput=' + '" + displayOrderInput + "'" + " + '&priceInput=' + '" + priceInput + "'" + " + '&qtyPriceInput=' + '" + qtyPriceInput + "'" + " + '&selectOptions1Input=' + '" + selectOptions1Input + "'" + " + '&selectOptions2Input=' + '" + selectOptions2Input + "'" + " + '&selectOptions3Input=' + '" + selectOptions3Input + "'" + " + '&selectOptions4Input=' + '" + selectOptions4Input + "'" + " + '&selectOptions5Input=' + '" + selectOptions5Input + "'" + " + '&selectOptions6Input=' + '" + selectOptions6Input + "'" + " + '&selectOptions7Input=' + '" + selectOptions7Input + "'" + " + '&selectOptions8Input=' + '" + selectOptions8Input + "'" + " + '&selectOptions9Input=' + '" + selectOptions9Input + "'" + " + '&selectOptions10Input=' + '" + selectOptions10Input + "'" + " + '&selectOptions11Input=' + '" + selectOptions11Input + "'" + " + '&selectOptions12Input=' + '" + selectOptions12Input + "'" + " + '&selectOptions13Input=' + '" + selectOptions13Input + "'" + " + '&selectOptions14Input=' + '" + selectOptions14Input + "'" + " + '&selectOptions15Input=' + '" + selectOptions15Input + "';"; var params = eval(paramsJavascript); AJAX_POST_URL(post_url, paramsJavascript, update_url, null); } function validate_form_grad_item(i, so_total, name_id_url_encoded, item_names_url_encoded) { var newNameInputIdElem = document.getElementById('nameIdInput_' + i); if(newNameInputIdElem != null) { var name_id = PHP_RAWURLDECODE(name_id_url_encoded); var newNameIdInput = QUOTE_ENCODE(newNameInputIdElem.value); var isUniqueItemName = 1; if(newNameIdInput != name_id) { var itemNames = PHP_RAWURLDECODE(item_names_url_encoded); var itemNamesArr = itemNames.split(' , '); for(var j = 0; j < itemNamesArr.length; j++) { if(newNameIdInput == itemNamesArr[j]) { isUniqueItemName = 0; break; } } } if(!isUniqueItemName) { newNameInputIdElem.value = name_id; newNameInputIdElem.focus(); ALERT_GREY_OUT('Please input a UNIQUE PRODUCT NAME'); return false; } else if(newNameInputIdElem != null && newNameInputIdElem.value == '') { newNameInputIdElem.value = ''; newNameInputIdElem.focus(); ALERT_GREY_OUT('Please input PRODUCT NAME'); return false; } } var priceInputElem = document.getElementById('priceInput_' + i); if(priceInputElem.value == '' || isNaN(priceInputElem.value) || priceInputElem.value < 0 || priceInputElem.value > 999.99) { priceInputElem.value = ''; priceInputElem.focus(); ALERT_GREY_OUT('Please input PRICE: 0.00 to 999.99'); return false; } else { priceInputElem.value = PHP_NUMBER_FORMAT(parseFloat(priceInputElem.value), 2); } var qtyPriceInputElem = document.getElementById('qtyPriceInput_' + i); if(qtyPriceInputElem) { if(qtyPriceInputElem.value == '' || isNaN(qtyPriceInputElem.value) || qtyPriceInputElem.value < 0 || qtyPriceInputElem.value > 999.99) { qtyPriceInputElem.value = ''; qtyPriceInputElem.focus(); ALERT_GREY_OUT('Please input ADDITIONAL ITEMS: 0.00 to 999.99'); return false; } else { qtyPriceInputElem.value = PHP_NUMBER_FORMAT(parseFloat(qtyPriceInputElem.value), 2); } } var so_total_arr = so_total.split(', '); for(var select_id = 1, size1 = so_total_arr.length; select_id <= size1; select_id++) { for(var j = 1, size2 = so_total_arr[select_id - 1]; j <= size2; j++) { var optionPriceChangeElem = document.getElementById('optionPriceChangeInput_' + i + '_' + select_id + '_' + j); if(optionPriceChangeElem == null) { continue; } if(optionPriceChangeElem.value == '' || isNaN(optionPriceChangeElem.value) || optionPriceChangeElem.value < -99.99 || optionPriceChangeElem.value > 99.99) { optionPriceChangeElem.value = ''; optionPriceChangeElem.focus(); var optionPriceChangeLabelElem = document.getElementById('selectOptions_' + i + '_' + select_id + '_' + j + '_label'); var optionPriceChangeLabel = optionPriceChangeLabel.innerText || optionPriceChangeLabel.textContent; optionPriceChangeLabel = optionPriceChangeLabel.substring(0, optionPriceChangeLabel.length - 1); ALERT_GREY_OUT('Please input ' + optionPriceChangeLabel.toUpperCase() + ' PRICE ADJUSTMENT: -99.99 to 99.99'); return false; } else { optionPriceChangeElem.value = PHP_NUMBER_FORMAT(parseFloat(optionPriceChangeElem.value), 2); } } } return true; } function cancel_order(adminHost, invoice_id) { var confirmed = CONFIRM_GREY_OUT('Are you sure you want to cancel the order?'); if(confirmed) { var post_url = adminHost + '/process/delete-order.php'; var update_url = adminHost + '/admin/declined-orders.html'; var paramsJavascript = "'invoice_id=' + '" + invoice_id + "';"; AJAX_POST_URL(post_url, paramsJavascript, update_url, null); } } function download_orders(url, is_deposit, is_sms) { var datepickerStart = document.getElementById('datepickerStartInput').value; datepickerStart = datepickerStart.split('/'); var month = datepickerStart[0]; var day = datepickerStart[1]; var year = datepickerStart[2]; datepickerStart = year + '-' + month + '-' + day + ' ' + '00:00:00'; var datepickerEnd = document.getElementById('datepickerEndInput').value; datepickerEnd = datepickerEnd.split('/'); var month = datepickerEnd[0]; var day = datepickerEnd[1]; var year = datepickerEnd[2]; datepickerEnd = year + '-' + month + '-' + day + ' ' + '23:59:59'; var downloadOptions = ''; for(var i = 0; i < document.getElementById('downloadForm').downloadOptions.length; i++) { if(document.getElementById('downloadForm').downloadOptions[i].checked) { if(downloadOptions == '') { downloadOptions += i; } else { downloadOptions += ', ' + i; } } } var sortBy = ''; for(var i = 0; i < document.getElementById('downloadForm').sortBy.length; i++) { if(document.getElementById('downloadForm').sortBy[i].checked) { sortBy = i; break; } } var reportType = get_report_type(); url = url + '?start-date=' + encodeURIComponent(datepickerStart) + '&end-date=' + encodeURIComponent(datepickerEnd) + '&download-options=' + encodeURIComponent(downloadOptions) + '&sort-by=' + sortBy + '&report-type=' + reportType; window.location = url; } function get_report_type(input) { var reportType = ''; for(var i = 0; i < document.getElementById('downloadForm').reportType.length; i++) { if(document.getElementById('downloadForm').reportType[i].checked) { reportType = i; return i; } } } function is_valid_date(input) { input = input.split('/'); var month = (input[0] - 1); var day = input[1]; var year = input[2]; if(isNaN(day) || isNaN(month) || isNaN(year)) { return false; } var date = new Date(year, month, day); return ((day == date.getDate()) && (month == date.getMonth()) && (year == date.getFullYear())); } function filter_processed_time(url) { var filterSelected = document.getElementById('filterInput').options[document.getElementById('filterInput').selectedIndex].value; if(filterSelected == 0) var filter = '7-days'; else if(filterSelected == 1) var filter = '30-days'; else var filter = 'school-year'; url += '?filter=' + filter; window.location = url; } function post_form_search(url, type) { if(type == 'lastName') { var lastName = document.getElementById('filterLastNameInput').value; lastName = lastName.replace(/'/g, '&#039;'); lastName = lastName.replace(/ /g, '&nbsp;'); url += '?last-name=' + encodeURIComponent(lastName); } else { var invoice_id = document.getElementById('filterInvoiceIdInput').value; url += '?invoice-id=' + encodeURIComponent(invoice_id); } window.location = url; } function process_all_orders(adminHost) { var isValidInput = 1; var i = 1; var paymentStateElem = document.getElementById('paymentState_1'); while(paymentStateElem != null) { if(paymentStateElem.value == 'select') { paymentStateElem.focus(); isValidInput = 0; break; } paymentStateElem = document.getElementById('paymentState_' + i); i++; } if(!isValidInput) { ALERT_GREY_OUT('Please ACCEPT or DECLINE all credit card payments first'); } else { document.getElementById('processPrintAllButton').style.display = 'none'; document.getElementById('processingAnimation').style.display = 'inline'; var url = adminHost + '/admin/process-print-orders.html'; window.location = url; } } function process_order(adminHost, i, invoice_id) { var paymentStateElem = document.getElementById('paymentState_' + i); if(paymentStateElem != null && paymentStateElem.value != 'accepted') { paymentStateElem.focus(); ALERT_GREY_OUT('Please ACCEPT the credit card payment first'); return false; } else { var url = adminHost + '/admin/process-print-order.html?invoice-id=' + invoice_id; window.location = url; } } function screen_name(input) { input = input.replace(/^\s+|\s+$/g, ''); input = input.replace(/ +/, ' '); if(input.match(/^[a-zA-Z]+([a-zA-Z '\-\.,]|( & ))*$/)) return input; else return ''; } function update_payment_state_drop_down(labelId, selectId, displayOption, adminHost, invoice_id, itemHash) { var labelIdElem = document.getElementById(labelId); var selectIdElem = document.getElementById(selectId); if(selectIdElem.value == 'accepted') { labelIdElem.className = 'inputOn'; if(displayOption == 'pending') { var post_url = adminHost + '/process/update-order-state.php'; var update_url = adminHost + '/admin/pending-orders.html#' + itemHash; var paramsJavascript = "'invoice_id=' + " + invoice_id + " + '&order_state=accepted';"; AJAX_POST_URL(post_url, paramsJavascript, update_url, null); } } else if(selectIdElem.value == 'declined') { labelIdElem.className = 'inputOff'; var confirmed = CONFIRM_GREY_OUT('Are you sure the payment is declined?'); if(confirmed) { var post_url = adminHost + '/process/update-xinfo.php'; var paramsJavascript = "'invoice_id=' + '" + invoice_id + "'" + " + '&type=declined';"; if(displayOption == 'pending') var update_url = adminHost + '/admin/pending-orders.html#' + itemHash; else if(displayOption == 'prossed') var update_url = adminHost + '/admin/processed-orders.html#' + itemHash; else var update_url = adminHost + '/admin/declined-orders.html#' + itemHash; AJAX_POST_URL(post_url, paramsJavascript, update_url, null); } else { if(displayOption == 'pending') { labelIdElem.className = 'inputBlue'; selectIdElem.value = 'select'; } else if(displayOption == 'prossed') { labelIdElem.className = 'inputOn'; selectIdElem.value = 'accepted'; } else { labelIdElem.className = 'inputOff'; selectIdElem.value = 'declined'; } } } else { labelIdElem.className = 'inputBlue'; } } function update_report(reportType, isDeposit, is_sms) { var sortByIndex, school, firstName, lastName, fullName, email, phone, streetAddr, city, state, zip, total, fullAddr, payment, date, invoice_id, txn_id, cg_details, orderDetails; if(reportType == 'delivery') { sortByIndex = 0; school = fullName = total = invoice_id = orderDetails = 1; firstName = lastName = email = phone = sms = streetAddr = city = state = zip = fullAddr = payment = balance = date = txn_id = cg_details = 0; } else if(reportType == 'shipping') { sortByIndex = 0; school = fullName = fullAddr = 1; firstName = lastName = email = phone = sms = streetAddr = city = state = zip = total = payment = balance = date = invoice_id = txn_id = cg_details = orderDetails = 0; } else if(reportType == 'cg') { sortByIndex = 0; school = firstName = lastName = cg_details = 1; fullName = email = phone = sms = streetAddr = city = state = zip = fullAddr = total = payment = balance = date = invoice_id = txn_id = orderDetails = 0; } else if(reportType == 'sms') { sortByIndex = 0; school = fullName = sms = 1; firstName = lastName = email = phone = streetAddr = city = state = zip = fullAddr = total = payment = balance = date = invoice_id = txn_id = cg_details = orderDetails = 0; } else if(reportType == 'deposit') { sortByIndex = 0; school = fullName = email = phone = total = payment = balance = date = invoice_id = orderDetails = 1; firstName = lastName = sms = streetAddr = city = state = zip = fullAddr = txn_id = cg_details = 0; } else if(reportType == 'declined') { sortByIndex = 0; school = fullName = email = phone = total = date = invoice_id = orderDetails = 1; firstName = lastName = sms = streetAddr = city = state = zip = fullAddr = payment = balance = txn_id = cg_details = 0; } else if(reportType == 'productSales') { sortByIndex = 0; school = total = orderDetails = 1; firstName = lastName = fullName = email = phone = sms = streetAddr = city = state = zip = fullAddr = payment = balance = date = invoice_id = txn_id = cg_details = 0; } else { sortByIndex = -1; school = firstName = lastName = fullName = email = phone = sms = streetAddr = city = state = zip = fullAddr = total = payment = balance = date = invoice_id = txn_id = cg_details = orderDetails = 0; } if(sortByIndex == -1) { document.getElementById('downloadForm').sortBy[0].checked = 1; document.getElementById('downloadForm').sortBy[0].checked = 0; } else { document.getElementById('downloadForm').sortBy[sortByIndex].checked = 1; } var i = 0; document.getElementById('downloadForm').downloadOptions[i++].checked = school; document.getElementById('downloadForm').downloadOptions[i++].checked = firstName; document.getElementById('downloadForm').downloadOptions[i++].checked = lastName; document.getElementById('downloadForm').downloadOptions[i++].checked = fullName; document.getElementById('downloadForm').downloadOptions[i++].checked = email; document.getElementById('downloadForm').downloadOptions[i++].checked = phone; document.getElementById('downloadForm').downloadOptions[i++].checked = sms; document.getElementById('downloadForm').downloadOptions[i++].checked = streetAddr; document.getElementById('downloadForm').downloadOptions[i++].checked = city; document.getElementById('downloadForm').downloadOptions[i++].checked = state; document.getElementById('downloadForm').downloadOptions[i++].checked = zip; document.getElementById('downloadForm').downloadOptions[i++].checked = fullAddr; document.getElementById('downloadForm').downloadOptions[i++].checked = total; document.getElementById('downloadForm').downloadOptions[i++].checked = payment; document.getElementById('downloadForm').downloadOptions[i++].checked = balance; document.getElementById('downloadForm').downloadOptions[i++].checked = date; document.getElementById('downloadForm').downloadOptions[i++].checked = invoice_id; document.getElementById('downloadForm').downloadOptions[i++].checked = txn_id; document.getElementById('downloadForm').downloadOptions[i++].checked = cg_details; document.getElementById('downloadForm').downloadOptions[i++].checked = orderDetails; if(reportType == 'sales' || reportType == 'schoolSales') var disabledStr = 'disabled'; else var disabledStr = ''; for(i = 0; i < document.getElementById('downloadForm').downloadOptions.length; i++) { document.getElementById('downloadForm').downloadOptions[i].disabled = disabledStr; } for(i = 0; i < document.getElementById('downloadForm').sortBy.length; i++) { document.getElementById('downloadForm').sortBy[i].disabled = disabledStr; } } function validate_form_download() { var datepickerStart = document.getElementById('datepickerStartInput').value; if(!is_valid_date(datepickerStart)) { document.getElementById('datepickerStartInput').focus(); document.getElementById('datepickerStartInput').value = ''; ALERT_GREY_OUT('Please ENTER A VALID DATE'); return false; } var datepickerEnd = document.getElementById('datepickerEndInput').value; if(!is_valid_date(datepickerEnd)) { document.getElementById('datepickerEndInput').focus(); document.getElementById('datepickerEndInput').value = ''; ALERT_GREY_OUT('Please ENTER A VALID DATE'); return false; } var startDateArr = datepickerStart.split('/'); var year = startDateArr[2]; var month = startDateArr[0] - 1; month = ('0' + month).slice(-2); var day = startDateArr[1]; var startDate = year + month + day; var endDateArr = datepickerEnd.split('/'); var year = endDateArr[2]; var month = endDateArr[0] - 1; month = ('0' + month).slice(-2); var day = endDateArr[1]; var endDate = year + month + day; if(startDate > endDate) { document.getElementById('datepickerStartInput').focus(); document.getElementById('datepickerStartInput').value = ''; ALERT_GREY_OUT('Please PICK A START DATE <= SELECTED END DATE'); return false; } var reportType = get_report_type(); if(reportType != 7 && reportType != 8) { var isChecked = false; for(var i = 0; i < document.getElementById('downloadForm').downloadOptions.length; i++) { if(document.getElementById('downloadForm').downloadOptions[i].checked) { isChecked = true; break; } } if(!isChecked) { document.getElementById('downloadForm').downloadOptions[0].focus(); ALERT_GREY_OUT('Please SELECT AT LEAST 1 DOWNLOAD OPTION'); return false; } } } function validate_form_search(type) { if(type == 'lastName') { var lastName = document.getElementById('filterLastNameInput').value; if(screen_name(lastName) == '') { document.getElementById('filterLastNameInput').focus(); document.getElementById('filterLastNameInput').value = ''; document.getElementById('filterInvoiceIdInput').value = ''; ALERT_GREY_OUT('Please ENTER LAST NAME'); return false; } } else { var Invoice_id = document.getElementById('filterInvoiceIdInput').value; if(Invoice_id.length == '') { document.getElementById('filterInvoiceIdInput').focus(); document.getElementById('filterLastNameInput').value = ''; document.getElementById('filterInvoiceIdInput').value = ''; ALERT_GREY_OUT('Please ENTER AN INVOICE ID'); return false; } } return true; } function cancel() { window.location.replace('school-info.html'); } function confirm_all_schools(get_url, update_url, type) { var confirmed = CONFIRM_GREY_OUT('Are you sure you want to ' + type + ' all of your schools?'); if(confirmed) { AJAX_GET_URL(get_url, update_url, null); } } function delete_school(name_id_url_encoded, get_url, update_url) { name_id = PHP_RAWURLDECODE(name_id_url_encoded); name_id = name_id.replace(/&#039;/g, "'"); name_id = name_id.replace(/&amp;/g, '&'); var confirmed = CONFIRM_GREY_OUT('Are you sure you want to delete [' + name_id + '] from your database?'); if(confirmed) { AJAX_GET_URL(get_url, update_url, null); } } function post_form_school_info(post_url, update_url, i, name_id_url_encoded, total_ugi) { name_id_url_encoded = PHP_RAWURLENCODE(name_id_url_encoded); var newSchoolNameInputElem = document.getElementById('newSchoolNameInput_' + i); var gradSupplyLinkInput = PHP_RAWURLENCODE(document.getElementById('gradSupplyLinkInput_' + i).value); var newSchoolNameInput = PHP_RAWURLENCODE(document.getElementById('newSchoolNameInput_' + i).value); var taxRateInput = encodeURIComponent(document.getElementById('taxRateInput_' + i).value); var is_cg_input = document.getElementById('is_cg_input_' + i).value; var cg_price_change_input = document.getElementById('cg_price_change_input_' + i).value; var allUniqueGradItemsStr = ''; var itemCount = 0; while(total_ugi > 0) { isUniqueGradItemInStockElem = document.getElementById('isUniqueGradItemInStockInput_' + itemCount + '_' + i); if(isUniqueGradItemInStockElem != null) { if(itemCount > 0) allUniqueGradItemsStr += ' ; '; var isUniqueGradItemInStock = isUniqueGradItemInStockElem.options[isUniqueGradItemInStockElem.selectedIndex].value; var uniqueGradItemNameElem = document.getElementById('uniqueGradItemName_' + itemCount + '_' + i); var uniqueGradItemName = uniqueGradItemNameElem.innerText || uniqueGradItemNameElem.textContent; uniqueGradItemName = uniqueGradItemName.replace(/ - In Stock:$/, ''); var uniqueGradItemPriceChangeElem = document.getElementById('uniqueGradItemPriceChangeInput_' + itemCount + '_' + i); if(uniqueGradItemPriceChangeElem != null) var uniqueGradItemPriceChange = uniqueGradItemPriceChangeElem.value; else var uniqueGradItemPriceChange = 'null'; allUniqueGradItemsStr += uniqueGradItemName + ' , ' + isUniqueGradItemInStock + ' , ' + uniqueGradItemPriceChange; } itemCount++; total_ugi--; } allUniqueGradItemsStr = PHP_RAWURLENCODE(allUniqueGradItemsStr); if(document.getElementById('schoolMsgInput_' + i) != null) { var schoolMsgInput = document.getElementById('schoolMsgInput_' + i).value; schoolMsgInputStripped = schoolMsgInput.replace(/<.*?>/g, ''); if(schoolMsgInputStripped == '') schoolMsgInput = ''; var schoolMsgInput = encodeURIComponent(schoolMsgInput); } else { var schoolMsgInput = ''; } var paramsJavascript = "'name_id_url_encoded=' + '" + name_id_url_encoded + "'" + " + '&gradSupplyLinkInput=' + '" + gradSupplyLinkInput + "'" + " + '&newSchoolNameInput=' + '" + newSchoolNameInput + "'" + " + '&taxRateInput=' + '" + taxRateInput + "'" + " + '&is_cg_input=' + '" + is_cg_input + "'" + " + '&cg_price_change_input=' + '" + cg_price_change_input + "'" + " + '&schoolMsgInput=' + '" + schoolMsgInput + "'" + " + '&allUniqueGradItemsStr=' + '" + allUniqueGradItemsStr + "';"; AJAX_POST_URL(post_url, paramsJavascript, update_url, null); } function update_link_drop_down(labelId, selectId) { var labelIdElem = document.getElementById(labelId); var selectIdElem = document.getElementById(selectId); if(selectIdElem.value == 'taking orders') { labelIdElem.className = 'inputOn'; } else if(selectIdElem.value == 'not taking orders') { labelIdElem.className = 'inputOff'; } else { labelIdElem.className = 'inputBlue'; } } function update_yes_no(id) { var yesNoElem = document.getElementById(id); if(yesNoElem.className == 'inputOn' || yesNoElem.className == 'inputOff') { if(yesNoElem.className == 'inputOn') { yesNoElem.className = 'inputOff'; } else { yesNoElem.className = 'inputOn'; } } else { if(yesNoElem.className == 'inputOn2') { yesNoElem.className = 'inputOff2'; } else { yesNoElem.className = 'inputOn2'; } } } function validate_form_school_info(i, name_id_url_encoded, school_names_url_encoded) { var newSchoolNameInputElem = document.getElementById('newSchoolNameInput_' + i); var newSchoolNameInput = QUOTE_ENCODE(newSchoolNameInputElem.value); var name_id = PHP_RAWURLDECODE(name_id_url_encoded); var isUniqueSchoolName = 1; if(newSchoolNameInput != name_id) { var schoolNames = PHP_RAWURLDECODE(school_names_url_encoded); var schoolNamesArr = schoolNames.split(' , '); for(var j = 0; j < schoolNamesArr.length; j++) { if(newSchoolNameInput == schoolNamesArr[j]) { isUniqueSchoolName = 0; break; } } } if(!isUniqueSchoolName) { newSchoolNameInputElem.value = name_id; newSchoolNameInputElem.focus(); ALERT_GREY_OUT('Please input a UNIQUE SCHOOL NAME'); return false; } else if(newSchoolNameInputElem != null && newSchoolNameInputElem.value == '') { newSchoolNameInputElem.value = ''; newSchoolNameInputElem.focus(); ALERT_GREY_OUT('Please input SCHOOL NAME'); return false; } var taxRateInputElem = document.getElementById('taxRateInput_' + i); if(taxRateInputElem.value == '' || isNaN(taxRateInputElem.value) || taxRateInputElem.value < 0 || taxRateInputElem.value > 99.99) { taxRateInputElem.value = ''; taxRateInputElem.focus(); ALERT_GREY_OUT('Please input TAX RATE: 0.00 to 99.99'); return false; } var cg_price_change_input_elem = document.getElementById('cg_price_change_input_' + i); if(cg_price_change_input_elem != null) { if(cg_price_change_input_elem.value == '' || isNaN(cg_price_change_input_elem.value) || cg_price_change_input_elem.value < -99.99 || cg_price_change_input_elem.value > 99.99) { cg_price_change_input_elem.value = ''; cg_price_change_input_elem.focus(); ALERT_GREY_OUT('Please input CAP & GOWN PRICE CHANGE: -99.99 to 99.99'); return false; } } var itemCount = 0; do { var isUniqueGradItemInStockElem = document.getElementById('isUniqueGradItemInStockInput_' + itemCount + '_' + i); var uniqueGradItemPriceChangeInputElem = document.getElementById('uniqueGradItemPriceChangeInput_' + itemCount + '_' + i); if(uniqueGradItemPriceChangeInputElem != null) { if(uniqueGradItemPriceChangeInputElem.value == '' || isNaN(uniqueGradItemPriceChangeInputElem.value) || uniqueGradItemPriceChangeInputElem.value < -99.99 || uniqueGradItemPriceChangeInputElem.value > 99.99) { uniqueGradItemPriceChangeInputElem.value = ''; uniqueGradItemPriceChangeInputElem.focus(); var uniqueGradItemNameElem = document.getElementById('uniqueGradItemName_' + itemCount + '_' + i); var uniqueGradItemName = uniqueGradItemNameElem.innerText || uniqueGradItemNameElem.textContent; var uniqueGradItemName = uniqueGradItemName.replace(/ - In Stock:$/, ''); ALERT_GREY_OUT('Please input ' + uniqueGradItemName.toUpperCase() + ' PRICE ADJUSTMENT: -99.99 to 99.99'); return false; } } itemCount++; } while(isUniqueGradItemInStockElem != null); return true; } function post_form_deposit_amount(post_URL, update_URL) { var depositAmountInput = encodeURIComponent(document.getElementById('depositAmountInput').value); var isChecked = document.getElementById('depositAmountCheckbox').checked; if(isChecked) depositAmountInput = 'null'; var paramsJavascript = "'depositAmountInput=' + '" + depositAmountInput + "'"; AJAX_POST_URL(post_URL, paramsJavascript, update_URL, null); } function validate_form_deposit_amount() { var depositAmountElem = document.getElementById('depositAmountInput'); var isChecked = document.getElementById('depositAmountCheckbox').checked; if(!isChecked && (depositAmountElem.value == '' || isNaN(depositAmountElem.value) || depositAmountElem.value < 0.01 || depositAmountElem.value > 999.99)) { depositAmountElem.value = ''; depositAmountElem.focus(); ALERT_GREY_OUT('Please input DEPOSIT AMOUNT: 0.01 to 999.99'); return false; } return true; } function ALERT_GREY_OUT(message) { GREY_OUT(true, {'zindex':'50', 'bgcolor':'#333333', 'opacity':'70'}); alert(message); GREY_OUT(false); } function CONFIRM_GREY_OUT(message) { GREY_OUT(true, {'zindex':'50', 'bgcolor':'#333333', 'opacity':'70'}); var answer = confirm(message); GREY_OUT(false); return answer; } function QUOTE_ENCODE(input) { input = input.replace(/'/g, '&#039;'); input = input.replace(/"/g, '&quot;'); return input; } function GREY_OUT(vis, options) { var options = options || {}; var zindex = options.zindex || 50; var opacity = options.opacity || 70; var opaque = (opacity / 100); var bgcolor = options.bgcolor || '#000000'; var dark=document.getElementById('darkenScreenObject'); if(!dark) { var tbody = document.getElementsByTagName('body')[0]; var tnode = document.createElement('div'); tnode.style.position='absolute'; tnode.style.top='0px'; tnode.style.left='0px'; tnode.style.overflow='hidden'; tnode.style.display='none'; tnode.id='darkenScreenObject'; tbody.appendChild(tnode); dark=document.getElementById('darkenScreenObject'); } if(vis) { if( document.body && ( document.body.scrollWidth || document.body.scrollHeight )) { var pageWidth = document.body.scrollWidth + 'px'; var pageHeight = document.body.scrollHeight + 'px'; } else if(document.body.offsetWidth) { var pageWidth = document.body.offsetWidth + 'px'; var pageHeight = document.body.offsetHeight + 'px'; } else { var pageWidth='100%'; var pageHeight='100%'; } dark.style.opacity=opaque; dark.style.MozOpacity=opaque; dark.style.filter='alpha(opacity='+opacity+')'; dark.style.zIndex=zindex; dark.style.backgroundColor=bgcolor; dark.style.width= pageWidth; dark.style.height= pageHeight; dark.style.display='block'; } else { dark.style.display='none'; } } window.onload = function() { var links = document.getElementsByTagName('a'); for(var i =0 ; i < links.length; i++) { if(links[i].className.match('newWindow')) { links[i].onclick = function() { window.open(this.href); return false; }; } } }; function PHP_NUMBER_FORMAT(n, c, d, t) { if(n > 999) { c = (c >= 0) ? c : 2; d = d || '.'; t = t || ','; nInteger = Math.floor(n); nDecimal = (n - nInteger).toFixed(c); var rev_nInteger = nInteger.toString().split('').reverse(); var new_nInteger = new Array(); var new_nDecimal = nDecimal.toString().substr(1); for(var i = rev_nInteger.length; i > 0; i--) { if(i % 3) { new_nInteger.push(rev_nInteger.pop()); } else { new_nInteger.push(t); new_nInteger.push(rev_nInteger.pop()); } } newValue = new_nInteger.join('') + new_nDecimal; return newValue; } else { return n.toFixed(c); } } function PHP_RAWURLDECODE(input) { return decodeURIComponent(input + ''); } function PHP_RAWURLENCODE(input) { input = (input + '').toString(); return encodeURIComponent(input).replace(/!/g, '%21').replace(/'/g, '%27').replace(/\(/g, '%28').replace(/\)/g, '%29').replace(/\*/g, '%2A') } function post_form_rush_fee(post_URL, update_URL) { var rushFeeInput = encodeURIComponent(document.getElementById('rushFeeInput').value); var isChecked = document.getElementById('rushFeeCheckbox').checked; if(isChecked) rushFeeInput = 'null'; var paramsJavascript = "'rushFeeInput=' + '" + rushFeeInput + "'"; AJAX_POST_URL(post_URL, paramsJavascript, update_URL, null); } function validate_form_rush_fee() { var rushFeeElem = document.getElementById('rushFeeInput'); var isChecked = document.getElementById('rushFeeCheckbox').checked; if(!isChecked && (rushFeeElem.value == '' || isNaN(rushFeeElem.value) || rushFeeElem.value < 0.01 || rushFeeElem.value > 99.99)) { rushFeeElem.value = ''; rushFeeElem.focus(); ALERT_GREY_OUT('Please input RUSH FEE: 0.01 to 99.99'); return false; } return true; } function post_form_shipping_handling(post_URL, update_URL) { var shippingHandlingFeeInput = encodeURIComponent(document.getElementById('shippingHandlingFeeInput').value); var isChecked = document.getElementById('shippingHandlingFeeCheckbox').checked; if(isChecked) shippingHandlingFeeInput = 'null'; var paramsJavascript = "'shippingHandlingFeeInput=' + '" + shippingHandlingFeeInput + "'"; AJAX_POST_URL(post_URL, paramsJavascript, update_URL, null); } function validate_form_shipping_handling() { var shippingHandlingFeeElem = document.getElementById('shippingHandlingFeeInput'); var isChecked = document.getElementById('shippingHandlingFeeCheckbox').checked; if(!isChecked && (shippingHandlingFeeElem.value == '' || isNaN(shippingHandlingFeeElem.value) || shippingHandlingFeeElem.value < 0.01 || shippingHandlingFeeElem.value > 99.99)) { shippingHandlingFeeElem.value = ''; shippingHandlingFeeElem.focus(); ALERT_GREY_OUT('Please input SHIPPING AND HANDLING FEE: 0.01 to 99.99'); return false; } return true; } function post_form_thank_you_email(post_url, update_url) { var emailBodyInput = encodeURIComponent(QUOTE_ENCODE(document.getElementById('emailBodyInput').value)); var emailSignatureInput = encodeURIComponent(QUOTE_ENCODE(document.getElementById('emailSignatureInput').value)); var paramsJavascript = "'emailBodyInput=' + '" + emailBodyInput + "'" + " + '&emailSignatureInput=' + '" + emailSignatureInput + "'"; AJAX_POST_URL(post_url, paramsJavascript, update_url, null); }
