var $j = jQuery.noConflict();

$j(document).ready(function() {
	
	
	
	
	/* Navigation
	--------------------------------------------*/
	var current_path = window.location.href
	$j('.navBtn[href="'+current_path+'"]').addClass("selected");
	
	
	
	
	
	/* Scroller
	--------------------------------------------*/
	var dragHeight = $j(".scroll_drag_container").height() - $j(".scroll_drag").height();
	var minY = $j(".scroll_container").height() - $j(".type-page").height();
	var offset = 50;
	
	if (minY > 0) {
		$j(".scroller").hide();	
	} else {
		minY-=10;	
	}

	$j(".scroll_drag").draggable({
		axis: 'y',
		containment: $j(".scroll_drag_container"),
		drag: function(event, ui) { 
			var percent = $j(this).position().top/dragHeight;
			var newPos = (minY * percent);
			$j(".type-page").animate({top:newPos},{duration:300,queue:false});
		}
	});
	
	$j('.scroll_container').mousewheel(function(e, delta) {
		
		if (minY < 0) {
			e.preventDefault();
			
			var newDragPos = $j(".scroll_drag").position().top - (Number(delta)*50);
			if (newDragPos < 0) newDragPos = 0;
			if (newDragPos > dragHeight) newDragPos = dragHeight;
			
			var percent = newDragPos/dragHeight;
			var newPos = (minY * percent);
			$j(".scroll_drag").animate({top:newDragPos},{duration:300,queue:false});
			$j(".type-page").animate({top:newPos},{duration:300,queue:false});
		}
		
	});
	
	$j('.scroll_up').click(function() {
		
		var newDragPos = $j(".scroll_drag").position().top - offset;
		if (newDragPos < 0) newDragPos = 0;
		
		var percent = newDragPos/dragHeight;
		var newPos = (minY * percent);
		$j(".scroll_drag").animate({top:newDragPos},{duration:300,queue:false});
		$j(".type-page").animate({top:newPos},{duration:300,queue:false});
	});
	
	$j('.scroll_down').click(function() {
		
		var newDragPos = $j(".scroll_drag").position().top + offset;
		if (newDragPos > dragHeight) newDragPos = dragHeight;
		
		var percent = newDragPos/dragHeight;
		var newPos = (minY * percent);
		$j(".scroll_drag").animate({top:newDragPos},{duration:300,queue:false});
		$j(".type-page").animate({top:newPos},{duration:300,queue:false});
	});
	
	var down_x = null;
	var up_x = null;
	
	$j(".type-page").bind('touchstart', function(e){
		if (minY < 0) {
			down_x = e.originalEvent.touches[0].pageY;
		}
	});
	
	$j(".type-page").bind('touchmove', function(e){
		if (minY < 0) {
			e.preventDefault();
			up_x = e.originalEvent.touches[0].pageY;
		}
	});
	
	$j(".type-page").bind('touchend', function(e){
		if (minY < 0) {
			slide_content();
		}
	});
	
	function slide_content() {
		
		var newPos = $j(".type-page").position().top - (down_x - up_x);
		if (newPos > 0) newPos = 0; 
		if (newPos < minY) newPos = minY;
		
		$j(".type-page").animate({top:newPos},{duration:300,queue:false});
		
		var percent = (newPos)/minY;
		var newDragPos = (dragHeight * percent);
		$j(".scroll_drag").animate({top:newDragPos},{duration:300,queue:false});
		
		
	}
	
	
	
	
	/* Forms
	--------------------------------------------*/
	$j(".required").parent().append("<p class=\"asterisk\">*</p>");
	$j(".add-margin").parent().addClass("margin-spacer");
	
	
	
	
	/* Video Player
	--------------------------------------------*/
	var v = document.getElementsByTagName("video")[0];
	var paths = [];
	var curr_src = 0;
	var isDragging = false;
	if (v) v.addEventListener("loadedmetadata", addFullscreenButton, false);
	if (v) v.addEventListener("error", vidError, false);
	if (v) v.addEventListener("progress", vidProgress, false);
	if (v) v.addEventListener("timeupdate", vidTimeUpdate, false);
	if (v) v.addEventListener("ended", vidEnded, false);
	
	$j("#seekbutton").draggable({
		axis: 'x',
		containment: $j("#seekbar"),
		start: function(event, ui) { isDragging = true; },
		stop: function(event, ui) { isDragging = false; },
		drag: function(event, ui) { 
			var percent = $j(this).position().left/493;
			v.currentTime = v.duration * percent;
		}
	});
	
	function addFullscreenButton(){
		if (v.webkitSupportsFullscreen) {
			$j('#fs-btn').css("visibility", "visible");
		}
	}
	
	function vidProgress(e) {
		var percent = e.loaded/e.total;
		var newpos = (percent * 506) - 506;
		$j("#seekbar-progress").css("left",newpos);
	}
	
	function vidEnded(e) {
		v.currentTime = 0;
		v.pause();
		$j('#play-btn').css("background-position","0 0px");
	}
	
	function vidTimeUpdate(e) {
		if (isDragging == false) {
			var percent = v.currentTime/v.duration;
			var newpos = (percent * 493);
			$j("#seekbutton").css("left",newpos);
		}
	}
	
	function vidError() {
	
		switch (v.error.code) {
			case 1:
				console.log("You stopped the video.");
				break;
			case 2:
				console.log("Network error - please try again later.");
				break;
			case 3:
				console.log("Video is broken..");
				break;
			case 4:
				console.log("Sorry, your browser can't play this video.");
				break;
		}
	}
	
	if ($j("#video_container").length > 0) {
		addVideo($j('.thumb:first-child'), "false");
	}
		
	$j('.thumb').click(function(e) {
		
		e.preventDefault();
		
		$j(".thumb").removeClass("selected");
		
		//$j("#html-vid").remove();
		//$j("#video").remove();
		$j("#video_info p").remove();
		
		$j(this).addClass("selected");
		
		addVideo($j(this), "true");
		//addHTMLVideo($j(this), "true");

	});
	
	function addVideo(thumb, auto) {
		
		var path = thumb.attr("href");
		paths = path.split(",");
		var info = thumb.attr("description");
		var poster = thumb.attr("poster");
		
		
		if (v) {
			
			$j("#seekbar-progress").css("left",0);
			$j("#seekbutton").css("left",0);
			
			for (var i=0; i<paths.length; i++) {	
				var ext = paths[i].substr(-3);
				if (ext == "m4v") {
					ext = "mp4";
				}
				if (ext == "ogv") {
					ext = "ogg";
				}
				if (v.canPlayType("video/"+ext+";")) {
					v.src = paths[i];
					break;
				}
			}
			
			v.poster = poster;
			if (auto == "true") {
				v.autoplay = true;
				$j('#play-btn').css("background-position","0 -15px");
			} else {
				$j('#play-btn').css("background-position","0 0");
			}
			v.load();
		} else {
		
			/* Add the flash video
			-------------------------------------------*/
			var flashvars = {};
			flashvars.vidpath = paths[0];
			flashvars.autoplay = auto;
			flashvars.poster = poster;
			var params = {};
			params.menu = "false";
			params.scale = "noscale";
			params.salign = "tl";
			params.wmode = "transparent";
			params.allowfullscreen = "true";
			var attributes = {};
			attributes.align = "top";
			swfobject.embedSWF("http://hawkinsdigitalmedia.com/mc/wp-content/themes/hawkins/flash/vid_player.swf", "dynamic_vid", "560", "336", "9.0.0", false, flashvars, params, attributes);
		}
	
		/*
		// If flash did not load
		if ($j("#dynamic_vid").children().length == 2) {
			
			if (v) {
				
				$j("#seekbar-progress").css("left",0);
				$j("#seekbutton").css("left",0);
				
				for (var i=0; i<paths.length; i++) {	
					var ext = paths[i].substr(-3);
					if (ext == "m4v") {
						ext = "mp4";
					}
					if (ext == "ogv") {
						ext = "ogg";
					}
					if (v.canPlayType("video/"+ext+";")) {
						v.src = paths[i];
						break;
					}
				}
				
				v.poster = poster;
				if (auto == "true") {
					v.autoplay = true;
					$j('#play-btn').css("background-position","0 -15px");
				} else {
					$j('#play-btn').css("background-position","0 0");
				}
				v.load();
			}
		}
		*/
		
		var description = "<p>"+info+"</p>"
		
		thumb.addClass("selected");
		
		$j("#video_info").append(description);
	
	}
	
	$j('#play-btn').click(function() {
		
		if (v.paused == true) {
			v.play();
			$j('#play-btn').css("background-position","0 -15px");
		} else {
			v.pause();	
			$j('#play-btn').css("background-position","0 0px");
		}
	});
	
	$j('#mute-btn').click(function() {	
		if (v.muted == true) {
			v.muted = false;
			$j('#mute-btn').css("background-position","0 0");
		} else {
			v.muted = true;	
			$j('#mute-btn').css("background-position","0 -15px");
		}
	});
	
	$j('#fs-btn').click(function() {	
		v.webkitEnterFullscreen();
	});
	
});
