package is.idega.idegaweb.golf.tournament.presentation;
import is.idega.idegaweb.golf.presentation.GolfBlock;
import is.idega.idegaweb.golf.tournament.business.TournamentSession;
import java.sql.SQLException;
import com.idega.business.IBOLookup;
import com.idega.business.IBOLookupException;
import com.idega.business.IBORuntimeException;
import com.idega.core.builder.data.ICPage;
import com.idega.idegaweb.IWBundle;
import com.idega.idegaweb.IWResourceBundle;
import com.idega.presentation.IWContext;
import com.idega.presentation.Image;
import com.idega.presentation.Table;
import com.idega.presentation.text.Link;
import com.idega.presentation.text.Paragraph;
import com.idega.util.IWTimestamp;
/**
* @author gimmi
*/
public class TournamentNavigation extends GolfBlock {
static int daysToDisplay = 14;
private IWResourceBundle iwrb;
private IWBundle iwb;
private ICPage tournamentPage;
public void main(IWContext modinfo) throws Exception {
iwb = getBundle();
iwrb = getResourceBundle();
String view = modinfo.getParameter("i_tournament_view");
String union_id = modinfo.getParameter("union_id");
TournamentList.setAreResults(modinfo, false);
if (isAdmin() || isClubAdmin()) {
Paragraph par = new Paragraph();
par.setAlign("left");
add(par);
Link link = new Link(iwrb.getImage("tournament/tournamentmanager.gif"));
link.setWindowToOpen(TournamentAdministratorWindow.class);
par.add(link);
}
String localeString = "";
if (iwrb.getLocale() != null) {
localeString = iwrb.getLocale().getCountry();
}
Table table = drawTable(modinfo, union_id, view);
TournamentList list = new TournamentList(view);
list.setTournamentPage(tournamentPage);
list.setCacheable("tournament_table_union_id_" + union_id + "_view_" + view + "_locale_" + localeString + "_startTime_" + getStartStamp(modinfo).toSQLDateString() + "_endTime_" + getEndStamp(modinfo).toSQLDateString());
table.add(list, 1, 2);
add(table);
}
private TournamentSession getTournamentSession(IWContext iwc) {
try {
return (TournamentSession) IBOLookup.getSessionInstance(iwc, TournamentSession.class);
}
catch (IBOLookupException ile) {
throw new IBORuntimeException(ile);
}
}
public IWTimestamp getStartStamp(IWContext modinfo) {
IWTimestamp stamp = null;
try {
stamp = new IWTimestamp(getTournamentSession(modinfo).getStartDate());
}
catch (Exception e) {
stamp = IWTimestamp.RightNow();
stamp.addDays(-7);
}
return stamp;
}
public IWTimestamp getEndStamp(IWContext modinfo) {
IWTimestamp stamp = null;
try {
stamp = new IWTimestamp(getTournamentSession(modinfo).getEndDate());
}
catch (Exception e) {
stamp = getStartStamp(modinfo);
stamp.addDays(daysToDisplay);
}
return stamp;
}
public void setTournamentPage(ICPage page) {
tournamentPage = page;
}
public Table drawTable(IWContext modinfo, String union_id, String view) throws SQLException {
Table myTable = new Table(2, 2);
myTable.setCellpadding(0);
myTable.setCellspacing(0);
myTable.setWidth("100%");
myTable.setColor(1, 1, "#FFFFFF");
myTable.setColor(2, 1, "#FFFFFF");
myTable.setAlignment(1, 1, "center");
myTable.setAlignment(2, 1, "right");
myTable.setVerticalAlignment(2, 1, "bottom");
myTable.mergeCells(1, 2, 2, 2);
Image mynd4 = iwrb.getImage("leftcorner.gif");
Image iResults = iwrb.getImage("tabs/results1.gif");
Image iAllTournaments = iwrb.getImage("tabs/alltournaments1.gif");
Image iOpenTournaments = iwrb.getImage("tabs/opentournaments1.gif");
Image iFemaleTournaments = iwrb.getImage("tabs/ladies1.gif");
Image iYoungTournaments = iwrb.getImage("tabs/juniors1.gif");
Image iOlderTournaments = iwrb.getImage("tabs/seniors1.gif");
if (view == null) {
iAllTournaments = iwrb.getImage("tabs/alltournaments.gif");
}
else if (view.equals("results")) {
iResults = iwrb.getImage("tabs/results.gif");
TournamentList.setAreResults(modinfo, true);
}
else if (view.equals("allTournaments")) {
iAllTournaments = iwrb.getImage("tabs/alltournaments.gif");
}
else if (view.equals("openTournaments")) {
iOpenTournaments = iwrb.getImage("tabs/opentournaments.gif");
}
else if (view.equals("femaleTournaments")) {
iFemaleTournaments = iwrb.getImage("tabs/ladies.gif");
}
else if (view.equals("youngTournaments")) {
iYoungTournaments = iwrb.getImage("tabs/juniors.gif");
}
else if (view.equals("olderTournaments")) {
iOlderTournaments = iwrb.getImage("tabs/seniors.gif");
}
Link results = new Link(iResults);
results.addParameter("i_tournament_view", "results");
Link ollmot = new Link(iAllTournaments);
ollmot.addParameter("i_tournament_view", "allTournaments");
Link opinmot = new Link(iOpenTournaments);
opinmot.addParameter("i_tournament_view", "openTournaments");
Link kvennamot = new Link(iFemaleTournaments);
kvennamot.addParameter("i_tournament_view", "femaleTournaments");
Link unglingamot = new Link(iYoungTournaments);
unglingamot.addParameter("i_tournament_view", "youngTournaments");
Link eldrimot = new Link(iOlderTournaments);
eldrimot.addParameter("i_tournament_view", "olderTournaments");
if (union_id != null) {
ollmot.addParameter("union_id", union_id);
opinmot.addParameter("union_id", union_id);
kvennamot.addParameter("union_id", union_id);
unglingamot.addParameter("union_id", union_id);
eldrimot.addParameter("union_id", union_id);
}
myTable.add(results, 2, 1);
myTable.add(opinmot, 2, 1);
myTable.add(kvennamot, 2, 1);
myTable.add(unglingamot, 2, 1);
myTable.add(eldrimot, 2, 1);
myTable.add(ollmot, 2, 1);
return myTable;
}
}