var rooturl;
function js_init( url )
{
   rooturl = url;
}

function randomnumber( multiplier )
{
   return( Math.random()* multiplier );
}

function bookmarkpage()
{
   addBookmark( "http://www.webpictureframes.com", "WebPictureFrames" );
}

function addBookmark(url,name)
{
   if(window.sidebar && window.sidebar.addPanel) 
   {         
      if( window.sidebar.addPanel(name,url,'') )
      {
         return( true );
      }
   } 
   else if(window.opera && window.print) 
   {          
      var e=document.createElement('a');         
      e.setAttribute('href',url);         
      e.setAttribute('title',name);         
      e.setAttribute('rel','sidebar');         
      e.click(); 
   } 
   else if(window.external) 
   {         
      try 
      {             
         if( window.external.AddFavorite(url,name) )
         {
            return( true );
         }         
      }         
      catch(e){} 
   } 
   else
      alert("To add our website to your bookmarks use CTRL+D on Windows and Linux and Command+D on the Mac."); 
} 


function hideprocessingpopover()
{
	document.getElementById( "pageprocessingdivid" ).style.visibility = "hidden";
}

function showprocessingpopover()
{
   // scroll the window back up to the top
   window.scrollTo(0, 0);

	document.getElementById( "pageprocessingdivid" ).style.visibility = "visible";
	document.getElementById( "pageprocessingdivid" ).style.left = 0;
	document.getElementById( "pageprocessingdivid" ).width = '1024px';
	document.getElementById( "pageprocessingdivid" ).style.top = '0px';
	document.getElementById( "pageprocessingdivid" ).style.height =  "1024px";
	document.getElementById( "pageprocessingtdid" ).style.height =  "1024px";
}
function writeprocessingpopoverdiv()
{
   var imageurl = rooturl + 'images/waiting001.gif';
   document.write( '<div id="pageprocessingdivid" ><table width="1024px"><tr><td id="pageprocessingtdid" align="center" valign="middle" ><table width="100%"><tr><td align="center" valign="center" style="font-family: arial; font-weight: bold; font-size: 22px; color:#FBA206;">Processing...</td></tr><tr><td align="center" ><img src="' + imageurl + '" /></td></tr></table></td></tr></table></div>' );
}

function mouseX(evt) {
if (evt.pageX) 
{
   return evt.pageX;
}   
else if (evt.clientX)
   return evt.clientX + (document.documentElement.scrollLeft ?
   document.documentElement.scrollLeft :
   document.body.scrollLeft);
else return null;
}
function mouseY(evt) 
{
   if (evt.pageY) 
   {
      return evt.pageY;
   }      
else if (evt.clientY)
   return evt.clientY + (document.documentElement.scrollTop ?
   document.documentElement.scrollTop :
   document.body.scrollTop);
else return null;
}

function screenX(evt) {
if (evt.screenX) 
{
   return evt.screenX;
}   
else if (evt.clientX)
   return evt.clientX + (document.documentElement.scrollLeft ?
   document.documentElement.scrollLeft :
   document.body.scrollLeft);
else return null;
}
function screenY(evt) 
{
   if (evt.screenY) 
   {
      return evt.screenY;
   }      
else if (evt.clientY)
   return evt.clientY + (document.documentElement.scrollTop ?
   document.documentElement.scrollTop :
   document.body.scrollTop);
else return null;
}


var PageLoaded = 0;
function SetLoadedState()
{
	PageLoaded = 1;
}

function getevent( event_in )
{
   if( window.event )
   {
      return( window.event );
   }
   else
   {
      return( event_in );
   }
}
function js_showskupopupdata( event_in, divid, sku )
{
   var evt = getevent( event_in );
   var element = document.getElementById( divid );
   if( element )
   {
      if( !element.getAttribute( 'DIVSHOWN' ) )
      {
         element.setAttribute( 'DIVSHOWN', '0'  );
         var url = rooturl + 'wpfgetframepopupinfo.html?sku=' + sku;
         ajax_loadContent( divid, url );
      }      
      
      element.style.visibility = 'visible';
      element.style.top = mouseY( evt ) - 300 + 'px';
      element.style.left = mouseX( evt ) + 50 + 'px';
   }   
}

