// JavaScript Document
var co = new Object;
function recalc_onclick(ctl) {
  if (true) {
co.p1D3=eeparseFloat(document.formc.p1D3.value);co.p1J3=eeparseFloat(document.formc.p1J3.value);co.p1D4=eeparseFloat(document.formc.p1D4.value);co.p1J4=eeparseFloat(document.formc.p1J4.value);co.p1D5=eeparseFloat(document.formc.p1D5.value);co.p1J5=eeparseFloat(document.formc.p1J5.value);co.p1D6=eeparseFloat(document.formc.p1D6.value);co.p1J6=eeparseFloat(document.formc.p1J6.value);co.p1D7=eeparseFloat(document.formc.p1D7.value);co.p1J7=eeparseFloat(document.formc.p1J7.value);co.p1D8=eeparseFloat(document.formc.p1D8.value);co.p1J8=eeparseFloat(document.formc.p1J8.value);co.p1D9=eeparseFloat(document.formc.p1D9.value);co.p1J9=eeparseFloat(document.formc.p1J9.value);co.p1D10=eeparseFloat(document.formc.p1D10.value);co.p1J10=eeparseFloat(document.formc.p1J10.value);co.p1D11=eeparseFloat(document.formc.p1D11.value);co.p1J11=eeparseFloat(document.formc.p1J11.value);co.p1D12=eeparseFloat(document.formc.p1D12.value);co.p1J12=eeparseFloat(document.formc.p1J12.value);co.p1D13=eeparseFloat(document.formc.p1D13.value);co.p1J13=eeparseFloat(document.formc.p1J13.value);co.p1D14=eeparseFloat(document.formc.p1D14.value);co.p1J14=eeparseFloat(document.formc.p1J14.value);co.p1D15=eeparseFloat(document.formc.p1D15.value);co.p1J15=eeparseFloat(document.formc.p1J15.value);co.p1D16=eeparseFloat(document.formc.p1D16.value);co.p1J16=eeparseFloat(document.formc.p1J16.value);co.p1D17=eeparseFloat(document.formc.p1D17.value);co.p1J17=eeparseFloat(document.formc.p1J17.value);co.p1D18=eeparseFloat(document.formc.p1D18.value);co.p1J18=eeparseFloat(document.formc.p1J18.value);co.p1D19=eeparseFloat(document.formc.p1D19.value);co.p1J19=eeparseFloat(document.formc.p1J19.value);co.p1D20=eeparseFloat(document.formc.p1D20.value);co.p1J20=eeparseFloat(document.formc.p1J20.value);co.p1D21=eeparseFloat(document.formc.p1D21.value);co.p1J21=eeparseFloat(document.formc.p1J21.value);co.p1D22=eeparseFloat(document.formc.p1D22.value);co.p1J22=eeparseFloat(document.formc.p1J22.value);co.p1D23=eeparseFloat(document.formc.p1D23.value);co.p1J23=eeparseFloat(document.formc.p1J23.value);co.p1D24=eeparseFloat(document.formc.p1D24.value);co.p1D25=eeparseFloat(document.formc.p1D25.value);co.p1J25=eeparseFloat(document.formc.p1J25.value);co.p1D26=eeparseFloat(document.formc.p1D26.value);co.p1J26=eeparseFloat(document.formc.p1J26.value);co.p1D27=eeparseFloat(document.formc.p1D27.value);co.p1J27=eeparseFloat(document.formc.p1J27.value);co.p1D28=eeparseFloat(document.formc.p1D28.value);co.p1J28=eeparseFloat(document.formc.p1J28.value);co.p1D29=eeparseFloat(document.formc.p1D29.value);co.p1J29=eeparseFloat(document.formc.p1J29.value);co.p1D30=eeparseFloat(document.formc.p1D30.value);co.p1J30=eeparseFloat(document.formc.p1J30.value);co.p1D31=eeparseFloat(document.formc.p1D31.value);co.p1J31=eeparseFloat(document.formc.p1J31.value);co.p1D32=eeparseFloat(document.formc.p1D32.value);co.p1J32=eeparseFloat(document.formc.p1J32.value);co.p1D33=eeparseFloat(document.formc.p1D33.value);co.p1D34=eeparseFloat(document.formc.p1D34.value);co.p1J34=eeparseFloat(document.formc.p1J34.value);co.p1D35=eeparseFloat(document.formc.p1D35.value);co.p1J35=eeparseFloat(document.formc.p1J35.value);co.p1J36=eeparseFloat(document.formc.p1J36.value);co.p1D37=eeparseFloat(document.formc.p1D37.value);co.p1J37=eeparseFloat(document.formc.p1J37.value);co.p1D38=eeparseFloat(document.formc.p1D38.value);co.p1J38=eeparseFloat(document.formc.p1J38.value);co.p1D39=eeparseFloat(document.formc.p1D39.value);co.p1J39=eeparseFloat(document.formc.p1J39.value);co.p1D40=eeparseFloat(document.formc.p1D40.value);co.p1J40=eeparseFloat(document.formc.p1J40.value);co.p1D41=eeparseFloat(document.formc.p1D41.value);co.p1J41=eeparseFloat(document.formc.p1J41.value);co.p1D42=eeparseFloat(document.formc.p1D42.value);co.p1J42=eeparseFloat(document.formc.p1J42.value);co.p1J43=eeparseFloat(document.formc.p1J43.value);co.p1D44=eeparseFloat(document.formc.p1D44.value);co.p1J44=eeparseFloat(document.formc.p1J44.value);co.p1D45=eeparseFloat(document.formc.p1D45.value);co.p1J45=eeparseFloat(document.formc.p1J45.value);co.p1D46=eeparseFloat(document.formc.p1D46.value);co.p1J46=eeparseFloat(document.formc.p1J46.value);co.p1D47=eeparseFloat(document.formc.p1D47.value);co.p1J47=eeparseFloat(document.formc.p1J47.value);co.p1D48=eeparseFloat(document.formc.p1D48.value);co.p1J48=eeparseFloat(document.formc.p1J48.value);co.p1D49=eeparseFloat(document.formc.p1D49.value);co.p1J49=eeparseFloat(document.formc.p1J49.value);co.p1D50=eeparseFloat(document.formc.p1D50.value);co.p1J50=eeparseFloat(document.formc.p1J50.value);co.p1D51=eeparseFloat(document.formc.p1D51.value);co.p1J51=eeparseFloat(document.formc.p1J51.value);co.p1D52=eeparseFloat(document.formc.p1D52.value);co.p1J52=eeparseFloat(document.formc.p1J52.value);co.p1D53=eeparseFloat(document.formc.p1D53.value);co.p1D54=eeparseFloat(document.formc.p1D54.value);co.p1D55=eeparseFloat(document.formc.p1D55.value);co.p1D56=eeparseFloat(document.formc.p1D56.value);co.p1J56=eeparseFloat(document.formc.p1J56.value);co.p1D57=eeparseFloat(document.formc.p1D57.value);co.p1J57=eeparseFloat(document.formc.p1J57.value);co.p1D58=eeparseFloat(document.formc.p1D58.value);co.p1J58=eeparseFloat(document.formc.p1J58.value);co.p1J59=eeparseFloat(document.formc.p1J59.value);co.p1D60=eeparseFloat(document.formc.p1D60.value);co.p1J60=eeparseFloat(document.formc.p1J60.value);co.p1D61=eeparseFloat(document.formc.p1D61.value);co.p1J61=eeparseFloat(document.formc.p1J61.value);co.p1D62=eeparseFloat(document.formc.p1D62.value);co.p1J62=eeparseFloat(document.formc.p1J62.value);co.p1D63=eeparseFloat(document.formc.p1D63.value);co.p1J63=eeparseFloat(document.formc.p1J63.value);co.p1D64=eeparseFloat(document.formc.p1D64.value);co.p1J64=eeparseFloat(document.formc.p1J64.value);co.p1D65=eeparseFloat(document.formc.p1D65.value);co.p1J65=eeparseFloat(document.formc.p1J65.value);co.p1D66=eeparseFloat(document.formc.p1D66.value);co.p1J66=eeparseFloat(document.formc.p1J66.value);co.p1D67=eeparseFloat(document.formc.p1D67.value);co.p1D68=eeparseFloat(document.formc.p1D68.value);co.p1D70=eeparseFloat(document.formc.p1D70.value);co.p1D71=eeparseFloat(document.formc.p1D71.value);co.p1D72=eeparseFloat(document.formc.p1D72.value);co.p1D73=eeparseFloat(document.formc.p1D73.value);co.p1D74=eeparseFloat(document.formc.p1D74.value);co.p1D75=eeparseFloat(document.formc.p1D75.value);co.p1D76=eeparseFloat(document.formc.p1D76.value);co.p1D77=eeparseFloat(document.formc.p1D77.value);co.p1D78=eeparseFloat(document.formc.p1D78.value);co.p1D80=eeparseFloat(document.formc.p1D80.value);co.p1D81=eeparseFloat(document.formc.p1D81.value);co.p1D82=eeparseFloat(document.formc.p1D82.value);co.p1D83=eeparseFloat(document.formc.p1D83.value);co.p1D84=eeparseFloat(document.formc.p1D84.value);co.p1D85=eeparseFloat(document.formc.p1D85.value);co.p1D86=eeparseFloat(document.formc.p1D86.value);co.p1D87=eeparseFloat(document.formc.p1D87.value);co.p1D88=eeparseFloat(document.formc.p1D88.value);co.p1D89=eeparseFloat(document.formc.p1D89.value);co.p1D90=eeparseFloat(document.formc.p1D90.value);co.p1D91=eeparseFloat(document.formc.p1D91.value);co.p1D92=eeparseFloat(document.formc.p1D92.value);co.p1D93=eeparseFloat(document.formc.p1D93.value);co.p1D94=eeparseFloat(document.formc.p1D94.value);co.p1D95=eeparseFloat(document.formc.p1D95.value);calc(co);document.formc.p1A3.value=co.p1A3;document.formc.p1E3.value=eedisplayFloat(co.p1E3);document.formc.p1G3.value=co.p1G3;document.formc.p1K3.value=eedisplayFloat(co.p1K3);document.formc.p1A4.value=co.p1A4;document.formc.p1E4.value=eedisplayFloat(co.p1E4);document.formc.p1G4.value=co.p1G4;document.formc.p1K4.value=eedisplayFloat(co.p1K4);document.formc.p1A5.value=co.p1A5;document.formc.p1E5.value=eedisplayFloat(co.p1E5);document.formc.p1G5.value=co.p1G5;document.formc.p1K5.value=eedisplayFloat(co.p1K5);document.formc.p1A6.value=co.p1A6;document.formc.p1E6.value=eedisplayFloat(co.p1E6);document.formc.p1G6.value=co.p1G6;document.formc.p1K6.value=eedisplayFloat(co.p1K6);document.formc.p1A7.value=co.p1A7;document.formc.p1E7.value=eedisplayFloat(co.p1E7);document.formc.p1G7.value=co.p1G7;document.formc.p1K7.value=eedisplayFloat(co.p1K7);document.formc.p1A8.value=co.p1A8;document.formc.p1E8.value=eedisplayFloat(co.p1E8);document.formc.p1G8.value=co.p1G8;document.formc.p1K8.value=eedisplayFloat(co.p1K8);document.formc.p1A9.value=co.p1A9;document.formc.p1E9.value=eedisplayFloat(co.p1E9);document.formc.p1G9.value=co.p1G9;document.formc.p1K9.value=eedisplayFloat(co.p1K9);document.formc.p1A10.value=co.p1A10;document.formc.p1E10.value=eedisplayFloat(co.p1E10);document.formc.p1G10.value=co.p1G10;document.formc.p1K10.value=eedisplayFloat(co.p1K10);document.formc.p1A11.value=co.p1A11;document.formc.p1E11.value=eedisplayFloat(co.p1E11);document.formc.p1G11.value=co.p1G11;document.formc.p1K11.value=eedisplayFloat(co.p1K11);document.formc.p1A12.value=co.p1A12;document.formc.p1E12.value=eedisplayFloat(co.p1E12);document.formc.p1G12.value=co.p1G12;document.formc.p1K12.value=eedisplayFloat(co.p1K12);document.formc.p1A13.value=co.p1A13;document.formc.p1E13.value=eedisplayFloat(co.p1E13);document.formc.p1G13.value=co.p1G13;document.formc.p1K13.value=eedisplayFloat(co.p1K13);document.formc.p1A14.value=co.p1A14;document.formc.p1E14.value=eedisplayFloat(co.p1E14);document.formc.p1G14.value=co.p1G14;document.formc.p1K14.value=eedisplayFloat(co.p1K14);document.formc.p1A15.value=co.p1A15;document.formc.p1E15.value=eedisplayFloat(co.p1E15);document.formc.p1G15.value=co.p1G15;document.formc.p1K15.value=eedisplayFloat(co.p1K15);document.formc.p1A16.value=co.p1A16;document.formc.p1E16.value=eedisplayFloat(co.p1E16);document.formc.p1G16.value=co.p1G16;document.formc.p1K16.value=eedisplayFloat(co.p1K16);document.formc.p1A17.value=co.p1A17;document.formc.p1E17.value=eedisplayFloat(co.p1E17);document.formc.p1G17.value=co.p1G17;document.formc.p1K17.value=eedisplayFloat(co.p1K17);document.formc.p1A18.value=co.p1A18;document.formc.p1E18.value=eedisplayFloat(co.p1E18);document.formc.p1G18.value=co.p1G18;document.formc.p1K18.value=eedisplayFloat(co.p1K18);document.formc.p1A19.value=co.p1A19;document.formc.p1E19.value=eedisplayFloat(co.p1E19);document.formc.p1G19.value=co.p1G19;document.formc.p1K19.value=eedisplayFloat(co.p1K19);document.formc.p1A20.value=co.p1A20;document.formc.p1E20.value=eedisplayFloat(co.p1E20);document.formc.p1G20.value=co.p1G20;document.formc.p1K20.value=eedisplayFloat(co.p1K20);document.formc.p1A21.value=co.p1A21;document.formc.p1E21.value=eedisplayFloat(co.p1E21);document.formc.p1G21.value=co.p1G21;document.formc.p1K21.value=eedisplayFloat(co.p1K21);document.formc.p1A22.value=co.p1A22;document.formc.p1E22.value=eedisplayFloat(co.p1E22);document.formc.p1G22.value=co.p1G22;document.formc.p1K22.value=eedisplayFloat(co.p1K22);document.formc.p1A23.value=co.p1A23;document.formc.p1E23.value=eedisplayFloat(co.p1E23);document.formc.p1G23.value=co.p1G23;document.formc.p1K23.value=eedisplayFloat(co.p1K23);document.formc.p1A24.value=co.p1A24;document.formc.p1E24.value=eedisplayFloat(co.p1E24);document.formc.p1A25.value=co.p1A25;document.formc.p1E25.value=eedisplayFloat(co.p1E25);document.formc.p1G25.value=co.p1G25;document.formc.p1K25.value=eedisplayFloat(co.p1K25);document.formc.p1A26.value=co.p1A26;document.formc.p1E26.value=eedisplayFloat(co.p1E26);document.formc.p1G26.value=co.p1G26;document.formc.p1K26.value=eedisplayFloat(co.p1K26);document.formc.p1A27.value=co.p1A27;document.formc.p1E27.value=eedisplayFloat(co.p1E27);document.formc.p1G27.value=co.p1G27;document.formc.p1K27.value=eedisplayFloat(co.p1K27);document.formc.p1A28.value=co.p1A28;document.formc.p1E28.value=eedisplayFloat(co.p1E28);document.formc.p1G28.value=co.p1G28;document.formc.p1K28.value=eedisplayFloat(co.p1K28);document.formc.p1A29.value=co.p1A29;document.formc.p1E29.value=eedisplayFloat(co.p1E29);document.formc.p1G29.value=co.p1G29;document.formc.p1K29.value=eedisplayFloat(co.p1K29);document.formc.p1A30.value=co.p1A30;document.formc.p1E30.value=eedisplayFloat(co.p1E30);document.formc.p1G30.value=co.p1G30;document.formc.p1K30.value=eedisplayFloat(co.p1K30);document.formc.p1A31.value=co.p1A31;document.formc.p1E31.value=eedisplayFloat(co.p1E31);document.formc.p1G31.value=co.p1G31;document.formc.p1K31.value=eedisplayFloat(co.p1K31);document.formc.p1A32.value=co.p1A32;document.formc.p1E32.value=eedisplayFloat(co.p1E32);document.formc.p1G32.value=co.p1G32;document.formc.p1K32.value=eedisplayFloat(co.p1K32);document.formc.p1A33.value=co.p1A33;document.formc.p1E33.value=eedisplayFloat(co.p1E33);document.formc.p1A34.value=co.p1A34;document.formc.p1E34.value=eedisplayFloat(co.p1E34);document.formc.p1G34.value=co.p1G34;document.formc.p1K34.value=eedisplayFloat(co.p1K34);document.formc.p1A35.value=co.p1A35;document.formc.p1E35.value=eedisplayFloat(co.p1E35);document.formc.p1G35.value=co.p1G35;document.formc.p1K35.value=eedisplayFloat(co.p1K35);document.formc.p1G36.value=co.p1G36;document.formc.p1K36.value=eedisplayFloat(co.p1K36);document.formc.p1A37.value=co.p1A37;document.formc.p1E37.value=eedisplayFloat(co.p1E37);document.formc.p1G37.value=co.p1G37;document.formc.p1K37.value=eedisplayFloat(co.p1K37);document.formc.p1A38.value=co.p1A38;document.formc.p1E38.value=eedisplayFloat(co.p1E38);document.formc.p1G38.value=co.p1G38;document.formc.p1K38.value=eedisplayFloat(co.p1K38);document.formc.p1A39.value=co.p1A39;document.formc.p1E39.value=eedisplayFloat(co.p1E39);document.formc.p1G39.value=co.p1G39;document.formc.p1K39.value=eedisplayFloat(co.p1K39);document.formc.p1A40.value=co.p1A40;document.formc.p1E40.value=eedisplayFloat(co.p1E40);document.formc.p1G40.value=co.p1G40;document.formc.p1K40.value=eedisplayFloat(co.p1K40);document.formc.p1A41.value=co.p1A41;document.formc.p1E41.value=eedisplayFloat(co.p1E41);document.formc.p1G41.value=co.p1G41;document.formc.p1K41.value=eedisplayFloat(co.p1K41);document.formc.p1A42.value=co.p1A42;document.formc.p1E42.value=eedisplayFloat(co.p1E42);document.formc.p1G42.value=co.p1G42;document.formc.p1K42.value=eedisplayFloat(co.p1K42);document.formc.p1G43.value=co.p1G43;document.formc.p1K43.value=eedisplayFloat(co.p1K43);document.formc.p1A44.value=co.p1A44;document.formc.p1E44.value=eedisplayFloat(co.p1E44);document.formc.p1G44.value=co.p1G44;document.formc.p1K44.value=eedisplayFloat(co.p1K44);document.formc.p1A45.value=co.p1A45;document.formc.p1E45.value=eedisplayFloat(co.p1E45);document.formc.p1G45.value=co.p1G45;document.formc.p1K45.value=eedisplayFloat(co.p1K45);document.formc.p1A46.value=co.p1A46;document.formc.p1E46.value=eedisplayFloat(co.p1E46);document.formc.p1G46.value=co.p1G46;document.formc.p1K46.value=eedisplayFloat(co.p1K46);document.formc.p1A47.value=co.p1A47;document.formc.p1E47.value=eedisplayFloat(co.p1E47);document.formc.p1G47.value=co.p1G47;document.formc.p1K47.value=eedisplayFloat(co.p1K47);document.formc.p1A48.value=co.p1A48;document.formc.p1E48.value=eedisplayFloat(co.p1E48);document.formc.p1G48.value=co.p1G48;document.formc.p1K48.value=eedisplayFloat(co.p1K48);document.formc.p1A49.value=co.p1A49;document.formc.p1E49.value=eedisplayFloat(co.p1E49);document.formc.p1G49.value=co.p1G49;document.formc.p1K49.value=eedisplayFloat(co.p1K49);document.formc.p1A50.value=co.p1A50;document.formc.p1E50.value=eedisplayFloat(co.p1E50);document.formc.p1G50.value=co.p1G50;document.formc.p1K50.value=eedisplayFloat(co.p1K50);document.formc.p1A51.value=co.p1A51;document.formc.p1E51.value=eedisplayFloat(co.p1E51);document.formc.p1G51.value=co.p1G51;document.formc.p1K51.value=eedisplayFloat(co.p1K51);document.formc.p1A52.value=co.p1A52;document.formc.p1E52.value=eedisplayFloat(co.p1E52);document.formc.p1G52.value=co.p1G52;document.formc.p1K52.value=eedisplayFloat(co.p1K52);document.formc.p1A53.value=co.p1A53;document.formc.p1E53.value=eedisplayFloat(co.p1E53);document.formc.p1A54.value=co.p1A54;document.formc.p1E54.value=eedisplayFloat(co.p1E54);document.formc.p1A55.value=co.p1A55;document.formc.p1E55.value=eedisplayFloat(co.p1E55);document.formc.p1A56.value=co.p1A56;document.formc.p1E56.value=eedisplayFloat(co.p1E56);document.formc.p1G56.value=co.p1G56;document.formc.p1K56.value=eedisplayFloat(co.p1K56);document.formc.p1A57.value=co.p1A57;document.formc.p1E57.value=eedisplayFloat(co.p1E57);document.formc.p1G57.value=co.p1G57;document.formc.p1K57.value=eedisplayFloat(co.p1K57);document.formc.p1A58.value=co.p1A58;document.formc.p1E58.value=eedisplayFloat(co.p1E58);document.formc.p1G58.value=co.p1G58;document.formc.p1K58.value=eedisplayFloat(co.p1K58);document.formc.p1G59.value=co.p1G59;document.formc.p1K59.value=eedisplayFloat(co.p1K59);document.formc.p1A60.value=co.p1A60;document.formc.p1E60.value=eedisplayFloat(co.p1E60);document.formc.p1G60.value=co.p1G60;document.formc.p1K60.value=eedisplayFloat(co.p1K60);document.formc.p1A61.value=co.p1A61;document.formc.p1E61.value=eedisplayFloat(co.p1E61);document.formc.p1G61.value=co.p1G61;document.formc.p1K61.value=eedisplayFloat(co.p1K61);document.formc.p1A62.value=co.p1A62;document.formc.p1E62.value=eedisplayFloat(co.p1E62);document.formc.p1G62.value=co.p1G62;document.formc.p1K62.value=eedisplayFloat(co.p1K62);document.formc.p1A63.value=co.p1A63;document.formc.p1E63.value=eedisplayFloat(co.p1E63);document.formc.p1G63.value=co.p1G63;document.formc.p1K63.value=eedisplayFloat(co.p1K63);document.formc.p1A64.value=co.p1A64;document.formc.p1E64.value=eedisplayFloat(co.p1E64);document.formc.p1G64.value=co.p1G64;document.formc.p1K64.value=eedisplayFloat(co.p1K64);document.formc.p1A65.value=co.p1A65;document.formc.p1E65.value=eedisplayFloat(co.p1E65);document.formc.p1G65.value=co.p1G65;document.formc.p1K65.value=eedisplayFloat(co.p1K65);document.formc.p1A66.value=co.p1A66;document.formc.p1E66.value=eedisplayFloat(co.p1E66);document.formc.p1G66.value=co.p1G66;document.formc.p1K66.value=eedisplayFloat(co.p1K66);document.formc.p1A67.value=co.p1A67;document.formc.p1E67.value=eedisplayFloat(co.p1E67);document.formc.p1A68.value=co.p1A68;document.formc.p1E68.value=eedisplayFloat(co.p1E68);document.formc.p1A70.value=co.p1A70;document.formc.p1E70.value=eedisplayFloat(co.p1E70);document.formc.p1J70.value=eedisplayFloat(co.p1J70);document.formc.p1A71.value=co.p1A71;document.formc.p1E71.value=eedisplayFloat(co.p1E71);document.formc.p1A72.value=co.p1A72;document.formc.p1E72.value=eedisplayFloat(co.p1E72);document.formc.p1J72.value=eedisplayFloat(co.p1J72);document.formc.p1A73.value=co.p1A73;document.formc.p1E73.value=eedisplayFloat(co.p1E73);document.formc.p1A74.value=co.p1A74;document.formc.p1E74.value=eedisplayFloat(co.p1E74);document.formc.p1J74.value=eedisplayFloat(co.p1J74);document.formc.p1A75.value=co.p1A75;document.formc.p1E75.value=eedisplayFloat(co.p1E75);document.formc.p1A76.value=co.p1A76;document.formc.p1E76.value=eedisplayFloat(co.p1E76);document.formc.p1I76.value=eedisplayFloat(co.p1I76);document.formc.p1A77.value=co.p1A77;document.formc.p1E77.value=eedisplayFloat(co.p1E77);document.formc.p1A78.value=co.p1A78;document.formc.p1E78.value=eedisplayFloat(co.p1E78);document.formc.p1A80.value=co.p1A80;document.formc.p1E80.value=eedisplayFloat(co.p1E80);document.formc.p1A81.value=co.p1A81;document.formc.p1E81.value=eedisplayFloat(co.p1E81);document.formc.p1A82.value=co.p1A82;document.formc.p1E82.value=eedisplayFloat(co.p1E82);document.formc.p1A83.value=co.p1A83;document.formc.p1E83.value=eedisplayFloat(co.p1E83);document.formc.p1A84.value=co.p1A84;document.formc.p1E84.value=eedisplayFloat(co.p1E84);document.formc.p1A85.value=co.p1A85;document.formc.p1E85.value=eedisplayFloat(co.p1E85);document.formc.p1A86.value=co.p1A86;document.formc.p1E86.value=eedisplayFloat(co.p1E86);document.formc.p1A87.value=co.p1A87;document.formc.p1E87.value=eedisplayFloat(co.p1E87);document.formc.p1A88.value=co.p1A88;document.formc.p1E88.value=eedisplayFloat(co.p1E88);document.formc.p1A89.value=co.p1A89;document.formc.p1E89.value=eedisplayFloat(co.p1E89);document.formc.p1A90.value=co.p1A90;document.formc.p1E90.value=eedisplayFloat(co.p1E90);document.formc.p1A91.value=co.p1A91;document.formc.p1E91.value=eedisplayFloat(co.p1E91);document.formc.p1A92.value=co.p1A92;document.formc.p1E92.value=eedisplayFloat(co.p1E92);document.formc.p1A93.value=co.p1A93;document.formc.p1E93.value=eedisplayFloat(co.p1E93);document.formc.p1A94.value=co.p1A94;document.formc.p1E94.value=eedisplayFloat(co.p1E94);document.formc.p1A95.value=co.p1A95;document.formc.p1E95.value=eedisplayFloat(co.p1E95);
};};

