$(document).ready(function() {
  $('.wysiwygComment').each(function(i){
    $(this).wysiwyg({ debug : true, wysiwygType : 'comment' });
    var curElement = $(this);
    $(this).parents('form').submit( function() {
      $(curElement).val($( $("iframe[@id='" + $(curElement).attr('id') + "IFrame']").document() ).find('body').html());
    });
  });
  $('.wysiwygAdmin').each(function(i){
    $(this).wysiwyg({ debug : true });
    var curElement = $(this);
/*    $("<div class='wysiwyg2' id='" + $(curElement).attr("id") + "_w2'></div>").css("display", "none").insertBefore(curElement);
    $("div.wysiwyg2[@id='" + $(curElement).attr("id") + "_w2']").html($(curElement).html());*/
    $(this).parents('form').submit( function() {
      $(curElement).val($( $("iframe[@id='" + $(curElement).attr('id') + "IFrame']").document() ).find('body').html());
    });
  });
  if ($('.wysiwygAdmin').size() != 0){
    $("a.thickbox").each(function(j){
      if (j == 0){
        thickBox_init(); //инициализируем окошки
      }
    });
  }
  //Обычные окошки thickbox
  if($('.wysiwygAdmin').size() == 0)
  	if ($("a.thickbox").length > 0){
    	thickBox_init(); //инициализируем окошки
  	}
//stars.createStarsClicks({disabled: false, selectedValue: 2});
// $($("form").find("#IFrame").document()).find("body")
//$( $("#IFrame").document() ).find("body").html("aaaaaaaaaaaaaaaaaaaaaa");
/*$("input").keypress(function (e) {
    	if (e.which == 8 || e.which == 46)
    		return false;
//      if (e.which == 32 || (65 <= e.which && e.which <= 65 + 25)
//                        || (97 <= e.which && e.which <= 97 + 25)) {
//        var c = String.fromCharCode(e.which);
//        $("p").append($("<span/>"))
//              .children(":last")
//              .append(document.createTextNode(c));
//      } else if (e.which == 8) {
//        // backspace in IE only be on keydown
//        $("p").children(":last").remove();
//      }
alert(e.which);
    });*/

  //$("#goldensite").css('opacity', '0.3');
  $("#goldensite").hover(
    function() {
      $("#goldensite").fadeTo(0, 1);
    },
    function() {
      $("#goldensite").fadeTo(0, 0.2);
    });
});



        // функция вывода результата выбранного данного
        // выводит переданный элемент значение из элемента
        function selectItem(li) {
                if (li.extra) {
                        alert("That's '" + li.extra[0] + "' you picked.")
                }
        }

        // функция выводит значения переданные с сервера
        // row[0] это ключ по котому идет поиск
        // row[1] это значение которое выводиться в поле вывода внизу
        function formatItem(row) {
                return row[0] + "<br /><i>" + row[1] + "</i>";
        }

        //Получает имя сущности по номеру
        function getEssenceTypeNameById(typeNum) {
//        alert(typeNum);
          switch (typeNum) {
                case 1:  return 'article';
                case 2:  return 'comment';
                case 3:  return 'user';
                case 4:  return '';
                case 5:  return 'question';
                case 6:  return 'answer';
                case 7:  return 'tutorial_lesson';
                case 8:  return 'tutorial_complex';
                case 9:  return 'tutorial_theme';
                case 10: return 'solution';
                case 11: return 'community';
                case 12: return 'tutorial_theme_offer';
                default: return false;
        	}
        }

        function getEssenceTypeAdressById(typeNum){
          switch (typeNum) {
                case 1:  return 'articles';
                case 2:  return 'comment';
                case 3:  return 'user';
                case 4:  return '';
                case 5:  return 'question';
                case 6:  return 'answer';
                case 7:  return 'tutorials';
                case 8:  return 'tutorial_complex';
                case 9:  return 'tutorial_theme';
                case 10: return 'solutions';
                case 11: return 'community';
                case 12: return 'tutorial_theme_offer';
                default: return false;
        	}

        }

function isset(mixed_var) {
  //original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
  var i = 0, argc = arguments.length, argv = arguments, set=true;
  for (i = 0; i< argc; i++){
    if( argv[i] === undefined ){
      set = false;
      break;
    }
  }
  return set;
}


