//////////////////////////////////////////////////////////////////////////////
// Arquivo:  layout.js
// Autor:    Star Sistemas e Projetos Graficos Ltda.
// Data:     09-24/03/2001, 01/11/2001, 31/01-01/02/2006
// Conteudo: Funcao para criacao automatizada dos elementos basicos de
//           montagem de uma pagina do site oficial de Perry Rhodan.
//////////////////////////////////////////////////////////////////////////////

function DocumentWrite (text)
{
	document.write (text);
}

function DocumentWriteln (text)
{
	document.writeln (text);
}

///////////////////////////////////////////////////////////////////////////////

function BeginPage()
{
	DocumentWriteln ("<script LANGUAGE=JavaScript>document.body.style.backgroundImage = \"url("+ GetSiteBaseDir() + "Imagens/Enfeites/perry-rhodan-background.jpg)\";</script>");
   DocumentWriteln ("<TABLE ALIGN=CENTER WIDTH=750 BORDER=0 CELLSPACING=2 CELLPADDING=0>");
}

function DisplayPageHeader (pageName)
{
   DisplayOfficialLogo();
   DisplayPageHeading();
   DisplayMainMenu (pageName);
   BeginMainPageContents();
}

function DisplayOfficialLogo()
{
   DocumentWriteln ("<TR>");
   DocumentWriteln ("<TD ROWSPAN=2 WIDTH=150 HEIGHT=100 ALIGN=CENTER VALIGN=MIDDLE>\n" +
		"<IMG SRC=\"" + GetSiteBaseDir() + "Imagens/Logos/perry-rhodan-logo.gif\" " +
		"WIDTH=140 HEIGHT=78 ALT=\"Perry Rhodan\" ALIGN=CENTER BORDER=0 VSPACE=0 HSPACE=0>\n" +
      "<br><span class=\"slogan\">A maior série de ficção científica do mundo!</span></TD>");
}

var numBanners = 6;
var bannerTexts = new Array();
bannerTexts[1] = "Ficou mais fácil assinar Perry Rhodan! Planos a partir de 4 x 36,20!";
bannerTexts[2] = "Assine Perry Rhodan por 12 meses e pague em 8 parcelas de 36,25!";
bannerTexts[3] = "Não é promoção: agora, volumes de Perry Rhodan por apenas 19,90!";
bannerTexts[4] = "Complete sua coleção! Pacotes de ciclos completos a partir de 393,00!";
bannerTexts[5] = "Aproveite esta oferta exclusiva: boneco do Gucky por 49,90!";
bannerTexts[6] = "Faça aqui o download da amostra grátis de um episódio de Perry Rhodan!";
var bannerLinks = new Array();
bannerLinks[1] = "port/pedido-assinatura.asp";
bannerLinks[2] = "port/pedido-assinatura.asp";
bannerLinks[3] = "port/pedido-volumes-avulsos.asp";
bannerLinks[4] = "port/pedido-pacotes-ciclos.asp";
bannerLinks[5] = "port/pedido-produtos.asp";
bannerLinks[6] = "port/downloads.html";

function DisplayTopBanner()
{
   DocumentWriteln ("<TD WIDTH=480 HEIGHT=70 ALIGN=CENTER VALIGN=MIDDLE>");

   var randnum = Math.ceil (Math.random() * numBanners);
	if (randnum < 1) randnum = 1;
   else if (randnum > numBanners) randnum = numBanners;
   
   DocumentWriteln ("<A HREF=\"" + GetSiteBaseDir() + bannerLinks[randnum] + 
      "\"><IMG SRC=\"" + GetSiteBaseDir() + "Imagens/Banners/Banner-Horizontal-" + 
      (randnum < 10 ? "0" : "") + String(randnum) + ".gif\" " +
	   "WIDTH=420 HEIGHT=60 ALT=\"" + bannerTexts[randnum] + 
      "\" ALIGN=CENTER BORDER=1 VSPACE=5 HSPACE=5></A>");

   DocumentWriteln ("</TD>");
}

