// JavaScript Document
jQuery(function( $ ){
				
/* fade control */

var SECONDARY_COOKIE_NAME = 'loaded';
var options = { path: '/', expires: 10 };
var date = new Date();

if($.cookie(SECONDARY_COOKIE_NAME) == 'loaded') {
		$('body').fadeIn(300);
} else {
		$('body').delay(800).fadeIn(400);
}
//date.setTime(date.getTime() + 10000);
date.setTime(date.getTime() + (2 * 24 * 60 * 60 * 1000));

$.cookie(SECONDARY_COOKIE_NAME, 'loaded', { path: '/', expires: date });

/* end fade control */

	var startMe;
	var startIndex = 0;
	function startBirdDuck() {
		startMe = setInterval(startAnim,2500);
	}
	
	startBirdDuck();
	
	function startAnim() {
		
		startIndex++;
		
		switch (startIndex)
		{
		case 1:
  			startBird();
  		break;
		case 2:
 			 startDuck();
 		break;
		case 3:
  			startPhone();
  		break;
		case 4:
			startCycle();
			clearInterval (startMe);
		break;
		default:
  			null;
		}

	 
	}
	
				
	/* image gallery */
	var running = true;
	var curImg = 1;

	$('#galpix1').fadeIn('fast');
	
	$(this).everyTime(6000, 'controlled', function() {
							
		if(running == true) {
			curImg++;
			if(curImg == 4) {
				curImg = 1;
			}
			changeImage(curImg);
			btnState(curImg);
			curImg = curImg;
							
		} else {
			stopMe();
		}
	});

	function stopMe() {
		$(this).stopTime('controlled');
	}
	
	$('#pix1').click(function() {
		if(checkClass(this)) {
			changeImage(1);
			btnState(1);
			curImg = 1;
			running = false;
		}
	});
	$('#pix2').click(function() {
		if(checkClass(this)) {
			changeImage(2);
			btnState(2);
			curImg = 2;
			running = false;
		}
	});
	$('#pix3').click(function() {
		if(checkClass(this)) {
			changeImage(3);
			btnState(3);
			curImg = 3;
			running = false;
		}
	});
	$('#rightarrow').click(function() {
			curImg++;
			if(curImg == 4) {
				curImg = 1;
			}
			changeImage(curImg);
			btnState(curImg);
			curImg = curImg;
			running = false;
	});
	$('#leftarrow').click(function() {
			curImg--;
			if(curImg == 0) {
				curImg = 3;
			}
			changeImage(curImg);
			btnState(curImg);
			curImg = curImg;
			running = false;
	});
	
	function checkClass(clip) {
		var cls = $(clip).attr('class');
		var val = cls.substring(4)
		if( val == "off") {
			return true;
		}
	}
	
	function changeImage(num) {
		for(var i=1; i<4; i++) {
			var tardiv = "#galpix"+i;
			$(tardiv).hide();
		}
		var choosediv = "#galpix"+num;
		$(choosediv).fadeIn('fast');		
	}
	
	function btnState(num) {
		for(var i=1; i<4; i++) {
			var allbtn = "#pix"+i;
			$(allbtn).removeClass('pix'+i+'on');
			$(allbtn).removeClass('pix'+i+'off');
			$(allbtn).addClass('pix'+i+'off');
		}
		var choosebtn = "#pix"+num;
		$(choosebtn).removeClass('pix'+num+'off');
		$(choosebtn).addClass('pix'+num+'on');
	}
	/* end image gallery */
	
	/* dog */
	var i = 1;
	var k = 1;
	var setVar = 0;
	var speed = 23;
	var interval;
	var intervalNext;
	
	function startDog() {
		 interval = setInterval(barkUp,speed);
	}
	
	function barkUp() {
	 setVar = 0  - (110*i);
	 newValue =  (setVar) + "px 0px";
	 if(i < 236) {
	 	var $active = $("#dog").css({ "background-position" : function() { return newValue; } });
	 }
	 i++;
		if(i > 74 && i < 169) {
			newMove =  ((694-(k/2.5))) + "px";
			var $move = $("#dog").css({ "left" : function() { return newMove; } });
			k = k+2;
		} else if(i >= 169) {
			newMove =  newMove;
			var $move = $("#dog").css({ "left" : function() { return newMove; } });
		}
				
		if(i==600) {
			
			clearInterval ( interval );
			resetDog();
		 }	
	}
	
	function wagTail() {
	 setVar = 0  - (110*i);
	 newValue =  (setVar) + "px -68px";
	 if(i < 140) {
	 	var $active = $("#dog").css({ "background-position" : function() { return newValue; } });
	 }
	 i++;
	 
		if(i==1200) {
			
			clearInterval ( interval );
			resetDog();
		 }	
	}
	
	function resetDog() {
		i = 1;
		k = 1;
		setVar = 0;
		speed = 23;

		interval = setInterval(wagTail,speed);
	}
	/* end dog */
	
	/* bird */
	var l = 1;
	var n = 1;
	var setBirdVar = 0;
	var birdSpeed = 8;
	var birdInterval;
	var birdIntervalNext;
	var birdCycle = 0;
	
	function startBird() {
		birdInterval = setInterval(birdFly,birdSpeed);
		$("#bird").animate({path : new $.path.bezier(bezier_params3)}, 6000, function(){  $("#bird").css({ "display" : "none" })  })
	}
	
	function birdFly() {
	 setBirdVar = 0  - (46*l);
	 newBirdValue =  (setBirdVar) + "px";
	 if(l < 19) {
	 	var $birdactive = $("#bird").css({ "background-position" : function() { return newBirdValue; } });
	 }
	 l++;
	 if(l==19) {
		clearInterval ( birdInterval);
		if(birdCycle < 20) {
			repeatBird();
		}
	 }	
	 
	}
	
	function repeatBird() {
		l = 1;
		n = 1;
		setBirdVar = 0;
		birdSpeed = 5;
		birdInterval = setInterval(birdFly,birdSpeed);
		birdCycle++
	}
	
	var bezier_params3 = {
    start: { 
      x: 500, 
      y: -60, 
      angle: 40
    },  
    end: { 
      x:1500,
      y:-60, 
      angle: -50, 
      length: .2
    }
  }
	
	/* end bird */
	
	/* cycle */
	
	
	var cycI = 1;
	var cyck = 1;
	var setCycVar = 0;
	var cycSpeed = 70;
	var newCycValue;
	var newCycleMove;
	var cycInterval;
	var $cycactive;
	
	

	
	function startCycle() {

		 cycInterval = setInterval(runCycle,cycSpeed);

	}
	
	function runCycle() {
	 setCycVar = 0  - (100*cycI);
	 newCycValue =  (setCycVar) + "px";
	 
	 newCycleMove =  ((350+(cyck*3))) + "px";
	 var $moveCyc = $("#cycle").css({ "left" : function() { return newCycleMove; } });
			
	 if(cycI < 13) {
	 	$cycactive = $("#cycle").css({ "background-position" : function() { return newCycValue; } });
	 } else {
		cycI = 1;
		setCycVar = 0  - (100*cycI);
	 	newCycValue =  (setCycVar) + "px";
	 	$cycactive = $("#cycle").css({ "background-position" : function() { return newCycValue; } });
	 }
	 
	 cycI++;
	 cyck++;
	 
	 if(cyck == 60) {
		 clearInterval ( cycInterval);
	 }
	 
			
	}

	

	/* end cycle */
	
	/* duck */
	var u = 1;
	var v = 1;
	var setDuckVar = 0;
	var duckSpeed = 70;
	var duckInterval;
	var duckIntervalNext;
	var duckCycle = 0;
	var setDuckVar;
	var newDuckValue;
	
	function startDuck() {
		duckInterval = setInterval(duckBob,duckSpeed);
		/*$("#duck").animate({path : new SineWave}, 6500, "linear").delay(800).animate({ left:-234}, 500, "linear").animate({path : new SineWaveTwo}, 5000, "linear").delay(800).animate({ left:-400, top:450}, 1000, "linear", function() {
	startDog();
  });*/
		
		$("#duck").animate({ left:-100, top:100}, 2000, "swing").animate({ left:-300, top:150}, 2000, "swing").animate({ left:-120, top:250}, 2000, "swing", function() { startDog()  });
		
	}
	
	function duckBob() {
	 setDuckVar = 0  - (100*u);
	 newDuckValue =  (setDuckVar) + "px";
	 if(u < 18) {
	 	var $duckactive = $("#duck").css({ "background-position" : function() { return newDuckValue; } });
	 }
	 u++;
	 if(u==17) {
		clearInterval ( duckInterval);
		//if(duckCycle < 200) {
			repeatDuck();
		//}
		
	 }	
	 
	}
	
	function repeatDuck() {
		u = 1;
		setDuckVar = 0;
		duckInterval = setInterval(duckBob,duckSpeed);
		duckCycle++
	}
	
	var z = 1;
	var SineWave = function() {
  	this.css = function(p) {
    var s = Math.sin(p*10)
    var x = -180 - s * 30; 
    var y = 300 + (z * .3);
	z++;
		
    	return {top: y + "px", left: x + "px"}
  	} 
	};
	
	var SineWaveTwo = function() {
  	this.css = function(p) {
    var s = Math.sin(p*20)
    var x = -180 + (10 - s * 70) - (z*.1); 
    var y = 300 + (z * .3);
	z++;
    	return {top: y + "px", left: x + "px"}
  	} 
	};
	
	//$("p").animate({ left:74, top:300}, 1000, "linear")


	
	/* end duck */
	
	/* phone */
	var pa = 1;
	var pb = 1;
	var setPhoneVar = 0;
	var phoneSpeed = 70;
	var phoneInterval;
	var phoneCycle = 0;
	var setPhoneVar;
	var newPhoneValue;
	
	function startPhone() {
		phoneInterval = setInterval(ringPhone,phoneSpeed);
	}
	
	function ringPhone() {
	 setPhoneVar = 0  - (64*pa);
	 newPhoneValue =  (setPhoneVar) + "px";
	 if(pa < 12) {
	 	var $phoneactive = $("#phone").css({ "background-position" : function() { return newPhoneValue; } });
	 }
	 pa++;
	 if(pa==11) {
		clearInterval ( phoneInterval);
		if(phoneCycle < 3) {
			repeatPhone();
		}
		
	 }	
	 
	}
	
	function repeatPhone() {
		pa = 1;
		setPhoneVar = 0;
		phoneInterval = setInterval(ringPhone,phoneSpeed);
		phoneCycle++
	}
	
	/*end phone*/
	



});
