﻿/* ============================================================

Exec Functions

============================================================ */
$(document).ready(function(){
getUa();
smoothscroll('.pageTop',0,1000);

/* Google Map 
------------------------------------------------------------ */
if ($('#map_noborito').length || $('#map_shibuya').length){
	googleMapInit();
}

/* Data Picker
------------------------------------------------------------ */
if ($('#entryDate01').length || $('#entryData02').length || $('#entryDate03').length){
	$("#entryDate01").datepicker({dateFormat: 'yy/m/d'});
	$("#entryDate02").datepicker({dateFormat: 'yy/m/d'});
	$("#entryDate03").datepicker({dateFormat: 'yy/m/d'});
}

/* For iPhone, iPad, iPod Touch not to change font size.
------------------------------------------------------------ */
if (isAppleDevice) {
	$('body').css('-webkit-text-size-adjust','none');
}

/* Validation Settings for Entry Form
------------------------------------------------------------ */
if($('#entryform').length){
	$('#entryform').validate({
		errorPlacement: function(error, element) {
			if (element.attr('name') == 'entryName'){
				error.insertAfter('#entryName');
			} else if (element.attr('name') == 'entryNameKana'){
				error.insertAfter('#entryNameKana');
			} else if (element.attr('name') == 'entryMail'){
				error.insertAfter('#entryMail');
			} else if (element.attr('name') == 'entryMailRe'){
				error.insertAfter('#entryMailRe');
			} else if (element.attr('name') == 'entrySex'){
				error.insertBefore('tr.sex input:first');
			} else if (element.attr('name') == 'entryAge'){
				error.insertAfter('#entryAge');
			} else if (element.attr('name') == 'entryPlace'){
				error.insertBefore('.place ul');
			} else if (element.attr('name') == 'entrySt'){
				error.insertAfter('#entrySt');
			} else if (element.attr('name') == 'entryDate01'){
				error.insertAfter('#entryDate01');
			} else if (element.attr('name') == 'entryDate02'){
				error.insertAfter('#entryDate02');
			} else if (element.attr('name') == 'entryDate03'){
				error.insertAfter('#entryDate03');
			}
		},
		rules : {
			entryName : {
				required: true
			},
			entryNameKana : {
				required: true,
				kana: true
			},
			entryMail : {
				required: true,
				email: true
			},
			entryMailRe : {
				required: true,
				email: true,
				equalTo: '#entryMail'
			},
			entrySex : {
				required: true
			},
			entryAge : {
				required: true
			},
			entryPlace : {
				required: true
			},
			entryDate01 : {
				required: true,
				dateISO: true
			},
			entryDate02 : {
				required: true,
				dateISO: true
			},
			entryDate03 : {
				required: true,
				dateISO: true
			},
			entrySt : {
				required: function(){
					if($('#other').is(':checked')){
						return true;
					} else {
						return false;
					}
				}
			},
			entryInquiry : {
				maxlength : 10000
			}
		}
	});
	$('#entrySt').attr("disabled","disabled").addClass("gray");
	$('.place input').click(function(){
		if($('#other').is(":checked")){
			$('#entrySt').attr("disabled","").removeClass("gray");
			$('#entrySt').focus();
		} else {
			$('#entrySt').attr("disabled","disabled").addClass("gray");
		}
	});
	$('#studioShibuya,#studioNoborito').click(function(){
		if($('#entrySt~label').length){
			$('#entrySt~label').remove();
		}
	});
}

if($('#contactForm').length){
	$('#contactForm').validate({
		errorPlacement: function(error, element) {
			if (element.attr('name') == 'contactName'){
				error.insertAfter('#contactName');
			} else if (element.attr('name') == 'mail'){
				error.insertAfter('#mail');
			} else if (element.attr('name') == 'mailRe'){
				error.insertAfter('#mailRe');
			} else if (element.attr('name') == 'inquiry'){
				error.insertAfter('#contactForm textarea');
			}
		},
		rules : {
			contactName : {
				required: true
			},
			mail : {
				required: true,
				email: true
			},
			mailRe : {
				required: true,
				email: true,
				equalTo: '#mail'
			},
			inquiry : {
				required: true,
				maxlength : 2000
			}
		}
	});
}
});

/* ============================================================

Functions

============================================================ */
/* ユーザーエージェント取得
------------------------------------------------------------ */
function getUa(){
	ua = $.browser;
	u = navigator.userAgent;
	isAppleDevice = false;
	if(u.match(/iPhone/)){
		ua = "iPhone";
		isAppleDevice = true;
	} else if (u.match(/iPad/)){
		ua = "iPad";
		isAppleDevice = true;
	} else if (u.match(/iPod/)){
		ua = "iPod";
		isAppleDevice = true;
	}
}

/* Smooth Scroll
------------------------------------------------------------ */
/*
	This fanction requires userAgent value 'isAppleDevice'.
	To don't exec for iPhone, iPad, iPod.
*/
function smoothscroll(elem,offset,duration){
	if(!$(elem).length)	return false;
	$(elem).click(function(){
		s_scroll(offset,duration);
		return false;
	});
}
	/* スムーススクロールの移動処理 */
	function s_scroll(offset,duration){
		var sc_target = '';
		if(ua.opera){
			sc_target = 'html';
		} else if (isAppleDevice) {
			sc_target = 'html';
		} else {
			sc_target = 'html, body';
		}
		$(sc_target).animate({scrollTop: offset}, duration);
	}

/* Google Map初期化
------------------------------------------------------------ */
function googleMapInit() {
	/* 渋谷スタジオレッツ */
	var shibuyaCenter = new google.maps.LatLng(35.658517,139.701334);
	var studiolets = new google.maps.LatLng(35.656957,139.702201);
	var myOptions = {
		zoom: 15,
		center: shibuyaCenter,
		mapTypeId: google.maps.MapTypeId.ROADMAP
	}
	var map_shibuya = new google.maps.Map(document.getElementById("map_shibuya"), myOptions);
	var markerOptions = {
		position : studiolets,
		map : map_shibuya,
		title : "スタジオレッツ"
	};
	var marker_shibuya = new google.maps.Marker(markerOptions);

	/* イノウエホール */
	var noboritoCenter = new google.maps.LatLng(35.620783,139.569912);
	var inouehall = new google.maps.LatLng(35.618242,139.571269);
	var myOptions = {
		zoom: 15,
		center: noboritoCenter,
		mapTypeId: google.maps.MapTypeId.ROADMAP
	}
	var map_noborito = new google.maps.Map(document.getElementById("map_noborito"), myOptions);
	var markerOptions = {
		position : inouehall,
		map : map_noborito,
		title : "イノウエホール"
	};
	var marker_noborito = new google.maps.Marker(markerOptions);
}

