/*-  Mobile functions
----------------------------------------------------------------------*/ 

var mobile = (/iphone|ipad|ipod|android|blackberry|mini|windows\sce|palm/i.test(navigator.userAgent.toLowerCase()));
if(mobile) {
	$('html').addClass('mobile');
}

/*- JQuery Address
----------------------------------------------------------------------*/

var projectID;
$(function(){
 	$.address.init(function(e) {
		//console.log('init: ' + e.value);
		$('#projectSliderNav a').address();
	}).internalChange(function(e) {
		//console.log('internalChange: ' + e.value);
	}).externalChange(function(e) {
		//console.log('externalChange: ' + e.value);
		// Project slider functions
		if($('#workImages').length && e.value != '/' && $('.project').length > 1) {
	   	    projectPath = e.value.split('/');
	        projectPath = projectPath[(projectPath.length - 3)] + '/' + projectPath[(projectPath.length - 2)] + '/' + projectPath[(projectPath.length - 1)].split('?')[0];
	        if($('.project.active').attr('data-path') != projectPath) {
	        	var i = 1;
	        	$('.project').each(function(){
	        		if($(this).attr('data-path') == projectPath) {
	        			projectID = $(this).attr('id');
	        			backForwardProject(projectID);
	        			return false;
	        		} i++;
	        		if(i == $('.project').length) {
	        			refreshToProject(e.value);
	        		}
	        	});
	        }
	    } else if($('#workImages').length && e.value == '/' && $('.project').length > 1) {
			projectID = $('.project.active').prev().attr('id');
			backForwardProject(projectID);
	    } else {
	        return false;
	    }
	});
	$.address.autoUpdate(false);
});


/*-  Resize content based on browser size
----------------------------------------------------------------------*/ 

function adjustStyle(width){
	width = parseInt(width);
    var img_size = '.';
    if (width <= 1024) {
		$('#size-stylesheet').attr('href', $.address.state() + '_/styles/_resize/small.css');
		img_size = '_sm.';
    } else if ((width > 1024) && (width <= 1280)) {
        $('#size-stylesheet').attr('href', $.address.state() + '_/styles/_resize/medium.css');
        img_size = '_med.';
	} else {
       $('#size-stylesheet').attr('href', $.address.state() + '_/styles/_resize/large.css');
       img_size = '.';
	}
	
	//image resizing
	if(!$('html').hasClass('textPage')) {
		if($('#gridContainer img').length) {
			$('#gridContainer img').each(function() {
				var img_src = $(this).attr('src');
				var clean = img_src.replace('_med', '');
					clean = clean.replace('_sm', '');
				var filename = clean.substring(clean.lastIndexOf('/')+1);
					filename = filename.split('.');
				var path = clean.slice(0,clean.lastIndexOf('/')+1);
				var new_filename = path + filename[0] + img_size + filename[1];
				$(this).attr('src', new_filename);
			});
		}
	}
}

$(function(){
	var resizeTimer = null;
	$(window).resize(resizeGrid);
	function resizeGrid(){
		clearTimeout(resizeTimer);
		resizeTimer = setTimeout(resizeFinished, 200);
	}
	function resizeFinished() {
		adjustStyle($(this).width());
		setTimeout('adjustGrid()', 50);
	}
	resizeFinished();
});


/*-  Adjust Grid and reset sliders
----------------------------------------------------------------------*/
function adjustGrid(){
	if ($('html').hasClass('grid')){
		if($('#workImages').length){
			colMargin = parseFloat($('.workImage').css('margin-right'));
			slideWidth = parseFloat($('.workImage').css('width'));
			slideWidth = slideWidth + colMargin;
			count = $('.project.active .workImage:first-child');
			count = $('.workImage').index(count);
			leftPosition = -(count * slideWidth);
			$('#gridContainer').css('left', leftPosition);
		} else {
			$('#gridContainer').css('left', 0);
		}
		
		if(parseInt($('#itemCount').text()) > 1) {
			$('.arrowNext').addClass('active');
		}
		$('#itemCount').text(1);
	} else if($('html').hasClass('home')) {
		//$('.arrowBack').removeClass('active');
		//$('.arrowNext').addClass('active');
		$('#homeSlider').css('left', 24);
	}
}

