#!/usr/local/bin/perl

package libview;

use strict;
use SiteDefs;
use Apache;
use EnsWeb;
use ExtURL;


use Bio::EnsEMBL::DBSQL::DBAdaptor;
use Bio::EnsEMBL::ExternalData::Expression::LibraryAdaptor;

use CGI;
use WebUserConfig;
use Digest::MD5;
use Bio::EnsemblViewer::JSTools;

&EnsWeb::get_locator();     # set up the environment...
my $q       = new CGI;
my $libid=$q->param('libid');

my $r = Apache->request();
$r->err_header_out('ensembl_headers_out'=>1);




print CGI::header();
print EnsWeb::make_cgi_header(('initfocus'=>1));


###########################
# Are we using gif or png?
###########################
my $img_type;

if (GD::Image->can("gif")){
    $img_type="gif";
}
else {
    $img_type="png";
}

## Get a DB handle
my $db = &db_connect();
my $sa = $db->get_StaticGoldenPathAdaptor();


my $lib_ad;
my $tag_ad;
eval {
my    $expression_db = Bio::EnsEMBL::DBSQL::DBAdaptor->new(
						-dbname=>$ENSEMBL_EXPRESSION,
						-host=>$ENSEMBL_HOST,
						-port=>$ENSEMBL_HOST_PORT,
						-user=>$ENSEMBL_DBUSER,
						-pass=>$ENSEMBL_DBPASS
						    );

$lib_ad=Bio::EnsEMBL::ExternalData::Expression::LibraryAdaptor->new($expression_db);

};

if($@){
    print &ensembl_exception("Expression database is unavailable.",$@);
    &ensembl_exit();
}


my $lib=$lib_ad->fetch_by_dbID($libid);
my $name=$lib->name;
my $description=$lib->description;
my $tissue_type=$lib->tissue_type;
my $cgap=$lib->cgap_id;
my $dbest=$lib->dbest_id;
my $total=$lib->total_seqtags;

print EnsWeb::print_form($name, "library");


#####################################################################
## Construct the web page
#####################################################################

print qq(<h3>SAGE Library Report</h3>\n);

print<<END;
     <TABLE ALIGN="CENTER" BGCOLOR="#ffffff" WIDTH="100%" BORDER="1" CELLPADDING="3" CELLSPACING="0">
    <tr align="left" valign="middle">
      <td nowrap class="yellow2"><H4>Library Name</H4></td>
      <td class="yellow1">
        <Font><B>&nbsp;&nbsp;$name</B></font>&nbsp;&nbsp;&nbsp;&nbsp;
      </td>
    </tr>
    <tr align="left" valign="middle">
      <td nowrap class="yellow2"><H4>CGAP ID</H4></td>
    <td class="yellow1">
    &nbsp;&nbsp;$cgap&nbsp;&nbsp;&nbsp;&nbsp;
</td>
    </tr>
    <tr align="left" valign="middle">
    <td nowrap class="yellow2"><H4>DBEST ID</H4></td>
    <td class="yellow1">
    &nbsp;&nbsp;$dbest&nbsp;&nbsp;&nbsp;&nbsp;
</td>
    </tr>
 <tr align="left" valign="middle">
    <td nowrap class="yellow2"><H4>Description</H4></td>
    <td class="yellow1">
    &nbsp;&nbsp;$description&nbsp;&nbsp;&nbsp;&nbsp;
</td>
    </tr>
    <tr align="left" valign="middle">
    <td nowrap class="yellow2"><h4>Tissue type</h4></td>
    <td class="yellow1">
         &nbsp;&nbsp;$tissue_type&nbsp;&nbsp;&nbsp;&nbsp;
      </td>
    </tr>
    <tr align="left" valign="middle">
    <td nowrap class="yellow2"><h4>Total tags</h4></td>
    <td class="yellow1">
    &nbsp;&nbsp;$total&nbsp;&nbsp;&nbsp;&nbsp;
</td>
    </tr>
END

print "</TABLE>\n";

print qq(<BR><BR>);


print EnsWeb::make_cgi_footer();

1; 


#####################################################################
sub db_connect {

    my ($geneid) = @_;
    my $db = undef;
    # wrap all the db manipulation in an eval.
    eval {
        my $locator = &EnsWeb::get_locator();
        $db =  Bio::EnsEMBL::DBLoader->new($locator);
		$db->static_golden_path_type('UCSC');
    };
    if( $@ ) { 
        print &ensembl_exception("Sorry, the Ensembl database is currently unavailable.",$@);
		&ensembl_exit();
    }
    else{
        return ($db);
    }
}

#####################################################################



1;
