From: Subject: flexmls Date: Mon, 3 May 2010 14:53:58 -0500 MIME-Version: 1.0 Content-Type: multipart/related; type="text/html"; boundary="----=_NextPart_000_0000_01CAEAD0.7614C410" X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579 This is a multi-part message in MIME format. ------=_NextPart_000_0000_01CAEAD0.7614C410 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://public.mlswis.com/cgi-bin/mainmenu.cgi?cmd=url+other/run_public_link.html&public_link_tech_id=rhleqfuakyj&id=1&cid=1 flexmls
Brought to=20 you by Randy Krysinski
Address: = 4304 N=20 74th Milwaukee, WI 53216-1053 County:=20 Milwaukee
MLS #:=20 = 1118103
=
Property=20 Type: Single-Family
Status:=20 Active
Tax=20 Key: 2250292000
Zoning: Res=20 List = Price:=20 $129,900

Taxes:=20 $2,993
Tax=20 Year: 2009

Bedrooms:=20 2
Baths: 1 /=20 1
Garage=20 Spaces: 2
Garage = Type:=20 Attached
Budget = Elec:=20 152 Rooms:=20 5
Sq.=20 Ft.: 1,424
Year = Built:=20 1952
Lot=20 Size: 85x135
Budget = Heat:=20 97

Flood = Plain:=20 No
Conforming = Use: Yes Occ. = Permit=20 Required: N=20 =
Directions: 2 = blocks east=20 of 76th St. and Marion or 3 blocks north of Capitol Dr. at 74th = Street.=20 One block south of Congress at 74th Street.
Coordinates: = 43N 74W
School = District:=20 MPS





Name Master Bedroom Bedroom 2
Dim L C W
15 x 14 M Yes Yes
12 x 11 M Yes Yes
Name Family Room Kitchen Living/Great Room Rec Room
Dim L C W
23 x 17 M Yes Yes
18 x 12 M Yes
19 x 13 M Yes Yes
35 x 16 L Yes
Type: #=20 of Acres: Style: Architecture: Garage/Parking: Outbuildings: Exterior: Roofing: Basement: Heating/Cooling: H/C=20 Type: Bath=20 Description:
Subdivision; Single=20 Family
1/4 less than=20 1/2
1 = Story
Ranch
Parking Space; = Electric Door=20 Opener; Driveway Entrance; Paved = Driveway
None
Stone; Aluminum=20 Trim
Composition
Full; Block; 1/2=20 Bath
Natural Gas; Central=20 Air
Forced = Air
Shower Over Tub; = Ceramic=20 Tile; Half on Lower; Full on=20 Main
Financing=20 Available: Documents: Appliances = Incl.: Misc.=20 Exterior: Misc.=20 Interior: Water/Waste: Tax=20 Includes: Municipality: Estimated=20 Age: Est. Sq.=20 Footage: Occupancy:
Other
Seller Condition; Tax = Bill;=20 LeadPaint Disclosure
Dishwasher;=20 Other
Sidewalk; Patio; = Fenced=20 Yard
220 Volts; Circuit = Breakers;=20 Security System; Cable TV Available
Municipal Water; = Municipal=20 Sewer
Trash = Collection
City
41-60 = Years
1251-1500
Immediate
= Remarks: Lannon = Stone=20 ranch features a nice sized family room in addition to the = traditional=20 living room. Eat in kitchen. Spacious lot! Attached garage and = side drive.=20 Lower Level rec room with wet bar,seperate heat and half bath. = Updated=20 mechanicals and central air. Well cared for. Convenient=20 location.
Listing Office: = Market Masters Realty, LLC: = mmreal

