/**
 * post	資料請求
 * 
 * @param 	elmName	エレメント名
 * @return	void
 */
function doPost(elmName, iframe_flg) {
	
	var browser = getBrowser();
	if (browser == "IE") {
	} else {
		fm = document.fm;
	}

	fm.sid.value = get_sid();

	if(inputCheck(iframe_flg)){

		// IFRAME値を転送
		if (iframe_flg) {
			var ename = prename = "";
			for(var i=0; i<frames[0].document.forms[0].length; i++) {
				ename = frames[0].document.forms[0].elements[i].name;
				if (fm[ename]) fm[ename].value = "";
			}

			for(var i=0; i<frames[0].document.forms[0].length; i++) {
				ename = frames[0].document.forms[0].elements[i].name;
				
				if (frames[0].document.forms[0].elements[i].type == "checkbox") {
					if (frames[0].document.forms[0].elements[i].checked) {
						if (fm[ename].value == ""){
							fm[ename].value = frames[0].document.forms[0].elements[i].value;
						} else {
							fm[ename].value += "," + frames[0].document.forms[0].elements[i].value;
						}
					}
				} else if (frames[0].document.forms[0].elements[i].type == "radio") {
					if (frames[0].document.forms[0].elements[i].checked) {
						fm[ename].value = frames[0].document.forms[0].elements[i].value;
					}
				} else {
					fm[ename].value = frames[0].document.forms[0].elements[i].value;
				}
			}
		}
		fm.m.value = "shiryoSeikyu";
		fm.action = "https://www.shopfucoidan.com/shopcart/";
		fm.method = "post";
		fm.submit();
	}
}

/**
 * post	メルマガ停止
 * 
 * @param 	elmName	エレメント名
 * @return	void
 */
function stopMelmaga() {
	
	fm.sid.value = get_sid();
	
	chkName = "メールアドレス";
	chkElem = fm.email;
	if (!chkEmpty(chkElem, chkName)) return false;
	if (!chkMail(chkElem, chkName)) return false;
	if (!chkHanlength(chkElem, 5, 100, chkName)) return false;

	fm.m.value = "stopMelmaga";
	fm.action = "https://www.shopfucoidan.com/shopcart/";
	fm.method = "post";
	fm.submit();
}


/**
 * 入力チェック
 * 
 * @param 	none
 * @return	boolean
 */
