From: Subject: flexmls Date: Mon, 13 Apr 2009 20:56:48 -0500 MIME-Version: 1.0 Content-Type: multipart/related; type="text/html"; boundary="----=_NextPart_000_0000_01C9BC7A.5CE1BE60" X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579 This is a multi-part message in MIME format. ------=_NextPart_000_0000_01C9BC7A.5CE1BE60 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=oq93cnc3p0f&id=1&cid=1 flexmls
Brought to=20 you by Randy Krysinski
Address: = 15031 W=20 Wood View Dr. N77 Menomonee Falls, WI 53051-4255 County:=20 Waukesha
MLS #:=20 = 1072659
=
Property=20 Type: Single-Family
Status:=20 Active
Tax=20 Key: MNFV0054076
Zoning: Res=20 List = Price:=20 $229,900

Taxes:=20 $3,564
Tax=20 Year: 2008

Bedrooms:=20 3
Baths: 1 /=20 1
Garage=20 Spaces: 2.5
Garage = Type:=20 Attached
Rooms:=20 7
Sq.=20 Ft.: 2,023
Year = Built:=20 1964
Lot=20 Size: 120x185x110x186

Flood = Plain:=20 No
Conforming = Use: Yes Occ. = Permit=20 Required: N=20 =
Directions: = Pilgrim Rd.=20 north of Good Hope to Crossway, east to Wood View, east to=20 property.
Coordinates: = 77N 150W
School = District:=20 Menomonee Falls





Name Master Bedroom Bedroom 2 Bedroom 3
Dim L C W
13 x 13 M Yes Yes
11 x 11 M Yes Yes
11 x 12 M
Name Dining Room Family Room Kitchen Living/Great Room
Dim L C W
13 x 11 M Yes Yes
18 x 13 M Yes Yes
13 x 15 M
19 x 14 M Yes 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/2 less than = 1
1 = Story
Ranch
Electric Door Opener; = Driveway Entrance; Paved Driveway
None
Brick; Aluminum=20 Trim
Composition
Full; = Block
Natural Gas; Central=20 Air
Forced = Air
Dual Entry Off MBR; = Shower=20 Over Tub; Vanity; Ceramic Tile; Half on Main; 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 Prior Title Policy; LeadPaint = Disclosure
Oven; = Range
Patio
Natural Fireplace; = 220 Volts;=20 Circuit Breakers; Cable TV Available
Municipal Sewer; = Private=20 Well
Trash = Collection
Village
41-60 = Years
2001-2500
Immediate; See = Listing=20 = Broker
Remarks: Brick = Ranch.=20 Bright, cheerful interior and floor plan. Well maintained home = offering=20 newer roof, newer furnace, A/C and more!. Two-way fireplace in LR = and FR.=20 Bath entrance from master bedroom. New patio doors to rear patio. = Nice=20 usable yard with mature plantings and trees. FIRST FLOOR LAUNDRY! = Big=20 basement offers plenty of room for rec room etc. Negotiable=20 appliances.
Listing Office: = Market Masters Realty, LLC: = mmreal

