function ge(di){
return document.getElementById(di);
}
var lh=location.href;
var realloc, qpat, qmov, pat, move;
var pStr="";

realloc=lh.substring(0,lh.indexOf("?"));
qpat=(lh.indexOf("?")+1);
qmov=(lh.indexOf("&")+1);
if (qpat) {pat=parseInt(lh.substring(qpat,qpat+2));}
	else pat=10;
if (qmov) {move=parseInt(lh.substring(qmov,qmov+2));}
	else move=11;

var belt=(pat-10)+"";
if (belt=="0") belt="1";

var curMove=new Array(), curL="";

function wrt (idx,str){
	if (ge(idx)) ge(idx).innerHTML=str;
	}


function mov(mv) {
	pat=parseInt(mv.substring(0,2));
	move=parseInt(mv.substring(2));
	belt=(pat-10)+"";
	writeCol(belt,1);
	writePat();
}


function initit(full) {
	if (pat>10) {

		pStr=""
		var thpage=(full)?"http://www.dundeewildcats.co.uk/patterns.htm":"http://www.dundeewildcats.co.uk/pat_page.htm";
		if (pat>11) pStr+="<a href='"+thpage+"?"+(pat-1)+"'>&laquo; previous</a>&nbsp;&nbsp;";
		pStr+=pats[pat][2];
		if (pat>11) pStr+=" : ";
		pStr+=pats[pat][1]+" movements";
		if (pat<26) pStr+="&nbsp;&nbsp;<a href='"+thpage+"?"+(pat+1)+"'>next &raquo;</a>";
		if (full) pStr+="<br><a target=_blank href='http://www.dundeewildcats.co.uk/pat_page.htm?"+pat+"'>Also &raquo; Print-friendly version of whole pattern...</a>";

		wrt('sPatTitle',pStr);

		var pD=pat;
		if ((pD==12)||(pD==21)||(pD==25)) pD=11;
		if ((pD==15)||(pD==17)||(pD==19)||(pD==20)||(pD==26)) pD=13;
		wrt('sPatDiag',"Pattern diagram<br><img src='images/pat"+pD+".gif' title='Pattern diagram' width=75 height=86>");

		pStr=pats[pat][2]+" : "+pats[pat][3];
		if (full) {
			if (pat<20) pStr+="<br><a href='#c' onClick='wSaBang(pat);return false'>+ Sa-Bang Mako Chagi "+(pat-10)+"</a>";
			if (pat==20) pStr+="<br><a href='#c' onClick='wSaBang(pat);return false'>+ Consecutive kicking (Slow motion) </a>";
			}
		wrt('sPatDesc',pStr);

		writeCol(belt,1);
		writePat();
		}
	else {

		wrt('sPatTitle',"Techniques, English, Korean . . . ");

		pStr="<b>Welcome to the Patterns page...  </b>";
		pStr+="<br><br>Popular picks : <a href='http://www.dundeewildcats.co.uk/patterns.htm?13'>Dan-Gun</a> | <a href='http://www.dundeewildcats.co.uk/patterns.htm?15'>Won-Hyo</a> | <a href='http://www.dundeewildcats.co.uk/patterns.htm?17'>Joong-Gun</a> | <a href='http://www.dundeewildcats.co.uk/patterns.htm?19'>Hwa-Rang</a>";
		pStr+="<br><br>Here you'll find every move of every pattern from white to blackbelt.  ";
		pStr+="Hopefully this will be useful in training and revision (it's certainly helped me to work out some of the finer details of techniques, sections, korean, etc!)";
		pStr+="<br><br>The aim is to show the stance for each move, and give you an idea of what your hands/feet should do.";
		pStr+="<br>[Also: See more <a href='hands_feet.htm'>hand + foot techniques here on the site...</a>]";
		pStr+="<br><br>The patterns we practice in the GTF come from <b>General Choi Hong Hi</b> and <b>Grandmaster Park Jung Tae</b>.";
		pStr+="<br>This is a <b>guide only</b> and is no substitute for your own training - the best way to learn is to do it.";
		pStr+="<br>I drew all the illustrations based on my own hands/feet!";

		pStr+="<br><br>Comments and suggestions welcome : <a href='mailto:ed@dundee"+"wildcats.co.uk'>ed";
		pStr+="@dundee"+"wildcats.co.uk</a>";
		pStr+="<br>This page is best viewed full-screen on minimum 1280x1024 resolution.";

		wrt('sPatDesc',pStr);

		var bStr="<table class=belt cellspacing=0 cellpadding=0 border=0 width=400>";
		bStr+="<tr><td bgcolor=white height=20 width='100%' class=btxt>Click belt to move up, or pick colour below</td></table><br>";
		wrt('sBelt',bStr);

		wrt('sCurMove',"<table cellpadding=0 cellspacing=0><tr><td align=center><img src='images/tech37l.gif'></td><td rowspan=2><img src='images/s0.gif' width=100 height=228></td></tr><tr><td align=center><img src='images/tech23r.gif'></td></tr></table>");

		}
	}

