/**
 * utility functions
 * @author Hayato Tomoda
 * @website http://tomodian.com
 */

$().ready(function() {
	megaDropdown();
	replaceKeyvisual();
	clickableBoxes();
	runGallery();
	runFacebox();
	biggerLink();
	setCurrentLocation();
	global_nav();
});

/**
 * replaceKeyvisual()
 * wrap #keyvisual image and add watermark.
 */
function replaceKeyvisual() {
  /*
	$img = $('#keyvisual');
	$img.wrap('<div id="keyvisual-wrapper"></div>');
	$img.after('<div id="watermark">sagamiya</div>');
	*/
}
/**
 * runGallery()
 * runs gallery script when .ad-gallery exists.
 */
function runGallery() {
	var gallery = $('.ad-gallery');
	if(gallery) {
		var options = {
			loader_image: "/js/external/jquery.ad-gallery/loader.gif"
		};
		gallery.adGallery(options);
	}
}

/**
 * runFacebox()
 */
function runFacebox() {
	$('a[rel*=facebox]').facebox({});	
}

/**
 * addOpaqueOverlay()
 * overlays shadow to each localnavs.
 */
function addOpaqueOverlay() {
}

/**
 * biggerLink()
 * make block element clickable.
 */
function biggerLink() {
	var element = $('.biggerlink');
	if(element) {
		element.find('div').biggerlink();
		element.css('cursor', 'pointer');
	}
}

/**
 * megaDropdown()
 * make drop down list.
 */
function megaDropdown() {
	$('.nav .mega').hover(
		function() {
			$(this).find('ul').addClass('hover').show();
		},
		function() {
			$(this).find('ul').fadeOut().removeClass('hover');
		}
	);
}

/**
 * setCurrentLocation()
 * add .current into header nav.
 */
function setCurrentLocation() {
	var path = window.location.pathname;
	if(path.length > 1) {
		var url = path.split("/");
		var current = "/" + url[1] + "/";
		$('#header > .right > .nav > li > a').each(function(i) {
			if($(this).attr('href') == current) {
				$(this).addClass('current');
			}
		});
	}
}

/**
 * clickableBoxes()
 */
function clickableBoxes() {
	var box = $('.box');
	box.biggerlink();
	box.hover(
		function(){
			$(this).find('a').addClass('hover');
		},
		function(){
			$(this).find('a').removeClass('hover');
		}
	);
}

/**
 * draw_googlemap()
 * always read google api before using this function.
 * http://maps.google.com/maps/api/js?sensor=false
 */
function draw_googlemap(id) {
  var obj = "#" + id;
  var data = $(obj);
  var lat = data.attr("lat");
  var lng = data.attr("lng");
  var latlng = new google.maps.LatLng(lat, lng);
  var options = {
    zoom: 18,
    center: latlng,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  };
  var map = new google.maps.Map(document.getElementById(id), options);
  var marker = new google.maps.Marker({
    position: latlng,
    map: map
  });
}

/**
 * generate_googlemap_link()
 * always read google api before using this function.
 * http://maps.google.com/maps/api/js?sensor=false
 */
function generate_googlemap_link(id) {
  var obj = "#" + id;
  var data = $(obj);
  var lat = data.attr("lat");
  var lng = data.attr("lng");
  var url = "http://maps.google.co.jp/maps?q=" + lat + "," + lng;
  console.log($(obj));
  $(obj).attr("href", url);
}

function global_nav() {
	var url = location.href;
	var segments = url.split("/");
	var current = segments[3];
	// when url contains /contents/, use next item
	if(current == "contents") {
		current = segments[4];
	}
	
	var header = $("#header .nav li");
	header.each(function(){
		var nav_url = $(this).find("a").attr("href");
		var nav_uri = nav_url.split("/");
		if(nav_uri[1] == current) {
			$(this).addClass("current");
		}
	});
}


