﻿
var $ = function(id){//common function
	return document.getElementById(id);
}

var FY = FY || {};
FY.load = function(){
    //$("loading").style.visibility = "hidden";
    //$("suggesttable").style.display="none";
    //$("suggesttable").style.visibility="hidden";

//    $("content").value = inputHint;
    //$("content").style.color="gray";
//    $("contentout").value = inputHint;
    //$("contentout").style.color="gray";
    
    getAD(1);
    getHeader(1);
}

function setHintVisible(bV){
    if(bV){
         $("hintDiv").style.display="inline";
         $("hintDiv").style.visibility="visible";
    }
    else{
         $("hintDiv").style.display="none";
         $("hintDiv").style.visibility="hidden";
    }
}

function setHint(infoTxt){
    $('proHint').innerHTML=infoTxt;
    setHintVisible(true);
}


function crtAJAX(){
    var AJAX = null;
    if (window.ActiveXObject){// IE
        try {
            AJAX = new ActiveXObject("Msxml2.XMLHTTP");
        } 
        catch (e) {
            try {
                AJAX = new ActiveXObject("Microsoft.XMLHTTP");
            } 
            catch (e) {
               //return false;
            }
        }
    }
    else if (window.XMLHttpRequest) {// Mozilla, Safari, ...
       try{
            AJAX=new XMLHttpRequest();
            //AJAX.overrideMimeType('text/xml');
       }
       catch(e){
            //return false;
       }
    } 
    return AJAX;
}

function isLong(str){//if text is too long
	if(encodeURI(str).length>1000)	return true;
	return false;
}

//文章截取段落 按照空行截取
function splitText(str){
	var reg = /\n\r|\n[|\s| ]*|\r|\n/g;
	str=str.split(reg); 
	return str;
}

//如果段落超过2k我们将段落截取为更小的段落function shortCutParagraphs(str){
	var tempParagraphs = splitText(str);
	for(var i=0 ;i<tempParagraphs.length;i++)
	{
		if(!isLong(tempParagraphs[i])){
		    cutTo2K(tempParagraphs[i]);
		}
		else
		    arrOrgText.push(tempParagraphs[i]);
	}
	return arrOrgText;
}


//最大段落不得超过2k 这里限制为2000字节。function cutTo2K(str)
{
	var temp			= "";
	var startIndex		= 0;
	var endIndex		= 0;
	var n				= 0;
	
	var paragraphs		= splitText(str);

	for(var p=0;p<paragraphs.length;p++)
	{
		if(isLong(paragraphs[p])){
			var tempparagraph =  paragraphs[p];
			var reg				= /[.|。|！|\!|？|\?]/g
			var shortCutArray	=tempparagraph.split(reg); 
			for(var i=0;i <shortCutArray.length;i++){
				endIndex = tempparagraph.indexOf(shortCutArray[i]);
				if (isLong(temp + shortCutArray[i])){
					arrOrgText.push(tempparagraph.substring(startIndex,endIndex));
					startIndex		= endIndex;
					temp			= "";
				}else{
					temp += shortCutArray[i];
				}
			} 
			arrOrgText.push(str.substring(startIndex,str.length));
	    }
		else{
		    arrOrgText.push(paragraphs[p]);
		}
	}	
	return arrOrgText;
}


function replaceAll(strOrg,strFind,strRepl){
	var index = 0;
	while(strOrg.indexOf(strFind,index) != -1){
		strOrg = strOrg.replace(strFind,strRepl);
		index = strOrg.indexOf(strFind,index);
	}
	return strOrg
} 


//用于记录用户登录信息/d
function readCookie(name) {
	var cookieValue = "";
	var search = name + "=";
	if (document.cookie.length > 0) {
		offset = document.cookie.indexOf(search);
		if (offset != -1) {
			offset += search.length;
			end = document.cookie.indexOf(";", offset);
			if (end == -1) {
				end = document.cookie.length;
			}
			cookieValue = document.cookie.substring(offset, end);
		}
	}
	return cookieValue;
}
//d
function writeCookie(name, value, hours, domain, path) {
	var expire = "";
	if(hours != null) {
		expire = new Date((new Date()).getTime() + hours * 3600000);
		expire = "; expires=" + expire.toGMTString();
		if (domain) domain = "; domain=" + domain;
		if (path) path = "; path=" + path;
	}
	document.cookie = name + "=" + encodeURIComponent(value) + expire + domain + path;
}
//

function addSelText(o){
    var selected_text;
    if(window.getSelection){
        selected_text = window.getSelection().toString();
        if(!(selected_text.length > 0)){
            var start = o.selectionStart;
            var end = o.selectionEnd;
            selected_text = o.value.substr(start,end-start);
        }
    }
    else if(document.getSelection){
        selected_text = document.getSelection();
    }
    else if(document.selection){
        selected_text = document.selection.createRange().text;
    }
    selected_text = selected_text.replace(/\x0D\x0A|\x0D|\x0A/g,' ')
    if(selected_text.length > 0){
        $("SelText").value = selected_text;
    }
}

