var page = -1;
var maxChars = 140;
var doPost = false;

var addthis_config ={
   ui_click : true
};

$(document).ready(function() {
	
	//$("#showfbrecmessage").colorbox({width:"50%", inline:true, href:"#recurringfacebookonlymsg"});
	//$.fn.colorbox({width:"50%", inline:true, href:"#recurringfacebookonlymsg"}); 
	
	//if ($.browser.msie && $.browser.version.substr(0,1)<7) {
	//	window.location="/ie6.html";
	//}
	$('a.addthis_button').hover(function(){return false;}, function(){return false;});
	
	if ($('#contact-feedback').length>0){
		$('#contact-feedback').click(function(){
			$('#fdbk_tab').click();
			return false;
		});
	}
	
	if ($('.notification').length>0){
		$('#notification-holder h2').html($('.notification').html());
		$.fn.colorbox({
			width: "574px",
			inline: true,
			href: "#notification-holder"
		});
		setTimeout("$.fn.colorbox.close();", 3000);
	}
	
	$("#id_reoccurance").change(function() {
		//TODO: check if facebook is selected, else show:
		show_msg = false;
		$('#tw-accounts input').each(function(){
			//console.log(($(this).is(':checked')));
			if (($(this).is(':checked'))&&($(this).attr('id').substr(0, 7)=='tw-user')){
				show_msg = true;
			}
		});
		if (!show_msg&&($('#fb-accounts input:checked').length==0)){
			show_msg=true;
		}
		if (show_msg) {
			$.fn.colorbox({
				width: "574px",
				inline: true,
				href: "#recurringfacebookonlymsg"
			});
		} 	
	});
	
	$('.err_msg .yes').click(function(){
		$('#tweetform').submit(); 
	});
	
	$('.err_msg .no').click(function(){
		$.fn.colorbox.close(); 
	});

	$('#sched-button').click(function(){
		
		if ($('#id_content').val()==""){
			$.fn.colorbox({width:"574px", inline:true, href:"#entermsg"}); 
			return false;
		}
		
		//
		//console.log($('#tw-accounts input:checked').length);
		if (($('#tw-accounts input:checked').length==0)&&($('#fb-accounts input:checked').length==0)){
			$.fn.colorbox({width:"574px", inline:true, href:"#pleaseselectaccountmsg"});
			return false;
		}
		
		//return false;
		
		nu = Date.now();
		sched = Date.parse($('#id_publish_date').val() + ' ' + $('#id_publish_time').val());
		
		if ((sched<nu)){
			//return confirm('This tweet will be published right away... Are you sure?');
			$.fn.colorbox({width:"574px", inline:true, href:"#publishnowsure"}); 
			return false;
		}else{
			return true;
			//return false;
		}
		//console.log(Date.now());
		//console.log($('#id_publish_date').val());
		//console.log($('#id_publish_time').val());
		
		//console.log(Date.parse($('#id_publish_date').val() + ' ' + $('#id_publish_time').val()));
		//return false;
	});
	
	logouttext = 'Click here to logout';
	orgtext = $('#welcome').html(); 
	settingstext = ', you can change your settings here!';
	$('#welcome').mouseover(function(){
		$('#welcome').html($('#welcome').text().replace('Hello', logouttext).replace(settingstext, ''));
	});
	
	$('#welcome').mouseout(function(){
		$('#welcome').html(orgtext);
	});
	
	$('.tweet').hover(function(){
		$(this).find('.deltweet, .edittweet').show();
		$(this).find('.icon').addClass('hover');
	}, function(){
		$(this).find('.deltweet, .edittweet').hide();
		$(this).find('.icon').removeClass('hover');
	})
	
	//recurrence
	if($('span.rec').length>0){
		$('span.rec').each(function(){
			$(this).html($($('#id_reoccurance option')[$(this).html()]).html());
		});
	}
	
	//towho
	if($('#towho').length>0){
		towho = $('#towho').val();
		if (towho!=""){
			$('#id_content').val('@'+towho+' ');
			countChars();	
		} 
	}
	
	$('#id_content').focus();
	
	//followers
	if ($("#followers").length>0){
		account = $("#friends-menu a:first").attr('id').replace('acc-','');
		url = "/friends/"+account+"/?&page="+page
		getFollowers(url);
  	}
	
	$('#friends-menu a.fb').click(function(){
		getFBFriends($(this).attr('href'));
		return false;
	});
	
	$('#friends-menu a.tw').click(function(){
		getFollowers($(this).attr('href'));
		return false;
	});
	
	
	//tweets opacity
	if ($(".tweet").length>0){
		$.each($(".tweet"),function(i){
			opac = (10 - i)/10;
			$(this).css('opacity', opac);
		});
	}
	
	if ($("#id_publish_date").length>0){
		$("#id_publish_date").datepicker({
				dateFormat: 'mm/dd/yy',
				changeMonth: true,
				changeYear: true			
		});
		
		$('#cal').click(function(){
			$("#id_publish_date").datepicker('show');
			return false;
		});
		
		$('#id_publish_time').timepickr();
		$('#clock').click(function(){
			$('#id_publish_time').focus();
		})
	}
	
if ($("#id_content").length>0){
// attach the key listener
$("#id_content").keyup(function(e) {
  var chars = $("#id_content").val().length;
		
		switch (e.keyCode){
			case 32:
				if (chars == 0){
					chars = 1;
				}
			default:
				//console.log(e.keyCode);
				// current count is...
				
				//console.log(chars);
				// allowed?
				/*
				if (chars >= maxChars) {
					// kill keyboard event...
					// e.stop();
					
					// inform them its full!
					$("warning").set("html", "<strong>limit reached!</strong>");
					
					// remove surplus chars
					textArea.set("value", textArea.get("value").substring(0,maxChars));
				}
				else {
					// reset warning field
					$("warning").set("html", "");   
				}
				*/
				// inform how much left
				
		}
		over = maxChars - chars;
		$("#sched-button").css('backgroundColor', '#669933');
		$("#sched-button").removeAttr('disabled');

		//console.log(over);
		if (over<0) {
			//console.log('over is kleiner dan nul...');
			$("#sched-button").css('backgroundColor', '#333333');
			$("#sched-button").attr('disabled', true);
			
		}else {
			if (over<10){
				$("#counter").css('color', '#FF3300');
			}else{
				$("#counter").css('color', '#666666');
			}
		}
		$("#counter").html(over);
		
		if (over<100){
			var urlfound = false;
			var array = $("#id_content").val().replace('\n', ' ').replace('\n', ' ').split(" ");
			for (var n = 0; n < array.length; n++){
				if(isUrl(array[n])){
					$('#shrinkurls').show();
					urlfound = true;
				}
			}
			
			if (($('#shrinkurls').css('display')=="block") && (!urlfound)){
				$('#shrinkurls').hide();
			}

		}else{
			$('#shrinkurls').hide();
		}
		//console.log(over);
});

}
    
$('#shrinkurls').click(function(){
	var urlarray = $("#id_content").val().replace('\n', ' ').replace('\n', ' ').split(" ");
	//console.log(array);
		for (var n = 0; n < urlarray.length; n++){
			if(isUrl(urlarray[n])){
				url = urlarray[n];
				//console.log(url+" is een urltje!");
				shortenURL(url);					
			}
		}
		
		//myArray = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/.exec($("#id_content").val());
	//console.log(urlarray);
	//array2 = /\b(https?|ftp|file)://[-A-Z0-9+&@#/%?=~_|!:,.;]*[-A-Z0-9+&@#/%=~_|]/.exec($("#id_content").val());
	//'console.log(array2);
	return false;		
});
    
function isUrl(s) {
  if (s.length>4){
	  var regexp = /(\S+\.{1}[^\s\,\.\!]+)/;
		return regexp.test(s);
	}else{
			return false;
	}
};

}); //docready end
//12semeok

