Salve ragazzi ho un problema .... sto facendo una procedura per una gallery in as3 con xml.

Io vorrei che quando clicco sull'immagine centrale mi si apra grande l'immagine in javascript.

Ho inserito all'evento click la funzione jav che comprende il richiamo della http della foto in javascript, però non funziona, è come se l'url che gli passo sia vuota.

vi posto lo script :

package classes {

import flash.display.*;
import flash.geom.Point;
import flash.text.*;
import gs.TweenLite;
import fl.transitions.easing.Strong;
import flash.events.*;
import flash.net.URLRequest;
import flash.net.navigateToURL;
import flash.ui.Mouse;

public class ImageViewer extends Sprite{

private const maxWidth:Number = Root.imageViewerwWidth;
private const maxHeight:Number = Root.imageViewerHeight;

private var imageWidth:Number;
private var imageHeight:Number;
private var previewWidth:Number;
private var previewHeight:Number;
private var scale:Number;

private var imageHolder:Sprite = new Sprite ();
public var back:Shape = new Shape ();
private var image:Bitmap;

private var imageLabel:TextField = new TextField ();
private var format:TextFormat = new TextFormat ();
private var url:URLRequest;
private var arrow:Arrow = new Arrow ();
private var full:Fullscreen = new Fullscreen ();

private var scrollVert:Boolean;

private var styles:String = 'A:hover { text-decoration: underline; color: #FFFFFF; }';

public function ImageViewer () {
back = new Shape ();
back.graphics.beginFill (Root.imageViewerBorderColour);
back.graphics.drawRect (0, 0, maxWidth + 20, maxHeight + 20);
back.graphics.endFill ();
back.filters = [Root.glowFilter];

imageHolder.x = imageHolder.y = 10;

addChild (back);

format.align = TextFormatAlign.RIGHT;
format.color = 0xFFFFFF;
format.font = new GF ().fontName;
format.size = 14;

imageLabel.defaultTextFormat = format;
imageLabel.embedFonts = true;
imageLabel.antiAliasType = AntiAliasType.ADVANCED;
imageLabel.filters = [Root.thumbGlowFilter];
imageLabel.selectable = false;
imageLabel.autoSize = TextFieldAutoSize.RIGHT;
imageLabel.x = maxWidth - 10 - imageLabel.width;
imageLabel.y = maxHeight - 10 - imageLabel.height;
imageLabel.text = "Seleziona L'immagine desiderata";
//link
//imageLabel.addEventListener (TextEvent.LINK, jav);

var sheet:StyleSheet = new StyleSheet ();
sheet.parseCSS (styles);
imageLabel.styleSheet = sheet;

arrow.visible = false;
arrow.filters = [Root.thumbGlowFilter];

full.x = maxWidth - 10;
full.y = 10;
full.visible = false;

addChild (imageHolder);
addChild (imageLabel);
imageHolder.addChild (full);
imageHolder.addChild (arrow);

imageHolder.addEventListener (MouseEvent.MOUSE_OVER, over);
imageHolder.addEventListener (MouseEvent.MOUSE_OUT, out);
//fullimage
imageHolder.addEventListener (MouseEvent.CLICK, jav);

Root.stage.addEventListener (Event.RESIZE, stageResized);
}


public function jav(e:MouseEvent) {

var js:URLRequest=new URLRequest();
js.url="javascript:show(0, '"+url+"');";
navigateToURL(js,'_self');
trace(url);

}


private function openImage (evt:TextEvent) : void {
navigateToURL (url, '_blanc');
}



public function showImage (src:Bitmap, name:String, url:String) : void {
this.url = new URLRequest (url);

//MI RESTITUISCE L'INDIRIZZO DI DOVE SI TROVA LA FOTO
trace(url);

//Tweener.addTween (image, { alpha:0, time:.7 } );
//Tweener.addTween (imageLabel, { alpha:0, time:.4 } );

TweenLite.to (image, .7, { alpha:0 } );
TweenLite.to (imageLabel, .4, { alpha:0 } );

imageWidth = src.width;
imageHeight = src.height;
scale = src.scaleX;

src.height = maxHeight;
src.scaleX = src.scaleY;


previewWidth = src.width;
previewHeight = src.height;

//Tweener.addTween (back, { , time:1.5, transition:"easeInOutExpo", onCompletepenImage } );
//Tweener.addTween (this, { , time:1.5, transition:"easeInOutExpo" });
//Tweener.addTween (full, { , transition:"easeInOutExpo" } );

TweenLite.to (back, 1.5, { width:src.width + 20, height:src.height + 20, ease:Strong.easeInOut, onCompletepenImage } );
TweenLite.to (this, 1.5, { x:int ((Root.stage.stageWidth - src.width - 20) * .5), ease:Strong.easeInOut } );
TweenLite.to (full, 1.5, { x:int (previewWidth - 10), ease:Strong.easeInOut } );

function openImage () : void {
imageHolder.removeEventListener (MouseEvent.MOUSE_OVER, over);
imageHolder.removeEventListener (MouseEvent.MOUSE_OUT, out);
//fullimage
imageHolder.removeEventListener (MouseEvent.CLICK, jav);

if (image != null) {
imageHolder.removeChild (image);
image = null;
}

image = src;
image.alpha = 0;
imageLabel.htmlText = name ;
imageHolder.addChildAt (image, 0);

imageLabel.x = image.width - imageLabel.width;
imageLabel.y = maxHeight - imageLabel.height;

//Tweener.addTween (image, { alpha:1, time:1 });
//Tweener.addTween (imageLabel, { alpha:1, time: .75 });

TweenLite.to (image, 1, { alpha:1 } );
TweenLite.to (imageLabel, 1, { alpha:1, onComplete:comps } );

function comps () : void {
imageHolder.addEventListener (MouseEvent.MOUSE_OVER, over);
imageHolder.addEventListener (MouseEvent.MOUSE_OUT, out);
//fullimage
imageHolder.addEventListener (MouseEvent.CLICK, jav);
}
}
}



private function over (evt:Event) : void {
full.visible = image != null;
}

private function out (evt:Event) : void {
full.visible = false;
}

private function down (evt:Event) : void {

if (image == null || imageWidth / scale < Root.stage.stageWidth || imageHeight / scale < Root.stage.stageHeight) {
navigateToURL (url, '_blanc');
return;
}

imageHolder.removeEventListener (MouseEvent.MOUSE_OVER, over);
imageHolder.removeEventListener (MouseEvent.MOUSE_OUT, out);
imageHolder.removeEventListener (MouseEvent.CLICK, jav);

if (image.height <= maxHeight) {
var p:Point = globalToLocal (new Point (0, 0));
var dimensions:Array = calcDimensions ();

full.gotoAndStop (2);

//Tweener.addTween (image, { , time:1.5, transition:"easeInOutExpo", onComplete:comp } );
//Tweener.addTween (imageHolder, { , time:1.5, transition:"easeInOutExpo"} );
//Tweener.addTween (imageLabel, { alpha:0, time:.7, onComplete:function () { imageLabel.visible = true }});
//Tweener.addTween (full, { x:Root.stage.stageWidth - 10, y:10, time:1.5, transition:"easeInOutExpo" });

TweenLite.to (image, 1.5, { width:dimensions [0], height:dimensions [1], onComplete:comp, ease:Strong.easeInOut } );
TweenLite.to (imageHolder, 1.5, { x.x, y.y, ease:Strong.easeInOut } );
TweenLite.to (imageLabel, .7, { alpha:0, onComplete:function () { imageLabel.visible = false } } );
TweenLite.to (full, 1.5, { x:int (stage.stageWidth - 10), y:10, ease:Strong.easeInOut } );
} else {
removeEventListener (Event.ENTER_FRAME, entFrame);
Root.thumbScroller.visible = Root.galleryChooser.visible = true;
arrow.visible = false;
arrow.stopDrag ();
Mouse.show ();

imageLabel.visible = true;
full.gotoAndStop (1);

/*Tweener.addTween (image, { x:0, y:0, widthreviewWidth, heightreviewHeight, time:1.5, transition:"easeInOutExpo" } );
Tweener.addTween (imageHolder, { x:10, y:10, time:1.5, transition:"easeInOutExpo"} );
Tweener.addTween (imageLabel, { alpha:1, time:.7, delay:1 } );
Tweener.addTween (full, { xreviewWidth - 10, y: 10, time:1.5, transition:"easeInOutExpo" }); */

TweenLite.to (image, 1.5, { x:0, y:0, widthreviewWidth, heightreviewHeight, ease:Strong.easeInOut, onComplete:comps } );
TweenLite.to (imageHolder, 1.5, { x:10, y:10, ease:Strong.easeInOut } );
TweenLite.to (imageLabel, 1, { alpha:1, delay:1 } );
TweenLite.to (full, 1.5, { x:int (previewWidth - 10), y:10, ease:Strong.easeInOut } );

function comps () : void {
imageHolder.addEventListener (MouseEvent.MOUSE_OVER, over);
imageHolder.addEventListener (MouseEvent.MOUSE_OUT, out);
imageHolder.addEventListener (MouseEvent.CLICK, jav);
}
}

function comp () : void {
imageHolder.addEventListener (MouseEvent.MOUSE_OVER, over);
imageHolder.addEventListener (MouseEvent.MOUSE_OUT, out);
imageHolder.addEventListener (MouseEvent.CLICK, jav);
addEventListener (Event.ENTER_FRAME, entFrame);
Root.galleryChooser.visible = Root.thumbScroller.visible = false;
arrow.visible = true
arrow.startDrag (true);
Mouse.hide ();
}
}

private function calcDimensions () : Array {
var arr:Array = new Array ();

if (Root.stage.stageWidth / Root.stage.stageHeight > imageWidth / imageHeight) {
arr [0] = Root.stage.stageWidth;
arr [1] = arr [0] / imageWidth * imageHeight;

scrollVert = true;
} else {
arr [1] = Root.stage.stageHeight;
arr [0] = arr [1] / imageHeight * imageWidth;

scrollVert = false;
}

return arr;
}

private function entFrame (evt:Event) : void {
var pos:Point = new Point ();

pos.x = Root.stage.mouseX
pos.y = Root.stage.mouseY;

if (!scrollVert) {
image.x += int (((image.width - Root.stage.stageWidth) * ( -pos.x / Root.stage.stageWidth) - image.x) * Root.imageScrollSpeed);
arrow.rotation = Root.stage.mouseX > Root.stage.stageWidth * .5 ? 90 : -90;
} else {
image.y += int (((image.height - Root.stage.stageHeight) * ( -pos.y / Root.stage.stageHeight) - image.y) * Root.imageScrollSpeed);
arrow.rotation = Root.stage.mouseY > Root.stage.stageHeight * .5 ? 180 : 0;
}
}

private function stageResized (evt:Event) : void {
x = (Root.stage.stageWidth - back.width) * .5;

if (image.height > previewHeight) {
var pos:Point = imageHolder.globalToLocal (new Point (0, 0));

image.x = pos.x;
image.y = pos.y;

var arr:Array = calcDimensions ();

image.width = arr [0];
image.height = arr [1];
}
}
}

}

{
Grazie in anticipo.

Alex