var registerLink;

function setRegisterLink(link) {
	registerLink = link;
}

function pageInit() {
	drawButtons();
	searchEffect();
	initTogglers();
	loginForm();
}

function searchEffect() {
  sid = "#search_query";
  blurC = "#d7d4d4";
  focusC = "#000";
  vtext = $(sid).val();
  $(sid).blur( function () {
    if ($(sid).val() == '') {
      $(sid).val(vtext).css('color',blurC);
    }
  });
  $(sid).focus(function () {
    if ($(sid).val() == vtext) {
      $(sid).val('').css('color',focusC);
    }
  });
}

function drawStars(num, id_user_group, link) {
  $('.stars a').removeClass('rating');
  $('.stars a:lt(' + num + ')').addClass('rating');
  //Снимаем все события со звёзд
  $('.stars a').unbind();
  if ($(".stars.vote").length == 0) $('.stars a').click(function(){return false});
  //Назначаем события, если можно голосовать
  $(".stars.vote a")
    .click(function () {
      if ($(this).parent().hasClass('reg')){
        if (confirm('Желаете оценить ролик как "'+$(this).attr('title')+'"?')){
    	  sendVote($(this).attr("rel"), id_user_group, link);
    	  $(".stars a").removeClass("over");
        }        
      } else {
        sendVote($(this).attr("rel"), id_user_group, link);
      }
      return false;
	})
	.mouseover(function () {
	  o = $(this).attr("rel");
	  $('.stars a:gt('+o+')').removeClass('over');
	  $('.stars a:lt('+o+')').addClass('over');
	})
	.mouseout(function () {
	  $(".stars a").removeClass("over");
	});
}

function sendVote(mark, id_user_group, link) {
  var id = $("#clipId").val();
  da_ratingCalculation(id, mark);
}

function initTogglers() {
  $("#botMenu a").click(function () {
    u = $(this).attr("rel");
    y = $("#botMenu .act a").attr("rel");
    $("#t_" + y).hide().removeClass("visible");
    $("#t_" + u).show();
    $("#botMenu .act").removeClass("act");
    $(this).parent().addClass("act");
    return false;
  });
}
function setToggler(tabName){
  if (tabName != ''){
	$('#t_'+$("#botMenu .act").removeClass('act').find('a').attr('rel') ).hide();
	$('#botMenu a[rel='+tabName+']').parent().addClass('act');
	$('#botMenu .act a').click();
  }
}

function refreshImage(idImage, id) {
  document.getElementById(idImage).src = '/antispam.php?id=' + id + '&i = ' + Math.floor(Math.random()*100000);
}

function sendComment(id_user_group) {
  if (id_user_group != 100 && id_user_group != 4) daAlert("Для добавления комментариев Вам необходимо <a href='" + registerLink + "'>зарегистрироваться</a>", "<b>Необходимо зарегистрироваться</b>", "Закрыть"); else {
    var id = $("input[name=image_id_antispam_com]").val();
    var value = $.trim($("input[name=image_value_antispam_com]").val());
    var clipId = $("#clipId").val();
    var comment = $.trim($("#commentText").val());
    
    var message = new Array();
    if (value == "") message.push('Заполните пожалуйста поле "Код"');
    if (comment == "") message.push('Заполните пожалуйста поле "Комментарий"');
    
    (message.length > 0) ? daAlert(message.join("<br/>"), "<b>Ошибка</b>", "Закрыть", "error") : da_formCheck(id, value, clipId, comment);
  }
}

function sendMessage() {
    var id = $("input[name=image_id_antispam_mes]").val();
    var value = $("input[name=image_value_antispam_mes]").val();
    var clipId = $("#clipId").val();
    var comment = $("#messageText").val();
    da_sendMessageForm(id, value, clipId, comment);
}

function startAdds(id_clip, id_user_group) {
	if (id_user_group != 100 && id_user_group != 4) daAlert('Для добавления роликов в "Избранное"' + "\n" +'Вам необходимо <a href="' + registerLink + '">зарегистрироваться</a>', '<b>Необходимо зарегистрироваться</b>', 'Закрыть'); else {
		var currentClip = $("#clipId").val();
		da_addClipInRelatives(id_clip, currentClip);
		$("#lm"+id_clip).removeClass('add').addClass('added');
	}
}

function loginForm() {
	$("#showLogin").click(function () {
									$("#loginForm").slideDown("fast", function () {
																				daa = $("#loginForm").width() + 20;
																				dab = $("#loginForm").height() + 20;
																				var cssObj = {
																					"width": ""+daa+"px",
																					"height": ""+dab+"px"
																			    }
																			    $("#loginShadow").css(cssObj);
																				$("#loginShadow").fadeIn();
	  
															  });
															  return false;
									});
	$("#loginHeader a").click(function () {
										$("#loginForm").slideUp();
										$("#loginShadow").slideUp();
										return false;
										});
}

//Получить отмеченные на форме checkbox-ы
function getCheckboxes() {
	var del = new Array();
	$("#vos input:checked").each(function () {
		del.push($(this).val());
    });
	return del;
}

function deleteClip() {
	var del = getCheckboxes();
	(del.length) ? da_deleteClip(del) : daAlert("Выберите хотя бы один ролик.", "", "Закрыть");
}

function copyToFavourits() {
	var copy = getCheckboxes();
	var cat = $("select[name='folders'] option:selected").val();
	if (copy.length) {
		var nameCat = $("select[name=folders] option:selected").text();
		da_copyToFavourites(copy, cat, nameCat);
	} else daAlert("Выберите хотя бы один ролик.", "", "Закрыть");
}

