
var savvy_dic_search_options_show = false;

//hand write
function cs_choiceWrite(_data){
	if($("#savvy_QueryString").val()!="Example: 中 / zhong1 / zhong guo / middle"){
		$("#savvy_QueryString").val($("#savvy_QueryString").val()+_data);
		$("#savvy_QueryString").css("color","#000000");
	}else{
		$("#savvy_QueryString").val(_data);
		$("#savvy_QueryString").css("color","#000000");//_obj.style.color='#000000';
	}
	cs_dic_setSearchType("simp");
	return false;
}

function cs_dic_showSearchTypes(_isshow){
	if(_isshow){
		cs_dic_showHandWriter(false);
		cs_dic_showSearchOptions(false);
		$("#searchtypes").show();
	}else{
		$("#searchtypes").hide();
	}
	return false;
}

function cs_dic_showHandWriter(_isshow){
	if(_isshow){
		cs_dic_showSearchTypes(false);
		cs_dic_showSearchOptions(false);
		$("#writeinput").show();
	}else{
		$("#writeinput").hide();
	}
	return false;
}

function cs_dic_showSearchOptions(_isshow){
	if(_isshow){
		if(!savvy_dic_search_options_show){
			Spry.Effect.DoSlide($("#advancedsearch").get(0), {duration: 400, from: "0%", to: "100%", toggle: false});
		}
	}else{
		if(savvy_dic_search_options_show){
			Spry.Effect.DoSlide($("#advancedsearch").get(0), {duration: 400, from: "100%", to: "0%", toggle: false});
		}
	}
	savvy_dic_search_options_show = _isshow;
}

function cs_dic_toggleSearchOptions(){
	savvy_dic_search_options_show = !savvy_dic_search_options_show;
	if(savvy_dic_search_options_show){
		cs_dic_showSearchTypes(false);
		cs_dic_showHandWriter(false);
		//$("#advancedsearch").slideDown("slow");
		Spry.Effect.DoSlide($("#advancedsearch").get(0), {duration: 400, from: "0%", to: "100%", toggle: false});
	}else{
		//$("#advancedsearch").slideUp("slow");
		Spry.Effect.DoSlide($("#advancedsearch").get(0), {duration: 400, from: "100%", to: "0%", toggle: false});
	}
	return false;
}

//play pinyin sound
function cs_dic_playPinyin(_pys,_callback){
	var _cf = null;
	if(_callback!=null && typeof(_callback)!="undefined"){
		_cf = _callback;
	}
	if(_pys.indexOf(" ")!=-1 && _pys.indexOf(",")==-1){
		var _s = "";
		var _ss = _pys.split(" ");
		for(var i=0,n=_ss.length;i<n;i++){
			if(i>0){
				_s += ",";
			}
			_s += _ss[i];
		}
		_pys = _s;
	}
	//$("[@name='dic_pys_player']").get(0).csSetPinyinVoices(_pys,_cf);
	$("#dic_pys_player").get(0).csSetPinyinVoices(_pys,_cf);
	//thisMovie("dic_pys_player").csSetPinyinVoices(_pys,_cf);
	return false;
}

//play chinese sentence sound
function cs_dic_playChinese(_sen){
	$.post("/services/tools/speech.ot",{event:"Common",content:_sen},function(_res){
		if(_res!=null && _res!=""){
			//alert(_res);
			thisMovie("dic_audio_player").csPlayAudio(_res,null);
		}
	});
	return false;
}

function thisMovie(movieName) {
      if (navigator.appName.indexOf("Microsoft") != -1) {
          return document.getElementById(movieName); 
      } else {
          return document[movieName];
      }
}


function cs_dic_setSearchType(_type){
	$("input[@name='searchtype']").each(function(){
		if($(this).val() == _type){
			$(this).attr("checked","checked");
		}else{
			$(this).removeAttr("checked");
		}
	});
	return false;
}

function cs_dic_search_submit(){
	if(cs_dic_search()){
		$("#dic_search_common_form").submit();
	}
	return false;
}

function cs_dic_search(){
	//alert("hello");
	var _cnt = $("#savvy_QueryString").fieldValue();
	var _searchtype = null;
	var _where = null;
	var _catalog = $("#dic_search_catalog").fieldValue();
	$("input[@name='searchtype']").each(function(){
		if($(this).get(0).checked){
			_searchtype = $(this).fieldValue();
		}		
	});
	$("input[@name='where']").each(function(){
		if($(this).get(0).checked){
			_where = $(this).fieldValue();
		}
	});
	
	//alert(_cnt + " * " + _searchtype + " * " + _where + " * " + _catalog);
	if(_cnt == "Example: 中 / zhong1 / zhong guo / middle" || _cnt == ""){
		alert("The search field is left empty!");
		return false;
	}
	
	if(cs_dic_ischinese(_cnt)){
		if(_cnt.length==1){
			//query for character
			$("#dic_search_common_form").attr("action","/services/dictionary/DictionaryShowCharacterPO.ot");
			$("#savvy_QueryString").attr("name","ch");
			$("#savvy_QueryString").val(_cnt);
			$("#savvy_QueryEvent").attr("name","_event");
		}else{
			//query for word
			$("#dic_search_common_form").attr("action","/services/dictionary/DictionarySearchPO.ot");
			$("#savvy_QueryString").attr("name","content");
			$("#savvy_QueryString").val(_cnt);
			cs_dic_setSearchType("simp");
		}
	}else{
		if(cs_dic_isPinyin(_cnt)){//query for pinyin
			$("#dic_search_common_form").attr("action","/services/dictionary/DictionarySearchPO.ot");
			$("#savvy_QueryString").attr("name","content");
			$("#savvy_QueryString").val(_cnt);
			cs_dic_setSearchType("py");
		}else{//query for english
			$("#dic_search_common_form").attr("action","/services/dictionary/DictionarySearchPO.ot");
			$("#savvy_QueryString").attr("name","content");
			$("#savvy_QueryString").val(_cnt);
			cs_dic_setSearchType("english");
		}
	}
	
	return true;
}

function cs_dic_isPinyin(s){
	var _sa = s.split(" ");
	var _isPy = true;
	if(s.indexOf(" ")==-1 && !cs_dic_isAllNumber(s.substring(s.length-1))){
		_isPy = false;
	}
	var patten=/^[a-zA-Z]+[0-5]?$/;
	if(_sa)for(var i=0,n=_sa.length;i<n;i++){
		if(!patten.test(_sa[i])){
			_isPy = false;
		}
	}
	return _isPy;
}

function cs_dic_ischinese(s){  
	var ret=true;  
	for(var i=0;i<s.length;i++)  
	ret=ret && (s.charCodeAt(i)>=10000);  
	return ret;  
}

function cs_dic_isAllNumber(s){
	var patten=/^[0-9]+$/;
	return (patten.test(s));
}


