

/*
jQuery menu

Example:
$(document).ready(function()
{
    $('#jmenu').jmenu({animation:'fade',duration:100});
});

(c) 2010 Sawanna Team (http://sawanna.org)
*/

var jmenu={
    effect: 'fade',           /* default animation effect */
    duration: 400,         /* default duration */
    set: function (settings)
    {
       try
        {
            if (settings.animation == 'show') {this.effect='show';}
            if (settings.animation == 'slide') {this.effect='slide';}
            if (settings.animation == 'fade') {this.effect='fade';}
        } catch (e) {}
        
        try
        {
            this.duration=settings.duration;
        } catch (e) {} 
    },
    fix_pos:function(elem)
    {
        if ($(elem).parent('ul').parent('li').length)
        {
            $(elem).children('ul').eq(0).css({marginTop:-$(elem).height(),marginLeft:$(elem).width()});
        } else
        {
            $(elem).children('ul').eq(0).css({'top':$(elem).offset().top+$(elem).height() + 6,'left':$(elem).offset().left});
        }
    },
    show:function(elem)
    {
        if (this.effect=='fade') {$(elem).children('ul').eq(0).stop(1,1).fadeIn(this.duration);}
        else if (this.effect=='slide') {$(elem).children('ul').eq(0).stop(1,1).slideDown(this.duration);}
        else if (this.effect=='show') {$(elem).children('ul').eq(0).stop(1,1).show(this.duration);}
    },
    hide: function(elem)
    {
        $(elem).children('ul').eq(0).stop(1,1).fadeOut(100);
    }
}

jQuery.fn.jmenu=function(settings)
{
    jmenu.set(settings);
    
    $(this).find('li').each(function()
    {
        $(this).hover(
            function()
            {
                $(this).addClass('hovered');
                if($(this).find('ul li').length > 0) {
                    $(this).addClass('opened');
                    jmenu.fix_pos(this);
                    jmenu.show(this);
                }
            },
            function()
            {
                $(this).removeClass('hovered');
                $(this).removeClass('opened');
                jmenu.hide(this);
            }
        );
    });
};

(function(){
	jQuery.fn.extend({
		placehold: function(){
			var $query = this;
			var placeholdOptions = arguments[0] || {};
			if(placeholdOptions.itype==1) {
				var $inputs = $query.filter(":text, :password");
			} else {
				var $inputs = $query;
			}
			$inputs
				.each(function(){
					var $this = jQuery(this);
					this.placeholdValue = placeholdOptions.placeholdValue || $.trim($this.val());
					$this.val(this.placeholdValue);
					$this.addClass(placeholdOptions.blurClass || "");
				})
				.bind("focus",function(){
					var $this = jQuery(this);
					var val = $.trim($this.val());
					if (val == this.placeholdValue || val == "") {
						$this.val("")
							.removeClass(placeholdOptions.blurClass || "")
							.addClass(placeholdOptions.focusClass || "");
					}
				})
				.bind("blur",function(){
					var $this = jQuery(this);
					var val = $.trim($this.val());
					if(val == this.placeholdValue || val == "") {
						$this.val(this.placeholdValue)
							.addClass(placeholdOptions.blurClass || "")
							.removeClass(placeholdOptions.focusClass || "")
					}
				});
			return $query;
		}
	})
})()

jQuery(document).ready(function($) {

	$('input.placeholder').placehold({blurClass:'placehold', focusClass:'focus', itype:1});
	$('textarea.placeholder').placehold({blurClass:'placehold', focusClass:'focus', itype:2});

	jQuery.validator.addMethod("defaultInvalid", function(value, element) {
		return (value != element.defaultValue && (value.substr(0, 7)!='укажите' || value.substr(0, 7)!='Опишите'));
	}, "Это поле необходимо заполнить.");

	jQuery.validator.addMethod("defaultInvalidEmail", function(value, element) {
		return (value == '' || value == element.defaultValue || /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(value));
	}, "Введите корректный адрес электронной почты.");
	
	$('#content a.print-btn').click(function() {
		window.open($(this).attr('href'), 'print_wnd', 'width=800, height=600, left=0, top=0, toolbar=0, location=0, directories=0, menubar=0, scrollbars=1, resizable=1, status=0');
		return false;
	});

	$("#main #topmenu").jmenu({animation: 'show', duration: 0});
	
	//Вакансии
	$(".vacancy_anchor").each(function() {
		$(this).click(function() {
			m=$(this).attr("id").match(/anchor(\d+)/);
			$("#vacancy_vacancy option").removeAttr("selected");
			$("#vacancy_vacancy option").each(function() {
				if($(this).attr("value") == m[1]) {
					$(this).attr("selected", "selected");
				}
			});
		});
	});
	//!Вакансии

	$(".tofacebox").facebox({
		opacity: 0.4,
		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="header"> \
                  <a href="#" class="close"> \
                    <img src="/facebox/closelabel.gif" title="close" class="close_image" /> \
                  </a> \
                </div> \
					 <div class="clear"></div> \
                <div class="content"> \
                </div> \
              </td> \
              <td class="b"/> \
            </tr> \
            <tr> \
              <td class="bl"/><td class="b"/><td class="br"/> \
            </tr> \
          </tbody> \
        </table> \
      </div> \
    </div>'
	});
});

/*
 * Translated default messages for the jQuery validation plugin.
 * Language: RU
 */
jQuery.extend(jQuery.validator.messages, {
        required: "Это поле необходимо заполнить.",
        remote: "Пожалуйста, введите правильное значение.",
        email: "Введите адрес электронной почты.",
        emails: "Пожалуйста, введите корретные адреса электронной почты через запятую.",
        url: "Пожалуйста, введите корректный URL.",
        date: "Пожалуйста, введите корректную дату.",
        dateISO: "Пожалуйста, введите корректную дату в формате ISO.",
        number: "Пожалуйста, введите число.",
        digits: "Пожалуйста, вводите только цифры.",
        creditcard: "Пожалуйста, введите правильный номер кредитной карты.",
        equalTo: "Пожалуйста, введите такое же значение ещё раз.",
        accept: "Пожалуйста, выберите файл с правильным расширением.",
        maxlength: jQuery.format("Пожалуйста, введите не больше {0} символов."),
        minlength: jQuery.format("Пожалуйста, введите не меньше {0} символов."),
        rangelength: jQuery.format("Пожалуйста, введите значение длиной от {0} до {1} символов."),
        range: jQuery.format("Пожалуйста, введите число от {0} до {1}."),
        max: jQuery.format("Пожалуйста, введите число, меньшее или равное {0}."),
        min: jQuery.format("Пожалуйста, введите число, большее или равное {0}.")
});

/**

* объявляем дополнительную переменную для отслеживания 

*/

var _ga = _ga || {};

/**

* глобальная переменна Google Analytics  _gaq, которая объявляется в стандартном коде GA (который в <head>)

*/

var _gaq = _gaq || [];

/**

* вспомогательный метод для отслеживания 

*/

_ga.trackSocial = function(opt_pageUrl, opt_trackerName) {

  _ga.trackFacebook(opt_pageUrl, opt_trackerName);

  _ga.trackTwitter(opt_pageUrl, opt_trackerName);

};

/**

* отслеживание нажатий кнопок Like, Unlike и Send

*/

_ga.trackFacebook = function(opt_pageUrl, opt_trackerName) {

  var trackerName = _ga.buildTrackerName_(opt_trackerName);

  try {

    if (FB && FB.Event && FB.Event.subscribe) {

      FB.Event.subscribe('edge.create', function(targetUrl) {

        _gaq.push([trackerName + '_trackSocial', 'facebook', 'like',

            targetUrl, opt_pageUrl]);

      });

      FB.Event.subscribe('edge.remove', function(targetUrl) {

        _gaq.push([trackerName + '_trackSocial', 'facebook', 'unlike',

            targetUrl, opt_pageUrl]);

      });

      FB.Event.subscribe('message.send', function(targetUrl) {

        _gaq.push([trackerName + '_trackSocial', 'facebook', 'send',

            targetUrl, opt_pageUrl]);

      });

    }

  } catch (e) {}

};

_ga.buildTrackerName_ = function(opt_trackerName) {

  return opt_trackerName ? opt_trackerName + '.' : '';

};

/**

* Отслеживание Твиттера

 */

_ga.trackTwitter = function(opt_pageUrl, opt_trackerName) {

  var trackerName = _ga.buildTrackerName_(opt_trackerName);

  try {

    if (twttr && twttr.events && twttr.events.bind) {

      twttr.events.bind('tweet', function(event) {

        if (event) {

          var targetUrl; // Default value is undefined.

          if (event.target && event.target.nodeName == 'IFRAME') {

            targetUrl = _ga.extractParamFromUri_(event.target.src, 'url');

          }

          _gaq.push([trackerName + '_trackSocial', 'twitter', 'tweet',

            targetUrl, opt_pageUrl]);

        }

      });

    }

  } catch (e) {}

};

/**

* Отслеживание нажатий кнопок "Мне нравится" и "Мне не нравится"

*/

_ga.trackVkontakte = function(opt_pageUrl, opt_trackerName, opt_targetUrl) {

    var trackerName = _ga.buildTrackerName_(opt_trackerName);

    try {

        if (VK && VK.Observer && VK.Observer.subscribe) {

            VK.Observer.subscribe('widgets.like.liked', function() {

                _gaq.push([trackerName + '_trackSocial', 'vkontakte', 'like',

                    opt_targetUrl, opt_pageUrl]);

            });

            VK.Observer.subscribe('widgets.like.unliked', function() {

                _gaq.push([trackerName + '_trackSocial', 'vkontakte', 'unlike',

                    opt_targetUrl, opt_pageUrl]);

            });

        }

    } catch (e) {}

};

/**

 * Извчлечение query-параметров их  URI.

 * @param {string} uri The URI from which to extract the parameter.

 * @param {string} paramName The name of the query paramater to extract.

 * @return {string} The un-encoded value of the query paramater. underfined

 *     if there is no URI parameter.

 * @private

 */

_ga.extractParamFromUri_ = function(uri, paramName) {

  if (!uri) {

    return;

  }

  var uri = uri.split('#')[0];  // Remove anchor.

  var parts = uri.split('?');  // Check for query params.

  if (parts.length == 1) {

    return;

  }

  var query = decodeURI(parts[1]);

  // Find url param.

  paramName += '=';

  var params = query.split('&');

  for (var i = 0, param; param = params[i]; ++i) {

    if (param.indexOf(paramName) === 0) {

      return unescape(param.split('=')[1]);

    }

  }

  return;

};
