﻿//ajaxQueue
(function(e) { var c = e.ajax; var a = {}; var b = []; var d = []; e.ajax = function(i) { i = jQuery.extend(i, jQuery.extend({}, jQuery.ajaxSettings, i)); var f = i.port; switch (i.mode) { case "abort": if (a[f]) { a[f].abort() } return a[f] = c.apply(this, arguments); case "queue": var g = i.complete; i.complete = function() { if (g) { g.apply(this, arguments) } jQuery([c]).dequeue("ajax" + f) }; jQuery([c]).queue("ajax" + f, function() { c(i) }); return; case "sync": var h = b.length; b[h] = { error: i.error, success: i.success, complete: i.complete, done: false }; d[h] = { error: [], success: [], complete: [] }; i.error = function() { d[h].error = arguments }; i.success = function() { d[h].success = arguments }; i.complete = function() { d[h].complete = arguments; b[h].done = true; if (h == 0 || !b[h - 1]) { for (var j = h; j < b.length && b[j].done; j++) { if (b[j].error) { b[j].error.apply(jQuery, d[j].error) } if (b[j].success) { b[j].success.apply(jQuery, d[j].success) } if (b[j].complete) { b[j].complete.apply(jQuery, d[j].complete) } b[j] = null; d[j] = null } } } } return c.apply(this, arguments) } })(jQuery);

//bgiframe
(function($) { $.fn.bgIframe = $.fn.bgiframe = function(s) { if ($.browser.msie && /6.0/.test(navigator.userAgent)) { s = $.extend({ top: 'auto', left: 'auto', width: 'auto', height: 'auto', opacity: true, src: 'javascript:false;' }, s || {}); var prop = function(n) { return n && n.constructor == Number ? n + 'px' : n; }, html = '<iframe class="bgiframe"frameborder="0"tabindex="-1"src="' + s.src + '"' + 'style="display:block;position:absolute;z-index:-1;' + (s.opacity !== false ? 'filter:Alpha(Opacity=\'0\');' : '') + 'top:' + (s.top == 'auto' ? 'expression(((parseInt(this.parentNode.currentStyle.borderTopWidth)||0)*-1)+\'px\')' : prop(s.top)) + ';' + 'left:' + (s.left == 'auto' ? 'expression(((parseInt(this.parentNode.currentStyle.borderLeftWidth)||0)*-1)+\'px\')' : prop(s.left)) + ';' + 'width:' + (s.width == 'auto' ? 'expression(this.parentNode.offsetWidth+\'px\')' : prop(s.width)) + ';' + 'height:' + (s.height == 'auto' ? 'expression(this.parentNode.offsetHeight+\'px\')' : prop(s.height)) + ';' + '"/>'; return this.each(function() { if ($('> iframe.bgiframe', this).length == 0) this.insertBefore(document.createElement(html), this.firstChild); }); } return this; }; })(jQuery);

