// JavaScript Document
intervallenMover 	= new Array();
intervallenBuilding = new Array();

function addslashes(str) {
//	str=str.replace(/\'/g,'\\\'');
//	str=str.replace(/\"/g,'\\"');
//	str=str.replace(/\\/g,'\\');
//	str=str.replace(/\0/g,'\\0');
	return str;
}

function stripslashes(str) {
//	str=str.replace(/\\'/g,'\'');
//	str=str.replace(/\\"/g,'"');
//	str=str.replace(/\\\\/g,'\\');
//	str=str.replace(/\\0/g,'\0');
	return str;
}

function mover(id, to_x, to_y, to_width, to_height, speed, startMotion, rightMove, doafter){	
	if(!doafter){
		doafter = '';	
	}
	if(!document.getElementById(id)){
		divElement 	= id;
		id = id.id;
	}else{
		divElement 	= document.getElementById(id);		
	}
	clearTimeout(intervallenMover[id]);	
	var intervalString = id + 'x' + to_x + 'x' + to_y + 'x' + to_width + 'x' + to_height + 'x' + speed;

	if(!startMotion){
		if(intervallenBuilding[id]){
			if(!to_x)		to_x 		= intervallenBuilding[id].to_x;
			if(!to_y)		to_y 		= intervallenBuilding[id].to_y;
			if(!to_width)	to_width 	= intervallenBuilding[id].to_width;
			if(!to_height)	to_height 	= intervallenBuilding[id].to_height;	
			if(!rightMove)	rightMove 	= intervallenBuilding[id].rightMove;				
			if(!doafter)	doafter 	= intervallenBuilding[id].doafter;							
		}
		intervallenBuilding[id] = new Object();
		
		intervallenBuilding[id].intervalString	= intervalString;		
		intervallenBuilding[id].to_x			= to_x;
		intervallenBuilding[id].to_y 			= to_y;
		intervallenBuilding[id].to_width 		= to_width;
		intervallenBuilding[id].to_height 		= to_height;
		intervallenBuilding[id].speed 			= speed;
		intervallenBuilding[id].rightMove 		= rightMove;
		intervallenBuilding[id].doafter 		= doafter;		
	
	}
	if(intervallenBuilding[id] != intervalString){
		to_x 		= intervallenBuilding[id].to_x;
		to_y 		= intervallenBuilding[id].to_y;
		to_width 	= intervallenBuilding[id].to_width;
		to_height 	= intervallenBuilding[id].to_height;
		speed 		= intervallenBuilding[id].speed; 
		rightMove 	= intervallenBuilding[id].rightMove; 
		doafter 	= intervallenBuilding[id].doafter; 
	}
	
	speed = (speed);
	if(speed < 1) speed = 1;
	if(speed > 40) speed = 40;	
	
	
	var notFinished = false;
	if(to_x){
		to_x 			= parseInt(to_x);		
		if(rightMove)	verschil 		= (to_x - parseInt(divElement.style.right));
		else			verschil 		= (to_x - parseInt(divElement.style.left));
		speed_x 		= verschil / speed;
		if(Math.abs(verschil) >= 1){
			if(speed_x < 1 && speed_x >= 0) speed_x = 1;
			if(speed_x > -1 && speed_x <= 0) speed_x = -1;	
			if(rightMove)	var new_x 		= parseInt(divElement.style.right) 		+ speed_x;
			else		var new_x 		= parseInt(divElement.style.left) 		+ speed_x;
		
			
			notFinished 	= true;				
		}else{
			var new_x 		= to_x;
		}
		if(rightMove)	divElement.style.right 	= new_x + 'px';
		else			divElement.style.left 	= new_x + 'px';		
		
		var to_x_to = '\''+to_x+'\'';
	}else{
		var to_x_to = 'false';
	}
	
	if(to_y){
		to_y 			= parseInt(to_y);	
		verschil 		= (to_y - parseInt(divElement.style.top));		
		speed_y 		= verschil / speed;
		if(Math.abs(verschil) >= 1){
			if(speed_y < 1 && speed_y >= 0) 	speed_y = 1;
			if(speed_y > -1 && speed_y <= 0) 	speed_y = -1;				
			var new_y		= parseInt(divElement.style.top) + speed_y;
			notFinished 	= true;				
		}else{
			var new_y 		= to_y;
		}
		divElement.style.top 	= new_y + 'px';
		var to_y_to = '\''+to_y+'\'';
	}else{
		var to_y_to = 'false';
	}
	
	if(to_width){
		to_width 		= parseInt(to_width);						
		if(divElement.style.width == 'auto'){
			divElement.style.width = divElement.offsetWidth + 'px';
		}		
		verschil 		= (to_width - parseInt(divElement.style.width));				
		speed_width 		= (to_width - parseInt(divElement.style.width)) 			/ speed;
		if(Math.abs(verschil) >= 1){
			if(speed_width < 1 && speed_width >= 0) speed_width = 1;
			if(speed_width > -1 && speed_width <= 0) speed_width = -1;			
			var new_width 		= parseInt(divElement.style.width) 		+ speed_width;
			notFinished 		= true;				
		}else{
			var new_width 		= to_width;
		}
		divElement.style.width 	= new_width + 'px';
		var to_width_to = '\''+to_width+'\'';
	}else{
		var to_width_to = 'false';
	}
	
	
	if(to_height){
		to_height 				= parseInt(to_height);						
	
		if(divElement.style.height == 'auto'){
			divElement.style.height = divElement.offsetHeight + 'px';
		}
	
		verschil				= (to_height - parseInt(divElement.style.height));
		speed_height 			= ((to_height - parseInt(divElement.style.height)) 			/ speed);
	
		if(Math.abs(verschil) >= 1){
			if(speed_height < 1 && speed_height >= 0) speed_height = 1;
			if(speed_height > -1 && speed_height <= 0) speed_height = -1;				
			var new_height 		= parseInt(divElement.style.height) 		+ speed_height;
			notFinished 		= true;				
		}else{
			var new_height 		= to_height;
		}
		divElement.style.height 	= new_height + 'px';
		var to_height_to = '\''+to_height+'\'';
	}else{
		var to_height_to = 'false';
	}
	
	
	if(id == 'map'){
		if(mapClosed){
			toggleMap();
		}
		reArrangePlaatsen();
		setDragMap();
	}					
	if(notFinished == true){
		if(doafter != ''){
			doafter = (addslashes(doafter))
		}
		var exec = 'mover(\''+id+'\','+to_x_to+','+to_y_to+','+to_width_to+','+to_height_to+','+speed+',true,'+rightMove+',\''+(doafter) +'\')';
		intervallenMover[id] = setTimeout(exec,20);
	}else{
		if(doafter){
			eval(doafter)
		}
	}
	
}	

