

var plugin
var main
var  _root_xmouse=0
var  _root_ymouse=0


var photos_directory="./pics/"

var tn_size = 38
var tn_offset = 6
var tn_spacing = 1
var time_to_scale_image=0.9


//var imgDimArr = new Array() //dim info
var imgIntArr=new Array() //intervals for checking dims
var objsArr=new Array() //corresponding objects for images 

var num_images_loaded=0
var cur_large_img
var num_images

people = new Object()
people.name = ""
people.title = "Adding expertise and innovation to your project"
people.category = "People"

partners = new Object()
partners.name = ""
partners.title = "A comprehensive team for delivering your project"
partners.category = "Partners"

platforms = new Object()
platforms.name = ""
platforms.title = "A suite of powerful web-enabled platforms and trusted commercial products from industry leaders"
platforms.category = "Platforms"

projects = new Object()
projects.name = ""
projects.title = "Innovative activities that use a full range of synergistic tools, skills, and knowledge"
projects.category = "Projects"

//begin custom images
aex = new Object()
aex.name = "AeX"
aex.title = "The Academic Explorer"
aex.category = "Platforms"

jex = new Object()
jex.name = "JeX"
jex.title = "The Job Explorer"
jex.category = "Platforms"

sfex = new Object()
sfex.name = "SFeX"
sfex.title = "The Scholarship & Financial Aid Explorer"
sfex.category = "Platforms"

cael = new Object()
cael.name = "CAEL"
cael.title = "The Center For Adult and Experiential Learning"
cael.category = "Partners"

uset = new Object()
uset.name = "USET"
uset.title = "United South and Eastern Tribes, Inc."
uset.category = "Partners"

ccme = new Object()
ccme.name = "CCME"
ccme.title = "Council for College and Military Educators"
ccme.category = "Partners"

reqan = new Object()
reqan.name = "Requirements Analyst"
reqan.title = "Definition"
reqan.category = "People"

edservspec = new Object()
edservspec.name = "Education Service Specialist"
edservspec.title = "Definition"
edservspec.category = "People"

regnurs = new Object()
regnurs.name = "Registered Nurse"
regnurs.title = "Definition"
regnurs.category = "People"

projman = new Object()
projman.name = "Project Manager"
projman.title = "Definition"
projman.category = "People"

sysadmin = new Object()
sysadmin.name = "Systems Administrator"
sysadmin.title = "Definition"
sysadmin.category = "People"

mccsll = new Object()
mccsll.name = "MCCS - Lifelong Learning"
mccsll.title = "Definition"
mccsll.category = "Projects"

tapit = new Object()
tapit.name = "OSD - TAP IT"
tapit.title = "Definition"
tapit.category = "Projects"

wwar = new Object()
wwar.name = "Wounded Warrior"
wwar.title = "Definition"
wwar.category = "Projects"
//
//
//


