var C_LF = "\n";
jQuery.noConflict();

if (typeof JSON != "object")
 document.write('<script type="text/javascript" src="/liblary/json2.js"></script>');

/*
 *1 jQuery.fn.extend
 */
jQuery.fn.extend({
	/*
	 *2 aultaAjaxList
	 */
	aultaAjaxList : function(url, param, callback){
		jQuery.ajax({
			type: 'POST',
			url: url + aulta.text.time(),
			data: 'ajax=ajax' + param,
			cache: false,
			success: function(json){
				var list = [];
				if (json.length > 0){
					try{
						list = JSON.parse(json);
					} catch(e) {
						alert(url + json);
					}
				}
				callback(list);
			},
			error : function(msg, status){
				var s = status + "\n\n" + '通信エラーが発生しました。' + "\n\n" + msg;
				alert(s);
			}
		});
	}
	,
	/*
	 *2 jQueryオブジェクト(form)内のパラメータを作成
	 */
	aultaGetFormParam : function(){
		var ret = '';
		this
		.find('input,textarea,select')
		.each(function(){
			var n = this.name
				,	s = aulta.string.urlencode(aulta.string.trim(jQuery(this).val()));
			if (n.length > 0){
				switch (this.type){
					case 'checkbox':
						ret += '&' + n + '=' + (this.checked ? s : '');
						break;
					case 'radio':
						if (this.checked) ret += '&' + n + '=' + s;
						break;
					default:
						ret += '&' + n + '=' + s;
				}
			}
		});
		return ret;
	}
	,
	/*
	 *2 POSTデータを発行して移動する。
	 */
	aultaOpenSendPost : function(url, target, qs){
		var form = jQuery('<form action="' + url + '" target="' + target + '" method="post"></form>');
		var params = qs.split('&');
		for (var ind in params){
			if (params[ind].length == 0) continue;
			var param = params[ind].split('=');
			form.append(
				jQuery('<input type="hidden" name="' + param[0] + '" value="' + param[1] + '" />')
			);
		}
		form.append(jQuery('<input type="submit" value="send" />'));
		jQuery('body').append(form);
		form.find('input[type="submit"]').click();
		form.remove();
	}
	,
	/*
	 *2 <img>タグにhoverを割り当てる。
	 */
	aultaImageHover : function(){
		return this
		.hover(
			function(){
				jQuery(this).children('img')
				.each(function(){
					var src = jQuery(this).attr('src');
					jQuery(this).attr('src', src.replace('_normal', '_hover'));
				});
			}
			,
			function(){
				jQuery(this).children('img')
				.each(function(){
					var src = jQuery(this).attr('src');
					jQuery(this).attr('src', src.replace('_hover', '_normal'));
				});
			}
		)
		.each(function(){
			jQuery(this).children('img')
			.each(function(){
				var src = jQuery(this).attr('src');
				aulta.utility.preLoadImage(src.replace('_normal', '_hover'));
			});
		});
	}
	,
	/*
	 *2 form内に装飾的なイベントを割り当てる
	 */
	aultaFormAddEvent : function(){
		return this
		.each(function(){
			jQuery(this).find('.textbox')
			.focus(function(){
				jQuery(this).css('background-color', '#FFFACD').css('border-color', '#00BFFF');
			})
			.blur(function(){
				jQuery(this).css('background-color', 'white').css('border-color', 'gray');
			})
			;
			jQuery(this).find('.checkbox input')
			.change(function(){
				var color = (this.checked ? 'red' : 'black');
				jQuery(this.parentNode).css('color', color);
			})
			.change()
			;
			jQuery(this).find('.radiobox input')
			.change(function(){
				if ( ! this.checked) return;
				jQuery('form label input[name="' + this.name + '"]').parent().css('color', 'black');
				jQuery(this.parentNode).css('color', 'red');
			})
			.change()
			;
		});
	}
	,
	/*
	 *2 webkit対応の幅取得（window）
	 */
	aultaWidth : function(){
		//if (this.get(0) == window){
		//	return (jQuery.browser.webkit ? this.get(0).innerWidth : this.width());
		//} else {
			return this.width();	//	jQuery1.4になって解決っぽい？
		//}
	}
	,
	/*
	 *2 webkit対応の高さ取得（window）
	 */
	aultaHeight : function(){
		if (this.get(0) == window){	//	こっちは解決していないっぽい。
			return (jQuery.browser.webkit ? this.get(0).innerHeight : this.height());
		} else {
			return this.height();
		}
	}
	,
	/*
	 *2 jQuery.UI.dialog()のwebkitの位置調整
	 *  x, y で基準からずらす
	 */
	uiDialogPosSet : function(x, y){
		var jd = this.parent();
		if (jQuery.browser.webkit){
			var h = jQuery(window).get(0).innerHeight
				, t = aulta.utility.bodyScrollTop();
			jd.css('top', ((h - jd.height()) / 2) + t);
		}
		jd
		.css('left', jd.css('left').replace('px', '') - 0 + x)
		.css('top', jd.css('top').replace('px', '') - 0 + y)
		;
		return this;
	}
	,
	/*
	 *2 aultaGetKeycode
	 */
	aultaGetKeycode : function(e){
		//	http://www.programming-magic.com/file/20080205232140/keycode_table.html
    var shift, ctrl, keycode, keychar;
    // Mozilla(Firefox, NN) and Opera 
    if (e != null) { 
        keycode = e.which; 
        ctrl = typeof e.modifiers == 'undefined' ? e.ctrlKey : e.modifiers & Event.CONTROL_MASK; 
        shift = typeof e.modifiers == 'undefined' ? e.shiftKey : e.modifiers & Event.SHIFT_MASK; 
        // イベントの上位伝播を防止 
        e.preventDefault();
        e.stopPropagation();
    } else {	// Internet Explorer
        keycode = event.keyCode; 
        ctrl = event.ctrlKey; 
        shift = event.shiftKey; 
        // イベントの上位伝播を防止 
        event.returnValue = false; 
        event.cancelBubble = true; 
    }
    // キーコードの文字を取得 
    keychar = String.fromCharCode(keycode).toUpperCase(); 

		return [keycode, shift, ctrl, keychar];

    // Ctrl同時押しの場合 
    if (ctrl) { 
        if (keychar == "C") { 
            alert('Ctrl+C'); 
        } 
    } else 
    // Shift同時押しの場合 
        if (shift) { 
            if (keychar == "C") { 
                alert('Shift+C'); 
        } 
    // 通常のキーダウン時の場合 
    } else { 
        if (keychar == "C") { 
            alert('C'); 
        } 
    } 
    // 特殊キーコードの対応については次を参照 
    // 27 Esc 
    // 8 BackSpace 
    // 9 Tab 
    // 32 Space 
    // 45 Insert 
    // 46 Delete 
    // 35 End 
    // 36 Home 
    // 33 PageUp 
    // 34 PageDown 
    // 38 ↑ 
    // 40 ↓ 
    // 37 ← 
    // 39 → 
    // 処理の例 
    // if (keycode == 27) { 
    // alert('Escapeキーが押されました'); 
    // } 
	}
	,
	/*
	 *2 insertAtCaret
	 */
	//	http://www.psl.ne.jp/blog/?p=135
	insertAtCaret: function(v){
		var o = this.get(0);
		o.focus();
		if (jQuery.browser.msie) {
			var r = document.selection.createRange();
			r.text = v;
			r.select();
		} else {
			var s = o.value;
			var p = o.selectionStart;
			var np = p + v.length;
			o.value = s.substr(0, p) + v + s.substr(p);
			o.setSelectionRange(np, np);
		}
	}

})


