//version 1.1813
var smLocal=smUrl(window.location.href);
var noReload=false;
var incrNum=0;
var isLoading=0;
var jq = jQuery;

var fm2={
   beforeUnloadChk:{}
   ,buf:{}
   ,nextIdNum:0
   ,autoAliasSwitch:0
   ,conf:{}
   ,preloadArr:{}
   ,historySupport:false
   ,initFm2:function(conf){
      if(conf.historyjs){
        fm2.initConvertLinks();
      }
      if(isset(conf.sconf)){
         $.extend(fm2.conf,conf.sconf);
      }
   }
   ,initConvertLinks:function(sel){
         (function(window,undefined){
	    var History = window.History;
	    if ( !History.enabled ) {
	       return false;
	    }
	    fm2.historySupport=true;
	    History.Adapter.bind(window,'statechange',function(){
	       var State = History.getState();
	       var url=State.url;
      	       url=url+(url.match(/\?/)?'&':'?')+'ajax=1';
      	       $.get(url,function(data){
         	 processResponse(data);
      	       });
	    });
	    fm2.converLinks(isset(sel)?sel:'a[href]:not([onclick])'
	           +':not(div.login-l-logged a):not(div.system-admincontent a)'
                    +':not(a.no-parse)');
         })(window);
   }
   ,serialize:function(arr,sub){
     if(typeof(arr)=='object'){
        var a=new Array();
        $.each(arr,function(k,v){
          if(typeof(v)!='function') a[a.length]=k+':'+fm2.serialize(v,1);
        });
        var s=e='';
        if(!isset(sub)){
            s='(';
            e=')';
        }
        return s+'{'+a.join(',')+'}'+e;
     }
     else{
        return arr;
     }
   }
   ,converLinks:function(sel){
      $(sel).live('click.historyjs',function(e){
        var i=$(this);
        var url=i.attr('href');
        e.preventDefault();
        fm2.loadUrl(url);
      });
   }
   ,loadUrl:function(url){
      History.pushState({},document.title,url);
   }
   ,addPreloadImage:function(url,id){
     switch(typeof(url)){
       case 'object':
       $.each(url,function(k,v){
          fm2.addPreloadImage(v,k);
       });
       break;
       case 'string':
        if(!isset(id)) var id='a'+fm2.nextId();
        if(url.length>0) fm2.preloadArr[id]=url;
       break;
     }
     if(!isset(fm2.buf['preloadImage_started'])){
        fm2.preloadImage();
	fm2.buf['preloadImage_started']=1;
     }
   }
   ,preloadImage:function(){
      var nxt=false;
      if(!isset(fm2.buf.preloadImage_Loaded)) fm2.buf.preloadImage_Loaded={};
      $.each(fm2.preloadArr,function(k,v){
         if(isset(v)&&!nxt&&!fm2.buf.preloadImage_Loaded[k]){
	    nxt=k;
	 }
      });
      if(nxt){
         var img=new Image();
	 $(img).load(function(){
	    delete fm2.preloadArr[nxt];
	    fm2.preloadImage();
            fm2.buf.preloadImage_Loaded[nxt]=true;
	 }).attr('src',fm2.preloadArr[nxt].replace(/\&amp\;/g,'&'));
      }
      else{
         setTimeout(function(){
	    fm2.preloadImage();
	 },1000);
      }
    }
   ,nextId:function(){
      var nid=fm2.nextIdNum;
      fm2.nextIdNum++;
      return nid;
   }
   ,cookieS:function(){
      return {
        path:fm2.conf.http_root.replace(/([^\:]+\:\/\/([^\/]+)(\/.*))/,'$3')
	,domain:fm2.conf.http_root.replace(/([^\:]+\:\/\/([^\/]+)(\/.*))/,'$2')
	};
   }
   ,groupDelete:function(cls,tbl){
      if(!confirm(langArr['confirm_del'].replace(/\[table\]/,tbl))) return false;
      if($('.'+cls+':checked').length<1) return;
      setLoading(1);
      var url='index.php?ajax=1&elm=fm2q';
      $('.'+cls+':checked').each(function(k,v){
        var sp=$(this).val().split('-');
	url=url+'&'+fmSerial+'q[]=delete/'+sp[1]+'/'+sp[2];
      });
      $.get(url,function(data){
         processResponse(data);
         setLoading(0);
      });
   }
   ,confirmListSubmit:function(msg,table){
      if($('div.system-list-'+table+' input[type=checkbox]:checked').length>0) return confirm(msg);
      return true;
   }
   ,hlSelectedInit:function(cls){
      $('.'+cls).each(function(k,v){
         var cc=$(this).val().replace(/[^\-]+/,'list');
	 $(this).change(function(){
	   fm2.hlSelectedItem(this,$('#'+cc));
	 });
      });
   }
   ,hlSelectedItem:function(itm,tar){
      if(!isset(tar)) var tar=itm;
      if($(itm).is(':checked')){
         $(tar).addClass('system-selected-item');
      }
      else{
         $(tar).removeClass('system-selected-item');
      }
   }
   ,hlSelectedRow:function(sel){
      $(sel).each(function(k,v){
        var row=$(this);
        var cb=row.find('input[type=checkbox]');
	row.find('td:not(:has(input,a))').bind('click.fm2selectrow',function(){
	   cb.attr('checked',(cb.is(':checked')?false:true)).trigger('change');
	}).css('cursor','pointer')
	;
	fm2.hlSelectedItem(cb,row);
	cb.change(function(){
	   fm2.hlSelectedItem(cb,row);
	});
      });
   }
   ,jurl:function(url){
      return url.replace(/\&amp\;/g,'&');
   }
   ,inplaceEditor:{
     url:function(){return fm2.conf.http_root+'index.php?ajax=1&elm=inplaceEditor&act=';}
     ,edit:function(sel){
       if(!isset(sel)) sel='.fm2editable';
       var f=$(sel);
       if(f.length<=0) return;
       var fields={};
       f.each(function(){
         var t=$(this);
         var cls=t.attr('class');
	 if(isset(cls)){
	   $.each(cls.split(/\s+/),function(k,v){
	      var sp=v.split(/\-/);
	      if(sp[0]=='fm2id'&&sp.length==4){
	         t.data('fm2id',{'table':sp[1],'id':sp[2],'field':sp[3]});
		 var key=sp[1]+'.'+sp[2];
		 if(!isset(fields[key])) fields[key]=[];
		 fields[key][fields[key].length]=sp[3];
	      }
	   });
	 }
       });
       var fa=[];
       $.each(fields,function(k,v){
          fa[fa.length]=k+':'+v.join('.');
       });
       var url=fm2.inplaceEditor.url()+'get&fields='+fa.join('|');
       setLoading(1);
       $.get(url,function(data){
          setLoading(0);
          if(!data) return;
	  fm2.inplaceEditor.replaceElements(f,strToJson(data));
       });
     }
     ,save:function(sel){
        if(!isset(sel)) sel='.fm2editable';
        var f=$(sel);
        if(f.length<=0) return true;
	var arr={};
	var id_set={};
	f.each(function(){
	   var t=$(this);
	   t.find('input,select,textarea').each(function(){
	      var e=$(this);
	      arr[e.attr('name')]=e.val();
	      id=t.data('fm2id');
	      var k=id.table+'.'+id.id;
	      if(!isset(id_set[k])){
	        arr[fmSerial+'['+id.table+'][id]['+id.id+']']=id.id;
	      }
	   });
	});
	arr[fmSerial+'vars[multipost]']=1;
	arr[fmSerial+'vars[utf8decode]']=1;
	setLoading(1);
	$.post(fm2.inplaceEditor.url()+'save&fmserial='+fmSerial,arr
	  ,function(data){
          setLoading(0);
          if(!data) return;
	  fm2.inplaceEditor.replaceElements(f,strToJson(data),1);
	});
      }
      ,replaceElements:function(elm,data,restoreElement){
          var f=$(elm);
	  f.each(function(){
	     var t=$(this);
	     var id=t.data('fm2id');
	     if(isset(restoreElement)){
	        var cl=t.data('fm2ElmClone');
		if(isset(cl)){
		  t.replaceWith(cl);
		  t=cl;
		}
	     }
	     else{
	        t.data('fm2ElmClone',t.clone(1))
		  .unbind('click.fm2selectrow')
		  .css('cursor','default');
	     }
	     t.html(data[id.table][id.id][id.field]);
	  });
      }
   }
   ,initEditRows:function(table){
     var btn=$('div.edit-rows-'+table).find('a.edit');
     var val1=btn.html();
     var sel='div.system-list-'+table+' .fm2editable';
     var tgl=function(){
       btn.unbind('click').click(function(e){
        e.preventDefault();
        fm2.inplaceEditor.edit(sel);
        $(this).unbind('click').bind('click',function(e){
          e.preventDefault();
	  fm2.inplaceEditor.save(sel);
	  tgl();
        }).html(langArr['save']);
      }).html(val1);
     }
     tgl();
   }
   ,initAudioRange:function(sel,table,id,sample,field,conf){
     var h=$(sel);
     var i=h.find('.info');
     var b=h.find('.cut');
     var s=h.find('div.range-slider');
     var op=h.find('.cut-output');
     var setInfo=function(start,end){
         i.html(fm2.format(start,'duration')+' - '+fm2.format(end,'duration')
	           +(start>0?' ('+fm2.format((end-start),'duration')+')':''));
     }
     setInfo(conf.values[0],conf.values[1]);
     s.slider($.extend({
         range:true 
         ,slide:function(event,ui){
	    setInfo(ui.values[0],ui.values[1]);
         }
       },conf));
     b.click(function(e){
        op.html('');
        e.preventDefault();
        setLoading(1);
        $.get(fm2.conf.http_root+'?ajax=1&elm=audioSample'
	   +'&start='+s.slider('values',0)
	   +'&end='+s.slider('values',1)
	   +'&table='+table
	   +'&id='+id
	   +'&sample='+sample
	   +'&field='+field
	   ,function(data){
	   setLoading(0);
	   op.html(data);
	   var player=h.find('.player');
	   player.jPlayer('destroy');
	   fm2.miniPlayer(sel,player.data('fm2curfile'),1);
	});
     });
   }
   ,miniPlayer:function(sel,file,no_cache,ready_action){
      $(sel+' .player').data('fm2curfile',file).jPlayer({
        ready: function () {
          $(this).jPlayer('setMedia', {
            mp3: file+(isset(no_cache)?(file.match(/\?/)?'&':'?')+'rand='+Math.random():'')
          });
	  if(isset(ready_action)){
	     ready_action(this);
	  }
        }
        ,swfPath: fm2.conf.http_root+'modules/audioPlayer/js'
        ,supplied: 'mp3'
	,cssSelectorAncestor:sel+' .controls'
	,cssSelector:{
	  play:'.play'
	  ,pause:'.pause'
	  ,currentTime:'.current-time'
	  ,stop:'.stop'
	  ,mute:'.mute'
	  ,unmute:'.unmute'
	  ,duration:'.duration'
	}
	,wmode:'window'
     });
   }
   ,format:function(val,output){
      var r;
      switch(output){
         case 'duration':
	 r='0:00';
	 if(val>0){
	    var oneh=60*60;
            var h=Math.floor(val/oneh);
            var m=Math.floor((val-(h*oneh))/60);
            var s=Math.ceil(val-(h*oneh+m*60));
            r=(h?h+":":"")
               +m+":"
               +(s<10?"0"+s:s)
               ;
	 }
	 break;
      }
      return r;
   }
   ,initQuickSearch:function(table,url){
      url=fm2.jurl(url);
      var tim;
      var h=$('#quicksearch-'+table);
      var e=$('#qsq-'+table,h);
      fm2.initOrderLinks(table,url);
      $('form',h).submit(function(){
         fm2.doQuickSearch(table,e.val(),url);
         return false;
      });
      $('#quicksearchclear',h).click(function(){
         fm2.doQuickSearch(table,'',url);
	 e.val('');
	 return false;
      });
      e.keypress(function(){
         clearTimeout(tim);
         tim=setTimeout(function(){
	    fm2.doQuickSearch(table,e.val(),url);
	 },500);
      }).attr('autocomplete','off');
   }
   ,initOrderLinks:function(table,url){
      var h=$('#quicksearch-'+table);
      var e=$('#qsq-'+table,h);
      $('.admin-orderlink',$('.system-list-'+table)).click(function(){
	$('#quicksearchorder',h).val(_GETU(fmSerial+'order',$(this).attr('href')));
	fm2.doQuickSearch(table,e.val(),url);
        return false;
      });
   }
   ,doQuickSearch:function(table,q,url){
       setLoading(1);
       var url=url+'&elm=quicksearch&ajax=1&table='+table+'&q='+q;
       var o=$('#quicksearchorder',$('#quicksearch-'+table));
       url=url+'&'+o.attr('name')+'='+o.val();
       $.get(url,function(data){
	 $('.system-list-'+table).html(data);
         fm2.initOrderLinks(table,url);
	 setLoading(0);
       });
   }
   ,initForm:function(sel,noajax){
     if(!isset(fm2.buf['formselector'])) fm2.buf['formselector']={};
     fm2.buf['formselector'][sel]=sel;
     var hasSpaw=false;
     $(sel).each(function(){
        $('.system-spaw-id',this).each(function(){
	   hasSpaw=true;
	});
     });
     if(hasSpaw){
        SpawEngine.addEventHandler('spawallinit','fm2.checkForms');
     }
     $(sel).each(function(ind){
       if(!isset(noajax)){
         $(this).attr('action',$(this).attr('action')+'&mode=ajaxsubmission');
         $(this).submit(function(){
            processForm(this);
            return false;
          });
	}
        if(!$(this).attr('id')) $(this).attr('id','fm2form'+fm2.nextId());
	if(!hasSpaw){
	  fm2.buf[$(this).attr('id')]=fm2.serializeForm(this);
	}
	$(this).submit(function(){
	   fm2.buf[$(this).attr('id')]=undefined;
	});
      });
   }
   ,beforeUnload:function(t){
      var msg=[];
      if(!isset(t)) var t=window;
      if(isset(t.fm2.buf['formselector'])){
        $.each(t.fm2.buf['formselector'],function(k,v){
           $(v).each(function(){
             if(isset(t.fm2.buf[$(this).attr('id')])){
               if(t.fm2.serializeForm(this)!=t.fm2.buf[$(this).attr('id')]){
  	         msg[msg.length]=langArr['form_changed_confirm'];
	       }
	     }
	   });
        });
      }
      if(t.fm2.beforeUnloadChk['jumploader']){
         msg[msg.length]=jumploader.uploadFinish();
      }
      var r=msg.join('\n');
      if(r) return r;
   }
   ,initBeforeUnload:function(b,t){
      if(!isset(t.fm2)) return;
      $(window,b).bind('beforeunload',function(){return t.fm2.beforeUnload(t);});
   }
   ,serializeForm:function(sel){
      $('.system-spaw-id',sel).each(function(){
         var name=$(this).html();
	 var cl=name.replace(/[^A-Za-z0-9_]/g,'_')+'_1';
	 var ob=window[cl+'_obj'];
	 var pg=window[cl+'_page'];
	 if(isset(ob)){
           if(ob.isInitialized()){
	      v=ob.updatePageInput(pg);
	   }
	 }
      });
      var r='';
      var skip={};
      $('.system-empty',sel).each(function(k,v){
         var e=$(v);
         skip[e.attr('name')]=1;
      });
      $.each($(sel).serializeArray(),function(k,e){
        if(!isset(e.value)) return;
	if(e.value>0&&!isset(skip[e.name])){
	  r=r+'&'+e.name+'='+e.value;
	}
      });
      $('input[type=file]',sel).each(function(){
         var t=$(this).val();
	 if(t.length>0){
            r=r+'&'+$(this).attr('name')+'='+t;
	 }
      });
      return r;
   }
   ,checkForms:function(){
      if(!isset(fm2.buf['formselector'])) return;
      $.each(fm2.buf['formselector'],function(k,v){
         $(v).each(function(){
           fm2.buf[$(this).attr('id')]=fm2.serializeForm(this);
	 });
      });
   }
   ,hideEditDiv:function(id,holder){
     if(!isset(holder)) var holder=document;
     var a=true;
     if(isset($('#'+id,holder).find('iframe')[0].contentWindow.fm2)){
        var t=$('#'+id,holder).find('iframe')[0].contentWindow;
        var c=t.fm2.beforeUnload();
        if(c){
           var a=confirm(c);
        }
     }
     if(a){
        $('#'+id,holder).hide();
	if(isset(t)) t.fm2.checkForms();
     }
   }
   ,initMoveBoxes:function(){
      $('div.system-eboxholder').sortable({connectWith:'div.system-eboxholder'
                 ,over:function(){
		    $('div.system-eboxholder').removeClass('system-eboxover');
		    $(this).addClass('system-eboxover');
		 }
	         ,update:function(event,ui){
		    $(ui.item).find('input').val($(this).attr('rel'));
		    $(this).removeClass('system-eboxover');
		 }
		 }).disableSelection();
      $('.del','div.system-eboxholder').click(function(){
           $(this).parent().appendTo('div.system-box-custom > div.system-eboxholder')
	          .find('input').val($('div.system-box-custom > div.system-eboxholder').attr('rel'));
       });
       $('div.system-moveboxes-buttons').find('input.save').click(function(){
       setLoading(1);
       $.post('index.php?ajax=1&elm=moveboxes'
              ,$('div.system-eboxholder').find('input').serializeArray()
	      ,function(data){
	         var box=$('<div></div>').html(data).dialog({modal:true});
		 setTimeout(function(){
		    box.dialog('destroy').remove();
		 },3000);
	         setLoading(0);
	      });
       });
       $('div.system-moveboxes-buttons').find('input.reset').click(function(){
          window.location.reload();
       });
   }
   ,checkAlias:function(sel,table,id,errcl){
      fm2.buf.checkAliasSettings={'table':table,'id':id,'errcl':errcl};
      $(sel).change(function(){
         fm2.checkAliasStr(this);
      }).focus(function(){
         fm2.checkAliasStr(this);
      }).focusout(function(){
         fm2.checkAliasStr(this);
      });
   }
   ,checkAliasStr:function(elm){
      var e=$(elm);
      e.val(fm2.formatAlias(e.val()));
      fm2.validateAlias(e.val());
   }
   ,validateAlias:function(val){
      if(!isset(fm2.buf.validateAlias)||fm2.buf.validateAlias!=val) fm2.buf.validateAlias=val;
      else return;
      $.get(fm2.conf.http_root+'index.php?ajax=1&elm=validateAlias&table='+fm2.buf.checkAliasSettings.table+'&id='+fm2.buf.checkAliasSettings.id+'&val='+$.URLEncode(val),function(data){
	 var ec=$('div.'+fm2.buf.checkAliasSettings.errcl);
	 switch(data){
	   default:
	   if(data.length) ec.html(data).show();
	   break;
	   case '1':
	      ec.hide();
	   break;
	 }
      });
   }
   ,formatAlias:function(str){
      return str
        .replace(/[^A-z0-9 \-\&.,\u00E5\u00E4\u00F6]/ig,'')
        .replace(/[ .,\-\&]/ig,'-')
        .replace(/[\u00E5\u00E4]/g,'a')
        .replace(/\u00F6/g,'o')
        .replace(/[\u00C5\u00C4]/g,'A')
        .replace(/\u00D6/g,'O')
        .replace(/[-]{2,}/ig,'-')
        .replace(/^[-]|[-]$/ig,'')
	.toLowerCase()
     ;
   }
   ,autoAlias:function(src,dst,lnk){
     fm2.autoAliasSwitch=lnk;
     var d=$('#'+dst);
     var s=$('#'+src);
     s.keyup(function(){
        if(!fm2.autoAliasSwitch) return;
	clearTimeout(fm2.buf.autoAliasTimer);
	fm2.buf.autoAliasTimer=setTimeout(function(){
           d.val(s.val());
   	   fm2.checkAliasStr(d);
	   d.keyup();
	},300);
     });
     var src=$('.'+dst+'-s').find('img').attr('src');
     src=src.replace(/(\-broken)?\.[^\.]+$/,'');
     var lnks=$('.'+dst+'-s');
     lnks.hover(function(){
        lnks.find('img').attr('src',src+(fm2.autoAliasSwitch?'-broken':'')+'.png');
     },function(){
        lnks.find('img').attr('src',src+(fm2.autoAliasSwitch?'':'-broken')+'.png');
     }).click(function(e){
        e.preventDefault();
	if(fm2.autoAliasSwitch){
	   fm2.autoAliasSwitch=0;
           lnks.find('img').attr('src',src+'-broken.png');
	}
	else{
	   fm2.autoAliasSwitch=1;
           lnks.find('img').attr('src',src+'.png');
           d.val(s.val());
	   fm2.checkAliasStr(d);
	   d.keyup();
	}
     });
   }
   ,initAdminMenu:function(){
     var a=$('.adminbox-content');
     var h=$('.adminbox-control');
     var min=h.find('.minimize');
     var max=h.find('.maximize');
     var cn=fmSerial+'adminmenuhidden';
     switch($.cookie(cn,fm2.cookieS())){
       default:
       max.hide();
       break;
       case '1':
       min.hide();
       a.hide();
       break;
     }
     min.click(function(e){
        e.preventDefault();
        min.hide();
	max.show();
	a.hide();
	$.cookie(cn,'1',fm2.cookieS());
     });
     max.click(function(e){
        e.preventDefault();
        max.hide();
	min.show();
	a.show();
	$.cookie(cn,'0',fm2.cookieS());
     });
   }
   ,toggleGroup:function(lnk){
     $(lnk).find('div.system-fieldbox')
           .slideToggle('fast',function(){
	      if(typeof(autofitIframe)=='function') autofitIframe(1);
	   });
   }
   ,menuArr:function(s){
      var r=[];
         if(typeof(s)!='object') return r;
	 jq.each(s.btn,function(k,v){
	    var a={};
	    switch(k){
	    	case 'edit':
                 a[langArr['edit']+' '+s.table]={onclick:function(){openEditDiv(s.table,s.id);}
		 		     ,icon:fm2.conf.http_root+'images/icons/page_edit.gif'};
		break;
		case 'delete':
		  var name=s.table;
		  if(isset(s.name)) name=name+': '+s.name;
		  var m=langArr['confirm_del'].replace('[table]',name);
		a[langArr['delete']]={onclick:function(){delItem('#list-'+s.table+'-'+s.id,fm2.conf.http_root+'?'+fmSerial+'table='+s.table
		   +'&'+fmSerial+'id='+s.id+'&mode=del&back_str='+s.back_str,m);}
		 		     ,icon:fm2.conf.http_root+'images/icons/page_delete.gif'};
		break;
		case 'order':
                 a[langArr['order']]={onclick:function(){openEditDiv(s.table,s.id,'order');}
		 		     ,icon:fm2.conf.http_root+'images/icons/arrow_up.gif'};
		break;
		case 'new':
		var ak=0;
		jq.each(v,function(ck,cv){
		  var pvs={};
		  if(cv.par_t&&cv.par_id){
		      if(!isset(cv.prevval)) cv.prevval={};
		      cv.prevval["prevval[__rel__]["+cv.par_t+"]"]=cv.par_id;
		  }
		  if(isset(cv.prevval)){
  		    if(array_size(cv.prevval)){
  		      $.each(cv.prevval,function(pk,pv){
		         pvs[pk]=pv;
		      });
		    }
		  }
		  a[langArr['add']+(ak>0?' '+ak:'')]={onclick:function(){openEditDiv(s.table,s.id,'new',cv.par_t,cv.par_id,pvs);}
		 		     ,icon:fm2.conf.http_root+'images/icons/page_new.gif'};
		  ak++;
		});
		break;
		case 'crop':
		var ak=0;
		jq.each(v,function(ck,crop_fld){
		  a[langArr['crop']+(ak>0?' '+ak:'')]={onclick:function(){openCropDiv(s.table,s.id,'order',crop_fld);}
		 		     ,icon:fm2.conf.http_root+'images/icons/arrow_up.gif'};
		  ak++;
		});
		break;
		case 'blacklist':
                 a[langArr['blacklist']]={onclick:function(){blacklist(s.table,v.id,v.bl,cls);}};
		break;
	    }
            r[r.length]=a;
	 });
	 jq.each(s.other,function(k,v){
	   var a={};
	   var b={};
	   b['onclick']=function(){
	     eval(v.click);
	     if(isset(v.href)) window.location=v.href;
	   };
	   if(isset(v.image)) b['icon']=v.image;
	   a[v.text]=b;
	   r[r.length]=a;
         });
	 return r;
     }
     ,addDigg:function(elm){
        $.get($(elm).attr('href'),function(data){
	  $.each(strToJson(data),function(k,v){
	     $('.'+k).hide();
	     $('.'+k+'_msg').show();
	     $('.'+k+'_val').html(v);
	  });
	});
     }
     ,listAddItem:function(sel,data,id){
	  $(sel).append($('<li></li>').attr('class','admin').attr('id',id).html(data))
	      .sortable()
	      .parents('form:first').trigger('fm2childadded',{id:id});
	  if(typeof(autofitIframe)=='function') autofitIframe(1);
     }
     ,initUploader:function (uploaderId,conf) {
       var uh=$('#'+uploaderId);
       var form=uh.parents('form:first');
       var c={
         sequentialUploads:true
	 ,autoUpload:true
       };
       if(isset(conf)) c=$.extend(c,conf);
       // Initialize the jQuery File Upload widget:
       uh.fileupload(c);
       uh.bind('fileuploadadd',function(e,data){
          if(typeof(autofitIframe)=='function') autofitIframe(1);
       });
       uh.bind('fileuploaddone',function(e,data){
		  if(typeof(data.result)=='object'){
		    $.each(data.result,function(k,v){
		       //$('#'+data.listid).append(v.form);
		       fm2.listAddItem('#'+data.listid,v.form,v.listid);
		       if(!form.find('input.parent-id')[0]){
		       	   if(isset(v.parent_id)){
			   form.append(v.parent_id);
			   }
		       }
		       if(isset(v.onload)){
		          jq.each(v.onload,function(a,b){
		             eval(b);
			  });
		       }
		    });
		  }
           }
       );
       // Open download dialogs via iframes,
       // to prevent aborting current uploads:
       uh.find('.files a:not([target^=_blank])').live('click', function(e){
          e.preventDefault();
	  $('<iframe style=\"display:none;\"></iframe>')
	    .prop('src', this.href)
	    .appendTo('body');
	  });
       }
}

