var Corr = null
var Bst = []
var Kat = -1
var Grp = ''
var Katn = ''
var Grpn = ''

AGBOK = 0
ZAHLUNGOK = 0
ADRESSE = []
KREDITKARTE = []
LASTSCHRIFT = []
BEM = []

cZahlungsarten = ['Vorkasse','Kreditkarte','Lastschrift','Nachnahme','Rechnung']
eZahlungsarten = ['advance payment','credit card','debit','cash on delivery','bill']

cDrawBez = true
cLang = 0
cMwSt = 1.19
cCgiProg = 'http://www.nsu-motzke.de/cgi-bin/twinklecom.cgi'
//cCgiProg = 'http://localhost/motzke/cgi-bin/twinklecom.cgi'
cCgiMail = 'sks@nsu-motzke.de'

LANG = IfStr('e','t',top.cLang==1)

cDayNames = ['So','Mo','Di','Mi','Do','Fr','Sa'];
cMonthNames = ['Jan','Feb','Mrz','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez'];
function cMonthDays (M, Y) {
  var a = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
  a = a[M]
  if (M == 1 && (Y % 4) == 0 && ((Y % 100) != 0 || (Y % 400) == 0)) a += 1
  return a
}

function GoToHome () {
  top.frames[0].document.location.href = '../home/kopf.htm'
  top.frames[1].document.location.href = '../home/navi.htm'
  top.frames[2].document.location.href = '../home/home.htm'
}
function ChangeLang () {
  top.cLang = (top.cLang > 0) ? 0 : 1
  GoToHome()
}
function UpdateLang () {
  var L = document.getElementsByName('LANG'+top.cLang)
  for (var i=0; i<L.length; i++) L[i].style.display=''
}
function DrawBuy (i) {
  if (i.toString().indexOf('-') > 0) {
    var d = i.split('-')
    d = GetSpecialArtikel(d[0], d[1])
  } else
    var d = Data[i]
  var c = (d[4] != 'a.A.')
  var p = (c) ? ToFmt(d[4], 2) : d[4]
  var S = ''
  if (cDrawBez)
    S = '<TD class="cellborder" valign="top"'+IfStr(' bgColor="#FFFFF0"','',d[0]=='ZB')+'>' + d[2] + '<BR><img id="LIMG'+i+'" name="LIMG'+i+'" src="../sys/media/graphic/'+d[1]+'.jpg" style="display:none" onMouseOut="document.getElementById(\'LIMG'+i+'\').style.display=\'none\'">'
  if (top.cLang==1 && cDrawBez)
    S += '<DIV class="text1" style="width:100%; border:1px solid #379D8E; display:none; padding:5px; margin:5px; background-color:#DDDDDD;"></DIV>'
  S += '</TD>'+
       '<TD class="cellborder" align="right" valign="top" style="color:' + IfStr('#FF0000','#0000FF',c) + '"><nobr>' + p + IfStr(' &euro; <IMG SRC="../sys/media/graphic/stern.gif" border="0" title="'+cKaufenVers+'">','',c) + '</TD>'+
       '<TD class="cellborder" valign="top"><nobr>'+
           '<INPUT type="text" value="" title="'+cKaufenInp+'" style="width:30px;text-align:right;font-size:8pt;">'+
           '&nbsp;<A href="#" onClick="GetArtikel(this,[\''+d[0]+'\',\''+d[1]+'\',\''+d[2]+'\',\''+d[3]+'\',\''+d[4]+'\']);return false;"><img src="../sys/media/graphic/'+IfStr('ok','ask',c)+'.gif" border="0" title="'+cKaufenAlt+'"></A>'
  if (top.cLang==1 && cDrawBez)
    S += '&nbsp;<A href="#" onClick="GetCorrection(this,[\''+d[0]+'\',\''+d[1]+'\',\''+d[2]+'\',\''+d[3]+'\',\''+d[4]+'\']);return false;"><img src="../sys/media/graphic/cor.gif" border="0" title="'+cCorrectionAlt+'"></A>'
  return S + '</TD>'
}
function FindInheritedTagElement (e, t) {
  while (e != null && e.tagName != t && e.tagName != 'BODY')
    e = e.parentNode
  if (e && e.tagName == t)
    return e
  return null
}
function GetArtikel (e, d) {
  var p = FindInheritedTagElement(e, 'TD')
  if (p) {
    p = p.getElementsByTagName('INPUT')
    if (p) {
      p = p[0]
      var P = ToFloat(p.value,0)
      if (P > 0) {
        var Q = top.Bst[d[1]]
//        if (Q) Q[0] += P; else top.Bst[d[1]] = [P, d[4], d[2], document.getElementById('PAGETITLE').innerHTML]
        if (Q) Q[0] += P; else top.Bst[d[1]] = [P, d[4], d[2], document.title]
      }
      p.value = ''
    }
  }
}
function GetArtikelA (c, d) {
  var Q = top.Bst[d[1]]
  if (Q) Q[0] += c; else top.Bst[d[1]] = [c, d[4], d[2], '']
}
function CloseCorrection () {
  if (Corr) {
    Corr.style.display = 'none'
    Corr.innerHTML = ''
    Corr = null
  }
}
function GetCorrection (e, d) {
  CloseCorrection()
  var p = FindInheritedTagElement(e, 'TR')
  if (p) {
    p = p.getElementsByTagName('DIV')
    if (p) {
      Corr = p[0]
      Corr.innerHTML =
        '<FORM id="CORRFORM">'+
	'<INPUT type="hidden" name="param" value="MOTZKE">'+
	'<INPUT type="hidden" name="parameter" value="INNERHTML">'+
	'<INPUT type="hidden" name="options" value="2">'+
	'<INPUT type="hidden" name="artref" value="'+d[1]+'">'+
	'<INPUT type="hidden" name="subject" value="'+d[2]+'">'+
        '<B>Give in your correction of article term in English - you will take part in our annual <A class="norm" href="raffle.htm" target="katr">raffle</A>! Thank you.<BR>'+
        '<IMG src="../sys/media/graphic/dist.gif" height="10"><BR>'+
        'correction:<BR>'+
        '<TEXTAREA name="template" style="width:100%; height:40px; color:#FF0000">'+d[2]+'</TEXTAREA><BR>'+
        'your e-mail adress:<BR>'+
        '<INPUT name="sendenan" type="text" value="" style="width:100%;"><BR>'+
        '<IMG src="../sys/media/graphic/dist.gif" height="10"><BR>'+
        '<A href="#" class="button1" onClick="CloseCorrection();return false;">Close</A> <A href="JavaScript:FormSend(document.forms[\'CORRFORM\'])" class="button1">Send</A><BR>'+
        '<IMG src="../sys/media/graphic/dist.gif" height="6"></B>'+
        '</FORM>'

      Corr.style.display = ''
    }
  }
}
function GoKreis (e, i) {
  var B = document.getElementById('IBIG')
  var I = document.getElementById('IKREIS')
  var C = e.getAttribute('coords',0)
  C = C.split(',')
  I.style.left = ToInt(C[0]) + GGPP(B, 0)
  I.style.top = ToInt(C[1]) + GGPP(B, 1)
  cDrawBez = false
  I.innerHTML = '<TABLE cellpadding"5" cellspacing="0" border="0" width="220" class="tableborder" bgColor="#EEEEEE">'+
                  '<TR><TD class="cellborder" valign="top" width="100%"><nobr>Nr.: '+Data[i][1]+'</TD>'+DrawBuy(i)+'</TR>'+
                  '<TR><TD class="cellborder" valign="top" colspan="3">'+Data[i][2]+'</TD></TR>'+
                '</TABLE>'
  cDrawBez = true
  I.style.display = ''
  return false
}
function ShowImage () {
  var E = document.getElementById('IMAGEBIG')
  if (E) {
    E.style.display = IfStr('','none', E.style.display == 'none')
    var Et = document.getElementById('ITITLE')
    Et.innerHTML = IfStr(cBildEin,cBildAus,E.style.display == 'none')
  }
}

