Thứ Ba, 10 tháng 11, 2009

Nghiện thuốc lá

Nghiện thuốc lá suốt nhiều năm, anh không tài nào bỏ được. Chỉ còn cách giấu người yêu hút vụng trộm. Cô đành bỏ qua, vờ như không biết người yêuvẫn lén lút "hôn môi" với những chiếc đầu lọc thuốc lá.
Có lúc bực quá, cô cũng cằn nhằn:
- Hút thuốc lá ngon không? - Cô nhíu mày hỏi.
- Không ngon lành gì cả, nhưng không thể không hút.
- Em và thuốc lá, anh chọn ai?
- Cả hai. Em có cằn nhằn anh thì anh cũng không thể ngừng yêu em.
Cònnhớ hồi mới quen nhau, anh hút thuốc nhiều kinh khủng. Cứ rảnh ngón tayra là lại thấy điếu thuốc kẹp giữa ngón trỏ và ngón giữa. Lúc thức đêmviết báo cáo thì càng khỏi nói, hút như đang tham gia cuộc thi hútthuốc lá nào đó. Cô thường ngạt thở, rát họng vì khói thuốc của ngườiyêu.
Sau khi yêu nhau, anh mới bắt đầu bớt dần thuốc lá, nhữnglúc vui vẻ ngồi quán với bạn bè, thường lẻn ra ngoài toa-lét một lúcchâm điếu thuốc rồi vào ngay. Có lần vẫn bị bắt quả tang khi ai cũngngửi thấy trên người anh mùi thuốc lá trộn với mùi nước hoa và nướctiểu của toa-lét công cộng, họ khẽ nhăn mặt.
Lần ấy, cô giận người yêu ghê lắm, cãi nhau to, chiến tranh lạnh suốt mấy ngày.
Cótối trời đẹp, trăng sao sáng lấp lánh, hai người bên nhau tận hưởngnhững giây phút lãng mạn của tình yêu, cô ngả vào lòng anh rồi... imbặt.
Anh cúi đầu xuống hỏi:
- Sao em tự dưng im ắng thế?
- Lúc nãy anh vừa hút thuốc lá à?
- Anh... à ừ... - Anh ấp úng.
Cô lập tức đẩy anh ra, đứng lánh sang một bên.
- Có một điếu thôi mà... anh không nói dối em! - Anh khổ sở cầu hoà.
- Sao anh không thể vì em mà bỏ thuốc lá đi? - Cô giận dỗi, và xen lẫn cả thất vọng.
- Em hãy cho anh một thời gian nữa được không?
- Em chỉ muốn tốt cho anh thôi, anh có biết không hả?
Kỷniệm ba năm yêu nhau, họ hẹn nhau ra bãi biển kỷ niệm. Trên xe ô tô,bất ngờ cô sờ tay thấy một bao thuốc hút dở dưới khe ghế ngồi.
Côkhông giận, như thể đã quen với việc ấy, nhưng cô giữ luôn bao thuốc.Anh sợ hãi nhìn người yêu, cô không có ý định trả bao thuốc cho anh.
- Anh hứa với em đi, anh hút nốt ba điếu cuối cùng trong bao thuốc này, rồi đừng hút nữa nhé!
Không nói nên lời, có điều gì cảm động dâng lên ăm ắp quanh đó. Anh chỉ biết cười ngượng nghịu, gật đầu.
Lúc ấy cho dù bắt anh lên rừng gươm, xuống biển lửa, anh cũng sẵn lòng.
Côcũng biết bỏ thuốc lá đâu phải một sớm một chiều. Chỉ có điều, thấyngười yêu không quyết tâm làm việc đó, cô muốn nghĩ cách giúp người yêumình bỏ thuốc. Nào kẹo cai thuốc, thuốc đặc trị dứt cơn nghiện thuốclá... cô đều cố mọi cách mà chẳng mang lại kết quả gì.
- Hay là em cũng học hút thuốc là, rồi em nghiện thuốc, rồi em sẽ cai thuốc làm gương cho anh?
- Ngốc lắm, có ai làm thế bao giờ!
- Biết đâu sẽ có tác dụng?
- Tại sao em lại phải ép mình làm cái điều chính em không muốn?
- Vậy làm thế nào để anh cai thuốc đây? - Cô lo lắng hỏi.
- Anh đã cố hết sức rồi! Ngốc ạ!
Vàogiữa chợ đêm trung tâm thành phố, cô kéo anh vào hàng chụp ảnh HànQuốc, nhét đồng xu vào máy ảnh, rồi dán tấm ảnh nhỏ của mình vào ví anh:
- Lúc nào anh định bật diêm châm thuốc lá, anh hãy nhìn hình em!
---
Giằngco nhiều năm, anh phát chán vì việc cai thuốc như một bóng ma lởn vởnbao quanh họ, làm họ xung đột, giằng co, coi thường nhau, trách mócnhau, rốt cuộc, anh đề nghị chia tay nhau!
Họ cùng để nước mắtrơi suốt một đêm, sau khi gác máy điện thoại, tối hôm ấy. Anh chờ cô bỏmáy trước, rồi mới gác máy, kết thúc cuộc tình suốt mấy năm.
Côsống nhẹ nhõm, nhưng cứ cảm thấy như cuộc sống đã thiếu đi thứ gì đó.Dường như anh đã tan biến đi trong cuộc đời cô, những vấn đề khó khănquanh việc cai thuốc cũng tan biến đi. Nhưng giờ đây, cứ mỗi khi có aihút thuốc, ngửi thấy hơi khói ấy, cô lại nhớ người yêu cũ da diết. Cônhớ mùi thuốc lá trên người anh.
Nhớ tha thiết những giây phútngả đầu lên vai anh, vai anh có mùi khói thuốc. Nhớ những lần anh tìmtrăm phương nghìn kế để xua đi mùi khói thuốc ám quanh mình.
Cô bắt đầu điếu thuốc đầu tiên của mình như thế. Lúc ấy, nỗi nhớ anh trở nên mãnh liệt hơn bao giờ hết.
Côbắt đầu điếu thuốc thứ hai trong căn phòng, khói mờ bao phủ khắp, cảđệm ga giường có mùi khói thuốc, cũng như đã biến thành những chăn gốiám khói của anh ngày xưa mà cô từng căm ghét.
Ngửi thấy hơi thuốc phảng phất đâu đây, cô mới an tâm chìm vào giấc ngủ.
Ngàynối ngày qua, cô không thể xa điếu thuốc lá nữa. Là nghiện thuốc, làyêu cơn ghiền ấy, tất cả cảm xúc không còn rõ rệt nữa. Cô chỉ biết làmình đã nghiện.
Một năm sau, họ gặp nhau bất ngờ ở góc phố. Nhưnhững người bạn cũ đã lâu không gặp gỡ, họ ra bờ biển ngồi hàn huyên.Cô đã gầy xanh đi rất nhiều, anh nhìn cô thương xót, đó có lẽ là vì lỗilầm của anh.
Cô châm lên một điếu thuốc.
- Em hút thuốc? - Anh kinh ngạc nhìn cô.
- Vâng. Anh hút không? - Cô rít một hơi thật sâu, đưa cả gói thuốc cho anh.
- Không, anh bỏ thuốc lá rồi!
- Hả? Anh bỏ thuốc hồi nào? - Cô kinh ngạc nhìn anh.
- Nửa năm trước, vì một người anh yêu.
Cô lặng đi. Điếu thuốc giữa ngón tay run rẩy. Bao năm yêu nhau, tha thiết như thế, chỉ hy vọng người yêu bỏ thuốc lá, vậy mà không mạnh bằng mộtngười yêu gặp sau đó nửa năm.
Cô cảm thấy mình đã thất bại hoàn toàn, trong đời, trong tình cảm.
Và cô im lặng ngồi hút hết những điếu thuốc còn lại.
- Và em, vì sao bây giờ em lại nghiện thuốc lá?
- Từ một năm trước, vì một người em yêu.
-Vậy... có phải vì em muốn giúp anh ta cai thuốc không? - Anh nghĩ đếnmột người nào đó đã đến thế chỗ mình trong đời cô. Hay đó là mình, mộtnăm trước là lúc anh đòi chia tay.
Anh mở ví ra, đưa cô xem tấm ảnh nhỏ nhoi còn trong đó.
- Đây là người đã giúp anh cai thuốc, vì anh muốn được quay trở lại bên người đó!
Cô nhìn nhoà đi trong nước mắt, những giọt nước mắt to lăn xuống dọc theo gò má.
- Anh đã bỏ thuốc lá rồi. Giờ hãy để anh giúp em bỏ thuốc, có được không?
Trang Hạ dịch (theo mạng Saycoo)

