<?xml version="1.0" encoding="UTF-8" ?>
<Module>
<ModulePrefs title="Charity Meter" scrolling="true" description="Charity Meter" author="Yannick Smits" author_email="yannick@goyaweb.nl" screenshot="http://charitymeter.goyaweb.nl/imgs/screenshot.jpg" thumbnail="http://charitymeter.goyaweb.nl/imgs/thumb.jpg" >
	<Require feature="opensocial-0.7"/>
	<Require feature="dynamic-height"/>
	<Locale lang="en" />
</ModulePrefs>
  <Content type="html" view="canvas">
	<![CDATA[
      <script language="JavaScript">
        var donations__MODULE_ID__;
		var owner;
		var viewer;
		var viewer_friends;
		var container;
		var details;
		var url;

		gadgets.util.registerOnLoadHandler(init);

		document.onclick=check; 

		function check(e)
		{
			var target = (e && e.target) || (event && event.srcElement);
			if(target.id.match("inviteLink"))
				return;
			var obj = document.getElementById('InviteDiv__MODULE_ID__'); 
			checkParent(target)?obj.style.display='none':null;
		} 

		function checkParent(t)
		{ 
			while(t.parentNode)
			{ 
				if(t==document.getElementById('InviteDiv__MODULE_ID__'))
				{ 
					return false 
				} 
				t=t.parentNode 
			} 
			return true 
		} 

		function init() 
		{
			container = getUrlParam('parent');
			request();
		}

		function getUrlParam( name )
		{  
			name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");  
			var regexS = "[\\?&]"+name+"=([^&#]*)";  
			var regex = new RegExp( regexS );  
			var results = regex.exec( window.location.href );  
			if( results == null )    
				return "";  
			else    
				return results[1];
		}

        function saveDonations__MODULE_ID__()
		{
			var reqSave = opensocial.newDataRequest();
			if(opensocial.DataRequest.PersonId)
			{
				reqSave.add(reqSave.newUpdatePersonAppDataRequest(opensocial.DataRequest.PersonId.VIEWER, 'donations', gadgets.json.stringify(donations__MODULE_ID__)), "updatedonations");
			}
			else
			{
				reqSave.add(reqSave.newUpdatePersonAppDataRequest(opensocial.IdSpec.PersonId.VIEWER, 'donations', gadgets.json.stringify(donations__MODULE_ID__)), "updatedonations");
			}

			reqSave.send(response2);		
		}

		function response2(data) 
		{
			if (!data.hadError()) 
			{
				createTable__MODULE_ID__();
				showSearchDiv__MODULE_ID__();
				document.getElementById("resultSpan__MODULE_ID__").innerHTML = "";
				document.getElementById("resultDiv__MODULE_ID__").style.display = "none";
				document.getElementById("searchInput__MODULE_ID__").value = "";
				document.getElementById("charityInput__MODULE_ID__").value = "";
				document.getElementById("websiteInput__MODULE_ID__").value = "";
				document.getElementById("amountInput__MODULE_ID__").value = "";
				document.getElementById("currencySelect__MODULE_ID__").selectedIndex = 0;
	
				if(!container.match("facebook") && !container.match("opensocket"))
				{
					gadgets.window.adjustHeight();
				}
			} 
		}

		function addCharity__MODULE_ID__()
		{
			title = document.getElementById("charityInput__MODULE_ID__").value;
			url = document.getElementById("websiteInput__MODULE_ID__").value;

			if(title == "" || url == "")
			{
				alert("Input incomplete");
				return;
			}

			document.getElementById("titleSpan__MODULE_ID__").innerHTML = title;
			document.getElementById("urlHdn__MODULE_ID__").value = url;

			showNewDonationDiv__MODULE_ID__();
		}

		function selectCharity__MODULE_ID__(titleLink, urlLink)
		{			
			document.getElementById("titleSpan__MODULE_ID__").innerHTML = document.getElementById(titleLink).innerHTML;
			document.getElementById("urlHdn__MODULE_ID__").value = document.getElementById(urlLink).href;

			showNewDonationDiv__MODULE_ID__();
		}

		function addDonation__MODULE_ID__() 
		{
			var project, project_url, currency, amount;

			project = document.getElementById("titleSpan__MODULE_ID__").innerHTML;
			project_url = document.getElementById("urlHdn__MODULE_ID__").value;
			currency = document.getElementById("currencySelect__MODULE_ID__").value;
			amount = document.getElementById("amountInput__MODULE_ID__").value;

			if (project == "" || project_url == "" || amount == "")
			{
				alert("Input incomplete");
				return;
			}
			donations__MODULE_ID__.array[numDonations__MODULE_ID__()] = {"project": project, "project_url": project_url, "currency": currency, "amount": amount};
			saveDonations__MODULE_ID__();
			return false;
        }

        function deleteDonation__MODULE_ID__(number) 
		{
          var beginning = donations__MODULE_ID__.array.slice(0, number);
          var end = donations__MODULE_ID__.array.slice(number + 1, numDonations__MODULE_ID__());
          donations__MODULE_ID__.array = beginning.concat(end);
          saveDonations__MODULE_ID__();
        }


        function createTable__MODULE_ID__() 
		{
		  var html = "<table id=donationsTable__MODULE_ID__ cellspacing=1px>";
          for (i = 0; i < numDonations__MODULE_ID__(); i++) {
            if (donations__MODULE_ID__.array[i] == null)
              break;
            var project = donations__MODULE_ID__.array[i].project;
            var project_url = donations__MODULE_ID__.array[i].project_url;
			var currency = donations__MODULE_ID__.array[i].currency;
            var amount = donations__MODULE_ID__.array[i].amount;

			html = html + createRow__MODULE_ID__(i, project, project_url, currency, amount);
          }
          html = html + "</table>";
          document.getElementById("donationsDiv__MODULE_ID__").innerHTML = html;

			if(!container.match("facebook") && !container.match("opensocket"))
			{
				gadgets.window.adjustHeight();
			}
        }

        function createRow__MODULE_ID__(number, project, project_url, currency, amount) 
		{
			var donar = owner.getDisplayName();
			donar = donar.substring(0, donar.indexOf(" "));
			if(currency == "euro")
			{
				currency = "&#8364;";
			}
			var html = "<tr>" +
              "<td class=amount><nobr>" + currency + " " + amount + "</nobr></td>" +
              "<td class=details><span id=details__MODULE_ID__" + number + ">" + gadgets.util.escapeString(project) + "</span><input TYPE=hidden id=url__MODULE_ID__" + number + " value='" + project_url + "'>";
			if(viewer.getId() == owner.getId())
			{
				if(container.match("hyves"))
				{
					html = html + "&nbsp;&nbsp;&nbsp;&nbsp;<a href=\"javascript:deleteDonation__MODULE_ID__(" + number + ")\">delete</a>" + 
					"<br /><a id=inviteLink__MODULE_ID__" + number + " href=# onclick=\"selectFriend__MODULE_ID__(this,'details__MODULE_ID__" + number + "','url__MODULE_ID__" + number + "')\">Invite friends</a><span class=donate> to donate</span>";
				}
				else
				{
					html = html + "&nbsp;&nbsp;&nbsp;&nbsp;<a href=\"javascript:deleteDonation__MODULE_ID__(" + number + ")\">delete</a>" + 
					"<br /><a href=\"javascript:invite__MODULE_ID__('details__MODULE_ID__" + number + "','url__MODULE_ID__" + number + "')\">Invite friends</a><span class=donate> to donate</span>";
				}
			}
			if(viewer.getId() != owner.getId())
			{
			  html = html  + "<br /><span>Join " + donar + " and </span><a href=\"" + gadgets.util.escapeString(project_url) + "\" target=_blank>donate too</a>";
			}			  
			html = html  + "</td>";
            html = html + "</tr>";

			return html;
        }

		function selectFriend__MODULE_ID__(inviteLink,detailsSpan,urlHdn)
		{
			details = document.getElementById(detailsSpan).innerHTML;
			url = document.getElementById(urlHdn).value;

			var el = document.getElementById("InviteDiv__MODULE_ID__");
			el.style.display = "block";
			el.style.left=zxcPos(inviteLink)[0]+'px';
			el.style.top=zxcPos(inviteLink)[1]+'px';
		}

		function zxcPos(obj)
		{
			var rtn=[obj.offsetLeft,obj.offsetTop];
			while(obj.offsetParent!=null)
			{
				var objp=obj.offsetParent;
				rtn[0]+=objp.offsetLeft-objp.scrollLeft;
				rtn[1]+=objp.offsetTop-objp.scrollTop;
				obj=objp;
			}
			return rtn;
		}

		function invite__MODULE_ID__Hyves()
		{
			document.getElementById("InviteDiv__MODULE_ID__").style.display = "none";

			var params = {};
			params[opensocial.Message.Field.TITLE] = "Please donate";
			var message = opensocial.newMessage("I made a donation to “" + details + "”. Please have a look at the cause at " + url + " and if you like it as much as I do donate too!", params);		

			var recipients = new Array();

			var friendsList = document.getElementById("FriendsList__MODULE_ID__");

			var j = 0;

			for (i = 0; i < friendsList.childNodes.length; i++) 
			{
				if(friendsList.childNodes[i].childNodes[0].checked)
				{
					recipients[j] = friendsList.childNodes[i].childNodes[0].value;
					j = j + 1;
				}
			}

			opensocial.requestSendMessage(recipients, message, callback__MODULE_ID__Hyves);
		}

		function callback__MODULE_ID__Hyves(resp)
		{
			var result = resp.getData();
		}

		function invite__MODULE_ID__(detailsSpan,urlHdn)
		{
			details = document.getElementById(detailsSpan).innerHTML;
			url = document.getElementById(urlHdn).value;

			var params = {};
			params[opensocial.Message.Field.TYPE] = opensocial.Message.Type.EMAIL;
			params[opensocial.Message.Field.TITLE] = "Please donate";
			var message = opensocial.newMessage("I made a donation to “" + details + "”. Please have a look at the cause at " + url + " and if you like it as much as I do donate too!", params);		

			opensocial.requestSendMessage("VIEWER_FRIENDS", message, callback__MODULE_ID__);
		}
		
		function callback__MODULE_ID__(resp)
		{
			if (resp.hadError())
			{      
				alert('There was an error!\nError code: '+resp.errorCode_+'\nError message: '+resp.errorMessage_);   
			} 
		}

		function numDonations__MODULE_ID__() 
		{
          return donations__MODULE_ID__.array.length;
        }
		
		function showSearchDiv__MODULE_ID__()
		{
			  document.getElementById("searchDiv__MODULE_ID__").style.display = "block";
			  document.getElementById("charityDiv__MODULE_ID__").style.display = "none";
			  document.getElementById("newDonationDiv__MODULE_ID__").style.display = "none";

				if(!container.match("facebook") && !container.match("opensocket"))
				{
					gadgets.window.adjustHeight();
				}
		}

		function showCharityDiv__MODULE_ID__()
		{
			  document.getElementById("charityDiv__MODULE_ID__").style.display = "block";
			  document.getElementById("searchDiv__MODULE_ID__").style.display = "none";
			  document.getElementById("newDonationDiv__MODULE_ID__").style.display = "none";

				if(!container.match("facebook") && !container.match("opensocket"))
				{
					gadgets.window.adjustHeight();
				}
		}

		function showNewDonationDiv__MODULE_ID__()
		{
			  document.getElementById("newDonationDiv__MODULE_ID__").style.display = "block";
			  document.getElementById("charityDiv__MODULE_ID__").style.display = "none";
			  document.getElementById("searchDiv__MODULE_ID__").style.display = "none";

				if(!container.match("facebook") && !container.match("opensocket"))
				{
					gadgets.window.adjustHeight();
				}
		}
		
		function showAdmin__MODULE_ID__()
		{
			  document.getElementById("adminDiv__MODULE_ID__").style.display = "block";
			  document.getElementById("editWidgetLink__MODULE_ID__").style.display = "none";

				if(!container.match("facebook") && !container.match("opensocket"))
				{
					gadgets.window.adjustHeight();
				}		
		}
	
		function makeCachedRequest(url, callback, params, refreshInterval) 
		{  
			var ts = new Date().getTime();  
			var sep = "?";  
			if (refreshInterval && refreshInterval > 0) 
			{    
				ts = Math.floor(ts / (refreshInterval * 1000));  
			}  
			if (url.indexOf("?") > -1) 
			{    
				sep = "&";  
			}  
			url = [ url, sep, "nocache=", ts ].join("");  
			gadgets.io.makeRequest(url, callback, params);
		}

		function searchCause__MODULE_ID__()
		{
			document.getElementById("searchButton__MODULE_ID__").style.display = "none";
			document.getElementById("resultDiv__MODULE_ID__").style.display = "none";
			document.getElementById("resultSpan__MODULE_ID__").innerHTML= "Searching...";

			var search = document.getElementById("searchInput__MODULE_ID__").value;
			var params = {};  
			params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.JSON;  
		    var url = "http://search.socialactions.com/actions.json?q=" + gadgets.util.escapeString(search.replace(/ /g,"%20")) + "&limit=15&exclude_action_types=8";
			makeCachedRequest(url, responseSocialActions, params, 0);

				if(!container.match("facebook") && !container.match("opensocket"))
				{
					gadgets.window.adjustHeight();
				}		
		}

		function responseSocialActions(obj) 
		{		
			var causes = obj.data;        
		
			var resultDiv = document.getElementById("resultDiv__MODULE_ID__");
			resultDiv.innerHTML = "";

			if (causes) 
			{				
				document.getElementById("resultSpan__MODULE_ID__").innerHTML = causes.length + " Results found:";
				document.getElementById("searchButton__MODULE_ID__").style.display = "inline";
				document.getElementById("resultDiv__MODULE_ID__").style.display = "block";

				var html = "<ul>";							

				for (i = 0; i < causes.length; i++) 
				{			
					if (causes[i] == null)
					  break;
				
					html += "<li><a id=\"result" + i + "__MODULE_ID__\" href=\"javascript:selectCharity__MODULE_ID__('result" + i + "__MODULE_ID__', 'visit" + i + "__MODULE_ID__')\" class=gray>" + gadgets.util.escapeString(causes[i].title) + "</a>&nbsp;&nbsp;<a id=\"visit" + i + "__MODULE_ID__\" href=\"" + gadgets.util.escapeString(causes[i].url) + "\" target=_blank>visit</a></li>";
				}

				html += "</ul>";
				
				resultDiv.innerHTML = html;
			}
			else
			{
				document.getElementById("resultSpan__MODULE_ID__").innerHTML = "Search timed out.";
				document.getElementById("searchButton__MODULE_ID__").style.display = "inline";
			}

				if(!container.match("facebook") && !container.match("opensocket"))
				{
					gadgets.window.adjustHeight();
				}		
		}      

		function request() 
		{  
			var req = opensocial.newDataRequest();        
			if(opensocial.DataRequest.PersonId)
			{
				req.add(req.newFetchPersonRequest(opensocial.DataRequest.PersonId.OWNER), "owner");        
				req.add(req.newFetchPersonRequest(opensocial.DataRequest.PersonId.VIEWER), "viewer");        
				req.add(req.newFetchPersonAppDataRequest("OWNER", "donations"), 'data');			

				var params = {};
				params[opensocial.DataRequest.PeopleRequestFields.MAX] = 5000;
				params[opensocial.DataRequest.PeopleRequestFields.SORT_ORDER] = opensocial.DataRequest.SortOrder.NAME;
				req.add(req.newFetchPeopleRequest(opensocial.DataRequest.Group.VIEWER_FRIENDS, params), "viewer_friends");
			}
			else
			{
				req.add(req.newFetchPersonRequest(opensocial.IdSpec.PersonId.OWNER), "owner");        
				req.add(req.newFetchPersonRequest(opensocial.IdSpec.PersonId.VIEWER), "viewer");    
				var idspec = opensocial.newIdSpec({'userId':'OWNER'});			 
				req.add(req.newFetchPersonAppDataRequest(idspec, 'donations'), 'data');							

				var params = {};
				params[opensocial.DataRequest.PeopleRequestFields.MAX] = 5000;
				params[opensocial.DataRequest.PeopleRequestFields.SORT_ORDER] = opensocial.DataRequest.SortOrder.NAME;
				req.add(req.newFetchPeopleRequest("VIEWER_FRIENDS", params), "viewer_friends");		
			}
			req.send(response);      
		}

		function response(dataResponse) 
		{        
			owner = dataResponse.get('owner').getData();        
			viewer = dataResponse.get('viewer').getData();        

			viewer_friends = dataResponse.get("viewer_friends").getData();  

			if(container.match("hyves"))
			{
				var temp = "<ul id=FriendsList__MODULE_ID__>";
				viewer_friends.each(function(person) 
				{ 
					if (person.getId()) 
					{ 
						name = person.getField(opensocial.Person.Field.NAME).getField(opensocial.Name.Field.GIVEN_NAME);
						if(person.getField(opensocial.Person.Field.NAME).getField(opensocial.Name.Field.FAMILY_NAME) != null)
						{
							name += " " + person.getField(opensocial.Person.Field.NAME).getField(opensocial.Name.Field.FAMILY_NAME); 
						}
						temp += "<li><input type=checkbox value=" + person.getId() + " />" + name + "</li>";
					} 
				}); 
				temp += "</ul>";
								
				document.getElementById("FriendsDiv__MODULE_ID__").innerHTML = temp;
			}

			document.getElementById('usernameDiv__MODULE_ID__').innerHTML = owner.getDisplayName() + " donated:";      

			if(gadgets && gadgets.views && gadgets.views.getParams() && gadgets.views.getParams().ownerId)
			{
				if(gadgets.views.getParams().viewerId == gadgets.views.getParams().ownerId)
				{
					 showAdmin__MODULE_ID__();
				}
			}
			
			if(owner.getId())
			{
				if(viewer.getId() == owner.getId())
				{
					 showAdmin__MODULE_ID__();
				}
			}
	
			var donationsstring = null;
	
			var data = dataResponse.get('data');

			if (!data.hadError()) 
			{
				var donationData = data.getData();
				var ownerData;

				if(gadgets && gadgets.views && gadgets.views.getParams() && gadgets.views.getParams().ownerId)
				{
					ownerData = donationData[gadgets.views.getParams().ownerId];					
				}
				
				if(owner.getId())
				{
					ownerData = donationData[owner.getId()];					
				}

				if (ownerData) 
				{
					donationsstring = ownerData['donations'];
				}
			}
			else
			{
				alert("failure");
			}

		  if (!donationsstring || donationsstring == '{"array":[]}' || donationsstring == '{}') 
		  {
			donations__MODULE_ID__ = {"array":[]};
		  }
		  else
		  {
			  try 
			  {			
				donations__MODULE_ID__ = gadgets.json.parse(gadgets.util.unescapeString(donationsstring));
			  } 
			  catch (e) 
			  {
					donations__MODULE_ID__ = donationsstring;

					if(!donations__MODULE_ID__.array)
					{				  
						donations__MODULE_ID__ = {"array":[]};
					}
			  }
		  }

          createTable__MODULE_ID__();
		}      


      </script>

      <style type="text/css">
		#contentDiv__MODULE_ID__
		{
          font-family: arial;
		  font-size: 12px;
		  background-color:#ffffff;
		  padding:1px 1px 1px 1px;
		}
		#frontDiv__MODULE_ID__
		{
		  width:100%;
		  background-color:#ffffff;
		}
		#usernameDiv__MODULE_ID__
		{
		  font-size: 14px;
          font-weight: bold;
		  color:#FFFFFF;
		  background-color:#0f743b;
		  padding:3px 0 3px 15px;
		}
		#donationsDiv__MODULE_ID__
		{
		  background-color:#ffffff;
		}
		#adminDiv__MODULE_ID__
		{
		  font-size: 12px;
		  background-color:#ffffff;
		  padding:1px 1px 1px 15px;
		  display:none;
		}
		#titleDiv__MODULE_ID__
		{
			width:100%;
			color:#000000;
			font-family: arial;
			font-size: 14px;
            font-weight: bold;
			padding:15px 0 0 0;
		}
		#newdonationsTable__MODULE_ID__
		{
          margin:0;
          padding:0;
          width:95%;
          font-size: 12px;
        }		
		#donationsTable__MODULE_ID__
		{
			width:95%;
			margin:10px 0 0 15px; 
		}
		#donationsTable__MODULE_ID__ td
		{
			padding:0 0 10px 0; 
		}
		td.amount
		{
			width:10%;
			text-align:left;
			vertical-align:top;
			color:#0f743b;
			font-size: 12px;
			font-weight: bold;
		}
		td.details
		{
			width:90%;
			text-align:left;
			vertical-align:top;
			color:#000000;
			font-size: 12px;
			font-weight: bold;
		}
		td.details a
		{
			font-size: 12px;
			font-weight: normal;
		}
		td.details span.donate
		{
			color:#888889;
			font-size: 12px;
			font-weight: normal;
		}
		#searchTable__MODULE_ID__
		{
			width:95%;
			margin:10px 0 0 0; 
		}
		#searchTable__MODULE_ID__ td
		{
			color:#646262;
			font-size: 12px;
			font-weight: normal;			
			text-align: left;
		}
		#resultSpan__MODULE_ID__
		{
			font-size: 12px;
			font-weight: bold;			
		}
		#resultDiv__MODULE_ID__
		{
			width:100%;
			height:150px;
			overflow-y:scroll;
			display:none;
		}
		#resultDiv__MODULE_ID__ ul
		{
			margin-left: 0px;
			padding-left: 0px;
			margin-top: 5px;
		}
		#resultDiv__MODULE_ID__ ul li
		{
			list-style-type:none;
			padding:5px 0 0 0;
		}
		#resultDiv__MODULE_ID__ ul li a.gray
		{
			color:#646262;
			font-size: 12px;
			font-weight: bold;			
			text-align: left;
		}
		#charityTable__MODULE_ID__
		{
			width:95%;
			margin:10px 0 0 0; 
		}
		#charityTable__MODULE_ID__ td
		{
			color:#646262;
			font-size: 12px;
			font-weight: normal;			
			text-align: left;
		}
		#newdonationsTable__MODULE_ID__
		{
			width:95%;
			margin:10px 0 0 0; 
		}
		#newdonationsTable__MODULE_ID__ td
		{
			color:#646262;
			font-size: 12px;
			font-weight: normal;			
			text-align: left;
		}
		#titleSpan__MODULE_ID__
		{
			color:#000000;
			font-size: 12px;
			font-weight: bold;			
			text-align: left;
		}
		#editWidgetLink__MODULE_ID__
		{
			color:#646262;
			font-size: 12px;
			font-weight: normal;
			display:none;
		}
		#footerTable__MODULE_ID__
		{
			background-color:#ffffff;
			color:#646262;
			font-size: 12px;
			font-weight: normal;
		}
		#charityDiv__MODULE_ID__
		{
			display:none;
		}
		#newDonationDiv__MODULE_ID__
		{
			display:none;
		}
		#InviteDiv__MODULE_ID__
		{
			position:absolute;
			display:none;
			border:1px solid #000000;
		}
		#FriendsDiv__MODULE_ID__
		{
			background-color:#ffffff;
			overflow-y:scroll;
			color:#646262;
			width:200px;
			height:125px;
			font-size: 12px;
			font-weight: bold;			
			text-align: left;
		}
		#FriendsDiv__MODULE_ID__ ul
		{
			margin-left: 0px;
			padding-left: 0px;
		}
		#FriendsDiv__MODULE_ID__ ul li
		{
			list-style-type:none;
		}
		#InviteBtnDiv__MODULE_ID__
		{
			text-align: center;
			background-color: gray;
		}
	  </style>

      <form name="newDonationForm__MODULE_ID__">

		<div id="InviteDiv__MODULE_ID__">
			<div id="FriendsDiv__MODULE_ID__"></div>
			<div id="InviteBtnDiv__MODULE_ID__">
				<input type="button" onclick="invite__MODULE_ID__Hyves()" value="Invite" />
			</div>
		</div>

		  <div id="contentDiv__MODULE_ID__">
			  <div id="frontDiv__MODULE_ID__">
				  <div id="usernameDiv__MODULE_ID__"></div>
				  
				  <div id="donationsDiv__MODULE_ID__">
				  </div>
			  </div>

			  <div id="adminDiv__MODULE_ID__">
				  <div id="titleDiv__MODULE_ID__">Add your donation</div>

				  <div id="searchDiv__MODULE_ID__">					
					<table id="searchTable__MODULE_ID__" cellspacing=0>
						<tr>
							<td colspan="2">Charity:</td>
						</tr>
						<tr valign="top">
							<td width="20%">
								<input id="searchInput__MODULE_ID__" type="text"><br /><br />
								<input id="searchButton__MODULE_ID__" type="button" value="Find charity" onclick="searchCause__MODULE_ID__()">
							</td>
							<td>
							Search for the charity you've donated to and select the charity from the list of results. After the selection you can enter the amount you have donated.<br />Can't find your charity? <a href="javascript:showCharityDiv__MODULE_ID__()">Add the charity and website</a>.
							</td>
						</tr>
					</table><br />
					
					<span id="resultSpan__MODULE_ID__"></span>
					
					<div id="resultDiv__MODULE_ID__">
					</div>
				  </div>

				  <div id="charityDiv__MODULE_ID__">					
					<table id="charityTable__MODULE_ID__" cellspacing=0>
						<tr>
							<td colspan="2">Name charity:</td>
						</tr>
						<tr valign="top">
							<td width="20%">
								<input id="charityInput__MODULE_ID__" type="text">
							</td>
							<td rowspan="4">
							Add the charity by entering its name and website.<br />Or <a href="javascript:showSearchDiv__MODULE_ID__()">cancel</a> adding this charity.
							</td>
						</tr>
						<tr valign="top">
							<td>Website charity:</td>
						</tr>
						<tr valign="top">
							<td>
								<input id="websiteInput__MODULE_ID__" type="text"><br />
							</td>
						</tr>
						<tr valign="top">
							<td>
								<input id="charityButton__MODULE_ID__" type="button" value="Add charity" onclick="return addCharity__MODULE_ID__()">
							</td>
						</tr>
					</table>
				  </div>

				  <div id="newDonationDiv__MODULE_ID__">					
					<table id="newdonationsTable__MODULE_ID__" cellspacing=0>
						<tr>
							<td colspan="2">I made a donation to:</td>
						</tr>
						<tr>
							<td colspan="2"><span id="titleSpan__MODULE_ID__"></span>&nbsp;&nbsp;&nbsp;<a href="javascript:showSearchDiv__MODULE_ID__()">Change</a><input id="urlHdn__MODULE_ID__" type="hidden"></td>
						</tr>
						<tr>
							<td colspan="2">Amount:</td>
						</tr>					
						<tr valign="top">
							<td width="20%">
								<select id="currencySelect__MODULE_ID__"><option value="euro">&#8364;</option><option value="$">$</option></select>&nbsp;<input id="amountInput__MODULE_ID__" type="text" size="6">
							</td>
							<td rowspan="2">
							Please select the currency and enter the amount you have donated to the selected charity.
							</td>
						</tr>
						<tr valign="top">
							<td>
								<input id="newDonationBtn__MODULE_ID__" type="button" value="Add donation" onclick="return addDonation__MODULE_ID__()">
							</td>
						</tr>
					</table>
				  </div>			  
			  </div>
				<br />
			  <table id="footerTable__MODULE_ID__" cellspacing=0 width="100%">
				  <tr valign=top>
					<td>
					  Powered by:<br />
					  <img src="http://charitymeter.goyaweb.nl/new_sa_logo_small.png" width="143px" height="38px" border="0" />
					</td>
					<td align=right><a id="editWidgetLink__MODULE_ID__" href="javascript:showAdmin__MODULE_ID__()">Edit widget</a></td>
				  </tr>
			  </table>
		  </div>
      </form>

	  <!-- ALm6fM1M9_53G2Zc_U4EmTnKeUTWLJEVxD_FRzPZGYGsh0xoFCQPqHAhZPH85i_qXj2wmOhEVc0X2m6ZDhSRW9aFktjqs-69Ak3EZcvZLNelX65E8jiofQ1lWXFcm0Dtv_vj0Ocm6MDQ -->
    ]]>
  </Content>

  <Content type="html" view="home">
	<![CDATA[
      <script language="JavaScript">
        var donations__MODULE_ID__;
		var owner;
		var viewer_friends;
		var container;
		var details;
		var url;

		gadgets.util.registerOnLoadHandler(init);

		document.onclick=check; 

		function check(e)
		{
			var target = (e && e.target) || (event && event.srcElement);
			if(target.id.match("inviteLink"))
				return;
			var obj = document.getElementById('InviteDiv__MODULE_ID__'); 
			checkParent(target)?obj.style.display='none':null;
		} 

		function checkParent(t)
		{ 
			while(t.parentNode)
			{ 
				if(t==document.getElementById('InviteDiv__MODULE_ID__'))
				{ 
					return false 
				} 
				t=t.parentNode 
			} 
			return true 
		} 

		function init() 
		{
			container = getUrlParam('parent');
			request();
		}

		function getUrlParam( name )
		{  
			name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");  
			var regexS = "[\\?&]"+name+"=([^&#]*)";  
			var regex = new RegExp( regexS );  
			var results = regex.exec( window.location.href );  
			if( results == null )    
				return "";  
			else    
				return results[1];
		}

        function createTable__MODULE_ID__() 
		{
		  var html = "<table id=donationsTable__MODULE_ID__ cellspacing=1px>";
          for (i = 0; i < numDonations__MODULE_ID__(); i++) {
            if (donations__MODULE_ID__.array[i] == null)
              break;
            var project = donations__MODULE_ID__.array[i].project;
            var project_url = donations__MODULE_ID__.array[i].project_url;
			var currency = donations__MODULE_ID__.array[i].currency;
            var amount = donations__MODULE_ID__.array[i].amount;

			html = html + createRow__MODULE_ID__(i, project, project_url, currency, amount);
          }
          html = html + "</table>";
          document.getElementById("donationsDiv__MODULE_ID__").innerHTML = html;

				if(!container.match("facebook") && !container.match("opensocket"))
				{
					gadgets.window.adjustHeight();
				}		
		}

        function createRow__MODULE_ID__(number, project, project_url, currency, amount) 
		{
			var donar = owner.getDisplayName();
			donar = donar.substring(0, donar.indexOf(" "));
			if(currency == "euro")
			{
				currency = "&#8364;";
			}
			var html = "<tr>" +
			"<td class=amount><nobr>" + currency + " " + amount + "</nobr></td>" +
			"<td class=details><span id=details__MODULE_ID__" + number + ">" + gadgets.util.escapeString(project) + "</span><input TYPE=hidden id=url__MODULE_ID__" + number + " value='" + project_url + "'>";

			if(container.match("hyves"))
			{
				html = html + "<br /><a href=# onclick=\"selectFriend__MODULE_ID__(this,'details__MODULE_ID__" + number + "','url__MODULE_ID__" + number + "')\">Invite friends</a><span class=donate> to donate</span>";
			}
			else
			{
				html = html + "<br /><a href=\"javascript:invite__MODULE_ID__('details__MODULE_ID__" + number + "','url__MODULE_ID__" + number + "')\">Invite friends</a><span class=donate> to donate</span>";
			}
			
			html = html  + "</td></tr>";

			return html;
        }

		function selectFriend__MODULE_ID__(inviteLink,detailsSpan,urlHdn)
		{
			details = document.getElementById(detailsSpan).innerHTML;
			url = document.getElementById(urlHdn).value;

			var el = document.getElementById("InviteDiv__MODULE_ID__");
			el.style.display = "block";
			el.style.left=zxcPos(inviteLink)[0]+'px';
			el.style.top=zxcPos(inviteLink)[1]+'px';
		}

		function zxcPos(obj)
		{
			var rtn=[obj.offsetLeft,obj.offsetTop];
			while(obj.offsetParent!=null)
			{
				var objp=obj.offsetParent;
				rtn[0]+=objp.offsetLeft-objp.scrollLeft;
				rtn[1]+=objp.offsetTop-objp.scrollTop;
				obj=objp;
			}
			return rtn;
		}

		function invite__MODULE_ID__Hyves()
		{
			document.getElementById("InviteDiv__MODULE_ID__").style.display = "none";

			var params = {};
			params[opensocial.Message.Field.TITLE] = "Please donate";
			var message = opensocial.newMessage("I made a donation to “" + details + "”. Please have a look at the cause at " + url + " and if you like it as much as I do donate too!", params);		

			var recipients = new Array();

			var friendsList = document.getElementById("FriendsList__MODULE_ID__");

			var j = 0;

			for (i = 0; i < friendsList.childNodes.length; i++) 
			{
				if(friendsList.childNodes[i].childNodes[0].checked)
				{
					recipients[j] = friendsList.childNodes[i].childNodes[0].value;
					j = j + 1;
				}
			}

			opensocial.requestSendMessage(recipients, message, callback__MODULE_ID__Hyves);
		}

		function callback__MODULE_ID__Hyves(resp)
		{
			var result = resp.getData();
		}

		function invite__MODULE_ID__(detailsSpan,urlHdn)
		{
			details = document.getElementById(detailsSpan).innerHTML;
			url = document.getElementById(urlHdn).value;

			var params = {};
			params[opensocial.Message.Field.TYPE] = opensocial.Message.Type.EMAIL;
			params[opensocial.Message.Field.TITLE] = "Please donate";
			var message = opensocial.newMessage("I made a donation to “" + details + "”. Please have a look at the cause at " + url + " and if you like it as much as I do donate too!", params);		

			opensocial.requestSendMessage("VIEWER_FRIENDS", message, callback__MODULE_ID__);
		}
		
		function callback__MODULE_ID__(resp)
		{
			if (resp.hadError())
			{      
				alert('There was an error!\nError code: '+resp.errorCode_+'\nError message: '+resp.errorMessage_);   
			} 
			else 
			{      
				// handle successful send message logic here.   
			}
		}

		function numDonations__MODULE_ID__() 
		{
          return donations__MODULE_ID__.array.length;
        }	

		function request() 
		{  
			var req = opensocial.newDataRequest();        
			if(opensocial.DataRequest.PersonId)
			{
				req.add(req.newFetchPersonRequest(opensocial.DataRequest.PersonId.OWNER), "owner");        
				req.add(req.newFetchPersonAppDataRequest("OWNER", "donations"), 'data');			

				var params = {};
				params[opensocial.DataRequest.PeopleRequestFields.MAX] = 5000;
				params[opensocial.DataRequest.PeopleRequestFields.SORT_ORDER] = opensocial.DataRequest.SortOrder.NAME;
				req.add(req.newFetchPeopleRequest(opensocial.DataRequest.Group.VIEWER_FRIENDS, params), "viewer_friends");
			}
			else
			{
				req.add(req.newFetchPersonRequest(opensocial.IdSpec.PersonId.OWNER), "owner");        
				var idspec = opensocial.newIdSpec({'userId':'OWNER'});			 
				req.add(req.newFetchPersonAppDataRequest(idspec, 'donations'), 'data');							

				var params = {};
				params[opensocial.DataRequest.PeopleRequestFields.MAX] = 5000;
				params[opensocial.DataRequest.PeopleRequestFields.SORT_ORDER] = opensocial.DataRequest.SortOrder.NAME;
				req.add(req.newFetchPeopleRequest("VIEWER_FRIENDS", params), "viewer_friends");		
			}
			req.send(response);      
		}
	
		function response(dataResponse) 
		{        
			owner = dataResponse.get('owner').getData();        

			document.getElementById('usernameDiv__MODULE_ID__').innerHTML = owner.getDisplayName() + " donated:";      

			viewer_friends = dataResponse.get("viewer_friends").getData();  

			if(container.match("hyves"))
			{
				var temp = "<ul id=FriendsList__MODULE_ID__>";
				viewer_friends.each(function(person) 
				{ 
					if (person.getId()) 
					{ 
						name = person.getField(opensocial.Person.Field.NAME).getField(opensocial.Name.Field.GIVEN_NAME);
						if(person.getField(opensocial.Person.Field.NAME).getField(opensocial.Name.Field.FAMILY_NAME) != null)
						{
							name += " " + person.getField(opensocial.Person.Field.NAME).getField(opensocial.Name.Field.FAMILY_NAME); 
						}
						temp += "<li><input type=checkbox value=" + person.getId() + " />" + name + "</li>";
					} 
				}); 
				temp += "</ul>";
								
				document.getElementById("FriendsDiv__MODULE_ID__").innerHTML = temp;
			}

			var donationsstring = null;
	
			var data = dataResponse.get('data');

			if (!data.hadError()) 
			{
				var donationData = data.getData();
				var ownerData;

				if(gadgets && gadgets.views && gadgets.views.getParams() && gadgets.views.getParams().ownerId)
				{
					ownerData = donationData[gadgets.views.getParams().ownerId];					
				}
				
				if(owner.getId())
				{
					ownerData = donationData[owner.getId()];					
				}
				
				if (ownerData) 
				{
					donationsstring = ownerData['donations'];
				}
			}
			else
			{
				alert("failure");
			}


		  if (!donationsstring || donationsstring == '{"array":[]}' || donationsstring == '{}') 
		  {
			donations__MODULE_ID__ = {"array":[]};
		  }
		  else
		  {
			  try 
			  {			
				donations__MODULE_ID__ = gadgets.json.parse(gadgets.util.unescapeString(donationsstring));
			  } 
			  catch (e) 
			  {
					donations__MODULE_ID__ = donationsstring;

					if(!donations__MODULE_ID__.array)
					{				  
						donations__MODULE_ID__ = {"array":[]};
					}
			  }
		  }

          createTable__MODULE_ID__();
		}      


      </script>

      <style type="text/css">
		#contentDiv__MODULE_ID__
		{
          font-family: arial;
		  font-size: 12px;
		  background-color:#ffffff;
		  padding:1px 1px 1px 1px;
		}
		#frontDiv__MODULE_ID__
		{
		  width:100%;
		  background-color:#ffffff;
		}
		#usernameDiv__MODULE_ID__
		{
		  font-size: 14px;
          font-weight: bold;
		  color:#FFFFFF;
		  background-color:#0f743b;
		  padding:3px 0 3px 15px;
		}
		#donationsDiv__MODULE_ID__
		{
		  background-color:#ffffff;
		}
		#donationsTable__MODULE_ID__
		{
			width:95%;
			margin:10px 0 0 15px; 
		}
		#donationsTable__MODULE_ID__ td
		{
			padding:0 0 10px 0; 
		}
		td.amount
		{
			width:10%;
			text-align:left;
			vertical-align:top;
			color:#0f743b;
			font-size: 12px;
			font-weight: bold;
		}
		td.details
		{
			width:90%;
			text-align:left;
			vertical-align:top;
			color:#000000;
			font-size: 12px;
			font-weight: bold;
		}
		td.details a
		{
			font-size: 12px;
			font-weight: normal;
		}
		td.details span.donate
		{
			color:#888889;
			font-size: 12px;
			font-weight: normal;
		}
		#footerTable__MODULE_ID__
		{
			background-color:#ffffff;
			color:#646262;
			font-size: 12px;
			font-weight: normal;
		}
		#InviteDiv__MODULE_ID__
		{
			position:absolute;
			display:none;
			border:1px solid #000000;
		}
		#FriendsDiv__MODULE_ID__
		{
			background-color:#ffffff;
			overflow-y:scroll;
			color:#646262;
			width:200px;
			height:125px;
			font-size: 12px;
			font-weight: bold;			
			text-align: left;
		}
		#FriendsDiv__MODULE_ID__ ul
		{
			margin-left: 0px;
			padding-left: 0px;
		}
		#FriendsDiv__MODULE_ID__ ul li
		{
			list-style-type:none;
		}
		#InviteBtnDiv__MODULE_ID__
		{
			text-align: center;
			background-color: gray;
		}
	  </style>

      <form name="newDonationForm__MODULE_ID__">

		<div id="InviteDiv__MODULE_ID__">
			<div id="FriendsDiv__MODULE_ID__"></div>
			<div id="InviteBtnDiv__MODULE_ID__">
				<input type="button" onclick="invite__MODULE_ID__Hyves()" value="Invite" />
			</div>
		</div>
		  
		  <div id="contentDiv__MODULE_ID__">
			  <div id="frontDiv__MODULE_ID__">
				  <div id="usernameDiv__MODULE_ID__"></div>
				  
				  <div id="donationsDiv__MODULE_ID__">
				  </div>
			  </div>
				<br />
			  <table id="footerTable__MODULE_ID__" cellspacing=0 width="100%">
				  <tr valign=top>
					<td>
					  Powered by:<br />
					  <img src="http://charitymeter.goyaweb.nl/new_sa_logo_small.png" width="143px" height="38px" border="0" />
					</td>					
				  </tr>
			  </table>
		  </div>
      </form>
	  <!-- ALm6fM1M9_53G2Zc_U4EmTnKeUTWLJEVxD_FRzPZGYGsh0xoFCQPqHAhZPH85i_qXj2wmOhEVc0X2m6ZDhSRW9aFktjqs-69Ak3EZcvZLNelX65E8jiofQ1lWXFcm0Dtv_vj0Ocm6MDQ -->
    ]]>
  </Content>

  <Content type="html" view="profile">
	<![CDATA[
      <script language="JavaScript">
        var donations__MODULE_ID__;
		var owner;
		var viewer;
		var viewer_friends;
		var container;
		var details;
		var url;

		gadgets.util.registerOnLoadHandler(init);

		document.onclick=check; 

		function check(e)
		{
			var target = (e && e.target) || (event && event.srcElement);
			if(target.id.match("inviteLink"))
				return;
			var obj = document.getElementById('InviteDiv__MODULE_ID__'); 
			checkParent(target)?obj.style.display='none':null;
		} 

		function checkParent(t)
		{ 
			while(t.parentNode)
			{ 
				if(t==document.getElementById('InviteDiv__MODULE_ID__'))
				{ 
					return false 
				} 
				t=t.parentNode 
			} 
			return true 
		} 

		function init() 
		{
			container = getUrlParam('parent');
			request();
		}

		function getUrlParam( name )
		{  
			name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");  
			var regexS = "[\\?&]"+name+"=([^&#]*)";  
			var regex = new RegExp( regexS );  
			var results = regex.exec( window.location.href );  
			if( results == null )    
				return "";  
			else    
				return results[1];
		}

        function createTable__MODULE_ID__() 
		{
		  var html = "<table id=donationsTable__MODULE_ID__ cellspacing=1px>";
          for (i = 0; i < numDonations__MODULE_ID__(); i++) {
            if (donations__MODULE_ID__.array[i] == null)
              break;
            var project = donations__MODULE_ID__.array[i].project;
            var project_url = donations__MODULE_ID__.array[i].project_url;
			var currency = donations__MODULE_ID__.array[i].currency;
            var amount = donations__MODULE_ID__.array[i].amount;

			html = html + createRow__MODULE_ID__(i, project, project_url, currency, amount);
          }
          html = html + "</table>";
          document.getElementById("donationsDiv__MODULE_ID__").innerHTML = html;

				if(!container.match("facebook") && !container.match("opensocket"))
				{
					gadgets.window.adjustHeight();
				}		
		}

        function createRow__MODULE_ID__(number, project, project_url, currency, amount) 
		{
			var donar = owner.getDisplayName();
			donar = donar.substring(0, donar.indexOf(" "));
			if(currency == "euro")
			{
				currency = "&#8364;";
			}
			var html = "<tr>" +
              "<td class=amount><nobr>" + currency + " " + amount + "</nobr></td>" +
              "<td class=details><span id=details__MODULE_ID__" + number + ">" + gadgets.util.escapeString(project) + "</span><input TYPE=hidden id=url__MODULE_ID__" + number + " value='" + project_url + "'>";
			if(viewer.getId() == owner.getId())
			{
				if(container.match("hyves"))
				{
					html = html + "&nbsp;&nbsp;&nbsp;&nbsp;<a href=\"javascript:deleteDonation__MODULE_ID__(" + number + ")\">delete</a>" + 
					"<br /><a href=# onclick=\"selectFriend__MODULE_ID__(this,'details__MODULE_ID__" + number + "','url__MODULE_ID__" + number + "')\">Invite friends</a><span class=donate> to donate</span>";
				}
				else
				{
					html = html + "&nbsp;&nbsp;&nbsp;&nbsp;<a href=\"javascript:deleteDonation__MODULE_ID__(" + number + ")\">delete</a>" + 
					"<br /><a href=\"javascript:invite__MODULE_ID__('details__MODULE_ID__" + number + "','url__MODULE_ID__" + number + "')\">Invite friends</a><span class=donate> to donate</span>";
				}
			}
			if(viewer.getId() != owner.getId())
			{
			  html = html  + "<br /><span>Join " + donar + " and </span><a href=\"" + gadgets.util.escapeString(project_url) + "\" target=_blank>donate too</a>";
			}			  
			html = html  + "</td>";
            html = html + "</tr>";

			return html;
        }

		function selectFriend__MODULE_ID__(inviteLink,detailsSpan,urlHdn)
		{
			details = document.getElementById(detailsSpan).innerHTML;
			url = document.getElementById(urlHdn).value;

			var el = document.getElementById("InviteDiv__MODULE_ID__");
			el.style.display = "block";
			el.style.left=zxcPos(inviteLink)[0]+'px';
			el.style.top=zxcPos(inviteLink)[1]+'px';
		}

		function zxcPos(obj)
		{
			var rtn=[obj.offsetLeft,obj.offsetTop];
			while(obj.offsetParent!=null)
			{
				var objp=obj.offsetParent;
				rtn[0]+=objp.offsetLeft-objp.scrollLeft;
				rtn[1]+=objp.offsetTop-objp.scrollTop;
				obj=objp;
			}
			return rtn;
		}

		function invite__MODULE_ID__Hyves()
		{
			document.getElementById("InviteDiv__MODULE_ID__").style.display = "none";

			var params = {};
			params[opensocial.Message.Field.TITLE] = "Please donate";
			var message = opensocial.newMessage("I made a donation to “" + details + "”. Please have a look at the cause at " + url + " and if you like it as much as I do donate too!", params);		

			var recipients = new Array();

			var friendsList = document.getElementById("FriendsList__MODULE_ID__");

			var j = 0;

			for (i = 0; i < friendsList.childNodes.length; i++) 
			{
				if(friendsList.childNodes[i].childNodes[0].checked)
				{
					recipients[j] = friendsList.childNodes[i].childNodes[0].value;
					j = j + 1;
				}
			}

			opensocial.requestSendMessage(recipients, message, callback__MODULE_ID__Hyves);
		}

		function callback__MODULE_ID__Hyves(resp)
		{
			var result = resp.getData();
		}

		function invite__MODULE_ID__(detailsSpan,urlHdn)
		{
			details = document.getElementById(detailsSpan).innerHTML;
			url = document.getElementById(urlHdn).value;

			var params = {};
			params[opensocial.Message.Field.TYPE] = opensocial.Message.Type.EMAIL;
			params[opensocial.Message.Field.TITLE] = "Please donate";
			var message = opensocial.newMessage("I made a donation to “" + details + "”. Please have a look at the cause at " + url + " and if you like it as much as I do donate too!", params);		

			opensocial.requestSendMessage("VIEWER_FRIENDS", message, callback__MODULE_ID__);
		}
		
		function callback__MODULE_ID__(resp)
		{
			if (resp.hadError())
			{      
				alert('There was an error!\nError code: '+resp.errorCode_+'\nError message: '+resp.errorMessage_);   
			} 
		}

		function numDonations__MODULE_ID__() 
		{
          return donations__MODULE_ID__.array.length;
        }	

		function request() 
		{  
			var req = opensocial.newDataRequest();        
			if(opensocial.DataRequest.PersonId)
			{
				req.add(req.newFetchPersonRequest(opensocial.DataRequest.PersonId.OWNER), "owner");        
				req.add(req.newFetchPersonRequest(opensocial.DataRequest.PersonId.VIEWER), "viewer");        
				req.add(req.newFetchPersonAppDataRequest("OWNER", "donations"), 'data');			

				var params = {};
				params[opensocial.DataRequest.PeopleRequestFields.MAX] = 5000;
				params[opensocial.DataRequest.PeopleRequestFields.SORT_ORDER] = opensocial.DataRequest.SortOrder.NAME;
				req.add(req.newFetchPeopleRequest(opensocial.DataRequest.Group.VIEWER_FRIENDS, params), "viewer_friends");
			}
			else
			{
				req.add(req.newFetchPersonRequest(opensocial.IdSpec.PersonId.OWNER), "owner");        
				req.add(req.newFetchPersonRequest(opensocial.IdSpec.PersonId.VIEWER), "viewer");    
				var idspec = opensocial.newIdSpec({'userId':'OWNER'});			 
				req.add(req.newFetchPersonAppDataRequest(idspec, 'donations'), 'data');							

				var params = {};
				params[opensocial.DataRequest.PeopleRequestFields.MAX] = 5000;
				params[opensocial.DataRequest.PeopleRequestFields.SORT_ORDER] = opensocial.DataRequest.SortOrder.NAME;
				req.add(req.newFetchPeopleRequest("VIEWER_FRIENDS", params), "viewer_friends");		
			}
			req.send(response);      
		}


		function response(dataResponse) 
		{        
			owner = dataResponse.get('owner').getData();        
			viewer = dataResponse.get('viewer').getData();        

			document.getElementById('usernameDiv__MODULE_ID__').innerHTML = owner.getDisplayName() + " donated:";      
	
			viewer_friends = dataResponse.get("viewer_friends").getData();  

			if(container.match("hyves"))
			{
				var temp = "<ul id=FriendsList__MODULE_ID__>";
				viewer_friends.each(function(person) 
				{ 
					if (person.getId()) 
					{ 
						name = person.getField(opensocial.Person.Field.NAME).getField(opensocial.Name.Field.GIVEN_NAME);
						if(person.getField(opensocial.Person.Field.NAME).getField(opensocial.Name.Field.FAMILY_NAME) != null)
						{
							name += " " + person.getField(opensocial.Person.Field.NAME).getField(opensocial.Name.Field.FAMILY_NAME); 
						}
						temp += "<li><input type=checkbox value=" + person.getId() + " />" + name + "</li>";
					} 
				}); 
				temp += "</ul>";
								
				document.getElementById("FriendsDiv__MODULE_ID__").innerHTML = temp;
			}

			var donationsstring = null;
	
			var data = dataResponse.get('data');

			if (!data.hadError()) 
			{
				var donationData = data.getData();
				var ownerData;

				if(gadgets && gadgets.views && gadgets.views.getParams() && gadgets.views.getParams().ownerId)
				{
					ownerData = donationData[gadgets.views.getParams().ownerId];					
				}
				
				if(owner.getId())
				{
					ownerData = donationData[owner.getId()];					
				}
				
				if (ownerData) 
				{
					donationsstring = ownerData['donations'];
				}
			}
			else
			{
				alert("failure");
			}


		  if (!donationsstring || donationsstring == '{"array":[]}' || donationsstring == '{}') 
			{
				donations__MODULE_ID__ = {"array":[]};
			}
			else
			{
			  try 
			  {			
				donations__MODULE_ID__ = gadgets.json.parse(gadgets.util.unescapeString(donationsstring));
			  } 
			  catch (e) 
			  {
					donations__MODULE_ID__ = donationsstring;

					if(!donations__MODULE_ID__.array)
					{				  
						donations__MODULE_ID__ = {"array":[]};
					}
			  }
			}

			createTable__MODULE_ID__();
		}      

      </script>

      <style type="text/css">
		#contentDiv__MODULE_ID__
		{
          font-family: arial;
		  font-size: 12px;
		  background-color:#ffffff;
		  padding:1px 1px 1px 1px;
		}
		#frontDiv__MODULE_ID__
		{
		  width:100%;
		  background-color:#ffffff;
		}
		#usernameDiv__MODULE_ID__
		{
		  font-size: 14px;
          font-weight: bold;
		  color:#FFFFFF;
		  background-color:#0f743b;
		  padding:3px 0 3px 15px;
		}
		#donationsDiv__MODULE_ID__
		{
		  background-color:#ffffff;
		}
		#donationsTable__MODULE_ID__
		{
			width:95%;
			margin:10px 0 0 15px; 
		}
		#donationsTable__MODULE_ID__ td
		{
			padding:0 0 10px 0; 
		}
		td.amount
		{
			width:10%;
			text-align:left;
			vertical-align:top;
			color:#0f743b;
			font-size: 12px;
			font-weight: bold;
		}
		td.details
		{
			width:90%;
			text-align:left;
			vertical-align:top;
			color:#000000;
			font-size: 12px;
			font-weight: bold;
		}
		td.details a
		{
			font-size: 12px;
			font-weight: normal;
		}
		td.details span.donate
		{
			color:#888889;
			font-size: 12px;
			font-weight: normal;
		}
		#footerTable__MODULE_ID__
		{
			background-color:#ffffff;
			color:#646262;
			font-size: 12px;
			font-weight: normal;
		}
		#InviteDiv__MODULE_ID__
		{
			position:absolute;
			display:none;
			border:1px solid #000000;
		}
		#FriendsDiv__MODULE_ID__
		{
			background-color:#ffffff;
			overflow-y:scroll;
			color:#646262;
			width:200px;
			height:125px;
			font-size: 12px;
			font-weight: bold;			
			text-align: left;
		}
		#FriendsDiv__MODULE_ID__ ul
		{
			margin-left: 0px;
			padding-left: 0px;
		}
		#FriendsDiv__MODULE_ID__ ul li
		{
			list-style-type:none;
		}
		#InviteBtnDiv__MODULE_ID__
		{
			text-align: center;
			background-color: gray;
		}
	  </style>

      <form name="newDonationForm__MODULE_ID__">

		<div id="InviteDiv__MODULE_ID__">
			<div id="FriendsDiv__MODULE_ID__"></div>
			<div id="InviteBtnDiv__MODULE_ID__">
				<input type="button" onclick="invite__MODULE_ID__Hyves()" value="Invite" />
			</div>
		</div>
		  
		  <div id="contentDiv__MODULE_ID__">
			  <div id="frontDiv__MODULE_ID__">
				  <div id="usernameDiv__MODULE_ID__"></div>
				  
				  <div id="donationsDiv__MODULE_ID__">
				  </div>
			  </div>
				<br />
			  <table id="footerTable__MODULE_ID__" cellspacing=0 width="100%">
				  <tr valign=top>
					<td>
					  Powered by:<br />
					  <img src="http://charitymeter.goyaweb.nl/new_sa_logo_small.png" width="143px" height="38px" border="0" />
					</td>					
				  </tr>
			  </table>
		  </div>
      </form>
	  <!-- ALm6fM1M9_53G2Zc_U4EmTnKeUTWLJEVxD_FRzPZGYGsh0xoFCQPqHAhZPH85i_qXj2wmOhEVc0X2m6ZDhSRW9aFktjqs-69Ak3EZcvZLNelX65E8jiofQ1lWXFcm0Dtv_vj0Ocm6MDQ -->
    ]]>
  </Content>

  <Content type="html" view="preview">
	<![CDATA[
		<img src="http://charitymeter.goyaweb.nl/imgs/screenshot.jpg" border="0" />
	  <!-- ALm6fM1M9_53G2Zc_U4EmTnKeUTWLJEVxD_FRzPZGYGsh0xoFCQPqHAhZPH85i_qXj2wmOhEVc0X2m6ZDhSRW9aFktjqs-69Ak3EZcvZLNelX65E8jiofQ1lWXFcm0Dtv_vj0Ocm6MDQ -->
    ]]>
  </Content>

</Module>