var NSUMaerkte = [
  ['Augsburg','16. - 17. Jan 2010'],
  ['Kassel','20. - 21. Feb 2010'],
  ['Hamm','06. - 07. Mär 2010'],
  ['Brokstedt','03. Apr 2010'],
  ['Ludwigshafen','24. - 25. Apr 2010'],
  ['Mühldorf','25. Apr 2010'],
  ['Ulm','01. - 02. Mai 2010'],
  ['Rosenheim','03. - 04. Jul 2010'],
  ['Mannheim','09. - 10. Okt 2010']
]

var NSUModell = [
  ['1960 Nov. Ouickly N S L Cav T TT', ['02','03','04','05','06','07']],
  ['1960 Nov. Ouickly N', ['02','02-1','02-2']],
  ['1960 Nov. Ouickly S', ['03']],
  ['1960 Nov. Ouickly L', ['04','04-1']],
  ['1960 Nov. Ouickly Cav', ['05','05-1']],
  ['1960 Nov. Ouickly T', ['06']],
  ['1960 Nov. Ouickly TT', ['07']],
  ['1961 Apr. Ouickly TT/K S/2', ['08','12']],
  ['1962 Okt. Ouickly N S S/23 F', ['13','12','11']],
  ['1962 Okt. Ouickly N', ['02']],
  ['1962 Okt. Ouickly S', ['11']],
  ['1962 Okt. Ouickly S/23', ['12']],
  ['1962 Okt. Ouickly F', ['13']],
  ['1936 Mai. Ouick', ['14','16']],
  ['1936-1950 Ouick', ['15','16']],
  ['1951 Apr. Ouick', ['15','16']],
  ['1952 Jun. Ouick', ['17','16']],
  ['1953 Aug. Ouick', ['17','16']],
  ['1954 Feb. Fox 2-Takt', ['19','19-1']],
  ['1954 Feb. Fox 4-Takt', ['20']],
  ['1956 Apr. Super-Fox', ['21']],
  ['vor 1950 125 ZDB', ['22','22-1']],
  ['1935 Nov. 201 ZDB', ['23']],
  ['1935-1937 201 ZDB (NT 1935-37)', ['24','24-1','24-2']],
  ['1934 Okt. 201 ZD Pony', ['25','25-1']],
  ['1937 Apr. 201/251 OSL 351 OT', ['26','26-1']],
  ['1938 251 OSL (Wehrmacht)', []],
  ['1950 Jun. 251 OSL (NT Dez. 1953)', ['28','28-1','28-2']],
  ['1938 351/501 OSL (NT 1937-1940)', ['29','29-1']],
  ['1939 Jul. 601 OSL', ['30','30-1']],
  ['1956 Mai. Prima D', ['31','31-1']],
  ['1962 Feb. Prima III K III V', ['35','34','33']],
  ['1962 Feb. Prima III K', ['33','33-1']],
  ['1962 Feb. Prima III', ['34','34-1','34-2','34-3']],
  ['1962 Feb. Prima V', ['35','35-1','35-2','35-3','35-4']],
  ['1962 Feb. Max (Std. Spez. Super)', ['36','36-1','36-2','36-3','36-4','36-5']],
  ['1957 Apr. Maxi', ['37']],
  ['1952 Jan. Lux', ['38']],
  ['1957 M&auml;r. Lux Superlux', ['39']],
  ['1951 Sep. Konsul 351/501 OST', ['40']],
  ['1955 Mai. Lambretta', ['41']],
  ['Fox 4-Takt 3 Gang', []],
  ['1937 Nov. Pony 100', ['43','43-1']]
]