Thứ Hai, 3 tháng 8, 2009

Khi tình yêu thành nỗi ám ảnh

Nhận dạng một mối quan hệ không lành mạnh.

- Ghét việc bạn trò chuyện với người khác.
- Khó chịu khi bạn có nhiều bạn bè và khuyên bạn dành ít thời gian cho họ thôi.
- Tính khí lên xuống thất thường.
- Luôn có ý kiến về quần áo trang phục của bạn.
- Mặc dù yêu anh ấy/cô ấy, nhưng bạn luôn có nỗi sợ mơ hồ đối với người kia.
- Anh ấy/cô ấy không bao giờ lắng nghe ý kiến, quan điểm của bạn.
- Bạn thấy mình không hề là mình khi ở bên cạnh anh ấy/ cô ấy.
- Người yêu điều tra kỹ càng profile của bạn bè và những mối quan hệ xung quanh bạn.
- Gọi bạn bằng những từ khó nghe, "thượng cẳng chân, hạ cẳng tay" với bạn.
- La mắng và nạt nộ bạn vô cớ.
- Hạ thấp giá trị của bạn trước mặt mọi người.
2!(140)

Thứ Hai, 27 tháng 7, 2009

Hướng dẫn sử dụng Hosting Yahoo

1. Vào File Manage, bạn sẽ thấy bên trái màn hình chức năng MySQL Database.
2. Bạn vào Open database utilities để thiết đặt data thì sẽ có trang khác chạy đến đề nghị bạn Credit Username and pass của phpmyadmin (cái này để đăng nhập vào phpmyadmin sau này). Bạn hãy vào đó để credit và bấm vào I Agree To.... để tạo user and pass. Bạn gõ user và pass bạn muốn credit để sau này vào phpmyadmin vào rồi bấm vào Submit.
3. Sau khi bạn tạo xong account phpmyadmin rồi thì hệ thống đề nghị bạn install phpmyadmin bạn bấm vào Install phpmyadmin Now.
4. Sẽ có một trang hiện ra tiếp và yêu cầu bạn bạn tạo một thư mục để chứa phpmyadmin (đây là thư mục trên host mà bạn vào phpmyadmin, tôi tạo là phpmyadmin). Sau khi bạn tạo xong thư mục rồi thì bấm vào install phpmyadmin bên tay phải.
5. Sau khi install phpmyadmin xong thì bạn vào phpmyadmin để tạo database cho mình.
6. Sẽ có một cửa sổ đăng nhập hiên ra, bạn đăng nhập user, pass lúc nãy bạn credit rồi đăng nhập vào.
7. Đăng nhập xong rồi thì bạn tạo một database name , tôi tạo là forum.
Vậy là xong bạn đã tạo được database cho mình, khi khai báo trong phần config bạn khai báo như sau:

