Results 1 to 3 of 3

Thread: Need Some Help

  1. #1
    Join Date
    Dec 2006
    Posts
    6
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default Need Some Help

    I'm trying to use the photo album code from this site with some small modifications.
    PhotoAlbum
    I want to pop up the image into an auto-sizing window, however I'm getting an error and I don't know why. Here is my code

    Code:
    var dimension="3x5" //Specify dimension of gallery (number of images shown), such as 4x2, 3x1 etc
    
    //Specify images:
    //galleryarray[x]=["path_to_image", "optional_title_attribute", "optional_text_description", "optional_link"]
    var galleryarray=new Array()
    galleryarray[0]=["photo_album/1.jpg", "optional title", "optional description", "photo_album/1.jpg"]
    galleryarray[1]=["photo_album/2.jpg", "optional title", "optional description", "photo_album/2.jpg"]	
    galleryarray[2]=["photo_album/3.jpg", "optional title", "optional description", "photo_album/3.jpg"]
    galleryarray[3]=["photo_album/4.jpg", "optional title", "optional description", "photo_album/4.jpg"]
    galleryarray[4]=["photo_album/5.jpg", "optional title", "optional description", "photo_album/5.jpg"]
    galleryarray[5]=["photo_album/6.jpg", "optional title", "optional description", "photo_album/6.jpg"]
    galleryarray[6]=["photo_album/7.jpg", "optional title", "optional description", "photo_album/7.jpg"]
    galleryarray[4]=["photo_album/8.jpg", "optional title", "optional description", "photo_album/8.jpg"]
    galleryarray[5]=["photo_album/9.jpg", "optional title", "optional description", "photo_album/9.jpg"]
    galleryarray[6]=["photo_album/10.jpg", "optional title", "optional description", "photo_album/10.jpg"]
    
    var href_target="_new" //Enter target attribute of links, if applicable
    
    var totalslots=dimension.split("x")[0]*dimension.split("x")[1]
    
    function buildimage(i)
    {
    	var tempcontainer=galleryarray[i][3]!=""? '<a href="javascript:popImage('+galleryarray[i][3]+','+galleryarray[i][2]+')">' : ""
    	tempcontainer+='<img src="'+galleryarray[i][0]+'" border="1" title="'+galleryarray[i][1]+'">'
    	tempcontainer=galleryarray[i][3]!=""? tempcontainer+'</a>' : tempcontainer
    	tempcontainer=galleryarray[i][2]!=""? tempcontainer+'<br \/>'+galleryarray[i][2] : tempcontainer
    	return tempcontainer
    }
    
    function jumptopage(p)
    {
    	var startpoint=(p-1)*totalslots
    	var y=1;
    	for (i=0; i<totalslots; i++)
    	{
    		document.getElementById("slide"+i).innerHTML=(typeof galleryarray[startpoint+i]!="undefined")? buildimage(startpoint+i) : ""
    	}
    	while(document.getElementById("navlink"+y)!=null)
    	{
    		document.getElementById("navlink"+y).className=""
    		y++
    	}
    	document.getElementById("navlink"+p).className="current"
    }
    
    var curimage=0
    for (y=0; y<dimension.split("x")[1]; y++)
    {
    	for (x=0; x<dimension.split("x")[0]; x++)
    	{
    		if (curimage<galleryarray.length)
    			document.write('<div id="slide'+curimage+'" class="slideshow">'+buildimage(curimage)+'</div>')
    			curimage++
    	}
    	document.write('<br style="clear: left" />')
    }
    
    for (i=1; i<Math.ceil(galleryarray.length/totalslots)+1; i++)
    	document.write('<a id="navlink'+i+'" href="javascript:jumptopage('+i+')\">Page '+i+'</a> ')
    document.getElementById("navlink1").className="current"
    
    PositionX = 100;
    PositionY = 100;
    
    // Set these value approximately 20 pixels greater than the
    // size of the largest image to be used (needed for Netscape)
    
    defaultWidth  = 500;
    defaultHeight = 500;
    
    var AutoClose = true;
    
    if (parseInt(navigator.appVersion.charAt(0))>=4)
    {
    	var isNN=(navigator.appName=="Netscape")?1:0;
    	var isIE=(navigator.appName.indexOf("Microsoft")!=-1)?1:0;}
    	var optNN='scrollbars=no,width='+defaultWidth+',height='+defaultHeight+',left='+PositionX+',top='+PositionY;
    	var optIE='scrollbars=no,width=150,height=100,left='+PositionX+',top='+PositionY;
    
    	function popImage(imageURL,imageTitle)
    	{
    	if (isNN){imgWin=window.open('about:blank','',optNN);}
    	
    	if (isIE){imgWin=window.open('about:blank','',optIE);}
    	
    	with (imgWin.document)
    	{
    		writeln('<html><head><title>Loading...</title><style>body{margin:0px;}</style>');
    		writeln('<sc'+'ript>');
    		writeln('var isNN,isIE;');
    		writeln('if (parseInt(navigator.appVersion.charAt(0))>=4){');
    		writeln('isNN=(navigator.appName=="Netscape")?1:0;');
    		writeln('isIE=(navigator.appName.indexOf("Microsoft")!=-1)?1:0;}');
    		writeln('function reSizeToImage(){');
    		writeln('if (isIE){');writeln('window.resizeTo(100,100);');
    		writeln('width=100-(document.body.clientWidth-document.images[0].width);');
    		writeln('height=100-(document.body.clientHeight-document.images[0].height);');
    		writeln('window.resizeTo(width,height);}');
    		writeln('if (isNN){');       
    		writeln('window.innerWidth=document.images["George"].width;');
    		writeln('window.innerHeight=document.images["George"].height;}}');
    		writeln('function doTitle(){document.title="'+imageTitle+'";}');
    		writeln('</sc'+'ript>');
    		if (!AutoClose) 
    			writeln('</head><body bgcolor=000000 scroll="no" onload="reSizeToImage();doTitle();self.focus()">')
    		else 
    			writeln('</head><body bgcolor=000000 scroll="no" onload="reSizeToImage();doTitle();self.focus()" onblur="self.close()">');
    		writeln('<img name="George" src='+imageURL+' style="display:block"></body></html>');
    		close();		
    	}
    }
    Anyone have any ideas?? Thanks
    Last edited by evilacme; 12-29-2006 at 04:26 PM.

  2. #2
    Join Date
    Mar 2005
    Location
    SE PA USA
    Posts
    30,495
    Thanks
    82
    Thanked 3,449 Times in 3,410 Posts
    Blog Entries
    12

    Default

    I see what you are trying to do here but, in cases like these, it is better to just pass the dimensions to the new window rather than to try changing it later with browser detected dimensions that may or may not be available when needed. Many browsers will not allow it even if the dimensions are accurate.

    What error(s) are you getting?
    - John
    ________________________

    Show Additional Thanks: International Rescue Committee - Donate or: The Ocean Conservancy - Donate or: PayPal - Donate

  3. #3
    Join Date
    Dec 2006
    Posts
    6
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default

    I get error
    Line: 1
    Char: 24
    Expected ')'
    Code: 0
    URL: photo_album.html

    Also, the window does resize, but it always loads the same image; the third in the list.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •