/**
 * @author georgi
 */
function setSelectionRange(input, selectionStart, selectionEnd) {
	var textarea = document.getElementById(input);
	if (textarea.createTextRange) {
		var range = textarea.createTextRange();
		range.collapse(true);
		range.moveEnd('character', selectionEnd);
		range.moveStart('character', selectionStart);
		range.select();
	}else if (textarea.setSelectionRange) {
		textarea.focus();
		textarea.setSelectionRange(selectionStart, selectionEnd);
	}
}

function insertText(obj, txt){
	var sel = "#"+obj;
	var range = $(sel).getSelection();
	var position = range.start;
	
	var oldText = $(sel).val();
	var length = $(sel).val().length;
	var newLength = txt.length;
	var beforeText = oldText.substr(0,position);
	var afterText = oldText.substr(position,length);
	var newText = beforeText+txt+afterText;
	$(sel).val(newText);
	setSelectionRange(obj, position+newLength, position+newLength);
}
function removeAllOption(tObj){
	var i;
	for (i = tObj.options.length - 1; i >= 0; i--) {
		tObj.remove(i);
	}	
}
function addOption(selectbox,text,value )
{
	var optn = document.createElement("OPTION");
	optn.text = text;
	optn.value = value;
	selectbox.options.add(optn);
}

function getTowns(sObj, tObj ){
	var elSel = document.getElementById(tObj);
	var o = $("#"+sObj).val();
	if (o == 0) {
		removeAllOption(elSel);
		addOption(elSel, "Извери...", 0);
		elSel.disabled=true;
	}
	else {
		$.getJSON("/json.php?action=getTowns&o=" + o, function(data){
			removeAllOption(elSel);
			elSel.disabled=false;
			addOption(elSel, "Извери...", 0);
			$.each(data, function(i, val){
				addOption(elSel, val.cyr, val.id);
			});
		});
	}
}

function getSearchTowns(sObj, tObj ){
	var elSel = document.getElementById(tObj);
	var o = $("#"+sObj).val();
	if (o == 0) {
		removeAllOption(elSel);
		addOption(elSel, "Извери...", 0);
		elSel.disabled=true;
	}
	else {
		$.getJSON("/json.php?action=getTowns&o=" + o, function(data){
			removeAllOption(elSel);
			elSel.disabled=false;
			$.each(data, function(i, val){
				addOption(elSel, val.cyr, val.id);
			});
		});
	}
}

function getRace(sObj, tObj ){
	var elSel = document.getElementById(tObj);
	var o = $("#"+sObj).val();
	if (o == 0) {
		removeAllOption(elSel);
		addOption(elSel, "Извери...", 0);
		elSel.disabled=true;
	}
	else {
		$.getJSON("/json.php?action=getRace&o=" + o, function(data){
			removeAllOption(elSel);
			elSel.disabled=false;
			$.each(data, function(i, val){
				addOption(elSel, val.title, val.id);
			});
		});
	}
}

function getSearchRace(sObj, tObj ){
	var elSel = document.getElementById(tObj);
	var o = $("#"+sObj).val();
	if (o == 0) {
		removeAllOption(elSel);
		addOption(elSel, "Извери...", 0);
		elSel.disabled=true;
	}
	else {
		$.getJSON("/json.php?action=getRace&o=" + o, function(data){
			removeAllOption(elSel);
			elSel.disabled=false;
			addOption(elSel, "Всички", 0);
			$.each(data, function(i, val){
				addOption(elSel, val.title, val.id);
			});
		});
	}
}

function delGalleryItem(item, type){
	new Boxy.confirm("Сигурни ли сте, че желаете да изтриете тази снимка ?", function(){
		$.getJSON("/json.php?action=deleteImage&t=" + type + "&i=" + item, function(data){
			if (data == 1) {
				$("#" + item).remove();
			}
		});
	}, {
		title: "ВНИМАНИЕ !!!"
	});
}

