function addEntry() {
	$("body").prepend("<div class=\"dark\"></div>");
	var html = '<label for="add_bookmark_url">URL:</label>';
	html += '<input type="text" id="add_bookmark_url" value="" style="width: 525px;"/>';
	html += '<button class="butt" id="add_bookmark_submit">Add</button> ';
	html += '<button class="butt" id="add_bookmark_close">Close</button>';
	$("#save_holder").show().html("").append(html);
	$("#add_bookmark_url").focus();
	$("#add_bookmark_submit").bind("click",	editEntry);
	$(".dark, #add_bookmark_close").bind("click", function() {
		$(".dark").remove();
		$("#save_holder").html("").hide();
	});
}


function editEntry() {

	//if ($(this).attr("class").search("dis") == -1) {
		//$(this).addClass("dis");

		$(".dark").remove();
		$("body").prepend("<div class=\"dark\"></div>");

		var id = $(this).attr("id");
		if (id == 'add_bookmark_submit') {
			if ($("#add_bookmark_url").val() == "") {
				alert("The input is empty!");
				$("#add_bookmark_url").focus();
				return false;
			}
			var get_data = "url="+$("#add_bookmark_url").val();
			$("#add_bookmark_submit").text("Adding...");
		}
		else {
			id = id.substr(1);
			var get_data = "id="+id;
		}

		var me_too = $(this).attr("class").search("save_button") != -1 ? true : false;
		if (me_too) {
			get_data += "&me_too=true";
		}


		$.ajax({
			type: "GET",
			url: "/ajax/edit_entry.php",
			data: get_data,
			success: function(msg) {

				if (msg == "url_error") {
					alert("The URL is not valid!");
					if (id == 'add_bookmark_submit') {
						$("#add_bookmark_submit").text("Add");
						$("#add_bookmark_url").val("").focus();
					}
					return false;
				}

				$("#save_holder").css("display", "block").html("").append(msg);
				$("#bg_save").show();
				$(".entry").removeClass("selected");
				$("#f"+id).addClass("selected");

				//setTimeout(function() {
					prepareEventsInSave(id, me_too, "");
				//}, 2000);
				if ($.browser.msie)
					location.href = "#";
			}
		});
	//}
	

	return false;
}


function deleteEntry() {
	var answer = confirm("Are you sure you want to delete it?")
	if (!answer)
		return false;
	else {
		var id = $(this).attr("id").substr(1);
		//var d_url = "&webpage="+$(this).parent().parent().find("a.object:first").attr("href");
		var post_data = "id="+id;

		$.ajax({
			type: "POST",
			url: "/ajax/delete_entry.php",
			data: post_data,
			success: function(msg) {
				if (msg == "success") {
					$("#f"+id).remove();
/*
					//d
					$.ajax({
						type: "POST",
						url: "/ajax/sync.php",
						data: ('action=d&'+post_data+d_url),
						success: function(msg) {
							//alert(msg);
						}
					});
*/
				}
			}
		});
		return false;
	}
}


function addFriend() {
	var this_el = $(this);
	this_el.hide();
	var post_data = "id="+escape($("#id_user2").val());
	$.ajax({
		type: "POST",
		url: "/ajax/add_friend.php",
		data: post_data,
		success: function(msg) {
			if (msg == "success")
				this_el.after("<span class=\"follow\"> is followed by you.</span>");
		}
	});
	return false;
}


function deleteFriend() {
	var answer = confirm("Are you sure you want to delete a friend?")
	if (!answer)
		return false;
	else {
		var button = $(this);
		var post_data = "id="+escape(button.attr("id").substr(2));
		$.ajax({
			type: "POST",
			url: "/ajax/delete_friend.php",
			data: post_data,
			success: function(msg) {
				if (msg == "success")
					button.parent().remove();
			}
		});
	}
	return false;
}


function setDateEvents() {
	$(".date_wrapper").bind("click", function() {
		if ($(".entry:first", this).attr("class").search("detailed") != -1) {
			$(".entry", this).removeClass("detailed");
			$(".entry", this).addClass("briefed");
		}
		else {
			$(".entry", this).removeClass("briefed");
			$(".entry", this).addClass("detailed");
		}
		return false;
	});
}