function js_hideskupopupdata( event_in, divid )
{
   var element = document.getElementById( divid );
   if( element )
   {
      element.style.visibility = 'hidden';
      element.style.top = '-1000px';
      element.style.left = '-1000px';
   }      
}

function js_addskupopupdatadivs( skulist )
{
   // create the popup divs
   var totaldivs = skulist.length;
   var imageurl = rooturl + 'images/waiting001.gif';
   for( index = 0; index < totaldivs; index++ )
   {
      document.write( '<div class="imagepopup"  id="' + skulist[ index ] + '" ><table id="dropshadowtable" ><tr><td id="dropshadowtopleft"></td><td id="dropshadowtop"></td><td id="dropshadowtopright"></td></tr><tr><td id="dropshadowleft"></td><td id="dropshadowmiddle"><img src="' + imageurl + '" /></td><td id="dropshadowedgeright" ></td></tr><tr><td id="dropshadowbottomleft"></td><td id="dropshadowbottom"></td><td id="dropshadowbottomright"></td></tr></table></div>' );
   }   
}


function js_showproductskupopupdata( divid, sku )
{
   var element = document.getElementById( divid );
   if( !element.getAttribute( 'DIVSHOWN' ) )
   {
      element.setAttribute( 'DIVSHOWN', '0'  );
      var url = rooturl + 'wpfgetframeproductpopupinfo.html?sku=' + sku;
      ajax_loadContent( divid, url );
   }      
   element.style.visibility = 'visible';
   element.style.top = '100px';
   element.style.left = '100px';
}

function js_addproductskupopupdatadiv()
{
   // create the popup divs
   var imageurl = rooturl + 'images/waiting001.gif';
   document.write( '<div class="imagepopup" id="productdatadiv" ><table id="dropshadowtable" ><tr><td id="dropshadowtopleft"></td><td id="dropshadowtop"></td><td id="dropshadowtopright"></td></tr><tr><td id="dropshadowleft"></td><td id="dropshadowmiddle"><img src="' + imageurl + '" /></td><td id="dropshadowedgeright" ></td></tr><tr><td id="dropshadowbottomleft"></td><td id="dropshadowbottom"></td><td id="dropshadowbottomright"></td></tr></table></div>' );
}

function js_hideproductskupopupdata( divid )
{
   var element = document.getElementById( divid );

   element.style.visibility = 'hidden';
   element.style.top = '-1000px';
   element.style.left = '-1000px';
}

function js_addbackgroundblanketdiv( divid )
{
   // create the popup divs
//   alert( '<div class="backgroundblanket" id="' + divid + '"  ></div>' );
   document.write( '<div class="backgroundblanket" id="' + divid + '" ></div>' );
   
}
function js_hide_backgroundblanketdiv( divid )
{
//   alert( divid );
	document.getElementById( divid ).style.visibility = "hidden";
}
function js_show_backgroundblanketdiv( divid, zindex )
{
//   alert( divid );
   var element = document.getElementById( divid );

	element.style.visibility = "visible";
//	element.style.height = js_getbodyheight() + "px";
	element.style.height = "2000px";
	if( zindex != "" )
	{
	   element.style.zIndex = zindex;
   }	   
}



function js_showpopoverdatadiv( divid, uri, x, y, scrollup, blanketdivid, zindex )
{
   if( scrollup == 1 )
   {
      // scroll the window back up to the top
      setTimeout('window.scrollTo(0, 0)',10);
   }      

   js_show_backgroundblanketdiv( blanketdivid, zindex );
    
   var element = document.getElementById( divid );
      
   // check to see if there is already a ? in the url
   var separator = "?";
   if( uri.indexOf( "?", 0 ) != -1 )
   {
      separator = "&";
   }
   var url = rooturl + uri + separator + "divid=" + divid;
   
//   alert( url );
   ajax_loadContent( divid, url );

   element.style.visibility = 'visible';
   element.style.top = x;
   element.style.left = y;
   
   if( zindex != "" )
   {
      element.style.zIndex = zindex + 1;
   }      
}


