if(!Array.indexOf){
	    Array.prototype.indexOf = function(obj){
	        for(var i=0; i<this.length; i++){
	            if(this[i]==obj){
	                return i;
	            }
	        }
	        return -1;
	    }
	}
	
/* PUBLIC FUNCTIONS 
 * ----------------------------------------------------------------------------------------------------------*/

function get_autocomplete_data(target)
	{
		var data = new Array();
		$("#"+target+" option").each(function(i){
			var opt = new String();
			if ($(this).text() != "---------"){
				opt = $(this).text();
	            data.push(opt);
			}
        });
		return data;

}

function open_dialog_on_target_click(target_id, dialog_id){
	$("#"+target_id).click(function(){
		open_pop(dialog_id)
		return false;
	});
}

$(document).ready(function(){
	$("#feed-filter li a").each(function(obj){
		if(!$(this).parent("li").hasClass("first")){
			$(this).simpletip({
				content: $(this).attr("title"),
				position: ["-24","-18"],
				baseClass: "feed-filter-tooltip"
			});
		}
	});
	$("#feed-filter li a").click(function(e){
		e.preventDefault();
		$("#feed-filter li").removeClass("active");
		$(this).parent("li").addClass("active");
		var filters = $(this).attr("rel");
		//aggiornare feed via ajax
		$.ajax({
			type: "GET",
			url: $("#real-filter-url").val(),
			data: {filters:filters},
			beforeSend: function(){
				$(".feed-list").html('<img src="/media/img/preload.gif" alt="Loading..." id="loading-gif"/>');
			},
			success: function(feeds){
				$(".feed-list").html(feeds);
				updateViewMoreListeners();
				enableShareResult();
		   }
		 });
		return false;
	});
	updateViewMoreListeners();
	$(".to-hover").hover(
		function(){
			$(this).addClass("mouse-over")
		},
		function(){
			$(this).removeClass("mouse-over")
		}
	);
	$(".to-link").click(function(){
		var rel = $(this).attr("rel");
		if(rel != "0")
		{
			window.location.href = rel;
		}
		else return false;
	});
	$(".match_url").each(function(index, obj){
		//var obj = $(this)
		getTinyURL($(obj).val(), function(tinyurl){
			// Do something with tinyurl:
			var href_attr = ""
			var href_attr = $(obj).nextAll(".twitter-share-button").attr("href");
			$(obj).nextAll(".twitter-share-button").attr("href", href_attr+tinyurl);
		});
	});
});

function updateViewMoreListeners() {
	$("a.view-more").click(function(e){
		e.preventDefault();
		var href = $(this).attr("rel");
		var filters = $("#feed-filter li.active a").attr("rel");
		if (!filters){filters = "all"}
		$.ajax({
				type: "GET",
				url: href,
				data:{filters:filters},
				beforeSend: function(){
					$(".feed-list").append('<img src="/media/img/preload.gif" alt="Loading..." id="loading-gif"/>');
					curvyCorners.redraw();
				},
				success: function(feeds){
					$("#loading-gif").remove();
					$(".view-more-container").remove();
					$(".feed-list").append(feeds);
					curvyCorners.redraw();
					updateViewMoreListeners();
					enableShareResult();
			   }
			 });
		return false;
	});
}

function enableShareResult() {
	$(".type_result").unbind('mouseenter mouseleave');
	$(".type_result").hover(
		function(){
			$(this).addClass("fb-share-on")
		},
		function(){
			$(this).removeClass("fb-share-on")
		}
	);
}

function open_pop(id){
	$("#"+id).dialog({
		autoOpen: false,
		bgiframe: true,
		resizable: true,
		modal: true,
		width: 900,
		dialogClass : "text-dialog",
		maxHeight: 600,
		overlay:{ 
			backgroundColor: "#1F4678",
			opacity: 0
		},
		buttons: {
				Ok: function(){
					$(this).dialog("close");
				}
			}
	});
	$('#'+id).dialog("open");
}

function get_tweets(){
	$(document).ready(function(){
			$.ajax({
		   type: "GET",
		   url: "http://twitter.com/statuses/user_timeline.json?",
		   data: "screen_name=konkuri&count=5",
		   dataType : "jsonp",
		   success: function(data, msg){
		     $("#twitter_update_list").append('<li><a href="http://twitter.com/konkuri/statuses/'+data[0]["id"]+'" title="'+data[0]["text"]+'" target="_blank">'+data[0]["text"]+'</a></li>');
		   }
		 });

	})
}

function create_konami_dialog(){
	$("#dialog_konami").dialog({
		width:660,
		height:600,
		autoOpen:false,
		modal: true,
		overlay: {
			backgroundColor: '#1F4678',
			opacity: 0
		}
	});
}

function add_konami_listener(){	
	var kkeys = [], konami = "38,38,40,40,37,39,37,39,66,65";  
	
	$(document).keydown(function(e) {
		kkeys.push( e.keyCode );
		if ( kkeys.toString().indexOf( konami ) >= 0 ){
			$(document).unbind('keydown',arguments.callee);
			$("#dialog_konami").dialog('open');
			add_konami_listener()
		}
	});
	
}

function findPos(obj) {
    var curleft = curtop = 0;
    if (obj.offsetParent) {
        do {
            curleft += obj.offsetLeft;
            curtop += obj.offsetTop;
        } while (obj = obj.offsetParent);
        return [curleft,curtop];
    }
}

function time_select(target)
{
    var target_position = findPos(target)
    $(target).click(function(event){
        event.stopPropagation();
        $(this).select();
        target_input = target;
        $(".support-time").css("left",target_position[0]);
        $(".support-time").css("top",target_position[1]+25);
        $(".support-time").show();
    })
}