var imgNameArr = new Array("pivot_projects.jpg", "pivot_people.jpg", "pivot_aex.jpg", "pivot_people.jpg", "pivot_partners.jpg", "pivot_people.jpg", "pivot_reqan.jpg", "pivot_platforms.jpg", "pivot_people.jpg", "pivot_people.jpg",
"pivot_people.jpg", "pivot_platforms.jpg", "pivot_people.jpg", "pivot_platforms.jpg", "pivot_people.jpg", "pivot_people.jpg", "pivot_people.jpg", "pivot_projman.jpg", "pivot_people.jpg", "pivot_platforms.jpg", "pivot_people.jpg", "pivot_mccs-ll.jpg",
"pivot_people.jpg", "pivot_people.jpg", "pivot_people.jpg", "pivot_wwar.jpg", "pivot_people.jpg", "pivot_platforms.jpg", "pivot_people.jpg", "pivot_people.jpg", "pivot_ccme.jpg", "pivot_projects.jpg", "pivot_people.jpg", "pivot_people.jpg", "pivot_people.jpg",
"pivot_people.jpg", "pivot_partners.jpg", "pivot_people.jpg", "pivot_platforms.jpg", "pivot_people.jpg", "pivot_people.jpg", "pivot_people.jpg", "pivot_platforms.jpg", "pivot_partners.jpg",
"pivot_people.jpg", "pivot_partners.jpg", "pivot_people.jpg", "pivot_people.jpg", "pivot_uset.jpg", "pivot_people.jpg", "pivot_partners.jpg", "pivot_people.jpg", "pivot_projects.jpg", "pivot_people.jpg", "pivot_people.jpg", "pivot_projects.jpg",
"pivot_people.jpg", "pivot_platforms.jpg", "pivot_people.jpg", "pivot_cael.jpg", "pivot_people.jpg", "pivot_projects.jpg", "pivot_people.jpg", "pivot_people.jpg", "pivot_sysadmin.jpg", "pivot_people.jpg",
"pivot_platforms.jpg", "pivot_people.jpg", "pivot_people.jpg", "pivot_people.jpg", "pivot_projects.jpg", "pivot_partners.jpg", "pivot_people.jpg", "pivot_people.jpg", "pivot_partners.jpg", "pivot_projects.jpg", "pivot_platforms.jpg", "pivot_people.jpg", "pivot_tapit.jpg",
"pivot_people.jpg", "pivot_projects.jpg","pivot_people.jpg", "pivot_jex.jpg", "pivot_people.jpg", "pivot_platforms.jpg", "pivot_people.jpg", "pivot_people.jpg", "pivot_partners.jpg")
//"pivot_regnurs.jpg", "pivot_people.jpg", "pivot_people.jpg", "pivot_projects.jpg", "pivot_people.jpg", "pivot_partners.jpg", "pivot_people.jpg", "pivot_platforms.jpg", "pivot_sfex.jpg", "pivot_people.jpg", "pivot_people.jpg", "pivot_people.jpg", "pivot_projects.jpg",
//"pivot_platforms.jpg", "pivot_people.jpg", "pivot_partners.jpg", "pivot_people.jpg", "pivot_people.jpg", "pivot_edservspec.jpg", "pivot_people.jpg", "pivot_partners.jpg", "pivot_people.jpg")

var infoArr = new Array(projects, people, aex, people, partners, people, reqan, platforms, people, people,
people, platforms, people, platforms, people, people, people, projman, people, platforms, people, mccsll,
people, people, people, wwar, people, platforms, people, people, ccme, projects, people, people, people,
people, partners, people, platforms, people, people, people, platforms, partners,
people, partners, people, people, uset, people, partners, people, projects, people, people, projects,
people, platforms, people, cael, people, projects, people, people, sysadmin, people,
platforms, people, people, people, projects, partners, people, people, partners, projects, platforms, people, tapit,
people, projects, people, jex, people, platforms, people, people, partners)
//regnurs, people, people, projects, people, partners, people, platforms, sfex, people, people, people, projects,
//platforms, people, partners, people, people, edservspec, people, partners, people)

//initialize the variable
var checkMouseInt

function mainCanvasLoaded(s) {

	//alert("main loaded")
		
	main=s.findName("mainCanvas")
	plugin = s.getHost()

	buildImages()

    // Create a Downloader object.
    var downloader = plugin.createObject("downloader");

    // Add Completed event.
    downloader.addEventListener("Completed", onCompleted);

    // Initialize the Downloader request.
    //downloader.open("GET", "FFFCORPO.TTF");
	//downloader.open("GET", "stuff.zip");


    // Execute the Downloader request.
    // NOTE: downloader APIs disallow file:\\ scheme
    // you must run this sample over localhost: or off a server or the following call will fail
    //downloader.send();
	sender=s
	
	
	//moveToolTipInt=setInterval("moveToolTip(sender)",10)
	
	//checkMouseInt=setInterval("checkMouse()",100)
	
}