function setEntriesEvents(id) {

	var button = (!id) ? ".entry_toggle" : "#f"+id+" .entry_toggle";

	//toggle_one_entry
	$(button).bind("click", function() {
		if ($(this).parent().attr("class").search("detailed") != -1) {
			$(this).parent().removeClass("detailed");
			$(this).parent().addClass("briefed");
		}
		else {
			$(this).parent().removeClass("briefed");
			$(this).parent().addClass("detailed");
		}
	});

	//stopPropagateInFaviki
	$(".entry").bind("click", function(event) {
		event.stopPropagation();
	});
	$(".entry a").bind("click", function(event) {
		event.stopPropagation();
	});

	//postavljanje mouseover eventa na entrije (ie)
	$(".entry").bind("mouseover", function() {
		$(".right_small", this).show();
		$(".date", this).hide();
	});

	$(".entry").bind("mouseout", function() {
		$(".right_small", this).hide();
		$(".date", this).show();
	});

}


function toggleEntries() {

	if (toggle_view == 0) {
		$("#entries_list li.entry").removeClass("briefed");
		$("#entries_list li.entry").addClass("detailed");
		$("a#toggle_view").addClass("open").html("close all");
		toggle_view = 1;
	}
	else {
		$("#entries_list li.entry").removeClass("detailed");
		$("#entries_list li.entry").addClass("briefed");
		$("a#toggle_view").removeClass("open").html("open all");
		toggle_view = 0;
	}

	if ($("#id_user").val() != "") {
		showLoader = false;
		var post_data = "view="+toggle_view;
		$.ajax({
			type: "POST",
			url: "/ajax/set_user_pref.php",
			data: post_data,
			success: function(msg) {
			}
		});
		showLoader = true;
	}

	return false;
}


function userMenu() {
	if ($(this).attr("class") != "active") {
		var id = $(this).attr("id");
		var sidebar = $(this).parent().parent();
		var target = $("#"+ id.substring(7));

		if (target.css("display") == "block") {
			target.hide();
			$(this).removeClass("active");
		}
		else {
			$(".container", sidebar).hide();
			$(".sidebar_menu span", sidebar).removeClass("active");

			target.show();
			$(this).addClass("active");
		}
	}
	else
		return false;
}


function searchSubmit() {
	if ($("#subject").val() == "" && $("#object").val() == "") {
		alert("Inputs are empty!");
	}
	else {
		var andOr = ($("#or").attr("checked") == true) ? "or" : "and";

		var loc = "";

		var subj = saveSearchArray("subject", andOr);
		loc = (subj) ? "/person/"+subj : "";

		var obj = saveSearchArray("object", andOr);
		loc += (obj) ? "/tag/"+obj : "";

		location.href = loc;

	}
	return false;
}


function saveSearchArray(what, andOr) {

	if ($("#"+what).val() != "") {

		var isExact;
		var tempIDArray = new Array();
		var j=0;

		var searchNameArray = $("#"+what).val().split(";");

		for (var i =0; i < searchNameArray.length; i++) {
			if ($.trim(searchNameArray[i]) == "")
				searchNameArray.splice(i, 1);
		}

		if ($("#"+what+"_temp").val() != "") {

			var jsonString = "var jsonArray = [";
			jsonString += $("#"+what+"_temp").val();
			jsonString = jsonString.substring(0, jsonString.length-2);
			jsonString += "]";

			eval(jsonString);

			for (var i=0; i<searchNameArray.length; i++) {
				isExact = false;
				if (jsonArray.length > 0) {

					for (var k=0; k<jsonArray.length; k++) {
						if (searchNameArray[i] == jsonArray[k].name) {
							tempIDArray[j] = (what == 'object') ? jsonArray[k].nameEng : jsonArray[k].name;
							j++;
							isExact = true;
							break;
						}
					}
				}
			}
		}
		else
			isExact=false;

		if (!isExact || tempIDArray.length == 0) {
			var returnArray = searchNameArray;
			var exact = false;
		}
		else {
			var returnArray = tempIDArray;
			var exact = true;
		}

		if (returnArray.length > 0) {

			var te='';

			for (var i=0; i<returnArray.length; i++) {
				if (returnArray[i] != '') {
					//te += encodeURIComponent($.trim(returnArray[i]).replace(/ /g, '_'))+';';
					te += encodeURIComponent($.trim(returnArray[i]))+';';
				}
			}

			te = te.substr(0, te.length-1);

			if (what == 'object') {
				if (returnArray.length > 1)
					te += "/search/"+andOr;
				if (!exact)
					te += "/exact/false";
			}

			return te;
		}
		else 
			return false;
	}
	else
		return false;
}


