var ws = new Array();
var ms = new Array();
var mm = new Array();
var bc = new Array();
var de = new Array();
var ee = new Array();

ws[0] = 3;
ws[1] = 4;
ws[2] = 5;
ws[3] = 5.5;
ws[4] = 6;
ws[5] = 6.5;
ws[6] = 7;
ws[7] = 7.5;
ws[8] = 8;
ws[9] = 8.5;
ws[10] = 9;
ws[11] = 9.5;
ws[12] = 10;
ws[13] = 10.5;
ws[14] = 11;
ws[15] = 11.5;
ws[16] = 12;
ws[17] = 12.5;
ws[18] = 13;
ws[19] = 13.5;
ws[20] = 14;
ws[21] = 14.5;
ws[22] = 15;
ws[23] = 16;
ws[24] = 17;

ms[0] = -1;
ms[1] = -1;
ms[2] = -1;
ms[3] = -1;
ms[4] = -1;
ms[5] = -1;
ms[6] = -1;
ms[7] = -1;
ms[8] = -1;
ms[9] = -1;
ms[10] = 7;
ms[11] = 7.5;
ms[12] = 8;
ms[13] = 8.5;
ms[14] = 9;
ms[15] = 9.5;
ms[16] = 10;
ms[17] = 10.5;
ms[18] = 11;
ms[19] = 11.5;
ms[20] = 12;
ms[21] = 12.5;
ms[22] = 13;
ms[23] = 14;
ms[24] = 15;

mm[0] = 198.09;
mm[1] = 206.55;
mm[2] = 215.01;
mm[3] = 219.20;
mm[4] = 223.47;
mm[5] = 227.70;
mm[6] = 231.93;
mm[7] = 236.16;
mm[8] = 240.39;
mm[9] = 244.62;
mm[10] = 248.85;
mm[11] = 253.08;
mm[12] = 257.31;
mm[13] = 261.54;
mm[14] = 265.77;
mm[15] = 270.00;
mm[16] = 274.23;
mm[17] = 278.46;
mm[18] = 282.69;
mm[19] = 286.92;
mm[20] = 291.15;
mm[21] = 295.38;
mm[22] = 299.61;
mm[23] = 308.07;
mm[24] = 316.53;

bc[0] = 75.0;
bc[1] = 78.0;
bc[2] = 81.0;
bc[3] = 82.5;
bc[4] = 84.0;
bc[5] = 85.5;
bc[6] = 87.0;
bc[7] = 88.5;
bc[8] = 90.0;
bc[9] = 91.5;
bc[10] = 93.0;
bc[11] = 94.5;
bc[12] = 96.0;
bc[13] = 97.5;
bc[14] = 99.0;
bc[15] = 100.5;
bc[16] = 102.0;
bc[17] = 103.5;
bc[18] = 105.0;
bc[19] = 106.5;
bc[20] = 108.0;
bc[21] = 109.5;
bc[22] = 111.0;
bc[23] = 114.0;
bc[24] = 117.0;

de[0] = 80.0;
de[1] = 83.0;
de[2] = 86.0;
de[3] = 87.5;
de[4] = 89.0;
de[5] = 90.5;
de[6] = 92.0;
de[7] = 93.5;
de[8] = 95.0;
de[9] = 96.5;
de[10] = 98.0;
de[11] = 99.5;
de[12] = 101.0;
de[13] = 102.5;
de[14] = 104.0;
de[15] = 105.5;
de[16] = 107.0;
de[17] = 108.5;
de[18] = 110.0;
de[19] = 111.5;
de[20] = 113.0;
de[21] = 114.5;
de[22] = 116.0;
de[23] = 119.0;
de[24] = 122.0;

ee[0] = 85.0
ee[1] = 88.0
ee[2] = 91.0
ee[3] = 92.5
ee[4] = 94.0
ee[5] = 95.5
ee[6] = 97.0
ee[7] = 98.5
ee[8] = 100.0
ee[9] = 101.5
ee[10] = 103.0
ee[11] = 104.5
ee[12] = 106.0
ee[13] = 107.5
ee[14] = 109.0
ee[15] = 110.5
ee[16] = 112.0
ee[17] = 113.5
ee[18] = 115.0
ee[19] = 116.5
ee[20] = 118.0
ee[21] = 119.5
ee[22] = 121.0
ee[23] = 124.0
ee[24] = 127.0

