﻿var timer = "";
var messageAlert = "";
//fonction pour tester la valeur numérique d'un champ (accepte les ".")
function isNum(idChamp)
	{
	n = document.getElementById(idChamp).value;
	if (!(isNaN (n)) == false)
		{
		nomChamp = getLabel(idChamp);
		var errmess = document.getElementById("error_number").innerHTML;
		messageAlert = messageAlert + "\n - " + nomChamp + " : " + errmess;
		document.getElementById(idChamp).style.border = "1px red solid" ;
		}
	else
		{
		document.getElementById(idChamp).style.border = "1px #ADB0B0 solid" ;
		}
	}
//fonction de controle des confirmation de valeur de champ
function controlEquivalence(idChamp1, idChamp2)
	{
	var valeur1 = document.getElementById(idChamp1).value;
	var valeur2 = document.getElementById(idChamp2).value;
	nomChamp1 = getLabel(idChamp1);
	nomChamp2 = getLabel(idChamp2);
	if(valeur1 != "" && valeur2 != "")//si les deux champs = "" on laisse faire controlMandatory
		{
		if(valeur1 != valeur2)
			{
			var errmess = document.getElementById("error_equivalence").innerHTML;
			messageAlert = messageAlert + "\n - " + nomChamp1 + " & " + nomChamp2 + " : " + errmess;
			document.getElementById(idChamp1).style.border = "1px red solid" ;
			document.getElementById(idChamp2).style.border = "1px red solid" ;
			}
		else
			{
			document.getElementById(idChamp1).style.border = "1px #ADB0B0 solid" ;
			document.getElementById(idChamp2).style.border = "1px #ADB0B0 solid" ;
			}
		}
	}
function controlValueIsSelected(element) {	
	if(document.getElementById(element).selectedIndex == 0 ||
		typeof(document.getElementById(element).options[document.getElementById(element).selectedIndex].value)=='undefined' ||
		isEmpty(trim(document.getElementById(element).options[document.getElementById(element).selectedIndex].value))){
			submitit = false;
			var errmess = document.getElementById("error_select_option").innerHTML;
			messageAlert = messageAlert + "\n - " + errmess;
			document.getElementById(element).parentNode.style.border = "1px red solid" ;
			document.getElementById(element).parentNode.style.width = "250px" ;
	}else{
		document.getElementById(element).parentNode.style.border = "none" ;
	}
}

function controlSubject(element) {	
	if(document.getElementById(element).selectedIndex == 0 ||
		typeof(document.getElementById(element).options[document.getElementById(element).selectedIndex].value)=='undefined' ||
		isEmpty(trim(document.getElementById(element).options[document.getElementById(element).selectedIndex].value))){
			submitit = false;
			var errmess = document.getElementById("error_select_option").innerHTML;
			messageAlert = messageAlert + "\n - " + errmess;
	}
}

function controlCity(element) {
	document.getElementById(element).style.border = "1px #ADB0B0 solid" ;
	controlValueIsSelected(element) ;
}
function controlClarinsAccount(areaEl, clarinsaccountEl) {
	document.getElementById(areaEl).style.border = "1px #ADB0B0 solid" ;
	document.getElementById(clarinsaccountEl).style.border = "1px #ADB0B0 solid" ;
	if (document.getElementById(areaEl).selectedIndex!=0) {
		controlValueIsSelected(clarinsaccountEl) ;
	}
}
function controlPrivacyPolice(element) {
	if (document.getElementById('privacypolicebis')) document.getElementById('privacypolicebis').style.border = "1px #ADB0B0 solid" ;
	if (!document.getElementById(element).checked) {
			submitit = false;
			var errmess = document.getElementById("error_check_policies").innerHTML;
			messageAlert = messageAlert + "\n - " + errmess;
			//document.getElementById(element).style.border = "1px red solid" ;
			if (document.getElementById('privacypolicebis')) document.getElementById('privacypolicebis').style.border = "1px red solid" ;
	}
}

