

// @file vdna.events.js 


generateSessionId=function(){var length=32,chars="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890",sessionId="";for(var x=0;x<length;x++){i=Math.floor(Math.random()*62);sessionId+=chars.charAt(i);}
return sessionId;}
getSessionCookieValue=function(cookieName){var exp=new RegExp(escape(cookieName)+"=([^;]+)");if(exp.test(document.cookie+";")){exp.exec(document.cookie+";");return unescape(RegExp.$1);}else{return false;}}
testSessionCookie=function(){document.cookie="testSessionCookie=Enabled";if(getSessionCookieValue("testSessionCookie")!="Enabled"){return false;}
return true;}
setSessionCookieTest=function(name,value){if(testSessionCookie()){document.cookie=escape(name)+"="+escape(value)+"; path=/";return true;}else{return false;}}
openNewWindow=function(url){var popupWin=window.open(url,'open_window','menubar, toolbar, location, directories, status, scrollbars, resizable, dependent, width=640, height=480, left=0, top=0')}
trackUserClick=function(o,objType,extra,objId){var sType=objType,sData=extra,sAction='CLICK',linkConfig=null;if(o.href){var linkConfig={url:o.href,target:(o.target)?'blank':'self'};}
var sId=(objId)?objId:o.href;sendUserActionEvent(sAction,sType,sData,sId,linkConfig);return true;}
sendShareEvent=function(obj){var action='CLICK';var type='SHARE';var data='';switch(obj){case'vdna_share_em':var id='EMAIL';break;case'vdna_share_fb':var id='FACEBOOK';break;case'vdna_share_tw':var id='TWITTER';break;case'vdna_share_my':var id='MYSPACE';break;default:var id='';break;}
sendUserActionEvent(action,type,data,id);}
clickedForm=function(){var action='CLICK';var type='REGFORM';var data='';switch(obj){case'vdna_share_em':var id='EMAIL';break;case'vdna_share_fb':var id='FACEBOOK';break;case'vdna_share_tw':var id='TWITTER';break;case'vdna_share_my':var id='MYSPACE';break;default:var id='';break;}
sendUserActionEvent(action,type,data,id);}
createEventImage=function(url){var img=document.createElement('IMG');img.src=url;img.alt='';img.style.visibility='hidden';img.height='1';img.width='1';document.body.appendChild(img);}
sendImpressionEvent=function(type){var impressionEvent={"esVDNAAppImpressionEvent":[{"Ba4":trackingData.Ba4,"Ba5":window.location.href,"Ba6":(document.referrer==""||document.referrer==null||document.referrer=="null")?(typeof(window.http_referrer)=="undefined"?"":window.http_referrer):document.referrer,"Ba20":trackingData.Ba20,"Ba24":(VDNA_config.userID)?VDNA_config.userID:'0',"Ba25":getSessionCookieValue('vdnaSessionId'),"Ba26":type}]};var eventsurl='http://general.visualdna-stats.com/events';if(window.location.href.toLowerCase().indexOf('.vm.')!=-1||window.location.href.toLowerCase().indexOf('.staging.')!=-1){eventsurl='http://events.test.visualdna.com/events';}
var imgSrc=eventsurl+'?b=GenericApp_v_0.1&enc=json&e='+encodeURIComponent(JSON.stringify(impressionEvent));createEventImage(imgSrc);VDNA_GAET.track(trackingData.Ba4,type,trackingData.Ba24,"");return true;}
sendStatementEvent=function(statement,action){var statementEvent={"esVDNAAppStatementEvent":[{"Ba4":trackingData.Ba4,"Ba11":trackingData.Ba11,"Ba13":statement,"Ba18":action,"Ba20":trackingData.Ba20,"Ba24":(VDNA_config.userID)?VDNA_config.userID:'0',"Ba25":getSessionCookieValue('vdnaSessionId')}]};var eventsurl='http://general.visualdna-stats.com/events';if(window.location.href.toLowerCase().indexOf('.vm.')!=-1||window.location.href.toLowerCase().indexOf('.staging.')!=-1){eventsurl='http://events.test.visualdna.com/events';}
var imgSrc=eventsurl+'?b=GenericApp_v_0.1&enc=json&e='+encodeURIComponent(JSON.stringify(statementEvent));createEventImage(imgSrc);VDNA_GAET.track(trackingData.Ba4,statement,action,"");return true;}
sendModuleStartEvent=function(){var statementEvent={"esVDNAAppModuleStartEvent":[{"Ba4":trackingData.Ba4,"Ba11":trackingData.Ba11,"Ba20":trackingData.Ba20,"Ba24":(VDNA_config.userID)?VDNA_config.userID:'0',"Ba25":getSessionCookieValue('vdnaSessionId')}]};var eventsurl='http://general.visualdna-stats.com/events';if(window.location.href.toLowerCase().indexOf('.vm.')!=-1||window.location.href.toLowerCase().indexOf('.staging.')!=-1){eventsurl='http://events.test.visualdna.com/events';}
var imgSrc=eventsurl+'?b=GenericApp_v_0.1&enc=json&e='+encodeURIComponent(JSON.stringify(statementEvent));createEventImage(imgSrc);VDNA_GAET.track(trackingData.Ba4,trackingData.Ba11,"VDNAAppModuleStartEvent","");return true;}
function sendModuleCompleteEvent(responseId,responseIdIntro,userId){var statementEvent={"esVDNAAppModuleCompleteEvent":[{"Ba4":trackingData.Ba4,"Ba11":trackingData.Ba11,"Ba20":trackingData.Ba20,"Ba23":responseId,"Ba24":(VDNA_config.userID)?VDNA_config.userID:'0',"Ba25":getSessionCookieValue('vdnaSessionId')}]};var eventsurl='http://general.visualdna-stats.com/events';if(window.location.href.toLowerCase().indexOf('.vm.')!=-1||window.location.href.toLowerCase().indexOf('.staging.')!=-1){eventsurl='http://events.test.visualdna.com/events';}
var imgSrc=eventsurl+'?b=GenericApp_v_0.1&enc=json&e='+encodeURIComponent(JSON.stringify(statementEvent));createEventImage(imgSrc);VDNA_GAET.track(trackingData.Ba4,trackingData.Ba11,"VDNAAppModuleCompleteEvent","");parts=jQuery("#"+activeQuizId).attr('class').split('_');feedbackId=parts[0];moduleId=parts[1];setTimeout(function(){checkCookieComplete(exit_url+"response_id="+responseId+"&response_id_intro="+responseIdIntro+"&module_id="+moduleId+"&feedback_id="+feedbackId,VDNA_config.userID);},1000);return true;}
sendUserActionEvent=function(sAction,sType,sData,sId,linkConfig){var actionEvent={"esVDNAAppUserActionEvent":[{"Ba4":trackingData.Ba4,"Ba5":window.location.href,"Ba6":(document.referrer==""||document.referrer==null||document.referrer=="null")?(typeof(window.http_referrer)=="undefined"?"":window.http_referrer):document.referrer,"Ba18":sAction,"Ba20":trackingData.Ba20,"Ba24":(VDNA_config.userID)?VDNA_config.userID:'0',"Ba25":getSessionCookieValue('vdnaSessionId'),"Ba26":sType,"Ba27":sId,"Ba28":encodeURIComponent(sData)}]};var eventsurl='http://general.visualdna-stats.com/events';if(window.location.href.toLowerCase().indexOf('.vm.')!=-1||window.location.href.toLowerCase().indexOf('.staging.')!=-1){eventsurl='http://events.test.visualdna.com/events';}
var imgSrc=eventsurl+'?b=GenericApp_v_0.1&enc=json&e='+encodeURIComponent(JSON.stringify(actionEvent));createEventImage(imgSrc);VDNA_GAET.track(trackingData.Ba4,sAction+" - "+sType,sData+" / "+sId,"");return true;}
var VDNA_GAET={active:true,tries:0,track:function(page,action,label,value)
{if(VDNA_GAET.active&&typeof(pageTracker)!="undefined")
{var env="Live";if(window.location.href.toLowerCase().indexOf('.vm.')!=-1||window.location.href.toLowerCase().indexOf('.staging.')!=-1)
{env="Dev + Staging";}
if(value==null||value=='')
{pageTracker._trackEvent(env,page,action+" - "+label);}
else
{pageTracker._trackEvent(env,page,action+" - "+label,value);}}
else
{if(VDNA_GAET.tries<10)
{setTimeout(function(){VDNA_GAET.track(page,action,label,value);},500);}
VDNA_GAET.tries++;}}};if(!getSessionCookieValue('vdnaSessionId')){var sessionId=generateSessionId();setSessionCookieTest('vdnaSessionId',sessionId);}