Information is supplied by seller and = other=20 third parties and has not been verified.
Copyright 2009 by Multiple = Listing=20 Service, Inc. See copyright=20 notice.
Prepared by Randy Krysinski on Monday, April 13, 2009 = 8:56=20 PM
------=_NextPart_000_0000_01C9BC7A.5CE1BE60 Content-Type: image/jpeg Content-Transfer-Encoding: base64 Content-Location: http://photos.mlswis.com/met/20090414011627091500000000.jpg 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 ------=_NextPart_000_0000_01C9BC7A.5CE1BE60 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-FACE-COLOR: rgb(230,230,230); SCROLLBAR-HIGHLIGHT-COLOR: = rgb(250,250,250); SCROLLBAR-SHADOW-COLOR: rgb(190,190,190); = SCROLLBAR-3DLIGHT-COLOR: rgb(235,235,235); SCROLLBAR-ARROW-COLOR: black; = SCROLLBAR-DARKSHADOW-COLOR: rgb(110,110,110); SCROLLBAR-BASE-COLOR: = #000000 } SELECT { BEHAVIOR: url(/html/common/select.htc) } ------=_NextPart_000_0000_01C9BC7A.5CE1BE60 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-RIGHT: 0px; PADDING-LEFT: 0px; FONT-SIZE: x-small; = PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; FONT-FAMILY: = Arial,sans-serif } FORM { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: = 0px; PADDING-TOP: 0px } H1 { FONT-WEIGHT: bold; FONT-SIZE: large; FONT-FAMILY: Arial,sans-serif; = TEXT-ALIGN: center } H2 { PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bold; FONT-SIZE: = 8pt; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px; FONT-FAMILY: = Arial,sans-serif; TEXT-ALIGN: center } .pagetitle { FONT-WEIGHT: bold; FONT-SIZE: 18pt; FONT-FAMILY: Arial,sans-serif; = TEXT-ALIGN: center } TABLE { FONT-SIZE: x-small; FONT-FAMILY: Arial,sans-serif } TH { FONT-WEIGHT: bold; FONT-SIZE: x-small; FONT-FAMILY: Arial,sans-serif; = TEXT-ALIGN: left } 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-RIGHT: 1px; PADDING-LEFT: 1px; PADDING-BOTTOM: 1px; = PADDING-TOP: 1px } .pad2 { PADDING-RIGHT: 2px; PADDING-LEFT: 2px; PADDING-BOTTOM: 2px; = PADDING-TOP: 2px } .pad3 { PADDING-RIGHT: 3px; PADDING-LEFT: 3px; PADDING-BOTTOM: 3px; = PADDING-TOP: 3px } .width100 { WIDTH: 100% } .btnverdana { FONT-WEIGHT: normal; FONT-SIZE: 8pt; CURSOR: pointer; FONT-FAMILY: = Verdana,sans-serif } .btn { FONT-WEIGHT: normal; FONT-SIZE: 10pt; CURSOR: pointer; FONT-FAMILY: = Arial,sans-serif } BUTTON { FONT-WEIGHT: normal; FONT-SIZE: 10pt; CURSOR: pointer; FONT-FAMILY: = Arial,sans-serif } .btnhide { FONT-WEIGHT: normal; FONT-SIZE: 11px; CURSOR: pointer; FONT-FAMILY: = Arial,sans-serif } .btnbold { FONT-WEIGHT: bold; FONT-SIZE: 11px; CURSOR: pointer; FONT-FAMILY: = Arial,sans-serif } .btnboldhide { FONT-WEIGHT: bold; FONT-SIZE: 11px; CURSOR: pointer; FONT-FAMILY: = Arial,sans-serif } .btnred { BORDER-RIGHT: black 2px solid; BORDER-TOP: lavender 2px solid; = FONT-WEIGHT: normal; FONT-SIZE: 11px; BORDER-LEFT: lavender 2px solid; = CURSOR: pointer; COLOR: yellow; BORDER-BOTTOM: black 2px solid; = FONT-FAMILY: Arial; BACKGROUND-COLOR: #dd0000 } .btnred:hover { BACKGROUND-COLOR: rgb(255,0,0) } .btnlight { BORDER-RIGHT: black 1px solid; BORDER-TOP: #e0e0e0 1px solid; = FONT-WEIGHT: normal; FONT-SIZE: 10px; BORDER-LEFT: #e0e0e0 1px solid; = CURSOR: pointer; COLOR: #004080; BORDER-BOTTOM: black 1px solid; = FONT-FAMILY: Arial; BACKGROUND-COLOR: #d0d0d0 } .btnlight:hover { BACKGROUND-COLOR: rgb(240,240,230) } .btnlighthide { BORDER-RIGHT: black 1px solid; BORDER-TOP: #e0e0e0 1px solid; = FONT-WEIGHT: normal; FONT-SIZE: 10px; BORDER-LEFT: #e0e0e0 1px solid; = CURSOR: pointer; COLOR: #004080; BORDER-BOTTOM: black 1px solid; = FONT-FAMILY: Arial; BACKGROUND-COLOR: #d0d0d0 } .btnlighthide:hover { BACKGROUND-COLOR: rgb(240,240,230) } @media Print =20 { .btnhide { DISPLAY: none } .btnboldhide { DISPLAY: none } .btnlighthide { DISPLAY: none } } .dropdown { FONT-SIZE: 8pt; FONT-FAMILY: Arial,sans-serif } LABEL { CURSOR: pointer } .hand { CURSOR: pointer } .inputbox { FONT-SIZE: xx-small; FONT-FAMILY: Verdana,Arial,sans-serif } .inputboxlarge { FONT-SIZE: x-small; FONT-FAMILY: Arial,sans-serif } ------=_NextPart_000_0000_01C9BC7A.5CE1BE60 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-RIGHT: black 2px solid; BORDER-TOP: lavender 2px solid; = BORDER-LEFT: lavender 2px solid; COLOR: #004080; BORDER-BOTTOM: black = 2px solid; BACKGROUND-COLOR: #fec81f } .btnverdana:hover { BACKGROUND-COLOR: rgb(254,220,71) } .btn { BORDER-RIGHT: black 2px solid; BORDER-TOP: lavender 2px solid; = BORDER-LEFT: lavender 2px solid; COLOR: #004080; BORDER-BOTTOM: black = 2px solid; BACKGROUND-COLOR: #fec81f } .btn:hover { BACKGROUND-COLOR: rgb(254,220,71) } BUTTON { BORDER-RIGHT: black 2px solid; BORDER-TOP: lavender 2px solid; = BORDER-LEFT: lavender 2px solid; COLOR: #004080; BORDER-BOTTOM: black = 2px solid; BACKGROUND-COLOR: #fec81f } BUTTON:hover { BACKGROUND-COLOR: rgb(254,220,71) } .btnhide { BORDER-RIGHT: black 2px solid; BORDER-TOP: lavender 2px solid; = BORDER-LEFT: lavender 2px solid; COLOR: #004080; BORDER-BOTTOM: black = 2px solid; BACKGROUND-COLOR: #fec81f } .btnhide:hover { BACKGROUND-COLOR: rgb(254,220,71) } .btnbold { BORDER-RIGHT: black 2px solid; BORDER-TOP: lavender 2px solid; = BORDER-LEFT: lavender 2px solid; COLOR: #004080; BORDER-BOTTOM: black = 2px solid; BACKGROUND-COLOR: #fec81f } .btnbold:hover { BACKGROUND-COLOR: rgb(254,220,71) } .btnboldhide { BORDER-RIGHT: black 2px solid; BORDER-TOP: lavender 2px solid; = BORDER-LEFT: lavender 2px solid; COLOR: #004080; BORDER-BOTTOM: black = 2px solid; BACKGROUND-COLOR: #fec81f } .btnboldhide:hover { BACKGROUND-COLOR: rgb(254,220,71) } ------=_NextPart_000_0000_01C9BC7A.5CE1BE60 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(/(]*>.*<\/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= var iSign =3D this < 0 ? -1 : 1; /* Get sign of number*/=0A= =0A= /* Adjust number so only the specified number of numbers after the = decimal point are shown.*/=0A= tmpNum *=3D Math.pow(10,decimalNum);=0A= tmpNum =3D Math.round(Math.abs(tmpNum))=0A= tmpNum /=3D Math.pow(10,decimalNum);=0A= tmpNum *=3D iSign; /* Readjust for sign*/=0A= =0A= /* Create a string object to do our formatting on*/=0A= var tmpNumStr =3D new String(tmpNum);=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