$( function(){
	//смена блоков дополнительной информации при смене статуса
	$('#fstatus').change(function(){

		if($('#fstatus option:selected').attr('value') == 'student')
		{
			$('#student').show();
			$('#employee').hide();
		}
		if($('#fstatus option:selected').attr('value') == 'employee')
		{
			$('#employee').show();
			$('#student').hide();
		}
	});
	$('#fstatus').change();
	
	//подгрузка кафедр пришитых к выбранному факультету
	$('#field-faculty').change(function(){
		$.ajax({
			url: '/user/ajax_get_subfaculty/'+$('#field-faculty option:selected').attr('value'), 
			success: function(data){
				$('#divsubfaculty').html(data);
			},
			error: function(html){alert(html.statusText)},
			type: 'post'
		})
	});
	
	//подгрузка кафедр пришитых к текущему факультету
	$('#field-faculty').change();
	
	//подгрузка тем форума
	$('#form_discussion_search').submit(function(ev) {
		$.post(
			'/user/ajax_discussion_search',
			{
				text: $('#inp_search_discussion').attr('value')
			},
			function(data){
				$('#search_results').html(data);
			}
		);
		
		ev.preventDefault();
	});
	
		//подгрузка мероприятий
	$('#form_action_search').submit(function(ev) {
		$.post(
			'/user/ajax_action_search',
			{
				text: $('#inp_search_action').attr('value'),
				uid: $('#uid').attr('value')								
			},
			function(data){
				$('#action_search_results').html(data);
			}
		);
		
		ev.preventDefault();
	});
	
	// Label autohide
	var $elems = $('label._autohide + input.inp');
	var hdr = function(){ var $fld=$(this); $fld.prev().toggle( $fld.val()=='' ); }


	$elems.focus( function(){ $(this).prev().hide(); });
	$elems.blur( hdr );
	$elems.each( hdr ) ;
	$elems.change( hdr )

	// Flash\HTML switcher
	$('span.flashVer').click( function(){
		$(this).addClass('cur');
		$('span.htmlVer').removeClass('cur');

		$('div.htmlHeader').slideUp('slow', function(){ $('div.videoHeader').slideDown('slow'); });
	});

	$('span.htmlVer').click( function(){
		$(this).addClass('cur');
		$('span.flashVer').removeClass('cur');

		$('div.videoHeader').slideUp('slow', function(){ $('div.htmlHeader').slideDown('slow'); });
	});


	// Login \ Registration
	$('div.doorBlock span.enterDoor').click(function(){
		$('div.authorization').addClass('login');
		$('div.loginBlock').show();
		$('div.passBlock').hide();
	})

	$('div.loginBlock div.inside div.close').click(function(){
		$('div.authorization').removeClass('login');
		$('div.loginBlock').hide();
	})

	$('div.passBlock div.inside div.close').click(function(){
		$('div.passBlock').hide();
	})

	$('div.forgetDoor').click(function(){
		$('div.authorization').removeClass('login');

		$('div.loginBlock').hide();
		$('div.passBlock').show();
	})


	$('#loginButton').click(function(){
		$.post(
			'/user/login',
			{
				username: $('#username').attr('value'),
				password: $('#password').attr('value')
			},
			function(data)
			{
				if(data == 'Ok')
				{
					window.location.reload();
				}
				else
				{
					$('#loginAuthError').html(data);
				}
			}
		)
	});
	
	$('#forgetButton').click(function(){
		$.post(
			'/user/forget',
			{
				forgetUsername: $('#forgetUsername').attr('value')
			},
			function(data)
			{
				$('#forgetAuthError').html(data);
			}
		)
	});


	$('#logoutButton').click(function(){
		$.post(
			'/user/logout',
			{},
			function(data)
			{
				if(data == 'Ok')
					window.location.reload();
			}
		)
	});


	//показать следующие 20 записей из лога
	var offset = 20;
	$('#next20').click(function(){
		//alert($('#logIndexList').html())
		$.post('/log/ajax_next20', { offset: offset } , function(data){ 
			offset = offset+20;
			if(data == 'End')
				$('#next20').hide();
			else
			{
				var text = $('#logIndexList').html();
				$('#logIndexList').html(text+data);
			}
		})
	});


	function ShowMap( _this ){

		var $this = $(_this);
		var $divMap = $this.find('div.map');
		var $gglMap;

		var lat  = parseFloat( $divMap.attr('lat'), 10 );
 		var lng  = parseFloat( $divMap.attr('lng'), 10 );
		var zoom = 15;

		var latlng;
		var myOptions;
		var infowindow;
		
		var map;
		var marker;


		$gglMap = $this.find('.gogleMapObject');
		if( $gglMap.length == 0 ){

			$gglMap = $('<div class="gogleMapObject" style="width:500px;height:250px;"></div>');
			$this.append( $gglMap );
			$gglMap.click( function( ev ){ ev.stopPropagation(); } );

			if (typeof google != 'undefined') {
				latlng = new google.maps.LatLng(lat,lng);
				myOptions = {
					center: latlng,
					zoom: zoom,
					mapTypeId: google.maps.MapTypeId.ROADMAP
				};

				infowindow = new google.maps.InfoWindow({
					content: $this.find('h2').text()
					//,height:50
					//,width: 25
				});

				map = new google.maps.Map( $gglMap[0], myOptions);
				marker = new google.maps.Marker({ position: latlng, map: map });

				google.maps.event.addListener(marker, 'click', function() { infowindow.open(map,marker); });
				infowindow.open(map,marker);

			} // } else {

			// var ymap = new YMaps.Map(YMaps.jQuery("#maps")[0]);

			// ymap.setCenter( new YMaps.GeoPoint(lng,lat), zoom, YMaps.MapType.MAP );
			// ymap.addControl(new YMaps.Zoom());
			// ymap.addControl(new YMaps.TypeControl());

			// var s = new YMaps.Style();

			// s.balloonContentStyle = new YMaps.BalloonContentStyle(
			// new YMaps.Template("<div>$[description]</div>")
			// );

			// var placemark = new YMaps.Placemark(ymap.getCenter(), {maxHeight:150});
			// placemark.description = $('#map_content').html();
			// ymap.addOverlay(placemark);
			// placemark.openBalloon();
		// }
		}
	} 

	// Contact
	(function(){
		var $conBlock = $('.contact_block.show');
		var $map = $conBlock.find('.map');


		$map.hide();

		$conBlock.toggle( function(){
			var $this = $(this);


			ShowMap(this);

			if( ! $this.find('.gogleMapObject').is(':animated') )
				$this.find('.gogleMapObject').slideDown();

		}, function(){
			var $this = $(this);

			if( ! $this.find('.gogleMapObject').is(':animated') )
				$this.find('.gogleMapObject').slideUp();
		});

	})();

	// Menu. For IE (6 ver.)
	(function(){
		if( typeof $.browser.msie != 'indefined' && $.browser.msie )
			$('ul.menuTop li').hover( function(){ $(this).addClass('hover');}, function(){ $(this).removeClass('hover'); } );
	})();

	// Search results
	(function(){
		var $divRslt = $('div.searchResult');

		$divRslt.find('.newsList.more').hide();

		$divRslt.find('.more').click( function(){
			$(this).hide();
			$(this).find('~.newsList.more').show();
		});
		//.searchResult .newList .more
	})();


	// Search results
	(function(){

		$('ul.options').hover( function(){ $(this).toggleClass('show'); } )
		$('ul.options li input').click( function(ev){ $(this).parent().parent().addClass('cur').siblings().removeClass('cur'); } )
	})();


	// Register.html
	(function(){
		$('#student_info').hide();

		if( $('#new_status_student').attr('checked'))
			$('#student_info').show();

		$('div.registration ul.radio input:radio').click( function(){
			$('#student_info').toggle( this.id == 'new_status_student' );
		});

		// inputs value
		$('#userRegisterForm').find('.needed').keyup( function(){ // 
			var $this = $(this);

			$this.toggleClass('error', $this.val()=='' );

			$this.find('~ div.errorMes').html( $this.val()=='' ? 'Обязательно для заполнения.' : '');
		});

		// Mail
		$('#new_username').bind('keyup focusout', function(){

			var $input = $(this);
			var emailPattern = /^[A-z0-9.+_-]+@[A-z0-9.-]+\.[A-z]{2,4}$/;

			$input.toggleClass('error', !emailPattern.test( $input.val()) );
			$input.find('~ div.errorMes').html( !emailPattern.test($input.val()) ? 'Некорректная почта.' : '');
		});

		// pass
		$('#new_password.inp').bind('keyup focusout', function(){
			var $inp = $(this);
			var stt = ($inp.val().length < 6);


			$inp.toggleClass('error', stt);
			$inp.find('~ .errorMes').toggle( stt );
			$inp.find('~ div.errorMes').html( stt ? 'Минимальная длина 6 символов.' : '');
		});

		// confirm pass
		$('#new_password_confirm.inp').keyup( function(){
			var $inp = $(this);
			var stt = $inp.val() == '' || $inp.val() != $('#new_password.inp').val();

			$inp.toggleClass('error', stt );
			$inp.find('~ div.errorMes').html( stt ? 'Пароли должны совпадать.' : '');
		});

		// Submit form
		// Clear fields if status == student #201352
		$('#userRegisterForm').submit( function(ev){
			if( $(this).find('.error').length > 0 )
			{
				alert('Некорректно заполнены некоторые поля.')
				ev.preventDefault();
				return;
			}


			if( $('#new_status_student:checked').length == 1 )
			{
				document.getElementById('new_student_number').value = '';
				document.getElementById('field-faculty').value = '';
				document.getElementById('new_group').value = '';
			}
		});
	})();


	// Messages
	(function(){

		var hdrScss;
		var hdrShow;


		hdrShow = function(){
			var $this = $(this);
			var $lnk;
			var $slct = $("#selectMessageRecipient");
			var $opt;


			//if( $this.attr('id') == 'actionWriteMessage') //hasClass('personalMessage')
			if( $this.hasClass('personalMessage') )
			{
				$lnk = $this;//.find('.personalMessage');

				if( $slct.find('options.currentTarget').length == 0 )
					$slct.append('<option class="currentTarget" value=""></option>');


				$opt = $slct.find('option.currentTarget');
				
				$opt.attr('value', $lnk.attr('user_id') );
				$opt.html( $lnk.attr('user_name') );

				$slct.val( $lnk.attr('user_id') );
				$slct.attr('disabled', 'true');
			} else{
				$slct.find('option.currentTarget').detach();
				$slct.removeAttr('disabled');
			}

			$('div.sendMessage').show();
		};

		$('#actionWriteMessage,#outputSendMessage,#newSendMessage,#inputSendMessage, div.menuUser div.subMenu li a:contains("Написать"), a.personalMessage').click( hdrShow );


		//пригласить к обсуждению
		//выбор темы
		$('#actionInvitation').click(function(){
			$('div.invitation').show();
			$('#form_discussion_search').submit();
		});
		//отправка приглашения
		$('#form_send_invitation').submit(function(ev){
			$.post(
				'/user/invitation',
				{
					user_id: $('#invite_user_id').attr('value'),
					text: $('#invite_text').attr('value'),
					discussion_id: $(':radio[name="discussion_id"][checked]').attr('value')
				},
				function(data)
				{
					if(data == 'Ok')
					{
						$('div.invitation div.close').click();
					}
				}	
			);
			
			ev.preventDefault();
		});
		
		
		//пригласить в мероприятие
		//выбор мероприятия
		$('#actionInvite').click(function(){
			$('div.invite').show();
			$('#form_action_search').submit();
		});
		//отправка приглашения
		$('#form_action_invitation').submit(function(ev){
			$.post(
				'/user/add_members',
				{
					uid: $('#invite_user_id').attr('value'),					
					text: $('#action_invite_text').attr('value'),				
					selected: $("#form_action_invitation").serialize()				
				},
				function(data)
				{
					if(data == 'Ok')
					{
						$('div.invite div.close').click();
					}
				}	
			);
			
			ev.preventDefault();
		});
		
		// btn Close
		$('div.sendMessage div.close').click( function(){ $(this).parent().parent().hide(); });
		$('div.invitation div.close').click( function(){ $(this).parent().parent().hide(); });
		$('div.invite div.close').click( function(){ $(this).parent().parent().hide(); });


		// sendMessageForm
		hdrScss = function( _responce ){
			var $msgDiv = $('#statusMessage');

			if( $msgDiv.length == 0 )
				$('#sendMessageForm').before('<div id="statusMessage" style="background-color:#fff0f0"></div>');

			$msgDiv = $('#statusMessage');

			if( _responce == 'Ok' )
			{
				$msgDiv.html('');
				$('div.sendMessage div.close').click();
			} else
				$msgDiv.html(_responce);
		}

		// Submit
		$('#sendMessageForm').submit( function(ev){

			var prm = {};


			$(this).find(':input,:hidden').each( function(i){ prm[this.name] = this.value; });

			$.post(this.action, prm, hdrScss );

			ev.preventDefault();
			$('#fmes').val('');
		});

		// Submit
		$('#sendMessageFromSingleForm').submit( function(ev){

			var prm = {};


			$(this).find(':input,:hidden').each( function(i){ prm[this.name] = this.value; });

			$.post(this.action, prm, function(){ window.location.reload(); }  );

			ev.preventDefault();

			$(this).hide();
			$('#singleFmes').val('');
		});

		// "История сообщений"   div.messageHistory > ul.messageList
		$('span:contains("История сообщений")').toggle( function(){ $('ul.messageList').show(); }  
		, function(){ $('ul.messageList').hide(); }
		);


		// Delete
		$('ul.messageList li.delete a[message_id]').click( function(ev){
			var $this = $(this);


			$.get( '/message/delete/' + $this.attr('message_id'), function(){ $this.parent().parent().parent().hide(); } )

			ev.preventDefault();
		});

		
		// Check All
		$('div.messageAction a:contains("все")').click( function(){
			$('ul.messageList input:checkbox').attr('checked','checked');
		})
	})();


	// Title slider
	(function(){
		// Main menus
		var $promoMenu = $('ul.promoMenu > li');
		//Sub menus
		var $subItem   = $promoMenu.find('li');
		// Slides
		var $slides = $('div.list div.block');

		var cur = 0;
		var qty = $subItem.length;
		var timeInterval = 10000;
		var speed = 1000;
		var intervalId;


		if( typeof $.browser.msie == 'undefined' )
		{
			$slides.not('.cur').find('div.foreword').attr( 'style', 'display:none;' );
			$slides.not('.cur').animate( { opacity: 0 }, 0 );
		}
			
/**/
		$subItem.each( function(i){ 
			$(this).click( function(ev){

				cur = $(this).data('number');

				// Config Menu
				$('ul.promoMenu > li.cur').removeClass('cur');
				$(this).parent().parent().addClass('cur');

				// Config Sub menu
				$('ul.promoMenu > li li.cur').removeClass('cur');
				$(this).addClass('cur');


				// Config slides
				if( typeof $.browser.msie == 'undefined' )

				$slides.filter('.cur').find('div.foreword').slideUp( speed, function(){
					$(this).closest('div.block').animate( { opacity: 0 }
						, speed
						, function(){
							$slides.filter('.cur').removeClass('cur');
							$slides.eq( cur ).addClass('cur');
							$slides.eq( cur ).animate({ opacity: 1 }, speed, function(){
								$(this).find('div.foreword').slideDown(speed);
							});
					});
				});
/*
				$slides.filter('.cur').animate( { opacity: .0 }
														, speed
														, function(){ $slides.filter('.cur').removeClass('cur');
															$slides.eq( cur ).addClass('cur');
															$slides.eq( cur ).animate({ opacity: 1 }, speed);
				});*/
				else
				{
					$slides.removeClass('cur');
					$slides.eq( cur ).addClass('cur');
				}

				ev.stopPropagation();

				clearTimeout(intervalId);
				intervalId = setTimeout( Tick, timeInterval);
			});

			$(this).data('number', i);
		})
/**/
		$promoMenu.click( function(ev){
			$(this).find('li:first-child').click();
		});
/**/

		function Tick(){

			cur++;
			if(cur >= qty)
				cur = 0;

			$subItem.eq(cur).click();

		}

		intervalId = setTimeout( Tick, timeInterval);

	})();


	// Photoalbum add
	(function(){ 
		function ToggleFields(){
			if( $('input:checked[name="access"]').val() == 'password' )
				$('div.addAlbum.iForm div.field:gt(3)').show();
			else
				$('div.addAlbum.iForm div.field:gt(3)').hide();
		}

		$('input[name="access"]').click( ToggleFields );

		ToggleFields();

	})();


	// Upload photo :: Add Tags
	(function(){
		$('div.example span').click( function(){
			var $inpTags = $('#ftags');
			var text = $(this).text();
			var val = $inpTags.val();


			if( val.indexOf(text) == -1 )
			{
				if( ! ( /,\s*$/.test( val ) ) )
					val += ', '

				$inpTags.val( val + text + ", " );
			}
		})
	})();


	// Photogallery
	(function(){
		$("div.photo_line a").lightBox();

		$('div.photo_line a img').each( function(i){
			var $img = $(this);

			$img.parent().attr('rel', 'lightbox').attr('title', $img.attr('title') );
		})
	})();


	// Add contact
	(function(){
		var $lbl = $('label.name:contains("добавить:")');

		var $slct = $('label.name:contains("добавить:") ~select');
		var $inpt  = $('label.name:contains("добавить:") ~input');

		var $prnt = $lbl.closest('div.field');
		var $addBtn = $("<input type='button' value='Ещё'>");


		$addBtn.click( function(){
			var $container = $('<div></div>');


			$container.append( $slct.clone() ).append(' ').append( $inpt.clone().val('') ); 
			$prnt.append($container);
		});

		$prnt.append( $addBtn ); //.append( $('<div></div>').append($slct).append(' ').append($inpt) )
	})();


	// Создание мероприятия
	(function(){
		var isDate = new Date();
/*
		function GetDelBtn(){
			var $btn = $('<input type="button" value="Очистить">');

			$btn.click( function(){ $(this).prev().val(''); } );

			return $btn;
		}
*/

		$('div.addPhoto div.iForm input:radio[name="private"]').click( function(){
			$('div.members').toggle( $(this).val() == 1 );
		});

		$('div.iForm div.field a:contains("Выделить всех")').click( function(){
			$('div.members input:checkbox').attr('checked', 'checked');
			return false;
		});

		$('div.iForm div.field a:contains("Снять выделение")').click( function(){
			$('div.members input:checkbox').removeAttr('checked');
			return false;
		});

		// Events
		$('div.messageAction a.selectAll').click( function(){
			$(this).closest('div.eventsUserList').find('input:checkbox').attr('checked', 'checked');
			return false;
		});

		$('div.messageAction a.unselectAll').click( function(){
			$(this).closest('div.eventsUserList').find('input:checkbox').removeAttr('checked');
			return false;
		});

		$('input#fstart_date').datetimepicker( $.extend($.datepicker.regional['ru'], { stepMinute: 5 }) );
		$('input#fend_date').datetimepicker( $.extend($.datepicker.regional['ru'], { stepMinute: 5 }) );

		// Default value
		$('input#fstart_date').val( $.datepicker.formatDate( 'yy-mm-dd', new Date()/*, settings*/ ) + " 00:00"  )
		$('input#fend_date').val('');

	})();


	// Calc min height
	(function(){
		var $items = $('ul.menuTop > li > ul');
		var max = 0;


		$items.each(function(){
			var h = $(this).outerHeight();

			if( h > max )
				max = h;
		});

		if( max > 0 )
			$('#mainWrap').css({ 'min-height': max })

	})();
});