// @file quiz.js 


var responses=new Object();var extradata=new Object();var responseimages=new Object();var demographics=new Object();var tStart=new Date();var modulename;moduleStarted=false;var loadRipple=true;var VDNA_setComplete=false;function checkCookieComplete(url,userId)
{if(userId==null)
{document.location.assign(url);return;}
if(!VDNA_setComplete)setTimeout('checkCookieComplete("'+url+'");',100);else document.location.assign(url);}
walkTheDOM=function(node,func){func(node);node=node.firstChild;while(node){walkTheDOM(node,func);node=node.nextSibling;}};getElementsByClassName=function(className){var results=[];walkTheDOM(document.body,function(node){var a,c=node.className,i;if(c){a=c.split(' ');for(i=0;i<a.length;i+=1){if(a[i]===className){results.push(node);break;}}}});return results;};addEventHandler=function(node,type,f){if(node.addEventListener){node.addEventListener(type,f,false);}else if(node.attachEvent){node.attachEvent("on"+type,f);}else{node["on"+type]=f;}};randOrd=function(){return(Math.round(Math.random())-0.5);};var rippleImages=[];var rippleSize;doRipple=function(){if(rippleImages.length){var $imgs=jQuery('#c').children('div.page');$imgs=jQuery($imgs[0]).children().find('ul.ql');var i=rippleImages.pop();var $obj=$imgs.children('li:nth-child('+i+')').children().find('img');highlightImage($obj,'ripple');setTimeout(function(){doRipple();},100);}}
rippleSetUp=function(initial){var $imgs=jQuery('#c').children('div.page');$imgs=jQuery($imgs[0]).children().find('ul.ql');for(var i=0;i<$imgs.children().size();i++){rippleImages.push(i+"");}
rippleImages=rippleImages.sort(randOrd);size=rippleImages.length;doRipple();}
addImageEffects=function(){var $imgs=jQuery('ul.ql').children().children().find('img');jQuery.each($imgs,function(){jQuery(this).bind('mouseover',function(){highlightImage(jQuery(this),'over');});});jQuery.each($imgs,function(){jQuery(this).bind('mouseout',function(){highlightImage(jQuery(this),'out');});});}
highlightImage=function($obj,type){var color='#90322a';var url=window.location.href;if(url.indexOf('/sv-SE/')!=-1){color='#333333';}else if(url.indexOf('/fr-FR/')!=-1){color='#b9b396';}else if(url.indexOf('/fr-BE/')!=-1){color='#668b1e';}else if(url.indexOf('/it-IT/')!=-1){color='#333333';}else if(url.indexOf('/nl-BE/')!=-1){color='#668b1e';}else if(url.indexOf('/nl-NL/')!=-1){color='#3c7faf';}
var speed=100,toggleSpeed=250;if(type==='over'){$obj.parents('li').children('div').children('div').css('background-color',color);$obj.parents('li').children('div').children('div').animate({'top':'0','width':'150px','height':'150px','left':'0'},speed);}else if(type=='out'){$obj.parents('li').children('div:not(.is_clicked)').children('div').animate({'top':'6px','width':'138px','height':'138px','left':'6px'},speed,function(){jQuery(this).css('background-color','#ffffff');});}else{$obj.parents('li').children('div').children('div').css('background-color',color);$obj.parents('li').children('div').children('div').animate({'top':'0','width':'150px','height':'150px','left':'0'},toggleSpeed,function(){jQuery(this).animate({'top':'6px','width':'138px','height':'138px','left':'6px'},toggleSpeed,function(){jQuery(this).css('background-color','#ffffff');});});}}
say=function(str){try{window.loadFirebugConsole();console.log(str);}catch(e){alert(str);}};jQuery(window).load(function(){var message=document.getElementById('flash-message');if(message!=null){message.parentNode.removeChild(message);}
addImageEffects();window.setTimeout("rippleSetUp()",500);});function nextpage(el,subq,page,quizId)
{var key;if(page!=""){jQuery("#"+quizId).find("#page"+page).css("display","none");}
if(page!=""){page=pages[page];}
else{for(key in pages){page=key;loadImages(page);break;}}
if(page.toLowerCase()!=='finish'){sendStatementEvent(page,"IMPRESSION");}
jQuery("#"+quizId).find("#page"+page).fadeIn("fast");if(page.toLowerCase()==='finish'){finishUp();return;}
inner=document.getElementById("page"+page).getElementsByTagName("div")[1];if(page.toLowerCase()!=='age'){randomizeImages(page);}
npage=pages[page];if(npage!=""&&npage!="finishIntroQuiz"){loadImages(npage);}}
function redirectToSecondaryQuiz()
{var genders={male:"choice_54204",female:"choice_54205"};var looking_for={dating:new Array('choice_11328','choice_9952','choice_11348','choice_113428'),affinity:new Array('choice_9959','choice_9951','choice_10094','choice_10800')};var looking_for_gender=responses["gender"];var looking_for_relationship=responses["statement_716"];checkSaveVdna();for(var i in looking_for.dating)
{if(looking_for.dating[i]==looking_for_relationship)
{jQuery("#vdna-content").addClass('dating');if(looking_for_gender==genders.male)
{var newCampaignId=trackingData.Ba20.substr(0,trackingData.Ba20.length-1)+'3';var modArr=jQuery("#vdna-quiz_3").attr('class').split("_");trackingData.Ba11=modArr[1];trackingData.Ba20=newCampaignId;trackingData.Ba4=site+newCampaignId+country;sendImpressionEvent('START');var sData=makeExtradataXmltoUserActionEvent();sendUserActionEvent("QUIZ_START","QUIZ",sData,trackingData.Ba11);responseModuleIds+="&module_secondary="+jQuery("#vdna-quiz_3").attr('class');activeQuizId='vdna-quiz_3';jQuery("#vdna-quiz_0").hide();jQuery("#vdna-quiz_3").show();jQuery(".dontShowOnIntro").show();pages=pages_3;var page="";nextpage(null,"","","vdna-quiz_3");return false;}
else
{var newCampaignId=trackingData.Ba20.substr(0,trackingData.Ba20.length-1)+'4';var modArr=jQuery("#vdna-quiz_4").attr('class').split("_");trackingData.Ba11=modArr[1];trackingData.Ba20=newCampaignId;trackingData.Ba4=site+newCampaignId+country;sendImpressionEvent('START');var sData=makeExtradataXmltoUserActionEvent();sendUserActionEvent("QUIZ_START","QUIZ",sData,trackingData.Ba11);responseModuleIds+="&module_secondary="+jQuery("#vdna-quiz_4").attr('class');activeQuizId='vdna-quiz_4';jQuery("#vdna-quiz_0").hide();jQuery("#vdna-quiz_4").show();jQuery(".dontShowOnIntro").show();pages=pages_4;var page="";nextpage(null,"","","vdna-quiz_4");return false;}}}
for(var i in looking_for.affinity)
{if(looking_for.affinity[i]==looking_for_relationship)
{jQuery("#vdna-content").addClass('matchmaking');if(looking_for_gender==genders.male)
{var newCampaignId=trackingData.Ba20.substr(0,trackingData.Ba20.length-1)+'1';var modArr=jQuery("#vdna-quiz_1").attr('class').split("_");trackingData.Ba11=modArr[1];trackingData.Ba20=newCampaignId;trackingData.Ba4=site+newCampaignId+country;sendImpressionEvent('START');var sData=makeExtradataXmltoUserActionEvent();sendUserActionEvent("QUIZ_START","QUIZ",sData,trackingData.Ba11);responseModuleIds+="&module_secondary="+jQuery("#vdna-quiz_1").attr('class');activeQuizId='vdna-quiz_1';jQuery("#vdna-quiz_0").hide();jQuery("#vdna-quiz_1").show();jQuery(".dontShowOnIntro").show();pages=pages_1;var page="";nextpage(null,"","","vdna-quiz_1");return false;}
else
{var newCampaignId=trackingData.Ba20.substr(0,trackingData.Ba20.length-1)+'2';var modArr=jQuery("#vdna-quiz_2").attr('class').split("_");trackingData.Ba11=modArr[1];trackingData.Ba20=newCampaignId;trackingData.Ba4=site+newCampaignId+country;sendImpressionEvent('START');var sData=makeExtradataXmltoUserActionEvent();sendUserActionEvent("QUIZ_START","QUIZ",sData,trackingData.Ba11);responseModuleIds+="&module_secondary="+jQuery("#vdna-quiz_2").attr('class');activeQuizId='vdna-quiz_2';jQuery("#vdna-quiz_0").hide();jQuery("#vdna-quiz_2").show();jQuery(".dontShowOnIntro").show();pages=pages_2;var page="";nextpage(null,"","","vdna-quiz_2");return false;}}}}
function loadImages(page)
{jQuery("#"+activeQuizId).find("#page"+page+" img").each(function()
{if(jQuery(this).attr("src").indexOf('/images/quiz/t.gif')!=-1)
{jQuery(this).attr("src",jQuery(this).parents('a').attr("rel"));}});}
function randomizeImages(page)
{var myPage=null;if(typeof document.getElementById(activeQuizId).children!="undefined")
{var pages=document.getElementById(activeQuizId).children[0].children[1].children;}
else
{if(typeof document.getElementById(activeQuizId).childNodes!="undefined")
{var pages=document.getElementById(activeQuizId).getElementsByTagName("DIV")[0].getElementsByTagName("DIV")[1].childNodes;}}
for(var i in pages){if(pages[i].id=='page'+page)
myPage=pages[i];}
if(myPage)
{ims=myPage.getElementsByTagName('li');for(i=0;i<ims.length*2;i++){el1=ims[Math.round(getRandomArbitary(0,ims.length-1))];el2=ims[Math.round(getRandomArbitary(0,ims.length-1))];el2.parentNode.insertBefore(el2,el1);}}}
function getRandomArbitary(min,max){return Math.random()*(max-min)+min;}
function r(el,page,response,subq)
{if(!moduleStarted){moduleStarted=true;sendModuleStartEvent();}
img=el.childNodes[0];if(img.src=="")return false;if(isImageLoaded(img)==false)return false;responses[page]=response;responseimages[page]=img.src;sendStatementEvent(page,"CLICK");if(page=="age"){switch(response)
{case"choice_72787":trackingData.Ba15="18-24";break;case"choice_72788":trackingData.Ba15="25-34";break;case"choice_72789":trackingData.Ba15="35-44";break;case"choice_72790":trackingData.Ba15="45-54";break;case"choice_72791":trackingData.Ba15="55+";break;}}
if(page=="demog_gender"){switch(response)
{case"choice_54204":trackingData.Ba16="M";break;case"choice_54205":trackingData.Ba16="F";break;}}
if(page=="relationship"){switch(response)
{case"choice_83970":trackingData.Ba19="Y";break;case"choice_83971":trackingData.Ba19="N";break;}}
if(page==='gender'){redirectToSecondaryQuiz();return false;}else{nextpage(el,subq,page,activeQuizId);}
return false;}
function cro(){var o=null;if(window.ActiveXObject){o=new ActiveXObject("Msxml2.XMLHTTP");if(!o)o=new ActiveXObject("Microsoft.XMLHTTP")}else if(window.XMLHttpRequest){o=new XMLHttpRequest()}return o;}
function rmp(u,f,a){var p=cro();p.open("GET","saveResponse.php?"+u+responseModuleIds,true);if(f){p.onreadystatechange=function(){if(p.readyState==4){a?f(a,p.responseText):f(p.responseText)}}}p.send(null)}
function finishUp()
{var tDate=new Date();var tDiff=tDate.getTime()-tStart.getTime();tDate.setTime(tDiff);rrs="";for(i in responses){rrs+="&"+i+"="+responses[i];}
for(i in extradata){rrs+="&extra_"+i+"="+extradata[i];}
submitForm(rrs);}
function submitForm(rrs)
{ourDate=new Date();cachebreak=ourDate.getMilliseconds()
rmp("ts="+cachebreak+rrs,formSubmitted);}
function formSubmitted(a){var responseIdIntro=null;var responseId=null;var userId=null;eval(a);sendModuleCompleteEvent(responseId,responseIdIntro,userId);}
function loadJS(url)
{var headTag=document.getElementsByTagName("head").item(0);var scriptTag=document.createElement("script");scriptTag.src=url;headTag.appendChild(scriptTag);}
function isImageLoaded(img){if(typeof img.complete!="undefined"&&!img.complete){return false;}
if(typeof img.naturalWidth!="undefined"&&img.naturalWidth==0){return false;}
return true;}
function makeExtradataXmltoUserActionEvent()
{var tmat=urlParam('tmat');if(tmat===false)
{tmat=defaultAdvCampaignData.tmat;}
var mtcmk=urlParam('mtcmk');if(mtcmk===false)
{mtcmk=defaultAdvCampaignData.mtcmk;}
var tdat=urlParam('tdat');if(tdat===false)
{tdat=defaultAdvCampaignData.tdat;}
var trackingid=urlParam('trackingid');if(trackingid===false)
{trackingid=defaultAdvCampaignData.trackingid;}
var bannerid=urlParam('bannerid');if(bannerid===false)
{bannerid=defaultAdvCampaignData.bannerid;}
setSessionCookieTest('VDNAtmat',tmat);setSessionCookieTest('VDNAmtcmk',mtcmk);setSessionCookieTest('VDNAtdat',tdat);setSessionCookieTest('VDNAtrackingid',trackingid);setSessionCookieTest('VDNAbannerid',bannerid);var xml='<extradata><tmat>'+tmat+'</tmat><mtcmk>'+mtcmk+'</mtcmk><tdat>'+tdat+'</tdat><trackingid>'+trackingid+'</trackingid><bannerid>'+bannerid+'</bannerid></extradata>';$("body").append($("<div style='display:none'>bannerid: "+bannerid+" / "+defaultAdvCampaignData.bannerid+"</div>"));$("body").append($("<div style='display:none'>xml: "+xml+"</div>"));return xml;}
function urlParam(paramName)
{var vars={};if(window.location.href.indexOf('?')==-1)
return false;var hashes=window.location.href.slice(window.location.href.indexOf('?')+1).split('&');for(var i=0;i<hashes.length;i++)
{var hash=hashes[i].split('=');eval("vars."+hash[0]+" = '"+hash[1]+"';");}
eval("var param = vars."+paramName+";");return param||false;}

