﻿window.addEvent('domready', function() {

	function show(){
		this.getElement('a').addClass('hover');
		this.getElement('ul').setStyle('display','block');
	}
	
	function hide(){
		this.getElement('a').removeClass('hover');
		this.getElement('ul').setStyle('display','none');
	}
	
	var listes = $$('#domaines li a');
	listes.each(function(e){
		if(e.getNext('ul')){
			e.getParent('li').addEvent('mouseenter', show);
			e.getParent('li').addEvent('mouseleave', hide);
		}
	});
	var listesDomaines = $$('#d-menu li a');
	listesDomaines.each(function(e){
		if(e.getNext('ul')){
			e.getParent('li').addEvent('mouseenter', show);
			e.getParent('li').addEvent('mouseleave', hide);
		}
	});
	
	
	var meaHome = $$('#mea-home li a');

	meaHome.each(function(e){

		var myFirstElement = new Element('span');
		myFirstElement.setProperty('class', 'link-more');
		myFirstElement.inject(e.getElement('span.description'), 'after');
		e.getElement('.link-more').innerHTML="&gt; "+savoirPlusTxt;
		var size;
		size = (e.getElement('.link-more').getSize().y)+(e.getElement('.description').getSize().y);

		e.addEvent('mouseenter', function(element){
			e.getElement('img').set('morph', {duration: 600, transition: 'cubic:out'});
			e.getElement('img').morph({bottom: -size});
		});
		e.addEvent('mouseleave', function(element){
			e.getElement('img').set('morph', {duration: 300, transition: 'cubic:out'});
			e.getElement('img').morph({bottom: '0px'});
		});

	});
	
	
	var diaporamas = $$('.diaporama');
	
	diaporamas.each(function(e){
		var diapoItems = e.getElements('.item');
		var diapoContent = e.getElement('.content');
		diapoContent.setStyle('width', diapoItems.length*240 + 'px');
		var currentItem = 0;
		var previousItem;
		e.getElements('a.next').addEvent('click', diapoNext);
		e.getElements('a.prev').addEvent('click', diapoPrev);
		function diapoPrev(event){
			previousItem=currentItem;
			currentItem-=1;
			diapoLink();
			diapoContent.set('morph', {duration: 700, transition: 'cubic:out'});
			diapoContent.morph({left: currentItem*(-240) + 'px'});
			event.stop();
		}
		function diapoNext(event){
			previousItem=currentItem;
			currentItem+=1;
			diapoLink();
			diapoContent.set('morph', {duration: 700, transition: 'cubic:out'});
			diapoContent.morph({left: currentItem*(-240) + 'px'});
			event.stop();
		}
		function diapoLink(){
			if(e.getElement('a.prev')){
				if(currentItem==0){
					e.getElement('a.prev').setStyle('display','none');
				}
				else{
					e.getElement('a.prev').setStyle('display','block');
				}
			}
			if(e.getElement('a.next')){
				if(currentItem==(diapoItems.length-1)){
					e.getElement('a.next').setStyle('display','none');
				}
				else{
					e.getElement('a.next').setStyle('display','block');
				}
			}
		}
		diapoLink();
	});
	
	
	var diaporamaVin = $$('.side-vins');
	
	diaporamaVin.each(function(e){
		var autoPlay = true;
		var playForward = true;
		var diapoItems = e.getElements('.item');
		var diapoContent = e.getElement('.content');
		diapoContent.setStyle('width', diapoItems.length*142 + 'px');
		var currentItem = 0;
		var previousItem;
		e.getElements('a.next').addEvent('click', function(e){
			autoPlay = false;
			diapoNext(e);
		});
		e.getElements('a.prev').addEvent('click', function(e){
			autoPlay = false;
			diapoPrev(e);
		});
		function diapoPrev(event){
			previousItem=currentItem;
			currentItem-=1;
			diapoLink();
			diapoContent.set('morph', {duration: 600, transition: 'cubic:out'});
			diapoContent.morph({left: currentItem*(-142) + 'px'});
			if(autoPlay){
				if(playForward){
					(function(){ if(autoPlay){diapoNext(); }}).delay(5000);
				}
				else{
					(function(){ if(autoPlay){diapoPrev(); }}).delay(5000);
				}
			}
			if(event){
				event.stop();
			}
		}
		function diapoNext(event){
			previousItem=currentItem;
			currentItem+=1;
			diapoLink();
			diapoContent.set('morph', {duration: 600, transition: 'cubic:out'});
			diapoContent.morph({left: currentItem*(-142) + 'px'});
			if(autoPlay){
				if(playForward){
					(function(){ if(autoPlay){diapoNext(); }}).delay(5000);
				}
				else{
					(function(){ if(autoPlay){diapoPrev(); }}).delay(5000);
				}
			}
			if(event){
				event.stop();
			}
		}
		function diapoLink(){
			if(e.getElement('a.prev')){
				if(currentItem==0){
					e.getElement('a.prev').setStyle('display','none');
					playForward = true;
				}
				else{
					e.getElement('a.prev').setStyle('display','block');
				}
			}
			if(e.getElement('a.next')){
				if(currentItem==(diapoItems.length-1)){
					e.getElement('a.next').setStyle('display','none');
					playForward = false;
				}
				else{
					e.getElement('a.next').setStyle('display','block');
				}
			}
		}
		diapoLink();
		if(diapoItems.length > 1){
			(function(){ if(autoPlay){diapoNext(); }}).delay(5000);
		}
	});
});

