var g_applicationContext;
var g_animating = false;
var g_pingSecond = 10;

init = function(applicationContext) {
	g_applicationContext = applicationContext;
	initSubPage();
	scheduledTasks();
	$("#havalekodu").css({
		"color" : "white",
		"background-color" : "red",
		"padding" : "8px"
	});
	shrink();
	// preloadImages(g_applicationContext + "/static/images/ajax-loader.gif",
	// g_applicationContext + "/static/images/username_ok.png",
	// g_applicationContext + "/static/images/username_fail.png");
	// $("#regusername").blur(function() {
	// checkNick($(this).attr("value"));
	// });
};

var shrink = function() {
	$("#havalekodu").animate({
		"padding" : "8px",
		"margin" : "0px"
	}, 700, "swing", grow);
};

var grow = function() {
	$("#havalekodu").animate({
		"padding" : "0",
		"margin" : "8px"
	}, 700, "swing", shrink);
};

var scheduledTasks = function() {
	setTimeout(sendPing, g_pingSecond * 1000);
}

var preloadImages = function() {
	for ( var i = 0; i < arguments.length; i++) {
		$("<img>").attr("src", arguments[i]);
	}
}

var sendPing = function() {
	$.getJSON(g_applicationContext + "/services/ping", null, function(data) {
		if (data.result == 'exit') {
			document.location.href = g_applicationContext + '/main';
		}
		scheduledTasks();
	});
};

var checkNick = function(nick) {
	var serviceURL = g_applicationContext + "/services/checknick/" + nick;
	$("#username_icon").attr("src",
			g_applicationContext + "/static/images/ajax-loader.gif").css({
		display : ""
	});
	$.getJSON(serviceURL, null, function(result) {
		if (result.status == "ok") {
			$("#username_icon").attr("src",
					g_applicationContext + "/static/images/username_ok.png");
		} else if (result.status == "empty") {
			$("#username_icon").attr("src",
					g_applicationContext + "/static/images/ajax-loader.gif")
					.css({
						display : "none"
					});
		} else {
			$("#username_icon").attr("src",
					g_applicationContext + "/static/images/username_fail.png");
			$("#regusername").focus();
		}
	});
}

var updateDate = function() {
	$.get(g_applicationContext + "/services/date", null, function(data) {
		var obj = eval("(" + data + ")");
		$("#datetime").html(obj.date);
		setTimeout("updateDate()", 1000);
	});
};

var updateFiller = function(serviceName, param, targetElm) {
	var serviceURL = g_applicationContext + "/services/" + serviceName + "/"
			+ Url.encode(param);
	$.getJSON(serviceURL, null, function(data) {
		if (targetElm.attr("tagName") == "SELECT") {
			fillSelectBox(targetElm, data);
		}
	});
};

var fillSelectBox = function(elm, data, append) {
	append = append || false;
	var element;

	if (typeof elm == "object") {
		element = elm;
	} else if (typeof elm == "string") {
		element = $("#" + elm);
	} else if (typeof elm == "undefined") {
		return false;
	}
	if (append == false) {
		elm.html("");
	}
	element.append($("<option></option>").append("Seçiniz").attr("value", ""));
	$.each(data.items, function(i, item) {
		if (item.id)
			element.append($("<option></option>").append(item.name).attr(
					"value", item.id));
		else
			element.append($("<option></option>").append(item.name).attr(
					"value", item.name));

	});
};

var sendSmile = function() {
	nick = $(this).attr("nick");
	uuid = $(this).attr("uuid");
	element = $(this);

	$.getJSON(g_applicationContext + "/services/smile/" + Url.encode(uuid),
			null, function(result) {
				if (result.result == 1) {
					element.html("Gülümsediniz");
					element.unbind("click");
					element.click(function() {
						return false;
					});
				} else {
					element.html("Gülümseyemediniz");
				}
			});
	return false;
};

function onSubmit(formName, actionType, actionParams) {
	var form = document.forms[formName];
	form.elements["actionType"].value = actionType;
	form.elements["actionParams"].value = actionParams;
	form.submit();
	return false;
}

var toFavorite = function() {
	nick = $(this).attr("nick");
	uuid = $(this).attr("uuid");
	process = $(this).attr("process");
	element = $(this);

	$.getJSON(g_applicationContext + "/services/favorite/" + process + "/"
			+ Url.encode(uuid), null, function(result) {
		if (result.result == 1) {
			if (process == "add") {
				element.html("Favorilerden Kaldır");
				element.attr("process", "remove");
			} else {
				element.html("Favorilere Ekle");
				element.attr("process", "add");
			}
		} else {

		}
	});
	return false;
};

var toBlock = function() {
	nick = $(this).attr("nick");
	uuid = $(this).attr("uuid");
	process = $(this).attr("process");
	element = $(this);
	element = $("a[type=block][nick=" + nick + "]");

	$.getJSON(g_applicationContext + "/services/block/" + process + "/"
			+ Url.encode(uuid), null, function(result) {
		if (result.result == 1) {
			if (process == "add") {
				element.html("Engelini Kaldır");
				element.attr("process", "remove");
			} else {
				element.html("Engelle");
				element.attr("process", "add");
			}
		} else {

		}
	});
	return false;
};

var getHappy = function() {
	$
			.getJSON(
					g_applicationContext + "/services/wearehappy/" + idx,
					null,
					function(result) {
						$("#selectednames").text(result.result.names);
						$("#selectedtitle").text(result.result.title);
						$("#selecteddetail").text(result.result.description);
						if (result.result.imagename) {
							$("#selectedimage").attr(
									"src",
									g_applicationContext
											+ "/dynamic/images/wearehappy/"
											+ result.result.imagename);
						} else {
							$("#selectedimage")
									.attr(
											"src",
											g_applicationContext
													+ "/static/images/bizevleniyoruz_empty.jpg");
						}

					});
	return false;
};

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

var setMessageBox = function(isPrint) {
	$.get(g_applicationContext + "/messagebox", null, function(result) {
		if (result) {
			if (isPrint == true) {
				$("#facebox div[id=messageBox]").html(result);
				$("#facebox input[id=recipientNick]").val(uuid);
			} else {
				document.location = result;
				return false;
			}
		} else {
			return false;
		}
	});
}

var setMessagePatternBox = function(isPrint) {
	$.get(g_applicationContext + "/messagepatternbox", null, function(result) {
		if (result) {
			if (isPrint == true) {
				$("#facebox div[id=messageBox]").html(result);
				$("#facebox input[id=recipientNick]").val(uuid);
			} else {
				document.location = result;
				return false;
			}
		} else {
			return false;
		}
	});
}

var setReplyBox = function(isPrint) {
	$.get(g_applicationContext + "/messagebox", null, function(result) {
		if (result) {
			if (isPrint == true) {
				$("#facebox div[id=messageBox]").html(result);
				$("#facebox input[id=recipientNick]").val(uuid);
				$("#facebox input[id=messageSubject]").val(subject);
				$("#facebox input[id=reference_id]").val(reference_id);
			} else {
				document.location = result;
				return false;
			}
		} else {
			return false;
		}
	});
}

var setComplainBox = function() {
	// nick = $(this).attr("nick");
	uuid = $(this).attr("uuid");
	$.get(g_applicationContext + "/complainbox", null, function(result) {
		if (result) {
			$("#facebox div[id=messageBox]").html(result);
			$("#facebox input[id=aboutNick]").val(uuid);
		} else {
			return false;
		}
	});
}

var sendMessageComplain = function() {
	data = {
		"userKey" : uuid,
		"messageId" : messageId
	};

	$.post(g_applicationContext + "/services/report", data, function(result) {
		if (result.result == 1) {
			$.get(g_applicationContext + "/complainbox", null,
					function(result) {
						$("#facebox div[id=messageBox]").html(
								"<b>Şikayetiniz iletilmiştir..</b>");
					});
		} else {
			$.get(g_applicationContext + "/complainbox", null,
					function(result) {
						$("#facebox div[id=messageBox]").html(
								"<b>Şikayetiniz iletilemedi..</b>");
					});
		}

	}, "json");
}

var sendMessage = function(name, me) {
	var data;

	if (name == "message") {
		var messageContent = $("#facebox textarea[id=messageContent]").val();
		if (!messageContent) {
			alert("Boş mesaj gönderemezsiniz.");
			$(me).text("Gönder");
			$(me).removeAttr("disabled");
			return false;
		}
		data = {
			"recipientNick" : $("#facebox input[id=recipientNick]").val(),
			"messageSubject" : $("#facebox input[id=messageSubject]").val(),
			"messageContent" : $("#facebox textarea[id=messageContent]").val(),
			"referenceId" : $("#facebox input[id=reference_id]").val()
		};
	} else {
		var messageContent = $("#facebox select[id=messageContent]").val();
		if (messageContent == '-') {
			alert("Mesaj içeriği seçmelisiniz.");
			$(me).text("Gönder");
			$(me).removeAttr("disabled");
			return false;
		}
		data = {
			"recipientNick" : $("#facebox input[id=recipientNick]").val(),
			"messageSubject" : $("#facebox select[id=messageSubject]").val(),
			"messageContent" : $("#facebox select[id=messageContent]").val(),
			"referenceId" : $("#facebox input[id=reference_id]").val()
		};
	}

	$
			.post(
					g_applicationContext + "/services/message/",
					data,
					function(result) {
						if (result.result == 1) {
							// var nick = $("#facebox
							// input[id=recipientNick]").val();
							$("#facebox div[id=messageBox]")
									.html(
											"<br/><b>Mesajınız \""
													+ nick
													+ "\" kullanıcısına iletildi.</b><br/><br/>");
						} else if (result.result == 2) {
							$("#facebox div[id=messageBox]")
									.html(
											"<b>Mesaj gönderebilmek için <a href='#'>Gold Üye</a> olmanız gerekmektedir.</b>");
						} else {
							$("#facebox div[id=messageBox]")
									.html(
											"<b>Mesajınız gönderilemedi.Lütfen tekrar deneyiniz.</b>");
						}

					}, "json");
	return false;
}

