
/* File: swfobject.js (modyfikacja: 2009-05-12 01:58:33 */ 

/**
 * SWFObject v1.5.1: Flash Player detection and embed - http://blog.deconcept.com/swfobject/
 *
 * SWFObject is (c) 2007 Geoff Stearns and is released under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 *
 */
if(typeof deconcept=="undefined"){var deconcept={};}if(typeof deconcept.util=="undefined"){deconcept.util={};}if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil={};}deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a){if(!document.getElementById){return;}this.DETECT_KEY=_a?_a:"detectflash";this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);this.params={};this.variables={};this.attributes=[];if(_1){this.setAttribute("swf",_1);}if(id){this.setAttribute("id",id);}if(w){this.setAttribute("width",w);}if(h){this.setAttribute("height",h);}if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));}this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();if(!window.opera&&document.all&&this.installedVer.major>7){if(!deconcept.unloadSet){deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};window.attachEvent("onunload",deconcept.SWFObjectUtil.cleanupSWFs);};window.attachEvent("onbeforeunload",deconcept.SWFObjectUtil.prepUnload);deconcept.unloadSet=true;}}if(c){this.addParam("bgcolor",c);}var q=_7?_7:"high";this.addParam("quality",q);this.setAttribute("useExpressInstall",false);this.setAttribute("doExpressInstall",false);var _c=(_8)?_8:window.location;this.setAttribute("xiRedirectUrl",_c);this.setAttribute("redirectUrl","");if(_9){this.setAttribute("redirectUrl",_9);}};deconcept.SWFObject.prototype={useExpressInstall:function(_d){this.xiSWFPath=!_d?"expressinstall.swf":_d;this.setAttribute("useExpressInstall",true);},setAttribute:function(_e,_f){this.attributes[_e]=_f;},getAttribute:function(_10){return this.attributes[_10]||"";},addParam:function(_11,_12){this.params[_11]=_12;},getParams:function(){return this.params;},addVariable:function(_13,_14){this.variables[_13]=_14;},getVariable:function(_15){return this.variables[_15]||"";},getVariables:function(){return this.variables;},getVariablePairs:function(){var _16=[];var key;var _18=this.getVariables();for(key in _18){_16[_16.length]=key+"="+_18[key];}return _16;},getSWFHTML:function(){var _19="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");this.setAttribute("swf",this.xiSWFPath);}_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+(this.getAttribute("style")||"")+"\"";_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";var _1a=this.getParams();for(var key in _1a){_19+=[key]+"=\""+_1a[key]+"\" ";}var _1c=this.getVariablePairs().join("&");if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";}_19+="/>";}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");this.setAttribute("swf",this.xiSWFPath);}_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+(this.getAttribute("style")||"")+"\">";_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";var _1d=this.getParams();for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";}var _1f=this.getVariablePairs().join("&");if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}_19+="</object>";}return _19;},write:function(_20){if(this.getAttribute("useExpressInstall")){var _21=new deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){this.setAttribute("doExpressInstall",true);this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));document.title=document.title.slice(0,47)+" - Flash Player Installation";this.addVariable("MMdoctitle",document.title);}}if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){var n=(typeof _20=="string")?document.getElementById(_20):_20;n.innerHTML=this.getSWFHTML();return true;}else{if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}}return false;}};deconcept.SWFObjectUtil.getPlayerVersion=function(){var _23=new deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeTypes.length){var x=navigator.plugins["Shockwave Flash"];if(x&&x.description){_23=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}}else{if(navigator.userAgent&&navigator.userAgent.indexOf("Windows CE")>=0){var axo=1;var _26=3;while(axo){try{_26++;axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+_26);_23=new deconcept.PlayerVersion([_26,0,0]);}catch(e){axo=null;}}}else{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");_23=new deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess="always";}catch(e){if(_23.major==6){return _23;}}try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(e){}}if(axo!=null){_23=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}}}return _23;};deconcept.PlayerVersion=function(_29){this.major=_29[0]!=null?parseInt(_29[0]):0;this.minor=_29[1]!=null?parseInt(_29[1]):0;this.rev=_29[2]!=null?parseInt(_29[2]):0;};deconcept.PlayerVersion.prototype.versionIsValid=function(fv){if(this.major<fv.major){return false;}if(this.major>fv.major){return true;}if(this.minor<fv.minor){return false;}if(this.minor>fv.minor){return true;}if(this.rev<fv.rev){return false;}return true;};deconcept.util={getRequestParameter:function(_2b){var q=document.location.search||document.location.hash;if(_2b==null){return q;}if(q){var _2d=q.substring(1).split("&");for(var i=0;i<_2d.length;i++){if(_2d[i].substring(0,_2d[i].indexOf("="))==_2b){return _2d[i].substring((_2d[i].indexOf("=")+1));}}}return "";}};deconcept.SWFObjectUtil.cleanupSWFs=function(){var _2f=document.getElementsByTagName("OBJECT");for(var i=_2f.length-1;i>=0;i--){_2f[i].style.display="none";for(var x in _2f[i]){if(typeof _2f[i][x]=="function"){_2f[i][x]=function(){};}}}};if(!document.getElementById&&document.all){document.getElementById=function(id){return document.all[id];};}var getQueryParamValue=deconcept.util.getRequestParameter;var FlashObject=deconcept.SWFObject;var SWFObject=deconcept.SWFObject;
/* File: jquery-1.2.6.min.js (modyfikacja: 2009-05-12 01:58:33 */ 

/*
 * jQuery 1.2.6 - New Wave Javascript
 *
 * Copyright (c) 2008 John Resig (jquery.com)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * $Date: 2008-05-24 14:22:17 -0400 (Sat, 24 May 2008) $
 * $Rev: 5685 $
 */
(function(){var _jQuery=window.jQuery,_$=window.$;var jQuery=window.jQuery=window.$=function(selector,context){return new jQuery.fn.init(selector,context);};var quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/,isSimple=/^.[^:#\[\.]*$/,undefined;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;return this;}if(typeof selector=="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem){if(elem.id!=match[3])return jQuery().find(selector);return jQuery(elem);}selector=[];}}else
return jQuery(context).find(selector);}else if(jQuery.isFunction(selector))return jQuery(document)[jQuery.fn.ready?"ready":"load"](selector);return this.setArray(jQuery.makeArray(selector));},jquery:"1.2.6",size:function(){return this.length;},length:0,get:function(num){return num==undefined?jQuery.makeArray(this):this[num];},pushStack:function(elems){var ret=jQuery(elems);ret.prevObject=this;return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){var ret=-1;return jQuery.inArray(elem&&elem.jquery?elem[0]:elem,this);},attr:function(name,value,type){var options=name;if(name.constructor==String)if(value===undefined)return this[0]&&jQuery[type||"attr"](this[0],name);else{options={};options[name]=value;}return this.each(function(i){for(name in options)jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){if((key=='width'||key=='height')&&parseFloat(value)<0)value=undefined;return this.attr(key,value,"curCSS");},text:function(text){if(typeof text!="object"&&text!=null)return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text));var ret="";jQuery.each(text||this,function(){jQuery.each(this.childNodes,function(){if(this.nodeType!=8)ret+=this.nodeType!=1?this.nodeValue:jQuery.fn.text([this]);});});return ret;},wrapAll:function(html){if(this[0])jQuery(html,this[0].ownerDocument).clone().insertBefore(this[0]).map(function(){var elem=this;while(elem.firstChild)elem=elem.firstChild;return elem;}).append(this);return this;},wrapInner:function(html){return this.each(function(){jQuery(this).contents().wrapAll(html);});},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html);});},append:function(){return this.domManip(arguments,true,false,function(elem){if(this.nodeType==1)this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,true,function(elem){if(this.nodeType==1)this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,true,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},find:function(selector){var elems=jQuery.map(this,function(elem){return jQuery.find(selector,elem);});return this.pushStack(/[^+>] [^+>]/.test(selector)||selector.indexOf("..")>-1?jQuery.unique(elems):elems);},clone:function(events){var ret=this.map(function(){if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement("div");container.appendChild(clone);return jQuery.clean([container.innerHTML])[0];}else
return this.cloneNode(true);});var clone=ret.find("*").andSelf().each(function(){if(this[expando]!=undefined)this[expando]=null;});if(events===true)this.find("*").andSelf().each(function(i){if(this.nodeType==3)return;var events=jQuery.data(this,"events");for(var type in events)for(var handler in events[type])jQuery.event.add(clone[i],type,events[type][handler],events[type][handler].data);});return ret;},filter:function(selector){return this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i){return selector.call(elem,i);})||jQuery.multiFilter(selector,this));},not:function(selector){if(selector.constructor==String)if(isSimple.test(selector))return this.pushStack(jQuery.multiFilter(selector,this,true));else
selector=jQuery.multiFilter(selector,this);var isArrayLike=selector.length&&selector[selector.length-1]!==undefined&&!selector.nodeType;return this.filter(function(){return isArrayLike?jQuery.inArray(this,selector)<0:this!=selector;});},add:function(selector){return this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector=='string'?jQuery(selector):jQuery.makeArray(selector))));},is:function(selector){return!!selector&&jQuery.multiFilter(selector,this).length>0;},hasClass:function(selector){return this.is("."+selector);},val:function(value){if(value==undefined){if(this.length){var elem=this[0];if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)return null;for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){var option=options[i];if(option.selected){value=jQuery.browser.msie&&!option.attributes.value.specified?option.text:option.value;if(one)return value;values.push(value);}}return values;}else
return(this[0].value||"").replace(/\r/g,"");}return undefined;}if(value.constructor==Number)value+='';return this.each(function(){if(this.nodeType!=1)return;if(value.constructor==Array&&/radio|checkbox/.test(this.type))this.checked=(jQuery.inArray(this.value,value)>=0||jQuery.inArray(this.name,value)>=0);else if(jQuery.nodeName(this,"select")){var values=jQuery.makeArray(value);jQuery("option",this).each(function(){this.selected=(jQuery.inArray(this.value,values)>=0||jQuery.inArray(this.text,values)>=0);});if(!values.length)this.selectedIndex=-1;}else
this.value=value;});},html:function(value){return value==undefined?(this[0]?this[0].innerHTML:null):this.empty().append(value);},replaceWith:function(value){return this.after(value).remove();},eq:function(i){return this.slice(i,i+1);},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments));},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},andSelf:function(){return this.add(this.prevObject);},data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value===undefined){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length)data=jQuery.data(this[0],key);return data===undefined&&parts[1]?this.data(parts[0]):data;}else
return this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){jQuery.data(this,key,value);});},removeData:function(key){return this.each(function(){jQuery.removeData(this,key);});},domManip:function(args,table,reverse,callback){var clone=this.length>1,elems;return this.each(function(){if(!elems){elems=jQuery.clean(args,this.ownerDocument);if(reverse)elems.reverse();}var obj=this;if(table&&jQuery.nodeName(this,"table")&&jQuery.nodeName(elems[0],"tr"))obj=this.getElementsByTagName("tbody")[0]||this.appendChild(this.ownerDocument.createElement("tbody"));var scripts=jQuery([]);jQuery.each(elems,function(){var elem=clone?jQuery(this).clone(true)[0]:this;if(jQuery.nodeName(elem,"script"))scripts=scripts.add(elem);else{if(elem.nodeType==1)scripts=scripts.add(jQuery("script",elem).remove());callback.call(obj,elem);}});scripts.each(evalScript);});}};jQuery.fn.init.prototype=jQuery.fn;function evalScript(i,elem){if(elem.src)jQuery.ajax({url:elem.src,async:false,dataType:"script"});else
jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"");if(elem.parentNode)elem.parentNode.removeChild(elem);}function now(){return+new Date;}jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(target.constructor==Boolean){deep=target;target=arguments[1]||{};i=2;}if(typeof target!="object"&&typeof target!="function")target={};if(length==i){target=this;--i;}for(;i<length;i++)if((options=arguments[i])!=null)for(var name in options){var src=target[name],copy=options[name];if(target===copy)continue;if(deep&&copy&&typeof copy=="object"&&!copy.nodeType)target[name]=jQuery.extend(deep,src||(copy.length!=null?[]:{}),copy);else if(copy!==undefined)target[name]=copy;}return target;};var expando="jQuery"+now(),uuid=0,windowData={},exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i,defaultView=document.defaultView||{};jQuery.extend({noConflict:function(deep){window.$=_$;if(deep)window.jQuery=_jQuery;return jQuery;},isFunction:function(fn){return!!fn&&typeof fn!="string"&&!fn.nodeName&&fn.constructor!=Array&&/^[\s[]?function/.test(fn+"");},isXMLDoc:function(elem){return elem.documentElement&&!elem.body||elem.tagName&&elem.ownerDocument&&!elem.ownerDocument.body;},globalEval:function(data){data=jQuery.trim(data);if(data){var head=document.getElementsByTagName("head")[0]||document.documentElement,script=document.createElement("script");script.type="text/javascript";if(jQuery.browser.msie)script.text=data;else
script.appendChild(document.createTextNode(data));head.insertBefore(script,head.firstChild);head.removeChild(script);}},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toUpperCase()==name.toUpperCase();},cache:{},data:function(elem,name,data){elem=elem==window?windowData:elem;var id=elem[expando];if(!id)id=elem[expando]=++uuid;if(name&&!jQuery.cache[id])jQuery.cache[id]={};if(data!==undefined)jQuery.cache[id][name]=data;return name?jQuery.cache[id][name]:id;},removeData:function(elem,name){elem=elem==window?windowData:elem;var id=elem[expando];if(name){if(jQuery.cache[id]){delete jQuery.cache[id][name];name="";for(name in jQuery.cache[id])break;if(!name)jQuery.removeData(elem);}}else{try{delete elem[expando];}catch(e){if(elem.removeAttribute)elem.removeAttribute(expando);}delete jQuery.cache[id];}},each:function(object,callback,args){var name,i=0,length=object.length;if(args){if(length==undefined){for(name in object)if(callback.apply(object[name],args)===false)break;}else
for(;i<length;)if(callback.apply(object[i++],args)===false)break;}else{if(length==undefined){for(name in object)if(callback.call(object[name],name,object[name])===false)break;}else
for(var value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}return object;},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value))value=value.call(elem,i);return value&&value.constructor==Number&&type=="curCSS"&&!exclude.test(name)?value+"px":value;},className:{add:function(elem,classNames){jQuery.each((classNames||"").split(/\s+/),function(i,className){if(elem.nodeType==1&&!jQuery.className.has(elem.className,className))elem.className+=(elem.className?" ":"")+className;});},remove:function(elem,classNames){if(elem.nodeType==1)elem.className=classNames!=undefined?jQuery.grep(elem.className.split(/\s+/),function(className){return!jQuery.className.has(classNames,className);}).join(" "):"";},has:function(elem,className){return jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))>-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}callback.call(elem);for(var name in options)elem.style[name]=old[name];},css:function(elem,name,force){if(name=="width"||name=="height"){var val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=="width"?["Left","Right"]:["Top","Bottom"];function getWH(){val=name=="width"?elem.offsetWidth:elem.offsetHeight;var padding=0,border=0;jQuery.each(which,function(){padding+=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;border+=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});val-=Math.round(padding+border);}if(jQuery(elem).is(":visible"))getWH();else
jQuery.swap(elem,props,getWH);return Math.max(0,val);}return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret,style=elem.style;function color(elem){if(!jQuery.browser.safari)return false;var ret=defaultView.getComputedStyle(elem,null);return!ret||ret.getPropertyValue("color")=="";}if(name=="opacity"&&jQuery.browser.msie){ret=jQuery.attr(style,"opacity");return ret==""?"1":ret;}if(jQuery.browser.opera&&name=="display"){var save=style.outline;style.outline="0 solid black";style.outline=save;}if(name.match(/float/i))name=styleFloat;if(!force&&style&&style[name])ret=style[name];else if(defaultView.getComputedStyle){if(name.match(/float/i))name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var computedStyle=defaultView.getComputedStyle(elem,null);if(computedStyle&&!color(elem))ret=computedStyle.getPropertyValue(name);else{var swap=[],stack=[],a=elem,i=0;for(;a&&color(a);a=a.parentNode)stack.unshift(a);for(;i<stack.length;i++)if(color(stack[i])){swap[i]=stack[i].style.display;stack[i].style.display="block";}ret=name=="display"&&swap[stack.length-1]!=null?"none":(computedStyle&&computedStyle.getPropertyValue(name))||"";for(i=0;i<swap.length;i++)if(swap[i]!=null)stack[i].style.display=swap[i];}if(name=="opacity"&&ret=="")ret="1";}else if(elem.currentStyle){var camelCase=name.replace(/\-(\w)/g,function(all,letter){return letter.toUpperCase();});ret=elem.currentStyle[name]||elem.currentStyle[camelCase];if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){var left=style.left,rsLeft=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left;style.left=ret||0;ret=style.pixelLeft+"px";style.left=left;elem.runtimeStyle.left=rsLeft;}}return ret;},clean:function(elems,context){var ret=[];context=context||document;if(typeof context.createElement=='undefined')context=context.ownerDocument||context[0]&&context[0].ownerDocument||document;jQuery.each(elems,function(i,elem){if(!elem)return;if(elem.constructor==Number)elem+='';if(typeof elem=="string"){elem=elem.replace(/(<(\w+)[^>]*?)\/>/g,function(all,front,tag){return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?all:front+"></"+tag+">";});var tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div");var wrap=!tags.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!tags.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||tags.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!tags.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!tags.indexOf("<td")||!tags.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!tags.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||jQuery.browser.msie&&[1,"div<div>","</div>"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)div=div.lastChild;if(jQuery.browser.msie){var tbody=!tags.indexOf("<table")&&tags.indexOf("<tbody")<0?div.firstChild&&div.firstChild.childNodes:wrap[1]=="<table>"&&tags.indexOf("<tbody")<0?div.childNodes:[];for(var j=tbody.length-1;j>=0;--j)if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length)tbody[j].parentNode.removeChild(tbody[j]);if(/^\s/.test(elem))div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);}elem=jQuery.makeArray(div.childNodes);}if(elem.length===0&&(!jQuery.nodeName(elem,"form")&&!jQuery.nodeName(elem,"select")))return;if(elem[0]==undefined||jQuery.nodeName(elem,"form")||elem.options)ret.push(elem);else
ret=jQuery.merge(ret,elem);});return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)return undefined;var notxml=!jQuery.isXMLDoc(elem),set=value!==undefined,msie=jQuery.browser.msie;name=notxml&&jQuery.props[name]||name;if(elem.tagName){var special=/href|src|style/.test(name);if(name=="selected"&&jQuery.browser.safari)elem.parentNode.selectedIndex;if(name in elem&&notxml&&!special){if(set){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)throw"type property can't be changed";elem[name]=value;}if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))return elem.getAttributeNode(name).nodeValue;return elem[name];}if(msie&&notxml&&name=="style")return jQuery.attr(elem.style,"cssText",value);if(set)elem.setAttribute(name,""+value);var attr=msie&&notxml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr;}if(msie&&name=="opacity"){if(set){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(value)+''=="NaN"?"":"alpha(opacity="+value*100+")");}return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+'':"";}name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(set)elem[name]=value;return elem[name];},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(array!=null){var i=array.length;if(i==null||array.split||array.setInterval||array.call)ret[0]=array;else
while(i)ret[--i]=array[i];}return ret;},inArray:function(elem,array){for(var i=0,length=array.length;i<length;i++)if(array[i]===elem)return i;return-1;},merge:function(first,second){var i=0,elem,pos=first.length;if(jQuery.browser.msie){while(elem=second[i++])if(elem.nodeType!=8)first[pos++]=elem;}else
while(elem=second[i++])first[pos++]=elem;return first;},unique:function(array){var ret=[],done={};try{for(var i=0,length=array.length;i<length;i++){var id=jQuery.data(array[i]);if(!done[id]){done[id]=true;ret.push(array[i]);}}}catch(e){ret=array;}return ret;},grep:function(elems,callback,inv){var ret=[];for(var i=0,length=elems.length;i<length;i++)if(!inv!=!callback(elems[i],i))ret.push(elems[i]);return ret;},map:function(elems,callback){var ret=[];for(var i=0,length=elems.length;i<length;i++){var value=callback(elems[i],i);if(value!=null)ret[ret.length]=value;}return ret.concat.apply([],ret);}});var userAgent=navigator.userAgent.toLowerCase();jQuery.browser={version:(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[])[1],safari:/webkit/.test(userAgent),opera:/opera/.test(userAgent),msie:/msie/.test(userAgent)&&!/opera/.test(userAgent),mozilla:/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)};var styleFloat=jQuery.browser.msie?"styleFloat":"cssFloat";jQuery.extend({boxModel:!jQuery.browser.msie||document.compatMode=="CSS1Compat",props:{"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFloat:styleFloat,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing"}});jQuery.each({parent:function(elem){return elem.parentNode;},parents:function(elem){return jQuery.dir(elem,"parentNode");},next:function(elem){return jQuery.nth(elem,2,"nextSibling");},prev:function(elem){return jQuery.nth(elem,2,"previousSibling");},nextAll:function(elem){return jQuery.dir(elem,"nextSibling");},prevAll:function(elem){return jQuery.dir(elem,"previousSibling");},siblings:function(elem){return jQuery.sibling(elem.parentNode.firstChild,elem);},children:function(elem){return jQuery.sibling(elem.firstChild);},contents:function(elem){return jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.document:jQuery.makeArray(elem.childNodes);}},function(name,fn){jQuery.fn[name]=function(selector){var ret=jQuery.map(this,fn);if(selector&&typeof selector=="string")ret=jQuery.multiFilter(selector,ret);return this.pushStack(jQuery.unique(ret));};});jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(){var args=arguments;return this.each(function(){for(var i=0,length=args.length;i<length;i++)jQuery(args[i])[original](this);});};});jQuery.each({removeAttr:function(name){jQuery.attr(this,name,"");if(this.nodeType==1)this.removeAttribute(name);},addClass:function(classNames){jQuery.className.add(this,classNames);},removeClass:function(classNames){jQuery.className.remove(this,classNames);},toggleClass:function(classNames){jQuery.className[jQuery.className.has(this,classNames)?"remove":"add"](this,classNames);},remove:function(selector){if(!selector||jQuery.filter(selector,[this]).r.length){jQuery("*",this).add(this).each(function(){jQuery.event.remove(this);jQuery.removeData(this);});if(this.parentNode)this.parentNode.removeChild(this);}},empty:function(){jQuery(">*",this).remove();while(this.firstChild)this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});jQuery.each(["Height","Width"],function(i,name){var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?jQuery.browser.opera&&document.body["client"+name]||jQuery.browser.safari&&window["inner"+name]||document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(Math.max(document.body["scroll"+name],document.documentElement["scroll"+name]),Math.max(document.body["offset"+name],document.documentElement["offset"+name])):size==undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+"px");};});function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}var chars=jQuery.browser.safari&&parseInt(jQuery.browser.version)<417?"(?:[\\w*_-]|\\\\.)":"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",quickChild=new RegExp("^>\\s*("+chars+"+)"),quickID=new RegExp("^("+chars+"+)(#)("+chars+"+)"),quickClass=new RegExp("^([#.]?)("+chars+"*)");jQuery.extend({expr:{"":function(a,i,m){return m[2]=="*"||jQuery.nodeName(a,m[2]);},"#":function(a,i,m){return a.getAttribute("id")==m[2];},":":{lt:function(a,i,m){return i<m[3]-0;},gt:function(a,i,m){return i>m[3]-0;},nth:function(a,i,m){return m[3]-0==i;},eq:function(a,i,m){return m[3]-0==i;},first:function(a,i){return i==0;},last:function(a,i,m,r){return i==r.length-1;},even:function(a,i){return i%2==0;},odd:function(a,i){return i%2;},"first-child":function(a){return a.parentNode.getElementsByTagName("*")[0]==a;},"last-child":function(a){return jQuery.nth(a.parentNode.lastChild,1,"previousSibling")==a;},"only-child":function(a){return!jQuery.nth(a.parentNode.lastChild,2,"previousSibling");},parent:function(a){return a.firstChild;},empty:function(a){return!a.firstChild;},contains:function(a,i,m){return(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=0;},visible:function(a){return"hidden"!=a.type&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!="hidden";},hidden:function(a){return"hidden"==a.type||jQuery.css(a,"display")=="none"||jQuery.css(a,"visibility")=="hidden";},enabled:function(a){return!a.disabled;},disabled:function(a){return a.disabled;},checked:function(a){return a.checked;},selected:function(a){return a.selected||jQuery.attr(a,"selected");},text:function(a){return"text"==a.type;},radio:function(a){return"radio"==a.type;},checkbox:function(a){return"checkbox"==a.type;},file:function(a){return"file"==a.type;},password:function(a){return"password"==a.type;},submit:function(a){return"submit"==a.type;},image:function(a){return"image"==a.type;},reset:function(a){return"reset"==a.type;},button:function(a){return"button"==a.type||jQuery.nodeName(a,"button");},input:function(a){return/input|select|textarea|button/i.test(a.nodeName);},has:function(a,i,m){return jQuery.find(m[3],a).length;},header:function(a){return/h\d/i.test(a.nodeName);},animated:function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length;}}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,new RegExp("^([:.#]*)("+chars+"+)")],multiFilter:function(expr,elems,not){var old,cur=[];while(expr&&expr!=old){old=expr;var f=jQuery.filter(expr,elems,not);expr=f.t.replace(/^\s*,\s*/,"");cur=not?elems=f.r:jQuery.merge(cur,f.r);}return cur;},find:function(t,context){if(typeof t!="string")return[t];if(context&&context.nodeType!=1&&context.nodeType!=9)return[];context=context||document;var ret=[context],done=[],last,nodeName;while(t&&last!=t){var r=[];last=t;t=jQuery.trim(t);var foundToken=false,re=quickChild,m=re.exec(t);if(m){nodeName=m[1].toUpperCase();for(var i=0;ret[i];i++)for(var c=ret[i].firstChild;c;c=c.nextSibling)if(c.nodeType==1&&(nodeName=="*"||c.nodeName.toUpperCase()==nodeName))r.push(c);ret=r;t=t.replace(re,"");if(t.indexOf(" ")==0)continue;foundToken=true;}else{re=/^([>+~])\s*(\w*)/i;if((m=re.exec(t))!=null){r=[];var merge={};nodeName=m[2].toUpperCase();m=m[1];for(var j=0,rl=ret.length;j<rl;j++){var n=m=="~"||m=="+"?ret[j].nextSibling:ret[j].firstChild;for(;n;n=n.nextSibling)if(n.nodeType==1){var id=jQuery.data(n);if(m=="~"&&merge[id])break;if(!nodeName||n.nodeName.toUpperCase()==nodeName){if(m=="~")merge[id]=true;r.push(n);}if(m=="+")break;}}ret=r;t=jQuery.trim(t.replace(re,""));foundToken=true;}}if(t&&!foundToken){if(!t.indexOf(",")){if(context==ret[0])ret.shift();done=jQuery.merge(done,ret);r=ret=[context];t=" "+t.substr(1,t.length);}else{var re2=quickID;var m=re2.exec(t);if(m){m=[0,m[2],m[3],m[1]];}else{re2=quickClass;m=re2.exec(t);}m[2]=m[2].replace(/\\/g,"");var elem=ret[ret.length-1];if(m[1]=="#"&&elem&&elem.getElementById&&!jQuery.isXMLDoc(elem)){var oid=elem.getElementById(m[2]);if((jQuery.browser.msie||jQuery.browser.opera)&&oid&&typeof oid.id=="string"&&oid.id!=m[2])oid=jQuery('[@id="'+m[2]+'"]',elem)[0];ret=r=oid&&(!m[3]||jQuery.nodeName(oid,m[3]))?[oid]:[];}else{for(var i=0;ret[i];i++){var tag=m[1]=="#"&&m[3]?m[3]:m[1]!=""||m[0]==""?"*":m[2];if(tag=="*"&&ret[i].nodeName.toLowerCase()=="object")tag="param";r=jQuery.merge(r,ret[i].getElementsByTagName(tag));}if(m[1]==".")r=jQuery.classFilter(r,m[2]);if(m[1]=="#"){var tmp=[];for(var i=0;r[i];i++)if(r[i].getAttribute("id")==m[2]){tmp=[r[i]];break;}r=tmp;}ret=r;}t=t.replace(re2,"");}}if(t){var val=jQuery.filter(t,r);ret=r=val.r;t=jQuery.trim(val.t);}}if(t)ret=[];if(ret&&context==ret[0])ret.shift();done=jQuery.merge(done,ret);return done;},classFilter:function(r,m,not){m=" "+m+" ";var tmp=[];for(var i=0;r[i];i++){var pass=(" "+r[i].className+" ").indexOf(m)>=0;if(!not&&pass||not&&!pass)tmp.push(r[i]);}return tmp;},filter:function(t,r,not){var last;while(t&&t!=last){last=t;var p=jQuery.parse,m;for(var i=0;p[i];i++){m=p[i].exec(t);if(m){t=t.substring(m[0].length);m[2]=m[2].replace(/\\/g,"");break;}}if(!m)break;if(m[1]==":"&&m[2]=="not")r=isSimple.test(m[3])?jQuery.filter(m[3],r,true).r:jQuery(r).not(m[3]);else if(m[1]==".")r=jQuery.classFilter(r,m[2],not);else if(m[1]=="["){var tmp=[],type=m[3];for(var i=0,rl=r.length;i<rl;i++){var a=r[i],z=a[jQuery.props[m[2]]||m[2]];if(z==null||/href|src|selected/.test(m[2]))z=jQuery.attr(a,m[2])||'';if((type==""&&!!z||type=="="&&z==m[5]||type=="!="&&z!=m[5]||type=="^="&&z&&!z.indexOf(m[5])||type=="$="&&z.substr(z.length-m[5].length)==m[5]||(type=="*="||type=="~=")&&z.indexOf(m[5])>=0)^not)tmp.push(a);}r=tmp;}else if(m[1]==":"&&m[2]=="nth-child"){var merge={},tmp=[],test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3]=="even"&&"2n"||m[3]=="odd"&&"2n+1"||!/\D/.test(m[3])&&"0n+"+m[3]||m[3]),first=(test[1]+(test[2]||1))-0,last=test[3]-0;for(var i=0,rl=r.length;i<rl;i++){var node=r[i],parentNode=node.parentNode,id=jQuery.data(parentNode);if(!merge[id]){var c=1;for(var n=parentNode.firstChild;n;n=n.nextSibling)if(n.nodeType==1)n.nodeIndex=c++;merge[id]=true;}var add=false;if(first==0){if(node.nodeIndex==last)add=true;}else if((node.nodeIndex-last)%first==0&&(node.nodeIndex-last)/first>=0)add=true;if(add^not)tmp.push(node);}r=tmp;}else{var fn=jQuery.expr[m[1]];if(typeof fn=="object")fn=fn[m[2]];if(typeof fn=="string")fn=eval("false||function(a,i){return "+fn+";}");r=jQuery.grep(r,function(elem,i){return fn(elem,i,m,r);},not);}}return{r:r,t:t};},dir:function(elem,dir){var matched=[],cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)matched.push(cur);cur=cur[dir];}return matched;},nth:function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir])if(cur.nodeType==1&&++num==result)break;return cur;},sibling:function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&n!=elem)r.push(n);}return r;}});jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)return;if(jQuery.browser.msie&&elem.setInterval)elem=window;if(!handler.guid)handler.guid=this.guid++;if(data!=undefined){var fn=handler;handler=this.proxy(fn,function(){return fn.apply(this,arguments);});handler.data=data;}var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){if(typeof jQuery!="undefined"&&!jQuery.event.triggered)return jQuery.event.handle.apply(arguments.callee.elem,arguments);});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];handler.type=parts[1];var handlers=events[type];if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem)===false){if(elem.addEventListener)elem.addEventListener(type,handle,false);else if(elem.attachEvent)elem.attachEvent("on"+type,handle);}}handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types==undefined||(typeof types=="string"&&types.charAt(0)=="."))for(var type in events)this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];if(events[type]){if(handler)delete events[type][handler.guid];else
for(handler in events[type])if(!parts[1]||events[type][handler].type==parts[1])delete events[type][handler];for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem)===false){if(elem.removeEventListener)elem.removeEventListener(type,jQuery.data(elem,"handle"),false);else if(elem.detachEvent)elem.detachEvent("on"+type,jQuery.data(elem,"handle"));}ret=null;delete events[type];}}});}for(ret in events)break;if(!ret){var handle=jQuery.data(elem,"handle");if(handle)handle.elem=null;jQuery.removeData(elem,"events");jQuery.removeData(elem,"handle");}}},trigger:function(type,data,elem,donative,extra){data=jQuery.makeArray(data);if(type.indexOf("!")>=0){type=type.slice(0,-1);var exclusive=true;}if(!elem){if(this.global[type])jQuery("*").add([window,document]).trigger(type,data);}else{if(elem.nodeType==3||elem.nodeType==8)return undefined;var val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!data[0].preventDefault;if(event){data.unshift({type:type,target:elem,preventDefault:function(){},stopPropagation:function(){},timeStamp:now()});data[0][expando]=true;}data[0].type=type;if(exclusive)data[0].exclusive=true;var handle=jQuery.data(elem,"handle");if(handle)val=handle.apply(elem,data);if((!fn||(jQuery.nodeName(elem,'a')&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)val=false;if(event)data.shift();if(extra&&jQuery.isFunction(extra)){ret=extra.apply(elem,val==null?data:data.concat(val));if(ret!==undefined)val=ret;}if(fn&&donative!==false&&val!==false&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}this.triggered=false;}return val;},handle:function(event){var val,ret,namespace,all,handlers;event=arguments[0]=jQuery.event.fix(event||window.event);namespace=event.type.split(".");event.type=namespace[0];namespace=namespace[1];all=!namespace&&!event.exclusive;handlers=(jQuery.data(this,"events")||{})[event.type];for(var j in handlers){var handler=handlers[j];if(all||handler.type==namespace){event.handler=handler;event.data=handler.data;ret=handler.apply(this,arguments);if(val!==false)val=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}}return val;},fix:function(event){if(event[expando]==true)return event;var originalEvent=event;event={originalEvent:originalEvent};var props="altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target timeStamp toElement type view wheelDelta which".split(" ");for(var i=props.length;i;i--)event[props[i]]=originalEvent[props[i]];event[expando]=true;event.preventDefault=function(){if(originalEvent.preventDefault)originalEvent.preventDefault();originalEvent.returnValue=false;};event.stopPropagation=function(){if(originalEvent.stopPropagation)originalEvent.stopPropagation();originalEvent.cancelBubble=true;};event.timeStamp=event.timeStamp||now();if(!event.target)event.target=event.srcElement||document;if(event.target.nodeType==3)event.target=event.target.parentNode;if(!event.relatedTarget&&event.fromElement)event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc.clientTop||0);}if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)event.metaKey=event.ctrlKey;if(!event.which&&event.button)event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},proxy:function(fn,proxy){proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;return proxy;},special:{ready:{setup:function(){bindReady();return;},teardown:function(){return;}},mouseenter:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseover",jQuery.event.special.mouseenter.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseover",jQuery.event.special.mouseenter.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.type="mouseenter";return jQuery.event.handle.apply(this,arguments);}},mouseleave:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseout",jQuery.event.special.mouseleave.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseout",jQuery.event.special.mouseleave.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.type="mouseleave";return jQuery.event.handle.apply(this,arguments);}}}};jQuery.fn.extend({bind:function(type,data,fn){return type=="unload"?this.one(type,data,fn):this.each(function(){jQuery.event.add(this,type,fn||data,fn&&data);});},one:function(type,data,fn){var one=jQuery.event.proxy(fn||data,function(event){jQuery(this).unbind(event,one);return(fn||data).apply(this,arguments);});return this.each(function(){jQuery.event.add(this,type,one,fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data,fn){return this.each(function(){jQuery.event.trigger(type,data,this,true,fn);});},triggerHandler:function(type,data,fn){return this[0]&&jQuery.event.trigger(type,data,this[0],false,fn);},toggle:function(fn){var args=arguments,i=1;while(i<args.length)jQuery.event.proxy(fn,args[i++]);return this.click(jQuery.event.proxy(fn,function(event){this.lastToggle=(this.lastToggle||0)%i;event.preventDefault();return args[this.lastToggle++].apply(this,arguments)||false;}));},hover:function(fnOver,fnOut){return this.bind('mouseenter',fnOver).bind('mouseleave',fnOut);},ready:function(fn){bindReady();if(jQuery.isReady)fn.call(document,jQuery);else
jQuery.readyList.push(function(){return fn.call(this,jQuery);});return this;}});jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.call(document);});jQuery.readyList=null;}jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener&&!jQuery.browser.opera)document.addEventListener("DOMContentLoaded",jQuery.ready,false);if(jQuery.browser.msie&&window==top)(function(){if(jQuery.isReady)return;try{document.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}jQuery.ready();})();if(jQuery.browser.opera)document.addEventListener("DOMContentLoaded",function(){if(jQuery.isReady)return;for(var i=0;i<document.styleSheets.length;i++)if(document.styleSheets[i].disabled){setTimeout(arguments.callee,0);return;}jQuery.ready();},false);if(jQuery.browser.safari){var numStyles;(function(){if(jQuery.isReady)return;if(document.readyState!="loaded"&&document.readyState!="complete"){setTimeout(arguments.callee,0);return;}if(numStyles===undefined)numStyles=jQuery("style, link[rel=stylesheet]").length;if(document.styleSheets.length!=numStyles){setTimeout(arguments.callee,0);return;}jQuery.ready();})();}jQuery.event.add(window,"load",jQuery.ready);}jQuery.each(("blur,focus,load,resize,scroll,unload,click,dblclick,"+"mousedown,mouseup,mousemove,mouseover,mouseout,change,select,"+"submit,keydown,keypress,keyup,error").split(","),function(i,name){jQuery.fn[name]=function(fn){return fn?this.bind(name,fn):this.trigger(name);};});var withinElement=function(event,elem){var parent=event.relatedTarget;while(parent&&parent!=elem)try{parent=parent.parentNode;}catch(error){parent=elem;}return parent==elem;};jQuery(window).bind("unload",function(){jQuery("*").add(document).unbind();});jQuery.fn.extend({_load:jQuery.fn.load,load:function(url,params,callback){if(typeof url!='string')return this._load(url);var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}callback=callback||function(){};var type="GET";if(params)if(jQuery.isFunction(params)){callback=params;params=null;}else{params=jQuery.param(params);type="POST";}var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")self.html(selector?jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(selector):res.responseText);self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return jQuery.nodeName(this,"form")?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password/i.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:val.constructor==Array?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=now();jQuery.extend({get:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data=null;}return jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type});},getScript:function(url,callback){return jQuery.get(url,null,callback,"script");},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json");},post:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data={};}return jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type});},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings);},ajaxSettings:{url:location.href,global:true,type:"GET",timeout:0,contentType:"application/x-www-form-urlencoded",processData:true,async:true,data:null,username:null,password:null,accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));var jsonp,jsre=/=\?(&|$)/g,status,data,type=s.type.toUpperCase();if(s.data&&s.processData&&typeof s.data!="string")s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(type=="GET"){if(!s.url.match(jsre))s.url+=(s.url.match(/\?/)?"&":"?")+(s.jsonp||"callback")+"=?";}else if(!s.data||!s.data.match(jsre))s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"=?";s.dataType="json";}if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();window[jsonp]=undefined;try{delete window[jsonp];}catch(e){}if(head)head.removeChild(script);};}if(s.dataType=="script"&&s.cache==null)s.cache=false;if(s.cache===false&&type=="GET"){var ts=now();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}if(s.data&&type=="GET"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}if(s.global&&!jQuery.active++)jQuery.event.trigger("ajaxStart");var remote=/^(?:\w+:)?\/\/([^\/?#]+)/;if(s.dataType=="script"&&type=="GET"&&remote.test(s.url)&&remote.exec(s.url)[1]!=location.host){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();head.removeChild(script);}};}head.appendChild(script);return undefined;}var requestDone=false;var xhr=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();if(s.username)xhr.open(type,s.url,s.async,s.username,s.password);else
xhr.open(type,s.url,s.async);try{if(s.data)xhr.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}if(s.beforeSend&&s.beforeSend(xhr,s)===false){s.global&&jQuery.active--;xhr.abort();return false;}if(s.global)jQuery.event.trigger("ajaxSend",[xhr,s]);var onreadystatechange=function(isTimeout){if(!requestDone&&xhr&&(xhr.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}status=isTimeout=="timeout"&&"timeout"||!jQuery.httpSuccess(xhr)&&"error"||s.ifModified&&jQuery.httpNotModified(xhr,s.url)&&"notmodified"||"success";if(status=="success"){try{data=jQuery.httpData(xhr,s.dataType,s.dataFilter);}catch(e){status="parsererror";}}if(status=="success"){var modRes;try{modRes=xhr.getResponseHeader("Last-Modified");}catch(e){}if(s.ifModified&&modRes)jQuery.lastModified[s.url]=modRes;if(!jsonp)success();}else
jQuery.handleError(s,xhr,status);complete();if(s.async)xhr=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)setTimeout(function(){if(xhr){xhr.abort();if(!requestDone)onreadystatechange("timeout");}},s.timeout);}try{xhr.send(s.data);}catch(e){jQuery.handleError(s,xhr,null,e);}if(!s.async)onreadystatechange();function success(){if(s.success)s.success(data,status);if(s.global)jQuery.event.trigger("ajaxSuccess",[xhr,s]);}function complete(){if(s.complete)s.complete(xhr,status);if(s.global)jQuery.event.trigger("ajaxComplete",[xhr,s]);if(s.global&&!--jQuery.active)jQuery.event.trigger("ajaxStop");}return xhr;},handleError:function(s,xhr,status,e){if(s.error)s.error(xhr,status,e);if(s.global)jQuery.event.trigger("ajaxError",[xhr,s,e]);},active:0,httpSuccess:function(xhr){try{return!xhr.status&&location.protocol=="file:"||(xhr.status>=200&&xhr.status<300)||xhr.status==304||xhr.status==1223||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}return false;},httpNotModified:function(xhr,url){try{var xhrRes=xhr.getResponseHeader("Last-Modified");return xhr.status==304||xhrRes==jQuery.lastModified[url]||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}return false;},httpData:function(xhr,type,filter){var ct=xhr.getResponseHeader("content-type"),xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.tagName=="parsererror")throw"parsererror";if(filter)data=filter(data,type);if(type=="script")jQuery.globalEval(data);if(type=="json")data=eval("("+data+")");return data;},param:function(a){var s=[];if(a.constructor==Array||a.jquery)jQuery.each(a,function(){s.push(encodeURIComponent(this.name)+"="+encodeURIComponent(this.value));});else
for(var j in a)if(a[j]&&a[j].constructor==Array)jQuery.each(a[j],function(){s.push(encodeURIComponent(j)+"="+encodeURIComponent(this));});else
s.push(encodeURIComponent(j)+"="+encodeURIComponent(jQuery.isFunction(a[j])?a[j]():a[j]));return s.join("&").replace(/%20/g,"+");}});jQuery.fn.extend({show:function(speed,callback){return speed?this.animate({height:"show",width:"show",opacity:"show"},speed,callback):this.filter(":hidden").each(function(){this.style.display=this.oldblock||"";if(jQuery.css(this,"display")=="none"){var elem=jQuery("<"+this.tagName+" />").appendTo("body");this.style.display=elem.css("display");if(this.style.display=="none")this.style.display="block";elem.remove();}}).end();},hide:function(speed,callback){return speed?this.animate({height:"hide",width:"hide",opacity:"hide"},speed,callback):this.filter(":visible").each(function(){this.oldblock=this.oldblock||jQuery.css(this,"display");this.style.display="none";}).end();},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):fn?this.animate({height:"toggle",width:"toggle",opacity:"toggle"},fn,fn2):this.each(function(){jQuery(this)[jQuery(this).is(":hidden")?"show":"hide"]();});},slideDown:function(speed,callback){return this.animate({height:"show"},speed,callback);},slideUp:function(speed,callback){return this.animate({height:"hide"},speed,callback);},slideToggle:function(speed,callback){return this.animate({height:"toggle"},speed,callback);},fadeIn:function(speed,callback){return this.animate({opacity:"show"},speed,callback);},fadeOut:function(speed,callback){return this.animate({opacity:"hide"},speed,callback);},fadeTo:function(speed,to,callback){return this.animate({opacity:to},speed,callback);},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);return this[optall.queue===false?"each":"queue"](function(){if(this.nodeType!=1)return false;var opt=jQuery.extend({},optall),p,hidden=jQuery(this).is(":hidden"),self=this;for(p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)return opt.complete.call(this);if(p=="height"||p=="width"){opt.display=jQuery.css(this,"display");opt.overflow=this.style.overflow;}}if(opt.overflow!=null)this.style.overflow="hidden";opt.curAnim=jQuery.extend({},prop);jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(/toggle|show|hide/.test(val))e[val=="toggle"?hidden?"show":"hide":val](prop);else{var parts=val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),start=e.cur(true)||0;if(parts){var end=parseFloat(parts[2]),unit=parts[3]||"px";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}if(parts[1])end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else
e.custom(start,val,"");}});return true;});},queue:function(type,fn){if(jQuery.isFunction(type)||(type&&type.constructor==Array)){fn=type;type="fx";}if(!type||(typeof type=="string"&&!fn))return queue(this[0],type);return this.each(function(){if(fn.constructor==Array)queue(this,type,fn);else{queue(this,type).push(fn);if(queue(this,type).length==1)fn.call(this);}});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)if(timers[i].elem==this){if(gotoEnd)timers[i](true);timers.splice(i,1);}});if(!gotoEnd)this.dequeue();return this;}});var queue=function(elem,type,array){if(elem){type=type||"fx";var q=jQuery.data(elem,type+"queue");if(!q||array)q=jQuery.data(elem,type+"queue",jQuery.makeArray(array));}return q;};jQuery.fn.dequeue=function(type){type=type||"fx";return this.each(function(){var q=queue(this,type);q.shift();if(q.length)q[0].call(this);});};jQuery.extend({speed:function(speed,easing,fn){var opt=speed&&speed.constructor==Object?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&easing.constructor!=Function&&easing};opt.duration=(opt.duration&&opt.duration.constructor==Number?opt.duration:jQuery.fx.speeds[opt.duration])||jQuery.fx.speeds.def;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)jQuery(this).dequeue();if(jQuery.isFunction(opt.old))opt.old.call(this);};return opt;},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p;},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum;}},timers:[],timerId:null,fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)this.options.step.call(this.elem,this.now,this);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if(this.prop=="height"||this.prop=="width")this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&this.elem.style[this.prop]==null)return this.elem[this.prop];var r=parseFloat(jQuery.css(this.elem,this.prop,force));return r&&r>-10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0;},custom:function(from,to,unit){this.startTime=now();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;this.update();var self=this;function t(gotoEnd){return self.step(gotoEnd);}t.elem=this.elem;jQuery.timers.push(t);if(jQuery.timerId==null){jQuery.timerId=setInterval(function(){var timers=jQuery.timers;for(var i=0;i<timers.length;i++)if(!timers[i]())timers.splice(i--,1);if(!timers.length){clearInterval(jQuery.timerId);jQuery.timerId=null;}},13);}},show:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.show=true;this.custom(0,this.cur());if(this.prop=="width"||this.prop=="height")this.elem.style[this.prop]="1px";jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=now();if(gotoEnd||t>this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var done=true;for(var i in this.options.curAnim)if(this.options.curAnim[i]!==true)done=false;if(done){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")this.elem.style.display="block";}if(this.options.hide)this.elem.style.display="none";if(this.options.hide||this.options.show)for(var p in this.options.curAnim)jQuery.attr(this.elem.style,p,this.options.orig[p]);}if(done)this.options.complete.call(this.elem);return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;this.pos=jQuery.easing[this.options.easing||(jQuery.easing.swing?"swing":"linear")](this.state,n,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update();}return true;}};jQuery.extend(jQuery.fx,{speeds:{slow:600,fast:200,def:400},step:{scrollLeft:function(fx){fx.elem.scrollLeft=fx.now;},scrollTop:function(fx){fx.elem.scrollTop=fx.now;},opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){fx.elem.style[fx.prop]=fx.now+fx.unit;}}});jQuery.fn.offset=function(){var left=0,top=0,elem=this[0],results;if(elem)with(jQuery.browser){var parent=elem.parentNode,offsetChild=elem,offsetParent=elem.offsetParent,doc=elem.ownerDocument,safari2=safari&&parseInt(version)<522&&!/adobeair/i.test(userAgent),css=jQuery.curCSS,fixed=css(elem,"position")=="fixed";if(elem.getBoundingClientRect){var box=elem.getBoundingClientRect();add(box.left+Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));add(-doc.documentElement.clientLeft,-doc.documentElement.clientTop);}else{add(elem.offsetLeft,elem.offsetTop);while(offsetParent){add(offsetParent.offsetLeft,offsetParent.offsetTop);if(mozilla&&!/^t(able|d|h)$/i.test(offsetParent.tagName)||safari&&!safari2)border(offsetParent);if(!fixed&&css(offsetParent,"position")=="fixed")fixed=true;offsetChild=/^body$/i.test(offsetParent.tagName)?offsetChild:offsetParent;offsetParent=offsetParent.offsetParent;}while(parent&&parent.tagName&&!/^body|html$/i.test(parent.tagName)){if(!/^inline|table.*$/i.test(css(parent,"display")))add(-parent.scrollLeft,-parent.scrollTop);if(mozilla&&css(parent,"overflow")!="visible")border(parent);parent=parent.parentNode;}if((safari2&&(fixed||css(offsetChild,"position")=="absolute"))||(mozilla&&css(offsetChild,"position")!="absolute"))add(-doc.body.offsetLeft,-doc.body.offsetTop);if(fixed)add(Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));}results={top:top,left:left};}function border(elem){add(jQuery.curCSS(elem,"borderLeftWidth",true),jQuery.curCSS(elem,"borderTopWidth",true));}function add(l,t){left+=parseInt(l,10)||0;top+=parseInt(t,10)||0;}return results;};jQuery.fn.extend({position:function(){var left=0,top=0,results;if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();offset.top-=num(this,'marginTop');offset.left-=num(this,'marginLeft');parentOffset.top+=num(offsetParent,'borderTopWidth');parentOffset.left+=num(offsetParent,'borderLeftWidth');results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}return results;},offsetParent:function(){var offsetParent=this[0].offsetParent;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&jQuery.css(offsetParent,'position')=='static'))offsetParent=offsetParent.offsetParent;return jQuery(offsetParent);}});jQuery.each(['Left','Top'],function(i,name){var method='scroll'+name;jQuery.fn[method]=function(val){if(!this[0])return;return val!=undefined?this.each(function(){this==window||this==document?window.scrollTo(!i?val:jQuery(window).scrollLeft(),i?val:jQuery(window).scrollTop()):this[method]=val;}):this[0]==window||this[0]==document?self[i?'pageYOffset':'pageXOffset']||jQuery.boxModel&&document.documentElement[method]||document.body[method]:this[0][method];};});jQuery.each(["Height","Width"],function(i,name){var tl=i?"Left":"Top",br=i?"Right":"Bottom";jQuery.fn["inner"+name]=function(){return this[name.toLowerCase()]()+num(this,"padding"+tl)+num(this,"padding"+br);};jQuery.fn["outer"+name]=function(margin){return this["inner"+name]()+num(this,"border"+tl+"Width")+num(this,"border"+br+"Width")+(margin?num(this,"margin"+tl)+num(this,"margin"+br):0);};});})();
/* File: _p.js (modyfikacja: 2010-08-17 16:53:00 */ 

var FacebookConnectInstance = false;

/* 
 * More info at: http://phpjs.org
 * 
 * This is version: 2.46
 * php.js is copyright 2009 Kevin van Zonneveld.
 * 
 * Portions copyright Brett Zamir (http://brettz9.blogspot.com), Kevin van
 * Zonneveld (http://kevin.vanzonneveld.net), Onno Marsman, Michael White
 * (http://getsprink.com), Waldo Malqui Silva, Paulo Ricardo F. Santos, Jack,
 * Philip Peterson, Jonas Raoni Soares Silva (http://www.jsfromhell.com), Ates
 * Goral (http://magnetiq.com), Legaev Andrey, Martijn Wieringa, Nate,
 * Philippe Baumann, Enrique Gonzalez, Webtoolkit.info
 * (http://www.webtoolkit.info/), Ash Searle (http://hexmen.com/blog/), travc,
 * Jani Hartikainen, Carlos R. L. Rodrigues (http://www.jsfromhell.com), d3x,
 * Johnny Mast (http://www.phpvrouwen.nl), marrtins, Alex, Erkekjetter, Andrea
 * Giammarchi (http://webreflection.blogspot.com), GeekFG
 * (http://geekfg.blogspot.com), Mirek Slugen, Breaking Par Consulting Inc
 * (http://www.breakingpar.com/bkp/home.nsf/0/87256B280015193F87256CFB006C45F7),
 * Ole Vrijenhoek, Josh Fraser
 * (http://onlineaspect.com/2007/06/08/auto-detect-a-time-zone-with-javascript/),
 * Steven Levithan (http://blog.stevenlevithan.com), Public Domain
 * (http://www.json.org/json2.js), Marc Palau, mdsjack
 * (http://www.mdsjack.bo.it), David, Arpad Ray (mailto:arpad@php.net),
 * Pellentesque Malesuada, Thunder.m, Aman Gupta, Tyler Akins
 * (http://rumkin.com), Alfonso Jimenez (http://www.alfonsojimenez.com), Karol
 * Kowalski, AJ, Caio Ariede (http://caioariede.com), Sakimori, gorthaur,
 * Steve Hilder, john (http://www.jd-tech.net), David James, class_exists,
 * noname, Steve Clay, T. Wild, Hyam Singer
 * (http://www.impact-computing.com/), kenneth, Subhasis Deb, Pyerre, Felix
 * Geisendoerfer (http://www.debuggable.com/felix), djmix, Jon Hohle, Douglas
 * Crockford (http://javascript.crockford.com), mktime, sankai, Sanjoy Roy,
 * 0m3r, Marco, Thiago Mata (http://thiagomata.blog.com), madipta, Gilbert,
 * ger, Bryan Elliott, David Randall, Ozh, T0bsn, Tim Wiel, Peter-Paul Koch
 * (http://www.quirksmode.org/js/beat.html), Bayron Guevara, MeEtc
 * (http://yass.meetcweb.com), Brad Touesnard, XoraX (http://www.xorax.info),
 * echo is bad, J A R, duncan, Paul, Linuxworld, Marc Jansen, Der Simon
 * (http://innerdom.sourceforge.net/), Lincoln Ramsay, LH, Francesco, Slawomir
 * Kaniecki, marc andreu, Eric Nagel, Bobby Drake, rezna, Mick@el, Pierre-Luc
 * Paour, Martin Pool, Kirk Strobeck, Pul, Luke Godfrey, Christian Doebler,
 * YUI Library:
 * http://developer.yahoo.com/yui/docs/YAHOO.util.DateLocale.html, Blues at
 * http://hacks.bluesmoon.info/strftime/strftime.js, penutbutterjelly, Gabriel
 * Paderni, Blues (http://tech.bluesmoon.info/), Anton Ongson, Simon Willison
 * (http://simonwillison.net), Kristof Coomans (SCK-CEN Belgian Nucleair
 * Research Centre), Saulo Vallory, hitwork, Norman "zEh" Fuchs, sowberry,
 * Yves Sucaet, Nick Callen, ejsanders, johnrembo, dptr1988, Pedro Tainha
 * (http://www.pedrotainha.com), T.Wild, uestla, Valentina De Rosa,
 * strcasecmp, strcmp, metjay, DxGx, Alexander Ermolaev
 * (http://snippets.dzone.com/user/AlexanderErmolaev), ChaosNo1, Andreas,
 * Garagoth, Manish, Cord, Matt Bradley, Robin, FremyCompany, Tim de Koning,
 * taith, Victor, stensi, Arno, Nathan, nobbler, Mateusz "loonquawl" Zalega,
 * ReverseSyntax, Jalal Berrami, Francois, Scott Cariss, Tod Gentille, baris
 * ozdil, booeyOH, Cagri Ekin, Luke Smith (http://lucassmith.name), Ben Bryan,
 * Leslie Hoare, Andrej Pavlovic, Dino, mk.keck, Rival, Diogo Resende, Yannoo,
 * gabriel paderni, FGFEmperor, jakes, Atli ?r, Howard Yeend, Allan Jensen
 * (http://www.winternet.no), Benjamin Lupton
 * 
 * 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.
 */ 


//NAMESPACED
(function() {
    if(typeof(PHP_JS) == "undefined"){
        var PHP_JS = function() {
            if(window == this || !this.init){
                return new PHP_JS();
            }else{
                return this.init();
            }
        };
    }
    
    var php_js = {};
    PHP_JS.prototype = {
        // {{{ init: 
        init: function() {
            // Makes autoloading system works properly.
            // 
            // %        note 1: Not a real PHP.JS function, necessary for namespaced version, though.
        
        },// }}}

trim: function (str, charlist) {
            // Strips whitespace from the beginning and end of a string  
            // 
            // version: 812.316
            // discuss at: http://phpjs.org/functions/trim
            // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
            // +   improved by: mdsjack (http://www.mdsjack.bo.it)
            // +   improved by: Alexander Ermolaev (http://snippets.dzone.com/user/AlexanderErmolaev)
            // +      input by: Erkekjetter
            // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
            // +      input by: DxGx
            // +   improved by: Steven Levithan (http://blog.stevenlevithan.com)
            // +    tweaked by: Jack
            // +   bugfixed by: Onno Marsman
            // *     example 1: $P.trim('    Kevin van Zonneveld    ');
            // *     returns 1: 'Kevin van Zonneveld'
            // *     example 2: $P.trim('Hello World', 'Hdle');
            // *     returns 2: 'o Wor'
            // *     example 3: $P.trim(16, 1);
            // *     returns 3: 6
            var whitespace, l = 0, i = 0;
            str += '';
            
            if (!charlist) {
                // default list
                whitespace = " \n\r\t\f\x0b\xa0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000";
            } else {
                // preg_quote custom list
                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 : '';
        }
        ,
        strpos: function( haystack, needle, offset){
            // Finds position of first occurrence of a string within another  
            // 
            // version: 810.1317
            // discuss at: http://phpjs.org/functions/strpos
            // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
            // +   improved by: Onno Marsman    
            // *     example 1: $P.strpos('Kevin van Zonneveld', 'e', 5);
            // *     returns 1: 14
            var i = (haystack+'').indexOf( needle, offset ); 
            return i===-1 ? false : i;
        }
        ,
        str_replace: function(search, replace, subject) {
            // Replaces all occurrences of search in haystack with replace  
            // 
            // version: 903.3016
            // discuss at: http://phpjs.org/functions/str_replace
            // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
            // +   improved by: Gabriel Paderni
            // +   improved by: Philip Peterson
            // +   improved by: Simon Willison (http://simonwillison.net)
            // +    revised by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
            // +   bugfixed by: Anton Ongson
            // +      input by: Onno Marsman
            // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
            // +    tweaked by: Onno Marsman
            // +      input by: Brett Zamir (http://brettz9.blogspot.com)
            // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
            // *     example 1: $P.str_replace(' ', '.', 'Kevin van Zonneveld');
            // *     returns 1: 'Kevin.van.Zonneveld'
            // *     example 2: $P.str_replace(['{name}', 'l'], ['hello', 'm'], '{name}, lars');
            // *     returns 2: 'hemmo, mars'
            var s = subject;
            var ra = r instanceof Array, sa = s instanceof Array;
            var f = [].concat(search);
            var r = [].concat(replace);
            var i = (s = [].concat(s)).length;
            var j = 0;
            
            while (j = 0, i--) {
                if (s[i]) {
                    while (s[i] = (s[i]+'').split(f[j]).join(ra ? r[j] || "" : r[0]), ++j in f){};
                }
            }
        
            return sa ? s : s[0];
        }
        ,
        is_numeric: function( mixed_var ) {
            // Returns true if value is a number or a numeric string  
            // 
            // version: 904.317
            // discuss at: http://phpjs.org/functions/is_numeric
            // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
            // +   improved by: David
            // +   improved by: taith
            // +   bugfixed by: Tim de Koning
            // *     example 1: $P.is_numeric(186.31);
            // *     returns 1: true
            // *     example 2: $P.is_numeric('Kevin van Zonneveld');
            // *     returns 2: false
            // *     example 3: $P.is_numeric('+186.31e2');
            // *     returns 3: true
            // *     example 4: $P.is_numeric('');
            // *     returns 4: false
            if (mixed_var === '') {
                return false;
            }
        
            return !isNaN(mixed_var * 1);
        }
        ,
        sizeof: function ( mixed_var, mode ) {
            // !No description available for sizeof. @php.js developers: Please update the function summary text file.
            // 
            // version: 810.114
            // discuss at: http://phpjs.org/functions/sizeof
            // +   original by: Philip Peterson
            // -    depends on: count
            // *     example 1: $P.sizeof([[0,0],[0,-4]], 'COUNT_RECURSIVE');
            // *     returns 1: 6
            // *     example 2: $P.sizeof({'one' : [1,2,3,4,5]}, 'COUNT_RECURSIVE');
            // *     returns 2: 6
         
            return this.count( mixed_var, mode );
        }
        ,
        count: function( mixed_var, mode ) {
            // Count the number of elements in a variable (usually an array)  
            // 
            // version: 905.412
            // discuss at: http://phpjs.org/functions/count
            // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
            // +      input by: Waldo Malqui Silva
            // +      bugfixed by: Soren Hansen
            // *     example 1: $P.count([[0,0],[0,-4]], 'COUNT_RECURSIVE');
            // *     returns 1: 6
            // *     example 2: $P.count({'one' : [1,2,3,4,5]}, 'COUNT_RECURSIVE');
            // *     returns 2: 6
            var key, cnt = 0;
        
            if (mixed_var === null){
                return 0;
            } else if (mixed_var.constructor !== Array && mixed_var.constructor !== Object){
                return 1;
            }
        
            if( mode === 'COUNT_RECURSIVE' ) {
                mode = 1;
            }
            if( mode != 1 ) {
                mode = 0;
            }
        
            for (key in mixed_var){
                cnt++;
                if( mode==1 && mixed_var[key] && (mixed_var[key].constructor === Array || mixed_var[key].constructor === Object) ){
                    cnt += count(mixed_var[key], 1);
                }
            }
        
            return cnt;
        }
        ,
        serialize: function( mixed_value ) {
            // Returns a string representation of variable (which can later be unserialized)  
            // 
            // version: 812.3015
            // discuss at: http://phpjs.org/functions/serialize
            // +   original by: Arpad Ray (mailto:arpad@php.net)
            // +   improved by: Dino
            // +   bugfixed by: Andrej Pavlovic
            // +   bugfixed by: Garagoth
            // %          note: We feel the main purpose of this function should be to ease the transport of data between php & js
            // %          note: Aiming for PHP-compatibility, we have to translate objects to arrays
            // *     example 1: $P.serialize(['Kevin', 'van', 'Zonneveld']);
            // *     returns 1: 'a:3:{i:0;s:5:"Kevin";i:1;s:3:"van";i:2;s:9:"Zonneveld";}'
            // *     example 2: $P.serialize({firstName: 'Kevin', midName: 'van', surName: 'Zonneveld'});
            // *     returns 2: 'a:3:{s:9:"firstName";s:5:"Kevin";s:7:"midName";s:3:"van";s:7:"surName";s:9:"Zonneveld";}'
            var _getType = function( inp ) {
                var type = typeof inp, match;
                var key;
                if (type == 'object' && !inp) {
                    return 'null';
                }
                if (type == "object") {
                    if (!inp.constructor) {
                        return 'object';
                    }
                    var cons = inp.constructor.toString();
                    if (match = cons.match(/(\w+)\(/)) {
                        cons = match[1].toLowerCase();
                    }
                    var types = ["boolean", "number", "string", "array"];
                    for (key in types) {
                        if (cons == types[key]) {
                            type = types[key];
                            break;
                        }
                    }
                }
                return type;
            };
            var type = _getType(mixed_value);
            var val, ktype = '';
            
            switch (type) {
                case "function": 
                    val = ""; 
                    break;
                case "undefined":
                    val = "N";
                    break;
                case "boolean":
                    val = "b:" + (mixed_value ? "1" : "0");
                    break;
                case "number":
                    val = (Math.round(mixed_value) == mixed_value ? "i" : "d") + ":" + mixed_value;
                    break;
                case "string":
                    val = "s:" + mixed_value.length + ":\"" + mixed_value + "\"";
                    break;
                case "array":
                case "object":
                    val = "a";
                    /*
                    if (type == "object") {
                        var objname = mixed_value.constructor.toString().match(/(\w+)\(\)/);
                        if (objname == undefined) {
                            return;
                        }
                        objname[1] = this.serialize(objname[1]);
                        val = "O" + objname[1].substring(1, objname[1].length - 1);
                    }
                    */
                    var count = 0;
                    var vals = "";
                    var okey;
                    var key;
                    for (key in mixed_value) {
                        ktype = _getType(mixed_value[key]);
                        if (ktype == "function") { 
                            continue; 
                        }
                        
                        okey = (key.match(/^[0-9]+$/) ? parseInt(key) : key);
                        vals += this.serialize(okey) +
                                this.serialize(mixed_value[key]);
                        count++;
                    }
                    val += ":" + count + ":{" + vals + "}";
                    break;
            }
            if (type != "object" && type != "array") val += ";";
            return val;
        }
        ,
        ceil: function(value) {
            // Returns the next highest integer value of the number  
            // 
            // version: 810.114
            // discuss at: http://phpjs.org/functions/ceil
            // +   original by: Onno Marsman
            // *     example 1: $P.ceil(8723321.4);
            // *     returns 1: 8723322
            return Math.ceil(value);
        }
        ,
        strip_tags: function(str, allowed_tags) {
            // Strips HTML and PHP tags from a string  
            // 
            // version: 903.3016
            // discuss at: http://phpjs.org/functions/strip_tags
            // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
            // +   improved by: Luke Godfrey
            // +      input by: Pul
            // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
            // +   bugfixed by: Onno Marsman
            // +      input by: Alex
            // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
            // +      input by: Marc Palau
            // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
            // +      input by: Brett Zamir (http://brettz9.blogspot.com)
            // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
            // +   bugfixed by: Eric Nagel
            // +      input by: Bobby Drake
            // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
            // *     example 1: $P.strip_tags('<p>Kevin</p> <br /><b>van</b> <i>Zonneveld</i>', '<i><b>');
            // *     returns 1: 'Kevin <b>van</b> <i>Zonneveld</i>'
            // *     example 2: $P.strip_tags('<p>Kevin <img src="someimage.png" onmouseover="someFunction()">van <i>Zonneveld</i></p>', '<p>');
            // *     returns 2: '<p>Kevin van Zonneveld</p>'
            // *     example 3: $P.strip_tags("<a href='http://kevin.vanzonneveld.net'>Kevin van Zonneveld</a>", "<a>");
            // *     returns 3: '<a href='http://kevin.vanzonneveld.net'>Kevin van Zonneveld</a>'
            // *     example 4: $P.strip_tags('1 < 5 5 > 1');
            // *     returns 4: '1 < 5 5 > 1'
            var key = '', allowed = false;
            var matches = [];
            var allowed_array = [];
            var allowed_tag = '';
            var i = 0;
            var k = '';
            var html = '';
        
            var replacer = function(search, replace, str) {
                return str.split(search).join(replace);
            };
        
            // Build allowes tags associative array
            if (allowed_tags) {
                allowed_array = allowed_tags.match(/([a-zA-Z]+)/gi);
            }
            
            str += '';
        
            // Match tags
            matches = str.match(/(<\/?[\S][^>]*>)/gi);
        
            // Go through all HTML tags
            for (key in matches) {
                if (isNaN(key)) {
                    // IE7 Hack
                    continue;
                }
        
                // Save HTML tag
                html = matches[key].toString();
        
                // Is tag not in allowed list? Remove from str!
                allowed = false;
        
                // Go through all allowed tags
                for (k in allowed_array) {
                    // Init
                    allowed_tag = allowed_array[k];
                    i = -1;
        
                    if (i != 0) { i = html.toLowerCase().indexOf('<'+allowed_tag+'>');}
                    if (i != 0) { i = html.toLowerCase().indexOf('<'+allowed_tag+' ');}
                    if (i != 0) { i = html.toLowerCase().indexOf('</'+allowed_tag)   ;}
        
                    // Determine
                    if (i == 0) {
                        allowed = true;
                        break;
                    }
                }
        
                if (!allowed) {
                    str = replacer(html, "", str); // Custom replace. No regexing
                }
            }
        
            return str;
        }
    }; // End PHP_JS prototype 
    
    window.$P = PHP_JS();
})();
/* File: jquery.imgareaselect-0.3.min.js (modyfikacja: 2009-05-12 01:58:33 */ 

jQuery.imgAreaSelect=function(img,options){var $area=jQuery('<div></div>'),$border1=jQuery('<div></div>'),$border2=jQuery('<div></div>'),imgOfs,imgWidth,imgHeight,startX,startY,moveX,moveY,resizeMargin=10,resize=[],V=0,H=1,d,aspectRatio,x1,x2,y1,y2,x,y,selection={x1:0,y1:0,x2:0,y2:0,width:0,height:0};var $a=$area.add($border1).add($border2);function areaMouseMove(event){x=event.pageX-selection.x1-imgOfs.left;y=event.pageY-selection.y1-imgOfs.top;resize=[];if(options.resizable){if(y<=resizeMargin)resize[V]='n';else if(y>=selection.height-resizeMargin)resize[V]='s';if(x<=resizeMargin)resize[H]='w';else if(x>=selection.width-resizeMargin)resize[H]='e'}$border2.css('cursor',resize.length?resize.join('')+'-resize':options.movable?'move':'')}function areaMouseDown(event){if(event.which!=1)return false;if(options.resizable&&resize.length>0){$('body').css('cursor',resize.join('')+'-resize');x1=(resize[H]=='w'?selection.x2:selection.x1)+imgOfs.left;y1=(resize[V]=='n'?selection.y2:selection.y1)+imgOfs.top;jQuery(document).mousemove(selectingMouseMove);$border2.unbind('mousemove',areaMouseMove);jQuery(document).one('mouseup',function(){resize=[];$('body').css('cursor','');if(options.autoHide)$a.hide();options.onSelectEnd(img,selection);jQuery(document).unbind('mousemove',selectingMouseMove);$border2.mousemove(areaMouseMove)})}else if(options.movable){moveX=selection.x1+imgOfs.left;moveY=selection.y1+imgOfs.top;startX=event.pageX;startY=event.pageY;jQuery(document).mousemove(movingMouseMove).one('mouseup',function(){options.onSelectEnd(img,selection);jQuery(document).unbind('mousemove',movingMouseMove)})}else jQuery(img).mousedown(event);return false}function aspectRatioXY(){x2=Math.max(imgOfs.left,Math.min(imgOfs.left+imgWidth,x1+Math.abs(y2-y1)*aspectRatio*(x2>x1?1:-1)));y2=Math.round(Math.max(imgOfs.top,Math.min(imgOfs.top+imgHeight,y1+Math.abs(x2-x1)/aspectRatio*(y2>y1?1:-1))));x2=Math.round(x2)}function aspectRatioYX(){y2=Math.max(imgOfs.top,Math.min(imgOfs.top+imgHeight,y1+Math.abs(x2-x1)/aspectRatio*(y2>y1?1:-1)));x2=Math.round(Math.max(imgOfs.left,Math.min(imgOfs.left+imgWidth,x1+Math.abs(y2-y1)*aspectRatio*(x2>x1?1:-1))));y2=Math.round(y2)}function selectingMouseMove(event){x2=!resize.length||resize[H]||aspectRatio?event.pageX:selection.x2+imgOfs.left;y2=!resize.length||resize[V]||aspectRatio?event.pageY:selection.y2+imgOfs.top;if(options.minWidth&&Math.abs(x2-x1)<options.minWidth){x2=x1-options.minWidth*(x2<x1?1:-1);if(x2<imgOfs.left)x1=imgOfs.left+options.minWidth;else if(x2>imgOfs.left+imgWidth)x1=imgOfs.left+imgWidth-options.minWidth}if(options.minHeight&&Math.abs(y2-y1)<options.minHeight){y2=y1-options.minHeight*(y2<y1?1:-1);if(y2<imgOfs.top)y1=imgOfs.top+options.minHeight;else if(y2>imgOfs.top+imgHeight)y1=imgOfs.top+imgHeight-options.minHeight}x2=Math.max(imgOfs.left,Math.min(x2,imgOfs.left+imgWidth));y2=Math.max(imgOfs.top,Math.min(y2,imgOfs.top+imgHeight));if(aspectRatio)if(Math.abs(x2-x1)/aspectRatio>Math.abs(y2-y1))aspectRatioYX();else aspectRatioXY();if(options.maxWidth&&Math.abs(x2-x1)>options.maxWidth){x2=x1-options.maxWidth*(x2<x1?1:-1);if(aspectRatio)aspectRatioYX()}if(options.maxHeight&&Math.abs(y2-y1)>options.maxHeight){y2=y1-options.maxHeight*(y2<y1?1:-1);if(aspectRatio)aspectRatioXY()}selection.x1=Math.min(x1,x2)-imgOfs.left;selection.x2=Math.max(x1,x2)-imgOfs.left;selection.y1=Math.min(y1,y2)-imgOfs.top;selection.y2=Math.max(y1,y2)-imgOfs.top;selection.width=Math.abs(x2-x1);selection.height=Math.abs(y2-y1);$a.css({left:(selection.x1+imgOfs.left)+'px',top:(selection.y1+imgOfs.top)+'px',width:Math.max(selection.width-options.borderWidth*2,0)+'px',height:Math.max(selection.height-options.borderWidth*2,0)+'px'});options.onSelectChange(img,selection);return false}function movingMouseMove(event){x1=Math.max(imgOfs.left,Math.min(moveX+event.pageX-startX,imgOfs.left+imgWidth-selection.width));y1=Math.max(imgOfs.top,Math.min(moveY+event.pageY-startY,imgOfs.top+imgHeight-selection.height));x2=x1+selection.width;y2=y1+selection.height;selection.x1=x1-imgOfs.left;selection.y1=y1-imgOfs.top;selection.x2=x2-imgOfs.left;selection.y2=y2-imgOfs.top;$a.css({left:x1+'px',top:y1+'px',width:Math.max(x2-x1-options.borderWidth*2,0)+'px',height:Math.max(y2-y1-options.borderWidth*2,0)+'px'});options.onSelectChange(img,selection);event.preventDefault();return false}this.setOptions=function(newOptions){options=jQuery.extend(options,newOptions);if(newOptions.x1!=null){x1=(selection.x1=newOptions.x1)+imgOfs.left;y1=(selection.y1=newOptions.y1)+imgOfs.top;x2=(selection.x2=newOptions.x2)+imgOfs.left;y2=(selection.y2=newOptions.y2)+imgOfs.top;selection.width=x2-x1;selection.height=y2-y1;$a.show().css({left:x1+'px',top:y1+'px',width:Math.max(x2-x1-options.borderWidth*2,0)+'px',height:Math.max(y2-y1-options.borderWidth*2,0)+'px'});options.onSelectChange(img,selection)}if(newOptions.hide)$a.hide();else if(newOptions.show)$a.show();$a.css({borderWidth:options.borderWidth+'px'});$area.css({backgroundColor:options.selectionColor,opacity:options.selectionOpacity});$border1.css({borderStyle:'solid',borderColor:options.borderColor1});$border2.css({borderStyle:'dashed',borderColor:options.borderColor2});aspectRatio=options.aspectRatio&&(d=options.aspectRatio.split(/:/))?d[0]/d[1]:null};imgWidth=jQuery(img).width();imgHeight=jQuery(img).height();imgOfs=jQuery(img).offset();if(jQuery.browser.msie)jQuery(img).attr('unselectable','on');$a.css({display:'none',position:'absolute',lineHeight:'0px',fontSize:'0px'});$area.css({borderStyle:'solid'});jQuery('body').append($a);initOptions={borderColor1:'#000',borderColor2:'#fff',borderWidth:1,movable:true,resizable:true,selectionColor:'#fff',selectionOpacity:0.2,onSelectStart:function(){},onSelectChange:function(){},onSelectEnd:function(){}};options=jQuery.extend(initOptions,options);this.setOptions(options);if(options.resizable||options.movable)$a.mousemove(areaMouseMove).mousedown(areaMouseDown);jQuery(img).mousedown(function(event){if(event.which!=1)return false;startX=x1=event.pageX;startY=y1=event.pageY;resize=[];$a.show().css({width:'0px',height:'0px',left:x1,top:y1});jQuery(document).mousemove(selectingMouseMove);$border2.unbind('mousemove',areaMouseMove);selection.x1=selection.x2=x1-imgOfs.left;selection.y1=selection.y2=y1-imgOfs.top;options.onSelectStart(img,selection);jQuery(document).one('mouseup',function(){if(options.autoHide)$a.hide();options.onSelectEnd(img,selection);jQuery(document).unbind('mousemove',selectingMouseMove);$border2.mousemove(areaMouseMove)});return false})};jQuery.fn.imgAreaSelect=function(options){options=options||{};this.each(function(){if(jQuery(this).data('imgAreaSelect'))jQuery(this).data('imgAreaSelect').setOptions(options);else jQuery(this).data('imgAreaSelect',new jQuery.imgAreaSelect(this,options))});return this};

/* File: jquery.dimensions.js (modyfikacja: 2009-05-12 01:58:33 */ 

/* Copyright (c) 2007 Paul Bakaus (paul.bakaus@googlemail.com) and Brandon Aaron (brandon.aaron@gmail.com || http://brandonaaron.net)
 * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
 * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
 *
 * $LastChangedDate: 2007-12-20 08:46:55 -0600 (Thu, 20 Dec 2007) $
 * $Rev: 4259 $
 *
 * Version: 1.2
 *
 * Requires: jQuery 1.2+
 */

(function($){
	
$.dimensions = {
	version: '1.2'
};

// Create innerHeight, innerWidth, outerHeight and outerWidth methods
$.each( [ 'Height', 'Width' ], function(i, name){
	
	// innerHeight and innerWidth
	$.fn[ 'inner' + name ] = function() {
		if (!this[0]) return;
		
		var torl = name == 'Height' ? 'Top'    : 'Left',  // top or left
		    borr = name == 'Height' ? 'Bottom' : 'Right'; // bottom or right
		
		return this.is(':visible') ? this[0]['client' + name] : num( this, name.toLowerCase() ) + num(this, 'padding' + torl) + num(this, 'padding' + borr);
	};
	
	// outerHeight and outerWidth
	$.fn[ 'outer' + name ] = function(options) {
		if (!this[0]) return;
		
		var torl = name == 'Height' ? 'Top'    : 'Left',  // top or left
		    borr = name == 'Height' ? 'Bottom' : 'Right'; // bottom or right
		
		options = $.extend({ margin: false }, options || {});
		
		var val = this.is(':visible') ? 
				this[0]['offset' + name] : 
				num( this, name.toLowerCase() )
					+ num(this, 'border' + torl + 'Width') + num(this, 'border' + borr + 'Width')
					+ num(this, 'padding' + torl) + num(this, 'padding' + borr);
		
		return val + (options.margin ? (num(this, 'margin' + torl) + num(this, 'margin' + borr)) : 0);
	};
});

// Create scrollLeft and scrollTop methods
$.each( ['Left', 'Top'], function(i, name) {
	$.fn[ 'scroll' + name ] = function(val) {
		if (!this[0]) return;
		
		return val != undefined ?
		
			// Set the scroll offset
			this.each(function() {
				this == window || this == document ?
					window.scrollTo( 
						name == 'Left' ? val : $(window)[ 'scrollLeft' ](),
						name == 'Top'  ? val : $(window)[ 'scrollTop'  ]()
					) :
					this[ 'scroll' + name ] = val;
			}) :
			
			// Return the scroll offset
			this[0] == window || this[0] == document ?
				self[ (name == 'Left' ? 'pageXOffset' : 'pageYOffset') ] ||
					$.boxModel && document.documentElement[ 'scroll' + name ] ||
					document.body[ 'scroll' + name ] :
				this[0][ 'scroll' + name ];
	};
});

$.fn.extend({
	position: function() {
		var left = 0, top = 0, elem = this[0], offset, parentOffset, offsetParent, results;
		
		if (elem) {
			// Get *real* offsetParent
			offsetParent = this.offsetParent();
			
			// Get correct offsets
			offset       = this.offset();
			parentOffset = offsetParent.offset();
			
			// Subtract element margins
			offset.top  -= num(elem, 'marginTop');
			offset.left -= num(elem, 'marginLeft');
			
			// Add offsetParent borders
			parentOffset.top  += num(offsetParent, 'borderTopWidth');
			parentOffset.left += num(offsetParent, 'borderLeftWidth');
			
			// Subtract the two offsets
			results = {
				top:  offset.top  - parentOffset.top,
				left: offset.left - parentOffset.left
			};
		}
		
		return results;
	},
	
	offsetParent: function() {
		var offsetParent = this[0].offsetParent;
		while ( offsetParent && (!/^body|html$/i.test(offsetParent.tagName) && $.css(offsetParent, 'position') == 'static') )
			offsetParent = offsetParent.offsetParent;
		return $(offsetParent);
	}
});

function num(el, prop) {
	return parseInt($.curCSS(el.jquery?el[0]:el,prop,true))||0;
};

})(jQuery);
/* File: jquery.cookie.js (modyfikacja: 2009-05-12 01:58:33 */ 

/**
 * Cookie plugin
 *
 * Copyright (c) 2006 Klaus Hartl (stilbuero.de)
 * Dual licensed under the MIT and GPL licenses:
 * http://www.opensource.org/licenses/mit-license.php
 * http://www.gnu.org/licenses/gpl.html
 *
 */

/**
 * Create a cookie with the given name and value and other optional parameters.
 *
 * @example $.cookie('the_cookie', 'the_value');
 * @desc Set the value of a cookie.
 * @example $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true });
 * @desc Create a cookie with all available options.
 * @example $.cookie('the_cookie', 'the_value');
 * @desc Create a session cookie.
 * @example $.cookie('the_cookie', null);
 * @desc Delete a cookie by passing null as value. Keep in mind that you have to use the same path and domain
 *       used when the cookie was set.
 *
 * @param String name The name of the cookie.
 * @param String value The value of the cookie.
 * @param Object options An object literal containing key/value pairs to provide optional cookie attributes.
 * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object.
 *                             If a negative value is specified (e.g. a date in the past), the cookie will be deleted.
 *                             If set to null or omitted, the cookie will be a session cookie and will not be retained
 *                             when the the browser exits.
 * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie).
 * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie).
 * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will
 *                        require a secure protocol (like HTTPS).
 * @type undefined
 *
 * @name $.cookie
 * @cat Plugins/Cookie
 * @author Klaus Hartl/klaus.hartl@stilbuero.de
 */

/**
 * Get the value of a cookie with the given name.
 *
 * @example $.cookie('the_cookie');
 * @desc Get the value of a cookie.
 *
 * @param String name The name of the cookie.
 * @return The value of the cookie.
 * @type String
 *
 * @name $.cookie
 * @cat Plugins/Cookie
 * @author Klaus Hartl/klaus.hartl@stilbuero.de
 */
jQuery.cookie = function(name, value, options) {
    if (typeof value != 'undefined') { // name and value given, set cookie
        options = options || {};
        if (value === null) {
            value = '';
            options.expires = -1;
        }
        var expires = '';
        if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
            var date;
            if (typeof options.expires == 'number') {
                date = new Date();
                date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
            } else {
                date = options.expires;
            }
            expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
        }
        // CAUTION: Needed to parenthesize options.path and options.domain
        // in the following expressions, otherwise they evaluate to undefined
        // in the packed version for some reason...
        var path = options.path ? '; path=' + (options.path) : '';
        var domain = options.domain ? '; domain=' + (options.domain) : '';
        var secure = options.secure ? '; secure' : '';
        document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
    } else { // only name given, get cookie
        var cookieValue = null;
        if (document.cookie && document.cookie != '') {
            var cookies = document.cookie.split(';');
            for (var i = 0; i < cookies.length; i++) {
                var cookie = jQuery.trim(cookies[i]);
                // Does this cookie string begin with the name we want?
                if (cookie.substring(0, name.length + 1) == (name + '=')) {
                    cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
                    break;
                }
            }
        }
        return cookieValue;
    }
};
/* File: jquery.lightbox-0.5.pack.js (modyfikacja: 2009-05-12 01:58:33 */ 

/**
 * jQuery lightBox plugin
 * This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar (http://www.huddletogether.com/projects/lightbox2/)
 * and adapted to me for use like a plugin from jQuery.
 * @name jquery-lightbox-0.5.js
 * @author Leandro Vieira Pinho - http://leandrovieira.com
 * @version 0.5
 * @date April 11, 2008
 * @category jQuery plugin
 * @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com)
 * @license CC Attribution-No Derivative Works 2.5 Brazil - http://creativecommons.org/licenses/by-nd/2.5/br/deed.en_US
 * @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more informations about this jQuery plugin
 */
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(6($){$.2N.3g=6(4){4=23.2H({2B:\'#34\',2g:0.8,1d:F,1M:\'18/5-33-Y.16\',1v:\'18/5-1u-2Q.16\',1E:\'18/5-1u-2L.16\',1W:\'18/5-1u-2I.16\',19:\'18/5-2F.16\',1f:10,2A:3d,2s:\'1j\',2o:\'32\',2j:\'c\',2f:\'p\',2d:\'n\',h:[],9:0},4);f I=N;6 20(){1X(N,I);u F}6 1X(1e,I){$(\'1U, 1S, 1R\').l({\'1Q\':\'2E\'});1O();4.h.B=0;4.9=0;7(I.B==1){4.h.1J(v 1m(1e.17(\'J\'),1e.17(\'2v\')))}j{36(f i=0;i<I.B;i++){4.h.1J(v 1m(I[i].17(\'J\'),I[i].17(\'2v\')))}}2n(4.h[4.9][0]!=1e.17(\'J\')){4.9++}D()}6 1O(){$(\'m\').31(\'<e g="q-13"></e><e g="q-5"><e g="5-s-b-w"><e g="5-s-b"><1w g="5-b"><e 2V="" g="5-k"><a J="#" g="5-k-V"></a><a J="#" g="5-k-X"></a></e><e g="5-Y"><a J="#" g="5-Y-29"><1w W="\'+4.1M+\'"></a></e></e></e><e g="5-s-b-T-w"><e g="5-s-b-T"><e g="5-b-A"><1i g="5-b-A-1t"></1i><1i g="5-b-A-1g"></1i></e><e g="5-1s"><a J="#" g="5-1s-22"><1w W="\'+4.1W+\'"></a></e></e></e></e>\');f z=1D();$(\'#q-13\').l({2K:4.2B,2J:4.2g,S:z[0],P:z[1]}).1V();f R=1p();$(\'#q-5\').l({1T:R[1]+(z[3]/10),1c:R[0]}).E();$(\'#q-13,#q-5\').C(6(){1a()});$(\'#5-Y-29,#5-1s-22\').C(6(){1a();u F});$(G).2G(6(){f z=1D();$(\'#q-13\').l({S:z[0],P:z[1]});f R=1p();$(\'#q-5\').l({1T:R[1]+(z[3]/10),1c:R[0]})})}6 D(){$(\'#5-Y\').E();7(4.1d){$(\'#5-b,#5-s-b-T-w,#5-b-A-1g\').1b()}j{$(\'#5-b,#5-k,#5-k-V,#5-k-X,#5-s-b-T-w,#5-b-A-1g\').1b()}f Q=v 1j();Q.1P=6(){$(\'#5-b\').2D(\'W\',4.h[4.9][0]);1N(Q.S,Q.P);Q.1P=6(){}};Q.W=4.h[4.9][0]};6 1N(1o,1r){f 1L=$(\'#5-s-b-w\').S();f 1K=$(\'#5-s-b-w\').P();f 1n=(1o+(4.1f*2));f 1y=(1r+(4.1f*2));f 1I=1L-1n;f 2z=1K-1y;$(\'#5-s-b-w\').3f({S:1n,P:1y},4.2A,6(){2y()});7((1I==0)&&(2z==0)){7($.3e.3c){1H(3b)}j{1H(3a)}}$(\'#5-s-b-T-w\').l({S:1o});$(\'#5-k-V,#5-k-X\').l({P:1r+(4.1f*2)})};6 2y(){$(\'#5-Y\').1b();$(\'#5-b\').1V(6(){2u();2t()});2r()};6 2u(){$(\'#5-s-b-T-w\').38(\'35\');$(\'#5-b-A-1t\').1b();7(4.h[4.9][1]){$(\'#5-b-A-1t\').2p(4.h[4.9][1]).E()}7(4.h.B>1){$(\'#5-b-A-1g\').2p(4.2s+\' \'+(4.9+1)+\' \'+4.2o+\' \'+4.h.B).E()}}6 2t(){$(\'#5-k\').E();$(\'#5-k-V,#5-k-X\').l({\'K\':\'1C M(\'+4.19+\') L-O\'});7(4.9!=0){7(4.1d){$(\'#5-k-V\').l({\'K\':\'M(\'+4.1v+\') 1c 15% L-O\'}).11().1k(\'C\',6(){4.9=4.9-1;D();u F})}j{$(\'#5-k-V\').11().2m(6(){$(N).l({\'K\':\'M(\'+4.1v+\') 1c 15% L-O\'})},6(){$(N).l({\'K\':\'1C M(\'+4.19+\') L-O\'})}).E().1k(\'C\',6(){4.9=4.9-1;D();u F})}}7(4.9!=(4.h.B-1)){7(4.1d){$(\'#5-k-X\').l({\'K\':\'M(\'+4.1E+\') 2l 15% L-O\'}).11().1k(\'C\',6(){4.9=4.9+1;D();u F})}j{$(\'#5-k-X\').11().2m(6(){$(N).l({\'K\':\'M(\'+4.1E+\') 2l 15% L-O\'})},6(){$(N).l({\'K\':\'1C M(\'+4.19+\') L-O\'})}).E().1k(\'C\',6(){4.9=4.9+1;D();u F})}}2k()}6 2k(){$(d).30(6(12){2i(12)})}6 1G(){$(d).11()}6 2i(12){7(12==2h){U=2Z.2e;1x=27}j{U=12.2e;1x=12.2Y}14=2X.2W(U).2U();7((14==4.2j)||(14==\'x\')||(U==1x)){1a()}7((14==4.2f)||(U==37)){7(4.9!=0){4.9=4.9-1;D();1G()}}7((14==4.2d)||(U==39)){7(4.9!=(4.h.B-1)){4.9=4.9+1;D();1G()}}}6 2r(){7((4.h.B-1)>4.9){2c=v 1j();2c.W=4.h[4.9+1][0]}7(4.9>0){2b=v 1j();2b.W=4.h[4.9-1][0]}}6 1a(){$(\'#q-5\').2a();$(\'#q-13\').2T(6(){$(\'#q-13\').2a()});$(\'1U, 1S, 1R\').l({\'1Q\':\'2S\'})}6 1D(){f o,r;7(G.1h&&G.28){o=G.26+G.2R;r=G.1h+G.28}j 7(d.m.25>d.m.24){o=d.m.2P;r=d.m.25}j{o=d.m.2O;r=d.m.24}f y,H;7(Z.1h){7(d.t.1l){y=d.t.1l}j{y=Z.26}H=Z.1h}j 7(d.t&&d.t.1A){y=d.t.1l;H=d.t.1A}j 7(d.m){y=d.m.1l;H=d.m.1A}7(r<H){1z=H}j{1z=r}7(o<y){1B=o}j{1B=y}21=v 1m(1B,1z,y,H);u 21};6 1p(){f o,r;7(Z.1Z){r=Z.1Z;o=Z.2M}j 7(d.t&&d.t.1F){r=d.t.1F;o=d.t.1Y}j 7(d.m){r=d.m.1F;o=d.m.1Y}2q=v 1m(o,r);u 2q};6 1H(2C){f 2x=v 2w();1q=2h;3h{f 1q=v 2w()}2n(1q-2x<2C)};u N.11(\'C\').C(20)}})(23);',62,204,'||||settings|lightbox|function|if||activeImage||image||document|div|var|id|imageArray||else|nav|css|body||xScroll||jquery|yScroll|container|documentElement|return|new|box||windowWidth|arrPageSizes|details|length|click|_set_image_to_view|show|false|window|windowHeight|jQueryMatchedObj|href|background|no|url|this|repeat|height|objImagePreloader|arrPageScroll|width|data|keycode|btnPrev|src|btnNext|loading|self||unbind|objEvent|overlay|key||gif|getAttribute|images|imageBlank|_finish|hide|left|fixedNavigation|objClicked|containerBorderSize|currentNumber|innerHeight|span|Image|bind|clientWidth|Array|intWidth|intImageWidth|___getPageScroll|curDate|intImageHeight|secNav|caption|btn|imageBtnPrev|img|escapeKey|intHeight|pageHeight|clientHeight|pageWidth|transparent|___getPageSize|imageBtnNext|scrollTop|_disable_keyboard_navigation|___pause|intDiffW|push|intCurrentHeight|intCurrentWidth|imageLoading|_resize_container_image_box|_set_interface|onload|visibility|select|object|top|embed|fadeIn|imageBtnClose|_start|scrollLeft|pageYOffset|_initialize|arrayPageSize|btnClose|jQuery|offsetHeight|scrollHeight|innerWidth||scrollMaxY|link|remove|objPrev|objNext|keyToNext|keyCode|keyToPrev|overlayOpacity|null|_keyboard_action|keyToClose|_enable_keyboard_navigation|right|hover|while|txtOf|html|arrayPageScroll|_preload_neighbor_images|txtImage|_set_navigation|_show_image_data|title|Date|date|_show_image|intDiffH|containerResizeSpeed|overlayBgColor|ms|attr|hidden|blank|resize|extend|close|opacity|backgroundColor|next|pageXOffset|fn|offsetWidth|scrollWidth|prev|scrollMaxX|visible|fadeOut|toLowerCase|style|fromCharCode|String|DOM_VK_ESCAPE|event|keydown|append|of|ico|000|fast|for||slideDown||100|250|msie|400|browser|animate|lightBox|do'.split('|'),0,{}))
/* File: jquery.netirte.js (modyfikacja: 2009-05-12 01:58:33 */ 

/**
 * Netizens RTE jQuery plugin
 * Wersja 0.1.200810201401
 *
 * Prosty edytor wizualny dla pl TEXTAREA
 *
 * Sposb podczania:
 * $(pole).netiRte({allowedTags: "<b>,<i>,<strong>,<em>", inheritStyles: false, bodyStyles: {"background-color": "#171717"}, "toolbarSelector": ".rich-text-edit" });
 *
 * Opcje:
 * allowedTags - lista dozwolonych tagw (pozostae bd filtrowane) doczana do domylnej listy (nie zastpuje domylnej!)
 * inheritStyles - okrela, czy iframe ma dziedziczy style podmienianego textarea
 *                 (w obecnej wersji czstkowo oprogramowane, najlepiej ustawia na false )
 * bodyStyles - style CSS dla BODY iframe'a edytora
 * toolbarSelector - selector jQuery toolbara edytora (przyciski bold, italic, itd.);
 *                   Gdy uda si zainicjalizowa RTE, to skrypt wywietla element(y) o tym selektorze.
 *                   Gdy nie uda si zainicjalizowa RTE, to skrypt ukrywa element(y) o tym selektorze.
 *
 * Pobieranie zawartoci pola:
 * $(pole).netiRteVal();
 *
 * Przypisywanie treci do pola:
 * $(pole).netiRteVal(tresc);
 *
 * Autor: jm
 *
 */

jQuery.fn.netiRte = function(opcje) {
	return this.each(function(){
		// jeli pole nie jest typu TEXTAREA, to przerywamy wykonywanie funkcji
		if (this.tagName != "TEXTAREA") {
			return;
		}
		
		// jeli textarea nie ma przypisanego id, to dajemy automatyczne
		if ( !jQuery(this).attr("id") ) {
			jQuery(this).attr("id", "netiRte_"+(jQuery.netiRte.auto_id_index++));
		}
		
		// inicjalizacja edytora
		jQuery.netiRte.init(
			jQuery(this),
			opcje
		);
	});
};

jQuery.fn.netiRteVal = function(tresc) {
	if ( !this[0] ) {
		return null;
	}
	
	var pole = this[0];
	
	// jeli pole nie jest typu TEXTAREA, to przerywamy wykonywanie funkcji
	if (pole.tagName != "TEXTAREA" || !jQuery(pole).attr("id")) {
		return null;
	}
	
	
	// zwrcenie treci
	if ( typeof(tresc) == "undefined" ) {
		return jQuery.netiRte.pobierz_tresc(pole.id);
	}
	// zmiana treci
	else {
		return jQuery.netiRte.zmien_tresc(pole.id, tresc);
	}
};

jQuery.netiRte =
{
	// nie modyfikowa!
	auto_id_index: 1,

	// lista tagw, ktre zawsze s dozwolone
	zawsze_dozwolone_tagi: "<span>,<br>,<p>",
	
	// dozwolone tagi dla konkretnego elementu
	dozwolone_tagi: {},

	init: function(textarea, opcje) {
		var textarea_id = textarea.attr("id");
		
		if ( typeof(opcje) != "undefined" ) {
			var dozwolone_tagi = opcje.allowedTags;
			var style_body = opcje.bodyStyles;
			var toolbar_selector = opcje.toolbarSelector;
			if ( opcje.inheritStyles || opcje.inheritStyles == undefined ) {
				var dziedziczyc_style = true;
			}
			else {
				var dziedziczyc_style = false;
			}
		}
		
		// stworzenie iframe'a dla textarea (jeli nie ma iframe'a w DOM-ie)
		if ( !jQuery("iframe[name='rte_"+textarea_id+"']").get(0) ) {
			var iframe = document.createElement("iframe");
			j_iframe = jQuery(iframe);
			j_iframe.attr("id", "rte_"+textarea_id);
			if ( dziedziczyc_style ) {
				j_iframe.css("width", textarea.css("width"));
				j_iframe.css("height", textarea.css("height"));
				if ( textarea.css("background-color") && textarea.css("background-color") != "transparent" ) {
					j_iframe.css("background-color", textarea.css("background-color"));
				}
				else {
					j_iframe.css("background-color", "#fff");
				}
			}
			
			// operacje wykonywane po zaadowaniu iframe'a - te operacje bd wykonywane po wywietleniu iframe'a
			j_iframe.load(function(e) {
				jQuery.netiRte.iframe_onload(iframe, textarea_id, dozwolone_tagi, style_body, toolbar_selector);
			});
			
			// ukrycie textarea
			textarea.hide();
			
			// wywietlenie iframe'a
			j_iframe.insertAfter(textarea);
		}
		// jeli iframe istnieje w DOM-ie, to jego wywietlenie
		else {
			var j_iframe = jQuery("iframe[name='rte_"+textarea_id+"']");
			var iframe = j_iframe.get(0);
			
			j_iframe.show();
			// ukrycie textarea
			textarea.hide();
			// operacje wykonywane po zaadowaniu iframe'a - te operacje bd wykonywane po przeadowaniu iframe'a
			j_iframe.load(function() { jQuery.netiRte.iframe_onload(iframe, textarea_id, dozwolone_tagi, style_body, toolbar_selector);});
			//iframe.src = "about:blank";
			iframe.contentWindow.location.reload();
		}
		
	},
	
	iframe_onload: function(iframe, textarea_id, dozwolone_tagi, style_body, toolbar_selector) {
		var textarea = $("textarea#"+textarea_id);
		
		// zabezpieczenie przed dwukrotnym wykonaniem poniszego kodu w IE
		if ( textarea.hasClass("rte_loaded") ) {
			return;
		}
		textarea.addClass("rte_loaded");
		
		// prba wczenia designMode
		try {
			iframe.contentWindow.document.designMode = "on";
			iframe.contentWindow.document.execCommand("undo", false, null);
			if ( toolbar_selector ) {
				jQuery(toolbar_selector).show();
			}
		} catch (e) {
			// jeli przegldarka nie obsuguje designMode - to usuwamy iframe'a i zostawiamy standardowe textarea
			j_iframe.remove();
			textarea.show();
			if ( toolbar_selector ) {
				jQuery(toolbar_selector).hide();
			}
			return false;
		}
		
		// inicjalizacja iframe'a			
		jQuery.netiRte.iframe_init(iframe, textarea_id, dozwolone_tagi, style_body);
	},
	
	// "onload" dla przypadku, gdy iframe jest w DOM-ie od pocztku
	iframe_onload_old: function(iframe, textarea_id, dozwolone_tagi, style_body) {
		// czy iframe zosta zainicjalizowany przez przegldark?
		try {
			if ( iframe.contentWindow.document.body.innerHTML != '|' ) {
				window.setTimeout(function() {jQuery.netiRte.iframe_onload(iframe, textarea_id, dozwolone_tagi, style_body);}, 20 );
				return;
			}
		} catch (e) {
			// jeli iframe nie zosta cakowicie zainicjalizowany przez przegldark, to ponawiamy prb
			window.setTimeout(function() {jQuery.netiRte.iframe_onload(iframe, textarea_id, dozwolone_tagi, style_body);}, 20 );
			return;
		}
		
		// prba wczenia designMode
		try {
			iframe.contentWindow.document.designMode = "on";
			iframe.contentWindow.document.execCommand("undo", false, null);
			
			// inicjalizacja iframe'a			
			jQuery.netiRte.iframe_init(iframe, textarea_id, dozwolone_tagi, style_body);
			
			// ukrycie textarea
			var textarea = jQuery("textarea#"+textarea_id);
			textarea.hide();
			
		} catch (e) {
			// jeli przegldarka nie obsuguje designMode - to zostawiamy standardowe textarea
			var j_iframe = jQuery(iframe);
			j_iframe.hide();
			return false;
		}
		
	},
	
	// inicjalizacja iframe'a
	iframe_init: function(iframe, textarea_id, dozwolone_tagi, style_body) {
		var textarea = $("textarea#"+textarea_id);
		
		// prba przekopiowania do iframe'a zawartoci textarea
		try {
			iframe.contentWindow.document.body.innerHTML = textarea.val();
		} catch (e) {
			// jeli iframe nie zosta cakowicie zainicjalizowany przez przegldark, to ponawiamy prb
			window.setTimeout(function() {jQuery.netiRte.iframe_init(iframe, textarea_id, dozwolone_tagi, style_body);}, 20 );
			return;
		}
		
		// jeli zawarto iframe'a jest pusta, to umieszczamy w nim spacj,
		// poniewa w niektrych przypadkach nie by widoczny kursor
		if ( iframe.contentWindow.document.body.innerHTML == "" ) {
			iframe.contentWindow.document.body.innerHTML = " ";
		}
		
		// dodanie atrybutu frameborder
		jQuery(iframe).attr("frameborder", 0);
		
		// przeniesienie atrybutu "color" ze stylu IFRAME-a do BODY IFRAME-a
		if ( jQuery(iframe).css("color") ) {
			jQuery(iframe.contentWindow.document.body).css("color", jQuery(iframe).css("color"));
		}
		if ( jQuery(iframe).css("background-color") ) {
			jQuery(iframe.contentWindow.document.body).css("background-color", jQuery(iframe).css("background-color"));
		}
		// bodyStyles
		for(i in style_body) {
			jQuery(iframe.contentWindow.document.body).css(i, style_body[i]);
		}
		
		// oprogramowanie przyciskw edytora (bold, italic, itd.)
		jQuery("a[rel='rte["+textarea_id+"]']").click(function(e) {
			var cmd = this.href.match(/#(.+)/)[1];
			iframe.contentWindow.document.execCommand(cmd, false, null);
			iframe.contentWindow.focus();
			return false;
		});
		
		// przygotowanie listy dozwolonych tagow
		if ( typeof(dozwolone_tagi) != "undefined" ) {
			dozwolone_tagi += ","+jQuery.netiRte.zawsze_dozwolone_tagi;
		}
		else {
			var dozwolone_tagi = jQuery.netiRte.zawsze_dozwolone_tagi;
		}
		// ta "dziwna" kopia zmiennej musi by ze wzgldu na zachowanie Opery
		var dozwolone_tagi_kopia = dozwolone_tagi;
		
		jQuery.netiRte.dozwolone_tagi[textarea_id] = dozwolone_tagi;
		// przechwycenie submita formularza
		jQuery(textarea.get(0).form).bind("submit", function(e) {
			// przekopiowanie zawartoci iframe'a do textarea			
			var tresc = iframe.contentWindow.document.body.innerHTML;
			tresc = jQuery.netiRte.filtruj(tresc, dozwolone_tagi_kopia);
			textarea.val(tresc);
			return true;
		});
		
		// ledzenie zmian tekstu - wykrywanie wklejania
		jQuery.netiRte.dlugosc_tekstu[textarea_id] = iframe.contentWindow.document.body.innerHTML.length;
		window.setTimeout( function() { jQuery.netiRte.sprawdz_zmiany(iframe, textarea_id, dozwolone_tagi); }, 100 );
	},
	
	// funkcja wykrywajca zmiany w tekcie takie jak wklejanie, wycinanie blokw
	dlugosc_tekstu: {},
	sprawdz_zmiany: function(iframe, textarea_id, dozwolone_tagi) {
		var iframe_html = iframe.contentWindow.document.body.innerHTML;
		dlugosc_tekstu = iframe_html.length;
		// jeli dugo aktualnego tekstu mocno rni si od poprzednio sprawdzanej -> prawdopodobnie wklejenie tekstu
		if (Math.abs(this.dlugosc_tekstu[textarea_id]-dlugosc_tekstu) > 90) {
			// przefiltrowanie tekstu
			iframe_html = this.filtruj(iframe_html, dozwolone_tagi);
			iframe.contentWindow.document.body.innerHTML = iframe_html;
		}
		
		this.dlugosc_tekstu[textarea_id] = dlugosc_tekstu;
		
		window.setTimeout( function() { jQuery.netiRte.sprawdz_zmiany(iframe, textarea_id, dozwolone_tagi); }, 100 );
	},
	
	// funkcja zwraca tre iframe'a
	pobierz_tresc: function(textarea_id) {
		var iframe = jQuery("iframe[name='rte_"+textarea_id+"']").get(0);
		if ( !iframe ) {
			return null;
		}
		
		var tresc = iframe.contentWindow.document.body.innerHTML;
		tresc = jQuery.netiRte.filtruj(tresc, this.dozwolone_tagi[textarea_id]);
		return tresc;
	},
	
	// funkcja podmienia tre iframe'a
	zmien_tresc: function(textarea_id, tresc) {
		tresc = jQuery.netiRte.filtruj(tresc, this.dozwolone_tagi[textarea_id]);
		var iframe = jQuery("iframe[name='rte_"+textarea_id+"']").get(0);
		iframe.contentWindow.document.body.innerHTML = tresc;
		return true;
	},
	
	// funkcja filtruje tekst
	filtruj: function(tresc, dozwolone_tagi) {
		// Safari
		tresc = tresc.replace(' class="apple-style-span"', "");
	
		// komentarze
		tresc = tresc.replace(/<(!--)([\s\S]*)(--)>/gi, "");
		// formatowanie worda
		tresc = this.filtruj_word(tresc);
		// tagi html
		tresc = this.filtruj_tagi(tresc, dozwolone_tagi);
		
		return tresc;
	},
	
	// filtrowanie formatowania MS Word - na podstawie funkcji TinyMCE
	filtruj_word: function(tresc) {
		var bull = String.fromCharCode(8226);
		var middot = String.fromCharCode(183);

		tresc = tresc.replace(new RegExp('<p class=MsoHeading.*?>(.*?)<\/p>', 'gi'), '<p><b>$1</b></p>');
		tresc = tresc.replace(new RegExp('tab-stops: list [0-9]+.0pt">', 'gi'), '">' + "--list--");
		tresc = tresc.replace(new RegExp(bull + "(.*?)<BR>", "gi"), "<p>" + middot + "$1</p>");
		tresc = tresc.replace(new RegExp('<SPAN style="mso-list: Ignore">', 'gi'), "<span>" + bull); // Covert to bull list
		tresc = tresc.replace(/<o:p><\/o:p>/gi, "");
		tresc = tresc.replace(new RegExp('<br style="page-break-before: always;.*>', 'gi'), '-- page break --'); // Replace pagebreaks
		tresc = tresc.replace(new RegExp('<(!--)([^>]*)(--)>', 'g'), "");  // Word comments
		tresc = tresc.replace(/<\/?font[^>]*>/gi, "");
		tresc = tresc.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3");
		//tresc = tresc.replace(new RegExp('href="?' + this._reEscape("" + document.location) + '', 'gi'), 'href="' + this.editor.documentBaseURI.getURI());
		tresc = tresc.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3");
		tresc = tresc.replace(/<\\?\?xml[^>]*>/gi, "");
		tresc = tresc.replace(/<\/?\w+:[^>]*>/gi, "");
		tresc = tresc.replace(/-- page break --\s*<p>&nbsp;<\/p>/gi, ""); // Remove pagebreaks
		tresc = tresc.replace(/-- page break --/gi, ""); // Remove pagebreaks

//		tresc = tresc.replace(/\/?&nbsp;*/gi, ""); &nbsp;
//		tresc = tresc.replace(/<p>&nbsp;<\/p>/gi, '');

		//tresc = tresc.replace(/<\/?div[^>]*>/gi, "");
		
		// Replace all headers with strong and fix some other issues
		tresc = tresc.replace(/<h[1-6]>&nbsp;<\/h[1-6]>/gi, '<p>&nbsp;&nbsp;</p>');
		tresc = tresc.replace(/<h[1-6]>/gi, '<p><b>');
		tresc = tresc.replace(/<\/h[1-6]>/gi, '</b></p>');
		tresc = tresc.replace(/<b>&nbsp;<\/b>/gi, '<b>&nbsp;&nbsp;</b>');
		tresc = tresc.replace(/^(&nbsp;)*/gi, '');

		tresc = tresc.replace(/--list--/gi, ""); // Remove --list--
		
		return tresc;
	},
	
	
	// filtrowanie tagw HTML - przerbka funkcji strip_tags (szczegy wewntrz funkcji)
	filtruj_tagi: function(str, allowed_tags) {
		
		/* 
		 * More info at: http://kevin.vanzonneveld.net/techblog/category/php2js
		 * 
		 * php.js is copyright 2008 Kevin van Zonneveld.
		 * 
		 * Portions copyright Ates Goral (http://magnetiq.com), Legaev Andrey,
		 * _argos, Jonas Raoni Soares Silva (http://www.jsfromhell.com),
		 * Webtoolkit.info (http://www.webtoolkit.info/), Carlos R. L. Rodrigues, Ash
		 * Searle (http://hexmen.com/blog/), Tyler Akins (http://rumkin.com), mdsjack
		 * (http://www.mdsjack.bo.it), Alexander Ermolaev
		 * (http://snippets.dzone.com/user/AlexanderErmolaev), Andrea Giammarchi
		 * (http://webreflection.blogspot.com), Bayron Guevara, Cord, David, Karol
		 * Kowalski, Leslie Hoare, Lincoln Ramsay, Mick@el, Nick Callen, Peter-Paul
		 * Koch (http://www.quirksmode.org/js/beat.html), Philippe Baumann, Steve
		 * Clay, booeyOH
		 * 
		 * Licensed under the MIT (MIT-LICENSE.txt) license.
		 * 
		 * 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.
		 */
	
		// http://kevin.vanzonneveld.net
		// +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
		// +   improved by: Luke Godfrey
		// +      input by: Pul
		// +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
		// +   bugfixed by: Onno Marsman
		// *     example 1: strip_tags('<p>Kevin</p> <br /><b>van</b> <i>Zonneveld</i>', '<i>,<b>');
		// *     returns 1: 'Kevin <b>van</b> <i>Zonneveld</i>'
		// *     example 2: strip_tags('<p>Kevin <img src="someimage.png" onmouseover="someFunction()">van <i>Zonneveld</i></p>', '<p>');
		// *     returns 2: '<p>Kevin van Zonneveld</p>'
		// *     example 3: strip_tags("<a href='http://kevin.vanzonneveld.net'>Kevin van Zonneveld</a>", "<a>");
		// *     returns 3: '<a href='http://kevin.vanzonneveld.net'>Kevin van Zonneveld</a>'
	 
		var key = '', tag = '', allowed = false;
		var matches = allowed_array = [];
		var allowed_keys = {};
	 
		var replacer = function(search, replace, str) {
			var tmp_arr = [];
			tmp_arr = str.split(search);
			return tmp_arr.join(replace);
		};
		
		// Build allowes tags associative array
		if (allowed_tags) {
			allowed_tags  = allowed_tags.replace(/[^a-zA-Z,]+/g, '');;
			allowed_array = allowed_tags.split(',');
		}
	 
		str += '';
		
		// Match tags
		matches = str.match(/(<\/?[^>]+>)/gi);
	 
		// Go through all HTML tags
		for (key in matches) {
			if (isNaN(key)) {
				// IE7 Hack
				continue;
			}
	 
			// Save HTML tag
			html = matches[key].toString();
	 
			// Is tag not in allowed list? Remove from str!
			allowed = false;
	 
			// Go through all allowed tags
			for (k in allowed_array) {
				// Init
				allowed_tag = allowed_array[k];
				i = -1;
				
				// ponisze linijki s konieczne - to jest formatowanie tekstu pod rnymi przegldarkami
				// FF
				if (i != 0) { i = html.toLowerCase().indexOf('<span style="font-weight:');}
				if (i != 0) { i = html.toLowerCase().indexOf('<span style="font-style:');}
				if (i != 0) { i = html.toLowerCase().indexOf('<br style="');}
				// Safari
				if (i != 0) { i = html.toLowerCase().indexOf('<div>');}
				if (i != 0) { i = html.toLowerCase().indexOf('</div>');}
				// IE i Opera
				if (i != 0) { i = html.toLowerCase().indexOf('<p>');}
				if (i != 0) { i = html.toLowerCase().indexOf('</p>');}
				
				// sprawdzanie czy tag jest dozwolony
				if (i != 0) { i = html.toLowerCase().indexOf('<'+allowed_tag+'>');}
				// nie pozwalamy na tagi z atrybutami, bo mog pozosta formatowania po wklejeniu z edytorw tekstu
				/*if (i != 0) { i = html.toLowerCase().indexOf('<'+allowed_tag+' ');}*/
				if (i != 0) { i = html.toLowerCase().indexOf('</'+allowed_tag)   ;}
	 
				// Determine
				if (i == 0) {
					allowed = true;
					break;
				}
			}
	 
			if (!allowed) {
				str = replacer(html, "", str); // Custom replace. No regexing
			}
		}
		
		return str;
	}
}
/* File: jquery-ui-personalized-1.5.2.packed.js (modyfikacja: 2009-05-12 01:58:33 */ 

eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('(a(C){C.g={1h:{1k:a(E,D,H){b G=C.g[E].2L;1m(b F 4I H){G.2k[F]=G.2k[F]||[];G.2k[F].1Q([D,H[F]])}},1o:a(D,F,E){b H=D.2k[F];5(!H){e}1m(b G=0;G<H.19;G++){5(D.8[H[G][0]]){H[G][1].2r(D.f,E)}}}},2J:{},d:a(D){5(C.g.2J[D]){e C.g.2J[D]}b E=C(\'<2h 3S="g-4K">\').1V(D).d({r:"1e",6:"-4j",7:"-4j",4y:"4z"}).1D("12");C.g.2J[D]=!!((!(/1N|4C/).1a(E.d("1z"))||(/^[1-9]/).1a(E.d("m"))||(/^[1-9]/).1a(E.d("n"))||!(/4o/).1a(E.d("4B"))||!(/4A|4M\\(0, 0, 0, 0\\)/).1a(E.d("4Y"))));52{C("12").49(0).3R(E.49(0))}4U(F){}e C.g.2J[D]},4O:a(D){C(D).24("2K","3J").d("4d","4o")},4R:a(D){C(D).24("2K","4V").d("4d","")},4Z:a(G,D){b F=/6/.1a(D||"6")?"T":"U",E=u;5(G[F]>0){e z}G[F]=1;E=G[F]>0?z:u;G[F]=0;e E}};b A=C.3u.1G;C.3u.1G=a(){C("*",4).1k(4).2F("1G");e A.2r(4,40)};a B(F,D,G){b E=C[F][D].3P||[];E=(33 E=="3r"?E.3h(/,?\\s+/):E);e(C.4G(G,E)!=-1)}C.1Z=a(D,E){b F=D.3h(".")[0];D=D.3h(".")[1];C.3u[D]=a(J){b H=(33 J=="3r"),I=4x.2L.4D.1o(40,1);5(H&&B(F,D,J)){b G=C.17(4[0],D);e(G?G[J].2r(G,I):1O)}e 4.1r(a(){b K=C.17(4,D);5(H&&K&&C.29(K[J])){K[J].2r(K,I)}1i{5(!H){C.17(4,D,4F C[F][D](4,J))}}})};C[F][D]=a(H,I){b G=4;4.1U=D;4.3L=F+"-"+D;4.8=C.26({},C.1Z.2m,C[F][D].2m,I);4.f=C(H).2d("2z."+D,a(L,J,K){e G.2z(J,K)}).2d("3x."+D,a(K,J){e G.3x(J)}).2d("1G",a(){e G.38()});4.2W()};C[F][D].2L=C.26({},C.1Z.2L,E)};C.1Z.2L={2W:a(){},38:a(){4.f.35(4.1U)},3x:a(D){e 4.8[D]},2z:a(D,E){4.8[D]=E;5(D=="1E"){4.f[E?"1V":"36"](4.3L+"-1E")}},4L:a(){4.2z("1E",u)},53:a(){4.2z("1E",z)}};C.1Z.2m={1E:u};C.g.2X={3C:a(){b D=4;4.f.2d("4P."+4.1U,a(E){e D.3Z(E)});5(C.2l.3i){4.45=4.f.24("2K");4.f.24("2K","3J")}4.4N=u},3s:a(){4.f.2N("."+4.1U);(C.2l.3i&&4.f.24("2K",4.45))},3Z:a(F){(4.1L&&4.2C(F));4.31=F;b D=4,G=(F.4W==1),E=(33 4.8.2I=="3r"?C(F.1K).37().1k(F.1K).4X(4.8.2I).19:u);5(!G||E||!4.2T(F)){e z}4.2U=!4.8.2M;5(!4.2U){4.4S=4v(a(){D.2U=z},4.8.2M)}5(4.3v(F)&&4.3y(F)){4.1L=(4.28(F)!==u);5(!4.1L){F.4T();e z}}4.3D=a(H){e D.3M(H)};4.3E=a(H){e D.2C(H)};C(i).2d("3W."+4.1U,4.3D).2d("3V."+4.1U,4.3E);e u},3M:a(D){5(C.2l.3i&&!D.51){e 4.2C(D)}5(4.1L){4.1S(D);e u}5(4.3v(D)&&4.3y(D)){4.1L=(4.28(4.31,D)!==u);(4.1L?4.1S(D):4.2C(D))}e!4.1L},2C:a(D){C(i).2N("3W."+4.1U,4.3D).2N("3V."+4.1U,4.3E);5(4.1L){4.1L=u;4.2c(D)}e u},3v:a(D){e(18.2G(18.1B(4.31.1p-D.1p),18.1B(4.31.1v-D.1v))>=4.8.3c)},3y:a(D){e 4.2U},28:a(D){},1S:a(D){},2c:a(D){},2T:a(D){e z}};C.g.2X.2m={2I:1t,3c:1,2M:0}})(3A);(a(A){A.1Z("g.W",A.26({},A.g.2X,{2W:a(){b B=4.8;5(B.h=="3t"&&!(/(X|1e|1H)/).1a(4.f.d("r"))){4.f.d("r","X")}4.f.1V("g-W");(B.1E&&4.f.1V("g-W-1E"));4.3C()},28:a(F){b H=4.8;5(4.h||H.1E||A(F.1K).4E(".g-4J-2i")){e u}b B=!4.8.2i||!A(4.8.2i,4.f).19?z:u;A(4.8.2i,4.f).47("*").48().1r(a(){5(4==F.1K){B=z}});5(!B){e u}5(A.g.1j){A.g.1j.4h=4}4.h=A.29(H.h)?A(H.h.2r(4.f[0],[F])):(H.h=="2n"?4.f.2n():4.f);5(!4.h.37("12").19){4.h.1D((H.1D=="k"?4.f[0].1y:H.1D))}5(4.h[0]!=4.f[0]&&!(/(1H|1e)/).1a(4.h.d("r"))){4.h.d("r","1e")}4.Z={7:(S(4.f.d("4l"),10)||0),6:(S(4.f.d("4m"),10)||0)};4.1s=4.h.d("r");4.c=4.f.c();4.c={6:4.c.6-4.Z.6,7:4.c.7-4.Z.7};4.c.p={7:F.1p-4.c.7,6:F.1v-4.c.6};4.w=4.h.w();b C=4.w.c();5(4.w[0]==i.12&&A.2l.4H){C={6:0,7:0}}4.c.k={6:C.6+(S(4.w.d("2s"),10)||0),7:C.7+(S(4.w.d("2a"),10)||0)};b E=4.f.r();4.c.X=4.1s=="X"?{6:E.6-(S(4.h.d("6"),10)||0)+4.w[0].T,7:E.7-(S(4.h.d("7"),10)||0)+4.w[0].U}:{6:0,7:0};4.1n=4.2u(F);4.t={n:4.h.22(),m:4.h.23()};5(H.1g){5(H.1g.7!=1O){4.c.p.7=H.1g.7+4.Z.7}5(H.1g.2O!=1O){4.c.p.7=4.t.n-H.1g.2O+4.Z.7}5(H.1g.6!=1O){4.c.p.6=H.1g.6+4.Z.6}5(H.1g.2Q!=1O){4.c.p.6=4.t.m-H.1g.2Q+4.Z.6}}5(H.j){5(H.j=="k"){H.j=4.h[0].1y}5(H.j=="i"||H.j=="1A"){4.j=[0-4.c.X.7-4.c.k.7,0-4.c.X.6-4.c.k.6,A(H.j=="i"?i:1A).n()-4.c.X.7-4.c.k.7-4.t.n-4.Z.7-(S(4.f.d("2R"),10)||0),(A(H.j=="i"?i:1A).m()||i.12.1y.2S)-4.c.X.6-4.c.k.6-4.t.m-4.Z.6-(S(4.f.d("30"),10)||0)]}5(!(/^(i|1A|k)$/).1a(H.j)){b D=A(H.j)[0];b G=A(H.j).c();4.j=[G.7+(S(A(D).d("2a"),10)||0)-4.c.X.7-4.c.k.7,G.6+(S(A(D).d("2s"),10)||0)-4.c.X.6-4.c.k.6,G.7+18.2G(D.4k,D.2f)-(S(A(D).d("2a"),10)||0)-4.c.X.7-4.c.k.7-4.t.n-4.Z.7-(S(4.f.d("2R"),10)||0),G.6+18.2G(D.2S,D.2t)-(S(A(D).d("2s"),10)||0)-4.c.X.6-4.c.k.6-4.t.m-4.Z.6-(S(4.f.d("30"),10)||0)]}}4.Y("1w",F);4.t={n:4.h.22(),m:4.h.23()};5(A.g.1j&&!H.3f){A.g.1j.4g(4,F)}4.h.1V("g-W-3e");4.1S(F);e z},1u:a(C,D){5(!D){D=4.r}b B=C=="1e"?1:-1;e{6:(D.6+4.c.X.6*B+4.c.k.6*B-(4.1s=="1H"||(4.1s=="1e"&&4.w[0]==i.12)?0:4.w[0].T)*B+(4.1s=="1H"?A(i).T():0)*B+4.Z.6*B),7:(D.7+4.c.X.7*B+4.c.k.7*B-(4.1s=="1H"||(4.1s=="1e"&&4.w[0]==i.12)?0:4.w[0].U)*B+(4.1s=="1H"?A(i).U():0)*B+4.Z.7*B)}},2u:a(E){b F=4.8;b B={6:(E.1v-4.c.p.6-4.c.X.6-4.c.k.6+(4.1s=="1H"||(4.1s=="1e"&&4.w[0]==i.12)?0:4.w[0].T)-(4.1s=="1H"?A(i).T():0)),7:(E.1p-4.c.p.7-4.c.X.7-4.c.k.7+(4.1s=="1H"||(4.1s=="1e"&&4.w[0]==i.12)?0:4.w[0].U)-(4.1s=="1H"?A(i).U():0))};5(!4.1n){e B}5(4.j){5(B.7<4.j[0]){B.7=4.j[0]}5(B.6<4.j[1]){B.6=4.j[1]}5(B.7>4.j[2]){B.7=4.j[2]}5(B.6>4.j[3]){B.6=4.j[3]}}5(F.1d){b D=4.1n.6+18.3a((B.6-4.1n.6)/F.1d[1])*F.1d[1];B.6=4.j?(!(D<4.j[1]||D>4.j[3])?D:(!(D<4.j[1])?D-F.1d[1]:D+F.1d[1])):D;b C=4.1n.7+18.3a((B.7-4.1n.7)/F.1d[0])*F.1d[0];B.7=4.j?(!(C<4.j[0]||C>4.j[2])?C:(!(C<4.j[0])?C-F.1d[0]:C+F.1d[0])):C}e B},1S:a(B){4.r=4.2u(B);4.1l=4.1u("1e");4.r=4.Y("1M",B)||4.r;5(!4.8.1R||4.8.1R!="y"){4.h[0].21.7=4.r.7+"2w"}5(!4.8.1R||4.8.1R!="x"){4.h[0].21.6=4.r.6+"2w"}5(A.g.1j){A.g.1j.1M(4,B)}e u},2c:a(C){b D=u;5(A.g.1j&&!4.8.3f){b D=A.g.1j.46(4,C)}5((4.8.1I=="4Q"&&!D)||(4.8.1I=="57"&&D)||4.8.1I===z){b B=4;A(4.h).3l(4.1n,S(4.8.1I,10)||3g,a(){B.Y("1C",C);B.1Y()})}1i{4.Y("1C",C);4.1Y()}e u},1Y:a(){4.h.36("g-W-3e");5(4.8.h!="3t"&&!4.2g){4.h.1G()}4.h=1t;4.2g=u},2k:{},3n:a(B){e{h:4.h,r:4.r,2V:4.1l,8:4.8}},Y:a(C,B){A.g.1h.1o(4,C,[B,4.3n()]);5(C=="1M"){4.1l=4.1u("1e")}e 4.f.2F(C=="1M"?C:"1M"+C,[B,4.3n()],4.8[C])},38:a(){5(!4.f.17("W")){e}4.f.35("W").2N(".W").36("g-W");4.3s()}}));A.26(A.g.W,{2m:{1D:"k",1R:u,2I:":4t",2M:0,3c:1,h:"3t"}});A.g.1h.1k("W","1z",{1w:a(D,C){b B=A("12");5(B.d("1z")){C.8.2v=B.d("1z")}B.d("1z",C.8.1z)},1C:a(C,B){5(B.8.2v){A("12").d("1z",B.8.2v)}}});A.g.1h.1k("W","1f",{1w:a(D,C){b B=A(C.h);5(B.d("1f")){C.8.2b=B.d("1f")}B.d("1f",C.8.1f)},1C:a(C,B){5(B.8.2b){A(B.h).d("1f",B.8.2b)}}});A.g.1h.1k("W","1q",{1w:a(D,C){b B=A(C.h);5(B.d("1q")){C.8.2j=B.d("1q")}B.d("1q",C.8.1q)},1C:a(C,B){5(B.8.2j){A(B.h).d("1q",B.8.2j)}}});A.g.1h.1k("W","2Z",{1w:a(C,B){A(B.8.2Z===z?"5y":B.8.2Z).1r(a(){A(\'<2h 3S="g-W-2Z" 21="5t: #5s;"></2h>\').d({n:4.2f+"2w",m:4.2t+"2w",r:"1e",1q:"0.5u",1f:3U}).d(A(4).c()).1D("12")})},1C:a(C,B){A("2h.5E").1r(a(){4.1y.3R(4)})}});A.g.1h.1k("W","1F",{1w:a(D,C){b E=C.8;b B=A(4).17("W");E.1b=E.1b||20;E.1c=E.1c||20;B.13=a(F){39{5(/1N|1F/.1a(F.d("1P"))||(/1N|1F/).1a(F.d("1P-y"))){e F}F=F.k()}2H(F[0].1y);e A(i)}(4);B.14=a(F){39{5(/1N|1F/.1a(F.d("1P"))||(/1N|1F/).1a(F.d("1P-x"))){e F}F=F.k()}2H(F[0].1y);e A(i)}(4);5(B.13[0]!=i&&B.13[0].1W!="1X"){B.2q=B.13.c()}5(B.14[0]!=i&&B.14[0].1W!="1X"){B.2e=B.14.c()}},1M:a(D,C){b E=C.8;b B=A(4).17("W");5(B.13[0]!=i&&B.13[0].1W!="1X"){5((B.2q.6+B.13[0].2t)-D.1v<E.1b){B.13[0].T=B.13[0].T+E.1c}5(D.1v-B.2q.6<E.1b){B.13[0].T=B.13[0].T-E.1c}}1i{5(D.1v-A(i).T()<E.1b){A(i).T(A(i).T()-E.1c)}5(A(1A).m()-(D.1v-A(i).T())<E.1b){A(i).T(A(i).T()+E.1c)}}5(B.14[0]!=i&&B.14[0].1W!="1X"){5((B.2e.7+B.14[0].2f)-D.1p<E.1b){B.14[0].U=B.14[0].U+E.1c}5(D.1p-B.2e.7<E.1b){B.14[0].U=B.14[0].U-E.1c}}1i{5(D.1p-A(i).U()<E.1b){A(i).U(A(i).U()-E.1c)}5(A(1A).n()-(D.1p-A(i).U())<E.1b){A(i).U(A(i).U()+E.1c)}}}});A.g.1h.1k("W","3z",{1w:a(D,C){b B=A(4).17("W");B.25=[];A(C.8.3z===z?".g-W":C.8.3z).1r(a(){b F=A(4);b E=F.c();5(4!=B.f[0]){B.25.1Q({15:4,n:F.22(),m:F.23(),6:E.6,7:E.7})}})},1M:a(J,O){b I=A(4).17("W");b L=O.8.5x||20;b D=O.2V.7,C=D+I.t.n,P=O.2V.6,N=P+I.t.m;1m(b H=I.25.19-1;H>=0;H--){b E=I.25[H].7,B=E+I.25[H].n,R=I.25[H].6,M=R+I.25[H].m;5(!((E-L<D&&D<B+L&&R-L<P&&P<M+L)||(E-L<D&&D<B+L&&R-L<N&&N<M+L)||(E-L<C&&C<B+L&&R-L<P&&P<M+L)||(E-L<C&&C<B+L&&R-L<N&&N<M+L))){2B}5(O.8.3O!="5z"){b K=18.1B(R-N)<=20;b Q=18.1B(M-P)<=20;b G=18.1B(E-C)<=20;b F=18.1B(B-D)<=20;5(K){O.r.6=I.1u("X",{6:R-I.t.m,7:0}).6}5(Q){O.r.6=I.1u("X",{6:M,7:0}).6}5(G){O.r.7=I.1u("X",{6:0,7:E-I.t.n}).7}5(F){O.r.7=I.1u("X",{6:0,7:B}).7}}5(O.8.3O!="5w"){b K=18.1B(R-P)<=20;b Q=18.1B(M-N)<=20;b G=18.1B(E-D)<=20;b F=18.1B(B-C)<=20;5(K){O.r.6=I.1u("X",{6:R,7:0}).6}5(Q){O.r.6=I.1u("X",{6:M-I.t.m,7:0}).6}5(G){O.r.7=I.1u("X",{6:0,7:E}).7}5(F){O.r.7=I.1u("X",{6:0,7:B-I.t.n}).7}}}}});A.g.1h.1k("W","43",{1w:a(D,C){b B=A(4).17("W");B.34=[];A(C.8.43).1r(a(){5(A.17(4,"V")){b E=A.17(4,"V");B.34.1Q({l:E,44:E.8.1I});E.32();E.Y("4i",D,B)}})},1C:a(D,C){b B=A(4).17("W");A.1r(B.34,a(){5(4.l.2p){4.l.2p=0;B.2g=z;4.l.2g=u;5(4.44){4.l.8.1I=z}4.l.2c(D);4.l.f.2F("54",[D,A.26(4.l.g(),{3K:B.f})],4.l.8.3X);4.l.8.h=4.l.8.3m}1i{4.l.Y("3Q",D,B)}})},1M:a(F,E){b D=A(4).17("W"),B=4;b C=a(K){b H=K.7,J=H+K.n,I=K.6,G=I+K.m;e(H<(4.1l.7+4.c.p.7)&&(4.1l.7+4.c.p.7)<J&&I<(4.1l.6+4.c.p.6)&&(4.1l.6+4.c.p.6)<G)};A.1r(D.34,a(G){5(C.1o(D,4.l.1x)){5(!4.l.2p){4.l.2p=1;4.l.v=A(B).2n().1D(4.l.f).17("V-15",z);4.l.8.3m=4.l.8.h;4.l.8.h=a(){e E.h[0]};F.1K=4.l.v[0];4.l.2T(F,z);4.l.28(F,z,z);4.l.c.p.6=D.c.p.6;4.l.c.p.7=D.c.p.7;4.l.c.k.7-=D.c.k.7-4.l.c.k.7;4.l.c.k.6-=D.c.k.6-4.l.c.k.6;D.Y("5C",F)}5(4.l.v){4.l.1S(F)}}1i{5(4.l.2p){4.l.2p=0;4.l.2g=z;4.l.8.1I=u;4.l.2c(F,z);4.l.8.h=4.l.8.3m;4.l.v.1G();5(4.l.11){4.l.11.1G()}D.Y("5B",F)}}})}});A.g.1h.1k("W","2o",{1w:a(D,B){b C=A.5A(A(B.8.2o.5v)).1T(a(F,E){e(S(A(F).d("1f"),10)||B.8.2o.2Y)-(S(A(E).d("1f"),10)||B.8.2o.2Y)});A(C).1r(a(E){4.21.1f=B.8.2o.2Y+E});4[0].21.1f=B.8.2o.2Y+C.19}})})(3A);(a(B){a A(E,D){b C=B.2l.5b&&B.2l.5c<5d;5(E.3H&&!C){e E.3H(D)}5(E.3G){e!!(E.3G(D)&16)}2H(D=D.1y){5(D==E){e z}}e u}B.1Z("g.V",B.26({},B.g.2X,{2W:a(){b C=4.8;4.1x={};4.f.1V("g-V");4.4q();4.1J=4.o.19?(/7|2O/).1a(4.o[0].15.d("55")):u;5(!(/(X|1e|1H)/).1a(4.f.d("r"))){4.f.d("r","X")}4.c=4.f.c();4.3C()},2k:{},g:a(C){e{h:(C||4)["h"],11:(C||4)["11"]||B([]),r:(C||4)["r"],2V:(C||4)["1l"],8:4.8,f:4.f,15:(C||4)["v"],3K:C?C.f:1t}},Y:a(F,D,C,E){B.g.1h.1o(4,F,[D,4.g(C)]);5(!E){4.f.2F(F=="1T"?F:"1T"+F,[D,4.g(C)],4.8[F])}},42:a(E){b C=(B.29(4.8.o)?4.8.o.1o(4.f):B(4.8.o,4.f)).3o(".g-V-h");b D=[];E=E||{};C.1r(a(){b F=(B(4).24(E.5f||"4s")||"").5g(E.3F||(/(.+)[-=5n](.+)/));5(F){D.1Q((E.3I||F[1])+"[]="+(E.3I&&E.3F?F[1]:F[2]))}});e D.5o("&")},3Y:a(C){b D=(B.29(4.8.o)?4.8.o.1o(4.f):B(4.8.o,4.f)).3o(".g-V-h");b E=[];D.1r(a(){E.1Q(B(4).24(C||"4s"))});e E},4c:a(K){b E=4.1l.7,D=E+4.t.n,I=4.1l.6,H=I+4.t.m;b F=K.7,C=F+K.n,J=K.6,G=J+K.m;5(4.8.2y=="4r"||4.8.5p||(4.8.2y=="3p"&&4.t[4.1J?"n":"m"]>K[4.1J?"n":"m"])){e(I+4.c.p.6>J&&I+4.c.p.6<G&&E+4.c.p.7>F&&E+4.c.p.7<C)}1i{e(F<E+(4.t.n/2)&&D-(4.t.n/2)<C&&J<I+(4.t.m/2)&&H-(4.t.m/2)<G)}},4f:a(K){b E=4.1l.7,D=E+4.t.n,I=4.1l.6,H=I+4.t.m;b F=K.7,C=F+K.n,J=K.6,G=J+K.m;5(4.8.2y=="4r"||(4.8.2y=="3p"&&4.t[4.1J?"n":"m"]>K[4.1J?"n":"m"])){5(!(I+4.c.p.6>J&&I+4.c.p.6<G&&E+4.c.p.7>F&&E+4.c.p.7<C)){e u}5(4.1J){5(E+4.c.p.7>F&&E+4.c.p.7<F+K.n/2){e 2}5(E+4.c.p.7>F+K.n/2&&E+4.c.p.7<C){e 1}}1i{5(I+4.c.p.6>J&&I+4.c.p.6<J+K.m/2){e 2}5(I+4.c.p.6>J+K.m/2&&I+4.c.p.6<G){e 1}}}1i{5(!(F<E+(4.t.n/2)&&D-(4.t.n/2)<C&&J<I+(4.t.m/2)&&H-(4.t.m/2)<G)){e u}5(4.1J){5(D>F&&E<F){e 2}5(E<C&&D>C){e 1}}1i{5(H>J&&I<J){e 1}5(I<G&&H>G){e 2}}}e u},4q:a(){4.32();4.3b()},32:a(){4.o=[];4.q=[4];b D=4.o;b C=4;b F=[[B.29(4.8.o)?4.8.o.1o(4.f,1t,{8:4.8,15:4.v}):B(4.8.o,4.f),4]];5(4.8.3B){1m(b G=4.8.3B.19-1;G>=0;G--){b I=B(4.8.3B[G]);1m(b E=I.19-1;E>=0;E--){b H=B.17(I[E],"V");5(H&&!H.8.1E){F.1Q([B.29(H.8.o)?H.8.o.1o(H.f):B(H.8.o,H.f),H]);4.q.1Q(H)}}}}1m(b G=F.19-1;G>=0;G--){F[G][0].1r(a(){B.17(4,"V-15",F[G][1]);D.1Q({15:B(4),l:F[G][1],n:0,m:0,7:0,6:0})})}},3b:a(D){5(4.w){b C=4.w.c();4.c.k={6:C.6+4.2x.6,7:C.7+4.2x.7}}1m(b F=4.o.19-1;F>=0;F--){5(4.o[F].l!=4.2A&&4.2A&&4.o[F].15[0]!=4.v[0]){2B}b E=4.8.4u?B(4.8.4u,4.o[F].15):4.o[F].15;5(!D){4.o[F].n=E[0].2f;4.o[F].m=E[0].2t}b G=E.c();4.o[F].7=G.7;4.o[F].6=G.6}5(4.8.3k&&4.8.3k.4p){4.8.3k.4p.1o(4)}1i{1m(b F=4.q.19-1;F>=0;F--){b G=4.q[F].f.c();4.q[F].1x.7=G.7;4.q[F].1x.6=G.6;4.q[F].1x.n=4.q[F].f.22();4.q[F].1x.m=4.q[F].f.23()}}},38:a(){4.f.36("g-V g-V-1E").35("V").2N(".V");4.3s();1m(b C=4.o.19-1;C>=0;C--){4.o[C].15.35("V-15")}},3w:a(E){b D=E||4,F=D.8;5(F.11.5i==5j){b C=F.11;F.11={f:a(){e B("<2h></2h>").1V(C)[0]},2E:a(G,H){H.d(G.c()).d({n:G.22(),m:G.23()})}}}D.11=B(F.11.f.1o(D.f,D.v)).1D("12").d({r:"1e"});F.11.2E.1o(D.f,D.v,D.11)},4a:a(F){1m(b D=4.q.19-1;D>=0;D--){5(4.4c(4.q[D].1x)){5(!4.q[D].1x.27){5(4.2A!=4.q[D]){b I=5k;b H=1t;b E=4.1l[4.q[D].1J?"7":"6"];1m(b C=4.o.19-1;C>=0;C--){5(!A(4.q[D].f[0],4.o[C].15[0])){2B}b G=4.o[C][4.q[D].1J?"7":"6"];5(18.1B(G-E)<I){I=18.1B(G-E);H=4.o[C]}}5(!H&&!4.8.41){2B}5(4.11){4.11.1G()}5(4.q[D].8.11){4.q[D].3w(4)}1i{4.11=1t}4.2A=4.q[D];H?4.3d(F,H,1t,z):4.3d(F,1t,4.q[D].f,z);4.Y("3j",F);4.q[D].Y("3j",F,4)}4.q[D].Y("27",F,4);4.q[D].1x.27=1}}1i{5(4.q[D].1x.27){4.q[D].Y("3T",F,4);4.q[D].1x.27=0}}}},2T:a(G,C){5(4.8.1E||4.8.4e=="5l"){e u}4.32();b F=1t,E=4,D=B(G.1K).37().1r(a(){5(B.17(4,"V-15")==E){F=B(4);e u}});5(B.17(G.1K,"V-15")==E){F=B(G.1K)}5(!F){e u}5(4.8.2i&&!C){b H=u;B(4.8.2i,F).47("*").48().1r(a(){5(4==G.1K){H=z}});5(!H){e u}}4.v=F;e z},28:a(H,C,F){b J=4.8;4.2A=4;4.3b();4.h=33 J.h=="a"?B(J.h.2r(4.f[0],[H,4.v])):4.v.2n();5(!4.h.37("12").19){B(J.1D!="k"?J.1D:4.v[0].1y)[0].4b(4.h[0])}4.h.d({r:"1e",1Y:"5r"}).1V("g-V-h");4.Z={7:(S(4.v.d("4l"),10)||0),6:(S(4.v.d("4m"),10)||0)};4.c=4.v.c();4.c={6:4.c.6-4.Z.6,7:4.c.7-4.Z.7};4.c.p={7:H.1p-4.c.7,6:H.1v-4.c.6};4.w=4.h.w();b D=4.w.c();4.2x={6:(S(4.w.d("2s"),10)||0),7:(S(4.w.d("2a"),10)||0)};4.c.k={6:D.6+4.2x.6,7:D.7+4.2x.7};4.1n=4.2u(H);4.3q={2P:4.v.2P()[0],k:4.v.k()[0]};4.t={n:4.h.22(),m:4.h.23()};5(J.11){4.3w()}4.Y("1w",H);4.t={n:4.h.22(),m:4.h.23()};5(J.1g){5(J.1g.7!=1O){4.c.p.7=J.1g.7}5(J.1g.2O!=1O){4.c.p.7=4.t.n-J.1g.2O}5(J.1g.6!=1O){4.c.p.6=J.1g.6}5(J.1g.2Q!=1O){4.c.p.6=4.t.m-J.1g.2Q}}5(J.j){5(J.j=="k"){J.j=4.h[0].1y}5(J.j=="i"||J.j=="1A"){4.j=[0-4.c.k.7,0-4.c.k.6,B(J.j=="i"?i:1A).n()-4.c.k.7-4.t.n-4.Z.7-(S(4.f.d("2R"),10)||0),(B(J.j=="i"?i:1A).m()||i.12.1y.2S)-4.c.k.6-4.t.m-4.Z.6-(S(4.f.d("30"),10)||0)]}5(!(/^(i|1A|k)$/).1a(J.j)){b G=B(J.j)[0];b I=B(J.j).c();4.j=[I.7+(S(B(G).d("2a"),10)||0)-4.c.k.7,I.6+(S(B(G).d("2s"),10)||0)-4.c.k.6,I.7+18.2G(G.4k,G.2f)-(S(B(G).d("2a"),10)||0)-4.c.k.7-4.t.n-4.Z.7-(S(4.v.d("2R"),10)||0),I.6+18.2G(G.2S,G.2t)-(S(B(G).d("2s"),10)||0)-4.c.k.6-4.t.m-4.Z.6-(S(4.v.d("30"),10)||0)]}}5(4.8.11!="2n"){4.v.d("3N","5D")}5(!F){1m(b E=4.q.19-1;E>=0;E--){4.q[E].Y("4i",H,4)}}5(B.g.1j){B.g.1j.4h=4}5(B.g.1j&&!J.3f){B.g.1j.4g(4,H)}4.3e=z;4.1S(H);e z},1u:a(D,E){5(!E){E=4.r}b C=D=="1e"?1:-1;e{6:(E.6+4.c.k.6*C-(4.w[0]==i.12?0:4.w[0].T)*C+4.Z.6*C),7:(E.7+4.c.k.7*C-(4.w[0]==i.12?0:4.w[0].U)*C+4.Z.7*C)}},2u:a(F){b G=4.8;b C={6:(F.1v-4.c.p.6-4.c.k.6+(4.w[0]==i.12?0:4.w[0].T)),7:(F.1p-4.c.p.7-4.c.k.7+(4.w[0]==i.12?0:4.w[0].U))};5(!4.1n){e C}5(4.j){5(C.7<4.j[0]){C.7=4.j[0]}5(C.6<4.j[1]){C.6=4.j[1]}5(C.7>4.j[2]){C.7=4.j[2]}5(C.6>4.j[3]){C.6=4.j[3]}}5(G.1d){b E=4.1n.6+18.3a((C.6-4.1n.6)/G.1d[1])*G.1d[1];C.6=4.j?(!(E<4.j[1]||E>4.j[3])?E:(!(E<4.j[1])?E-G.1d[1]:E+G.1d[1])):E;b D=4.1n.7+18.3a((C.7-4.1n.7)/G.1d[0])*G.1d[0];C.7=4.j?(!(D<4.j[0]||D>4.j[2])?D:(!(D<4.j[0])?D-G.1d[0]:D+G.1d[0])):D}e C},1S:a(D){4.r=4.2u(D);4.1l=4.1u("1e");B.g.1h.1o(4,"1T",[D,4.g()]);4.1l=4.1u("1e");4.h[0].21.7=4.r.7+"2w";4.h[0].21.6=4.r.6+"2w";1m(b C=4.o.19-1;C>=0;C--){b E=4.4f(4.o[C]);5(!E){2B}5(4.o[C].15[0]!=4.v[0]&&4.v[E==1?"5e":"2P"]()[0]!=4.o[C].15[0]&&!A(4.v[0],4.o[C].15[0])&&(4.8.4e=="5a-59"?!A(4.f[0],4.o[C].15[0]):z)){4.4n=E==1?"4w":"56";4.3d(D,4.o[C]);4.Y("3j",D);5m}}4.4a(D);5(B.g.1j){B.g.1j.1M(4,D)}4.f.2F("1T",[D,4.g()],4.8.1T);e u},3d:a(H,G,D,F){D?D[0].4b(4.v[0]):G.15[0].1y.5q(4.v[0],(4.4n=="4w"?G.15[0]:G.15[0].5h));4.2D=4.2D?++4.2D:1;b E=4,C=4.2D;1A.4v(a(){5(C==E.2D){E.3b(!F)}},0);5(4.8.11){4.8.11.2E.1o(4.f,4.v,4.11)}},2c:a(D,F){5(B.g.1j&&!4.8.3f){B.g.1j.46(4,D)}5(4.8.1I){b C=4;b E=C.v.c();5(C.11){C.11.3l({1q:"58"},(S(4.8.1I,10)||3g)-50)}B(4.h).3l({7:E.7-4.c.k.7-C.Z.7+(4.w[0]==i.12?0:4.w[0].U),6:E.6-4.c.k.6-C.Z.6+(4.w[0]==i.12?0:4.w[0].T)},S(4.8.1I,10)||3g,a(){C.1Y(D)})}1i{4.1Y(D,F)}e u},1Y:a(D,E){5(4.3q.2P!=4.v.2P().3o(".g-V-h")[0]||4.3q.k!=4.v.k()[0]){4.Y("2E",D,1t,E)}5(!A(4.f[0],4.v[0])){4.Y("1G",D,1t,E);1m(b C=4.q.19-1;C>=0;C--){5(A(4.q[C].f[0],4.v[0])){4.q[C].Y("2E",D,4,E);4.q[C].Y("3X",D,4,E)}}}1m(b C=4.q.19-1;C>=0;C--){4.q[C].Y("3Q",D,4,E);5(4.q[C].1x.27){4.q[C].Y("3T",D,4);4.q[C].1x.27=0}}4.3e=u;5(4.2g){4.Y("1C",D,1t,E);e u}B(4.v).d("3N","");5(4.11){4.11.1G()}4.h.1G();4.h=1t;4.Y("1C",D,1t,E);e z}}));B.26(B.g.V,{3P:"42 3Y",2m:{h:"2n",2y:"3p",3c:1,2M:0,1F:z,1b:20,1c:20,2I:":4t",o:"> *",1f:3U,41:z,1D:"k"}});B.g.1h.1k("V","1z",{1w:a(E,D){b C=B("12");5(C.d("1z")){D.8.2v=C.d("1z")}C.d("1z",D.8.1z)},1C:a(D,C){5(C.8.2v){B("12").d("1z",C.8.2v)}}});B.g.1h.1k("V","1f",{1w:a(E,D){b C=D.h;5(C.d("1f")){D.8.2b=C.d("1f")}C.d("1f",D.8.1f)},1C:a(D,C){5(C.8.2b){B(C.h).d("1f",C.8.2b)}}});B.g.1h.1k("V","1q",{1w:a(E,D){b C=D.h;5(C.d("1q")){D.8.2j=C.d("1q")}C.d("1q",D.8.1q)},1C:a(D,C){5(C.8.2j){B(C.h).d("1q",C.8.2j)}}});B.g.1h.1k("V","1F",{1w:a(E,D){b F=D.8;b C=B(4).17("V");C.13=a(G){39{5(/1N|1F/.1a(G.d("1P"))||(/1N|1F/).1a(G.d("1P-y"))){e G}G=G.k()}2H(G[0].1y);e B(i)}(C.v);C.14=a(G){39{5(/1N|1F/.1a(G.d("1P"))||(/1N|1F/).1a(G.d("1P-x"))){e G}G=G.k()}2H(G[0].1y);e B(i)}(C.v);5(C.13[0]!=i&&C.13[0].1W!="1X"){C.2q=C.13.c()}5(C.14[0]!=i&&C.14[0].1W!="1X"){C.2e=C.14.c()}},1T:a(E,D){b F=D.8;b C=B(4).17("V");5(C.13[0]!=i&&C.13[0].1W!="1X"){5((C.2q.6+C.13[0].2t)-E.1v<F.1b){C.13[0].T=C.13[0].T+F.1c}5(E.1v-C.2q.6<F.1b){C.13[0].T=C.13[0].T-F.1c}}1i{5(E.1v-B(i).T()<F.1b){B(i).T(B(i).T()-F.1c)}5(B(1A).m()-(E.1v-B(i).T())<F.1b){B(i).T(B(i).T()+F.1c)}}5(C.14[0]!=i&&C.14[0].1W!="1X"){5((C.2e.7+C.14[0].2f)-E.1p<F.1b){C.14[0].U=C.14[0].U+F.1c}5(E.1p-C.2e.7<F.1b){C.14[0].U=C.14[0].U-F.1c}}1i{5(E.1p-B(i).U()<F.1b){B(i).U(B(i).U()-F.1c)}5(B(1A).n()-(E.1p-B(i).U())<F.1b){B(i).U(B(i).U()+F.1c)}}}});B.g.1h.1k("V","1R",{1T:a(E,D){b C=B(4).17("V");5(D.8.1R=="y"){C.r.7=C.1n.7}5(D.8.1R=="x"){C.r.6=C.1n.6}}})})(3A);',62,351,'||||this|if|top|left|options||function|var|offset|css|return|element|ui|helper|document|containment|parent|instance|height|width|items|click|containers|position||helperProportions|false|currentItem|offsetParent|||true|||||||||||||||||||parseInt|scrollTop|scrollLeft|sortable|draggable|relative|propagate|margins||placeholder|body|overflowY|overflowX|item||data|Math|length|test|scrollSensitivity|scrollSpeed|grid|absolute|zIndex|cursorAt|plugin|else|ddmanager|add|positionAbs|for|originalPosition|call|pageX|opacity|each|cssPosition|null|convertPositionTo|pageY|start|containerCache|parentNode|cursor|window|abs|stop|appendTo|disabled|scroll|remove|fixed|revert|floating|target|_mouseStarted|drag|auto|undefined|overflow|push|axis|mouseDrag|sort|widgetName|addClass|tagName|HTML|clear|widget||style|outerWidth|outerHeight|attr|snapElements|extend|over|mouseStart|isFunction|borderLeftWidth|_zIndex|mouseStop|bind|overflowXOffset|offsetWidth|cancelHelperRemoval|div|handle|_opacity|plugins|browser|defaults|clone|stack|isOver|overflowYOffset|apply|borderTopWidth|offsetHeight|generatePosition|_cursor|px|offsetParentBorders|tolerance|setData|currentContainer|continue|mouseUp|counter|update|triggerHandler|max|while|cancel|cssCache|unselectable|prototype|delay|unbind|right|prev|bottom|marginRight|scrollHeight|mouseCapture|_mouseDelayMet|absolutePosition|init|mouse|min|iframeFix|marginBottom|_mouseDownEvent|refreshItems|typeof|sortables|removeData|removeClass|parents|destroy|do|round|refreshPositions|distance|rearrange|dragging|dropBehaviour|500|split|msie|change|custom|animate|_helper|uiHash|not|guess|domPosition|string|mouseDestroy|original|fn|mouseDistanceMet|createPlaceholder|getData|mouseDelayMet|snap|jQuery|connectWith|mouseInit|_mouseMoveDelegate|_mouseUpDelegate|expression|compareDocumentPosition|contains|key|on|sender|widgetBaseClass|mouseMove|visibility|snapMode|getter|deactivate|removeChild|class|out|1000|mouseup|mousemove|receive|toArray|mouseDown|arguments|dropOnEmpty|serialize|connectToSortable|shouldRevert|_mouseUnselectable|drop|find|andSelf|get|contactContainers|appendChild|intersectsWith|MozUserSelect|type|intersectsWithEdge|prepareOffsets|current|activate|5000px|scrollWidth|marginLeft|marginTop|direction|none|refreshContainers|refresh|pointer|id|input|toleranceElement|setTimeout|down|Array|display|block|transparent|backgroundImage|default|slice|is|new|inArray|mozilla|in|resizable|gen|enable|rgba|started|disableSelection|mousedown|invalid|enableSelection|_mouseDelayTimer|preventDefault|catch|off|which|filter|backgroundColor|hasScroll||button|try|disable|sortreceive|float|up|valid|hide|dynamic|semi|safari|version|522|next|attribute|match|nextSibling|constructor|String|10000|static|break|_|join|forcePointerForContainers|insertBefore|both|fff|background|001|group|outer|snapTolerance|iframe|inner|makeArray|fromSortable|toSortable|hidden|DragDropIframeFix'.split('|'),0,{}))

/* File: _lang.js (modyfikacja: 2010-08-25 23:42:47 */ 

 var _LANG = Array();

	_LANG[92] = 'Formularz zawiera błędy.';
	_LANG[93] = 'Zmiany zostały zapisane.';
	_LANG[94] = 'Przepraszamy, wystąpił nieznany błąd. Prosimy spróbować ponownie później.';
	_LANG[95] = 'zwiń';
	_LANG[96] = 'czytaj więcej';
	_LANG[97] = 'więcej';
	_LANG[98] = 'Czy na pewno chcesz kontynuować?',
	_LANG[99] = 'Musisz się zalogować, aby przejść na tę stronę.',
	
	_LANG[1] = 'Twoje konto jest nieaktywne, kliknij w link aktywacyjny przesłany e-mailem do Ciebie podczas rejestracji.';
	_LANG[2] = 'Podany e-mail lub hasło są nieprawidłowe. Spróbuj ponownie.';
	_LANG[3] = 'Zaraz nastąpi przeładowanie serwisu w tryb zalogowanego użytkownika. Prosimy czekać.';
	_LANG[4] = 'Nie przesłano danych do logowania.';
	_LANG[5] = 'Podany e-mail lub hasło są nieprawidłowe. Spróbuj ponownie.';
	_LANG[6] = 'Podany e-mail lub hasło są nieprawidłowe. Spróbuj ponownie.';
	_LANG[7] = 'Podany e-mail lub hasło są nieprawidłowe. Spróbuj ponownie.';
	_LANG[8] = 'Proszę uzupełnić wszystkie pola.';
	_LANG[9] = 'Proszę podać poprawny adres e-mail.';
	_LANG[10] = 'Proszę poprawnie powtórzyć hasło.';
	_LANG[11] = 'Nick użytkownika nie powinien być krótszy niż 2 znaki i dłuższy niż 25 znaków.';
	_LANG[12] = 'Hasło musi być dłuższe niż 4 znaki.';
	_LANG[13] = 'Proszę przepisać prawidłowo kod z obrazka.';
	_LANG[14] = 'Nie możesz być Gościem. Proszę wpisz inny nick.';
	_LANG[15] = 'Nick nie może być adresem IP.';
	_LANG[16] = 'Twój nick zawiera niedopuszczalne znaki.';
	_LANG[17] = 'Podany adres e-mail jest już używany przez innego użytkownika.';
	_LANG[18] = 'Podany nick jest już zarezerwowany dla innego użytkownika.';
	_LANG[19] = 'Odbierz e-maila z hasłem i linkiem aktywacyjnym.';	
	_LANG[20] = 'Wystąpił nieokreślony błąd. Spróbuj ponownie za chwilę.';	
	_LANG[21] = 'Proces rejestracji zakończył się powodzeniem. Możesz teraz zalogować się w serwisie.';
	_LANG[22] = 'Twoje konto jest już aktywne, możesz się już logować.';
	_LANG[23] = 'Brak klucza aktywacyjnego konta lub podano błędny klucz.';
	_LANG[24] = 'Nie ma takiego użytkownika w naszej społeczności.';
	_LANG[25] = 'Brak klucza aktywacyjnego hasła lub podano błędny klucz.';
	_LANG[26] = 'Logując się użyj nowego hasła, które przysłaliśmy e-mailem.';
	_LANG[27] = 'Dzisiaj już oddałeś swój głos. Spróbuj ponownie jutro.';
	_LANG[28] = 'Dziękujemy za oddanie głosu.';
	_LANG[29] = 'Twoje konto jest zablokowane.';
	_LANG[30] = 'Komentarz został zgłoszony do moderacji. Dziękujemy.';
	_LANG[31] = 'Hasło zostało zmienione poprawnie.';
	_LANG[32] = 'Zmiana hasła nie udała się, nowe hasło musi być poprawnie wpisane dwa razy.';
	_LANG[33] = 'Zmiana hasła nie udała się, podane hasło jest nieprawidłowe.';
	_LANG[34] = 'Formularz został wysłany. Dziękujemy.';
	_LANG[35] = 'Nie możesz dodać kolejnego prywatnego forum.<br />Przekroczyłeś dozwoloną liczbę forów.';
	_LANG[35] = 'Dodano nowy element do listy ulubionych.';
	_LANG[36] = 'Usunięto element z listy ulubionych.';
	_LANG[37] = 'czy potwierdzasz usunięcie forum?';
	_LANG[38] = 'czy potwierdzasz usunięcie wpisu?';
	_LANG[39] = 'czy usunąć element z listy ulubionych?';
	_LANG[40] = 'czy usunąć użytkownika z listy znajomych?';
	_LANG[41] = 'czy napewno chcesz odrzucić to zaproszenie?';
	_LANG[42] = 'Gratulujemy dołączenia do społeczności RMF MAXXX. Wybraną przez Ciebie nagrodę wyślemy pocztą na podany adres po sprawdzaniu czy spełniasz wymogi regulaminu konkursu.';
	_LANG[43] = 'czy potwierdzasz usunięcie zdjęcia?';
	_LANG[44] = 'czy potwierdzasz usunięcie galerii?';
	_LANG[45] = 'Proszę nie używać wulgaryzmów.';
	_LANG[46] = 'Proszę uzupełnić poprawnie wszystkie pola.';
	_LANG[47] = 'Czy chcesz wziąć udział w konkursie?';
	_LANG[48] = 'Twoje zgłoszenie do konkursu zostało przyjęte.';
	_LANG[49] = 'Przepraszamy, termin nadsyłania zgłoszeń konkursowych upłynął dnia 2008-11-16.';
	_LANG[50] = 'Twoje zaproszenie czeka na akceptację użytkownika.';
	_LANG[51] = 'Ten użytkownik jest już w gronie Twoich znajomych.';
	_LANG[52] = 'Odrzucono Twoje zaproszenie przyjęcia użytkownika do grona znajomych.';
	_LANG[53] = 'Dodałeś nowego znajomego.';
	_LANG[54] = 'Usunięto użytkownika z listy Twoich znajomych.';
	_LANG[55] = 'Odrzucono zaproszenie.';
	_LANG[56] = 'Zaproszenie zostało wysłane do użytkownika.';
	_LANG[57] = 'Błąd wysłania zaproszenia, spróbuj za chwilę ponownie.';
	_LANG[58] = 'Proszę podać kryteria wyszukiwania.';
	_LANG[59] = 'Błąd zapisu. Istnieje już forum o podanej nazwie.';
	
	_LANG[80] = 'Już zagłosowałeś, można głosować tylko na jeden film.'; /* jumpstyle */
	_LANG[81] = 'Głosowanie rozpoczyna się o godzinie 12.00';
	_LANG[82] = 'Głosowanie zakończone, wkrótce zostaną opublikowane wyniki konkursu.';
	
	_LANG[70] = 'Twoje typowanie zostało zapisane. Dziękujemy.';
	_LANG[71] = 'Już oddałeś swój typ na najbliższą listę hop bęc.';
	_LANG[72] = 'Lista powinna zawierać 20 utworów, popraw proszę typowanie.';
	_LANG[73] = 'Przepraszamy, ale wystąpił problem przy zapisie typowania.';
	_LANG[74] = 'Musisz być zalogowany żeby typować.';
	
	_LANG[100] = 'Proszę uzupełnić wymagane pola.';
	
	_LANG[200] = 'Ten kod został już wykorzystany';
	_LANG[201] = 'Podany kod jest nieprawidlowy';
	_LANG[202] = 'Prosimy spróbować później';
	_LANG[203] = 'Oczekuj przesyłki pocztowej która zostanie dostarczona na adres podany w profilu w ciągu 40 dni';
	_LANG[204] = 'Już podawałeś kod';
	_LANG[205] = 'Niestety ktoś był szybszy, wybierz inną nagrodę';
	
	_LANG[501] = "Wiadomość została wysłana.";
	_LANG[502] = "Musisz uzupełnić wszystkie pola formularza.";
	_LANG[503] = "Musisz się zalogować.";
	_LANG[504] = "Przepraszamy, w trakcie wysyłki wystąpił nieznany błąd.";
	_LANG[505] = "Czy na pewno chcesz bezpowrotnie usunąć wybraną wiadomość?";
	
	_LANG[521] = "Musisz się zalogować.";
	_LANG[522] = "Przepraszamy, wystąpił błąd w trakcie przesyłania danych. Prosimy spróbować ponownie później.";
	_LANG[523] = "Musisz uzupełnić nazwę skróconą.";
	_LANG[524] = "Nazwa skrócona może się składać jedynie z liter alfabetu łacińskiego oraz cyfr i musi mieć od 3 do 6 znaków.";
	_LANG[525] = "Musisz uzupełnić nazwę miejsca.";
	_LANG[526] = "Nazwa miejsca może mieć maksymalnie 255 znaków.";
	_LANG[527] = "Musisz wybrać ikonkę miejsca.";
	_LANG[528] = "Musisz zaznaczyć miejsce na mapie.";
	_LANG[529] = "Nie udało się odnaleźć podanego adresu.";
	_LANG[530] = "Nie możesz przypisać takiej samej nazwy skróconej kilku miejscom.";
	_LANG[531] = "Limit zdefiniowanych miejsc został osiągnięty. Aby dodać kolejną lokalizację, musisz najpierw usunąć jedną z już istniejących.";
	_LANG[532] = "";
	
	_LANG[601] = "Czy na pewno chcesz usunąć swoje konto?";
	_LANG[602] = "Link potwierdzający został wysłany na podany adres.";
	_LANG[603] = "Twoje konto zostało bezpowrotnie usunięte.";
	_LANG[604] = "Link potwierdzający uległ przedawnieniu.";
	_LANG[605] = "Błędny link potwierdzający.";
	_LANG[606] = "Brak danych o użytkowniku.";
	

	_LANG[1100] = "Logowanie z tego numeru IP zostało zablokowane na 30 minut ze względu na dużą liczbę niepoprawnych logowań.";
	_LANG[1101] = "Logowanie na to konto zostało zablokowane na 15 minut z powodu trzech niepoprawnych prób zalogowania.";
	

/* File: maxxx.fbconnect.js (modyfikacja: 2010-08-17 16:50:55 */ 

var FacebookConnectInstance = true;
var FacebookConnectRequirePermissions = 'publish_stream,offline_access,email,status_update,user_birthday,user_hometown,user_online_presence';


var FacebookConnect = {
  init: function() {
    FB.init("16a25c823936a662a7bbd51a4e5d59aa", "/xd_receiver.htm", {"reloadIfSessionStateChanged":true}); 

    
    if ($('#efbcc')[0]) {
      permDialog();
    }
    
		$(".fb-share-lnk").bind("click", function() {
		  return FacebookConnect.publish_feed($(this).parent().attr('id'));
		});
  
  },
  onconnected: function() {
  },
  publish_feed: function(eq) {
    var ftitle = $('#'+eq+' .feed-title').html();
    var furl = $('#'+eq+' .feed-title').attr('href');
    var fat = $('#'+eq+' .feed-attachment').html();
    FB.Connect.streamPublish('lubi: "' + ftitle + '" na: '+furl, fat,null,null,null,null,true);
    
    

    return false;
  },
  permission_dialog: function() {
    FB.Connect.showPermissionDialog(FacebookConnectRequirePermissions, function(permission_status) {
      if (!permission_status) {
        FacebookConnect.permission_dialog();
      } else {
        document.location.href='/facebook-connect/authorize';
      }

    } );
  },
  onlogin: function() {
    FacebookConnect.permission_dialog();
  },
  permission_dialog_merge: function() {
    FB.Connect.showPermissionDialog(FacebookConnectRequirePermissions, function(permission_status) {
      if (!permission_status) {
        FacebookConnect.permission_dialog_merge();
      } else {
        document.location.href='/facebook-connect/merge';
      }

    } );
  },
  onmerge: function() {
    FacebookConnect.permission_dialog_merge();
  }
};
/* File: _netizens.js (modyfikacja: 2010-08-24 21:50:04 */ 



var config =
{
}

var main = {
	/* operacje wykonywane po zaldowaniu dokumentu */
	
	init: function() {
		
		// bazowy URL strony
		config.base_url = location.href.match(/^(http:\/\/[^\/]*\/)/)[1];
	
		// konfiguracja AJAX-a
		$.ajaxSetup({
			cache: false
		});
		
		/* nadanie linkom zewnetrznym atrybutu target="_blank" */
		main.external_links();

		/* ustawienie overlay'a */
		Overlay.init();
		
		/* Ustawienie pozycji elementow na warstwie */
		Warstwa.init();
		
		/* inicjalizacja komunikatów */
		Komunikaty.init();
				
		/* Logowanie */
		
		Logowanie.init();
		
		/* Rejestracja */
		Rejestracja.init();
		
		/* HopBec */
		HopBec.init();
		HopBec.dzwonki();
				
		/* wlaczenie lightboxa */
		LightBox.init();
		
		/* Wyszukiarka */
		Wyszukiwarka.init();
		
		/* Zakladki */
		Zakladki.init();
		
		/* dodawanie galerii i nowych zdjec */
		Galerie.init();
		
		/* popupy dla radia/tv */
		Popupy.init();
		
		/* Wybór lokalizacji */
		Lokalizacja.init();
		
		/* Blogi */
		Blog.init();
		
		/* Wiadomosci */
		Wiadomosci.init();
		
		/* Prywatne Fora */
		PrywatneFora.init();
		
		/* Maxxxymalne przegiecie */
		MaxxxymalnePrzegiecie.init();
		
		/* Miejsca (geolokalizacja) */
		Miejsca.init();
		
		/* Profil użytkownika */
		Profil.init();
		
		/* Profil boczny użytkownika */
		ProfilBoczny.init();
		
		/* Znajomi */
		Znajomi.init();
		
		/* Ulubione */
		Ulubione.init();
		
		/* Społeczność */
		Spolecznosc.init();
		
		/*JumpStyle konkurs */
		JumpStyle.init();
		
		
		/* Najnowsze lub najpopularniejsze: zdjecia, blogi, fora */
		NowePopularne.init();
		
		/* KontenetyPremium */
		KontenetyPremium.init();
		/* Konkursy */
		Konkursy.init();
		
		/* Djet konkurs */
		Djet.init();
		if (_ZALOGOWANY != 1) {
      $('.adcom').html('<h2>Dodaj komentarz</h2><div style="background-color: #000;color: gray;">Zaloguj się w serwisie aby dodać komentarz.</div>');
    }
// {{{ dev		
//ProfilEdycja.init();


	},
	
	// przewija stronę na samą górę (bez użycia "#")
	scrollToTop: function() {
		$(document).scrollTop(0);
	},
	
	/* nadanie linkom zewnetrznym atrybutu target="_blank" */
	external_links: function() {
		$('a.external').each( function(i) {
			this.target = "_blank";
		});
	}
	
}; 

var Konkursy = {

	init: function(){
		
	}	
	
}

var JumpStyle = {
	
	init: function(){
		
		
		if( _CONTROLLER != "konkursy" ){
			return false;
		}
		
		var c = $("#konkurs_jumpstyle");
				
		// przycisk dodawania dobiorcy
		c.find("#film_dodaj_nowy").click(function(e) {
			JumpStyle.dodaj();
			return false;
		});
		
		$('.uln li').hover(
			function(){
				$(this).addClass('ulnlihover');
			},
			function(){
				$(this).removeClass('ulnlihover');
			}
		);
				
		
	},
	dodaj: function(){
		var c = $("#konkurs_jumpstyle");
		
		// sklonowanie pola dodawania odbiorcy
		var ostatnie_pole = c.find(".film_link:last");
		var ostatnie_pole_input = ostatnie_pole.find("input");
		var nowe_pole = ostatnie_pole.clone();
		var nowe_pole_input = $(nowe_pole).find("input");
		
		
		// zmiana atrybutów pola
		nowe_pole_input.attr("tabindex", ostatnie_pole_input.attr("tabindex")+1);
		nowe_pole_input.attr(
			"name",
			"film["+(ostatnie_pole_input.attr("name").match(/film\[([0-9]+)\]/)[1]/1+1)+"]"
		);
		nowe_pole_input.attr(
			"id",
			"film-"+(ostatnie_pole_input.attr("id").match(/film-([0-9]+)/)[1]/1+1)
		);
		nowe_pole.find("label").attr(
			"for",
			"film-"+(ostatnie_pole.find("label").attr("for").match(/film-([0-9]+)/)[1]/1+1)
		);
		// wyczyszczenie pola
		nowe_pole_input.val("");
		// usunięcie ewentualnego komunikatu błędu
		nowe_pole.find("span").remove();
		
		// usunięcie ze stargo pola przycisku "dodaj odbiorcę"
		$(ostatnie_pole).find("#film_dodaj_nowy").remove();
		
		// dodanie nowego pola
		$(nowe_pole).insertAfter(ostatnie_pole);
		
		// przechwycenie kliknięcia w link "dodaj odbiorcę"
		$(nowe_pole).find("#film_dodaj_nowy").click(function(e) {
			JumpStyle.dodaj();
			return false;
		});
		
		// zwiększenie licznika odbiorców
		Wiadomosci.ile_odbiorcow++;
		
		// jeśli osiągnięto max liczbę odbiorców, to ukrycie przycisku
		if (Wiadomosci.ile_odbiorcow >= Wiadomosci.max_odbiorcow) {
			$(this).hide();
		}
	}
}

var KontenetyPremium = {

	init: function(){
		
		var checkbox = $('.premium-checkbox').get(0);
		
		if( checkbox ){
			
			$('.premium-checkbox').click( function () {
				var parent = $(this).parents('form');
				parent.submit();
			} );
			
		}
	
	}
}

var Ulubione = {

	init: function(){
		
		if( _CONTROLLER != "ulubione" ){
			return false;
		}
				
		var pokarz_tooltip;
		var id_t = '';
		
		/*ulubione programy */
		$('.sklli').hover(
			function(){
				id_t = this.id;
				pokarz_tooltip = window.setTimeout(function(){
					$('#'+id_t).addClass('skllihover');
					$('#'+id_t+' .chm').css({position:'absolute'});
				},5);
			},
			function(){
				clearTimeout(pokarz_tooltip);
				$('#'+id_t).removeClass('skllihover');
			}
		);
		
		var pokarz_tooltip2;
		var id_t2 = '';
		
		/* ulubieni DJ-e */
		$('.ulvli').hover(
			function(){
				id_t2 = this.id;
				pokarz_tooltip2 = window.setTimeout(function(){
					$('#'+id_t2).addClass('ulvlihover');
					$('#'+id_t2+' .chm').css({position:'absolute'});
					window.setTimeout(function(){
						$('#'+id_t2+' .chm-dzb').css({position:'absolute'});
					},6);
				},5);
			},
			function(){
				clearTimeout(pokarz_tooltip2);
				$('#'+id_t2).removeClass('ulvlihover');
			}
		);
	}
}

var Znajomi = {

	init: function(){
		if( _CONTROLLER != "znajomi" ){
			return false;
		}
				
		var pokarz_tooltip;
		var id_t = '';
		
		/* lista znajomych */
		$('.ulvli').hover(
			function(){
				id_t = this.id;
				pokarz_tooltip = window.setTimeout(function(){
					$('#'+id_t).addClass('ulvlihover');
					$('#'+id_t+' .chm').css({position:'absolute'});
				},5);
			},
			function(){
				clearTimeout(pokarz_tooltip);
				$('#'+id_t).removeClass('ulvlihover');
			}
		);
			
	}
}

var ProfilBoczny = {
	
	init: function(){
		
		if( $('#opis_m')[0] ){
			
			$('#opis_toggle').toggle(
				function () {
					$('#opis_m').hide();
					$('#opis_d').show();
					$(this).html('[-]');
					return false;
				},
				function () {
					$('#opis_d').hide();
					$('#opis_m').show();
					$(this).html('[+]');
					return false;
				}
		    );
		}
		
		// mapa geolokalizacji
		if ( !$("#profil_uzytkownika").get(0) && $("#gmaps_miejsca").get(0) ) {
			var wspolrzedne = $("#gmaps_miejsca").attr("rel").match(/^wsp\[([^\]]+)\]\[([^\]]+)\]$/);
			if ( wspolrzedne ) {
				var GMapMiejsca = new GMaps("gmaps_miejsca", false, false);
				var punkt = new GLatLng(wspolrzedne[1], wspolrzedne[2]);
				GMapMiejsca.map.setCenter(punkt, 14);
				GMapMiejsca.map.addOverlay(new GMarker(punkt));
				
				$("p.miejsce .more-y")
					.click(function() {
						$("#gmaps_miejsca").parent(".mapa").slideToggle( function() {
							GMapMiejsca.map.checkResize();
							GMapMiejsca.map.setCenter(punkt, 14);
							}
						);
						return false;
					})
					.toggle(
						function () {
							$(this).html("[-]");
							$(this).attr("title", "zwiń");
						},
						function () {
							$(this).html("[+]");
							$(this).attr("title", "rozwiń");
						}
					);
			}
		}
	}

}

var MaxxxymalnePrzegiecie = {

	init: function(){
		
		if( _CONTROLLER != "maxxxymalne-przegiecie" ){
			return false;
		}
		
		if( $('#nagroda')[0] ){
			var nagroda = $('#nagroda').val();
			if( nagroda == "KU"){
				$('#koszulka').hide();
			}
			$('#nagroda').change( function(){
				var wartosc = $(this).val();
				if( wartosc == 'KU' ){
					$('#koszulka').hide('slow');
				}
				else{
					$('#koszulka').show('slow');
				}
			});
		}
	}
}

var Blog = {
	
	init: function(){
		if( _CONTROLLER != "blog" ){
			return false;
		}

		/* blad w dodawaniu wpisu */
		var isIssetKey = $.cookie('blogerr');
		if( isIssetKey > 0 ){
			$.cookie('blogerr', null, { path: '/' });
			Komunikaty.pokaz("ok", _LANG[isIssetKey], function() {
				$('#nowy_post').trigger('click');
			});
		}
				
		/* uruchomienie edytora tekstu */
		$("textarea#tresc").netiRte({
			allowedTags: "<b>,<i>,<strong>,<em>",
			inheritStyles: false,
			bodyStyles: {
				"font-family": "Arial,Helvetica,sans-serif",
				"font-size": "12px",
				"margin-top": "0",
				"background-color": "#171717"
			},
			toolbarSelector: ".reach-text-edit"
		});
		
		/* dodanie nowego wpisu */
		$('#nowy_post').click(function(){
			
			$('#overlay').show();				
			$('#dodaj_post').show();
			
			var window_size = getInnerDimensions();
			var wysokosc_okna = window_size[1];
				
			var wysokosc_okna_komunikatu = $('#dodaj_post').height();
			var top = (wysokosc_okna - wysokosc_okna_komunikatu) /2;
			
			$('#dodaj_post').animate({ top: top+"px"  }, 500 );
		});
		
		$('#edytowanie_post').click(function(){
			
			$('#overlay').show();				
			$('#edytuj_post').show();
			
			var window_size = getInnerDimensions();
			var wysokosc_okna = window_size[1];
				
			var wysokosc_okna_komunikatu = $('#edytuj_post').height();
			var top = (wysokosc_okna - wysokosc_okna_komunikatu) /2;
			
			$('#edytuj_post').animate({ top: top+"px"  }, 500 );
		});
		
				
		/* zapisanie nowego posta */
		$('#zapisz_post').click(function(){
			var tytul = $('#dodaj_post').find('[@name=tytul]').val();
			var tresc = $('#tresc').netiRteVal();
						
			if( tytul && tresc ){
				$('#dodaj_post_form').submit();				
			}
			else{
				/* proszę podać treść bloga */
				$('#dodaj_post .error > p').html(_LANG[46]);
				$('#dodaj_post .error').show('slow');
				//$('#blog_tytul').addClass('err');
							
				window.setTimeout(function(){
					$('#blog_tytul').removeClass('err');
					$('#dodaj_post .error').hide('slow');
					$('#dodaj_post .error > p').html('');
				},5000);
			}
		});


		/* edytowanie posta */
		$('#zapisz_edytowany_post').click(function(){
			var tytul = $('#edytuj_post').find('[@name=tytul]').val();
			var tresc = $('#tresc').netiRteVal();
						
			if( tytul && tresc ){
				$('#edytuj_post_form').submit();				
			}
			else{
				/* proszę podać treść bloga */
				$('#edytuj_post .error > p').html(_LANG[46]);
				$('#edytuj_post .error').show('slow');
				//$('#blog_tytul').addClass('err');
							
				window.setTimeout(function(){
					$('#blog_tytul').removeClass('err');
					$('#edytuj_post .error').hide('slow');
					$('#edytuj_post .error > p').html('');
				},5000);
			}
		});


		
        // usuwanie komentarza
        $(".usun_komentarz").click(function () {
          Komunikaty.pokaz('confirm', 'Czy na pewno chcesz usunąć ten komentarz?', $(this).attr('href'));
          return false;
        });
		
	}
}

var PrywatneFora = {

	init: function(){
	
		if( _CONTROLLER != "prywatne-fora" ){
			return false;
		}
		
		/* hover dla listy prywatnych for */
		$('.fora .ffc li').hover(
			function(){
				$(this).addClass("hi");
			},
			function(){
				$(this).removeClass("hi");
			}
		);
		
		/* dodanie nowego forum */
		$('#nowe_forum').click(function(){
			
			$('#overlay').show();				
			$('#dodaj_forum').show();
			
			var window_size = getInnerDimensions();
			var wysokosc_okna = window_size[1];
				
			var wysokosc_okna_komunikatu = $('#dodaj_forum').height();
			var top = (wysokosc_okna - wysokosc_okna_komunikatu) /2;
			
			$('#dodaj_forum').animate({ top: top+"px"  }, 500 );
		});
		
		/* zapisanie nowego forum */
		$('#zapisz_forum').click(function(){
			var tytul = $('#dodaj_forum').find('[@name=forum_name]').val();
			var eer = false;		
			if( tytul ){
							
			}
			else{
			  eer = true;	
				/* proszę podać treść bloga */
				$('#dodaj_forum .error > p').html(_LANG[100]);
				$('#dodaj_forum .error').show('slow');
				$('#forum_nazwa').addClass('err');
							
				window.setTimeout(function(){
					$('#forum_nazwa').removeClass('err');
					$('#dodaj_forum .error').hide('slow');
					$('#dodaj_forum .error > p').html('');
				},5000);
			}
			
			var kategoria = $('#dodaj_forum').find('[@name=forum_category]').val();

			if( parseInt(kategoria) > 0 ){
							
			}
			else{
			  eer = true;	
				/* proszę podać treść bloga */
				$('#dodaj_forum .error > p').html(_LANG[100]);
				$('#dodaj_forum .error').show('slow');
				$('#forum_kategoria').addClass('err');
							
				window.setTimeout(function(){
					$('#forum_kategoria').removeClass('err');
					$('#dodaj_forum .error').hide('slow');
					$('#dodaj_forum .error > p').html('');
				},5000);
			}
			
			if (eer == false) {
        $('#dodaj_forum_form').submit();	
      }
			
		});
		


				
	}

}

var Lokalizacja = {
	init: function(){
		
		var lokalizacja = $.cookie('lokalizacja');
		
		$('#tm-lista-zamknij').click(function(){
			if( _ZALOGOWANY ){
				if( lokalizacja > 1 ){
					$('#tm').addClass('wybierz close').removeClass('open');
				}
				else{
					
					$('#tm').addClass('wybierz').removeClass('open');
				}
			}
			else{
				if( lokalizacja > 1 ){
					$('#tm').addClass('close').removeClass('open');
				}
				else{
					$('#tm').addClass('wybierz').removeClass('open');
				}
			}
			return false;
		});
		
		$('#tm-wybierz a').click(function(){
			$('#tm').addClass('open').show('slow');
		});
		
		$('#tm-lista li > a').click(function(){
			var id = this.id;
			id = id.substring(2);
			$.cookie('lokalizacja', id, { path: '/' });
			
			/* plomba dla akcji zobacz */
			if( _ACTION == "zobacz" ){
				document.location.href = _WEBROOT+'/'+_CONTROLLER+'/lista/';
			}
			else{
				document.location.reload();
			}
			
		});


        $('#lokalizacja').change(function(){
            var id = $(this).find(':selected').val();
            //id = id.substring(2);
            $.cookie('lokalizacja', id, { path: '/' });
            
            /* plomba dla akcji zobacz */
            if( _ACTION == "zobacz" ){
                document.location.href = _WEBROOT+'/'+_CONTROLLER+'/lista/';
            }
            else{
                document.location.reload();
            }
            
        });
        
        $(".program").mouseover(function (e) {
            xOffset = 10;
            yOffset = 10;
            $(".tooltip-ramowka").html('');
            
            var zawartosc_tooltipa = $(this).find('span').html();
        
	        $(".tooltip-ramowka")
	            .append(zawartosc_tooltipa)
	            .css("top",(e.pageY - xOffset) + "px")
	            .css("left",(e.pageX + yOffset) + "px")
	            .fadeIn("fast");
        }).mouseout(function () {
            $(".tooltip-ramowka").hide();
        });



		$('#z-m').click(function(){
			$('#tm').removeClass('close').addClass('open').show('slow');
		});
						
		if( lokalizacja > 1 ){
			$('#tm-miasto').show();
		}

		var link = _CONTROLLER;
				
		$('#ttm2').click(function(){
			
			$.cookie('l_polska', 1, { path: '/' });
			if (link == null) {
				Lokalizacja.reload();
			}
			else {
				window.location = _WEBROOT+'/'+link+'/'+_ACTION+'/';
			}
		});
		
		$('#ttm1').click(function(){
			$.cookie('l_polska', null, { path: '/' });
					
			if (link == null) {
				Lokalizacja.reload();
			}
			else {
				window.location = _WEBROOT+'/'+link+'/'+_ACTION+'/';
			}
		});
	},
	
	reload: function(){
		if( _CONTROLLER != 'index' && _ACTION != 'zobacz' ){
			document.location.href = _WEBROOT+'/'+_CONTROLLER+'/'+_ACTION+'/1';
		}
		else{
			document.location.reload();
		}
	}
}

var Popupy = {
	init: function(){
		// tv
		$("#m4> a").click(function(e){
			e.preventDefault();
			width = 540;
			height = 540;
			parameters = "location=" + this.href + ",menubar=0,height="+height+",width="+width+",toolbar=0,scrollbars=0,status=0,resizable=1,left="+(screen.width-width)/2+",screenX=" + (screen.width-width)/2 + ",top=" + (screen.height-(height + 110))/2  + ",screenY=" + (screen.height-(height + 110))/2;
			window.open(this.href, 'Radio', parameters).focus();
		})
		$("#footer_tvpop").click(function(e){
			e.preventDefault();
			width = 540;
			height = 540;
			parameters = "location=" + this.href + ",menubar=0,height="+height+",width="+width+",toolbar=0,scrollbars=0,status=0,resizable=1,left="+(screen.width-width)/2+",screenX=" + (screen.width-width)/2 + ",top=" + (screen.height-(height + 110))/2  + ",screenY=" + (screen.height-(height + 110))/2;
			window.open(this.href, 'Radio', parameters).focus();
		})
	}
}


var HopBec = {
	id: null,
	pom: null,
	
	init: function(){
	
		if( _CONTROLLER != "hopbec" ){
			return false;
		}
		
		/* typowanie listy hop bec */
		HopBec.typowanie();
		
		/* hover na liscie notowania i propozycji */
		HopBec.pokaz_hover();
		var wysylanie = false;
		
		/* ukrycie wylotow i linku do typowania */
		$("#wyloty, .zglos_typ_listy, .h2-wyloty").hide();
		$(".zglos_typ_txt").hide();
		
		$('.hop, .bec').click(function(){
			HopBec.id = this.id;
			var id = HopBec.id;
			
			HopBec.pom = id.split('_');
			
			HopBec.pokaz_okno(id);
			return false;
		});
		
			$('#glosuj').click(function(){
			
				if( wysylanie ){
					return false;
				}
				
				var pom = HopBec.pom;
				
				var validacja = true;
				var numer_telefonu = $('#hopbec_okno').find('[@name=nr_tel]').val();
				var uzasadnienie = $('#hopbec_okno').find('[@name=uzasadnienie]').val();
				var captcha_glosuj = $('#hopbec_okno').find('[@name=captcha_glosuj]').val();
								
				if( !numer_telefonu ){
					$('#tel_nr_li').addClass('err');
					validacja = false;
					window.setTimeout(function(){
						$('#tel_nr_li').removeClass('err');
					},5000);
				}
				if( !uzasadnienie ){
					$('#uza_li').addClass('err');
					validacja = false;
					window.setTimeout(function(){
						$('#uza_li').removeClass('err');
					},5000);
				}
				if( !captcha_glosuj ){
					$('#cap_li').addClass('err');
					validacja = false;
					window.setTimeout(function(){
						$('#cap_li').removeClass('err');
					},5000);
				}
				if( !validacja ){
						
					$('#hopbec_okno .error > p').html(_LANG[8]);
					$('#hopbec_okno .error').show('slow');
					
					window.setTimeout(function(){
						$('#hopbec_okno .error').hide('slow');
						$('#hopbec_okno .error > p').html('');
					},5000);
					
					return false;
				}
				else{
					/* ok */
					var kierunek = 'BEC';
					if( pom[1] == 'h'){
						kierunek = 'HOP';
					}
					
					$('#hopbec_okno .error').hide();
					$('#hopbec_okno .error > p').html('');
					
					wysylanie = true;
					
					$.ajax({
					   type: "POST",
					   url: _WEBROOT+"/hopbec/glosuj/",
					   data: "numer_telefonu="+numer_telefonu+"&uzasadnienie="+uzasadnienie+"&captcha_glosuj="+captcha_glosuj+"&kierunek="+kierunek+"&utwor_id="+pom[2]+'&typ='+pom[0],
					   success: function(msg){
					  	 			 			 			
						 if(msg == 28){
							/* oddano głos */
							$('#succ_glo > p').html(_LANG[msg]);
							$('#hopbec_okno ul > li').hide();
							$('#succ_glo').show('slow');	
							window.setTimeout(function(){
								$('#hopbec_okno').animate({ top: "-700px"  }, 500 );
								$('#overlay').hide();
								
								window.setTimeout(function(){
									$('#hopbec_okno ul > li').show();
									$('#succ_glo').hide();
									$('#hopbec_okno .error').hide();
									
									$('#nr_tel').val('');
									$('#uzasadnienie').val('');
									$('#captcha_glosuj').val('');
									$('#hopbec_okno .i p').html('');
									$('#hopbec_okno .i span').html('');
									$("#captcha_img").attr({ 
							          src: '/securimage/captcha.php?losowa='+Math.round(1000*Math.random())
							        });
									$("#captcha_glosuj").attr({ 
							          value: ''
							        });

								},550);		
																
							},7000);
						 }
						 else{
							 $('#hopbec_okno .error > p').html(_LANG[msg]);
							 $('#hopbec_okno .error').show('slow');
							 window.setTimeout(function(){
							 	$('#nr_tel').val('');
								$('#uzasadnienie').val('');
								$('#hopbec_okno .error').hide('slow');
								$('#hopbec_okno .error > p').html('');
								$("#captcha_img").attr({ 
							          src: '/securimage/captcha.php?losowa='+Math.round(1000*Math.random())
							        });
								$("#captcha_glosuj").attr({ 
						          value: ''
						        });
							 },5000);
						 }
						 
						 wysylanie = false;
						 
					   }
					});
				}
				
				return false;
			});
			
	},
	pokaz_hover: function(){
		var pokarz_tooltip;
		var pokarz_tooltip2;
		var de;
		var id_t = '';
		var lobj = '';
		var obj = '';
		var chm = '';
		var cho = '';
		var pids = '';
		
		/* lista hop bec */
		$('.hbcli .mask').hover(
			function(){
        pids = this.id.replace('pold', 'old');
				obj = $('#'+this.id.replace('pold', 'old'));
				chm = '#'+this.id.replace('pold', 'old')+' .chm';
				clearTimeout(pokarz_tooltip);
				$('.hbc .hbornghover').removeClass('hbornghover');
				$('.hbc .hbclihover').removeClass('hbclihover');
				pokarz_tooltip = window.setTimeout(function(){
					$('#'+pids).addClass('hbclihover');
					$(chm).css({position:'absolute'});
				},500);
						
			},
			function(){
				clearTimeout(pokarz_tooltip);
				//$('#'+pids).removeClass('hbclihover');
			}
		);
		
		$('.hbcli .orngl').hover(
			function(){
			 gg();
			// if (pids != this.id.replace('gold', 'old')) {
        pids = this.id.replace('gold', 'old');
				obj = $('#'+this.id.replace('gold', 'old'));
				chm = $('.cho', this.id.replace('gold', 'old'));
				clearTimeout(pokarz_tooltip2);
				$('.hbc .hbclihover').removeClass('hbclihover');
				$('.hbc .hbornghover').removeClass('hbornghover');
				pokarz_tooltip2 = window.setTimeout(function(){
					$('#'+pids).addClass('hbornghover');
					$('#'+pids).addClass('hbclihover');
					$(this).css({position:'absolute'});
				},500);
				//		}
			},
			function(){
			if (pids != this.id.replace('gold', 'old')) {
				clearTimeout(pokarz_tooltip2);
				}
				//$('#'+pids).removeClass('hbclihover');
			}
		);
		

		/* propozycje hop bec */
		$('.hbpli .mask').hover(
			function(){

				obj = '#'+this.id.replace('pold','new');
				$(lobj).removeClass('hbplihover');
				chm = '#'+this.id.replace('pold','new') + ' .chm';
				clearTimeout(pokarz_tooltip);
				pokarz_tooltip = window.setTimeout(function(){
					$(obj).addClass('hbplihover');
					$(chm).css({position:'absolute'});
				},500);
			},
			function(){
				clearTimeout(pokarz_tooltip);
				lobj = obj;
				de = setTimeout(gg,2200);
			}
		);
		
		function gg() {
    $(lobj).removeClass('hbplihover');
    clearTimeout(de);
    }
		
		
		$('.hbpli .orngl').hover(
			function(){
        pids = this.id.replace('pold', 'new');
				obj = $('#'+this.id.replace('pold', 'new'));
				chm = $('.cho', this.id.replace('pold', 'new'));
				clearTimeout(pokarz_tooltip2);
				$('.hbp .hbplichover').removeClass('hbplichover');
				$('.hbp .hbornghover').removeClass('hbornghover');
				pokarz_tooltip2 = window.setTimeout(function(){
					$('#'+pids).addClass('hbornghover');
					$('#'+pids).addClass('hbplichover');
					$('#'+pids).addClass('hbplihover');
					$('#'+pids+ ' .pt').show();
					//$('#'+pids).removeClass('hbplihover');
					//$(chm).css({position:'absolute'});
				},500);
						
			},
			function(){
			/*
			    $('#'+pids+ ' .pt').hide();
					$('#'+pids).removeClass('hbornghover');
					$('#'+pids).removeClass('hbplichover');
					$('#'+pids).removeClass('hbplihover');
				clearTimeout(pokarz_tooltip2);
				*/
			//					$('.hbp .hbplichover').removeClass('hbplichover');
			//	$('.hbp .hbornghover').removeClass('hbornghover');
			//	$('#'+pids).removeClass('hbplihover');
			}
		);		
		
		
		$('.hbpli .pt').hover(
			function(){

						pids = this.id.replace('nold', 'new');
			},
			function(){

			    $('#'+pids+ ' .pt').hide();
					$('#'+pids).removeClass('hbornghover');
					$('#'+pids).removeClass('hbplichover');
					$('#'+pids).removeClass('hbplihover');
				clearTimeout(pokarz_tooltip2);

			}
		);
		
	},
	
	ukryj_hover: function(){
		$('.hbcli, .hbpli').unbind();
	},
	
	pokaz_okno: function(id){
			
		var id = id;
		var pom = id.split('_');
		var txt = 'Głosujesz na';
		if( pom[1] == 'h'){
			/* hop */
			txt = txt + ' <i>HOP</i> na utwór: ';
		}
		else{
			/* bec */
			txt = txt + ' <i>BĘC</i> na utwór: ';
		}
		
		$('#hopbec_okno .i p').html(txt);
		if(pom[0] == 'p') {
			$('#hopbec_okno .i span').html(SONGS_P[pom[2]]);
		} else {
			$('#hopbec_okno .i span').html(SONGS[pom[2]]);
		}
		//('#hopbec_okno .i span').html(SONGS[pom[2]]);
		$('#overlay').show();				
		$('#hopbec_okno').show();
		
		var window_size = getInnerDimensions();
		var wysokosc_okna = window_size[1];
		var wysokosc_okna_logowania = $('#hopbec_okno').height();
		var top = (wysokosc_okna - wysokosc_okna_logowania) /2;
		$('#hopbec_okno').animate({ top: top+"px"  }, 500 );
	},
	
	dzwonki: function(){
	
		if( _CONTROLLER != "hopbec" ){
			return false;
		}
		
		/* dzwonki na liscie hop bec */
		$('.hbdz').click(function(){
			var tmp = this.id;
			var pom = tmp.split('_');
			
			$('#d_mp3').show();
			$('#d_poli').show();
									
			if(pom[0] == 'p'){
				$('#dzwonek h4').html(SONGS_P[pom[1]]);
			}
			else{
				$('#dzwonek h4').html(SONGS[pom[1]]);
			}
			
				
			if( pom[2] > 0 ){
				/* poli */
				$('#d_poli .txt > strong').html('AAHB.0'+pom[2]);
				$('#fcpoli').html('');
				var flash = '<embed height="45" width="121" flashvars="nazwa=POLI&id='+pom[2]+'" menu="false" wmode="transparent" quality="high" name="main" id="main" style="" src="'+_WEBROOT+'/client/swf/mp3player.swf" type="application/x-shockwave-flash"/><noscript><p><object type="application/x-shockwave-flash" data="'+_WEBROOT+'/client/swf/mp3player.swf" width="121" height="45"><param name="movie" value="'+_WEBROOT+'/client/swf/mp3player.swf" /><param name="menu" value="false" /><param name="wmode" value="transparent" /><param name="flashvars" value="nazwa=POLI&id='+pom[2]+'" /></object></p></noscript>';
				$('#fcpoli').html(flash);
			}
			else{
				$('#d_poli .txt > strong').html(' ');
				$('#fcpoli').html('');
				$('#d_poli').hide();
			}
			
			if( pom[3] > 0){
				/* mp3 */
				$('#d_mp3 .txt > strong').html('AAHB.0'+pom[3]);
				$('#fcmp3').html('');
				var flash = '<embed height="45" width="121" flashvars="nazwa=MP3&id='+pom[3]+'" menu="false" wmode="transparent" quality="high" name="main" id="main" style="" src="'+_WEBROOT+'/client/swf/mp3player.swf" type="application/x-shockwave-flash"/><noscript><p><object type="application/x-shockwave-flash" data="'+_WEBROOT+'/client/swf/mp3player.swf" width="121" height="45"><param name="movie" value="'+_WEBROOT+'/client/swf/mp3player.swf" /><param name="menu" value="false" /><param name="wmode" value="transparent" /><param name="flashvars" value="nazwa=MP3&id='+pom[3]+'" /></object></p></noscript>';
				$('#fcmp3').html(flash);
			}
			else{
				$('#d_mp3 .txt > strong').html(' ');
				$('#fcmp3').html('');
				$('#d_mp3').hide();
			}
			
			$('#overlay').show();				
			$('#dzwonek').show();
						
			var window_size = getInnerDimensions();
			var wysokosc_okna = window_size[1];
			var wysokosc_okna_logowania = $('#dzwonek').height();
			var top = (wysokosc_okna - wysokosc_okna_logowania) /2;
			$('#dzwonek').animate({ top: top+"px"  }, 500 );
		});
	},
	
	typowanie: function(){
        $('#typowanie').click( function(){
            // czy juz typowal
            if ($('#typowanie').attr('rel') == 'N') {
              Komunikaty.pokaz("ok", _LANG[71]);
              return false;
            }
        
            /* pokaz liste typowania */
            $('.hbc').hide();
            $('#lista_typowanie').show();
            
            $('#propozycje').hide();
            $('#lista_propozycji').show();
            
            /* pokaz wyloty i typowanie */
            if (_ZALOGOWANY) {
              $('.zglos_typ_listy').show();
              $(".zglos_typ_txt").show();
            }
            $('#wyloty, .h2-wyloty').show();
            $("#notowanie_tekst").hide();
            $("#typowanie_tekst").show();
            
            HopBec.ukryj_hover();
            
            $('.outList').show();
            
            HopBec.sortable_list();
            
            $('#notowanie').parent().removeClass('s');
            $(this).parent().addClass('s');
                                    
            return false;
        });
	
	   $('#typowanie_typerzy').click(function () {
	       if ($(this).attr('rel') == 'N') {
	           Komunikaty.pokaz("ok", _LANG[71]);
	       } else {
		       $.cookie('rmf_hb_typowanie', 1, { path: '/' });
		       location.href = $(this).attr('href');
	       }
	       return false;
	   });
	   
        var wysylanie = '';
        
        /* kopia listy */
        var lista = $('.hbc').clone(false);
        $(lista).insertAfter('.hbc').attr({ id: "lista_typowanie" }).hide();
        $('#lista_typowanie li').css({ cursor: "move"});
        
        /*kopia propozycji */
        var propozycje = $('#propozycje').clone(false);
        $(propozycje).insertAfter('#propozycje').attr({ id: "lista_propozycji" }).hide();
        $('#lista_propozycji li').css({ cursor: "move"});
	   
	    if ($.cookie('rmf_hb_typowanie')) {
	       $('#typowanie').trigger('click');
	       $.cookie('rmf_hb_typowanie', null, { path: '/' });
	    }
		
		if( ! $('.zglos_typ_listy').get(0) ){
			return false;
		}
		
		/* wyslanie danych do skryptu php */
		$('.zglos_typ_listy').click(function(){
						
			var Typowanie = Array();
			$('#lista_typowanie .leftList .hbcli').each(function( i ){
				var id = this.id;
				id = id.substring(3);
				Typowanie[i] = id;
			});

			if( ( $P.sizeof(Typowanie) == 20 ) && ( wysylanie == false ) ) {
				
				Typowanie = $P.serialize(Typowanie);
				wysylanie = true;
				
				$.ajax({
				    type: "POST",
				    url: _WEBROOT+"/hopbec/typuj/",
				    data: "dane="+Typowanie,
				    success: function(msg){
						wysylanie = false;
						if( msg == 70 ){
							Komunikaty.pokaz("ok", _LANG[70], _WEBROOT+'/hopbec/' );
						}
						else{
							Komunikaty.pokaz("ok", _LANG[msg] );
						}
				    },
				    error: function (XMLHttpRequest, textStatus, errorThrown) {
						Komunikaty.pokaz("ok", _LANG[73] );
						wysylanie = false;
					}
				});
				
			}
			else{
				Komunikaty.pokaz("ok", _LANG[72] );
			}
			return false;
		});
		

		
		$('#notowanie').click( function(){
			/* pokaz liste notowania */
			$('.hbc').show();
			$('#lista_typowanie').hide();
			
			$('#propozycje').show();
			$('#lista_propozycji').hide();
            
            $('#wyloty, .zglos_typ_listy, .h2-wyloty').hide();
            $("#typowanie_tekst").hide();
            $("#notowanie_tekst").show();
			
			HopBec.pokaz_hover();
			
			$('.outList').hide();
			
			$(".leftList, .propozycjeList, .outList").unbind();
			
			$(this).parent().addClass('s');
			$('#typowanie').parent().removeClass('s');
				
			return false;			
		});
					
	},
	
	niezalogowany: function () {
	    // informacja o koniecznosci zalogowania
	    $('.error > p').html(_LANG[74]);
	    $('li.error').show();
	    $('#m1').trigger('click');
	    // ukrycie error-a
        window.setTimeout(function(){
           $('#l .error').hide('slow');
           $('#l .error > p').html('');
           $('#h_').removeClass('err');
           $('#e_').removeClass('err');
        },5000);
	},
	
	sortable_list: function(){
		// lista hop bec
		$(".lewaKol").sortable({connectWith: [".prawaKol", ".outList"]});
		$(".prawaKol").sortable({connectWith: [".lewaKol", ".outList"]});
		
		// lista propozycji
		$(".propozycjeList").sortable({ 
			connectWith: [".leftList"] 
		});
		
		// lista utworow opszczajacych liste
		$(".outList").sortable({ 
			connectWith: [".leftList"] 
		});

		/* moment upuszczania elemnentu */	
		$('.leftList, .propozycjeList, .h2-wyloty, .outList').mouseup(function(){
		
		    if ( !_ZALOGOWANY ) {
                HopBec.niezalogowany();
		    }
		
			window.setTimeout( function(){
								
				$('.leftList > .hbpli .hbfr').show();

				var tagB = $('.leftList .hbpdiv').find('b');
				if (tagB.length == 0) {
				    $('<b>&nbsp;</b>').insertBefore( $('.leftList .hbpdiv .t') );
				} else {
				    tagB.show();
				}
				/* okladka po przeniesieniu z wylotow */
                $('.leftList > li > .hbpdiv > .hbfr').show();

				$('.leftList > .hbpli > div:first ').removeClass('hbpdiv').addClass('hbcdiv');
				$('.leftList > .hbpli').removeClass('hbpli').addClass('hbcli');
				
                // ustawienie 10 utworow w lewej kolumnie
                var lewaKol = $('#lista_typowanie .lewaKol');
                var prawaKol = $('#lista_typowanie .prawaKol');

                // jezeli lewa kolumna ma mniej niz 10 elementow i prawej jest przynajmniej jeden
                if (lewaKol.find('li.hbcli').length < 10 && prawaKol.find('li.hbcli').length > 0) {
                    var pierwszy = prawaKol.find('li:first');
                    pierwszy.insertAfter(lewaKol.find('li.hbcli:last'));
                } else if (lewaKol.find('li.hbcli').length > 10) {
                    var ostatni = lewaKol.find('li.hbcli:last');
                    ostatni.insertBefore(prawaKol.find('li:first'));
                }

                /* przeliczenie miejsc przy przenoszeniu do wylotow */
				var iloscUtworow = $('#lista_typowanie .leftList > li').length;
				var powiekszIndeks = $P.ceil(iloscUtworow/2);
				var prawyIndeks = 0;
				var index = 1;
				
				/* przeliczenie miejsc listy */
                $('#lista_typowanie .leftList > li').each( function( i ){
                    if( i > 19 ){
                        var wylot = $(this);
                        $(wylot).remove();
                        $(wylot).insertAfter( $('#wyloty .outList > li:first') );
                    }
                    else {
                        if (i < 10) {
                            $(this).removeClass().addClass('hbcli hb'+index);
                        } else {
                            $(this).removeClass().addClass('hopbecfr hbcli hb'+Number(index));
                        }
                    }
                    
                    index += 1;
                });
                
				/* odswierzenie styli wylotow */
				var listaWylotow = $("#wyloty .outList > li[class!=dummy]");
				if (listaWylotow.length > 0) {
					listaWylotow.each(function (i) {
					    $(this).removeClass('hbcli').addClass('hbpli');
						$(this).find('.hbcdiv').removeClass().addClass('hbpdiv');
						$(this).find('.hbpdiv > .hbfr').hide();
						$(this).find('.hbpdiv').find('b').hide();
					});
				}
				
			},20);	
						
		});
		
	}
	
}

var Zakladki = {
	init: function(){
		$("#mr> li> a")
			.click(function(e){
				e.preventDefault();
				for (var i=1; i<4; i++) {
					$("#mr"+i+"s").hide();
					$("#mr"+i).removeClass('s');
				}
				$("#"+$(this).parent('li').attr('id')+'s').show();
				$("#"+$(this).parent('li').attr('id')).addClass('s');
		});
		
		$("#mi> li> a")
			.click(function(e){
				e.preventDefault();
				for (var i=1; i<3; i++) {
					$("#mi"+i+"s").hide();
					$("#mi"+i).removeClass('s');
				}
				$("#"+$(this).parent('li').attr('id')+'s').show();
				$("#"+$(this).parent('li').attr('id')).addClass('s');
		});
		
		$('#mii1 > a').bind('click', function() {
			$('#tab2').hide();
			$('#tab1').show();
			return false;
		});
		$('#mii2 > a').bind('click', function() {
			$('#tab1').hide();
			$('#tab2').show();
			return false;
		});
		
		$('#mii1a > a').bind('click', function() {
			$('#tab2').hide();
			$('#tab1').show();
			return false;
		});
		$('#mii2a > a').bind('click', function() {
			$('#tab1').hide();
			$('#tab2').show();
			return false;
		});
		
		
	}
}

var Wyszukiwarka = {
	init: function(){
		$('form.rewrite')
			.submit(function(e){
				e.preventDefault();
				fraza = $("#fraza").val();
				if ( fraza.length >= 3 ) {
					$(this).attr(
						'action',
						$(this).attr('action') + fraza );
					window.location = $(this).attr('action');
				}
				else {
					// alert('Szukana fraza musi mieć conajmniej 3 znaki.');
				}
		});
		$('#fraza')
			.keyup(function(e){
				var reg_liczba = /[a-zA-Z0-9ęóąśłżźćńĘÓĄŚŁŻŹĆŃ ]$/
				var fraza = $(this).val();
				var fraza_new = new Array();
				var a=0;
				for(var i=0; i<fraza.length; i++){
					znak = fraza.charAt(i)
					if (znak.match(reg_liczba) != null){
						fraza_new[a] = znak;
						a++;
					}
				}
				$(this).val(fraza_new.join(''));
		});
		$('#fraza')
			.focus(function(e){
				if( $(this).val() == 'wpisz słowo kluczowe') {
					$(this).val('');
				}
		});
	}
}

var LightBox = {
	init: function(){
		 if( $('.galeria')[0] ){
			 $('.galeria a').lightBox({
				txtImage: 'Zdjęcie',
				txtOf: 'z',
				overlayOpacity: 0.7,
				imageLoading: _IMAGE_URL+'/lightbox-ico-loading.gif',
				imageBtnPrev: _IMAGE_URL+'/lightbox-btn-prev.gif',
				imageBtnNext: _IMAGE_URL+'/lightbox-btn-next.gif',	
				imageBtnClose: _IMAGE_URL+'/lightbox-btn-close.gif',		
				imageBlank:	_IMAGE_URL+'/lightbox-blank.gif'			
				}
			  );
		 }
	}
}

var Warstwa = {
	init: function() {
			
		$('.warstwa').each(function(i){
			var szerokosc = $(this).width();
			var wysokosc = $(this).height();
			var left = ( $(window).width() - szerokosc) / 2;
			$(this).css("top",'-700px');
			$(this).css("left",left+'px');
			
		});
	}
}

var Rejestracja = {
	
		
	init: function(){
	
		var wysylanie = false;
		
		/* odpalenie rejestracji */
		var isIssetRej = $.cookie('rejkont');
		if( isIssetRej > 0 ){
			Rejestracja.okno_rejestacji();
			$.cookie('rejkont', null, { path: '/' });
		}
	
		/* aktywacja konta */
		var isIsset = $.cookie('actkont');
		if( isIsset > 0 ){
			if( isIsset == 21 || isIsset == 22 || isIsset ==42 || isIsset ==45 ){
				$('#activate_button input').click(function(){
					$('#w1').trigger('click');
				});
				window.setTimeout(function(){
					$('#r .fr, #r fl, #r ul > li').hide();
					$('#activate p').html(_LANG[isIsset]);
					$('#activate, #activate_button').show();
					Rejestracja.okno_rejestacji();
					$.cookie('actkont', null, { path: '/' });
				},1000);
			}
			else{
				window.setTimeout(function(){
					$('#r .fr, #r fl, #r ul > li').hide();
					$('#r .error > p').html(_LANG[isIsset]);
					$('#r .error').show();
					Rejestracja.okno_rejestacji();
					$.cookie('actkont', null, { path: '/' });
				},1000);
			}
			
		}
		
		/*  kliknieto w rejestruj w stopce */
		$('#f_r').click(function(){
			$('#rejestracja').trigger('click');
		});
		/* kliknięto w link rejestracji */
		$('.rejestracja_pokaz').click(function(){
			$('#rejestracja').trigger('click');
		});
		
		/* kliknięto w rejestruj na forum */
		$('#navregister > a').click(function(){
			
			//Komunikaty.pokaz("taknie", _LANG[47], _WEBROOT+"/maxxxymalne-przegiecie/rejestracja", function() {
				//Komunikaty.ukrywac_overlay = false;
				$(window).scrollTop(0);
				$('#l').hide(1,function(){
					$('#w1').removeClass('s');
					$('#w2').addClass('s');
					$('#r').show();
				});
				window.setTimeout(function(){
					$(window).scrollTop(0);
					
					$('#overlay').show();				
					$('#logowanie').show();
					updateCaptcha();
					
					var window_size = getInnerDimensions();
					var wysokosc_okna = window_size[1];
					
					var wysokosc_okna_logowania = $('#logowanie').height();
					var top = (wysokosc_okna - wysokosc_okna_logowania) /2;
					$('#logowanie').animate({ top: top+"px"  }, 500 );
					
					return false;
				},100);
			//});
		});
						
		/* kliknieto w rejestracje */
		$('#rejestracja').click(function(){
			
			//Komunikaty.pokaz("taknie", _LANG[47], _WEBROOT+"/maxxxymalne-przegiecie/rejestracja", function() {
				
				//Komunikaty.ukrywac_overlay = false;
				
				Rejestracja.okno_rejestacji();
				
			//});
			
		});
		
		$('#req_username, #email, #req_password1, #req_password2, #location, #captcha').keydown(function(event){
			if(event.keyCode == 13){
				$('#rejestruj').trigger('click');
			}
		});
		/* wyslanie formularza rejestracji */
		$('#rejestruj').click(function(){
			
			if( wysylanie ){
				return false;
			}
			
			var validacja = true;
			var nick = $('#rej_n input').val();
			var email = $('#rej_e input').val();
			var pass = $('#rej_p input').val();
			var pasre = $('#rej_pre input').val();
			var location = $('#rej_l input').val();
			var captcha = $('#rej_k input').val();
			var akceptacja = $('#akceptuje')[0].checked;
			var zgadzam = $('#zgadzam')[0].checked;
			var einformacje = $('#einformacje')[0].checked;
			
			if (einformacje == true) {
        einformacje = 1;
      } else {
        einformacje = 0;
      }
			
			if( !nick ){
				$('#rej_n').addClass('err');
				validacja = false;
				window.setTimeout(function(){
					$('#rej_n').removeClass('err');
				},5000);
			}
			if( !email ){
				$('#rej_e').addClass('err');
				validacja = false;
				window.setTimeout(function(){
					$('#rej_e').removeClass('err');
				},5000);
			}
			if( !pass ){
				$('#rej_p').addClass('err');
				validacja = false;
				window.setTimeout(function(){
					$('#rej_p').removeClass('err');
				},5000);
			}
			if( !pasre ){
				$('#rej_pre').addClass('err');
				validacja = false;
				window.setTimeout(function(){
					$('#rej_pre').removeClass('err');
				},5000);
			}
			if( !location ){
				$('#rej_l').addClass('err');
				validacja = false;
				window.setTimeout(function(){
					$('#rej_l').removeClass('err');
				},5000);
			}
			if( !captcha ){
				$('#rej_k').addClass('err');
				validacja = false;
				window.setTimeout(function(){
					$('#rej_k').removeClass('err');
				},5000);
			}
			if( !akceptacja ){
				validacja = false;
			}
			if( !zgadzam ){
				validacja = false;
			}
			if( !validacja ){
				$('#r .error > p').html(_LANG[8]);
				$('#r .error').show('slow');
				window.setTimeout(function(){
					$('#r .error').hide('slow');
					$('#r .error > p').html('');
				},5000);
				return false;
			}
			else{
				if ( email.search(/^(.+?)@(([a-z0-9\.-]+?)\.[a-z]{2,5})$/i) == -1 ) {
					$('#rej_e').addClass('err');
						window.setTimeout(function(){
						$('#rej_e').removeClass('err');
					},5000);
					$('#r .error > p').html(_LANG[9]);
					$('#r .error').show('slow');
					window.setTimeout(function(){
						$('#r .error').hide('slow');
						$('#r .error > p').html('');
					},5000);
					return false;
				}
				if( pass != pasre ){
					$('#rej_pre, #rej_p').addClass('err');
						window.setTimeout(function(){
						$('#rej_pre, #rej_p').removeClass('err');
					},5000);
					$('#r .error > p').html(_LANG[10]);
					$('#r .error').show('slow');
					window.setTimeout(function(){
						$('#r .error').hide('slow');
						$('#r .error > p').html('');
					},5000);
					return false;
				}
				if( nick.length < 2 || nick.length > 25 ){
					$('#rej_n').addClass('err');
						window.setTimeout(function(){
						$('#rej_n').removeClass('err');
					},5000);
					$('#r .error > p').html(_LANG[11]);
					$('#r .error').show('slow');
					window.setTimeout(function(){
						$('#r .error').hide('slow');
						$('#r .error > p').html('');
					},5000);
					return false;
				}
				if( pass.length < 4 ){
					$('#rej_p').addClass('err');
						window.setTimeout(function(){
						$('#rej_p').removeClass('err');
					},5000);
					$('#r .error > p').html(_LANG[12]);
					$('#r .error').show('slow');
					window.setTimeout(function(){
						$('#r .error').hide('slow');
						$('#r .error > p').html('');
					},5000);
					return false;
				}
				
				wysylanie = true;
				
				$.ajax({
				   type: "POST",
				   url: _WEBROOT+"/uzytkownicy/rejestracja/",
				   data: "req_username="+nick+"&email="+email+"&req_password1="+pass+"&req_password2="+pasre+"&location="+location+"&captcha="+captcha+"&einformacje=" + einformacje,
				   success: function(msg){
				  	 if(msg == 19){
						/* zarejestrowano */
						$('#succ > p').html(_LANG[msg]);
						$('#r ul > li').hide();
							$('#succ').show('slow');	
							window.setTimeout(function(){
								$('#logowanie').animate({ top: "-700px"  }, 500 );
								$('#overlay').hide();
								window.setTimeout(function(){
									$('#r ul > li').show();
									$('#succ').hide();
									$('#r .error').hide();
									$('#rej_e input').val('');
									$('#rej_n input').val('');
									$('#rej_p input').val('');
									$('#rej_pre input').val('');
									$('#rej_l input').val('');
									$('#rej_k input').val('');
								},550);		
							},7000);
							
					 }
					 else{
					   
						 $('#r .error > p').html(_LANG[msg]);
						 $('#r .error').show('slow');
						 window.setTimeout(function(){
							$('#r .error').hide('slow');
							$('#r .error > p').html('');
						 },5000);
						 
					 }
					 wysylanie = false;
					 
				   }
				});
			}
		});
	},
	
	okno_rejestacji: function(){
	  updateCaptcha();
		$(window).scrollTop(0);
		$('#l').hide(1,function(){
			$('#w1').removeClass('s');
			$('#w2').addClass('s');
			$('#r').show();
		});
		window.setTimeout(function(){
			$('#m1').trigger('click');
			return false;
		},100);
	}
	
}

function updateCaptcha() {
	  $('#captch').html('<img src="http://www.rmfmaxxx.pl/securimage/captcha.php?'+Math.random()+'" id="captchimg" onclick="updateCaptcha();" style="z-index:1111111;" alt="nie widzisz kodu? kliknij aby przeladowac" title="nie widzisz kodu? kliknij aby przeladowac"/>');

}

var Logowanie = {
	init: function(){
		
		var wysylanie = false;
		
		/* kliknieto w logowanie w gornym menu */
		$('#m1').click(function(){
			$(window).scrollTop(0);
			if( !_ZALOGOWANY ){
				$('#overlay').show();				
				$('#logowanie').show();
				updateCaptcha();
				var window_size = getInnerDimensions();
				var wysokosc_okna = window_size[1];
				
				var wysokosc_okna_logowania = $('#logowanie').height();
				var top = (wysokosc_okna - wysokosc_okna_logowania) /2;
				$('#logowanie').animate({ top: top+"px"  }, 500 );
			}
			else{
				document.location.href = _WEBROOT+"/uzytkownicy/wyloguj/";
			}
			return false;
		});

		/*  kliknieto w zaloguj w stopce lub klase logowanie_pokaz */
		$('#f_l, .logowanie_pokaz').click(function(){
			$('#m1').trigger('click');
		});
		
		/* kliknięto w zaloguj na forum */
		$('#navlogin > a').click(function(){
			$(window).scrollTop(0);
			
			$('#overlay').show();				
			$('#logowanie').show();
			
			var window_size = getInnerDimensions();
			var wysokosc_okna = window_size[1];
			
			var wysokosc_okna_logowania = $('#logowanie').height();
			var top = (wysokosc_okna - wysokosc_okna_logowania) /2;
			$('#logowanie').animate({ top: top+"px"  }, 500 );
			
		});
		
		$('#l_email, #l_pass').keydown(function(event){
			if(event.keyCode == 13){
				$('#zaloguj').trigger('click');
			}
		});

		
		/* wyslanie formularza logowania */
		$('#zaloguj').click(function(){
			
			if( wysylanie ){
				return false;
			}
			
			var email = $('#l_email').val();
			var pass = $('#l_pass').val();
			var pamietaj = $('#pamietaj')[0].checked;
			
			if( !email ){
				$('#e_').addClass('err');
				window.setTimeout(function(){
					$('#e_').removeClass('err');
				},5000);
			}
			if( !pass ){
				$('#h_').addClass('err');
				window.setTimeout(function(){
					$('#h_').removeClass('err');
				},5000);
			}
			if( !email || !pass){
				$('#l .error > p').html(_LANG[5]);
				$('#l .error').show('slow');
				window.setTimeout(function(){
					$('#l .error').hide('slow');
					$('#l .error > p').html('');
				},5000);
				return false;
			}
			if( pamietaj ){
				pamietaj = 1;
			}
			else{
				pamietaj = 0;
			}
			
			wysylanie = true;
			
			$.ajax({
			   type: "POST",
			   url: _WEBROOT+"/uzytkownicy/logowanie/",
			   data: "email="+email+"&req_password="+pass+"&frmAction=logowanie&pamietaj="+pamietaj,
			   success: function(msg){
			  	 if(msg == 3){
					/* zalogowano */

					
					
					$('#l .com-zostales-zalogowany > p').html(_LANG[msg]);
					$('#l ul > li').hide();
						$('#l .com-zostales-zalogowany').show('slow');	
						window.setTimeout(function(){
							$('#logowanie').animate({ top: "-700px"  }, 500 );
							$('#overlay').hide();	
							window.setTimeout(function(){
      					var login_url = $.cookie('login_url');
      					if (login_url) {
                  document.location.href = login_url;
                  $.cookie('login_url', null, { path: '/' });
                } else {
								  document.location.reload( false );
								}
							},500);
						},5000);
				 }
				 else{
					 $('#l .error > p').html(_LANG[msg]);
					 $('#l .error').show('slow');
					 $('#e_').addClass('err');
					 $('#h_').addClass('err');
					 window.setTimeout(function(){
						$('#l .error').hide('slow');
						$('#l .error > p').html('');
						$('#h_').removeClass('err');
						$('#e_').removeClass('err');
					 },5000);
				 }
				 wysylanie = false;
			   }
			 });
		});
		
		/* obsluga zakladek */
		$('#w1').click(function(){
			if( $(this).hasClass('s') ){
				return false;
			}
			else{
				$('#r').slideUp(1000,function(){
					$('#r .fr, #r fl, #r ul > li').show();
					$('#activate, #activate_button, #succ, #r .error').hide();
					$('#w2').removeClass('s');
					$('#w1').addClass('s');
					$('#l').slideDown(1000);
				});
			}
			return false;
		});
		$('#w2').click(function(){
			if( $(this).hasClass('s') ){
				return false;
			}
			else{
				$('#l').slideUp(1000,function(){
					$('#w1').removeClass('s');
					$('#w2').addClass('s');
					$('#r').slideDown(1000);
				});
			}
			return false;
		});
		
		/* obsluga zamykania okienka */
		$('.warstwa .close').click(function(){
			$('.warstwa').each(function(i){
				$(this).animate({ top: "-700px"  }, 500 );
				$('#overlay').hide();	
			});
			$('#w1').trigger('click');
			return false;
		});
		
		/* kliknięto w przypomnij hasło */
		$('#l .t a').click(function(){
			$('.close').trigger('click');
			$('#overlay').show();
			$('#przypomnij').show();
			
			var window_size = getInnerDimensions();
			var wysokosc_okna = window_size[1];
			var wysokosc_okna_logowania = $('#przypomnij').height();
			var top = (wysokosc_okna - wysokosc_okna_logowania) /2;
			$('#przypomnij').animate({ top: top+"px"  }, 500 );
		});
		
		$('#przypomnijhaslo').click(function(){
		
			if( wysylanie ){
				return false;
			}
			
			var email = $('#req_email').val();
			if ( email.search(/^(.+?)@(([a-z0-9\.-]+?)\.[a-z]{2,5})$/i) == -1 ) {
				$('#przypomnij .error > p').html(_LANG[9]);
				$('#przypomnij .error').show();
				$('#przypomnij .email').addClass('err');
				window.setTimeout(function(){
					$('#przypomnij .error').hide('slow');
					$('#przypomnij .error > p').html('');
					$('#przypomnij .email').removeClass('err');
				},5000);
				return false;
			}
			
			wysylanie = true;
			
			$.ajax({
			   type: "POST",
			   url: _WEBROOT+"/uzytkownicy/przypomnijhaslo/",
			   data: "email="+email,
			   success: function(msg){
			  	 if(msg == 19){
					/* zmieniono */
					$('#succ_przy').addClass('com-haslo-wyslane').removeClass('com-haslo-zmienione');
					$('#succ_przy > p').html(_LANG[msg]);
					$('#przypomnij ul > li').hide();
					$('#succ_przy').show('slow');	
					window.setTimeout(function(){
						$('#przypomnij').animate({ top: "-700px"  }, 500 );
						$('#overlay').hide();	
					},5000);
				 }
				 else{
					 $('#przypomnij .error > p').html(_LANG[msg]);
					 $('#przypomnij .error').show('slow');
					 window.setTimeout(function(){
						$('#przypomnij .error > p').html('');
						$('#przypomnij .error').hide('slow');
					 },5000);
				 }
				 wysylanie = false;
			   }
			 });
			return false;
		});
		
		/* aktywacja hasla */
		var isIsset = $.cookie('acthasl');
		if( isIsset > 0 ){
			$('#l .t a').trigger('click');	
			$('#overlay').show();				
			if( isIsset == 26){
				$('#succ_przy').removeClass('com-haslo-wyslane').addClass('com-haslo-zmienione');
				$('#succ_przy > p').html(_LANG[26]);
				$('#przypomnij .frm ul > li').hide();
				$('#przypomnij .error').hide();
				$('#succ_przy').show('slow');	
				window.setTimeout(function(){
					$.cookie('acthasl', null, { path: '/' });
				},1000);
			}
			else{
				$('#przypomnij .frm ul li').hide();
				$('#przypomnij .error > p').html(_LANG[isIsset]);
				$('#przypomnij .error').show();
				window.setTimeout(function(){
					$.cookie('acthasl', null, { path: '/' });
				},1000);
			}
		}
	}
}

var Overlay = {
	init: function(){
		var document_height = $(document).height();
		var document_width = $(document).width();
		var divTag = document.createElement("div");
	 	divTag.id = "overlay";
		divTag.style.position = "absolute";
		divTag.style.width = document_width+"px";
		divTag.style.height = document_height+"px";
		divTag.style.backgroundColor ="#000";
		divTag.style.zIndex ="50";
		divTag.style.opacity ="0.7";
		divTag.style.top ="0px";
		divTag.style.left ="0px";
		divTag.style.display ="none";
		document.body.appendChild(divTag);
		$('#overlay').css( { filter:"alpha(opacity=70)" });
	}
}

var Galerie = {
	init: function(){
	
		if( _CONTROLLER != "galerie" ){
			return false;
		}
				
		/* dodawanie nowej galerii */
		if($('#mk_dg')){
			$('#mk_dg').click(function(){
				$(window).scrollTop(0);
					$('#overlay').show();				
					$('#dodaj_galerie').show();
					var window_size = getInnerDimensions();
					var wysokosc_okna = window_size[1];
					var wysokosc_okna_dodaj_galerie = $('#dodaj_galerie').height();
					var top = (wysokosc_okna - wysokosc_okna_dodaj_galerie) /2;
					$('#dodaj_galerie').animate({ top: top+"px"  }, 500 );
				return false;
			});
			$('#dodaj_galerie_form').submit(function(){
				$.post(
					_WEBROOT+'/galerie/dodaj-galerie/',
					$("#dodaj_galerie_form").serialize(),
					function(dane){
						if(dane.wynik != undefined){
							/* dodano galerię */
							document.location.href = _WEBROOT+'/galerie/pokaz/'+dane.wynik;
						}else{
							/* błąd dodawania */
							var _err = '';
							for(var i in dane){
   								for(var j in dane[i]){
   									_err = _err + dane[i][j] + '<br>';
 								}
 							}
							$('#dodaj_galerie .error > p').html(_err);
							$('#dodaj_galerie .error').show('slow');
							$('#t_').addClass('err');
							window.setTimeout(function(){
								$('#dodaj_galerie .error').hide('slow');
								$('#dodaj_galerie .error > p').html('');
								$('#t_').removeClass('err');
							},5000);
						}
					},
					"json"
				);
				return false;
			});
		}
		/* dodawanie nowego zdjęcia */
		if($('#mk_dz')){
			$('#mk_dz').click(function(){
				$(window).scrollTop(0);
					$('#overlay').show();				
					$('#dodaj_zdjecie').show();
					var window_size = getInnerDimensions();
					var wysokosc_okna = window_size[1];
					var wysokosc_okna_dodaj_zdjecie = $('#dodaj_zdjecie').height();
					var top = (wysokosc_okna - wysokosc_okna_dodaj_zdjecie) /2;
					$('#dodaj_zdjecie').animate({ top: top+"px"  }, 500 );
				return false;
			});
			$('#dodaj_zdjecie_form').submit(function(){
				$(this).ajaxSubmit(
					{
						type: 'POST',
						dataType: 'json',
						iframe: true,
						success: function(dane){
							if(dane.wynik != undefined){
								document.location.href = _WEBROOT+'/galerie/pokaz/'+dane.wynik.galeria+'/'+dane.wynik.zdjecie;
							}else{
								var _err = '';
								for(var i in dane){
	   								for(var j in dane[i]){
	   									_err = _err + dane[i][j] + '<br>';
	 								}
	 							}
								$('#dodaj_zdjecie .error > p').html(_err);
								$('#dodaj_zdjecie .error').show('slow');
								//$('#t_').addClass('err');
								window.setTimeout(function(){
									$('#dodaj_zdjecie .error').hide('slow');
									$('#dodaj_zdjecie .error > p').html('');
									//$('#t_').removeClass('err');
								},5000);
							}
						}
					}
				);
				return false;
			});
		}
		/* edytowanie zdjęcia */
		if($('#mk_ez')){
			$('#mk_ez').click(function(){
				$(window).scrollTop(0);
					$('#overlay').show();				
					$('#edytuj_zdjecie').show();
					var window_size = getInnerDimensions();
					var wysokosc_okna = window_size[1];
					var wysokosc_okna_edytuj_zdjecie = $('#edytuj_zdjecie').height();
					var top = (wysokosc_okna - wysokosc_okna_edytuj_zdjecie) /2;
					$('#edytuj_zdjecie').animate({ top: top+"px"  }, 500 );
				return false;
			});
			$('#edytuj_zdjecie_form').submit(function(){
				$.post(
					document.getElementById('edytuj_zdjecie_form').action,
					$("#edytuj_zdjecie_form").serialize(),
					function(dane){
						if(dane.wynik != undefined){
							/* dodano galerię */
							window.location.reload( false );
						}else{
							/* błąd dodawania */
							var _err = '';
							for(var i in dane){
   								for(var j in dane[i]){
   									_err = _err + dane[i][j] + '<br>';
 								}
 							}
							$('#edytuj_zdjecie .error > p').html(_err);
							$('#edytuj_zdjecie .error').show('slow');
							$('#t_').addClass('err');
							window.setTimeout(function(){
								$('#edytuj_zdjecie .error').hide('slow');
								$('#edytuj_zdjecie .error > p').html('');
								$('#t_').removeClass('err');
							},5000);
						}
					},
					"json"
				);
				return false;
			});
		}
		
		// usuwanie komentarza
		$(".usun_komentarz").click(function () {
		  Komunikaty.pokaz('confirm', 'Czy na pewno chcesz usunąć ten komentarz?', $(this).attr('href'));
		  return false;
		});
		
		// edycja galerii
		$('#mk_eg').click(function () {
	        $(window).scrollTop(0);
	            $('#overlay').show();               
	            $('#edytuj_galerie').show();
	            var window_size = getInnerDimensions();
	            var wysokosc_okna = window_size[1];
	            var wysokosc_okna_edytuj_galerie = $('#edytuj_galerie').height();
	            var top = (wysokosc_okna - wysokosc_okna_edytuj_galerie) /2;
	            $('#edytuj_galerie').animate({ top: top+"px"  }, 500 );
	        return false;
		});
		
		// ustawianie kolejnosci galerii
		var kolejnosc = $('#kolejnosc');
		kolejnosc.sortable();
		kolejnosc.mouseup(function () {
            window.setTimeout( function(){
                // przeliczenie kolejnosci
                $('#kolejnosc li').each(function (i) {
                    $(this).find('[@name*=kolejnosc]').val(i);
                    // lp wyswietlana
                    $(this).find('#liczbap').html(i+1);
                });
            }, 20);
		});
	}
}

var Wiadomosci =
{
	init: function() {
		// redagowanie wiadomości
		if ( $("#wiadomosci_napisz").get(0) ) {
			this.napisz_init();
		}
		
		// lista wiadomości
		if ( $("#wiadomosci_lista").get(0) ) {
			this.lista_init();
		}
		
		// formularz ajaxowy
		this.napisz_ajax_init();
	},
	
	/* strona redagowania wiadomości */	
	ile_odbiorcow: 1,
	max_odbiorcow: 20,
	napisz_init: function() {
		var c = $("#wiadomosci_napisz");
		
		this.ile_odbiorcow = c.find(".odbiorca_nick").length;
		if (Wiadomosci.ile_odbiorcow >= Wiadomosci.max_odbiorcow) {
			c.find("#wia_dodaj_odbiorce").hide();
		}
		
		// przycisk dodawania dobiorcy
		c.find("#wia_dodaj_odbiorce").click(function(e) {
			Wiadomosci.napisz_dodaj_odbiorce();
			return false;
		});
		
		// edytor wizualny
		$("textarea#tresc").netiRte({
			allowedTags: "<b>,<i>,<strong>,<em>",
			inheritStyles: false,
			bodyStyles: {
				"font-family": "Arial,Helvetica,sans-serif",
				"font-size": "12px",
				"margin-top": "0",
				"background-color": "#171717"
			},
			toolbarSelector: ".reach-text-edit"
		});
	},
	
	napisz_dodaj_odbiorce: function() {
		if (Wiadomosci.ile_odbiorcow >= Wiadomosci.max_odbiorcow) {
			return false;
		}
		
		var c = $("#wiadomosci_napisz");
		
		// sklonowanie pola dodawania odbiorcy
		var ostatnie_pole = c.find(".odbiorca_nick:last");
		var ostatnie_pole_input = ostatnie_pole.find("input");
		var nowe_pole = ostatnie_pole.clone();
		var nowe_pole_input = $(nowe_pole).find("input");
		
		// zmiana atrybutów pola
		nowe_pole_input.attr("tabindex", ostatnie_pole_input.attr("tabindex")+1);
		nowe_pole_input.attr(
			"name",
			"do["+(ostatnie_pole_input.attr("name").match(/do\[([0-9]+)\]/)[1]/1+1)+"]"
		);
		nowe_pole_input.attr(
			"id",
			"do-"+(ostatnie_pole_input.attr("id").match(/do-([0-9]+)/)[1]/1+1)
		);
		nowe_pole.find("label").attr(
			"for",
			"do-"+(ostatnie_pole.find("label").attr("for").match(/do-([0-9]+)/)[1]/1+1)
		);
		// wyczyszczenie pola
		nowe_pole_input.val("");
		// usunięcie ewentualnego komunikatu błędu
		nowe_pole.find("span").remove();
		
		// usunięcie ze stargo pola przycisku "dodaj odbiorcę"
		$(ostatnie_pole).find("#wia_dodaj_odbiorce").remove();
		
		// dodanie nowego pola
		$(nowe_pole).insertAfter(ostatnie_pole);
		
		// przechwycenie kliknięcia w link "dodaj odbiorcę"
		$(nowe_pole).find("#wia_dodaj_odbiorce").click(function(e) {
			Wiadomosci.napisz_dodaj_odbiorce();
			return false;
		});
		
		// zwiększenie licznika odbiorców
		Wiadomosci.ile_odbiorcow++;
		
		// jeśli osiągnięto max liczbę odbiorców, to ukrycie przycisku
		if (Wiadomosci.ile_odbiorcow >= Wiadomosci.max_odbiorcow) {
			$(this).hide();
		}
	},
	
	lista_init: function() {
		var c = $("#wiadomosci_lista");
		
		c.find(".wia_szczegoly").click(function(e) {
			var li = $(this).parents("ul:first").parent("li");
			
			// zwinięcie wcześniej otwartej wiadomości
			li.siblings(".open")
				.each(function(i) {
					var a_temat = $(this).find(".mail-topic a");
					var temat_podmiana = a_temat.attr("title");
					a_temat.attr("title", a_temat.html() );
					a_temat.html(temat_podmiana);
				})
				.removeClass("open")
				.find(".wia_tresc").slideUp();
			
			// rozwinięcie/zwinięcie wybranej wiadomości
			li.toggleClass("open");
			$(this).parents("ul:first").find(".wia_tresc").slideToggle();
			//li.find(".mail-topic").toggle();
			var a_temat = li.find(".mail-topic a");
			var temat_podmiana = a_temat.attr("title");
			a_temat.attr("title", a_temat.html() );
			a_temat.html(temat_podmiana);
			
			// oznaczenie wiadomości jako przeczytana
			if ( li.hasClass("unread") ) {
			
				// aktualizacja licznika nieprzeczytanych wiadomości (tylko w HTML-u)
				$(".wia_licznik_odb_np").each(function(i) {
					var licznik = $(this).html().match(/^([^0-9]+)?([0-9]+)([^0-9]+)?$/)[2]/1;
					if ( licznik > 0 ) {
						licznik--;
					}
					$(this).html(
						$(this).html().replace(/^([^0-9]+)?([0-9]+)([^0-9]+)?$/, "$1"+licznik+"$3")
					);
				});
				
			
				li.removeClass("unread");
				
				var id_matches = li.attr("id").match(/wiadomosc-([0-9]+)-([a-z]+)-([a-z]+)-([0-9]+)/);
				var id = id_matches[1];
				var orderby = id_matches[2];
				var order = id_matches[3];
				var strona = id_matches[4];
				
				$.ajax({
					type: "GET",
					url: config.base_url+"/wiadomosci/oznacz-przeczytana/"+id+"/"+orderby+"/"+order+"/"+strona,
					cache: false,
					dataType: "json",
					success: function (data, textStatus) {},
					error: function (XMLHttpRequest, textStatus, errorThrown) {},
					complete: function (XMLHttpRequest, textStatus) {}
				});
			}
			return false;
		});
	},
	
	formularz_ajax_html: null,
	napisz_ajax_trwa_wysylka: false,
	napisz_ajax_odbiorca_id: null,
	napisz_ajax_init: function() {
		$(".xwia_napisz").click(function(e) {
		
			var odbiorca_id = this.href.match(/\/wiadomosci\/napisz\/([0-9]+)/)[1];
			if ( !odbiorca_id ) {
				return false;
			}
			Wiadomosci.napisz_ajax_odbiorca_id = odbiorca_id;
			
			$('#overlay').show();
			main.scrollToTop();
			
			if ( Wiadomosci.formularz_ajax_html != null ) {
				Wiadomosci.napisz_ajax_wyswietl();
			}
			// pobranie formularza 
			else {
				$.ajax({
					type: "GET",
					url: config.base_url+"/wiadomosci/formularz-ajax/",
					cache: false,
					dataType: "html",
					success: function (data, textStatus) {
						Wiadomosci.formularz_ajax_html = data;
						$("body").append(data);
						Wiadomosci.napisz_ajax_formularz_init();
					},
					error: function (XMLHttpRequest, textStatus, errorThrown) {
						$('#overlay').hide();
					},
					complete: function (XMLHttpRequest, textStatus) {}
				});

			}		
			
			return false;
		});
	},
	
	napisz_ajax_formularz_init: function() {
		var c = $("#wiadomosci_napisz_ajax");
		
		// zamiana textarea na edytor wizualny
		c.find("textarea").netiRte({
			allowedTags: "<b>,<i>,<strong>,<em>",
			inheritStyles: false,
			bodyStyles: {
				"font-family": "Arial,Helvetica,sans-serif",
				"font-size": "12px",
				"margin-top": "0",
				"background-color": "#171717"
			},
			toolbarSelector: ".reach-text-edit"
		});
		
		// zamykanie warstwy
		c.find(".close a").click(function() {
			Wiadomosci.napisz_ajax_ukryj();
			return false;
		});
		
		// przechwycenie submita
		c.find("form").submit(function(e) {
			if ( Wiadomosci.napisz_ajax_trwa_wysylka ) {
				return false;
			}
			
			var temat = $P.trim(c.find("input[name='wia_ajax_temat']").val());
			var tresc = $P.trim(c.find("textarea").netiRteVal());
			
			// wstępna walidacja danych
			var dane_ok = true;
			if ( $P.trim($P.strip_tags(temat)) == "" ) {
				c.find("input[name='wia_ajax_temat']").addClass('err');
				dane_ok = false;
			}
			if ( $P.trim($P.strip_tags(tresc)) == "" ) {
				c.find("iframe").addClass('err');
				dane_ok = false;
			}
			
			// jeśli pola wypełnione
			if ( dane_ok ) {
				// wysłanie wiadomości
				Wiadomosci.napisz_ajax_trwa_wysylka = true;
				
				$.ajax({
					type: "POST",
					url: config.base_url+"/wiadomosci/napisz-ajax/",
					cache: false,
					dataType: "json",
					data: "temat="+temat+"&tresc="+tresc+"&odbiorca_id="+Wiadomosci.napisz_ajax_odbiorca_id,
					success: function (data, textStatus) {
						if ( typeof(data.status) != "undefined" ) {
							// jeśli wysłano wiadomość
							if ( data.status == 1 ) {
								c.find(".success > p").html(_LANG[501]);
								c.find(".success").show('slow');
								c.find("form li:not(.success)").hide('slow');

								window.setTimeout(function(){
									Wiadomosci.napisz_ajax_ukryj();
								},5000);
								
								return;
							}
							// jeśli dane nie przeszły walidacji
							else if ( data.status == 104 ) {
								c.find("input[name='wia_ajax_temat']").addClass('err');
								c.find("iframe").addClass('err');
								Wiadomosci.napisz_ajax_wyswietl_blad(_LANG[502]);
								return;
							}
							// jeśli użytkownik nie jest zalogowany
							else if ( data.status == 105 ) {
								Wiadomosci.napisz_ajax_wyswietl_blad(_LANG[503]);
								return;
							}
						}
						
						// jeśli wystąpił inny błąd
						Wiadomosci.napisz_ajax_wyswietl_blad(_LANG[504]);
					},
					// jeśli wystąpił błąd komunikacji
					error: function (XMLHttpRequest, textStatus, errorThrown) {
						alert("Błąd komunikacji");
					},
					complete: function (XMLHttpRequest, textStatus) {
						Wiadomosci.napisz_ajax_trwa_wysylka = false;
					}
				});
				
			}			
			// jeśli któreś z pól formularza jest puste
			else {
				Wiadomosci.napisz_ajax_wyswietl_blad(_LANG[502]);
			}
			
			return false;
		});
		
		// wyświetlenie formularza
		Wiadomosci.napisz_ajax_wyswietl();
	},
	
	napisz_ajax_wyswietl_blad: function(tekst) {
		var c = $("#wiadomosci_napisz_ajax");
		c.find(".error > p").html(tekst);
		c.find(".error").show('slow');

		window.setTimeout(function(){
			c.find("input[name='wia_ajax_temat'], iframe").removeClass('err');
			c.find(".error").hide('slow');
			c.find(".error > p").html('');
		},5000);
	},
	
	napisz_ajax_wyswietl: function() {
		var c = $("#wiadomosci_napisz_ajax");
		c.find("input[name='wia_ajax_temat']").val("");
		c.find("textarea").netiRteVal("");
		c.find("form li:not(.error, .success)").show();
		c.show();
			
		var window_size = getInnerDimensions();
		var wysokosc_okna = window_size[1];
			
		var wysokosc_okna_komunikatu = c.height();
		var top = (wysokosc_okna - wysokosc_okna_komunikatu) /2;
		
		c.animate({ top: top+"px"  }, 500 );
	},
	
	napisz_ajax_ukryj: function() {
		$("#wiadomosci_napisz_ajax").animate({ top: "-700px"  }, 500 );
		$('#overlay').hide();	
		$('#w1').trigger('click');
	}
	
}

var ProfilEdycja = {
    wybrane_miejsce_marker: null,
    dodawanie_miejsca_trwa_wysylka: false,
    
    init: function () {
        if( _CONTROLLER != "uzytkownicy" ){
            return false;
        }

        // gmaps
        $('#location').change(function () {
            if ($(this).val().length > 0) {
                $('#poszukaj_miejscowosci').show();
            }
        });
        $('#location').keyup(function () {
            if ($(this).val().length > 0) {$(this).trigger('change');}
        });
        
        $('#poszukaj_miejscowosci').click(function () {
            ProfilEdycja.poszukajMiasta();
            return false;
        });
    },
    
    poszukajMiasta: function() {
        var warstwa = $("#miejsca_dodaj_ajax");
        if ( warstwa.get(0) ) {
            var GMap = new GMaps("gmaps", 2, false);

            // obsługa kliknięć w mapę
            GEvent.addListener(GMap.map, "click", function(overlay, point) {
                if ( typeof(point) !== "undefined" ) {
                    warstwa.find("input[name='wsp_x']").val(point.x);
                    warstwa.find("input[name='wsp_y']").val(point.y);
                    if ( ProfilEdycja.wybrane_miejsce_marker ) {
                        GMap.map.removeOverlay(ProfilEdycja.wybrane_miejsce_marker);
                    }
                    ProfilEdycja.wybrane_miejsce_marker = new GMarker(point);
                    GMap.map.addOverlay(ProfilEdycja.wybrane_miejsce_marker);
                }
            });

            // przeszukiwanie mapy
            var szukaj_form = $("#miejsca_ajax_adres").parents("form:first");
            szukaj_form.submit(function(e) {
                var adres = $(this).find("#miejsca_ajax_adres").val();
                if ( adres ) {
                    GMap.geocoder.getLatLng(
                        adres,
                        function(point) {
                            if (!point) {
                                Miejsca.dodaj_ajax_wyswietl_blad(_LANG[529]);
                            } else {
                                // ustawiamy dane do przeslania
                                $("#miejsca_dodaj_ajax").find("input[name='wsp_x']").val(point.x);
                                $("#miejsca_dodaj_ajax").find("input[name='wsp_y']").val(point.y);
                                // ustawiamy mape
                                GMap.map.setCenter(point, 12);
                                // marker
			                    ProfilEdycja.wybrane_miejsce_marker = new GMarker(point);
			                    GMap.map.addOverlay(ProfilEdycja.wybrane_miejsce_marker);
			                    // miejscowosc w formularzu
			                    $("#location").val(adres);
                            }
                        }
                    );
                }
                return false;
            });
            
            // wysyłka formularza
            var form = warstwa.find("#miejsca_dodaj_ajax_form");
            form.submit(function(e) {
	            $.ajax({
	                type: "POST",
	                url: _WEBROOT+"/uzytkownicy/zapisz-wspolrzedne-ajax/",
	                cache: false,
	                dataType: "json",
	                data: 'wsp_x='+form.find("input[name='wsp_x']").val()+'&wsp_y='+form.find("input[name='wsp_y']").val(),
	                success: function (data, textStatus) {
	                    if ( typeof(data.status) != "undefined" ) {
	                        switch(data.status) {
	                            case 1:
	                                //document.location.reload();
	                                $("#overlay").hide();
	                                warstwa.animate({ top: "-700px"  }, 500 );
	                                $('#poszukaj_miejscowosci').hide();
	                                break;
	                            case 0:
	                                var komunikaty_bledow = new Array();
	                                for(i in data.bledy) {
	                                    komunikaty_bledow[komunikaty_bledow.length] = _LANG[data.bledy[i]];
	                                }
	                                Miejsca.dodaj_ajax_wyswietl_blad(komunikaty_bledow.join("<br />"));                             
	                                break;
	                        }
	                    }
	                    else {
	                        Miejsca.dodaj_ajax_wyswietl_blad(_LANG[522]);
	                    }
	                }
	            });

                return false;
            });

            // pokazanie warstwy
            $("#overlay").show();
            main.scrollToTop();
            
            // ustawiamy mapę na środek Polski
            GMap.map.setCenter( new GLatLng(52.025459, 19.204102), 6);
            
            // wysunięcie warstwy z formularzem
            var window_size = getInnerDimensions();
            var wysokosc_okna = window_size[1];
            var wysokosc_formularza = warstwa.height();
            var top = (wysokosc_okna - wysokosc_formularza) /2;
            
            warstwa.animate({ top: top+"px"  }, 500 );
            
            // szukanie podanej miejscowosci
            if ($("#location").val().length > 0) {
	            $("#miejsca_ajax_adres").val($("#location").val());
	            szukaj_form.trigger('submit');
            }
        }
    }
}

var Miejsca =
{
	wybrane_miejsce_marker: null,
	dodawanie_miejsca_trwa_wysylka: false,
	
	moje_miejsca_markery: {},
	
	init: function() {
	
/* @todo tego nie bylo wczesniej wiec nie wiem, moze jest potrzebne - do spradzenia	
if( _CONTROLLER != "miejsca" ){
    return false;
}
*/
        
	
		/* moje miejsca - formularz dodawania */
		this.formularz_init();
		
		/* moje miejsca - lista miejsc z mapą */
		this.moje_miejsca_init();
	},
	
	formularz_init: function() {
		var warstwa = $("#miejsca_dodaj_ajax");
		if ( warstwa.get(0) ) {
			// oprogramowanie linku do formularza
			$(".miejsca_dodaj").click(function(e) {
				$("#overlay").show();
				main.scrollToTop();
				
				// wyczyszczenie pól
				warstwa.find("input:not([type='radio'])").val("");
				warstwa.find("input[type='radio']").attr("checked", null);
				// usunięcie markera z mapy
				if ( Miejsca.wybrane_miejsce_marker ) {
					GMap.map.removeOverlay(Miejsca.wybrane_miejsce_marker);
				}
				
				// ustawiamy mapę na środek Polski
				GMap.map.setCenter( new GLatLng(52.025459, 19.204102), 6);
				
				// wysunięcie warstwy z formularzem
				var window_size = getInnerDimensions();
				var wysokosc_okna = window_size[1];
				var wysokosc_formularza = warstwa.height();
				var top = (wysokosc_okna - wysokosc_formularza) /2;
				
				warstwa.animate({ top: top+"px"  }, 500 );
				
				return false;
			});
			
			var GMap = new GMaps("gmaps", 2, false);
				
			// obsługa kliknięć w mapę
			GEvent.addListener(GMap.map, "click", function(overlay, point) {
				if ( typeof(point) !== "undefined" ) {
					warstwa.find("input[name='wsp_x']").val(point.x);
					warstwa.find("input[name='wsp_y']").val(point.y);
					if ( Miejsca.wybrane_miejsce_marker ) {
						GMap.map.removeOverlay(Miejsca.wybrane_miejsce_marker);
					}
					Miejsca.wybrane_miejsce_marker = new GMarker(point);
					GMap.map.addOverlay(Miejsca.wybrane_miejsce_marker);
				}
			});
			
			// przeszukiwanie mapy
			var szukaj_form = $("#miejsca_ajax_adres").parents("form:first");
			szukaj_form.submit(function(e) {
				var adres = $(this).find("#miejsca_ajax_adres").val();
				if ( adres ) {
					GMap.geocoder.getLatLng(
						adres,
						function(point) {
							if (!point) {
								Miejsca.dodaj_ajax_wyswietl_blad(_LANG[529]);
							} else {
								GMap.map.setCenter(point, 15);
							}
						}
					);
				}
				return false;
			});
			
			// wysyłka formularza
			var form = warstwa.find("#miejsca_dodaj_ajax_form");
			form.submit(function(e) {
				var dane = {
					symbol: form.find("input[name='symbol']").val(),
					nazwa: form.find("input[name='nazwa']").val(),
					ikona: form.find("input[name='ikona']:checked").val(),
					wsp_x: form.find("input[name='wsp_x']").val(),
					wsp_y: form.find("input[name='wsp_y']").val()
				};
				
				// walidacja danych
				var komunikaty_bledow = new Array();
				if ( !dane.symbol ) {
					komunikaty_bledow[komunikaty_bledow.length] = _LANG[523];
				}
				else if ( !dane.symbol.match(/^[a-z0-9]{3,6}$/i) ) {
					komunikaty_bledow[komunikaty_bledow.length] = _LANG[524];
				}
				if ( !dane.nazwa ) {
					komunikaty_bledow[komunikaty_bledow.length] = _LANG[525];
				}
				else if ( !dane.nazwa.length > 255 ) {
					komunikaty_bledow[komunikaty_bledow.length] = _LANG[526];
				}
				if ( !dane.ikona ) {
					komunikaty_bledow[komunikaty_bledow.length] = _LANG[527];
				}
				if ( !dane.wsp_x || !dane.wsp_y ) {
					komunikaty_bledow[komunikaty_bledow.length] = _LANG[528];
				}
				
				// jeśli nie wystąpił żaden błąd
				if ( !komunikaty_bledow.length ) {
					if ( !Miejsca.dodawanie_miejsca_trwa_wysylka ) {
						Miejsca.dodawanie_miejsca_trwa_wysylka = true;
						
						var dane_post = new Array();
						for(i in dane) {
							dane_post[dane_post.length] = i+"="+dane[i];
						}
						
						$.ajax({
							type: "POST",
							url: config.base_url+"/miejsca/dodaj-ajax/",
							cache: false,
							dataType: "json",
							data: dane_post.join("&"),
							success: function (data, textStatus) {
								if ( typeof(data.status) != "undefined" ) {
									switch(data.status) {
										case 1:
											document.location.reload();
											break;
										case 0:
											var komunikaty_bledow = new Array();
											for(i in data.bledy) {
												komunikaty_bledow[komunikaty_bledow.length] = _LANG[data.bledy[i]];
											}
											Miejsca.dodaj_ajax_wyswietl_blad(komunikaty_bledow.join("<br />"));								
											break;
									}
								}
								else {
									Miejsca.dodaj_ajax_wyswietl_blad(_LANG[522]);
								}
							},
							error: function (XMLHttpRequest, textStatus, errorThrown) {
								Miejsca.dodaj_ajax_wyswietl_blad(_LANG[522]);
							},
							complete: function (XMLHttpRequest, textStatus) {
								Miejsca.dodawanie_miejsca_trwa_wysylka = false;
							}
						});
					}
				}
				// jeśli wystąpiły błędy
				else {
					Miejsca.dodaj_ajax_wyswietl_blad(komunikaty_bledow.join("<br />"));
				}				
				
				return false;
			});
		}
	},
	
	dodaj_ajax_wyswietl_blad: function(tekst) {
		var c = $("#miejsca_dodaj_ajax");
		c.find(".error > p").html(tekst);
		c.find(".error").show('slow');

		window.setTimeout(function(){
			c.find("input").removeClass('err');
			c.find(".error").hide('slow');
			c.find(".error > p").html('');
		},5000);
	},
	
	moje_miejsca_init: function() {
		var c = $("#moje_miejsca");
		if ( c.get(0) ) {
			if ( c.find("#gmaps_moje_miejsca").get(0) ) {
				var GMapMiejsca = new GMaps("gmaps_moje_miejsca", 1, true);
				
				// określenie widocznego fragmentu mapy i jej wyśrodkowanie
				var bounds = new GLatLngBounds;
				bounds.extend(new GLatLng(r_bounds.min_y, r_bounds.min_x));
				bounds.extend(new GLatLng(r_bounds.max_y, r_bounds.max_x));
				var zoom = GMapMiejsca.map.getBoundsZoomLevel(bounds)-1;
				
				GMapMiejsca.map.setCenter(bounds.getCenter(), zoom);
				
				// zaznaczenie markerów
				var dodaj_marker = function(lytera, nazwa) {
					var ikona = new GIcon(G_DEFAULT_ICON, "http://www.google.com/mapfiles/marker" + lytera + ".png");
					ikona.printImage = "http://maps.google.com/mapfiles/marker"+lytera+"ie.gif";
					ikona.mozPrintImage = "http://maps.google.com/mapfiles/marker"+lytera+"ff.gif";
					var marker = new GMarker(
						new GLatLng(r_miejsca[i].wsp_y, r_miejsca[i].wsp_x),
						{"icon": ikona}
					);
					
					Miejsca.moje_miejsca_markery[lytera] = {};
					Miejsca.moje_miejsca_markery[lytera].marker = marker;
					Miejsca.moje_miejsca_markery[lytera].nazwa = nazwa;
					
					GEvent.addListener(marker, "click", function() {
						Miejsca.moje_miejsca_markery[lytera].marker.openInfoWindowHtml('<span style="color:#000;">'+Miejsca.moje_miejsca_markery[lytera].nazwa+'</span>');
						
						location.href = "#miejsce-"+lytera;
					});
					
					GMapMiejsca.map.addOverlay(marker);
				};
				
				for(i in r_miejsca) {
					var lytera = String.fromCharCode("A".charCodeAt(0) + r_miejsca[i].index);
					dodaj_marker(lytera, r_miejsca[i].nazwa);
				}
				
				// oprogramowanie linków na liście miejsc
				c.find("a.moje_miejsca_litera").click(function() {
					var matches = this.href.match(/#([A-Z])$/);
					if (!matches) {
						return false;
					}
					
					main.scrollToTop();
					
					var litera = matches[1];
					Miejsca.moje_miejsca_markery[litera].marker.openInfoWindowHtml('<span style="color:#000;">'+Miejsca.moje_miejsca_markery[litera].nazwa+'</span>');
					
					return false;
				});
			}
		}
	}
}

var Profil = {
	init: function() {
		var c = $("#profil_uzytkownika");
		if ( !c.get(0) ) {
			return;
		}
		
		// rozwijanie/zwijanie opisu
		c.find("a#opis_wiecej").click(function() {
			var p = $(this).parent("p");
			if ( p.siblings("p:first").css("display") != "none" ) {
				$(this).attr("title", _LANG[95]);
				$(this).html(_LANG[95]);
			}
			else {
				$(this).attr("title", _LANG[96]);
				$(this).html(_LANG[97]);
			}
			p.siblings("p").toggle();
			
			return false;
		});
		
		// mapa geolokalizacji
		if ( $("#gmaps_miejsca").get(0) ) {
			var wspolrzedne = $("#gmaps_miejsca").attr("rel").match(/^wsp\[([^\]]+)\]\[([^\]]+)\]$/);
			if ( wspolrzedne ) {
				var GMapMiejsca = new GMaps("gmaps_miejsca", 1, true);
				var punkt = new GLatLng(wspolrzedne[1], wspolrzedne[2]);
				GMapMiejsca.map.setCenter(punkt, 14);
				GMapMiejsca.map.addOverlay(new GMarker(punkt));
				
				$(".lnk-zobacz-na-mapie a, .lnk-ukryj-mape a").click(function() {
					$(".lnk-zobacz-na-mapie").toggle();
					$(".lnk-ukryj-mape").toggle();
					$(".ulm-gmap").slideToggle( function() {
						GMapMiejsca.map.checkResize();
						GMapMiejsca.map.setCenter(punkt, 14);
					});
					
					
					
					return false;
				});
			}
		}
		
	}
}

var Spolecznosc = {
	pokarz_tooltip2: null,
	
	init: function() {
		if ( _CONTROLLER == 'spolecznosc' && ( _ACTION == 'maxxxymalni'  ||  _ACTION == 'poszukiwarka' ) ) {
			var id_t2;
			
			/* chmurki na liście avatarów */
			$('.ulvli').hover(
				function(){
					id_t2 = this.id;
					pokarz_tooltip2 = window.setTimeout(function(){
						$('#'+id_t2).addClass('ulvlihover');
						$('#'+id_t2+' .chm').css({position:'absolute'});
						window.setTimeout(function(){
							$('#'+id_t2+' .chm-dzb').css({position:'absolute'});
						},6);
					},5);
				},
				function(){
					clearTimeout(pokarz_tooltip2);
					$('#'+id_t2).removeClass('ulvlihover');
				}
			);
			
			// formularz wyszukiwania
			var form = $("form#php");
			if ( form.get(0) ) {
				form.find("input[name='username']").bind("click focus", function() {
					if ( !$(this).hasClass("filled") ) {
						$(this).addClass("filled");
						$(this).attr("rel", $(this).val());
						$(this).val("");
					}
				});
				form.find("input[name='username']").bind("blur", function() {
					if ( $P.trim($(this).val()) == "" ) {
						$(this).val($(this).attr("rel"));
						$(this).removeClass("filled");
					}
				});
				
				form.find("input[name='location']").bind("click focus", function() {
					if ( !$(this).hasClass("filled") ) {
						$(this).addClass("filled");
						$(this).attr("rel", $(this).val());
						$(this).val("");
					}
				});
				form.find("input[name='location']").bind("blur", function() {
					if ( $P.trim($(this).val()) == "" ) {
						$(this).val($(this).attr("rel"));
						$(this).removeClass("filled");
					}
				});
			}
			
			//wybor plci
			var sex = $("#sex");
			if( sex.get(0) ){
				$('#sex li .fio-sex-m').click(function(){
					$('#plec').val('M');
					$(sex).removeClass('fio-sex-f').removeClass('fio-sex-u').addClass('fio-sex-m');
					return false;
				});
				
				$('#sex li .fio-sex-f').click(function(){
					$('#plec').val('K');
					$(sex).removeClass('fio-sex-m').removeClass('fio-sex-u').addClass('fio-sex-f');
					return false;
				});
				
				$('#sex li .fio-sex-u').click(function(){
					$('#plec').val('U');
					$(sex).removeClass('fio-sex-m').removeClass('fio-sex-f').addClass('fio-sex-u');
					return false;
				});
			}
		}
	}
}

var NowePopularne = 
{
    init: function () {
        if( _CONTROLLER != "spolecznosc" && _CONTROLLER != "uzytkownicy" ){
            return false;
        }
    
        $("a.b-najpopularniejsze, a.b-najnowsze").click(function (e) {
            var link = $(this);
            $.ajax({
                type: "GET",
                url: link.attr('href'),
                success: function (ret) {
                    var docelowyDiv = link.attr('rel');
                    $("div#"+docelowyDiv).html(ret);
                    if ($P.strpos(link.attr('href'), 'najpopularniejsze')) {
                        NowePopularne.podmien(link, 'najpopularniejsze', 'najnowsze');
                    } else {
                        NowePopularne.podmien(link, 'najnowsze', 'najpopularniejsze');
                    }
                }
            });
            return false;
        });
    },
    podmien: function (link, co, naco) {
        link.attr('href', $P.str_replace(co, naco, link.attr('href')))
            .attr('title', naco).html(naco)
            .removeClass('b-'+co)
            .addClass('b-'+naco);
    }
}

/**
 * Djet konkurs
 */
var Djet = {
    czerwonyBoks : null,
    init: function(){        
        if( _CONTROLLER != "uzytkownicy" ){
            return false;
        }

        // akceptacja regulaminu
        $('#djet_regulamin').click(function () {
            var status;
            if ($(this).hasClass('stan_T')) {
                status = 'T';
            } else if ($(this).hasClass('stan_N')) {
                status = 'N';
            }
            
            if (status == 'N') {
	            $.ajax({
				   type: "POST",
				   url: "/uzytkownicy/djet/",
				   data: "krok=regulamin&status="+status,
				   success: function(msg){
				     if (status == 'N') {
				         $("#djet_regulamin").removeClass('djetpro-uncheck stan_N').addClass('djetpro-check stan_T');
				         Djet.sprawdzKroki();
				     }
				   }
	            });
            }
        });
        
        // kod sms
        $('#djet_sms').keyup(function () {
            if ($(this).val().length == 5) {
                $(this).animate({"opacity" : 1}, {"duration" : 1000, "complete" : function () {
                    if ($(this).val().length == 5) {
                        // dlugosc kodu odpowiednia, blokujemy
                        $(this).attr('disabled', true);                        
                        $.ajax({
                            type : "POST",
                            url : "/uzytkownicy/djet/",
                            data : "krok=kod_sms&kod="+$(this).val(),
                            success : function (msg) {
                                if ($P.is_numeric(msg)) {
                                    if (Djet.czerwonyBoks != 1) {
	                                    // wrocil numer bledu
	                                    var error = _LANG[msg];
	                                    $('p.greenbox > strong').html(error);
	                                    $('p.greenbox').css('background', 'red').show();
	                                    // pozwalamy wpisac nowy kod 
	                                    $('#djet_sms').val('');
	                                    $('#djet_sms').removeAttr('disabled');      
                                    }                              
                                } else if (msg == 'ok') {
                                    $("#djetpro2").hide();
                                    $("#sms_div").removeClass('djetpro-uncheck').addClass('djetpro-check');
                                    Djet.sprawdzKroki();
                                    Djet.czerwonyBoks = 1;
                                }
                            }
                        });
                    }
                }});
            }
        });
        
        $("#nagroda_1,#nagroda_2,#nagroda_3").click(function (e) {
            label = $(this);
            nagroda = $(this).attr('id');
            // komunikat
            Komunikaty.pokaz('confirm', 'Czy na pewno chcesz wybrać tą nagrodę?', function () {
                $.ajax({
	                type : "POST",
	                url : "/uzytkownicy/djet/",
	                data : "krok=nagroda&ktora="+nagroda,
	                success : function (msg) {
	                   if (msg == 'ok') {
	                       $("#djetpro1").hide();
	                       $("#nagroda_div").removeClass('djetpro-uncheck').addClass('djetpro-check');
	                       Djet.sprawdzKroki();
	                   } else if (msg == 205) {
                           $('p.greenbox > strong').html(_LANG[msg]);
                           $('p.greenbox').css('background', 'red').show();
                           var doUsuniecia = '#nagroda_'+nagroda;
                           label.remove();
	                   }
	                }
                });
            });
        });
        
        Djet.sprawdzKroki();
    },
    sprawdzKroki: function () {
        $('p.greenbox').hide();
        if ($('.djetpro > div.djetpro-check').length == 4) {
            $('p.greenbox').css('background', '#3EA909');
	        $('p.greenbox > strong').html(_LANG[203]);
	        $('p.greenbox').show();
        }
    }
}

/**
 * Komunikaty na warstwie
 *
 */
var Komunikaty =
{
	aktualny_komunikat: null,
	ukrywac_overlay: true,

	// inicjalizacja komunikatów
	init: function() {
		// wyświetlenie komunikatu ustawianego po stronie serwera
		var komunikat = $.cookie('komRmf');

		if( komunikat ){
			Komunikaty.pokaz("ok", _LANG[komunikat]);
			$.cookie('komRmf', null, { path: '/' });
		} else {
		    var komunikatDziekuje = $.cookie('komRmfD');
		    if ( komunikatDziekuje ) {
		      Komunikaty.pokaz("dziekujemy_zog", '');
		      $.cookie('komRmfD', null, { path: '/' });
		    }
		}
	
		// przechwycenie wszystkich linków z confirmem
		$("a.xconfirm, a.xtaknie").click(function(e) {
			// treśc komunikatu
			var rel = $(this).attr("rel").match(/^komunikat\[([0-9]+)\]$/);
			// jeśli przekazano indeks langu w atrybucie rel
			if ( rel ) {
				var tresc = _LANG[rel[1]];
			}
			// jeśli nie, to domyślna treść
			else {
				var tresc = _LANG[98];
			}
			
			// rodzaj komunikatu (confirm, taknie)
			if ( $(this).hasClass("xconfirm") ) {
				var rodzaj = "confirm";
			}
			else if ( $(this).hasClass("xtaknie") ) {
				var rodzaj = "taknie";
			}
			
			// wyświetlenie komunikatu
			Komunikaty.pokaz(rodzaj, tresc, this.href );
			return false;
		});
	},
	
	/**
	 * wyświetlenie komunikatu
	 *
	 * @param string rodzaj - ok, confirm, taknie
	 * @param string tresc - treść komunikatu
	 * @param string/function ok - URL lub funkcja podpinana pod przycisk OK/TAK
	 * @param string/function anuluj - URL lub funkcja podpinana pod przycisk NIE/ANULUJ
	 *
	 */	
	pokaz: function(rodzaj, tresc, ok, anuluj) {
		main.scrollToTop();
		$('#overlay').show();
		this.ukrywac_overlay = true;
		
		this.aktualny_komunikat = rodzaj;
		
		var k = $("#komunikat_"+rodzaj);
		k.find(".frm-txt p").html(tresc);
		k.show();
		
		var window_size = getInnerDimensions();
		var wysokosc_okna = window_size[1];
		var wysokosc_okna_dodaj_galerie = k.height();
		var top = (wysokosc_okna - wysokosc_okna_dodaj_galerie) /2;
		k.animate({ top: top+"px"  }, 500 );
	
		// przycisk OK
		if ( typeof(ok) == "string" ) {
			$("a.kom_ok")
				.attr("href", ok)
				.unbind()
				.click(function(e) {
					return true;
				});
		}
		else if ( typeof(ok) == "function" ) {
			$("a.kom_ok")
				.attr("href", "#")
				.unbind()
				.click(function(e) {
					ok();
					Komunikaty.ukryj();
					return false;
				});
		}
		else {
			$("a.kom_ok")
				.attr("href", "#")
				.unbind()
				.click(function(e) {
					Komunikaty.ukryj();
					return false;
				});
		}
		
		// przycisk ANULUJ
		if ( typeof(anuluj) == "string" ) {
			$("a.kom_anuluj")
				.attr("href", anuluj)
				.unbind()
				.click(function(e) {
					return true;
				});
		}
		else if ( typeof(anuluj) == "function" ) {
			$("a.kom_anuluj")
				.attr("href", "#")
				.unbind()
				.click(function(e) {
					anuluj();
					Komunikaty.ukryj();
					return false;
				});
		}
		else {
			$("a.kom_anuluj")
				.attr("href", "#")
				.unbind()
				.click(function(e) {
					Komunikaty.ukryj();
					return false;
				});
		}
		
	},
	
	// ukrywa komunikat
	ukryj: function() {
		if ( this.ukrywac_overlay ) {
			$("#overlay").hide();
		}
		$("#komunikat_"+this.aktualny_komunikat).animate(
			{ top: "-700px"  },
			500
		);
		
		/*
		function() {
			if ( Komunikaty.ukrywac_overlay ) {
				$("#overlay").hide("slow");
			}
		}
		*/
	}
}

function getInnerDimensions() {
	var x,y;
	if (self.innerHeight) // all except Explorer
	{
		x = self.innerWidth;
		y = self.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientHeight)
		// Explorer 6 Strict Mode
	{
		x = document.documentElement.clientWidth;
		y = document.documentElement.clientHeight;
	}
	else if (document.body) // other Explorers
	{
		x = document.body.clientWidth;
		y = document.body.clientHeight;
	}
	
	return [x,y];
}


// kopia funkcji jest tez w forum/header.php
function popupRadio() {
	width = 550;
	height = 425;
	parameters = "location="+location.host+"/radio/,menubar=0,height="+height+",width="+width+",toolbar=0,scrollbars=0,status=0,resizable=1,left="+(screen.width-width)/2+",screenX=" + (screen.width-width)/2 + ",top=" + (screen.height-(height + 110))/2  + ",screenY=" + (screen.height-(height + 110))/2;
	window.open('http://'+location.host+'/radio/', 'Radio', parameters).focus();
}

function analyticLink(targetUrl, analyticString) {
  //pageTracker._trackPageview(analyticString);
  //document.location.href = targetUrl;
}

function analyticView(analyticString) {
  _gaq.push(['b._trackPageview', analyticString]);

}

$(document).ready(function() {
	main.init();
	$('.humanc').val('1');
});

function zGo(url, analytic_id) {
//  pageTracker._trackPageview(analytic_id);
  analyticView(analytic_id);
  setTimeout('pGo(\''+url+'\');',900);
}

function pGo(url) {
  document.location.href = url;
}

try {document.execCommand('BackgroundImageCache', false, true);} catch(e) {}


/* File: yshout.js (modyfikacja: 2009-07-13 19:45:34 */ 

String.prototype.sReplace = function(find, replace) {
	return this.split(find).join(replace);
};

String.prototype.repeat = function(times) {
	var rep = new Array(times + 1);
	return rep.join(this);
}

var YShout = function() {
	var self = this;
	var args = arguments;
	jQuery(document).ready(function() {
		self.init.apply(self, args);
	});
} 

var yShout;

YShout.prototype = {
	animSpeed: 300,
	p: [],
		
	init: function(options) {
		yShout = this;
		var self = this;
		
		this.initializing = true;
		
		var dOptions = {
			yPath: 'yshout/',
			prefsName: 'yshout.prefs',
			log: 1,
			showForm: true
		};

		this.options = jQuery.extend(dOptions, options);

		this.postNum = 0;
		this.floodAttempt = 0;	
		
		// Correct for missing trailing /
		if ((this.options.yPath.length > 0) && (this.options.yPath.charAt(this.options.yPath.length - 1) != '/'))
			this.options.yPath += '/';
		
		if (this.options.yLink) {
			if (this.options.yLink.charAt(0) != '#')
				this.options.yLink = '#' + this.options.yLink;
		
			jQuery(this.options.yLink).click(function() {
				self.openYShout.apply(self);
				return false;
			});
		}
		
		// Load YShout from a link, in-page
		if (this.options.h_loadlink) {
			jQuery(this.options.h_loadlink).click(function() {
				jQuery('#yshout').css('display', 'block');
				jQuery(this).unbind('click').click(function() { return false; });
				return false;
			});
			this.load(true);
		} else
			this.load();
		

	},
	
	load: function(hidden) {
		if (jQuery('#yshout').length == 0) return;

		if (hidden) jQuery('#yshout').css('display', 'none');
		
		this.ajax(this.initialLoad, { 
			reqType: 'init',
			yPath: this.options.yPath,
			prefsName: this.options.prefsName,
			log: this.options.log
		});
	},
	
	initialLoad: function(updates) {
		if (updates.yError) alert('There appears to be a problem: \n' + updates.yError + '\n\nIf you haven\'t already, try chmodding everything inside the YShout directory to 777.');
		this.d('In initialLoad');
		var self = this;
		
		this.prefs = jQuery.extend(updates.prefs, this.options.prefs);
		this.initForm();
		this.initRefresh();
		this.initLinks();
		if (this.prefs.flood) this.initFlood();

		if (updates)
			this.updates(updates);
	
		
		if (!this.prefs.doTruncate) {
			jQuery('#ys-posts').css('height', jQuery('#ys-posts').height + 'px');
		}

		if (!this.prefs.inverse) {
			var postsDiv = jQuery('#ys-posts')[0];
			postsDiv.scrollTop = postsDiv.scrollHeight;
		}

		this.markEnds();
		
		this.initializing = false;
	},

	initForm: function() {
		this.d('In initForm');
		
		  if (this.options.showForm)
		    var postForm = 
  			'<form id="ys-post-form"' + (this.prefs.inverse ? 'class="ys-inverse"' : '' ) + '><fieldset>' +
	   			'<input id="ys-input-message" value="' + this.prefs.defaultMessage + '" type="text" accesskey="M" maxlength="' + this.prefs.messageLength + '" class="ys-before-focus" />' +
		   		(this.prefs.showSubmit ? '<input id="ys-input-submit" value="' + this.prefs.defaultSubmit + '" accesskey="S" type="submit" />' : '') +
			   	(this.prefs.postFormLink == 'cp' ? '<a title="View YShout Control Panel" class="ys-post-form-link" id="ys-cp-link" href="' + this.options.yPath + 'cp/">Admin CP</a>' : '') +
				  (this.prefs.postFormLink == 'history' ? '<a title="View YShout History" class="ys-post-form-link" id="ys-history-link" href="' + this.options.yPath + 'history/?log=' + this.options.log + '">View History</a>' : '') +
			 '</fieldset></form>';
			else
			  var postForm = '';

		var postsDiv = '<div id="ys-posts"></div>';

		if (this.prefs.inverse) jQuery('#yshout').html(postForm + postsDiv);
		else jQuery('#yshout').html(postsDiv + postForm);
		
		jQuery('#ys-posts')
			.before('<div id="ys-before-posts"></div>')
			.after('<div id="ys-after-posts"></div>');
		
		jQuery('#ys-post-form')
			.before('<div id="ys-before-post-form"></div>')
			.after('<div id="ys-after-post-form"></div>');
		
		var self = this;

		var defaults = { 
			'ys-input-message': self.prefs.defaultMessage
		};

		var keypress = function(e) { 
			var key = window.event ? e.keyCode : e.which; 
			if (key == 13 || key == 3) {
				self.send.apply(self);
				return false;
			}
		};

		var focus = function() { 
			if (this.value == defaults[this.id])
				jQuery(this).removeClass('ys-before-focus').addClass( 'ys-after-focus').val('');
		};

		var blur = function() { 
			if (this.value == '')
				jQuery(this).removeClass('ys-after-focus').addClass('ys-before-focus').val(defaults[this.id]); 
		};

		jQuery('#ys-input-message').keypress(keypress).focus(focus).blur(blur);

		jQuery('#ys-input-submit').click(function(){ self.send.apply(self) });
		jQuery('#ys-post-form').submit(function(){ return false });
	},

	initRefresh: function() {
		var self = this;
		if (this.refreshTimer) clearInterval(this.refreshTimer)
		this.refreshTimer = setInterval(function() {
			self.ajax(self.updates,
               { reqType: 'refresh',
                 yPath: yShout.options.yPath,
			           prefsName: yShout.options.prefsName,
			           log: yShout.options.log });
		}, this.prefs.refresh); // ! 3000..?
	},

	initFlood: function() {
		this.d('in initFlood');
		var self = this;
		this.floodCount = 0;
		this.floodControl = false;

		this.floodTimer = setInterval(function() {
			self.floodCount = 0;
		}, this.prefs.floodTimeout);
	},

	initLinks: function() {
		if (jQuery.browser.msie) return;
		
		var self = this;

		jQuery('#ys-cp-link').click(function() {
			self.openCP.apply(self);
			return false;
		});

		jQuery('#ys-history-link').click(function() {
			self.openHistory.apply(self);
			return false;
		});

	},
	
	openCP: function() {
		var self = this;
		if (this.cpOpen) return;
		this.cpOpen = true;
		
		var url = this.options.yPath + 'cp/';

		jQuery('body').append('<div id="ys-overlay"></div><div class="ys-window" id="ys-cp"><a title="Close Admin CP" href="#" id="ys-closeoverlay-link">Close</a><a title="View History" href="#" id="ys-switchoverlay-link">View History</a><object class="ys-browser" id="cp-browser" data="' + url +'" type="text/html">Something went horribly wrong.</object></div>');

		jQuery('#ys-overlay, #ys-closeoverlay-link').click(function() { 
			self.reload.apply(self, [true]);
			self.closeCP.apply(self);
			return false; 
		}); 
		
		jQuery('#ys-switchoverlay-link').click(function() { 
			self.closeCP.apply(self);
			self.openHistory.apply(self);
			return false;
		});

	},

	closeCP: function() {
		this.cpOpen = false;
		jQuery('#ys-overlay, #ys-cp').remove();
	},

	openHistory: function() {
		var self = this;
		if (this.hOpen) return;
		this.hOpen = true;
		var url = this.options.yPath + 'history/?log='+ this.options.log;
		jQuery('body').append('<div id="ys-overlay"></div><div class="ys-window" id="ys-history"><a title="Close history" href="#" id="ys-closeoverlay-link">Close</a><a title="View Admin CP" href="#" id="ys-switchoverlay-link">View Admin CP</a><object class="ys-browser" id="history-browser" data="' + url +'" type="text/html">Something went horribly wrong.</object></div>');

		jQuery('#ys-overlay, #ys-closeoverlay-link').click(function() { 
			self.reload.apply(self, [true]);
			self.closeHistory.apply(self);
			return false; 
		}); 

		jQuery('#ys-switchoverlay-link').click(function() { 
			self.closeHistory.apply(self);
			self.openCP.apply(self);
			return false;
		});

	},

	closeHistory: function() {
		this.hOpen = false;
		jQuery('#ys-overlay, #ys-history').remove();
	},
	
	openYShout: function() {
		var self = this;
		if (this.ysOpen) return;
		this.ysOpen = true;
		url = this.options.yPath + 'example/yshout.html';

		jQuery('body').append('<div id="ys-overlay"></div><div class="ys-window" id="ys-yshout"><a title="Close YShout" href="#" id="ys-closeoverlay-link">Close</a><object class="ys-browser" id="yshout-browser" data="' + url +'" type="text/html">Something went horribly wrong.</object></div>');
	
		jQuery('#ys-overlay, #ys-closeoverlay-link').click(function() { 
			self.reload.apply(self, [true]);
			self.closeYShout.apply(self);
			return false; 
		}); 
	},

	closeYShout: function() {
		this.ysOpen = false;
		jQuery('#ys-overlay, #ys-yshout').remove();
	},
	
	send: function() {
		if (!this.validate()) return;
		if (this.prefs.flood && this.floodControl) return;

		var	postMessage = jQuery('#ys-input-message').val();

		if (postMessage == '/cp')
			this.openCP();
		else if (postMessage == '/history')
			this.openHistory();
		else
			this.ajax(this.updates, {
				reqType: 'post',
				nickname: '',
				message: postMessage,
        yPath: this.options.yPath,
        prefsName: this.options.prefsName,
        log: this.options.log				
			});

		jQuery('#ys-input-message').val('')

		if (this.prefs.flood) this.flood();
	},

	validate: function() {
		var 	message = jQuery('#ys-input-message').val(),
			error = false;

		var showInvalid = function(input) {
			jQuery(input).removeClass('ys-input-valid').addClass('ys-input-invalid')[0].focus();
			error = true;
		}

		var showValid = function(input) {
			jQuery(input).removeClass('ys-input-invalid').addClass('ys-input-valid');
		}

		if (message == '' || message == this.prefs.defaultMessage)
			showInvalid('#ys-input-message');
		else
			showValid('#ys-input-message');

		return !error;
	},

	flood: function() {
		var self = this;
		this.d('in flood');
		if (this.floodCount < this.prefs.floodMessages) {
			this.floodCount++;
			return;
		}

		this.floodAttempt++;
		this.disable();

		if (this.floodAttempt == this.prefs.autobanFlood)
			this.banSelf('You have been banned for flooding the shoutbox!');
			
		setTimeout(function() {
			self.floodCount = 0;
			self.enable.apply(self);
		}, this.prefs.floodDisable);
	},

	disable: function () {
		jQuery('#ys-input-submit')[0].disabled = true;
		this.floodControl = true;
	},

	enable: function () {
		jQuery('#ys-input-submit')[0].disabled = false;
		this.floodControl = false;
	},
	
	findBySame: function(ip) {
		if (!jQuery.browser.safari) return;
		
		var same = [];
		for (var i = 0; i < this.p.length; i++)
			if (this.p[i].adminInfo.ip == ip) 
				same.push(this.p[i]);
		
		for (var i = 0; i < same.length; i++) {
			jQuery('#' + same[i].id).fadeTo(this.animSpeed, .8).fadeTo(this.animSpeed, 1);
		}
	},
	
	updates: function(updates) {
		if (!updates) return;
		if (updates.prefs) this.prefs = updates.prefs;
		if (updates.posts) this.posts(updates.posts);
		if (updates.banned) this.banned();
	},

	banned: function() {
		var self = this;
		clearInterval(this.refreshTimer);
		clearInterval(this.floodTimer);
		if (this.initializing)
			jQuery('#ys-post-form').css('display', 'none');
		else
			jQuery('#ys-post-form').fadeOut(this.animSpeed);
		
		if (jQuery('#ys-banned').length == 0) {
			jQuery('#ys-input-message')[0].blur();
			jQuery('#ys-posts').append('<div id="ys-banned"><span>You\'re banned. Click <a href="#" id="ys-unban-self">here</a> to unban yourself if you\'re an admin. If you\'re not, go <a href="' + this.options.yPath + 'cp/" id="ys-banned-cp-link">log in</a>!</span></div>');

			jQuery('#ys-banned-cp-link').click(function() {
				self.openCP.apply(self);
				return false;
			});
			
			jQuery('#ys-unban-self').click(function() {
				self.ajax(function(json) {
					if (!json.error)
						self.unbanned();
					 else if (json.error == 'admin')
						alert('You can only unban yourself if you\'re an admin.');
				}, { reqType: 'unbanself' });
				return false;
			});
		}		
	},

	unbanned: function() {
		var self = this;
		jQuery('#ys-banned').fadeOut(function() { jQuery(this).remove(); });
		this.initRefresh();
		jQuery('#ys-post-form').css('display', 'block').fadeIn(this.animSpeed, function(){
			self.reload();
		});
	},
	
	posts: function(p) {
		for (var i = 0; i < p.length; i++) {
			this.post(p[i]);
		}
		
		this.truncate();
		
		if (!this.prefs.inverse) {
			var postsDiv = jQuery('#ys-posts')[0];
			postsDiv.scrollTop = postsDiv.scrollHeight;
		}
	},

	post: function(post) {
		var self = this;
	
		var pad = function(n) { return n > 9 ? n : '0' + n; };
		var date = function(ts) { return new Date(ts * 1000); };
		var time = function(ts) { 
			var d = date(ts);
			var h = d.getHours(), m = d.getMinutes();

			if (self.prefs.timestamp == 12) {
				h = (h > 12 ? h - 12 : h);
				if (h == 0) h = 12;
			}

			return pad(h) + ':' + pad(m);
		};

		var dateStr = function(ts) {
			var t = date(ts);

		  var Y = t.getFullYear();
		  var M = t.getMonth();
		  var D = t.getDay();
		  var d = t.getDate();
		  var day = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'][D];
		  var mon = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
		             'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'][M];

		  return day + ' ' + mon + '. ' + d + ', ' + Y;
		};

		var self = this;

		this.postNum++;
		var id = 'ys-post-' + this.postNum;
		post.id = id;
		
		post.message = this.links(post.message);
		post.message = this.smileys(post.message);
		post.message = this.bbcode(post.message);
		var html = 
			'<div id="' + id + '" class="ys-post' + (post.admin ? ' ys-admin-post' : '') + (post.banned ? ' ys-banned-post' : '') + '">' +
				(this.prefs.timestamp> 0 ? '<span class="ys-post-timestamp">' + time(post.timestamp) + '</span> ' : '') +
				'<span class="ys-post-nickname">' + post.nickname + this.prefs.nicknameSeparator + '</span> ' +
				'<span class="ys-post-message">' + post.message + '</span> ' +
//				'<span class="ys-post-info' + (this.prefs.info == 'overlay' ? ' ys-info-overlay' : ' ys-info-inline') + '">' + (post.adminInfo ? '<em>IP:</em> ' + post.adminInfo.ip + ', ' : '') + '<em>Posted:</em> ' + dateStr(post.timestamp) + ' at ' + time(post.timestamp)  + '.</span>' +
//				'<span class="ys-post-actions"><a title="Show post information" class="ys-info-link" href="#">Info</a>'  + (post.adminInfo ? ' | <a title="Delete post" class="ys-delete-link" href="#">Delete</a> | ' + (post.banned ? '<a title="Unban user" class="ys-ban-link" href="#">Unban</a>' : '<a title="Ban user" class="ys-ban-link" href="#">Ban</a>') : '') + '</span>' +
			'</div>';
		if (this.prefs.inverse) jQuery('#ys-posts').prepend(html);
		else jQuery('#ys-posts').append(html);
		
		this.p.push(post);

		jQuery('#' + id)
			.find('.ys-info-link').toggle(
				function() { self.showInfo.apply(self, [id, this]); return false; },
				function() { self.hideInfo.apply(self, [id, this]); return false; })
			.end()
			.find('.ys-ban-link').click(
				function() { self.ban.apply(self, [post, id]); return false; })
			.end()
			.find('.ys-delete-link').click(
				function() { self.del.apply(self, [post, id]); return false; });
			
	},
	
	showInfo: function(id, el) {
		var jEl = jQuery('#' + id + ' .ys-post-info');
		if (this.prefs.info == 'overlay')
			jEl.css('display', 'block').fadeIn(this.animSpeed);
		else
			jEl.slideDown(this.animSpeed);
		
		el.innerHTML ='Close Info'
		return false;
	},
	
	hideInfo: function(id, el) {
		var jEl = jQuery('#' + id + ' .ys-post-info');
		if (this.prefs.info == 'overlay')
			jEl.fadeOut(this.animSpeed);
		else
			jEl.slideUp(this.animSpeed);
			
		el.innerHTML = 'Info';
		return false;
	}, 
	
	ban: function(post, id) {
		var self = this;

		var link = jQuery('#' + id).find('.ys-ban-link')[0];

		switch(link.innerHTML) {
			case 'Ban':
				var pars = {
					reqType: 'ban',
					ip: post.adminInfo.ip,
					nickname: post.nickname
				};

				this.ajax(function(json) {
					if (json.error) {
						switch (json.error) {
							case 'admin':
								self.error('You\'re not an admin. Log in through the Admin CP to ban people.');
								break;
						}
						return;
					}
					//alert('p: ' + this.p + ' / ' + this.p.length);
					if (json.bannedSelf)
						self.banned(); // ?
						
					else 						
						jQuery.each(self.p, function(i) {
							if (this.adminInfo && this.adminInfo.ip == post.adminInfo.ip) 
									jQuery('#' + this.id)
										.addClass('ys-banned-post')
										.find('.ys-ban-link').html('Unban');
						});
						
				}, pars);
				
				link.innerHTML = 'Banning...';
				return false;
				break;
			
			case 'Banning...':
				return false;
				break;
			
			case 'Unban':
				var pars = {
					reqType: 'unban',
					ip: post.adminInfo.ip
				};
	
				this.ajax(function(json) {
					if (json.error) {
						switch(json.error) {
							case 'admin':
								self.error('You\'re not an admin. Log in through the Admin CP to unban people.');
								return;
								break;
						}
					}
					
					jQuery.each(self.p, function(i) {
						if (this.adminInfo && this.adminInfo.ip == post.adminInfo.ip) 
							jQuery('#' + this.id)
								.removeClass('ys-banned-post')
								.find('.ys-ban-link').html('Ban');
					});
					
				}, pars);
	
				link.innerHTML = 'Unbanning...';
				return false;
				break;
				
			case 'Unbanning...':
				return false;
				break;
		}
	},
	
	del: function(post, id) {
		var self = this;
		var link = jQuery('#' + id).find('.ys-delete-link')[0];

		if (link.innerHTML == 'Deleting...') return;
	
		var pars = {
			reqType: 'delete',
			uid: post.uid
		};

		self.ajax(function(json) {
			if (json.error) {
				switch(json.error) {
					case 'admin':
						self.error('You\'re not an admin. Log in through the Admin CP to ban people.');
						return;
						break;
				}
			}
			self.reload();
		}, pars);

		link.innerHTML = 'Deleting...';
		return false;

	},
	
	banSelf: function(reason) {
		var self = this;

		this.ajax(function(json) {
			if (json.error == false)
				self.banned();
		}, {
			reqType: 'banself',
			nickname: jQuery('#ys-input-nickname').val() 
		});
	},

	bbcode: function(s) {
		/*
		s = s.sReplace('[i]', '<i>');
		s = s.sReplace('[/i]', '</i>');
		s = s.sReplace('[I]', '<i>');
		s = s.sReplace('[/I]', '</i>');

		s = s.sReplace('[b]', '<b>');
		s = s.sReplace('[/b]', '</b>');
		s = s.sReplace('[B]', '<b>');
		s = s.sReplace('[/B]', '</b>');

		s = s.sReplace('[u]', '<u>');
		s = s.sReplace('[/u]', '</u>');
		s = s.sReplace('[U]', '<u>');
		s = s.sReplace('[/U]', '</u>');
		*/
		return s;
	},
	
	smileys: function(s) {
		var yp = this.options.yPath;
		
		var smile = function(str, smiley, image) {
			return str.sReplace(smiley, '<img src="' + yp + 'smileys/' + image + '" />');
		};

		s = smile(s, ':twisted:',  'twisted.gif');
		s = smile(s, ':cry:',  'cry.gif');
		s = smile(s, ':\'(',  'cry.gif');
		s = smile(s, ':shock:',  'eek.gif');
		s = smile(s, ':evil:',  'evil.gif');
		s = smile(s, ':lol:',  'lol.gif');
		s = smile(s, ':mrgreen:',  'mrgreen.gif');
		s = smile(s, ':oops:',  'redface.gif');
		s = smile(s, ':roll:',  'rolleyes.gif');

		s = smile(s, ':?',  'confused.gif');
		s = smile(s, ':D',  'biggrin.gif');
		s = smile(s, '8)',  'cool.gif');
		s = smile(s, ':x',  'mad.gif');
		s = smile(s, ':|',  'neutral.gif');
		s = smile(s, ':P',  'razz.gif');
		s = smile(s, ':(',  'sad.gif');
		s = smile(s, ':)',  'smile.gif');
		s = smile(s, ':o',  'surprised.gif');
		s = smile(s, ';)',  'wink.gif');

		return s;
	},

	links: function(s) {
		return s.replace(/((https|http|ftp|ed2k):\/\/[\S]+)/gi, '&lt;publikacja linków zabroniona&gt;');
	},

	truncate: function(clearAll) {
		var truncateTo = clearAll ? 0 : this.prefs.truncate;
		var posts = jQuery('#ys-posts .ys-post').length;
		if (posts <= truncateTo) return;
		//alert(this.initializing);
		if (this.prefs.doTruncate || this.initializing) {
			var diff = posts - truncateTo;
			for (var i = 0; i < diff; i++)
				this.p.shift();
			
			//	jQuery('#ys-posts .ys-post:gt(' + truncateTo + ')').remove();

			if (this.prefs.inverse) 
				jQuery('#ys-posts .ys-post:gt(' + (truncateTo - 1) + ')').remove();
				else 
				jQuery('#ys-posts .ys-post:lt(' + (posts - truncateTo) + ')').remove();
		}
		
		this.markEnds();		
	},
	
	markEnds: function() {
		jQuery('#ys-posts')
			.find('.ys-first').removeClass('ys-first').end()
			.find('.ys-last').removeClass('ys-last');
			
		jQuery('#ys-posts .ys-post:first-child').addClass('ys-first');
		jQuery('#ys-posts .ys-post:last-child').addClass('ys-last');
	},
	
	reload: function(everything) {
		var self = this;
		this.initializing = true;
		
		if (everything) {
			this.ajax(function(json) { 
				jQuery('#yshout').html(''); 
				clearInterval(this.refreshTimer);
				clearInterval(this.floodTimer);
				this.initialLoad(json); 
			}, { 
				reqType: 'init',
				yPath: this.options.yPath,
        prefsName: this.options.prefsName,				
				log: this.options.log
			});
		} else {
			this.ajax(function(json) { this.truncate(true); this.updates(json); this.initializing = false; }, {
				reqType: 'reload'
			});
		}
	},

	error: function(str) {
		alert(str);
	},

	json: function(parse) {
		this.d('In json: ' + parse);
		var json = eval('(' + parse + ')');
		if (!this.checkError(json)) return json;
	},

	checkError: function(json) {
		if (!json.yError) return false;

		this.d('Error: ' + json.yError);
		return true;
	},

	ajax: function(callback, pars, html) {
		pars = jQuery.extend({
			reqFor: 'shout'
		}, pars);

		var self = this;
/*
		jQuery.post(this.options.yPath + 'yshout.php', pars, function(parse) {
			if (parse)
				if (html)
					callback.apply(self, [parse]);
				else
					callback.apply(self, [self.json(parse)]);
			else
				callback.apply(self);
		});
		
		*/
		
 $.ajax({
   type: "GET",
   url: this.options.yPath + 'yshout.php',
   cache: true,
   data: pars,
   success: function(parse){
			if (parse)
				if (html)
					callback.apply(self, [parse]);
				else
					callback.apply(self, [self.json(parse)]);
			else
				callback.apply(self);
   }
 });

	},

	d: function(message) {
		jQuery('#debug').css('display', 'block').prepend('<p>' + message + '</p>');
		return message;
	}
};
