function clearPattern(){
	cascade.className = climb.className = slip.className = slide.className = random.className = drill.className = "normal boxed";
}

function highlightPattern(pattern){
	if(pattern!=patternType){
		lastClassName = pattern.className;
		pattern.className = "normal highlighted";
	}
}

function lowlightPattern(pattern){
	if(pattern!=patternType){
		pattern.className = lastClassName;
	}
}

function clickPattern(pattern){
	if(pattern!=patternType){
		pattern.className = "normal clicked";
	}
}

function changePattern(pattern){
	if(pattern!=patternType){
		var i;
		patternType.className = lastClassName;
		patternType = pattern;
		pattern.className = "normal selected";
		runPretties(patternType);
	}
}

function randomPattern(){
	var arr = new Array(6);
	var i;
	arr[0] = Math.floor(Math.random()*6);
	arr[1] = Math.floor(Math.random()*6);
	while(arr[1]==arr[0]){
		arr[1] = Math.floor(Math.random()*6);
	}
	arr[2] = Math.floor(Math.random()*6);
	while((arr[2]==arr[0])||
		  (arr[2]==arr[1])){
		arr[2] = Math.floor(Math.random()*6);
	}
	arr[3] = Math.floor(Math.random()*6);
	while((arr[3]==arr[0])||
		  (arr[3]==arr[1])||
		  (arr[3]==arr[2])){
		arr[3] = Math.floor(Math.random()*6);
	}
	arr[4] = Math.floor(Math.random()*6);
	while((arr[4]==arr[0])||
		  (arr[4]==arr[1])||
		  (arr[4]==arr[2])||
		  (arr[4]==arr[3])){
		arr[4] = Math.floor(Math.random()*6);
	}
	arr[5] = Math.floor(Math.random()*6);
	while((arr[5]==arr[0])||
		  (arr[5]==arr[1])||
		  (arr[5]==arr[2])||
		  (arr[5]==arr[3])||
		  (arr[5]==arr[4])){
		arr[5] = Math.floor(Math.random()*6);
	}
	for(i=0; i<6; i++){
		arr[i] = "[" + arr[i] + "][" + i + "]";
	}
	colorRandom();
	return arr;
}

function cascadePattern(){
	var arr = new Array(6);
	var i;
	for(i=startx; i<(startx + 6); i++){
		arr[i-startx] = "[" + (i%6).toString() + "][" + (i-startx).toString() + "]";
	}
	if(startx++>5){
		startx = 1;
	}
	colorDown();
	return arr;
}

function climbPattern(){
	var arr = new Array(6);
	var i;
	for(i=startx; i<(startx + 6); i++){
		arr[i-startx] = "[" + (i%6).toString() + "][" + (i-startx).toString() + "]";
	}
	if(startx--==0){
		startx = 5;
	}
	colorUp();
	return arr;
}

function slipPattern(){
	var arr = new Array(6);
	var i;
	for(i=startx; i<(startx + 6); i++){
		arr[i-startx] = "[" + (i-startx).toString() + "][" + (i%6).toString() + "]";
	}
	if(startx--==0){
		startx = 5;
	}
	colorLeft();
	return arr;
}

function slidePattern(){
	var arr = new Array(6);
	var i;
	for(i=startx; i<(startx + 6); i++){
		arr[i-startx] = "[" + (i-startx).toString() + "][" + (i%6).toString() + "]";
	}
	if(startx++>5){
		startx = 1;
	}
	colorRight();
	return arr;
}

function drillPattern(){
	var arr = new Array(6);
	if(startx>5){
		startx=0;
	}
	arr[0] = "[" + startx.toString() + "][0]";
	arr[5] = "[" + startx.toString() + "][5]";
	if(startx+1>5){
		arr[1] = "[0][1]";
		arr[4] = "[0][4]";
	}
	else{
		arr[1] = "[" + (startx + 1).toString() + "][1]";
		arr[4] = "[" + (startx + 1).toString() + "][4]";
	}
	if(startx+2>6){
		arr[2] = "[1][2]";
		arr[3] = "[1][3]";
	}
	else if(startx+2>5){
		arr[2] = "[0][2]";
		arr[3] = "[0][3]";
	}
	else{
		arr[2] = "[" + (startx + 2).toString() + "][2]";
		arr[3] = "[" + (startx + 2).toString() + "][3]";
	}
	if(startx++>5){
		startx = 1;
	}
	colorDown();
	return arr;
}