function delAnimal(item){
	new Boxy.confirm("Сигурни ли сте, че желаете да изтриете този профил ?", function(){	
		$.getJSON("/json.php?action=deleteAnimal&i="+item, function(data){
			if(data==1){
				$("#item"+item).remove();
			}
		});	
	}, {
		title: "ВНИМАНИЕ !!!"
	});
}

function delFriends(s, r){
	new Boxy.confirm("Сигурни ли сте, че желаете да прекратите това приятелство ?", function(){	
		$.getJSON("/json.php?action=delFriend&s="+s+"&r="+r, function(data){
			if(data==1){
				$('#f'+r).remove();
				return false;
			}	
		});	
	}, {
		title: "ВНИМАНИЕ !!!"
	});
}

jQuery.fn.fadeTogle = function(css, speed, easing, callback) {
   return this.animate(css, speed, easing, callback);
};

function slideMesUp(obj){
	$(obj).fadeTogle({"height": "110px", "overflow-y":"hidden"});
}

function slideMesDown(obj, objH, item, pair){
		$.getJSON("/json.php?action=markReadMessage&i="+item+"&p="+pair, function(data){
		if(data==1){
			var divHeight;
			if($(objH).height()<110) divHeight=110; else divHeight=$(objH).height();
			$(obj).fadeTogle({"height": divHeight, "overflow-y":"visible", "display": "block", "clear":"both" });
		}
	});
}

function slideDown(obj){
	$(obj).css({"height":"auto","overflow-y":"visible"});
	$(obj).css({"overflow-y":"hidden"});
}

function slideUp(obj, H){
	$(obj).height(130);
	$(obj).css({"overflow-y":"hidden"});
}

function divMath(H){
	var divHeight;
	divHeight = $("#textWrap").height();
	if(divHeight >= H){
		$("#textWrap").height(H);
		$("#slideDown").css({"visibility":"visible"});
		$("#slideUp").css({"visibility":"visible"});	
	}
}

function delMes(obj, item, pair){
	new Boxy.confirm("Сигурни ли сте, че желаете да изтрите това съобщение ?", function(){	
		$.getJSON("/json.php?action=deleteMessage&i="+item+"&p="+pair, function(data){
			if(data==1){
				$(obj).remove();
				myProfileStatus();
			}
		});	
	}, {
		title: "ВНИМАНИЕ !!!"
	});
}

function delDialog(a,d){
	new Boxy.confirm("Сигурни ли сте, че желаете да изтрите всички съобщения от този потребител ?", function(){
		$.getJSON("/json.php?action=delDialog&a="+a+"&d="+d, function(data){
			if (data == 1) {
				new Boxy("<div>Съобщенията бяха изтрити успешно !!!</div>");
				setTimeout("window.location.reload()", 3000);
			}else{
				new Boxy.alert("<div>Възникна грешка!!!<br>Изтриването на съобщенията премина неуспешно !!!<br>Моля, презаредете страницата и опитайте отново.</div>");
			}
		});
	}, {
		title: "ВНИМАНИЕ !!!"
	});
}

function slideSysMesDown(obj, objH, item){
		$.getJSON("/json.php?action=markReadSysMessage&i="+item, function(data){
		if(data==1){
			var divHeight;
			if($(objH).height()<110) divHeight=110; else divHeight=$(objH).height();
			$(obj).fadeTogle({"height": divHeight, "overflow-y":"visible", "display": "block", "clear":"both" });
		}
	});
}

function delSysMes(obj, item){
	$.getJSON("/json.php?action=deleteSysMessage&i="+item, function(data){
		if(data==1){
			$(obj).remove();
		}
	});	
}

function delComment(item){
	new Boxy.confirm("Сигурни ли сте, че желаете да изтрите този коментар ?", function(){	
		$.getJSON("/json.php?action=delComment&i="+item, function(data){
			if(data==1){
				window.location.reload();
				return false;
			}	
		});	
	}, {
		title: "ВНИМАНИЕ !!!"
	});
}

