Software: Apache/2.2.3 (CentOS). PHP/5.1.6 uname -a: Linux mx-ll-110-164-51-230.static.3bb.co.th 2.6.18-194.el5PAE #1 SMP Fri Apr 2 15:37:44 uid=48(apache) gid=48(apache) groups=48(apache) Safe-mode: OFF (not secure) /var/www/html/cvc/js/ drwxr-xr-x |
Viewing file: gajax_js.js (43.36 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) | /* GAJAX Javascript Libraly And Ajax Frame Work design by http://www.goragod.com (goragod wiriya) 3-4-53 */ GBrowser = { IE: !!(window.attachEvent && !window.opera), Opera: !!window.opera, WebKit: navigator.userAgent.indexOf('AppleWebKit/') > -1, Gecko: navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('KHTML') == -1, MobileSafari: !!navigator.userAgent.match(/Apple.*Mobile.*Safari/) }; var domloaded = false; var GClass = { create: function() { return function() { this.initialize.apply(this, arguments); }; } }; Object.extend = function(destination, source) { for(var property in source) { destination[property] = source[property]; }; return destination; }; Object.extend(Object, { isObject: function(object) { return typeof object == "object"; }, isFunction: function(object) { return typeof object == "function"; }, isString: function(object) { return typeof object == "string"; }, isNumber: function(object) { return typeof object == "number"; }, isNull: function(object) { return typeof object == "undefined"; }, isGElement: function(object) { return object != null && typeof object == "object" && 'getDimensions' in object && 'viewportOffset' in object; } } ); GEvent = { isButton: function(event, code) { var buttonMap = {0: 1, 1: 4, 2: 2}; if (GBrowser.IE) { return event.button == buttonMap[code]; } else if (GBrowser.WebKit) { switch (code) { case 0: return event.which == 1 && !event.metaKey; case 1: return event.which == 1 && event.metaKey; default: return false; } } else { return event.which? (event.which === code + 1): (event.button === code); } }, isLeftClick: function(event) {return GEvent.isButton(event, 0)}, isMiddleClick: function(event) {return GEvent.isButton(event, 1)}, isRightClick: function(event) {return GEvent.isButton(event, 2)}, element: function(event) { var node = event.target? event.target: event.srcElement; return event.nodeType == 3? node.parentNode: node; }, keyCode: function(event) { return event.which || event.keyCode; }, stop: function(event) { if(event.stopPropagation) { event.stopPropagation(); event.preventDefault(); } else { event.cancelBubble = true; event.returnValue = false; }; }, pointer: function(event) { return { x: event.pageX || (event.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft)), y: event.pageY || (event.clientY + (document.documentElement.scrollTop || document.body.scrollTop)) }; }, pointerX: function(event) {return GEvent.pointer(event).x}, pointerY: function(event) {return GEvent.pointer(event).y} }; function _Element(elem, src) { var property; if (Object.isString(elem)) { var obj = document.getElementById(elem); if(!obj) { src.elem = elem; return false; }else if(obj.nodeType == 1) { for(property in obj) { try { src[property] = obj[property]; }catch(e) {}; }; src.elem = obj; return true; }; }else if(elem != window) { for(property in elem) { try { src[property] = elem[property]; }catch(e) {}; }; } src.elem = elem; return true; }; GNative = GClass.create(); GNative.prototype = { initialize: function(elem) { _Element(elem, this); } }; GElement = GClass.create(); GElement.prototype = Object.extend(new GNative(), { getDimensions: function() { var display = this.getStyle('display'); if (display != 'none' && display != null) { var originalWidth = this.elem.offsetWidth; var originalHeight = this.elem.offsetHeight; } else { var els = this.elem.style; var originalVisibility = els.visibility; var originalPosition = els.position; var originalDisplay = els.display; els.visibility = 'hidden'; els.position = 'absolute'; els.display = 'block'; var originalWidth = this.elem.clientWidth; var originalHeight = this.elem.clientHeight; els.display = originalDisplay; els.position = originalPosition; els.visibility = originalVisibility; }; var result =[originalWidth, originalHeight]; result.width = originalWidth; result.height = originalHeight; return result; }, viewportOffset: function() { var valueT = this.elem.offsetTop; var valueL = this.elem.offsetLeft; var parentEl = this.elem.offsetParent; while(parentEl != null) { valueT += parentEl.offsetTop; valueL += parentEl.offsetLeft; if (parentEl.offsetParent == document.body && parentEl.style.position == 'absolute') break; parentEl = parentEl.offsetParent; }; var result =[valueL, valueT]; result.left = valueL; result.top = valueT; return result; }, getOffsetParent: function() { if (this.elem.offsetParent) return GElement(this.elem.offsetParent); if (this.elem == document.body) return this.elem; while((element = this.elem.parentNode) && element != document.body) { if (element.style.position != 'static') return GElement(element); }; return GElement(document.body); }, getTop: function() { return this.viewportOffset().top; }, getLeft: function() { return this.viewportOffset().left; }, getWidth: function() { return this.getDimensions().width; }, getHeight: function() { return this.getDimensions().height; }, hide: function() { this.setStyle('visibility', 'hidden'); }, show: function() { this.setStyle('visibility', 'visible'); }, visible: function() { return this.style.visibility != 'hidden'; }, toggle: function() { if (this.visible) { this.hide(); } else { this.show(); }; }, center: function() { var size = this.getDimensions(); this.style.top = (document.viewport.getscrollTop() + ((document.viewport.getHeight() - size.height) / 2)) + 'px'; this.style.left = (document.viewport.getscrollLeft() + ((document.viewport.getWidth() - size.width) / 2)) + 'px'; }, getStyle: function(style) { style = (style == 'float' && this.elem.currentStyle)? 'styleFloat': style; style = (style == 'borderColor')? 'borderBottomColor': style; value = (this.elem.currentStyle)? this.elem.currentStyle[style]: null; value = (!value && window.getComputedStyle) ? document.defaultView.getComputedStyle(this.elem, null).getPropertyValue(style.replace(/([A-Z])/g, "-$1").toLowerCase()) : value; if (style == 'opacity') return value? parseFloat(value): 1.0; return value == 'auto'? null: value; }, setStyle: function(property, value) { if (property == 'opacity') { if (window.ActiveXObject) this.elem.style.filter = "alpha(opacity=" + (value * 100) + ")"; this.elem.style.opacity = value; } else if (property == 'float' || property == 'styleFloat' || property == 'cssFloat') { if (Object.isNull(this.elem.style.styleFloat)) { this.elem.style['cssFloat'] = value; } else { this.elem.style['styleFloat'] = value; }; } else { this.elem.style[property] = value; } }, addEvent: function(type, fn, useCapture) { var obj = this.elem; if (obj.addEventListener) { useCapture = !useCapture? false: useCapture; obj.addEventListener(type, fn, useCapture); }else if (obj.attachEvent) { obj["e"+type+fn] = fn; obj[type+fn] = function() {obj["e"+type+fn](window.event);}; obj.attachEvent("on"+type, obj[type+fn]); }; }, removeEvent: function(type, fn) { if (this.elem.removeEventListener) this.elem.removeEventListener(((type == 'mousewheel' && window.gecko)? 'DOMMouseScroll': type), fn, false); else this.elem.detachEvent('on'+type, fn); }, remove: function() { this.elem.parentNode.removeChild(this.elem); }, copy: function() { return $G(this.elem.cloneNode(true)); }, insert: function(el) { this.elem.appendChild(Object.isGElement(el)? el.elem: el); }, insertBefore: function(el) { this.elem.parentNode.insertBefore(Object.isGElement(el)? el.elem: el); }, insertAfter: function(el) { var parent = this.elem.parentNode; var newElement = Object.isGElement(el)? el.elem: el; if(parent.lastchild == this.elem) { parent.appendChild(newElement); }else { parent.insertBefore(newElement, this.elem.nextSibling); } }, replace: function(el) { this.elem.parentNode.replaceChild(Object.isGElement(el)? el.elem: el, this.elem); }, get: function(prop) { return this.elem.getAttribute(prop); }, set: function(prop, value) { this.elem.setAttribute(prop, value); }, Ready: function(onload) { this.timeout = 0; var temp = this; var preload = function() { if(domloaded && _Element(temp.elem, temp)) { onload.call(temp); }else if(temp.timeout < 1000) { window.setTimeout(preload, 10); temp.timeout++; } }; preload(); } } ); Function.prototype.bind = function(object) { var __method = this; return function() { return __method.apply(object, arguments); } }; function functionReady(func, onload) { var preload = function() { if(domloaded && typeof func != "undefined") { onload.apply(); } else { window.setTimeout(preload, 10); }; }; preload(); }; $G(window).addEvent('load', function() { domloaded = true; } ); if (!Array.prototype.indexOf) Array.prototype.indexOf = function(item, i) { i || (i = 0); var length = this.length; if (i < 0) i = length + i; for (; i < length; i++) if (this[i] === item) return i; return -1; }; function forEach(items, func) { for (var i = 0; i < items.length; i++) { func.call(this, items[i], i); }; }; Object.extend(String.prototype, { hexToRgb: function(array) { var hex = this.match(new RegExp('^[#]{0,1}([\\w]{1,2})([\\w]{1,2})([\\w]{1,2})$')); var rgb =[]; for (var i = 1; i < hex.length; i++) { if (hex[i].length == 1) hex[i] += hex[i]; rgb.push(parseInt(hex[i], 16)); }; var rgbText = 'rgb(' + rgb.join(',') + ')'; if (array) return[parseFloat(rgb[0]), parseFloat(rgb[1]), parseFloat(rgb[2])]; else return rgbText; }, ToRgb: function() { if (this.match(/^#[0-9a-f]{3,6}$/i)) return this.hexToRgb(true); return ((value = this.match(/(\d+),\s*(\d+),\s*(\d+)/)))?[parseFloat(value[1]), parseFloat(value[2]), parseFloat(value[3])]: false; }, entityify: function() { return this. replace(/&/g, '&'). replace(/</g, '<'). replace(/>/g, '>'); }, unentityify: function() { return this. replace(/&/g, '&'). replace(/</g, '<'). replace(/>/g, '>'); }, toJSON: function() { try { if (this.length > 4) return eval('(' + this + ')'); } catch (e) {}; return null; }, escapeRegExp: function() { return this.replace(/([-.*+?^${}()|[\]\/\\])/g, '\\$1'); }, capitalize: function() { return this.replace(/\b[a-z]/g, function(match) { return match.toUpperCase(); } ); }, evalScript: function() { var regex = /<script type="text\/javascript">(.*?)<\/script>/g; text = this.replace(/[\r\n]/g, ''); text = text.replace(/\/\/<\!\[CDATA\[/g, ''); text = text.replace(/\/\/\]\]>/g, ''); match = regex.exec(text); while(match != null) { try {eval(match[1]);}catch(e) {}; match = regex.exec(text); }; }, leftPad: function(count, fill) { var ret = ''; for(var i = 0; i < (count - this.length); i++) { ret = ret + fill; }; return ret + this; }, rightPad: function(count, fill) { fill = fill? fill[0]: ' '; return this + fill.repeat(count - this.length); } } ); Date.prototype.dateFormat = function(format) { var result = ""; for (var i = 0; i < format.length; i++) { result += this.dateToString(format.charAt(i)); }; return result; }; Date.prototype.dateToString = function(character) { switch (character) { case "d": return this.getDate(); case "D": return Date.dayNames[this.getDay()]; case "y": return this.getFullYear().substring(2, 4); case "Y": return (this.getFullYear() + Date.yearOffset).toString().substring(2, 4); case "yy": return this.getFullYear(); case "YY": return this.getFullYear() + Date.yearOffset; case "m": return this.getMonth(); case "M": return Date.monthNames[this.getMonth()]; case "H": return this.getHours().toString().leftPad(2, '0'); case "h": return this.getHours(); case "A": return this.getHours() < 12? 'AM': 'PM'; case "a": return this.getHours() < 12? 'am': 'pm'; case "I": return this.getMinutes().toString().leftPad(2, '0'); case "i": return this.getMinutes(); case "S": return this.getSeconds().toString().leftPad(2, '0'); case "s": return this.getSeconds(); default: return character; } }; Date.monthNames =["มค.", "กพ.", "มีค.", "เมย.", "พค.", "มิย.", "กค.", "สค.", "กย.", "ตค.", "พย.", "ธค."]; Date.dayNames =["อา.", "จ.", "อ.", "พ.", "พฤ.", "ศ.", "ส."]; Date.yearOffset = 543; function $G(el) { return new GElement(el); }; function $E(el) { return Object.isString(el) ? document.getElementById(el) : (Object.isGElement(el)? el.elem: el); }; document.viewport = { getWidth: function() { return document.documentElement.clientWidth || document.body.clientWidth || self.innerWidth; }, getHeight: function() { return document.documentElement.clientHeight || document.body.clientHeight || self.innerHeight; }, getscrollTop: function() { return window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop; }, getscrollLeft: function() { return window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft; } }; document.getWidth = function() { return Math.max( Math.max(document.body.scrollWidth, document.documentElement.scrollWidth), Math.max(document.body.offsetWidth, document.documentElement.offsetWidth), Math.max(document.body.clientWidth, document.documentElement.clientWidth) ); }; document.getHeight = function() { return Math.max( Math.max(document.body.scrollHeight, document.documentElement.scrollHeight), Math.max(document.body.offsetHeight, document.documentElement.offsetHeight), Math.max(document.body.clientHeight, document.documentElement.clientHeight) ); }; Cookie = { get: function(key) { var value = document.cookie.match('(?:^|;)\\s*' + key.escapeRegExp() + '=([^;]*)'); return (value)? decodeURIComponent(value[1]): null; }, set: function(key, value, options) { _options = { path: false, domain: false, duration: false, secure: false }; for(var property in options) { _options[property] = options[property]; }; value = encodeURIComponent(value); if (_options.domain) value += '; domain=' + _options.domain; if (_options.path) value += '; path=' + _options.path; if (_options.duration) { var date = new Date(); date.setTime(date.getTime() + _options.duration * 24 * 60 * 60 * 1000); value += '; expires=' + date.toGMTString(); }; if (_options.secure) value += '; secure'; document.cookie = key + '=' + value; }, remove: function(key) { Cookie.set(key, '', {duration: -1}); } }; GAjax = GClass.create(); GAjax.prototype = { initialize: function(options) { this.options = { method: 'post', cache: false, asynchronous: true, contentType: 'application/x-www-form-urlencoded', encoding: 'UTF-8', onTimeout: function() {}, timeout: 4000 }; for(var property in options) { this.options[property] = options[property]; }; this.options.method = this.options.method.toLowerCase(); }, xhr: function() { var xmlHttp = null; try { xmlHttp = new XMLHttpRequest(); }catch(e) { try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); }catch(e) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); }; }; return xmlHttp; }, send: function(url, parameters, callback) { var self = this; this._xhr = this.xhr(); this._abort = false; if(!Object.isNull(this._xhr)) { self.showLoading(); option = this.options; if(option.method == 'get') { url += '?' + parameters; parameters = null; }else { parameters = parameters == null? '': parameters; }; if(option.cache == false) { /* ** Old Code var match = /\?/; if(match.test(url)) { url = url + '×tamp=' + new Date().getTime(); }else { url = url + '?timestamp=' + new Date().getTime(); }; */ // Edit By Plalai url = url + '/'+ new Date().getTime(); }; var onreadystatechange = function() { if (this._xhr.readyState == 4) { window.clearTimeout(self.calltimeout); self.hideLoading(); if(this._xhr.status == 200 && this._abort == false && Object.isFunction(callback)) { self.responseText = this._xhr.responseText; self.responseXML = this._xhr.responseXML; callback(self); }; }; }; this._xhr.open(option.method, url, option.asynchronous); this._xhr.onreadystatechange = onreadystatechange.bind(this); if(option.method == 'post') { this._xhr.setRequestHeader('Content-Type', option.contentType + '; charset=' + option.encoding); this._xhr.setRequestHeader('Content-Length', (parameters == null? 0: parameters.length)); }; var _calltimeout = function() { window.clearTimeout(self.calltimeout); option.onTimeout.bind(self); }; this.calltimeout = window.setTimeout(_calltimeout, option.timeout); this._xhr.send(parameters); if(option.asynchronous == false) { window.clearTimeout(this.calltimeout); this.responseText = this._xhr.responseText; this.responseXML = this._xhr.responseXML; }; }; }, autoupdate: function(url, interval, getrequest, callback) { this._xhr = this.xhr(); this.interval = interval * 1000; if(!Object.isNull(this._xhr)) { this.url = url; this.getrequest = getrequest; this.callback = callback; this._abort = false; this._getupdate(); }; }, _getupdate: function() { if(this._abort == false) { var parameters = null; var url = this.url; var option = this.options; if(Object.isFunction(this.getrequest)) { if(option.method == 'get') { url += '?' + this.getrequest(); }else { parameters = this.getrequest(); }; }; parameters = (option.method == 'post' && parameters == null)? '': parameters; if(option.cache == false) { var match = /\?/; if(match.test(url)) { url = url + '×tamp=' + new Date().getTime(); }else { url = url + '?timestamp=' + new Date().getTime(); }; }; var xhr = this._xhr; var temp = this; xhr.open(option.method, url, true); xhr.onreadystatechange = function() { if(xhr.readyState == 4 && xhr.status == 200) { temp.callback(xhr); window.clearTimeout(temp.calltimeout); temp.timeinterval = window.setTimeout(temp._getupdate.bind(temp), temp.interval); }; }; if(option.method == 'post') { xhr.setRequestHeader('Content-Type', option.contentType + '; charset=' + option.encoding); xhr.setRequestHeader('Content-Length', (parameters == null? 0: parameters.length)); }; var _calltimeout = function() { window.clearTimeout(temp.calltimeout); temp.timeinterval = window.setTimeout(temp._getupdate.bind(temp), temp.interval); }; this.calltimeout = window.setTimeout(_calltimeout, option.timeout); xhr.send(parameters); }; }, getRequestBody: function(pForm) { pForm = $E(pForm); var nParams = new Array(); for(var n = 0; n < pForm.elements.length; n++) { if ((pForm.elements[n].checked == true && pForm.elements[n].type == "radio") || (pForm.elements[n].checked == true && pForm.elements[n].type == "checkbox") || (pForm.elements[n].type != "radio" && pForm.elements[n].type != "checkbox")) { var pParam = pForm.elements[n].name; pParam += "="; pParam += encodeURIComponent(pForm.elements[n].value); nParams.push(pParam); }; }; return nParams.join("&"); }, showLoading: function() { if(this.loading) { this.wait = $G(this.loading); if(this.wait) { if(this.center) { this.wait.setStyle('display', 'block'); this.wait.center(); }else { this.wait.setStyle('visibility', 'visible'); }; }; }; }, hideLoading: function() { if(this.wait) { if(this.center) { this.wait.setStyle('display', 'none'); }else { this.wait.setStyle('visibility', 'hidden'); }; }; }, inintLoading: function(loading, center) { this.loading = loading; this.center = center; }, abort: function() { clearTimeout(this.timeinterval); this._abort = true; } }; var gform_id = 0; GForm = GClass.create(); GForm.prototype = { initialize: function(frm, loading, center, onsubmit) { this.form = $E(frm); this.loading = loading; this.center = center; this._onsubmit = Object.isFunction(onsubmit)? onsubmit: function() {return true}; }, onsubmit: function(callback) { var operaHack = true; var temp = this; this.form.onsubmit = function() { if(temp._onsubmit(temp.form) == false) { return false; }else { temp.showLoading(); var uploadCallback = function() { var doc = io.contentWindow? io.contentWindow.document: io.contentDocument? io.contentDocument: io.document; temp.responseText = doc.body? doc.body.innerHTML: null; temp.responseXML = doc.XMLDocument? doc.XMLDocument: doc; if(temp.responseText == '' && operaHack && GBrowser.Opera) { operaHack = false; setTimeout(function() {uploadCallback.bind(this)}, 100); return; }; operaHack = true; temp.hideLoading(); io.removeEvent('load', uploadCallback); window.setTimeout(function() {io.remove()}, 1); temp.form.method = old_method; temp.form.target = old_target; if (temp.form.encoding) temp.form.encoding = old_enctype; else temp.form.enctype = old_enctype; callback(temp); }.bind(temp.form); var io = temp.createIframe(); var old_target = this.target || ''; var old_method = this.method || "post"; var old_enctype = this.encoding? this.encoding: this.enctype; if (this.encoding) this.encoding = 'multipart/form-data'; else this.enctype = 'multipart/form-data'; io.addEvent('load', uploadCallback); this.target = io.id; this.method = 'post'; return true; }; }; }, submit: function(callback) { var temp = this; this.showLoading(); var uploadCallback = function() { temp.hideLoading(); var xhr = {}; try { xhr.responseText = io.contentWindow.document.body? io.contentWindow.document.body.innerHTML: null; xhr.responseXML = io.contentWindow.document.XMLDocument? io.contentWindow.document.XMLDocument: io.contentWindow.document; }catch(e) {}; io.removeEvent('load', uploadCallback); window.setTimeout(function() {io.remove()}, 1); temp.form.method = old_method; temp.form.target = old_target; callback(xhr); }.bind(this); if (this.form.encoding) this.form.encoding = 'multipart/form-data'; else this.form.enctype = 'multipart/form-data'; var io = this.createIframe(); var old_target = this.form.target || ''; var old_method = this.form.method || "post"; io.addEvent('load', uploadCallback); this.form.target = io.id; this.form.method = "post"; this.form.submit(); }, createIframe: function() { var frameId = 'GForm_Submit_' + gform_id + '_' + (this.form.id || this.form.name); gform_id++; if(window.ActiveXObject) { io = document.createElement('<iframe id="' + frameId + '" name="' + frameId + '" />'); io.src = 'javascript:false'; }else { io = document.createElement('iframe'); io.setAttribute('id', frameId); io.setAttribute('name', frameId); }; io.style.position = 'absolute'; io.style.top = '-1000px'; io.style.left = '-1000px'; document.body.appendChild(io); return $G(io); }, showLoading: function() { if (this.loading) { this.wait = $G(this.loading); if (this.wait) { if (this.center) { this.wait.setStyle('display', 'block'); this.wait.center(); }else { this.wait.setStyle('visibility', 'visible'); }; }; }; }, hideLoading: function() { if (this.wait) { if (this.center) { this.wait.setStyle('display', 'none'); } else { this.wait.setStyle('visibility', 'hidden'); }; }; }, inintLoading: function(loading, center) { this.loading = loading; this.center = center; } }; GLoader = GClass.create(); GLoader.prototype = { initialize: function(geturl, callback) { this.id = 'GLoader_iframe'; var loading = true; this.encode = true; this.geturl = geturl; var io = this.createIframe(); var uploadCallback = function() { this.hideLoading(); var xhr = {}; try { if(io.contentWindow.document.body) { var data = io.contentWindow.document.body.innerHTML; xhr.responseText = (this.encode? decodeURIComponent(data): data); }else xhr.responseText = 'Document Not Support !!'; }catch(e) { xhr.responseText = 'Invalid Charactor !!' }; if(!loading) callback(xhr); loading = false; }.bind(this); io.addEvent('load', uploadCallback); }, createIframe: function() { var io = null; if(!$E(this.id)) { if(window.ActiveXObject) { io = document.createElement('<iframe id="' + this.id + '" name="' + this.id + '" />'); }else { io = document.createElement('iframe'); io.setAttribute('id', this.id); io.setAttribute('name', this.id); }; io.style.position = 'absolute'; io.style.top = '-1000px'; io.style.left = '-1000px'; io.style.display = 'none'; document.body.appendChild(io); }; return $G(this.id); }, inint: function(obj) { var links = obj.getElementsByTagName('a'); var temp = this; var patt1 = new RegExp('^.*?' + location.hostname + '/(.*?)$'); var patt2 = new RegExp('.*?#.*?'); for(var i = 0; i < links.length; i++) { link = links[i]; try { href = link.href; if(link.target == '' && link.onclick == null && patt1.exec(href) && !patt2.exec(href)) { ret = this.geturl.call(this, href); if(ret) { link.tag = ret; link.onclick = function() { temp.showLoading(); $E(temp.id).src = this.tag; return false; }; }; }; }catch(e) {}; }; }, showLoading: function() { if(this.loading) { this.wait = $G(this.loading); if(this.wait) { if(this.center) { this.wait.setStyle('display', 'block'); this.wait.center(); }else { this.wait.setStyle('visibility', 'visible'); }; }; }; }, hideLoading: function() { if(this.wait) { if(this.center) { this.wait.setStyle('display', 'none'); }else { this.wait.setStyle('visibility', 'hidden'); }; }; }, inintLoading: function(loading, center) { this.loading = loading; this.center = center; }, submit: function(pForm) { var old_target = pForm.target; var old_action = pForm.action; pForm.target = this.id; pForm.action = this.geturl(old_action); this.showLoading(); pForm.submit(); window.setTimeout(function() { pForm.target = old_target; pForm.action = old_action; }, 1 ); return false; }, location: function(url) { this.showLoading(); $E(this.id).contentWindow.document.location = this.geturl(url); } }; GModal = GClass.create(); GModal.prototype = { initialize: function(onHide) { this.onhide = onHide || function() {}; var self = this; var checkESCkey = function(event) { var keycode = event.which || event.keyCode; if(keycode==27) { self.hide(); GEvent.stop(event); return false; }; }; var container_div = 'GModal_div'; if (!$E(container_div)) { $G(document).addEvent('keypress', checkESCkey); $G(document).addEvent('keydown', checkESCkey); var div = document.createElement('div'); div.setAttribute('id', container_div); div.style.left = '-1000px'; div.style.position = 'absolute'; document.body.appendChild(div); }; this.div = $G(container_div); this.div.setStyle('opacity', 0); }, show: function(value) { this.div.elem.innerHTML = value; this.div.elem.style.display = ''; this.div.center(); this.overlay(); new GFade(this.div).play({'from': 0, 'to': 100, 'speed': 1, 'duration': 20}); this.div.elem.style.zIndex = 9999; }, hide: function() { new GFade(this.div).play({'from': 100, 'to': 0, 'speed': 1, 'duration': 20, 'onComplete': this._hide.bind(this)}); }, overlay: function() { var frameId = 'GModal_iframe'; if (!$E(frameId)) { var io = null; if(window.ActiveXObject) { io = document.createElement('<iframe id="' + frameId + '" height="100%" />'); }else { io = document.createElement('iframe'); io.setAttribute('id', frameId); }; io.setAttribute('frameBorder', '0'); io.style.position = 'absolute'; document.body.appendChild(io); if (document.all) document.frames(frameId).document.bgColor = '#000000'; else io.style.backgroundColor = '#000000'; io.style.zIndex = 8888; }; this.iframe = $G(frameId); this.iframe.style.left = '0px'; this.iframe.style.top = '0px'; this.iframe.setStyle('opacity', 0.7); this.iframe.style.display = 'block'; this.iframe.style.height = document.getHeight() + 'px'; this.iframe.style.width = document.getWidth() + 'px'; }, _hide: function() { this.iframe.style.display = 'none'; this.div.style.display = 'none'; this.onhide.call(this); } }; GFx = function() {}; GFx.prototype = { _run: function() { this.playing = true; this.step(); }, stop: function() { this.playing = false; this.options.onComplete.call(this, this); } }; GFade = GClass.create(); GFade.prototype = Object.extend(new GFx(), { initialize: function(el) { this.options = { from: 0, to: 100, speed: 50, duration: 5, unit: '', onComplete: function() {} }; this.Element = $G(el); this.playing = false; this.timer = 0; }, play: function(options) { for(var property in options) { this.options[property] = options[property]; }; if (this.options.to > this.options.from) { this.name = 'fadeIn'; this.to = (this.options.to > 100)? 100: this.options.to; this.from = (this.options.from < 0)? 0: this.options.from; } else { this.name = 'fadeOut'; this.to = (this.options.to < 0)? 0: this.options.to; this.from = (this.options.from > 100)? 100: this.options.from; }; if (!this.playing) { this.now = this.from; this._run(); }; }, step: function() { if (this.playing) this.Element.setStyle('opacity', this.now/100); now = (this.name == 'fadeIn')? this.now + this.options.duration: this.now - this.options.duration; if (this.playing && ((this.name == 'fadeOut' && now >= this.to) || (this.name == 'fadeIn' && now <= this.to))) { this.now = now; var temp = this; this.timer = window.setTimeout(temp.step.bind(temp), temp.options.speed); } else this.stop(); } } ); GHighlight = GClass.create(); GHighlight.prototype = Object.extend(new GFx(), { initialize: function(el) { this.options = { from: 'red', to: 'auto', speed: 10, time: 20, unit: '', onComplete: function() {} }; this.Element = $G(el); this.playing = false; this.timer = 0; }, play: function(options) { for(var property in options) { this.options[property] = options[property]; }; if (this.options.from == 'red') { this.options.from = {'borderColor': '#FF0000', 'backgroundColor': '#FFBFBF'}; } else if (this.options.from == 'green') { this.options.from = {'borderColor': '#00FF00', 'backgroundColor': '#E3F4E3'}; }; source = this.options.from; if (Object.isObject(source)) { destination = {}; for(var property in source) destination[property] = source[property].ToRgb(); this.from = destination; }; source = this.options.to; destination = {}; if (Object.isObject(source)) { for(var property in source) destination[property] = source[property].ToRgb(); this.to = destination; } else if (source == 'auto') { source = this.options.from; for(var property in source) destination[property] = this.Element.getStyle(property).ToRgb(); this.to = destination; }; source = this.options.from; if (source == 'auto') { source = this.options.to; for(var property in source) destination[property] = this.Element.getStyle(property).ToRgb(); this.from = destination; }; this.delta =[]; for(var property in this.from) { to = this.to[property]; from = this.from[property]; this.delta[property] =[ (to[0] - from[0]) / this.options.time, (to[1] - from[1]) / this.options.time, (to[2] - from[2]) / this.options.time ]; } if (!this.playing) { this.now = 0; this._run(); }; }, step: function() { if (this.playing) { for(var property in this.from) { colors = this.from[property]; this.Element.setStyle(property, 'rgb(' + parseInt(colors[0] + (this.delta[property][0] * this.now)) + ',' + parseInt(colors[1] + (this.delta[property][1] * this.now)) + ',' + parseInt(colors[2] + (this.delta[property][2] * this.now)) + ')' ); }; }; this.now++; if (this.now > this.options.time) this.stop(); else this.timer = window.setTimeout(this.step.bind(this), this.options.speed); } } ); GScroll = GClass.create(); GScroll.prototype = Object.extend(new GFx(), { initialize: function(container, scroller) { this.options = { speed: 30, duration: 1, pauseit: 1, scrollto: 'top' }; this.container = $G(container); this.scroller = $G(scroller); this.container.addEvent('mouseover', function() {this.rel = 'pause'}); this.container.addEvent('mouseout', function() {this.rel = 'play'}); this.container.elem.rel = 'play'; this.playing = false; var size = this.container.getDimensions(); this.containerHeight = size.height; this.containerWidth = size.width; }, play: function(options) { for(var property in options) { this.options[property] = options[property]; }; this.scrollerTop = 0; this.scrollerLeft = 0; this._run(); }, step: function() { if (this.container.elem.rel=='play'||this.options.pauseit!=1) { if (this.options.scrollto=='bottom') { this.scrollerTop = this.scrollerTop>this.containerHeight? 0-this.scroller.getHeight(): this.scrollerTop+this.options.duration; this.scroller.elem.style.top = this.scrollerTop+'px'; } else if (this.options.scrollto=='left') { this.scrollerLeft = this.scrollerLeft+this.scroller.getWidth()<0? this.containerWidth: this.scrollerLeft-this.options.duration; this.scroller.elem.style.left = this.scrollerLeft+'px'; } else if (this.options.scrollto=='right') { this.scrollerLeft = this.scrollerLeft>this.containerWidth? 0-this.scrollerWidth: this.scrollerLeft+this.options.duration; this.scroller.elem.style.left = this.scrollerLeft+'px'; } else { this.scrollerTop = this.scrollerTop+this.scroller.getHeight()<0? this.containerHeight: this.scrollerTop-this.options.duration; this.scroller.elem.style.top = this.scrollerTop+'px'; }; }; this.timer = window.setTimeout(this.step.bind(this), this.options.speed); } } ); HScroll = GClass.create(); HScroll.prototype = Object.extend(new GFx(), { initialize: function(container, scroller) { this.options = { speed: 30, duration: 5, arrowTop: 'arrowTop', arrowBottom: 'arrowBottom' }; var temp = this; this.scroller = $G(scroller); this.containerHeight = $G(container).getDimensions().height; }, play: function(options) { for(var property in options) { this.options[property] = options[property]; }; var arrowTop = $G(this.options.arrowTop); arrowTop.addEvent('mouseover', function() {temp.rel = 'play'; temp.pos = 'up'}); arrowTop.addEvent('mouseout', function() {temp.rel = 'pause'}); var arrowBottom = $G(this.options.arrowBottom); arrowBottom.addEvent('mouseover', function() {temp.rel = 'play'; temp.pos = 'down'}); arrowBottom.addEvent('mouseout', function() {temp.rel = 'pause'}); this.scrollerTop = 0; this._run(); }, step: function() { if (this.rel == 'play') { if (this.pos == 'up' && this.scrollerTop < 0) { this.scrollerTop = this.scrollerTop + this.options.duration; this.scroller.elem.style.top = this.scrollerTop + 'px'; } else if(this.pos == 'down' && this.scroller.getHeight()+ this.scrollerTop > this.containerHeight) { this.scrollerTop = this.scrollerTop - this.options.duration; this.scroller.elem.style.top = this.scrollerTop + 'px'; } } this.timer = window.setTimeout(this.step.bind(this), this.options.speed); } } ); VScroll = GClass.create(); VScroll.prototype = Object.extend(new GFx(), { initialize: function(container, scroller, options) { this.options = { speed: 30, duration: 5, arrowLeft: 'arrowLeft', arrowRight: 'arrowRight' }; for(var property in options) { this.options[property] = options[property]; }; var temp = this; var arrowLeft = $G(this.options.arrowLeft); arrowLeft.addEvent('mouseover', function() {temp.rel = 'play'; temp.pos = 'left'}); arrowLeft.addEvent('mouseout', function() {temp.rel = 'pause'}); var arrowRight = $G(this.options.arrowRight); arrowRight.addEvent('mouseover', function() {temp.rel = 'play'; temp.pos = 'right'}); arrowRight.addEvent('mouseout', function() {temp.rel = 'pause'}); this.scroller = $G(scroller); this.container = $G(container); this.containerWidth = this.container.getWidth(); this.rel == 'pause'; }, play: function() { this.scrollerWidth = this.scroller.getWidth(); this.scrollerLeft = 0; this._run(); }, step: function() { if (this.rel == 'play') { if(this.pos == 'left' && this.scrollerLeft < 0) { this.scrollerLeft = this.scrollerLeft + this.options.duration; this.scrollerLeft = this.scrollerLeft > 0? 0: this.scrollerLeft; $E(this.scroller).style.left = this.scrollerLeft + 'px'; }else if(this.pos == 'right'&& (this.scrollerLeft + this.scrollerWidth) >= this.containerWidth) { this.scrollerLeft = this.scrollerLeft - this.options.duration; this.scrollerLeft = this.scrollerLeft < 0 - this.containerWidth? 0 - this.containerWidth: this.scrollerLeft; $E(this.scroller).style.left = this.scrollerLeft + 'px'; } } else if (this.rel == 'move') { if (this.scrollTo < this.scrollerLeft && this.scrollerWidth+ this.scrollerLeft > this.containerWidth) { this.scrollerLeft = this.scrollerLeft - this.options.duration; this.scrollerLeft = this.scrollerLeft < this.scrollTo? this.scrollTo: this.scrollerLeft; $E(this.scroller).style.left = this.scrollerLeft + 'px'; } else if (this.scrollTo > this.scrollerLeft && this.scrollerLeft < 0) { this.scrollerLeft = this.scrollerLeft + this.options.duration; this.scrollerLeft = this.scrollerLeft > this.scrollTo? this.scrollTo: this.scrollerLeft; $E(this.scroller).style.left = this.scrollerLeft + 'px'; } else { this.rel == 'pause'; }; }; this.timer = window.setTimeout(this.step.bind(this), this.options.speed); }, MoveTo: function(elem) { if ($E(elem)) { var elem = $G(elem); this.scrollTo = this.scroller.getLeft() - ((elem.getLeft() + elem.getWidth()) - this.containerWidth + 5); } else { this.scrollTo = 0; } this.rel = 'move'; } } ); GSlide = GClass.create(); GSlide.prototype = Object.extend(new GFx(), { initialize: function() { this.options = { speed: 30, duration: 1, from: 0, to: 0, onSlide: function() {} }; }, play: function(options) { for(var property in options) { this.options[property] = options[property]; }; this.Pos = this.options.from; this._run(); }, step: function() { var option = this.options; if (option.to > option.from && this.Pos < option.to) { this.Pos = this.Pos + option.duration; this.Pos = this.Pos > option.to? option.to: this.Pos; option.onSlide.call(this); this.timer = window.setTimeout(this.step.bind(this), option.speed); }else if (option.to < option.from && this.Pos > option.to) { this.Pos = this.Pos - option.duration; this.Pos = this.Pos < option.to? option.to: this.Pos; option.onSlide.call(this); this.timer = window.setTimeout(this.step.bind(this), option.speed); }; } } ); GCrossFade = GClass.create(); GCrossFade.prototype = Object.extend(new GFx(), { initialize: function(elem, options) { this.options = { speed: 10, loop: true, auto: true, onChanged: function() {} }; for(var property in options) { this.options[property] = options[property]; }; this.Slide = $G(elem); size = this.Slide.getDimensions(); this.width = size.width; this.height = size.height; var img = document.createElement('img'); img.src = 'blank.gif'; img.style.position = 'absolute'; img.style.left = '-10000px'; this.Slide.insert(img); this.img1 = img; var img = document.createElement('img'); img.src = 'blank.gif'; img.style.position = 'absolute'; img.style.left = '-10000px'; this.Slide.insert(img); this.img2 = img; this.currImg = this.img2; this.fader = 0; this.action = 'stop'; }, next: function(val) { window.clearTimeout(this.fader); var pos = this.Pos + val; pos = pos >= this.pictures.length? this.pictures.length - 1: pos; pos = pos < 0? 0: pos; if (pos != this.Pos) { this.show(pos); }; }, play: function() { this.nextPos = this.Pos + 1; this._run(); }, step: function() { if (this.options.loop) { this.nextPos = this.nextPos >= this.pictures.length? 0: this.nextPos; } else if (this.nextPos >= this.pictures.length) { return; } var temp = this; new preload(this.pictures[this.nextPos], function() { temp.currImg = temp.currImg == temp.img2? temp.img1: temp.img2; var old = temp.currImg == temp.img2? temp.img1: temp.img2; temp._resizeImage(temp.currImg, this); new GFade(temp.currImg).play( {'onComplete': function() { temp.fader = window.setTimeout(temp.step.bind(temp), temp.options.speed * 1000); temp.Pos = temp.nextPos; temp.options.onChanged.call(temp); temp.nextPos++; } } ); new GFade(old).play({'from': 100, 'to': 0}); temp.currImg.style.zIndex = 1; old.style.zIndex = 0; } ); }, show: function(id) { var temp = this; new preload(this.pictures[id], function() { temp.currImg = temp.currImg == temp.img2? temp.img1: temp.img2; var old = temp.currImg == temp.img2? temp.img1: temp.img2; temp._resizeImage(temp.currImg, this); new GFade(temp.currImg).play( {'onComplete': function() { temp.Pos = id; temp.options.onChanged.call(temp); } } ); new GFade(old).play({'from': 100, 'to': 0}); temp.currImg.style.zIndex = 1; old.style.zIndex = 0; } ); }, pictures: function(files) { this.pictures = files.split(','); this.picturesWidth = new Array(); this.picturesHeight = new Array(); if (this.options.auto) { this.Pos = 0; this.play(); } else { this.show(0); }; }, _resizeImage: function(img, obj) { img.src = obj.src; var w = obj.width; var h = obj.height; if (w >= h) { if(w > this.width) { var nw = this.width; var nh = (this.width * h) / w; }else if (h > this.height) { var nh = this.height; var nw = (this.height * w) / h; }else { var nh = h; var nw = w; }; }else { if (h > this.height) { var nh = this.height; var nw = (this.height * w) / h; }else if(w > this.width) { var nw = this.width; var nh = (this.width * h) / w; }else { var nh = h; var nw = w; }; }; img.style.width = nw + 'px'; img.style.height = nh + 'px'; img.style.top = ((this.height - nh) / 2) + 'px'; img.style.left = ((this.width - nw) / 2) + 'px'; } } ); preload = GClass.create(); preload.prototype = { initialize: function(img, onComplete) { if (Object.isString(img)) { this.img = new Image(); this.img.src = img; } else { this.img = img; }; this.onComplete = onComplete; setTimeout(this.preload.bind(this), 30); }, preload: function() { if (this.img.complete) { this.onComplete.call(this.img); } else { setTimeout(this.preload.bind(this), 30); }; } }; |
:: Command execute :: | |
:: Shadow's tricks :D :: | |
Useful Commands
|
:: Preddy's tricks :D :: | |
Php Safe-Mode Bypass (Read Files)
|
--[ c999shell v. 1.0 pre-release build #16 Modded by Shadow & Preddy | RootShell Security Group | r57 c99 shell | Generation time: 0.0111 ]-- |