Server host: mysql (những host khác là localhost)
Database name: tên data bạn vào phpmyadmin credit, tôi vừa tạo là forum.
database user_name: tên user khi ban install phpmyadmin.
Pass: pass khi bạn install phpmyadmin.

Bạn nên nhớ khi upload trong hosting yahoo nhớ là đăng nhập phần host name phải có chữ ftp phía trước mới đăng nhập được ví dụ:
Server : ftp.itvnclub.org
User: user@itvnclub.org
Pass: pass đăng nhập của bạn

Thứ Ba, 12 tháng 5, 2009

fix fixed positioning and fixed backgrounds in IE/Win

// fixed.js: fix fixed positioning and fixed backgrounds in IE/Win

// version 1.8, 08-Aug-2003

// written by Andrew Clover <and@doxdesk.com>, use freely


@if (@_win32 && @_jscript_version>4)


var fixed_positions= new Array();

var fixed_backgrounds= new Array();

var fixed_viewport;


// Initialisation. Called when the <body> tag arrives. Set up viewport so the

// rest of the script knows we're going, and add a measurer div, used to detect

// font size changes and measure image sizes for backgrounds later


function fixed_init() {

fixed_viewport= (document.compatMode=='CSS1Compat') ?

document.documentElement : document.body;

var el= document.createElement('div');

el.setAttribute('id', 'fixed-measure');

el.style.position= 'absolute';

el.style.top= '0'; el.style.left= '0';

el.style.overflow= 'hidden'; el.style.visibility= 'hidden';

el.style.fontSize= 'xx-large'; el.style.height= '5em';

el.style.setExpression('width', 'fixed_measureFont()');

document.body.insertBefore(el, document.body.firstChild);

}


// Binding. Called every time an element is added to the document, check it

// for fixed features, if found add to our lists and set initial props