function TrimLeft (s) { return s.replace(/^\s*/g,'') }
function TrimRight (s) { return s.replace(/\s*$/g,'') }
function Trim (s) { return TrimRight(TrimLeft(s)) }

function IsStr(s) { return (s == 'undefined' || typeof(s) == 'undefined' || s == null) ? false : true }
function ChkStr(s) { return (IsStr(s)) ? s : '' }
function nbspStr(s) { return (IsStr(s)) ? s : '&nbsp;' }
function IfStr(s1, s2, b) { return (b) ? s1 : s2 }

function GGPP(e, a) {
  var x = (a == 1) ? e.offsetTop : e.offsetLeft
  if (document.all) x += (a == 1) ? (e.clientTop - e.scrollTop) : (e.clientLeft - e.scrollLeft)
  if (e.offsetParent != null && e.offsetParent.tagName != 'BODY')
    x += GGPP(e.offsetParent, a)
  return x
}
function ToNum (s, d) {
  if (!s) return (d) ? d : 0
  var k = s.toString()
  while (k.length>0 && k.charAt(0)=='0')
    k = k.substr(1,k.length)
  var r = ''
  for (var i = 0; i < k.length; i++)
    if ((k.charAt(i) >= '0' && k.charAt(i) <= '9') || k.charAt(i) == '.' || k.charAt(i) == ',' || k.charAt(i) == '-')
      r += k.charAt(i)
    else if (r != '')
      break
  if (r == '')
    return (d) ? d : 0
  r = r.replace(/,/g,'.')
  if (r == '-' || r == '.')
    return 0
  return r
}
function ToFloat (s, d) { return parseFloat(ToNum(s, d)) }

