diff --git a/Smarty.addons.php b/Smarty.addons.php index 98bf5d8b..6874110c 100644 --- a/Smarty.addons.php +++ b/Smarty.addons.php @@ -700,7 +700,9 @@ function smarty_func_assign_debug_info($args, &$smarty_obj) { function smarty_func_overlib_init($args, &$smarty_obj) { // be sure to place overlib.js where Smarty can locate it. // overlib.js came with the distribution of Smarty. + echo ''."\n".''."\n"; return; } diff --git a/Smarty.class.php b/Smarty.class.php index f32b8519..12d88290 100644 --- a/Smarty.class.php +++ b/Smarty.class.php @@ -602,7 +602,11 @@ class Smarty \*======================================================================*/ function _generate_debug_output() { + // we must force compile the debug template in case the environment + // changed between separate applications. ob_start(); + $force_compile_orig = $this->force_compile; + $this->force_compile = true; if($this->_process_template($this->debug_tpl, $compile_path)) { if ($this->show_info_include) { @@ -614,6 +618,7 @@ function _generate_debug_output() { } } $results = ob_get_contents(); + $this->force_compile = $force_compile_orig; ob_end_clean(); return $results; } diff --git a/docs.sgml b/docs.sgml index b6f6430e..635b9ee2 100644 --- a/docs.sgml +++ b/docs.sgml @@ -56,8 +56,8 @@ pull variables from them into the templates. The list goes on. - We started out writing out a spec for a template engine about a year - ago. After finishing the spec, we began to work on a template engine + We started out writing out a spec for a template engine back in late + 1999. After finishing the spec, we began to work on a template engine written in C that would hopefully be accepted for inclusion with PHP. Not only did we run into many complicated technical barriers, but there was also much heated debate about exactly what a template engine should @@ -1530,14 +1530,15 @@ email: zaphod@slartibartfast.com<br> - Request Variables + {$smarty} reserved variable - You can access request variables in Smarty via the special variable - {$smarty}. You can access get, post, cookies, server, env and - session variables with the syntax in the following examples. + You can access reserved variables in Smarty via the special + variable {$smarty}. You can access request variables such as get, + post, cookies, server, env and session variables with the syntax in + the following examples. - Request variable access was added to Smarty 1.4.4. + The special variable {$smarty} was added to Smarty 1.4.4. @@ -1565,6 +1566,20 @@ email: zaphod@slartibartfast.com<br> {* display the variable "username" from merged get/post/cookies/server/env *} {$smarty.request.username} + + + + The current date can be displayed with {$smarty.now}. This is a unix + timestamp of the current date/time. + + + +displaying current date + + +{* use the date_formate modifier to format the date *} +{$smarty.now|date_format:"%Y-%m-%d %H:%M:%S"} + diff --git a/libs/Smarty.class.php b/libs/Smarty.class.php index f32b8519..12d88290 100644 --- a/libs/Smarty.class.php +++ b/libs/Smarty.class.php @@ -602,7 +602,11 @@ class Smarty \*======================================================================*/ function _generate_debug_output() { + // we must force compile the debug template in case the environment + // changed between separate applications. ob_start(); + $force_compile_orig = $this->force_compile; + $this->force_compile = true; if($this->_process_template($this->debug_tpl, $compile_path)) { if ($this->show_info_include) { @@ -614,6 +618,7 @@ function _generate_debug_output() { } } $results = ob_get_contents(); + $this->force_compile = $force_compile_orig; ob_end_clean(); return $results; } diff --git a/overlib.js b/overlib.js index d1049817..b239636e 100644 --- a/overlib.js +++ b/overlib.js @@ -1,16 +1,8 @@ - - +// Capture events, alt. diffuses the overlib function. +if ( (ns4) || (ie4) || (ns6)) { + document.onmousemove = mouseMove + if (ns4) document.captureEvents(Event.MOUSEMOVE) +} else { + overlib = no_overlib; + nd = no_overlib; + ver3fix = true; +} + + +// Fake function for 3.0 users. +function no_overlib() { + return ver3fix; +} + + + +//////////////////////////////////////////////////////////////////////////////////// +// PUBLIC FUNCTIONS +//////////////////////////////////////////////////////////////////////////////////// + + +// overlib(arg0, ..., argN) +// Loads parameters into global runtime variables. +function overlib() { + + // Load defaults to runtime. + o3_text = ol_text; + o3_cap = ol_cap; + o3_sticky = ol_sticky; + o3_background = ol_background; + o3_close = ol_close; + o3_hpos = ol_hpos; + o3_offsetx = ol_offsetx; + o3_offsety = ol_offsety; + o3_fgcolor = ol_fgcolor; + o3_bgcolor = ol_bgcolor; + o3_textcolor = ol_textcolor; + o3_capcolor = ol_capcolor; + o3_closecolor = ol_closecolor; + o3_width = ol_width; + o3_border = ol_border; + o3_status = ol_status; + o3_autostatus = ol_autostatus; + o3_height = ol_height; + o3_snapx = ol_snapx; + o3_snapy = ol_snapy; + o3_fixx = ol_fixx; + o3_fixy = ol_fixy; + o3_fgbackground = ol_fgbackground; + o3_bgbackground = ol_bgbackground; + o3_padxl = ol_padxl; + o3_padxr = ol_padxr; + o3_padyt = ol_padyt; + o3_padyb = ol_padyb; + o3_fullhtml = ol_fullhtml; + o3_vpos = ol_vpos; + o3_aboveheight = ol_aboveheight; + o3_capicon = ol_capicon; + o3_textfont = ol_textfont; + o3_captionfont = ol_captionfont; + o3_closefont = ol_closefont; + o3_textsize = ol_textsize; + o3_captionsize = ol_captionsize; + o3_closesize = ol_closesize; + o3_timeout = ol_timeout; + o3_function = ol_function; + o3_delay = ol_delay; + o3_hauto = ol_hauto; + o3_vauto = ol_vauto; + o3_closeclick = ol_closeclick; + + o3_css = ol_css; + o3_fgclass = ol_fgclass; + o3_bgclass = ol_bgclass; + o3_textfontclass = ol_textfontclass; + o3_captionfontclass = ol_captionfontclass; + o3_closefontclass = ol_closefontclass; + o3_padunit = ol_padunit; + o3_heightunit = ol_heightunit; + o3_widthunit = ol_widthunit; + o3_textsizeunit = ol_textsizeunit; + o3_textdecoration = ol_textdecoration; + o3_textstyle = ol_textstyle; + o3_textweight = ol_textweight; + o3_captionsizeunit = ol_captionsizeunit; + o3_captiondecoration = ol_captiondecoration; + o3_captionstyle = ol_captionstyle; + o3_captionweight = ol_captionweight; + o3_closesizeunit = ol_closesizeunit; + o3_closedecoration = ol_closedecoration; + o3_closestyle = ol_closestyle; + o3_closeweight = ol_closeweight; + + + // Special for frame support, over must be reset... + if ( (ns4) || (ie4) || (ns6) ) { + o3_frame = ol_frame; + if (ns4) over = o3_frame.document.overDiv + if (ie4) over = o3_frame.overDiv.style + if (ns6) over = o3_frame.document.getElementById("overDiv"); + } + + + // What the next argument is expected to be. + var parsemode = -1; + + var ar = arguments; + + for (i = 0; i < ar.length; i++) { + + if (parsemode < 0) { + // Arg is maintext, unless INARRAY + if (ar[i] == INARRAY) { + o3_text = ol_texts[ar[++i]]; + } else { + o3_text = ar[i]; + } + + parsemode = 0; + } else { + // Note: NS4 doesn't like switch cases with vars. + if (ar[i] == INARRAY) { o3_text = ol_texts[ar[++i]]; continue; } + if (ar[i] == CAPARRAY) { o3_cap = ol_caps[ar[++i]]; continue; } + if (ar[i] == STICKY) { o3_sticky = 1; continue; } + if (ar[i] == BACKGROUND) { o3_background = ar[++i]; continue; } + if (ar[i] == NOCLOSE) { o3_close = ""; continue; } + if (ar[i] == CAPTION) { o3_cap = ar[++i]; continue; } + if (ar[i] == CENTER || ar[i] == LEFT || ar[i] == RIGHT) { o3_hpos = ar[i]; continue; } + if (ar[i] == OFFSETX) { o3_offsetx = ar[++i]; continue; } + if (ar[i] == OFFSETY) { o3_offsety = ar[++i]; continue; } + if (ar[i] == FGCOLOR) { o3_fgcolor = ar[++i]; continue; } + if (ar[i] == BGCOLOR) { o3_bgcolor = ar[++i]; continue; } + if (ar[i] == TEXTCOLOR) { o3_textcolor = ar[++i]; continue; } + if (ar[i] == CAPCOLOR) { o3_capcolor = ar[++i]; continue; } + if (ar[i] == CLOSECOLOR) { o3_closecolor = ar[++i]; continue; } + if (ar[i] == WIDTH) { o3_width = ar[++i]; continue; } + if (ar[i] == BORDER) { o3_border = ar[++i]; continue; } + if (ar[i] == STATUS) { o3_status = ar[++i]; continue; } + if (ar[i] == AUTOSTATUS) { o3_autostatus = 1; continue; } + if (ar[i] == AUTOSTATUSCAP) { o3_autostatus = 2; continue; } + if (ar[i] == HEIGHT) { o3_height = ar[++i]; o3_aboveheight = ar[i]; continue; } // Same param again. + if (ar[i] == CLOSETEXT) { o3_close = ar[++i]; continue; } + if (ar[i] == SNAPX) { o3_snapx = ar[++i]; continue; } + if (ar[i] == SNAPY) { o3_snapy = ar[++i]; continue; } + if (ar[i] == FIXX) { o3_fixx = ar[++i]; continue; } + if (ar[i] == FIXY) { o3_fixy = ar[++i]; continue; } + if (ar[i] == FGBACKGROUND) { o3_fgbackground = ar[++i]; continue; } + if (ar[i] == BGBACKGROUND) { o3_bgbackground = ar[++i]; continue; } + if (ar[i] == PADX) { o3_padxl = ar[++i]; o3_padxr = ar[++i]; continue; } + if (ar[i] == PADY) { o3_padyt = ar[++i]; o3_padyb = ar[++i]; continue; } + if (ar[i] == FULLHTML) { o3_fullhtml = 1; continue; } + if (ar[i] == BELOW || ar[i] == ABOVE) { o3_vpos = ar[i]; continue; } + if (ar[i] == CAPICON) { o3_capicon = ar[++i]; continue; } + if (ar[i] == TEXTFONT) { o3_textfont = ar[++i]; continue; } + if (ar[i] == CAPTIONFONT) { o3_captionfont = ar[++i]; continue; } + if (ar[i] == CLOSEFONT) { o3_closefont = ar[++i]; continue; } + if (ar[i] == TEXTSIZE) { o3_textsize = ar[++i]; continue; } + if (ar[i] == CAPTIONSIZE) { o3_captionsize = ar[++i]; continue; } + if (ar[i] == CLOSESIZE) { o3_closesize = ar[++i]; continue; } + if (ar[i] == FRAME) { opt_FRAME(ar[++i]); continue; } + if (ar[i] == TIMEOUT) { o3_timeout = ar[++i]; continue; } + if (ar[i] == FUNCTION) { opt_FUNCTION(ar[++i]); continue; } + if (ar[i] == DELAY) { o3_delay = ar[++i]; continue; } + if (ar[i] == HAUTO) { o3_hauto = (o3_hauto == 0) ? 1 : 0; continue; } + if (ar[i] == VAUTO) { o3_vauto = (o3_vauto == 0) ? 1 : 0; continue; } + if (ar[i] == CLOSECLICK) { o3_closeclick = (o3_closeclick == 0) ? 1 : 0; continue; } + if (ar[i] == CSSOFF) { o3_css = ar[i]; continue; } + if (ar[i] == CSSSTYLE) { o3_css = ar[i]; continue; } + if (ar[i] == CSSCLASS) { o3_css = ar[i]; continue; } + if (ar[i] == FGCLASS) { o3_fgclass = ar[++i]; continue; } + if (ar[i] == BGCLASS) { o3_bgclass = ar[++i]; continue; } + if (ar[i] == TEXTFONTCLASS) { o3_textfontclass = ar[++i]; continue; } + if (ar[i] == CAPTIONFONTCLASS) { o3_captionfontclass = ar[++i]; continue; } + if (ar[i] == CLOSEFONTCLASS) { o3_closefontclass = ar[++i]; continue; } + if (ar[i] == PADUNIT) { o3_padunit = ar[++i]; continue; } + if (ar[i] == HEIGHTUNIT) { o3_heightunit = ar[++i]; continue; } + if (ar[i] == WIDTHUNIT) { o3_widthunit = ar[++i]; continue; } + if (ar[i] == TEXTSIZEUNIT) { o3_textsizeunit = ar[++i]; continue; } + if (ar[i] == TEXTDECORATION) { o3_textdecoration = ar[++i]; continue; } + if (ar[i] == TEXTSTYLE) { o3_textstyle = ar[++i]; continue; } + if (ar[i] == TEXTWEIGHT) { o3_textweight = ar[++i]; continue; } + if (ar[i] == CAPTIONSIZEUNIT) { o3_captionsizeunit = ar[++i]; continue; } + if (ar[i] == CAPTIONDECORATION) { o3_captiondecoration = ar[++i]; continue; } + if (ar[i] == CAPTIONSTYLE) { o3_captionstyle = ar[++i]; continue; } + if (ar[i] == CAPTIONWEIGHT) { o3_captionweight = ar[++i]; continue; } + if (ar[i] == CLOSESIZEUNIT) { o3_closesizeunit = ar[++i]; continue; } + if (ar[i] == CLOSEDECORATION) { o3_closedecoration = ar[++i]; continue; } + if (ar[i] == CLOSESTYLE) { o3_closestyle = ar[++i]; continue; } + if (ar[i] == CLOSEWEIGHT) { o3_closeweight = ar[++i]; continue; } + } + } + + if (o3_delay == 0) { + return overlib350(); + } else { + o3_delayid = setTimeout("overlib350()", o3_delay); + + if (o3_sticky) { + return false; + } else { + return true; + } + } +} + + + +// Clears popups if appropriate +function nd() { + if ( o3_removecounter >= 1 ) { o3_showingsticky = 0 }; + if ( (ns4) || (ie4) || (ns6) ) { + if ( o3_showingsticky == 0 ) { + o3_allowmove = 0; + if (over != null) hideObject(over); + } else { + o3_removecounter++; + } + } + + return true; +} + + + + + + + +//////////////////////////////////////////////////////////////////////////////////// +// OVERLIB 3.50 FUNCTION +//////////////////////////////////////////////////////////////////////////////////// + + +// This function decides what it is we want to display and how we want it done. +function overlib350() { + + // Make layer content + var layerhtml; + + if (o3_background != "" || o3_fullhtml) { + // Use background instead of box. + layerhtml = ol_content_background(o3_text, o3_background, o3_fullhtml); + } else { + // They want a popup box. + + // Prepare popup background + if (o3_fgbackground != "" && o3_css == CSSOFF) { + o3_fgbackground = "BACKGROUND=\""+o3_fgbackground+"\""; + } + if (o3_bgbackground != "" && o3_css == CSSOFF) { + o3_bgbackground = "BACKGROUND=\""+o3_bgbackground+"\""; + } + + // Prepare popup colors + if (o3_fgcolor != "" && o3_css == CSSOFF) { + o3_fgcolor = "BGCOLOR=\""+o3_fgcolor+"\""; + } + if (o3_bgcolor != "" && o3_css == CSSOFF) { + o3_bgcolor = "BGCOLOR=\""+o3_bgcolor+"\""; + } + + // Prepare popup height + if (o3_height > 0 && o3_css == CSSOFF) { + o3_height = "HEIGHT=" + o3_height; + } else { + o3_height = ""; + } + + // Decide which kinda box. + if (o3_cap == "") { + // Plain + layerhtml = ol_content_simple(o3_text); + } else { + // With caption + if (o3_sticky) { + // Show close text + layerhtml = ol_content_caption(o3_text, o3_cap, o3_close); + } else { + // No close text + layerhtml = ol_content_caption(o3_text, o3_cap, ""); + } + } + } + + // We want it to stick! + if (o3_sticky) { + o3_showingsticky = 1; + o3_removecounter = 0; + } + + // Write layer + layerWrite(layerhtml); + + // Prepare status bar + if (o3_autostatus > 0) { + o3_status = o3_text; + if (o3_autostatus > 1) { + o3_status = o3_cap; + } + } + + // When placing the layer the first time, even stickies may be moved. + o3_allowmove = 0; + + // Initiate a timer for timeout + if (o3_timeout > 0) { + if (o3_timerid > 0) clearTimeout(o3_timerid); + o3_timerid = setTimeout("cClick()", o3_timeout); + } + + // Show layer + disp(o3_status); + + // Stickies should stay where they are. + if (o3_sticky) { + o3_allowmove = 0; + return false; + } else { + return true; + } +} + + + +//////////////////////////////////////////////////////////////////////////////////// +// LAYER GENERATION FUNCTIONS +//////////////////////////////////////////////////////////////////////////////////// + +// Makes simple table without caption +function ol_content_simple(text) { + if (o3_css == CSSCLASS) txt = "
"+text+"
"; + if (o3_css == CSSSTYLE) txt = "
"+text+"
"; + if (o3_css == CSSOFF) txt = "
"+text+"
"; + + set_background(""); + return txt; +} + + + + +// Makes table with caption and optional close link +function ol_content_caption(text, title, close) { + closing = ""; + closeevent = "onMouseOver"; + + if (o3_closeclick == 1) closeevent = "onClick"; + if (o3_capicon != "") o3_capicon = " "; + + if (close != "") { + if (o3_css == CSSCLASS) closing = ""+close+""; + if (o3_css == CSSSTYLE) closing = ""+close+""; + if (o3_css == CSSOFF) closing = ""+close+""; + } + + if (o3_css == CSSCLASS) txt = "
"+closing+"
"+o3_capicon+title+"
"+text+"
"; + if (o3_css == CSSSTYLE) txt = "
"+closing+"
"+o3_capicon+title+"
"+text+"
"; + if (o3_css == CSSOFF) txt = "
"+closing+"
"+o3_capicon+title+"
"+text+"
"; + + set_background(""); + return txt; +} + +// Sets the background picture, padding and lots more. :) +function ol_content_background(text, picture, hasfullhtml) { + if (hasfullhtml) { + txt = text; + } else { + if (o3_css == CSSCLASS) txt = "
"+text+"
"; + if (o3_css == CSSSTYLE) txt = "
"+text+"
"; + if (o3_css == CSSOFF) txt = "
"+text+"
"; + } + set_background(picture); + return txt; +} + +// Loads a picture into the div. +function set_background(pic) { + if (pic == "") { + if (ie4) over.backgroundImage = "none"; + if (ns6) over.style.backgroundImage = "none"; + } else { + if (ns4) { + over.background.src = pic; + } else if (ie4) { + over.backgroundImage = "url("+pic+")"; + } else if (ns6) { + over.style.backgroundImage = "url("+pic+")"; + } + } +} + + + +//////////////////////////////////////////////////////////////////////////////////// +// HANDLING FUNCTIONS +//////////////////////////////////////////////////////////////////////////////////// + + +// Displays the popup +function disp(statustext) { + if ( (ns4) || (ie4) || (ns6) ) { + if (o3_allowmove == 0) { + placeLayer(); + showObject(over); + o3_allowmove = 1; + } + } + + if (statustext != "") { + self.status = statustext; + } +} + +// Decides where we want the popup. +function placeLayer() { + var placeX, placeY; + + // HORIZONTAL PLACEMENT + if (o3_fixx > -1) { + // Fixed position + placeX = o3_fixx; + } else { + winoffset = (ie4) ? o3_frame.document.body.scrollLeft : o3_frame.pageXOffset; + if (ie4) iwidth = o3_frame.document.body.clientWidth; + if (ns4) iwidth = o3_frame.innerWidth; // was screwed in mozilla, fixed now? + if (ns6) iwidth = o3_frame.outerWidth; + + // If HAUTO, decide what to use. + if (o3_hauto == 1) { + if ( (o3_x - winoffset) > ((eval(iwidth)) / 2)) { + o3_hpos = LEFT; + } else { + o3_hpos = RIGHT; + } + } + + // From mouse + if (o3_hpos == CENTER) { // Center + placeX = o3_x+o3_offsetx-(o3_width/2); + } + if (o3_hpos == RIGHT) { // Right + placeX = o3_x+o3_offsetx; + if ( (eval(placeX) + eval(o3_width)) > (winoffset + iwidth) ) { + placeX = iwidth + winoffset - o3_width; + if (placeX < 0) placeX = 0; + } + } + if (o3_hpos == LEFT) { // Left + placeX = o3_x-o3_offsetx-o3_width; + if (placeX < winoffset) placeX = winoffset; + } + + // Snapping! + if (o3_snapx > 1) { + var snapping = placeX % o3_snapx; + if (o3_hpos == LEFT) { + placeX = placeX - (o3_snapx + snapping); + } else { + // CENTER and RIGHT + placeX = placeX + (o3_snapx - snapping); + } + if (placeX < winoffset) placeX = winoffset; + } + } + + + + // VERTICAL PLACEMENT + if (o3_fixy > -1) { + // Fixed position + placeY = o3_fixy; + } else { + scrolloffset = (ie4) ? o3_frame.document.body.scrollTop : o3_frame.pageYOffset; + + // If VAUTO, decide what to use. + if (o3_vauto == 1) { + if (ie4) iheight = o3_frame.document.body.clientHeight; + if (ns4) iheight = o3_frame.innerHeight; + if (ns6) iheight = o3_frame.outerHeight; + + iheight = (eval(iheight)) / 2; + if ( (o3_y - scrolloffset) > iheight) { + o3_vpos = ABOVE; + } else { + o3_vpos = BELOW; + } + } + + + // From mouse + if (o3_vpos == ABOVE) { + if (o3_aboveheight == 0) { + var divref = (ie4) ? o3_frame.document.all['overDiv'] : over; + o3_aboveheight = (ns4) ? divref.clip.height : divref.offsetHeight; + } + + placeY = o3_y - (o3_aboveheight + o3_offsety); + if (placeY < scrolloffset) placeY = scrolloffset; + } else { + // BELOW + placeY = o3_y + o3_offsety; + } + + // Snapping! + if (o3_snapy > 1) { + var snapping = placeY % o3_snapy; + + if (o3_aboveheight > 0 && o3_vpos == ABOVE) { + placeY = placeY - (o3_snapy + snapping); + } else { + placeY = placeY + (o3_snapy - snapping); + } + + if (placeY < scrolloffset) placeY = scrolloffset; + } + } + + + // Actually move the object. + repositionTo(over, placeX, placeY); +} + + +// Moves the layer +function mouseMove(e) { + if ( (ns4) || (ns6) ) {o3_x=e.pageX; o3_y=e.pageY;} + if (ie4) {o3_x=event.x; o3_y=event.y;} + if (ie5) {o3_x=event.x+o3_frame.document.body.scrollLeft; o3_y=event.y+o3_frame.document.body.scrollTop;} + + if (o3_allowmove == 1) { + placeLayer(); + } +} + +// The Close onMouseOver function for stickies +function cClick() { + hideObject(over); + o3_showingsticky = 0; + + return false; +} + + +// Makes sure target frame has overLIB +function compatibleframe(frameid) { + if (ns4) { + if (typeof frameid.document.overDiv =='undefined') return false; + } else if (ie4) { + if (typeof frameid.document.all["overDiv"] =='undefined') return false; + } else if (ns6) { + if (frameid.document.getElementById('overDiv') == null) return false; + } + + return true; +} + + + +//////////////////////////////////////////////////////////////////////////////////// +// LAYER FUNCTIONS +//////////////////////////////////////////////////////////////////////////////////// + + +// Writes to a layer +function layerWrite(txt) { + txt += "\n"; + + if (ns4) { + var lyr = o3_frame.document.overDiv.document + + lyr.write(txt) + lyr.close() + } else if (ie4) { + o3_frame.document.all["overDiv"].innerHTML = txt + } else if (ns6) { + range = o3_frame.document.createRange(); + range.setStartBefore(over); + domfrag = range.createContextualFragment(txt); + while (over.hasChildNodes()) { + over.removeChild(over.lastChild); + } + over.appendChild(domfrag); + } +} + +// Make an object visible +function showObject(obj) { + if (ns4) obj.visibility = "show"; + else if (ie4) obj.visibility = "visible"; + else if (ns6) obj.style.visibility = "visible"; +} + +// Hides an object +function hideObject(obj) { + if (ns4) obj.visibility = "hide"; + else if (ie4) obj.visibility = "hidden"; + else if (ns6) obj.style.visibility = "hidden"; + + if (o3_timerid > 0) clearTimeout(o3_timerid); + if (o3_delayid > 0) clearTimeout(o3_delayid); + o3_timerid = 0; + o3_delayid = 0; + self.status = ""; +} + +// Move a layer +function repositionTo(obj,xL,yL) { + if ( (ns4) || (ie4) ) { + obj.left = xL; + obj.top = yL; + } else if (ns6) { + obj.style.left = xL + "px"; + obj.style.top = yL+ "px"; + } +} + + + + + +//////////////////////////////////////////////////////////////////////////////////// +// PARSER FUNCTIONS +//////////////////////////////////////////////////////////////////////////////////// + + +// Defines which frame we should point to. +function opt_FRAME(frm) { + o3_frame = compatibleframe(frm) ? frm : ol_frame; + + if ( (ns4) || (ie4 || (ns6)) ) { + if (ns4) over = o3_frame.document.overDiv; + if (ie4) over = o3_frame.overDiv.style; + if (ns6) over = o3_frame.document.getElementById("overDiv"); + } + + return 0; +} + +// Calls an external function +function opt_FUNCTION(callme) { + o3_text = callme() + return 0; +} + + + + +//end (For internal purposes.) +//////////////////////////////////////////////////////////////////////////////////// +// OVERLIB 2 COMPATABILITY FUNCTIONS +// If you aren't upgrading you can remove the below section. +//////////////////////////////////////////////////////////////////////////////////// + +// Converts old 0=left, 1=right and 2=center into constants. +function vpos_convert(d) { + if (d == 0) { + d = LEFT; + } else { + if (d == 1) { + d = RIGHT; + } else { + d = CENTER; + } + } + + return d; +} + +// Simple popup +function dts(d,text) { + o3_hpos = vpos_convert(d); + overlib(text, o3_hpos, CAPTION, ""); +} + +// Caption popup +function dtc(d,text, title) { + o3_hpos = vpos_convert(d); + overlib(text, CAPTION, title, o3_hpos); +} + +// Sticky +function stc(d,text, title) { + o3_hpos = vpos_convert(d); + overlib(text, CAPTION, title, o3_hpos, STICKY); +} + +// Simple popup right +function drs(text) { + dts(1,text); +} + +// Caption popup right +function drc(text, title) { + dtc(1,text,title); +} + +// Sticky caption right +function src(text,title) { + stc(1,text,title); +} + +// Simple popup left +function dls(text) { + dts(0,text); +} + +// Caption popup left +function dlc(text, title) { + dtc(0,text,title); +} + +// Sticky caption left +function slc(text,title) { + stc(0,text,title); +} + +// Simple popup center +function dcs(text) { + dts(2,text); +} + +// Caption popup center +function dcc(text, title) { + dtc(2,text,title); +} + +// Sticky caption center +function scc(text,title) { + stc(2,text,title); +}