/**
  * (c) Paul Uithol, SMARTposition
  * http://www.smartposition.nl
  * 
  * date: 24 jan 2007
  * version: 0.3
  * -----------------
  * 0.1		define gmaps graphic styles
  * 0.2		more icons
  * 0.3		group icon key/filenames in an object, saving loads of copy/paste code
  *
  * BUGS
  * -
  */
  
var defaultIcon = "house";
  
var lineColours = {
	"000000"	:	"#000000",
	"002157"	:	"#002157",
	"0054a6"	:	"#0054a6",
	"006b0d"	:	"#006b0d",
	"00adef"	:	"#00adef",
	"33cc00"	:	"#33cc00",
	"603913"	:	"#603913",
	"616161"	:	"#616161",
	"790000"	:	"#790000",
	"92278f"	:	"#92278f",
	"9eff04"	:	"#9eff04",
	"ec008c"	:	"#ec008c",
	"ed1c24"	:	"#ed1c24",
	"f26d7d"	:	"#f26d7d",
	"ff7f00"	:	"#ff7f00",
	"ffde00"	:	"#ffde00",
	"ffffff"	:	"#ffffff"
}
  
var sportIcons = {
	"shadow"		: 		"runner_32_shadow.png",
	
	//runner
	"runner_000000"	:    	"runner_32_000000.gif",
	"runner_002157"	:    	"runner_32_002157.gif",
	"runner_0054a6"	:    	"runner_32_0054a6.gif",
	"runner_006b0d"	:    	"runner_32_006b0d.gif",
	"runner_00adef"	:    	"runner_32_00adef.gif",
	"runner_33cc00"	:    	"runner_32_33cc00.gif",
	"runner_603913"	:    	"runner_32_603913.gif",
	"runner_616161"	:    	"runner_32_616161.gif",
	"runner_790000"	:    	"runner_32_790000.gif",
	"runner_92278f"	:    	"runner_32_92278f.gif",
	"runner_9eff04"	:    	"runner_32_9eff04.gif",
	"runner_ec008c"	:    	"runner_32_ec008c.gif",
	"runner_ed1c24"	:    	"runner_32_ed1c24.gif",
	"runner_f26d7d"	:    	"runner_32_f26d7d.gif",
	"runner_ff7f00"	:    	"runner_32_ff7f00.gif",
	"runner_ffde00"	:    	"runner_32_ffde00.gif",
	"runner_ffffff"	:    	"runner_32_ffffff.gif",
	                     
	"runner_live_000000" 	:	"runner_32_1s_000000.gif",
	"runner_live_002157" 	:	"runner_32_1s_002157.gif",
	"runner_live_0054a6" 	:	"runner_32_1s_0054a6.gif",
	"runner_live_006b0d" 	:	"runner_32_1s_006b0d.gif",
	"runner_live_00adef" 	:	"runner_32_1s_00adef.gif",
	"runner_live_33cc00" 	:	"runner_32_1s_33cc00.gif",
	"runner_live_603913" 	:	"runner_32_1s_603913.gif",
	"runner_live_616161" 	:	"runner_32_1s_616161.gif",
	"runner_live_790000" 	:	"runner_32_1s_790000.gif",
	"runner_live_92278f" 	:	"runner_32_1s_92278f.gif",
	"runner_live_9eff04" 	:	"runner_32_1s_9eff04.gif",
	"runner_live_ec008c" 	:	"runner_32_1s_ec008c.gif",
	"runner_live_ed1c24" 	:	"runner_32_1s_ed1c24.gif",
	"runner_live_f26d7d" 	:	"runner_32_1s_f26d7d.gif",
	"runner_live_ff7f00" 	:	"runner_32_1s_ff7f00.gif",
	"runner_live_ffde00" 	:	"runner_32_1s_ffde00.gif",
	"runner_live_ffffff" 	:	"runner_32_1s_ffffff.gif",
	
	//cyclist       
	"cyclist_000000"	:   	"cyclist_32_000000.gif",
	"cyclist_002157"	:   	"cyclist_32_002157.gif",
	"cyclist_0054a6"	:   	"cyclist_32_0054a6.gif",
	"cyclist_006b0d"	:   	"cyclist_32_006b0d.gif",
	"cyclist_00adef"	:   	"cyclist_32_00adef.gif",
	"cyclist_33cc00"	:   	"cyclist_32_33cc00.gif",
	"cyclist_603913"	:   	"cyclist_32_603913.gif",
	"cyclist_616161"	:   	"cyclist_32_616161.gif",
	"cyclist_790000"	:   	"cyclist_32_790000.gif",
	"cyclist_92278f"	:   	"cyclist_32_92278f.gif",
	"cyclist_9eff04"	:   	"cyclist_32_9eff04.gif",
	"cyclist_ec008c"	:   	"cyclist_32_ec008c.gif",
	"cyclist_ed1c24"	:   	"cyclist_32_ed1c24.gif",
	"cyclist_f26d7d"	:   	"cyclist_32_f26d7d.gif",
	"cyclist_ff7f00"	:   	"cyclist_32_ff7f00.gif",
	"cyclist_ffde00"	:   	"cyclist_32_ffde00.gif",
	"cyclist_ffffff"	:   	"cyclist_32_ffffff.gif",
	                     
	"cyclist_live_000000"	:	"cyclist_32_1s_000000.gif",
	"cyclist_live_002157"	:	"cyclist_32_1s_002157.gif",
	"cyclist_live_0054a6"	:	"cyclist_32_1s_0054a6.gif",
	"cyclist_live_006b0d"	:	"cyclist_32_1s_006b0d.gif",
	"cyclist_live_00adef"	:	"cyclist_32_1s_00adef.gif",
	"cyclist_live_33cc00"	:	"cyclist_32_1s_33cc00.gif",
	"cyclist_live_603913"	:	"cyclist_32_1s_603913.gif",
	"cyclist_live_616161"	:	"cyclist_32_1s_616161.gif",
	"cyclist_live_790000"	:	"cyclist_32_1s_790000.gif",
	"cyclist_live_92278f"	:	"cyclist_32_1s_92278f.gif",
	"cyclist_live_9eff04"	:	"cyclist_32_1s_9eff04.gif",
	"cyclist_live_ec008c"	:	"cyclist_32_1s_ec008c.gif",
	"cyclist_live_ed1c24"	:	"cyclist_32_1s_ed1c24.gif",
	"cyclist_live_f26d7d"	:	"cyclist_32_1s_f26d7d.gif",
	"cyclist_live_ff7f00"	:	"cyclist_32_1s_ff7f00.gif",
	"cyclist_live_ffde00"	:	"cyclist_32_1s_ffde00.gif",
	"cyclist_live_ffffff"	:	"cyclist_32_1s_ffffff.gif",
	
	//swimmer                
	"swimmer_000000"	:   	"swimmer_32_000000.gif",
	"swimmer_002157"	:   	"swimmer_32_002157.gif",
	"swimmer_0054a6"	:   	"swimmer_32_0054a6.gif",
	"swimmer_006b0d"	:   	"swimmer_32_006b0d.gif",
	"swimmer_00adef"	:   	"swimmer_32_00adef.gif",
	"swimmer_33cc00"	:   	"swimmer_32_33cc00.gif",
	"swimmer_603913"	:   	"swimmer_32_603913.gif",
	"swimmer_616161"	:   	"swimmer_32_616161.gif",
	"swimmer_790000"	:   	"swimmer_32_790000.gif",
	"swimmer_92278f"	:   	"swimmer_32_92278f.gif",
	"swimmer_9eff04"	:   	"swimmer_32_9eff04.gif",
	"swimmer_ec008c"	:   	"swimmer_32_ec008c.gif",
	"swimmer_ed1c24"	:   	"swimmer_32_ed1c24.gif",
	"swimmer_f26d7d"	:   	"swimmer_32_f26d7d.gif",
	"swimmer_ff7f00"	:   	"swimmer_32_ff7f00.gif",
	"swimmer_ffde00"	:   	"swimmer_32_ffde00.gif",
	"swimmer_ffffff"	:   	"swimmer_32_ffffff.gif",
	                     
	"swimmer_live_000000"	:	"swimmer_32_1s_000000.gif",
	"swimmer_live_002157"	:	"swimmer_32_1s_002157.gif",
	"swimmer_live_0054a6"	:	"swimmer_32_1s_0054a6.gif",
	"swimmer_live_006b0d"	:	"swimmer_32_1s_006b0d.gif",
	"swimmer_live_00adef"	:	"swimmer_32_1s_00adef.gif",
	"swimmer_live_33cc00"	:	"swimmer_32_1s_33cc00.gif",
	"swimmer_live_603913"	:	"swimmer_32_1s_603913.gif",
	"swimmer_live_616161"	:	"swimmer_32_1s_616161.gif",
	"swimmer_live_790000"	:	"swimmer_32_1s_790000.gif",
	"swimmer_live_92278f"	:	"swimmer_32_1s_92278f.gif",
	"swimmer_live_9eff04"	:	"swimmer_32_1s_9eff04.gif",
	"swimmer_live_ec008c"	:	"swimmer_32_1s_ec008c.gif",
	"swimmer_live_ed1c24"	:	"swimmer_32_1s_ed1c24.gif",
	"swimmer_live_f26d7d"	:	"swimmer_32_1s_f26d7d.gif",
	"swimmer_live_ff7f00"	:	"swimmer_32_1s_ff7f00.gif",
	"swimmer_live_ffde00"	:	"swimmer_32_1s_ffde00.gif",
	"swimmer_live_ffffff"	:	"swimmer_32_1s_ffffff.gif",
	
	//nutral                
	"nutral_000000"	:   	"nutral_32_000000.gif",
	"nutral_002157"	:   	"nutral_32_002157.gif",
	"nutral_0054a6"	:   	"nutral_32_0054a6.gif",
	"nutral_006b0d"	:   	"nutral_32_006b0d.gif",
	"nutral_00adef"	:   	"nutral_32_00adef.gif",
	"nutral_33cc00"	:   	"nutral_32_33cc00.gif",
	"nutral_603913"	:   	"nutral_32_603913.gif",
	"nutral_616161"	:   	"nutral_32_616161.gif",
	"nutral_790000"	:   	"nutral_32_790000.gif",
	"nutral_92278f"	:   	"nutral_32_92278f.gif",
	"nutral_9eff04"	:   	"nutral_32_9eff04.gif",
	"nutral_ec008c"	:   	"nutral_32_ec008c.gif",
	"nutral_ed1c24"	:   	"nutral_32_ed1c24.gif",
	"nutral_f26d7d"	:   	"nutral_32_f26d7d.gif",
	"nutral_ff7f00"	:   	"nutral_32_ff7f00.gif",
	"nutral_ffde00"	:   	"nutral_32_ffde00.gif",
	"nutral_ffffff"	:   	"nutral_32_ffffff.gif",
	                     
	"nutral_live_000000"	:	"nutral_32_1s_000000.gif",
	"nutral_live_002157"	:	"nutral_32_1s_002157.gif",
	"nutral_live_0054a6"	:	"nutral_32_1s_0054a6.gif",
	"nutral_live_006b0d"	:	"nutral_32_1s_006b0d.gif",
	"nutral_live_00adef"	:	"nutral_32_1s_00adef.gif",
	"nutral_live_33cc00"	:	"nutral_32_1s_33cc00.gif",
	"nutral_live_603913"	:	"nutral_32_1s_603913.gif",
	"nutral_live_616161"	:	"nutral_32_1s_616161.gif",
	"nutral_live_790000"	:	"nutral_32_1s_790000.gif",
	"nutral_live_92278f"	:	"nutral_32_1s_92278f.gif",
	"nutral_live_9eff04"	:	"nutral_32_1s_9eff04.gif",
	"nutral_live_ec008c"	:	"nutral_32_1s_ec008c.gif",
	"nutral_live_ed1c24"	:	"nutral_32_1s_ed1c24.gif",
	"nutral_live_f26d7d"	:	"nutral_32_1s_f26d7d.gif",
	"nutral_live_ff7f00"	:	"nutral_32_1s_ff7f00.gif",
	"nutral_live_ffde00"	:	"nutral_32_1s_ffde00.gif",
	"nutral_live_ffffff"	:	"nutral_32_1s_ffffff.gif"
	
	
};