/*-  Link arrows
----------------------------------------------------------------------*/ 

$(function(){
	$('.home article a, .descContent a').append(' &rsaquo;');
});


/*-  Form input placeholder text
----------------------------------------------------------------------*/ 

$(function(){
	$('label, input, textarea').live('click', function() {
		inputDiv = $(this).parent('div').attr('id');
		inputLabel = $('#' + inputDiv + ' label');
		
		if($('div.focus input, div.focus textarea').val() == '') {
			$('div.focus label').fadeIn('fast');
		} else {
			$('div.focus label').hide();
		}
		
		if(!$('#' + inputDiv).hasClass('focus')) {
			$('div.focus label').animate({'opacity': 1}, 200);
			$('div.focus').removeClass('focus');
			$('#' + inputDiv).addClass('focus');
			inputLabel.animate({'opacity': 0.2}, 200);
		}
		
		$('#' + inputDiv).find('input, textarea').focus();
	});
	
	$('input, textarea').live('keypress', function(e) {
		nextDiv = $(this).parent('div').next().attr('id');
		nextLabel = $('#' + nextDiv + ' label');
		
		if(e.keyCode != 9) {
			$(this).parent('div').find('label').hide();
		} else {
			nextLabel.click();
			$('#' + nextDiv).find('input, textarea').focus();
			e.preventDefault();
		}
	});
});



/*-  Ajax refine/reorder
----------------------------------------------------------------------*/ 

function articleReorder(){
	$('article').hide();
	var i = 0
	var n = $('article').length;
	function showarticles() {
		if(i <= n){ 
			$('article').eq(i).fadeIn(100, function(){ i++; showarticles(); });
		}		 
	} showarticles();		 
}


/*-  Email protection
----------------------------------------------------------------------*/ 

$(function(){
	if ($('span.mailme').length) {
		// variables, which will be replaced
		var at = / AT /;
		var dot = / DOT /g;
		
		// function, which replaces pre-made class
		$('span.mailme').each(function () {
			var addr = $(this).text().replace(at, '@').replace(dot, '.');
				addr = addr.split('#')[0];
			var linkText = $(this).text().split('#')[1];
				linkText = linkText.replace(at, '@').replace(dot, '.');
			
			$(this).after('<a href="mailto:' + addr + '">' + linkText + '</a>');
    		$(this).remove();
		});
	}
});

/*-  Launch share panel
----------------------------------------------------------------------*/

$(function(){
	$("#shareBtn").click(function(){
		var sharePath = $.address.state() + 'share?' + encodeURI($(this).attr('href'));
		var panelHeight = 400;
		
		if(!$(this).hasClass('active')) {
			$('#shareLoading').show();
			$('#shareBtn').animate({'opacity': 0.2}, 500);
			
			$('#sharePanel').load(sharePath, function() {
				$('#shareBtn').addClass('active');
				$('#sharePanel').animate({'height': panelHeight}, 500, 'swing', function() {
					$('#shareLoading').hide();
					$('#shareBtn').css('opacity', 1);
					$('#sharePanel form label').each(function(){
						labelText = $(this).text();
						$(this).attr('data-text', labelText);
					});
				});
			});
		} else {
			$(this).removeClass('active');	
			$('#sharePanel').animate({'height': 0}, 500, 'swing', function() {
				$('#sharePanel').html('');
			});
		}
		
		return false;
	});
});

/*-  Send share email
----------------------------------------------------------------------*/