//处理与google的链接function setSearchVal(bTranslation){
        //if(bTranslation)
            $("TranslationForm").as_q.value=$("SelText").value;
//        else
//            $("TextForm").as_q.value=$("content").value;
}


var from_language  ;
var to_language  ;	
function getTransType(){
    var sl_Direct=	$('sl_direct').value;
    if(sl_Direct.substring(0,2) == "zh"){
        from_language=$('FJSelect').value;
        //if(TranEngineTag == "ms"){if(from_language == "zh-CN"){from_language="zh-CHS"} else if(from_language == "zh-TW") {from_language = "zh-CHT"}}
        to_language=sl_Direct.substring(2,4);
    }
    else{
        to_language=$('FJSelect').value;
        //if(TranEngineTag == "ms"){if(to_language == "zh-CN"){ to_language="zh-CHS"} else if(to_language == "zh-TW"){ to_language = "zh-CHT"}}
        from_language=sl_Direct.substring(0,2);
    }
    return from_language;
}

function getAD(iNeed){
    var AJAX=crtAJAX();
    if (AJAX==null) {
            //setHint("您的浏览器原因，不能翻译。");
            return false;
    }
    else{
        AJAX.onreadystatechange = function() {
          if (AJAX.readyState==4 || AJAX.readyState=="complete") {
            ADIssue(AJAX);
          }                               
        }
        AJAX.open("POST", "../svrLib/ADHandler.ashx"   , true);
        AJAX.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        AJAX.send( /*"lr=" + Math.round(Math.random()*10) + */"t=1&m=" + iNeed);
    }

}

function ADIssue(aResquest){
    var rqVal = aResquest.responseText;
    if(rqVal != "<?xml version='1.0' encoding='utf-8'?>" && rqVal != $("bannerAD").innerHTML){
        $("bannerAD").innerHTML = aResquest.responseText;
        
        //$("contentout").value += "\r\n\r\n" + aResquest.responseText;
    }
//    var xmlDoc=aResquest.responseXML.documentElement;
//    var newID = xmlDoc.getElementsByTagName("ID")[0].firstChild.data ;
//    if(newID == $("banner").title){//oldID
//        return;                
//    }
//    //public code
//    var svrCode = xmlDoc.getElementsByTagName("Code")[0].firstChild.data;
//    var obj = $("banner").innerHTML;
//obj = "<?xml version='1.0' encoding='utf-8'?><code>" + svrCode + "</code>";

    aResquest=null;//free
}

function checkText(iType){
    switch(iType){
    case 0:
        var text = $('SelText').value;
        if(text == "" ){
            setHint("没有选择文字。") ; 
            return false;
        }
        else{
            return true;
        }break;
    case 1:
        var beforeText = $('content').value;
        var afterText = $('contentout').value;
        
        if(beforeText == "" || beforeText == inputHint){
            setHint("没有原文。"); return false;break;
        }
        if(afterText == "" || afterText == outputHint){
            setHint("没有译文。");return false;break;
        }
        return true; break;
    }
}

function getHeader(iNeed){
    var AJAX=crtAJAX();
    if (AJAX==null) {
            //setHint("您的浏览器原因，不能翻译。");
            return false;
    }
    else{
        AJAX.onreadystatechange = function() {
          if (AJAX.readyState==4 || AJAX.readyState=="complete") {
            headerIssue(AJAX);
          }                               
        }
        AJAX.open("POST", "../svrLib/getHeaderHandler.ashx"   , true);
        AJAX.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        AJAX.send( /*"lr=" + Math.round(Math.random()*10) + */"t=1&m=" + iNeed);
    }
}

function headerIssue(aResquest){
    var rqVal = aResquest.responseText;
    if(rqVal != "<?xml version='1.0' encoding='utf-8'?>"){
        $("headerSec").innerHTML = aResquest.responseText;
        
        //$("contentout").value += "\r\n\r\n" + aResquest.responseText;
    }
//    var xmlDoc=aResquest.responseXML.documentElement;
//    var newID = xmlDoc.getElementsByTagName("ID")[0].firstChild.data ;
//    if(newID == $("banner").title){//oldID
//        return;                
//    }
//    //public code
//    var svrCode = xmlDoc.getElementsByTagName("Code")[0].firstChild.data;
//    var obj = $("banner").innerHTML;
//obj = "<?xml version='1.0' encoding='utf-8'?><code>" + svrCode + "</code>";

    aResquest=null;//free
}
