dojo.require("dijit.Dialog");dojo.require("dijit.Tooltip");dojo.require("dijit.form.CheckBox");dojo.require("dijit.form.Button");dojo.require("dojo.parser");dojo.require("dojox.fx.ext-dojo.NodeList"); dojo.require("dojo.cookie");dojo.require("dijit.layout.ContentPane");dojo.require("dijit.layout.TabContainer");var popped = "none";var selectedSessions = "";		function highlightTags(json) {	var myObj = eval ( '(' + json + ')' );	dojo.query(".sessionBox").addClass("faded").fadeTo({end:0.2}).play();	dojo.query(".sessionBox" + myObj.Tags).removeClass("faded").fadeTo({end:1}).play();}function resetTags() {	dojo.query(".sessionBox").removeClass("faded").fadeTo({end:1}).play();}function addToPersonal (session, day) {	console.log("add " + session.id);	if (day == "0") day = dojo.attr(session, 'day');	var slot = dojo.attr(session, 'slot');	var o = dojo.clone(session);	o.id = o.id + "Personal" + day;	for (i=0;i<o.childNodes.length;i++) if (o.childNodes[i].id != "") {		if (o.childNodes[i].id) o.childNodes[i].id += "Personal" + day;	}	var personalSchedule = dojo.byId("personalday" + day);	dojo.place(o,personalSchedule,"last");	var pers = dojo.byId(session.id + "Personal" + day)	dojo.removeClass(pers, "sessionSelected");	dojo.addClass(pers, "sessionPersonal");	dojo.connect(pers, "onclick", session, sessionClick);	    ;	indentPersonalSessions(day);		dojo.query("#" + session.id + " .sessionTitle").forEach(function(title) {		new dijit.Tooltip({	          connectId: [title.id + 'Personal' + day],	          label: '<div class="sessionBoxDesc">' + dojo.byId(session.id + "Desc").innerHTML + '</div>',	          id: pers.id + 'Desc'	      });	 });     	dojo.query("#" + session.id + " .sessionSpeaker").forEach(function(speaker) { 		new dijit.Tooltip({     	     connectId: [speaker.id + 'Personal' + day],          	label: '<div class="speakerBox">' + dojo.byId(session.id + "Bio").innerHTML + '</div>',          	id: pers.id + 'Bio'      	});      });      	dojo.query("#" + session.id + " .LTTitle").forEach(function(title) {		new dijit.Tooltip({	          connectId: [title.id + 'Personal' + day],	          label: '<div class="sessionBoxDesc">' + dojo.byId(title.id.substr(0,42) + "Desc").innerHTML + '</div>',	          id: title.id + 'Personal' + day  + 'Desc'	      });	 });               if ((day=="1") && dojo.hasClass(session, "sessionBox720")) addToPersonal(session, "2");      if ((day=="1") && dojo.hasClass(session, "sessionBox1080")) addToPersonal(session, "2");      if ((day=="2") && dojo.hasClass(session, "sessionBox1080")) addToPersonal(session, "3");}function indentPersonalSessions (day) {	var aboveDoubles = "";	var theseDoubles = ""	var maxSessions = 0;	for (slot=1;slot<10;slot++) {		var i = 0;		var available = true;		var sessions;		if (day<3) {			sessions = dojo.query('#personalday' + day + ' .slot' + slot + 'Workshop');		} else {			sessions = dojo.query('#personalday' + day + ' .slot' + slot);				}		if (sessions.length>maxSessions) maxSessions = sessions.length;		sessions.forEach( function(session) {			if (dojo.hasClass(session, "sessionBox90") || dojo.hasClass(session, "sessionBox360") ||dojo.hasClass(session, "sessionBox720") || dojo.hasClass(session, "sessionBox1080")) theseDoubles += String(i);			while (aboveDoubles.indexOf(i)>=0) i++			dojo.attr(session, "indent", String(i));			session.style.marginLeft = (i * 120) + "px";					i++;		});		aboveDoubles = theseDoubles;		theseDoubles = "";	}	dojo.byId("personalday" + day).style.width = (maxSessions * 120) + "px";		}		function removeFromPersonal (session, day) {	var thisID;	console.log("remove " + session.id);	if (day=="0") day = dojo.attr(session, "day");	dojo.query("#" + session.id + " .LTTitle").forEach(function(title) {          thisID = title.id + 'Personal' + day  + 'Desc';          if (dijit.byId(thisID)) dijit.byId(thisID).destroy();	 });	thisID = session.id + "Personal" + day + "Desc";	if (dijit.byId(thisID)) dijit.byId(thisID).destroy();	thisID = session.id + "Personal" + day + "Bio";	if (dijit.byId(thisID)) dijit.byId(thisID).destroy();	var obj = dojo.byId(session.id + "Personal" + day);	if (obj) {			obj.parentNode.removeChild(obj);	}	indentPersonalSessions(dojo.attr(session, "day"));	      if ((day=="1") && dojo.hasClass(session, "sessionBox720")) removeFromPersonal(session, "2");      if ((day=="1") && dojo.hasClass(session, "sessionBox1080")) removeFromPersonal(session, "2");      if ((day=="2") && dojo.hasClass(session, "sessionBox1080")) removeFromPersonal(session, "3");}		function sessionClick(evt) {	if (!dojo.hasClass(this, "faded")) {		dojo.toggleClass(this,"sessionSelected");		selectedSessions = "";		dojo.query(".sessionSelected").forEach(		    function(session) {	       	 selectedSessions = selectedSessions + " " + session.id;		    }		);		dojo.cookie("oredevschedule", dojo.trim(selectedSessions), { expires: 200 });		if (dojo.hasClass(this,"sessionSelected")) {			addToPersonal(this, "0");		} else {			removeFromPersonal(this, "0");		}	}}function readCookie () {	selectedSessions = dojo.cookie("oredevschedule");	if (selectedSessions) {		var sessions = selectedSessions.split(" ");		dojo.forEach(sessions, function(session) {			console.log("cookie " + session);			if (dojo.byId(session)) {				console.log("cookie found " + session);				dojo.addClass(session, "sessionSelected");				addToPersonal(dojo.byId(session), "0");			}		});	}}dojo.addOnLoad(function(){    dojo.query("div.sessionBox50").connect("onclick",sessionClick);	        dojo.query("div.sessionBox90").connect("onclick",sessionClick);	        dojo.query("div.sessionBox180").connect("onclick",sessionClick);	        dojo.query("div.sessionBox360").connect("onclick",sessionClick);	        dojo.query("div.sessionBox720").connect("onclick",sessionClick);	        dojo.query("div.sessionBox1080").connect("onclick",sessionClick);	        readCookie();     dojo.byId("loading").style.display = "none";}); function showPersonal() {	var personal = dojo.byId("personalSchedule");	dojo.query(".sessionSelected").forEach(function(session) {		var o = dojo.clone(session);		dojo.place(o,personal,"last");	});	dijit.byId('personalSchedule').show();} 