//fonction de controle des champs email
function controlEmail(idChamp) 
	{ 
	var email = document.getElementById(idChamp).value.toLowerCase();
	var black_list = new Array ('@docomo.ne.jp','@softbank.ne.jp','@i.softbank.jp','@disney.ne.jp','@d.vodafone.ne.jp','@h.vodafone.ne.jp','@t.vodafone.ne.jp','@c.vodafone.ne.jp','@r.vodafone.ne.jp','@k.vodafone.ne.jp','@n.vodafone.ne.jp','@s.vodafone.ne.jp','@q.vodafone.ne.jp','@jp-d.ne.jp','@jp-h.ne.jp','@jp-t.ne.j','@jp-c.ne.jp','@jp-r.ne.jp','@jp-k.ne.jp','@jp-n.ne.jp','@jp-s.ne.jp','@jp-q.ne.jp','@ezweb.ne.jp','@XXX.biz.ezweb.ne.jp','@ido.ne.jp','@ezweb.ne.jp','@ezweb.ne.jp','@sky.tkk.ne.jp','@sky.tkc.ne.jp','@sky.tu-ka.ne.jp','@pdx.ne.jp','@emnet.ne.jp');
	
	var inter = 0;
	
	for(i=0;i<black_list.length;i++){
		if(email.indexOf(black_list[i])!= -1){
			inter = 1;
		}
	}
	
	//document.getElementById(idChamp).value = email;
    if ((email.search(/^[a-zA-Z0-9\-_]+[a-zA-Z0-9\.\-_]*@[a-zA-Z0-9\.\-_]+\.[a-zA-Z\.\-_]{1,}[a-zA-Z\-_]+$/) == -1) || (inter == 1))
	//[^._-]
        { 
       	nomChamp = getLabel(idChamp);
		var errmess = document.getElementById("error_email").innerHTML;
		messageAlert = messageAlert + "\n - " + nomChamp + " : " + errmess;
		document.getElementById(idChamp).style.border = "1px red solid" ;
      	} 
	else
		{
		document.getElementById(idChamp).style.border = "1px #ADB0B0 solid" ;
		}
	}
//fonction de controle des champs obligatoires
function controlMandatory(champ) {
	submitit = true;
	var errmess = "";
	if (document.getElementById("error_mandatory"))
		{
		var errmess = document.getElementById("error_mandatory").innerHTML;
		}
		else
	{
	var submitit = true;
	var errmess = "";
		}	
	if(document.getElementById("error_mandatory")!=null)
	var messBase = document.getElementById("error_mandatory").innerHTML;
	if(champ==undefined)//cas d'une liste de champ obligatoire dans un input hidden de la page
		{
		
		var dispStatut = '';
		var listeChamps;
		var nbChamps;
		
		if(document.getElementById('facturation')) {
			dispStatut = document.getElementById('facturation').style.display;
		}
		
		if(dispStatut == 'none' || dispStatut ==''){
			listeChamps = document.getElementById("mandatory_id").value.split("//");
			nbChamps = listeChamps.length;
		}else{
			listeChamps = document.getElementById("mandatoryId").value.split("//");
			nbChamps = listeChamps.length;
		}
		
		for(i=0;i<nbChamps;i++)
			{
			idChamp = listeChamps[i];
			//alert(idChamp);
			//if(document.getElementById(idChamp).value == "" ) 
			//alert(idChamp);
			idChampCopie=idChamp;
			if (document.address_form)
			if (i==nbChamps-1 && document.address_form.subject)idChamp= idChamp+document.address_form.subject.selectedIndex;
			if(isEmpty(trim(document.getElementById(idChamp).value)))
				{
				
					submitit = false;
				errmess = errmess + "\n - " + getLabel(idChampCopie) + " : " + messBase;//???????
						document.getElementById(idChamp).style.border = "1px red solid" ;
					}
			else
				{
				document.getElementById(idChamp).style.border = "1px #ADB0B0 solid" ;
				}
			}
		if(submitit == false)
			{
			messageAlert = messageAlert+errmess;
			}
		}
	else //cas du controle d'un seul champ
		{
		if(document.getElementById(champ).value == "") 
			{
			submitit = false;
			messageAlert = messageAlert + "\n - " + getLabel(champ) + " : " + messBase;
			document.getElementById(champ).style.border = "1px red solid" ;
			}
		else
			{
			document.getElementById(champ).style.border = "1px #ADB0B0 solid" ;
			}
		}
	}
	


