﻿
function Ajax() { this._create = function() { var _p; try { _p = new XMLHttpRequest(); } catch (e) { var r = new Array("MSXML2.XMLHTTP.6.0", "MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"); for (var i = 0; i < r.length && !_p; i++) { try { _p = new ActiveXObject(r[i]); if (_p) { break; } } catch (e) { } } } if (!_p) { alert('Fail to init Ajax.'); } else { return _p; } }; this.Request = function(A) { var parm = A.data || null; var method = A.method || 'POST'; var url = A.url; var async = A.async || true; var func = A.success || null; var cache = A.cache || false; var t = ''; if (parm != null) { for (var key in parm) { t += '&' + key + '=' + encodeURIComponent(parm[key]); } if (t != '') { t = t.substring(1); } if (t != '' && !cache) { t += '&' + Date(); } } method = method.toLowerCase(); var B = this._create(); if (B) { try { if (method == 'get') { if (t != '') { url += '?' + t; } parm = null; } B.open(method, url, async); if (!cache) { B.setRequestHeader('cache-control', 'no-cache'); } if (method == 'post') { B.setRequestHeader('content-type', 'application/x-www-form-urlencoded; charset=utf-8'); parm = t; } B.onreadystatechange = function() { if (B.readyState == 4) { if (B.status == 200) { if (func != null) { func(B); } B = null; } } }; B.send(parm); } catch (e) { alert(e.toString()); } } } }
function $(idstr) { if (idstr != null && idstr != '') { var element = document.getElementById(idstr); return element; } return false; }
function $N(namestr) { if (namestr != null && namestr != '') { var elements = new Array(); elements = document.getElementsByName(namestr); return elements; } return false; }
function $T(namestr) { if (namestr != null) { var elements = new Array(); elements = document.getElementsByTagName(namestr); return elements; } return false; }

var xy = {};
xy.version = '1.0.0.2'; xy.author = 'tiger'; xy.lastupdate = '2010-03-22 21:00:00';
xy.checkAll = function (e, name) { var sub = $N(name); for (var i = 0; i < sub.length; i++) { if (!sub.item(i).disabled) sub.item(i).checked = e.checked; } }
xy.checkOne = function (name, value) { var sub = $N(name); for (var i = 0; i < sub.length; i++) { if (sub.item(i).value == value) { sub.item(i).checked = 'checked'; } else { sub.item(i).checked = ''; } } }
xy.getAllChecked = function(name, split) { var sub = $N(name); var tmp = ''; split = split || ','; for (var i = 0; i < sub.length; i++) { if (sub.item(i).checked) tmp += split + sub.item(i).value; } if (tmp != '') tmp = tmp.substring(split.length); return tmp; }
xy.getAllCheckBox = function(name, split) { var sub = $N(name); var tmp = ''; split = split || ','; for (var i = 0; i < sub.length; i++) { tmp += split + sub.item(i).value; } if (tmp != '') tmp = tmp.substring(split.length); return tmp; }
xy.borderFocus = function(e, c) { if (e == null) return; if (c == null) c = '#239fe3'; e.style.border = 'solid 1px ' + c; }
xy.borderBlur = function(e, c) { if (e == null) return; if (c == null) c = '#cecece'; e.style.border = 'solid 1px ' + c; }
xy.setBGColor = function(e, c) { e.style.background = c; }
xy.dateCompare = function(d1, d2) { var d11 = new Date(d1.replace(/\-/g, '/')); var d22 = new Date(d2.replace(/\-/g, '/')); return d11 >= d22; }
xy.checkInputBox = function(e, inorout) { if (!inorout) { if (e.value == '') { e.value = e.defaultValue; e.style.color = '#999'; } else { e.style.color = '#000'; } } else { if (e.value == e.defaultValue) { e.value = ''; } e.style.color = '#000'; } }
xy.trim = function(s) { if (s.match(/^\s*$/g)) return s; s = s.replace(/^\s*|\s*$/g, ''); return s; }
xy.match = function(s, c) { var r = new RegExp(c, 'gi'); return s.match(r); }
xy.isMobile = function(s) { return xy.match(s, '^\s*(?:13|15|18)[0-9]{9}\s*$'); }
xy.isEmail = function(s) { return xy.match(s, '^\s*[A-Z0-9._%+-]+@[A-Z0-9.-]+\.(?:com|org|net|gov|biz|info|name|aero|mobi|jobs|museum|asia|[A-Z]{2})\s*$'); }
xy.isDate = function(s) { return xy.match(s, '^[0-9]{4}([-\/][0-9]{1,2}){2}$'); }
xy.isDigit = function(s) { return xy.match(s, '^[0-9]+$'); }
xy.isEmpty = function(s) { return xy.match(s, '^\s*$'); }
xy.isPhone = function(a, b, c) { a = xy.trim(a); b = xy.trim(b); c = xy.trim(c); if (b == '') { return false; } if (!xy.isDigit(b)) { return false; } if (a == '') { return false; } if (!xy.isDigit(a)) { return false; } if (c != '' && !xy.isDigit(c)) { return false; } return true; }
xy.unique = function(arr) { var ret = [], done = {}; try { for (var i = 0, length = arr.length; i < length; i++) { var id = arr[i]; if (!done[id]) { done[id] = true; ret.push(arr[i]); } } } catch (e) { ret = arr; } return ret; };
xy.elementInArray = function (arr, ele) { if (arr == null || arr.length == 0 || ele == null) { return false; } for (var i = 0; i < arr.length; i++) { if (arr[i] == ele) { return true; } } return false; }
xy.getTelephone = function (citycode, number, ext, intcode) { intcode = intcode || ''; intcode = xy.trim(intcode); citycode = xy.trim(citycode); number = xy.trim(number); ext = xy.trim(ext); if (number == '') { return ''; } if (citycode == '') { citycode = '21'; } citycode = citycode.replace(/^0+/g, ''); var p = citycode + '-' + number; if (ext != '') { p += '-' + ext; } if (intcode == '') { p = '0' + p; } else { if (!intcode.match(/^\+/g)) { intcode = '+' + intcode; } p = intcode + '-' + p; } return p; }

