var gCities = new Array(
	new Array(340,118), /* Dubuque, Iowa */
	new Array(485,98), /* Rochester, New York */
	new Array(360,110), /* Madison, Wisconsin */
	new Array(372,130), /* River Forest, Illinois */
	new Array(535,98), /* West Hartford, CT */
	new Array(472,300), /* Daytona Beach, FL */
	new Array(462,135), /* Pittsburgh, PA */
	new Array(323,235), /* Hot Springs, AR */
	new Array(325,265), /* Shreveport, LA */
	new Array(442,130), /* Cleveland, OH */
	new Array(175,220), /* Albuquerque, NM */
	new Array(435,135), /* Kent, OH */
	new Array(520,115), /* New York, NY */
	new Array(10,150), /* San Francisco, CA */
	new Array(195,165), /* Denver, CO */
	new Array(522,67), /* Burlington, VT */
	new Array(300,217), /* Tulsa, OK */
	new Array(420,155), /* Dayton, OH */
	new Array(320,92), /* Minneapolis, MN */
	new Array(280,225), /* Oklahoma City, OK */
	new Array(362,300), /* New Orleans, LA */
	new Array(365,225), /* Memphis, TN */
	new Array(435,145)
);

var gLabels = new Array(
	new Array(295,130,"Dubuque","Dubuque",1), 
	new Array(435,85,"Rochester","Rochester",4), 
	new Array(370,100,"Madison","Madison",2), 
	new Array(380,115,"River Forest","RiverForest",3),
	new Array(540,85,"West Hartford","WestHartford",5),
	new Array(483,308,"Daytona Beach","DaytonaBeach",6),
	new Array(470,145,"Pittsburgh","Pittsburgh",7),
	new Array(335,270,"Shreveport","Shreveport",9),
	new Array(258,243,"Hot Springs","HotSprings",10), 
	new Array(455,120,"Cleveland","Cleveland",11), 
	new Array(105,230,"Albuquerque", "Albuquerque",12),
	new Array(405,135,"Kent","Kent",13),
	new Array(525,125,"New York","NewYork",15),
	new Array(18,135,"San Francisco","SanFrancisco",14),
	new Array(155,175,"Denver","Denver",16),
	new Array(470,50,"Burlington","Burlington",17),
	new Array(310,205,"Tulsa","Tulsa",18),
	new Array(375,155,"Dayton","Dayton",19),
	new Array(270,78,"Minneapolis","Minneapolis",20),
	new Array(202,212,"Oklahoma City","OklahomaCity",21),
	new Array(373,310,"New Orleans","NewOrleans",8),
	new Array(375,225,"Memphis","Memphis",22),
	new Array(440,160,"Columbus","Columbus",23)
);
	
function js_tc_initStars() 
{
	var node = dojo.byId("city_stars");
	for (var j=0; j<gCities.length; j++)
	{	
		var dim = gCities[j];
		var div_node = document.createElement("div");
		dojo.html.setStyle(div_node,"opacity","0");
		dojo.html.setStyle(div_node,"position","absolute");
		dojo.html.setStyle(div_node,"left",dim[0] + "px");
		dojo.html.setStyle(div_node,"top",dim[1] + "px");
		dojo.html.setClass(div_node,"city_star");
		var image_node = document.createElement("img");
		image_node.src = k_prepath + "/images/gw/star-s.gif";
		div_node.appendChild(image_node);
		node.appendChild(div_node);
	}
	/*
	var node = dojo.byId("star_lr");
	var link_node = document.createElement("a");
	link_node.href = "./welcome.html";
	var image_node = document.createElement("img");
	image_node.src = k_prepath + "/images/gw/star.gif";
	link_node.appendChild(image_node);
	node.appendChild(link_node);
	*/
}

function js_tc_initLabels() 
{
	var node = dojo.byId("city_labels");
	for (var j=0; j<gLabels.length; j++)
	{	
		var dim = gLabels[j];
		var div_node = document.createElement("div");
		dojo.html.setStyle(div_node,"opacity","0");
		dojo.html.setStyle(div_node,"position","absolute");
		dojo.html.setStyle(div_node,"left",dim[0] + "px");
		dojo.html.setStyle(div_node,"top",dim[1] + "px");
		dojo.html.setClass(div_node,"city_label");
		var link_node = document.createElement("a");
		link_node.href = k_prepath + "/national/city/" + dim[3];
		//link_node.href = "javascript:js_tc_display('" + escape(dim[3]) + "','" + dim[4] + "')";
		dojo.dom.textContent(link_node,dim[2]);
		div_node.appendChild(link_node);
		node.appendChild(div_node);
	}
}