function js_addpopoverdatadiv( divid )
{
   // create the popup divs
   var imageurl = rooturl + 'images/waiting001.gif';
   document.write( '<div class="imagepopup" id="' + divid + '" ><table id="dropshadowtable" ><tr><td id="dropshadowtopleft"></td><td id="dropshadowtop"></td><td id="dropshadowtopright"></td></tr><tr><td id="dropshadowleft"></td><td id="dropshadowmiddle"><img src="' + imageurl + '" /></td><td id="dropshadowedgeright" ></td></tr><tr><td id="dropshadowbottomleft"></td><td id="dropshadowbottom"></td><td id="dropshadowbottomright"></td></tr></table></div>' );
}

function js_hidepopoverdatadiv( divid, blanketdivid, skipscrolltotop )
{
   js_hide_backgroundblanketdiv( blanketdivid );
   
   var element = document.getElementById( divid );

   element.style.visibility = 'hidden';
   element.style.top = '-1000px';
   element.style.left = '-1000px';
   
   // scroll the window back up to the top
   if( skipscrolltotop != "yes" ) 
   {
      window.scrollTo(0, 0);
   }      
}


function js_showpopupdatadiv( divid, uri, x, y, showblanket )
{
   var element = document.getElementById( divid );
   if( !element.getAttribute( 'DIVSHOWN' ) )
   {
      element.setAttribute( 'DIVSHOWN', '0'  );
      
      // check to see if there is already a ? in the url
      var separator = "?";
      if( uri.indexOf( "?", 0 ) != -1 )
      {
         separator = "&";
      }
      var url = rooturl + uri + separator + "divid=" + divid;
      ajax_loadContent( divid, url );
   }      

   element.style.visibility = 'visible';
   element.style.top = x;
   element.style.left = y;
}

function js_addpopupdatadiv( divid )
{
   // create the popup divs
   var imageurl = rooturl + 'images/waiting001.gif';
   document.write( '<div class="imagepopup" id="' + divid + '" ><table id="dropshadowtable" ><tr><td id="dropshadowtopleft"></td><td id="dropshadowtop"></td><td id="dropshadowtopright"></td></tr><tr><td id="dropshadowleft"></td><td id="dropshadowmiddle"><img src="' + imageurl + '" /></td><td id="dropshadowedgeright" ></td></tr><tr><td id="dropshadowbottomleft"></td><td id="dropshadowbottom"></td><td id="dropshadowbottomright"></td></tr></table></div>' );
}

function js_hidepopupdatadiv( divid )
{
   var element = document.getElementById( divid );

   element.style.visibility = 'hidden';
   element.style.top = '-1000px';
   element.style.left = '-1000px';
}

function js_navpage( url )
{
	window.location = url;
   return( false );
}


/* Simple AJAX Code-Kit (SACK) v1.6.1 */
/* ©2005 Gregory Wild-Smith */
/* www.twilightuniverse.com */
/* Software licenced under a modified X11 licence,
   see documentation or authors website for more details */

