﻿dojo.require("dojox.data.dom");
var g_selHTML='';
var g_selText='';
var g_spancontext=false;
var g_enteredsetMenuItemVisibility=false;
var g_pabdate = '';
var g_infdate = '';
var g_queryfilter = '';
var g_pns = '';
var currentFocusInput = '';
var g_scholarPn;
var g_scholarType;
var menuitemArray = new Array(
    'subrsconcept',
    'subrsboolean',
    'subrsan',
    'subrsin',
    'subrsttl',
    'subrsccl',
    'subrsicl',
    'subrsabst',
    'subrsaclm',
    'subrsspec',
    'subnsconcept',
    'subnsboolean',
    'subnsan',
    'subnsin',
    'subnsttl',
    'subnsccl',
    'subnsicl',
    'subnsabst',
    'subnsaclm',
    'subnsspec',
    'subrsrank',
    //'subnsrank',
    'ptmenuitem'
    );
function normalize(type, value, log, nobracket)
{
    value = dojo.string.trim(value.replace(/"/g," "));
    
    if(value.indexOf(" ") != -1){
        if(type!='R'&&type!=c_sC)
        {
      if(isNullorEmpty(nobracket))
        value = '(' + value + ')';
        
        }else
        {
        
            value = '"' + value + '"';
        }
        
    }
     
    
    
    if(isNullorEmpty(log))
        log = 'and';
    return ' ' + log + ' ' + type + '/' + value;
}
function onLeftDivTitleImgMouseover(imgobj)
{
    if(imgobj.src.indexOf('expand.gif') != -1)
        imgobj.src = c_sImgPath+'img/expand-active.gif';
    else if(imgobj.src.indexOf('shrink.gif') != -1)
        imgobj.src = c_sImgPath+'img/shrink-active.gif';
}

function onLeftDivTitleImgMouseout(imgobj)
{
    if(imgobj.src.indexOf('expand-active.gif') != -1)
        imgobj.src = c_sImgPath+'img/expand.gif';
    else if(imgobj.src.indexOf('shrink-active.gif') != -1)
        imgobj.src = c_sImgPath+'img/shrink.gif';
}

function getQueryString(type, value, parentquery, conj)
{
    
    value = dojo.string.trim(value.replace(/"/g," "));
    if(type == 'CCL' || type == 'ICL')
    {
        var pos = value.indexOf(' ');
        if(pos != -1)
            value = value.substring(0, pos);
    }
    if(value.indexOf(" ") != -1 || type == 'ANN'||value.indexOf("/")!=-1)
        value = '"' + value + '"';
    if(isNullorEmpty(conj))
        conj = 'and';
    if(isNullorEmpty(parentquery))
        return type + '/' + value;
    else
        return parentquery + ' ' + conj + ' ' + type + '/' + value;
}

function getQueryTypeMatcher(type, wordtype,pn) //wordtype means that 'w' maps to c_sCONCEPT or c_sBOOL or c_sRANK
{
    if(isNullorEmpty(wordtype))
        wordtype = c_sC;
    else if(wordtype == c_sCONCEPT)
        wordtype = c_sC;
    else if(wordtype == c_sBOOL)
        wordtype = 'B';
    else if(wordtype == c_sRANK)
        wordtype = 'R';
    switch(type)
    {
        case 'a':
            if(!isNullorEmpty(pn) && belongToMxDataBase(pn))
                return 'AN';
            return 'ANN';
        case 'i':
            return 'IN';
        case 'w':
            return wordtype;
        case 'c':
            if(getPatentNumIDI(pn)==12)
                return 'ECLA';
            return 'CCL';
        case 'l':
            return 'ICL';
        case 'k':
            return 'IW';
        case 'kwk':
            return 'IWK';
        case 'r':
            return 'R';
        default:
            alert('undefined type: ' + type);
            return '';
    }
}

function normalizeQueryStr(htmlStr, field)
{
    var queryterm;
    if(field != null && field != '')
        field = field.toUpperCase()
    var decodedHTMLStr = dojo.string.trim(htmlDecode(htmlStr));
    if(field == 'CCL' || field == 'ICL')
    {
        var i = decodedHTMLStr.indexOf(' ');
        if(i = -1)
        {
            i = decodedHTMLStr.indexOf('(');
            if(i!=-1)
              decodedHTMLStr = decodedHTMLStr.substring(0, i);
        }else
        {
            decodedHTMLStr = decodedHTMLStr.substring(0, i);
        }
        decodedHTMLStr = '"' + decodedHTMLStr + '"';
    }
    if((decodedHTMLStr.indexOf(' ') == -1 && decodedHTMLStr.indexOf('<SUB>') == -1 && decodedHTMLStr.indexOf('<SUP>') == -1) || decodedHTMLStr.substring(0, 1) == '"')
    {
        if(field != null && field != '')
            queryterm = field + '/' + decodedHTMLStr;
        else
            queryterm = decodedHTMLStr;
    }
    else
    {
        if(field != null && field != '')
            queryterm = field + '/"' + decodedHTMLStr + '"';
        else
            queryterm = '"' + decodedHTMLStr + '"';
    }
    var reg0 = /<\/?(SUB|SUP)>/ig;
  var reg1 = /<\/?.*?>/ig;
  var reg2 = /[\n\r]+/ig;
  queryterm = queryterm.replace(reg2,' ').replace(reg0,' ').replace(reg1,'');
  return queryterm;
}

function prepareSelection()
{
    var sel = false;
  if (document.selection)
  {
    g_selText = document.selection.createRange().text;
    g_selHTML = document.selection.createRange().htmlText;
  }
  else if (window.getSelection)
  {
    g_selText = window.getSelection().toString();
    if(dojo.isIE)
    {
        var df = window.getSelection().getRangeAt(0).cloneContents();
        g_selHTML = textContentToSearch(df);
    }
    else// if(dojo.isMoz)
        g_selHTML = window.getSelection().toString();
  }
  else if (document.getSelection)
  {
    g_selText = document.getSelection().toString();
    if (dojo.render.html.ie)
    {
        var df = document.getSelection().getRangeAt(0).cloneContents();
        g_selHTML = textContentToSearch(df);
    }
    else
        g_selHTML = document.getSelection().toString();
  }
  if (g_selText != '')
  {
      g_selText = dojo.string.trim(g_selText);
      g_selHTML = dojo.string.trim(g_selHTML);
      return true;
  }
  else
      return false;
}

function setMenuItemVisibility(obj, type,pn,grptype)
{
    
    
    var select = false;
    select = prepareSelection();
    g_enteredsetMenuItemVisibility = true;
    currentFocusInput='';
    var menuItemToEnable = new Array();
    //seedy added
    if(pn!=null && pn!='' && pn!='undefine')
    {
        g_scholarpn = pn;
    }else{
        g_scholarPn = '';
        if(obj.nodeName == 'font' || obj.nodeName == 'FONT')
        {
            if(obj.getAttribute('pn')!= null && obj.getAttribute('pn')!='')
            {
                g_scholarPn = obj.getAttribute('pn');
            }
        }
        if(g_scholarPn == '')
        {
            var tr = findParentNode(obj, 'tr', 1);
            if(tr != null && tr.className.match('^querylist-')=='querylist-')
            {
                if(tr.cells.length>0)
                {
                   g_scholarPn = tr.cells[0].firstChild.getAttribute('pn');
                }
            }
        }
        if(g_scholarPn == '')
        {
            if(obj.nodeName == 'div' || obj.nodeName == 'DIV')
            {
                var parentNode = obj.parentNode;
                if(parentNode.nodeName == 'abst' || parentNode.nodeName == 'ABST')
                {
                    var querytabdiv = findParentNode(parentNode, 'div',2);
                    if(querytabdiv.id.match('^querytab-')=='querytab-')
                    {
                        g_scholarPn = querytabdiv.getAttribute('displaypn');
                    }
                }
            }
        }
        
    }
    
    
    g_scholarType = 'o';
    
    //seedy addend;
    

    switch(type)
    {
        case 'a':
            menuItemToEnable[menuItemToEnable.length] = 'subrsan';
            menuItemToEnable[menuItemToEnable.length] = 'subnsan';
            break;
        case 'i':
            menuItemToEnable[menuItemToEnable.length] = 'subrsin';
            menuItemToEnable[menuItemToEnable.length] = 'subnsin';
            g_scholarType = 'i';
            break;
        case 'c':
            menuItemToEnable[menuItemToEnable.length] = 'subrsccl';
            menuItemToEnable[menuItemToEnable.length] = 'subnsccl';
            break;
        case 'l':
            menuItemToEnable[menuItemToEnable.length] = 'subrsicl';
            menuItemToEnable[menuItemToEnable.length] = 'subnsicl';
            break;
        case 'p':
            menuItemToEnable[menuItemToEnable.length] = 'subrsconcept';
            menuItemToEnable[menuItemToEnable.length] = 'subnsconcept';
            menuItemToEnable[menuItemToEnable.length] = 'subrsrank';
            //menuItemToEnable[menuItemToEnable.length] = 'subnsrank';
            break;
    }
    var clsMenuItem = dijit.byId('clsmenuitem');
    var gropMenuItem = dijit.byId('grpmenuitem');
    if(clsMenuItem != null)
    {
        if(type == 'cls_1' || type == 'cls_2' || type == 'cls_0') //cls_1:personal cls_2:global cls_0:icl、ccl
        {
            g_classSpanObj = obj;
            var objclass = obj.getAttribute('NodeType');
            
            clsMenuItem.setDisabled(false);
            dijit.byId('iscmenuitem').attr('disabled',type != 'cls_1'|| (objclass=='class'||objclass=='icl'||objclass=='ccl'||objclass=='locarno'));
            dijit.byId('uccmenuitem').attr('disabled',type != 'cls_1'||(objclass=='class'||objclass=='icl'||objclass=='ccl'||objclass=='locarno'));
            
            if(!isNullorEmpty(currentClassType) && currentClassType==4)
                 dijit.byId('dccmenuitem').attr('disabled',type!='cls_1'&&!(objclass=='class'||objclass=='icl'||objclass=='ccl'||objclass=='locarno'));
            else
                dijit.byId('dccmenuitem').attr('disabled',true);
            var parentdiv=findParentNode(obj,'div',1);
            if(parentdiv!=null)
            {
                if(!isNullorEmpty(parentdiv.id))
                {
                    if(parentdiv.id!='classdetail-div-4')
                        dijit.byId('dccmenuitem').attr('disabled',true);
                        
                }
                else
                {
                    dijit.byId('dccmenuitem').attr('disabled',type != 'cls_1'||(objclass=='class'||objclass=='icl'||objclass=='ccl'||objclass=='locarno'));
                }
            }
            dijit.byId('imscmenuitem').attr('disabled',type != 'cls_1'||(objclass=='class'||objclass=='icl'||objclass=='ccl'||objclass=='locarno'));
            dijit.byId('eccmenuitem').attr('disabled',false||(objclass=='class'||objclass=='icl'||objclass=='ccl'||objclass=='locarno'));
            dijit.byId('sccmenuitem').attr('disabled',false||(objclass=='class'||objclass=='icl'||objclass=='ccl'||objclass=='locarno')||(g_classSpanObj!=null && g_classSpanObj.getAttribute('parentid')!='0')||sharedClsDisabled);
            				
            //if(g_classSpanObj!=null && g_classSpanObj.getAttribute('parentid')!='0')
			//	dijit.byId('sccmenuitem').attr('disabled',false);
            dijit.byId('ecumenuitem').attr('disabled',!(type =='cls_0'&& (objclass=='class'||objclass=='icl'||objclass=='ccl'||objclass=='locarno')));
            if(!isNullorEmpty(currentClassType) && currentClassType==4)
                dijit.byId('ecumenuitem').attr('disabled',true);
        }
        else
            clsMenuItem.attr('disabled',true);//setDisabled(true);
    }   
    if(type == 'grp' && gropMenuItem!=null)
    {
		var adgrpmenuitem = dijit.byId('adgrpmenuitem');
		var upgrpmenuitem = dijit.byId('upgrpmenuitem');
		var delgrpmenuitem = dijit.byId('delgrpmenuitem');
		upgrpmenuitem.attr('disabled',false);
		delgrpmenuitem.attr('disabled',false);
		if(grptype=='0')
		{
			adgrpmenuitem.attr('disabled',false);
		}
		else
			adgrpmenuitem.attr('disabled',true);
		g_grpSpanObj=obj;
    }
  var nsMenuItem = dijit.byId('nsmenuitem');
  var rsMenuItem = dijit.byId('rsmenuitem');
  if(nsMenuItem == null || rsMenuItem == null)
      return;
  var webMenuItem = dijit.byId('webmenuitem');
  var tcsearchMenuItem = dijit.byId('tcsearchmenuitem');
  var wrsMenuitem = dijit.byId('wrsmenuitem');
    nsMenuItem.attr('disabled',true);//setDisabled(true);
    rsMenuItem.attr('disabled',true);//setDisabled(true);
    if(webMenuItem != null)
        webMenuItem.attr('disabled',(type != 'w' && type != 'a' && type != 'i' && type != 't' && type != 'cls_2' && type != 'cls_1'));
    if(tcsearchMenuItem != null)
        tcsearchMenuItem.attr('disabled',(type != 'w' && type != 'cls_2' && type != 'cls_1'));
    if(wrsMenuitem != null)
        wrsMenuitem.attr('disabled',true);//(true);
    var addcommentMenuitem = dijit.byId('addcommentmenuitem');
    if(addcommentMenuitem != null)
    {
        addcommentMenuitem.attr('disabled',type != 'cd');
        if(type == 'cd')
        {
            var imgobj = findSiblingAfter(obj, 'img', 1);
            g_currentSectionID = imgobj.id.substring(14, imgobj.id.length);
        }
    }
    var addnoteMenuitem = dijit.byId('addnotemenuitem');
    if(addnoteMenuitem != null)
    {
        addnoteMenuitem.attr('disabled',type != 'cd');
        if(type == 'cd')
        {
            var imgobj = findSiblingAfter(obj, 'img', 1);
            g_currentSectionID = imgobj.id.substring(14, imgobj.id.length);
        }
    }
    dijit.byId('ptmenuitem').attr('disabled',true);//(true);
    
    g_selHTML = dojo.string.trim(obj.innerHTML);
    var tempSelHTML = g_selHTML;
    //g_selText = dojo.string.trim(dojox.data.dom.textContent(obj));
    g_selText = dojo.string.trim(dojox.data.dom.textContent(obj));
    var tempSelText = g_selText;
    if(!isNullorEmpty(g_selText))
    {
        nsMenuItem.attr('disabled',false);//(false);
        rsMenuItem.attr('disabled',false);//(false);
        if(wrsMenuitem != null)
            wrsMenuitem.attr('disabled',false);//(false);
        var enablept = false;
        g_spancontext = false;
        if(menuItemToEnable.length > 0)
        {
            for(var i = 0; i < menuitemArray.length; i++)
                dijit.byId(menuitemArray[i]).attr('disabled',true);//(true);
            for(var i = 0; i < menuItemToEnable.length; i++)
                dijit.byId(menuItemToEnable[i]).attr('disabled',false);//(false);
            enablept = (type != 'i');
            g_spancontext = true;
        }
        else if(type == 'w' || ((type != 'cls_2' || type != 'cls_1' || type == 't' || type == 'cd' || type == 'cd1' || type == 'tab') && !prepareSelection()))
        {
            g_selHTML = tempSelHTML;
            g_selText = tempSelText;
            var splits = g_selText.split(RegExp("(?=\\b)", 'ig'));
            var containChinese = strContainChinese(g_selText);
            if(type != 't' && ((!containChinese && splits.length > 40) || containChinese && g_selText.length > 40))
            {
                menuItemToEnable[menuItemToEnable.length] = 'subrsconcept';
                menuItemToEnable[menuItemToEnable.length] = 'subnsconcept';
                menuItemToEnable[menuItemToEnable.length] = 'subrsrank';
                //menuItemToEnable[menuItemToEnable.length] = 'subnsrank';
                for(var i = 0; i < menuitemArray.length; i++)
                    dijit.byId(menuitemArray[i]).attr('disabled',true);//(true);
                for(var i = 0; i < menuItemToEnable.length; i++)
                    dijit.byId(menuItemToEnable[i]).attr('disabled',false);//(false);
                if(webMenuItem != null)
                    webMenuItem.attr('disabled',true);//(true);
                if(tcsearchMenuItem != null)
                    tcsearchMenuItem.attr('disabled',true);//(true);
                    
            }
            else
            {
                /*for(var i = 0; i < menuitemArray.length; i++)
                {
                    if(menuitemArray[i] != 'subrsan' && menuitemArray[i] != 'subrsin' && menuitemArray[i] != 'subrsccl' && menuitemArray[i] != 'subnsan' && menuitemArray[i] != 'subnsin' && menuitemArray[i] != 'subnsccl' && menuitemArray[i] != 'subnsicl' && menuitemArray[i] != 'subrsicl' && menuitemArray[i] != 'ptmenuitem')
                        dijit.byId(menuitemArray[i]).setDisabled(false);
                    else
                        dijit.byId(menuitemArray[i]).setDisabled(true);
                }*/
                for(var i = 0; i < menuitemArray.length; i++)
                {
                    if(menuitemArray[i] == 'subrsconcept' || menuitemArray[i] == 'subnsconcept'|| menuitemArray[i] == 'subrsrank')
                        dijit.byId(menuitemArray[i]).attr('disabled',false);//(false);
                    else
                        dijit.byId(menuitemArray[i]).attr('disabled',true);//(true);
                }
                if(type=='w')
                {
                    dijit.byId('subrsboolean').attr('disabled',false);
                    dijit.byId('subnsboolean').attr('disabled',false);
                    dijit.byId('subrsttl').attr('disabled',false);
                    dijit.byId('subnsttl').attr('disabled',false);
                    dijit.byId('subrsabst').attr('disabled',false);
                    dijit.byId('subnsabst').attr('disabled',false);
                    dijit.byId('subrsaclm').attr('disabled',false);
                    dijit.byId('subnsaclm').attr('disabled',false);
                    dijit.byId('subrsspec').attr('disabled',false);
                    dijit.byId('subnsspec').attr('disabled',false);
                }
            }
            if(type == 'w')
                enablept = true;
            else // type == 'cd'
            {
                var arrays = g_selText.match(RegExp("[0-9]+\.", 'ig'));
                if(arrays != null && arrays.length > 0 && g_selText.indexOf(arrays[0]) == 0)
                    g_selText = g_selText.substring(arrays[0].length);
                if(g_selText.indexOf('Abstract') == 0)
                    g_selText = g_selText.substring(8);
                g_selText = dojo.string.trim(g_selText);
            }
            g_spancontext = true;
        }
        if(enablept)
        {
            dijit.byId('ptmenuitem').attr('disabled',false);//(false);
            dojo.byId('ptmenuitem').msg = g_selText;
            dojo.byId('ptmenuitem').type = type;
            g_curImgObj = obj;
        }
    }
}

function prepareContextMenu(evt)
{
    if(Query_JS)
        wait1s(null);
    evt = evt ? evt : (window.event ? window.event : null);
    var obj=null;
    
	var managediv = dojo.byId('management-div');
	var gropMenuItem = dijit.byId('grpmenuitem');
	var menu = dijit.byId('contextmenu');
	if(gropMenuItem!=null)
	{
		if(managediv.style.display=='')
		{
			menu.addChild(gropMenuItem,6);
		}
		else
		{
			try{
				menu.removeChild(gropMenuItem);
			}catch(e){}
		}	
	}
   // var radio3 = dojo.byId('classinfo-type-radio-4');
    //if(typeof(currentClassType)!='undefined')
    {
        if(typeof(currentClassType)!='undefined')
        {
            if(currentClassType==4)
            {
                obj = evt.srcElement;
                while(obj != null && obj.id != 'classinfo-div' ) 
                      obj = obj.parentElement; 
                if(obj==null)
                {
                  if(dojo.byId('classinfo-div').style.display=='')
                  {
                    obj = dojo.byId('classinfo-div');
                  }
                }
            }
        }
    }
    dijit.byId('cpmenuitem').attr('disabled',false);//(false);
    dijit.byId('pastemenuitem').attr('disabled',false);//(false);
    if(!g_enteredsetMenuItemVisibility)
    {
        var addcommentMenuitem = dijit.byId('addcommentmenuitem');
        if(addcommentMenuitem != null)
            addcommentMenuitem.attr('disabled',true);//(true);
            
        var classtMenuitem = dijit.byId('clsmenuitem');
        if(obj==null&&classtMenuitem != null)
            classtMenuitem.attr('disabled',true);//(true);
        g_classSpanObj = null;
        g_grpSpanObj = null;
        
    }
    else
        g_enteredsetMenuItemVisibility = false;
    if(g_spancontext)
    {
        g_spancontext = false;
        return;
        
       
    }
    dijit.byId('ptmenuitem').attr('disabled',true);//(true);
    var nsMenuItem = dijit.byId('nsmenuitem');
    var rsMenuItem = dijit.byId('rsmenuitem');
  var webMenuItem = dijit.byId('webmenuitem');
  var tcsearchMenuItem = dijit.byId('tcsearchmenuitem');
  var wrsMenuitem = dijit.byId('wrsmenuitem');
  var select;
    if(select = prepareSelection())
    {
      
        nsMenuItem.attr('disabled',false);//(false);
        rsMenuItem.attr('disabled',false);//(false);
        if(webMenuItem != null)
            webMenuItem.attr('disabled',false);//(false);
        if(tcsearchMenuItem != null)
            tcsearchMenuItem.attr('disabled',false);//(false);
        if(wrsMenuitem != null)
            wrsMenuitem.attr('disabled',false);//(false);
            
        var splits = g_selText.split(RegExp("(?=\\b)", 'ig'));
        if(splits.length > 40)
        {
            var menuItemToEnable = new Array();
            menuItemToEnable[menuItemToEnable.length] = 'subrsconcept';
            menuItemToEnable[menuItemToEnable.length] = 'subnsconcept';
            menuItemToEnable[menuItemToEnable.length] = 'subrsrank';
            //menuItemToEnable[menuItemToEnable.length] = 'subnsrank';
            for(var i = 0; i < menuitemArray.length; i++)
                dijit.byId(menuitemArray[i]).attr('disabled',true);//(true);
            for(var i = 0; i < menuItemToEnable.length; i++)
                dijit.byId(menuItemToEnable[i]).attr('disabled',false);//(false);
            if(webMenuItem != null)
                webMenuItem.attr('disabled',true);//(true);
            if(tcsearchMenuItem != null)
                tcsearchMenuItem.attr('disabled',true);
        }
        else
        {
            for(var i = 0; i < menuitemArray.length; i++)
            {
                if(menuitemArray[i] != 'subrsan' && menuitemArray[i] != 'subrsin' && menuitemArray[i] != 'subrsccl' && menuitemArray[i] != 'subnsan' && menuitemArray[i] != 'subnsin' && menuitemArray[i] != 'subnsccl' && menuitemArray[i] != 'ptmenuitem' && menuitemArray[i] != 'subrsicl' && menuitemArray[i] != 'subnsicl' && menuitemArray[i] != 'ptmenuitem')
                    dijit.byId(menuitemArray[i]).attr('disabled',false);//(false);
                else
                    dijit.byId(menuitemArray[i]).attr('disabled',true);//(true);
            }
        }
    }
    else
    {
        nsMenuItem.attr('disabled',true);//(true);
        rsMenuItem.attr('disabled',true);//(true);
        if(webMenuItem != null)
            webMenuItem.attr('disabled',true);//(true);
        if(tcsearchMenuItem != null)
            tcsearchMenuItem.attr('disabled',true);
        if(wrsMenuitem != null)
            wrsMenuitem.attr('disabled',true);//(true);
        dijit.byId('cpmenuitem').attr('disabled',true);//(true);
    }
    if(obj!=null&&!select)
    {
        var clsMenuItem = dijit.byId('clsmenuitem');
      if(clsMenuItem != null)
      {
        clsMenuItem.attr('disabled',false);//(false);
        //dijit.byId('armenuitem').setDisabled(false);
        //dijit.byId('ifmenuitem').setDisabled(false);
        dijit.byId('iscmenuitem').attr('disabled',false);//(false);
            dijit.byId('uccmenuitem').attr('disabled',true);//(true);
            dijit.byId('dccmenuitem').attr('disabled',true);//(true);
            dijit.byId('imscmenuitem').attr('disabled',false);//(false);
            dijit.byId('eccmenuitem').attr('disabled',true);//(true);
            dijit.byId('sccmenuitem').attr('disabled',true);//(true);
            dijit.byId('ecumenuitem').attr('disabled',true);//(true);
          }
    }else if(obj!=null&&select)
    {
        var clsMenuItem = dijit.byId('clsmenuitem');
      if(clsMenuItem != null)
      {
        clsMenuItem.attr('disabled',false);//(false);
        dijit.byId('iscmenuitem').attr('disabled',false);//(false);
            dijit.byId('uccmenuitem').attr('disabled',false);//(false);
            dijit.byId('dccmenuitem').attr('disabled',false);//(false);
            dijit.byId('imscmenuitem').attr('disabled',false);//(false);
            dijit.byId('eccmenuitem').attr('disabled',false);//(false);
            dijit.byId('sccmenuitem').attr('disabled',false);//(false);
      }
    }
      
	var menu = dijit.byId('contextmenu');
	if(gropMenuItem!=null)
	{
		if(managediv.style.display=='')
		{
			//menu.addChild(gropMenuItem,6);
			var adgrpmenuitem = dijit.byId('adgrpmenuitem');
			var upgrpmenuitem = dijit.byId('upgrpmenuitem');
			var delgrpmenuitem = dijit.byId('delgrpmenuitem');
			adgrpmenuitem.attr('disabled',false);
			upgrpmenuitem.attr('disabled',true);
			delgrpmenuitem.attr('disabled',true);
		}
		else
		{
			//try{
			//	menu.removeChild(gropMenuItem);
			//}catch(e){}
		} 
	}
      
}

function overtest(event)
{
  
  alert("e");
}

function GetAbsoluteLocationEx(element) 
        { 
            if ( arguments.length != 1 || element == null ) 
            { 
                return null; 
            } 
            var elmt = element; 
            var offsetTop = elmt.offsetTop; 
            var offsetLeft = elmt.offsetLeft; 
            //alert("abs"+offsetLeft);
            var offsetWidth = elmt.offsetWidth; 
            var offsetHeight = elmt.offsetHeight; 
            while( elmt = elmt.offsetParent ) 
            { 
                  
                 if(elmt.id == 'wrap')
                 {
                 
                    
                }
            
                if ( elmt.style.position == 'absolute' || elmt.style.position == 'relative'  
                    || ( elmt.style.overflow != 'visible' && elmt.style.overflow != '') ) 
                { 
                    break; 
                }  
                
            
                offsetTop += elmt.offsetTop; 
                offsetLeft += elmt.offsetLeft; 
            } 
            return { absoluteTop: offsetTop, absoluteLeft: offsetLeft, 
                offsetWidth: offsetWidth, offsetHeight: offsetHeight }; 
        }



function doMark(obj, suffix, ischinese)
{
    var div = dojo.byId('queryrelated-importantwords' + suffix);
    if(div == null)
        return;
    var words = div.getElementsByTagName('span');
    if(words == null || words.length == 0)
        return;
    if(typeof(highlight) == 'undefined')
        return;
    var hl = new highlight();
    for(var i = 0; i < words.length; i++)
        hl.mark(words[i].innerHTML, '0', obj, '#c6cee7', 'black', false, ischinese, 9999, null, onHighlightFontDoNothing, null, null, null, null);  
}

function onHighlightFontDoNothing()
{
}

function doMarkByObj(word, targetObj, pn)
{
    if(targetObj == null)
        return;
    var hl = new highlight();
    hl.mark(word, '0', targetObj, '', '', true, (pn >= 200000000 && pn < 219000000), 9999, '1px dashed #0000ff', null, onQueryTagMouseOver, null, null, dojox.data.dom.textContent(targetObj), pn); 
}

function prepareMaster()
{
    prepareMasterSearch(null, -1, -1, null, null, null);
}

function prepareSlave()
{
    prepareSlaveSearch(null, -1, null, null, null, null);
}

//function doMarkTagWords(obj, pn, rankterm)
//{
//    var url = c_sQuerytagJson + '&spn=' + pn;
//    var request =  new dojo.io.Request(url, 'text/json', null, false);
//    dojo.lang.mixin(request, {
//        encoding: g_encoding,
//        load: function(typ, evaldObj){
//            var ret = eval(evaldObj);
//            if(ret.Error != null)
//                return;
//            else
//            {
//                var hl = new highlight();
//                for(var i = 0; i < ret.TagList.length; i++)
//                {
//                    var taglist = ret.TagList[i];
//                    if(taglist.length > 0)
//                    {
//                        var max = (i == 0 ? 3 : 1);
//                        for(var j = 0; j < max; j++)
//                        {
//                            var word = taglist[j].OriginalWord;
//                            hl.mark(word, '1', obj, '#ffffcc', 'black', true, (pn >= 200000000 && pn < 219000000), 1, null, null, null, null, null, rankterm, pn);  
//                        }
//                    }
//                }
//            }
//        }
//    });
//    dojo.io.bind (request);
//}

function doMarkTagWords(obj, pn, rankterm)
{
    if(!isNullorEmpty(obj.getAttribute('marked')) && obj.getAttribute('marked') == 1)
        return;
    var url = c_sQuerytagJson + '&spn=' + pn + '&random=' + Math.random();
    
    var form = document.createElement('form');
    var inputsq = document.createElement('input');
    inputsq.name = 'st';
    inputsq.value = rankterm;
    form.appendChild(inputsq);
    var request = {
        url:url,
        handleAs:"json",
        form: form,
        load: function(ret, ioArgs){
            if(ret.Error != null)
                return;
            else
            {
                var hl = new highlight();
                var wordArray = new Array();
                var wordcount = 0;
                if(ret.TagList == null)
                    return;
                for(var i = 0; i < ret.TagList.length; i++)
                {
                    var taglist = ret.TagList[i];
                    if(taglist != null && taglist.length > 0)
                    {
                        var word = taglist[0].OriginalWord;
                        wordArray[wordcount++] = word;      
                    }
                }
                var currentIndex = 0;
                var tagedWordArray = new Array();
                for(var j = 0; j < wordArray.length; j++)
                {
                    var maxlength = 0;
                    var maxpos = -1;
                    for(var i = 0; i < wordArray.length; i++)
                    {
                        if(wordArray[i] != '' && wordArray[i].length > maxlength)
                        {
                            maxlength = wordArray[i].length;
                            maxpos = i;
                        }
                    }
                    if(maxpos != -1)
                    {
                        var word = wordArray[maxpos];
                        wordArray[maxpos] = '';
                        maxpos = -1;
                        var existIndex = new Array();
                        for(var k = 0; k < tagedWordArray.length; k++)
                        {
                            if(tagedWordArray[k] != null && tagedWordArray[k].indexOf(word) != -1)
                                existIndex[existIndex.length] = k;
                        }
                        //var marked = hl.mark(word, currentIndex, obj, null, 'black', true, (pn >= 200000000 && pn < 219000000), 1, '1px dashed #0000ff', null, null, null, existIndex, rankterm, pn); 
                        //var marked = hl.mark(word, currentIndex, obj, '#ffffcc', 'black', true, (pn >= 200000000 && pn < 219000000), 1, null, null, null, null, existIndex, rankterm, pn);  
                        var marked = hl.mark(word, currentIndex, obj, '#ffffcc', 'black', true, (pn >= 200000000 && pn<219000000) || g_version == 'chn', 1, null, null, null, null, existIndex, rankterm, pn);  
                        if(marked)
                        {
                            tagedWordArray[currentIndex] = word;
                            currentIndex++;
                        }                        
                    }
                }
                obj.setAttribute('marked', 1);
            }
        },
    error: function(error,ioArgs) { alert(error.message); }
    };
    dojo.xhrPost(request);
}

function onBodyMouseMove(evt)
{
    
    evt = evt ? evt : (window.event ? window.event : null);
    
   if (navigator.appName == "Microsoft Internet Explorer"){
       if(evt.srcElement && evt.srcElement.id )
       {
            
            if(evt.srcElement.id == 'search-master-import-img'||evt.srcElement.id == 'search-master-import-span')
            {
                             
                 moveinputtoimportpatents('search-master-import-span','importpatents_input');
            }
            else
            {
                var input = document.getElementById('importpatents_input');
                
                if (input != null && input.style.visibility == 'visible' ) 
                    {
                        var pos = getElementPos('search-master-import-span');
                       
                        if(evt.x>pos.x+10||evt.y>pos.y+10||evt.x<pos.x||evt.y<pos.y)
                       
                        {
                            input.style.visibility ='hidden';
                            
                            moveinputout('search-master-import-span','importpatents_input');         
                            dojo.byId('search-master-import-img').src = c_sImgPath+'img/uploadpatent.gif';
                        }
                    }
                
            }
            
            
       }else
       {
              moveinputout('search-master-import-span','importpatents_input');
              if(dojo.byId('search-master-import-img')!=null)
                dojo.byId('search-master-import-img').src = c_sImgPath+'img/uploadpatent.gif';
       }
   }else
   {
        if(evt.srcElement && evt.srcElement.id )
       {
            
            if(evt.srcElement.id == 'search-master-import-img'||evt.srcElement.id == 'search-master-import-span')
            {
                             
                 moveinputtoimportpatents('search-master-import-span','importpatents_input');
            }
            else
            {
                var input = document.getElementById('importpatents_input');
                
                if (input != null && input.style.visibility == 'visible' ) 
                    {
                        var pos = getElementPos('search-master-import-span');
                       
                        if(evt.clientX>pos.x+15||evt.clientY>pos.y+12||evt.clientX<pos.x-3||evt.clientY<pos.y-10)
                       
                        {
                            input.style.visibility ='hidden';
                            
                            moveinputout('search-master-import-span','importpatents_input');         
                            dojo.byId('search-master-import-img').src = c_sImgPath+'img/uploadpatent.gif';
                        }
                    }
                
            }
            
            
       }else
       {
       
            var input = document.getElementById('importpatents_input');
                
                if (input != null && input.style.visibility == 'visible' ) 
                    {
              
              var pos = getElementPos('search-master-import-span');
                       
                        if(evt.clientX>pos.x+15||evt.clientY>pos.y+12||evt.clientX<pos.x-3||evt.clientY<pos.y-10)
                       
                        {
                            input.style.visibility ='hidden';
                            
                            moveinputout('search-master-import-span','importpatents_input');         
                             dojo.byId('search-master-import-img').src = c_sImgPath+'img/uploadpatent.gif';
                        }
              }
              
       }      
   }
    var popupdiv = dojo.byId('popupdiv-highlightword');
   
    if(popupdiv!=null && popupdiv.style.visibility == 'visible')
    {
        var margin = 20;
        var top = calculateOffset(popupdiv,'offsetTop');
        var left = calculateOffset(popupdiv,'offsetLeft');// + " " + evt.clientY);
        var right = popupdiv.offsetWidth + left;
        var bottom = popupdiv.offsetHeight + top;
        var cursorX = evt.clientX;
        var cursorY = evt.clientY;
        if(cursorX > right + margin || cursorX < left - margin || cursorY > bottom + margin || cursorY < top - margin)
        {
           hideHighlightPopupDiv();
        }
    }
        
    var keywordspopupdiv = dojo.byId('popupdiv-keywords');
   
    if(keywordspopupdiv!=null && keywordspopupdiv.style.visibility == 'visible')
    {
        var margin = 10;
        var top = calculateOffset(keywordspopupdiv,'offsetTop');
        var left = calculateOffset(keywordspopupdiv,'offsetLeft');// + " " + evt.clientY);
        var right = keywordspopupdiv.offsetWidth + left;
        var bottom = keywordspopupdiv.offsetHeight + top;
        var cursorX = evt.clientX;
        var cursorY = evt.clientY;
        if(cursorX > right + margin || cursorX < left - margin || cursorY > bottom + margin || cursorY < top - margin)
        {
           hideKeywodsPopupDiv();
        }
    }
    
  // moveinputout('search-master-import-img','importpatents_input');
    
        
}

function handleescapekey(evt)
{
    evt = evt ? evt : (window.event ? window.event : null);
    var KEYCODE_ESCAPE = 27;
    if(evt.keyCode == KEYCODE_ESCAPE)
    {
        if(dojo.byId('popupdiv-searchhelp') != null)
            dojo.byId('popupdiv-searchhelp').style.visibility = 'hidden';
        if(dojo.byId('search-popupdiv') != null)
            dojo.byId('search-popupdiv').style.visibility = 'hidden';
        if(dojo.byId('search-inputtipsdiv') != null)
            dojo.byId('search-inputtipsdiv').style.visibility = 'hidden';
        if(dojo.byId('search-bookmark-popupdiv') != null)
            dojo.byId('search-bookmark-popupdiv').style.visibility = 'hidden';
        if(typeof(hideHighlightPopupDiv)!='undefined')
		    hideHighlightPopupDiv();
	    hiddenTips();
    }
}

function setSearchTypeCheckBoxLOCARNO()
{
    var p = dojo.byId('searchtype-p');//US Patent
    var a = dojo.byId('searchtype-a');//US Application
    var c = dojo.byId('searchtype-c');//CN
    var r = dojo.byId('searchtype-r');//Reference
    var e = dojo.byId('searchtype-e');//EP
       
    var o = dojo.byId('searchtype-o');//WO
    
    var w = dojo.byId('searchtype-w');//Web
    var s = dojo.byId('searchtype-s');//Schoolor
    
    var d = dojo.byId('searchtype-d');//User Document
    var sh = dojo.byId('searchtype-sh');//User Document
    var database = new Array(p,a,c,r,e,o,s,d,w,sh);
    var dn_num = DESIGN_DATABASE.length;
    if(p!=null)
      p.checked=false;
    if(a!=null)
      a.checked=false;
    if(e!=null)
      e.checked=false;
    if(o!=null)
      o.checked=false;    
    if(c!=null)
      c.checked=false;
    if(r!=null)
      r.checked=false;
    if(d!=null)
      d.checked=false;
    if(sh!=null)
      sh.checked=false;
    var t=0;
    for( var i = 0 ; i < dn_num; i++)
    {
        database[DESIGN_DATABASE[i]].checked = true;
        t = t | (1<<DESIGN_DATABASE[i]);
        //setSearchTypeCheckBoxClickStatus(1<<DESIGN_DATABASE[i]);
    }
    setSearchTypeSpan(t);
}
function setSearchTypeCheckBoxClickStatus(id)
{
    var p = dojo.byId('searchtype-p');//US Patent
    var a = dojo.byId('searchtype-a');//US Application
    var c = dojo.byId('searchtype-c');//CN
    var r = dojo.byId('searchtype-r');//Reference
    var e = dojo.byId('searchtype-e');//EP
       
    var o = dojo.byId('searchtype-o');//WO
    
    var w = dojo.byId('searchtype-w');//Web
    var s = dojo.byId('searchtype-s');//Schoolor
    
    var d = dojo.byId('searchtype-d');//User Document
    var ab = dojo.byId('searchtype-ab');//Abstract
    var sh = dojo.byId('searchtype-sh');//Abstract
    var database = new Array(p,a,c,r,e,o,ab,d,w,s,sh);
    if(id < 0)
    {
        if(p!=null)
            p.checked=false;
        if(a!=null)
          a.checked=false;
        if(e!=null)
          e.checked=false;
        if(o!=null)
          o.checked=false;    
        if(c!=null)
          c.checked=false;
        if(r!=null)
          r.checked=false;
        if(d!=null)
          d.checked=false;
        if(ab!=null)
          ab.checked=false;
        if(sh!=null)
          sh.checked=false;
        if(w != null)
            w.checked = (id == -1);
        if(s != null)
            s.checked = (id == -2);
    }
    else
    {
        if(w != null)
            w.checked = false;
        if(s != null)
            s.checked = false;
        var cn_num = CN_DATABASE.length;
        var en_num = EN_DATABASE.length;
        var dn_num = DESIGN_DATABASE.length;
        var ab_num = AB_DATABASE.length;
        var databasegroup = getDatabaseGroup(id);
        if(databasegroup == 0)
        {
            for( var i = 0 ; i < cn_num; i++)
            {
                database[CN_DATABASE[i]].checked = false;
            }
            for( var i = 0 ; i < ab_num; i++)
            {
                database[AB_DATABASE[i]].checked = false;
            }
        }
        else if(databasegroup == 1)
        {
            for( var i = 0 ; i < en_num; i++)
            {
                database[EN_DATABASE[i]].checked = false;
            }
            for( var i = 0 ; i < ab_num; i++)
            {
                database[AB_DATABASE[i]].checked = false;
            }
        }
        else if(databasegroup == 3)
        {
            for( var i = 0 ; i < en_num; i++)
            {
                database[EN_DATABASE[i]].checked = false;
            }
            for( var i = 0 ; i < cn_num; i++)
            {
                database[CN_DATABASE[i]].checked = false;
            }
            for( var i = 0 ; i < dn_num; i++)
            {
                database[DESIGN_DATABASE[i]].checked = false;
            }            
        }
        else
        {
            for( var i = 0 ; i < ab_num; i++)
            {
                database[AB_DATABASE[i]].checked = false;
            }
        
        }        
    }
}

//function setSearchTypeCheckBoxClickStatus2()
//{
//    var p = dojo.byId('searchtype-p');//US Patent
//    var a = dojo.byId('searchtype-a');//US Application
//    var c = dojo.byId('searchtype-c');//CN
//    var r = dojo.byId('searchtype-r');//Reference
//    var e = dojo.byId('searchtype-e');//EP
//    
//    var w = dojo.byId('searchtype-w');//Web
//    var s = dojo.byId('searchtype-s');//Schoolor
//    
//    var j = dojo.byId('searchtype-j');//JP
//    var o = dojo.byId('searchtype-o');//WO
//    if(p.checked || a.checked || e.checked || j.checked || o.checked)
//    {
////        p.disabled = false;
////        a.disabled = false;
//        c.checked = false;
////        c.disabled = true;
//        r.checked = false;
// //       r.disabled = true;
// //       e.disabled = false;
////      j.disabled = false;
////      o.disabled = false;
//        if(w != null)
//        {
//            w.checked = false;
//            //w.disabled = true;
//        }
//        if(s != null)
//        {
//            s.checked = false;
//            //s.disabled = true;
//        }
//    }
//    else if(c.checked || r.checked)
//    {
////        c.disabled = false;
////        r.disabled = false;
//        p.checked = false;
////       p.disabled = true;
//        a.checked = false;
////        a.disabled = true;
//        e.checked = false;
////        e.disabled = true;
//        j.checked = false;
////        j.disabled = true;
//        o.checked = false;
////        o.disabled = true;
//        if(w != null)
//        {
//            w.checked = false;
//            //w.disabled = true;
//        }
//        if(s != null)
//        {
//            s.checked = false;
//            //s.disabled = true;
//        }
//    }
//    else if((w != null && w.checked) || (s != null && s.checked))
//    {
//        p.checked = false;
////        p.disabled = true;
//        a.checked = false;
////        a.disabled = true;
//        e.checked = false;
////        e.disabled = true;
//        c.checked = false;
////        c.disabled = true;
//        r.checked = false;
////        r.disabled = true;
//        j.checked = false;
////        j.disabled = true;
//        o.checked = false;
////        o.disabled = true;
//        if(w.checked)
//        {
//           // w.disabled = false;
//            s.checked = false;
//            //s.disabled = true;
//        }
//        else
//        {
//            //s.disabled = false;
//            w.checked = false;
//            //w.disabled = true;
//        }
//    }
//    else
//    {
//        p.checked = false;
//  //      p.disabled = false;
//        a.checked = false;
//  //      a.disabled = false;
//        c.checked = false;
//  //      c.disabled = false;
//        r.checked = false;
//  //      r.disabled = false;
//        e.checked = false;
//  //      e.disabled = false;
//        j.checked = false;
//  //      j.disabled = false;
//        o.checked = false;
//  //      o.disabled = false;
//        if(w != null)
//        {
//            w.checked = false;
//            //w.disabled = false;
//        }
//        if(s != null)
//        {
//            s.checked = false;
//            //s.disabled = false;
//        }
//    }
//}

function setSearchTypeCheckBoxByType(type)
{
    var searchtype = parseInt(type);
    var p = dojo.byId('searchtype-p');//US Patent
    var a = dojo.byId('searchtype-a');//US Application
    var c = dojo.byId('searchtype-c');//CN
    var r = dojo.byId('searchtype-r');//Reference
    var e = dojo.byId('searchtype-e');//EP
    
    var w = dojo.byId('searchtype-w');//Web
    var s = dojo.byId('searchtype-s');//Schoolor
    
    var o = dojo.byId('searchtype-o');//WO
    
    var d = dojo.byId('searchtype-d');//User Document
    var ab= dojo.byId('searchtype-ab');//Abstract
    var sh= dojo.byId('searchtype-sh');//Abstract
    
    if(type == -1 || type == -2)
    {
        if(p!=null)
          p.checked=false;
        if(a!=null)
          a.checked=false;
        if(e!=null)
          e.checked=false;
        if(o!=null)
          o.checked=false;    
        if(c!=null)
          c.checked=false;
        if(r!=null)
          r.checked=false;
        if(d!=null)
          d.checked=false;
        if(ab!=null)
           ab.checked= false;
        if(sh!=null)
           sh.checked= false;
            
            if(w != null && type == -1)
                w.checked = true;
            else if(s != null && type == -2)
                s.checked = true;
    }
    else
    {
      if(p!=null)
        p.checked = ((searchtype & 1) == 1);
      if(a!=null)
        a.checked = ((searchtype & 2) == 2);
      if(c!=null)
        c.checked = ((searchtype & 4) == 4);
      if(r!=null)
        r.checked = ((searchtype & 8) == 8);
      if(e!=null)
        e.checked = ((searchtype & 16) == 16);
      if(o!=null)
        o.checked = ((searchtype & 32) == 32);
      if(ab!=null)
        ab.checked= ((searchtype & 64) == 64);
      if(d!=null)
        d.checked = ((searchtype & 128) == 128);
      if(sh!=null)
        sh.checked = ((searchtype & 256) == 256);
        if(w != null)
            w.checked = false;
        if(s != null)
            s.checked = false;
    }
    //setSearchTypeCheckBoxClickStatus();
}

function getSearchTypeValue()
{
    var p = dojo.byId('searchtype-p');//US Patent
    var a = dojo.byId('searchtype-a');//US Application
    var c = dojo.byId('searchtype-c');//CN
    var r = dojo.byId('searchtype-r');//Reference
    var e = dojo.byId('searchtype-e');//EP
    
    var w = dojo.byId('searchtype-w');//Web
    var s = dojo.byId('searchtype-s');//Schoolor
    
    var o = dojo.byId('searchtype-o');//WO
    
    var d = dojo.byId('searchtype-d');//User Document
    var ab = dojo.byId('searchtype-ab');//Abstract
    var sh = dojo.byId('searchtype-sh');//User Document
    
    if(w != null && w.checked)
        return -1;
    else if(s != null && s.checked)
        return -2;
    else
    {
        var searchtype = 0;
        if(p!=null && p.checked)
            searchtype |= 1;
        if(a!=null && a.checked)
            searchtype |= 2;
        if(c!=null && c.checked)
            searchtype |= 4;
        if(r!=null && r.checked)
            searchtype |= 8;
        if(e!=null && e.checked)
            searchtype |= 16;
        if(o!=null && o.checked)
            searchtype |= 32;
        if(ab!=null && ab.checked)
            searchtype |= 64;
        if(d!=null && d.checked)
            searchtype |= 128;
        if(sh!=null && sh.checked)
            searchtype |= 256;
        return searchtype;
    }
}

function setSearchTypeSpan(type)
{
    var span = dojo.byId('searchtype-span');
    //span.typevalue = type;
    if(span==null)
        return;
    span.setAttribute('typevalue', type);
    //var searchtype = parseInt(type);
    var p = dojo.byId('searchtype-p');//US Patent
    var a = dojo.byId('searchtype-a');//US Application
    var c = dojo.byId('searchtype-c');//CN
    var r = dojo.byId('searchtype-r');//Reference
    var e = dojo.byId('searchtype-e');//EP
    
    var w = dojo.byId('searchtype-w');//Web
    var s = dojo.byId('searchtype-s');//Schoolor
    
    var j = dojo.byId('searchtype-j');//JP
    var o = dojo.byId('searchtype-o');//WO
    
    var d = dojo.byId('searchtype-d');//User Document
    var ab= dojo.byId('searchtype-ab');//Abstract
    var sh= dojo.byId('searchtype-sh');//Abstract
    
    var spantext = '';
    if(p!=null && p.checked)
        spantext += ((spantext == '') ? '' : ' & ') + p.getAttribute('displaytext');
    if(a!=null && a.checked)
        spantext += ((spantext == '') ? '' : ' & ') + a.getAttribute('displaytext');
    if(c!=null && c.checked)
        spantext += ((spantext == '') ? '' : ' & ') + c.getAttribute('displaytext');
    if(r!=null && r.checked)
        spantext += ((spantext == '') ? '' : ' & ') + r.getAttribute('displaytext');
    if(e!=null && e.checked)
        spantext += ((spantext == '') ? '' : ' & ') + e.getAttribute('displaytext');
    if(o!=null && o.checked)
        spantext += ((spantext == '') ? '' : ' & ') + o.getAttribute('displaytext');
    if(d!=null && d.checked)
        spantext += ((spantext == '') ? '' : ' & ') + d.getAttribute('displaytext');
    if(w != null && w.checked)
        spantext += ((spantext == '') ? '' : ' & ') + w.getAttribute('displaytext');
    if(s != null && s.checked)
        spantext += ((spantext == '') ? '' : ' & ') + s.getAttribute('displaytext');
    if(ab !=null && ab.checked)
        spantext += ((spantext == '') ? '' : ' & ') + ab.getAttribute('displaytext');
    if(sh !=null && sh.checked)
        spantext += ((spantext == '') ? '' : ' & ') + sh.getAttribute('displaytext');
    span.innerHTML = spantext;
    setMxConcetpRadio(type);
    if(typeof addCookie =='function')
		addCookie('st',type,24*30);
}

function onSearchTypeDivMouseOut(evt) 
{
    var targetdiv = dojo.byId('search-selecttype-div');
  evt = evt ? evt : (window.event ? window.event : null);
  var e = evt.toElement;
  while (e != null && e != targetdiv)
     e = e.parentNode;
  if (e != null)
     return;
  if (targetdiv != null)
  {
      targetdiv.style.visibility = "hidden";
      var searchtype = getSearchTypeValue();
      if(searchtype == 0)
      {
          if(INIT_DATABASE!=3)
          {
              searchtype = INIT_DATABASE;
              dojo.byId('searchtype-'+spanType[Math.log(INIT_DATABASE)/Math.log(2)]).checked = true;
          }
          else
          {
              dojo.byId('searchtype-p').checked = true;
              searchtype = 1;
          }
          setSearchTypeCheckBoxByType(searchtype);
      }
      setSearchTypeSpan(searchtype);
  }
}
function onHelpTypeDivMouseOut(evt) 
{
   
}


function doHelpSelect(obj,flag)
{
    obj.style.color='White';
  obj.style.backgroundColor='Blue';
}
function doHelpUnSelect(obj,flag)
{
  if(flag==null)
    obj.style.color='Black';
  else
    obj.style.color='Gray';
  obj.style.backgroundColor='White';
}
function onSearchTypeMouseOver(obj)
{
    obj.nextSibling.src = c_sImgPath+'img/combobox-arrow-active.gif';
}

function onSearchTypeMouseOut(obj)
{
    obj.nextSibling.src = c_sImgPath+'img/combobox-arrow.gif';
}

function onHelpTypeClick(obj)
{
    var popupdiv = dojo.byId('help-selecttype-div');
    if(popupdiv.style.visibility == 'visible')
    {
        popupdiv.style.visibility = 'hidden';
        return;
    }
    popupdiv.style.visibility = 'visible';
    var left = calculateOffset(obj,'offsetLeft');
    var top =  calculateOffset(obj,'offsetTop');
    var scroll = calculateOffset(obj, 'scrollTop');
    popupdiv.style.left = (parseInt(left) - 2) + "px";
    var height = popupdiv.style.height.substring(0, popupdiv.style.height.length - 2);
    height = top - scroll + 17;
    if(height < 0)
        height = 0;
    popupdiv.style.top = height + "px";
}


function onSearchTypeClick(obj)
{
    var popupdiv = dojo.byId('search-selecttype-div');
    if(popupdiv.style.visibility == 'visible')
    {
        popupdiv.style.visibility = 'hidden';
        return;
    }
    popupdiv.style.visibility = 'visible';
    var left = calculateOffset(obj,'offsetLeft');
    var top =  calculateOffset(obj,'offsetTop');
    var scroll = calculateOffset(obj, 'scrollTop');
    popupdiv.style.left = (parseInt(left) - 2) + "px";
    var height = popupdiv.style.height.substring(0, popupdiv.style.height.length - 2);
    height = top - scroll + 17;
    if(height < 0)
        height = 0;
    popupdiv.style.top = height + "px";
}



function moveinputout(posid,inputid)
{
    var pos = dojo.byId(posid);
    if(pos!=null){
    pos.src=c_sImgPath+'img/uploadpatent.gif';
    var input = dojo.byId(inputid);
    //input.style.top = '-100px';
    //input.style.left = '-200px';
    if(input!=null)
        input.style.visibility = 'hidden';
    }
}


function fulltextImgClick(obj, noClose, noChange)
{
    
   
    if(obj==null)
        return;
    
    switch(obj.getAttribute('state'))
    {
        case 'clicked':
            obj.setAttribute('state','normal');
            obj.src = obj.getAttribute('normalImg');
            break;
        case 'normal':
        case 'mouseover':
            if(noClose != null && noClose == 1)
            {
            }else{
                 var curClicked = getClickedFulltextImg(obj);
        
                if(curClicked != null)
                {
                    curClicked.setAttribute('state','normal');
                    curClicked.src = curClicked.getAttribute('normalImg');
                }
            }
            if(noChange != null && noChange == 1)
            {
           
            }else
            {
                 obj.setAttribute('state', 'clicked');
                obj.src = obj.getAttribute('clickedImg');
            }
            break;
        
        
    }
    
}

function getClickedFulltextImg(obj)
{
    var imgs = obj.parentNode.getElementsByTagName('img');
    
    for(var i=0;i<imgs.length;i++)
    {
        if(imgs[i].getAttribute('state')=='clicked')
        {
            return imgs[i]; 
        }
    }
    
}

function fulltextImgMouseOver(obj)
{
    switch(obj.getAttribute('state'))
    {
        case 'mouseover':
        case 'clicked':
            break;
        case 'normal':
        obj.setAttribute('state', 'mouseover');
        obj.src = obj.getAttribute('mouseoverImg');
            break;
        default:
            break;
        
    }
    
}

function fulltextImgMouseOut(obj)
{
    switch(obj.getAttribute('state'))
    {
        case 'mouseover':
            obj.setAttribute('state', 'normal');
            obj.src = obj.getAttribute('normalImg');
            break;
        case 'normal':
        case 'clicked':
            break;
        default:
            break;
            
            
    }
}

function expandCommand()
{
    LoadQueryJsFile();
  doExpandKeyword3();
}
function doExpandKeyword2(type,obj)
{
  getUserLoginState2(doExpandKeyword1,[type,obj]);
}
function doExpandKeyword3()
{
      
    var expandspan = dojo.byId('querylist-expandkeyword-div-SEARCH-MASTER');
  if(expandspan.style.display=='')
    {
      expandspan.style.display='none';
      currentFocusInput = null;
      return;
    }
    //HiddenQueryListIcon('SEARCH-MASTER');
    expandspan.style.display='';
    dojo.byId('expand-keyword-div-SEARCH-MASTER').innerHTML = '';
    currentFocusInput = dojo.byId('search-master-expandkeyword-input');
  }
  function toRead()
  {
    var toread = dojo.byId('newusertoread');
    if(toread!=null)
    {
      if(toread.style.display != 'none')
      {
        toread.style.display = 'none';
      }else
      {
        toread.style.display = '';
      }
    }
  }
  function toReadDown()
  {
    var toread = dojo.byId('newusertoread');
    if(toread!=null)
      toread.style.display = 'none';
  }

  function toReadUp()
  {
    var toread = dojo.byId('newusertoread');
    if(toread!=null)
      toread.style.display = 'block';
  }

function checkQuery(str)
{
    var searchForm = null;
    //if(type == '0')
        searchForm = dojo.byId('search-form-master');
    var obj=new Array(dojo.byId('searchtype-p'),dojo.byId('searchtype-a'),dojo.byId('searchtype-c'),dojo.byId('searchtype-r'),
                        dojo.byId('searchtype-e'),dojo.byId('searchtype-o'),dojo.byId('searchtype-ab'),dojo.byId('searchtype-d'),dojo.byId('searchtype-sh'));
    var isdatabase=new Array(0,0,0,0,0,0,0,0);
    for(var i =0;i<obj.length;i++)
    {
        if(obj[i]!=null && obj[i].checked)
        {
            isdatabase[i]=1;
        }
    }
    var idi=-1;
    var databasegroup=getDatabaseGroup(searchForm.idi.value);
    //else
       // searchForm = dojo.byId('search-form-slave');
    while(1==1)
    {
        var prefixIndex=str.indexOf('/');
        if(prefixIndex==-1)
            return;
        if(prefixIndex<2)
        {
            str=str.substring(prefixIndex+1);
            continue;
        }
        var pn=str.substring(prefixIndex-2,prefixIndex).toLowerCase();
        str=str.substring(prefixIndex+1);
        if(prefixIndex>2)
        {
        	var apn = str.substring(prefixIndex-3,prefixIndex-3);
        	if(apn!=' '&&apn!='(')
        		continue;
        }
        if(pn=='pn')// || prefix=='c')
        {
            var i = 0;
            if(str.substring(i,i+1)=='(' || str.substring(i,i+1)==' ')
                i++;
            pn=str.substring(i,i+2).toLowerCase();
            if(pn=='ep' && isdatabase[4]==0 && isdatabase[6]==0)
            {
                idi=1<<4;
                break;
            }
            else if(pn=='wo'&&isdatabase[5]==0 && isdatabase[6]==0)
            {
                idi=1<<5;
                break;
            }
            else if(pn=='us'&&isdatabase[0]==0 && isdatabase[1]==0 &&isdatabase[6]==0)
            {
                idi=3;
                break;
            }
            else if(pn.substring(0,1)=='u' && pn.substring(1,2)>'0' &&pn.substring(1,2)<='9')
            {
                idi=1<<7;
                break;
            }
            else if(pn=='cn' && isdatabase[2]==0 &&isdatabase[6]==0 )
            {
                idi=1<<2;
                break;
            }
            else if(pn=='ck' && isdatabase[3]==0)
            {
                idi=1<<3;
                break;
            }
            else if(pn.substring(0,1)>'0' && pn.substring(0,1)<'9')
            {
                //idi=3;
                break;
            }
            else if(pn!='us'&&pn!='cn'&&pn!='ep'&&pn!='wo'&&pn!='ck')
            {
                idi=1<<6;
                break;
            }
        }
    }
    if(idi!=-1)
        setSearchTypeCheckbox(idi);
}


function checknobracket(str)
{
  str = dojo.string.trim(str);
  if(str.charAt(0)!='(')
    return null;
  if(str.charAt(str.length-1)!=')')
    return null;
  var c = 0;
  for(var i =0 ;i < str.length-1; i++)
  {
    if(str.charAt(i)=='(')
      c++;
    else if(str.charAt(i)==')')
      c--;
  }
  if(c==1)
    return 1;
  return null;
}
function appendSimpleQuery(relationStr)
{
    var form = dojo.byId('simpleadvancedsearch-form-1');
    form.w1.value +=relationStr;
}
function showdetailed(spanobj,strMore,strLess)
{
  var obj=dojo.byId('detailed-simple-advanced-table');
  if(obj!=null)
  {
    var img = spanobj.parentNode.getElementsByTagName('img')[0];
    if(obj.style.display=='none')
    {
      obj.style.display='';
      img.src=c_sImgPath+'img/shrink.gif';
      spanobj.innerHTML=strLess;
    }
    else
    {
      obj.style.display='none';
      img.src=c_sImgPath+'img/expand.gif';
      spanobj.innerHTML=strMore;
    }
  }
}
function setInnerHTML(id,text)
{
  var obj = dojo.byId(id);
  if(obj==null)
    return;
  obj.innerHTML=text;
}
function showObj(id)
{
  var obj = dojo.byId(id);
  if(obj==null)
    return;
  obj.style.display=obj.style.display=='none'?'':'none';
}
function checkIndexSearchKey(evt)
{
	evt = evt ? evt : (window.event ? window.event : null);
	if (evt.keyCode == 13)
		doSearchFromTable(); 
}

function doSearchFromTable()
{
    //prepareCookie(1);
    var sq = '';// document.getElementById('search-q').value;
    var st = getSearchTypeValue();

    var newusertoread = dojo.byId('newusertoread');
    var inputs = newusertoread.getElementsByTagName('input');
    var isd1=null;
    var isd2=null;
    var apd1 = null;
    var apd2 = null;
    if (inputs != null) {
        for (var i = 0; i < inputs.length; i++) {
            if (inputs[i].value!=null && inputs[i].value.length > 0) {
                var field = inputs[i].getAttribute('field');
                if (field == 'ISD1') {
                    isd1 = inputs[i].value;
                }
                else if (field == 'ISD2') {
                    isd2 = inputs[i].value;
                }
                else if (field == 'APD1') {
                    apd1 = inputs[i].value;
                }
                else if (field == 'APD2') {
                    apd2 = inputs[i].value;
                }
                else {
                    sq = sq + field +'/' + inputs[i].value + ' AND ';
                }
            }
        }
    }
    var rankby = dojo.byId('rankby');
    if (isd1 != null && isd2 != null) {
        sq += 'ISD/' + isd1 + '->' + isd2 + ' AND ';
    }
    else if (isd1 != null)
    {
        if (rankby == null || rankby.value.length == 0) 
			sq += 'ISD/'+isd1 +' AND ';
		else
			sq += 'DI/+' + isd1 + ' AND ';
    }
    else if (isd2 != null)
    {
        if (rankby == null || rankby.value.length == 0)
    		sq += 'ISD/'+isd2 +' AND ';
		else
			sq += 'DI/' + isd2 + ' AND ';
    }
    if (apd1 != null && apd2 != null) {
        sq += 'APD/' + apd1 + '->' + apd2 + ' AND ';
    }
    else if (apd1 != null)
    {
        if (rankby == null || rankby.value.length == 0)
    		sq += 'APD/'+apd1 +' AND ';
		else
			sq += 'DA/+' + apd1 + ' AND ';
	}
    else if (apd2 != null)
    {
        if (rankby == null || rankby.value.length == 0)
    		sq += 'APD/'+apd2 +' AND ';
		else
			sq += 'DA/' + apd2 + ' AND ';
	}
	if(sq.length>0)
        sq = sq.substring(0, sq.length - 5);
    if (rankby != null && rankby.value.length > 0) {
        sq = 'R/"' + rankby.value + '"'+(sq.length>0 ? ' AND '+sq : '');
    }
    if(sq.length>0)
		prepareMasterSearch(sq, -1, -1, null, null, null);
}
function prepareSimpleAdvancedSearch(type)
{
    var queryterm = '';
    var form = dojo.byId('simpleadvancedsearch-form-1');
    if(!isNullorEmpty(form.rankby.value))
        queryterm += ' and R/'+'"'+form.rankby.value+'"';
    if(!isNullorEmpty(form.w1.value))
    {
      var wprefix = 'B';
      wselect = dojo.byId('wordsselect');
      if(wselect != null)
      {
        wprefix = wselect.value;
      }
        var words = form.w1.value.split(';');
        for(var i = 0; i < words.length; i++)
            queryterm += normalize(wprefix, words[i],null,checknobracket(words[i]));
    }
    var dateselect = dojo.byId('dateselect');
    var iasd1 = form.iasd1.value;
    var iasd2 = form.iasd2.value;
    if(!isNullorEmpty(iasd1) && !isNullorEmpty(iasd2))
    {
    queryterm += ' and ' + (dateselect.value=='DI/'?'ISD/':'APD/') + form.iasd1.value +'->'+form.iasd2.value;
    }
    else if(!isNullorEmpty(iasd1))
    {
    queryterm += ' and ' + dateselect.value +'+'+ form.iasd1.value;
    }
    else if(!isNullorEmpty(iasd2))
    {
    queryterm += ' and ' + dateselect.value + form.iasd2.value;
    }
    if(dojo.byId('detailed-simple-advanced-table').style.display=='')
    {
      if(!isNullorEmpty(form.an.value))
      {
        queryterm += normalize("AN", form.an.value);
      }
      if(!isNullorEmpty(form.icl.value))
      {
        queryterm += normalize("ICL", form.icl.value);
      }
      if(!isNullorEmpty(form.ccl.value))
      {
        queryterm += normalize("CCL", form.ccl.value);
      }
    }
    
    var span = dojo.byId('searchtype-span');
    if(span != null)
    {
      var bEN = dojo.byId('newusertoread-radio-search-en').checked;
      var db = 0;
      if (bEN)
        db = PATENTBILITY_DATABASE_EN;
      else
        db = 4;
        
      span.setAttribute('typevalue', db);
      
      var p = dojo.byId('searchtype-p');//US Patent
      var a = dojo.byId('searchtype-a');//US Application
      var c = dojo.byId('searchtype-c');//CN
      var r = dojo.byId('searchtype-r');//Reference
      var e = dojo.byId('searchtype-e');//EP
      var o = dojo.byId('searchtype-o');//WO
      var d = dojo.byId('searchtype-d');//User Document
      var ab= dojo.byId('searchtype-ab');//Abstract
      var sh= dojo.byId('searchtype-sh');//Abstract
  
      if(d!=null)
        d.checked=false;
      if(ab!=null)
        ab.checked= false;
      if(r!=null)
        r.checked=false;
      
      if(p!=null)
        p.checked=bEN;
      if(a!=null)
        a.checked=bEN;
      if(e!=null)
        e.checked=bEN;
      if(o!=null)
        o.checked=bEN;    
      if(c!=null)
        c.checked=!bEN;
        
      var spantext = '';
      if(p!=null && p.checked)
          spantext += ((spantext == '') ? '' : ' & ') + p.getAttribute('displaytext');
      if(a!=null && a.checked)
          spantext += ((spantext == '') ? '' : ' & ') + a.getAttribute('displaytext');
      if(e!=null && e.checked)
          spantext += ((spantext == '') ? '' : ' & ') + e.getAttribute('displaytext');
      if(o!=null && o.checked)
          spantext += ((spantext == '') ? '' : ' & ') + o.getAttribute('displaytext');
      if(c!=null && c.checked)
          spantext += ((spantext == '') ? '' : ' & ') + c.getAttribute('displaytext');
      if(sh!=null && sh.checked)
          spantext += ((spantext == '') ? '' : ' & ') + sh.getAttribute('displaytext');
          
      span.innerHTML = spantext;
      setSearchTypeSpan(db);
    }
    
    if(queryterm != '')
    {
        if(queryterm.indexOf(' andnot') == 0)
        {
            alert('Queryterm can not only have andnot!');
            return;
        }
        queryterm = queryterm.substring(5, queryterm.length);
        if(isNullorEmpty(type))
        {
          if(g_pagetype=='i')
          {
              dojo.byId('search-q').value=queryterm;
              doSearch();
          }
          else
            prepareMasterSearch(queryterm, -1, -1, null, null, null);
        }
        else
        {
            if(g_pagetype=='i')
            {
                dojo.byId('search-q').value=queryterm;
            }
            else
            {
              dojo.byId('search-master-queryinput').style.color='black';
              dojo.byId('search-master-queryinput').value=queryterm;
            }
        }
    }
}

function setFormValue(type,obj, str)
{
  if(type==0)
  {
	if(str!=null)
		dojo.byId('simpleadvancedsearch-form-1').rankby.value=str;
	else
		dojo.byId('simpleadvancedsearch-form-1').rankby.value=obj.innerText;
    dojo.byId('simpleadvancedsearch-form-1').rankby.style.color='Gray';
  }
  else if(type==1)
  {
    dojo.byId('simpleadvancedsearch-form-1').w1.value=obj.innerText;
    dojo.byId('simpleadvancedsearch-form-1').w1.style.color='Gray';
  }
  else if(type==2)
  {
    dojo.byId('simpleadvancedsearch-form-1').iasd1.value="20000101";
    dojo.byId('simpleadvancedsearch-form-1').iasd1.style.color='Gray';
  }
  else if(type==3)
  {
    dojo.byId('simpleadvancedsearch-form-1').an.value=obj.innerText;
    dojo.byId('simpleadvancedsearch-form-1').an.style.color='Gray';
  }
  else if(type==4)
  {
    dojo.byId('simpleadvancedsearch-form-1').icl.value=obj.innerText;
    dojo.byId('simpleadvancedsearch-form-1').icl.style.color='Gray';
  }
  else if(type==5)
  {
    dojo.byId('simpleadvancedsearch-form-1').ccl.value=obj.innerText;
    dojo.byId('simpleadvancedsearch-form-1').ccl.style.color='Gray';
  }
  else if(type==6)
  {
    dojo.byId('simpleadvancedsearch-form-1').iasd2.value="20090101";
    dojo.byId('simpleadvancedsearch-form-1').iasd2.style.color='Gray';
  }
}

function checkGrayContent(obj)
{
  if(obj.style.color.toLowerCase()=='gray')
  {
    obj.style.color='black';
    obj.value='';
  }
}

function resetSimpleAdvancedSearch()
{
    form = dojo.byId('simpleadvancedsearch-form-1');
    for(var i = 0; i < form.length; i++)
    {
        if(form[i].type!='button' && form[i].id!='dateselect' &&form[i].id!='wordsselect')
            form[i].value = '';   
    }
}

function copyPatent(imgobj, pn, color)
{
    var patenttr = findParentNode(imgobj, 'tr', 2).previousSibling;
    var patenttable= findParentNode(patenttr, 'table', 1);
    var sdf = '';
    var idi = getPatentNumIDI(pn);
    if(idi==-140)
        idi=128;
    if(patenttr.className.indexOf('-1') != -1)
        sdf = ((idi < 4) ? '&sdf=p10t41a31c6l6r6' : '&sdf=p10t41a31c6l6r6');
    var squery;
    if(basic_search)
        squery='&sq=pns/'+pn+'&ibasic=1';
    else
        squery='&sq=pns/'+pn;
    var url = c_sQueryFulltext + squery + '&idi=' + idi + '&ipt=0&iopt=5&foo=SEARCH-COPYPATENT&sid=' + Math.random() + sdf;
    var request = {
        url:url,
        handleAs:"text",
	    load: function(response, ioArgs){
            var div = document.createElement('div');
            div.innerHTML = XSLTtrans(response, c_sXslFileQueryFulltext);
            var table = null;
            var tables = div.getElementsByTagName('table');
            if(tables == null)
                return;
            for(var i = 0; i < tables.length; i++)
                if(tables[i].id == 'querylist-queryresult-table-SEARCH-COPYPATENT')
                {
                    table = tables[i];
                    break;
                }
            if(table == null)
                return;
            var row1 = table.rows[1];
            if(row1 == null)
                return;
            if(dojox.data.dom.textContent(row1.cells[1]) == '')
                return;
            var row2 = table.rows[2];
            var cellcount = patenttr.cells.length;
            var newrow1 = patenttable.insertRow(patenttr.rowIndex);
            newrow1.className = patenttr.className;
            if(!isNullorEmpty(color))
                newrow1.style.backgroundColor = color;
            else
                newrow1.style.backgroundColor = patenttr.style.backgroundColor;
            for(var i = 0; i < cellcount; i++)
            {
                var cell = newrow1.insertCell(i);
                if(i < row1.cells.length)
                {
                    cell.innerHTML = row1.cells[i].innerHTML;
                    if(i == 0 && cell.getElementsByTagName('span').length > 0)
                    {
                    	   //cell.getElementsByTagName('a')[0].className = patenttr.cells[0].getElementsByTagName('a')[0].className;
                    	   cell.getElementsByTagName('span')[0].className = patenttr.getElementsByTagName('span')[0].className;
                    }
                }
                else
                    cell.innerHTML = '';
            }
            var newrow2 = patenttable.insertRow(newrow1.rowIndex + 1);
            newrow2.className = row2.className;
            newrow2.style.display = 'none';
            var cell = newrow2.insertCell(0);
            cell.colSpan = cellcount;
            cell.align = 'center';
            cell.innerHTML = row2.cells[0].innerHTML;
	    },
        error: function(type, error) { 
            alert(error.message); 
        }
    };
    dojo.xhrGet(request);
}