function initButton(btn,val){
//fm2.conf.editmenytype='rightclick';
    if(!isset(val)){
      if(isset(menuStructure[btn])){
         var val=menuStructure[btn];
      }
    }
    switch(fm2.conf.editmenytype){
     case 'rightclick':
       $('.'+btn).contextMenu(fm2.menuArr(val));
       break;
      default:
    $('.'+btn).mouseenter(function(){
	if(hoverMenu==1) return false;
	if(!$(this).attr('id')){
	    cbid=btn+btncnt;
	    $(this).attr('id',cbid);
	    btncnt=btncnt+1;
	}
	else cbid=$(this).attr('id');
	if(fromedit!=cbid){
	    $('#editbutton').hide();
	    $('#editbutton').unbind('mouseenter').unbind('mouseleave').unbind('click');
	    $('.SimpleContextMenu').hide();
	    fromedit='';
	}
	clearTimeout(thide);
	clearTimeout(tshow);
	canhide=0;
	if($(this).find('img').attr('tagName')=='IMG'&&$(this).attr('tagName')!='DIV'){
	    var telm=$(this).find('img');
	}
	else{
	    var telm=$(this);
	}
	var pos=telm.offset();
	var wdth=telm.width();
	tshow=setTimeout(function(){
	    if(!canhide){
		clearTimeout(thide);
                $('#editbutton').css('left',pos.left+wdth/*-$('#editbutton').width()*/).css('top',pos.top).show().click(function(e){
		    $(document).trigger('click').unbind('click.fm2editmenu').bind('click.fm2editmenu',function(){
		       $('#editbutton').hide();
		    });
		    e.pageX=pos.left+wdth;
   		    e.pageY=pos.top;
   		    fm2.buf.initButton=$.contextMenu.create(fm2.menuArr(val),{});
		    $('div.'+fm2.buf.initButton.className).unbind('click.fm2editmenu').bind('click.fm2editmenu',function(){
		       $('#editbutton').hide();
		    });
   		    fm2.buf.initButton.show(this,e);
		    canhide=0;
		    return false;
		}).mouseleave(function(){
		    canhide=1;
		    fromedit=cbid;
		    clearTimeout(tshow);
		    thide=setTimeout(function(){
			if(canhide){
			    $('#editbutton').hide();
			    $('#editbutton').unbind('mouseenter').unbind('mouseleave').unbind('click');
			    fromedit='';
			}
		    },3000);
		}).mouseenter(function(){              
		    canhide=0;
                    clearTimeout(thide);
		});
	    }
	},0);
    }).mouseleave(function(){
	canhide=1;
	fromedit=cbid;
	clearTimeout(thide);
	clearTimeout(tshow);
	thide=setTimeout(function(){
	    if(canhide){
		$('#editbutton').hide();
		$('#editbutton').unbind('mouseenter').unbind('mouseleave').unbind('click');
		fromedit='';
	    }
	},3000);
    });
      break;
    }
}