function fixed_bind(el) {

var needLayout= false;

var tag= el.tagName.toLowerCase();

var st= el.style;

var cst= el.currentStyle;

var anc;


// find fixed-position elements

if (cst.position=='fixed') {

needLayout= true;

fixed_positions[fixed_positions.length]= el;

// store original positioning as we'll overwrite it

st.position= 'absolute';

st.fixedPLeft= cst.left;

st.fixedPTop= cst.top;

st.fixedPRight= cst.right;

st.fixedPBottom= cst.bottom;

st.fixedPWidth= fixed_parseLength(cst.width);

st.fixedPHeight= fixed_parseLength(cst.height);

// find element that will act as containing box, for convenience later

st.fixedCB= null;

for (anc= el; (anc= anc.parentElement).parentElement;) {

if (anc.currentStyle.position!='static') {

st.fixedCB= anc;

break;

} }

// detect nested fixed positioning (only ancestor need move)

st.fixedNest= false;

for (anc= el; anc= anc.parentElement;) {

if (anc.style.fixedNest!=null)

st.fixedNest= true;

break;

}

}


// find fixed-background elements (not body/html which IE already gets right)

if (cst.backgroundAttachment=='fixed' && tag!='body' && tag!='html') {

needLayout= true;

fixed_backgrounds[fixed_backgrounds.length]= el;

// get background offset, converting from keyword if necessary

st.fixedBLeft= fixed_parseLength(cst.backgroundPositionX);

st.fixedBTop= fixed_parseLength(cst.backgroundPositionY);

// if it's a non-zero %age, need to know size of image for layout

if (st.fixedBLeft[1]=='%' || st.fixedBTop[1]=='%') {

st.fixedBWidth= 0; st.fixedBHeight= 0;

fixed_measureBack(el);

}

}

if (needLayout) fixed_layout();

}


// Layout. On every window or font size change, recalculate positioning


// Request re-layout at next free moment

var fixed_delaying= false;

function fixed_delayout() {

if (fixed_delaying) return;

fixed_delaying= true;

window.setTimeout(fixed_layout, 0);

}


var fixed_ARBITRARY= 200;


function fixed_layout() {

fixed_delaying= false;

if (!fixed_viewport) return;

var i, el, st, j, pr, tmp, A= 'auto';

var cb, cbLeft, cbTop, cbRight, cbBottom, oLeft, oTop, oRight, oBottom;

var vpWidth=fixed_viewport.clientWidth, vpHeight=fixed_viewport.clientHeight;


// calculate initial position for fixed-position elements [black magic]

for (i= fixed_positions.length; i-->0;) {

el= fixed_positions[i]; st= el.style;

// find positioning of containing block

cb= st.fixedCB; if (!cb) cb= fixed_viewport;

cbLeft= fixed_pageLeft(cb); cbTop= fixed_pageTop(cb);

if (cb!=fixed_viewport) { cbLeft+= cb.clientLeft; cbTop+= cb.clientTop; }

cbRight= fixed_viewport.clientWidth-cbLeft-cb.clientWidth;

cbBottom= fixed_viewport.clientHeight-cbTop-cb.clientHeight;

// if size is in %, must recalculate relative to viewport

if (st.fixedPWidth[1]=='%')

st.width= Math.round(vpWidth*st.fixedPWidth[0]/100)+'px';

if (st.fixedPHeight[1]=='%')

st.height= Math.round(vpHeight*st.fixedPHeight[0]/100)+'px';

// find out offset values at max size, to account for margins

st.left= A; st.right= '0'; st.top= A; st.bottom= '0';

oRight= el.offsetLeft+el.offsetWidth; oBottom= el.offsetTop+el.offsetHeight;

st.left= '0'; st.right= A; st.top= '0'; st.bottom= A;

oLeft= el.offsetLeft; oTop= el.offsetTop;

// use this to convert all edges to pixels

st.left= A; st.right= st.fixedPRight;

st.top= A; st.bottom= st.fixedPBottom;

oRight-= el.offsetLeft+el.offsetWidth;

oBottom-= el.offsetTop+el.offsetHeight;

st.left= st.fixedPLeft; st.top= st.fixedPTop;

oLeft= el.offsetLeft-oLeft; oTop= el.offsetTop-oTop;

// edge positioning fix

if (st.fixedPWidth[1]==A && st.fixedPLeft!=A && st.fixedPRight!=A) {

tmp= el.offsetLeft; st.left= A; st.width= fixed_ARBITRARY+'px';

tmp= fixed_ARBITRARY+el.offsetLeft-tmp+cbLeft+cbRight;

st.left= st.fixedPLeft; st.width= ((tmp<1)?1:tmp)+'px';

}

if (st.fixedPHeight[1]==A && st.fixedPTop!=A && st.fixedPBottom!=A) {

tmp= el.offsetTop; st.top= A; st.height= fixed_ARBITRARY+'px';

tmp= fixed_ARBITRARY+el.offsetTop-tmp+cbTop+cbBottom;

st.top= st.fixedPTop; st.height= ((tmp<1)?1:tmp)+'px';

}

// move all non-auto edges relative to the viewport

st.fixedCLeft= (st.fixedPLeft=='auto') ? oLeft : oLeft-cbLeft;

st.fixedCTop= (st.fixedPTop=='auto') ? oTop : oTop-cbTop;

st.fixedCRight= (st.fixedPRight=='auto') ? oRight : oRight-cbRight;

st.fixedCBottom= (st.fixedPBottom=='auto') ? oBottom : oBottom-cbBottom;

// remove left-positioning of right-positioned elements

if (st.fixedPLeft=='auto' && st.fixedPRight!='auto') st.fixedCLeft= 'auto';

if (st.fixedPTop=='auto' && st.fixedPBottom!='auto') st.fixedCTop= 'auto';

}


// calculate initial positioning of fixed backgrounds

for (i= fixed_backgrounds.length; i-->0;) {

el= fixed_backgrounds[i]; st= el.style;

tmp= st.fixedBImage;

if (tmp) {

if (tmp.readyState!='uninitialized') {

st.fixedBWidth= tmp.offsetWidth;

st.fixedBHeight= tmp.offsetHeight;

st.fixedBImage= window.undefined;

}

}

st.fixedBX= fixed_length(el, st.fixedBLeft, vpWidth-st.fixedBWidth);

st.fixedBY= fixed_length(el, st.fixedBTop, vpHeight-st.fixedBHeight);

}


// now call scroll() to set the positions from the values just calculated

fixed_scroll();

}


