// the path where you stored the static direction images
var staticUrl = "./icons/directionimages/";

var exitSigns = {
	Set : function(id,value) {this[id] = value;},
	Get : function(id) {return this[id];}
}

exitSigns.Set(10,"RIGHT");
exitSigns.Set(11,"LEFT");
exitSigns.Set(12,"RIGHT");
exitSigns.Set(13,"LEFT");
exitSigns.Set(14,"RIGHT");
exitSigns.Set(15,"LEFT");

var signTemplates = {
	Set : function(id,value) {this[id] = value;},
	Get : function(id) {return this[id];}
}

signTemplates.Set(1,"RS00001CO");
signTemplates.Set(2,"RS00002BW");
signTemplates.Set(3,"RS00003BW");
signTemplates.Set(20,"RS00020CO");
signTemplates.Set(21,"RS00021CO");
signTemplates.Set(22,"RS00022CO");
signTemplates.Set(23,"RS00023CO");
signTemplates.Set(1001,"RSEXIT");
signTemplates.Set(12,"RSRAMPRIGHT");
signTemplates.Set(13,"RSRAMPLEFT");

var directionals = {
	Set : function(id,value) {this[id] = value;},
	Get : function(id) {return this[id];}
}

directionals.Set(1,"NORTH");
directionals.Set(2,"NORTHWEST");
directionals.Set(3,"NORTHEAST");
directionals.Set(4,"SOUTH");
directionals.Set(5,"SOUTHEAST");
directionals.Set(6,"SOUTHWEST");
directionals.Set(7,"WEST");
directionals.Set(8,"EAST");

var artNames = {
	Set : function(id,value) {this[id] = value;},
	Get : function(id) {return this[id];}
}

artNames.Set(0, "rs_straight");
artNames.Set(1, "rs_slight_right");
artNames.Set(2, "rs_right");
artNames.Set(3, "rs_sharp_right");
artNames.Set(4, "rs_uturn_left");
artNames.Set(5, "rs_sharp_left");
artNames.Set(6, "rs_left");
artNames.Set(7, "rs_slight_left");
artNames.Set(8, "rs_uturn_right");
artNames.Set(9, "rs_uturn_left");
artNames.Set(10, "rs_merge_right");
artNames.Set(11, "rs_merge_left");
artNames.Set(12, "rs_ramp");
artNames.Set(13, "rs_ramp");
artNames.Set(14, "rs_gr_exitright");
artNames.Set(15, "rs_gr_exitleft");
artNames.Set(16, "rs_fork_right2");
artNames.Set(17, "rs_fork_left2");
artNames.Set(18, "rs_straight");

var dynamicUrl = "http://mqsigns.aolcdn.com";

function generateSignURL(maneuver){
	var sign = new MQSign();
	var showSign = false;
	var sb;
	var baseURL = dynamicUrl;
	if(maneuver.getSigns().getSize() > 0) {
		baseURL = baseURL + "/?s=rs";
		for(i=0; i < maneuver.getSigns().getSize(); i ++) {
			sign = maneuver.getSigns().getAt(i);
			template = signTemplates.Get(sign.getType());
			if(typeof(window['template']) != "undefined") {
				baseURL = baseURL + "&t=" + template + "_SM";
				if(sign.getType() == "1001L") {
					baseURL = baseURL + exitSigns.Get(maneuver.getTurnType()) + "NUM";
				}
				signtext = sign.getText();
				if(typeof(window['signtext']) != "undefined") {
					baseURL = baseURL + "&n=" + sign.getText();
				}
				directional = directionals.Get(sign.getDirection());
				if(typeof(window['directional']) != "undefined") {
					baseURL = baseURL + "&d=" + directional;
				}
				else {
					break;
				}
				baseURL = baseURL + "&v=";
				showSign = true;
				break;
			}
		}
	}

	if(!showSign) {
		baseURL = staticUrl + artNames.Get(maneuver.getTurnType()) + "_sm.gif";
	}

	return baseURL;
}
