$(document).ready(function(){

	$.each(tx_mmforum, function(i) { $.fn[i] = this; });

	  // topic view
	if( $('table.tx-mmforum-topics') ) {
		initMmforumTopics();
	}

	$.fn.simplemenu = function() {
		var $mainmenu=$(this).find('>ul');
		if(!$mainmenu.length) 
			$mainmenu = this;
		var $headers=$mainmenu.find('ul').parent();
		$headers.each(function(i){
			var $curobj=$(this);
			$curobj.hover(
				function(e){
					var $targetul=$(this).children('ul:eq(0)');
					if(!$curobj.hasClass('lock')) {
						$targetul.hide().fadeIn('fast');
						$curobj.addClass('lock');
					}
				},
				function(e){
					if(!$curobj.find('a.l1').hasClass('active')) {
						$targetul = $(this).children('ul:eq(0)');
						$targetul.fadeOut('fast');
						setTimeout(function() {
							$curobj.removeClass('lock');
						}, '200');
					}
				}
			);
		})
	}

	$.fn.sitemap = function() {
		if($(this).hasClass('collapse')) {
			$(this).find('ul ul span:not(.lock)').toggleClass('minus');
			$(this).find('ul.slide').css('display','none');
			$(this).find('span:not(.lock)').click(function() {
				$(this).toggleClass('minus');
				$(this).next().next().slideToggle('medium');
			});
		}
	}

	if(!(jQuery.browser.msie && jQuery.browser.version < 7) && !jQuery.browser.opera) {
		$('#mainNavi').simplemenu();
		$('#metaNavi').simplemenu();
	}
	
 	$('.csc-sitemap').sitemap();
	
	$('#regions-holder #regions .selector').animate({ opacity: 0.1 });
	$('#regions-holder #regions form').css('display','none');
	$('#regions').toggleClass('js-true');
	$('#regions-holder .region-selector').click(function(){
		$('#regions').css('display','block');
		$('#regions .selector').slideDown('fast').animate({ opacity: 1 });
		$('#regions form').fadeIn('slow');
		return false;		
	});

/*
	$('#regions-holder #regions').hover(
		function(e){

		},
		function(e){
			$('#regions form').fadeOut('fast');
			$('#regions .selector').animate({ opacity: 0.1 }).slideUp('fast');
		}
	); 
*/
	$('#regions-holder .close').click(function(){
		$('#regions form').fadeOut('fast');
		$('#regions .selector').animate({ opacity: 0.1 }).slideUp('fast');	
		return false;
	});

//imp->OV start		
	$('.social .bookmark_a').click(function(){
		bookmarkShow($('.social .bookmark_a'));
		return false;
	});
//imp->OV end	
	
	linkHandler();
	
// moved from lib.misc.tabs -->
	var items = $('a.need_href_change');	
	var len = items.length;
	for(var i=0; i<len; i++){
		items[i].href = '#' + items[i].id.substring(5);
	}
	
	

// <--
});

function bookmarkShow(item) {
	var offset = $(item).offset();
	var footerOffset = $('#footer').offset();
	if(footerOffset.top < (offset.top + $('#socialbookmark').height())) {
		height = offset.top - $('#socialbookmark').height()-2;
	} else {
		height = offset.top+25;
	}
	$('#socialbookmark').css({ top : height, left : offset.left }).fadeIn();
}

function bookmarkHide(item) {
	$(item).parent().fadeOut();
}

function linkHandler() {
//	var objLinksArr = $('a.parse:not([href^=#])');
	var objLinksArr = $('a:not([href^=#])');
	var currentDomain=top.location.hostname;
	var seqURL='';
	for (eachLink in objLinksArr){
		if(objLinksArr[eachLink].href){
			if(objLinksArr[eachLink].href.indexOf('javascript') == -1){
				seqURL = objLinksArr[eachLink].href;
				seqURL = seqURL.replace(/http:\/\//gi,'');	
				seqURL = seqURL.replace(/https:\/\//gi,'');
				seqURL = seqURL.split('/');
				if(seqURL[0] != currentDomain){
					$(objLinksArr[eachLink]).click(function() {
						window.open(this.href);
						return false;
					});
				}
			}
			if(objLinksArr[eachLink].href.indexOf('.pdf') != -1){
				objLinksArr[eachLink].className=objLinksArr[eachLink].className+' pdflink';
			}
		}
	}
}

/*
 * mm_forum topic view / fold list
 */
function initMmforumTopics() {

	$('div.tx-mmforum-pi1 div.rows tr.post.js').hide();
	
	$('div.tx-mmforum-pi1 div.rows tr.topic.js').each(function(){	
	
		var id = $(this).attr('id');
		
		if( $('div.tx-mmforum-pi1 div.rows tr#'+ id +'.post.js').length > 0 ) {

			$(this).css('cursor','pointer');
		
			$(this).click(function(event){
				
				$(this).find('a').click(function(){ $(this).parent().parent().parent().unbind('click'); return true;});
									
				if ( $(this).hasClass('expanded') ) {
					$(this).removeClass('expanded');
				} else {
					$(this).addClass('expanded');
				}
				
					
				if( $('div.tx-mmforum-pi1 div.rows tr#'+ id +'.post.js:first').is(':visible') ) {
		
					$('div.tx-mmforum-pi1 div.rows tr#'+ id +'.post.js').hide();
				} else {
					$('div.tx-mmforum-pi1 div.rows tr#'+ id +'.post.js').show();
				}
			});
		} else {
			$('div.tx-mmforum-pi1 div.rows tr#'+ id).removeClass('js');
		}
	}); 
	

}

/*
 * mm_forum smilies
 */
var tx_mmforum = {


	

	insertSmilie: function( smilie ) {
		tx_mmforum.editorFieldId = "#tx-mmforum-editor";
	
		var editor = $(tx_mmforum.editorFieldId);
		editor.replaceSelection( smilie , true);
	},
	
	getSelection: function() {

		var e = this.jquery ? this[0] : this;

		return (

			/* mozilla / dom 3.0 */
			('selectionStart' in e && function() {
				var l = e.selectionEnd - e.selectionStart;
				return { start: e.selectionStart, end: e.selectionEnd, length: l, text: e.value.substr(e.selectionStart, l) };
			}) ||

			/* exploder */
			(document.selection && function() {

				e.focus();

				var r = document.selection.createRange();
				if (r == null) {
					return { start: 0, end: e.value.length, length: 0 }
				}

				var re = e.createTextRange();
				var rc = re.duplicate();
				re.moveToBookmark(r.getBookmark());
				rc.setEndPoint('EndToStart', re);

				return { start: rc.text.length, end: rc.text.length + r.text.length, length: r.text.length, text: r.text };
			}) ||

			/* browser not supported */
			function() {
				return { start: 0, end: e.value.length, length: 0 };
			}

		)();

	},
		
	replaceSelection: function() {

		var e = this.jquery ? this[0] : this;
		var text = arguments[0] || '';

		return (

			/* mozilla / dom 3.0 */
			('selectionStart' in e && function() {
				e.value = e.value.substr(0, e.selectionStart) + text + e.value.substr(e.selectionEnd, e.value.length);
				return this;
			}) ||

			/* exploder */
			(document.selection && function() {
				e.focus();
				document.selection.createRange().text = text;
				return this;
			}) ||

			/* browser not supported */
			function() {
				e.value += text;
				return this;
			}

		)();

	}
}