function delUserComment(item){
	new Boxy.confirm("Сигурни ли сте, че желаете да изтрите този коментар ?", function(){	
		$.getJSON("/json.php?action=delUserComment&i="+item, function(data){
			if(data==1){
				window.location.reload();
				return false;
			}	
		});	
	}, {
		title: "ВНИМАНИЕ !!!"
	});
}

function sendMessage(item){
	var message = $('#message').val(); 
	message = message.replace(/[\r\n]+/g, "<br>");
	$.getJSON("/json.php?action=sendReplyMessage&i="+item+"&m="+message, function(data){
		if(data==1){
			window.location.reload();
		}
	});	
}

function replyMes(item){
	$.getJSON("/json.php?action=getSendMessageForm&i="+item, function(data){
		new Boxy( data, {title: "Изпращане на съобщение"} );
		return false;
	});	
}

function markRead(obj, item, pair){
	$.getJSON("/json.php?action=markReadMessage&i="+item+"&p="+pair, function(data){
		if(data==1){
			$('#'+obj).attr({"src":"/interface/icon/pm2.jpg"});
		}
	});
}

function markSysRead(obj, item){
	$.getJSON("/json.php?action=markReadSysMessage&i="+item, function(data){
		if(data==1){
			$('#'+obj).attr({"src":"/interface/icon/pm2.jpg"});
		}
	});
}

function markCommentRead(obj, item){
	$.getJSON("/json.php?action=openComment&i="+item, function(data){
		if(data==1){
			$('#'+obj).attr({"src":"/interface/icon/pm2.jpg"});
		}
	});	
}

function markUserCommentRead(obj, item){
	$.getJSON("/json.php?action=openUserComment&i="+item, function(data){
		if(data==1){
			$('#'+obj).attr({"src":"/interface/icon/pm2.jpg"});
		}
	});	
}

function alertNotLogged(){
		new Boxy.alert( '<div align="center">Необходим вход<br><br><a href="/a/nav/login" >Влез</a><br><br><a href="/a/nav/login/member/new" >Регистрация</a><br><br><a href="#" >Забравена парола</a></div>', null, {"title":"Внимание"} );
		//new Boxy.alert( 'Необходим Вход', null, {"title":"Внимание"} );
		return false;	
}

function createMessage(recipient){
	$.getJSON("/json.php?action=createNewMessageForm&i="+recipient, function(data){
		mBox = new Boxy( data, {title: "Изпращане на съобщение", beforeUnload: function(){
			$('#subject').remove();
			$('#sender').remove();
			$('#message').remove();
		}});
		return false;
	});	
}

function sendNewMessage(recipient){
	var subject = $('#subject');
	var sender = $('#sender');
	var message = $('#message');
	var messageTxt;
	//alert(subject.val()+":"+document.getElementById("subject").value);
	if(sender.val()!=0 && message.val().length!=0){
		messageTxt = message.val();
		messageTxt = messageTxt.replace(/[\r\n]+/g, "<br>");
		$.getJSON("/json.php?action=sendNewMessage&r="+recipient+"&s="+sender.val()+"&m="+messageTxt+"&subject="+subject.val(), function(data){
			if(data==1){
				mBox.setContent("<div>Съобщението беше изпратено успешно !!!</div>");
			}else{
				mBox.hide();
				mBox.show();
			}
		});			
	}else{
		mBox.hide();
		alertBox = new Boxy.alert("<div>Моля попълнете задължителните полета отбелязани със звезда !!!</div>", 
					function() { mBox.show(); },
					{title: "Грешка !!!"}
					);
	}
}

