
		var fadeLayer=false;		// Layer used to cover the page and fade in to "white out" content
		var fadeTmr=false;			// Interval used to control the fade up/down animation
		var largeViewLayer=false;	// Used to display large view of thought image in an overlay
		var largeViewImage=false;
		var contentLayer=false;		// Reference to the layer containing the selected image details
		var closeImageLayer=false;	// Reference to the layer containing the "Close" link on the large image
		var movingLayer=false;
		var fadeDir=0;				// Direction in which we're fading - up or down
		var lViewDir=0;				// Direction in which we're fading the large view image - up or down
		var fadeOp=0;				// Current opacity of the fade layer
		var lViewOp=0;				// Current opacity of the large image view layer

		var shareLinkBoxDiv=false;
		var shareLinkBoxOp=0;
		var shareLinkBoxFadeDir=0;
		var shareLinkBoxOpen=false;

		var lastPickedId=-1;
		var pickedId=-1;
		var pickTmr=false;
		var pickTicker=0;

		var commentPage=0;			// Start of "page" of comments listed below the image.
		var previousCommentPage=0;	// Used when deleting or vetting a comment, so list returns to correct point
		var totalCommentPages=0;
		var loaderImage=null;		// Used as a temporary comtainer for the new main thought image.
		var fadeAmt=0;
		var fadeMainTmr=null;

		var rotData=null;

		function initDropBox(){
			newsDropDownInit();
			addEvent(document.getElementById('datebox'), 'click', function(){
				showHideMonthList();
				return false;
			});	
			var tb=document.getElementById('shareThoughtButton');
			if(tb){
				tb.style.display="block";
				if(document.all){
					var av=navigator.appVersion.toLowerCase();
					var ix=av.indexOf('msie');
					var ver=parseFloat(av.substring(ix+5,av.indexOf(';',ix)))
					if(ver<7 && ver>=5.5){
						var slb=document.getElementById('shareLinkBox');
						slb.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/media/style/images/front-end/thoughts/share_bg.png', sizingMethod='scale')";
						slb.style.backgroundImage='url(/media/style/images/front-end/thoughts/trans.gif)'
					}
				}
			}

			var b=document.getElementsByTagName('body')[0];
			loaderImage=document.createElement('img');
			loaderImage.style.position='absolute';
			loaderImage.style.top='-1000px';
			loaderImage.style.zIndex=999999;
			b.appendChild(loaderImage);
		}

		function initLayers(){
			var b=document.getElementsByTagName('body')[0];
			contentLayer=document.getElementById('container');
			fadeLayer=document.createElement('div');
			movingLayer=document.createElement('div');
			largeViewLayer=document.createElement('div');
			closeImageLayer=document.createElement('div');
			largeViewImage=document.createElement('img');
			b.appendChild(fadeLayer);
			var fs=fadeLayer.style;
			fs.position='absolute';
			fs.backgroundColor='#ffffff';
			fs.zIndex=1000;
			b.appendChild(movingLayer);
			movingLayer.id="movingLayerDiv";
			closeImageLayer.id="closeImageLayerDiv";
			closeImageLayer.innerHTML="Click image to close";
			var lvls=largeViewLayer.style;
			lvls.position='absolute';
			lvls.border="1px solid black";
			lvls.padding=0;
			lvls.zIndex=2000;
			largeViewLayer.appendChild(largeViewImage);
			b.appendChild(largeViewLayer);
			b.appendChild(closeImageLayer);
			largeViewImage.onclick=clv;
			closeImageLayer.onclick=clv;
			largeViewImage.onmouseover=fadeUpCloseButton;
			largeViewImage.onmouseout=fadeDownCloseButton;
		}

		function fadeUpCloseButton(){
			closeImageLayer.style.display='block';
		}
		
		function fadeDownCloseButton(){
			closeImageLayer.style.display='none';
		}

		/**
		 * Large view of thought image
		 */
		function lv(){
			if(fadeTmr)	// Shouldn't ever happen, but might as well catch the possibility..
				return;
			if(!fadeLayer)
				initLayers();
			var b=document.getElementsByTagName('body')[0];
			var fs=fadeLayer.style;
			fs.top='0px';
			fs.left='0px';
			fs.width='100%';
			fs.display='block';
			fadeDir=0.06;
			lViewOp=0;
			lViewDir=0.04;
			var ww=getWindowWidth();
			var wh=getWindowHeight();
			largeViewImage.src=lvPath;
			largeViewImage.style.width=lvWidth+"px";
			largeViewImage.style.height=lvHeight+"px";
			largeViewImage.title="Click image to close and return to thoughts";
			largeViewImage.style.cursor='pointer';
			setElementOpacity(fadeLayer,0);
			setElementOpacity(largeViewLayer,0);
			setElementOpacity(closeImageLayer,0.8);
			closeImageLayer.style.display='none';
			fadeLayer.style.height=b.offsetHeight+'px';
			var lvs=largeViewImage.style;
			lvs.width=lvWidth+'px';
			lvs.height=lvHeight+'px';
			lvs.display='block';
			centreElement(largeViewLayer);
			closeImageLayer.style.left=largeViewLayer.style.left;
			closeImageLayer.style.top=largeViewLayer.style.top;
			fadeTmr=setInterval('layerFader()',20);
		}

		/**
		 * Close large view
		 */
		function clv(){
			fadeDir=-0.05;
			lViewDir=-0.2;
			closeImageLayer.style.display='none';
			closeImageLayer.style.top="-500px"
			if(!fadeTmr)
				fadeTmr=setInterval('layerFader()',20);
		}

		function shareThought(){
			var url=cThoughtURL;
			var subject=cThoughtTitle;
			var bodyContent=cThoughtBody;
			if(!shareLinkBoxDiv)
				shareLinkBoxDiv=document.getElementById('shareLinkBox');
			var sb=document.getElementById('shareButton');
			if(!sb)
				return;
			shareLinkBoxOpen=!shareLinkBoxOpen;
			var dX=0,dY=-1000;
			if(shareLinkBoxOpen){
				var pos=findObDimensions(sb);
				dX=pos[0]+77;
				dY=pos[1]-114;
			}
			var ss=shareLinkBoxDiv.style;
			ss.left=dX+'px';
			ss.top=dY+'px';
			if(!shareLinkBoxOpen)
				return;
			var links=new Array();
				links['del.icio.us']=new Array(
					'Del.icio.us',
					'http://del.icio.us/post?url='+url+'&title='+subject,
					'delicious'
				);
				links['digg']=new Array(
					'Digg',
					'http://digg.com/submit?phase=2&url='+url+'&title='+subject+'&bodytext='+bodyContent,
					'digg'
				);
				links['reddit']=new Array(
					'reddit',
					'http://reddit.com/submit?url='+url+'&title='+subject,
					'reddit'
				);
				links['technorati']=new Array(
					'Technorati',
					'http://technorati.com/cosmos/search.html?url='+url,
					'technorati'
				);
				links['sphinn']=new Array(
					'Sphinn',
					'http://sphinn.com/submit?url='+url,
					'sphinn'
				);
				links['newsvine']=new Array(
					'Newsvine',
					'http://www.newsvine.com/_wine/save?u='+url+'&h='+subject,
					'newsvine'
				);
				links['twitter']=new Array(
					'Twitter',
					'http://twitter.com/home?status=Add+This:+'+url,
					'twitter'
				);
			var k,l,h="<ul>\n";
			
			for(k in links){
				l=links[k];
				h+='<li class="'+l[2]+'"><a href="'+l[1]+'" target="_blank">'+l[0]+'</a></li> ';
			}
			
			h+='</ul><a href="#" id="shareLinkClose" onclick="shareThought();return false">&nbsp;</a>';
			document.getElementById('shareLinkText').innerHTML=h;
			document.getElementById('shareLinkBox').style.zIndex=1000;
		}

		function editThought(){
			window.location.href="/thoughts/?currentPage="+pickedPage+"&action=edit&id="+pickedImageId+"&user_id="+pickedUserId;
		}

		function deleteThought(){
			if(!confirm('Do you really wish to delete this image?'))
				return false;
			window.location.href="/thoughts/?currentPage="+pickedPage+"&action=delete&id="+pickedImageId+"&user_id="+pickedUserId;
		}

		function centreElement(e){
			var w=e.offsetWidth;
			var h=e.offsetHeight;
			var ww=getWindowWidth();		
			var wh=getWindowHeight();
			var wx=ww-w;
			if(wx<0)
				wx=0;
			var wy=wh-h;
			if(wy<0)
				wy=0;
			e.style.left=(Math.round(wx/2)-5)+'px';
			e.style.top=(getScrollY()+Math.round(wy/2))+'px';
		}

		function layerFader(){
			var moving=false;
			closeImageLayer.style.width=largeViewLayer.offsetWidth+'px';

			if(
				((fadeDir>0) && (fadeOp<0.6)) ||
				((fadeDir<0) && (fadeOp>0))
			){
					fadeOp+=fadeDir;
					moving=true;
			}else{
				fadeOp=(fadeDir>0?0.65:0);
				if(fadeOp==0)
					fadeLayer.style.display='none';
			}


			if(
				((lViewDir>0) && (lViewOp<1)) ||
				((lViewDir<0) && (lViewOp>0))
			){
					lViewOp+=lViewDir;
					moving=true;
			}else{
				lViewOp=(lViewDir>0?1:0);
				if(lViewOp==0){
					largeViewImage.style.display='none';
					largeViewImage.src="/media/site/images/front-end/thoughts/holding_image.gif";
				}
			}

			setElementOpacity(largeViewLayer,lViewOp);
			setElementOpacity(fadeLayer,fadeOp);

			if(!moving){
				clearInterval(fadeTmr);
				fadeTmr=false;
			}

		}

		/**
		 * User picks a thumbnail - AJAX happens!
		 */
		function p(id){
			var e;
			// If we're in the edit form, then a lot of the necessary html
			// will be missing, so just perform a normal page refresh
			if(!document.getElementById('thoughtPosterFullName'))
				return true;
			if(id==lastPickedId)
				return false;
			if(lastPickedId!=false){
				e=document.getElementById('gImg_'+lastPickedId);
				if(e)
					setElementOpacity(e,1);
			}
			pickedImageId=lastPickedId=id;
			e=document.getElementById('gImg_'+lastPickedId);
			if(e)
				setElementOpacity(e,0.5);
			ajaxOb.sendRequest('/media/site/helpers/galleryHelper.php?cmd=ajaxThoughtLoad&id='+id,'',pLoaded);
			return false;
		}

		function pLoaded(){
			var d;
			if(!ajaxOb.xmlResponse){
				alert("Request failed");
				return;
			}


			var x=ajaxOb.xmlResponse.getElementsByTagName('thoughtData')[0];
			if(!x){
				alert("Request failed");
				return;
			}

			// Get data from the owner block
			ownerData=extractXMLData(x,'owner');
			mainContent=extractXMLData(x,'mainContent');
			nativeImage=extractXMLData(x,'nativeImage');
			thoughtLocation=extractXMLData(x,'location');

			document.title="Soup Limited | Thoughts | "+mainContent['title'];
			document.getElementById('thoughtPosterFullName').innerHTML=ownerData['fullName'];
			document.getElementById('thoughtPosterPortraitImage').src=ownerData['portraitImage'];
			document.getElementById('thoughtPosterPortraitImage').alt='Picture of '+ownerData['fullName'];
			document.getElementById('thoughtPosterPortraitImage').style.width=ownerData['portraitWidth']+'px';
			document.getElementById('thoughtPosterPortraitImage').style.height=ownerData['portraitHeight']+'px';
			document.getElementById('thoughtPosterLink').href='/thoughts/?action=view&user_id='+ownerData['id'];
			document.getElementById('thoughtPosterLink').innerHTML=ownerData['firstName']+"'s thoughts";

			document.getElementById('thoughtMainImage').alt=mainContent['title']+' - click for larger view';
			document.getElementById('thoughtMainImage').title=mainContent['title']+' - click for larger view';

			loaderImage.src=mainContent['largeImageSrc'];
			loaderImage.onload=thoughtImageLoaded;

			document.getElementById('mainTextContent').innerHTML=mainContent['mainText'];
			document.getElementById('thoughtDate').innerHTML=mainContent['dateTimeText'];
			
			cThoughtURL=mainContent['shareCodeLink'];
			cThoughtTitle=mainContent['shareCodeTitle'];
			cThoughtBody=mainContent['shareCodeBody'];

			lvWidth=nativeImage['width'];
			lvHeight=nativeImage['height'];
			lvPath=nativeImage['url'];
			pickedUserId=ownerData['id'];
			
			var locButtonSty=document.getElementById('thoughtLocationButton').style;
			var f=document.forms['thoughtForm'];
			f['latitude'].value=thoughtLocation['latitude'];
			f['longitude'].value=thoughtLocation['longitude'];
			if(parseInt(f['latitude'].value)!=0 || parseInt(f['longitude'].value!=0)){
				locButtonSty.display='block';
				centerMap();
			}else{
				locButtonSty.display='none';
				if(mapShown)
					showHideMap();
			}
			
			loadCommentData();
		}

		function thoughtImageLoaded(){
			var mi=document.getElementById('thoughtMainImage');
			var obPos=findObDimensions(mi);	// x,y,w,h
			setElementOpacity(loaderImage,0);
			loaderImage.style.left=obPos[0]+'px';
			loaderImage.style.top=obPos[1]+'px';
			loaderImage.style.width=obPos[2]+'px';
			loaderImage.style.height=obPos[3]+'px';
			loaderImage.style.display='block';
			fadeAmt=0;
			fadeMainTmr=setInterval('fadeMainImg()',50);
		}

		function fadeMainImg(){
			fadeAmt+=0.1;
			if(fadeAmt>=1){
				fadeAmt=1;
				clearInterval(fadeMainTmr);
				var mi=document.getElementById('thoughtMainImage');
				mi.src=loaderImage.src;
				setTimeout('hideLoader()',500);	// Bit of a delay, as browser sometimes takes a split second to re-render a new img src. This smooths things right out...
			}
			setElementOpacity(loaderImage,fadeAmt);
		}

		function hideLoader(){
			loaderImage.style.display='none';
		}

		function loadCommentData(){
			var x=ajaxOb.xmlResponse.getElementsByTagName('thoughtData')[0];
			var mainContent=extractXMLData(x,'commentData');
			var tc=mainContent['comments'];
			if(tc.toLowerCase()=='undefined')
				tc='';
			document.getElementById('currentCommentList').innerHTML=tc;
			commentPage=0;
			var moreButton=document.getElementById('viewAllCommentsButton');
			var commentContainer=document.getElementById('commentsContainer');
			if(tc==''){
				moreButton.style.display='none';
//				if(!loggedIn)
//					commentContainer.style.display='none';
			}else{
				showCommentPage(0);
				moreButton.style.display='block';
				commentContainer.style.display='block';
			}
		}

		function extractXMLData(x,p){
			var d=new Array();
			var ns=x.getElementsByTagName(p)[0].childNodes;
			for(n=0;n<ns.length;n++){
				if(ns[n].childNodes.length>0)
					d[ns[n].nodeName]=ns[n].childNodes[0].nodeValue;
				else
					d[ns[n].nodeName]='';
			}
			return d;
		}

		/**
		 * Set opacity of an element (range 0 to 1)
		 */
		function setElementOpacity(ob,v){
			if(v<0)
				v=0;
			else if(v>1)
				v=1;
			if(!ob || !ob.style)
				return;
			if(document.all){
				ob.style.filter='Alpha(opacity='+Math.round(v*100)+')';
			}else{
				ob.style.opacity=v;
			}
		}

		/**
		 * returns the dimensions of a block element (x,y,width,height) as an array
		 */
		function findObDimensions(ob){
			var width=ob.offsetWidth;
			var height=ob.offsetHeight;
			var x=y=0;
			if (ob.offsetParent){
				x=ob.offsetLeft
				y=ob.offsetTop
				while (ob=ob.offsetParent){
					x+=ob.offsetLeft
					y+=ob.offsetTop
				}
			}
			return [x,y,width,height];
		}

		function getWindowHeight(){
			var h=0;
			if(document.all){
				if(document.documentElement && document.documentElement.clientHeight)
					h=document.documentElement.clientHeight;
				else
					h=document.body.clientHeight;
			}else{
				h=window.innerHeight;
			}
			return h;
		}
		
		function getWindowWidth(n){
			var w=0;
			if(document.all){
				if(document.documentElement && document.documentElement.clientWidth)
					w=document.documentElement.clientWidth;
				else
					w=document.body.clientWidth;
			}else{
				w=window.innerWidth;
			}
	
			// if a node has been passed check nothing in its parent chain is position relative
			if(n) {
				while(n.offsetParent && n.nodeName != "BODY") {
					n  = n.offsetParent;
					w -= n.offsetLeft * 2;
				}
			}
			return w;
		}
		
		function getScrollY(){
			return(document.documentElement && document.documentElement.scrollTop) || window.pageYOffset || self.pageYOffset || document.body.scrollTop;
		}
		
		function getScrollX(){
			return (document.documentElement && document.documentElement.scrollLeft) || window.pageXOffset || self.pageXOffset || document.body.scrollLeft;
		}
	
		function getPageWidth(){
			return(document.documentElement && document.documentElement.scrollWidth) ? document.documentElement.scrollWidth : (document.body.scrollWidth > document.body.offsetWidth) ? document.body.scrollWidth : document.body.offsetWidth; 
		}
	
		function getPageHeight(){
			return(document.documentElement && document.documentElement.scrollHeight) ? document.documentElement.scrollHeight : (document.body.scrollHeight > document.body.offsetHeight) ? document.body.scrollHeight : document.body.offsetHeight;
		}


