// Image Object Functions // The following code is copyright Robert Fisher, 9th Sept 2006 (www.fisher-solutions.co.uk) // THIS IS A FISHER SOLUTIONS CORE JS LIBRARY // you may freely copy and distribute this code but please keep the copyright notice as well // (thanks to Stephen Chapman for the crossbrowser xDOM function) function image_preloader(images) { // Loads a provided array of image references. // Counter var i = 0; // Start preloading for(i=0; i<=(images.length-1); i++){ preloadimage(images[i]); } } function preloadimage(imageref){ imageObj = new Image(); imageObj.src=imageref; return imageObj; } function swapimage(imageID, newsrc) { // Replaces an image objects source with the provided images reference. //var mysrc = getimagesrc(objectID); document.images[imageID].src = newsrc; return newsrc; } function getimagesrc(imageID){ //Returns the source property of an image object. //var objs = xDOM(objectID,1); return document.images[imageID].src ; } function set_elementnode_value(elementId, newValue) { //Replaces the text value on a given html node. elem = document.getElementById(elementId); elem.firstChild.nodeValue = newValue; } // Object Functions function objWidth(objectID) { var obj = xDOM(objectID,0); if(obj.offsetWidth) return obj.offsetWidth; if (obj.clip) return obj.clip.width; return 0; } function objHeight(objectID) { var obj = xDOM(objectID,0); if(obj.offsetHeight) return obj.offsetHeight; if (obj.clip) return obj.clip.height; return 0; } function objLeft(objectID) { var obj = xDOM(objectID,0);var objs = xDOM(objectID,1); if(objs.left) return objs.left; if (objs.pixelLeft) return objs.pixelLeft; if (obj.offsetLeft) return obj.offsetLeft; return 0; } function objTop(objectID) { var obj = xDOM(objectID,0);var objs = xDOM(objectID,1); if(objs.top) return objs.top; if (objs.pixelTop) return objs.pixelTop; if (obj.offsetTop) return obj.offsetTop; return 0; } function objRight(objectID) { return objLeft(objectID)+objWidth(objectID); } function objBottom(objectID) { return objTop(objectID)+objHeight(objectID); } function objLayer(objectID) { var objs = xDOM(objectID,1); if(objs.zIndex) return objs.zIndex; return 0; } function objVisible(objectID) { var objs = xDOM(objectID,1); if(objs.visibility == 'hide' || objs.visibility == 'hidden') return 'hidden'; return 'visible'; } // More Object Functions function setObjVis(objectID,vis) { var objs = xDOM(objectID,1); //alert(typeof objs); if (typeof objs == "object") { objs.visibility = vis; } } function toggleObjVis(objectID) { var objs = xDOM(objectID,1); var vis = objs.visibility; objs.visibility = (vis == "visible" || vis == "show") ? 'hidden' : 'visible'; } function moveObjTo(objectID,x,y) { var objs = xDOM(objectID,1); objs.left = x; objs.top = y; } function moveObjBy(objectID,x,y) { var obj = xDOM(objectID,0);var objs = xDOM(objectID,1); if (obj.offsetLeft != null) {var l = obj.offsetLeft; var t = obj.offsetTop; objs.left = l+x; objs.top = t+y;} else if (objs.pixelLeft != null) {objs.pixelLeft += x; objs.pixelTop += y;} else obj.moveBy(x,y); } function moveObjLayer(objectID,z) { var objs = xDOM(objectID,1); objs.zIndex = z; } // Browser Window Size and Position function pageWidth() { return window.innerWidth != null? window.innerWidth : document.documentElement && document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body != null ? document.body.clientWidth : null; } function pageHeight() { return window.innerHeight != null? window.innerHeight : document.documentElement && document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body != null? document.body.clientHeight : null; } function posLeft() { return typeof window.pageXOffset != 'undefined' ? window.pageXOffset :document.documentElement && document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft ? document.body.scrollLeft : 0; } function posTop() { return typeof window.pageYOffset != 'undefined' ? window.pageYOffset : document.documentElement && document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop ? document.body.scrollTop : 0; } function posRight() { return posLeft()+pageWidth(); } function posBottom() { return posTop()+pageHeight(); } // Cross Browser DOM // copyright Stephen Chapman, 4th Jan 2005 // you may copy this code but please keep the copyright notice as well var aDOM = 0, ieDOM = 0, nsDOM = 0; var stdDOM = document.getElementById; if (stdDOM) aDOM = 1; else {ieDOM = document.all;if (ieDOM) aDOM = 1; else {var nsDOM = ((navigator.appName.indexOf('Netscape') != -1) && (parseInt(navigator.appVersion) ==4)); if (nsDOM) aDOM = 1;}} function xDOM(objectId, wS) { try { if (stdDOM) return wS ? document.getElementById(objectId).style:document.getElementById(objectId); if (ieDOM) return wS ? document.all[objectId].style: document.all[objectId]; if (nsDOM) return document.layers[objectId]; } catch (error) { return "no object" } }