var getFollowers = function(url){
		if ((page==0)||(page==1)){
			page=-1
		}
		spin = $('#spinner').clone();
		$('#followers').empty();
		//$(spin).attr('id')="spinner";
		$('#followers').append(spin);
		$('#spinner').show();
		$.get(url, function(data){
			$('#followers').append(data);
			$('#spinner').hide();
			$('#friendpager a').click(function(){
				getFollowers($(this).attr('href'));
				return false;
			});
		});
		//console.log($(spin));
		/*
		 * 
		 $.get("/followers/"+account+"/?page="+page, function(data) {
        	$(data).find('user').each(function(){
					console.log(this);
					$('#followers').append('<a href="/messages/@'+$(this).find('screen_name').text()+'" title="'+$(this).find('screen_name').text()+' - '+$(this).find('name').text()+'"><img src="'+$(this).find('profile_image_url').text()+'" alt="'+$(this).find('name').text()+'"/></div>');
					$('#spinner').hide();
				});
				$('#followers').append('<div id="friendpager">');
				console.log($('#followers img').length);
				if (page>1){
					$('#followers').append('<a class="prev rounded noborderbutton left" href="?page='+(page-1)+'" id="newer">newer</a>');
				}
				if ($('#followers img').length==101){
					$('#followers').append('<a class="next rounded noborderbutton right" href="?page='+(page+1)+'" id="older">older</a>');
				}
				
				$('#followers').append('</div>');
				$('#followers #older, #followers #newer').click(function(){
					//console.log('newer or older clicked!!');
					getFollowers(account, parseInt($(this).attr('href').replace('?page=','')));
					return false;
				});
    }, 'xml');*/

};

