var rotate_headlines,map_load, media_load, rotate_time = 12000, height = 240, thumbs_height = 52, thumbs_right = [-70,9];

$(function(){

	// delete when webpart pushed
	$('#topics').each(function(){
		var t = $(this);
		$(this).find('a.more-topics').click(function(){
			t.find('ul').animate({'margin-left':'-' + t.width() + 'px'});
		});
		$(this).find('a.previous-topics').click(function(){
			t.find('ul').animate({'margin-left': 0 + 'px'});
		});
	});

	$.getScript('/siteassets/script/part-headlines.js',function(){});
	
	$.getScript('/siteassets/script/jquery.jscrollpane.min.js',function(){
		$('#events-scroll').jScrollPane();
	});
	
	$.get('/_assets/_cache-tweet.ashx?get=latest.json', function(tweet){
		tweet = eval(tweet);
		$('#latest-post .text').html(parse_tweet(tweet.text));
		$('#latest-post .time').before(' ');
		$('#latest-post .time').html(tweet.created_at.replace(' ','&nbsp;'));
	});
	
	$('#flipper>ul>li>a').click(function(){
		$('#flipper>ul>li').removeClass('selected');
		$(this).parent().addClass('selected');
		track_ajax($(this).find('.title').text() + ' Tab');
		return false;
	});	
	
	$.getScript("/_assets/listdata.ashx?list=map center options&site=/maps&variable=map_center_options&key=title", function(){

	$('#maps-tab-sub-title').text(map_center_options['Home Tab Sub Title'].Value);																															});
	map_load = function(){
		$.getScript("/_assets/listdata.ashx?list=map services&limit=999&site=/maps&variable=home_services&caml=<OrderBy><FieldRef%20Name='Order0'%20/></OrderBy><Where><Eq><FieldRef%20Name='Theme'%20/><Value%20Type='Lookup'>Home%20Page</Value></Eq></Where>", function(){
			$.getScript("/_assets/listdata.ashx?list=map layers&limit=999&site=/maps&variable=layers&key=id&caml=<OrderBy><FieldRef Name='Service' /><FieldRef Name='Title' /></OrderBy>", function(){				
				$.getScript("/_assets/listdata.ashx?list=map layer fields&limit=999&site=/maps&variable=layer_fields&key=id&caml=<OrderBy><FieldRef Name='Layer' /><FieldRef Name='Order0' /></OrderBy>", function(){																													
					$.getScript("/siteassets/script/arcgislink.js", function(){
						$.getScript('/siteassets/script/part-map-home.js?='+new Date());
					});					
				});
			});
		});
	}
	
	$('#flipper li.tab>a').click(function(){
		if(!$(this).parents('li').attr('id') || $(this).hasClass('loaded')) return false;
		$(this).addClass('loaded');
		var tab_init = $(this).parents('li').attr('id');
		if(typeof(window[tab_init]) === 'function')
			window[tab_init]();
	});
	
	$('#calendar .layout-left .layout-top a').live('click', function(e){
		if(!$(this).hasClass('prev') && !$(this).hasClass('next')) return true;	
		e.preventDefault();

		var __date = $('#calendar input.calendar-date').val().split(',');
		var _date = new Date(__date[0],(1*__date[1]-1),__date[2]);
		var date = _date;
		
		if($(this).hasClass('prev'))
			date = set_month(-1, _date);
			
		if($(this).hasClass('next'))
			date = set_month(1, _date);
		
		$('#calendar .calendar-wrap')
			.html('<img src="/siteassets/images/layout/ajax-loader-g.gif" /> Loading Calendar');

		$.get('/_assets/webparts/HomeFlipper-Calendar.ashx?date='+
			  (date.getMonth()+1)+'/'+date.getDate()+'/'+date.getFullYear(),
			function(data){
				$('#calendar .calendar-wrap').html(data);
				$('#events-scroll').jScrollPane();
			}
		);		
		return;
	});	

	$('#calendar .small-calendar a').live('click', function(e){
		e.preventDefault();
		
		var _date = $(this).attr('rel');
		var date = new Date(_date.split(',')[0],(_date.split(',')[1]-1),_date.split(',')[2]);
		var m = date.getMonth()+1;
		var y = date.getFullYear();
		var x = $('#events-scroll').parent();
		$('#events-scroll').remove();
		var daysoweek = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"]
		$('#events-list-title')
			.text('Events on '+daysoweek[date.getUTCDay()] + ' the ' + ordi(date.getDate()));
		
		if(!$(this).parent().hasClass('active')){		
			x.append('<div id="events-scroll"><div class="scroll-inner">No events on this day.</div></div>');
			return;
		}
		
		x.append('<div id="events-scroll"><div class="scroll-inner"><img src="/siteassets/images/layout/ajax-loader-g.gif" /> Loading Events</div></div>');		
				
		$.get('/_assets/webparts/HomeFlipper-Calendar.ashx?date='+m+date.format("/dd/")+y+'&get=events-list',
			function(data){
				$('#events-scroll .scroll-inner').html('<ul>'+data+'</ul>');
				$('#events-scroll').jScrollPane();
			}
		);		
		
		return false;
	});
	
	media_load = function(){
		$.getScript("/siteassets/jwplayer/jwplayer.js",function(){
			play_video('video-player', jwplayer_video.poster, jwplayer_video.http, jwplayer_video.rtmp, {});
		});
	};
});
function set_month(m, o){	
	var n = new Date(o.getFullYear(), o.getMonth()+m, o.getDate());	
	if(n.getDate() < o.getDate())
		n = new Date(n.getFullYear(), n.getMonth(), 0);
	return n;
}
function next_headlines(thumb){
	if(!$('#headlines').length) return false;
	if(!thumb) thumb = $('#headlines .thumbnails ul li:first-child').next();
	if(thumb.index() == 0 || !rotate_headlines) return false;
	clearTimeout(rotate_headlines); var i = 0;
	while(thumb.index() != 0){ i++; if(i > 10) { clearTimeout(rotate_headlines); $('#main').append('<p>'+thumb.index()+'</p>'); break; }
		$('#headlines .thumbnails ul li:first-child').remove().appendTo('#headlines .thumbnails ul');
		$('#headlines .layout-right ul li:first-child').remove().appendTo('#headlines .layout-right ul');
	}
	var src = thumb.find('img').attr('src');
	$('#headlines .layout-left').css({'background-image':'url('+src.replace('-thumb-','-')+')'});
	if(!$('#headlines').hasClass('hovered'))
	rotate_headlines = setTimeout("next_headlines()", rotate_time);
}
function parseDate(str) {
	var str = str || '';
	var v=str.split(' ');
	return new Date(Date.parse(v[1]+" "+v[2]+", "+v[5]+" "+v[3]+" UTC"));
}
function parse_tweet(text) {
	var text = text || '';	
	text = text.replace(/[A-Za-z]+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&~\?\/.=]+/g, function(url) {
		return url.link(url);
	});	
	text = text.replace(/[@]+[A-Za-z0-9-_]+/g, function(u) {
		var username = u.replace("@","")
		return u.link("http://twitter.com/"+username);
	});
	text = text.replace(/[#]+[A-Za-z0-9-_]+/g, function(t) {
		var tag = t.replace("#","%23")
		return t.link("http://search.twitter.com/search?q="+tag);
	});
	return text.replace(/<a/g, ' <a target="_blank"');
}