// Scrolling. Offset fixed elements relative to viewport scrollness


var fixed_lastX, fixed_lastY;

var fixed_PATCHDELAY= 300;

var fixed_patching= false;


// callback function after a scroll, because incorrect scroll position is

// often reported first go!

function fixed_patch() {

fixed_patching= false;

var scrollX= fixed_viewport.scrollLeft, scrollY= fixed_viewport.scrollTop;

if (scrollX!=fixed_lastX && scrollY!=fixed_lastY) fixed_scroll();

}


function fixed_scroll() {

if (!fixed_viewport) return;

var i, el, st, viewportX, viewportY;

var scrollX= fixed_viewport.scrollLeft, scrollY= fixed_viewport.scrollTop;

fixed_lastX= scrollX; fixed_lastY= scrollY;


// move non-nested fixed-position elements

for (i= fixed_positions.length; i-->0;) {

st= fixed_positions[i].style;

viewportX= (st.fixedNest) ? 0 : scrollX;

viewportY= (st.fixedNest) ? 0 : scrollY;

if (st.fixedCLeft!='auto') st.left= (st.fixedCLeft+viewportX)+'px';

if (st.fixedCTop!='auto') st.top= (st.fixedCTop+viewportY)+'px';

viewportX= (st.fixedCB==null || st.fixedCB==fixed_viewport) ? 0 : viewportX;

viewportY= (st.fixedCB==null || st.fixedCB==fixed_viewport) ? 0 : viewportY;

st.right= (st.fixedCRight-viewportX+1)+'px'; st.right= (st.fixedCRight-viewportX)+'px';

st.bottom= (st.fixedCBottom-viewportY+1)+'px'; st.bottom= (st.fixedCBottom-viewportY)+'px';

}


// align fixed backgrounds to viewport

for (i= fixed_backgrounds.length; i-->0;) {

el= fixed_backgrounds[i]; st= el.style;

viewportX= scrollX;

viewportY= scrollY;

while (el.offsetParent) {

viewportX-= el.offsetLeft+el.clientLeft;

viewportY-= el.offsetTop +el.clientTop;

el= el.offsetParent;

}

st.backgroundPositionX= (st.fixedBX+viewportX)+'px';

st.backgroundPositionY= (st.fixedBY+viewportY)+'px';

}


// call back again in a tic

if (!fixed_patching) {

fixed_patching= true;

window.setTimeout(fixed_patch, fixed_PATCHDELAY);

}

}


