function form_submit( form, inside) {
	
	loading();
	
	pv = new Array();
	
	if( server_data["dest"] ) {
		pv["dest"] = server_data["dest"];
	}
	
	pv["email"] = $("email").value;

	if( !email_regex.test( pv["email"] ) || pv["email"] == ""  ) {
		server_data["errors"] = new Array();
		server_data["errors"]["email"] = "Enter a valid email";
		process_server_data()
		return false;
	}

	$("email").disabled = true;
	$("password_submit").disabled = true;
	
	if( inside ) {
		var new_form = createDOM("FORM", {"action":"password.html?json", "method":"post"} );
		for( var i in pv ) {
			new_form.appendChild( INPUT({"name":i,"value":pv[i] } ) );
		}
		document.getElementsByTagName("body")[0].appendChild( new_form );
		new_form.submit();
		return;
	}

	var json = postJSONDoc( "password.html?json", pv );

	json.addCallback( load_server_data );

	return false;
}

function load_server_data( d ) {
	server_data = d;	
	process_server_data();
}

function process_server_data() {

	done_loading();

	var old_errors = getElementsByTagAndClassName( "DIV", "error");

	for( var i = 0; i < old_errors.length; i++ ) {
		old_errors[i].parentNode.parentNode.parentNode.className = "";
		old_errors[i].parentNode.parentNode.removeChild( old_errors[i] );
	}

	for( var i in server_data["errors"] ) {
		
		$(i).parentNode.parentNode.appendChild( DIV( {"class":"error"},  server_data["errors"][i] ) );
		$(i).parentNode.parentNode.parentNode.className = "has_error";
	}

	var old_notifications = getElementsByTagAndClassName( "DIV", "notify");

	for( var i = 0; i < old_notifications.length; i++ ) {
		old_notifications[i].parentNode.parentNode.parentNode.className = "";
		old_notifications[i].parentNode.parentNode.removeChild( old_notifications[i] );
	}

	for( var i in server_data["notify"] ) {
		$(i).parentNode.parentNode.appendChild( DIV( {"class":"notify"},  server_data["notify"][i] ) );
		$(i).parentNode.parentNode.parentNode.className = "has_notice";
	}
	
}

gone_sifr = false;

function go_sifr() {

	if(typeof sIFR == "function" && !gone_sifr) {
		gone_sifr = true;
		sIFR.replaceElement(named({	sSelector:"span.max", 
						sFlashSrc:"images/tagalag.swf", 
						sColor:"#FF6000", 
						sLinkColor:"#FF6000", 
						sBgColor:"#ffffff",
						sHoverColor:"#ffffff", 
						sFlashVars:"textalign=right"
						}));		

		sIFR.replaceElement(named({	sSelector:"span.huge", 
						sFlashSrc:"images/tagalag.swf", 
						sColor:"#dddddd", 
						sLinkColor:"#dddddd", 
						sBgColor:"#ffffff",
						sHoverColor:"#ffffff", 
						sFlashVars:"textalign=center"
						}));

	}

}

addLoadEvent( go_sifr );


addLoadEvent( process_server_data );