var EVENT_IMAGE_URL        = 'http://www.unitedislands.cz/logs.jpg';
var EVENT_WALL_NAME        = 'UNITED ISLANDS RELOADED!';
var EVENT_WALL_DESCRIPTION = 'BAUCHKLANG A DALŠÍ HVĚZDY UNITED ISLANDS SE VRACÍ DO PRAŽSKÉHO PALÁCE AKROPOLIS!';

var EVENT_IDS = {
   'event-praha'   : 114178401992726,
   'event-ostrava' : 192056987495213,
   'event-brno'    : 190983950935660,
   'event-praha1'   : 114178401992726,
   'event-ostrava1' : 192056987495213,
   'event-brno1'    : 190983950935660
};

// -------------------------------------------------
var EVENT_ID           = 129229427150880
var EVENT_WALL_URL     = 'http://www.facebook.com/event.php?eid=';
var EVENT_PLACE        = 'event-praha';
var EVENT_DECISION     = '';
var EVENT_SESSION      = null;
var EVENT_ERR_TOO_FREQ = 'Facebook nepovoluje tolikrát v krátkém čase opakovat tyto akce, opakujte prosím výběr/změnu později.';



jQuery(document).ready(function($){

	var loginlink = $('#user_login_link');
	var authedlink = $('#user_authed_link');
	if (loginlink.size() > 0 && authedlink.size() > 0) {
		loginlink.parent().hide();
	} else {
		authedlink.parent().hide();
	}

	var thumbnailed_area = $('.thumbnailed_area');
	if (thumbnailed_area.size() > 0) {
		var allowed_extensions = ['gif','png','jpeg','jpg'];
		var potential_images = thumbnailed_area.find('a');
		potential_images.each(function(idx,lnk) {
		
			var ext = lnk.href.replace(/^.*\.([a-zA-Z0-9]+)/, '$1').toLowerCase();
			
			var found = false;
			for (var i = allowed_extensions.length - 1; i >= 0; i--) {
				if (allowed_extensions[i] === ext) {
					found = true;
					break;
				}
			}
			
			if (found) { // is an image
				var address = getImageAddress(lnk.href,$(lnk));
			}
		});
	}

   event_pageInit();
   getEvents();

})


function getImageAddress(url,jqel) {
	jQuery.ajax({
		'url':'/imageAddress.php',
		'cache':true,
		'data': {
			'image': url
		},
		'type':'GET',
		'success': function(data, textStatus, XHR){
		    if (textStatus === 'success') { // it's an image!
		    	jqel.text("");
		    	jqel.prepend('<img src="' + data + '" /><br clear="all" />');
		    }
		}
	});
}

function event_placeChanged(item) {
   $('#event-container > a').removeClass('selected');
   $(item).addClass('selected');
   EVENT_PLACE = $(item).attr('id');
   $('#event-container :radio').attr('checked',false);
    
   $('#event-container1 > a').removeClass('selected');
   $(item).addClass('selected');
   EVENT_PLACE = $(item).attr('id');
   $('#event-container1 :radio').attr('checked',false);
}

function event_decisionChanged(item) {
  
   EVENT_DECISION =  jQuery(item).val();
   event_startDialogs();
}

function event_shareOnWall(msg) {
    
   // je user uz prihlasen?
   EVENT_SESSION = FB.getSession();
  
   // kdyz neni prihlas ho
   if (!EVENT_SESSION) {
      event_login();
   }

   

   // ted uz bych mel mit session, jdeme dal
   if (EVENT_SESSION) {
      var data = {
         method: "feed",
         display: "popup",
         name: EVENT_WALL_NAME,
         message: msg,
         picture: EVENT_IMAGE_URL,
         description: EVENT_WALL_DESCRIPTION,
         //link: EVENT_WALL_URL + EVENT_IDS[EVENT_PLACE],
         link: EVENT_WALL_URL + EVENT_ID
      };
      FB.ui(data, function (e) {
         if (e && e.post_id) {
         ///console.log('wallshare probehl');
         } else {
      //console.log('wallshare_neprobehl');
      }
      });
   }
}