var checkGift = function() {
	var recipient_id = $("#recipient_id").val();
	var gift_id = $("#gift_id").val();

	if (!recipient_id) {
		alert('Kullanıcı seçmediniz');
		return false;
	}

	if (!gift_id) {
		alert('Hediye seçmediniz');
		return false;
	}

	return true;
}

var sendComplain = function() {
	var reasonSubjects = [];
	$("#facebox input:checkbox:checked[name=reasons[]]").each(function(i, val) {
		reasonSubjects.push(val.value);
	});
	if (reasonSubjects.length < 1
			&& $.trim($("#facebox textarea[id=complainDetail]").val()) == "") {
		alert("Lütfen şikayet sebebinizi giriniz!");
		return false;
	}
	var data = {
		"reasonSubjects[]" : reasonSubjects,
		"userKey" : $("#facebox input[id=aboutNick]").val(),
		"complainDetail" : $("#facebox textarea[id=complainDetail]").val()
	};
	$
			.post(
					g_applicationContext + "/services/report",
					data,
					function(result) {
						if (result.result == 1) {
							$("#facebox div[id=messageBox]")
									.html(
											"<br/><b>Şikayetiniz incelenip en kısa sürede size bilgi verilecektir. Teşekkür ederiz.</b><br/><br/>");
						} else {
							$("#facebox div[id=messageBox]")
									.html(
											"<b>Şikayetiniz Gönderilemedi.Lütfen tekrar deneyiniz.</b>");
						}
					}, "json");
	return false;
}

var showMessage = function() {
	element = $(this);
	var mesid = (element.attr("id"));
	var isread = "#isread" + mesid;
	var data = {
		"messageid" : mesid,
		"action" : $("#action").attr("value")
	};
	mesid = "#tr" + mesid;
	if (element.text() == "Mesajı Oku") {
		$(mesid + "bottom").hide();
		$(mesid).show();
		$(mesid + "bottom").slideDown("medium");
		element.text("Kapat");
		$.post(g_applicationContext + "/services/signmessage", data, function(
				result) {
			if (result.result == 1) {
				if ($(isread).text() == "Okunmadı")
					$(isread).text("Okundu");
			}
		}, "json");
	} else {
		$(mesid).hide();
		element.text("Mesajı Oku");
	}

	return false;
};

var deleteMessage = function(type, mesid, activePage) {
	var data = {
		"itemId" : mesid,
		"activePage" : activePage,
		"pageCount" : pageCount,
		"itemCount" : countMessages
	};
	$.post(g_applicationContext + "/services/delete/messages/" + type, data,
			function(result) {
				if (result.result == 1) {
					$("div[mesid=" + mesid + "]").hide("medium");
					countMessages--;
					if (countMessages == 0) {
						$("#messageList").hide();
						$("#mesajlarim_tumunusil").hide();
						$("#norecord").css("display", "");
					}
				} else {
					alert("Silme işleminde bir hata oluştu.");
				}
			}, "json");
	return false;
};

var deleteSelectedMessages = function(type, page) {
	$.each($("input[name='selectedmessages[]']:checked"), function() {
		deleteMessage(type, $(this).val(), page);
	});
	return false;
};

var deleteSmile = function(type, smileid, activePage) {
	var data = {
		"itemId" : smileid,
		"activePage" : activePage,
		"pageCount" : pageCount,
		"itemCount" : countSmiles
	};
	$.post(g_applicationContext + "/services/delete/smiles/" + type, data,
			function(result) {
				if (result.result == 1) {
					$("div[smileid=" + smileid + "]").hide("medium");
					countSmiles--;
					if (countSmiles == 0) {
						$("#smileList").hide();
						$("div[id=favorilertumunusil]").hide();
						$("#norecord").css("display", "");
					}
				} else {
					alert("Silme işleminde bir hata oluştu.");
				}
			}, "json");
	return false;
};

var deleteFavorite = function(type, favid, activePage) {
	var data = {
		"itemId" : favid,
		"activePage" : activePage,
		"pageCount" : pageCount,
		"itemCount" : itemCount
	};
	$.post(g_applicationContext + "/services/delete/favorites/" + type, data,
			function(result) {
				if (result.result == 1) {
					$("div[favid=" + favid + "]").hide("medium");
					itemCount--;
					if (itemCount == 0) {
						$("#favoriteList").hide();
						$("div[id=favorilertumunusil]").hide();
						$("#norecord").css("display", "");
					}
				} else {
					alert("Silme işleminde bir hata oluştu.");
				}
			}, "json");
	return false;
};

