if (typeof greenteaCalendar == "undefined") {
  greenteaCalendar = new Object();
}

greenteaCalendar.config = {
	target: "#eventDisplayDiv"
};

greenteaCalendar.participants = {
	nextForm:function() {
		jQuery("#next-form").click(function(e) {
			e.preventDefault();
			var index = jQuery("#next-form").attr("rel");
			jQuery.ajax({
				type: "GET",
				url: "/calendar/participants/next_form/" + index,
				success: function(data) {
					jQuery("#next-form").attr("rel", parseInt(index) + 1);
					jQuery("#participants-forms").append(data);
				}
			});
		});
	},
	save:function(form) {
		form.submit(function() {
			var options = {
				target: greenteaCalendar.config.target
			};
			jQuery(this).ajaxSubmit(options);
			return false;
		});
	}
};

greenteaCalendar.propositions = {
	config: {
		target: "div.panes > div"
	},
	save:function(form) {
		form.submit(function() {
			var options = {
				success: function(data) {
					jQuery(greenteaCalendar.config.target).html(data).modal();
				}
			};
			jQuery(this).ajaxSubmit(options);
			return false;
		});
	}
}

greenteaCalendar.search = {
	init:function() {
		greenteaCalendar.search.showEvent();
		greenteaCalendar.search.offer();
	},
	showEvent:function() {
		jQuery(".event-link").click(function(e) {
			e.preventDefault();
			var uid = jQuery(this).attr("rel");
			jQuery.ajax({
				type: "GET",
				url: "/calendar/events/view/" + uid,
				success: function(data) {
					//var location_ = event.getLocations()[0].getValueString().split('@')[0];
					//displayMap(location_);
					jQuery(greenteaCalendar.config.target).html(data).modal();
				}
			});
		});
	},
	offer:function() {
		jQuery(".offer").click(function(e) {
			e.preventDefault();
			jQuery.ajax({
				type: "GET",
				url: "/calendar/events/add",
				success: function(data) {
					jQuery(greenteaCalendar.config.target).html(data).modal();
				}
			});
		});
	}
};

greenteaCalendar.location = {
	init:function(location_) {
		displayMap(location_);
	}
};

greenteaCalendar.init = function() {
  jQuery(document).ready(function() {
    jQuery.ajax({
      type: "GET",
      url: "/kalendarz",
      success: function(html) {
        jQuery("#calendarTarget").replaceWith(html);
      }
    });
  });
};

greenteaCalendar.courses = {
  	config: {
  		calendarId: "mnpp8vb35mgt466vokcf3ich28@group.calendar.google.com"
  	},
  	init:function() {
  		jQuery(document).ready(function() {
  			calvis.ready(greenteaCalendar.courses.main);
  			jQuery("#events-search-form").submit(function() {
  				var options = {
  					success: function(data) {
  						jQuery(greenteaCalendar.config.target).html(data).modal();
  					}
  				};
  				jQuery(this).ajaxSubmit(options);
  				return false;
  			});
  		});
  	},
  	main:function() {
  		calvis.MONTHS = ['Styczeń', 'Luty', 'Marzec', 'Kwiecień', 'Maj', 'Czerwiec', 'Lipiec', 'Sierpień', 'Wrzesień', 'Październik', 'Listopad', 'Grudzień'];
  		calvis.DAYS = ['Ni', 'Po', 'Wt', 'Śr', 'Cz', 'Pi', 'So'];
  		calvis.AppStringLabel = 'Generic-Calendar-Container-1.0';
  		calvis.monthViewButtonLabel = 'Miesiąc';
  		calvis.weekViewButtonLabel = 'Tydzień';
  		calvis.todayButtonLabel = 'Dziś';
  		calvis.loadingLabel = ' ładowanie... ';
  		calvis.moreLabel = 'Więcej kursów';
  		var calendar = new calvis.Calendar();
  		calendar.setCalendarBody('calendarBodyDiv');
  		calendar.setStatusControl('statusControlDiv');
  		calendar.setNavControl('navControlDiv');
  		calendar.setViewControl('viewControlDiv');
  		calendar.setPublicCalendar(greenteaCalendar.courses.config.calendarId);
  		calendar.setEventCallback('click', greenteaCalendar.courses.callback);
  		calendar.setDefaultView('month');
  		calendar.render();
  	},
  	callback:function(event) {
  		var eventUid = event.getUid().getValue().split("@");
  		jQuery.ajax({
  			type: "GET",
  			url: "/calendar/events/view/" + eventUid[0],
  			success: function(data) {
  				jQuery(greenteaCalendar.config.target).html(data).modal();
  			}
  		});
  	}
};