//autocomplete
(function($) {
    $.fn.extend({ autocomplete: function(urlOrData, options) { var isUrl = typeof urlOrData == "string"; options = $.extend({}, $.Autocompleter.defaults, { url: isUrl ? urlOrData : null, data: isUrl ? null : urlOrData, delay: isUrl ? $.Autocompleter.defaults.delay : 10, max: options && !options.scroll ? 10 : 150 }, options); options.highlight = options.highlight || function(value) { return value; }; options.formatMatch = options.formatMatch || options.formatItem; return this.each(function() { new $.Autocompleter(this, options); }); }, result: function(handler) { return this.bind("result", handler); }, search: function(handler) { return this.trigger("search", [handler]); }, flushCache: function() { return this.trigger("flushCache"); }, setOptions: function(options) { return this.trigger("setOptions", [options]); }, unautocomplete: function() { return this.trigger("unautocomplete"); } }); $.Autocompleter = function(input, options) {
        var KEY = { UP: 38, DOWN: 40, DEL: 46, TAB: 9, RETURN: 13, ESC: 27, COMMA: 188, PAGEUP: 33, PAGEDOWN: 34, BACKSPACE: 8 }; var $input = $(input).attr("autocomplete", "off").addClass(options.inputClass); var timeout; var previousValue = ""; var cache = $.Autocompleter.Cache(options); var hasFocus = 0; var lastKeyPressCode; var config = { mouseDownOnSelect: false }; var select = $.Autocompleter.Select(options, input, selectCurrent, config); var blockSubmit; $.browser.opera && $(input.form).bind("submit.autocomplete", function() { if (blockSubmit) { blockSubmit = false; return false; } }); $input.bind(($.browser.opera ? "keypress" : "keydown") + ".autocomplete", function(event) { lastKeyPressCode = event.keyCode; switch (event.keyCode) { case KEY.UP: event.preventDefault(); if (select.visible()) { select.prev(); } else { onChange(0, true); } break; case KEY.DOWN: event.preventDefault(); if (select.visible()) { select.next(); } else { onChange(0, true); } break; case KEY.PAGEUP: event.preventDefault(); if (select.visible()) { select.pageUp(); } else { onChange(0, true); } break; case KEY.PAGEDOWN: event.preventDefault(); if (select.visible()) { select.pageDown(); } else { onChange(0, true); } break; case options.multiple && $.trim(options.multipleSeparator) == "," && KEY.COMMA: case KEY.TAB: case KEY.RETURN: if (selectCurrent()) { event.preventDefault(); blockSubmit = true; return false; } break; case KEY.ESC: select.hide(); break; default: clearTimeout(timeout); timeout = setTimeout(onChange, options.delay); break; } }).focus(function() { hasFocus++; }).blur(function() { hasFocus = 0; if (!config.mouseDownOnSelect) { hideResults(); } }).click(function() { if (hasFocus++ > 1 && !select.visible()) { onChange(0, true); } }).bind("search", function() { var fn = (arguments.length > 1) ? arguments[1] : null; function findValueCallback(q, data) { var result; if (data && data.length) { for (var i = 0; i < data.length; i++) { if (data[i].result.toLowerCase() == q.toLowerCase()) { result = data[i]; break; } } } if (typeof fn == "function") fn(result); else $input.trigger("result", result && [result.data, result.value]); } $.each(trimWords($input.val()), function(i, value) { request(value, findValueCallback, findValueCallback); }); }).bind("flushCache", function() { cache.flush(); }).bind("setOptions", function() { $.extend(options, arguments[1]); if ("data" in arguments[1]) cache.populate(); }).bind("unautocomplete", function() { select.unbind(); $input.unbind(); $(input.form).unbind(".autocomplete"); }); function selectCurrent() { var selected = select.selected(); if (!selected) return false; var v = selected.result; previousValue = v; if (options.multiple) { var words = trimWords($input.val()); if (words.length > 1) { v = words.slice(0, words.length - 1).join(options.multipleSeparator) + options.multipleSeparator + v; } v += options.multipleSeparator; } $input.val(v); hideResultsNow(); $input.trigger("result", [selected.data, selected.value]); return true; } function onChange(crap, skipPrevCheck) { if (lastKeyPressCode == KEY.DEL) { select.hide(); return; } var currentValue = $input.val(); if (!skipPrevCheck && currentValue == previousValue) return; previousValue = currentValue; currentValue = lastWord(currentValue); if (currentValue.length >= options.minChars) { $input.addClass(options.loadingClass); if (!options.matchCase) currentValue = currentValue.toLowerCase(); request(currentValue, receiveData, hideResultsNow); } else { stopLoading(); select.hide(); } }; function trimWords(value) { if (!value) { return [""]; } var words = value.split(options.multipleSeparator); var result = []; $.each(words, function(i, value) { if ($.trim(value)) result[i] = $.trim(value); }); return result; } function lastWord(value) { if (!options.multiple) return value; var words = trimWords(value); return words[words.length - 1]; } function autoFill(q, sValue) { if (options.autoFill && (lastWord($input.val()).toLowerCase() == q.toLowerCase()) && lastKeyPressCode != KEY.BACKSPACE) { $input.val($input.val() + sValue.substring(lastWord(previousValue).length)); $.Autocompleter.Selection(input, previousValue.length, previousValue.length + sValue.length); } }; function hideResults() { clearTimeout(timeout); timeout = setTimeout(hideResultsNow, 200); }; function hideResultsNow() {
            var wasVisible = select.visible(); select.hide(); clearTimeout(timeout); stopLoading(); if (options.mustMatch) {
                $input.search(function(result) {
                    if (!result) {
                        if (options.multiple) { var words = trimWords($input.val()).slice(0, -1); $input.val(words.join(options.multipleSeparator) + (words.length ? options.multipleSeparator : "")); } else
                            $input.val("");
                    } 
                });
            } if (wasVisible) $.Autocompleter.Selection(input, input.value.length, input.value.length);
        }; function receiveData(q, data) { if (data && data.length && hasFocus) { stopLoading(); select.display(data, q); autoFill(q, data[0].value); select.show(); } else { hideResultsNow(); } }; function request(term, success, failure) { if (!options.matchCase) term = term.toLowerCase(); var data = cache.load(term); if (data && data.length) { success(term, data); } else if ((typeof options.url == "string") && (options.url.length > 0)) { var extraParams = { timestamp: +new Date() }; $.each(options.extraParams, function(key, param) { extraParams[key] = typeof param == "function" ? param() : param; }); $.ajax({ mode: "abort", port: "autocomplete" + input.name, dataType: options.dataType, url: options.url, data: $.extend({ q: lastWord(term), limit: options.max }, extraParams), success: function(data) { var parsed = options.parse && options.parse(data) || parse(data); cache.add(term, parsed); success(term, parsed); } }); } else { select.emptyList(); failure(term); } }; function parse(data) { var parsed = []; var rows = data.split("\n"); for (var i = 0; i < rows.length; i++) { var row = $.trim(rows[i]); if (row) { row = row.split("|"); parsed[parsed.length] = { data: row, value: row[0], result: options.formatResult && options.formatResult(row, row[0]) || row[0] }; } } return parsed; }; function stopLoading() { $input.removeClass(options.loadingClass); };
    }; $.Autocompleter.defaults = { inputClass: "ac_input", resultsClass: "ac_results", loadingClass: "ac_loading", minChars: 1, delay: 400, matchCase: false, matchSubset: true, matchContains: false, cacheLength: 10, max: 100, mustMatch: false, extraParams: {}, selectFirst: true, formatItem: function(row) { return row[0]; }, formatMatch: null, autoFill: false, width: 0, multiple: false, multipleSeparator: ", ", highlight: function(value, term) { return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi, "\\$1") + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<strong>$1</strong>"); }, scroll: true, scrollHeight: 180 }; $.Autocompleter.Cache = function(options) {
        var data = {}; var length = 0; function matchSubset(s, sub) { if (!options.matchCase) s = s.toLowerCase(); var i = s.indexOf(sub); if (i == -1) return false; return i == 0 || options.matchContains; }; function add(q, value) { if (length > options.cacheLength) { flush(); } if (!data[q]) { length++; } data[q] = value; } function populate() { if (!options.data) return false; var stMatchSets = {}, nullData = 0; if (!options.url) options.cacheLength = 1; stMatchSets[""] = []; for (var i = 0, ol = options.data.length; i < ol; i++) { var rawValue = options.data[i]; rawValue = (typeof rawValue == "string") ? [rawValue] : rawValue; var value = options.formatMatch(rawValue, i + 1, options.data.length); if (value === false) continue; var firstChar = value.charAt(0).toLowerCase(); if (!stMatchSets[firstChar]) stMatchSets[firstChar] = []; var row = { value: value, data: rawValue, result: options.formatResult && options.formatResult(rawValue) || value }; stMatchSets[firstChar].push(row); if (nullData++ < options.max) { stMatchSets[""].push(row); } }; $.each(stMatchSets, function(i, value) { options.cacheLength++; add(i, value); }); } setTimeout(populate, 25); function flush() { data = {}; length = 0; } return { flush: flush, add: add, populate: populate, load: function(q) {
            if (!options.cacheLength || !length) return null; if (!options.url && options.matchContains) { var csub = []; for (var k in data) { if (k.length > 0) { var c = data[k]; $.each(c, function(i, x) { if (matchSubset(x.value, q)) { csub.push(x); } }); } } return csub; } else
                if (data[q]) { return data[q]; } else
                if (options.matchSubset) { for (var i = q.length - 1; i >= options.minChars; i--) { var c = data[q.substr(0, i)]; if (c) { var csub = []; $.each(c, function(i, x) { if (matchSubset(x.value, q)) { csub[csub.length] = x; } }); return csub; } } } return null;
        } 
        };
    }; $.Autocompleter.Select = function(options, input, select, config) { var CLASSES = { ACTIVE: "ac_over" }; var listItems, active = -1, data, term = "", needsInit = true, element, list; function init() { if (!needsInit) return; element = $("<div/>").hide().addClass(options.resultsClass).css("position", "absolute").appendTo(document.body); list = $("<ul/>").appendTo(element).mouseover(function(event) { if (target(event).nodeName && target(event).nodeName.toUpperCase() == 'LI') { active = $("li", list).removeClass(CLASSES.ACTIVE).index(target(event)); $(target(event)).addClass(CLASSES.ACTIVE); } }).click(function(event) { $(target(event)).addClass(CLASSES.ACTIVE); select(); input.focus(); return false; }).mousedown(function() { config.mouseDownOnSelect = true; }).mouseup(function() { config.mouseDownOnSelect = false; }); if (options.width > 0) element.css("width", options.width); needsInit = false; } function target(event) { var element = event.target; while (element && element.tagName != "LI") element = element.parentNode; if (!element) return []; return element; } function moveSelect(step) { listItems.slice(active, active + 1).removeClass(CLASSES.ACTIVE); movePosition(step); var activeItem = listItems.slice(active, active + 1).addClass(CLASSES.ACTIVE); if (options.scroll) { var offset = 0; listItems.slice(0, active).each(function() { offset += this.offsetHeight; }); if ((offset + activeItem[0].offsetHeight - list.scrollTop()) > list[0].clientHeight) { list.scrollTop(offset + activeItem[0].offsetHeight - list.innerHeight()); } else if (offset < list.scrollTop()) { list.scrollTop(offset); } } }; function movePosition(step) { active += step; if (active < 0) { active = listItems.size() - 1; } else if (active >= listItems.size()) { active = 0; } } function limitNumberOfItems(available) { return options.max && options.max < available ? options.max : available; } function fillList() { list.empty(); var max = limitNumberOfItems(data.length); for (var i = 0; i < max; i++) { if (!data[i]) continue; var formatted = options.formatItem(data[i].data, i + 1, max, data[i].value, term); if (formatted === false) continue; var li = $("<li/>").html(options.highlight(formatted, term)).addClass(i % 2 == 0 ? "ac_even" : "ac_odd").appendTo(list)[0]; $.data(li, "ac_data", data[i]); } listItems = list.find("li"); if (options.selectFirst) { listItems.slice(0, 1).addClass(CLASSES.ACTIVE); active = 0; } if ($.fn.bgiframe) list.bgiframe(); } return { display: function(d, q) { init(); data = d; term = q; fillList(); }, next: function() { moveSelect(1); }, prev: function() { moveSelect(-1); }, pageUp: function() { if (active != 0 && active - 8 < 0) { moveSelect(-active); } else { moveSelect(-8); } }, pageDown: function() { if (active != listItems.size() - 1 && active + 8 > listItems.size()) { moveSelect(listItems.size() - 1 - active); } else { moveSelect(8); } }, hide: function() { element && element.hide(); listItems && listItems.removeClass(CLASSES.ACTIVE); active = -1; }, visible: function() { return element && element.is(":visible"); }, current: function() { return this.visible() && (listItems.filter("." + CLASSES.ACTIVE)[0] || options.selectFirst && listItems[0]); }, show: function() { var offset = $(input).offset(); element.css({ width: typeof options.width == "string" || options.width > 0 ? options.width : $(input).width(), top: offset.top + input.offsetHeight, left: offset.left }).show(); if (options.scroll) { list.scrollTop(0); list.css({ maxHeight: options.scrollHeight, overflow: 'auto' }); if ($.browser.msie && typeof document.body.style.maxHeight === "undefined") { var listHeight = 0; listItems.each(function() { listHeight += this.offsetHeight; }); var scrollbarsVisible = listHeight > options.scrollHeight; list.css('height', scrollbarsVisible ? options.scrollHeight : listHeight); if (!scrollbarsVisible) { listItems.width(list.width() - parseInt(listItems.css("padding-left")) - parseInt(listItems.css("padding-right"))); } } } }, selected: function() { var selected = listItems && listItems.filter("." + CLASSES.ACTIVE).removeClass(CLASSES.ACTIVE); return selected && selected.length && $.data(selected[0], "ac_data"); }, emptyList: function() { list && list.empty(); }, unbind: function() { element && element.remove(); } }; }; $.Autocompleter.Selection = function(field, start, end) { if (field.createTextRange) { var selRange = field.createTextRange(); selRange.collapse(true); selRange.moveStart("character", start); selRange.moveEnd("character", end); selRange.select(); } else if (field.setSelectionRange) { field.setSelectionRange(start, end); } else { if (field.selectionStart) { field.selectionStart = start; field.selectionEnd = end; } } field.focus(); };
})(jQuery);

