From: <Salvato da Windows Internet Explorer 8>
Subject: Il Comune di Termoli bonifica diverse discariche abusive
Date: Tue, 14 Apr 2009 20:02:25 +0200
MIME-Version: 1.0
Content-Type: multipart/related;
	type="text/html";
	boundary="----=_NextPart_000_0000_01C9BD3B.EE02A280"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579

This is a multi-part message in MIME format.

------=_NextPart_000_0000_01C9BD3B.EE02A280
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.guglionesionline.it/Notizie/IlComunediTermolibonificadiversediscarichea/tabid/182/Default.aspx

=EF=BB=BF<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML lang=3Dit-IT><HEAD id=3DHead><TITLE>Il Comune di Termoli bonifica =
diverse discariche abusive</TITLE>
<META content=3D"text/html; charset=3Dutf-8" =
http-equiv=3DContent-Type><!--*******************************************=
***************************************--><!-- DotNetNuke=EF=BF=BD - =
http://www.dotnetnuke.com                                          =
--><!-- Copyright (c) 2002-2007                                          =
                --><!-- by DotNetNuke Corporation                        =
                                =
--><!--******************************************************************=
****************-->
<META id=3DMetaDescription name=3DDESCRIPTION=20
content=3D"Avvenimenti e notizie dalla cittadina adriatica e =
dintorni.&#13;&#10;Eventi, spettaccoli, cultura, turismo, e politica =
questi sono solo alcuni dei temi trattati. Inoltre, e disponibilie un =
Forum che tratta argomenti riservati a Guglionesi, presente nel sito il =
Muro dei Tifosi dove lo sport e di attualit=C3=A0.&#13;&#10;">
<META id=3DMetaKeywords name=3DKEYWORDS=20
content=3D"guglionesi,molise,notizie,avvenimenti,spettacoli,musica,cinema=
,arte,storia,cultura,termoli,basso molise,foto,immagini,campomarino,san =
giacomo degli =
schiavoni,petacciato,ristoranti,hotel,agriturismo,turismo,DotNetNuke,DNN"=
>
<META id=3DMetaCopyright name=3DCOPYRIGHT=20
content=3D"Copyright (c) Guglionesionline 2007-2009">
<META id=3DMetaGenerator name=3DGENERATOR content=3D"MSHTML =
8.00.6001.18702">
<META id=3DMetaAuthor name=3DAUTHOR content=3Dguglionesionline>
<META name=3DRESOURCE-TYPE content=3DDOCUMENT>
<META name=3DDISTRIBUTION content=3DGLOBAL>
<META name=3DROBOTS content=3D"INDEX, FOLLOW">
<META name=3DREVISIT-AFTER content=3D"1 DAYS">
<META name=3DRATING content=3DGENERAL>
<META content=3DRevealTrans(Duration=3D0,Transition=3D1) =
http-equiv=3DPAGE-ENTER>
<STYLE id=3DStylePlaceholder type=3Dtext/css></STYLE>
<LINK id=3D_Portals__default_ rel=3Dstylesheet type=3Dtext/css=20
href=3D"http://www.guglionesionline.it/Portals/_default/default.css"><LIN=
K=20
id=3D_Portals__default_Skins_XDMediaBlue_ rel=3Dstylesheet =
type=3Dtext/css=20
href=3D"http://www.guglionesionline.it/Portals/_default/Skins/XDMediaBlue=
/skin.css"><LINK=20
id=3D_Portals__default_Containers_orange_futurism_ rel=3Dstylesheet =
type=3Dtext/css=20
href=3D"http://www.guglionesionline.it/Portals/_default/Containers/orange=
_futurism/container.css"><LINK=20
id=3D_Portals_0_ rel=3Dstylesheet type=3Dtext/css=20
href=3D"http://www.guglionesionline.it/Portals/0/portal.css"></HEAD>
<BODY id=3DBody><NOSCRIPT></NOSCRIPT>
<FORM style=3D"HEIGHT: 100%" id=3DForm encType=3Dmultipart/form-data =
method=3Dpost=20
name=3DForm=20
action=3D/Notizie/IlComunediTermolibonificadiversediscarichea/tabid/182/D=
efault.aspx=20
autocomplete=3D"off">
<DIV><INPUT id=3D__EVENTTARGET type=3Dhidden name=3D__EVENTTARGET> =
<INPUT=20
id=3D__EVENTARGUMENT type=3Dhidden name=3D__EVENTARGUMENT> <INPUT =
id=3D__VIEWSTATE=20
value=3D/wEPDwUJMjgzMDU3ODk3D2QWBmYPFgIeBFRleHQFPjwhRE9DVFlQRSBIVE1MIFBVQ=
kxJQyAiLS8vVzNDLy9EVEQgSFRNTCA0LjAgVHJhbnNpdGlvbmFsLy9FTiI+ZAIBD2QWDAIBDx=
YCHgdWaXNpYmxlaGQCAg8WAh4HY29udGVudAWtAkF2dmVuaW1lbnRpIGUgbm90aXppZSBkYWx=
sYSBjaXR0YWRpbmEgYWRyaWF0aWNhIGUgZGludG9ybmkuDQpFdmVudGksIHNwZXR0YWNjb2xp=
LCBjdWx0dXJhLCB0dXJpc21vLCBlIHBvbGl0aWNhIHF1ZXN0aSBzb25vIHNvbG8gYWxjdW5pI=
GRlaSB0ZW1pIHRyYXR0YXRpLiBJbm9sdHJlLCBlIGRpc3BvbmliaWxpZSB1biBGb3J1bSBjaG=
UgdHJhdHRhIGFyZ29tZW50aSByaXNlcnZhdGkgYSBHdWdsaW9uZXNpLCBwcmVzZW50ZSBuZWw=
gc2l0byBpbCBNdXJvIGRlaSBUaWZvc2kgZG92ZSBsbyBzcG9ydCBlIGRpIGF0dHVhbGl0w6Au=
DQpkAgMPFgIfAgXcAWd1Z2xpb25lc2ksbW9saXNlLG5vdGl6aWUsYXZ2ZW5pbWVudGksc3Bld=
HRhY29saSxtdXNpY2EsY2luZW1hLGFydGUsc3RvcmlhLGN1bHR1cmEsdGVybW9saSxiYXNzby=
Btb2xpc2UsZm90byxpbW1hZ2luaSxjYW1wb21hcmlubyxzYW4gZ2lhY29tbyBkZWdsaSBzY2h=
pYXZvbmkscGV0YWNjaWF0byxyaXN0b3JhbnRpLGhvdGVsLGFncml0dXJpc21vLHR1cmlzbW8s=
RG90TmV0TnVrZSxETk5kAgQPFgIfAgUoQ29weXJpZ2h0IChjKSBHdWdsaW9uZXNpb25saW5lI=
DIwMDctMjAwOWQCBQ8WAh8CBQtEb3ROZXROdWtlIGQCBg8WAh8CBRBndWdsaW9uZXNpb25saW=
5lZAICD2QWAgIBD2QWAgIED2QWAmYPZBYUAgIPZBYGZg8QDxYEHwAFA1dlYh4HVG9vbFRpcAU=
PQ2VyY2Egc3UgR29vZ2xlZGRkZAICDxAPFgQfAAUEU2l0bx8DBQ5DZXJjYSBuZWwgU2l0b2Rk=
ZGQCBg8PFgIfAAUFQ2VyY2FkZAIED2QWAgIBD2QWEGYPDxYCHwFoZGQCAQ9kFgICAg8WAh8Ba=
GQCAg8PFgIfAWhkZAIDD2QWAgIBD2QWAgIBD2QWAgICDxYCHwFoZAIEDw8WAh8BaGRkAgUPDx=
YCHwFoZGQCBg8PFgIfAWhkZAIHDw8WAh8BaGRkAgUPFgIeBWNsYXNzBRttaW5pYmFubmVycGF=
uZSBETk5FbXB0eVBhbmVkAgYPZBYCZg8PFgIfAAUNUmVnaXN0cmF6aW9uZWRkAgcPZBYCZg8P=
FgIfAAUFTG9naW5kZAIJDxYCHwQFFHRvcHBhbmUgRE5ORW1wdHlQYW5lZAIKD2QWAgIBD2QWE=
GYPDxYCHwFoZGQCAQ9kFgICAg8WAh8BaGQCAg8PFgIfAWhkZAIDD2QWAgIBD2QWAgIBD2QWAg=
ICDxYCHwFoZAIEDw8WAh8BaGRkAgUPDxYCHwFoZGQCBg8PFgIfAWhkZAIHDw8WAh8BaGRkAgs=
PZBYGAgEPZBYOZg8PFgIfAWhkZAIBD2QWAgICDxYCHwFoZAICDw8WAh8BaGRkAgMPZBYCAgEP=
ZBYCAgEPZBYCAgIPFgIfAWhkAgQPDxYCHwFoZGQCBQ8PFgIfAWhkZAIHDw8WAh8BaGRkAgMPZ=
BYQZg8PFgIfAWhkZAIBD2QWAgICDxYCHwFoZAICDw8WAh8BaGRkAgMPZBYCAgEPZBYCAgEPZB=
YCAgIPFgIfAWhkAgQPDxYCHwFoZGQCBQ8PFgIfAWhkZAIGDw8WAh8BaGRkAgcPDxYCHwFoZGQ=
CBQ9kFg5mDw8WAh8BaGRkAgEPZBYCAgIPFgIfAWhkAgIPDxYCHwFoZGQCBA8PFgIfAWhkZAIF=
Dw8WAh8BaGRkAgYPDxYCHwFoZGQCBw8PFgIfAWhkZAIMDxYCHwQFFnJpZ2h0cGFuZSBETk5Fb=
XB0eVBhbmVkAg0PZBYEAgEPZBYQZg8PFgIfAWhkZAIBD2QWAgICDxYCHwFoZAICDw8WAh8BaG=
RkAgMPZBYCAgEPZBYCAgEPZBYCAgIPFgIfAWhkAgQPDxYCHwFoZGQCBQ8PFgIfAWhkZAIGDw8=
WAh8BaGRkAgcPDxYCHwFoZGQCAw9kFg5mDw8WAh8BaGRkAgEPZBYCAgIPFgIfAWhkAgIPDxYC=
HwFoZGQCBA8PFgIfAWhkZAIFDw8WAh8BaGRkAgYPDxYCHwFoZGQCBw8PFgIfAWhkZBgBBR5fX=
0NvbnRyb2xzUmVxdWlyZVBvc3RCYWNrS2V5X18WAgUUZG5uJGRublNlYXJjaCRvcHRXZWIFFW=
RubiRkbm5TZWFyY2gkb3B0U2l0ZVAdTU/BObHovTWGJ1E77w7cqBhw=20
type=3Dhidden name=3D__VIEWSTATE> </DIV>
<SCRIPT type=3Dtext/javascript>
//<![CDATA[
var theForm =3D document.forms['Form'];
if (!theForm) {
    theForm =3D document.Form;
}
function __doPostBack(eventTarget, eventArgument) {
    if (!theForm.onsubmit || (theForm.onsubmit() !=3D false)) {
        theForm.__EVENTTARGET.value =3D eventTarget;
        theForm.__EVENTARGUMENT.value =3D eventArgument;
        theForm.submit();
    }
}
//]]>
</SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.guglionesionline.it/WebResource.axd?d=3DIYK2lN4DkJ0AMP8=
5WF778A2&amp;t=3D633687245924744746"></SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.guglionesionline.it/js/dnncore.js"></SCRIPT>
<!-- Solution Partner's ASP.NET Hierarchical Menu (v1.7.2.0) - =
http://www.solpart.com -->
<SCRIPT=20
src=3D"http://www.guglionesionline.it/controls/SolpartMenu/spmenu.js"></S=
CRIPT>
<SPAN id=3Ddnn_dnnMENU_ctldnnMENU_divOuterTables></SPAN>
<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.guglionesionline.it/ScriptResource.axd?d=3Dxw_1pgPl5gPo=
uCKVqh8yFUu1VCQnS8kUSHG97CcyYa6yKD6_1nR8YDRX5hpUUIRs0&amp;t=3D63344541582=
0000000"></SCRIPT>

<SCRIPT type=3Dtext/javascript=20
src=3D"http://www.guglionesionline.it/ScriptResource.axd?d=3Dxw_1pgPl5gPo=
uCKVqh8yFUu1VCQnS8kUSHG97CcyYa72bVoY-ibINVnHGqZD883RxTf3Sl6XJQk1&amp;t=3D=
633445415820000000"></SCRIPT>

<SCRIPT type=3Dtext/javascript>
//<![CDATA[
Sys.WebForms.PageRequestManager._initialize('ScriptManager', =
document.getElementById('Form'));
Sys.WebForms.PageRequestManager.getInstance()._updateControls([], [], =
[], 90);
//]]>
</SCRIPT>
<LINK rel=3Dstylesheet type=3Dtext/css href=3D"skin.css">
<TABLE class=3Dpagemaster border=3D0 cellSpacing=3D0 cellPadding=3D0>
  <TBODY>
  <TR>
    <TD vAlign=3Dtop>
      <TABLE class=3Dskinmaster border=3D0 cellSpacing=3D0 =
cellPadding=3D0 width=3D770=20
      align=3Dcenter>
        <TBODY>
        <TR>
          <TD id=3Ddnn_ControlPanel class=3Dcontentpane vAlign=3Dtop=20
        align=3Dmiddle></TD></TR>
        <TR>
          <TD class=3DMediaFlashBackground vAlign=3Dtop>
            <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%"=20
              height=3D85><TBODY>
              <TR>
                <TD height=3D85 vAlign=3Dtop width=3D520>
                  <OBJECT=20
                  =
codeBase=3D"http://download.macromedia.com/pub/shockwave/cabs/flash/swfla=
sh.cab#version=3D6,0,29,0"=20
                  classid=3Dclsid:D27CDB6E-AE6D-11cf-96B8-444553540000 =
width=3D520=20
                  align=3Dtop height=3D85><PARAM NAME=3D"movie" =
VALUE=3D"/Portals/_default/Skins/XDMediaBlue/MediaBlue.swf"><PARAM =
NAME=3D"quality" VALUE=3D"high"><PARAM NAME=3D"wmode" =
VALUE=3D"transparent">
                                    <embed=20
                  =
src=3D"/Portals/_default/Skins/XDMediaBlue/MediaBlue.swf"=20
                  width=3D"520" height=3D"85" hspace=3D"0" vspace=3D"0" =
align=3D"top"=20
                  quality=3D"high"=20
                  =
pluginspage=3D"http://www.macromedia.com/go/getflashplayer"=20
                  type=3D"application/x-shockwave-flash"></embed>    =
</OBJECT></TD>
                <TD>
                  <TABLE class=3DFlashRepeat border=3D0 cellSpacing=3D0 =
cellPadding=3D0=20
                  width=3D"100%" height=3D85>
                    <TBODY>
                    <TR>
                      <TD class=3DDarkBG height=3D40 align=3Dright><SPAN =

                        id=3Ddnn_dnnCURRENTDATE_lblDate =
class=3DMediaTabs>marted=C3=AC 14=20
                        aprile 2009</SPAN> &nbsp;&nbsp;</TD></TR>
                    <TR>
                      <TD height=3D22 vAlign=3Dbottom =
align=3Dright><SPAN=20
                        class=3DSkinObject title=3D"Cerca su =
Google"><INPUT=20
                        id=3Ddnn_dnnSearch_optWeb value=3DoptWeb =
type=3Dradio=20
                        name=3Ddnn$dnnSearch$Search><LABEL=20
                        for=3Ddnn_dnnSearch_optWeb>Web</LABEL></SPAN> =
<SPAN=20
                        class=3DSkinObject title=3D"Cerca nel =
Sito"><INPUT=20
                        id=3Ddnn_dnnSearch_optSite value=3DoptSite =
CHECKED=20
                        type=3Dradio name=3Ddnn$dnnSearch$Search><LABEL=20
                        for=3Ddnn_dnnSearch_optSite>Sito</LABEL></SPAN> =
<INPUT=20
                        onkeydown=3D"return __dnn_KeyDown('13', =
'javascript:__doPostBack(%27dnn$dnnSearch$cmdSearch%27,%27%27)', =
event);"=20
                        id=3Ddnn_dnnSearch_txtSearch =
class=3DNormalTextBox=20
                        maxLength=3D255 =
name=3Ddnn$dnnSearch$txtSearch>&nbsp; <A=20
                        id=3Ddnn_dnnSearch_cmdSearch class=3DSkinObject=20
                        =
href=3D"javascript:__doPostBack('dnn$dnnSearch$cmdSearch','')">Cerca</A>&=
nbsp;&nbsp;</TD></TR>
                    <TR>
                      <TD=20
            =
height=3D15>&nbsp;</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE>
            <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%"=20
              height=3D85><TBODY>
              <TR>
                <TD class=3DBlankMenu height=3D85 vAlign=3Dtop =
width=3D520 noWrap=20
                align=3Dleft>
                  <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0>
                    <TBODY>
                    <TR>
                      <TD class=3DMenuBG><SPAN =
id=3Ddnn_dnnMENU_ctldnnMENU=20
                        SupportsTrans=3D"1"=20
                        CSSRootMenuArw=3D"MainMenu_RootMenuArrow"=20
                        CSSMenuItemSel=3D"MainMenu_MenuItemSel"=20
                        CSSMenuItem=3D"MainMenu_MenuItem"=20
                        CSSMenuIcon=3D"MainMenu_MenuIcon"=20
                        CSSSubMenu=3D"MainMenu_SubMenu"=20
                        CSSMenuBar=3D"MainMenu_MenuBar"=20
                        CSSMenuContainer=3D"MainMenu_MenuContainer"=20
                        CSSMenuBreak=3D"MainMenu_MenuBreak"=20
                        CSSMenuArrow=3D"MainMenu_MenuArrow" =
RootArrow=3D"-1"=20
                        RootArrowImage=3D"menu_down.gif"=20
                        ArrowImage=3D"breadcrumb.gif" =
IconImgPath=3D"/Portals/0/"=20
                        BorderWidth=3D"0" MenuTransition=3D"None" =
MOutDelay=3D"500"=20
                        IconWidth=3D"15" MenuItemHeight=3D"21" =
MenuBarHeight=3D"16"=20
                        Display=3D"horizontal" SysImgPath=3D"/images/"=20
                        FontStyle=3D"font-family: =
Tahoma,Arial,Helvetica; font-size: 9pt; font-weight: bold; font-style: =
normal; text-decoration: "=20
                        SelColor=3D"#CCCCCC" SelForeColor=3D"White"=20
                        ShColor=3D"#404040" HlColor=3D"#FF8080"=20
                        IconBackgroundColor=3D"#333333" =
BackColor=3D"#333333"=20
                        name=3D"dnn$dnnMENU$ctldnnMENU"><xml =
id=3DSolpartMenuDI onreadystatechange=3D"if (this.readyState =3D=3D =
'complete') spm_initMyMenu(this, =
spm_getById('dnn_dnnMENU_ctldnnMENU'))"><root><menuitem id=3D"36" =
title=3D"Home" =
url=3D"http://www.guglionesionline.it/Home/tabid/36/Default.aspx" =
/><menuitem id=3D"56" title=3D"Libri" =
url=3D"http://www.guglionesionline.it/Libri/tabid/56/Default.aspx" =
/><menuitem id=3D"64" title=3D"Cenni storici" =
url=3D"http://www.guglionesionline.it/Cennistorici/tabid/64/Default.aspx"=
 /><menuitem id=3D"71" title=3D"Arte &amp; Cultura" =
url=3D"http://www.guglionesionline.it/ArteCultura/tabid/71/Default.aspx" =
/><menuitem id=3D"103" title=3D"Toolbar" =
url=3D"http://www.guglionesionline.it/Toolbar/tabid/103/Default.aspx" =
/><menuitem id=3D"125" title=3D"Forum" =
url=3D"http://www.guglionesionline.it/Forum/tabid/125/Default.aspx" =
/></root></xml></SPAN></TD>
                      <TD class=3DMenuRight =
width=3D22>&nbsp;</TD></TR></TBODY></TABLE>
                  <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0 =
width=3D350=20
                  height=3D55>
                    <TBODY>
                    <TR>
                      <TD id=3Ddnn_LogoPane class=3Dlogopane =
vAlign=3Dtop=20
                        align=3Dmiddle><A name=3D588></A>
                        <DIV id=3Dcommon>
                        <TABLE border=3D0 cellSpacing=3D0 =
cellPadding=3D0=20
width=3D"100%">
                          <TBODY>
                          <TR height=3D25>
                            <TD>&nbsp;</TD>
                            <TD noWrap><SPAN =
id=3Ddnn_ctr588_dnnTITLE_lblTitle=20
                              class=3DHead>&nbsp;</SPAN> &nbsp;</TD>
                            <TD =
width=3D"100%"></TD></TR></TBODY></TABLE>
                        <TABLE border=3D0 cellSpacing=3D0 =
cellPadding=3D0=20
width=3D"100%">
                          <TBODY>
                          <TR height=3D1>
                            <TD><IMG=20
                              =
src=3D"http://www.guglionesionline.it/Portals/_default/Containers/orange_=
futurism/media/line_left.gif"=20
                              width=3D40 height=3D1></TD>
                            <TD style=3D"BACKGROUND: #e0e0e0" =
width=3D"100%"><IMG=20
                              =
src=3D"http://www.guglionesionline.it/Portals/_default/Containers/orange_=
futurism/media/spacer.gif"=20
                              width=3D1 height=3D1></TD>
                            <TD><IMG=20
                              =
src=3D"http://www.guglionesionline.it/Portals/_default/Containers/orange_=
futurism/media/line_right.gif"=20
                              width=3D40 =
height=3D1></TD></TR></TBODY></TABLE>
                        <TABLE style=3D"MARGIN-BOTTOM: 5px" border=3D0 =
cellSpacing=3D0=20
                        cellPadding=3D0 width=3D"100%">
                          <TBODY>
                          <TR>
                            <TD id=3Ddnn_ctr588_ContentPane=20
                            class=3D"content1 DNNAligncenter"><!-- =
Start_Module_588 -->
                              <DIV id=3Ddnn_ctr588_ModuleContent>
                              <DIV id=3Ddnn_ctr588_HtmlModule_lblContent =

                              class=3DNormal><IMG =
title=3DGuglionesionline border=3D0=20
                              =
src=3D"http://www.guglionesionline.it/Portals/0/immagini/logo%20sito/gugl=
ionesionline%20logo%20finito.gif"=20
                              width=3D350 height=3D80><BR></DIV><!-- =
End_Module_588 --></DIV></TD></TR></TBODY></TABLE>
                        <TABLE border=3D0 cellSpacing=3D0 =
cellPadding=3D0=20
width=3D"100%">
                          <TBODY>
                          <TR>
                            <TD></TD>
                            <TD align=3Dright>&nbsp;&nbsp;&nbsp;&nbsp;=20
                          =
</TD></TR></TBODY></TABLE></DIV></TD></TR></TBODY></TABLE></TD>
                <TD class=3DMenuRepeat vAlign=3Dtop noWrap =
align=3Dright>
                  <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0 =
width=3D250=20
                  height=3D80>
                    <TBODY>
                    <TR>
                      <TD id=3Ddnn_MiniBannerPane=20
                      class=3D"minibannerpane DNNEmptyPane" height=3D35 =
vAlign=3Dtop=20
                      align=3Dright></TD></TR>
                    <TR>
                      <TD align=3Dright><A id=3Ddnn_dnnUSER_cmdRegister=20
                        class=3DSkinObject=20
                        =
href=3D"javascript:__doPostBack('dnn$dnnUSER$cmdRegister','')">Registrazi=
one</A>&nbsp;&nbsp;<A=20
                        id=3Ddnn_dnnLOGIN_cmdLogin class=3DSkinObject=20
                        =
href=3D"javascript:__doPostBack('dnn$dnnLOGIN$cmdLogin','')">Login</A>&nb=
sp;&nbsp;<BR><SPAN=20
                        id=3Ddnn_dnnBREADCRUMB_lblBreadCrumb><SPAN=20
                        =
class=3DSkinObject>Notizie</SPAN>&nbsp;=C2=BB&nbsp;<A=20
                        class=3DSkinObject=20
                        =
href=3D"http://www.guglionesionline.it/Notizie/IlComunediTermolibonificad=
iversediscarichea/tabid/182/Default.aspx">Il=20
                        Comune di Termoli bonifica diverse discariche=20
                        a</A></SPAN>=20
            =
&nbsp;</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR>
        <TR>
          <TD height=3D"100%" vAlign=3Dtop><!-- Begin Content Panes -->
            <TABLE border=3D0 cellSpacing=3D3 cellPadding=3D3 =
width=3D"100%">
              <TBODY>
              <TR>
                <TD id=3Ddnn_TopPane class=3D"toppane DNNEmptyPane" =
vAlign=3Dtop=20
                colSpan=3D3 align=3Dmiddle></TD></TR>
              <TR vAlign=3Dtop>
                <TD id=3Ddnn_LeftPane class=3Dleftpane vAlign=3Dtop =
align=3Dmiddle><A=20
                  name=3D993></A>
                  <DIV id=3Dcommon>
                  <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%">
                    <TBODY>
                    <TR height=3D25>
                      <TD>&nbsp;</TD>
                      <TD noWrap><SPAN id=3Ddnn_ctr993_dnnTITLE_lblTitle =

                        class=3DHead>&nbsp;</SPAN> &nbsp;</TD>
                      <TD width=3D"100%"></TD></TR></TBODY></TABLE>
                  <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%">
                    <TBODY>
                    <TR height=3D1>
                      <TD><IMG=20
                        =
src=3D"http://www.guglionesionline.it/Portals/_default/Containers/orange_=
futurism/media/line_left.gif"=20
                        width=3D40 height=3D1></TD>
                      <TD style=3D"BACKGROUND: #e0e0e0" =
width=3D"100%"><IMG=20
                        =
src=3D"http://www.guglionesionline.it/Portals/_default/Containers/orange_=
futurism/media/spacer.gif"=20
                        width=3D1 height=3D1></TD>
                      <TD><IMG=20
                        =
src=3D"http://www.guglionesionline.it/Portals/_default/Containers/orange_=
futurism/media/line_right.gif"=20
                        width=3D40 height=3D1></TD></TR></TBODY></TABLE>
                  <TABLE style=3D"MARGIN-BOTTOM: 5px" border=3D0 =
cellSpacing=3D0=20
                  cellPadding=3D0 width=3D"100%">
                    <TBODY>
                    <TR>
                      <TD id=3Ddnn_ctr993_ContentPane=20
                      class=3D"content1 DNNAlignleft"><!-- =
Start_Module_993 -->
                        <DIV id=3Ddnn_ctr993_ModuleContent>
                        <DIV id=3Ddnn_ctr993_HtmlModule_lblContent =
class=3DNormal>
                        <DIV id=3Dcoolmenu><FONT=20
                        face=3D"Times New Roman"><STRONG><FONT =
color=3D#0000ff=20
                        size=3D2>Contatti</FONT></STRONG> </FONT><A=20
                        onmouseover=3D"showtext('Invia una mail')"=20
                        onmouseout=3Dhidetext()=20
                        href=3D"mailto:iinfo@guglionesionline.it"><FONT=20
                        size=3D2><SPAN style=3D"FONT-WEIGHT: 400">Invia =
una @=20
                        mail</SPAN></FONT></A> <A=20
                        onmouseover=3D"showtext('Scrivi a =
guglionesionline')"=20
                        onmouseout=3Dhidetext()=20
                        =
href=3D"http://www.guglionesionline.it/Notizie/Scriviaguglionesionline/ta=
bid/138/Default.aspx"><FONT=20
                        size=3D2>S<SPAN style=3D"FONT-WEIGHT: 400">crivi =
a=20
                        guglionesionline</SPAN></FONT></A><FONT =
size=3D2> <FONT=20
                        color=3D#0000ff face=3D"Times New =
Roman"><STRONG>Tempo=20
                        Libero</STRONG></FONT></FONT> <A=20
                        onmouseover=3D"showtext('Archivio sondaggi')"=20
                        onmouseout=3Dhidetext()=20
                        =
href=3D"http://www.guglionesionline.it/Notizie/Archiviosondaggi/tabid/112=
/Default.aspx"><FONT=20
                        size=3D2><SPAN style=3D"FONT-WEIGHT: =
400">Archivio=20
                        sondaggi</SPAN></FONT></A> <A=20
                        onmouseover=3D"showtext('Anteprima cinema')"=20
                        onmouseout=3Dhidetext()=20
                        =
href=3D"http://www.guglionesionline.it/Turismo/CinemaTeatro/tabid/63/Defa=
ult.aspx"><FONT=20
                        size=3D2><SPAN style=3D"FONT-WEIGHT: 400">Cinema =
&amp;=20
                        Teatro</SPAN></FONT></A> <A=20
                        onmouseover=3D"showtext('Libri')" =
onmouseout=3Dhidetext()=20
                        =
href=3D"http://www.guglionesionline.it/Libri/tabid/56/Default.aspx"><FONT=
=20
                        size=3D2><SPAN=20
                        style=3D"FONT-WEIGHT: =
400">Libri</SPAN></FONT></A> <A=20
                        onmouseover=3D"showtext('Video di =
guglionesionline')"=20
                        onmouseout=3Dhidetext()=20
                        =
href=3D"http://www.guglionesionline.it/Turismo/Video/tabid/179/Default.as=
px"><FONT=20
                        size=3D2><SPAN=20
                        style=3D"FONT-WEIGHT: =
400">Video</SPAN></FONT></A> <FONT=20
                        face=3D"Times New Roman"><FONT color=3D#0000ff =
size=3D2><SPAN=20
                        style=3D"FONT-WEIGHT: =
400"><STRONG>Turismo</STRONG></SPAN></FONT>=20
                        </FONT><A=20
                        onmouseover=3D"showtext('Agriturismo in =
Molise')"=20
                        onmouseout=3Dhidetext()=20
                        =
href=3D"http://www.guglionesionline.it/Turismo/Agriturismo/tabid/60/Defau=
lt.aspx"><FONT=20
                        size=3D2><SPAN=20
                        style=3D"FONT-WEIGHT: =
400">Agriturismo</SPAN></FONT></A>=20
                        <A onmouseover=3D"showtext('Dove dormire in =
Molise')"=20
                        onmouseout=3Dhidetext()=20
                        =
href=3D"http://www.guglionesionline.it/Turismo/BedBreakfast/tabid/61/Defa=
ult.aspx"><FONT=20
                        size=3D2><SPAN style=3D"FONT-WEIGHT: 400">Bed =
&amp;=20
                        Breakfast</SPAN></FONT></A> <A=20
                        onmouseover=3D"showtext('Hotel in Molise')"=20
                        onmouseout=3Dhidetext()=20
                        =
href=3D"http://www.guglionesionline.it/Turismo/Hotels/tabid/59/Default.as=
px"><FONT=20
                        size=3D2><SPAN=20
                        style=3D"FONT-WEIGHT: =
400">Hotels</SPAN></FONT></A> <A=20
                        onmouseover=3D"showtext('Itinerari turistici')"=20
                        onmouseout=3Dhidetext()=20
                        =
href=3D"http://www.guglionesionline.it/Turismo/Itinerari/tabid/87/Default=
.aspx"><FONT=20
                        size=3D2><SPAN style=3D"FONT-WEIGHT: =
400">Itinerari=20
                        turistici</SPAN></FONT></A> <A=20
                        onmouseover=3D"showtext('Ristoranti in Molise')" =

                        onmouseout=3Dhidetext()=20
                        =
href=3D"http://www.guglionesionline.it/Turismo/Ristoranti/tabid/58/Defaul=
t.aspx"><FONT=20
                        size=3D2><SPAN=20
                        style=3D"FONT-WEIGHT: =
400">Ristoranti</SPAN></FONT></A>=20
                        <FONT face=3D"Times New Roman"><FONT =
color=3D#0000ff=20
                        size=3D2><SPAN=20
                        style=3D"FONT-WEIGHT: =
400"><STRONG>Utilit=C3=A0</STRONG></SPAN></FONT>=20
                        </FONT><A=20
                        onmouseover=3D"showtext('Calcola il tuo Codice =
Fiscale')"=20
                        onmouseout=3Dhidetext()=20
                        =
href=3D"http://www.comuni.it/servizi/codfisc/"><FONT=20
                        size=3D2><SPAN style=3D"FONT-WEIGHT: =
400">Calcola il Codice=20
                        Fiscale</SPAN></FONT></A> <A=20
                        onmouseover=3D"showtext('Trova numero di =
telefono')"=20
                        onmouseout=3Dhidetext()=20
                        href=3D"http://1254.virgilio.it/"><FONT =
size=3D2><SPAN=20
                        style=3D"FONT-WEIGHT: 400">Elenco=20
                        telefonico</SPAN></FONT></A> <A=20
                        onmouseover=3D"showtext('Lotterie italiane')"=20
                        onmouseout=3Dhidetext()=20
                        =
href=3D"http://www.guglionesionline.it/Notizie/EstarzioneLotto/tabid/124/=
Default.aspx"><FONT=20
                        size=3D2><SPAN style=3D"FONT-WEIGHT: =
400">Estrazioni del=20
                        Lotto</SPAN></FONT></A> <A=20
                        onmouseover=3D"showtext('Lotterie italiane')"=20
                        onmouseout=3Dhidetext()=20
                        =
href=3D"http://www.guglionesionline.it/Notizie/EstarzioneLotto/Estrazione=
Superenalotto/tabid/123/Default.aspx"><FONT=20
                        size=3D2><SPAN style=3D"FONT-WEIGHT: =
400">Estrazioni=20
                        Superenalotto</SPAN></FONT></A> <A=20
                        onmouseover=3D"showtext('Il tempo nel Basso =
Molise')"=20
                        onmouseout=3Dhidetext()=20
                        =
href=3D"http://www.guglionesionline.it/Notizie/Meteomolise/tabid/77/Defau=
lt.aspx"><FONT=20
                        size=3D2><SPAN style=3D"FONT-WEIGHT: 400">Meteo =
Basso=20
                        Molise</SPAN></FONT></A> <A=20
                        onmouseover=3D"showtext('Orario dei treni =
FFSS')"=20
                        onmouseout=3Dhidetext()=20
                        href=3D"http://www.ferroviedellostato.it/"><FONT =

                        size=3D2><SPAN style=3D"FONT-WEIGHT: 400">Orario =
Treni=20
                        FFSS</SPAN></FONT></A> <FONT=20
                        face=3D"Times New Roman"><FONT color=3D#0000ff =
size=3D2><SPAN=20
                        style=3D"FONT-WEIGHT: =
400"><STRONG>Associazioni</STRONG></SPAN></FONT>=20
                        </FONT><A=20
                        onmouseover=3D"showtext('Associazioni sul =
territorio')"=20
                        onmouseout=3Dhidetext()=20
                        =
href=3D"http://www.guglionesionline.it/Turismo/Associazioni/GruppoFolklor=
istico/tabid/72/Default.aspx"><FONT=20
                        size=3D2><SPAN style=3D"FONT-WEIGHT: =
400">Associazione "I=20
                        Guje"</SPAN></FONT></A> <A=20
                        onmouseover=3D"showtext('Associazioni sul =
territorio')"=20
                        onmouseout=3Dhidetext()=20
                        =
href=3D"http://www.guglionesionline.it/Turismo/Associazioni/AssociazioneS=
anNicola/tabid/69/Default.aspx"><FONT=20
                        size=3D2><SPAN style=3D"FONT-WEIGHT: =
400">O.N.L.U.S. San=20
                        Nicola</SPAN></FONT></A> <FONT color=3D#0000ff =
size=3D2=20
                        face=3D"Times New Roman"><SPAN=20
                        style=3D"FONT-WEIGHT: 400"><STRONG>Link=20
                        molisani</STRONG></SPAN></FONT> <A=20
                        onmouseover=3D"showtext('Sito ufficiale Comune =
di Guglionesi')"=20
                        onmouseout=3Dhidetext()=20
                        =
href=3D"http://62.94.24.124/guglionesi/hh/index.php?jvs=3D0&amp;acc=3D1&a=
mp;jvs=3D1"><FONT=20
                        size=3D2><SPAN style=3D"FONT-WEIGHT: 400">Comune =
di=20
                        Guglionesi</SPAN></FONT></A> <A=20
                        onmouseover=3D"showtext('Castelli molisani')"=20
                        onmouseout=3Dhidetext()=20
                        =
href=3D"http://www.mondimedievali.net/Castelli/molise.htm"><FONT=20
                        size=3D2><SPAN style=3D"FONT-WEIGHT: =
400">Castelli in=20
                        Molise</SPAN></FONT></A> <A=20
                        onmouseover=3D"showtext('Sito ufficiale della =
Provincia di Campobasso')"=20
                        onmouseout=3Dhidetext()=20
                        =
href=3D"http://www.provincia.campobasso.it/"><FONT=20
                        size=3D2><SPAN style=3D"FONT-WEIGHT: =
400">Provincia=20
                        Campobasso</SPAN></FONT></A> <A=20
                        onmouseover=3D"showtext('Sito ufficiale della =
Regione Molise')"=20
                        onmouseout=3Dhidetext()=20
                        =
href=3D"http://www.regione.molise.it/pim/pimrm.nsf/(Home.it)?OpenView"><F=
ONT=20
                        size=3D2><SPAN style=3D"FONT-WEIGHT: =
400">Regione=20
                        Molise</SPAN></FONT></A> <A=20
                        onmouseover=3D"showtext('Universit=C3=A0 degli =
Studi del Molise')"=20
                        onmouseout=3Dhidetext()=20
                        =
href=3D"http://www.unimol.it/newweb/index.htm"><FONT=20
                        size=3D2><SPAN style=3D"FONT-WEIGHT: =
400">Universit=C3=A0 del=20
                        Molise</SPAN></FONT></A> <A=20
                        onmouseover=3D"showtext('Sito ufficiale del WWF =
del Molise')"=20
                        onmouseout=3Dhidetext()=20
                        =
href=3D"http://www.wwf.it/client/render.aspx?content=3D0&amp;root=3D1110"=
><FONT=20
                        size=3D2><SPAN style=3D"FONT-WEIGHT: 400">WWF=20
                        Molise</SPAN></FONT></A> <FONT color=3D#0000ff =
size=3D2=20
                        face=3D"Times New Roman"><SPAN=20
                        style=3D"FONT-WEIGHT: 400"><STRONG>La nostra=20
                        citt=C3=A0</STRONG></SPAN></FONT> <A=20
                        onmouseover=3D"showtext('Scheda del Comune di =
Guglionesi')"=20
                        onmouseout=3Dhidetext()=20
                        =
href=3D"http://www.guglionesionline.it/Turismo/Dovesiamo/tabid/133/Defaul=
t.aspx"><FONT=20
                        size=3D2><SPAN style=3D"FONT-WEIGHT: 400">Dove=20
                        siamo</SPAN></FONT></A>=20
                        <DIV id=3Dtabledescription></DIV></DIV>
                        <P style=3D"FONT: 10px Times new =
Roman">&nbsp;</P>
                        <P>
                        <STYLE type=3Dtext/css>#coolmenu {
	BORDER-BOTTOM: #ffffff 1px solid; BORDER-LEFT: #ffffff 1px solid; =
BACKGROUND-COLOR: #ffffff; WIDTH: 145px; BORDER-TOP: #ffffff 1px solid; =
BORDER-RIGHT: #ffffff 1px solid
}
#coolmenu A {
	BORDER-BOTTOM: #ffffff 1px solid; PADDING-BOTTOM: 2px; PADDING-LEFT: =
2px; WIDTH: 100%; PADDING-RIGHT: 2px; DISPLAY: block; FONT: bold 10px =
Times new Roman; COLOR: black; TEXT-DECORATION: none; PADDING-TOP: 2px
}
HTML > BODY #coolmenu A {
	WIDTH: auto
}
#coolmenu A:hover {
	BACKGROUND-COLOR: #ff9900; COLOR: white
}
#tabledescription {
	FILTER: alpha(opacity=3D0); PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; =
WIDTH: 100%; PADDING-RIGHT: 2px; HEIGHT: 2px; PADDING-TOP: 2px; =
-moz-opacity: 0
}
</STYLE>
                        </P>
                        <SCRIPT type=3Dtext/javascript>

// Cool CSS Menu- By JavaScriptKit.com (http://www.javascriptkit.com)
// For this and over 400+ free scripts, visit JavaScript Kit- =
http://www.javascriptkit.com/
// Fading routine based on Dynamic Drive script: =
http://www.dynamicdrive.com/dynamicindex4/highlightgrad.htm
// This notice must stay intact for use

var baseopacity=3D0

function showtext(thetext){
if (!document.getElementById)
return
textcontainerobj=3Ddocument.getElementById("tabledescription")
browserdetect=3Dtextcontainerobj.filters? "ie" : typeof =
textcontainerobj.style.MozOpacity=3D=3D"string"? "mozilla" : ""
instantset(baseopacity)
document.getElementById("tabledescription").innerHTML=3Dthetext
highlighting=3DsetInterval("gradualfade(textcontainerobj)",50)
}

function hidetext(){
cleartimer()
instantset(baseopacity)
}

function instantset(degree){
if (browserdetect=3D=3D"mozilla")
textcontainerobj.style.MozOpacity=3Ddegree/100
else if (browserdetect=3D=3D"ie")
textcontainerobj.filters.alpha.opacity=3Ddegree
else if (document.getElementById && baseopacity=3D=3D0)
document.getElementById("tabledescription").innerHTML=3D""
}

function cleartimer(){
if (window.highlighting) clearInterval(highlighting)
}

function gradualfade(cur2){
if (browserdetect=3D=3D"mozilla" && cur2.style.MozOpacity<1)
cur2.style.MozOpacity=3DMath.min(parseFloat(cur2.style.MozOpacity)+0.2, =
0.99)
else if (browserdetect=3D=3D"ie" && cur2.filters.alpha.opacity<100)
cur2.filters.alpha.opacity+=3D20
else if (window.highlighting)
clearInterval(highlighting)
}

</SCRIPT>
                        </DIV><!-- End_Module_993 =
--></DIV></TD></TR></TBODY></TABLE>
                  <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%">
                    <TBODY>
                    <TR>
                      <TD></TD>
                      <TD align=3Dright>&nbsp;&nbsp;&nbsp;&nbsp;=20
                  </TD></TR></TBODY></TABLE></DIV></TD>
                <TD id=3Ddnn_ContentPane class=3Dcontentpane =
vAlign=3Dtop=20
                  align=3Dmiddle><A name=3D983></A>
                  <DIV id=3Dcommon>
                  <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%">
                    <TBODY>
                    <TR height=3D25>
                      <TD>&nbsp;</TD>
                      <TD noWrap><SPAN id=3Ddnn_ctr983_dnnTITLE_lblTitle =

                        class=3DHead>.....dalla prima pagina</SPAN> =
&nbsp;</TD>
                      <TD width=3D"100%"></TD></TR></TBODY></TABLE>
                  <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%">
                    <TBODY>
                    <TR height=3D1>
                      <TD><IMG=20
                        =
src=3D"http://www.guglionesionline.it/Portals/_default/Containers/orange_=
futurism/media/line_left.gif"=20
                        width=3D40 height=3D1></TD>
                      <TD style=3D"BACKGROUND: #e0e0e0" =
width=3D"100%"><IMG=20
                        =
src=3D"http://www.guglionesionline.it/Portals/_default/Containers/orange_=
futurism/media/spacer.gif"=20
                        width=3D1 height=3D1></TD>
                      <TD><IMG=20
                        =
src=3D"http://www.guglionesionline.it/Portals/_default/Containers/orange_=
futurism/media/line_right.gif"=20
                        width=3D40 height=3D1></TD></TR></TBODY></TABLE>
                  <TABLE style=3D"MARGIN-BOTTOM: 5px" border=3D0 =
cellSpacing=3D0=20
                  cellPadding=3D0 width=3D"100%">
                    <TBODY>
                    <TR>
                      <TD id=3Ddnn_ctr983_ContentPane=20
                      class=3D"content1 DNNAlignleft"><!-- =
Start_Module_983 -->
                        <DIV id=3Ddnn_ctr983_ModuleContent>
                        <DIV id=3Ddnn_ctr983_HtmlModule_lblContent =
class=3DNormal>
                        <P><STRONG><EM><FONT color=3D#ff6600 size=3D2=20
                        face=3D"Times New Roman">Il Comune di Termoli =
bonifica=20
                        diverse discariche =
abusive</FONT></EM></STRONG></P>
                        <P><FONT size=3D2 face=3D"Times New =
Roman">Termoli. 14/04/09=20
                        - L=E2=80=99azione incisiva sul territorio di =
Ambiente Basso=20
                        Molise comincia a dare i suoi frutti, ma il =
merito=20
                        esclusivo =C3=A8 dei Comuni. &nbsp;Dopo le =
bonifiche di S.=20
                        Giacomo e Guglionesi anche il comune di Termoli =
sceglie=20
                        la strada di bonificare il territorio. Con =
raccomandata=20
                        13497837278-1 del 12/03/09 abbiamo segnalato =
diverse=20
                        discariche abusive sulla ex SS16 e sulla strada=20
                        interpoderale con ingresso presso =
l=E2=80=99Hotel Europa sulla=20
                        Bifernina. Tantissimo materiale rimosso: =
centinaia di=20
                        gomme di auto, centinaia di cassette da frutta,=20
                        materassi, materiale edile, scarti di mobili, =
plastica,=20
                        polistirolo, eternit, bid=C3=A8, bombole, =
cassette=20
                        polistirolo,e tantissimo altro materiale. Un =
buon lavoro=20
                        fatto ma non completo Chiediamo un ulteriore =
sforzo al=20
                        comune di Termoli: quello di bonificare il sito =
di=20
                        eternit presente sulla S.P. 113, si pu=C3=B2 =
fare e deve=20
                        essere fatto: =C3=A8 il pi=C3=B9 pericoloso. Ma =
come ci vengono=20
                        restituiti alcuni tratti di territorio =
bonificati, i=20
                        soliti delinquenti si disfano di altro materiale =

                        inutile. E' una vera e propria piaga della =
nostra=20
                        societ=C3=A0, in cui spesso il senso civico =
=C3=A8 direttamente=20
                        proporzionale alla disaffezione per il =
territorio e=20
                        all'abitudine a considerare l'ambiente che ci =
circonda=20
                        un elemento estraneo alle nostre vite, che si =
pu=C3=B2=20
                        imbruttire e deturpare soltanto perch=C3=A9 non =
si riesce a=20
                        tutelarlo a dovere dall'incursione dei nuovi =
barbari.=20
                        Nonostante vi sia un'apposita legge che =
proibisce=20
                        l'abbandono indiscriminato di rifiuti nel =
territorio, la=20
                        n. 192 del decreto legge 152/2006, la situazione =
non=20
                        accenna a migliorare, e la deturpazione del =
suolo e=20
                        delle acque non accenna a diminuire: il senso =
civico e=20
                        il rispetto per l'ambiente dovrebbero essere una =
norma=20
                        interiorizzata, e non un divieto da seguire per=20
                        convenienza o per paura delle sanzioni =
pecuniarie o=20
                        penali. I cittadini nel loro piccolo possono =
assolvere=20
                        l'importante compito di tutelare il territorio =
in cui=20
                        vivono, denunciando chi inquina il territorio e=20
                        tutelandolo da ogni inquinamento. Solo =
l'abitudine a=20
                        preoccuparci per il nostro territorio ci =
permetter=C3=A0 di=20
                        vivere meglio. Rinnoviamo l'invito a contattarci =
per la=20
                        segnalazione di discariche abusive al n. =
3397517592.=20
                        </FONT></P></DIV><!-- End_Module_983 =
--></DIV></TD></TR></TBODY></TABLE>
                  <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%">
                    <TBODY>
                    <TR>
                      <TD></TD>
                      <TD align=3Dright>&nbsp;<A=20
                        id=3Ddnn_ctr983_dnnACTIONBUTTON3_ico1=20
                        =
href=3D"javascript:__doPostBack('dnn$ctr983$dnnACTIONBUTTON3$ico1','')"><=
IMG=20
                        style=3D"BORDER-RIGHT-WIDTH: 0px; =
BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" =

                        title=3DStampa alt=3DStampa=20
                        =
src=3D"http://www.guglionesionline.it/images/action_print.gif"></A>&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;=20
                      </TD></TR></TBODY></TABLE></DIV><A =
name=3D1049></A>
                  <DIV id=3Dcommon>
                  <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%">
                    <TBODY>
                    <TR height=3D25>
                      <TD>&nbsp;</TD>
                      <TD noWrap><SPAN =
id=3Ddnn_ctr1049_dnnTITLE_lblTitle=20
                        class=3DHead>&nbsp;</SPAN> &nbsp;</TD>
                      <TD width=3D"100%"></TD></TR></TBODY></TABLE>
                  <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%">
                    <TBODY>
                    <TR height=3D1>
                      <TD><IMG=20
                        =
src=3D"http://www.guglionesionline.it/Portals/_default/Containers/orange_=
futurism/media/line_left.gif"=20
                        width=3D40 height=3D1></TD>
                      <TD style=3D"BACKGROUND: #e0e0e0" =
width=3D"100%"><IMG=20
                        =
src=3D"http://www.guglionesionline.it/Portals/_default/Containers/orange_=
futurism/media/spacer.gif"=20
                        width=3D1 height=3D1></TD>
                      <TD><IMG=20
                        =
src=3D"http://www.guglionesionline.it/Portals/_default/Containers/orange_=
futurism/media/line_right.gif"=20
                        width=3D40 height=3D1></TD></TR></TBODY></TABLE>
                  <TABLE style=3D"MARGIN-BOTTOM: 5px" border=3D0 =
cellSpacing=3D0=20
                  cellPadding=3D0 width=3D"100%">
                    <TBODY>
                    <TR>
                      <TD id=3Ddnn_ctr1049_ContentPane=20
                      class=3D"content1 DNNAlignleft"><!-- =
Start_Module_1049 -->
                        <DIV id=3Ddnn_ctr1049_ModuleContent>
                        <DIV id=3Ddnn_ctr1049_HtmlModule_lblContent =
class=3DNormal>
                        <P><A href=3D"http://segnalo.virgilio.it/"=20
                        target=3D_blank><IMG border=3D0=20
                        alt=3D"Image Hosted by ImageShack.us"=20
                        =
src=3D"http://img27.imageshack.us/img27/7931/notiziesegnalo.png"></A>&nbs=
p;&nbsp;=20
                        <A href=3D"http://www.molisenews.net/" =
target=3D_blank><IMG=20
                        border=3D0 alt=3D"Image Hosted by ImageShack.us" =

                        =
src=3D"http://img27.imageshack.us/img27/1373/linkmolisenewsp.gif"></A>&nb=
sp;&nbsp;=20
                        <A href=3D"http://oknotizie.virgilio.it/"=20
                        target=3D_blank><IMG border=3D0=20
                        alt=3D"Image Hosted by ImageShack.us"=20
                        =
src=3D"http://img27.imageshack.us/img27/6387/oknotizie.png"></A></P></DIV=
><!-- End_Module_1049 --></DIV></TD></TR></TBODY></TABLE>
                  <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%">
                    <TBODY>
                    <TR>
                      <TD></TD>
                      <TD align=3Dright>&nbsp;&nbsp;&nbsp;&nbsp;=20
                  </TD></TR></TBODY></TABLE></DIV><A name=3D984></A>
                  <DIV id=3Dcommon>
                  <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%">
                    <TBODY>
                    <TR height=3D25>
                      <TD>&nbsp;</TD>
                      <TD noWrap><SPAN id=3Ddnn_ctr984_dnnTITLE_lblTitle =

                        class=3DHead>&nbsp;</SPAN> &nbsp;</TD>
                      <TD width=3D"100%"></TD></TR></TBODY></TABLE>
                  <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%">
                    <TBODY>
                    <TR height=3D1>
                      <TD><IMG=20
                        =
src=3D"http://www.guglionesionline.it/Portals/_default/Containers/orange_=
futurism/media/line_left.gif"=20
                        width=3D40 height=3D1></TD>
                      <TD style=3D"BACKGROUND: #e0e0e0" =
width=3D"100%"><IMG=20
                        =
src=3D"http://www.guglionesionline.it/Portals/_default/Containers/orange_=
futurism/media/spacer.gif"=20
                        width=3D1 height=3D1></TD>
                      <TD><IMG=20
                        =
src=3D"http://www.guglionesionline.it/Portals/_default/Containers/orange_=
futurism/media/line_right.gif"=20
                        width=3D40 height=3D1></TD></TR></TBODY></TABLE>
                  <TABLE style=3D"MARGIN-BOTTOM: 5px" border=3D0 =
cellSpacing=3D0=20
                  cellPadding=3D0 width=3D"100%">
                    <TBODY>
                    <TR>
                      <TD id=3Ddnn_ctr984_ContentPane=20
                      class=3D"content1 DNNAligncenter"><!-- =
Start_Module_984 -->
                        <DIV id=3Ddnn_ctr984_ModuleContent>
                        <DIV =
id=3Ddnn_ctr984_HtmlModule_HtmlModule_lblContent=20
                        class=3DNormal>
                        <SCRIPT type=3Dtext/javascript><!--
google_ad_client =3D "pub-7799345217877419";
/* 468x60, creato 23/01/09 */
google_ad_slot =3D "8296152395";
google_ad_width =3D 468;
google_ad_height =3D 60;
//-->
</SCRIPT>

                        <SCRIPT type=3Dtext/javascript=20
                        =
src=3D"http://pagead2.googlesyndication.com/pagead/show_ads.js">
</SCRIPT>
                        </DIV><!-- End_Module_984 =
--></DIV></TD></TR></TBODY></TABLE>
                  <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%">
                    <TBODY>
                    <TR>
                      <TD></TD>
                      <TD align=3Dright>&nbsp;&nbsp;&nbsp;&nbsp;=20
                  </TD></TR></TBODY></TABLE></DIV></TD>
                <TD id=3Ddnn_RightPane class=3D"rightpane DNNEmptyPane" =
vAlign=3Dtop=20
                align=3Dmiddle></TD></TR>
              <TR>
                <TD id=3Ddnn_BottomPane class=3Dbottompane vAlign=3Dtop =
colSpan=3D3=20
                align=3Dmiddle><A name=3D715></A>
                  <DIV id=3Dcommon>
                  <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%">
                    <TBODY>
                    <TR height=3D25>
                      <TD>&nbsp;</TD>
                      <TD noWrap><SPAN id=3Ddnn_ctr715_dnnTITLE_lblTitle =

                        class=3DHead>&nbsp;</SPAN> &nbsp;</TD>
                      <TD width=3D"100%"></TD></TR></TBODY></TABLE>
                  <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%">
                    <TBODY>
                    <TR height=3D1>
                      <TD><IMG=20
                        =
src=3D"http://www.guglionesionline.it/Portals/_default/Containers/orange_=
futurism/media/line_left.gif"=20
                        width=3D40 height=3D1></TD>
                      <TD style=3D"BACKGROUND: #e0e0e0" =
width=3D"100%"><IMG=20
                        =
src=3D"http://www.guglionesionline.it/Portals/_default/Containers/orange_=
futurism/media/spacer.gif"=20
                        width=3D1 height=3D1></TD>
                      <TD><IMG=20
                        =
src=3D"http://www.guglionesionline.it/Portals/_default/Containers/orange_=
futurism/media/line_right.gif"=20
                        width=3D40 height=3D1></TD></TR></TBODY></TABLE>
                  <TABLE style=3D"MARGIN-BOTTOM: 5px" border=3D0 =
cellSpacing=3D0=20
                  cellPadding=3D0 width=3D"100%">
                    <TBODY>
                    <TR>
                      <TD id=3Ddnn_ctr715_ContentPane=20
                      class=3D"content1 DNNAligncenter"><!-- =
Start_Module_715 -->
                        <DIV id=3Ddnn_ctr715_ModuleContent>
                        <DIV id=3Ddnn_ctr715_HtmlModule_lblContent =
class=3DNormal>
                        <DIV align=3Dcenter>Questo sito web non =
rappresenta una=20
                        testata giornalistica in quanto viene aggiornato =
senza=20
                        alcuna periodicit=C3=A0. Il Sito non =C3=A8 =
finanziato con fondi=20
                        di&nbsp; Enti Istituzionali. Non pu=C3=B2 =
pertanto=20
                        considerarsi un prodotto editoriale ai sensi =
della legge=20
                        n. 62 del 7.03.2001.<BR><BR>Le immagini e i =
documenti=20
                        presenti nel sito rimangono propriet=C3=A0 dei =
loro=20
                        rispettivi autori, non si intende violare il=20
                        copyright.</DIV></DIV><!-- End_Module_715 =
--></DIV></TD></TR></TBODY></TABLE>
                  <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%">
                    <TBODY>
                    <TR>
                      <TD></TD>
                      <TD align=3Dright>&nbsp;&nbsp;&nbsp;&nbsp;=20
                  </TD></TR></TBODY></TABLE></DIV><A name=3D838></A>
                  <DIV id=3Dcommon>
                  <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%">
                    <TBODY>
                    <TR height=3D25>
                      <TD>&nbsp;</TD>
                      <TD noWrap><SPAN id=3Ddnn_ctr838_dnnTITLE_lblTitle =

                        class=3DHead>&nbsp;</SPAN> &nbsp;</TD>
                      <TD width=3D"100%"></TD></TR></TBODY></TABLE>
                  <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%">
                    <TBODY>
                    <TR height=3D1>
                      <TD><IMG=20
                        =
src=3D"http://www.guglionesionline.it/Portals/_default/Containers/orange_=
futurism/media/line_left.gif"=20
                        width=3D40 height=3D1></TD>
                      <TD style=3D"BACKGROUND: #e0e0e0" =
width=3D"100%"><IMG=20
                        =
src=3D"http://www.guglionesionline.it/Portals/_default/Containers/orange_=
futurism/media/spacer.gif"=20
                        width=3D1 height=3D1></TD>
                      <TD><IMG=20
                        =
src=3D"http://www.guglionesionline.it/Portals/_default/Containers/orange_=
futurism/media/line_right.gif"=20
                        width=3D40 height=3D1></TD></TR></TBODY></TABLE>
                  <TABLE style=3D"MARGIN-BOTTOM: 5px" border=3D0 =
cellSpacing=3D0=20
                  cellPadding=3D0 width=3D"100%">
                    <TBODY>
                    <TR>
                      <TD id=3Ddnn_ctr838_ContentPane=20
                      class=3D"content1 DNNAligncenter"><!-- =
Start_Module_838 -->
                        <DIV id=3Ddnn_ctr838_ModuleContent>
                        <DIV =
id=3Ddnn_ctr838_HtmlModule_HtmlModule_lblContent=20
                        class=3DNormal>
                        <DIV align=3Dcenter><IMG border=3D0=20
                        alt=3D"guglionesionline logo finito.gif"=20
                        =
src=3D"http://nuke.guglionesionline.it/Portals/0/immagini/logo%20sito/gug=
lionesionline%20logo%20finito.gif"=20
                        width=3D100 height=3D22><FONT size=3D1><FONT=20
                        =
color=3D#0000ff><BR>=C2=A9&nbsp;www.guglionesionline.it</FONT>&nbsp;=20
                        86034 Guglionesi (CB) Italy&nbsp; Tel. +39 0875=20
                        689908&nbsp; +39 338 1068700</FONT>&nbsp; <FONT=20
                        size=3D1>guglionesionline.skype &nbsp; =
</FONT><FONT=20
                        size=3D1><SPAN=20
                        style=3D"TEXT-DECORATION: =
underline"></SPAN><FONT=20
                        size=3D1><A =
href=3D"mailto:info@guglionesionline.it"=20
                        =
target=3D_blank>info@guglionesionline.it</A></FONT><A=20
                        =
href=3D"mailto:info@guglionesionline.it"><BR></A></FONT></DIV></DIV><!-- =
End_Module_838 --></DIV></TD></TR></TBODY></TABLE>
                  <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%">
                    <TBODY>
                    <TR>
                      <TD></TD>
                      <TD align=3Dright>&nbsp;&nbsp;&nbsp;&nbsp;=20
                  =
</TD></TR></TBODY></TABLE></DIV></TD></TR></TBODY></TABLE><!-- End =
Content Panes --></TD></TR>
        <TR>
          <TD vAlign=3Dtop>
            <TABLE class=3DFooter border=3D0 cellSpacing=3D0 =
cellPadding=3D0=20
            width=3D"100%">
              <TBODY>
              <TR>
                <TD vAlign=3Dcenter align=3Dmiddle>
                  <TABLE border=3D0 cellSpacing=3D0 cellPadding=3D0 =
width=3D"100%">
                    <TBODY>
                    <TR>
                      <TD class=3DFooterRepeat vAlign=3Dbottom>
                        <TABLE border=3D0 cellSpacing=3D0 =
cellPadding=3D0 width=3D"100%"=20
                        height=3D100>
                          <TBODY>
                          <TR>
                            <TD height=3D30>&nbsp;</TD></TR>
                          <TR>
                            <TD =
height=3D30></TD></TR></TBODY></TABLE></TD>
                      <TD class=3DFooterFixed vAlign=3Dbottom =
width=3D410>
                        <TABLE border=3D0 cellSpacing=3D0 =
cellPadding=3D0 width=3D"100%"=20
                        height=3D100>
                          <TBODY>
                          <TR>
                            <TD>&nbsp;</TD></TR>
                          <TR>
                            <TD height=3D50 vAlign=3Dcenter =
align=3Dright><A=20
                              id=3Ddnn_dnnTERMS_hypTerms =
class=3DMediaTabs=20
                              =
href=3D"http://www.guglionesionline.it/Notizie/IlComunediTermolibonificad=
iversediscarichea/tabid/182/ctl/Terms/Default.aspx">Condizioni=20
                              d'Uso</A>&nbsp;&nbsp; <A=20
                              id=3Ddnn_dnnPRIVACY_hypPrivacy =
class=3DMediaTabs=20
                              =
href=3D"http://www.guglionesionline.it/Notizie/IlComunediTermolibonificad=
iversediscarichea/tabid/182/ctl/Privacy/Default.aspx">Dichiarazione=20
                              per la Privacy</A>&nbsp;&nbsp;<BR><SPAN=20
                              id=3Ddnn_dnnCOPYRIGHT_lblCopyright=20
                              class=3DMediaTabs>Copyright (c) =
Guglionesionline=20
                              2007-2009</SPAN>=20
                    =
&nbsp;</TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></TD></TR></TBO=
DY></TABLE></TD></TR>
        <TR>
          <TD vAlign=3Dtop align=3Dmiddle><A style=3D"FONT-SIZE: 9px"=20
            id=3Ddnn_dnnDOTNETNUKE_hypDotNetNuke class=3DMediaTabs=20
            href=3D"http://www.dotnetnuke.com/">DotNetNuke=C2=AE is =
copyright 2002-2009=20
            by DotNetNuke=20
Corporation</A></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE><INPUT=
=20
id=3DScrollTop type=3Dhidden name=3DScrollTop> <INPUT id=3D__dnnVariable =
type=3Dhidden=20
name=3D__dnnVariable>
<SCRIPT type=3Dtext/javascript>
//<![CDATA[
Sys.Application.initialize();
//]]>
</SCRIPT>
 </FORM></BODY></HTML>

------=_NextPart_000_0000_01C9BD3B.EE02A280
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.guglionesionline.it/Portals/_default/Containers/orange_futurism/media/line_left.gif

R0lGODlhKAABAMQAAOrq6unp6fb29vT09Obm5vDw8P39/eTk5O7u7vv7+/j4+Ojo6OXl5fLy8vz8
/Ozs7Pn5+f7+/uLi4uPj4+Hh4eDg4P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAA
AAAALAAAAAAoAAEAAAUaoCWOYhQZTgIpwtAUyAMEC8Ec0yRJVF/9wBAAOw==

------=_NextPart_000_0000_01C9BD3B.EE02A280
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.guglionesionline.it/Portals/_default/Containers/orange_futurism/media/spacer.gif

R0lGODlhCgAKAIAAAP///wAAACH5BAEAAAAALAAAAAAKAAoAAAIIhI+py+0PYysAOw==

------=_NextPart_000_0000_01C9BD3B.EE02A280
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.guglionesionline.it/Portals/_default/Containers/orange_futurism/media/line_right.gif

R0lGODlhKAABAMQAAOrq6unp6fb29vT09Obm5vDw8P39/eTk5O7u7vv7+/j4+Ojo6OXl5fLy8vz8
/Ozs7Pn5+f7+/uLi4uPj4+Hh4eDg4P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAA
AAAALAAAAAAoAAEAAAUbYCWOFWVK0jQdDLEEwIMUzSAoUOIYUWT9QEsIADs=

------=_NextPart_000_0000_01C9BD3B.EE02A280
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.guglionesionline.it/Portals/0/immagini/logo%20sito/guglionesionline%20logo%20finito.gif

R0lGODlhXgFQAP8AAP+AAMDAwAAA/6qqqru7u93d3ZmZmczMzHd3d4iIiBEREdra2mZmZkRERFVV
Vd/f3/+0aNDQ///kxzMzM/++fNnZ///ZsiIiIsxmM7Ky/6en///o0MfH/wAzM4yM/5qa/729/01N
/3x8/9TU1KOjo2ho///NmmYzM//GjP/Up//fvf/t2YCAkQAAANbW1qKiosxmAP+nTc7OzsxmZlJS
Uj4+PnV1dYODg4+Pj9mNQMwzAIZdNGJiYomJibOagHh4eMzM0L6+vraqqt/f/6SFZv+yZLCwsMyZ
Zsy7qn5+fqqqsKysrLW1tcnJyf9mM9PT0/+ZMcDAxTMzAJp4VkJCQk1NTf/AgMyZma+vmoCJgICa
moCAidJ2SMnAwP+fPsDFwI2Njc3AwJqaqFBQULe8t7hxTf+kSP+lSv/RoX1RJZGRkdfMzP/u3Jqa
mv/v3tvb3pKSodeGNP+eO//Ij//Pn//ixcXFxc2agGtra3FxcWdnZ2ZxZoSEhJmZZv+4caqwqpGA
gICAgFZ4eHNzc7uqqqurq1ZiVnh4Vt6aVnhWVra2tv+qVW1WVv+sV2VlZf/Zs6SFhYaGhmFhYVZW
YqioqP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAJUALAAAAABeAVAA
AAj/ACsJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuV
HgTI/PCyps2bOHO2jCCzp0ydQIMKnfiEiYEfDJI60IPH0R5ARMrE4YIBBgAAVq8iQjJUYQURAkpE
EBiBQwUOPntW6Mq2rdCiBiIlRUC3blIGDhycOHG1r9++hNwOzJC2sOGxghMrXvmCQV0ECRIYmGwg
cgIEShtM4Atgx1XPfnFGKGG4tOm0i1OrJvkCsmTKsClHpptZCiOCYXz0FeKS8Onfp1cLH86xEAPY
A5IrVy77MmYGEyYdzHGVJWng2A0T385dohEcCCYv/09OgMD4AZNnY3YwYYvB3Smzy09borv9+wl7
OAhvQHn5/wCal1x6zuF1QRYFUQfAISf5VlgIIHBglkAfAMdTT/Xhp+GGiuwnGXnlHSDiiCL+N2Bl
l+HVQAcsDNRFaCUZBgJDpyG24Y0bgvfhACEW4OOPPpZY3omz5bWiEgLdAaNIYKWlgUPXlYbjlPcR
AJl4BBwAZAGVbCmkgOmtp5kgAinYmUgXprXWQ8FR6SZxbUTWH49a+njQjwcMiV5lYjZwgSGJYNAX
ESGhlZYIE5k245uMLtbEleTVuVABQg44m4oTXACDoFdhAVKFTlJk2pqNltrWC3LSqSVDQeZpaYoO
NP/QAGd9rfGRgz5VVJoHpvbKFhgf9sglq5TqeWmsJ3B61RQgHUZRBYbx6uu0QAHBQLBZ2tkQpa6i
B6sDVfnF1UfaURRCtNSmixMl14K4qkNBgglruH0xS25hiyZqGKnq9ssSDse5O+y2xVqKGQbKXsWb
R1KaK6O/ELP0Q3gCPxTvgHQh/JcPH0Fr2JMSgeBsxCSf1IRjWGZrccGTIaCxX2mAdG7DEBmKGkkB
5KxzACMcpPONP6f011UxGCRBX4x52J+w8Jbo7ct+8dCsaREZhmhJOwdd0M4bco3SBkMDkEJBK/il
gkoAKB3pj8R220fCfV3ww0cxmUZTQxoYxsFJWef/7LPW93l9kglhr1AQCkuedJXSS4vIdkKtmncE
3FedoAAc9/6WkMfo8t13zwYBHrjfQg9ddEFgV1e6Dx5i6ziQAm3JrXkzUA6A5QqQkflvIFciMu8C
9R1A8H3/LTzgwhO0QEHLGy84QclXkrVCC2QNuvPTK8/8QUcPvQHqYaNAuF+GD5T6X2NXsgEE6Vei
AgRnqx/++H2VfxAEf51OENJ80LVjiHWqk5fyRDvb4U4Bb/iIzebTJuJlL3oDOV7xIjhBBz7Pgn1r
HgUleEGBjECCoeMg6aRXQYF0L2wAgABB6IfCxLGwfgJ54VXKJ8MWHiQGLYxfJZBWCSM4JlU8ypKI
/1zgAm6N6D+TM6AClliFkNSNgSPDYM6WJzwNklCEAdBgFTe4Mys+AIvQw6LorghCLpaRjDqzIgVa
2Jf2sXFoEhhI2FQokDnK8Y1+iaP58HhHggTih+IJYnmImKUAXQFqf7nAEjtwgR6IBFdQzNDWJghB
NHIwjNmT4vAGUj0xmlGEkwSlJgfyxU2OciD4wyMATKjKvnyvEif0iwVYObRZwrKVV3ml/PBoS4M0
xn+BDCIJXEACPV1hBk5AoQ4UqYALTKADUUATFAXQO4OUcnrXfF7xOpnJbGrNmyO0ZBnBObzjYfKB
WqtkQcg5EMS1UiBr9B4KBxLPv9AzbPeUJz7vOP+0W/YFBQixgwN++BrmkOCgJEgOMtnIzAn4qYkj
kQ+/ErLFLUqRihn8ZBY1qsXisVOcGM2aFSHotQ+ekaMCOZ9fUlBPGNnRjnUcGh13KFN++kWFMK2E
O+0Z06uYICGDGKj/CroEEgThqCSwXV+WuUQFaIZFJYEkzRYSvUr27QHiPCfyKshObqbxlFYVoynB
qNF82jOVN/XnXywQy77Ysq1XeWvY5FpLuAKgl7jUoUHU0AChumYyRbXBQd94QKc+UwHRJEmaShMC
h7Dzo5o0p0AgC9mqTvCxYfXkZEVZCciGbWxzrURLkTZa1Yl2n6ftJzzxWdpVCkQFuFTIFxw6UMf/
1OUGNsAtG5naVM1coANSG8nv9CYRc1o0shnVZEdFWlavBq2iydUkVhlyRouqtC8mQKtLa5rT7ta0
p2nN6U79QgGJaIG2d0EAbm+QhDc2tZm+VeQfRMI5n4hgohARazjFmVltllC/Zc2qVkXXvOsFWMDu
y6taZWlXuq6Vlg9esFsb3E4UAjSGENCjQs7b19rSIAk0cO8iZTWBTCmgRSHJm0/2hhH9mpKTZO0s
BCHLX64mj8Y1np5Jxxo9Grcyfa1NLU+FvKQgr7afRhZICt7ZkB44VFYOkAQee0tiE6N4aj2RVkb0
q0UDKxelX4YxZ0FK5gFbNsbHrYR2UYhX7n6X/6Z/mal34wzntO6Plw9hQQccqkoF7LnKv1UAgkJS
GI5IMEAEkIFAZMDoUGYSwZBG7n7P3MEcb1KMBlZnnVEr4bhSuNN3hbAsRT3h0BLkuqqFCAsU0Gen
aqbEgXYPoUuDX4qgM5POleD1KKtpKXpZxh7tdSVyPV1H76zYmy3hQCxgOvsd2Z5JjjZqg5zkgqwZ
AOWdSCtr4MwSZ6oDCuABkkRyGhBkoNaVeOJv7uYQAJfs3RFRZQtaUANu/xbcJ1YsA58kVeyg29gn
hbfAE9LKedOABjWQggKokAcxAKEkKp5PxKfJYorGeOAYLwguW0CFJY4BElh4OEomPk0oNpa6kv/N
eLxx4lqTMBknJY+5AEDwb5VzpOU1wblIYguUxcqcgRl4iAQaoXObM6ToLUH6zXk+FN6RXABNinlD
0OAFHhrdIatUukW0TvAdalshuLQ6W0AlExsJpAIRqLlAFthAhFgh1VdfCNeFlhGch13spvJ5oQ/i
hiLMM+5HZ3nd7xx2dZG9XAQZwhnYqCHXOt7rkM96HSdP+O2CV/KmdSmcCc/5zPMw65mnqdfFjvd9
Fr5f6t67QIYAhbu7/vWwV2VMRQ962tNe8vujfMsfH3nKQz7yvFed4+0ux+KLvvfA1z3vja/zl/vL
bquPvfSnT/3iV+fx15989nOvfeZbX/e5J/7/pu8M/u97f/TcH3L5bcrpiJlmb9SPv/zv3kfPH//2
7/m87zW/e+P/fvnK93/+13/ot3++p3GzV3nqVzJUIxB+MH8QGIGpBoAUaIC/d3kHiHx1NoA21VMD
aHUEGHwfKHzKZ3cLmBhNEnQRZRiSJBBz0HoSGIPx1xHXZ1rkh3eAZxKQ1IJYdjMG8QhmwHglQ4IX
eHwAmIMkwXYyoXYY0W/sdhBs4Hft5y/N9x4IiIQmcXhqQRJTpRBvd4JUmDgKiIUloYUyoYIj8XQC
EBF0IAc4SIZwKDNRtIJpkS8QUQeLMHdxuIcWkXozoYOFgYZ8OIg1oYQ/YRKFYXaEuIgsURpPqhgS
9VV2jDiJLKGG1eREiUiJmhgfpSGIHtFviriJojhrXbgR/caDo5iKu/MgHjEzaRGKqhiLGwEcGeGH
PeGJspiLGjFcDSgREeCKpaiLwogRUXcaHnBuCtFvVjOMzNgRevdzpoGLzTiNFvGM0NgTV0ON2qgR
kXiNIQCL2xiOFREBGgCM03Rf4piOHuExjQUCvJgWj6iO8ogSEQCO83iP+JiP+riP/NiPqRgQADs=

------=_NextPart_000_0000_01C9BD3B.EE02A280
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://www.guglionesionline.it/images/action_print.gif

R0lGODlhEAAQAMQfAGac2rW12ff5/NHR6LjZ+cjj/oqXzcjJ5aur1Nnr/oG7jIW05u/v9+Xl8uby
/USH0a7W/sXa85jE8KKiz42Nw7+/3nyAu97f7+Dv/rPR8pmgzqnN74rvYrLD6ZmZzP///yH5BAEA
AB8ALAAAAAAQABAAAAWh4CeOZPkJRbZJ2yKYIkE4Dpao8JdIdlIUC0du8fsRJAaEBzEgOYgFGQSg
CVQmE8aHEdAcMhDI79JAmCkNT+XAUQQGDEajcZl4PJQKYxAImAMXgQMDFHgVAgIXAVgeE4MHFRYU
VohyAXdLFQgWFgEfCHFzaXcIHREZAAsffYEXFXcdPwkYGA8RHwdqFRQUBguzGAsAtyIMCG9aGQ8A
wznOIiEAOw==

------=_NextPart_000_0000_01C9BD3B.EE02A280
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: http://img27.imageshack.us/img27/7931/notiziesegnalo.png

iVBORw0KGgoAAAANSUhEUgAAAFAAAAAPCAIAAAD8q9/YAAAD/UlEQVRIie1XW29UVRT+vr3PXDqd
6WV6v+FQpTWmVoEoRFKQxlAgRBLAGB95IMQf4O8g8YXUkKiYaGI0Vk1IpBY1Yr0EaVKqVrSXWDrQ
uThtnV5m5py9fJhL2+lADA9ton4P+5yz9tpn7W+fdTsUEfyXoLZ7A1sNK3c9z62z2S8Z55MHqwjA
UuP6qQK4UVhyoUDc+iTWCG8xSCgFESQXMR9HTT28PigFIJZaqHb7NTUAiIBcP4oIyRwrkRwVAHm2
6qeb0JZ0dIlSyLGlQJCP3G0iDGAurN+7iOQiAC4v2edek1AHTSa6OD2aWfnTZEYXJnvrd/dUPa6V
hlIkIUIAInAcKAUqiMA4tG1xewjAGDU4IIEKtHfS44Vjw3HEcpEqfyxFhPtlzbeL7oHix4KkoPkP
5QAA9e0Q/5hwTp2V0C7OTsHnZzppoh90JCc881BVu880PbdrJuq6egluDxSl+1kJ1qnBATS2IjyD
hmbT04flpLryPldXpL7ZdD+DlhCMTceBMZgcVze+5lJSHnnMHDqKrMuUSFr9m5J2dt/nWbzvzWGf
VSuJTVPS3AZj9Mfv6IHLoEKgwsQHHPcgGh8NlVce/P16d2I18OFlFZmFZanhIc5MYXFeX/sU46Oc
j6mrH3FiHI6NMp/UN6nvv7DevSjMmeDKkvXmBcYjpqFFfT7A4WvIT20ivJ7YQ2C9XxTJN75W9hxw
Xj5nuvby3h3rrQv85TtZ/JlSBjsq9hKiEwxP896s3XfGHDgCj7eQlMzzx82RU7A0YneRSiER58yk
aI1EjPlAZfQu52bN/sPS0yfBOvXrrUIMlypLD835fmxR/IUFUF9eQbDO9J02vSegNJZXueJXczW0
jqnAHlY8gUBQ3G51+xZnJpDJZJO0CECKtkAFUP3wlZr+zew7jFAHABgnS0y8PrFciEeRiCGdgj9Q
MH2fpFXkwEUx/GDOJTU3y9Mp/fbrsCxoyzy1T54+yL9aZeQSJt+Arx37z0qgwfS+qMZ+lNtjyKSh
NCyNYA1cHmgtFVVwu2VnJ0aG1fXPYNuoDEJpVFSLz4/aBvPCST08hJvfiMvtHDpeMMxcp7X1dXh1
BYko02lxuVBdC58fIrJwB8sLUF7UtNEIR4axnORcWI3dcF55VTqfRCSM2kaQSEThr4S3DJEwjIGn
DHYaTTsQCUNpqa5lJoVYhHZaAlUSrAPp5glsW1lSSnzlLPcXRQ6DOxBErtYuJRmPcmoclssce0m6
9grJtnaBEETjjqyPoyUEgUBAEpD6FgIkYGm07hTmOxZjso3LttVhckNIr4mRT6i+cufoaa6uQFvw
lmUPIdtIYK2pIgDJdSI5kQCQgppQiHXuy/9/Hv7l+Bt2J9Zii9FHkAAAAABJRU5ErkJggg==

------=_NextPart_000_0000_01C9BD3B.EE02A280
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://img27.imageshack.us/img27/1373/linkmolisenewsp.gif

R0lGODdhUAAPAIgAAP///zMA/ywAAAAAUAAPAAACh4yPqcvtDw+YtNqLs968GxAx3UiW0xcu5spa
aJq08vqB0hvYOkrlpw+qACU23/Bn7PUQyFztFbw5k8Hq6SoUUoHR6tAo7T5vXS/2XCtenci1FVqc
6nbqo9mKv2OfWbaWCxUWqPSztJVGZEdUVjcFszgTuYHzyCV56eJYicmZ2fkpWSk6SnpQAAA7

------=_NextPart_000_0000_01C9BD3B.EE02A280
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-Location: http://img27.imageshack.us/img27/6387/oknotizie.png

iVBORw0KGgoAAAANSUhEUgAAAFAAAAAPCAIAAAD8q9/YAAAB6klEQVRIieVWOUsDQRT+XnY3Wdcz
qChEVCJYeCBKtLCwkah/wUYIKFjpT7AXPDrRRrS3UywUwTbEgI0Iixd4RLzvqEnGYtZrN5tkRYzG
r9h9b+a9N++b480QJhn+E0QADJTuNH4IBCZyifXFiIgxxr8AdALR35+UKQJfYQCX4W31fAFgAClS
kVOuOr3faCj1bZ7M2cU8t9Ob1ky/Ezb+u38+2b1YqS3uFsh+eOO/DO/sXa2uh6aPboPl+W3pTfF7
YXsViAiSkC2QxPUYi9w+hRSpSLQ5zJw9BA99UnWCzthMNqrGUCm2J4VGWBKUfLnSfzB+Ed7Ktbtk
saAwq7rFNUgg9Ww+rqeHEGAIMP1gvN3MJWkQ7muMwM3iIkGXEdoZLlbqvO4xXpl4iXI7O4mo2TVo
qWglYMszS2zwteB8slIMqxH+yMfIMPUSnZSScUekiARhLc2gRjh6vPu0tiR7eyJqMHp+JJRURNQg
7xLKqqX6NiPnt9R141nibBYkLswsLa0wYZIx0GPj4s2oT27vAdGzuubwdD0sz+YOTNzNDokVtTn9
Y5lxDxOY7V1nFA1tPyzPgF/HksNe00pKHqxs6d+PD4QJOb3DjqYOrsWuT69HfNH9TQD8yZUZ0LZ0
utP4IWhvaULmLGBSvAB3KcVnPgz5JAAAAABJRU5ErkJggg==

------=_NextPart_000_0000_01C9BD3B.EE02A280
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: http://nuke.guglionesionline.it/Portals/0/immagini/logo%20sito/guglionesionline%20logo%20finito.gif

R0lGODlhXgFQAP8AAP+AAMDAwAAA/6qqqru7u93d3ZmZmczMzHd3d4iIiBEREdra2mZmZkRERFVV
Vd/f3/+0aNDQ///kxzMzM/++fNnZ///ZsiIiIsxmM7Ky/6en///o0MfH/wAzM4yM/5qa/729/01N
/3x8/9TU1KOjo2ho///NmmYzM//GjP/Up//fvf/t2YCAkQAAANbW1qKiosxmAP+nTc7OzsxmZlJS
Uj4+PnV1dYODg4+Pj9mNQMwzAIZdNGJiYomJibOagHh4eMzM0L6+vraqqt/f/6SFZv+yZLCwsMyZ
Zsy7qn5+fqqqsKysrLW1tcnJyf9mM9PT0/+ZMcDAxTMzAJp4VkJCQk1NTf/AgMyZma+vmoCJgICa
moCAidJ2SMnAwP+fPsDFwI2Njc3AwJqaqFBQULe8t7hxTf+kSP+lSv/RoX1RJZGRkdfMzP/u3Jqa
mv/v3tvb3pKSodeGNP+eO//Ij//Pn//ixcXFxc2agGtra3FxcWdnZ2ZxZoSEhJmZZv+4caqwqpGA
gICAgFZ4eHNzc7uqqqurq1ZiVnh4Vt6aVnhWVra2tv+qVW1WVv+sV2VlZf/Zs6SFhYaGhmFhYVZW
YqioqP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAJUALAAAAABeAVAA
AAj/ACsJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuV
HgTI/PCyps2bOHO2jCCzp0ydQIMKnfiEiYEfDJI60IPH0R5ARMrE4YIBBgAAVq8iQjJUYQURAkpE
EBiBQwUOPntW6Mq2rdCiBiIlRUC3blIGDhycOHG1r9++hNwOzJC2sOGxghMrXvmCQV0ECRIYmGwg
cgIEShtM4Atgx1XPfnFGKGG4tOm0i1OrJvkCsmTKsClHpptZCiOCYXz0FeKS8Onfp1cLH86xEAPY
A5IrVy77MmYGEyYdzHGVJWng2A0T385dohEcCCYv/09OgMD4AZNnY3YwYYvB3Smzy09borv9+wl7
OAhvQHn5/wCal1x6zuF1QRYFUQfAISf5VlgIIHBglkAfAMdTT/Xhp+GGiuwnGXnlHSDiiCL+N2Bl
l+HVQAcsDNRFaCUZBgJDpyG24Y0bgvfhACEW4OOPPpZY3omz5bWiEgLdAaNIYKWlgUPXlYbjlPcR
AJl4BBwAZAGVbCmkgOmtp5kgAinYmUgXprXWQ8FR6SZxbUTWH49a+njQjwcMiV5lYjZwgSGJYNAX
ESGhlZYIE5k245uMLtbEleTVuVABQg44m4oTXACDoFdhAVKFTlJk2pqNltrWC3LSqSVDQeZpaYoO
NP/QAGd9rfGRgz5VVJoHpvbKFhgf9sglq5TqeWmsJ3B61RQgHUZRBYbx6uu0QAHBQLBZ2tkQpa6i
B6sDVfnF1UfaURRCtNSmixMl14K4qkNBgglruH0xS25hiyZqGKnq9ssSDse5O+y2xVqKGQbKXsWb
R1KaK6O/ELP0Q3gCPxTvgHQh/JcPH0Fr2JMSgeBsxCSf1IRjWGZrccGTIaCxX2mAdG7DEBmKGkkB
5KxzACMcpPONP6f011UxGCRBX4x52J+w8Jbo7ct+8dCsaREZhmhJOwdd0M4bco3SBkMDkEJBK/il
gkoAKB3pj8R220fCfV3ww0cxmUZTQxoYxsFJWef/7LPW93l9kglhr1AQCkuedJXSS4vIdkKtmncE
3FedoAAc9/6WkMfo8t13zwYBHrjfQg9ddEFgV1e6Dx5i6ziQAm3JrXkzUA6A5QqQkflvIFciMu8C
9R1A8H3/LTzgwhO0QEHLGy84QclXkrVCC2QNuvPTK8/8QUcPvQHqYaNAuF+GD5T6X2NXsgEE6Vei
AgRnqx/++H2VfxAEf51OENJ80LVjiHWqk5fyRDvb4U4Bb/iIzebTJuJlL3oDOV7xIjhBBz7Pgn1r
HgUleEGBjECCoeMg6aRXQYF0L2wAgABB6IfCxLGwfgJ54VXKJ8MWHiQGLYxfJZBWCSM4JlU8ypKI
/1zgAm6N6D+TM6AClliFkNSNgSPDYM6WJzwNklCEAdBgFTe4Mys+AIvQw6LorghCLpaRjDqzIgVa
2Jf2sXFoEhhI2FQokDnK8Y1+iaP58HhHggTih+IJYnmImKUAXQFqf7nAEjtwgR6IBFdQzNDWJghB
NHIwjNmT4vAGUj0xmlGEkwSlJgfyxU2OciD4wyMATKjKvnyvEif0iwVYObRZwrKVV3ml/PBoS4M0
xn+BDCIJXEACPV1hBk5AoQ4UqYALTKADUUATFAXQO4OUcnrXfF7xOpnJbGrNmyO0ZBnBObzjYfKB
WqtkQcg5EMS1UiBr9B4KBxLPv9AzbPeUJz7vOP+0W/YFBQixgwN++BrmkOCgJEgOMtnIzAn4qYkj
kQ+/ErLFLUqRihn8ZBY1qsXisVOcGM2aFSHotQ+ekaMCOZ9fUlBPGNnRjnUcGh13KFN++kWFMK2E
O+0Z06uYICGDGKj/CroEEgThqCSwXV+WuUQFaIZFJYEkzRYSvUr27QHiPCfyKshObqbxlFYVoynB
qNF82jOVN/XnXywQy77Ysq1XeWvY5FpLuAKgl7jUoUHU0AChumYyRbXBQd94QKc+UwHRJEmaShMC
h7Dzo5o0p0AgC9mqTvCxYfXkZEVZCciGbWxzrURLkTZa1Yl2n6ftJzzxWdpVCkQFuFTIFxw6UMf/
1OUGNsAtG5naVM1coANSG8nv9CYRc1o0shnVZEdFWlavBq2iydUkVhlyRouqtC8mQKtLa5rT7ta0
p2nN6U79QgGJaIG2d0EAbm+QhDc2tZm+VeQfRMI5n4hgohARazjFmVltllC/Zc2qVkXXvOsFWMDu
y6taZWlXuq6Vlg9esFsb3E4UAjSGENCjQs7b19rSIAk0cO8iZTWBTCmgRSHJm0/2hhH9mpKTZO0s
BCHLX64mj8Y1np5Jxxo9Grcyfa1NLU+FvKQgr7afRhZICt7ZkB44VFYOkAQee0tiE6N4aj2RVkb0
q0UDKxelX4YxZ0FK5gFbNsbHrYR2UYhX7n6X/6Z/mal34wzntO6Plw9hQQccqkoF7LnKv1UAgkJS
GI5IMEAEkIFAZMDoUGYSwZBG7n7P3MEcb1KMBlZnnVEr4bhSuNN3hbAsRT3h0BLkuqqFCAsU0Gen
aqbEgXYPoUuDX4qgM5POleD1KKtpKXpZxh7tdSVyPV1H76zYmy3hQCxgOvsd2Z5JjjZqg5zkgqwZ
AOWdSCtr4MwSZ6oDCuABkkRyGhBkoNaVeOJv7uYQAJfs3RFRZQtaUANu/xbcJ1YsA58kVeyg29gn
hbfAE9LKedOABjWQggKokAcxAKEkKp5PxKfJYorGeOAYLwguW0CFJY4BElh4OEomPk0oNpa6kv/N
eLxx4lqTMBknJY+5AEDwb5VzpOU1wblIYguUxcqcgRl4iAQaoXObM6ToLUH6zXk+FN6RXABNinlD
0OAFHhrdIatUukW0TvAdalshuLQ6W0AlExsJpAIRqLlAFthAhFgh1VdfCNeFlhGch13spvJ5oQ/i
hiLMM+5HZ3nd7xx2dZG9XAQZwhnYqCHXOt7rkM96HSdP+O2CV/KmdSmcCc/5zPMw65mnqdfFjvd9
Fr5f6t67QIYAhbu7/vWwV2VMRQ962tNe8vujfMsfH3nKQz7yvFed4+0ux+KLvvfA1z3vja/zl/vL
bquPvfSnT/3iV+fx15989nOvfeZbX/e5J/7/pu8M/u97f/TcH3L5bcrpiJlmb9SPv/zv3kfPH//2
7/m87zW/e+P/fvnK93/+13/ot3++p3GzV3nqVzJUIxB+MH8QGIGpBoAUaIC/d3kHiHx1NoA21VMD
aHUEGHwfKHzKZ3cLmBhNEnQRZRiSJBBz0HoSGIPx1xHXZ1rkh3eAZxKQ1IJYdjMG8QhmwHglQ4IX
eHwAmIMkwXYyoXYY0W/sdhBs4Hft5y/N9x4IiIQmcXhqQRJTpRBvd4JUmDgKiIUloYUyoYIj8XQC
EBF0IAc4SIZwKDNRtIJpkS8QUQeLMHdxuIcWkXozoYOFgYZ8OIg1oYQ/YRKFYXaEuIgsURpPqhgS
9VV2jDiJLKGG1eREiUiJmhgfpSGIHtFviriJojhrXbgR/caDo5iKu/MgHjEzaRGKqhiLGwEcGeGH
PeGJspiLGjFcDSgREeCKpaiLwogRUXcaHnBuCtFvVjOMzNgRevdzpoGLzTiNFvGM0NgTV0ON2qgR
kXiNIQCL2xiOFREBGgCM03Rf4piOHuExjQUCvJgWj6iO8ogSEQCO83iP+JiP+riP/NiPqRgQADs=

------=_NextPart_000_0000_01C9BD3B.EE02A280
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.guglionesionline.it/Portals/_default/default.css

BODY {
	BACKGROUND-COLOR: white; MARGIN: 0px
}
.ControlPanel {
	BORDER-BOTTOM: #003366 1px solid; BORDER-LEFT: #003366 1px solid; =
BACKGROUND-COLOR: #ffffff; WIDTH: 100%; BORDER-TOP: #003366 1px solid; =
BORDER-RIGHT: #003366 1px solid
}
.PagingTable {
	BORDER-BOTTOM: #003366 1px solid; BORDER-LEFT: #003366 1px solid; =
BACKGROUND-COLOR: #ffffff; WIDTH: 100%; BORDER-TOP: #003366 1px solid; =
BORDER-RIGHT: #003366 1px solid
}
.SkinObject {
	FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: #003366; FONT-SIZE: =
8.5pt; FONT-WEIGHT: bold; TEXT-DECORATION: none
}
A.SkinObject:link {
	COLOR: #003366; TEXT-DECORATION: none
}
A.SkinObject:visited {
	COLOR: #003366; TEXT-DECORATION: none
}
A.SkinObject:hover {
	COLOR: #003366; TEXT-DECORATION: none
}
A.SkinObject:active {
	COLOR: #003366; TEXT-DECORATION: none
}
.Language {
	MARGIN: 0px; VERTICAL-ALIGN: middle
}
.Language IMG {
	BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-TOP: =
medium none; BORDER-RIGHT: medium none
}
.Head {
	FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: #333333; FONT-SIZE: 20px; =
FONT-WEIGHT: normal
}
.SubHead {
	FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: #003366; FONT-SIZE: 11px; =
FONT-WEIGHT: bold
}
.SubSubHead {
	FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: black; FONT-SIZE: 11px; =
FONT-WEIGHT: bold
}
.Normal {
	FONT-FAMILY: Tahoma, Arial, Helvetica; FONT-SIZE: 11px; FONT-WEIGHT: =
normal
}
.NormalDisabled {
	FONT-FAMILY: Tahoma, Arial, Helvetica; FONT-SIZE: 11px; FONT-WEIGHT: =
normal
}
.NormalDisabled {
	COLOR: silver
}
.NormalBold {
	FONT-FAMILY: Tahoma, Arial, Helvetica; FONT-SIZE: 11px; FONT-WEIGHT: =
bold
}
.NormalRed {
	FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: #ff0000; FONT-SIZE: 12px; =
FONT-WEIGHT: bold
}
.NormalTextBox {
	FONT-FAMILY: Tahoma, Arial, Helvetica; FONT-SIZE: 12px; FONT-WEIGHT: =
normal
}
.DataGrid_AlternatingItem {
	BACKGROUND-COLOR: white; FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: =
red; FONT-SIZE: 10px; FONT-WEIGHT: normal
}
.DataGrid_Container {
	BACKGROUND-COLOR: transparent
}
.DataGrid_Footer {
	BACKGROUND-COLOR: white
}
.DataGrid_Header {
	TEXT-ALIGN: center; BACKGROUND-COLOR: transparent; FONT-FAMILY: Tahoma, =
Arial, Helvetica; COLOR: black; FONT-SIZE: 10px; FONT-WEIGHT: bold
}
.DataGrid_Item {
	BACKGROUND-COLOR: transparent; FONT-FAMILY: Tahoma, Arial, Helvetica; =
COLOR: black; FONT-SIZE: 10px; FONT-WEIGHT: normal
}
.DataGrid_SelectedItem {
	BACKGROUND-COLOR: silver; FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: =
blue; FONT-SIZE: 10px; FONT-WEIGHT: normal
}
.TreeMenu_Node {
	FONT-FAMILY: Tahoma, Arial, Helvetica; FONT-SIZE: 12px; FONT-WEIGHT: =
normal
}
.TreeMenu_NodeSelected {
	BACKGROUND-COLOR: #dcdcdc; FONT-FAMILY: Tahoma, Arial, Helvetica; =
FONT-SIZE: 12px; FONT-WEIGHT: normal
}
A.TreeMenu_Node:link {
	COLOR: #003366; TEXT-DECORATION: none
}
A.TreeMenu_NodeSelected:link {
	COLOR: #003366; TEXT-DECORATION: none
}
A.TreeMenu_Node:visited {
	COLOR: #003366; TEXT-DECORATION: none
}
A.TreeMenu_NodeSelected:visited {
	COLOR: #003366; TEXT-DECORATION: none
}
A.TreeMenu_Node:hover {
	COLOR: #ff0000; TEXT-DECORATION: none
}
A.TreeMenu_NodeSelected:hover {
	COLOR: #ff0000; TEXT-DECORATION: none
}
A.TreeMenu_Node:active {
	COLOR: #003366; TEXT-DECORATION: none
}
A.TreeMenu_NodeSelected:active {
	COLOR: #003366; TEXT-DECORATION: none
}
.FileManager {
	BORDER-BOTTOM: black 1px solid; BORDER-LEFT: black 1px solid; HEIGHT: =
400px; BORDER-TOP: black 1px solid; BORDER-RIGHT: black 1px solid
}
.FileManager_ToolBar {
	BORDER-BOTTOM: black 1px solid; HEIGHT: 25px
}
.FileManager_Explorer {
	BORDER-BOTTOM: #696969 1px solid; BORDER-LEFT: #696969 1px solid; =
BACKGROUND-COLOR: white; MARGIN: 2px; HEIGHT: 100%; BORDER-TOP: #696969 =
1px solid; BORDER-RIGHT: #696969 1px solid
}
.FileManager_FileList {
	BORDER-BOTTOM: #696969 1px solid; BORDER-LEFT: #696969 1px solid; =
BACKGROUND-COLOR: white; MARGIN: 2px; HEIGHT: 100%; OVERFLOW: auto; =
BORDER-TOP: #696969 1px solid; BORDER-RIGHT: #696969 1px solid
}
.FileManager_MessageBox {
	TEXT-ALIGN: center; PADDING-BOTTOM: 25px; BACKGROUND-COLOR: white; =
PADDING-LEFT: 25px; PADDING-RIGHT: 25px; VERTICAL-ALIGN: middle; =
PADDING-TOP: 25px
}
.FileManager_Header {
	BORDER-BOTTOM: #696969 1px solid; BACKGROUND-COLOR: #9ebff6; =
FONT-FAMILY: Tahoma, Arial, Helvetica; HEIGHT: 25px; COLOR: #e7e7ff; =
FONT-SIZE: 11px; FONT-WEIGHT: bold
}
.FileManager_Pager {
	BACKGROUND-COLOR: #eeeeee; FONT-FAMILY: Tahoma, Arial, Helvetica; =
HEIGHT: 25px; FONT-SIZE: 11px; BORDER-TOP: #696969 1px solid; =
FONT-WEIGHT: bold
}
.FileManager_StatusBar {
	BACKGROUND-COLOR: #dedfde; MARGIN: 2px; FONT-FAMILY: Tahoma, Arial, =
Helvetica; HEIGHT: 25px; FONT-SIZE: 11px; FONT-WEIGHT: normal
}
.FileManager_Item {
	BORDER-BOTTOM: black 1px dashed; BACKGROUND-COLOR: #f8f8f8; =
FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: black; FONT-SIZE: 11px; =
BORDER-TOP: black 1px dashed; FONT-WEIGHT: normal
}
.FileManager_AltItem {
	BORDER-BOTTOM-STYLE: none; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: =
#eeeeee; FONT-FAMILY: Tahoma, Arial, Helvetica; BORDER-TOP-STYLE: none; =
COLOR: black; FONT-SIZE: 11px; BORDER-LEFT-STYLE: none; FONT-WEIGHT: =
normal
}
.FileManager_SelItem {
	BORDER-BOTTOM-STYLE: none; BORDER-RIGHT-STYLE: none; BACKGROUND-COLOR: =
#99ffff; FONT-FAMILY: Tahoma, Arial, Helvetica; BORDER-TOP-STYLE: none; =
COLOR: white; FONT-SIZE: 11px; BORDER-LEFT-STYLE: none; FONT-WEIGHT: =
bold
}
.FileManagerTreeNode {
	FONT-FAMILY: Tahoma, Arial, Helvetica; FONT-SIZE: 11px; FONT-WEIGHT: =
normal
}
.FileManagerTreeNodeSelected {
	BACKGROUND-COLOR: #dcdcdc; FONT-FAMILY: Tahoma, Arial, Helvetica; =
FONT-SIZE: 11px; FONT-WEIGHT: normal
}
A.FileManagerTreeNode:link {
	COLOR: #003366; TEXT-DECORATION: none
}
A.FileManagerTreeNodeSelected:link {
	COLOR: #003366; TEXT-DECORATION: none
}
A.FileManagerTreeNode:visited {
	COLOR: #003366; TEXT-DECORATION: none
}
A.FileManagerTreeNodeSelected:visited {
	COLOR: #003366; TEXT-DECORATION: none
}
A.FileManagerTreeNode:hover {
	COLOR: #ff0000; TEXT-DECORATION: none
}
A.FileManagerTreeNodeSelected:hover {
	COLOR: #ff0000; TEXT-DECORATION: none
}
A.FileManagerTreeNode:active {
	COLOR: #003366; TEXT-DECORATION: none
}
A.FileManagerTreeNodeSelected:active {
	COLOR: #003366; TEXT-DECORATION: none
}
.Wizard {
	BORDER-BOTTOM: black 1px solid; BORDER-LEFT: black 1px solid; WIDTH: =
650px; HEIGHT: 400px; BORDER-TOP: black 1px solid; BORDER-RIGHT: black =
1px solid
}
.WizardButton {
	BORDER-BOTTOM: #696969 1px solid; BORDER-LEFT: #696969 1px solid; =
PADDING-BOTTOM: 2px; BACKGROUND-COLOR: #dcdcdc; PADDING-LEFT: 2px; =
PADDING-RIGHT: 2px; BORDER-TOP: #696969 1px solid; BORDER-RIGHT: #696969 =
1px solid; PADDING-TOP: 2px
}
.WizardHeader {
	BORDER-BOTTOM: black 1px solid; BACKGROUND: #ffffcc; HEIGHT: 40px
}
.WizardFooter {
	TEXT-ALIGN: right; BACKGROUND: #ccffcc; HEIGHT: 25px; BORDER-TOP: black =
1px solid
}
.WizardBody {
	PADDING-BOTTOM: 10px; PADDING-LEFT: 10px; PADDING-RIGHT: 10px; HEIGHT: =
325px; PADDING-TOP: 10px
}
.WizardHelp {
	BORDER-LEFT: black 1px solid; PADDING-BOTTOM: 5px; BACKGROUND-COLOR: =
#ccffff; PADDING-LEFT: 5px; WIDTH: 180px; PADDING-RIGHT: 5px; FONT-SIZE: =
9pt; PADDING-TOP: 5px
}
.WizardHelpText {
	WIDTH: 180px; FONT-FAMILY: Tahoma, Verdana, Arial, Sans-Serif; HEIGHT: =
300px; COLOR: black; FONT-SIZE: 8pt; OVERFLOW: auto
}
.WizardText {
	FONT-FAMILY: Tahoma, Verdana, Arial, Sans-Serif; COLOR: black; =
FONT-SIZE: 9pt
}
.Help {
	BORDER-BOTTOM: black 1px solid; BORDER-LEFT: black 1px solid; =
PADDING-BOTTOM: 2px; BACKGROUND-COLOR: #ffff99; PADDING-LEFT: 2px; =
PADDING-RIGHT: 2px; FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: black; =
FONT-SIZE: 11px; BORDER-TOP: black 1px solid; FONT-WEIGHT: normal; =
BORDER-RIGHT: black 1px solid; PADDING-TOP: 2px
}
.CommandButton {
	FONT-FAMILY: Tahoma, Arial, Helvetica; FONT-SIZE: 11px; FONT-WEIGHT: =
normal
}
A.CommandButton:link {
	COLOR: #003366; TEXT-DECORATION: underline
}
A.CommandButton:visited {
	COLOR: #003366; TEXT-DECORATION: underline
}
A.CommandButton:hover {
	COLOR: #ff0000; TEXT-DECORATION: underline
}
A.CommandButton:active {
	COLOR: #003366; TEXT-DECORATION: underline
}
.StandardButton {
	PADDING-LEFT: 5px; PADDING-RIGHT: 5px; FONT-FAMILY: Verdana, =
sans-serif; BACKGROUND: #dddddd; COLOR: #000000; FONT-SIZE: 11px; =
FONT-WEIGHT: normal
}
H1 {
	FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: #666644; FONT-SIZE: 20px; =
FONT-WEIGHT: normal
}
H2 {
	FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: #666644; FONT-SIZE: 20px; =
FONT-WEIGHT: normal
}
H3 {
	FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: #003366; FONT-SIZE: 12px; =
FONT-WEIGHT: normal
}
H4 {
	FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: #003366; FONT-SIZE: 12px; =
FONT-WEIGHT: normal
}
H5 {
	FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: #003366; FONT-SIZE: 11px; =
FONT-WEIGHT: bold
}
DT {
	FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: #003366; FONT-SIZE: 11px; =
FONT-WEIGHT: bold
}
H6 {
	FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: #003366; FONT-SIZE: 11px; =
FONT-WEIGHT: bold
}
TFOOT {
	FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: #003366; FONT-SIZE: 12px
}
THEAD {
	FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: #003366; FONT-SIZE: 12px
}
TH {
	FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: #003366; FONT-SIZE: 12px; =
VERTICAL-ALIGN: baseline; FONT-WEIGHT: bold
}
A:link {
	COLOR: #003366; TEXT-DECORATION: none
}
A:visited {
	COLOR: #003366; TEXT-DECORATION: none
}
A:hover {
	COLOR: #ff0000; TEXT-DECORATION: underline
}
A:active {
	COLOR: #003366; TEXT-DECORATION: none
}
SMALL {
	FONT-SIZE: 8px
}
BIG {
	FONT-SIZE: 14px
}
BLOCKQUOTE {
	FONT-FAMILY: Lucida Console, monospace
}
PRE {
	FONT-FAMILY: Lucida Console, monospace
}
UL LI {
	LIST-STYLE-TYPE: square
}
UL LI LI {
	LIST-STYLE-TYPE: disc
}
UL LI LI LI {
	LIST-STYLE-TYPE: circle
}
OL LI {
	LIST-STYLE-TYPE: decimal
}
OL OL LI {
	LIST-STYLE-TYPE: lower-alpha
}
OL OL OL LI {
	LIST-STYLE-TYPE: lower-roman
}
OL UL LI {
	LIST-STYLE-TYPE: disc
}
HR {
	TEXT-ALIGN: left; HEIGHT: 1pt; COLOR: #696969
}
.ModuleTitle_MenuContainer {
	BORDER-BOTTOM: blue 0px solid; BORDER-LEFT: blue 0px solid; BORDER-TOP: =
blue 0px solid; BORDER-RIGHT: blue 0px solid
}
.ModuleTitle_MenuBar {
	BACKGROUND-COLOR: transparent; HEIGHT: 16px; CURSOR: pointer
}
.ModuleTitle_MenuItem {
	BORDER-BOTTOM: white 1px solid; BORDER-LEFT: white 0px solid; =
BACKGROUND-COLOR: transparent; FONT-STYLE: normal; FONT-FAMILY: Tahoma, =
Arial, Helvetica; COLOR: black; FONT-SIZE: 9pt; BORDER-TOP: white 1px =
solid; CURSOR: pointer; FONT-WEIGHT: bold; BORDER-RIGHT: white 0px solid
}
.ModuleTitle_MenuIcon {
	BORDER-BOTTOM: #eeeeee 1px solid; TEXT-ALIGN: center; BORDER-LEFT: =
#eeeeee 1px solid; BACKGROUND-COLOR: #eeeeee; WIDTH: 15px; HEIGHT: 21px; =
BORDER-TOP: #eeeeee 1px solid; CURSOR: pointer
}
.ModuleTitle_SubMenu {
	Z-INDEX: 1000; BORDER-BOTTOM: #ffffff 0px solid; BORDER-LEFT: #ffffff =
0px solid; BACKGROUND-COLOR: #ffffff; BORDER-TOP: #ffffff 0px solid; =
CURSOR: pointer; BORDER-RIGHT: #ffffff 0px solid
}
.ModuleTitle_MenuBreak {
	BORDER-BOTTOM: #eeeeee 1px solid; BORDER-LEFT: #eeeeee 0px solid; =
BACKGROUND-COLOR: #eeeeee; HEIGHT: 1px; BORDER-TOP: #eeeeee 1px solid; =
BORDER-RIGHT: #eeeeee 0px solid
}
.ModuleTitle_MenuItemSel {
	BACKGROUND-COLOR: #c1d2ee; FONT-STYLE: normal; FONT-FAMILY: Tahoma, =
Arial, Helvetica; COLOR: black; FONT-SIZE: 9pt; CURSOR: pointer; =
FONT-WEIGHT: bold
}
.ModuleTitle_MenuArrow {
	BORDER-BOTTOM: #ffffff 1px solid; FONT-FAMILY: webdings; FONT-SIZE: =
10pt; BORDER-TOP: #ffffff 0px solid; CURSOR: pointer; BORDER-RIGHT: =
#ffffff 1px solid
}
.ModuleTitle_RootMenuArrow {
	FONT-FAMILY: webdings; FONT-SIZE: 10pt; CURSOR: pointer
}
.MainMenu_MenuContainer {
	BACKGROUND-COLOR: transparent
}
.MainMenu_MenuBar {
	BACKGROUND-COLOR: transparent; HEIGHT: 16px; CURSOR: pointer
}
.MainMenu_MenuItem {
	BORDER-BOTTOM: white 1px solid; BORDER-LEFT: white 0px solid; =
BACKGROUND-COLOR: transparent; FONT-STYLE: normal; FONT-FAMILY: Tahoma, =
Arial, Helvetica; COLOR: black; FONT-SIZE: 9pt; BORDER-TOP: white 1px =
solid; CURSOR: pointer; FONT-WEIGHT: bold; BORDER-RIGHT: white 0px solid
}
.MainMenu_MenuIcon {
	BORDER-BOTTOM: #eeeeee 1px solid; TEXT-ALIGN: center; BORDER-LEFT: =
#eeeeee 1px solid; BACKGROUND-COLOR: #eeeeee; WIDTH: 15px; HEIGHT: 21px; =
BORDER-TOP: #eeeeee 1px solid; CURSOR: pointer
}
.MainMenu_SubMenu {
	Z-INDEX: 1000; BORDER-BOTTOM: #ffffff 0px solid; BORDER-LEFT: #ffffff =
0px solid; BACKGROUND-COLOR: #ffffff; BORDER-TOP: #ffffff 0px solid; =
CURSOR: pointer; BORDER-RIGHT: #ffffff 0px solid
}
.MainMenu_MenuBreak {
	BORDER-BOTTOM: #eeeeee 1px solid; BORDER-LEFT: #eeeeee 0px solid; =
BACKGROUND-COLOR: #eeeeee; HEIGHT: 1px; BORDER-TOP: #eeeeee 1px solid; =
BORDER-RIGHT: #eeeeee 0px solid
}
.MainMenu_MenuItemSel {
	BACKGROUND-COLOR: #c1d2ee; FONT-STYLE: normal; FONT-FAMILY: Tahoma, =
Arial, Helvetica; COLOR: black; FONT-SIZE: 9pt; CURSOR: pointer; =
FONT-WEIGHT: bold
}
.MainMenu_MenuArrow {
	BORDER-BOTTOM: #ffffff 1px solid; FONT-FAMILY: webdings; FONT-SIZE: =
10pt; BORDER-TOP: #ffffff 0px solid; CURSOR: pointer; BORDER-RIGHT: =
#ffffff 1px solid
}
.MainMenu_RootMenuArrow {
	FONT-FAMILY: webdings; FONT-SIZE: 10pt; CURSOR: pointer
}
.HeadBg {
	BACKGROUND-COLOR: #cccccc
}
.TabBg {
	BACKGROUND-COLOR: black
}
.SelectedTab {
	FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: #ffffff; FONT-SIZE: =
8.5pt; FONT-WEIGHT: bold; TEXT-DECORATION: none
}
A.SelectedTab:link {
	COLOR: white; TEXT-DECORATION: none
}
A.SelectedTab:visited {
	COLOR: #eeeeee; TEXT-DECORATION: none
}
A.SelectedTab:hover {
	COLOR: #cccccc; TEXT-DECORATION: none
}
A.SelectedTab:active {
	COLOR: #eeeeee; TEXT-DECORATION: none
}
.OtherTabs {
	FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: white; FONT-SIZE: 8.5pt; =
FONT-WEIGHT: bold; TEXT-DECORATION: none
}
A.OtherTabs:link {
	COLOR: white; TEXT-DECORATION: none
}
A.OtherTabs:visited {
	COLOR: #eeeeee; TEXT-DECORATION: none
}
A.OtherTabs:hover {
	COLOR: #cccccc; TEXT-DECORATION: none
}
A.OtherTabs:active {
	COLOR: #eeeeee; TEXT-DECORATION: none
}
.PagingTable {
	HEIGHT: 33px
}
.LabelEditTextClass {
	BORDER-BOTTOM: red 1px solid; BORDER-LEFT: red 1px solid; =
BACKGROUND-COLOR: transparent; BORDER-TOP: red 1px solid; BORDER-RIGHT: =
red 1px solid
}
.LabelEditWorkClass {
	BORDER-BOTTOM: red 0px solid; BORDER-LEFT: red 0px solid; =
BACKGROUND-COLOR: transparent; BORDER-TOP: red 0px solid; BORDER-RIGHT: =
red 0px solid
}
.SuggestTextMenu {
	BORDER-BOTTOM: black 1px solid; BORDER-LEFT: black 1px solid; =
WHITE-SPACE: nowrap; BACKGROUND: white; BORDER-TOP: black 1px solid; =
BORDER-RIGHT: black 1px solid
}
.SuggestNodeOver {
	BACKGROUND-COLOR: navy; COLOR: white
}
.eipbackimg {
	BORDER-BOTTOM: 1px outset; POSITION: absolute; BORDER-LEFT: 1px outset; =
MARGIN-TOP: -22px; WHITE-SPACE: nowrap; BACKGROUND: =
url(../../images/eip_toolbar.gif) #99cccc; HEIGHT: 22px; BORDER-TOP: 1px =
outset; BORDER-RIGHT: 1px outset
}
.eipbuttonbackimg {
	WIDTH: 21px; DISPLAY: inline-block; HEIGHT: 21px; CURSOR: pointer
}
.eipbutton_edit {
	BACKGROUND: url(../../images/eip_edit.gif) no-repeat 100% center
}
.eipbutton_save {
	BACKGROUND: url(../../images/eip_save.gif) no-repeat 100% center
}
.eipborderhover {
	BORDER-BOTTOM: 1px outset; BORDER-LEFT: 1px outset; BORDER-TOP: 1px =
outset; BORDER-RIGHT: 1px outset
}
.DNNEmptyPane {
	WIDTH: 0px
}
.DNNAlignleft {
	TEXT-ALIGN: left
}
.DNNAlignright {
	TEXT-ALIGN: right
}
.DNNAligncenter {
	TEXT-ALIGN: center
}
.LoginPanel {
=09
}
.LoginTabGroup {
=09
}
.LoginTab {
	BORDER-BOTTOM: #25569a 1px solid; BORDER-LEFT: #25569a 1px solid; =
PADDING-BOTTOM: 4px; MARGIN: 0px 3px 3px 0px; PADDING-LEFT: 5px; =
PADDING-RIGHT: 5px; BACKGROUND: url(../../images/tablogin_gray.gif) left =
top; FLOAT: left; COLOR: #fff; BORDER-TOP: #25569a 1px solid; =
BORDER-RIGHT: #25569a 1px solid; TEXT-DECORATION: none; PADDING-TOP: 5px
}
.LoginTabSelected {
	BORDER-BOTTOM: #25569a 1px solid; BORDER-LEFT: #25569a 1px solid; =
PADDING-BOTTOM: 4px; MARGIN: 0px 3px 3px 0px; PADDING-LEFT: 5px; =
PADDING-RIGHT: 5px; BACKGROUND: url(../../images/tablogin_gray.gif) 0% =
-41px; FLOAT: left; COLOR: #fff; BORDER-TOP: #25569a 1px solid; =
BORDER-RIGHT: #25569a 1px solid; TEXT-DECORATION: none; PADDING-TOP: 5px
}
.LoginTabHover {
	BORDER-BOTTOM: #c00 1px solid; BORDER-LEFT: #c00 1px solid; =
PADDING-BOTTOM: 4px; MARGIN: 0px 3px 3px 0px; PADDING-LEFT: 5px; =
PADDING-RIGHT: 5px; BACKGROUND: url(../../images/tablogin_gray.gif) left =
top; FLOAT: left; COLOR: #555; BORDER-TOP: #c00 1px solid; CURSOR: =
pointer; BORDER-RIGHT: #c00 1px solid; TEXT-DECORATION: none; =
PADDING-TOP: 5px
}
.LoginContainerGroup {
	CLEAR: both; PADDING-TOP: 5px
}
.LoginContainer {
=09
}

------=_NextPart_000_0000_01C9BD3B.EE02A280
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.guglionesionline.it/Portals/_default/Skins/XDMediaBlue/skin.css

.pagemaster {
	BACKGROUND-COLOR: #fefefe; WIDTH: 100%; HEIGHT: 100%
}
.skinmaster {
	BORDER-BOTTOM: #1e5589 1px solid; BORDER-LEFT: #1e5589 1px solid; =
BACKGROUND-COLOR: #ffffff; HEIGHT: 100%; BORDER-TOP: #1e5589 1px solid; =
BORDER-RIGHT: #1e5589 1px solid; moz-border-radius-bottomleft: 15px; =
moz-border-radius-bottomright: 15px; moz-border-radius-topleft: 3px; =
moz-border-radius-topright: 3px
}
.skinheader {
=09
}
.skingradient {
=09
}
.ControlPanel {
	BACKGROUND-COLOR: #e2e6f4; WIDTH: 100%
}
.toppane {
	BACKGROUND-COLOR: transparent; PADDING-LEFT: 6px; WIDTH: 100%; =
PADDING-RIGHT: 4px; PADDING-TOP: 1px
}
.leftpane {
	BACKGROUND-COLOR: transparent; PADDING-LEFT: 6px; PADDING-RIGHT: 4px; =
PADDING-TOP: 1px
}
.contentpane {
	BACKGROUND-COLOR: transparent; PADDING-LEFT: 6px; WIDTH: 100%; =
PADDING-RIGHT: 4px; PADDING-TOP: 1px
}
.rightpane {
	BACKGROUND-COLOR: transparent; PADDING-LEFT: 6px; PADDING-RIGHT: 4px; =
PADDING-TOP: 1px
}
.bottompane {
	BACKGROUND-COLOR: transparent; PADDING-LEFT: 6px; WIDTH: 100%; =
PADDING-RIGHT: 4px; PADDING-TOP: 1px
}
.MainMenu_MenuContainer {
	BACKGROUND-COLOR: transparent
}
.MainMenu_MenuBar {
	BACKGROUND-COLOR: transparent; HEIGHT: 16px; CURSOR: hand
}
.MainMenu_MenuItem {
	BORDER-BOTTOM: #5069bc 0px solid; BORDER-LEFT: #5069bc 0px solid; =
BACKGROUND-COLOR: transparent; FONT-STYLE: normal; FONT-FAMILY: Arial, =
Helvetica; COLOR: white; FONT-SIZE: 11px; BORDER-TOP: #5069bc 0px solid; =
CURSOR: hand; FONT-WEIGHT: bold; BORDER-RIGHT: #5069bc 0px solid
}
.MainMenu_MenuIcon {
	BORDER-BOTTOM: #5069bc 1px solid; TEXT-ALIGN: center; BORDER-LEFT: =
#5069bc 1px solid; BACKGROUND-COLOR: #5069bc; WIDTH: 15px; HEIGHT: 21px; =
BORDER-TOP: #5069bc 1px solid; CURSOR: hand
}
.MainMenu_SubMenu {
	Z-INDEX: 1000; FILTER: =
progid:DXImageTransform.Microsoft.Shadow(color=3D'#696969', =
Direction=3D135, Strength=3D3); BACKGROUND-COLOR: #5069bc; CURSOR: hand
}
.MainMenu_MenuBreak {
	HEIGHT: 1px
}
.MainMenu_MenuItemSel {
	BACKGROUND-COLOR: #ff9024; FONT-STYLE: normal; FONT-FAMILY: Arial, =
Helvetica; COLOR: #194874; FONT-SIZE: 11px; CURSOR: hand; FONT-WEIGHT: =
bold
}
.MainMenu_MenuArrow {
	BORDER-BOTTOM: #5069bc 1px solid; FONT-FAMILY: webdings; FONT-SIZE: =
10pt; BORDER-TOP: #5069bc 0px solid; CURSOR: hand; BORDER-RIGHT: #5069bc =
1px solid
}
.MainMenu_RootMenuArrow {
	FONT-FAMILY: webdings; FONT-SIZE: 10pt; CURSOR: hand
}
.StandardButton {
	FONT-FAMILY: Verdana, sans-serif; BACKGROUND: #1e5589; COLOR: #ffffff; =
FONT-SIZE: 11px; FONT-WEIGHT: normal
}
.TreeViewMenu {
	BORDER-BOTTOM: #1e5589 1px solid; BORDER-LEFT: #1e5589 1px solid; =
BACKGROUND-COLOR: #f5f5f5; WIDTH: 175px; BORDER-TOP: #1e5589 1px solid; =
BORDER-RIGHT: #1e5589 1px solid; moz-border-radius-bottomleft: 15px; =
moz-border-radius-bottomright: 15px; moz-border-radius-topleft: 3px; =
moz-border-radius-topright: 3px
}
.TreeViewMenu_Header {
	BACKGROUND-IMAGE: url(gradient_LtBlue.jpg)
}
.Head {
	FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: #333333; FONT-SIZE: 12px; =
FONT-WEIGHT: bold
}
.FlashMaster {
	BACKGROUND-IMAGE: url(MediaBlue.jpg); WIDTH: 520px
}
.MediaFlashBackground {
	BACKGROUND-IMAGE: url(MediaFlashBackground.jpg); WIDTH: 770px; =
BACKGROUND-REPEAT: no-repeat; HEIGHT: 85px
}
.MediaFlashBackgroundFull {
	BACKGROUND-IMAGE: url(MediaFlashBackground.jpg); BACKGROUND-REPEAT: =
no-repeat; HEIGHT: 85px
}
.FlashRepeat {
	BACKGROUND-IMAGE: url(MediaHeaderRepeat.gif); BACKGROUND-REPEAT: =
repeat-x; HEIGHT: 85px
}
.FlashFullRepeat {
	BACKGROUND-IMAGE: url(MenuFullRepeat.gif); BACKGROUND-REPEAT: repeat-x; =
HEIGHT: 85px
}
.BlankMenu {
	BACKGROUND-IMAGE: url(BlankMenu.gif); BACKGROUND-COLOR: transparent; =
BACKGROUND-REPEAT: no-repeat; HEIGHT: 85px
}
.BlankMenuFull {
	BACKGROUND-IMAGE: url(BlankMenuFull.gif); BACKGROUND-COLOR: #ffffff; =
BACKGROUND-REPEAT: repeat-x; HEIGHT: 85px
}
.MenuRight {
	BACKGROUND-IMAGE: url(MenuRight.gif); WIDTH: 20px; BACKGROUND-REPEAT: =
no-repeat; HEIGHT: 22px
}
.MenuBG {
	BACKGROUND-IMAGE: url(MenuBG.gif); BACKGROUND-REPEAT: repeat-x; HEIGHT: =
22px
}
.MenuRepeat {
	BACKGROUND-IMAGE: url(MenuRepeat.gif); WIDTH: 100%; BACKGROUND-REPEAT: =
repeat-x; HEIGHT: 85px
}
.FooterFixed {
	BACKGROUND-IMAGE: url(FooterBlueFixed.gif); WIDTH: 410px; =
BACKGROUND-REPEAT: no-repeat; HEIGHT: 100px
}
.FooterRepeat {
	BACKGROUND-IMAGE: url(FooterRepeat.gif); BACKGROUND-REPEAT: repeat-x; =
HEIGHT: 100px
}
.minibannerpane {
	PADDING-BOTTOM: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; =
PADDING-TOP: 0px
}
.MediaTabs {
	FONT-FAMILY: Tahoma, Arial, Helvetica; COLOR: white; FONT-SIZE: 8.5pt; =
FONT-WEIGHT: bold; TEXT-DECORATION: none
}
A.MediaTabs:link {
	COLOR: #5069bc; TEXT-DECORATION: none
}
A.MediaTabs:visited {
	COLOR: #194874; TEXT-DECORATION: none
}
A.MediaTabs:active {
	COLOR: #eeeeee; TEXT-DECORATION: none
}
A.MediaTabs:hover {
	COLOR: #ff9024; TEXT-DECORATION: none
}

------=_NextPart_000_0000_01C9BD3B.EE02A280
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.guglionesionline.it/Portals/_default/Containers/orange_futurism/container.css

#common {
	MARGIN-BOTTOM: 15px
}
#right {
	MARGIN-BOTTOM: 5px
}
.content1 {
	PADDING-BOTTOM: 5px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; BACKGROUND: =
url(media/angle.gif) no-repeat right bottom; PADDING-TOP: 5px
}
.cleft {
	BACKGROUND: url(media/left.gif) #ffba00 repeat-y left 50%
}
.cright {
	BACKGROUND: url(media/right.gif) repeat-y right 50%
}
#right A {
	COLOR: #333; TEXT-DECORATION: underline
}
#right A:link {
	COLOR: #333; TEXT-DECORATION: underline
}
#right A:visited {
	COLOR: #333; TEXT-DECORATION: underline
}
#right A:active {
	COLOR: #333; TEXT-DECORATION: underline
}
#right A:hover {
	COLOR: #333; TEXT-DECORATION: none
}

------=_NextPart_000_0000_01C9BD3B.EE02A280
Content-Type: text/css;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
Content-Location: http://www.guglionesionline.it/Portals/0/portal.css

.HeadBg {
	
}
BODY {
	
}
.TabBg {
	
}
.leftpane {
	
}
.contentpane {
	
}
.rightpane {
	
}
.SelectedTab {
	
}
A.SelectedTab:link {
	
}
A.SelectedTab:visited {
	
}
A.SelectedTab:active {
	
}
A.SelectedTab:hover {
	
}
.OtherTabs {
	
}
A.OtherTabs:link {
	
}
A.OtherTabs:visited {
	
}
A.OtherTabs:active {
	
}
A.OtherTabs:hover {
	
}
.Head {
	
}
.SubHead {
	
}
.SubSubHead {
	
}
.Normal {
	
}
.NormalTextBox {
	
}
.NormalRed {
	
}
.NormalBold {
	
}
.CommandButton {
	
}
A.CommandButton:link {
	
}
A.CommandButton:visited {
	
}
A.CommandButton:active {
	
}
A.CommandButton:hover {
	
}
H1 {
	
}
H2 {
	
}
H3 {
	
}
H4 {
	
}
H5 {
	
}
DT {
	
}
H6 {
	
}
TFOOT {
	
}
THEAD {
	
}
TH {
	
}
A:link {
	
}
A:visited {
	
}
A:active {
	
}
A:hover {
	
}
SMALL {
	
}
BIG {
	
}
BLOCKQUOTE {
	
}
PRE {
	
}
UL LI {
	
}
UL LI LI {
	
}
UL LI LI LI {
	
}
OL LI {
	
}
OL OL LI {
	
}
OL OL OL LI {
	
}
HR {
	
}
.Message {
	
}
.ItemTitle {
	
}
.ModuleTitle_MenuContainer {
	
}
.ModuleTitle_MenuBar {
	
}
.ModuleTitle_MenuItem {
	
}
.ModuleTitle_MenuIcon {
	
}
.ModuleTitle_SubMenu {
	
}
.ModuleTitle_MenuBreak {
	
}
.ModuleTitle_MenuItemSel {
	
}
.ModuleTitle_MenuArrow {
	
}
.ModuleTitle_RootMenuArrow {
	
}
.MainMenu_MenuContainer {
	
}
.MainMenu_MenuBar {
	
}
.MainMenu_MenuItem {
	
}
.MainMenu_MenuIcon {
	
}
.MainMenu_SubMenu {
	
}
.MainMenu_MenuBreak {
	
}
.MainMenu_MenuItemSel {
	
}
.MainMenu_MenuArrow {
	
}
.MainMenu_RootMenuArrow {
	
}

------=_NextPart_000_0000_01C9BD3B.EE02A280
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.guglionesionline.it/WebResource.axd?d=IYK2lN4DkJ0AMP85WF778A2&t=633687245924744746

function WebForm_PostBackOptions(eventTarget, eventArgument, validation, =
validationGroup, actionUrl, trackFocus, clientSubmit) {
    this.eventTarget =3D eventTarget;
    this.eventArgument =3D eventArgument;
    this.validation =3D validation;
    this.validationGroup =3D validationGroup;
    this.actionUrl =3D actionUrl;
    this.trackFocus =3D trackFocus;
    this.clientSubmit =3D clientSubmit;
}
function WebForm_DoPostBackWithOptions(options) {
    var validationResult =3D true;
    if (options.validation) {
        if (typeof(Page_ClientValidate) =3D=3D 'function') {
            validationResult =3D =
Page_ClientValidate(options.validationGroup);
        }
    }
    if (validationResult) {
        if ((typeof(options.actionUrl) !=3D "undefined") && =
(options.actionUrl !=3D null) && (options.actionUrl.length > 0)) {
            theForm.action =3D options.actionUrl;
        }
        if (options.trackFocus) {
            var lastFocus =3D theForm.elements["__LASTFOCUS"];
            if ((typeof(lastFocus) !=3D "undefined") && (lastFocus !=3D =
null)) {
                if (typeof(document.activeElement) =3D=3D "undefined") {
                    lastFocus.value =3D options.eventTarget;
                }
                else {
                    var active =3D document.activeElement;
                    if ((typeof(active) !=3D "undefined") && (active =
!=3D null)) {
                        if ((typeof(active.id) !=3D "undefined") && =
(active.id !=3D null) && (active.id.length > 0)) {
                            lastFocus.value =3D active.id;
                        }
                        else if (typeof(active.name) !=3D "undefined") {
                            lastFocus.value =3D active.name;
                        }
                    }
                }
            }
        }
    }
    if (options.clientSubmit) {
        __doPostBack(options.eventTarget, options.eventArgument);
    }
}
var __pendingCallbacks =3D new Array();
var __synchronousCallBackIndex =3D -1;
function WebForm_DoCallback(eventTarget, eventArgument, eventCallback, =
context, errorCallback, useAsync) {
    var postData =3D __theFormPostData +
                "__CALLBACKID=3D" + WebForm_EncodeCallback(eventTarget) =
+
                "&__CALLBACKPARAM=3D" + =
WebForm_EncodeCallback(eventArgument);
    if (theForm["__EVENTVALIDATION"]) {
        postData +=3D "&__EVENTVALIDATION=3D" + =
WebForm_EncodeCallback(theForm["__EVENTVALIDATION"].value);
    }
    var xmlRequest,e;
    try {
        xmlRequest =3D new XMLHttpRequest();
    }
    catch(e) {
        try {
            xmlRequest =3D new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch(e) {
        }
    }
    var setRequestHeaderMethodExists =3D true;
    try {
        setRequestHeaderMethodExists =3D (xmlRequest && =
xmlRequest.setRequestHeader);
    }
    catch(e) {}
    var callback =3D new Object();
    callback.eventCallback =3D eventCallback;
    callback.context =3D context;
    callback.errorCallback =3D errorCallback;
    callback.async =3D useAsync;
    var callbackIndex =3D =
WebForm_FillFirstAvailableSlot(__pendingCallbacks, callback);
    if (!useAsync) {
        if (__synchronousCallBackIndex !=3D -1) {
            __pendingCallbacks[__synchronousCallBackIndex] =3D null;
        }
        __synchronousCallBackIndex =3D callbackIndex;
    }
    if (setRequestHeaderMethodExists) {
        xmlRequest.onreadystatechange =3D WebForm_CallbackComplete;
        callback.xmlRequest =3D xmlRequest;
        xmlRequest.open("POST", theForm.action, true);
        xmlRequest.setRequestHeader("Content-Type", =
"application/x-www-form-urlencoded; charset=3Dutf-8");
        xmlRequest.send(postData);
        return;
    }
    callback.xmlRequest =3D new Object();
    var callbackFrameID =3D "__CALLBACKFRAME" + callbackIndex;
    var xmlRequestFrame =3D document.frames[callbackFrameID];
    if (!xmlRequestFrame) {
        xmlRequestFrame =3D document.createElement("IFRAME");
        xmlRequestFrame.width =3D "1";
        xmlRequestFrame.height =3D "1";
        xmlRequestFrame.frameBorder =3D "0";
        xmlRequestFrame.id =3D callbackFrameID;
        xmlRequestFrame.name =3D callbackFrameID;
        xmlRequestFrame.style.position =3D "absolute";
        xmlRequestFrame.style.top =3D "-100px"
        xmlRequestFrame.style.left =3D "-100px";
        try {
            if (callBackFrameUrl) {
                xmlRequestFrame.src =3D callBackFrameUrl;
            }
        }
        catch(e) {}
        document.body.appendChild(xmlRequestFrame);
    }
    var interval =3D window.setInterval(function() {
        xmlRequestFrame =3D document.frames[callbackFrameID];
        if (xmlRequestFrame && xmlRequestFrame.document) {
            window.clearInterval(interval);
            xmlRequestFrame.document.write("");
            xmlRequestFrame.document.close();
            xmlRequestFrame.document.write('<html><body><form =
method=3D"post"><input type=3D"hidden" name=3D"__CALLBACKLOADSCRIPT" =
value=3D"t"></form></body></html>');
            xmlRequestFrame.document.close();
            xmlRequestFrame.document.forms[0].action =3D theForm.action;
            var count =3D __theFormPostCollection.length;
            var element;
            for (var i =3D 0; i < count; i++) {
                element =3D __theFormPostCollection[i];
                if (element) {
                    var fieldElement =3D =
xmlRequestFrame.document.createElement("INPUT");
                    fieldElement.type =3D "hidden";
                    fieldElement.name =3D element.name;
                    fieldElement.value =3D element.value;
                    =
xmlRequestFrame.document.forms[0].appendChild(fieldElement);
                }
            }
            var callbackIdFieldElement =3D =
xmlRequestFrame.document.createElement("INPUT");
            callbackIdFieldElement.type =3D "hidden";
            callbackIdFieldElement.name =3D "__CALLBACKID";
            callbackIdFieldElement.value =3D eventTarget;
            =
xmlRequestFrame.document.forms[0].appendChild(callbackIdFieldElement);
            var callbackParamFieldElement =3D =
xmlRequestFrame.document.createElement("INPUT");
            callbackParamFieldElement.type =3D "hidden";
            callbackParamFieldElement.name =3D "__CALLBACKPARAM";
            callbackParamFieldElement.value =3D eventArgument;
            =
xmlRequestFrame.document.forms[0].appendChild(callbackParamFieldElement);=

            if (theForm["__EVENTVALIDATION"]) {
                var callbackValidationFieldElement =3D =
xmlRequestFrame.document.createElement("INPUT");
                callbackValidationFieldElement.type =3D "hidden";
                callbackValidationFieldElement.name =3D =
"__EVENTVALIDATION";
                callbackValidationFieldElement.value =3D =
theForm["__EVENTVALIDATION"].value;
                =
xmlRequestFrame.document.forms[0].appendChild(callbackValidationFieldElem=
ent);
            }
            var callbackIndexFieldElement =3D =
xmlRequestFrame.document.createElement("INPUT");
            callbackIndexFieldElement.type =3D "hidden";
            callbackIndexFieldElement.name =3D "__CALLBACKINDEX";
            callbackIndexFieldElement.value =3D callbackIndex;
            =
xmlRequestFrame.document.forms[0].appendChild(callbackIndexFieldElement);=

            xmlRequestFrame.document.forms[0].submit();
        }
    }, 10);
}
function WebForm_CallbackComplete() {
    for (var i =3D 0; i < __pendingCallbacks.length; i++) {
        callbackObject =3D __pendingCallbacks[i];
        if (callbackObject && callbackObject.xmlRequest && =
(callbackObject.xmlRequest.readyState =3D=3D 4)) {
            WebForm_ExecuteCallback(callbackObject);
            if (!__pendingCallbacks[i].async) {
                __synchronousCallBackIndex =3D -1;
            }
            __pendingCallbacks[i] =3D null;
            var callbackFrameID =3D "__CALLBACKFRAME" + i;
            var xmlRequestFrame =3D =
document.getElementById(callbackFrameID);
            if (xmlRequestFrame) {
                xmlRequestFrame.parentNode.removeChild(xmlRequestFrame);
            }
        }
    }
}
function WebForm_ExecuteCallback(callbackObject) {
    var response =3D callbackObject.xmlRequest.responseText;
    if (response.charAt(0) =3D=3D "s") {
        if ((typeof(callbackObject.eventCallback) !=3D "undefined") && =
(callbackObject.eventCallback !=3D null)) {
            callbackObject.eventCallback(response.substring(1), =
callbackObject.context);
        }
    }
    else if (response.charAt(0) =3D=3D "e") {
        if ((typeof(callbackObject.errorCallback) !=3D "undefined") && =
(callbackObject.errorCallback !=3D null)) {
            callbackObject.errorCallback(response.substring(1), =
callbackObject.context);
        }
    }
    else {
        var separatorIndex =3D response.indexOf("|");
        if (separatorIndex !=3D -1) {
            var validationFieldLength =3D parseInt(response.substring(0, =
separatorIndex));
            if (!isNaN(validationFieldLength)) {
                var validationField =3D =
response.substring(separatorIndex + 1, separatorIndex + =
validationFieldLength + 1);
                if (validationField !=3D "") {
                    var validationFieldElement =3D =
theForm["__EVENTVALIDATION"];
                    if (!validationFieldElement) {
                        validationFieldElement =3D =
document.createElement("INPUT");
                        validationFieldElement.type =3D "hidden";
                        validationFieldElement.name =3D =
"__EVENTVALIDATION";
                        theForm.appendChild(validationFieldElement);
                    }
                    validationFieldElement.value =3D validationField;
                }
                if ((typeof(callbackObject.eventCallback) !=3D =
"undefined") && (callbackObject.eventCallback !=3D null)) {
                    =
callbackObject.eventCallback(response.substring(separatorIndex + =
validationFieldLength + 1), callbackObject.context);
                }
            }
        }
    }
}
function WebForm_FillFirstAvailableSlot(array, element) {
    var i;
    for (i =3D 0; i < array.length; i++) {
        if (!array[i]) break;
    }
    array[i] =3D element;
    return i;
}
var __nonMSDOMBrowser =3D =
(window.navigator.appName.toLowerCase().indexOf('explorer') =3D=3D -1);
var __theFormPostData =3D "";
var __theFormPostCollection =3D new Array();
function WebForm_InitCallback() {
    var count =3D theForm.elements.length;
    var element;
    for (var i =3D 0; i < count; i++) {
        element =3D theForm.elements[i];
        var tagName =3D element.tagName.toLowerCase();
        if (tagName =3D=3D "input") {
            var type =3D element.type;
            if ((type =3D=3D "text" || type =3D=3D "hidden" || type =
=3D=3D "password" ||
                ((type =3D=3D "checkbox" || type =3D=3D "radio") && =
element.checked)) &&
                (element.id !=3D "__EVENTVALIDATION")) {
                WebForm_InitCallbackAddField(element.name, =
element.value);
            }
        }
        else if (tagName =3D=3D "select") {
            var selectCount =3D element.options.length;
            for (var j =3D 0; j < selectCount; j++) {
                var selectChild =3D element.options[j];
                if (selectChild.selected =3D=3D true) {
                    WebForm_InitCallbackAddField(element.name, =
element.value);
                }
            }
        }
        else if (tagName =3D=3D "textarea") {
            WebForm_InitCallbackAddField(element.name, element.value);
        }
    }
}
function WebForm_InitCallbackAddField(name, value) {
    var nameValue =3D new Object();
    nameValue.name =3D name;
    nameValue.value =3D value;
    __theFormPostCollection[__theFormPostCollection.length] =3D =
nameValue;
    __theFormPostData +=3D WebForm_EncodeCallback(name) + "=3D" + =
WebForm_EncodeCallback(value) + "&";
}
function WebForm_EncodeCallback(parameter) {
    if (encodeURIComponent) {
        return encodeURIComponent(parameter);
    }
    else {
        return escape(parameter);
    }
}
var __disabledControlArray =3D new Array();
function WebForm_ReEnableControls() {
    if (typeof(__enabledControlArray) =3D=3D 'undefined') {
        return false;
    }
    var disabledIndex =3D 0;
    for (var i =3D 0; i < __enabledControlArray.length; i++) {
        var c;
        if (__nonMSDOMBrowser) {
            c =3D document.getElementById(__enabledControlArray[i]);
        }
        else {
            c =3D document.all[__enabledControlArray[i]];
        }
        if ((typeof(c) !=3D "undefined") && (c !=3D null) && (c.disabled =
=3D=3D true)) {
            c.disabled =3D false;
            __disabledControlArray[disabledIndex++] =3D c;
        }
    }
    setTimeout("WebForm_ReDisableControls()", 0);
    return true;
}
function WebForm_ReDisableControls() {
    for (var i =3D 0; i < __disabledControlArray.length; i++) {
        __disabledControlArray[i].disabled =3D true;
    }
}
function WebForm_FireDefaultButton(event, target) {
    if (event.keyCode =3D=3D 13) {
        var src =3D event.srcElement || event.target;
        if (!src || (src.tagName.toLowerCase() !=3D "textarea")) {
            var defaultButton;
            if (__nonMSDOMBrowser) {
               defaultButton =3D document.getElementById(target);
            }
            else {
                defaultButton =3D document.all[target];
            }
            if (defaultButton && typeof(defaultButton.click) !=3D =
"undefined") {
                defaultButton.click();
                event.cancelBubble =3D true;
                if (event.stopPropagation) event.stopPropagation();
                return false;
            }
        }
    }
    return true;
}
function WebForm_GetScrollX() {
    if (__nonMSDOMBrowser) {
        return window.pageXOffset;
    }
    else {
        if (document.documentElement && =
document.documentElement.scrollLeft) {
            return document.documentElement.scrollLeft;
        }
        else if (document.body) {
            return document.body.scrollLeft;
        }
    }
    return 0;
}
function WebForm_GetScrollY() {
    if (__nonMSDOMBrowser) {
        return window.pageYOffset;
    }
    else {
        if (document.documentElement && =
document.documentElement.scrollTop) {
            return document.documentElement.scrollTop;
        }
        else if (document.body) {
            return document.body.scrollTop;
        }
    }
    return 0;
}
function WebForm_SaveScrollPositionSubmit() {
    if (__nonMSDOMBrowser) {
        theForm.elements['__SCROLLPOSITIONY'].value =3D =
window.pageYOffset;
        theForm.elements['__SCROLLPOSITIONX'].value =3D =
window.pageXOffset;
    }
    else {
        theForm.__SCROLLPOSITIONX.value =3D WebForm_GetScrollX();
        theForm.__SCROLLPOSITIONY.value =3D WebForm_GetScrollY();
    }
    if ((typeof(this.oldSubmit) !=3D "undefined") && (this.oldSubmit =
!=3D null)) {
        return this.oldSubmit();
    }
    return true;
}
function WebForm_SaveScrollPositionOnSubmit() {
    theForm.__SCROLLPOSITIONX.value =3D WebForm_GetScrollX();
    theForm.__SCROLLPOSITIONY.value =3D WebForm_GetScrollY();
    if ((typeof(this.oldOnSubmit) !=3D "undefined") && (this.oldOnSubmit =
!=3D null)) {
        return this.oldOnSubmit();
    }
    return true;
}
function WebForm_RestoreScrollPosition() {
    if (__nonMSDOMBrowser) {
        window.scrollTo(theForm.elements['__SCROLLPOSITIONX'].value, =
theForm.elements['__SCROLLPOSITIONY'].value);
    }
    else {
        window.scrollTo(theForm.__SCROLLPOSITIONX.value, =
theForm.__SCROLLPOSITIONY.value);
    }
    if ((typeof(theForm.oldOnLoad) !=3D "undefined") && =
(theForm.oldOnLoad !=3D null)) {
        return theForm.oldOnLoad();
    }
    return true;
}
function WebForm_TextBoxKeyHandler(event) {
    if (event.keyCode =3D=3D 13) {
        var target;
        if (__nonMSDOMBrowser) {
            target =3D event.target;
        }
        else {
            target =3D event.srcElement;
        }
        if ((typeof(target) !=3D "undefined") && (target !=3D null)) {
            if (typeof(target.onchange) !=3D "undefined") {
                target.onchange();
                event.cancelBubble =3D true;
                if (event.stopPropagation) event.stopPropagation();
                return false;
            }
        }
    }
    return true;
}
function WebForm_TrimString(value) {
    return value.replace(/^\s+|\s+$/g, '')
}
function WebForm_AppendToClassName(element, className) {
    var currentClassName =3D ' ' + WebForm_TrimString(element.className) =
+ ' ';
    className =3D WebForm_TrimString(className);
    var index =3D currentClassName.indexOf(' ' + className + ' ');
    if (index =3D=3D=3D -1) {
        element.className =3D (element.className =3D=3D=3D '') ? =
className : element.className + ' ' + className;
    }
}
function WebForm_RemoveClassName(element, className) {
    var currentClassName =3D ' ' + WebForm_TrimString(element.className) =
+ ' ';
    className =3D WebForm_TrimString(className);
    var index =3D currentClassName.indexOf(' ' + className + ' ');
    if (index >=3D 0) {
        element.className =3D =
WebForm_TrimString(currentClassName.substring(0, index) + ' ' +
            currentClassName.substring(index + className.length + 1, =
currentClassName.length));
    }
}
function WebForm_GetElementById(elementId) {
    if (document.getElementById) {
        return document.getElementById(elementId);
    }
    else if (document.all) {
        return document.all[elementId];
    }
    else return null;
}
function WebForm_GetElementByTagName(element, tagName) {
    var elements =3D WebForm_GetElementsByTagName(element, tagName);
    if (elements && elements.length > 0) {
        return elements[0];
    }
    else return null;
}
function WebForm_GetElementsByTagName(element, tagName) {
    if (element && tagName) {
        if (element.getElementsByTagName) {
            return element.getElementsByTagName(tagName);
        }
        if (element.all && element.all.tags) {
            return element.all.tags(tagName);
        }
    }
    return null;
}
function WebForm_GetElementDir(element) {
    if (element) {
        if (element.dir) {
            return element.dir;
        }
        return WebForm_GetElementDir(element.parentNode);
    }
    return "ltr";
}
function WebForm_GetElementPosition(element) {
    var result =3D new Object();
    result.x =3D 0;
    result.y =3D 0;
    result.width =3D 0;
    result.height =3D 0;
    if (element.offsetParent) {
        result.x =3D element.offsetLeft;
        result.y =3D element.offsetTop;
        var parent =3D element.offsetParent;
        while (parent) {
            result.x +=3D parent.offsetLeft;
            result.y +=3D parent.offsetTop;
            var parentTagName =3D parent.tagName.toLowerCase();
            if (parentTagName !=3D "table" &&
                parentTagName !=3D "body" &&=20
                parentTagName !=3D "html" &&=20
                parentTagName !=3D "div" &&=20
                parent.clientTop &&=20
                parent.clientLeft) {
                result.x +=3D parent.clientLeft;
                result.y +=3D parent.clientTop;
            }
            parent =3D parent.offsetParent;
        }
    }
    else if (element.left && element.top) {
        result.x =3D element.left;
        result.y =3D element.top;
    }
    else {
        if (element.x) {
            result.x =3D element.x;
        }
        if (element.y) {
            result.y =3D element.y;
        }
    }
    if (element.offsetWidth && element.offsetHeight) {
        result.width =3D element.offsetWidth;
        result.height =3D element.offsetHeight;
    }
    else if (element.style && element.style.pixelWidth && =
element.style.pixelHeight) {
        result.width =3D element.style.pixelWidth;
        result.height =3D element.style.pixelHeight;
    }
    return result;
}
function WebForm_GetParentByTagName(element, tagName) {
    var parent =3D element.parentNode;
    var upperTagName =3D tagName.toUpperCase();
    while (parent && (parent.tagName.toUpperCase() !=3D upperTagName)) {
        parent =3D parent.parentNode ? parent.parentNode : =
parent.parentElement;
    }
    return parent;
}
function WebForm_SetElementHeight(element, height) {
    if (element && element.style) {
        element.style.height =3D height + "px";
    }
}
function WebForm_SetElementWidth(element, width) {
    if (element && element.style) {
        element.style.width =3D width + "px";
    }
}
function WebForm_SetElementX(element, x) {
    if (element && element.style) {
        element.style.left =3D x + "px";
    }
}
function WebForm_SetElementY(element, y) {
    if (element && element.style) {
        element.style.top =3D y + "px";
    }
}

------=_NextPart_000_0000_01C9BD3B.EE02A280
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.guglionesionline.it/js/dnncore.js

//General
//for example: instead of each module writing out script found in =
moduleMaxMin_OnClick have the functionality cached
//

var DNN_COL_DELIMITER =3D String.fromCharCode(16);
var DNN_ROW_DELIMITER =3D String.fromCharCode(15);
var __dnn_m_bPageLoaded =3D false;

window.onload =3D __dnn_Page_OnLoad;

function __dnn_ClientAPIEnabled()
{
	return typeof(dnn) !=3D 'undefined';
}


function __dnn_Page_OnLoad()
{
	if (__dnn_ClientAPIEnabled())
	{
		var sLoadHandlers =3D dnn.getVar('__dnn_pageload');
		if (sLoadHandlers !=3D null)
			eval(sLoadHandlers);
	=09
		dnn.dom.attachEvent(window, 'onscroll', __dnn_bodyscroll);
	}
	__dnn_m_bPageLoaded =3D true;
}

function __dnn_KeyDown(iKeyCode, sFunc, e)
{
	if (e =3D=3D null)
		e =3D window.event;

	if (e.keyCode =3D=3D iKeyCode)
	{
		eval(unescape(sFunc));
		return false;
	}
}

function __dnn_bodyscroll()=20
{
	var oF=3Ddocument.forms[0];=09
	if (__dnn_ClientAPIEnabled() && __dnn_m_bPageLoaded)
		oF.ScrollTop.value=3Ddocument.documentElement.scrollTop ? =
document.documentElement.scrollTop : =
dnn.dom.getByTagName("body")[0].scrollTop;
}

function __dnn_setScrollTop(iTop)
{
	if (__dnn_ClientAPIEnabled())
	{
		if (iTop =3D=3D null)
			iTop =3D document.forms[0].ScrollTop.value;
=09
		var sID =3D dnn.getVar('ScrollToControl');
		if (sID !=3D null && sID.length > 0)
		{
			var oCtl =3D dnn.dom.getById(sID);
			if (oCtl !=3D null)
			{
				iTop =3D dnn.dom.positioning.elementTop(oCtl);
				dnn.setVar('ScrollToControl', '');
			}
		}
		window.scrollTo(0, iTop);
	}
}

//Focus logic
function __dnn_SetInitialFocus(sID)
{
	var oCtl =3D dnn.dom.getById(sID);=09
	if (oCtl !=3D null && __dnn_CanReceiveFocus(oCtl))
		oCtl.focus();
}=09

function __dnn_CanReceiveFocus(e)
{
	//probably should call getComputedStyle for classes that cause item to =
be hidden
	if (e.style.display !=3D 'none' && e.tabIndex > -1 && e.disabled =3D=3D =
false && e.style.visible !=3D 'hidden')
	{
		var eParent =3D e.parentElement;
		while (eParent !=3D null && eParent.tagName !=3D 'BODY')
		{
			if (eParent.style.display =3D=3D 'none' || eParent.disabled || =
eParent.style.visible =3D=3D 'hidden')
				return false;
			eParent =3D eParent.parentElement;
		}
		return true;
	}
	else
		return false;
}

//Max/Min Script
function __dnn_ContainerMaxMin_OnClick(oLnk, sContentID)
{
	var oContent =3D dnn.dom.getById(sContentID);
	if (oContent !=3D null)
	{
		var oBtn =3D oLnk.childNodes[0];
		var sContainerID =3D oLnk.getAttribute('containerid');
		var sCookieID =3D oLnk.getAttribute('cookieid');
		var sCurrentFile =3D =
oBtn.src.toLowerCase().substr(oBtn.src.lastIndexOf('/'));
		var sMaxFile;
		var sMaxIcon;
		var sMinIcon;

		if (dnn.getVar('min_icon_' + sContainerID))
			sMinIcon =3D dnn.getVar('min_icon_' + sContainerID);
		else
			sMinIcon =3D dnn.getVar('min_icon');

		if (dnn.getVar('max_icon_' + sContainerID))
			sMaxIcon =3D dnn.getVar('max_icon_' + sContainerID);
		else
			sMaxIcon =3D dnn.getVar('max_icon');

		sMaxFile =3D sMaxIcon.toLowerCase().substr(sMaxIcon.lastIndexOf('/'));

		var iNum =3D 5;
		if (oLnk.getAttribute('animf') !=3D null)
			iNum =3D new Number(oLnk.getAttribute('animf'));
		=09
		if (sCurrentFile =3D=3D sMaxFile)
		{
			oBtn.src =3D sMinIcon;			=09
			//oContent.style.display =3D '';
			dnn.dom.expandElement(oContent, iNum);
			oBtn.title =3D dnn.getVar('min_text');
			if (sCookieID !=3D null)
			{
				if (dnn.getVar('__dnn_' + sContainerID + ':defminimized') =3D=3D =
'true')
					dnn.dom.setCookie(sCookieID, 'true', 365);
				else
					dnn.dom.deleteCookie(sCookieID);
			}
			else
				dnn.setVar('__dnn_' + sContainerID + '_Visible', 'true');
		}
		else
		{
			oBtn.src =3D sMaxIcon;			=09
			//oContent.style.display =3D 'none';
			dnn.dom.collapseElement(oContent, iNum);
			oBtn.title =3D dnn.getVar('max_text');
			if (sCookieID !=3D null)
			{
				if (dnn.getVar('__dnn_' + sContainerID + ':defminimized') =3D=3D =
'true')
					dnn.dom.deleteCookie(sCookieID);
				else
					dnn.dom.setCookie(sCookieID, 'false', 365);			=09
			}
			else
				dnn.setVar('__dnn_' + sContainerID + '_Visible', 'false');		=09
		}
	=09
		return true;	//cancel postback
	}
	return false;	//failed so do postback
}

function __dnn_Help_OnClick(sHelpID)
{
	var oHelp =3D dnn.dom.getById(sHelpID);
	if (oHelp !=3D null)
	{
		if (oHelp.style.display =3D=3D 'none')
			oHelp.style.display =3D '';
		else
			oHelp.style.display =3D 'none';

		return true;	//cancel postback
	}
	return false;	//failed so do postback
}

function __dnn_SectionMaxMin(oBtn, sContentID)
{
	var oContent =3D dnn.dom.getById(sContentID);
	if (oContent !=3D null)
	{
		var sMaxIcon =3D oBtn.getAttribute('max_icon');
		var sMinIcon =3D oBtn.getAttribute('min_icon');
		var bCallback =3D oBtn.getAttribute('userctr') !=3D null;
		var sVal;
		if (oContent.style.display =3D=3D 'none')
		{
			oBtn.src =3D sMinIcon;			=09
			oContent.style.display =3D '';
			if (bCallback)
			    sVal =3D 'True';
			else
			    dnn.setVar(oBtn.id + ':exp', 1);
		}
		else
		{
			oBtn.src =3D sMaxIcon;			=09
			oContent.style.display =3D 'none';
			if (bCallback)
			    sVal =3D 'False';
			else
                dnn.setVar(oBtn.id + ':exp', 0);
		}
		if (bCallback)
		    dnncore.setUserProp(oBtn.getAttribute('userctr'), =
oBtn.getAttribute('userkey'), sVal, null);
		return true;	//cancel postback
	}
	return false;	//failed so do postback
}

//Drag N Drop
function __dnn_enableDragDrop()
{
	var aryConts =3D dnn.getVar('__dnn_dragDrop').split(";");=09
	var aryTitles;

	for (var i=3D0; i < aryConts.length; i++)
	{
		aryTitles =3D aryConts[i].split(" ");
		if (aryTitles[0].length > 0)
		{		=09
			var oCtr =3D dnn.dom.getById(aryTitles[0]);
			var oTitle =3D dnn.dom.getById(aryTitles[1]);
			if (oCtr !=3D null && oTitle !=3D null)
			{
				oCtr.setAttribute('moduleid', aryTitles[2]);
				dnn.dom.positioning.enableDragAndDrop(oCtr, oTitle, =
'__dnn_dragComplete()', '__dnn_dragOver()');
			}=09
		}
	}
}

var __dnn_oPrevSelPane;
var __dnn_oPrevSelModule;
var __dnn_dragEventCount=3D0;
function __dnn_dragOver()
{
	__dnn_dragEventCount++;
	if (__dnn_dragEventCount % 75 !=3D 0)	//only calculate position every =
75 events
		return;
=09
	var oCont =3D dnn.dom.getById(dnn.dom.positioning.dragCtr.contID);

	var oPane =3D __dnn_getMostSelectedPane(dnn.dom.positioning.dragCtr);
	=09
	if (__dnn_oPrevSelPane !=3D null)	//reset previous pane's border
		__dnn_oPrevSelPane.pane.style.border =3D =
__dnn_oPrevSelPane.origBorder;

	if (oPane !=3D null)
	{	=09
		__dnn_oPrevSelPane =3D oPane;
		oPane.pane.style.border =3D '4px double ' + DNN_HIGHLIGHT_COLOR;
		var iIndex =3D __dnn_getPaneControlIndex(oCont, oPane);

		var oPrevCtl;
		var oNextCtl;
		for (var i=3D0; i<oPane.controls.length; i++)
		{
			if (iIndex > i && oPane.controls[i].id !=3D oCont.id)
				oPrevCtl =3D oPane.controls[i];
			if (iIndex <=3D i && oPane.controls[i].id !=3D oCont.id)
			{
				oNextCtl =3D oPane.controls[i];
				break;
			}
		}		=09
	=09
		if (__dnn_oPrevSelModule !=3D null)
			dnn.dom.getNonTextNode(__dnn_oPrevSelModule.control).style.border =3D =
__dnn_oPrevSelModule.origBorder;
		=09

		if (oNextCtl !=3D null)
		{
			__dnn_oPrevSelModule =3D oNextCtl;
			dnn.dom.getNonTextNode(oNextCtl.control).style.borderTop =3D '5px =
groove ' + DNN_HIGHLIGHT_COLOR;
		}
		else if (oPrevCtl !=3D null)
		{
			__dnn_oPrevSelModule =3D oPrevCtl;
			dnn.dom.getNonTextNode(oPrevCtl.control).style.borderBottom =3D '5px =
groove ' + DNN_HIGHLIGHT_COLOR;
		}
	}
}

function __dnn_dragComplete()
{
	var oCtl =3D dnn.dom.getById(dnn.dom.positioning.dragCtr.contID);
	var sModuleID =3D oCtl.getAttribute('moduleid');
=09
	if (__dnn_oPrevSelPane !=3D null)
		__dnn_oPrevSelPane.pane.style.border =3D =
__dnn_oPrevSelPane.origBorder;

	if (__dnn_oPrevSelModule !=3D null)
		dnn.dom.getNonTextNode(__dnn_oPrevSelModule.control).style.border =3D =
__dnn_oPrevSelModule.origBorder;
	=09
	var oPane =3D __dnn_getMostSelectedPane(dnn.dom.positioning.dragCtr);
	var iIndex;
	if (oPane =3D=3D null)
	{
		var oPanes =3D __dnn_Panes();
		for (var i=3D0; i<oPanes.length; i++)
		{
			if (oPanes[i].id =3D=3D oCtl.parentNode.id)
				oPane =3D oPanes[i];
		}
	}=09
	if (oPane !=3D null)
	{
		iIndex =3D __dnn_getPaneControlIndex(oCtl, oPane);
		__dnn_MoveToPane(oPane, oCtl, iIndex);

		dnn.callPostBack('MoveToPane', 'moduleid=3D' + sModuleID, 'pane=3D' + =
oPane.paneName, 'order=3D' + iIndex * 2);=20
	}
}

function __dnn_MoveToPane(oPane, oCtl, iIndex)
{

	if (oPane !=3D null)
	{
		var aryCtls =3D new Array();
		for (var i=3DiIndex; i<oPane.controls.length; i++)
		{
			if (oPane.controls[i].control.id !=3D oCtl.id)
				aryCtls[aryCtls.length] =3D oPane.controls[i].control;

			dnn.dom.removeChild(oPane.controls[i].control);
		}
		dnn.dom.appendChild(oPane.pane, oCtl);
		oCtl.style.top=3D0;
		oCtl.style.left=3D0;
		oCtl.style.position =3D 'relative';
		for (var i=3D0; i<aryCtls.length; i++)
		{
			dnn.dom.appendChild(oPane.pane, aryCtls[i]);
		}
		__dnn_RefreshPanes();
	}
	else
	{
		oCtl.style.top=3D0;
		oCtl.style.left=3D0;
		oCtl.style.position =3D 'relative';
	}
}

function __dnn_RefreshPanes()
{
	var aryPanes =3D dnn.getVar('__dnn_Panes').split(';');
	var aryPaneNames =3D dnn.getVar('__dnn_PaneNames').split(';');
	__dnn_m_aryPanes =3D new Array();
	for (var i=3D0; i<aryPanes.length; i++)
	{
		if (aryPanes[i].length > 0)
			__dnn_m_aryPanes[__dnn_m_aryPanes.length] =3D new =
__dnn_Pane(dnn.dom.getById(aryPanes[i]), aryPaneNames[i]);
	}
}

var __dnn_m_aryPanes;
var __dnn_m_aryModules;
function __dnn_Panes()
{
	if (__dnn_m_aryPanes =3D=3D null)
	{
		__dnn_m_aryPanes =3D new Array();
		__dnn_RefreshPanes();
	}
	return __dnn_m_aryPanes;
}

function __dnn_Modules(sModuleID)
{
	if (__dnn_m_aryModules =3D=3D null)
		__dnn_RefreshPanes();
=09
	return __dnn_m_aryModules[sModuleID];
}

function __dnn_getMostSelectedPane(oContent)
{
	var oCDims =3D new dnn.dom.positioning.dims(oContent);
	var iTopScore=3D0;
	var iScore;
	var oTopPane;
	for (var i=3D0; i<__dnn_Panes().length; i++)
	{
		var oPane =3D __dnn_Panes()[i];
		var oPDims =3D new dnn.dom.positioning.dims(oPane.pane);
		iScore =3D dnn.dom.positioning.elementOverlapScore(oPDims, oCDims);
	=09
		if (iScore > iTopScore)
		{
			iTopScore =3D iScore;
			oTopPane =3D oPane;
		}
	}
	return oTopPane;
}

function __dnn_getPaneControlIndex(oContent, oPane)
{
	if (oPane =3D=3D null)
		return;
	var oCDims =3D new dnn.dom.positioning.dims(oContent);
	var oCtl;
	if (oPane.controls.length =3D=3D 0)
		return 0;
	for (var i=3D0; i<oPane.controls.length; i++)
	{
		oCtl =3D oPane.controls[i];
		var oIDims =3D new dnn.dom.positioning.dims(oCtl.control);
		if (oCDims.t < oIDims.t)
			return oCtl.index;
	}
	if (oCtl !=3D null)
		return oCtl.index+1;
	else
		return 0;
}

//Objects
function __dnn_Pane(ctl, sPaneName)
{
	this.pane =3D ctl;
	this.id =3D ctl.id;
	this.controls =3D new Array();
	this.origBorder =3D ctl.style.border;
	this.paneName =3D sPaneName;
=09
	var iIndex =3D 0;
	var strModuleOrder=3D'';
	for (var i=3D0; i<ctl.childNodes.length; i++)
	{
		var oNode =3D ctl.childNodes[i];
		if (dnn.dom.isNonTextNode(oNode))=09
		{
			if (__dnn_m_aryModules =3D=3D null)
				__dnn_m_aryModules =3D new Array();

			//if (oNode.tagName =3D=3D 'A' && oNode.childNodes.length > 0)
			//	oNode =3D oNode.childNodes[0];	//DNN now embeds anchor tag=20
			=09
			var sModuleID =3D oNode.getAttribute('moduleid');
			if (sModuleID !=3D null && sModuleID.length > 0)
			{
				strModuleOrder +=3D sModuleID + '~';
				this.controls[this.controls.length] =3D new __dnn_PaneControl(oNode, =
iIndex);
				__dnn_m_aryModules[sModuleID] =3D oNode.id;
				iIndex+=3D1;
			}
		}
	}
	this.moduleOrder =3D strModuleOrder;

}

function __dnn_PaneControl(ctl, iIndex)
{
	this.control =3D ctl;
	this.id =3D ctl.id;
	this.index =3D iIndex;
	this.origBorder =3D ctl.style.border;
=09
}

//move towards dnncore ns.  right now only for personalization
function __dnncore()
{
    this.GetUserVal =3D 0;
    this.SetUserVal =3D 1;
}

__dnncore.prototype =3D {
getUserProp: function(sNameCtr, sKey, pFunc) {
    this._doUserCallBack(dnncore.GetUserVal, sNameCtr, sKey, null, new =
dnncore.UserPropArgs(sNameCtr, sKey, pFunc));
},

setUserProp: function(sNameCtr, sKey, sVal, pFunc) {
    this._doUserCallBack(dnncore.SetUserVal, sNameCtr, sKey, sVal, new =
dnncore.UserPropArgs(sNameCtr, sKey, pFunc));
},

_doUserCallBack: function(iType, sNameCtr, sKey, sVal, pFunc) {
    if (dnn && dnn.xmlhttp)
    {
        var sPack =3D iType + COL_DELIMITER + sNameCtr + COL_DELIMITER + =
sKey + COL_DELIMITER + sVal;
        =
dnn.xmlhttp.doCallBack('__Page',sPack,dnncore._callBackSuccess,pFunc,dnnc=
ore._callBackFail,null,true,null,0);
    }
    else
        alert('Client Personalization not enabled');
},

_callBackSuccess: function (result, ctx, req) {
    if (ctx.pFunc)
        ctx.pFunc(ctx.namingCtr, ctx.key, result);
},

_callBackFail: function (result, ctx) {
	window.status =3D result;
}
}

__dnncore.prototype.UserPropArgs =3D function(sNameCtr, sKey, pFunc)
{
    this.namingCtr =3D sNameCtr;
	this.key =3D sKey;
	this.pFunc =3D pFunc;
}

var dnncore =3D new __dnncore();

------=_NextPart_000_0000_01C9BD3B.EE02A280
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.guglionesionline.it/controls/SolpartMenu/spmenu.js

//------------------------------------------------------//
// Solution Partner's ASP.NET Hierarchical Menu Control //
// Copyright (c) 2002-2005                              //
// Jon Henning - Solution Partner's Inc                 // =20
// jhenning@solpart.com   -   http://www.solpart.com    //
// Compatible Menu Version:  <Min: 1400>             //
//                           <Max: 1.7.2.0>             //
// <Script Version: 1720>                               //
//------------------------------------------------------//
var m_oSolpartMenu;
if (m_oSolpartMenu =3D=3D null)
	m_oSolpartMenu =3D new Array(); //stores all menu objects (SolpartMenu) =
in array=20
var m_spm_sBrowser;
var m_spm_sVersion;
function spm_initMyMenu(oXML, oCtl)   //Creates SolpartMenu object and =
calls generate method
{

  m_oSolpartMenu[oCtl.id] =3D new SolpartMenu(oCtl);
  m_oSolpartMenu[oCtl.id].GenerateMenuHTML(oXML);
=20
}
 =20
//------- Constructor -------//
function SolpartMenu(o)
{
__db(o.id + ' - constructor');
//  var me =3D this;  //allow attached events to reference this
  //--- Data Properties ---//
  this.systemImagesPath=3Dspm_getAttr(o, 'SysImgPath', ''); =20
  this.iconImagesPath=3Dspm_getAttr(o, 'IconImgPath', =
this.systemImagesPath);
 =20
  this.xml =3D spm_getAttr(o, 'XML', '');
  this.xmlFileName =3D spm_getAttr(o, 'XMLFileName', '');

  //--- Appearance Properties ---//
  this.fontStyle=3Dspm_getAttr(o, 'FontStyle', 'font-family: arial;');
  this.backColor=3Dspm_getAttr(o, 'BackColor'); =20
  this.foreColor=3Dspm_getAttr(o, 'ForeColor');
  this.iconBackColor=3Dspm_getAttr(o, 'IconBackColor');
  this.hlColor=3Dspm_getAttr(o, 'HlColor', '');
  this.shColor=3Dspm_getAttr(o, 'ShColor', '');=20
  this.selColor=3Dspm_getAttr(o, 'SelColor');
  this.selForeColor=3Dspm_getAttr(o, 'SelForeColor');
  this.selBorderColor=3Dspm_getAttr(o, 'SelBorderColor');
  this.menuAlignment =3D spm_getAttr(o, 'MenuAlignment', 'Left');
  this.display=3Dspm_getAttr(o, 'Display', 'horizontal');
  this.MBLeftHTML=3Dspm_getAttr(o, 'MBLHTML', '');
  this.MBRightHTML=3Dspm_getAttr(o, 'MBRHTML', '');

  this.rootArrow =3D spm_getAttr(o, 'RootArrow', '0');
  this.rootArrowImage =3D spm_getAttr(o, 'RootArrowImage', '');
  this.arrowImage =3D spm_getAttr(o, 'ArrowImage', '');
  this.backImage=3Dspm_getAttr(o, 'BackImage', '');

	this.supportsTransitions =3D spm_getAttr(o, 'SupportsTrans', '0');

  //--- Transition Properteis ---//
  //this.menuEffectsStyle=3Dspm_getAttr(o, 'MenuEffectsStyle', '');
  this.menuTransitionLength=3Dspm_getAttr(o, 'MenuTransitionLength', =
.3);
  this.menuTransition=3Dspm_getAttr(o, 'MenuTransition', 'None');
  this.menuTransitionStyle=3Dspm_getAttr(o, 'MenuTransitionStyle', '');
  this.SolpartMenuTransitionObject =3D new =
SolpartMenuTransitionObject();
 =20
  //--- Behavior Properteis ---//
  this.moveable =3D spm_getAttr(o, 'Moveable', '0');
  this.moDisplay=3Dspm_getAttr(o, 'MODisplay', 'HighLight');
  this.moExpand=3Dspm_getAttr(o, 'MOExpand', "-1");
  this.moutDelay=3Dspm_getAttr(o, 'MOutDelay', "0");
  this.minDelay=3Dspm_getAttr(o, 'MInDelay', "0");
  this.minDelayType=3Dnull;
	this.minDelayTimer=3Dnull;
	this.minDelayObj=3Dnull;
	 =20
  if (spm_browserType() =3D=3D 'safari')	//safari has issues with =
mouseoutdelay...
		this.moutDelay =3D 5000;
	=09
  this.target=3Dspm_getAttr(o, 'target', "");
  this.moScroll=3Dspm_getAttr(o, 'MOScroll', "-1");

  //--- Sizing Properties ---//
  this.menuBarHeight=3Dspm_fixUnit(spm_getAttr(o, 'MenuBarHeight', =
'0'));
  this.menuItemHeight=3Dspm_fixUnit(spm_getAttr(o, 'MenuItemHeight', =
'0'));
  this.iconWidth=3Dspm_fixUnit(spm_getAttr(o, 'IconWidth', '0'));
  this.borderWidth=3Dspm_getAttr(o, 'BorderWidth', '1');

  //--- CSS Properties ---//
  this.cssMenuContainer=3Dspm_getAttr(o, 'CSSMenuContainer', '');
  this.cssMenuBar=3Dspm_getAttr(o, 'CSSMenuBar', '');
  this.cssMenuItem=3Dspm_getAttr(o, 'CSSMenuItem', '');
  this.cssMenuIcon=3Dspm_getAttr(o, 'CSSMenuIcon', '');
  this.cssSubMenu=3Dspm_getAttr(o, 'CSSSubMenu', '');
  this.cssMenuBreak=3Dspm_getAttr(o, 'CSSMenuBreak', '');
  this.cssMenuItemSel=3Dspm_getAttr(o, 'CSSMenuItemSel', '');
  this.cssMenuArrow=3Dspm_getAttr(o, 'CSSMenuArrow', '');
  this.cssMenuRootArrow=3Dspm_getAttr(o, 'CSSRootMenuArw', '');
  this.cssMenuScrollItem=3Dspm_getAttr(o, 'CSSScrollItem', '');

	//for right to left (rtl) menus
	this.direction =3D spm_getCurrentStyle(document.body, 'direction');

	this.useIFrames=3D(spm_getAttr(o, 'useIFrames', '1') !=3D '0' && =
spm_supportsIFrameTrick());=09
=09
	this.delaySubmenuLoad=3D(spm_getAttr(o, 'delaySubmenuLoad', '0') !=3D =
'0' && spm_needsSubMenuDelay());=09
=09
 =20
  //---- methods ---//
  //this.GenerateMenuHTML=3D__GenerateMenuHTML;

  //----- private ----//
  this._m_sNSpace =3D o.id;               //stores namespace for menu
  this._m_sOuterTables =3D '';            //stores HTML for sub menus
  this._m_oDOM;                         //stores XML DOM object
	this._m_oMenu =3D o;                    //stores container
  this._m_oMenuMove;                    //stores control that is used =
for moving menu
 =20
  this._m_oTblMenuBar;                  //stores menu container
	this._m_aOpenMenuID =3D new Array();	  //stores list of menus that are =
currently displayed
	this._m_bMoving=3Dfalse;                //flag to determine menu is =
being dragged
  this._m_dHideTimer =3D null;            //used to time when mouse out =
occured to auto hide menu based on mouseoutdelay
  this._m_oScrollingMenu =3D null;				//used in scrolling menu on mouse =
over

__db(this._m_oMenu.id + ' - constructor end');

}

//--- Destroys interrnal object references ---//
SolpartMenu.prototype.destroy =3D function ()
{
  this.systemImagesPath =3D null; =20
  this.iconImagesPath =3D null;
  this.xml =3D null;
  this.xmlFileName =3D null;

  //--- Appearance Properties ---//
  this.fontStyle =3D null;
  this.backColor =3D null; =20
  this.foreColor =3D null;
  this.iconBackColor =3D null;
  this.hlColor =3D null;
  this.shColor =3D null;=20
  this.selColor =3D null;
  this.selForeColor =3D null;
  this.selBorderColor =3D null;
  this.menuAlignment =3D null;
  this.display =3D null;

  this.rootArrow =3D null;
  this.rootArrowImage =3D null;
  this.arrowImage =3D null;
  this.backImage =3D null;

  //--- Transition Properteis ---//
  //this.menuEffectsStyle =3D null;
  this.menuTransitionLength =3D null;
  this.menuTransition =3D null;
  this.SolpartMenuTransitionObject =3D null;
 =20
  //--- Behavior Properteis ---//
  this.moveable =3D null;
  this.moDisplay =3D null;
  this.moExpand =3D null;
  this.moutDelay =3D null;

  //--- Sizing Properties ---//
  this.menuBarHeight =3D null;
  this.menuItemHeight =3D null;
  this.iconWidth =3D null;
  this.borderWidth =3D null;

  //--- CSS Properties ---//
  this.cssMenuContainer =3D null;
  this.cssMenuBar =3D null;
  this.cssMenuItem =3D null;
  this.cssMenuIcon =3D null;
  this.cssSubMenu =3D null;
  this.cssMenuBreak =3D null;
  this.cssMenuItemSel =3D null;
  this.cssMenuArrow =3D null;
  this.cssMenuRootArrow =3D null;
 =20
  //---- methods ---//

  //----- private ----//
  m_oSolpartMenu[this._m_sNSpace] =3D null;

  this._m_sNSpace =3D null;                 //stores namespace for menu
  this._m_sOuterTables =3D null;            //stores HTML for sub menus
  this._m_oDOM =3D null;                    //stores XML DOM object
	this._m_oMenu =3D null;                   //stores container
  this._m_oMenuMove =3D null;               //stores control that is =
used for moving menu
 =20
  this._m_oTblMenuBar =3D null;             //stores menu container
	this._m_aOpenMenuID =3D null;	            //stores list of menus that =
are currently displayed
	this._m_bMoving =3D null;                 //flag to determine menu is =
being dragged
  this._m_dHideTimer =3D null;              //used to time when mouse =
out occured to auto hide menu based on mouseoutdelay
  this._m_oScrollingMenu =3D null;					//used in scrolling menu on mouse =
over
 =20
}

//--- xml document loaded (non-dataisland) ---//
SolpartMenu.prototype.onXMLLoad =3D function ()
{
  this.GenerateMenuHTML(this._m_oDOM);
}

//--- Generates menu HTML through passed in XML DOM ---//
SolpartMenu.prototype.GenerateMenuHTML =3D function (oXML)=20
{
__db(this._m_oMenu.id + ' - GenerateMenuHTML');
    //'Generates the main menu bar
  var sHTML =3D '';
  this._m_sOuterTables =3D '';

	if (oXML =3D=3D null)
	{
	  if (this._m_oDOM =3D=3D null)
	  {
	    oXML =3D spm_createDOMDoc();
	    this._m_oDOM =3D oXML;
        	 =20
	    if (this.xml.length)
	      oXML.loadXML(this.xml);
  	 =20
	    if (this.xmlFileName.length)
	    {
	      oXML.onload =3D eval('onxmlload' + this._m_sNSpace);=20
	      oXML.load(this.xmlFileName);
	      return; //async load
	    }
    }
	}
	else
	  this._m_oDOM =3D oXML;

  if (this.display =3D=3D "vertical")
  {
      sHTML +=3D '<table ID=3D"tbl' + this._m_sNSpace + 'MenuBar" =
CELLPADDING=3D\'0\' CELLSPACING=3D\'0\' BORDER=3D"0" CLASS=3D"' + =
spm_fixCSSForMac(this.getIntCSSName('spmbctr') + this.cssMenuContainer) =
+ '" HEIGHT=3D"100%" STYLE=3D"vertical-align: middle;">\n';	//removed =
position: relative;  for IE and display: block; for Opera
      sHTML +=3D MyIIf(this.MBLeftHTML.length, '<tr>\n       <td>' + =
this.MBLeftHTML + '</td>\n</tr>\n', '');
      sHTML +=3D MyIIf(Number(this.moveable), '<tr>\n       <td =
ID=3D"td' + this._m_sNSpace + 'MenuMove" height=3D\'3px\' =
style=3D\'cursor: move; ' + spm_getMenuBorderStyle(this) + '\'>' + =
spm_getSpacer(this) + '</td>\n</tr>\n', '');
      sHTML +=3D         =
this.GetMenuItems(this._m_oDOM.documentElement);
      sHTML +=3D '       <tr><td HEIGHT=3D"100%">' + spm_getSpacer(this) =
+ '</td>\n' ;
      sHTML +=3D '   </tr>\n';
      sHTML +=3D MyIIf(this.MBRightHTML.length, '<tr>\n       <td>' + =
this.MBRightHTML + '</td>\n</tr>\n', '');
      sHTML +=3D '</table>\n';
  }
  else
  {
      sHTML +=3D '<table ID=3D"tbl' + this._m_sNSpace + 'MenuBar" =
CELLPADDING=3D\'0\' CELLSPACING=3D\'0\' BORDER=3D"0" CLASS=3D"' + =
spm_fixCSSForMac(this.getIntCSSName('spmbctr') + this.cssMenuContainer) =
+ '" WIDTH=3D"100%" STYLE=3D"vertical-align: middle; ">\n';	//removed =
position: relative;  for IE and display: block; for Opera
      sHTML +=3D '	<tr>\n';
      sHTML +=3D MyIIf(this.MBLeftHTML.length, '<td>' + this.MBLeftHTML =
+ '</td>\n', '');
      sHTML +=3D MyIIf(Number(this.moveable), '       <td ID=3D"td' + =
this._m_sNSpace + 'MenuMove" width=3D\'3px\' style=3D\'cursor: move; ' + =
spm_getMenuBorderStyle(this) + '\'>' + spm_getSpacer(this) + '</td>\n', =
'');
      sHTML +=3D spm_getMenuSpacingImage('left', this);
      sHTML +=3D         =
this.GetMenuItems(this._m_oDOM.documentElement);
      sHTML +=3D spm_getMenuSpacingImage('right', this);
      sHTML +=3D MyIIf(this.MBRightHTML.length, '<td>' + =
this.MBRightHTML + '</td>\n', '');
      sHTML +=3D '   </tr>\n';
      sHTML +=3D '</table>\n';
  }
=09
	this._m_oMenu.innerHTML =3D sHTML;

	this.GenerateSubMenus();

=09
  this._m_oMenuMove =3D spm_getById('td' + this._m_sNSpace + =
'MenuMove');

  spm_getTags("BODY")[0].onclick =3D =
spm_appendFunction(spm_getTags("BODY")[0].onclick, 'm_oSolpartMenu["' + =
this._m_sNSpace + '"].bodyclick();'); //document.body.onclick =3D =
this.bodyclick;

  this._m_oTblMenuBar =3D spm_getById('tbl' + this._m_sNSpace + =
'MenuBar');=20
 =20
  this.fireEvent('onMenuComplete');

__db(this._m_oMenu.id + ' - GenerateMenuHTML end');   =20
}

SolpartMenu.prototype.GenerateSubMenus =3D function (oXML)=20
{
	if (this._m_sOuterTables.length > 0)
	{
			var oDiv =3D spm_getById(this._m_sNSpace + '_divOuterTables');
			if (oDiv =3D=3D null)
			{
				alert('It appears that your menu dll is out of sync with your script =
file.');
				return;
			}
		=09
			if (this.delaySubmenuLoad !=3D '0' && document.readyState !=3D =
'complete')
				return;
						=09
			oDiv.innerHTML =3D this._m_sOuterTables;
		=09
	}
	this._m_sOuterTables =3D '';
}

function spm_getMenuBarEvents(sCtl)
{
  return 'onmouseover=3D"m_oSolpartMenu[\'' + sCtl + '\'].onMBMO(this);" =
onmouseout=3D"m_oSolpartMenu[\'' + sCtl + '\'].onMBMOUT(this);" =
onclick=3D"m_oSolpartMenu[\'' + sCtl + '\'].onMBC(this, event);" =
onmousedown=3D"m_oSolpartMenu[\'' + sCtl + '\'].onMBMD(this);" =
onmouseup=3D"m_oSolpartMenu[\'' + sCtl + '\'].onMBMU(this);"';
}

function spm_getMenuItemEvents(sCtl)
{
  return 'onmouseover=3D"m_oSolpartMenu[\'' + sCtl + =
'\'].onMBIMO(this);" onmouseout=3D"m_oSolpartMenu[\'' + sCtl + =
'\'].onMBIMOUT(this);" onclick=3D"m_oSolpartMenu[\'' + sCtl + =
'\'].onMBIC(this, event);"';
}

//--- Returns HTML for menu items (recursive function) ---//
SolpartMenu.prototype.GetMenuItems =3D function (oParent)
{
  var oNode;
  var sHTML =3D '';
  var sID;
  var sParentID;
  var sClickAction;
 =20
	for (var i =3D 0; i < oParent.childNodes.length; i++)
	{
		oNode =3D oParent.childNodes[i];

		if (oNode.nodeType !=3D 3 && oNode.nodeType !=3D 8)  //exclude =
nodeType of Text (Netscape/Mozilla) issue!
		{
		  //'determine if root level item and set parent id accordingly
		  if (oNode.parentNode.nodeName !=3D "menuitem")
			  sParentID =3D "-1";
		  else
			  sParentID =3D oNode.parentNode.getAttribute("id");

		  if (oNode.nodeName =3D=3D "menuitem")
			  sID =3D oNode.getAttribute("id");
		  else
			  sID =3D "";


  __db(sID + ' getmenuitems');
			sClickAction =3D spm_getMenuClickAction(oNode, this);


		  if (sParentID =3D=3D "-1")	//'if top level menu item
		  {
	=09
			  if (this.display =3D=3D "vertical")
				  sHTML +=3D "<tr>\n"; //'if vertical display then add rows for each =
top menuitem
  		=09
  			if (oNode.nodeName =3D=3D 'menubreak')
  			{
					if (this.display =3D=3D "vertical")
						sHTML +=3D "<tr>\n"; //'if vertical display then add rows for each =
top menuitem

 					var sBreakHTML =3D spm_getAttr(oNode, 'lefthtml', '') + =
spm_getAttr(oNode, 'righthtml', '');
 					if (sBreakHTML.length > 0)
 						sHTML +=3D '   <td class=3D"' + =
spm_fixCSSForMac(this.getIntCSSName('spmbrk') + this.cssMenuBreak) + =
'">' + sBreakHTML + '</td>\n';
 					else
 						sHTML +=3D '   <td class=3D"' + =
spm_fixCSSForMac(this.getIntCSSName('spmbrk') + this.cssMenuBreak) + =
'">' + spm_getMenuImage('spacer.gif', this, true, ' ') + '</td>\n';

					if (this.display =3D=3D "vertical")
						sHTML +=3D "</tr>\n";
  			}
  			else
  			{
					sHTML +=3D '<td>\n<table width=3D"100%" CELLPADDING=3D"0" =
CELLSPACING=3D"0" border=3D"0">\n<tr id=3D"td' + this._m_sNSpace + sID + =
'" ' + spm_getMenuBarEvents(this._m_sNSpace) + '  class=3D"' + =
spm_fixCSSForMac(this.getIntCSSName('spmbar spmitm') + this.cssMenuBar + =
' ' + this.cssMenuItem + ' ' + spm_getMenuItemCSS(oNode)) + '" =
savecss=3D"' + spm_getMenuItemCSS(oNode) + '" saveselcss=3D"' + =
spm_getMenuItemSelCSS(oNode) + '" menuclick=3D"' + sClickAction + '" =
style=3D"' + spm_getMenuItemStyle('item', oNode) + '">\n';
					var sAlign =3D this.display=3D=3D'vertical' ? 'align=3D"' + =
this.menuAlignment + '"' : '';
					sHTML +=3D '<td unselectable=3D"on" NOWRAP=3D"NOWRAP" ' + sAlign + =
' TITLE=3D"' + spm_getAttr(oNode, 'tooltip', '') + '">' + =
spm_getImage(oNode, this) + spm_getItemHTML(oNode, 'left', '&nbsp;') + =
spm_getAttr(oNode, 'title', '') + spm_getItemHTML(oNode, 'right') + =
MyIIf(Number(this.rootArrow) && spm_nodeHasChildren(oNode), '</td>\n<td =
align=3D"right" class=3D"' + =
spm_fixCSSForMac(this.getIntCSSName('spmrarw') + this.cssMenuRootArrow) =
+ '">' + spm_getArrow(this.rootArrowImage, this) + "", '&nbsp;') + =
'\n</td>\n</tr>\n</table>\n</td>\n';
				}
				  	   =20
			  if (this.display =3D=3D "vertical")
				  sHTML +=3D "</tr>\n";
		 =20
		=20
		  }
		  else                        //'submenu - not top level menu item
		  {
			  switch(oNode.nodeName)
			  {
				  case "menuitem":
				  {
					  sHTML +=3D		'   <tr ID=3D"tr' + this._m_sNSpace + sID + '" ' + =
spm_getMenuItemEvents(this._m_sNSpace) + ' parentID=3D"' + sParentID + =
'" class=3D"' + spm_fixCSSForMac(this.getIntCSSName('spmitm') + =
this.cssMenuItem + ' ' + spm_getMenuItemCSS(oNode)) + '" savecss=3D"' + =
spm_getMenuItemCSS(oNode) + '" saveselcss=3D"' + =
spm_getMenuItemSelCSS(oNode) + '" menuclick=3D"' + sClickAction + '" =
style=3D"' + spm_getMenuItemStyle('item', oNode) + '">\n';
					  sHTML +=3D		'       <td unselectable=3D"on" id=3D"icon' + =
this._m_sNSpace + sID + '" class=3D"' + =
spm_fixCSSForMac(this.getIntCSSName('spmicn') + this.cssMenuIcon) + '" =
style=3D"' + spm_getMenuItemStyle('image', oNode) + '; ' + =
spm_getMenuItemStyle('item', oNode) + '">' + spm_getImage(oNode, this) + =
'</td>\n';
					  sHTML +=3D		'       <td unselectable=3D"on" id=3D"td' + =
this._m_sNSpace + sID + '" class=3D"' + =
spm_fixCSSForMac(this.getIntCSSName('spmitm') + this.cssMenuItem + ' ' + =
spm_getMenuItemCSS(oNode)) + '" savecss=3D"' + spm_getMenuItemCSS(oNode) =
+ '" NOWRAP=3D"NOWRAP" TITLE=3D"' + spm_getAttr(oNode, 'tooltip', '') + =
'" style=3D"' + spm_getMenuItemStyle('item', oNode) + '">' + =
spm_getItemHTML(oNode, 'left', '') + spm_getAttr(oNode, 'title', '') + =
spm_getItemHTML(oNode, 'right', '') + '</td>\n';
					  sHTML +=3D		'       <td unselectable=3D"on" id=3D"arrow' + =
this._m_sNSpace + sID + '" width=3D"15px" CLASS=3D"' + =
spm_fixCSSForMac(this.getIntCSSName('spmarw') + this.cssMenuArrow) + '" =
style=3D"' + spm_getMenuItemStyle('item', oNode) + '">' + =
MyIIf(spm_nodeHasChildren(oNode), spm_getArrow(this.arrowImage, this), =
spm_getSpacer(this)) + '</td>\n';
					  sHTML +=3D		'   </tr>\n';

					  break;
				  }
				  case "menubreak":
				  {
 						var sBreakHTML =3D spm_getAttr(oNode, 'lefthtml', '') + =
spm_getAttr(oNode, 'righthtml', '');
 						if (sBreakHTML.length > 0)
							sHTML +=3D '   <tr><td colspan=3D"3" class=3D"' + =
spm_fixCSSForMac(this.getIntCSSName('spmbrk') + this.cssMenuBreak) + =
'">' + sBreakHTML + '</td>\n</tr>\n';
 						else
							sHTML +=3D '   <tr>\n<td style=3D"height: 1px" class=3D"' + =
spm_fixCSSForMac(this.getIntCSSName('spmicn') + this.cssMenuIcon) + '">' =
+ spm_getMenuImage('spacer.gif', this, true, ' ') + '</td>\n<td =
colspan=3D"2" class=3D"' + spm_fixCSSForMac(this.getIntCSSName('spmbrk') =
+ this.cssMenuBreak) + '">' + spm_getMenuImage('spacer.gif', this, true, =
' ') + '</td>\n</tr>\n';

					  break;
				  }
			  }
		  }

		  //'Generate sub menu - note: we are recursively calling ourself
		  //'netscape renders tables with display: block as having =
cellpadding!!! therefore using div outside table - LAME!
		  if (oNode.childNodes.length > 0)
		  {
				var sTag =3D 'DIV';
				var sStyle =3D '';

				if (spm_isMac('ie'))
				{
					sTag =3D 'P';
					sStyle =3D 'margin-top:0px; margin-left:0px;'
				}
			  this._m_sOuterTables =3D '\n<' + sTag + ' ID=3D"tbl' + =
this._m_sNSpace + sID + '" CLASS=3D"' + =
spm_fixCSSForMac(this.getIntCSSName('spmsub') + this.cssSubMenu) + '" =
STYLE=3D"display:none; position: absolute;' + sStyle + =
this.menuTransitionStyle + '">\n<table CELLPADDING=3D"0" =
CELLSPACING=3D"0" BORDER=3D"0">\n' + this.GetMenuItems(oNode) + =
'\n</table>\n</' + sTag + '>\n' + this._m_sOuterTables;
			}

    }
	}
	return sHTML;
}

	//--------------- Event Functions ---------------//
  //--- menubar click event ---//
	SolpartMenu.prototype.onMBC =3D function (e, evt)
	{
		this.GenerateSubMenus();

		var oCell =3D e; //event.srcElement;
		var sID =3D oCell.id.substr(2);

		var oMenu =3D spm_getById("tbl" + sID);
	=09
		if (oMenu !=3D null)
		{
			this.hideAllMenus();		//mindelay mod
			if (oMenu.style.display =3D=3D '')
			{
				this.hideAllMenus();	=09
				if (this.useIFrames)
					spm_iFrameIndex(oMenu, false, this.systemImagesPath);
				else
					spm_showElement("SELECT|OBJECT");
			}
			else
			{
				spm_positionMenu(this, oMenu, oCell);
			=09
				this.doTransition(oMenu);
				oMenu.style.display =3D "";
				this._m_aOpenMenuID[0] =3D sID;
				if (this.useIFrames)
					spm_iFrameIndex(oMenu, true, this.systemImagesPath);
				else
					spm_hideElement("SELECT|OBJECT",oMenu);
			}
		}
	=09
    this.fireEvent('onMenuBarClick', oCell);
   =20
    oMenu =3D spm_getById("td" + sID);
    if (spm_getAttr(oMenu, "menuclick", '').length)
    {
      eval(spm_getAttr(oMenu, "menuclick", ''));
      this.hideAllMenus();
    }
		spm_stopEventBubbling(evt);
	}
=09
  //--- menubar mousedown event ---//
	SolpartMenu.prototype.onMBMD =3D function (e)
	{
		var oCell =3D e; //event.srcElement;
		this.applyBorder(oCell, 1, this.shColor, this.hlColor);
	}
 =20
  //--- menubar mouseup event ---//
	SolpartMenu.prototype.onMBMU =3D function (e)
	{
		var oCell =3D e; //event.srcElement;
		this.applyBorder(oCell, 1, this.hlColor, this.shColor);
	}
 =20
  //--- menubar mouseover event ---//
	SolpartMenu.prototype.onMBMO =3D function (e, bBypassDelay)
	{
		this.GenerateSubMenus();
		var oCell =3D e; //event.srcElement;
	=09
		if (oCell.id.length =3D=3D 0) //cancelBubble
		  return;
		var sID =3D oCell.id.substr(2);
		var oMenu =3D spm_getById("tbl" + sID);

		if (this._m_aOpenMenuID.length || this.moExpand !=3D '0')
		{
			if (this.minDelay !=3D 0 && bBypassDelay !=3D true)
			{
				if (this.minDelayTimer !=3D null)
					window.clearTimeout(this.minDelayTimer);
				this.minDelayType =3D 'root';
				this.minDelayObj =3D e;
				this.minDelayTimer =3D setTimeout('m_oSolpartMenu["' + =
this._m_sNSpace + '"].mouseInDelayHandler()', this.minDelay);
			}
			else
			{
				//--- if menu is shown then mouseover triggers the showing of all =
menus ---//
				this.hideAllMenus();

				if (oMenu !=3D null)
				{
					spm_positionMenu(this, oMenu, oCell);
					this.doTransition(oMenu);
					oMenu.style.display =3D "";
					this._m_aOpenMenuID[0] =3D sID;
					if (this.useIFrames)
						spm_iFrameIndex(oMenu, true, this.systemImagesPath);
					else
						spm_hideElement("SELECT|OBJECT",oMenu);
				}
			}
			this.applyBorder(oCell, 1, this.shColor, this.hlColor);
		}
		else
		{
			this.applyBorder(oCell, 1, this.hlColor, this.shColor);
		}

		oCell.className =3D  spm_fixCSSForMac(this.getIntCSSName('spmitmsel =
spmbar') + this.cssMenuBar + ' ' + this.cssMenuItemSel + ' ' + =
spm_getAttr(oCell, 'saveselcss', '') + ' ' + spm_getAttr(oCell, =
'savecss', ''));
	=09
		this._m_dHideTimer =3D null;
	=09
		this.fireEvent('onMenuBarMouseOver', oCell);
	=09
	}
  //--- menubar mouseout event ---//
	SolpartMenu.prototype.onMBMOUT =3D function (e)
	{
		var oCell =3D e; //event.srcElement;
		var sID =3D oCell.id.substr(2);
		this.applyBorder(oCell, 1, spm_getCellBackColor(oCell), =
spm_getCellBackColor(oCell), "none");=09
		this._m_dHideTimer =3D new Date();

		if (this.moutDelay !=3D 0)
		  setTimeout('m_oSolpartMenu["' + this._m_sNSpace + =
'"].hideMenuTime()', this.moutDelay);
		 =20
    oCell.className =3D spm_fixCSSForMac(this.getIntCSSName('spmbar =
spmitm') + this.cssMenuBar + ' ' + this.cssMenuItem + ' ' + =
spm_getAttr(e, 'savecss', ''));
    this.stopTransition();
    this.minDelayType =3D null;
    this.fireEvent('onMenuBarMouseOut', oCell);
	}
=09
  //--- menuitem click ---//
	SolpartMenu.prototype.onMBIC =3D function (e, evt)
	{
		var oRow =3D spm_getSourceTR(e, this._m_sNSpace);  //event.srcElement
		var sID =3D oRow.id.substr(2);
		if (spm_itemHasChildren(sID, this._m_sNSpace) =3D=3D false)
			this.hideAllMenus();

		this.fireEvent('onMenuItemClick', oRow);

    if (spm_getAttr(oRow, "menuclick", '').length)
    {
      eval(spm_getAttr(oRow, "menuclick", ''));
      this.hideAllMenus();
		}
		spm_stopEventBubbling(evt);
	=09
		this.handlembi_mo(oRow, true);
	}

  //--- menuitem mouseover event ---//
	SolpartMenu.prototype.onMBIMO =3D function (e)
	{	=09
		this.handlembi_mo(spm_getSourceTR(e, this._m_sNSpace)); =
//event.srcElement

		this._m_dHideTimer =3D null;
	}
  //--- menuitem mouseout event ---//
	SolpartMenu.prototype.onMBIMOUT =3D function (e)
	{=09
		this.handlembi_mout(spm_getSourceTR(e, this._m_sNSpace));  =
//event.srcElement
		this._m_dHideTimer =3D new Date;
		//setTimeout(this.hideMenuTime, this.moutDelay);
		if (this.moutDelay !=3D 0)
		  setTimeout('m_oSolpartMenu["' + this._m_sNSpace + =
'"].hideMenuTime()', this.moutDelay);
		=20
		this.minDelayType =3D null;
	}

	SolpartMenu.prototype.bodyclick =3D function()
	{
		this.hideAllMenus();
	}

  //--- handles display of newly opened menu ---//
	SolpartMenu.prototype.handleNewItemSelect =3D function (sID)
	{
		var i;
		var iNewLength=3D-1;
		var bDeleteRest=3Dfalse;=20
		for (i=3D0; i<this._m_aOpenMenuID.length; i++)
		{	=09
			if (bDeleteRest)
			{
				spm_getById("tbl" + this._m_aOpenMenuID[i]).style.display =3D =
"none";
				if (this.useIFrames)
					spm_iFrameIndex(spm_getById("tbl" + this._m_aOpenMenuID[i]), false, =
this.systemImagesPath);
			}
			if (this._m_aOpenMenuID[i] =3D=3D this._m_sNSpace + sID)
			{
				bDeleteRest=3Dtrue;
				iNewLength =3D i;
			}			=09
		}
		if (iNewLength !=3D -1)
			this._m_aOpenMenuID.length =3D iNewLength+1;
	}
=09
  //--- hides all menus that are currently displayed ---//
	SolpartMenu.prototype.hideAllMenus =3D function ()
	{
		var i;
		var oMenu;
		for (i=3D0; i<this._m_aOpenMenuID.length; i++)
		{	=09
			oMenu =3D spm_getById("tbl" + this._m_aOpenMenuID[i]);
			oMenu.style.display =3D "none";

			if (this.useIFrames)
				spm_iFrameIndex(oMenu, false, this.systemImagesPath);
		}
		if (this.useIFrames !=3D true)
			spm_showElement("SELECT|OBJECT");

		this._m_aOpenMenuID.length =3D 0;
	}	=09
 =20
 =20
  function SolpartMenuTransitionObject()
  {
    this.id=3Dnull;
    this.stop =3D false;
  }=20

  //--- stops menu transition effect ---//
  SolpartMenu.prototype.stopTransition =3D function ()
  {
    this.SolpartMenuTransitionObject.stop =3D true;
    this.doFilter();
    this.SolpartMenuTransitionObject =3D new =
SolpartMenuTransitionObject();
  }
 =20
  //--- starts menu transition effect ---//
  SolpartMenu.prototype.doTransition =3D function (oMenu)
  {
    if (this.menuTransition =3D=3D 'None' || this.supportsTransitions =
=3D=3D '0')
      return;

    var sID =3D this.SolpartMenuTransitionObject.id;
   =20
    switch (this.menuTransition)
    {
      case 'AlphaFade':
      {
        if (this.SolpartMenuTransitionObject.id !=3D oMenu.id)=20
        {
          this.SolpartMenuTransitionObject.id =3D oMenu.id;
          this.SolpartMenuTransitionObject.opacity =3D 0;
          this.doFilter();
        }
        break;
      }
      case 'Wave':
      {
        if (this.SolpartMenuTransitionObject.id !=3D oMenu.id)=20
        {       =20
          this.SolpartMenuTransitionObject.id =3D oMenu.id;
          this.SolpartMenuTransitionObject.phase =3D 0;
          this.doFilter();
        }
        break;
      }
      case 'ConstantWave':
      {
        if (sID !=3D oMenu.id)=20
        {       =20
          this.SolpartMenuTransitionObject.id =3D oMenu.id;
          this.SolpartMenuTransitionObject.phase =3D 0;
          this.SolpartMenuTransitionObject.constant=3Dtrue;
          this.doFilter();
        }
        break;
      }
      case 'Inset': case 'RadialWipe': case 'Slide': case 'Spiral': case =
'Stretch': case 'Strips': case 'Wheel': case 'GradientWipe': case =
'Zigzag': case 'Barn': case 'Blinds': case 'Checkerboard': case 'Fade': =
case 'Iris': case 'RandomBars':
      {
        oMenu.filters('DXImageTransform.Microsoft.' + =
this.menuTransition).apply();
        oMenu.filters('DXImageTransform.Microsoft.' + =
this.menuTransition).duration =3D this.menuTransitionLength;
        oMenu.filters('DXImageTransform.Microsoft.' + =
this.menuTransition).play();
        break;
      }
    }
  }

  //--- applys transition filter ---//
  SolpartMenu.prototype.doFilter =3D function (bStop)=20
  {     =20
    if (this.SolpartMenuTransitionObject.id =3D=3D null)
      return;
     =20
    var o =3D spm_getById(this.SolpartMenuTransitionObject.id);
    window.status =3D new Date();
    switch (this.menuTransition)
    {
      case 'AlphaFade':
      {
        if (this.SolpartMenuTransitionObject.stop)
        {
          o.filters('DXImageTransform.Microsoft.Alpha').opacity =3D 100;
        }
        else
        {
          o.filters('DXImageTransform.Microsoft.Alpha').opacity =3D =
this.SolpartMenuTransitionObject.opacity;
          if (this.SolpartMenuTransitionObject.opacity < 100)
          {
            setTimeout('m_oSolpartMenu["' + this._m_sNSpace + =
'"].doFilter()', 50);
            this.SolpartMenuTransitionObject.opacity +=3D (100/20* =
this.menuTransitionLength);
          }
        }
        break;
      }
      case 'Wave': case 'ConstantWave':
      {
        if (this.SolpartMenuTransitionObject.stop)
        {
            o.filters("DXImageTransform.Microsoft.Wave").freq =3D 0;
            o.filters("DXImageTransform.Microsoft.Wave").lightstrength =
=3D 0;
            o.filters("DXImageTransform.Microsoft.Wave").strength =3D 0;
            o.filters("DXImageTransform.Microsoft.Wave").phase =3D 0;
        }
        else
        {
          o.filters("DXImageTransform.Microsoft.Wave").freq =3D 1;
          o.filters("DXImageTransform.Microsoft.Wave").lightstrength =3D =
20;
          o.filters("DXImageTransform.Microsoft.Wave").strength =3D 5;
          o.filters("DXImageTransform.Microsoft.Wave").phase =3D =
this.SolpartMenuTransitionObject.phase;

          if (this.SolpartMenuTransitionObject.phase < 100 * =
this.menuTransitionLength || this.SolpartMenuTransitionObject.constant =
=3D=3D true)
          {
            setTimeout('m_oSolpartMenu["' + this._m_sNSpace + =
'"].doFilter()', 50);
            this.SolpartMenuTransitionObject.phase +=3D 5;
          }
          else
          {
            o.filters("DXImageTransform.Microsoft.Wave").freq =3D 0;
            o.filters("DXImageTransform.Microsoft.Wave").lightstrength =
=3D 0;
            o.filters("DXImageTransform.Microsoft.Wave").strength =3D 0;
            o.filters("DXImageTransform.Microsoft.Wave").phase =3D 0;
          }
        }
        break;
      }
    }
  }         =20

  //--- handles mouseover for menu item ---//
	SolpartMenu.prototype.handlembi_mo =3D function (oRow, bBypassDelay)
	{
		var sID =3D oRow.id.substr(2);

		spm_getById("icon" + sID).className =3D =
spm_fixCSSForMac(this.getIntCSSName('spmitmsel spmicn') + =
this.cssMenuIcon + ' ' + this.cssMenuItemSel + ' ' + spm_getAttr(oRow, =
'saveselcss', ''));
		spm_getById("td" + sID).className =3D =
spm_fixCSSForMac(this.getIntCSSName('spmitmsel') + this.cssMenuItemSel + =
' ' + spm_getAttr(oRow, 'saveselcss', ''));
		spm_getById("arrow" + sID).className =3D =
spm_fixCSSForMac(this.getIntCSSName('spmitmsel spmarw') + =
this.cssMenuItemSel + ' ' + this.cssMenuArrow + ' ' + spm_getAttr(oRow, =
'saveselcss', ''));
	=09
		if (this.selBorderColor !=3D '')
			spm_applyRowBorder(oRow, 1, this.selBorderColor, true);

		if (this.minDelay !=3D 0 && bBypassDelay !=3D true)
		{
			if (this.minDelayTimer !=3D null)
				window.clearTimeout(this.minDelayTimer);
			this.minDelayType =3D 'sub';
			this.minDelayObj =3D oRow;
			this.minDelayTimer =3D setTimeout('m_oSolpartMenu["' + =
this._m_sNSpace + '"].mouseInDelayHandler()', this.minDelay);
			return;
		}
=09
		if (this._m_aOpenMenuID[this._m_aOpenMenuID.length - 1] !=3D =
oRow.id.replace('tr', ''))
		{
			this.handleNewItemSelect(spm_getAttr(oRow, "parentID", ""));
	=09
			if (spm_getById("tbl" + sID) !=3D null)
			{
				var iWidth;
				oMenu =3D spm_getById("tbl" + sID);

				var oPDims =3D new spm_elementDims(oRow);
				var oMDims =3D new spm_elementDims(oMenu);
				        		=09
				oMenu.style.top =3D spm_getCoord(oPDims.t);
			=09
				spm_resetScroll(oMenu);

				this.doTransition(oMenu);

				oMDims =3D new spm_elementDims(oMenu);	//now that we moved need to =
reget dims
				oMenu.style.display =3D "";

			  if (oMDims.t - spm_getBodyScrollTop() + oMDims.h > =
spm_getViewPortHeight())
			  {
				  if (oMDims.h < spm_getViewPortHeight())
						oMenu.style.top =3D spm_getCoord(spm_getViewPortHeight() + =
spm_getBodyScrollTop() - oMDims.h);
					else
					{
						spm_handleScrollMenu(this, oMenu);
					=09
						oMDims =3D new spm_elementDims(oMenu);	//now that we moved need to =
reget dims
					}
			  }

				if (this.direction =3D=3D 'rtl')
					oMenu.style.left =3D spm_getCoord(oPDims.l - oMDims.w - =
spm_getBodyScrollLeft());
				else
					oMenu.style.left =3D spm_getCoord(oPDims.l + oPDims.w - =
spm_getBodyScrollLeft());

				if (this.direction =3D=3D 'rtl')
				{
					if (oMDims.l - spm_getBodyScrollLeft() < 0)
						oMenu.style.left =3D spm_getCoord(oPDims.l + oPDims.w - =
spm_getBodyScrollLeft());
				}
				else =20
				{
					if (oPDims.l - spm_getBodyScrollLeft() + oPDims.w + oMDims.w > =
spm_getViewPortWidth())
						oMenu.style.left =3D spm_getCoord(oPDims.l - oMDims.w - =
spm_getBodyScrollLeft());
				}
				=09
				this._m_aOpenMenuID[this._m_aOpenMenuID.length] =3D sID;
				if (this.useIFrames)
					spm_iFrameIndex(oMenu, true, this.systemImagesPath);
				else
					spm_hideElement("SELECT|OBJECT",oMenu);

			}
		}
		this.fireEvent('onMenuItemMouseOver', oRow);
	=09
	}
=09
  //--- handles mouseout for menu item ---//
	SolpartMenu.prototype.handlembi_mout =3D function (oRow)
	{
			var sID =3D oRow.id.substr(2);

			oRow.className =3D spm_fixCSSForMac(this.getIntCSSName('spmitm') + ' =
' + this.cssMenuItem + ' ' + spm_getAttr(oRow, 'savecss', ''));
		  spm_getById("icon" + sID).className =3D =
spm_fixCSSForMac(this.getIntCSSName('spmicn') + this.cssMenuIcon);
		  spm_getById("td" + sID).className =3D =
spm_fixCSSForMac(this.getIntCSSName('spmitm') + ' ' + this.cssMenuItem + =
' ' + spm_getAttr(oRow, 'savecss', ''));
		  spm_getById("arrow" + sID).className =3D =
spm_fixCSSForMac(this.getIntCSSName('spmarw') + this.cssMenuArrow);
		=09
			if (this.selBorderColor !=3D '')
				spm_applyRowBorder(oRow, 1, "", false);

      this.stopTransition();
	}

  //used for raising events to client javascript
  SolpartMenu.prototype.fireEvent =3D function (sEvent, src)=20
  {
		return; //disabled for now
    if (eval('this.' + sEvent + ' !=3D null'))
		{
			var e =3D new Object();
			if (src !=3D null)
				e.srcElement =3D src;
			else
				e.srcElement =3D this._m_oMenu;
			=09
				eval('this.' + sEvent + '(e)');
		}
  }

	//--- called by setTimeOut to check mouseout hide delay ---//
	SolpartMenu.prototype.hideMenuTime =3D function ()
  {
    if (this._m_dHideTimer !=3D null && this.moutDelay > 0)
    {
      if (new Date() - this._m_dHideTimer >=3D this.moutDelay)
      {
        this.hideAllMenus();
        this._m_dHideTimer =3D null;
      }
      else
        setTimeout(this.hideMenuTime, this.moutDelay);
    }
  }

	SolpartMenu.prototype.mouseInDelayHandler =3D function ()
	{
		if (this.minDelayType =3D=3D 'root')
			this.onMBMO(this.minDelayObj, true);
		else if (this.minDelayType =3D=3D 'sub')
			this.handlembi_mo(this.minDelayObj, true);
		this.minDelayTimer =3D null;
		this.minDelayObj =3D null;
	}

	//--- called by setTimeOut to check mouseout hide delay ---//
	SolpartMenu.prototype.scrollMenu =3D function ()
  {
		if (this._m_oScrollingMenu !=3D null)
		{
			if (spm_ScrollMenuClick(this._m_oScrollingMenu) =3D=3D false)
				setTimeout('m_oSolpartMenu["' + this._m_sNSpace + '"].scrollMenu()', =
500);
			else
				this._m_oScrollingMenu =3D null;
		}
  }

//global
	function spm_iFrameIndex(eMenu, bShow, sysImgPath)
	{
		if (spm_browserType() =3D=3D 'op')
			return;	//not needed
	=09
		if (document.readyState !=3D 'complete')
			return;	//avoid operation aborted
	=09
		if (bShow)
		{
			var oIFR=3Dspm_getById('ifr' + eMenu.id);
			if (oIFR =3D=3D null)
			{
				var oIFR =3D document.createElement('iframe');
				oIFR.id =3D 'ifr' + eMenu.id;
				//oIFR.src =3D 'javascript: void(0);';
				oIFR.src =3D sysImgPath + 'spacer.gif';
				oIFR.style.top =3D spm_getCoord(0);
				oIFR.style.left =3D spm_getCoord(0);
				oIFR.style.filter =3D =
"progid:DXImageTransform.Microsoft.Alpha(opacity=3D0)";
				oIFR.scrolling =3D 'no';
				oIFR.frameBorder =3D 'no';
				oIFR.style.display =3D 'none';
				oIFR.style.position =3D 'absolute';
				document.body.appendChild(oIFR);
			}
			var oMDims =3D new spm_elementDims(eMenu);
		=09
			oIFR.style.width=3DoMDims.w;
			oIFR.style.height=3DoMDims.h;
			oIFR.style.top=3Dspm_getCoord(oMDims.t);
			oIFR.style.left=3Dspm_getCoord(oMDims.l);
		=09
			var iIndex =3D spm_getCurrentStyle(eMenu, 'zIndex');	=
//eMenu.style.zIndex;
			if (iIndex =3D=3D null || iIndex =3D=3D 0)
				eMenu.style.zIndex =3D 1;
			oIFR.style.zIndex=3DiIndex-1;
			oIFR.style.display=3D"block";
		}
		else if (spm_getById('ifr' + eMenu.id) !=3D null)
		{
			spm_getById('ifr' + eMenu.id).style.display=3D'none';
		}
	}

	function spm_showElement(elmID)
	{
		if (spm_browserType() =3D=3D 'op')
			return;	//not needed

		// Display any element that was hidden
		var sTags =3D elmID.split('|');
		for (var x=3D0; x<sTags.length; x++)
		{
			elmID =3D sTags[x];
			for (var i =3D 0; i < spm_getTags(elmID).length; i++)
			{
				obj =3D spm_getTags(elmID)[i];
				if (! obj || ! obj.offsetParent)
					continue;
				obj.style.visibility =3D "";
			}
		}
	}

	function spm_hideElement(elmID, eMenu)
	{
		if (spm_browserType() =3D=3D 'op')
			return;	//not needed

		var obj;
		// Hide any element that overlaps with the dropdown menu
		var sTags =3D elmID.split('|');
	=09
		var oMDims =3D new spm_elementDims(eMenu);
	=09
		for (var x=3D0; x<sTags.length; x++)
		{
			elmID =3D sTags[x];
			for (var i =3D 0; i < spm_getTags(elmID).length; i++)
			{
				obj =3D spm_getTags(elmID)[i];
				var oODims =3D new spm_elementDims(obj);
			=09
				if (oODims.t > oMDims.t + oMDims.h)
				{
					//if element is below bottom of menu then do nothing
				}
				else if (oODims.l > oMDims.l + oMDims.w)
				{
					//if element is to the right of menu then do nothing
				}
				else if (oODims.l + oODims.w < oMDims.l)
				{
					//if element is to the left of menu then do nothing
				}
				else if (oODims.t + oODims.h < oMDims.t)
				{
					//if element is to the top of menu then do nothing
				}
				else
				{
					obj.style.visibility =3D "hidden";
				}
			}
		}
	}

	function spm_positionMenu(me, oMenu, oCell)
	{

		spm_resetScroll(oMenu);

		var oPDims =3D new spm_elementDims(oCell, false, me);
	=09
		if (me.display =3D=3D 'vertical')
		{
			oMenu.style.top =3D spm_getCoord(oPDims.t);
			var oMDims =3D new spm_elementDims(oMenu);

			if (oMDims.t - spm_getBodyScrollTop() + oMDims.h >=3D =
spm_getViewPortHeight())
			{
				if (oMDims.h < spm_getViewPortHeight())
					oMenu.style.top =3D spm_getCoord(spm_getViewPortHeight() - oMDims.h =
+ spm_getBodyScrollTop());=09
				else
					spm_handleScrollMenu(me, oMenu);
			}
		=09
			var oOrigMDims;
		=09
			if (spm_browserType() !=3D 'ie') //since mozilla doesn't set width =
greater than window size we need to store it here
				 oOrigMDims =3D new spm_elementDims(oMenu);
		=09
      if (me.direction =3D=3D 'rtl')               =20
      {
          var oMDims2 =3D new spm_elementDims(oMenu);
          oMenu.style.left =3D spm_getCoord((oPDims.l) - oMDims2.w - =
spm_getBodyScrollLeft());
      }
      else
          oMenu.style.left =3D spm_getCoord(oPDims.l + oPDims.w - =
spm_getBodyScrollLeft());
				=09
			oMDims =3D new spm_elementDims(oMenu);
			if (oOrigMDims =3D=3D null)
				oOrigMDims =3D oMDims;
		=09
			if (oMDims.l - spm_getBodyScrollLeft(true) + oOrigMDims.w > =
spm_getViewPortWidth())
			{
			  if (spm_getViewPortWidth() - oOrigMDims.w > 0)  //only do this if =
it fits
				  oMenu.style.left =3D spm_getCoord(oPDims.l - oOrigMDims.w - =
spm_getBodyScrollLeft(true));
			}

			//oMenu.style.display =3D "";
		}
		else
		{
			if (me.direction =3D=3D 'rtl')		=09
			{
				var oMDims2 =3D new spm_elementDims(oMenu);
				oMenu.style.left =3D spm_getCoord((oPDims.l + oPDims.w) - oMDims2.w =
- spm_getBodyScrollLeft());
			}
			else		=09
				oMenu.style.left =3D spm_getCoord(oPDims.l - =
spm_getBodyScrollLeft());
			=09
			oMenu.style.top =3D spm_getCoord(oPDims.t + oPDims.h);
			var oMDims =3D new spm_elementDims(oMenu);
		=09
			if (oMDims.l - spm_getBodyScrollLeft(true) + oMDims.w > =
spm_getViewPortWidth())
			{
			  if (spm_getViewPortWidth() - oMDims.w > 0)  //only do this if it =
fits
				  oMenu.style.left =3D spm_getCoord(spm_getViewPortWidth() - =
oMDims.w + spm_getBodyScrollLeft(true));
			}
		=09
			if (oMDims.t - spm_getBodyScrollTop() + oMDims.h > =
spm_getViewPortHeight())
			{
			  if (oPDims.t - oMDims.h - spm_getBodyScrollTop() > 0) //only do =
this if it fits
				  oMenu.style.top =3D spm_getCoord(oPDims.t - oMDims.h);	//place =
above menu bar
				else
					spm_handleScrollMenu(me, oMenu);
			}
			//oMenu.style.display =3D "none";
		}
	}

	//--------- Internal (private) Functions --------//
	//--- Applies border to cell ---//
	SolpartMenu.prototype.applyBorder =3D function (oCell, iSize, =
sTopLeftColor, sBottomRightColor, sStyle)
	{
		if (this.moDisplay =3D=3D 'Outset')
		{
			if (sStyle =3D=3D null)
				sStyle =3D "solid";

			if (sTopLeftColor.length > 0 && sBottomRightColor.length > 0)
			{
				if (oCell.tagName =3D=3D 'TR')
					oCell =3D oCell.childNodes(0);
			=09
				oCell.style.borderTop =3D sStyle + " " + iSize + "px " + =
sTopLeftColor;
				oCell.style.borderLeft =3D sStyle + " " + iSize + "px " + =
sTopLeftColor;
				oCell.style.borderRight =3D sStyle + " " + iSize + "px " + =
sBottomRightColor;
				oCell.style.borderBottom =3D sStyle + " " + iSize + "px " + =
sBottomRightColor;=09
			=09
			}
		}
		if (this.moDisplay =3D=3D 'HighLight')
		{
			if (sTopLeftColor =3D=3D this.backColor)
			{
        oCell.className =3D spm_fixCSSForMac(this.getIntCSSName('spmbar =
spmitm') + ' ' + this.cssMenuItem + ' ' + spm_getAttr(oCell, 'savecss', =
''));
			}
			else
			{
        oCell.className =3D spm_fixCSSForMac(this.getIntCSSName('spmbar =
spmitmsel') + ' ' + this.cssMenuItemSel + ' ' + spm_getAttr(oCell, =
'saveselcss', ''));
			}
		}	=09
	}

	function spm_applyRowBorder(oRow, iSize, sColor, bSelected, sStyle)
	{
		if (oRow.cells.length =3D=3D 0) //(spm_browserType() =3D=3D 'safari')
			return;	//safari has issues with accessing cell
	=09
		var sColor2=3DsColor;
		if (sStyle =3D=3D null)
			sStyle =3D "solid";

		if (sColor =3D=3D "")
		{
				sColor2 =3D spm_getCurrentStyle(oRow.cells[0], 'background-Color');
				if ((sColor2 =3D=3D null || sColor2 =3D=3D '') && spm_browserType() =
!=3D 'ie')
					sColor2 =3D 'transparent';
		}

		spm_applyBorders(oRow.cells[0], sStyle, iSize, sColor2, true, true, =
false, true);

		if (sColor =3D=3D "" && bSelected =3D=3D false)
    {
      sColor2 =3D spm_getCellBackColor(oRow.cells[1]);
      if (sColor2 =3D=3D null || sColor2 =3D=3D '')
				sColor2 =3D 'transparent';
    }
  =20
    //if (sColor2 !=3D 'transparent')
    //{
			spm_applyBorders(oRow.cells[1], sStyle, iSize, sColor2, true, false, =
false, true);
			spm_applyBorders(oRow.cells[2], sStyle, iSize, sColor2, true, false, =
true, true);
		//}
	}
=09
	function spm_getCellBackColor(o)
	{
		var sColor =3D spm_getCurrentStyle(o, 'background-Color'); =20
    if (spm_browserType() =3D=3D 'ie')
    {
      //--- fix IE transparent border issue ---//
      while (sColor =3D=3D 'transparent')
      {
        sColor =3D spm_getCurrentStyle(o, 'background-Color'); =20
        o =3D o.parentElement;
        if (o.id.indexOf('divOuterTables') !=3D -1)	//if we are outside =
the realm of the menu then use transparency
					break;
      }
    }
    return sColor;
	}
=09
	function spm_applyBorders(o, sStyle, iSize, sColor, t, l, r, b)
	{

		if (t) o.style.borderTop =3D sStyle + " " + iSize + "px " + sColor;
		if (b) o.style.borderBottom =3D sStyle + " " + iSize + "px " + sColor;
		if (r) o.style.borderRight =3D sStyle + " " + iSize + "px " + sColor;
		if (l) o.style.borderLeft =3D sStyle + " " + iSize + "px " + sColor;

	}

	function spm_resetScroll(oMenu)
	{
=09
		if (oMenu.scrollItems !=3D null)
		{
			oMenu.scrollPos =3D 1;
			oMenu.scrollItems =3D 9999;
			spm_showScrolledItems(oMenu);
		}=09
	}
=09
=09
	function spm_handleScrollMenu(me, oMenu)
	{
		var oTbl =3D spm_getTags('table', oMenu)[0]; //oMenu.childNodes[1];=09
		oMenu.style.display =3D '';
		if (oMenu.scrollPos =3D=3D null)
		{
			oMenu.scrollPos =3D 1;		=09
					=09
			var oRow =3D spm_insertTableRow(oTbl);
			var oCell =3D document.createElement('TD');	=09
			oCell.id =3D 'dn' + oMenu.id.substring(3);
			oCell.colSpan =3D 3;
			oCell.align =3D 'center';
			oCell.style.backgroundColor =3D 'gray';	//can be overridden by =
MenuScroll style
			oCell.innerHTML=3D'<div id=3D"dn' + oMenu.id.substr(3) + '" =
onclick=3D"return spm_ScrollMenuClick(this, event);" =
onmouseover=3D"spm_ScrollMenuMO(this, m_oSolpartMenu[\'' + me._m_sNSpace =
+ '\']);" onmouseout=3D"spm_ScrollMenuMOUT(m_oSolpartMenu[\'' + =
me._m_sNSpace + '\']);" class=3D"' + =
spm_fixCSSForMac(me.getIntCSSName('spmitmscr')) + ' ' + =
me.cssMenuScrollItem + '" style=3D"width: 100%; font-size: =
6pt;">...</div>';
			oRow.appendChild(oCell);

			oRow =3D spm_insertTableRow(oTbl, 0);
			oCell =3D document.createElement('TD');	=09
			oCell.id =3D 'up' + oMenu.id.substring(3);
			oCell.colSpan =3D 3;
			oCell.align =3D 'center';
			oCell.style.backgroundColor =3D 'gray';	//can be overridden by =
MenuScroll style
			oCell.innerHTML=3D'<div id=3D"up' + oMenu.id.substr(3) + '" =
onclick=3D"return spm_ScrollMenuClick(this, event);" =
onmouseover=3D"spm_ScrollMenuMO(this, m_oSolpartMenu[\'' + me._m_sNSpace =
+ '\']);" onmouseout=3D"spm_ScrollMenuMOUT(m_oSolpartMenu[\'' + =
me._m_sNSpace + '\']);" class=3D"' + =
spm_fixCSSForMac(me.getIntCSSName('spmitmscr')) + ' ' + =
me.cssMenuScrollItem + '" style=3D"width: 100%; font-size: =
6pt;">...</div>';
			oRow.style.display =3D 'none';
			oRow.appendChild(oCell);
		}=09

		if (oMenu.ScrollRowHeight =3D=3D null)
		{
			spm_getTags('tr', oTbl)[0].style.display =3D '';
			oMenu.ScrollItemHeight =3D (spm_getElementHeight(spm_getTags('tr', =
oTbl)[0]) * 2);
			spm_getTags('tr', oTbl)[0].style.display =3D 'none';

			oMenu.ScrollRowHeight =3D spm_getElementHeight(spm_getTags('tr', =
oTbl)[1]);
		}

		oMenu.scrollItems =3D parseInt((spm_getViewPortHeight() - =
spm_elementTop(oMenu) + spm_getBodyScrollTop() - oMenu.ScrollItemHeight) =
/ (oMenu.ScrollRowHeight + 1));
		spm_showScrolledItems(oMenu);

	}
	=09
	function spm_ScrollMenuMO(e, me)
	{
		me._m_dHideTimer =3D null;
		me._m_oScrollingMenu =3D e;
		if (Number(me.moScroll))
			setTimeout('m_oSolpartMenu["' + me._m_sNSpace + '"].scrollMenu()', =
500);

	}
=09
	function spm_ScrollMenuMOUT(me)
	{
		me._m_oScrollingMenu =3D null;

		me._m_dHideTimer =3D new Date();
		if (me.moutDelay !=3D 0)
		  setTimeout('m_oSolpartMenu["' + me._m_sNSpace + '"].hideMenuTime()', =
me.moutDelay);
	=09

	}
=09
	function spm_ScrollMenuClick(e, evt)
	{	=09
		if (e !=3D null)
		{=09
			var oCell =3D e.parentNode;
			var oTbl =3D oCell.parentNode.parentNode.parentNode;
			var oMenu =3D oTbl.parentNode;

			if (oCell.id =3D=3D 'up' + oMenu.id.substring(3))
			{
				if (oMenu.scrollPos > 1)
					oMenu.scrollPos--;				=09
				else
					return true;
			}
			else=20
			{
				if (oMenu.scrollPos + oMenu.scrollItems < oTbl.rows.length - 1)
					oMenu.scrollPos++;
				else
					return true;
			}
			=09
			spm_showScrolledItems(oMenu);
			if (evt !=3D null)
				spm_stopEventBubbling(evt);
		}
		return false;
	}

	function spm_showScrolledItems(oMenu)
	{
		var oTbl =3D spm_getTags('table', oMenu)[0];
		var oRows =3D spm_getTags('tr', oTbl);	//oTbl.rows.length
	=09
		for (var i=3D1; i < oRows.length; i++)=09
		{
			//if row is not within display "window" then don't display it
			if (i < oMenu.scrollPos || i >=3D oMenu.scrollPos + =
oMenu.scrollItems)
				oRows[i].style.display =3D 'none';
			else
				oRows[i].style.display =3D '';		=09
		}
	=09
		// if we are scrolled down at least one then display up scroll item
		if (oMenu.scrollPos > 1)
			oRows[0].style.display =3D '';
		else
			oRows[0].style.display =3D 'none';
	=09
	=09
		// if there is at least one item not displayed then show down item
		if (oMenu.scrollPos + oMenu.scrollItems < oTbl.rows.length - 1)
			oRows[oRows.length-1].style.display =3D '';
		else
			oRows[oRows.length-1].style.display =3D 'none';
		=09
	}

	function spm_insertTableRow(tbl, iPos)
	{
		var oRow;
		var oTB;
		oRow =3D document.createElement('TR');
		if (tbl.getElementsByTagName('TBODY').length =3D=3D 0)
		{
			oTB =3D document.createElement('TBODY');
			tbl.appendChild(oTB);
		}
		else
			oTB =3D tbl.getElementsByTagName('TBODY')[0];

		if (iPos =3D=3D null)
			oTB.appendChild(oRow);
		else
			oTB.insertBefore(oRow, tbl.rows[iPos]);
		return oRow;
=09
	}

	function spm_getElementHeight(o)
	{=09
		if (o.offsetHeight =3D=3D null || o.offsetHeight =3D=3D 0)
		{
			if (o.offsetParent.offsetHeight =3D=3D null || =
o.offsetParent.offsetHeight =3D=3D 0)
			{
				if (o.offsetParent.offsetParent !=3D null)
					return o.offsetParent.offsetParent.offsetHeight; //needed for =
Konqueror
				else
					return 0;
			}
			else
				return o.offsetParent.offsetHeight;
		}
		else
			return o.offsetHeight;
	}

	function spm_getElementWidth(o)
	{
		if (o.offsetWidth =3D=3D null || o.offsetWidth =3D=3D 0)
		{
			if (o.offsetParent.offsetWidth =3D=3D null || =
o.offsetParent.offsetWidth =3D=3D 0)
			{
				if (o.offsetParent.offsetParent !=3D null)
					return o.offsetParent.offsetParent.offsetWidth; //needed for =
Konqueror
				else
					return 0;
			}
			else
				return o.offsetParent.offsetWidth

		}
		else
			return o.offsetWidth;
	}
=09
	//viewport logic taken from =
http://dhtmlkitchen.com/js/measurements/index.jsp
	function spm_getViewPortWidth()
	{
		// supported in Mozilla, Opera, and Safari
    if(window.innerWidth)
			return window.innerWidth;
    // supported in standards mode of IE, but not in any other mode
    if(window.document.documentElement.clientWidth)
			return document.documentElement.clientWidth;
=09
    // supported in quirks mode, older versions of IE, and mac IE =
(anything else).
    return window.document.body.clientWidth;
	}
=09
  function spm_getBodyScrollTop()
  {
		if (window.pageYOffset)
			return window.pageYOffset;
	=09
		var oBody =3D (document.compatMode && document.compatMode !=3D =
"BackCompat") ? document.documentElement : document.body;	=09
		return oBody.scrollTop;
  }

  function spm_getBodyScrollLeft(bOverride)
  {=20
		if (window.pageXOffset)
			return window.pageXOffset;

		var oBody =3D (document.compatMode && document.compatMode !=3D =
"BackCompat") ? document.documentElement : document.body;
		return oBody.scrollLeft;
  }
=09
	function spm_getViewPortHeight()
	{
		// supported in Mozilla, Opera, and Safari
    if(window.innerHeight)
			return window.innerHeight;
    // supported in standards mode of IE, but not in any other mode
    if(window.document.documentElement.clientHeight)
			return document.documentElement.clientHeight;
=09
    // supported in quirks mode, older versions of IE, and mac IE =
(anything else).
    return window.document.body.clientHeight;
	}
	=09
	function spm_elementTop(eSrc, includeBody)
	{
	=09
		var iTop =3D 0;
		var eParent;
		eParent =3D eSrc;

		while (eParent.tagName.toUpperCase() !=3D "BODY")
		{

			//Safari incorrectly calculates the TR tag to be at the top of the =
table, so try and get child TD tag to use for measurement
			//if (spm_browserType() =3D=3D 'safari' && =
eParent.tagName.toUpperCase() =3D=3D 'TR' && spm_getTags('TD', =
eParent).length)
			//	eParent =3D spm_getTags('TD', eParent)[0];

			iTop +=3D eParent.offsetTop;
		=09
			eParent =3D eParent.offsetParent;
			if (eParent =3D=3D null)
				break;
		}
		if (includeBody !=3D null && eParent !=3D null && (spm_browserType() =
=3D=3D 'safari' || spm_browserType() =3D=3D 'kq'))=20
			iTop +=3D eParent.offsetTop;
	=09
		return iTop;
	}


	function spm_elementLeft(eSrc, includeBody)
	{=09
		var iLeft =3D 0;
		var eParent;
		eParent =3D eSrc;
		while (eParent.tagName.toUpperCase() !=3D "BODY")
		{

			iLeft +=3D eParent.offsetLeft;
			=09
			eParent =3D eParent.offsetParent;
			if (eParent =3D=3D null)
				break;
		}
		if (includeBody !=3D null && eParent !=3D null && (spm_browserType() =
=3D=3D 'safari' || spm_browserType() =3D=3D 'kq'))
			iLeft +=3D eParent.offsetLeft;

	=09
		return iLeft;
	}
=09
	function spm_getElement(e, sID)=20
	{
		var o=3De;
		var i=3D0;
		while (o.id !=3D sID)
		{
			o=3Do.parentNode;
			i++;
		}
		return o;
	}

	function spm_getSourceTR(e, ns)
	{
		while (e.id =3D=3D "")
		{
			e=3D e.parentElement;
		}
		if (e.id.indexOf("arrow") !=3D -1)
		{
			var sID =3D e.id.substr(5);
			return spm_getById("tr" + sID);
		}
		else if (e.id.indexOf("td") !=3D -1)
		{
			var sID =3D e.id.substr(2);
			return spm_getById("tr" + sID);
		}=09
		else if (e.id.indexOf("icon") !=3D -1)
		{
			var sID =3D e.id.substr(4);
			return spm_getById("tr" + sID);
		}=09
		else if (e.id.indexOf("img") !=3D -1)
		{
			var sID =3D e.id.substr(3);
			return spm_getById("tr" + sID);
		}=09
		else
		{
			return e;
		}
	}

	function spm_itemHasChildren(sID, ns)
	{
		return spm_getById("tbl" + sID) !=3D null;
	}

function spm_getMenuItemStyle(sType, oNode)
{
  return spm_getAttr(oNode, sType + "style", '');
}

function spm_getMenuItemCSS(oNode)
{
  return spm_getAttr(oNode, "css", '');
}

function spm_getMenuItemSelCSS(oNode)
{
  return spm_getAttr(oNode, "selcss", '');
}

SolpartMenu.prototype.getIntCSSName =3D  function(sClass)
{
  var ary =3D sClass.split(' ');
  var s=3D'';
  for (var i=3D0; i<ary.length; i++)
    s +=3D this._m_sNSpace.toLowerCase() + '_' + ary[i] + ' ';
 =20
  return s;
}

function spm_fixCSSForMac(s)
{
	var ary =3D s.split(' ');
	var sRet=3D'';
	for (var i=3D0; i<ary.length; i++)
	{
		if (ary[i].rtrim().length > 0)
		{
			if (sRet.length)
				sRet +=3D ' ' + ary[i];
			else
				sRet =3D ary[i];
		}
	}
	return sRet;
}

function spm_getMenuClickAction(oNode, me)
{
  //'function to determine if menu item has action associated (URL)
  var sName =3D spm_getAttr(me._m_oMenu, 'name', me._m_oMenu.name);

  if (sName =3D=3D null || sName.length =3D=3D 0)	//opera fix for =
getting name
		sName =3D spm_getAttr(me._m_oMenu, 'pbname', me._m_oMenu.pbname);
=09
  if (spm_getAttr(oNode, "runat", '').length)
    return "__doPostBack('" + sName + "', '" + spm_getAttr(oNode, "id", =
"") + "');";
  if (spm_getAttr(oNode, "server", '').length)
    return "__doPostBack('" + sName + "', '" + spm_getAttr(oNode, "id", =
"") + "');";
  var sURL =3D spm_getAttr(oNode, "url", "");
  if (sURL.length)
	{
		if (sURL.toLowerCase().substr(0, "javascript:".length) =3D=3D =
"javascript:")
			return sURL.substr("javascript:".length) + ";";
		else
		{
			if (me.target.length > 0 && document.frames[me.target] !=3D null)
				return "document.frames['" + me.target + "'].location.href=3D'" + =
sURL + "';";
			else
				return "document.location.href=3D'" + sURL + "';";
		}
	}
	return '';
=09
}

function spm_getMenuSpacingImage(sPos, me)
{
  var sAlign =3D me.menuAlignment.toLowerCase();

  if ((sPos =3D=3D 'left' && sAlign =3D=3D 'right') || (sPos =3D=3D =
'right' && sAlign =3D=3D 'left'))
		return "       <td width=3D\"100%\">" + spm_getSpacer(me) + "</td>";

  if ((sPos =3D=3D 'right' && sAlign =3D=3D 'left') || (sPos =3D=3D =
'left' && sAlign =3D=3D 'right'))
		return "       <td width=3D\"3px\">" + spm_getSpacer(me) + "</td>";

	if (sAlign =3D=3D 'Center')
		return "       <td width=3D\"33%\">" + spm_getSpacer(me) + "</td>";
=09
	return '';  =20
}

function spm_getSpacer(me)=20
{
  return spm_getMenuImage('spacer.gif', me, false, ' ');
    //return '&nbsp;'; //"<IMG SRC=3D\"" + me.systemImagesPath + =
"spacer.gif\">";
}

function spm_getImage(oAttr, me)
{
  //'retrieves an image for a passed in XMLAttribute
  var sImage =3D spm_getAttr(oAttr, 'image', '');

  if (sImage.length)
  {
    return spm_getHTMLImage(sImage, spm_getAttr(oAttr, 'imagepath', =
me.iconImagesPath), null, spm_getAttr(oAttr, 'title', ''));
  }
  else
    return spm_getMenuImage('spacer.gif', me, null, ' ');
}

function spm_getItemHTML(oNode, sSide, sDef)
{
  if (sDef =3D=3D null) sDef =3D '';
  return spm_getAttr(oNode, sSide + "html", sDef);
}

function spm_getMenuImage(sImage, me, bForce, sAlt)
{
    //'generates html for image using the SystemImagesPath property
    return spm_getHTMLImage(sImage, me.systemImagesPath, bForce, sAlt);
}

function spm_getHTMLImage(sImage, sPath, bForce, sAlt)
{
    //'generates html for image using the SystemImagesPath property
    if (spm_browserNeedsSpacer() =3D=3D false && sImage =3D=3D =
'spacer.gif' && bForce !=3D true)
        return '&nbsp;';=20
    else
        return "<IMG SRC=3D\"" + sPath + sImage + "\" " + =
spm_getAlt(sAlt) + ">";
}

function spm_getAlt(sAlt)
{
	if (sAlt !=3D null && sAlt.rtrim().length > 0)
		return ' ALT=3D"' + sAlt + '" ';
	else
		return '';
}

function spm_browserNeedsSpacer()
{
	if (spm_browserType() =3D=3D 'ie')
		return false;
	else
		return true;
}

function MyIIf(bFlag, sTrue, sFalse)=20
{
    if (bFlag)
		return sTrue;
	else
		return sFalse;
}

function spm_getArrow(sImg, me)=20
{
  //FIX
    if (sImg.length)
        return spm_getMenuImage(sImg, me, null, '>');
    else
    {
      if (me.direction =3D=3D 'rtl')
				return "3";=20
      else
				return "4"; //'defaults to using wingdings font (4 =3D arrow)
    }
}

function spm_getMenuBorderStyle(me, shColor, hlColor, width)
{
  if (shColor =3D=3D null) shColor =3D me.shColor;
  if (hlColor =3D=3D null) hlColor =3D me.hlColor;
  if (width =3D=3D null) width =3D me.borderWidth;
 =20
  //border-bottom: Gray 1px solid; border-left: White 1px solid; =
border-top: White 1px solid; border-right: Gray 1px solid;
  //return 'border-bottom: ' + shColor + ' ' + width + 'px solid; =
border-left: ' + hlColor + ' ' + width + 'px solid;  border-top: ' + =
hlColor + ' ' + width + 'px solid; border-right: ' + shColor + ' ' + =
width + 'px solid;';
  return getBorderStyle('border-bottom', shColor, width) + =
getBorderStyle('border-left', hlColor, width) + =
getBorderStyle('border-top', hlColor, width) + =
getBorderStyle('border-right', shColor, width);
}

function getBorderStyle(type, color, width)
{ =20
  return type + ': ' + color + ' ' + width + 'px solid; ';
}



//------------------------//
String.prototype.ltrim =3D function () { return this.replace(/^\s*/, =
"");}
String.prototype.rtrim =3D function () { return this.replace(/\s*$/, =
"");}
String.prototype.trim  =3D function () { return this.ltrim().rtrim(); }

if (spm_browserType() =3D=3D 'safari')	//Safari Hack
	var Document =3D null;
=09
if (spm_browserType() !=3D 'ie' && spm_browserType() !=3D 'op' && =
Document !=3D null)
{
  Document.prototype.loadXML =3D function (s)=20
    {
   =20
      // parse the string to a new doc
      var doc2 =3D (new DOMParser()).parseFromString(s, "text/xml");

      // remove all initial children
      while (this.hasChildNodes())
      this.removeChild(this.lastChild);

      // insert and import nodes
      for (var i =3D 0; i < doc2.childNodes.length; i++)=20
      {
      this.appendChild(this.importNode(doc2.childNodes[i], true));
      }
    }

    function _Node_getXML()=20
    {
      //create a new XMLSerializer
      var objXMLSerializer =3D new XMLSerializer;
     =20
      //get the XML string
      var strXML =3D objXMLSerializer.serializeToString(this);
     =20
      //return the XML string
      return strXML;
    }
    Node.prototype.__defineGetter__("xml", _Node_getXML);
}

function spm_createDOMDoc()
{
	if (spm_browserType() =3D=3D 'ie')
	{
		var o =3D new ActiveXObject('MSXML.DOMDocument');
		o.async =3D false;
		return o;
	}
	else
		return document.implementation.createDocument("", "", null);
}

function spm_getById(sID)
{
  if (document.all =3D=3D null)
    return document.getElementById(sID);
  else
    return document.all(sID);
}

function spm_getTags(sTag, oCtl)
{
	if (oCtl =3D=3D null)
		oCtl =3D document;
=09
	if (spm_browserType() =3D=3D 'ie')
    return oCtl.all.tags(sTag);
  else
    return oCtl.getElementsByTagName(sTag);
}

function spm_browserType()
{
	if (m_spm_sBrowser =3D=3D null)
	{
		var agt=3Dnavigator.userAgent.toLowerCase();

		if (agt.toLowerCase().indexOf('konqueror') !=3D -1)=20
			m_spm_sBrowser =3D 'kq';
		else if (agt.toLowerCase().indexOf('opera') !=3D -1)=20
			m_spm_sBrowser =3D 'op';
		else if (agt.toLowerCase().indexOf('netscape') !=3D -1)=20
			m_spm_sBrowser =3D 'ns';
		else if (agt.toLowerCase().indexOf('msie') !=3D -1)
			m_spm_sBrowser =3D 'ie';
		else if (agt.toLowerCase().indexOf('safari') !=3D -1)
			m_spm_sBrowser =3D 'safari';
	 =20
		if (m_spm_sBrowser =3D=3D null)
			m_spm_sBrowser =3D 'mo'; =20
	}
	//window.status =3D m_spm_sBrowser;
	return m_spm_sBrowser;
}

function spm_browserVersion()
{
	//Please offer a better solution if you have one!
	var sType =3D spm_browserType();
	var iVersion =3D parseFloat(navigator.appVersion);
	var sAgent =3D navigator.userAgent.toLowerCase();
	if (sType =3D=3D 'ie')
	{
		var temp=3Dnavigator.appVersion.split("MSIE");
		iVersion=3DparseFloat(temp[1]);
	}
	if (sType =3D=3D 'ns')
	{
		var temp=3DsAgent.split("netscape");
		iVersion=3DparseFloat(temp[1].split("/")[1]);=09
	}
	return iVersion;
}

function spm_needsSubMenuDelay()
{
	if (spm_browserType() =3D=3D 'ie')
		return true;
	else
		return false;

}

function spm_supportsIFrameTrick()
{
	var sType =3D spm_browserType();
	var sVersion =3D spm_browserVersion();
=09
	if ((sType =3D=3D 'ie' && sVersion < 5.5) || (sType =3D=3D 'ns' && =
sVersion < 7) || (spm_browserType() =3D=3D 'safari') || spm_isMac('ie'))
	{
		return false;
	}
	return true;
}

function spm_isMac(sType)
{
//return true;
  var agt=3Dnavigator.userAgent.toLowerCase();
  if (agt.indexOf('mac') !=3D -1)=20
  {
		if (sType =3D=3D null || spm_browserType() =3D=3D sType)
			return true;
  }
  else
    return false;
 =20
}

//taken from =
http://groups.google.com/groups?hl=3Den&lr=3D&ie=3DUTF-8&oe=3DUTF-8&safe=3D=
off&threadm=3Db42qj3%24r8s1%40ripley.netscape.com&rnum=3D1&prev=3D/groups=
%3Fq%3Dmozilla%2B%2522currentstyle%2522%26hl%3Den%26lr%3D%26ie%3DUTF-8%26=
oe%3DUTF-8%26safe%3Doff%26scoring%3Dd=20
function spm_getCurrentStyle(el, property) {
  if (document.defaultView)=20
  {
   // Get computed style information:

    if (el.nodeType !=3D el.ELEMENT_NODE) return null;
    return =
document.defaultView.getComputedStyle(el,'').getPropertyValue(property.sp=
lit('-').join(''));
  }
  if (el.currentStyle)=20
  {
    // Get el.currentStyle property value:
    return el.currentStyle[property.split('-').join('')];
    //return el.currentStyle.getAttribute(property.split('-').join('')); =
 //We need to get rid of slashes
  }
  if (el.style)=20
  {
    // Get el.style property value:
    return el.style.getAttribute(property.split('-').join(''));  // We =
need to get rid of slashes
  } return  null;
}

function spm_getAttr(o, sAttr, sDef)
{
  if (sDef =3D=3D null)
    sDef =3D '';
  var s =3D o.getAttribute(sAttr);
  if (s !=3D null && s.length > 0)
    return o.getAttribute(sAttr);
  else
    return sDef;
}

function spm_setAttr(o, sAttr, sVal)
{
	if (sVal.length > 0)
		o.setAttribute(sAttr, sVal);
	else
		o.removeAttribute(sAttr);
}


function spm_fixUnit(s)
{
  if (s.length && isNaN(s) =3D=3D false)
    return s + 'px';

}

function spm_nodeHasChildren(node)
{
  if (typeof(node.selectSingleNode) !=3D 'undefined') =
//(node.selectSingleNode !=3D null) //(spm_browserType() =3D=3D 'ie')
    return node.selectSingleNode('./menuitem') !=3D null;
  else
  {
    if (node.childNodes.length > 0)
    {
      //Netscape/Mozilla counts an empty <menuitem id></menuitem> as =
having a child...
      for (var i=3D0; i< node.childNodes.length; i++)
      {
        if (node.childNodes[i].nodeName =3D=3D 'menuitem')
            return true;
      }
    }
  }
  return false; =20
}

function spm_findNode(oParent, sID)
{
	for (var i =3D 0; i < oParent.childNodes.length; i++)
	{
		oNode =3D oParent.childNodes[i];

		if (oNode.nodeType !=3D 3)  //exclude nodeType of Text =
(Netscape/Mozilla) issue!
		{

			if ((oNode.nodeName =3D=3D "menuitem" || oNode.nodeName =3D=3D =
"menubreak") && oNode.getAttribute("id") =3D=3D sID)
				return oNode;

			if (oNode.childNodes.length > 0)
			{
				var o =3D spm_findNode(oNode, sID);
				if (o !=3D null)
					return o;
			}
		}
	}
}

function spm_getSibling(oNode, iOffset)
{
	var sID =3D spm_getAttr(oNode, 'id');
	var o;
	for (var i=3D0; i<oNode.parentNode.childNodes.length; i++)
	{
		o =3D oNode.parentNode.childNodes[i];
		if (o.nodeType !=3D 3)
		{
			if (spm_getAttr(o, 'id') =3D=3D sID)
				return getOffsetNode(o.parentNode, i, iOffset);
		}
	}
}

function spm_stopEventBubbling(e)
{
    if (spm_browserType() =3D=3D 'ie')
			window.event.cancelBubble =3D true;
		else
			e.stopPropagation();
}

//--- if you have a better solution send me an email - =
jhenning@solpart.com ---//
function spm_appendFunction(from_func, to_func)
{
  if (from_func =3D=3D null)
    return new Function ( to_func );=20
  return new Function ( spm_parseFunctionContents(from_func) + '\n' + =
spm_parseFunctionContents(to_func) );
}
function spm_parseFunctionContents(fnc)
{
  var s =3DString(fnc).trim();
  if (s.indexOf('{') > -1)
		s =3D s.substring(s.indexOf('{') + 1, s.length - 1);
  return s;
}

//--- For JS DOM ---//
function SPJSXMLNode(sNodeName, sID, oParent, sTitle, sURL, sImage, =
sImagePath, sRightHTML, sLeftHTML, sRunAtServer, sItemStyle, =
sImageStyle, sToolTip, sItemCSS, sItemSelCSS)=20
{=20
  this.nodeName =3D sNodeName;
  this.id=3DsID;
  this.childNodes =3D new Array();
  //this.nodeType =3D 3;
 =20
 =20
  this.parentNode =3D oParent;           =20
  if (oParent !=3D null)
  {
    oParent.childNodes[oParent.childNodes.length] =3D this;
   =20
    if (oParent.documentElement =3D=3D null)
      this.documentElement =3D oParent;
    else
      this.documentElement =3D oParent.documentElement;
  }
  else
    this.documentElement =3D this;
   =20
  this.title =3D sTitle;
  this.url =3D sURL;
  this.image =3D sImage;
  this.imagepath =3D sImagePath;
  this.righthtml =3D sRightHTML;
  this.lefthtml =3D sLeftHTML;
  this.server =3D sRunAtServer;
  this.itemstyle =3D sItemStyle;
  this.imagestyle =3D sImageStyle;
  this.tooltip =3D sToolTip;
  this.css =3D sItemCSS;
  this.selcss =3D sItemSelCSS;
}     =20

SPJSXMLNode.prototype.getAttribute =3D function(s)
{
  return this[s];
}


  var m_iSPTimer;
  var m_iSPTotalTimer=3D0;
  var m_sSPDebugText;
  var m_oSPDebugCtl;
  var m_bSPDebug =3D false;
 =20
  function __db(s)
  {
    if (spm_browserType() !=3D 'ie' || m_bSPDebug =3D=3D false)
      return;
    =20
    var sT =3D new Date() - m_iSPTimer;
    if (sT > 120000)
    {
      sT =3D '';
      m_oSPDebugCtl.value =3D '---reset---';
      m_iSPTotalTimer=3D0;
    }
    else if (sT > 100)
    {
      m_iSPTotalTimer+=3D sT;
      sT =3D ' *** [' + sT + '] *** ';
    }
    else if (sT > 0)
    {
      m_iSPTotalTimer+=3D sT;
      sT =3D ' [' + sT + ']';
    }
    else
      sT =3D '';
     =20
    if (document.forms.length > 0 && m_oSPDebugCtl =3D=3D null)
    {     =20
      document.forms(0).insertAdjacentHTML('afterEnd', '<br><TEXTAREA =
ID=3D"my__Debug" STYLE=3D"WIDTH: 100%; HEIGHT: 100px"></TEXTAREA>');
      m_oSPDebugCtl =3D document.all('my__Debug');
    }

    if (m_oSPDebugCtl !=3D null)
      m_oSPDebugCtl.value +=3D '[' + m_iSPTotalTimer + '] ' + s + sT + =
'\n';
    else
      m_sSPDebugText +=3D '[' + m_iSPTotalTimer + '] ' + s + sT + '\n';=20
     =20
    m_iSPTimer =3D new Date();
  }

	if (window.__smartNav !=3D null)
		window.setTimeout(spm_fixSmartNav, 1000);
	function spm_fixSmartNav()
	{
		if (window.__smartNav !=3D null)
		{
			if (document.readyState =3D=3D 'complete')
			{
				var o =3D spm_getById('SolpartMenuDI');
				if (o !=3D null)
				{
					if (o.length =3D=3D null)
					{
							if (o.xml !=3D null)
								spm_initMyMenu(o, o.parentElement);
					}
					else
					{
						for (var i=3D0; i<o.length; i++)
						{
							if (o[i].xml !=3D null)
								spm_initMyMenu(o[i], o.parentElement);
						}
					}
				}
			}
			else
				window.setTimeout(spm_fixSmartNav, 1000);
		}
	}

	function spm_elementDims(o, bIncludeBody, me)
	{
		var bHidden =3D (o.style.display =3D=3D 'none');
	=09
		if (bHidden)
			o.style.display =3D "";
		this.t =3D spm_elementTop(o, bIncludeBody);
		this.l =3D spm_elementLeft(o, bIncludeBody);
		if (!spm_isMac('ie'))
		{
			o.style.top =3D spm_getCoord(0);
			o.style.left =3D spm_getCoord(0);
		}
		this.w =3D spm_getElementWidth(o);
		this.h =3D spm_getElementHeight(o);
		if (!spm_isMac('ie'))
		{
			o.style.top =3D spm_getCoord(this.t);
			o.style.left =3D spm_getCoord(this.l);
		}
		if (bHidden)
			o.style.display =3D "none";
	}

function spm_getCoord(i)
{
	return i + 'px';
}

------=_NextPart_000_0000_01C9BD3B.EE02A280
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.guglionesionline.it/ScriptResource.axd?d=xw_1pgPl5gPouCKVqh8yFUu1VCQnS8kUSHG97CcyYa6yKD6_1nR8YDRX5hpUUIRs0&t=633445415820000000

=EF=BB=BF//--------------------------------------------------------------=
---------
// Copyright (C) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------=

// MicrosoftAjax.js
// Microsoft AJAX Framework.


Function.__typeName =3D 'Function';
Function.__class =3D true;

Function.createCallback =3D function Function$createCallback(method, =
context) {
    /// <param name=3D"method" type=3D"Function"></param>
    /// <param name=3D"context" mayBeNull=3D"true"></param>
    /// <returns type=3D"Function"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "method", type: Function},
        {name: "context", mayBeNull: true}
    ]);
    if (e) throw e;


       =20
    return function() {
        var l =3D arguments.length;
        if (l > 0) {
                        var args =3D [];
            for (var i =3D 0; i < l; i++) {
                args[i] =3D arguments[i];
            }
            args[l] =3D context;
            return method.apply(this, args);
        }
        return method.call(this, context);
    }
}

Function.createDelegate =3D function Function$createDelegate(instance, =
method) {
    /// <param name=3D"instance" mayBeNull=3D"true"></param>
    /// <param name=3D"method" type=3D"Function"></param>
    /// <returns type=3D"Function"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance", mayBeNull: true},
        {name: "method", type: Function}
    ]);
    if (e) throw e;


       =20
    return function() {
        return method.apply(instance, arguments);
    }
}

Function.emptyFunction =3D Function.emptyMethod =3D function =
Function$emptyMethod() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
}

Function._validateParams =3D function Function$_validateParams(params, =
expectedParams) {
                                                                         =
                                                          =20
    var e;

    e =3D Function._validateParameterCount(params, expectedParams);
    if (e) {
        e.popStackFrame();
        return e;
    }

    for (var i=3D0; i < params.length; i++) {
                                var expectedParam =3D =
expectedParams[Math.min(i, expectedParams.length - 1)];

        var paramName =3D expectedParam.name;
        if (expectedParam.parameterArray) {
                        paramName +=3D "[" + (i - expectedParams.length =
+ 1) + "]";
        }

        e =3D Function._validateParameter(params[i], expectedParam, =
paramName);
        if (e) {
            e.popStackFrame();
            return e;
        }
    }


    return null;
}

Function._validateParameterCount =3D function =
Function$_validateParameterCount(params, expectedParams) {
    var maxParams =3D expectedParams.length;
    var minParams =3D 0;
    for (var i=3D0; i < expectedParams.length; i++) {
        if (expectedParams[i].parameterArray) {
            maxParams =3D Number.MAX_VALUE;
        }
        else if (!expectedParams[i].optional) {
            minParams++;
        }
    }

    if (params.length < minParams || params.length > maxParams) {
        var e =3D Error.parameterCount();
        e.popStackFrame();
        return e;
    }

    return null;
}

Function._validateParameter =3D function =
Function$_validateParameter(param, expectedParam, paramName) {
    var e;

    var expectedType =3D expectedParam.type;
    var expectedInteger =3D !!expectedParam.integer;
    var expectedDomElement =3D !!expectedParam.domElement;
    var mayBeNull =3D !!expectedParam.mayBeNull;

    e =3D Function._validateParameterType(param, expectedType, =
expectedInteger, expectedDomElement, mayBeNull, paramName);
    if (e) {
        e.popStackFrame();
        return e;
    }

        var expectedElementType =3D expectedParam.elementType;
    var elementMayBeNull =3D !!expectedParam.elementMayBeNull;
    if (expectedType =3D=3D=3D Array && typeof(param) !=3D=3D =
"undefined" && param !=3D=3D null &&
        (expectedElementType || !elementMayBeNull)) {
        var expectedElementInteger =3D !!expectedParam.elementInteger;
        var expectedElementDomElement =3D =
!!expectedParam.elementDomElement;
        for (var i=3D0; i < param.length; i++) {
            var elem =3D param[i];
            e =3D Function._validateParameterType(elem, =
expectedElementType,
                expectedElementInteger, expectedElementDomElement, =
elementMayBeNull,
                paramName + "[" + i + "]");
            if (e) {
                e.popStackFrame();
                return e;
            }
        }
    }

    return null;
}

Function._validateParameterType =3D function =
Function$_validateParameterType(param, expectedType, expectedInteger, =
expectedDomElement, mayBeNull, paramName) {
    var e;

    if (typeof(param) =3D=3D=3D "undefined") {
        if (mayBeNull) {
            return null;
        }
        else {
            e =3D Error.argumentUndefined(paramName);
            e.popStackFrame();
            return e;
        }
    }

    if (param =3D=3D=3D null) {
        if (mayBeNull) {
            return null;
        }
        else {
            e =3D Error.argumentNull(paramName);
            e.popStackFrame();
            return e;
        }
    }

    if (expectedType && expectedType.__enum) {
        if (typeof(param) !=3D=3D 'number') {
            e =3D Error.argumentType(paramName, Object.getType(param), =
expectedType);
            e.popStackFrame();
            return e;
        }
        if ((param % 1) =3D=3D=3D 0) {
            var values =3D expectedType.prototype;
            if (!expectedType.__flags || (param =3D=3D=3D 0)) {
                for (var i in values) {
                    if (values[i] =3D=3D=3D param) return null;
                }
            }
            else {
                var v =3D param;
                for (var i in values) {
                    var vali =3D values[i];
                    if (vali =3D=3D=3D 0) continue;
                    if ((vali & param) =3D=3D=3D vali) {
                        v -=3D vali;
                    }
                    if (v =3D=3D=3D 0) return null;
                }
            }
        }
        e =3D Error.argumentOutOfRange(paramName, param, =
String.format(Sys.Res.enumInvalidValue, param, expectedType.getName()));
        e.popStackFrame();
        return e;
    }

                    if (expectedDomElement && (param !=3D=3D window) && =
(param !=3D=3D document) &&
        !(window.HTMLElement && (param instanceof HTMLElement)) &&
        (typeof(param.nodeName) !=3D=3D 'string')) {

        e =3D Error.argument(paramName, Sys.Res.argumentDomElement);
        e.popStackFrame();
        return e;
    }

        if (expectedType && !expectedType.isInstanceOfType(param)) {
        e =3D Error.argumentType(paramName, Object.getType(param), =
expectedType);
        e.popStackFrame();
        return e;
    }

    if (expectedType =3D=3D=3D Number && expectedInteger) {
                        if ((param % 1) !=3D=3D 0) {
            e =3D Error.argumentOutOfRange(paramName, param, =
Sys.Res.argumentInteger);
            e.popStackFrame();
            return e;
        }
    }

    return null;
}
Error.__typeName =3D 'Error';
Error.__class =3D true;

Error.create =3D function Error$create(message, errorInfo) {
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"errorInfo" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"Error"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: =
true},
        {name: "errorInfo", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;


            var e =3D new Error(message);
    e.message =3D message;

    if (errorInfo) {
        for (var v in errorInfo) {
            e[v] =3D errorInfo[v];
        }
    }

    e.popStackFrame();
    return e;
}

Error.argument =3D function Error$argument(paramName, message) {
    /// <param name=3D"paramName" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "paramName", type: String, mayBeNull: true, optional: =
true},
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;


    var displayMessage =3D "Sys.ArgumentException: " + (message ? =
message : Sys.Res.argument);
    if (paramName) {
        displayMessage +=3D "\n" + String.format(Sys.Res.paramName, =
paramName);
    }

    var e =3D Error.create(displayMessage, { name: =
"Sys.ArgumentException", paramName: paramName });
    e.popStackFrame();
    return e;
}

Error.argumentNull =3D function Error$argumentNull(paramName, message) {
    /// <param name=3D"paramName" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "paramName", type: String, mayBeNull: true, optional: =
true},
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;


    var displayMessage =3D "Sys.ArgumentNullException: " + (message ? =
message : Sys.Res.argumentNull);
    if (paramName) {
        displayMessage +=3D "\n" + String.format(Sys.Res.paramName, =
paramName);
    }

    var e =3D Error.create(displayMessage, { name: =
"Sys.ArgumentNullException", paramName: paramName });
    e.popStackFrame();
    return e;
}

Error.argumentOutOfRange =3D function =
Error$argumentOutOfRange(paramName, actualValue, message) {
    /// <param name=3D"paramName" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"actualValue" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "paramName", type: String, mayBeNull: true, optional: =
true},
        {name: "actualValue", mayBeNull: true, optional: true},
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;


    var displayMessage =3D "Sys.ArgumentOutOfRangeException: " + =
(message ? message : Sys.Res.argumentOutOfRange);
    if (paramName) {
        displayMessage +=3D "\n" + String.format(Sys.Res.paramName, =
paramName);
    }

                if (typeof(actualValue) !=3D=3D "undefined" && =
actualValue !=3D=3D null) {
        displayMessage +=3D "\n" + String.format(Sys.Res.actualValue, =
actualValue);
    }

    var e =3D Error.create(displayMessage, {
        name: "Sys.ArgumentOutOfRangeException",
        paramName: paramName,
        actualValue: actualValue
    });
    e.popStackFrame();
    return e;
}

Error.argumentType =3D function Error$argumentType(paramName, =
actualType, expectedType, message) {
    /// <param name=3D"paramName" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"actualType" type=3D"Type" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"expectedType" type=3D"Type" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "paramName", type: String, mayBeNull: true, optional: =
true},
        {name: "actualType", type: Type, mayBeNull: true, optional: =
true},
        {name: "expectedType", type: Type, mayBeNull: true, optional: =
true},
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;


    var displayMessage =3D "Sys.ArgumentTypeException: ";
    if (message) {
        displayMessage +=3D message;
    }
    else if (actualType && expectedType) {
        displayMessage +=3D
            String.format(Sys.Res.argumentTypeWithTypes, =
actualType.getName(), expectedType.getName());
    }
    else {
        displayMessage +=3D Sys.Res.argumentType;
    }

    if (paramName) {
        displayMessage +=3D "\n" + String.format(Sys.Res.paramName, =
paramName);
    }

    var e =3D Error.create(displayMessage, {
        name: "Sys.ArgumentTypeException",
        paramName: paramName,
        actualType: actualType,
        expectedType: expectedType
    });
    e.popStackFrame();
    return e;
}

Error.argumentUndefined =3D function Error$argumentUndefined(paramName, =
message) {
    /// <param name=3D"paramName" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "paramName", type: String, mayBeNull: true, optional: =
true},
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;


    var displayMessage =3D "Sys.ArgumentUndefinedException: " + (message =
? message : Sys.Res.argumentUndefined);
    if (paramName) {
        displayMessage +=3D "\n" + String.format(Sys.Res.paramName, =
paramName);
    }

    var e =3D Error.create(displayMessage, { name: =
"Sys.ArgumentUndefinedException", paramName: paramName });
    e.popStackFrame();
    return e;
}

Error.format =3D function Error$format(message) {
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;

    var displayMessage =3D "Sys.FormatException: " + (message ? message =
: Sys.Res.format);
    var e =3D Error.create(displayMessage, {name: =
'Sys.FormatException'});
    e.popStackFrame();
    return e;
}

Error.invalidOperation =3D function Error$invalidOperation(message) {
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;

    var displayMessage =3D "Sys.InvalidOperationException: " + (message =
? message : Sys.Res.invalidOperation);

    var e =3D Error.create(displayMessage, {name: =
'Sys.InvalidOperationException'});
    e.popStackFrame();
    return e;
}

Error.notImplemented =3D function Error$notImplemented(message) {
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;

    var displayMessage =3D "Sys.NotImplementedException: " + (message ? =
message : Sys.Res.notImplemented);

    var e =3D Error.create(displayMessage, {name: =
'Sys.NotImplementedException'});
    e.popStackFrame();
    return e;
}

Error.parameterCount =3D function Error$parameterCount(message) {
    /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "message", type: String, mayBeNull: true, optional: true}
    ]);
    if (e) throw e;


    var displayMessage =3D "Sys.ParameterCountException: " + (message ? =
message : Sys.Res.parameterCount);
    var e =3D Error.create(displayMessage, {name: =
'Sys.ParameterCountException'});
    e.popStackFrame();
    return e;
}

Error.prototype.popStackFrame =3D function Error$popStackFrame() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();

                           =20
    if (typeof(this.stack) =3D=3D=3D "undefined" || this.stack =3D=3D=3D =
null ||
        typeof(this.fileName) =3D=3D=3D "undefined" || this.fileName =
=3D=3D=3D null ||
        typeof(this.lineNumber) =3D=3D=3D "undefined" || this.lineNumber =
=3D=3D=3D null) {
        return;
    }

    var stackFrames =3D this.stack.split("\n");

                var currentFrame =3D stackFrames[0];
    var pattern =3D this.fileName + ":" + this.lineNumber;
    while(typeof(currentFrame) !=3D=3D "undefined" &&
          currentFrame !=3D=3D null &&
          currentFrame.indexOf(pattern) =3D=3D=3D -1) {
        stackFrames.shift();
        currentFrame =3D stackFrames[0];
    }

    var nextFrame =3D stackFrames[1];

        if (typeof(nextFrame) =3D=3D=3D "undefined" || nextFrame =
=3D=3D=3D null) {
        return;
    }

        var nextFrameParts =3D nextFrame.match(/@(.*):(\d+)$/);
    if (typeof(nextFrameParts) =3D=3D=3D "undefined" || nextFrameParts =
=3D=3D=3D null) {
        return;
    }

    this.fileName =3D nextFrameParts[1];

        this.lineNumber =3D parseInt(nextFrameParts[2]);

    stackFrames.shift();
    this.stack =3D stackFrames.join("\n");
}
if (!window) this.window =3D this;

window.Type =3D Function;

window.__rootNamespaces =3D [];
window.__registeredTypes =3D {};

Type.__fullyQualifiedIdentifierRegExp =3D new RegExp("^[^.0-9 =
\\s|,;:&*=3D+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]([^ =
\\s|,;:&*=3D+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*[^. =
\\s|,;:&*=3D+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\])?$", "i");
Type.__identifierRegExp =3D new RegExp("^[^.0-9 =
\\s|,;:&*=3D+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\][^. =
\\s|,;:&*=3D+\\-()\\[\\]{}^%#@!~\\n\\r\\t\\f\\\\]*$", "i");

Type.prototype.callBaseMethod =3D function Type$callBaseMethod(instance, =
name, baseArguments) {
    /// <param name=3D"instance"></param>
    /// <param name=3D"name" type=3D"String"></param>
    /// <param name=3D"baseArguments" type=3D"Array" optional=3D"true" =
mayBeNull=3D"true" elementMayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance"},
        {name: "name", type: String},
        {name: "baseArguments", type: Array, mayBeNull: true, optional: =
true, elementMayBeNull: true}
    ]);
    if (e) throw e;

    var baseMethod =3D this.getBaseMethod(instance, name);
    if (!baseMethod) throw =
Error.invalidOperation(String.format(Sys.Res.methodNotFound, name));
    if (!baseArguments) {
        return baseMethod.apply(instance);
    }
    else {
        return baseMethod.apply(instance, baseArguments);
    }
}

Type.prototype.getBaseMethod =3D function Type$getBaseMethod(instance, =
name) {
    /// <param name=3D"instance"></param>
    /// <param name=3D"name" type=3D"String"></param>
    /// <returns type=3D"Function" mayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance"},
        {name: "name", type: String}
    ]);
    if (e) throw e;

    if (!this.isInstanceOfType(instance)) throw =
Error.argumentType('instance', Object.getType(instance), this);
    var baseType =3D this.getBaseType();
    if (baseType) {
        var baseMethod =3D baseType.prototype[name];
        return (baseMethod instanceof Function) ? baseMethod : null;
    }

    return null;
}

Type.prototype.getBaseType =3D function Type$getBaseType() {
    /// <returns type=3D"Type" mayBeNull=3D"true"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return (typeof(this.__baseType) =3D=3D=3D "undefined") ? null : =
this.__baseType;
}

Type.prototype.getInterfaces =3D function Type$getInterfaces() {
    /// <returns type=3D"Array" elementType=3D"Type" mayBeNull=3D"false" =
elementMayBeNull=3D"false"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    var result =3D [];
    var type =3D this;
    while(type) {
        var interfaces =3D type.__interfaces;
        if (interfaces) {
            for (var i =3D 0, l =3D interfaces.length; i < l; i++) {
                var interfaceType =3D interfaces[i];
                if (!Array.contains(result, interfaceType)) {
                    result[result.length] =3D interfaceType;
                }
            }
        }
        type =3D type.__baseType;
    }
    return result;
}

Type.prototype.getName =3D function Type$getName() {
    /// <returns type=3D"String"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return (typeof(this.__typeName) =3D=3D=3D "undefined") ? "" : =
this.__typeName;
}

Type.prototype.implementsInterface =3D function =
Type$implementsInterface(interfaceType) {
    /// <param name=3D"interfaceType" type=3D"Type"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "interfaceType", type: Type}
    ]);
    if (e) throw e;

    this.resolveInheritance();

    var interfaceName =3D interfaceType.getName();
    var cache =3D this.__interfaceCache;
    if (cache) {
        var cacheEntry =3D cache[interfaceName];
        if (typeof(cacheEntry) !=3D=3D 'undefined') return cacheEntry;
    }
    else {
        cache =3D this.__interfaceCache =3D {};
    }

    var baseType =3D this;
    while (baseType) {
        var interfaces =3D baseType.__interfaces;
        if (interfaces) {
            if (Array.indexOf(interfaces, interfaceType) !=3D=3D -1) {
                return cache[interfaceName] =3D true;
            }
        }

        baseType =3D baseType.__baseType;
    }

    return cache[interfaceName] =3D false;
}

Type.prototype.inheritsFrom =3D function Type$inheritsFrom(parentType) {
    /// <param name=3D"parentType" type=3D"Type"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "parentType", type: Type}
    ]);
    if (e) throw e;

    this.resolveInheritance();
    var baseType =3D this.__baseType;
    while (baseType) {
        if (baseType =3D=3D=3D parentType) {
            return true;
        }
        baseType =3D baseType.__baseType;
    }

    return false;
}

Type.prototype.initializeBase =3D function Type$initializeBase(instance, =
baseArguments) {
    /// <param name=3D"instance"></param>
    /// <param name=3D"baseArguments" type=3D"Array" optional=3D"true" =
mayBeNull=3D"true" elementMayBeNull=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance"},
        {name: "baseArguments", type: Array, mayBeNull: true, optional: =
true, elementMayBeNull: true}
    ]);
    if (e) throw e;

    if (!this.isInstanceOfType(instance)) throw =
Error.argumentType('instance', Object.getType(instance), this);

    this.resolveInheritance();
    if (this.__baseType) {
        if (!baseArguments) {
            this.__baseType.apply(instance);
        }
        else {
            this.__baseType.apply(instance, baseArguments);
        }
    }

    return instance;
}

Type.prototype.isImplementedBy =3D function =
Type$isImplementedBy(instance) {
    /// <param name=3D"instance" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance", mayBeNull: true}
    ]);
    if (e) throw e;

    if (typeof(instance) =3D=3D=3D "undefined" || instance =3D=3D=3D =
null) return false;

    var instanceType =3D Object.getType(instance);
    return !!(instanceType.implementsInterface && =
instanceType.implementsInterface(this));
}

Type.prototype.isInstanceOfType =3D function =
Type$isInstanceOfType(instance) {
    /// <param name=3D"instance" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance", mayBeNull: true}
    ]);
    if (e) throw e;

    if (typeof(instance) =3D=3D=3D "undefined" || instance =3D=3D=3D =
null) return false;

    if (instance instanceof this) return true;

    var instanceType =3D Object.getType(instance);
    return !!(instanceType =3D=3D=3D this) ||
           (instanceType.inheritsFrom && =
instanceType.inheritsFrom(this)) ||
           (instanceType.implementsInterface && =
instanceType.implementsInterface(this));
}

Type.prototype.registerClass =3D function Type$registerClass(typeName, =
baseType, interfaceTypes) {
    /// <param name=3D"typeName" type=3D"String"></param>
    /// <param name=3D"baseType" type=3D"Type" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"interfaceTypes" parameterArray=3D"true" =
type=3D"Type"></param>
    /// <returns type=3D"Type"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "typeName", type: String},
        {name: "baseType", type: Type, mayBeNull: true, optional: true},
        {name: "interfaceTypes", type: Type, parameterArray: true}
    ]);
    if (e) throw e;

    if (!Type.__fullyQualifiedIdentifierRegExp.test(typeName)) throw =
Error.argument('typeName', Sys.Res.notATypeName);
        var parsedName;
    try {
        parsedName =3D eval(typeName);
    }
    catch(e) {
        throw Error.argument('typeName', Sys.Res.argumentTypeName);
    }
    if (parsedName !=3D=3D this) throw Error.argument('typeName', =
Sys.Res.badTypeName);
        if (window.__registeredTypes[typeName]) throw =
Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, =
typeName));

            if ((arguments.length > 1) && (typeof(baseType) =3D=3D=3D =
'undefined')) throw Error.argumentUndefined('baseType');
    if (baseType && !baseType.__class) throw Error.argument('baseType', =
Sys.Res.baseNotAClass);

    this.prototype.constructor =3D this;
    this.__typeName =3D typeName;
    this.__class =3D true;
    if (baseType) {
        this.__baseType =3D baseType;
        this.__basePrototypePending =3D true;
    }
        if (!window.__classes) window.__classes =3D {};
    window.__classes[typeName.toUpperCase()] =3D this;

                if (interfaceTypes) {
        this.__interfaces =3D [];
        for (var i =3D 2; i < arguments.length; i++) {
            var interfaceType =3D arguments[i];
            if (!interfaceType.__interface) throw =
Error.argument('interfaceTypes[' + (i - 2) + ']', =
Sys.Res.notAnInterface);
            this.resolveInheritance();
            for (var methodName in interfaceType.prototype) {
                var method =3D interfaceType.prototype[methodName];
                if (!this.prototype[methodName]) {
                    this.prototype[methodName] =3D method;
                }
            }
            this.__interfaces.push(interfaceType);
        }
    }
    window.__registeredTypes[typeName] =3D true;

    return this;
}

Type.prototype.registerInterface =3D function =
Type$registerInterface(typeName) {
    /// <param name=3D"typeName" type=3D"String"></param>
    /// <returns type=3D"Type"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "typeName", type: String}
    ]);
    if (e) throw e;

    if (!Type.__fullyQualifiedIdentifierRegExp.test(typeName)) throw =
Error.argument('typeName', Sys.Res.notATypeName);
        var parsedName;
    try {
        parsedName =3D eval(typeName);
    }
    catch(e) {
        throw Error.argument('typeName', Sys.Res.argumentTypeName);
    }
    if (parsedName !=3D=3D this) throw Error.argument('typeName', =
Sys.Res.badTypeName);
        if (window.__registeredTypes[typeName]) throw =
Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, =
typeName));
    this.prototype.constructor =3D this;
    this.__typeName =3D typeName;
    this.__interface =3D true;
    window.__registeredTypes[typeName] =3D true;

    return this;
}

Type.prototype.resolveInheritance =3D function Type$resolveInheritance() =
{
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();

    if (this.__basePrototypePending) {
        var baseType =3D this.__baseType;

        baseType.resolveInheritance();

        for (var memberName in baseType.prototype) {
            var memberValue =3D baseType.prototype[memberName];
            if (!this.prototype[memberName]) {
                this.prototype[memberName] =3D memberValue;
            }
        }
        delete this.__basePrototypePending;
    }
}

Type.getRootNamespaces =3D function Type$getRootNamespaces() {
    /// <returns type=3D"Array"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return Array.clone(window.__rootNamespaces);
}

Type.isClass =3D function Type$isClass(type) {
    /// <param name=3D"type" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "type", mayBeNull: true}
    ]);
    if (e) throw e;

    if ((typeof(type) =3D=3D=3D 'undefined') || (type =3D=3D=3D null)) =
return false;
    return !!type.__class;
}

Type.isInterface =3D function Type$isInterface(type) {
    /// <param name=3D"type" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "type", mayBeNull: true}
    ]);
    if (e) throw e;

    if ((typeof(type) =3D=3D=3D 'undefined') || (type =3D=3D=3D null)) =
return false;
    return !!type.__interface;
}

Type.isNamespace =3D function Type$isNamespace(object) {
    /// <param name=3D"object" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "object", mayBeNull: true}
    ]);
    if (e) throw e;

    if ((typeof(object) =3D=3D=3D 'undefined') || (object =3D=3D=3D =
null)) return false;
    return !!object.__namespace;
}

Type.parse =3D function Type$parse(typeName, ns) {
    /// <param name=3D"typeName" type=3D"String" =
mayBeNull=3D"true"></param>
    /// <param name=3D"ns" optional=3D"true" mayBeNull=3D"true"></param>
    /// <returns type=3D"Type" mayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "typeName", type: String, mayBeNull: true},
        {name: "ns", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;

    var fn;
    if (ns) {
        if (!window.__classes) return null;
        fn =3D window.__classes[ns.getName().toUpperCase() + '.' + =
typeName.toUpperCase()];
        return fn || null;
    }
    if (!typeName) return null;
    if (!Type.__htClasses) {
        Type.__htClasses =3D {};
    }
    fn =3D Type.__htClasses[typeName];
    if (!fn) {
        fn =3D eval(typeName);
        if (typeof(fn) !=3D=3D 'function') throw =
Error.argument('typeName', Sys.Res.notATypeName);
        Type.__htClasses[typeName] =3D fn;
    }
    return fn;
}

Type.registerNamespace =3D function =
Type$registerNamespace(namespacePath) {
    /// <param name=3D"namespacePath" type=3D"String"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "namespacePath", type: String}
    ]);
    if (e) throw e;

    if (!Type.__fullyQualifiedIdentifierRegExp.test(namespacePath)) =
throw Error.argument('namespacePath', Sys.Res.invalidNameSpace);
    var rootObject =3D window;
    var namespaceParts =3D namespacePath.split('.');

    for (var i =3D 0; i < namespaceParts.length; i++) {
        var currentPart =3D namespaceParts[i];
        var ns =3D rootObject[currentPart];
        if (ns && !ns.__namespace) {
            throw =
Error.invalidOperation(String.format(Sys.Res.namespaceContainsObject, =
namespaceParts.splice(0, i + 1).join('.')));
        }
        if (!ns) {
            ns =3D rootObject[currentPart] =3D {};
            if (i =3D=3D=3D 0) {
                window.__rootNamespaces[window.__rootNamespaces.length] =
=3D ns;
            }
            ns.__namespace =3D true;
            ns.__typeName =3D namespaceParts.slice(0, i + 1).join('.');
            var parsedName;
            try {
                parsedName =3D eval(ns.__typeName);
            }
            catch(e) {
                parsedName =3D null;
            }
            if (parsedName !=3D=3D ns) {
                delete rootObject[currentPart];
                throw Error.argument('namespacePath', =
Sys.Res.invalidNameSpace);
            }
            ns.getName =3D function ns$getName() {return =
this.__typeName;}
        }
        rootObject =3D ns;
    }
}
Object.__typeName =3D 'Object';
Object.__class =3D true;

Object.getType =3D function Object$getType(instance) {
    /// <param name=3D"instance"></param>
    /// <returns type=3D"Type"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance"}
    ]);
    if (e) throw e;

    var ctor =3D instance.constructor;
    if (!ctor || (typeof(ctor) !=3D=3D "function") || !ctor.__typeName =
|| (ctor.__typeName =3D=3D=3D 'Object')) {
        return Object;
    }
    return ctor;
}

Object.getTypeName =3D function Object$getTypeName(instance) {
    /// <param name=3D"instance"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "instance"}
    ]);
    if (e) throw e;

    return Object.getType(instance).getName();
}
Boolean.__typeName =3D 'Boolean';
Boolean.__class =3D true;

Boolean.parse =3D function Boolean$parse(value) {
    /// <param name=3D"value" type=3D"String"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String}
    ]);
    if (e) throw e;

    var v =3D value.trim().toLowerCase();
    if (v =3D=3D=3D 'false') return false;
    if (v =3D=3D=3D 'true') return true;
    throw Error.argumentOutOfRange('value', value, =
Sys.Res.boolTrueOrFalse);
}
Date.__typeName =3D 'Date';
Date.__class =3D true;

Date._appendPreOrPostMatch =3D function =
Date$_appendPreOrPostMatch(preMatch, strBuilder) {
                var quoteCount =3D 0;
    var escaped =3D false;
    for (var i =3D 0, il =3D preMatch.length; i < il; i++) {
        var c =3D preMatch.charAt(i);
        switch (c) {
        case '\'':
            if (escaped) strBuilder.append("'");
            else quoteCount++;
            escaped =3D false;
            break;
        case '\\':
            if (escaped) strBuilder.append("\\");
            escaped =3D !escaped;
            break;
        default:
            strBuilder.append(c);
            escaped =3D false;
            break;
        }
    }
    return quoteCount;
}

Date._expandFormat =3D function Date$_expandFormat(dtf, format) {
        if (!format) {
        format =3D "F";
    }
    if (format.length =3D=3D=3D 1) {
        switch (format) {
        case "d":
            return dtf.ShortDatePattern;
        case "D":
            return dtf.LongDatePattern;
        case "t":
            return dtf.ShortTimePattern;
        case "T":
            return dtf.LongTimePattern;
        case "F":
            return dtf.FullDateTimePattern;
        case "M": case "m":
            return dtf.MonthDayPattern;
        case "s":
            return dtf.SortableDateTimePattern;
        case "Y": case "y":
            return dtf.YearMonthPattern;
        default:
            throw Error.format(Sys.Res.formatInvalidString);
        }
    }
    return format;
}

Date._expandYear =3D function Date$_expandYear(dtf, year) {
        if (year < 100) {
        var curr =3D new Date().getFullYear();
        year +=3D curr - (curr % 100);
        if (year > dtf.Calendar.TwoDigitYearMax) {
            return year - 100;
        }
    }
    return year;
}

Date._getParseRegExp =3D function Date$_getParseRegExp(dtf, format) {
                if (!dtf._parseRegExp) {
        dtf._parseRegExp =3D {};
    }
    else if (dtf._parseRegExp[format]) {
        return dtf._parseRegExp[format];
    }

        var expFormat =3D Date._expandFormat(dtf, format);
    expFormat =3D expFormat.replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g, =
"\\\\$1");

    var regexp =3D new Sys.StringBuilder("^");
    var groups =3D [];
    var index =3D 0;
    var quoteCount =3D 0;
    var tokenRegExp =3D Date._getTokenRegExp();
    var match;

        while ((match =3D tokenRegExp.exec(expFormat)) !=3D=3D null) {
        var preMatch =3D expFormat.slice(index, match.index);
        index =3D tokenRegExp.lastIndex;

                quoteCount +=3D Date._appendPreOrPostMatch(preMatch, =
regexp);
        if ((quoteCount%2) =3D=3D=3D 1) {
            regexp.append(match[0]);
            continue;
        }

                switch (match[0]) {
            case 'dddd': case 'ddd':
            case 'MMMM': case 'MMM':
                regexp.append("(\\D+)");
                break;
            case 'tt': case 't':
                regexp.append("(\\D*)");
                break;
            case 'yyyy':
                regexp.append("(\\d{4})");
                break;
            case 'fff':
                regexp.append("(\\d{3})");
                break;
            case 'ff':
                regexp.append("(\\d{2})");
                break;
            case 'f':
                regexp.append("(\\d)");
                break;
            case 'dd': case 'd':
            case 'MM': case 'M':
            case 'yy': case 'y':
            case 'HH': case 'H':
            case 'hh': case 'h':
            case 'mm': case 'm':
            case 'ss': case 's':
                regexp.append("(\\d\\d?)");
                break;
            case 'zzz':
                regexp.append("([+-]?\\d\\d?:\\d{2})");
                break;
            case 'zz': case 'z':
                regexp.append("([+-]?\\d\\d?)");
                break;
        }
        Array.add(groups, match[0]);
    }
    Date._appendPreOrPostMatch(expFormat.slice(index), regexp);
    regexp.append("$");
        var regexpStr =3D regexp.toString().replace(/\s+/g, "\\s+");
    var parseRegExp =3D {'regExp': regexpStr, 'groups': groups};
        dtf._parseRegExp[format] =3D parseRegExp;
    return parseRegExp;
}

Date._getTokenRegExp =3D function Date$_getTokenRegExp() {
        return =
/dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|=
zzz|zz|z/g;
}

Date.parseLocale =3D function Date$parseLocale(value, formats) {
    /// <param name=3D"value" type=3D"String"></param>
    /// <param name=3D"formats" parameterArray=3D"true" =
optional=3D"true" mayBeNull=3D"true"></param>
    /// <returns type=3D"Date"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String},
        {name: "formats", mayBeNull: true, optional: true, =
parameterArray: true}
    ]);
    if (e) throw e;

    return Date._parse(value, Sys.CultureInfo.CurrentCulture, =
arguments);
}

Date.parseInvariant =3D function Date$parseInvariant(value, formats) {
    /// <param name=3D"value" type=3D"String"></param>
    /// <param name=3D"formats" parameterArray=3D"true" =
optional=3D"true" mayBeNull=3D"true"></param>
    /// <returns type=3D"Date"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String},
        {name: "formats", mayBeNull: true, optional: true, =
parameterArray: true}
    ]);
    if (e) throw e;

    return Date._parse(value, Sys.CultureInfo.InvariantCulture, =
arguments);
}

Date._parse =3D function Date$_parse(value, cultureInfo, args) {
            var custom =3D false;
    for (var i =3D 1, il =3D args.length; i < il; i++) {
        var format =3D args[i];
        if (format) {
            custom =3D true;
            var date =3D Date._parseExact(value, format, cultureInfo);
            if (date) return date;
        }
    }
        if (! custom) {
        var formats =3D cultureInfo._getDateTimeFormats();
        for (var i =3D 0, il =3D formats.length; i < il; i++) {
            var date =3D Date._parseExact(value, formats[i], =
cultureInfo);
            if (date) return date;
        }
    }
    return null;
}

Date._parseExact =3D function Date$_parseExact(value, format, =
cultureInfo) {
            value =3D value.trim();
    var dtf =3D cultureInfo.dateTimeFormat;

            var parseInfo =3D Date._getParseRegExp(dtf, format);
    var match =3D new RegExp(parseInfo.regExp).exec(value);
        if (match !=3D=3D null) {
        var groups =3D parseInfo.groups;
        var year =3D null, month =3D null, date =3D null, weekDay =3D =
null;
        var hour =3D 0, min =3D 0, sec =3D 0, msec =3D 0, tzMinOffset =
=3D null;
        var pmHour =3D false;
                for (var j =3D 0, jl =3D groups.length; j < jl; j++) {
            var matchGroup =3D match[j+1];
            if (matchGroup) {
                switch (groups[j]) {
                    case 'dd': case 'd':
                                                date =3D =
Date._parseInt(matchGroup);
                                                if ((date < 1) || (date =
> 31)) return null;
                        break;
                    case 'MMMM':
                                                month =3D =
cultureInfo._getMonthIndex(matchGroup);
                        if ((month < 0) || (month > 11)) return null;
                        break;
                    case 'MMM':
                                                month =3D =
cultureInfo._getAbbrMonthIndex(matchGroup);
                        if ((month < 0) || (month > 11)) return null;
                        break;
                    case 'M': case 'MM':
                                                var month =3D =
Date._parseInt(matchGroup) - 1;
                        if ((month < 0) || (month > 11)) return null;
                        break;
                    case 'y': case 'yy':
                                                year =3D =
Date._expandYear(dtf,Date._parseInt(matchGroup));
                        if ((year < 0) || (year > 9999)) return null;
                        break;
                    case 'yyyy':
                                                year =3D =
Date._parseInt(matchGroup);
                        if ((year < 0) || (year > 9999)) return null;
                        break;
                    case 'h': case 'hh':
                                                hour =3D =
Date._parseInt(matchGroup);
                        if (hour =3D=3D=3D 12) hour =3D 0;
                        if ((hour < 0) || (hour > 11)) return null;
                        break;
                    case 'H': case 'HH':
                                                hour =3D =
Date._parseInt(matchGroup);
                        if ((hour < 0) || (hour > 23)) return null;
                        break;
                    case 'm': case 'mm':
                                                min =3D =
Date._parseInt(matchGroup);
                        if ((min < 0) || (min > 59)) return null;
                        break;
                    case 's': case 'ss':
                                                sec =3D =
Date._parseInt(matchGroup);
                        if ((sec < 0) || (sec > 59)) return null;
                        break;
                    case 'tt': case 't':
                                                var upperToken =3D =
matchGroup.toUpperCase();
                        pmHour =3D (upperToken =3D=3D=3D =
dtf.PMDesignator.toUpperCase());
                        if (!pmHour && (upperToken !=3D=3D =
dtf.AMDesignator.toUpperCase())) return null;
                        break;
                    case 'f':
                                                msec =3D =
Date._parseInt(matchGroup) * 100;
                        if ((msec < 0) || (msec > 999)) return null;
                        break;
                    case 'ff':
                                                msec =3D =
Date._parseInt(matchGroup) * 10;
                        if ((msec < 0) || (msec > 999)) return null;
                        break;
                    case 'fff':
                                                msec =3D =
Date._parseInt(matchGroup);
                        if ((msec < 0) || (msec > 999)) return null;
                        break;
                    case 'dddd':
                                                weekDay =3D =
cultureInfo._getDayIndex(matchGroup);
                        if ((weekDay < 0) || (weekDay > 6)) return null;
                        break;
                    case 'ddd':
                                                weekDay =3D =
cultureInfo._getAbbrDayIndex(matchGroup);
                        if ((weekDay < 0) || (weekDay > 6)) return null;
                        break;
                    case 'zzz':
                                                var offsets =3D =
matchGroup.split(/:/);
                        if (offsets.length !=3D=3D 2) return null;
                        var hourOffset =3D Date._parseInt(offsets[0]);
                        if ((hourOffset < -12) || (hourOffset > 13)) =
return null;
                        var minOffset =3D Date._parseInt(offsets[1]);
                        if ((minOffset < 0) || (minOffset > 59)) return =
null;
                        tzMinOffset =3D (hourOffset * 60) + =
(matchGroup.startsWith('-')? -minOffset : minOffset);
                        break;
                    case 'z': case 'zz':
                                                var hourOffset =3D =
Date._parseInt(matchGroup);
                        if ((hourOffset < -12) || (hourOffset > 13)) =
return null;
                        tzMinOffset =3D hourOffset * 60;
                        break;
                }
            }
        }
        var result =3D new Date();
        if (year =3D=3D=3D null) {
            year =3D result.getFullYear();
        }
        if (month =3D=3D=3D null) {
            month =3D result.getMonth();
        }
        if (date =3D=3D=3D null) {
            date =3D result.getDate();
        }
                result.setFullYear(year, month, date);
                if (result.getDate() !=3D=3D date) return null;
                if ((weekDay !=3D=3D null) && (result.getDay() !=3D=3D =
weekDay)) {
            return null;
        }
                if (pmHour && (hour < 12)) {
            hour +=3D 12;
        }
        result.setHours(hour, min, sec, msec);
        if (tzMinOffset !=3D=3D null) {
                        var adjustedMin =3D result.getMinutes() - =
(tzMinOffset + result.getTimezoneOffset());
                                                =
result.setHours(result.getHours() + parseInt(adjustedMin/60), =
adjustedMin%60);
        }
        return result;
    }
}

Date._parseInt =3D function Date$_parseInt(value) {
        return parseInt(value.replace(/^[\s0]+(\d+)$/,"$1"));
}

Date.prototype.format =3D function Date$format(format) {
    /// <param name=3D"format" type=3D"String"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "format", type: String}
    ]);
    if (e) throw e;

    return this._toFormattedString(format, =
Sys.CultureInfo.InvariantCulture);
}

Date.prototype.localeFormat =3D function Date$localeFormat(format) {
    /// <param name=3D"format" type=3D"String"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "format", type: String}
    ]);
    if (e) throw e;

    return this._toFormattedString(format, =
Sys.CultureInfo.CurrentCulture);
}

Date.prototype._toFormattedString =3D function =
Date$_toFormattedString(format, cultureInfo) {
    if (!format || (format.length =3D=3D=3D 0) || (format =3D=3D=3D =
'i')) {
        if (cultureInfo && (cultureInfo.name.length > 0)) {
            return this.toLocaleString();
        }
        else {
            return this.toString();
        }
    }

    var dtf =3D cultureInfo.dateTimeFormat;
    format =3D Date._expandFormat(dtf, format);

        var ret =3D new Sys.StringBuilder();
    var hour;

    function addLeadingZero(num) {
        if (num < 10) {
            return '0' + num;
        }
        return num.toString();
    }

    function addLeadingZeros(num) {
        if (num < 10) {
            return '00' + num;
        }
        if (num < 100) {
            return '0' + num;
        }
        return num.toString();
    }

    var quoteCount =3D 0;
    var tokenRegExp =3D Date._getTokenRegExp();
    for (;;) {

                var index =3D tokenRegExp.lastIndex;

                var ar =3D tokenRegExp.exec(format);

                var preMatch =3D format.slice(index, ar ? ar.index : =
format.length);
        quoteCount +=3D Date._appendPreOrPostMatch(preMatch, ret);

        if (!ar) break;

                if ((quoteCount%2) =3D=3D=3D 1) {
            ret.append(ar[0]);
            continue;
        }

        switch (ar[0]) {
        case "dddd":
                        ret.append(dtf.DayNames[this.getDay()]);
            break;
        case "ddd":
                        =
ret.append(dtf.AbbreviatedDayNames[this.getDay()]);
            break;
        case "dd":
                        ret.append(addLeadingZero(this.getDate()));
            break;
        case "d":
                        ret.append(this.getDate());
            break;
        case "MMMM":
                        ret.append(dtf.MonthNames[this.getMonth()]);
            break;
        case "MMM":
                        =
ret.append(dtf.AbbreviatedMonthNames[this.getMonth()]);
            break;
        case "MM":
                        ret.append(addLeadingZero(this.getMonth() + 1));
            break;
        case "M":
                        ret.append(this.getMonth() + 1);
            break;
        case "yyyy":
                        ret.append(this.getFullYear());
            break;
        case "yy":
                        ret.append(addLeadingZero(this.getFullYear() % =
100));
            break;
        case "y":
                        ret.append(this.getFullYear() % 100);
            break;
        case "hh":
                        hour =3D this.getHours() % 12;
            if (hour =3D=3D=3D 0) hour =3D 12;
            ret.append(addLeadingZero(hour));
            break;
        case "h":
                        hour =3D this.getHours() % 12;
            if (hour =3D=3D=3D 0) hour =3D 12;
            ret.append(hour);
            break;
        case "HH":
                        ret.append(addLeadingZero(this.getHours()));
            break;
        case "H":
                        ret.append(this.getHours());
            break;
        case "mm":
                        ret.append(addLeadingZero(this.getMinutes()));
            break;
        case "m":
                        ret.append(this.getMinutes());
            break;
        case "ss":
                        ret.append(addLeadingZero(this.getSeconds()));
            break;
        case "s":
                        ret.append(this.getSeconds());
            break;
        case "tt":
                        ret.append((this.getHours() < 12) ? =
dtf.AMDesignator : dtf.PMDesignator);
            break;
        case "t":
                        ret.append(((this.getHours() < 12) ? =
dtf.AMDesignator : dtf.PMDesignator).charAt(0));
            break;
        case "f":
                        =
ret.append(addLeadingZeros(this.getMilliseconds()).charAt(0));
            break;
        case "ff":
                        =
ret.append(addLeadingZeros(this.getMilliseconds()).substr(0, 2));
            break;
        case "fff":
                        =
ret.append(addLeadingZeros(this.getMilliseconds()));
            break;
        case "z":
                        hour =3D this.getTimezoneOffset() / 60;
            ret.append(((hour >=3D 0) ? '+' : '-') + =
Math.floor(Math.abs(hour)));
            break;
        case "zz":
                        hour =3D this.getTimezoneOffset() / 60;
            ret.append(((hour >=3D 0) ? '+' : '-') + =
addLeadingZero(Math.floor(Math.abs(hour))));
            break;
        case "zzz":
                        hour =3D this.getTimezoneOffset() / 60;
            ret.append(((hour >=3D 0) ? '+' : '-') + =
addLeadingZero(Math.floor(Math.abs(hour))) +
                dtf.TimeSeparator + =
addLeadingZero(Math.abs(this.getTimezoneOffset() % 60)));
            break;
        }
    }
    return ret.toString();
}
Number.__typeName =3D 'Number';
Number.__class =3D true;

Number.parseLocale =3D function Number$parseLocale(value) {
    /// <param name=3D"value" type=3D"String"></param>
    /// <returns type=3D"Number"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String}
    ]);
    if (e) throw e;

    return Number._parse(value, Sys.CultureInfo.CurrentCulture);
}
Number.parseInvariant =3D function Number$parseInvariant(value) {
    /// <param name=3D"value" type=3D"String"></param>
    /// <returns type=3D"Number"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String}
    ]);
    if (e) throw e;

    return Number._parse(value, Sys.CultureInfo.InvariantCulture);
}
Number._parse =3D function Number$_parse(value, cultureInfo) {
            var valueStr =3D value.trim();
    if (valueStr.match(/infinity/i) !=3D=3D null) {
        return parseFloat(valueStr);
    }
    if (valueStr.match(/^0x[a-f0-9]+$/i) !=3D=3D null) {
        return parseInt(valueStr);
    }
    var numFormat =3D cultureInfo.numberFormat;
    var decSeparator =3D numFormat.NumberDecimalSeparator;
    var grpSeparator =3D numFormat.NumberGroupSeparator;

            var numberFormatRegex =3D new RegExp("^[+-]?[\\d\\" + =
grpSeparator + "]*\\" + decSeparator + "?\\d*([eE][+-]?\\d+)?$");
    if (!valueStr.match(numberFormatRegex)) {
        return Number.NaN;
    }

        valueStr =3D valueStr.split(grpSeparator).join("");

        valueStr =3D valueStr.replace(decSeparator, ".");

    return parseFloat(valueStr);
}

Number.prototype.format =3D function Number$format(format) {
    /// <param name=3D"format" type=3D"String"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "format", type: String}
    ]);
    if (e) throw e;

    return this._toFormattedString(format, =
Sys.CultureInfo.InvariantCulture);
}
Number.prototype.localeFormat =3D function Number$localeFormat(format) {
    /// <param name=3D"format" type=3D"String"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "format", type: String}
    ]);
    if (e) throw e;

    return this._toFormattedString(format, =
Sys.CultureInfo.CurrentCulture);
}
Number.prototype._toFormattedString =3D function =
Number$_toFormattedString(format, cultureInfo) {
    if (!format || (format.length =3D=3D=3D 0) || (format =3D=3D=3D =
'i')) {
        if (cultureInfo && (cultureInfo.name.length > 0)) {
            return this.toLocaleString();
        }
        else {
            return this.toString();
        }
    }

        var _percentPositivePattern =3D ["n %", "n%", "%n" ];
    var _percentNegativePattern =3D ["-n %", "-n%", "-%n"];
    var _numberNegativePattern =3D ["(n)","-n","- n","n-","n -"];
    var _currencyPositivePattern =3D ["$n","n$","$ n","n $"];
    var _currencyNegativePattern =3D =
["($n)","-$n","$-n","$n-","(n$)","-n$","n-$","n$-","-n $","-$ n","n =
$-","$ n-","$ -n","n- $","($ n)","(n $)"];

        function expandNumber(number, precision, groupSizes, sep, =
decimalChar) {
       =20
        var curSize =3D groupSizes[0];
        var curGroupIndex =3D 1;

                var numberString =3D number.toString();
        var right =3D "";
        var exponent =3D "";
                var decimalSplit =3D numberString.split('.');
        if (decimalSplit.length > 1) {
            numberString =3D decimalSplit[0];
            right =3D decimalSplit[1];
                        var exponentSplit =3D right.split(/e/i);
            if (exponentSplit.length > 1) {
                right =3D exponentSplit[0];
                exponent =3D "e" + exponentSplit[1];
            }
        }

                if (precision > 0) {
                        var rightDifference =3D right.length - =
precision;
            if (rightDifference > 0) {
                right =3D right.slice(0, precision);
            } else if (rightDifference < 0) {
                for (var i=3D0; i<Math.abs(rightDifference); i++) {
                    right +=3D '0';
                }
            }

                        right =3D decimalChar + right;
        }
        else {             right =3D "";
        }
        right +=3D exponent;

        var stringIndex =3D numberString.length-1;
        var ret =3D "";
        while (stringIndex >=3D 0) {

                        if (curSize =3D=3D=3D 0 || curSize > =
stringIndex) {
                if (ret.length > 0)
                    return numberString.slice(0, stringIndex + 1) + sep =
+ ret + right;
                else
                    return numberString.slice(0, stringIndex + 1) + =
right;
            }

            if (ret.length > 0)
                ret =3D numberString.slice(stringIndex - curSize + 1, =
stringIndex+1) + sep + ret;
            else
                ret =3D numberString.slice(stringIndex - curSize + 1, =
stringIndex+1);

            stringIndex -=3D curSize;

            if (curGroupIndex < groupSizes.length) {
                curSize =3D groupSizes[curGroupIndex];
                curGroupIndex++;
            }
        }
        return numberString.slice(0, stringIndex + 1) + sep + ret + =
right;
    }
    var nf =3D cultureInfo.numberFormat;

        var number =3D Math.abs(this);

        if (!format)
        format =3D "D";

    var precision =3D -1;
    if (format.length > 1) precision =3D parseInt(format.slice(1));

    var pattern;
    switch (format.charAt(0)) {
    case "d":
    case "D":
        pattern =3D 'n';

                if (precision !=3D=3D -1) {
            var numberStr =3D ""+number;
            var zerosToAdd =3D precision - numberStr.length;
            if (zerosToAdd > 0) {
                for (var i=3D0; i<zerosToAdd; i++) {
                    numberStr =3D '0'+numberStr;
                }
            }
            number =3D numberStr;
        }

                if (this < 0) number =3D -number;
        break;
    case "c":
    case "C":
        if (this < 0) pattern =3D =
_currencyNegativePattern[nf.CurrencyNegativePattern];
        else pattern =3D =
_currencyPositivePattern[nf.CurrencyPositivePattern];
        if (precision =3D=3D=3D -1) precision =3D =
nf.CurrencyDecimalDigits;
        number =3D expandNumber(Math.abs(this), precision, =
nf.CurrencyGroupSizes, nf.CurrencyGroupSeparator, =
nf.CurrencyDecimalSeparator);
        break;
    case "n":
    case "N":
        if (this < 0) pattern =3D =
_numberNegativePattern[nf.NumberNegativePattern];
        else pattern =3D 'n';
        if (precision =3D=3D=3D -1) precision =3D =
nf.NumberDecimalDigits;
        number =3D expandNumber(Math.abs(this), precision, =
nf.NumberGroupSizes, nf.NumberGroupSeparator, =
nf.NumberDecimalSeparator);
        break;
    case "p":
    case "P":
        if (this < 0) pattern =3D =
_percentNegativePattern[nf.PercentNegativePattern];
        else pattern =3D =
_percentPositivePattern[nf.PercentPositivePattern];
        if (precision =3D=3D=3D -1) precision =3D =
nf.PercentDecimalDigits;
        number =3D expandNumber(Math.abs(this), precision, =
nf.PercentGroupSizes, nf.PercentGroupSeparator, =
nf.PercentDecimalSeparator);
        break;
    default:
        throw Error.format(Sys.Res.formatBadFormatSpecifier);
    }

    var regex =3D /n|\$|-|%/g;

        var ret =3D "";

    for (;;) {

                var index =3D regex.lastIndex;

                var ar =3D regex.exec(pattern);

                ret +=3D pattern.slice(index, ar ? ar.index : =
pattern.length);

        if (!ar)
            break;

        switch (ar[0]) {
        case "n":
            ret +=3D number;
            break;
        case "$":
            ret +=3D nf.CurrencySymbol;
            break;
        case "-":
            ret +=3D nf.NegativeSign;
            break;
        case "%":
            ret +=3D nf.PercentSymbol;
            break;
        }
    }

    return ret;
}
RegExp.__typeName =3D 'RegExp';
RegExp.__class =3D true;
Array.__typeName =3D 'Array';
Array.__class =3D true;

Array.add =3D Array.enqueue =3D function Array$enqueue(array, item) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"item" mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;


        array[array.length] =3D item;
}

Array.addRange =3D function Array$addRange(array, items) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"items" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "items", type: Array, elementMayBeNull: true}
    ]);
    if (e) throw e;


        array.push.apply(array, items);
}

Array.clear =3D function Array$clear(array) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true}
    ]);
    if (e) throw e;

    array.length =3D 0;
}

Array.clone =3D function Array$clone(array) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <returns type=3D"Array" elementMayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true}
    ]);
    if (e) throw e;

    if (array.length =3D=3D=3D 1) {
        return [array[0]];
    }
    else {
                        return Array.apply(null, array);
    }
}

Array.contains =3D function Array$contains(array, item) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"item" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;

    return (Array.indexOf(array, item) >=3D 0);
}

Array.dequeue =3D function Array$dequeue(array) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <returns mayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true}
    ]);
    if (e) throw e;

    return array.shift();
}

Array.forEach =3D function Array$forEach(array, method, instance) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"method" type=3D"Function"></param>
    /// <param name=3D"instance" optional=3D"true" =
mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "method", type: Function},
        {name: "instance", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;

    for (var i =3D 0, l =3D array.length; i < l; i++) {
        var elt =3D array[i];
        if (typeof(elt) !=3D=3D 'undefined') method.call(instance, elt, =
i, array);
    }
}

Array.indexOf =3D function Array$indexOf(array, item, start) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"item" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"start" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"Number"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "item", mayBeNull: true, optional: true},
        {name: "start", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;

    if (typeof(item) =3D=3D=3D "undefined") return -1;
    var length =3D array.length;
    if (length !=3D=3D 0) {
                start =3D start - 0;
                if (isNaN(start)) {
            start =3D 0;
        }
        else {
                                    if (isFinite(start)) {
                                start =3D start - (start % 1);
            }
                        if (start < 0) {
                start =3D Math.max(0, length + start);
            }
        }

                for (var i =3D start; i < length; i++) {
            if ((typeof(array[i]) !=3D=3D "undefined") && (array[i] =
=3D=3D=3D item)) {
                return i;
            }
        }
    }
    return -1;
}

Array.insert =3D function Array$insert(array, index, item) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"index" mayBeNull=3D"true"></param>
    /// <param name=3D"item" mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "index", mayBeNull: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;

    array.splice(index, 0, item);
}

Array.parse =3D function Array$parse(value) {
    /// <param name=3D"value" type=3D"String" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"Array" elementMayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String, mayBeNull: true}
    ]);
    if (e) throw e;

    if (!value) return [];
    var v =3D eval(value);
    if (!Array.isInstanceOfType(v)) throw Error.argument('value', =
Sys.Res.arrayParseBadFormat);
    return v;
}

Array.remove =3D function Array$remove(array, item) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"item" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "item", mayBeNull: true}
    ]);
    if (e) throw e;

    var index =3D Array.indexOf(array, item);
    if (index >=3D 0) {
        array.splice(index, 1);
    }
    return (index >=3D 0);
}

Array.removeAt =3D function Array$removeAt(array, index) {
    /// <param name=3D"array" type=3D"Array" =
elementMayBeNull=3D"true"></param>
    /// <param name=3D"index" mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "array", type: Array, elementMayBeNull: true},
        {name: "index", mayBeNull: true}
    ]);
    if (e) throw e;

    array.splice(index, 1);
}
String.__typeName =3D 'String';
String.__class =3D true;

String.prototype.endsWith =3D function String$endsWith(suffix) {
    /// <param name=3D"suffix" type=3D"String"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "suffix", type: String}
    ]);
    if (e) throw e;

    return (this.substr(this.length - suffix.length) =3D=3D=3D suffix);
}

String.prototype.startsWith =3D function String$startsWith(prefix) {
    /// <param name=3D"prefix" type=3D"String"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "prefix", type: String}
    ]);
    if (e) throw e;

    return (this.substr(0, prefix.length) =3D=3D=3D prefix);
}

String.prototype.trim =3D function String$trim() {
    /// <returns type=3D"String"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return this.replace(/^\s+|\s+$/g, '');
}

String.prototype.trimEnd =3D function String$trimEnd() {
    /// <returns type=3D"String"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return this.replace(/\s+$/, '');
}

String.prototype.trimStart =3D function String$trimStart() {
    /// <returns type=3D"String"></returns>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return this.replace(/^\s+/, '');
}

String.format =3D function String$format(format, args) {
    /// <param name=3D"format" type=3D"String"></param>
    /// <param name=3D"args" parameterArray=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "format", type: String},
        {name: "args", mayBeNull: true, parameterArray: true}
    ]);
    if (e) throw e;

    return String._toFormattedString(false, arguments);
}

String.localeFormat =3D function String$localeFormat(format, args) {
    /// <param name=3D"format" type=3D"String"></param>
    /// <param name=3D"args" parameterArray=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "format", type: String},
        {name: "args", mayBeNull: true, parameterArray: true}
    ]);
    if (e) throw e;

    return String._toFormattedString(true, arguments);
}

String._toFormattedString =3D function =
String$_toFormattedString(useLocale, args) {
    var result =3D '';
    var format =3D args[0];

    for (var i=3D0;;) {
                var open =3D format.indexOf('{', i);
        var close =3D format.indexOf('}', i);
        if ((open < 0) && (close < 0)) {
                        result +=3D format.slice(i);
            break;
        }
        if ((close > 0) && ((close < open) || (open < 0))) {
                        if (format.charAt(close + 1) !=3D=3D '}') {
                throw Error.argument('format', =
Sys.Res.stringFormatBraceMismatch);
            }
            result +=3D format.slice(i, close + 1);
            i =3D close + 2;
            continue;
        }

                result +=3D format.slice(i, open);
        i =3D open + 1;

                if (format.charAt(i) =3D=3D=3D '{') {
            result +=3D '{';
            i++;
            continue;
        }

                if (close < 0) throw Error.argument('format', =
Sys.Res.stringFormatBraceMismatch);

       =20
                var brace =3D format.substring(i, close);
        var colonIndex =3D brace.indexOf(':');
        var argNumber =3D parseInt((colonIndex < 0)? brace : =
brace.substring(0, colonIndex)) + 1;
        if (isNaN(argNumber)) throw Error.argument('format', =
Sys.Res.stringFormatInvalid);
        var argFormat =3D (colonIndex < 0)? '' : =
brace.substring(colonIndex + 1);

        var arg =3D args[argNumber];
        if (typeof(arg) =3D=3D=3D "undefined" || arg =3D=3D=3D null) {
            arg =3D '';
        }

                if (arg.toFormattedString) {
            result +=3D arg.toFormattedString(argFormat);
        }
        else if (useLocale && arg.localeFormat) {
            result +=3D arg.localeFormat(argFormat);
        }
        else if (arg.format) {
            result +=3D arg.format(argFormat);
        }
        else
            result +=3D arg.toString();

        i =3D close + 1;
    }

    return result;
}

Type.registerNamespace('Sys');
Sys.IDisposable =3D function Sys$IDisposable() {
    throw Error.notImplemented();
}

    function Sys$IDisposable$dispose() {
        throw Error.notImplemented();
    }
Sys.IDisposable.prototype =3D {
    dispose: Sys$IDisposable$dispose
}
Sys.IDisposable.registerInterface('Sys.IDisposable');
Sys.StringBuilder =3D function Sys$StringBuilder(initialText) {
    /// <param name=3D"initialText" optional=3D"true" =
mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "initialText", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;

    this._parts =3D (typeof(initialText) !=3D=3D 'undefined' && =
initialText !=3D=3D null && initialText !=3D=3D '') ?
        [initialText.toString()] : [];
    this._value =3D {};
    this._len =3D 0;
}


    function Sys$StringBuilder$append(text) {
        /// <param name=3D"text" mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "text", mayBeNull: true}
        ]);
        if (e) throw e;

        this._parts[this._parts.length] =3D text;
    }

    function Sys$StringBuilder$appendLine(text) {
        /// <param name=3D"text" optional=3D"true" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "text", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;

        this._parts[this._parts.length] =3D
            ((typeof(text) =3D=3D=3D 'undefined') || (text =3D=3D=3D =
null) || (text =3D=3D=3D '')) ?
            '\r\n' : text + '\r\n';
    }

    function Sys$StringBuilder$clear() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        this._parts =3D [];
        this._value =3D {};
        this._len =3D 0;
    }

    function Sys$StringBuilder$isEmpty() {
        /// <returns type=3D"Boolean"></returns>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this._parts.length =3D=3D=3D 0) return true;
        return this.toString() =3D=3D=3D '';
    }



    function Sys$StringBuilder$toString(separator) {
        /// <param name=3D"separator" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
        /// <returns type=3D"String"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "separator", type: String, mayBeNull: true, optional: =
true}
        ]);
        if (e) throw e;

        separator =3D separator || '';
        var parts =3D this._parts;
        if (this._len !=3D=3D parts.length) {
            this._value =3D {};
            this._len =3D parts.length;
        }
        var val =3D this._value;
        if (typeof(val[separator]) =3D=3D=3D 'undefined') {
                        if (separator !=3D=3D '') {
                for (var i =3D 0; i < parts.length;) {
                    if ((typeof(parts[i]) =3D=3D=3D 'undefined') || =
(parts[i] =3D=3D=3D '') || (parts[i] =3D=3D=3D null)) {
                        parts.splice(i, 1);
                    }
                    else {
                        i++;
                    }
                }
            }
            val[separator] =3D this._parts.join(separator);
        }
        return val[separator];
    }
Sys.StringBuilder.prototype =3D {
    append: Sys$StringBuilder$append,

    appendLine: Sys$StringBuilder$appendLine,

    clear: Sys$StringBuilder$clear,

    isEmpty: Sys$StringBuilder$isEmpty,

            toString: Sys$StringBuilder$toString
}
Sys.StringBuilder.registerClass('Sys.StringBuilder');
if (!window.XMLHttpRequest) {
    window.XMLHttpRequest =3D function window$XMLHttpRequest() {
        var progIDs =3D [ 'Msxml2.XMLHTTP', 'Microsoft.XMLHTTP' ];
	   =20
        for (var i =3D 0; i < progIDs.length; i++) {
            try {
                var xmlHttp =3D new ActiveXObject(progIDs[i]);
                return xmlHttp;
            }
            catch (ex) {
            }
        }
	   =20
        return null;
    }
}

Sys.Browser =3D {};

Sys.Browser.InternetExplorer =3D {};
Sys.Browser.Firefox =3D {};
Sys.Browser.Safari =3D {};
Sys.Browser.Opera =3D {};

Sys.Browser.agent =3D null;
Sys.Browser.hasDebuggerStatement =3D false;
Sys.Browser.name =3D navigator.appName;
Sys.Browser.version =3D parseFloat(navigator.appVersion);

if (navigator.userAgent.indexOf(' MSIE ') > -1) {
    Sys.Browser.agent =3D Sys.Browser.InternetExplorer;
    Sys.Browser.version =3D parseFloat(navigator.userAgent.match(/MSIE =
(\d+\.\d+)/)[1]);
    Sys.Browser.hasDebuggerStatement =3D true;
}
else if (navigator.userAgent.indexOf(' Firefox/') > -1) {
    Sys.Browser.agent =3D Sys.Browser.Firefox;
    Sys.Browser.version =3D parseFloat(navigator.userAgent.match(/ =
Firefox\/(\d+\.\d+)/)[1]);
    Sys.Browser.name =3D 'Firefox';
    Sys.Browser.hasDebuggerStatement =3D true;
}
else if (navigator.userAgent.indexOf(' Safari/') > -1) {
    Sys.Browser.agent =3D Sys.Browser.Safari;
    Sys.Browser.version =3D parseFloat(navigator.userAgent.match(/ =
Safari\/(\d+\.\d+)/)[1]);
    Sys.Browser.name =3D 'Safari';
}
else if (navigator.userAgent.indexOf('Opera/') > -1) {
    Sys.Browser.agent =3D Sys.Browser.Opera;
}


Type.registerNamespace('Sys.UI');

Sys._Debug =3D function Sys$_Debug() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
}


    function Sys$_Debug$_appendConsole(text) {
                if ((typeof(Debug) !=3D=3D 'undefined') && =
Debug.writeln) {
            Debug.writeln(text);
        }
                if (window.console && window.console.log) {
            window.console.log(text);
        }
                if (window.opera) {
            window.opera.postError(text);
        }
                if (window.debugService) {
            window.debugService.trace(text);
        }
    }

    function Sys$_Debug$_appendTrace(text) {
        var traceElement =3D document.getElementById('TraceConsole');
        if (traceElement && (traceElement.tagName.toUpperCase() =
=3D=3D=3D 'TEXTAREA')) {
            traceElement.value +=3D text + '\n';
        }
    }

    function Sys$_Debug$assert(condition, message, displayCaller) {
        /// <param name=3D"condition" type=3D"Boolean"></param>
        /// <param name=3D"message" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
        /// <param name=3D"displayCaller" type=3D"Boolean" =
optional=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "condition", type: Boolean},
            {name: "message", type: String, mayBeNull: true, optional: =
true},
            {name: "displayCaller", type: Boolean, optional: true}
        ]);
        if (e) throw e;

        if (!condition) {
            message =3D (displayCaller && this.assert.caller) ?
                String.format(Sys.Res.assertFailedCaller, message, =
this.assert.caller) :
                String.format(Sys.Res.assertFailed, message);

            if (confirm(String.format(Sys.Res.breakIntoDebugger, =
message))) {
                this.fail(message);
            }
        }
    }

    function Sys$_Debug$clearTrace() {
        var traceElement =3D document.getElementById('TraceConsole');
        if (traceElement && (traceElement.tagName.toUpperCase() =
=3D=3D=3D 'TEXTAREA')) {
            traceElement.value =3D '';
        }
    }

    function Sys$_Debug$fail(message) {
        /// <param name=3D"message" type=3D"String" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "message", type: String, mayBeNull: true}
        ]);
        if (e) throw e;

        this._appendConsole(message);

                if (Sys.Browser.hasDebuggerStatement) {
            eval('debugger');
        }
    }

    function Sys$_Debug$trace(text) {
        /// <param name=3D"text"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "text"}
        ]);
        if (e) throw e;

        this._appendConsole(text);
        this._appendTrace(text);
    }

    function Sys$_Debug$traceDump(object, name) {
        /// <param name=3D"object" mayBeNull=3D"true"></param>
        /// <param name=3D"name" type=3D"String" mayBeNull=3D"true" =
optional=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "object", mayBeNull: true},
            {name: "name", type: String, mayBeNull: true, optional: =
true}
        ]);
        if (e) throw e;

        var text =3D this._traceDump(object, name, true);
    }

    function Sys$_Debug$_traceDump(object, name, recursive, =
indentationPadding, loopArray) {
        name =3D name? name : 'traceDump';
        indentationPadding =3D indentationPadding? indentationPadding : =
'';
        if (object =3D=3D=3D null) {
            this.trace(indentationPadding + name + ': null');
            return;
        }
        switch(typeof(object)) {
            case 'undefined':
                this.trace(indentationPadding + name + ': Undefined');
                break;
            case 'number': case 'string': case 'boolean':
                this.trace(indentationPadding + name + ': ' + object);
                break;
            default:
                if (Date.isInstanceOfType(object) || =
RegExp.isInstanceOfType(object)) {
                    this.trace(indentationPadding + name + ': ' + =
object.toString());
                    break;
                }
                if (!loopArray) {
                    loopArray =3D [];
                }
                else if (Array.contains(loopArray, object)) {
                    this.trace(indentationPadding + name + ': ...');
                    return;
                }
                Array.add(loopArray, object);

                                                                if =
((object =3D=3D window) || (object =3D=3D=3D document) ||
                    (window.HTMLElement && (object instanceof =
HTMLElement)) ||
                    (typeof(object.nodeName) =3D=3D=3D 'string')) {
                    var tag =3D object.tagName? object.tagName : =
'DomElement';
                    if (object.id) {
                        tag +=3D ' - ' + object.id;
                    }
                    this.trace(indentationPadding + name + ' {' +  tag + =
'}');
                }
                                else {
                    var typeName =3D Object.getTypeName(object);
                    this.trace(indentationPadding + name + =
(typeof(typeName) =3D=3D=3D 'string' ? ' {' + typeName + '}' : ''));
                    if ((indentationPadding =3D=3D=3D '') || recursive) =
{
                        indentationPadding +=3D "    ";
                        var i, length, properties, p, v;
                        if (Array.isInstanceOfType(object)) {
                            length =3D object.length;
                            for (i =3D 0; i < length; i++) {
                                this._traceDump(object[i], '[' + i + =
']', recursive, indentationPadding, loopArray);
                            }
                        }
                        else {
                            for (p in object) {
                                v =3D object[p];
                                if (!Function.isInstanceOfType(v)) {
                                    this._traceDump(v, p, recursive, =
indentationPadding, loopArray);
                                }
                            }
                        }
                    }
                }
                Array.remove(loopArray, object);
        }
    }
Sys._Debug.prototype =3D {

    _appendConsole: Sys$_Debug$_appendConsole,

    _appendTrace: Sys$_Debug$_appendTrace,

    assert: Sys$_Debug$assert,

    clearTrace: Sys$_Debug$clearTrace,

    fail: Sys$_Debug$fail,

    trace: Sys$_Debug$trace,

    traceDump: Sys$_Debug$traceDump,

    _traceDump: Sys$_Debug$_traceDump
}
Sys._Debug.registerClass('Sys._Debug');

Sys.Debug =3D new Sys._Debug();
    Sys.Debug.isDebug =3D true;
function Sys$Enum$parse(value, ignoreCase) {
    /// <param name=3D"value" type=3D"String"></param>
    /// <param name=3D"ignoreCase" type=3D"Boolean" =
optional=3D"true"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", type: String},
        {name: "ignoreCase", type: Boolean, optional: true}
    ]);
    if (e) throw e;

    var values, parsed, val;
    if (ignoreCase) {
        values =3D this.__lowerCaseValues;
        if (!values) {
            this.__lowerCaseValues =3D values =3D {};
            var prototype =3D this.prototype;
            for (var name in prototype) {
                values[name.toLowerCase()] =3D prototype[name];
            }
        }
    }
    else {
        values =3D this.prototype;
    }
    if (!this.__flags) {
        val =3D (ignoreCase ? value.toLowerCase() : value);
        parsed =3D values[val.trim()];
        if (typeof(parsed) !=3D=3D 'number') throw =
Error.argument('value', String.format(Sys.Res.enumInvalidValue, value, =
this.__typeName));
        return parsed;
    }
    else {
        var parts =3D (ignoreCase ? value.toLowerCase() : =
value).split(',');
        var v =3D 0;

        for (var i =3D parts.length - 1; i >=3D 0; i--) {
            var part =3D parts[i].trim();
            parsed =3D values[part];
            if (typeof(parsed) !=3D=3D 'number') throw =
Error.argument('value', String.format(Sys.Res.enumInvalidValue, =
value.split(',')[i].trim(), this.__typeName));
            v |=3D parsed;
        }
        return v;
    }
}

function Sys$Enum$toString(value) {
    /// <param name=3D"value" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "value", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;

            if ((typeof(value) =3D=3D=3D 'undefined') || (value =
=3D=3D=3D null)) return this.__string;
    if ((typeof(value) !=3D 'number') || ((value % 1) !=3D=3D 0)) throw =
Error.argumentType('value', Object.getType(value), this);
    var values =3D this.prototype;
    var i;
    if (!this.__flags || (value =3D=3D=3D 0)) {
        for (i in values) {
            if (values[i] =3D=3D=3D value) {
                return i;
            }
        }
    }
    else {
        var sorted =3D this.__sortedValues;
        if (!sorted) {
            sorted =3D [];
            for (i in values) {
                sorted[sorted.length] =3D {key: i, value: values[i]};
            }
            sorted.sort(function(a, b) {
                return a.value - b.value;
            });
            this.__sortedValues =3D sorted;
        }
        var parts =3D [];
        var v =3D value;
        for (i =3D sorted.length - 1; i >=3D 0; i--) {
            var kvp =3D sorted[i];
            var vali =3D kvp.value;
            if (vali =3D=3D=3D 0) continue;
            if ((vali & value) =3D=3D=3D vali) {
                parts[parts.length] =3D kvp.key;
                v -=3D vali;
                if (v =3D=3D=3D 0) break;
            }
        }
        if (parts.length && v =3D=3D=3D 0) return =
parts.reverse().join(', ');
    }
    throw Error.argumentOutOfRange('value', value, =
String.format(Sys.Res.enumInvalidValue, value, this.__typeName));
}

Type.prototype.registerEnum =3D function Type$registerEnum(name, flags) =
{
    /// <param name=3D"name" type=3D"String"></param>
    /// <param name=3D"flags" type=3D"Boolean" =
optional=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "name", type: String},
        {name: "flags", type: Boolean, optional: true}
    ]);
    if (e) throw e;

    if (!Type.__fullyQualifiedIdentifierRegExp.test(name)) throw =
Error.argument('name', Sys.Res.notATypeName);
        var parsedName;
    try {
        parsedName =3D eval(name);
    }
    catch(e) {
        throw Error.argument('name', Sys.Res.argumentTypeName);
    }
    if (parsedName !=3D=3D this) throw Error.argument('name', =
Sys.Res.badTypeName);
    if (window.__registeredTypes[name]) throw =
Error.invalidOperation(String.format(Sys.Res.typeRegisteredTwice, =
name));
    for (var i in this.prototype) {
        var val =3D this.prototype[i];
        if (!Type.__identifierRegExp.test(i)) throw =
Error.invalidOperation(String.format(Sys.Res.enumInvalidValueName, i));
        if (typeof(val) !=3D=3D 'number' || (val % 1) !=3D=3D 0) throw =
Error.invalidOperation(Sys.Res.enumValueNotInteger);
        if (typeof(this[i]) !=3D=3D 'undefined') throw =
Error.invalidOperation(String.format(Sys.Res.enumReservedName, i));
    }
    for (var i in this.prototype) {
        this[i] =3D this.prototype[i];
    }
    this.__typeName =3D name;
    this.parse =3D Sys$Enum$parse;
    this.__string =3D this.toString();
    this.toString =3D Sys$Enum$toString;
    this.__flags =3D flags;
    this.__enum =3D true;
    window.__registeredTypes[name] =3D true;
}

Type.isEnum =3D function Type$isEnum(type) {
    /// <param name=3D"type" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "type", mayBeNull: true}
    ]);
    if (e) throw e;

    if ((typeof(type) =3D=3D=3D 'undefined') || (type =3D=3D=3D null)) =
return false;
    return !!type.__enum;
}

Type.isFlags =3D function Type$isFlags(type) {
    /// <param name=3D"type" mayBeNull=3D"true"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "type", mayBeNull: true}
    ]);
    if (e) throw e;

    if ((typeof(type) =3D=3D=3D 'undefined') || (type =3D=3D=3D null)) =
return false;
    return !!type.__flags;
}
Sys.EventHandlerList =3D function Sys$EventHandlerList() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    this._list =3D {};
}


    function Sys$EventHandlerList$addHandler(id, handler) {
        /// <param name=3D"id" type=3D"String"></param>
        /// <param name=3D"handler" type=3D"Function"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "id", type: String},
            {name: "handler", type: Function}
        ]);
        if (e) throw e;

        Array.add(this._getEvent(id, true), handler);
    }
    function Sys$EventHandlerList$removeHandler(id, handler) {
        /// <param name=3D"id" type=3D"String"></param>
        /// <param name=3D"handler" type=3D"Function"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "id", type: String},
            {name: "handler", type: Function}
        ]);
        if (e) throw e;

        var evt =3D this._getEvent(id);
        if (!evt) return;
        Array.remove(evt, handler);
    }
    function Sys$EventHandlerList$getHandler(id) {
        /// <param name=3D"id" type=3D"String"></param>
        /// <returns type=3D"Function"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "id", type: String}
        ]);
        if (e) throw e;

        var evt =3D this._getEvent(id);
        if (!evt || (evt.length =3D=3D=3D 0)) return null;
        evt =3D Array.clone(evt);
        if (!evt._handler) {
            evt._handler =3D function(source, args) {
                for (var i =3D 0, l =3D evt.length; i < l; i++) {
                    evt[i](source, args);
                }
            };
        }
        return evt._handler;
    }

    function Sys$EventHandlerList$_getEvent(id, create) {
        if (!this._list[id]) {
            if (!create) return null;
            this._list[id] =3D [];
        }
        return this._list[id];
    }
Sys.EventHandlerList.prototype =3D {
    addHandler: Sys$EventHandlerList$addHandler,
    removeHandler: Sys$EventHandlerList$removeHandler,
    getHandler: Sys$EventHandlerList$getHandler,

    _getEvent: Sys$EventHandlerList$_getEvent
}
Sys.EventHandlerList.registerClass('Sys.EventHandlerList');
Sys.EventArgs =3D function Sys$EventArgs() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
}
Sys.EventArgs.registerClass('Sys.EventArgs');

Sys.EventArgs.Empty =3D new Sys.EventArgs();
Sys.CancelEventArgs =3D function Sys$CancelEventArgs() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    Sys.CancelEventArgs.initializeBase(this);

    this._cancel =3D false;
}


    function Sys$CancelEventArgs$get_cancel() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._cancel;
    }
    function Sys$CancelEventArgs$set_cancel(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Boolean}]);
        if (e) throw e;

        this._cancel =3D value;
    }
Sys.CancelEventArgs.prototype =3D {
    get_cancel: Sys$CancelEventArgs$get_cancel,
    set_cancel: Sys$CancelEventArgs$set_cancel
}

Sys.CancelEventArgs.registerClass('Sys.CancelEventArgs', Sys.EventArgs);
Sys.INotifyPropertyChange =3D function Sys$INotifyPropertyChange() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    throw Error.notImplemented();
}

    function Sys$INotifyPropertyChange$add_propertyChanged(handler) {
    var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
    if (e) throw e;

        throw Error.notImplemented();
    }
    function Sys$INotifyPropertyChange$remove_propertyChanged(handler) {
    var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
    if (e) throw e;

        throw Error.notImplemented();
    }
Sys.INotifyPropertyChange.prototype =3D {
    add_propertyChanged: Sys$INotifyPropertyChange$add_propertyChanged,
    remove_propertyChanged: =
Sys$INotifyPropertyChange$remove_propertyChanged
}
Sys.INotifyPropertyChange.registerInterface('Sys.INotifyPropertyChange');=

Sys.PropertyChangedEventArgs =3D function =
Sys$PropertyChangedEventArgs(propertyName) {
    /// <param name=3D"propertyName" type=3D"String"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "propertyName", type: String}
    ]);
    if (e) throw e;

    Sys.PropertyChangedEventArgs.initializeBase(this);
    this._propertyName =3D propertyName;
}
=20
    function Sys$PropertyChangedEventArgs$get_propertyName() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._propertyName;
    }
Sys.PropertyChangedEventArgs.prototype =3D {
    get_propertyName: Sys$PropertyChangedEventArgs$get_propertyName
}
Sys.PropertyChangedEventArgs.registerClass('Sys.PropertyChangedEventArgs'=
, Sys.EventArgs);
Sys.INotifyDisposing =3D function Sys$INotifyDisposing() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    throw Error.notImplemented();
}

    function Sys$INotifyDisposing$add_disposing(handler) {
    var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
    if (e) throw e;

        throw Error.notImplemented();
    }
    function Sys$INotifyDisposing$remove_disposing(handler) {
    var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
    if (e) throw e;

        throw Error.notImplemented();
    }
Sys.INotifyDisposing.prototype =3D {
    add_disposing: Sys$INotifyDisposing$add_disposing,
    remove_disposing: Sys$INotifyDisposing$remove_disposing
}
Sys.INotifyDisposing.registerInterface("Sys.INotifyDisposing");
Sys.Component =3D function Sys$Component() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    if (Sys.Application) Sys.Application.registerDisposableObject(this);
}





    function Sys$Component$get_events() {
        /// <value type=3D"Sys.EventHandlerList"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._events) {
            this._events =3D new Sys.EventHandlerList();
        }
        return this._events;
    }
    function Sys$Component$get_id() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._id;
    }
    function Sys$Component$set_id(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String}]);
        if (e) throw e;

        if (this._idSet) throw =
Error.invalidOperation(Sys.Res.componentCantSetIdTwice);
        this._idSet =3D true;
        var oldId =3D this.get_id();
        if (oldId && Sys.Application.findComponent(oldId)) throw =
Error.invalidOperation(Sys.Res.componentCantSetIdAfterAddedToApp);
        this._id =3D value;
    }
    function Sys$Component$get_isInitialized() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._initialized;
    }
    function Sys$Component$get_isUpdating() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._updating;
    }
    function Sys$Component$add_disposing(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this.get_events().addHandler("disposing", handler);
    }
    function Sys$Component$remove_disposing(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this.get_events().removeHandler("disposing", handler);
    }
    function Sys$Component$add_propertyChanged(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this.get_events().addHandler("propertyChanged", handler);
    }
    function Sys$Component$remove_propertyChanged(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this.get_events().removeHandler("propertyChanged", handler);
    }
    function Sys$Component$beginUpdate() {
        this._updating =3D true;
    }
    function Sys$Component$dispose() {
        if (this._events) {
            var handler =3D this._events.getHandler("disposing");
            if (handler) {
                handler(this, Sys.EventArgs.Empty);
            }
        }
        delete this._events;
        Sys.Application.unregisterDisposableObject(this);
        Sys.Application.removeComponent(this);
    }
    function Sys$Component$endUpdate() {
        this._updating =3D false;
        if (!this._initialized) this.initialize();
        this.updated();
    }
    function Sys$Component$initialize() {
        this._initialized =3D true;
    }
    function Sys$Component$raisePropertyChanged(propertyName) {
        /// <param name=3D"propertyName" type=3D"String"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "propertyName", type: String}
        ]);
        if (e) throw e;

        if (!this._events) return;
        var handler =3D this._events.getHandler("propertyChanged");
        if (handler) {
            handler(this, new =
Sys.PropertyChangedEventArgs(propertyName));
        }
    }
    function Sys$Component$updated() {
    }
Sys.Component.prototype =3D {
    _id: null,
    _idSet: false,
    _initialized: false,
    _updating: false,
    get_events: Sys$Component$get_events,
    get_id: Sys$Component$get_id,
    set_id: Sys$Component$set_id,
    get_isInitialized: Sys$Component$get_isInitialized,
    get_isUpdating: Sys$Component$get_isUpdating,
    add_disposing: Sys$Component$add_disposing,
    remove_disposing: Sys$Component$remove_disposing,
    add_propertyChanged: Sys$Component$add_propertyChanged,
    remove_propertyChanged: Sys$Component$remove_propertyChanged,
    beginUpdate: Sys$Component$beginUpdate,
    dispose: Sys$Component$dispose,
    endUpdate: Sys$Component$endUpdate,
    initialize: Sys$Component$initialize,
    raisePropertyChanged: Sys$Component$raisePropertyChanged,
    updated: Sys$Component$updated
}
Sys.Component.registerClass('Sys.Component', null, Sys.IDisposable, =
Sys.INotifyPropertyChange, Sys.INotifyDisposing);

function Sys$Component$_setProperties(target, properties) {
    /// <param name=3D"target"></param>
    /// <param name=3D"properties"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "target"},
        {name: "properties"}
    ]);
    if (e) throw e;

    var current;
    var targetType =3D Object.getType(target);
    var isObject =3D (targetType =3D=3D=3D Object) || (targetType =
=3D=3D=3D Sys.UI.DomElement);
    var isComponent =3D Sys.Component.isInstanceOfType(target) && =
!target.get_isUpdating();
    if (isComponent) target.beginUpdate();
    for (var name in properties) {
        var val =3D properties[name];
        var getter =3D isObject ? null : target["get_" + name];
        if (isObject || typeof(getter) !=3D=3D 'function') {
                        var targetVal =3D target[name];
            if (!isObject && typeof(targetVal) =3D=3D=3D 'undefined') =
throw Error.invalidOperation(String.format(Sys.Res.propertyUndefined, =
name));
            if (!val || (typeof(val) !=3D=3D 'object') || (isObject && =
!targetVal)) {
                target[name] =3D val;
            }
            else {
                Sys$Component$_setProperties(targetVal, val);
            }
        }
        else {
            var setter =3D target["set_" + name];
            if (typeof(setter) =3D=3D=3D 'function') {
                                setter.apply(target, [val]);
            }
            else if (val instanceof Array) {
                                current =3D getter.apply(target);
                if (!(current instanceof Array)) throw new =
Error.invalidOperation(String.format(Sys.Res.propertyNotAnArray, name));
                for (var i =3D 0, j =3D current.length, l=3D val.length; =
i < l; i++, j++) {
                    current[j] =3D val[i];
                }
            }
            else if ((typeof(val) =3D=3D=3D 'object') && =
(Object.getType(val) =3D=3D=3D Object)) {
                                current =3D getter.apply(target);
                if ((typeof(current) =3D=3D=3D 'undefined') || (current =
=3D=3D=3D null)) throw new =
Error.invalidOperation(String.format(Sys.Res.propertyNullOrUndefined, =
name));
                Sys$Component$_setProperties(current, val);
            }
            else {
                                throw new =
Error.invalidOperation(String.format(Sys.Res.propertyNotWritable, =
name));
            }
        }
    }
    if (isComponent) target.endUpdate();
}

function Sys$Component$_setReferences(component, references) {
    for (var name in references) {
        var setter =3D component["set_" + name];
        var reference =3D $find(references[name]);
        if (typeof(setter) !=3D=3D 'function') throw new =
Error.invalidOperation(String.format(Sys.Res.propertyNotWritable, =
name));
        if (!reference) throw =
Error.invalidOperation(String.format(Sys.Res.referenceNotFound, =
references[name]));
        setter.apply(component, [reference]);
    }
}

var $create =3D Sys.Component.create =3D function =
Sys$Component$create(type, properties, events, references, element) {
    /// <param name=3D"type" type=3D"Type"></param>
    /// <param name=3D"properties" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"events" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"references" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <param name=3D"element" domElement=3D"true" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns type=3D"Sys.UI.Component"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "type", type: Type},
        {name: "properties", mayBeNull: true, optional: true},
        {name: "events", mayBeNull: true, optional: true},
        {name: "references", mayBeNull: true, optional: true},
        {name: "element", mayBeNull: true, domElement: true, optional: =
true}
    ]);
    if (e) throw e;

    if (!type.inheritsFrom(Sys.Component)) {
        throw Error.argument('type', =
String.format(Sys.Res.createNotComponent, type.getName()));
    }
    if (type.inheritsFrom(Sys.UI.Behavior) || =
type.inheritsFrom(Sys.UI.Control)) {
        if (!element) throw Error.argument('element', =
Sys.Res.createNoDom);
    }
    else if (element) throw Error.argument('element', =
Sys.Res.createComponentOnDom);
    var component =3D (element ? new type(element): new type());
    var app =3D Sys.Application;
    var creatingComponents =3D app.get_isCreatingComponents();

    component.beginUpdate();
    if (properties) {
        Sys$Component$_setProperties(component, properties);
    }
    if (events) {
        for (var name in events) {
            if (!(component["add_" + name] instanceof Function)) throw =
new Error.invalidOperation(String.format(Sys.Res.undefinedEvent, name));
            if (!(events[name] instanceof Function)) throw new =
Error.invalidOperation(Sys.Res.eventHandlerNotFunction);
            component["add_" + name](events[name]);
        }
    }

    app._createdComponents[app._createdComponents.length] =3D component;
    if (component.get_id()) {
        app.addComponent(component);
    }
    if (creatingComponents) {
        if (references) {
            app._addComponentToSecondPass(component, references);
        }
        else {
            component.endUpdate();
        }
    }
    else {
        if (references) {
            Sys$Component$_setReferences(component, references);
        }
        component.endUpdate();
    }

    return component;
}
Sys.UI.MouseButton =3D function Sys$UI$MouseButton() {
    /// <field name=3D"leftButton" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"middleButton" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"rightButton" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    throw Error.notImplemented();
}




Sys.UI.MouseButton.prototype =3D {
    leftButton: 0,
    middleButton: 1,
    rightButton: 2
}
Sys.UI.MouseButton.registerEnum("Sys.UI.MouseButton");
Sys.UI.Key =3D function Sys$UI$Key() {
    /// <field name=3D"backspace" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"tab" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"enter" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"esc" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"space" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"pageUp" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"pageDown" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"end" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"home" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"left" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"up" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"right" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"down" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"del" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    throw Error.notImplemented();
}















Sys.UI.Key.prototype =3D {
    backspace: 8,
    tab: 9,
    enter: 13,
    esc: 27,
    space: 32,
    pageUp: 33,
    pageDown: 34,
    end: 35,
    home: 36,
    left: 37,
    up: 38,
    right: 39,
    down: 40,
    del: 127
}
Sys.UI.Key.registerEnum("Sys.UI.Key");
Sys.UI.DomEvent =3D function Sys$UI$DomEvent(eventObject) {
    /// <param name=3D"eventObject"></param>
    /// <field name=3D"altKey" type=3D"Boolean"></field>
    /// <field name=3D"button" type=3D"Sys.UI.MouseButton"></field>
    /// <field name=3D"charCode" type=3D"Number" =
integer=3D"true"></field>
    /// <field name=3D"clientX" type=3D"Number" =
integer=3D"true"></field>
    /// <field name=3D"clientY" type=3D"Number" =
integer=3D"true"></field>
    /// <field name=3D"ctrlKey" type=3D"Boolean"></field>
    /// <field name=3D"keyCode" type=3D"Number" =
integer=3D"true"></field>
    /// <field name=3D"offsetX" type=3D"Number" =
integer=3D"true"></field>
    /// <field name=3D"offsetY" type=3D"Number" =
integer=3D"true"></field>
    /// <field name=3D"screenX" type=3D"Number" =
integer=3D"true"></field>
    /// <field name=3D"screenY" type=3D"Number" =
integer=3D"true"></field>
    /// <field name=3D"shiftKey" type=3D"Boolean"></field>
    /// <field name=3D"target" domElement=3D"true"></field>
    /// <field name=3D"type" type=3D"String"></field>
    var e =3D Function._validateParams(arguments, [
        {name: "eventObject"}
    ]);
    if (e) throw e;

    var e =3D eventObject;
    this.rawEvent =3D e;
    this.altKey =3D e.altKey;
    if (typeof(e.button) !=3D=3D 'undefined') {
        this.button =3D (typeof(e.which) !=3D=3D 'undefined') ? e.button =
:
            (e.button =3D=3D=3D 4) ? Sys.UI.MouseButton.middleButton :
            (e.button =3D=3D=3D 2) ? Sys.UI.MouseButton.rightButton :
            Sys.UI.MouseButton.leftButton;
    }
    if (e.type =3D=3D=3D 'keypress') {
        this.charCode =3D e.charCode || e.keyCode;
    }
    else if (e.keyCode && (e.keyCode =3D=3D=3D 46)) {
        this.keyCode =3D 127;
    }
    else {
        this.keyCode =3D e.keyCode;
    }
    this.clientX =3D e.clientX;
    this.clientY =3D e.clientY;
    this.ctrlKey =3D e.ctrlKey;
    this.target =3D e.target ? e.target : e.srcElement;
    if (this.target) {
        var loc =3D Sys.UI.DomElement.getLocation(this.target);
        this.offsetX =3D (typeof(e.offsetX) !=3D=3D 'undefined') ? =
e.offsetX : window.pageXOffset + (e.clientX || 0) - loc.x;
        this.offsetY =3D (typeof(e.offsetY) !=3D=3D 'undefined') ? =
e.offsetY : window.pageYOffset + (e.clientY || 0) - loc.y;
    }
    this.screenX =3D e.screenX;
    this.screenY =3D e.screenY;
    this.shiftKey =3D e.shiftKey;
    this.type =3D e.type;
}

    function Sys$UI$DomEvent$preventDefault() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this.rawEvent.preventDefault) {
            this.rawEvent.preventDefault();
        }
        else if (window.event) {
            window.event.returnValue =3D false;
        }
    }
    function Sys$UI$DomEvent$stopPropagation() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this.rawEvent.stopPropagation) {
            this.rawEvent.stopPropagation();
        }
        else if (window.event) {
            window.event.cancelBubble =3D true;
        }
    }
Sys.UI.DomEvent.prototype =3D {
    preventDefault: Sys$UI$DomEvent$preventDefault,
    stopPropagation: Sys$UI$DomEvent$stopPropagation
}
Sys.UI.DomEvent.registerClass('Sys.UI.DomEvent');

var $addHandler =3D Sys.UI.DomEvent.addHandler =3D function =
Sys$UI$DomEvent$addHandler(element, eventName, handler) {
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"eventName" type=3D"String"></param>
    /// <param name=3D"handler" type=3D"Function"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "eventName", type: String},
        {name: "handler", type: Function}
    ]);
    if (e) throw e;

    if (!element._events) {
        element._events =3D {};
    }
    var eventCache =3D element._events[eventName];
    if (!eventCache) {
        element._events[eventName] =3D eventCache =3D [];
    }
    var browserHandler;
    if (element.addEventListener) {
        browserHandler =3D function(e) {
            return handler.call(element, new Sys.UI.DomEvent(e));
        }
        element.addEventListener(eventName, browserHandler, false);
    }
    else if (element.attachEvent) {
        browserHandler =3D function() {
            return handler.call(element, new =
Sys.UI.DomEvent(window.event));
        }
        element.attachEvent('on' + eventName, browserHandler);
    }
    eventCache[eventCache.length] =3D {handler: handler, browserHandler: =
browserHandler};
}

var $addHandlers =3D Sys.UI.DomEvent.addHandlers =3D function =
Sys$UI$DomEvent$addHandlers(element, events, handlerOwner) {
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"events" type=3D"Object"></param>
    /// <param name=3D"handlerOwner" optional=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "events", type: Object},
        {name: "handlerOwner", optional: true}
    ]);
    if (e) throw e;

    for (var name in events) {
        var handler =3D events[name];
        if (typeof(handler) !=3D=3D 'function') throw =
Error.invalidOperation(Sys.Res.cantAddNonFunctionhandler);
        if (handlerOwner) {
            handler =3D Function.createDelegate(handlerOwner, handler);
        }
        $addHandler(element, name, handler);
    }
}

var $clearHandlers =3D Sys.UI.DomEvent.clearHandlers =3D function =
Sys$UI$DomEvent$clearHandlers(element) {
    /// <param name=3D"element" domElement=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;

    if (element._events) {
        var cache =3D element._events;
        for (var name in cache) {
            var handlers =3D cache[name];
            for (var i =3D handlers.length - 1; i >=3D 0; i--) {
                $removeHandler(element, name, handlers[i].handler);
            }
        }
        element._events =3D null;
    }
}

var $removeHandler =3D Sys.UI.DomEvent.removeHandler =3D function =
Sys$UI$DomEvent$removeHandler(element, eventName, handler) {
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"eventName" type=3D"String"></param>
    /// <param name=3D"handler" type=3D"Function"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "eventName", type: String},
        {name: "handler", type: Function}
    ]);
    if (e) throw e;

    var browserHandler =3D null;
    if ((typeof(element._events) !=3D=3D 'object') || (element._events =
=3D=3D null)) throw Error.invalidOperation(Sys.Res.eventHandlerInvalid);
    var cache =3D element._events[eventName];
    if (!(cache instanceof Array)) throw =
Error.invalidOperation(Sys.Res.eventHandlerInvalid);
    var browserHandler =3D null;
    for (var i =3D 0, l =3D cache.length; i < l; i++) {
        if (cache[i].handler =3D=3D=3D handler) {
            browserHandler =3D cache[i].browserHandler;
            break;
        }
    }
    if (typeof(browserHandler) !=3D=3D 'function') throw =
Error.invalidOperation(Sys.Res.eventHandlerInvalid);
    if (element.removeEventListener) {
        element.removeEventListener(eventName, browserHandler, false);
    }
    else if (element.detachEvent) {
        element.detachEvent('on' + eventName, browserHandler);
    }
    cache.splice(i, 1);
}
Sys.IContainer =3D function Sys$IContainer() {
    throw Error.notImplemented();
}

    function Sys$IContainer$addComponent(component) {
        /// <param name=3D"component" type=3D"Sys.Component"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "component", type: Sys.Component}
        ]);
        if (e) throw e;

        throw Error.notImplemented();
    }
    function Sys$IContainer$removeComponent(component) {
        /// <param name=3D"component" type=3D"Sys.Component"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "component", type: Sys.Component}
        ]);
        if (e) throw e;

        throw Error.notImplemented();
    }
    function Sys$IContainer$findComponent(id) {
        /// <param name=3D"id" type=3D"String"></param>
        /// <returns type=3D"Sys.Component"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "id", type: String}
        ]);
        if (e) throw e;

        throw Error.notImplemented();
    }
    function Sys$IContainer$getComponents() {
        /// <returns type=3D"Array" =
elementType=3D"Sys.Component"></returns>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
Sys.IContainer.prototype =3D {
    addComponent: Sys$IContainer$addComponent,
    removeComponent: Sys$IContainer$removeComponent,
    findComponent: Sys$IContainer$findComponent,
    getComponents: Sys$IContainer$getComponents
}
Sys.IContainer.registerInterface("Sys.IContainer");


Sys._ScriptLoader =3D function Sys$_ScriptLoader() {
    this._scriptsToLoad =3D null;
    this._scriptLoadedDelegate =3D Function.createDelegate(this, =
this._scriptLoadedHandler);
}

    function Sys$_ScriptLoader$dispose() {
        this._stopLoading();
        if(this._events) {
            delete this._events;
        }
        this._scriptLoadedDelegate =3D null;       =20
    }

    function Sys$_ScriptLoader$loadScripts(scriptTimeout, =
allScriptsLoadedCallback, scriptLoadFailedCallback, =
scriptLoadTimeoutCallback) {
        /// <param name=3D"scriptTimeout" type=3D"Number" =
integer=3D"true"></param>
        /// <param name=3D"allScriptsLoadedCallback" type=3D"Function" =
mayBeNull=3D"true"></param>
        /// <param name=3D"scriptLoadFailedCallback" type=3D"Function" =
mayBeNull=3D"true"></param>
        /// <param name=3D"scriptLoadTimeoutCallback" type=3D"Function" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "scriptTimeout", type: Number, integer: true},
            {name: "allScriptsLoadedCallback", type: Function, =
mayBeNull: true},
            {name: "scriptLoadFailedCallback", type: Function, =
mayBeNull: true},
            {name: "scriptLoadTimeoutCallback", type: Function, =
mayBeNull: true}
        ]);
        if (e) throw e;

        if(this._loading) {
            throw =
Error.invalidOperation(Sys.Res.scriptLoaderAlreadyLoading);
        }
        this._loading =3D true;
        this._allScriptsLoadedCallback =3D allScriptsLoadedCallback;
        this._scriptLoadFailedCallback =3D scriptLoadFailedCallback;
        this._scriptLoadTimeoutCallback =3D scriptLoadTimeoutCallback;
       =20
        this._loadScriptsInternal();
    }

    function Sys$_ScriptLoader$notifyScriptLoaded() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
       =20
                        if(!this._loading) {
                                    return;
        }

        this._currentTask._notified++;
       =20
        if(Sys.Browser.agent =3D=3D=3D Sys.Browser.Safari) {          =20
            if(this._currentTask._notified =3D=3D=3D 1) {
                                                                         =
                                       =
window.setTimeout(Function.createDelegate(this, function() {
                    =
this._scriptLoadedHandler(this._currentTask.get_scriptElement(), true);
                }), 0);
            }
        }

                            }

    function Sys$_ScriptLoader$queueCustomScriptTag(scriptAttributes) {
        /// <param name=3D"scriptAttributes" =
mayBeNull=3D"false"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "scriptAttributes"}
        ]);
        if (e) throw e;

        if(!this._scriptsToLoad) {
            this._scriptsToLoad =3D [];
        }
        Array.add(this._scriptsToLoad, scriptAttributes);
    }

    function Sys$_ScriptLoader$queueScriptBlock(scriptContent) {
        /// <param name=3D"scriptContent" type=3D"String" =
mayBeNull=3D"false"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "scriptContent", type: String}
        ]);
        if (e) throw e;

        if(!this._scriptsToLoad) {
            this._scriptsToLoad =3D [];
        }
        Array.add(this._scriptsToLoad, {text: scriptContent});
    }

    function Sys$_ScriptLoader$queueScriptReference(scriptUrl) {
        /// <param name=3D"scriptUrl" type=3D"String" =
mayBeNull=3D"false"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "scriptUrl", type: String}
        ]);
        if (e) throw e;

        if(!this._scriptsToLoad) {
            this._scriptsToLoad =3D [];
        }
        Array.add(this._scriptsToLoad, {src: scriptUrl});
    }

    function Sys$_ScriptLoader$_createScriptElement(queuedScript) {
        var scriptElement =3D document.createElement('SCRIPT');

                        scriptElement.type =3D 'text/javascript';

                for (var attr in queuedScript) {
            scriptElement[attr] =3D queuedScript[attr];
        }
       =20
        return scriptElement;
    }

    function Sys$_ScriptLoader$_loadScriptsInternal() {
                if (this._scriptsToLoad && this._scriptsToLoad.length > =
0) {
            var nextScript =3D Array.dequeue(this._scriptsToLoad);
                        var scriptElement =3D =
this._createScriptElement(nextScript);
           =20
            if (scriptElement.text && Sys.Browser.agent =3D=3D=3D =
Sys.Browser.Safari) {
                                scriptElement.innerHTML =3D =
scriptElement.text;
                delete scriptElement.text;
            }           =20

                                                            if =
(typeof(nextScript.src) =3D=3D=3D "string") {
                                this._currentTask =3D new =
Sys._ScriptLoaderTask(scriptElement, this._scriptLoadedDelegate);
                                                                         =
       this._currentTask.execute();
            }
            else {
                                                =
document.getElementsByTagName('HEAD')[0].appendChild(scriptElement);
               =20
                                =
Sys._ScriptLoader._clearScript(scriptElement);

                                                                =
this._loadScriptsInternal();
            }
        }
        else {
                        var callback =3D this._allScriptsLoadedCallback;
            this._stopLoading();
            if(callback) {
                callback(this);
            }
        }
    }

    function Sys$_ScriptLoader$_raiseError(multipleCallbacks) {
                var callback =3D this._scriptLoadFailedCallback;
        var scriptElement =3D this._currentTask.get_scriptElement();
        this._stopLoading();
       =20
        if(callback) {
            callback(this, scriptElement, multipleCallbacks);
        }
        else {
            throw =
Sys._ScriptLoader._errorScriptLoadFailed(scriptElement.src, =
multipleCallbacks);
        }
    }

    function Sys$_ScriptLoader$_scriptLoadedHandler(scriptElement, =
loaded) {
                                if(loaded && =
this._currentTask._notified) {
            if(this._currentTask._notified > 1) {
                                this._raiseError(true);
            }
            else {
                                =
Array.add(Sys._ScriptLoader._getLoadedScripts(), scriptElement.src);
                this._currentTask.dispose();
                this._currentTask =3D null;
                this._loadScriptsInternal();
            }
        }
        else {
                        this._raiseError(false);
        }
    }

    function Sys$_ScriptLoader$_scriptLoadTimeoutHandler() {
        var callback =3D this._scriptLoadTimeoutCallback;
        this._stopLoading();

        if(callback) {
            callback(this);
        }
    }

    function Sys$_ScriptLoader$_stopLoading() {
        if(this._timeoutCookie) {
            window.clearTimeout(this._timeoutCookie);
            this._timeoutCookie =3D null;
        }

        if(this._currentTask) {
            this._currentTask.dispose();
            this._currentTask =3D null;
        }

        this._scriptsToLoad =3D null;
        this._loading =3D null;
       =20
        this._allScriptsLoadedCallback =3D null;
        this._scriptLoadFailedCallback =3D null;
        this._scriptLoadTimeoutCallback =3D null;
    }
Sys._ScriptLoader.prototype =3D {
    dispose: Sys$_ScriptLoader$dispose,
   =20
    loadScripts: Sys$_ScriptLoader$loadScripts,
   =20
    notifyScriptLoaded: Sys$_ScriptLoader$notifyScriptLoaded,
   =20
    queueCustomScriptTag: Sys$_ScriptLoader$queueCustomScriptTag,

    queueScriptBlock: Sys$_ScriptLoader$queueScriptBlock,

    queueScriptReference: Sys$_ScriptLoader$queueScriptReference,
   =20
    _createScriptElement: Sys$_ScriptLoader$_createScriptElement,  =20

    _loadScriptsInternal: Sys$_ScriptLoader$_loadScriptsInternal,
   =20
    _raiseError: Sys$_ScriptLoader$_raiseError,
   =20
    _scriptLoadedHandler: Sys$_ScriptLoader$_scriptLoadedHandler,
   =20
    _scriptLoadTimeoutHandler: =
Sys$_ScriptLoader$_scriptLoadTimeoutHandler,
   =20
    _stopLoading: Sys$_ScriptLoader$_stopLoading   =20
}
Sys._ScriptLoader.registerClass('Sys._ScriptLoader', null, =
Sys.IDisposable);

Sys._ScriptLoader.getInstance =3D function =
Sys$_ScriptLoader$getInstance() {
    var sl =3D Sys._ScriptLoader._activeInstance;
    if(!sl) {
        sl =3D Sys._ScriptLoader._activeInstance =3D new =
Sys._ScriptLoader();
    }
    return sl;
}

Sys._ScriptLoader.isScriptLoaded =3D function =
Sys$_ScriptLoader$isScriptLoaded(scriptSrc) {
                    var dummyScript =3D =
document.createElement('script');
    dummyScript.src =3D scriptSrc;
    return Array.contains(Sys._ScriptLoader._getLoadedScripts(), =
dummyScript.src);
}

Sys._ScriptLoader.readLoadedScripts =3D function =
Sys$_ScriptLoader$readLoadedScripts() {
        if(!Sys._ScriptLoader._referencedScripts) {
        var referencedScripts =3D Sys._ScriptLoader._referencedScripts =
=3D [];

        var existingScripts =3D document.getElementsByTagName('SCRIPT');
        for (i =3D existingScripts.length - 1; i >=3D 0; i--) {
            var scriptNode =3D existingScripts[i];
            var scriptSrc =3D scriptNode.src;
            if (scriptSrc.length) {
                if (!Array.contains(referencedScripts, scriptSrc)) {
                    Array.add(referencedScripts, scriptSrc);
                }
            }
        }
    }
}

Sys._ScriptLoader._clearScript =3D function =
Sys$_ScriptLoader$_clearScript(scriptElement) {
    if (!Sys.Debug.isDebug) {
                        =
scriptElement.parentNode.removeChild(scriptElement);
    }
}

Sys._ScriptLoader._errorScriptLoadFailed =3D function =
Sys$_ScriptLoader$_errorScriptLoadFailed(scriptUrl, multipleCallbacks) {
    var errorMessage;
    if(multipleCallbacks) {
        errorMessage =3D Sys.Res.scriptLoadMultipleCallbacks;
    }
    else {
                errorMessage =3D Sys.Res.scriptLoadFailedDebug;
    }

    var displayMessage =3D "Sys.ScriptLoadFailedException: " + =
String.format(errorMessage, scriptUrl);
    var e =3D Error.create(displayMessage, {name: =
'Sys.ScriptLoadFailedException', 'scriptUrl': scriptUrl });
    e.popStackFrame();
    return e;
}

Sys._ScriptLoader._getLoadedScripts =3D function =
Sys$_ScriptLoader$_getLoadedScripts() {
    if(!Sys._ScriptLoader._referencedScripts) {
        Sys._ScriptLoader._referencedScripts =3D [];
        Sys._ScriptLoader.readLoadedScripts();
    }
    return Sys._ScriptLoader._referencedScripts;
}


Sys._ScriptLoaderTask =3D function Sys$_ScriptLoaderTask(scriptElement, =
completedCallback) {
    /// <param name=3D"scriptElement" domElement=3D"true"></param>
    /// <param name=3D"completedCallback" type=3D"Function"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "scriptElement", domElement: true},
        {name: "completedCallback", type: Function}
    ]);
    if (e) throw e;

    this._scriptElement =3D scriptElement;
    this._completedCallback =3D completedCallback;
    this._notified =3D 0;
}

    function Sys$_ScriptLoaderTask$get_scriptElement() {
        /// <value domElement=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._scriptElement;
    }

    function Sys$_ScriptLoaderTask$dispose() {
                if(this._disposed) {
                        return;
        }
        this._disposed =3D true;
        this._removeScriptElementHandlers();
                Sys._ScriptLoader._clearScript(this._scriptElement);
        this._scriptElement =3D null;
    }

    function Sys$_ScriptLoaderTask$execute() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        this._addScriptElementHandlers();
        =
document.getElementsByTagName('HEAD')[0].appendChild(this._scriptElement)=
;
    }

    function Sys$_ScriptLoaderTask$_addScriptElementHandlers() {
                this._scriptLoadDelegate =3D =
Function.createDelegate(this, this._scriptLoadHandler);
       =20
        if (Sys.Browser.agent !=3D=3D Sys.Browser.InternetExplorer) {
            this._scriptElement.readyState =3D 'loaded';
            $addHandler(this._scriptElement, 'load', =
this._scriptLoadDelegate);
        }
        else {
            $addHandler(this._scriptElement, 'readystatechange', =
this._scriptLoadDelegate);
        }   =20
                        this._scriptErrorDelegate =3D =
Function.createDelegate(this, this._scriptErrorHandler);
        $addHandler(this._scriptElement, 'error', =
this._scriptErrorDelegate);
    }

    function Sys$_ScriptLoaderTask$_removeScriptElementHandlers() {
                if(this._scriptLoadDelegate) {
            var scriptElement =3D this.get_scriptElement();
            if (Sys.Browser.agent !=3D=3D Sys.Browser.InternetExplorer) =
{
                $removeHandler(scriptElement, 'load', =
this._scriptLoadDelegate);
            }
            else {
                $removeHandler(scriptElement, 'readystatechange', =
this._scriptLoadDelegate);
            }
            $removeHandler(scriptElement, 'error', =
this._scriptErrorDelegate);
            this._scriptErrorDelegate =3D null;
            this._scriptLoadDelegate =3D null;
        }
    }

    function Sys$_ScriptLoaderTask$_scriptErrorHandler() {
                if(this._disposed) {
            return;
        }
       =20
                this._completedCallback(this.get_scriptElement(), =
false);
    }

    function Sys$_ScriptLoaderTask$_scriptLoadHandler() {
                if(this._disposed) {
            return;
        }

        var scriptElement =3D this.get_scriptElement();
        if ((scriptElement.readyState !=3D=3D 'loaded') &&
            (scriptElement.readyState !=3D=3D 'complete')) {
            return;
        }
       =20
                                        var _this =3D this;
        window.setTimeout(function() {
            _this._completedCallback(scriptElement, true);
        }, 0);
    }
Sys._ScriptLoaderTask.prototype =3D {
    get_scriptElement: Sys$_ScriptLoaderTask$get_scriptElement,
   =20
    dispose: Sys$_ScriptLoaderTask$dispose,
       =20
    execute: Sys$_ScriptLoaderTask$execute,
      =20
    _addScriptElementHandlers: =
Sys$_ScriptLoaderTask$_addScriptElementHandlers,   =20
   =20
    _removeScriptElementHandlers: =
Sys$_ScriptLoaderTask$_removeScriptElementHandlers,   =20

    _scriptErrorHandler: Sys$_ScriptLoaderTask$_scriptErrorHandler,
          =20
    _scriptLoadHandler: Sys$_ScriptLoaderTask$_scriptLoadHandler =20
}
Sys._ScriptLoaderTask.registerClass("Sys._ScriptLoaderTask", null, =
Sys.IDisposable);
Sys.ApplicationLoadEventArgs =3D function =
Sys$ApplicationLoadEventArgs(components, isPartialLoad) {
    /// <param name=3D"components" type=3D"Array" =
elementType=3D"Sys.Component"></param>
    /// <param name=3D"isPartialLoad" type=3D"Boolean"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "components", type: Array, elementType: Sys.Component},
        {name: "isPartialLoad", type: Boolean}
    ]);
    if (e) throw e;

    Sys.ApplicationLoadEventArgs.initializeBase(this);
    this._components =3D components;
    this._isPartialLoad =3D isPartialLoad;
}
=20
    function Sys$ApplicationLoadEventArgs$get_components() {
        /// <value type=3D"Array" elementType=3D"Sys.Component"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._components;
    }
    function Sys$ApplicationLoadEventArgs$get_isPartialLoad() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._isPartialLoad;
    }
Sys.ApplicationLoadEventArgs.prototype =3D {
    get_components: Sys$ApplicationLoadEventArgs$get_components,
    get_isPartialLoad: Sys$ApplicationLoadEventArgs$get_isPartialLoad
}
Sys.ApplicationLoadEventArgs.registerClass('Sys.ApplicationLoadEventArgs'=
, Sys.EventArgs);
Sys._Application =3D function Sys$_Application() {
    Sys._Application.initializeBase(this);

    this._disposableObjects =3D [];
    this._components =3D {};
    this._createdComponents =3D [];
    this._secondPassComponents =3D [];

    this._unloadHandlerDelegate =3D Function.createDelegate(this, =
this._unloadHandler);
    this._loadHandlerDelegate =3D Function.createDelegate(this, =
this._loadHandler);

    Sys.UI.DomEvent.addHandler(window, "unload", =
this._unloadHandlerDelegate);
    Sys.UI.DomEvent.addHandler(window, "load", =
this._loadHandlerDelegate);
}




    function Sys$_Application$get_isCreatingComponents() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._creatingComponents;
    }
    function Sys$_Application$add_load(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this.get_events().addHandler("load", handler);
    }
    function Sys$_Application$remove_load(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this.get_events().removeHandler("load", handler);
    }
    function Sys$_Application$add_init(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        if (this._initialized) {
            handler(this, Sys.EventArgs.Empty);
        }
        else {
            this.get_events().addHandler("init", handler);
        }
    }
    function Sys$_Application$remove_init(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this.get_events().removeHandler("init", handler);
    }
    function Sys$_Application$add_unload(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this.get_events().addHandler("unload", handler);
    }
    function Sys$_Application$remove_unload(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this.get_events().removeHandler("unload", handler);
    }
    function Sys$_Application$addComponent(component) {
        /// <param name=3D"component" type=3D"Sys.Component"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "component", type: Sys.Component}
        ]);
        if (e) throw e;

        var id =3D component.get_id();
        if (!id) throw Error.invalidOperation(Sys.Res.cantAddWithoutId);
        if (typeof(this._components[id]) !=3D=3D 'undefined') throw =
Error.invalidOperation(String.format(Sys.Res.appDuplicateComponent, =
id));
        this._components[id] =3D component;
    }
    function Sys$_Application$beginCreateComponents() {
        this._creatingComponents =3D true;
    }
    function Sys$_Application$dispose() {
        if (!this._disposing) {
            this._disposing =3D true;
            if (window.pageUnload) {
                window.pageUnload(this, Sys.EventArgs.Empty);
            }
            var unloadHandler =3D =
this.get_events().getHandler("unload");
            if (unloadHandler) {
                unloadHandler(this, Sys.EventArgs.Empty);
            }
            var disposableObjects =3D =
Array.clone(this._disposableObjects);
            for (var i =3D 0, l =3D disposableObjects.length; i < l; =
i++) {
                disposableObjects[i].dispose();
            }
            Array.clear(this._disposableObjects);

            Sys.UI.DomEvent.removeHandler(window, "unload", =
this._unloadHandlerDelegate);
            if(this._loadHandlerDelegate) {
                Sys.UI.DomEvent.removeHandler(window, "load", =
this._loadHandlerDelegate);
                this._loadHandlerDelegate =3D null;
            }

            var sl =3D Sys._ScriptLoader.getInstance();
            if(sl) {
                sl.dispose();
            }

            Sys._Application.callBaseMethod(this, 'dispose');
        }
    }
    function Sys$_Application$endCreateComponents() {
        var components =3D this._secondPassComponents;
        for (var i =3D 0, l =3D components.length; i < l; i++) {
            var component =3D components[i].component;
            Sys$Component$_setReferences(component, =
components[i].references);
            component.endUpdate();
        }
        this._secondPassComponents =3D [];
        this._creatingComponents =3D false;
    }
    function Sys$_Application$findComponent(id, parent) {
        /// <param name=3D"id" type=3D"String"></param>
        /// <param name=3D"parent" optional=3D"true" =
mayBeNull=3D"true"></param>
        /// <returns type=3D"Sys.Component" =
mayBeNull=3D"true"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "id", type: String},
            {name: "parent", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;

                        return (parent ?
            ((Sys.IContainer.isInstanceOfType(parent)) ?
                parent.findComponent(id) :
                parent[id] || null) :
            Sys.Application._components[id] || null);
    }
    function Sys$_Application$getComponents() {
        /// <returns type=3D"Array" =
elementType=3D"Sys.Component"></returns>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        var res =3D [];
        var components =3D this._components;
        for (var name in components) {
            res[res.length] =3D components[name];
        }
        return res;
    }
    function Sys$_Application$initialize() {
        if(!this._initialized && !this._initializing) {
            this._initializing =3D true;
                                                =
window.setTimeout(Function.createDelegate(this, this._doInitialize), 0);
        }
    }
    function Sys$_Application$notifyScriptLoaded() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        var sl =3D Sys._ScriptLoader.getInstance();
        if(sl) {
            sl.notifyScriptLoaded();
        }
    }
    function Sys$_Application$registerDisposableObject(object) {
        /// <param name=3D"object" type=3D"Sys.IDisposable"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "object", type: Sys.IDisposable}
        ]);
        if (e) throw e;

        if (!this._disposing) {
            this._disposableObjects[this._disposableObjects.length] =3D =
object;
        }
    }
    function Sys$_Application$raiseLoad() {
        var h =3D this.get_events().getHandler("load");
        var args =3D new =
Sys.ApplicationLoadEventArgs(Array.clone(this._createdComponents), =
!this._initializing);
        if (h) {
            h(this, args);
        }

        if (window.pageLoad) {
            window.pageLoad(this, args);
        }
        this._createdComponents =3D [];
    }
    function Sys$_Application$removeComponent(component) {
        /// <param name=3D"component" type=3D"Sys.Component"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "component", type: Sys.Component}
        ]);
        if (e) throw e;

        var id =3D component.get_id();
        if (id) delete this._components[id];
    }
    function Sys$_Application$unregisterDisposableObject(object) {
        /// <param name=3D"object" type=3D"Sys.IDisposable"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "object", type: Sys.IDisposable}
        ]);
        if (e) throw e;

        if (!this._disposing) {
            Array.remove(this._disposableObjects, object);
        }
    }
    function Sys$_Application$_addComponentToSecondPass(component, =
references) {
        this._secondPassComponents[this._secondPassComponents.length] =
=3D {component: component, references: references};
    }
    function Sys$_Application$_doInitialize() {
        Sys._Application.callBaseMethod(this, 'initialize');

        var handler =3D this.get_events().getHandler("init");
        if (handler) {
            this.beginCreateComponents();
            handler(this, Sys.EventArgs.Empty);
            this.endCreateComponents();
        }
        this.raiseLoad();
        this._initializing =3D false;
    }
    function Sys$_Application$_loadHandler() {
                        if(this._loadHandlerDelegate) {
            Sys.UI.DomEvent.removeHandler(window, "load", =
this._loadHandlerDelegate);
            this._loadHandlerDelegate =3D null;
        }
        this.initialize();
    }
    function Sys$_Application$_unloadHandler(event) {
        this.dispose();
    }
Sys._Application.prototype =3D {
    _creatingComponents: false,
    _disposing: false,

    get_isCreatingComponents: Sys$_Application$get_isCreatingComponents,
    add_load: Sys$_Application$add_load,
    remove_load: Sys$_Application$remove_load,
    add_init: Sys$_Application$add_init,
    remove_init: Sys$_Application$remove_init,
    add_unload: Sys$_Application$add_unload,
    remove_unload: Sys$_Application$remove_unload,
    addComponent: Sys$_Application$addComponent,
    beginCreateComponents: Sys$_Application$beginCreateComponents,
    dispose: Sys$_Application$dispose,
    endCreateComponents: Sys$_Application$endCreateComponents,
    findComponent: Sys$_Application$findComponent,
    getComponents: Sys$_Application$getComponents,
    initialize: Sys$_Application$initialize,
    notifyScriptLoaded: Sys$_Application$notifyScriptLoaded,
    registerDisposableObject: Sys$_Application$registerDisposableObject,
    raiseLoad: Sys$_Application$raiseLoad,
    removeComponent: Sys$_Application$removeComponent,
    unregisterDisposableObject: =
Sys$_Application$unregisterDisposableObject,
    _addComponentToSecondPass: =
Sys$_Application$_addComponentToSecondPass,
    _doInitialize: Sys$_Application$_doInitialize,   =20
    _loadHandler: Sys$_Application$_loadHandler,
    _unloadHandler: Sys$_Application$_unloadHandler
}
Sys._Application.registerClass('Sys._Application', Sys.Component, =
Sys.IContainer);

Sys.Application =3D new Sys._Application();

var $find =3D Sys.Application.findComponent;

Type.registerNamespace('Sys.Net');

Sys.Net.WebRequestExecutor =3D function Sys$Net$WebRequestExecutor() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    this._webRequest =3D null;
    this._resultObject =3D null;
}


    function Sys$Net$WebRequestExecutor$get_webRequest() {
        /// <value type=3D"Sys.Net.WebRequest"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._webRequest;
    }

    function Sys$Net$WebRequestExecutor$_set_webRequest(value) {
        if (this.get_started()) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOnceStarted, =
'set_webRequest'));
        }

        this._webRequest =3D value;
    }


    function Sys$Net$WebRequestExecutor$get_started() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }

    function Sys$Net$WebRequestExecutor$get_responseAvailable() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }

    function Sys$Net$WebRequestExecutor$get_timedOut() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_aborted() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_responseData() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_statusCode() {
        /// <value type=3D"Number"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_statusText() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_xml() {
        /// <value></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$get_object() {
        /// <value></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._resultObject) {
            this._resultObject =3D =
Sys.Serialization.JavaScriptSerializer.deserialize(this.get_responseData(=
));
        }
        return this._resultObject;
    }


    function Sys$Net$WebRequestExecutor$executeRequest() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$abort() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$getResponseHeader(header) {
        /// <param name=3D"header" type=3D"String"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "header", type: String}
        ]);
        if (e) throw e;

        throw Error.notImplemented();
    }
    function Sys$Net$WebRequestExecutor$getAllResponseHeaders() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        throw Error.notImplemented();
    }
Sys.Net.WebRequestExecutor.prototype =3D {
    get_webRequest: Sys$Net$WebRequestExecutor$get_webRequest,

    _set_webRequest: Sys$Net$WebRequestExecutor$_set_webRequest,

        get_started: Sys$Net$WebRequestExecutor$get_started,

    get_responseAvailable: =
Sys$Net$WebRequestExecutor$get_responseAvailable,

    get_timedOut: Sys$Net$WebRequestExecutor$get_timedOut,
    get_aborted: Sys$Net$WebRequestExecutor$get_aborted,
    get_responseData: Sys$Net$WebRequestExecutor$get_responseData,
    get_statusCode: Sys$Net$WebRequestExecutor$get_statusCode,
    get_statusText: Sys$Net$WebRequestExecutor$get_statusText,
    get_xml: Sys$Net$WebRequestExecutor$get_xml,
    get_object: Sys$Net$WebRequestExecutor$get_object,

        executeRequest: Sys$Net$WebRequestExecutor$executeRequest,
    abort: Sys$Net$WebRequestExecutor$abort,
    getResponseHeader: Sys$Net$WebRequestExecutor$getResponseHeader,
    getAllResponseHeaders: =
Sys$Net$WebRequestExecutor$getAllResponseHeaders
}
Sys.Net.WebRequestExecutor.registerClass('Sys.Net.WebRequestExecutor');
window.XMLDOM =3D function window$XMLDOM(markup) {
    if (!window.DOMParser) {
        var progIDs =3D [ 'Msxml2.DOMDocument.3.0', 'Msxml2.DOMDocument' =
];
        for (var i =3D 0; i < progIDs.length; i++) {
            try {
                var xmlDOM =3D new ActiveXObject(progIDs[i]);
                xmlDOM.async =3D false;
                xmlDOM.loadXML(markup);
                xmlDOM.setProperty('SelectionLanguage', 'XPath');
                return xmlDOM;
            }
            catch (ex) {
            }
        }
        return null;
    }
        else {
        try {
            var domParser =3D new window.DOMParser();
            return domParser.parseFromString(markup, 'text/xml');
        } catch (ex) {
            return null;
        }
    }
    return null;
    }

Sys.Net.XMLHttpExecutor =3D function Sys$Net$XMLHttpExecutor() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();

    Sys.Net.XMLHttpExecutor.initializeBase(this);

    var _this =3D this;
    this._xmlHttpRequest =3D null;
    this._webRequest =3D null;
    this._responseAvailable =3D false;
    this._timedOut =3D false;
    this._timer =3D null;
    this._aborted =3D false;
    this._started =3D false;

    this._onReadyStateChange =3D function () {
       =20
        if (_this._xmlHttpRequest.readyState =3D=3D=3D 4 ) {

            _this._clearTimer();
            _this._responseAvailable =3D true;
            _this._webRequest.completed(Sys.EventArgs.Empty);
            if (_this._xmlHttpRequest !=3D null) {
                _this._xmlHttpRequest.onreadystatechange =3D =
Function.emptyMethod;
                _this._xmlHttpRequest =3D null;
            }
        }
    }

    this._clearTimer =3D function this$_clearTimer() {
        if (_this._timer !=3D null) {
            window.clearTimeout(_this._timer);
            _this._timer =3D null;
        }
    }

    this._onTimeout =3D function this$_onTimeout() {
        if (!_this._responseAvailable) {
            _this._clearTimer();
            _this._timedOut =3D true;
            _this._xmlHttpRequest.onreadystatechange =3D =
Function.emptyMethod;
            _this._xmlHttpRequest.abort();
            _this._webRequest.completed(Sys.EventArgs.Empty);
            _this._xmlHttpRequest =3D null;
        }
    }

}



    function Sys$Net$XMLHttpExecutor$get_timedOut() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._timedOut;
    }

    function Sys$Net$XMLHttpExecutor$get_started() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._started;
    }

    function Sys$Net$XMLHttpExecutor$get_responseAvailable() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    return this._responseAvailable;
    }

    function Sys$Net$XMLHttpExecutor$get_aborted() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._aborted;
    }

    function Sys$Net$XMLHttpExecutor$executeRequest() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        this._webRequest =3D this.get_webRequest();

        if (this._started) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOnceStarted, =
'executeRequest'));
        }
        if (this._webRequest =3D=3D=3D null) {
            throw Error.invalidOperation(Sys.Res.nullWebRequest);
        }

        var body =3D this._webRequest.get_body();
        var headers =3D this._webRequest.get_headers();
        this._xmlHttpRequest =3D new XMLHttpRequest();
        this._xmlHttpRequest.onreadystatechange =3D =
this._onReadyStateChange;
        var verb =3D this._webRequest.get_httpVerb();
        this._xmlHttpRequest.open(verb, =
this._webRequest.getResolvedUrl(), true );
        if (headers) {
            for (var header in headers) {
                var val =3D headers[header];
                if (typeof(val) !=3D=3D "function")
                    this._xmlHttpRequest.setRequestHeader(header, val);
            }
        }

        if (verb.toLowerCase() =3D=3D=3D "post") {
                        if ((headers =3D=3D=3D null) || =
!headers['Content-Type']) {
                this._xmlHttpRequest.setRequestHeader('Content-Type', =
'application/x-www-form-urlencoded');
            }

                        if (!body) {
                body =3D "";
            }
        }

        var timeout =3D this._webRequest.get_timeout();
        if (timeout > 0) {
            this._timer =3D =
window.setTimeout(Function.createDelegate(this, this._onTimeout), =
timeout);
        }
        this._xmlHttpRequest.send(body);
        this._started =3D true;
    }

    function Sys$Net$XMLHttpExecutor$getResponseHeader(header) {
        /// <param name=3D"header" type=3D"String"></param>
        /// <returns type=3D"String"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "header", type: String}
        ]);
        if (e) throw e;

        if (!this._responseAvailable) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, =
'getResponseHeader'));
        }
        if (!this._xmlHttpRequest) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, =
'getResponseHeader'));
        }

        var result;
        try {
            result =3D this._xmlHttpRequest.getResponseHeader(header);
        } catch (e) {
        }
        if (!result) result =3D "";
        return result;
    }

    function Sys$Net$XMLHttpExecutor$getAllResponseHeaders() {
        /// <returns type=3D"String"></returns>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._responseAvailable) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, =
'getAllResponseHeaders'));
        }
        if (!this._xmlHttpRequest) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, =
'getAllResponseHeaders'));
        }

        return this._xmlHttpRequest.getAllResponseHeaders();
    }

    function Sys$Net$XMLHttpExecutor$get_responseData() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._responseAvailable) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, =
'get_responseData'));
        }
        if (!this._xmlHttpRequest) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, =
'get_responseData'));
        }

        return this._xmlHttpRequest.responseText;
    }

    function Sys$Net$XMLHttpExecutor$get_statusCode() {
        /// <value type=3D"Number"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._responseAvailable) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, =
'get_statusCode'));
        }
        if (!this._xmlHttpRequest) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, =
'get_statusCode'));
        }

        return this._xmlHttpRequest.status;
    }

    function Sys$Net$XMLHttpExecutor$get_statusText() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._responseAvailable) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, =
'get_statusText'));
        }
        if (!this._xmlHttpRequest) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, =
'get_statusText'));
        }

        return this._xmlHttpRequest.statusText;
    }

    function Sys$Net$XMLHttpExecutor$get_xml() {
        /// <value></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._responseAvailable) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallBeforeResponse, =
'get_xml'));
        }
        if (!this._xmlHttpRequest) {
            throw =
Error.invalidOperation(String.format(Sys.Res.cannotCallOutsideHandler, =
'get_xml'));
        }

        var xml =3D this._xmlHttpRequest.responseXML;
        if (!xml || !xml.documentElement) {

                        xml =3D new =
XMLDOM(this._xmlHttpRequest.responseText);

                        if (!xml || !xml.documentElement)
                return null;
        }
                else if (navigator.userAgent.indexOf('MSIE') !=3D=3D -1) =
{
            xml.setProperty('SelectionLanguage', 'XPath');
        }

                if (xml.documentElement.namespaceURI =3D=3D=3D =
"http://www.mozilla.org/newlayout/xml/parsererror.xml" &&
            xml.documentElement.tagName =3D=3D=3D "parsererror") {
            return null;
        }
       =20
                if (xml.documentElement.firstChild && =
xml.documentElement.firstChild.tagName =3D=3D=3D "parsererror") {
            return null;
        }
       =20
        return xml;
    }

    function Sys$Net$XMLHttpExecutor$abort() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._started) {
            throw =
Error.invalidOperation(Sys.Res.cannotAbortBeforeStart);
        }

                if (this._aborted || this._responseAvailable || =
this._timedOut)
            return;

        this._aborted =3D true;

        this._clearTimer();

        if (this._xmlHttpRequest && !this._responseAvailable) {

                        this._xmlHttpRequest.onreadystatechange =3D =
Function.emptyMethod;
            this._xmlHttpRequest.abort();

            this._xmlHttpRequest =3D null;
            var handler =3D =
this._webRequest._get_eventHandlerList().getHandler("completed");
            if (handler) {
                handler(this, Sys.EventArgs.Empty);
            }
        }
    }
Sys.Net.XMLHttpExecutor.prototype =3D {

    get_timedOut: Sys$Net$XMLHttpExecutor$get_timedOut,

    get_started: Sys$Net$XMLHttpExecutor$get_started,

    get_responseAvailable: =
Sys$Net$XMLHttpExecutor$get_responseAvailable,

    get_aborted: Sys$Net$XMLHttpExecutor$get_aborted,

    executeRequest: Sys$Net$XMLHttpExecutor$executeRequest,

    getResponseHeader: Sys$Net$XMLHttpExecutor$getResponseHeader,

    getAllResponseHeaders: =
Sys$Net$XMLHttpExecutor$getAllResponseHeaders,

    get_responseData: Sys$Net$XMLHttpExecutor$get_responseData,

    get_statusCode: Sys$Net$XMLHttpExecutor$get_statusCode,

    get_statusText: Sys$Net$XMLHttpExecutor$get_statusText,

    get_xml: Sys$Net$XMLHttpExecutor$get_xml,

    abort: Sys$Net$XMLHttpExecutor$abort
}
Sys.Net.XMLHttpExecutor.registerClass('Sys.Net.XMLHttpExecutor', =
Sys.Net.WebRequestExecutor);
Sys.Net._WebRequestManager =3D function Sys$Net$_WebRequestManager() {
    this._this =3D this;
    this._defaultTimeout =3D 0;
    this._defaultExecutorType =3D "Sys.Net.XMLHttpExecutor";
}


    function Sys$Net$_WebRequestManager$add_invokingRequest(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().addHandler("invokingRequest", =
handler);
    }
    function Sys$Net$_WebRequestManager$remove_invokingRequest(handler) =
{
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().removeHandler("invokingRequest", =
handler);
    }

    function Sys$Net$_WebRequestManager$add_completedRequest(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().addHandler("completedRequest", =
handler);
    }
    function Sys$Net$_WebRequestManager$remove_completedRequest(handler) =
{
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().removeHandler("completedRequest", =
handler);
    }

    function Sys$Net$_WebRequestManager$_get_eventHandlerList() {
        if (!this._events) {
            this._events =3D new Sys.EventHandlerList();
        }
        return this._events;
    }

    function Sys$Net$_WebRequestManager$get_defaultTimeout() {
        /// <value type=3D"Number"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultTimeout;
    }
    function Sys$Net$_WebRequestManager$set_defaultTimeout(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Number}]);
        if (e) throw e;

        if (value < 0) {
            throw Error.argumentOutOfRange("value", value, =
Sys.Res.invalidTimeout);
        }

        this._defaultTimeout =3D value;
    }

    function Sys$Net$_WebRequestManager$get_defaultExecutorType() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultExecutorType;
    }
    function Sys$Net$_WebRequestManager$set_defaultExecutorType(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String}]);
        if (e) throw e;

        this._defaultExecutorType =3D value;
    }

    function Sys$Net$_WebRequestManager$executeRequest(webRequest) {
        /// <param name=3D"webRequest" =
type=3D"Sys.Net.WebRequest"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "webRequest", type: Sys.Net.WebRequest}
        ]);
        if (e) throw e;

        var executor =3D webRequest.get_executor();
                if (!executor) {
           =20
            var failed =3D false;
            try {
                var executorType =3D eval(this._defaultExecutorType);
                executor =3D new executorType();
            } catch (e) {
                failed =3D true;
            }

            if (failed  || =
!Sys.Net.WebRequestExecutor.isInstanceOfType(executor) || !executor) {
                throw Error.argument("defaultExecutorType", =
String.format(Sys.Res.invalidExecutorType, this._defaultExecutorType));
            }

            webRequest.set_executor(executor);
        }

                if (executor.get_aborted()) {
            return;
        }

        var evArgs =3D new Sys.Net.NetworkRequestEventArgs(webRequest);
        var handler =3D =
this._get_eventHandlerList().getHandler("invokingRequest");
        if (handler) {
            handler(this, evArgs);
        }

        if (!evArgs.get_cancel()) {
            executor.executeRequest();
        }
    }
Sys.Net._WebRequestManager.prototype =3D {
    add_invokingRequest: Sys$Net$_WebRequestManager$add_invokingRequest,
    remove_invokingRequest: =
Sys$Net$_WebRequestManager$remove_invokingRequest,

    add_completedRequest: =
Sys$Net$_WebRequestManager$add_completedRequest,
    remove_completedRequest: =
Sys$Net$_WebRequestManager$remove_completedRequest,

    _get_eventHandlerList: =
Sys$Net$_WebRequestManager$_get_eventHandlerList,

    get_defaultTimeout: Sys$Net$_WebRequestManager$get_defaultTimeout,
    set_defaultTimeout: Sys$Net$_WebRequestManager$set_defaultTimeout,

    get_defaultExecutorType: =
Sys$Net$_WebRequestManager$get_defaultExecutorType,
    set_defaultExecutorType: =
Sys$Net$_WebRequestManager$set_defaultExecutorType,

    executeRequest: Sys$Net$_WebRequestManager$executeRequest
}

Sys.Net._WebRequestManager.registerClass('Sys.Net._WebRequestManager');

Sys.Net.WebRequestManager =3D new Sys.Net._WebRequestManager();
Sys.Net.NetworkRequestEventArgs =3D function =
Sys$Net$NetworkRequestEventArgs(webRequest) {
    /// <param name=3D"webRequest" type=3D"Sys.Net.WebRequest"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "webRequest", type: Sys.Net.WebRequest}
    ]);
    if (e) throw e;

    Sys.Net.NetworkRequestEventArgs.initializeBase(this);
    this._webRequest =3D webRequest;
}


    function Sys$Net$NetworkRequestEventArgs$get_webRequest() {
        /// <value type=3D"Sys.Net.WebRequest"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._webRequest;
    }
Sys.Net.NetworkRequestEventArgs.prototype =3D {
    get_webRequest: Sys$Net$NetworkRequestEventArgs$get_webRequest
}

Sys.Net.NetworkRequestEventArgs.registerClass('Sys.Net.NetworkRequestEven=
tArgs', Sys.CancelEventArgs);
Sys.Net.WebRequest =3D function Sys$Net$WebRequest() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    this._url =3D "";
    this._headers =3D { };
    this._body =3D null;
    this._userContext =3D null;
    this._httpVerb =3D null;
    this._executor =3D null;
    this._invokeCalled =3D false;
    this._timeout =3D 0;
}


    function Sys$Net$WebRequest$add_completed(handler) {
    var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
    if (e) throw e;

        this._get_eventHandlerList().addHandler("completed", handler);
    }
    function Sys$Net$WebRequest$remove_completed(handler) {
    var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
    if (e) throw e;

        this._get_eventHandlerList().removeHandler("completed", =
handler);
    }

    function Sys$Net$WebRequest$completed(eventArgs) {
        /// <param name=3D"eventArgs" type=3D"Sys.EventArgs"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "eventArgs", type: Sys.EventArgs}
        ]);
        if (e) throw e;

        var handler =3D =
Sys.Net.WebRequestManager._get_eventHandlerList().getHandler("completedRe=
quest");
        if (handler) {
            handler(this._executor, eventArgs);
        }

        handler =3D =
this._get_eventHandlerList().getHandler("completed");
        if (handler) {
            handler(this._executor, eventArgs);
        }
    }

    function Sys$Net$WebRequest$_get_eventHandlerList() {
        if (!this._events) {
            this._events =3D new Sys.EventHandlerList();
        }
        return this._events;
    }

    function Sys$Net$WebRequest$get_url() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._url;
    }
    function Sys$Net$WebRequest$set_url(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String}]);
        if (e) throw e;

        this._url =3D value;
    }

    function Sys$Net$WebRequest$get_headers() {
        /// <value></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._headers;
    }

    function Sys$Net$WebRequest$get_httpVerb() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
                if (this._httpVerb =3D=3D=3D null) {
            if (this._body =3D=3D=3D null) {
                return "GET";
            }
            return "POST";
        }
        return this._httpVerb;
    }
    function Sys$Net$WebRequest$set_httpVerb(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String}]);
        if (e) throw e;

        if (value.length =3D=3D=3D 0) {
            throw Error.argument('value', Sys.Res.invalidHttpVerb);
        }

        this._httpVerb =3D value;
    }

    function Sys$Net$WebRequest$get_body() {
        /// <value mayBeNull=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._body;
    }
    function Sys$Net$WebRequest$set_body(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
mayBeNull: true}]);
        if (e) throw e;

        this._body =3D value;
    }

    function Sys$Net$WebRequest$get_userContext() {
        /// <value mayBeNull=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._userContext;
    }
    function Sys$Net$WebRequest$set_userContext(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
mayBeNull: true}]);
        if (e) throw e;

        this._userContext =3D value;
    }

    function Sys$Net$WebRequest$get_executor() {
        /// <value type=3D"Sys.Net.WebRequestExecutor"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._executor;
    }
    function Sys$Net$WebRequest$set_executor(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Sys.Net.WebRequestExecutor}]);
        if (e) throw e;

        if (this._executor !=3D=3D null && this._executor.get_started()) =
{
            throw =
Error.invalidOperation(Sys.Res.setExecutorAfterActive);
        }

        this._executor =3D value;
        this._executor._set_webRequest(this);
    }

    function Sys$Net$WebRequest$get_timeout() {
        /// <value type=3D"Number"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this._timeout =3D=3D=3D 0) {
            return Sys.Net.WebRequestManager.get_defaultTimeout();
        }
        return this._timeout;
    }
    function Sys$Net$WebRequest$set_timeout(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Number}]);
        if (e) throw e;

        if (value < 0) {
            throw Error.argumentOutOfRange("value", value, =
Sys.Res.invalidTimeout);
        }

        this._timeout =3D value;
    }

    function Sys$Net$WebRequest$getResolvedUrl() {
        /// <returns type=3D"String"></returns>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return Sys.Net.WebRequest._resolveUrl(this._url);
    }

    function Sys$Net$WebRequest$invoke() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this._invokeCalled) {
            throw Error.invalidOperation(Sys.Res.invokeCalledTwice);
        }

        Sys.Net.WebRequestManager.executeRequest(this);
        this._invokeCalled =3D true;
    }
Sys.Net.WebRequest.prototype =3D {
    add_completed: Sys$Net$WebRequest$add_completed,
    remove_completed: Sys$Net$WebRequest$remove_completed,

    completed: Sys$Net$WebRequest$completed,

    _get_eventHandlerList: Sys$Net$WebRequest$_get_eventHandlerList,

    get_url: Sys$Net$WebRequest$get_url,
    set_url: Sys$Net$WebRequest$set_url,

    get_headers: Sys$Net$WebRequest$get_headers,

    get_httpVerb: Sys$Net$WebRequest$get_httpVerb,
    set_httpVerb: Sys$Net$WebRequest$set_httpVerb,

    get_body: Sys$Net$WebRequest$get_body,
    set_body: Sys$Net$WebRequest$set_body,

    get_userContext: Sys$Net$WebRequest$get_userContext,
    set_userContext: Sys$Net$WebRequest$set_userContext,

    get_executor: Sys$Net$WebRequest$get_executor,
    set_executor: Sys$Net$WebRequest$set_executor,

    get_timeout: Sys$Net$WebRequest$get_timeout,
    set_timeout: Sys$Net$WebRequest$set_timeout,

    getResolvedUrl: Sys$Net$WebRequest$getResolvedUrl,

    invoke: Sys$Net$WebRequest$invoke
}

Sys.Net.WebRequest._resolveUrl =3D function =
Sys$Net$WebRequest$_resolveUrl(url, baseUrl) {
        if (url && url.indexOf('://') !=3D=3D -1) {
        return url;
    }

        if (!baseUrl || baseUrl.length =3D=3D=3D 0) {
        var baseElement =3D document.getElementsByTagName('base')[0];
        if (baseElement && baseElement.href && baseElement.href.length > =
0) {
            baseUrl =3D baseElement.href;
        }
        else {
            baseUrl =3D document.URL;
        }
    }

        var qsStart =3D baseUrl.indexOf('?');
    if (qsStart !=3D=3D -1) {
        baseUrl =3D baseUrl.substr(0, qsStart);
    }
    baseUrl =3D baseUrl.substr(0, baseUrl.lastIndexOf('/') + 1);

        if (!url || url.length =3D=3D=3D 0) {
        return baseUrl;
    }

        if (url.charAt(0) =3D=3D=3D '/') {
        var slashslash =3D baseUrl.indexOf('://');
        if (slashslash =3D=3D=3D -1) {
            throw Error.argument("baseUrl", Sys.Res.badBaseUrl1);
        }

        var nextSlash =3D baseUrl.indexOf('/', slashslash + 3);
        if (nextSlash =3D=3D=3D -1) {
            throw Error.argument("baseUrl", Sys.Res.badBaseUrl2);
        }

        return baseUrl.substr(0, nextSlash) + url;
    }
            else {
        var lastSlash =3D baseUrl.lastIndexOf('/');
        if (lastSlash =3D=3D=3D -1) {
            throw Error.argument("baseUrl", Sys.Res.badBaseUrl3);
        }

        return baseUrl.substr(0, lastSlash+1) + url;
    }
}

Sys.Net.WebRequest._createQueryString =3D function =
Sys$Net$WebRequest$_createQueryString(queryString, encodeMethod) {
        if (!encodeMethod)
        encodeMethod =3D encodeURIComponent;

    var sb =3D new Sys.StringBuilder();

    var i =3D 0;
    for (var arg in queryString) {
        var obj =3D queryString[arg];
        if (typeof(obj) =3D=3D=3D "function") continue;
        var val =3D =
Sys.Serialization.JavaScriptSerializer.serialize(obj);
        if (i !=3D=3D 0) {
            sb.append('&');
        }

        sb.append(arg);
        sb.append('=3D');
        sb.append(encodeMethod(val));

        i++;
    }

    return sb.toString();
}

Sys.Net.WebRequest._createUrl =3D function =
Sys$Net$WebRequest$_createUrl(url, queryString) {
    if (!queryString) {
        return url;
    }

    var qs =3D Sys.Net.WebRequest._createQueryString(queryString);
    if (qs.length > 0) {
        var sep =3D '?';
        if (url && url.indexOf('?') !=3D=3D -1)
            sep =3D '&';
        return url + sep + qs;
    } else {
        return url;
    }
}

Sys.Net.WebRequest.registerClass('Sys.Net.WebRequest');
Sys.Net.WebServiceProxy =3D function Sys$Net$WebServiceProxy() {
}


    function Sys$Net$WebServiceProxy$set_timeout(value) {
        this._timeout =3D value;
    }
    function Sys$Net$WebServiceProxy$get_timeout() {
        /// <value type=3D"Number"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._timeout;
    }
    function Sys$Net$WebServiceProxy$set_defaultUserContext(value) {
        this._userContext =3D value;
    }
    function Sys$Net$WebServiceProxy$get_defaultUserContext() {
        /// <value></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._userContext;
    }
    function Sys$Net$WebServiceProxy$set_defaultSucceededCallback(value) =
{
        this._succeeded =3D value;
    }
    function Sys$Net$WebServiceProxy$get_defaultSucceededCallback() {
        /// <value type=3D"Function"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._succeeded;
    }
    function Sys$Net$WebServiceProxy$set_defaultFailedCallback(value) {
        this._failed =3D value;
    }
    function Sys$Net$WebServiceProxy$get_defaultFailedCallback() {
        /// <value type=3D"Function"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._failed;
    }
    function Sys$Net$WebServiceProxy$set_path(value) {
        this._path =3D value;
    }
    function Sys$Net$WebServiceProxy$get_path() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._path;
    }

    function Sys$Net$WebServiceProxy$_invoke(servicePath, methodName, =
useGet, params, onSuccess, onFailure, userContext) {
        /// <param name=3D"servicePath" type=3D"String"></param>
        /// <param name=3D"methodName" type=3D"String"></param>
        /// <param name=3D"useGet" type=3D"Boolean"></param>
        /// <param name=3D"params"></param>
        /// <param name=3D"onSuccess" type=3D"Function" =
mayBeNull=3D"true" optional=3D"true"></param>
        /// <param name=3D"onFailure" type=3D"Function" =
mayBeNull=3D"true" optional=3D"true"></param>
        /// <param name=3D"userContext" mayBeNull=3D"true" =
optional=3D"true"></param>
        /// <returns type=3D"Sys.Net.WebRequest"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "servicePath", type: String},
            {name: "methodName", type: String},
            {name: "useGet", type: Boolean},
            {name: "params"},
            {name: "onSuccess", type: Function, mayBeNull: true, =
optional: true},
            {name: "onFailure", type: Function, mayBeNull: true, =
optional: true},
            {name: "userContext", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;


                if (onSuccess =3D=3D=3D null || typeof onSuccess =
=3D=3D=3D 'undefined') onSuccess =3D =
this.get_defaultSucceededCallback();
        if (onFailure =3D=3D=3D null || typeof onFailure =3D=3D=3D =
'undefined') onFailure =3D this.get_defaultFailedCallback();
        if (userContext =3D=3D=3D null || typeof userContext =3D=3D=3D =
'undefined') userContext =3D this.get_defaultUserContext();
       =20
        return Sys.Net.WebServiceProxy.invoke(servicePath, methodName, =
useGet, params, onSuccess, onFailure, userContext, this.get_timeout());
    }
Sys.Net.WebServiceProxy.prototype =3D {
    set_timeout: Sys$Net$WebServiceProxy$set_timeout,
    get_timeout: Sys$Net$WebServiceProxy$get_timeout,
    set_defaultUserContext: =
Sys$Net$WebServiceProxy$set_defaultUserContext,
    get_defaultUserContext: =
Sys$Net$WebServiceProxy$get_defaultUserContext,
    set_defaultSucceededCallback: =
Sys$Net$WebServiceProxy$set_defaultSucceededCallback,
    get_defaultSucceededCallback: =
Sys$Net$WebServiceProxy$get_defaultSucceededCallback,
    set_defaultFailedCallback: =
Sys$Net$WebServiceProxy$set_defaultFailedCallback,
    get_defaultFailedCallback: =
Sys$Net$WebServiceProxy$get_defaultFailedCallback,
    set_path: Sys$Net$WebServiceProxy$set_path,
    get_path: Sys$Net$WebServiceProxy$get_path,

    _invoke: Sys$Net$WebServiceProxy$_invoke
}
Sys.Net.WebServiceProxy.registerClass('Sys.Net.WebServiceProxy');

Sys.Net.WebServiceProxy.invoke =3D function =
Sys$Net$WebServiceProxy$invoke(servicePath, methodName, useGet, params, =
onSuccess, onFailure, userContext, timeout) {
    /// <param name=3D"servicePath" type=3D"String"></param>
    /// <param name=3D"methodName" type=3D"String"></param>
    /// <param name=3D"useGet" type=3D"Boolean" =
optional=3D"true"></param>
    /// <param name=3D"params" mayBeNull=3D"true" =
optional=3D"true"></param>
    /// <param name=3D"onSuccess" type=3D"Function" mayBeNull=3D"true" =
optional=3D"true"></param>
    /// <param name=3D"onFailure" type=3D"Function" mayBeNull=3D"true" =
optional=3D"true"></param>
    /// <param name=3D"userContext" mayBeNull=3D"true" =
optional=3D"true"></param>
    /// <param name=3D"timeout" type=3D"Number" =
optional=3D"true"></param>
    /// <returns type=3D"Sys.Net.WebRequest"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "servicePath", type: String},
        {name: "methodName", type: String},
        {name: "useGet", type: Boolean, optional: true},
        {name: "params", mayBeNull: true, optional: true},
        {name: "onSuccess", type: Function, mayBeNull: true, optional: =
true},
        {name: "onFailure", type: Function, mayBeNull: true, optional: =
true},
        {name: "userContext", mayBeNull: true, optional: true},
        {name: "timeout", type: Number, optional: true}
    ]);
    if (e) throw e;


        var request =3D new Sys.Net.WebRequest();

    request.get_headers()['Content-Type'] =3D 'application/json; =
charset=3Dutf-8';
    if (!params) params =3D {};
    var urlParams =3D params;
        if (!useGet || !urlParams) urlParams =3D {};
    =
request.set_url(Sys.Net.WebRequest._createUrl(servicePath+"/"+methodName,=
 urlParams));

    var body =3D null;
        if (!useGet) {
        body =3D =
Sys.Serialization.JavaScriptSerializer.serialize(params);

                if (body =3D=3D=3D "{}") body =3D "";
    }

        request.set_body(body);
    request.add_completed(onComplete);
    if (timeout && timeout > 0) request.set_timeout(timeout);
    request.invoke();

    function onComplete(response, eventArgs) {
        if (response.get_responseAvailable()) {
            var statusCode =3D response.get_statusCode();
            var result =3D null;

            try {
                var contentType =3D =
response.getResponseHeader("Content-Type");
                if (contentType.startsWith("application/json")) {
                    result =3D response.get_object();
                }
                else if (contentType.startsWith("text/xml")) {
                    result =3D response.get_xml();
                }
                                else {
                    result =3D response.get_responseData();
                }
            } catch (ex) {
            }

            var error =3D response.getResponseHeader("jsonerror");
            var errorObj =3D (error =3D=3D=3D "true");
            if (errorObj) {
                result =3D new Sys.Net.WebServiceError(false, =
result.Message, result.StackTrace, result.ExceptionType);
            }
            if (((statusCode < 200) || (statusCode >=3D 300)) || =
errorObj) {
                if (onFailure) {
                    if (!result || !errorObj) {
                        result =3D new Sys.Net.WebServiceError(false , =
String.format(Sys.Res.webServiceFailedNoMsg, methodName), "", "");
                    }
                    result._statusCode =3D statusCode;
                    onFailure(result, userContext, methodName);
                }
                else {
                                        var error;
                    if (result && errorObj) {
                                                error =3D =
result.get_exceptionType() + "-- " + result.get_message();
                    }
                    else {
                                                                        =
error =3D response.get_responseData();
                    }
                    alert(String.format(Sys.Res.webServiceFailed, =
methodName, error));
                }
            }
            else if (onSuccess) {
                onSuccess(result, userContext, methodName);
            }
        }
        else {
            var msg;
            if (response.get_timedOut()) {
                msg =3D String.format(Sys.Res.webServiceTimedOut, =
methodName);
            }
            else {
                msg =3D String.format(Sys.Res.webServiceFailedNoMsg, =
methodName)
            }
            if (onFailure) {
                onFailure(new =
Sys.Net.WebServiceError(response.get_timedOut(), msg, "", ""), =
userContext, methodName);
            }
            else {
                                alert(msg);
            }
        }
    }

    return request;
}

Sys.Net.WebServiceProxy._generateTypedConstructor =3D function =
Sys$Net$WebServiceProxy$_generateTypedConstructor(type) {
    return function(properties) {
                if (properties) {
            for (var name in properties) {
                this[name] =3D properties[name];
            }
        }
        this.__type =3D type;
    }
}
Sys.Net.WebServiceError =3D function Sys$Net$WebServiceError(timedOut, =
message, stackTrace, exceptionType) {
    /// <param name=3D"timedOut" type=3D"Boolean"></param>
    /// <param name=3D"message" type=3D"String" =
mayBeNull=3D"true"></param>
    /// <param name=3D"stackTrace" type=3D"String" =
mayBeNull=3D"true"></param>
    /// <param name=3D"exceptionType" type=3D"String" =
mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "timedOut", type: Boolean},
        {name: "message", type: String, mayBeNull: true},
        {name: "stackTrace", type: String, mayBeNull: true},
        {name: "exceptionType", type: String, mayBeNull: true}
    ]);
    if (e) throw e;

    this._timedOut =3D timedOut;
    this._message =3D message;
    this._stackTrace =3D stackTrace;
    this._exceptionType =3D exceptionType;
    this._statusCode =3D -1;
}


    function Sys$Net$WebServiceError$get_timedOut() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._timedOut;
    }

    function Sys$Net$WebServiceError$get_statusCode() {
        /// <value type=3D"Number"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._statusCode;
    }

    function Sys$Net$WebServiceError$get_message() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._message;
    }

    function Sys$Net$WebServiceError$get_stackTrace() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._stackTrace;
    }

    function Sys$Net$WebServiceError$get_exceptionType() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._exceptionType;
    }
Sys.Net.WebServiceError.prototype =3D {
    get_timedOut: Sys$Net$WebServiceError$get_timedOut,

    get_statusCode: Sys$Net$WebServiceError$get_statusCode,

    get_message: Sys$Net$WebServiceError$get_message,

    get_stackTrace: Sys$Net$WebServiceError$get_stackTrace,

    get_exceptionType: Sys$Net$WebServiceError$get_exceptionType
}
Sys.Net.WebServiceError.registerClass('Sys.Net.WebServiceError');

Type.registerNamespace('Sys.Services');

Sys.Services._ProfileService =3D function Sys$Services$_ProfileService() =
{
    Sys.Services._ProfileService.initializeBase(this);
    this.properties =3D {};
}
Sys.Services._ProfileService.DefaultWebServicePath =3D '';








    function Sys$Services$_ProfileService$get_defaultFailedCallback() {
        /// <value type=3D"Function" mayBeNull=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultFailedCallback;
    }
    function =
Sys$Services$_ProfileService$set_defaultFailedCallback(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Function, mayBeNull: true}]);
        if (e) throw e;

        this._defaultFailedCallback =3D value;
    }

    function =
Sys$Services$_ProfileService$get_defaultLoadCompletedCallback() {
        /// <value type=3D"Function" mayBeNull=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultLoadCompletedCallback;
    }
    function =
Sys$Services$_ProfileService$set_defaultLoadCompletedCallback(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Function, mayBeNull: true}]);
        if (e) throw e;

        this._defaultLoadCompletedCallback =3D value;
    }

    function =
Sys$Services$_ProfileService$get_defaultSaveCompletedCallback() {
        /// <value type=3D"Function" mayBeNull=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultSaveCompletedCallback;
    }
    function =
Sys$Services$_ProfileService$set_defaultSaveCompletedCallback(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Function, mayBeNull: true}]);
        if (e) throw e;

        this._defaultSaveCompletedCallback =3D value;
    }


    function Sys$Services$_ProfileService$get_path() {
        /// <value type=3D"String" mayBeNull=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._path;
    }
    function Sys$Services$_ProfileService$set_path(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String, mayBeNull: true}]);
        if (e) throw e;

        if((!value) || (!value.length)) {
            value =3D '';
        }
        this._path =3D value;
    }

    function Sys$Services$_ProfileService$get_timeout() {
        /// <value type=3D"Number"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._timeout;
    }
    function Sys$Services$_ProfileService$set_timeout(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Number}]);
        if (e) throw e;

        this._timeout =3D value;
    }

    function Sys$Services$_ProfileService$load(propertyNames, =
loadCompletedCallback, failedCallback, userContext) {
        /// <param name=3D"propertyNames" type=3D"Array" =
elementType=3D"String" optional=3D"true" elementMayBeNull=3D"false" =
mayBeNull=3D"true"></param>
        /// <param name=3D"loadCompletedCallback" type=3D"Function" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"failedCallback" type=3D"Function" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"userContext" optional=3D"true" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "propertyNames", type: Array, mayBeNull: true, =
optional: true, elementType: String},
            {name: "loadCompletedCallback", type: Function, mayBeNull: =
true, optional: true},
            {name: "failedCallback", type: Function, mayBeNull: true, =
optional: true},
            {name: "userContext", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;

        var parameters =3D {};
        var methodName;
        if(!propertyNames) {
            methodName =3D "GetAllPropertiesForCurrentUser";
        }
        else {
            methodName =3D "GetPropertiesForCurrentUser";
            parameters =3D { properties: =
this._clonePropertyNames(propertyNames) };
        }
                this._invoke(this._get_path(),
                                        methodName,
                                        false,
                                        parameters,
                                        Function.createDelegate(this, =
this._onLoadComplete),
                                        Function.createDelegate(this, =
this._onLoadFailed),                                         =
[loadCompletedCallback, failedCallback, userContext]);
    }

    function Sys$Services$_ProfileService$save(propertyNames, =
saveCompletedCallback, failedCallback, userContext) {
        /// <param name=3D"propertyNames" type=3D"Array" =
elementType=3D"String" optional=3D"true" elementMayBeNull=3D"false" =
mayBeNull=3D"true"></param>
        /// <param name=3D"saveCompletedCallback" type=3D"Function" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"failedCallback" type=3D"Function" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"userContext" optional=3D"true" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "propertyNames", type: Array, mayBeNull: true, =
optional: true, elementType: String},
            {name: "saveCompletedCallback", type: Function, mayBeNull: =
true, optional: true},
            {name: "failedCallback", type: Function, mayBeNull: true, =
optional: true},
            {name: "userContext", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;

        var flattenedProperties =3D =
this._flattenProperties(propertyNames, this.properties);
                this._invoke(this._get_path(),
                                        "SetPropertiesForCurrentUser",
                                        false,
                                        { values: flattenedProperties },
                                        Function.createDelegate(this, =
this._onSaveComplete),
                                        Function.createDelegate(this, =
this._onSaveFailed),
                                        [saveCompletedCallback, =
failedCallback, userContext]);
    }


    function Sys$Services$_ProfileService$_clonePropertyNames(arr) {
        var nodups =3D [];
        var seen =3D {};
        for(var i=3D0; i < arr.length; i++) {
            var prop =3D arr[i];
            if(!seen[prop]) { Array.add(nodups, prop); =
seen[prop]=3Dtrue; };
        }
        return nodups;
    }





    function =
Sys$Services$_ProfileService$_flattenProperties(propertyNames, =
properties, groupName) {
        var flattenedProperties =3D {};
        var val;
        var key;
        if(propertyNames && propertyNames.length =3D=3D=3D 0) {
            return flattenedProperties;
        }

        for (var property in properties) {
            val =3D properties[property];
            key =3D groupName ? groupName + "." + property : property;
                        =
if(Sys.Services.ProfileGroup.isInstanceOfType(val)) {
                var groupProperties =3D =
this._flattenProperties(propertyNames, val, key);
                                                                         =
                                       for(var subKey in =
groupProperties) {
                    var subVal =3D groupProperties[subKey];
                    flattenedProperties[subKey] =3D subVal;
                }
            }
            else {
                                if(!propertyNames || =
Array.indexOf(propertyNames, key) !=3D=3D -1) {
                    flattenedProperties[key] =3D val;
                }
            }
        }
        return flattenedProperties;
    }

    function Sys$Services$_ProfileService$_get_path() {
        var path =3D this.get_path();
        if(!path.length) {
            path =3D Sys.Services._ProfileService.DefaultWebServicePath;
        }
        if(!path || !path.length) {
            throw Error.invalidOperation(Sys.Res.servicePathNotSet);
        }
        return path;
    }

    function Sys$Services$_ProfileService$_onLoadComplete(result, =
context, methodName) {
        if(typeof(result) !=3D=3D "object") {
            throw =
Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,=
 methodName, "Object"));
        }

        var unflattened =3D this._unflattenProperties(result);
        for(var name in unflattened) {
            this.properties[name] =3D unflattened[name];
        }
       =20
        var userCallback =3D context[0];
        var callback =3D userCallback ? userCallback : =
this._defaultLoadCompletedCallback;
        if(callback) {
            callback(result.length, context[2], =
"Sys.Services.ProfileService.load");
        }
    }

    function Sys$Services$_ProfileService$_onLoadFailed(err, context, =
methodName) {
        var userCallback =3D context[1];
        var callback =3D userCallback ? userCallback : =
this._defaultFailedCallback;
        if(callback) {
            callback(err, context[2], =
"Sys.Services.ProfileService.load");
        }
    }

    function Sys$Services$_ProfileService$_onSaveComplete(result, =
context, methodName) {
        if(typeof(result) !=3D=3D "number") {
            throw =
Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,=
 methodName, "Number"));
        }
       =20
        var userCallback =3D context[0];
        var userContext =3D context[2];
        var callback =3D userCallback ? userCallback : =
this._defaultSaveCompletedCallback;
        if(callback) {
            callback(result, userContext, =
"Sys.Services.ProfileService.save");
        }
    }

    function Sys$Services$_ProfileService$_onSaveFailed(err, context, =
methodName) {
        var userCallback =3D context[1];
        var userContext =3D context[2];
        var callback =3D userCallback ? userCallback : =
this._defaultFailedCallback;
        if(callback) {
            callback(err, userContext, =
"Sys.Services.ProfileService.save");
        }
    }

    function =
Sys$Services$_ProfileService$_unflattenProperties(properties) {
        var unflattenedProperties =3D {};
        var dotIndex;
        var val;
        var count =3D 0;
        for(var key in properties) {
            count++;
            val =3D properties[key];

            dotIndex =3D key.indexOf('.');
            if(dotIndex !=3D=3D -1) {
                var groupName =3D key.substr(0, dotIndex);
                key =3D key.substr(dotIndex+1);
                var group =3D unflattenedProperties[groupName];
                if((!group) || =
(!Sys.Services.ProfileGroup.isInstanceOfType(group))) {
                    group =3D new Sys.Services.ProfileGroup();
                    unflattenedProperties[groupName] =3D group;
                }
                group[key] =3D val;
            }
            else {
                unflattenedProperties[key] =3D val;
            }
        }
        properties.length =3D count;
        return unflattenedProperties;
    }
Sys.Services._ProfileService.prototype =3D {
    _defaultFailedCallback: null,
    _defaultLoadCompletedCallback: null,
    _defaultSaveCompletedCallback: null,
    _path: '',
    _timeout: 0,

    get_defaultFailedCallback: =
Sys$Services$_ProfileService$get_defaultFailedCallback,
    set_defaultFailedCallback: =
Sys$Services$_ProfileService$set_defaultFailedCallback,

    get_defaultLoadCompletedCallback: =
Sys$Services$_ProfileService$get_defaultLoadCompletedCallback,
    set_defaultLoadCompletedCallback: =
Sys$Services$_ProfileService$set_defaultLoadCompletedCallback,

    get_defaultSaveCompletedCallback: =
Sys$Services$_ProfileService$get_defaultSaveCompletedCallback,
    set_defaultSaveCompletedCallback: =
Sys$Services$_ProfileService$set_defaultSaveCompletedCallback,
   =20
   =20
    get_path: Sys$Services$_ProfileService$get_path,
    set_path: Sys$Services$_ProfileService$set_path,
       =20
    get_timeout: Sys$Services$_ProfileService$get_timeout,
    set_timeout: Sys$Services$_ProfileService$set_timeout,
       =20
    load: Sys$Services$_ProfileService$load,

    save: Sys$Services$_ProfileService$save,
   =20
        _clonePropertyNames: =
Sys$Services$_ProfileService$_clonePropertyNames,   =20

                    _flattenProperties: =
Sys$Services$_ProfileService$_flattenProperties,
   =20
    _get_path: Sys$Services$_ProfileService$_get_path,   =20

    _onLoadComplete: Sys$Services$_ProfileService$_onLoadComplete,
   =20
    _onLoadFailed: Sys$Services$_ProfileService$_onLoadFailed,
   =20
    _onSaveComplete: Sys$Services$_ProfileService$_onSaveComplete,
   =20
    _onSaveFailed: Sys$Services$_ProfileService$_onSaveFailed,
   =20
    _unflattenProperties: =
Sys$Services$_ProfileService$_unflattenProperties
}
Sys.Services._ProfileService.registerClass('Sys.Services._ProfileService'=
, Sys.Net.WebServiceProxy);
Sys.Services.ProfileService =3D new Sys.Services._ProfileService();

Sys.Services.ProfileGroup =3D function =
Sys$Services$ProfileGroup(properties) {
    /// <param name=3D"properties" optional=3D"true" =
mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "properties", mayBeNull: true, optional: true}
    ]);
    if (e) throw e;

    if(properties) {
        for(var property in properties) {
            this[property] =3D properties[property];
        }
    }
}
Sys.Services.ProfileGroup.registerClass('Sys.Services.ProfileGroup');








Sys.Services._AuthenticationService =3D function =
Sys$Services$_AuthenticationService() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    Sys.Services._AuthenticationService.initializeBase(this);
}
Sys.Services._AuthenticationService.DefaultWebServicePath =3D '';








    function =
Sys$Services$_AuthenticationService$get_defaultFailedCallback() {
        /// <value type=3D"Function" mayBeNull=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultFailedCallback;
    }
    function =
Sys$Services$_AuthenticationService$set_defaultFailedCallback(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Function, mayBeNull: true}]);
        if (e) throw e;

        this._defaultFailedCallback =3D value;
    }

    function =
Sys$Services$_AuthenticationService$get_defaultLoginCompletedCallback() =
{
        /// <value type=3D"Function" mayBeNull=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultLoginCompletedCallback;
    }
    function =
Sys$Services$_AuthenticationService$set_defaultLoginCompletedCallback(val=
ue) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Function, mayBeNull: true}]);
        if (e) throw e;

        this._defaultLoginCompletedCallback =3D value;
    }

    function =
Sys$Services$_AuthenticationService$get_defaultLogoutCompletedCallback() =
{
        /// <value type=3D"Function" mayBeNull=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._defaultLogoutCompletedCallback;
    }
    function =
Sys$Services$_AuthenticationService$set_defaultLogoutCompletedCallback(va=
lue) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Function, mayBeNull: true}]);
        if (e) throw e;

        this._defaultLogoutCompletedCallback =3D value;
    }

    function Sys$Services$_AuthenticationService$get_isLoggedIn() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._authenticated;
    }

    function Sys$Services$_AuthenticationService$get_path() {
        /// <value type=3D"String" mayBeNull=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._path;
    }
    function Sys$Services$_AuthenticationService$set_path(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String, mayBeNull: true}]);
        if (e) throw e;

        if((!value) || (!value.length)) {
            value =3D '';
        }
        this._path =3D value;
    }

    function Sys$Services$_AuthenticationService$get_timeout() {
        /// <value type=3D"Number"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._timeout;
    }
    function Sys$Services$_AuthenticationService$set_timeout(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Number}]);
        if (e) throw e;

        this._timeout =3D value;
    }

    function Sys$Services$_AuthenticationService$login(username, =
password, isPersistent, customInfo, redirectUrl, loginCompletedCallback, =
failedCallback, userContext) {
        /// <param name=3D"username" type=3D"String" =
mayBeNull=3D"false"></param>
        /// <param name=3D"password" type=3D"String" =
mayBeNull=3D"true"></param>
        /// <param name=3D"isPersistent" type=3D"Boolean" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"customInfo" type=3D"String" optional=3D"true" =
mayBeNull=3D"true"></param>
        /// <param name=3D"redirectUrl" type=3D"String" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"loginCompletedCallback" type=3D"Function" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"failedCallback" type=3D"Function" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"userContext" optional=3D"true" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "username", type: String},
            {name: "password", type: String, mayBeNull: true},
            {name: "isPersistent", type: Boolean, mayBeNull: true, =
optional: true},
            {name: "customInfo", type: String, mayBeNull: true, =
optional: true},
            {name: "redirectUrl", type: String, mayBeNull: true, =
optional: true},
            {name: "loginCompletedCallback", type: Function, mayBeNull: =
true, optional: true},
            {name: "failedCallback", type: Function, mayBeNull: true, =
optional: true},
            {name: "userContext", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;

                this._invoke(this._get_path(), "Login", false,
                                        { userName: username, password: =
password, createPersistentCookie: isPersistent },
                                        Function.createDelegate(this, =
this._onLoginComplete),
                                        Function.createDelegate(this, =
this._onLoginFailed),
                                        [username, password, =
isPersistent, redirectUrl, loginCompletedCallback, failedCallback, =
userContext]);
    }

    function Sys$Services$_AuthenticationService$logout(redirectUrl, =
logoutCompletedCallback, failedCallback, userContext) {
        /// <param name=3D"redirectUrl" type=3D"String" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"logoutCompletedCallback" type=3D"Function" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"failedCallback" type=3D"Function" =
optional=3D"true" mayBeNull=3D"true"></param>
        /// <param name=3D"userContext" optional=3D"true" =
mayBeNull=3D"true"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "redirectUrl", type: String, mayBeNull: true, =
optional: true},
            {name: "logoutCompletedCallback", type: Function, mayBeNull: =
true, optional: true},
            {name: "failedCallback", type: Function, mayBeNull: true, =
optional: true},
            {name: "userContext", mayBeNull: true, optional: true}
        ]);
        if (e) throw e;

                this._invoke(this._get_path(), "Logout", false, {},=20
                                        Function.createDelegate(this, =
this._onLogoutComplete),
                                        Function.createDelegate(this, =
this._onLogoutFailed),
                                        [redirectUrl, =
logoutCompletedCallback, failedCallback, userContext]);
    }

    function Sys$Services$_AuthenticationService$_get_path() {
        var path =3D this.get_path();
        if(!path.length) {
            path =3D =
Sys.Services._AuthenticationService.DefaultWebServicePath;
        }
        if(!path || !path.length) {
            throw Error.invalidOperation(Sys.Res.servicePathNotSet);
        }
        return path;
    }

    function =
Sys$Services$_AuthenticationService$_onLoginComplete(result, context, =
methodName) {
        if(typeof(result) !=3D=3D "boolean") {
            throw =
Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,=
 methodName, "Boolean"));
        }
       =20
        var redirectUrl =3D context[3];
        var userCallback =3D context[4];
        var userContext =3D context[6];
        var callback =3D userCallback ? userCallback : =
this._defaultLoginCompletedCallback;
       =20
        if(result) {
            this._authenticated =3D true;

            if(callback) {
                callback(true, userContext, =
"Sys.Services.AuthenticationService.login");
            }
           =20
            if(typeof(redirectUrl) !=3D=3D "undefined" && redirectUrl =
!=3D=3D null) {
                                window.location.href =3D redirectUrl;
            }
        }
        else if (callback) {
            callback(false, userContext, =
"Sys.Services.AuthenticationService.login");
        }
    }

    function Sys$Services$_AuthenticationService$_onLoginFailed(err, =
context, methodName) {
        var userCallback =3D context[5];
        var callback =3D userCallback ? userCallback : =
this._defaultFailedCallback;
        if(callback) {
            callback(err, context[6], =
"Sys.Services.AuthenticationService.login");
        }
    }

    function =
Sys$Services$_AuthenticationService$_onLogoutComplete(result, context, =
methodName) {
        if(result !=3D=3D null) {
            throw =
Error.invalidOperation(String.format(Sys.Res.webServiceInvalidReturnType,=
 methodName, "null"));
        }
       =20
        var redirectUrl =3D context[0];
        var userCallback =3D context[1];
        var userContext =3D context[3];
        var callback =3D userCallback ? userCallback : =
this._defaultLogoutCompletedCallback;

        this._authenticated =3D false;
       =20
        if (callback) {
            callback(null, userContext, =
"Sys.Services.AuthenticationService.logout");
        }
       =20
                if(!redirectUrl) {
            window.location.reload();
        }
        else {
            window.location.href =3D redirectUrl;
        }
    }

    function Sys$Services$_AuthenticationService$_onLogoutFailed(err, =
context, methodName) {
        var userCallback =3D context[2];
        var callback =3D userCallback ? userCallback : =
this._defaultFailedCallback;
        if(callback) {
            callback(err, context[3], =
"Sys.Services.AuthenticationService.logout");
        }
    }

    function =
Sys$Services$_AuthenticationService$_setAuthenticated(authenticated) {
        this._authenticated =3D authenticated;
    }
Sys.Services._AuthenticationService.prototype =3D {
    _defaultFailedCallback: null,
    _defaultLoginCompletedCallback: null,
    _defaultLogoutCompletedCallback: null,
    _path: '',
    _timeout: 0,
    _authenticated: false,
   =20
    get_defaultFailedCallback: =
Sys$Services$_AuthenticationService$get_defaultFailedCallback,
    set_defaultFailedCallback: =
Sys$Services$_AuthenticationService$set_defaultFailedCallback,

    get_defaultLoginCompletedCallback: =
Sys$Services$_AuthenticationService$get_defaultLoginCompletedCallback,
    set_defaultLoginCompletedCallback: =
Sys$Services$_AuthenticationService$set_defaultLoginCompletedCallback,

    get_defaultLogoutCompletedCallback: =
Sys$Services$_AuthenticationService$get_defaultLogoutCompletedCallback,
    set_defaultLogoutCompletedCallback: =
Sys$Services$_AuthenticationService$set_defaultLogoutCompletedCallback,

    get_isLoggedIn: Sys$Services$_AuthenticationService$get_isLoggedIn,

    get_path: Sys$Services$_AuthenticationService$get_path,
    set_path: Sys$Services$_AuthenticationService$set_path,
   =20
    get_timeout: Sys$Services$_AuthenticationService$get_timeout,
    set_timeout: Sys$Services$_AuthenticationService$set_timeout,   =20
   =20
    login: Sys$Services$_AuthenticationService$login,
   =20
    logout: Sys$Services$_AuthenticationService$logout,
   =20
    _get_path: Sys$Services$_AuthenticationService$_get_path,
   =20
    _onLoginComplete: =
Sys$Services$_AuthenticationService$_onLoginComplete,
   =20
    _onLoginFailed: Sys$Services$_AuthenticationService$_onLoginFailed,
   =20
    _onLogoutComplete: =
Sys$Services$_AuthenticationService$_onLogoutComplete,
   =20
    _onLogoutFailed: =
Sys$Services$_AuthenticationService$_onLogoutFailed,
   =20
    _setAuthenticated: =
Sys$Services$_AuthenticationService$_setAuthenticated   =20
}

Sys.Services._AuthenticationService.registerClass('Sys.Services._Authenti=
cationService', Sys.Net.WebServiceProxy);
Sys.Services.AuthenticationService =3D new =
Sys.Services._AuthenticationService();

Type.registerNamespace('Sys.Serialization');


Sys.Serialization.JavaScriptSerializer =3D function =
Sys$Serialization$JavaScriptSerializer() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
}
Sys.Serialization.JavaScriptSerializer.registerClass('Sys.Serialization.J=
avaScriptSerializer');

Sys.Serialization.JavaScriptSerializer._stringRegEx =3D new =
RegExp('["\b\f\n\r\t\\\\\x00-\x1F]', 'i');

Sys.Serialization.JavaScriptSerializer._serializeWithBuilder =3D =
function =
Sys$Serialization$JavaScriptSerializer$_serializeWithBuilder(object, =
stringBuilder, sort) {
    var i;
    switch (typeof object) {
    case 'object':
        if (object) {
                        if (Array.isInstanceOfType(object)) {
                stringBuilder.append('[');
                for (i =3D 0; i < object.length; ++i) {
                    if (i > 0) {
                        stringBuilder.append(',');
                    }
                    =
Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(object[i], =
stringBuilder);
                }
                stringBuilder.append(']');
            }
            else {
                                                                if =
(Date.isInstanceOfType(object)) {
                    stringBuilder.append('"\\/Date(');
                    stringBuilder.append(object.getTime());
                    stringBuilder.append(')\\/"');
                    break;
                }

                var properties =3D [];
                var propertyCount =3D 0;
                for (var name in object) {
                                        if (name.startsWith('$')) {
                        continue;
                    }
                    properties[propertyCount++] =3D name;
                }
                if (sort) properties.sort();

                stringBuilder.append('{');
                var needComma =3D false;
                for (i=3D0; i<propertyCount; i++) {
                    var value =3D object[properties[i]];
                    if (typeof value !=3D=3D 'undefined' && typeof value =
!=3D=3D 'function') {
                        if (needComma) {
                            stringBuilder.append(',');
                        }
                        else {
                            needComma =3D true;
                        }

                                                =
Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(properties[i=
], stringBuilder, sort);
                        stringBuilder.append(':');
                        =
Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(value, =
stringBuilder, sort);
                    }
                }
                stringBuilder.append('}');
            }
        }
        else {
            stringBuilder.append('null');
        }
        break;

    case 'number':
        if (isFinite(object)) {
            stringBuilder.append(String(object));
        }
        else {
            throw =
Error.invalidOperation(Sys.Res.cannotSerializeNonFiniteNumbers);
        }
        break;

    case 'string':
        stringBuilder.append('"');

                if (Sys.Browser.agent =3D=3D=3D Sys.Browser.Safari || =
Sys.Serialization.JavaScriptSerializer._stringRegEx.test(object)) {
            var length =3D object.length;
            for (i =3D 0; i < length; ++i) {
                var curChar =3D object.charAt(i);
                                if (curChar >=3D ' ') {
                                        if (curChar =3D=3D=3D '\\' || =
curChar =3D=3D=3D '"') {
                        stringBuilder.append('\\');
                    }
                    stringBuilder.append(curChar);
                }
                else {
                    switch (curChar) {
                        case '\b':
                            stringBuilder.append('\\b');
                            break;
                        case '\f':
                            stringBuilder.append('\\f');
                            break;
                        case '\n':
                            stringBuilder.append('\\n');
                            break;
                        case '\r':
                            stringBuilder.append('\\r');
                            break;
                        case '\t':
                            stringBuilder.append('\\t');
                            break;
                        default:
                                                        =
stringBuilder.append('\\u00');
                            if (curChar.charCodeAt() < 16) =
stringBuilder.append('0');
                            =
stringBuilder.append(curChar.charCodeAt().toString(16));
                    }
                }
            }
        } else {
            stringBuilder.append(object);
        }
        stringBuilder.append('"');
        break;

    case 'boolean':
        stringBuilder.append(object.toString());
        break;

    default:
        stringBuilder.append('null');
        break;
    }
}

Sys.Serialization.JavaScriptSerializer.serialize =3D function =
Sys$Serialization$JavaScriptSerializer$serialize(object) {
    /// <param name=3D"object" mayBeNull=3D"true"></param>
    /// <returns type=3D"String"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "object", mayBeNull: true}
    ]);
    if (e) throw e;

    var stringBuilder =3D new Sys.StringBuilder();
    Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(object, =
stringBuilder, false);
    return stringBuilder.toString();
}

Sys.Serialization.JavaScriptSerializer.deserialize =3D function =
Sys$Serialization$JavaScriptSerializer$deserialize(data) {
    /// <param name=3D"data" type=3D"String"></param>
    /// <returns></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "data", type: String}
    ]);
    if (e) throw e;

    if (data.length =3D=3D=3D 0) throw Error.argument('data', =
Sys.Res.cannotDeserializeEmptyString);
                                                           =20
    try {   =20
        var exp =3D data.replace(new =
RegExp('(^|[^\\\\])\\"\\\\/Date\\((-?[0-9]+)\\)\\\\/\\"', 'g'), "$1new =
Date($2)");
        return eval('(' + exp + ')');
    }
    catch (e) {
         throw Error.argument('data', =
Sys.Res.cannotDeserializeInvalidJson);
    }
}

Sys.CultureInfo =3D function Sys$CultureInfo(name, numberFormat, =
dateTimeFormat) {
    /// <param name=3D"name" type=3D"String"></param>
    /// <param name=3D"numberFormat" type=3D"Object"></param>
    /// <param name=3D"dateTimeFormat" type=3D"Object"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "name", type: String},
        {name: "numberFormat", type: Object},
        {name: "dateTimeFormat", type: Object}
    ]);
    if (e) throw e;

    this.name =3D name;
    this.numberFormat =3D numberFormat;
    this.dateTimeFormat =3D dateTimeFormat;
}

    function Sys$CultureInfo$_getDateTimeFormats() {
        if (! this._dateTimeFormats) {
            var dtf =3D this.dateTimeFormat;
            this._dateTimeFormats =3D
              [ dtf.MonthDayPattern,
                dtf.YearMonthPattern,
                dtf.ShortDatePattern,
                dtf.ShortTimePattern,
                dtf.LongDatePattern,
                dtf.LongTimePattern,
                dtf.FullDateTimePattern,
                dtf.RFC1123Pattern,
                dtf.SortableDateTimePattern,
                dtf.UniversalSortableDateTimePattern ];
        }
        return this._dateTimeFormats;
    }
    function Sys$CultureInfo$_getMonthIndex(value) {
        if (!this._upperMonths) {
            this._upperMonths =3D =
this._toUpperArray(this.dateTimeFormat.MonthNames);
        }
        return Array.indexOf(this._upperMonths, this._toUpper(value));
    }
    function Sys$CultureInfo$_getAbbrMonthIndex(value) {
        if (!this._upperAbbrMonths) {
            this._upperAbbrMonths =3D =
this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthNames);
        }
        return Array.indexOf(this._upperMonths, this._toUpper(value));
    }
    function Sys$CultureInfo$_getDayIndex(value) {
        if (!this._upperDays) {
            this._upperDays =3D =
this._toUpperArray(this.dateTimeFormat.DayNames);
        }
        return Array.indexOf(this._upperDays, this._toUpper(value));
    }
    function Sys$CultureInfo$_getAbbrDayIndex(value) {
        if (!this._upperAbbrDays) {
            this._upperAbbrDays =3D =
this._toUpperArray(this.dateTimeFormat.AbbreviatedDayNames);
        }
        return Array.indexOf(this._upperAbbrDays, this._toUpper(value));
    }
    function Sys$CultureInfo$_toUpperArray(arr) {
        var result =3D [];
        for (var i =3D 0, il =3D arr.length; i < il; i++) {
            result[i] =3D this._toUpper(arr[i]);
        }
        return result;
    }
    function Sys$CultureInfo$_toUpper(value) {
                        return value.split("\u00A0").join(' =
').toUpperCase();
    }
Sys.CultureInfo.prototype =3D {
    _getDateTimeFormats: Sys$CultureInfo$_getDateTimeFormats,
    _getMonthIndex: Sys$CultureInfo$_getMonthIndex,
    _getAbbrMonthIndex: Sys$CultureInfo$_getAbbrMonthIndex,
    _getDayIndex: Sys$CultureInfo$_getDayIndex,
    _getAbbrDayIndex: Sys$CultureInfo$_getAbbrDayIndex,
    _toUpperArray: Sys$CultureInfo$_toUpperArray,
    _toUpper: Sys$CultureInfo$_toUpper
}
Sys.CultureInfo._parse =3D function Sys$CultureInfo$_parse(value) {
    var cultureInfo =3D =
Sys.Serialization.JavaScriptSerializer.deserialize(value);
    return new Sys.CultureInfo(cultureInfo.name, =
cultureInfo.numberFormat, cultureInfo.dateTimeFormat);
}
Sys.CultureInfo.registerClass('Sys.CultureInfo');

Sys.CultureInfo.InvariantCulture =3D =
Sys.CultureInfo._parse('{"name":"","numberFormat":{"CurrencyDecimalDigits=
":2,"CurrencyDecimalSeparator":".","IsReadOnly":true,"CurrencyGroupSizes"=
:[3],"NumberGroupSizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparat=
or":",","CurrencySymbol":"\u00A4","NaNSymbol":"NaN","CurrencyNegativePatt=
ern":0,"NumberNegativePattern":1,"PercentPositivePattern":0,"PercentNegat=
ivePattern":0,"NegativeInfinitySymbol":"-Infinity","NegativeSign":"-","Nu=
mberDecimalDigits":2,"NumberDecimalSeparator":".","NumberGroupSeparator":=
",","CurrencyPositivePattern":0,"PositiveInfinitySymbol":"Infinity","Posi=
tiveSign":"+","PercentDecimalDigits":2,"PercentDecimalSeparator":".","Per=
centGroupSeparator":",","PercentSymbol":"%","PerMilleSymbol":"\u2030","Na=
tiveDigits":["0","1","2","3","4","5","6","7","8","9"],"DigitSubstitution"=
:1},"dateTimeFormat":{"AMDesignator":"AM","Calendar":{"MinSupportedDateTi=
me":"@-62135568000000@","MaxSupportedDateTime":"@253402300799999@","Algor=
ithmType":1,"CalendarType":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnl=
y":true},"DateSeparator":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"Ful=
lDateTimePattern":"dddd, dd MMMM yyyy HH:mm:ss","LongDatePattern":"dddd, =
dd MMMM yyyy","LongTimePattern":"HH:mm:ss","MonthDayPattern":"MMMM =
dd","PMDesignator":"PM","RFC1123Pattern":"ddd, dd MMM yyyy =
HH\':\'mm\':\'ss =
\'GMT\'","ShortDatePattern":"MM/dd/yyyy","ShortTimePattern":"HH:mm","Sort=
ableDateTimePattern":"yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss","TimeSepar=
ator":":","UniversalSortableDateTimePattern":"yyyy\'-\'MM\'-\'dd =
HH\':\'mm\':\'ss\'Z\'","YearMonthPattern":"yyyy =
MMMM","AbbreviatedDayNames":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"=
ShortestDayNames":["Su","Mo","Tu","We","Th","Fr","Sa"],"DayNames":["Sunda=
y","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"Abbrev=
iatedMonthNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","=
Oct","Nov","Dec",""],"MonthNames":["January","February","March","April","=
May","June","July","August","September","October","November","December","=
"],"IsReadOnly":true,"NativeCalendarName":"Gregorian =
Calendar","AbbreviatedMonthGenitiveNames":["Jan","Feb","Mar","Apr","May",=
"Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthGenitiveNames":["Janu=
ary","February","March","April","May","June","July","August","September",=
"October","November","December",""]}}');

if (typeof(__cultureInfo) =3D=3D=3D 'undefined') {
    var __cultureInfo =3D =
'{"name":"en-US","numberFormat":{"CurrencyDecimalDigits":2,"CurrencyDecim=
alSeparator":".","IsReadOnly":false,"CurrencyGroupSizes":[3],"NumberGroup=
Sizes":[3],"PercentGroupSizes":[3],"CurrencyGroupSeparator":",","Currency=
Symbol":"$","NaNSymbol":"NaN","CurrencyNegativePattern":0,"NumberNegative=
Pattern":1,"PercentPositivePattern":0,"PercentNegativePattern":0,"Negativ=
eInfinitySymbol":"-Infinity","NegativeSign":"-","NumberDecimalDigits":2,"=
NumberDecimalSeparator":".","NumberGroupSeparator":",","CurrencyPositiveP=
attern":0,"PositiveInfinitySymbol":"Infinity","PositiveSign":"+","Percent=
DecimalDigits":2,"PercentDecimalSeparator":".","PercentGroupSeparator":",=
","PercentSymbol":"%","PerMilleSymbol":"\u2030","NativeDigits":["0","1","=
2","3","4","5","6","7","8","9"],"DigitSubstitution":1},"dateTimeFormat":{=
"AMDesignator":"AM","Calendar":{"MinSupportedDateTime":"@-62135568000000@=
","MaxSupportedDateTime":"@253402300799999@","AlgorithmType":1,"CalendarT=
ype":1,"Eras":[1],"TwoDigitYearMax":2029,"IsReadOnly":false},"DateSeparat=
or":"/","FirstDayOfWeek":0,"CalendarWeekRule":0,"FullDateTimePattern":"dd=
dd, MMMM dd, yyyy h:mm:ss tt","LongDatePattern":"dddd, MMMM dd, =
yyyy","LongTimePattern":"h:mm:ss tt","MonthDayPattern":"MMMM =
dd","PMDesignator":"PM","RFC1123Pattern":"ddd, dd MMM yyyy =
HH\':\'mm\':\'ss =
\'GMT\'","ShortDatePattern":"M/d/yyyy","ShortTimePattern":"h:mm =
tt","SortableDateTimePattern":"yyyy\'-\'MM\'-\'dd\'T\'HH\':\'mm\':\'ss","=
TimeSeparator":":","UniversalSortableDateTimePattern":"yyyy\'-\'MM\'-\'dd=
 HH\':\'mm\':\'ss\'Z\'","YearMonthPattern":"MMMM, =
yyyy","AbbreviatedDayNames":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"=
ShortestDayNames":["Su","Mo","Tu","We","Th","Fr","Sa"],"DayNames":["Sunda=
y","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"Abbrev=
iatedMonthNames":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","=
Oct","Nov","Dec",""],"MonthNames":["January","February","March","April","=
May","June","July","August","September","October","November","December","=
"],"IsReadOnly":false,"NativeCalendarName":"Gregorian =
Calendar","AbbreviatedMonthGenitiveNames":["Jan","Feb","Mar","Apr","May",=
"Jun","Jul","Aug","Sep","Oct","Nov","Dec",""],"MonthGenitiveNames":["Janu=
ary","February","March","April","May","June","July","August","September",=
"October","November","December",""]}}';
}
Sys.CultureInfo.CurrentCulture =3D =
Sys.CultureInfo._parse(__cultureInfo);
delete __cultureInfo;

Sys.UI.Point =3D function Sys$UI$Point(x, y) {
    /// <param name=3D"x" type=3D"Number" integer=3D"true"></param>
    /// <param name=3D"y" type=3D"Number" integer=3D"true"></param>
    /// <field name=3D"x" type=3D"Number" integer=3D"true"></field>
    /// <field name=3D"y" type=3D"Number" integer=3D"true"></field>
    var e =3D Function._validateParams(arguments, [
        {name: "x", type: Number, integer: true},
        {name: "y", type: Number, integer: true}
    ]);
    if (e) throw e;

    this.x =3D x;
    this.y =3D y;
}
Sys.UI.Point.registerClass('Sys.UI.Point');
Sys.UI.Bounds =3D function Sys$UI$Bounds(x, y, width, height) {
    /// <param name=3D"x" type=3D"Number" integer=3D"true"></param>
    /// <param name=3D"y" type=3D"Number" integer=3D"true"></param>
    /// <param name=3D"height" type=3D"Number" integer=3D"true"></param>
    /// <param name=3D"width" type=3D"Number" integer=3D"true"></param>
    /// <field name=3D"x" type=3D"Number" integer=3D"true"></field>
    /// <field name=3D"y" type=3D"Number" integer=3D"true"></field>
    /// <field name=3D"height" type=3D"Number" integer=3D"true"></field>
    /// <field name=3D"width" type=3D"Number" integer=3D"true"></field>
    var e =3D Function._validateParams(arguments, [
        {name: "x", type: Number, integer: true},
        {name: "y", type: Number, integer: true},
        {name: "height", type: Number, integer: true},
        {name: "width", type: Number, integer: true}
    ]);
    if (e) throw e;

    this.x =3D x;
    this.y =3D y;
    this.height =3D height;
    this.width =3D width;
}
Sys.UI.Bounds.registerClass('Sys.UI.Bounds');
Sys.UI.DomElement =3D function Sys$UI$DomElement() {
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    throw Error.notImplemented();
}
Sys.UI.DomElement.registerClass('Sys.UI.DomElement');

Sys.UI.DomElement.addCssClass =3D function =
Sys$UI$DomElement$addCssClass(element, className) {
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"className" type=3D"String"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "className", type: String}
    ]);
    if (e) throw e;

    if (!Sys.UI.DomElement.containsCssClass(element, className)) {
        if (element.className =3D=3D=3D '') {
            element.className =3D className;
        }
        else {
            element.className +=3D ' ' + className;
        }
    }
}

Sys.UI.DomElement.containsCssClass =3D function =
Sys$UI$DomElement$containsCssClass(element, className) {
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"className" type=3D"String"></param>
    /// <returns type=3D"Boolean"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "className", type: String}
    ]);
    if (e) throw e;

    return Array.contains(element.className.split(' '), className);
}

Sys.UI.DomElement.getBounds =3D function =
Sys$UI$DomElement$getBounds(element) {
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <returns type=3D"Sys.UI.Bounds"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;

    var offset =3D Sys.UI.DomElement.getLocation(element);

    return new Sys.UI.Bounds(offset.x, offset.y, element.offsetWidth || =
0, element.offsetHeight || 0);
}

var $get =3D Sys.UI.DomElement.getElementById =3D function =
Sys$UI$DomElement$getElementById(id, element) {
    /// <param name=3D"id" type=3D"String"></param>
    /// <param name=3D"element" domElement=3D"true" optional=3D"true" =
mayBeNull=3D"true"></param>
    /// <returns domElement=3D"true" mayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "id", type: String},
        {name: "element", mayBeNull: true, domElement: true, optional: =
true}
    ]);
    if (e) throw e;

    if (!element) return document.getElementById(id);
    if (element.getElementById) return element.getElementById(id);

        var nodeQueue =3D [];
    var childNodes =3D element.childNodes;
    for (var i =3D 0; i < childNodes.length; i++) {
        var node =3D childNodes[i];
        if (node.nodeType =3D=3D 1) {
            nodeQueue[nodeQueue.length] =3D node;
        }
    }

    while (nodeQueue.length) {
        node =3D nodeQueue.shift();
        if (node.id =3D=3D id) {
            return node;
        }
        childNodes =3D node.childNodes;
        for (i =3D 0; i < childNodes.length; i++) {
            node =3D childNodes[i];
            if (node.nodeType =3D=3D 1) {
                nodeQueue[nodeQueue.length] =3D node;
            }
        }
    }

    return null;
}



switch(Sys.Browser.agent) {
    case Sys.Browser.InternetExplorer:
        Sys.UI.DomElement.getLocation =3D function =
Sys$UI$DomElement$getLocation(element) {
            /// <param name=3D"element" domElement=3D"true"></param>
            /// <returns type=3D"Sys.UI.Point"></returns>
            var e =3D Function._validateParams(arguments, [
                {name: "element", domElement: true}
            ]);
            if (e) throw e;

                        if (element.self || element.nodeType =3D=3D=3D =
9) return new Sys.UI.Point(0,0);

                                                var clientRects =3D =
element.getClientRects();
            if (!clientRects || !clientRects.length) {
                return new Sys.UI.Point(0,0);
            }

            var w =3D element.ownerDocument.parentWindow;
                                                var offsetL =3D =
w.screenLeft - top.screenLeft - top.document.documentElement.scrollLeft =
+ 2;
            var offsetT =3D w.screenTop - top.screenTop - =
top.document.documentElement.scrollTop + 2;

                                                                        =
var f =3D w.frameElement || null;
            if (f) {
                                                                         =
       var fstyle =3D f.currentStyle;
                offsetL +=3D (f.frameBorder || 1) * 2 +
                    (parseInt(fstyle.paddingLeft) || 0) +
                    (parseInt(fstyle.borderLeftWidth) || 0) -
                    element.ownerDocument.documentElement.scrollLeft;
                offsetT +=3D (f.frameBorder || 1) * 2 +
                    (parseInt(fstyle.paddingTop) || 0) +
                    (parseInt(fstyle.borderTopWidth) || 0) -
                    element.ownerDocument.documentElement.scrollTop;
            }

            var clientRect =3D clientRects[0];

            return new Sys.UI.Point(
                clientRect.left - offsetL,
                clientRect.top - offsetT);
        }
        break;
    case Sys.Browser.Safari:
        Sys.UI.DomElement.getLocation =3D function =
Sys$UI$DomElement$getLocation(element) {
            /// <param name=3D"element" domElement=3D"true"></param>
            /// <returns type=3D"Sys.UI.Point"></returns>
            var e =3D Function._validateParams(arguments, [
                {name: "element", domElement: true}
            ]);
            if (e) throw e;

                        if ((element.window && (element.window =3D=3D=3D =
element)) || element.nodeType =3D=3D=3D 9) return new Sys.UI.Point(0,0);

                                                var offsetX =3D 0;
            var offsetY =3D 0;

            var previous =3D null;
            var previousStyle =3D null;
            var currentStyle;
            for (var parent =3D element; parent; previous =3D parent, =
previousStyle =3D currentStyle, parent =3D parent.offsetParent) {
                currentStyle =3D =
Sys.UI.DomElement._getCurrentStyle(parent);
                var tagName =3D parent.tagName;

                                                                         =
       if ((parent.offsetLeft || parent.offsetTop) &&
                    ((tagName !=3D=3D "BODY") || (!previousStyle || =
previousStyle.position !=3D=3D "absolute"))) {

                    offsetX +=3D parent.offsetLeft;
                    offsetY +=3D parent.offsetTop;
                }
            }

            currentStyle =3D =
Sys.UI.DomElement._getCurrentStyle(element);
            var elementPosition =3D currentStyle ? currentStyle.position =
: null;
            var elementPositioned =3D elementPosition && =
(elementPosition !=3D=3D "static");
                        if (!elementPosition || (elementPosition !=3D=3D =
"absolute")) {
                                for (var parent =3D element.parentNode; =
parent; parent =3D parent.parentNode) {
                    tagName =3D parent.tagName;

                    if ((tagName !=3D=3D "BODY") && (tagName !=3D=3D =
"HTML") && (parent.scrollLeft || parent.scrollTop)) {
                        offsetX -=3D (parent.scrollLeft || 0);
                        offsetY -=3D (parent.scrollTop || 0);
                    }
                    currentStyle =3D =
Sys.UI.DomElement._getCurrentStyle(parent);
                    var parentPosition =3D currentStyle ? =
currentStyle.position : null;

                                        if (parentPosition && =
(parentPosition =3D=3D=3D "absolute")) break;
                }
            }

            return new Sys.UI.Point(offsetX, offsetY);
        }
        break;
    case Sys.Browser.Opera:
        Sys.UI.DomElement.getLocation =3D function =
Sys$UI$DomElement$getLocation(element) {
            /// <param name=3D"element" domElement=3D"true"></param>
            /// <returns type=3D"Sys.UI.Point"></returns>
            var e =3D Function._validateParams(arguments, [
                {name: "element", domElement: true}
            ]);
            if (e) throw e;

                        if ((element.window && (element.window =3D=3D=3D =
element)) || element.nodeType =3D=3D=3D 9) return new Sys.UI.Point(0,0);

                                                var offsetX =3D 0;
            var offsetY =3D 0;

            var previous =3D null;
            for (var parent =3D element; parent; previous =3D parent, =
parent =3D parent.offsetParent) {

                var tagName =3D parent.tagName;

                offsetX +=3D parent.offsetLeft || 0;
                offsetY +=3D parent.offsetTop || 0;
            }

                        var elementPosition =3D element.style.position;
            var elementPositioned =3D elementPosition && =
(elementPosition !=3D=3D "static");

                        for (var parent =3D element.parentNode; parent; =
parent =3D parent.parentNode) {
                tagName =3D parent.tagName;

                if ((tagName !=3D=3D "BODY") && (tagName !=3D=3D "HTML") =
&& (parent.scrollLeft || parent.scrollTop) &&
                    ((elementPositioned &&
                    ((parent.style.overflow =3D=3D=3D "scroll") || =
(parent.style.overflow =3D=3D=3D "auto"))))) {
                                       =20
                    offsetX -=3D (parent.scrollLeft || 0);
                    offsetY -=3D (parent.scrollTop || 0);
                }
                var parentPosition =3D (parent && parent.style) ? =
parent.style.position : null;

                                elementPositioned =3D elementPositioned =
|| (parentPosition && (parentPosition !=3D=3D "static"));
            }


            return new Sys.UI.Point(offsetX, offsetY);
        }
        break;
    default:
        Sys.UI.DomElement.getLocation =3D function =
Sys$UI$DomElement$getLocation(element) {
            /// <param name=3D"element" domElement=3D"true"></param>
            /// <returns type=3D"Sys.UI.Point"></returns>
            var e =3D Function._validateParams(arguments, [
                {name: "element", domElement: true}
            ]);
            if (e) throw e;

                        if ((element.window && (element.window =3D=3D=3D =
element)) || element.nodeType =3D=3D=3D 9) return new Sys.UI.Point(0,0);

            var offsetX =3D 0;
            var offsetY =3D 0;
            var previous =3D null;
            var previousStyle =3D null;
            var currentStyle =3D null;
            for (var parent =3D element; parent; previous =3D parent, =
previousStyle =3D currentStyle, parent =3D parent.offsetParent) {
                var tagName =3D parent.tagName;
                currentStyle =3D =
Sys.UI.DomElement._getCurrentStyle(parent);

                                                if ((parent.offsetLeft =
|| parent.offsetTop) &&
                    !((tagName =3D=3D=3D "BODY") &&
                    (!previousStyle || previousStyle.position !=3D=3D =
"absolute"))) {

                    offsetX +=3D parent.offsetLeft;
                    offsetY +=3D parent.offsetTop;
                }

                                                if (previous !=3D=3D =
null && currentStyle) {
                                                                         =
                                                                   if =
((tagName !=3D=3D "TABLE") && (tagName !=3D=3D "TD") && (tagName !=3D=3D =
"HTML")) {
                        offsetX +=3D =
parseInt(currentStyle.borderLeftWidth) || 0;
                        offsetY +=3D =
parseInt(currentStyle.borderTopWidth) || 0;
                    }
                    if (tagName =3D=3D=3D "TABLE" &&
                        (currentStyle.position =3D=3D=3D "relative" || =
currentStyle.position =3D=3D=3D "absolute")) {
                        offsetX +=3D parseInt(currentStyle.marginLeft) =
|| 0;
                        offsetY +=3D parseInt(currentStyle.marginTop) || =
0;
                    }
                }
            }

            currentStyle =3D =
Sys.UI.DomElement._getCurrentStyle(element);
            var elementPosition =3D currentStyle ? currentStyle.position =
: null;
            var elementPositioned =3D elementPosition && =
(elementPosition !=3D=3D "static");
                        if (!elementPosition || (elementPosition !=3D=3D =
"absolute")) {
                                                                         =
       for (var parent =3D element.parentNode; parent; parent =3D =
parent.parentNode) {
                                                                         =
       tagName =3D parent.tagName;

                    if ((tagName !=3D=3D "BODY") && (tagName !=3D=3D =
"HTML") && (parent.scrollLeft || parent.scrollTop)) {

                        offsetX -=3D (parent.scrollLeft || 0);
                        offsetY -=3D (parent.scrollTop || 0);

                        currentStyle =3D =
Sys.UI.DomElement._getCurrentStyle(parent);
                        offsetX +=3D =
parseInt(currentStyle.borderLeftWidth) || 0;
                        offsetY +=3D =
parseInt(currentStyle.borderTopWidth) || 0;
                    }
                }
            }

            return new Sys.UI.Point(offsetX, offsetY);
        }
        break;

}


Sys.UI.DomElement.removeCssClass =3D function =
Sys$UI$DomElement$removeCssClass(element, className) {
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"className" type=3D"String"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "className", type: String}
    ]);
    if (e) throw e;

    var currentClassName =3D ' ' + element.className + ' ';
    var index =3D currentClassName.indexOf(' ' + className + ' ');
    if (index >=3D 0) {
        element.className =3D (currentClassName.substr(0, index) + ' ' +
            currentClassName.substring(index + className.length + 1, =
currentClassName.length)).trim();
    }
}

Sys.UI.DomElement.setLocation =3D function =
Sys$UI$DomElement$setLocation(element, x, y) {
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"x" type=3D"Number" integer=3D"true"></param>
    /// <param name=3D"y" type=3D"Number" integer=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "x", type: Number, integer: true},
        {name: "y", type: Number, integer: true}
    ]);
    if (e) throw e;

    var style =3D element.style;
    style.position =3D 'absolute';
    style.left =3D x + "px";
    style.top =3D y + "px";
}

Sys.UI.DomElement.toggleCssClass =3D function =
Sys$UI$DomElement$toggleCssClass(element, className) {
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"className" type=3D"String"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "className", type: String}
    ]);
    if (e) throw e;

    if (Sys.UI.DomElement.containsCssClass(element, className)) {
        Sys.UI.DomElement.removeCssClass(element, className);
    }
    else {
        Sys.UI.DomElement.addCssClass(element, className);
    }
}

Sys.UI.DomElement._getCurrentStyle =3D function =
Sys$UI$DomElement$_getCurrentStyle(element) {
    var w =3D (element.ownerDocument ? element.ownerDocument : =
element.documentElement).defaultView;
    return ((w && (element !=3D=3D w) && w.getComputedStyle) ? =
w.getComputedStyle(element, null) : element.style);
}
Sys.UI.Behavior =3D function Sys$UI$Behavior(element) {
    /// <param name=3D"element" domElement=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;

    Sys.UI.Behavior.initializeBase(this);

    this._element =3D element;

    var behaviors =3D element._behaviors;
    if (!behaviors) {
        element._behaviors =3D [this];
    }
    else {
        behaviors[behaviors.length] =3D this;
    }
}


    function Sys$UI$Behavior$get_element() {
        /// <value domElement=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._element;
    }
    function Sys$UI$Behavior$get_id() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        var baseId =3D Sys.UI.Behavior.callBaseMethod(this, 'get_id');
        if (baseId) return baseId;
        if (!this._element || !this._element.id) return '';
        return this._element.id + '$' + this.get_name();
    }
    function Sys$UI$Behavior$get_name() {
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this._name) return this._name;
        var name =3D Object.getTypeName(this);
        var i =3D name.lastIndexOf('.');
        if (i !=3D -1) name =3D name.substr(i + 1);
        if (!this.get_isInitialized()) this._name =3D name;
        return name;
    }
    function Sys$UI$Behavior$set_name(value) {
        if ((value =3D=3D=3D '') || (value.charAt(0) =3D=3D=3D ' ') || =
(value.charAt(value.length - 1) =3D=3D=3D ' '))
            throw Error.argument('value', Sys.Res.invalidId);
        if (typeof(this._element[value]) !=3D=3D 'undefined')
            throw =
Error.invalidOperation(String.format(Sys.Res.behaviorDuplicateName, =
value));
        if (this.get_isInitialized()) throw =
Error.invalidOperation(Sys.Res.cantSetNameAfterInit);
        this._name =3D value;
    }
    function Sys$UI$Behavior$initialize() {
        Sys.UI.Behavior.callBaseMethod(this, 'initialize');
        var name =3D this.get_name();
        if (name) this._element[name] =3D this;
    }
    function Sys$UI$Behavior$dispose() {
        Sys.UI.Behavior.callBaseMethod(this, 'dispose');
        if (this._element) {
            var name =3D this.get_name();
            if (name) {
                this._element[name] =3D null;
            }
            Array.remove(this._element._behaviors, this);
            delete this._element;
        }
    }
Sys.UI.Behavior.prototype =3D {
    _name: null,
    get_element: Sys$UI$Behavior$get_element,
    get_id: Sys$UI$Behavior$get_id,
    get_name: Sys$UI$Behavior$get_name,
    set_name: Sys$UI$Behavior$set_name,
    initialize: Sys$UI$Behavior$initialize,
    dispose: Sys$UI$Behavior$dispose
}
Sys.UI.Behavior.registerClass('Sys.UI.Behavior', Sys.Component);

Sys.UI.Behavior.getBehaviorByName =3D function =
Sys$UI$Behavior$getBehaviorByName(element, name) {
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"name" type=3D"String"></param>
    /// <returns type=3D"Sys.UI.Behavior" mayBeNull=3D"true"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "name", type: String}
    ]);
    if (e) throw e;

    var b =3D element[name];
    return (b && Sys.UI.Behavior.isInstanceOfType(b)) ? b : null;
}

Sys.UI.Behavior.getBehaviors =3D function =
Sys$UI$Behavior$getBehaviors(element) {
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <returns type=3D"Array" =
elementType=3D"Sys.UI.Behavior"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;

    if (!element._behaviors) return [];
    return Array.clone(element._behaviors);
}

Sys.UI.Behavior.getBehaviorsByType =3D function =
Sys$UI$Behavior$getBehaviorsByType(element, type) {
    /// <param name=3D"element" domElement=3D"true"></param>
    /// <param name=3D"type" type=3D"Type"></param>
    /// <returns type=3D"Array" =
elementType=3D"Sys.UI.Behavior"></returns>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true},
        {name: "type", type: Type}
    ]);
    if (e) throw e;

    var behaviors =3D element._behaviors;
    var results =3D [];
    if (behaviors) {
        for (var i =3D 0, l =3D behaviors.length; i < l; i++) {
            if (type.isInstanceOfType(behaviors[i])) {
                results[results.length] =3D behaviors[i];
            }
        }
    }
    return results;
}
Sys.UI.VisibilityMode =3D function Sys$UI$VisibilityMode() {
    /// <field name=3D"hide" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    /// <field name=3D"collapse" type=3D"Number" integer=3D"true" =
static=3D"true"></field>
    if (arguments.length !=3D=3D 0) throw Error.parameterCount();
    throw Error.notImplemented();
}



Sys.UI.VisibilityMode.prototype =3D {
    hide: 0,
    collapse: 1
}
Sys.UI.VisibilityMode.registerEnum("Sys.UI.VisibilityMode");

Sys.UI.Control =3D function Sys$UI$Control(element) {
    /// <param name=3D"element" domElement=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "element", domElement: true}
    ]);
    if (e) throw e;

    if (typeof(element.control) !=3D 'undefined') throw =
Error.invalidOperation(Sys.Res.controlAlreadyDefined);
    Sys.UI.Control.initializeBase(this);

    this._element =3D element;
    element.control =3D this;

    this._oldDisplayMode =3D this._element.style.display;
    if (!this._oldDisplayMode || (this._oldDisplayMode =3D=3D 'none')) {
        this._oldDisplayMode =3D '';
    }
}




    function Sys$UI$Control$get_element() {
        /// <value domElement=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._element;
    }
    function Sys$UI$Control$get_id() {
        /// <value type=3D"String"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (!this._element) return '';
        return this._element.id;
    }
    function Sys$UI$Control$set_id(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: String}]);
        if (e) throw e;

        throw Error.invalidOperation(Sys.Res.cantSetId);
    }
    function Sys$UI$Control$get_parent() {
        /// <value type=3D"Sys.UI.Control"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        if (this._parent) {
            return this._parent;
        }
        else {
            var parentElement =3D this._element.parentNode;
            while (parentElement) {
                if (parentElement.control) {
                    return parentElement.control;
                }
                parentElement =3D parentElement.parentNode;
            }
            return null;
        }
    }
    function Sys$UI$Control$set_parent(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Sys.UI.Control}]);
        if (e) throw e;

        var parents =3D [this];
        var current =3D value;
        while (current) {
            if (Array.contains(parents, current)) throw =
Error.invalidOperation(Sys.Res.circularParentChain);
            parents[parents.length] =3D current;
            current =3D current.get_parent();
        }
        this._parent =3D value;
    }
    function Sys$UI$Control$get_visibilityMode() {
        /// <value type=3D"Sys.UI.VisibilityMode"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._visibilityMode;
    }
    function Sys$UI$Control$set_visibilityMode(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Sys.UI.VisibilityMode}]);
        if (e) throw e;

        if (this._visibilityMode !=3D=3D value) {
            this._visibilityMode =3D value;
            if (this.get_visible() =3D=3D=3D false) {
                if (this._visibilityMode =3D=3D=3D =
Sys.UI.VisibilityMode.hide) {
                    this._element.style.display =3D =
this._oldDisplayMode;
                }
                else {
                    this._element.style.display =3D 'none';
                }
            }
        }
        this._visibilityMode =3D value;
    }
    function Sys$UI$Control$get_visible() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return (this._element.style.visibility !=3D 'hidden');
    }
    function Sys$UI$Control$set_visible(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Boolean}]);
        if (e) throw e;

        if (value !=3D this.get_visible()) {
            this._element.style.visibility =3D value ? 'visible' : =
'hidden';
            if (value || (this._visibilityMode =3D=3D=3D =
Sys.UI.VisibilityMode.hide)) {
                this._element.style.display =3D this._oldDisplayMode;
            }
            else {
                this._element.style.display =3D 'none';
            }
        }
    }
    function Sys$UI$Control$addCssClass(className) {
        /// <param name=3D"className" type=3D"String"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "className", type: String}
        ]);
        if (e) throw e;

        Sys.UI.DomElement.addCssClass(this._element, className);
    }
    function Sys$UI$Control$dispose() {
        Sys.UI.Control.callBaseMethod(this, 'dispose');
        if (this._element) {
            this._element.control =3D undefined;
            delete this._element;
        }
    }
    function Sys$UI$Control$initialize() {
        Sys.UI.Control.callBaseMethod(this, 'initialize');
        var elt =3D this._element;
    }
    function Sys$UI$Control$onBubbleEvent(source, args) {
        /// <param name=3D"source"></param>
        /// <param name=3D"args" type=3D"Sys.EventArgs"></param>
        /// <returns type=3D"Boolean"></returns>
        var e =3D Function._validateParams(arguments, [
            {name: "source"},
            {name: "args", type: Sys.EventArgs}
        ]);
        if (e) throw e;

        return false;
    }
    function Sys$UI$Control$raiseBubbleEvent(source, args) {
        /// <param name=3D"source"></param>
        /// <param name=3D"args" type=3D"Sys.EventArgs"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "source"},
            {name: "args", type: Sys.EventArgs}
        ]);
        if (e) throw e;

        var currentTarget =3D this.get_parent();
        while (currentTarget) {
            if (currentTarget.onBubbleEvent(source, args)) {
                return;
            }
            currentTarget =3D currentTarget.get_parent();
        }
    }
    function Sys$UI$Control$removeCssClass(className) {
        /// <param name=3D"className" type=3D"String"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "className", type: String}
        ]);
        if (e) throw e;

        Sys.UI.DomElement.removeCssClass(this._element, className);
    }
    function Sys$UI$Control$toggleCssClass(className) {
        /// <param name=3D"className" type=3D"String"></param>
        var e =3D Function._validateParams(arguments, [
            {name: "className", type: String}
        ]);
        if (e) throw e;

        Sys.UI.DomElement.toggleCssClass(this._element, className);
    }
Sys.UI.Control.prototype =3D {
    _parent: null,
    _visibilityMode: Sys.UI.VisibilityMode.hide,

    get_element: Sys$UI$Control$get_element,
    get_id: Sys$UI$Control$get_id,
    set_id: Sys$UI$Control$set_id,
    get_parent: Sys$UI$Control$get_parent,
    set_parent: Sys$UI$Control$set_parent,
    get_visibilityMode: Sys$UI$Control$get_visibilityMode,
    set_visibilityMode: Sys$UI$Control$set_visibilityMode,
    get_visible: Sys$UI$Control$get_visible,
    set_visible: Sys$UI$Control$set_visible,
    addCssClass: Sys$UI$Control$addCssClass,
    dispose: Sys$UI$Control$dispose,
    initialize: Sys$UI$Control$initialize,
    onBubbleEvent: Sys$UI$Control$onBubbleEvent,
    raiseBubbleEvent: Sys$UI$Control$raiseBubbleEvent,
    removeCssClass: Sys$UI$Control$removeCssClass,
    toggleCssClass: Sys$UI$Control$toggleCssClass
}
Sys.UI.Control.registerClass('Sys.UI.Control', Sys.Component);

Type.registerNamespace('Sys');
Sys.Res=3D{
"argumentTypeName":"Value is not the name of an existing type.",
"methodRegisteredTwice":"Method {0} has already been registered.",
"cantSetIdAfterInit":"The id property can\u0027t be set on this object =
after initialization.",
"componentCantSetIdAfterAddedToApp":"The id property of a component =
can\u0027t be set after it\u0027s been added to the Application =
object.",
"behaviorDuplicateName":"A behavior with name \u0027{0}\u0027 already =
exists or it is the name of an existing property on the target =
element.",
"notATypeName":"Value is not a valid type name.",
"typeShouldBeTypeOrString":"Value is not a valid type or a valid type =
name.",
"boolTrueOrFalse":"Value must be \u0027true\u0027 or =
\u0027false\u0027.",
"stringFormatInvalid":"The format string is invalid.",
"referenceNotFound":"Component \u0027{0}\u0027 was not found.",
"enumReservedName":"\u0027{0}\u0027 is a reserved name that can\u0027t =
be used as an enum value name.",
"eventHandlerNotFound":"Handler not found.",
"circularParentChain":"The chain of control parents can\u0027t have =
circular references.",
"undefinedEvent":"\u0027{0}\u0027 is not an event.",
"notAMethod":"{0} is not a method.",
"propertyUndefined":"\u0027{0}\u0027 is not a property or an existing =
field.",
"eventHandlerInvalid":"Handler was not added through the =
Sys.UI.DomEvent.addHandler method.",
"scriptLoadFailedDebug":"The script \u0027{0}\u0027 failed to load. =
Check for:\r\n Inaccessible path.\r\n Script errors. (IE) Enable =
\u0027Display a notification about every script error\u0027 under =
advanced settings.\r\n Missing call to =
Sys.Application.notifyScriptLoaded().",
"propertyNotWritable":"\u0027{0}\u0027 is not a writable property.",
"enumInvalidValueName":"\u0027{0}\u0027 is not a valid name for an enum =
value.",
"controlAlreadyDefined":"A control is already associated with the =
element.",
"namespaceContainsObject":"Object {0} already exists and is not a =
namespace.",
"cantAddNonFunctionhandler":"Can\u0027t add a handler that is not a =
function.",
"scriptLoaderAlreadyLoading":"ScriptLoader.loadScripts cannot be called =
while the ScriptLoader is already loading scripts.",
"invalidNameSpace":"Value is not a valid namespace identifier.",
"notAnInterface":"Value is not a valid interface.",
"eventHandlerNotFunction":"Handler must be a function.",
"propertyNotAnArray":"\u0027{0}\u0027 is not an Array property.",
"typeRegisteredTwice":"Type {0} has already been registered.",
"cantSetNameAfterInit":"The name property can\u0027t be set on this =
object after initialization.",
"appDuplicateComponent":"Two components with the same id \u0027{0}\u0027 =
can\u0027t be added to the application.",
"appComponentMustBeInitialized":"Components must be initialized before =
they are added to the Application object.",
"baseNotAClass":"Value is not a class.",
"methodNotFound":"No method found with name \u0027{0}\u0027.",
"arrayParseBadFormat":"Value must be a valid string representation for =
an array. It must start with a \u0027[\u0027 and end with a =
\u0027]\u0027.",
"cantSetId":"The id property can\u0027t be set on this object.",
"stringFormatBraceMismatch":"The format string contains an unmatched =
opening or closing brace.",
"enumValueNotInteger":"An enumeration definition can only contain =
integer values.",
"propertyNullOrUndefined":"Cannot set the properties of \u0027{0}\u0027 =
because it returned a null value.",
"componentCantSetIdTwice":"The id property of a component can\u0027t be =
set more than once.",
"createComponentOnDom":"Value must be null for Components that are not =
Controls or Behaviors.",
"createNotComponent":"{0} does not derive from Sys.Component.",
"createNoDom":"Value must not be null for Controls and Behaviors.",
"cantAddWithoutId":"Can\u0027t add a component that doesn\u0027t have an =
id.",
"badTypeName":"Value is not the name of the type being registered or the =
name is a reserved word.",
"argumentInteger":"Value must be an integer.",
"scriptLoadMultipleCallbacks":"The script \u0027{0}\u0027 contains =
multiple calls to Sys.Application.notifyScriptLoaded(). Only one is =
allowed.",
"invokeCalledTwice":"Cannot call invoke more than once.",
"webServiceFailed":"The server method \u0027{0}\u0027 failed with the =
following error: {1}",
"argumentType":"Object cannot be converted to the required type.",
"argumentNull":"Value cannot be null.",
"controlCantSetId":"The id property can\u0027t be set on a control.",
"formatBadFormatSpecifier":"Format specifier was invalid.",
"webServiceFailedNoMsg":"The server method \u0027{0}\u0027 failed.",
"argumentDomElement":"Value must be a DOM element.",
"invalidExecutorType":"Could not create a valid =
Sys.Net.WebRequestExecutor from: {0}.",
"cannotCallBeforeResponse":"Cannot call {0} when responseAvailable is =
false.",
"actualValue":"Actual value was {0}.",
"enumInvalidValue":"\u0027{0}\u0027 is not a valid value for enum {1}.",
"scriptLoadFailed":"The script \u0027{0}\u0027 could not be loaded.",
"parameterCount":"Parameter count mismatch.",
"cannotDeserializeEmptyString":"Cannot deserialize empty string.",
"formatInvalidString":"Input string was not in a correct format.",
"invalidTimeout":"Value must be greater than or equal to zero.",
"cannotAbortBeforeStart":"Cannot abort when executor has not started.",
"argument":"Value does not fall within the expected range.",
"cannotDeserializeInvalidJson":"Cannot deserialize. The data does not =
correspond to valid JSON.",
"invalidHttpVerb":"httpVerb cannot be set to an empty or null string.",
"nullWebRequest":"Cannot call executeRequest with a null webRequest.",
"eventHandlerInvalid":"Handler was not added through the =
Sys.UI.DomEvent.addHandler method.",
"cannotSerializeNonFiniteNumbers":"Cannot serialize non finite =
numbers.",
"argumentUndefined":"Value cannot be undefined.",
"webServiceInvalidReturnType":"The server method \u0027{0}\u0027 =
returned an invalid type. Expected type: {1}",
"servicePathNotSet":"The path to the web service has not been set.",
"argumentTypeWithTypes":"Object of type \u0027{0}\u0027 cannot be =
converted to type \u0027{1}\u0027.",
"cannotCallOnceStarted":"Cannot call {0} once started.",
"badBaseUrl1":"Base URL does not contain ://.",
"badBaseUrl2":"Base URL does not contain another /.",
"badBaseUrl3":"Cannot find last / in base URL.",
"setExecutorAfterActive":"Cannot set executor after it has become =
active.",
"paramName":"Parameter name: {0}",
"cannotCallOutsideHandler":"Cannot call {0} outside of a completed event =
handler.",
"format":"One of the identified items was in an invalid format.",
"assertFailedCaller":"Assertion Failed: {0}\r\nat {1}",
"argumentOutOfRange":"Specified argument was out of the range of valid =
values.",
"webServiceTimedOut":"The server method \u0027{0}\u0027 timed out.",
"notImplemented":"The method or operation is not implemented.",
"assertFailed":"Assertion Failed: {0}",
"invalidOperation":"Operation is not valid due to the current state of =
the object.",
"breakIntoDebugger":"{0}\r\n\r\nBreak into debugger?"
};

if(typeof(Sys)!=3D=3D'undefined')Sys.Application.notifyScriptLoaded();
------=_NextPart_000_0000_01C9BD3B.EE02A280
Content-Type: application/octet-stream
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.guglionesionline.it/ScriptResource.axd?d=xw_1pgPl5gPouCKVqh8yFUu1VCQnS8kUSHG97CcyYa72bVoY-ibINVnHGqZD883RxTf3Sl6XJQk1&t=633445415820000000

=EF=BB=BF//--------------------------------------------------------------=
---------
// Copyright (C) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------=

// MicrosoftAjaxWebForms.js
// Microsoft AJAX ASP.NET WebForms Framework.


Type.registerNamespace('Sys.WebForms');


Sys.WebForms.BeginRequestEventArgs =3D function =
Sys$WebForms$BeginRequestEventArgs(request, postBackElement) {
    /// <param name=3D"request" type=3D"Sys.Net.WebRequest"></param>
    /// <param name=3D"postBackElement" domElement=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "request", type: Sys.Net.WebRequest},
        {name: "postBackElement", domElement: true}
    ]);
    if (e) throw e;


    Sys.WebForms.BeginRequestEventArgs.initializeBase(this);
    this._request =3D request;
    this._postBackElement =3D postBackElement;
}


    function Sys$WebForms$BeginRequestEventArgs$get_postBackElement() {
        /// <value domElement=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._postBackElement;
    }

    function Sys$WebForms$BeginRequestEventArgs$get_request() {
        /// <value type=3D"Sys.Net.WebRequest"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._request;
    }
Sys.WebForms.BeginRequestEventArgs.prototype =3D {
    get_postBackElement: =
Sys$WebForms$BeginRequestEventArgs$get_postBackElement,

    get_request: Sys$WebForms$BeginRequestEventArgs$get_request
}

Sys.WebForms.BeginRequestEventArgs.registerClass('Sys.WebForms.BeginReque=
stEventArgs', Sys.EventArgs);

Sys.WebForms.EndRequestEventArgs =3D function =
Sys$WebForms$EndRequestEventArgs(error, dataItems, response) {
    /// <param name=3D"error" type=3D"Error" mayBeNull=3D"true"></param>
    /// <param name=3D"dataItems" type=3D"Object" =
mayBeNull=3D"true"></param>
    /// <param name=3D"response" =
type=3D"Sys.Net.WebRequestExecutor"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "error", type: Error, mayBeNull: true},
        {name: "dataItems", type: Object, mayBeNull: true},
        {name: "response", type: Sys.Net.WebRequestExecutor}
    ]);
    if (e) throw e;


    Sys.WebForms.EndRequestEventArgs.initializeBase(this);
    this._errorHandled =3D false;
    this._error =3D error;
        this._dataItems =3D dataItems || new Object();
    this._response =3D response;
}


    function Sys$WebForms$EndRequestEventArgs$get_dataItems() {
        /// <value type=3D"Object"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._dataItems;
    }

    function Sys$WebForms$EndRequestEventArgs$get_error() {
        /// <value type=3D"Error"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._error;
    }

    function Sys$WebForms$EndRequestEventArgs$get_errorHandled() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._errorHandled;
    }
    function Sys$WebForms$EndRequestEventArgs$set_errorHandled(value) {
        var e =3D Function._validateParams(arguments, [{name: "value", =
type: Boolean}]);
        if (e) throw e;

        this._errorHandled =3D value;
    }

    function Sys$WebForms$EndRequestEventArgs$get_response() {
        /// <value type=3D"Sys.Net.WebRequestExecutor"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._response;
    }
Sys.WebForms.EndRequestEventArgs.prototype =3D {
    get_dataItems: Sys$WebForms$EndRequestEventArgs$get_dataItems,

    get_error: Sys$WebForms$EndRequestEventArgs$get_error,

    get_errorHandled: Sys$WebForms$EndRequestEventArgs$get_errorHandled,
    set_errorHandled: Sys$WebForms$EndRequestEventArgs$set_errorHandled,

    get_response: Sys$WebForms$EndRequestEventArgs$get_response
}

Sys.WebForms.EndRequestEventArgs.registerClass('Sys.WebForms.EndRequestEv=
entArgs', Sys.EventArgs);

Sys.WebForms.InitializeRequestEventArgs =3D function =
Sys$WebForms$InitializeRequestEventArgs(request, postBackElement) {
    /// <param name=3D"request" type=3D"Sys.Net.WebRequest"></param>
    /// <param name=3D"postBackElement" domElement=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "request", type: Sys.Net.WebRequest},
        {name: "postBackElement", domElement: true}
    ]);
    if (e) throw e;


    Sys.WebForms.InitializeRequestEventArgs.initializeBase(this);
    this._request =3D request;
    this._postBackElement =3D postBackElement;
}


    function =
Sys$WebForms$InitializeRequestEventArgs$get_postBackElement() {
        /// <value domElement=3D"true"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._postBackElement;
    }

    function Sys$WebForms$InitializeRequestEventArgs$get_request() {
        /// <value type=3D"Sys.Net.WebRequest"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._request;
    }
Sys.WebForms.InitializeRequestEventArgs.prototype =3D {
    get_postBackElement: =
Sys$WebForms$InitializeRequestEventArgs$get_postBackElement,

    get_request: Sys$WebForms$InitializeRequestEventArgs$get_request
}

Sys.WebForms.InitializeRequestEventArgs.registerClass('Sys.WebForms.Initi=
alizeRequestEventArgs', Sys.CancelEventArgs);

Sys.WebForms.PageLoadedEventArgs =3D function =
Sys$WebForms$PageLoadedEventArgs(panelsUpdated, panelsCreated, =
dataItems) {
    /// <param name=3D"panelsUpdated" type=3D"Array"></param>
    /// <param name=3D"panelsCreated" type=3D"Array"></param>
    /// <param name=3D"dataItems" type=3D"Object" =
mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "panelsUpdated", type: Array},
        {name: "panelsCreated", type: Array},
        {name: "dataItems", type: Object, mayBeNull: true}
    ]);
    if (e) throw e;

    Sys.WebForms.PageLoadedEventArgs.initializeBase(this);

    this._panelsUpdated =3D panelsUpdated;
    this._panelsCreated =3D panelsCreated;
        this._dataItems =3D dataItems || new Object();
}


    function Sys$WebForms$PageLoadedEventArgs$get_dataItems() {
        /// <value type=3D"Object"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._dataItems;
    }

    function Sys$WebForms$PageLoadedEventArgs$get_panelsCreated() {
        /// <value type=3D"Array"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._panelsCreated;
    }

    function Sys$WebForms$PageLoadedEventArgs$get_panelsUpdated() {
        /// <value type=3D"Array"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._panelsUpdated;
    }
Sys.WebForms.PageLoadedEventArgs.prototype =3D {
    get_dataItems: Sys$WebForms$PageLoadedEventArgs$get_dataItems,

    get_panelsCreated: =
Sys$WebForms$PageLoadedEventArgs$get_panelsCreated,

    get_panelsUpdated: =
Sys$WebForms$PageLoadedEventArgs$get_panelsUpdated
}

Sys.WebForms.PageLoadedEventArgs.registerClass('Sys.WebForms.PageLoadedEv=
entArgs', Sys.EventArgs);

Sys.WebForms.PageLoadingEventArgs =3D function =
Sys$WebForms$PageLoadingEventArgs(panelsUpdating, panelsDeleting, =
dataItems) {
    /// <param name=3D"panelsUpdating" type=3D"Array"></param>
    /// <param name=3D"panelsDeleting" type=3D"Array"></param>
    /// <param name=3D"dataItems" type=3D"Object" =
mayBeNull=3D"true"></param>
    var e =3D Function._validateParams(arguments, [
        {name: "panelsUpdating", type: Array},
        {name: "panelsDeleting", type: Array},
        {name: "dataItems", type: Object, mayBeNull: true}
    ]);
    if (e) throw e;

    Sys.WebForms.PageLoadingEventArgs.initializeBase(this);

    this._panelsUpdating =3D panelsUpdating;
    this._panelsDeleting =3D panelsDeleting;
        this._dataItems =3D dataItems || new Object();
}


    function Sys$WebForms$PageLoadingEventArgs$get_dataItems() {
        /// <value type=3D"Object"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._dataItems;
    }

    function Sys$WebForms$PageLoadingEventArgs$get_panelsDeleting() {
        /// <value type=3D"Array"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._panelsDeleting;
    }

    function Sys$WebForms$PageLoadingEventArgs$get_panelsUpdating() {
        /// <value type=3D"Array"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._panelsUpdating;
    }
Sys.WebForms.PageLoadingEventArgs.prototype =3D {
    get_dataItems: Sys$WebForms$PageLoadingEventArgs$get_dataItems,

    get_panelsDeleting: =
Sys$WebForms$PageLoadingEventArgs$get_panelsDeleting,

    get_panelsUpdating: =
Sys$WebForms$PageLoadingEventArgs$get_panelsUpdating
}

Sys.WebForms.PageLoadingEventArgs.registerClass('Sys.WebForms.PageLoading=
EventArgs', Sys.EventArgs);
Sys.WebForms.PageRequestManager =3D function =
Sys$WebForms$PageRequestManager() {
    this._form =3D null;
    this._updatePanelIDs =3D null;
    this._updatePanelClientIDs =3D null;
    this._oldUpdatePanelIDs =3D null;
    this._childUpdatePanelIDs =3D null;
    this._panelsToRefreshIDs =3D null;
    this._updatePanelHasChildrenAsTriggers =3D null;
    this._asyncPostBackControlIDs =3D null;
    this._asyncPostBackControlClientIDs =3D null;
    this._postBackControlIDs =3D null;
    this._postBackControlClientIDs =3D null;
    this._scriptManagerID =3D null;
    this._pageLoadedHandler =3D null;

    this._additionalInput =3D null;
    this._onsubmit =3D null;
    this._onSubmitStatements =3D [];
    this._originalDoPostBack =3D null;
    this._postBackSettings =3D null;
    this._request =3D null;
    this._onFormSubmitHandler =3D null;
    this._onFormElementClickHandler =3D null;
    this._onWindowUnloadHandler =3D null;
    this._asyncPostBackTimeout =3D null;

    this._controlIDToFocus =3D null;
    this._scrollPosition =3D null;
    this._dataItems =3D null;
    this._response =3D null;
    this._processingRequest =3D false;
    this._scriptDisposes =3D {};
}



    function Sys$WebForms$PageRequestManager$_get_eventHandlerList() {
        if (!this._events) {
            this._events =3D new Sys.EventHandlerList();
        }
        return this._events;
    }

    function Sys$WebForms$PageRequestManager$get_isInAsyncPostBack() {
        /// <value type=3D"Boolean"></value>
        if (arguments.length !=3D=3D 0) throw Error.parameterCount();
        return this._request !=3D=3D null;
    }


    function Sys$WebForms$PageRequestManager$add_beginRequest(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().addHandler("beginRequest", =
handler);
    }
    function =
Sys$WebForms$PageRequestManager$remove_beginRequest(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().removeHandler("beginRequest", =
handler);
    }

    function Sys$WebForms$PageRequestManager$add_endRequest(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().addHandler("endRequest", handler);
    }
    function Sys$WebForms$PageRequestManager$remove_endRequest(handler) =
{
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().removeHandler("endRequest", =
handler);
    }

    function =
Sys$WebForms$PageRequestManager$add_initializeRequest(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().addHandler("initializeRequest", =
handler);
    }
    function =
Sys$WebForms$PageRequestManager$remove_initializeRequest(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().removeHandler("initializeRequest", =
handler);
    }

    function Sys$WebForms$PageRequestManager$add_pageLoaded(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().addHandler("pageLoaded", handler);
    }
    function Sys$WebForms$PageRequestManager$remove_pageLoaded(handler) =
{
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().removeHandler("pageLoaded", =
handler);
    }

    function Sys$WebForms$PageRequestManager$add_pageLoading(handler) {
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().addHandler("pageLoading", handler);
    }
    function Sys$WebForms$PageRequestManager$remove_pageLoading(handler) =
{
        var e =3D Function._validateParams(arguments, [{name: "handler", =
type: Function}]);
        if (e) throw e;

        this._get_eventHandlerList().removeHandler("pageLoading", =
handler);
    }

    function Sys$WebForms$PageRequestManager$abortPostBack() {
        if (!this._processingRequest && this._request) {
            this._request.get_executor().abort();
            this._request =3D null;
        }
    }

    function =
Sys$WebForms$PageRequestManager$_createPageRequestManagerTimeoutError() =
{
                var displayMessage =3D =
"Sys.WebForms.PageRequestManagerTimeoutException: " + =
Sys.WebForms.Res.PRM_TimeoutError;
        var e =3D Error.create(displayMessage, {name: =
'Sys.WebForms.PageRequestManagerTimeoutException'});
        e.popStackFrame();
        return e;
    }

    function =
Sys$WebForms$PageRequestManager$_createPageRequestManagerServerError(http=
StatusCode, message) {
                var displayMessage =3D message || =
("Sys.WebForms.PageRequestManagerServerErrorException: " + =
String.format(Sys.WebForms.Res.PRM_ServerError, httpStatusCode));
        var e =3D Error.create(displayMessage, {
            name: 'Sys.WebForms.PageRequestManagerServerErrorException',
            httpStatusCode: httpStatusCode
        });
        e.popStackFrame();
        return e;
    }

    function =
Sys$WebForms$PageRequestManager$_createPageRequestManagerParserError(pars=
erErrorMessage) {
                var displayMessage =3D =
"Sys.WebForms.PageRequestManagerParserErrorException: " + =
String.format(Sys.WebForms.Res.PRM_ParserError, parserErrorMessage);
        var e =3D Error.create(displayMessage, {name: =
'Sys.WebForms.PageRequestManagerParserErrorException'});
        e.popStackFrame();
        return e;
    }

    function =
Sys$WebForms$PageRequestManager$_createPostBackSettings(async, panelID, =
sourceElement) {

        return { async:async, panelID:panelID, =
sourceElement:sourceElement };
    }

    function Sys$WebForms$PageRequestManager$_convertToClientIDs(source, =
destinationIDs, destinationClientIDs) {
        if (source) {
            for (var i =3D 0; i < source.length; i++) {
                Array.add(destinationIDs, source[i]);
                Array.add(destinationClientIDs, =
this._uniqueIDToClientID(source[i]));
            }
        }
    }

    function Sys$WebForms$PageRequestManager$_decodeString(encodedValue) =
{
        return encodedValue.replace(/\\\u00FF\\/g, =
"\u0000").replace(/\u00FF\u00FF/g, "\u00FF");
    }

    function Sys$WebForms$PageRequestManager$_destroyTree(element) {
                if (element.nodeType =3D=3D=3D 1) {
                                    var childNodes =3D =
element.childNodes;
            for (var i =3D childNodes.length - 1; i >=3D 0; i--) {
                var node =3D childNodes[i];
                if (node.nodeType =3D=3D=3D 1) {
                    if (node.dispose && typeof(node.dispose) =3D=3D=3D =
"function") {
                        node.dispose();
                    }
                    else if (node.control && =
typeof(node.control.dispose) =3D=3D=3D "function") {
                        node.control.dispose();
                    }
                    var behaviors =3D =
Sys.UI.Behavior.getBehaviors(node);
                    for (var j =3D behaviors.length - 1; j >=3D 0; j--) =
{
                        behaviors[j].dispose();
                    }
                    this._destroyTree(node);
                }
            }
        }
    }

    function Sys$WebForms$PageRequestManager$dispose() {
        if (this._form) {
            Sys.UI.DomEvent.removeHandler(this._form, 'submit', =
this._onFormSubmitHandler);
            Sys.UI.DomEvent.removeHandler(this._form, 'click', =
this._onFormElementClickHandler);
            Sys.UI.DomEvent.removeHandler(window, 'unload', =
this._onWindowUnloadHandler);
            Sys.UI.DomEvent.removeHandler(window, 'load', =
this._pageLoadedHandler);
        }

        if (this._originalDoPostBack) {
            window.__doPostBack =3D this._originalDoPostBack;
            this._originalDoPostBack =3D null;
        }

        this._form =3D null;
        this._updatePanelIDs =3D null;
        this._oldUpdatePanelIDs =3D null;
        this._childUpdatePanelIDs =3D null;
        this._updatePanelClientIDs =3D null;
        this._asyncPostBackControlIDs =3D null;
        this._asyncPostBackControlClientIDs =3D null;
        this._postBackControlIDs =3D null;
        this._postBackControlClientIDs =3D null;
        this._asyncPostBackTimeout =3D null;
        this._scrollPosition =3D null;
        this._dataItems =3D null;
    }


    function Sys$WebForms$PageRequestManager$_doPostBack(eventTarget, =
eventArgument) {
        this._additionalInput =3D null;

        var form =3D this._form;
        if (form.action !=3D=3D form._initialAction) {
                                    this._postBackSettings =3D =
this._createPostBackSettings(false, null, null);
        }
        else {
                        var clientID =3D =
this._uniqueIDToClientID(eventTarget);
            var postBackElement =3D document.getElementById(clientID);
            if (!postBackElement) {
                                                                         =
       if (Array.contains(this._asyncPostBackControlIDs, eventTarget)) {
                                        this._postBackSettings =3D =
this._createPostBackSettings(true, this._scriptManagerID + '|' + =
eventTarget, null);
                }
                else {
                    if (Array.contains(this._postBackControlIDs, =
eventTarget)) {
                                                this._postBackSettings =
=3D this._createPostBackSettings(false, null, null);
                    }
                    else {
                                                                         =
                       var nearestUniqueIDMatch =3D =
this._findNearestElement(eventTarget);
                        if (nearestUniqueIDMatch) {
                                                                         =
           this._postBackSettings =3D =
this._getPostBackSettings(nearestUniqueIDMatch, eventTarget);
                        }
                        else {
                                                                         =
           this._postBackSettings =3D =
this._createPostBackSettings(false, null, null);
                        }
                    }
                }
            }
            else {
                                                this._postBackSettings =
=3D this._getPostBackSettings(postBackElement, eventTarget);
            }
        }

        if (!this._postBackSettings.async) {
                                    form.onsubmit =3D this._onsubmit;
            this._originalDoPostBack(eventTarget, eventArgument);
            form.onsubmit =3D null;
            return;
        }

        form.__EVENTTARGET.value =3D eventTarget;
        form.__EVENTARGUMENT.value =3D eventArgument;
        this._onFormSubmit();
    }

    function Sys$WebForms$PageRequestManager$_elementContains(container, =
element) {
        while (element) {
            if (element =3D=3D=3D container) {
                return true;
            }
            element =3D element.parentNode;
        }
        return false;
    }

    function Sys$WebForms$PageRequestManager$_endPostBack(error, =
response) {
        this._processingRequest =3D false;

        this._request =3D null;
        this._additionalInput =3D null;

        var handler =3D =
this._get_eventHandlerList().getHandler("endRequest");
        var errorHandled =3D false;
        if (handler) {
            var eventArgs =3D new =
Sys.WebForms.EndRequestEventArgs(error, this._dataItems, response);
            handler(this, eventArgs);
            errorHandled =3D eventArgs.get_errorHandled();
        }
        this._dataItems =3D null;
        if (error && !errorHandled) {
            alert(error.message);
        }
    }



    function =
Sys$WebForms$PageRequestManager$_findNearestElement(uniqueID) {
        while (uniqueID.length > 0) {
            var clientID =3D this._uniqueIDToClientID(uniqueID);
            var element =3D document.getElementById(clientID);
            if (element) {
                return element;
            }
            var indexOfLastDollar =3D uniqueID.lastIndexOf('$');
            if (indexOfLastDollar =3D=3D=3D -1) {
                return null;
            }
            uniqueID =3D uniqueID.substring(0, indexOfLastDollar);
        }
        return null;
    }

    function Sys$WebForms$PageRequestManager$_findText(text, location) {
        var startIndex =3D Math.max(0, location - 20);
        var endIndex =3D Math.min(text.length, location + 20);
        return text.substring(startIndex, endIndex);
    }

    function =
Sys$WebForms$PageRequestManager$_getPageLoadedEventArgs(initialLoad) {
                                                                         =
                                                              =20
        var updated =3D [];
        var created =3D [];

                var oldIDs =3D this._oldUpdatePanelIDs || [];         =
var newIDs =3D this._updatePanelIDs;         var childIDs =3D =
this._childUpdatePanelIDs || [];         var refreshedIDs =3D =
this._panelsToRefreshIDs || [];=20
                for (var i =3D 0; i < refreshedIDs.length; i++) {
            Array.add(updated, =
document.getElementById(this._uniqueIDToClientID(refreshedIDs[i])));
        }

                        for (var i =3D 0; i < newIDs.length; i++) {
            if (initialLoad || Array.indexOf(childIDs, newIDs[i]) =
!=3D=3D -1) {
                Array.add(created, =
document.getElementById(this._uniqueIDToClientID(newIDs[i])));
            }
        }

        return new Sys.WebForms.PageLoadedEventArgs(updated, created, =
this._dataItems);
    }

    function Sys$WebForms$PageRequestManager$_getPageLoadingEventArgs() =
{
                                                                         =
                                                              =20
        var updated =3D [];
        var deleted =3D [];

        var oldIDs =3D this._oldUpdatePanelIDs;
        var newIDs =3D this._updatePanelIDs;
        var childIDs =3D this._childUpdatePanelIDs;
        var refreshedIDs =3D this._panelsToRefreshIDs;

                for (var i =3D 0; i < refreshedIDs.length; i++) {
            Array.add(updated, =
document.getElementById(this._uniqueIDToClientID(refreshedIDs[i])));
        }

                for (var i =3D 0; i < oldIDs.length; i++) {
            if (Array.indexOf(refreshedIDs, oldIDs[i]) =3D=3D=3D -1 &&
                (Array.indexOf(newIDs, oldIDs[i]) =3D=3D=3D -1 || =
Array.indexOf(childIDs, oldIDs[i]) > -1)) {
                Array.add(deleted, =
document.getElementById(this._uniqueIDToClientID(oldIDs[i])));
            }
        }

        return new Sys.WebForms.PageLoadingEventArgs(updated, deleted, =
this._dataItems);
    }

    function =
Sys$WebForms$PageRequestManager$_getPostBackSettings(element, =
elementUniqueID) {


        var originalElement =3D element;

                        var proposedSettings =3D null;

                        while (element) {
            if (element.id) {
                                if (!proposedSettings && =
Array.contains(this._asyncPostBackControlClientIDs, element.id)) {
                                        proposedSettings =3D =
this._createPostBackSettings(true, this._scriptManagerID + '|' + =
elementUniqueID, originalElement);
                }
                else {
                    if (!proposedSettings && =
Array.contains(this._postBackControlClientIDs, element.id)) {
                                                return =
this._createPostBackSettings(false, null, null);
                    }
                    else {
                        var indexOfPanel =3D =
Array.indexOf(this._updatePanelClientIDs, element.id);
                        if (indexOfPanel !=3D=3D -1) {
                                                        if =
(this._updatePanelHasChildrenAsTriggers[indexOfPanel]) {
                                                               =20
                                                                         =
                                                       return =
this._createPostBackSettings(true, this._updatePanelIDs[indexOfPanel] + =
'|' + elementUniqueID, originalElement);
                            }
                            else {
                                                                         =
                       return this._createPostBackSettings(true, =
this._scriptManagerID + '|' + elementUniqueID, originalElement);
                            }
                        }
                    }
                }

                                if (!proposedSettings && =
this._matchesParentIDInList(element.id, =
this._asyncPostBackControlClientIDs)) {
                                        proposedSettings =3D =
this._createPostBackSettings(true, this._scriptManagerID + '|' + =
elementUniqueID, originalElement);
                }
                else {
                    if (!proposedSettings && =
this._matchesParentIDInList(element.id, this._postBackControlClientIDs)) =
{
                                                return =
this._createPostBackSettings(false, null, null);
                    }
                }
            }

            element =3D element.parentNode;
        }

                                                if (!proposedSettings) {
                        return this._createPostBackSettings(false, null, =
null);
        }
        else {
            return proposedSettings;
        }
    }

    function Sys$WebForms$PageRequestManager$_getScrollPosition() {
        var d =3D document.documentElement;
        if (d && (this._validPosition(d.scrollLeft) || =
this._validPosition(d.scrollTop))) {
            return {
                x: d.scrollLeft,
                y: d.scrollTop
            };
        }
        else {
            d =3D document.body;
            if (d && (this._validPosition(d.scrollLeft) || =
this._validPosition(d.scrollTop))) {
                return {
                    x: d.scrollLeft,
                    y: d.scrollTop
                };
            }
            else {
                if (this._validPosition(window.pageXOffset) || =
this._validPosition(window.pageYOffset)) {
                    return {
                        x: window.pageXOffset,
                        y: window.pageYOffset
                    };
                }
                else {
                    return {
                        x: 0,
                        y: 0
                    };
                }
            }
        }
    }

    function =
Sys$WebForms$PageRequestManager$_initializeInternal(scriptManagerID, =
formElement) {
        this._scriptManagerID =3D scriptManagerID;

        this._form =3D formElement;

       =20
                this._form._initialAction =3D this._form.action;

        this._onsubmit =3D this._form.onsubmit;
        this._form.onsubmit =3D null;
        this._onFormSubmitHandler =3D Function.createDelegate(this, =
this._onFormSubmit);
        this._onFormElementClickHandler =3D =
Function.createDelegate(this, this._onFormElementClick);
        this._onWindowUnloadHandler =3D Function.createDelegate(this, =
this._onWindowUnload);
        Sys.UI.DomEvent.addHandler(this._form, 'submit', =
this._onFormSubmitHandler);
        Sys.UI.DomEvent.addHandler(this._form, 'click', =
this._onFormElementClickHandler);
        Sys.UI.DomEvent.addHandler(window, 'unload', =
this._onWindowUnloadHandler);

        this._originalDoPostBack =3D window.__doPostBack;
                if (this._originalDoPostBack) {
            window.__doPostBack =3D Function.createDelegate(this, =
this._doPostBack);
        }

        this._pageLoadedHandler =3D Function.createDelegate(this, =
this._pageLoadedInitialLoad);
        Sys.UI.DomEvent.addHandler(window, 'load', =
this._pageLoadedHandler);
    }

    function =
Sys$WebForms$PageRequestManager$_matchesParentIDInList(clientID, =
parentIDList) {
        for (var i =3D 0; i < parentIDList.length; i++) {
            if (clientID.startsWith(parentIDList[i] + "_")) {
                return true;
            }
        }
        return false;
    }

    function Sys$WebForms$PageRequestManager$_onFormElementClick(evt) {
        var element =3D evt.target;
        if (element.disabled) {
            return;
        }

                this._postBackSettings =3D =
this._getPostBackSettings(element, element.name);


        if (element.name) {
            if (element.tagName =3D=3D=3D 'INPUT') {
                var type =3D element.type;
                if (type =3D=3D=3D 'submit') {
                    this._additionalInput =3D element.name + '=3D' + =
encodeURIComponent(element.value);
                }
                else if (type =3D=3D=3D 'image') {
                    var x =3D evt.offsetX;
                    var y =3D evt.offsetY;
                    this._additionalInput =3D element.name + '.x=3D' + x =
+ '&' + element.name + '.y=3D' + y;
                }
            }
            else if ((element.tagName =3D=3D=3D 'BUTTON') && =
(element.name.length !=3D=3D 0) && (element.type =3D=3D=3D 'submit')) {
                this._additionalInput =3D element.name + '=3D' + =
encodeURIComponent(element.value);
            }
        }
    }

    function Sys$WebForms$PageRequestManager$_onFormSubmit(evt) {
        var continueSubmit =3D true;

                if (this._onsubmit) {
            continueSubmit =3D this._onsubmit();
        }

                if (continueSubmit) {
            for (var i =3D 0; i < this._onSubmitStatements.length; i++) =
{
                if (!this._onSubmitStatements[i]()) {
                    continueSubmit =3D false;
                    break;
                }
            }
        }

        if (!continueSubmit) {
            if (evt) {
                evt.preventDefault();
            }
            return;
        }

        var form =3D this._form;
        if (form.action !=3D=3D form._initialAction) {
                                    return;
        }

                        if (!this._postBackSettings.async) {
            return;
        }

                var formBody =3D new Sys.StringBuilder();
        formBody.append(this._scriptManagerID + '=3D' + =
this._postBackSettings.panelID + '&');

        var count =3D form.elements.length;
        for (var i =3D 0; i < count; i++) {
            var element =3D form.elements[i];
            var name =3D element.name;
            if (typeof(name) =3D=3D=3D "undefined" || (name =3D=3D=3D =
null) || (name.length =3D=3D=3D 0)) {
                continue;
            }

            var tagName =3D element.tagName;

            if (tagName =3D=3D=3D 'INPUT') {
                var type =3D element.type;
                if ((type =3D=3D=3D 'text') ||
                    (type =3D=3D=3D 'password') ||
                    (type =3D=3D=3D 'hidden') ||
                    (((type =3D=3D=3D 'checkbox') || (type =3D=3D=3D =
'radio')) && element.checked)) {
                    formBody.append(name);
                    formBody.append('=3D');
                    formBody.append(encodeURIComponent(element.value));
                    formBody.append('&');
                }
            }
            else if (tagName =3D=3D=3D 'SELECT') {
                var optionCount =3D element.options.length;
                for (var j =3D 0; j < optionCount; j++) {
                    var option =3D element.options[j];
                    if (option.selected) {
                        formBody.append(name);
                        formBody.append('=3D');
                        =
formBody.append(encodeURIComponent(option.value));
                        formBody.append('&');
                    }
                }
            }
            else if (tagName =3D=3D=3D 'TEXTAREA') {
                formBody.append(name);
                formBody.append('=3D');
                formBody.append(encodeURIComponent(element.value));
                formBody.append('&');
            }
        }

        if (this._additionalInput) {
            formBody.append(this._additionalInput);
            this._additionalInput =3D null;
        }

        var request =3D new Sys.Net.WebRequest();
        request.set_url(form.action);
        request.get_headers()['X-MicrosoftAjax'] =3D 'Delta=3Dtrue';
        request.get_headers()['Cache-Control'] =3D 'no-cache';
        request.set_timeout(this._asyncPostBackTimeout);
        request.add_completed(Function.createDelegate(this, =
this._onFormSubmitCompleted));
        request.set_body(formBody.toString());

        var handler =3D =
this._get_eventHandlerList().getHandler("initializeRequest");
        if (handler) {
            var eventArgs =3D new =
Sys.WebForms.InitializeRequestEventArgs(request, =
this._postBackSettings.sourceElement);
            handler(this, eventArgs);
            continueSubmit =3D !eventArgs.get_cancel();
        }

        if (!continueSubmit) {
            if (evt) {
                evt.preventDefault();
            }
            return;
        }

                this._scrollPosition =3D this._getScrollPosition();


                                this.abortPostBack();

        handler =3D =
this._get_eventHandlerList().getHandler("beginRequest");
        if (handler) {
            var eventArgs =3D new =
Sys.WebForms.BeginRequestEventArgs(request, =
this._postBackSettings.sourceElement);
            handler(this, eventArgs);
        }

        this._request =3D request;
        request.invoke();

                if (evt) {
            evt.preventDefault();
        }
    }

    function =
Sys$WebForms$PageRequestManager$_onFormSubmitCompleted(sender, =
eventArgs) {
        this._processingRequest =3D true;

        var delimitByLengthDelimiter =3D '|';
       =20
        if (sender.get_timedOut()) {
            =
this._endPostBack(this._createPageRequestManagerTimeoutError(), sender);
            return;
        }

        if (sender.get_aborted()) {
            this._endPostBack(null, sender);
            return;
        }

                if (!this._request || sender.get_webRequest() !=3D=3D =
this._request) {
            return;
        }

        var errorMessage;
        var delta =3D [];

                if (sender.get_statusCode() !=3D=3D 200) {
            =
this._endPostBack(this._createPageRequestManagerServerError(sender.get_st=
atusCode()), sender);
            return;
        }

                        var reply =3D sender.get_responseData();
        var delimiterIndex, len, type, id, content;
        var replyIndex =3D 0;
        var parserErrorDetails =3D null;

        while (replyIndex < reply.length) {
                        delimiterIndex =3D =
reply.indexOf(delimitByLengthDelimiter, replyIndex);
            if (delimiterIndex =3D=3D=3D -1) {
                parserErrorDetails =3D this._findText(reply, =
replyIndex);
                break;
            }
            len =3D parseInt(reply.substring(replyIndex, =
delimiterIndex), 10);
            if ((len % 1) !=3D=3D 0) {
                parserErrorDetails =3D this._findText(reply, =
replyIndex);
                break;
            }
            replyIndex =3D delimiterIndex + 1;

                        delimiterIndex =3D =
reply.indexOf(delimitByLengthDelimiter, replyIndex);
            if (delimiterIndex =3D=3D=3D -1) {
                parserErrorDetails =3D this._findText(reply, =
replyIndex);
                break;
            }
            type =3D reply.substring(replyIndex, delimiterIndex);
            replyIndex =3D delimiterIndex + 1;

                        delimiterIndex =3D =
reply.indexOf(delimitByLengthDelimiter, replyIndex);
            if (delimiterIndex =3D=3D=3D -1) {
                parserErrorDetails =3D this._findText(reply, =
replyIndex);
                break;
            }
            id =3D reply.substring(replyIndex, delimiterIndex);
            replyIndex =3D delimiterIndex + 1;

                        if ((replyIndex + len) >=3D reply.length) {
                parserErrorDetails =3D this._findText(reply, =
reply.length);
                break;
            }
            content =3D this._decodeString(reply.substr(replyIndex, =
len));
            replyIndex +=3D len;

                        if (reply.charAt(replyIndex) !=3D=3D =
delimitByLengthDelimiter) {
                parserErrorDetails =3D this._findText(reply, =
replyIndex);
                break;
            }

            replyIndex++;

            Array.add(delta, {type: type, id: id, content: content});
        }

                if (parserErrorDetails) {
            =
this._endPostBack(this._createPageRequestManagerParserError(String.format=
(Sys.WebForms.Res.PRM_ParserErrorDetails, parserErrorDetails)), sender);
            return;
        }


        var updatePanelNodes =3D [];
        var hiddenFieldNodes =3D [];
        var arrayDeclarationNodes =3D [];
        var scriptBlockNodes =3D [];
        var expandoNodes =3D [];
        var onSubmitNodes =3D [];
        var dataItemNodes =3D [];
        var dataItemJsonNodes =3D [];
        var scriptDisposeNodes =3D [];
        var asyncPostBackControlIDsNode, postBackControlIDsNode,
            updatePanelIDsNode, asyncPostBackTimeoutNode,
            childUpdatePanelIDsNode, panelsToRefreshNode, =
formActionNode;

                for (var i =3D 0; i < delta.length; i++) {
            var deltaNode =3D delta[i];
            switch (deltaNode.type) {
                case "updatePanel":
                    Array.add(updatePanelNodes, deltaNode);
                    break;
                case "hiddenField":
                    Array.add(hiddenFieldNodes, deltaNode);
                    break;
                case "arrayDeclaration":
                    Array.add(arrayDeclarationNodes, deltaNode);
                    break;
                case "scriptBlock":
                    Array.add(scriptBlockNodes, deltaNode);
                    break;
                case "expando":
                    Array.add(expandoNodes, deltaNode);
                    break;
                case "onSubmit":
                    Array.add(onSubmitNodes, deltaNode);
                    break;
                case "asyncPostBackControlIDs":
                    asyncPostBackControlIDsNode =3D deltaNode;
                    break;
                case "postBackControlIDs":
                    postBackControlIDsNode =3D deltaNode;
                    break;
                case "updatePanelIDs":
                    updatePanelIDsNode =3D deltaNode;
                    break;
                case "asyncPostBackTimeout":
                    asyncPostBackTimeoutNode =3D deltaNode;
                    break;
                case "childUpdatePanelIDs":
                    childUpdatePanelIDsNode =3D deltaNode;
                    break;
                case "panelsToRefreshIDs":
                    panelsToRefreshNode =3D deltaNode;
                    break;
                case "formAction":
                    formActionNode =3D deltaNode;
                    break;
                case "dataItem":
                    Array.add(dataItemNodes, deltaNode);
                    break;
                case "dataItemJson":
                    Array.add(dataItemJsonNodes, deltaNode);
                    break;
                case "scriptDispose":
                    Array.add(scriptDisposeNodes, deltaNode);
                    break;
                case "pageRedirect":
                    window.location.href =3D deltaNode.content;
                    return;
                case "error":
                                        =
this._endPostBack(this._createPageRequestManagerServerError(Number.parseI=
nvariant(deltaNode.id), deltaNode.content), sender);
                    return;
                case "pageTitle":
                    document.title =3D deltaNode.content;
                    break;
                case "focus":
                    this._controlIDToFocus =3D deltaNode.content;
                    break;
                default:
                                        =
this._endPostBack(this._createPageRequestManagerParserError(String.format=
(Sys.WebForms.Res.PRM_UnknownToken, deltaNode.type)), sender);
                    return;
            }
        }

        var i;

                if (asyncPostBackControlIDsNode && =
postBackControlIDsNode &&
            updatePanelIDsNode && panelsToRefreshNode &&
            asyncPostBackTimeoutNode && childUpdatePanelIDsNode) {

            this._oldUpdatePanelIDs =3D this._updatePanelIDs;
            var childUpdatePanelIDsString =3D =
childUpdatePanelIDsNode.content;
            this._childUpdatePanelIDs =3D =
childUpdatePanelIDsString.length ? childUpdatePanelIDsString.split(',') =
: [];

            var asyncPostBackControlIDsArray =3D =
this._splitNodeIntoArray(asyncPostBackControlIDsNode);
            var postBackControlIDsArray =3D =
this._splitNodeIntoArray(postBackControlIDsNode);
            var updatePanelIDsArray =3D =
this._splitNodeIntoArray(updatePanelIDsNode);
            this._panelsToRefreshIDs =3D =
this._splitNodeIntoArray(panelsToRefreshNode);

                                                for (i =3D 0; i < =
this._panelsToRefreshIDs.length; i++) {
                var panelClientID =3D =
this._uniqueIDToClientID(this._panelsToRefreshIDs[i]);
                if (!document.getElementById(panelClientID)) {
                    =
this._endPostBack(Error.invalidOperation(String.format(Sys.WebForms.Res.P=
RM_MissingPanel, panelClientID)), sender);
                    return;
                }
            }

            var asyncPostBackTimeout =3D =
asyncPostBackTimeoutNode.content;
            this._updateControls(updatePanelIDsArray, =
asyncPostBackControlIDsArray, postBackControlIDsArray, =
asyncPostBackTimeout);
        }

                this._dataItems =3D {};
        for (i =3D 0; i < dataItemNodes.length; i++) {
            var dataItemNode =3D dataItemNodes[i];
            this._dataItems[dataItemNode.id] =3D dataItemNode.content;
        }
        for (i =3D 0; i < dataItemJsonNodes.length; i++) {
            var dataItemJsonNode =3D dataItemJsonNodes[i];
            this._dataItems[dataItemJsonNode.id] =3D =
eval(dataItemJsonNode.content);
        }


        var handler =3D =
this._get_eventHandlerList().getHandler("pageLoading");
        if (handler) {
            handler(this, this._getPageLoadingEventArgs());
        }


                if (formActionNode) {
            this._form.action =3D formActionNode.content;
                                                =
this._form._initialAction =3D this._form.action;
        }

                                for (i =3D 0; i < =
updatePanelNodes.length; i++) {
            var deltaUpdatePanel =3D updatePanelNodes[i];

            var deltaPanelID =3D deltaUpdatePanel.id;
            var deltaPanelRendering =3D deltaUpdatePanel.content;

            var updatePanelElement =3D =
document.getElementById(deltaPanelID);

            if (!updatePanelElement) {
                =
this._endPostBack(Error.invalidOperation(String.format(Sys.WebForms.Res.P=
RM_MissingPanel, deltaPanelID)), sender);
                return;
            }

            this._updatePanel(updatePanelElement, deltaPanelRendering);
        }

                                for (i =3D 0; i < =
scriptDisposeNodes.length; i++) {
            var disposePanelId =3D scriptDisposeNodes[i].id;
            var disposeScript =3D scriptDisposeNodes[i].content;
            this._registerDisposeScript(disposePanelId, disposeScript);
        }

                for (i =3D 0; i < hiddenFieldNodes.length; i++) {
            var id =3D hiddenFieldNodes[i].id;
            var value =3D hiddenFieldNodes[i].content;

            var hiddenFieldElement =3D document.getElementById(id);
            if (!hiddenFieldElement) {
                                hiddenFieldElement =3D =
document.createElement('input');
                hiddenFieldElement.id =3D id;
                hiddenFieldElement.name =3D id;
                hiddenFieldElement.type =3D 'hidden';
                this._form.appendChild(hiddenFieldElement);
            }
            hiddenFieldElement.value =3D value;
        }

                var arrayScript =3D '';
        for (i =3D 0; i < arrayDeclarationNodes.length; i++) {
            arrayScript +=3D =
"Sys.WebForms.PageRequestManager._addArrayElement('" + =
arrayDeclarationNodes[i].id + "', " + arrayDeclarationNodes[i].content + =
");\r\n";
        }

                var expandoScript =3D '';
        for (i =3D 0; i < expandoNodes.length; i++) {
            var propertyReference =3D expandoNodes[i].id;
            var propertyValue =3D expandoNodes[i].content;
            expandoScript +=3D propertyReference + " =3D " + =
propertyValue + "\r\n";
        }

                        Sys._ScriptLoader.readLoadedScripts();

                