/* 
 *  Created on : 2009/12/4, 下午 01:57:43
 *  (C) Copyright NaturalTEL, 2006-2010
 */
var line=0;
function del(){
    if($("#newDiv")){
        $("#newDiv").remove();
        line = 0;
    }
}


function autoCompleteAjax(event){ 
    if($("#keySearch").val().toString().length==0){
        $("#searchName").attr("disabled",true);
    }else if($("#keySearch").val()=="請輸入關鍵字"){
        $("#keySearch").val("");
    }else{
        $("#searchName").attr("disabled",false);
    }
    var theEvent=window.event || event ;
    var evenCode=theEvent.keyCode || theEvent.which;
    if(evenCode==8){
        if($("#keySearch").val().toString().length==0){
            del();
            return;
        }
    }
    else if(evenCode==undefined||evenCode==32|| evenCode==9||evenCode==16||evenCode==17||evenCode==18||evenCode==19||evenCode==20||evenCode==27||(evenCode>=33&&evenCode<38)||evenCode==39||evenCode==45||evenCode==46||evenCode==61||evenCode==91||evenCode==93||evenCode==144||evenCode==145||evenCode==182||evenCode==183||(evenCode>=112&&evenCode<=123)){
        return;
    }
    var top = $("#keySearch").offset().top;
    var left = $("#keySearch").offset().left-28;
    var newDiv = $("<div style='Z-INDEX: 1001'/>").width($("#keySearch").width() + 65).css("position", "absolute").css("backgroundColor", "white").css("left", left).css("top", top + $("#keySearch").height() + 6) .css("border", "1px solid white") .attr("id", "newDiv");
    var table = $("<table width='100%'/>").attr("cellpadding", "0").attr("cellspacing", "0").attr("id", "tableSearch");
    if(evenCode == 40){ //down
        var v="",t=$("table#tableSearch tr"),s=t.size();
        line = (line == s ? s : line + 1);
        t.eq(line-1).css("backgroundColor", "blue").css("color", "white");
        t.eq(line < 0 ? 0 : line-2 ).css("backgroundColor", "white").css("color", "black");
        //$("table#tableSearch tr").eq(line).css("backgroundColor", "blue").css("color", "white");
        //$("table#tableSearch tr").eq(line < 0 ? 0 : line - 1).css("backgroundColor", "white").css("color", "black");
        //alert("  line="+line);
        //line = (line == $("table#tableSearch tr").length ? 0 : line + 1);
        if(line!=s){
            v=t.eq(line-1).find("span").eq(0).html();
        }
        $("#searchName").attr("disabled",true);
        $("#keySearch").val(v);
        return;
    }else if(evenCode== 38){//up
        var vv="",tt=$("table#tableSearch tr"),ss=tt.size();
        var ori= (line == 1 ? 1 : line -1),newl=(line == 1 ? 0 : line - 2); 
        line = (line == 1 ? 1 : line - 1);
        tt.eq(newl).css("backgroundColor", "blue").css("color", "white");
        tt.eq(ori).css("backgroundColor", "white").css("color", "black");
        //$("table#tableSearch tr").eq(line).css("backgroundColor", "blue").css("color", "white");
        //$("table#tableSearch tr").eq(line > $("table#tableSearch tr").length ? 0 : line + 1).css("backgroundColor", "white").css("color", "black");
        if(line!=ss){
            vv=tt.eq(line-1).find("span").eq(0).html();
        }
        $("#searchName").attr("disabled",true);
        $("#keySearch").val(vv);
        return;
    }else if(evenCode == 13){ //Enter
        if($("table#tableSearch").size()!=0){ //has search result
            if(line!=0){
                $("table#tableSearch tbody tr").each(function(i) {
                    if($(this).css("backgroundColor")=="blue"&&$(this).is(":contains('項結果符合條件')")){
                        $("#form").submit();
                        return;
                    }else if($(this).css("backgroundColor")=="blue"){
                        $("#keySearch").val( $(this).find("span").eq(0).html() );
                    }
                    return;
                });
            }
            del();
        }
        del();
    }
    del();
    $.ajax({
        url :"/RBT/public/AutoCompleteAjax",
        type:"GET",
        data : {
            searchName : $("#keySearch").val(),
            rowsToFetch : "10",
            startingRow : "0"
        },
        cache : true,
        dataType : "json",
        success : function(g){
            del();
            /*result=new String(result).toString();
            var g=eval('('+result+')');*/
            if(g[1].num=="noData"){
                del();
                return;
            }
            $(document.body).append(newDiv);
            newDiv.append(table);
            for(var i=1,ii;ii=g[i];i++){
                var sg=ii.singer,so=ii.annName;
                // var span1=$("<span/>").css("color", "red").html(g[i].singer+"  ");
                // var span2=$("<span/>").css("color", "black").html(g[i].annName);
                var span1=$("<span/>").css("color", "black").text(sg!="0"?sg:so);
                var tr = $("<tr/>").css("cursor", "pointer").mouseout(function(){
                    $(this).css("backgroundColor", "white").css("color", "black").removeAttr("name");
                }).mouseover(function(){
                    $(this).css("backgroundColor", "blue").css("color", "white").attr("name","aaa");
                }).click(function(){
                    $("#keySearch").val($(this).find("span").eq(0).html());
                    if($("#keySearch").val().toString().length>0){
                        $("#searchName").attr("disabled",false);
                    }
                });
                // var td1 = $("<td/>").css("fontSize", "12px").attr("align", "left").append(span1).append(span2);
                var td1 = $("<td/>").css("fontSize", "12px").attr("align", "left").append(span1);
                tr.append(td1);
                table.append(tr);
            //var newWidth=span1.width()+span2.width();
            /*var newWidth=span1.width();
                if($("#newDiv").width()<newWidth){
                    $("#newDiv").width(newWidth);
                }*/
            }
            var tr2 = $("<tr/>").css("cursor", "pointer").mouseout(function(){
                $(this).css("backgroundColor", "white").css("color", "black").removeAttr("name");
            }).mouseover(function(){
                $(this).css("backgroundColor", "yellow").css("color", "green").attr("name","aaa");
            }).click(function(){
                $("#form").submit();
            });
            var td2 = $("<td/>").text("共有"+ii.num+"項結果符合條件  more>>").css("fontSize", "12px").attr("align", "left").css("color", "black").attr("id","MORE");
            tr2.append(td2);
            table.append(tr2);
        }
    });
    if(table.length>0){
        newDiv.fadeIn("fast");
    }
    //    if($("#keySearch").val() == ""){$("#newDiv").remove();}
    $(document.body).click(function(){
        del();
    });
}