var eeisus=1;var eetrue="TRUE";var eefalse="FALSE";var eedec=".";var eeth=",";var eedecreg=new RegExp("[.]","g");var eethreg=new RegExp(",","g");

var arr1xE3E95=new Array(93);for(var ii=0;ii<93;ii++){arr1xE3E95[ii]=new Array(1);for(var jj=0;jj<1;jj++){arr1xE3E95[ii][jj]=0}};var arr1xK3K66=new Array(64);for(var ii=0;ii<64;ii++){arr1xK3K66[ii]=new Array(1);for(var jj=0;jj<1;jj++){arr1xK3K66[ii][jj]=0}};var arr1xJ70J72=new Array(3);for(var ii=0;ii<3;ii++){arr1xJ70J72[ii]=new Array(1);for(var jj=0;jj<1;jj++){arr1xJ70J72[ii][jj]=0}};var eecm1=new Array();var eecm4=new Array(new Array(arr1xE3E95,34,0,39,0),new Array(arr1xE3E95,67,0,75,0),new Array(arr1xE3E95,57,0,65,0),new Array(arr1xE3E95,41,0,55,0),new Array(arr1xE3E95,77,0,92,0),new Array(arr1xE3E95,0,0,32,0));var eecm2=new Array(new Array(arr1xJ70J72,2,0,2,0),new Array(arr1xJ70J72,0,0,0,0));var eecm3=new Array(new Array(arr1xK3K66,22,0,29,0),new Array(arr1xK3K66,53,0,63,0),new Array(arr1xK3K66,31,0,49,0),new Array(arr1xK3K66,0,0,20,0));function calc(data){var c1D3=data.p1D3;var c1J3=data.p1J3;var c1D4=data.p1D4;var c1J4=data.p1J4;var c1D5=data.p1D5;var c1J5=data.p1J5;var c1D6=data.p1D6;var c1J6=data.p1J6;var c1D7=data.p1D7;var c1J7=data.p1J7;var c1D8=data.p1D8;var c1J8=data.p1J8;var c1D9=data.p1D9;var c1J9=data.p1J9;var c1D10=data.p1D10;var c1J10=data.p1J10;var c1D11=data.p1D11;var c1J11=data.p1J11;var c1D12=data.p1D12;var c1J12=data.p1J12;var c1D13=data.p1D13;var c1J13=data.p1J13;var c1D14=data.p1D14;var c1J14=data.p1J14;var c1D15=data.p1D15;var c1J15=data.p1J15;var c1D16=data.p1D16;var c1J16=data.p1J16;var c1D17=data.p1D17;var c1J17=data.p1J17;var c1D18=data.p1D18;var c1J18=data.p1J18;var c1D19=data.p1D19;var c1J19=data.p1J19;var c1D20=data.p1D20;var c1J20=data.p1J20;var c1D21=data.p1D21;var c1J21=data.p1J21;var c1D22=data.p1D22;var c1J22=data.p1J22;var c1D23=data.p1D23;var c1J23=data.p1J23;var c1D24=data.p1D24;var c1D25=data.p1D25;var c1J25=data.p1J25;var c1D26=data.p1D26;var c1J26=data.p1J26;var c1D27=data.p1D27;var c1J27=data.p1J27;var c1D28=data.p1D28;var c1J28=data.p1J28;var c1D29=data.p1D29;var c1J29=data.p1J29;var c1D30=data.p1D30;var c1J30=data.p1J30;var c1D31=data.p1D31;var c1J31=data.p1J31;var c1D32=data.p1D32;var c1J32=data.p1J32;var c1D33=data.p1D33;var c1D34=data.p1D34;var c1J34=data.p1J34;var c1D35=data.p1D35;var c1J35=data.p1J35;var c1J36=data.p1J36;var c1D37=data.p1D37;var c1J37=data.p1J37;var c1D38=data.p1D38;var c1J38=data.p1J38;var c1D39=data.p1D39;var c1J39=data.p1J39;var c1D40=data.p1D40;var c1J40=data.p1J40;var c1D41=data.p1D41;var c1J41=data.p1J41;var c1D42=data.p1D42;var c1J42=data.p1J42;var c1J43=data.p1J43;var c1D44=data.p1D44;var c1J44=data.p1J44;var c1D45=data.p1D45;var c1J45=data.p1J45;var c1D46=data.p1D46;var c1J46=data.p1J46;var c1D47=data.p1D47;var c1J47=data.p1J47;var c1D48=data.p1D48;var c1J48=data.p1J48;var c1D49=data.p1D49;var c1J49=data.p1J49;var c1D50=data.p1D50;var c1J50=data.p1J50;var c1D51=data.p1D51;var c1J51=data.p1J51;var c1D52=data.p1D52;var c1J52=data.p1J52;var c1D53=data.p1D53;var c1D54=data.p1D54;var c1D55=data.p1D55;var c1D56=data.p1D56;var c1J56=data.p1J56;var c1D57=data.p1D57;var c1J57=data.p1J57;var c1D58=data.p1D58;var c1J58=data.p1J58;var c1J59=data.p1J59;var c1D60=data.p1D60;var c1J60=data.p1J60;var c1D61=data.p1D61;var c1J61=data.p1J61;var c1D62=data.p1D62;var c1J62=data.p1J62;var c1D63=data.p1D63;var c1J63=data.p1J63;var c1D64=data.p1D64;var c1J64=data.p1J64;var c1D65=data.p1D65;var c1J65=data.p1J65;var c1D66=data.p1D66;var c1J66=data.p1J66;var c1D67=data.p1D67;var c1D68=data.p1D68;var c1D70=data.p1D70;var c1D71=data.p1D71;var c1D72=data.p1D72;var c1D73=data.p1D73;var c1D74=data.p1D74;var c1D75=data.p1D75;var c1D76=data.p1D76;var c1D77=data.p1D77;var c1D78=data.p1D78;var c1D80=data.p1D80;var c1D81=data.p1D81;var c1D82=data.p1D82;var c1D83=data.p1D83;var c1D84=data.p1D84;var c1D85=data.p1D85;var c1D86=data.p1D86;var c1D87=data.p1D87;var c1D88=data.p1D88;var c1D89=data.p1D89;var c1D90=data.p1D90;var c1D91=data.p1D91;var c1D92=data.p1D92;var c1D93=data.p1D93;var c1D94=data.p1D94;var c1D95=data.p1D95;var c1C3=(5);var c1I3=(15);var c1C4=(20);var c1I4=(10);var c1C5=(5);var c1I5=(20);var c1C6=(10);var c1I6=(5);var c1C7=(15);var c1I7=(5);var c1C8=(25);var c1I8=(2);var c1C9=(20);var c1I9=(15);var c1C10=(12);var c1I10=(5);var c1C11=(5);var c1I11=(15);var c1C12=(25);var c1I12=(10);var c1C13=(30);var c1I13=(5);var c1C14=(40);var c1I14=(30);var c1C15=(5);var c1I15=(5);var c1C16=(2);var c1I16=(20);var c1C17=(30);var c1I17=(10);var c1C18=(3);var c1I18=(15);var c1C19=(60);var c1I19=(10);var c1C20=(70);var c1I20=(30);var c1C21=(80);var c1I21=(10);var c1C22=(35);var c1I22=(5);var c1C23=(50);var c1I23=(5);var c1C24=(50);arr1xK3K66[21][0]=(0);var c1C25=(20);var c1I25=(7);var c1C26=(5);var c1I26=(15);var c1C27=(10);var c1I27=(25);var c1C28=(5);var c1I28=(25);var c1C29=(5);var c1I29=(35);var c1C30=(10);var c1I30=(50);var c1C31=(35);var c1I31=(10);var c1C32=(45);var c1I32=(20);var c1C33=(55);arr1xK3K66[30][0]=(0);var c1C34=(8);var c1C35=(2);var c1I35=(5);arr1xE3E95[33][0]=(0);var c1I36=(5);var c1C37=(30);var c1I37=(2);var c1C38=(5);var c1I38=(10);var c1C39=(20);var c1I39=(5);var c1C40=(15);var c1I40=(5);var c1C41=(30);var c1I41=(5);var c1C42=(10);var c1I42=(3);arr1xE3E95[40][0]=(0);var c1I43=(10);var c1C44=(40);var c1I44=(5);var c1C45=(40);var c1I45=(7);var c1C46=(50);var c1I46=(5);var c1C47=(70);var c1I47=(7);var c1C48=(60);var c1I48=(20);var c1C49=(70);var c1I49=(10);var c1C50=(20);var c1I50=(15);var c1C51=(30);var c1I51=(8);var c1C52=(10);var c1I52=(20);var c1C53=(30);arr1xK3K66[50][0]=(0);var c1C54=(40);arr1xK3K66[51][0]=(0);var c1C55=(50);arr1xK3K66[52][0]=(0);var c1C56=(5);var c1I56=(8);var c1C57=(25);var c1I57=(2);var c1C58=(30);var c1I58=(4);arr1xE3E95[56][0]=(0);var c1I59=(5);var c1C60=(5);var c1I60=(6);var c1C61=(30);var c1I61=(5);var c1C62=(5);var c1I62=(5);var c1C63=(8);var c1I63=(6);var c1C64=(12);var c1I64=(8);var c1C65=(10);var c1I65=(15);var c1C66=(10);var c1I66=(15);var c1C67=(5);var c1C68=(5);arr1xE3E95[66][0]=(0);var c1C70=(5);var c1C71=(10);arr1xJ70J72[1][0]=(0);var c1C72=(2);var c1C73=(30);var c1C74=(6);var c1C75=(7);var c1C76=(3);var c1C77=(10);var c1C78=(5);arr1xE3E95[76][0]=(0);var c1C80=(10);var c1C81=(5);var c1C82=(20);var c1C83=(25);var c1C84=(30);var c1C85=(45);var c1C86=(60);var c1C87=(30);var c1C88=(30);var c1C89=(45);var c1C90=(60);var c1C91=(15);var c1C92=(5);var c1C93=(5);var c1C94=(25);var c1C95=(8);var c2A1=("BENCH, PIANO");var c2A2=("BOOKCASE");var c2A3=("BOOKSHELVES, SECT.");var c2G3=("BREAKFAST CHAIR");var c2A4=("CHAIR,  ARM");var c2G4=("BREAKFAST TABLE");var c2A5=("CHAIR,  OCCASIONAL");var c2G5=("IRONING BOARD");var c2A6=("CHAIR,  OVERSIZED");var c2G6=("KITCHEN CABINET");var c2A7=("CHAIR,  RECLINER");var c2G7=("MICROWAVE ");var c2A8=("CHAIR,  ROCKING");var c2G8=("MICROWAVE STAND");var c2A9=("CHAIR,  STRAIGHT");var c2G9=("STOOL");var c2A10=("CHAISE LOUNGE");var c2G10=("UTILITY CABINET");var c2A11=("CURIO CABINET");var c2G11=("UTILITY TABLE");var c2A12=("ENTERTAINMENT UNIT");var c2A13=("FIREPLACE TOOLS");var c2G13=("AIR CONDITIONER");var c2A14=("FOOTSTOOL");var c2G14=("DEHUMIDIFIER");var c2A15=("FUTON");var c2G15=("DISHWASHER");var c2A16=("LAMP, FLOOR / POLE");var c2G16=("DRYER");var c2A17=("PIANO, APT. SIZE");var c2G17=("FREEZER, 10 CU.FT");var c2A18=("PIANO, BABY GR / UPR");var c2G18=("FREEZER, 11 - 15 CU.FT");var c2A19=("PIANO, PARLOUR GR");var c2G19=("FREEZER, 16 CU.FT ");var c2A20=("SOFA, LOVESEAT");var c2G20=("RANGE");var c2A21=("SOFA 3 CUSHION");var c2G21=("REFRIGERATOR, 6 CU.FT");var c2A22=("SOFA, HIDE A BED");var c2G22=("REFRIGERATOR, 7 - 10 CU.FT");var c2A23=("STEREO COMPONENTS");var c2G23=("REFRIGERATOR, 11 CU.FT");var c2A24=("STEREO MINI");var c2G24=("SEWING MACH., CAB");var c2A25=("TABLE, COFFEE");var c2G25=("SEWING MACH., PORTABLE");var c2A26=("TABLE, END");var c2G26=("VACUUM CLEANER");var c2A27=("T.V. PORTABLE  13\"");var c2G27=("WASHING MACHINE");var c2A28=("T.V. 19\"");var c2G28=("WATER COOLER");var c2A29=("T.V.  32\"- 36\"");var c2A30=("T.V.BIG SCREEN 50\"");var c2G30=("BBQ");var c2A31=("T.V.BIG SCREEN 60\"");var c2G31=("GARDEN HOSE, TOOLS");var c2A32=("T.V. STAND");var c2G32=("LADDER, EXTENSION");var c2A33=("VCR / DVD");var c2G33=("LADDER, STEP");var c2G34=("LAWN CHAIR");var c2A35=("BUFFET ( BASE )");var c2G35=("LAWN CHAIR, STACKING");var c2A36=("DINING CHAIR");var c2G36=("LAWN CHAIR, RECLINING");var c2A37=("HUTCH ( TOP )");var c2G37=("LAWN MOWER, HAND");var c2A38=("SERVER / SIDEBOARD");var c2G38=("LAWN MOWER, POWER");var c2A39=("TABLE, EXTENSION");var c2G39=("OUTDOOR CHILD\'S SLIDE");var c2A40=("TEA CART");var c2G40=("OUTDOOR DRYING RACK");var c2G41=("OUTDOOR SWING SET");var c2A42=("ARMOIRE");var c2G42=("PICNIC BENCH");var c2A43=("BED SINGLE");var c2G43=("PICNIC TABLE");var c2A44=("BED, DOUBLE");var c2G44=("PORCH CHAIR");var c2A45=("BED, BUNK (SET OF 2)");var c2G45=("ROCKER, SWING");var c2A46=("BED, QUEEN SIZE");var c2G46=("SANDBOX");var c2A47=("BED, KING SIZE");var c2G47=("SETTEE");var c2A48=("CHEST OF DRAWERS SM");var c2G48=("TABLE");var c2A49=("CHEST OF DRAWERS LG");var c2G49=("TRASH/GARBAGE CAN");var c2A50=("CHEST, HOPE");var c2G50=("UMBRELLA");var c2A51=("DRESSER, SINGLE");var c2A52=("DRESSER, DOUBLE");var c2G52=("CHAIR, OFFICE");var c2A53=("DRESSER,  TRIPLE");var c2G53=("COMPUTER SYSTEM");var c2A54=("NIGHT TABLE");var c2G54=("CREDENZA");var c2A55=("VANITY & BENCH");var c2G55=("DESK, STUDENT");var c2A56=("WARDROBE");var c2G56=("DESK, OFFICE");var c2G57=("DESK, MODULAR");var c2G58=("FILING, 2 DRAWER");var c2A59=("BASSINET");var c2G59=("FILING, 4 DRAWER");var c2A60=("BED, YOUTH");var c2G60=("BICYCLE");var c2A61=("CHAIR, CHILD\'S");var c2G61=("BIRD CAGE & STAND");var c2G62=("FAN");var c2G63=("FOLDING CHAIR");var c2A64=("CHAIR, HIGH");var c2G64=("FOOTLOCKER/TRUNK");var c2A65=("CHEST OR DRESSER");var c2G65=("GOLF BAG");var c2A66=("CRIB,");var c2G66=("HEATER, GAS OR ELEC");var c2A67=("PLAY PEN");var c2G67=("HAMPER/BASKET");var c2A68=("STROLLER");var c2G68=("RUG, SMALL");var c2A69=("TABLE, CHILD\'S");var c2G69=("RUG, LARGE");var c2G70=("SKIS, POLES/SNOWBOARD");var c2G71=("SUITCASE");var c2G72=("TIRE");var c2G73=("TOOL BOX");var c2G74=("TOOL CHEST");var c2G75=("WEIGHTS");var c2G76=("WEIGHT BENCH");var c2A77=("BOOKS 2 CU.FT");var c2G77=("WHEEL BARROW");var c2A78=("2 CU.FT ");var c2G78=("WORK BENCH");var c2A79=("4 CU.FT");var c2A80=("5 CU.FT");var c2A81=("6 CU.FT");var c2A82=("CHINA BARREL");var c2A83=("CRATE");var c2A84=("TOTES");var c2A85=("MIRROR, SMALL");var c2A86=("MIRROR, LARGE");var c2A87=("WARDROBE");var c1A3=(proper((c2A1)));var tmp293=(((c1C3)*(c1D3)));var sumcnt294_sum=0+tmp293;var sumcnt294_cnt=1;arr1xE3E95[0][0]=(sumgeneral(0,sumcnt294_sum,sumcnt294_cnt,eecm1));var c1G3=(proper((c2G30)));var tmp291=(((c1I3)*(c1J3)));var sumcnt292_sum=0+tmp291;var sumcnt292_cnt=1;arr1xK3K66[0][0]=(sumgeneral(0,sumcnt292_sum,sumcnt292_cnt,eecm1));var c1A4=(proper((c2A2)));var tmp289=(((c1C4)*(c1D4)));var sumcnt290_sum=0+tmp289;var sumcnt290_cnt=1;arr1xE3E95[1][0]=(sumgeneral(0,sumcnt290_sum,sumcnt290_cnt,eecm1));var c1G4=(proper((c2G31)));var tmp287=(((c1I4)*(c1J4)));var sumcnt288_sum=0+tmp287;var sumcnt288_cnt=1;arr1xK3K66[1][0]=(sumgeneral(0,sumcnt288_sum,sumcnt288_cnt,eecm1));var c1A5=(proper((c2A3)));var tmp285=(((c1C5)*(c1D5)));var sumcnt286_sum=0+tmp285;var sumcnt286_cnt=1;arr1xE3E95[2][0]=(sumgeneral(0,sumcnt286_sum,sumcnt286_cnt,eecm1));var c1G5=(proper((c2G32)));var tmp283=(((c1I5)*(c1J5)));var sumcnt284_sum=0+tmp283;var sumcnt284_cnt=1;arr1xK3K66[2][0]=(sumgeneral(0,sumcnt284_sum,sumcnt284_cnt,eecm1));var c1A6=(proper((c2A4)));var tmp281=(((c1C6)*(c1D6)));var sumcnt282_sum=0+tmp281;var sumcnt282_cnt=1;arr1xE3E95[3][0]=(sumgeneral(0,sumcnt282_sum,sumcnt282_cnt,eecm1));var c1G6=(proper((c2G33)));var tmp279=(((c1I6)*(c1J6)));var sumcnt280_sum=0+tmp279;var sumcnt280_cnt=1;arr1xK3K66[3][0]=(sumgeneral(0,sumcnt280_sum,sumcnt280_cnt,eecm1));var c1A7=(proper((c2A5)));var tmp277=(((c1C7)*(c1D7)));var sumcnt278_sum=0+tmp277;var sumcnt278_cnt=1;arr1xE3E95[4][0]=(sumgeneral(0,sumcnt278_sum,sumcnt278_cnt,eecm1));var c1G7=(proper((c2G34)));var tmp275=(((c1I7)*(c1J7)));var sumcnt276_sum=0+tmp275;var sumcnt276_cnt=1;arr1xK3K66[4][0]=(sumgeneral(0,sumcnt276_sum,sumcnt276_cnt,eecm1));var c1A8=(proper((c2A6)));var tmp273=(((c1C8)*(c1D8)));var sumcnt274_sum=0+tmp273;var sumcnt274_cnt=1;arr1xE3E95[5][0]=(sumgeneral(0,sumcnt274_sum,sumcnt274_cnt,eecm1));var c1G8=(proper((c2G35)));var tmp271=(((c1I8)*(c1J8)));var sumcnt272_sum=0+tmp271;var sumcnt272_cnt=1;arr1xK3K66[5][0]=(sumgeneral(0,sumcnt272_sum,sumcnt272_cnt,eecm1));var c1A9=(proper((c2A7)));var tmp269=(((c1C9)*(c1D9)));var sumcnt270_sum=0+tmp269;var sumcnt270_cnt=1;arr1xE3E95[6][0]=(sumgeneral(0,sumcnt270_sum,sumcnt270_cnt,eecm1));var c1G9=(proper((c2G36)));var tmp267=(((c1I9)*(c1J9)));var sumcnt268_sum=0+tmp267;var sumcnt268_cnt=1;arr1xK3K66[6][0]=(sumgeneral(0,sumcnt268_sum,sumcnt268_cnt,eecm1));var c1A10=(proper((c2A8)));var tmp265=(((c1C10)*(c1D10)));var sumcnt266_sum=0+tmp265;var sumcnt266_cnt=1;arr1xE3E95[7][0]=(sumgeneral(0,sumcnt266_sum,sumcnt266_cnt,eecm1));var c1G10=(proper((c2G37)));var tmp263=(((c1I10)*(c1J10)));var sumcnt264_sum=0+tmp263;var sumcnt264_cnt=1;arr1xK3K66[7][0]=(sumgeneral(0,sumcnt264_sum,sumcnt264_cnt,eecm1));var c1A11=(proper((c2A9)));var tmp261=(((c1C11)*(c1D11)));var sumcnt262_sum=0+tmp261;var sumcnt262_cnt=1;arr1xE3E95[8][0]=(sumgeneral(0,sumcnt262_sum,sumcnt262_cnt,eecm1));var c1G11=(proper((c2G38)));var tmp259=(((c1I11)*(c1J11)));var sumcnt260_sum=0+tmp259;var sumcnt260_cnt=1;arr1xK3K66[8][0]=(sumgeneral(0,sumcnt260_sum,sumcnt260_cnt,eecm1));var c1A12=(proper((c2A10)));var tmp257=(((c1C12)*(c1D12)));var sumcnt258_sum=0+tmp257;var sumcnt258_cnt=1;arr1xE3E95[9][0]=(sumgeneral(0,sumcnt258_sum,sumcnt258_cnt,eecm1));var c1G12=(proper((c2G39)));var tmp255=(((c1I12)*(c1J12)));var sumcnt256_sum=0+tmp255;var sumcnt256_cnt=1;arr1xK3K66[9][0]=(sumgeneral(0,sumcnt256_sum,sumcnt256_cnt,eecm1));var c1A13=(proper((c2A11)));var tmp253=(((c1C13)*(c1D13)));var sumcnt254_sum=0+tmp253;var sumcnt254_cnt=1;arr1xE3E95[10][0]=(sumgeneral(0,sumcnt254_sum,sumcnt254_cnt,eecm1));var c1G13=(proper((c2G40)));var tmp251=(((c1I13)*(c1J13)));var sumcnt252_sum=0+tmp251;var sumcnt252_cnt=1;arr1xK3K66[10][0]=(sumgeneral(0,sumcnt252_sum,sumcnt252_cnt,eecm1));var c1A14=(proper((c2A12)));var tmp249=(((c1C14)*(c1D14)));var sumcnt250_sum=0+tmp249;var sumcnt250_cnt=1;arr1xE3E95[11][0]=(sumgeneral(0,sumcnt250_sum,sumcnt250_cnt,eecm1));var c1G14=(proper((c2G41)));var tmp247=(((c1I14)*(c1J14)));var sumcnt248_sum=0+tmp247;var sumcnt248_cnt=1;arr1xK3K66[11][0]=(sumgeneral(0,sumcnt248_sum,sumcnt248_cnt,eecm1));var c1A15=(proper((c2A13)));var tmp245=(((c1C15)*(c1D15)));var sumcnt246_sum=0+tmp245;var sumcnt246_cnt=1;arr1xE3E95[12][0]=(sumgeneral(0,sumcnt246_sum,sumcnt246_cnt,eecm1));var c1G15=(proper((c2G42)));var tmp243=(((c1I15)*(c1J15)));var sumcnt244_sum=0+tmp243;var sumcnt244_cnt=1;arr1xK3K66[12][0]=(sumgeneral(0,sumcnt244_sum,sumcnt244_cnt,eecm1));var c1A16=(proper((c2A14)));var tmp241=(((c1C16)*(c1D16)));var sumcnt242_sum=0+tmp241;var sumcnt242_cnt=1;arr1xE3E95[13][0]=(sumgeneral(0,sumcnt242_sum,sumcnt242_cnt,eecm1));var c1G16=(proper((c2G43)));var tmp239=(((c1I16)*(c1J16)));var sumcnt240_sum=0+tmp239;var sumcnt240_cnt=1;arr1xK3K66[13][0]=(sumgeneral(0,sumcnt240_sum,sumcnt240_cnt,eecm1));var c1A17=(proper((c2A15)));var tmp237=(((c1C17)*(c1D17)));var sumcnt238_sum=0+tmp237;var sumcnt238_cnt=1;arr1xE3E95[14][0]=(sumgeneral(0,sumcnt238_sum,sumcnt238_cnt,eecm1));var c1G17=(proper((c2G44)));var tmp235=(((c1I17)*(c1J17)));var sumcnt236_sum=0+tmp235;var sumcnt236_cnt=1;arr1xK3K66[14][0]=(sumgeneral(0,sumcnt236_sum,sumcnt236_cnt,eecm1));var c1A18=(proper((c2A16)));var tmp233=(((c1C18)*(c1D18)));var sumcnt234_sum=0+tmp233;var sumcnt234_cnt=1;arr1xE3E95[15][0]=(sumgeneral(0,sumcnt234_sum,sumcnt234_cnt,eecm1));var c1G18=(proper((c2G45)));var tmp231=(((c1I18)*(c1J18)));var sumcnt232_sum=0+tmp231;var sumcnt232_cnt=1;arr1xK3K66[15][0]=(sumgeneral(0,sumcnt232_sum,sumcnt232_cnt,eecm1));var c1A19=(proper((c2A17)));var tmp229=(((c1C19)*(c1D19)));var sumcnt230_sum=0+tmp229;var sumcnt230_cnt=1;arr1xE3E95[16][0]=(sumgeneral(0,sumcnt230_sum,sumcnt230_cnt,eecm1));var c1G19=(proper((c2G46)));var tmp227=(((c1I19)*(c1J19)));var sumcnt228_sum=0+tmp227;var sumcnt228_cnt=1;arr1xK3K66[16][0]=(sumgeneral(0,sumcnt228_sum,sumcnt228_cnt,eecm1));var c1A20=(proper((c2A18)));var tmp225=(((c1C20)*(c1D20)));var sumcnt226_sum=0+tmp225;var sumcnt226_cnt=1;arr1xE3E95[17][0]=(sumgeneral(0,sumcnt226_sum,sumcnt226_cnt,eecm1));var c1G20=(proper((c2G47)));var tmp223=(((c1I20)*(c1J20)));var sumcnt224_sum=0+tmp223;var sumcnt224_cnt=1;arr1xK3K66[17][0]=(sumgeneral(0,sumcnt224_sum,sumcnt224_cnt,eecm1));var c1A21=(proper((c2A19)));var tmp221=(((c1C21)*(c1D21)));var sumcnt222_sum=0+tmp221;var sumcnt222_cnt=1;arr1xE3E95[18][0]=(sumgeneral(0,sumcnt222_sum,sumcnt222_cnt,eecm1));var c1G21=(proper((c2G48)));var tmp219=(((c1I21)*(c1J21)));var sumcnt220_sum=0+tmp219;var sumcnt220_cnt=1;arr1xK3K66[18][0]=(sumgeneral(0,sumcnt220_sum,sumcnt220_cnt,eecm1));var c1A22=(proper((c2A20)));var tmp217=(((c1C22)*(c1D22)));var sumcnt218_sum=0+tmp217;var sumcnt218_cnt=1;arr1xE3E95[19][0]=(sumgeneral(0,sumcnt218_sum,sumcnt218_cnt,eecm1));var c1G22=(proper((c2G49)));var tmp215=(((c1I22)*(c1J22)));var sumcnt216_sum=0+tmp215;var sumcnt216_cnt=1;arr1xK3K66[19][0]=(sumgeneral(0,sumcnt216_sum,sumcnt216_cnt,eecm1));var c1A23=(proper((c2A21)));var tmp213=(((c1C23)*(c1D23)));var sumcnt214_sum=0+tmp213;var sumcnt214_cnt=1;arr1xE3E95[20][0]=(sumgeneral(0,sumcnt214_sum,sumcnt214_cnt,eecm1));var c1G23=(proper((c2G50)));var tmp211=(((c1I23)*(c1J23)));var sumcnt212_sum=0+tmp211;var sumcnt212_cnt=1;arr1xK3K66[20][0]=(sumgeneral(0,sumcnt212_sum,sumcnt212_cnt,eecm1));var c1A24=(proper((c2A22)));var tmp209=(((c1C24)*(c1D24)));var sumcnt210_sum=0+tmp209;var sumcnt210_cnt=1;arr1xE3E95[21][0]=(sumgeneral(0,sumcnt210_sum,sumcnt210_cnt,eecm1));var c1A25=(proper((c2A23)));var tmp207=(((c1C25)*(c1D25)));var sumcnt208_sum=0+tmp207;var sumcnt208_cnt=1;arr1xE3E95[22][0]=(sumgeneral(0,sumcnt208_sum,sumcnt208_cnt,eecm1));var c1G25=(proper((c2G52)));var tmp205=(((c1I25)*(c1J25)));var sumcnt206_sum=0+tmp205;var sumcnt206_cnt=1;arr1xK3K66[22][0]=(sumgeneral(0,sumcnt206_sum,sumcnt206_cnt,eecm1));var c1A26=(proper((c2A24)));var tmp203=(((c1C26)*(c1D26)));var sumcnt204_sum=0+tmp203;var sumcnt204_cnt=1;arr1xE3E95[23][0]=(sumgeneral(0,sumcnt204_sum,sumcnt204_cnt,eecm1));var c1G26=(proper((c2G53)));var tmp201=(((c1I26)*(c1J26)));var sumcnt202_sum=0+tmp201;var sumcnt202_cnt=1;arr1xK3K66[23][0]=(sumgeneral(0,sumcnt202_sum,sumcnt202_cnt,eecm1));var c1A27=(proper((c2A25)));var tmp199=(((c1C27)*(c1D27)));var sumcnt200_sum=0+tmp199;var sumcnt200_cnt=1;arr1xE3E95[24][0]=(sumgeneral(0,sumcnt200_sum,sumcnt200_cnt,eecm1));var c1G27=(proper((c2G54)));var tmp197=(((c1I27)*(c1J27)));var sumcnt198_sum=0+tmp197;var sumcnt198_cnt=1;arr1xK3K66[24][0]=(sumgeneral(0,sumcnt198_sum,sumcnt198_cnt,eecm1));var c1A28=(proper((c2A26)));var tmp195=(((c1C28)*(c1D28)));var sumcnt196_sum=0+tmp195;var sumcnt196_cnt=1;arr1xE3E95[25][0]=(sumgeneral(0,sumcnt196_sum,sumcnt196_cnt,eecm1));var c1G28=(proper((c2G55)));var tmp193=(((c1I28)*(c1J28)));var sumcnt194_sum=0+tmp193;var sumcnt194_cnt=1;arr1xK3K66[25][0]=(sumgeneral(0,sumcnt194_sum,sumcnt194_cnt,eecm1));var c1A29=(proper((c2A27)));var tmp191=(((c1C29)*(c1D29)));var sumcnt192_sum=0+tmp191;var sumcnt192_cnt=1;arr1xE3E95[26][0]=(sumgeneral(0,sumcnt192_sum,sumcnt192_cnt,eecm1));var c1G29=(proper((c2G56)));var tmp189=(((c1I29)*(c1J29)));var sumcnt190_sum=0+tmp189;var sumcnt190_cnt=1;arr1xK3K66[26][0]=(sumgeneral(0,sumcnt190_sum,sumcnt190_cnt,eecm1));var c1A30=(proper((c2A28)));var tmp187=(((c1C30)*(c1D30)));var sumcnt188_sum=0+tmp187;var sumcnt188_cnt=1;arr1xE3E95[27][0]=(sumgeneral(0,sumcnt188_sum,sumcnt188_cnt,eecm1));var c1G30=(proper((c2G57)));var tmp185=(((c1I30)*(c1J30)));var sumcnt186_sum=0+tmp185;var sumcnt186_cnt=1;arr1xK3K66[27][0]=(sumgeneral(0,sumcnt186_sum,sumcnt186_cnt,eecm1));var c1A31=(proper((c2A29)));var tmp183=(((c1C31)*(c1D31)));var sumcnt184_sum=0+tmp183;var sumcnt184_cnt=1;arr1xE3E95[28][0]=(sumgeneral(0,sumcnt184_sum,sumcnt184_cnt,eecm1));var c1G31=(proper((c2G58)));var tmp181=(((c1I31)*(c1J31)));var sumcnt182_sum=0+tmp181;var sumcnt182_cnt=1;arr1xK3K66[28][0]=(sumgeneral(0,sumcnt182_sum,sumcnt182_cnt,eecm1));var c1A32=(proper((c2A30)));var tmp179=(((c1C32)*(c1D32)));var sumcnt180_sum=0+tmp179;var sumcnt180_cnt=1;arr1xE3E95[29][0]=(sumgeneral(0,sumcnt180_sum,sumcnt180_cnt,eecm1));var c1G32=(proper((c2G59)));var tmp177=(((c1I32)*(c1J32)));var sumcnt178_sum=0+tmp177;var sumcnt178_cnt=1;arr1xK3K66[29][0]=(sumgeneral(0,sumcnt178_sum,sumcnt178_cnt,eecm1));var c1A33=(proper((c2A31)));var tmp175=(((c1C33)*(c1D33)));var sumcnt176_sum=0+tmp175;var sumcnt176_cnt=1;arr1xE3E95[30][0]=(sumgeneral(0,sumcnt176_sum,sumcnt176_cnt,eecm1));var c1A34=(proper((c2A32)));var tmp173=(((c1C34)*(c1D34)));var sumcnt174_sum=0+tmp173;var sumcnt174_cnt=1;arr1xE3E95[31][0]=(sumgeneral(0,sumcnt174_sum,sumcnt174_cnt,eecm1));var c1G34=(proper((c2G60)));var tmp171=(((c1I37)*(c1J34)));var sumcnt172_sum=0+tmp171;var sumcnt172_cnt=1;arr1xK3K66[31][0]=(sumgeneral(0,sumcnt172_sum,sumcnt172_cnt,eecm1));var c1A35=(proper((c2A33)));var tmp169=(((c1C35)*(c1D35)));var sumcnt170_sum=0+tmp169;var sumcnt170_cnt=1;arr1xE3E95[32][0]=(sumgeneral(0,sumcnt170_sum,sumcnt170_cnt,eecm1));var c1G35=(proper((c2G61)));var tmp167=(((c1I35)*(c1J35)));var sumcnt168_sum=0+tmp167;var sumcnt168_cnt=1;arr1xK3K66[32][0]=(sumgeneral(0,sumcnt168_sum,sumcnt168_cnt,eecm1));var c1G36=(proper((c2G62)));var tmp165=(((c1I36)*(c1J36)));var sumcnt166_sum=0+tmp165;var sumcnt166_cnt=1;arr1xK3K66[33][0]=(sumgeneral(0,sumcnt166_sum,sumcnt166_cnt,eecm1));var c1A37=(proper((c2A35)));var tmp163=(((c1C37)*(c1D37)));var sumcnt164_sum=0+tmp163;var sumcnt164_cnt=1;arr1xE3E95[34][0]=(sumgeneral(0,sumcnt164_sum,sumcnt164_cnt,eecm1));var c1G37=(proper((c2G63)));var tmp161=(((c1I37)*(c1J37)));var sumcnt162_sum=0+tmp161;var sumcnt162_cnt=1;arr1xK3K66[34][0]=(sumgeneral(0,sumcnt162_sum,sumcnt162_cnt,eecm1));var c1A38=(proper((c2A36)));var tmp159=(((c1C38)*(c1D38)));var sumcnt160_sum=0+tmp159;var sumcnt160_cnt=1;arr1xE3E95[35][0]=(sumgeneral(0,sumcnt160_sum,sumcnt160_cnt,eecm1));var c1G38=(proper((c2G64)));var tmp157=(((c1I38)*(c1J38)));var sumcnt158_sum=0+tmp157;var sumcnt158_cnt=1;arr1xK3K66[35][0]=(sumgeneral(0,sumcnt158_sum,sumcnt158_cnt,eecm1));var c1A39=(proper((c2A37)));var tmp155=(((c1C39)*(c1D39)));var sumcnt156_sum=0+tmp155;var sumcnt156_cnt=1;arr1xE3E95[36][0]=(sumgeneral(0,sumcnt156_sum,sumcnt156_cnt,eecm1));var c1G39=(proper((c2G65)));var tmp153=(((c1I39)*(c1J39)));var sumcnt154_sum=0+tmp153;var sumcnt154_cnt=1;arr1xK3K66[36][0]=(sumgeneral(0,sumcnt154_sum,sumcnt154_cnt,eecm1));var c1A40=(proper((c2A38)));var tmp151=(((c1C40)*(c1D40)));var sumcnt152_sum=0+tmp151;var sumcnt152_cnt=1;arr1xE3E95[37][0]=(sumgeneral(0,sumcnt152_sum,sumcnt152_cnt,eecm1));var c1G40=(proper((c2G66)));var tmp149=(((c1I40)*(c1J40)));var sumcnt150_sum=0+tmp149;var sumcnt150_cnt=1;arr1xK3K66[37][0]=(sumgeneral(0,sumcnt150_sum,sumcnt150_cnt,eecm1));var c1A41=(proper((c2A39)));var tmp147=(((c1C41)*(c1D41)));var sumcnt148_sum=0+tmp147;var sumcnt148_cnt=1;arr1xE3E95[38][0]=(sumgeneral(0,sumcnt148_sum,sumcnt148_cnt,eecm1));var c1G41=(proper((c2G67)));var tmp145=(((c1I41)*(c1J41)));var sumcnt146_sum=0+tmp145;var sumcnt146_cnt=1;arr1xK3K66[38][0]=(sumgeneral(0,sumcnt146_sum,sumcnt146_cnt,eecm1));var c1A42=(proper((c2A40)));var tmp143=(((c1C42)*(c1D42)));var sumcnt144_sum=0+tmp143;var sumcnt144_cnt=1;arr1xE3E95[39][0]=(sumgeneral(0,sumcnt144_sum,sumcnt144_cnt,eecm1));var c1G42=(proper((c2G68)));var tmp141=(((c1I42)*(c1J42)));var sumcnt142_sum=0+tmp141;var sumcnt142_cnt=1;arr1xK3K66[39][0]=(sumgeneral(0,sumcnt142_sum,sumcnt142_cnt,eecm1));var c1G43=(proper((c2G69)));var tmp139=(((c1I43)*(c1J43)));var sumcnt140_sum=0+tmp139;var sumcnt140_cnt=1;arr1xK3K66[40][0]=(sumgeneral(0,sumcnt140_sum,sumcnt140_cnt,eecm1));var c1A44=(proper((c2A42)));var tmp137=(((c1C44)*(c1D44)));var sumcnt138_sum=0+tmp137;var sumcnt138_cnt=1;arr1xE3E95[41][0]=(sumgeneral(0,sumcnt138_sum,sumcnt138_cnt,eecm1));var c1G44=(proper((c2G70)));var tmp135=(((c1I44)*(c1J44)));var sumcnt136_sum=0+tmp135;var sumcnt136_cnt=1;arr1xK3K66[41][0]=(sumgeneral(0,sumcnt136_sum,sumcnt136_cnt,eecm1));var c1A45=(proper((c2A43)));var tmp133=(((c1C45)*(c1D45)));var sumcnt134_sum=0+tmp133;var sumcnt134_cnt=1;arr1xE3E95[42][0]=(sumgeneral(0,sumcnt134_sum,sumcnt134_cnt,eecm1));var c1G45=(proper((c2G71)));var tmp131=(((c1I45)*(c1J45)));var sumcnt132_sum=0+tmp131;var sumcnt132_cnt=1;arr1xK3K66[42][0]=(sumgeneral(0,sumcnt132_sum,sumcnt132_cnt,eecm1));var c1A46=(proper((c2A44)));var tmp129=(((c1C46)*(c1D46)));var sumcnt130_sum=0+tmp129;var sumcnt130_cnt=1;arr1xE3E95[43][0]=(sumgeneral(0,sumcnt130_sum,sumcnt130_cnt,eecm1));var c1G46=(proper((c2G72)));var tmp127=(((c1I46)*(c1J46)));var sumcnt128_sum=0+tmp127;var sumcnt128_cnt=1;arr1xK3K66[43][0]=(sumgeneral(0,sumcnt128_sum,sumcnt128_cnt,eecm1));var c1A47=(proper((c2A45)));var tmp125=(((c1C47)*(c1D47)));var sumcnt126_sum=0+tmp125;var sumcnt126_cnt=1;arr1xE3E95[44][0]=(sumgeneral(0,sumcnt126_sum,sumcnt126_cnt,eecm1));var c1G47=(proper((c2G73)));var tmp123=(((c1I47)*(c1J47)));var sumcnt124_sum=0+tmp123;var sumcnt124_cnt=1;arr1xK3K66[44][0]=(sumgeneral(0,sumcnt124_sum,sumcnt124_cnt,eecm1));var c1A48=(proper((c2A46)));var tmp121=(((c1C48)*(c1D48)));var sumcnt122_sum=0+tmp121;var sumcnt122_cnt=1;arr1xE3E95[45][0]=(sumgeneral(0,sumcnt122_sum,sumcnt122_cnt,eecm1));var c1G48=(proper((c2G74)));var tmp119=(((c1I48)*(c1J48)));var sumcnt120_sum=0+tmp119;var sumcnt120_cnt=1;arr1xK3K66[45][0]=(sumgeneral(0,sumcnt120_sum,sumcnt120_cnt,eecm1));var c1A49=(proper((c2A47)));var tmp117=(((c1C49)*(c1D49)));var sumcnt118_sum=0+tmp117;var sumcnt118_cnt=1;arr1xE3E95[46][0]=(sumgeneral(0,sumcnt118_sum,sumcnt118_cnt,eecm1));var c1G49=(proper((c2G75)));var tmp115=(((c1I49)*(c1J49)));var sumcnt116_sum=0+tmp115;var sumcnt116_cnt=1;arr1xK3K66[46][0]=(sumgeneral(0,sumcnt116_sum,sumcnt116_cnt,eecm1));var c1A50=(proper((c2A48)));var tmp113=(((c1C50)*(c1D50)));var sumcnt114_sum=0+tmp113;var sumcnt114_cnt=1;arr1xE3E95[47][0]=(sumgeneral(0,sumcnt114_sum,sumcnt114_cnt,eecm1));var c1G50=(proper((c2G76)));var tmp111=(((c1I50)*(c1J50)));var sumcnt112_sum=0+tmp111;var sumcnt112_cnt=1;arr1xK3K66[47][0]=(sumgeneral(0,sumcnt112_sum,sumcnt112_cnt,eecm1));var c1A51=(proper((c2A49)));var tmp109=(((c1C51)*(c1D51)));var sumcnt110_sum=0+tmp109;var sumcnt110_cnt=1;arr1xE3E95[48][0]=(sumgeneral(0,sumcnt110_sum,sumcnt110_cnt,eecm1));var c1G51=(proper((c2G77)));var tmp107=(((c1I51)*(c1J51)));var sumcnt108_sum=0+tmp107;var sumcnt108_cnt=1;arr1xK3K66[48][0]=(sumgeneral(0,sumcnt108_sum,sumcnt108_cnt,eecm1));var c1A52=(proper((c2A50)));var tmp105=(((c1C52)*(c1D52)));var sumcnt106_sum=0+tmp105;var sumcnt106_cnt=1;arr1xE3E95[49][0]=(sumgeneral(0,sumcnt106_sum,sumcnt106_cnt,eecm1));var c1G52=(proper((c2G78)));var tmp103=(((c1I52)*(c1J52)));var sumcnt104_sum=0+tmp103;var sumcnt104_cnt=1;arr1xK3K66[49][0]=(sumgeneral(0,sumcnt104_sum,sumcnt104_cnt,eecm1));var c1A53=(proper((c2A51)));var tmp101=(((c1C53)*(c1D53)));var sumcnt102_sum=0+tmp101;var sumcnt102_cnt=1;arr1xE3E95[50][0]=(sumgeneral(0,sumcnt102_sum,sumcnt102_cnt,eecm1));var c1A54=(proper((c2A52)));var tmp99=(((c1C54)*(c1D54)));var sumcnt100_sum=0+tmp99;var sumcnt100_cnt=1;arr1xE3E95[51][0]=(sumgeneral(0,sumcnt100_sum,sumcnt100_cnt,eecm1));var c1A55=(proper((c2A53)));var tmp97=(((c1C55)*(c1D55)));var sumcnt98_sum=0+tmp97;var sumcnt98_cnt=1;arr1xE3E95[52][0]=(sumgeneral(0,sumcnt98_sum,sumcnt98_cnt,eecm1));var c1A56=(proper((c2A54)));var tmp95=(((c1C56)*(c1D56)));var sumcnt96_sum=0+tmp95;var sumcnt96_cnt=1;arr1xE3E95[53][0]=(sumgeneral(0,sumcnt96_sum,sumcnt96_cnt,eecm1));var c1G56=(proper((c2A77)));var tmp93=(((c1I56)*(c1J56)));var sumcnt94_sum=0+tmp93;var sumcnt94_cnt=1;arr1xK3K66[53][0]=(sumgeneral(0,sumcnt94_sum,sumcnt94_cnt,eecm1));var c1A57=(proper((c2A55)));var tmp91=(((c1C57)*(c1D57)));var sumcnt92_sum=0+tmp91;var sumcnt92_cnt=1;arr1xE3E95[54][0]=(sumgeneral(0,sumcnt92_sum,sumcnt92_cnt,eecm1));var c1G57=(proper((c2A78)));var tmp89=(((c1I57)*(c1J57)));var sumcnt90_sum=0+tmp89;var sumcnt90_cnt=1;arr1xK3K66[54][0]=(sumgeneral(0,sumcnt90_sum,sumcnt90_cnt,eecm1));var c1A58=(proper((c2A56)));var tmp87=(((c1C58)*(c1D58)));var sumcnt88_sum=0+tmp87;var sumcnt88_cnt=1;arr1xE3E95[55][0]=(sumgeneral(0,sumcnt88_sum,sumcnt88_cnt,eecm1));var c1G58=(proper((c2A79)));var tmp85=(((c1I58)*(c1J58)));var sumcnt86_sum=0+tmp85;var sumcnt86_cnt=1;arr1xK3K66[55][0]=(sumgeneral(0,sumcnt86_sum,sumcnt86_cnt,eecm1));var c1G59=(proper((c2A80)));var tmp83=(((c1I59)*(c1J59)));var sumcnt84_sum=0+tmp83;var sumcnt84_cnt=1;arr1xK3K66[56][0]=(sumgeneral(0,sumcnt84_sum,sumcnt84_cnt,eecm1));var c1A60=(proper((c2A59)));var tmp81=(((c1C60)*(c1D60)));var sumcnt82_sum=0+tmp81;var sumcnt82_cnt=1;arr1xE3E95[57][0]=(sumgeneral(0,sumcnt82_sum,sumcnt82_cnt,eecm1));var c1G60=(proper((c2A81)));var tmp79=(((c1I60)*(c1J60)));var sumcnt80_sum=0+tmp79;var sumcnt80_cnt=1;arr1xK3K66[57][0]=(sumgeneral(0,sumcnt80_sum,sumcnt80_cnt,eecm1));var c1A61=(proper((c2A60)));var tmp77=(((c1C61)*(c1D61)));var sumcnt78_sum=0+tmp77;var sumcnt78_cnt=1;arr1xE3E95[58][0]=(sumgeneral(0,sumcnt78_sum,sumcnt78_cnt,eecm1));var c1G61=(proper((c2A82)));var tmp75=(((c1I61)*(c1J61)));var sumcnt76_sum=0+tmp75;var sumcnt76_cnt=1;arr1xK3K66[58][0]=(sumgeneral(0,sumcnt76_sum,sumcnt76_cnt,eecm1));var c1A62=(proper((c2A61)));var tmp73=(((c1C62)*(c1D62)));var sumcnt74_sum=0+tmp73;var sumcnt74_cnt=1;arr1xE3E95[59][0]=(sumgeneral(0,sumcnt74_sum,sumcnt74_cnt,eecm1));var c1G62=(proper((c2A83)));var tmp71=(((c1I62)*(c1J62)));var sumcnt72_sum=0+tmp71;var sumcnt72_cnt=1;arr1xK3K66[59][0]=(sumgeneral(0,sumcnt72_sum,sumcnt72_cnt,eecm1));var c1A63=(proper((c2A64)));var tmp69=(((c1C63)*(c1D63)));var sumcnt70_sum=0+tmp69;var sumcnt70_cnt=1;arr1xE3E95[60][0]=(sumgeneral(0,sumcnt70_sum,sumcnt70_cnt,eecm1));var c1G63=(proper((c2A84)));var tmp67=(((c1I63)*(c1J63)));var sumcnt68_sum=0+tmp67;var sumcnt68_cnt=1;arr1xK3K66[60][0]=(sumgeneral(0,sumcnt68_sum,sumcnt68_cnt,eecm1));var c1A64=(proper((c2A65)));var tmp65=(((c1C64)*(c1D64)));var sumcnt66_sum=0+tmp65;var sumcnt66_cnt=1;arr1xE3E95[61][0]=(sumgeneral(0,sumcnt66_sum,sumcnt66_cnt,eecm1));var c1G64=(proper((c2A85)));var tmp63=(((c1I64)*(c1J64)));var sumcnt64_sum=0+tmp63;var sumcnt64_cnt=1;arr1xK3K66[61][0]=(sumgeneral(0,sumcnt64_sum,sumcnt64_cnt,eecm1));var c1A65=(proper((c2A66)));var tmp61=(((c1C65)*(c1D65)));var sumcnt62_sum=0+tmp61;var sumcnt62_cnt=1;arr1xE3E95[62][0]=(sumgeneral(0,sumcnt62_sum,sumcnt62_cnt,eecm1));var c1G65=(proper((c2A86)));var tmp59=(((c1I65)*(c1J65)));var sumcnt60_sum=0+tmp59;var sumcnt60_cnt=1;arr1xK3K66[62][0]=(sumgeneral(0,sumcnt60_sum,sumcnt60_cnt,eecm1));var c1A66=(proper((c2A67)));var tmp57=(((c1C66)*(c1D66)));var sumcnt58_sum=0+tmp57;var sumcnt58_cnt=1;arr1xE3E95[63][0]=(sumgeneral(0,sumcnt58_sum,sumcnt58_cnt,eecm1));var c1G66=(proper((c2A87)));var tmp55=(((c1I66)*(c1J66)));var sumcnt56_sum=0+tmp55;var sumcnt56_cnt=1;arr1xK3K66[63][0]=(sumgeneral(0,sumcnt56_sum,sumcnt56_cnt,eecm1));var c1A67=(proper((c2A68)));var tmp53=(((c1C67)*(c1D67)));var sumcnt54_sum=0+tmp53;var sumcnt54_cnt=1;arr1xE3E95[64][0]=(sumgeneral(0,sumcnt54_sum,sumcnt54_cnt,eecm1));var c1A68=(proper((c2A69)));var tmp51=(((c1C68)*(c1D68)));var sumcnt52_sum=0+tmp51;var sumcnt52_cnt=1;arr1xE3E95[65][0]=(sumgeneral(0,sumcnt52_sum,sumcnt52_cnt,eecm1));var c1A70=(proper((c2G3)));var tmp49=(((c1C70)*(c1D70)));var sumcnt50_sum=0+tmp49;var sumcnt50_cnt=1;arr1xE3E95[67][0]=(sumgeneral(0,sumcnt50_sum,sumcnt50_cnt,eecm1));var c1A71=(proper((c2G4)));var tmp47=(((c1C71)*(c1D71)));var sumcnt48_sum=0+tmp47;var sumcnt48_cnt=1;arr1xE3E95[68][0]=(sumgeneral(0,sumcnt48_sum,sumcnt48_cnt,eecm1));var c1A72=(proper((c2G5)));var tmp45=(((c1C72)*(c1D72)));var sumcnt46_sum=0+tmp45;var sumcnt46_cnt=1;arr1xE3E95[69][0]=(sumgeneral(0,sumcnt46_sum,sumcnt46_cnt,eecm1));arr1xJ70J72[2][0]=(sumgeneral(59,0,0,eecm3));var c1A73=(proper((c2G6)));var tmp43=(((c1C73)*(c1D73)));var sumcnt44_sum=0+tmp43;var sumcnt44_cnt=1;arr1xE3E95[70][0]=(sumgeneral(0,sumcnt44_sum,sumcnt44_cnt,eecm1));var c1A74=(proper((c2G7)));var tmp41=(((c1C74)*(c1D74)));var sumcnt42_sum=0+tmp41;var sumcnt42_cnt=1;arr1xE3E95[71][0]=(sumgeneral(0,sumcnt42_sum,sumcnt42_cnt,eecm1));var c1A75=(proper((c2G8)));var tmp39=(((c1C75)*(c1D75)));var sumcnt40_sum=0+tmp39;var sumcnt40_cnt=1;arr1xE3E95[72][0]=(sumgeneral(0,sumcnt40_sum,sumcnt40_cnt,eecm1));var c1A76=(proper((c2G9)));var tmp37=(((c1C76)*(c1D76)));var sumcnt38_sum=0+tmp37;var sumcnt38_cnt=1;arr1xE3E95[73][0]=(sumgeneral(0,sumcnt38_sum,sumcnt38_cnt,eecm1));var c1A77=(proper((c2G10)));var tmp35=(((c1C77)*(c1D77)));var sumcnt36_sum=0+tmp35;var sumcnt36_cnt=1;arr1xE3E95[74][0]=(sumgeneral(0,sumcnt36_sum,sumcnt36_cnt,eecm1));var c1A78=(proper((c2G11)));var tmp33=(((c1C78)*(c1D78)));var sumcnt34_sum=0+tmp33;var sumcnt34_cnt=1;arr1xE3E95[75][0]=(sumgeneral(0,sumcnt34_sum,sumcnt34_cnt,eecm1));var c1A80=(proper((c2G13)));var tmp31=(((c1C80)*(c1D80)));var sumcnt32_sum=0+tmp31;var sumcnt32_cnt=1;arr1xE3E95[77][0]=(sumgeneral(0,sumcnt32_sum,sumcnt32_cnt,eecm1));var c1A81=(proper((c2G14)));var tmp29=(((c1C81)*(c1D81)));var sumcnt30_sum=0+tmp29;var sumcnt30_cnt=1;arr1xE3E95[78][0]=(sumgeneral(0,sumcnt30_sum,sumcnt30_cnt,eecm1));var c1A82=(proper((c2G15)));var tmp27=(((c1C82)*(c1D82)));var sumcnt28_sum=0+tmp27;var sumcnt28_cnt=1;arr1xE3E95[79][0]=(sumgeneral(0,sumcnt28_sum,sumcnt28_cnt,eecm1));var c1A83=(proper((c2G16)));var tmp25=(((c1C83)*(c1D83)));var sumcnt26_sum=0+tmp25;var sumcnt26_cnt=1;arr1xE3E95[80][0]=(sumgeneral(0,sumcnt26_sum,sumcnt26_cnt,eecm1));var c1A84=(proper((c2G17)));var tmp23=(((c1C84)*(c1D84)));var sumcnt24_sum=0+tmp23;var sumcnt24_cnt=1;arr1xE3E95[81][0]=(sumgeneral(0,sumcnt24_sum,sumcnt24_cnt,eecm1));var c1A85=(proper((c2G18)));var tmp21=(((c1C85)*(c1D85)));var sumcnt22_sum=0+tmp21;var sumcnt22_cnt=1;arr1xE3E95[82][0]=(sumgeneral(0,sumcnt22_sum,sumcnt22_cnt,eecm1));var c1A86=(proper((c2G19)));var tmp19=(((c1C86)*(c1D86)));var sumcnt20_sum=0+tmp19;var sumcnt20_cnt=1;arr1xE3E95[83][0]=(sumgeneral(0,sumcnt20_sum,sumcnt20_cnt,eecm1));var c1A87=(proper((c2G20)));var tmp17=(((c1C87)*(c1D87)));var sumcnt18_sum=0+tmp17;var sumcnt18_cnt=1;arr1xE3E95[84][0]=(sumgeneral(0,sumcnt18_sum,sumcnt18_cnt,eecm1));var c1A88=(proper((c2G21)));var tmp15=(((c1C88)*(c1D88)));var sumcnt16_sum=0+tmp15;var sumcnt16_cnt=1;arr1xE3E95[85][0]=(sumgeneral(0,sumcnt16_sum,sumcnt16_cnt,eecm1));var c1A89=(proper((c2G22)));var tmp13=(((c1C89)*(c1D89)));var sumcnt14_sum=0+tmp13;var sumcnt14_cnt=1;arr1xE3E95[86][0]=(sumgeneral(0,sumcnt14_sum,sumcnt14_cnt,eecm1));var c1A90=(proper((c2G23)));var tmp11=(((c1C90)*(c1D90)));var sumcnt12_sum=0+tmp11;var sumcnt12_cnt=1;arr1xE3E95[87][0]=(sumgeneral(0,sumcnt12_sum,sumcnt12_cnt,eecm1));var c1A91=(proper((c2G24)));var tmp9=(((c1C91)*(c1D91)));var sumcnt10_sum=0+tmp9;var sumcnt10_cnt=1;arr1xE3E95[88][0]=(sumgeneral(0,sumcnt10_sum,sumcnt10_cnt,eecm1));var c1A92=(proper((c2G25)));var tmp7=(((c1C92)*(c1D92)));var sumcnt8_sum=0+tmp7;var sumcnt8_cnt=1;arr1xE3E95[89][0]=(sumgeneral(0,sumcnt8_sum,sumcnt8_cnt,eecm1));var c1A93=(proper((c2G26)));var tmp5=(((c1C93)*(c1D93)));var sumcnt6_sum=0+tmp5;var sumcnt6_cnt=1;arr1xE3E95[90][0]=(sumgeneral(0,sumcnt6_sum,sumcnt6_cnt,eecm1));var c1A94=(proper((c2G27)));var tmp3=(((c1C94)*(c1D94)));var sumcnt4_sum=0+tmp3;var sumcnt4_cnt=1;arr1xE3E95[91][0]=(sumgeneral(0,sumcnt4_sum,sumcnt4_cnt,eecm1));var c1A95=(proper((c2G28)));var tmp1=(((c1C95)*(c1D95)));var sumcnt2_sum=0+tmp1;var sumcnt2_cnt=1;arr1xE3E95[92][0]=(sumgeneral(0,sumcnt2_sum,sumcnt2_cnt,eecm1));arr1xJ70J72[0][0]=(sumgeneral(88,0,0,eecm4));var c1J74=(sumgeneral(2,0,0,eecm2));var c1I76=(((c1J74)*(7)));data.p1A3=c1A3;data.p1E3=arr1xE3E95[0][0];data.p1G3=c1G3;data.p1K3=arr1xK3K66[0][0];data.p1A4=c1A4;data.p1E4=arr1xE3E95[1][0];data.p1G4=c1G4;data.p1K4=arr1xK3K66[1][0];data.p1A5=c1A5;data.p1E5=arr1xE3E95[2][0];data.p1G5=c1G5;data.p1K5=arr1xK3K66[2][0];data.p1A6=c1A6;data.p1E6=arr1xE3E95[3][0];data.p1G6=c1G6;data.p1K6=arr1xK3K66[3][0];data.p1A7=c1A7;data.p1E7=arr1xE3E95[4][0];data.p1G7=c1G7;data.p1K7=arr1xK3K66[4][0];data.p1A8=c1A8;data.p1E8=arr1xE3E95[5][0];data.p1G8=c1G8;data.p1K8=arr1xK3K66[5][0];data.p1A9=c1A9;data.p1E9=arr1xE3E95[6][0];data.p1G9=c1G9;data.p1K9=arr1xK3K66[6][0];data.p1A10=c1A10;data.p1E10=arr1xE3E95[7][0];data.p1G10=c1G10;data.p1K10=arr1xK3K66[7][0];data.p1A11=c1A11;data.p1E11=arr1xE3E95[8][0];data.p1G11=c1G11;data.p1K11=arr1xK3K66[8][0];data.p1A12=c1A12;data.p1E12=arr1xE3E95[9][0];data.p1G12=c1G12;data.p1K12=arr1xK3K66[9][0];data.p1A13=c1A13;data.p1E13=arr1xE3E95[10][0];data.p1G13=c1G13;data.p1K13=arr1xK3K66[10][0];data.p1A14=c1A14;data.p1E14=arr1xE3E95[11][0];data.p1G14=c1G14;data.p1K14=arr1xK3K66[11][0];data.p1A15=c1A15;data.p1E15=arr1xE3E95[12][0];data.p1G15=c1G15;data.p1K15=arr1xK3K66[12][0];data.p1A16=c1A16;data.p1E16=arr1xE3E95[13][0];data.p1G16=c1G16;data.p1K16=arr1xK3K66[13][0];data.p1A17=c1A17;data.p1E17=arr1xE3E95[14][0];data.p1G17=c1G17;data.p1K17=arr1xK3K66[14][0];data.p1A18=c1A18;data.p1E18=arr1xE3E95[15][0];data.p1G18=c1G18;data.p1K18=arr1xK3K66[15][0];data.p1A19=c1A19;data.p1E19=arr1xE3E95[16][0];data.p1G19=c1G19;data.p1K19=arr1xK3K66[16][0];data.p1A20=c1A20;data.p1E20=arr1xE3E95[17][0];data.p1G20=c1G20;data.p1K20=arr1xK3K66[17][0];data.p1A21=c1A21;data.p1E21=arr1xE3E95[18][0];data.p1G21=c1G21;data.p1K21=arr1xK3K66[18][0];data.p1A22=c1A22;data.p1E22=arr1xE3E95[19][0];data.p1G22=c1G22;data.p1K22=arr1xK3K66[19][0];data.p1A23=c1A23;data.p1E23=arr1xE3E95[20][0];data.p1G23=c1G23;data.p1K23=arr1xK3K66[20][0];data.p1A24=c1A24;data.p1E24=arr1xE3E95[21][0];data.p1A25=c1A25;data.p1E25=arr1xE3E95[22][0];data.p1G25=c1G25;data.p1K25=arr1xK3K66[22][0];data.p1A26=c1A26;data.p1E26=arr1xE3E95[23][0];data.p1G26=c1G26;data.p1K26=arr1xK3K66[23][0];data.p1A27=c1A27;data.p1E27=arr1xE3E95[24][0];data.p1G27=c1G27;data.p1K27=arr1xK3K66[24][0];data.p1A28=c1A28;data.p1E28=arr1xE3E95[25][0];data.p1G28=c1G28;data.p1K28=arr1xK3K66[25][0];data.p1A29=c1A29;data.p1E29=arr1xE3E95[26][0];data.p1G29=c1G29;data.p1K29=arr1xK3K66[26][0];data.p1A30=c1A30;data.p1E30=arr1xE3E95[27][0];data.p1G30=c1G30;data.p1K30=arr1xK3K66[27][0];data.p1A31=c1A31;data.p1E31=arr1xE3E95[28][0];data.p1G31=c1G31;data.p1K31=arr1xK3K66[28][0];data.p1A32=c1A32;data.p1E32=arr1xE3E95[29][0];data.p1G32=c1G32;data.p1K32=arr1xK3K66[29][0];data.p1A33=c1A33;data.p1E33=arr1xE3E95[30][0];data.p1A34=c1A34;data.p1E34=arr1xE3E95[31][0];data.p1G34=c1G34;data.p1K34=arr1xK3K66[31][0];data.p1A35=c1A35;data.p1E35=arr1xE3E95[32][0];data.p1G35=c1G35;data.p1K35=arr1xK3K66[32][0];data.p1G36=c1G36;data.p1K36=arr1xK3K66[33][0];data.p1A37=c1A37;data.p1E37=arr1xE3E95[34][0];data.p1G37=c1G37;data.p1K37=arr1xK3K66[34][0];data.p1A38=c1A38;data.p1E38=arr1xE3E95[35][0];data.p1G38=c1G38;data.p1K38=arr1xK3K66[35][0];data.p1A39=c1A39;data.p1E39=arr1xE3E95[36][0];data.p1G39=c1G39;data.p1K39=arr1xK3K66[36][0];data.p1A40=c1A40;data.p1E40=arr1xE3E95[37][0];data.p1G40=c1G40;data.p1K40=arr1xK3K66[37][0];data.p1A41=c1A41;data.p1E41=arr1xE3E95[38][0];data.p1G41=c1G41;data.p1K41=arr1xK3K66[38][0];data.p1A42=c1A42;data.p1E42=arr1xE3E95[39][0];data.p1G42=c1G42;data.p1K42=arr1xK3K66[39][0];data.p1G43=c1G43;data.p1K43=arr1xK3K66[40][0];data.p1A44=c1A44;data.p1E44=arr1xE3E95[41][0];data.p1G44=c1G44;data.p1K44=arr1xK3K66[41][0];data.p1A45=c1A45;data.p1E45=arr1xE3E95[42][0];data.p1G45=c1G45;data.p1K45=arr1xK3K66[42][0];data.p1A46=c1A46;data.p1E46=arr1xE3E95[43][0];data.p1G46=c1G46;data.p1K46=arr1xK3K66[43][0];data.p1A47=c1A47;data.p1E47=arr1xE3E95[44][0];data.p1G47=c1G47;data.p1K47=arr1xK3K66[44][0];data.p1A48=c1A48;data.p1E48=arr1xE3E95[45][0];data.p1G48=c1G48;data.p1K48=arr1xK3K66[45][0];data.p1A49=c1A49;data.p1E49=arr1xE3E95[46][0];data.p1G49=c1G49;data.p1K49=arr1xK3K66[46][0];data.p1A50=c1A50;data.p1E50=arr1xE3E95[47][0];data.p1G50=c1G50;data.p1K50=arr1xK3K66[47][0];data.p1A51=c1A51;data.p1E51=arr1xE3E95[48][0];data.p1G51=c1G51;data.p1K51=arr1xK3K66[48][0];data.p1A52=c1A52;data.p1E52=arr1xE3E95[49][0];data.p1G52=c1G52;data.p1K52=arr1xK3K66[49][0];data.p1A53=c1A53;data.p1E53=arr1xE3E95[50][0];data.p1A54=c1A54;data.p1E54=arr1xE3E95[51][0];data.p1A55=c1A55;data.p1E55=arr1xE3E95[52][0];data.p1A56=c1A56;data.p1E56=arr1xE3E95[53][0];data.p1G56=c1G56;data.p1K56=arr1xK3K66[53][0];data.p1A57=c1A57;data.p1E57=arr1xE3E95[54][0];data.p1G57=c1G57;data.p1K57=arr1xK3K66[54][0];data.p1A58=c1A58;data.p1E58=arr1xE3E95[55][0];data.p1G58=c1G58;data.p1K58=arr1xK3K66[55][0];data.p1G59=c1G59;data.p1K59=arr1xK3K66[56][0];data.p1A60=c1A60;data.p1E60=arr1xE3E95[57][0];data.p1G60=c1G60;data.p1K60=arr1xK3K66[57][0];data.p1A61=c1A61;data.p1E61=arr1xE3E95[58][0];data.p1G61=c1G61;data.p1K61=arr1xK3K66[58][0];data.p1A62=c1A62;data.p1E62=arr1xE3E95[59][0];data.p1G62=c1G62;data.p1K62=arr1xK3K66[59][0];data.p1A63=c1A63;data.p1E63=arr1xE3E95[60][0];data.p1G63=c1G63;data.p1K63=arr1xK3K66[60][0];data.p1A64=c1A64;data.p1E64=arr1xE3E95[61][0];data.p1G64=c1G64;data.p1K64=arr1xK3K66[61][0];data.p1A65=c1A65;data.p1E65=arr1xE3E95[62][0];data.p1G65=c1G65;data.p1K65=arr1xK3K66[62][0];data.p1A66=c1A66;data.p1E66=arr1xE3E95[63][0];data.p1G66=c1G66;data.p1K66=arr1xK3K66[63][0];data.p1A67=c1A67;data.p1E67=arr1xE3E95[64][0];data.p1A68=c1A68;data.p1E68=arr1xE3E95[65][0];data.p1A70=c1A70;data.p1E70=arr1xE3E95[67][0];data.p1J70=arr1xJ70J72[0][0];data.p1A71=c1A71;data.p1E71=arr1xE3E95[68][0];data.p1A72=c1A72;data.p1E72=arr1xE3E95[69][0];data.p1J72=arr1xJ70J72[2][0];data.p1A73=c1A73;data.p1E73=arr1xE3E95[70][0];data.p1A74=c1A74;data.p1E74=arr1xE3E95[71][0];data.p1J74=c1J74;data.p1A75=c1A75;data.p1E75=arr1xE3E95[72][0];data.p1A76=c1A76;data.p1E76=arr1xE3E95[73][0];data.p1I76=c1I76;data.p1A77=c1A77;data.p1E77=arr1xE3E95[74][0];data.p1A78=c1A78;data.p1E78=arr1xE3E95[75][0];data.p1A80=c1A80;data.p1E80=arr1xE3E95[77][0];data.p1A81=c1A81;data.p1E81=arr1xE3E95[78][0];data.p1A82=c1A82;data.p1E82=arr1xE3E95[79][0];data.p1A83=c1A83;data.p1E83=arr1xE3E95[80][0];data.p1A84=c1A84;data.p1E84=arr1xE3E95[81][0];data.p1A85=c1A85;data.p1E85=arr1xE3E95[82][0];data.p1A86=c1A86;data.p1E86=arr1xE3E95[83][0];data.p1A87=c1A87;data.p1E87=arr1xE3E95[84][0];data.p1A88=c1A88;data.p1E88=arr1xE3E95[85][0];data.p1A89=c1A89;data.p1E89=arr1xE3E95[86][0];data.p1A90=c1A90;data.p1E90=arr1xE3E95[87][0];data.p1A91=c1A91;data.p1E91=arr1xE3E95[88][0];data.p1A92=c1A92;data.p1E92=arr1xE3E95[89][0];data.p1A93=c1A93;data.p1E93=arr1xE3E95[90][0];data.p1A94=c1A94;data.p1E94=arr1xE3E95[91][0];data.p1A95=c1A95;data.p1E95=arr1xE3E95[92][0];};
function myIsNaN(x){return(isNaN(x)||(typeof x=='number'&&!isFinite(x)));};function proper(s){var res=s.replace(/\b(.)((\B.)*)/g,function(str,p1,p2){return p1.toUpperCase()+p2.toLowerCase();});return res;};function sum2(arr,rt,rb){var sum=0;for(var ii=rt;ii<=rb;ii++){sum+=arr[ii]};return sum};function sum3(arr,rt,ct,rb,cb){var sum=0;for(var ii=rt;ii<=rb;ii++){for(var jj=ct;jj<=cb;jj++){sum+=arr[ii][jj]}};return sum};function sumgeneral(cnt,vsum,vcnt,x){var sum=vsum;for(var ii=0;ii<x.length;ii++){sum+=sum3(x[ii][0],x[ii][1],x[ii][2],x[ii][3],x[ii][4]);};return sum;};function eeparseFloat(str){str=String(str).replace(eedecreg,".");var res=parseFloat(str);if(isNaN(res)){return 0;}else{return res;}};function eedisplayFloat(x){if(myIsNaN(x)){return Number.NaN;}else{return String(x).replace(/\./g,eedec);}};function eeisstring(v){switch(typeof v){case "string":return true;case "object":return v.constructor==String;default:return false;}};
// SpryCollapsiblePanel.js - version 0.7 - Spry Pre-Release 1.6.1
//
// Copyright (c) 2006. Adobe Systems Incorporated.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
//
//   * Redistributions of source code must retain the above copyright notice,
//     this list of conditions and the following disclaimer.
//   * Redistributions in binary form must reproduce the above copyright notice,
//     this list of conditions and the following disclaimer in the documentation
//     and/or other materials provided with the distribution.
//   * Neither the name of Adobe Systems Incorporated nor the names of its
//     contributors may be used to endorse or promote products derived from this
//     software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.

