<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ar">
	<id>https://www.copticpedia.org/index.php?action=history&amp;feed=atom&amp;title=%D9%85%D9%8A%D8%AF%D9%8A%D8%A7%D9%88%D9%8A%D9%83%D9%8A%3AGadget-JSL.js</id>
	<title>ميدياويكي:Gadget-JSL.js - تاريخ المراجعة</title>
	<link rel="self" type="application/atom+xml" href="https://www.copticpedia.org/index.php?action=history&amp;feed=atom&amp;title=%D9%85%D9%8A%D8%AF%D9%8A%D8%A7%D9%88%D9%8A%D9%83%D9%8A%3AGadget-JSL.js"/>
	<link rel="alternate" type="text/html" href="https://www.copticpedia.org/index.php?title=%D9%85%D9%8A%D8%AF%D9%8A%D8%A7%D9%88%D9%8A%D9%83%D9%8A:Gadget-JSL.js&amp;action=history"/>
	<updated>2026-04-11T01:15:35Z</updated>
	<subtitle>تاريخ التعديل لهذه الصفحة في الويكي</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>https://www.copticpedia.org/index.php?title=%D9%85%D9%8A%D8%AF%D9%8A%D8%A7%D9%88%D9%8A%D9%83%D9%8A:Gadget-JSL.js&amp;diff=8568&amp;oldid=prev</id>
		<title>Gerges: مراجعة واحدة</title>
		<link rel="alternate" type="text/html" href="https://www.copticpedia.org/index.php?title=%D9%85%D9%8A%D8%AF%D9%8A%D8%A7%D9%88%D9%8A%D9%83%D9%8A:Gadget-JSL.js&amp;diff=8568&amp;oldid=prev"/>
		<updated>2021-03-19T00:51:10Z</updated>

		<summary type="html">&lt;p&gt;مراجعة واحدة&lt;/p&gt;
