hs.transitions=['expand','crossfade'];hs.fadeInOut=true;hs.expandDuration=100;hs.anchor=null;hs.outlineType='rounded-white';hs.wrapperClassName='controls-in-heading';hs.captionEval='this.a.title';hs.enableKeyListener=true;hs.width=350;hs.cacheAjax=false;hs.easing='easeOutBack';hs.easingClose='easeInBack';var hsSlideOpt={interval:5000,repeat:true,useControls:true,fixedControls:'fit',overlayOptions:{position:'top center',opacity:.75,offsetY:-50,hideOnMouseOut:false}}
var ax_err_show=true;var fbactive=false;var user={cid:getCookie('cid'),files:[]}
$(document).ready(function(){if($('#file-uploader').length){var uploader=new qq.FileUploader({element:document.getElementById('file-uploader'),action:'/assets/site/ax/upload.php',sizeLimit:15000000,minSizeLimit:0,multiple:false,messages:{typeError:"Загружать файлы разрешено только с расширениями {extensions}.",sizeError:"Максимальный размер файла {sizeLimit}.",onLeave:"Файлы загружаются, если вы уйдете, загрузка будет отменена."},onComplete:function(id,fileName,responseJSON){$('#zakazForm').append('<input type="hidden" name="file" value="'+responseJSON['filename']+'">');}});}
$('#nav li:first').css('background','url(/assets/site/images/down-arrow.gif) center left no-repeat');var is_robot=true;$('input,a').click(function(){is_robot=false;});$('#callbackForm').submit(function(){if(!is_robot){$.ajax({url:'/assets/site/ax/callback.php',dataType:'json',type:'post',data:{'name':$('input[name=name]',$(this)).val(),'phone':$('input[name=phone]',$(this)).val(),'time':$('input[name=time]',$(this)).val(),'comments':$('textarea[name=comments]',$(this)).val()},success:function(d){if(d.success){$('.callback_error_text').text('');$('#callbackForm .mistake').removeClass('mistake');$('#callbackForm input[type=text], #callbackForm textarea').val('');alert('Ваше сообщение отправлено');}else{$('.callback_error_text').text('');$('#callbackForm .mistake').removeClass('mistake');for(var field in d.errors){if(field=='name'){$('#callbackForm input[name=name]').addClass('mistake');$('#callback_error_name').text('Вы не заполнили поле "ФИО"');}
if(field=='phone'){$('#callbackForm input[name=phone]').addClass('mistake');$('#callback_error_phone').text('Вы не заполнили поле "Контактный телефон"');}
if(field=='time'){$('#callbackForm input[name=time]').addClass('mistake');$('#callback_error_time').text('Вы не заполнили поле "Удобное время"');}}}}});}
return false;});$('#zamerForm').submit(function(){if(!is_robot){$.ajax({url:'/assets/site/ax/zamer.php',dataType:'json',type:'post',data:{'name':$('input[name=name]',$(this)).val(),'phone':$('input[name=phone]',$(this)).val(),'address':$('input[name=address]',$(this)).val(),'comments':$('textarea[name=comments]',$(this)).val()},success:function(d){if(d.success){$('.zamer_error_text').text('');$('#zamerForm .mistake').removeClass('mistake');$('#zamerForm input[type=text], #zamerForm textarea').val('');alert('Ваше сообщение отправлено');}else{$('.zamer_error_text').text('');$('#zamerForm .mistake').removeClass('mistake');for(var field in d.errors){if(field=='name'){$('#zamerForm input[name=name]').addClass('mistake');$('#zamer_error_name').text('Вы не заполнили поле "ФИО"');}
if(field=='phone'){$('#zamerForm input[name=phone]').addClass('mistake');$('#zamer_error_phone').text('Вы не заполнили поле "Контактный телефон"');}
if(field=='address'){$('#zamerForm input[name=address]').addClass('mistake');$('#zamer_error_address').text('Вы не заполнили поле "Адрес"');}}}}});}
return false;});$('#zakazForm').submit(function(){if(!is_robot){$.ajax({url:'/assets/site/ax/zakaz.php',dataType:'json',type:'post',data:{'model':$('input[name=model]',$(this)).val(),'name':$('input[name=name]',$(this)).val(),'mail':$('input[name=mail]',$(this)).val(),'phone':$('input[name=phone]',$(this)).val(),'file':$('input[type=hidden]',$(this)).val(),'comments':$('textarea[name=comments]',$(this)).val()},success:function(d){if(d.success){$('.zakaz_error_text').text('');$('#zakazForm .mistake').removeClass('mistake');$('#zakazForm input[type=text], #zakazForm textarea').val('');alert('Ваше сообщение отправлено');}else{$('.zakaz_error_text').text('');$('#zakazForm .mistake').removeClass('mistake');for(var field in d.errors){if(field=='name'){$('#zakazForm input[name=name]').addClass('mistake');$('#zakaz_error_name').text('Вы не заполнили поле "ФИО"');}
if(field=='phone'){$('#zakazForm input[name=phone]').addClass('mistake');$('#zakaz_error_phone').text('Вы не заполнили поле "Контактный телефон"');}
if(field=='mail'){$('#zakazForm input[name=mail]').addClass('mistake');$('#zakaz_error_mail').text('Вы не заполнили поле "E-mail"');}}}}});}
return false;});$('#zakaz_link').click(function(e){e.preventDefault();$('.zakaz_wrapper').show('slow');return false;});$('#zamer_link').click(function(e){e.preventDefault();$('.zamer_wrapper').show('slow');return false;});$('#callback_link').click(function(e){e.preventDefault();$('.callback_wrapper').show('slow');return false;});$('#callback_close').click(function(e){e.preventDefault();$('.callback_wrapper').slideUp();return false;});$('#zamer_close').click(function(e){e.preventDefault();$('.zamer_wrapper').slideUp();return false;});$('#zakaz_close').click(function(e){e.preventDefault();$('.zakaz_wrapper').slideUp();return false;});$('.zoom, .zoom_pic').click(function(e){e.preventDefault();hs.expand(this);});$('.spoller a.sdown').click(function(e){e.preventDefault();$(this).closest('div.spoller').find('a.sdown').hide();$(this).closest('div.spoller').find('div.spollerc').slideDown('slow');});$('.spoller a.sup').click(function(e){e.preventDefault();$(this).closest('div.spoller').find('a.sdown').show();$(this).closest('div.spollerc').slideUp('slow');});$('#order').click(function(e){e.preventDefault();hs.htmlExpand(this,{contentId:'_orderForm',headingText:'Заказать кухню'});$('#orderForm #fbProdName').val($('H1').html());addFilesInOrderForm(1);$('#orderForm').bind('submit',submitOrderForm);$('#fbSubmit').attr('disabled','');});$('#orderForm').submit(submitOrderForm);$('#orderForm input[type=file]').change(attachFileInOrderForm);});function addFilesInOrderForm(noreflow){user.files=[];if(user.cid==null)setCookie('cid',user.cid=getCID());else{var coo=getCookie('files');if(coo!=null){coo=unserialize(coo);for(var i in coo)user.files.push(coo[i]);}}
$('#orderForm #fbfiles div.fli').remove();$('#orderForm input[name=fbFileList]').val('');if(user.cid.length==32){for(var i=0;i<user.files.length;i++){$('#orderForm #fbfiles #fbfl').before('<div class="fli" style="display:block;overflow:hidden"><span>Файл '+user.files[i]+'</span><span style="margin-left:20px"><a class="dimg" href="#"><img fname="'+user.files[i]+'" src="/assets/site/images/delete.gif"></a></span></div>');}}
$('#orderForm input[type=file]').bind('change',attachFileInOrderForm);$('#orderForm a.dimg').bind('click',delFileInOrderForm);if(!noreflow){var expander=hs.getExpander(document.getElementById("hb"));expander.reflow();}}
function delFileInOrderForm(e){e.preventDefault();$(e.target).attr('src','/assets/_img/ajax-loader.gif');fbactive=true;$.ajax({url:'/assets/site/ax/fbDeleteFile.php',data:{fName:$(e.target).attr('fname')},type:'GET',global:true,cache:false,dataType:'json',error:Err,success:function(data){if(data.error==''){$(e.target).parent().parent().parent().slideUp('fast',function(e){$(this).remove();});var expander=hs.getExpander(document.getElementById("hb"));expander.reflow();var s=$(e.target).attr('fname');for(var i=0;i<user.files.length;i++)if(user.files[i]==s){user.files.splice(i,1);}
setCookie('files',serialize(user.files));}else alert(data.error);},complete:function(data){$(e.target).attr('src','/assets/site/images/delete.gif');fbactive=false;}});}
function attachFileInOrderForm(e){if($(e.target).val()==''||fbactive)return;$("#attachFileLoading").show();fbactive=true;$.ajaxFileUpload({url:'/assets/site/ax/fbUpload.php',secureuri:false,fileElementId:'fbFile',dataType:'json',complete:function(){$("#attachFileLoading").hide();fbactive=false;$('#orderForm input[type=file]').change(attachFileInOrderForm);},success:function(data,status){if(typeof(data.error)!='undefined'){if(data.error!=''){alert(data.error);}else{user.files.push(data.filename);setCookie('files',serialize(user.files));$('#orderForm #fbfiles #fbfl').before('<div class="fli" style="display:block;overflow:hidden"><span>Файл '+user.files[user.files.length-1]+'</span><span style="margin-left:20px"><a href="#" class="dimg"><img fname="'+data.filename+'" src="/assets/site/images/delete.gif"></a></span></div>');$('#orderForm a.dimg').bind('click',delFileInOrderForm);var expander=hs.getExpander(document.getElementById("hb"));expander.reflow();}}},error:Err});}
function submitOrderForm(e){e.preventDefault();if(fbactive)return;fbactive=true;$('#orderForm input[name=tval]').val('mail11');$('#fbSubmit').attr('disabled','disabled').after('<img src="/assets/_img/ajax-loader.gif">');$.ajax({url:'/assets/site/ax/feedback.php',data:{f:$(e.target).serialize()},type:'POST',global:true,cache:false,dataType:'html',error:Err,success:function(data){$('#hb').html(data);$('#orderForm').bind('submit',submitOrderForm);addFilesInOrderForm(0);},complete:function(){$('#fbSubmit').attr('disabled','');fbactive=false;}});return false;}
function Err(XMLHttpRequest,textStatus,errorThrown){if(ax_err_show)alert('ajx ERROR: '+textStatus+' '+errorThrown);}
function setCookie(cookieName,cookieContent,expires){var expDate=new Date();expDate.setTime(expDate.getTime()+8640000000000);if(!isNaN(expires))expires=expires=='long'?expDate.toGMTString():(expires=='session'?'':expires);else var expires=expDate.toGMTString();document.cookie=cookieName+"="+escape(cookieContent)+"; path="+escape('/')+(expires!=''?("; expires="+expires):'');}
function getCookie(name){var cname=name+"=";var dc=document.cookie;if(dc.length>0){begin=dc.indexOf(cname);if(begin!=-1){begin+=cname.length;end=dc.indexOf(";",begin);if(end==-1)end=dc.length;return unescape(dc.substring(begin,end));}}
return null;}
function getCID(){var s='0123456789qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM';var r='';for(var i=1;i<=32;i++){r=r+s.charAt(randomNumber(0,s.length-1));}
return r;}
function randomNumber(m,n)
{m=parseInt(m);n=parseInt(n);return Math.floor(Math.random()*(n-m+1))+m;}
(function($){var dropShadowZindex=1;$.fn.dropShadow=function(options)
{var opt=$.extend({left:4,top:4,blur:2,opacity:.5,color:"black",swap:false},options);var jShadows=$([]);this.not(".dropShadow").each(function()
{var jthis=$(this);var shadows=[];var blur=(opt.blur<=0)?0:opt.blur;var opacity=(blur==0)?opt.opacity:opt.opacity/(blur*8);var zOriginal=(opt.swap)?dropShadowZindex:dropShadowZindex+1;var zShadow=(opt.swap)?dropShadowZindex+1:dropShadowZindex;var shadowId;if(this.id){shadowId=this.id+"_dropShadow";}
else{shadowId="ds"+(1+Math.floor(9999*Math.random()));}
$.data(this,"shadowId",shadowId);$.data(this,"shadowOptions",options);jthis
.attr("shadowId",shadowId)
.css("zIndex",zOriginal);if(jthis.css("position")!="absolute"){jthis.css({position:"relative",zoom:1});}
bgColor=jthis.css("backgroundColor");if(bgColor=="rgba(0, 0, 0, 0)")bgColor="transparent";if(bgColor!="transparent"||jthis.css("backgroundImage")!="none"||this.nodeName=="SELECT"||this.nodeName=="INPUT"||this.nodeName=="TEXTAREA"){shadows[0]=$("<div></div>")
.css("background",opt.color);}
else{shadows[0]=jthis
.clone()
.removeAttr("id")
.removeAttr("name")
.removeAttr("shadowId")
.css("color",opt.color);}
shadows[0]
.addClass("dropShadow")
.css({height:jthis.outerHeight(),left:blur,opacity:opacity,position:"absolute",top:blur,width:jthis.outerWidth(),zIndex:zShadow});var layers=(8*blur)+1;for(i=1;i<layers;i++){shadows[i]=shadows[0].clone();}
var i=1;var j=blur;while(j>0){shadows[i].css({left:j*2,top:0});shadows[i+1].css({left:j*4,top:j*2});shadows[i+2].css({left:j*2,top:j*4});shadows[i+3].css({left:0,top:j*2});shadows[i+4].css({left:j*3,top:j});shadows[i+5].css({left:j*3,top:j*3});shadows[i+6].css({left:j,top:j*3});shadows[i+7].css({left:j,top:j});i+=8;j--;}
var divShadow=$("<div></div>")
.attr("id",shadowId)
.addClass("dropShadow")
.css({left:jthis.position().left+opt.left-blur,marginTop:jthis.css("marginTop"),marginRight:jthis.css("marginRight"),marginBottom:jthis.css("marginBottom"),marginLeft:jthis.css("marginLeft"),position:"absolute",top:jthis.position().top+opt.top-blur,zIndex:zShadow});for(i=0;i<layers;i++){divShadow.append(shadows[i]);}
jthis.after(divShadow);jShadows=jShadows.add(divShadow);$(window).resize(function()
{try{divShadow.css({left:jthis.position().left+opt.left-blur,top:jthis.position().top+opt.top-blur});}
catch(e){}});dropShadowZindex+=2;});return this.pushStack(jShadows);};$.fn.redrawShadow=function()
{this.removeShadow();return this.each(function()
{var shadowOptions=$.data(this,"shadowOptions");$(this).dropShadow(shadowOptions);});};$.fn.removeShadow=function()
{return this.each(function()
{var shadowId=$(this).shadowId();$("div#"+shadowId).remove();});};$.fn.shadowId=function()
{return $.data(this[0],"shadowId");};$(function()
{var noPrint="<style type='text/css' media='print'>";noPrint+=".dropShadow{visibility:hidden;}</style>";$("head").append(noPrint);});})(jQuery);(function($){$.dimensions={version:'1.2'};$.each(['Height','Width'],function(i,name){$.fn['inner'+name]=function(){if(!this[0])return;var torl=name=='Height'?'Top':'Left',borr=name=='Height'?'Bottom':'Right';return this.is(':visible')?this[0]['client'+name]:num(this,name.toLowerCase())+num(this,'padding'+torl)+num(this,'padding'+borr);};$.fn['outer'+name]=function(options){if(!this[0])return;var torl=name=='Height'?'Top':'Left',borr=name=='Height'?'Bottom':'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);};});$.each(['Left','Top'],function(i,name){$.fn['scroll'+name]=function(val){if(!this[0])return;return val!=undefined?this.each(function(){this==window||this==document?window.scrollTo(name=='Left'?val:$(window)['scrollLeft'](),name=='Top'?val:$(window)['scrollTop']()):this['scroll'+name]=val;}):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){offsetParent=this.offsetParent();offset=this.offset();parentOffset=offsetParent.offset();offset.top-=num(elem,'marginTop');offset.left-=num(elem,'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)&&$.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);jQuery.extend({createUploadIframe:function(id,uri)
{var frameId='jUploadFrame'+id;if(window.ActiveXObject){var io=document.createElement('<iframe id="'+frameId+'" name="'+frameId+'" />');if(typeof uri=='boolean'){io.src='javascript:false';}
else if(typeof uri=='string'){io.src=uri;}}
else{var io=document.createElement('iframe');io.id=frameId;io.name=frameId;}
io.style.position='absolute';io.style.top='-1000px';io.style.left='-1000px';document.body.appendChild(io);return io},createUploadForm:function(id,fileElementId)
{var formId='jUploadForm'+id;var fileId='jUploadFile'+id;var form=$('<form  action="" method="POST" name="'+formId+'" id="'+formId+'" enctype="multipart/form-data"></form>');var oldElement=$('#'+fileElementId);var newElement=$(oldElement).clone();$(oldElement).attr('id',fileId);$(oldElement).before(newElement);$(oldElement).appendTo(form);$(form).css('position','absolute');$(form).css('top','-1200px');$(form).css('left','-1200px');$(form).appendTo('body');return form;},ajaxFileUpload:function(s){s=jQuery.extend({},jQuery.ajaxSettings,s);var id=new Date().getTime()
var form=jQuery.createUploadForm(id,s.fileElementId);var io=jQuery.createUploadIframe(id,s.secureuri);var frameId='jUploadFrame'+id;var formId='jUploadForm'+id;if(s.global&&!jQuery.active++)
{jQuery.event.trigger("ajaxStart");}
var requestDone=false;var xml={}
if(s.global)
jQuery.event.trigger("ajaxSend",[xml,s]);var uploadCallback=function(isTimeout)
{var io=document.getElementById(frameId);try
{if(io.contentWindow)
{xml.responseText=io.contentWindow.document.body?io.contentWindow.document.body.innerHTML:null;xml.responseXML=io.contentWindow.document.XMLDocument?io.contentWindow.document.XMLDocument:io.contentWindow.document;}else if(io.contentDocument)
{xml.responseText=io.contentDocument.document.body?io.contentDocument.document.body.innerHTML:null;xml.responseXML=io.contentDocument.document.XMLDocument?io.contentDocument.document.XMLDocument:io.contentDocument.document;}}catch(e)
{jQuery.handleError(s,xml,null,e);}
if(xml||isTimeout=="timeout")
{requestDone=true;var status;try{status=isTimeout!="timeout"?"success":"error";if(status!="error")
{var data=jQuery.uploadHttpData(xml,s.dataType);if(s.success)
s.success(data,status);if(s.global)
jQuery.event.trigger("ajaxSuccess",[xml,s]);}else
jQuery.handleError(s,xml,status);}catch(e)
{status="error";jQuery.handleError(s,xml,status,e);}
if(s.global)
jQuery.event.trigger("ajaxComplete",[xml,s]);if(s.global&&!--jQuery.active)
jQuery.event.trigger("ajaxStop");if(s.complete)
s.complete(xml,status);jQuery(io).unbind()
setTimeout(function()
{try
{$(io).remove();$(form).remove();}catch(e)
{jQuery.handleError(s,xml,null,e);}},100)
xml=null}}
if(s.timeout>0)
{setTimeout(function(){if(!requestDone)uploadCallback("timeout");},s.timeout);}
try
{var form=$('#'+formId);$(form).attr('action',s.url);$(form).attr('method','POST');$(form).attr('target',frameId);if(form.encoding)
{form.encoding='multipart/form-data';}
else
{form.enctype='multipart/form-data';}
$(form).submit();}catch(e)
{jQuery.handleError(s,xml,null,e);}
if(window.attachEvent){document.getElementById(frameId).attachEvent('onload',uploadCallback);}
else{document.getElementById(frameId).addEventListener('load',uploadCallback,false);}
return{abort:function(){}};},uploadHttpData:function(r,type){var data=!type;data=type=="xml"||data?r.responseXML:r.responseText;if(type=="script")
jQuery.globalEval(data);if(type=="json")
eval("data = "+data);if(type=="html")
jQuery("<div>").html(data).evalScripts();return data;}})
function utf8_decode(str_data){var tmp_arr=[],i=0,ac=0,c1=0,c2=0,c3=0;str_data+='';while(i<str_data.length){c1=str_data.charCodeAt(i);if(c1<128){tmp_arr[ac++]=String.fromCharCode(c1);i++;}else if((c1>191)&&(c1<224)){c2=str_data.charCodeAt(i+1);tmp_arr[ac++]=String.fromCharCode(((c1&31)<<6)|(c2&63));i+=2;}else{c2=str_data.charCodeAt(i+1);c3=str_data.charCodeAt(i+2);tmp_arr[ac++]=String.fromCharCode(((c1&15)<<12)|((c2&63)<<6)|(c3&63));i+=3;}}
return tmp_arr.join('');}
function unserialize(data){var that=this;var utf8Overhead=function(chr){var code=chr.charCodeAt(0);if(code<0x0080){return 0;}
if(code<0x0800){return 1;}
return 2;};var error=function(type,msg,filename,line){throw new that.window[type](msg,filename,line);};var read_until=function(data,offset,stopchr){var buf=[];var chr=data.slice(offset,offset+1);var i=2;while(chr!=stopchr){if((i+offset)>data.length){error('Error','Invalid');}
buf.push(chr);chr=data.slice(offset+(i-1),offset+i);i+=1;}
return[buf.length,buf.join('')];};var read_chrs=function(data,offset,length){var buf;buf=[];for(var i=0;i<length;i++){var chr=data.slice(offset+(i-1),offset+i);buf.push(chr);length-=utf8Overhead(chr);}
return[buf.length,buf.join('')];};var _unserialize=function(data,offset){var readdata;var readData;var chrs=0;var ccount;var stringlength;var keyandchrs;var keys;if(!offset){offset=0;}
var dtype=(data.slice(offset,offset+1)).toLowerCase();var dataoffset=offset+2;var typeconvert=function(x){return x;};switch(dtype){case'i':typeconvert=function(x){return parseInt(x,10);};readData=read_until(data,dataoffset,';');chrs=readData[0];readdata=readData[1];dataoffset+=chrs+1;break;case'b':typeconvert=function(x){return parseInt(x,10)!==0;};readData=read_until(data,dataoffset,';');chrs=readData[0];readdata=readData[1];dataoffset+=chrs+1;break;case'd':typeconvert=function(x){return parseFloat(x);};readData=read_until(data,dataoffset,';');chrs=readData[0];readdata=readData[1];dataoffset+=chrs+1;break;case'n':readdata=null;break;case's':ccount=read_until(data,dataoffset,':');chrs=ccount[0];stringlength=ccount[1];dataoffset+=chrs+2;readData=read_chrs(data,dataoffset+1,parseInt(stringlength,10));chrs=readData[0];readdata=readData[1];dataoffset+=chrs+2;if(chrs!=parseInt(stringlength,10)&&chrs!=readdata.length){error('SyntaxError','String length mismatch');}
readdata=that.utf8_decode(readdata);break;case'a':readdata={};keyandchrs=read_until(data,dataoffset,':');chrs=keyandchrs[0];keys=keyandchrs[1];dataoffset+=chrs+2;for(var i=0;i<parseInt(keys,10);i++){var kprops=_unserialize(data,dataoffset);var kchrs=kprops[1];var key=kprops[2];dataoffset+=kchrs;var vprops=_unserialize(data,dataoffset);var vchrs=vprops[1];var value=vprops[2];dataoffset+=vchrs;readdata[key]=value;}
dataoffset+=1;break;default:error('SyntaxError','Unknown / Unhandled data type(s): '+dtype);break;}
return[dtype,dataoffset-offset,typeconvert(readdata)];};return _unserialize((data+''),0)[2];}
function serialize(mixed_value){var _utf8Size=function(str){var size=0,i=0,l=str.length,code='';for(i=0;i<l;i++){code=str[i].charCodeAt(0);if(code<0x0080){size+=1;}else if(code<0x0800){size+=2;}else{size+=3;}}return size;};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();match=cons.match(/(\w+)\(/);if(match){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"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:"+_utf8Size(mixed_value)+":\""+mixed_value+"\"";break;case"array":case"object":val="a";var count=0;var vals="";var okey;var key;for(key in mixed_value){if(mixed_value.hasOwnProperty(key)){ktype=_getType(mixed_value[key]);if(ktype==="function"){continue;}
okey=(key.match(/^[0-9]+$/)?parseInt(key,10):key);vals+=this.serialize(okey)+this.serialize(mixed_value[key]);count++;}}
val+=":"+count+":{"+vals+"}";break;case"undefined":default:val="N";break;}
if(type!=="object"&&type!=="array"){val+=";";}
return val;}
