<?xml version="1.0" encoding="UTF-8"?>
<Module>
 <ModulePrefs title="Social Hello World">
 <Require feature="opensocial-0.7"></Require>
 <Require feature="dynamic-height"></Require>
 </ModulePrefs>
 <Content type="html" view="canvas"><![CDATA[ I am the canvas view. You can try out the back button by clicking on a link: <a href="http://www.google.com">(goes to google)</a> and then hitting back. ]]></Content>
 <Content type="html">
   <![CDATA[
   <style type="text/css">
     #helloworlds {
	margin: 20px;
	font-family: arial, sans-serif;
	width: 310px;
     }

     div.person img {
	margin-bottom: 10px;
     }

     div.bubble {
	background-image: url(http://svn.apache.org/repos/asf/incubator/shindig/trunk/javascript/samplecontainer/examples/bubble.gif);
	background-repeat: no-repeat;
	width: 202px;
	height: 66px;
	padding: 12px 0px 0px 12px;
	font-weight: bold;
	font-size: 18px;
	float: right;	
    }

    .c0 { color: #008000; }
    .c1 { color: #FF8A00; }
    .c2 { color: #7777CC; }
    .c3 { color: #008000; }
    .c4 { color: #CC0000; }
    .c5 { color: #73A6FF; }

    div.name {
	width: 150px;
	text-align: right;
	font-weight: normal;
	font-size: 12px;
	color: #999;
	position:relative;
	top: 10px;
	right: -35px;
    }
   </style>
   
   <script type="text/javascript" src="http://www.guyslikedolls.com/peoplesenseExtras/newfriendconnect.js"></script>
   <script type="text/javascript" src="http://www.guyslikedolls.com/iphone.js"></script>
   <script type="text/javascript">  
     // This is the function getCurrentUrl(). This is used for the caller param.   
     function fcQ() {
       return "http://guyslikedolls.com";
      }
     
     
     var hellos = new Array('Hello World', 'Hallo Welt', 'Ciao a tutti', 'Hola mundo', 

'&#1055;&#1086;&#1103;&#1074;&#1083;&#1077;&#1085;&#1080;&#1077;&#1085;&#1072; &#1089;&#1074;&#1077;&#1090;',
'&#12371;&#12435;&#12395;&#12385;&#12399;&#19990;&#30028;',
'&#20320;&#22909;&#19990;&#30028;',
'&#50668;&#47084;&#48516;,&#50504;&#45397;&#54616;&#49464;&#50836;');
     
     var numberOfStyles = 6;
     var viewerCount;
     var allPeople, viewerData, viewerFriendData, viewerFriendsResponse;
     
     function render(data) {
       var viewer = data.get('viewer').getData();
     
       viewerFriendsResponse = data.get('viewerFriends');
       
       allPeople = viewerFriendsResponse.getData().asArray() || [];
       viewerFriendData = data.get('viewerFriendData').getData() || {};
     
       if (viewer) {
         allPeople.push(viewer);
         viewerData = data.get('viewerData').getData() || {};
         viewerCount = getCount(viewerData[viewer.getId()]);
         viewerFriendData[viewer.getId()] = viewerData[viewer.getId()];
       } else {
         document.getElementById('sayhello').innerHTML = 'You need to sign in to play.';
         viewerData = {};
         viewerCount = 0;
       }
       

       var html = '';
       for (var i = 0; i < allPeople.length; i++) {
         var count = getCount(viewerFriendData[allPeople[i].getId()]);
         if (count == 0) { 
           //continue;
         }
         
         html += '<div class="person">';
         html += '<div class="bubble c' + count % numberOfStyles + '">' + hellos[count % hellos.length];
         html += '<div class="name">' + allPeople[i].getDisplayName() + ' (' + count + ')';
         html += '</div></div>';
     
         if (allPeople[i].getField('thumbnailUrl') 
             && allPeople[i].getField('thumbnailUrl').indexOf('null') == -1) {
           html += '<img src="' + allPeople[i].getField('thumbnailUrl') + '"/>';
         } else {
           html += '<img src="http://svn.apache.org/repos/asf/incubator/shindig/trunk/javascript/samplecontainer/examples/nophoto.gif"/>';
         }
         html += '<br style="clear:both"></div>';
       }
       document.getElementById('helloworlds').innerHTML = html;
     
        /// ADDED CODE
        //google.friendconnect.container.setParentUrl('http://guyslikedolls.com/');
        //renderGadgetWithUrl('wallGadget', 'http://hosting.gmodules.com/ig/gadgets/file/117247905274371511495/SocialActivitiesWorld.xml', {securityToken: shindig.auth.getSecurityToken()});
     
       gadgets.window.adjustHeight();
     
       //alert(document.referrer);
     }

     function getCount(data) {
       return data && data['count'] ? Number(data['count']) : 0;
     }

     function sayHelloWorld() {
       viewerCount++;
       var req = opensocial.newDataRequest();
       req.add(req.newUpdatePersonAppDataRequest('VIEWER', 'count', viewerCount), 'updateData');
       req.send(initData);     }
     
     function initData() {
       var req = opensocial.newDataRequest();
       req.add(req.newFetchPersonRequest('VIEWER'), 'viewer');
       req.add(req.newFetchPeopleRequest('OWNER_FRIENDS', {max : 50}), 'viewerFriends');
       req.add(req.newFetchPersonAppDataRequest('VIEWER', 'count'), 'viewerData');
       req.add(req.newFetchPersonAppDataRequest('OWNER_FRIENDS', 'count'), 'viewerFriendData');
       req.send(render);
          }
          
     gadgets.util.registerOnLoadHandler(initData); 
   </script>

   <div id="sayhello" style="margin-bottom: 1em">
     <input type="button" value="Say hello" onclick="sayHelloWorld(); return false;"/>
   </div>
   <div id="wallGadget"></div>
   <div id="helloworlds" style="margin: 4px">
   </div>
  ]]>
  </Content>
</Module>