function DisplayPageHeading()
{
   DisplayTopBanner();

   DocumentWriteln ("<TD ROWSPAN=2 WIDTH=150 HEIGHT=100 ALIGN=CENTER VALIGN=MIDDLE>\n" +
		"<IMG SRC=\"" + GetSiteBaseDir() + "Imagens/Logos/sspg-logo.gif\" " +
		"WIDTH=69 HEIGHT=92 ALT=\"SSPG Editora\" ALIGN=CENTER " +
		"BORDER=0 VSPACE=0 HSPACE=0>\n<br><span class=\"slogan\">Uma publicação<br>SSPG Editora</span></TD>");

   DocumentWriteln ("</TR>");
   DocumentWriteln ("<TR>");

   DocumentWriteln ("<TD WIDTH=480 HEIGHT=70 ALIGN=CENTER VALIGN=MIDDLE>\n" +
		"<P CLASS=\"pageTitle\">Perry Rhodan<BR>Site Oficial Brasileiro</P></TD>\n");

   DocumentWriteln ("</TR>");
}

function DisplayMainMenu (pageName)
{
   DocumentWriteln ("<TR>");
   DocumentWriteln ("<TD WIDTH=150 ALIGN=CENTER VALIGN=TOP>\n");
   
   DisplaySectionTitle ("Apresentação");
   DisplayPresentationSectionMainMenu();
   DisplaySectionTitle ("Volumes");
   DisplayIssuesSectionMainMenu();
   DisplaySectionTitle ("Instruções");
   DisplayHowToOrderSectionMainMenu();
   DisplaySectionTitle ("Efetuar Pedidos");
   DisplayOrdersSectionMainMenu();
   DisplaySectionTitle ("Ofertas");
   DisplayOffersSectionMainMenu();
   DisplaySectionTitle ("Comunicações");
   DisplayCommunicationsMainMenu();
   DisplaySectionTitle ("Downloads");
   DisplayDownloadsMainMenu();

   DocumentWriteln ("</TD>");
}

function BeginMainPageContents()
{
	DocumentWriteln ("<TD VALIGN=TOP WIDTH=490>\n<TABLE WIDTH=480 BORDER=0 CELLSPACING=10 CELLPADDING=0>");
}

function EndMainPageContents()
{
   DocumentWriteln ("</TABLE></TD>");

   DocumentWriteln ("<TD WIDTH=150 ALIGN=CENTER VALIGN=TOP>");
   
   DisplayStandoutSection();

   DocumentWriteln ("</TD></TR>");
}

function DisplayStandoutSection()
{
   DisplaySectionTitle ("Promoções", "#3399ff");
   DisplayPromotionsSectionMainMenu();
   DisplaySectionTitle ("Destaques", "#3399ff");
   DisplayStandoutSectionMainMenu();
}

function BeginSpecificPageContents()
{
   DocumentWriteln ("<TD WIDTH=490 ALIGN=LEFT VALIGN=TOP>");
}

function EndSpecificPageContents()
{
   DocumentWriteln ("</TD>");
}

function DisplayPageTitle (title)
{
   DocumentWriteln ("<TR ALIGN=CENTER VALIGN=TOP>\n<TD ALIGN=CENTER VALIGN=TOP>\n" +
		"<HR><P CLASS=\"pageTitle\">" + title + "</P><BR>\n</TD>\n</TR>");
}

function DisplayPageFooter()
{
   DocumentWriteln ("<TR VALIGN=TOP>\n<TD VALIGN=TOP WIDTH=480><HR><P CLASS=\"footer\">" +
      //"Envie mensagem a <a href=\"mailto:webmaster@sspg.com.br\">webmaster@sspg.com.br</a> " +
      //"com perguntas ou comentários sobre este <em>site</em>.\n<br>\n" +
      "Copyright © 2001,2009 Star Sistemas e Projetos Gráficos Ltda.<BR>\n" +
      "Site melhor visualizado com Internet Explorer 5.x, Firefox 2.0 ou superior.<BR>\n" +
      "&nbsp;</TD></TR>");

   EndMainPageContents();
}

