var tone = new Object();
tone["ang1"] = "āng";tone["ang2"] = "áng";tone["ang3"] = "ǎng";tone["ang4"] = "àng";
tone["eng1"] = "ēng";tone["eng2"] = "éng";tone["eng3"] = "ěng";tone["eng4"] = "èng";
tone["ing1"] = "īng";tone["ing2"] = "íng";tone["ing3"] = "ǐng";tone["ing4"] = "ìng";
tone["ong1"] = "ōng";tone["ong2"] = "óng";tone["ong3"] = "ǒng";tone["ong4"] = "òng";
tone["ai1"] = "āi";tone["ai2"] = "ái";tone["ai3"] = "ǎi";tone["ai4"] = "ài";
tone["an1"] = "ān";tone["an2"] = "án";tone["an3"] = "ǎn";tone["an4"] = "àn";
tone["ao1"] = "āo";tone["ao2"] = "áo";tone["ao3"] = "ǎo";tone["ao4"] = "ào";
tone["ei1"] = "ēi";tone["ei2"] = "éi";tone["ei3"] = "ěi";tone["ei4"] = "èi";
tone["en1"] = "ēn";tone["en2"] = "én";tone["en3"] = "ěn";tone["en4"] = "èn";
tone["er1"] = "ēr";tone["er2"] = "ér";tone["er3"] = "ěr";tone["er4"] = "èr";
tone["ie1"] = "iē";tone["ie2"] = "ié";tone["ie3"] = "iě";tone["ie4"] = "iè";
tone["in1"] = "īn";tone["in2"] = "ín";tone["in3"] = "ǐn";tone["in4"] = "ìn";
tone["ng2"] = "ńg";tone["ng3"] = "ňg";tone["ng4"] = "ǹg";
tone["ou1"] = "ōu";tone["ou2"] = "óu";tone["ou3"] = "ǒu";tone["ou4"] = "òu";
tone["un1"] = "ūn";tone["un2"] = "ún";tone["un3"] = "ǔn";tone["un4"] = "ùn";
tone["ve3"] = "üě";tone["ve4"] = "üè";
tone["a1"] = "ā";tone["a2"] = "á";tone["a3"] = "ǎ";tone["a4"] = "à";
tone["e1"] = "ē";tone["e2"] = "é";tone["e3"] = "ě";tone["e4"] = "è";
tone["i1"] = "ī";tone["i2"] = "í";tone["i3"] = "ǐ";tone["i4"] = "ì";
tone["o1"] = "ō";tone["o2"] = "ó";tone["o3"] = "ǒ";tone["o4"] = "ò";
tone["u1"] = "ū";tone["u2"] = "ú";tone["u3"] = "ǔ";tone["u4"] = "ù";
tone["v1"] = "ǖ";tone["v2"] = "ǘ";tone["v3"] = "ǚ";tone["v4"] = "ǜ";
//--------------------------------
function pcv(){
	var allTags = document.getElementsByTagName('span');
	for (var i=0;i<allTags.length;i++){
		if(allTags[i].className=="pyn") {
			var pinyin = allTags[i].innerHTML;
			allTags[i].innerHTML = toneconv(pinyin);
		}
	}
	return true;
}
//--------------------------------
function toneconv(str){
	var cur = str.match(/(ang|eng|ing|ong|ai|an|ao|ei|en|er|ie|in|ng|ou|un|ve|a|e|i|u|o|v)[1-4]{1,1}/g);
	if (!cur) {
		return(str);
	}
	for ( var i = 0; i < cur.length; i++ ) {
		var target = cur[i];
		if ( typeof( tone[target] ) != "undefined" ) {
			str = str.replace(cur[i],tone[target]);
		}
	}
	return(str);
}
//--------------------------------
function textarea_insert_str(str) {
	var textarea = document.edit_form.jpn;
	textarea.focus();
	if (document.selection) {
			var range = document.selection.createRange();
			range.text = str;
	} else if (textarea.selectionStart != undefined) {
			var start = textarea.selectionStart;
			var end = textarea.selectionEnd;
			textarea.value = textarea.value.substring(0, start) + str + textarea.value.substring(end);
			textarea.setSelectionRange(start + str.length, start + str.length);
	} else {
			textarea.value += str;
	}
}
//--------------------------------
function addstr(id, str, delm) {
	var obj = document.getElementById(id);
	var cur = obj.value;
	delm = delm || "";
	if(cur =="") {
		cur = str;
	} else {
		cur += delm + str;
	}
	obj.value = cur;
}
//--------------------------------
function showhide(id) {
	if(!document.getElementById) return;
	var obj = document.getElementById(id);
	if(obj.style.display == "block") {
		obj.style.display = "none";
	} else {
		obj.style.display = "block";
	}
}
//--------------------------------
function trim(str) {
	str = str.replace(/^[ 　]+/,"");
	str = str.replace(/[ 　]+$/,"");
	return(str);
}
//--------------------------------
function chkword() {
	if (!document.kitajiro.word.value) {
		return false;
	}
	return true;
}
//--------------------------------
function generate_url(word){
	surl = "./search.php?opts=ex&word=";
	enc_word = encodeURIComponent(word);
	surl=surl + enc_word;
	location.href=surl;
}
// markup --------------------------------
//function doMarkup(s) {
//	var div = document.createElement("div");
//	var lines = s.replace(/\r\n|\r|\n/g, "\n").split(/\n/);
//	var flag = "";
//	var elm, txt;
//	for (var i = 0; i < lines.length; i++) {
//		var line = lines[i];
//		if (line.match(/^\n*$/)) {
//			flag = "";
//			continue;
//		} else if (line.indexOf("*") == 0) {
//			flag = "";
//			elm = document.createElement("p");
//			elm.className = "pyn";
//			line = line.replace(/^\*\s*/, "");
//			txt = document.createTextNode(toneconv(line));
//			elm.appendChild(txt);
//		} else if (line.indexOf("+") == 0) {
//			if (flag == "") {
//				elm = document.createElement("ol");
//				flag = elm;
//			} else {
//				elm = flag;
//			}
//			var li = document.createElement("li");
//			txt = document.createTextNode(line.replace(/^\+\s*/, ""));
//			li.appendChild(txt);
//			elm.appendChild(li);
//		} else {
//			elm = document.createElement("p");
//			txt = document.createTextNode(line);
//			elm.appendChild(txt);
//		}
//		//div.appendChild(markupInline(elm));
//		div.appendChild(txt2html(elm));
//	}
//	return div;
//}
//--------------------------------
function txt2html(elm) {
	var s = elm.innerHTML;
	if (s != "") {
		s = s.replace(/\{\{([^\}]+)\}\}/g, '<span lang="zh" class="cn">$1</span>');
		s = s.replace(/\[\[(https?:\/\/[^ 　]+)( |　)([^\]]+)\]\]/g, '<a href="$1" target="_blank">$3</a>');
		s = s.replace(/\[\[([^\]]+)\]\]/g, '<span lang="zh" class="click">$1</span>');
		s = s.replace(/\{([一-龠]+)\|([^\}]+)\}/g, '<ruby><rb>$1</rb><rp>(</rp><rt>$2</rt><rp>)</rp></ruby>');
		s = s.replace(/([一-龠]+)\{([^\}]+)\}/g, '<ruby><rb>$1</rb><rp>(</rp><rt>$2</rt><rp>)</rp></ruby>');
		elm.innerHTML = s;
	}
	return elm;
}
//--------------------------------
function speak(wid, word) {
	var appId = "978E6315996CD9772C6F953FF54310CA760E7B9D";
	var para = "#" + wid;
	var imgid = "#img" + wid;
	$(imgid).attr('src','./img/loading.gif');
	$.ajax({
		type: "GET",
		url: "http://api.microsofttranslator.com/V2/Ajax.svc/Speak",
		dataType: "jsonp",
		data: {
			appId: appId,
			text: word,
			language: "zh-chs",
			format: "audio/wav"
		},
		jsonp: "oncomplete",
		timeout : 3000,
		error: function(XHR, status, errorThrown) {
			$(imgid).attr('src','./img/sound.gif');
			alert("エラーが発生し、音声の取得に失敗しました。");
		},
		success: function (data, dataType) {
			$(imgid).attr('src','./img/sound.gif');
			if(jQuery.browser.webkit){
				$(para).append(
				$("<embed>").attr("width", "0").attr("height", "0").attr("hidden", true).attr("src", data).attr("autostart", true));
			}else {
				$(para).append(
				$("<embed>").attr("hidden", true).attr("src", data).attr("autostart", true));
			}
		}
	});
}
//--------------------------------
function doMarkup(target, id) {
	$('#'+id).html( "<img src=\"./img/loading.gif\">" );
	$.ajax({
		dataType: "html",
		data: {
			"mode": "parse",
			"str": target,
		},
		cache: true,
		url: "http://www.ctrans.org/api.php",
		timeout : 3000,
		error: function(XHR, status, errorThrown) {
			alert("エラーが発生し、文字列の変換に失敗しました。");
		},
		success: function (data) {
			$('#'+id).html( data );
			//dest = document.getElementById(id);
			//dest.innerHTML = data;
		}
	});
}
//--------------------------------
function star(word, id) {
	var stars = $.cookie("stars");
	var dest = document.getElementById(id);
	var flg = false;
	if (stars != null) {
		var delm = "\t";
		var ary = stars.split(delm);
		var idx = ary.indexOf(word)
		if (idx > -1) {
			ary.splice(idx,1);
			stars = ary.join("\t");
		} else {
			stars = word + "\t" + stars;
			flg = true;
		}
		ary = stars.split(delm);
		if (ary.length > 20) {
			ary = ary.slice(0,20);
			stars = ary.join("\t");
		}
	} else {
		stars = word;
		flg = true;
	}
	$.cookie("stars", stars, { expires: 365 });
	if (flg) {
		$('[title=' + word + ']').css("background-image","url(http://www.ctrans.org/img/star.png)");
	} else {
		$('[title=' + word + ']').css("background-image","url(http://www.ctrans.org/img/star-empty.png)");
	}
}
//--------------------------------





