#! /usr/bin/python
# coding: latin-1

String=""

def par(Class):
	" Start a new html paragraph"
	if Class <> "":
		print '<P CLASS="'+Class+'">'
	else:
		print '<P>'
		
def center(Text):
	print '<P SYTLE="TEXT-ALIGN:CENTER">'+Text+'</P>'

def coda_par():
  " End a new HTML paragraph"
  print "</P>"
  
  
def image(image):
  print '<P CLASS="center">'
  print '<IMG CLASS="plot" src="' + image + '" ALT="SN-Plot">'
  print '</P>'

def body():
  print '<BODY>'
  
def hline(Width, Align, Size):
	#print '<HR SIZE="'+str(Size)+'" WIDTH="'+str(Width)+'" ALIGN="'+str(Align)+'">'
	print '<HR style="width:'+str(Width)+'; height:'+str(Size)+'px; text-align:'+str(Align)+';">'


def coda_body(Link, Name):
  " close the body "
  hline("100%", "left", 4)
  par("help")
  print '<A HREF="'+Link+'">'+Name+'</A>'
  coda_par()
  par("comments")
  print '<A> Send comments to A.Germeroth(at)lsw.uni-heidelberg.de</A>'
  coda_par()
  print "</BODY>"
  print "</HTML>"

def newline():
	print "<BR>"

def emph(Text):
	print "<i>"+Text+"</i>"
	#print Text

def headline(Text,Number):
	String = "<H"+Number+">"+Text+"</H"+Number+">"
	print String

#def headline_color(Text,Number,Color):
	#String = "<H"+Number+"><FONT COLOR="+Color+">"+Text+"</FONT></H"+Number+">"
	#print String

def headline_left(Name, Text):
	par(Name)
	print Text
	coda_par()

def headline_right(Name, Text):
	par(Name)
	print Text
	coda_par()

def table(Columns, Rows, Content, Width):
	print '<TABLE WIDHT="'+str(Width)+'">'
	for i in range(Rows):
		print '	<TR>'
		for j in range(Columns):
			print '		<TD>'+Content[i*(Columns)+j]+'</TD>'
		print '	</TR>'
	print '</TABLE>'
	
def radio(Name, Value, Path, Set):
	String = '<INPUT TYPE=RADIO NAME="'+Name+'" VALUE="'+Value+'"'
	if Set == '1':
		String = String + " CHECKED"
	if Set == '2':
		String = String + " DISABLED CHECKED"
	if Set == '3':
		String = String + " DISABLED"
	Path="'"+Path+"'"
	String = String + ' STYLE="width: 0.13in; height: 0.13in"'
	if len(Path) > 2:
		String = String + ' ONCLICK="this.form.action='+Path+';this.form.submit();"'#+'</P>'
	String = String + ">"
	print String

#def blink(Title):
	#print '<p><span id=blink><H1>'+ Title +'</H1></span><br>'
	#print '<script language=JavaScript>'
	#print '<!--'
	#print 'blink();'
	#print '//-->'
	#print '</script></p>'

def header(Title, Link):
  " Print the header block for a cgi-generated web page"
  print "Content-type: text/html"
  print 
  print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">'
  print '<HTML>'
  print '<HEAD>'
  print '	<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=UTF-8">'
  print '	<META NAME=GENERATOR CONTENT="Python">'
  print '	<TITLE>'
  print Title
  print '	</TITLE>'
  if Link<>'0':
	print '	<LINK HREF="'+Link+'etc_screen.css" REL="stylesheet" MEDIA="screen" TYPE="text/css">'
	print '	<LINK HREF="'+Link+'etc_print.css" REL="stylesheet" MEDIA="print" TYPE="text/css">'
  #print ' <SCRIPT type="text/javascript">'
  #print ' <!-- '
  #print ' var blinkArray = new Array();'
  #print ' blinkArray[0] = "black";'
  #print ' blinkArray[1] = "red";'
  #print ' var blinkTimeout = 200;'
  #print ' var blinkIndex = 0;'
  #print ' function blink () {'
  #print ' 	blinkIndex = (blinkIndex+=1) % 2 ;'
  #print ' 	var color = blinkArray [ blinkIndex ];'
  #print ' 	document.all.blink.style.color=color;'
  #print ' 	setTimeout( "blink();" , blinkTimeout);'
  #print ' }'
  #print ' //-->'
  #print ' </SCRIPT>'

  print '</HEAD>'
  
def span(Style):
	print '<SPAN STYLE="font-size:80%">'

def coda_span():
	print '</SPAN>'

def link(Link, Text):
  print '<A HREF="'+Link+'">'+Text+'</A>'

def selection_list(Name, List, Selected, Width, Height, Size, Set):
	String = '<SELECT NAME="'+Name+'"'
	if Set <> '1': 
		String = String + ' DISABLED'
	String = String + ' STYLE="width: '+Width+'; height: '+Height+'; font-size: '+Size+'">'
	print String
	for i in List:
		if i == Selected:
			print '<OPTION SELECTED>%s</OPTION>' % i
		else:
			print '<OPTION>%s</OPTION>' % i
	print '</SELECT>'

def selection_list_internal(Name, List, Selected, Width, Height, Size, Set, List_internal):
	String = '<SELECT NAME="'+Name+'"'
	if Set <> '1': 
		String = String + ' DISABLED'
	String = String + ' STYLE="width: '+Width+'; height: '+Height+'; font-size: '+Size+'">'
	print String
	for i in range(0,len(List)):
		if List_internal[i] == Selected:
			print '<OPTION VALUE="%s" SELECTED>%s</OPTION>' % (List_internal[i],List[i])
		else:
			print '<OPTION VALUE="%s">%s</OPTION>' %  (List_internal[i],List[i])
	print '</SELECT>'

def selection_list_new(Name, List, Selected, Width, Height, Size, Set, Path):
	Path="'"+Path+"'"
	String = '<SELECT NAME="'+Name+'"'
	if Set <> '1': 
		String = String + ' DISABLED'
	String = String + ' STYLE="width: '+Width+'; height: '+Height+'; font-size: '+Size+'"'
	String = String + ' ONCHANGE="this.form.action='+Path+';this.form.submit();"'#+'</P>'
	String = String + ">"
	print String
	for i in List:
		if i == Selected:
			print '<OPTION SELECTED>%s</OPTION>' % i
		else:
			print '<OPTION>%s</OPTION>' % i
	#print '</OPTION>'
	print '</SELECT>'

def input_field(Name, Value, Width, Height, Size, Set):
	String='<INPUT TYPE=TEXT NAME="'+Name+'" VALUE="'+Value+'"'
	if Set <> '1':
		String = String + ' DISABLED'
	String = String + ' STYLE="width: '+Width+'; height: '+Height+'; font-size: '+Size+'">'
	print String

def field_hidden(Name, Value):
	String='<INPUT TYPE="HIDDEN" NAME="'+Name+'" VALUE="'+Value+'">'
	print String

def submit_button(Name, Type, Value, Width, Height):
	print '<INPUT TYPE='+Type+' NAME="'+Name+'" VALUE="'+Value+'" STYLE="width: '+Width+'; height: '+Height+'">'

def form(Action, Method):
	print '<FORM ACTION="'+Action+'" METHOD="'+Method+'">'

def coda_form():
	print '</FORM>'

def target(Name, Text):
	String = '<A NAME="'+Name+'">'
	if Text <> '0':
		String = String+Text
	String=String+'</A>'
	print String