function js_tc_display(city,city_id)
{
	urchinTracker('/city/' + city_id);
	_js_showComment(city,city_id);
}

function js_tc_initGW() 
{
	var node = dojo.byId("background");
	if (node)
	{
		var image_node = document.createElement("img");
		dojo.html.setStyle(image_node,"opacity","1");
		image_node.onload = function() {  			
			js_tc_initStars();
			js_tc_initLabels();

			new dojo.lfx.html.fadeShow(document.getElementsByClassName("city_star"),500).play(10);
			new dojo.lfx.html.fadeShow(document.getElementsByClassName("city_label"),500).play(10);
			//new dojo.lfx.html.fadeShow(dojo.byId("star_lr"),2500).play(100);
		}
		node.appendChild(image_node);
		image_node.src = k_prepath + "/images/gw/background.gif";
	}
}

function _js_showComment(city,city_id,id)
{
	var container;
	if (container = dojo.byId("page_overlay_media"))
	{
		scroll(0,0);
		_js_showOverlay();
		_js_hide(container);
		dojo.dom.removeChildren(container);
		var temp_image_node = document.createElement("img");
		temp_image_node.setAttribute("id","image_spinner");
		temp_image_node.src = k_imageDir + "spinner.gif";
		temp_image_node.style.textAlign = "center";
		temp_image_node.style.padding = "70px 200px 100px 200px";
	
		var nav_node_top = document.createElement("div");
		nav_node_top.setAttribute("id","uc_nav_top");
		nav_node_top.innerHTML = city + "<div><a href='javascript:js_tc_closeMedia();'>[Close]</a></div>";
		var header_node = document.createElement("div");
		header_node.setAttribute("id","uc_header");
		header_node.appendChild(nav_node_top);

		var comment_node = document.createElement("div");
		comment_node.setAttribute("id","comment_node");
		comment_node.appendChild(temp_image_node);

		var nav_node_bottom = document.createElement("div");
		nav_node_bottom.setAttribute("id","uc_nav_bottom");
		var footer_node = document.createElement("div");
		footer_node.setAttribute("id","uc_footer");
		footer_node.appendChild(nav_node_bottom);
	
		var nav_node_bottom = document.createElement("div");
		nav_node_bottom.setAttribute("id","uc_nav_bottom");
		container.appendChild(header_node);
		container.appendChild(comment_node);
		container.appendChild(footer_node);

		var w = 800;
		container.style.width = w + "px";
		container.style.marginLeft = ((870-w)/2) + "px";	
		_js_show(container);
		
		
		/* ****************************************************************** */
		var url = "http://" + window.location.hostname + k_searchPath + "uc.php?sterms=" + escape(city_id);
		if (undefined != id)
		{
			url += "&sid=" + id;
		}
		var content = "";
		var node = comment_node;
		dojo.io.bind({
			url: url,
			load: function(type,data,evt) {
				var response = data.getElementsByTagName("response");
				var image_url = null;
				if (response.length == 1)
				{
					var error = data.getElementsByTagName("error");
					if (error.length > 0)
					{
						content = error[0].childNodes[0].nodeValue;
					}
					else
					{
						node.innerHTML = "<!-- -->";
						var results = response[0].getElementsByTagName("results")[0];
						if (results)
						{
							results = results.getElementsByTagName("result");
							if (results.length > 0)
							{
								for (var j=0; j<results.length; j++)
								{
									var result = results[j];
									var descriptions = result.getElementsByTagName("description")[0].childNodes;
									// Brower, esp. FF, may break up into nodes if exceeds limit
									var description = "";
									for (var k=0; k<descriptions.length; k++)
									{
										description += descriptions[k].nodeValue;
									}
									var author = result.getElementsByTagName("author")[0].childNodes[0].nodeValue;
									var link_prev = result.getElementsByTagName("prev")[0].childNodes[0].nodeValue;
									var link_next = result.getElementsByTagName("next")[0].childNodes[0].nodeValue;

									content += "<div id='user_comment'>";
									content += "<div id='uc_author'>" + author + "</div>";
									
									// optional
									var images = result.getElementsByTagName("image")[0].childNodes;
									if (images)
									{
										var image = images[0];
										if (image)
										{
											image_url = image.nodeValue;
											content += "<div style='margin:4px 0px;' id='uc_image'><!-- --></div>";
										}
									}

									content += description;
									content += "</div>";			
									
									if ("0" != link_prev)
									{
										content += "<a href=\"javascript:_js_showComment('" + escape(city)  + "','" + city_id + "','" + link_prev + "');\" ><img align=absmiddle src='" + k_imageDir + "btn-previous.gif' /></a>";
									}
									else
									{
										content += "<img class='hidden_inline' align=absmiddle src='" + k_imageDir + "btn-previous.gif' />";
									}
									if ("0" != link_next)
									{
										content += "<a href=\"javascript:_js_showComment('" + escape(city) + "','" + city_id + "','" + link_next + "');\" ><img align=absmiddle src='" + k_imageDir + "btn-next.gif' /></a>";
									}
									else
									{
										content += "<img class='hidden_inline' align=absmiddle src='" + k_imageDir + "btn-next.gif' />";
									}			
									content += "</div>";
								}
								content += "<div class='clear'><!-- --></div>";
							}								
							else
							{
								content += "<div class='search_status_header'>No matching comments ...</div>";
							}								
						}
						else
						{
							content = "<div>Search failed ... sad sad face ...</div>";
						}
					}
				}
				node.innerHTML = content;
				if (image_url != null)
				{
					var parent_node = dojo.byId("uc_image");
					if (parent_node)
					{
						var maxWidth = 730;
						var maxHeight = 500;
						var image_node = document.createElement("img");
						dojo.html.setStyle(image_node,"display","none");
						dojo.html.setStyle(image_node,"max-width",maxWidth + "px");
						dojo.html.setStyle(image_node,"max-height",maxHeight + "px");
						image_node.onload = function() {  
							dojo.html.setStyle(image_node,"background-color","#EFEFEF");
							dojo.html.setStyle(image_node,"border","1px solid #999999");
							dojo.html.setStyle(image_node,"padding","2px");
							dojo.html.setStyle(image_node,"display","block");
							// constrain width - mostly fixed for IE ignoring max-width and min-width
							h = this.height;
							w = this.width;
							if (w > maxWidth)
							{
								var percent = maxWidth / w;
								w = maxWidth;
								h = Math.round(percent * h);
							}
							if (h > maxHeight)
							{
								var percent = maxHeight / h;
								h = maxHeight;
								w = Math.round(percent * w);
							}
							dojo.html.setStyle(image_node,"width",w + "px");
							dojo.html.setStyle(image_node,"height",h + "px");
							h = _js_getHeight() + h;
							_js_resizeOverlay(h+150);
						};
						parent_node.appendChild(image_node);
						var src = "http://" + window.location.hostname + k_prepath + "/_uc/" + image_url;
						image_node.src = src;
					}
				}
				var h = Math.max(_js_getHeight()+150,node.offsetHeight+150);
				_js_resizeOverlay(h);
			},
			error: function(type,error) {
				alert(error.message);
				node.innerHTML = "<div>Search failed ... sad face ...</div>";
			},
			mimetype:"text/xml"
		});
		/* ****************************************************************** */
	}
}

function js_tc_checkUserComments(form)
{
	var story = form.story.value;
	var name = form.name.value;

	story = js_tc_stripHTML(story);
	story = js_tc_trim(story);
	name = js_tc_stripHTML(name);
	name = js_tc_trim(name);
	
	var err = false;
	var err_msg = "";

	form.story.value = story;
	form.name.value = name;

	if (0 == story.length)
	{
		err_msg = "Please share your story";
		err = true;
	}
	else if (0 == name.length)
	{
		err_msg = "Please add your name";
		err = true;
	}
	if (err)
	{
		var node = dojo.byId("uc_error");
		if (node)
		{
			dojo.html.setClass(node,"uc_form_error");
			dojo.dom.textContent(node,err_msg);
		}
	}
	return (!err);
}

function js_tc_trim(s)
{
   return (s.replace(/^\s*|\s*$/g,""));
}

function js_tc_stripHTML(s)
{
	return (s.replace(/(<([^>]+)>)/ig,""));
}