/* Start Ajax Ob */

		function AjaxOb(){
			this.xmlReqOb=false;
			this.xmlResponse=false;
			this.callBack=false;
		}
	
		AjaxOb.prototype.sendRequest=function(url,xmlDoc,callbackFunction) {
			if (window.XMLHttpRequest)
				this.xmlReqOb=new XMLHttpRequest();
			else if(window.ActiveXObject)
				this.xmlReqOb=new ActiveXObject("Microsoft.XMLHTTP");
			else
				return false;
			this.callBack=callbackFunction;
			this.xmlReqOb.open('get',url,true);
			this.xmlReqOb.setRequestHeader('content-type','text/xml');
			this.xmlReqOb.onreadystatechange=ajaxOb.reponseDispatcher;
			this.xmlReqOb.send(xmlDoc);
		}
	
		AjaxOb.prototype.postRequest=function(url,data,callbackFunction) {
			if (window.XMLHttpRequest)
				this.xmlReqOb=new XMLHttpRequest();
			else if(window.ActiveXObject)
				this.xmlReqOb=new ActiveXObject("Microsoft.XMLHTTP");
			else
				return false;
			this.callBack=callbackFunction;
			var p,kv='';
			for(p in data){
				kv+=(kv==''?'':'&')+p+'='+encodeURIComponent(data[p]);
			}
			this.xmlReqOb.open('post',url,true);
			this.xmlReqOb.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
			this.xmlReqOb.setRequestHeader("Content-length", kv.length);
			this.xmlReqOb.setRequestHeader("Connection", "close");
			this.xmlReqOb.onreadystatechange=ajaxOb.reponseDispatcher;
			this.xmlReqOb.send(kv);
		}
	
		AjaxOb.prototype.reponseDispatcher=function(){
			ajaxOb.xmlResp();
		}
	
		AjaxOb.prototype.xmlResp=function(){
			if(this.xmlReqOb.readyState!=4)
				return;
			if(this.xmlReqOb.status==200 || this.xmlReqOb.status==404){
				this.xmlResponse=this.xmlReqOb.responseXML;
				this.xmlResponseText=this.xmlReqOb.responseText;
				if(this.callBack)
					this.callBack();
			} else {	// Something's wrong!
			}
		}
		
		ajaxOb=new AjaxOb();