var Spry;
if (!Spry) Spry = {};
if (!Spry.Widget) Spry.Widget = {};

Spry.Widget.CollapsiblePanel = function(element, opts)
{
	this.element = this.getElement(element);
	this.focusElement = null;
	this.hoverClass = "CollapsiblePanelTabHover";
	this.openClass = "CollapsiblePanelOpen";
	this.closedClass = "CollapsiblePanelClosed";
	this.focusedClass = "CollapsiblePanelFocused";
	this.enableAnimation = true;
	this.enableKeyboardNavigation = true;
	this.animator = null;
	this.hasFocus = false;
	this.contentIsOpen = true;

	this.openPanelKeyCode = Spry.Widget.CollapsiblePanel.KEY_DOWN;
	this.closePanelKeyCode = Spry.Widget.CollapsiblePanel.KEY_UP;

	Spry.Widget.CollapsiblePanel.setOptions(this, opts);

	this.attachBehaviors();
};

Spry.Widget.CollapsiblePanel.prototype.getElement = function(ele)
{
	if (ele && typeof ele == "string")
		return document.getElementById(ele);
	return ele;
};

Spry.Widget.CollapsiblePanel.prototype.addClassName = function(ele, className)
{
	if (!ele || !className || (ele.className && ele.className.search(new RegExp("\\b" + className + "\\b")) != -1))
		return;
	ele.className += (ele.className ? " " : "") + className;
};