var dotIcons = {
	//OUD
	"ff7e00"	: "dot_12_ff7e00.png",
	"cc0000"	: "dot_12_cc0000.png",
	"009cff"	: "dot_12_009cff.png",
	"9000ff"	: "dot_12_9000ff.png",
	"616161"	: "dot_12_616161.png",
	"4ad21a"	: "dot_12_4ad21a.png",
	
	//NIEUW, nog aanpassen!!!
	"000000"	:	"dot_12_000000.gif",
	"002157"	:	"dot_12_002157.gif",
	"0054a6"	:	"dot_12_0054a6.gif",
	"006b0d"	:	"dot_12_006b0d.gif",
	"00adef"	:	"dot_12_00adef.gif",
	"33cc00"	:	"dot_12_33cc00.gif",
	"603913"	:	"dot_12_603913.gif",
	"616161"	:	"dot_12_616161.gif",
	"790000"	:	"dot_12_790000.gif",
	"92278f"	:	"dot_12_92278f.gif",
	"9eff04"	:	"dot_12_9eff04.gif",
	"ec008c"	:	"dot_12_ec008c.gif",
	"ed1c24"	:	"dot_12_ed1c24.gif",
	"f26d7d"	:	"dot_12_f26d7d.gif",
	"ff7f00"	:	"dot_12_ff7f00.gif",
	"ffde00"	:	"dot_12_ffde00.gif",
	"ffffff"	:	"dot_12_ffffff.gif"

};

