var ma=new Array();var mx=new Array();var my=new Array();var mc=new Array();var mpos=new Array();var mal=0;var main=0;var menuw=200;var psrc=0;var pname="";var al="";var gd=0;var gx,gy;var d=document;var NS7=(!d.all&&d.getElementById);var NS4=(!d.getElementById);var IE5=(!NS4&&!NS7&&(navigator.userAgent.indexOf('MSIE 5.0')!=-1||navigator.userAgent.indexOf('MSIE 5.2')!=-1));var IE5p5=(!NS4&&!NS7&&navigator.userAgent.indexOf('MSIE 5.5')!=-1);var NS6=(NS7&&navigator.userAgent.indexOf('Netscape6')!=-1);var SAF=navigator.userAgent.indexOf('Safari')!=-1;p=navigator.userAgent.indexOf('Opera');if(p>-1){p=navigator.userAgent.charAt(p+6);if(p>6)NS7=1;else NS4=1;}var ifr=(!NS7&&!NS4&&!IE5&&!IE5p5);var quirk=(d.compatMode&&d.compatMode=="BackCompat")||IE5||IE5p5;function startMainMenu(file,h,w,dir,space,align){if(w>0)menuw=w;main=dir;if(main==1||main==2)d.write("<table border=\"0\" cellspacing=\""+space+"\" cellpadding=\"0\">");if(file!=""){al="";if(align==1)al=" align=\"right\"";if(align==2)al=" align=\"center\"";if(main==1||main==2)d.write("<tr style='line-height:1px'><td"+al+">");d.write("<img src=\""+loc+file+"\" border=\"0\"");if(h>0)d.write(" height=\""+h+"\"");if(w>0)d.write(" width=\""+w+"\"");d.write(" />");if(main==1||main==2)d.write("</td>");if(main==1)d.write("</tr>");if(main==3)d.write("<br />");}}function endMainMenu(file,h,w){if(file!=""){if(main==1)d.write("<tr>");if(main==1||main==2)d.write("<td"+al+">");d.write("<img src=\""+loc+file+"\" border=\"0\"");if(h>0)d.write(" height=\""+h+"\"");if(w>0)d.write(" width=\""+w+"\"");d.write(" />");if(main==1||main==2)d.write("</td></tr>");}if(main==1||main==2)d.write("</table>");main=0;}function mainMenuItem(name,ext,h,w,url,tar,alt,dir,state,s){if(NS4&&main==0)return;var isgraphic=ext.charAt(0)==".";if(main==1)d.write("<tr>");if(main==1||main==2)d.write("<td"+al+">");d.write("<a ");if(url!=""||!isgraphic){if(typeof(clx)!="undefined"){url="?"+clx;tar="";alt="Click to edit";}d.write("href=\""+url+"\" ");}if(tar!="")d.write("target=\""+tar+"\" ");d.write("onmouseout=\"");if(dir>0)d.write("tidyMenu(event);");d.write("\" onmouseover=\"");if(dir>0)d.write("openMenu(event, '"+name+"',"+dir+","+bc+","+fc+");");if(state>1&&isgraphic){d[name+"_over"]=new Image();d[name+"_over"].src=loc+name+"_over"+ext;d.write("setGraphic(event, '"+loc+name+"_over"+ext+"');");}d.write("return false;\"");if(!isgraphic)d.write(" class=\""+s+"\" style=\"width:"+(w>0?w:menuw)+"px\"");d.write(">");if(isgraphic){d.write("<img src=\""+loc+name+ext+"\" border=\"0\"");if(h>0)d.write(" height=\""+h+"\"");if(w>0)d.write(" width=\""+w+"\"");if(alt!="")d.write(" alt=\""+alt+"\"");d.write(" />");}else{d.write("&nbsp;"+ext+"&nbsp;");}d.write("</a>");if(main==1||main==2)d.write("</td>");if(main==1)d.write("</tr>");if(main==3)d.write("<br />");}function startSubmenu(name,style,sw){var depth=name.split("_").length+1000;if(NS4)return;if(sw>0)menuw=sw;d.write("<div id=\""+name+"\" class=\""+style+"\"  style=\"z-index:"+depth+";width:"+(menuw+(NS7?bd*2:0))+"px\">");}function endSubmenu(name){if(NS4)return;d.write("</div>");if(!NS7)d.getElementById(name).onmouseout=tidyMenu;}function submenuItem(text,url,tar,s){if(NS4)return;if(text.charAt(0)=='<')d.write(text);else if(text=="---")d.write("<div class=\""+s+"\" style=\"width:"+menuw+"px\"><center><img src=\""+loc+"---.gif\" height=\"8\" width=\""+(menuw-6-(2*bd))+"\" border=0/></center></div>");else{d.write("<a ");if(url!="")d.write("href=\""+url+"\" ");if(tar!="")d.write("target=\""+tar+"\" ");d.write("class=\""+s+"\" style=\"width:"+menuw+"px\">&nbsp;"+text+"&nbsp;</a>");}}function setGraphic(event,name){if(NS4)return;psrc=(NS7)?event.target:event.srcElement;pname=psrc.src;if(NS7)event.target.src=name;else event.srcElement.src=name;}function openMenu(event,id,pos,bc,fc){if(NS4)return;var el,x,y,dx,dy;var bwidth;if(gd==0||mal==0){var p=d.getElementById(id);gx=0;gy=0;while(!SAF&&p&&p.offsetParent){p=p.offsetParent;gx+=p.offsetLeft;gy+=p.offsetTop;}if(p)gd=1;}if(mal>0){el=d.getElementById(ma[mal-1]);if(mx[mal-1]!=el.offsetLeft||my[mal-1]!=el.offsetTop){el.style.left=mx[mal-1]+"px";el.style.top=my[mal-1]+"px";}tidyMenu(event);}if(mal>1)pos=mpos[mal-1];if(NS7){bwidth=window.innerWidth;var p=event.target;if(p.nodeName!="A"&&p.nodeName!="IMG"&&p.parentNode.nodeName=="A")p=p.parentNode;dx=p.offsetWidth;dy=p.offsetHeight;if(mal==0){x=p.x;y=p.y;if(typeof(p.x)=="undefined"||(!NS6&&!SAF)){x=p.offsetLeft;y=p.offsetTop;while(!NS6&&p.parentNode.nodeName!="BODY"){p=p.parentNode;if(p.nodeName=="TD"||p.nodeName=="TABLE"){x+=p.offsetLeft;y+=p.offsetTop;}}}}else{el=d.getElementById(ma[mal-1]);x=el.offsetLeft;y=el.offsetTop+p.offsetTop;}if(pos!=3)x-=bd;if(pos==3&&mal>0)x+=bd;}else{bwidth=document.body.clientWidth;x=event.clientX-event.offsetX-d.body.clientLeft-gx;y=event.clientY-event.offsetY-d.body.clientTop-gy;dx=event.srcElement.offsetWidth;dy=event.srcElement.offsetHeight;if(!quirk){x+=d.documentElement.scrollLeft-2;y+=d.documentElement.scrollTop-2;}else{x+=d.body.scrollLeft;y+=d.body.scrollTop;}if(mal>0){y-=bd;if(pos!=3)x-=2*bd;}}el=d.getElementById(id);if(el&&el.style.visibility!="visible"){if(pos==1){x+=dx;el.style.left=x-el.offsetWidth+"px";el.style.top=y+"px";nspeed=el.offsetWidth/frames;if(x+gx+el.offsetWidth>bwidth){x-=dx;pos=3;}}else if(pos==2){y+=dy;el.style.left=x+"px";el.style.top=y-el.offsetHeight+"px";nspeed=el.offsetHeight/frames;}if(pos==3){x-=el.offsetWidth;el.style.left=x+el.offsetWidth+"px";el.style.top=y+"px";nspeed=el.offsetWidth/frames;if(x+gx<0){x+=el.offsetWidth;pos=1;x+=dx;el.style.left=x-el.offsetWidth+"px";el.style.top=y+"px";nspeed=el.offsetWidth/frames;}}mx[mal]=x;my[mal]=y;if(NS7||IE5||frames==0){el.style.left=x+"px";el.style.top=y+"px";}if(!IE5)clipMenu(mal,el);el.style.visibility="visible";ma[mal]=id;mpos[mal]=pos;if(NS7){var p=event.target;if(p.nodeName!="A"&&p.parentNode.nodeName=="A")p=p.parentNode;mc[mal]=p.style;if(!NS6&&mal>0){mc[mal].backgroundColor="#"+bc.toString(16);mc[mal].color="#"+fc.toString(16);}el.onmouseout=tidyMenu;}else{mc[mal]=event.srcElement.style;if(mal>0){mc[mal].backgroundColor=bc;mc[mal].color=fc;}}mal++;}if(ifr&&el&&frames==0&&(typeof(tr)=="undefined"||tr=="")){var p=d.getElementById(id+"i");if(p){p.style.top=y+"px";p.style.left=x+"px";p.style.width=el.style.width;p.style.height=el.offsetHeight+"px";p.style.display="block";}else{ifr="<iframe id=\""+id+"i\" style=\"position:absolute;left:"+x+"px;width:"+el.style.width+";height:"+el.offsetHeight+"px;top:"+y+"px;z-index:998;display:block;\" scrolling=\"no\" frameborder=\"0\"></iframe>";el.insertAdjacentHTML('beforeBegin',ifr);}}}function overMenu(x,y){x-=gx;var OP8=navigator.userAgent.indexOf('Opera')!=-1;if(SAF||OP8){if(SAF){y-=gy-10;}else{y-=gy-5;}}else{y-=gy;}for(i=mal-1;i>=0;i--){var el=d.getElementById(ma[i]);if(el.offsetLeft+el.offsetWidth>x&&el.offsetLeft<=x&&el.offsetTop+el.offsetHeight>y&&el.offsetTop<=y){return ma[i];}}return "";}function tidyMenu(e){if(NS4)return;if(NS7){t=overMenu(e.pageX,e.pageY);if(t!=""&&(e.target.firstChild==e.relatedTarget||e.target==e.relatedTarget.firstChild))return;}else{var x=event.clientX-d.body.clientLeft;var y=event.clientY-d.body.clientTop;if(!quirk){x+=d.documentElement.scrollLeft-2;y+=d.documentElement.scrollTop-2;}else{x+=d.body.scrollLeft;y+=d.body.scrollTop;}t=overMenu(x,y);}om=0;for(i=0;i<mal;i++){var mail=ma[i].length;if(mail>t.length||t.substring(0,mail)!=ma[i]){var el=d.getElementById(ma[i]);el.style.visibility="hidden";mc[i].backgroundColor="";mc[i].color="";if(ifr){var p=d.getElementById(ma[i]+"i");if(p)p.style.display="none";}}else{ma[om]=ma[i];mx[om]=mx[i];my[om]=my[i];om++;}}mal=om;if(mal==0&&psrc)psrc.src=pname;}function animate(){for(i=0;i<mal;i++){var el=d.getElementById(ma[i]);if(el.style.visibility=="visible"){if(el.offsetLeft<mx[i])el.style.left=Math.min(el.offsetLeft+nspeed,mx[i])+"px";if(el.offsetLeft>mx[i])el.style.left=Math.max(el.offsetLeft-nspeed,mx[i])+"px";if(el.offsetTop<my[i])el.style.top=Math.min(el.offsetTop+nspeed,my[i])+"px";clipMenu(i,el);}}if(mal!=0||frames!=0)setTimeout("animate()",50);}function clipMenu(i,el){if(el.offsetLeft>mx[i])el.style.clip="rect("+(my[i]-el.offsetTop)+"px "+(el.offsetWidth+(mx[i]-el.offsetLeft))+"px "+el.offsetHeight+"px "+0+"px)";else el.style.clip="rect("+(my[i]-el.offsetTop)+"px "+el.offsetWidth+"px "+el.offsetHeight+"px "+(mx[i]-el.offsetLeft)+"px)";}

