From: Subject: flexmls Date: Mon, 3 May 2010 14:08:11 -0500 MIME-Version: 1.0 Content-Type: multipart/related; type="text/html"; boundary="----=_NextPart_000_000F_01CAEACA.104CC340" X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579 This is a multi-part message in MIME format. ------=_NextPart_000_000F_01CAEACA.104CC340 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=rhleoa96nn3&id=1&cid=1 flexmls
Brought to=20 you by Randy Krysinski
Address: = 8237 W=20 Daphne St Milwaukee, WI 53223-5560 County:=20 Milwaukee
MLS #:=20 = 1139524
=
Property=20 Type: Single-Family
Status:=20 Active
Tax=20 Key: 1430601000
Zoning: Res=20 List = Price:=20 $117,900

Taxes:=20 $3,484
Tax=20 Year: 2009

Bedrooms:=20 3
Baths: 1 /=20 1
Garage=20 Spaces: 2.5
Garage = Type:=20 Detached
Rooms:=20 6
Sq.=20 Ft.: 1,103
Year = Built:=20 1957
Lot=20 Size: 61x120

Flood = Plain:=20 No
Conforming = Use: Yes Occ. = Permit=20 Required: N=20 =
Directions: = Mill Road to=20 84th, north to Kiehnau, east to 83rd, north to Daphne, east to=20 home
Coordinates: = 67N 82W
School = District:=20 MPS





Name Master Bedroom Bedroom 2 Bedroom 3
Dim L C W
13 x 11 M Yes
13 x 10 M Yes
11 x 9 M Yes
Name Dining Room Kitchen Living/Great Room Rec Room
Dim L C W
10 x 9 M
10 x 9 M
17 x 12 M Yes
33 x 12 L
Type: #=20 of Acres: Style: Architecture: Garage/Parking: Outbuildings: Exterior: Roofing: Basement: Heating/Cooling: H/C=20 Type: Bath=20 Description:
Subdivision
1/4 less than=20 1/2
1 = Story
Ranch
Parking Space; = Electric Door=20 Opener; Driveway Entrance; Paved = Driveway
None
Aluminum; = Partial-Brick;=20 Aluminum Trim
Composition
Full; Block; 1/2=20 Bath
Natural Gas; Central=20 Air
Forced = Air
Shower Over Tub; = Vanity; Half=20 on Lower; Full on = 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:
Land Contract; = Rent/Option to=20 Buy; Other
Seller Condition; Tax = Bill;=20 Prior Title Policy; LeadPaint = Disclosure
None
Patio
220 Volts; Circuit = Breakers;=20 Cable TV Available; Gas Appl. Hook-Up; Elec. Appl.=20 Hook-up
Municipal Water; = Municipal=20 Sewer
Trash = Collection
City
41-60 = Years
1001-1250
Immediate
= Remarks: = Recently=20 refurbished 3 bedroom ranch featuring nice lower level rec room = and extra=20 half bath. Side drive to = garage.
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:07 = PM ------=_NextPart_000_000F_01CAEACA.104CC340 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://photos.mlswis.com/met/20100421200840083323000000.jpg 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 ------=_NextPart_000_000F_01CAEACA.104CC340 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_000F_01CAEACA.104CC340 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_000F_01CAEACA.104CC340 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_000F_01CAEACA.104CC340 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