// ---- ---- ---- ---- * ---- ---- ---- ----
// GAMC Checker **** 2004/04/03 v1.10
// GAMC Checker **** 2005/05/01 v2.00
// GAMC Checker **** 2005/08/01 v3.00 for GAMC2 v5.03
// アップ予定のGIF画像が規約に基づいたものかをチェックする
// ---- ---- ---- ---- * ---- ---- ---- ----


/** window.onload defer */
Event.domReady.add(function() {
  mail.onload();
});


/** new function */
function $(id) {
	return document.getElementById(id);
}




/** コンストラクタ */
function wwwAnimegifNet() { }
var mail = new wwwAnimegifNet();
mail = {
	// onload
	onload: function() {
		// メールリンク作成
		if ($('ajaxActionMailAscii')) {
			this.observe($('ajaxActionMailAscii'), 'keyup', function(){mail.ajaxShowSubmit(this)});
		}
		if ($('ajaxActionMailString')) {
			this.observe($('ajaxActionMailString'), 'keyup', function(){mail.ajaxShowSubmit(this)});
		}
		if ($('ajaxActionMailSubject')) {
			this.observe($('ajaxActionMailSubject'), 'keyup', function(){mail.ajaxShowSubmit(this)});
		}
		if ($('ajaxActionMailBody')) {
			this.observe($('ajaxActionMailBody'), 'keyup', function(){mail.ajaxShowSubmit(this)});
		}
		// focus.select()
		var mailEncode = $('ajaxActionMailEncode').value;
		if ($('ajaxActionMailEncode')) {
			this.observe($('ajaxActionMailEncode'), 'focus', function(){this.select()});
		}
		if ($('ajaxActionMailLink')) {
			this.observe($('ajaxActionMailLink'), 'focus', function(){this.select()});
		}
		// サブミット
		if ($('ajaxActionSubmit')) {
			this.observe($('ajaxActionSubmit'), 'click', function(){return mail.ajaxShowSubmit()});
		}
		// 初回処理
		mail.ajaxShowSubmit()
	},
	// ajaxShowSubmit
	ajaxShowSubmit: function() {
		this.mailLinker();
		return false;
	},
	// mailLinker
	mailLinker: function() {
		// 変数保存
		var mailAscii = $('ajaxActionMailAscii').value;
		var mailString = $('ajaxActionMailString').value;
		var mailSubject = $('ajaxActionMailSubject').value;
		var mailBody = $('ajaxActionMailBody').value;
		var mailEncode = $('ajaxActionMailEncode').value;
		var mailLink = $('ajaxActionMailLink').value;
		// URLエンコード
		//mailBody = mailBody.replace(/[\r\n|\r|\n]/g, "%250d%250a");
		//mailBody = mailBody.replace(/[\r\n|\r|\n]/g, "%0d%0a");
		//mailBody = mailBody.replace(/%0d%0a%0d%0a/g, "%0d%0a");
		mailAscii  = EscapeSJIS(mailAscii);
		mailAscii  = mailAscii.replace('@','&#64;');
		mailAscii  = mailAscii.replace('.','&#46;');
		$('ajaxActionMailEncode').value = mailAscii;
		// メールリンク作成
		mailEncode = mailAscii;
		if (mailSubject) mailEncode = mailEncode.concat('?subject=' + EscapeSJIS(mailSubject));
		if (mailSubject && mailBody) mailEncode = mailEncode.concat('&amp;body=' + EscapeSJIS(mailBody));
		if (!mailSubject && mailBody)  mailEncode = mailEncode.concat('?body=' + EscapeSJIS(mailBody));
		mailLink = '<a href="mailto&#58;' + mailEncode + '">' + mailString + '</a>';
		// 完成タグ表示
		$('ajaxActionMailLink').value = mailLink;
		// メールリンクテスト
		$('ajaxShowSubmit').innerHTML = mailLink;
		return false;
	},
	//
	observe: function(elm, type, func) {
		if (elm.addEventListener) {
			elm.addEventListener(type, func, false);
		//} else if (elm.attachEvent) {
		//	elm.attachEvent('on' + type, func);
		} else {type
			elm['on' + type] = func;
		}
	}
};

