var JS_FORM;

JS_FORM = {

	_tinymce_bekapcsolva: null,
	_mentes_hianyosan_is: null,

	init: function() {

		_hianyos_mentes = false;
	
	},

	hibas_elem: function(elemX, minta, hibauzenet) {

		if ($(elemX)) {

			$(elemX).addClass('hibas_input').attr('hibauzenet', hibauzenet).attr('minta', minta).focus().CreateBubblePopup({
				alwaysVisible: true,
				selectable: true,
				position : 'top',
				align	 : 'center',
				innerHtml: hibauzenet,
				innerHtmlStyle: { color:'#000000', 'text-align':'left' },
				themeName: 	'orange',
				themePath: 	'include/jquerybubblepopup-theme'
			});

			$(elemX).change(function() {

				$(this).RemoveBubblePopup();

				JS_FORM.ellenorzes(elemX);
				
			});

			alert(hibauzenet);

		}

	},

	ellenorzes: function(elemX) {

		adat = $(elemX).val();
		minta = $(elemX).attr('minta');

		preg = new RegExp(minta, "im");

		if (preg.test(adat)) {

			JS_FORM.nem_hibas_elem(elemX);

		}

	},

	// kevesebb tájékoztatás
	hibas_elem_php: function(elemX, minta, hibauzenet) {

		if ($(elemX)) {

			$(elemX).addClass('hibas_input').focus();

			$(elemX).change(function() {

				JS_FORM.nem_hibas_elem(elemX);
				
			});

		}

	},

	nem_hibas_elem: function(elemX) {

		$(elemX).removeClass('hibas_input');
		$(elemX).removeAttr('title').removeAttr('hibauzenet').removeAttr('minta').RemoveBubblePopup();

	},

	form_ellenorzese: function(form) {
		
		$('#' + form).submit(function() {

			eval("szabaly_db = szabalyok_" + form + ".length;");
			// eval("szabalyok =  + ";");
		
			for (i = 0; i < szabaly_db; i++) {

				eval("input_neve = szabalyok_" + form + "[i][0]");
				eval("minta = szabalyok_" + form + "[i][1]");
				eval("hibauzenet = szabalyok_" + form + "[i][2]");

				elem = input_neve + '_input';
				elemX = '#' + input_neve + '_input';

				if ($(elemX).hasClass('input') || $(elemX).hasClass('file_input') || $(elemX).hasClass('select') || $(elemX).hasClass('textarea')) {

					// textarea, ha van TinyMCE
					if (JS_FORM._tinymce_bekapcsolva && document.getElementById(elem).rows) {
						
						adat = tinyMCE.get(elem).getContent();

					}

					// input, select és sima textarea
					else adat = $(elemX).val();

				}

				else {

					// radio
					if ($('input[name="' + elem + '"]').hasClass('radio')) adat = $('input[name="' + elem + '"]:checked').val();

					// checkbox
					else {
						
						adat = new String;

						$('input[name="' + elem + '[]"]:checked').each(function(index) {

							if (adat != '') adat += '|';
							adat += $(this).val();

						});

					}

					if (adat == null) adat = '';

					// alert(input_neve + ': ' + adat);
			
				}

				// alert(adat);

				file = false;

				if (JS_FORM._mentes_hianyosan_is && adat == '') continue;
				else if (minta === true) minta = '^.+$';
				else if (minta == 'file') { minta = '^.+$'; file = true; }
				else if (minta == 'szam') minta = '^[1-9][0-9]*$';
				else if (minta == 'email') minta = '^.+@.+$';
				else if (minta == 'datum') minta = '^[0-9]{4}\-[0-9]{2}\-[0-9]{2}$';

				// alert(minta);
				
				preg = new RegExp(minta, "im");

				if (!preg.test(adat)) {

					// file-nál nincs 
					if (file) alert(hibauzenet);
					
					// többinél igen
					else JS_FORM.hibas_elem(elemX, minta, hibauzenet);

					return false;

				}

			}

			return true;
		
		});

	},

	link_generalas: function(input_nev, output_nev) {

		$.post('/adminx/link_generalas.php', { input: $(input_nev).val() },
			function(data) {

				$(output_nev).val(data);
				JS_FORM.ellenorzes(output_nev);
		
			});

		return false;

	},

	auto_link_generalas: function(input_nev, output_nev) {

		$(input_nev).change(function() {

			if ($(output_nev).val() == '') JS_FORM.link_generalas(input_nev, output_nev);
		
		});

	},

	textarea_tinymce: function(tipus) {

		if (!tipus) tipus = false;

		JS_FORM._tinymce_bekapcsolva = true;

		if (tipus === false) {
			
			tinyMCE.init({

				mode : "textareas",
				theme : "advanced",
				language : "hu",
				skin : "o2k7",
				skin_variant : "silver",
				plugins : "safari,pagebreak,style,table,iespell,inlinepopups,insertdatetime,media,searchreplace,paste,directionality,visualchars,nonbreaking,xhtmlxtras,template",

				theme_advanced_buttons1 : "bold,italic,underline,strikethrough,sub,sup,|,justifyleft,justifycenter,justifyright,justifyfull,blockquote,formatselect,fontsizeselect,|,forecolor,backcolor,|,link,unlink,|,bullist,numlist,|,image,|,removeformat",
				theme_advanced_buttons2 : "undo,redo,|,cut,copy,paste,pastetext,pasteword,|,tablecontrols,|,visualaid,|,code",
				theme_advanced_buttons3 : "",

				theme_advanced_statusbar_location : "bottom",
				theme_advanced_resizing : true,

				theme_advanced_toolbar_location : "top",
				theme_advanced_toolbar_align : "left",

				relative_urls : false,
				remove_script_host : false,
				document_base_url : _HTTP_BASE,

				// Google Maps és Youtube miatt
				extended_valid_elements : "iframe[width|height|frameborder|scrolling|src|style|allowfullscreen|title]",
				entities : ""

			});

		}

		else if (tipus == 'forditas') {
		
			tinyMCE.init({

				mode : "textareas",
				theme : "advanced",
				language : "hu",
				skin : "o2k7",
				skin_variant : "silver",
				plugins : "inlinepopups",

				theme_advanced_buttons1 : "bold,italic,underline,|,link,unlink,|,code",
				theme_advanced_buttons2 : "",
				theme_advanced_buttons3 : "",

				theme_advanced_toolbar_location : "top",
				theme_advanced_toolbar_align : "left",

				convert_urls : false,

				// elfogadott elemek
				valid_elements : "strong/b,em/i,br,a[title|href|target|class],span[style]",
				entities : ""

			});
		
		}

		else if (tipus == 'uzenet') {
		
			tinyMCE.init({

				mode : "textareas",
				theme : "advanced",
				language : "hu",
				skin : "o2k7",
				skin_variant : "silver",
				plugins : "inlinepopups",

				theme_advanced_buttons1 : "bold,italic,underline,strikethrough,sub,sup,fontsizeselect,forecolor,backcolor,|,link,unlink,|,bullist,numlist,|,removeformat", // code
				theme_advanced_buttons2 : "",
				theme_advanced_buttons3 : "",

				theme_advanced_toolbar_location : "top",
				theme_advanced_toolbar_align : "left",

				convert_urls : false,

				// elfogadott elemek
				valid_elements : "p,strong/b,em/i,br,a[title|href|target|class],span[style]",
				entities : ""

			});
		
		}

	}

};