function event_startDialogs() {

   // je user uz prihlasen?
   EVENT_SESSION = FB.getSession();

   // kdyz neni prihlas ho
   if (!EVENT_SESSION) {
        
      event_login();
   } else {

   FB.api(
        {
            method : 'fql.query',
            query : 'SELECT user_events FROM permissions WHERE uid=' + FB.getSession().uid
        },
        function(response) {
            var permission = response[0];
             if(response[0].user_events != 1) {
                event_login();
             }

       });
 }
    
   // ted uz bych mel mit session, jdeme dal
   if (EVENT_SESSION) {
      //console.log('call event decision');
      FB.api("/" + EVENT_ID + "/" + EVENT_DECISION + "&access_token=" + EVENT_SESSION.access_token, "POST", {}, function(e) {
            
         if (e.error && e.error.message == "(#9) You are calling methods too frequently.") {
            alert(EVENT_ERR_TOO_FREQ);
         }

         if (!e.error && EVENT_DECISION != 'declined') {
            event_shareOnWall('');
         } else {
      }
      });
   }
}

function event_goToEventFacebookPage(item) {
   // window.location.href = EVENT_WALL_URL + EVENT_IDS[EVENT_PLACE];
   window.location.href = EVENT_WALL_URL + EVENT_ID;
}

function event_pageInit() {
   
//   jQuery('#event-container input[type=radio]').change(function() {
//      event_decisionChanged(this);
//      return false;
//   } );

        FB.Event.subscribe('auth.login', function(response) {
          window.location.reload()
       });
       FB.Event.subscribe('auth.logout', function(response) {
           window.location.reload()
       });


}

function getEvents() {




   out = '';
   link = 'http://www.facebook.com/pages/UNITED-ISLANDS/109392315750394#!/event.php?eid=';
   today = Math.round(((new Date()).getTime()-Date.UTC(1970,0,1))/1000);


   FB.api('/109392315750394/events&sk=events&date_format=U', function(response) {
    if (response.data != null && response.data.length != null) {
      for(i = response.data.length -1 ; i >= 0;  i -- ) {
         
         ID       =  response.data[i].id ;
         NAME     =  response.data[i].name;
         LOCATION =  response.data[i].location;
         START    =  response.data[i].start_time;
         END      =  response.data[i].end_time ;
         //STATUS   =  response.data[i].rsvp_status ;

      
         //format date
         var d = new Date(START*1000);
         var curr_date =  d.getDate();
         var curr_month = d.getMonth();
         var curr_year = d.getFullYear();
       
         start = parseInt(curr_date -1) + "/" + parseInt(curr_month + 1) + "/" + curr_year;
       
         if(START > today ) {

         out += '<div class="event">';
         
         out +=   '<div class="'+ID+'">';
         out +=     '<p id="'+ID+'" class="eventtext">'
         out +=       '<a href="'+link+ID+'">' +  NAME  + '</a>';
         out +=      '</p>';
         out +=     '<p class="event_time">'
         out +=       '<b>' +  start  + '</b>';
         out +=      '</p>';
         out +=       '<form method="post" action="">'
         out +=       '<input onclick="subscribe(this);" type="radio" name="decision" value="attending" class="styled" id="att" /><label for="att">účastním se</label><br />'
         out +=       '<input onclick="subscribe(this);" type="radio" name="decision" value="maybe" class="styled" id="maybe" /><label for="maybe">možná</label><br />'
         out +=       '<input onclick="subscribe(this);" type="radio" name="decision" value="declined" class="styled" id="no" /><label for="no" class="last">neúčastním se</label><br />'
         out +=     '</form>'
         out +=   '</div>';
         out += '</div><hr />';

         }
      }
    }
      //jQuery('#event-container').html(''+out +'');
     
      
   });

}
function subscribe(obj) {
 // event_login();

//   FB.api(
//        {
//            method : 'fql.query',
//            query : 'SELECT user_events FROM permissions WHERE uid=' + FB.getSession().uid
//        },
//        function(response) {
//            var permission = response[0];
//             if(response[0].user_events != 1) {
//                event_login();
//             }
//
//        });




   EVENT_DECISION          = jQuery(obj).attr('value');
   EVENT_ID                = jQuery(obj).parents('div').attr('class');
   EVENT_WALL_DESCRIPTION  = jQuery('#' +EVENT_ID + ' a').text();
   EVENT_WALL_NAME     = '';
   
   event_startDialogs();
}

function event_login() {

   FB.login(function(response) {
      if (response.session) {
         if (response.perms) {
            //console.log('user is logged in and granted some permissions');
            EVENT_SESSION = FB.getSession();
          
            if (EVENT_SESSION) {

            }
         } else {
      //console.log('user is logged in, but did not grant any permissions');
      }
      } else {
   //console.log('user is not logged in');
   }
   }, {
      perms:'user_events,rsvp_event'
   });
}





