function AddViaDrop(drop_target) { target_field = document.getElementById(drop_target); target_field.value = window.event.dataTransfer.getData('text'); } function InitiateDrag(drop_source) { source_field = document.getElementById(drop_source); window.event.dataTransfer.setData('text', source_field.value); } checkFormTasks = Array(); function CheckForm() { for (i = 0; i < checkFormTasks.length; ++i) { //eval(checkFormTasks[i]); } return true; } function SubmitForm() { if (arguments.length == 0 || arguments[0] == '') { for (form_name in document.forms) { if (typeof document.forms[form_name] == "object") { form_name = form_name; break; } } } else { form_name = arguments[0]; } if (CheckForm()) { targetForm = document.forms[form_name]; if (arguments.length > 1) { params = arguments[1].split(','); num_params = params.length; for (i = 0; i < num_params; ++i) { pair = params[i].split('|'); if (targetForm[pair[0]]) { targetForm[pair[0]].value = pair[1]; } else { newHidden = document.createElement("input"); newHidden.setAttribute("id", pair[0]); newHidden.setAttribute("type", "hidden"); newHidden.setAttribute("name", pair[0]); newHidden.setAttribute("value", pair[1]); targetForm.appendChild(newHidden); } } } targetForm.submit(); } } rxTxt = new RegExp("[^-a-zA-Z0-9,\._@ ]"); rxNum = new RegExp("[^-0-9 \., ]"); function Validate(iVal,iName,iForm,type,text,minVal,maxVal) { errTxt = ""; switch (type) { case "num": if (rxNum.test(iVal)) { errTxt = errTxt + text + " may only consist of the characters within the brackets [0-9, . -]\n"; } else { iVal = iVal*1; if (minVal != "" && iVal < (minVal*1)) { errTxt = errTxt + text + " must be greater than or equal to " + minVal + "\n"; } if (maxVal != "" && iVal > (maxVal*1)) { errTxt = errTxt + text + " must be less than or equal to " + maxVal + "\n"; } } break; case "txt": if (rxTxt.test(iVal)) { errTxt = errTxt + text + " may only consist of the following:\n\n\t0-9\n\ta-z\n\tA-Z\n\t@\n\t, (comma)\n\t. (period)\n\t- (dash)\n\t_ (underscore)\n"; } break; default: //Nothing break; } if (errTxt != "") { alert(errTxt); eval("document."+iForm+" . "+iName+".focus();"); return false; } else { return true; } } function UpdateSelectVals(element_form, to_select) { var sel_t = element_form[to_select]; to_vals = ""; for (j = 0; j < sel_t.options.length; ++j) { if (j > 0) { to_vals += ","; } to_vals += sel_t.options[j].value; if (arguments.length > 2 && arguments[2]) { to_vals += "`" + (CountLeadingSpaces(sel_t.options[j].text) / 2); } } element_form[to_select + "_vals"].value = to_vals; } function CheckAll(box_name, box_object) { box_checked = box_object.checked; eval('box_form = document.' + box_object.form.name); num_boxes = box_form[box_name].length; if (num_boxes > 0) { for (i = 0; i < num_boxes; ++i) { box_form[box_name][i].checked = (box_checked) ? (true) : (false); } } } function DeleteConfirmation() { return confirm('Are you sure you want to delete this item?\nIt cannot be undone!'); } function AskConfirmation(question) { return confirm(question); } function DeleteTripleConfirmation() { delete_ok = false; if (confirm('Are you sure you want to delete this item?\nIt cannot be undone!')) { if (confirm('Are you really sure?\nIt really cannot be undone!')) { if (confirm('Are you really, really sure?\nI\'m not kidding about this not being able to be undone...')) { delete_ok = true; } } } return delete_ok; } function SyncCheckboxes(checkbox_name, checkbox_form, is_checked) { checkbox_matches = GetFormVals(checkbox_name, "", true).split("`"); if (checkbox_matches.length > 0 && checkbox_matches[0] != "") { //alert(checkbox_matches[0]); for (i = 0, j = checkbox_matches.length; i < j; ++i) { field_name = checkbox_matches[i].split("|"); field_name = field_name[0]; //alert(checkbox_form[field_name][0].checked); if (typeof checkbox_form[field_name].length != "undefined" && checkbox_form[field_name].length > 0) { for (k = 0; k < checkbox_form[field_name].length; ++k) { checkbox_form[field_name][k].checked = is_checked; } } else if (typeof checkbox_form[field_name].checked != "undefined") { checkbox_form[field_name].checked = is_checked; } } } } function GetFormVals(field_search) { form_fields = ""; //alert(document.forms[0].name); if (arguments.length == 2) { negative_search = arguments[1]; } else { negative_search = ""; } if (arguments.length == 3) { return_empty_checkboxes = true; } else { return_empty_checkboxes = false; } //alert(field_search); for (field in document.forms[0]) { if (form_fields.indexOf(field + "|") == -1 && field.indexOf(field_search) != -1 && (negative_search == "" || field.indexOf(negative_search) == -1)) { label = ""; /* alert("Name: " + document.forms[0][field].name + "\n" + "Type: " + document.forms[0][field].type + "\n" + "Name Typeof: " + typeof document.forms[0][field].name + "\n" + "Length Typeof: " + typeof document.forms[0][field].length); */ if (document.forms[0][field].type == "text" || document.forms[0][field].type == "hidden") { value = document.forms[0][field].value; form_fields += field + "|" + value + "`"; } else if (typeof document.forms[0][field].name != "undefined" && document.forms[0][field].type.indexOf("select") != -1) { value = document.forms[0][field].value; label = document.forms[0][field].options[document.forms[0][field].selectedIndex].text + "::"; form_fields += field + "|" + ((label == "undefined::") ? ("") : (label)) + value + "`"; } else if (typeof document.forms[0][field].name != "undefined" && document.forms[0][field].type.indexOf("textarea") != -1) { //alert(document.forms[0][field].name + ": " + typeof document.forms[0][field].name); value = document.forms[0][field].value; form_fields += field + "|" + value + "`"; } else if (typeof document.forms[0][field] == "object") { if (typeof document.forms[0][field].name == "undefined" && typeof document.forms[0][field].length != "undefined") { //alert(document.forms[0][field].name + ": " + typeof document.forms[0][field].name); for (i = 0; i < document.forms[0][field].length; ++i) { //alert(document.forms[0][field][i].value); if (document.forms[0][field][i].checked || return_empty_checkboxes) { value = document.forms[0][field][i].value; label = document.forms[0][field][i].label + "::"; form_fields += field + "|" + ((label == "undefined::") ? ("") : (label)) + value + "`"; } } } else if (typeof document.forms[0][field].checked == "boolean") { if (document.forms[0][field].checked || return_empty_checkboxes) { value = document.forms[0][field].value; label = document.forms[0][field].label + "::"; form_fields += field + "|" + ((label == "undefined::") ? ("") : (label)) + value + "`"; } } else { value = document.forms[0][field].value; form_fields += field + "|" + value + "`"; } } else { value = document.forms[0][field].value; form_fields += field + "|" + value + "`"; } } } form_fields = form_fields.substring(0, form_fields.length - 1); //alert(form_fields); return form_fields; } function GetDocDivs(div_search) { var doc_divs = new Array(); //alert(document.forms[0].name); if (arguments.length == 2) { negative_search = arguments[1]; } else { negative_search = ""; } //alert(field_search); var document_divs = document.getElementsByTagName('div'); for (i = 0, j = document_divs.length; i < j; ++i) { div_id = document_divs[i].id; if (div_id != '') { //alert(div_id + " " + div_search); if (div_id.indexOf(div_search) != -1 && (negative_search == "" || div_id.indexOf(negative_search) == -1)) { doc_divs[doc_divs.length] = div_id; } } } return doc_divs; } function ClearFormVals(field_search) { form_fields = ""; //alert(document.forms[0].name); for (field in document.forms[0]) { if (field.indexOf(field_search) != -1) { document.forms[0][field].value = ""; } } } function CheckBoxRadio(input_this) { j = input_this.form[input_this.name].length; if (input_this.form[input_this.name].length > 1) { for (i = 0; i < j; ++i) { input_this.form[input_this.name][i].checked = false; } } input_this.checked = true; } function getCheckedValue(radioObj) { if(!radioObj) return ""; var radioLength = radioObj.length; if(radioLength == undefined) if(radioObj.checked) return radioObj.value; else return ""; for(var i = 0; i < radioLength; i++) { if(radioObj[i].checked) { return radioObj[i].value; } } return ""; } //hide selects on page - copy code below function hideSelects(action) { //documentation for this script at http://www.shawnolson.net/a/1198/ //possible values for action are 'hidden' and 'visible' if (action!='visible'){action='hidden';} if (navigator.appName.indexOf("MSIE")) { for (var S = 0; S < document.forms.length; S++){ for (var R = 0; R < document.forms[S].length; R++) { if (document.forms[S].elements[R].options) { document.forms[S].elements[R].style.visibility = action; } } } } } //end code function ShowHideOtherInput(input_this) { v = input_this.value; o = input_this.name; o = o.replace(/_select/, ''); if (arguments.length > 1) { n = arguments[1]; } else { n = o.replace(/_other/, ''); } if (v == 'other') { document.getElementById(o).className = 'input_text'; document.getElementById(n).value = document.getElementById(o).value; } else { document.getElementById(o).className = 'invisible'; document.getElementById(n).value = v; } } function textboxSelect (oTextbox, iStart, iEnd) { switch(arguments.length) { case 1: oTextbox.select(); break; case 2: iEnd = oTextbox.value.length; /* falls through */ case 3: if (isIE) { var oRange = oTextbox.createTextRange(); oRange.moveStart("character", iStart); oRange.moveEnd("character", -oTextbox.value.length + iEnd); oRange.select(); } else if (isMoz){ oTextbox.setSelectionRange(iStart, iEnd); } } oTextbox.focus(); } function textboxReplaceSelect (oTextbox, sText) { if (isIE) { var oRange = document.selection.createRange(); oRange.text = sText; oRange.collapse(true); oRange.select(); } else if (isMoz) { var iStart = oTextbox.selectionStart; oTextbox.value = oTextbox.value.substring(0, iStart) + sText + oTextbox.value.substring(oTextbox.selectionEnd, oTextbox.value.length); oTextbox.setSelectionRange(iStart + sText.length, iStart + sText.length); } oTextbox.focus(); } function autocompleteMatch (sText, arrValues) { for (var i = 0; i < arrValues.length; i++) { var tmp_val = arrValues[i].toLowerCase(); if (tmp_val.indexOf(sText.toLowerCase()) == 0) { return arrValues[i]; } } return null; } function autocomplete(oTextbox, oEvent, arrValues) { switch (oEvent.keyCode) { case 38: //up arrow case 40: //down arrow case 37: //left arrow case 39: //right arrow case 33: //page up case 34: //page down case 36: //home case 35: //end case 13: //enter case 9: //tab case 27: //esc case 16: //shift case 17: //ctrl case 18: //alt case 20: //caps lock case 8: //backspace case 46: //delete return true; break; default: textboxReplaceSelect(oTextbox, String.fromCharCode(isIE ? oEvent.keyCode : oEvent.charCode)); var iLen = oTextbox.value.length; var sMatch = autocompleteMatch(oTextbox.value, arrValues); if (sMatch != null) { oTextbox.value = sMatch; textboxSelect(oTextbox, iLen, oTextbox.value.length); } return false; } }