var myarray = new Array(7);
myarray[0] = "Roll over the icons here to explain the types of content.";
myarray[2] = "Move up the learning path a step at a time.";
myarray[3] = "Interact with and understand the concepts you're learning.";
myarray[1] = "Get on the right track to understanding a whole<br> Key Stage 3 topic.";
myarray[4] = "Complete lessons in a topic for Key Stage 4 students.";
myarray[5] = "Kick start your exam preparation with skoool Study Notes.";

var newWindow=null;
function changespan(varInt)
{
document.getElementById("ospan").innerHTML  = myarray[varInt];
}


function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function WinOpennewv1(filepg) {

open(filepg,"Windownewv1","width=780,height=570,resize,toolbar=no,scrollbars=no,status=no,menubar=no");

}
function newAlert(filepg)
{
	ConfirmStatus = confirm("You are about to view a site \n that is external to the skoool.co.uk web site.\n skoool.co.uk takes no responsibility for the\n content displayed on external sites.")

	if (ConfirmStatus == true) 
	{
	window.open(filepg, 'externalsite');	
	}
}
function newAlert2(filepg)
{
	ConfirmStatus = confirm("You are about to view a site \n that is external to the skoool.co.uk web site.\n skoool.co.uk takes no responsibility for the\n content displayed on external sites.")

	if (ConfirmStatus == true) 
	{
	window.open(filepg, 'externalsite');	
	}
}
function WinOpenForReview(filepg) 
{
	if (screen.height <= 480 && screen.width <= 800 )
	{
		open(filepg,"WindowReview","width=700,height='+(screen.availHeight-20) +',left=0,top=0,resize,toolbar=no,scrollbars=no,status=no,menubar=no");
	}
	else
	{
		open(filepg,"WindowReview","width=760,height=500,left=50,top=50,resize,toolbar=no,scrollbars=no,status=no,menubar=no");
	}
}

function openLOWindow(URLtoOpen) 
{
	var pos=URLtoOpen.lastIndexOf("/");
	if (pos>=0)	
	{
		var newstr = URLtoOpen.substring(0,pos)
		URLtoOpena = newstr + "/launch.html";
		var pos1=URLtoOpen.lastIndexOf("template_lo18.swf");
		if (pos1>=0)	
		{
			URLtoOpena = newstr + "/template_lo18.swf";
			//alert(URLtoOpen);
		}
		var pos2=URLtoOpen.lastIndexOf("template_lo26.swf");
		if (pos2>=0)	
		{
			URLtoOpena = newstr + "/template_lo26.swf";
			//alert(URLtoOpen);
		}
		URLtoOpen = URLtoOpena;
	}
	if (screen.height <= 480 && screen.width <= 800 )
	{
	  newWindow = window.open(URLtoOpen,'LOWin','height='+(screen.availHeight-20) +',width=700,left=0,top=0,toolbar=no,scrollbars=no');
	}
	else
	{
	  newWindow = window.open(URLtoOpen,'LOWin','height=500,width=760,left=50,top=50,toolbar=no,scrollbars=no');
	}

}

function openPDAWindow(URLtoOpen) 
{
	if (screen.height <= 480 && screen.width <= 800 )
	{
		newWindow=window.open(URLtoOpen,'PDAWin','height='+(screen.availHeight-20) +',width=700,left=0,top=0,toolbar=no,scrollbars=no'); 
	}
	else
	{
		newWindow=window.open(URLtoOpen,'PDAWin','height=500,width=760,left=50,top=50,toolbar=no,scrollbars=no'); 
	}
}
function openSIMWindow(URLtoOpen) 
{
	if (screen.height <= 480 && screen.width <= 800 )
	{
		newWindow=window.open(URLtoOpen,'SIMWin','height='+(screen.availHeight-20) +',width=700,left=0,top=0,toolbar=no,scrollbars=no'); 
	}
	else
	{ 
		newWindow=window.open(URLtoOpen,'SIMWin','height=500,width=760,left=50,top=50,toolbar=no,scrollbars=no'); 
	}
}
function openLPWindow(URLtoOpen) 
{ 
	if (screen.height < 768 && screen.width < 1024 )
	{
//		alert("LearnPaths are not available.");
		alert("Screen Resolution must be at least 1024*768 to view the learnpaths. Please change your settings or access the site with another suitable device.");
	}
	else
	{
		newWindow=window.open(URLtoOpen,'LPWin','height=630,width=1002,left=50,top=50,toolbar=no,scrollbars=no'); 
	}
}
function openLWindow(URLtoOpen) 
{ 

	alert('These lessons are not available at the moment.');

	//newWindow=window.open(URLtoOpen,'LWin','height=570,width=778,left=50,top=50,toolbar=no,scrollbars=no'); 
//	var pos=URLtoOpen.lastIndexOf("keystage4/maths");
//	if (pos>=0)	
//	{
//		if (screen.height <= 480 && screen.width <= 800 )
//		{
//			newWindow=window.open(URLtoOpen,'LWin','height='+(screen.availHeight-20) +',width=655,left=0,top=0,toolbar=no,scrollbars=no'); 
//		}
//		else
//		{
//			newWindow=window.open(URLtoOpen,'LWin','height=570,width=778,left=50,top=50,toolbar=no,scrollbars=no'); 
//		}
//	}
//	else
//	{
//		if (screen.height <= 480 && screen.width <= 800 )
//		{
//			var pos=URLtoOpen.lastIndexOf("/");
//			var newstr = URLtoOpen.substring(0,pos)
//			URLtoOpena = newstr + "/h-frame-ie-umpc.htm";
//			URLtoOpen = URLtoOpena;
//			newWindow=window.open(URLtoOpen,'LWin','height='+(screen.availHeight-20) +',width=765,left=0,top=0,toolbar=no,scrollbars=no'); 
//		}
//		else
//		{
//			newWindow=window.open(URLtoOpen,'LWin','height=570,width=778,left=50,top=50,toolbar=no,scrollbars=no'); 
//		}
//	}
}
function openDemoWindow(URLtoOpen) 
{ 
	if (screen.height <= 480 && screen.width <= 800 )
	{
		newWindow=window.open(URLtoOpen,'dWin','height='+(screen.availHeight-20) +',width=615,left=0,top=0,toolbar=no,scrollbars=no'); 
	}	
	else
	{
		newWindow=window.open(URLtoOpen,'dWin','height=590,width=790,left=50,top=50,toolbar=no,scrollbars=no'); 
	}
}
function openEurekaWindow(URLtoOpen, windowName, windowFeatures) 
{ 
newWindow=window.open(URLtoOpen, windowName, windowFeatures); 
}
function openNewWindow(URLtoOpen, windowName, windowFeatures) 
{ newWindow=window.open(URLtoOpen, windowName, windowFeatures); }
function WinOpennewpda(filepg) {

open(filepg,"Windownewpda","width=390,height=536,resize,toolbar=no,scrollbars=no,status=no,menubar=no");

}
function WinOpennewphone(filepg) {

open(filepg,"Windownewphone","width=285,height=560,resize,toolbar=no,scrollbars=no,status=no,menubar=no");

}