Spry.Widget.CollapsiblePanel.prototype.removeClassName = function(ele, className)
{
	if (!ele || !className || (ele.className && ele.className.search(new RegExp("\\b" + className + "\\b")) == -1))
		return;
	ele.className = ele.className.replace(new RegExp("\\s*\\b" + className + "\\b", "g"), "");
};

Spry.Widget.CollapsiblePanel.prototype.hasClassName = function(ele, className)
{
	if (!ele || !className || !ele.className || ele.className.search(new RegExp("\\b" + className + "\\b")) == -1)
		return false;
	return true;
};

Spry.Widget.CollapsiblePanel.prototype.setDisplay = function(ele, display)
{
	if( ele )
		ele.style.display = display;
};

Spry.Widget.CollapsiblePanel.setOptions = function(obj, optionsObj, ignoreUndefinedProps)
{
	if (!optionsObj)
		return;
	for (var optionName in optionsObj)
	{
		if (ignoreUndefinedProps && optionsObj[optionName] == undefined)
			continue;
		obj[optionName] = optionsObj[optionName];
	}
};

Spry.Widget.CollapsiblePanel.prototype.onTabMouseOver = function(e)
{
	this.addClassName(this.getTab(), this.hoverClass);
	return false;
};

Spry.Widget.CollapsiblePanel.prototype.onTabMouseOut = function(e)
{
	this.removeClassName(this.getTab(), this.hoverClass);
	return false;
};