function inputCheck(iframe_flg) 
{
	chkName = "お名前（姓）";
	chkElem = fm.name_sei;
	if (iframe_flg == 1) chkElem = frames[0].document.forms[0].name_sei;
	if (!chkEmpty(chkElem, chkName)) return false;
	if (!chkZenlength(chkElem, 1, 100, chkName)) return false;

	chkName = "お名前（名）";
	chkElem = fm.name_mei;
	if (iframe_flg == 1) chkElem = frames[0].document.forms[0].name_mei;
	if (!chkEmpty(chkElem, chkName)) return false;
	if (!chkZenlength(chkElem, 1, 100, chkName)) return false;

	chkName = "ふりがな（姓）";
	chkElem = fm.name_sei_kana;
	if (iframe_flg == 1) chkElem = frames[0].document.forms[0].name_sei_kana;
	if (!chkEmpty(chkElem, chkName)) return false;
	if (!chkZenlength(chkElem, 1, 100, chkName)) return false;

	chkName = "ふりがな（名）";
	chkElem = fm.name_mei_kana;
	if (iframe_flg == 1) chkElem = frames[0].document.forms[0].name_mei_kana;
	if (!chkEmpty(chkElem, chkName)) return false;
	if (!chkZenlength(chkElem, 1, 100, chkName)) return false;
	
	chkName = "メールアドレス";
	chkElem = fm.EMAIL;
	if (iframe_flg == 1) chkElem = frames[0].document.forms[0].EMAIL;
	if (!chkEmpty(chkElem, chkName)) return false;
	if (!chkMail(chkElem, chkName)) return false;
	if (!chkHanlength(chkElem, 5, 100, chkName)) return false;

	chkName = "郵便番号(上3桁)";
	chkElem = fm.yuubin_a;
	if (iframe_flg == 1) chkElem = frames[0].document.forms[0].yuubin_a;
	//if (!chkEmpty(chkElem, chkName)) return false;
	if (!chkNum(chkElem, chkName)) return false;
	if (!chkHanlength(chkElem, 3, 3, chkName)) return false;
	
	chkName = "郵便番号(下4桁)";
	chkElem = fm.yuubin_2;
	if (iframe_flg == 1) chkElem = frames[0].document.forms[0].yuubin_2;
	//if (!chkEmpty(chkElem, chkName)) return false;
	if (!chkNum(chkElem, chkName)) return false;
	if (!chkHanlength(chkElem, 4, 4, chkName)) return false;

	chkName = "都道府県";
	chkElem = fm.kenmei;
	if (iframe_flg == 1) chkElem = frames[0].document.forms[0].kenmei;
	if (!chkEmpty(chkElem, chkName)) return false;
	if (!chkSelect(chkElem, chkName)) return false;

	chkName = "住所";
	chkElem = fm.address;
	if (iframe_flg == 1) chkElem = frames[0].document.forms[0].address;
	if (!chkEmpty(chkElem, chkName)) return false;
	if (!chkZenlength(chkElem, 0, 200, chkName)) return false;

	chkName = "建物名";
	chkElem = fm.tatemonomei;
	if (iframe_flg == 1) chkElem = frames[0].document.forms[0].tatemonomei;
	if (!chkZenlength(chkElem, 0, 100, chkName)) return false;

	chkName = "電話番号";
	chkElem = fm.tel;
	if (iframe_flg == 1) chkElem = frames[0].document.forms[0].tel;
	if (!chkEmpty(chkElem, chkName)) return false;
	if (!chkTel(chkElem, chkName)) return false;
	if (!chkHanlength(chkElem, 10, 20, chkName)) return false;	
	
	chkName = "診断のご病気名";
	chkElem = fm.disease;
	if (iframe_flg == 1) chkElem = frames[0].document.forms[0].disease;
	if (chkElem && !chkZenlength(chkElem, 0, 140, chkName)) return false;
	
	chkName = "ご応募のきっかけ";
	chkElem = fm.opportunity;
	if (iframe_flg == 1) chkElem = frames[0].document.forms[0].opportunity;
	if (chkElem && !chkZenlength(chkElem, 0, 1000, chkName)) return false;
	
	chkName = "患者様のご年齢";
	chkElem = fm.age;
	if (iframe_flg == 1) chkElem = frames[0].document.forms[0].age;
	if (chkElem && !chkHanlength(chkElem, 0, 3, chkName)) return false;
	
	chkName = "病名ステージ";
	chkElem = fm.stage;
	if (iframe_flg == 1) chkElem = frames[0].document.forms[0].stage;
	if (chkElem && !chkZenlength(chkElem, 0, 1000, chkName)) return false;
	
	chkName = "ご質問・ご相談";
	chkElem = fm.sodan;
	if (iframe_flg == 1) chkElem = frames[0].document.forms[0].sodan;
	if (chkElem && !chkZenlength(chkElem, 0, 1000, chkName)) return false;

	return true;
}


/**
 * 送信ＩＤ取得
 * 
 * @param	
 * @return	integer
 */
function get_sid() 
{
	$id = Math.floor(Math.random() * 10000000000);

	var d = new Date();
	var ydmhis  = d.getYear().toString() 
				+ (d.getMonth() + 1).toString()
				+ d.getDate().toString()
				+ d.getHours().toString()
				+ d.getMinutes().toString()
				+ d.getSeconds().toString()

	return ydmhis + "_" + $id;
}
/**
 * 必須チェック
 * 
 * @param	object	elem	対象エレメント
 * @param	string	objname	アラート用名称
 * @return	boolean
 */
function chkEmpty(elem, objname)
{	
	var chktxt = elem.value;
	
	if(!chktxt || chktxt.length <= 0){
		alert(objname + "を入力してください。");
		elem.focus();
		return false;
	}
	return true;
}
/**
 * 全角文字数チェック
 * 
 * @param	object	elem	対象エレメント
 * @param	integer	min		最小文字数
 * @param	integer	max		最大文字数
 * @param	string	objname	アラート用名称
 * @return	boolean
 */