function WM_imageSwap(daImage, daSrc)
{
	var objStr,obj;
	if(document.images)
	{
		if (typeof(daImage) == 'string') 
		{
			objStr = 'document.' + daImage;
			obj = eval(objStr);
			obj.src = daSrc;
		}
		else if ((typeof(daImage) == 'object') && daImage && daImage.src) 
		{
			daImage.src = daSrc;
		}
	}
}
function openLO(URLtoOpen) 
{

if (screen.height <= 480 && screen.width <= 800 )
	{
	  newWindow = window.open(URLtoOpen,'LOWin','height='+(screen.availHeight-30) +',width=680,left=0,top=0,toolbar=no,scrollbars=no');
	}
	else
	{
	  newWindow = window.open(URLtoOpen,'LOWin','height=515,width=770,left=50,top=50,toolbar=no,scrollbars=no');
	  //newWindow = window.open(URLtoOpen,'LOWin','height=500,width=760,left=50,top=50,toolbar=no,scrollbars=no');
	}
	pageTracker._trackPageview('/'+URLtoOpen);
}

function launchcoords()
{ 
	URLtoOpen="content/toolkits/coords/index.html";
	if (screen.height < 768 && screen.width < 1024 )
	{
		alert("Screen Resolution must be at least 1024*768 to view the online toolkits. Please change your settings or access the site with another suitable device.");
	}
	else
	{
		newWindow=window.open(URLtoOpen,'coords','height=630,width=1002,left=0,top=0,toolbar=no,scrollbars=no'); 
	}
	pageTracker._trackPageview('/'+URLtoOpen);
}
function launchcharting()
{ 
	URLtoOpen="content/toolkits/charting/index.html";
	if (screen.height < 768 && screen.width < 1024 )
	{
		alert("Screen Resolution must be at least 1024*768 to view the online toolkits. Please change your settings or access the site with another suitable device.");
	}
	else
	{
		newWindow=window.open(URLtoOpen,'charting','height=630,width=1002,left=0,top=0,toolbar=no,scrollbars=no'); 
	}
	pageTracker._trackPageview('/'+URLtoOpen);
}
function launch2dshapes()
{ 
	URLtoOpen="content/toolkits/2dshapes/index.html";
	if (screen.height < 768 && screen.width < 1024 )
	{
		alert("Screen Resolution must be at least 1024*768 to view the online toolkits. Please change your settings or access the site with another suitable device.");
	}
	else
	{
		newWindow=window.open(URLtoOpen,'2dshapes','height=630,width=1002,left=0,top=0,toolbar=no,scrollbars=no'); 
	}
	pageTracker._trackPageview('/'+URLtoOpen);
}
function launchnumberline()
{ 
	URLtoOpen="content/toolkits/numberline/index.html";
	if (screen.height < 768 && screen.width < 1024 )
	{
		alert("Screen Resolution must be at least 1024*768 to view the online toolkits. Please change your settings or access the site with another suitable device.");
	}
	else
	{
		newWindow=window.open(URLtoOpen,'numberline','height=500,width=1002,left=0,top=0,toolbar=no,scrollbars=no'); 
	}
	pageTracker._trackPageview('/'+URLtoOpen);
}

