package SGN::View::Mason::Commands;
use strict;
use vars qw($m $c);
HTML::Mason::Component::FileBased->new(
'code' => sub {
use utf8; local $SGN::View::Mason::Commands::m = $HTML::Mason::Commands::m;
HTML::Mason::Exception::Params->throw
    ( error =>
      "Odd number of parameters passed to component expecting name/value pairs"
    ) if @_ % 2;
my ( $string, $id, $styles, $regions );
{
    my %pos;
    for ( my $x = 0; $x < @_; $x += 2 )
    {
        $pos{ $_[$x] } = $x + 1;
    }

    foreach my $arg ( qw( string ) )
    {
        HTML::Mason::Exception::Params->throw
            ( error => "no value sent for required parameter '$arg'" )
                unless exists $pos{$arg};
    }
#line 30 "/home/production/cxgn/sgn/mason/util/markup_string.mas"
    $string = $_[ $pos{'string'} ];
#line 31 "/home/production/cxgn/sgn/mason/util/markup_string.mas"
     $id = exists $pos{'id'} ? $_[ $pos{'id'} ] :  undef;
#line 32 "/home/production/cxgn/sgn/mason/util/markup_string.mas"
     $styles = exists $pos{'styles'} ? $_[ $pos{'styles'} ] :  {};
#line 33 "/home/production/cxgn/sgn/mason/util/markup_string.mas"
     $regions = exists $pos{'regions'} ? $_[ $pos{'regions'} ] :  [];
}
$m->debug_hook( $m->current_comp->path ) if ( HTML::Mason::Compiler::IN_PERL_DB() );

#line 54 "/home/production/cxgn/sgn/mason/util/markup_string.mas"

use JSON::Any;
my $json = JSON::Any->new;
sub next_auto_id {
  our $auto_id;
  'markup_string_'.($auto_id++)
}
#line 28 "/home/production/cxgn/sgn/mason/util/markup_string.mas"
$m->print( '
' );
#line 35 "/home/production/cxgn/sgn/mason/util/markup_string.mas"
$m->print( '
' );
#line 36 "/home/production/cxgn/sgn/mason/util/markup_string.mas"
 if( $styles && %$styles && $regions && @$regions ) {
   $id ||= next_auto_id();
$m->print( '
' );
#line 39 "/home/production/cxgn/sgn/mason/util/markup_string.mas"
$m->comp(   '/util/import_javascript.mas', classes => 'Text.Markup'   
); #line 39 "/home/production/cxgn/sgn/mason/util/markup_string.mas"
$m->print( '
<span id="' );
#line 40 "/home/production/cxgn/sgn/mason/util/markup_string.mas"
$m->print(  $id  );
#line 40 "/home/production/cxgn/sgn/mason/util/markup_string.mas"
$m->print( '">' );
#line 40 "/home/production/cxgn/sgn/mason/util/markup_string.mas"
$m->print(  $string  );
#line 40 "/home/production/cxgn/sgn/mason/util/markup_string.mas"
$m->print( '</span>
<script type="text/javascript">
  var markup = new Text.Markup(' );
#line 42 "/home/production/cxgn/sgn/mason/util/markup_string.mas"
$m->print(  $json->encode($styles)  );
#line 42 "/home/production/cxgn/sgn/mason/util/markup_string.mas"
$m->print( ');
  var markup_el = document.getElementById(\'' );
#line 43 "/home/production/cxgn/sgn/mason/util/markup_string.mas"
$m->print(  $id  );
#line 43 "/home/production/cxgn/sgn/mason/util/markup_string.mas"
$m->print( '\');
  markup_el.innerHTML = markup.markup( ' );
#line 44 "/home/production/cxgn/sgn/mason/util/markup_string.mas"
$m->print(  $json->encode($regions)  );
#line 44 "/home/production/cxgn/sgn/mason/util/markup_string.mas"
$m->print( ', document.all ? markup_el.innerText : markup_el.textContent );
</script>

' );
#line 47 "/home/production/cxgn/sgn/mason/util/markup_string.mas"
 } else {
$m->print( '
' );
#line 49 "/home/production/cxgn/sgn/mason/util/markup_string.mas"
$m->print(  $string  );
#line 49 "/home/production/cxgn/sgn/mason/util/markup_string.mas"
$m->print( '

' );
#line 51 "/home/production/cxgn/sgn/mason/util/markup_string.mas"
 }
$m->print( '

' );
#line 62 "/home/production/cxgn/sgn/mason/util/markup_string.mas"
$m->print( '
' );
;return;
},
'declared_args' => {
  '$id' => { default => ' undef' },
  '$regions' => { default => ' []' },
  '$string' => { default => undef },
  '$styles' => { default => ' {}' }
},
'load_time' => 1778161189,

)
;