

function createAboutUsPictures()
{
    Silverlight.createObjectEx({
        source: "silver/aboutus.xaml",
        parentElement: document.getElementById("AboutUsPicturesHost"),
        id: "SilverlightControl",
        properties: {
            width: "960",
            height: "500",
            background:"#fff",
            isWindowless: "false",
            framerate:"30",
            version: "1.0"
        },
        events: {
        }
    });
}


var plugin
var main
var  _root_xmouse=0
var  _root_ymouse=0

var photos_directory="img/aboutus/"

var tn_size = 115
var tn_offset = 10
var tn_spacing = 1
var time_to_scale_image=0.5

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



savasunsal=new Object()
savasunsal.name="Savaş Ünsal"
savasunsal.title="CEO"
savasunsal.age=54
savasunsal.location="Kuleli Ofis"
savasunsal.description="Sizin için yapıyorum"


tansucolakoglu=new Object()
tansucolakoglu.name="Tansu Çolakoğlu"
tansucolakoglu.title="Genel Yayın Koordinatörü"
tansucolakoglu.age="30"
tansucolakoglu.location="Kuleli Ofis"
tansucolakoglu.description="The client is driving me crazy!"


cuneytmorten=new Object()
cuneytmorten.name="Cüneyt Morten"
cuneytmorten.title="Encoder"
cuneytmorten.age="35"
cuneytmorten.location="Kuleli Ofis"
cuneytmorten.description="Oh yeah, super hi-res iconz!"


ertankocaelli=new Object()
ertankocaelli.name="Ertan Kocaelli"
ertankocaelli.title="Decoder"
ertankocaelli.age="42"
ertankocaelli.location="Kuleli Ofis"
ertankocaelli.description="We need to make a small change."


mevlutsasmaz=new Object()
mevlutsasmaz.name="Mevlüt Kürşad Şaşmaz"
mevlutsasmaz.title="Guru"
mevlutsasmaz.age="30"
mevlutsasmaz.location="Kuleli Ofis"
mevlutsasmaz.description="We can do that."


alitugrul=new Object()
alitugrul.name="Ali Tuğrul Büyükgüngördü"
alitugrul.title="Guru"
alitugrul.age="28"
alitugrul.location="Kuleli Ofis"
alitugrul.description="Excellent. Make It Happen."


gevheryasar=new Object()
gevheryasar.name="Gevher Yaşar"
gevheryasar.title="Final Cut'ın Efendisi"
gevheryasar.age="30"
gevheryasar.location="Kuleli Ofis"
gevheryasar.description="We need to make a small change."



deniztepetas=new Object()
deniztepetas.name="Deniz Tepetaş"
deniztepetas.title="Müzik Editör"
deniztepetas.age="33"
deniztepetas.location="İstanbul"
deniztepetas.description="Okay Bud."



ipekcolakoglu=new Object()
ipekcolakoglu.name="İpek Çolakoğlu"
ipekcolakoglu.title="Magazin Editör"
ipekcolakoglu.age="25"
ipekcolakoglu.location="İstanbul"
ipekcolakoglu.description="We need to make a small change."



egemenbozdag=new Object()
egemenbozdag.name="Egemen Bozdağ"
egemenbozdag.title="Danışma Kurulu"
egemenbozdag.age="25"
egemenbozdag.location="İstanbul"
egemenbozdag.description="We need to make a small change."



keremgunes=new Object()
keremgunes.name="Kerem Güneş"
keremgunes.title="Danışma Kurulu"
keremgunes.age="21"
keremgunes.location="İstanbul"
keremgunes.description="We need to make a small change."

cicekunsal=new Object()
cicekunsal.name="Çiçek Ünsal"
cicekunsal.title="Danışma Kurulu"
cicekunsal.age="21"
cicekunsal.location="İstanbul"
cicekunsal.description="We need to make a small change."

canunsal=new Object()
canunsal.name="Can Ünsal"
canunsal.title="Danışma Kurulu"
canunsal.age="19"
canunsal.location="İstanbul"
canunsal.description="We need to make a small change."

erenaksu=new Object()
erenaksu.name="Eren Aksu"
erenaksu.title="Danışma Kurulu"
erenaksu.age="19"
erenaksu.location="İstanbul"
erenaksu.description="We need to make a small change."