/* End Ajax Ob */


/* Thoughts comments */


/**
 * dir param is the direction to move, so 1 = forward a page, -1=back.
 */
function showCommentPage(dir){

	var n=0,
		eo=false,
		e=document.getElementById('commentPage_'+(commentPage+dir)),
		but=document.getElementById('viewAllCommentsButtonTxt');

	if(but)
		but.innerHTML='More';

	if(!e){
		commentPage=0;
		dir=0;
		e=document.getElementById('commentPage_'+commentPage);
		if(!e)
			return false;	// Something weird going on there
	}

	commentPage+=dir;
	
	do{
		eo=document.getElementById('commentPage_'+(n++));
		if(eo)
			eo.style.display='none';
	}while(eo);
	n-=2;
	var isOpen=(e.style.display!='none');
	if(!isOpen)
		e.style.display='block';
	if(commentPage==n){
		if(but){
			but.innerHTML='Top';	
		}
	}
	return false;
}

var vacButtonState='normal';

function viewAllCommentsClicked(){
	switch(vacButtonState){
		case 'normal':
			showCommentPage(1);
			break;
		case 'commentForm':
			hideCommentForm();
			break;
	}
}

function addCommentClicked(){
	switch(vacButtonState){
		case 'normal':
			showCommentForm();
			break;
		case 'commentForm':
			submitCommentForm();
			break;
	}
}