function EndPage()
{
	DocumentWriteln ("</TABLE>");
}

// Modificacao - 26/04/2003
function BuildLink (text, href, status)
//function BuildLink (text, href, status, secure)
// Fim Modificacao - 26/04/2003
{
   // Modificacao - 26/04/2003
   var linkStr = "<a href=\"" + GetSiteBaseDir() + href + "\"";
   /*var linkStr;
   if (secure)
      linkStr = "<a href=\"" + GetSiteSecBaseDir() + href + "\"";
   else
      linkStr = "<a href=\"" + GetSiteBaseDir() + href + "\"";*/
   // Fim Modificacao - 26/04/2003
   if (status != null && status != "")
      linkStr += " onMouseOver=\"window.status='" + status + "';return true\"";
   linkStr += ">" + text + "</a>";
	return linkStr;
}

function WriteLink (text, href, status)
{
	DocumentWrite (BuildLink (text, href, status));
}

function WritelnLink (text, href, status)
{
	DocumentWriteln (BuildLink (text, href, status));
}

// Insercao - 16/05/2006

function BuildURL (href, text, status, extern)
{
   var urlSpec = "<a href=\"";
   if (extern)
   {
      var hrefPrefix = href.substr (0, 6);
      if (hrefPrefix != "http:/" && hrefPrefix != "https:" && hrefPrefix != "ftp://")
         urlSpec = urlSpec + "http://";
   }
   else
      urlSpec = urlSpec + GetSiteBaseDir();
   urlSpec = urlSpec + href  + "\"";
   if (extern)
      urlSpec = urlSpec + " target=\"_blank\"";
   var destaque;
   if (text == null || text == "")
   {
      text = href;
      destaque = true;
   }
   else
      destaque = false;
   if (status == null || status == "")
      status = text;
   urlSpec += " onmouseover=\"window.status='" + status + "';return true\"";
   if (destaque)
      urlSpec += "><em>" + text + "</em></a>";
   else
      urlSpec += ">" + text + "</a>";
	return urlSpec;
}

function WriteURL (href, text, status, extern)
{
	DocumentWrite (BuildURL (href, text, status, extern));
}

function WritelnURL (text, href, status)
{
	DocumentWrite (BuildURL (href, text, status, extern) + "\n");
}

// Fim Insercao - 16/05/2006

//////////////////////////////////////////////////////////////////////////////
// Arquivo:  menulist.js
// Autor:    Rodrigo de Lelis
// Data:     1.0 : 03-5/06/2000 
// Conteudo: Implementacao do controle MenuList - lista de itens de menu,
//           baseado na implementacao do controle MenuList.
//////////////////////////////////////////////////////////////////////////////

function MenuList_Start()
{
}

function MenuList_End()
{
}