melisakumar=new Object()
melisakumar.name="Melisa Kumar"
melisakumar.title="Danışma Kurulu"
melisakumar.age="16"
melisakumar.location="İstanbul"
melisakumar.description="We need to make a small change."

gizembaser=new Object()
gizembaser.name="Gizem Başer"
gizembaser.title="Danışma Kurulu"
gizembaser.age="21"
gizembaser.location="İstanbul"
gizembaser.description="We need to make a small change."

canbayrak=new Object()
canbayrak.name="Can Bayrak"
canbayrak.title="Spor Editör"
canbayrak.age="25"
canbayrak.location="İstanbul"
canbayrak.description="We need to make a small change."



mervecilgin=new Object()
mervecilgin.name="Merve Bozdağ"
mervecilgin.title="Radyo Editör"
mervecilgin.age="19"
mervecilgin.location="İstanbul"
mervecilgin.description="Thanks. Looks great."

ebrukohen=new Object()
ebrukohen.name="Ebru Kohen"
ebrukohen.title="Marketing Guru"
ebrukohen.age="35"
ebrukohen.location="İstanbul"
ebrukohen.description="Thanks. Looks great."

basak25=new Object()
basak25.name="Başak Yirmibeşoğlu"
basak25.title=""
basak25.age=""
basak25.location=""
basak25.description="Thanks. Looks great."

ugur=new Object()
ugur.name="Uğur Aydeniz"
ugur.title="Asistan"
ugur.age="41"
ugur.location="Kuleli Ofis"
ugur.description="Thanks. Looks great."


metin=new Object()
metin.name="Metin Akdülger"
metin.title="Danışma Kurulu"
metin.age="21"
metin.location="İstanbul"
metin.description="Thanks. Looks great."

buket=new Object()
buket.name="Buket Sarar"
buket.title="Danışma Kurulu"
buket.age="21"
buket.location="İstanbul"
buket.description="Thanks. Looks great."

nazli=new Object()
nazli.name="Nazlı Bozdağ"
nazli.title="Moda Editör"
nazli.age="25"
nazli.location="İstanbul"
nazli.description="Thanks. Looks great."


muhtesem=new Object()
muhtesem.name="Muhteşem Viter"
muhtesem.title="Moda Editör"
muhtesem.age="25"
muhtesem.location="İstanbul"
muhtesem.description="Thanks. Looks great."

ceylan=new Object()
ceylan.name="Ceylan Işın"
ceylan.title="Moda Editör"
ceylan.age="25"
ceylan.location="İstanbul"
ceylan.description="Thanks. Looks great."

sertankutval=new Object()
sertankutval.name="Sertan Kutval"
sertankutval.title="Moda Editör"
sertankutval.age="25"
sertankutval.location="İstanbul"
sertankutval.description="Thanks. Looks great."

girayyillikci=new Object()
girayyillikci.name="Giray Yıllıkçı"
girayyillikci.title="Moda Editör"
girayyillikci.age="25"
girayyillikci.location="İstanbul"
girayyillikci.description="Thanks. Looks great."

baturkaplan=new Object()
baturkaplan.name="Batur Kaplan"
baturkaplan.title="Moda Editör"
baturkaplan.age="25"
baturkaplan.location="İstanbul"
baturkaplan.description="Thanks. Looks great."

hanzadedurmus=new Object()
hanzadedurmus.name="Hanzade Durmuş"
hanzadedurmus.title="Moda Editör"
hanzadedurmus.age="25"
hanzadedurmus.location="İstanbul"
hanzadedurmus.description="Thanks. Looks great."

osmancancubuk=new Object()
osmancancubuk.name="Osmancan Çubuk"
osmancancubuk.title="Moda Editör"
osmancancubuk.age="25"
osmancancubuk.location="İstanbul"
osmancancubuk.description="Thanks. Looks great."


balcaugurluoglu=new Object()
balcaugurluoglu.name="Balca Uğurluoğlu"
balcaugurluoglu.title="Moda Editör"
balcaugurluoglu.age="25"
balcaugurluoglu.location="İstanbul"
balcaugurluoglu.description="Thanks. Looks great."

