From: Subject: Test report Mac Para Envy 30 Date: Sat, 14 Oct 2006 21:20:21 +0100 MIME-Version: 1.0 Content-Type: multipart/related; type="text/html"; boundary="----=_NextPart_000_001A_01C6EFD6.8E2DE4D0" X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2962 This is a multi-part message in MIME format. ------=_NextPart_000_001A_01C6EFD6.8E2DE4D0 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.macpara.com/padaky/images/envy/test/test_report_mac_para_envy_30.htm Test report Mac Para Envy 30

 =20 =
Test report DHV 03 Mac Para = Envy 30=20
Type Mac Para Envy=20 30
Certificate-No DHV = GS-01-1560-06
Holder of = certificate Skyline=20 Flight Gear GmbH & Co. = KG
Manufacturer MAC Para Technology = ltd
Classification 2 GH
Winch tow Yes
Number of seats min / = Number of=20 seats max 1 / 1
Accelerator? Yes
Trimmers? No
  Behaviour at = min weight=20 in flight(100 Kg) Behaviour at = max weight=20 in flight(130 Kg)
Take off 1-2 1-2
Inflation evenly, immediately = evenly, immediately =
Rising behaviour immediately comes over = pilot=20 immediately comes over = pilot=20
Take off speed average average
Take off handling = easy easy
Straight flight 1-2 1-2
Roll damping average average
Turn handling 1-2 1-2
Spin tendency slight slight
Control travel average average
Agility average average
Symmetric stall 1-2 1-2
Deep-stall limit average 60 cm - 75 cm = average 60 cm - 75 cm =
Full stall limit average 65 cm - 80 cm = average 65 cm - 80 cm =
Increase in steering = power high high
Front collapse 1-2 1-2
Pre-acceleration average average
Opening behaviour = spontaneous, delayed = spontaneous, delayed =
 
Asymmetric collapse = 1-2 1-2
Turn tendency 90 - 180 degrees 90 - 180 degrees =
Change of course 90 - 180 degrees 90 - 180 degrees =
Rate of turn average average
with deceleration =
Max. roll/pitch angle = less than 45 degrees = less than 45 degrees =
Loss of altitude average average
Stabilization spontaneous spontaneous
Opening behaviour = spontaneous spontaneous
 
Countersteering an = asymmetric=20 collapse 1-2 1
Stabilization countersteering easy = countersteering easy =
Control travel average average
Control pressure = increase average average
Turn in opposite = direction easy, no tendency to = stall easy, no tendency to = stall=20
Opening behaviour = spontaneous, quickly = spontaneous, quickly =
 
Full stall, symm. exit = 1-2 1-2
Spin out of straight = flight 1-2 1-2
Spin out of turn 1-2 1-2
Spiral dive 1-2 1-2
Entry easy easy
Spin tendency slight slight
Exit turn continues through = < 180=20 degrees turn continues through = < 180=20 degrees
Sink rate after 720 = =B0[m/s] 11 11
B-line stall 1 1
Entry easy easy
Exit spontaneous spontaneous
Big ears 1 1
Entry easy easy
Recovery spontaneous, quickly = spontaneous, quickly =
Landing 1-2 1-2
Landing behaviour = easy easy
Front collapse = (accelerated)=20 2 1-2
Pre-acceleration slight slight
Opening behaviour = not spontaneously spontaneous, delayed =
  symmetrically = activating the=20 controls
Asymmetric collapse = (accelerated)=20 1-2 1-2
Turn tendency 90 - 180 degrees 90 - 180 degrees =
Change of course 90 - 180 degrees 90 - 180 degrees =
Rate of turn average average
with deceleration with deceleration =
Max. roll/pitch angle = less than 45 degrees = less than 45 degrees =
Loss of altitude average average
Stabilization spontaneous spontaneous
Opening behaviour = spontaneous spontaneous
 
