// JScript File
<!--getImagePopupHTML
    /************************************
    // data template - DO NOT ALTER ARRAY ORDERING
    
    ARRIDX_VENUE_VENUENAME = 0;
    ARRIDX_VENUE_EXTLINK = 1;
    ARRIDX_VENUE_EMAILLINK = 2;
    ARRIDX_VENUE_MAPFILENAME = 3;
    ARRIDX_VENUE_VENUEDATA = 4;
    
    ARRVAL_NULLSTRING = "";

    arrVenues[arrVenues.length] = new Array(
        VENUE_VENUENAME,
        VENUE_EXTLINK | ARRVAL_NULLSTRING,
        VENUE_EMAILLINK | ARRVAL_NULLSTRING,
        VENUE_MAPFILENAME | ARRVAL_NULLSTRING,
        VENUE_VENUEDATA | ARRVAL_NULLSTRING
        );
    ************************************/
    
    

	function getVenueTableRowHTML(idx) {
	    var strHTML = "";
	    var strHTML1 = "";
	    var strHTML2 = "";
	    var nullData = false;
	    
	    if ( idx == undefined ) {
	        var tmpStr = "";
	        var lineCnt = 0;
	        var totLineCnt = 0;
	        var arrLineCnt = new Array();
	        
            ///////////////////////////////////////////////////////////////
	        // this loop calculates the half number of data lines in the //
	        // venue data array and returns the middle record /////////////
            for ( var x=0; x<arrVenues.length; x++ ) {
                lineCnt = 0;
                
                for (var y=1; y<arrVenues[x].length-1; y++) {
                    lineCnt += ( arrVenues[x][y]!=ARRVAL_NULLSTRING ? 1 : 0 );
                }
                if ( arrVenues[x][y]!=ARRVAL_NULLSTRING ) {
                    var arrX = arrVenues[x][y].split("<br/>");
                    lineCnt += arrX.length;
                }
                lineCnt = ( lineCnt == 1 ? 2 : lineCnt );
                
                arrLineCnt[arrLineCnt.length] = lineCnt; 
                totLineCnt += lineCnt;
            }
            
            var halfCnt = parseInt(totLineCnt / 2);
            if ( halfCnt * 2 < totLineCnt ) halfCnt++;
            
            var sumCnt = 0;
            var idx = 0;
            
            for (idx=0; idx<arrLineCnt.length && sumCnt<halfCnt; idx++) {
                sumCnt += arrLineCnt[idx];
            }
            arrLineCnt = null;
                        
            var mid = --idx;
  	        // end of loop /////////////
	        
	        ///////////////////////////////////////////////
            // this loop calculates the middle record by //
            // record count ///////////////////////////////
            
	        // var mid = parseInt(arrVenues.length / 2);
	        // if ( mid * 2 < arrVenues.length ) mid++;
  	        // end of count /////////////

            /*// begin stats //
	        var msg = "Record count: " + arrVenues.length + "\n";
	        var m = parseInt(arrVenues.length / 2);
	        if ( m * 2 < arrVenues.length ) m++;
            msg += "Line count: " + totLineCnt + "\n";
            msg += "Mid record: " + m + "\n";
            msg += "Mid line: " + halfCnt + "\n";
            msg += "Mid record by line: " + mid;    
            alert(msg);        
            */// end stats //
            
            for ( var x=0; x<arrVenues.length; x++ ) {
                nullData = true;
                
                for (var y=1; y<arrVenues[x].length && nullData; y++) {
                    nullData = ( arrVenues[x][y]==ARRVAL_NULLSTRING );
                }
                
                tmpStr = ""
                    +   "<tr>"
                    +	    "<td style='text-align:left; vertical-align:top;'>"
                    +	        "<ul>"
                    +	            "<li>&nbsp;</li>"
                    +	        "</ul>"
                    +	    "</td>"
                    +	    "<td style='white-space:nowrap; text-align:left; vertical-align:top; font-size:smaller;'>"
                    +           "<span id='spnLoc' style='font-weight:bold; font-style:italic;'>" + arrVenues[x][ARRIDX_VENUE_VENUENAME] + "</span>&nbsp;"
                    +           ( ( arrVenues[x][ARRIDX_VENUE_EXTLINK] != ARRVAL_NULLSTRING ) 
                                    ?   "&nbsp;<span style='font-size:x-small; font-weight:bold;'><a target='_blank' href='"
                                            +   arrVenues[x][ARRIDX_VENUE_EXTLINK]
                                            +   "'>"
					    +	"<img style='text-align:left; vertical-align:top; padding: 1; border-left: 1 darkred solid; border-top: 1 darkred solid; border-right: 1 darkred solid; border-bottom: 1 darkred solid; position:inherit; top:0; cursor:pointer;' src='Contents/Images/graphics/link33.gif' alt='' width='15' height='15' />"
					    +	"</a></span>&nbsp;" 
                                    :   "" 
                                )
                    +           ( ( arrVenues[x][ARRIDX_VENUE_MAPFILENAME] != ARRVAL_NULLSTRING ) 
		    		    ?   "&nbsp;<img id='" + x + "_" + y + "' style='text-align:left; vertical-align:top; padding: 1; border-left: 1 darkblue solid; border-top: 1 darkblue solid; border-right: 1 darkblue solid; border-bottom: 1 darkblue solid; position:inherit; top:0; cursor:default;' "
//		    			    + "onreadystatechange='hoverMapReadyState(this)' "
					    + "onmouseover='this.style.cursor=\"wait\"; window.top.showVenueMap("
					    + "&quot;" + arrVenues[x][ARRIDX_VENUE_VENUENAME] + "&quot;"
					    + ","
					    + "&quot;" + arrVenues[x][ARRIDX_VENUE_MAPFILENAME] + "&quot;"
 					    + ","
					    + "true"
					    + ");'"
					    + " src='Contents/Images/graphics/ca_map.jpg' alt='' width='15' height='15' />&nbsp;"
                                    :   "" 
                                )
                    +           "<br/>"
                    
                    +           ( nullData 
                                    ?   "<span style='font-size:smaller; font-style:italic;'>(closed/relocated)</span>"
                                    :   arrVenues[x][ARRIDX_VENUE_VENUEDATA]
		                                    +   ( ( arrVenues[x][ARRIDX_VENUE_EMAILLINK] != ARRVAL_NULLSTRING ) 
		                                            ?   "<br />Email:&nbsp;<a href=&quot;mailto:"
		                                                +   arrVenues[x][ARRIDX_VENUE_EMAILLINK]
		                                                +   "&quot;>"
		                                                +   arrVenues[x][ARRIDX_VENUE_EMAILLINK]
		                                                +   "</a>" 
		                                            :   "" 
		                                        )
		                        )
                    +           ( ( x<mid-1 || ( x>=mid && x<arrVenues.length-1 ) ) 
                                    ?   "<hr>" 
                                    :   "" 
                                )
                    +	    "</td>"
                    +   "</tr>";
                    
                strHTML1 += ( x<mid ? tmpStr : "" );
                strHTML2 += ( x>=mid ? tmpStr : "" );
            }

            strHTML =   "<col width='50%'/><col width='50%'/>"
                +       "<tr>"
                +           "<td style='text-align:left; vertical-align:top;'>"
                +               "<table>"
                +                   strHTML1
                +               "</table>"
                +           "</td>"
                +           "<td style='text-align:left; vertical-align:top;'>"
                +               "<table>"
                +                   strHTML2
                +               "</table>"
                +           "</td>"
                +       "</tr>";
	    } else {
	        var x = 0;
            var keyfound = false;
	        
	        if ( isUnsignedInteger(idx) ) {
	            x = parseInt(idx);
	            keyfound = true;
	        } else {
	            for ( x=0; x<arrVenues.length && !keyfound; x++ ) {
	                if ( idx==arrVenues[x][ARRIDX_VENUE_VENUENAME] ) {
	                    keyfound = true;
	                    x--
	                }
	            }
	        }
    	    
            if ( keyfound ) {
		var map_img_onmouseover = "window.top.showVenueMap("
					    + "'" + arrVenues[x][ARRIDX_VENUE_VENUENAME] + "'"
					    + ","
					    + "'" + arrVenues[x][ARRIDX_VENUE_MAPFILENAME] + "'"
					    + ");";

                strHTML += "" 
                    +   "<table bgcolor='#ADD8E6' cellspacing='0' cellpadding='2' style='border:groove 1pt #006400;' >"
                    +       "<tr>"
                    +           "<td style='text-align:left; backgroundColor:#FFFFE0; border-bottom:groove 1pt #006400;' nowrap='nowrap' >"
                    +               "<font size='3'>&nbsp;<b><i><span id='spnLoc'>" + arrVenues[x][ARRIDX_VENUE_VENUENAME] + "</span></i></b>&nbsp;</font>"
                    +               ( ( arrVenues[x][ARRIDX_VENUE_MAPFILENAME] != ARRVAL_NULLSTRING ) 
		    		    	?   "&nbsp;<img id='p_" + x + "' style='text-align:left; vertical-align:top; padding: 1; border-left: 1 darkblue solid; border-top: 1 darkblue solid; border-right: 1 darkblue solid; border-bottom: 1 darkblue solid; position:inherit; top:0; cursor:default;' "
//					    + "onreadystatechange='window.top.hoverMapReadyState(this)' "
					    + "onmouseover='this.style.cursor=&quot;wait&quot;; window.top.showVenueMap("
					    + "&quot;" + arrVenues[x][ARRIDX_VENUE_VENUENAME] + "&quot;"
					    + ","
					    + "&quot;" + arrVenues[x][ARRIDX_VENUE_MAPFILENAME] + "&quot;"
 					    + ");'"
					    + " src='Contents/Images/graphics/ca_map.jpg' alt='' width='15' height='15' />&nbsp;"
                                    	:   "" 
				    )
                    +           "</td>"
                    +       "</tr>"
                    +       "<tr>"
                    +   	    "<td style='white-space:nowrap;'>"
                    +               arrVenues[x][ARRIDX_VENUE_VENUEDATA]
                    +               ( ( arrVenues[x][ARRIDX_VENUE_EMAILLINK] != ARRVAL_NULLSTRING ) 
                                        ? "<br />Email:<a href='mailto:"
                                            + arrVenues[x][ARRIDX_VENUE_EMAILLINK]
                                            + "'>"
                                            + arrVenues[x][ARRIDX_VENUE_EMAILLINK]
                                            + "</a>" 
                                        :"" 
                                    )
                    +	        "</td>"
                    +	    "</tr>"
                    +   "</table>";
            }
	    }
	    
		return strHTML;
	}
	
	window.top.hideVenueDataPopup = function() {
	    if ( popVenueData && popVenueData.hide ) {
	        popVenueData.hide();
	    }
	}
	
	var popVenueData = null;
	window.top.showVenueDataPopup = function(idx) {
	    if ( popVenueData ) {
	        if ( popVenueData.isOpen ) popVenueData.hide();
	        popVenueData = null;
	    }
	    
	    if ( window.createPopup ) {
	        if ( !(idx==undefined) && !(idx==null) ) {
	            idx = idx.replace(/&/g,"&amp;");
	            idx = idx.replace(/'/g,"&#39;");
                venuedataPopLeft = ( window.event.clientX 
                    ? eval(parseInt(window.event.clientX) + 20) 
                    : ( window.event.pageX 
                        ? eval(parseInt(window.event.pageX) + 20) 
                        : null ) );
                venuedataPopTop = ( window.event.clientY 
                    ? eval(parseInt(window.event.clientY) + 80) 
                    : ( window.event.pageY 
                        ? eval(parseInt(window.event.pageY) + 80) 
                        : null ) );

	            window.focus();

	            var strHTML = getVenueTableRowHTML(String(idx));

	            if ( strHTML.length>0 ) {
	                popVenueData = createPopup();
        	        
	                if ( popVenueData ) {
    	                	if ( popVenueData.document.body ) {
    	                    	popVenueData.document.body.innerHTML = strHTML;
            	            
    	                    	popVenueData.show(0,0,100,0);
            	            
	                    	var popLeft = venuedataPopLeft;
	                    	var popTop = venuedataPopTop;
	                    	var popWidth = popVenueData.document.body.scrollWidth;
	                    	var popHeight = popVenueData.document.body.scrollHeight;

        	            	popVenueData.show(
        	                	popLeft,
        	                	popTop,
        	                	popWidth,
        	                	popHeight);
    	                	}
	                }
	            }
	        }
	    }
	}
    
        var popVenueMap = null;

/*
	var showVenueMap = function(maptitle,mapsrc,opener) {
	    if ( popVenueMap ) {
	        if ( popVenueMap.isOpen ) popVenueMap.hide();
	        // popVenueMap = null;
	    }
	    
	    if ( window.createPopup && !(maptitle==undefined) && !(mapsrc==undefined) ) {
	        if ( !(opener==undefined) ) {
                    venuedataPopLeft = ( window.event.clientX 
                        ? eval(parseInt(window.event.clientX) + 20) 
                        : ( window.event.pageX 
                            ? eval(parseInt(window.event.pageX) + 20) 
                            : null ) );
                    venuedataPopTop = ( window.event.clientY 
                        ? eval(parseInt(window.event.clientY) + 80) 
                        : ( window.event.pageY 
                            ? eval(parseInt(window.event.pageY) + 80) 
                            : null ) );
	        }

		var imgid = "" + new Date().getTime();
            	var imgsrc = "Contents/Images/maps/" + mapsrc;

	    	var oImg = new Image();
	    	var oDCO = new DocumentCursorObject("div_" + currNavDocID);

	    	var setWaitCursor = function() {
			oDCO.setCursor("wait");
	    	}

	    	var clrWaitCursor = function() {
			oDCO.clrCursor();
	    	}
		
		var doImageReadyState = function() {
			switch ( oImg.readyState ) {
				case "complete":
					if ( !(oDCO==null) ) setTimeout(clrWaitCursor,0);

		                	var strHTML = getImagePopupHTML(maptitle,imgsrc,oImg.width,oImg.height);
                	
		                	if ( strHTML.length > 0 ) {
		                    		var popLeft = venuedataPopLeft;
		                    		var popTop = venuedataPopTop;
		                    		var popWidth = 0;
		                    		var popHeight = 0;

		                    		popVenueMap = createPopup();
                
		                    		if ( popVenueMap ) {
				        		var pBody = popVenueMap.document.body;

		                        		pBody.innerHTML = strHTML;

		                        		popVenueMap.show(0,0,100,0);

							var pImg = pBody.all("imgPopup");

		                        		popWidth = pBody.scrollWidth;
                       					popHeight = pBody.scrollHeight;

							var fnShowMap = function() {
								if ( pImg.readyState=="complete" ) {
		                        				popVenueMap.show(
                       			    					popLeft,
		                            					popTop,
		                            					popWidth,
                       			    					popHeight);

									return;
								} else {
									setTimeout(fnShowMap,0);
								}
							}

							fnShowMap();
		                    		}
		                	}

					break;
			} 
		}

	    	var setImageData = function() {
			oImg.id = imgid;
			oImg.src = imgsrc;
	    	}

		if ( oImg ) {
			oImg.onreadystatechange = doImageReadyState;

			setTimeout(setImageData,0);

			if ( !(oImg.readyState=="complete") ) {
				setTimeout(setWaitCursor,0);
			}
		}
   	    }
   	}
*/

	window.top.showVenueMap = function(maptitle,mapsrc,opener) {
	    if ( popVenueMap ) {
	        if ( popVenueMap.isOpen ) popVenueMap.hide();
	        // popVenueMap = null;
	    }
	    
	    if ( window.createPopup && !(maptitle==undefined) && !(mapsrc==undefined) ) {
	        if ( !(opener==undefined) ) {
                    venuedataPopLeft = ( window.event.clientX 
                        ? eval(parseInt(window.event.clientX) + 20) 
                        : ( window.event.pageX 
                            ? eval(parseInt(window.event.pageX) + 20) 
                            : null ) );
                    venuedataPopTop = ( window.event.clientY 
                        ? eval(parseInt(window.event.clientY) + 80) 
                        : ( window.event.pageY 
                            ? eval(parseInt(window.event.pageY) + 80) 
                            : null ) );
	        }

            	var imgsrc = "Contents/Images/maps/" + mapsrc;

		var strHTML = getImagePopupHTML(maptitle,imgsrc);
                	
		if ( strHTML.length > 0 ) {

		        popVenueMap = createPopup();
                	
			if ( popVenueMap ) {
				var popLeft = 0;
		        	var popTop = 0;
		        	var popWidth = 100;
		        	var popHeight = 0;

				var pBody = popVenueMap.document.body;

		                pBody.innerHTML = strHTML;

		                popVenueMap.show(
                       			popLeft,
		                        popTop,
		                        popWidth,
                       			popHeight);

				var pImg = pBody.all("imgPopup");

				var fnShowMap = function() {
					if ( pImg.readyState=="complete" ) {
						popLeft = venuedataPopLeft;
		        			popTop = venuedataPopTop;
		                        	popWidth = pBody.scrollWidth;
                       				popHeight = pBody.scrollHeight;

		                        	popVenueMap.show(
                       			    		popLeft,
		                            		popTop,
		                            		popWidth,
                       			    		popHeight);

						return;
					} else {
						setTimeout(fnShowMap,0);
					}
				}

				fnShowMap();
			}
		}

   	    }
   	}

	window.top.hoverMapReadyState = function(img) {
		var defaultColor = "darkblue";
		var hiliteColor = "darkgreen";
		var trailColor = "darkred";

		var hoverMapReadyStateTimeout = function() {
			hoverMapReadyState(img);
		}

		if ( img && img.readyState=="complete" ) {
			var setBorder = function() {
				var borderIdx = 0;

				borderIdx = ( img.style.borderLeftColor==hiliteColor ? 1 : borderIdx );
				borderIdx = ( img.style.borderTopColor==hiliteColor ? 2 : borderIdx );
				borderIdx = ( img.style.borderRightColor==hiliteColor ? 3 : borderIdx );
				borderIdx = ( img.style.borderBottomColor==hiliteColor ? 4 : borderIdx );

				switch ( borderIdx ) {
					case 1:
						img.style.borderLeftColor = defaultColor;
						img.style.borderTopColor = hiliteColor;
						img.style.borderRightColor = trailColor;
						img.style.borderBottomColor = defaultColor;

						img.style.borderLeftWidth = 2;
						img.style.borderTopWidth = 1;
						img.style.borderRightWidth = 2;
						img.style.borderBottomWidth = 1;

						img.style.paddingLeft = 1;
						img.style.paddingTop = 1;
						img.style.paddingRight = 1;
						img.style.paddingBottom = 1;
						break;
					case 2:
						img.style.borderLeftColor = defaultColor;
						img.style.borderTopColor = defaultColor;
						img.style.borderRightColor = hiliteColor;
						img.style.borderBottomColor = trailColor;

						img.style.borderLeftWidth = 1;
						img.style.borderTopWidth = 1;
						img.style.borderRightWidth = 1;
						img.style.borderBottomWidth = 1;

						img.style.paddingLeft = 2;
						img.style.paddingTop = 1;
						img.style.paddingRight = 2;
						img.style.paddingBottom = 1;
						break;
					case 3:
						img.style.borderLeftColor = trailColor;
						img.style.borderTopColor = defaultColor;
						img.style.borderRightColor = defaultColor;
						img.style.borderBottomColor = hiliteColor;

						img.style.borderLeftWidth = 2;
						img.style.borderTopWidth = 1;
						img.style.borderRightWidth = 2;
						img.style.borderBottomWidth = 1;

						img.style.paddingLeft = 1;
						img.style.paddingTop = 1;
						img.style.paddingRight = 1;
						img.style.paddingBottom = 1;
						break;
					default:
						img.style.borderLeftColor = hiliteColor;
						img.style.borderTopColor = trailColor;
						img.style.borderRightColor = defaultColor;
						img.style.borderBottomColor = defaultColor;

						img.style.borderLeftWidth = 1;
						img.style.borderTopWidth = 1;
						img.style.borderRightWidth = 1;
						img.style.borderBottomWidth = 1;

						img.style.paddingLeft = 2;
						img.style.paddingTop = 1;
						img.style.paddingRight = 2;
						img.style.paddingBottom = 1;
						break;
				}
			}

			window.top.setInterval(setBorder,250);
		}
	}


    	function getLocationHTML() {
       		var rowHTML = getVenueTableRowHTML();
        	rowHTML = rowHTML.replace(/&quot;/g,"\"");

        	var strHTML = ""
	   	+	"<table style='z-index:-1; table-layout:fixed; border-left:groove 2px #000080; border-top:groove 2px #000080; border-right:groove 2px #000080; border-bottom:groove 2px #000080;' width='100%' cellpadding='4'>"
            	+       	rowHTML
            	+	"</table>"
            
        	return strHTML;
    }
//-->
