

				/***************************************\

						Cool Javascript GameTool v.0001
						Code &  Design  by Vidar Larsen
						http://madwizards.net 2004-2006

        \***************************************/




/*


		                       __                                                __     
		                      /\ \                  __                          /\ \    
		  ___ ___      __     \_\ \      __  __  __/\_\  ____      __     _ __  \_\ \    ____  
		/' __` __`\  /'__`\   /'_` \    /\ \/\ \/\ \/\ \/\_ ,`\  /'__`\  /\`'__\/'_` \  /',__\ 
		/\ \/\ \/\ \/\ \_\.\_/\ \_\ \   \ \ \_/ \_/ \ \ \/_/  /_/\ \_\.\_\ \ \//\ \_\ \/\__, `\
		\ \_\ \_\ \_\ \__/.\_\ \___,_\   \ \___¤___/'\ \_\/\____\ \__/.\_\\ \_\\ \___,_\/\____/
		 \/_/\/_/\/_/\/__/\/_/\/__,_ /    \/__//__/   \/_/\/____/\/__/\/_/ \/_/ \/__,_ /\/___/ 
  <=======[http://MadWizards.net 2004-2006]=================[Code:Vidar Larsen]===========>






*/
//window.onerror = stopError;
/************[This function stop most errors when enabled]********/
function stopError(msg, url, lno) { 
	alert(msg+"  "+url+"  "+lno);
	return true; 
}//	(S)Smart solutions international::.

function error(message) {
	buff=' last active object = '+this.name;
	buff+=message;
	 alert(buff);
	return true;
}



ns6 = document.getElementById;
ns  = document.layers;
ie  = document.all;
                


var gameSpeed=10;
var activeLevel=1;
var squareSize = 64;


/*******************[AccessCSS]***********************************/
function accessCSS(layerID)	{    																//
  if(ns6){ return document.getElementById(layerID).style;}     //
   else if(ie){ return document.all[layerID].style; }         //
    else if(ns){ return document.layers[layerID]; }          //
}/***********************************************************/





/**************************[move Layer]*************************************/
function move(layer,x,y)  { accessCSS(layer).left=x; accessCSS(layer).top = y; } 

function moveRelative(layer,x,y)  { 
	//accessCSS(layer).left=x; accessCSS(layer).top = y;
	accessCSS(Layer).moveBy(x,y);
	 
} 


//=============[fast imageResize for internetExplorer]-------------------------------,
function resize(imgnm,x,y) { accessCSS(imgnm).width=x;accessCSS(imgnm).height=y; } //
//________________________________________________________________________________//



//>==================[CrossBrowser resize for all browsers]==============================-,
	function crossResize(layer,imgnm,x,y) {						//
 	newContent(layer,'<img src="'+imgnm+'" width="'+x+'" height="'+y+'">');}       //
//____________________________________________________________________________________//


//>~~~~<[Change content of layer]>~~~~~~~~~~~~~~~~~~~~>
function newContent(layernm,content) { 
	if (ns6) document.getElementById(layernm).innerHTML=content;
	else if (ie) document.all[layernm].innerHTML=content;
	else if (ns) {					
    eval('  document.layers["'+layernm+'"].document.open();');			
    eval("  document.layers['"+layernm+"'].document.write('"+content+"');");     
    eval('  document.layers["'+layernm+'"].document.close();');		     
  } 
}

function addContent(layernm,content) {if (ns6) { document.getElementById(layernm).innerHTML+=content; } }



function scrollWindow(x,y) {
	//gamewindow.scrollTo(x,y);
	gamewindow.scrollTop = y;
		gamewindow.scrollLeft = x;
}

function randomize(maxNumber) { var r=Math.random()*maxNumber; r=Math.floor(r); return r; }
function scrollWindowLeft(howMuch) {	window.scrollBy(howMuch,0); }
function scrollWindowRight(howMuch) {	window.scrollBy(-howMuch,0); }
function setBgColor(layernm,bcol) {if (document.layers) accessCSS(layernm).bgColor=bcol;else accessCSS(layernm).backgroundColor=bcol;}
function setHeight(layernm,nyHoyde) {	accessCSS(layernm).height=nyHoyde; }
function setWidth(layernm,nyBredde) {	accessCSS(layernm).width=nyBredde; }
function setZ(layer,zNR) { accessCSS(layer).zIndex=zNR; }
function hide(layer) { accessCSS(layer).visibility= "hidden"  }
function show(layer) { if (ns) accessCSS(layer).visibility="show";else accessCSS(layer).visibility="visible"; }
function setAlpha(layername,filterCount) { eval(' accessCSS("'+layername+'").filter="alpha(opacity='+filterCount+')";   ');}
function mouseUp(){}
function setOverflow(layernm,scrollit) { accessCSS(layernm).overflow=scrollit; }
function setBodyBGcolor(color) {document.bgColor=color;}
function wr(stringToWrite) {document.write(stringToWrite);}
function setBodyBackground(imgNm) { if (document.body) document.body.background = imgNm; }


function createDot(idName,color,x,y,w,h) {
	  var oDiv = document.createElement ("DIV");
	  oDiv.id = idName;
	  oDiv.style.position = "absolute";
	  oDiv.style.left=x;
	  oDiv.style.top=y;
	  oDiv.style.width = w;
		oDiv.style.height= h;
		document.body.appendChild (oDiv);
		setBgColor(idName,color);
		delete oDiv;
}


function makeDiv(objName,parentDiv,w,h,content,x,y,overfl)
{	  
		if (parentDiv==null) parentDiv='body';

    var oDiv = document.createElement ("DIV");
    oDiv.id = objName;
    
 		if (w) oDiv.style.width = w;
		if (h) oDiv.style.height= h;
		

	  if (content) oDiv.innerHTML=content;
		oDiv.style.position = "absolute";
		if (x) oDiv.style.left=x; else oDiv.style.left=-2000;
		if (y) oDiv.style.top=y; else oDiv.style.top=-2000;


		if (overfl) oDiv.style.overflow=overfl; else oDiv.style.overflow="hidden";
    eval('  document.'+parentDiv+'.appendChild (oDiv);  ');

    delete oDiv;
}




function createElementInsideDiv(parentDiv,childDiv,content,x,y) {
	 //alert(content);
		var oDiv_inside= document.createElement("DIV");
		oDiv_inside.id=childDiv;
		oDiv_inside.style.position = "absolute";
    oDiv_inside.style.left=x;
		oDiv_inside.style.top=y;
	
		if (content) oDiv_inside.innerHTML=content;
		document.getElementById(parentDiv).appendChild (oDiv_inside);
		delete oDiv_inside;
	
}





function getDistance(x1,y1,x2,y2) {
	var distance = Math.sqrt((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1));
	return distance;
	
}





function getAngle(fromX,fromY,toX,toY) {// ooh Yeah baby!
	  var diffX = fromX-toX;
	  var diffY = toY-fromY;
	  

		var tanx  = diffX/diffY;
		var  atanx = Math.atan(tanx); // (result in radians)
		var anglex = atanx * 180 / Math.PI; // converted to degrees

		
		if (diffY>0) anglex+=270; else anglex+=90;

		
	  return Math.round(anglex);
}