function writePat() {
	var feet="", feet2="", tech="", tech2="", sect=0, misc="";

	pStr=""
	if (pat>11) pStr+="<a href='http://www.dundeewildcats.co.uk/patterns.htm?"+(pat-1)+"'>&laquo; previous</a>&nbsp;&nbsp;";
	pStr+=pats[pat][2];
	if (pat>11) pStr+=" : ";
	pStr+=pats[pat][1]+" movements";
	if (pat<26) pStr+="&nbsp;&nbsp;<a href='http://www.dundeewildcats.co.uk/patterns.htm?"+(pat+1)+"'>next &raquo;</a>";
	pStr+="<br><a target=_blank href='http://www.dundeewildcats.co.uk/pat_page.htm?"+pat+"'>Also &raquo; Print-friendly version of whole pattern...</a>";

	wrt('sPatTitle',pStr);



	if (move>11) pStr="<input type=button onClick=mov('"+pat+"11'); value='&laquo;&laquo; Start'><input type=button onClick=mov('"+pat+(move-1)+"'); value='&laquo; Back'>";
		else pStr="<input type=button value='&laquo;&laquo; Start' disabled ><input type=button value='&laquo; Back' disabled>";

	if (pats[pat][move-6]) pStr+="<input type=button onClick=mov('"+pat+(move+1)+"'); value='&raquo; Next move'>";
		else pStr+="<input type=button value='&raquo; Next move' disabled>";

	if (pat>11) {
		pStr+="<br><i>"
		for (i=12;i<(pats[pat].length+6);i++) {
			if (move!=i) pStr+="<a href='http://www.dundeewildcats.co.uk/patterns.htm?"+pat+"&"+(i)+"'>";
			else pStr+="<b>";
			pStr+=(i-11);
			if (move!=i) pStr+="</a>";
			else pStr+="</b>";
			if ((i<pats[pat].length+5)&&(i!=31)) pStr+=":"
			if (i==31) pStr+="<br>";
		}
		pStr+="</i>"
	}
	wrt('sButs',pStr);


	curL = pats[pat][(move-7)];
	curMove = curL.split(" | ");
	if ((curMove[3]=="")||(curMove[3]==" ")) curMove[3]="&nbsp;";
		else curMove[3]="["+curMove[3]+"]";

	curCode = curMove[0].split(";");
	feet = curCode[0];
	tech = curCode[1];
	sect = parseInt(curCode[2]);
	side = parseInt(curCode[3]);
	f1 = parseInt(curCode[4]);
	t1 = parseInt(curCode[5]);

	var fI=feet.indexOf(":"), tI=tech.indexOf(":");
	if(fI!=-1) {feet2=feet.substring(fI+1); feet=feet.substring(0,fI);}
	if(tI!=-1) {tech2=tech.substring(tI+1); tech=tech.substring(0,tI);}

	var ifeet=parseInt(feet), ifeet2=parseInt(feet2);
	var itech=parseInt(tech), itech2=parseInt(tech2);

	engStr = replace(curMove[2],'XFX',techs[ifeet][0]);
	engStr = replace(engStr,'R ','Right ');
	engStr = replace(engStr,'L ','Left ');
	engStr = replace(engStr,'XTX',techs[itech][0]);
	if (sect!=0) engStr = replace(engStr ,'LMH',techs[sect][0]);
	if (side!=0) engStr = replace(engStr ,'SI',techs[side][0]);
	if (tech2!="") {
		engStr = replace(engStr ,'XT2X',techs[itech2][0]);
		if (sect!=0) engStr = replace(engStr ,'LMH',techs[sect][0]);
	}
	if (feet2!="") engStr = replace(engStr ,'XF2X',techs[ifeet2][0]);

	korStr = replace(curMove[2],'XFX',techs[ifeet][1]);
	korStr = replace(korStr,'R ','Orun ');
	korStr = replace(korStr,'L ','Wen ');
	korStr = replace(korStr ,'XTX',techs[itech][1]);
	if (sect!=0) korStr = replace(korStr ,'LMH',techs[sect][1]);
	if (side!=0) korStr = replace(korStr ,'SI',techs[side][1]);
	if (tech2!="") {
		korStr = replace(korStr ,'XT2X',techs[itech2][1]);
		if (sect!=0) korStr = replace(korStr ,'LMH',techs[sect][1]);
	}
	if (feet2!="") korStr = replace(korStr ,'XF2X',techs[ifeet2][1]);

	pStr="<b>"+curMove[1]+"</b>";
	pStr+="<br>"+engStr;
	pStr+="<br>"+korStr;
	pStr+="<br>"+curMove[3];

	var t1Str="&nbsp;";
	if (techs[t1][0]!="") t1Str=techs[t1][0];
	wrt('sTMove',t1Str);

	var f1Str="&nbsp;";
	if (techs[f1][0]!="") f1Str=techs[f1][0];
	wrt('sFMove',f1Str);

	wrt('sCurMove',pStr);

	if ((pat==17)&&(move==26)) {tech="79l";}
	if ((pat==17)&&(move==29)) {tech="79r";}

	var ftimg=techs[ifeet][3];
	if (feet.indexOf("l")!=-1) ftimg=replace(techs[ifeet][3],'r','l');
	if (ifeet2) {
		var ftimg2=techs[ifeet2][3];
		if (feet2.indexOf("l")!=-1) ftimg2=replace(techs[ifeet2][3],'r','l');
	}

	var tcimg=techs[itech][3];
	if (tech.indexOf("l")!=-1) tcimg=replace(techs[itech][3],'r','l');
	if (itech2) {
		var tcimg2=techs[itech2][3];
		if (tech2.indexOf("l")!=-1) tcimg2=replace(techs[itech2][3],'r','l');
	}

	if (ifeet==17) ifeet=0;
	pStr="<img src='images/"+ftimg+".gif' title='"+techs[ifeet][0]+" - "+techs[ifeet][1]+"' width=366 height=145>";
	if (feet2!=="") pStr+="<img src='images/"+ftimg2+".gif' title='"+techs[ifeet2][0]+" - "+techs[ifeet2][1]+"' width=366 height=145>";
	wrt('sFeet',pStr);

	pStr="<img src='images/"+tcimg+".gif' title='"+techs[itech][0]+" - "+techs[itech][1]+"' width=200 height=145>";
	if (tech2!="") pStr+="<img src='images/"+tcimg2+".gif' title='"+techs[itech2][0]+" - "+techs[itech2][1]+"' width=200 height=145>";
	wrt('sTech',pStr);

	pStr="Section&nbsp;&nbsp;<br>";
	pStr+="<img src='images/s"+sect+".gif' title='"+techs[sect][0]+" - "+techs[sect][1]+"' width=100 height=228>";
	wrt('sSect',pStr);

}