function addNewUserCategory() {
	var value = $.trim($("#lName").val());
	(value != "") ? da_addNewUserCategory(value) : daAlert('Заполните пожалуйста поле "Название списка"', "", "Закрыть");
}

//Добавление папки: видимость таблицы и панели кнопок
function visElements(id) {
	if ($("#myFavTable").css("display") == "none") $("#myFavTable").css("display", "block");
	if ($("#additionalButtons").css("display") == "none") $("#additionalButtons").css("display", "block");
	//Если категория одна, то "отображаем" её клипы
	if ($("#myFavTable tr:gt(0)").length == 1) da_showClips(id);
}

function nonVisElements() {
	if ($("#myFavTable tr:gt(0)").length == 0) {
		$("#myFavTable").css("display", "none");
		$("#additionalButtons").css("display", "none");
	}
}

function deleteAllFolder() {
    if (confirm("Вы уверены, что хотите удалить эту папку?")) {
       var id = $("#id_category").val();
       da_deleteAllFolder(id);
       /*
        * По необходимости перенесено в deleteClipFromFav (здесь для первой строки таблицы не работает)
        * Выделить первую строчку в таблице
       var expr = /[a-z]+(\d+)/i.exec($("#myFavTable tr[id^='rowCat']:eq(0)").attr("id"));
       var idFirst = parseInt(expr[1]);
       da_showClips(idFirst);*/
    }
}

function deleteClipFromFav(id) {
	if (confirm("Вы уверены, что хотите удалить этот клип?")) {
		var idCategory = $("#id_category").val();
		da_deleteClipFromFav(id, idCategory);
	}
}

function hangLink(id_category) {
	//alert(id_category);
	$("#myFavTable tr[id^='rowCat']").each(function () {
        //Выделяем из id числовую часть
		var reg = /[a-z]+(\d+)/i;
        var expr = reg.exec($(this).attr("id"));
        var num = parseInt(expr[1]);
        
        var elem = $(this).find("td b");
        //alert(num + " - " + id_category);
        if (num != id_category) {
        	elem.wrapInner("<a></a>");
        	elem.find("a").attr("href",'#').attr('onclick','da_showClips('+num+'); return false');
        } else {
        	if (elem.find("a").length > 0) elem.html(elem.find("a").text());
        }
    });
}

function refreshImage(id) {
    document.getElementById('imgAntispam').src = '/antispam.php?id=' + id + '&i = ' + Math.floor(Math.random()*100000);
}

function changeAccount() {
	if ($.trim($("#reg_name").val()) == "") daAlert('Заполните пожалуйста поле "Ф.И.О."', "", "Закрыть");
	else da_changeAccount(xajax.getFormValues('reg', false, 'reg'));
}

function changePassword() {
	var message = new Array();
	var old = $("#passCurrent").val(); new1 = $("#pass1").val(); new2 = $("#pass2").val();
	if (old == "") message.push('Заполните пожалуйста поле "Текущий пароль"');
	if (new1 == "") message.push('Заполните пожалуйста поле "Новый пароль"');
	if (new2 == "") message.push('Заполните пожалуйста поле "Повторите пароль"');
	if (new1 != new2) message.push('Пароли не равны');
	(message.length > 0) ? daAlert(message.join("<br/>"), "", "Закрыть") : da_changePassword(old, new1, new2);
}

function switchCommentPage(page) {
	var id_clip = $("#clipId").val();
	da_listingComment(id_clip, page);
}

function replaceCount(count) {
	//Вынимать текст с помощью регулярного выражения + пересчитывать при добавлении
	var stroka = /([а-я]+).*/i.exec($("#botMenu tr td:eq(1) a").html());
	var text = (count > 0) ? stroka[1] + " (" + count + ")" : stroka[1];
	$("#botMenu tr td:eq(1) a").html(text);
	$("#botMenu tr td:eq(1) b").html(text);
}

function pageRolikCount() {
  rolikWidth = 120;
  rolikMargin = 30;
  contentPadding = 46;
  rows = 4;
  return (($('#rightContent').width()-contentPadding-(($('#rightContent').width()-contentPadding) % (rolikWidth + rolikMargin))) / (rolikWidth + rolikMargin))*rows;
}

function drawButtons() {
	$(".cBtn").each(function () {
					var hlp = $(this).val();
					$("#helper").html(hlp);
					var hlw = $("#helper").width() + 5;
					$(this).width(hlw);
					});
}

function getDataFromUrl(defaultClipId, defaultHeadingId, defaultFolder) {
	// #id=77&heading=0&folder=0
	var array = /\#[a-z]+\=(\d+)\&[a-z]+\=(\d+)\&[a-z]+\=(\d+)/.exec(location.hash);
	//alert(array.length);
    if (array != null && array.length) {
    	if (typeof(array[1]) != "undefined") defaultClipId = array[1];
    	if (typeof(array[2]) != "undefined") defaultHeadingId = array[2];
    	if (typeof(array[3]) != "undefined") defaultFolder = array[3];
    }
    $("#player").after('<input type="hidden" name="clipId" value="' + defaultClipId + '">' + 
			    	   '<input type="hidden" name="headingId" value="' + defaultHeadingId + '">' + 
			    	   '<input type="hidden" name="folderId" value="' + defaultFolder + '">');
}