function onCompleted(sender, eventArgs) {
    // Retrieve the TextBlock object.
    var myTextBlock = sender.findName("info");

    // Add the font files in the downloaded object to the TextBlock's type face collection.
    myTextBlock.setFontSource(sender);

    // Set the FontFamily property to the friendly name of the font.
    myTextBlock.fontFamily = "FFF Corporate";

    //myTextBlock.text = "Showcard Gothic";
}







function whenMouseMoves(s, e) {
	
    _root_xmouse = e.getPosition(null).x
    _root_ymouse = e.getPosition(null).y
    
	moveToolTip(s)
    
    //window.status=_root_xmouse+" - "+_root_ymouse
}



function moveToolTip(s) {

	window.status=_root_xmouse+ " "+_root_ymouse+ " "+s.findName("toolTip")["Canvas.Left"]
	
	
    if(_root_xmouse>405) {
    	s.findName("toolTip")["Canvas.Left"]=_root_xmouse-210
    }
    else {
    	s.findName("toolTip")["Canvas.Left"]=_root_xmouse+50
 }

 if (_root_ymouse > 100) {
     s.findName("toolTip")["Canvas.Top"] = _root_ymouse -50
 }
 else {
     s.findName("toolTip")["Canvas.Top"] = _root_ymouse -10
 }
	//s.findName("toolTip")["Canvas.Top"]=_root_ymouse-30
	

}
//for testing
function btnPress(s) {

	ref=s.findName("ST")
	ref.scaleX=1
	
	
	imgRef=s.findName("bill")
	
	nstr="ST"
	objsArr[nstr]=new Object()
	
	
	objsArr[nstr].tweenW = new Tween(new Object(),'w',Tween.strongEaseOut,1,1.5,2)
	
	objsArr[nstr].tweenW.onMotionChanged = function(event){	
		ref.scaleX = event.target._pos
		ref.scaleY = event.target._pos
		
		
		window.status=s.findName("bill")["Canvas.Left"]+" "+s.findName("bill")["Canvas.Top"]
	}
	
	objsArr[nstr].tweenW.start()
	
	
	
	objsArr[nstr].tweenX = new Tween(new Object(),'x',Tween.strongEaseOut,0,-35,2)
	
	objsArr[nstr].tweenX.onMotionChanged = function(event){	
		imgRef["Canvas.Left"] = event.target._pos
		imgRef["Canvas.Top"] = event.target._pos
		
	
	}
	
	objsArr[nstr].tweenX.start()	
	
	
}



//function checkMouse() {

//	if(_root_xmouse>20 && _root_xmouse<600 && _root_ymouse>50 && _root_ymouse<350) {
//		
//		for(i=0;i<imgNameArr.length;i++) {
//			
//			
//			if(i<2) {
//			
//				ref=main.findName("canvas_image_"+i)
//				imgRef=main.findName("image_"+i)
//				//ref=main.findName("st_"+i)
//				//ref=main.findName("image_"+i)
//				
//				
//				local_x_val=_root_xmouse-20
//				dist_x = Math.abs(local_x_val - (ref["Canvas.Left"]+40))
//				
//				local_y_val=_root_ymouse-50
//				dist_y=Math.abs(local_y_val - (ref["Canvas.Top"]+40))
//		
//				
//				//window.status=local_x_val+ " "+(ref["Canvas.Left"]+40)+ " "+dist_x
//				
//				
//				
//				dist= Math.sqrt( (dist_x*dist_x)+(dist_y*dist_y) )
//				
//				
//				window.status="x="+local_x_val+ " y="+local_y_val+ " LeftC="+(ref["Canvas.Left"]+40)+" TopC="+(ref["Canvas.Top"]+40)+ " dist="+dist_y
//				
//				
//				if(dist>=0 && dist<=40) {
//					
//					
//					//imgRef.scaleX=100-dist_x
//					
//					//imgRef.width=20*dist_x/40+80
//					//imgRef.height=20*dist_x/40+80
//					
//					
//					imgRef.width=100-(20*dist/40)
//					imgRef.height=100-(20*dist/40)
//					
//					
//					imgRef["Canvas.Left"]=-10+(10*dist/40)
//					imgRef["Canvas.Top"]=-10+(10*dist/40)
//					
//					//window.status=imgRef.name
//					
//				}
//				else if(dist>40 && dist<=120){
//				
//					imgRef.width=100-(20*dist/120)
//					imgRef.height=100-(20*dist/120)
//					
//					
//					imgRef["Canvas.Left"]=-10+(10*dist/120)
//					imgRef["Canvas.Top"]=-10+(10*dist/120)				
//					
//				}
//				else {
//					imgRef.width=80
//					imgRef.height=80
//					
//					imgRef["Canvas.Left"]=0
//					imgRef["Canvas.Top"]=0					
//				
//				}
//				
//				
//			}
//		}
//	}
//	else {
//		//window.status="not over"
//	}
//}