function isEmail(emailAddress){
	emailAddressValue=emailAddress.value.toLowerCase();
	var 			countryTLDs=/^(ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)$/;
	var gTLDs=/^(aero|biz|com|coop|edu|gov|info|int|mil|museum|name|net|org)$/;
	var basicAddress=/^(.+)@(.+)$/;
	var specialChars='\\(\\)><@,;:\\\\\\\"\\.\\[\\]';
	var validChars='\[^\\s'+specialChars+'\]';
	var validCharset='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\'-_.';
	var quotedUser='(\"[^\"]*\")';
	var atom=validChars+'+';
	var word='('+atom+'|'+quotedUser+')';
	var validUser=new RegExp('^'+word+'(\.'+word+')*$');
	var symDomain=new RegExp('^'+atom+'(\.'+atom+')*$');
	var matchArray=emailAddressValue.match(basicAddress);
	if(emailAddress.value==''||emailAddress==null){
		return true;
	}
	if(matchArray==null){
		alert('正しいメールアドレスを入力下さい。,\nシンタックスをご確認ください。.');
		emailAddress.focus();
		return false;
	}else{
		var user=matchArray[1];
		var domain=matchArray[2];
		for(i=0;i<user.length;i++){
			if(validCharset.indexOf(user.charAt(i))==-1){
				alert('メールアドレスに無効文字が含まれています。,\n＠の前の入力部をご確認ください。.');
				emailAddress.focus();
				return false;
			}
		}
		for(i=0;i<domain.length;i++){
			if(validCharset.indexOf(domain.charAt(i))==-1){
				alert('メールアドレスに無効文字が含まれています。,\n＠の後の入力部をご確認ください。.');
				emailAddress.focus();
				return false;
			}
		}
		if(user.match(validUser)==null){
			alert('正しいメールアドレスを入力下さい。,\n＠の前の入力部をご確認ください。.');
			emailAddress.focus();
			return false;
		}
		var atomPat=new RegExp('^'+atom+'$');
		var domArr=domain.split('.');
		var len=domArr.length;
		for(i=0;i<len;i++){
			if(domArr[i].search(atomPat)==-1){
				alert('正しいメールアドレスを入力下さい。,\n＠の後の入力部をご確認ください。.');
				emailAddress.focus();
				return false;
			}
		}
		if((domArr[domArr.length-1].length==2)&&(domArr[domArr.length-1].search(countryTLDs)==-1)){
			alert('正しいメールアドレスを入力下さい。,\nドメインサフィックスをご確認ください。.');
			emailAddress.focus();
			return false;
		}
		if((domArr[domArr.length-1].length>2)&&(domArr[domArr.length-1].search(gTLDs)==-1)){
			alert('正しいメールアドレスを入力下さい。,\nドメインサフィックスをご確認ください。.');
			emailAddress.focus();
			return false;
		}
		if((domArr[domArr.length-1].length<2)||(domArr[domArr.length-1].length>6)){
			alert('正しいメールアドレスを入力下さい。,\nドメインサフィックスをご確認ください。.');
			emailAddress.focus();
			return false;
		}
		if(len<2){
			alert('正しいメールアドレスを入力下さい。.');
			emailAddress.focus();
			return false;
		}
	}
	return true;
}


function verif_tipafriend(){
	var deb = "入力してください ";
	var fin = " 正しく登録を行うために";
	
	if(document.getElementsByName("YourName")[0].value == "" && document.getElementsByName("YourName")[1].value == ""){
   		alert(deb+"お名前"+fin);
		document.getElementsByName("YourName")[1].focus();	
   		return false;
  	}

	if(document.getElementsByName("YourEmail")[0].value == "" && document.getElementsByName("YourEmail")[1].value == ""){
   		alert(deb+"メールアドレス"+fin);
		document.getElementsByName("YourEmail")[1].focus();
   		return false;
  	}else{
		if(document.getElementsByName("YourEmail")[0].value!=""){
			if(!isEmail(document.getElementByName("YourEmail")[0])){
				
				return false;
			}
		}else{
			if(!isEmail(document.getElementsByName("YourEmail")[1])){
				return false;
			}
		}
	}
	
	
	if(document.getElementsByName("ReceiversEmail")[0].value == "" && document.getElementsByName("ReceiversEmail")[1].value == ""){
   		alert(deb+"受信者のメールアドレス"+fin);
		document.getElementsByName("ReceiversEmail")[1].focus();
   		return false;
  	}else{
		if(document.getElementsByName("ReceiversEmail")[0].value!=""){
			if(!isEmail(document.getElementByName("ReceiversEmail")[0])){
				return false;
			}
		}else{
			if(!isEmail(document.getElementsByName("ReceiversEmail")[1])){
				return false;
			}
		}
	}
	return true;
}
