function set_seating_state(x, y) {
	document.getElementById('img[' + x + '][' + y + ']').src = document.getElementById('img[0][0]').src;
	document.getElementById('state[' + x + '][' + y + ']').value = document.getElementById('state[0][0]').value;
}
	
function select_seating_state(name) {
	document.getElementById('img[0][0]').src = document.images[name].src;
	document.getElementById('state[0][0]').value = name;
}

function rotate_seating_state(dir) {
	width  = document.getElementById('seating_width').value;
	height = document.getElementById('seating_height').value;
	start = 0;
	if (height > width) {
		start = Math.round((parseInt(height)-parseInt(width))/2);
		for (i=1;i<=start;i++) {
			move_seating_state('t');
		}
		move_right = false;
		height = width;
	}
	if (width > height) {
		start = Math.round((parseInt(width)-parseInt(height))/2);
		for (i=1;i<=start;i++) {
			move_seating_state('l');
		}
		move_right = true;
		width = height;
	}
	
	var seating = new Array(height);
	for (x=1;x<=height;x++) {
		seating[x] = new Array(width);
		for (y=1;y<=width;y++) {
			seating[x][y] = document.getElementById('img[' + x + '][' + y + ']').src;
		}
	}
	
	switch (dir){
		case 'r':
			for (x=1;x<=height;x++) {
				for (y=1;y<=width;y++) {
					new_x = parseInt(width)+1-y;
					new_y = x;
					document.getElementById('img[' + x + '][' + y + ']').src = seating[new_x][new_y];
				}
			}
			break;
		case 'l':
			for (x=1;x<=height;x++) {
				for (y=1;y<=width;y++) {
					new_x = y;
					new_y = Math.abs(x-parseInt(height)-1);
					document.getElementById('img[' + x + '][' + y + ']').src = seating[new_x][new_y];
				}
			}
			break;
	}
	
	for (i=1;i<=start;i++) {
		if (move_right) {
			move_seating_state('r');
		} else {
			move_seating_state('b');
		}
	}
}

function move_seating_state(dir) {
	width  = document.getElementById('seating_width').value;
	height = document.getElementById('seating_height').value;
	switch (dir) {
		case 't':
			var help_img = new Array(1);
			help_img[1] = new Array(width);
			
			var help_state = new Array(1);
			help_state[1] = new Array(width);
			
			for (y=1;y<=width;y++) {
				x = 1;
				help_img[x][y] = document.getElementById('img[' + x + '][' + y + ']').src;
				help_state[x][y] = document.getElementById('state[' + x + '][' + y + ']').value;
			}
			
			for (x=1;x<=height;x++) {
				for (y=1;y<=width;y++) {
					new_x = x+1;
					new_y = y;
					if (x == height) {
						document.getElementById('img[' + x + '][' + y + ']').src = help_img[1][y];
						document.getElementById('state[' + x + '][' + y + ']').value = help_state[1][y];
					} else {
						document.getElementById('img[' + x + '][' + y + ']').src = document.getElementById('img[' + new_x + '][' + new_y + ']').src;
						document.getElementById('state[' + x + '][' + y + ']').value = document.getElementById('state[' + new_x + '][' + new_y + ']').value;
					}
				}
			}
		break;
		case 'b':
			var help_img = new Array(1);
			help_img[height] = new Array(width);
			
			var help_state = new Array(1);
			help_state[height] = new Array(width);
			
			for (y=1;y<=width;y++) {
				x = height;
				help_img[x][y] = document.getElementById('img[' + x + '][' + y + ']').src;
				help_state[x][y] = document.getElementById('state[' + x + '][' + y + ']').value;
			}
		
			for (x=height;x>0;x--) {
				for (y=width;y>0;y--) {
					new_x = x-1;
					new_y = y;
					if (x == 1) {
						document.getElementById('img[' + x + '][' + y + ']').src = help_img[height][y];
						document.getElementById('state[' + x + '][' + y + ']').value = help_state[height][y];
					} else {
						document.getElementById('img[' + x + '][' + y + ']').src = document.getElementById('img[' + new_x + '][' + new_y + ']').src;
						document.getElementById('state[' + x + '][' + y + ']').value = document.getElementById('state[' + new_x + '][' + new_y + ']').value;
					}
				}
			}
		break;
		case 'l':
			var help_img = new Array(1);
			help_img[1] = new Array(height);
			
			var help_state = new Array(1);
			help_state[1] = new Array(height);
			
			for (x=1;x<=height;x++) {
				y = 1;
				help_img[y][x] = document.getElementById('img[' + x + '][' + y + ']').src;
				help_state[y][x] = document.getElementById('state[' + x + '][' + y + ']').value;
			}
		
			for (x=1;x<=height;x++) {
				for (y=1;y<=width;y++) {
					new_x = x;
					new_y = y+1;
					if (y == width) {
						document.getElementById('img[' + x + '][' + y + ']').src = help_img[1][x];
						document.getElementById('state[' + x + '][' + y + ']').value = help_state[1][x];
					} else {
						document.getElementById('img[' + x + '][' + y + ']').src = document.getElementById('img[' + new_x + '][' + new_y + ']').src;
						document.getElementById('state[' + x + '][' + y + ']').value = document.getElementById('state[' + new_x + '][' + new_y + ']').value;
					}
				}
			}
		break;
		case 'r':
			var help_img = new Array(1);
			help_img[width] = new Array(height);
			
			var help_state = new Array(1);
			help_state[width] = new Array(height);
			
			for (x=1;x<=height;x++) {
				y = width;
				help_img[y][x] = document.getElementById('img[' + x + '][' + y + ']').src;
				help_state[y][x] = document.getElementById('state[' + x + '][' + y + ']').value;
			}
			
			for (x=height;x>0;x--) {
				for (y=width;y>0;y--) {
					new_x = x;
					new_y = y-1;
					if (y == 1) {
						document.getElementById('img[' + x + '][' + y + ']').src = help_img[width][x];
						document.getElementById('state[' + x + '][' + y + ']').value = help_state[width][x];
					} else {
						document.getElementById('img[' + x + '][' + y + ']').src = document.getElementById('img[' + new_x + '][' + new_y + ']').src;
						document.getElementById('state[' + x + '][' + y + ']').value = document.getElementById('state[' + new_x + '][' + new_y + ']').value;
					}
				}
			}
		break;
	}
}
	
function reset_seating_state() {
	width  = document.getElementById('seating_width').value;
	height = document.getElementById('seating_height').value;
	for (x=1;x<=height;x++) {
		for (y=1;y<=width;y++) {
			document.images['img[' + x + '][' + y + ']'].src = document.images['empty'].src;
			document.getElementById('state[' + x + '][' + y + ']').value = 'empty';
		}
	}
	
}