if (window.Event)
 document.captureEvents(Event.MOUSEUP)
function nocontextmenu(){
 event.cancelBubble = true
 event.returnValue = false
 return false
}
function norightclick(e) {
 if (window.Event) {
  if (e.which == 2 || e.which == 3)
   return false;
  } else if (event.button == 2 || event.button == 3) {
   event.cancelBubble = true
   event.returnValue = false
   return false
  }
}
if (document.layers)
 document.captureEvents(Event.MOUSEDOWN);
//document.oncontextmenu = nocontextmenu;
//document.onmousedown = norightclick;
//document.onmouseup = norightclick;

function ToInt (s, d) { return parseInt(ToNum(s, d)) }
function ToFmt (s, c) {
  var S = ToFloat(s, 0).toString()
  if (S.toFixed) return S.toFixed(c)
  if (c <= 0)
    return parseInt(S).toString()
  var i = S.indexOf('.')
  if (i > 0) {
    var ii = i
    i = S.substr(i, S.length)
    S = S.substr(0, ii)
  } else i = '.'
  i += '000000000000'
  S += i.substr(0, (c + 1))
  return S
}
function ToDecimal (s, c) { return parseFloat(ToFmt(s, c)) }
function ToCurrency (s) { return ToDecimal(s, 2) }


function SELECTcreate (aName, aMultiple, aSize, aClass, aStyle, aEvents, aOptions, aArr) {
  return '<select' +
	    IfStr(' name="' + aName + '"', '', aName != null) +
	    IfStr(' multiple', '', aMultiple) +
	    IfStr(' size="' + aSize + '"', '', aSize != null) +
	    IfStr(' class="' + aClass + '"', '', aClass != null) +
	    IfStr(' style="' + aStyle + '"', '', aStyle != null) +
	    IfStr(' ' + aEvents, '', aEvents != null) +
	  '>' + IfStr(aOptions, '', aOptions != null) + '</select>'
}
function SELECTclear (e) {
  if (e)
    e.innerHTML = ''
}
function SELECTadd (e, aIndex, aValue, aText, aStyle) {
  var o = document.createElement('OPTION')
  SELECTassignoption(o, aValue, aText, aStyle)
  if (aIndex != null)
    if (aIndex < 0)
      e.options.add(o, e.selectedIndex)
    else e.options.add(o, aIndex)
  else e.options.add(o)
}
function SELECTaddOptionArray (e, a, c) {
  if (e != null && a != null) {
    if (c)
      SELECTclear(e)
    for (var i = 0; i < a.length; i++)
      SELECTadd(e, null, i, a[i], null)
  }
}
function SELECTvalue (e, aIndex) {
  if (aIndex == null) aIndex = e.selectedIndex
  if (aIndex >= 0 && aIndex < e.options.length) return e.options[aIndex].value; else return ''
}
function SELECTsetvaluesel (e, v) {
  for (var i = 0; i < e.options.length; i++)
    if (SELECTvalue(e, i) == v)
      e.selectedIndex = i
}
function SELECTassignoption (o, aValue, aText, aStyle) {
  if (o != null) {
    o.value = aValue
    o.text = aText
    o.style.cssText = aStyle
  }
}
function SELECTassignoptionO (o, O) {
  if (o != null && O != null)
    SELECTassignoption(o, O.value, O.text, O.style.cssText)
}
function SELECTassign (f, t, d) {
  if (f != null && t != null) {
    SELECTclear(t)
    for (var i = 0; i < f.options.length; i++) {
      var o = d.createElement('OPTION')
      SELECTassignoptionO(o, f.options[i])
      t.options.add(o)
    }
  }
}
function SELECTsetindexsel (e, aIndex) {
  if (aIndex >= 0 && aIndex < e.options.length) {
    e.selectedIndex = aIndex
    return true
  }
  return false
}
function SELECTtext (e, aIndex) {
  if (aIndex == null) aIndex = e.selectedIndex
  if (aIndex >= 0 && aIndex < e.options.length) return e.options[aIndex].text; else return ''
}
function SELECTsettextsel (e, aText) {
  for (var i = 0; i < e.options.length; i++)
    if (SELECTtext(e, i) == aText)
      e.selectedIndex = i
}