function colorRight(){
	var i,j;
	if(!flag){
		flag = true;
		for(i=0; i<6; i++){
			for(j=0; j<6; j++){
				eval("td[" + i + "][" + j + "].style.backgroundColor=\"" + getColor() + "\"");
				eval("cell[" + i + "][" + j + "].innerHTML=\"\"");
			}
		}
	}

	else{
		for(i=0; i<6; i++){
			for(j=5; j>0; j--){
				eval("td[" + i + "][" + j + "].style.backgroundColor=td[" + i + "][" + (j-1) + "].style.backgroundColor");
				eval("cell[" + i + "][" + j + "].innerHTML=\"\"");
			}
		}
	}

	for(i=0; i<6; i++){
		eval("td[" + i + "][" + 0 + "].style.backgroundColor=\"" + getColor() + "\"");
		eval("cell[" + i + "][" + 0 + "].innerHTML=\"\"");
	}
}

function colorLeft(){
	var i,j;
	if(!flag){
		flag = true;
		for(i=0; i<6; i++){
			for(j=0; j<6; j++){
				eval("td[" + i + "][" + j + "].style.backgroundColor=\"" + getColor() + "\"");
				eval("cell[" + i + "][" + j + "].innerHTML=\"\"");
			}
		}
	}

	else{
		for(i=0; i<6; i++){
			for(j=0; j<5; j++){
				eval("td[" + i + "][" + j + "].style.backgroundColor=td[" + i + "][" + (j+1) + "].style.backgroundColor");
				eval("cell[" + i + "][" + j + "].innerHTML=\"\"");
			}
		}
	}

	for(i=0; i<6; i++){
		eval("td[" + i + "][" + 5 + "].style.backgroundColor=\"" + getColor() + "\"");
		eval("cell[" + i + "][" + 5 + "].innerHTML=\"\"");
	}
}

function colorDown(){
	var i,j;
	if(!flag){
		flag = true;
		for(i=0; i<6; i++){
			for(j=0; j<6; j++){
				eval("td[" + i + "][" + j + "].style.backgroundColor=\"" + getColor() + "\"");
				eval("cell[" + i + "][" + j + "].innerHTML=\"\"");
			}
		}
	}

	else{
		for(i=0; i<6; i++){
			for(j=5; j>0; j--){
				eval("td[" + j + "][" + i + "].style.backgroundColor=td[" + (j-1) + "][" + i + "].style.backgroundColor");
				eval("cell[" + j + "][" + i + "].innerHTML=\"\"");
			}
		}
	}

	for(i=0; i<6; i++){
		eval("td[" + 0 + "][" + i + "].style.backgroundColor=\"" + getColor() + "\"");
		eval("cell[" + 0 + "][" + i + "].innerHTML=\"\"");
	}
}

function colorUp(){
	var i,j;
	if(!flag){
		flag = true;
		for(i=0; i<6; i++){
			for(j=0; j<6; j++){
				eval("td[" + i + "][" + j + "].style.backgroundColor=\"" + getColor() + "\"");
				eval("cell[" + i + "][" + j + "].innerHTML=\"\"");
			}
		}
	}

	else{
		for(i=0; i<6; i++){
			for(j=0; j<5; j++){
				eval("td[" + j + "][" + i + "].style.backgroundColor=td[" + (j+1) + "][" + i + "].style.backgroundColor");
				eval("cell[" + j + "][" + i + "].innerHTML=\"\"");
			}
		}
	}

	for(i=0; i<6; i++){
		eval("td[" + 5 + "][" + i + "].style.backgroundColor=\"" + getColor() + "\"");
		eval("cell[" + 5 + "][" + i + "].innerHTML=\"\"");
	}
}

function colorRandom(){
	var i,j;
	for(i=0; i<6; i++){
		for(j=0; j<6; j++){
			eval("td[" + i + "][" + j + "].style.backgroundColor=\"" + getColor() + "\"");
			eval("cell[" + i + "][" + j + "].innerHTML=\"\"");
		}
	}
}