Spry.Widget.CollapsiblePanel.prototype.open = function()
{
	this.contentIsOpen = true;
	if (this.enableAnimation)
	{
		if (this.animator)
			this.animator.stop();
		this.animator = new Spry.Widget.CollapsiblePanel.PanelAnimator(this, true, { duration: this.duration, fps: this.fps, transition: this.transition });
		this.animator.start();
	}
	else
		this.setDisplay(this.getContent(), "block");

	this.removeClassName(this.element, this.closedClass);
	this.addClassName(this.element, this.openClass);
};

Spry.Widget.CollapsiblePanel.prototype.close = function()
{
	this.contentIsOpen = false;
	if (this.enableAnimation)
	{
		if (this.animator)
			this.animator.stop();
		this.animator = new Spry.Widget.CollapsiblePanel.PanelAnimator(this, false, { duration: this.duration, fps: this.fps, transition: this.transition });
		this.animator.start();
	}
	else
		this.setDisplay(this.getContent(), "none");

	this.removeClassName(this.element, this.openClass);
	this.addClassName(this.element, this.closedClass);
};

Spry.Widget.CollapsiblePanel.prototype.onTabClick = function(e)
{
	if (this.isOpen())
		this.close();
	else
		this.open();

	this.focus();

	return this.stopPropagation(e);
};

