$(function(){
	if ($.datepicker) {
		$.datepicker.regional['ru']
		$.datepicker.setDefaults({showOn: 'both', buttonImageOnly: true, buttonImage: '/js/ui.datepicker.calendar.gif'});
		$('input[name="birthday"]').css({width: '180px'}).datepicker({yearRange: '-100:+0'});
		$('input[class="date"]').datepicker();
	}
	if ($('textarea:not(.simple)').length) {
		$('textarea:not(.simple)').wysiwyg2();
	}
	
	$('.answer').live('click', function() {
		$('textarea', '#post_comment').focus().html($(this).attr('name') + ' ');
		return false;
	});
	
	$('.close').live('click', function() {
		if ($(this).attr('name')) location.href = $(this).attr('name');
	});
	
	$('.delete').click(function(){
		return confirm('Вы уверены, что хотите удалить профиль? Отмена будет невоможна');
	});
	
	// autovalue
	
	var enter = {
		field  : {
			login    : 'Узнай логин и приходи',
			password : 'Узнай пароль и приходи',
		},
		label  : function() {
			if (!$(this).val()) $(this).val(enter.field[$(this).attr('name')]);
		},
		clean  : function() {
			var name = $(this).attr('name');
			if ($(this).val() == enter.field[name]) $(this).val('');
		},
		submit : function() {
			$('input', $(this)).each(enter.clean);
		}
	};
	
	$('#enter-error').submit(enter.submit);
	$('input', '#enter-error').each(enter.label).blur(enter.label).focus(enter.clean);
	$('input', '#enter-error').focus(function() { $(this).removeClass('error') });
	
	var login = {
		field  : {
			email    : 'E-mail',
			password : 'Пароль',
		},
		label  : function() {
			if (!$(this).val()) $(this).val(login.field[$(this).attr('name')]);
		},
		clean  : function() {
			var name = $(this).attr('name');
			if ($(this).val() == login.field[name]) $(this).val('');
		},
		submit : function() {
			$('input', $(this)).each(login.clean);
		}
	};
	
	$('#reglogin, #formcomment, #login_form').submit(login.submit);
	$('input', '#reglogin, #formcomment, #login_form').each(login.label).blur(login.label).focus(login.clean);
	
	var search = {
		field  : {
			q : 'Поиск'
		},
		label  : function() {
			if (!$(this).val()) $(this).val(search.field[$(this).attr('name')]);
		},
		clean  : function() {
			var name = $(this).attr('name');
			if ($(this).val() == search.field[name]) $(this).val('');
		},
		submit : function() {
			$('input', $(this)).each(search.clean);
		}
	};
	
	$('#search').submit(search.submit);
	$('input', '#search').each(search.label).blur(search.label).focus(search.clean);
	
	var post = {
		field  : {
			title        : 'Заголовок поста',
			tag          : 'Теги через запятую',
			image_desc   : 'Комментарий к изображению'
		},
		label  : function() {
			if (!$(this).val()) $(this).val(post.field[$(this).attr('name')]);
		},
		clean  : function() {
			var name = $(this).attr('name');
			if ($(this).val() == post.field[name]) $(this).val('');
		},
		submit : function() {
			$('input', $(this)).each(post.clean);
		}
	};
	
	$('#update').submit(post.submit);
	$('input', '#update').each(post.label).blur(post.label).focus(post.clean);
	
	// location
	
	$.infoAjax = function(type, id, selector, title) {
		$('#location-loader').show();
		$.ajax({
			'url': '/location/',
			'method': 'POST',
			'dataType': 'json',
			'data':{'type': type, 'id': id},
			'success': function(data){
				var r = '<option value="">Выберите '+ title +'</option>';
				for (var region in data)
					r += '<option value="' + data[region].id + '">' + data[region].name + '</option>';
				$(selector).html(r).show();
				$('#location-loader').hide();
			}
		});
	}
	$.csClick = $.rsClick = 0;
	
	$('#country-select')
		.change(function(){
			$(  '#city-select').hide();
			$('#region-select').hide();
			$.infoAjax('region', $(this).val(), '#region-select','Регион');
		})
		// .click(function(){ $.csClick++; if (!($.csClick % 2)) $(this).change() })
	;
		
	$('#region-select')
		.change(function(){
			$('#city-select').hide();
			$.infoAjax('city', $(this).val(), '#city-select','Город');
		})
		// .click(function(){ $.rsClick++; if (!($.rsClick % 2)) $(this).change() })
	;
	
	// Ctrl Cmd Enter
	
	$.isCtrl = function(e) {
		return (e == 17) || (e == 91) || (e == 93) || (e == 224);
	}
	
	$(document).keyup(function (e) {
		if($.isCtrl(e.which)) $.ctrl = false;
	}).keydown(function (e) {
		if($.isCtrl(e.which)) $.ctrl = true;
	});
	
	$('#formcomment').keypress(function(e){
		if ((e.which == 13) && ($.ctrl))
			$('.submit',this).click();
	});
	
	
	// tags autosize
	if ($('.autosize').children().length) {
		$.resizeSpan = function (obj,sign) {
			$.each($('span',obj), function(i,jq) {
				$(jq).css('font-size', parseInt($(jq).css('font-size').match(/\d+/)[0]) + sign + 'px');
			});
		}
		
		var as = $.makeArray($('.autosize'));
		
		for (var i =0; i<as.length; i++) {
			while (as[i].offsetHeight < $(as[i]).parent()[0].clientHeight) {
				$.resizeSpan(as[i],1);
			}
			while (as[i].offsetHeight > $(as[i]).parent()[0].clientHeight) {
				$.resizeSpan(as[i],-1);
			}
		}
	}
	
	// profile acc
	$('.accadd').click(function() {
		$('.clone').clone()
			.removeClass('clone')
			.find('a').attr('href', '#').end()
			.find('.input').val('').end()
			.insertAfter('.acc:last')
		;
		return false;
	});
});
