
var plugin
var main
var objsArr=new Array()
var tile_mask_width=680
var scrollTileLeftRightInt
var curDemo=1

function mainCanvasLoaded(s) {

	//alert("main loaded")
	
	main=s.findName("mainCanvas")
	plugin = s.getHost()
	objsArr["tilesHolder"]=new Object()
	objsArr["cover"]=new Object()
	
	makeTiles(s)
}


function makeTiles(s) {

	var tilesHolderRef=s.findName("tilesHolder")

	for(i=0;i<demosArr.length;i++) {
	
		tile_width=230
		tile_spacing=tile_width+20
	
		xaml_str='<Canvas Name="tileHolder_'+i+'" Canvas.Left="'+(i*tile_spacing)+'" Cursor="Hand" MouseEnter="tileEnter" MouseLeave="tileLeave" MouseLeftButtonDown="tileDown">'
		xaml_str+='	<Rectangle Name="rectBG_'+i+'" Fill="#CCC" RadiusX="5" StrokeThickness="3" Stroke="#FFF"  RadiusY="5" Width="'+tile_width+'" Canvas.Left="-10" Canvas.Top="-10" Height="100" Opacity="0.0"></Rectangle>'
		xaml_str+='	<TextBlock Foreground="#FFF" Canvas.Left="84" Canvas.Top="-2">'+demosArr[i].title+'</TextBlock> '
		xaml_str+='	<TextBlock FontSize="9" Foreground="yellow"  Canvas.Left="84" Canvas.Top="22">'+demosArr[i].features+'</TextBlock> '
		xaml_str+='	<TextBlock FontSize="9" Foreground="#111"  Canvas.Left="84" Canvas.Top="65"> type: '+demosArr[i].type+'</TextBlock> '
		xaml_str+='	<Image Source="tn_bg.png"/> '
		xaml_str+='	<Image Source="'+demosArr[i].tile_image+'" Canvas.Left="4" Canvas.Top="4"/> '
		xaml_str+='	<Image Source="tn_overlay.png"/> '
		xaml_str+='</Canvas>'
		
		xamlTags=plugin.content.createFromXaml(xaml_str)
		tilesHolderRef.children.add(xamlTags)
		
	}
	
	objsArr["tilesHolder"].width=i*(tile_spacing)
	
}




function tileEnter(s) {
	var btn_index=s.name.split("_")[1]
	s.findName("rectBG_"+btn_index).opacity=0.2
}

function tileLeave(s) {
	var btn_index=s.name.split("_")[1]
	if(btn_index!=curDemo) {
		s.findName("rectBG_"+btn_index).opacity=0
	}

}

function tileDown(s) {

	var btn_index=s.name.split("_")[1]
		
	if(btn_index!=curDemo || curDemo==1) {
		
		curDemo=btn_index
		
		for(var i=0;i<demosArr.length;i++) {
			if(i!=btn_index) {
				s.findName("rectBG_"+i).opacity=0
			}
		}
		
		coverRef=s.findName("cover")
		coverObjRef=objsArr["cover"]
	
		coverRef.visibility="Visible"
		coverRef.opacity=1
		
		s.findName("btnLaunch").opacity=1
		s.findName("btnSource").opacity=1
		
		s.findName("projectImage").source=""
		s.findName("projectTitle").text=demosArr[btn_index].title
		s.findName("projectImage").source=demosArr[btn_index].tile_image_large
		s.findName("projectDesc").text=demosArr[btn_index].desc
		
		

		coverObjRef.tweenOP = new Tween(new Object(),'op',Tween.regularEaseOut,1,0,0.5);

		coverObjRef.tweenOP.onMotionChanged = function(event){
			coverRef.opacity = event.target._pos
		}
		coverObjRef.tweenOP.onMotionFinished = function(event){
			coverRef.visibility="Collapsed"
		}

		coverObjRef.tweenOP.start()			
	}	
}



function btnOver(s){
	if(s.name=="btnSend") {
		s.cursor="Hand"
		s.opacity=0.8
	}
	else {
		if(curDemo) {
			s.cursor="Hand"
			s.opacity=0.8
		}
	}
}

function btnOut(s){
	if(s.name=="btnSend") {
		s.opacity=1
	}
	else {
		if(curDemo) {
			s.opacity=1
		}
	}	
}



function largePress(s) {
		
	if(curDemo) {
		var str=demosArr[curDemo].link
		//open(str,"","width=900,height=600")
		self.location=str
	}
}

function launchPress(s) {

	if(curDemo) {
		var str=demosArr[curDemo].link
		//open(str,"","width=900,height=600")
		self.location=str
	}
}

function sourcePress(s) {

	if(curDemo) {
		var str=demosArr[curDemo].source
		document.location=str
	}
}




var scroll_amount=20
var settleInt

function tileArrowPress(s) {

	clearInterval(settleInt)
	scroll_amount=20
	sender=s
	scrollTileLeftRightInt=setInterval("scrollTileLeftRight(sender)",10)
}
function tileArrowRelease(s) {
	//setTimeout("settleDownScrolling()",500)	
	clearInterval(scrollTileLeftRightInt)
	sender=s
	settleInt=setInterval("settleDownScrolling(sender)",10)
	
}

function tileArrowLeave(s) {
	clearInterval(scrollTileLeftRightInt)
}

function settleDownScrolling(s) {


	var pre_check
	var btn_name=s.name.split("_")[1]
	var thRef=s.findName("tilesHolder")	
	var thObjRef=objsArr[thRef.name]
	var decel_amount=1.07
	var decel_cutoff=0.2
	
	
	if(btn_name=="Right") {
		pre_check=thRef["Canvas.Left"]-scroll_amount
	
		if(scroll_amount>decel_cutoff) {
			if(pre_check>(-thObjRef.width+tile_mask_width)) {
			
		
				scroll_amount=scroll_amount/decel_amount
				thRef["Canvas.Left"]-=scroll_amount
				//window.status=thRef["Canvas.Left"]
			}
		}
		else {
			//window.status="done Left"
			clearInterval(settleInt)
			
		}
	}
	else {
	
	
		if(scroll_amount>decel_cutoff) {
			if(thRef["Canvas.Left"]<0) {
				
				scroll_amount=scroll_amount/decel_amount
				thRef["Canvas.Left"]+=scroll_amount
				//window.status=thRef["Canvas.Left"]
			}
		}
		else {
			//window.status="done Right"
			clearInterval(settleInt)
			
		}	
	
	}
	//clearInterval(scrollTileLeftRightInt)
}




function scrollTileLeftRight(s) {

	var pre_check
	var btn_name=s.name.split("_")[1]
	var thRef=s.findName("tilesHolder")	
	var thObjRef=objsArr[thRef.name]
	
	
	
	if(btn_name=="Right") {
		pre_check=thRef["Canvas.Left"]-scroll_amount
	
		if(pre_check>(-thObjRef.width+tile_mask_width)) {
		
			thRef["Canvas.Left"]-=scroll_amount
			
		}

	}
	else {
		
		if(thRef["Canvas.Left"]<0) {
			thRef["Canvas.Left"]+=scroll_amount
		}
	
	}
	
}