function getNum(){
	 incrNum++;
	 return incrNum;
}

function updateElm(arr){
	 if(!isset(arr)) return false;
	 jq.each(arr,function(k,v){
	     var elm=jq(k);
	     switch(v['mod']){
	        default:
		case 'replace':
		 if(elm.length>0){
		    elm.replaceWith(v['con']);
		 }
		 else if(isset(v['par'])){
		    if(v['last']=='1') jq(v['par']).append(v['con']);
		    else jq(v['par']).prepend(v['con']);
		 }
		break;
		case 'html':
		 elm.html(v['con']);
		 convertLinks(linkType,'a');
		break;
		case 'append':
		 elm.append(v['con']);
		 convertLinks(linkType,'a');
		break;
		case 'prepend':
		 elm.prepend(v['con']);
		 convertLinks(linkType,'a');
		break;
		case '+':
		var val=(elm.html()*1)+(v['con']*1);
		elm.html(val);
		break;
		case '-':
		var val=(elm.html()*1)-(v['con']*1);
		elm.html(val);
		break;
		case 'remove':
		elm.remove();
		break;
	     }
	 });
}

function isset(v){
	 if(v===undefined) return false;
	 else return true;
}

function strToJson(str){
	 return eval('('+str+')');
}

function processForm(form){
    setLoading(1);
    fm2.beforeUnloadChk['form']=0;
    $(form).find('input[type=submit]').attr('disabled','disabled');
    $('.form-error').html('');
    $(form).ajaxSubmit(function(data){
	  var r=processResponse(data);
	  if(data.substr(0,4)=='ajax'){
	   	  if(isset(r.resetForm)) $(form).resetForm();
		  $(form).find('input[type=submit]').removeAttr('disabled');
	  }
	  else alert(data);
	  setLoading(0);

    });
    setTimeout(function(){
       $(form).find('input[type=submit]').removeAttr('disabled');
    },2000);
   return false;
}