var flagIcons = {
	"webcam"		: "webcam.png",
	"shadow"		: "flag_shadow.png",
	"flag_blue"		: "flag_blue.png",
	"flag_red"		: "flag_red.png",
	"flag_yellow"	: "flag_yellow.png",
	"flag_purple"	: "flag_purple.png",
	"flag_green"	: "flag_green.png",
	"flag_cyan"		: "flag_cyan.png",
	"flag_gray"		: "flag_gray.png"
};

function createIcons(){
	var icons = {};
	
	var red_pin = new GIcon();
	red_pin.image  		 = "./gfx/icons/mm_20_red.png";
	red_pin.iconSize  	 = new GSize(12, 20);
	red_pin.shadow 	     = "./gfx/icons/mm_20_shadow.png";
	red_pin.shadowSize 	 = new GSize(22, 20);
	red_pin.iconAnchor 	 = new GPoint(6, 20);
	red_pin.infoWindowAnchor = new GPoint(5, 1);//center of the icon
	icons["red_pin"] = red_pin;
	
	var green_pin = new GIcon();
	green_pin.image  	 = "./gfx/icons/mm_20_green.png";
	green_pin.iconSize 	 = new GSize(12, 20);
	green_pin.shadow 	 = "./gfx/icons/mm_20_shadow.png";
	green_pin.shadowSize = new GSize(22, 20);
	green_pin.iconAnchor = new GPoint(6, 20);
	green_pin.infoWindowAnchor = new GPoint(5, 1);
	icons["green_pin"] = green_pin;
	
	var house = new GIcon();	
	house.image = "./gfx/icons/house.png";
	house.iconSize = new GSize(32, 32);	
	house.shadow = "./gfx/icons/house-shadow.png";
	house.shadowSize = new GSize(59, 32);	
	house.iconAnchor = new GPoint(30, 30);
	house.infoWindowAnchor = new GPoint(15, 15);
	icons["house"] = house;
	
	for (i in sportIcons) {
		var icon = new GIcon();
		icon.image = "./gfx/icons/" + sportIcons[i];
		icon.iconSize = new GSize(32, 32);	
		icon.shadow = "./gfx/icons/" + sportIcons["shadow"];
		icon.shadowSize = new GSize(46, 32);
		icon.iconAnchor = new GPoint(16, 16);
		icon.infoWindowAnchor = new GPoint(16, 5);
		icons[sportIcons[i]] = icon;
	}
	
	for (i in dotIcons) {
		var icon = new GIcon();
		icon.image = "./gfx/icons/" + dotIcons[i];
		icon.iconSize = new GSize(12,12);
		icon.iconAnchor = new GPoint(6,6);
		icon.infoWindowAnchor = new GPoint(12,2);
		icons[dotIcons[i]] = icon;
	}
	
	for (i in flagIcons) {
		var icon = new GIcon();
		icon.image = "./gfx/icons/" + flagIcons[i];
		icon.iconSize = new GSize(32,32);
		icon.shadow = "./gfx/icons/" + flagIcons["shadow"];
		icon.shadowSize = new GSize(56,32);
		icon.iconAnchor = new GPoint(16,16);
		icon.infoWindowAnchor = new GPoint(16,5);
		icons[flagIcons[i]] = icon;
	}
	
	console.log(icons);
	
	return icons;
}

