// JavaScript Document
// (c)TheDesignum - oikawa
// var OS = $.os.name;
// var UA = $.browser.name;

var common = {
	init: function() {
		staff.adjustFunc();
		navi.initFunc();
		ie6 = this.checkIE(6);
		//スクロール用の処理
		if(ie6 == true) {
			$('#header').css('position','absolute');
	    $(window).bind('scroll',function(){
				var scrollPos = $(window).scrollTop();
				$('#header').css({'top': scrollPos});
			});
		} else {
	    $(window).bind('scroll',function(){
				var scrollPos = $(window).scrollTop();
				navi.posFunc(scrollPos);
			});
		}
	},
	dominit: function() {
		ie6 = this.checkIE(6);
		//ie6用のpng透過処理
		if(ie6 == true) {
			$.getScript('./js/pngfix.js', function() {
			});
		}
		showcase.initFunc();
		staff.initFunc();
		map.initFunc();
		contact.initFunc();
	},
	scrollFunc: function () {
		$('#pagetop').click(function(){
			$('html,body').animate({scrollTop: 0}, {queue: false, duration: 500});
		});
	},
	checkIE: function(version) {
		version = arguments.length >= 1 ? parseInt(arguments[0]) : '';
    switch (version){
      case 6:
        return !jQuery.support.opacity && !jQuery.support.style && typeof document.documentElement.style.maxHeight == "undefined" ;
        break;
      case 7:
        return !jQuery.support.opacity && !jQuery.support.style && typeof document.documentElement.style.maxHeight != "undefined" ;
        break;
      case 8:
        return !jQuery.support.opacity && jQuery.support.style;
        break;
      case 9:
        return !jQuery.support.noCloneEvent && jQuery.support.opacity;
				break;
      default :
        return !jQuery.support.opacity;
    }
		return false;
	}
}

var navi = {
	initFunc: function() {
		posCat[0] = $('#outline').offset().top - 50;
		posCat[1] = $('#showcase').offset().top - 50;
		posCat[2] = $('#blog').offset().top - 50;
		posCat[3] = $('#staff').offset().top - 50;
		posCat[4] = $('#company').offset().top - 50;
		posCat[5] = $('#contact').offset().top - 50;
		this.clickFunc();
		var nowPos = location.href.split('#');
		if(nowPos[nowPos.length-1]) {
			var targetName = nowPos[nowPos.length-1];
			var targetPos = 0;
			switch (targetName){
				case 'outline':
					targetPos = 0;
					break;
				case 'showcase':
					targetPos = 1;
					break;
				case 'blog':
					targetPos = 2;
					break;
				case 'staff':
					targetPos = 3;
					break;
				case 'company':
					targetPos = 4;
					break;
				case 'contact':
					targetPos = 5;
					break;
				default :
					targetPos = 0;
	    }
			$('html,body').animate({scrollTop: posCat[targetPos]}, {queue: false, duration: 500, complete: function(){
				var scrollPos = $(window).scrollTop() + 50;
				navi.posFunc(scrollPos);
			}});
    }
		//this.mouseFunc();
	},
	clickFunc: function() {
		$('#menu .link').each(function(i){
			$(this).click(function(){
				//navi.focusFunc();
				//setTimeout(function(){$(this).addClass('focus'); alert('check');},1000);
				$('html,body').animate({scrollTop: posCat[i]}, {queue: false, duration: 500, complete: function(){
					var scrollPos = $(window).scrollTop() + 50;
					navi.posFunc(scrollPos);
				}});
			});
		});
	},
	posFunc: function(scrollPos) {
		if(scrollPos > posCat[5] && !$('#menu6').hasClass('focus')) {
			this.focusFunc();
			$('#menu6').addClass('focus');
		} else if(scrollPos > posCat[4] && scrollPos < posCat[5] && !$('#menu5').hasClass('focus')) {
			this.focusFunc();
			$('#menu5').addClass('focus');
		} else if(scrollPos > posCat[3] && scrollPos < posCat[4] && !$('#menu4').hasClass('focus')) {
			this.focusFunc();
			$('#menu4').addClass('focus');
		} else if(scrollPos > posCat[2] && scrollPos < posCat[3] && !$('#menu3').hasClass('focus')) {
			this.focusFunc();
			$('#menu3').addClass('focus');
		} else if(scrollPos > posCat[1] && scrollPos < posCat[2] && !$('#menu2').hasClass('focus')) {
			this.focusFunc();
			$('#menu2').addClass('focus');
		} else if(scrollPos > posCat[0] && scrollPos < posCat[1] && !$('#menu1').hasClass('focus')) {
			this.focusFunc();
			$('#menu1').addClass('focus');
		}
	},
	mouseFunc: function() {
		$("#niceBody").mousemove(function(event) {
  		var mousePos = event.pageY;
			navi.posFunc(mousePos);
		});
	},
	focusFunc: function() {
		$('#menu .link').each(function(i){
			$(this).removeClass('focus');
		});
	}
}

var showcase = {
	initFunc: function() {
		$("#adjust a").fancybox({
			'showCloseButton'	: false,
			'transitionIn'	:	'elastic',
			'transitionOut'	:	'elastic',
			'opacity' : true,
			'titlePosition' : 'over',
			'speedIn'		:	400, 
			'speedOut'		:	200
		});
	}
}