function setJavascripts(arr){
	 if(!isset(arr)) return false;
	 jq.each(arr,function(k,v){
	      var id='js-'+k;
	      if(jq('#'+id).length>0) jq('#'+id).html(v);
	      else if(!isset(javascriptArr[k])){
	        jq('body').append("<script type='text/javascript' id='"+id+"'>"+v+"</script>");
		javascriptArr[k]=1;
	      }
	 });
}

function processResponse(data){
  if(data.substr(0,4)=='ajax') {
      var r=strToJson(data.substr(4));
      if(isset(r.redirect)) window.location.replace(r.redirect);
      if(isset(r.alert)) alert(r.alert);
      if(isset(r.stopRefTimer)) clearTimeout(loginRefreshTimer);
      else if(isset(r.logged)) promptLoginRefresh();
      setJavascripts(r.js);
      updateElm(r.data);
      jq.each(r.onload,function(k,v){
           eval(v);
      });
      addMenus(r.menu);
      return r;
  }
  else if(isset(data)){
      if(data.length>0) alert(data);
  }
}

function delItem(id,elm,msg,rl){
	 var cn=confirm(msg);
	 if(cn){
	 	var t=jq(id);
		if(typeof(elm)=='string') var url=elm;
	 	else var url=jq(elm).attr('href');//+'&ajax=1';
		if(isset(rl)||t.length<1){
		   if(typeof(elm)=='string') window.location=url;
		   return true;
		}
		setLoading(1);
		url=url+'&ajax=1';
	 	jq.get(url,function(data){
		   processResponse(data);
		   setLoading(0);
		});
	 }
	 return false;
}

