/* 
 * More info at: http://phpjs.org
 * 
 * This is version: 2.86
 * 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, Webtoolkit.info
 * (http://www.webtoolkit.info/), Theriault, Ash Searle
 * (http://hexmen.com/blog/), Ole Vrijenhoek, Carlos R. L. Rodrigues
 * (http://www.jsfromhell.com), travc, Jani Hartikainen,
 * http://stackoverflow.com/questions/57803/how-to-convert-decimal-to-hex-in-javascript,
 * Michael Grier, d3x, Alex, T.Wild, stag019, marrtins, pilus, Andrea
 * Giammarchi (http://webreflection.blogspot.com), Erkekjetter, GeekFG
 * (http://geekfg.blogspot.com), Johnny Mast (http://www.phpvrouwen.nl),
 * Steven Levithan (http://blog.stevenlevithan.com), Karol Kowalski, Marc
 * Palau, Public Domain (http://www.json.org/json2.js), T.J. Leahy, Mirek
 * Slugen, David, KELAN, Breaking Par Consulting Inc
 * (http://www.breakingpar.com/bkp/home.nsf/0/87256B280015193F87256CFB006C45F7),
 * Arpad Ray (mailto:arpad@php.net), Thunder.m, Aman Gupta, Pellentesque
 * Malesuada, majak, gettimeofday, Josh Fraser
 * (http://onlineaspect.com/2007/06/08/auto-detect-a-time-zone-with-javascript/),
 * Alfonso Jimenez (http://www.alfonsojimenez.com), Tyler Akins
 * (http://rumkin.com), 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, Orlando, Lars Fischer, Sakimori, Dino,
 * David Randall, Bryan Elliott, Jason Wong (http://carrot.org/), Daniel
 * Esteban, Kristof Coomans (SCK-CEN Belgian Nucleair Research Centre), Saulo
 * Vallory, Christoph, Tim Wiel, Brad Touesnard, Jamie Beck
 * (http://www.terabit.ca/), Wagner B. Soares, uestla, Soren Hansen, Valentina
 * De Rosa, MeEtc (http://yass.meetcweb.com), Peter-Paul Koch
 * (http://www.quirksmode.org/js/beat.html), T0bsn, nord_ua, Ozh, Paul, J A R,
 * Hyam Singer (http://www.impact-computing.com/), kenneth, Ole Vrijenhoek
 * (http://www.nervous.nl/), Raphael (Ao RUDLER), Kirk Strobeck, Martin Pool,
 * Marc Jansen, echo is bad, Pierre-Luc Paour, XoraX (http://www.xorax.info),
 * Der Simon (http://innerdom.sourceforge.net/), Eugene Bulkin
 * (http://doubleaw.com/), Francesco, LH, JB, Pyerre, Jon Hohle, YUI Library:
 * http://developer.yahoo.com/yui/docs/YAHOO.util.DateLocale.html, Norman
 * "zEh" Fuchs, sankai, Sanjoy Roy, Andreas, 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, dptr1988, strcasecmp, strcmp, Bayron Guevara, Alan C, Lincoln
 * Ramsay, Thiago Mata (http://thiagomata.blog.com), Linuxworld, djmix,
 * metjay, ChaosNo1, Gilbert, Chris, James, duncan, Pedro Tainha
 * (http://www.pedrotainha.com), Alexander Ermolaev
 * (http://snippets.dzone.com/user/AlexanderErmolaev), DxGx, DtTvB
 * (http://dt.in.th/2008-09-16.string-length-in-bytes.html), T. Wild, Steve
 * Clay, FGFEmperor, baris ozdil, gabriel paderni, Yannoo, Atli Þór, Simon
 * Willison (http://simonwillison.net), jakes, Greg Frazier, Anton Ongson,
 * FremyCompany, Luis Salazar (http://www.freaky-media.com/), Tim de Koning,
 * Russell Walker (http://www.nbill.co.uk/), Garagoth, Tod Gentille, Alexander
 * M Beedie, Andrej Pavlovic, davook, Benjamin Lupton, Ben Bryan, booeyOH,
 * Leslie Hoare, penutbutterjelly, Christian Doebler, Greenseed, mk.keck,
 * Gabriel Paderni, Cagri Ekin, Diogo Resende, Howard Yeend, Allan Jensen
 * (http://www.winternet.no), Rival, Luke Smith (http://lucassmith.name), Amir
 * Habibi (http://www.residence-mixte.com/), Jay Klehr, Kheang Hok Chin
 * (http://www.distantia.ca/), taith, Blues (http://tech.bluesmoon.info/),
 * Eric Nagel, Tomasz Wesolowski, Douglas Crockford
 * (http://javascript.crockford.com), mktime, marc andreu, ger, john
 * (http://www.jd-tech.net), rezna, Frank Forte, noname, class_exists, David
 * James, setcookie, Marco, Mick@el, Rick Waldron, madipta, nobbler, Bobby
 * Drake, stensi, Luke Godfrey, vlado houba, Victor, Cord, Robin, Matt
 * Bradley, Manish, Jalal Berrami, date, Mateusz "loonquawl" Zalega, Arno,
 * Nathan, ReverseSyntax, Slawomir Kaniecki, Pul, Francois, Scott Cariss
 * 
 * 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 number_format(number,decimals,dec_point,thousands_sep){var n=number,prec=decimals;var toFixedFix=function(n,prec){var k=Math.pow(10,prec);return(Math.round(n*k)/k).toString();};n=!isFinite(+n)?0:+n;prec=!isFinite(+prec)?0:Math.abs(prec);var sep=(typeof thousands_sep==='undefined')?',':thousands_sep;var dec=(typeof dec_point==='undefined')?'.':dec_point;var s=(prec>0)?toFixedFix(n,prec):toFixedFix(Math.round(n),prec);var abs=toFixedFix(Math.abs(n),prec);var _,i;if(abs>=1000){_=abs.split(/\D/);i=_[0].length%3||3;_[0]=s.slice(0,i+(n<0))+
_[0].slice(i).replace(/(\d{3})/g,sep+'$1');s=_.join(dec);}else{s=s.replace('.',dec);}
var decPos=s.indexOf(dec);if(prec>=1&&decPos!==-1&&(s.length-decPos-1)<prec){s+=new Array(prec-(s.length-decPos-1)).join(0)+'0';}
else if(prec>=1&&decPos===-1){s+=dec+new Array(prec).join(0)+'0';}
return s;}
function trim(str,charlist){var whitespace,l=0,i=0;str+='';if(!charlist){whitespace=" \n\r\t\f\x0b\xa0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000";}else{charlist+='';whitespace=charlist.replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g,'$1');}
l=str.length;for(i=0;i<l;i++){if(whitespace.indexOf(str.charAt(i))===-1){str=str.substring(i);break;}}
l=str.length;for(i=l-1;i>=0;i--){if(whitespace.indexOf(str.charAt(i))===-1){str=str.substring(0,i+1);break;}}
return whitespace.indexOf(str.charAt(0))===-1?str:'';}