/* 
 * More info at: http://phpjs.org
 * 
 * This is version: 3.04
 * 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, Theriault, Paulo Ricardo F.
 * Santos, Jack, Jonas Raoni Soares Silva (http://www.jsfromhell.com), Philip
 * Peterson, Ates Goral (http://magnetiq.com), Legaev Andrey, Ratheous, Alex,
 * Martijn Wieringa, Nate, Philippe Baumann, lmeyrick
 * (https://sourceforge.net/projects/bcmath-js/), Enrique Gonzalez,
 * Webtoolkit.info (http://www.webtoolkit.info/), Jani Hartikainen, Carlos R.
 * L. Rodrigues (http://www.jsfromhell.com), Ole Vrijenhoek, Ash Searle
 * (http://hexmen.com/blog/), travc, pilus, T.Wild,
 * http://stackoverflow.com/questions/57803/how-to-convert-decimal-to-hex-in-javascript,
 * Johnny Mast (http://www.phpvrouwen.nl), Erkekjetter, d3x, Andrea Giammarchi
 * (http://webreflection.blogspot.com), WebDevHobo
 * (http://webdevhobo.blogspot.com/), GeekFG (http://geekfg.blogspot.com),
 * marrtins, stag019, Michael Grier, gettimeofday, Oleg Eremeev, Mailfaker
 * (http://www.weedem.fr/), majak, mdsjack (http://www.mdsjack.bo.it), David,
 * Public Domain (http://www.json.org/json2.js), Mirek Slugen, Josh Fraser
 * (http://onlineaspect.com/2007/06/08/auto-detect-a-time-zone-with-javascript/),
 * Marc Palau, KELAN, Steven Levithan (http://blog.stevenlevithan.com),
 * Breaking Par Consulting Inc
 * (http://www.breakingpar.com/bkp/home.nsf/0/87256B280015193F87256CFB006C45F7),
 * Steve Hilder, Arpad Ray (mailto:arpad@php.net), Joris, Michael White,
 * Martin (http://www.erlenwiese.de/), Tyler Akins (http://rumkin.com),
 * Sakimori, Lars Fischer, Kankrelune (http://www.webfaktory.info/), Felix
 * Geisendoerfer (http://www.debuggable.com/felix), Caio Ariede
 * (http://caioariede.com), Alfonso Jimenez (http://www.alfonsojimenez.com),
 * AJ, Pellentesque Malesuada, gorthaur, Aman Gupta, Thunder.m, Karol
 * Kowalski, ger, john (http://www.jd-tech.net), mktime, Frank Forte, Douglas
 * Crockford (http://javascript.crockford.com), Marco, madipta, paulo kuong,
 * Gilbert, duncan, Nick Kolosov (http://sammy.ru), Subhasis Deb, Mateusz
 * "loonquawl" Zalega, felix, ReverseSyntax, Slawomir Kaniecki, Francois,
 * Scott Cariss, Denny Wardhana, sankai, Arno, marc andreu, noname, Fox,
 * nobbler, Nathan, Sanjoy Roy, 0m3r, David James, class_exists, date, Thiago
 * Mata (http://thiagomata.blog.com), nord_ua, Ozh, echo is bad, Linuxworld,
 * XoraX (http://www.xorax.info), Jon Hohle, Pyerre, Brad Touesnard, MeEtc
 * (http://yass.meetcweb.com), Peter-Paul Koch
 * (http://www.quirksmode.org/js/beat.html), Tim Wiel, Bryan Elliott, Soren
 * Hansen, T0bsn, David Randall, Der Simon (http://innerdom.sourceforge.net/),
 * lmeyrick (https://sourceforge.net/projects/bcmath-js/this.), Hyam Singer
 * (http://www.impact-computing.com/), Paul, kenneth, Raphael (Ao RUDLER),
 * Steve Clay, T. Wild, Ole Vrijenhoek (http://www.nervous.nl/), J A R, Bayron
 * Guevara, LH, JB, Eugene Bulkin (http://doubleaw.com/), Stoyan Kyosev
 * (http://www.svest.org/), djmix, Marc Jansen, Francesco, Lincoln Ramsay,
 * Manish, Itsacon (http://www.itsacon.net/), Kristof Coomans (SCK-CEN Belgian
 * Nucleair Research Centre), Pierre-Luc Paour, Martin Pool, Rick Waldron,
 * Kirk Strobeck, Saulo Vallory, Christoph, Artur Tchernychev, Wagner B.
 * Soares, Valentina De Rosa, Daniel Esteban, Jason Wong (http://carrot.org/),
 * Mick@el, rezna, Simon Willison (http://simonwillison.net), Gabriel Paderni,
 * Marco van Oort, penutbutterjelly, Philipp Lenssen, Anton Ongson, Blues
 * (http://tech.bluesmoon.info/), Tomasz Wesolowski, Eric Nagel, Bobby Drake,
 * Luke Godfrey, Pul, uestla, Alan C, Yves Sucaet, sowberry, hitwork, Orlando,
 * Norman "zEh" Fuchs, Ulrich, johnrembo, Nick Callen, ejsanders, Aidan Lister
 * (http://aidanlister.com/), Brian Tafoya (http://www.premasolutions.com/),
 * Philippe Jausions (http://pear.php.net/user/jausions), kilops, dptr1988,
 * HKM, metjay, strcasecmp, strcmp, Taras Bogach, jpfle, ChaosNo1, Alexander
 * Ermolaev (http://snippets.dzone.com/user/AlexanderErmolaev), Le Torbi,
 * James, Chris, DxGx, Pedro Tainha (http://www.pedrotainha.com), Christian
 * Doebler, setcookie, baris ozdil, Greg Frazier, Tod Gentille, T.J. Leahy,
 * Alexander M Beedie, FGFEmperor, gabriel paderni, Atli Þór, daniel airton
 * wermann (http://wermann.com.br), 3D-GRAF, Yannoo, jakes, FremyCompany, Luis
 * Salazar (http://www.freaky-media.com/), Matteo, stensi, Billy, Jalal
 * Berrami, vlado houba, Victor, fearphage
 * (http://http/my.opera.com/fearphage/), Tim de Koning, taith, Robin, Cord,
 * Matt Bradley, Maximusya, davook, Andrej Pavlovic, Dino, rem, Greenseed,
 * meo, Garagoth, Russell Walker (http://www.nbill.co.uk/), YUI Library:
 * http://developer.yahoo.com/yui/docs/YAHOO.util.DateLocale.html, Blues at
 * http://hacks.bluesmoon.info/strftime/strftime.js, Andreas, Jamie Beck
 * (http://www.terabit.ca/), DtTvB
 * (http://dt.in.th/2008-09-16.string-length-in-bytes.html), mk.keck, Leslie
 * Hoare, Rival, Diogo Resende, Howard Yeend, Benjamin Lupton, Allan Jensen
 * (http://www.winternet.no), Luke Smith (http://lucassmith.name), Kheang Hok
 * Chin (http://www.distantia.ca/), booeyOH, Ben Bryan, Cagri Ekin, Tim de
 * Koning (http://www.kingsquare.nl), Jay Klehr, Amir Habibi
 * (http://www.residence-mixte.com/)
 * 
 * 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 get_html_translation_table(table,quote_style){var entities={},hash_map={},decimal=0,symbol='';var constMappingTable={},constMappingQuoteStyle={};var useTable={},useQuoteStyle={};constMappingTable[0]='HTML_SPECIALCHARS';constMappingTable[1]='HTML_ENTITIES';constMappingQuoteStyle[0]='ENT_NOQUOTES';constMappingQuoteStyle[2]='ENT_COMPAT';constMappingQuoteStyle[3]='ENT_QUOTES';useTable=!isNaN(table)?constMappingTable[table]:table?table.toUpperCase():'HTML_SPECIALCHARS';useQuoteStyle=!isNaN(quote_style)?constMappingQuoteStyle[quote_style]:quote_style?quote_style.toUpperCase():'ENT_COMPAT';if(useTable!=='HTML_SPECIALCHARS'&&useTable!=='HTML_ENTITIES'){throw new Error("Table: "+useTable+' not supported');}
entities['38']='&amp;';if(useTable==='HTML_ENTITIES'){entities['160']='&nbsp;';entities['161']='&iexcl;';entities['162']='&cent;';entities['163']='&pound;';entities['164']='&curren;';entities['165']='&yen;';entities['166']='&brvbar;';entities['167']='&sect;';entities['168']='&uml;';entities['169']='&copy;';entities['170']='&ordf;';entities['171']='&laquo;';entities['172']='&not;';entities['173']='&shy;';entities['174']='&reg;';entities['175']='&macr;';entities['176']='&deg;';entities['177']='&plusmn;';entities['178']='&sup2;';entities['179']='&sup3;';entities['180']='&acute;';entities['181']='&micro;';entities['182']='&para;';entities['183']='&middot;';entities['184']='&cedil;';entities['185']='&sup1;';entities['186']='&ordm;';entities['187']='&raquo;';entities['188']='&frac14;';entities['189']='&frac12;';entities['190']='&frac34;';entities['191']='&iquest;';entities['192']='&Agrave;';entities['193']='&Aacute;';entities['194']='&Acirc;';entities['195']='&Atilde;';entities['196']='&Auml;';entities['197']='&Aring;';entities['198']='&AElig;';entities['199']='&Ccedil;';entities['200']='&Egrave;';entities['201']='&Eacute;';entities['202']='&Ecirc;';entities['203']='&Euml;';entities['204']='&Igrave;';entities['205']='&Iacute;';entities['206']='&Icirc;';entities['207']='&Iuml;';entities['208']='&ETH;';entities['209']='&Ntilde;';entities['210']='&Ograve;';entities['211']='&Oacute;';entities['212']='&Ocirc;';entities['213']='&Otilde;';entities['214']='&Ouml;';entities['215']='&times;';entities['216']='&Oslash;';entities['217']='&Ugrave;';entities['218']='&Uacute;';entities['219']='&Ucirc;';entities['220']='&Uuml;';entities['221']='&Yacute;';entities['222']='&THORN;';entities['223']='&szlig;';entities['224']='&agrave;';entities['225']='&aacute;';entities['226']='&acirc;';entities['227']='&atilde;';entities['228']='&auml;';entities['229']='&aring;';entities['230']='&aelig;';entities['231']='&ccedil;';entities['232']='&egrave;';entities['233']='&eacute;';entities['234']='&ecirc;';entities['235']='&euml;';entities['236']='&igrave;';entities['237']='&iacute;';entities['238']='&icirc;';entities['239']='&iuml;';entities['240']='&eth;';entities['241']='&ntilde;';entities['242']='&ograve;';entities['243']='&oacute;';entities['244']='&ocirc;';entities['245']='&otilde;';entities['246']='&ouml;';entities['247']='&divide;';entities['248']='&oslash;';entities['249']='&ugrave;';entities['250']='&uacute;';entities['251']='&ucirc;';entities['252']='&uuml;';entities['253']='&yacute;';entities['254']='&thorn;';entities['255']='&yuml;';}
if(useQuoteStyle!=='ENT_NOQUOTES'){entities['34']='&quot;';}
if(useQuoteStyle==='ENT_QUOTES'){entities['39']='&#39;';}
entities['60']='&lt;';entities['62']='&gt;';for(decimal in entities){symbol=String.fromCharCode(decimal);hash_map[symbol]=entities[decimal];}
return hash_map;}
function html_entity_decode(string,quote_style){var hash_map={},symbol='',tmp_str='',entity='';tmp_str=string.toString();if(false===(hash_map=this.get_html_translation_table('HTML_ENTITIES',quote_style))){return false;}
delete(hash_map['&']);hash_map['&']='&amp;';for(symbol in hash_map){entity=hash_map[symbol];tmp_str=tmp_str.split(entity).join(symbol);}
tmp_str=tmp_str.split('&#039;').join("'");return tmp_str;}
function i18n_loc_get_default(){this.php_js=this.php_js||{};return this.php_js.i18nLocale||(i18n_loc_set_default('en_US_POSIX'),'en_US_POSIX');}
function i18n_loc_set_default(name){this.php_js=this.php_js||{};this.php_js.i18nLocales={en_US_POSIX:{sorting:function(str1,str2){return(str1==str2)?0:((str1>str2)?1:-1);}}};this.php_js.i18nLocale=name;return true;}
function ini_set(varname,newvalue){var oldval='',that=this;this.php_js=this.php_js||{};this.php_js.ini=this.php_js.ini||{};this.php_js.ini[varname]=this.php_js.ini[varname]||{};oldval=this.php_js.ini[varname].local_value;var _setArr=function(oldval){if(typeof oldval==='undefined'){that.php_js.ini[varname].local_value=[];}
that.php_js.ini[varname].local_value.push(newvalue);};switch(varname){case'extension':if(typeof this.dl==='function'){this.dl(newvalue);}
_setArr(oldval,newvalue);break;default:this.php_js.ini[varname].local_value=newvalue;break;}
return oldval;}
function krsort(inputArr,sort_flags){var tmp_arr={},keys=[],sorter,i,k,that=this,strictForIn=false,populateArr=[];switch(sort_flags){case'SORT_STRING':sorter=function(a,b){return that.strnatcmp(b,a);};break;case'SORT_LOCALE_STRING':var loc=this.i18n_loc_get_default();sorter=this.php_js.i18nLocales[loc].sorting;break;case'SORT_NUMERIC':sorter=function(a,b){return(b-a);};break;case'SORT_REGULAR':default:sorter=function(a,b){if(a<b){return 1;}
if(a>b){return-1;}
return 0;};break;}
for(k in inputArr){if(inputArr.hasOwnProperty){keys.push(k);}}
keys.sort(sorter);this.php_js=this.php_js||{};this.php_js.ini=this.php_js.ini||{};strictForIn=this.php_js.ini['phpjs.strictForIn']&&this.php_js.ini['phpjs.strictForIn'].local_value;populateArr=strictForIn?inputArr:populateArr;for(i=0;i<keys.length;i++){k=keys[i];tmp_arr[k]=inputArr[k];if(strictForIn){delete inputArr[k];}}
for(i in tmp_arr){if(tmp_arr.hasOwnProperty){populateArr[i]=tmp_arr[i];}}
return strictForIn?true:populateArr;}
function strtr(str,from,to){var fr='',i=0,j=0,lenStr=0,lenFrom=0,tmpStrictForIn=false,fromTypeStr='',toTypeStr='',istr='';var tmpFrom=[];var tmpTo=[];var ret='';var match=false;if(typeof from==='object'){tmpStrictForIn=this.ini_set('phpjs.strictForIn',false);from=this.krsort(from);this.ini_set('phpjs.strictForIn',tmpStrictForIn);for(fr in from){if(from.hasOwnProperty(fr)){tmpFrom.push(fr);tmpTo.push(from[fr]);}}
from=tmpFrom;to=tmpTo;}
lenStr=str.length;lenFrom=from.length;fromTypeStr=typeof from==='string';toTypeStr=typeof to==='string';for(i=0;i<lenStr;i++){match=false;if(fromTypeStr){istr=str.charAt(i);for(j=0;j<lenFrom;j++){if(istr==from.charAt(j)){match=true;break;}}}
else{for(j=0;j<lenFrom;j++){if(str.substr(i,from[j].length)==from[j]){match=true;i=(i+from[j].length)-1;break;}}}
if(match){ret+=toTypeStr?to.charAt(j):to[j];}else{ret+=str.charAt(i);}}
return ret;}
function ucfirst(str){str+='';var f=str.charAt(0).toUpperCase();return f+str.substr(1);}