var toggle_formrows = function()
{
	$$('input.toggle').each(
		function( el )
		{
			if(!el.type == 'checkbox') { return; }
			$w(el.className).each(
				function( c )
				{
					if(!c.match('toggle-')) { return; }
					var elem = 'formrow-form_' + c.replace('toggle-', '');
					if($(elem))
					{
						if(el.checked) { $(elem).hide(); } else { $(elem).show(); }
						el.onchange = function()
						{
							if(el.checked) { $(elem).hide(); } else { $(elem).show(); }
						}
					}
				}
			);
		}
	);
}

var currEl = false;

var toggle_formrows_select = function()
{
	$$('select.toggle').each(
		function( el )
		{
			currEl = el;
			$$('.toggle-selectrow').each(
				function( fr )
				{
					if(currEl == false) { return; }
					
					var fn = $F(currEl).replace(' ', '_');
					if(!fr.hasClassName( 'toggle-' + fn ))
					{
						fr.hide();
					}
					else
					{
						fr.show();
					}
				}
			);
			
			el.observe( 'change', function() {
				$$('.toggle-selectrow').each(
					function( fr )
					{
						if(currEl == false) { return; }
						
						var fn = $F(currEl).replace(' ', '_');
						if(!fr.hasClassName( 'toggle-' + fn ))
						{
							fr.hide();
						}
						else
						{
							fr.show();
						}
					}
				);
			} ); 
		}
	);
}

var maxchars = function()
{
	$$('input').each(
		function( el )
		{	
			if(el.type=='text' && el.className.match('maxchars'))
			{
				Event.observe(el, "keypress", 
					function(event)
					{
						var el = event.element();
						var size = el.className.replace('maxchars-', '');
						
						var key_code = event.keyCode;
						if(key_code!=8 && !(key_code >= 37 && key_code <= 40) && el.value.length >= size-1)
						{
							alert('You have exceeded the maximum number of characters (max '+size+' including spaces)');
							Event.stop(event);
						}
					}
				);
			}
		}
	)
}

var textarea_maxchars = function()
{
	$$('textarea').each(
		function( el )
		{	
			if(el.className.match('maxchars'))
			{
				Event.observe(el, "keypress", 
					function(event)
					{
						var el = event.element();
						var size = el.className.replace('maxchars-', '');
						
						var key_code = event.keyCode;
						if(key_code!=8 && !(key_code >= 37 && key_code <= 40) && el.value.length >= size-1)
						{
							alert('You have exceeded the maximum number of characters (max '+size+' including spaces)');
							Event.stop(event);
						}
					}
				);
			}
		}
	)
}

document.write('<script type="text/javascript" src="/cache/global/js/tiny_mce/tiny_mce.js"></script>');
var wysiwyg = function()
{
	tinyMCE.settings = {
	    mode: 'none', 
	    theme: 'advanced',
		convert_urls : false,
		relative_urls : false,
	    theme_advanced_buttons1 : "bold,italic,underline,separator,strikethrough,justifyleft,justifycenter,justifyright, justifyfull,bullist,numlist,undo,redo,link,unlink",
	    theme_advanced_buttons2 : "",
	    theme_advanced_buttons3 : "",
	    theme_advanced_toolbar_location : "top",
	    theme_advanced_toolbar_align : "left"
	};
	
	var elm = $$('textarea.wysiwyg').each(
		function( el )
		{
			var id = el.id;
			if (tinyMCE.getInstanceById(id) == null)
		        tinyMCE.execCommand('mceAddControl', false, id);
		    else
		        tinyMCE.execCommand('mceRemoveControl', false, id);
		}
	);
}

Event.observe(window, 'load', toggle_formrows, false);
Event.observe(window, 'load', toggle_formrows_select, false);
Event.observe(window, 'load', maxchars, false);
Event.observe(window, 'load', textarea_maxchars, false);
Event.observe(window, 'load', wysiwyg, false);
