/* global functions for 'fastpass' button */
function hideFpBubble(){
	$('#fp-bubble').animate({
		opacity: 0,
		top: '+=10px'
	},500,function(){
		$('#fp-bubble').hide();
	});
}

function toggleFpBubble(e){
	var fp = $('#fp-bubble');
	var bf = $('#btn-fastpass');
	var btnOffset = bf.offset();
	
	var xPos = (btnOffset.left - 20);
	var yPos = (btnOffset.top - (Math.round(fp.height()) - 20));
	
	if(fp.css('opacity') == 0){
		fp.css('left',xPos+'px');
		fp.css('top',yPos+'px');
		fp.show();
		fp.animate({
			top: '+=10px',
			opacity: 1
		},500);
		
	}else{
		hideFpBubble();
	}
	
	$(e.target).blur();
	
	return false;
	
}

function hideEmBubble(){
	$('#emergency-bubble').animate({
		opacity: 0,
		top: '+=10px'
	},500,function(){
		$('#emergency-bubble').hide();
	});
}

function toggleEmBubble(e){
	var fp = $('#emergency-bubble');
	var bf = $('#btn-emergency');
	var btnOffset = bf.offset();
	
	var xPos = (btnOffset.left + 20);
	var yPos = Math.round(btnOffset.top - (fp.height() + bf.height() + 10));
	
	if(fp.css('opacity') == 0){
		fp.css('left',xPos+'px');
		fp.css('top',yPos+'px');
		fp.show();
		fp.animate({
			top: '+=10px',
			opacity: 1
		},500);
		
	}else{
		hideEmBubble();
	}
	
	$(e.target).blur();
	
	return false;
	
}

/* services page */
var services = {};

function showServiceDetail(e){
	var target = $(e.target);
	if(e.target.tagName.toLowerCase() != 'a'){
		target = target.parents('a');
	}
	var offset = target.position();
	var data = target.attr('rel').split('||');
	var itemInfo = $('#'+data[0]+'-item-info');
	
	$(services[data[0]]).each(function(i,svc){
		if(svc.name == data[1]){
			$('#'+data[0]+'-item-info-content').html('<h2>'+svc.name+'</h2><p>'+svc.description+'</p>');
		}
	});
	
	$('#'+data[0]+'-list li').each(function(i,li){
		$(li).removeClass('current');
	});
	
	$(target.parent('li')).addClass('current');
	
	
	
	itemInfo.show();
	var yPos = offset.top;
	var bottomPos = Math.round(yPos + itemInfo.height());
	var listHeight = Math.round($('#'+data[0]+'-list').height() - 15);
	
	if(bottomPos > listHeight){
		yPos = yPos - (bottomPos - listHeight);
	}
	itemInfo.css('top',yPos+'px');
	
	Cufon.replace('#'+data[0]+'-item-info h2');
	
	return false;
	
}

function loadServicesList(xhr, status){
	if(status == 'success'){
		services = $.parseJSON(xhr.responseText);
		var treatmentsList = $("<ul id='treatments-list'></ul>");
		var proceduresList = $("<ul id='procedures-list'></ul>");
		
		$(services.treatments).each(function(i,svc){
			treatmentsList.append("<li><a href='#' rel='treatments||"+svc.name+"'><span>"+svc.name+"</span></a></li>");
		});
		
		$(services.procedures).each(function(i,svc){
			proceduresList.append("<li><a href='#' rel='procedures||"+svc.name+"'><span>"+svc.name+"</span></a></li>");
		});
		
		$('#treatments-list-container').html(treatmentsList);
		$('#procedures-list-container').html(proceduresList);
		
		
		$('#treatments-list-container').append("<div class='item-info' id='treatments-item-info' style='display: none;'><div class='inner' id='treatments-item-info-content'></div></div>");
		$('#procedures-list-container').append("<div class='item-info' id='procedures-item-info' style='display: none;'><div class='inner' id='procedures-item-info-content'></div></div>");
		
		$('#services-full-list li a').click(showServiceDetail);
		
		Cufon.replace('#services-full-list li a span');
		
		$('#treatments-list li:first-child a').click();
		$('#procedures-list li:first-child a').click();
	}
}

$(window).load(function(){
	var pageId = $(document.body).attr('id');
	var bf = $('#btn-fastpass');
	var fp = $('#fp-bubble');
	var pageImages = {
		'page-home': [
			'doctor-matt.png','doctor-daron.png'
		],
		'page-insurance': [
			'doctor-liat.png','doctor-nicole.png'
		],
		'page-employment':[
			'super-toni.png'
		],
		'page-location':[
			'location-footer-image.png'
		]
	};
	
	if(bf){
		bf.click(toggleFpBubble);
		fp.click(hideFpBubble);
		$(document.body).click(hideFpBubble);
		fp.fadeTo(0,0);
		fp.hide();
	}
	
	var be = $('#btn-emergency');
	var eb = $('#emergency-bubble');
	
	if(be){
		be.click(toggleEmBubble);
		eb.click(hideEmBubble);
		$(document.body).click(hideEmBubble);
		eb.fadeTo(0,0);
		eb.hide();
	}
	
	if(pageId in pageImages){
		var imgs = pageImages[pageId];
		var pageImageNum = $.cookie('pageImage-'+pageId);
		var rNum = 0;
		
		if(pageImageNum){
			rNum = Math.round(pageImageNum + 1);
			if(rNum > (imgs.length - 1)){
				rNum = 0;
			}
		}
		
		$.cookie('pageImage-'+pageId,rNum);
		
		var docImage = imgs[rNum];
		
		$('#doctorImage').attr('src','assets/images/'+docImage);
	}
	
	switch(pageId){
		case 'page-services':
			$.ajax({
				url:'assets/json/services.js',
				complete: loadServicesList,
				dataType: 'json'
			});
			break;
		
	}
	
	Cufon.replace('.cufon');

	
});
