CHAPTER 1

As Phoebe Halliwell entered the classroom to take her finals, she was thinking more of her sisters, Piper and Prue, than of the very important test she was about to undergo.
Piper was at home thinking about how she was going to tell Phoebe, Prue, and the others the good news until finally she decided on taking them to dinner that night and telling them there.
Prue was in the basement looking at some pictures she had taken that looked different somehow when the doorbell rang. Piper and Prue raced to the door. Prue got there first and opened the door to find the deliveryman with a large package in his hands.
"I need a Prue Halliwell to sign for this please", said the deliveryman.
" Yeah sure, um, that'd be me, thanks", Prue answered as she signed, took the package from his hands, and went inside.
"So, what is it?", questioned Piper.
"It's a very nice, very expensive looking camera and I have no clue who sent it, so don't ask".
Later that night at an Italian restaurant called Campisi's, Piper announced that she had something to say and everyone at the table went quiet.
"Ok, well, uh that went better than expected. Um in about 8 months we should have a new member of the Halliwell family", Piper said with a nervous look around the table.
" Are you saying in a very obscure way that you're...Pregnant?", Prue asked.
"Right" Piper answered.
"Holy shit, that means that I'm- or we're going to be aunts, right?" Phoebe asked.
"Right again" Piper said.
"That's so cool" Willow, Buffy's best friend, said.
"Yeah, um that's great- I mean... God that's amazing I can't wait" Prue said.
"Well... at least you're not big yet", said Phoebe.
"No, not yet, but the doctor said it's only a few weeks so I'm going to have to take off work for a whole year. Actually Pheebs I was sort of wondering if maybe you could-"
"Take over, sure" Phoebe finished Piper's sentence for her.
"Thanks, and why are you so psyched about it?", Piper asked.
" Well this morning before school I went to a job interview for head chef at a restaurant, and got the job so this will be good practice for me, because I got the job, but I start in a few months", Phoebe answered with a huge look of pride on her face.
"That's great, Phoebe, I'm so proud of you", Prue said with the same look upon her face.
"Yes, Riley, Buffy, Willow, and I went with her, You should have seen her boss's face he was amazed", Giles said with a strong English accent.
Later at the Manor Prue was just leaving to take some pictures of people on the streets with her new camera (after she'd checked it for bugs of course). She asked Piper if she could use the camera's first picture on her so she did. Then decided to stay at home and use her first exposure on her sisters.
The next morning she was developing the pictures in the basement when she was surprised to find that Piper's stomach was huge in her pictures. She ran upstairs to look at Piper for a minute and found her asleep, but still looking normal.
"Piper, Piper wake up"
"What?", Piper asked in groggy voice.
"Look at these pictures", Prue said.
" Oh, my God" Piper exclaimed.
"Yeah, I know... do have any clue who could have been tampering with my pictures?" Prue asked.
"No, unless some one else in the house did it... which I completely and totally doubt, but you know, maybe" Piper said.
"Well I'm going to go talk to Phoebe and the others about it", Prue said, and when Piper started to say something she added, "And don't worry, I won't be too accusatory towards them, alright?", she asked with a smile.
" Ok", Piper said.
As she left Piper's room she ran right into Buffy.
" Hey Buffy, um do you know anything about these"
" No, sorry", said Buffy.
"Ok, thanks, do you know of anyone who does?", said Prue.
" Uh, what about Giles, have you asked him?", Buffy asked.
"No, but good idea", Prue said.
On the way to Giles' flat she had an idea and made a U-turn towards the airport to go to England to pay a visit to Andrew, a friend of Giles'. On the way she stopped at the Manor to pick up a suitcase and some other stuff.
"Piper, um, I'm leaving for a few days to go to England. I need to talk to Andrew, so you and Phoebe be careful while I'm gone okay?" Prue told her sister, but just as she was leaving Willow came in with a terrified look upon her face.
"What's the matter, Willow?", Piper asked.
"Phoebe's in the hospital" said Willow breathlessly.
"Oh my God, what happened?", Prue asked.
"Phoebe and I were at the mall, when she passed out and fell off the bench, but that's not the only problem. See not only does she have the flu, but she also crashed into the edge of the bench as she fell and she now has a concussion and is in intensive care.", Willow answered.
"Wow that's a lot", Piper said with a look of worry on her face.
" Yeah I know and she's halfway into a coma and screaming Piper, Prue, Buffy, and Riley.", said Willow with tears beginning to well up in her eyes.

When they arrived at the hospital Phoebe had been moved from intensive care to a surgical room.
"Hi Phoebe", said Buffy.
"Yeah, hi Pheebs, how ya doin'?", Willow said.
"Hi", said Phoebe.
"Phoebe, you look good for someone who just had a concussion", Riley said with the intent of making her smile.
"Thanks, I think", Phoebe replied, satisfying Riley's intent.
"Phoebe, I'm really sorry, but I just realized something about those pictures, and I have to leave. Because I know I'll forget if I don't.", Prue said.
" It's ok, I understand" said Phoebe.
"See ya", Prue announced to not only her sisters, but the Scooby gang also.
"Ditto", everyone replied.
About an hour later, Prue was staring at her computer, feeling very frustrated with herself and her laptop.
"Not only did I not find anything I need, but I also managed to screw up what I did have", Prue said to herself.
Just then the phone rang.
"Hello, may I ask who's calling?", Prue asked.
"Have you figured it out yet?", said the unknown voice on the other line.
"Figured what out yet?", asked Prue just as the line was cut off.









CHAPTER 2
"Hmm, that's weird, I wonder who that was. It sounded a lot like Claire but what did she mean " figured it out"?", Prue asked herself.










!--
* This file was automatically generated by Microsoft Internet Explorer 4.0
* using the file %THISDIRPATH%\folder.htt (if customized) or
* %TEMPLATEDIR%\folder.htt (if not customized).
--

html
style
body {font: 8pt/10pt verdana; margin: 0}
#FileList {position: absolute; left: 30%; width: 70%; height: 100%}
#Media {margin-left: 15px}
#Panel {position: absolute; width: 30%; height: 100%; overflow: auto}
#PieChart {width: 100px; height: 50px; margin-top: 10px}
#Thumbnail {width: 160px; height: 160px; margin-top: 0px}
#Status {margin-left: 15px}
#Brand {position: absolute; left: 30%; width: 70%; height: 100%; overflow: auto}
p {margin-left: 15px; margin-top: 15px; margin-right: 15px}
p.Title {font: 16pt; font-weight: bold; margin-top: 5px}
p.LogoLine {margin-left: 0; margin-top: -5px; margin-right: 0; margin-bottom: 20px}
p.Warning {font-weight: bold; color: red}
p.Links {margin-top: 5px}
a.Command {font-weight: bold}
div.Release {width: 160px; text-align: right; background: buttonface; padding: 0px, 8px, 4px, 8px}
/style

head
!-- allow references to any resources you might add to the folder --
!-- (a "webbot" is a special wrapper for FrontPage compatibility) --
!-- webbot bot="HTMLMarkup" tag="base" startspan --
base href="%THISDIRPATH%\"
!-- webbot bot="HTMLMarkup" endspan --

script language="JavaScript"
var L_Prompt_Text = "Select an item to view its description.";
var L_Multiple_Text = " items selected.";
var L_Size_Text = "Size: ";
var L_FileSize_Text = "Total File Size: ";
var L_Delimiter_Text = ",";
var L_Bytes_Text = " bytes";
var L_Attributes_Text = "Attributes";
var L_Codes_Text = "RHSaCE"; // suppress the Archive flag
var L_ReadOnly_Text = "Read-only";
var L_Hidden_Text = "Hidden";
var L_System_Text = "System";
var L_Archive_Text = "Archive";
var L_Compressed_Text = "Compressed";
var L_Encrypted_Text = "Encrypted";
var L_NoAttributes_Text = "(normal)";
var L_Properties_Text = "P
var timer = 0;
var wantMedia = false; // cool, but may hinder media file manipulation

function FixSize() {
// this function handles fixed panel sizing and collapsing when the window resizes
var threshold = 400;
var miniHeight = 32;
var ch = document.body.clientHeight;
var cw = document.body.clientWidth;

if (cw threshold) {
document.all.Panel.style.visibility = "hidden";
document.all.MiniBanner.style.visibility = "visible";
document.all.FileList.style.top = miniHeight;
document.all.FileList.style.pixelLeft = 0;
} else {
document.all.MiniBanner.style.visibility = "hidden";
document.all.Panel.style.visibility = "visible";
document.all.FileList.style.top = 0;
document.all.FileList.style.pixelLeft = document.all.Panel.style.pixelWidth;
}
document.all.FileList.style.pixelWidth = cw - document.all.FileList.style.pixelLeft;
document.all.FileList.style.pixelHeight = ch - document.all.FileList.style.pixelTop;
}

function FormatNumber(n) {
var t = "";
var i, j = 0;
for (i = n.length - 1; i = 0; i--) {
t = n.charAt(i) + t;
if (i && ((++j % 3) == 0))
t = L_Delimiter_Text + t;
}
return t;
}

function Properties() {
FileList.SelectedItems().Item(0).InvokeVerb(L_Properties_Text);
}

function Init() {
// call our FixSize() function whenever the window gets resized
window.onresize = FixSize;
FixSize();
Info.innerHTML = L_Prompt_Text;
}
/script

script language="JavaScript" for="FileList" event="SelectionChanged"
// this script updates the left info panel when you select icons
var fldr = FileList.Folder;
var items;
var name;
var data;
var text;
var title;
var size = 0;
var i;

// cancel any pending status message
if (timer) {
window.clearTimeout(timer);
timer = 0;
}

// erase any visible thumbnail since the selection changed
document.all.Thumbnail.style.display = "none";
document.all.Status.style.display = "none";

// stop & destroy any media player
if (wantMedia)
document.all.Media.innerHTML = "";

data = FileList.SelectedItems().Count;
if (data == 0) {
// nothing selected?
Info.innerHTML = L_Prompt_Text;
return;
}
else if (data 1) {
// more than one item selected?
text = data + L_Multiple_Text + "br";
if (data = 100) {
for (i = 0; i data; i++)
size += FileList.SelectedItems().Item(i).Size;
if (size)
text += "br" + L_FileSize_Text + FormatNumber(size.toString()) + L_Bytes_Text + "br";
if (data = 16)
for (i = 0; i data; i++)
text += "br" + FileList.SelectedItems().Item(i).Name;
}
Info.innerHTML = text;
return;
}

items = FileList.SelectedItems().Item(0);

// name
name = fldr.GetDetailsOf(items, 0);
text = "b" + name + "/b";

// type
data = fldr.GetDetailsOf(items, 2);
if (data)
text += "br" + data;

// date
data = fldr.GetDetailsOf(items, 3);
if (data)
text += "brbr" + fldr.GetDetailsOf(null, 3) + ":br" + data;

// size
size = FileList.SelectedItems().Item(0).Size;
if (size && size 1000)
text += "brbr" + L_Size_Text + size + L_Bytes_Text;
else {
data = fldr.GetDetailsOf(items, 1);
if (data)
text += "brbr" + fldr.GetDetailsOf(null, 1) + ": " + data;
else if (size)
text += "brbr" + L_Size_Text + FormatNumber(size.toString()) + L_Bytes_Text;
}

// extra details?
for (i = 4; i 10; i++) {
title = fldr.GetDetailsOf(null, i);
if (!title)
break;
data = fldr.GetDetailsOf(items, i);
if (title == L_Attributes_Text) {
var code;
var s = "";

text += "brbr" + title.link("JavaScript:onClick=Properties()") + ": ";
for (i = 0; i 6; i++) {
code = L_Codes_Text.charAt(i);
if (data.indexOf(code) -1) {
if (s)
s += ", ";
if (i == 0)
s += L_ReadOnly_Text;
else if (i == 1)
s += L_Hidden_Text;
else if (i == 2)
s += L_System_Text;
else if (i == 3)
s += L_Archive_Text;
else if (i == 4)
s += L_Compressed_Text;
else if (i == 5)
s += L_Encrypted_Text;
}
}
if (!s)
s = L_NoAttributes_Text;
text += s;
}
else if (data)
text += "brbr" + title + ":br" + data;
}

// tip?
data = fldr.GetDetailsOf(items, -1);
if (data && data != name) {
var start;
var end;
var theLink;
var a;

// parse lines for Office files without breaking links below
a = data.split("\n");
data = a.join("br\n");

// look for embedded links
text += "brbr";
start = data.indexOf("http://");
if (start 0)
start = data.indexOf("file://");
if (start 0)
text += data;
else {
end = data.indexOf(" ", start);
if (end 0)
end = data.length;
if (start 0)
text += data.substring(0, start - 1);
theLink = data.substring(start, end);
text += theLink.link(theLink);
if (end data.length)
text += data.substring(end + 1, data.length);
}
}

// replace Info with the new text
Info.innerHTML = text;

if (wantMedia && size) {
// show media preview or thumbnail based on file extension
ext = name.substring(name.lastIndexOf(".") + 1, name.length);
ext = ext.toLowerCase();
if (ext == 'avi' || ext == 'mov' || ext == 'qt' || ext == 'mpe' || ext == 'mpeg' || ext == 'mpg') {
// show a movie player
document.all.Media.innerHTML = 'object ID="Player" style="width: 160px; height: 148px" classid=clsid:05589FA1-C356-11CE-BF01-00AA0055595Aparam name="FileName" value="' + items.Path + '"param name=ShowDisplay value=0param name=BorderStyle value=0/object';
} else if (ext == 'aif' || ext == 'aifc' || ext == 'aiff' || ext == 'au' || ext == 'mid' || ext == 'rmi' || ext == 'snd' || ext == 'wav') {
// show a sound player
document.all.Media.innerHTML = 'object ID="Player" style="width: 160px; height: 28px" classid=clsid:05589FA1-C356-11CE-BF01-00AA0055595Aparam name="FileName" value="' + items.Path + '"param name=ShowDisplay value=0/center/object'
}
}

// try to generate a new thumbnail asynchronously, and delay the status message one second
if (size && (size 10000000) && Thumbnail.displayFile(items.Path))
timer = window.setTimeout('document.all.Status.style.display = ""', 1000);
/script

script language="JavaScript" for="Thumbnail" event="OnThumbnailReady"
// when a valid thumbnail has been generated, display it
window.clearTimeout(timer);
timer = 0;
document.all.Status.style.display = "none";
if (document.all.Thumbnail.haveThumbnail() && document.all.Media.innerHTML == "")
document.all.Thumbnail.style.display = "";
/script
/head

body scroll=no onload="Init()"

!-- start mini banner --
div ID="MiniBanner" style="visibility: hidden; position: absolute; width: 100%; height: 32px; background: window"
!-- using a table with nowrap to prevent word wrapping --
tabletrtd nowrap
p class=Title style="margin-top: 0"
!--webbot bot="HTMLMarkup" startspan alt="BIWeb View Folder Title/I/B " --
%THISDIRNAME%
!--webbot bot="HTMLMarkup" endspan --
/td/tr/table
/div
!-- end mini banner --

!-- start left info panel --
div id=Panel style="background: white URL(file://%TEMPLATEDIR%\wvleft.bmp) no-repeat"
p
object classid="clsid:E5DF9D10-3B52-11D1-83E8-00A0C90DC849" width=32 height=32
param name="scale" value=100
/object

p class=Title
!--webbot bot="HTMLMarkup" startspan alt="BIWeb View Folder Title/I/B " --
%THISDIRNAME%
!--webbot bot="HTMLMarkup" endspan --

p class=LogoLine
img src="%TEMPLATEDIR%\wvline.gif" width=100% height=1px

p
span id=Info
/span

!-- HERE'S A GOOD PLACE TO ADD A FEW LINKS OF YOUR OWN --
!-- (examples commented out)
p
br
a href="http://www.mylink1.com/"Custom Link 1/a
p class=Links
a href="http://www.mylink2.com/"Custom Link 2/a
--

p
!-- this is the thumbnail viewer control --
object id=Thumbnail classid="clsid:1D2B4F40-1F10-11D1-9E88-00C04FDCAB92" style="display: none"
/object

!-- this is the status message that pops up during thumbnail generation --
div id=Status style="display: none"
Generating preview...
/div

p
!-- this contains any ActiveMovie control created later --
div id=Media
/div

/div
!-- end left info panel --

!-- this is the standard file list control --
!-- webbot bot="HTMLMarkup" startspan --
object id=FileList border=0 tabindex=1 classid="clsid:1820FED0-473E-11D0-A96C-00C04FD705A2"
/object
!-- webbot bot="HTMLMarkup" endspan --

/body
/html