greenteaCalendar.businesses = {
	config: {
		calendarId: "lu21eopnps7cgdcjjjjnmhk62s@group.calendar.google.com"
	},
	init:function() {
		jQuery(document).ready(function() {
			calvis.ready(greenteaCalendar.businesses.main);
			jQuery("#businesses-search-form").submit(function() {
				var options = {
					//target: greenteaCalendar.config.target,
					success: function(data) {
						jQuery(greenteaCalendar.config.target).html(data).modal();
					}
				};
				jQuery(this).ajaxSubmit(options);
				return false;
			});
		});
	},
	main:function() {
		calvis.MONTHS = ['Styczeń', 'Luty', 'Marzec', 'Kwiecień', 'Maj', 'Czerwiec', 'Lipiec', 'Sierpień', 'Wrzesień', 'Październik', 'Listopad', 'Grudzień'];
		calvis.DAYS = ['Ni', 'Po', 'Wt', 'Śr', 'Cz', 'Pi', 'So'];
		calvis.AppStringLabel = 'Generic-Calendar-Container-1.0';
		calvis.monthViewButtonLabel = 'Miesiąc';
		calvis.weekViewButtonLabel = 'Tydzień';
		calvis.todayButtonLabel = 'Dziś';
		calvis.loadingLabel = ' ładowanie... ';
		calvis.moreLabel = 'Więcej kursów';
		var calendar = new calvis.Calendar();
		calendar.setCalendarBody('calendarBodyDiv');
		calendar.setStatusControl('statusControlDiv');
		calendar.setNavControl('navControlDiv');
		calendar.setViewControl('viewControlDiv');
		calendar.setPublicCalendar(greenteaCalendar.businesses.config.calendarId);
		calendar.setEventCallback('click', greenteaCalendar.businesses.callback);
    //calendar.setEventCallback('mouseover', greenteaCalendar.businesses.over);
		calendar.setDefaultView('month');
		calendar.render();
	},
	callback:function(event) {
		var eventUid = event.getUid().getValue().split("@");
		jQuery.ajax({
			type: "GET",
			url: "/calendar/events/view/" + eventUid[0],
			success: function(data) {
//				var location_ = event.getLocations()[0].getValueString().split('@')[0];
//				displayMap(location_);
				jQuery(greenteaCalendar.config.target).html(data).modal();
			}
		});
	},
    over:function(event) {
        var eventUid = event.getUid().getValue().split("@");
        var eventDiv = jQuery("div[id$='" + eventUid[0] + "']");
        var title = event.getTitle().getText();
        // tu można działać na divie z kursem
    }
};

greenteaCalendar.individual = {
	config: {
		calendarId: "clh2cqv1k3bf1lc2jp904qgtts@group.calendar.google.com"
	},
	init:function() {
		jQuery(document).ready(function() {
			calvis.ready(greenteaCalendar.individual.main);
			jQuery("#individual-search-form").submit(function() {
				var options = {
					//target: greenteaCalendar.config.target,
					success: function(data) {
						jQuery(greenteaCalendar.config.target).html(data).modal();
					}
				};
				jQuery(this).ajaxSubmit(options);
				return false;
			});
		});
	},
	main:function() {
		calvis.MONTHS = ['Styczeń', 'Luty', 'Marzec', 'Kwiecień', 'Maj', 'Czerwiec', 'Lipiec', 'Sierpień', 'Wrzesień', 'Październik', 'Listopad', 'Grudzień'];
		calvis.DAYS = ['Ni', 'Po', 'Wt', 'Śr', 'Cz', 'Pi', 'So'];
		calvis.monthViewButtonLabel = 'Miesiąc';
		calvis.weekViewButtonLabel = 'Tydzień';
		calvis.todayButtonLabel = 'Dziś';
		calvis.loadingLabel = ' ładowanie... ';
		calvis.moreLabel = 'Więcej kursów';
		var calendar = new calvis.Calendar();
		calendar.setCalendarBody('calendarBodyDiv');
		calendar.setStatusControl('statusControlDiv');
		calendar.setNavControl('navControlDiv');
		calendar.setViewControl('viewControlDiv');
		calendar.setPublicCalendar(greenteaCalendar.individual.config.calendarId);
		calendar.setEventCallback('click', greenteaCalendar.individual.callback);
        //calendar.setEventCallback('mouseover', greenteaCalendar.individual.over);
		calendar.setDefaultView('month');
		calendar.render();
	},
	callback:function(event) {
		var eventUid = event.getUid().getValue().split("@");
		jQuery.ajax({
			type: "GET",
			url: "/calendar/events/view/" + eventUid[0],
			success: function(data) {
//				var location_ = event.getLocations()[0].getValueString().split('@')[0];
//				displayMap(location_);
				jQuery(greenteaCalendar.config.target).html(data).modal();
			}
		});
	},
    over:function(event) {
        var eventUid = event.getUid().getValue().split("@");
        var eventDiv = jQuery("div[id$='" + eventUid[0] + "']");
        var title = event.getTitle().getText();
        // tu można działać na divie z kursem
    }
};
function displayMap(location_) {

  var geocoder = new GClientGeocoder();
  geocoder.getLatLng(
    location_,
    function(point) {
      if (point) {        
        var map = new GMap2(document.getElementById("map"));
        map.addControl(new GSmallMapControl());
        map.setCenter(point, 13);
        var marker = new GMarker(point);
        map.addOverlay(marker);
      } else {
        document.getElementById('map').parentNode.removeChild(document.getElementById('map'));
      }
    }
  );
};

function getGeocode(json) {
  var mapData = eval(json);
  console.log(mapData);

  var status = mapData.Status.code;
  console.log(status);
  if (status == '200') {
    var lng = mapData.Placemark[0].Point.coordinates[0];
    var lat = mapData.Placemark[0].Point.coordinates[1];
    console.log(lat + ' ' + lng);

    var point = new GLatLng(lat,lng);
    map.setCenter(point, 13);
    map.addOverlay(new GMarker(point));


  }
};

function getLocation() {};