function embedSWF(w,h,ntype,nid) {
	var d = document;
	d.write ('<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="charts" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" WIDTH="'+w+'" HEIGHT="'+h+'">');
	d.write ('<PARAM NAME=movie VALUE="/images/charts.swf?library_path=http://beerdo.jp/images/charts_library&xml_source=http://beerdo.jp/scripts/xml/'+ntype+'/'+nid+'">');
	d.write ('<PARAM NAME=quality VALUE=high>');
	d.write ('<PARAM NAME=bgcolor VALUE=#FFFFFF>');
	d.write ('<EMBED name="charts" src="/images/charts.swf?library_path=http://beerdo.jp/images/charts_library&xml_source=http://beerdo.jp/scripts/xml/'+ntype+'/'+nid+'"');
	d.write ('       quality=high ');
	d.write ('       WIDTH="'+w+'" ');
	d.write ('       HEIGHT="'+h+'" ');
	d.write ('       bgcolor=#FFFFFF ');
	d.write ('       TYPE="application/x-shockwave-flash" ');
	d.write ('       PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">');
	d.write ('</EMBED>');
	d.write ('</OBJECT>');
}
/*共通関数*/
function adjustLine(str, num){
	var i = "";
	var out = "";
	str = str.replace(/\\r/g,"").replace(/\\n/g,"");
	for(i==0; i<str.length; i++){
		out += str.charAt(i).replace(/</g,"&lt;").replace(/>/g,"&gt;");
		if((i + 1) % num == 0) out += "<br>";
	}
	return out;
}
function komado(url) {
	if (arguments[1]!=null) window.open(url, arguments[1], "width=600,height=600,scrollbars=yes,resizable=yes,menubar=no,status=no,toolbar=no");
	else window.open(url, "_blank", "width=600,height=600,scrollbars=yes,resizable=yes,menubar=no,status=no,toolbar=no");
}
function checkAlphabetOrNumberOnly(formElement, mode, option) {
	/*
	1)modeが 0 の場合、半角数字と大文字小文字の半角英数字＋任意の文字のみなら空文字を返します。
	2)modeが 1 の場合、半角数字と大文字の半角英数字＋任意の文字のみなら空文字を返します。
	3)modeが 2 の場合、半角数字と小文字の半角英数字＋任意の文字のみなら空文字を返します。
	*/
	var str = formElement.value;
	var code, count;
	for (var i = 0; i < str.length; i++) {
		count = 0;
		code = str.charCodeAt(i);
		/* 半角数字 */
		if (code < 48 || code > 57) { count++; }
		/* 半角英字 */
		if (mode == 0 && (code < 65 || (code > 90 && code < 97) || code > 122)) { count++; }
		/* 半角英字（大文字） */
		if (mode == 1 && !(65<= code && code <=90)) { count++; }
		/* 半角英字（小文字） */
		if (mode == 2 && !(97 <= code && code <= 122)) { count++; }
		/* オプション文字 */
		if (!option == "" && option.indexOf(String.fromCharCode(code)) < 0) { count++; }
		if (option == "" && count == 2) { return str.substring(i, i+1); }
		if (!option == "" && count == 3) { return str.substring(i, i+1); }
	}
	return "";
}
function trim(str) {
	str = str.replace(/^\s+|\s+$/g, "");
	return(str);
}
function setComma(str){
	var yen="";
	for(var i=0;i<str.length;i++){
		if(i && !((str.length-i) % 3)) yen+=",";
		yen+=str.charAt(i);
	}
	return yen;
}
function getFileName(str) {
	if(!str) return Math.random();
	if(str=="") return Math.random();
	if(str=="undefined") return Math.random();
	var tmp = str.split("/");
	var cnt = tmp.length;
	return tmp[cnt-1];
}
function chkId(mode, uid) {
	var url = "/scripts/uid.php";
	var query = "md="+mode+"&uid="+uid;
	var http = new JKL.ParseXML.Text( url, query );
	return http.parse();
}
function chkAuth(code) {
	var url = "/scripts/auth.php";
	var query = "code="+code;
	var http = new JKL.ParseXML.Text( url, query );
	return http.parse();
}
function chkCid(mode, uid, bid) {
	var url = "/scripts/uid.php";
	var query = "md="+mode+"&uid="+uid+"&bid="+bid;
	var http = new JKL.ParseXML.Text( url, query );
	return http.parse();
}
function chkNnm(mode, nnm, uid) {
	var url = "/scripts/uid.php";
	var query = "md="+mode+"&uid="+uid+"&nnm="+nnm;
	var http = new JKL.ParseXML.Text( url, query );
	return http.parse();
}
function doLogin(objFm) {
	objFm.action = "./";
	objFm.submit();
}
/*個別関数*/
//ユーザー登録入力チェック
function chkJoinInput(){
	var tmp;
	var obj = document.F1;
	if (trim(obj.mail.value)=="" 
        || trim(obj.pwd1.value)==""
        || trim(obj.pwd2.value)==""
        || trim(obj.nickname.value)==""
        || trim(obj.bname.value)==""
        || trim(obj.code.value)=="") {
		alert("自己紹介以外の全項目で入力必須となっております");
		return false;
	}
	if (obj.pwd1.value!=obj.pwd2.value) {
		alert("パスワードが一致していません");
		return false;
	}
	if ((str = checkAlphabetOrNumberOnly(obj.pwd1, 0, "")) != "") {
		alert("パスワードに半角英数字以外の文字\""+str+"\"が含まれています。");
		return false;
	}
	if (obj.pwd1.value.length > 16) {
		alert("パスワードは16文字までです");
		return false;
	}
	if (obj.nickname.value.length > 16) {
		alert("ニックネームは16文字までです");
		return false;
	}
	if (obj.bname.value.length > 256) {
		alert("普段よく飲む銘柄は256文字までです");
		return false;
	}
	if (obj.comment.value.length > 5000) {
		alert("自己紹介は5,000文字までです");
		return false;
	}
	if (obj.mail.value!="" && !obj.mail.value.match(/^\S+@\S+\.\S+$/)) {
		alert("入力されたメールアドレスは正しくありません");
		return false;
	}
	if (chkId(1,obj.mail.value)==9) {
		alert("そのメールアドレスは既に使われています。他のメールアドレスでの登録をお願いします。");
		return false;
	}
	if (chkId(3,obj.nickname.value)==9) {
		alert("そのニックネームは既に使われています。他のニックネームでの登録をお願いします。");
		return false;
	}
	if (chkAuth(obj.code.value)==9) {
		alert("画像認証に失敗しました。再度入力をお願いします。");
		return false;
	}
	obj.submit();
}
//ユーザー情報編集入力チェック
function chkEditInput(){
	var tmp;
	var obj = document.F1;
	if ( trim(obj.nickname.value)=="" ) {
		alert("ニックネームの入力をお願い致します");
		return false;
	}
	if ( trim(obj.bname.value)=="" ) {
		alert("普段よく飲む銘柄の入力をお願い致します");
		return false;
	}
	if ( obj.pwd1.value!="" ) {
		if (obj.pwd1.value!=obj.pwd2.value) {
			alert("パスワードが一致していません");
			return false;
		}
		if ((str = checkAlphabetOrNumberOnly(obj.pwd1, 0, "")) != "") {
			alert("パスワードに半角英数字以外の文字\""+str+"\"が含まれています。");
			return false;
		}
		if (obj.pwd1.value.length > 16) {
			alert("パスワードは16文字までです");
			return false;
		}
	}
	if (obj.nickname.value.length > 16) {
		alert("ニックネームは16文字までです");
		return false;
	}
	if (obj.bname.value.length > 256) {
		alert("普段よく飲む銘柄は256文字までです");
		return false;
	}
	if (obj.comment.value.length > 5000) {
		alert("自己紹介は5,000文字までです");
		return false;
	}
	if (chkNnm(4,obj.nickname.value,obj.uid.value)==9) {
		alert("そのニックネームは既に使われています。他のニックネームでの登録をお願いします。");
		return false;
	}
	obj.submit();
}
//コメント入力チェック
function chkCommInput(){
	var tmp;
	var obj = document.F1;
	if ( trim(obj.title.value)=="" ) {
		alert("タイトルの入力をお願い致します");
		return false;
	}
	if ( trim(obj.comment.value)=="" ) {
		alert("コメントの入力をお願い致します");
		return false;
	}
	if (obj.title.value.length > 32) {
		alert("コメントは32文字までです");
		return false;
	}
	if (obj.comment.value.length > 10000) {
		alert("コメントは10,000文字までです");
		return false;
	}
	if (chkCid(2, obj.uid.value, obj.bid.value)==9) {
		alert("1商品に投稿できる評価は1つまでです。");
		return false;
	}
	if (chkAuth(obj.code.value)==9) {
		alert("画像認証に失敗しました。再度入力をお願いします。");
		return false;
	}
	obj.submit();
}
//コメント削除チェック
function cfm() {
	var res = confirm("コメントを削除しますが宜しいですか？");
	if (res) {
		document.F2.submit();
	}
}
//コメント編集登録チェック
function chkCommEdit(){
	var tmp;
	var obj = document.F2;
	if ( trim(obj.title.value)=="" ) {
		alert("タイトルの入力をお願い致します");
		return false;
	}
	if ( trim(obj.comment.value)=="" ) {
		alert("コメントの入力をお願い致します");
		return false;
	}
	if (obj.title.value.length > 32) {
		alert("コメントは32文字までです");
		return false;
	}
	if (obj.comment.value.length > 10000) {
		alert("コメントは10,000文字までです");
		return false;
	}
	/*
	if (chkAuth(obj.code.value)==9) {
		alert("画像認証に失敗しました。再度入力をお願いします。");
		return false;
	}
	*/
	obj.submit();
}