var filterSettings = function() {
	widow = $("#widow").is(":checked");
	divorced = $("#divorced").is(":checked");
	single = $("#single").is(":checked");

	if (!widow && !divorced && !single) {
		$("#error").css("display", "");
		$("#errortext").text(
				"Hata: Medeni Hal seçeneklerinden en az birisni seçmelisiniz.");
		setTimeout('$("#error").fadeOut()', 1500);
		return false;
	} else {
		var data = {
			"minAge" : $("#minAge").val(),
			"maxAge" : $("#maxAge").val(),
			"single" : single,
			"divorced" : divorced,
			"widow" : widow
		};
		$
				.post(
						g_applicationContext + "/services/settings/filter",
						data,
						function(result) {
							if (result.result == 1) {
								$("#onSuccess").css("display", "");
								setTimeout('$("#onSuccess").fadeOut()', 1500);
							} else {
								$("#error").css("display", "");
								$("#errortext")
										.text(
												"Bilgiler güncelleştirilirken bir hata oluştu.");
								setTimeout('$("#error").fadeOut()', 1500);
							}
						}, "json");
	}

};

var notifySettings = function() {
	smile = $("#smile").is(":checked");
	message = $("#message").is(":checked");
	favorite = $("#favorite").is(":checked");

	var data = {
		"smile" : smile,
		"message" : message,
		"favorite" : favorite
	};
	$.post(g_applicationContext + "/services/settings/notify", data, function(
			result) {
		if (result.result == 1) {
			$("#onSuccess").css("display", "");
			setTimeout('$("#onSuccess").fadeOut()', 1500);
		} else {
			$("#error").css("display", "");
			$("#errortext").text(
					"Bilgiler güncelleştirilirken bir hata oluştu.")
			setTimeout('$("#error").fadeOut()', 1500);
		}
	}, "json");

};

var emailSettings = function(e) {
	var data = {
		"email" : $("#email").val()
	};
	var me = $(this);
	me.val("Lütfen Bekleyiniz");
	me.attr("disabled", "disabled");
	$.post(g_applicationContext + "/services/settings/email", data, function(
			result) {
		if (result.result == 1) {
			$("#onSuccess").css("display", "");
			$("#successtext").text(
					"E-posta adresiniz başarılı bir şekilde değiştirildi.");
			setTimeout('$("#onSuccess").fadeOut()', 1500);
		} else if (result.result == 0) {
			$("#error").css("display", "");
			$("#errortext").text(
					"Bilgiler güncelleştirilirken bir hata oluştu.")
			setTimeout('$("#error").fadeOut()', 1500);
		} else {
			$("#error").css("display", "");
			$("#errortext").text(result.result);
			setTimeout('$("#error").fadeOut()', 1500);
		}
		me.val("Uygula");
		me.removeAttr("disabled");
	}, "json");
};

var emailActivation = function(email) {
	$
			.post(
					g_applicationContext + "/services/settings/emailactivation",
					null,
					function(result) {
						if (result.result == 1) {
							$("#onSuccess").css("display", "");
							$("#successtext")
									.text(
											"Aktivasyon maili "
													+ email
													+ "  adresine gönderildi. \n Aktivasyon mailini Gelen kutunuzda göremediyseniz, lütfen önemsiz(spam) kutunuzu da kontrol ediniz.");
							$("#isactive").hide();
							setTimeout('$("#onSuccess").fadeOut()', 3000);
							return false;
						} else {
							$("#error").css("display", "");
							$("#errortext")
									.text(
											"Aktivasyon maili gönderilirken bir hata oluştu.");
							setTimeout('$("#error").fadeOut()', 1500);
							return false;
						}
					}, "json");
};

var deactiveSettings = function() {
	deactive = $("#deactive").is(":checked");
	var data = {
		"deactive" : $("#deactive").is(":checked")
	};
	$.post(g_applicationContext + "/services/settings/deactive", data,
			function(result) {
				if (result.result == 1) {
					$("#onSuccess").css("display", "");
					$("#successtext").text(
							"İşlerminiz başarıyla gerçekleştirildi.");
					setTimeout('$("#onSuccess").fadeOut()', 1500);
				} else {
					$("#onSuccess").hide();
				}
			}, "json");
};

var changeMainInfo = function() {
	var data = {
		"marrystatus" : $("#selectedmarrystatus").val(),
		"userday" : $("#userday").val(),
		"usermonth" : $("#usermonth").val(),
		"useryear" : $("#useryear").val(),
		"country" : $("#country").val(),
		"city" : $("#city").val(),
		"town" : $("#town").val()
	};
	$.post(g_applicationContext + "/services/myprofile/maininfo", data,
			function(result) {
				if (result.result == 1) {
					$("#onSuccess").css("display", "");
					$("#successtext").text(
							"Bilgileriniz başarıyla güncelleştirildi.");
					setTimeout('$("#onSuccess").fadeOut()', 1500);
				} else if (result.result == 0) {
					$("#error").css("display", "");
					$("#errortext").text(
							"Bilgileriniz güncellenirken bir hata oluştu.");
					setTimeout('$("#error").fadeOut()', 1500);
				} else {
					$("#error").css("display", "");
					$("#errortext").text(result.result);
					setTimeout('$("#error").fadeOut()', 1500);
				}
			}, "json");
};