function validSubmit()
	{
	if(messageAlert != "")
		{
		var message_base = document.getElementById("error_form").innerHTML;
		var msg_mandatory = document.getElementById("error_field_mandatory").innerHTML;
		alert(message_base + messageAlert +"\n "+msg_mandatory) ;
		return false;
		}
	else
		{
		return true
		}
	}
	
function getLabel(valeur)
	{
	var element_label = "";
	var txt_label = "";
	var liste = "";
	var nomChamp = "";
	//var formulaire = document.getElementById(nomform);
	for(var i=0; i<document.body.getElementsByTagName("label").length; i++ )
	 	{
		//determination de label a comparer
		element_label = document.body.getElementsByTagName("label")[i];
		//récupération de la valeur texte contenue dans le label
		txt_label = element_label.firstChild.nodeValue;
		//récupération de l'attribut for du label
		if(element_label.getAttribute("for"))
			{contFor = element_label.getAttribute("for");}
		else
			{contFor = element_label.getAttribute("htmlFor");}
		//liste = liste + "\n||" + valeur + "?=" + contFor + "||"; 
		//comparaison de l'attribut for a la valeur entree dans l'appel de fonction
		if(contFor == valeur) 
			{
			nomChamp = txt_label;
			break;
			}
		}
	return nomChamp;	
	}

function controleDiags(formname)
	{
	var nomObjet = "";
	var nb = 0;
	var n = 0;//nombre d'élément radio !=
	var m = 0;//nombre de questions avec checkbox
	var arrObjet = new Array(); //tableau contenant les différents nom d'objet et leur nombre d'occurence
	var test = false; 
	var presence = false;
	var complete = true;//variable définissant l'état completé ou non du formulaire
	var racine = "";
	//Etape 1 : identification des différents nom de radio et insertion dans un tableau js
	if(formname == undefined)
		{
		racine = document.body.getElementsByTagName("input");
		}
	else
		{
		racine = document.getElementById(formname).getElementsByTagName("input");
		}
		
	for(var i=0; i<racine.length; i++ )
	 	{
		elementRadio = racine[i];
		nomObjet = elementRadio.name;
		typeObject = elementRadio.type;
		if(typeObject == "radio" || typeObject == "checkbox")
			{
			presence = false;
			if(typeObject == "checkbox")
				{
				arrNomQuestion = nomObjet.split("_");
				nomObjet = arrNomQuestion[0];
				}
			for(j=0;j<n;j++)//parcours des noms de radio button deja testés
				{
				if(arrObjet[j][0] == nomObjet) 
					{
					presence = true;
					nb = arrObjet[j][1] + 1;
					arrObjet[j][1] = nb;
					break;
					}
				}
			if(presence == false)
				{
				arrObjet[n] = new Array(3);
				arrObjet[n][0] = nomObjet;
				arrObjet[n][1] = 1;
				arrObjet[n][2] = typeObject;
				n = n+1;
				}
			}
		}
	//etape 2 : tests des checked
	for(i=0;i<n;i++)
		{
		nb = arrObjet[i][1];
		test = false;
		for(k=0;k<nb;k++)
			{
			nomObjet = arrObjet[i][0]+"_"+(k+1);
			//alert("objet : "+nomObjet);
			test = document.getElementById(nomObjet).checked;
			if(test == true)
				{
				break;
				}
			}
		if(test == false) complete = false;
		}
	
	if(complete == false)
		{
		messageAlert = "\n - " + document.getElementById("error_diags_mandatory").innerHTML;
		}
	}

function controlSequence(champ1,champ2)
	{
	if(document.getElementById(champ1).value == "")
		{
		document.getElementById(champ1).value = document.getElementById(champ2).value;
		document.getElementById(champ2).value = "";
		}
	}
function changeSelect(champ1, idContainer, url)
	{
	var valeurSelect = encodeURIComponent(document.getElementById(champ1).value);
	
	affichDetail(url+valeurSelect, idContainer);
	}
	
function controlAccept(champ, divError)
	{
	if(document.getElementById(champ).checked == false)
		{
		document.getElementById(divError).className = "";
		return false
		}
	else
		{
		document.getElementById(divError).className = "off";
		return true;
		}
	}
	