/**
 *when user click classSelect
 **/
function classClick(){
    if($("#classSelect").children().size()>1){
        return;
    }
    $("#classSelect").children().remove();
    $.ajax({
        url : "/RBT/public/GetAllCategory" ,
        type:"GET",
        cache : true,
        dataType : "json",
        success : function(r){
            var g=r[0];
            if(g.size!="0"){
                for(var i=1;g=r[i];i++){
                    if(parseInt(g.id)<10000){
                        continue;
                    }
                    $("#classSelect").append("<option value=\""+g.id+"\">"+g.n+"</option>");
                }
                $("#pinyinSelect").attr("disabled",false);
            } 
        }
    });
}
/**
 * when user select  classSelect
 */
function classChange(value){
    if($("#classSelect").find('option:selected').val()=="-"){
        $("#pinyinSelect").attr("disabled",true);
        $("#singerSelect").attr("disabled",true);
        $("#filterSearchButton").attr("disabled",true);
        setSingerSelected("singerSelect","-");
    }else{
        $("#pinyinSelect").attr("disabled",false);
        $("#singerSelect").attr("disabled",true);
        setOption("pinyinSelect","-");
        setSingerSelected("singerSelect","-");
    } 
}

/**
 * when user click pinyinSelect
 */
function pinyinChange(value){
    var pinyin=$("#pinyinSelect").find('option:selected').val();
    if(pinyin=="-"){
        $("#singerSelect").attr("disabled",true);
        $("#filterSearchButton").attr("disabled",true);
        setSingerSelected("singerSelect","-");
    }else{
        $("#singerSelect").attr("disabled",false);
        //query server
        $.ajax({
            url :"/RBT/public/SearchSingerPinyin",
            type:"POST",
            data : {
                singerPinyin : pinyin,
                rowsToFetch : "300",
                startingRow : "0",
                annCateid : $("#classSelect").find('option:selected').val()
            },
            cache : false,
            dataType : "json",
            success : function(result){
                changeSinger(result);
            },
            error: function(xhr) {
                //alert('Ajax request 發生錯誤'+xhr.toString());
            }
        });
    }
}

/**Go to Key Word Search*/
function keySearchBar(){
    var searchName=$('#keySearch').val();
    $("#searchName").attr("disabled",true);
    if(searchName=="請輸入關鍵字"){
        return false;
    }else if(searchName!=null&&searchName!=""){
        if(window.location.toString().indexOf("RBT_1_1.jsp")!=-1){
            GoWT('G','na','na');
        }
           var sel=$("#singerSelect").find('option:selected').text();
            var c="",s="",isHot="N";
                c=$("#classSelect").find('option:selected').text();
                s=$("#pinyinSelect").find('option:selected').text();
                sel=$("#singerSelect").find('option:selected').text();
            var o={isHome:"Y",classSelect:c,pinyinSelect:s,sel:sel,isHot:isHot,
                  searchName:searchName}
            $.ajax({
                url :"/RBT/public/SS",
                type:"POST",
                data : o,
                cache : false,
                dataType : "json",
                complete:function(XMLHttpRequest, textStatus){
                    //edit 20110307
                    //$("#form").get(0).submit();
                    window.location="/RBT/public/SearchAnnFileKeyWord";
                    return true;
                }
            });

    } else{
        //alert("please input search key word");
        return false;
    }
}

