
var isTinymce = false;

function fillMce(classSelect, langName){
	if(isTinymce){
		var currentlang = $('.language[name='+langName+'] option:selected').val();
		$('.'+classSelect+'.hidden[name*="['+currentlang+']"]').each(function(){
			var element = $(this).nextAll('span').first();
			var tinymce = tinyMCE.get(element.prev().attr('id'));
			tinymce.setContent($(this).val());
		});
	}
}

function mceOnInitHandler(){
	fillMce('lrc', 'default');
	
	$.each(tinyMCE.editors, function(key, editor) { 
		var container = $('#' + editor.editorId);
		tinymce.dom.Event.add(editor.getWin(), 'blur', function(e) {
			var languageId = $('[name=default]').val();
			$('[name=text['+languageId+']]').val(editor.getContent());
		});
	});
	
}

function mceInitHandler(editor){
	
}

(function($){

	$.fn.lrc = function(options){
		
		
			
		if(typeof $('*').tinymce == 'undefined'){
		}else{
			isTinymce = true;
		}
		var oldLang;

		var defaults = {  
			classSelect: 'lrc',  
			langName: 'default',  
			lrcContent: 0,  
			lrcProperties: 0  
		};  
		var options	= $.extend(defaults, options);
			
		var methods = {
			fillMce: function(){
				if(isTinymce){
					var currentlang = $('.language[name='+options.langName+'] option:selected').val();
					$('.'+options.classSelect+'.hidden[name*="['+currentlang+']"]').each(function(){
						var element = $(this).nextAll('span').first();
						var tinymce = tinyMCE.get(element.prev().attr('id'));
						tinymce.setContent($(this).val());
					});
				}
			}
		}

		//setTimeout('fillMce("'+options.classSelect+'", "'+options.langName+'")', 1000);
					
		oldLang = $('.language[name='+options.langName+'] option:selected').val();

		$('.'+options.classSelect).each(function(){
			var input = $(this);
				
			$('.language[name='+options.langName+'] option:not(:selected)').each(function(index , val){
				var current;
				current = input.clone();
				var currentName = $(current).attr('name');
				if(currentName.indexOf('[]') != -1){
					currentName = currentName.replace('[]', '');
					currentName = currentName+'['+ $(val).val() +']';
					currentName = currentName+'[]';
						
					current.attr('name', currentName);
				}else{
					current.attr('name',current.attr('name')+'[' + $(val).val() + ']' );
				}
				if(current.attr('id')) current.attr('id',current.attr('id')+'_' + $(val).val() );
				input.after(current);
				if($(val).val() != $('.language[name='+options.langName+'] option:first-child').val()){
					current.hide();
				}
			});
			var name = $(this).attr('name');
			if(name.indexOf('[]') != -1){
				name = name.replace('[]', '');
				name = name+'['+$('.language[name='+options.langName+'] option:selected').val()+']';
				name = name+'[]';
	
				$(this).attr('name', name);
			}else{
				$(this).attr('name', $(this).attr('name')+'['+ $('.language[name='+options.langName+'] option:selected').val() +']');
			}
			if($(this).attr('id')) $(this).attr('id', $(this).attr('id')+'_'+ $('.language[name='+options.langName+'] option:selected').val());
		});

		if(options.lrcContent != 0){
			$.each(options.lrcContent, function(key, index){
				var lrc = this;
				$.each(options.lrcProperties, function(){
					var property = ''+this+'';
					//property = property.toLowerCase();
					content = eval('lrc.'+property);
					$('.'+options.classSelect+'[name='+property+'['+key+']]').val(content);
				});
			});
		}

		$('.language[name='+options.langName+']').change(function(){
			var currentLang = $('.language[name='+options.langName+'] option:selected').val();
			if(isTinymce === true){
				$.each($('.'+options.classSelect+'.hidden[name*=['+currentLang+']]'), function(){
					var tinyMceElement = $(this).nextAll('span').first().prev();
					var tinymceContent = tinyMCE.get(tinyMceElement.attr('id'));
					var txt = tinymceContent.getContent();
					var name = $(this).attr('name');
					name = name.replace('['+currentLang+']', '['+oldLang+']');
					$('.'+options.classSelect+'[name=\''+name+'\']').val(txt);
					var oldTxt = $(this).val();
					tinymceContent.setContent(oldTxt);
						
				});
			}
				
			$('.'+options.classSelect+':not([name*=\''+currentLang+'\'])').hide();
			$('.'+options.classSelect+':not(.hidden)[name*=\''+currentLang+'\']').show();

			oldLang = currentLang;
		});

		$('input[type="submit"]').click(function(){
			if(isTinymce){
				var currentLang = $('.language[name='+options.langName+'] option:selected').val();
				$.each($('.'+options.classSelect+'.hidden[name*="['+currentLang+']"]'), function(){
					var tinyMceElement = $(this).nextAll('span').first().prev();
					var tinymce = tinyMCE.get(tinyMceElement.attr('id'));
					var txt = tinymce.getContent();	
					$(this).val(txt);
				});
			}
		});
		
		
	};
})(jQuery);