Spry.Widget.CollapsiblePanel.prototype.onFocus = function(e)
{
	this.hasFocus = true;
	this.addClassName(this.element, this.focusedClass);
	return false;
};

Spry.Widget.CollapsiblePanel.prototype.onBlur = function(e)
{
	this.hasFocus = false;
	this.removeClassName(this.element, this.focusedClass);
	return false;
};

Spry.Widget.CollapsiblePanel.KEY_UP = 38;
Spry.Widget.CollapsiblePanel.KEY_DOWN = 40;

Spry.Widget.CollapsiblePanel.prototype.onKeyDown = function(e)
{
	var key = e.keyCode;
	if (!this.hasFocus || (key != this.openPanelKeyCode && key != this.closePanelKeyCode))
		return true;

	if (this.isOpen() && key == this.closePanelKeyCode)
		this.close();
	else if ( key == this.openPanelKeyCode)
		this.open();
	
	return this.stopPropagation(e);
};

Spry.Widget.CollapsiblePanel.prototype.stopPropagation = function(e)
{
	if (e.preventDefault) e.preventDefault();
	else e.returnValue = false;
	if (e.stopPropagation) e.stopPropagation();
	else e.cancelBubble = true;
	return false;
};

Spry.Widget.CollapsiblePanel.prototype.attachPanelHandlers = function()
{
	var tab = this.getTab();
	if (!tab)
		return;

	var self = this;
	Spry.Widget.CollapsiblePanel.addEventListener(tab, "click", function(e) { return self.onTabClick(e); }, false);
	Spry.Widget.CollapsiblePanel.addEventListener(tab, "mouseover", function(e) { return self.onTabMouseOver(e); }, false);
	Spry.Widget.CollapsiblePanel.addEventListener(tab, "mouseout", function(e) { return self.onTabMouseOut(e); }, false);

	if (this.enableKeyboardNavigation)
	{
		// XXX: IE doesn't allow the setting of tabindex dynamically. This means we can't
		// rely on adding the tabindex attribute if it is missing to enable keyboard navigation
		// by default.

		// Find the first element within the tab container that has a tabindex or the first
		// anchor tag.
		
		var tabIndexEle = null;
		var tabAnchorEle = null;

		this.preorderTraversal(tab, function(node) {
			if (node.nodeType == 1 /* NODE.ELEMENT_NODE */)
			{
				var tabIndexAttr = tab.attributes.getNamedItem("tabindex");
				if (tabIndexAttr)
				{
					tabIndexEle = node;
					return true;
				}
				if (!tabAnchorEle && node.nodeName.toLowerCase() == "a")
					tabAnchorEle = node;
			}
			return false;
		});

		if (tabIndexEle)
			this.focusElement = tabIndexEle;
		else if (tabAnchorEle)
			this.focusElement = tabAnchorEle;

		if (this.focusElement)
		{
			Spry.Widget.CollapsiblePanel.addEventListener(this.focusElement, "focus", function(e) { return self.onFocus(e); }, false);
			Spry.Widget.CollapsiblePanel.addEventListener(this.focusElement, "blur", function(e) { return self.onBlur(e); }, false);
			Spry.Widget.CollapsiblePanel.addEventListener(this.focusElement, "keydown", function(e) { return self.onKeyDown(e); }, false);
		}
	}
};

