
var plugin
var main
var httpRequestObj
var myXML
var objsArr=new Array()
var num_images_loaded=0

var imagesHolder_width=0
var img_width=500
var baseline_height=68
var img_spacing=50
var photoTags
var stage_width=1400

function mainCanvasLoaded(s) {

	//alert("main loaded")
	
	main=s.findName("mainCanvas")
	plugin = s.getHost()	
	imagesHolder=s.findName("imagesHolder")
	
	
	main.findName("progressBar").width=0
}

//getXML()  //try to load first to pre-cache news

function parseXML() {
	//alert("parse")
	
	photoTags=myXML.getElementsByTagName('photo')
	
	img_tags=""
	

	for(i=0;i<photoTags.length;i++) {
	
		farm_id=photoTags[i].attributes.getNamedItem("farm").value
		server_id=photoTags[i].attributes.getNamedItem("server").value
		img_id=photoTags[i].attributes.getNamedItem("id").value
		secret_id=photoTags[i].attributes.getNamedItem("secret").value

		img_url="http://farm"+farm_id+".static.flickr.com/"+server_id+"/"+img_id+"_"+secret_id+".jpg"
		
		//img_tags+="<img src='"+img_url+"'/><br/>"
		
		//Width="'+img_width+'"
		 
		left_pos=(img_width+img_spacing)*i
		
		xaml_str='<Canvas Name="imageHolder_'+i+'" Canvas.Left="'+left_pos+'" Canvas.Top="10">'
		
		
		xaml_str += 	'	<Canvas Name="imgHolderReflection_'+i+'"  Opacity="0">'
		
		xaml_str += 	'		<Canvas.OpacityMask>'
		xaml_str += 	'			<LinearGradientBrush  StartPoint="0,0" EndPoint="0,1">'           
		xaml_str += 	'	      		<GradientStop Offset="0.37" Color="#00000000"  />'      
		xaml_str += 	'	      		<GradientStop Offset="1" Color="#88000000"  />'
		xaml_str += 	'	      	</LinearGradientBrush>'          
		xaml_str += 	'		</Canvas.OpacityMask>'
		xaml_str += 	'		<Canvas.RenderTransform><TransformGroup><ScaleTransform Name="ReflectionScaleTransform_'+i+'" ScaleY="-1" ScaleX="1" CenterX="0" CenterY="0" /></TransformGroup></Canvas.RenderTransform>'
		
		xaml_str +=		'		<Image Name="imgReflection_'+i+'" Width="'+img_width+'" Source="'+img_url+'" />'
		
		xaml_str +=		'	</Canvas>'		
		
		
		xaml_str+='		<Rectangle Name="rec_'+i+'" Stroke="#FFF" Canvas.Top="12" Canvas.Left="10" Fill="transparent" Height="50" Width="80"></Rectangle>'
		xaml_str+='		<TextBlock Name="tb_'+i+'" Canvas.Top="25" Canvas.Left="30" Foreground="#FFFFFF" FontSize="11">Loading</TextBlock>'		
		xaml_str+='		<Image Loaded="imgLoaded" Name="image_'+i+'" Source="'+img_url+'" Opacity="0" />'
		xaml_str+='</Canvas>'

		xamlTags=plugin.content.createFromXaml(xaml_str)
		imagesHolder.children.add(xamlTags)		
		
		imagesHolder_width+=(img_width+img_spacing)
		
		
		
		/*
		
		
		
		*/
		
	}
	
	//alert(img_tags)
	//holderRef=document.getElementById("holder")
	//holderRef.innerHTML=img_tags

}




function imgLoaded(s) {

	var tempName
	tempName=""+s.name
	//s.opacity=0	
	
	objsArr[s.name]=new Object()
	objsArr[s.name].myInt=setInterval("checkImgDims('"+tempName+"')",10)
}


function checkImgDims(nstr) {

	var imgRef=main.findName(nstr)
	
	if(imgRef.width>0 && imgRef.height>0) {
			
		clearInterval(objsArr[nstr].myInt)
		objsArr[nstr].orig_width=imgRef.width
		objsArr[nstr].orig_height=imgRef.height		
		
		
		main.findName("progressBar").width=(stage_width-40)* (num_images_loaded/photoTags.length)
		

		num_images_loaded++
		
		if(num_images_loaded==photoTags.length) {
			main.findName("loaderBar").opacity=0	
		}		
		
    	//imgRef.opacity=1
		//if(num_images_loaded==num_imgs) {
		//	rePositionImages()
		//}
		
		rePositionImage(imgRef)
	}
}


function rePositionImage(s) {
	
	prev_wid=0
	
	var img_index=s.name.split("_")[1]
	
	s.width=img_width
	
	mirRef=s.findName("imgHolderReflection_"+img_index)
	
	//s["Canvas.Left"]=(img_width+img_spacing)*img_index
	
	
	ratio=objsArr[s.name].orig_width/objsArr[s.name].orig_height
	
	s["Canvas.Top"]=baseline_height - (img_width/ratio)
	//mirRef["Canvas.Top"]=(img_width/ratio)*2
	
	var diff=baseline_height - (img_width/ratio)
	
	mirRef["Canvas.Top"]=(img_width/ratio*2)+diff
	
	s.opacity=1
	mirRef.opacity=1
	s.findName("rec_"+img_index).opacity=0
	s.findName("tb_"+img_index).opacity=0
	
	if(s.name=="image_0") {
		//alert([s.width,s.height])
		//alert([objsArr[s.name].orig_width,objsArr[s.name].orig_height])
	}
	

}





function whenMouseMoves(s, e) {	
	var pt = e.getPosition(null);
	_root_xmouse = pt.x
	_root_ymouse = pt.y	
	
	var imRef=s.findName("imagesHolder")
	
	imRef["Canvas.Left"]=(-imagesHolder_width+(stage_width-40))*_root_xmouse/stage_width + 20
}