function requestFriendship(friend){
	$.getJSON("/json.php?action=createFrienshipForm&f="+friend, function(data){
		fBox = new Boxy( data, {title: "Предложение за приятелство", beforeUnload: function(){
			$('#sender').remove();
		}});
		return false;
	});	
}

function sendRequestFriendship(friend){
		var animal = $('#sender').val();
		if (friend!=0 && animal!=0){
			$.getJSON("/json.php?action=sendRequestFriendship&f=" + friend + "&a=" + animal, function(data){
				if (data == 1) {
					fBox.unload();
				}
				else 
					if (data == 0) {
						fBox.setContent("<div>Вече сте предлагали приятелство на този профил !!!</div>");
					}
			});
		}else{
			fBox.setContent("<div><b>Възника грешка !!!</b><br><br>Моля, презаредете страницата и опитайте отново.</div>");
		}
}

function createCommentForm(recipient){
	$.getJSON("/json.php?action=createCommentForm&i="+recipient, function(data){
		cBox = new Boxy(data, {
			title: "Изпращане на коментар",
			beforeUnload: function(){
				$('#sender').remove();
				$('#message').remove();
			}
		});
		return false;
	});	
}

function sendComment(recipiеnt){
		var sender = $('#sender');
		var message = $('#message');
		var messageTxt;
		if(sender.val()!=0 && message.val().length!=0){
			messageTxt = message.val();
			messageTxt = messageTxt.replace(/[\r\n]+/g, "<br>");
			$.getJSON("/json.php?action=sendComment&r="+recipiеnt+"&s="+sender.val()+"&m="+messageTxt, function(data){
				if(data==1){
					cBox.setContent("<div>Коментарът беше изпратен успешно !!!</div>");
					setTimeout("window.location.reload()", 3000);
				}else{
					cBox.hide();
					cBox.show();
				}
			});			
		}else{
			cBox.hide();
			alertBox = new Boxy.alert("<div>Моля попълнете задължителните полета отбелязани със звезда !!!</div>", 
						function() { cBox.show(); },
						{title: "Грешка !!!"}
						);
		}
}

function createUserCommentForm(recipient){
	$.getJSON("/json.php?action=createUserCommentForm&i="+recipient, function(data){
		cBox = new Boxy(data, {
			title: "Изпращане на коментар",
			beforeUnload: function(){
				$('#message').remove();
			}
		});
		return false;
	});	
}

function sendUserComment(recipiеnt){
		var message = $('#message');
		var messageTxt;
		if(message.val().length!=0){
			messageTxt = message.val();
			messageTxt = messageTxt.replace(/[\r\n]+/g, "<br>");
			$.getJSON("/json.php?action=sendUserComment&r="+recipiеnt+"&m="+messageTxt, function(data){
				if(data==1){
					cBox.setContent("<div>Коментарът беше изпратен успешно !!!</div>");
					setTimeout("window.location.reload()", 3000);
				}else{
					cBox.hide();
					cBox.show();
				}
			});			
		}else{
			cBox.hide();
			alertBox = new Boxy.alert("<div>Моля, въведе коментар !!!</div>", 
						function() { cBox.show(); },
						{title: "Грешка !!!"}
						);
		}
}

function openComment(item){
	$.getJSON("/json.php?action=openComment&i="+item, function(data){
			if(data==1){
				window.location.reload();
			}
	});
}

function openUserComment(item){
	$.getJSON("/json.php?action=openUserComment&i="+item, function(data){
			if(data==1){
				window.location.reload();
			}
	});
}

function rateUp(a, r){
	$.getJSON("/json.php?action=rateUp&a="+a, function(data){
		if(data!=0){
			$('#rate'+a).text(r+1);
		}else{
			new Boxy.alert("<div>Вече сте гласували за този профил !</div>");
			return false;
		}		
	});	
}

function rateDown(a, r){
	if(r>=1){
		$.getJSON("/json.php?action=rateDown&a="+a, function(data){
			if(data!=0){
				$('#rate'+a).text(r-1);
			}else{
				new Boxy.alert("<div>Вече сте гласували за този профил !</div>");
				return false;
			}		
		});			
	} 
}

