function checkDate(vYear,vMonth,vDay) { 
	vMonth--;
    // 月,日の妥当性チェック 
    if(vMonth >= 0 && vMonth <= 11 && vDay >= 1 && vDay <= 31){ 
        var vDt = new Date(vYear, vMonth, vDay); 
        if(isNaN(vDt)){ 
            return false; 
        }else if(vDt.getFullYear() == vYear && vDt.getMonth() == vMonth && vDt.getDate() == vDay){ 
            return true; 
        }else{ 
            return false; 
        } 
    }else{ 
        return false; 
    } 
} 

function GetLength(obj){   // 入力バイト数を返す
	var i,cnt = 0;
	for(i=0; i<obj.length; i++)
		if (escape(obj.charAt(i)).length >= 4 ) cnt+=2; else cnt++;
	return cnt;
}

// 半角入力チェック
// 入力項目のイベントに指定してください
function Hcheck(od,msgon){
	if(GetLength(od) > od.length)
	{
		return false;
	}
	return true;
}
function BlurHcheck()
{
	return Hcheck(event.srcElement.value,true);
}

// 全角入力チェック
// 入力項目のイベントに指定してください
function Zcheck(od,msgon){
	if(!(GetLength(od) == (od.length * 2)))
	{
		return false;
	}
	if(!(HKanacheck(od)))
	{
		return false;
	}

	return true;
}
function BlurZcheck()
{
	return Zcheck(event.srcElement.value,true);
}

//半角カナ存在チェック
function HKanacheck(od){
	kekka=0;
	for(i=0; i<od.length; i++){
		dore=escape(od.charAt(i));
		if((navigator.appName.indexOf("Netscape")!=-1) && dore.length==3 && dore.indexOf("%")!=-1)
			kekka++;
		else if((navigator.appName.indexOf("Internet Explorer")!=-1) && dore.length==6 && dore.indexOf("%uFF")!=-1 && '0x'+dore.substring(2,dore.length) > 0xFF66 && '0x'+dore.substring(2,dore.length) < 0xFFA0)
			kekka++;
	}
	if(kekka>0) return false;
	else return true;
	}

function isDecimal(val)
{
    var i,msg2,msg3;
    //空白の場合はチェックしない
    if(val.length == 0){
        return true;
    }
    for(i=0;i<val.length;i++){
        msg3 = val.charAt(i);
        //alert(val+":"+msg3);
        if(msg3 > '9' || msg3 < '0'){
            return false;
        }
    }
    return true;
}

function isFloat(val)
{
    var i,msg2,msg3;
    var period=0;
    //空白の場合はチェックしない
    if(val.length == 0){
        return true;
    }
    for(i=0;i<val.length;i++){
        msg3 = val.charAt(i);
        //alert(val+":"+msg3);
        if(msg3=='.') {
        	period++;
        	if(period>1) return false;
        }
        else if( ( msg3 > '9' || msg3 < '0') ){
            return false;
        }
    }
    return true;
}

function checkMailAdress(od)
{
	var i;
	var ch;
	var atmk=0,priod=0;

	for(i=0; i<od.length; i++) {
		ch=od.charAt(i);
		
		if(ch!='-') {
			if(!ch.match(/[0-9a-zA-Z\@\.\!\#\$\%\&\`\+\*\/\'\^\{\}\_]/)) return false;
		}
		if(ch=='@') atmk++;
		if(ch=='.') priod++;
		
	}
	if(atmk!=1) return false;
	if(priod<1) return false;
	return true;
}

function checkMobileMailAdress(od)
{
	var i;
	//MobaileDomain(docomo site)
	var aDom=new Array("@docomo.ne.jp",
				   	   "@docomo-camera.ne.jp",
				   	   "@docomo-bill.ne.jp",
				   	   "@mobachemail.ne.jp",
				   	   //"@softbank.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",
				   	   "@disney.ne.jp",
				   	   "@ezweb.ne.jp",
				   	   ".ezweb.ne.jp",
				   	   "@ido.ne.jp",
				   	   "@emnet.ne.jp",
				   	   "@pdx.ne.jp",
				   	   ".pdx.ne.jp");

	if(!checkMailAdress(od)) 
	{
		//error Adress
		return "Error";
	}
	var Dom=od.substring(od.indexOf("@"), od.length); 
	for(i=0; i<aDom.length; i++) 
	{
		if(Dom.indexOf(aDom[i]) >= 0) 
		{
			//Mobile Domain
			return "Mobile";
		}
	}
	//PC Domain
	return "";

}
//2008/10/24 Edit Start 
function checkMobileMailDomain(od)
{
	var i;
	//MobaileDomain(docomo site)
	var aDom=new Array("@docomo.ne.jp",
				   	   "@docomo-camera.ne.jp",
				   	   "@docomo-bill.ne.jp",
				   	   "@mobachemail.ne.jp",
				   	   //"@softbank.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",
				   	   "@disney.ne.jp",
				   	   "@ezweb.ne.jp",
				   	   ".ezweb.ne.jp",
				   	   "@ido.ne.jp",
				   	   "@emnet.ne.jp",
				   	   "@pdx.ne.jp",
				   	   ".pdx.ne.jp");

	var Dom=od.substring(od.indexOf("@"), od.length); 
	for(i=0; i<aDom.length; i++) 
	{
		if(Dom.indexOf(aDom[i]) >= 0) 
		{
			//Mobile Domain
			return "Mobile";
		}
	}
	//PC Domain
	return "";

}
//2008/10/24 Edit End

