#!/usr/local/bin/perl5
# -*- perl -*-
use P4CGI ;
use strict ;
#
#####################################################################
##
##  CONFIGURATION INFORMATION:
##  All config info should be in $configFile (see init() in P4CGI.pm)
##
#####################################################################
##
##  INDEX (homepage for P4 depot browser)
##
#####################################################################

# Set back references
my $backtourl = "$ENV{RETURN_PAGE}" ;
my $backtoname = "$ENV{RETURN_NAME}" ;

# Print title and legend
print
    "",
    &P4CGI::start_page("P4DB<br> Perforce Depot Browser",
	"<small><i>Hint:</i>
	You can bookmark any page you want to get back to later.</small>",
	$backtourl, $backtoname) ;

# Print options
print
    "",
    &P4CGI::start_table("width=100%"),
    &P4CGI::table_row(-align => "left",
	&P4CGI::ahref(-url => &P4CGI::DTB_URL(),
	    "FSPC=/", "HIDEDEL=NO", "NDX=yes",
	    "<font size=+1>Browse Depot Tree</font>"),
	&P4CGI::ahref(-url => &P4CGI::CHB_URL(),
	    "FSPC=//...",
	    "STATUS=pending",
	    "<font size=+1>Pending Changes</font>"),
	&P4CGI::ahref(-url => &P4CGI::LAB_URL(),
	    "<font size=+1>List Branches</font>"),
	&P4CGI::ahref(-url => &P4CGI::LAL_URL(),
	    "<font size=+1>List Labels</font>"),
	{ -text => &P4CGI::ahref(-url => &P4CGI::LAU_URL(),
	    "<font size=+1>List Users</font>"), -align => "right"} ),
    &P4CGI::end_table(),
    "<hr>" ; 

# Search-for-file form
print
    &P4CGI::cgi()->startform(-action => &P4CGI::SFF_URL(),
			     -method => "GET"),
    &P4CGI::cgi()->submit(-name  => "ignore",
			  -value => "Search for file:"),
    &P4CGI::cgi()->textfield(-name      => "FSPC",
			     -default   => "//...",
			     -size      => 50,
			     -maxlength => 256),    
    &P4CGI::cgi()->endform() ;

# View-changes-for-file form
print
    &P4CGI::cgi()->startform(-action => &P4CGI::CHB_URL(),
			     -method => "GET"),
    &P4CGI::cgi()->submit(-name  => "ignore",
			  -value => "View changes for file:"),
    &P4CGI::cgi()->hidden(-name  => "MAXCH",
			  -value => "100"),
    &P4CGI::cgi()->textfield(-name      => "FSPC",
			     -default   => "//...",
			     -size      => 41,
			     -maxlength => 256),    
    &P4CGI::cgi()->endform() ;

# View-change-number form
my $currlev = &P4CGI::CURRENT_CHANGE_LEVEL() ;
print
    "",
    &P4CGI::cgi()->startform(-action => &P4CGI::CHV_URL(),
			     -method => "GET"),
    &P4CGI::cgi()->submit(-name  => "ignore",
			  -value => "View change number:"),
    &P4CGI::cgi()->textfield(-name      => "CH",
			     -default   => "$currlev",
			     -size      => 20,
			     -maxlength => 20),    
    &P4CGI::cgi()->endform() ;

# Browse-a-different-repository form
my $userp4port = &P4CGI::USER_P4PORT() ;
my ($host,$port) ;
($host,$port) = split( /:/, $userp4port ) ;
print
    "",
    &P4CGI::cgi()->startform(-action => &P4CGI::MAIN_URL(),
			     -method => "GET"),
    &P4CGI::cgi()->submit(-name  => "ignore",
			  -value => "Browse a different repository:"),
    &P4CGI::cgi()->textfield(-name      => "HOST",
			     -default   => "$host",
			     -size      => 20,
			     -maxlength => 256),    
    &P4CGI::cgi()->textfield(-name      => "PORT",
			     -default   => "$port",
			     -size      => 20,
			     -maxlength => 256),    
    &P4CGI::cgi()->submit(-name  => "Go",
			  -value => "Go"),
    &P4CGI::cgi()->endform() ;

# Print list-changes options
print
    "",
    &P4CGI::start_table("width=100%"),
    &P4CGI::table_row(-align => "left",
	&P4CGI::ahref(-url => &P4CGI::CBB_URL(),
	    "<font size=+1>List Changes by Branch</font>"),
	{-align => "center",
	 -text => &P4CGI::ahref(-url => &P4CGI::LOF_URL(),
	    "<font size=+1>List Opened Files</font>")},
	{-align => "right",
	 -text => &P4CGI::ahref(-url => &P4CGI::CBU_URL(),
	    "<font size=+1>List Changes by User</font>")}),
    &P4CGI::end_table();

# Javascript function to open Help as an offset window
print "<script language=javascript>" ;
print "function OpenWin(page) {
HelpWin = this.open(page, \"HelpWindow\", \"toolbar=yes,menubar=yes,location=yes,scrollbars=yes, resizable=yes,height=500,width=800,left=200,top=50\"); }" ;
print "</script>\n" ;

# Print help-link and silliness option
print
    "<hr>",
    &P4CGI::start_table("width=100%"),
    &P4CGI::table_row(
	-align => "left",
	"<a href=\"javascript:OpenWin('../htdocs/p4db_help.html')\"><font size=+1>Get Help</font></a>",
	{ -text => &P4CGI::ahref(-url => "p4race.cgi",
	"<font size=-1>The Great<br>Submit Race</font>"), -align => "right"}),
    &P4CGI::end_table() ;

# End the page, pass that we're the homepage so it doesn't do Page Top link,
#   since the homepage should never be so long you'd need that
print
    "",
    &P4CGI::end_page("index") ;