﻿$(function() {
	$('.sch-tab .more').click(function(event) {
		$('.more-content .pssl').text("Загрузка...");
		more_x = $(this).offset().left;
		more_y = $(this).offset().top;

		$('.more-content').css('left', more_x - 6 + 'px');
		$('.more-content').css('top', more_y - 4 + 'px');

		event.preventDefault();

		$.getJSON("ScheduleInfoHandler.ashx", { id: $(this).metadata().id, q: $(this).metadata().q },
			function(data) {

				var txt = "<div class='place-info'>" + data["room"] + "</div>";
				txt += "<div style='clear: both;'><!-- --></div>";

				if (data["info"] != "") {
					txt += "<p>" + data["info"] + "</p>";
					txt += "<div class='line'><!-- --></div>";
				}
				txt += "<p>";

				var laburl = "";
				if (data["islab"] != null && data["islab"] == 1)
					laburl = "&tid=2";

				if (data["themes"].length > 0) {
					txt += "Тема: ";
					for (var i = 0; i < data["themes"].length; i++) {
						if (i != 0) txt += ", ";
						txt += " <a href='default.aspx?Track=" + data["themes"][i]["tag"] + laburl;
						if (data["t"] != null) txt += "&tid=" + data["t"];
						if (data["sp"] != null) txt += "&Speaker=" + data["sp"];
						txt += "'>" + data["themes"][i]["name"] + "</a>";
					}
				}

				if (data["aud"].length > 0) {
					txt += "<br>Аудитории: ";
					for (var i = 0; i < data["aud"].length; i++) {
						if (i != 0) txt += ", ";
						txt += data["aud"][i]["name"];
					}
				}

				if (data["speakers"].length > 0) {
					txt += "<br />Докладчики: ";
					for (var i = 0; i < data["speakers"].length; i++) {
						if (i != 0) txt += ", ";
						txt += " <a href='default.aspx?Speaker=" + data["speakers"][i]["url"] + laburl;
						if (data["t"] != null) txt += "&tid=" + data["t"];
						if (data["th"] != null) txt += "&Track=" + data["th"];
						txt += "'>" + data["speakers"][i]["name"] + "</a>";
					}
				}

				txt += "</p>";
				$('.more-content .pssl').html(txt);
			});
	});

	$('.more-close').click(function(event) {
		$('.more-content').css('left', '-10000px');
		event.preventDefault();
	});

	if ($('.ch-themes').length > 0) {
		$($('.self')[0]).click(function(event) {
			$('.ch-themes').css('left', $(this).offset().left - 189 + 'px');
			$('.ch-themes').css('top', $(this).offset().top - 7 + 'px');
			event.preventDefault();
		});
	}

	if ($('.ch-speakers').length > 0) {
		$($('.self')[1]).click(function(event) {
			$('.ch-speakers').css('left', $(this).offset().left - 189 + 'px');
			$('.ch-speakers').css('top', $(this).offset().top - 7 + 'px');
			event.preventDefault();
		});
	}

	$('.ch-themes .choice-top').click(function() {
		$(this).parent().css('left', '-11111px');
	});

	$('.ch-speakers .choice-top').click(function() {
		$(this).parent().css('left', '-11111px');
	});

	//	$('.ch-themes a').click(function(event) {
	//		$('.ch-themes a').each(function() {
	//			$(this).removeClass('active');
	//		});
	//		$(this).addClass('active')
	//		$('.sch-theme').html($(this).html());
	//		$('.ch-themes').css('left', '-11111px');
	//		event.preventDefault();
	//	});
	//	
	//	$('.ch-speakers a').click(function(event) {
	//		$('.ch-speakers a').each(function() {
	//			$(this).removeClass('active');
	//		});
	//		$(this).addClass('active')
	//		$('.sch-speaker').html($(this).html());
	//		$('.ch-speakers').css('left', '-11111px');
	//		event.preventDefault();
	//	});

});

(function($) {
	$.extend({
		metadata: {
			defaults: { type: 'class', name: 'metadata', cre: /({.*})/, single: 'metadata' },
			setType: function(type, name) { this.defaults.type = type; this.defaults.name = name; },
			get: function(elem, opts) {
				var settings = $.extend({}, this.defaults, opts);
				if (!settings.single.length) settings.single = 'metadata';

				var data = $.data(elem, settings.single);
				if (data) return data;
				data = "{}";
				var getData = function(data) {
					if (typeof data != "string") return data;
					if (data.indexOf('{') < 0) { data = eval("(" + data + ")"); }
				}

				var getObject = function(data) {
					if (typeof data != "string") return data;
					data = eval("(" + data + ")");
					return data;
				}

				if (settings.type == "html5") {
					var object = {};
					$(elem.attributes).each(function() {
						var name = this.nodeName;
						if (name.match(/^data-/)) name = name.replace(/^data-/, '');
						else return true;
						object[name] = getObject(this.nodeValue);
					});
				} else {
					if (settings.type == "class") {
						var m = settings.cre.exec(elem.className);
						if (m) data = m[1];
					} else if (settings.type == "elem") {
						if (!elem.getElementsByTagName) return;
						var e = elem.getElementsByTagName(settings.name);
						if (e.length) data = $.trim(e[0].innerHTML);
					} else if (elem.getAttribute != undefined) {
						var attr = elem.getAttribute(settings.name);
						if (attr) data = attr;
					}
					object = getObject(data.indexOf("{") < 0 ? "{" + data + "}" : data);
				}
				$.data(elem, settings.single, object);
				return object;
			}
		}
	});
	$.fn.metadata = function(opts) { return $.metadata.get(this[0], opts); };
})(jQuery);
