



function doPrefsForm(save) {

	var background = trim(findObj('background').value);

	document.body.style.backgroundColor = '';
	document.body.background = '';

	if(background.indexOf("://")!=-1)	{

		document.body.background = background;
	}
	else 	{

		document.body.style.backgroundColor = background;
	}

	////////
	
	var open_in_new = findObj('open_link_new').checked;

	var links=document.links; 
	
	for(var i=0; i<links.length; i++) { 

	   var href = links[i].href;
		
	   if(href.indexOf("javascript:")!=-1 ||
	      href.indexOf("/mypage")!=-1)	continue;
	
	   links[i].target = open_in_new?"_blank":"_self";
	}

	if(save) xmlconn.request("/mypage/save_prefs?background=" + escape(background) + "&open_in_new=" + open_in_new);   // tell web server

	closeForm();
}




function doLoginForm() {

	var username = findObj('login_username').value;
	var password = findObj('login_password').value;

	if(username==null)	 {
		
		alert("Please enter a username");
		return;
	}
	if(password==null)	 {
		
		alert("Please enter a password");
		return;
	}
	
	xmlconn.request("/mypage/login?username=" + escape(username) + "&password=" + escape(password));   // tell web server
}



xmlconn.setRespHandler('login_success', processLoginSucess);
xmlconn.setRespHandler('login_failure', processLoginFailure);


function processLoginSucess(xmldoc) 
{

	location.href = "/mypage";  // need a page reload now that user-cookie has been set
}

function processLoginFailure(xmldoc)
{
	try	{

		var error_msg = loadOptionalXMLParam(xmldoc, 'error_msg');

		alert(error_msg);

		findObj('login_username').value = '';
		findObj('login_password').value = '';
		
	} catch(e)	{

		window.status = "Error processing xml: " + e.name + " - " + e.message; 
	}
}







function doRegForm() {

	var username = findObj('reg_username').value;
	var password = findObj('reg_password').value;
	var email = findObj('reg_email').value;


	if(username==null)	 {
		
		alert("Please enter a username");
		return;
	}
	if(password==null)	 {
		
		alert("Please enter a password");
		return;
	}
	
	xmlconn.request("/mypage/reg?username=" + escape(username) + "&password=" + escape(password) + "&email=" + escape(email));   // tell web server
}




xmlconn.setRespHandler('reg_success', processRegSucess);
xmlconn.setRespHandler('reg_failure', processRegFailure);


function processRegSucess(xmldoc) 
{
	try	{

		username = loadOptionalXMLParam(xmldoc, 'username');

		alert("You're account has been created! \nYou can now login to your page from any computer.");
	
		closeForm();
	
	
	
		findObj('username_label').innerHTML = username;
		setAuthLinks();
	
		findObj('reg_username').value = '';
		findObj('reg_password').value = '';
		findObj('reg_email').value = '';

	} catch(e)	{

		window.status = "Error processing xml: " + e.name + " - " + e.message; 
	}
}


function processRegFailure(xmldoc) 
{
	try	{

		var error_msg = loadOptionalXMLParam(xmldoc, 'error_msg');

		alert(error_msg);

	} catch(e)	{

		window.status = "Error processing xml: " + e.name + " - " + e.message; 
	}
}




function doAddLinkForm() {

	var url = findObj('add_url').value;
	var name = findObj('add_name').value;

	if(url==null || url=='')	 {
		
		alert("Please enter a url or domain name");
		return;
	}
	
	url = trim(url);
	
	if(url.indexOf(" ")!=-1)	{
	
		alert("Domains/URLs can't contain spaces.");
		return;
	}
	

	if(name=='' || name==null)	name = url;


	if(url.indexOf(".")==-1)	{
	
		url = url + ".com";
	}

	if(url.indexOf("://")==-1)	{
	
		url = "http://" + url + "/";
	}

	var top = 140;
	var left = 500;
	
	xmlconn.request("/mypage/edit/add_link?url=" + escape(url) + "&name=" + escape(name) + "&top=" + top + "&left=" + left);   // tell web server

	findObj('add_url').value = '';
	findObj('add_name').value = '';
}




xmlconn.setRespHandler('new_link', processNewLinkXML);

