var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
function ControlVersion(){
	var version;
	var axo;
	var e;
	try{
		axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
		version = axo.GetVariable("$version");
	}catch(e){}
	if(!version){
		try{
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
			version = "WIN 6,0,21,0";
			axo.AllowScriptAccess = "always";
			version = axo.GetVariable("$version");
		}catch(e){}
	}
	if(!version){
		try{
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = axo.GetVariable("$version");
		}catch(e){}
	}
	if(!version){
		try{
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
			version = "WIN 3,0,18,0";
		}catch(e){}
	}
	if(!version){
		try{
			axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
			version = "WIN 2,0,0,11";
		}catch(e){version=-1;}
	}
	return version;
}

function GetSwfVer(){
	var flashVer = -1;
	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
			var descArray = flashDescription.split(" ");
			var tempArrayMajor = descArray[2].split(".");			
			var versionMajor = tempArrayMajor[0];
			var versionMinor = tempArrayMajor[1];
			var versionRevision = descArray[3];
			if (versionRevision == "") {
				versionRevision = descArray[4];
			}
			if (versionRevision[0] == "d") {
				versionRevision = versionRevision.substring(1);
			} else if (versionRevision[0] == "r") {
				versionRevision = versionRevision.substring(1);
				if (versionRevision.indexOf("d") > 0) {
					versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
				}
			}
			var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
		}
	}
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	else if ( isIE && isWin && !isOpera ) {
		flashVer = ControlVersion();
	}	
	return flashVer;
}

function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision){
	versionStr = GetSwfVer();
	if (versionStr == -1 ) {
		return false;
	} else if (versionStr != 0) {
		if(isIE && isWin && !isOpera) {
			// Given "WIN 2,0,0,11"
			tempArray         = versionStr.split(" "); 	// ["WIN", "2,0,0,11"]
			tempString        = tempArray[1];			// "2,0,0,11"
			versionArray      = tempString.split(",");	// ['2', '0', '0', '11']
		} else {
			versionArray      = versionStr.split(".");
		}
		var versionMajor      = versionArray[0];
		var versionMinor      = versionArray[1];
		var versionRevision   = versionArray[2];

        	// is the major.revision >= requested major.revision AND the minor version >= requested minor
		if (versionMajor > parseFloat(reqMajorVer)) {
			return true;
		} else if (versionMajor == parseFloat(reqMajorVer)) {
			if (versionMinor > parseFloat(reqMinorVer))
				return true;
			else if (versionMinor == parseFloat(reqMinorVer)) {
				if (versionRevision >= parseFloat(reqRevision))
					return true;
			}
		}
		return false;
	}
}

function AC_AddExtension(src, ext){
  if (src.indexOf('?') != -1) return src.replace(/\?/, ext+'?'); else return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs){
  var str = '';
  if(isIE && isWin && !isOpera){
    str += '<object ';
    for (var i in objAttrs){
      str += i + '="' + objAttrs[i] + '" ';
    }
    str += '>';
    for (var i in params){
      str += '<param name="' + i + '" value="' + params[i] + '" /> ';
    }
    str += '</object>';
  }else{
    str += '<embed ';
    for (var i in embedAttrs)
    {
      str += i + '="' + embedAttrs[i] + '" ';
    }
    str += '> </embed>';
  }
  document.write(str);
}