// Удаление лишних прбельных символов, аналогичная функция из PHP
function trim(str, charlist) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: mdsjack (http://www.mdsjack.bo.it)
    // +   improved by: Alexander Ermolaev (http://snippets.dzone.com/user/AlexanderErmolaev)
    // +      input by: Erkekjetter
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // *     example 1: trim('    Kevin van Zonneveld    ');
    // *     returns 1: 'Kevin van Zonneveld'
    // *     example 2: trim('Hello World', 'Hdle');
    // *     returns 2: 'o Wor'
    charlist = !charlist ? ' \s\xA0' : charlist.replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g, '\$1');
    var re = new RegExp('^[' + charlist + ']+|[' + charlist + ']+$', 'g');
    return str.replace(re, '');
};

function toggleBox(id) {
  alert($("#" + id).attr('id'));
}

function myGetTop(element){
  var iTop = 0;
  for(;;){
    if(($(element).css("position")) == "absolute"){
      iTop +=element.offsetTop;
      break;
    }
    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;
    }
    if(element.tagName == 'BODY'){
      iLeft += element.offsetLeft;
      break;
    }
    iLeft += element.offsetLeft;
    element = element.offsetParent;
  }
  return iLeft;
}

function minimizeBox(className) {
  //$(".box").hide();
  $("li#btn_" + className).removeClass("selected");
  $("." + className).hide();
}
function toggleBox(objBtn, className) {
//  $(".box").hide();
  var userVariableName = '';
  switch (className) {
    case 'box_cloud_tag': userVariableName = 'tagsCloudMinimizedFlag'; break;
    case 'login_form': userVariableName = 'loginMinimizedFlag'; break;
    case 'main_user_menu': userVariableName = 'userMenuMinimizedFlag'; break;
    case 'siteAbilities': userVariableName = 'siteAbilitiesMinimizedFlag'; break;
    case 'main_menu': userVariableName = 'mainMenuMinimizedFlag'; break;
    case 'box_fav_menu': userVariableName = 'tagsFavsMinimizedFlag'; break;
  }
  if ($("." + className).css("display") == "block") {
    setUserVariable(userVariableName, 1);// сохраняем состояние облака тегов
    $("." + className).hide();
  }
  else {
    $("." + className).show();
  	setUserVariable(userVariableName, 0); // сохраняем состояние облака тегов
  }
  $(objBtn).parent().toggleClass("selected");
}

function array_search(needle, haystack) {
  for (var i = 0; i < haystack.length; i++)
    if (haystack[i] == needle)
      return i;
  return -1;
}

function setUserVariable(variableName, variableValue){
	$.post(W_AJAX + "setUserVariable.php", { variableName: variableName, variableValue: variableValue }, function(obj){if(obj.result == "error") alert(obj.error);}, 'json');
}
function validate() {};
//Выводит иконку об ошибке или о том, что все ок
validate.setErrorOrCorrect = function(el, type, alt) {
  alt = alt || "";
  var imageName = "";
 if (type)
   imageName = 'correct.gif';
 else
   imageName = 'error.gif';
  var curImg = $(el).next("img");
	if ($(curImg).length) {
	  $(curImg).attr("src", W_IMAGES + 'icons/' + imageName);
	  $(curImg).attr("alt", alt);
	  $(curImg).attr("title", alt);
	}
	else
	  $(el).after('<img src="' + W_IMAGES + 'icons/' + imageName + '" class="errOrCor" title="' + alt + '" alt="' + alt + '" />');
};

//Вывести иконку об ошибке
validate.setError = function(el, alt) {
  validate.setErrorOrCorrect(el, 0, alt);
};
//Вывести иконку об успехе
validate.setCorrect = function(el, alt) {
	validate.setErrorOrCorrect(el, 1, alt);
};