function findSize(flen, useWomenScale){
	var i = 0;
	var r = -1;
	var l = parseFloat(flen);

	for(i=0; i<25; i++){
		if(mm[i] < l){
			r = i;
		}
	}

	if(r > -1){
		if(useWomenScale){
			return ws[r];
		}else{
			return ms[r];
		}
	}
	return -1;

}

function findWidth(fwid, size, useWomenScale){
	var w = 0;
	var s = -1;
	var a = new Array();
	var k = new Array();
	var d = 10;
	
	a[0] = 'Medium';
	a[1] = 'Wide';
	a[2] = 'X-Wide';

	if(useWomenScale){
		s = ws.indexOf(parseFloat(size));
	}else{
		s = ms.indexOf(parseFloat(size));
	}

	k[0] = bc[s];
	k[1] = bc[s]+5;
	k[2] = bc[s]+10;


	w = k.nearest(fwid);
	d = fwid - k[w];
	ds = k[w+1] - k[w];

	return a[w];
//	if(Math.abs(d) > ds){
//		return 'Measurement is out of width range(s).';
//	}else if(Math.abs(d) < 1.1){
//		if(d < 0){
//			return (w < 0 || w > a.length-1) ? 'Measurement is outside range.' : a[w] + "/" + a[w+1];
//		}else{
//			return (w < 0 || w > a.length-1) ? 'Measurement is outside range.' : a[w] + "/" + a[w-1];
//		}
//	}else{
//		return (w < 0 || w > a.length-1) ? 'Measurement is outside range.' : a[w];
//	}
}

	String.prototype.pad = function(l, s, t){
		return s || (s = " "), (l -= this.length) > 0 ? (s = new Array(Math.ceil(l / s.length)
		+ 1).join(s)).substr(0, t = !t ? l : t == 1 ? 0 : Math.ceil(l / 2))
		+ this + s.substr(0, l - t) : this;
	};

	function doSize(flen, useWomens){
		var t = getRef('sz');
		var t2 = getRef('szd');
		var useWomens = getRef('swomens').checked;
		var flen = getRef('flen').value;
		if(flen < 1){
			t2.innerHTML = ' ';
			t.innerHTML = 'Please enter your foot LENGTH measurement';
		}
		var s = findSize(flen, useWomens);
		var sTag = (useWomens) ? 'Womens ' : 'Mens ';
		if(s > -1){
			t.innerHTML = 'Size: ' + sTag;
			t2.innerHTML = s;
		}else{
			t2.innerHTML = ' ';
			t.innerHTML = ' Error ';
		}
		getShoes();
	}

	function getMensSize(size){

	}

	function getShoes(){
		var x = (getRef('swomens').checked) ? '166' : '165';
		var sz = getRef('szd').innerHTML;
		var sd = parseFloat(sz);
		var st = sd*10;
		var s = String(st).pad(3, '0', 0);
		var w = getRef('wdd').innerHTML.substr(0,1);
		var url = 'http://www.pedors.com/index.php?target=products&mode=search&type=extended&match=any&q=&pcode='+s+'*'+w;
		getRef('shoesinfit').innerHTML = 'Click for <a href="'+url+'" class="fitting">shoes in your size</a>';
	
	}

	function writeShoes(text){
		var shoes = getRef('shoesinfit');
		shoes.innerHTML = text;
	}

	function doWidth(){
		var size = getRef('szd').innerHTML;
		var fwid = getRef('fwid').value;
		var useWomens = getRef('swomens').checked;
		var t = getRef('wd');
		var t2 = getRef('wdd');
		var s = parseFloat(size);
		var w = findWidth(fwid, size, useWomens);

		t.innerHTML = 'Width: ';
		t2.innerHTML = w
		getShoes();
	}

	function clearForm(){
		getRef('flen').value = '';
		getRef('fwid').value = '';

		getRef('wd').innerHTML = '';
		getRef('wdd').innerHTML = '';

		getRef('sz').innerHTML = '';
		getRef('szd').innerHTML = '';

		getRef('shoesinfit').innerHTML = '';

	}