function AC_FL_RunContent(){
  var ret = AC_GetArgs(arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000","application/x-shockwave-flash");
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_SW_RunContent(){
  var ret = AC_GetArgs(arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000", null);
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    

    switch (currArg){	
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie":	
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblclick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
      case "id":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}


function fl_escape(str){
	return str.replace(/\x25/g,'%25')
	.replace(/\x3C/g,'%3C')
	.replace(/\x3E/g,'%3E')
	.replace(/\x20/g,'%20')
	.replace(/\x7B/g,'%7B')
	.replace(/\x7D/g,'%7D')
	.replace(/\x7C/g,'%7C')
	.replace(/\x3A/g,'%3A')
	.replace(/\x0D/g,'%0D')
	.replace(/\x0A/g,'%0A')
	.replace(/\x09/g,'%09')
	.replace(/\x26/g,'%26')
	.replace(/\x2F/g,'%2F');
};

function fl_tinsetr(id,strFore,strAft){
   element = document.getElementById(id);
   element.focus();
   if (document.selection) {
	   var oRange = document.selection.createRange();
	   var numLen = oRange.text.length;
	   oRange.text = strFore + oRange.text + strAft;
	   return false;
   } else if (element.setSelectionRange) {
      var selStart = element.selectionStart, selEnd = element.selectionEnd;
			var oldScrollTop = element.scrollTop;
      element.value = element.value.substring(0, selStart) + strFore + element.value.substring(selStart, selEnd) + strAft + element.value.substring(selEnd);
      element.setSelectionRange(selStart + strFore.length, selEnd + strFore.length);
			element.scrollTop = oldScrollTop;      
      element.focus();
   } else {
			var oldScrollTop = element.scrollTop;
      element.value += strFore + strAft;
			element.scrollTop = oldScrollTop;      
      element.focus();
	}
};

function fl_tpcallback(id,xxcb){
	element = document.getElementById(id);
	element.focus();
	if(document.selection){
		var oRange=document.selection.createRange();
		var numLen=oRange.text.length;
		oRange.text=xxcb(oRange.text);
		return false;
	}else if(element.setSelectionRange){
		var selStart = element.selectionStart, selEnd = element.selectionEnd;
		var oldScrollTop = element.scrollTop;
		var esc=xxcb(element.value.substring(selStart, selEnd));
		element.value = element.value.substring(0,selStart)+esc+element.value.substring(selEnd);
		element.setSelectionRange(selStart,selStart+esc.length);
		element.scrollTop = oldScrollTop;      
		element.focus();
   };
};

function fl_txadd(id, what){
	element = document.getElementById(id);
	element.focus();   
	if(element.createTextRange){
		document.selection.createRange().duplicate().text = what;
	}else if((typeof element.selectionStart)!='undefined'){
		var tarea = element;
		var selEnd = tarea.selectionEnd;
		var txtLen = tarea.value.length;
		var txtbefore = tarea.value.substring(0,selEnd);
		var txtafter =  tarea.value.substring(selEnd, txtLen);
		var oldScrollTop = tarea.scrollTop;
		tarea.value = txtbefore + what + txtafter;
		tarea.selectionStart = txtbefore.length + what.length;
		tarea.selectionEnd = txtbefore.length + what.length;
		tarea.scrollTop = oldScrollTop;
		tarea.focus();
	}else{
		element.value += what;
	};
};

function fl_seltxt(){var txt='';if(window.getSelection){txt=window.getSelection();}else if(document.getSelection){txt=document.getSelection();}else if(document.selection){txt=document.selection.createRange().text;}else return;return txt;};
function getCookie(name){var cookie=" "+document.cookie;var search=" "+name+"=";var setStr=null;var offset=0;var end=0;if(cookie.length>0){offset=cookie.indexOf(search);if(offset!= -1){offset+=search.length;end=cookie.indexOf(";",offset);if(end== -1){end=cookie.length;};setStr=unescape(cookie.substring(offset,end));}}return(setStr);};
function setCookie(name,value,expires,path,domain,secure){document.cookie=name+"="+escape(value)+((expires)?"; expires="+expires : "")+((path)?"; path="+path:"")+((domain)?"; domain="+domain:"")+((secure)?"; secure":"");return true;};
function fl_sflash(sw){setCookie('fl_header',sw==1?'allow':'0');window.location.reload(false);};

function jq_init_hidden(zid){
$('div.fl_xhidden#'+zid+' td:eq(1) img, div.fl_xhidden#'+zid+' td:eq(1) a').click(function(){
	var pdiv=$(this).parents('div.fl_xhidden').first().parent();
	var ishidden=pdiv.find('div.hidden_text:first').css('display')=='none';
	var img=pdiv.find('div.fl_xhidden td:eq(1) img');
	var fla=pdiv.find('div.fl_xhidden td:eq(1) a');
	img.attr('title',ishidden?'Скрыть':'Показать');
	img.attr('alt',ishidden?'Скрыть':'Показать');
	img.attr('src',img.attr('src').replace(/\w+\.png$/,ishidden?'flia_hdn_show.png':'flia_hdn_hide.png'));
	fla.text(ishidden?'[скрыть]':'[показать]');
	pdiv.find('div.hidden_text:first').animate({height:ishidden?'show':'hide',opacity:ishidden?'show':'hide'},250);
});};

$(function(){
	var exec={};
	/*$('#mainshowbtn,#showwerforall').click(function(){
		$('#werforall,#showwerforall').animate({height: 'toggle',opacity: 'toggle'},500);
	});*/
	$('dl.tabs > *').each(function(ei,el){
		exec[ei]=$(el).height();
	});
	$('dl.tabs dt').hover(function(){
		$(this).siblings().removeClass('selected').next('dd').animate({opacity: 'hide',height: exec[$(this).next('dd').index()]});
		$(this).addClass('selected').next('dd').animate({opacity: 'show',height: exec[$(this).next('dd').index()]},250);
	},function(){});
	$('#showwerforall').css('display','none');
	$('.small-lelika a').attr('onclick','return false'); //wtf?
	$('.small-lelika').click(function(){
		var z=$(this).find('a');
		z.attr('target')=='_blank'?window.open(z.attr('href')):document.location=z.attr('href');
	});
	$('#hbt_adverts').click(function(){document.location='/reklama.php';}).css({cursor: 'pointer'});
	$('#hbt_users').click(function(){document.location='/register.php';}).css({cursor: 'pointer'});
	$('div.showholder').css({'z-index':'256'});
	
	//$('#fl_adskape').attr('src','http://p51312.adskape.ru/adout.js?p=51312&t=1');
	/*$('span.fl_spoiler').css({
		'color': $(this).css('background-color');
	}).hover(function(){
		$(this).css
	},function(){
		
	});*/
});

flcr_states={0:{0:1,1:0,2:0},1:{0:1,1:0,2:1},2:{0:0,1:0,2:1},3:{0:0,1:1,2:1},4:{0:0,1:1,2:0},5:{0:1,1:1,2:0}};

function flcr_getstate(step,xmul){
	step=1-(step-Math.floor(step));
	//alert(step);
	var ix=step*6;
	var ix0=Math.floor(ix);
	var ix1=Math.ceil(ix);

	var fstep=ix-ix0;
	var fstepi=1-fstep;
	
	if(ix1>=6){ix1=0;};
	
	var st0=flcr_states[ix0];
	var st1=flcr_states[ix1];
	
	var cl={
		0:Math.round(Math.min((st0[0]*fstepi+st1[0]*fstep)*255*xmul[0],255)),
		1:Math.round(Math.min((st0[1]*fstepi+st1[1]*fstep)*255*xmul[1],255)),
		2:Math.round(Math.min((st0[2]*fstepi+st1[2]*fstep)*255*xmul[2],255))
	};
	var r=cl[0].toString(16);if(r.length<2){r='0'+r;};
	var g=cl[1].toString(16);if(g.length<2){g='0'+g;};
	var b=cl[2].toString(16);if(b.length<2){b='0'+b;};
	return r+g+b;
};

function flcr_rainbow(jqelm,speed,step,width,absolute,xmul){
	var phf=parseFloat(jqelm.attr('_jqe_phase'));
	if(!phf){jqelm.attr('_jqe_phase',0);phf=0;};
	phf+=step;
	phf=phf-Math.floor(phf);
	jqelm.attr('_jqe_phase',phf);
	var pfe=jqelm.find('span');
	var pfl=pfe.length;
	
	pfe.each(function(i,e){
		var nfz=absolute?(i*width):(i/pfl*width);
		$(this).css('color','#'+flcr_getstate(phf+nfz,xmul));
	});
	setTimeout(function(){flcr_rainbow(jqelm,speed,step,width,absolute,xmul);},speed);
}

function flz_getqs(){
	var ps = location.search.substring(1).split("&");
	var rps={};
    for (var i=0;i<ps.length;i++){
		var spl=ps[i].split('=',2);
		if(spl[0]!=''){rps[spl[0]]=spl[1];}
    }
	return rps;
}

function fl_ulwarn(){
	return getCookie('fl_uwrnd')=='2' || confirm('Внимание! Строго запрещается вставлять ссылки рекламной тематики, за нарушение этого правила будут следовать санкции! Читайте правила для получения более точной информации. Вы подтверждаете что прочитали это, согласны с этим, и берете на себя ответственность за нарушение?') && setCookie('fl_uwrnd','2');
}

function array_merge(){var args=Array.prototype.slice.call(arguments),retObj={},k,j=0,i=0,retArr=true;for(i=0;i<args.length;i++){if(!(args[i]instanceof Array)){retArr=false;break;}}if (retArr){retArr=[];for(i=0;i<args.length;i++){retArr=retArr.concat(args[i]);}return retArr;}var ct=0;for(i=0,ct=0;i<args.length;i++){if(args[i]instanceof Array){for(j=0;j<args[i].length;j++){retObj[ct++]=args[i][j];}}else{for(k in args[i]){if(args[i].hasOwnProperty(k)){if(parseInt(k,10)+''===k){retObj[ct++]=args[i][k];}else{retObj[k]=args[i][k];}}}}}return retObj;}
function sprintf(){var regex=/%%|%(\d+\$)?([-+\'#0 ]*)(\*\d+\$|\*|\d+)?(\.(\*\d+\$|\*|\d+))?([scboxXuidfegEG])/g;var a=arguments,i=0,format=a[i++];var pad=function(str,len,chr,leftJustify){if(!chr){chr=' ';}var padding=(str.length>=len)?'':Array(1+len-str.length>>>0).join(chr);return leftJustify?str+padding:padding+str;};var justify=function(value,prefix,leftJustify,minWidth,zeroPad,customPadChar){var diff=minWidth-value.length;if(diff>0){if(leftJustify||!zeroPad){value=pad(value,minWidth,customPadChar,leftJustify);}else{value=value.slice(0,prefix.length)+pad('',diff,'0',true)+value.slice(prefix.length);}}return value;};var formatBaseX=function(value,base,prefix,leftJustify,minWidth,precision,zeroPad){var number=value>>>0;prefix=prefix&&number&&{'2':'0b','8':'0','16':'0x'}[base]||'';value=prefix+pad(number.toString(base),precision||0,'0',false);return justify(value,prefix,leftJustify,minWidth,zeroPad);};var formatString=function(value,leftJustify,minWidth,precision,zeroPad,customPadChar){if(precision!=null){value=value.slice(0,precision);}return justify(value,'',leftJustify,minWidth,zeroPad,customPadChar);};var doFormat=function(substring,valueIndex,flags,minWidth,_,precision,type){var number;var prefix;var method;var textTransform;var value;if(substring=='%%'){return'%';}var leftJustify=false,positivePrefix='',zeroPad=false,prefixBaseX=false,customPadChar=' ';var flagsl=flags.length;for(var j=0;flags&&j<flagsl;j++){switch(flags.charAt(j)){case' ':positivePrefix=' ';break;case'+':positivePrefix='+';break;case'-':leftJustify=true;break;case"'":customPadChar=flags.charAt(j+1);break;case'0':zeroPad=true;break;case'#':prefixBaseX=true;break;}}if(!minWidth){minWidth=0;}else if(minWidth=='*'){minWidth=+a[i++];}else if(minWidth.charAt(0)=='*'){minWidth=+a[minWidth.slice(1,-1)];}else{minWidth=+minWidth;}if(minWidth<0){minWidth=-minWidth;leftJustify=true;}if(!isFinite(minWidth)){throw new Error('sprintf: (minimum-)width must be finite');}if(!precision){precision='fFeE'.indexOf(type)>-1?6:(type=='d')?0:undefined;}else if(precision=='*'){precision=+a[i++];}else if(precision.charAt(0)=='*'){precision=+a[precision.slice(1,-1)];}else{precision=+precision;}value=valueIndex?a[valueIndex.slice(0,-1)]:a[i++];switch(type){case's':return formatString(String(value),leftJustify,minWidth,precision,zeroPad,customPadChar);case'c':return formatString(String.fromCharCode(+value),leftJustify,minWidth,precision,zeroPad);case'b':return formatBaseX(value,2,prefixBaseX,leftJustify,minWidth,precision,zeroPad);case'o':return formatBaseX(value,8,prefixBaseX,leftJustify,minWidth,precision,zeroPad);case'x':return formatBaseX(value,16,prefixBaseX,leftJustify,minWidth,precision,zeroPad);case'X':return formatBaseX(value,16,prefixBaseX,leftJustify,minWidth,precision,zeroPad).toUpperCase();case'u':return formatBaseX(value,10,prefixBaseX,leftJustify,minWidth,precision,zeroPad);case'i':case'd':number=parseInt(+value,10);prefix=number<0?'-':positivePrefix;value=prefix+pad(String(Math.abs(number)),precision,'0',false);return justify(value,prefix,leftJustify,minWidth,zeroPad);case'e':case'E':case'f':case'F':case'g':case'G':number=+value;prefix=number<0?'-':positivePrefix;method=['toExponential','toFixed','toPrecision']['efg'.indexOf(type.toLowerCase())];textTransform=['toString','toUpperCase']['eEfFgG'.indexOf(type)%2];value=prefix+Math.abs(number)[method](precision);return justify(value,prefix,leftJustify,minWidth,zeroPad)[textTransform]();default:return substring;}};return format.replace(regex,doFormat);}
function is_numeric(mixed_var){return(typeof(mixed_var) === 'number' || typeof(mixed_var) === 'string') && mixed_var !== '' && !isNaN(mixed_var);}
function in_array(needle,haystack,argStrict){var key = '', strict = !!argStrict;if(strict){for(key in haystack){if(haystack[key] === needle){return true;}}}else{for(key in haystack){if(haystack[key]==needle){return true;}}}return false;}
function array_map(callback){var argc=arguments.length,argv=arguments;var j=argv[1].length,i=0,k=1,m=0;var tmp=[],tmp_ar=[];while(i<j){while(k<argc){tmp[m++]=argv[k++][i];}m=0;k=1;if(callback){if(typeof callback==='string'){callback=this.window[callback];}tmp_ar[i++]=callback.apply(null,tmp);}else{tmp_ar[i++]=tmp;}tmp=[];}return tmp_ar;}

function flz_rqmod(nr){
	return $.param(array_merge(flz_getqs(),nr));
}

function jqs_unhide(jel,cb){
	jel.animate({
		'opacity': 'show',
		'height': 'show'
	},250,typeof(cb)=='function'?cb:null);
}


function jqs_hide(jel,cb){
	jel.animate({
		'opacity': 'hide',
		'height': 'hide'
	},250,typeof(cb)=='function'?cb:null);
}



function var_export (mixed_expression) {
    var retstr = '',
        iret = '',
        cnt = 0,
        x = [],
        i = 0,
        funcParts = [],
        idtLevel = arguments[2] || 2,
        innerIndent = '',
        outerIndent = '';

    var getFuncName = function (fn) {
        var name = (/\W*function\s+([\w\$]+)\s*\(/).exec(fn);
        if (!name) {
            return '(Anonymous)';
        }
        return name[1];
    };

    var _makeIndent = function (idtLevel) {
        return (new Array(idtLevel + 1)).join(' ');
    };

    var __getType = function (inp) {
        var i = 0;
        var match, type = typeof inp;
        if (type === 'object' && inp.constructor && getFuncName(inp.constructor) === 'PHPJS_Resource') {
            return 'resource';
        }
        if (type === 'function') {
            return 'function';
        }
        if (type === 'object' && !inp) {
            return 'null'; // Should this be just null?
        }
        if (type === "object") {
            if (!inp.constructor) {
                return 'object';
            }
            var cons = inp.constructor.toString();
            match = cons.match(/(\w+)\(/);
            if (match) {
                cons = match[1].toLowerCase();
            }
            var types = ["boolean", "number", "string", "array"];
            for (i = 0; i < types.length; i++) {
                if (cons === types[i]) {
                    type = types[i];
                    break;
                }
            }
        }
        return type;
    };
    var type = __getType(mixed_expression);

    if (type === null) {
        retstr = "NULL";
    } else if (type === 'array' || type === 'object') {
        outerIndent = _makeIndent(idtLevel - 2);
        innerIndent = _makeIndent(idtLevel);
        for (i in mixed_expression) {
            var value = this.var_export(mixed_expression[i], true, idtLevel + 2);
            //value = typeof value === 'string' ? value.replace(/</g, '&lt;').replace(/>/g, '&gt;') : value;
            x[cnt++] = innerIndent + i + ' => ' + (__getType(mixed_expression[i]) === 'array' ? '\n' : '') + value;
        }
        iret = x.join(',\n');
        retstr = outerIndent + "array (\n" + iret + '\n' + outerIndent + ')';
    } else if (type === 'function') {
        funcParts = mixed_expression.toString().match(/function .*?\((.*?)\) \{([\s\S]*)\}/);
        retstr = "create_function ('" + funcParts[1] + "', '" + funcParts[2].replace(new RegExp("'", 'g'), "\\'") + "')";
    } else if (type === 'resource') {
        retstr = 'NULL'; // Resources treated as null for var_export
    } else {
        retstr = (typeof(mixed_expression) !== 'string') ? mixed_expression : "'" + mixed_expression.replace(/(["'])/g, "\\$1").replace(/\0/g, "\\0") + "'";
    }

    return retstr;
}

/*
 * простой и быстрый способ расшифровать JSON строку, без больших выебонов
 * @version 1.0.0.2011-06-19
 */

function fl_json_decode(u_json){
	var t_object = false;
	eval('t_object='+u_json+';');
	return t_object;
}


/* функция для единичного захвата элементов. думаю что будет универсальным
 * решением...
 * @version 1.0.1.2011-06-13
 * @requires: sprintf()
 */
$.fl_hook = function(selector, ident){
	ident=typeof(ident)=='string' ? ident : 'flr-hook';
	//выбираем только нехукнутые элементы
	return $(sprintf('%s:not([%s="1"])', selector, ident)).attr(ident, 1);
}


//колорпикеры на соотвествующие едиты
$(function(){
	$('#textcolor').ColorPicker({
		onSubmit: function(hsb, hex, rgb, el) {
			$(el).attr('value','#'+hex.toUpperCase());
			$(el).ColorPickerHide();
			lnkcheckForm();
		},
		onBeforeShow: function () {
			$(this).ColorPickerSetColor(this.value);
		}
	}).bind('keyup', function(){
		$(this).ColorPickerSetColor(this.value);
	});
/* 	$('#lnklinkcolor, #lnkbordercolor, #lnkfoncolor').next('img').click(function(){
		$(this).prev('input').ColorPickerShow();
	}); */
});