var staff = {
	initFunc: function() {
		var staffNow = 1;
		$('#staffNext').click(function(){
			staff.nextFunc();
		});
		$('#staffPrev').click(function(){
			staff.prevFunc();
		});
	},
	adjustFunc: function() {
		var blockHeight = 0;
		$('#profiles .block').each(function(i){
			if($(this).height() > blockHeight) blockHeight = $(this).height();
		});
		$('#profiles .block').each(function(i){
			$(this).css('height',blockHeight);
		});
	},
	nextFunc: function() {
		$('#profiles .block').each(function(i){
			if(i == 0) {
				var staffNow = parseInt($(this).attr('data-num')) + 1;
				if(staffNow > 7) staffNow = 1;
				$('#staffNow').html(staffNow);
				$(this).children('.item').css('float', 'left');
				$(this).animate({width: 0}, {queue: false, duration: 200, complete: function(){
					$(this).appendTo("#profiles");
				}});
			} else {
				$(this).animate({width: 244}, {queue: false, duration: 200});				
			}
		});
	},
	prevFunc: function() {
		var staffNow = $('#profiles .block:last-child').attr('data-num');
		$('#staffNow').html(staffNow);
		$('#profiles .block:last-child').children('.item').css('float', 'right');
		$('#profiles .block:last-child').css('width',0).prependTo('#profiles');
		$('#profiles .block').each(function(i){
			$(this).animate({width: 244}, {queue: false, duration: 200}, function(){});				
		});
	}
}

var map = {
	initFunc: function() {
		var officeA = new google.maps.LatLng(37.404573,140.364178);
		var officeB = new google.maps.LatLng(37.384115,140.388001);
    var myOptions = {
      zoom: 14,
      center: officeA,
			scrollwheel: false,
      mapTypeId: google.maps.MapTypeId.ROADMAP,
			mapTypeControl: 0
    };
    map = new google.maps.Map(document.getElementById("map"), myOptions);
		var markerA = new google.maps.Marker({
			position: officeA,
			map: map,
			title:"おおほり建設 本社"
		});
		var markerB = new google.maps.Marker({
			position: officeB,
			map: map,
			title:"おおほり建設 昭和営業所"
		});
		this.switchFunc();
	},
	switchFunc: function() {
		var officeA = new google.maps.LatLng(37.404573,140.364178);
		var officeB = new google.maps.LatLng(37.384115,140.388001);
		$('.toOffice').each(function(i){
			$(this).click(function(){
				var pos = $(this).attr('data-office');
				if(pos == 'officeA')	{
					map.panTo(officeA);
					
				} else {
					map.panTo(officeB);
				}
				$('.office').each(function(j){
					if(j==i) {
						$(this).css('display','block');
					} else {
						$(this).css('display','none');
					}
				});
				$('.toOffice').each(function(k){
					if(k==i) {
						$(this).addClass('focus');
					} else {
						$(this).removeClass('focus');
					}
				});
			});
		});
	}
}

var contact = {
	initFunc: function() {
		$('#contact .input').each(function(){
			if($(this).attr('value')) $(this).prev().hide();
		});
		$('#contact .label').bind('click', function(){
			if(!$(this).hasClass('cover4')) {
				$(this).hide();
				$(this).next().focus();
			}
		});
		$('#contact .input').bind('focus', function(){
			$(this).prev().hide();
		});
		$('#contact .input').bind('blur', function(){
			if(!$(this).attr('value')) $(this).prev().show();
		});
    $('#contact #check').change(function(){
			if($(this).is(':checked')) $(this).prev('label').css('background-position','left -50px');
			else $(this).prev('label').css('background-position','left top');

		});
		this.submitFunc();
	},
	submitFunc: function() {
    $("form").submit(function(){
			var valid = true;
			$('.input').each(function(i){
				var value = $(this).val();
				if(value == '') {
					$(this).css('background-color','#AA0000');
					valid = false;
				} else if($(this).attr('id') == 'mail') {
					if(!value.match(/\@/i)) {
						$(this).css('background-color','#AA0000');
						valid = false;
					} else {
						$(this).css('background-color','#999999');
					}
				}else {
					if($(this).attr('id') != 'submit') $(this).css('background-color','#999999');
				}
			});
			if(!$('#check').is(':checked')) {
				$('#check').prev().css('background-image','url(/wp-content/themes/ohori/images/contact/check2.gif)');
				valid = false;
			} else {
				$('#check').prev().css('background-image','url(/wp-content/themes/ohori/images/contact/check.gif)');
			}
			if(valid == true) {
				$.post("/inquiry.php", { name: $('#name').val(), mail: $('#mail').val(), tel: $('#tel').val(), asking: $('#asking').val(), check: true  },
					function(data) {
						$('#submit').val('送信成功');
						$('#result').empty().append(data).removeClass('none').css('padding','12px 0px 0px 0px');
					}
				);
				return true;
			}
			return false;
    });
	}
}

var ie6 = false, map, posCat = {};
$(document).ready(function(){ common.dominit() });
window.onload = function() {
	common.init();
};