function sack(file) {
	this.xmlhttp = null;

	this.resetData = function() {
		this.method = "POST";
  		this.queryStringSeparator = "?";
		this.argumentSeparator = "&";
		this.URLString = "";
		this.encodeURIString = true;
  		this.execute = false;
  		this.element = null;
		this.elementObj = null;
		this.requestFile = file;
		this.vars = new Object();
		this.responseStatus = new Array(2);
  	};

	this.resetFunctions = function() {
  		this.onLoading = function() { };
  		this.onLoaded = function() { };
  		this.onInteractive = function() { };
  		this.onCompletion = function() { };
  		this.onError = function() { };
		this.onFail = function() { };
	};

	this.reset = function() {
		this.resetFunctions();
		this.resetData();
	};

	this.createAJAX = function() {
		try {
			this.xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e1) {
			try {
				this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e2) {
				this.xmlhttp = null;
			}
		}

		if (! this.xmlhttp) {
			if (typeof XMLHttpRequest != "undefined") {
				this.xmlhttp = new XMLHttpRequest();
			} else {
				this.failed = true;
			}
		}
	};

	this.setVar = function(name, value){
		this.vars[name] = Array(value, false);
	};

	this.encVar = function(name, value, returnvars) {
		if (true == returnvars) {
			return Array(encodeURIComponent(name), encodeURIComponent(value));
		} else {
			this.vars[encodeURIComponent(name)] = Array(encodeURIComponent(value), true);
		}
	}

	this.processURLString = function(string, encode) {
		encoded = encodeURIComponent(this.argumentSeparator);
		regexp = new RegExp(this.argumentSeparator + "|" + encoded);
		varArray = string.split(regexp);
		for (i = 0; i < varArray.length; i++){
			urlVars = varArray[i].split("=");
			if (true == encode){
				this.encVar(urlVars[0], urlVars[1]);
			} else {
				this.setVar(urlVars[0], urlVars[1]);
			}
		}
	}

	this.createURLString = function(urlstring) {
		if (this.encodeURIString && this.URLString.length) {
			this.processURLString(this.URLString, true);
		}

		if (urlstring) {
			if (this.URLString.length) {
				this.URLString += this.argumentSeparator + urlstring;
			} else {
				this.URLString = urlstring;
			}
		}

		// prevents caching of URLString
		this.setVar("rndval", new Date().getTime());

		urlstringtemp = new Array();
		for (key in this.vars) {
			if (false == this.vars[key][1] && true == this.encodeURIString) {
				encoded = this.encVar(key, this.vars[key][0], true);
				delete this.vars[key];
				this.vars[encoded[0]] = Array(encoded[1], true);
				key = encoded[0];
			}

			urlstringtemp[urlstringtemp.length] = key + "=" + this.vars[key][0];
		}
		if (urlstring){
			this.URLString += this.argumentSeparator + urlstringtemp.join(this.argumentSeparator);
		} else {
			this.URLString += urlstringtemp.join(this.argumentSeparator);
		}
	}

	this.runResponse = function() {
		eval(this.response);
	}

	this.runAJAX = function(urlstring) {
		if (this.failed) {
			this.onFail();
		} else {
			this.createURLString(urlstring);
			if (this.element) {
				this.elementObj = document.getElementById(this.element);
			}
			if (this.xmlhttp) {
				var self = this;
				if (this.method == "GET") {
					totalurlstring = this.requestFile + this.queryStringSeparator + this.URLString;
					this.xmlhttp.open(this.method, totalurlstring, true);
				} else {
					this.xmlhttp.open(this.method, this.requestFile, true);
					try {
						this.xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
					} catch (e) { }
				}

				this.xmlhttp.onreadystatechange = function() {
					switch (self.xmlhttp.readyState) {
						case 1:
							self.onLoading();
							break;
						case 2:
							self.onLoaded();
							break;
						case 3:
							self.onInteractive();
							break;
						case 4:
							self.response = self.xmlhttp.responseText;
							self.responseXML = self.xmlhttp.responseXML;
							self.responseStatus[0] = self.xmlhttp.status;
							self.responseStatus[1] = self.xmlhttp.statusText;

							if (self.execute) {
								self.runResponse();
							}


							if (self.elementObj) {
								elemNodeName = self.elementObj.nodeName;
								elemNodeName.toLowerCase();
								if (elemNodeName == "input"
								|| elemNodeName == "select"
								|| elemNodeName == "option"
								|| elemNodeName == "textarea") {
									self.elementObj.value = self.response;
								} else {
									self.elementObj.innerHTML = self.response;
								}
							}
				
							
							if (self.responseStatus[0] == "200") {
								self.onCompletion();
							} else {
								self.onError();
							}

							self.URLString = "";
							/* These lines were added by Alf Magne Kalleland ref. info on the sack home page. It prevents memory leakage in IE */

							delete self.xmlhttp['onreadystatechange'];
							self.xmlhttp=null;
							self.responseStatus=null;
							self.response=null;
							self.responseXML=null;
														
							break;
					}
				};

				this.xmlhttp.send(this.URLString);
			}
		}
	};

	this.reset();
	this.createAJAX();
}

