
function wptexturize(text) {
	text = ' '+text+' ';
	var next 	= true;
	var output 	= '';
	var prev 	= 0;
	var length 	= text.length;
	while ( prev < length ) {
		var index = text.indexOf('<', prev);
		if ( index > -1 ) {
			if ( index == prev ) {
				index = text.indexOf('>', prev);
			}
			index++;
		} else {
			index = length;
		}
		var s = text.substring(prev, index);
		prev = index;
		if ( s.substr(0,1) != '<' && next == true ) {
			s = s.replace(/---/g, '&#8212;');
			s = s.replace(/--/g, '&#8211;');
			s = s.replace(/\.{3}/g, '&#8230;');
			s = s.replace(/``/g, '&#8220;');
			s = s.replace(/'s/g, '&#8217;s');
			s = s.replace(/'(\d\d(?:&#8217;|')?s)/g, '&#8217;$1');
			s = s.replace(/([\s"])'/g, '$1&#8216;');
			s = s.replace(/(\d+)"/g, '$1&Prime;');
			s = s.replace(/(\d+)'/g, '$1&prime;');
			s = s.replace(/([^\s])'([^'\s])/g, '$1&#8217;$2');
			s = s.replace(/(\s)"([^\s])/g, '$1&#8220;$2');
			s = s.replace(/"(\s)/g, '&#8221;$1');
			s = s.replace(/'(\s|.)/g, '&#8217;$1');
			s = s.replace(/\(tm\)/ig, '&#8482;');
			s = s.replace(/\(c\)/ig, '&#169;');
			s = s.replace(/\(r\)/ig, '&#174;');
			s = s.replace(/''/g, '&#8221;');
			s = s.replace(/(\d+)x(\d+)/g, '$1&#215;$2');

s = s.replace(/（まじ）/g, '<img src="/wp-includes/images/smilies/011.gif" />');
s = s.replace(/（あせ）/g, '<img src="/wp-includes/images/smilies/012.gif" />');
s = s.replace(/（わら）/g, '<img src="/wp-includes/images/smilies/013.gif" />');
s = s.replace(/（しょぼ）/g, '<img src="/wp-includes/images/smilies/014.gif" />');
s = s.replace(/（にや）/g, '<img src="/wp-includes/images/smilies/015.gif" />');
s = s.replace(/（いかり）/g, '<img src="/wp-includes/images/smilies/016.gif" />');
s = s.replace(/（びっくり）/g, '<img src="/wp-includes/images/smilies/017.gif" />');
s = s.replace(/（ん）/g, '<img src="/wp-includes/images/smilies/018.gif" />');
s = s.replace(/（ういんく）/g, '<img src="/wp-includes/images/smilies/019.gif" />');
s = s.replace(/（ぐらさん）/g, '<img src="/wp-includes/images/smilies/020.gif" />');
s = s.replace(/（すき）/g, '<img src="/wp-includes/images/smilies/021.gif" />');
s = s.replace(/（かなし）/g, '<img src="/wp-includes/images/smilies/022.gif" />');
s = s.replace(/（わーん）/g, '<img src="/wp-includes/images/smilies/023.gif" />');
s = s.replace(/（うる）/g, '<img src="/wp-includes/images/smilies/024.gif" />');
s = s.replace(/（はず）/g, '<img src="/wp-includes/images/smilies/025.gif" />');
s = s.replace(/（ぎょ）/g, '<img src="/wp-includes/images/smilies/026.gif" />');
s = s.replace(/（げー）/g, '<img src="/wp-includes/images/smilies/027.gif" />');
s = s.replace(/（あれ）/g, '<img src="/wp-includes/images/smilies/028.gif" />');
s = s.replace(/（ぺこ）/g, '<img src="/wp-includes/images/smilies/029.gif" />');
s = s.replace(/（にこ）/g, '<img src="/wp-includes/images/smilies/030.gif" />');
s = s.replace(/（むふ）/g, '<img src="/wp-includes/images/smilies/031.gif" />');
s = s.replace(/（ひょえ）/g, '<img src="/wp-includes/images/smilies/032.gif" />');

s = s.replace(/（めがね）/g, '<img src="/wp-includes/images/smilies/megane.gif" />');
s = s.replace(/（ひげ）/g, '<img src="/wp-includes/images/smilies/hige.gif" />');
s = s.replace(/（しゅっけ）/g, '<img src="/wp-includes/images/smilies/moe.gif" />');
s = s.replace(/（かね）/g, '<img src="/wp-includes/images/smilies/kane.gif" />');
s = s.replace(/（だつ）/g, '<img src="/wp-includes/images/smilies/datu.gif" />');

s = s.replace(/（うふ）/g, '<img src="/wp-includes/images/smilies/ufu.gif" />');
s = s.replace(/（ぴーぴー）/g, '<img src="/wp-includes/images/smilies/ppeye.gif" />');
s = s.replace(/（しーぴー）/g, '<img src="/wp-includes/images/smilies/cpeye.gif" />');
s = s.replace(/（はなぢ）/g, '<img src="/wp-includes/images/smilies/hanadi.gif" />');

s = s.replace(/（はーと）/g, '<img src="/wp-includes/images/smilies/033.gif" />');
s = s.replace(/（だめだ）/g, '<img src="/wp-includes/images/smilies/034.gif" />');
s = s.replace(/（けーき）/g, '<img src="/wp-includes/images/smilies/035.gif" />');
s = s.replace(/（おくりもの）/g, '<img src="/wp-includes/images/smilies/036.gif" />');
s = s.replace(/（めーる）/g, '<img src="/wp-includes/images/smilies/037.gif" />');
s = s.replace(/（くち）/g, '<img src="/wp-includes/images/smilies/038.gif" />');
s = s.replace(/（ばら）/g, '<img src="/wp-includes/images/smilies/039.gif" />');
s = s.replace(/（にんじん）/g, '<img src="/wp-includes/images/smilies/040.gif" />');
s = s.replace(/（びーる）/g, '<img src="/wp-includes/images/smilies/041.gif" />');
s = s.replace(/（こーひー）/g, '<img src="/wp-includes/images/smilies/042.gif" />');
s = s.replace(/（わいん）/g, '<img src="/wp-includes/images/smilies/043.gif" />');
s = s.replace(/（ぺんぎん）/g, '<img src="/wp-includes/images/smilies/044.gif" />');
s = s.replace(/（ほね）/g, '<img src="/wp-includes/images/smilies/045.gif" />');
s = s.replace(/（でんき）/g, '<img src="/wp-includes/images/smilies/046.gif" />');
s = s.replace(/（でんわ）/g, '<img src="/wp-includes/images/smilies/047.gif" />');
s = s.replace(/（おんぷ）/g, '<img src="/wp-includes/images/smilies/048.gif" />');
s = s.replace(/（あくま）/g, '<img src="/wp-includes/images/smilies/049.gif" />');
s = s.replace(/（てんし）/g, '<img src="/wp-includes/images/smilies/050.gif" />');
s = s.replace(/（たいよう）/g, '<img src="/wp-includes/images/smilies/051.gif" />');
s = s.replace(/（ほのお）/g, '<img src="/wp-includes/images/smilies/052.gif" />');
s = s.replace(/（ゆき）/g, '<img src="/wp-includes/images/smilies/053.gif" />');
s = s.replace(/（なみだ）/g, '<img src="/wp-includes/images/smilies/054.gif" />');
s = s.replace(/（あめ）/g, '<img src="/wp-includes/images/smilies/055.gif" />');
s = s.replace(/（かみなり）/g, '<img src="/wp-includes/images/smilies/056.gif" />');
s = s.replace(/（ほし）/g, '<img src="/wp-includes/images/smilies/057.gif" />');
s = s.replace(/（かさ）/g, '<img src="/wp-includes/images/smilies/058.gif" />');
s = s.replace(/（ちょき）/g, '<img src="/wp-includes/images/smilies/059.gif" />');
s = s.replace(/（ぐー）/g, '<img src="/wp-includes/images/smilies/060.gif" />');
s = s.replace(/（ぱー）/g, '<img src="/wp-includes/images/smilies/061.gif" />');
s = s.replace(/（ぴーす）/g, '<img src="/wp-includes/images/smilies/062.gif" />');
s = s.replace(/（ぐっど）/g, '<img src="/wp-includes/images/smilies/063.gif" />');
s = s.replace(/（ぶー）/g, '<img src="/wp-includes/images/smilies/064.gif" />');
s = s.replace(/（おーけー）/g, '<img src="/wp-includes/images/smilies/065.gif" />');
s = s.replace(/（まて）/g, '<img src="/wp-includes/images/smilies/066.gif" />');
s = s.replace(/（それ）/g, '<img src="/wp-includes/images/smilies/067.gif" />');
s = s.replace(/（月猫団）/g, '<img src="/wp-includes/images/smilies/neko_g.png" />');
s = s.replace(/（赤月猫）/g, '<img src="/wp-includes/images/smilies/neko_r.png" />');
s = s.replace(/（紫月猫）/g, '<img src="/wp-includes/images/smilies/neko_p.png" />');
s = s.replace(/（青月猫）/g, '<img src="/wp-includes/images/smilies/neko_b.png" />');
s = s.replace(/（ピピン）/g, '<img src="/wp-includes/images/smilies/001.gif" />');
s = s.replace(/（タンプー）/g, '<img src="/wp-includes/images/smilies/002.gif" />');
s = s.replace(/（ドルフ）/g, '<img src="/wp-includes/images/smilies/003.gif" />');
s = s.replace(/（ティッキー）/g, '<img src="/wp-includes/images/smilies/004.gif" />');
s = s.replace(/（カディエ）/g, '<img src="/wp-includes/images/smilies/005.gif" />');
s = s.replace(/（ドライバー）/g, '<img src="/wp-includes/images/smilies/006.gif" />');
s = s.replace(/（ロロ）/g, '<img src="/wp-includes/images/smilies/007.gif" />');
s = s.replace(/（キューマ）/g, '<img src="/wp-includes/images/smilies/008.gif" />');
s = s.replace(/（メダル）/g, '<img src="/wp-includes/images/smilies/010.gif" />');
s = s.replace(/\(skype\)/g, '<img src="/wp-includes/images/smilies/0142-skype.gif" />');
s = s.replace(/\(hug\)/g, '<img src="/wp-includes/images/smilies/0134-bear.gif" />');
s = s.replace(/\(dance\)/g, '<img src="/wp-includes/images/smilies/0160-dance.gif" />');
s = s.replace(/\(ninja\)/g, '<img src="/wp-includes/images/smilies/0161-ninja.gif" />');
s = s.replace(/（ねぎ）/g, '<img src="/wp-includes/images/smilies/vlmikunegi.png" />');
s = s.replace(/（めっと）/g, '<img src="/wp-includes/images/smilies/vlrinmet.png" />');

		} else if ( s.substr(0,5) == '<code' ) {
			next = false;
		} else {
			next = true;
		}
		output += s; 
	}
	return output.substr(1, output.length-2);	
}

function wpautop(p) {
	p = p + '\n\n';
	p = p.replace(/(<blockquote[^>]*>)/g, '\n$1');
	p = p.replace(/(<\/blockquote[^>]*>)/g, '$1\n');
	p = p.replace(/\r\n/g, '\n');
	p = p.replace(/\r/g, '\n');
	p = p.replace(/\n\n+/g, '\n\n');
	p = p.replace(/\n?(.+?)(?:\n\s*\n)/g, '<p>$1</p>');
	p = p.replace(/<p>\s*?<\/p>/g, '');
	p = p.replace(/<p>\s*(<\/?blockquote[^>]*>)\s*<\/p>/g, '$1');
	p = p.replace(/<p><blockquote([^>]*)>/ig, '<blockquote$1><p>');
	p = p.replace(/<\/blockquote><\/p>/ig, '<p></blockquote>');	
	p = p.replace(/<p>\s*<blockquote([^>]*)>/ig, '<blockquote$1>');
	p = p.replace(/<\/blockquote>\s*<\/p>/ig, '</blockquote>');	
	p = p.replace(/\s*\n\s*/g, '<br />');
	return p;
}

function updateLivePreview() {
	
	var cmntArea = document.getElementById('comment');
	var pnmeArea = document.getElementById('author');
	var purlArea = document.getElementById('url');
	
	if( cmntArea )
		var cmnt = wpautop(wptexturize(cmntArea.value));

	if( pnmeArea )
	//	var pnme = pnmeArea.value;
		var pnme = wptexturize(pnmeArea.value);
	
	if( purlArea )
		var purl = purlArea.value;
		
	if(purl && pnme) {
		var name = '<a href="' + purl + '">' + pnme + '</a> says';
	} else if(!purl && pnme) {
		var name = pnme + ' says';
	} else if(purl && !pnme) {
		var name = '<a href="' + purl + '">You</a> say';
	} else {
		var name = "You say";
	}
	
        document.getElementById('commentPreview').innerHTML = '<p><em>' + name + ':</em></p><p>' + cmnt + '</p>';
}

function initLivePreview() {
	if(!document.getElementById)
		return false;

	var cmntArea = document.getElementById('comment');
	var pnmeArea = document.getElementById('author');
	var purlArea = document.getElementById('url');
	
	if ( cmntArea )
		cmntArea.onkeyup = updateLivePreview;
	
	if ( pnmeArea )
		pnmeArea.onkeyup = updateLivePreview;
	
	if ( purlArea )
		purlArea.onkeyup = updateLivePreview;	
}

//========================================================
// Event Listener by Scott Andrew - http://scottandrew.com
// edited by Mark Wubben, <useCapture> is now set to false
//========================================================
function addEvent(obj, evType, fn){
	if(obj.addEventListener){
		obj.addEventListener(evType, fn, false); 
		return true;
	} else if (obj.attachEvent){
		var r = obj.attachEvent('on'+evType, fn);
		return r;
	} else {
		return false;
	}
}


function grin(tag) {
	var myField;
	if (document.getElementById('content') && document.getElementById('content').type == 'textarea') {
		myField = document.getElementById('content');
	}
	else if (document.getElementById('comment') && document.getElementById('comment').type == 'textarea') {
		myField = document.getElementById('comment');
	}
	else {
		return false;
	}
	if (document.selection) {
		myField.focus();
		sel = document.selection.createRange();
		sel.text = tag;
		myField.focus();
	}
	else if (myField.selectionStart || myField.selectionStart == '0') {
		var startPos = myField.selectionStart;
		var endPos = myField.selectionEnd;
		var cursorPos = endPos;
		myField.value = myField.value.substring(0, startPos)
					  + tag
					  + myField.value.substring(endPos, myField.value.length);
		cursorPos += tag.length;
		myField.focus();
		myField.selectionStart = cursorPos;
		myField.selectionEnd = cursorPos;
	}
	else {
		myField.value += tag;
		myField.focus();
	}

	// add small trick by Fuku-nyan
	if ( document.getElementById('commentPreview') ) {
		updateLivePreview();
	}
}

function itemshowhide(zap) {
	if ( document.getElementById ) {
		var abra = document.getElementById(zap).style;
		if ( abra.display =="block" ) {
			abra.display = "none";
		}
		else {
			abra.display = "block";
		}
		return false
	}
	else {
		return true
	}

}

addEvent(window, "load", initLivePreview);

