/* Map Loader v.1.0
* @version 1.33
*/
function loadMap(mapID, appPath, where, panning_control, text_color, background_color, intParam) {
  
  var obj = document.getElementById(where);
  var rest = "";
  var version = 9;

  // IF THERE ARE EM 1.0 PARAMAS
  if(typeof(panning_control) == "string") {
	 
	    if (intParam == undefined) intParam = new Object();
		if (intParam.dataProvider == undefined) {
			intParam.dataProvider =  appPath + "flash/ui/plugins/PluginDataproviderMapsit.swf";
		}
	  
		 if(getFlashVersion(navigator.appName, version) != -1){
			if(intParam != undefined){
				for(p in intParam) {
					rest += p + '=' + intParam[p] + '&';
				}
			}
			var mapWidth = obj.style.width;
			var mapHeight = obj.style.height;
			obj.innerHTML += '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" id="_ie_mapsit_'+ mapID + '" name="_ie_mapsit_' +mapID + '" width="' + mapWidth + '" height="' + mapHeight + '" align="middle"><param name="movie" value="' + appPath + 'flash/ui/MAP_ui_loader.swf" /><param name="src" value="' + appPath + 'flash/ui/MAP_ui_loader.swf" /><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="false" /><param name="quality" value="high" /><param name="bgcolor" value="#FFFFFF" /><param name="FlashVars" value="mapsitPath=' + appPath + '&id=' + mapID + '&panningCtrl=' + panning_control + '&menuFg=' + '#' + text_color + '&menuBg=' + '#' + background_color + '&' + rest + '_type=0&_ext=aspx&username=anonymous&userguid=" /><embed id="_ff_mapsit_' + mapID + '" name="_ff_mapsit_' + mapID + '" width="' + mapWidth + '" height="' + mapHeight + '" align="middle" movie="' + appPath + 'flash/ui/MAP_ui_loader.swf" src="' + appPath + 'flash/ui/MAP_ui_loader.swf" allowScriptAccess="always" allowFullScreen="false" quality="high" bgcolor="#FFFFFF" FlashVars="mapsitPath=' + appPath + '&id=' + mapID + '&panningCtrl=' + panning_control + '&menuBg=' + '#' + background_color + '&menuFg=' + '#' + text_color + '&' + rest + '_type=0&_ext=aspx&username=anonymous&userguid=" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>';
		} else {
			obj.style.width = 320+"px";
			obj.style.height = 240+"px";
			obj.innerHTML += "<font style=\"font-family:Verdana; font-size:10px; color:#000000;\"><br><p><img src=\"" + appPath + "img/flash/mapnetwork.jpg\" width=\"200\" height=\"80\"></p><p>The interactive map could not load because you do not have Flash Player 9 on your computer.</p>Download the latest Flash Player and <a href=\"JavaScript:location.reload(true);\">refresh</a> this page.<p><a href=\"http://www.macromedia.com/go/flashplayer\" target=\"_blank\"><img border=\"0\" src=\"" + appPath + "img/flash/getFlash.jpg\" width=\"100\" heigth=\"30\"></a></p></font>";
		}
		//
		
  } else {
		
	    if (panning_control == undefined) panning_control = new Object();
	    if (panning_control.dataProvider == undefined) {
			panning_control.dataProvider =  appPath + "flash/ui/plugins/PluginDataproviderMapsit.swf";
		}
	
		if(getFlashVersion(navigator.appName, version) != -1){
			if(panning_control != undefined){
				for(p in panning_control) {
					rest += p + '=' + panning_control[p] + '&';
				}
			}
			var mapWidth = obj.style.width;
			var mapHeight = obj.style.height;
			obj.innerHTML += '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" id="_ie_mapsit_'+ mapID + '" name="_ie_mapsit_' +mapID + '" width="' + mapWidth + '" height="' + mapHeight + '" align="middle"><param name="movie" value="' + appPath + 'flash/ui/MAP_ui_loader.swf" /><param name="src" value="' + appPath + 'flash/ui/MAP_ui_loader.swf" /><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="false" /><param name="quality" value="high" /><param name="bgcolor" value="#FFFFFF" /><param name="FlashVars" value="mapsitPath=' + appPath + '&id=' + mapID + '&' + rest + '_type=0&_ext=aspx&username=anonymous&userguid=" /><embed id="_ff_mapsit_' + mapID + '" name="_ff_mapsit_' + mapID + '" width="' + mapWidth + '" height="' + mapHeight + '" align="middle" movie="' + appPath + 'flash/ui/MAP_ui_loader.swf" src="' + appPath + 'flash/ui/MAP_ui_loader.swf" allowScriptAccess="always" allowFullScreen="false" quality="high" bgcolor="#FFFFFF" FlashVars="mapsitPath=' + appPath + '&id=' + mapID + '&' + rest + '_type=0&_ext=aspx&username=anonymous&userguid=" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>';
		} else {
			obj.style.width = 320+"px";
			obj.style.height = 240+"px";
			obj.innerHTML += "<font style=\"font-family:Verdana; font-size:10px; color:#000000;\"><br><p><img src=\"" + appPath + "img/flash/mapnetwork.jpg\" width=\"200\" height=\"80\"></p><p>The interactive map could not load because you do not have Flash Player 9 on your computer.</p>Download the latest Flash Player and <a href=\"JavaScript:location.reload(true);\">refresh</a> this page.<p><a href=\"http://www.macromedia.com/go/flashplayer\" target=\"_blank\"><img border=\"0\" src=\"" + appPath + "img/flash/getFlash.jpg\" width=\"100\" heigth=\"30\"></a></p></font>";
		}
	}
}