/************************************************************************************************************
Ajax dynamic content
Copyright (C) 2006  DTHMLGoodies.com, Alf Magne Kalleland

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA

Dhtmlgoodies.com., hereby disclaims all copyright interest in this script
written by Alf Magne Kalleland.

Alf Magne Kalleland, 2006
Owner of DHTMLgoodies.com


************************************************************************************************************/	

var enableCache = true;
var jsCache = new Array();

var dynamicContent_ajaxObjects = new Array();

function ajax_showContent(divId,ajaxIndex,url,callbackOnComplete)
{
	var targetObj = document.getElementById(divId);
	targetObj.innerHTML = dynamicContent_ajaxObjects[ajaxIndex].response;
	if(enableCache){
		jsCache[url] = 	dynamicContent_ajaxObjects[ajaxIndex].response;
	}
	dynamicContent_ajaxObjects[ajaxIndex] = false;

	
	ajax_parseJs(targetObj);


	if(callbackOnComplete) {
		executeCallback(callbackOnComplete);
	}
}

function executeCallback(callbackString) 
{
	if(callbackString.indexOf('(')==-1) {
		callbackString = callbackString + '()';
	}
	try{
		eval(callbackString);
	}catch(e){

	}
	
	
}


function ajax_loadContent(divId,url,callbackOnComplete)
{
	if(enableCache && jsCache[url]){
		document.getElementById(divId).innerHTML = jsCache[url];
		ajax_parseJs(document.getElementById(divId))
		evaluateCss(document.getElementById(divId))
		if(callbackOnComplete) {
			executeCallback(callbackOnComplete);
		}		
		return;
	}
	
	var ajaxIndex = dynamicContent_ajaxObjects.length;
//	document.getElementById(divId).innerHTML = 'Loading content - please wait';
	dynamicContent_ajaxObjects[ajaxIndex] = new sack();
	
	if(url.indexOf('?')>=0){
		dynamicContent_ajaxObjects[ajaxIndex].method='GET';
		var string = url.substring(url.indexOf('?'));
		url = url.replace(string,'');
		string = string.replace('?','');
		var items = string.split(/&/g);
		for(var no=0;no<items.length;no++){
			var tokens = items[no].split('=');
			if(tokens.length==2){
				dynamicContent_ajaxObjects[ajaxIndex].setVar(tokens[0],tokens[1]);
			}	
		}	
		url = url.replace(string,'');
	}

	
	dynamicContent_ajaxObjects[ajaxIndex].requestFile = url;	// Specifying which file to get
	dynamicContent_ajaxObjects[ajaxIndex].onCompletion = function(){ ajax_showContent(divId,ajaxIndex,url,callbackOnComplete); };	// Specify function that will be executed after file has been found
	dynamicContent_ajaxObjects[ajaxIndex].runAJAX();		// Execute AJAX function	
	
	
}

function ajax_parseJs(obj)
{
	var scriptTags = obj.getElementsByTagName('SCRIPT');
	var string = '';
	var jsCode = '';
	for(var no=0;no<scriptTags.length;no++){	
		if(scriptTags[no].src){
	        var head = document.getElementsByTagName("head")[0];
	        var scriptObj = document.createElement("script");
	
	        scriptObj.setAttribute("type", "text/javascript");
	        scriptObj.setAttribute("src", scriptTags[no].src);  	
		}else{
			if(navigator.userAgent.toLowerCase().indexOf('opera')>=0){
				jsCode = jsCode + scriptTags[no].text + '\n';
			}
			else
				jsCode = jsCode + scriptTags[no].innerHTML;	
		}
		
	}

	if(jsCode)ajax_installScript(jsCode);
}