Big ears = accelerated 1 1
Entry easy easy
Recovery spontaneous, quickly = spontaneous, quickly =
Supplementary remarks =
------=_NextPart_000_001A_01C6EFD6.8E2DE4D0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.macpara.com/padaky/images/envy/test/envy%2030/technischedaten.gif R0lGODlhbAAUAOZZAO/y9f39/ePo7vT2+Pn6+5OdutDZ4pCcuVJkkoWSsrrB04iVtIuXtk9hkNfc 5lFjkVNlk46auFVmlN/i6ra+0cDG1yc9d73E1TZKgK23zDdLgXF/pbK7z5ifp6KrxCg9d0ZYitvf 6FxtmcTL2s7V4LG5ze7v82RznW9+pOzv88/U4IqWtdbc5YKOsEFViL+/v9zh6f7+/q63zHeGqvv7 /ENWiPf4+qCrw+rt8uXp752jqre4uqOorsDI2KqusqSvxnOBpru7vL6+vp+pw/P1+LO1uJmkv8jO 3ISSskRXibrC1JKeuzVJgLS80K+ytSY8d5ynwcrU37vD1Oru8tHa45efp9ng6Bkwbv///wAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5 BAEAAFkALAAAAABsABQAAAf/gFmCg4SFhoeIiYqLjI2Oj5CRkpOUlZaXmJmFV5ydnp+goaKjpKWm p6CKV1isra6vsLGys7S1trewV4iruL2+v8C+L7qHvMHHyMm3w7sxAc/QBdIFExPT0CUFFQEe2xUe ARUFz+MB1AEm0ibPKgXg1uQT5tLy7NIl0On41tce0t7lykF7JoSYoSs0CChceECChgMhLlw5cEAh CAkHZBDASKBhx4kErii8coEAiBMtcBBo8bCixJElrwCByPChhhMKh3wAQSDEAQ0cJWAseQCkyIUL gxjcZGOA06cDIkBwquCKAgUDoGCACmGDgg1TpX5wcMWp1QEfNjgYQHYtVatV/7FeiaAgx1OpbK8c GbAhwhW3ECI47apgrViyUJ/uWEroChEAkCMDYIAAMoUrCCpTlowAQ2fNlFFcgXyFAoARCCyMuCz5 cubSAK4kQTAi8ubYpi0wwMAAMoLeAD4bmRx6tGTIRRgPGp1iivPnCx4453BlSvMeV5pMgTHlwYop 0aesWEDCQvUpVzhMITGlxoIpFt5zp+48PXr1z8FLX2Bhyo8rDzAhXXfvEQgdeebl95wTyglSnQAQ RihAAg1AmEEnGQiwhAtXJCBAAx5SKAASIV4B4RUZcigCCwJI0cAVFV54YoadeAhhAlc8IYISAswg ggA3XMEiiBC+COOEJUoYoXMPDWZhohVQRinllFRWaeWVWGap5ZZT8tDkFVSEKeaYVBhApgFojmmm mmWKuWabbMYJ55xvmlmnm3K+GeaaBujwZRRVBCrooB0MKmihhh6a6KKMNroooo5GmmiTDqJi6aWY ZnqpJpx26umnoIYq6qikZhIIADs= ------=_NextPart_000_001A_01C6EFD6.8E2DE4D0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.macpara.com/padaky/images/envy/test/envy%2030/drucken.gif R0lGODlhRgAUAMQfAFtsmM7U4IqWtbm6u8jO3Ovu8ic9d7zD1JGcud7i6uPo7q22zKStwv39/fT2 +ERXiW5+pJ+ovbK7zzZKgPn6+7a+0YKPsJ2jqlFjktHa45efp9ng6O/y9Rkwbv///wAAACH5BAEA AB8ALAAAAABGABQAAAX/4CeOZGmeaKqu7Ne98NvOdE12Xq53du+XMd0uRiwaj0ikCpdjCp3CqHRK rUp5Jybs+rJ6v98B1qT1QJtmsHqtE6M6jQbunH7FJQhEIB7I7xsICQ0MB3EJeQWACX0FB3kMDYeC DIINblkUFHNGZh2ZGBgWBggUCBMIBguaBxQYpAsGFhaZHQcPs6YIERQHHQCtrBSXZBQOdE8Oya4O EQYOCA8HEwvGBw7LExHJyR0YD8nQBwQOtqkY1g7DQA4cSS8c8BgCHBUdHAIGDxPwHRUc8u38wWtn YIKCewZC0ZM3AYNAdTc4FChwzMzEifISAABQQACGBB0YFHggIMEEkRsTgiSY2EECyY4YLkqI+aDl RIgjOhRQoCAJT54YOkyAkEGBBQwKAEBQsGCCgaUKMgAwYKBohwULalmAwRRp1gU8GYwBomCD2bNo 06pdy7at27MXxt7IQLeu3bt48+rdy9du3DcBNAgeTLiw4cOIEyseLBeIu8eQIx/5Qbmy5cuYM2ve HAIAOw== ------=_NextPart_000_001A_01C6EFD6.8E2DE4D0 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.macpara.com/padaky/images/envy/test/envy%2030/dhvde2_2003.css BODY { FONT-SIZE: 8pt; MARGIN: 14px 0px 0px 11px; VERTICAL-ALIGN: top; COLOR: = #29345a; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; = BACKGROUND-COLOR: #ffffff; TEXT-ALIGN: justify } A:link { COLOR: #3d5a9c } A:visited { COLOR: #3d5a9c } A:hover { COLOR: #296cd1 } A:active { COLOR: #296cd1 } A { TEXT-DECORATION: underline } SELECT { FONT-SIZE: 8pt; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif } INPUT { FONT-SIZE: 8pt; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif } TEXTAREA { FONT-SIZE: 8pt; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif } BUTTON { BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; COLOR: #ffffff; = BORDER-BOTTOM: 0px; BACKGROUND-COLOR: #ffffff } H1 { MARGIN-TOP: 10px; FONT-WEIGHT: 900; FONT-SIZE: 12px; MARGIN-BOTTOM: = 8px; MARGIN-LEFT: 0px; TEXT-TRANSFORM: uppercase; COLOR: #29345a; = LINE-HEIGHT: 1.6em; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; = LETTER-SPACING: 0.2em; TEXT-ALIGN: left } H2 { MARGIN-TOP: 10px; FONT-WEIGHT: 900; FONT-SIZE: 12px; MARGIN-BOTTOM: = 8px; MARGIN-LEFT: 0px; COLOR: #29345a; LINE-HEIGHT: 1.6em; FONT-FAMILY: = Verdana, Arial, Helvetica, sans-serif; LETTER-SPACING: 0.1em; = TEXT-ALIGN: left } H3 { MARGIN-TOP: 9px; FONT-WEIGHT: bolder; FONT-SIZE: 11px; MARGIN-BOTTOM: = 7px; MARGIN-LEFT: 0px; COLOR: #29345a; LINE-HEIGHT: 1.3em; FONT-FAMILY: = Verdana, Arial, Helvetica, sans-serif; LETTER-SPACING: 0.05em; = TEXT-ALIGN: left } H4 { MARGIN-TOP: 7px; FONT-WEIGHT: bold; FONT-SIZE: 11px; MARGIN-BOTTOM: = 5px; MARGIN-LEFT: 0px; COLOR: #29345a; LINE-HEIGHT: 1.3em; FONT-FAMILY: = Verdana, Arial, Helvetica, sans-serif; TEXT-ALIGN: left } TD { FONT-SIZE: 8pt; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif } .gebraucht { FONT-WEIGHT: bold; FONT-SIZE: 7pt; COLOR: #ffffff; LETTER-SPACING: = 0.1em; TEXT-ALIGN: center } .gebraucht A:link { FONT-WEIGHT: bold; FONT-SIZE: 7pt; COLOR: #ffffff; TEXT-DECORATION: = none } .gebraucht A:active { FONT-WEIGHT: bold; FONT-SIZE: 7pt; COLOR: #ffffff; TEXT-DECORATION: = none } .gebraucht A:hover { FONT-WEIGHT: bold; FONT-SIZE: 7pt; COLOR: #ffffff; TEXT-DECORATION: = none } .gebraucht A:visited { FONT-WEIGHT: bold; FONT-SIZE: 7pt; COLOR: #ffffff; TEXT-DECORATION: = none } .captionangebot { PADDING-LEFT: 35px; FONT-WEIGHT: 900; FONT-SIZE: 15px; PADDING-BOTTOM: = 0px; TEXT-TRANSFORM: uppercase; COLOR: #19306e; LINE-HEIGHT: 11px; = PADDING-TOP: 20px; LETTER-SPACING: 0.1em } .captionsuche { PADDING-LEFT: 35px; FONT-WEIGHT: 900; FONT-SIZE: 15px; PADDING-BOTTOM: = 0px; TEXT-TRANSFORM: uppercase; LINE-HEIGHT: 11px; PADDING-TOP: 20px; = LETTER-SPACING: 0.1em } .caption1 { FONT-WEIGHT: 900; FONT-SIZE: 12px; TEXT-TRANSFORM: uppercase; COLOR: = #29345a; LINE-HEIGHT: 1.6em; FONT-FAMILY: Verdana, Arial, Helvetica, = sans-serif; LETTER-SPACING: 0.2em; TEXT-ALIGN: left } .caption2 { MARGIN-TOP: 10px; FONT-WEIGHT: 900; FONT-SIZE: 12px; MARGIN-BOTTOM: = 8px; MARGIN-LEFT: 0px; COLOR: #29345a; LINE-HEIGHT: 1.6em; FONT-FAMILY: = Verdana, Arial, Helvetica, sans-serif; LETTER-SPACING: 0.1em; = TEXT-ALIGN: left } .caption3 { MARGIN-TOP: 9px; FONT-WEIGHT: bolder; FONT-SIZE: 11px; MARGIN-BOTTOM: = 7px; MARGIN-LEFT: 0px; COLOR: #29345a; LINE-HEIGHT: 1.3em; FONT-FAMILY: = Verdana, Arial, Helvetica, sans-serif; LETTER-SPACING: 0.05em; = TEXT-ALIGN: left } .caption4 { MARGIN-TOP: 7px; FONT-WEIGHT: bold; FONT-SIZE: 11px; MARGIN-BOTTOM: = 5px; MARGIN-LEFT: 0px; COLOR: #29345a; LINE-HEIGHT: 1.3em; FONT-FAMILY: = Verdana, Arial, Helvetica, sans-serif; TEXT-ALIGN: left } .clcaption { FONT-WEIGHT: 900; FONT-SIZE: 12px; TEXT-TRANSFORM: uppercase; COLOR: = #29345a; LINE-HEIGHT: 1.6em; FONT-FAMILY: Verdana, Arial, Helvetica, = sans-serif; TEXT-ALIGN: left } .sectioncaption { FONT-WEIGHT: bold; FONT-SIZE: 8pt; COLOR: white; FONT-FAMILY: Verdana, = Arial, Helvetica, sans-serif; BACKGROUND-COLOR: #1b3071 } .dashed { MARGIN-TOP: 9px; FONT-WEIGHT: bolder; FONT-SIZE: 11px; MARGIN-BOTTOM: = 7px; MARGIN-LEFT: 15px; BORDER-LEFT: #1b3071 1px dashed; COLOR: #29345a; = LINE-HEIGHT: 1.3em; BORDER-BOTTOM: #1b3071 1px dashed; FONT-FAMILY: = Verdana, Arial, Helvetica, sans-serif; LETTER-SPACING: 0.05em; = BACKGROUND-COLOR: #ffffff; TEXT-ALIGN: left } .grey { MARGIN-TOP: 9px; FONT-WEIGHT: bolder; FONT-SIZE: 11px; MARGIN-BOTTOM: = 7px; MARGIN-LEFT: 15px; COLOR: #29345a; LINE-HEIGHT: 1.3em; FONT-FAMILY: = Verdana, Arial, Helvetica, sans-serif; LETTER-SPACING: 0.02em; = BACKGROUND-COLOR: #c1c1cb; TEXT-ALIGN: left } .listcaption A:link { FONT-WEIGHT: bold; COLOR: #ffffff; TEXT-DECORATION: none } .listcaption A:active { FONT-WEIGHT: bold; COLOR: #ffffff; TEXT-DECORATION: none } .listcaption A:hover { FONT-WEIGHT: bold; COLOR: #ffffff; TEXT-DECORATION: none } .listcaption A:visited { FONT-WEIGHT: bold; COLOR: #ffffff; TEXT-DECORATION: none } .listcaption { FONT-WEIGHT: bold; FONT-SIZE: 8pt; COLOR: white; FONT-FAMILY: Verdana, = Arial, Helvetica, sans-serif; BACKGROUND-COLOR: #1b3071; TEXT-ALIGN: = left } .oddrow { FONT-SIZE: 8pt; COLOR: #29345a; FONT-FAMILY: Verdana, Arial, Helvetica, = sans-serif; BACKGROUND-COLOR: #ffffff } .evenrow { FONT-SIZE: 8pt; COLOR: #29345a; FONT-FAMILY: Verdana, Arial, Helvetica, = sans-serif; BACKGROUND-COLOR: #e3e9f9 } .recordcaption { FONT-WEIGHT: bold; FONT-SIZE: 8pt; TEXT-TRANSFORM: uppercase; COLOR: = white; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; = LETTER-SPACING: 1px; BACKGROUND-COLOR: #1b3071; TEXT-ALIGN: left } TD.recordcaption { PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; = PADDING-TOP: 2px } .recordcaption1 { FONT-WEIGHT: bold; FONT-SIZE: 8pt; TEXT-TRANSFORM: uppercase; COLOR: = white; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; = LETTER-SPACING: 1px; BACKGROUND-COLOR: #1b3071; TEXT-ALIGN: left } .recordcaption2 { FONT-WEIGHT: bold; FONT-SIZE: 8pt; TEXT-TRANSFORM: uppercase; COLOR: = white; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; = LETTER-SPACING: 1px; BACKGROUND-COLOR: #006666; TEXT-ALIGN: left } .recordcaption3 { FONT-WEIGHT: bold; FONT-SIZE: 8pt; TEXT-TRANSFORM: uppercase; COLOR: = white; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; = LETTER-SPACING: 1px; BACKGROUND-COLOR: #c60000; TEXT-ALIGN: left } .label { FONT-WEIGHT: bold; FONT-SIZE: 8pt; VERTICAL-ALIGN: top; COLOR: #29345a; = FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; TEXT-ALIGN: right } .data { FONT-SIZE: 8pt; MARGIN-LEFT: 0px; VERTICAL-ALIGN: top; COLOR: #29345a; = FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; TEXT-ALIGN: left } .gridcell { BORDER-TOP: #ffffff 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: = 0px; VERTICAL-ALIGN: top; BORDER-RIGHT-WIDTH: 0px } .pagemenu { BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 5px; PADDING-LEFT: 0px; = BORDER-LEFT-WIDTH: 0px; FONT-SIZE: 8pt; BORDER-BOTTOM-WIDTH: 0px; = TEXT-ALIGN: left; BORDER-RIGHT-WIDTH: 0px } TD.pagemenu { TEXT-ALIGN: center } .naviglink { FONT-WEIGHT: bolder; FONT-SIZE: 8pt; COLOR: #1b3071; FONT-FAMILY: = Verdana, Arial, Helvetica, sans-serif; WHITE-SPACE: nowrap; TEXT-ALIGN: = center } .pagelink { FONT-SIZE: 8pt; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; = TEXT-ALIGN: left } .comment { FONT-SIZE: 8pt; COLOR: #1b3071; FONT-FAMILY: Verdana, Arial, Helvetica, = sans-serif } .rownumber { COLOR: #5f5f5f } .filtercaption { FONT-SIZE: 10pt; VERTICAL-ALIGN: bottom; COLOR: #1b3071; FONT-FAMILY: = Verdana, Arial, Helvetica, sans-serif; BACKGROUND-COLOR: #dddddd; = font-stretch: semi-condensed } .filterbody { BACKGROUND-COLOR: #bbbbbb; font-stretch: semi-condensed } .labeltop { FONT-WEIGHT: bold; FONT-SIZE: 8pt; VERTICAL-ALIGN: bottom; FONT-FAMILY: = Verdana, Arial, Helvetica, sans-serif; TEXT-ALIGN: left } .standform { MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; MARGIN-LEFT: 0px } .content { FONT-SIZE: 8pt; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; = BACKGROUND-COLOR: #ffffff; TEXT-ALIGN: justify } .actionmessage { FONT-WEIGHT: bold; COLOR: #ff0000 } .home { FONT-WEIGHT: bolder; FONT-SIZE: 10pt; COLOR: #e3e9f9; FONT-FAMILY: = Verdana, Arial, Helvetica, sans-serif; HEIGHT: 24px; TEXT-ALIGN: left; = TEXT-DECORATION: none } .editform { PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; = PADDING-TOP: 2px; TEXT-ALIGN: justify } .timestamplabel { FONT-WEIGHT: bold; FONT-SIZE: 8pt; VERTICAL-ALIGN: top; COLOR: #ffffff; = FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; TEXT-ALIGN: right } .timestampdata { FONT-SIZE: 8pt; MARGIN-LEFT: 0px; VERTICAL-ALIGN: top; COLOR: #ffffff; = FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; TEXT-ALIGN: left } .bluecaption1 { FONT-WEIGHT: bold; FONT-SIZE: 11px; TEXT-TRANSFORM: uppercase; COLOR: = white; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; = LETTER-SPACING: 1px; BACKGROUND-COLOR: #1b3071; TEXT-ALIGN: left } .bluecaption1 A:link { FONT-WEIGHT: bold; COLOR: #ffffff; TEXT-DECORATION: underline } .bluecaption1 A:visited { FONT-WEIGHT: bold; COLOR: #ffffff; TEXT-DECORATION: underline } .bluecaption1 A:active { FONT-WEIGHT: bold; COLOR: #ffffff; TEXT-DECORATION: underline } .bluecaption1 A:hover { FONT-WEIGHT: bold; COLOR: #ffffff; TEXT-DECORATION: underline } .bluecaption2 { FONT-WEIGHT: normal; FONT-SIZE: 11px; TEXT-TRANSFORM: none; COLOR: = white; LINE-HEIGHT: 16px; FONT-FAMILY: Verdana, Arial, Helvetica, = sans-serif; BACKGROUND-COLOR: #1b3071; TEXT-ALIGN: left } .black { FONT-SIZE: 11px; MARGIN: 0px; VERTICAL-ALIGN: top; COLOR: #000000; = LINE-HEIGHT: 18px; FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; = BACKGROUND-COLOR: #ffffff; TEXT-ALIGN: left } .bluefont { FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #19306e; FONT-FAMILY: = Verdana, Arial, Helvetica, sans-serif } .yellow { FONT-WEIGHT: bold; COLOR: #faff6e } .yellow A:link { FONT-WEIGHT: bold; COLOR: #faff6e } .yellow A:hover { FONT-WEIGHT: bold; COLOR: #faff6e } .yellow A:visited { FONT-WEIGHT: bold; COLOR: #faff6e } .yellow A:active { FONT-WEIGHT: bold; COLOR: #faff6e } .bescheid { FONT-SIZE: 12pt; MARGIN: 0px; VERTICAL-ALIGN: top; COLOR: #000000; = FONT-FAMILY: Arial, Verdana, Helvetica, sans-serif; TEXT-ALIGN: justify } .backgrounddark { BACKGROUND-COLOR: #19306e } .backgroundlight { BACKGROUND-COLOR: #e3e9f9 } .backgroundmiddle { BACKGROUND-COLOR: #8394b3 } .backgroundtop { BACKGROUND-COLOR: #3e4d84 } .submenu { FONT-SIZE: 11px; MARGIN-LEFT: 0px; COLOR: #29345a; MARGIN-RIGHT: 0px; = FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif } .submenu A:link { FONT-WEIGHT: bold; COLOR: #19306e; TEXT-DECORATION: none } .submenu A:visited { FONT-WEIGHT: bold; COLOR: #19306e; TEXT-DECORATION: none } .submenu A:hover { FONT-WEIGHT: bold; COLOR: #ff0000; TEXT-DECORATION: underline } .submenu A:active { FONT-WEIGHT: bold; COLOR: #ff0000; TEXT-DECORATION: underline } .userinfo { FONT-WEIGHT: 900; FONT-SIZE: 7pt; COLOR: #29345a; FONT-FAMILY: Verdana, = Arial, Helvetica, sans-serif } .submenu_t { FONT-WEIGHT: normal; FONT-SIZE: 10px; VERTICAL-ALIGN: middle; COLOR: = #1b3071; LINE-HEIGHT: 1.2em; TEXT-ALIGN: left; TEXT-DECORATION: none } .submenu_t A:link { FONT-WEIGHT: bold; FONT-SIZE: 10px; COLOR: #222c3b; TEXT-DECORATION: = none } .submenu_t A:visited { FONT-WEIGHT: bold; FONT-SIZE: 10px; COLOR: #222c3b; TEXT-DECORATION: = none } .submenu_t A:hover { FONT-WEIGHT: bold; FONT-SIZE: 10px; COLOR: #ffffff; TEXT-DECORATION: = none } .submenu_t A:active { FONT-WEIGHT: bold; FONT-SIZE: 10px; COLOR: #ffffff; TEXT-DECORATION: = none } .submenul2_t { FONT-WEIGHT: normal; FONT-SIZE: 10px; VERTICAL-ALIGN: middle; COLOR: = #1b3071; LINE-HEIGHT: 1.2em; TEXT-ALIGN: left; TEXT-DECORATION: none } .submenul2_t A:link { FONT-WEIGHT: bold; FONT-SIZE: 10px; COLOR: #2d3a4e; TEXT-DECORATION: = none } .submenul2_t A:visited { FONT-WEIGHT: bold; FONT-SIZE: 10px; COLOR: #2d3a4e; TEXT-DECORATION: = none } .submenul2_t A:hover { FONT-WEIGHT: bold; FONT-SIZE: 10px; COLOR: #ffffff; TEXT-DECORATION: = none } .submenul2_t A:active { FONT-WEIGHT: bold; FONT-SIZE: 10px; COLOR: #ffffff; TEXT-DECORATION: = none } .submenul3_t { FONT-WEIGHT: normal; FONT-SIZE: 10px; VERTICAL-ALIGN: middle; COLOR: = #1b3071; LINE-HEIGHT: 1.2em; TEXT-ALIGN: left; TEXT-DECORATION: none } .submenul3_t A:link { FONT-WEIGHT: bold; FONT-SIZE: 10px; COLOR: #3e4f6a; TEXT-DECORATION: = none } .submenul3_t A:visited { FONT-WEIGHT: bold; FONT-SIZE: 10px; COLOR: #3e4f6a; TEXT-DECORATION: = none } .submenul3_t A:hover { FONT-WEIGHT: bold; FONT-SIZE: 10px; COLOR: #ffffff; TEXT-DECORATION: = none } .submenul3_t A:active { FONT-WEIGHT: bold; FONT-SIZE: 10px; COLOR: #ffffff; TEXT-DECORATION: = none } .leftmenu { BACKGROUND-COLOR: #6b8acd } TD.mainmenu { PADDING-RIGHT: 7pt; FONT-WEIGHT: bold; FONT-SIZE: 10px; PADDING-BOTTOM: = 0px; VERTICAL-ALIGN: middle; TEXT-TRANSFORM: lowercase; COLOR: #000000; = PADDING-TOP: 0px; TEXT-ALIGN: left; TEXT-DECORATION: none } .mainmenu A:link { COLOR: #000000; TEXT-DECORATION: none } .mainmenu A:visited { COLOR: #000000; TEXT-DECORATION: none } .mainmenu A:hover { COLOR: #a62043; TEXT-DECORATION: none } .mainmenu A:active { COLOR: #a62043; TEXT-DECORATION: none } .navbarspacer { FONT-WEIGHT: 900; FONT-SIZE: 9px; COLOR: #ffffff; PADDING-TOP: 0px; = FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; TEXT-ALIGN: center } .navbarfolderlink { FONT-WEIGHT: 900; FONT-SIZE: 10px; COLOR: #ffffff; PADDING-TOP: 0px; = FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; LETTER-SPACING: 1px } .navbaritemlink { FONT-SIZE: 10px; COLOR: #ffffff; PADDING-TOP: 4px; FONT-FAMILY: = Verdana, Arial, Helvetica, sans-serif; LETTER-SPACING: 1px } .navbarcurrentfolder { FONT-WEIGHT: 900; FONT-SIZE: 10px; COLOR: #ffffff; PADDING-TOP: 4px; = FONT-FAMILY: Verdana, Arial, Helvetica, sans-serif; LETTER-SPACING: 1px } .navbaritemlink A:link { COLOR: #ffffff; TEXT-DECORATION: none } .navbaritemlink A:visited { COLOR: #ffffff; TEXT-DECORATION: none } .navbaritemlink A:hover { COLOR: #ffff00; TEXT-DECORATION: underline } .navbaritemlink A:active { COLOR: #ffff00; TEXT-DECORATION: none } .navbarfolderlink A:link { COLOR: #ffffff; TEXT-DECORATION: none } .navbarfolderlink A:visited { COLOR: #ffffff; TEXT-DECORATION: none } .navbarfolderlink A:hover { COLOR: #ffffff; TEXT-DECORATION: underline } .navbarfolderlink A:active { COLOR: #ffffff; TEXT-DECORATION: none } .sitemap { text_decoration: none } .sitemap A:link { TEXT-DECORATION: none } .sitemap A:visited { COLOR: #3d5a9c; TEXT-DECORATION: none } .sitemap A:hover { COLOR: #3d5a9c; TEXT-DECORATION: underline } .sitemap A:active { COLOR: #3d5a9c; TEXT-DECORATION: none } .sitemap_active { COLOR: #ffffff; BACKGROUND-COLOR: #316ac5 } .sitemap_active A:link { COLOR: #ffffff; TEXT-DECORATION: none } .sitemap_active A:visited { COLOR: #ffffff; TEXT-DECORATION: none } .sitemap_active A:hover { COLOR: #ffffff; TEXT-DECORATION: none } .sitemap_active A:active { COLOR: #ffffff; TEXT-DECORATION: none } .login_text { FONT-WEIGHT: bold; FONT-SIZE: 10px; COLOR: #ffffff } .login_text A:link { FONT-WEIGHT: bold; FONT-SIZE: 10px; COLOR: #ffffff } .login_text A:visited { FONT-WEIGHT: bold; FONT-SIZE: 10px; COLOR: #ffffff } .login_text A:hover { FONT-WEIGHT: bold; FONT-SIZE: 10px; COLOR: #ffffff } .login_text A:active { FONT-WEIGHT: bold; FONT-SIZE: 10px; COLOR: #ffffff } .login_text_blau { FONT-WEIGHT: bold; FONT-SIZE: 10px; COLOR: #8aa5d2 } .mp_detail_header { PADDING-LEFT: 12px; FONT-WEIGHT: bold; FONT-SIZE: 14px; TEXT-TRANSFORM: = uppercase; COLOR: #ffffff; LINE-HEIGHT: 24px; LETTER-SPACING: 1px; = BACKGROUND-COLOR: #cc381c; TEXT-ALIGN: left } .mp_detail_text { PADDING-RIGHT: 12px; PADDING-LEFT: 12px; PADDING-BOTTOM: 12px; = VERTICAL-ALIGN: top; COLOR: #1b3071; LINE-HEIGHT: 18px; PADDING-TOP: = 12px; BACKGROUND-COLOR: #ec9e7a } .mp_detail_text P { MARGIN-TOP: 0px; COLOR: #1b3071 } .mp_detail_text A:link { COLOR: #1b3071 } .mp_detail_text A:visited { COLOR: #1b3071 } .mp_detail_text A:hover { COLOR: #ffffff } .mp_detail_text A:active { COLOR: #ffffff } .mp_detail_image { VERTICAL-ALIGN: top; WIDTH: 125px; BACKGROUND-COLOR: #ffffff; = TEXT-ALIGN: right } .mp_detail_leer { BACKGROUND-COLOR: #e16c36 } .mp_list_header { BORDER-TOP: #ffffff 3px solid; PADDING-LEFT: 8px; FONT-WEIGHT: bold; = FONT-SIZE: 14px; COLOR: #ffffff; LINE-HEIGHT: 24px; LETTER-SPACING: 1px; = BACKGROUND-COLOR: #cc381c } .mp_list_text { MARGIN-TOP: -5px; PADDING-LEFT: 8px; FONT-WEIGHT: bold; VERTICAL-ALIGN: = top; COLOR: #1b3071 } .mp_list_text P { MARGIN-TOP: 0px; COLOR: #1b3071 } .mp_list_text A:link { FONT-WEIGHT: bold; COLOR: #1b3071 } .mp_list_text A:visited { FONT-WEIGHT: bold; COLOR: #1b3071 } .mp_list_text A:hover { FONT-WEIGHT: bold; COLOR: #ffffff } .mp_list_text A:active { FONT-WEIGHT: bold; COLOR: #ffffff } .mp_list_caption { MARGIN-TOP: 5px; PADDING-LEFT: 8px; FONT-WEIGHT: bold; FONT-SIZE: 13px; = VERTICAL-ALIGN: top; COLOR: #38569c } .mp_table { FONT-WEIGHT: bold; BACKGROUND-COLOR: #ec9e7a; TEXT-ALIGN: center } .mp_table TD { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; = PADDING-BOTTOM: 5px; PADDING-TOP: 5px; TEXT-ALIGN: center } .mp_tableheader { BORDER-TOP: #ffffff 3px solid; TEXT-TRANSFORM: uppercase; COLOR: = #ffffff; LETTER-SPACING: 1px; BACKGROUND-COLOR: #cc381c } .mp_tablecaption { TEXT-TRANSFORM: uppercase; COLOR: #ca391a; LINE-HEIGHT: 20px; = LETTER-SPACING: 1px } .mp_tablesub { TEXT-TRANSFORM: uppercase; COLOR: #ffffff; LINE-HEIGHT: 20px; = LETTER-SPACING: 1px; BACKGROUND-COLOR: #e16c36 } TD.mp_rightbody { PADDING-LEFT: 10px; BACKGROUND-COLOR: #e16c36 } .mp_teaser_header { MARGIN-TOP: 0px; PADDING-LEFT: 3px; FONT-WEIGHT: bold; FONT-SIZE: 12px; = MARGIN-BOTTOM: -2px; COLOR: #ffffff; BORDER-TOP-STYLE: solid; = LINE-HEIGHT: 20px; LETTER-SPACING: 1px } .mp_teaser_header A:link { FONT-WEIGHT: bold; COLOR: #ffffff; TEXT-DECORATION: none } .mp_teaser_header A:visited { FONT-WEIGHT: bold; COLOR: #ffffff; TEXT-DECORATION: none } .mp_teaser_header A:hover { FONT-WEIGHT: bold; COLOR: #ffffff; TEXT-DECORATION: underline } .mp_teaser_header A:active { FONT-WEIGHT: bold; COLOR: #ffffff; TEXT-DECORATION: underline } .mp_teaser_text { MARGIN-TOP: 0px; PADDING-LEFT: 35px; FONT-WEIGHT: bold; MARGIN-BOTTOM: = 0px; LINE-HEIGHT: 13px } .mp_teaser_text A:link { FONT-WEIGHT: bold; COLOR: #1b3071; TEXT-DECORATION: none } .mp_teaser_text A:visited { FONT-WEIGHT: bold; COLOR: #1b3071; TEXT-DECORATION: none } .mp_teaser_text A:hover { FONT-WEIGHT: bold; COLOR: #a22108; TEXT-DECORATION: none } .mp_teaser_text A:active { FONT-WEIGHT: bold; COLOR: #a22108; TEXT-DECORATION: none } .mp_teaser_datum { MARGIN-TOP: 0px; PADDING-LEFT: 3px; FONT-WEIGHT: bold; COLOR: #39569c; = LINE-HEIGHT: 13px } .mp_hr { WIDTH: 100%; COLOR: #ffffff; BORDER-TOP-STYLE: solid; = BORDER-RIGHT-STYLE: solid; BORDER-LEFT-STYLE: solid; HEIGHT: 3px; = BACKGROUND-COLOR: #ffffff; BORDER-BOTTOM-STYLE: solid; style: solid } ------=_NextPart_000_001A_01C6EFD6.8E2DE4D0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.dhv.de/odbresources/dhv/js/onlinedb4.en.js =0A= var LCbitteEingabe1=3D"Please enter";=0A= var LCbitteEingabe2=3D"";=0A= var LCInfoAktuellSetzen=3D"Set this info to current info?";=0A= var LCMsgInvalidCharacter=3D"Invalid character";=0A= var LCMsgInvalidDate=3D"Please enter a valid date (e.g. 23.3 or 1.2.06 = or 1.2.2006)";=0A= var LCMsgInvalidDateTime=3D"Please enter a valid date or a valid date + = time (e.g.. 23.3 or 23.3.06 or 23.3 10:30 or 23.3.2006 10:30)";=0A= var LCMsgInvalidDay=3D"Invalid day";=0A= var LCMsgInvalidEmail=3D"Please enter a vald email address";=0A= var LCMsgInvalidFloat=3D"must be a number";=0A= var LCMsgInvalidHour=3D"Invalid hour";=0A= var LCMsgInvalidInteger=3D"must be an integer";=0A= var LCMsgInvalidMinute=3D"Invalid minutes";=0A= var LCMsgInvalidMonth=3D"Invalid month";=0A= var LCMsgInvalidSecond=3D"Invalid seconds";=0A= var LCMsgInvalidTime=3D"Please enter a valid 24h time value (z.B. 13:30 = oder 9:05:45)";=0A= var LCMsgInvalidYear=3D"Invalid year";=0A= var LCMsgLostOpener=3D"Lost the opening page, cant proceed";=0A= var LCNeedsSave=3D"Data needs to be saved.\nShall it be saved now?";=0A= var LCNothingToSave=3D"Nothing to save";=0A= var LCPasswordsDifferent=3D"Password and confirmation are different";=0A= var LCPleaseConfirmPassword=3D"Please confirm password";=0A= var LCPleaseEnterPassword=3D"Please enter a password";=0A= var LCPleaseSave=3D"Please save first";=0A= var LCSaveAsNewRecord=3D"Save as new record";=0A= ------=_NextPart_000_001A_01C6EFD6.8E2DE4D0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.dhv.de/odbresources/_odb/js/onlinedb4.0.js /*=0A= js f=FCrs online db 4.0 Framework=0A= Version 01.08.2006=0A= */=0A= var debugmode=3D0;=0A= =0A= /*=0A= Hinzuf=FCgen/Entfernen von eindeutigen elementen aus einem = kommaseparierten string=0A= */=0A= function modify_idstring(formname, fieldname, idval, add) {=0A= if (!document.forms[formname]) {=0A= alert('Formular '+formname+' existiert nicht.');=0A= }else {=0A= var formobj=3Ddocument.forms[formname];=0A= var formel=3Dformobj.elements[fieldname];=0A= if (formel && idval) {=0A= var idstring=3Dformel.value;=0A= var parts=3Didstring.split(',');=0A= var newparts=3Dnew Array();=0A= var idx=3D-1;=0A= if (add) {=0A= for (var i=3D0; i0) {=0A= if (top.frames[target]) {=0A= doc=3Dtop.frames[target].document;=0A= //alert('unter top');=0A= found=3Dtrue;=0A= }=0A= }=0A= if (!found && parent.frames.length>0) {=0A= if (parent.frames[target]) {=0A= doc=3Dparent.frames[target].document;=0A= //alert('unter parent');=0A= found=3Dtrue;=0A= }=0A= }=0A= if (!found) {=0A= doc=3Dtop.document;=0A= //alert('top');=0A= }=0A= }else {=0A= //alert('kein target');=0A= }=0A= if (!formel) {=0A= alert('Element '+fieldname+' existiert nicht.');=0A= }else {=0A= if (formel.value) {=0A= //doc.location.href=3Dformel.value;=0A= doc.location.href=3Dformel.value;=0A= }=0A= }=0A= }=0A= }=0A= =0A= function refresh_opener(checksave){=0A= //forces the opening widow to be refreshed=0A= if (window.opener){=0A= if (window.opener.closed =3D=3D true) {=0A= //alert ("=D6ffnendes Formular ist geschlossen!");=0A= }else{=0A= if (checksave) {=0A= window.opener.checkapplyfilter();=0A= }else{=0A= if (window.opener.standform) {=0A= submit_form(window.opener.standform)=0A= //window.opener.standform.submit()=0A= }=0A= window.focus();=0A= }=0A= }=0A= }=0A= }=0A= function selectrecord(fieldvalstring){=0A= var formnames=3Dnew Array()=0A= //alle m=F6glichen formnames hier definieren=0A= formnames[0]=3D"quicksearch"=0A= formnames[1]=3D"standform"=0A= var formobj=3Ddocument.standform=0A= //alert(formobj.parent.window.name);=0A= var fldvals=3Dnew Array()=0A= fldvals=3Dfieldvalstring.split(",")=0A= var countvals=3Dfldvals.lenght=0A= if (countvals>0) {=0A= if (fldvals[0]=3D=3D""){=0A= alert ("Leere ID; kann Datensatz nicht ausw=E4hlen!")=0A= return;=0A= }=0A= }=0A= var defaultfiltername=3D"" //um den aufrufenden verweis =E4ndern zu = k=F6nnen=0A= var callingfields=3Dformobj.callingfields=0A= var fieldstring=3Dcallingfields.value=0A= var linknamesubpart=3D"selectrecordlink" //so m=FCssen die linknamen = anfangen, wenn ihr href angepasst werden soll=0A= var subpartlength=3D16;=0A= var selectlinkname=3D"";=0A= =0A= if (fieldstring.length=3D=3D0) {=0A= alert("Name des aufrufenden Feldes verloren, Dialogseite bitte = nochmals =F6ffnen!!")=0A= return;=0A= }=0A= if (window.opener){=0A= if (window.opener.closed =3D=3D true) {=0A= alert (LCMsgLostOpener); //"=D6ffnendes Formular konnte nicht = ermittelt werden!");=0A= }else{=0A= // if (window.opener.standform) {=0A= ////////////////////////////////////=0A= var flds=3Dnew Array()=0A= flds=3Dfieldstring.split(",")=0A= var rowcheckfield=3D""=0A= //try different formnames, see on which form the field flds[0] exists=0A= var identified=3Dfalse=0A= var calldocument=3Dopener.document=0A= for (i=3D0;i1) {=0A= //dann ist das letzte feld der filtername=0A= var filtername=3Dflds[flds.length-1];=0A= if (filtername.indexOf('_')>0) {=0A= defaultfiltername=3Dfiltername;=0A= if (flds.length>2) {=0A= //dann ist das vorletzte feld der linkname=0A= var linkname=3Dflds[flds.length-2];=0A= if (linkname.indexOf('link')>0) {=0A= selectlinkname=3Dlinkname;=0A= }=0A= }=0A= }=0A= }=0A= //alert("defaultfiltername=3D"+defaultfiltername);=0A= //alert("linknamesubpart=3D"+linknamesubpart);=0A= //if linkname has been omitted try the following default link name:=0A= if (selectlinkname=3D=3D"") {=0A= if (rownumber) selectlinkname=3Dlinknamesubpart+"["+rownumber+"]"=0A= }=0A= =0A= for (i=3D0;i1) defaultfiltername=3Dflds[i];=0A= }=0A= =0A= if (flds.length>fldvals.length) {=0A= countvals=3Dfldvals.length=0A= }else{=0A= countvals=3Dflds.length=0A= }=0A= //Werte setzen=0A= for (i=3D0;i0) {=0A= alert('suche nach: '+selectlinkname+'\nVergleich mit: '+linkname);=0A= }*/=0A= if (linkname=3D=3Dselectlinkname) {=0A= var selectlink=3Dwindow.opener.document.links[i];=0A= var selecthref=3Dselectlink.href;=0A= defaultfiltername+=3D"=3D";=0A= var parts=3Dselecthref.split(defaultfiltername);=0A= //alert(linkname+' gefunden');=0A= if (parts.length=3D=3D2) {=0A= var part1=3Dparts[0]+defaultfiltername+fldvals[0];=0A= var parts2=3Dparts[1].split("&");=0A= for(j=3D1;j0) {=0A= var pos=3Ddatetimestring.indexOf(':'); var c=3D'';=0A= if (pos>-1) {=0A= timestring=3Ddatetimestring;=0A= if (pos>0) {=0A= var s=3Ddatetimestring.substr(0,pos);=0A= var pos1=3Ds.lastIndexOf(' ');=0A= if (pos1>0) {=0A= datestring=3Ds.substr(0,pos1);=0A= = timestring=3Ddatetimestring.substr(pos1,datetimestring.length-pos1);=0A= }=0A= }=0A= }else {=0A= datestring=3Ddatetimestring;=0A= }=0A= }=0A= break;=0A= }=0A= //alert(datestring+' - '+timestring);=0A= // date check=0A= if (buildDate) {=0A= if (!datestring) {=0A= // heute setzen=0A= }else {=0A= var dateseps=3D new Array(".",","," ");=0A= var months31=3D ",1,3,5,7,8,10,12,";=0A= //var c=3D'';=0A= var partIndex=3D0;=0A= var yearstring=3D'';=0A= var monthstring=3D'';=0A= var daystring=3D'';=0A= for (var i=3D0;i2) break;=0A= }=0A= if (partIndex<1) check=3Dfalse;=0A= if (check) {=0A= // auf number parsen ist besser als parseInt, weil so nicht = interpretiertes zu 0 wird=0A= var day1=3DNumber(daystring);=0A= var month1=3DNumber(monthstring);=0A= var year1=3DNumber(yearstring);=0A= if (year1=3D=3D0) {=0A= var today=3Dnew Date();=0A= year1=3Dtoday.getYear();=0A= }=0A= if (year1<999) {=0A= if (year1>30) {=0A= year1+=3D1900;=0A= }else {=0A= year1+=3D2000;=0A= }=0A= }=0A= if (year1>2200 || year1<1800) {=0A= errmsg=3Derrmsgdefault+"\n"+LCMsgInvalidYear+' '+year1;=0A= check=3Dfalse;=0A= }else {=0A= if (month1<1 || month1>12) {=0A= errmsg=3Derrmsgdefault+"\n"+LCMsgInvalidMonth+' '+month1;=0A= check=3Dfalse;=0A= }else {=0A= var maxday=3D30;=0A= if (months31.indexOf(','+month1+',')>-1) {=0A= maxday=3D31;=0A= }else {=0A= if (month1=3D=3D2) maxday=3D29;=0A= }=0A= if (day1<1 || day1>maxday) {=0A= errmsg=3Derrmsgdefault+"\n"+LCMsgInvalidDay+' = '+day1+'.'+month1+'.';=0A= check=3Dfalse;=0A= }=0A= }=0A= if (check) {=0A= yearstring=3Dyear1;=0A= monthstring=3D(month1<10) ? '0'+month1 : month1;=0A= daystring=3D(day1<10) ? '0'+day1 : day1;=0A= datestring=3Ddaystring+'.'+monthstring+'.'+yearstring;=0A= }=0A= }=0A= }=0A= }=0A= }=0A= // Zeitcheck=0A= if (buildTime) {=0A= var timeDefault=3D'00:00:00';=0A= if (timestring) {=0A= partIndex=3D0;=0A= var hourstring=3D'';=0A= var minstring=3D'';=0A= var secstring=3D'';=0A= for (var i=3D0;i2) break;=0A= }=0A= if (check) {=0A= var hour1=3DNumber(hourstring);=0A= var min1=3DNumber(minstring);=0A= var sec1=3DNumber(secstring);=0A= if (hour1<0 || hour1>24) {=0A= errmsg=3Derrmsgdefault+"\n"+LCMsgInvalidHour+' '+hour1;=0A= check=3Dfalse;=0A= }else {=0A= if (min1<0 || min1>60) {=0A= errmsg=3Derrmsgdefault+"\n"+LCMsgInvalidMinute+' '+min1;=0A= check=3Dfalse;=0A= }else {=0A= if (sec1<0 || sec1>60) {=0A= errmsg=3Derrmsgdefault+"\n"+LCMsgInvalidSecond+' '+sec1;=0A= check=3Dfalse;=0A= }=0A= }=0A= }=0A= if (check) {=0A= hourstring=3D(hour1<10) ? '0'+hour1 : hour1;=0A= minstring=3D(min1<10) ? '0'+min1 : min1;=0A= secstring=3D(sec1<10) ? '0'+sec1 : sec1;=0A= timestring=3Dhourstring+':'+minstring+':'+secstring;=0A= }=0A= }=0A= }=0A= if (!timestring) timestring=3DtimeDefault;=0A= }=0A= if (check) {=0A= switch(format) {=0A= case 'd': datetimestring=3Ddatestring; break;=0A= case 't': datetimestring=3Dtimestring; break;=0A= case 'dt': datetimestring=3Ddatestring+' '+timestring;=0A= }=0A= //alert(datetimestring);=0A= }else {=0A= if (!errmsg) errmsg=3Derrmsgdefault;=0A= }=0A= }=0A= if (!check) {=0A= alert(errmsg);=0A= el.focus();=0A= }else{=0A= el.value=3Ddatetimestring;=0A= }=0A= }=0A= return check;=0A= }=0A= /* ende neu */=0A= =0A= function checkdate(elname,formname){=0A= return checkdatetime(elname,'d',formname);=0A= }=0A= =0A= function checktime(elname,formname){=0A= return checkdatetime(elname,'t',formname);=0A= }=0A= =0A= function checkemail(elname){=0A= var check=3Dfalse=0A= var formobj=3Ddocument.standform=0A= if (formobj.elements[elname]) {=0A= var el=3Dformobj.elements[elname]=0A= var val=3Del.value;=0A= //var = filter=3D/^(\w+(?:[\.\-\w]+)*)@((?:\w+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\= .[a-z]{2})?)$/i;=0A= //var = filter=3D/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6= }(?:\.[a-z]{2})?)$/i=0A= var = filter=3D/^([A-Za-z0-9_|-]+[.]*[A-Za-z0-9_|-]+)+@[A-Za-z0-9|-]+([.][A-Za-= z0-9|-]+)*[.][A-Za-z0-9]+$/ig;=0A= if (filter.test(val)){=0A= check=3Dtrue=0A= }else{=0A= alert(LCMsgInvalidEmail);//"Bitte eine g=FCltige eMail-Adresse = eingeben!")=0A= el.focus()=0A= }=0A= }=0A= return check=0A= }=0A= =0A= function checkspecificuserinput(rownumber) {=0A= var formobj=3Ddocument.standform=0A= var elnamesdate=3Dnew Array()=0A= var elnamestime=3Dnew Array()=0A= var elnamesnumeric=3Dnew Array()=0A= =0A= elname=3D"datefields_to_compare"=0A= if (checkformelement(elname)) = elnamesdate=3Dformobj.elements[elname].value.split(",")=0A= elname=3D"timefields_to_compare"=0A= if (checkformelement(elname)) = elnamestime=3Dformobj.elements[elname].value.split(",")=0A= elname=3D"numericfields_to_compare"=0A= if (checkformelement(elname)) = elnamesnumeric=3Dformobj.elements[elname].value.split(",")=0A= =0A= if (compareinput(formobj,elnamesdate,rownumber,"d")=3D=3Dfalse) return = false;=0A= if (compareinput(formobj,elnamestime,rownumber,"t")=3D=3Dfalse) return = false;=0A= if (compareinput(formobj,elnamesnumeric,rownumber,"n")=3D=3Dfalse) = return false;=0A= =0A= return true=0A= }=0A= =0A= function compareinput(formobj,basefieldnames,rownumber,format) {=0A= //called from checkspecificuserinput=0A= if (basefieldnames.length=3D=3D0 || basefieldnames.length=3D=3D1) = return true;=0A= var fieldnames=3Dnew Array()=0A= for (var i=3D0; i < basefieldnames.length; i++) {=0A= if (rownumber!=3D"") {=0A= fieldnames[i]=3Dbasefieldnames[i]+"["+rownumber+"]"=0A= }else{=0A= fieldnames[i]=3Dbasefieldnames[i]=0A= }=0A= if (checkformelement(fieldnames[i])=3D=3Dfalse) return false;=0A= }=0A= var val1=3D""=0A= var val2=3D""=0A= for (var i=3D0; i < fieldnames.length; i=3Di+2) {=0A= val1=3Dformobj.elements[fieldnames[i]].value=0A= val2=3Dformobj.elements[fieldnames[i+1]].value=0A= errmsg=3Dget_fieldalias(fieldnames[i+1])+" muss gr=F6=DFer oder gleich = "+get_fieldalias(fieldnames[i])+" sein!"=0A= switch(format) {=0A= case "d":=0A= if (compare_german_dates(val1,val2)=3D=3D1){=0A= alert(errmsg)=0A= return false=0A= }else break;=0A= case "t":=0A= if (compare_german_times(val1,val2)=3D=3D1){=0A= alert(errmsg)=0A= return false=0A= }else break;=0A= case "n":=0A= if (val1=3D=3D"" || val2=3D=3D"") break;=0A= val1=3Dval1*1=0A= val2=3Dval2*1=0A= //alert("comparing "+val1+" and "+val2);=0A= //alert("val1>val2? "+(val1>val2));=0A= if (val1>val2){=0A= alert(errmsg)=0A= return false=0A= }else break;=0A= }=0A= }=0A= return true=0A= }=0A= =0A= function compare_german_dates(date1,date2){=0A= //like 12.2.2002=0A= //returns -1 if undefined, 0 if date1=3Ddate2, 1 if date1>date2, 2 if = date1-1; i=3Di-1) {=0A= val1=3Dparts1[i]*1=0A= val2=3Dparts2[i]*1=0A= if (val2>val1){=0A= returnval=3D2=0A= break;=0A= }else if (val2time2, 2 if = time1-1; i=3Di-1) {=0A= val1=3Dparts1[i]*1=0A= val2=3Dparts2[i]*1=0A= if (val2>val1){=0A= returnval=3D2=0A= break;=0A= }else if (val20) {=0A= var parts=3Dfieldname.split("[")=0A= fieldname=3Dparts[0]=0A= }=0A= var returnval=3Dfieldname;=0A= if (fieldaliases.length=3D=3D0) {=0A= //alert(formobj.availablefieldaliases.value)=0A= //alert("init");=0A= var formobj=3Ddocument.standform=0A= if (!checkformelement("availablefieldaliases")) return returnval;=0A= if (!checkformelement("availablefields")) return returnval;=0A= var aliases=3Dformobj.availablefieldaliases.value.split(",")=0A= var fields=3Dformobj.availablefields.value.split(",")=0A= var fld=3D""=0A= var alias=3D""=0A= = //alert("availablefieldaliases:"+formobj.availablefieldaliases.value+"\n = \n availablefields"+formobj.availablefields.value)=0A= //return returnval;=0A= //alert("gesucht wird nach = "+fieldname+"\nL=E4nge"+aliases.length+"\nL=E4nge fields"+fields.length)=0A= for (i=3D0;i0 && alias.length>0) = fieldaliases[fld].value=3Dalias;=0A= }=0A= }=0A= //alert(formobj.availablefieldaliases.value)=0A= //alert(formobj.availablefields.value)=0A= }=0A= if (fieldaliases[fieldname]){=0A= returnval=3Dfieldaliases[fieldname]=0A= }=0A= return returnval;=0A= }=0A= =0A= function checkuserinput(showprompt){=0A= //if form=3Ddirty, required fields are checked=0A= //if user cancels prompt rowdirty fields are reset=0A= var formobj=3Ddocument.standform;=0A= var check=3Dtrue;=0A= var keepchanges=3Dtrue;=0A= if (formobj.formdirty.value=3D=3D"1") {=0A= if (showprompt) keepchanges=3Dconfirm(LCNeedsSave);=0A= //alert("keepchanges=3D"+ keepchanges)=0A= var fieldstring=3D'';=0A= if (formobj.requiredfields) fieldstring=3Dformobj.requiredfields.value;=0A= //if there are required fields=0A= var flds=3Dnew Array();=0A= if (fieldstring.length>0) flds=3Dfieldstring.split(",");=0A= // loop thru formelements ...=0A= var elname=3D"";=0A= for (var i=3D0; i < formobj.elements.length; i++) {=0A= var formelement=3Dformobj.elements[i];=0A= elname=3Dformelement.name;=0A= //loop thru all the elements named rowdirty0, rowdirty1 etc=0A= if (elname.indexOf("rowdirty")>-1){=0A= //if record dirty check required fields..=0A= if (formelement.value) {=0A= if (!keepchanges) {=0A= //set record to not dirty=0A= formobj.elements[elname].value=3D"";=0A= check=3Dfalse;=0A= }else{ //otherwise check required fields=0A= var rownumber=3Delname.substring(8,elname.length)=0A= //for all required fields=0A= for (var j=3D0; j < flds.length && check; j++) {=0A= /////////////=0A= if (flds[j].length>0) {=0A= var fieldname1=3Dflds[j]+"["+rownumber+"]"=0A= if (!formobj.elements[fieldname1]){=0A= alert ("erforderliches Feld "+fieldname1+" existiert nicht!!")=0A= check=3Dfalse=0A= break;=0A= }=0A= //alert(fieldname1)=0A= var el=3Dformobj.elements[fieldname1]=0A= var eltype=3Del.type=0A= if (eltype=3D=3D"text" || eltype=3D=3D"textarea" || = eltype=3D=3D"hidden" || eltype=3D=3D"password"){=0A= if (el.value=3D=3D"" || el.value=3D=3D"0") {=0A= alert(LCbitteEingabe1+" "+get_fieldalias(fieldname1)+" = "+LCbitteEingabe2)=0A= check=3Dfalse=0A= break;=0A= }=0A= }else if (eltype=3D=3D"select-one") {=0A= if (el.value=3D=3D"") {=0A= alert("Bitte "+get_fieldalias(fieldname1)+" ausw=E4hlen!")=0A= check=3Dfalse=0A= break;=0A= }=0A= }else{=0A= alert("Typ des Feldes '"+fieldname1+"'=3D"+eltype+"' und nicht = behandelt!!!");=0A= check=3Dfalse=0A= break;=0A= }=0A= //////////////////////////////=0A= if (!check) {=0A= if ( eltype!=3D"hidden") el.focus();=0A= break;=0A= }=0A= //////////=0A= }=0A= }//end loop over all required fields=0A= if (check) check=3Dcheckspecificuserinput(rownumber)=0A= }//end check fields in case of savechanges=0A= } //end if record dirty (rowdirty=3Dtrue)=0A= }//end rowdirty-field=0A= if (!check) break;=0A= }//end loop thru formelements=0A= }//end formdirty=0A= if (!keepchanges) formobj.formdirty.value=3D'0';=0A= =0A= return check;=0A= }=0A= =0A= function setdirty(chkname, check_by_box){=0A= //check_by_box is true if the user directly clicks the box; thus he may = toggle save or not=0A= //when calling thru onchange check_by_box is false=0A= var formobj=3Ddocument.standform;=0A= if (formobj.elements[chkname]) {=0A= var checkel=3Dformobj.elements[chkname];=0A= var curval=3Dcheckel.value;=0A= //alert(curval)=0A= if (check_by_box) {=0A= if (curval=3D=3D'0') {=0A= checkel.value=3D'1';=0A= }else{=0A= checkel.value=3D'0';=0A= }=0A= }else{=0A= if (checkel.type=3D=3D'checkbox') checkel.checked=3Dtrue;=0A= checkel.value=3D'1';=0A= }=0A= if (formobj.formdirty) {=0A= formobj.formdirty.value=3D'1';=0A= }else {=0A= alert("das Element formdirty existiert nicht.");=0A= }=0A= }else {=0A= alert("das Element '"+chkname+"' existiert nicht.");=0A= }=0A= }=0A= =0A= function saveasnewrecord(url,idname){=0A= var formobj=3Ddocument.standform=0A= if (confirm(LCSaveAsNewRecord+"?")) {=0A= formobj.elements[idname].value=3D""=0A= formobj.dosave.value=3D"1"=0A= var oldmethod=3Dformobj.method=0A= formobj.method=3D"post"=0A= formobj.action=3Durl=0A= submit_form(formobj);=0A= //formobj.submit()=0A= formobj.action=3Doldmethod=0A= }=0A= }=0A= =0A= function edit(url){=0A= if (url=3D=3D"") url=3Dwindow.location;=0A= var formobj=3Ddocument.standform=0A= oldmethod=3Dformobj.method=0A= oldaction=3Dformobj.action=0A= formobj.method=3D"post"=0A= formobj.action=3Durl=0A= if (formobj.edit) formobj.edit.value=3Dtrue=0A= if (formobj.doedit) formobj.doedit.value=3Dtrue=0A= submit_form(formobj);=0A= //formobj.submit()=0A= formobj.method=3Doldmethod=0A= formobj.action=3Doldaction=0A= }=0A= =0A= function addnewrecord(url){=0A= if (url=3D=3D"") url=3Dwindow.location;=0A= var formobj=3Ddocument.standform=0A= var oldmethod=3Dformobj.method=0A= var oldaction=3Dformobj.action=0A= if (formobj.addnew){ //if exists=0A= formobj.addnew.value=3Dtrue=0A= formobj.method=3D"post"=0A= formobj.action=3Durl=0A= //alert(formobj.addnew.value)=0A= submit_form(formobj);=0A= //formobj.submit()=0A= formobj.method=3Doldmethod=0A= formobj.action=3Doldaction=0A= }else alert("Feld addnew existiert nicht!");=0A= }=0A= =0A= =0A= function nextrecords(sign){=0A= formobj=3Ddocument.standform=0A= = formobj.offset.value=3Deval(formobj.offset.value)+sign*eval(formobj.rpp.v= alue)=0A= submit_form(formobj);=0A= //formobj.submit()=0A= }=0A= =0A= function movelast() {=0A= formobj=3Ddocument.standform=0A= formobj.offset.value=3Dformobj.counttotal.value-formobj.rpp.value=0A= submit_form(formobj);=0A= //formobj.submit()=0A= }=0A= =0A= function movefirst() {=0A= formobj=3Ddocument.standform=0A= formobj.offset.value=3D0=0A= submit_form(formobj);=0A= //formobj.submit()=0A= }=0A= =0A= function deletefilter(formname){=0A= var formobj=3Ddocument.forms(formname)=0A= var freezestring=3Dnew String=0A= if (formobj.freezefilters){=0A= freezestring=3Dformobj.freezefilters.value=0A= }=0A= freezestring=3D","+freezestring+","=0A= //alert("nr1")=0A= // alert(freezestring)=0A= for (var i=3D0; i < formobj.elements.length; i++) {=0A= var formelement=3Dformobj.elements[i]=0A= if (is_filtername(formelement.name)) {=0A= //alert(formelement.name)=0A= if (freezestring.indexOf(","+formelement.name+",")=3D=3D-1) = formelement.value=3D""=0A= }=0A= }=0A= }=0A= =0A= function is_filtername(text) {=0A= //according to filter naming conventions of odb2=0A= returnval=3Dfalse=0A= if (text.indexOf("_")>0){=0A= if (text.indexOf("pmatch")>=3D0 ||=0A= text.indexOf("lmatch")>=3D0 ||=0A= text.indexOf("rmatch")>=3D0 ||=0A= text.indexOf("xmatch")>=3D0 ||=0A= text.indexOf("num")>=3D0 ||=0A= text.indexOf("gerd")>=3D0 ||=0A= text.indexOf("gert")>=3D0) {=0A= returnval=3Dtrue=0A= }=0A= }=0A= return returnval=0A= }=0A= =0A= function sortlist(fieldname){=0A= formobj=3Ddocument.standform=0A= if (fieldname!=3D"") {=0A= currentfields=3Dformobj.orderbyfields.value=0A= if (currentfields.indexOf(fieldname)>-1 && = currentfields.indexOf(fieldname+" DESC")=3D=3D-1) {=0A= formobj.orderbyfields.value=3Dfieldname+" DESC"=0A= }else{=0A= formobj.orderbyfields.value=3Dfieldname=0A= }=0A= submit_form(formobj);=0A= //formobj.submit()=0A= }=0A= }=0A= =0A= function reloadbody(){=0A= if (!parent.parent.body) {=0A= top.location.reload()=0A= }else parent.parent.body.location.reload()=0A= }=0A= =0A= function tell_target(){=0A= var msg=3D"window: "+window.name=0A= if (parent.frames.length>0){=0A= msg+=3D"\nparent: "+parent.window.name=0A= for(var i=3D0; i < parent.frames.length; i++){=0A= msg+=3D"\nframe["+i+"].name=3D"+parent.frames[i].name=0A= }=0A= }=0A= if (top.frames.length>0){=0A= for(i=3D0; i < top.frames.length; i++){=0A= msg+=3D"\ntop.frame["+i+"].name=3D"+top.frames[i].name=0A= }=0A= }=0A= if (document.standform) = msg+=3D"\nstandformtarget=3D"+document.standform.target=0A= alert(msg);=0A= alert("bodyframe=3D"+get_bodyframe());=0A= }=0A= =0A= function rename_window(){=0A= check_linktargets();=0A= }=0A= =0A= function find_frame(framename){=0A= if (framename.length>0){=0A= if (parent.frames.length>0){=0A= for(var i=3D0; i < parent.frames.length; i++){=0A= msg+=3D"\nframe["+i+"].name=3D"+parent.frames[i].name=0A= }=0A= }=0A= }=0A= }=0A= =0A= function check_linktargets(){=0A= //=FCberschreibt die linktargets wenn sie body heissen,=0A= //aber im aktuellen fenster kein frame namens "body" ist=0A= var somelink=0A= var someform=0A= //alert("bis daher ok")=0A= var linktarget=3Dget_bodyframe();=0A= //alert(linktarget)=0A= if (linktarget!=3D"body"){=0A= for (var i=3D0;i0 && parwinname){=0A= if (curwinname!=3D"body" && parwinname!=3D"body" && = parwinname!=3D"mainframe" && parwinname!=3D"subframe") {=0A= alert("setze parent.name=3Dbody");=0A= parent.name=3D"body"=0A= parwinname=3Dparent.name=0A= alert("parwinname=3D"+parwinname);=0A= }=0A= }else parwinname=3D"";=0A= if (parwinname!=3D"body" && curwinname!=3D"body" && = curwinname!=3D"mainframe" && curwinname!=3D"subframe") {=0A= alert("setze window.name=3Dbody");=0A= window.name=3D"body"=0A= }=0A= alert("window.name=3D"+window.name);=0A= //}=0A= }=0A= =0A= function get_bodyframe(){=0A= var msg=3D""=0A= var framefound=3Dfalse=0A= var bodyframe=3D"body"=0A= if (window.name=3D=3Dbodyframe) {=0A= return bodyframe;=0A= }else{=0A= if (top.frames.length>0){=0A= for (i=3D0;i exits=0A= if ((thePointerColor =3D=3D '' && theMarkColor =3D=3D '')=0A= || typeof(theRow.style) =3D=3D 'undefined') {=0A= return false;=0A= }=0A= =0A= =0A= =0A= // 2. Gets the current row and exits if the browser can't get it=0A= if (typeof(document.getElementsByTagName) !=3D 'undefined') {=0A= theCells =3D theRow.getElementsByTagName('td');=0A= }=0A= else if (typeof(theRow.cells) !=3D 'undefined') {=0A= theCells =3D theRow.cells;=0A= }=0A= else {=0A= return false;=0A= }=0A= =0A= // 3. Gets the current color...=0A= var rowCellsCnt =3D theCells.length;=0A= var domDetect =3D null;=0A= var currentColor =3D null;=0A= var newColor =3D null;=0A= // 3.1 ... with DOM compatible browsers except Opera that does not = return=0A= // valid values with "getAttribute"=0A= if (typeof(window.opera) =3D=3D 'undefined'=0A= && typeof(theCells[0].getAttribute) !=3D 'undefined') {=0A= currentColor =3D theCells[0].getAttribute('bgcolor');=0A= domDetect =3D true;=0A= }=0A= // 3.2 ... with other browsers=0A= else {=0A= currentColor =3D theCells[0].style.backgroundColor;=0A= domDetect =3D false;=0A= } // end 3=0A= =0A= =0A= =0A= // 4. Defines the new color=0A= // 4.1 Current color is the default one=0A= if (currentColor =3D=3D ''=0A= || currentColor.toLowerCase() =3D=3D = theDefaultColor.toLowerCase()) {=0A= if (theAction =3D=3D 'over' && thePointerColor !=3D '') {=0A= newColor =3D thePointerColor;=0A= }=0A= else if (theAction =3D=3D 'click' && theMarkColor !=3D '') {=0A= newColor =3D theMarkColor;=0A= }=0A= }=0A= =0A= // 4.1.2 Current color is the pointer one=0A= else if (currentColor.toLowerCase() =3D=3D = thePointerColor.toLowerCase()) {=0A= if (theAction =3D=3D 'out') {=0A= newColor =3D theDefaultColor;=0A= }=0A= else if (theAction =3D=3D 'click' && theMarkColor !=3D '') {=0A= newColor =3D theMarkColor;=0A= }=0A= }=0A= =0A= // 4.1.3 Current color is the marker one=0A= else if (currentColor.toLowerCase() =3D=3D = theMarkColor.toLowerCase()) {=0A= if (theAction =3D=3D 'click') {=0A= newColor =3D (thePointerColor !=3D '')=0A= ? thePointerColor=0A= : theDefaultColor;=0A= }=0A= } // end 4=0A= =0A= // 5. Sets the new color...=0A= if (newColor) {=0A= var c =3D null;=0A= // 5.1 ... with DOM compatible browsers except Opera=0A= if (domDetect) {=0A= for (c =3D 0; c < rowCellsCnt; c++) {=0A= theCells[c].setAttribute('bgcolor', newColor, 0);=0A= } // end for=0A= }=0A= // 5.2 ... with other browsers=0A= else {=0A= for (c =3D 0; c < rowCellsCnt; c++) {=0A= theCells[c].style.backgroundColor =3D newColor;=0A= }=0A= }=0A= } // end 5=0A= return true;=0A= =0A= } // end of the 'setPointer()' function=0A= // ------=_NextPart_000_001A_01C6EFD6.8E2DE4D0--