Spry.Widget.CollapsiblePanel.addEventListener = function(element, eventType, handler, capture)
{
	try
	{
		if (element.addEventListener)
			element.addEventListener(eventType, handler, capture);
		else if (element.attachEvent)
			element.attachEvent("on" + eventType, handler);
	}
	catch (e) {}
};

Spry.Widget.CollapsiblePanel.prototype.preorderTraversal = function(root, func)
{
	var stopTraversal = false;
	if (root)
	{
		stopTraversal = func(root);
		if (root.hasChildNodes())
		{
			var child = root.firstChild;
			while (!stopTraversal && child)
			{
				stopTraversal = this.preorderTraversal(child, func);
				try { child = child.nextSibling; } catch (e) { child = null; }
			}
		}
	}
	return stopTraversal;
};

Spry.Widget.CollapsiblePanel.prototype.attachBehaviors = function()
{
	var panel = this.element;
	var tab = this.getTab();
	var content = this.getContent();

	if (this.contentIsOpen || this.hasClassName(panel, this.openClass))
	{
		this.addClassName(panel, this.openClass);
		this.removeClassName(panel, this.closedClass);
		this.setDisplay(content, "block");
		this.contentIsOpen = true;
	}
	else
	{
		this.removeClassName(panel, this.openClass);
		this.addClassName(panel, this.closedClass);
		this.setDisplay(content, "none");
		this.contentIsOpen = false;
	}

	this.attachPanelHandlers();
};

Spry.Widget.CollapsiblePanel.prototype.getTab = function()
{
	return this.getElementChildren(this.element)[0];
};

Spry.Widget.CollapsiblePanel.prototype.getContent = function()
{
	return this.getElementChildren(this.element)[1];
};

Spry.Widget.CollapsiblePanel.prototype.isOpen = function()
{
	return this.contentIsOpen;
};

Spry.Widget.CollapsiblePanel.prototype.getElementChildren = function(element)
{
	var children = [];
	var child = element.firstChild;
	while (child)
	{
		if (child.nodeType == 1 /* Node.ELEMENT_NODE */)
			children.push(child);
		child = child.nextSibling;
	}
	return children;
};

Spry.Widget.CollapsiblePanel.prototype.focus = function()
{
	if (this.focusElement && this.focusElement.focus)
		this.focusElement.focus();
};

/////////////////////////////////////////////////////

Spry.Widget.CollapsiblePanel.PanelAnimator = function(panel, doOpen, opts)
{
	this.timer = null;
	this.interval = 0;

	this.fps = 60;
	this.duration = 500;
	this.startTime = 0;

	this.transition = Spry.Widget.CollapsiblePanel.PanelAnimator.defaultTransition;

	this.onComplete = null;

	this.panel = panel;
	this.content = panel.getContent();
	this.doOpen = doOpen;

	Spry.Widget.CollapsiblePanel.setOptions(this, opts, true);

	this.interval = Math.floor(1000 / this.fps);

	var c = this.content;

	var curHeight = c.offsetHeight ? c.offsetHeight : 0;
	this.fromHeight = (doOpen && c.style.display == "none") ? 0 : curHeight;

	if (!doOpen)
		this.toHeight = 0;
	else
	{
		if (c.style.display == "none")
		{
			// The content area is not displayed so in order to calculate the extent
			// of the content inside it, we have to set its display to block.

			c.style.visibility = "hidden";
			c.style.display = "block";
		}

		// Clear the height property so we can calculate
		// the full height of the content we are going to show.

		c.style.height = "";
		this.toHeight = c.offsetHeight;
	}

	this.distance = this.toHeight - this.fromHeight;
	this.overflow = c.style.overflow;

	c.style.height = this.fromHeight + "px";
	c.style.visibility = "visible";
	c.style.overflow = "hidden";
	c.style.display = "block";
};

Spry.Widget.CollapsiblePanel.PanelAnimator.defaultTransition = function(time, begin, finish, duration) { time /= duration; return begin + ((2 - time) * time * finish); };

Spry.Widget.CollapsiblePanel.PanelAnimator.prototype.start = function()
{
	var self = this;
	this.startTime = (new Date).getTime();
	this.timer = setTimeout(function() { self.stepAnimation(); }, this.interval);
};

Spry.Widget.CollapsiblePanel.PanelAnimator.prototype.stop = function()
{
	if (this.timer)
	{
		clearTimeout(this.timer);

		// If we're killing the timer, restore the overflow property.

		this.content.style.overflow = this.overflow;
	}

	this.timer = null;
};

Spry.Widget.CollapsiblePanel.PanelAnimator.prototype.stepAnimation = function()
{
	var curTime = (new Date).getTime();
	var elapsedTime = curTime - this.startTime;

	if (elapsedTime >= this.duration)
	{
		if (!this.doOpen)
			this.content.style.display = "none";
		this.content.style.overflow = this.overflow;
		this.content.style.height = this.toHeight + "px";
		if (this.onComplete)
			this.onComplete();
		return;
	}

	var ht = this.transition(elapsedTime, this.fromHeight, this.distance, this.duration);

	this.content.style.height = ((ht < 0) ? 0 : ht) + "px";

	var self = this;
	this.timer = setTimeout(function() { self.stepAnimation(); }, this.interval);
};

Spry.Widget.CollapsiblePanelGroup = function(element, opts)
{
	this.element = this.getElement(element);
	this.opts = opts;

	this.attachBehaviors();
};

Spry.Widget.CollapsiblePanelGroup.prototype.setOptions = Spry.Widget.CollapsiblePanel.prototype.setOptions;
Spry.Widget.CollapsiblePanelGroup.prototype.getElement = Spry.Widget.CollapsiblePanel.prototype.getElement;
Spry.Widget.CollapsiblePanelGroup.prototype.getElementChildren = Spry.Widget.CollapsiblePanel.prototype.getElementChildren;

Spry.Widget.CollapsiblePanelGroup.prototype.setElementWidget = function(element, widget)
{
	if (!element || !widget)
		return;
	if (!element.spry)
		element.spry = new Object;
	element.spry.collapsiblePanel = widget;
};

Spry.Widget.CollapsiblePanelGroup.prototype.getElementWidget = function(element)
{
	return (element && element.spry && element.spry.collapsiblePanel) ? element.spry.collapsiblePanel : null;
};

Spry.Widget.CollapsiblePanelGroup.prototype.getPanels = function()
{
	if (!this.element)
		return [];
	return this.getElementChildren(this.element);
};

Spry.Widget.CollapsiblePanelGroup.prototype.getPanel = function(panelIndex)
{
	return this.getPanels()[panelIndex];
};

Spry.Widget.CollapsiblePanelGroup.prototype.attachBehaviors = function()
{
	if (!this.element)
		return;

	var cpanels = this.getPanels();
	var numCPanels = cpanels.length;
	for (var i = 0; i < numCPanels; i++)
	{
		var cpanel = cpanels[i];
		this.setElementWidget(cpanel, new Spry.Widget.CollapsiblePanel(cpanel, this.opts));
	}
};

Spry.Widget.CollapsiblePanelGroup.prototype.openPanel = function(panelIndex)
{
	var w = this.getElementWidget(this.getPanel(panelIndex));
	if (w && !w.isOpen())
		w.open();
};

Spry.Widget.CollapsiblePanelGroup.prototype.closePanel = function(panelIndex)
{
	var w = this.getElementWidget(this.getPanel(panelIndex));
	if (w && w.isOpen())
		w.close();
};