damlaocak=new Object()
damlaocak.name="Damla Ocak"
damlaocak.title="Moda Editör"
damlaocak.age="25"
damlaocak.location="İstanbul"
damlaocak.description="Thanks. Looks great."


futureposition=new Object()
futureposition.name="Sizi de bekliyoruz..."
futureposition.title=""
futureposition.age=""
futureposition.location=""
futureposition.description=""



var infoArr=new Array(ceylan,muhtesem,sertankutval,baturkaplan,hanzadedurmus,balcaugurluoglu,girayyillikci,damlaocak,metin,buket,cicekunsal,egemenbozdag,keremgunes,canunsal,erenaksu,melisakumar,gizembaser,deniztepetas,nazli,canbayrak,mervecilgin,ipekcolakoglu,alitugrul,basak25,mevlutsasmaz,gevheryasar,cuneytmorten,ebrukohen,ertankocaelli,ugur,tansucolakoglu,savasunsal)


var imgNameArr=new Array("ceylan.jpg","muhtesem.jpg","sertankutval.jpg","baturkaplan.jpg","hanzadedurmus.jpg","balcaugurluoglu.jpg","girayyillikci.jpg","damlaocak.jpg","metin.jpg","buket.jpg","cicekunsal.jpg","egemenbozdag.jpg","keremgunes.jpg","canunsal.jpg","erenaksu.jpg","melisakumar.jpg","gizembaser.jpg","deniztepetas.jpg","nazli.jpg","canbayrak.jpg","mervecilgin.jpg","ipekcolakoglu.jpg","alitugrul.jpg","basak25.jpg","mevlutsasmaz.jpg","gevheryasar.jpg","cuneytmorten.jpg","ebrukohen.jpg","ertankocaelli.jpg","ugur.jpg","tansucolakoglu.jpg","savasunsal.jpg")



var checkMouseInt


function mainCanvasLoaded(s) {
	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) {
    var myTextBlock = sender.findName("info");
}







function whenMouseMoves(s, e) {
	
    _root_xmouse = e.getPosition(null).x
    _root_ymouse = e.getPosition(null).y
    
	moveToolTip(s)
    
}



function moveToolTip(s) {
    if(_root_xmouse>405) {
    	s.findName("toolTip")["Canvas.Left"]=_root_xmouse-210
    }
    else {
    	s.findName("toolTip")["Canvas.Left"]=_root_xmouse+50
    }
	s.findName("toolTip")["Canvas.Top"]=_root_ymouse-50
}



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)

				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))
		
				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.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)
				}
				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 {
	}
}