var getFBFriends = function(url){
		spin = $('#spinner').clone();
		$('#followers').empty();
		//$(spin).attr('id')="spinner";
		$('#followers').append(spin);
		$('#spinner').show();
		$.get(url, function(data){
			$('#followers').append(data);
			FB.XFBML.Host.parseDomElement(document.getElementById("followers"));
			$('#followers a.fb-msg').click(function(){
				url = $(this).attr('href').replace('hey-you!', $(this).find('.hidden .FB_Link').html());
				//alert(url);
				window.location = url;
				return false;
			});
			$('#spinner').hide();
		});
		//console.log($(spin));
		/*
		 * 
		 $.get("/followers/"+account+"/?page="+page, function(data) {
        	$(data).find('user').each(function(){
					console.log(this);
					$('#followers').append('<a href="/messages/@'+$(this).find('screen_name').text()+'" title="'+$(this).find('screen_name').text()+' - '+$(this).find('name').text()+'"><img src="'+$(this).find('profile_image_url').text()+'" alt="'+$(this).find('name').text()+'"/></div>');
					$('#spinner').hide();
				});
				$('#followers').append('<div id="friendpager">');
				console.log($('#followers img').length);
				if (page>1){
					$('#followers').append('<a class="prev rounded noborderbutton left" href="?page='+(page-1)+'" id="newer">newer</a>');
				}
				if ($('#followers img').length==101){
					$('#followers').append('<a class="next rounded noborderbutton right" href="?page='+(page+1)+'" id="older">older</a>');
				}
				
				$('#followers').append('</div>');
				$('#followers #older, #followers #newer').click(function(){
					//console.log('newer or older clicked!!');
					getFollowers(account, parseInt($(this).attr('href').replace('?page=','')));
					return false;
				});
    }, 'xml');*/

};

var shortenURL=function(url){
	$('#shrinkurls').html('shrinking <img style="margin-left:-115px;"src="http://media.laterbro.almostready.net/img/spinner.gif" alt="" id="spinner"/>');
	// set up default options
  var defaults = {
    version:    '2.0.1',
    login:      'laterbro',
    apiKey:     'R_763ecc0dd4d66a7faaf8672b25453547',
    history:    '0'
  };

  var theurl = "http://api.bit.ly/shorten?"
    +"version="+defaults.version
    +"&longUrl="+url
    +"&login="+defaults.login
    +"&apiKey="+defaults.apiKey
    +"&history="+defaults.history
    +"&format=json&callback=?";
    
    //console.log(theurl);

    $.getJSON(theurl, function(data){
    	//console.log(data);
    	if (typeof(data.results[url])!=='undefined'){
	    		shortURL = data.results[url].shortUrl;
	   	}
    	if (typeof(shortURL)!=='undefined'){
				$("#id_content").val($("#id_content").val().replace(url, shortURL));
			}
			var chars = $("#id_content").val().length;
			var over = 140 - chars;
			if (over<10){
				$("#counter").css('color', '#FF3300');
			}else{
				$("#counter").css('color', '#666666');
			}
			$("#counter").html(over);
			$('#shrinkurls').html('Shrink urls!');
    	//console.log(data);	
    });
};

var countChars = function(){
	var chars = $("#id_content").val().length;
	var over = maxChars - chars;
	if (over<10){
		$("#counter").css('color', '#FF3300');
	}else{
		$("#counter").css('color', '#666666');
	}
	$("#counter").html(over);
	//console.log(over + 'vanuit: countChars');
}; 