function clearValue () {
	var inputvalue = document.getElementsByTagName("input");
	for(var i=0; i<inputvalue.length; i++ )
	{
		var boucle = inputvalue[i];
		if(boucle.type == 'text' && boucle.defaultValue) {
			boucle.onfocus = function(){
				this.value='';
			};
			boucle.onblur = function(){
				if(/^\s*$/.test(this.value)) {this.value=this.defaultValue;}
			};
		}
	}
}

//addEvent(window, "load", clearValue );	
	
	
// ---------------------------------------------------------
// Phone number formatter, created for Foodry
// For more info, visit:
// http://www.foodry.com/blog
// control de champs Téléphone pour l'us uniquement
// ---------------------------------------------------------
function formatPhone(elm, e) {
	e = e || window.event || null;

    // If used in onkeypress, pass in the event and this will
    // grab the character and do the right thing. This allows
    // for a smoother user experience than if the chars are
    // being visibly deleted.
    if (e) {
        var keychar, keynum;
        if (e.keyCode) {
            keynum = e.keyCode ;
        }
        else if (e.which) {
            keynum = e.which ;
        }

        keychar = String.fromCharCode(keynum)
    } 
    if(keynum && (keynum == 9 || keynum == 8)) {
    	return true;
    } else {
        //var p = elm.value + keychar;
        //elm.value = p;
        //alert(keynum+":"+keychar) ;
        //if (keynum==57) alert("space") ;
        if (isNaN(keychar) || keynum == 32) return false;
        else return true ;
    }
}
function isValidInt(element){
	
	var num = document.getElementById(element).value;
	if (num !="")
	{
		if (isNaN(num))
		{
			submitit = false;
			
			
				messageAlert = messageAlert + "\n- number format invalid ";
				
			document.getElementById(element).style.border = "1px red solid" ;
		}
		return num == parseInt(num);
		}
	return true;
}
function controlZipCode(idChamp)
	{
	n = document.getElementById(idChamp).value;
	if(n.indexOf('-')!=-1){
		n = n.replace("-","");
	}
	
	if ( n.length < 3)
		{
			nomChamp = getLabel(idChamp);
			
			var errmess = document.getElementById("error_control_zip").innerHTML;
				
			messageAlert = messageAlert + "\n - " + nomChamp + " : " + errmess;
		
			document.getElementById(idChamp).style.border = "1px red solid" ;
		}
	
	else	
		{
		document.getElementById(idChamp).value = n;
		isValidInt(idChamp);
		}
	}
function controlPhone(idChamp){
	n = document.getElementById(idChamp).value;
	if ( n.length > 20){
		nomChamp = getLabel(idChamp);
		var errmess = document.getElementById("error_number").innerHTML;
		messageAlert = messageAlert + "\n - " + nomChamp + " : " + errmess;
		document.getElementById(idChamp).style.border = "1px red solid" ;
	 }else if ( n.length == 0){
		nomChamp = getLabel(idChamp);
		if (document.getElementById("error_mandatory"))
		{
			var errmess = document.getElementById("error_mandatory").innerHTML;
		}
		else
		{
			var errmess ="";
		}
		messageAlert = messageAlert + "\n - " + nomChamp + " : " + errmess;
		document.getElementById(idChamp).style.border = "1px red solid" ;
	}else{
		if ( n.length < 8)
		{
		controlMinSize(idChamp,'8');
		}
		else
		document.getElementById(idChamp).style.border = "1px #ADB0B0 solid" ;
	}
}
function isEmpty(id) {
	if (typeof(id) == "string") {
		return !id.match(/[^\s]/);
	}
	else {
		return (id)?(false):(true);
	}
}
function trim(inword) {
   word = inword.toString();
   var i=0;
   var j=word.length-1;
   while(word.charAt(i) == " ") i++;
   while(word.charAt(j) == " ") j--;
   if (i > j) {
		return word.substring(i,i);
	} else {
		return word.substring(i,j+1);
	}
}

function controlPass(idChamp){
	if(document.getElementById(idChamp)){
		document.getElementById(idChamp).style.border = "1px #ADB0B0 solid" ;
		n = document.getElementById(idChamp).value;
		
		if (n.length<6) controlMinSize(idChamp, 6) ;
	}	
}