function allowFriend(s, r, m){
		$.getJSON("/json.php?action=allowFriend&s="+s+"&r="+r+"&m="+m, function(data){
			if(data==1){
				new Boxy.alert("<div>Поздравления вече имате още един приятел !</div>");
				setTimeout("window.location.reload()", 3000);
				return false;
			}else{
				new Boxy.alert("<div>Грешка! Потвърждението на приятелството премина неуспешно</div>");
				return false;
			}		
		});		
}

function denyFriend(s, r, m){
		$.getJSON("/json.php?action=denyFriend&s="+s+"&r="+r+"&m="+m, function(data){
			if(data==1){
				new Boxy.alert("<div>Приятелството бе отказано успешно !</div>");
				setTimeout("window.location.reload()", 3000);
				return false;
			}else{
				new Boxy.alert("<div>Грешка! Отказът на приятелството премина неуспешно</div>");
				return false;
			}		
		});	
}

function showConditions(){
		$.getJSON("/json.php?action=getConditions", function(data){
				new Boxy('<div style="width: 600px; height: 480px; overflow-y: scroll;">'+data.text+"</div>", {title: data.title, modal: true, closeText: "Затвори"});
				return false;	
		});		
}


function emoticonsBox(t){
	$('#emoticonsWrap').hide();
	$.getJSON("/json.php?action=getEmoticons&t="+t, function(data){
		new Boxy(data, {
			title: "Емотикони",
			unloadOnHide: true,
			center: false,
			fixed: false,
			x: 10,
			y: 10,
			closeText: "Затвори",
			beforeUnload: function(){
				$('#emoticonsWrap').show();
			}
		});
		return false;
	});
}
function alertLoginError(){
	new Boxy.alert('<div><span style="color: red;">Грешно потребителско име или парола !</span></div>');
}

function newNotice(){
	$.getJSON("/json.php?action=createNoticeForm", function(data){
		new Boxy(data, {
			title: "Публикуване на обява",
			unloadOnHide: true,
			closeText: "Затвори"
		});
		return false;
	});	
}

function sendNotice(){
	var type = $('#type').val();
	var title = $('#title').val();
	var notice = $('#notice').val();
	notice = notice.replace(/[\r\n]+/g, "<br>");
	
	if(type!=0 && notice.length>0 && title.length>0){
		$.getJSON("/json.php?action=sendNotice&t="+type+"&n="+notice+"&title="+title, function(data){
			if(data==1){
				window.location.reload();
			}
		});
	}else{
		new Boxy.alert('<div><span style="color: red;">Моля, попълнете всички полета !</span></div>');
	}
}

function verifyHuman(){
	var error = 0;
	var name = $('#name').val();
	if(name.length > 0){
		$('#name').css({"border":"1px solid #bbbbbb" });
	}else{
		error = 1;
		$('#name').css({"border":"1px solid red" });
	}
	if($('#obstina').val() != 0){
		$('#obstina').css({"border":"1px solid #bbbbbb" });
	}else{
		error = 1;
		$('#obstina').css({"border":"1px solid red" });
	}
	if($('#city').val() != 0){
		$('#city').css({"border":"1px solid #bbbbbb" });
	}else{
		error = 1;
		$('#city').css({"border":"1px solid red" });
	}
	if($('#gender').val() == 2){
		error = 1;
		$('#gender').css({"border":"1px solid red" });		
	}else{
		$('#gender').css({"border":"1px solid #bbbbbb" });
	}
	
	if(error==0){
		return true;
	}else{
		new Boxy.alert('<div><span style="color: red;">Моля, попълнете всички полета отвялязани със звезда ( * )</span></div>');
		return false;
	}
}