Information=20 is supplied by seller and other third parties and has not been=20 verified.
Copyright 2010 by Multiple Listing Service, Inc. See copyright=20 notice.
Prepared by Randy Krysinski on Monday, May 03, 2010 2:53 = PM ------=_NextPart_000_0000_01CAEAD0.7614C410 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://photos.mlswis.com/met/20100111170444651829000000.jpg /9j/4AAQSkZJRgABAQEBLAEsAAD/7RGwUGhvdG9zaG9wIDMuMAA4QklNBCUAAAAAABAAAAAAAAAA AAAAAAAAAAAAOEJJTQPtAAAAAAAQAEgAAAABAAEASAAAAAEAAThCSU0EJgAAAAAADgAAAAAAAAAA AAA/gAAAOEJJTQQNAAAAAAAEAAAAHjhCSU0EGQAAAAAABAAAAB44QklNA/MAAAAAAAkAAAAAAAAA AAEAOEJJTQQKAAAAAAABAAA4QklNJxAAAAAAAAoAAQAAAAAAAAACOEJJTQP1AAAAAABIAC9mZgAB AGxmZgAGAAAAAAABAC9mZgABAKGZmgAGAAAAAAABADIAAAABAFoAAAAGAAAAAAABADUAAAABAC0A AAAGAAAAAAABOEJJTQP4AAAAAABwAAD/////////////////////////////A+gAAAAA//////// /////////////////////wPoAAAAAP////////////////////////////8D6AAAAAD///////// ////////////////////A+gAADhCSU0ECAAAAAAAEAAAAAEAAAJAAAACQAAAAAA4QklNBB4AAAAA AAQAAAAAOEJJTQQaAAAAAANDAAAABgAAAAAAAAAAAAAA2AAAASwAAAAHADEAMQAxADgAMQAwADMA AAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAASwAAADYAAAAAAAAAAAAAAAAAAAAAAEA AAAAAAAAAAAAAAAAAAAAAAAAEAAAAAEAAAAAAABudWxsAAAAAgAAAAZib3VuZHNPYmpjAAAAAQAA AAAAAFJjdDEAAAAEAAAAAFRvcCBsb25nAAAAAAAAAABMZWZ0bG9uZwAAAAAAAAAAQnRvbWxvbmcA AADYAAAAAFJnaHRsb25nAAABLAAAAAZzbGljZXNWbExzAAAAAU9iamMAAAABAAAAAAAFc2xpY2UA AAASAAAAB3NsaWNlSURsb25nAAAAAAAAAAdncm91cElEbG9uZwAAAAAAAAAGb3JpZ2luZW51bQAA AAxFU2xpY2VPcmlnaW4AAAANYXV0b0dlbmVyYXRlZAAAAABUeXBlZW51bQAAAApFU2xpY2VUeXBl AAAAAEltZyAAAAAGYm91bmRzT2JqYwAAAAEAAAAAAABSY3QxAAAABAAAAABUb3AgbG9uZwAAAAAA AAAATGVmdGxvbmcAAAAAAAAAAEJ0b21sb25nAAAA2AAAAABSZ2h0bG9uZwAAASwAAAADdXJsVEVY VAAAAAEAAAAAAABudWxsVEVYVAAAAAEAAAAAAABNc2dlVEVYVAAAAAEAAAAAAAZhbHRUYWdURVhU AAAAAQAAAAAADmNlbGxUZXh0SXNIVE1MYm9vbAEAAAAIY2VsbFRleHRURVhUAAAAAQAAAAAACWhv cnpBbGlnbmVudW0AAAAPRVNsaWNlSG9yekFsaWduAAAAB2RlZmF1bHQAAAAJdmVydEFsaWduZW51 bQAAAA9FU2xpY2VWZXJ0QWxpZ24AAAAHZGVmYXVsdAAAAAtiZ0NvbG9yVHlwZWVudW0AAAARRVNs aWNlQkdDb2xvclR5cGUAAAAATm9uZQAAAAl0b3BPdXRzZXRsb25nAAAAAAAAAApsZWZ0T3V0c2V0 bG9uZwAAAAAAAAAMYm90dG9tT3V0c2V0bG9uZwAAAAAAAAALcmlnaHRPdXRzZXRsb25nAAAAAAA4 QklNBCgAAAAAAAwAAAABP/AAAAAAAAA4QklNBBEAAAAAAAEBADhCSU0EFAAAAAAABAAAAAE4QklN BAwAAAAAC8sAAAABAAAAoAAAAHMAAAHgAADXoAAAC68AGAAB/9j/4AAQSkZJRgABAgEASABIAAD/ 7QAMQWRvYmVfQ00AAv/uAA5BZG9iZQBkgAAAAAH/2wCEAAwICAgJCAwJCQwRCwoLERUPDAwPFRgT ExUTExgRDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBDQsLDQ4NEA4OEBQODg4U FA4ODg4UEQwMDAwMEREMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDP/AABEIAHMA oAMBIgACEQEDEQH/3QAEAAr/xAE/AAABBQEBAQEBAQAAAAAAAAADAAECBAUGBwgJCgsBAAEFAQEB AQEBAAAAAAAAAAEAAgMEBQYHCAkKCxAAAQQBAwIEAgUHBggFAwwzAQACEQMEIRIxBUFRYRMicYEy BhSRobFCIyQVUsFiMzRygtFDByWSU/Dh8WNzNRaisoMmRJNUZEXCo3Q2F9JV4mXys4TD03Xj80Yn lKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3EQACAgECBAQDBAUGBwcGBTUB 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 z/BP/wA3KNoDsq90a6uH5HByBgU8TzztY4IHjBPx1VHJuqa+LCWtEgkBs8Ej2+3d7/b/ANNdifq5 09zS15tc09t5adP5Ve1yZv1Y6K0ycff5WOc8fdY4pCBRbyLmdPGKb2+oLA2YNjDJ/d2+mljOre79 FL2lp7azt9zfb+4//PXY/wDN7o0z9jqn+oAiDo/TWkFuNUCOCGAI8CreSstqGrnDXntH+rkGys5D IZU+yII2scdTu8Au6bQxmjRA8An2+Mn5pCHiol4odPNLhYaHsg+0kOjiI+j5LR6c00Gy20GtjwCw lpgz/KDfZ9H6L10RYOybZ3TuFFv/1LjUQQgMc7uEQPPgpGNMFMIDbB3CI2xqSUgUwhte09wpAg8F JLMJwohSQUukkEgkpdJJJJSkkkySlJk6ZFSxCYpyokpIWKY8JyQqnU7LGYRNT3VONtDN7IDgH3VV Wbdwd/g3uSQ//9W0zhFb5oTOEVqlY2YA8E4YEwUwgpYVjton9NSCkEksQ144JThzxyFIKSSmAsMa iFMOEJaFLa1JK4ITyolgS2kcFJTKUlGHJe5JS8pk27xCW4JIUVEp9wTEjxSUxIVPqoAwifC3HP8A 4PQrhQciiu+s1WTsJa4wY1Y5trNf67GpIf/Wss4RWrxxJSsb7QFMLxRJBT7aE68RSSU+3hSXhySS Q+5JHheGpJKfch/rCdeGJJKfckl4akkl9yUT8l4ekkh9uPyUSvE0kkPtRUfvXi6SSn//2f/hGA1o dHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVN ME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+Cjx4OnhtcG1ldGEgeG1sbnM6eD0nYWRvYmU6bnM6bWV0 YS8nIHg6eG1wdGs9J1hNUCB0b29sa2l0IDMuMC0yOCwgZnJhbWV3b3JrIDEuNic+CjxyZGY6UkRG IHhtbG5zOnJkZj0naHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIycg eG1sbnM6aVg9J2h0dHA6Ly9ucy5hZG9iZS5jb20vaVgvMS4wLyc+CgogPHJkZjpEZXNjcmlwdGlv biByZGY6YWJvdXQ9J3V1aWQ6MTcwMGMzYTMtZmVmNC0xMWRlLThhNTQtY2RiOGZlMzI2NWZiJwog IHhtbG5zOmV4aWY9J2h0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvJz4KICA8ZXhpZjpDb2xv clNwYWNlPjQyOTQ5NjcyOTU8L2V4aWY6Q29sb3JTcGFjZT4KICA8ZXhpZjpQaXhlbFhEaW1lbnNp b24+MzAwPC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+MjE2 PC9leGlmOlBpeGVsWURpbWVuc2lvbj4KIDwvcmRmOkRlc2NyaXB0aW9uPgoKIDxyZGY6RGVzY3Jp cHRpb24gcmRmOmFib3V0PSd1dWlkOjE3MDBjM2EzLWZlZjQtMTFkZS04YTU0LWNkYjhmZTMyNjVm YicKICB4bWxuczpwZGY9J2h0dHA6Ly9ucy5hZG9iZS5jb20vcGRmLzEuMy8nPgogPC9yZGY6RGVz Y3JpcHRpb24+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9J3V1aWQ6MTcwMGMzYTMtZmVm NC0xMWRlLThhNTQtY2RiOGZlMzI2NWZiJwogIHhtbG5zOnBob3Rvc2hvcD0naHR0cDovL25zLmFk b2JlLmNvbS9waG90b3Nob3AvMS4wLyc+CiAgPHBob3Rvc2hvcDpIaXN0b3J5PjwvcGhvdG9zaG9w Okhpc3Rvcnk+CiA8L3JkZjpEZXNjcmlwdGlvbj4KCiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91 dD0ndXVpZDoxNzAwYzNhMy1mZWY0LTExZGUtOGE1NC1jZGI4ZmUzMjY1ZmInCiAgeG1sbnM6dGlm Zj0naHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8nPgogIDx0aWZmOk9yaWVudGF0aW9uPjE8 L3RpZmY6T3JpZW50YXRpb24+CiAgPHRpZmY6WFJlc29sdXRpb24+NzIvMTwvdGlmZjpYUmVzb2x1 dGlvbj4KICA8dGlmZjpZUmVzb2x1dGlvbj43Mi8xPC90aWZmOllSZXNvbHV0aW9uPgogIDx0aWZm OlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiA8L3JkZjpEZXNjcmlwdGlv bj4KCiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0ndXVpZDoxNzAwYzNhMy1mZWY0LTExZGUt OGE1NC1jZGI4ZmUzMjY1ZmInCiAgeG1sbnM6eGFwPSdodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8x LjAvJz4KICA8eGFwOkNyZWF0ZURhdGU+MjAxMC0wMS0xMVQxNDoxNDoyMS0wNjowMDwveGFwOkNy ZWF0ZURhdGU+CiAgPHhhcDpNb2RpZnlEYXRlPjIwMTAtMDEtMTFUMTQ6NTg6NDktMDY6MDA8L3hh cDpNb2RpZnlEYXRlPgogIDx4YXA6TWV0YWRhdGFEYXRlPjIwMTAtMDEtMTFUMTQ6NTg6NDktMDY6 MDA8L3hhcDpNZXRhZGF0YURhdGU+CiAgPHhhcDpDcmVhdG9yVG9vbD5BZG9iZSBQaG90b3Nob3Ag RWxlbWVudHMgMy4wIFdpbmRvd3M8L3hhcDpDcmVhdG9yVG9vbD4KIDwvcmRmOkRlc2NyaXB0aW9u PgoKIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSd1dWlkOjE3MDBjM2EzLWZlZjQtMTFkZS04 YTU0LWNkYjhmZTMyNjVmYicKICB4bWxuczp4YXBNTT0naHR0cDovL25zLmFkb2JlLmNvbS94YXAv MS4wL21tLyc+CiAgPHhhcE1NOkRvY3VtZW50SUQ+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjExMjMz NTM3LWZlZjQtMTFkZS04YTU0LWNkYjhmZTMyNjVmYjwveGFwTU06RG9jdW1lbnRJRD4KIDwvcmRm OkRlc2NyaXB0aW9uPgoKIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSd1dWlkOjE3MDBjM2Ez LWZlZjQtMTFkZS04YTU0LWNkYjhmZTMyNjVmYicKICB4bWxuczpkYz0naHR0cDovL3B1cmwub3Jn L2RjL2VsZW1lbnRzLzEuMS8nPgogIDxkYzpmb3JtYXQ+aW1hZ2UvanBlZzwvZGM6Zm9ybWF0Pgog PC9yZGY6RGVzY3JpcHRpb24+Cgo8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0ndyc/Pv/b AEMACAYGBwYFCAcHBwkJCAoMFA0MCwsMGRITDxQdGh8eHRocHCAkLicgIiwjHBwoNyksMDE0NDQf Jzk9ODI8LjM0Mv/bAEMBCQkJDAsMGA0NGDIhHCEyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMv/AABEIANgBLAMBIgACEQEDEQH/xAAbAAACAwEBAQAAAAAA AAAAAAAAAgEDBQQGB//EAEIQAAEDAgQDBAYHBgQHAAAAAAEAAgMEEQUSITETQVEGImGBFCMyUmJx FUKCkaGxwQcWQ6LR4TM0RHIkNVNjc5Ky/8QAFwEBAQEBAAAAAAAAAAAAAAAAAAECA//EAB8RAQEB AAIDAAMBAAAAAAAAAAABEQIhEjFBAxNRYf/aAAwDAQACEQMRAD8AwH1jZ6dzKqjtIGXa5lnHVVU/ o0LXyQuyknvRnYg/DyWXRUdVWZxT8SDkRm0v+itqH1dLEKWaLghn8QXN789dlth6AVsXChiyuaAd clnWt+S0r0NZThhfGR/u1XncMgio3tmlqY5A4AXY3u6crclukQ1UPfbGIhuX6EHwVHYKOJ2jMrgN CJO8pjw+KFznRNtfdocQPLoq4KR8ML/Q58web2l11PjurKerqHzZJomxZb3aLuPzWgr4GcZkonmi LLjXU+Sv9CeGFhldMHa991iL/JNU1dIyFxmljA6F2pK52VfGcwU0slr823aPNB3QB4+pqNMxXUBl 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 ------=_NextPart_000_0000_01CAEAD0.7614C410 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://public.mlswis.com/html/common/css/ie_basic_classic.css BODY { SCROLLBAR-ARROW-COLOR: black; SCROLLBAR-FACE-COLOR: rgb(230,230,230); = SCROLLBAR-DARKSHADOW-COLOR: rgb(110,110,110); SCROLLBAR-BASE-COLOR: = #000000; SCROLLBAR-HIGHLIGHT-COLOR: rgb(250,250,250); = SCROLLBAR-SHADOW-COLOR: rgb(190,190,190); SCROLLBAR-3DLIGHT-COLOR: = rgb(235,235,235) } SELECT { BEHAVIOR: url(/html/common/select.htc) } ------=_NextPart_000_0000_01CAEAD0.7614C410 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://public.mlswis.com/html/common/css/basic_common.css BODY { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; FONT-FAMILY: Arial,sans-serif; FONT-SIZE: x-small; PADDING-TOP: 0px } FORM { PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: = 0px; PADDING-TOP: 0px } H1 { TEXT-ALIGN: center; FONT-FAMILY: Arial,sans-serif; FONT-SIZE: large; = FONT-WEIGHT: bold } H2 { TEXT-ALIGN: center; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: = 0px; PADDING-RIGHT: 0px; FONT-FAMILY: Arial,sans-serif; FONT-SIZE: 8pt; = FONT-WEIGHT: bold; PADDING-TOP: 0px } .pagetitle { TEXT-ALIGN: center; FONT-FAMILY: Arial,sans-serif; FONT-SIZE: 18pt; = FONT-WEIGHT: bold } TABLE { FONT-FAMILY: Arial,sans-serif; FONT-SIZE: x-small } TH { TEXT-ALIGN: left; FONT-FAMILY: Arial,sans-serif; FONT-SIZE: x-small; = FONT-WEIGHT: bold } A:link { TEXT-DECORATION: none } A:active { TEXT-DECORATION: none } A:visited { TEXT-DECORATION: none } A:hover { TEXT-DECORATION: underline } .left { TEXT-ALIGN: left } .center { TEXT-ALIGN: center } .right { TEXT-ALIGN: right } .bold { FONT-WEIGHT: bold } .nowrap { WHITE-SPACE: nowrap } .pad1 { PADDING-BOTTOM: 1px; PADDING-LEFT: 1px; PADDING-RIGHT: 1px; = PADDING-TOP: 1px } .pad2 { PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; = PADDING-TOP: 2px } .pad3 { PADDING-BOTTOM: 3px; PADDING-LEFT: 3px; PADDING-RIGHT: 3px; = PADDING-TOP: 3px } .width100 { WIDTH: 100% } .btnverdana { FONT-FAMILY: Verdana,sans-serif; FONT-SIZE: 8pt; CURSOR: pointer; = FONT-WEIGHT: normal } .btn { FONT-FAMILY: Arial,sans-serif; FONT-SIZE: 10pt; CURSOR: pointer; = FONT-WEIGHT: normal } BUTTON { FONT-FAMILY: Arial,sans-serif; FONT-SIZE: 10pt; CURSOR: pointer; = FONT-WEIGHT: normal } .btnhide { FONT-FAMILY: Arial,sans-serif; FONT-SIZE: 11px; CURSOR: pointer; = FONT-WEIGHT: normal } .btnbold { FONT-FAMILY: Arial,sans-serif; FONT-SIZE: 11px; CURSOR: pointer; = FONT-WEIGHT: bold } .btnboldhide { FONT-FAMILY: Arial,sans-serif; FONT-SIZE: 11px; CURSOR: pointer; = FONT-WEIGHT: bold } .btnred { BORDER-BOTTOM: black 2px solid; BORDER-LEFT: lavender 2px solid; = BACKGROUND-COLOR: #dd0000; FONT-FAMILY: Arial; COLOR: yellow; FONT-SIZE: = 11px; BORDER-TOP: lavender 2px solid; CURSOR: pointer; FONT-WEIGHT: = normal; BORDER-RIGHT: black 2px solid } .btnred:hover { BACKGROUND-COLOR: rgb(255,0,0) } .btnlight { BORDER-BOTTOM: black 1px solid; BORDER-LEFT: #e0e0e0 1px solid; = BACKGROUND-COLOR: #d0d0d0; FONT-FAMILY: Arial; COLOR: #004080; = FONT-SIZE: 10px; BORDER-TOP: #e0e0e0 1px solid; CURSOR: pointer; = FONT-WEIGHT: normal; BORDER-RIGHT: black 1px solid } .btnlight:hover { BACKGROUND-COLOR: rgb(240,240,230) } .btnlighthide { BORDER-BOTTOM: black 1px solid; BORDER-LEFT: #e0e0e0 1px solid; = BACKGROUND-COLOR: #d0d0d0; FONT-FAMILY: Arial; COLOR: #004080; = FONT-SIZE: 10px; BORDER-TOP: #e0e0e0 1px solid; CURSOR: pointer; = FONT-WEIGHT: normal; BORDER-RIGHT: black 1px solid } .btnlighthide:hover { BACKGROUND-COLOR: rgb(240,240,230) } @media Print =20 { .btnhide { DISPLAY: none } .btnboldhide { DISPLAY: none } .btnlighthide { DISPLAY: none } } .dropdown { FONT-FAMILY: Arial,sans-serif; FONT-SIZE: 8pt } LABEL { CURSOR: pointer } .hand { CURSOR: pointer } .inputbox { FONT-FAMILY: Verdana,Arial,sans-serif; FONT-SIZE: xx-small } .inputboxlarge { FONT-FAMILY: Arial,sans-serif; FONT-SIZE: x-small } ------=_NextPart_000_0000_01CAEAD0.7614C410 Content-Type: text/css; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Location: http://public.mlswis.com/html/common/css/basic_classic.css @import url( /html/common/css/basic_common.css ); A:link { COLOR: blue } A:active { COLOR: red } A:visited { COLOR: blue } A:hover { COLOR: green } .linkcolor { COLOR: blue } .linkcolor:hover { COLOR: green } .headerbackground { BACKGROUND-COLOR: #e0e0e0 } .darkheaderbackground { BACKGROUND-COLOR: #d0d0d0 } .rowbackground1 { BACKGROUND-COLOR: #eaeaea } .rowbackground2 { BACKGROUND-COLOR: #f0f0f0 } .row1 { BACKGROUND-COLOR: #eaeaea } .row2 { BACKGROUND-COLOR: #f0f0f0 } .white { BACKGROUND-COLOR: rgb(255,255,255) } .btnverdana { BORDER-BOTTOM: black 2px solid; BORDER-LEFT: lavender 2px solid; = BACKGROUND-COLOR: #fec81f; COLOR: #004080; BORDER-TOP: lavender 2px = solid; BORDER-RIGHT: black 2px solid } .btnverdana:hover { BACKGROUND-COLOR: rgb(254,220,71) } .btn { BORDER-BOTTOM: black 2px solid; BORDER-LEFT: lavender 2px solid; = BACKGROUND-COLOR: #fec81f; COLOR: #004080; BORDER-TOP: lavender 2px = solid; BORDER-RIGHT: black 2px solid } .btn:hover { BACKGROUND-COLOR: rgb(254,220,71) } BUTTON { BORDER-BOTTOM: black 2px solid; BORDER-LEFT: lavender 2px solid; = BACKGROUND-COLOR: #fec81f; COLOR: #004080; BORDER-TOP: lavender 2px = solid; BORDER-RIGHT: black 2px solid } BUTTON:hover { BACKGROUND-COLOR: rgb(254,220,71) } .btnhide { BORDER-BOTTOM: black 2px solid; BORDER-LEFT: lavender 2px solid; = BACKGROUND-COLOR: #fec81f; COLOR: #004080; BORDER-TOP: lavender 2px = solid; BORDER-RIGHT: black 2px solid } .btnhide:hover { BACKGROUND-COLOR: rgb(254,220,71) } .btnbold { BORDER-BOTTOM: black 2px solid; BORDER-LEFT: lavender 2px solid; = BACKGROUND-COLOR: #fec81f; COLOR: #004080; BORDER-TOP: lavender 2px = solid; BORDER-RIGHT: black 2px solid } .btnbold:hover { BACKGROUND-COLOR: rgb(254,220,71) } .btnboldhide { BORDER-BOTTOM: black 2px solid; BORDER-LEFT: lavender 2px solid; = BACKGROUND-COLOR: #fec81f; COLOR: #004080; BORDER-TOP: lavender 2px = solid; BORDER-RIGHT: black 2px solid } .btnboldhide:hover { BACKGROUND-COLOR: rgb(254,220,71) } ------=_NextPart_000_0000_01CAEAD0.7614C410 Content-Type: application/octet-stream Content-Transfer-Encoding: quoted-printable Content-Location: http://public.mlswis.com/client/util.js?2 var browser_type =3D '';=0A= if( navigator.userAgent.indexOf( 'Opera' ) !=3D -1 )=0A= browser_type =3D 'Opera';=0A= else if( navigator.userAgent.indexOf( 'Safari' ) !=3D -1 )=0A= browser_type =3D 'Safari';=0A= else if( navigator.userAgent.indexOf( 'Gecko' ) !=3D -1 )=0A= browser_type =3D 'Gecko';=0A= else if( navigator.userAgent.indexOf( 'MSIE' ) !=3D -1 )=0A= browser_type =3D 'IE';=0A= else=0A= browser_type =3D 'NS';=0A= =0A= String.prototype.trim =3D function() {=0A= return this.replace(/^\s+|\s+$/g, '');=0A= }=0A= =0A= String.prototype.striphtml =3D function() {=0A= return this.replace(/(<([^>]+)>)/ig,"");=0A= }=0A= =0A= String.prototype.stripjs =3D function() {=0A= var tmp =3D this.replace(/(]*>.*<\/\s*script[^>]*>)*/ig,'');=0A= tmp =3D tmp.replace(/]*>/ig,'');=0A= return tmp;=0A= }=0A= =0A= Number.prototype.format =3D function(decimalNum, bolCommas) {=0A= if (isNaN(parseInt(this)))=0A= return "";=0A= var tmpNum =3D this;=0A= if (isNaN(decimalNum)) {=0A= decimalNum =3D 0;=0A= }=0A= =0A= // adjust to requested precision=0A= tmpNum =3D tmpNum.toFixed(decimalNum);=0A= =0A= /* Create a string object to do our formatting on*/=0A= var tmpNumStr =3D tmpNum+''; // calling 'new Sting' does weird things = here, so do an explicit cast=0A= =0A= /* See if we need to put in the commas*/=0A= if (bolCommas && (this >=3D 1000 || this <=3D -1000)) {=0A= var iStart =3D tmpNumStr.indexOf(".");=0A= if (iStart < 0)=0A= iStart =3D tmpNumStr.length;=0A= =0A= iStart -=3D 3;=0A= while (iStart >=3D 1) {=0A= tmpNumStr =3D tmpNumStr.substring(0,iStart) + "," + = tmpNumStr.substring(iStart,tmpNumStr.length)=0A= iStart -=3D 3;=0A= }=0A= }=0A= =0A= return tmpNumStr; /* Return our formatted string!*/=0A= }=0A= =0A= =0A= if (!Array.prototype.indexOf) {=0A= Array.prototype.indexOf =3D function(elt /*, from*/)=0A= {=0A= var len =3D this.length;=0A= =0A= var from =3D Number(arguments[1]) || 0;=0A= from =3D (from < 0)=0A= ? Math.ceil(from)=0A= : Math.floor(from);=0A= if (from < 0)=0A= from +=3D len;=0A= =0A= for (; from < len; from++)=0A= {=0A= if (from in this &&=0A= this[from] =3D=3D=3D elt)=0A= return from;=0A= }=0A= return -1;=0A= };=0A= }=0A= =0A= Array.prototype.removeAllEntries =3D function(c) {=0A= for (var f=3Dthis.length-1; f>=3D0; f--) {=0A= if (this[f]=3D=3Dc) {=0A= this.splice(f,1);=0A= }=0A= }=0A= }=0A= =0A= if (typeof uneval !=3D "function") {=0A= uneval =3D function (o) {=0A= switch (typeof o) {=0A= case "undefined" : return "(void 0)";=0A= case "boolean" : return String(o);=0A= case "number" : return String(o);=0A= case "string" : return '"' + o.replace(/"/g, '\\"') + '"';=0A= case "function" : return "(" + o.toString() + ")";=0A= case "object" :=0A= if (o =3D=3D null) return "null";=0A= var type =3D Object.prototype.toString.call(o).match(/\[object = (.+)\]/);=0A= if (!type) throw TypeError("unknown type:"+o);=0A= switch (type[1]) {=0A= case "Array":=0A= var ret =3D [];=0A= for (var i =3D 0, l =3D o.length; i < l; = ret.push(arguments.callee(o[i++])));=0A= return "[" + ret.join(", ") + "]";=0A= case "Object":=0A= var ret =3D [];=0A= for (var i in o) {=0A= if (!o.hasOwnProperty(i)) continue;=0A= ret.push(arguments.callee(i) + ":" + arguments.callee(o[i]));=0A= }=0A= return "({" + ret.join(", ") + "})";=0A= case "Number":=0A= return "(new Number(" + o + "))";=0A= case "String":=0A= return "(new String(" + arguments.callee(o) + "))";=0A= case "Date":=0A= return "(new Date(" + o.getTime() + "))";=0A= default:=0A= if (o.toSource) return o.toSource();=0A= throw TypeError("unknown type:"+o);=0A= }=0A= }=0A= }=0A= }=0A= =0A= /*************=0A= this function will take a string and split it into equal specified parts = and return as array=0A= **************/=0A= function splitN(intext, splitlen) {=0A= var tmparr =3D new Array();=0A= var textLen =3D intext.length;=0A= if (textLen > splitlen) {=0A= var si =3D 0;=0A= var ei =3D splitlen;=0A= while (si < textLen) {=0A= if (ei > textLen)=0A= ei =3D textLen;=0A= tmparr.push(intext.substring(si, ei));=0A= si =3D ei;=0A= ei =3D ei + splitlen;=0A= }=0A= } else {=0A= tmparr.push(intext);=0A= }=0A= return tmparr;=0A= }=0A= =0A= /*************=0A= this function will take any object, expand and display the content to = the browser)=0A= **************/=0A= function explain(obj,rec){=0A= var s =3D "";=0A= s +=3D explaininner(obj,0,rec);=0A= alert(s);=0A= }=0A= /*************=0A= this function is a recursive subset for the function above ... only call = above function=0A= **************/=0A= function explaininner(obj,lvl,rec) {=0A= var rx =3D "";=0A= var sp =3D lvl+"";=0A= for (x=3D1; x<=3Dlvl; x++) {=0A= sp+=3D" ";=0A= }=0A= for (var key in obj) {=0A= var k =3D obj[key];=0A= if (typeof k.length =3D=3D "number") {=0A= rx +=3D "\n"+sp+"-"+key+":"+k.toString();=0A= } else if (typeof k =3D=3D "object") {=0A= rx +=3D "\n"+sp+"-"+key;=0A= if (rec || (!rec && lvl=3D=3D0))=0A= rx +=3D explaininner(k, lvl+1, rec);=0A= } else {=0A= rx +=3D "\n"+sp+"-"+key+":"+k;=0A= }=0A= }=0A= return rx;=0A= }=0A= =0A= /*************=0A= this removes x'' from a string=0A= **************/=0A= function rmxId(rstr){=0A= return = rstr.substring(0,2)=3D=3D"x'"?rstr.substring(2,rstr.length-1):rstr;=0A= }=0A= =0A= /*************=0A= this adds x'' if necessary to a string=0A= **************/=0A= function xId(dstr){=0A= return dstr.substring(0,2)=3D=3D"x'"?dstr:"x'"+dstr+"'";=0A= }=0A= =0A= function getWindowHeight() {=0A= var windowHeight=3D0;=0A= if (typeof(window.innerHeight)=3D=3D'number') {=0A= windowHeight=3Dwindow.innerHeight;=0A= } else {=0A= if (document.documentElement && document.documentElement.clientHeight){=0A= windowHeight =3D document.documentElement.clientHeight;=0A= } else {=0A= if (document.body && document.body.clientHeight) {=0A= windowHeight =3D document.body.clientHeight;=0A= }=0A= }=0A= }=0A= return windowHeight;=0A= }=0A= =0A= function getWindowWidth() {=0A= var windowWidth=3D0;=0A= if (typeof(window.innerWidth)=3D=3D'number'){=0A= windowWidth=3Dwindow.innerWidth;=0A= } else {=0A= if (document.documentElement && document.documentElement.clientWidth) {=0A= windowWidth =3D document.documentElement.clientWidth;=0A= } else {=0A= if (document.body && document.body.clientWidth) {=0A= windowWidth =3D document.body.clientWidth;=0A= }=0A= }=0A= }=0A= return windowWidth;=0A= }=0A= =0A= function changecss(theClass,element,value) {=0A= var cssRules;=0A= if (document.all) {=0A= cssRules =3D 'rules';=0A= } else if (document.getElementById) {=0A= cssRules =3D 'cssRules';=0A= }=0A= for (var S =3D 0; S < document.styleSheets.length; S++){=0A= for (var R =3D 0; R < document.styleSheets[S][cssRules].length; R++) {=0A= if (document.styleSheets[S][cssRules][R].selectorText =3D=3D = theClass) {=0A= document.styleSheets[S][cssRules][R].style[element] =3D value;=0A= }=0A= }=0A= }=0A= }=0A= =0A= function createCookie(name,value,days) {=0A= if (days) {=0A= var date =3D new Date();=0A= date.setTime(date.getTime()+(days*24*60*60*1000));=0A= var expires =3D "; expires=3D"+date.toGMTString();=0A= }=0A= else var expires =3D "";=0A= document.cookie =3D name+"=3D"+value+expires+"; path=3D/";=0A= }=0A= =0A= function readCookie(name) {=0A= var nameEQ =3D name + "=3D";=0A= var ca =3D document.cookie.split(';');=0A= for(var i=3D0;i < ca.length;i++) {=0A= var c =3D ca[i];=0A= while (c.charAt(0)=3D=3D' ') c =3D c.substring(1,c.length);=0A= if (c.indexOf(nameEQ) =3D=3D 0) return = c.substring(nameEQ.length,c.length);=0A= }=0A= return null;=0A= }=0A= =0A= function eraseCookie(name) {=0A= createCookie(name,"",-1);=0A= }=0A= =0A= /*************=0A= Formats the date with the given date mask. The mask is returned and the = internal date is not altered.=0A= **************/=0A= Date.prototype.formatDate =3D function(strMask){=0A= /* Create the values for each part of the potential date mask.*/=0A= var x =3D this.getMonth()+1;=0A= var objParts =3D {=0A= "d": this.getDate(),=0A= "dd": (this.getDate().toString().length =3D=3D 1) ? ("0" + = this.getDate()) : this.getDate(),=0A= "ddd": [ "Sun","Mon","Tue","Wed","Thu","Fri","Sat" ][ this.getDay() ],=0A= "dddd": [ = "Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday" = ][ this.getDay() ],=0A= "m": x,=0A= "mm": (x.toString().length =3D=3D 1) ? ("0" + x) : x,=0A= "mmm": [ = "Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec" = ][ this.getMonth() ],=0A= "mmmm": [ = "January","February","March","April","May","June","July","August","Septem= ber","October","November","December" ][ this.getMonth() ],=0A= "yy": this.getYear().toString().substring( 1, 3 ),=0A= "yyyy": this.getFullYear()=0A= }=0A= =0A= /* Check to see if we have special date formatting options.*/=0A= switch ( strMask ){=0A= case "short":=0A= return( objParts[ "m" ] + "/" + objParts[ "d" ] + "/" + objParts[ = "yyyy" ] );=0A= break;=0A= =0A= case "medium":=0A= return( objParts[ "mmm" ] + " " + objParts[ "d" ] + ", " + objParts[ = "yyyy" ] );=0A= break;=0A= =0A= case "long":=0A= return( objParts[ "mmmm" ] + " " + objParts[ "d" ] + ", " + objParts[ = "yyyy" ] );=0A= break;=0A= =0A= case "full":=0A= return( objParts[ "dddd" ] + ", " + objParts[ "mmmm" ] + " " + = objParts[ "d" ] + ", " + objParts[ "yyyy" ] );=0A= break;=0A= =0A= default:=0A= /* There was no special date formatting, so just use the mask.*/=0A= return(=0A= strMask.replace(=0A= new RegExp( "(d{1,4}|m{1,4}|y{4}|y{2})", "gi" ),=0A= function( $1 ){=0A= return( objParts[ $1 ] );=0A= })=0A= );=0A= break;=0A= }=0A= }=0A= =0A= /*************=0A= generic time format=0A= **************/=0A= Date.prototype.formatTime =3D function(){=0A= var a_p =3D "";=0A= var curr_hour =3D this.getHours();=0A= if (curr_hour < 12)=0A= a_p =3D "AM";=0A= else=0A= a_p =3D "PM";=0A= if (curr_hour =3D=3D 0)=0A= curr_hour =3D 12;=0A= if (curr_hour > 12)=0A= curr_hour =3D curr_hour - 12;=0A= var curr_min =3D this.getMinutes();=0A= curr_min =3D curr_min + "";=0A= if (curr_min.length =3D=3D 1)=0A= curr_min =3D "0" + curr_min;=0A= return curr_hour+":"+curr_min+" "+a_p;=0A= }=0A= =0A= function whoCalledMe(a) {=0A= alert("Called by: \n" + a.callee.caller.toString());=0A= for (var x=3D0; x ''*/=0A= if( quotetype =3D=3D 'db' )=0A= {=0A= var tmp =3D '' + this;=0A= return tmp.replace(/\'/g,"''");=0A= }=0A= =0A= /* Javascript quote: ' -> \' and " -> \" and \n --> \\n and \r --> \\r*/=0A= else if( quotetype =3D=3D 'js' )=0A= {=0A= var tmp =3D '' + this;=0A= return tmp.replace(/\\/g, "\\\\").replace(/\'/g, "\\'").replace(/\"/g, = '\\"').replace(/\n/g, "\\n").replace(/\r/g, "\\r");=0A= }=0A= =0A= /* HTML quote: < to < and > to > and " to " and & to = &*/=0A= else if( quotetype =3D=3D 'html' )=0A= {=0A= var tmp =3D '' + this;=0A= return tmp.replace(/\&/g, "&").replace(/\/g, ">").replace(/\"/g, """);=0A= }=0A= =0A= /* tech_id quote: make sure string is of format = x'12345678901234567890123456'*/=0A= /* Returns "raw" tech_id on success, or blank string on failure*/=0A= else if( quotetype =3D=3D 'tech_id' )=0A= {=0A= var tmp =3D '' + this;=0A= if( tmp.length !=3D 26 && tmp.length !=3D 29 )=0A= return default_value;=0A= tmp =3D rmxId( tmp );=0A= for( var i =3D 0; i < 26; i++ )=0A= {=0A= var c =3D tmp.charAt(i);=0A= if( c !=3D '0' && c !=3D '1' && c !=3D '2' && c !=3D '3' && c = !=3D '4' && c !=3D '5' && c !=3D '6' && c !=3D '7' && c !=3D '8' && c = !=3D '9' )=0A= return default_value;=0A= }=0A= return xId(tmp);=0A= }=0A= =0A= /* int quote: make sure string only contains 0123456789-*/=0A= else if( quotetype =3D=3D 'int' )=0A= {=0A= var tmp =3D '' + this;=0A= tmp =3D tmp.replace(/[^\d\-]/g,'');=0A= var tmpint =3D parseInt( tmp );=0A= if( isNaN( tmpint ) )=0A= return default_value;=0A= return tmpint;=0A= }=0A= =0A= /* decimal quote: make sure string only contains 0123456789-.*/=0A= else if( quotetype =3D=3D 'decimal' )=0A= {=0A= var tmp =3D '' + this;=0A= tmp =3D tmp.replace(/[^\d\-\.]/g,'');=0A= var tmpfloat =3D parseFloat( tmp );=0A= if( isNaN( tmpfloat ) )=0A= return default_value;=0A= return tmpfloat;=0A= }=0A= =0A= /* date quote: accepts dates in any of these formats, with any = delimiter character:*/=0A= /* YYYY-MM-DD, MM-DD-YYYY, MM-DD-YY, YYYYMMDD, MMDDYY*/=0A= /* returns a blank string if date does not verify.*/=0A= else if( quotetype =3D=3D 'date' )=0A= {=0A= var tmp =3D '' + this;=0A= tmp =3D tmp.trim().replace(/[\D]/g,'/');=0A= =0A= /* make sure the user isn't submitting 00/00/0000. CUR-3983 */=0A= zerotmp =3D tmp;=0A= if (parseInt(zerotmp.replace(/\D/g,''),10) =3D=3D 0)=0A= return '';=0A= =0A= if( tmp.length =3D=3D 8 && tmp.indexOf('/') =3D=3D -1 ) /* the = date is in a format without delimiter characters*/=0A= {=0A= /* attempt to guess the proper date format*/=0A= if( tmp.charAt(0) =3D=3D '2' && (tmp.charAt(1) =3D=3D '0' || = tmp.charAt(1) =3D=3D '1' ) )=0A= {=0A= /* guessing that this is YYYY/MM/DD*/=0A= tmp =3D tmp.substr( 0, 4 ) + '/' + tmp.substr( 4, 2 ) + '/' = + tmp.substr( 6, 2 );=0A= }=0A= /* Otherwise, assume MM/DD/YYYY or MM/DD/YY*/=0A= else=0A= tmp =3D tmp.substr( 0, 2 ) + '/' + tmp.substr( 2, 2 ) + '/' = + tmp.substr( 4, 4 );=0A= }=0A= else if( tmp.length =3D=3D 6 && tmp.indexOf('/') =3D=3D -1 ) /* = again, no delimiter characters*/=0A= {=0A= /* assume MM/DD/YY*/=0A= var tmpyear =3D parseInt( tmp.substr( 4, 2 ),10 );=0A= if( tmpyear < 75 )=0A= tmpyear +=3D 2000;=0A= else=0A= tmpyear +=3D 1900;=0A= tmp =3D tmp.substr( 0, 2 ) + '/' + tmp.substr( 2, 2 ) + '/' + = tmpyear;=0A= }=0A= else if (tmp.match(/^[0-9]{1,2}\/[0-9]{1,2}\/[0-9]{1,2}$/)) {=0A= var tmpyear =3D = parseInt(tmp.substr(tmp.lastIndexOf("/")+1).replace(/^[^1-9]/,''));=0A= if( tmpyear < 75 )=0A= tmpyear +=3D 2000;=0A= else=0A= tmpyear +=3D 1900;=0A= tmp =3D tmp.substr( 0, tmp.indexOf("/") ) +"/"+ tmp.substr( = tmp.indexOf("/")+1, (tmp.lastIndexOf("/")- (tmp.indexOf("/")+1)))+"/" + = tmpyear;=0A= }=0A= =0A= var tmpdate =3D new Date( tmp );=0A= if( isNaN( tmpdate ) )=0A= return default_value;=0A= else{=0A= var tmpyear =3D tmpdate.getFullYear();=0A= var stddate =3D (tmpdate.getMonth()+1) + '/' + tmpdate.getDate() + '/' = + tmpyear;=0A= return stddate;=0A= }=0A= }=0A= }=0A= =0A= /*************=0A= initialCaps - Capitalizes the first letter of all words in a String=0A= **************/=0A= String.prototype.initialCaps =3D function(){=0A= return this.replace( /\b\w+\b/g, function (word) {=0A= return word.substring(0,1).toUpperCase() + = word.substring(1).toLowerCase()=0A= });=0A= }=0A= =0A= =0A= /*************=0A= MASK FUNCTION - used to format strings to specifications - = http://jira.fbsdata.com/confluence/x/RR8=0A= **************/=0A= String.prototype.mask =3D function(mask) {=0A= if (!mask) return this; // return original string if no mask is passed = in=0A= =0A= // variables=0A= var newString =3D '';=0A= var reverse =3D (mask.match(/\!$/)) ? true : false ; // if there is a ! = at the end of the mask, this must be processed from right to left=0A= =0A= // if reverse has been established, remove the ! at the end of the mask=0A= if (reverse)=0A= mask =3D mask.substring(0, mask.length-1);=0A= =0A= // establish beginning and ending of loop=0A= var loopPosition =3D (reverse) ? mask.length-1 : 0 ;=0A= var loopEnd =3D (reverse) ? -1 : mask.length ;=0A= var stringPosition =3D (reverse) ? this.length-1 : 0 ;=0A= var stringEnd =3D (reverse) ? -1 : this.length ;=0A= var caseModifier =3D null; // used if < or > are invoked, forcing = characters to be all lower or upper case=0A= var absoluteModifier =3D false // used to detect (\\), which denote = that then next character must be present=0A= var absoluteCharacter =3D null; // used as a placeholder to reduce code=0A= =0A= // setup loop=0A= while (loopPosition !=3D loopEnd) {=0A= =0A= // find the next characters in the mask and the string=0A= var stringChar =3D (stringPosition =3D=3D stringEnd) ? null : = this.charAt(stringPosition) ;=0A= var maskChar =3D mask.charAt(loopPosition);=0A= =0A= // if this is reverse, look ahead one character to see if an absoute = modifier is in place (\\)=0A= // also: don't check the first character in the mask, nothing can = possibly proceed it=0A= if (reverse && loopPosition-1 !=3D loopPosition && = mask.charAt(loopPosition-1) =3D=3D '\\')=0A= absoluteModifier =3D true;=0A= =0A= // if this is an absolute character (escaped by \\), set a placeholder = variable and force the switch statement to default=0A= if (absoluteModifier) {=0A= absoluteCharacter =3D maskChar;=0A= maskChar =3D 'N';=0A= }=0A= =0A= // iterate here, as we may have a situation where a continue is called=0A= (reverse) ? loopPosition-- : loopPosition++ ;=0A= =0A= // process the mask character=0A= switch (maskChar) {=0A= =0A= case '>': // all characters after this must be uppercase=0A= caseModifier =3D 'uppercase';=0A= continue;=0A= break;=0A= =0A= case '<': // all characters after this must be lowercase=0A= caseModifier =3D 'lowercase';=0A= continue;=0A= break;=0A= =0A= case '\\': // the next character must be an exact match, used to = escape=0A= absoluteModifier =3D (reverse) ? false : true;=0A= continue;=0A= break;=0A= =0A= case '0': // required digit=0A= if (stringChar) {=0A= var stringMatch =3D stringChar.match(/\d/);=0A= var stringToAdd =3D (stringMatch) ? stringChar : '0' ;=0A= newString =3D (reverse) ? stringToAdd + newString : newString + = stringToAdd ;=0A= (reverse) ? stringPosition-- : stringPosition++ ;=0A= }=0A= else newString =3D (reverse) ? '0' + newString : newString + '0' ; = // force zero if no digit is present=0A= break;=0A= =0A= case '9': // optional digit=0A= if (stringChar) {=0A= var stringMatch =3D stringChar.match(/\d/);=0A= if (stringMatch) {=0A= newString =3D (reverse) ? stringChar + newString : newString + = stringChar ;=0A= (reverse) ? stringPosition-- : stringPosition++ ;=0A= }=0A= }=0A= break;=0A= =0A= case '#': // required digit, space, plus, or minus=0A= if (stringChar) {=0A= var stringMatch =3D stringChar.match(/\d|-|\+|\s/);=0A= var stringToAdd =3D (stringMatch) ? stringChar : ' ' ;=0A= newString =3D (reverse) ? stringToAdd + newString : newString + = stringToAdd ;=0A= (reverse) ? stringPosition-- : stringPosition++ ;=0A= }=0A= else newString =3D (reverse) ? '0' + newString : newString + '0' ; = // force zero if no digit is present=0A= break;=0A= =0A= case 'L': // required letter=0A= if (stringChar) {=0A= var stringMatch =3D stringChar.match(/[a-z]|[A-Z]/);=0A= if (stringMatch) {=0A= =0A= // handle any case modifiers (<) or (>)=0A= if (caseModifier =3D=3D 'lowercase')=0A= newString =3D (reverse) ? stringChar.toLowerCase() + newString : = newString + stringChar.toLowerCase() ;=0A= else if (caseModifier =3D=3D 'uppercase')=0A= newString =3D (reverse) ? stringChar.toUpperCase() + newString : = newString + stringChar.toUpperCase() ;=0A= else=0A= newString =3D (reverse) ? stringChar + newString : newString + = stringChar ;=0A= =0A= (reverse) ? stringPosition-- : stringPosition++ ;=0A= }=0A= else { // force X if no letter is present=0A= if (caseModifier =3D=3D 'lowercase')=0A= newString =3D (reverse) ? 'x' + newString : newString + 'x' ;=0A= else=0A= newString =3D (reverse) ? 'X' + newString : newString + 'X' ;=0A= }=0A= }=0A= break;=0A= =0A= case '?': // optional letter=0A= if (stringChar) {=0A= var stringMatch =3D stringChar.match(/[a-z]|[A-Z]/);=0A= if (stringMatch) {=0A= =0A= // handle any case modifiers (<) or (>)=0A= if (caseModifier =3D=3D 'lowercase')=0A= newString =3D (reverse) ? stringChar.toLowerCase() + newString : = newString + stringChar.toLowerCase() ;=0A= else if (caseModifier =3D=3D 'uppercase')=0A= newString =3D (reverse) ? stringChar.toUpperCase() + newString : = newString + stringChar.toUpperCase() ;=0A= else=0A= newString =3D (reverse) ? stringChar + newString : newString + = stringChar ;=0A= =0A= (reverse) ? stringPosition-- : stringPosition++ ;=0A= }=0A= }=0A= break;=0A= =0A= case 'A': // required letter or digit=0A= if (stringChar) {=0A= var stringMatch =3D stringChar.match(/[a-z]|[A-Z]|\d/);=0A= if (stringMatch) {=0A= =0A= // handle any case modifiers (<) or (>)=0A= if (caseModifier =3D=3D 'lowercase')=0A= newString =3D (reverse) ? stringChar.toLowerCase() + newString : = newString + stringChar.toLowerCase() ;=0A= else if (caseModifier =3D=3D 'uppercase')=0A= newString =3D (reverse) ? stringChar.toUpperCase() + newString : = newString + stringChar.toUpperCase() ;=0A= else=0A= newString =3D (reverse) ? stringChar + newString : newString + = stringChar ;=0A= =0A= (reverse) ? stringPosition-- : stringPosition++ ;=0A= }=0A= else { // force X if no letter is present=0A= if (caseModifier =3D=3D 'lowercase')=0A= newString =3D (reverse) ? 'x' + newString : newString + 'x' ;=0A= else=0A= newString =3D (reverse) ? 'X' + newString : newString + 'X' ;=0A= }=0A= }=0A= break;=0A= =0A= case 'a': // optional letter or digit=0A= if (stringChar) {=0A= var stringMatch =3D stringChar.match(/[a-z]|[A-Z]|\d/);=0A= if (stringMatch) {=0A= =0A= // handle any case modifiers (<) or (>)=0A= if (caseModifier =3D=3D 'lowercase')=0A= newString =3D (reverse) ? stringChar.toLowerCase() + newString : = newString + stringChar.toLowerCase() ;=0A= else if (caseModifier =3D=3D 'uppercase')=0A= newString =3D (reverse) ? stringChar.toUpperCase() + newString : = newString + stringChar.toUpperCase() ;=0A= else=0A= newString =3D (reverse) ? stringChar + newString : newString + = stringChar ;=0A= =0A= (reverse) ? stringPosition-- : stringPosition++ ;=0A= }=0A= }=0A= break;=0A= =0A= case '&': // required character or space=0A= if (stringChar) {=0A= var stringMatch =3D stringChar.match(/./);=0A= if (stringMatch) {=0A= =0A= // handle any case modifiers (<) or (>)=0A= if (caseModifier =3D=3D 'lowercase')=0A= newString =3D (reverse) ? stringChar.toLowerCase() + newString : = newString + stringChar.toLowerCase() ;=0A= else if (caseModifier =3D=3D 'uppercase')=0A= newString =3D (reverse) ? stringChar.toUpperCase() + newString : = newString + stringChar.toUpperCase() ;=0A= else=0A= newString =3D (reverse) ? stringChar + newString : newString + = stringChar ;=0A= =0A= (reverse) ? stringPosition-- : stringPosition++ ;=0A= }=0A= else { // force X if no letter is present=0A= if (caseModifier =3D=3D 'lowercase')=0A= newString =3D (reverse) ? 'x' + newString : newString + 'x' ;=0A= else=0A= newString =3D (reverse) ? 'X' + newString : newString + 'X' ;=0A= }=0A= }=0A= break;=0A= =0A= case 'C': // optional character or space=0A= if (stringChar) {=0A= var stringMatch =3D stringChar.match(/./);=0A= if (stringMatch) {=0A= =0A= // handle any case modifiers (<) or (>)=0A= if (caseModifier =3D=3D 'lowercase')=0A= newString =3D (reverse) ? stringChar.toLowerCase() + newString : = newString + stringChar.toLowerCase() ;=0A= else if (caseModifier =3D=3D 'uppercase')=0A= newString =3D (reverse) ? stringChar.toUpperCase() + newString : = newString + stringChar.toUpperCase() ;=0A= else=0A= newString =3D (reverse) ? stringChar + newString : newString + = stringChar ;=0A= =0A= (reverse) ? stringPosition-- : stringPosition++ ;=0A= }=0A= }=0A= break;=0A= =0A= default: // exact match=0A= =0A= // if this is an absolute character (escaped by \\), use the = placeholder variable and reset the absolute variables=0A= if (absoluteModifier) {=0A= maskChar =3D absoluteCharacter;=0A= absoluteModifier =3D false;=0A= absoluteCharacter =3D null;=0A= }=0A= =0A= if (stringChar) {=0A= var stringMatch =3D (stringChar.indexOf(maskChar) !=3D -1);=0A= if (stringMatch) {=0A= newString =3D (reverse) ? stringChar + newString : newString + = stringChar ;=0A= (reverse) ? stringPosition-- : stringPosition++ ;=0A= }=0A= else=0A= newString =3D (reverse) ? maskChar + newString : newString + = maskChar ;=0A= }=0A= else=0A= newString =3D (reverse) ? maskChar + newString : newString + = maskChar ;=0A= =0A= break;=0A= }=0A= }=0A= =0A= return newString;=0A= }=0A= =0A= /**=0A= * Loads a JavaScript or CSS file late, after the page has loaded.=0A= * @param fNm {String} path of file to load=0A= * @param fTyp {String} type of file to load "js" or "css"=0A= * @param tmOut {Integer} delay, in milliseconds (optional)=0A= */=0A= var lazyLoad =3D function(){=0A= var loadedFiles=3D[];=0A= return function(fNm,fTyp,tmOut){=0A= if(!fNm || !fTyp){return;}=0A= var isLoaded=3Dfalse;=0A= for(var = i=3D0;i