function ajax_installScript(script)
{		
    if (!script)
        return;		
    if (window.execScript){        	
    	window.execScript(script)
    }else if(window.jQuery && jQuery.browser.safari){ // safari detection in jQuery
        window.setTimeout(script,0);
    }else{        	
        window.setTimeout( script, 0 );
    } 
}	
	
	
function evaluateCss(obj)
{
	var cssTags = obj.getElementsByTagName('STYLE');
	var head = document.getElementsByTagName('HEAD')[0];
	for(var no=0;no<cssTags.length;no++){
		head.appendChild(cssTags[no]);
	}	
}


// value and display array
var framesizefractiondisplayarray = new Array( "0", "1/16", "1/8", "3/16", "1/4", "5/16", "3/8", "7/16", "1/2", "9/16", "5/8", "11/16", "3/4", "13/16", "7/8", "15/16" );
var framesizefractionvaluearray = new Array( 0, 1/16, 1/8, 3/16, 1/4, 5/16, 3/8, 7/16, 1/2, 9/16, 5/8, 11/16, 3/4, 13/16, 7/8, 15/16 );

function fractionfromnumber( number, addquotes )
{
    if( number < 0 )
    {
      return( "0" );
    }

    var fraction = "";
    
    if( number == 0 )
    {
      if( addquotes == true )
      {
         fraction += "\"";
      }
      return( "0" + fraction );
    }

    var parts = number.split( "." );
    var decimal = number -= parts[ 0 ];

   if( decimal != 0 )
   {
      for( i = 0; i < framesizefractionvaluearray.length; i++ )
      {
         if( framesizefractionvaluearray[ i ] == decimal )
         {
            if( parts[ 0 ] == 0 )
            {
               fraction = framesizefractiondisplayarray[ i ];
               if( addquotes == true )
               {
                  fraction += "\"";
               }
            }
            else
            {
               fraction = "<sup>" + framesizefractiondisplayarray[ i ];
               if( addquotes == true )
               {
                  fraction += "\"";
               }
               fraction += "</sup>";
            }               
         }
      }
   } 
   else
   {
      if( addquotes == true )
      {
         fraction += "\"";
      }
   }

   if( parts[ 0 ] == 0 )
   {
      return( fraction );
   }
   else
   {
      return( parts[ 0 ] + "" + fraction );
   }      
}

function fractionfromdecimal( number )
{
    if( number < 0 )
    {
      return( "0" );
    }
    
    var fraction = "0";
    
   if( number != 0 )
   {
      for( i = 0; i < framesizefractionvaluearray.length; i++ )
      {
         if( framesizefractionvaluearray[ i ] == number )
         {
            fraction = framesizefractiondisplayarray[ i ];
         }
      }
   } 
   
   return( fraction );
}


// populate the size selects
function populatesizeselect( element, selectedvalue )
{
   var currentindex = 0;
   for( inch = 4; inch < 96; inch++ )
   {
      for( i = 0; i < framesizefractiondisplayarray.length; i++ )
      {
         var value = inch + framesizefractionvaluearray[ i ];
         
         var valuestring = inch;
         if( i )
         {
             valuestring += " - " + framesizefractiondisplayarray[ i ];     
         }
         
	      var newOpt = document.createElement('option');
	      newOpt.value = value;
	      newOpt.text = valuestring + "\"";

         try
         {
            element.add( newOpt, null );
         }
         catch(ex)
         {
            element.add( newOpt );
         }

         // check to see if the element is selected
         if( value == selectedvalue )
         {
            element.selectedIndex = currentindex;
         }
         
         // increment the index
         currentindex++;
      }
   }
}

