#-*-Perl-*-

foreach (qw(ao aj betty bl com dr fbofw geech grizz herman js knc luann mar
	    meg nancy oth peanuts pearls monty rose warped jworld)) {
    $hof{$_} = 0;
}

foreach (qw(lm)) {
    $hof{$_} = 7;
}

#Make any changes to this, and you should also change unitedmedia & uexpress
#They're exactly the same except for the values unique to this site
sub comiczone {
    #get arguments (fp stands for file prefix, syn for syndicate)
    my ($time,$title,$author,$syn,$fp,$sun_size,$wd_size,$func) = @_;

    #values unique to this site
    my $oldest = 31; #31 days of comics available
    my $baseurl = "http://www.comiczone.com";
    my $pagedir = "archive";
    my $imgdir = "$pagedir/images";
    my $datefmt = "-%Y%m%d";

    my @ltime = gmtime($time);
    my @ntime = gmtime(time);
    my $ntime = mkgmtime(0,0,0,@ntime[3..5]);
    my $first_avail = $ntime - ($oldest + $hof{$func})*(3600*24);
    my $size = ($ltime[6] == 0 ? $sun_size : $wd_size);
    return undef if ! defined $size || $time < $first_avail;
    
    my $rec = {
	'title' => $title,
	'author' => $author,
	'type' => 'gif',
	'main' => "$baseurl/$syn/$fp/",
	'archives' => "$baseurl/$syn/$fp/$pagedir/",
	'base' => $baseurl,
	'exprs' => [strftime("(/$syn/$fp/$imgdir/$fp\\d+\\.(gif|jpg))",
			     @ltime)],
	'page' => strftime("/$syn/$fp/$pagedir/$fp$datefmt.html",@ltime),
	'size' => $size,
    };
    
    return $rec;
}

# these could be moved into unitedmedia, but they're here fore now

#Alley Oop  http://www.comiczone.com/comics/alleyoop/archive
sub ao {
    return comiczone(shift(@_),"Alley Oop","Dave Gaue & Jack Bender","comics",
		     "alleyoop",[725,530],[600,192],"ao");
}

#Arlo and Janis http://www.comiczone.com/comics/arlonjanis/archive
sub aj {
    return comiczone(shift(@_),"Arlo and Janis","Jimmy Johnson","comics",
		     "arlonjanis",[725,523],[600,202],"aj");
}

#Betty http://www.comiczone.com/comics/betty/archive
sub betty {
    return comiczone(shift(@_),"Betty","Gary Delainey & Gerry Rasmussen",
		     "comics","betty",[725,381],[600,208],"betty");
}

#The Born Loser http://www.comiczone.com/comics/bornloser/archive
sub bl {
    return comiczone(shift(@_),"The Born Loser","Chip Sansom","comics",
		     "bornloser",[725,530],[600,200],"bl");
}

#Committed http://www.comiczone.com/comics/committed/archive
sub com {
    return comiczone(shift(@_),"Committed","Michael Fry","comics","committed",
		     [725,382],[300,415],"com");
}

# Drabble http://www.comiczone.com/comics/drabble/archive
sub dr {
    return comiczone(shift(@_),"Drabble","Kevin Fagan","comics","drabble",
		     [725,504],[600,200],"dr");
}

#For Better or For Worser http://www.comiczone.com/comics/forbetter/archive
sub fbofw {
    return comiczone(shift(@_),"For Better or For Worse","Lynn Johnston",
		     "comics","forbetter",[725,535],[600,222],"fbofw");
}

#Geech 
sub geech {
    return comiczone(shift(@_),"Geech","Jerry Bittle","comics","geech",
		    [725,536],[600,218],"geech");
}

#The Grizzwells http://www.comiczone.com/comics/grizzwells/archive
sub grizz {
    my $today = shift();
    return comiczone($today,"The Grizzwells","Bill Schorr","comics",
			 "grizzwells",undef,[600,218],"grizz");
}

#Herman  http://www.comiczone.com/comics/herman/archive
sub herman {
    return comiczone(shift(@_),"Herman","Jim Unger","comics","herman",
		     [725,532],[300,372],"herman");
}

#JumpStart  http://www.comiczone.com/comics/jumpstart/archive
sub js {
    return comiczone(shift(@_),"JumpStart","Robb Armstrong","comics",
		     "jumpstart",[725,532],[600,197],"js");
}

#Kit 'n' Carlyle  http://www.comiczone.com/comics/kitncarlyle/archive
sub knc {
    my $today = shift();
    return comiczone($today,"Kit-n-Carlyle","Larry Wright","comics",
			 "kitncarlyle",undef,[300,375],"knc");
}

# Liberty Meadows  http://www.comiczone.com/comics/liberty/archive/
sub lm {
    return comiczone(shift(@_),"Liberty Meadows","Frank Cho","creators",
		     "liberty",[650,306],[625,200],"lm");
}

#Luann  http://www.comiczone.com/comics/luann/archive
sub luann {
    return comiczone(shift(@_),"Luann","Greg Evans","comics","luann",
		     [725,374],[600,212],"luann");
}

#Marmaduke  http://www.comiczone.com/comics/marmaduke/archive
sub mar {
    return comiczone(shift(@_),"Marmaduke","Brad Anderson","comics","marmaduke",
		     [725,512],[300,336],"mar");
}

#Meg!  http://www.comiczone.com/comics/meg/archive
sub meg {
    return comiczone(shift(@_),"Meg!","Greg Curfman","comics","meg",
		     [600,200],[600,200],"meg");
}

#Nancy  http://www.comiczone.com/comics/nancy/archive
sub nancy {
    return comiczone(shift(@_),"Nancy","Guy and Brad Gilchrist","comics",
		     "nancy",[725,527],[600,215],"nancy");
}

#Over The Hedge  http://www.comiczone.com/comics/hedge/archive
sub oth {
    return comiczone(shift(@_),"Over The Hedge","Michael Fry and T. Lewis",
		     "comics","hedge",[725,481],[600,210],"oth");
}

#Peanuts  http://www.comiczone.com/comics/peanuts/archive
sub peanuts {
    return comiczone(shift(@_),"Peanuts","Charles Schulz","comics",
		     "peanuts",[600,425],[600,148],"peanuts");
}

#Pearls Before Swine  http://www.comiczone.com/comics/pearls/archive
sub pearls {
    return comiczone(shift(@_),"Pearls Before Swine","Stephan Pastis",
                     "comics","pearls",[727,350],[600,228],"pearls");
}

#Monty  http://www.comiczone.com/comics/monty/archive
sub monty {
    return comiczone(shift(@_),"Monty","Jim Meddick","comics","monty",
		     [725,531],[600,210],"monty");
}

#Rose is Rose  http://www.comiczone.com/comics/roseisrose/archive
sub rose {
    return comiczone(shift(@_),"Rose is Rose","Pat Brady","comics","roseisrose",
		     [725,537],[600,200],"rose");
}

#warped  http://www.comiczone.com/comics/warped/archive
sub warped {
    return comiczone(shift(@_),"Warped","Mike Cavna","comics","warped",
		     [725,372],[600,225],"warped");
}

#Janes World  http://www.comiczone.com/comics/janesworld/archive
sub jworld {
    my $time = shift;
    my @ltime = gmtime($time);
    return undef if($ltime[6] == 0);
    return comiczone($time,"Janes World","Paige Braddock","comics",
        "janesworld",[500,358],[600,203],"jworld");
}

1;