function MenuList_DisplayItem (level, title, href, status, titleColor, bgColor, target, extended)
{
   var siteBaseDir = GetSiteBaseDir();

   if (bgColor == null) 
      bgColor = (this.itemOrder % 2 ? "#c0c0c0" : "#cccccc");
   if (href && !status) 
      status = title;

   var cellspacing = 0; //(extended ? 0 : 0);  
   var cellpadding = (extended ? 2 : 0);
   DocumentWriteln ("<table width=\"100%\" cellspacing=" + cellspacing + " cellpadding=" + cellpadding + " border=0>");
   DocumentWrite ("<tr>");
   
   for (i = 1; i < level; i++)
   {
      DocumentWrite (
         "<td width=20 height=20 bgcolor=\"" + bgColor + "\" class=\"menu-icon\">" +
         "<img src=\"" + siteBaseDir + "Imagens/Enfeites/empty.gif\" hspace=0 vspace=0 border=0 " +
         "width=" + this.itemWidth + " height=" + this.itemHeight + "></td>");
   } 

   DocumentWrite ("<td width=20 height=20 bgcolor=\"" + bgColor + "\" class=\"menu-icon\">");
   if (href != null && href != "")
      DocumentWrite ("<a class=\"menuItem\" href=\"" + siteBaseDir + href + 
         "\" " + (target != null && target != "" ? "target=\" + target + \"" : "") + 
         (status != "-" ? "onMouseOver=\"window.status='" + status + "';return true\"" : "") + ">");
   if (!extended)
      DocumentWrite ("<img src=\"" + siteBaseDir + "Imagens/Enfeites/bluedot.gif\" hspace=3 vspace=3 border=0>");
   if (href != null && href != "")
      DocumentWrite ("</a>");
   DocumentWrite ("</td>");

   if (titleColor != null) 
      title = "<font color=" + titleColor + ">" + title + "</font>";

   var wrapSpec = (extended ? "" : "nowrap");
   DocumentWriteln (
      "<td class=\"menuItem\" " + wrapSpec + " width=\"100%\" bgcolor=\"" + bgColor + "\">" +
      (href ? "<a class=\"menuItem\" href=\"" + siteBaseDir + href + "\" " + 
      (target != null && target != "" ? "target=\" + target + \" " : "") +
      (status != "-" ? "onMouseOver=\"window.status='" + status + "';return true\"" : "") + 
      ">" + title + "</a>" : title) + "</td></tr>");

   this.itemOrder++;
   DocumentWriteln ("</table>");
}

function MenuList_DisplayExtendedItem (level, title, href, status, titleColor, bgColor, target)
{
   this.DisplayItem (level,  title + "<br>&nbsp;", href, status, "#000000", null, null, true);

}
function MenuList (itemWidth, itemHeight)
{
   // Atributos
   this.itemWidth = itemWidth;
   this.itemHeight = itemHeight;
   this.itemOrder = 1;

   // Funcoes
   this.Start = MenuList_Start;
   this.End = MenuList_End;
   this.DisplayItem = MenuList_DisplayItem;
   this.DisplayExtendedItem = MenuList_DisplayExtendedItem;
}

//////////////////////////////////////////////////////////////////////////////
// Conteudo: Funcoes para montagem do controle MenuList do indice principal
//           do site oficial de PR.
//////////////////////////////////////////////////////////////////////////////

//----------------------------------------------------------------------------
// Gera o titulo de cada uma das secoes do menu principal do site.

function DisplaySectionTitle (title, bgColor)
{
   if (bgColor == null) bgColor = "#3366ff";

   DocumentWriteln ("<table width=\"100%\" border=0 cellspacing=0 cellpadding=4>");
   DocumentWriteln ("<tr><td width=\"100%\" height=5 " +
      "valign=middle align=left><span></span></td></tr>");
   DocumentWriteln ("<tr><td width=\"100%\" height=20 BGCOLOR=\"" + bgColor + "\" " +
      "valign=middle align=left><span class=\"menu-title\">" + title + "</span></td></tr>");
   DocumentWriteln ("</table>");
}

//----------------------------------------------------------------------------
// Geram cada uma das secoes do menu principal do site.

function DisplayPresentationSectionMainMenu()
{   
   var menuList = new MenuList (20, 20);
   menuList.Start();
   menuList.DisplayItem (1, "Página Inicial", "port/apresentacao.asp", "Apresentação - Página Inicial");
   menuList.DisplayItem (1, "A Série", "port/serie.asp", "Apresentação - A Série Perry Rhodan");
   menuList.DisplayItem (1, "Edição Brasileira", "port/edicao.html", "Apresentação - A Edição Brasileira");
   menuList.End();
}

