var is_msie6 = $.browser.msie && $.browser.version == "6.0";
var is_ipad = navigator.userAgent.match(/iPad/i);
var is_iphone = navigator.userAgent.match(/iPhone/i);
var is_android = navigator.userAgent.match(/Android/i);

$(function(){
	/* preload */
	new Image().src = 'common/images/layout_bg.png';
	new Image().src = 'common/images/gnav_home_o.png';
	new Image().src = 'common/images/gnav_concepts_o.png';
	new Image().src = 'common/images/gnav_services_o.png';
	new Image().src = 'common/images/gnav_company_o.png';
	new Image().src = 'common/images/gnav_recruit_o.png';
	new Image().src = 'common/images/gnav_staff_o.png';
	new Image().src = 'common/images/f_img_fig.png';
	
	/* imgover */
	$('.imgover').rollover();
	/*
	$('.imgover').each(function() {
		var _target = $(this);
		
		if(!is_msie6 || (is_msie6 && !_target.hasClass('btn'))) {
			$(this).rollover();
		}
	});*/
	
	/* scroll */
	$('a[href^=#]').click(function(){
		var $t = $(this.hash);
		if (this.hash.length > 1 && $t.length) {
			$.scrollTo($t,700,{easing: 'easeOutQuad'});
			return false;
		}
	});
	
	/* bgScroll: if IE6, no background action */
	(function() {
		if(!is_msie6 || !is_iphone || !is_ipad || !is_android) {
			var $window = $(window);
			var $bgBase = $('#layout');
			var winHeight = $window.height();
			var docHeight = $(document).height();
			var dispHeight = docHeight - winHeight;
			var minY = winHeight - 3000;
			
			$bgBase.css('backgroundAttachment', 'fixed');
			
			function onScroll() {
				var st = $window.scrollTop();
				var p = Math.round(st / dispHeight * minY);
				$bgBase.css('backgroundPosition', '50% ' + p + 'px');
			}
			
			onScroll();
			$window.scroll(onScroll);
		}
	})();
	
	/* form */
	(function() {
		var $f = $('form');
		var $ta = $f.find('textarea');
		
		/* resize */
		if(!$ta.css('resize')) {
			$ta.autoResize().trigger('change');
		}
		
		/* placeholder */
		var supportsInputAttribute = function (attr) {
			var input = document.createElement('input');
			return attr in input;
		};
		
		if (!supportsInputAttribute('placeholder')) {
			$('[placeholder]').each(function () {
			  var
				input = $(this),
				placeholderText = input.attr('placeholder'),
				placeholderColor = 'GrayText',
				defaultColor = input.css('color');
			  input.
				focus(function () {
				  if (input.val() === placeholderText) {
					input.val('').css('color', defaultColor);
				  }
				}).
				blur(function () {
				  if (input.val() === '') {
					input.val(placeholderText).css('color', placeholderColor);
				  } else if (input.val() === placeholderText) {
					input.css('color', placeholderColor);
				  }
				}).
				blur().
				parents('form').
				  submit(function () {
					if (input.val() === placeholderText) {
					  input.val('');
					}
				  });
			});
		}
		
		/* validation */
		
	})();
	
});

$.event.add(window, "load", function(){
		var company = $('#company');
		var mapMain = company.find('#companyMapMain');
		var mapNav = company.find('#companyMapNav li a');
		var directionsPanel = company.find('#companyRoute');
		var directionsService = new google.maps.DirectionsService();
		var directionsDisplay = new google.maps.DirectionsRenderer({draggable: true});
		var infoWindow = new google.maps.InfoWindow();
		
		var mapOptions = {
			zoom: 16,
			scrollwheel: false,
			center: null,
			mapTypeId: google.maps.MapTypeId.ROADMAP,
			scaleControl: true
		};
		
		var mapObj = new google.maps.Map(mapMain.get(0), mapOptions);
		
		var ucd = "東京都中央区新富1-7-11 マルイビル3F";
		var request = {
			origin : mapNav.filter('.selected').attr('title'),
			destination : ucd,
			travelMode : google.maps.DirectionsTravelMode.WALKING
		};
		
		setRoute(request);
		
		//directionsDisplay.setMap(mapObj);
		//directionsDisplay.setPanel(directionsPanel.get(0));
		
		mapNav.click(function() {
			var _target = $(this)
			var _request = $.extend(request, { origin : _target.attr('title') });
			
			mapNav.removeClass();
			$(this).addClass('selected');
			
			setRoute(_request);
			
			return false;
		});
		
		function setRoute(aRequest) {
			directionsService.route(aRequest, function(result, status) {
				if(status == google.maps.DirectionsStatus.OK) {	
					directionsDisplay.setDirections(result);
					directionsDisplay.setMap(mapObj);
					//directionsDisplay.setPanel(directionsPanel.get(0));
				}
			});	
		}
});
