// Various handlers for control events ----------------------------------------

// Validate and process TCX file upload ---------------------------------------
function submitUpload()
{
	// Upload from a PC file
	var fname = document.getElementById("upfile").value;
	var pw = document.getElementById("pw").value;
	if( fname == "" )
	{
		alert("No file chosen");
		return false;
	}
	else if( !fname.match(/(\.tcx)$/i) && !fname.match(/(\.dat)$/i) )
	{
		alert( "Incorrect filetype - choose .tcx or .dat file" );
		return false;
	}
	else if( pw == "" )
	{
		alert("No password supplied");
		return false;
	}
	else
	{
		document.getElementById("upForm").enctype="multipart/form-data";
		document.getElementById("upForm").encoding="multipart/form-data";
		document.getElementById("upStat").innerHTML = "Loading file ...";
		var pwHash = hex_sha1(pw);
		document.getElementById("pwh").value = pwHash;
		return true;
	}	
}

// Add Point of Interest ------------------------------------------------------
function checkPoi()
{
	// Upload POI to server, checks password and saves.  If server returns OK
	// then add POI to map.
	//var sel = document.getElementById('poiType');
	//var sidx = sel.selectedIndex;	// 0 = overnight stop, 1 = film

	// Construct url string, strip pipes(|) as they are used to split the data
	var title = document.getElementById("ptitle").value;
	title = title.replace(/\|/g,'');
	var url = document.getElementById("purl").value;
	url = url.replace(/\|/g,'');
	var pw = document.getElementById("poipw").value;
	var pwHash = hex_sha1(pw);
	var pdesc = document.getElementById("pdesc").value;
	pdesc = pdesc.replace(/\|/g,'');
	var str = title +'|'+ '1' +'|'+ url +'|'+ pwHash +'|'+ pdesc
		+'|'+ poiPos.lon +'|'+ poiPos.lat;

	// Send validation/update request to server
	var req = createXMLHttpRequest();
	req.onreadystatechange = function()
	{
		if( req.readyState == 4 )
		{
			if( req.status == 200 )
			{
				if( !req.responseText.match("^OK$") )
					alert(req.responseText);
				else
					addPoi(title,url,pdesc,'1',poiPos);
			}
		}
	};
	var xurl = 'scripts/addPoi.php?s='+str;
	req.open('GET', xurl, true);
	req.send(null);
}

function addPoi( name, url, desc, sidx, pos )
{
	// Create appropriate icon for POI
	if( sidx == 0 )
	{
		var icn = icnBed.clone();
	}
	else
	{
		var icn = icnFilm.clone();

	}

	// Create POI marker
	var mkrTxt = '<table style="font-family: arial, sans serif; font-size:small;"><tr><td>Soundslide:</td><td>' 
		+ name + '</td></tr>'
		+ '<tr><td>Click to see film:</td><td><a href="' + url + '" target="_blank">' + name 
		+ '</a></td></tr>'
		+ '<tr><td>Description:</td><td>' + desc + '</td></tr></table>';
	var pMkr = new OpenLayers.Marker(pos,icn);
	pMkr.icon = icn;
	pMkr.pos = pos;
	pMkr.info = mkrTxt;

	pMkr.events.register("click", pMkr, pClick);
	osMarkers.addMarker(pMkr);
	closeWin('addIcon');
}
