var $j = jQuery.noConflict();



swfobject.registerObject("apre", "9.0.0");


jQuery(function($) {	
	$.preloadCssImages();
	
	var yetVoted=false; // TODO retrieve cookie
	var newsOn=false;
	var realHome=false;
	var url ="" +location.href ;
	//disattivo i link
	$('.colonna4 a').each(
		function() {
			$(this).attr('rel',$(this).attr('href'));
			$(this).attr('href','javascript:');
			$(this).css('cursor','default');
			$(this).css('color','#949494');
		});
	
	var anchor= url.split('#');
	/*if(anchor[1] != null && anchor[1] =="homePage")
		realHome=true;
	else
		realHome=false;
	
	
	if(!realHome)
	{
		$('#ftpPanel').fadeIn('slow');
		
		$('#emailPanel').fadeIn('slow');
		setTimeout(function() {
			
		
	//	$('#flashmovieOne').fadeIn('fast',
	//			function()
	//			{
					
					$('#macSpento').fadeIn('slow');
					$('#accensione').fadeIn('slow',function()
											{
						$('#bombz').fadeIn('slow', function()
								{
								//$('#flashmovieOne').fadeIn('slow');
							});

											}
					);
		//		}
		//);
		},2000);
		setTimeout(
				function() 
				{
					$('#flashmovieOne').show();
					flashManifestati();
		},10000);
		setTimeout(function() {
			$('#manina').fadeIn('slow');
			setInterval(function() {
				$('#manina').animate({left:'-20px'},200,function()
						{
						$('#manina').animate({left:'-7px'},200); 
						});
						
			}, 4000);
		}
		,6000);	
		
	}
	else
	{
		$('#awesome').fadeIn('slow');
		
		/*movieTwo='<div id="flashmovieTwo">'+
		'<script type="text/javascript">'+
			
		"	AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0','width','950','height','567','src','flash/home','quality','high','name','flashHome','wmode','transparent','id','flashMovie','pluginspage','http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash','movie','flash/home' );"+
		"</script>"+
	"</div>";
		
		$('#header').prepend(movieTwo);*/
		//AC_FL_RunContent( 'codebase','http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0','width','950','height','567','src','flash/home','quality','high','name','flashHome','wmode','transparent','id','flashMovieTwo','pluginspage','http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash','movie','flash/home' );
	/*	$('#flashmovieTwo').fadeIn('slow');
		$('#flashmovieTwo').css('z-index',2);
		$('#newsArea').show();
		
	}*/
	
	
	
	$('#canvasInterface').mouseup(function() {
		myJavascriptObject.spray_off();
	});
	
	$('#canvasInterface').mousedown(function() {
		myJavascriptObject.spray_on();	
	});
	
	$('#closeBar').click(function()
			{
			$.cookie("bar", "closed");
		$('#barText').fadeOut(200,function (){
			$('#barContainer').slideUp(200	);
			$('#container').animate({top: '0'},200);}	
			);
	});
	
/*
	setTimeout(function() {
	
		if( ($.cookie("bar"))!="closed" )
		{
			$('#container').animate({top: '+31px'},200);
			$('#barContainer').slideDown(200,function () { $('#barText').fadeIn(); });
		}
		
	}, 18000);
*/	
	
	$('.closeNews').click
	(
			
		function(){
			 if (newsOn){
				 $('#colonnaVediNews').fadeOut('fast',function(){
					 $('.hideWithNewsOn').fadeIn('normal');
				 });
				 newsOn=false;
			 } 
			 
		}
	
	);
		//$('#flashmovieTwo').show('fast');
	$('#moreDetails').click
	(function()
	{
		$(this).hide('slow');
		$('#minimizza').css("backgroundImage","url(./images/bottone_collapse_footer.png)");
		$("#minimizzabile").animate(
		{
			height: '380px',
			paddingTop : '20px',
			paddingRight : '0px',
			paddingBottom : '20px',
			paddingLeft : '50px' },200,"linear",function(){$("#minimizzabile div").fadeIn('fast');});
	});
	
	$('#muteOnOff').toggle(
		function() {
			try{
				myJavascriptObject.spegniSuono();
				}
			catch(e){}
		},
		function() {
			try{
				myJavascriptObject.accendiSuono();
			}
			catch(e){}
		}
	);
	
	$('#minimizza').toggle
	(
		function()
		{
			$('#moreDetails').hide('slow');
			$(this).css("backgroundImage","url(./images/bottone_collapse_footer.png)");
			$("#minimizzabile").animate(
			{
				
				height: '380px',
				paddingTop : '20px',
				paddingRight : '0px',
				paddingBottom : '20px',
				paddingLeft : '50px' },200,"linear",function(){$("#minimizzabile div").fadeIn('fast');});
		},
		function()
		{
			$(this).css("backgroundImage","url(./images/bottone_show_footer.png)");
			$("#minimizzabile div").fadeOut('fast',function(){$("#minimizzabile").animate(
			{
				
				height: '20px',
				paddingTop: '0px',
				paddingRight: '0px',
				paddingBottom: '0px',
				paddingLeft: '0px'
			},200,"linear");});
		}
	
	);
	//$('#commentaBox').css("width","275px");
	$('#addComment').click
	(
			function() {
				
				$("#commentaBox").fadeIn('fast');
				
				$('#cancelComment').fadeIn('fast');
				
				
			});/*,
			function() {
				$("#commentaBox").fadeOut('fast');
				$('#cancelComment').fadeOut('fast');
				$('#addComment').attr('class','addComment');
				
				
			}
		
	
	);*/
	
	$('.popUp .close').click( 
		function() {
			$(this).parent().fadeOut('fast');
		});
	
	$('#awesome .scrollable').scrollable({next: '#awesome .scroll_next',keyboard : false, circular:true, speed:600});
	$('#awesome .scrollableVertical').scrollable({vertical: true, next: '#awesome .scroll_next',keyboard : false, circular:true, speed:600});
	
	$('#awesome .scrollable .items').css("left", "-474px");
	$('#awesome .scrollableVertical .items').css("top", "-300px");
	
	
	//$('#seenOn[rel]').overlay();
	$('#cancelComment').click(
		function() {
			$("#commentaBox").fadeOut('fast');
		});
	$(".slidetabs").tabs("#miniSlide > div", {

		// enable "cross-fading" effect
		effect: 'fade',
		fadeOutSpeed: "slow",

		// start from the beginning after the last tab
		rotate: true
		// use the slideshow plugin. It accepts its own configuration
	}).slideshow();
	/* api=$(".slidetabsTwo").tabs("#miniSlideTwo > div", {

		// enable "cross-fading" effect
		effect: 'fade',
		fadeOutSpeed: "slow",
		next:'#nextSiteShow',
		// start from the beginning after the last tab
		rotate: true
		// use the slideshow plugin. It accepts its own configuration
	}).slideshow();*/
	
	
	if(false) // TODO is male
		$('#bt_inlove').attr('title', 'orgasmatic');
	
	$(".voteIcon[title]").tooltip({ position: "bottom center", tipClass: 'jquery_tooltip'});
	
	Blacktrend.form.registerCallback(document.getElementById('form__vote'), function(response) {
		$('#messageVote').fadeIn('slow');
		$('.voteIcon .icon').css('cursor', 'auto');
		
		// find max (response is an object, not an array)
		var max = 0;
		for(var i in response.values)
			max = Math.max(max, response.values[i]);
		
		for(var i in response.values) {
			$('<div class="histogram'+(response.values[i] == max?' max':'')+'" style="height: 0px;"></div>'). // more than one max possible
					appendTo('#bt_'+i).
					animate({height: parseInt(response.values[i]*35/max)+'px'}, 'slow'); // XXX magic number - % should be used
			// val : max = height : 35
			
			$('<div class="vote_pct" style="display: none;">'+response.values[i]+'%</div>').
				appendTo('#bt_'+i).
				fadeIn('slow');
		}
	});	
	$('.voteIcon').click(function() {
// XXX
if(yetVoted)
return;
yetVoted = true;
		$(this).addClass('selected');
		$('#vote__vote').attr('value', $(this).attr('id').replace('bt_', ''));
		
		// TODO investigate if calling submit() is safe, as it might override default form behaviour
		Blacktrend.form.submit(document.getElementById('form__vote'));
	});
	
	//gestione delle bombolette cursore;
	$("#bt_Hype").click(function(){$('#canvasInterface').css("cursor","url('./images/bonza_arancio.ico'),auto");});
	$("#bt_Code").click(function(){$('#canvasInterface').css("cursor","url('./images/bonza_verde.ico'),auto");});
	$("#bt_Look").click(function(){$('#canvasInterface').css("cursor","url('./images/bonza_gialla.ico'),auto");});
	$("#bt_Feed").click(function(){$('#canvasInterface').css("cursor","url('./images/bonza_azzurra.ico'),auto");});
	

	
// FACEBOOK LIKES
	Blacktrend.util.replaceFacebookLikes();
	
	Blacktrend.remote.place(
		"http://feeds.feedburner.com/typepad/sethsmainblog",
		"#godin_content",
		function(item) {
			return '<div class="entry">'+
					'<a href="'+item.link+'" target="_blank">'+item.title+'</a>'+
				'</div>';
		},
		1
	);


	Blacktrend.remote.place(
		'http://feeds.feedburner.com/net/topstories',
		'#net__feed',
		function(item) {
			return '<a href="'+item.link+'" target="_blank">'+item.title+'</a><br />';
		},
		6
	);

	Blacktrend.remote.place(
		"http://www.techmeme.com/index.xml",
		"#techmeme_content",
		function(item) {
			return '<a href="'+item.link+'" target="_blank">'+item.title+'</a>';
		},
		3
	);

	Blacktrend.remote.each(
		"feed/news.xml",
		function(item) {
			var description = $('<div>'+item.description+'</div>');
			var img_src = description.find('img').attr('src');
			description.find('img').eq(0).remove();
			
			$('<div class="news">'+
				'<h2 class="title"><a style="color: #FCB73F;">'+item.title+'</a></h2>'+
				//'<div class="date">'+item.updated+'</div>'+
				'<div class="content">'+(
					description.html().length < 85? //XXX magic number
					description.html():
					description.html().substring(0, 70)+'...' //XXX magic number
				)+'</div>'+
				'<div class="more"><a>read all</a></div>'+
			'</div>').
			appendTo('#news_container').
			find('.more a, .title a').
			click(function() {				
				$('#colonnaVediNews .title').html(item.title);
				$('#colonnaVediNews .date').html(item.updated);
				// note: description contains html with escaped tags (i.e. &lt;img /&gt;)
				$('#colonnaVediNews .content').html(description.html());
				$('#colonnaVediNews .image').attr('src', img_src);
				$('#colonnaVediNews .twitter').html(
					'<a href="http://twitter.com/share" class="twitter-share-button" data-url="'+
					item.link+
					'" data-count="horizontal" data-via="twgng" data-related="twgng:The Web Gang">Tweet</a>'+
					'<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>'
				);
// XXX
if(!newsOn) {
$('.hideWithNewsOn').fadeOut('fast',function(){
$('#colonnaVediNews').fadeIn('normal');
});
newsOn=true;
}
			});
		},
		3
	);
		
// BUZZER
	(function() {
		var feeds = [];
		var LIMIT = 1;
		var DEFAULT_ENABLED = false;
		
		var setEnabled = function(i, enabled) {
			enabled = enabled?true:false;
			for(var j=0; j<feeds.length; j++)
				feeds[j].blacktrend_enabled = false;
			feeds[i].blacktrend_enabled = enabled;
			refresh();
		};
		
		var getEnabled = function(i) {
			if(feeds[i].blacktrend_enabled == undefined)
				feeds[i].blacktrend_enabled = DEFAULT_ENABLED;
			return feeds[i].blacktrend_enabled;
		};
		
		var showFeeds = function() {
			$('#buzzer .feeds').empty();
			
			for(var i=0; i<feeds.length; i++)
				//$('<div class="item '+(i%2==0?'even':'odd')+'" />').
				$('<div class="item" />').
					click(
						(function(i) { 
							
								
							$('#buzzer .left div.item:first-child').addClass('buzzerSelected');
							return function() {
								$('#buzzer .left div.item').removeClass('buzzerSelected');
								$(this).addClass('buzzerSelected');
							setEnabled(i, true);
						}}(i))
					).
					//append(
					//	$('<input id="feed_'+i+'" type="checkbox" '+(getEnabled(i)?'checked="checked" ':'')+'/>').
					//		change(function(i) { return function(){
					//			setEnabled(i, this.checked);
					//		}}(i))
					//).
					//append('<label for="feed_'+i+'">'+feeds[i].channel.title+'</label><br />').
					append('<label for="feed_'+i+'">'+feeds[i].channel.title+'</label><br />').
					appendTo('#buzzer .feeds');
		};
		
		var refresh = function() {
			$('#buzzer .items').empty();
			var itemsCount = 0;
			for(var i=0; i<feeds.length; i++)
				if(getEnabled(i))
					for(var j=0; j<feeds[i].items.length && itemsCount++ < LIMIT; j++)
						$('#buzzer .items').
							append('<a class="item" href="'+feeds[i].items[j].link+'" target="_blank">'+feeds[i].items[j].title+'</a>').
							append('<p>'+feeds[i].items[j].description+'</p>');
		};
		
		Blacktrend.remote.get('power150', undefined, function(data) {
			feeds = data;
			setEnabled(0, true);
			showFeeds();
			refresh();
		}, 'json');
	}());
	


	window.refreshComments = function() {
		Blacktrend.remote.place(
			"feed/comments.xml",
			'#comments_container',
			function(item) {
				return '<div class="comment">'+
						'<h2 class="title">'+item.title+'</h2>'+
						'<div class="date" style="margin-top: 4px;">'+item.updated+'</div>'+
						'<div class="content">'+item.description+'</div>'+
					'</div>';
			},
			3
		);
	};
	
	refreshComments();
	
	Blacktrend.form.registerCallback(document.getElementById('form__add_comment'), function(response) {
		refreshComments();
	});
	
	$('.popup form').not('#form__order_idea').not('#form__order_idea__paypal').not('#form__rivista_1').not('#form__suggest_video').not('#form__suggest_feed').each(function() {
		Blacktrend.form.registerCallback(this, function(response) {
			var seconds = 3;
			var countDown = function() {
				if(seconds == -1)
					//Blacktrend.popup.hide();
					$.address.path($.address.path().replace(/\/popup\/.+/, ''));
				else {
					Blacktrend.popup.popups.form_feedback.setTitle('Popup closing in... '+seconds+' seconds');
					$('#form_feedback .seconds').html(seconds);
					seconds--;
					setTimeout(countDown, 1000);
				}
			}
			countDown();
			
			Blacktrend.popup.popups.form_feedback.show(); // TODO modal			
		});
	});
	
	
	Blacktrend.form.registerCallback(document.getElementById('form__suggest_feed'), function(response) {
		$('#form__suggest_feed').replaceWith('<span>Thanks</span>');
	});
	
	Blacktrend.form.registerCallback(document.getElementById('form__suggest_video'), function(response) {
		$('#video_chart span:contains("or")').remove();
		$('#video_chart .suggest_link').replaceWith('<span>Thanks</span>');
		Blacktrend.video_chart.hide_form();
	});
	
	Blacktrend.form.registerCallback(document.getElementById('form__order_idea'), function(response) {
		$('#form__order_idea__paypal input[name=custom]').val(response.id);
		$('#form__order_idea__paypal').submit();
	});
	
	setInterval(function()
	{
	var countSel=0;
	$('#form__rivista_1_1 input').each(
		function(){
			
			if($(this).is(':checked'))
			{
				$(this).parents("td").addClass("checked");
				$(this).parents("td").css("background","#FD0");
				countSel++;
			}
			else
			{
				$(this).parents("td").css("background","transparent");
				$(this).parents("td").removeClass("checked");
			}
		}
		);
	$('#countSelContacts').html(countSel);	
	}, 100);
/*	$('#form__rivista_1_1 input').live("mouseover mouseout"
		function(event)
		{
			 if (event.type == 'mouseover') {
					if(!$(this).parents("td").hasClass("checked"))
					{
						$(this).parents("td").css("background","#FFF");
					}
				}
		
				else
				{
					if(!$(this).parents("td").hasClass("checked"))
					{
						$(this).parents("td").css("background","transparent");
					}
				}
			
		}
		);*/
	
	setInterval(function() {
		Blacktrend.remote.get(
			'http://mystatus.skype.com/blacktrend.num',
			undefined,
			function(response) {
				if(!response)
					return;
				var status = undefined;
				switch(parseInt(response)) {
					case 0: status = 'unknown'; break;
					case 1: status = 'offline'; break;
					case 2: status = 'online'; break;
					case 3: status = 'away'; break;
					case 4: status = 'not_available'; break;
					case 5: status = 'do_not_disturb'; break;
					case 6: status = 'offline'; break;
					case 7: status = 'skype_me'; break;
					default: // TODO error
				}
				$('#skype_status').html('<a href="skype:blacktrend?call"><img src="images/skype/'+status+'.png" alt="Blacktrend: '+status+'" /></a>');
			},
			'text'
		);
	}, 10000);
	
	setInterval(function() {		
		$.ajax({
			url: 'actions.php',
			data: 'method=nasdaq',
			type: 'GET',
			dataType: 'json',
			success: function(response) {
				$('#nasdaq .content table').empty();
				if (response != null) {
					response.titles.forEach(function(title) {
						$('<tr />').
							append('<td>'+title['Nome']+'</td>').
							append('<td>'+title['Valore']+'</td>').
							append('<td>'+title['Percentuale']+'</td>').
							appendTo('#nasdaq .content table');
					});
				}
			}
		});
	}, 10000);

	// TODO (with wrapper)
	// mouseover(function() { $(this).css({ visibility: 'visible' }) }).
	// mouseout(function() { $(this).css({ visibility: 'hidden' }) }).

	$('<img class="scroll_next" src="images/scroll_right.png" alt="next" />').
		css({
			display: 'block',
			position: 'absolute',
			top: '132px',
			right: '0px'
		}).
		appendTo('#trend_tank .full');
	$('<img class="scroll_prev" src="images/scroll_left.png" alt="previous" />').
		css({
			display: 'block',
			position: 'absolute',
			top: '132px',
			left: '0px'
		}).
		appendTo('#trend_tank .full');
	
	
	//setInterval(function() {
/*
		$.ajax({
			url: 'actions.php',
			data: 'method=feed',
			type: 'GET',
			dataType: 'json',
			success: function(response) {
				$('#trend_tank .images').empty();
				$('#trend_tank .items').empty();
				response.items.forEach(function(item) {
					$('#trend_tank .images').append('<img src="'+item.Immagine+'" />');
					$('#trend_tank .descriptions').append(
						$('<div class="item" />').
							append('<h3 class="title"><a href="'+item.Link+'" target="_blank">'+item.Titolo+'</a></h3>').
							append('<span class="date">'+item.Data+'</span>').
							append('<p class="description">'+item.Descrizione+'</p>')
					);
				});
				
				$('#trend_tank .scrollable').scrollable({
					next: '#trend_tank .scroll_next',
					prev: '#trend_tank .scroll_prev', 
					circular: false,
					speed: 600
				});
				$('#trend_tank .scrollableVertical').scrollable({
					next: '#trend_tank .scroll_next',
					prev: '#trend_tank .scroll_prev', 
					vertical: true,
					circular: false,
					speed: 600
				});
			}
		});
*/
	//}, 10000);
		

	/*
	Blacktrend.remote.each(
		'http://feeds.feedburner.com/feed-post-trendsnow',
		function(item) {
			// description contains html with escaped tags (i.e. &lt;img /&gt;)
			$('#trend_tank__text').html(item.description).
				find('img').eq(0).appendTo($('#trend_tank__image').empty());
		},
		1
	);
	*/
	
	$('#talents_wanted .page').each(function() {
		var checkboxes = $(this).find('input[type="checkbox"]');
		var button = $(this).find('input.ready');
		checkboxes.change(function() {
			if(checkboxes.length != checkboxes.filter(':checked').length)
				button.attr('disabled', 'disabled').addClass('disabled');
			else
				button.removeAttr('disabled').removeClass('disabled');
		});
	});
	
	Blacktrend.form.registerCallback(document.getElementById('form__rivista_1'), function(response) {
		$('#form__rivista_1_1 .main table').empty();
		
		var renderContact = function(contact, i) {
			return '<td >'+
					'<div class="rivista_1_2 checkbox">'+
						'<input type="checkbox" id="rivista_1_1__'+i+'" name="mail[]" class="required" value="'+contact.email+'" />'+
						'<label class="checkbox" for="rivista_1_1__'+i+'">'+contact.name+'<br> &lt;'+contact.email+'&gt;</label>'+
					'</div>'+
				'</td>';
		};
		
		for(var i=0; i<response.contacts.length; i+=2) {
			var tr = $('<tr />').
				append(renderContact(response.contacts[i], i)).
				appendTo('#form__rivista_1_1 .main table'); //table is not .main! (because of scroll)
			if(i+1 < response.contacts.length)
				tr.append(renderContact(response.contacts[i+1], i+1));
		}
		
		$.address.path('/home/popup/rivista_1_2');
	});
	
	$('<div id="casella_vocale__player" />').
		css({
			display: 'block',
			width: '1px',
			height: '1px',
			position: 'absolute',
			bottom: '0px',
			right: '0px'
		}).
		appendTo('body');
	$f('casella_vocale__player', 'flash/flowplayer-3.2.5.swf',  {
		clip: {
			//baseUrl: 'http://blacktrend.com/streams/', - clips already have an url
			autoPlay: false,
			autoBuffering: true
		}
	}).playlist(
		'#casella_vocale .clips',
		{
			loop: false
		}
	);
	
	Blacktrend.util.refreshCasellaVocaleList();
	
	Blacktrend.form.registerCallback(document.getElementById('form__casella_vocale'), function(response) {
		$('#casella_vocale_1 input[type="submit"]').attr('disabled', 'disabled').addClass('disabled');
		Blacktrend.util.refreshCasellaVocaleList();
	});
	
	window.onStopRecording = function(filename) {
		jQuery.ajax({
			url: 'actions.php',
			data: 'method=check__casella_vocale&filename='+filename,
			type: 'GET',
			dataType: 'json',
			success: function(response) {
				if(response['exists']) {
					jQuery('#casella_vocale_1 input[name="filename"]').val(filename);
					jQuery('#casella_vocale_1 input[type="submit"]').removeAttr('disabled').removeClass('disabled');
					jQuery('#casella_vocale_1 .error_labels').empty();
				} else {
					jQuery('#casella_vocale_1 input[type="submit"]').attr('disabled', 'disabled').addClass('disabled');
					jQuery('#casella_vocale_1 .error_labels').html('There was an error in your recording. Please check your microphone and/or soundcard settings.');
				}
			}
		});
	}
});