/* Last name Kanji check */
function KanjiCheck(id) {
	var str = document.getElementById(id).value;
	if( str.match( /[0-9a-zｧ-ﾝｰA-Z\s./#&()/-]+/ ) ) {
		nomChamp = getLabel(id);
		if (document.getElementById("error_mandatory"))
		{
			var errmess = document.getElementById("error_check_kanji").innerHTML;
		}
		else
		{
			var errmess ="";
		}
		messageAlert = messageAlert + "\n - " + nomChamp + " : " + errmess;
		document.getElementById(id).style.border = "1px red solid" ;
	}
}

/* half zise Katakana check */
function KanaCheck(id) {
	var str = document.getElementById(id).value;
	if( str.match( /[^ーァ-ン]+/ ) ) {
		nomChamp = getLabel(id);
		if (document.getElementById("error_mandatory"))
		{
			var errmess = document.getElementById("error_check_kana").innerHTML;
		}
		else
		{
			var errmess ="";
		}
		messageAlert = messageAlert + "\n - " + nomChamp + " : " + errmess;
		document.getElementById(id).style.border = "1px red solid" ;
	}
}

/* Address1 input check */
function Address1Check(id) {
	var str = document.getElementById(id).value;
	if( str.match( /[0-9ｧ-ﾝｰ\s./#&()/-]+/ ) ) {
		nomChamp = getLabel(id);
		if (document.getElementById("error_mandatory"))
		{
			var errmess = document.getElementById("error_mandatory").innerHTML;
		}
		else
		{
			var errmess ="";
		}
		messageAlert = messageAlert + "\n - " + id + " : " + errmess;
		document.getElementById(id).style.border = "1px red solid" ;
	}
}

function Address2Check(id) {
	var str = document.getElementById(id).value;
	if( str.match( /[0-9\s./#&()/-]+/ ) ) {
		nomChamp = getLabel(id);
		if (document.getElementById("error_mandatory"))
		{
			var errmess = document.getElementById("error_mandatory").innerHTML;
		}
		else
		{
			var errmess ="";
		}
		messageAlert = messageAlert + "\n - " + id + " : " + errmess;
		document.getElementById(id).style.border = "1px red solid" ;
	}
}

function controlAddress(idChamp){
	if(document.getElementById(idChamp)){
		n = document.getElementById(idChamp).value;
		//alert(idChamp);
		if (n.length > 30){
			nomChamp = getLabel(idChamp);
			var errmess = document.getElementById("error_number").innerHTML;
			messageAlert = messageAlert + "\n - " + nomChamp + " : " + errmess;
			document.getElementById(idChamp).style.border = "1px red solid" ;
		}else if(idChamp == 'address_line_1' && n.length == 0){
			nomChamp = getLabel(idChamp);
			if (document.getElementById("error_mandatory")){
				var errmess = document.getElementById("error_mandatory").innerHTML;
			}else{
				var errmess ="";
			}
			//var errmess = document.getElementById("error_mandatory").innerHTML;
			messageAlert = messageAlert + "\n - " + nomChamp + " : " + errmess;
			document.getElementById(idChamp).style.border = "1px red solid" ;
		}else{
			document.getElementById(idChamp).style.border = "1px #ADB0B0 solid" ;
		}
	}	
}
//fonction pour vérifier la validité de la date passée	

function validateDate(day,month,year){  
	var daySelect = document.getElementById(day).value;
	var monthSelect = document.getElementById(month).value;
	var yearSelect = document.getElementById(year).value;
	var errmess = document.getElementById("error_date_format").innerHTML;
	if(document.getElementById("storeId"))
		var strId=parseInt(document.getElementById("storeId").value);
	
	if(document.getElementById(day).selectedIndex == 0 || document.getElementById(month).selectedIndex == 0 || document.getElementById(year).selectedIndex == 0) {
		
		messageAlert = messageAlert + "\n - " + errmess;
		document.getElementById(day).style.border = "1px #ADB0B0 solid" ;
		document.getElementById(month).style.border = "1px #ADB0B0 solid" ;
		document.getElementById(year).style.border = "1px #ADB0B0 solid" ;
		return;
	}
	
	if((daySelect != "") && (monthSelect != "") && (yearSelect != "")){
		var datTest_Date = new Date(yearSelect, monthSelect-1, daySelect);
		if ((daySelect != datTest_Date.getDate()) || (monthSelect-1 != datTest_Date.getMonth()))
		 { 
		messageAlert = messageAlert + "\n-" + errmess;	
		document.getElementById(day).style.border = "1px #ADB0B0 solid" ;
		document.getElementById(month).style.border = "1px #ADB0B0 solid" ;
		document.getElementById(year).style.border = "1px #ADB0B0 solid" ;
		 }
	}
	
	
	/*
	var today=new Date();
	var birthdate=new Date(yearSelect, monthSelect-1, daySelect); //Month is 0-11 in JavaScript
	var age = today.getFullYear() - yearSelect;
	var annivDate = new Date(today.getFullYear(), monthSelect-1, daySelect); 
      // Si pas encore passé, retirer 1 an
    if (annivDate> today)  age--;
	if(age<18){
		if (document.getElementById("error_legal_age")){
			messageAlert = messageAlert + "\n - " + document.getElementById("error_legal_age").innerHTML;
		}
		else{
		messageAlert = messageAlert + "\n - " + "You haven't the legal age yet, you are a minor";
		}
		
	}
	*/	
}

function validateDateExpir(month,year) {
	var errmess = document.getElementById("error_date_expiration").innerHTML;
	var monthUser = parseInt(document.getElementById("expiry-month").value);
	var yearUser = parseInt(document.getElementById("expiry-year").value);

	if (yearUser < year) {
	    messageAlert = messageAlert + "\n-" + errmess;
		document.getElementById("expiry-month").style.border = "1px red solid" ;
		document.getElementById("expiry-year").style.border = "1px red solid" ;
		return;
    }
    else if ( yearUser == year)
    {
    	if(monthUser < month) {
	    	messageAlert = messageAlert + "\n-" + errmess;
			document.getElementById("expiry-month").style.border = "1px red solid" ;
			document.getElementById("expiry-year").style.border = "1px red solid" ;
			return;
    	}
    }
    else{
		document.getElementById("expiry-month").style.border = "1px #ADB0B0 solid" ;
		document.getElementById("expiry-year").style.border = "1px #ADB0B0 solid" ;
		}
}

function latinAlphabet(element) {
	var maReg = new RegExp("^[a-zA-Z][ a-zA-Z]*[a-zA-Z]$", "gi");
	var name = document.getElementById(element);
	var errmess = document.getElementById("error_name_payment").innerHTML;
	if ((name.value.search(maReg)) == -1 || (name.value == '')) {
        messageAlert = messageAlert + "\n-" + errmess;
        document.getElementById(element).style.border = "1px red solid" ;
    }
    else {
        document.getElementById(element).style.border = "1px #ADB0B0 solid" ;
    }
}

function controlMinSize(element,size){
	var val = document.getElementById(element).value;
	var errmess = document.getElementById("error_minimum_length_size").innerHTML;
	if (utf8StringByteLength(trim(val)) < size){
			submitit = false;
			messageAlert = messageAlert + "\n - " + getLabel(element) + " : " + errmess + "(" + size + ")";
			document.getElementById(element).style.border = "1px red solid" ;
	} else {
			document.getElementById(element).style.border = "1px #ADB0B0 solid" ;
	}
}
function utf8StringByteLength(UTF8String) {
  if (UTF8String === null) return 0;
  var str = String(UTF8String);
  var oneByteMax = 0x007F;
  var twoByteMax = 0x07FF;
  var byteSize = str.length;

  for (i = 0; i < str.length; i++) {
    chr = str.charCodeAt(i);
    if (chr > oneByteMax) byteSize = byteSize + 1;
    if (chr > twoByteMax) byteSize = byteSize + 1;
  }
  return byteSize;
}

 // format zip
function formatZip(elm, e) {
	e = e || window.event || null;
	
	// If used in onkeypress, pass in the event and this will
	// grab the character and do the right thing. This allows
	// for a smoother user experience than if the chars are
	// being visibly deleted.
		if (e) {
		var keychar, keynum;
		if (e.keyCode) {
			keynum = e.keyCode ;
		}
		else if (e.which) {
			keynum = e.which ;
		}
		
		keychar = String.fromCharCode(keynum);
	}
	if(keynum && (keynum == 9 || keynum == 8)) {
		return true;
	} else {
		if (isNaN(keychar) || keynum == 32) return false;
		else
		{
			var p = elm.value;
			if (p.length ==3) {
				p = p+"-";
			}
			elm.value = p;
			return true;
		}
	}
}
 /* full size Katakana check */
function KanaFullCheck(id) {
if( document.getElementById(id) && !isEmpty(trim(document.getElementById(id).value)))
		{
		var str = document.getElementById(id).value;
		var exist = false;
		if (str.match( /^[\u30A0-\u30FB\sー./]+$/ ) )
			exist = true;
		
		if(!exist || str.match([' '])) {
			nomChamp = getLabel(id);
			if (document.getElementById("error_check_full_kana"))
			{
				var errmess = document.getElementById("error_check_full_kana").innerHTML;
			}
			else
			{
				var errmess ="";
			}
			messageAlert = messageAlert + "\n - " + nomChamp + " : " + errmess;
			document.getElementById(id).style.border = "1px red solid" ;
		}
	}
}



/* half Numeric Phone */
function numPhoneHalfCHeck(number){
	if( document.getElementById(number) && !isEmpty(trim(document.getElementById(number).value)))
	{
		var str = document.getElementById(number).value;
		var exist = true;
		nomChamp = getLabel(number);
		if( str.match( /[^0-9- ]+/ ) ) 
			exist = false; 
			
		if(!exist){
			var errmess = document.getElementById("error_half_size_phone").innerHTML;
			messageAlert = messageAlert + "\n - " + nomChamp + " : " + errmess;
			document.getElementById(number).style.border = "1px red solid" ;
			return false;
		}else{
			document.getElementById(number).style.border = "1px #ADB0B0 solid" ;
			controlPhone(number);
		}
		
	}
}

/* half Numeric Zip Code */
function numZipHalfCHeck(number){
if( document.getElementById(number) && !isEmpty(trim(document.getElementById(number).value)))
	{
		var str = document.getElementById(number).value;
		var exist = true;
		nomChamp = getLabel(number);
		if( str.match( /[^0-9-]+/ ) ) 
			exist = false; 
			
		if(!exist){
			var errmess = document.getElementById("error_half_size_zip").innerHTML;
			messageAlert = messageAlert + "\n - " + nomChamp + " : " + errmess;
			document.getElementById(number).style.border = "1px red solid" ;
			return false;
		}else{
			document.getElementById(number).style.border = "1px #ADB0B0 solid" ;
			controlZipCode(number);
		}
		
	}
}


/* full width email */
function mailHalfCheck(mail){
	if( document.getElementById(mail) && !isEmpty(trim(document.getElementById(mail).value)))
	{
		var str = document.getElementById(mail).value;
		var exist = true;
		nomChamp = getLabel(mail);
		if (str.match(/^[a-zA-Z0-9@\.\-_]+/))
		 exist = false;
		
		if(exist || str.match([' '])){
			var errmess = document.getElementById("error_half_size_mail").innerHTML;
			messageAlert = messageAlert + "\n - " + nomChamp + " : " + errmess;
			document.getElementById(mail).style.border = "1px red solid" ;
			return false;
		}else{
			document.getElementById(mail).style.border = "1px #ADB0B0 solid" ;
			controlEmail(mail);
		}
		
	}
}

/* full Width */
function allFullSize(champ) {
	if( document.getElementById(champ) && !isEmpty(trim(document.getElementById(champ).value)))
	{
		var str = document.getElementById(champ).value;
		var exist = false;
		nomChamp = getLabel(champ);
		if (champ.toLowerCase() == "firstname" || champ.toLowerCase() == "lastname" || champ.toLowerCase() == "firstname2" || champ.toLowerCase() == "lastname2"){
			if(str.match(/[0-9\uFF10-\uFF19]/)){
				var errmess = document.getElementById("error_no_number").innerHTML;
				messageAlert = messageAlert + "\n - " + nomChamp + " : " + errmess;
				document.getElementById(champ).style.border = "1px red solid" ;
				return false;
			}
			if(str.match(/[\u0393\u0394\u0398\u0401\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u0451\u2010\u2015\u2225\u2018\u2019\u2020\u2021\u2025\u2026\u2030\u2032\u2033\u2103\u2190\u2191\u2192\u2193\u2200\u2202\u2203\u2207\u2208\uFF0D\u2220\u2227\u2228\u2229\u2234\u2235\u2252\u2260\u2261\u2266\u2267\u2282\u2283\u2286\u2287\u2312\u2500\u2501\u2502\u2503\u2510\u2513\u2514\u2517\u2518\u2520\u2523\u2524\u2525\u2528\u2530\u2533\u2534\u2537\u2538\u2542\u2605\u2606\u2640\u2642\u3001\u3002\u3003\u3005\u3006\u3007\u3008\u3009\u3010\u3011\u3012\u3013\u3014\u3015\u2460\u2461\u2462\u2463\u2464\u2465\u2466\u2467\u2468\u2469\u246A\u246B\u246C\u246D\u246E\u246F\u2470\u2471\u2472\u2473\u2160\u2161\u2162\u2163\u2164\u2165\u2166\u2167\u2168\u2169\u30FB\u3349\u3314\u3322\u334D\u3318\u3327\u3303\u3336\u3351\u3357\u330D\u3326\u3323\u332B\u334A\u333B\u339C\u339D\u339E\u338E\u338F\u33C4\u33A1\u337B\u301D\u301F\u2116\u33CD\u2121\u32A4\u32A5\u32A6\u32A7\u32A8\u3231\u3232\u3239\u337E\u337D\u337C\u2252\u2261\u222B\u222E\u2211\u221A\u22A5\u2220\u221F\u22BF\u2235\u2229\u222A\uFF3C\uFFE0\uFFE1\u00A7\u00A8\uFFE2\u00B0\u00B1\u00B4\u00B6\u00D7\u00F7\u039B\u039E\u039F\u03A0\u03A3\u03A6\u03A8\u03A9\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3\u03C4\u03C5\u03C6\u03C7\u03C8\u03C9\u041A\u041B\u041C\u041D\u041E\u041F\u042A\u042B\u042C\u042D\u042E\u042F\u043A\u043B\u043C\u043D\u043E\u043F\u044A\u044B\u044C\u044D\u044E\u044F\u201C\u201D\u203B\u212B\u21D2\u21D4\u220B\u221A\u221D\u221E\u222A\u222B\u222C\u223D\u226A\u226B\u22A5\u250C\u250F\u251B\u251C\u251D\u252B\u252C\u252F\u253B\u253C\u253F\u254B\u25A0\u25A1\u25B2\u25B3\u25BC\u25BD\u25C6\u25C7\u25CB\u25CE\u25CF\u25EF\u266A\u266D\u266F\u300A\u300B\u300C\u300D\u300E\u300F\uFF5E \u309B\u309C\u309D\u309E\u30FB\u30FC\u30FD\u30FE\u4EDD\uFF01\uFF03\uFF04\uFF05\uFF06\uFF08\uFF09\uFF0A\uFF0B\uFF0C\uFF0E\uFF0F\uFF1A\uFF1B\uFF1C\uFF1D\uFF1E\uFF1F\uFF20\uFF3B\uFF3D\uFF3E\uFF3F\uFF40\uFF5B\uFF5C\uFF5D\uFFE3\uFFE5]/)){
				var errmess = document.getElementById("error_check_all_full").innerHTML;
				messageAlert = messageAlert + "\n - " + nomChamp + " : " + errmess;
				document.getElementById(champ).style.border = "1px red solid" ;
				return false;
			}
		}
		//half width caracters
		if (str.match( /['\uFF61'-'\uFFDC'0-9a-zｧ-ﾝｰA-Z\.ÀÂÇÈÉÊËÎÔÙÛàâçèéêëîôùû \(\)\[\]\-,;:\/!\?]+/ ) )
			exist = true;
		
		if(exist){
			var errmess = document.getElementById("error_check_all_full").innerHTML;
			messageAlert = messageAlert + "\n - " + nomChamp + " : " + errmess;
			document.getElementById(champ).style.border = "1px red solid" ;
			return false;
		}else{
			document.getElementById(champ).style.border = "1px #ADB0B0 solid" ;
		}
	}
}



