/**
 * A Siten használt automatikus lefuto functionok
 *
 * @package    mvo
 * @subpackage site
 * @author     Szijártó Tamás ( szicsu ) <szicsu@jquery.hu>
 * @version    SVN: $Id: $
 */


/**
 * activeMenu
 */
Site.Init.menuActive = function(){
	
	$("ul#header_menu li a[href='"+ /^(\/(.*)\.php)?\/([^\/]*)+/.exec( location.pathname )[0] +"']").attr('id', 'hm_active');
} 
 
/**
 * print init
 */
Site.Init.printPage = function(){
	$('.jsPrintPage').bind('click',function(){
		window.print();
		return false;
	});
}

/**
 * Postit init
 */
Site.Init.postit = function(){
	postitManager.init();
}

/**
 * jsConfirm confirm
 */
Site.Init.confirm = function(){
	
	$('a.jsConfirm').bind('click.confirm', function(){
		
		dialogManager.open({
			title: __('Confirm'),
			text:  Site.Style.getTemplate( {text:$(this).attr('rel'), buttonCLOSE: __('Close'), buttonOK: __('OK')}, 'confirm')
		})
		.find('.confirmOk').attr('href', $(this).attr('href') );
		return false;
	});
	
	$('.jsWindow').bind('click.window', function(){
		
		var obj = $(this);
		
		dialogManager.open({
			title: obj.attr('title'),
			height: 300,
			text: $('#'+obj.attr('rel') ).html()
		});
		
		return false;
	});

}

 
/**
 * Ajax Validation Init
 */
Site.Init.validationInit = function(){
	
	$('form.validation').YggdrasilValidation({
		//debug: true,
		//debugLevel:2,
		validateUrl: Site.Helper.getSluggedUrl('/ajax/validation')
	});
}

/**
 * Rating Init
 */
Site.Init.ratingInit = function(){

	$.fn.rating.options.cancel = 'Clear';
	$.fn.rating.options.half = true;
	$.fn.rating.options.split = 2;
	$.fn.rating.options.readOnly = true;
	
	$('input[type=radio].star').rating();
	
	$('.jsUserRating').rating({
		callback:function(){
			window.confirm( __('Are you sure want to vote'), function( formObj ){
				
				formObj.submit();
				
			}, $(this).parents('form')[0] );
		},
		readOnly: false
		
	});
}

/**
 * AjaxLoginLayer Init
 */
Site.Init.ajaxLoginLayer = function(){

	$('#jsAjaxLoginLayer').find(':text, :password').each(function(){
		
		$(this)
			.bind('focus',function(){
				$(this).val('');
			})
			.bind('blur', function(){
				
				if( $.trim( $(this).val() ) == '' ){
					$(this).val( $("label[for='"+ this.id +"']").text() );
				}
			})
			.trigger('blur');
	});
	
	$('#header_login').bind('click', function(){
		
		$('#jsAjaxLoginLayer').slideToggle( 500 );
		return false;
	});
	
	$('#jsAjaxLoginLayerClose').bind('click',function(){
		$('#jsAjaxLoginLayer').slideToggle( 500 );
	});

}

/**
 *
 */
Site.Init.pagedBoxInit = function(){
	
	$('.jsPagedBox').each( function(){
		
		(function( containerObj ){
			
			containerObj
				.find('.jsPagedLink').bind('click',function(){
					
					$('.jsPagedContent:visible', containerObj ).hide();
					$( $(this).attr('rel') ).show();
					$('.jsPagedLink', containerObj).removeClass('active')
					$(this)
						.addClass('active').trigger('blur');
					return false;
				}).end()
				.find('.jsPagedNextLink').bind('click', function(){
					
					$('.jsPagedLink.active', containerObj ).nextAll('.jsPagedLink').eq(0).trigger('click');
					$(this).trigger('blur');
					
					return false;
					
				}).end()
				.find('.jsPagedPrevLink').bind('click', function(){
					
					$('.jsPagedLink.active', containerObj ).prevAll('.jsPagedLink').eq(0).trigger('click');
					$(this).trigger('blur');
					return false;
					
				}).end()
				.find('.jsPagedLink:eq('+ getRandomPos( containerObj ) +')', containerObj )
					.trigger('click').end()
				
				.bind('autoRotation', function(){
					
					var nextIndex = $('.jsPagedLink', containerObj ).index( $('.jsPagedLink.active', containerObj )[0] ) + 1;
					
					if( nextIndex >= $('.jsPagedLink', containerObj ).size()   ){
						nextIndex = 0;
					}
					
					$('.jsPagedLink', containerObj ).eq( nextIndex ).trigger('click');
				});
				
				window.setInterval( function(){
						containerObj.trigger('autoRotation');
					}, 5000);

				
				function getRandomPos( containerObj ){
					return Math.round( ( $('.jsPagedLink', containerObj ).size() - 1 ) * Math.random() );
				}
				
		})($(this));
	});

}


Site.Init.commentsInit = function(){
	
	$('.jsCommentReply').bind('click', function(){
		
		$(window).scrollTop( $('#jsEmoticonEditor').position().top );
		$('#comment_id').val( $(this).attr('rel') );
		$('#jsEmoticonEditor').trigger('focus');
		
		return false;
	});
}


Site.Init.forwaldInit = function(){
	
	$('.jsForwardLink').bind('click', function(){
		
		var aObj = $(this);
		
		$.ajax({ 
			url: aObj.attr('href'),
			dataType: 'html', 
			success: function( ret ){ 
				dialogManager.open({
					title: aObj.text(),
					height: 360,
					text: ret
				},function( dialogObj ){
					dialogObj
						.find('#forward_mail_link').val( window.location.pathname ).end()
						.find('form').YggdrasilValidation({
							validateUrl: Site.Helper.getSluggedUrl('/ajax/validation')
						},function( event, yggObj ){
							
							$.ajax({ 
								url: yggObj.element.attr('action'),
								dataType: 'html', 
								type: "POST",
								data:  Site.Helper.getFormData( yggObj.element ),
								success: function( ret ){ 
									info( ret );
								}
							});
							
							//event.stopPropagation();
							//event.stopImmediatePropagation();
							event.preventDefault();
							
							return false;
						});
					
				});
				
				Site.Init.validationInit();
			} 
		});
		
		return false;
	});


}

/* mantis: 2015
Site.Init.charLimiter = function(){
	
	//TODO: ezt máshonann kellene venni
	var iLimit = 300;
	
	$('.jsCharLimiter')
		.bind('keydown', function( event ){
			
			if(
				$(this).val().length  >= iLimit && 
				event.keyCode != "8" && event.keyCode != "9" && event.keyCode != "46"
			){
				event.preventDefault();
			}
			$(this).trigger('updateCounter');
		})
		.bind('keyup', function( event ){
			
			if( $(this).val().length >= iLimit ){
				$(this).val( $(this).val().substr( 0, iLimit ) );
			}
			
			$(this).trigger('updateCounter');
		})
		.bind('updateCounter', function( event ){
			$(this).nextAll('.charCounter').eq(0).text( iLimit + '/' + $(this).val().length  );
		})
		.trigger('keydown');

}
*/

 /**
  * jsEmoticon
  */
Site.Init.emoticon = function(){
	
	$('.jsEmoticonItem').bind('click', function(){
		
		$('#jsEmoticonEditor')
			.trigger('focus')
			.replaceSelection( $(this).attr('title'), true)
			;

		return false;
	});
	

}