function loginButtonClicked(){
	var butOb=document.getElementById('enterCommentButtonTxt').firstChild;
	if(butOb.nodeValue!='Login'){
		butOb.nodeValue='Login';
		document.getElementById('commentPage_form').style.display='block';
	}else{
		document.getElementById('addCommentForm').submit();
	}
}

function showCommentForm(){
	vacButtonState='commentForm';
	document.getElementById('viewAllCommentsButton').style.display='block';
	document.getElementById('viewAllCommentsButtonTxt').firstChild.nodeValue='Cancel';
	document.getElementById('enterCommentButtonTxt').firstChild.nodeValue='Submit';
	document.getElementById('commentPage_form').style.display='block';
}

function hideCommentForm(){
	vacButtonState='normal';
	document.getElementById('viewAllCommentsButton').style.display='block';
	document.getElementById('viewAllCommentsButtonTxt').firstChild.nodeValue='More';
	document.getElementById('enterCommentButtonTxt').firstChild.nodeValue='Add Comment';
	document.getElementById('commentPage_form').style.display='none';
	var f=document.getElementById('addCommentForm');
	f['commentSubject'].value='';
	f['commentBody'].value='';
}

function submitCommentForm(){
	var f=document.getElementById('addCommentForm');
	var sub=f['commentSubject'].value;
	var bod=f['commentBody'].value;
	if(sub=='' || bod==''){
		alert('Please type a subject and a comment');
		return;
	}
	var data={
		title			:	sub,
		comment			:	bod,
		imageId			:	pickedImageId,
		threadId		:	0,
		parentCommentId	:	0,
		commentType		:	'public'
	};
	ajaxOb.postRequest('/media/site/helpers/galleryHelper.php?cmd=ajaxCommentSubmit',data,submitCommentCB);
}