Spry.Widget.CollapsiblePanelGroup.prototype.openAllPanels = function()
{
	var cpanels = this.getPanels();
	var numCPanels = cpanels.length;
	for (var i = 0; i < numCPanels; i++)
	{
		var w = this.getElementWidget(cpanels[i]);
		if (w && !w.isOpen())
			w.open();
	}
};

Spry.Widget.CollapsiblePanelGroup.prototype.closeAllPanels = function()
{
	var cpanels = this.getPanels();
	var numCPanels = cpanels.length;
	for (var i = 0; i < numCPanels; i++)
	{
		var w = this.getElementWidget(cpanels[i]);
		if (w && w.isOpen())
			w.close();
	}
};

var Spry;
if (!Spry) Spry = {};
if (!Spry.Widget) Spry.Widget = {};

Spry.Widget.ValidationSelect = function(element, opts)
{
	this.init(element);

	Spry.Widget.Utils.setOptions(this, opts);

	// set validateOn flags
	var validateOn = ['submit'].concat(this.validateOn || []);
	validateOn = validateOn.join(",");
	this.validateOn = 0 | (validateOn.indexOf('submit') != -1 ? Spry.Widget.ValidationSelect.ONSUBMIT : 0);
	this.validateOn = this.validateOn | (validateOn.indexOf('blur') != -1 ? Spry.Widget.ValidationSelect.ONBLUR : 0);
	this.validateOn = this.validateOn | (validateOn.indexOf('change') != -1 ? Spry.Widget.ValidationSelect.ONCHANGE : 0);

	if (this.additionalError)
		this.additionalError = this.getElement(this.additionalError);

	// Unfortunately in some browsers like Safari, the Stylesheets our
	// page depends on may not have been loaded at the time we are called.
	// This means we have to defer attaching our behaviors until after the
	// onload event fires, since some of our behaviors rely on dimensions
	// specified in the CSS.

	if (Spry.Widget.ValidationSelect.onloadDidFire)
		this.attachBehaviors();
	else 
		Spry.Widget.ValidationSelect.loadQueue.push(this);
};

Spry.Widget.ValidationSelect.ONCHANGE = 1;
Spry.Widget.ValidationSelect.ONBLUR = 2;
Spry.Widget.ValidationSelect.ONSUBMIT = 4;

Spry.Widget.ValidationSelect.prototype.init = function(element)
{
	this.element = this.getElement(element);
	this.additionalError = false;
	this.selectElement = null;
	this.form = null;
	this.event_handlers = [];
	
	 // this.element can be either the container (<span>)
	 // or the <select> element, when no error messages are used.
	
	this.requiredClass = "selectRequiredState";
	this.invalidClass = "selectInvalidState";
	this.focusClass = "selectFocusState";
	this.validClass = "selectValidState";
	
	this.emptyValue = "";
	this.invalidValue = null;
	this.isRequired = true;
	
	this.validateOn = ["submit"];  // change, blur, submit
	// flag used to avoid cascade validation when both 
	// onChange and onBlur events are used to trigger validation
	this.validatedByOnChangeEvent = false;
};

Spry.Widget.ValidationSelect.prototype.destroy = function() {
	if (this.event_handlers)
		for (var i=0; i<this.event_handlers.length; i++) {
			Spry.Widget.Utils.removeEventListener(this.event_handlers[i][0], this.event_handlers[i][1], this.event_handlers[i][2], false);
		}
	try { delete this.element; } catch(err) {}
	try { delete this.selectElement; } catch(err) {}
	try { delete this.form; } catch(err) {}
	try { delete this.event_handlers; } catch(err) {}

	var q = Spry.Widget.Form.onSubmitWidgetQueue;
	var qlen = q.length;
	for (var i = 0; i < qlen; i++) {
		if (q[i] == this) {
			q.splice(i, 1);
			break;
		}
	}
};

Spry.Widget.ValidationSelect.onloadDidFire = false;
Spry.Widget.ValidationSelect.loadQueue = [];

Spry.Widget.ValidationSelect.prototype.getElement = function(ele)
{
	if (ele && typeof ele == "string")
		return document.getElementById(ele);
	return ele;
};

Spry.Widget.ValidationSelect.processLoadQueue = function(handler)
{
	Spry.Widget.ValidationSelect.onloadDidFire = true;
	var q = Spry.Widget.ValidationSelect.loadQueue;
	var qlen = q.length;
	for (var i = 0; i < qlen; i++)
		q[i].attachBehaviors();
};

Spry.Widget.ValidationSelect.addLoadListener = function(handler)
{
	if (typeof window.addEventListener != 'undefined')
		window.addEventListener('load', handler, false);
	else if (typeof document.addEventListener != 'undefined')
		document.addEventListener('load', handler, false);
	else if (typeof window.attachEvent != 'undefined')
		window.attachEvent('onload', handler);
};

Spry.Widget.ValidationSelect.addLoadListener(Spry.Widget.ValidationSelect.processLoadQueue);
Spry.Widget.ValidationSelect.addLoadListener(function(){
	Spry.Widget.Utils.addEventListener(window, "unload", Spry.Widget.Form.destroyAll, false);
});

Spry.Widget.ValidationSelect.prototype.attachBehaviors = function()
{
	// find the SELECT element inside current container
	if (this.element.nodeName == "SELECT") {
		this.selectElement = this.element;
	} else {
		this.selectElement = Spry.Widget.Utils.getFirstChildWithNodeNameAtAnyLevel(this.element, "SELECT");
	}

	if (this.selectElement) {
		var self = this;
		this.event_handlers = [];
		// focus
		// attach on beforeactivate instead of focus for
		//      - IE 6 (to overcome this bug: setting a class name onfocus does not affect the open dropdown)
		//      - IE 7 (to overcome this bug: setting a class name, closes the select)
		var focusEventName = "focus";
		var ua = navigator.userAgent.match(/msie (\d+)\./i);
		if (ua) {
			ua = parseInt(ua[1], 10);
			if (ua >= 6) {
				focusEventName = "beforeactivate";
			}
		}
		this.event_handlers.push([this.selectElement, focusEventName, function(e) { if (self.isDisabled()) return true; return self.onFocus(e); }]);
		// blur
		this.event_handlers.push([this.selectElement, "blur", function(e) { if (self.isDisabled()) return true; return self.onBlur(e); }]);
		// change
		if (this.validateOn & Spry.Widget.ValidationSelect.ONCHANGE) {
			this.event_handlers.push([this.selectElement, "change", function(e) { if (self.isDisabled()) return true; return self.onChange(e); }]);
			this.event_handlers.push([this.selectElement, "keypress", function(e) { if (self.isDisabled()) return true; return self.onChange(e); }]);
		}

		for (var i=0; i<this.event_handlers.length; i++) {
			Spry.Widget.Utils.addEventListener(this.event_handlers[i][0], this.event_handlers[i][1], this.event_handlers[i][2], false);
		}

		// submit
		this.form = Spry.Widget.Utils.getFirstParentWithNodeName(this.selectElement, "FORM");
		if (this.form) {
			// if no "onSubmit" handler has been attached to the current form, attach one
			if (!this.form.attachedSubmitHandler && !this.form.onsubmit) {
				this.form.onsubmit = function(e) { e = e || event; return Spry.Widget.Form.onSubmit(e, e.srcElement || e.currentTarget) };
				this.form.attachedSubmitHandler = true;                 
			}
			if (!this.form.attachedResetHandler) {
				Spry.Widget.Utils.addEventListener(this.form, "reset", function(e) { e = e || event; return Spry.Widget.Form.onReset(e, e.srcElement || e.currentTarget) }, false);
				this.form.attachedResetHandler = true;                 
			}
			// add the currrent widget to the "onSubmit" check queue;
			Spry.Widget.Form.onSubmitWidgetQueue.push(this);
		}
	}
};


Spry.Widget.ValidationSelect.prototype.addClassName = function(ele, className)
{
	if (!ele || !className || (ele.className && ele.className.search(new RegExp("\\b" + className + "\\b")) != -1))
		return;
	ele.className += (ele.className ? " " : "") + className;
};

Spry.Widget.ValidationSelect.prototype.removeClassName = function(ele, className)
{
	if (!ele || !className || (ele.className && ele.className.search(new RegExp("\\b" + className + "\\b")) == -1))
		return;
	ele.className = ele.className.replace(new RegExp("\\s*\\b" + className + "\\b", "g"), "");
};



Spry.Widget.ValidationSelect.prototype.onFocus = function(e)
{
	this.hasFocus = true;
	this.validatedByOnChangeEvent = false;
	this.addClassName(this.element, this.focusClass);
	this.addClassName(this.additionalError, this.focusClass);
};

Spry.Widget.ValidationSelect.prototype.onBlur = function(e)
{
	this.hasFocus = false;
	var doValidation = false;
	if (this.validateOn & Spry.Widget.ValidationSelect.ONBLUR)
		doValidation = true;
	if (doValidation && !this.validatedByOnChangeEvent)
		this.validate();
	this.removeClassName(this.element, this.focusClass);
	this.removeClassName(this.additionalError, this.focusClass);
};

Spry.Widget.ValidationSelect.prototype.onChange = function(e)
{
	this.hasFocus = false;
	this.validate();
	this.validatedByOnChangeEvent = true;
};

Spry.Widget.ValidationSelect.prototype.reset = function() {
	this.removeClassName(this.element, this.requiredClass);
	this.removeClassName(this.element, this.invalidClass);
	this.removeClassName(this.element, this.validClass);
	this.removeClassName(this.additionalError, this.requiredClass);
	this.removeClassName(this.additionalError, this.invalidClass);
	this.removeClassName(this.additionalError, this.validClass);
};

Spry.Widget.ValidationSelect.prototype.validate = function() {
	this.reset();
	// check isRequired
	if (this.isRequired) {
		// there are no options, or no option has been selected
		if (this.selectElement.options.length == 0 || this.selectElement.selectedIndex == -1) {
			this.addClassName(this.element, this.requiredClass);
			this.addClassName(this.additionalError, this.requiredClass);
			return false;
		}
		// the current selected option has no "value" attribute
		// when no value is set, browsers implement different behaviour for the value property
		// IE: value = blank string ("")
		// FF, Opera: value = option text
		if (this.selectElement.options[this.selectElement.selectedIndex].getAttribute("value") == null) {
			this.addClassName(this.element, this.requiredClass);
			this.addClassName(this.additionalError, this.requiredClass);
			return false;
		}
		// the current selected option has blank string ("") value
		if (this.selectElement.options[this.selectElement.selectedIndex].value == this.emptyValue) {
			this.addClassName(this.element, this.requiredClass);
			this.addClassName(this.additionalError, this.requiredClass);
			return false;
		}
		// the current selected option has "disabled" attribute
		// IE 6 allows to select such options
		if (this.selectElement.options[this.selectElement.selectedIndex].disabled) {
			this.addClassName(this.element, this.requiredClass);
			this.addClassName(this.additionalError, this.requiredClass);
			return false;
		}
	}
	if (this.invalidValue) {
		if (this.selectElement.options.length > 0 && 
			this.selectElement.selectedIndex != -1 &&
			this.selectElement.options[this.selectElement.selectedIndex].value == this.invalidValue) {
			this.addClassName(this.element, this.invalidClass);
			this.addClassName(this.additionalError, this.invalidClass);
			return false;
		}
	}
	this.addClassName(this.element, this.validClass);
	this.addClassName(this.additionalError, this.validClass);
	return true;
};

Spry.Widget.ValidationSelect.prototype.isDisabled = function() {
	return this.selectElement.disabled;	
};

//////////////////////////////////////////////////////////////////////
//
// Spry.Widget.Form - common for all widgets
//
//////////////////////////////////////////////////////////////////////

if (!Spry.Widget.Form) Spry.Widget.Form = {};
if (!Spry.Widget.Form.onSubmitWidgetQueue) Spry.Widget.Form.onSubmitWidgetQueue = [];

if (!Spry.Widget.Form.validate) {
	Spry.Widget.Form.validate = function(vform) {
		var isValid = true;
		var isElementValid = true;
		var q = Spry.Widget.Form.onSubmitWidgetQueue;
		var qlen = q.length;
		for (var i = 0; i < qlen; i++) {
			if (!q[i].isDisabled() && q[i].form == vform) {
				isElementValid = q[i].validate();
				isValid = isElementValid && isValid;
			}
		}
		return isValid;
	}
};

if (!Spry.Widget.Form.onSubmit) {
	Spry.Widget.Form.onSubmit = function(e, form)
	{
		if (Spry.Widget.Form.validate(form) == false) {
			return false;
		}
		return true;
	};
};

if (!Spry.Widget.Form.onReset) {
	Spry.Widget.Form.onReset = function(e, vform)
	{
		var q = Spry.Widget.Form.onSubmitWidgetQueue;
		var qlen = q.length;
		for (var i = 0; i < qlen; i++) {
			if (!q[i].isDisabled() && q[i].form == vform && typeof(q[i].reset) == 'function') {
				q[i].reset();
			}
		}
		return true;
	};
};

if (!Spry.Widget.Form.destroy) {
	Spry.Widget.Form.destroy = function(form)
	{
		var q = Spry.Widget.Form.onSubmitWidgetQueue;
		for (var i = 0; i < Spry.Widget.Form.onSubmitWidgetQueue.length; i++) {
			if (q[i].form == form && typeof(q[i].destroy) == 'function') {
				q[i].destroy();
				i--;
			}
		}
	}
};

if (!Spry.Widget.Form.destroyAll) {
	Spry.Widget.Form.destroyAll = function()
	{
		var q = Spry.Widget.Form.onSubmitWidgetQueue;
		for (var i = 0; i < Spry.Widget.Form.onSubmitWidgetQueue.length; i++) {
			if (typeof(q[i].destroy) == 'function') {
				q[i].destroy();
				i--;
			}
		}
	}
};

//////////////////////////////////////////////////////////////////////
//
// Spry.Widget.Utils
//
//////////////////////////////////////////////////////////////////////

if (!Spry.Widget.Utils)	Spry.Widget.Utils = {};

Spry.Widget.Utils.setOptions = function(obj, optionsObj, ignoreUndefinedProps)
{
	if (!optionsObj)
		return;
	for (var optionName in optionsObj)
	{
		if (ignoreUndefinedProps && optionsObj[optionName] == undefined)
			continue;
		obj[optionName] = optionsObj[optionName];
	}
};


Spry.Widget.Utils.getFirstChildWithNodeNameAtAnyLevel = function(node, nodeName)
{
	var elements  = node.getElementsByTagName(nodeName);
	if (elements) {
		return elements[0];
	}
	return null;
};

Spry.Widget.Utils.getFirstParentWithNodeName = function(node, nodeName)
{
	while (node.parentNode
			&& node.parentNode.nodeName.toLowerCase() != nodeName.toLowerCase()
			&& node.parentNode.nodeName != 'BODY') {
		node = node.parentNode;
	}

	if (node.parentNode && node.parentNode.nodeName.toLowerCase() == nodeName.toLowerCase()) {
		return node.parentNode;
	} else {
		return null;
	}
};

Spry.Widget.Utils.destroyWidgets = function (container)
{
	if (typeof container == 'string') {
		container = document.getElementById(container);
	}

	var q = Spry.Widget.Form.onSubmitWidgetQueue;
	for (var i = 0; i < Spry.Widget.Form.onSubmitWidgetQueue.length; i++) {
		if (typeof(q[i].destroy) == 'function' && Spry.Widget.Utils.contains(container, q[i].element)) {
			q[i].destroy();
			i--;
		}
	}
};

Spry.Widget.Utils.contains = function (who, what)
{
	if (typeof who.contains == 'object') {
		return what && who && (who == what || who.contains(what));
	} else {
		var el = what;
		while(el) {
			if (el == who) {
				return true;
			}
			el = el.parentNode;
		}
		return false;
	}
};

Spry.Widget.Utils.addEventListener = function(element, eventType, handler, capture)
{
	try
	{
		if (element.addEventListener)
			element.addEventListener(eventType, handler, capture);
		else if (element.attachEvent)
			element.attachEvent("on" + eventType, handler, capture);
	}
	catch (e) {}
};

Spry.Widget.Utils.removeEventListener = function(element, eventType, handler, capture)
{
	try
	{
		if (element.removeEventListener)
			element.removeEventListener(eventType, handler, capture);
		else if (element.detachEvent)
			element.detachEvent("on" + eventType, handler, capture);
	}
	catch (e) {}
};