function buildImages() {
	
	pc=main.findName("picsContainer")
	
	cnt=0
	
	for(j=0;j<4;j++) {
	
		for(i=0;i<8;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="#DDD" 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" Opacity="0"  Name="image_'+cnt+'" MouseEnter="imgEnter" MouseLeave="imgLeave" MouseLeftButtonDown="imgPress" Source="'+photos_directory+imgNameArr[cnt]+'"  DownloadProgressChanged="imageProgressChanged">';
				loader_rect_str +=   '	<Image.RenderTransform><ScaleTransform Name="st_'+cnt+'" ScaleX="1.0" ScaleY="1.0" CenterX="40" CenterY="40" /></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
	imgIntArr["int"+s.name]=setInterval("checkImgDims('"+tempName+"')",10)	
}


function checkImgDims(nstr) {

	imgRef=main.findName(nstr)
	
	if(imgRef.width>0 && imgRef.height>0) {
	
		objsArr[nstr].orig_width=imgRef.width
		objsArr[nstr].orig_height=imgRef.height
		
		imgRef.width=tn_size
		imgRef.height=tn_size
		imgRef.opacity=1

		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)
	
	par["Canvas.ZIndex"]=500
	
	if(me.tweenS2) {
		me.tweenS2.stop()
	}
	
	me.tweenS = new Tween(new Object(),'s',Tween.elasticEaseOut,st.scaleX,1.35,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.name+"\n"+person.title+"\n"+person.age+"\n"+person.location+"\n\n"+person.description
	s.findName("info").text=person.name
	sender=s
	delayToolTipFadeInTO=setTimeout("delayToolTipFadeIn(sender)",500)		
	
}

function imgLeave(s) {	

	clearTimeout(delayToolTipFadeInTO)
	
	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
	}
	
	me.tweenS2.onMotionFinished = function(event){	
		par["Canvas.ZIndex"]=me.index
	}
	
	me.tweenS2.start()		
	
	
	s.findName("toolTip").visibility="collapsed"
	
}

function imgPress(s,e) {
	
}

///////////////Tween////////////////////////////
function Delegate() {}
Delegate.create = function (o, f) {
	var a = new Array() ;
	var l = arguments.length ;
	for(var i = 2 ; i < l ; i++) a[i - 2] = arguments[i] ;
	return function() {
		var aP = [].concat(arguments, a) ;
		f.apply(o, aP);
	}
}

Tween = function(obj, prop, func, begin, finish, duration, suffixe){
	this.init(obj, prop, func, begin, finish, duration, suffixe)
}
var t = Tween.prototype;

t.obj = new Object();
t.prop='';
t.func = function (t, b, c, d) { return c*t/d + b; };
t.begin = 0;
t.change = 0;
t.prevTime = 0;
t.prevPos = 0;
t.looping = false;
t._duration = 0;
t._time = 0;
t._pos = 0;
t._position = 0;
t._startTime = 0;
t._finish = 0;
t.name = '';
t.suffixe = '';
t._listeners = new Array();	
t.setTime = function(t){
	this.prevTime = this._time;
	if (t > this.getDuration()) {
		if (this.looping) {
			this.rewind (t - this._duration);
			this.update();
			this.broadcastMessage('onMotionLooped',{target:this,type:'onMotionLooped'});
		} else {
			this._time = this._duration;
			this.update();
			this.stop();
			this.broadcastMessage('onMotionFinished',{target:this,type:'onMotionFinished'});
		}
	} else if (t < 0) {
		this.rewind();
		this.update();
	} else {
		this._time = t;
		this.update();
	}
}
t.getTime = function(){
	return this._time;
}
t.setDuration = function(d){
	this._duration = (d == null || d <= 0) ? 100000 : d;
}
t.getDuration = function(){
	return this._duration;
}
t.setPosition = function(p){
	this.prevPos = this._pos;
	var a = this.suffixe != '' ? this.suffixe : '';
	this.obj[this.prop] = Math.round(p) + a;
	this._pos = p;
	this.broadcastMessage('onMotionChanged',{target:this,type:'onMotionChanged'});
}
t.getPosition = function(t){
	if (t == undefined) t = this._time;
	return this.func(t, this.begin, this.change, this._duration);
};
t.setFinish = function(f){
	this.change = f - this.begin;
};
t.geFinish = function(){
	return this.begin + this.change;
};
t.init = function(obj, prop, func, begin, finish, duration, suffixe){
	if (!arguments.length) return;
	this._listeners = new Array();
	this.addListener(this);
	if(suffixe) this.suffixe = suffixe;
	this.obj = obj;
	this.prop = prop;
	this.begin = begin;
	this._pos = begin;
	this.setDuration(duration);
	if (func!=null && func!='') {
		this.func = func;
	}
	this.setFinish(finish);
}
t.start = function(){
	this.rewind();
	this.startEnterFrame();
	this.broadcastMessage('onMotionStarted',{target:this,type:'onMotionStarted'});
	//alert('in');
}
t.rewind = function(t){
	this.stop();
	this._time = (t == undefined) ? 0 : t;
	this.fixTime();
	this.update();
}
t.fforward = function(){
	this._time = this._duration;
	this.fixTime();
	this.update();
}
t.update = function(){
	this.setPosition(this.getPosition(this._time));
	}
t.startEnterFrame = function(){
	this.stopEnterFrame();
	this.isPlaying = true;
	this.onEnterFrame();
}
t.onEnterFrame = function(){
	if(this.isPlaying) {
		this.nextFrame();
		setTimeout(Delegate.create(this, this.onEnterFrame), 0);
	}
}
t.nextFrame = function(){
	this.setTime((this.getTimer() - this._startTime) / 1000);
	}
t.stop = function(){
	this.stopEnterFrame();
	this.broadcastMessage('onMotionStopped',{target:this,type:'onMotionStopped'});
}
t.stopEnterFrame = function(){
	this.isPlaying = false;
}

t.continueTo = function(finish, duration){
	this.begin = this._pos;
	this.setFinish(finish);
	if (this._duration != undefined)
		this.setDuration(duration);
	this.start();
}
t.resume = function(){
	this.fixTime();
	this.startEnterFrame();
	this.broadcastMessage('onMotionResumed',{target:this,type:'onMotionResumed'});
}
t.yoyo = function (){
	this.continueTo(this.begin,this._time);
}

t.addListener = function(o){
	this.removeListener (o);
	return this._listeners.push(o);
}
t.removeListener = function(o){
	var a = this._listeners;	
	var i = a.length;
	while (i--) {
		if (a[i] == o) {
			a.splice (i, 1);
			return true;
		}
	}
	return false;
}
t.broadcastMessage = function(){
	var arr = new Array();
	for(var i = 0; i < arguments.length; i++){
		arr.push(arguments[i])
	}
	var e = arr.shift();
	var a = this._listeners;
	var l = a.length;
	for (var i=0; i<l; i++){
		if(a[i][e])
		a[i][e].apply(a[i], arr);
	}
}
t.fixTime = function(){
	this._startTime = this.getTimer() - this._time * 1000;
}
t.getTimer = function(){
	return new Date().getTime() - this._time;
}
Tween.backEaseIn = function(t,b,c,d,a,p){
	if (s == undefined) var s = 1.70158;
	return c*(t/=d)*t*((s+1)*t - s) + b;
}
Tween.backEaseOut = function(t,b,c,d,a,p){
	if (s == undefined) var s = 1.70158;
	return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
}
Tween.backEaseInOut = function(t,b,c,d,a,p){
	if (s == undefined) var s = 1.70158; 
	if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
	return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
}
Tween.elasticEaseIn = function(t,b,c,d,a,p){
		if (t==0) return b;  
		if ((t/=d)==1) return b+c;  
		if (!p) p=d*.3;
		if (!a || a < Math.abs(c)) {
			a=c; var s=p/4;
		}
		else 
			var s = p/(2*Math.PI) * Math.asin (c/a);
		
		return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
	
}
Tween.elasticEaseOut = function (t,b,c,d,a,p){
		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
		if (!a || a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		return (a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b);
	}
Tween.elasticEaseInOut = function (t,b,c,d,a,p){
	if (t==0) return b;  if ((t/=d/2)==2) return b+c;  if (!p) var p=d*(.3*1.5);
	if (!a || a < Math.abs(c)) {var a=c; var s=p/4; }
	else var s = p/(2*Math.PI) * Math.asin (c/a);
	if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
	return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
}

Tween.bounceEaseOut = function(t,b,c,d){
	if ((t/=d) < (1/2.75)) {
		return c*(7.5625*t*t) + b;
	} else if (t < (2/2.75)) {
		return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
	} else if (t < (2.5/2.75)) {
		return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
	} else {
		return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
	}
}
Tween.bounceEaseIn = function(t,b,c,d){
	return c - Tween.bounceEaseOut (d-t, 0, c, d) + b;
	}
Tween.bounceEaseInOut = function(t,b,c,d){
	if (t < d/2) return Tween.bounceEaseIn (t*2, 0, c, d) * .5 + b;
	else return Tween.bounceEaseOut (t*2-d, 0, c, d) * .5 + c*.5 + b;
	}

Tween.strongEaseInOut = function(t,b,c,d){
	return c*(t/=d)*t*t*t*t + b;
	}

Tween.regularEaseIn = function(t,b,c,d){
	return c*(t/=d)*t + b;
	}
Tween.regularEaseOut = function(t,b,c,d){
	return -c *(t/=d)*(t-2) + b;
	}

Tween.regularEaseInOut = function(t,b,c,d){
	if ((t/=d/2) < 1) return c/2*t*t + b;
	return -c/2 * ((--t)*(t-2) - 1) + b;
	}
Tween.strongEaseIn = function(t,b,c,d){
	return c*(t/=d)*t*t*t*t + b;
	}
Tween.strongEaseOut = function(t,b,c,d){
	return c*((t=t/d-1)*t*t*t*t + 1) + b;
	}

Tween.strongEaseInOut = function(t,b,c,d){
	if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
	return c/2*((t-=2)*t*t*t*t + 2) + b;
	}
