{"version":3,"sources":["jquery_mods.js"],"names":["$jq","jQuery","noConflict","fn","containsOption","query","found","this","each","nodeName","toLowerCase","i","options","length","value","constructor","RegExp","match","text","addOption","o","opt","option","document","createElement","selected","clearOptions","removeOption","val","selectOptionByValue","radioSelectByValue","attr","checked","radioSelectedValue","autoEmail","domains","$elem","elem","get","on","e","keyCode","which","charCode","type","selectStart","selectionStart","selectEnd","selectionEnd","preventDefault","originalLength","substr","String","fromCharCode","symbolPos","lastIndexOf","username","emailDomain","matches","grep","el","index","completion","parseKeyValueString","hash","pieces","split","pair","serializeKeyValues","pairs","key","push","join","namespace","parts","current","window","queryString","_keyVals","_loaded","load","loadValues","location","search","splitQS","keyVals","raw","substring","equalPos","indexOf","_reset","_loadValues","currentKey","hasOwnProperty","all","valueWithout","exceptions","undefined","newQS","strExceptions","toString","allValues","addParameter","url","name","addBehavior","behaviorName","instance","behaviors","initBehavior","container","meta","ctl","eval","init","parseBehavior","metaData","metadata","getBehavior","behavior","eachFunc","bookmark","bookmarkUrl","bookmarkTitle","sidebar","addPanel","opera","print","alert","chr","navigator","userAgent","external","AddFavorite","Error","getCachedScript","ajax","dataType","cache","validator","originalDateValidator1","methods","date","originalDateValidator2","dateISO","element","apply","arguments"],"mappings":"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","file":"../jquery_mods.js","sourcesContent":["var $jq;\r\n(function () {\r\n \"use strict\";\r\n $jq = jQuery.noConflict();\r\n\r\n/* jQuery selectbox related plugins */\r\n\r\n jQuery.fn.containsOption = function(query) {\r\n var found = false;\r\n\r\n this.each(\r\n function() {\r\n if (this.nodeName.toLowerCase() == 'select') {\r\n for (var i = 0; i < this.options.length; i++) {\r\n if (query.value) {\r\n found = (query.value.constructor == RegExp) ?\r\n this.options[i].value.match(query.value) :\r\n this.options[i].value == query.value;\r\n } else if (query.text) {\r\n found = (query.text.constructor == RegExp) ?\r\n this.options[i].text.match(query.text) :\r\n this.options[i].text == query.text;\r\n }\r\n\r\n if (found) {\r\n break;\r\n }\r\n }\r\n } else {\r\n return this;\r\n }\r\n }\r\n );\r\n\r\n return found;\r\n };\r\n\r\n jQuery.fn.addOption = function(o) {\r\n var opt = o;\r\n\r\n this.each(\r\n function() {\r\n if (this.nodeName.toLowerCase() == 'select') {\r\n var option = document.createElement('OPTION');\r\n option.value = opt.value;\r\n option.text = opt.text;\r\n\r\n if (opt.selected) {\r\n option.selected = opt.selected;\r\n }\r\n this.options[this.options.length] = option;\r\n } else return this;\r\n }\r\n );\r\n\r\n return this;\r\n };\r\n\r\n jQuery.fn.clearOptions = function() {\r\n this.each(\r\n function() {\r\n if (this.nodeName.toLowerCase() == 'select') {\r\n this.options.length = 0;\r\n }\r\n }\r\n );\r\n };\r\n\r\n jQuery.fn.removeOption = function(val) {\r\n this.each(\r\n function() {\r\n if (this.nodeName.toLowerCase() == 'select') {\r\n for (var i = 0; i < this.options.length; i++) {\r\n if (this.options[i].value == val) {\r\n this.options[i] = null;\r\n }\r\n }\r\n } else {\r\n return this;\r\n }\r\n }\r\n );\r\n\r\n return this;\r\n };\r\n\r\n jQuery.fn.selectOptionByValue = function(val) {\r\n this.each(\r\n function() {\r\n if (this.nodeName.toLowerCase() == 'select') {\r\n for (var i = 0; i < this.options.length; i++) {\r\n if (this.options[i].value == val) {\r\n this.options[i].selected = true;\r\n } else {\r\n this.options[i].selected = false;\r\n }\r\n }\r\n } else {\r\n return this;\r\n }\r\n }\r\n );\r\n\r\n return this;\r\n };\r\n\r\n jQuery.fn.radioSelectByValue = function(val) {\r\n this.each(\r\n function() {\r\n if (this.nodeName.toLowerCase() == 'input' && jQuery(this).attr('type').toLowerCase() == 'radio') {\r\n if (jQuery(this).val() == val) {\r\n this.checked = true;\r\n } else {\r\n this.checked = false;\r\n }\r\n } else {\r\n return this;\r\n }\r\n }\r\n );\r\n\r\n return this;\r\n };\r\n\r\n jQuery.fn.radioSelectedValue = function() {\r\n var val = null;\r\n\r\n this.each(\r\n function() {\r\n if (val == null) {\r\n if (this.nodeName.toLowerCase() == 'input' && jQuery(this).attr('type').toLowerCase() == 'radio') {\r\n if (this.checked) {\r\n val = jQuery(this).val();\r\n }\r\n }\r\n }\r\n }\r\n );\r\n\r\n return val;\r\n };\r\n\r\n jQuery.fn.autoEmail = function (domains) {\r\n return this.each(function () {\r\n var $elem = jQuery(this);\r\n var elem = $elem.get(0);\r\n $elem.on('keypress', function (e) {\r\n var val = $elem.val();\r\n var keyCode = e.keyCode ? e.keyCode : e.which ? e.which : e.charCode;\r\n if (elem.type !== 'text' || keyCode == 8 || keyCode == 9 || (keyCode >= 16 && keyCode <= 18) || keyCode == 20 || (keyCode >= 33 && keyCode <= 40) || keyCode == 45 || typeof(elem.selectionStart) === 'undefined' || typeof(elem.selectionEnd) == 'undefined') {\r\n return;\r\n }\r\n\r\n var selectStart = elem.selectionStart;\r\n var selectEnd = elem.selectionEnd;\r\n if (keyCode === 13) {\r\n elem.selectionStart = selectEnd;\r\n elem.selectionEnd = selectEnd;\r\n return;\r\n }\r\n e.preventDefault();\r\n\r\n var originalLength = val.length;\r\n $elem.val(val.substr(0, selectStart) + String.fromCharCode(keyCode) + val.substr(selectEnd, originalLength));\r\n val = $elem.val();\r\n\r\n selectStart++;\r\n elem.selectionStart = selectStart;\r\n elem.selectionEnd = selectEnd + val.length - originalLength;\r\n\r\n var symbolPos = val.lastIndexOf('@');\r\n if (symbolPos < 0) {\r\n return;\r\n }\r\n var username = val.substr(0, symbolPos);\r\n var emailDomain = val.substr(symbolPos + 1);\r\n if (username === \"\" || emailDomain === \"\") {\r\n return;\r\n }\r\n\r\n var matches = jQuery.grep(domains, function (el, index) {\r\n return emailDomain.toLowerCase() === el.substr(0, emailDomain.length).toLowerCase();\r\n });\r\n\r\n if (matches.length > 0) {\r\n var completion = matches[0].substr(emailDomain.length, matches[0].length);\r\n $elem.val(val.substr(0, selectStart) + completion + val.substr(selectStart, val.length));\r\n elem.selectionStart = selectStart;\r\n elem.selectionEnd = selectStart + completion.length;\r\n }\r\n });\r\n });\r\n };\r\n\r\n jQuery.parseKeyValueString = function(val) {\r\n var hash = [];\r\n var pieces = val.split('&');\r\n\r\n for (var i = 0; i < pieces.length; i++) {\r\n var pair = pieces[i].split('=');\r\n hash[pair[0]] = pair[1];\r\n }\r\n\r\n return hash;\r\n };\r\n\r\n jQuery.serializeKeyValues = function(hash) {\r\n if (hash != null) {\r\n var pairs = [];\r\n\r\n for (var key in hash) {\r\n pairs.push(key + '=' + hash[key]);\r\n }\r\n\r\n return pairs.join('&');\r\n }\r\n\r\n return null;\r\n };\r\n\r\n jQuery.namespace = function(namespace) {\r\n var parts = namespace.split('.');\r\n\r\n var current = window;\r\n\r\n for (var i = 0; i < parts.length; i++) {\r\n if (!current[parts[i]]) {\r\n current[parts[i]] = {};\r\n }\r\n current = current[parts[i]];\r\n }\r\n\r\n return current;\r\n };\r\n\r\n jQuery.queryString = function() {\r\n var _keyVals = [];\r\n var _loaded = false;\r\n\r\n var load = function() {\r\n loadValues(window.location.search);\r\n };\r\n\r\n var loadValues = function(queryString) {\r\n if (!_loaded) {\r\n _keyVals = splitQS(queryString);\r\n _loaded = true;\r\n }\r\n };\r\n\r\n var splitQS = function(queryString) {\r\n var keyVals = [];\r\n var raw = (queryString.length > 0) ? queryString.substring(1) : '';\r\n var pairs = raw.split(\"&\");\r\n for (var i = 0; i < pairs.length; i++) {\r\n var key = \"\";\r\n var val = \"\";\r\n var equalPos = pairs[i].indexOf(\"=\");\r\n\r\n if (equalPos < 0) {\r\n key = pairs[i];\r\n val = \"\";\r\n } else {\r\n if (equalPos >= 1) {\r\n key = pairs[i].substring(0, equalPos);\r\n }\r\n if (equalPos < pairs[i].length - 1) {\r\n val = pairs[i].substring(equalPos + 1, pairs[i].length);\r\n }\r\n }\r\n if (key.length > 0) {\r\n keyVals[key] = val;\r\n }\r\n }\r\n return keyVals;\r\n };\r\n\r\n return {\r\n _reset: function() {\r\n _loaded = false;\r\n _keyVals = [];\r\n },\r\n _loadValues: function(queryString) {\r\n this._reset();\r\n loadValues(queryString);\r\n },\r\n split: function(queryString) {\r\n return splitQS(queryString);\r\n },\r\n get: function(key) {\r\n if (!_loaded) {\r\n load();\r\n }\r\n for (var currentKey in _keyVals) {\r\n if (_keyVals.hasOwnProperty(currentKey)) {\r\n if (currentKey.toLowerCase() == key.toLowerCase()) {\r\n return _keyVals[currentKey];\r\n }\r\n }\r\n }\r\n\r\n return null;\r\n },\r\n all: function() {\r\n if (!_loaded) {\r\n load();\r\n }\r\n return _keyVals;\r\n },\r\n valueWithout: function(exceptions) {\r\n if (exceptions == undefined || exceptions == null || exceptions.length <= 0) {\r\n return \"\";\r\n }\r\n var newQS = \"\";\r\n var strExceptions = \",\" + exceptions.toString().toLowerCase() + \",\";\r\n var allValues = this.all();\r\n for (var currentKey in allValues) {\r\n if (allValues.hasOwnProperty(currentKey)) {\r\n if (strExceptions.indexOf(\",\" + currentKey.toLowerCase() + \",\", 0) < 0) {\r\n if (newQS.length > 0) {\r\n newQS += \"&\";\r\n }\r\n newQS += currentKey + \"=\" + allValues[currentKey];\r\n }\r\n }\r\n }\r\n if (newQS.length > 0) {\r\n newQS = \"?\" + newQS;\r\n }\r\n return newQS;\r\n },\r\n addParameter: function(url, name, val) {\r\n if (url == undefined || url == null || url.length <= 0) {\r\n return \"?\" + name + \"=\" + val;\r\n } else if (url.indexOf(\"?\") < 0) {\r\n return url + \"?\" + name + \"=\" + val;\r\n } else {\r\n return url + \"&\" + name + \"=\" + val;\r\n }\r\n }\r\n };\r\n }();\r\n\r\n jQuery.fn.addBehavior = function(behaviorName, instance) {\r\n this.each(\r\n function() {\r\n if (!this.behaviors) {\r\n this.behaviors = [];\r\n }\r\n this.behaviors[behaviorName] = instance;\r\n }\r\n );\r\n\r\n return this;\r\n };\r\n\r\n jQuery.initBehavior = function(container, behaviorName, meta) {\r\n try {\r\n var ctl = eval('new ' + behaviorName + '()');\r\n ctl.init({\r\n \"container\": container,\r\n \"meta\": meta\r\n });\r\n\r\n jQuery(container).addBehavior(behaviorName, ctl);\r\n\r\n return ctl;\r\n } catch (e) {\r\n }\r\n\r\n return null;\r\n };\r\n\r\n jQuery.fn.parseBehavior = function() {\r\n this.each(function() {\r\n try {\r\n var type = $jq(this).attr('behavior');\r\n\r\n if (type != null && type != '') {\r\n var metaData = null;\r\n\r\n try {\r\n metaData = jQuery(this).metadata({ type: 'attr', name: 'meta' });\r\n } catch (e) {\r\n }\r\n\r\n jQuery.initBehavior(this, type, metaData);\r\n }\r\n } catch (e) {\r\n }\r\n });\r\n\r\n return this;\r\n };\r\n\r\n jQuery.getBehavior = function(container, behaviorName) {\r\n if (container.behaviors) {\r\n return container.behaviors[behaviorName];\r\n }\r\n };\r\n\r\n jQuery.fn.behavior = function(behaviorName, eachFunc) {\r\n this.each(\r\n function() {\r\n var behavior = jQuery.getBehavior(this, behaviorName);\r\n if (behavior != null) {\r\n eachFunc(behavior);\r\n }\r\n }\r\n );\r\n\r\n return this;\r\n };\r\n\r\n jQuery.bookmark = function(bookmarkUrl, bookmarkTitle) {\r\n if (window.sidebar) { // FF\r\n window.sidebar.addPanel(bookmarkTitle, bookmarkUrl, \"\");\r\n return;\r\n } else if (document.all) { // IE\r\n try {\r\n window.external.AddFavorite(bookmarkUrl, bookmarkTitle);\r\n } catch (Error) {\r\n alert('Please press CTRL-D to bookmark this page');\r\n }\r\n return;\r\n } else if (window.opera && window.print) {\r\n alert('Please press CTRL-D to bookmark this page');\r\n return;\r\n } else {\r\n var chr = 'CTRL-D';\r\n var agt = navigator.userAgent.toLowerCase();\r\n if (agt.indexOf(\"opera\") != -1) {\r\n chr = 'CTRL-T';\r\n }\r\n alert('Please press ' + chr + ' to bookmark this page');\r\n return;\r\n }\r\n };\r\n\r\n jQuery.getCachedScript = function(url) {\r\n jQuery.ajax({\r\n type: \"GET\",\r\n url: url,\r\n dataType: \"script\",\r\n cache: true\r\n });\r\n };\r\n\r\n if (jQuery.validator) {\r\n var originalDateValidator1 = jQuery.validator.methods.date;\r\n var originalDateValidator2 = jQuery.validator.methods.dateISO;\r\n\r\n jQuery.validator.methods.date = function(value, element) {\r\n var isValidDate = originalDateValidator1.apply(this, arguments) || originalDateValidator2.apply(this, arguments);\r\n\r\n return isValidDate;\r\n };\r\n }\r\n})();\r\n"]}