// JavaScript Document
var Saxons ;

if( !Saxons )	Saxons	= {} ;

Saxons.Executant	= function() {
}

var Executant	= new Saxons.Executant() ;

Saxons.Executant.prototype.Execute	= function( Command, Attributes ) {
	Professional	= 'Executant' ;

	if( Attributes[ 'Professional' ] )
		Professional	= Attributes[ 'Professional' ] ;

	ExecuteProfessional	= Professional ;

	if( Attributes[ 'Execute.Professional' ] ) {
		ExecuteProfessional	= Attributes[ 'Execute.Professional' ] ;

		delete Attributes[ 'Execute.Professional' ] ;
	}
//alert( ExecuteProfessional ) ;
	switch( Command ) {
		case 'Command.Execute' :
			break ;
		default :
			alert( Command ) ;
			return ;
	}

	Saxons.HTTP_REQUEST() ;

	if( !Saxons.http_request )
		return ;

	Saxons.http_request.onreadystatechange = function() {
		if( this.readyState != 4 )
			return ;

		if( this.status != 200 )
			return ;

		var Text	= this.responseText ;	//	alert( Text ) ;
		var DOM		= this.responseXML ;

		if( DOM == null ) {
			alert( Text ) ;

			return ;
		}

		this.http_request	= false ;

		Messages	= DOM.getElementsByTagName( 'Message' ) ;

		if( Messages.length == 0 ) {
			alert( Text ) ;

			return ;
		}

		for( var i = 0; i < Messages.length; i++ ) {
			switch( Messages[ i ].getAttribute( 'id' ) ) {
				case 'Alert' :
					var Alert	= Saxons.DOM.NODE.getContent( Messages[ i ] ) ;


					if( Alert != '' )
						alert( Alert ) ;
					break ;
			}
		}
		
		RUNs	= DOM.getElementsByTagName( 'Run' ) ;

		Run	= Saxons.DOM.NODE.getContent( RUNs[ 0 ] ) ;

		eval( Run ) ;
	}

	RequestQuery	=	'Command=' + Command ;

	switch( Command ) {
		case 'Command.Execute' :
			RequestQuery	+= '&ExecuteProfessional='	+ ExecuteProfessional ;

			if( Attributes[ 'Form' ] ) {
				RequestQuery	+= '&' + Saxons.Form.INFO( Attributes[ 'Form' ] ) ;

				delete Attributes[ 'Form' ] ;
			}

			if( arguments[ 2 ] )
				RequestQuery	+= '&' + Saxons.Form.INFO( arguments[ 2 ] ) ;
			break ;
	}

	if( Attributes ) {
		if( Attributes[ 'Alias.File' ] ) {
			Attributes[ 'AliasFile' ]	= Attributes[ 'Alias.File' ] ;

			delete Attributes[ 'Alias.File' ] ;
		}

		for ( var Attribute in Attributes )
			RequestQuery	+= '&' + Attribute + '=' + Attributes[ Attribute ] ;
	}

	Saxons.http_request.open( 'POST', '/_executes/Saxons.Executant..php', true ) ;
	Saxons.http_request.setRequestHeader( 'Content-Type', 'application/x-www-form-urlencoded' ) ;
//alert( RequestQuery ) ;
	Saxons.http_request.send( RequestQuery ) ;
}