$("#sharePanel input:submit").live('click', function(){
	sharePath = $.address.state() + 'share?' + encodeURI($("#shareBtn").attr('href'));
	var yourName = $('#name input').val();
	var fromEmail = $('#fromEmail input').val();
	var toEmail = $('#toEmail input').val();
	var message = $('#message textarea').val();
	var emptyerror = ': Please fill out this field.';
	var emailerror = ': Please enter a valid e-mail.';
	
	$('#share_form input, #share_form textarea').each(function() {
		var labelText = $(this).parent('div').find('label').attr('data-text');
		var fieldId = $(this).parent('div').attr('id');
		
		$(this).parent('div').find('label').text('');
		if($(this).val() == "") {
			$(this).parent('div').addClass('error');
			$(this).parent('div').find('label').text(labelText + emptyerror);
		} else if(fieldId == 'toEmail' || fieldId == 'fromEmail') {
			if(!/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(this.value)) {
				$(this).parent('div').addClass('error');
				$(this).val('');
				$(this).parent('div').find('label').show();
				$(this).parent('div').find('label').text(labelText + emailerror);
			} else {
				$(this).parent('div').removeClass('error');
			}
		} else {
			$(this).parent('div').removeClass('error');
		}
	});

	if ($(".form-input, .form-textarea").hasClass("error")) {
	    return false;
	} else {
		$.ajax({
	    	type: "POST",
	    	url: sharePath,
	    	data: {name: yourName, from_email: fromEmail, to_email: toEmail, message: message},
	    	dataType: "json",
	   		success: function(feedback){
	    		if(feedback.type == 'error') {
	    			$("#successMessage").text(feedback.message);
	    		} else {
	    			$(":input").attr("disabled", true);
	    			$("#form-buttons input").css("color", "#cccccc");
	    			$("#successMessage").text(feedback.message);
	    		}
	    	}
		});
	}
	return false;
});

/*-  Keyboard navigation
----------------------------------------------------------------------*/ 

$(function(){
	$(window).keypress(function(e) {
		if(e.keyCode == 39) {
			$('.arrowNext').click();
			e.preventDefault();
		} else if(e.keyCode == 37) {
			$('.arrowBack').click();
			e.preventDefault();
		}
	});
});


/*-  Filter grids
----------------------------------------------------------------------*/

function filterGrid(filter_by, obj, filterType) {
	var filterURL;
	var colCount;
	
	if(filterType == 'team') {
		filterURL = "agency/team/filter/";
		colCount = 18;
	}
	
	if(filterType == 'work') {
		filterURL = "work/filtered/";
		colCount = 9;
	}
	
	$.ajax({
	    type: "POST",
	    url: $.address.state() + filterURL + filter_by,
	    data: {filter: filter_by},
	   	success: function(filtered_grid){
	    	$('#gridContainer').fadeOut(300, function(){
	    		$('#gridContainer').html(innerShiv(filtered_grid)).show("fast", articleReorder());
	    		var count = Math.ceil($('#gridContainer article').length / colCount);
	    		if(count > 1) {
	    			$('#slideCount').html('<span id="itemCount">1</span> of ' + count);
	    			$('#sliderNav').html('<a class="arrowBack" href="#"><span>Back</span></a><a class="arrowNext active" href="#"><span>Next</span></a>');
	    		} else {
	    			$('#slideCount').html('');
	    			$('#sliderNav').html('');
	    		}
	    	});
	    	
	    	$('#bottom a').removeClass('active');
			$(obj).addClass('active');
		}
	});
}

/*-  Column Grid Slider
----------------------------------------------------------------------*/ 
$(function(){
	$('#sliderNav a').live('click', function(){
		var currentSlide = parseInt($('#itemCount').text());
	    var countText = parseInt($('#itemCount').text());
	    var count =  parseInt($('#itemCount').text());
	    
	    if($('#textContent').length){
	    	var articles = parseInt($('article').length);
	    	var colsLength = Math.ceil(articles);
	    	var colMargin = parseFloat($('article').css('margin-right'));
	    	var colPadding = parseFloat($('article').css('padding-right')) + parseFloat($('article').css('padding-left'));
	    	var colWidth = $('article').width();
	    	var slideWidth = colWidth + colMargin + colPadding;
	    } else if($('#team #gridContainer').length){
	    	var team = parseInt($('.col').length);
	    	var colsLength = Math.ceil(team / 6);
			var colMargin = parseFloat($('.col').css('margin-right'));
	    	var colWidth = $('.col').width();
	    	var slideWidth = 6 * (colWidth + colMargin);
	    } else {
	    	var cols = parseInt($('.col').length);
	    	var colsLength = Math.ceil(cols / 3);
	    	var colMargin = parseFloat($('.col').css('margin-right'));
	    	var colWidth = $('.col').width();
	    	var slideWidth = 3 * (colWidth + colMargin);
	    }
	    
	    if($(this).hasClass('arrowNext')) {	
	    	currentSlide = currentSlide + 1;
	    	if(currentSlide > colsLength) {
	    		return false;
	    	} else if(currentSlide == colsLength) {
	    		$('.arrowNext').removeClass('active');
	    		$('.arrowBack').addClass('active');
	    		var countText = parseInt(countText) + 1;
	    	} else {
	    		$('.arrowNext').addClass('active');
	    		$('.arrowBack').addClass('active');
	    		count = Math.abs(count);
	    		var countText = parseInt(countText) + 1;
	    	}
	    } else {
	    	if(currentSlide == 2) {
	    		$('.arrowBack').removeClass('active');
	    		count = Math.abs(count) - 2;
	    		var countText = parseInt(countText) - 1;
	    		$('.arrowNext').addClass('active');
	    	} else if(currentSlide == 1) {
	    		return false;
	    	} else {
	    		$('.arrowBack').addClass('active');
	    		$('.arrowNext').addClass('active');
	    		count = Math.abs(count) - 2;
	    		var countText = parseInt(countText) - 1;
	    	}
	    }
	    
	    $('#itemCount').text(countText);
	    slideGrid(count, slideWidth);
	    
	    return false;
	});
});


