// -----------------------------------------------------------------------------------
// SliderImage
// -----------------------------------------------------------------------------------
// Objeto: MoveFrames
// Comentario: Este objeto se encarga de mover las imagenes.
// -----------------------------------------------------------------------------------


var MoveFrames={
	frame1: {
		object: false,
		topX: 0,
		speed: 2,
		acel_initial: 1,
		acel_end: 8,
		inc: 0,
		working: false		
	},
	frame2: {
		object: false,
		topX: 0,
		speed: 1,
		acel_initial: 1,
		acel_end: 6,
		inc: 0,
		brake: 30,
		working: false
	},
	frame3: {
		object: false,
		topX: 0,
		speed: 5,
		acel_initial: 1,
		acel_end: 12,
		inc: 0,
		brake: 80,
		working: false
	},	
	
	page: 0,
	tempID: false,
	working: false,
	
	go_left: function(){		
		SliderImage.move_image('next'); // Create Frames and Move Image
		
		this.frame1.speed = (!document.all) ? 1 : 3;
		this.frame1.acel_initial = (!document.all) ? 1 : 2;
		this.frame1.acel_end = (!document.all) ? 8 : 10;
		this.frame1.inc = this.frame1.acel_initial;
		
		this.frame1.object.style.left = (parseInt(this.frame1.object.style.width)*-1)+"px";
		this.frame1.topX = (parseInt(SliderImage.objects.slide.style.width)/2)-(parseInt(this.frame1.object.style.width)/2);

		this.frame2.speed = (!document.all) ? 1 : 3;
		this.frame2.acel_initial = (!document.all) ? 1 : 2;
		this.frame2.acel_end = (!document.all) ? 6 : 8;
		this.frame2.inc = this.frame2.acel_initial;
		this.frame2.brake = 30;

		this.frame2.object.style.left = (parseInt(this.frame2.object.style.width)*-1)+"px";
		this.frame2.topX = 0;

		if( this.frame3.object ) {
			this.frame3.speed = (!document.all) ? 2 : 4;
			this.frame3.acel_initial = (!document.all) ? 1 : 2;
			this.frame3.acel_end = (!document.all) ? 12 : 14;
			this.frame3.inc = this.frame3.acel_initial;
			this.frame3.brake = 80;

			this.frame3.object.style.left = (parseInt(this.frame3.object.style.width)*-1)+"px";		
			this.frame3.topX = parseInt(SliderImage.objects.slide.style.width)-parseInt(this.frame3.object.style.width);
		}

		this.working=true;
		this.tempID = setInterval("MoveFrames.movement(1)", 20);
	},

	exit_right: function(){
		this.frame1.speed = (!document.all) ? 2 : 4;
		this.frame1.acel_initial = (!document.all) ? 1 : 2;
		this.frame1.acel_end = (!document.all) ? 9 : 11;
		this.frame1.inc = this.frame1.acel_initial;

		this.frame2.speed = (!document.all) ? 2 : 4;
		this.frame2.acel_initial = (!document.all) ? 1 : 2;
		this.frame2.acel_end = (!document.all) ? 8 : 10;
		this.frame2.inc = this.frame2.acel_initial;
		this.frame2.brake = 20;
		
		if( this.frame3.object ) {
			this.frame3.speed = (!document.all) ? 3 : 5;
			this.frame3.acel_initial = (!document.all) ? 1 : 2;
			this.frame3.acel_end = (!document.all) ? 10 : 12;
			this.frame3.inc = this.frame3.acel_initial;
			this.frame3.brake = 80;
		}

		this.frame1.topX = this.frame2.topX = parseInt(SliderImage.objects.slide.style.width);
		if( this.frame3.object ) this.frame3.topX = parseInt(SliderImage.objects.slide.style.width);

		this.working=true;
		this.tempID = setInterval("MoveFrames.movement(2)", 20);
	},

	exit_left: function(){
		this.frame1.speed = (!document.all) ? 3 : 5;
		this.frame1.acel_initial = (!document.all) ? 1 : 2;
		this.frame1.acel_end = (!document.all) ? 9 : 11;
		this.frame1.inc = this.frame1.acel_initial;

		this.frame2.speed = (!document.all) ? 5 : 7;
		this.frame2.acel_initial = (!document.all) ? 1 : 2;
		this.frame2.acel_end = (!document.all) ? 12 : 14;
		this.frame2.inc = this.frame2.acel_initial;
		this.frame2.brake = 30;
		
		if( this.frame3.object ){
			this.frame3.speed = (!document.all) ? 1 : 3;
			this.frame3.acel_initial = (!document.all) ? 1 : 2;
			this.frame3.acel_end = (!document.all) ? 10 : 12;
			this.frame3.inc = this.frame3.acel_initial;
			this.frame3.brake = 20;
		}

		this.frame1.topX = parseInt(this.frame1.object.style.width)*-1;
		this.frame2.topX = parseInt(this.frame2.object.style.width)*-1;
		if( this.frame3.object ) this.frame3.topX = parseInt(this.frame3.object.style.width)*-1;

		this.working=true;
		this.tempID = setInterval("MoveFrames.movement(3)", 20);
	},

	go_right: function(){
		SliderImage.move_image('back'); // Create Frames and Move Image
		
		this.frame1.speed = (!document.all) ? 2 : 4;
		this.frame1.acel_initial = (!document.all) ? 1 : 2;
		this.frame1.acel_end = (!document.all) ? 8 : 10;
		this.frame1.inc = this.frame1.acel_initial;
		
		this.frame1.object.style.left = parseInt(SliderImage.objects.slide.style.width)+"px";
		this.frame1.topX = (parseInt(SliderImage.objects.slide.style.width)/2)-(parseInt(this.frame1.object.style.width)/2);

		this.frame2.speed = (!document.all) ? 5 : 7;
		this.frame2.acel_initial = (!document.all) ? 1 : 2;
		this.frame2.acel_end = (!document.all) ? 12 : 14;
		this.frame2.inc = this.frame2.acel_initial;
		this.frame2.brake = 80;
		
		this.frame2.object.style.left = parseInt(SliderImage.objects.slide.style.width)+"px";
		this.frame2.topX = 0;

		if( this.frame3.object ){
			this.frame3.speed = (!document.all) ? 1 : 3;
			this.frame3.acel_initial = (!document.all) ? 1 : 2;
			this.frame3.acel_end = (!document.all) ? 6 : 8;
			this.frame3.inc = this.frame3.acel_initial;
			this.frame3.brake = 30;

			this.frame3.object.style.left = parseInt(SliderImage.objects.slide.style.width)+"px";
			this.frame3.topX = parseInt(SliderImage.objects.slide.style.width)-parseInt(this.frame3.object.style.width);
		}
		
		this.working=true;
		this.tempID = setInterval("MoveFrames.movement(4)", 20);
	},

	movement: function(mov){
		// go_left    => mov1
		// exit_right => mov2
		// go_right   => mov3
		// exit_left  => mov4
		
		// MOV1 and MOV2 suman
		// MOV3 and MOV4 restan
	
		// FRAME1
		leftFrame1 = parseInt(this.frame1.object.style.left);	
		if( ((mov==1 || mov==2) && leftFrame1 < this.frame1.topX) || ((mov==3 || mov==4) && leftFrame1 > this.frame1.topX) ){
			
			if( ((mov==1 || mov==2) && leftFrame1 < this.frame1.topX-30) || ((mov==3 || mov==4) && leftFrame1 > this.frame1.topX+30) ){
				if( this.frame1.inc < this.frame1.acel_end ){
					this.frame1.inc += this.frame1.speed;
				}else{
					this.frame1.inc = this.frame1.acel_end;
				}
			}
			else{
				if( this.frame1.inc > this.frame1.acel_initial ){
					this.frame1.inc -= 1;
				}else{
					this.frame1.inc = this.frame1.acel_initial;
				}
			}
						
			leftFrame1 = (mov==1||mov==2) ? leftFrame1+this.frame1.inc : leftFrame1-this.frame1.inc;
			
			this.frame1.object.style.left = leftFrame1+"px";
		}else{
			this.frame1.object.style.left = this.frame1.topX+"px";
			this.frame1.working=true;
		}

		// FRAME2
		leftFrame2 = parseInt(this.frame2.object.style.left);			
		if( ((mov==1 || mov==2) && leftFrame2 < this.frame2.topX) || ((mov==3 || mov==4) && leftFrame2 > this.frame2.topX) ){			
		
			if( ((mov==1 || mov==2) && leftFrame2 < this.frame2.topX-this.frame2.brake) || ((mov==3 || mov==4) && leftFrame2 > this.frame2.topX+this.frame2.brake) ){
				if( this.frame2.inc < this.frame2.acel_end ){
					this.frame2.inc += this.frame2.speed;
				}else{
					this.frame2.inc = this.frame2.acel_end;
				}
			}
			else{
				if( this.frame2.inc > this.frame2.acel_initial ){
					this.frame2.inc -= 1;
				}else{
					this.frame2.inc = this.frame2.acel_initial;
				}
			}
			
			leftFrame2 = (mov==1||mov==2) ? leftFrame2+this.frame2.inc : leftFrame2-this.frame2.inc;

			this.frame2.object.style.left = leftFrame2+"px";
		}else{				
			this.frame2.object.style.left = this.frame2.topX+"px";
			this.frame2.working=true;
		}

		// FRAME3
		if( this.frame3.object ){
			leftFrame3 = parseInt(this.frame3.object.style.left);
			
			if( ((mov==1 || mov==2) && leftFrame3 < this.frame3.topX) || ((mov==3 || mov==4) && leftFrame3 > this.frame3.topX) ){			
			
				if( ((mov==1 || mov==2) && leftFrame3 < this.frame3.topX-this.frame3.brake) || ((mov==3 || mov==4) && leftFrame3 > this.frame3.topX+this.frame3.brake) ){
					if( this.frame3.inc < this.frame3.acel_end ){
						this.frame3.inc += this.frame3.speed;
					}else{
						this.frame3.inc = this.frame3.acel_end;
					}
				}
				else{
					if( this.frame3.inc > this.frame3.acel_initial ){
						this.frame3.inc -= 1;
					}else{
						this.frame3.inc = this.frame3.acel_initial;
					}
				}
				
				leftFrame3 = (mov==1||mov==2) ? leftFrame3+this.frame3.inc : leftFrame3-this.frame3.inc;						
								
				this.frame3.object.style.left = leftFrame3+"px";
			
			}else{
				this.frame3.object.style.left = this.frame3.topX+"px";
				this.frame3.working=true;
			}
		}
		
		if( this.frame3.object ){
			condition = (this.frame1.working && this.frame2.working && this.frame3.working)
		}else{
			condition = (this.frame1.working && this.frame2.working )
		}
		if( condition ){
			clearInterval(this.tempID);
			this.frame1.working=false; 
			this.frame2.working=false;
			this.frame3.working=false;
			this.working=false;
			
			if( mov==2 ) this.go_left();
			else if(mov==3) this.go_right();
		}
	}	
	
	
}