function DisplayIssuesSectionMainMenu()
{   
   var menuList = new MenuList (20, 20);
   menuList.Start();
   menuList.DisplayItem (1, "Lançamento", "port/lancamentos.html", "Volumes - Lançamento Atual");
   menuList.DisplayItem (1, "Ciclo &quot;O Concílio&quot;", "Engine/displayCycleIssuesList.asp?seriesCode=PR&firstPublishedIssueNumber=650&lastPublishedIssueNumber=698&displayNextIssue=false", "Volumes - Ciclo &quot;O Concílio&quot;");
   menuList.DisplayItem (1, "Ciclo &quot;Afilia&quot;", "Engine/displayCycleIssuesList.asp?seriesCode=PR&firstPublishedIssueNumber=700&lastPublishedIssueNumber=798&displayNextIssue=false", "Volumes - Ciclo &quot;Afilia&quot;");
   menuList.DisplayItem (1, "Ciclo &quot;Bardioc&quot;", "Engine/displayCycleIssuesList.asp?seriesCode=PR&firstPublishedIssueNumber=800&lastPublishedIssueNumber=866&displayNextIssue=true", "Volumes - Ciclo &quot;Bardioc&quot;");
   menuList.End();
}

function DisplayHowToOrderSectionMainMenu()
{   
   var menuList = new MenuList (20, 20);
   menuList.Start();
   menuList.DisplayItem (1, "Assinatura", "port/assinatura.html", "Como Adquirir - Assinatura");
   menuList.DisplayItem (1, "Volumes Avulsos", "port/avulsos.html", "Como Adquirir - Volumes Avulsos");
   menuList.DisplayItem (1, "Pacotes de Ciclos", "port/pacotes-de-ciclos.html", "Como Adquirir - Pacotes de Ciclos");
   menuList.DisplayItem (1, "Edição 537-649", "port/edicao-537.html", "Pedidos - Edição dos Episódios 537 a 649");
   menuList.DisplayItem (1, "Produtos", "port/produtos.html", "Como Adquirir - Produtos");
   //menuList.DisplayItem (1, "Condições", "port/condicoes.html", "Como Pedir - Condições de Envio e Pagamento");
   menuList.DisplayItem (1, "Remessa", "port/remessa.html", "Como Adquirir - Opções de Remessa");
   menuList.DisplayItem (1, "Pagamento", "port/pagamento.html", "Como Adquirir - Opções de Pagamento");
   menuList.DisplayItem (1, "Envio do Pedido", "port/envio-do-pedido.html", "Como Adquirir - Envio do Pedido");
   menuList.End();
}

function DisplayOffersSectionMainMenu()
{   
   var menuList = new MenuList (20, 20);
   menuList.Start();
   menuList.DisplayItem (1, "Volume de Amostra", "port/pedido-volume-amostra.asp", "Ofertas - Volume de Amostra");
   menuList.DisplayItem (1, "Promoções", "port/promocoes.html", "Ofertas - Promoções");
   menuList.DisplayItem (1, "Sorteios", "port/Sorteios/sorteios.asp", "Ofertas - Sorteios");
   menuList.End();
}

function DisplayOrdersSectionMainMenu()
{   
   var menuList = new MenuList (20, 20);
   menuList.Start();
   menuList.DisplayItem (1, "Geral", "port/pedidos.html", "Pedidos - Página Principal");
   menuList.DisplayItem (1, "Primeira Assinatura", "port/pedido-assinatura.asp", "Pedidos - Primeira Assinatura");
   menuList.DisplayItem (1, "Renovação Assin.", "port/pedido-renovacao-assinatura.asp", "Pedidos - Renovação de Assinatura");
   menuList.DisplayItem (1, "Volumes Avulsos", "port/pedido-volumes-avulsos.asp", "Pedidos - Volumes Avulsos");
   menuList.DisplayItem (1, "Pacotes de Ciclos", "port/pedido-pacotes-ciclos.asp", "Pedidos - Pacotes de Ciclos");
   menuList.DisplayItem (1, "Produtos", "port/pedido-produtos.asp", "Pedidos - Produtos");
   menuList.DisplayItem (1, "Edição 537-649", "port/pedido-assinatura-537.asp", "Pedidos - Edição dos Episódios 537 a 649");
   menuList.End();
}

