var PROJECT_FOLDER = 'kouzma/';
var W_ABSPATH = '/' + PROJECT_FOLDER;
var W_AJAX = W_ABSPATH + 'system/ajax/';
var W_IMAGES = W_ABSPATH + 'content/images/';
var W_BLOCKS = W_ABSPATH + 'content/blocks/';
var W_CSS = W_ABSPATH + 'content/css/';

$(document).ready(function() {
  $('.wysiwygComment').each(function(i){
    $(this).wysiwyg({ debug : true, wysiwygType : 'comment' });
    var curElement = $(this);
    $(this).parents('form').submit( function() {  
      $(curElement).val($( $('#' + $(curElement).attr('id') + 'IFrame').document() ).find('body').html());
    });
  });
  
  $('.wysiwygAdmin').each(function(i){
    $(this).wysiwyg({ debug : true });
    var curElement = $(this);
    $(this).parents('form').submit( function() {  
      $(curElement).val($( $('#' + $(curElement).attr('id') + 'IFrame').document() ).find('body').html());
    });
  });  

});

//Функция отправляет заявку
/*
function sendRequest(){
  var tournamentId = $("#tournamentName").val();
  var teamName = $("#teamName").val();
  var teamCaptain = $("#teamCaptain").val();
  var teamCity = $("#teamCity").val();
  var teamEMail = $("#teamEMail").val();
  if (tournamentId==-1)
    createErrorTip("tournamentName", "Выберите турнир");
  else if(teamName == "")
    createErrorTip("teamName", "Введите название команды");
  else if(teamCaptain == "")
    createErrorTip("teamCaptain", "Введите капитана команды");
  else if(teamCity == "")
    createErrorTip("teamCity", "Введите город, из которого ваша команда");
  else if(!testEMail(teamEMail))
    createErrorTip("teamEMail", "Введите корректный E-mail для связи.");
  else{
    var file = W_ABSPATH + "sendrequest.php";
    $.post(file,{
      type: "application/x-www-form-urlencoded",
      tournamentId: tournamentId,
      teamName: teamName,
      teamCaptain: teamCaptain,
      teamCity: teamCity,
      teamEMail: teamEMail
    },
    function(responseText){
      alert(responseText);
    }
  );}
}
*/
/*Проверка EMaila*/
function testEMail (mail) {
  var re = /[0-9a-z_\.\-]+@[0-9a-z_\.\-]+\.[a-z]{2,4}/;
  return (re.test(mail));
}
//функция получает абсолютную позицию верхней границы элемента
function myGetTop(element){
  var iTop = 0;
  for(;;){
    //Проверка на попадание в элемент с абсолютным позиционированием
    if(($(element).css("position")) == "absolute"){
      iTop +=element.offsetTop;
      break;
    }
    //Проверка на попадание в элемент body
    if(element.tagName == 'BODY'){
      iTop +=element.offsetTop;
      break;
    }
    //Пересчет текущей позиции и переход к элементу более верхнего уровня
    iTop +=element.offsetTop;
    element = element.offsetParent;
  }
  return iTop;
}
//функция получает абсолютную позицию левой границы элемента
function myGetLeft(element){
  var iLeft = 0;
  for(;;){
    //Проверка на попадание в элемент с абсолютным позиционированием
    if(($(element).css("position")) == "absolute"){
      iLeft +=element.offsetLeft;
      break;
    }
    //Проверка на попадание в элемент body
    if(element.tagName == 'BODY'){
      iLeft += element.offsetLeft;
      break;
    }
    //Пересчет текущей позиции и переход к элементу более верхнего уровня
    iLeft += element.offsetLeft;
    element = element.offsetParent;
  }
  return iLeft;
}
//Функция подготавливает элемент к показу
function popUp(el, elTo){
  this.marginTo = 0;//смещение от элемента( -7 для подсказок)
  this.positionType = 'bottom'; //Сторона, с которой будет выводиться блок
  this.speed=0;
  this.animateType ='height';
  this.el = $(el).get(0);
  this.elTo = $(elTo).get(0);
  this.topP = myGetTop($(elTo).get(0));
  this.leftP = myGetLeft($(elTo).get(0));
  return this;
}
//Задает отступ от элемента
popUp.prototype.setMarginTo = function(marginTo){
  this.marginTo = marginTo;
  return this;
};
//Задает скорость всплытия подсказки
popUp.prototype.setSpeed = function(speed){
  this.speed = speed;
  return this;
};
//Задает способ всплытия подсказки
popUp.prototype.setAnimateType = function(animateType){
  switch(animateType){
  case 'height':
    this.animateType = 'height';
    break;
  case 'width':
    this.animateType = 'width';
    break;
  }
  return this;
}
//Задает сторону с которой элемент должен появится
popUp.prototype.setPositionType = function(positionType){
  switch(positionType){
  case 'top':
    this.positionType = 'top';
    break;
  case 'right':
    this.positionType = 'right';
    break;
  case 'bottom':
    this.positionType = 'bottom';
    break;
  case 'left':
    this.positionType = 'left';
    break;
  }
  return this;
}
//Отображает элемент
popUp.prototype.show = function(){
  $(this.el).hide();
  $(this.el).css({
    position: 'absolute',
    top 	: this.topP + 'px',
		left	: this.leftP + 'px'
  });
  switch(this.positionType){
  case 'top':
    this.topP -= this.el.offsetHeight + this.marginTo;
    break;
  case 'right':
    this.leftP += this.elTo.offsetWidth + this.marginTo;
    break;
  case 'bottom':
    this.topP += this.elTo.offsetHeight + this.marginTo;
    break;
  case 'left':
    this.leftP -= this.el.offsetWidth + this.marginTo;
    break;
  }
  $(this.el).css({
    top 	: this.topP + 'px',
		left	: this.leftP + 'px'
  });
  switch (this.animateType){
    case 'height':
      $(this.el).animate({height: "show"}, this.speed);
    break;
    case 'width':
      $(this.el).animate({width: "show"}, this.speed);
    break;
    default: $(this.el).show(this.speed); break;
  }
  return this;
};
//Удаляет элемент
popUp.prototype.remove = function(){
  $(this.el).remove();
}
//Создает подсказку, сообщающую об ошибке для нужного элемента
//Достаточно вызвать только эту функцию, чтобы вывести всплывающую подсказку
function createErrorTip(elId, text){
  var temp = $('<div class="errorPP" id="error'+elId+'"><div><div><div>ошибка:'+text+'</div></div></div></div>').appendTo("body");
  new popUp(temp, $("#"+elId).get(0)).setMarginTo(-7).show();
  $("#"+elId).click(function(){$("#error"+elId).remove();});
}