//Класс "abilities" - меню "Возможности сайта"
function abilities() {}
abilities.right = function () {
	li = $('#abilities .oneAbility:first-child').html();
	$('#abilities .oneAbility:first-child').remove();
	$('#abilities').append('<div class="oneAbility" style="display:none;">' + li + '</div>');
	$('#abilities .oneAbility:lt(3)').show();


	/*var after = voz - 1;
	if(after == 0) after = 1;
	var hide = voz + 2;
	if (hide > 5) hide = hide - 5;
	var rightVoz = voz + 1;
	if(rightVoz > 5) rightVoz = rightVoz - 5;
	var leftVoz = rightVoz + 1;
	if(leftVoz > 5) leftVoz = leftVoz - 5;

	$('.voz' + after).after($('.voz' + voz));
	$('.voz' + voz).show();
	$('.voz' + hide).hide();
	$('.link_left_karusel').attr('onClick', 'karusel.left(' + leftVoz + ');return false;');
	$('.link_right_karusel').attr('onClick', 'karusel.right(' + rightVoz + ');return false;');	*/
}
abilities.left = function () {

	li = $('#abilities .oneAbility:last-child').html();
	$('#abilities .oneAbility:last-child').remove();
	$('#abilities').prepend('<div class="oneAbility" style="">' + li + '</div>');
	$('#abilities .oneAbility:lt(3)').show();
	$('#abilities .oneAbility:gt(2)').hide();
	/*var before = voz + 1;
	if(before == 6) before = 1;
	var hide = voz - 2;
	if (hide < 1) hide = 5 + hide;
	var leftVoz = voz - 1;
	if(leftVoz < 1) leftVoz = 5 + leftVoz;
	var rightVoz = leftVoz - 1;
	if(rightVoz < 1) rightVoz = 5 + rightVoz;

	$('.voz' + before).before($('.voz' + voz));
	$('.voz' + voz).show();
	$('.voz' + hide).hide();
	$('.link_left_karusel').attr('onClick', 'karusel.left(' + leftVoz + ');return false;');
	$('.link_right_karusel').attr('onClick', 'karusel.right(' + rightVoz + ');return false;');	*/
}

function fulltime (){
	var d=new Date();
	var minuts = d.getMinutes();
	var hours = d.getHours();
	minuts = minuts < 10 ? "0" + minuts : minuts;
	hours = hours < 10 ? "0" + hours : hours;
	$(".headClock").empty();
	$(".headClock").append(hours + ":" + minuts);
	setTimeout('fulltime()',1000)
}


//Полная замена подстроки
function string_replace(text,str_cut,paste_str){
    var hlt = '';
    var v = 0;
    hlt = hlt + text;
    v = hlt.indexOf(str_cut);
        while ( v != -1 ) {
        v = hlt.indexOf(str_cut);
        if ( v > 0 ){
            hlt = hlt.substr(0, v) + paste_str + hlt.substr(v + str_cut.length);
        };
    };
    return hlt;
}

function str_replace(search, replace, subject) {
		//alert(subject);
	while(subject.indexOf(search) + 1){
		subject = subject.split(search).join(replace);
		//alert(subject);

	}
	return subject;
}