function keySearchBarGoPush(){
    var searchName=$('#keySearch').val();
    $("#searchName").attr("disabled",true);
    if(searchName=="請輸入關鍵字"){
        return false;
    }else if(searchName!=null&&searchName!=""){
          if(window.location.toString().indexOf("RBT_1_1.jsp")!=-1){
            GoWT('G','na','na');
        }
        var c="",s="",sel="";
                c=$("#classSelect").find('option:selected').text();
                s=$("#pinyinSelect").find('option:selected').text();
                sel=$("#singerSelect").find('option:selected').text();
                //edit 20110307
            var o={isHome:"Y",isHot:"Y",classSelect:c,pinyinSelect:s,sel:sel,searchName:searchName}
          $.ajax({
                url :"/RBT/public/SS",
                type:"POST",
                data : o,
                cache : false,
                dataType : "json",
                complete:function(XMLHttpRequest, textStatus){
                    //edit 20110307
                    //$("#form").get(0).submit();
                    window.location="/RBT/public/SearchAnnFileKeyWord";
                    return true;
                }
            });
    } else{
        //alert("please input search key word");
        return false;
    }
}
function goPush(id){
    var i="#"+id;
    var s=$(i).text();
    $("#keySearch").val(s);
    $("#searchName").attr("disabled",false);
    setTimeout(keySearchBarGoPush,0);
}




function filterSearchBar(){
    var searchName=$('#singerSelect td').val();
    if(searchName!=null&&searchName!=""){
        $('#filterSearchBarSearchName').val(searchName);
        $("#filterSearchButton").attr("disabled",true);
        return true;
    }else{
        //alert("please select singer name");
        return false;
    }
}















/**to check when key down in keySearch*/
function checkKeySearch(){
    var keySearch=$("#keySearch").val();
    
    if(keySearch.toString().length>0){
        $("#searchName").attr("disabled",false);
    }else{
        $("#searchName").attr("disabled",true);
    }
}

/**to change singerSelect*/
function changeSinger(g){
    //result=new String(result).toString();
    //    alert("A   "+result);
    //var g=eval('('+result+')');
    setSingerSelected("singerSelect","-");
    for(var i=0,ii;ii=g[i];i++){
        var singer=ii.singer;
        $("#singerSelect").append("<option value=\"" + singer + "\">" + singer + "</option>");
    }
    $("#singerSelect").attr("disabled",false);
}




/**
 * when user click singerSelect
 */
function singerChange(value){
    if($("#singerSelect").find('option:selected').val()=="-"){
        $('#singerSelect').attr("size","1");
        $("#filterSearchButton").attr("disabled",true);
    }else{
        $('#singerSelect').attr("size","1");
        $("#filterSearchButton").attr("disabled",false);
        $("#keySearch").val(value); 

    }
}


/**set select option*/
function setOption(id,value){
    var idVal="#"+id;
    $(idVal).children().each(function(){
        if ($(this).val()==value){
            //jQuery給法
            $(this).attr("selected","true"); //或是給selected也可
        //javascript給法
        //this.selected = true;
        }
    });
}


/**set Singer option null*/
function setSingerSelected(id,value){

    var idVal="#"+id+" option";
    $(idVal).remove();
    $("#singerSelect").append("<option value=\"" + "-" + "\">歌手名稱</option>");

/*$(idVal).children().each(function(){
        if ($(this).val()==value){
            //jQuery給法
            $(this).attr("selected","true"); //或是給selected也可
            //javascript給法
            //this.selected = true; 
        }
    });*/
}

/**check classSelect*/
function checkClassSelect(){
    var classValue= $("#classSelect").find('option:selected').val();
    if(classValue=="-"){
        //alert("請選擇音樂類型");
        setOption("pinyinSelect","-");
        setSingerSelected("singerSelect","-");
        $("#pinyinSelect").attr("disabled",true);
        $("#singerSelect").attr("disabled",true);
        return false;
    }
    return true;
}

/**check pinyinSelect*/
function checkPinyinSelect(){
    var pinyinValue= $("#pinyinSelect").find('option:selected').val();
    if(pinyinValue=="-"){
        //alert("請選擇注音");
        setSingerSelected("singerSelect","-");
        $("#singerSelect").attr("disabled",true);
        return false;
    }
    return true;
}

/**check singerSelect*/
function checkSingerSelect(){
    var singerValue=$("#singerSelect").find('option:selected').val();
    if(singerValue=="-"){
        //alert("請選擇歌手");
        return false;
    }
    return true;
}