function processNewLinkXML(xmldoc) 
{
	try	{

		var url = loadOptionalXMLParam(xmldoc, 'url');
		var name = loadOptionalXMLParam(xmldoc, 'name');
		var id = loadOptionalXMLParam(xmldoc, 'id');
		var left = loadOptionalXMLParam(xmldoc, 'left');
		var top = loadOptionalXMLParam(xmldoc, 'top');
		
		createLinkDiv(url, name, id, left, top);

	} catch(e)	{

		window.status = "Error processing xml: " + e.name + " - " + e.message; 
	}
}



function createLinkDiv(url, name, id, left, top) {

	var domain = url.split("/")[2];  

	//////////////

	var html = "";
	
	html+="<div style='position: absolute; right: 1px; top: 0px; margin: 0;'><a href=\"javascript:remove('" + id + "');\" title=\"delete\"><img src='/html/mypage/images/close.gif' width=8 height=8 border=0></a></div>";
	html+="<a href='" + url + "'><img  id='fav_" + id + "' src='/html/c.gif' border=0 width=16 height=16 align=top></span></a>&nbsp;";
	html+="<a href='" + url + "'>" + name + "</a>";

	if(name.length>12)	html+="&nbsp;&nbsp;&nbsp;";

	var div = document.createElement('div'); 
	
	div.className = "linkbox";

	div.id = id; 

	div.style.left = left; 
	div.style.top = top; 
	div.style.width = '130px'; 
	div.style.height = '16px'; 

	div.innerHTML = html;

	document.body.appendChild(div);

	Drag.init(div);

	// deal with favicon - preload to see if it exists

	var favicon = "http://" + domain + "/favicon.ico";

	var favImage = new Image();
	favImage.id = id;
	favImage.onerror = function () {noFavicon(id);}
	favImage.onload = function () {hasFavicon(id, favicon);}
	favImage.src = favicon;
}


function noFavicon(id) {

	findObj("fav_" + id).style.width=0;
}

function hasFavicon(id, url) {

	findObj("fav_" + id).src = url;
}




function doAddImageForm() {

	var url = findObj('add_image').value;

	if(url==null || url=='')	 {
		
		alert("Please enter a url of an image");
		return;
	}

	var image = new Image();
	image.onload = function () { xmlconn.request("/mypage/edit/add_image_url?url=" + escape(url) + "&top=140&left=200&width=" + image.width + "&height=" + image.height); }  // tell web server
	image.onerror = function () { alert("Sorry, We could not load that image..."); }
	image.src = url;
}




xmlconn.setRespHandler('new_image', processNewImageXML);

function processNewImageXML(xmldoc) 
{
	try	{

		var url = loadOptionalXMLParam(xmldoc, 'url');
		var id = loadOptionalXMLParam(xmldoc, 'id');
		var left = loadOptionalXMLParam(xmldoc, 'left');
		var top = loadOptionalXMLParam(xmldoc, 'top');
		var width = loadOptionalXMLParam(xmldoc, 'width');
		var height = loadOptionalXMLParam(xmldoc, 'height');
		
		
		createImageDiv(url, id, left, top, width, height);

		findObj('add_image').value = '';

	} catch(e)	{

		window.status = "Error processing xml: " + e.name + " - " + e.message; 
	}
}


function createImageDiv(url, id, left, top, width, height) {

	if(width>600)	{
		height = height*600/width
		width = 600;
	}	
	if(height>500)	{
		width = width*500/height
		height = 500;
	}
		
	//////////////

	var html = "";

	html+="<div style='position: absolute; right:1px; top:0px;'><a href=\"javascript:remove('" + id + "');\" title=\"delete\"><img src='/html/mypage/images/close.gif' width=8 height=8 border=0></a></div>"
	html+="<img src='" + url + "' width=100% height=100%>"
	html+="<div style='position: absolute; right:0px; bottom:-1px;'><img src='/html/mypage/images/resize.gif' width=7 height=7></div>"

	var div = document.createElement('div'); 
	
	div.className = "linkbox";

	div.id = id; 

	div.style.left = left; 
	div.style.top = top; 
	div.style.width = width; 
	div.style.height = height; 

	div.innerHTML = html;

	document.body.appendChild(div);

	Drag.init(div, true);
}



function doHomepageClick() {
	
	xmlconn.request("/mypage/save_homepage");   // tell web server
}