function highlightTags() {
	var tags_hl = new Array();
	$("a.t_w").each(function() {
		tags_hl.push(this.href);
	});

	$("#entries_list a.t").each(function() {
		for (var i=0; i<tags_hl.length; i++) {
			if (this.href == tags_hl[i])
				this.className="t_hl";
		}
	});
}


function thisPage() {
	if ($(this).attr("class") == "open") {
		$(this).removeClass();
		$("#in_these_entries .tree_tags").hide();
	}
	else {
		$(this).addClass("open");
		$("#in_these_entries .tree_tags").show();
	}
	
	return false;
}


function dbpediaInfo(what) {

	var id = $("#id_tag").val();
	if ($("#tag_new").val() > 1 || id === "0") {
		$("#"+what).addClass("loaded");
		return false;
	}

	if ($("#about_tag").size()) {
		var name = encodeURIComponent($("#about_tag h3").attr("title"));
		var has_lang = $("#tag_has_lang").val();
		var post_data = "name="+name+"&id="+id+"&lang="+lang+"&has_lang="+has_lang;

		$.ajax({
			type: "POST",
			url: "/ajax/"+what+".php",
			data: post_data,
			success: function(msg) {
				if (msg != "")
					$("#"+what).addClass("loaded").hide().html(msg).show();
				else
					$("#"+what).remove();
			}
		});
	}
}


function setInviteEvents() {

	$("#invite_people").bind("click", function() {
		$("#invite_friends").toggle();
		$("#invemails").focus();
		return false;
	});
	

	$("#invite_button").bind("click", function() {
		var post_data = "invemails="+$("#invemails").val()+"&invmessage="+$("#invmessage").val();

		$.ajax({
			type: "POST",
			url: "/ajax/invite_friends.php",
			data: post_data,
			success: function(msg) {
				if (msg == "success")
					$("#invite_friends").html("<p><br /><strong>The invites are sent!</strong></p>");
			}
		});
	})

}


function setTagCloud() {

	$("#tag_cloud .tree, #tag_cloud .tag_cloud").css("visibility", "hidden");
	$("#tag_cloud").removeClass("loaded");
	var id = $("#id_object").val();

	if (id !== "0") {
		var post_data = "id_object="+id+"&object_name="+$("#tag_name").val()+"&what="+$("#object_type").val()+"&id_user="+$("#id_user2").val()+"&user_name="+$("#user_name2").val()+"&with_friends="+$("#with_friends").val()+"&view_as="+$("#tag_cloud_view_as").val()+"&show="+$("#tag_cloud_show").val()+"&sort="+$("#tag_cloud_sort").val();

		if ($(this).attr('id') != undefined)
			post_data += '&userchange=1';

		$.ajax({
			type: "POST",
			url: "/ajax/get_tag_cloud.php",
			data: post_data,
			success: function(msg) {
				$("#tag_cloud").addClass("loaded").html(msg);
				JT_init(".t");
			}
		});
	}
	else {
		$("#tag_cloud").addClass("loaded");
	}
}


function welcome(cur) {
	tim = setTimeout(function() {
		$('#wel'+cur).fadeOut("slow");
		$('#butt_wel'+cur).removeClass();
		cur = (cur==4) ? 1 : cur+1;
		$('#wel'+cur).fadeIn("slow");
		$('#butt_wel'+cur).addClass('active');
		welcome(cur);
	}, 12000);
}


function setMediaEvents() {

	$(".media").bind("click", function() {

		var is_yt = ($(this).attr("class").search("yt") == -1 ? false : true)
		var id = $(this).attr("id");

		var t = document.getElementById("m_target_"+id);
		if (t) {
			t.parentNode.removeChild(t);
			$("#m_target_"+id).remove();
			$("div", $(this)).removeClass();
		}
		else {
			if (is_yt) {
				$("div", $(this)).addClass("stop");
				var flash_src = 'http://www.youtube.com/v/'+id+'&amp;autoplay=1&amp;showsearch=0&amp;hl=en&amp;fs=1';
				var media = '<div id="m_target_'+id+'" class="m_tar"><object width="425" height="344"><param name="movie" value="'+flash_src+'"></param><param name="wmode" value="opaque"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="'+flash_src+'" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" wmode="opaque" width="425" height="344"></embed></object></div>';
			}
			else {
				var media = '<div id="m_target_'+id+'" class="m_tar"><a href="'+id+'"><img src="'+id+'" /></a></div>';
			}
			$(".tags", $(this).parent()).before(media);
		}

	});
}