// populate the size selects
function populatesizeselectlimited( element, selectedvalue, mininch, maxinch, skipsixteenths )
{
   var currentindex = 0;
   for( inch = mininch; inch < maxinch + 1; inch++ )
   {
      for( i = 0; i < framesizefractiondisplayarray.length; i++ )
      {
         var value = inch + framesizefractionvaluearray[ i ];
         if( value <= maxinch )
         {
            var valuestring = parseInt(value,10);
            var valuefraction = value - valuestring;
            var index = 0;
            for( j = 0; j < framesizefractionvaluearray.length; j++ )
            {
               if( valuefraction == framesizefractionvaluearray[ j ] )
               {
                  index = j;  
               }
            }
                           
            if( index )
            {
                valuestring += " - " + framesizefractiondisplayarray[ index ];     
            }
            
            var newOpt = document.createElement('option');
            newOpt.value = value;
            newOpt.text = valuestring + "\"";

            try
            {
               element.add( newOpt, null );
            }
            catch(ex)
            {
               element.add( newOpt );
            }

            // check to see if the element is selected
            if( value == selectedvalue )
            {
               element.selectedIndex = currentindex;
            }
         }
                     
         // increment the index
         currentindex++;
         if( skipsixteenths == true )
         {
            i++;
         }            
      }
   }
}

// highlight the text of an element
function highlighttext( field ) 
{
   field.focus();
   field.select();
}


function js_getbodywidth()   
{      
   return( 1024 );
} 

function js_getbodyheight()   
{           
   var y = 0;           
   if (self.innerHeight)           
   {                   
      y = self.innerHeight;           
   }           
   else if (document.documentElement && document.documentElement.clientHeight)           
   {                   
      y = document.documentElement.clientHeight;           
   }           
   else if (document.body)           
   {                   
      y = document.body.clientHeight;           
   }           
   return y;   
} 


function findPos(obj) {  var obj2 = obj;  var curtop = 0;  var curleft = 0;  if (document.getElementById || document.all) {   do  {    curleft += obj.offsetLeft-obj.scrollLeft;    curtop += obj.offsetTop-obj.scrollTop;    obj = obj.offsetParent;    obj2 = obj2.parentNode;    while (obj2!=obj) {     curleft -= obj2.scrollLeft;     curtop -= obj2.scrollTop;     obj2 = obj2.parentNode;    }   } while (obj.offsetParent)  } else if (document.layers) {   curtop += obj.y;   curleft += obj.x;  }  return [curtop, curleft]; } 

var js_g_showmoreinfourl;
var js_g_showmoreinfo_x;
var js_g_showmoreinfo_y;
function js_addmoreinfooverelementonclick()
{
   var url = js_g_showmoreinfourl;
   
   var imageurl = rooturl + 'images/waiting001.gif';
   
   try
   {
      document.getElementById( "wiz_moreinfo_outertable" ).innerHTML = "<img src='" + imageurl + "' />";   
   }
   catch(ex)
   {
   }
   
   js_hidemoreinfooverelement();
   js_showpopoverdatadiv( "moreinfodiv", url, js_g_showmoreinfo_y, js_g_showmoreinfo_x, 0, "moreinfoblanket", 20000 );
}

function js_addmoreinfooverelementdiv( image )
{
   // create the popup divs
   document.write( '<div id="moreinfooverelementdivid" onclick="js_addmoreinfooverelementonclick();" onmouseover="this.style.visibility=\'visible\';" style="position: absolute; visibility: hidden; z-index: 10; cursor:pointer;" ><img src="' + image + '" /></div>' );
}

function js_showmoreinfooverelement( element, url )
{
   js_g_showmoreinfourl = url;
   var position = findPos(element);
   divelement = document.getElementById( "moreinfooverelementdivid" );
   divelement.style.visibility = "visible";
   var _x = position[ 1 ] + ( element.offsetWidth / 2 ) - ( divelement.offsetWidth / 2 );
   var _y = position[ 0 ] + ( element.offsetHeight / 2 ) - ( divelement.offsetHeight /2 );
   divelement.style.left = _x + "px";
   divelement.style.top = _y + "px";
   
   js_g_showmoreinfo_x = ( _x - 200 ) + "px";   
   js_g_showmoreinfo_y = ( _y - 200 ) + "px";   
}

function js_hidemoreinfooverelement()
{
   divelement = document.getElementById( "moreinfooverelementdivid" );
   divelement.style.visibility = "hidden";
}