var changeProfilePhoto = function() {
	imageno = $(this).attr("imageno");
	var data = {
		"imageno" : imageno
	};
	$.post(g_applicationContext + "/services/myprofile/profilephoto", data,
			function(result) {
				if (result.result == 1) {
					$("a[type=pphoto][imageno=" + imageno + "]").hide();
					$("span[type=pphoto0][imageno=" + imageno + "]").css(
							"display", "");

					$("a[type=pphoto][imageno!=" + imageno + "]").css(
							"display", "");
					$("span[type=pphoto0][imageno!=" + imageno + "]").hide();
				}
			}, "json");

	return false;
};

var deletePhoto = function() {
	imageno = $(this).attr("imageno");
	var data = {
		"imageno" : imageno
	};
	$.post(g_applicationContext + "/services/myprofile/removephoto", data,
			function(result) {
				if (result.result == 1) {
					$("div[type=photoworks][imageno=" + imageno + "]").hide();
					$("div[type=avatar][imageno=" + imageno + "]").css(
							"display", "");
					$("#upimage").removeAttr("disabled");
					$("#addphoto").removeAttr("disabled");
					$("#uploaderror").hide();
				}
			}, "json");
	return false;

};

var editProfileText = function() {
	var data = {
		"title" : $.trim($("#title").val()),
		"profiletext" : $.trim($("#profileText").val())
	};

	$.post(g_applicationContext + "/services/myprofile/profiletext", data,
			function(result) {
				if (result.result == 1) {
					$("#unconfirmed").css("display", "");
					$("div[type=onSuccess]").css("display", "");
					setTimeout('$("div[type=onSuccess]").fadeOut()', 3000);
				} else if (result.result == 'exit') {
					document.location.href = g_applicationContext + '/main';
				} else if (result.result == 0) {
					$("div[type=error]").css("display", "");
					$("#errortext").text(
							"Profil yazınız güncellenirken bir hata oluştu.");
					setTimeout('$("#error").fadeOut()', 3000);
				} else {
					$("div[type=error]").css("display", "");
					$("#errortext").text(result.result);
					setTimeout('$("div[type=error]").fadeOut()', 3000);
				}
			}, "json");
	return false;
};

function showUser(nick) {
	nick = encodeURIComponent(nick);
	$.getJSON(g_applicationContext + "/services/user/gift/" + nick, null,
			function(result) {
				if (result.user) {
					$("#error_case").css("display", "none");
					$("#pic_case").css("display", "");
					$("#user_pic").css("display", "");
					$("#user_pic").attr("src", result.user.p_photofile);
					$("#recipient_id").val(result.user.id);
					$("#user_info").text(result.user.nick);
				} else {
					$("#error_case").css("display", "");
					$("#pic_case").css("display", "none");
					$("#recipient_id").val("");
				}
			});
	return false;
}

function HiddenGifts(id, acc, pages) {
	var obs1 = "hiddengifts_" + id;
	var obs2 = "VHiddenGifts_" + id;
	var obj = document.getElementById(obs1);
	var obj2 = document.getElementById(obs2);
	var en2 = g_applicationContext + "/static/images/icon/gizli.gif";
	var en3 = g_applicationContext + "/static/images/icon/g_pasif.gif";
	var usr = new Array();
	if (!obj2.Value) {
		obj2.Value = acc;
	}
	var fgets = g_applicationContext + "/services/hiddengifts?id=" + id
			+ "&hd=" + obj2.Value + "&apage=" + pages;
	$.getJSON(fgets, null, function(result) {
		if (result.result == 2) {
			obj.src = en3;
			obj2.Value = 2;
		}
		if (result.result == 1) {
			obj.src = en2;
			obj2.Value = 1;
		}
	});
}

function selectGift(gid, obj, ids) {
	if (gid) {
		setCookies('gift_gid_' + ids, gid, '0.1');
		setCookies('gift_obj_' + ids, obj, '0.1');
		$("#gift_id").val(gid);
		var gsrc = $("#g" + gid).attr("src");
		$("#selected_gift").css("display", "");
		$("#selected_gift").attr("src", gsrc);
		$("#selected_gift").attr("gid", gid);
		$("#gift_name").text(obj.attr('gname'));
		$("#gift_stock").text(
				'Stokta ' + obj.attr('gstock') + ' adet kald\u0131.');
		$("div[type=selectgift]").css('border', '3px solid #D4E2EB');
		$("div[type=selectgift][gid=" + gid + "]").css('border',
				'3px solid gray');
		window.scroll(0, 400);
		return false;
	}

}

function minAgeControl(minVal, maxVal) {
	var minAge = $("#" + minVal);
	var maxAge = $("#" + maxVal);
	if (minAge.val() > maxAge.val())
		maxAge.val(minAge.val());

	return true;
}

function maxAgeControl(minVal, maxVal) {
	var minAge = $("#" + minVal);
	var maxAge = $("#" + maxVal);
	if (minAge.val() > maxAge.val())
		minAge.val(maxAge.val());

	return true;
}

