function ws_var_exists( varname ) { return typeof( window[ varname ] ) != "undefined"; }

function replaceAll (strOrig, strTarget, strSubString) {
			var intIndexOfMatch = strOrig.indexOf( strTarget );
			while (intIndexOfMatch != -1) {
				strOrig = strOrig.replace( strTarget, strSubString )
				intIndexOfMatch = strOrig.indexOf( strTarget );
			}
			return strOrig;
		}
		
function ws_escape( value ) { return ( escape( replaceAll( String(value), "#", "") ) ); }

					var ws_iframe_css_final = "border: 0"
					if ( ws_var_exists("ws_iframe_css") ) ws_iframe_css_final = ws_iframe_css;

					//build param string using any variables that were defined on hosting page
					var ws_params = "";
					ws_params += "wsid=60249f6786354592e2ac5d455b631823";
					if ( ws_var_exists("ws_address") ) ws_params += "&street=" + ws_escape(ws_address);
					
					if ( ws_var_exists("ws_lat") && ws_var_exists("ws_lon") ) ws_params += "&lat=" + ws_escape(ws_lat) + "&lng=" + ws_escape(ws_lon);

					if ( ws_var_exists("ws_width") ) {
						ws_width = replaceAll(ws_width, "px", ""); //strip "px" from var
						ws_params += "&width=" + ws_escape(ws_width);
					}
					else 
						var ws_width = "600";
						
					
						
					if ( ws_var_exists("ws_hide_scores_below") ) ws_params += "&hide_scores_below=" + ws_escape(ws_hide_scores_below);
					
					//horizontal or vertical layout?
					var ws_layout_internal = "horizontal"; //default
					if ( Number(ws_width) < 450 )
						ws_layout_internal = "vertical";
					//manual override?
					if ( ws_var_exists("ws_force_layout") && (ws_force_layout == "horizontal" || ws_force_layout == "vertical") ) {
						ws_params += "&force_layout=" + ws_escape(ws_force_layout);
						ws_layout_internal = ws_force_layout;
					}
					
					//for vertical layout, limit list length?
					if ( ws_layout_internal == "vertical" && ws_var_exists("ws_list_limit") ) //if list limit is set, pass it on.
						ws_params += "&list_limit=" + ws_escape(ws_list_limit);
					else if ( ws_layout_internal == "vertical" ) { // in vert layout, default to 6 items in list
						var ws_list_limit = 6; 
						ws_params += "&list_limit=6"; 
					}
	
					//set tile height, small tile depends on list limit
					var ws_height = 286; //large tile is fixed height
					if ( ws_layout_internal == "vertical" && ws_var_exists("ws_list_limit") ) //if is small tile
						ws_height = 234 + 18*(Number(ws_list_limit)); //calc height
					
					ws_params += "&height=" + ws_height;
					
					if ( ws_var_exists("ws_score_color") ) ws_params += "&score_col=" + ws_escape(ws_score_color);
					if ( ws_var_exists("ws_headline_color") ) ws_params += "&head_col=" + ws_escape(ws_headline_color);
					if ( ws_var_exists("ws_category_color") ) ws_params += "&category_col=" + ws_escape(ws_category_color);
					if ( ws_var_exists("ws_result_color") ) ws_params += "&result_col=" + ws_escape(ws_result_color);
					if ( ws_var_exists("ws_map_frame_color") ) ws_params += "&map_frame_col=" + ws_escape(ws_map_frame_color);					

					//add the domain as a param
					ws_params += "&domain=";

					document.write ('<iframe src="http://www.walkscore.com/serve-tile.php?' + ws_params + '" marginwidth="0" marginheight="0" vspace="0" hspace="0" allowtransparency="true" frameborder="0" scrolling="no" width="' + ws_width + 'px" height="' + ws_height + 'px" style="' + ws_iframe_css_final + '"></iframe>');