jQuery(document).ready(function(){
	jQuery('form').aultaFormAddEvent();
});



/**
 * @name aulta library
 * @author aulta : http://aulta.net/
 * @copyright aulta
 * @version 0.51
 * @last 2010/02/25
 */
 /*
  *1 aulta
  */
(function(){
	window.aulta = {
		/*
		 *2 addBody
		 */
		addBody : {
			emojiList : function(){
				jQuery('body').append(
					jQuery('<div>').attr('id', 'dialog_emoji_list').attr('status', '').hide()
				);
				jQuery('#dialog_emoji_list')
				.dialog({
					title : '絵文字をクリック。',
					autoOpen : false,
					width : 240,
					height : 400,
					open : function(){
						if (jQuery('#dialog_emoji_list').attr('status') == 'loaded') return;
						var l = ['d_E63E', 'd_E63F', 'd_E640', 'd_E641', 'd_E642', 'd_E643', 'd_E644', 'd_E645', 'd_E646', 'd_E647', 'd_E648', 'd_E649', 'd_E64A', 'd_E64B', 'd_E64C', 'd_E64D', 'd_E64E', 'd_E64F', 'd_E650', 'd_E651', 'd_E652', 'd_E653', 'd_E654', 'd_E655', 'd_E656', 'd_E657', 'd_E658', 'd_E659', 'd_E65A', 'd_E65B', 'd_E65C', 'd_E65D', 'd_E65E', 'd_E65F', 'd_E660', 'd_E661', 'd_E662', 'd_E663', 'd_E664', 'd_E665', 'd_E666', 'd_E667', 'd_E668', 'd_E669', 'd_E66A', 'd_E66B', 'd_E66C', 'd_E66D', 'd_E66E', 'd_E66F', 'd_E670', 'd_E671', 'd_E672', 'd_E673', 'd_E674', 'd_E675', 'd_E676', 'd_E677', 'd_E678', 'd_E679', 'd_E67A', 'd_E67B', 'd_E67C', 'd_E67D', 'd_E67E', 'd_E67F', 'd_E680', 'd_E681', 'd_E682', 'd_E683', 'd_E684', 'd_E685', 'd_E686', 'd_E687', 'd_E688', 'd_E689', 'd_E68A', 'd_E68B', 'd_E68C', 'd_E68D', 'd_E68E', 'd_E68F', 'd_E690', 'd_E691', 'd_E692', 'd_E693', 'd_E694', 'd_E695', 'd_E696', 'd_E697', 'd_E698', 'd_E699', 'd_E69A', 'd_E69B', 'd_E69C', 'd_E69D', 'd_E69E', 'd_E69F', 'd_E6A0', 'd_E6A1', 'd_E6A2', 'd_E6A3', 'd_E6A4', 'd_E6A5', 'd_E6CE', 'd_E6CF'
						//, 'd_E6D0', 'd_E6D1', 'd_E6D2'
						, 'd_E6D3'
						//, 'd_E6D4', 'd_E6D5'
						, 'd_E6D6', 'd_E6D7', 'd_E6D8', 'd_E6D9', 'd_E6DA', 'd_E6DB', 'd_E6DC', 'd_E6DD', 'd_E6DE', 'd_E6DF', 'd_E6E0', 'd_E6E1', 'd_E6E2', 'd_E6E3', 'd_E6E4', 'd_E6E5', 'd_E6E6', 'd_E6E7', 'd_E6E8', 'd_E6E9', 'd_E6EA', 'd_E6EB', 'd_E70B', 'd_E6EC', 'd_E6ED', 'd_E6EE', 'd_E6EF', 'd_E6F0', 'd_E6F1', 'd_E6F2', 'd_E6F3', 'd_E6F4', 'd_E6F5', 'd_E6F6', 'd_E6F7', 'd_E6F8', 'd_E6F9', 'd_E6FA', 'd_E6FB', 'd_E6FC', 'd_E6FD', 'd_E6FE', 'd_E6FF', 'd_E700', 'd_E701', 'd_E702', 'd_E703', 'd_E704', 'd_E705', 'd_E706', 'd_E707', 'd_E708', 'd_E709', 'd_E70A', 'd_E6AC', 'd_E6AD', 'd_E6AE', 'd_E6B1', 'd_E6B2', 'd_E6B3', 'd_E6B7', 'd_E6B8', 'd_E6B9', 'd_E6BA'
						//, 'd_E6A6', 'd_E6A7', 'd_E6A8', 'd_E6A9', 'd_E6AA', 'd_E6AB'
						//, 'd_E6AF', 'd_E6B0', 'd_E6B4', 'd_E6B5', 'd_E6B6'
						//, 'd_E6BB', 'd_E6BC', 'd_E6BD', 'd_E6BE', 'd_E6BF'
						//, 'd_E6C0', 'd_E6C1', 'd_E6C2', 'd_E6C3', 'd_E6C4', 'd_E6C5', 'd_E6C6'
						//, 'd_E6C7', 'd_E6C8', 'd_E6C9', 'd_E6CA'
						//, 'd_E6CB', 'd_E6CC', 'd_E6CD', 'd_E70C', 'd_E70D'
						, 'd_E70E', 'd_E70F', 'd_E710', 'd_E711', 'd_E712', 'd_E713', 'd_E714', 'd_E715', 'd_E716', 'd_E717', 'd_E718', 'd_E719', 'd_E71A', 'd_E71B', 'd_E71C', 'd_E71D', 'd_E71E', 'd_E71F', 'd_E720', 'd_E721', 'd_E722', 'd_E723', 'd_E724', 'd_E725', 'd_E726', 'd_E727', 'd_E728', 'd_E729', 'd_E72A', 'd_E72B', 'd_E72C', 'd_E72D', 'd_E72E', 'd_E72F', 'd_E730', 'd_E731', 'd_E732', 'd_E733', 'd_E734', 'd_E735', 'd_E736', 'd_E737', 'd_E738', 'd_E739', 'd_E73A', 'd_E73B', 'd_E73C', 'd_E73D', 'd_E73E', 'd_E73F', 'd_E740', 'd_E741', 'd_E742', 'd_E743', 'd_E744', 'd_E745', 'd_E746', 'd_E747', 'd_E748', 'd_E749', 'd_E74A', 'd_E74B', 'd_E74C', 'd_E74D', 'd_E74E', 'd_E74F', 'd_E750', 'd_E751', 'd_E752', 'd_E753', 'd_E754', 'd_E755', 'd_E756', 'd_E757']
							, html = '';
						for (var i in l){
							html += '<img src="/aulta/img/mbl/' + l[i] + '.gif" rel="' + l[i] + '" width="12" height="12" />';
						}
						jQuery('#dialog_emoji_list').html(html).attr('status', 'loaded');
						jQuery('#dialog_emoji_list img')
						.css('border', 'solid 2px transparent')
						.hover(
							function(){jQuery(this).css('border-color', 'red');},
							function(){jQuery(this).css('border-color', 'transparent');}
						)
						;
						jQuery('#dialog_emoji_list img')
						.click(function(){
							var key = jQuery('#dialog_emoji_list').attr('objectkey_key');
							jQuery('#' + key + ' textarea[name="Note"]')
							.insertAtCaret(
								'[' + jQuery(this).attr('rel').replace('_', ':') + ']'
							);
						});
					},
					buttons : {
						'閉じる' : function(){jQuery(this).dialog('close');}
					}
				});
			}
		}
		,
		/*
		 *2	text
		 */
		text : {
			//3 loading
			loading : '<img class="loading" src="/aulta/img/loading.gif" width="220" height="47" alt="now loading..." />'
			//,
			//del : '<img class="button_delete" src="/aulta/img/delete.gif" width="16" height="14" alt="delete" />'
			,
			//3	time
			time : function(){return '?t=' + (new Date()).getTime()}
		}
		,
		/*
		 *2 string
		 */
		string : {
			/*
			 *3	toZenKana	半角カナを全角に
			 */
			toZenKana : function(a){
				var b = a + ''
					, c = new Array("ｶﾞ","ｷﾞ","ｸﾞ","ｹﾞ","ｺﾞ","ｻﾞ","ｼﾞ","ｽﾞ","ｾﾞ","ｿﾞ","ﾀﾞ","ﾁﾞ","ﾂﾞ","ﾃﾞ","ﾄﾞ","ﾊﾞ","ﾋﾞ","ﾌﾞ","ﾍﾞ","ﾎﾞ","ﾊﾟ","ﾋﾟ","ﾌﾟ","ﾍﾟ","ﾎﾟ","ｦ","ｧ","ｨ","ｩ","ｪ","ｫ","ｬ","ｭ","ｮ","ｯ","ｰ","ｱ","ｲ","ｳ","ｴ","ｵ","ｶ","ｷ","ｸ","ｹ","ｺ","ｻ","ｼ","ｽ","ｾ","ｿ","ﾀ","ﾁ","ﾂ","ﾃ","ﾄ","ﾅ","ﾆ","ﾇ","ﾈ","ﾉ","ﾊ","ﾋ","ﾌ","ﾍ","ﾎ","ﾏ","ﾐ","ﾑ","ﾒ","ﾓ","ﾔ","ﾕ","ﾖ","ﾗ","ﾘ","ﾙ","ﾚ","ﾛ","ﾜ","ﾝ")
					, d = new Array("ガ","ギ","グ","ゲ","ゴ","ザ","ジ","ズ","ゼ","ゾ","ダ","ヂ","ヅ","デ","ド","バ","ビ","ブ","ベ","ボ","パ","ピ","プ","ペ","ポ","ヲ","ァ","ィ","ゥ","ェ","ォ","ャ","ュ","ョ","ッ","ー","ア","イ","ウ","エ","オ","カ","キ","ク","ケ","コ","サ","シ","ス","セ","ソ","タ","チ","ツ","テ","ト","ナ","ニ","ヌ","ネ","ノ","ハ","ヒ","フ","ヘ","ホ","マ","ミ","ム","メ","モ","ヤ","ユ","ヨ","ラ","リ","ル","レ","ロ","ワ","ン")
					;
				while(b.match(/[ｦ-ﾝ]/)){
					for(var i = 0; i < c.length; i++){
						b = b.replace(c[i], d[i]);
					}
				}
				return b;
			}
			,
			/*
			 *3 全角数字を半角数字に
			 */
			toHarfNumber : function(text){
				var char1 = new Array("１","２","３","４","５","６","７","８","９","０")
					, char2 = new Array(1,2,3,4,5,6,7,8,9,0)
					, count
					, data = text + '';
				while(data.match(/[０-９]/)){
					for(count = 0; count < char1.length; count++){
						data = data.replace(char1[count], char2[count]);
					}
				}
				return data;
			}
			,
			/*
			 *3 機種依存文字を置き換える
			 */
			replaceDependenceChar : function(text){
				return text
					.replace('①', '(1)')
					.replace('②', '(2)')
					.replace('③', '(3)')
					.replace('④', '(4)')
					.replace('⑤', '(5)')
					.replace('⑥', '(6)')
					.replace('⑦', '(7)')
					.replace('⑧', '(8)')
					.replace('⑨', '(9)')
					.replace('⑩', '(10)')
					.replace('⑪', '(11)')
					.replace('⑫', '(12)')
					.replace('⑬', '(13)')
					.replace('⑭', '(14)')
					.replace('⑮', '(15)')
					.replace('⑯', '(16)')
					.replace('⑰', '(17)')
					.replace('⑱', '(18)')
					.replace('⑲', '(19)')
					.replace('⑳', '(20)')
					.replace('Ⅰ', 'I')
					.replace('Ⅱ', 'II')
					.replace('Ⅲ', 'III')
					.replace('Ⅳ', 'IV')
					.replace('Ⅴ', 'V')
					.replace('Ⅵ', 'VI')
					.replace('Ⅶ', 'VII')
					.replace('Ⅷ', 'VIII')
					.replace('Ⅸ', 'IX')
					.replace('Ⅹ', 'X')
					;
			}
			,
			/*
			 *3	trim
			 */
			trim : function(a){
				return (a+'').replace(/^　+|　+$/g, "").replace(/^¥s+|¥s+$/g, "");
			}
			,
			/*
			 *3	format
			 */
			format : function(num){
				return String(num).split('').reverse().join('').match(/\d{1,3}/g).join(',').split('').reverse().join('');
			}
			,
			/*
			decodeQuot = function(a){
				var r = a.replace('&quot;', '"').replace('&#039', "'");
				return aulta.string.replaceText(r, 2);
			}
			encodeQuot = function(a){
				var r = aulta.string.replaceText(a, 1);
				return r.replace('"', '&quot;').replace("'", '&#039');
			}
			*/
			/*
			 *3	urlデコード
			 */
			urldecode : function(a){
				var b;
				b = decodeURI(a);
				b = b.replace(/\+/g,' ');
				b = b.replace(/%26/g,'&');
				b = b.replace(/%3B/g,';');
				b = b.replace(/%23/g,'#');
				b = b.replace(/%24/g,'$');
				b = b.replace(/%3D/g,'=');
				b = b.replace(/%2F/g,'/');
				b = b.replace(/%40/g,'@');
				b = b.replace(/%2B/g,'+');
				b = b.replace(/%3F/g,'?');
				b = b.replace(/%2C/g,',');
				b = b.replace(/%3A/g,':');
				return b;
			}
			,
			/*
			 *3	urlエンコード
			 */
			urlencode : function(a){
				var i, b, c, d;
				b = '';
				for (i = 0; i < a.length; i++){
					c = a.charCodeAt(i);
					if (c == 0x20){
						b += "%20";
					} else {
						if (((0x30 <= c) && (c <= 0x39)) || ((0x41 <= c) && (c <= 0x5a)) || ((0x61 <= c) && (c <= 0x7a))){
							b += a.charAt(i);
						} else if ((c == 0x2a) || (c == 0x2e) || (c == 0x2d) || (c == 0x5f)) {
							b += a.charAt(i);
						} else {
							// Ref. http://homepage3.nifty.com/aokura/jscript/utf8.html
							// Ref. http://homepage1.nifty.com/nomenclator/unicode/ucs_utf.htm
							if ( c > 0xffff ) {
								b += "%" + ((c >> 18) | 0xf0).toString(16).toUpperCase();
								b += "%" + (((c >> 12) & 0x3f) | 0x80).toString(16).toUpperCase();
								b += "%" + (((c >> 6) & 0x3f) | 0x80).toString(16).toUpperCase();
								b += "%" + ((c & 0x3f) | 0x80).toString(16).toUpperCase();
							} else if ( c > 0x7ff ) {
								b += "%" + ((c >> 12) | 0xe0).toString(16).toUpperCase();
								b += "%" + (((c >> 6) & 0x3f) | 0x80).toString(16).toUpperCase();
								b += "%" + ((c & 0x3f) | 0x80).toString(16).toUpperCase();
							} else if ( c > 0x7f ) {
								b += "%" + (((c >> 6) & 0x1f) | 0xc0).toString(16).toUpperCase();
								b += "%" + ((c & 0x3f) | 0x80).toString(16).toUpperCase();
							} else {
								d = "0" + c.toString(16).toUpperCase();
								b += "%" + d.substr(d.length - 2, 2);
							}
						}
					}
				}
				return b;
			}
			,
			/*
			 *3	文字列を***にする
			 */
			toPasswdChar : function(a){
				var r = '';
				for(var i=0;i<a.length;i++)r += '*';
				return r;
			}
			,
			/*
			 *3	テキストのhttpをリンクタグにする
			 */
			toWrapATag : function(a){
				a = a.replace(/&amp;/g, '&');
				return a.replace(/(http.?:\/\/[0-9A-Za-z_&\+\-\/\.\%\?\&\=]+)/g,"<a href='/jump.php?url=$1' target='_blank'>$1</a>");
			}
			,
			/*
			 *3	正規表現
			 */
			ereg : function(text, pattern){
				var buf = text + '';
				return buf.match(new RegExp(pattern, 'i'));
			}
			,
			/*
			 *3	入力文字の文字列置換え
			 *	a = text
			 *	b	= 置換え動作
			 */
			replaceText : function(a,b){
				var c = a+'';
				if (b == 0){
					//本文中の、余計な改行と空白を削除、半角カナを全角に
					c = c.replace(/\r\n/g,"\n");
					c = c.replace(/\r/g,"\n");
					c = c.replace(/\r\n/g,"\n");
					c = c.replace(/　{3,}/g,"　");
					c = c.replace(/\x20{3,}/g,"   ");
					c = c.replace(/\n{3,}/g,"\n\n");
					c = c.replace(/\n+$/g,"");
					c = aulta.string.toZenKana(c);
					c = aulta.string.trim(c);
				} else if (b == 1){
					//HTMLタグなどの置換え
					c = c.replace(/&/g,"&amp;");
					c = c.replace(/</g,"&lt;");
					c = c.replace(/>/g,"&gt;");
					c = c.replace(/'/g,"&#039;");
					c = c.replace(/\"/g,"&quot;");
					c = c.replace(/\n/g,"<br />");
				} else if (b == 2){
					//HTMLタグなどの置換え
					c = c.replace(/<br \/>/g,"\n");
					c = c.replace(/&quot;/g,"\"");
					c = c.replace(/&#039;/g,"'");
					c = c.replace(/&lt;/g,"<");
					c = c.replace(/&gt;/g,">");
					c = c.replace(/&amp;/g,"&");
					/*
				} else if (b == 2){
					//HTMLタグなどの置換え
					c = c.replace(/<br />/ig,"\n");
					//c = c.replace(/&/g,"&amp;");
					c = c.replace(/</g,"&lt;");
					c = c.replace(/>/g,"&gt;");
					c = c.replace(/\"/g,"&quot;");
					*/
				}
				return c;
			}
		}
		,
		/*
		 *2 date
		 */
		date : {
			/*
			 *3 format
			 */
			format : function(format, dt){
				if (typeof(dt) == 'object'){
					return format
						.replace('Y', dt.getFullYear())
						.replace('m', (dt.getMonth() + 1))
						.replace('d', dt.getDate())
						.replace('H', dt.getHours())
						.replace('i', dt.getMinutes())
						.replace('s', dt.getSeconds());
				} else {
					return '';
				}
			}
			,
			/*
			 *3 text2date
			 */
			text2date : function(text, def){
				var date = new Date()
					, time = Date.parse(text);
				if (isNaN(parseInt(time))){
					return def;
				} else {
					date.setTime(time);
					return date;
				}
			}
		}
		,
		/*
		 *2 utility
		 */
		utility : {
			/*
			 *3 bodyScrollTop
			 */
			bodyScrollTop : function(){
				var r = ((document.body.scrollTop || document.documentElement.scrollTop || window.pageYOffset) + '').replace('px', '') - 0;
				return r;
			},
			/*
			 *3 scrollLock
			 */
			scrollLock : {
				startY : 0,
				start : function(){
					aulta.utility.scrollLock.startY = ((document.body.scrollTop || document.documentElement.scrollTop) + '').replace('px', '') - 0;
					jQuery(window).bind('scroll', aulta.utility.scrollLock.func);
				},
				stop : function(){
					jQuery(window).unbind('scroll', aulta.utility.scrollLock.func);
				},
				func : function(){
					document.body.scrollTop = document.documentElement.scrollTop = aulta.utility.scrollLock.startY;
				}
			}
			,
			/*
			 *3 skypeout
			 */
			skypeout : function(){
			  var d = document,
			    h = d.getElementsByTagName('head')[0],
			    id = setInterval(function(){
			    var s = h.getElementsByTagName('style'), u = 'undefined', c = 0;
			    for(var i = c = s.length - 1; i >= 0; i--){
			      if (typeof s[i] != u && s[i].className == 'skype_out'){
			        if (i == c) return;
			        s[i].parentNode.removeChild(s[i]);
			      } else if (s[i].innerHTML.indexOf('span.skype_pnh_print_container') > -1){
			        clearInterval(id);
			      }
			    }
			    try{
				    var n = d.createElement('style');
				    n.className = 'skype_out';
				    n.appendChild(document.createTextNode('span.skype_pnh_print_container{display:inline !important;}span.skype_pnh_container{display:none !important;}'));
				    h.appendChild(n);
				  } catch (e){
				  }
			  }, 1000);  //  1000 = 1秒間隔
			}
			,
			/*
			 *3 arr2UrlParam	//	連想配列をURLパラメータに
			 */
			arr2UrlParam : function(param){
				var r = '';
				for (var i in param){
					r += '&' + i + '=' + aulta.string.urlencode(aulta.string.trim(param[i]));
				}
				return r;
			}
			,
			/*
			 *3 openUrlWithPost
			 */
			openUrlWithPost : function(url, target, params, callback){
				var form =
				jQuery('<form>', {
					action : url + '?t=' + (new Date()).getTime(),
					target : target,
					method : 'post'
				})
				.append(
					jQuery('<input type="submit" value="go" />')
				);
				for (var ind in params){
					form.append(
						jQuery('<input type="hidden" name="' + ind + '" />').val(params[ind])
					);
				}
				jQuery('body').append(form);
				form.submit();
				form.remove();
				if (callback) callback();
			}
			,
			/*
			 *3 openUrlWithPost2
			 */
			openUrlWithPost2 : function(url, params, callback){
				var target = 'send_target' + (new Date).getTime(),
				toDeleteFlag = false,
				iframe = 
				jQuery('<iframe>', {
					id : target,
					name : target,
					src : '#',
					width : 1,
					height : 1,
					css : {
						position : 'absolute',
						left : '-100px',
						top : '0px'
					}
				}),
				form =
				jQuery('<form>', {
					action : url + '?t=' + (new Date()).getTime(),
					target : target,
					method : 'post',
					width : 1,
					height : 1,
					css : {
						position : 'absolute',
						left : '-100px',
						top : '0px'
					}
				})
				.append(
					jQuery('<input type="submit" value="go" />')
				);
				for (var ind in params){
					form.append(
						jQuery('<input type="hidden" name="' + ind + '" />').val(params[ind])
					);
				}
				jQuery('body').append(iframe).append(form);
				iframe.load(function(){
					if (
						this.src == "javascript:'%3Chtml%3E%3C/html%3E';"	// For Safari
						|| this.src == "javascript:'<html></html>';"	//	// For FF, IE
					){
						if (toDeleteFlag) {setTimeout(function(){jQuery(this).empty().remove();}, 0);}
						return;
					}
					var doc, response = '';
					try{
						doc = this.contentDocument ? this.contentDocument : window.frames[this.id].document;
						if (doc.readyState && doc.readyState != 'complete') return;
						if (doc.body && doc.body.innerHTML == "false") return;
						if (doc.XMLDocument) {
							response = doc.XMLDocument;
						} else if (doc.body){
							response = doc.body.innerHTML;
						} else {
							response = doc;
						}
					} catch (e){
						response = e;
					}
					if (callback) callback(response);
					toDeleteFlag = true;
					this.src = "javascript:'<html></html>';";
					setTimeout(function(){jQuery(this).empty().remove();}, 0);
				});
				form.submit();
				form.remove();
			}
		}
	};
})();