// Measurement. Load bg-image into an invisible element on the page, when

// loaded write the width/height to an element's style for layout use; detect

// when font size changes


function fixed_measureBack(el) {

var measure= document.getElementById('fixed-measure');

var img= document.createElement('img');

img.setAttribute('src', fixed_parseURL(el.currentStyle.backgroundImage));

measure.appendChild(img);

el.style.fixedBImage= img;

if (img.readyState=='uninitialized')

img.attachEvent('onreadystatechange', fixed_measureBackImage_ready);

}


function fixed_measureBackImage_ready() {

var img= event.srcElement;

if (img && img.readyState!='uninitialized') {

img.detachEvent('onreadystatechange', fixed_measureBackImage_ready);

fixed_layout();

}

}


var fixed_fontsize= 0;

function fixed_measureFont() {

var fs= document.getElementById('fixed-measure').offsetHeight;

if (fixed_fontsize!=fs && fixed_fontsize!=0)

fixed_delayout();

fixed_fontsize= fs;

return '5em';

}


// Utility. General-purpose functions


// parse url() to get value inside


function fixed_parseURL(v) {

v= v.substring(4, v.length-1);

if (v.charAt(0)=='"' && v.charAt(v.length-1)=='"' ||

v.charAt(0)=="'" && v.charAt(v.length-1)=="'")

return v.substring(1, v.length-1);

else return v;

}


// parse length or auto or background-position keyword into number and unit


var fixed_numberChars= '+-0123456789.';

var fixed_ZERO= new Array(0, 'px');

var fixed_50PC= new Array(50, '%');

var fixed_100PC= new Array(100, '%');

var fixed_AUTO= new Array(0, 'auto');


function fixed_parseLength(v) {

var num, i;

if (v=='left' || v=='top') return fixed_ZERO;

if (v=='right' || v=='bottom') return fixed_100PC;

if (v=='center') return fixed_50PC;

if (v=='auto') return fixed_AUTO;

i= 0;

while (i<v.length && fixed_numberChars.indexOf(v.charAt(i))!=-1)

i++;

num= parseFloat(v.substring(0, i));

if (num==0) return fixed_ZERO;

else return new Array(num, v.substring(i));

}


// convert parsed (number, unit) into a number of pixels


function fixed_length(el, l, full) {

var tmp, x;

if (l[1]=='px') return l[0];

if (l[1]=='%') return Math.round(full*l[0]/100);

// other units - measure by setting position; this is rather inefficient

// but then these units are used for background-position so seldom...

tmp= el.currentStyle.left;

el.style.left= '0';

x= el.offsetLeft;

el.style.left= l[0]+l[1];

x= el.offsetLeft-x;

el.style.left= tmp;

return x;

}


// convert stupid IE offsetLeft/Top to page-relative values


function fixed_pageLeft(el) {

var v= 0;

while (el.offsetParent) {

v+= el.offsetLeft;

el= el.offsetParent;

}

return v;

}

function fixed_pageTop(el) {

var v= 0;

while (el.offsetParent) {

v+= el.offsetTop;

el= el.offsetParent;

}

return v;

}


// Scanning. Check document every so often until it has finished loading. Do

// nothing until <body> arrives, then call main init. Pass any new elements

// found on each scan to be bound


var fixed_SCANDELAY= 500;


function fixed_scan() {

if (!document.body) return;

if (!fixed_viewport) fixed_init();

var el;

for (var i= 0; i<document.all.length; i++) {

el= document.all[i];

if (!el.fixed_bound) {

el.fixed_bound= true;

fixed_bind(el);

} }

}


var fixed_scanner;

function fixed_stop() {

window.clearInterval(fixed_scanner);

fixed_scan();

}


fixed_scan();

fixed_scanner= window.setInterval(fixed_scan, fixed_SCANDELAY);

window.attachEvent('onload', fixed_stop);

window.attachEvent('onresize', fixed_delayout);

window.attachEvent('onscroll', fixed_scroll);


@end

Fixed Positioning in IE6

<body>
<style type="text/css">
* {
margin: 0;
}
html, body {
height: 100%;
overflow: auto;
}
/*------------------------------*/
.bottom {
position: fixed;
bottom: 0px;
}
* html .bottom {
position: absolute;
}
/*------------------------------*/
.top {
position: fixed;
top: 0px;
}
* html .top {
position: absolute;
}
</style>

<div style="background:#99CC99; height:1000px">

</div>

<div class="bottom">
bottom here
</div>
<div class="top">
top here
</div>

</body>