function editTagButton(e, f) {
	var id = e.attr("id").replace("_b", "");
	$(".eutb").removeClass();
	e.addClass("active");
	$(".eutgw").hide("fast");
	$("#"+id+"_w").show("fast", function() {
		if (f)
			$("#"+id).focus();
	});
}


function prepareEditTag(tag_name) {

	if (tag_name != "") {

		var is_user = ($("#id_user").val()==$("#id_user2").val()) ? 1 : 0;
		var id_tag = $("#id_tag").val();

		var post_data = "tag_name="+tag_name+"&is_user="+is_user+"&tag_new="+$("#tag_new").val()+"&id_tag="+id_tag;

		$.ajax({
			type: "POST",
			url: "/ajax/prepare_edit_tag.php",
			data: post_data,
			success: function(msg) {
				if (msg != "") {

					var temp = msg.split("(!!!)");
					var url_d = temp[0];
					var edit_t = temp[1];

					$("#edit_user_tag").html(edit_t);
					$("#tag_url_desc").html(url_d);

					$("a.vote_tag_url").bind("click", function() {
						var temp = $(this).attr("alt").split("|||");
						saveTagURL(temp[0], temp[1], $("a.vote_tag_url").index(this));
						return false;
					});

					if ($("#edit_user_tag").html() != "") {
						$("#edit_user_tag").show();

						$(".eutb").bind("click", function() {
							editTagButton($(this), true);
							return false;
						});

						JT_init(".t");

						setTimeout(function() {
							$("#eut_sug a").bind("click", function() {
								var tag_s = this.firstChild.nodeValue;
								$("#"+(id_tag == 0 ? "global" : "local")+"_name").val(tag_s);
								$("#local_name_s").val("Save?");
								return false;
							});
						}, 1000);


						//eventi za autocomplete
						$("#convert_tag, #global_name").autocomplete("/ajax/get_tags.php", {
							extraParams : { all:'dojka', lang: lang, id_user: $("#id_user2").val() },
							minChars: 1,
							multiple: false,
							max: 13,
							matchCase: true,
							mustMatch: true,
							matchContains: true,
							selectFirst: true,
							matchSubset: false
						});

						$(".eut_save").bind("click", function() {
								var id = $(this).attr("id").replace("_s", "");

								if (id == 'local_name') {
									var tag_from = $("#local_name").val();
									var tag_to = $("#global_name").val();
								}
								else if (id == 'convert_tag') {
									var tag_from = $("#convert_tag_from").val();
									var tag_to = $("#convert_tag").val();
								}

								var answer = (id == "convert_tag") ? confirm("Are you sure? There is no undo!") : true;

								if (!answer)
									return false;
								else {

									var post_data = "what="+id+"&tag_from="+tag_from+"&tag_to="+tag_to;

									if (id_tag == 0 ) {
										post_data += '&unresolved=1&tag_from_original='+tag_name;
									}

									$("#"+id+"_s").val("Saving...");

									$.ajax({
										type: "POST",
										url: "/ajax/save_edit_tag.php",
										data: post_data,
										success: function(msg) {

											if (msg == "error") {
												alert("Something went wrong.");
											}
											else {
												if (id == "local_name") {
													$("#"+id+"_s").addClass("saved").val((tag_from == "") ? "Removed." : "Saved.");
												}
												location.href = "/person/"+$("#username").val()+"/tag/"+tag_to.replace(/ /g, '_');
											}
										}
									});
								}
							return false;
						});
					}
				}
			}
		});
	}
}


function setActiveUsers() {
	var post_data = "id="+$("#id_object").val()+"&what="+$("#object_type").val()+"&name="+$("#object_name").val();

	$.ajax({
		type: "POST",
		url: "/ajax/active_users.php",
		data: post_data,
		success: function(msg) {
			$("#active_users").html(msg);
		}
	});
}