function DisplayDownloadsMainMenu()
{   
   var menuList = new MenuList (20, 20);
   menuList.Start();
   menuList.DisplayItem (1, "Principal", "port/downloads.html", "Downloads - Principal");
   menuList.DisplayItem (1, "Papéis de Parede", "port/papeis-de-parede.html", "Downloads - Papéis de Parede");
   menuList.DisplayItem (1, "Divulgação", "port/material-de-divulgacao.html", "Downloads - Material de Divulgação");
   //menuList.DisplayItem (1, "Links", "port/links.html", "Recursos - Links");
   menuList.End();
}

function DisplayCommunicationsMainMenu()
{   
   var menuList = new MenuList (20, 20);
   menuList.Start();
   menuList.DisplayItem (1, "Notícias", "port/noticias.html", "Comunicação - Notícias");
   menuList.DisplayItem (1, "Comunicados", "port/comunicados.html", "Comunicação - Comunicados da SSPG");
   menuList.DisplayItem (1, "Dúvidas", "port/duvidas.html", "Comunicação - Dúvidas");
   //menuList.DisplayItem (1, "Pesquisa", "port/pesquisa.asp", "Comunicação - Pesquisa");
   menuList.DisplayItem (1, "Contato", "port/contatos.html", "Comunicação - Contato com a SSPG");
   menuList.DisplayItem (1, "Links", "port/links.html", "Comunicação - Links");
   menuList.End();
}

//////////////////////////////////////////////////////////////////////////////
// Conteudo: Funcoes para montagem do controle MenuList das secoes Destaque
//           e Promocoes do site oficial de PR.
//////////////////////////////////////////////////////////////////////////////

//----------------------------------------------------------------------------
// Geram cada uma das secoes de destaque e promocoes do site.

function DisplayStandoutSectionMainMenu()
{   
   var menuList = new MenuList (20, 20);
   menuList.Start();
   menuList.DisplayExtendedItem (1, "12/07/10: SSPG divulga comunicado sobre a situação da edição de <em>Perry Rhodan</em>.", "port/comunicados.html", "Comunicados");
   menuList.DisplayExtendedItem (1, "Adquira todos os volumes lançados do ciclo <em>Bardioc</em> por apenas R$ 429,00!", "port/pacotes-de-ciclos.html", "Destaques");
   menuList.DisplayExtendedItem (1, "Confira nossa seção de <em>downloads</em>: papéis de parede, <em>e-book</em> e material de divulgação de <em>Perry Rhodan</em>!", "port/downloads.html", "Destaques");
   menuList.End();
}

function DisplayPromotionsSectionMainMenu()
{   
   var menuList = new MenuList (20, 20);
   menuList.Start();

   var i, j, tentativas, randnum, repeatRand;
   var numDisplayedBanners = 3;
   var ordembanners = new Array();
   for (i = 1; i <= numDisplayedBanners; i++)
   {
      tentativas = 0;
      do {
         repeatRand = false;
         tentativas++;
         randnum = Math.ceil (Math.random() * numBanners);
	      if (randnum < 1) randnum = 1;
         else if (randnum > numBanners) randnum = numBanners;
         for (j = 1; j < i; j++)
         {
            if (ordembanners[j] == randnum)
               repeatRand = true;
         }
      }
      while (repeatRand || (tentativas == numBanners));
      ordembanners[i] = randnum;

      menuList.DisplayExtendedItem (1, "<b>" + bannerTexts[randnum] + "</b>", bannerLinks[randnum], "Promoções");
   }

   menuList.End();
}