/*-  Project Detail Slider
----------------------------------------------------------------------*/ 

var count = 0;
var slideComplete = 1;
var slideData = 1;

$(function(){
	$('#projectSliderNav a').click(function(e){
		if($('#workImages').length){
			if($(this).attr('data-project-id')) {
					projectID = $(this).attr('data-project-id');
				var criteria = $(this).attr('data-sort').split(':')[0];
	    		var term = $(this).attr('data-sort').split(':')[1];
				var projectHref = $.address.state() + 'work/get_project/' + projectID;
				var projectData = $.address.state() + 'work/project_data/' + projectID + '/' + criteria + '/' + term;
				var projectBreadcrumb = $.address.state() + 'work/project_breadcrumb/' + projectID + '/' + criteria + '/' + term;
			}
			if($(this).attr('data-reset')) {
				var resetTo = $.address.state() + $(this).attr('data-reset');
			}
			var colMargin = parseFloat($('.workImage').css('margin-right'));
	    	var colWidth = $('.workImage').width();
	    	var slideWidth = colWidth + colMargin;
	    	var currentProject = $('.project.active').attr('id');
			var currentSlide = parseInt($('#itemCount').text());
			var countText = currentSlide;
	    	var projects = $('.project').length;
	    	var projectImages = $('#' + currentProject + ' .workImage').length;
	    	var projectLength = projectImages;
	    	var colsLength = Math.ceil($('.workImage').length);
	    }
	    
	    if($(this).hasClass('active') && slideComplete == 1 && slideData == 1) {
	    	slideComplete = 0;
	    	slideData = 0;
			if($(this).hasClass('arrowNext')) {
				currentSlide = currentSlide + 1;
				if(currentSlide > projectLength && projectLength > 1) {
					if(typeof resetTo != 'undefined') {
						window.location = resetTo;
	    			    return false;
	    			}
	    			if(typeof(projectID) === "undefined") {
	    				return false;
					} else {
						if(typeof resetTo === 'undefined') {
							updateProjectBreadcrumbs(projectBreadcrumb);
	    			    	if($('#project' + projectID + ' .workImage').length == 1) {
	    			    		if(count == colsLength - 2) {
	    			    			updateProjectData(projectData, projectHref, 'loadNext');
	    			    		} else {
	    			    			updateProjectData(projectData);
	    			    		}
	    			    	} else {
	    			    		updateProjectData(projectData, projectHref);
	    			    	}
	    			    	$('#project' + projectID).addClass('active');
	    			    	$('#' + currentProject).removeClass('active');
	    			    }
	    			}
	    			if(count < colsLength && projects > 1) {
	    				countText = 1;
					}
	    		} else if(currentSlide > projectLength && projectLength == 1) {
	    			if(typeof resetTo != 'undefined') {
						window.location = resetTo;
	    			    return false;
	    			} else if((count + 2) != colsLength) {
	    				updateProjectBreadcrumbs(projectBreadcrumb);
	    				updateProjectData(projectData);
	    				$('#project' + projectID).addClass('active');
	    				$('#' + currentProject).removeClass('active');
	    			} else {
	    				$('#loading').show();
						updateProjectBreadcrumbs(projectBreadcrumb);
	    				updateProjectData(projectData, projectHref, 'loadNext');
	    				$('#project' + projectID).addClass('active');
	    				$('#' + currentProject).removeClass('active');
	    			}
				} else if(currentSlide == projectLength) {
	    			if(typeof(projectID) === 'undefined') {
	    				$('.arrowBack').addClass('active');
	    				$('.arrowNext').removeClass('active');
	    				slideData = 1;
	    			} else if(typeof resetTo === 'undefined' && count == colsLength - 2) {
	    				$('#loading').show();
						loadProject('next', projectHref, projectID, currentProject);
					} else {
						$('.arrowBack').addClass('active');
	    				if(typeof(projectID) === "undefined") {
	    					$('.arrowNext').removeClass('active');
	    				}
	    				slideData = 1;
	    			}
	    			countText = parseInt(countText) + 1;
	    		} else {
	    			countText = parseInt(countText) + 1;
	    			slideData = 1;
	    			$('.arrowNext').addClass('active');
	    			$('.arrowBack').addClass('active');
	    		}
	    		count = count + 1;
	    	} else {
	    		if(currentSlide == 1 && count > 0) {
	    			updateProjectBreadcrumbs(projectBreadcrumb, projectID, 'end');
	    			updateProjectData(projectData, projectHref);
	    			$('#project' + projectID).addClass('active');
	    			$('#' + currentProject).removeClass('active');
	    			count = count - 1;
	    		} else if(count == 0) {
	    			$('#loading').show();
	    			updateProjectBreadcrumbs(projectBreadcrumb);
	    			updateProjectData(projectData, projectHref);
	    			loadProject('previous', projectHref, projectID, currentProject);
					if(projects > 10) {
						$('.project').each(function() {
			    			if($(this).index() > $('.project.active').index()) {
			    				$(this).remove();
			    			}
						});
					}
					return false;
	    		} else if(currentSlide == 2) {
	    			countText = parseInt(countText) - 1;
	    			count = count - 1;
	    			slideData = 1;
	    			$('.arrowNext').addClass('active');
	    			if(typeof(projectID) === "undefined") {
	    				$('.arrowBack').removeClass('active');
	    			}
	    		} else {
	    			countText = parseInt(countText) - 1;
	    			count = count - 1;
	    			slideData = 1;
	    			$('.arrowBack').addClass('active');
	    			$('.arrowNext').addClass('active');
	    		}
	    	}
	    	
	    	if($(this).hasClass('arrowNext') && projects > 15) {
			    $('#itemCount').text(countText);
				slideGrid(count, slideWidth);
			    setTimeout('unloadPreviousProjects()', 600);
			} else {
				$('#itemCount').text(countText);
				slideGrid(count, slideWidth);
			}
		}
		return false;
	});
});

