codeModify=function(nr){
	if(nr===0){nr=10};
	var o=div.get("dynamiccode");
	var x=o.innerHTML;
	curcol="#ffc";
	if(!nr){
		x=x.split("a[0].child").join("JSONstringa[0].child");
		x=x.split("a[1].parent").join("JSONstringa[1].parent");
	};
	x=x.split('JSONstring');
	for(var i=0;i<x.length;i++){
		if(nr==i && i>0){x[i]=x[i].split(x[i].indexOf('true')>=0?'true':'false').join(x[i].indexOf('true')>=0?'false':'true')};
		curcol=curcol=="#ffc"?"#FFCC66":"#ffc";
		if(!nr && i<7){x[i]+='<span onclick="codeModify('+(i-1)+')" style="cursor:pointer;font-size:9px;background-color:'+curcol+';float:right">&nbsp;Change this&nbsp;</span>'}
		if(!nr && i<2){
			
		}
	};
	x=x.join('JSONstring');
	if(!nr){
		x=x.replace(/JSONstring/,"").replace(/JSONstring/,"")
	};
	if(!nr){
		var m=["a[0].child=a[1];","a[1].parent=a[0];"];
		for(var i=0;i<m.length;i++){
			x=x.split(m[i]).join('<span id="pco'+i+'" class="comment" style="display:none">//</span><span id="co'+i+'">'+m[i]+'</span>')
		}
		x=x.replace(/\/\*/,'<span id="testResult"></span>');
		x=x.replace(/\/\*/,'/*<span id="testResult2"></span>');
		x=x.replace(/<span id="testResult"/g,'/*<span id="testResult"')
	}
	o.innerHTML=x
	if(nr==-1 || nr==10){
		var m=nr==10?1:0;
		var y=div.get("co"+m);
		var off=(y.className=="comment");
		y.className=off?"nocomment":"comment";
		div.get("pco"+m).style.display=off?"none":""
	};
	div.get("testResult").innerHTML=runCode().split("\n").join('<br>');
	div.get("testResult2").innerHTML=bTest?'------------------- bTest will now have to following value: ------------------- <br>'+bTest+"<br>----------------------------------------------------------------------------------------":" bTest could not be calculated (dependent on s) "
}

runCode=function(){
	// collect flags etc
	var x=div.get("dynamiccode").innerHTML.split("JSONstring");
	var f=["compactOutput","includeProtos","includeFunctions","detectCirculars","restoreCirculars"];
	for(var i=0;i<f.length;i++){JSONstring[f[i]]=x[i+1].indexOf('true')>-1};
	var a=[{name:"Peter",age:40,getOlder:function(){this.age++}},{name:"Mary",age:20}];
	if(div.get("co0").className!="comment"){a[0].child=a[1]};
	if(div.get("co1").className!="comment"){a[1].parent=a[0]};
	Object.prototype.extra=1;
	if(!JSONstring.detectCirculars && a[0].child && a[1].parent){bTest="";return " s could not be calculated (too much recursion) "}
	var s=JSONstring.make(a); var b=JSONstring.toObject(s);
	bTest=b[1]+", "+b[1].name; if(b[1].parent){bTest+=", "+b[1].parent.name}; 
	if(a[0].child && a[1].parent && JSONstring.compactOutput){s=s.split('"parent":').join('\n"parent":')}
	return '---------------------- s will now have to following value: ---------------------- \n'+s+"\n----------------------------------------------------------------------------------------"
}

extraOnload=codeModify