function essence() {}
/*Обработка избранных*/
essence.toggleFavorite = function(objLink, id, essenceType) {
  if ($(objLink).attr("pressed") == "pressed")
    return false;
  if ($(objLink).find('span').html() == 'Добавить в избранные') {
    $(objLink).attr("pressed", "pressed"); //Добавляем защиту от повторных нажатий
    	$.ajax({
      	type: "POST",
        url: W_AJAX + 'toggleFavorite.php',
        data: 'id=' + id + '&type=' + essenceType + '&action=1',
        success: function(responseText){
        	if (navigator.userAgent.indexOf ("Opera") != -1) var arrInfo = eval('(' + responseText + ')');
    	    else var arrInfo = JSON.parse(responseText);
    	    if(arrInfo['status']) {
            $(objLink).find('span').html('Удалить из избранных');
    	    }
    	    else {
        		$(objLink).attr('pressed', 'no');
        		if (!arrInfo['err_text'])
        		  alert('Произошла ошибка запроса');
        		else
        		  alert(arrInfo['err_text']);
        	}
        }
      });
  } else {
    $(objLink).attr("pressed", "pressed"); //Добавляем защиту от повторных нажатий
    	$.ajax({
      	type: "POST",
        url: W_AJAX + 'toggleFavorite.php',
        data: 'id=' + id + '&type=' + essenceType + '&action=2',
        success: function(responseText){
        	if (navigator.userAgent.indexOf ("Opera") != -1) var arrInfo = eval('(' + responseText + ')');
    	    else var arrInfo = JSON.parse(responseText);
    	    if (arrInfo['status']) {
            $(objLink).find('span').html('Добавить в избранные');
    	    }
    	    else {
        		$(objLink).attr('pressed', 'no');
        		if (!arrInfo['err_text'])
        		  alert('Произошла ошибка запроса');
        		else
        		  alert(arrInfo['err_text']);
        	}
        }
      });
  }
  $(objLink).removeAttr("pressed");
}
/*Обработка "Я тоже заинтересован"*/
essence.toggleInterest = function (objLink, id, essenceType) {
  var isVoted = parseInt($(objLink).attr("status"));
  if ($(objLink).attr("pressed") == "pressed")
    return false;
  if (!isVoted) { //Добавление
    $(objLink).attr("pressed", "pressed"); //Добавляем защиту от повторных нажатий
    	$.ajax({
      	type: "POST",
        url: W_AJAX + 'toggleInterest.php',
        data: 'id=' + id + '&type=' + essenceType + '&action=1',
        success: function(responseText){
        	if (navigator.userAgent.indexOf ("Opera") != -1) var arrInfo = eval('(' + responseText + ')');
    	    else var arrInfo = JSON.parse(responseText);
    	    if(arrInfo['status']) {
            $(objLink).attr("status", 1);
            $(objLink).find("img").attr("src", W_IMAGES + "button/btn_not_interested.gif").css("width", "117px");
            $(objLink).attr('title', 'Мне эта тема больше не интересна');
    	    }
    	    else {
        		$(objLink).attr('pressed', 'no');
        		if (!arrInfo['err_text'])
        		  alert('Произошла ошибка запроса');
        		else
        		  alert(arrInfo['err_text']);
        	}
        }
      });
  } else { //Удаление
    $(objLink).attr("pressed", "pressed"); //Добавляем защиту от повторных нажатий
    	$.ajax({
      	type: "POST",
        url: W_AJAX + 'toggleInterest.php',
        data: 'id=' + id + '&type=' + essenceType + '&action=2',
        success: function(responseText){
        	if (navigator.userAgent.indexOf ("Opera") != -1) var arrInfo = eval('(' + responseText + ')');
    	    else var arrInfo = JSON.parse(responseText);
    	    if (arrInfo['status']) {
            $(objLink).attr("status", 0);
            $(objLink).find("img").attr("src", W_IMAGES + "button/btn_interested.gif").css("width", "146px");
            $(objLink).attr('title', 'Присоединиться к заявке');
    	    }
    	    else {
        		$(objLink).attr('pressed', 'no');
        		if (!arrInfo['err_text'])
        		  alert('Произошла ошибка запроса');
        		else
        		  alert(arrInfo['err_text']);
        	}
        }
      });
  }
  $(objLink).removeAttr("pressed");
}






//выдача инвайта
function addInviteToUser(idUser){
	$.post(W_AJAX + "getInviteToAll.php", {idUser : idUser}, '', 'json');
	alert("Инвайт выдан");
	 window.location.href="";
}

function print_r(arr, level) {
    var print_red_text = "";
    if(!level) level = 0;
    var level_padding = "";
    for(var j=0; j<level+1; j++) level_padding += "    ";
    if(typeof(arr) == 'object') {
        for(var item in arr) {
            var value = arr[item];
            if(typeof(value) == 'object') {
                print_red_text += level_padding + "'" + item + "' :\n";
                print_red_text += print_r(value,level+1);
		}
            else
                print_red_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
        }
    }

    else  print_red_text = "===>"+arr+"<===("+typeof(arr)+")";
    return print_red_text;
}


function isValidEmail(email){
  return /^((([a-z]|[0-9]|!|#|$|%|&|'|\*|\+|\-|\/|=|\?|\^|_|`|\{|\||\}|~)+(\.([a-z]|[0-9]|!|#|$|%|&|'|\*|\+|\-|\/|=|\?|\^|_|`|\{|\||\}|~)+)*)@((((([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.))*([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.)[\w]{2,4}|(((([0-9]){1,3}\.){3}([0-9]){1,3}))|(\[((([0-9]){1,3}\.){3}([0-9]){1,3})\])))$/i.test(email);
}

// общая функция для добавления, удаления и контроля за иконкой AJAX загрузки

function experiment(name, url) {
	$.post(
		W_AJAX + "experiment.php",
		{
      name: name
		}, function(obj){
			console.log(obj);
			console.log(url);
			if (url != undefined) document.location.href = url;
		}
	);
}