//form
(function(b) { b.fn.ajaxSubmit = function(o) { if (!this.length) { a("ajaxSubmit: skipping submit process - no element selected"); return this } if (typeof o == "function") { o = { success: o} } var r = b.trim(this.attr("action")); if (r) { r = (r.match(/^([^#]+)/) || [])[1] } r = r || window.location.href || ""; o = b.extend({ url: r, type: this.attr("method") || "GET" }, o || {}); var u = {}; this.trigger("form-pre-serialize", [this, o, u]); if (u.veto) { a("ajaxSubmit: submit vetoed via form-pre-serialize trigger"); return this } if (o.beforeSerialize && o.beforeSerialize(this, o) === false) { a("ajaxSubmit: submit aborted via beforeSerialize callback"); return this } var t = this.formToArray(o.semantic); if (o.data) { o.extraData = o.data; for (var m in o.data) { if (o.data[m] instanceof Array) { for (var i in o.data[m]) { t.push({ name: m, value: o.data[m][i] }) } } else { t.push({ name: m, value: o.data[m] }) } } } if (o.beforeSubmit && o.beforeSubmit(t, this, o) === false) { a("ajaxSubmit: submit aborted via beforeSubmit callback"); return this } this.trigger("form-submit-validate", [t, this, o, u]); if (u.veto) { a("ajaxSubmit: submit vetoed via form-submit-validate trigger"); return this } var e = b.param(t); if (o.type.toUpperCase() == "GET") { o.url += (o.url.indexOf("?") >= 0 ? "&" : "?") + e; o.data = null } else { o.data = e } var d = this, h = []; if (o.resetForm) { h.push(function() { d.resetForm() }) } if (o.clearForm) { h.push(function() { d.clearForm() }) } if (!o.dataType && o.target) { var s = o.success || function() { }; h.push(function(j) { b(o.target).html(j).each(s, arguments) }) } else { if (o.success) { h.push(o.success) } } o.success = function(q, k) { for (var j = 0, n = h.length; j < n; j++) { h[j].apply(o, [q, k, d]) } }; var f = b("input:file", this).fieldValue(); var p = false; for (var l = 0; l < f.length; l++) { if (f[l]) { p = true } } var c = false; if (o.iframe || p || c) { if (o.closeKeepAlive) { b.get(o.closeKeepAlive, g) } else { g() } } else { b.ajax(o) } this.trigger("form-submit-notify", [this, o]); return this; function g() { var k = d[0]; if (b(":input[name=submit]", k).length) { alert('Error: Form elements must not be named "submit".'); return } var A = b.extend({}, b.ajaxSettings, o); var v = b.extend(true, {}, b.extend(true, {}, b.ajaxSettings), A); var C = "jqFormIO" + (new Date().getTime()); var B = b('<iframe id="' + C + '" name="' + C + '" src="about:blank" />'); var j = B[0]; B.css({ position: "absolute", top: "-1000px", left: "-1000px" }); var w = { aborted: 0, responseText: null, responseXML: null, status: 0, statusText: "n/a", getAllResponseHeaders: function() { }, getResponseHeader: function() { }, setRequestHeader: function() { }, abort: function() { this.aborted = 1; B.attr("src", "about:blank") } }; var G = A.global; if (G && !b.active++) { b.event.trigger("ajaxStart") } if (G) { b.event.trigger("ajaxSend", [w, A]) } if (v.beforeSend && v.beforeSend(w, v) === false) { v.global && b.active--; return } if (w.aborted) { return } var F = 0; var D = 0; var E = k.clk; if (E) { var x = E.name; if (x && !E.disabled) { o.extraData = o.extraData || {}; o.extraData[x] = E.value; if (E.type == "image") { o.extraData[name + ".x"] = k.clk_x; o.extraData[name + ".y"] = k.clk_y } } } setTimeout(function() { var J = d.attr("target"), K = d.attr("action"); k.setAttribute("target", C); if (k.getAttribute("method") != "POST") { k.setAttribute("method", "POST") } if (k.getAttribute("action") != A.url) { k.setAttribute("action", A.url) } if (!o.skipEncodingOverride) { d.attr({ encoding: "multipart/form-data", enctype: "multipart/form-data" }) } if (A.timeout) { setTimeout(function() { D = true; q() }, A.timeout) } var I = []; try { if (o.extraData) { for (var H in o.extraData) { I.push(b('<input type="hidden" name="' + H + '" value="' + o.extraData[H] + '" />').appendTo(k)[0]) } } B.appendTo("body"); j.attachEvent ? j.attachEvent("onload", q) : j.addEventListener("load", q, false); k.submit() } finally { k.setAttribute("action", K); J ? k.setAttribute("target", J) : d.removeAttr("target"); b(I).remove() } }, 10); var y = 0; function q() { if (F++) { return } j.detachEvent ? j.detachEvent("onload", q) : j.removeEventListener("load", q, false); var n = true; try { if (D) { throw "timeout" } var K, I; I = j.contentWindow ? j.contentWindow.document : j.contentDocument ? j.contentDocument : j.document; if ((I.body == null || I.body.innerHTML == "") && !y) { y = 1; F--; setTimeout(q, 100); return } w.responseText = I.body ? I.body.innerHTML : null; w.responseXML = I.XMLDocument ? I.XMLDocument : I; w.getResponseHeader = function(M) { var L = { "content-type": A.dataType }; return L[M] }; if (A.dataType == "json" || A.dataType == "script") { var J = I.getElementsByTagName("textarea")[0]; w.responseText = J ? J.value : w.responseText } else { if (A.dataType == "xml" && !w.responseXML && w.responseText != null) { w.responseXML = z(w.responseText) } } K = b.httpData(w, A.dataType) } catch (H) { n = false; b.handleError(A, w, "error", H) } if (n) { A.success(K, "success"); if (G) { b.event.trigger("ajaxSuccess", [w, A]) } } if (G) { b.event.trigger("ajaxComplete", [w, A]) } if (G && ! --b.active) { b.event.trigger("ajaxStop") } if (A.complete) { A.complete(w, n ? "success" : "error") } setTimeout(function() { B.remove(); w.responseXML = null }, 100) } function z(n, H) { if (window.ActiveXObject) { H = new ActiveXObject("Microsoft.XMLDOM"); H.async = "false"; H.loadXML(n) } else { H = (new DOMParser()).parseFromString(n, "text/xml") } return (H && H.documentElement && H.documentElement.tagName != "parsererror") ? H : null } } }; b.fn.ajaxForm = function(c) { return this.ajaxFormUnbind().bind("submit.form-plugin", function() { b(this).ajaxSubmit(c); return false }).each(function() { b(":submit,input:image", this).bind("click.form-plugin", function(f) { var g = this.form; g.clk = this; if (this.type == "image") { if (f.offsetX != undefined) { g.clk_x = f.offsetX; g.clk_y = f.offsetY } else { if (typeof b.fn.offset == "function") { var d = b(this).offset(); g.clk_x = f.pageX - d.left; g.clk_y = f.pageY - d.top } else { g.clk_x = f.pageX - this.offsetLeft; g.clk_y = f.pageY - this.offsetTop } } } setTimeout(function() { g.clk = g.clk_x = g.clk_y = null }, 10) }) }) }; b.fn.ajaxFormUnbind = function() { this.unbind("submit.form-plugin"); return this.each(function() { b(":submit,input:image", this).unbind("click.form-plugin") }) }; b.fn.formToArray = function(h) { var r = []; if (this.length == 0) { return r } var c = this[0]; var g = h ? c.getElementsByTagName("*") : c.elements; if (!g) { return r } for (var l = 0, e = g.length; l < e; l++) { var k = g[l]; var m = k.name; if (!m) { continue } if (h && c.clk && k.type == "image") { if (!k.disabled && c.clk == k) { r.push({ name: m, value: b(k).val() }); r.push({ name: m + ".x", value: c.clk_x }, { name: m + ".y", value: c.clk_y }) } continue } var d = b.fieldValue(k, true); if (d && d.constructor == Array) { for (var o = 0, p = d.length; o < p; o++) { r.push({ name: m, value: d[o] }) } } else { if (d !== null && typeof d != "undefined") { r.push({ name: m, value: d }) } } } if (!h && c.clk) { var f = b(c.clk), q = f[0], m = q.name; if (m && !q.disabled && q.type == "image") { r.push({ name: m, value: f.val() }); r.push({ name: m + ".x", value: c.clk_x }, { name: m + ".y", value: c.clk_y }) } } return r }; b.fn.formSerialize = function(c) { return b.param(this.formToArray(c)) }; b.fn.fieldSerialize = function(c) { var d = []; this.each(function() { var f = this.name; if (!f) { return } var g = b.fieldValue(this, c); if (g && g.constructor == Array) { for (var e = 0, h = g.length; e < h; e++) { d.push({ name: f, value: g[e] }) } } else { if (g !== null && typeof g != "undefined") { d.push({ name: this.name, value: g }) } } }); return b.param(d) }; b.fn.fieldValue = function(c) { for (var g = [], d = 0, h = this.length; d < h; d++) { var e = this[d]; var f = b.fieldValue(e, c); if (f === null || typeof f == "undefined" || (f.constructor == Array && !f.length)) { continue } f.constructor == Array ? b.merge(g, f) : g.push(f) } return g }; b.fieldValue = function(h, o) { var k = h.name, e = h.type, d = h.tagName.toLowerCase(); if (typeof o == "undefined") { o = true } if (o && (!k || h.disabled || e == "reset" || e == "button" || (e == "checkbox" || e == "radio") && !h.checked || (e == "submit" || e == "image") && h.form && h.form.clk != h || d == "select" && h.selectedIndex == -1)) { return null } if (d == "select") { var c = h.selectedIndex; if (c < 0) { return null } var p = [], g = h.options; var f = (e == "select-one"); var q = (f ? c + 1 : g.length); for (var j = (f ? c : 0); j < q; j++) { var m = g[j]; if (m.selected) { var l = m.value; if (!l) { l = (m.attributes && m.attributes.value && !(m.attributes.value.specified)) ? m.text : m.value } if (f) { return l } p.push(l) } } return p } return h.value }; b.fn.clearForm = function() { return this.each(function() { b("input,select,textarea", this).clearFields() }) }; b.fn.clearFields = b.fn.clearInputs = function() { return this.each(function() { var d = this.type, c = this.tagName.toLowerCase(); if (d == "text" || d == "password" || c == "textarea") { this.value = "" } else { if (d == "checkbox" || d == "radio") { this.checked = false } else { if (c == "select") { this.selectedIndex = -1 } } } }) }; b.fn.resetForm = function() { return this.each(function() { if (typeof this.reset == "function" || (typeof this.reset == "object" && !this.reset.nodeType)) { this.reset() } }) }; b.fn.enable = function(c) { if (c == undefined) { c = true } return this.each(function() { this.disabled = !c }) }; b.fn.selected = function(c) { if (c == undefined) { c = true } return this.each(function() { var e = this.type; if (e == "checkbox" || e == "radio") { this.checked = c } else { if (this.tagName.toLowerCase() == "option") { var d = b(this).parent("select"); if (c && d[0] && d[0].type == "select-one") { d.find("option").selected(false) } this.selected = c } } }) }; function a() { if (b.fn.ajaxSubmit.debug && window.console && window.console.log) { window.console.log("[jquery.form] " + Array.prototype.join.call(arguments, "")) } } })(jQuery);

//masked input
(function(a) { var c = (a.browser.msie ? "paste" : "input") + ".mask"; var b = (window.orientation != undefined); a.mask = { definitions: { "9": "[0-9]", a: "[A-Za-z]", "*": "[A-Za-z0-9]"} }; a.fn.extend({ caret: function(e, f) { if (this.length == 0) { return } if (typeof e == "number") { f = (typeof f == "number") ? f : e; return this.each(function() { if (this.setSelectionRange) { this.focus(); this.setSelectionRange(e, f) } else { if (this.createTextRange) { var g = this.createTextRange(); g.collapse(true); g.moveEnd("character", f); g.moveStart("character", e); g.select() } } }) } else { if (this[0].setSelectionRange) { e = this[0].selectionStart; f = this[0].selectionEnd } else { if (document.selection && document.selection.createRange) { var d = document.selection.createRange(); e = 0 - d.duplicate().moveStart("character", -100000); f = e + d.text.length } } return { begin: e, end: f} } }, unmask: function() { return this.trigger("unmask") }, mask: function(j, d) { if (!j && this.length > 0) { var f = a(this[0]); var g = f.data("tests"); return a.map(f.data("buffer"), function(l, m) { return g[m] ? l : null }).join("") } d = a.extend({ placeholder: "_", completed: null }, d); var k = a.mask.definitions; var g = []; var e = j.length; var i = null; var h = j.length; a.each(j.split(""), function(m, l) { if (l == "?") { h--; e = m } else { if (k[l]) { g.push(new RegExp(k[l])); if (i == null) { i = g.length - 1 } } else { g.push(null) } } }); return this.each(function() { var r = a(this); var m = a.map(j.split(""), function(x, y) { if (x != "?") { return k[x] ? d.placeholder : x } }); var n = false; var q = r.val(); r.data("buffer", m).data("tests", g); function v(x) { while (++x <= h && !g[x]) { } return x } function t(x) { while (!g[x] && --x >= 0) { } for (var y = x; y < h; y++) { if (g[y]) { m[y] = d.placeholder; var z = v(y); if (z < h && g[y].test(m[z])) { m[y] = m[z] } else { break } } } s(); r.caret(Math.max(i, x)) } function u(y) { for (var A = y, z = d.placeholder; A < h; A++) { if (g[A]) { var B = v(A); var x = m[A]; m[A] = z; if (B < h && g[B].test(x)) { z = x } else { break } } } } function l(y) { var x = a(this).caret(); var z = y.keyCode; n = (z < 16 || (z > 16 && z < 32) || (z > 32 && z < 41)); if ((x.begin - x.end) != 0 && (!n || z == 8 || z == 46)) { w(x.begin, x.end) } if (z == 8 || z == 46 || (b && z == 127)) { t(x.begin + (z == 46 ? 0 : -1)); return false } else { if (z == 27) { r.val(q); r.caret(0, p()); return false } } } function o(B) { if (n) { n = false; return (B.keyCode == 8) ? false : null } B = B || window.event; var C = B.charCode || B.keyCode || B.which; var z = a(this).caret(); if (B.ctrlKey || B.altKey || B.metaKey) { return true } else { if ((C >= 32 && C <= 125) || C > 186) { var x = v(z.begin - 1); if (x < h) { var A = String.fromCharCode(C); if (g[x].test(A)) { u(x); m[x] = A; s(); var y = v(x); a(this).caret(y); if (d.completed && y == h) { d.completed.call(r) } } } } } return false } function w(x, y) { for (var z = x; z < y && z < h; z++) { if (g[z]) { m[z] = d.placeholder } } } function s() { return r.val(m.join("")).val() } function p(y) { var z = r.val(); var C = -1; for (var B = 0, x = 0; B < h; B++) { if (g[B]) { m[B] = d.placeholder; while (x++ < z.length) { var A = z.charAt(x - 1); if (g[B].test(A)) { m[B] = A; C = B; break } } if (x > z.length) { break } } else { if (m[B] == z[x] && B != e) { x++; C = B } } } if (!y && C + 1 < e) { r.val(""); w(0, h) } else { if (y || C + 1 >= e) { s(); if (!y) { r.val(r.val().substring(0, C + 1)) } } } return (e ? B : i) } if (!r.attr("readonly")) { r.one("unmask", function() { r.unbind(".mask").removeData("buffer").removeData("tests") }).bind("focus.mask", function() { q = r.val(); var x = p(); s(); setTimeout(function() { if (x == j.length) { r.caret(0, x) } else { r.caret(x) } }, 0) }).bind("blur.mask", function() { p(); if (r.val() != q) { r.change() } }).bind("keydown.mask", l).bind("keypress.mask", o).bind(c, function() { setTimeout(function() { r.caret(p(true)) }, 0) }) } p() }) } }) })(jQuery);

//watermark
$(document).ready(function() { swapValues = []; $(".watermark").each(function(a) { swapValues[a] = $(this).val(); $(this).focus(function() { if ($(this).val() == swapValues[a]) { $(this).val("") } $(this).removeClass("lite") }).blur(function() { if ($.trim($(this).val()) == "") { $(this).val(swapValues[a]); $(this).addClass("lite") } }) }) });

//stars
(function(A) { A.widget("ui.stars", { _init: function() { var B = this, E = this.options, F = 0; E.isSelect = E.inputType == "select"; this.$form = A(this.element).closest("form"); this.$selec = E.isSelect ? A("select", this.element) : null; this.$rboxs = E.isSelect ? A("option", this.$selec) : A(":radio", this.element); this.$stars = this.$rboxs.map(function(I) { var J = { value: this.value, title: (E.isSelect ? this.text : this.title) || this.value, isDefault: (E.isSelect && this.defaultSelected) || this.defaultChecked }; if (I == 0) { E.split = typeof E.split != "number" ? 0 : E.split; E.val2id = []; E.id2val = []; E.id2title = []; E.name = E.isSelect ? B.$selec.get(0).name : this.name; E.disabled = E.disabled || (E.isSelect ? A(B.$selec).attr("disabled") : A(this).attr("disabled")) } if (J.value == E.cancelValue) { E.cancelTitle = J.title; return null } E.val2id[J.value] = F; E.id2val[F] = J.value; E.id2title[F] = J.title; if (J.isDefault) { E.checked = F; E.value = E.defaultValue = J.value; E.title = J.title } var H = A("<div/>").addClass(E.starClass); var K = A("<a/>").attr("title", E.showTitles ? J.title : "").text(J.value); if (E.split) { var G = (F % E.split); var L = Math.floor(E.starWidth / E.split); H.width(L); K.css("margin-left", "-" + (G * L) + "px") } F++; return H.append(K).get(0) }); E.items = F; E.isSelect ? this.$selec.remove() : this.$rboxs.remove(); this.$cancel = A("<div/>").addClass(E.cancelClass).append(A("<a/>").attr("title", E.showTitles ? E.cancelTitle : "").text(E.cancelValue)); E.cancelShow &= !E.disabled && !E.oneVoteOnly; E.cancelShow && this.element.append(this.$cancel); this.element.append(this.$stars); if (E.checked === undefined) { E.checked = -1; E.value = E.defaultValue = E.cancelValue; E.title = "" } this.$value = A('<input type="hidden" name="' + E.name + '" value="' + E.value + '" />'); this.element.append(this.$value); this.$stars.bind("click.stars", function(H) { if (!E.forceSelect && E.disabled) { return false } var G = B.$stars.index(this); E.checked = G; E.value = E.id2val[G]; E.title = E.id2title[G]; B.$value.attr({ disabled: E.disabled ? "disabled" : "", value: E.value }); C(G, false); B._disableCancel(); !E.forceSelect && B.callback(H, "star") }).bind("mouseover.stars", function() { if (E.disabled) { return false } var G = B.$stars.index(this); C(G, true) }).bind("mouseout.stars", function() { if (E.disabled) { return false } C(B.options.checked, false) }); this.$cancel.bind("click.stars", function(G) { if (!E.forceSelect && (E.disabled || E.value == E.cancelValue)) { return false } E.checked = -1; E.value = E.cancelValue; E.title = ""; B.$value.val(E.value).attr({ disabled: "disabled" }); D(); B._disableCancel(); !E.forceSelect && B.callback(G, "cancel") }).bind("mouseover.stars", function() { if (B._disableCancel()) { return false } B.$cancel.addClass(E.cancelHoverClass); D(); B._showCap(E.cancelTitle) }).bind("mouseout.stars", function() { if (B._disableCancel()) { return false } B.$cancel.removeClass(E.cancelHoverClass); B.$stars.triggerHandler("mouseout.stars") }); this.$form.bind("reset.stars", function() { !E.disabled && B.select(E.defaultValue) }); A(window).unload(function() { B.$cancel.unbind(".stars"); B.$stars.unbind(".stars"); B.$form.unbind(".stars"); B.$selec = B.$rboxs = B.$stars = B.$value = B.$cancel = B.$form = null }); function C(G, I) { if (G != -1) { var J = I ? E.starHoverClass : E.starOnClass; var H = I ? E.starOnClass : E.starHoverClass; B.$stars.eq(G).prevAll("." + E.starClass).andSelf().removeClass(H).addClass(J); B.$stars.eq(G).nextAll("." + E.starClass).removeClass(E.starHoverClass + " " + E.starOnClass); B._showCap(E.id2title[G]) } else { D() } } function D() { B.$stars.removeClass(E.starOnClass + " " + E.starHoverClass); B._showCap("") } this.select(E.value); E.disabled && this.disable() }, _disableCancel: function() { var C = this.options, B = C.disabled || C.oneVoteOnly || (C.value == C.cancelValue); if (B) { this.$cancel.removeClass(C.cancelHoverClass).addClass(C.cancelDisabledClass) } else { this.$cancel.removeClass(C.cancelDisabledClass) } this.$cancel.css("opacity", B ? 0.5 : 1); return B }, _disableAll: function() { var B = this.options; this._disableCancel(); if (B.disabled) { this.$stars.filter("div").addClass(B.starDisabledClass) } else { this.$stars.filter("div").removeClass(B.starDisabledClass) } }, _showCap: function(B) { var C = this.options; if (C.captionEl) { C.captionEl.text(B) } }, value: function() { return this.options.value }, select: function(D) { var C = this.options, B = (D == C.cancelValue) ? this.$cancel : this.$stars.eq(C.val2id[D]); C.forceSelect = true; B.triggerHandler("click.stars"); C.forceSelect = false }, selectID: function(D) { var C = this.options, B = (D == -1) ? this.$cancel : this.$stars.eq(D); C.forceSelect = true; B.triggerHandler("click.stars"); C.forceSelect = false }, enable: function() { this.options.disabled = false; this._disableAll() }, disable: function() { this.options.disabled = true; this._disableAll() }, destroy: function() { this.options.isSelect ? this.$selec.appendTo(this.element) : this.$rboxs.appendTo(this.element); this.$form.unbind(".stars"); this.$cancel.unbind(".stars").remove(); this.$stars.unbind(".stars").remove(); this.$value.remove(); this.element.unbind(".stars").removeData("stars") }, callback: function(C, B) { var D = this.options; D.callback && D.callback(this, B, D.value, C); D.oneVoteOnly && !D.disabled && this.disable() } }); A.extend(A.ui.stars, { version: "2.1.1", getter: "value", defaults: { inputType: "radio", split: 0, disabled: false, cancelTitle: "Cancel Rating", cancelValue: 0, cancelShow: true, oneVoteOnly: false, showTitles: false, captionEl: null, callback: null, starWidth: 16, cancelClass: "ui-stars-cancel", starClass: "ui-stars-star", starOnClass: "ui-stars-star-on", starHoverClass: "ui-stars-star-hover", starDisabledClass: "ui-stars-star-disabled", cancelHoverClass: "ui-stars-cancel-hover", cancelDisabledClass: "ui-stars-cancel-disabled"} }) })(jQuery);
