From: Subject: Cambridge Who's Who - Gabriella Holt - Information, Communications, Broadcasting Date: Tue, 26 Feb 2008 07:59:56 -0800 MIME-Version: 1.0 Content-Type: multipart/related; type="text/html"; boundary="----=_NextPart_000_0038_01C8784D.93C008F0" X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3198 This is a multi-part message in MIME format. ------=_NextPart_000_0038_01C8784D.93C008F0 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.cambridgewhoswho.com/Member_Profile/Gabriella_Holt/230039.html =EF=BB=BF Cambridge Who's Who - Gabriella Holt - = Information, Communications, Broadcasting
=



Gabriella Holt

Title:
General=20 Manager
Email:
gholt@rpv.com
URL:
http://www.ranchopalosverdes.com/rpv/ch33 =
Company:
GABiTV.com
=

Member Biography / Profile

Address:
Rancho Palos Verdes, California
Type Of Business:
Broadcasting Company
Marketing Area:
Local
Expertise:
Information, Communications, Broadcasting
Major Product/SVS:
Broadcast, Interactive Communications
Hobbies/Sports:
Traveling, Exercising, Walking, Hiking, = Swimming
Education Degrees:
Bachelors Degree in Nursing, University of = Michigan
Affiliations Awards:
Los Angeles Press Club; National Association of=20 Broadcasters; National Association of Television Administrators and=20 Operators
Highlight of career?:
The most gratifying aspect of her career is being = able to=20 help society with information throughout her career.
Charity:
Board of Governors, Los Angeles County Probation = Commission;=20 Senator Miriam Bergeson Excellence in Public Service Leadership = Committee
Number Of Years In Profession:
5
Number Of Years In Current Position:
1
What Does He/She Attribute Success To:
She attributes her success to being open-minded = and having=20 good listening skills.
How Did They Get Involved In Profession:
She became involved in this profession through a = natural=20 progression of opportunities.
  • Home=20
  • About=20
  • M= embers=20
  • = Candidates=20
  • News= =20
  • Ca= reers=20
  • Help<= /A>=20
  • Contact =



  • <= IMG=20 style=3D"BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; = BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"=20 alt=3D"Member Benefits"=20 src=3D"http://www.cambridgewhoswho.com/Images/Nav/Member_Benefits.gif">

    =

    <= BR>
    1/29/2008
    Member Leads Workshop at the UN

    1/21/2008
    How to Add an Image to Your Cambridge = Profile




    3D"Candidate
    Membership=20 Application

    Membership=20 Tour

    M= ember=20 Benefits

    Frequently=20 Asked Questions

    Contact=20 Us


    3D"Cambridge
    Cambridge Who's=20 Who Success Stories

    Cambridge Who's Who=20 Hall of Fame

    Cambridge = Who's Who=20 News

    Cambridge Who's=20 Who Press

    Cambridge Who's Who=20 Members

    Cambridge = Who's Who=20 Cares

    Cambridge = Who's Who=20 Wiki




    =C2=A9=20 Cambridge Who's Who 2007. Cambridge Who's Who is not associated or = affiliated=20 with any other Who's Who organization or publication.
    Member=20 Login


    Forgot=20 your password?
    Contact = UsSuggestion=20 Box
    ------=_NextPart_000_0038_01C8784D.93C008F0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.cambridgewhoswho.com/Images/Members/EmailToFriend.gif R0lGODlhdAAYAPcAANnk9cHK19De9c7e98rd+8zc9M/a7cra88fY8sbY86K21OLr++Hq+d7o+d7o 99zo+dvm99rm99vl9dvj8tDg+dLf8tLd79Dc8Mrc+Mjc+8fZ9cXY95isyr/T8brO7LXJ6LbB09bi 9tXi+NTi9t3e4c3d9s/d88vb9cLW9LXI5r3G1bvF1a670Jquy8rX69Te7uTt++Hp9t7n9OPr+Nvk 8uXt+uHh4tLi+9Dh+9Pj+9nm+83f+97p+9jm+9bl+9Xk+7C90cve+87g+9bk+8/g+9Hi+93p+9vn ++Ps+9Pe7snW68zf+9vo++Dq+8fV7LHD38ze+7DD4cbV7czZ69Hd77jM6dTk+8zZ7LLD38XV7snY 7sTW8czb8s7a7sbW793o+8vZ8ODr+8jW7MnW7MfW7sTV783S28XW8LDD4Nbg8LPH5rjL6c/h++Dp 9svY7cvZ7MjY78/b7d3m9MXX8s/c8Mvc98fW7cPV8dPi+sfO2eTt+s7c8dHh+8bV7Nvn+qu/3dTg 8dXg8dTg9NHe8sTV8MfX8Nzm9Nbh88HV88TX9bO/0tnl983a79De89fj9dvn+c/g+tPi+MXY9Nbh 8OLr+bjD1NHh+tDf99Lf9d7p+srY7cjW7cLV8sLV88PV8sre+8za783a7snb9snb98TX89rm+djk +Njl+dPf8dXh9MbX8dPh9sna89fk+sPW9LbK6MzR283e+M3f+s3f+crY7szd+M/g+djl+87d9M7d 9s/e9d7f4cnc+dnm+tfk+MnZ8qW51+Do99bk+sja+Mfa9sba+MjZ9Mja9Jeryp2vyqi3zs3c8d/q +sve+cXV7dzo+q7C4N3o+dXj+tXk+p+00t/p+sze+tLg99Pg9NLh+drn+uDq+tji87HF5LzQ8MfY 8MPV86O0zcbW7s7f+c7T2+Ls+tXY3tfi89bj+J6wy8ja9tLW3cPX9tXg8MrZ8MrZ8c3Z68fV6+Ls +9Db7Nfh8OHr+9/q+9fl+7LD3trn+9Tj+9zo++Xt+7TA0paqyGhzgSH5BAAAAAAALAAAAAB0ABgA AAj/AG0IhMUinb+DCBMqXMiwocOHECNKlBgOhDmBAkmAUOBhQ5AlO4QQwYGjyI0bOVLqW8mypcuX MGPKnEmzZsocN4oUIUlEyA4oQTqoabECIwhoBD5BCcmmJEp9Vn4M8UH1ntWrWLNq3cq1q9evXqkO +fHDij6cO3suCUJggwIVNvIoyPAJ5MgiOfRJ9XGvRw8dOvIJHky4sOHDiBMrXrwYsA6/93yURYvD J1t2HEgo80ZgKRE+KKX2DZzvCJN9qFOrXs26tevXsGPLRs3kSD7APe4NsYITB5EdbP8EaFEsyI6R N/T6+FsatREe0O1Jn069uvXr2LNr364duhEj+2rf/478o7eQtR8U+SOwRAiO0KOP7Pvy3F6TJmHq 6d/Pv7///wAGKOCAAobRhHQ8gMfEbT1IlkMRbAC3BhD+GPdZDj8sp4N89TWxnzwghijiiCSWaOKJ KKaY4gL6GWgPD18sqINu+txQ2RITVrjDe/oMcU9g+9T3z5BDIoEEDEgmqeSSMAzZ5D9LQsnklFMS 6WSUUlKZpJFIyKPfkDAumFt5RfxWBYVQuJfccs3xYF+RRyLJz5x01mlnnUPi+c+dfPaZZ5+A3rml PAsMaQ94R8w4xIMRnulPe+9l2EM+TDznYZFyWqkpnUTOmeef/Fjpaad2ksrpnqd+iqqoobL6JJEv 7v+TaA9D1IjDDo6myeMQt2jjxxeZMLONpnoMWUMNxiL7D7LHGuvssscq2yy0yTY7bbTKEinttck+ O22x/5RT6D/VZPKMH73QeIOZFAYhCySW4DFNK6eU8kg0DVQzJAOUUDLDkDP8+0/AAAsM8MEDByww wQkXrLCVCi/8cMILazpwwQgzMOw/0TzwSCmnCCMNHpZAYk2OBFgzDgXZRIKOL6YsAgEEDgzpQDBt tDFkDDHs3PM/Pwe9s888+2w00DwLjXTRSwfNtNNJH63zPw7U/A8EESxiCjoiRGKJLbM0kyMvtcQy wCXXrBKCI44AAIAEQxoihxwyDClD3f/cbffeefP/fbfeeeMN+N+C2/234YMPbrjfeMsRN9z/uO1I CCOscs0lA9SCwSsUDjNKHSUMIAAmmAiSyiHncKPpBEPSQEPrr//jupWx1+767LLHDvvtuueOO++7 w0677UNOwLqVh6QiCDak65JLCXWM8gGFxagjygkF4IJLI4NUgAoqgASSRhqT0GP++einr/767Lfv /vvwmz9JGu0EAggqFQzSiAm4FFDACaIgRgootAENaOAYB+CCAvdAhwtQ4YEWSIIEJfiCClrwghjM oAY3yMEOelCDE5SgBSzwQCrQYQ/LUOABWGEMDWxggMnoQCIkgQAE/OIdYAADKBgRii4YIA5xmIcQ /4dIxCIa8YhITKISl8hEIgKxC10IBSNAAQZ3/OIXCEiAJBIRhUooohuuIMUc5qCKQsABDlqghSbc 8IY3XOEKU5gCPOZIxzra8Y54zKMe98jHPcbxjW9wgxs0oQUtwOEbhVDFHEjhChQowAzraEEHOuGJ LWzhDF7wAhnIYIdNiGEMY1CCKF1AylKa8pSoTKUqV8nKVq5SlKIcgxjEsAk7kEEcXjjDGbbgCXB0 Qg1AEMgKqOEBRHDiDncgRBmykAVnSEEKfXCCNONBzWpa85rYzKY2t8nNbnpTmk7owzOZWYYyEOIO nOAEIoZCDowEABnAgEYUooAGNDzhCVjAAj72yTzPfvrznwANqEAHStCCCjSf93wCGuYZhT8ogAVm wIhAdpGHSvTjohjNqEY3ytGOevSjIA2pSEWqgohiJCAAOw== ------=_NextPart_000_0038_01C8784D.93C008F0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.cambridgewhoswho.com/Images/Nav/NavEnd_01.gif R0lGODlhqQAQAMQAAOrt8eLm6u7w8u/w9Ozw8+7y8vDx8+Po69rf5eTm7O/y9dvg5eDl6dzh5uzy 8u3w8+3w8d7j5+ns7+Lm7eTn6+7x9uLn6u3y9PDv9evw8e7x9O7x8u7x8+Pn6uPn7OPn6yH5BAAA AAAALAAAAACpABAAAAX/4CaOZCly18VxxVZobqUVz6ZwVXGJhoIVDoyjYNgMHK6BoPIotDiaXWGV 4piu2Kx2y+12DWABBACQSFbotHrlfFTeA+VAsdHcclCF5qHpEQwZFwMuDxdNBlN7eg8KjBxxb0xO a5SVlpeYmZqZJ2JkZhqhoqOkfQIGHBBOkyJ7G2wCG44bp6gacaencX2vAgItLYhOEBwGp6XIycrL zM3Oz3sEnwAf1dbX2B8WHwEBFAEeHgneFgcfBwEJHukU5xbfFB0WE+XjHgceH+v4CQna5uG8ddOW raDBgwgTKlzIkBuDCA0WIGhIsaLFixgzamwY4GHEiRtDihxJsuTBjhAle5pcybKlS4MoP76cSbNm xpgqbercyfMaTpA9gwpt+XOo0aMiiyJdypSjx5wdojadKjRcPg8UskaV9xRBvmvhtoodS7as2bNo 06pdy7at27QH4o5V5xBiAwRZ8+alyndo1royC1odTLiw4cOIEytezLix48eKLRiWi3NBCAA7 ------=_NextPart_000_0038_01C8784D.93C008F0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.cambridgewhoswho.com/Images/Nav/Membership_Application.gif R0lGODlhqQAZAMQAAOnNl/PhvPDdtvHHd+rCc/fjwOrSo/bdrGhzgvTVmPfhuvbao+/ZsejLkOzW qvbgtPjdrfXRjPjape3Yrfjfsmdzf83Gu/XRiNu+iMa6oOfHiPbUkujEf/fXnNLMvuPn6yH5BAAA AAAALAAAAACpABkAAAX/YCaOZGmeaKqubOu+cAxfdG3feK7vfO//wKBwyBsYj5ukcslsOp/QqHRK rVqvWGZkezt2vuCweEwum8/otHrNbrvFiYQyYhss7niJBM9f7Pd+gXl5en5/hHeHioWJgIeGiomC jo+RkpKAhH+UgoF6n5l9k42iYHIbdDQHEKwHrhCusbGwsKu1trOztKytq7K0sq+vu7a7wLjFt8O+ vcvEyry4vLfUwrm108GujF+nNBTg4eLj4Q8U5g/m4+rn4Ozt5+YQ6e7tEOTw+PXrFPfk9A/8qZun b1/Bgwfl4asFqIO3dA8USJxIsSJFiBYzXlQQMSJHjxNBegygUSLIkihT/3Ks2JHlxpUqS0IceKBh B1QxJ1aogKCARAQ8Nfr0qYBoUQVALZI8KnFpRaJBfZJEgGBiAaIFAlz1CbQC06EUjUoMmnQiSbAB lvZ8ELTkVYlZLdJjuMDhhq148+Ll2fMqX71btQIuAHSwYcBUD+sVTDjxUMV++0K+6njy4ZD9IOz5 ctdy48JUeVKm2pc00NMVKPOVzFP059KkVe/sK7p15a2gU3923bVw49+NdRMWjbrAztGObUvWixnW 5s6We782Xjp1ct3Esac+bty6cO6JXWcHfvt3cto9Hece3r09bOqj2cNXvxwvZld1b6bdzxjxdsLU BdBbYvRlBZSAqQmIQP8Aqx1Y2WqC8bZgYeL1JJiCjWmVGINVUaXhdhP2xFNaWVGXm1bHFejhb/2l ZdID+NUlB3801sghhyEqSKOHOurIo4ML8ncgf3xV0COQRwaZlm2tIbhkjjciOeJ+Owng4Y8LTnmg lkryJ8CXAsTokBxglmlmmUBZSZWaAvD05ZprstkmAnN+6Wacd9L5ZgV7Wsknm3na+Wefb9KZJqB/ VpkmnIY2ymacjBYqp5tnCsDApRPcMSYqE1zq6aegMsDTpRVcShWpp5FaqqirjooaAp7OBisDQH1q GgMTnJorAruKStqqnp5qKqy/zvqqqaWOOsFswZLWaa2jsrqTqqiGiuv/BBM44IABccixhbbghivu uOSWW2625qYrLrrhsksVu+o6wJO4VMVLLrzowpuuvuAa4O+/AADQQAMX/GvwwQgnrPDCDDfs8ME8 PfwvVRAjIPHFGCsccMADN2DExiCHLPLIJJds8skop6zyyiy3bHLHDWigAQccDADzzTjnPLDAOvfs 889ABy20zjwPbfTQMstM8wAEEJD001BHLfXUVFdt9dVYZ6311lxTTfPXHDTdNNhkl2322Winrfba bLft9ttwty323ARgYPfdeOet99589+3334AHLvjghBcueN0eJK744ow37vjjkEcu+eSUV2755ZhP bsHmFnzg+eeghy76EOikl2766ainrvrqrLfOeggAOw== ------=_NextPart_000_0038_01C8784D.93C008F0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.cambridgewhoswho.com/Images/Nav/Nominate_A_Colleague.gif R0lGODlhqQAZAMQAANzo+9/q+8nY79rn+9fh8GhzgeLs+9Hh+rDB1uTr+ZKryuHp9szb8dLd7t7n 9OPt/NTe7tzh5tfi8dDb7Nvk8uXt++Tt+8nX683Z6tfl/MjV67XF2tTj+5etzrPF4OPn6yH5BAAA AAAALAAAAACpABkAAAX/YCeOZGmeaKqubOu+cMwqtMLdeK7vfO//wKBwSCwae4ekMplpOp/QqHRK rVqv2Kx2y4XyloOweEweA8po8Zm8TrvV7/C6XT7bB/O4Pk3fu504SgCDhIWGhXiHioSJjIuPjYOR hgGRAwGQmI92i5Obn6B9gDcHAaanqKmqAKqtBgGvrbKztLWzsba5uruyiAOjsAbCw8TFr8fIwqfE wczGxc3I0cqx1LDXw9jZxw/TptXL39rP0uTm1MqojL8ZHOfnD8IWzw/xwvb3+Pjk+xYJxvvg1SsW cN49YvUCDnxnICDDc6cksctnoaLFixULFKjwQKO/ixUshKw4soLJjgVA/5bE2HFeggoGLK58wFGm hXoaNdbDCNOjR54mQxqo8NIkxqMiK8ZMirTpRWim2mQQGbRk1aAaQ3o0avOq16BUQ3IdqZMr0JVF Of7MepJkBZ8bmXqlWpQkVbddw37dK9YoM01hMvD9mvNtSsM6UeZc/MAC3MJDCy8WOdktYr0/7yJO 6bgASso5/SEm2jn02sOL+w4erDQdpsCWV0veyDZr7Y2Gc992nJF2gZdZO4t+q/Vwca+3E9j2fdNn b+W4l5tc3lvv6rlQJWZIwL279+/QDeQMoJF7+fLQzf8+/zu8+JzpoS82wF3YYu/lF3DXj559+sXl vefffwXwtx6A4CWooP936qzRxAIQRijhhAtoVKGFFl6o4YYYFphhhxp+WCCFIY4IYYYSiljihhGC qOKLBToAoYwk1mijAzgG1gQHOPbo4484ahRkAQ4IWSSRRiaJ5JJDHumkkk32KKSQC0hJ5JNXTskk lFo6iWWTUAIp5pg+UmAmBRJIQMqZbLbJpkZmwknBYnEWUOedcMop5Jw5UXBknXK+2WebdAJqJ5+I 8hlooQAaemihbkYqKZtpVioBARAcQMCmnHbq6aaXfnppmgSEWuqnnpoK6qoQoJrqqaOmGuurnc66 aqmzFnCqRq726uuvnkIAQQMNMMCAsMgmq+yyDSDb7LDLRqvss9IyW63cs9AKS221zW4bbbfILpbt teOSey2x6Bqr7gTstuvuu/CyS6y7DcBbb7zx3mtvvvj26++/7eqLr8AAF+yvugwIwAAGDDfs8MMQ RyzxxBRXbPHFGGes8cYRC+Dxxx9fIPLIJJds8skop6zyyiy37PLLMMdMsgY013xBzRoIgPPOPPfs 889ABy300EQXbfTRSOPswdJMN+3001BHLfXUVFdt9dVYZ6111ht07fXXYIct9thkl2322Winrfba bJuNwNtvfyD33HTXbffdeOet99589+3334AHzncEhEcQAgA7 ------=_NextPart_000_0038_01C8784D.93C008F0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.cambridgewhoswho.com/Images/Nav/Member_Benefits.gif R0lGODlhqQAZAMQAAMrY7dzo+9fh8NTe7tTi+Ghzga7C25iuzuTt+9nm+uDp9sra8eTt/Nzl89ng 7Nji8dzo+trn+9/q++Ls+9fl++Hr+83Z67TF4MrX67TF2peuzsfV69Db7NTj++Pn6+Xt+yH5BAAA AAAALAAAAACpABkAAAX/oCaOZGmeaKqubOu+MHzM80ibXa7vfO//wKBwSCwaj0gegaBbLhcLinRK rVITVax1y+16v2CwNkwug3vMDiHBjrjf8Lg7EQnI73H63I7vJ/hsfH13enVudoGFg4uMjXlsU0oB kxABlRCYmZl2k52emJSamp6UlqKno5ydEaitl6uhl7KutLW2oqSrEWM6Er6/wMHAFcLDxcfIyb/E EszKz77O0NPUz5W6WjkV2xUT3N/fE83g297dEubk3Obp6u7c6O/y4PHe4uXz+fr78L+r2d0mCBxI sGBBBgG7MRC40OAEBAIrNHRIcaDEgQgrVqwAkaDEixpDihxJ8Zs/RBQ6/wxEwJIlg5cwXxaYuZDB zAItEXz4MCFmzJY2cX7wSZQogps0iyploHPnw6A3EdiUurSq1atFW0bc5mvSLgosd4odSzaqzJlN P6QlK7Yl2rVs2UpFGzSuXbkzd+o8KvSu37+AyeZkaZGYVyxhAyP9sJjxTaZIIzNwfFMtVKGNd+Z1 rBapTsmaHy+OjDkq3MCo/+bcKuEw2NN2R0fNy7d2bc5v0eYu4LilXsl8eeou3bv2ZppoHZ9NzTyw VnO+Kn0NOHJmhQLXrxeYQJr7du/eZoIHT1q7Qet8tSP1rsC7+pva24sX/35Ce5L48XNTQExBJkgK BCjggAQqMJOBByZYAP+BByIYoIIPLtiggBNSuKCDFTqI4YUWRqhhhBkWKOKIJJZYIAQNQLJEAyy2 6OKLDSgoYQExLlijgzcieOONB/J4IYsRNrChkAoSSeNMRuIIYY5Iwujkk1BGGWCUDzhBQJQwzvRA jFs2iRSLWtYI5pFIbVkjkg+g6WJkLX4p5ptuekkjnDeZieWdeFL5wJ5VWinAn4AGKuigDwRaKKCF HvqnoowKqqihAiS6aKSEOjrppYNCqmmmnHbq6aeZDiDqAFCMauqpqKaq6qqsturqq6wKAOustNYq KgccQAEFrrz26uuvwAYr7LDEFmvsscgmqyyxC1iga7MWRCvttNRWa+2Utdhmq+223Hbr7bfgVgvA uOQCsMAGGKSr7rrstuvuu/DGK++89NZr7734urvBvvz26++/AAcs8MAEF2zwwQgnrPDCAF/g8MMQ RyzxxBRXbPHFGGes8cYcd5yxARcYkMHIJJds8skop6zyyiy37PLLMMcsc8sG1GyABzjnrPPOPPfs 889ABy300EQXbfTRQjugtAMhAAA7 ------=_NextPart_000_0038_01C8784D.93C008F0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.cambridgewhoswho.com/Images/Nav/Membership_Tour.gif R0lGODlhqQAZAMQAAMjW7dTi+djg7rDC22hzgdzo++Lr+uTt+tfh8Nnm+uHp9pOry8zc893l89Dd 8eDq+tzo+trn++Xt+9/q+9fl+9Tj+8bV67TF4M7Z69Db7NTe7rXF2uTt+8rX6+Pn65euziH5BAAA AAAALAAAAACpABkAAAX/4CeOZGmeaKqubOu+cMwu9FLdeK7jwX4HPZ8uKCwKicYdMslsOp8/IJAR oFiv2Kw1QYlssQmudkwuj8XgK7rsNbvf8Hj2CExE7vi8vqDvJ/h9gXaBhIURgxEFiISAho6PkJF+ YVdDBZcFEJmZEJ2en3yaEZqam5+nnaaXqKygpKoQiaasiYmvrbi5uru6mHdiPBPCw8TFxsfIycrL zM3Oz9DRxZiAwBUTBtna29wP2d7b4Abi3OXk5ejf6eLn6+nv8PHy89/El4dWFdoc/P3+/QY4bBMY MBvBgP/4DdyXsCFAdAIjGmyYzqHFixgzJlwn7B4ljf0IiAw5EqS/kiYb/6Lkt1KlyJcpY8q8GK4j Hy79JOjcyXMnTJ0vJfDTyUGo0KIHjhaVMFJC0p1Fly6FOpUpgaNEOSTl99RoVJE8D1T1CpVoz7No 06o966+eRwpD1/p8aeAlgaJ2gdrNazWoXrB9rwb+CxjsXp1drc5tCvaAYb9O5UqeTJXgg474DmgO mzavXQ6FCTi+Wlfw46SPAz6ey1J06NGKY++ErRh26NqRKeteK1bhuAmiuNDLJrKu8eJ7CSgoXtrA cgKlDzRP3pw4XenMkUPPDp0bd+ulFUyHrjnbAfHD0697wN4TJQXw48uf//y5cpH1FTyAjz8/fvzh 9RefgPrZVV+A90GXn/98/TWYIH8P0ifhhBRWKKF7lADRwIYNKMDhhx+K1MBLIxJQ4oYiinjiifiV +FyHKZqIIgEQuKhijC++CKKIOuLIoonwgSjkkEQWaeSHUmh4ZIgymoiAiE+SuOKNJu7FoV0zMgkl lT9KuaOMUapYIoliLmnmmR8ioOaaagbggANsximnnALMaeeaddqZ55182ikSm3vSCSifgfZp6KF8 avDmoho06uijkEYq6aSUVmrppY2KhOmmnHbq6aOLvsnAqBmUauqpqKaq6qqsturqq6liAOustNZq q6kY5IpBBwzo6uuvwAYr7LDEFmvsscgmq+yyxHbgrLMARAvAs9RWa+18tdhmq+223Hbr7bfghout tOSSa8G56Kar7rrstuvuu/DGey4A6tIr77345vuuue1e4O+/AAcs8MAEF2zwwQgnrPDCDDec8AAQ byDxxBRXbPHFGGes8cYcd+zxxyCHzDHEEHtg8skop6zyyiy37PLLMMcs88w01xyzADiHAAA7 ------=_NextPart_000_0038_01C8784D.93C008F0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.cambridgewhoswho.com/Images/Nav/Download_Our_Logo.gif R0lGODlhqQAZAPcAAM3Z68rX6+Tt+9Te7uPr+N7n9OXt+uHp9tvk8tnm+9bl+9Pe7tPj+97p++Ps +7rL5tvo+9jm++Dq+8nW69Xk+9Li++Dr+9Hi+93p+9vj8tvn++Dp9sfV7MzZ693m9M/b7eLr+bnL 59Dh+9rj8uTt+tbk+7jL6MbV7c7a7tvl9OTs+sTV78jW7dHd79Xg8d/o98zZ7M/g+8XW8MnW7M7g +8vY7cXV7sza79bk+uHr+uLr+tvn+c/h+9Lf8tni89nm+c/c8Nnm+tbi9t3o+dHh+9nl+Mzb8sjY 79/p+tbh88vZ7NLd79Ld7trm98rY7cbW7tzn99Lf9cvZ8OHq+cbW7+Dp+dji89nj8tTk+9Hf9c/d 89Tg8eDp99jl+dfj9d7p+trn+trl9dTg9NXi+Mvb8uPs+srZ8dbj+M3a7t7o9+Lr+9De89bg8ODq +t/p+cbV7N3o+9vm987d9Nzo+tfi89jk+M3c8djj9cze+83f++Ls+sjW7N3n98fX8Nzn+cnY7tbh 8NPf8dPh9tzm9M7c8dDb7cfW7cnZ8dXh9MTV8MnY79Dd8Nnk9cfW7sfY8MPV8dTi9tHe8tPg9ODq +dfh8LrL5cfV69Db7OLs+9Tj+9rn+9/q+9fl+9zo++Hr+8zY6aq+2+Xt+2hzgf///wAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAACpABkA AAj/AEEJHEiwoMGDCBMqXMiwocOHECNCZJCposWLGDNq3Mixo8ePIEOKHEnSIgMGFSpcICKCRwwa efAoUMCpps2bOHPq3Mmzp8+fQIMKHUqU08wSFChkOqlSxMsECTRJnUq1qtWrWLNq3cq1q9evYMNq gpogQk0FFLCgvCCik9u3cOPKnUu3rt27ePPq3cu3L1wIEDSMNaugxNILDRpsWsy4sePHkCNLnky5 suXLmDNr3pQYA4ZOgTURpsBAggVPqFOrXs26tevXsGPLnk27tu3bnixIWNzgM4SxRil4wkS8uPHj yJMrX868ufPn0KNLn05cDWrdnOH8TsCphIPvAsKL/x8vXpR58+TTq1+Pfr379uPPu38var79+/jt f3eACfXuBqCJpoB4oRRo4IEGmlegggg26GCDDD74YIQLihIKhRIeiGGGHHboIYLj8effJp9pwJ0A H15ooYoVMuhihSqeB2OMK8aY4Hk1sgijixbiqGGOLdaI44o+pmikgeGJaAFnnZgYgQokGCDllFRS aZ6UV15pQJaibMmll1h2+SWYXZJZppZhTjnmmFaWqeaZYsIJ5pxV1mnnnVSSQIIKZeihQw5tIPHF HGAEwQkIBCSq6KKMmpeoo44SAKkokk5a6aOUWnpppZpGiqminWZKaaOjgjpqqJt6yuiqrLbKKAgg TP8xSRVuDOHHDj90gcMGGxzg66/AAmuer8MOe4Cx5x2LrCjEMlsss8pG+2yzwkIrLbTTBmvsr8tG ey21wYYr7rjB8srFCy+kwQcUcTRRRB1njOFBAfTWa++95tGbb74F8Htev/6Koq/A+woM8MEFD4wv wQYHfPDCECPcMMMK32vxxRhb7MHGg6SQQhiM3OGFEJAIMkIGGSCg8sosrzyky+fBLDMC5qlcc800 x2yzzi+3rPPOMePM8pCiAF200Ufj2PLSTDfNNMojjHCFD1bQkQQiYkgSRRaUdO3112CHLfbYZJdt 9tlopw22KF6bp/bbZgPChgsubBFID5GsoYUcC/T/vcAAgAcu+OCEF2744YgnrvjijAOOY+OQG+53 30ws0UILiwBBiB1GkHHJ56CHLvropJdu+umop6766qy37nrohXwgOwoooHHDDVKYcUgHHQDg++/A By/88MQXb/zxyCev/PLMNw8A7zDAoEQNNTjxhyJHONLHBBME4P334Icv/vjkl2/++einr/767LfP /QQzzLAHCywY0sgTVMggAweW9O///wAMoAAHSMACGvCACEygAhfIQP9x4IFvOMEJbGCDFawgEY94 QCU2yMEOevCDIAyhCEdIwhKa8IQoTKEKOfiAFrowBDA0gQw/QcMa2vCGOMyhDnfIwx768IdADKIQ HYcoxFEY8YhITKISl8jEJjrxiVCMohSnSMUqUjEgADs= ------=_NextPart_000_0038_01C8784D.93C008F0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.cambridgewhoswho.com/Images/Nav/Search_Our_Members.gif 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 ------=_NextPart_000_0038_01C8784D.93C008F0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.cambridgewhoswho.com/Images/Nav/Annoucements.gif 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 ------=_NextPart_000_0038_01C8784D.93C008F0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.cambridgewhoswho.com/Images/Nav/In_The_News.gif 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 8ds5UupSYy+Rfgc43W/y9rxTwd1MT7zFARMCADs= ------=_NextPart_000_0038_01C8784D.93C008F0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.cambridgewhoswho.com/Images/Nav/Candidate_Corner.gif R0lGODlhqQAsAPcAAMjY6bbK37bM5Zu11LTM58HS5JStzdXa3pWx0WSDq77Q5KzF4sHV6UhplcbX 6DRWhb7S6bHF2rLM626MssTV5rTO67bL4LbN5naUu7fK34OfwbjM41JynXmVuqG82sja7svc7sLU 5rTK5MfY6rrO5c/e7XiWvNja3LbO6o+qy8XW51p6pL3T7LTN6KjA3LLK5dbb36bA38TY7a7J6HGP teDl6a/K6bDL6q/C2d7i5rjL36/I5NLU1s7d7MbY7KvD3rbL5L7P48LT5aW92rjQ6trf5NbY2tre 4qC62cna7Nzh5s/e7rDK58ra7J+724Wgw7zQ5LzS7D1fjbjO5rLM6MDV7Mrc7nuYvJ631sTX7Nvg 5brR6j9gjomjxLLL5tzg5LDD2b7Q45y42rXK5Ju32V18pSpNfrnR7LvO4qu+1J652rjP6rHL6aW+ 3MXW6rzR57PN61RznbPJ5J+52Vt6o8nZ6Zmz08HW7cDT5r/S57TG3N3i58bW55Ku0YGcvbvS67zO 4Yuoysna68DT6LPG22iGrFt7pVFxnK7B17fJ39XX2LnM4OLm6+Hm697k6yBEdrvN4dDf7tHf7rzO 4sra6rnO5c3c7Mvb69jc4LrN4sbZ7rrN4cLX7cvb7rjN5crb7rrN48fa7rbJ37nM4bvN49/l69nd 4bbL47fL4rjM4MLW7eLm6sPX7bnM5LTL5uDl69XX2bXM5q/B17jM5M7d7uTn67fL47rM4LrM4dre 4cPX7LbL4r/R5Mzc7LDC17nN5Mfa7b3P4rjM4bPM6LHL6rzO473O4sra66jC4OLn6qK51Nvf4szb 67rP5svb6sra6d7j57vN4OTo67zP5LDJ5sPW7Fx6osDR5LbK4dne48zc7c3d7M3d7rrM37vR6MfX 6LXN6abB4LfO6LvN4sfZ7Mrb7M3c673R57/S5cTV6FBxnKjB3qnB3KvC3LfM5LHK5qzD3LbI3Zey 0NDf7dnd4LfJ3sLW67XJ3YCdwrjN5LTH3bbJ3rXI3djb3+To7OPn6yH5BAAAAAAALAAAAACpACwA AAj/AP8JHEiwoMGDCBMqXMiwocOHECMqXFUDmhItRSRq3Mixo8ePEClaxAiypMmTKE+KvJgxpcuX MGMKXElSmr+bOHPq3Mmzp8+fQIMKHUq0qNGetSjmuCjQ5tGnUKNKnUo1aNKKe5QMrMq1q9evVa9C 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 ------=_NextPart_000_0038_01C8784D.93C008F0 Content-Type: image/gif Content-Transfer-Encoding: base64 Content-Location: http://www.cambridgewhoswho.com/Images/Nav/CWW_Sites.gif R0lGODlhqQAsAMQAAM7d7MnZ6bLF2sLT5VFvmIWdu6O40HaQscXW55Srxtbb37zO4t3i59rf5OHl 6bnM4NHf7r/R5NDf7rfJ377P49XX2LbJ3rvN4bXI3bjL367B17TH3SBEdtjb3+To7OPn6yH5BAAA AAAALAAAAACpACwAAAX/4CeOZGmeaKqubOu+cKw6DsM0jazvfO//MJoNBywaj8ij8JZLOp/QqGiJ 81iv2Kx2y+16v+CweEwuez9Us3rNbrvfZHTNBq/b7/i73MbI+/+AgVdTfIKGh4hlhDYVjY6PkJGS k5SVlpeYmZqbnJsdn6ChoqOkpaanqKmqq6ytrqcKnzgNr7W2t7i5uq2xsrS7wMHCw8EKxrG/xMrL zM0dx8bO0tPUr9DGGtna29zd3t/g4eLj5OXm5+jnG+vs7e7v8PHy8/T19vf4+frzAv3aGAADChxI sKDBgwgTKlzIsKHDhwg39BOQzYLFixgzatzIsaPHjyBDihxJsqRHDBL9/01YybKly5cwY8qcSbOm zZs4c+qcaQHDRAEZggodSrSo0aNIkypdyrSp06dQk06wkFLAg6tYs2rdyrWr169gw4odS7as2a8Z pqa8wLat27dw48qdS7eu3bt48+rdS/dBWpQbFggeTLiw4cOIEytezLix48eQIyu+4HcCQAqYM2ve zLmz58+gQ4seTbq06dOgF1BeaSGC69ewY8ueTbu27du4c+vezbu3bcyU0w4YTry4BQIckh8ozrw5 8QIcnA9AQIBAcQQclkt3boGDhQEUDnAoMLwAAejbh2PX3jy89u7RBywgkCB7euYakCdPMEADhwQL cKDBfcRFANxV203AAf8BA0JHHoHFoScdAs0RwB6EA5w3HHLWDXDAh/Gl9+F25l0wAHQcGDCAghtY iGGGBETgoYDE+TfgixQIdgECPPbYI3QZ8OjhAQgkoB8BGUCnnwEcIgCdAcmpKF5y1SHA5ILZITAl cjwe6aN7CCgoHgIUnKfkfl1SmUEEDOZHpY8ZcBDkAdURaR52XlqZ3Hg+YpdAj9n5V99+UKLp5oJC DmBgjn36WF0AjdoH5QHQLYecAVAmUKmWHASAnAUB0EldjJXWl8ADXIpnAKoEQMqjeRHUF+CqclYK I4wasErhjHr+2eN51H1IgJYHRLAgpv/5d0AATzp6bI+C2vhAltBpMGb/poku2iiPng7bZwCuApAd dGSKil0B5CIwq6jd+mcAAgFkJ+oA9WVIpJMc9MnBA3Taeyd0O0InLpH0crAjpwQc7OOH0xpQH5sJ QJDlwGNSaKGPoXopwH8bC1DfAwhQvKDCiSoK7skoVwcAyuAKYKFy0IF7cbzociABuP89mnF9AshM JwEr1xfvnsmxTJ+FGY8YM7OdjgcuzydvaQDKTMY8q5yeEpl1vzK3yvKr2W2cQMco7rms1OCWzDLK 9VEQdXQLEoDBuJ1mjHMBQgdAQYp0dr331BLI67XQSK8NLp0pBjBoAkyDK3B2T3PgNtU6nxw3pNV5 DXm8IKZdeABQTg6B/4UbG9Bx3msz6bWrwxluOQE9V9pdAgCIR2ndhY9Xae0269z3ow7WZwCbnYqn Qbcs+8fBysZyAAEAS8cs3gNsrk7nA1kbnd3Ktvu8soUbQA4d46/3DGUBpW+sgbHLZnp99if3CMD8 9NMPQQb6bR8qldUJPPoB8xtPfZSkgdoBDQAqcxmWALil5Y2OShuoHwBGNb9uzU9g0OvUAxc0gAoe KkYSrNb86lPAgQUQgIUaT/3ulz8Azm1ql0rhsj4YgQq6KmQSzCH9JKBDCfJQghB4ng4l8MP6FRGB B+wh/QKgxCY68Yn2E2IQ5zdFKPawikqMHw6tyMUu6jCFBJiAF8dIxmEymrGJ8SOiGtfIxja68Y1w jKMc50jHOtrxjniU4xLBFcQ++vGPgAykIAdJyEIa8pCITKQiF1nIH55MCpCMpCRjQIUmTPKSmMRk JTPJyU5GYZOeDKUofwDKUZrylC6oZAgAADs= ------=_NextPart_000_0038_01C8784D.93C008F0 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://www.cambridgewhoswho.com/Images/Buttons/Button_GO.jpg /9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAAPAAA/+4ADkFkb2JlAGTAAAAAAf/b AIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoKDBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxsc Hx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f Hx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgAEgAcAwERAAIRAQMRAf/EAIwAAAICAwAAAAAAAAAAAAAA AAMFAAYBAgQBAAIDAQAAAAAAAAAAAAAAAAIDAAEEBRAAAAQEBAIEDwAAAAAAAAAAAQIDBAAREgUx ExQGITNRNBVGIlJiwiOzhKQ1ZRYmNoaWEQABAwEECAcAAAAAAAAAAAABABECAzGBwRNB8RIyQoIj kyFRYaEzQxT/2gAMAwEAAhEDEQA/ALo+dbgf7qXtlvcrZyi6gELmmIQpSiImERnIClKE45U5TlUM QTaujGMBAEgIRktyHXZJW+8pXUH6xm6CrJ2ZQgKkCoxTCakQkXwpywizCo4aTv6qhKnpDXKXEt/Y sTP072lcmaa2mcKsXZ1QSV4yKpOmU5cBiqgqRD7T3q4GEizey37ZuP0nqNWtma6jMzDVU5M5TnhE zZZTud7BTLjmM3DilrjcCVm30/dLoi4aHUcN3SJRpMKS1RD0j4wTmELNXYqknzKMU9qmAiNN97ds 6lkLZ7eu47Lciqo7dItG62mFso3yCmQqMc3pahMYcQh36oRZvFL/ADzk7pW9vW2We3V7BtpF6ZJ8 5ScOnL7KLQmgM00kwTMYTDPEwwupWgIkR0o4UpmQJ0I+f9h1fNKfd4U/R58EbdXlxVnvnxd3+M80 /WediPM8rpjZU3j8d9qzU90fJdYuD+SgO0j7iyH6lE7SncTPu33d657JyvW+bDfr+u27Wl8fHZfq X//Z ------=_NextPart_000_0038_01C8784D.93C008F0 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.cambridgewhoswho.com/App_Themes/CambridgeWhosWho.Default/StyleSheet.css BODY { FONT-SIZE: 12px; BACKGROUND: url(/Images/MasterPage/bodyBG.gif) #c6cbce = repeat-y left 50%; COLOR: #000; FONT-FAMILY: Arial } .clear { CLEAR: both } .clearthis { CLEAR: both; FLOAT: none; LINE-HEIGHT: 0; HEIGHT: 0px } .clearthisHR { CLEAR: both; BORDER-TOP: #e1e2e3 0.1pt solid; FLOAT: none; = MARGIN-BOTTOM: 5px } .clearthisHRThick { CLEAR: both; BORDER-TOP: #c3c4c6 2pt solid; FLOAT: none; MARGIN-BOTTOM: = 10px } HR { BORDER-RIGHT: #c9ced2 1px solid; BORDER-TOP: #c9ced2 1px solid; MARGIN: = 5px 0px; BORDER-LEFT: #c9ced2 1px solid; BORDER-BOTTOM: #c9ced2 1px = solid } DIV.hr { MARGIN-TOP: 5px; BACKGROUND: url(/Images/hr.gif) #ffffff no-repeat left = 50%; HEIGHT: 25px } DIV.hr HR { DISPLAY: none } .MiscText { DISPLAY: block; FONT-SIZE: 11px; MARGIN: 5px 15px; COLOR: #000 } .DefaultImage { BORDER-RIGHT: #87959f 2px solid; BORDER-TOP: #87959f 2px solid; FLOAT: = left; MARGIN: 0px 10px 10px 5px; BORDER-LEFT: #87959f 2px solid; = BORDER-BOTTOM: #87959f 2px solid } .10pxPadded { PADDING-RIGHT: 10px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; = PADDING-TOP: 10px } .ContainerRoundBR { PADDING-RIGHT: 13px; BACKGROUND-POSITION: right bottom; PADDING-LEFT: = 10px; BACKGROUND-IMAGE: url(/Images/Members/corner-BR.png); = PADDING-BOTTOM: 15px; PADDING-TOP: 5px; BACKGROUND-REPEAT: no-repeat; = BACKGROUND-COLOR: #efeff0 } .ContainerRoundBR-Blue { PADDING-RIGHT: 10px; BACKGROUND-POSITION: right bottom; PADDING-LEFT: = 10px; BACKGROUND-IMAGE: url(/Images/Members/corner-BR.png); = PADDING-BOTTOM: 15px; PADDING-TOP: 5px; BACKGROUND-REPEAT: no-repeat; = BACKGROUND-COLOR: #eff3f7 } H1 { FONT-SIZE: 16px; COLOR: #333333 } H2 { COLOR: #333333 } H3 { FONT-SIZE: 12px; MARGIN: 5px 0px 10px; COLOR: #344856 } H4 { FONT-SIZE: 14px; MARGIN: 5px 0px 10px; COLOR: #344856 } .ErrorText { COLOR: #ff0000 } A:link { COLOR: #0000ff; TEXT-DECORATION: underline } A:visited { COLOR: #0000ff; TEXT-DECORATION: underline } A:hover { COLOR: #000083; TEXT-DECORATION: underline } A:active { COLOR: #0000ff; TEXT-DECORATION: underline } .FormFieldName { FLOAT: left; WIDTH: 175px } .FormTextBox { BORDER-RIGHT: #808080 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: = #808080 1px solid; PADDING-LEFT: 3px; FONT-SIZE: 11px; PADDING-BOTTOM: = 0px; MARGIN: 3px 0px; VERTICAL-ALIGN: middle; BORDER-LEFT: #808080 1px = solid; COLOR: #666666; PADDING-TOP: 3px; BORDER-BOTTOM: #808080 1px = solid; FONT-FAMILY: Arial; HEIGHT: 14px } .FormRadio { COLOR: #666666 } .FormCheckBox { COLOR: #666666 } .FormDropDown { BORDER-RIGHT: #808080 1px solid; BORDER-TOP: #808080 1px solid; MARGIN: = 3px 0px; BORDER-LEFT: #808080 1px solid; COLOR: #666666; BORDER-BOTTOM: = #808080 1px solid } .FormSubmit { BORDER-RIGHT: #808080 thin solid; BORDER-TOP: #808080 thin solid; = BORDER-LEFT: #808080 thin solid; COLOR: #666666; BORDER-BOTTOM: #808080 = thin solid } .FormSubmit_GO { BORDER-RIGHT: #ffffff thin solid; BORDER-TOP: #ffffff thin solid; = FONT-WEIGHT: 900; FONT-SIZE: 10px; BORDER-LEFT: #ffffff thin solid; = COLOR: #ffffff; BORDER-BOTTOM: #ffffff thin solid; FONT-FAMILY: Georgia; = HEIGHT: 20px; BACKGROUND-COLOR: #996633 } #Master_Header { LEFT: 0px; BACKGROUND-IMAGE: = url(/Images/MasterPage/Default/Header/Header_BG.jpg); WIDTH: 800px; = POSITION: absolute; TOP: 0px; HEIGHT: 108px } #Master_Header_MemberLoggedIn { LEFT: 0px; BACKGROUND-IMAGE: = url(/Images/MasterPage/Default/Header/Header_BG_member_loggedin.gif); = WIDTH: 800px; POSITION: absolute; TOP: 0px; HEIGHT: 108px } #Master_Header_Login { LEFT: 540px; POSITION: absolute; TOP: 0px } #Master_Header_LogoLink { DISPLAY: block; LEFT: 15px; WIDTH: 150px; CURSOR: pointer; POSITION: = absolute; TOP: 15px; HEIGHT: 75px } #Master_Body { MARGIN: 0px; WIDTH: 800px; POSITION: absolute; TOP: 108px } #Master_Body_Content { WIDTH: 600px } #Master_Nav { BACKGROUND-POSITION: right 50%; FLOAT: left; BACKGROUND-IMAGE: = url(/Images/Nav/NavBG.gif); MARGIN-LEFT: -800px; WIDTH: 169px; = BACKGROUND-REPEAT: repeat-y; BACKGROUND-COLOR: #e5e8e9 } #Master_Nav A:link { COLOR: #516b8e; TEXT-DECORATION: underline } #Master_Nav A:visited { COLOR: #516b8e; TEXT-DECORATION: underline } #Master_Nav A:hover { COLOR: #3f77c3; TEXT-DECORATION: underline } #Master_Nav A:active { COLOR: #516b8e; TEXT-DECORATION: underline } #Master_Nav #Main A { BORDER-RIGHT: #d7dee1 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: = #d7dee1 1px solid; DISPLAY: block; PADDING-LEFT: 15px; FONT-SIZE: 14px; = MARGIN-BOTTOM: 1px; PADDING-BOTTOM: 5px; BORDER-LEFT: #d7dee1 1px solid; = COLOR: #687381; PADDING-TOP: 5px; BORDER-BOTTOM: #d7dee1 1px solid; = BACKGROUND-COLOR: #eef1f3; TEXT-DECORATION: none } #Master_Nav #Main A:hover { BORDER-RIGHT: #ffffff 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: = #dde0e0 1px solid; DISPLAY: block; PADDING-LEFT: 15px; FONT-WEIGHT: = bold; MARGIN-BOTTOM: 1px; PADDING-BOTTOM: 5px; COLOR: #668495; = PADDING-TOP: 5px; BORDER-BOTTOM: #b1babd 1px solid; BACKGROUND-COLOR: = #ffffff; TEXT-DECORATION: none } .NavArrow { BACKGROUND-POSITION: right 50%; BACKGROUND-IMAGE: = url(/Images/Nav/arrow.gif); BACKGROUND-REPEAT: no-repeat } #Master_Nav #Main A.NavSpecial { BORDER-RIGHT: #90b6eb 1px solid; BORDER-TOP: #90b6eb 1px solid; = MARGIN-BOTTOM: 1px; BORDER-LEFT: #90b6eb 1px solid; BORDER-BOTTOM: = #90b6eb 1px solid; BACKGROUND-COLOR: #d1e4ff } #Master_Nav #Main A:hover { BORDER-RIGHT: #ffffff 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: = #dde0e0 1px solid; DISPLAY: block; PADDING-LEFT: 15px; FONT-WEIGHT: = bold; MARGIN-BOTTOM: 1px; PADDING-BOTTOM: 5px; COLOR: #668495; = PADDING-TOP: 5px; BORDER-BOTTOM: #b1babd 1px solid; BACKGROUND-COLOR: = #ffffff; TEXT-DECORATION: none } #Master_Content { PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 1px; FLOAT: left; = MARGIN-LEFT: 169px; OVERFLOW: hidden; WIDTH: 630px; BACKGROUND-COLOR: = #ffffff } #Master_Footer { FONT-SIZE: 11px; WIDTH: 800px; COLOR: #3f3f3f; BACKGROUND-COLOR: = #f7f8fa; TEXT-ALIGN: center } #Master_Footer A:link { FONT-SIZE: 11px; COLOR: #606469; TEXT-DECORATION: none } #Master_Footer A:visited { FONT-SIZE: 11px; COLOR: #606469; TEXT-DECORATION: none } #Master_Footer A:hover { FONT-SIZE: 11px; COLOR: #606469; TEXT-DECORATION: underline } #Master_Footer A:active { FONT-SIZE: 11px; COLOR: #606469; TEXT-DECORATION: none } #EPEMembers { MARGIN-TOP: 5px; FLOAT: left; MARGIN-LEFT: 2px } #EPEMembers UL#MemberLink { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px; LIST-STYLE-TYPE: none } #EPEMembers UL#MemberLink LI { BORDER-RIGHT: green 0px solid; PADDING-RIGHT: 0px; BORDER-TOP: green = 0px solid; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; = BORDER-LEFT: green 0px solid; WIDTH: 132px; PADDING-TOP: 0px; = BORDER-BOTTOM: green 0px solid; HEIGHT: 28px } #EPEMembers UL#MemberLink LI A { BORDER-RIGHT: aqua 0px solid; PADDING-RIGHT: 0px; BORDER-TOP: aqua 0px = solid; DISPLAY: block; PADDING-LEFT: 10px; PADDING-BOTTOM: 0px; = BORDER-LEFT: aqua 0px solid; COLOR: #29456c; PADDING-TOP: 5px; = BORDER-BOTTOM: aqua 0px solid; HEIGHT: 28px; TEXT-DECORATION: none } #EPEMembers UL#MemberLink LI A:hover { PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 10px; FONT-WEIGHT: = bold; BACKGROUND-IMAGE: = url(/Images/MainSite/HomePage/HP_EPE_SelectedMember_BG.gif); = PADDING-BOTTOM: 0px; COLOR: #29456c; PADDING-TOP: 5px; = BACKGROUND-REPEAT: no-repeat; HEIGHT: 28px; TEXT-DECORATION: none } #VIPMembers { MARGIN-TOP: 5px; FLOAT: left; MARGIN-LEFT: 2px } .VIPMemberContent { BACKGROUND-IMAGE: url(/Images/MainSite/HomePage/HP_VIP_BG.gif); = BACKGROUND-REPEAT: repeat-y } .VIPMemberContent LI { PADDING-RIGHT: 0px; PADDING-LEFT: 15px; PADDING-BOTTOM: 0px; WIDTH: = 191px; PADDING-TOP: 0px } #VIPMembers A:link { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 11px; PADDING-BOTTOM: = 0px; COLOR: #e07705; PADDING-TOP: 0px; TEXT-DECORATION: underline } #VIPMembers A:visited { COLOR: #e07705; TEXT-DECORATION: underline } #VIPMembers A:hover { COLOR: #e07705; TEXT-DECORATION: none } #VIPMembers A:active { COLOR: #e07705; TEXT-DECORATION: underline } A.HPMoreLink:active { FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #516b8e; TEXT-DECORATION: = underline } A.HPMoreLink:link { FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #516b8e; TEXT-DECORATION: = underline } A.HPMoreLink:visited { FONT-WEIGHT: bold; FONT-SIZE: 11px; COLOR: #516b8e; TEXT-DECORATION: = underline } A.HPMoreLink:hover { COLOR: #3f77c3; TEXT-DECORATION: none } #HallOfFame { FLOAT: left } #AffiliateProgram { PADDING-RIGHT: 5px; PADDING-LEFT: 5px } #AboutUs { PADDING-RIGHT: 5px; PADDING-LEFT: 5px } #SuccessStories { PADDING-RIGHT: 5px; PADDING-LEFT: 5px } #MemberProducts { PADDING-RIGHT: 5px; PADDING-LEFT: 5px } #AffiliateMemberProducts { PADDING-RIGHT: 5px; PADDING-LEFT: 5px } .LetterBrowse { CLEAR: both; PADDING-LEFT: 150px; FONT-SIZE: 11px; BACKGROUND-IMAGE: = url(/images/MainSite/HomePage/MemberDirectory.gif); MARGIN: 5px 0px 0px = 7px; PADDING-TOP: 5px; BACKGROUND-REPEAT: no-repeat; HEIGHT: 24px } .LetterBrowse A { PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; FLOAT: left; = PADDING-BOTTOM: 0px; MARGIN: 0px 1px 0px 0px; VERTICAL-ALIGN: middle; = WIDTH: 16px; COLOR: #687381; PADDING-TOP: 0px; HEIGHT: 16px; TEXT-ALIGN: = center; TEXT-DECORATION: none } .LetterBrowse A:visited { PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; FLOAT: left; = PADDING-BOTTOM: 0px; MARGIN: 0px 1px 0px 0px; WIDTH: 16px; COLOR: = #687381; PADDING-TOP: 0px; HEIGHT: 16px; TEXT-DECORATION: none } .LetterBrowse A:hover { PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; FLOAT: left; = PADDING-BOTTOM: 0px; MARGIN: 0px 1px 0px 0px; WIDTH: 16px; COLOR: = #687381; PADDING-TOP: 0px; HEIGHT: 16px; BACKGROUND-COLOR: #cdd1d6; = TEXT-DECORATION: none } .LetterBrowse A:active { PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 0px; FLOAT: left; = PADDING-BOTTOM: 0px; MARGIN: 0px 1px 0px 0px; WIDTH: 16px; COLOR: = #687381; PADDING-TOP: 0px; HEIGHT: 16px; TEXT-DECORATION: none } #MemberProfile { BORDER-RIGHT: #dee2e6 1px solid; BORDER-TOP: #dee2e6 1px solid; = BACKGROUND-IMAGE: url(/Images/Members/MemTableBG.gif); BORDER-LEFT: = #dee2e6 1px solid; WIDTH: 100%; BORDER-BOTTOM: #dee2e6 1px solid; = BACKGROUND-COLOR: #dee2e6 } .MemLeft { PADDING-RIGHT: 3px; BORDER-TOP: #dee2e6 2px dotted; PADDING-LEFT: 3px; = FONT-WEIGHT: bold; FONT-SIZE: 10px; FLOAT: left; PADDING-BOTTOM: 5px; = WIDTH: 20%; COLOR: #727c87; PADDING-TOP: 5px; HEIGHT: 25px; = BACKGROUND-COLOR: #e3eaf2 } .MemLeftLarge { PADDING-RIGHT: 3px; BORDER-TOP: #dee2e6 2px dotted; PADDING-LEFT: 3px; = FONT-WEIGHT: bold; FONT-SIZE: 10px; FLOAT: left; PADDING-BOTTOM: 5px; = WIDTH: 20%; COLOR: #727c87; PADDING-TOP: 5px; HEIGHT: 60px; = BACKGROUND-COLOR: #e3eaf2 } .MemRight { PADDING-RIGHT: 3px; BORDER-TOP: #dee2e6 2px dotted; PADDING-LEFT: 3px; = FLOAT: left; PADDING-BOTTOM: 5px; WIDTH: 77%; PADDING-TOP: 5px; = BACKGROUND-COLOR: #eff3f7 } .MemClear { CLEAR: both } .MemberSecondaryNav { BACKGROUND: url(/Images/MembersOnly/MyCambridge/Top_Member_Nav.gif) = no-repeat right top; WIDTH: 100%; COLOR: #b6bdc6; PADDING-TOP: 5px; = HEIGHT: 28px } .ResourceLink { FONT-SIZE: 11px; MARGIN: 5px 15px; COLOR: #697782 } .ResourceLink A:link { PADDING-RIGHT: 0px; BORDER-TOP: #d4dee5 1px solid; DISPLAY: block; = PADDING-LEFT: 15px; PADDING-BOTTOM: 5px; MARGIN: 1px 0px; WIDTH: 100%; = COLOR: #687381; PADDING-TOP: 5px; TEXT-DECORATION: none } .ResourceLink A:visited { PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 15px; PADDING-BOTTOM: = 5px; MARGIN: 1px 0px; WIDTH: 100%; COLOR: #687381; PADDING-TOP: 5px; = TEXT-DECORATION: none } .ResourceLink A:hover { PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 15px; PADDING-BOTTOM: = 5px; MARGIN: 1px 0px; WIDTH: 100%; COLOR: #687381; PADDING-TOP: 5px; = BACKGROUND-COLOR: #d4dee5; TEXT-DECORATION: none } .ResourceLink A:active { PADDING-RIGHT: 0px; DISPLAY: block; PADDING-LEFT: 15px; PADDING-BOTTOM: = 5px; MARGIN: 1px 0px; WIDTH: 100%; COLOR: #687381; PADDING-TOP: 5px; = TEXT-DECORATION: none } .NewsRptContainer { MARGIN-TOP: 5px; MARGIN-BOTTOM: 5px } .NewsRptTitlebar { BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 8px; DISPLAY: block; = PADDING-LEFT: 8px; BORDER-LEFT-WIDTH: 0px; BACKGROUND-IMAGE: = url(/Images/MainSite/InTheNews/NewsTitleBar.gif); BORDER-BOTTOM-WIDTH: = 0px; PADDING-BOTTOM: 8px; CURSOR: pointer; COLOR: #ffffff; MARGIN-RIGHT: = 1px; PADDING-TOP: 8px; BACKGROUND-REPEAT: no-repeat; BORDER-RIGHT-WIDTH: = 0px } .NewsRptTitlebarOver { BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 8px; DISPLAY: block; = PADDING-LEFT: 8px; BORDER-LEFT-WIDTH: 0px; BACKGROUND-IMAGE: = url(/Images/MainSite/InTheNews/NewsTitleBarOver.gif); = BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 8px; CURSOR: pointer; COLOR: = #ffffff; MARGIN-RIGHT: 1px; PADDING-TOP: 8px; BACKGROUND-REPEAT: = no-repeat; BORDER-RIGHT-WIDTH: 0px } .NewsRptDate { FLOAT: left } .NewsRptTitle { MARGIN-LEFT: 90px; WIDTH: 375px } .NewsRptDescription { BORDER-RIGHT: #c4c4c4 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: = #c4c4c4 1px solid; PADDING-LEFT: 10px; PADDING-BOTTOM: 5px; BORDER-LEFT: = #c4c4c4 1px solid; WIDTH: 564px; PADDING-TOP: 5px; BORDER-BOTTOM: = #c4c4c4 1px solid; BACKGROUND-COLOR: #e1e1e2 } .BrowseItemTemplate { PADDING-RIGHT: 10px; BORDER-TOP: #dee2e6 2px dotted; PADDING-LEFT: = 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #e3eaf2 } .BrowseAlternatingItemTemplate { PADDING-RIGHT: 10px; BORDER-TOP: #dee2e6 2px dotted; PADDING-LEFT: = 10px; PADDING-BOTTOM: 10px; PADDING-TOP: 10px; BACKGROUND-COLOR: #eff3f7 } .BrowseAddToFavorite { PADDING-LEFT: 10px; FLOAT: left; WIDTH: 70px } .BrowseRank { FONT-WEIGHT: bold; FLOAT: left; MARGIN-LEFT: 5px; WIDTH: 88px; COLOR: = #426894 } .BrowseUserName { FLOAT: left; MARGIN-LEFT: 5px; WIDTH: 148px } .BrowseExpertise { FLOAT: left; MARGIN-LEFT: 5px; WIDTH: 220px } .BrowseClear { CLEAR: left } .BrowseItemTemplate A:link { COLOR: #426894; TEXT-DECORATION: underline } .BrowseItemTemplate A:visited { COLOR: #426894; TEXT-DECORATION: underline } .BrowseItemTemplate A:hover { COLOR: #426894; TEXT-DECORATION: none } .BrowseItemTemplate A:active { COLOR: #426894; TEXT-DECORATION: underline } .BrowseAlternatingItemTemplate A:link { COLOR: #426894; TEXT-DECORATION: underline } .BrowseAlternatingItemTemplate A:visited { COLOR: #426894; TEXT-DECORATION: underline } .BrowseAlternatingItemTemplate A:hover { COLOR: #426894; TEXT-DECORATION: none } .BrowseAlternatingItemTemplate A:active { COLOR: #426894; TEXT-DECORATION: underline } DIV#EntrepreneursApplication DIV.l { PADDING-RIGHT: 10px; FLOAT: left; WIDTH: 200px } .tabberlive .tabbertabhide { DISPLAY: none } .tabber { =09 } .tabberlive { MARGIN-TOP: 1em } UL.tabbernav { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: 12px; PADDING-BOTTOM: = 3px; MARGIN: 0px; PADDING-TOP: 3px; BORDER-BOTTOM: #a1a1a1 1px solid } UL.tabbernav LI { DISPLAY: inline; MARGIN: 0px; LIST-STYLE-TYPE: none } UL.tabbernav LI A { BORDER-RIGHT: #a1a1a1 1px solid; PADDING-RIGHT: 0.5em; BORDER-TOP: = #a1a1a1 1px solid; PADDING-LEFT: 0.5em; BACKGROUND: #ddd; = PADDING-BOTTOM: 3px; FONT: bold 1em "Trebuchet MS", Arial, sans-serif; = MARGIN-LEFT: 3px; BORDER-LEFT: #a1a1a1 1px solid; PADDING-TOP: 3px; = BORDER-BOTTOM: #a1a1a1 1px; TEXT-DECORATION: none } UL.tabbernav LI A:link { COLOR: #000 } UL.tabbernav LI A:visited { COLOR: #000 } UL.tabbernav LI A:hover { BORDER-LEFT-COLOR: #70a9c8; BACKGROUND: #bedff1; BORDER-BOTTOM-COLOR: = #70a9c8; FONT: bold 1em "Trebuchet MS", Arial, sans-serif; COLOR: #000; = BORDER-TOP-COLOR: #70a9c8; TEXT-DECORATION: none; BORDER-RIGHT-COLOR: = #70a9c8 } UL.tabbernav LI.tabberactive A { BORDER-BOTTOM: #fff 1px solid; BACKGROUND-COLOR: #fff } UL.tabbernav LI.tabberactive A:hover { BACKGROUND: white; COLOR: #000; BORDER-BOTTOM: white 1px solid } .tabberlive .tabbertab { BORDER-RIGHT: #a1a1a1 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: = #a1a1a1 0px solid; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; BORDER-LEFT: = #a1a1a1 1px solid; PADDING-TOP: 5px; BORDER-BOTTOM: #a1a1a1 1px solid; = BACKGROUND-COLOR: #ffffff } .tabberlive .tabbertab H2 { DISPLAY: none } .tabberlive .tabbertab H3 { DISPLAY: none } .tabberlive#tab1 { =09 } .tabberlive#tab2 { =09 } .tabberlive#tab2 .tabbertab { OVERFLOW: auto; HEIGHT: 200px } #EditorialReviewBox { BORDER-RIGHT: #bbb 1px solid; BORDER-TOP: #bbb 1px solid; MARGIN: 10px; = BORDER-LEFT: #bbb 1px solid; WIDTH: 95%; BORDER-BOTTOM: #bbb 1px solid; = BACKGROUND-COLOR: #eee } #EditorialReviewBox .header { CLEAR: both; PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; = FONT-SIZE: 14px; PADDING-BOTTOM: 5px; CURSOR: pointer; PADDING-TOP: 5px; = BORDER-BOTTOM: #bbb 1px solid; BACKGROUND-COLOR: #ddd } #EditorialSearchBox { BORDER-RIGHT: #bbb 1px solid; BORDER-TOP: #bbb 1px solid; MARGIN: 10px; = BORDER-LEFT: #bbb 1px solid; WIDTH: 95%; BORDER-BOTTOM: #bbb 1px solid; = BACKGROUND-COLOR: #eee } #EditorialSearchBox .header { CLEAR: both; PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; = FONT-SIZE: 14px; PADDING-BOTTOM: 5px; CURSOR: pointer; PADDING-TOP: 5px; = BORDER-BOTTOM: #bbb 1px solid; BACKGROUND-COLOR: #ddd } #EditorialSearchBox .firstColumn { CLEAR: both; PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FLOAT: left; = PADDING-BOTTOM: 5px; WIDTH: 30%; PADDING-TOP: 5px; HEIGHT: 27px } #EditorialSearchBox .secondColumn { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FLOAT: left; PADDING-BOTTOM: = 5px; WIDTH: 250px; PADDING-TOP: 5px; HEIGHT: 27px } #EditorialSearchBox .fullWidthColumn { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FLOAT: left; PADDING-BOTTOM: = 5px; WIDTH: 100%; PADDING-TOP: 5px; TEXT-ALIGN: center } #EditorialSearchResultsTable { CLEAR: both; MARGIN-LEFT: 10px } #EditorialSearchResultsTable TABLE { BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; = BORDER-LEFT: black 1px solid; WIDTH: 95%; BORDER-BOTTOM: black 1px = solid; BORDER-COLLAPSE: collapse; border-spacing: 0 } #EditorialSearchResultsTable .header { FONT-WEIGHT: bold; COLOR: #ccd0d5; BACKGROUND-COLOR: #82878e } #EditorialSearchResultsTable TD { BORDER-RIGHT: black 1px solid; PADDING-RIGHT: 3px; BORDER-TOP: black = 1px solid; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; MARGIN: 0px; = BORDER-LEFT: black 1px solid; PADDING-TOP: 3px; BORDER-BOTTOM: black 1px = solid } #EditorialSearchResultsTable .RootTransactionContainerCell { BORDER-TOP-WIDTH: 0px; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; = BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; PADDING-BOTTOM: 0px; = VERTICAL-ALIGN: top; PADDING-TOP: 0px; BORDER-RIGHT-WIDTH: 0px } #EditorialSearchResultsTable .item { BACKGROUND-COLOR: #eff3f7 } #EditorialSearchResultsTable .altItem { BACKGROUND-COLOR: #e3eaf2 } #MemberCardContainer { FLOAT: left; BACKGROUND-IMAGE: = url(/Images/MembersOnly/MyCambridge/Member_Card.gif); MARGIN: 7px 0px = 0px 5px; WIDTH: 473px; BACKGROUND-REPEAT: no-repeat; POSITION: relative; = HEIGHT: 125px } #MemberCardContainer .MemberImageBox { BORDER-RIGHT: #fff 1px solid; BORDER-TOP: #fff 1px solid; LEFT: 13px; = BORDER-LEFT: #fff 1px solid; WIDTH: 80px; BORDER-BOTTOM: #fff 1px solid; = POSITION: absolute; TOP: 11px; HEIGHT: 95px } #MemberCardContainer .MemberInfoBox { PADDING-RIGHT: 0px; PADDING-LEFT: 9px; LEFT: 95px; PADDING-BOTTOM: 0px; = WIDTH: 177px; PADDING-TOP: 4px; POSITION: absolute; TOP: 11px; HEIGHT: = 91px } #MemberCardContainer .MemberInfoBox .FullName { FONT-WEIGHT: bold; MARGIN-BOTTOM: 5px; COLOR: #054195 } #MemberCardContainer .MemberInfoBox .SmallerFont { FONT-SIZE: 11px } #MemberCardContainer .MemberInfoBox .DateRegistration { MARGIN-TOP: 5px } #MemberCardContainer .MemberProfileStatusBox { PADDING-RIGHT: 11px; PADDING-LEFT: 0px; FONT-SIZE: 11px; LEFT: 286px; = PADDING-BOTTOM: 0px; WIDTH: 174px; PADDING-TOP: 4px; FONT-FAMILY: = Georgia; POSITION: absolute; TOP: 11px; HEIGHT: 91px; TEXT-ALIGN: right } #MemberCardContainer .MemberProfileStatusBox .ProfileCompletenessBar { MARGIN: 12px 0px 5px } #MemberCardContainer .MemberProfileStatusBox A { COLOR: #de780a; TEXT-DECORATION: underline } #MemberNetworkContainer { PADDING-RIGHT: 0px; PADDING-LEFT: 30px; FONT-SIZE: 11px; FLOAT: left; = BACKGROUND-IMAGE: = url(/Images/MembersOnly/MyCambridge/Member_Network.gif); PADDING-BOTTOM: = 0px; MARGIN: 7px 0px 0px 6px; WIDTH: 108px; LINE-HEIGHT: 18px; = PADDING-TOP: 27px; BACKGROUND-REPEAT: no-repeat; HEIGHT: 100px } #MemberNetworkContainer A { TEXT-DECORATION: underline } #CamBizProfileContainer { FLOAT: left; MARGIN-LEFT: 6px; WIDTH: 300px; HEIGHT: 220px } #CamBizProfileContainer .Header { WIDTH: 301px; HEIGHT: 26px } #CamBizProfileContainer .Footer { WIDTH: 301px; HEIGHT: 21px } #CamBizProfileContainer .CamBizRow { CLEAR: both; BORDER-RIGHT: #e5e5e5 1px solid; PADDING-LEFT: 3px; = FONT-SIZE: 11px; BORDER-LEFT: #e5e5e5 1px solid; WIDTH: 296px; HEIGHT: = 61px; BACKGROUND-COLOR: #f7f7f7 } #CamBizProfileContainer .CamBizRow A { COLOR: #de780a; TEXT-DECORATION: underline } #CamBizProfileContainer .Separator { CLEAR: both; BORDER-RIGHT: #e5e5e5 1px solid; PADDING-RIGHT: 0px; = PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-LEFT: #e5e5e5 1px solid; = WIDTH: 299px; PADDING-TOP: 0px; HEIGHT: 10px; BACKGROUND-COLOR: #f7f7f7 } #ClassifiedsContainer { FONT-SIZE: 11px; FLOAT: left; MARGIN: 0px 0px 7px 9px; WIDTH: 301px } #ClassifiedsContainer A { COLOR: #de780a; TEXT-DECORATION: underline } #EPEContainer { FLOAT: left; MARGIN: 0px 0px 7px 7px; WIDTH: 610px; BACKGROUND-COLOR: = #f7f7f7 } #EPEContainer .RepeaterContainer { BORDER-RIGHT: #d6d6d6 1px solid; PADDING-RIGHT: 4px; PADDING-LEFT: 4px; = PADDING-BOTTOM: 0px; BORDER-LEFT: #d6d6d6 1px solid; WIDTH: 600px; = PADDING-TOP: 0px; HEIGHT: 89px } #EPEContainer .RepeaterContainer .RepeaterItem { FLOAT: left; WIDTH: 200px; POSITION: relative; HEIGHT: 87px } #EPEContainer .RepeaterContainer .RepeaterItem .ImageBox { BORDER-RIGHT: #8e9ba4 1px solid; BORDER-TOP: #8e9ba4 1px solid; LEFT: = 5px; BORDER-LEFT: #8e9ba4 1px solid; WIDTH: 43px; BORDER-BOTTOM: #8e9ba4 = 1px solid; POSITION: absolute; TOP: 10px; HEIGHT: 51px } #EPEContainer .RepeaterContainer .RepeaterItem .InfoBox { FONT-SIZE: 11px; LEFT: 56px; OVERFLOW: auto; WIDTH: 150px; POSITION: = absolute; TOP: 10px; HEIGHT: 60px } #EPEContainer .RepeaterContainer .RepeaterItem .ViewProfileLinkBox { LEFT: 56px; POSITION: absolute; TOP: 71px } #EPEContainer .RepeaterContainer .RepeaterItem .ViewProfileLinkBox A { FONT-SIZE: 11px; COLOR: #de780a; TEXT-DECORATION: underline } #VIPContainer { FLOAT: left; MARGIN: 0px 0px 7px 7px; WIDTH: 610px; BACKGROUND-COLOR: = #f7f7f7 } #VIPContainer .RepeaterContainer { BORDER-RIGHT: #d6d6d6 1px solid; PADDING-RIGHT: 4px; PADDING-LEFT: 4px; = PADDING-BOTTOM: 0px; BORDER-LEFT: #d6d6d6 1px solid; WIDTH: 600px; = PADDING-TOP: 0px; HEIGHT: 81px } #VIPContainer .RepeaterContainer .RepeaterItem { FLOAT: left; WIDTH: 150px; POSITION: relative; HEIGHT: 79px } #VIPContainer .RepeaterContainer .RepeaterItem .InfoBox { FONT-SIZE: 11px; LEFT: 0px; OVERFLOW: auto; WIDTH: 150px; POSITION: = absolute; TOP: 10px; HEIGHT: 60px } #VIPContainer .RepeaterContainer .RepeaterItem .ViewProfileLinkBox { LEFT: 0px; POSITION: absolute; TOP: 65px } #VIPContainer .RepeaterContainer .RepeaterItem .ViewProfileLinkBox A { FONT-SIZE: 11px; COLOR: #de780a; TEXT-DECORATION: underline } .NewMessagesPanel { MARGIN-LEFT: 5px; WIDTH: 621px } .NewMessagesPanel .SummaryBox { FONT-SIZE: 11px; MARGIN-BOTTOM: 3px; COLOR: #054195 } .NewMessagesPanel .SummaryBox SPAN { COLOR: #de780a } .NewMessagesPanel .SummaryBox A { COLOR: #de780a; TEXT-DECORATION: underline } .NewMessagesPanel .MessageRow { BORDER-RIGHT: #d9d8ab 1px solid; BACKGROUND-POSITION: 8px 1px; = BACKGROUND-IMAGE: url(/Images/MembersOnly/MyCambridge/message_icon.gif); = BORDER-LEFT: #d9d8ab 1px solid; WIDTH: 619px; BACKGROUND-REPEAT: = no-repeat; POSITION: relative; HEIGHT: 18px; BACKGROUND-COLOR: #fffec2 } .NewMessagesPanel .MessageRow .MessageFrom { FONT-WEIGHT: bold; FONT-SIZE: 11px; LEFT: 25px; COLOR: #2159aa; = POSITION: absolute } .NewMessagesPanel .MessageRow .MessageSeparator { LEFT: 155px; POSITION: absolute } .NewMessagesPanel .MessageRow .MessageSubject { FONT-SIZE: 11px; LEFT: 163px; COLOR: #000; FONT-STYLE: italic; = POSITION: absolute } .NewMessagesPanel .MessageRow .MessageViewLink { FONT-SIZE: 11px; LEFT: 559px; COLOR: #de780a; POSITION: absolute } .NewMessagesPanel .MessageRow .MessageViewLink A { COLOR: #de780a; TEXT-DECORATION: underline } #FeaturedMembersContainer { FLOAT: left; MARGIN-LEFT: 7px; WIDTH: 300px; HEIGHT: 220px } #FeaturedMembersContainer .Header { WIDTH: 300px; HEIGHT: 25px } #FeaturedMembersContainer .Footer { WIDTH: 300px; HEIGHT: 21px } #FeaturedMembersContainer .MemberRow { CLEAR: both; BORDER-RIGHT: #e5e5e5 1px solid; PADDING-LEFT: 3px; = FONT-SIZE: 11px; BORDER-LEFT: #e5e5e5 1px solid; WIDTH: 295px; HEIGHT: = 61px } #FeaturedMembersContainer .MemberRow A { COLOR: #de780a; TEXT-DECORATION: underline } #FeaturedMembersContainer .Separator { CLEAR: both; BORDER-RIGHT: #e5e5e5 1px solid; PADDING-RIGHT: 0px; = PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; BORDER-LEFT: #e5e5e5 1px solid; = WIDTH: 298px; PADDING-TOP: 0px; HEIGHT: 10px } #UpcomingEventsContainer { FONT-SIZE: 11px; FLOAT: left; MARGIN: 0px 0px 7px 7px; WIDTH: 301px } #UpcomingEventsContainer A { COLOR: #de780a; TEXT-DECORATION: underline } .MyCambridgeSeparator { BACKGROUND-IMAGE: url(/Images/MembersOnly/MyCambridge/separator.gif); = MARGIN: 8px 0px 8px 7px; WIDTH: 610px; BACKGROUND-REPEAT: no-repeat; = HEIGHT: 6px } #NewsAndEventsContainer { BORDER-RIGHT: #e5e5e5 1px solid; FONT-SIZE: 12px; FLOAT: left; MARGIN: = 0px 0px 0px 27px; WIDTH: 284px; HEIGHT: 198px } #NewsAndEventsContainer .Header { BACKGROUND-IMAGE: = url(/Images/MembersOnly/MyCambridge/Member_Announcements.gif); WIDTH: = 284px; BACKGROUND-REPEAT: no-repeat; HEIGHT: 15px } #NewsAndEventsContainer .NewsAndEventsRow { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 4px; OVERFLOW: = auto; WIDTH: 284px; PADDING-TOP: 4px; HEIGHT: 73px } #NewsAndEventsContainer SPAN { COLOR: #204476 } #NewsAndEventsContainer A { FONT-SIZE: 11px; COLOR: #de780a; TEXT-DECORATION: underline } #NewsAndEventsContainer .ViewAllLink { COLOR: #516b8e; TEXT-DECORATION: underline } #InTheNewsContainer { FLOAT: left; MARGIN: 0px 0px 0px 15px; WIDTH: 274px; HEIGHT: 198px } #InTheNewsContainer .Header { BACKGROUND-IMAGE: = url(/Images/MembersOnly/MyCambridge/whoswho_in_the_news.gif); WIDTH: = 274px; BACKGROUND-REPEAT: no-repeat; HEIGHT: 15px } #InTheNewsContainer .InTheNewsRow { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 4px; OVERFLOW: = auto; WIDTH: 274px; PADDING-TOP: 4px; HEIGHT: 46px } #InTheNewsContainer SPAN { COLOR: #204476 } #InTheNewsContainer A { FONT-SIZE: 11px; COLOR: #de780a; TEXT-DECORATION: underline } #InTheNewsContainer .ViewAllLink { COLOR: #516b8e; TEXT-DECORATION: underline } #WebsiteTourContainer { BORDER-RIGHT: #e5e5e5 1px solid; PADDING-RIGHT: 50px; PADDING-LEFT: = 10px; FONT-SIZE: 11px; FLOAT: left; BACKGROUND-IMAGE: = url(/Images/MembersOnly/MyCambridge/website_tour_header.gif); = PADDING-BOTTOM: 5px; MARGIN-LEFT: 20px; WIDTH: 230px; PADDING-TOP: 75px; = BACKGROUND-REPEAT: no-repeat } #MembershipTourContainer { PADDING-RIGHT: 20px; PADDING-LEFT: 10px; FONT-SIZE: 11px; FLOAT: left; = BACKGROUND-IMAGE: = url(/Images/MembersOnly/MyCambridge/membership_tour_header.gif); = PADDING-BOTTOM: 5px; MARGIN-LEFT: 20px; WIDTH: 230px; PADDING-TOP: 75px; = BACKGROUND-REPEAT: no-repeat } .LeftColumnSeparator { MARGIN-TOP: 7px; BACKGROUND-IMAGE: = url(/Images/MembersOnly/MyCambridge/left_column_separator.gif); WIDTH: = 168px; BACKGROUND-REPEAT: no-repeat; HEIGHT: 7px } .LeftColumnEntrepreneurContainer { MARGIN-TOP: 7px; FONT-SIZE: 11px; MARGIN-LEFT: 3px; WIDTH: 163px } .LeftColumnEntrepreneurContainer .Header { WIDTH: 163px; HEIGHT: 5px } .LeftColumnEntrepreneurContainer .Content { BORDER-RIGHT: #bdc0c4 1px solid; PADDING-RIGHT: 5px; PADDING-LEFT: 5px; = BACKGROUND-IMAGE: = url(/Images/MembersOnly/MyCambridge/entrepreneur_background.gif); = PADDING-BOTTOM: 5px; BORDER-LEFT: #bdc0c4 1px solid; WIDTH: 151px; = PADDING-TOP: 5px; BACKGROUND-REPEAT: repeat-x; BACKGROUND-COLOR: #e3e7eb } .LeftColumnEntrepreneurContainer .Footer { WIDTH: 163px; HEIGHT: 5px } .LeftColumnEntrepreneurContainer .Discount { FONT-WEIGHT: bold; FONT-SIZE: 13px; COLOR: #2e5b99 } #MemberTopRightNavContainer { POSITION: relative } .MemberTopRightNav { PADDING-RIGHT: 0px; PADDING-LEFT: 80px; RIGHT: 0px; BACKGROUND-IMAGE: = url(/Images/MembersOnly/member_top_right_nav_bg.gif); PADDING-BOTTOM: = 0px; WIDTH: 282px; PADDING-TOP: 5px; BACKGROUND-REPEAT: no-repeat; = POSITION: absolute; TOP: 0px; HEIGHT: 20px } .MemberTopRightNav A { DISPLAY: block; FONT-SIZE: 10px; FLOAT: left; COLOR: #687381 } .MemberTopRightNav SPAN { DISPLAY: block; FONT-SIZE: 10px; FLOAT: left; MARGIN: 0px 7px; COLOR: = #b6bdc6 } .MemberTopRightSearch { RIGHT: 10px; COLOR: #687381; POSITION: absolute; TOP: 42px } .WelcomePanel { FONT-SIZE: 11px; LEFT: 210px; COLOR: #687381; POSITION: absolute; TOP: = 36px } .WelcomePanel SPAN { COLOR: #de780a } .WelcomePanel A { COLOR: #de780a; TEXT-DECORATION: underline } #NominationBallotContainer { =09 } #NominationBallotContainer .SectionHeader { PADDING-RIGHT: 5px; PADDING-LEFT: 5px; FONT-WEIGHT: bold; = PADDING-BOTTOM: 5px; PADDING-TOP: 5px; BACKGROUND-COLOR: #ccc } #NominationBallotContainer .FirstColumn { WIDTH: 25% } #NominationBallotContainer .SecondColumn { WIDTH: 75% } #NominationBallotContainer .Required { FONT-WEIGHT: bold } #GenericAdminContainer { MARGIN-LEFT: 10px } #GenericAdminContainer .HeaderContainer { BORDER-RIGHT: #d3983c 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: = #d3983c 1px solid; PADDING-LEFT: 5px; FONT-WEIGHT: bold; PADDING-BOTTOM: = 5px; BORDER-LEFT: #d3983c 1px solid; COLOR: #000; PADDING-TOP: 5px; = BORDER-BOTTOM: #d3983c 1px solid; BACKGROUND-COLOR: #f2c786 } #GenericAdminContainer .AddLinkContainer { PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; = PADDING-TOP: 3px } #GenericAdminContainer .AddLinkContainer A { FONT-WEIGHT: bold } #GenericAdminContainer .GridViewContainer { MARGIN-TOP: 5px; FLOAT: left; MARGIN-RIGHT: 10px } #GenericAdminContainer .DetailsViewContainer { MARGIN-TOP: 5px; FLOAT: left } .GridViewHeader { =09 } .GridViewHeader TH { PADDING-RIGHT: 8px } .GridViewPager { =09 } .GridViewPager INPUT { BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; FONT-SIZE: = 11px; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid } .GridViewRow1 { PADDING-RIGHT: 3px; PADDING-LEFT: 3px; BACKGROUND: #e5e6e7; = PADDING-BOTTOM: 3px; PADDING-TOP: 3px } .GridViewRow1 TD { PADDING-RIGHT: 8px } .GridViewRow2 { PADDING-RIGHT: 3px; PADDING-LEFT: 3px; BACKGROUND: #ffffff; = PADDING-BOTTOM: 3px; PADDING-TOP: 3px } .GridViewRow2 TD { PADDING-RIGHT: 8px } .GridViewRowSelected { PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; = PADDING-TOP: 3px; BACKGROUND-COLOR: #ccc } .GridViewRowSelected TD { PADDING-RIGHT: 8px } ------=_NextPart_000_0038_01C8784D.93C008F0 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://www.cambridgewhoswho.com/Include/MainNav.css .anylinkcss { BORDER-RIGHT: #bfc1c2 4px solid; PADDING-RIGHT: 0px; BORDER-TOP: = #ffffff 4px solid; PADDING-LEFT: 0px; Z-INDEX: 100; VISIBILITY: hidden; = PADDING-BOTTOM: 0px; MARGIN: 0px; BORDER-LEFT: #ffffff 4px solid; WIDTH: = 217px; PADDING-TOP: 0px; BORDER-BOTTOM: #cfd1d1 4px solid; POSITION: = absolute; BACKGROUND-COLOR: #eaf1fc } .anylinkcss A { BORDER-RIGHT: #dbe0e5 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: = #dbe0e5 1px solid; DISPLAY: block; PADDING-LEFT: 15px; FONT-WEIGHT: = bold; FONT-SIZE: 13px; Z-INDEX: 110; PADDING-BOTTOM: 5px; BORDER-LEFT: = #dbe0e5 1px solid; COLOR: #687381; PADDING-TOP: 5px; BORDER-BOTTOM: = #dbe0e5 1px solid; BACKGROUND-COLOR: #eaf1fc } .anylinkcss A:hover { BORDER-RIGHT: #bbbec0 1px solid; PADDING-RIGHT: 0px; BORDER-TOP: = #bbbec0 1px solid; PADDING-LEFT: 15px; FONT-WEIGHT: bold; Z-INDEX: 110; = PADDING-BOTTOM: 5px; BORDER-LEFT: #bbbec0 1px solid; COLOR: #668495; = PADDING-TOP: 5px; BORDER-BOTTOM: #bbbec0 1px solid; BACKGROUND-COLOR: = #ffffff; TEXT-DECORATION: none } ------=_NextPart_000_0038_01C8784D.93C008F0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.cambridgewhoswho.com/Include/JScript.js =EF=BB=BFvar isIE =3D (window.navigator.userAgent.indexOf("MSIE") > 0); if (! isIE) { HTMLElement.prototype.__defineGetter__("innerText",=20 function () { return(this.textContent); }); HTMLElement.prototype.__defineSetter__("innerText",=20 function (txt) { this.textContent =3D txt; }); } /*************************************************** Implement new functionality for the string object ***************************************************/ String.prototype.isValidDate =3D function() { var IsoDateRe =3D new = RegExp("^([0-9]{1,2})\/([0-9]{1,2})\/([0-9]{4}|[0-9]{2})$"); var matches =3D IsoDateRe.exec(this); if (!matches) return false; =20 var yearParsed =3D ""; if (matches[3].length =3D=3D 2) { if (parseInt(matches[3]) < 50) yearParsed =3D "20" + matches[3]; else yearParsed =3D "19" + matches[3]; } else yearParsed =3D matches[3]; =20 if (parseInt(yearParsed) < 1753 || parseInt(yearParsed) > 9999) return false; =20 var composedDate =3D new Date(yearParsed, (matches[1] - 1), = matches[2]); return ((composedDate.getMonth() =3D=3D (matches[1] - 1)) && (composedDate.getDate() =3D=3D matches[2]) && (composedDate.getFullYear() =3D=3D yearParsed)); } String.prototype.isValidInteger =3D function() { var regExPattern =3D new RegExp("^(0|-?[1-9][0-9]*)$"); if (!regExPattern.exec(this)) return false; else return true; } String.prototype.isValidPrice =3D function() { var pricePattern =3D new = RegExp("^-?(0(\.[0-9]{2})?|[1-9][0-9]*(\.[0-9]{2})?)$"); if (!pricePattern.exec(this)) return false; else return true; } String.prototype.isValidTime =3D function() { var pricePattern =3D new RegExp("^(0[1-9]|1[0-9]):[0-9]{2} = (AM|PM)$"); if (!pricePattern.exec(this)) return false; else return true; } String.prototype.isValidZipCode =3D function() { var pricePattern =3D new RegExp("^[0-9]{5}(-[0-9]{4})?$"); if (!pricePattern.exec(this)) return false; else return true; } String.prototype.isValidEmail =3D function() { var emailPattern =3D new = RegExp("^([0-9a-zA-Z]([-.\w_]*[0-9a-zA-Z])*@(([0-9a-zA-Z])+([-\w]*[0-9a-z= A-Z])*\.)+[a-zA-Z]{2,9})$"); if (!emailPattern.exec(this)) return false; else return true; } String.prototype.nl2br =3D function () { // Replace out the new line character. return this.replace(/\n/g, "
    "); } function ShowCharsLeftForMultiLineTextBoxes(evt, obj, charsLeftArea, = maxLength) { obj =3D $(obj); charsLeftArea =3D $(charsLeftArea); var nCharLeft =3D maxLength - obj.value.length; if (nCharLeft < 0) { obj.value =3D obj.value.substring(0, maxLength); nCharLeft =3D 0; } charsLeftArea.update(nCharLeft + " character(s) remaining"); }; function WireUpMultiLineTextBoxesToShowCharsLeft() { var multiLineTextBoxes =3D = $A(document.getElementsByClassName("multiline-charsleft")); multiLineTextBoxes.each( function(o) { // Check if this is a text area if (o.type =3D=3D "textarea") { var maxLength =3D parseInt(o.title); if (!isNaN(maxLength)) { // Create an HTML element to show chars left new Insertion.After(o.id, "
    =3D 4) { bWidth =3D (197 + width); bHeight =3D (140 + height); } if (bName =3D=3D "Netscape" && version < 4) { bWidth =3D (219 + width); =20 bHeight =3D (179 + height); } if (bName =3D=3D "Microsoft Internet Explorer" && version >=3D 4) { bWidth =3D (200 + width); bHeight =3D (140 + height); =09 } if (bName =3D=3D "Microsoft Internet Explorer" && version < 4) { bWidth =3D (210 + width); =20 bHeight =3D (156 + height); } this.window.name =3D "opener"; var remote =3D window.open(page,win_name,"width=3D" + bWidth + = ",height=3D" + bHeight + ",scrollbars=3Dyes,resizable=3Dyes"); this.window.name =3D "opener"; } function EmailToFriend(MemberID) { var page =3D "/MainSite/Members/Popup/EmailToFriend.aspx?ID=3D" + = MemberID; var win_name =3D "EmailToFriend"; var width =3D 350; var height =3D 150; openNewWin(page, win_name, width, height)=20 }=20 =20 function tabberGetContainer(elm) { var tabContainer =3D null; elm.ancestors().each( function (o) { if (o.className.strip() =3D=3D "tabberlive") tabContainer =3D $(o); } ); return tabContainer; } function ShowHide(ID) { var objSH =3D $(ID); if (objSH !=3D null) { objSH.toggle(); } } function SetSelectedItemInDropDownList(ddl, selectedValue) { ddl =3D $(ddl); for (var i =3D 0; i < ddl.options.length; i++) { if (ddl.options[i].value =3D=3D selectedValue) { ddl.options[i].selected =3D true; break; } } } function ValidateDateForCustomValidator(sender, args) { args.IsValid =3D args.Value.isValidDate(); } ------=_NextPart_000_0038_01C8784D.93C008F0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.cambridgewhoswho.com/Include/MainNav.js =EF=BB=BF var disappeardelay=3D250 //menu disappear speed onMouseout (in = miliseconds) var enableanchorlink=3D0 //Enable or disable the anchor link when = clicked on? (1=3De, 0=3Dd) var hidemenu_onclick=3D1 //hide menu when user clicks within menu? = (1=3Dyes, 0=3Dno) /////No further editting needed var ie5=3Ddocument.all var ns6=3Ddocument.getElementById&&!document.all function getposOffset(what, offsettype){ var totaloffset=3D(offsettype=3D=3D"left")? what.offsetLeft : = what.offsetTop; var parentEl=3Dwhat.offsetParent; while (parentEl!=3Dnull){ totaloffset=3D(offsettype=3D=3D"left")? totaloffset+parentEl.offsetLeft = : totaloffset+parentEl.offsetTop; parentEl=3DparentEl.offsetParent; } return totaloffset; } function showhide(obj, e, visible, hidden){ if (ie5||ns6) dropmenuobj.style.left=3Ddropmenuobj.style.top=3D-500 if (e.type=3D=3D"click" && obj.visibility=3D=3Dhidden || = e.type=3D=3D"mouseover") obj.visibility=3Dvisible else if (e.type=3D=3D"click") obj.visibility=3Dhidden } function iecompattest(){ return (document.compatMode && document.compatMode!=3D"BackCompat")? = document.documentElement : document.body } function clearbrowseredge(obj, whichedge){ var edgeoffset=3D0 if (whichedge=3D=3D"rightedge"){ var windowedge=3Die5 && !window.opera? = iecompattest().scrollLeft+iecompattest().clientWidth-15 : = window.pageXOffset+window.innerWidth-15 dropmenuobj.contentmeasure=3Ddropmenuobj.offsetWidth if (windowedge-dropmenuobj.x < dropmenuobj.contentmeasure) edgeoffset=3Ddropmenuobj.contentmeasure-obj.offsetWidth } else{ var topedge=3Die5 && !window.opera? iecompattest().scrollTop : = window.pageYOffset var windowedge=3Die5 && !window.opera? = iecompattest().scrollTop+iecompattest().clientHeight-15 : = window.pageYOffset+window.innerHeight-18 dropmenuobj.contentmeasure=3Ddropmenuobj.offsetHeight if (windowedge-dropmenuobj.y < dropmenuobj.contentmeasure){ //move up? edgeoffset=3Ddropmenuobj.contentmeasure+obj.offsetHeight if ((dropmenuobj.y-topedge) 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"); 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('
    '); 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 (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 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; } } var __defaultFired =3D false; function WebForm_FireDefaultButton(event, target) { if (!__defaultFired && event.keyCode =3D=3D 13 && !(event.srcElement = && (event.srcElement.tagName.toLowerCase() =3D=3D "textarea"))) { var defaultButton; if (__nonMSDOMBrowser) { defaultButton =3D document.getElementById(target); } else { defaultButton =3D document.all[target]; } if (defaultButton && typeof(defaultButton.click) !=3D = "undefined") { __defaultFired =3D true; 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_AppendToClassName(element, className) { var current =3D element.className; if (current) { if (current.charAt(current.length - 1) !=3D ' ') { current +=3D ' '; } current +=3D className; } else { current =3D className; } element.className =3D current; } function WebForm_RemoveClassName(element, className) { var current =3D element.className; if (current) { if (current.substring(current.length - className.length - 1, = current.length) =3D=3D ' ' + className) { element.className =3D current.substring(0, current.length - = className.length - 1); return; } if (current =3D=3D className) { element.className =3D ""; return; } var index =3D current.indexOf(' ' + className + ' '); if (index !=3D -1) { element.className =3D current.substring(0, index) + = current.substring(index + className.length + 2, current.length); return; } if (current.substring(0, className.length) =3D=3D className + ' = ') { element.className =3D current.substring(className.length + = 1, current.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_0038_01C8784D.93C008F0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.cambridgewhoswho.com/JS/prototype.js /* Prototype JavaScript framework, version 1.5.0 * (c) 2005-2007 Sam Stephenson * * Prototype is freely distributable under the terms of an MIT-style = license. * For details, see the Prototype web site: http://prototype.conio.net/ * /*-----------------------------------------------------------------------= ---*/ var Prototype =3D { Version: '1.5.0', BrowserFeatures: { XPath: !!document.evaluate }, ScriptFragment: '(?:)((\n|\r|.)*?)(?:<\/script>)', emptyFunction: function() {}, K: function(x) { return x } } var Class =3D { create: function() { return function() { this.initialize.apply(this, arguments); } } } var Abstract =3D new Object(); Object.extend =3D function(destination, source) { for (var property in source) { destination[property] =3D source[property]; } return destination; } Object.extend(Object, { inspect: function(object) { try { if (object =3D=3D=3D undefined) return 'undefined'; if (object =3D=3D=3D null) return 'null'; return object.inspect ? object.inspect() : object.toString(); } catch (e) { if (e instanceof RangeError) return '...'; throw e; } }, keys: function(object) { var keys =3D []; for (var property in object) keys.push(property); return keys; }, values: function(object) { var values =3D []; for (var property in object) values.push(object[property]); return values; }, clone: function(object) { return Object.extend({}, object); } }); Function.prototype.bind =3D function() { var __method =3D this, args =3D $A(arguments), object =3D = args.shift(); return function() { return __method.apply(object, args.concat($A(arguments))); } } Function.prototype.bindAsEventListener =3D function(object) { var __method =3D this, args =3D $A(arguments), object =3D = args.shift(); return function(event) { return __method.apply(object, [( event || = window.event)].concat(args).concat($A(arguments))); } } Object.extend(Number.prototype, { toColorPart: function() { var digits =3D this.toString(16); if (this < 16) return '0' + digits; return digits; }, succ: function() { return this + 1; }, times: function(iterator) { $R(0, this, true).each(iterator); return this; } }); var Try =3D { these: function() { var returnValue; for (var i =3D 0, length =3D arguments.length; i < length; i++) { var lambda =3D arguments[i]; try { returnValue =3D lambda(); break; } catch (e) {} } return returnValue; } } /*-----------------------------------------------------------------------= ---*/ var PeriodicalExecuter =3D Class.create(); PeriodicalExecuter.prototype =3D { initialize: function(callback, frequency) { this.callback =3D callback; this.frequency =3D frequency; this.currentlyExecuting =3D false; this.registerCallback(); }, registerCallback: function() { this.timer =3D setInterval(this.onTimerEvent.bind(this), = this.frequency * 1000); }, stop: function() { if (!this.timer) return; clearInterval(this.timer); this.timer =3D null; }, onTimerEvent: function() { if (!this.currentlyExecuting) { try { this.currentlyExecuting =3D true; this.callback(this); } finally { this.currentlyExecuting =3D false; } } } } String.interpret =3D function(value){ return value =3D=3D null ? '' : String(value); } Object.extend(String.prototype, { gsub: function(pattern, replacement) { var result =3D '', source =3D this, match; replacement =3D arguments.callee.prepareReplacement(replacement); while (source.length > 0) { if (match =3D source.match(pattern)) { result +=3D source.slice(0, match.index); result +=3D String.interpret(replacement(match)); source =3D source.slice(match.index + match[0].length); } else { result +=3D source, source =3D ''; } } return result; }, sub: function(pattern, replacement, count) { replacement =3D this.gsub.prepareReplacement(replacement); count =3D count =3D=3D=3D undefined ? 1 : count; return this.gsub(pattern, function(match) { if (--count < 0) return match[0]; return replacement(match); }); }, scan: function(pattern, iterator) { this.gsub(pattern, iterator); return this; }, truncate: function(length, truncation) { length =3D length || 30; truncation =3D truncation =3D=3D=3D undefined ? '...' : truncation; return this.length > length ? this.slice(0, length - truncation.length) + truncation : this; }, strip: function() { return this.replace(/^\s+/, '').replace(/\s+$/, ''); }, stripTags: function() { return this.replace(/<\/?[^>]+>/gi, ''); }, stripScripts: function() { return this.replace(new RegExp(Prototype.ScriptFragment, 'img'), = ''); }, extractScripts: function() { var matchAll =3D new RegExp(Prototype.ScriptFragment, 'img'); var matchOne =3D new RegExp(Prototype.ScriptFragment, 'im'); return (this.match(matchAll) || []).map(function(scriptTag) { return (scriptTag.match(matchOne) || ['', ''])[1]; }); }, evalScripts: function() { return this.extractScripts().map(function(script) { return = eval(script) }); }, escapeHTML: function() { var div =3D document.createElement('div'); var text =3D document.createTextNode(this); div.appendChild(text); return div.innerHTML; }, unescapeHTML: function() { var div =3D document.createElement('div'); div.innerHTML =3D this.stripTags(); return div.childNodes[0] ? (div.childNodes.length > 1 ? $A(div.childNodes).inject('',function(memo,node){ return = memo+node.nodeValue }) : div.childNodes[0].nodeValue) : ''; }, toQueryParams: function(separator) { var match =3D this.strip().match(/([^?#]*)(#.*)?$/); if (!match) return {}; return match[1].split(separator || '&').inject({}, function(hash, = pair) { if ((pair =3D pair.split('=3D'))[0]) { var name =3D decodeURIComponent(pair[0]); var value =3D pair[1] ? decodeURIComponent(pair[1]) : undefined; if (hash[name] !=3D=3D undefined) { if (hash[name].constructor !=3D Array) hash[name] =3D [hash[name]]; if (value) hash[name].push(value); } else hash[name] =3D value; } return hash; }); }, toArray: function() { return this.split(''); }, succ: function() { return this.slice(0, this.length - 1) + String.fromCharCode(this.charCodeAt(this.length - 1) + 1); }, camelize: function() { var parts =3D this.split('-'), len =3D parts.length; if (len =3D=3D 1) return parts[0]; var camelized =3D this.charAt(0) =3D=3D '-' ? parts[0].charAt(0).toUpperCase() + parts[0].substring(1) : parts[0]; for (var i =3D 1; i < len; i++) camelized +=3D parts[i].charAt(0).toUpperCase() + = parts[i].substring(1); return camelized; }, capitalize: function(){ return this.charAt(0).toUpperCase() + = this.substring(1).toLowerCase(); }, underscore: function() { return this.gsub(/::/, = '/').gsub(/([A-Z]+)([A-Z][a-z])/,'#{1}_#{2}').gsub(/([a-z\d])([A-Z])/,'#{= 1}_#{2}').gsub(/-/,'_').toLowerCase(); }, dasherize: function() { return this.gsub(/_/,'-'); }, inspect: function(useDoubleQuotes) { var escapedString =3D this.replace(/\\/g, '\\\\'); if (useDoubleQuotes) return '"' + escapedString.replace(/"/g, '\\"') + '"'; else return "'" + escapedString.replace(/'/g, '\\\'') + "'"; } }); String.prototype.gsub.prepareReplacement =3D function(replacement) { if (typeof replacement =3D=3D 'function') return replacement; var template =3D new Template(replacement); return function(match) { return template.evaluate(match) }; } String.prototype.parseQuery =3D String.prototype.toQueryParams; var Template =3D Class.create(); Template.Pattern =3D /(^|.|\r|\n)(#\{(.*?)\})/; Template.prototype =3D { initialize: function(template, pattern) { this.template =3D template.toString(); this.pattern =3D pattern || Template.Pattern; }, evaluate: function(object) { return this.template.gsub(this.pattern, function(match) { var before =3D match[1]; if (before =3D=3D '\\') return match[2]; return before + String.interpret(object[match[3]]); }); } } var $break =3D new Object(); var $continue =3D new Object(); var Enumerable =3D { each: function(iterator) { var index =3D 0; try { this._each(function(value) { try { iterator(value, index++); } catch (e) { if (e !=3D $continue) throw e; } }); } catch (e) { if (e !=3D $break) throw e; } return this; }, eachSlice: function(number, iterator) { var index =3D -number, slices =3D [], array =3D this.toArray(); while ((index +=3D number) < array.length) slices.push(array.slice(index, index+number)); return slices.map(iterator); }, all: function(iterator) { var result =3D true; this.each(function(value, index) { result =3D result && !!(iterator || Prototype.K)(value, index); if (!result) throw $break; }); return result; }, any: function(iterator) { var result =3D false; this.each(function(value, index) { if (result =3D !!(iterator || Prototype.K)(value, index)) throw $break; }); return result; }, collect: function(iterator) { var results =3D []; this.each(function(value, index) { results.push((iterator || Prototype.K)(value, index)); }); return results; }, detect: function(iterator) { var result; this.each(function(value, index) { if (iterator(value, index)) { result =3D value; throw $break; } }); return result; }, findAll: function(iterator) { var results =3D []; this.each(function(value, index) { if (iterator(value, index)) results.push(value); }); return results; }, grep: function(pattern, iterator) { var results =3D []; this.each(function(value, index) { var stringValue =3D value.toString(); if (stringValue.match(pattern)) results.push((iterator || Prototype.K)(value, index)); }) return results; }, include: function(object) { var found =3D false; this.each(function(value) { if (value =3D=3D object) { found =3D true; throw $break; } }); return found; }, inGroupsOf: function(number, fillWith) { fillWith =3D fillWith =3D=3D=3D undefined ? null : fillWith; return this.eachSlice(number, function(slice) { while(slice.length < number) slice.push(fillWith); return slice; }); }, inject: function(memo, iterator) { this.each(function(value, index) { memo =3D iterator(memo, value, index); }); return memo; }, invoke: function(method) { var args =3D $A(arguments).slice(1); return this.map(function(value) { return value[method].apply(value, args); }); }, max: function(iterator) { var result; this.each(function(value, index) { value =3D (iterator || Prototype.K)(value, index); if (result =3D=3D undefined || value >=3D result) result =3D value; }); return result; }, min: function(iterator) { var result; this.each(function(value, index) { value =3D (iterator || Prototype.K)(value, index); if (result =3D=3D undefined || value < result) result =3D value; }); return result; }, partition: function(iterator) { var trues =3D [], falses =3D []; this.each(function(value, index) { ((iterator || Prototype.K)(value, index) ? trues : falses).push(value); }); return [trues, falses]; }, pluck: function(property) { var results =3D []; this.each(function(value, index) { results.push(value[property]); }); return results; }, reject: function(iterator) { var results =3D []; this.each(function(value, index) { if (!iterator(value, index)) results.push(value); }); return results; }, sortBy: function(iterator) { return this.map(function(value, index) { return {value: value, criteria: iterator(value, index)}; }).sort(function(left, right) { var a =3D left.criteria, b =3D right.criteria; return a < b ? -1 : a > b ? 1 : 0; }).pluck('value'); }, toArray: function() { return this.map(); }, zip: function() { var iterator =3D Prototype.K, args =3D $A(arguments); if (typeof args.last() =3D=3D 'function') iterator =3D args.pop(); var collections =3D [this].concat(args).map($A); return this.map(function(value, index) { return iterator(collections.pluck(index)); }); }, size: function() { return this.toArray().length; }, inspect: function() { return '#'; } } Object.extend(Enumerable, { map: Enumerable.collect, find: Enumerable.detect, select: Enumerable.findAll, member: Enumerable.include, entries: Enumerable.toArray }); var $A =3D Array.from =3D function(iterable) { if (!iterable) return []; if (iterable.toArray) { return iterable.toArray(); } else { var results =3D []; for (var i =3D 0, length =3D iterable.length; i < length; i++) results.push(iterable[i]); return results; } } Object.extend(Array.prototype, Enumerable); if (!Array.prototype._reverse) Array.prototype._reverse =3D Array.prototype.reverse; Object.extend(Array.prototype, { _each: function(iterator) { for (var i =3D 0, length =3D this.length; i < length; i++) iterator(this[i]); }, clear: function() { this.length =3D 0; return this; }, first: function() { return this[0]; }, last: function() { return this[this.length - 1]; }, compact: function() { return this.select(function(value) { return value !=3D null; }); }, flatten: function() { return this.inject([], function(array, value) { return array.concat(value && value.constructor =3D=3D Array ? value.flatten() : [value]); }); }, without: function() { var values =3D $A(arguments); return this.select(function(value) { return !values.include(value); }); }, indexOf: function(object) { for (var i =3D 0, length =3D this.length; i < length; i++) if (this[i] =3D=3D object) return i; return -1; }, reverse: function(inline) { return (inline !=3D=3D false ? this : this.toArray())._reverse(); }, reduce: function() { return this.length > 1 ? this : this[0]; }, uniq: function() { return this.inject([], function(array, value) { return array.include(value) ? array : array.concat([value]); }); }, clone: function() { return [].concat(this); }, size: function() { return this.length; }, inspect: function() { return '[' + this.map(Object.inspect).join(', ') + ']'; } }); Array.prototype.toArray =3D Array.prototype.clone; function $w(string){ string =3D string.strip(); return string ? string.split(/\s+/) : []; } if(window.opera){ Array.prototype.concat =3D function(){ var array =3D []; for(var i =3D 0, length =3D this.length; i < length; i++) = array.push(this[i]); for(var i =3D 0, length =3D arguments.length; i < length; i++) { if(arguments[i].constructor =3D=3D Array) { for(var j =3D 0, arrayLength =3D arguments[i].length; j < = arrayLength; j++) array.push(arguments[i][j]); } else { array.push(arguments[i]); } } return array; } } var Hash =3D function(obj) { Object.extend(this, obj || {}); }; Object.extend(Hash, { toQueryString: function(obj) { var parts =3D []; this.prototype._each.call(obj, function(pair) { if (!pair.key) return; if (pair.value && pair.value.constructor =3D=3D Array) { var values =3D pair.value.compact(); if (values.length < 2) pair.value =3D values.reduce(); else { key =3D encodeURIComponent(pair.key); values.each(function(value) { value =3D value !=3D undefined ? encodeURIComponent(value) : = ''; parts.push(key + '=3D' + encodeURIComponent(value)); }); return; } } if (pair.value =3D=3D undefined) pair[1] =3D ''; parts.push(pair.map(encodeURIComponent).join('=3D')); }); return parts.join('&'); } }); Object.extend(Hash.prototype, Enumerable); Object.extend(Hash.prototype, { _each: function(iterator) { for (var key in this) { var value =3D this[key]; if (value && value =3D=3D Hash.prototype[key]) continue; var pair =3D [key, value]; pair.key =3D key; pair.value =3D value; iterator(pair); } }, keys: function() { return this.pluck('key'); }, values: function() { return this.pluck('value'); }, merge: function(hash) { return $H(hash).inject(this, function(mergedHash, pair) { mergedHash[pair.key] =3D pair.value; return mergedHash; }); }, remove: function() { var result; for(var i =3D 0, length =3D arguments.length; i < length; i++) { var value =3D this[arguments[i]]; if (value !=3D=3D undefined){ if (result =3D=3D=3D undefined) result =3D value; else { if (result.constructor !=3D Array) result =3D [result]; result.push(value) } } delete this[arguments[i]]; } return result; }, toQueryString: function() { return Hash.toQueryString(this); }, inspect: function() { return '#'; } }); function $H(object) { if (object && object.constructor =3D=3D Hash) return object; return new Hash(object); }; ObjectRange =3D Class.create(); Object.extend(ObjectRange.prototype, Enumerable); Object.extend(ObjectRange.prototype, { initialize: function(start, end, exclusive) { this.start =3D start; this.end =3D end; this.exclusive =3D exclusive; }, _each: function(iterator) { var value =3D this.start; while (this.include(value)) { iterator(value); value =3D value.succ(); } }, include: function(value) { if (value < this.start) return false; if (this.exclusive) return value < this.end; return value <=3D this.end; } }); var $R =3D function(start, end, exclusive) { return new ObjectRange(start, end, exclusive); } var Ajax =3D { getTransport: function() { return Try.these( function() {return new XMLHttpRequest()}, function() {return new ActiveXObject('Msxml2.XMLHTTP')}, function() {return new ActiveXObject('Microsoft.XMLHTTP')} ) || false; }, activeRequestCount: 0 } Ajax.Responders =3D { responders: [], _each: function(iterator) { this.responders._each(iterator); }, register: function(responder) { if (!this.include(responder)) this.responders.push(responder); }, unregister: function(responder) { this.responders =3D this.responders.without(responder); }, dispatch: function(callback, request, transport, json) { this.each(function(responder) { if (typeof responder[callback] =3D=3D 'function') { try { responder[callback].apply(responder, [request, transport, = json]); } catch (e) {} } }); } }; Object.extend(Ajax.Responders, Enumerable); Ajax.Responders.register({ onCreate: function() { Ajax.activeRequestCount++; }, onComplete: function() { Ajax.activeRequestCount--; } }); Ajax.Base =3D function() {}; Ajax.Base.prototype =3D { setOptions: function(options) { this.options =3D { method: 'post', asynchronous: true, contentType: 'application/x-www-form-urlencoded', encoding: 'UTF-8', parameters: '' } Object.extend(this.options, options || {}); this.options.method =3D this.options.method.toLowerCase(); if (typeof this.options.parameters =3D=3D 'string') this.options.parameters =3D = this.options.parameters.toQueryParams(); } } Ajax.Request =3D Class.create(); Ajax.Request.Events =3D ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete']; Ajax.Request.prototype =3D Object.extend(new Ajax.Base(), { _complete: false, initialize: function(url, options) { this.transport =3D Ajax.getTransport(); this.setOptions(options); this.request(url); }, request: function(url) { this.url =3D url; this.method =3D this.options.method; var params =3D this.options.parameters; if (!['get', 'post'].include(this.method)) { // simulate other verbs over post params['_method'] =3D this.method; this.method =3D 'post'; } params =3D Hash.toQueryString(params); if (params && /Konqueror|Safari|KHTML/.test(navigator.userAgent)) = params +=3D '&_=3D' // when GET, append parameters to URL if (this.method =3D=3D 'get' && params) this.url +=3D (this.url.indexOf('?') > -1 ? '&' : '?') + params; try { Ajax.Responders.dispatch('onCreate', this, this.transport); this.transport.open(this.method.toUpperCase(), this.url, this.options.asynchronous); if (this.options.asynchronous) setTimeout(function() { this.respondToReadyState(1) = }.bind(this), 10); this.transport.onreadystatechange =3D = this.onStateChange.bind(this); this.setRequestHeaders(); var body =3D this.method =3D=3D 'post' ? (this.options.postBody || = params) : null; this.transport.send(body); /* Force Firefox to handle ready state 4 for synchronous requests = */ if (!this.options.asynchronous && this.transport.overrideMimeType) this.onStateChange(); } catch (e) { this.dispatchException(e); } }, onStateChange: function() { var readyState =3D this.transport.readyState; if (readyState > 1 && !((readyState =3D=3D 4) && this._complete)) this.respondToReadyState(this.transport.readyState); }, setRequestHeaders: function() { var headers =3D { 'X-Requested-With': 'XMLHttpRequest', 'X-Prototype-Version': Prototype.Version, 'Accept': 'text/javascript, text/html, application/xml, text/xml, = */*' }; if (this.method =3D=3D 'post') { headers['Content-type'] =3D this.options.contentType + (this.options.encoding ? '; charset=3D' + this.options.encoding = : ''); /* Force "Connection: close" for older Mozilla browsers to work * around a bug where XMLHttpRequest sends an incorrect * Content-length header. See Mozilla Bugzilla #246651. */ if (this.transport.overrideMimeType && (navigator.userAgent.match(/Gecko\/(\d{4})/) || [0,2005])[1] < = 2005) headers['Connection'] =3D 'close'; } // user-defined headers if (typeof this.options.requestHeaders =3D=3D 'object') { var extras =3D this.options.requestHeaders; if (typeof extras.push =3D=3D 'function') for (var i =3D 0, length =3D extras.length; i < length; i +=3D = 2) headers[extras[i]] =3D extras[i+1]; else $H(extras).each(function(pair) { headers[pair.key] =3D = pair.value }); } for (var name in headers) this.transport.setRequestHeader(name, headers[name]); }, success: function() { return !this.transport.status || (this.transport.status >=3D 200 && this.transport.status < = 300); }, respondToReadyState: function(readyState) { var state =3D Ajax.Request.Events[readyState]; var transport =3D this.transport, json =3D this.evalJSON(); if (state =3D=3D 'Complete') { try { this._complete =3D true; (this.options['on' + this.transport.status] || this.options['on' + (this.success() ? 'Success' : = 'Failure')] || Prototype.emptyFunction)(transport, json); } catch (e) { this.dispatchException(e); } if ((this.getHeader('Content-type') || 'text/javascript').strip(). match(/^(text|application)\/(x-)?(java|ecma)script(;.*)?$/i)) this.evalResponse(); } try { (this.options['on' + state] || Prototype.emptyFunction)(transport, = json); Ajax.Responders.dispatch('on' + state, this, transport, json); } catch (e) { this.dispatchException(e); } if (state =3D=3D 'Complete') { // avoid memory leak in MSIE: clean up this.transport.onreadystatechange =3D Prototype.emptyFunction; } }, getHeader: function(name) { try { return this.transport.getResponseHeader(name); } catch (e) { return null } }, evalJSON: function() { try { var json =3D this.getHeader('X-JSON'); return json ? eval('(' + json + ')') : null; } catch (e) { return null } }, evalResponse: function() { try { return eval(this.transport.responseText); } catch (e) { this.dispatchException(e); } }, dispatchException: function(exception) { (this.options.onException || Prototype.emptyFunction)(this, = exception); Ajax.Responders.dispatch('onException', this, exception); } }); Ajax.Updater =3D Class.create(); Object.extend(Object.extend(Ajax.Updater.prototype, = Ajax.Request.prototype), { initialize: function(container, url, options) { this.container =3D { success: (container.success || container), failure: (container.failure || (container.success ? null : = container)) } this.transport =3D Ajax.getTransport(); this.setOptions(options); var onComplete =3D this.options.onComplete || = Prototype.emptyFunction; this.options.onComplete =3D (function(transport, param) { this.updateContent(); onComplete(transport, param); }).bind(this); this.request(url); }, updateContent: function() { var receiver =3D this.container[this.success() ? 'success' : = 'failure']; var response =3D this.transport.responseText; if (!this.options.evalScripts) response =3D response.stripScripts(); if (receiver =3D $(receiver)) { if (this.options.insertion) new this.options.insertion(receiver, response); else receiver.update(response); } if (this.success()) { if (this.onComplete) setTimeout(this.onComplete.bind(this), 10); } } }); Ajax.PeriodicalUpdater =3D Class.create(); Ajax.PeriodicalUpdater.prototype =3D Object.extend(new Ajax.Base(), { initialize: function(container, url, options) { this.setOptions(options); this.onComplete =3D this.options.onComplete; this.frequency =3D (this.options.frequency || 2); this.decay =3D (this.options.decay || 1); this.updater =3D {}; this.container =3D container; this.url =3D url; this.start(); }, start: function() { this.options.onComplete =3D this.updateComplete.bind(this); this.onTimerEvent(); }, stop: function() { this.updater.options.onComplete =3D undefined; clearTimeout(this.timer); (this.onComplete || Prototype.emptyFunction).apply(this, arguments); }, updateComplete: function(request) { if (this.options.decay) { this.decay =3D (request.responseText =3D=3D this.lastText ? this.decay * this.options.decay : 1); this.lastText =3D request.responseText; } this.timer =3D setTimeout(this.onTimerEvent.bind(this), this.decay * this.frequency * 1000); }, onTimerEvent: function() { this.updater =3D new Ajax.Updater(this.container, this.url, = this.options); } }); function $(element) { if (arguments.length > 1) { for (var i =3D 0, elements =3D [], length =3D arguments.length; i < = length; i++) elements.push($(arguments[i])); return elements; } if (typeof element =3D=3D 'string') element =3D document.getElementById(element); return Element.extend(element); } if (Prototype.BrowserFeatures.XPath) { document._getElementsByXPath =3D function(expression, parentElement) { var results =3D []; var query =3D document.evaluate(expression, $(parentElement) || = document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); for (var i =3D 0, length =3D query.snapshotLength; i < length; i++) results.push(query.snapshotItem(i)); return results; }; } document.getElementsByClassName =3D function(className, parentElement) { if (Prototype.BrowserFeatures.XPath) { var q =3D ".//*[contains(concat(' ', @class, ' '), ' " + className + = " ')]"; return document._getElementsByXPath(q, parentElement); } else { var children =3D ($(parentElement) || = document.body).getElementsByTagName('*'); var elements =3D [], child; for (var i =3D 0, length =3D children.length; i < length; i++) { child =3D children[i]; if (Element.hasClassName(child, className)) elements.push(Element.extend(child)); } return elements; } }; /*-----------------------------------------------------------------------= ---*/ if (!window.Element) var Element =3D new Object(); Element.extend =3D function(element) { if (!element || _nativeExtensions || element.nodeType =3D=3D 3) return = element; if (!element._extended && element.tagName && element !=3D window) { var methods =3D Object.clone(Element.Methods), cache =3D = Element.extend.cache; if (element.tagName =3D=3D 'FORM') Object.extend(methods, Form.Methods); if (['INPUT', 'TEXTAREA', 'SELECT'].include(element.tagName)) Object.extend(methods, Form.Element.Methods); Object.extend(methods, Element.Methods.Simulated); for (var property in methods) { var value =3D methods[property]; if (typeof value =3D=3D 'function' && !(property in element)) element[property] =3D cache.findOrStore(value); } } element._extended =3D true; return element; }; Element.extend.cache =3D { findOrStore: function(value) { return this[value] =3D this[value] || function() { return value.apply(null, [this].concat($A(arguments))); } } }; Element.Methods =3D { visible: function(element) { return $(element).style.display !=3D 'none'; }, toggle: function(element) { element =3D $(element); Element[Element.visible(element) ? 'hide' : 'show'](element); return element; }, hide: function(element) { $(element).style.display =3D 'none'; return element; }, show: function(element) { $(element).style.display =3D ''; return element; }, remove: function(element) { element =3D $(element); element.parentNode.removeChild(element); return element; }, update: function(element, html) { html =3D typeof html =3D=3D 'undefined' ? '' : html.toString(); $(element).innerHTML =3D html.stripScripts(); setTimeout(function() {html.evalScripts()}, 10); return element; }, replace: function(element, html) { element =3D $(element); html =3D typeof html =3D=3D 'undefined' ? '' : html.toString(); if (element.outerHTML) { element.outerHTML =3D html.stripScripts(); } else { var range =3D element.ownerDocument.createRange(); range.selectNodeContents(element); element.parentNode.replaceChild( range.createContextualFragment(html.stripScripts()), element); } setTimeout(function() {html.evalScripts()}, 10); return element; }, inspect: function(element) { element =3D $(element); var result =3D '<' + element.tagName.toLowerCase(); $H({'id': 'id', 'className': 'class'}).each(function(pair) { var property =3D pair.first(), attribute =3D pair.last(); var value =3D (element[property] || '').toString(); if (value) result +=3D ' ' + attribute + '=3D' + = value.inspect(true); }); return result + '>'; }, recursivelyCollect: function(element, property) { element =3D $(element); var elements =3D []; while (element =3D element[property]) if (element.nodeType =3D=3D 1) elements.push(Element.extend(element)); return elements; }, ancestors: function(element) { return $(element).recursivelyCollect('parentNode'); }, descendants: function(element) { return $A($(element).getElementsByTagName('*')); }, immediateDescendants: function(element) { if (!(element =3D $(element).firstChild)) return []; while (element && element.nodeType !=3D 1) element =3D = element.nextSibling; if (element) return [element].concat($(element).nextSiblings()); return []; }, previousSiblings: function(element) { return $(element).recursivelyCollect('previousSibling'); }, nextSiblings: function(element) { return $(element).recursivelyCollect('nextSibling'); }, siblings: function(element) { element =3D $(element); return = element.previousSiblings().reverse().concat(element.nextSiblings()); }, match: function(element, selector) { if (typeof selector =3D=3D 'string') selector =3D new Selector(selector); return selector.match($(element)); }, up: function(element, expression, index) { return Selector.findElement($(element).ancestors(), expression, = index); }, down: function(element, expression, index) { return Selector.findElement($(element).descendants(), expression, = index); }, previous: function(element, expression, index) { return Selector.findElement($(element).previousSiblings(), = expression, index); }, next: function(element, expression, index) { return Selector.findElement($(element).nextSiblings(), expression, = index); }, getElementsBySelector: function() { var args =3D $A(arguments), element =3D $(args.shift()); return Selector.findChildElements(element, args); }, getElementsByClassName: function(element, className) { return document.getElementsByClassName(className, element); }, readAttribute: function(element, name) { element =3D $(element); if (document.all && !window.opera) { var t =3D Element._attributeTranslations; if (t.values[name]) return t.values[name](element, name); if (t.names[name]) name =3D t.names[name]; var attribute =3D element.attributes[name]; if(attribute) return attribute.nodeValue; } return element.getAttribute(name); }, getHeight: function(element) { return $(element).getDimensions().height; }, getWidth: function(element) { return $(element).getDimensions().width; }, classNames: function(element) { return new Element.ClassNames(element); }, hasClassName: function(element, className) { if (!(element =3D $(element))) return; var elementClassName =3D element.className; if (elementClassName.length =3D=3D 0) return false; if (elementClassName =3D=3D className || elementClassName.match(new RegExp("(^|\\s)" + className + = "(\\s|$)"))) return true; return false; }, addClassName: function(element, className) { if (!(element =3D $(element))) return; Element.classNames(element).add(className); return element; }, removeClassName: function(element, className) { if (!(element =3D $(element))) return; Element.classNames(element).remove(className); return element; }, toggleClassName: function(element, className) { if (!(element =3D $(element))) return; Element.classNames(element)[element.hasClassName(className) ? = 'remove' : 'add'](className); return element; }, observe: function() { Event.observe.apply(Event, arguments); return $A(arguments).first(); }, stopObserving: function() { Event.stopObserving.apply(Event, arguments); return $A(arguments).first(); }, // removes whitespace-only text node children cleanWhitespace: function(element) { element =3D $(element); var node =3D element.firstChild; while (node) { var nextNode =3D node.nextSibling; if (node.nodeType =3D=3D 3 && !/\S/.test(node.nodeValue)) element.removeChild(node); node =3D nextNode; } return element; }, empty: function(element) { return $(element).innerHTML.match(/^\s*$/); }, descendantOf: function(element, ancestor) { element =3D $(element), ancestor =3D $(ancestor); while (element =3D element.parentNode) if (element =3D=3D ancestor) return true; return false; }, scrollTo: function(element) { element =3D $(element); var pos =3D Position.cumulativeOffset(element); window.scrollTo(pos[0], pos[1]); return element; }, getStyle: function(element, style) { element =3D $(element); if (['float','cssFloat'].include(style)) style =3D (typeof element.style.styleFloat !=3D 'undefined' ? = 'styleFloat' : 'cssFloat'); style =3D style.camelize(); var value =3D element.style[style]; if (!value) { if (document.defaultView && document.defaultView.getComputedStyle) = { var css =3D document.defaultView.getComputedStyle(element, = null); value =3D css ? css[style] : null; } else if (element.currentStyle) { value =3D element.currentStyle[style]; } } if((value =3D=3D 'auto') && ['width','height'].include(style) && = (element.getStyle('display') !=3D 'none')) value =3D element['offset'+style.capitalize()] + 'px'; if (window.opera && ['left', 'top', 'right', = 'bottom'].include(style)) if (Element.getStyle(element, 'position') =3D=3D 'static') value = =3D 'auto'; if(style =3D=3D 'opacity') { if(value) return parseFloat(value); if(value =3D (element.getStyle('filter') || = '').match(/alpha\(opacity=3D(.*)\)/)) if(value[1]) return parseFloat(value[1]) / 100; return 1.0; } return value =3D=3D 'auto' ? null : value; }, setStyle: function(element, style) { element =3D $(element); for (var name in style) { var value =3D style[name]; if(name =3D=3D 'opacity') { if (value =3D=3D 1) { value =3D (/Gecko/.test(navigator.userAgent) && !/Konqueror|Safari|KHTML/.test(navigator.userAgent)) ? = 0.999999 : 1.0; if(/MSIE/.test(navigator.userAgent) && !window.opera) element.style.filter =3D = element.getStyle('filter').replace(/alpha\([^\)]*\)/gi,''); } else if(value =3D=3D '') { if(/MSIE/.test(navigator.userAgent) && !window.opera) element.style.filter =3D = element.getStyle('filter').replace(/alpha\([^\)]*\)/gi,''); } else { if(value < 0.00001) value =3D 0; if(/MSIE/.test(navigator.userAgent) && !window.opera) element.style.filter =3D = element.getStyle('filter').replace(/alpha\([^\)]*\)/gi,'') + 'alpha(opacity=3D'+value*100+')'; } } else if(['float','cssFloat'].include(name)) name =3D (typeof = element.style.styleFloat !=3D 'undefined') ? 'styleFloat' : 'cssFloat'; element.style[name.camelize()] =3D value; } return element; }, getDimensions: function(element) { element =3D $(element); var display =3D $(element).getStyle('display'); if (display !=3D 'none' && display !=3D null) // Safari bug return {width: element.offsetWidth, height: element.offsetHeight}; // All *Width and *Height properties give 0 on elements with display = none, // so enable the element temporarily var els =3D element.style; var originalVisibility =3D els.visibility; var originalPosition =3D els.position; var originalDisplay =3D els.display; els.visibility =3D 'hidden'; els.position =3D 'absolute'; els.display =3D 'block'; var originalWidth =3D element.clientWidth; var originalHeight =3D element.clientHeight; els.display =3D originalDisplay; els.position =3D originalPosition; els.visibility =3D originalVisibility; return {width: originalWidth, height: originalHeight}; }, makePositioned: function(element) { element =3D $(element); var pos =3D Element.getStyle(element, 'position'); if (pos =3D=3D 'static' || !pos) { element._madePositioned =3D true; element.style.position =3D 'relative'; // Opera returns the offset relative to the positioning context, = when an // element is position relative but top and left have not been = defined if (window.opera) { element.style.top =3D 0; element.style.left =3D 0; } } return element; }, undoPositioned: function(element) { element =3D $(element); if (element._madePositioned) { element._madePositioned =3D undefined; element.style.position =3D element.style.top =3D element.style.left =3D element.style.bottom =3D element.style.right =3D ''; } return element; }, makeClipping: function(element) { element =3D $(element); if (element._overflow) return element; element._overflow =3D element.style.overflow || 'auto'; if ((Element.getStyle(element, 'overflow') || 'visible') !=3D = 'hidden') element.style.overflow =3D 'hidden'; return element; }, undoClipping: function(element) { element =3D $(element); if (!element._overflow) return element; element.style.overflow =3D element._overflow =3D=3D 'auto' ? '' : = element._overflow; element._overflow =3D null; return element; } }; Object.extend(Element.Methods, {childOf: Element.Methods.descendantOf}); Element._attributeTranslations =3D {}; Element._attributeTranslations.names =3D { colspan: "colSpan", rowspan: "rowSpan", valign: "vAlign", datetime: "dateTime", accesskey: "accessKey", tabindex: "tabIndex", enctype: "encType", maxlength: "maxLength", readonly: "readOnly", longdesc: "longDesc" }; Element._attributeTranslations.values =3D { _getAttr: function(element, attribute) { return element.getAttribute(attribute, 2); }, _flag: function(element, attribute) { return $(element).hasAttribute(attribute) ? attribute : null; }, style: function(element) { return element.style.cssText.toLowerCase(); }, title: function(element) { var node =3D element.getAttributeNode('title'); return node.specified ? node.nodeValue : null; } }; Object.extend(Element._attributeTranslations.values, { href: Element._attributeTranslations.values._getAttr, src: Element._attributeTranslations.values._getAttr, disabled: Element._attributeTranslations.values._flag, checked: Element._attributeTranslations.values._flag, readonly: Element._attributeTranslations.values._flag, multiple: Element._attributeTranslations.values._flag }); Element.Methods.Simulated =3D { hasAttribute: function(element, attribute) { var t =3D Element._attributeTranslations; attribute =3D t.names[attribute] || attribute; return $(element).getAttributeNode(attribute).specified; } }; // IE is missing .innerHTML support for TABLE-related elements if (document.all && !window.opera){ Element.Methods.update =3D function(element, html) { element =3D $(element); html =3D typeof html =3D=3D 'undefined' ? '' : html.toString(); var tagName =3D element.tagName.toUpperCase(); if (['THEAD','TBODY','TR','TD'].include(tagName)) { var div =3D document.createElement('div'); switch (tagName) { case 'THEAD': case 'TBODY': div.innerHTML =3D '' + html.stripScripts() + = '
    '; depth =3D 2; break; case 'TR': div.innerHTML =3D '' + html.stripScripts() = + '
    '; depth =3D 3; break; case 'TD': div.innerHTML =3D '
    ' + = html.stripScripts() + '
    '; depth =3D 4; } $A(element.childNodes).each(function(node){ element.removeChild(node) }); depth.times(function(){ div =3D div.firstChild }); $A(div.childNodes).each( function(node){ element.appendChild(node) }); } else { element.innerHTML =3D html.stripScripts(); } setTimeout(function() {html.evalScripts()}, 10); return element; } }; Object.extend(Element, Element.Methods); var _nativeExtensions =3D false; if(/Konqueror|Safari|KHTML/.test(navigator.userAgent)) ['', 'Form', 'Input', 'TextArea', 'Select'].each(function(tag) { var className =3D 'HTML' + tag + 'Element'; if(window[className]) return; var klass =3D window[className] =3D {}; klass.prototype =3D document.createElement(tag ? tag.toLowerCase() : = 'div').__proto__; }); Element.addMethods =3D function(methods) { Object.extend(Element.Methods, methods || {}); function copy(methods, destination, onlyIfAbsent) { onlyIfAbsent =3D onlyIfAbsent || false; var cache =3D Element.extend.cache; for (var property in methods) { var value =3D methods[property]; if (!onlyIfAbsent || !(property in destination)) destination[property] =3D cache.findOrStore(value); } } if (typeof HTMLElement !=3D 'undefined') { copy(Element.Methods, HTMLElement.prototype); copy(Element.Methods.Simulated, HTMLElement.prototype, true); copy(Form.Methods, HTMLFormElement.prototype); [HTMLInputElement, HTMLTextAreaElement, = HTMLSelectElement].each(function(klass) { copy(Form.Element.Methods, klass.prototype); }); _nativeExtensions =3D true; } } var Toggle =3D new Object(); Toggle.display =3D Element.toggle; /*-----------------------------------------------------------------------= ---*/ Abstract.Insertion =3D function(adjacency) { this.adjacency =3D adjacency; } Abstract.Insertion.prototype =3D { initialize: function(element, content) { this.element =3D $(element); this.content =3D content.stripScripts(); if (this.adjacency && this.element.insertAdjacentHTML) { try { this.element.insertAdjacentHTML(this.adjacency, this.content); } catch (e) { var tagName =3D this.element.tagName.toUpperCase(); if (['TBODY', 'TR'].include(tagName)) { this.insertContent(this.contentFromAnonymousTable()); } else { throw e; } } } else { this.range =3D this.element.ownerDocument.createRange(); if (this.initializeRange) this.initializeRange(); = this.insertContent([this.range.createContextualFragment(this.content)]); } setTimeout(function() {content.evalScripts()}, 10); }, contentFromAnonymousTable: function() { var div =3D document.createElement('div'); div.innerHTML =3D '' + this.content + = '
    '; return $A(div.childNodes[0].childNodes[0].childNodes); } } var Insertion =3D new Object(); Insertion.Before =3D Class.create(); Insertion.Before.prototype =3D Object.extend(new = Abstract.Insertion('beforeBegin'), { initializeRange: function() { this.range.setStartBefore(this.element); }, insertContent: function(fragments) { fragments.each((function(fragment) { this.element.parentNode.insertBefore(fragment, this.element); }).bind(this)); } }); Insertion.Top =3D Class.create(); Insertion.Top.prototype =3D Object.extend(new = Abstract.Insertion('afterBegin'), { initializeRange: function() { this.range.selectNodeContents(this.element); this.range.collapse(true); }, insertContent: function(fragments) { fragments.reverse(false).each((function(fragment) { this.element.insertBefore(fragment, this.element.firstChild); }).bind(this)); } }); Insertion.Bottom =3D Class.create(); Insertion.Bottom.prototype =3D Object.extend(new = Abstract.Insertion('beforeEnd'), { initializeRange: function() { this.range.selectNodeContents(this.element); this.range.collapse(this.element); }, insertContent: function(fragments) { fragments.each((function(fragment) { this.element.appendChild(fragment); }).bind(this)); } }); Insertion.After =3D Class.create(); Insertion.After.prototype =3D Object.extend(new = Abstract.Insertion('afterEnd'), { initializeRange: function() { this.range.setStartAfter(this.element); }, insertContent: function(fragments) { fragments.each((function(fragment) { this.element.parentNode.insertBefore(fragment, this.element.nextSibling); }).bind(this)); } }); /*-----------------------------------------------------------------------= ---*/ Element.ClassNames =3D Class.create(); Element.ClassNames.prototype =3D { initialize: function(element) { this.element =3D $(element); }, _each: function(iterator) { this.element.className.split(/\s+/).select(function(name) { return name.length > 0; })._each(iterator); }, set: function(className) { this.element.className =3D className; }, add: function(classNameToAdd) { if (this.include(classNameToAdd)) return; this.set($A(this).concat(classNameToAdd).join(' ')); }, remove: function(classNameToRemove) { if (!this.include(classNameToRemove)) return; this.set($A(this).without(classNameToRemove).join(' ')); }, toString: function() { return $A(this).join(' '); } }; Object.extend(Element.ClassNames.prototype, Enumerable); var Selector =3D Class.create(); Selector.prototype =3D { initialize: function(expression) { this.params =3D {classNames: []}; this.expression =3D expression.toString().strip(); this.parseExpression(); this.compileMatcher(); }, parseExpression: function() { function abort(message) { throw 'Parse error in selector: ' + = message; } if (this.expression =3D=3D '') abort('empty expression'); var params =3D this.params, expr =3D this.expression, match, = modifier, clause, rest; while (match =3D = expr.match(/^(.*)\[([a-z0-9_:-]+?)(?:([~\|!]?=3D)(?:"([^"]*)"|([^\]\s]*))= )?\]$/i)) { params.attributes =3D params.attributes || []; params.attributes.push({name: match[2], operator: match[3], value: = match[4] || match[5] || ''}); expr =3D match[1]; } if (expr =3D=3D '*') return this.params.wildcard =3D true; while (match =3D expr.match(/^([^a-z0-9_-])?([a-z0-9_-]+)(.*)/i)) { modifier =3D match[1], clause =3D match[2], rest =3D match[3]; switch (modifier) { case '#': params.id =3D clause; break; case '.': params.classNames.push(clause); break; case '': case undefined: params.tagName =3D clause.toUpperCase(); break; default: abort(expr.inspect()); } expr =3D rest; } if (expr.length > 0) abort(expr.inspect()); }, buildMatchExpression: function() { var params =3D this.params, conditions =3D [], clause; if (params.wildcard) conditions.push('true'); if (clause =3D params.id) conditions.push('element.readAttribute("id") =3D=3D ' + = clause.inspect()); if (clause =3D params.tagName) conditions.push('element.tagName.toUpperCase() =3D=3D ' + = clause.inspect()); if ((clause =3D params.classNames).length > 0) for (var i =3D 0, length =3D clause.length; i < length; i++) conditions.push('element.hasClassName(' + clause[i].inspect() + = ')'); if (clause =3D params.attributes) { clause.each(function(attribute) { var value =3D 'element.readAttribute(' + = attribute.name.inspect() + ')'; var splitValueBy =3D function(delimiter) { return value + ' && ' + value + '.split(' + = delimiter.inspect() + ')'; } switch (attribute.operator) { case '=3D': conditions.push(value + ' =3D=3D ' + = attribute.value.inspect()); break; case '~=3D': conditions.push(splitValueBy(' ') + = '.include(' + attribute.value.inspect() + ')'); break; case '|=3D': conditions.push( splitValueBy('-') + '.first().toUpperCase() = =3D=3D ' + attribute.value.toUpperCase().inspect() ); break; case '!=3D': conditions.push(value + ' !=3D ' + = attribute.value.inspect()); break; case '': case undefined: conditions.push('element.hasAttribute(' + = attribute.name.inspect() + ')'); break; default: throw 'Unknown operator ' + attribute.operator = + ' in selector'; } }); } return conditions.join(' && '); }, compileMatcher: function() { this.match =3D new Function('element', 'if (!element.tagName) return = false; \ element =3D $(element); \ return ' + this.buildMatchExpression()); }, findElements: function(scope) { var element; if (element =3D $(this.params.id)) if (this.match(element)) if (!scope || Element.childOf(element, scope)) return [element]; scope =3D (scope || = document).getElementsByTagName(this.params.tagName || '*'); var results =3D []; for (var i =3D 0, length =3D scope.length; i < length; i++) if (this.match(element =3D scope[i])) results.push(Element.extend(element)); return results; }, toString: function() { return this.expression; } } Object.extend(Selector, { matchElements: function(elements, expression) { var selector =3D new Selector(expression); return = elements.select(selector.match.bind(selector)).map(Element.extend); }, findElement: function(elements, expression, index) { if (typeof expression =3D=3D 'number') index =3D expression, = expression =3D false; return Selector.matchElements(elements, expression || '*')[index || = 0]; }, findChildElements: function(element, expressions) { return expressions.map(function(expression) { return = expression.match(/[^\s"]+(?:"[^"]*"[^\s"]+)*/g).inject([null], = function(results, expr) { var selector =3D new Selector(expr); return results.inject([], function(elements, result) { return elements.concat(selector.findElements(result || = element)); }); }); }).flatten(); } }); function $$() { return Selector.findChildElements(document, $A(arguments)); } var Form =3D { reset: function(form) { $(form).reset(); return form; }, serializeElements: function(elements, getHash) { var data =3D elements.inject({}, function(result, element) { if (!element.disabled && element.name) { var key =3D element.name, value =3D $(element).getValue(); if (value !=3D undefined) { if (result[key]) { if (result[key].constructor !=3D Array) result[key] =3D = [result[key]]; result[key].push(value); } else result[key] =3D value; } } return result; }); return getHash ? data : Hash.toQueryString(data); } }; Form.Methods =3D { serialize: function(form, getHash) { return Form.serializeElements(Form.getElements(form), getHash); }, getElements: function(form) { return $A($(form).getElementsByTagName('*')).inject([], function(elements, child) { if (Form.Element.Serializers[child.tagName.toLowerCase()]) elements.push(Element.extend(child)); return elements; } ); }, getInputs: function(form, typeName, name) { form =3D $(form); var inputs =3D form.getElementsByTagName('input'); if (!typeName && !name) return $A(inputs).map(Element.extend); for (var i =3D 0, matchingInputs =3D [], length =3D inputs.length; i = < length; i++) { var input =3D inputs[i]; if ((typeName && input.type !=3D typeName) || (name && input.name = !=3D name)) continue; matchingInputs.push(Element.extend(input)); } return matchingInputs; }, disable: function(form) { form =3D $(form); form.getElements().each(function(element) { element.blur(); element.disabled =3D 'true'; }); return form; }, enable: function(form) { form =3D $(form); form.getElements().each(function(element) { element.disabled =3D ''; }); return form; }, findFirstElement: function(form) { return $(form).getElements().find(function(element) { return element.type !=3D 'hidden' && !element.disabled && ['input', 'select', = 'textarea'].include(element.tagName.toLowerCase()); }); }, focusFirstElement: function(form) { form =3D $(form); form.findFirstElement().activate(); return form; } } Object.extend(Form, Form.Methods); /*-----------------------------------------------------------------------= ---*/ Form.Element =3D { focus: function(element) { $(element).focus(); return element; }, select: function(element) { $(element).select(); return element; } } Form.Element.Methods =3D { serialize: function(element) { element =3D $(element); if (!element.disabled && element.name) { var value =3D element.getValue(); if (value !=3D undefined) { var pair =3D {}; pair[element.name] =3D value; return Hash.toQueryString(pair); } } return ''; }, getValue: function(element) { element =3D $(element); var method =3D element.tagName.toLowerCase(); return Form.Element.Serializers[method](element); }, clear: function(element) { $(element).value =3D ''; return element; }, present: function(element) { return $(element).value !=3D ''; }, activate: function(element) { element =3D $(element); element.focus(); if (element.select && ( element.tagName.toLowerCase() !=3D 'input' = || !['button', 'reset', 'submit'].include(element.type) ) ) element.select(); return element; }, disable: function(element) { element =3D $(element); element.disabled =3D true; return element; }, enable: function(element) { element =3D $(element); element.blur(); element.disabled =3D false; return element; } } Object.extend(Form.Element, Form.Element.Methods); var Field =3D Form.Element; var $F =3D Form.Element.getValue; /*-----------------------------------------------------------------------= ---*/ Form.Element.Serializers =3D { input: function(element) { switch (element.type.toLowerCase()) { case 'checkbox': case 'radio': return Form.Element.Serializers.inputSelector(element); default: return Form.Element.Serializers.textarea(element); } }, inputSelector: function(element) { return element.checked ? element.value : null; }, textarea: function(element) { return element.value; }, select: function(element) { return this[element.type =3D=3D 'select-one' ? 'selectOne' : 'selectMany'](element); }, selectOne: function(element) { var index =3D element.selectedIndex; return index >=3D 0 ? this.optionValue(element.options[index]) : = null; }, selectMany: function(element) { var values, length =3D element.length; if (!length) return null; for (var i =3D 0, values =3D []; i < length; i++) { var opt =3D element.options[i]; if (opt.selected) values.push(this.optionValue(opt)); } return values; }, optionValue: function(opt) { // extend element because hasAttribute may not be native return Element.extend(opt).hasAttribute('value') ? opt.value : = opt.text; } } /*-----------------------------------------------------------------------= ---*/ Abstract.TimedObserver =3D function() {} Abstract.TimedObserver.prototype =3D { initialize: function(element, frequency, callback) { this.frequency =3D frequency; this.element =3D $(element); this.callback =3D callback; this.lastValue =3D this.getValue(); this.registerCallback(); }, registerCallback: function() { setInterval(this.onTimerEvent.bind(this), this.frequency * 1000); }, onTimerEvent: function() { var value =3D this.getValue(); var changed =3D ('string' =3D=3D typeof this.lastValue && 'string' = =3D=3D typeof value ? this.lastValue !=3D value : String(this.lastValue) !=3D = String(value)); if (changed) { this.callback(this.element, value); this.lastValue =3D value; } } } Form.Element.Observer =3D Class.create(); Form.Element.Observer.prototype =3D Object.extend(new = Abstract.TimedObserver(), { getValue: function() { return Form.Element.getValue(this.element); } }); Form.Observer =3D Class.create(); Form.Observer.prototype =3D Object.extend(new Abstract.TimedObserver(), = { getValue: function() { return Form.serialize(this.element); } }); /*-----------------------------------------------------------------------= ---*/ Abstract.EventObserver =3D function() {} Abstract.EventObserver.prototype =3D { initialize: function(element, callback) { this.element =3D $(element); this.callback =3D callback; this.lastValue =3D this.getValue(); if (this.element.tagName.toLowerCase() =3D=3D 'form') this.registerFormCallbacks(); else this.registerCallback(this.element); }, onElementEvent: function() { var value =3D this.getValue(); if (this.lastValue !=3D value) { this.callback(this.element, value); this.lastValue =3D value; } }, registerFormCallbacks: function() { = Form.getElements(this.element).each(this.registerCallback.bind(this)); }, registerCallback: function(element) { if (element.type) { switch (element.type.toLowerCase()) { case 'checkbox': case 'radio': Event.observe(element, 'click', = this.onElementEvent.bind(this)); break; default: Event.observe(element, 'change', = this.onElementEvent.bind(this)); break; } } } } Form.Element.EventObserver =3D Class.create(); Form.Element.EventObserver.prototype =3D Object.extend(new = Abstract.EventObserver(), { getValue: function() { return Form.Element.getValue(this.element); } }); Form.EventObserver =3D Class.create(); Form.EventObserver.prototype =3D Object.extend(new = Abstract.EventObserver(), { getValue: function() { return Form.serialize(this.element); } }); if (!window.Event) { var Event =3D new Object(); } Object.extend(Event, { KEY_BACKSPACE: 8, KEY_TAB: 9, KEY_RETURN: 13, KEY_ESC: 27, KEY_LEFT: 37, KEY_UP: 38, KEY_RIGHT: 39, KEY_DOWN: 40, KEY_DELETE: 46, KEY_HOME: 36, KEY_END: 35, KEY_PAGEUP: 33, KEY_PAGEDOWN: 34, element: function(event) { return event.target || event.srcElement; }, isLeftClick: function(event) { return (((event.which) && (event.which =3D=3D 1)) || ((event.button) && (event.button =3D=3D 1))); }, pointerX: function(event) { return event.pageX || (event.clientX + (document.documentElement.scrollLeft || = document.body.scrollLeft)); }, pointerY: function(event) { return event.pageY || (event.clientY + (document.documentElement.scrollTop || document.body.scrollTop)); }, stop: function(event) { if (event.preventDefault) { event.preventDefault(); event.stopPropagation(); } else { event.returnValue =3D false; event.cancelBubble =3D true; } }, // find the first node with the given tagName, starting from the // node the event was triggered on; traverses the DOM upwards findElement: function(event, tagName) { var element =3D Event.element(event); while (element.parentNode && (!element.tagName || (element.tagName.toUpperCase() !=3D tagName.toUpperCase()))) element =3D element.parentNode; return element; }, observers: false, _observeAndCache: function(element, name, observer, useCapture) { if (!this.observers) this.observers =3D []; if (element.addEventListener) { this.observers.push([element, name, observer, useCapture]); element.addEventListener(name, observer, useCapture); } else if (element.attachEvent) { this.observers.push([element, name, observer, useCapture]); element.attachEvent('on' + name, observer); } }, unloadCache: function() { if (!Event.observers) return; for (var i =3D 0, length =3D Event.observers.length; i < length; = i++) { Event.stopObserving.apply(this, Event.observers[i]); Event.observers[i][0] =3D null; } Event.observers =3D false; }, observe: function(element, name, observer, useCapture) { element =3D $(element); useCapture =3D useCapture || false; if (name =3D=3D 'keypress' && (navigator.appVersion.match(/Konqueror|Safari|KHTML/) || element.attachEvent)) name =3D 'keydown'; Event._observeAndCache(element, name, observer, useCapture); }, stopObserving: function(element, name, observer, useCapture) { element =3D $(element); useCapture =3D useCapture || false; if (name =3D=3D 'keypress' && (navigator.appVersion.match(/Konqueror|Safari|KHTML/) || element.detachEvent)) name =3D 'keydown'; if (element.removeEventListener) { element.removeEventListener(name, observer, useCapture); } else if (element.detachEvent) { try { element.detachEvent('on' + name, observer); } catch (e) {} } } }); /* prevent memory leaks in IE */ if (navigator.appVersion.match(/\bMSIE\b/)) Event.observe(window, 'unload', Event.unloadCache, false); var Position =3D { // set to true if needed, warning: firefox performance problems // NOT neeeded for page scrolling, only if draggable contained in // scrollable elements includeScrollOffsets: false, // must be called before calling withinIncludingScrolloffset, every = time the // page is scrolled prepare: function() { this.deltaX =3D window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0; this.deltaY =3D window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0; }, realOffset: function(element) { var valueT =3D 0, valueL =3D 0; do { valueT +=3D element.scrollTop || 0; valueL +=3D element.scrollLeft || 0; element =3D element.parentNode; } while (element); return [valueL, valueT]; }, cumulativeOffset: function(element) { var valueT =3D 0, valueL =3D 0; do { valueT +=3D element.offsetTop || 0; valueL +=3D element.offsetLeft || 0; element =3D element.offsetParent; } while (element); return [valueL, valueT]; }, positionedOffset: function(element) { var valueT =3D 0, valueL =3D 0; do { valueT +=3D element.offsetTop || 0; valueL +=3D element.offsetLeft || 0; element =3D element.offsetParent; if (element) { if(element.tagName=3D=3D'BODY') break; var p =3D Element.getStyle(element, 'position'); if (p =3D=3D 'relative' || p =3D=3D 'absolute') break; } } while (element); return [valueL, valueT]; }, offsetParent: function(element) { if (element.offsetParent) return element.offsetParent; if (element =3D=3D document.body) return element; while ((element =3D element.parentNode) && element !=3D = document.body) if (Element.getStyle(element, 'position') !=3D 'static') return element; return document.body; }, // caches x/y coordinate pair to use with overlap within: function(element, x, y) { if (this.includeScrollOffsets) return this.withinIncludingScrolloffsets(element, x, y); this.xcomp =3D x; this.ycomp =3D y; this.offset =3D this.cumulativeOffset(element); return (y >=3D this.offset[1] && y < this.offset[1] + element.offsetHeight && x >=3D this.offset[0] && x < this.offset[0] + element.offsetWidth); }, withinIncludingScrolloffsets: function(element, x, y) { var offsetcache =3D this.realOffset(element); this.xcomp =3D x + offsetcache[0] - this.deltaX; this.ycomp =3D y + offsetcache[1] - this.deltaY; this.offset =3D this.cumulativeOffset(element); return (this.ycomp >=3D this.offset[1] && this.ycomp < this.offset[1] + element.offsetHeight && this.xcomp >=3D this.offset[0] && this.xcomp < this.offset[0] + element.offsetWidth); }, // within must be called directly before overlap: function(mode, element) { if (!mode) return 0; if (mode =3D=3D 'vertical') return ((this.offset[1] + element.offsetHeight) - this.ycomp) / element.offsetHeight; if (mode =3D=3D 'horizontal') return ((this.offset[0] + element.offsetWidth) - this.xcomp) / element.offsetWidth; }, page: function(forElement) { var valueT =3D 0, valueL =3D 0; var element =3D forElement; do { valueT +=3D element.offsetTop || 0; valueL +=3D element.offsetLeft || 0; // Safari fix if (element.offsetParent=3D=3Ddocument.body) if (Element.getStyle(element,'position')=3D=3D'absolute') break; } while (element =3D element.offsetParent); element =3D forElement; do { if (!window.opera || element.tagName=3D=3D'BODY') { valueT -=3D element.scrollTop || 0; valueL -=3D element.scrollLeft || 0; } } while (element =3D element.parentNode); return [valueL, valueT]; }, clone: function(source, target) { var options =3D Object.extend({ setLeft: true, setTop: true, setWidth: true, setHeight: true, offsetTop: 0, offsetLeft: 0 }, arguments[2] || {}) // find page position of source source =3D $(source); var p =3D Position.page(source); // find coordinate system to use target =3D $(target); var delta =3D [0, 0]; var parent =3D null; // delta [0,0] will do fine with position: fixed elements, // position:absolute needs offsetParent deltas if (Element.getStyle(target,'position') =3D=3D 'absolute') { parent =3D Position.offsetParent(target); delta =3D Position.page(parent); } // correct by body offsets (fixes Safari) if (parent =3D=3D document.body) { delta[0] -=3D document.body.offsetLeft; delta[1] -=3D document.body.offsetTop; } // set position if(options.setLeft) target.style.left =3D (p[0] - delta[0] + = options.offsetLeft) + 'px'; if(options.setTop) target.style.top =3D (p[1] - delta[1] + = options.offsetTop) + 'px'; if(options.setWidth) target.style.width =3D source.offsetWidth + = 'px'; if(options.setHeight) target.style.height =3D source.offsetHeight + = 'px'; }, absolutize: function(element) { element =3D $(element); if (element.style.position =3D=3D 'absolute') return; Position.prepare(); var offsets =3D Position.positionedOffset(element); var top =3D offsets[1]; var left =3D offsets[0]; var width =3D element.clientWidth; var height =3D element.clientHeight; element._originalLeft =3D left - parseFloat(element.style.left || = 0); element._originalTop =3D top - parseFloat(element.style.top || = 0); element._originalWidth =3D element.style.width; element._originalHeight =3D element.style.height; element.style.position =3D 'absolute'; element.style.top =3D top + 'px'; element.style.left =3D left + 'px'; element.style.width =3D width + 'px'; element.style.height =3D height + 'px'; }, relativize: function(element) { element =3D $(element); if (element.style.position =3D=3D 'relative') return; Position.prepare(); element.style.position =3D 'relative'; var top =3D parseFloat(element.style.top || 0) - = (element._originalTop || 0); var left =3D parseFloat(element.style.left || 0) - = (element._originalLeft || 0); element.style.top =3D top + 'px'; element.style.left =3D left + 'px'; element.style.height =3D element._originalHeight; element.style.width =3D element._originalWidth; } } // Safari returns margins on body which is incorrect if the child is = absolutely // positioned. For performance reasons, redefine = Position.cumulativeOffset for // KHTML/WebKit only. if (/Konqueror|Safari|KHTML/.test(navigator.userAgent)) { Position.cumulativeOffset =3D function(element) { var valueT =3D 0, valueL =3D 0; do { valueT +=3D element.offsetTop || 0; valueL +=3D element.offsetLeft || 0; if (element.offsetParent =3D=3D document.body) if (Element.getStyle(element, 'position') =3D=3D 'absolute') = break; element =3D element.offsetParent; } while (element); return [valueL, valueT]; } } Element.addMethods(); ------=_NextPart_000_0038_01C8784D.93C008F0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.cambridgewhoswho.com/JS/scriptaculous.js // script.aculo.us scriptaculous.js v1.7.0, Fri Jan 19 19:16:36 CET 2007 // Copyright (c) 2005, 2006 Thomas Fuchs (http://script.aculo.us, = http://mir.aculo.us) //=20 // Permission is hereby granted, free of charge, to any person obtaining // a copy of this software and associated documentation files (the // "Software"), to deal in the Software without restriction, including // without limitation the rights to use, copy, modify, merge, publish, // distribute, sublicense, and/or sell copies of the Software, and to // permit persons to whom the Software is furnished to do so, subject to // the following conditions: //=20 // The above copyright notice and this permission notice shall be // included in all copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS = BE // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN = ACTION // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. // // For details, see the script.aculo.us web site: = http://script.aculo.us/ var Scriptaculous =3D { Version: '1.7.0', require: function(libraryName) { // inserting via DOM fails in Safari 2.0, so brute force approach document.write(''); }, load: function() { if((typeof Prototype=3D=3D'undefined') ||=20 (typeof Element =3D=3D 'undefined') ||=20 (typeof Element.Methods=3D=3D'undefined') || parseFloat(Prototype.Version.split(".")[0] + "." + Prototype.Version.split(".")[1]) < 1.5) throw("script.aculo.us requires the Prototype JavaScript = framework >=3D 1.5.0"); =20 $A(document.getElementsByTagName("script")).findAll( function(s) { return (s.src && s.src.match(/scriptaculous\.js(\?.*)?$/)) }).each( function(s) { var path =3D s.src.replace(/scriptaculous\.js(\?.*)?$/,''); var includes =3D s.src.match(/\?.*load=3D([a-z,]*)/); (includes ? includes[1] : = 'builder,effects,dragdrop,controls,slider').split(',').each( function(include) { Scriptaculous.require(path+include+'.js') }); }); } } Scriptaculous.load(); ------=_NextPart_000_0038_01C8784D.93C008F0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.cambridgewhoswho.com/JS/tabber.js /*=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D $Id: tabber.js,v 1.9 2006/04/27 20:51:51 pat Exp $ tabber.js by Patrick Fitzgerald pat@barelyfitz.com Documentation can be found at the following URL: http://www.barelyfitz.com/projects/tabber/ License (http://www.opensource.org/licenses/mit-license.php) Copyright (c) 2006 Patrick Fitzgerald Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= */ function tabberObj(argsObj) { var arg; /* name of an argument to override */ /* Element for the main tabber div. If you supply this in argsObj, then the init() method will be called. */ this.div =3D null; /* Class of the main tabber div */ this.classMain =3D "tabber"; /* Rename classMain to classMainLive after tabifying (so a different style can be applied) */ this.classMainLive =3D "tabberlive"; /* Class of each DIV that contains a tab */ this.classTab =3D "tabbertab"; /* Class to indicate which tab should be active on startup */ this.classTabDefault =3D "tabbertabdefault"; /* Class for the navigation UL */ this.classNav =3D "tabbernav"; /* When a tab is to be hidden, instead of setting display=3D'none', we set the class of the div to classTabHide. In your screen stylesheet you should set classTabHide to display:none. In your print stylesheet you should set display:block to ensure that all the information is printed. */ this.classTabHide =3D "tabbertabhide"; /* Class to set the navigation LI when the tab is active, so you can use a different style on the active tab. */ this.classNavActive =3D "tabberactive"; /* Elements that might contain the title for the tab, only used if a title is not specified in the TITLE attribute of DIV classTab. */ this.titleElements =3D ['h2','h3','h4','h5','h6']; /* Should we strip out the HTML from the innerHTML of the title = elements? This should usually be true. */ this.titleElementsStripHTML =3D true; /* If the user specified the tab names using a TITLE attribute on the DIV, then the browser will display a tooltip whenever the mouse is over the DIV. To prevent this tooltip, we can remove the TITLE attribute after getting the tab name. */ this.removeTitle =3D true; /* If you want to add an id to each link set this to true */ this.addLinkId =3D false; /* If addIds=3D=3Dtrue, then you can set a format for the ids. will be replaced with the id of the main tabber div. will be replaced with the tab number (tab numbers starting at zero) will be replaced with the tab number (tab numbers starting at one) will be replaced by the tab title (with all non-alphanumeric characters removed) */ this.linkIdFormat =3D 'nav'; /* You can override the defaults listed above by passing in an object: var mytab =3D new tabber({property:value,property:value}); */ for (arg in argsObj) { this[arg] =3D argsObj[arg]; } /* Create regular expressions for the class names; Note: if you change the class names after a new object is created you must also change these regular expressions. */ this.REclassMain =3D new RegExp('\\b' + this.classMain + '\\b', 'gi'); this.REclassMainLive =3D new RegExp('\\b' + this.classMainLive + = '\\b', 'gi'); this.REclassTab =3D new RegExp('\\b' + this.classTab + '\\b', 'gi'); this.REclassTabDefault =3D new RegExp('\\b' + this.classTabDefault + = '\\b', 'gi'); this.REclassTabHide =3D new RegExp('\\b' + this.classTabHide + '\\b', = 'gi'); /* Array of objects holding info about each tab */ this.tabs =3D new Array(); /* If the main tabber div was specified, call init() now */ if (this.div) { this.init(this.div); /* We don't need the main div anymore, and to prevent a memory leak in IE, we must remove the circular reference between the div and the tabber object. */ this.div =3D null; } } /*-------------------------------------------------- Methods for tabberObj --------------------------------------------------*/ tabberObj.prototype.init =3D function(e) { /* Set up the tabber interface. e =3D element (the main containing div) Example: init(document.getElementById('mytabberdiv')) */ var childNodes, /* child nodes of the tabber div */ i, i2, /* loop indices */ t, /* object to store info about a single tab */ defaultTab=3D0, /* which tab to select by default */ DOM_ul, /* tabbernav list */ DOM_li, /* tabbernav list item */ DOM_a, /* tabbernav link */ aId, /* A unique id for DOM_a */ headingElement; /* searching for text to use in the tab */ /* Verify that the browser supports DOM scripting */ if (!document.getElementsByTagName) { return false; } /* If the main DIV has an ID then save it. */ if (e.id) { this.id =3D e.id; } /* Clear the tabs array (but it should normally be empty) */ this.tabs.length =3D 0; /* Loop through an array of all the child nodes within our tabber = element. */ childNodes =3D e.childNodes; for(i=3D0; i < childNodes.length; i++) { /* Find the nodes where class=3D"tabbertab" */ if(childNodes[i].className && childNodes[i].className.match(this.REclassTab)) { =20 /* Create a new object to save info about this tab */ t =3D new Object(); =20 /* Save a pointer to the div for this tab */ t.div =3D childNodes[i]; =20 /* Add the new object to the array of tabs */ this.tabs[this.tabs.length] =3D t; /* If the class name contains classTabDefault, then select this tab by default. */ if (childNodes[i].className.match(this.REclassTabDefault)) { defaultTab =3D this.tabs.length-1; } } } /* Create a new UL list to hold the tab headings */ DOM_ul =3D document.createElement("ul"); DOM_ul.className =3D this.classNav; =20 /* Loop through each tab we found */ for (i=3D0; i < this.tabs.length; i++) { t =3D this.tabs[i]; /* Get the label to use for this tab: From the title attribute on the DIV, Or from one of the this.titleElements[] elements, Or use an automatically generated number. */ t.headingText =3D t.div.title; /* Remove the title attribute to prevent a tooltip from appearing */ if (this.removeTitle) { t.div.title =3D ''; } if (!t.headingText) { /* Title was not defined in the title of the DIV, So try to get the title from an element within the DIV. Go through the list of elements in this.titleElements (typically heading elements ['h2','h3','h4']) */ for (i2=3D0; i2/gi," "); t.headingText =3D t.headingText.replace(/<[^>]+>/g,""); } break; } } } if (!t.headingText) { /* Title was not found (or is blank) so automatically generate a number for the tab. */ t.headingText =3D i + 1; } /* Create a list element for the tab */ DOM_li =3D document.createElement("li"); /* Save a reference to this list item so we can later change it to the "active" class */ t.li =3D DOM_li; /* Create a link to activate the tab */ DOM_a =3D document.createElement("a"); DOM_a.appendChild(document.createTextNode(t.headingText)); DOM_a.href =3D "javascript:void(null);"; DOM_a.title =3D t.headingText; DOM_a.onclick =3D this.navClick; /* Add some properties to the link so we can identify which tab was clicked. Later the navClick method will need this. */ DOM_a.tabber =3D this; DOM_a.tabberIndex =3D i; /* Do we need to add an id to DOM_a? */ if (this.addLinkId && this.linkIdFormat) { /* Determine the id name */ aId =3D this.linkIdFormat; aId =3D aId.replace(//gi, this.id); aId =3D aId.replace(//gi, i); aId =3D aId.replace(//gi, i+1); aId =3D aId.replace(//gi, = t.headingText.replace(/[^a-zA-Z0-9\-]/gi, '')); DOM_a.id =3D aId; } /* Add the link to the list element */ DOM_li.appendChild(DOM_a); /* Add the list element to the list */ DOM_ul.appendChild(DOM_li); } /* Add the UL list to the beginning of the tabber div */ e.insertBefore(DOM_ul, e.firstChild); /* Make the tabber div "live" so different CSS can be applied */ e.className =3D e.className.replace(this.REclassMain, = this.classMainLive); /* Activate the default tab, and do not call the onclick handler */ this.tabShow(defaultTab); /* If the user specified an onLoad function, call it now. */ if (typeof this.onLoad =3D=3D 'function') { this.onLoad({tabber:this}); } return this; }; tabberObj.prototype.navClick =3D function(event) { /* This method should only be called by the onClick event of an element, in which case we will determine which tab was clicked by examining a property that we previously attached to the element. Since this was triggered from an onClick event, the variable "this" refers to the element that triggered the onClick event (and not to the tabberObj). When tabberObj was initialized, we added some extra properties to the element, for the purpose of retrieving them now. Get the tabberObj object, plus the tab number that was clicked. */ var rVal, /* Return value from the user onclick function */ a, /* element that triggered the onclick event */ self, /* the tabber object */ tabberIndex, /* index of the tab that triggered the event */ onClickArgs; /* args to send the onclick function */ a =3D this; if (!a.tabber) { return false; } self =3D a.tabber; tabberIndex =3D a.tabberIndex; /* Remove focus from the link because it looks ugly. I don't know if this is a good idea... */ a.blur(); /* If the user specified an onClick function, call it now. If the function returns false then do not continue. */ if (typeof self.onClick =3D=3D 'function') { onClickArgs =3D {'tabber':self, 'index':tabberIndex, 'event':event}; /* IE uses a different way to access the event object */ if (!event) { onClickArgs.event =3D window.event; } rVal =3D self.onClick(onClickArgs); if (rVal =3D=3D=3D false) { return false; } } self.tabShow(tabberIndex); return false; }; tabberObj.prototype.tabHideAll =3D function() { var i; /* counter */ /* Hide all tabs and make all navigation links inactive */ for (i =3D 0; i < this.tabs.length; i++) { this.tabHide(i); } }; tabberObj.prototype.tabHide =3D function(tabberIndex) { var div; if (!this.tabs[tabberIndex]) { return false; } /* Hide a single tab and make its navigation link inactive */ div =3D this.tabs[tabberIndex].div; /* Hide the tab contents by adding classTabHide to the div */ if (!div.className.match(this.REclassTabHide)) { div.className +=3D ' ' + this.classTabHide; } this.navClearActive(tabberIndex); return this; }; tabberObj.prototype.tabShow =3D function(tabberIndex) { /* Show the tabberIndex tab and hide all the other tabs */ var div; if (!this.tabs[tabberIndex]) { return false; } /* Hide all the tabs first */ this.tabHideAll(); /* Get the div that holds this tab */ div =3D this.tabs[tabberIndex].div; /* Remove classTabHide from the div */ div.className =3D div.className.replace(this.REclassTabHide, ''); /* Mark this tab navigation link as "active" */ this.navSetActive(tabberIndex); /* If the user specified an onTabDisplay function, call it now. */ if (typeof this.onTabDisplay =3D=3D 'function') { this.onTabDisplay({'tabber':this, 'index':tabberIndex}); } return this; }; tabberObj.prototype.navSetActive =3D function(tabberIndex) { /* Note: this method does *not* enforce the rule that only one nav item can be active at a time. */ /* Set classNavActive for the navigation list item */ this.tabs[tabberIndex].li.className =3D this.classNavActive; return this; }; tabberObj.prototype.navClearActive =3D function(tabberIndex) { /* Note: this method does *not* enforce the rule that one nav should always be active. */ /* Remove classNavActive from the navigation list item */ this.tabs[tabberIndex].li.className =3D ''; return this; }; /*=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D*/ function tabberAutomatic(tabberArgs) { /* This function finds all DIV elements in the document where class=3Dtabber.classMain, then converts them to use the tabber interface. tabberArgs =3D an object to send to "new tabber()" */ var tempObj, /* Temporary tabber object */ divs, /* Array of all divs on the page */ i; /* Loop index */ if (!tabberArgs) { tabberArgs =3D {}; } /* Create a tabber object so we can get the value of classMain */ tempObj =3D new tabberObj(tabberArgs); /* Find all DIV elements in the document that have class=3Dtabber */ /* First get an array of all DIV elements and loop through them */ divs =3D document.getElementsByTagName("div"); for (i=3D0; i < divs.length; i++) { =20 /* Is this DIV the correct class? */ if (divs[i].className && divs[i].className.match(tempObj.REclassMain)) { =20 /* Now tabify the DIV */ tabberArgs.div =3D divs[i]; divs[i].tabber =3D new tabberObj(tabberArgs); } } =20 return this; } /*=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D*/ function tabberAutomaticOnLoad(tabberArgs) { /* This function adds tabberAutomatic to the window.onload event, so it will run after the document has finished loading. */ var oldOnLoad; if (!tabberArgs) { tabberArgs =3D {}; } /* Taken from: = http://simon.incutio.com/archive/2004/05/26/addLoadEvent */ oldOnLoad =3D window.onload; if (typeof window.onload !=3D 'function') { window.onload =3D function() { tabberAutomatic(tabberArgs); }; } else { window.onload =3D function() { oldOnLoad(); tabberAutomatic(tabberArgs); }; } } /*=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D*/ /* Run tabberAutomaticOnload() unless the "manualStartup" option was = specified */ if (typeof tabberOptions =3D=3D 'undefined') { tabberAutomaticOnLoad(); } else { if (!tabberOptions['manualStartup']) { tabberAutomaticOnLoad(tabberOptions); } } ------=_NextPart_000_0038_01C8784D.93C008F0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.cambridgewhoswho.com/JS/ieSpell.js /** * * ieSpell API JavaScript * Copyright (C) 2002-2004 Red Egg Software.=20 * All rights reserved.=20 * * @author Sidney Chong * @version $Revision: 1.1 $ $Date: 2004/11/19 16:06:03 $ * @srcpath $Source: e:/coderepo/iespell/src/app/api/ieSpell.js,v $ * **/ var myAgent =3D navigator.userAgent.toLowerCase(); var myVersion =3D parseInt(navigator.appVersion); var is_ie =3D ((myAgent.indexOf("msie") !=3D -1)=20 && (myAgent.indexOf("opera") =3D=3D -1)); var is_nav =3D ((myAgent.indexOf('mozilla')!=3D-1)=20 && (myAgent.indexOf('spoofer')=3D=3D-1)=20 && (myAgent.indexOf('compatible') =3D=3D -1)=20 && (myAgent.indexOf('opera')=3D=3D-1) && (myAgent.indexOf('webtv') =3D=3D-1)=20 && (myAgent.indexOf('hotjava')=3D=3D-1)); var is_win =3D ((myAgent.indexOf("win")!=3D-1)=20 || (myAgent.indexOf("16bit")!=3D-1)); var is_mac =3D (myAgent.indexOf("mac")!=3D-1); //this function will dynamically determine if ieSpell is installed. //If YES, a button with the text "Check Spelling" will be shown to the = user. //if NO, a button with the text "Get ieSpell" will be shown instead. function spellcheckbutton() { // try { // var tmpis =3D new ActiveXObject("ieSpell.ieSpellExtension"); document.write(""); // } catch(exception) { // if (is_ie&&is_win) { // document.write(""); // } // } } //this function will invoke ieSpell on the ENTIRE document. function checkdocspelling() { try { var tmpis =3D new ActiveXObject("ieSpell.ieSpellExtension"); tmpis.CheckAllLinkedDocuments(document); } catch(exception) { if (is_ie&&is_win) { window.open("http://www.iespell.com/download.php","Download"); } } } //this function will invoke ieSpell on the specified node. The rest of = the document is=20 //not touched function checknodespelling(node) { try { var tmpis =3D new ActiveXObject("ieSpell.ieSpellExtension"); tmpis.CheckDocumentNode(node); } catch(exception) { if (is_ie&&is_win) { window.open("http://www.iespell.com/download.php","Download"); } } } //this function uses the more advanced document spell check method that = does not //prompts the user with the "Spell Check Completed" message as well as = returning a //FALSE if the user cancels the spell check. function checkdocspelling2() { try { var tmpis =3D new ActiveXObject("ieSpell.ieSpellExtension"); return tmpis.CheckAllLinkedDocuments2(document, true); } catch(exception) { if (is_ie&&is_win) { window.open("http://www.iespell.com/download.php","Download"); } } } //this function uses the more advanced node spell check method that does = not //prompts the user with the "Spell Check Completed" message as well as = returning a //FALSE if the user cancels the spell check. function checknodespelling2(node) { try { var tmpis =3D new ActiveXObject("ieSpell.ieSpellExtension"); return tmpis.CheckDocumentNode2(node, true); } catch(exception) { if (is_ie&&is_win) { window.open("http://www.iespell.com/download.php","Download"); } } } ------=_NextPart_000_0038_01C8784D.93C008F0 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://www.cambridgewhoswho.com/ScriptResource.axd?d=xaoMdMsmmIec3o4g_5blHMjbKqac9EjEpUmDHsiJCbmeGXyO5LxvrB3zzZFqSpT7UJbfkcNhUQIZIvOIj5jLtohfHgger79aGZ7UUjpx-YU1&t=633171745113910000 =EF=BB=BF//---------------------------------------------------------- // Copyright (C) Microsoft Corporation. All rights reserved. //---------------------------------------------------------- // MicrosoftAjax.js Function.__typeName=3D"Function";Function.__class=3Dtrue;Function.createC= allback=3Dfunction(b,a){return function(){var = e=3Darguments.length;if(e>0){var d=3D[];for(var = c=3D0;cc){var = f=3DError.parameterCount();f.popStackFrame();return f}return = null};Function._validateParameter=3Dfunction(c,a,h){var = b,g=3Da.type,l=3D!!a.integer,k=3D!!a.domElement,m=3D!!a.mayBeNull;b=3DFun= ction._validateParameterType(c,g,l,k,m,h);if(b){b.popStackFrame();return = b}var = e=3Da.elementType,f=3D!!a.elementMayBeNull;if(g=3D=3D=3DArray&&typeof = c!=3D=3D"undefined"&&c!=3D=3Dnull&&(e||!f)){var = j=3D!!a.elementInteger,i=3D!!a.elementDomElement;for(var = d=3D0;dc.Calendar.TwoDigitYearMax)return = a-100}return = a};Date._getParseRegExp=3Dfunction(b,e){if(!b._parseRegExp)b._parseRegExp= =3D{};else if(b._parseRegExp[e])return b._parseRegExp[e];var = c=3DDate._expandFormat(b,e);c=3Dc.replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])= /g,"\\\\$1");var a=3Dnew = Sys.StringBuilder("^"),j=3D[],f=3D0,i=3D0,h=3DDate._getTokenRegExp(),d;wh= ile((d=3Dh.exec(c))!=3D=3Dnull){var = l=3Dc.slice(f,d.index);f=3Dh.lastIndex;i+=3DDate._appendPreOrPostMatch(l,= a);if(i%2=3D=3D=3D1){a.append(d[0]);continue}switch(d[0]){case = "dddd":case "ddd":case "MMMM":case "MMM":a.append("(\\D+)");break;case = "tt":case "t":a.append("(\\D*)");break;case = "yyyy":a.append("(\\d{4})");break;case = "fff":a.append("(\\d{3})");break;case = "ff":a.append("(\\d{2})");break;case "f":a.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":a.append("(\\d\\d?)");break;case = "zzz":a.append("([+-]?\\d\\d?:\\d{2})");break;case "zz":case = "z":a.append("([+-]?\\d\\d?)");break}Array.add(j,d[0])}Date._appendPreOrP= ostMatch(c.slice(f),a);a.append("$");var = k=3Da.toString().replace(/\s+/g,"\\s+"),g=3D{"regExp":k,"groups":j};b._pa= rseRegExp[e]=3Dg;return g};Date._getTokenRegExp=3Dfunction(){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=3Dfunction(a){return = Date._parse(a,Sys.CultureInfo.CurrentCulture,arguments)};Date.parseInvari= ant=3Dfunction(a){return = Date._parse(a,Sys.CultureInfo.InvariantCulture,arguments)};Date._parse=3D= function(g,c,h){var e=3Dfalse;for(var a=3D1,i=3Dh.length;a31)return null;break;case = "MMMM":c=3Dj._getMonthIndex(a);if(c<0||c>11)return null;break;case = "MMM":c=3Dj._getAbbrMonthIndex(a);if(c<0||c>11)return null;break;case = "M":case "MM":var c=3DDate._parseInt(a)-1;if(c<0||c>11)return = null;break;case "y":case = "yy":f=3DDate._expandYear(m,Date._parseInt(a));if(f<0||f>9999)return = null;break;case "yyyy":f=3DDate._parseInt(a);if(f<0||f>9999)return = null;break;case "h":case = "hh":d=3DDate._parseInt(a);if(d=3D=3D=3D12)d=3D0;if(d<0||d>11)return = null;break;case "H":case "HH":d=3DDate._parseInt(a);if(d<0||d>23)return = null;break;case "m":case "mm":n=3DDate._parseInt(a);if(n<0||n>59)return = null;break;case "s":case "ss":o=3DDate._parseInt(a);if(o<0||o>59)return = null;break;case "tt":case "t":var = u=3Da.toUpperCase();r=3Du=3D=3D=3Dm.PMDesignator.toUpperCase();if(!r&&u!=3D= =3Dm.AMDesignator.toUpperCase())return null;break;case = "f":e=3DDate._parseInt(a)*100;if(e<0||e>999)return null;break;case = "ff":e=3DDate._parseInt(a)*10;if(e<0||e>999)return null;break;case = "fff":e=3DDate._parseInt(a);if(e<0||e>999)return null;break;case = "dddd":g=3Dj._getDayIndex(a);if(g<0||g>6)return null;break;case = "ddd":g=3Dj._getAbbrDayIndex(a);if(g<0||g>6)return null;break;case = "zzz":var q=3Da.split(/:/);if(q.length!=3D=3D2)return null;var = i=3DDate._parseInt(q[0]);if(i<-12||i>13)return null;var = l=3DDate._parseInt(q[1]);if(l<0||l>59)return = null;k=3Di*60+(a.startsWith("-")?-l:l);break;case "z":case "zz":var = i=3DDate._parseInt(a);if(i<-12||i>13)return null;k=3Di*60;break}}var = b=3Dnew = Date;if(f=3D=3D=3Dnull)f=3Db.getFullYear();if(c=3D=3D=3Dnull)c=3Db.getMon= th();if(h=3D=3D=3Dnull)h=3Db.getDate();b.setFullYear(f,c,h);if(b.getDate(= )!=3D=3Dh)return null;if(g!=3D=3Dnull&&b.getDay()!=3D=3Dg)return = null;if(r&&d<12)d+=3D12;b.setHours(d,n,o,e);if(k!=3D=3Dnull){var = t=3Db.getMinutes()-(k+b.getTimezoneOffset());b.setHours(b.getHours()+pars= eInt(t/60),t%60)}return b}};Date._parseInt=3Dfunction(a){return = parseInt(a.replace(/^[\s0]+(\d+)$/,"$1"))};Date.prototype.format=3Dfuncti= on(a){return = this._toFormattedString(a,Sys.CultureInfo.InvariantCulture)};Date.prototy= pe.localeFormat=3Dfunction(a){return = this._toFormattedString(a,Sys.CultureInfo.CurrentCulture)};Date.prototype= ._toFormattedString=3Dfunction(e,h){if(!e||e.length=3D=3D=3D0||e=3D=3D=3D= "i")if(h&&h.name.length>0)return this.toLocaleString();else return = this.toString();var d=3Dh.dateTimeFormat;e=3DDate._expandFormat(d,e);var = a=3Dnew Sys.StringBuilder,b;function c(a){if(a<10)return "0"+a;return = a.toString()}function g(a){if(a<10)return "00"+a;if(a<100)return = "0"+a;return a.toString()}var = j=3D0,i=3DDate._getTokenRegExp();for(;true;){var = l=3Di.lastIndex,f=3Di.exec(e),k=3De.slice(l,f?f.index:e.length);j+=3DDate= ._appendPreOrPostMatch(k,a);if(!f)break;if(j%2=3D=3D=3D1){a.append(f[0]);= continue}switch(f[0]){case = "dddd":a.append(d.DayNames[this.getDay()]);break;case = "ddd":a.append(d.AbbreviatedDayNames[this.getDay()]);break;case = "dd":a.append(c(this.getDate()));break;case = "d":a.append(this.getDate());break;case = "MMMM":a.append(d.MonthNames[this.getMonth()]);break;case = "MMM":a.append(d.AbbreviatedMonthNames[this.getMonth()]);break;case = "MM":a.append(c(this.getMonth()+1));break;case = "M":a.append(this.getMonth()+1);break;case = "yyyy":a.append(this.getFullYear());break;case = "yy":a.append(c(this.getFullYear()%100));break;case = "y":a.append(this.getFullYear()%100);break;case = "hh":b=3Dthis.getHours()%12;if(b=3D=3D=3D0)b=3D12;a.append(c(b));break;ca= se = "h":b=3Dthis.getHours()%12;if(b=3D=3D=3D0)b=3D12;a.append(b);break;case = "HH":a.append(c(this.getHours()));break;case = "H":a.append(this.getHours());break;case = "mm":a.append(c(this.getMinutes()));break;case = "m":a.append(this.getMinutes());break;case = "ss":a.append(c(this.getSeconds()));break;case = "s":a.append(this.getSeconds());break;case = "tt":a.append(this.getHours()<12?d.AMDesignator:d.PMDesignator);break;cas= e = "t":a.append((this.getHours()<12?d.AMDesignator:d.PMDesignator).charAt(0)= );break;case = "f":a.append(g(this.getMilliseconds()).charAt(0));break;case = "ff":a.append(g(this.getMilliseconds()).substr(0,2));break;case = "fff":a.append(g(this.getMilliseconds()));break;case = "z":b=3Dthis.getTimezoneOffset()/60;a.append((b>=3D0?"+":"-")+Math.floor(= Math.abs(b)));break;case = "zz":b=3Dthis.getTimezoneOffset()/60;a.append((b>=3D0?"+":"-")+c(Math.flo= or(Math.abs(b))));break;case = "zzz":b=3Dthis.getTimezoneOffset()/60;a.append((b>=3D0?"+":"-")+c(Math.fl= oor(Math.abs(b)))+d.TimeSeparator+c(Math.abs(this.getTimezoneOffset()%60)= ));break}}return = a.toString()};Number.__typeName=3D"Number";Number.__class=3Dtrue;Number.p= arseLocale=3Dfunction(a){return = Number._parse(a,Sys.CultureInfo.CurrentCulture)};Number.parseInvariant=3D= function(a){return = Number._parse(a,Sys.CultureInfo.InvariantCulture)};Number._parse=3Dfuncti= on(g,f){var a=3Dg.trim();if(a.match(/infinity/i)!=3D=3Dnull)return = parseFloat(a);if(a.match(/^0x[a-f0-9]+$/i)!=3D=3Dnull)return = parseInt(a);var = d=3Df.numberFormat,b=3Dd.NumberDecimalSeparator,c=3Dd.NumberGroupSeparato= r,e=3Dnew = RegExp("^[+-]?[\\d\\"+c+"]*\\"+b+"?\\d*([eE][+-]?\\d+)?$");if(!a.match(e)= )return Number.NaN;a=3Da.split(c).join("");a=3Da.replace(b,".");return = parseFloat(a)};Number.prototype.format=3Dfunction(a){return = this._toFormattedString(a,Sys.CultureInfo.InvariantCulture)};Number.proto= type.localeFormat=3Dfunction(a){return = this._toFormattedString(a,Sys.CultureInfo.CurrentCulture)};Number.prototy= pe._toFormattedString=3Dfunction(d,j){if(!d||d.length=3D=3D=3D0||d=3D=3D=3D= "i")if(j&&j.name.length>0)return this.toLocaleString();else return = this.toString();var q=3D["n %","n%","%n"],p=3D["-n = %","-n%","-%n"],r=3D["(n)","-n","- n","n-","n -"],o=3D["$n","n$","$ = n","n $"],n=3D["($n)","-$n","$-n","$n-","(n$)","-n$","n-$","n$-","-n = $","-$ n","n $-","$ n-","$ -n","n- $","($ n)","(n $)"];function = i(p,k,j,l,o){var = e=3Dj[0],g=3D1,c=3Dp.toString(),a=3D"",m=3D"",i=3Dc.split(".");if(i.lengt= h>1){c=3Di[0];a=3Di[1];var = h=3Da.split(/e/i);if(h.length>1){a=3Dh[0];m=3D"e"+h[1]}}if(k>0){var = f=3Da.length-k;if(f>0)a=3Da.slice(0,k);else if(f<0)for(var = n=3D0;n=3D0){if(e=3D=3D=3D0||e>b)if(d.length>0)ret= urn c.slice(0,b+1)+l+d+a;else return = c.slice(0,b+1)+a;if(d.length>0)d=3Dc.slice(b-e+1,b+1)+l+d;else = d=3Dc.slice(b-e+1,b+1);b-=3De;if(g1)b=3DparseInt(d.slice(1));var = c;switch(d.charAt(0)){case "d":case "D":c=3D"n";if(b!=3D=3D-1){var = g=3D""+e,k=3Db-g.length;if(k>0)for(var = m=3D0;m=3D0};Array.dequeue=3Dfunction(a){return = a.shift()};Array.forEach=3Dfunction(b,e,d){for(var = a=3D0,f=3Db.length;a=3D0)b.splice(a,1);return = a>=3D0};Array.removeAt=3Dfunction(a,b){a.splice(b,1)};String.__typeName=3D= "String";String.__class=3Dtrue;String.prototype.endsWith=3Dfunction(a){re= turn = this.substr(this.length-a.length)=3D=3D=3Da};String.prototype.startsWith=3D= function(a){return = this.substr(0,a.length)=3D=3D=3Da};String.prototype.trim=3Dfunction(){ret= urn = this.replace(/^\s+|\s+$/g,"")};String.prototype.trimEnd=3Dfunction(){retu= rn = this.replace(/\s+$/,"")};String.prototype.trimStart=3Dfunction(){return = this.replace(/^\s+/,"")};String.format=3Dfunction(){return = String._toFormattedString(false,arguments)};String.localeFormat=3Dfunctio= n(){return = String._toFormattedString(true,arguments)};String._toFormattedString=3Dfu= nction(l,j){var c=3D"",e=3Dj[0];for(var a=3D0;true;){var = f=3De.indexOf("{",a),d=3De.indexOf("}",a);if(f<0&&d<0){c+=3De.slice(a);br= eak}if(d>0&&(d-1){Sys.Browser.agent=3DSys.Browser.Firefox;Sys.Browser.versio= n=3DparseFloat(navigator.userAgent.match(/Firefox\/(\d+\.\d+)/)[1]);Sys.B= rowser.name=3D"Firefox";Sys.Browser.hasDebuggerStatement=3Dtrue}else = if(navigator.userAgent.indexOf(" = Safari/")>-1){Sys.Browser.agent=3DSys.Browser.Safari;Sys.Browser.version=3D= parseFloat(navigator.userAgent.match(/Safari\/(\d+\.\d+)/)[1]);Sys.Browse= r.name=3D"Safari"}else = if(navigator.userAgent.indexOf("Opera/")>-1)Sys.Browser.agent=3DSys.Brows= er.Opera;Type.registerNamespace("Sys.UI");Sys._Debug=3Dfunction(){};Sys._= Debug.prototype=3D{_appendConsole:function(a){if(typeof = Debug!=3D=3D"undefined"&&Debug.writeln)Debug.writeln(a);if(window.console= &&window.console.log)window.console.log(a);if(window.opera)window.opera.p= ostError(a);if(window.debugService)window.debugService.trace(a)},_appendT= race:function(b){var = a=3Ddocument.getElementById("TraceConsole");if(a&&a.tagName.toUpperCase()= =3D=3D=3D"TEXTAREA")a.value+=3Db+"\n"},assert:function(c,a,b){if(!c){a=3D= b&&this.assert.caller?String.format(Sys.Res.assertFailedCaller,a,this.ass= ert.caller):String.format(Sys.Res.assertFailed,a);if(confirm(String.forma= t(Sys.Res.breakIntoDebugger,a)))this.fail(a)}},clearTrace:function(){var = a=3Ddocument.getElementById("TraceConsole");if(a&&a.tagName.toUpperCase()= =3D=3D=3D"TEXTAREA")a.value=3D""},fail:function(message){this._appendCons= ole(message);if(Sys.Browser.hasDebuggerStatement)eval("debugger")},trace:= function(a){this._appendConsole(a);this._appendTrace(a)},traceDump:functi= on(a,b){var = c=3Dthis._traceDump(a,b,true)},_traceDump:function(a,c,f,b,d){c=3Dc?c:"tr= aceDump";b=3Db?b:"";if(a=3D=3D=3Dnull){this.trace(b+c+": = null");return}switch(typeof a){case "undefined":this.trace(b+c+": = Undefined");break;case "number":case "string":case = "boolean":this.trace(b+c+": = "+a);break;default:if(Date.isInstanceOfType(a)||RegExp.isInstanceOfType(a= )){this.trace(b+c+": "+a.toString());break}if(!d)d=3D[];else = if(Array.contains(d,a)){this.trace(b+c+": = ...");return}Array.add(d,a);if(a=3D=3Dwindow||a=3D=3D=3Ddocument||window.= HTMLElement&&a instanceof HTMLElement||typeof = a.nodeName=3D=3D=3D"string"){var = k=3Da.tagName?a.tagName:"DomElement";if(a.id)k+=3D" - = "+a.id;this.trace(b+c+" {"+k+"}")}else{var = i=3DObject.getTypeName(a);this.trace(b+c+(typeof i=3D=3D=3D"string"?" = {"+i+"}":""));if(b=3D=3D=3D""||f){b+=3D" ";var = e,j,l,g,h;if(Array.isInstanceOfType(a)){j=3Da.length;for(e=3D0;e=3D0;d--){var k=3Dh[d].trim();b=3Da[k];if(typeof = b!=3D=3D"number")throw = Error.argument("value",String.format(Sys.Res.enumInvalidValue,c.split(","= )[d].trim(),this.__typeName));j|=3Db}return j}}function = Sys$Enum$toString(c){if(typeof = c=3D=3D=3D"undefined"||c=3D=3D=3Dnull)return this.__string;var = d=3Dthis.prototype,a;if(!this.__flags||c=3D=3D=3D0){for(a in = d)if(d[a]=3D=3D=3Dc)return a}else{var = b=3Dthis.__sortedValues;if(!b){b=3D[];for(a in = d)b[b.length]=3D{key:a,value:d[a]};b.sort(function(a,b){return = a.value-b.value});this.__sortedValues=3Db}var = e=3D[],g=3Dc;for(a=3Db.length-1;a>=3D0;a--){var = h=3Db[a],f=3Dh.value;if(f=3D=3D=3D0)continue;if((f&c)=3D=3D=3Df){e[e.leng= th]=3Dh.key;g-=3Df;if(g=3D=3D=3D0)break}}if(e.length&&g=3D=3D=3D0)return = e.reverse().join(", ")}return = ""}Type.prototype.registerEnum=3Dfunction(c,b){for(var a in = this.prototype)this[a]=3Dthis.prototype[a];this.__typeName=3Dc;this.parse= =3DSys$Enum$parse;this.__string=3Dthis.toString();this.toString=3DSys$Enu= m$toString;this.__flags=3Db;this.__enum=3Dtrue};Type.isEnum=3Dfunction(a)= {if(typeof a=3D=3D=3D"undefined"||a=3D=3D=3Dnull)return false;return = !!a.__enum};Type.isFlags=3Dfunction(a){if(typeof = a=3D=3D=3D"undefined"||a=3D=3D=3Dnull)return false;return = !!a.__flags};Sys.EventHandlerList=3Dfunction(){this._list=3D{}};Sys.Event= HandlerList.prototype=3D{addHandler:function(b,a){Array.add(this._getEven= t(b,true),a)},removeHandler:function(c,b){var = a=3Dthis._getEvent(c);if(!a)return;Array.remove(a,b)},getHandler:function= (b){var a=3Dthis._getEvent(b);if(!a||a.length=3D=3D=3D0)return = null;a=3DArray.clone(a);if(!a._handler)a._handler=3Dfunction(c,d){for(var= b=3D0,e=3Da.length;b=3D0;c--)$removeHandler(a,b,d[c].handler)}a._events=3Dnu= ll}},$removeHandler=3DSys.UI.DomEvent.removeHandler=3Dfunction(a,e,f){var= d=3Dnull,c=3Da._events[e],d=3Dnull;for(var = b=3D0,g=3Dc.length;b0)this._t= imeoutCookie=3Dwindow.setTimeout(Function.createDelegate(this,this._scrip= tLoadTimeoutHandler),a*1000);this._loadScriptsInternal()},notifyScriptLoa= ded:function(){if(!this._loading)return;this._currentTask._notified++;if(= Sys.Browser.agent=3D=3D=3DSys.Browser.Safari)if(this._currentTask._notifi= ed=3D=3D=3D1)window.setTimeout(Function.createDelegate(this,function(){th= is._scriptLoadedHandler(this._currentTask.get_scriptElement(),true)}),0)}= ,queueCustomScriptTag:function(a){if(!this._scriptsToLoad)this._scriptsTo= Load=3D[];Array.add(this._scriptsToLoad,a)},queueScriptBlock:function(a){= if(!this._scriptsToLoad)this._scriptsToLoad=3D[];Array.add(this._scriptsT= oLoad,{text:a})},queueScriptReference:function(a){if(!this._scriptsToLoad= )this._scriptsToLoad=3D[];Array.add(this._scriptsToLoad,{src:a})},_create= ScriptElement:function(c){var = a=3Ddocument.createElement("SCRIPT");a.type=3D"text/javascript";for(var = b in c)a[b]=3Dc[b];return = a},_loadScriptsInternal:function(){if(this._scriptsToLoad&&this._scriptsT= oLoad.length>0){var = b=3DArray.dequeue(this._scriptsToLoad),a=3Dthis._createScriptElement(b);i= f(a.text&&Sys.Browser.agent=3D=3D=3DSys.Browser.Safari){a.innerHTML=3Da.t= ext;delete a.text}if(typeof = b.src=3D=3D=3D"string"){this._currentTask=3Dnew = Sys._ScriptLoaderTask(a,this._scriptLoadedDelegate);this._currentTask.exe= cute()}else{document.getElementsByTagName("HEAD")[0].appendChild(a);Sys._= ScriptLoader._clearScript(a);this._loadScriptsInternal()}}else{var = c=3Dthis._allScriptsLoadedCallback;this._stopLoading();if(c)c(this)}},_ra= iseError:function(a){var = c=3Dthis._scriptLoadFailedCallback,b=3Dthis._currentTask.get_scriptElemen= t();this._stopLoading();if(c)c(this,b,a);else throw = Sys._ScriptLoader._errorScriptLoadFailed(b.src,a)},_scriptLoadedHandler:f= unction(a,b){if(b&&this._currentTask._notified)if(this._currentTask._noti= fied>1)this._raiseError(true);else{Array.add(Sys._ScriptLoader._getLoaded= Scripts(),a.src);this._currentTask.dispose();this._currentTask=3Dnull;thi= s._loadScriptsInternal()}else = this._raiseError(false)},_scriptLoadTimeoutHandler:function(){var = a=3Dthis._scriptLoadTimeoutCallback;this._stopLoading();if(a)a(this)},_st= opLoading:function(){if(this._timeoutCookie){window.clearTimeout(this._ti= meoutCookie);this._timeoutCookie=3Dnull}if(this._currentTask){this._curre= ntTask.dispose();this._currentTask=3Dnull}this._scriptsToLoad=3Dnull;this= ._loading=3Dnull;this._allScriptsLoadedCallback=3Dnull;this._scriptLoadFa= iledCallback=3Dnull;this._scriptLoadTimeoutCallback=3Dnull}};Sys._ScriptL= oader.registerClass("Sys._ScriptLoader",null,Sys.IDisposable);Sys._Script= Loader.getInstance=3Dfunction(){var = a=3DSys._ScriptLoader._activeInstance;if(!a)a=3DSys._ScriptLoader._active= Instance=3Dnew Sys._ScriptLoader;return = a};Sys._ScriptLoader.isScriptLoaded=3Dfunction(b){var = a=3Ddocument.createElement("script");a.src=3Db;return = Array.contains(Sys._ScriptLoader._getLoadedScripts(),a.src)};Sys._ScriptL= oader.readLoadedScripts=3Dfunction(){if(!Sys._ScriptLoader._referencedScr= ipts){var = b=3DSys._ScriptLoader._referencedScripts=3D[],c=3Ddocument.getElementsByT= agName("SCRIPT");for(i=3Dc.length-1;i>=3D0;i--){var = d=3Dc[i],a=3Dd.src;if(a.length)if(!Array.contains(b,a))Array.add(b,a)}}};= Sys._ScriptLoader._clearScript=3Dfunction(a){if(!Sys.Debug.isDebug)a.pare= ntNode.removeChild(a)};Sys._ScriptLoader._errorScriptLoadFailed=3Dfunctio= n(b,d){var a;if(d)a=3DSys.Res.scriptLoadMultipleCallbacks;else = a=3DSys.Res.scriptLoadFailed;var e=3D"Sys.ScriptLoadFailedException: = "+String.format(a,b),c=3DError.create(e,{name:"Sys.ScriptLoadFailedExcept= ion","scriptUrl":b});c.popStackFrame();return = c};Sys._ScriptLoader._getLoadedScripts=3Dfunction(){if(!Sys._ScriptLoader= ._referencedScripts){Sys._ScriptLoader._referencedScripts=3D[];Sys._Scrip= tLoader.readLoadedScripts()}return = Sys._ScriptLoader._referencedScripts};Sys._ScriptLoaderTask=3Dfunction(b,= a){this._scriptElement=3Db;this._completedCallback=3Da;this._notified=3D0= };Sys._ScriptLoaderTask.prototype=3D{get_scriptElement:function(){return = this._scriptElement},dispose:function(){if(this._disposed)return;this._di= sposed=3Dtrue;this._removeScriptElementHandlers();Sys._ScriptLoader._clea= rScript(this._scriptElement);this._scriptElement=3Dnull},execute:function= (){this._addScriptElementHandlers();document.getElementsByTagName("HEAD")= [0].appendChild(this._scriptElement)},_addScriptElementHandlers:function(= ){this._scriptLoadDelegate=3DFunction.createDelegate(this,this._scriptLoa= dHandler);if(Sys.Browser.agent!=3D=3DSys.Browser.InternetExplorer){this._= scriptElement.readyState=3D"loaded";$addHandler(this._scriptElement,"load= ",this._scriptLoadDelegate)}else = $addHandler(this._scriptElement,"readystatechange",this._scriptLoadDelega= te);this._scriptErrorDelegate=3DFunction.createDelegate(this,this._script= ErrorHandler);$addHandler(this._scriptElement,"error",this._scriptErrorDe= legate)},_removeScriptElementHandlers:function(){if(this._scriptLoadDeleg= ate){var = a=3Dthis.get_scriptElement();if(Sys.Browser.agent!=3D=3DSys.Browser.Inter= netExplorer)$removeHandler(a,"load",this._scriptLoadDelegate);else = $removeHandler(a,"readystatechange",this._scriptLoadDelegate);$removeHand= ler(a,"error",this._scriptErrorDelegate);this._scriptErrorDelegate=3Dnull= ;this._scriptLoadDelegate=3Dnull}},_scriptErrorHandler:function(){if(this= ._disposed)return;this._completedCallback(this.get_scriptElement(),false)= },_scriptLoadHandler:function(){if(this._disposed)return;var = a=3Dthis.get_scriptElement();if(a.readyState!=3D=3D"loaded"&&a.readyState= !=3D=3D"complete")return;var = b=3Dthis;window.setTimeout(function(){b._completedCallback(a,true)},0)}};= Sys._ScriptLoaderTask.registerClass("Sys._ScriptLoaderTask",null,Sys.IDis= posable);Sys.ApplicationLoadEventArgs=3Dfunction(b,a){Sys.ApplicationLoad= EventArgs.initializeBase(this);this._components=3Db;this._isPartialLoad=3D= a};Sys.ApplicationLoadEventArgs.prototype=3D{get_components:function(){re= turn this._components},get_isPartialLoad:function(){return = this._isPartialLoad}};Sys.ApplicationLoadEventArgs.registerClass("Sys.App= licationLoadEventArgs",Sys.EventArgs);Sys._Application=3Dfunction(){Sys._= Application.initializeBase(this);this._disposableObjects=3D[];this._compo= nents=3D{};this._createdComponents=3D[];this._secondPassComponents=3D[];t= his._unloadHandlerDelegate=3DFunction.createDelegate(this,this._unloadHan= dler);this._loadHandlerDelegate=3DFunction.createDelegate(this,this._load= Handler);Sys.UI.DomEvent.addHandler(window,"unload",this._unloadHandlerDe= legate);Sys.UI.DomEvent.addHandler(window,"load",this._loadHandlerDelegat= e)};Sys._Application.prototype=3D{_creatingComponents:false,_disposing:fa= lse,get_isCreatingComponents:function(){return = this._creatingComponents},add_load:function(a){this.get_events().addHandl= er("load",a)},remove_load:function(a){this.get_events().removeHandler("lo= ad",a)},add_init:function(a){if(this._initialized)a(this,Sys.EventArgs.Em= pty);else = this.get_events().addHandler("init",a)},remove_init:function(a){this.get_= events().removeHandler("init",a)},add_unload:function(a){this.get_events(= ).addHandler("unload",a)},remove_unload:function(a){this.get_events().rem= oveHandler("unload",a)},addComponent:function(a){this._components[a.get_i= d()]=3Da},beginCreateComponents:function(){this._creatingComponents=3Dtru= e},dispose:function(){if(!this._disposing){this._disposing=3Dtrue;if(wind= ow.pageUnload)window.pageUnload(this,Sys.EventArgs.Empty);var = c=3Dthis.get_events().getHandler("unload");if(c)c(this,Sys.EventArgs.Empt= y);var b=3DArray.clone(this._disposableObjects);for(var = a=3D0,e=3Db.length;a0)this._timer=3Dwindow.setTimeout= (Function.createDelegate(this,this._onTimeout),d);this._xmlHttpRequest.se= nd(c);this._started=3Dtrue},getResponseHeader:function(b){var = a;try{a=3Dthis._xmlHttpRequest.getResponseHeader(b)}catch(c){}if(!a)a=3D"= ";return a},getAllResponseHeaders:function(){return = this._xmlHttpRequest.getAllResponseHeaders()},get_responseData:function()= {return = this._xmlHttpRequest.responseText},get_statusCode:function(){return = this._xmlHttpRequest.status},get_statusText:function(){return = this._xmlHttpRequest.statusText},get_xml:function(){var = a=3Dthis._xmlHttpRequest.responseXML;if(!a||!a.documentElement){a=3Dnew = XMLDOM(this._xmlHttpRequest.responseText);if(!a||!a.documentElement)retur= n null}else = if(navigator.userAgent.indexOf("MSIE")!=3D=3D-1)a.setProperty("SelectionL= anguage","XPath");if(a.documentElement.namespaceURI=3D=3D=3D"http://www.m= ozilla.org/newlayout/xml/parsererror.xml"&&a.documentElement.tagName=3D=3D= =3D"parsererror")return = null;if(a.documentElement.firstChild&&a.documentElement.firstChild.tagNam= e=3D=3D=3D"parsererror")return null;return = a},abort:function(){if(this._aborted||this._responseAvailable||this._time= dOut)return;this._aborted=3Dtrue;this._clearTimer();if(this._xmlHttpReque= st&&!this._responseAvailable){this._xmlHttpRequest.onreadystatechange=3DF= unction.emptyMethod;this._xmlHttpRequest.abort();this._xmlHttpRequest=3Dn= ull;var = a=3Dthis._webRequest._get_eventHandlerList().getHandler("completed");if(a= )a(this,Sys.EventArgs.Empty)}}};Sys.Net.XMLHttpExecutor.registerClass("Sy= s.Net.XMLHttpExecutor",Sys.Net.WebRequestExecutor);Sys.Net._WebRequestMan= ager=3Dfunction(){this._this=3Dthis;this._defaultTimeout=3D0;this._defaul= tExecutorType=3D"Sys.Net.XMLHttpExecutor"};Sys.Net._WebRequestManager.pro= totype=3D{add_invokingRequest:function(a){this._get_eventHandlerList().ad= dHandler("invokingRequest",a)},remove_invokingRequest:function(a){this._g= et_eventHandlerList().removeHandler("invokingRequest",a)},add_completedRe= quest:function(a){this._get_eventHandlerList().addHandler("completedReque= st",a)},remove_completedRequest:function(a){this._get_eventHandlerList().= removeHandler("completedRequest",a)},_get_eventHandlerList:function(){if(= !this._events)this._events=3Dnew Sys.EventHandlerList;return = this._events},get_defaultTimeout:function(){return = this._defaultTimeout},set_defaultTimeout:function(a){this._defaultTimeout= =3Da},get_defaultExecutorType:function(){return = this._defaultExecutorType},set_defaultExecutorType:function(a){this._defa= ultExecutorType=3Da},executeRequest:function(webRequest){var = executor=3DwebRequest.get_executor();if(!executor){var = failed=3Dfalse;try{var = executorType=3Deval(this._defaultExecutorType);executor=3Dnew = executorType}catch(a){failed=3Dtrue}webRequest.set_executor(executor)}if(= executor.get_aborted())return;var evArgs=3Dnew = Sys.Net.NetworkRequestEventArgs(webRequest),handler=3Dthis._get_eventHand= lerList().getHandler("invokingRequest");if(handler)handler(this,evArgs);i= f(!evArgs.get_cancel())executor.executeRequest()}};Sys.Net._WebRequestMan= ager.registerClass("Sys.Net._WebRequestManager");Sys.Net.WebRequestManage= r=3Dnew = Sys.Net._WebRequestManager;Sys.Net.NetworkRequestEventArgs=3Dfunction(a){= Sys.Net.NetworkRequestEventArgs.initializeBase(this);this._webRequest=3Da= };Sys.Net.NetworkRequestEventArgs.prototype=3D{get_webRequest:function(){= return = this._webRequest}};Sys.Net.NetworkRequestEventArgs.registerClass("Sys.Net= .NetworkRequestEventArgs",Sys.CancelEventArgs);Sys.Net.WebRequest=3Dfunct= ion(){this._url=3D"";this._headers=3D{};this._body=3Dnull;this._userConte= xt=3Dnull;this._httpVerb=3Dnull;this._executor=3Dnull;this._invokeCalled=3D= false;this._timeout=3D0};Sys.Net.WebRequest.prototype=3D{add_completed:fu= nction(a){this._get_eventHandlerList().addHandler("completed",a)},remove_= completed:function(a){this._get_eventHandlerList().removeHandler("complet= ed",a)},completed:function(b){var = a=3DSys.Net.WebRequestManager._get_eventHandlerList().getHandler("complet= edRequest");if(a)a(this._executor,b);a=3Dthis._get_eventHandlerList().get= Handler("completed");if(a)a(this._executor,b)},_get_eventHandlerList:func= tion(){if(!this._events)this._events=3Dnew Sys.EventHandlerList;return = this._events},get_url:function(){return = this._url},set_url:function(a){this._url=3Da},get_headers:function(){retu= rn = this._headers},get_httpVerb:function(){if(this._httpVerb=3D=3D=3Dnull){if= (this._body=3D=3D=3Dnull)return "GET";return "POST"}return = this._httpVerb},set_httpVerb:function(a){this._httpVerb=3Da},get_body:fun= ction(){return = this._body},set_body:function(a){this._body=3Da},get_userContext:function= (){return = this._userContext},set_userContext:function(a){this._userContext=3Da},get= _executor:function(){return = this._executor},set_executor:function(a){this._executor=3Da;this._executo= r._set_webRequest(this)},get_timeout:function(){if(this._timeout=3D=3D=3D= 0)return Sys.Net.WebRequestManager.get_defaultTimeout();return = this._timeout},set_timeout:function(a){this._timeout=3Da},getResolvedUrl:= function(){return = Sys.Net.WebRequest._resolveUrl(this._url)},invoke:function(){Sys.Net.WebR= equestManager.executeRequest(this);this._invokeCalled=3Dtrue}};Sys.Net.We= bRequest._resolveUrl=3Dfunction(b,a){if(b&&b.indexOf("://")!=3D=3D-1)retu= rn b;if(!a||a.length=3D=3D=3D0){var = c=3Ddocument.getElementsByTagName("base")[0];if(c&&c.href&&c.href.length>= 0)a=3Dc.href;else a=3Ddocument.URL}var = d=3Da.indexOf("?");if(d!=3D=3D-1)a=3Da.substr(0,d);a=3Da.substr(0,a.lastI= ndexOf("/")+1);if(!b||b.length=3D=3D=3D0)return = a;if(b.charAt(0)=3D=3D=3D"/"){var = e=3Da.indexOf("://"),g=3Da.indexOf("/",e+3);return = a.substr(0,g)+b}else{var f=3Da.lastIndexOf("/");return = a.substr(0,f+1)+b}};Sys.Net.WebRequest._createQueryString=3Dfunction(d,b)= {if(!b)b=3DencodeURIComponent;var a=3Dnew = Sys.StringBuilder,f=3D0;for(var c in d){var e=3Dd[c];if(typeof = e=3D=3D=3D"function")continue;var = g=3DSys.Serialization.JavaScriptSerializer.serialize(e);if(f!=3D=3D0)a.ap= pend("&");a.append(c);a.append("=3D");a.append(b(g));f++}return = a.toString()};Sys.Net.WebRequest._createUrl=3Dfunction(a,b){if(!b)return = a;var d=3DSys.Net.WebRequest._createQueryString(b);if(d.length>0){var = c=3D"?";if(a&&a.indexOf("?")!=3D=3D-1)c=3D"&";return a+c+d}else return = a};Sys.Net.WebRequest.registerClass("Sys.Net.WebRequest");Sys.Net.WebServ= iceProxy=3Dfunction(){};Sys.Net.WebServiceProxy.prototype=3D{set_timeout:= function(a){this._timeout=3Da},get_timeout:function(){return = this._timeout},set_defaultUserContext:function(a){this._userContext=3Da},= get_defaultUserContext:function(){return = this._userContext},set_defaultSucceededCallback:function(a){this._succeed= ed=3Da},get_defaultSucceededCallback:function(){return = this._succeeded},set_defaultFailedCallback:function(a){this._failed=3Da},= get_defaultFailedCallback:function(){return = this._failed},set_path:function(a){this._path=3Da},get_path:function(){re= turn = this._path},_invoke:function(d,e,g,f,c,b,a){if(c=3D=3D=3Dnull||typeof = c=3D=3D=3D"undefined")c=3Dthis.get_defaultSucceededCallback();if(b=3D=3D=3D= null||typeof = b=3D=3D=3D"undefined")b=3Dthis.get_defaultFailedCallback();if(a=3D=3D=3Dn= ull||typeof = a=3D=3D=3D"undefined")a=3Dthis.get_defaultUserContext();return = Sys.Net.WebServiceProxy.invoke(d,e,g,f,c,b,a,this.get_timeout())}};Sys.Ne= t.WebServiceProxy.registerClass("Sys.Net.WebServiceProxy");Sys.Net.WebSer= viceProxy.invoke=3Dfunction(k,a,j,d,i,c,f,h){var b=3Dnew = Sys.Net.WebRequest;b.get_headers()["Content-Type"]=3D"application/json; = charset=3Dutf-8";if(!d)d=3D{};var = g=3Dd;if(!j||!g)g=3D{};b.set_url(Sys.Net.WebRequest._createUrl(k+"/"+a,g)= );var = e=3Dnull;if(!j){e=3DSys.Serialization.JavaScriptSerializer.serialize(d);i= f(e=3D=3D=3D"{}")e=3D""}b.set_body(e);b.add_completed(l);if(h&&h>0)b.set_= timeout(h);b.invoke();function l(d){if(d.get_responseAvailable()){var = e=3Dd.get_statusCode(),b=3Dnull;try{var = j=3Dd.getResponseHeader("Content-Type");if(j.startsWith("application/json= "))b=3Dd.get_object();else = if(j.startsWith("text/xml"))b=3Dd.get_xml();else = b=3Dd.get_responseData()}catch(m){}var = k=3Dd.getResponseHeader("jsonerror"),g=3Dk=3D=3D=3D"true";if(g)b=3Dnew = Sys.Net.WebServiceError(false,b.Message,b.StackTrace,b.ExceptionType);if(= e<200||e>=3D300||g){if(c){if(!b||!g)b=3Dnew = Sys.Net.WebServiceError(false,String.format(Sys.Res.webServiceFailedNoMsg= ,a),"","");b._statusCode=3De;c(b,f,a)}}else if(i)i(b,f,a)}else{var = h;if(d.get_timedOut())h=3DString.format(Sys.Res.webServiceTimedOut,a);els= e h=3DString.format(Sys.Res.webServiceFailedNoMsg,a);if(c)c(new = Sys.Net.WebServiceError(d.get_timedOut(),h,"",""),f,a)}}return = b};Sys.Net.WebServiceProxy._generateTypedConstructor=3Dfunction(a){return= function(b){if(b)for(var c in = b)this[c]=3Db[c];this.__type=3Da}};Sys.Net.WebServiceError=3Dfunction(c,d= ,b,a){this._timedOut=3Dc;this._message=3Dd;this._stackTrace=3Db;this._exc= eptionType=3Da;this._statusCode=3D-1};Sys.Net.WebServiceError.prototype=3D= {get_timedOut:function(){return = this._timedOut},get_statusCode:function(){return = this._statusCode},get_message:function(){return = this._message},get_stackTrace:function(){return = this._stackTrace},get_exceptionType:function(){return = this._exceptionType}};Sys.Net.WebServiceError.registerClass("Sys.Net.WebS= erviceError");Type.registerNamespace("Sys.Services");Sys.Services._Profil= eService=3Dfunction(){Sys.Services._ProfileService.initializeBase(this);t= his.properties=3D{}};Sys.Services._ProfileService.DefaultWebServicePath=3D= "";Sys.Services._ProfileService.prototype=3D{_defaultFailedCallback:null,= _defaultLoadCompletedCallback:null,_defaultSaveCompletedCallback:null,_pa= th:"",_timeout:0,get_defaultFailedCallback:function(){return = this._defaultFailedCallback},set_defaultFailedCallback:function(a){this._= defaultFailedCallback=3Da},get_defaultLoadCompletedCallback:function(){re= turn = this._defaultLoadCompletedCallback},set_defaultLoadCompletedCallback:func= tion(a){this._defaultLoadCompletedCallback=3Da},get_defaultSaveCompletedC= allback:function(){return = this._defaultSaveCompletedCallback},set_defaultSaveCompletedCallback:func= tion(a){this._defaultSaveCompletedCallback=3Da},get_path:function(){retur= n = this._path},set_path:function(a){if(!a||!a.length)a=3D"";this._path=3Da},= get_timeout:function(){return = this._timeout},set_timeout:function(a){this._timeout=3Da},load:function(b= ,d,e,f){var = c=3D{},a;if(!b)a=3D"GetAllPropertiesForCurrentUser";else{a=3D"GetProperti= esForCurrentUser";c=3D{properties:this._clonePropertyNames(b)}}this._invo= ke(this._get_path(),a,false,c,Function.createDelegate(this,this._onLoadCo= mplete),Function.createDelegate(this,this._onLoadFailed),[d,e,f])},save:f= unction(d,a,c,e){var = b=3Dthis._flattenProperties(d,this.properties);this._invoke(this._get_pat= h(),"SetPropertiesForCurrentUser",false,{values:b},Function.createDelegat= e(this,this._onSaveComplete),Function.createDelegate(this,this._onSaveFai= led),[a,c,e])},_clonePropertyNames:function(e){var c=3D[],d=3D{};for(var = b=3D0;b0)a.append(",");Sys.Serialization.JavaScriptSerializer._s= erializeWithBuilder(b[c],a)}a.append("]")}else{if(Date.isInstanceOfType(b= )){a.append('"\\/Date(');a.append(b.getTime());a.append(')\\/"');break}va= r e=3D[],i=3D0;for(var g in = b){if(g.startsWith("$"))continue;e[i++]=3Dg}if(h)e.sort();a.append("{");v= ar j=3Dfalse;for(c=3D0;c=3D" = "){if(d=3D=3D=3D"\\"||d=3D=3D=3D'"')a.append("\\");a.append(d)}else = switch(d){case "\b":a.append("\\b");break;case = "\f":a.append("\\f");break;case "\n":a.append("\\n");break;case = "\r":a.append("\\r");break;case = "\t":a.append("\\t");break;default:a.append("\\u00");if(d.charCodeAt()<16= )a.append("0");a.append(d.charCodeAt().toString(16))}}}else = a.append(b);a.append('"');break;case = "boolean":a.append(b.toString());break;default:a.append("null");break}};S= ys.Serialization.JavaScriptSerializer.serialize=3Dfunction(b){var = a=3Dnew = Sys.StringBuilder;Sys.Serialization.JavaScriptSerializer._serializeWithBu= ilder(b,a,false);return = a.toString()};Sys.Serialization.JavaScriptSerializer.deserialize=3Dfuncti= on(data){if(data.length=3D=3D=3D0)throw = Error.argument("data",Sys.Res.cannotDeserializeEmptyString);try{var = exp=3Ddata.replace(new = RegExp('(^|[^\\\\])\\"\\\\/Date\\((-?[0-9]+)\\)\\\\/\\"',"g"),"$1new = Date($2)");return eval("("+exp+")")}catch(a){throw = Error.argument("data",Sys.Res.cannotDeserializeInvalidJson)}};Sys.Culture= Info=3Dfunction(c,b,a){this.name=3Dc;this.numberFormat=3Db;this.dateTimeF= ormat=3Da};Sys.CultureInfo.prototype=3D{_getDateTimeFormats:function(){if= (!this._dateTimeFormats){var = a=3Dthis.dateTimeFormat;this._dateTimeFormats=3D[a.MonthDayPattern,a.Year= MonthPattern,a.ShortDatePattern,a.ShortTimePattern,a.LongDatePattern,a.Lo= ngTimePattern,a.FullDateTimePattern,a.RFC1123Pattern,a.SortableDateTimePa= ttern,a.UniversalSortableDateTimePattern]}return = this._dateTimeFormats},_getMonthIndex:function(a){if(!this._upperMonths)t= his._upperMonths=3Dthis._toUpperArray(this.dateTimeFormat.MonthNames);ret= urn = Array.indexOf(this._upperMonths,this._toUpper(a))},_getAbbrMonthIndex:fun= ction(a){if(!this._upperAbbrMonths)this._upperAbbrMonths=3Dthis._toUpperA= rray(this.dateTimeFormat.AbbreviatedMonthNames);return = Array.indexOf(this._upperMonths,this._toUpper(a))},_getDayIndex:function(= a){if(!this._upperDays)this._upperDays=3Dthis._toUpperArray(this.dateTime= Format.DayNames);return = Array.indexOf(this._upperDays,this._toUpper(a))},_getAbbrDayIndex:functio= n(a){if(!this._upperAbbrDays)this._upperAbbrDays=3Dthis._toUpperArray(thi= s.dateTimeFormat.AbbreviatedDayNames);return = Array.indexOf(this._upperAbbrDays,this._toUpper(a))},_toUpperArray:functi= on(c){var b=3D[];for(var = a=3D0,d=3Dc.length;a=3D0;b--){var = a=3Dd[b];if(a.nodeType=3D=3D=3D1){if(a.dispose&&typeof = a.dispose=3D=3D=3D"function")a.dispose();else if(a.control&&typeof = a.control.dispose=3D=3D=3D"function")a.control.dispose();var = e=3DSys.UI.Behavior.getBehaviors(a);for(var = c=3De.length-1;c>=3D0;c--)e[c].dispose();this._destroyTree(a)}}}},dispose= :function(){if(this._form){Sys.UI.DomEvent.removeHandler(this._form,"subm= it",this._onFormSubmitHandler);Sys.UI.DomEvent.removeHandler(this._form,"= click",this._onFormElementClickHandler);Sys.UI.DomEvent.removeHandler(win= dow,"unload",this._onWindowUnloadHandler);Sys.UI.DomEvent.removeHandler(w= indow,"load",this._pageLoadedHandler)}if(this._originalDoPostBack){window= .__doPostBack=3Dthis._originalDoPostBack;this._originalDoPostBack=3Dnull}= this._form=3Dnull;this._updatePanelIDs=3Dnull;this._oldUpdatePanelIDs=3Dn= ull;this._childUpdatePanelIDs=3Dnull;this._updatePanelClientIDs=3Dnull;th= is._asyncPostBackControlIDs=3Dnull;this._asyncPostBackControlClientIDs=3D= null;this._postBackControlIDs=3Dnull;this._postBackControlClientIDs=3Dnul= l;this._asyncPostBackTimeout=3Dnull;this._scrollPosition=3Dnull;this._dat= aItems=3Dnull},_doPostBack:function(a,e){this._additionalInput=3Dnull;var= = b=3Dthis._form;if(b.action!=3D=3Db._initialAction)this._postBackSettings=3D= this._createPostBackSettings(false,null,null);else{var = f=3Dthis._uniqueIDToClientID(a),d=3Ddocument.getElementById(f);if(!d)if(A= rray.contains(this._asyncPostBackControlIDs,a))this._postBackSettings=3Dt= his._createPostBackSettings(true,this._scriptManagerID+"|"+a,null);else = if(Array.contains(this._postBackControlIDs,a))this._postBackSettings=3Dth= is._createPostBackSettings(false,null,null);else{var = c=3Dthis._findNearestElement(a);if(c)this._postBackSettings=3Dthis._getPo= stBackSettings(c,a);else = this._postBackSettings=3Dthis._createPostBackSettings(false,null,null)}el= se = this._postBackSettings=3Dthis._getPostBackSettings(d,a)}if(!this._postBac= kSettings.async){b.onsubmit=3Dthis._onsubmit;this._originalDoPostBack(a,e= );b.onsubmit=3Dnull;return}b.__EVENTTARGET.value=3Da;b.__EVENTARGUMENT.va= lue=3De;this._onFormSubmit()},_elementContains:function(b,a){while(a){if(= a=3D=3D=3Db)return true;a=3Da.parentNode}return = false},_endPostBack:function(a,e){this._processingRequest=3Dfalse;this._r= equest=3Dnull;this._additionalInput=3Dnull;var = d=3Dthis._get_eventHandlerList().getHandler("endRequest"),b=3Dfalse;if(d)= {var c=3Dnew = Sys.WebForms.EndRequestEventArgs(a,this._dataItems,e);d(this,c);b=3Dc.get= _errorHandled()}this._dataItems=3Dnull;if(a&&!b)alert(a.message)},_findNe= arestElement:function(a){while(a.length>0){var = d=3Dthis._uniqueIDToClientID(a),c=3Ddocument.getElementById(d);if(c)retur= n c;var b=3Da.lastIndexOf("$");if(b=3D=3D=3D-1)return = null;a=3Da.substring(0,b)}return null},_findText:function(b,a){var = c=3DMath.max(0,a-20),d=3DMath.min(b.length,a+20);return = b.substring(c,d)},_getPageLoadedEventArgs:function(f){var = e=3D[],d=3D[],h=3Dthis._oldUpdatePanelIDs||[],b=3Dthis._updatePanelIDs,g=3D= this._childUpdatePanelIDs||[],c=3Dthis._panelsToRefreshIDs||[];for(var = a=3D0;a-1))Array.add(d,document.getEle= mentById(this._uniqueIDToClientID(b[a])));return new = Sys.WebForms.PageLoadingEventArgs(e,d,this._dataItems)},_getPostBackSetti= ngs:function(a,c){var = d=3Da,b=3Dnull;while(a){if(a.id){if(!b&&Array.contains(this._asyncPostBac= kControlClientIDs,a.id))b=3Dthis._createPostBackSettings(true,this._scrip= tManagerID+"|"+c,d);else = if(!b&&Array.contains(this._postBackControlClientIDs,a.id))return = this._createPostBackSettings(false,null,null);else{var = e=3DArray.indexOf(this._updatePanelClientIDs,a.id);if(e!=3D=3D-1)if(this.= _updatePanelHasChildrenAsTriggers[e])return = this._createPostBackSettings(true,this._updatePanelIDs[e]+"|"+c,d);else = return = this._createPostBackSettings(true,this._scriptManagerID+"|"+c,d)}if(!b&&t= his._matchesParentIDInList(a.id,this._asyncPostBackControlClientIDs))b=3D= this._createPostBackSettings(true,this._scriptManagerID+"|"+c,d);else = if(!b&&this._matchesParentIDInList(a.id,this._postBackControlClientIDs))r= eturn = this._createPostBackSettings(false,null,null)}a=3Da.parentNode}if(!b)retu= rn this._createPostBackSettings(false,null,null);else return = b},_getScrollPosition:function(){var = a=3Ddocument.documentElement;if(a&&(this._validPosition(a.scrollLeft)||th= is._validPosition(a.scrollTop)))return = {x:a.scrollLeft,y:a.scrollTop};else{a=3Ddocument.body;if(a&&(this._validP= osition(a.scrollLeft)||this._validPosition(a.scrollTop)))return = {x:a.scrollLeft,y:a.scrollTop};else = if(this._validPosition(window.pageXOffset)||this._validPosition(window.pa= geYOffset))return {x:window.pageXOffset,y:window.pageYOffset};else = return = {x:0,y:0}}},_initializeInternal:function(a,b){this._scriptManagerID=3Da;t= his._form=3Db;this._form._initialAction=3Dthis._form.action;this._onsubmi= t=3Dthis._form.onsubmit;this._form.onsubmit=3Dnull;this._onFormSubmitHand= ler=3DFunction.createDelegate(this,this._onFormSubmit);this._onFormElemen= tClickHandler=3DFunction.createDelegate(this,this._onFormElementClick);th= is._onWindowUnloadHandler=3DFunction.createDelegate(this,this._onWindowUn= load);Sys.UI.DomEvent.addHandler(this._form,"submit",this._onFormSubmitHa= ndler);Sys.UI.DomEvent.addHandler(this._form,"click",this._onFormElementC= lickHandler);Sys.UI.DomEvent.addHandler(window,"unload",this._onWindowUnl= oadHandler);this._originalDoPostBack=3Dwindow.__doPostBack;if(this._origi= nalDoPostBack)window.__doPostBack=3DFunction.createDelegate(this,this._do= PostBack);this._pageLoadedHandler=3DFunction.createDelegate(this,this._pa= geLoadedInitialLoad);Sys.UI.DomEvent.addHandler(window,"load",this._pageL= oadedHandler)},_matchesParentIDInList:function(c,b){for(var = a=3D0;a=3Dreply.length){parserErrorDetails=3Dthis._findText(reply,re= ply.length);break}content=3Dthis._decodeString(reply.substr(replyIndex,le= n));replyIndex+=3Dlen;if(reply.charAt(replyIndex)!=3D=3DdelimitByLengthDe= limiter){parserErrorDetails=3Dthis._findText(reply,replyIndex);break}repl= yIndex++;Array.add(delta,{type:type,id:id,content:content})}if(parserErro= rDetails){this._endPostBack(this._createPageRequestManagerParserError(Str= ing.format(Sys.WebForms.Res.PRM_ParserErrorDetails,parserErrorDetails)),s= ender);return}var = updatePanelNodes=3D[],hiddenFieldNodes=3D[],arrayDeclarationNodes=3D[],sc= riptBlockNodes=3D[],expandoNodes=3D[],onSubmitNodes=3D[],dataItemNodes=3D= [],dataItemJsonNodes=3D[],scriptDisposeNodes=3D[],asyncPostBackControlIDs= Node,postBackControlIDsNode,updatePanelIDsNode,asyncPostBackTimeoutNode,c= hildUpdatePanelIDsNode,panelsToRefreshNode,formActionNode;for(var = i=3D0;i=3D0) {=0A= if (!(_uIN(a=3D_uGC(s,"__utma=3D","&")))) a=3D"-";=0A= if (!(_uIN(b=3D_uGC(s,"__utmb=3D","&")))) b=3D"-";=0A= if (!(_uIN(c=3D_uGC(s,"__utmc=3D","&")))) c=3D"-";=0A= v=3D_uGC(s,"__utmv=3D","&");=0A= z=3D_uGC(s,"__utmz=3D","&");=0A= k=3D_uGC(s,"__utmk=3D","&");=0A= xx=3D_uGC(s,"__utmx=3D","&");=0A= if ((k*1) !=3D ((_uHash(a+b+c+xx+z+v)*1)+(_udh*1))) = {_ubl=3D1;a=3D"-";b=3D"-";c=3D"-";xx=3D"-";z=3D"-";v=3D"-";}=0A= if (a!=3D"-" && b!=3D"-" && c!=3D"-") f=3D1;=0A= else if(a!=3D"-") f=3D2;=0A= }=0A= }=0A= if(f=3D=3D1) {=0A= _ubd.cookie=3D"__utma=3D"+a+"; path=3D"+_utcp+";"+nx+_udo;=0A= _ubd.cookie=3D"__utmb=3D"+b+"; path=3D"+_utcp+";"+x+_udo;=0A= _ubd.cookie=3D"__utmc=3D"+c+"; path=3D"+_utcp+";"+_udo;=0A= } else if (f=3D=3D2) {=0A= a=3D_uFixA(s,"&",_ust);=0A= _ubd.cookie=3D"__utma=3D"+a+"; path=3D"+_utcp+";"+nx+_udo;=0A= _ubd.cookie=3D"__utmb=3D"+_udh+"; path=3D"+_utcp+";"+x+_udo;=0A= _ubd.cookie=3D"__utmc=3D"+_udh+"; path=3D"+_utcp+";"+_udo;=0A= _ufns=3D1;=0A= } else if (a>=3D0 && b>=3D0 && c>=3D0) {=0A= _ubd.cookie=3D"__utmb=3D"+_udh+"; path=3D"+_utcp+";"+x+_udo;=0A= } else {=0A= if (a>=3D0) a=3D_uFixA(_ubd.cookie,";",_ust);=0A= else a=3D_udh+"."+_uu+"."+_ust+"."+_ust+"."+_ust+".1";=0A= _ubd.cookie=3D"__utma=3D"+a+"; path=3D"+_utcp+";"+nx+_udo;=0A= _ubd.cookie=3D"__utmb=3D"+_udh+"; path=3D"+_utcp+";"+x+_udo;=0A= _ubd.cookie=3D"__utmc=3D"+_udh+"; path=3D"+_utcp+";"+_udo;=0A= _ufns=3D1;=0A= }=0A= if (_ulink && xx && xx!=3D"" && xx!=3D"-") {=0A= xx=3D_uUES(xx);=0A= if (xx.indexOf(";")=3D=3D-1) _ubd.cookie=3D"__utmx=3D"+xx+"; = path=3D"+_utcp+";"+nx+_udo;=0A= }=0A= if (_ulink && v && v!=3D"" && v!=3D"-") {=0A= v=3D_uUES(v);=0A= if (v.indexOf(";")=3D=3D-1) _ubd.cookie=3D"__utmv=3D"+v+"; = path=3D"+_utcp+";"+nx+_udo;=0A= }=0A= _uInfo(page);=0A= _ufns=3D0;=0A= _ufno=3D0;=0A= if (!page || page=3D=3D"") _uff=3D1;=0A= }=0A= function _uInfo(page) {=0A= var p,s=3D"",dm=3D"",pg=3D_udl.pathname+_udl.search;=0A= if (page && page!=3D"") pg=3D_uES(page,1);=0A= _ur=3D_ubd.referrer;=0A= if (!_ur || _ur=3D=3D"") { _ur=3D"-"; }=0A= else {=0A= dm=3D_ubd.domain;=0A= if(_utcp && _utcp!=3D"/") dm+=3D_utcp;=0A= p=3D_ur.indexOf(dm);=0A= if ((p>=3D0) && (p<=3D8)) { _ur=3D"0"; }=0A= if (_ur.indexOf("[")=3D=3D0 && = _ur.lastIndexOf("]")=3D=3D(_ur.length-1)) { _ur=3D"-"; }=0A= }=0A= s+=3D"&utmn=3D"+_uu;=0A= if (_ufsc) s+=3D_uBInfo();=0A= if (_uctm) s+=3D_uCInfo();=0A= if (_utitle && _ubd.title && _ubd.title!=3D"") = s+=3D"&utmdt=3D"+_uES(_ubd.title);=0A= if (_udl.hostname && _udl.hostname!=3D"") = s+=3D"&utmhn=3D"+_uES(_udl.hostname);=0A= s+=3D"&utmr=3D"+_ur;=0A= s+=3D"&utmp=3D"+pg;=0A= if ((_userv=3D=3D0 || _userv=3D=3D2) && _uSP()) {=0A= var i=3Dnew Image(1,1);=0A= i.src=3D_ugifpath+"?"+"utmwv=3D"+_uwv+s;=0A= i.onload=3Dfunction() {_uVoid();}=0A= }=0A= if ((_userv=3D=3D1 || _userv=3D=3D2) && _uSP()) {=0A= var i2=3Dnew Image(1,1);=0A= = i2.src=3D_ugifpath2+"?"+"utmwv=3D"+_uwv+s+"&utmac=3D"+_uacct+"&utmcc=3D"+= _uGCS();=0A= i2.onload=3Dfunction() { _uVoid(); }=0A= }=0A= return;=0A= }=0A= function _uVoid() { return; }=0A= function _uCInfo() {=0A= if (!_ucto || _ucto=3D=3D"") { _ucto=3D"15768000"; }=0A= if (!_uVG()) return;=0A= var = c=3D"",t=3D"-",t2=3D"-",t3=3D"-",o=3D0,cs=3D0,cn=3D0,i=3D0,z=3D"-",s=3D""= ;=0A= if (_uanchor && _udlh && _udlh!=3D"") s=3D_udlh+"&";=0A= s+=3D_udl.search;=0A= var x=3Dnew Date(_udt.getTime()+(_ucto*1000));=0A= var dc=3D_ubd.cookie;=0A= x=3D" expires=3D"+x.toGMTString()+";";=0A= if (_ulink && !_ubl) {=0A= z=3D_uUES(_uGC(s,"__utmz=3D","&"));=0A= if (z!=3D"-" && z.indexOf(";")=3D=3D-1) { = _ubd.cookie=3D"__utmz=3D"+z+"; path=3D"+_utcp+";"+x+_udo; return ""; }=0A= }=0A= z=3Ddc.indexOf("__utmz=3D"+_udh);=0A= if (z>-1) { z=3D_uGC(dc,"__utmz=3D"+_udh,";"); }=0A= else { z=3D"-"; }=0A= t=3D_uGC(s,_ucid+"=3D","&");=0A= t2=3D_uGC(s,_ucsr+"=3D","&");=0A= t3=3D_uGC(s,"gclid=3D","&");=0A= if ((t!=3D"-" && t!=3D"") || (t2!=3D"-" && t2!=3D"") || (t3!=3D"-" && = t3!=3D"")) {=0A= if (t!=3D"-" && t!=3D"") c+=3D"utmcid=3D"+_uEC(t);=0A= if (t2!=3D"-" && t2!=3D"") { if (c !=3D "") c+=3D"|"; = c+=3D"utmcsr=3D"+_uEC(t2); }=0A= if (t3!=3D"-" && t3!=3D"") { if (c !=3D "") c+=3D"|"; = c+=3D"utmgclid=3D"+_uEC(t3); }=0A= t=3D_uGC(s,_uccn+"=3D","&");=0A= if (t!=3D"-" && t!=3D"") c+=3D"|utmccn=3D"+_uEC(t);=0A= else c+=3D"|utmccn=3D(not+set)";=0A= t=3D_uGC(s,_ucmd+"=3D","&");=0A= if (t!=3D"-" && t!=3D"") c+=3D"|utmcmd=3D"+_uEC(t);=0A= else c+=3D"|utmcmd=3D(not+set)";=0A= t=3D_uGC(s,_uctr+"=3D","&");=0A= if (t!=3D"-" && t!=3D"") c+=3D"|utmctr=3D"+_uEC(t);=0A= else { t=3D_uOrg(1); if (t!=3D"-" && t!=3D"") = c+=3D"|utmctr=3D"+_uEC(t); }=0A= t=3D_uGC(s,_ucct+"=3D","&");=0A= if (t!=3D"-" && t!=3D"") c+=3D"|utmcct=3D"+_uEC(t);=0A= t=3D_uGC(s,_ucno+"=3D","&");=0A= if (t=3D=3D"1") o=3D1;=0A= if (z!=3D"-" && o=3D=3D1) return "";=0A= }=0A= if (c=3D=3D"-" || c=3D=3D"") { c=3D_uOrg(); if (z!=3D"-" && = _ufno=3D=3D1) return ""; }=0A= if (c=3D=3D"-" || c=3D=3D"") { if (_ufns=3D=3D1) c=3D_uRef(); if = (z!=3D"-" && _ufno=3D=3D1) return ""; }=0A= if (c=3D=3D"-" || c=3D=3D"") {=0A= if (z=3D=3D"-" && _ufns=3D=3D1) { = c=3D"utmccn=3D(direct)|utmcsr=3D(direct)|utmcmd=3D(none)"; }=0A= if (c=3D=3D"-" || c=3D=3D"") return "";=0A= }=0A= if (z!=3D"-") {=0A= i=3Dz.indexOf(".");=0A= if (i>-1) i=3Dz.indexOf(".",i+1);=0A= if (i>-1) i=3Dz.indexOf(".",i+1);=0A= if (i>-1) i=3Dz.indexOf(".",i+1);=0A= t=3Dz.substring(i+1,z.length);=0A= if (t.toLowerCase()=3D=3Dc.toLowerCase()) cs=3D1;=0A= t=3Dz.substring(0,i);=0A= if ((i=3Dt.lastIndexOf(".")) > -1) {=0A= t=3Dt.substring(i+1,t.length);=0A= cn=3D(t*1);=0A= }=0A= }=0A= if (cs=3D=3D0 || _ufns=3D=3D1) {=0A= t=3D_uGC(dc,"__utma=3D"+_udh,";");=0A= if ((i=3Dt.lastIndexOf(".")) > 9) {=0A= _uns=3Dt.substring(i+1,t.length);=0A= _uns=3D(_uns*1);=0A= }=0A= cn++;=0A= if (_uns=3D=3D0) _uns=3D1;=0A= _ubd.cookie=3D"__utmz=3D"+_udh+"."+_ust+"."+_uns+"."+cn+"."+c+"; = path=3D"+_utcp+"; "+x+_udo;=0A= }=0A= if (cs=3D=3D0 || _ufns=3D=3D1) return "&utmcn=3D1";=0A= else return "&utmcr=3D1";=0A= }=0A= function _uRef() {=0A= if (_ur=3D=3D"0" || _ur=3D=3D"" || _ur=3D=3D"-") return "";=0A= var i=3D0,h,k,n;=0A= if ((i=3D_ur.indexOf("://"))<0) return "";=0A= h=3D_ur.substring(i+3,_ur.length);=0A= if (h.indexOf("/") > -1) {=0A= k=3Dh.substring(h.indexOf("/"),h.length);=0A= if (k.indexOf("?") > -1) k=3Dk.substring(0,k.indexOf("?"));=0A= h=3Dh.substring(0,h.indexOf("/"));=0A= }=0A= h=3Dh.toLowerCase();=0A= n=3Dh;=0A= if ((i=3Dn.indexOf(":")) > -1) n=3Dn.substring(0,i);=0A= for (var ii=3D0;ii<_uRno.length;ii++) {=0A= if ((i=3Dn.indexOf(_uRno[ii].toLowerCase())) > -1 && = n.length=3D=3D(i+_uRno[ii].length)) { _ufno=3D1; break; }=0A= }=0A= if (h.indexOf("www.")=3D=3D0) h=3Dh.substring(4,h.length);=0A= return = "utmccn=3D(referral)|utmcsr=3D"+_uEC(h)+"|"+"utmcct=3D"+_uEC(k)+"|utmcmd=3D= referral";=0A= }=0A= function _uOrg(t) {=0A= if (_ur=3D=3D"0" || _ur=3D=3D"" || _ur=3D=3D"-") return "";=0A= var i=3D0,h,k;=0A= if ((i=3D_ur.indexOf("://")) < 0) return "";=0A= h=3D_ur.substring(i+3,_ur.length);=0A= if (h.indexOf("/") > -1) {=0A= h=3Dh.substring(0,h.indexOf("/"));=0A= }=0A= for (var ii=3D0;ii<_uOsr.length;ii++) {=0A= if (h.toLowerCase().indexOf(_uOsr[ii].toLowerCase()) > -1) {=0A= if ((i=3D_ur.indexOf("?"+_uOkw[ii]+"=3D")) > -1 || = (i=3D_ur.indexOf("&"+_uOkw[ii]+"=3D")) > -1) {=0A= k=3D_ur.substring(i+_uOkw[ii].length+2,_ur.length);=0A= if ((i=3Dk.indexOf("&")) > -1) k=3Dk.substring(0,i);=0A= for (var yy=3D0;yy<_uOno.length;yy++) {=0A= if (_uOno[yy].toLowerCase()=3D=3Dk.toLowerCase()) { _ufno=3D1; = break; }=0A= }=0A= if (t) return _uEC(k);=0A= else return = "utmccn=3D(organic)|utmcsr=3D"+_uEC(_uOsr[ii])+"|"+"utmctr=3D"+_uEC(k)+"|= utmcmd=3Dorganic";=0A= }=0A= }=0A= }=0A= return "";=0A= }=0A= function _uBInfo() {=0A= var sr=3D"-",sc=3D"-",ul=3D"-",fl=3D"-",cs=3D"-",je=3D1;=0A= var n=3Dnavigator;=0A= if (self.screen) {=0A= sr=3Dscreen.width+"x"+screen.height;=0A= sc=3Dscreen.colorDepth+"-bit";=0A= } else if (self.java) {=0A= var j=3Djava.awt.Toolkit.getDefaultToolkit();=0A= var s=3Dj.getScreenSize();=0A= sr=3Ds.width+"x"+s.height;=0A= }=0A= if (n.language) { ul=3Dn.language.toLowerCase(); }=0A= else if (n.browserLanguage) { ul=3Dn.browserLanguage.toLowerCase(); }=0A= je=3Dn.javaEnabled()?1:0;=0A= if (_uflash) fl=3D_uFlash();=0A= if (_ubd.characterSet) cs=3D_uES(_ubd.characterSet);=0A= else if (_ubd.charset) cs=3D_uES(_ubd.charset);=0A= return = "&utmcs=3D"+cs+"&utmsr=3D"+sr+"&utmsc=3D"+sc+"&utmul=3D"+ul+"&utmje=3D"+j= e+"&utmfl=3D"+fl;=0A= }=0A= function __utmSetTrans() {=0A= var e;=0A= if (_ubd.getElementById) e=3D_ubd.getElementById("utmtrans");=0A= else if (_ubd.utmform && _ubd.utmform.utmtrans) = e=3D_ubd.utmform.utmtrans;=0A= if (!e) return;=0A= var l=3De.value.split("UTM:");=0A= var i,i2,c;=0A= if (_userv=3D=3D0 || _userv=3D=3D2) i=3Dnew Array();=0A= if (_userv=3D=3D1 || _userv=3D=3D2) { i2=3Dnew Array(); c=3D_uGCS(); }=0A= =0A= for (var ii=3D0;ii=3D2;ii--) {=0A= try {=0A= var fl=3Deval("new = ActiveXObject('ShockwaveFlash.ShockwaveFlash."+ii+"');");=0A= if (fl) { f=3Dii + '.0'; break; }=0A= }=0A= catch(e) {}=0A= }=0A= }=0A= return f;=0A= }=0A= function __utmLinker(l,h) {=0A= if (!_ulink) return;=0A= var p,k,a=3D"-",b=3D"-",c=3D"-",x=3D"-",z=3D"-",v=3D"-";=0A= var dc=3D_ubd.cookie;=0A= if (!l || l=3D=3D"") return;=0A= var iq =3D l.indexOf("?"); =0A= var ih =3D l.indexOf("#"); =0A= if (dc) {=0A= a=3D_uES(_uGC(dc,"__utma=3D"+_udh,";"));=0A= b=3D_uES(_uGC(dc,"__utmb=3D"+_udh,";"));=0A= c=3D_uES(_uGC(dc,"__utmc=3D"+_udh,";"));=0A= x=3D_uES(_uGC(dc,"__utmx=3D"+_udh,";"));=0A= z=3D_uES(_uGC(dc,"__utmz=3D"+_udh,";"));=0A= v=3D_uES(_uGC(dc,"__utmv=3D"+_udh,";"));=0A= k=3D(_uHash(a+b+c+x+z+v)*1)+(_udh*1);=0A= = p=3D"__utma=3D"+a+"&__utmb=3D"+b+"&__utmc=3D"+c+"&__utmx=3D"+x+"&__utmz=3D= "+z+"&__utmv=3D"+v+"&__utmk=3D"+k;=0A= }=0A= if (p) {=0A= if (h && ih>-1) return;=0A= if (h) { _udl.href=3Dl+"#"+p; }=0A= else {=0A= if (iq=3D=3D-1 && ih=3D=3D-1) _udl.href=3Dl+"?"+p;=0A= else if (ih=3D=3D-1) _udl.href=3Dl+"&"+p;=0A= else if (iq=3D=3D-1) = _udl.href=3Dl.substring(0,ih-1)+"?"+p+l.substring(ih);=0A= else _udl.href=3Dl.substring(0,ih-1)+"&"+p+l.substring(ih);=0A= }=0A= } else { _udl.href=3Dl; }=0A= }=0A= function __utmLinkPost(f,h) {=0A= if (!_ulink) return;=0A= var p,k,a=3D"-",b=3D"-",c=3D"-",x=3D"-",z=3D"-",v=3D"-";=0A= var dc=3D_ubd.cookie;=0A= if (!f || !f.action) return;=0A= var iq =3D f.action.indexOf("?"); =0A= var ih =3D f.action.indexOf("#"); =0A= if (dc) {=0A= a=3D_uES(_uGC(dc,"__utma=3D"+_udh,";"));=0A= b=3D_uES(_uGC(dc,"__utmb=3D"+_udh,";"));=0A= c=3D_uES(_uGC(dc,"__utmc=3D"+_udh,";"));=0A= x=3D_uES(_uGC(dc,"__utmx=3D"+_udh,";"));=0A= z=3D_uES(_uGC(dc,"__utmz=3D"+_udh,";"));=0A= v=3D_uES(_uGC(dc,"__utmv=3D"+_udh,";"));=0A= k=3D(_uHash(a+b+c+x+z+v)*1)+(_udh*1);=0A= = p=3D"__utma=3D"+a+"&__utmb=3D"+b+"&__utmc=3D"+c+"&__utmx=3D"+x+"&__utmz=3D= "+z+"&__utmv=3D"+v+"&__utmk=3D"+k;=0A= }=0A= if (p) {=0A= if (h && ih>-1) return;=0A= if (h) { f.action+=3D"#"+p; }=0A= else {=0A= if (iq=3D=3D-1 && ih=3D=3D-1) f.action+=3D"?"+p;=0A= else if (ih=3D=3D-1) f.action+=3D"&"+p;=0A= else if (iq=3D=3D-1) = f.action=3Df.action.substring(0,ih-1)+"?"+p+f.action.substring(ih);=0A= else = f.action=3Df.action.substring(0,ih-1)+"&"+p+f.action.substring(ih);=0A= }=0A= }=0A= return;=0A= }=0A= function __utmSetVar(v) {=0A= if (!v || v=3D=3D"") return;=0A= if (!_udo || _udo =3D=3D "") {=0A= _udh=3D_uDomain();=0A= if (_udn && _udn!=3D"") { _udo=3D" domain=3D"+_udn+";"; }=0A= }=0A= if (!_uVG()) return;=0A= var r=3DMath.round(Math.random() * 2147483647);=0A= _ubd.cookie=3D"__utmv=3D"+_udh+"."+_uES(v)+"; path=3D"+_utcp+"; = expires=3D"+_uNx()+";"+_udo;=0A= var s=3D"&utmt=3Dvar&utmn=3D"+r;=0A= if ((_userv=3D=3D0 || _userv=3D=3D2) && _uSP()) {=0A= var i=3Dnew Image(1,1);=0A= i.src=3D_ugifpath+"?"+"utmwv=3D"+_uwv+s;=0A= i.onload=3Dfunction() { _uVoid(); }=0A= }=0A= if ((_userv=3D=3D1 || _userv=3D=3D2) && _uSP()) {=0A= var i2=3Dnew Image(1,1);=0A= = i2.src=3D_ugifpath2+"?"+"utmwv=3D"+_uwv+s+"&utmac=3D"+_uacct+"&utmcc=3D"+= _uGCS();=0A= i2.onload=3Dfunction() { _uVoid(); }=0A= }=0A= }=0A= function _uGCS() {=0A= var t,c=3D"",dc=3D_ubd.cookie;=0A= if ((t=3D_uGC(dc,"__utma=3D"+_udh,";"))!=3D"-") = c+=3D_uES("__utma=3D"+t+";+");=0A= if ((t=3D_uGC(dc,"__utmb=3D"+_udh,";"))!=3D"-") = c+=3D_uES("__utmb=3D"+t+";+");=0A= if ((t=3D_uGC(dc,"__utmc=3D"+_udh,";"))!=3D"-") = c+=3D_uES("__utmc=3D"+t+";+");=0A= if ((t=3D_uGC(dc,"__utmx=3D"+_udh,";"))!=3D"-") = c+=3D_uES("__utmx=3D"+t+";+");=0A= if ((t=3D_uGC(dc,"__utmz=3D"+_udh,";"))!=3D"-") = c+=3D_uES("__utmz=3D"+t+";+");=0A= if ((t=3D_uGC(dc,"__utmv=3D"+_udh,";"))!=3D"-") = c+=3D_uES("__utmv=3D"+t+";");=0A= if (c.charAt(c.length-1)=3D=3D"+") c=3Dc.substring(0,c.length-1);=0A= return c;=0A= }=0A= function _uGC(l,n,s) {=0A= if (!l || l=3D=3D"" || !n || n=3D=3D"" || !s || s=3D=3D"") return "-";=0A= var i,i2,i3,c=3D"-";=0A= i=3Dl.indexOf(n);=0A= i3=3Dn.indexOf("=3D")+1;=0A= if (i > -1) {=0A= i2=3Dl.indexOf(s,i); if (i2 < 0) { i2=3Dl.length; }=0A= c=3Dl.substring((i+i3),i2);=0A= }=0A= return c;=0A= }=0A= function _uDomain() {=0A= if (!_udn || _udn=3D=3D"" || _udn=3D=3D"none") { _udn=3D""; return 1; }=0A= if (_udn=3D=3D"auto") {=0A= var d=3D_ubd.domain;=0A= if (d.substring(0,4)=3D=3D"www.") {=0A= d=3Dd.substring(4,d.length);=0A= }=0A= _udn=3Dd;=0A= }=0A= _udn =3D _udn.toLowerCase(); =0A= if (_uhash=3D=3D"off") return 1;=0A= return _uHash(_udn);=0A= }=0A= function _uHash(d) {=0A= if (!d || d=3D=3D"") return 1;=0A= var h=3D0,g=3D0;=0A= for (var i=3Dd.length-1;i>=3D0;i--) {=0A= var c=3DparseInt(d.charCodeAt(i));=0A= h=3D((h << 6) & 0xfffffff) + c + (c << 14);=0A= if ((g=3Dh & 0xfe00000)!=3D0) h=3D(h ^ (g >> 21));=0A= }=0A= return h;=0A= }=0A= function _uFixA(c,s,t) {=0A= if (!c || c=3D=3D"" || !s || s=3D=3D"" || !t || t=3D=3D"") return "-";=0A= var a=3D_uGC(c,"__utma=3D"+_udh,s);=0A= var lt=3D0,i=3D0;=0A= if ((i=3Da.lastIndexOf(".")) > 9) {=0A= _uns=3Da.substring(i+1,a.length);=0A= _uns=3D(_uns*1)+1;=0A= a=3Da.substring(0,i);=0A= if ((i=3Da.lastIndexOf(".")) > 7) {=0A= lt=3Da.substring(i+1,a.length);=0A= a=3Da.substring(0,i);=0A= }=0A= if ((i=3Da.lastIndexOf(".")) > 5) {=0A= a=3Da.substring(0,i);=0A= }=0A= a+=3D"."+lt+"."+t+"."+_uns;=0A= }=0A= return a;=0A= }=0A= function _uTrim(s) {=0A= if (!s || s=3D=3D"") return "";=0A= while ((s.charAt(0)=3D=3D' ') || (s.charAt(0)=3D=3D'\n') || = (s.charAt(0,1)=3D=3D'\r')) s=3Ds.substring(1,s.length);=0A= while ((s.charAt(s.length-1)=3D=3D' ') || = (s.charAt(s.length-1)=3D=3D'\n') || (s.charAt(s.length-1)=3D=3D'\r')) = s=3Ds.substring(0,s.length-1);=0A= return s;=0A= }=0A= function _uEC(s) {=0A= var n=3D"";=0A= if (!s || s=3D=3D"") return "";=0A= for (var i=3D0;i0) r=3Da.substring(i+1,i2); else return = ""; =0A= if ((i=3Da.indexOf(".",i2+1))>0) t=3Da.substring(i2+1,i); else return = ""; =0A= if (f) {=0A= return r;=0A= } else {=0A= var c=3Dnew = Array('A','B','C','D','E','F','G','H','J','K','L','M','N','P','R','S','T'= ,'U','V','W','X','Y','Z','1','2','3','4','5','6','7','8','9');=0A= return = c[r>>28&m]+c[r>>23&m]+c[r>>18&m]+c[r>>13&m]+"-"+c[r>>8&m]+c[r>>3&m]+c[((r= &7)<<2)+(t>>30&3)]+c[t>>25&m]+c[t>>20&m]+"-"+c[t>>15&m]+c[t>>10&m]+c[t>>5= &m]+c[t&m];=0A= }=0A= }=0A= function _uIN(n) {=0A= if (!n) return false;=0A= for (var i=3D0;i"9") && (c!=3D".")) return false;=0A= }=0A= return true;=0A= }=0A= function _uES(s,u) {=0A= if (typeof(encodeURIComponent) =3D=3D 'function') {=0A= if (u) return encodeURI(s);=0A= else return encodeURIComponent(s);=0A= } else {=0A= return escape(s);=0A= }=0A= }=0A= function _uUES(s) {=0A= if (typeof(decodeURIComponent) =3D=3D 'function') {=0A= return decodeURIComponent(s);=0A= } else {=0A= return unescape(s);=0A= }=0A= }=0A= function _uVG() {=0A= if((_udn.indexOf("www.google.") =3D=3D 0 || _udn.indexOf(".google.") = =3D=3D 0 || _udn.indexOf("google.") =3D=3D 0) && _utcp=3D=3D'/' && = _udn.indexOf("google.org")=3D=3D-1) {=0A= return false;=0A= }=0A= return true;=0A= }=0A= function _uSP() {=0A= var s=3D100;=0A= if (_usample) s=3D_usample;=0A= if(s>=3D100 || s<=3D0) return true;=0A= return ((__utmVisitorCode(1)%10000)<(s*100));=0A= }=0A= function urchinPathCopy(p){=0A= var d=3Ddocument,nx,tx,sx,i,c,cs,t,h,o;=0A= cs=3Dnew Array("a","b","c","v","x","z");=0A= h=3D_uDomain(); if (_udn && _udn!=3D"") o=3D" domain=3D"+_udn+";";=0A= nx=3D_uNx()+";";=0A= tx=3Dnew Date(); tx.setTime(tx.getTime()+(_utimeout*1000));=0A= tx=3Dtx.toGMTString()+";";=0A= sx=3Dnew Date(); sx.setTime(sx.getTime()+(_ucto*1000));=0A= sx=3Dsx.toGMTString()+";";=0A= for (i=3D0;i<6;i++){=0A= t=3D" expires=3D";=0A= if (i=3D=3D1) t+=3Dtx; else if (i=3D=3D2) t=3D""; else if (i=3D=3D5) = t+=3Dsx; else t+=3Dnx;=0A= c=3D_uGC(d.cookie,"__utm"+cs[i]+"=3D"+h,";");=0A= if (c!=3D"-") d.cookie=3D"__utm"+cs[i]+"=3D"+c+"; path=3D"+p+";"+t+o;=0A= }=0A= }=0A= function _uCO() {=0A= if (!_utk || _utk=3D=3D"" || _utk.length<10) return;=0A= var d=3D'www.google.com';=0A= if (_utk.charAt(0)=3D=3D'!') d=3D'analytics.corp.google.com';=0A= _ubd.cookie=3D"GASO=3D"+_utk+"; path=3D"+_utcp+";"+_udo;=0A= var sc=3Ddocument.createElement('script');=0A= sc.type=3D'text/javascript';=0A= sc.id=3D"_gasojs";=0A= = sc.src=3D'https://'+d+'/analytics/reporting/overlay_js?gaso=3D'+_utk+'&'+= Math.random();=0A= document.getElementsByTagName('head')[0].appendChild(sc); =0A= }=0A= function _uGT() {=0A= var h=3Dlocation.hash, a;=0A= if (h && h!=3D"" && h.indexOf("#gaso=3D")=3D=3D0) {=0A= a=3D_uGC(h,"gaso=3D","&");=0A= } else {=0A= a=3D_uGC(_ubd.cookie,"GASO=3D",";");=0A= }=0A= return a;=0A= }=0A= var _utk=3D_uGT();=0A= if (_utk && _utk!=3D"" && _utk.length>10) {=0A= if (window.addEventListener) {=0A= window.addEventListener('load', _uCO, false); =0A= } else if (window.attachEvent) { =0A= window.attachEvent('onload', _uCO);=0A= }=0A= }=0A= =0A= function _uNx() {=0A= return (new Date((new Date()).getTime()+63072000000)).toGMTString();=0A= }=0A= ------=_NextPart_000_0038_01C8784D.93C008F0--