function openKITWindow(URLtoOpen) 
{
	
	if (screen.height <= 480 && screen.width <= 800 )
	{
	  newWindow = window.open(URLtoOpen,'KITWin','height='+(screen.availHeight-20) +',width=700,left=0,top=0,toolbar=no,scrollbars=no');
	}
	else
	{
	  newWindow = window.open(URLtoOpen,'KITWin','height=768,width=1024,left=0,top=0,toolbar=no,scrollbars=yes, resizable=yes');
	}
	pageTracker._trackPageview('/'+URLtoOpen);
}
function openKITWindow_density(URLtoOpen) 
{
     if (document.implementation && document.implementation.createDocument)
     {
          xmlDoc = document.implementation.createDocument("", "", null);
	  xmlDoc.load('http://kerala.skoool.in/content/toolkits/physics/density/xml/d_decisions.xml');
     }
     else if (window.ActiveXObject)
     {
          xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
	  xmlDoc.load('http://kerala.skoool.in/content/toolkits/physics/density/xml/d_decisions.xml');
      }
	pausecomp(1500);

	if (screen.height <= 480 && screen.width <= 800 )
	{
	  newWindow = window.open(URLtoOpen,'KITWin','height='+(screen.availHeight-20) +',width=700,left=0,top=0,toolbar=no,scrollbars=no');
	}
	else
	{
	  newWindow = window.open(URLtoOpen,'KITWin','height=768,width=1024,left=0,top=0,toolbar=no,scrollbars=yes, resizable=yes');
	}
	pageTracker._trackPageview('/'+URLtoOpen);

}
  function pausecomp(millis) {
    var date = new Date();
    var curDate = null;

    do { curDate = new Date(); }
    while(curDate-date < millis);
  }