function getFlashVersion(browser, requiredVersion) {

  // Internet Explorer
  if(browser == "Microsoft Internet Explorer"){ 
      	for(var i=10; i>0; i--){
			try{
				var tmpObj = new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + i);
	  			if(i>=requiredVersion)
	  				return i;
	  			else
	  				break;
			}
			catch(e){
			}
		}
	}
  // Netscape, Opera, Mozilla, Safari
  if(browser == "Netscape" || browser == "Opera"){
	  if(navigator.plugins != null && navigator.plugins.length > 0) {
	  	flPlugin = navigator.plugins["Shockwave Flash"];
	  	if(flPlugin)
		  	for(var i=10; i>0; i--) {
		  		if(flPlugin.description.indexOf(i + ".")!= -1)
		  			if(i>=requiredVersion)
		  				return i;
		  			else
		  				break;
		  	}
	  }
  }
   
  return -1;
}

///////////////////////////////////////////////////////////////////////////////////////

var isInternetExplorer = navigator.appName.indexOf("Microsoft") != -1;
var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
var isSafari = (navigator.userAgent.indexOf("Safari") != -1) ? true : false;
var isMAC = (navigator.userAgent.indexOf("Mac") != -1) ? true : false;

	/* forward flash ui fscommands */
	function default_DoFSCommand(command, args) {
		window.alert("command: " + command + ", args: " + args);
		mapsit20_DoFSCommand(command, args);
	}

	/* open html popup window */
	function FLASH_OPEN_POPUP(args, in_width, in_height, mapsitPath) {
		/* set width and height to defaults */
		//alert('in WH: ' + in_width + ': ' + in_height);
		var the_width  = 520;
		var the_height = 350;
		//alert('before : '+the_width);
		//alert('before : '+the_height);
		/* override defaults */
		if (in_width != -1)
			the_width = in_width;
		if (in_height != -1)
			the_height = in_height;
		//alert('after : '+the_width);
		//alert('after : '+the_height);
		/* open new window and set focus to it */
		var new_info_window = window.open(mapsitPath + 'flash/aspx/info_html.aspx'	+ args, 'info_box',		'toolbar=no,location=0,directories=no,status=no,menubar=0,scrollbars=1,resizable=0,copyhistory=0,width='+the_width+',height='+the_height+',top=50,left=50');
		if (window.focus) {
			new_info_window.focus();
		}
		//alert('WH : ' + the_width + ' , ' + the_height);
	}

	
	function getFlashMovieObject(movieName) {
		if (window.document[movieName]) {
			return window.document[movieName];
		}
		if (navigator.appName.indexOf("Microsoft Internet")==-1) {
			if (document.embeds && document.embeds[movieName])
				return document.embeds[movieName]; 
		} else {
			return document.getElementById(movieName);
		}
	}
	/* catch flash ui fscommands */
	function mapsit20_DoFSCommand(command, args) {
		/* get flash object */
		var mapsit20Obj = getFlashMovieObject('mapsit20');
		/*var mapsit20Obj = isInternetExplorer ? document.all.mapsit20 : document.mapsit20;*/

		if (command == 'entry_wizard') {
			/* blog entry wizard popup */
			var new_entry_wizard = window.open('../blog/entry_wizard.aspx'	+ args, 'tfreuzal05jyxz45fd2scf45_entry_wizard',	'toolbar=no,location=0,directories=no,status=no,menubar=0,scrollbars=0,resizable=0,copyhistory=0,width=624,height=570,top=50,left=50');
			if (window.focus){
				new_entry_wizard.focus();
			}
		} else if (command == 'BLOG_INFO_WINDOW') {
			/* common info window html popup */
			var new_info_window = window.open('../blog/info_blog.aspx'		+ args, 'tfreuzal05jyxz45fd2scf45_info_box',		'toolbar=no,location=0,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=0, width=442, height=590px, top=50,left=50');
			if (window.focus) {
				new_info_window.focus();
			}
		} else if (command == 'setPOIKoordinates') {
			/* blog entry wizard step 4 enter coordinates from embed flash map */
			var argument = args.split(':');
			BLOG_setPOIKoordinates(argument[0], argument[1]);
		}
	}
	function BLOG_setPOIKoordinates(loc_lat, loc_long) {
		window.parent.setPOIKoordinates(loc_lat, loc_long);
	}
	function BLOG_Refresh(loc_id) {
		/*window.alert('Radi!');
		var mapsit20Obj = isInternetExplorer ? document.all.mapsit20 : document.mapsit20;*/
		getFlashMovieObject('mapsit20').SetVariable('/ui:reload_entries', loc_id);
	}
	function UI_MapIT(loc_id) {
		/*window.alert('Radi!');
		var mapsit20Obj = isInternetExplorer ? document.all.mapsit20 : document.mapsit20;*/
		getFlashMovieObject('mapsit20').SetVariable('/ui:set_mapit', loc_id);
	}
	/* MM flash detect */
	function MM_callJS(jsStr) {
		var reqPass = eval(jsStr);
		if (!reqPass) {
 			MM_openBrWindow('http://www.macromedia.com/go/flashplayer','getFlash','width=800,height=550');
		}
	}
	/* MM flash detect */
	function MM_openBrWindow(theURL,winName,features) {
		window.open(theURL,winName,features);
	}
	/* MM flash detect */
	function JSGetSwfVer(i) {
		if (navigator.plugins != null && navigator.plugins.length > 0) {
			if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
				var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
					var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
					descArray = flashDescription.split(" ");
					tempArrayMajor = descArray[2].split(".");
					versionMajor = tempArrayMajor[0];
				if ( descArray[3] != "" ) {
					tempArrayMinor = descArray[3].split("r");
				} else {
					tempArrayMinor = descArray[4].split("r");
				}
					versionMinor = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0;
					flashVer = parseFloat(versionMajor + "." + versionMinor);
			} else {
				flashVer = -1;
			}
		}
		else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
		else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
		else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
		else {
			flashVer = -1;
		}
		return flashVer;
	}
	/* MM flash detect */
	function DetectFlashVer(reqMajorVer, reqMinorVer) {
		reqVer = parseFloat(reqMajorVer + "." + reqMinorVer);
		for (i=25;i>0;i--) {      
			if (isIE && isWin && !isOpera) {;
				versionStr = VBGetSwfVer(i);
			} else {
				versionStr = JSGetSwfVer(i);
			}
			if (versionStr != 0) {;
				if(isIE && isWin && !isOpera) {
					tempArray = versionStr.split(" ");
					tempString = tempArray[1];
					versionArray = tempString.split(",");
	                        
					versionMajor = versionArray[0];
					versionMinor   = versionArray[2];
	                        
					versionString = versionMajor + "." + versionMinor;
					versionNum = parseFloat(versionString);
				} else {
					versionNum = versionStr;
				}
				return (versionNum >= reqVer ? true : false );            
			}
		}
		return (reqVer ? false : 0.0);
	}
	
	function getParams(url){
		var obj = new Object();
		var surl = url.toString()
		var params = surl.substring(surl.indexOf('?')+1, surl.length);
		var parArr = params.split('&');
		for(var p in parArr) {
		   var pp = parArr[p].toString().split('=');
		   obj[pp[0]] = pp[1];
		  // alert(pp[0] + ' = ' + pp[1]);
		}
		return obj;
		}
	//
	var urlParams = getParams(document.location);
	
	function getParamByName(pname) {
		//alert('getParamByName()');
		//alert('id: ' + urlParams['id']);
		return urlParams[pname];
	}
	
	function JSRound(n, d) {
			return Math.round(d*n)/d;
	}
	
	function printDirections(mid, appPath, route, iList, lang) {
		//alert('mid: ' + mid + '\n appPath: ' + appPath + '\n route: ' + route + '\n iList: ' + iList + '\n lang: ' + lang); 
		var comps_us = {start:"Start: ", end:"End: ", time:"Time: ", distance: "Distance: "};
		var comps_es = {start:"Origen: ", end:"Destino: ", time:"Tiempo: ", distance: "Distancia: "};
		//alert("comps: " + eval("comps_" + lang));
		var tmpDiv = document.createElement("DIV");
		var from = '~' + route.startGeo.lat + ',' + route.startGeo["long"] + ',' + route.startPoint;
		var to = '~' + route.endGeo.lat + ',' + route.endGeo["long"] + ',' + route.endPoint;
		var len = iList.length;
		var arr1 = route.startPoint.split(', ');
		var arr2 = route.endPoint.split(', ');
		var isSafari = (navigator.userAgent.indexOf("Safari") != -1) ? true : false;
		var w = window.open("", "_blank", "width=653,height=" + (isSafari ? 340 : 600) + ",toolbar=no,location=no,status=no,menubar=no,resizable=yes,scrollbars=yes");
		w.document.writeln("<html>");
		w.document.writeln("<head>");
		w.document.writeln("<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' />");
		w.document.writeln("<title>Directions - NAVTEQ Locations</title>");
		w.document.writeln("<sc"+"ript src='" + appPath + "inc/eagle_map2.js' type='text/javascript'></sc"+"ript>");
		//w.document.writeln("<sc"+"ript src='" + appPath + "inc/ACPrintManager.js' type='text/javascript'></sc"+"ript>");
		//w.document.writeln("<sc"+"ript src='" + appPath + "inc/eagle_map.js' type='text/javascript'></sc"+"ript>");
		//w.document.writeln("<sc"+"ript src='" + appPath + "inc/mapLoader_v1.0.js' type='text/javascript'></sc"+"ript>");
		w.document.writeln("<style type='text/css'>");
		w.document.writeln("	<!--");
		w.document.writeln("	body {");
		w.document.writeln("		margin-left: 8px;");
		w.document.writeln("		margin-top: 23px;");
		w.document.writeln("		margin-right: 8px;");
		w.document.writeln("		margin-bottom: 8px;");
		w.document.writeln("	}");
		w.document.writeln("	.instr {");
		w.document.writeln("		font-size:12px; font-family:\"Trebuchet MS\", Arial, Verdana;");
		w.document.writeln("	}");
		w.document.writeln("	.bold {");
		w.document.writeln("		font-size:12px; font-family:\"Trebuchet MS\", Arial, Verdana; font-weight:bold;");
		w.document.writeln("	}");
		w.document.writeln("	-->");
		w.document.writeln("	</style>");
		w.document.writeln("</head>");
		w.document.writeln("<body>");
		//
		w.document.writeln("<div id='h' style='width:637px; display:inline;'>");
		//
		w.document.writeln("<table border='0' width='637px' cellspacing='0' cellpadding='0' height='30px'>");
		w.document.writeln("<tr>");
		w.document.writeln("<td align='left' valign='top'>");
		//
		w.document.writeln("<table border='0' cellspacing='0' cellpadding='0' height='30px'>");
		w.document.writeln("<tr>");
		w.document.writeln("<td width='56' align='left' valign='top'><div id='left' style='display:inline; margin-left:10px; font-size:12px; font-family:\"Trebuchet MS\", Arial, Verdana;'>" + eval("comps_" + lang)["start"] + "</div></td>");
		w.document.writeln("<td align='left' valign='top'><div id='startAdd' style='height:30px; font-size:12px; font-family:\"Trebuchet MS\", Arial, Verdana; font-weight:bold;'>" + arr1[0] + "</br>" +  arr1[1] + ", " + arr1[2] + "</div></td>");
		w.document.writeln("<td width='42' align='left' valign='top'>&nbsp;</td>");
		w.document.writeln("<td width='30' align='left' valign='top'><div id='right' style='font-size:12px; font-family:\"Trebuchet MS\", Arial, Verdana; display:inline;'>" + eval("comps_" + lang)["end"] + "</div></td>");
		w.document.writeln("<td align='left' valign='top'><div id='endAdd' style='display:inline; font-size:12px; font-family:\"Trebuchet MS\", Arial, Verdana; font-weight:bold;'>" + arr2[0] + "</br>" +  arr2[1] + ", " + arr2[2] + "</div></td>");
		w.document.writeln("<td width='18' align='left' valign='top'>&nbsp;</td>");
		//w.document.writeln("<td align='right' valign='top'><div style='float:right; height:22px;'><a href=\"JavaScript:void(0);\" onclick=\"javascript:window.print(); window.close();\"><img src='" + appPath +"img/flash/prnt.png' border='0' /></a></div></td>");
		w.document.writeln("</tr>");
		w.document.writeln("</table>");
		//
		w.document.writeln("</td>");
		w.document.writeln("<td align='right' valign='top'>");
		//
		w.document.writeln("<table border='0' cellspacing='0' cellpadding='0' height='30px'>");
		w.document.writeln("<tr>");
		w.document.writeln("<td align='right' valign='top'><div style='float:right; height:22px;'><a href=\"JavaScript:void(0);\" onclick=\"javascript:window.print(); window.close();\"><img src='" + appPath +"img/flash/prnt_" + lang + ".png' border='0' /></a></div></td>");
		w.document.writeln("</tr>");
		w.document.writeln("</table>");
		//
		w.document.writeln("</td>");
		w.document.writeln("</tr>");
		w.document.writeln("</table>");
		//
		w.document.writeln("</div>");
		//
		w.document.writeln("<div id='instContainer' style='background-color:#FAFAFA; width:637px; overflow:auto; margin-top:15px;'>");
		w.document.writeln("<table width='100%' border='0' cellspacing='0' cellpadding='0''>");
		w.document.writeln("<tr>");
		w.document.writeln("<td width='56' align='center' valign='top'><img src='" + appPath +"img/flash/aimg.jpg' border='0' /></td>");
		w.document.writeln("<td align='left' valign='middle' class='bold'>" + route.startPoint + "</td>");
		w.document.writeln("</tr>");
		w.document.writeln("<tr>");
		w.document.writeln("<td width='56' align='center' valign='top'>&nbsp;</td>");
		w.document.writeln("<td align='left' valign='middle'><font class='instr'>" + eval("comps_" + lang)["time"] + "</font><font class='bold'>" + iList[0].elapsedtime + " </font><font class='instr'> I  " + eval("comps_" + lang)["distance"] + "</font><font class='bold'>" + JSRound(((lang == "us") ? (parseFloat(iList[0].elapseddistance) * 0.000621) : parseFloat(iList[0].elapseddistance)), 100).toString() + /*iList[0].elapseddistance + */" " + (lang == "us" ? "mi" : "m") + "</font></td>");
		w.document.writeln("</tr>");
		w.document.writeln("<tr>");
		w.document.writeln("<td width='56' align='center' valign='top'>&nbsp;</td>");
		w.document.writeln("<td align='left' valign='middle'><img src='" + appPath +"img/flash/line.jpg' border='0' /></td>");
		w.document.writeln("</tr>");
		
		for(var i=0; i<len; i++) {
			tmpDiv.innerHTML = iList[i].value;
			w.document.writeln("<tr>");
			w.document.writeln("<td width='56' align='center' valign='top'>&nbsp;</td>");
			w.document.writeln("<td align='left' valign='top' class='instr'>" + (i+1).toString() + ". " + tmpDiv.innerHTML.replace(/<[^>]*>/g,'') + "</td>");
			w.document.writeln("</tr>");
		}
		
		w.document.writeln("<tr>");
		w.document.writeln("<td width='56' align='center' valign='top'>&nbsp;</td>");
		w.document.writeln("<td align='left' valign='middle'><img src='" + appPath +"img/flash/line.jpg' border='0' /></td>");
		w.document.writeln("</tr>");
		
		w.document.writeln("<tr>");
		w.document.writeln("<td width='56' align='center' valign='top'><img src='" + appPath +"img/flash/bimg.jpg' border='0' /></td>");
		w.document.writeln("<td align='left' valign='middle' class='bold'>" + route.endPoint + "</td>");
		w.document.writeln("</tr>");
		w.document.writeln("</table>");
		
		w.document.writeln("</div>");
		w.document.writeln("<div id='mapDiv' style='width:637px; height:260px; margin-top:9px; table-layout:fixed'></div>");
		w.document.writeln("<script>");	
		w.document.writeln("var isSafari = (navigator.userAgent.indexOf('Safari') != -1) ? true : false;");
		w.document.writeln("if(isSafari) { document.getElementById('mapDiv').style.display = 'none';} else{");	
		w.document.writeln("var m = new MapsitMap('mapDiv', '" + appPath +"');");
		w.document.writeln("m.additionalParams = {embedSet: 'print', verbose: 'true', panningCtrl: 'false', locale:'" + lang + "' };");
		w.document.writeln("var mapid = '" + mid + "';");
		//
		w.document.writeln("m.loadMap(mapid);}");
		w.document.writeln("</script>");
		w.document.writeln("<script>");
		w.document.writeln("m.onMapLoaded = function () { m.getDirections('"+ from + "','" + to + "'); }");
		w.document.writeln("function printFlash() { print(); close(); }");//alert('printFlash'); m.doPrintFlash(); 
		w.document.writeln("</script>");
		w.document.writeln("<div style='width:637px; height:22px; margin-top:8px;'><div style='float:right; height:22px;'><a href=\"JavaScript:void(0);\" onclick=\"javascript:printFlash();\"><img src='" + appPath +"img/flash/prnt_" + lang + ".png' border='0' /></a></div></div>");
		w.document.writeln("</body>");
		w.document.writeln("</html>");
		w.document.close();
	}
	
	
	
	
	
	
	
	
	