/*-  Load Project after hash tag if specified - for unsupported browsers
----------------------------------------------------------------------*/

$(function(){
	if($('#workImages').length && window.location.hash != ''){
		loadHashProject(window.location.hash);
	}
});

function loadHashProject(hash) {
	projectHref = $.address.state() + hash.replace('#/', '');
	window.location = projectHref;
}

function refreshToProject(path) {
	window.location = path;
}


/*-  Unload Previous/Next Projects
----------------------------------------------------------------------*/

function unloadPreviousProjects() {
	$('.project').each(function() {
	    if($(this).index() < $('.project.active').index()) {
	    	$(this).remove();
	    }
	});
	count = 0;
	$('#gridContainer').css('left', 0);
}

function unloadNextProjects() {
	$('.project').each(function() {
	    if($(this).index() > $('.project.active').index()) {
	    	$(this).remove();
	    }
	});
}


/*-  Load in Previous/Next Project
----------------------------------------------------------------------*/ 

//Load in next project if current project has only one image
$(function(){
	projectID = $('.arrowNext').attr('data-project-id');
	if($('#workImages').length && typeof(projectID) != 'undefined' && $('.workImage').length == 1){
		var projectHref = $.address.state() + 'work/get_project/' + projectID;
		loadProject('next', projectHref, projectID);
	}
});