function statusControl() {

	if (!$('#single').is(':checked') && !$('#divorced').is(':checked')
			&& !$('#widow').is(':checked')) {
		alert('Medeni Hal seçeneklerinden en az birisini seçmelisiniz.');
		return false;
	}
}

function changeImage(image) {
	var imageAddress = (image.attr("src"));
	var reg = new RegExp("th_|_small");
	imageAddress = imageAddress.replace(reg, "");
	var value = "url('" + imageAddress + "') no-repeat top center";
	$("#displayedImage").hide();
	$("#displayedImage").css("background", value);
	// $("#displayedImage").attr("src",imageAddress);
	$("#displayedImage").fadeIn("slow");
}

var helpTopicCount = function() {

	var data = {
		"topicId" : topicId
	};
	$.post(g_applicationContext + "/services/help/", data, function(result) {
	}, "json");
	return true;
}

var starMessage = function() {
	messageId = $(this).attr("messageId");
	process = $(this).attr("process");
	element = $(this);
	elementimage = $("#i" + messageId);
	$.getJSON(g_applicationContext + "/services/starmessage/" + process + "/"
			+ messageId, null, function(result) {
		if (result.result == 1) {
			if (process == "add") {
				element.attr("process", "remove");
				elementimage.attr("src", g_applicationContext
						+ "/static/images/icon/icon_3.jpg");
			} else {
				element.attr("process", "add");
				elementimage.attr("src", g_applicationContext
						+ "/static/images/icon/icon_4.jpg");
			}

		} else {
		}
	});
	return false;

};

function pageDirect(page) {
	alert(page);
	window.location = page;
}

function secsCounter(secs, page) {
	if (secs == 0) {
		window.location = page;
	} else {
		$("#secs").text(secs);
		secs = secs - 1;
		self.setTimeout("secsCounter(" + secs + ",'" + page + "')", 1000);
	}
}
function getCookie(c_name) {
	if (document.cookie.length > 0) {
		c_start = document.cookie.indexOf(c_name + "=");
		if (c_start != -1) {
			c_start = c_start + c_name.length + 1;
			c_end = document.cookie.indexOf(";", c_start);
			if (c_end == -1)
				c_end = document.cookie.length
			return unescape(document.cookie.substring(c_start, c_end));
		}
	}
	return ""
}

function setCookies(c_name, value, expiredays) {
	var exdate = new Date();
	exdate.setDate(125);
	document.cookie = c_name + "=" + escape(value)
			+ ((expiredays == null) ? "" : "; expires=" + exdate.toUTCString());
}

function CookieDelete(c_name) {
	var expiredays = 0;
	var expires = 0;
	var exdate = new Date();
	var value = "";
	exdate.setDate(0);
	document.cookie = c_name + "=" + escape(value)
			+ ((expiredays == null) ? "" : "; expires=" + exdate.toUTCString());
}

/*
 * Facebox (for jQuery) version: 1.2 (05/05/2008) @requires jQuery v1.2 or later
 * 
 * Examples at http://famspam.com/facebox/
 * 
 * Licensed under the MIT: http://www.opensource.org/licenses/mit-license.php
 * 
 * Copyright 2007, 2008 Chris Wanstrath [ chris@ozmm.org ]
 * 
 * Usage:
 * 
 * jQuery(document).ready(function() { jQuery('a[rel*=facebox]').facebox() })
 * 
 * <a href="#terms" rel="facebox">Terms</a> Loads the #terms div in the box
 * 
 * <a href="terms.html" rel="facebox">Terms</a> Loads the terms.html page in
 * the box
 * 
 * <a href="terms.png" rel="facebox">Terms</a> Loads the terms.png image in the
 * box
 * 
 * 
 * You can also use it programmatically:
 * 
 * jQuery.facebox('some html')
 * 
 * The above will open a facebox with "some html" as the content.
 * 
 * jQuery.facebox(function($) { $.get('blah.html', function(data) {
 * $.facebox(data) }) })
 * 
 * The above will show a loading screen before the passed function is called,
 * allowing for a better ajaxy experience.
 * 
 * The facebox function can also display an ajax page or image:
 * 
 * jQuery.facebox({ ajax: 'remote.html' }) jQuery.facebox({ image: 'dude.jpg' })
 * 
 * Want to close the facebox? Trigger the 'close.facebox' document event:
 * 
 * jQuery(document).trigger('close.facebox')
 * 
 * Facebox also has a bunch of other hooks:
 * 
 * loading.facebox beforeReveal.facebox reveal.facebox (aliased as
 * 'afterReveal.facebox') init.facebox
 * 
 * Simply bind a function to any of these hooks:
 * 
 * $(document).bind('reveal.facebox', function() { ...stuff to do after the
 * facebox and contents are revealed... })
 * 
 */