function chkZenlength(elem, min, max, objname)
{	
	var chktxt = elem.value;
	var txtcnt = 0;
	var maxcnt = 1;
	if(max > 1){
		maxcnt = Math.round(max / 2);
	}
	
	if(chktxt.length > 0){
	
		for(i=0;i<chktxt.length;i++){
			//全角
			if(escape(chktxt.charAt(i)).length >= 4){
				txtcnt += 2;
			//半角
			} else {
				txtcnt += 1;
			}
		}
		if(txtcnt < min){
			alert(objname + "を全角" + min + "文字以上で入力してください。");
			elem.select();
			return false;
		}
		if(txtcnt > max){
			alert(objname + "を全角" + maxcnt + "文字以内で入力してください。");
			elem.select();
			return false;
		}
	}
	return true;
}

/**
 * 半角文字数チェック
 * 
 * @param	object	elem	対象エレメント
 * @param	integer	min		最小文字数
 * @param	integer	max		最大文字数
 * @param	string	objname	アラート用名称
 * @return	boolean
 */
function chkHanlength(elem, min, max, objname)
{	
	var chktxt = elem.value;
	var txtcnt = 0;
	
	if(chktxt.length > 0){
	
		for(i=0;i<chktxt.length;i++){
			//全角
			if(escape(chktxt.charAt(i)).length >= 4){
				txtcnt += 2;
			//半角
			} else {
				txtcnt += 1;
			}
		}
		if(txtcnt < min){
			alert(objname + "を半角" + min + "文字以上で入力してください。");
			elem.select();
			return false;
		}
		if(txtcnt > max){
			alert(objname + "を半角" + max + "文字以内で入力してください。");
			elem.select();
			return false;
		}
	}
	return true;
}
/**
 * 数値チェック
 * 
 * @param	object	elem	対象エレメント
 * @param	string	objname	アラート用名称
 * @return	boolean
 */
function chkNum(elem, objname)
{	
	var num = '0123456789'; 
	var tmp = new Array();
	var str = elem.value;
	for(var i=0; i<str.length; i++){
		tmp[i]=str.substring(i,i+1);
		var flag=num.indexOf(tmp[i]);
		if(flag==-1){
			alert(objname + "は数値のみ入力してください。");
			elem.select();
			return false;
		}
	}
	return true;
}

/**
 * オプション選択チェック
 * 
 * @param	object	elem	対象エレメント
 * @param	string	objname	アラート用名称
 * @return	boolean
 */
function chkSelect(elem, objname)
{
	var chkidx = elem.selectedIndex;
	var chkval = elem.value;

	if(chkidx == 0 && chkval == ""){
		alert(objname + "を選択してください。");
		elem.focus();
		return false;
	}
	return true;
}


/**
 * 電話番号チェック
 * 
 * @param	object	elem	対象エレメント
 * @param	string	objname	アラート用名称
 * @return	boolean
 */
function chkTel(elem, objname)
{
	var num = '-0123456789'; 
	var tmp = new Array();
	var str = elem.value;
	for(var i=0; i<str.length; i++){
		tmp[i]=str.substring(i,i+1);
		var flag=num.indexOf(tmp[i]);
		if(flag==-1){
			alert(objname + "は数値とハイフンのみ入力してください。");
			elem.select();
			return false;
		}
	}
	return true;
}



/**
 * メールチェック
 * 
 * @param	object	elem	対象エレメント
 * @param	string	objname	アラート用名称
 * @return	boolean
 */
function chkMail(elem, objname)
{
	var str=elem.value; 
	if (!str.match(/^([0-9A-Za-z]+[._-])*[0-9A-Za-z]+@([0-9a-zA-Z]+[-._]*[0-9a-zA-Z-._]*[.])+[a-zA-Z]{2,6}$/)) {
		alert(objname + "の形式が正しくありません。");
		elem.select();
		return false;
	}
	return true;
}

/**
 * ブラウザ判定
 * 
 * @param	object	elem	対象エレメント
 * @param	string	objname	アラート用名称
 * @return	boolean
 */
function getBrowser()
{  var strUA = "";
  strUA = window.navigator.userAgent.toLowerCase();
  var browser = "";

  if(strUA.indexOf("safari") != -1){
    browser = "safari";

  }else if(strUA.indexOf("firefox") != -1){
    browser = "Firefox";

  }else if(strUA.indexOf("opera") != -1){
    browser = "Opera";

  }else if(strUA.indexOf("netscape") != -1){
    browser = "Netscape";

  }else if(strUA.indexOf("msie") != -1){
    browser = "IE";

  }else if(strUA.indexOf("mozilla/4") != -1){
    browser = "Netscape.4";
    
  }else if(strUA.indexOf("chrome") != -1){
    browser = "chrome";
  }
  return browser;
}

