
	var udet, displayName;
	
    function loadUserDetails()
    {
		objectCallback.success=updateDetails;
	    AjaxObject.getRest('secure/baby', 'udet');
    }
   
	function setUserArea()
	{
		if (udet != undefined)
		{
			displayName=udet.displayName;
		}
		else
		{
			displayName=getCookie('fc_username');
		}

		var html='';
		if ((displayName != undefined) && (displayName.length > 0))
		{
	    	html += displayName+' | ';
		}
		html += "<a href='/springapp/secure/profile.html'>profile</a> | ";
		html += "<a href='/springapp/j_acegi_logout'>logout</a>";
    	document.getElementById('userarea').innerHTML=html;
	}
 
	function updateDetails(o)
	{
		if (o.responseText == 'nocoop')
		{
			alert('sorry you are not a member of a coop');
		}
		else
		{
			udet = eval("("+o.responseText+")");
			setCookie('fc_username',udet.displayName,7);
		}
	    afterLogin();
	}
	
	function acceptDisplayLogic(sit)
	{
		var htmlObj = new Object();
		if (sit.sitter != undefined)
		{
			htmlObj.htmlClass='filled';
			htmlObj.msg ='Filled';
			htmlObj.by=' by '+sit.sitter.displayName;
		}
		else
		{
			htmlObj.htmlClass='open';
			htmlObj.msg = 'Open';
			htmlObj.by='';
		}
			
		return htmlObj;
	}
			
	function askAccept(id)
	{
		var element = document.getElementById(id);
		element.innerHTML="<a href='javascript:accept(\"yes\",\""+id+"\")'>yes<\/a> | <a href='javascript:accept(\"maybe\",\""+id+"\")'>maybe<\/a> | <a href='javascript:accept(\"no\",\""+id+"\")'>no<\/a>";
	}
			
	
	
	function accept(ans, sitid)
	{
		var disAns='Open / Accept';
		var by = '';
		var ansClass='';
		if (ans == 'yes')
		{
			disAns = 'Filled';
			by = 'by ' + displayName;
			ansClass='filled';
		}
		else if (ans == 'no')
		{
			disAns = 'No';
			ansClass='no';
			by = 'by ' + displayName;
		}
		else
		{
			disAns = 'Maybe';
			by = 'by ' + displayName;
			ansClass='maybe';
		}

		var element = document.getElementById(sitid);
			
		element.innerHTML = "<a class='"+ansClass+"' href='javascript:askAccept(\"" + sitid + "\")'>" +
									disAns + "<\/a> " + by;
	
		objectCallback.success=AjaxObject.handleSuccessShowMsg;
		objectCallback.argument={ msg:'Thanks for your response'}
		AjaxObject.getRest('secure/baby', 'respondToSit', 'sid='+sitid+'&resp='+ans);
	}
	
	function login(user, pass, callback)
	{
        var url = '/springapp/secure/j_ajax_acegi_security_check?j_username='+user+
                    '&j_password='+pass+'&_acegi_security_remember_me=1';
      	objectCallback.success=callback;
      	AjaxObject.getUrl(url);	
	}
			
	var AjaxObject = { 
	 
		/* Please see the Success Case section for more
		 * details on the response object's properties.
		 * o.tId
		 * o.status
		 * o.statusText
		 * o.getResponseHeader[ ]
		 * o.getAllResponseHeaders
		 * o.responseText
		 * o.responseXML
		 * o.argument
		 */ 	 
	    handleSuccess:function(o)
	    { 
	        // This member handles the success response 
	        // and passes the response object o to AjaxObject's 
	        // processResult member. 
	        alert('default handler for success ' + o.responseText);
	    }, 
	 
	 	handleSuccessShowMsg:function(o)
	 	{
	 		var msg;
	 		if (o.responseText.indexOf('error:') != -1)
	 		{
	 			msg=o.responseText;
	 		}
	 		else
	 		{
	 			msg = o.argument.msg;
	 		}
 			document.getElementById('coopmsg').innerHTML=msg;
	 	},
	 	
	 	handleSuccessDoNothing:function(o)
	 	{
	 	},
	 	
	    handleFailure:function(o)
	    { 
	        alert('Server call Failed -- ajax problems: ' + o.statusText);
	    }, 
	 
	    concatUri:function(uriTerm, method, parms)
	    {
	 		var baseUri='/springapp/rest';	    
	 		
	    	url = baseUri+'/'+uriTerm+'?method='+method;
	    	if ((parms != undefined) && (parms.length > 0))
	    	{
	    		url += '&'+parms;
	    	}

			// this prevents ie from caching calls - I hate ie
			var d = new Date();
			url += "&ts="+d.getTime();
				    
	    	return url;
	    },
	    
	    getUrl:function(url)
	    { 
			// this prevents ie from caching calls - ie sucks
			var d = new Date();
			url += "&ts="+d.getTime();
	    
			YAHOO.util.Connect.asyncRequest('GET', url,	objectCallback);
	    },

	    getRest:function(uriTerm, method, parms)
	    {
	    	var url = this.concatUri(uriTerm, method, parms);
			YAHOO.util.Connect.asyncRequest('GET', url, objectCallback);
	    },
	    
	    postRest:function(uriTerm, method, parms)
	    {
	    	var url = this.concatUri(uriTerm, method,  parms);
			YAHOO.util.Connect.asyncRequest('POST', url, objectCallback);
	    },

	    postRest:function(uriTerm, method, parms, data)
	    {
	    	var url = this.concatUri(uriTerm, method, parms);
			YAHOO.util.Connect.asyncRequest('POST', url, objectCallback, data);
	    }
	    
	 
	}; 
	 
	var objectCallback = 
	{ 
	    success:AjaxObject.handleSuccess, 
	    failure:AjaxObject.handleFailure, 
	    argument: { what:'default'},
	    scope: AjaxObject 
	}; 
	