(function($) {
	$.facebox = function(data, klass) {
		$.facebox.loading()
		if (data.ajax)
			fillFaceboxFromAjax(data.ajax)
		else if (data.image)
			fillFaceboxFromImage(data.image)
		else if (data.div)
			fillFaceboxFromHref(data.div)
		else if ($.isFunction(data))
			data.call($)
		else
			$.facebox.reveal(data, klass)
	}

	/*
	 * Public, $.facebox methods
	 */
	$
			.extend(
					$.facebox,
					{
						settings : {
							opacity : 0,
							overlay : true,
							loadingImage : 'static/images/facebox/loading.gif',
							closeImage : 'static/images/facebox/closelabel.gif',
							imageTypes : [ 'png', 'jpg', 'jpeg', 'gif' ],
							faceboxHtml : '\
    <div id="facebox" style="display:none;"> \
      <div class="popup"> \
        <table> \
          <tbody> \
            <tr> \
              <td class="tl"/><td class="b"/><td class="tr"/> \
            </tr> \
            <tr> \
              <td class="b"/> \
              <td class="body"> \
                <div class="content"> \
                </div> \
                <div class="footer"> \
                  <a href="#" class="close"> \
                    <img src="../images/facebox/closelabel.gif" title="close" class="close_image" /> \
                  </a> \
                </div> \
              </td> \
              <td class="b"/> \
            </tr> \
            <tr> \
              <td class="bl"/><td class="b"/><td class="br"/> \
            </tr> \
          </tbody> \
        </table> \
      </div> \
    </div>'
						},

						loading : function() {
							init()
							if ($('#facebox .loading').length == 1)
								return true
							showOverlay()
							$('#facebox .content').empty()
							$('#facebox .body').children().hide().end().append(
									'<div class="loading"><img src="'
											+ $.facebox.settings.loadingImage
											+ '"/></div>')

							$('#facebox').css(
									{
										top : getPageScroll()[1]
												+ (getPageHeight() / 10),
										left : 385.5
									}).show()

							$(document).bind('keydown.facebox', function(e) {
								if (e.keyCode == 27)
									$.facebox.close()
								return true
							})
							$(document).trigger('loading.facebox')
						},

						reveal : function(data, klass) {
							$(document).trigger('beforeReveal.facebox')
							if (klass)
								$('#facebox .content').addClass(klass)
							$('#facebox .content').append(data)
							$('#facebox .loading').remove()
							$('#facebox .body').children().fadeIn('normal')
							$('#facebox')
									.css(
											'left',
											$(window).width()
													/ 2
													- ($('#facebox table')
															.width() / 2))
							$(document).trigger('reveal.facebox').trigger(
									'afterReveal.facebox')
						},

						close : function() {
							$(document).trigger('close.facebox')
							return false
						}
					})

	/*
	 * Public, $.fn methods
	 */

	$.fn.facebox = function(settings) {
		init(settings)

		function clickHandler() {
			$.facebox.loading(true)

			// support for rel="facebox.inline_popup" syntax, to add a class
			// also supports deprecated "facebox[.inline_popup]" syntax
			var klass = this.rel.match(/facebox\[?\.(\w+)\]?/)
			if (klass)
				klass = klass[1]

			fillFaceboxFromHref(this.href, klass)
			return false
		}

		return this.click(clickHandler)
	}

	/*
	 * Private methods
	 */

	// called one time to setup facebox on this page
	function init(settings) {
		if ($.facebox.settings.inited)
			return true
		else
			$.facebox.settings.inited = true

		$(document).trigger('init.facebox')
		makeCompatible()

		var imageTypes = $.facebox.settings.imageTypes.join('|')
		$.facebox.settings.imageTypesRegexp = new RegExp('\.' + imageTypes
				+ '$', 'i')

		if (settings)
			$.extend($.facebox.settings, settings)
		$('body').append($.facebox.settings.faceboxHtml)

		var preload = [ new Image(), new Image() ]
		preload[0].src = $.facebox.settings.closeImage
		preload[1].src = $.facebox.settings.loadingImage

		$('#facebox').find('.b:first, .bl, .br, .tl, .tr').each(
				function() {
					preload.push(new Image())
					preload.slice(-1).src = $(this).css('background-image')
							.replace(/url\((.+)\)/, '$1')
				})

		$('#facebox .close').click($.facebox.close)
		$('#facebox .close_image').attr('src', $.facebox.settings.closeImage)
	}

	// getPageScroll() by quirksmode.com
	function getPageScroll() {
		var xScroll, yScroll;
		if (self.pageYOffset) {
			yScroll = self.pageYOffset;
			xScroll = self.pageXOffset;
		} else if (document.documentElement
				&& document.documentElement.scrollTop) { // Explorer 6 Strict
			yScroll = document.documentElement.scrollTop;
			xScroll = document.documentElement.scrollLeft;
		} else if (document.body) {// all other Explorers
			yScroll = document.body.scrollTop;
			xScroll = document.body.scrollLeft;
		}
		return new Array(xScroll, yScroll)
	}

	// Adapted from getPageSize() by quirksmode.com
	function getPageHeight() {
		var windowHeight
		if (self.innerHeight) { // all except Explorer
			windowHeight = self.innerHeight;
		} else if (document.documentElement
				&& document.documentElement.clientHeight) { // Explorer 6 Strict
			// Mode
			windowHeight = document.documentElement.clientHeight;
		} else if (document.body) { // other Explorers
			windowHeight = document.body.clientHeight;
		}
		return windowHeight
	}

	// Backwards compatibility
	function makeCompatible() {
		var $s = $.facebox.settings

		$s.loadingImage = $s.loading_image || $s.loadingImage
		$s.closeImage = $s.close_image || $s.closeImage
		$s.imageTypes = $s.image_types || $s.imageTypes
		$s.faceboxHtml = $s.facebox_html || $s.faceboxHtml
	}

	// Figures out what you want to display and displays it
	// formats are:
	// div: #id
	// image: blah.extension
	// ajax: anything else
	function fillFaceboxFromHref(href, klass) {
		// div
		if (href.match(/#/)) {
			var url = window.location.href.split('#')[0]
			var target = href.replace(url, '')
			$.facebox.reveal($(target).clone().show(), klass)
			// image
		} else if (href.match($.facebox.settings.imageTypesRegexp)) {
			fillFaceboxFromImage(href, klass)
			// ajax
		} else {
			fillFaceboxFromAjax(href, klass)
		}
	}

	function fillFaceboxFromImage(href, klass) {
		var image = new Image()
		image.onload = function() {
			$.facebox.reveal('<div class="image"><img src="' + image.src
					+ '" /></div>', klass)
		}
		image.src = href
	}

	function fillFaceboxFromAjax(href, klass) {
		$.get(href, function(data) {
			$.facebox.reveal(data, klass)
		})
	}

	function skipOverlay() {
		return $.facebox.settings.overlay == false
				|| $.facebox.settings.opacity === null
	}

	function showOverlay() {
		if (skipOverlay())
			return

		

				

		

		if ($('facebox_overlay').length == 0)
			$("body").append(
					'<div id="facebox_overlay" class="facebox_hide"></div>')

		$('#facebox_overlay').hide().addClass("facebox_overlayBG").css(
				'opacity', $.facebox.settings.opacity).click(function() {
			$(document).trigger('close.facebox')
		}).fadeIn(200)
		return false
	}

	function hideOverlay() {
		if (skipOverlay())
			return

		

		$('#facebox_overlay').fadeOut(200, function() {
			$("#facebox_overlay").removeClass("facebox_overlayBG")
			$("#facebox_overlay").addClass("facebox_hide")
			$("#facebox_overlay").remove()
		})

		return false
	}

	/*
	 * Bindings
	 */

	$(document).bind('close.facebox', function() {
		$(document).unbind('keydown.facebox')
		$('#facebox').fadeOut(function() {
			$('#facebox .content').removeClass().addClass('content')
			hideOverlay()
			$('#facebox .loading').remove()
		})
	})

})(jQuery);

var charCount = function(element) {
	lim = 450;
	chCount = element.val().length;
	if (chCount >= lim) {
		element.val(element.val().substring(0, lim));
		$("div[type=error]").css("display", "");
		$("#errortext").text(
				"Profil metniniz en az 50, en çok 450 karakter olmalıdır.");
		setTimeout('$("div[type=error]").fadeOut()', 3000);
	}
}

var Url = {

	// public method for url encoding
	encode : function(string) {
		return escape(this._utf8_encode(string));
	},

	// public method for url decoding
	decode : function(string) {
		return this._utf8_decode(unescape(string));
	},

	// private method for UTF-8 encoding
	_utf8_encode : function(string) {
		string = string.replace(/\r\n/g, "\n");
		var utftext = "";

		for ( var n = 0; n < string.length; n++) {

			var c = string.charCodeAt(n);

			if (c < 128) {
				utftext += String.fromCharCode(c);
			} else if ((c > 127) && (c < 2048)) {
				utftext += String.fromCharCode((c >> 6) | 192);
				utftext += String.fromCharCode((c & 63) | 128);
			} else {
				utftext += String.fromCharCode((c >> 12) | 224);
				utftext += String.fromCharCode(((c >> 6) & 63) | 128);
				utftext += String.fromCharCode((c & 63) | 128);
			}

		}

		return utftext;
	},

	// private method for UTF-8 decoding
	_utf8_decode : function(utftext) {
		var string = "";
		var i = 0;
		var c = c1 = c2 = 0;

		while (i < utftext.length) {

			c = utftext.charCodeAt(i);

			if (c < 128) {
				string += String.fromCharCode(c);
				i++;
			} else if ((c > 191) && (c < 224)) {
				c2 = utftext.charCodeAt(i + 1);
				string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
				i += 2;
			} else {
				c2 = utftext.charCodeAt(i + 1);
				c3 = utftext.charCodeAt(i + 2);
				string += String.fromCharCode(((c & 15) << 12)
						| ((c2 & 63) << 6) | (c3 & 63));
				i += 3;
			}

		}

		return string;
	}
}

