var popUp = function( url, params ) 
{
    return Modalbox.show( url, params );
};
Form.Element.Methods.checkEmail = function( element )
{
    element.observe( 'blur', function(event) {
	var e = event.element(event);
	if ( '' != e.value && !/^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/.test( e.value ) )
	{
	    $$( 'label[for="'+e.id+'"]' )[0].addClassName('error');
	    if ( e.next('div.requiredError') )
		e.next('div.requiredError').hide();
	    if( e.next('div.errorCheckResult') )
		e.next('div.errorCheckResult').show();
	    return false;
	}
	else 
	{
	    $$( 'label[for="'+e.id+'"]' )[0].removeClassName('error');
	    if ( e.next('div.errorCheckResult') )
		e.next('div.errorCheckResult').hide();
	}
	return true;
    });
}
Form.Element.Methods.checkPhone = function( element )
{
    element.observe( 'blur', function(event){
	var e = event.element(event);
	if ( '' != e.value && !/^\+([0-9])+\.([0-9])+\.([0-9])+/.test( e.value ) )
	{
	    $$( 'label[for="'+e.id+'"]' )[0].addClassName('error');
	    if ( e.next('div.requiredError') )
		e.next('div.requiredError').hide();
	    if ( e.next('div.errorCheckResult') )
	        e.next('div.errorCheckResult').show();
	    return false;
	}
	else 
	{
	    $$( 'label[for="'+e.id+'"]' )[0].removeClassName('error');
	    if ( e.next('div.errorCheckResult') )
	        e.next('div.errorCheckResult').hide();
	}
	return true;
    });
}
Form.Element.Methods.formValidation = function( element ) {
    element.observe( 'click', function(event) {
	var e = event.element(), form = e.form, success = true;
	e.disable();
	if ( 0 != $$('#'+form.id+' label.error').length )
	{
	    Event.stop(event);
	    e.enable();
	    return false;
	}
	
	$$('#'+form.id+' .required').each( function(el) {
	    if ( '' == el.value )
	    {
		success = false;
		if ( el.next('div.requiredError') )
		    el.next('div.requiredError').show();
	    }
	});
	if ( !success )
	    Event.stop(event);
	e.enable();
	return success;
    });
}
Form.Element.Methods.checkRequired = function(element) {
    if ( element.form )
	element.observe( 'blur', function(event) {
	    var e = event.element(event);
	    if ( '' != e.value && e.next('div.requiredError') )
		e.next('div.requiredError').hide();
    });
}
Element.addMethods();
Event.observe( window, 'load', function( event ) {
    $$( 'li:last-child' ).invoke( 'addClassName', 'last-child' );
});

