/* ~EN: homepage slideshow/video functions */
var slideshow = {
	show : null,
	show_transition : function(curr,next,opts){
		var curr_id=curr.id.replace('-content','-cities');
		var next_id=next.id.replace('-content','-cities');
		$('#'+curr_id).children('a').toggleClass('selected');
		$('#'+next_id).children('a').toggleClass('selected');	
	},
	ie_controls_set : false,
	
	controls : null,
	slide : -1,
	overlay : null,
	wrapper : null,
	resume_timers : [],
	unsupported : {
		eles : [],
		hide : function(ary){
			ary = ary || this.eles;
			
			for(var i=0; i<ary.length; i++){
				if(typeof ary[i]!='object'){
					ary[i]=$(ary[i]);
				}
				ary[i].hide();
			}
		},
		
		show : function(ary){
			ary = ary || this.eles;
			
			for(var i=0; i<ary.length; i++){
				if(typeof ary[i]!='object'){
					ary[i]=$(ary[i]);
				}
				ary[i].show();
			}
		}	
	},
	
	video : {
		current : null,
		player : null,
		playing: false,
		urls : {
			youtube : {
				base : 'http://www.youtube.com/embed/',
				q : '?autoplay=1&showinfo=0&wmode=transparent'
			}
		},
		play : function(service,id){
			if(is_ie6())
				return false;
//			this.current=$('#'+id);
			this.player=$(slideshow.overlay).children('.content').children('.player');
			log('current slide: '+slideshow.slide);

			slideshow.show.cycle('pause');
			slideshow.clear_timeouts();
			
			switch(service){
				case 'youtube':
				default:
					service=this.urls.youtube;
					break;
			}

			this.player.attr('src',service.base+id+service.q);
			
			slideshow.unsupported.hide();
			
			if ($.browser.msie && $.browser.version.substr(0,1)==7) {
				$(slideshow.wrapper).toggleClass('show');
				$(slideshow.wrapper+'-ie').toggleClass('show');
//				$(slideshow.wrapper+'-ie').show();
			}
			
			this.player.show();
			slideshow.overlay.show();
			this.playing=true;
		},
		
		close : function(){
			slideshow.overlay.hide();
			slideshow.unsupported.show();
			
			if ($.browser.msie && $.browser.version.substr(0,1)<=7) {
				$(slideshow.wrapper).toggleClass('show');
				$(slideshow.wrapper+'-ie').toggleClass('show');
				$(slideshow.wrapper+'-ie').hide();
			}
			
			this.player.attr('src','');
			this.playing=false;
			slideshow.show.cycle('resume');
		}

	},
	
	clear_timeouts : function(timer){
		timer = timer || this.resume_timers;
		for(var i=0; i<timer.length; i++){
			clearTimeout(timer[i]);
		}
		timer = [];
	},
	control : {
		over : function(i){
			return function(){
				if(!slideshow.video.playing){
					slideshow.show.cycle('pause');
					slideshow.show.cycle(i);
				}				
			}
		},
		out : function(i){
			return function(){
				if(!slideshow.video.playing){
					slideshow.slide=i;
					slideshow.resume_timers.push(setTimeout(function(){
						slideshow.show.cycle('resume');
					}, 5000));
				}
			}
		}
	}
};
