package TDS::Style;

# $Id: Style.pm,v 1.31.4.1 2001/02/13 00:48:09 tom Exp $
################################################################

use strict;

use Exporter;

use CGI::QueryString;

use TDS::System;
use TDS::DirInfo;

use vars qw(@ISA @EXPORT
	    $Name %StyleTable);

@ISA = qw(Exporter);
@EXPORT = qw(GetStyleName SetStyle);

$Name = undef unless defined $Name;
%StyleTable = ('DoCoMo' => 'i-mode',
	       'UP.Browser' => 'i-mode'
#	       'UP.Browser' => 'hdml'
	       #, 'Mozilla'=>'i-mode');
	       );
sub GetStyleName
{
    return $Name;
}
sub SetStyle(;$)
{
    # USER_AGENT によってスタイルを変える
    {
	my $hua = $ENV{'HTTP_USER_AGENT'};
	if ($hua){
	    for (keys %StyleTable){
		if ($hua =~ /$_/){
		    $Name = qq($StyleTable{$_});
		    &TDS::Cache::Disable();    # needed ??
		}
	    }
	}
    }
    # specify style by query
    if (param('style')){
	require TDS::Cache;
	$Name = param('style');
	&TDS::Cache::Disable();
    }
    my $style_dir = GetStyleDir();
    # スタイルが指定してあるときのみ
    if ($Name){
	# ディレクトリがなきゃいけない
	unless (-d $style_dir){
	    require CGI::Tools;
	    &CGI::Tools::PrintHTTPHeader();
	    print "<p>no such style: $Name";
	    print qq(<p><a href="./?style=standard">back</a>);
	    exit;
	}
    }
    # template.ph があれば require
    require "$style_dir/template.ph"
	if -f "$style_dir/template.ph";
}

1;
