
/**
 * webinale javascript library *
 */

window.addEvent('domready', function() {
		
	function aRequest() {
			
			var host        = window.location.host;
			var page 		= $('topspeaker').getProperty('title');
			var count 		= $('topspeaker').getProperty('rel');
			var url 		= 'http://'+host+'/konferenzen/ext_scripts/v2/php/topspeaker.php?module=' + page + '&count=' + count;
			var data 		= new Ajax(url, {
				method: 'get',
				update: $('topspeaker')
			}).request();
			
			
	}
		
	function chooseTrack(elmname) {
			$('list-business').setStyle('display', 'none');
			$('list-design').setStyle('display', 'none');
			$('list-development').setStyle('display', 'none');
			$('chooseTrack').getElements('a').removeClass('active');
			
			$('chooseTrack').getElement('a[class=' + elmname + ']').addClass('active');
			$('list-' + elmname).setStyle('display', 'block');
			document.cookie = elmname;

	}
	
	function markTrack() {
			
			a = document.cookie;
			cookiename = a.substr(0,a.search(';'));	

			if(cookiename.length > 11) {
				return false;
			} else if( cookiename.search('=') != -1 ) {
				return cookiename.substr(0, cookiename.length-1);
			} else {
				return cookiename;
			}
	}
				
		
	function getSessions(track, element) {
			
			var host        =       window.location.host;
			var url         =       'http://'+host+'/konferenzen/webinale2009/sessions/index-start.php?tid='+track;
			var data        =       new Ajax(url, { method: 'get', update: $('sessionsstart') });
			
			if(element != null) {
				activeItems 	= 		$('themen').getElements('.active');		
				activeItems.removeClass('active');
				element.addClass('active');
			} else {
				$$('.session-choose-1').addClass('active');
			}
	
			
			data.request();
			return false;
	}


	if ($('aufeinenblick')) {
		
		//create our Accordion instance
		var myAccordion = new Accordion($('aufeinenblick'), 'h3.toggler', 'p.element', {
		opacity: false,
		onActive: function(toggler, element){
			toggler.setStyle('color', '#222222');
		},
		onBackground: function(toggler, element){
			toggler.setStyle('color', '#999999');
		}

		});

	}

	if ($('twitter')) {
			
			twitterContainer	=	$('twitter');
			twitterID			=	twitterContainer.getProperty('user');
			twitterName			=	twitterContainer.getProperty('name');
			twitterLimit		=	4;
			
			// http://twitter.com/statuses/user_timeline/*twitterID*.json
			twitterRequestUrl		=	"http://createordie.de/konferenzen/ext_scripts/v1/php/twitterJSON.php?twitterID=" + twitterID;
			
			
	
			var twitterJSON = new Json.Remote(twitterRequestUrl, {onComplete: function(twitter){
				// alert(dump(twitter));
				sortTwitterData(twitter);
			}}).send();
			
			
			
			function sortTwitterData(data) {
				//alert(dump(data[0]));
				
				// auslesen der elemente des twitterObjects
				twitterObjectLength	=	data.length;
				twitterObject		=	data;
				twitterResults		= 	new Array();
				
				
			var	twitterList	=	new Element('ul').setProperty('id','twitterlists');	
				
				twitterObject.each(function(item,index) {
					if (index < twitterLimit)	{
						twitterResults[index]				= 	new Array();
						twitterResults[index]["name"]		=	twitterObject[index]["user"]["name"];
						twitterResults[index]["location"]	=	twitterObject[index]["user"]["location"];
						twitterResults[index]["url"]		=	"http://twitter.com/"+twitterObject[index]["user"]["name"];
						twitterResults[index]["date"]		=	twitterObject[index]["created_at"];
						twitterResults[index]["text"]		=	twitterObject[index]["text"];
						
						
						// Datum transformieren
						// Fri Jun 27 13:31:43 +0000 2008 => Freitag, 27. Juni, 13:31 Uhr
						
						twitterResults[index]["date"]	=	twitterResults[index]["date"].substr(0, twitterResults[index]["date"].lastIndexOf("+"));


						// Urls in texten finden und ggfls formatieren			
						if (twitterResults[index]["text"].contains('http')) {	
							twitterResults[index]["text"] = twitterResults[index]["text"].replace(/(http:\/\/\S*)/g, '<a href="$1">$1<\/a> ');
						} else if (twitterResults[index]["text"].contains('www') ){
							twitterResults[index]["text"] = twitterResults[index]["text"].replace(/(www.\S*)/g, '<a href="http://$1">$1<\/a> ');
						}
						
						// erstellen des HTML Quellcode
						li	=	new Element('li').setStyle('visibility','hidden');
						div	=	new Element('div').setProperty('class','content');					
						// new Element('a').setProperty('href',twitterResults[index]["url"]).setText(twitterResults[index]["name"]+": ").injectInside(div);	
						new Element('span').setHTML(twitterResults[index]["text"]).injectInside(div);					
						new Element('div').setText(twitterResults[index]["date"]).setProperty('class','date').injectInside(div);
						div.injectInside(li); 
						li.injectInside(twitterList); 
					}
					if (index == twitterLimit)	{					
						li	=	new Element('li').setStyle('visibility','hidden');
						new Element('div').setProperty('class','content').setHTML("Latest <b>"+ twitterLimit +"</b> Messages from Twitter.<br> More under <a href='http://twitter.com/"+twitterName+"'>http://twitter.com/"+twitterName+"</a> ").injectInside(li);	
						
						li.injectInside(twitterList); 					
					}
				});

				
				twitterList.injectInside(twitterContainer);
				// shcnell holen der höhe und sofort verstecken!
				twitterContainerHeight	=	$('twitter').getStyle('height');
			
				if (window.ie != true) {
					// alert(twitterContainerHeight);
					twitterContainer.setStyle('height', 70);
					
					new Fx.Style(twitterContainer, 'height', {duration: 250, transition: Fx.Transitions.linear}).start(70,twitterContainerHeight);
				} else {
					// col3Height	=	col3.getStyle('height').toInt();
					// col3.setStyle('height', col3Height+600);	
				}
					
				twitterListings	=	$('twitterlists').getElements('li');
				twitterListings.each(function(item,index) {
					( function(){	
							  new Fx.Style(item, 'opacity', {duration: 250, transition: Fx.Transitions.linear}).start(0.0,1.0);
					}).delay(500*(index+1));						
				});
				
				
				// einfaden und ausfahren der twitterbox
			}
	
	}
	
	if($('topspeaker')) {
		aRequest();
		aRequest.periodical(5000);
	}

	if ($('main').getElements('.video')) {
		var videos	=	$('main').getElements('.video');
		    videos.each(function(item,index) {
			var src		=	item.getProperty('src');
			var img		=	item.getProperty('img');	
			var height	=	item.getProperty('height');	
			var width	=	item.getProperty('width');			
			item.setHTML('<object ><param name="wmode" value="transparent"/><param name="FlashVars" value="file='+src+'&amp;backcolor=0x000000&amp;frontcolor=0xCCCCCC&amp;lightcolor=0x557722&amp;image='+img+'"/><embed type="application/x-shockwave-flash" src="http://entwickler.de/zonen/magazine/videos/flvplayer.swf" style="" id="single" name="single" quality="high" allowfullscreen="true" flashvars="file='+src+'&amp;backcolor=0x000000&amp;frontcolor=0xCCCCCC&amp;lightcolor=0x557722&amp;image='+img+'" height="'+height+'" width="'+width+'"></object>');
		    });
	}

	
	if($('chooseTrack')) {
		
		activeTrack = markTrack();
		if(activeTrack != false) {
				chooseTrack(activeTrack, $('chooseTrack').getElement('a[class=' + activeTrack + ']'));
		} else {
				chooseTrack('business', $('chooseTrack').getElement('a'));
		}
		
		clickTrackItems = $('chooseTrack').getElements('a');
		
		for(var i = 0;i<clickTrackItems.length;i++) {
		
			currentElement = clickTrackItems[i];
			currentElement.addEvent('click', function(e) {
									e = new Event(e).stop();
									chooseTrack(this.getProperty('class'));
											});
		}
		

		
	}
	
	// Tooltipps initialisieren
	var ToolTipsAdvisory = new Tips($$('.ttip'), {
		showDelay: 200,
		hideDelay: 400,
		fixed: true
	});
	
	// Tooltipps initialisieren
	var ToolTipsNormal = new Tips($$('.tooltip'), {
		showDelay: 200,
		hideDelay: 400,
		className: 'special',
		fixed: false
	});
	
	// Tooltipps initialisieren
	var ToolTipsSessions = new Tips($$('.session-tooltip'), {
		initialize:function(){
			this.fx = new Fx.Style(this.toolTip, 'opacity', {duration: 200, wait: false}).set(0);
		},
		onShow: function(toolTip) {
			this.fx.start(1);
		},
		onHide: function(toolTip) {
			this.fx.start(0);
		},
		showDelay: 100,
		hideDelay: 500,
		className: 'session',
		fixed: false,
		maxTitleChars: 170
	});
	
					
	
	
});


/**
 * instant functions
 */

// PopUp Script //
var pop = null;

function popup(obj,w,h) {
  var url = (obj.getAttribute) ? obj.getAttribute('href') : obj.href;
  if (!url) return true;
  w = (w) ? w += 20 : 150;  // 150px*150px is the default size
  h = (h) ? h += 25 : 150;
  var args = 'width='+w+',height='+h+',resizable,'+'scrollbars=yes';
  pop = window.open(url,'',args);
  return (pop) ? false : true;
}

function flashpopup(url,w,h) {
  
  if (!url) return true;
  w = (w) ? w += 20 : 150;  // 150px*150px is the default size
  h = (h) ? h += 25 : 150;
  var args = 'width='+w+',height='+h+',resizable,'+'scrollbars=yes';
  pop = window.open(url,'',args);
}


/**
 * adds the title (second h1-tag) at the end of the url in the link-object
 */
function addTitle(linkObj) {
	linkObj.href += document.getElementsByTagName("h2")[0].innerHTML;
}
	
	
function setVoting(id){
  document.getElementById("voting").value=id;
  return true;
}