&lt;p&gt;&lt;b&gt;صفحة جديدة&lt;/b&gt;&lt;/p&gt;&lt;div&gt;/* (C) Andrea Giammarchi - JSL 1.4&lt;br /&gt;
&lt;br /&gt;
Permission is hereby granted, free of charge, to any person&lt;br /&gt;
obtaining a copy of this software and associated documentation&lt;br /&gt;
files (the &amp;quot;Software&amp;quot;), to deal in the Software without&lt;br /&gt;
restriction, including without limitation the rights to use,&lt;br /&gt;
copy, modify, merge, publish, distribute, sublicense, and/or sell&lt;br /&gt;
copies of the Software, and to permit persons to whom the&lt;br /&gt;
Software is furnished to do so, subject to the following&lt;br /&gt;
conditions:&lt;br /&gt;
&lt;br /&gt;
The above copyright notice and this permission notice shall be&lt;br /&gt;
included in all copies or substantial portions of the Software.&lt;br /&gt;
&lt;br /&gt;
THE SOFTWARE IS PROVIDED &amp;quot;AS IS&amp;quot;, WITHOUT WARRANTY OF ANY KIND,&lt;br /&gt;
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES&lt;br /&gt;
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND&lt;br /&gt;
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT&lt;br /&gt;
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,&lt;br /&gt;
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING&lt;br /&gt;
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR&lt;br /&gt;
OTHER DEALINGS IN THE SOFTWARE.&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
var undefined;&lt;br /&gt;
function $JSL(){&lt;br /&gt;
	this.inArray=function(){&lt;br /&gt;
		var tmp=false,i=arguments[1].length;&lt;br /&gt;
		while(i&amp;amp;&amp;amp;!tmp)tmp=arguments[1][--i]===arguments[0];&lt;br /&gt;
		return tmp;&lt;br /&gt;
	};&lt;br /&gt;
	this.has=function(str){return $JSL.inArray(str,$has)};&lt;br /&gt;
	this.random=function(elm){&lt;br /&gt;
		var tmp=$JSL.$random();&lt;br /&gt;
		while(typeof(elm[tmp])!==&amp;quot;undefined&amp;quot;)tmp=$JSL.$random();&lt;br /&gt;
		return tmp;&lt;br /&gt;
	};&lt;br /&gt;
	this.$random=function(){return (Math.random()*1234567890).toString()};&lt;br /&gt;
	this.reverse=function(str){return str.split(&amp;quot;&amp;quot;).reverse().join(&amp;quot;&amp;quot;)};&lt;br /&gt;
	this.replace=function(str){&lt;br /&gt;
		var tmp=str.split(&amp;quot;&amp;quot;),i=tmp.length;&lt;br /&gt;
		while(i&amp;gt;0)tmp[--i]=$JSL.$replace(tmp[i]);&lt;br /&gt;
		return tmp.join(&amp;quot;&amp;quot;);&lt;br /&gt;
	};&lt;br /&gt;
	this.$replace=function(tmp){&lt;br /&gt;
		var i=tmp.length===1?tmp.charCodeAt(0):0;&lt;br /&gt;
		switch(i) {&lt;br /&gt;
			case 8	:tmp=&amp;quot;\\b&amp;quot;;break;&lt;br /&gt;
			case 10	:tmp=&amp;quot;\\n&amp;quot;;break;&lt;br /&gt;
			case 11	:tmp=&amp;quot;\\v&amp;quot;;break;&lt;br /&gt;
			case 12	:tmp=&amp;quot;\\f&amp;quot;;break;&lt;br /&gt;
			case 13	:tmp=&amp;quot;\\r&amp;quot;;break;&lt;br /&gt;
			case 34	:tmp=&amp;quot;\\\&amp;quot;&amp;quot;;break;&lt;br /&gt;
			case 92	:tmp=&amp;quot;\\\\&amp;quot;;break;&lt;br /&gt;
			default:&lt;br /&gt;
				tmp=tmp.replace(/([\x00-\x07]|[\x0E-\x1F]|[\x7F-\xFF])/g,function(a,b){return &amp;quot;\\x&amp;quot;+$JSL.charCodeAt(b)}).&lt;br /&gt;
					replace(/([\u0100-\uFFFF])/g,function(a,b){b=$JSL.charCodeAt(b);return b.length&amp;lt;4?&amp;quot;\\u0&amp;quot;+b:&amp;quot;\\u&amp;quot;+b});&lt;br /&gt;
				break;&lt;br /&gt;
		}&lt;br /&gt;
		return tmp;&lt;br /&gt;
	};&lt;br /&gt;
	this.charCodeAt=function(str){return $JSL.$charCodeAt(str.charCodeAt(0))};&lt;br /&gt;
	this.$charCodeAt=function(i){&lt;br /&gt;
		var str=i.toString(16).toUpperCase();&lt;br /&gt;
		return str.length&amp;lt;2?&amp;quot;0&amp;quot;+str:str;&lt;br /&gt;
	};&lt;br /&gt;
	this.$toSource=function(elm){return elm.toSource().replace(/^(\(new \w+\()([^\000]+)(\)\))$/,&amp;quot;$2&amp;quot;)};&lt;br /&gt;
	this.$toInternalSource=function(elm){&lt;br /&gt;
		var tmp=null;&lt;br /&gt;
		switch(elm.constructor) {&lt;br /&gt;
			case Boolean:&lt;br /&gt;
			case Number:&lt;br /&gt;
				tmp=elm;&lt;br /&gt;
				break;&lt;br /&gt;
			case String:&lt;br /&gt;
				tmp=$JSL.$toSource(elm);&lt;br /&gt;
				break;&lt;br /&gt;
			default:&lt;br /&gt;
				tmp=elm.toSource();&lt;br /&gt;
				break;&lt;br /&gt;
		}&lt;br /&gt;
		return tmp;&lt;br /&gt;
	};&lt;br /&gt;
	this.getElementsByTagName=function(scope,i,elm,str){&lt;br /&gt;
		var tmp=$JSL.$getElementsByTagName(scope),j=tmp.length,$tmp=[];&lt;br /&gt;
		while(i&amp;lt;j){if(tmp[i][str]===elm||elm===&amp;quot;*&amp;quot;)$tmp.push($JSL.$getElementsByName(tmp[i]));++i}&lt;br /&gt;
		if(!$tmp.item){if(!$JSL.has(&amp;quot;item&amp;quot;))$has.push(&amp;quot;item&amp;quot;);$tmp.item=function(tmp){return this[tmp]}}&lt;br /&gt;
		return $tmp;&lt;br /&gt;
	};&lt;br /&gt;
	this.$getElementsByTagName=function(scope){return scope.layers||scope.all};&lt;br /&gt;
	this.$getElementsByName=function(elm) {&lt;br /&gt;
		if(!elm.getElementsByTagName)	elm.getElementsByTagName=document.getElementsByTagName;&lt;br /&gt;
		return elm;&lt;br /&gt;
	};&lt;br /&gt;
	this.encodeURI=function(str){return str.replace(/&amp;quot;/g,&amp;quot;%22&amp;quot;).replace(/\\/g,&amp;quot;%5C&amp;quot;)};&lt;br /&gt;
	this.$encodeURI=function(str){return $JSL.$charCodeAt(str)};&lt;br /&gt;
	this.$encodeURIComponent=function(a,b){&lt;br /&gt;
		var i=b.charCodeAt(0),str=[];&lt;br /&gt;
		if(i&amp;lt;128)		str.push(i);&lt;br /&gt;
		else if(i&amp;lt;2048)		str.push(0xC0+(i&amp;gt;&amp;gt;6),0x80+(i&amp;amp;0x3F));&lt;br /&gt;
		else if(i&amp;lt;65536)	str.push(0xE0+(i&amp;gt;&amp;gt;12),0x80+(i&amp;gt;&amp;gt;6&amp;amp;0x3F),0x80+(i&amp;amp;0x3F));&lt;br /&gt;
		else			str.push(0xF0+(i&amp;gt;&amp;gt;18),0x80+(i&amp;gt;&amp;gt;12&amp;amp;0x3F),0x80+(i&amp;gt;&amp;gt;6&amp;amp;0x3F),0x80+(i&amp;amp;0x3F));&lt;br /&gt;
		return &amp;quot;%&amp;quot;+str.map($JSL.$encodeURI).join(&amp;quot;%&amp;quot;);&lt;br /&gt;
	};&lt;br /&gt;
	this.$decodeURIComponent=function(a,b,c,d,e){&lt;br /&gt;
		var i=0;&lt;br /&gt;
		if(e)	  i=parseInt(e.substr(1,2),16);&lt;br /&gt;
		else if(d)i=((parseInt(d.substr(1,2),16)-0xC0)&amp;lt;&amp;lt;6)+(parseInt(d.substr(4,2),16)-0x80);&lt;br /&gt;
		else if(c)i=((parseInt(c.substr(1,2),16)-0xE0)&amp;lt;&amp;lt;12)+((parseInt(c.substr(4,2),16)-0x80)&amp;lt;&amp;lt;6)+(parseInt(c.substr(7,2),16)-0x80);&lt;br /&gt;
		else	  i=((parseInt(b.substr(1,2),16)-0xF0)&amp;lt;&amp;lt;18)+((parseInt(b.substr(4,2),16)-0x80)&amp;lt;&amp;lt;12)+((parseInt(b.substr(7,2),16)-0x80)&amp;lt;&amp;lt;6)+(parseInt(b.substr(10,2),16)-0x80);&lt;br /&gt;
		return String.fromCharCode(i);&lt;br /&gt;
	};&lt;br /&gt;
	var $has=[];&lt;br /&gt;
	if(!Function.prototype.apply){$has[$has.length]=&amp;quot;apply&amp;quot;;Function.prototype.apply=function(){&lt;br /&gt;
		var i=arguments.length===2?arguments[1].length:0,str,tmp=[],elm=(&amp;quot;&amp;quot;+this).replace(/[^\(]+/,&amp;quot;function&amp;quot;);&lt;br /&gt;
		if(!arguments[0])arguments[0]={};&lt;br /&gt;
		while(i)tmp.unshift(&amp;quot;arguments[1][&amp;quot;+(--i)+&amp;quot;]&amp;quot;);&lt;br /&gt;
		do{str=&amp;quot;__&amp;quot;.concat($JSL.random(arguments[0]).replace(/\./,&amp;quot;_&amp;quot;),&amp;quot;__&amp;quot;)}while(new RegExp(str).test(elm));&lt;br /&gt;
		eval(&amp;quot;var &amp;quot;.concat(str,&amp;quot;=arguments[0];tmp=(&amp;quot;,elm.replace(/([^$])\bthis\b([^$])/g,&amp;quot;$1&amp;quot;.concat(str,&amp;quot;$2&amp;quot;)),&amp;quot;)(&amp;quot;,tmp.join(&amp;quot;,&amp;quot;),&amp;quot;)&amp;quot;));&lt;br /&gt;
		return tmp;&lt;br /&gt;
	}};&lt;br /&gt;
	if(!Function.prototype.call){$has[$has.length]=&amp;quot;call&amp;quot;;Function.prototype.call=function(){&lt;br /&gt;
		var i=arguments.length,tmp=[];&lt;br /&gt;
		while(i&amp;gt;1)tmp.unshift(arguments[--i]);&lt;br /&gt;
		return this.apply((i?arguments[0]:{}),tmp);&lt;br /&gt;
	}};&lt;br /&gt;
	if(!Array.prototype.pop){$has[$has.length]=&amp;quot;pop&amp;quot;;Array.prototype.pop=function(){&lt;br /&gt;
		var a=this.length,r=this[--a];&lt;br /&gt;
		if(a&amp;gt;=0)this.length=a;&lt;br /&gt;
		return r;&lt;br /&gt;
	}};&lt;br /&gt;
	if(!Array.prototype.push){$has[$has.length]=&amp;quot;push&amp;quot;;Array.prototype.push=function(){&lt;br /&gt;
		var a=0,b=arguments.length,r=this.length;&lt;br /&gt;
		while(a&amp;lt;b)this[r++]=arguments[a++];&lt;br /&gt;
		return r;&lt;br /&gt;
	}};&lt;br /&gt;
	if(!Array.prototype.shift){$has[$has.length]=&amp;quot;shift&amp;quot;;Array.prototype.shift=function(){&lt;br /&gt;
		this.reverse();&lt;br /&gt;
		var r=this.pop();&lt;br /&gt;
		this.reverse();&lt;br /&gt;
		return r;&lt;br /&gt;
	}};&lt;br /&gt;
	if(!Array.prototype.splice){$has[$has.length]=&amp;quot;splice&amp;quot;;Array.prototype.splice=function(){&lt;br /&gt;
		var a,b,c,d=arguments.length,tmp=[],r=[];&lt;br /&gt;
		if(d&amp;gt;1){&lt;br /&gt;
			arguments[0]=parseInt(arguments[0]);&lt;br /&gt;
			arguments[1]=parseInt(arguments[1]);&lt;br /&gt;
			c=arguments[0]+arguments[1];&lt;br /&gt;
			for(a=0,b=this.length;a&amp;lt;b;a++){&lt;br /&gt;
				if(a&amp;lt;arguments[0]||a&amp;gt;=c){&lt;br /&gt;
					if(a===c&amp;amp;&amp;amp;d&amp;gt;2){&lt;br /&gt;
						for(a=2;a&amp;lt;d;a++)tmp.push(arguments[a]);&lt;br /&gt;
						a=c;&lt;br /&gt;
					};&lt;br /&gt;
					tmp.push(this[a]);&lt;br /&gt;
				}&lt;br /&gt;
				else&lt;br /&gt;
					r.push(this[a]);&lt;br /&gt;
			};&lt;br /&gt;
			for(a=0,b=tmp.length;a&amp;lt;b;a++)&lt;br /&gt;
				this[a]=tmp[a];&lt;br /&gt;
			this.length = a;&lt;br /&gt;
		};&lt;br /&gt;
		return r;&lt;br /&gt;
	}};&lt;br /&gt;
	if(!Array.prototype.unshift){$has[$has.length]=&amp;quot;unshift&amp;quot;;Array.prototype.unshift=function(){&lt;br /&gt;
		var i=arguments.length;&lt;br /&gt;
		this.reverse();&lt;br /&gt;
		while(i&amp;gt;0)this.push(arguments[--i]);&lt;br /&gt;
		this.reverse();&lt;br /&gt;
		return this.length;&lt;br /&gt;
	}};&lt;br /&gt;
	if(!Array.prototype.indexOf){$has[$has.length]=&amp;quot;indexOf&amp;quot;;Array.prototype.indexOf=function(elm,i){&lt;br /&gt;
		var j=this.length;&lt;br /&gt;
		if(!i)i=0;&lt;br /&gt;
		if(i&amp;gt;=0){while(i&amp;lt;j){if(this[i++]===elm){&lt;br /&gt;
			i=i-1+j;j=i-j;&lt;br /&gt;
		}}}&lt;br /&gt;
		else&lt;br /&gt;
			j=this.indexOf(elm,j+i);&lt;br /&gt;
		return j!==this.length?j:-1;&lt;br /&gt;
	}};&lt;br /&gt;
	if(!Array.prototype.lastIndexOf){$has[$has.length]=&amp;quot;lastIndexOf&amp;quot;;Array.prototype.lastIndexOf=function(elm,i){&lt;br /&gt;
		var j=-1;&lt;br /&gt;
		if(!i)i=this.length;&lt;br /&gt;
		if(i&amp;gt;=0){do{if(this[i--]===elm){&lt;br /&gt;
			j=i+1;i=0;&lt;br /&gt;
		}}while(i&amp;gt;0)}&lt;br /&gt;
		else if(i&amp;gt;-this.length)&lt;br /&gt;
			j=this.lastIndexOf(elm,this.length+i);&lt;br /&gt;
		return j;&lt;br /&gt;
	}};&lt;br /&gt;
	if(!Array.prototype.every){$has[$has.length]=&amp;quot;every&amp;quot;;Array.prototype.every=function(callback,elm){&lt;br /&gt;
		var b=false,i=0,j=this.length;&lt;br /&gt;
		if(!elm){	while(i&amp;lt;j&amp;amp;&amp;amp;!b)	b=!callback(this[i]||this.charAt(i),i++,this)}&lt;br /&gt;
		else {		while(i&amp;lt;j&amp;amp;&amp;amp;!b)	b=!callback.apply(elm,[this[i]||this.charAt(i),i++,this]);}&lt;br /&gt;
		return !b;&lt;br /&gt;
	}};&lt;br /&gt;
	if(!Array.prototype.filter){$has[$has.length]=&amp;quot;filter&amp;quot;;Array.prototype.filter=function(callback,elm){&lt;br /&gt;
		var r=[],i=0,j=this.length;&lt;br /&gt;
		if(!elm){while(i&amp;lt;j){if(callback(this[i],i++,this))&lt;br /&gt;
			r.push(this[i-1]);&lt;br /&gt;
		}} else {while(i&amp;lt;j){if(callback.apply(elm,[this[i],i++,this]))&lt;br /&gt;
			r.push(this[i-1]);&lt;br /&gt;
		}}&lt;br /&gt;
		return r;&lt;br /&gt;
	}};&lt;br /&gt;
	if(!Array.prototype.forEach){$has[$has.length]=&amp;quot;forEach&amp;quot;;Array.prototype.forEach=function(callback,elm){&lt;br /&gt;
		var i=0,j=this.length;&lt;br /&gt;
		if(!elm){	while(i&amp;lt;j)	callback(this[i],i++,this)}&lt;br /&gt;
		else {		while(i&amp;lt;j)	callback.apply(elm,[this[i],i++,this]);}&lt;br /&gt;
	}};&lt;br /&gt;
	if(!Array.prototype.map){$has[$has.length]=&amp;quot;map&amp;quot;;Array.prototype.map=function(callback,elm){&lt;br /&gt;
		var r=[],i=0,j=this.length;&lt;br /&gt;
		if(!elm){	while(i&amp;lt;j)	r.push(callback(this[i],i++,this))}&lt;br /&gt;
		else {		while(i&amp;lt;j)	r.push(callback.apply(elm,[this[i],i++,this]));}&lt;br /&gt;
		return r;&lt;br /&gt;
	}};&lt;br /&gt;
	if(!Array.prototype.some){$has[$has.length]=&amp;quot;some&amp;quot;;Array.prototype.some=function(callback,elm){&lt;br /&gt;
		var b=false,i=0,j=this.length;&lt;br /&gt;
		if(!elm){	while(i&amp;lt;j&amp;amp;&amp;amp;!b)	b=callback(this[i],i++,this)}&lt;br /&gt;
		else {		while(i&amp;lt;j&amp;amp;&amp;amp;!b)	b=callback.apply(elm,[this[i],i++,this]);}&lt;br /&gt;
		return b;&lt;br /&gt;
	}};&lt;br /&gt;
	if(!String.prototype.lastIndexOf){if(!this.inArray(&amp;quot;lastIndexOf&amp;quot;,$has))$has[$has.length]=&amp;quot;lastIndexOf&amp;quot;;String.prototype.lastIndexOf=function(elm,i){&lt;br /&gt;
		var str=$JSL.reverse(this),elm=$JSL.reverse(elm),r=str.indexOf(elm,i);&lt;br /&gt;
		return r&amp;lt;0?r:this.length-r;&lt;br /&gt;
	}};&lt;br /&gt;
	if(&amp;quot;aa&amp;quot;.replace(/\w/g,function(){return arguments[1]+&amp;quot; &amp;quot;})!==&amp;quot;0 1 &amp;quot;){$has[$has.length]=&amp;quot;replace&amp;quot;;String.prototype.replace=function(replace){return function(reg,func){&lt;br /&gt;
		var r=&amp;quot;&amp;quot;,tmp=$JSL.random(String);&lt;br /&gt;
		String.prototype[tmp]=replace;&lt;br /&gt;
		if(func.constructor!==Function)&lt;br /&gt;
			r=this[tmp](reg,func);&lt;br /&gt;
		else {&lt;br /&gt;
			function getMatches(reg,pos,a) {&lt;br /&gt;
				function io() {&lt;br /&gt;
					var a=reg.indexOf(&amp;quot;(&amp;quot;,pos),b=a;&lt;br /&gt;
					while(a&amp;gt;0&amp;amp;&amp;amp;reg.charAt(--a)===&amp;quot;\\&amp;quot;){};&lt;br /&gt;
					pos=b!==-1?b+1:b;&lt;br /&gt;
					return (b-a)%2===1?1:0;&lt;br /&gt;
				};&lt;br /&gt;
				do{a+=io()}while(pos!==-1);&lt;br /&gt;
				return a;&lt;br /&gt;
			};&lt;br /&gt;
			function $replace(str){&lt;br /&gt;
				var j=str.length-1;&lt;br /&gt;
				while(j&amp;gt;0)str[--j]='&amp;quot;'+str[j].substr(1,str[j--].length-2)[tmp](/(\\|&amp;quot;)/g,'\\$1')+'&amp;quot;';&lt;br /&gt;
				return str.join(&amp;quot;&amp;quot;);&lt;br /&gt;
			};&lt;br /&gt;
			var p=-1,i=getMatches(&amp;quot;&amp;quot;+reg,0,0),args=[],$match=this.match(reg),elm=$JSL.$random()[tmp](/\./,'_AG_');&lt;br /&gt;
			while(this.indexOf(elm)!==-1)elm=$JSL.$random()[tmp](/\./,'_AG_');&lt;br /&gt;
			while(i)args[--i]=[elm,'&amp;quot;$',(i+1),'&amp;quot;',elm].join(&amp;quot;&amp;quot;);&lt;br /&gt;
			if(!args.length)r=&amp;quot;$match[i],(p=this.indexOf($match[i++],p+1)),this&amp;quot;;&lt;br /&gt;
			else		r=&amp;quot;$match[i],&amp;quot;+args.join(&amp;quot;,&amp;quot;)+&amp;quot;,(p=this.indexOf($match[i++],p+1)),this&amp;quot;;&lt;br /&gt;
			r=eval('['+$replace((elm+('&amp;quot;'+this[tmp](reg,'&amp;quot;'+elm+',func('+r+'),'+elm+'&amp;quot;')+'&amp;quot;')+elm).split(elm))[tmp](/\n/g,'\\n')[tmp](/\r/g,'\\r')+'].join(&amp;quot;&amp;quot;)');&lt;br /&gt;
		};&lt;br /&gt;
		delete String.prototype[tmp];&lt;br /&gt;
		return r;&lt;br /&gt;
	}}(String.prototype.replace)};&lt;br /&gt;
	if((new Date().getYear()).toString().length===4){$has[$has.length]=&amp;quot;getYear&amp;quot;;Date.prototype.getYear=function(){&lt;br /&gt;
		return this.getFullYear()-1900;&lt;br /&gt;
	}};&lt;br /&gt;
};$JSL=new $JSL();&lt;br /&gt;
if(typeof(encodeURI)===&amp;quot;undefined&amp;quot;){function encodeURI(str){&lt;br /&gt;
	var elm=/([\x00-\x20]|[\x25|\x3C|\x3E|\x5B|\x5D|\x5E|\x60|\x7F]|[\x7B-\x7D]|[\x80-\uFFFF])/g;&lt;br /&gt;
	return $JSL.encodeURI(str.toString().replace(elm,$JSL.$encodeURIComponent));&lt;br /&gt;
}};&lt;br /&gt;
if(typeof(encodeURIComponent)===&amp;quot;undefined&amp;quot;){function encodeURIComponent(str){&lt;br /&gt;
	var elm=/([\x23|\x24|\x26|\x2B|\x2C|\x2F|\x3A|\x3B|\x3D|\x3F|\x40])/g;&lt;br /&gt;
	return $JSL.encodeURI(encodeURI(str).replace(elm,function(a,b){return &amp;quot;%&amp;quot;+$JSL.charCodeAt(b)}));&lt;br /&gt;
}};&lt;br /&gt;
if(typeof(decodeURIComponent)===&amp;quot;undefined&amp;quot;){function decodeURIComponent(str){&lt;br /&gt;
	var elm=/(%F[0-9A-F]%E[0-9A-F]%[A-B][0-9A-F]%[8-9A-B][0-9A-F])|(%E[0-9A-F]%[A-B][0-9A-F]%[8-9A-B][0-9A-F])|(%[C-D][0-9A-F]%[8-9A-B][0-9A-F])|(%[0-9A-F]{2})/g;&lt;br /&gt;
	return str.toString().replace(elm,$JSL.$decodeURIComponent);&lt;br /&gt;
}};&lt;br /&gt;
if(typeof(decodeURI)===&amp;quot;undefined&amp;quot;){function decodeURI(str){&lt;br /&gt;
	return decodeURIComponent(str);&lt;br /&gt;
}};&lt;br /&gt;
if(!document.getElementById){document.getElementById=function(elm){&lt;br /&gt;
	return $JSL.$getElementsByName($JSL.$getElementsByTagName(this)[elm]);&lt;br /&gt;
}};&lt;br /&gt;
if(!document.getElementsByTagName){document.getElementsByTagName=function(elm){&lt;br /&gt;
	return $JSL.getElementsByTagName(this,0,elm.toUpperCase(),&amp;quot;tagName&amp;quot;);&lt;br /&gt;
}};&lt;br /&gt;
if(!document.getElementsByName){document.getElementsByName=function(elm){&lt;br /&gt;
	return $JSL.getElementsByTagName(this,0,elm,&amp;quot;name&amp;quot;);&lt;br /&gt;
}};&lt;br /&gt;
if(typeof(XMLHttpRequest)===&amp;quot;undefined&amp;quot;){XMLHttpRequest=function(){&lt;br /&gt;
	var tmp=null,elm=navigator.userAgent;&lt;br /&gt;
	if(elm.toUpperCase().indexOf(&amp;quot;MSIE 4&amp;quot;)&amp;lt;0&amp;amp;&amp;amp;window.ActiveXObject)&lt;br /&gt;
		tmp=elm.indexOf(&amp;quot;MSIE 5&amp;quot;)&amp;lt;0?new ActiveXObject(&amp;quot;Msxml2.XMLHTTP&amp;quot;):new ActiveXObject(&amp;quot;Microsoft.XMLHTTP&amp;quot;);&lt;br /&gt;
	return tmp;&lt;br /&gt;
}};&lt;br /&gt;
if(typeof(Error)===&amp;quot;undefined&amp;quot;)Error=function(){};&lt;br /&gt;
Error = function(base){return function(message){&lt;br /&gt;
	var tmp=new base();&lt;br /&gt;
	tmp.message=message||&amp;quot;&amp;quot;;&lt;br /&gt;
	if(!tmp.fileName)&lt;br /&gt;
		tmp.fileName=document.location.href;&lt;br /&gt;
	if(!tmp.lineNumber)&lt;br /&gt;
		tmp.lineNumber=0;&lt;br /&gt;
	if(!tmp.stack)&lt;br /&gt;
		tmp.stack=&amp;quot;Error()@:0\n(\&amp;quot;&amp;quot;+this.message+&amp;quot;\&amp;quot;)@&amp;quot;+tmp.fileName+&amp;quot;:&amp;quot;+this.lineNumber+&amp;quot;\n@&amp;quot;+tmp.fileName+&amp;quot;:&amp;quot;+this.lineNumber;&lt;br /&gt;
	if(!tmp.name)&lt;br /&gt;
		tmp.name=&amp;quot;Error&amp;quot;;&lt;br /&gt;
	return tmp;&lt;br /&gt;
}}(Error);&lt;/div&gt;</summary>
		<author><name>Gerges</name></author>
	</entry>
</feed>