function submitCommentCB(){
	hideCommentForm();
	loadCommentData();
}

function deleteComment(e,cid){
	if(!confirm("Please confirm you wish to delete this comment."))
		return;
	var r='/media/site/helpers/galleryHelper.php?cmd=ajaxCommentDelete&id='+cid+'&imageId='+pickedImageId;
	ajaxOb.sendRequest(r,false,deleteCommentCB);
}

function deleteCommentCB(){
	previousCommentPage=commentPage;
	loadCommentData();
	setTimeout('showCommentPage(previousCommentPage);',1);
}

function vettComment(e,cid){
	var r='/media/site/helpers/galleryHelper.php?cmd=ajaxCommentVett&id='+cid+'&imageId='+pickedImageId;
	ajaxOb.sendRequest(r,false,vettCommentCB);
}

function vettCommentCB(){
	previousCommentPage=commentPage;
	loadCommentData();
	setTimeout('showCommentPage(previousCommentPage);',1);
}


/*
 * Rotate an image from the thought section. This is used by users and the operator.
 * The data returned in the XML contains the URL of the rotated image, in the size specified
 */
function rotateImage(e,id,dir,w,h,w2,h2){
	if(!w2){
		w2=150;
		h2=100;
	}
	var r='/media/site/helpers/galleryHelper.php?cmd=ajaxImageRotate&imageId='+id+'&dir='+dir+'&returnWidth='+w+'&returnHeight='+h+'&returnWidth2='+w2+'&returnHeight2='+h2;
	ajaxOb.sendRequest(r,false,rotateImageCB);
	rotData=[document.getElementById(e),id,dir];
}

function rotateImageCB(){
	var x=ajaxOb.xmlResponse.getElementsByTagName('thoughtData')[0];
	var i=extractXMLData(x,'img');
	rotData[0].src=i['url']+'?a='+Math.random();
	if(parent.galPickedEl){
		parent.galPickedEl.src=parent.galPickedOriginalSrc+'?a='+Math.random();
	}
}