function loadProject(position, projectHref, projectID, currentProject) {
	if(position == 'next') {
		$.get(projectHref, function(data) { //Load in next project
			$("#workImages").append(data);
			$('#loading').fadeOut('fast');
			slideData = 1;
		});
	} else {
		if($('#project' + projectID).length >= 1) {
			unloadNextProjects();
			$.get(projectHref, function(data) {
				$("#workImages").prepend(data);
				$('#project' + projectID).addClass('active');
				$('#' + currentProject).removeClass('active');
				$('#loading').fadeOut('fast');
				count = $('#project' + projectID + ' .workImage').length;
				var leftPosition = -(count * slideWidth);
				$('#gridContainer').css('left', leftPosition);
				slideToStart(0, slideWidth);
				count = 0;
			});
			return false;
		} else {
			$.get(projectHref, function(data) {
				$("#workImages").prepend(data);
				$('#project' + projectID).addClass('active');
				$('#' + currentProject).removeClass('active');
				$('#loading').fadeOut('fast');
				count = $('#project' + projectID + ' .workImage').length;
				var leftPosition = -(count * slideWidth);
				$('#gridContainer').css('left', leftPosition);
				slideToStart(0, slideWidth);
				count = 0;
			});
		}
	}
}


/*-  Slide to Start of Project
----------------------------------------------------------------------*/ 

function slideToStart(count, slideWidth) {
	var leftPosition = -(count * slideWidth);
	$('#gridContainer').animate({'left': leftPosition}, 500, 'swing', function() {
		slideComplete = 1;
		slideData = 1;
	});
}


/*-  Go Back/Forward a Project
----------------------------------------------------------------------*/ 

function backForwardProject(projectID) {
	criteria = $('.arrowBack').attr('data-sort').split(':')[0];
	term = $('.arrowBack').attr('data-sort').split(':')[1];
	projectID = projectID.split('project')[1];
	
	projectData = $.address.state() + 'work/project_data/' + projectID + '/' + criteria + '/' + term;
	projectBreadcrumb = $.address.state() + 'work/project_breadcrumb/' + projectID + '/' + criteria + '/' + term;
	
	colMargin = parseFloat($('.workImage').css('margin-right'));
	colWidth = $('.workImage').width();
	slideWidth = colWidth + colMargin;
	
	updateProjectBreadcrumbs(projectBreadcrumb);
	updateProjectData(projectData);
	
	count = $('#project' + projectID + ' .workImage:first-child');
	count = $('.workImage').index(count);
	
	$('.project.active').removeClass('active');
	$('#project' + projectID).addClass('active');
	
	slideGrid(count, slideWidth);
	$('#loading').hide();
}


/*-  Update Project Breadcrumbs
----------------------------------------------------------------------*/

function updateProjectBreadcrumbs(projectBreadcrumb, projectID, position) {
	$.get(projectBreadcrumb, function(data) {
		$('#breadcrumb').html(data);
		if(position == 'end') {
			$('#itemCount').text($('#project' + projectID + ' .workImage').length);
		}
	});
}

/*-  Update Project Data
----------------------------------------------------------------------*/

function updateProjectData(projectData, projectHref, callback) {
	$.getJSON(projectData, function(data) {
	    $.address.title(data.project_page_title);
	    $('#shareBtn').attr('href', 'title=' + data.project_share_title + '&url=' + data.project_share_path);
	    $('.arrowBack').attr('data-project-id', data.project_prev_id);
	    $('.arrowBack').attr('href', data.project_prev_path);
	    $('.arrowNext').attr('data-project-id', data.project_next_id);
	    $('.arrowNext').attr('href', data.project_next_path);
		
		if(data.project_position != '') {
			$('.arrowNext').attr('data-reset', data.project_reset);
		}
		
		if(data.project_press != '') {
			$('#bottom').find('#pressBtn').remove();
			$('#bottom').prepend('<a href="' + data.project_press +'" id="pressBtn">Press</a>');
		} else {
			$('#bottom').find('#pressBtn').remove();
		}
		
		if(typeof(projectHref) != "undefined") {
			$.get(projectHref, function() { //Load in next project
				$.address.update();
				slideData = 1;
				if(callback == 'loadNext') {
					projectID = $('.arrowNext').attr('data-project-id');
	    			projectHref = $.address.state() + 'work/get_project/' + projectID;
	    			loadProject('next', projectHref, projectID);
	    		}
			});
		} else {
			slideData = 1;
		}
	});
}