function buildImages() {
	
	pc=main.findName("picsContainer")
	
	cnt=0
	
	for(j=0;j<4;j++) {
	
		for(i=0;i<22;i++) {
		
			left_pos=((tn_size+tn_spacing)*i+tn_offset)
			top_pos=(j*(tn_size+tn_spacing)+tn_offset)
       
			var loader_rect_str = '<Canvas Name="canvas_image_'+cnt+'" Canvas.ZIndex="'+cnt+'" Canvas.Left="'+left_pos+'" Canvas.Top="'+top_pos+'">';
				loader_rect_str +=   '<Canvas Name="image_'+cnt+'_loaderBG" >'
				loader_rect_str += '    <Rectangle Fill="#132f4b" Height="' + tn_size + '" Width="' + tn_size + '" ></Rectangle>'
				//loader_rect_str +=   	'<TextBlock Canvas.Left="20" Canvas.Top="17" FontFamily="Verdana" FontSize="10">Loading</TextBlock> ';
				//loader_rect_str +=   	'<Rectangle Name="image_'+cnt+'_progressBar" Fill="#555" Height="10" Width="0" Canvas.Left="10" Canvas.Top="35"></Rectangle>';
				//loader_rect_str +=   	'<Rectangle Fill="transparent" Stroke="#000" Height="10" Width="60" Canvas.Left="10" Canvas.Top="35"></Rectangle>';
				loader_rect_str +=   '</Canvas>'
				loader_rect_str += '<Image Loaded="imgLoaded" Stretch="Fill" Name="image_' + cnt + '" MouseEnter="imgEnter" MouseLeave="imgLeave" MouseLeftButtonDown="imgPress" Source="' + photos_directory + imgNameArr[cnt] + '"  DownloadProgressChanged="imageProgressChanged" Opacity="0.1" >';
				loader_rect_str +=   '	<Image.RenderTransform><ScaleTransform Name="st_'+cnt+'" ScaleX="1.0" ScaleY="1.0" CenterX="18" CenterY="18" /></Image.RenderTransform>'
				loader_rect_str +=   '</Image>'
				loader_rect_str += '</Canvas>';	           
	
			loaderRectTag=plugin.content.createFromXaml(loader_rect_str)
			pc.children.add(loaderRectTag)


			objsArr["image_"+cnt]=new Object()
			objsArr["image_"+cnt].index=cnt
			objsArr["image_"+cnt].width=tn_size
			objsArr["image_"+cnt].height=tn_size
			objsArr["image_"+cnt].parent="canvas_image_"+cnt
			objsArr["image_"+cnt].parentX=left_pos
			objsArr["image_"+cnt].parentY=top_pos
			objsArr["image_"+cnt].scaleTransform="st_"+cnt
			
			

			
			cnt++	
			
		}
	}
	num_images=cnt
}



function imgLoaded(s) {

	var tempName
	tempName=""+s.name
	s.opacity=0
	
	//objsArr[s.name]=new Object()
	imgIntArr["int"+s.name]=setInterval("checkImgDims('"+tempName+"')",10)	
}


