/* 
 * More info at: http://phpjs.org
 * 
 * This is version: 2.85
 * php.js is copyright 2009 Kevin van Zonneveld.
 * 
 * Portions copyright Brett Zamir (http://brett-zamir.me), Kevin van Zonneveld
 * (http://kevin.vanzonneveld.net), Onno Marsman, Michael White
 * (http://getsprink.com), Waldo Malqui Silva, Paulo Ricardo F. Santos, Jack,
 * Jonas Raoni Soares Silva (http://www.jsfromhell.com), Philip Peterson,
 * Legaev Andrey, Ates Goral (http://magnetiq.com), Ratheous, Martijn
 * Wieringa, Nate, Philippe Baumann, Enrique Gonzalez, Theriault,
 * Webtoolkit.info (http://www.webtoolkit.info/), Ash Searle
 * (http://hexmen.com/blog/), travc, Jani Hartikainen, Ole Vrijenhoek, Carlos
 * R. L. Rodrigues (http://www.jsfromhell.com), marrtins, Andrea Giammarchi
 * (http://webreflection.blogspot.com), stag019,
 * http://stackoverflow.com/questions/57803/how-to-convert-decimal-to-hex-in-javascript,
 * Alex, d3x, T.Wild, pilus, Johnny Mast (http://www.phpvrouwen.nl),
 * Erkekjetter, Michael Grier, GeekFG (http://geekfg.blogspot.com), Steven
 * Levithan (http://blog.stevenlevithan.com), Karol Kowalski, Marc Palau,
 * David, Public Domain (http://www.json.org/json2.js), T.J. Leahy, KELAN,
 * Mirek Slugen, Arpad Ray (mailto:arpad@php.net), Tyler Akins
 * (http://rumkin.com), Thunder.m, Aman Gupta, gettimeofday, Alfonso Jimenez
 * (http://www.alfonsojimenez.com), Breaking Par Consulting Inc
 * (http://www.breakingpar.com/bkp/home.nsf/0/87256B280015193F87256CFB006C45F7),
 * Josh Fraser
 * (http://onlineaspect.com/2007/06/08/auto-detect-a-time-zone-with-javascript/),
 * Pellentesque Malesuada, Felix Geisendoerfer
 * (http://www.debuggable.com/felix), mdsjack (http://www.mdsjack.bo.it), Oleg
 * Eremeev, gorthaur, Steve Hilder, Caio Ariede (http://caioariede.com),
 * Kankrelune (http://www.webfaktory.info/), AJ, Lars Fischer, Sakimori,
 * Andrej Pavlovic, David Randall, Bryan Elliott, Daniel Esteban, Christoph,
 * nord_ua, Kristof Coomans (SCK-CEN Belgian Nucleair Research Centre), Saulo
 * Vallory, Tim Wiel, Brad Touesnard, Valentina De Rosa, DtTvB
 * (http://dt.in.th/2008-09-16.string-length-in-bytes.html), Wagner B. Soares,
 * Soren Hansen, Jason Wong (http://carrot.org/), MeEtc
 * (http://yass.meetcweb.com), Peter-Paul Koch
 * (http://www.quirksmode.org/js/beat.html), T0bsn, Ozh, XoraX
 * (http://www.xorax.info), Hyam Singer (http://www.impact-computing.com/),
 * Paul, kenneth, Kirk Strobeck, T. Wild, Ole Vrijenhoek
 * (http://www.nervous.nl/), Raphael (Ao RUDLER), J A R, Martin Pool, Der
 * Simon (http://innerdom.sourceforge.net/), echo is bad, Pierre-Luc Paour,
 * Eugene Bulkin (http://doubleaw.com/), JB, Marc Jansen, Francesco, LH,
 * Pyerre, Jon Hohle, YUI Library:
 * http://developer.yahoo.com/yui/docs/YAHOO.util.DateLocale.html, Norman
 * "zEh" Fuchs, sankai, Sanjoy Roy, dptr1988, Blues at
 * http://hacks.bluesmoon.info/strftime/strftime.js, 0m3r, hitwork, Denny
 * Wardhana, Aidan Lister (http://aidanlister.com/), ejsanders, Nick Callen,
 * Philippe Jausions (http://pear.php.net/user/jausions), Brian Tafoya
 * (http://www.premasolutions.com/), sowberry, Yves Sucaet, johnrembo,
 * Subhasis Deb, James, Alan C, Bayron Guevara, uestla, Lincoln Ramsay, Thiago
 * Mata (http://thiagomata.blog.com), Linuxworld, djmix, strcasecmp, strcmp,
 * metjay, Gilbert, Pedro Tainha (http://www.pedrotainha.com), Chris, duncan,
 * Andreas, ChaosNo1, Alexander Ermolaev
 * (http://snippets.dzone.com/user/AlexanderErmolaev), DxGx, Steve Clay, David
 * James, gabriel paderni, FGFEmperor, Yannoo, jakes, davook, Atli Þór,
 * Simon Willison (http://simonwillison.net), baris ozdil, Greg Frazier, Jamie
 * Beck (http://www.terabit.ca/), FremyCompany, Luis Salazar
 * (http://www.freaky-media.com/), Russell Walker (http://www.nbill.co.uk/),
 * Garagoth, Anton Ongson, Tod Gentille, Alexander M Beedie, Benjamin Lupton,
 * Allan Jensen (http://www.winternet.no), Leslie Hoare, Ben Bryan,
 * penutbutterjelly, mk.keck, Dino, Christian Doebler, Greenseed, booeyOH,
 * Gabriel Paderni, Rival, Diogo Resende, Howard Yeend, Luke Smith
 * (http://lucassmith.name), Kheang Hok Chin (http://www.distantia.ca/), Cagri
 * Ekin, Amir Habibi (http://www.residence-mixte.com/), Jay Klehr, Tim de
 * Koning, taith, Douglas Crockford (http://javascript.crockford.com), Eric
 * Nagel, mktime, john (http://www.jd-tech.net), nobbler, marc andreu, ger,
 * Tomasz Wesolowski, rezna, setcookie, noname, class_exists, Marco, madipta,
 * Frank Forte, Mick@el, Rick Waldron, Bobby Drake, Nathan, Victor, stensi,
 * Luke Godfrey, Cord, Manish, Blues (http://tech.bluesmoon.info/), Robin,
 * Matt Bradley, vlado houba, Jalal Berrami, ReverseSyntax, Mateusz
 * "loonquawl" Zalega, Arno, Slawomir Kaniecki, Scott Cariss, date, Pul,
 * Francois
 * 
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 * 
 * Permission is hereby granted, free of charge, to any person obtaining a
 * copy of this software and associated documentation files (the
 * "Software"), to deal in the Software without restriction, including
 * without limitation the rights to use, copy, modify, merge, publish,
 * distribute, sublicense, and/or sell copies of the Software, and to
 * permit persons to whom the Software is furnished to do so, subject to
 * the following conditions:
 * 
 * The above copyright notice and this permission notice shall be included
 * in all copies or substantial portions of the Software.
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
 * IN NO EVENT SHALL KEVIN VAN ZONNEVELD BE LIABLE FOR ANY CLAIM, DAMAGES
 * OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 * OTHER DEALINGS IN THE SOFTWARE.
 */ 


// Compression: minified


function str_ireplace(search,replace,subject){var i,k='';var searchl=0;var reg;search+='';searchl=search.length;if(!(replace instanceof Array)){replace=new Array(replace);if(search instanceof Array){while(searchl>replace.length){replace[replace.length]=replace[0];}}}
if(!(search instanceof Array)){search=new Array(search);}
while(search.length>replace.length){replace[replace.length]='';}
if(subject instanceof Array){for(k in subject){subject[k]=str_ireplace(search,replace,subject[k]);}
return subject;}
searchl=search.length;for(i=0;i<searchl;i++){reg=new RegExp(search[i],'gi');subject=subject.replace(reg,replace[i]);}
return subject;}
function str_replace(search,replace,subject,count){var i=0,j=0,temp='',repl='',sl=0,fl=0,f=[].concat(search),r=[].concat(replace),s=subject,ra=r instanceof Array,sa=s instanceof Array;s=[].concat(s);if(count){this.window[count]=0;}
for(i=0,sl=s.length;i<sl;i++){if(s[i]===''){continue;}
for(j=0,fl=f.length;j<fl;j++){temp=s[i]+'';repl=ra?(r[j]!==undefined?r[j]:''):r[0];s[i]=(temp).split(f[j]).join(repl);if(count&&s[i]!==temp){this.window[count]+=(temp.length-s[i].length)/f[j].length;}}}
return sa?s:s[0];}