function verifyAnimal(){
	var error = 0;
	var name = $('#name').val();
	if(name.length > 0){
		$('#name').css({"border":"1px solid #bbbbbb" });
	}else{
		error = 1;
		$('#name').css({"border":"1px solid red" });
	}
	if($('#obstina').val() != 0){
		$('#obstina').css({"border":"1px solid #bbbbbb" });
	}else{
		error = 1;
		$('#obstina').css({"border":"1px solid red" });
	}
	if($('#city').val() != 0){
		$('#city').css({"border":"1px solid #bbbbbb" });
	}else{
		error = 1;
		$('#city').css({"border":"1px solid red" });
	}
	if($('#gender').val() == 2){
		error = 1;
		$('#gender').css({"border":"1px solid red" });		
	}else{
		$('#gender').css({"border":"1px solid #bbbbbb" });
	}
	if($('#animal').val() != 0){
		$('#animal').css({"border":"1px solid #bbbbbb" });
	}else{
		error = 1;
		$('#animal').css({"border":"1px solid red" });
	}
	if($('#race').val() != 0){
		$('#race').css({"border":"1px solid #bbbbbb" });
	}else{
		error = 1;
		$('#race').css({"border":"1px solid red" });
	}
	if($('#rdMont').val() != 0){
		$('#rdMont').css({"border":"1px solid #bbbbbb" });
	}else{
		error = 1;
		$('#rdMont').css({"border":"1px solid red" });
	}
	if($('#rdDay').val() != 0){
		$('#rdDay').css({"border":"1px solid #bbbbbb" });
	}else{
		error = 1;
		$('#rdDay').css({"border":"1px solid red" });
	}	
	if($('#rdYear').val() != 0){
		$('#rdYear').css({"border":"1px solid #bbbbbb" });
	}else{
		error = 1;
		$('#rdYear').css({"border":"1px solid red" });
	}

			
	if(error==0){
		return true;
	}else{
		new Boxy.alert('<div><span style="color: red;">Моля, попълнете всички полета отвялязани със звезда ( * )<br><br>Използвайте бутона "Запази" за запис.</span></div>');
		return false;
	}
}

function updateMyprofileStatus(){
	setInterval("myProfileStatus()", 60000);
}

function myProfileStatus(){
		$.getJSON("/json.php?action=getProfileStatus", function(data){
			$('#newMessages').html("Нови съобщения ("+data.messages+")");
			$('#newSysmessages').html("Нови известия ("+data.sysmessages+")");
			$('#newComments').html("Нови коментари ("+data.comments+")");
		});	
}

function changePassword(){
	var oldPassword = $('#oldPassword').val();
	var newPassword = $('#newPassword').val();
	var rePassword = $('#rePassword').val();
	
	$.getJSON("/json.php?action=validateOldPassword&o="+oldPassword, function(data){
		if(data==1){
			if (newPassword.length > 0 && rePassword.length > 0) {
				if (newPassword == rePassword) {
					$.getJSON("/json.php?action=changeNewPassword&n=" + newPassword, function(data){
						if (data == 1) {
							$('#oldPassword').val("");
							$('#newPassword').val("");
							$('#rePassword').val("");
							$('#errorRePassword').html("Паролата е сменена успешно !!!");
						}
						else {
							$('#errorRePassword').html("Възникна грешка! Моля, опитайте отново.");
						}
					});
				}
				else {
					$('#errorRePassword').html("Въведените пароли са различни !!!");
				}
			}else{
				$('#errorRePassword').html("Моля, попълнете всички полета !!!");
			}
		}else{
			$('#errorOldPassword').html("Старата парола е грешна !!!");
		}
	});
}
function verifyNotice(){
	var title = $('#title').val();
	var tel = $('#tel').val();
	var email = $('#email').val();
	var text = $('#text').val();
	if(title && tel && email && text){
		document.notice.submit();
	}else{
		alert("Моля, попълнете всички полета !");
	}
}