/*-  Slide grid
----------------------------------------------------------------------*/

function slideGrid(count, slideWidth) {
	leftPosition = -(count * slideWidth);
	$('#gridContainer').animate({'left': leftPosition}, 500, 'swing', function() {
		slideComplete = 1;
	});
}


/*-  Home page slider + background swap
----------------------------------------------------------------------*/ 

$(function(){
	isComplete = 1;
	$('.dot').click(function() {
		var currentSlide = $('.dot.active').index();
		var nextSlide = $(this).index();
		
		if(!$(this).hasClass('active') && isComplete == 1) {
			isComplete = 0;
			$('.dot.active').removeClass('active');
			$('.dot:eq('+ nextSlide +')').addClass('active');
			
			$('.slide:eq('+ currentSlide +')').fadeOut(400, function() {
			    $('.slide.active').removeClass('active');
			    $('.slide:eq('+ nextSlide +')').fadeIn(400, function() {
			    	$(this).addClass('active');
			    	isComplete = 1;
			    });
			});
		
			if($('.backstretch').length > 0){
			    $.backstretch(bg[nextSlide]);
			    $('.backstretch').last().fadeOut(400,function(){
			        $('.backstretch').last().remove();
			        
			    });
			}
		}
		return false;
	});
});

function slideNext(){
	if($('.dot.active').index() + 1 == $('.dot').length) {
		$('.dot:first').click();
	} else {
		$('.dot.active').next().click();
	}
	return false;
}

$(window).load(function() {
	slideCount = $('.slide').length;
	if($('html').hasClass('home') && slideCount > 1) {
		var slideTimer = setInterval('slideNext()', 5000);
		$('.slide article').mouseenter(function(){
			clearInterval(slideTimer);
		});
		$('.slide article').mouseleave(function(){
			clearInterval(slideTimer);
			slideTimer = setInterval('slideNext()', 5000);
		});
		$('.dot').click(function(){
			clearInterval(slideTimer);
			slideTimer = setInterval('slideNext()', 5000);
		});
	}
});


/*-  Contact Page Map
----------------------------------------------------------------------*/ 

$(function() {
	if($('#map_canvas').length) {
		initialize();
		$('#mapInfoContent').parent().removeAttr('style');
		$('#mapInfoContent').parent().parent().removeAttr('style');
	}
});

function initialize() {
	var mbStyles = [
		{
    		featureType: "all"
    	}
	];
	var mbMapType = new google.maps.StyledMapType(mbStyles,
    	{name: "MiresBall"});
	var latlng = new google.maps.LatLng(32.73192, -117.169822);
	var centerlatlng =  new google.maps.LatLng(32.731272,-117.171679);
	var myOptions = {
		zoom: 18,
		center: centerlatlng,
		mapTypeId: google.maps.MapTypeId.ROADMAP,
		panControl: false,
		zoomControl: true,
		mapTypeControl: false,
		zoomControlOptions: {
			style: google.maps.ZoomControlStyle.MED,
			position: google.maps.ControlPosition.RIGHT_TOP
    	},
    	mapTypeControlOptions: {
      		mapTypeIds: [google.maps.MapTypeId.ROADMAP, 'miresball_bd']
    	}
    };
    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
    var marker = new google.maps.Marker({
		position: latlng, 
		map: map
	});
	
	var contentString = '<img src="' + $.address.state() + '_/images/streetview.jpg" border="0" id="streetview" />';

	var infowindow = new google.maps.InfoWindow({
    	content: contentString,
    	maxWidth: 300
    });
    
    google.maps.event.addListener(marker, 'click', function() {
		infowindow.open(map,marker);
	});
	
	map.mapTypes.set('miresball_bd', mbMapType);
  	map.setMapTypeId('miresball_bd');
}