function ArrayToForm (aForm, aData) {
  if (aForm && aForm.elements && aData)
    for (var i = 0; i < aForm.elements.length; i++) {
      var e = aForm.elements[i]
      var n = e.name.toUpperCase()
      var p = n.indexOf('_')
      if (p > 0) n = n.substr(p + 1, n.length)
      var t = e.type.toUpperCase()
      var d = ChkStr(aData[n])
      if (t.indexOf('SELECT') != -1) { if (window.SELECTsettextsel) SELECTsettextsel(e, d) } else
      if (t.indexOf('CHECKBOX') != -1) { e.checked = (d == e.value) } else
      if (t.indexOf('RADIO') != -1) { e.checked = (d == e.value) } else
        e.value = d
    }
}
function FormToArray (aForm) {
  var r = []
  if (aForm && aForm.elements)
    for (var i = 0; i < aForm.elements.length; i++) {
      var e = aForm.elements[i]
      var n = e.name.toUpperCase()
      var p = n.indexOf('_')
      if (p > 0) n = n.substr(p + 1, n.length)
      var t = e.type.toUpperCase()
      if (t.indexOf('SELECT') != -1) { if (window.SELECTtext) r[n] = SELECTtext(e) } else
      if (t.indexOf('CHECKBOX') != -1) { r[n] = (e.checked) ? e.value : '' } else
      if (t.indexOf('RADIO') != -1) { if (e.checked) r[n] = e.value } else
	r[n] = e.value
    }
  return r
}
function OpenTag (t, ta) {
  return '<' + ta.toUpperCase() + t.toUpperCase() + '>'
}
function CloseTag (t, ta) {
  return '</' + ta.toUpperCase() + t.toUpperCase() + '>'
}
function MakeTag (t, s, ta) {
  return OpenTag(t, ta) + s + CloseTag(t, ta)
}
function EdgeTag (t, s) {
  var p = t.toString()
  var a = []
  if (IsStr(s)) {
    a['L'] = s.search(new RegExp(OpenTag(p, ''),'gi'))
    a['RI'] = s.search(new RegExp(CloseTag(p, ''),'gi'))
    a['LI'] = a['L'] + p.length + 2
    a['R'] = a['RI'] + p.length + 3
    a['?'] = (a['RI'] >= 0 && a['RI'] >= a['LI'])
  }
  return a
}
function GetTag (t, s) {
  var a = EdgeTag(t, s)
  return (a['?']) ? s.substring(a['LI'], a['RI']) : ''
}
function ArrayToTags (a, ta) {
  var r = ''
  for (var i in a)
    if (typeof(a[i]) != 'function')
      r += MakeTag(i, ChkStr(a[i]), ta)
  return r
}
function TagsToArray (a, chkE) {
  var r = []
  var i = 0
  do {
    i = a.indexOf('<', i)
    if (i != -1) {
      i++
      var j = a.indexOf('>', i)
      if (j >= i) {
	var t = a.substring(i, j).toUpperCase()
	var k = t.indexOf('/')
	if (k < 0) {
	  var s = ChkStr(GetTag(t, a))
	  i += s.length + (t.length * 2) + 4
	} else {
	  var t = Trim(t.substr(0, k))
	  var s = ''
	  i = j + 1
	}
	if (chkE) s = IfStr(s, ' ', s != '')
	r[t] = s
      }
    }
  } while (i >= 0 && i < a.length)
  return r
}
function FormSend (aForm) {
  if (CheckFormularBeforeTransmit(aForm)) {
    aForm.method = 'POST'
    aForm.action = cCgiProg
    aForm.encoding = 'multipart/form-data'
    aForm.submit()
  }
}
function CheckFormularBeforeTransmit (aForm, aField) {
  for (var i = 0; i < aForm.elements.length; i++) {
    var e = aForm.elements[i]
    var n = e.name
    var v = e.value
    if (!IsStr(aField) || aField == e.name)
      if ( ( n.indexOf('EMAIL_') == 0 && !v.match(/^[\w+\.?\-\_]*\w+@\w+[\.?\w+\-\_]*.\w{2,}$/) ) ||
           ( n.indexOf('DATE_') == 0 && !CheckDate(v) ) ||
           ( n.indexOf('INT_') == 0 && !v.match(/^\d+$/) ) ||
           ( n.indexOf('FLOAT_') == 0 && !v.match(/^\d*[\.,]\d*$/) ) ||
           ( n.indexOf('E_') == 0 && !v.match(/.+/) ) ||
           ( n.indexOf('LEN_') == 0 && !v.match('/.{' + n.substr(4, n.indexOf('_', 4) - 4) + '}/') ) )
      { e.focus()
        alert('Bitte einen korrekten Wert engeben!')
        return false
      }
  }
  return true;
}