function chgPat() {
	location.href="http://www.dundeewildcats.co.uk/patterns.htm?"+(document.change.sel.selectedIndex+10);
}

function upPat() {
	if (pat<25) {location.href="http://www.dundeewildcats.co.uk/patterns.htm?"+(pat+1);}
}


function wSaBang(t) {
	pStr="- ";
	if (ge('sSaBang').innerHTML=="") {
		for (var i=0;i<sb[t].length;i++) {
			var sbmov=sb[t][i].split(";");
			for (var y=0;y<sbmov.length;y++) {
				pStr+=" <a href='#c' onClick='gloss(\"tech"+sbmov[y]+"\");return false'>"+techs[parseInt(sbmov[y])][0]+"</a>";
			}
			if (i<sb[t].length-1) pStr+="<br>- ";
		}
	}
	else pStr="";

	wrt('sSaBang',pStr);
}


function replace(str, original, repl) {
	var result="";
	if (str.indexOf(original) > -1) {
		result = result + str.substring(0, str.indexOf(original));
		if (repl.length>1) result+="<a href='#c' onClick='gloss(\""+repl+"\");return false'>";
		result+=repl;
		if (repl.length>1) result+="</a>";
		str = str.substring(str.indexOf(original) + original.length);
	}
	return result + str;
}

// Belt colours
function writeCol(c1,ly) {
var bStr="", colours="";
if (c1!="") {
	switch (c1) {
		case '1' : colours="white:white"; break;
		case '2' : colours="white:yellow"; break;
		case '3' : colours="yellow:yellow"; break;
		case '4' : colours="yellow:green"; break;
		case '5' : colours="green:green"; break;
		case '6' : colours="green:blue"; break;
		case '7' : colours="blue:blue"; break;
		case '8' : colours="blue:red"; break;
		case '9' : colours="red:red"; break;
		case '10' : colours="red:black"; break;
		case '11' : colours="black:black"; break;
		case '12' : colours="black:black"; break;
		case '13' : colours="black:black"; break;
		case '14' : colours="black:black"; break;
		case '15' : colours="yellow:yellow"; break;
		case '16' : colours="green:green"; break;
		case '17' : colours="black:black"; break;
		}
	col1=colours.substring(0,colours.indexOf(":"));
	col2=colours.substring(colours.indexOf(":")+1);
	var bStr="<table class=belt cellspacing=0 cellpadding=0 border=0 width=400>";
	    bStr+="<tr><td bgcolor="+col1+" width='5%' height=20><td bgcolor="+col2+" width='3%'><td bgcolor="+col1+" width='84%' class=btxt></td><td bgcolor="+col2+" width='3%'><td bgcolor="+col1+" width='5%'></table><br>";
	}
	if (ly==0) document.write(bStr);
	if (ly==1) wrt('sBelt',bStr);
	if (ly==2) return bStr;
}