function makeUrl(str){
	 var url='index.php?ajax=1';
	 var sa=str.substr(1).split('/');
	 var steps=sa.length/2;
	 var c=0;
	 for(n=0;n<steps;n++){
	     var k=sa[(n*2)];
	     var v=sa[((n*2)+1)];
	     if(isset(k)&&k){
	        if(!isset(v)) v='';
	        url=url+'&'+k+'='+v;
	     } 
	 }
	 return url;
}

function updateState(str,raw){
	 if(str.length<1||noReload){
	   noReload=false;
	   return false;
	 }
	 setLoading(1);
	 if(isset(raw)){
	  var url=str;
	 }
	 else{
	  var url=makeUrl(str);
	 }
	 jq.get(url,function(data){
	     setLoading(0);
	     processResponse(data);
	 });
}

function setLoading(sv){
	 if(sv=='1'||sv==1){
	   isLoading=1;
	   if(jq('.loading').is(':hidden')) jq('.loading').fadeIn();
	 }
	 else{
	     isLoading=0;
	     jq('.loading').fadeOut();
	 }
}

function hasClick(e){
	 if(e.hasEvent('click')||e.attr('onclick')) return true;
	 else return false;
}

function smUrl(url){
	 if(!isset(url)) return '';
	 return url.replace(/^http\:\/\/w{3}?\.|\/[a-z\.]+\??[^\/]*$/g,'');
}

