var popUp = function( url, params ) {
    Modalbox.show( url, params );
}

Form.Methods.CheckAndSubmit = function( element ) {
    element = $(element);
    if ( !element.getInputs().invoke( 'CheckField' ).include( false ) ) {
	element.submit();
    }
    else {
	alert( "Please fill all required fields ( marked red )" );
    }
}

Form.Element.Methods.CheckField = function(element) {
    element = $(element); label = $$( 'label.check[for="'+element.id+'"]' )[0];
    if ( element.tagName.toLowerCase() == 'input' && element.id && label && ( element.value == '' ) ) {
	label.setStyle({ color: 'red' });
	return false;
    }
    return true;
}

Form.Element.Methods.SubmitObserver = function( element ) {
    element = $(element);
    if ( element.tagName.toLowerCase() == 'input' && ['button','submit'].include( element.type ) )
	element.observe( 'click', element.submit.bindAsEventListener(element) );
}

Form.Element.Methods.submit = function( element, event ) {
    element = event.element();
    if ( element.tagName.toLowerCase() == 'input' && ['button','submit'].include( element.type ) )
	$(element.parentNode.parentNode).CheckAndSubmit();
}
Element.Methods.loginFieldToggle = function(element) {
    if ( element.descendantOf('login-form') && (element.tagName.toLowerCase() == 'input') && ['text','button'].include(element.type) ) {
	if ( (element.type == 'text') && ['username','password'].include(element.name) ) {
	    element.observe( 'focus', function(eve) {
		var e = eve.element();
		if ( e.name == 'password' ) {
		    r = e.next('input[type=password]');
		    e.hide();
		    r.show();
		    r.focus();
		} else {
		    e.value = '';
		    e.focus();
		}
		e.stopObserving('focus');
	    });
	} else if ( (element.type == 'button') && element.hasClassName('submit') ) {
	    element.observe('click', function(eve) {
		$('login-form').submit();
	    });
	}
    }
}

Element.addMethods();

Event.observe( window, 'load', function( event ) {
	$$( 'li:last-child' ).invoke( 'addClassName', 'last-child' );
	$$( 'input.CheckFormButton' ).invoke( 'SubmitObserver' );
});
var ajaxize = function(element, upd) {
    site_ajaxGet(element.href, upd, '', null, element.id);
    element.up('tr').down('td.active').removeClassName('active');
    element.up('td').addClassName('active');
    return false;
}