function editSpam() {

	var th = this;
	var get_data = 'id_webpage='+ th.rel;

	$.ajax({
		type: "GET",
		url: "/ajax/spam.php",
		data: get_data,
		success: function(msg) {
			if (msg != '') {
				$(th).text('vote '+msg);
			}
		}
	});

	return false;
}


$(document).ready(
	function(){

if ($("#content").size()) {

	fixSafari();
	initAjaxInfo();

	//set events - toogle i slanje
	setInviteEvents();

	//postavljanje eventa za toggle entrija i datuma
	setDateEvents();
	setEntriesEvents(false);
	setMediaEvents();

	//eventi za edit taga
	if ($("#edit_user_tag").size())
		prepareEditTag($("#tag_name").val());

	if ($("#id_object").val() != '')
		setActiveUsers();

	//hajlajtuj tagove
	highlightTags();

	//eventi za user menu - klik
	$(".sidebar_menu span").bind("click", userMenu);

	//event za search help
	$("#srch").bind("mouseover", function() { $("#search_help").show(); });
	$("#srch").bind("mouseout", function() { $("#search_help").hide(); });

	//eventi za search submit
	$("#search_submit").bind("click", searchSubmit);

	$("#subject, #object").keypress(function (e) {
		if (enableEnter && e.which == 13/* || window.event.keyCode == 13*/)
			searchSubmit();
	});

	if (is_search == 1)
		$("#object").focus();

	//event za add bookmark
	$("#add_bookmark").bind("click", addEntry);
	
	//eventi za edit/delete entrija
	$(".edit_button, .save_button").bind("click", editEntry);
	$(".delete_button").bind("click", deleteEntry);
	$(".spam_button").bind("click", editSpam);

	//eventi za dodavanje i brisanje prijatelja
	$("#add_friend").bind("mousedown", addFriend);
	$(".delete_friend").bind("click", deleteFriend);

	//eventi za toggle tagova u topic/types
	$("#this_page").bind("click", thisPage);
	$("#in_these_entries .tree li").bind("mouseover", function() {$(".tree_tags:hidden", this).slideDown("slow");});



	//set typesTopics i tagInfo
	dbpediaInfo("tag_info");
	dbpediaInfo("tag_types_topics");

	//eventi za autocomplete
	$("#subject").autocomplete("/ajax/get_users.php", {
		minChars: 2,
		multiple: true,
		multipleSeparator: "; ",
		max: 13,
		mustMatch: true,
		matchContains: true,
		selectFirst: true
	});

	$("#object").autocomplete("/ajax/get_tags.php", {
		extraParams : { all:'dojka', lang: lang, id_user: $("#id_user").val() },
		minChars: 1,
		multiple: true,
		multipleSeparator: "; ",
		max: 13,
		matchCase: true,
		mustMatch: true,
		matchContains: true,
		selectFirst: false,
		matchSubset: false
	});

	setTagCloud();
	$("#show_tcs").bind("click", function() {$("#set_tag_cloud").toggle(); return false;});
	$("#tag_cloud_view_as, #tag_cloud_show, #tag_cloud_sort").bind("change", setTagCloud);

	toggle_view = (document.getElementById("entries_list") && $("#entries_list li.entry:first").attr("class").search("briefed") != -1) ? 0 : 1;

	//eventi za toggle entrija
	$("#toggle_view").bind("click", toggleEntries);
	$("#google_object").bind("click", googleSearch);
	JT_init(".t, .t_hl");
}

if (document.getElementById('wel_holder')) {
	var cur=1;
	var tim=1;

	var w1 = new Image();
	w1.src = 'img/wel1.gif';

	var w2 = new Image();
	w2.src = 'img/wel2.gif';

	var w3 = new Image();
	w3.src = 'img/wel3.gif';

	var w4 = new Image();
	w4.src = 'img/wel4.jpg';

	//welcome(cur);
	$("ul#wel_menu li a").bind("click", function() {
		if ($(this).attr("id") != "butt_wel5") {
			clearTimeout(tim);
			cur = $(this).attr("id").replace('butt_wel', '');
			$("ul#wel_menu li a").removeClass();
			$('#butt_wel'+cur).addClass("active");
			$("ul#wel_img_holder li").hide();
			$('#wel'+cur).fadeIn("fast");
			return false;
		}
	});
}

});