function mailSet(val){
	var obj = window.document.forms[0];
	obj.action = "/MailService";
	obj._FUNCTION.value = "SERVICE-MAIL-SET";
	obj.SITE.value = val;
	obj.OP.value = 1;
	obj.submit();
}

function mailForm(val){
	var obj = window.document.forms[0];
	obj.action = "/MailService";
	obj.target = "MAIL";
	obj._FUNCTION.value = "SERVICE-MAIL-SET";
	obj.SITE.value = val;
	window.open("/MailService", "MAIL", 'width=600,height=600,status=no,scrollbars=no,directories=no,menubar=no,resizable=no,toolbar=no');
	obj.submit();
}

function mailConf(){
	var obj = window.document.forms[0];
	
	//Validate
	if(obj.DIV.selectedIndex == 0){
		alert("送信内容が選択されていません。");
		obj.DIV.focus();
		return false;
	}
	if(!obj.FROM.value){
		alert("メールアドレスが記入されていません。");
		obj.FROM.focus();
		return false;
	}
	if(!checkMailAddress(obj.FROM.value)){
		alert("メールアドレスの形式が間違っています。");
		obj.FROM.focus();
		return false;
	}
	if(!obj.NAME.value){
		alert("氏名が記入されていません。");
		obj.NAME.focus();
		return false;
	}
	
	if(!checkValidate(obj.NAME.value)){
		alert("氏名に使ってはいけない文字が記入されています。");
		obj.NAME.focus();
		return false;
	}
	if(!checkValidate(obj.ADDRESS.value)){
		alert("住所に使ってはいけない文字が記入されています。");
		obj.ADDRESS.focus();
		return false;
	}
	if(!checkValidate(obj.PHONE.value)){
		alert("連絡先に使ってはいけない文字が記入されています。");
		obj.PHONE.focus();
		return false;
	}
	
	if(!obj.BODY.value){
		alert("本文が記入されていません。");
		obj.BODY.focus();
		return false;
	}
	if(!checkValidate(obj.BODY.value)){
		alert("本文に使ってはいけない文字が記入されています。");
		obj.BODY.focus();
		return false;
	}
	if(getByteCount(obj.BODY.value) > 2048){
		alert("本文が文字数を超過しました。");
		obj.BODY.focus();
		return false;
	}
	
	
	
	obj._FUNCTION.value = "SERVICE-MAIL-CONFIRM";
	obj.submit();
}

function mailSend(){
	var obj = window.document.forms[0];
	obj._FUNCTION.value = "SERVICE-MAIL-SEND";
	obj.submit();
}

function openNoticeDoc(){
	window.open("/docs/notice.jsp", "_BLANK", "width=600, height=600, menubar=no, toolbar=no, scrollbars=yes, status=no, dependent=yes, resizable=no");
	return;
}

function openSettleDoc(){
	window.open("/docs/settle.jsp", "_BLANK", "width=800, height=600, menubar=no, toolbar=no, scrollbars=yes, status=no, dependent=yes, resizable=no");
	return;
}

function openShoppingDoc(){
	window.open("/docs/shopping.jsp", "_BLANK", "width=600, height=600, menubar=no, toolbar=no, scrollbars=yes, status=no, dependent=yes, resizable=no");
	return;
}

function openContractDoc(){
	window.open("/docs/contract.jsp", "_BLANK", "width=800, height=600, menubar=no, toolbar=no, scrollbars=yes, status=no, dependent=yes, resizable=no");
	return;
}

function openPolicyDoc(){
	window.open("/docs/policy.jsp", "_BLANK", "width=800, height=500, menubar=no, toolbar=no, scrollbars=yes, status=no, dependent=yes, resizable=no");
	return;
}

//---------------------------------------------------------------------------
function getByteCount(value) {
    var count = 0;
    for (var i = 0; i < value.length; i++) {
        if(value.charCodeAt(i) < 256){
            count += 1;
        }else{
            count += 2;
        }
    }
    return count;
}
function checkMailAddress(value) {
	return value.match(/^\S+@\S+\.\S+$/);
}
function checkNumeric(value) {
    for (var i = 0; i < value.length; i++) {
        if(value.charCodeAt(i) < 48 || value.charCodeAt(i) > 57){
            return false;
        }
    }
    return true;
}
function checkDate(value) {
    for (var i = 0; i < value.length; i++) {
        if(value.charCodeAt(i) < 48 || value.charCodeAt(i) > 57){
            return false;
        }
    }
    return true;
}
function checkValidate(value) {
	if(!value){
		return true;
	}
	
    for (var i = 0; i < value.length; i++) {
        //DENY-CHAR
        if(value.charCodeAt(i) != 10 && value.charCodeAt(i) != 13){
            if(value.charCodeAt(i) == 33	//!
	            || value.charCodeAt(i) == 34 //"
	            || value.charCodeAt(i) == 39 //'
	            || value.charCodeAt(i) == 60 //<
	            || value.charCodeAt(i) == 62 //>
	            || value.charCodeAt(i) == 63 //?
	            || value.charCodeAt(i) == 127 //DEL
	            || (value.charCodeAt(i) >= 0 && value.charCodeAt(i) <= 31)){
                return false;
            }
        }
    }
    return true;
}