function checkImgDims(nstr) {

	imgRef=main.findName(nstr)
	
	if(imgRef.width>0 && imgRef.height>0) {
	
		//window.status+=imgRef.name+"="+imgRef.width+"x"+imgRef.height+", "
		//imgDimArr[nstr]=new Array(imgRef.width,imgRef.height,imgRef["Canvas.Left"],imgRef["Canvas.Top"])
		
		objsArr[nstr].orig_width=imgRef.width
		objsArr[nstr].orig_height=imgRef.height
		
		imgRef.width=tn_size
		imgRef.height=tn_size
		
		
		//sizing with proportions
		/*
		
		ratio=imgRef.width/imgRef.height
		
		if(ratio>=1) {
			imgRef.width=tn_size
			imgRef.height=tn_size/ratio
			
			diff=(tn_size-imgRef.height)/2
			imgRef["Canvas.Top"]=diff
			
		}
		else {
			imgRef.height=tn_size
			imgRef.width=tn_size*ratio
			
			diff=(tn_size-imgRef.width)/2
			imgRef["Canvas.Left"]=diff
			
		}
		
		*/
		
		
		imgRef.opacity=1
		
		//imgRef.findName(imgRef.name+"_loaderBG").opacity=0
		
		num_images_loaded++
		
		clearInterval(imgIntArr["int"+nstr])

	}
	
}

var delayToolTipFadeInTO

function delayToolTipFadeIn(s) {

	var me=objsArr[s.name]
	s.findName("toolTip").opacity=0
	s.findName("toolTip").visibility="visible"
	
	
	me.tweenO = new Tween(new Object(),'o',Tween.regularEaseOut,0,1,1)
	
	me.tweenO.onMotionChanged = function(event){	
	
		s.findName("toolTip").opacity = event.target._pos
		
	}
	
	me.tweenO.start()
	
}


function imgEnter(s,e) {

	var me=objsArr[s.name]
	var st=s.findName(me.scaleTransform)
	var par = s.findName(me.parent)

	s.opacity = 1                                   //set the opacity when the image is moused over
	
	par["Canvas.ZIndex"]=500
	
	if(me.tweenS2) {
		me.tweenS2.stop()
	}
	
	me.tweenS = new Tween(new Object(),'s',Tween.elasticEaseOut,st.scaleX,1.75,1)
	
	me.tweenS.onMotionChanged = function(event){	
		st.scaleX = event.target._pos
		st.scaleY = event.target._pos
	}
	
	me.tweenS.start()


	person=infoArr[me.index]

	s.findName("info").text = "<" + person.category + ">\n" + person.name + "\n" + person.title
	sender=s
	delayToolTipFadeInTO=setTimeout("delayToolTipFadeIn(sender)",500)		
	
}

function imgLeave(s) {

    clearTimeout(delayToolTipFadeInTO)

    s.opacity = 0.8
	
	var me=objsArr[s.name]
	var st=s.findName(me.scaleTransform) //ScaleTransform
	var par = s.findName(me.parent)
    	
	par["Canvas.ZIndex"]=400
	
	me.tweenS.stop()
	if(me.tweenO) {
		me.tweenO.stop()
	}

	me.tweenS2 = new Tween(new Object(),'s',Tween.strongEaseOut,st.scaleX,1,1)
	
	me.tweenS2.onMotionChanged = function(event){	
		st.scaleX = event.target._pos
		st.scaleY = event.target._pos

        s.opacity = 0.9
	}
	
	me.tweenS2.onMotionFinished = function(event){
	    s.opacity = 1                                   //set the opacity when the image is moused off
        
        par["Canvas.ZIndex"] = me.index	    
		//alert("done")
	}
	
	me.tweenS2.start()

	s.findName("toolTip").visibility = "collapsed"	
}

function imgPress(s,e) {
    var me = objsArr[s.name]
    person = infoArr[me.index]

    //alert(person.category);
    window.parent.document.location.href = person.category + ".aspx"; 
}