// @file json2.js 


if(!this.JSON){JSON={};}
(function(){function f(n){return n<10?'0'+n:n;}
if(typeof Date.prototype.toJSON!=='function'){Date.prototype.toJSON=function(key){return this.getUTCFullYear()+'-'+
f(this.getUTCMonth()+1)+'-'+
f(this.getUTCDate())+'T'+
f(this.getUTCHours())+':'+
f(this.getUTCMinutes())+':'+
f(this.getUTCSeconds())+'Z';};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(key){return this.valueOf();};}
var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'},rep;function quote(string){escapable.lastIndex=0;return escapable.test(string)?'"'+string.replace(escapable,function(a){var c=meta[a];return typeof c==='string'?c:'\\u'+('0000'+a.charCodeAt(0).toString(16)).slice(-4);})+'"':'"'+string+'"';}
function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];if(value&&typeof value==='object'&&typeof value.toJSON==='function'){value=value.toJSON(key);}
if(typeof rep==='function'){value=rep.call(holder,key,value);}
switch(typeof value){case'string':return quote(value);case'number':return isFinite(value)?String(value):'null';case'boolean':case'null':return String(value);case'object':if(!value){return'null';}
gap+=indent;partial=[];if(Object.prototype.toString.apply(value)==='[object Array]'){length=value.length;for(i=0;i<length;i+=1){partial[i]=str(i,value)||'null';}
v=partial.length===0?'[]':gap?'[\n'+gap+
partial.join(',\n'+gap)+'\n'+
mind+']':'['+partial.join(',')+']';gap=mind;return v;}
if(rep&&typeof rep==='object'){length=rep.length;for(i=0;i<length;i+=1){k=rep[i];if(typeof k==='string'){v=str(k,value);if(v){partial.push(quote(k)+(gap?': ':':')+v);}}}}else{for(k in value){if(Object.hasOwnProperty.call(value,k)){v=str(k,value);if(v){partial.push(quote(k)+(gap?': ':':')+v);}}}}
v=partial.length===0?'{}':gap?'{\n'+gap+partial.join(',\n'+gap)+'\n'+
mind+'}':'{'+partial.join(',')+'}';gap=mind;return v;}}
if(typeof JSON.stringify!=='function'){JSON.stringify=function(value,replacer,space){var i;gap='';indent='';if(typeof space==='number'){for(i=0;i<space;i+=1){indent+=' ';}}else if(typeof space==='string'){indent=space;}
rep=replacer;if(replacer&&typeof replacer!=='function'&&(typeof replacer!=='object'||typeof replacer.length!=='number')){throw new Error('JSON.stringify');}
return str('',{'':value});};}}());
