# -*- tcl -*-
# $Id: script,v 1.9 2003/07/11 13:40:33 tobotras Exp $

require TEItools.tcl
require textutil.tcl
require Simple.tcl
require TEItoolsHTML.tcl
TEItoolsSetup "html"

set courseNo 0
set institutionNo 0

specification translate {
    {element RESUME} {
	prefix	{<!doctype html public "-//IETF//DTD HTML//EN">
<!-- Generated from SGML by TEItools.
  See http://xtalk.msk.su/SGML/TEItools
-->
<html>
 <head>
	}
	suffix	{
  <SMALL>
	    [locale "" "Produced by"] <A HREF="http://xtalk.msk.su/SGML/TEItools/">TEItools</A>
  </SMALL>
 </body>
</html>
	}
    }
    {element HEADER} {
	prefix	{
	    <title>}
	suffix	{</title>
 </head>
 <body>
	}
    }
    {element NAME} {
	prefix	{
	    <center><h1>}
	suffix	{</h1><br>
	    </center>
	}
    }
    {elements "FIRSTNAME MIDDLENAME LASTNAME"} {
	prefix	" "
    }
    {element EMAIL} {
	prefix	{<center>
	    <a href="mailto:[content]">&lt;}
	suffix	{&gt;</a></center>
	}
    }
    {element SUMMARY} {
	prefix	{
	    <center>
	    <hr width='30%'>
	    <h2>[locale " " "Summary"]</h2></center>
	    <UL>
	}
	suffix	{
	    </UL>
	}
    }
    {element PARA in SUMMARY} {
	prefix	{<LI>}
	suffix	{</LI>

	}
    }
    {element QUOTE} {
	prefix	"\""
	suffix	"\""
    }
    {element EMPLOYMENT} {
	prefix	{
	    <center>
	    <hr width='30%'>
	    <h2>[locale " " "Employment history"]</h2></center>

	    <DL>
	}
	suffix	{
	    </DL>
	}
    }
    {element DATE} {
	prefix	{<DT>}
	suffix	{</DT>
	    <DD>
	}
    }
    {elements "COMPANY INSTNAME"} {
	prefix	{<STRONG>}
	suffix	{</strong><br>
	}
    }
    {element POSITION in ITEM} {
	prefix	{
	    
	    <p>[locale "" "Position"]: }
    }
    {elements "DESCRIPTION KW"} {
	prefix	{}
    }
    {element ITEM} {
	prefix	{}
	suffix	{<br><br>
	}
    }
    {element INSTITUTION} {
	prefix	{<DL>
	}
	suffix	{
	    </DL>
	}
    }
    {element COURSE} {
	startAction {
	    global courseNo
	    incr courseNo
	}
	prefix	{[course]
	    <DL>
	}
	suffix	{
	    </DL>
	}
    }
    {elements "PARA SPECIALITY CERTIFICATE AUTHORITY"} {
	prefix	{
	    <p>}
	suffix	{</p>
	}
    }
    {element LIST} {
	prefix	{<UL>
	}
	suffix	{</UL>
	}
    }
    {element LISTITEM in LIST} {
	prefix	{<LI> }
	suffix	{</LI>
	}
    }
    {element EDUCATION} {
	prefix	{
	    <center>
	    <hr width='30%'>
	    <h2>[locale "" "Education"]</h2></center>
	}
    }
    {element PERSONALINFO} {
	prefix	{
	    <center>
	    <hr width='30%'>
	    <h2>[locale " " "Personal information"]</h2></center>
	}
    }
    {element KW} {
	prefix	{<strong>}
	suffix  {</strong>}
    }
    {element AGE} {
	prefix  [age]
    }
    {el} {
	prefix	{[openUnknown]}
	sdataFilter	textSdataFilter
    }
}

proc age {} {
    set born [query attval "BORN"]
    set age 0
    catch {
	set age [expr [clock format [clock seconds] -format %Y] - $born]
    }
    if { $age < 10 || $age > 100 } {
	error "Bad age: $age"
    }
    return [eval [locale rusAge engAge] $age]
}

proc course {} {
    global courseNo
    if { $courseNo == 1 } {
	return "<h3>[locale  Courses\ and\ trainings]</h3>"
    } else {
	return
    }
}

proc engAge { age } {
    return $age
}

proc rusAge { age } {
    set lastDigit [string index $age [expr [string length $age] - 1]]
    switch -regexp $lastDigit {
	"1" { set s "" }
	"2|3|4" { set s "" }
	"5|6|7|8|9|0" { set s "" }
    }
    return "$age $s"
}

proc locale { rus eng } {
    global env
    set lang $env(LANG)
    withNode docroot descendant element "RESUME" {
	set langAttr [query attval "lang"]
	if { "$langAttr" != "" } {
	    set lang $langAttr
	}
    }
    set lang [string tolower $lang]
    if { $lang == "koi8-r" } {
	return $rus
    } else {
	return $eng
    }
}
    