function isLocal(url){
	 if(!isset(url)) return true;
	 var w=url.match(/^[a-zA-Z0-9]+\:\/\//);
	 if(w){
	    if(smUrl(url)==smLocal) return true;
	    else return false;
	 }
	 else return true;;
}

function convertLinks(tpe,sel,force){
	 if(!isset(sel)) var sel='a';
	 switch(tpe){
	 case '2':
	 jq(sel).each(function(a){
	      var e=jq(this);
                 if(!hasClick(e)&&isLocal(e.attr('href'))&&!e.hasClass('no-parse')
		 &&!e.hasClass('article-gallery')||isset(force)){
  	         e.attr('href',convertLink(e.attr('href')));
	      }
	 });
	 break;
	 }
}

function convertLink(txt){
	 if(isset(txt)){
          var t=txt.replace(/[\=|\&]|\&amp\;/g,'/').replace(/\?/,'#');
	  if(!t.match(/\#/)) t=t+'#home';
	  return t;
	 }
	 else return '#home';
}

function setButton(cls){
	 jq('#editmenu').html(getMenu(cls));
}

function initButtons(arr){
	 toggleHoverMenu();
	 $.contextMenu.theme = 'vista';
	 jq.each(arr,function(btn,v){
    	      initButton(btn,v);
	 });
}

function initButtons_old(arr){
	 toggleHoverMenu();
	 jq.each(arr,function(btn,v){
  	    initButton(btn);
	 });
}

function addMenus(arr){
	 jq.each(arr,function(cls,v){
	    menuStructure[cls]=v;
	    initButton(cls);
	 });
}

function array_size(obj){
   var size = 0;
   $.each(obj,function(k,v){
      size++;
   });
   return size;
}

function getMenu(cls){
	 var s=menuStructure[cls];
	 var r="<ul id='"+cls+"_btn' class='SimpleContextMenu'>";
	 jq.each(s.btn,function(k,v){
	    r=r+"<li class='adminContextMenu'>";
	    switch(k){
	    	case 'edit':
		 r=r+"<a href='#' onclick='openEditDiv(\""+s.table+"\",\""+s.id+"\"); return false;'>"
                 +"<img src='images/icons/page_edit.gif' border='0'> "+langArr['edit']+" "+s.table+"</a>";
		break;
		case 'delete':
		 r=r+"<a onclick=\"return delItem('#list-"+s.table+"-"+s.id+"',this,'"+langArr['confirm_del'].replace('[table]',s.table)+"')\""
+"href='?"+fmSerial+"table="+s.table+"&amp;"+fmSerial+"id="+s.id+"&amp;mode=del&amp;back_str="+s.back_str+"'>"
		 +"<img src='images/icons/page_delete.gif' border='0'> "+langArr['delete']+"</a>";
		break;
		case 'order':
		r=r+"<a href='#' onclick='openEditDiv(\""+s.table+"\",\""+s.id+"\",\"order\");"
		+" return false;'><img src='images/icons/arrow_up.gif' border='0'> "+langArr['order']+"</a>";
		break;
		case 'new':
		jq.each(v,function(ck,cv){
		  var pvs='';
		  if(cv.par_t&&cv.par_id){
		      if(!isset(cv.prevval)) cv.prevval={};
		      cv.prevval["prevval[__rel__]["+cv.par_t+"]"]=cv.par_id;
		  }
		  if(isset(cv.prevval)){
  		    if(array_size(cv.prevval)){
  		      $.each(cv.prevval,function(pk,pv){
		         if(pvs.length) pvs=pvs+',';
		         pvs=pvs+'"prevval['+pk+']":"'+pv+'"';
		      });
		      pvs=',{'+pvs+'}';
		    }
		  }
		  r=r+"<a href='#' onclick='openEditDiv(\""+s.table+"\",\""+s.id+"\",\"new\",\""+cv.par_t+"\",\""+cv.par_id+"\""
		      +pvs
		      +");return false;'>"
		  +"<img src='images/icons/page_new.gif' border='0'> "+langArr['add']+"</a>";
		});
		break;
		case 'crop':
		jq.each(v,function(ck,crop_fld){
		  r=r+"<a href='#' onclick='openCropDiv(\""+s.table+"\",\""+s.id+"\",\"order\",\""+crop_fld+"\"); return false;'>"
		  +"<img src='images/icons/arrow_up.gif' border='0'> "+langArr['crop']+"</a>";
		});
		break;
		case 'blacklist':
		r=r+"<a href='#' onclick='blacklist(\""+s.table+"\","+v.id+","+v.bl+",\""+cls+"\");return false;'>"+langArr['blacklist']+"</a>";
		break;
	    }
	    r=r+"</li>";
	 });
	 jq.each(s.other,function(k,v){
           r=r+"<li class='adminContextMenu'>";
	   r=r+"<a href='"+(isset(v.href)?v.href:"#")+"'"
	       +(isset(v.click)?" onclick='"+v.click.replace(/\'/g,'"')+"return false;'":"")
	       +(isset(v.other)?v.other:"")
	       +">"
	       +(isset(v.image)?"<img src='"+v.image+"' border='0'> ":"")
	       +v.text+"</a>";
	   r=r+"</li>";
         });
	 return r+'</ul>';
}

function toggleHoverMenu(tg){
	 if(hoverMenu==2||!hoverMenu){
	    if(isset(tg)){
	     var lt=langArr['hoverMOn'];
	     hoverMenu=1;
	     }
	     else{
	     var lt=langArr['hoverMOff'];
	     }
	 }
	 else{
	    if(isset(tg)){
	     var lt=langArr['hoverMOff'];
	     hoverMenu=2;
	     }
	     else{
	     var lt=langArr['hoverMOn'];
	     }
	 }
//	 $.cookie('hoverMenu', hoverMenu,fm2.cookieS());
 	$('#admin-toggle-hover').html('<a href="#" '
	+'onclick="toggleHoverMenu(1);return false;">'+lt+'</a>');

}

function blacklist(tbl,id,bl,cls){
      setLoading(1);
	 $.get('index.php?elm=blacklist&table='+tbl+'&id='+id+'&bl='+bl+'&cls='+cls+'&ajax=1',function(data){
	      setLoading(0);
              processResponse(data);
	 });
}

function getContent(elm){
	 var url=jq(elm).attr('href')+'&ajax=1';
	 updateState(url,1);
	 return false;
}

function slideOnHover(sel,tar){
	 if(!isset(sel)||!isset(tar)) return;
	 if(jq(sel).length<=0) return;
	 var ch=0;
	 var timer;
	 jq(sel).hover(function(){
	     var tp=jq(sel);
             jq(tar).css('left',tp.position().left);
	     if($.browser.msie) jq(tar).css('top',(tp.position().top+tp.height()));
	     ch=1;
	     jq(tar).slideDown(400).hover(function(){
	       ch=1;
	     },function(){
	        timer=setTimeout(function(){
		   if(!ch) jq(tar).slideUp(400);
		},400);
	       ch=0;
	     });
	 },function(){
	     ch=0;
	     timer=setTimeout(function(){
	     	     if(!ch) jq(tar).slideUp(400);
		   },400);
	 });
}

function setHash(str){
    if(isset(str)) location.hash=str;
}

function _GETU(gk,url){
   var u=isset(url)?url:location.href;
   u=u.replace(/([^\?\#]*[\?\#])?/,'').replace(/&amp;/g,'&').split('&');
   for(var n=0;n<u.length;n++){
      var ex=u[n].split('=');
      if(ex[0]==gk){
        return ex[1];
      }
   }
}

function _GET(k){
    var sp=location.hash.substr(1).split('/');
    var st=sp.length/2;
    for(var n=0;n<st;n++){
      if(sp[(n*2)]==k){
        return sp[((n*2)+1)];
      }
    }
}

function getvals(a,d){
    if(isset(a)||isset(d)){
     var sp=location.hash.substr(1).split('/');
     var st=sp.length/2;
     var r='#';
     var ek={};
      for(var n=0;n<st;n++){
       var k=sp[(n*2)];
       var v=sp[((n*2)+1)];
       if(!in_array(v,d)){
         ek[k]=v;
       }
      }
      jq.each(a,function(k,v){
        ek[k]=v;
      });
      var f=1;
      jq.each(ek,function(k,v){
        if(isset(k)&&isset(v)){
        if(f){
         r=r+k+'/'+v;
         f=0;
        }
        else r=r+'/'+k+'/'+v;
	}
      });
      return r;
    }
  return location.hash;
}

function in_array(value,arr) {
    if(!isset(value)||!isset(arr)) return false;
        for (var i=0; i < arr.length; i++) {
          if (arr[i] === value) {
            return true;
          }
        }
   return false;
}

function getKey(val,arr){
    if(isset(val)&&isset(arr)){
      var match;
      jq.each(arr,function(k,v){
         if(v.toString()==val.toString()) match=k;
      });
    return match;
   }
}

function makeSortable(sel,tp,opt){
	 switch(tp){
	 default:
	   var cnf={ placeholder: 'sortable-hl'
                 ,start:function(e,ui){
                    ui.placeholder.height(ui.helper.height()).html(ui.helper.html());
                 }
	   };
	   if(isset(opt)){
	     $.each(opt,function(k,v){
	        cnf[k]=v;
	     });
	   }
	   $(sel).sortable(cnf)
	   ;
	 break;
	 }
}
function moreFields(id){
    jq('#writeroot'+id).append('<div>'+jq('#readroot'+id).html()+'<\/div>');
    if(typeof autofitIframe == 'function') autofitIframe(1);
}
function expandTextInput(sl,maxwv){
	 $(sl).each(function(i){
	     if(isset($(this).data('haskeyup.expandTextInput'))) return;
	     var origW=$(this).width();
	     if(isset(maxwv)) var maxw=maxwv;
	     else var maxw=$(this).parent().width()-10;
	     setTIWidth(this,origW,maxw);
	     $(this).data('haskeyup.expandTextInput',1).bind('keyup.expandTextInput',function(e){
	     	    setTIWidth(this,origW,maxw);
	     });
	 });
}
function setTIWidth(elm,origW,maxw){
	 var mrg=25;
	 var wd=$(elm).width();
	 var cw=getTextWidth(elm,1);
	 var tw=cw+mrg;
	 if(tw>origW){
	   if(tw<maxw){
  	     $(elm).width(tw);
	   }
	   else $(elm).width(maxw);
	 }
	 else $(elm).width(origW);
}
function getTextWidth(sel,val){
	 var e=$(sel);
	 var id='getTextWidth';
	 if($('#'+id).length<=0){
	    $('body').append("<span id='"+id+"' style='display:none;'></span>");
	 }
	 var s=$('#'+id);
	 s.css('font-family',e.css('font-family'))
	 .css('font-size',e.css('font-size'));
	 if(!isset(val)) var v=e.html();
	 else var v=e.val();
	 s.html(v.replace(/\s/g,'&nbsp;').replace(/\</g,'&#60;'));
	 return s.width();
}
function preloadImages(arr){
	 if(isset(arr)){
	    $.each(arr,function(k,v){
	      $(new Image()).attr('src',v);
	    });
	 }
}
function treeMenu(sel){
   $(sel).click(function(){
      $(this).parent().find('>ul').slideToggle('fast');
    });
}
function delThis(elm){
    jq(elm).parent().remove();
}
function processPromptLRForm(box){
  var vals='';
  box.find('input:checked').each(function(){
    vals=vals+'&'+$(this).attr('name')+'='+$(this).val();
  });
  $.get('index.php?elm=refreshSession&ajax=1'+vals,function(data){
     processPromptLRResponse(data,box);
  });
}
function processPromptLRResponse(data,box){
   var res=strToJson(data);
   if(res.ok==1){
      $.cookie(fmSerial+'keepLoggedAcc','0',fm2.cookieS());
      box.html(res.msg);
      setTimeout(function(){
         promptLoginRefresh();
         box.dialog('close');
      },1500);
   }
   else{
     box.html(res.msg).find('form').submit(function(event){
            event.preventDefault();
            promptLoginReLogin(box);
         });
     box.append($('<span></span>').html(langArr['btnLogin'])
        .button().click(function(){
	    promptLoginReLogin(box);
         }));
    }
}
function promptLoginReLogin(box){
  $.post(box.find('form').attr('action'),box.find('form').serialize(),function(data){
     processPromptLRResponse(data,box);
  });
}
function promptLoginRefresnAction(){
       $.cookie(fmSerial+'keepLoggedAcc','1',fm2.cookieS());
       if($.cookie(fmSerial+'keepLogged',fm2.cookieS())){
          $.get('index.php?elm=refreshSession&ajax=1',function(data){
	     var res=strToJson(data);
	     if(res.ok==1){
	       promptLoginRefresh();
	     }
	     else{
	       $.cookie(fmSerial+'keepLogged',null,fm2.cookieS());
	       promptLoginRefresnAction();
	     }
	  });
          return;
       }
       var box=getDiv('promtLR',langArr['msgRefreshSession'],{'title':langArr['titleAlert']});
       box
        .append("<br><input type='checkbox' name='keeplogged' value='1' id='keeplogged'><label for='keeplogged'>"
          +langArr['cbKeepLogged']+"</label><br>")
        .append("<input type='checkbox' name='keeploggedsave' value='1' id='keeploggedsave'><label for='keeploggedsave'>"
          +langArr['cbSaveUS']+"</label>")
        .append($('<div></div>').addClass('system-alertbns')
         .append($('<span></span>').html(langArr['btnRefresh']).addClass('system-alert-button').button()
          .click(function(){
	       processPromptLRForm(box);
	   }
	 ))
        .append($('<span></span>').html(langArr['btnCancle']).addClass('system-alert-button').button()
          .click(function(){
	     box.dialog('close');
	   }
	 ))
	)
	;
       
       box.dialog({
           modal:true
	   ,beforeClose:function(){
	     clearTimeout(loginRefreshTimerAH);
	   }
         });
       autoHideLoginPrompt(box);
}
function autoHideLoginPrompt(box){
   clearTimeout(loginRefreshTimerAH);
   loginRefreshTimerAH=setTimeout(function(){
      if($.cookie(fmSerial+'keepLoggedAcc',fm2.cookieS())=='0'){
         box.dialog('close');
         promptLoginRefresh();
      }
      else{
         autoHideLoginPrompt(box);
      }
   },1000);
}
function promptLoginRefresh(){
    clearTimeout(loginRefreshTimer);
    loginRefreshTimer=setTimeout(function(){
         promptLoginRefresnAction();
    },loginRefreshLifetime*1000);
}
function getDiv(id,con,attr,visible){
   if($('#'+id).length!=0){
      $('#'+id).remove();
   }
   var r=$('<div></div>').attr('id',id);
   if(isset(con)) r.html(con);
   if(isset(attr)){
     $.each(attr,function(k,v){
       r.attr(k,v);
     });
   }
   if(isset(visible)){
     if(!visible) r.hide();
   }
   else r.hide();
   return r;
}
function basename(fn){
   return fn.replace(/((^.*\/)|(\?.*))?/ig,'');
}
function openDiv(id){
    if (document.getElementById){
       var obj = document.getElementById(id);
       obj.style.left=mousePos().x+'px';
       obj.style.top=mousePos().y+'px';
       showhide(id);
    }
}
function showhide(id) {
  var e =document.getElementById(id);
  if(e.style.display == 'block') e.style.display = 'none';
  else e.style.display = 'block';
  if(typeof autofitIframe == 'function') autofitIframe();
}
function autofitIframe(nottotop){
    var id=_GETU('divid')+'_iframe';
    var divid=_GETU('divid');
    if(document.getElementById) {
      var pe=parent.document.getElementById(id);
      var ped=parent.document.getElementById(divid);
      var bodyH=jq('body').height();
      var setH=jq('#edit-content-holder').height();
      if(bodyH<setH) setH=jq('body')[0].scrollHeight;
      jq(pe).height(setH+25);
      jq(pe).width(jq('#edit-content-holder').width()+38);
      $(ped).width(jq(pe).width());
      var ps=($('body',parent.document).width()/2)-($(ped).width()/2);
      if(ps<0) ps=0;
      $(ped).css('left',ps+'px');
      if(!isset(nottotop)) jq(parent.document).scrollTop(0);
    }
}