// Modify this to map attributes to colors or icon types
function chooseIcon(type, name, desc) {
	if (!type) type = GPX.rte;
	if (!name) name = '';
	if (!desc) desc = '';
	
	var icon = null;
	
	/* waypoint markers */
	if (type == GPX.wpt) {
		if (desc in flagIcons) {
			icon = iconTable[flagIcons[desc]];
		}
	}
	/* track markers */
	else if (type == GPX.trk) {
		
		// interval markers
		if (name == "interval") {
		
			if (desc in dotIcons) {
				icon = iconTable[dotIcons[desc]];
			}
			else icon = intervalMarkerIcon;
		}
		// endMarker icons
		else if (name == "end") {
			if (desc in sportIcons) {
				icon = iconTable[sportIcons[desc]];
			}
			else if (desc in flagIcons) {
				icon = iconTable[flagIcons[desc]];
			}
			else icon = endMarkerIcon;
		}
		// startMarker icons
		else if (name == "start") {
			
			if (desc in sportIcons) {
				icon = iconTable[sportIcons[desc]];
			}
			else if (desc in flagIcons) {
				icon = iconTable[flagIcons[desc]];
			}
			
			else icon = startMarkerIcon;
		}
	}
	//if no icon was found return green_pin
	return icon?icon:iconTable[defaultIcon];
}

function chooseLineStyle(type, name, desc) {
	if (!type) type = GPX.rte;
	if (!name) name = '';
	if (!desc) desc = '';
	
	lineStyle = {};
	
	if (type == GPX.rte) {
		lineStyle.color = "#0000FF";
		lineStyle.width = 8;
		lineStyle.opacity = .6;
	}
	else if (type == GPX.trk && desc in lineColours) {
		lineStyle.color = lineColours[desc];
		lineStyle.width = 4;
		lineStyle.opacity = .8;
	}
	else if (type == GPX.trk) {
		lineStyle.color = "#0b49b5";
		lineStyle.width = 4;
		lineStyle.opacity = .8;
	}
	
	return lineStyle;
}
