
<?xml version="1.0" encoding="UTF-8" ?>
<Module>
<ModulePrefs title="Visitantes recientes" scrolling="true" description="Recien estuvieron por aqui..." directory_title="visitantes recientes">
  <Require feature="opensocial-0.8" />
  <Require feature="views" />
  <Require feature="dynamic-height" />
  <Require feature="friendconnect" />
  <Require feature="minimessage" />
  <Optional feature="skins" />
 </ModulePrefs>
 <Content type="html" view="default">
  <![CDATA[

   <style>
    ul { list-style:none; margin:0px; padding:0px; }
    li { background-color: #EFF7FF; margin:3px 0px; padding:0px; width:200px; height:56px; float:left; }
    img { margin:0px auto; padding:2px; border:solid 1px #aaaaaa; } 
    li img { margin:0px auto; padding:2px; border:solid 1px #aaaaaa; width: 50px; height: 50px; }
    li span.note { font-size:0.8em; }
    li p { margin:0; }
    textarea { display:inline; width:136px; height:35px; margin:0; float:left; }
    input { display:block; clear:left; }
	
	a:hover img
{
    opacity: 1;
}
 a img
{
    opacity: 0.75;
}
  </style>
  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>
  <script type="text/javascript">
      var fp = {
        viewer:null,
        myVisits:[],
        config:{          maxDisplay: 30,          messageDisappear: 3        },
        init:function() 
		{
          var viewParams = gadgets.views.getParams();
          if (viewParams.maxDisplay != undefined) 
		  {
            var max = parseInt(viewParams.maxDisplay);
            if (max >= 3 && max <= 30) {
              fp.config.maxDisplay = max;
            }
          }
          $('body').css('background-color', gadgets.skins.getProperty('BG_COLOR'));
          $('body').css('color', gadgets.skins.getProperty('FONT_COLOR'));
          $('#header').css('color', gadgets.skins.getProperty('CONTENT_HEADELINKE_COLOR'));
          $('#footer').css('color', gadgets.skins.getProperty('ENDCAP_TEXT_COLOR'));

          var req = opensocial.newDataRequest();
          var params = {};
          params[opensocial.DataRequest.PeopleRequestFields.PROFILE_DETAILS] = [opensocial.Person.Field.PROFILE_URL];
          req.add(req.newFetchPersonRequest(opensocial.IdSpec.PersonId.VIEWER, params), 'viewer');
          var idspec = opensocial.newIdSpec({'userId':opensocial.IdSpec.PersonId.OWNER,
                                             'groupId':opensocial.IdSpec.GroupId.FRIENDS});
          req.add(req.newFetchPersonAppDataRequest(idspec, 'myVisit'), 'myVisit');
          req.send(function(response) 
		  {
            if (!response.get('viewer').hadError()) 
			{
              fp.viewer = response.get('viewer').getData();
            }
            if (response.get('myVisit').hadError()) 
			{
              fp.myVisits = [];
            } 
			else 
			{
              var myVisits = response.get('myVisit').getData();
              var exist = false;
              $.each(myVisits, function(myVisit) 
			  {
                var json = gadgets.util.unescapeString(this.myVisit);
                var foot = gadgets.json.parse(json);
                fp.myVisits.unshift(foot);
              });
				fp.myVisits.sort(function(a, b) {
                return b.myVisit1 - a.myVisit1;
              });
              fp.showmyVisits();
            }
          });
        },
        showmyVisits:function() {
          $('#myVisits').empty();
          var html = '';
		   var vhtml = '';
		   var noOfMembs = 30;
		   var recentProfile = '';
		   putViewerlink('0');
			if (fp.viewer == null) 
			{
			}
			else
			{
				html += '<a href="' + fp.viewer.getField(opensocial.Person.Field.PROFILE_URL) + '" target="_top" title="You (' +fp.viewer.getDisplayName() + ')" ><img src = "' + fp.viewer.getField(opensocial.Person.Field.THUMBNAIL_URL) + '" width=40 height=40></a>';
				//html += '<a href="' + fp.viewer.getField(opensocial.Person.Field.PROFILE_URL) + '" target="_top" title="' +fp.viewer.getDisplayName() + '" ><img src = "' + fp.viewer.getField(opensocial.Person.Field.THUMBNAIL_URL) + '" width=40 height=40></a>';
				
			}
          for (var i in fp.myVisits) 
		  {
           // if (i == fp.config.maxDisplay) break;
            var foot = fp.myVisits[i];	
			if (i == 0)
			{
				putViewerlink(foot.myVisit1);
				recentProfile = foot.profile;
			}
			if (i < noOfMembs)
			{
				if (fp.viewer != null && fp.viewer.getField(opensocial.Person.Field.PROFILE_URL) == foot.profile)
				{
				}
				else {
				html += '<a href="' + foot.profile + '" target="_top" title="' +foot.name + '" ><img src = "' + foot.thumbnail + '" width=40 height=40></a>';
				}
			}	
       };
          if (fp.viewer == null) 
		  {
		    vhtml = '<span style="font-size:11px;">Ingresa a Blogger para aparecer aqui</span>';
			$('#viewerDiv').html(vhtml);
          }
		  else
		   {
		       // vhtml = '<span style="font-size:13px;">Welcome <a href="'+fp.viewer.getField(opensocial.Person.Field.PROFILE_URL) + '" target="_top"><b>' + fp.viewer.getDisplayName() + '</b></a></span>';
			  // vhtml = '<span style="font-size:11px;">You are the most recent Visitor</span>';
			 //  vhtml += '<hr>' ;         
			   //$('#viewerDiv').html(vhtml);
			   if (recentProfile != fp.viewer.getField(opensocial.Person.Field.PROFILE_URL))
			   {
				saveLink();
			   }
		  }
		  html += '<br>';
		  
          $('#myVisits').html(html);
          $('#myVisits li').css('background-color', gadgets.skins.getProperty('ALTERNATE_BG_COLOR'));
          gadgets.window.adjustHeight();
        }

      };
	  
	  function putViewerlink(link1)
	{
	document.getElementById('hiddenlink').value = link1;
	}
	  function saveLink()
	{
		var visits = document.getElementById('hiddenlink').value;
		var v1 = parseFloat(visits);
		v1 = v1 + 1;
	
	                var foot = {
							'id':         fp.viewer.getId(),
                            'name':       fp.viewer.getDisplayName(),
                            'thumbnail':  fp.viewer.getField(opensocial.Person.Field.THUMBNAIL_URL),
                            'profile':    fp.viewer.getField(opensocial.Person.Field.PROFILE_URL),
                            'myVisit1':  v1
							};
							
	 var  myVisit1 = gadgets.json.stringify(foot);
	  var req = opensocial.newDataRequest();
	  req.add(req.newUpdatePersonAppDataRequest(opensocial.IdSpec.PersonId.VIEWER, 'myVisit', myVisit1));
	  req.send();
	}
	
		 
 </script>
  <script type="text/javascript">
    gadgets.util.registerOnLoadHandler(fp.init);
  </script>
  <div id="header">Visitantes recientes<div>
   <div id="viewerDiv"></div>
  <div id="myVisits"></div>
  <a href="http://pczeros.blogspot.com/2010/07/gadget-visitantes-recientes-blogger.html" target="_blank"><span style="font-size:11px;">Quiero esto en mi blog!</span></a>
  <input type=hidden id=hiddenlink value="0">
 ]]>
 
 </Content>
</Module>
