﻿
/* result.js */
var framesTop = parent.parent;
var g_FolderClosedImgPath_Str 	= "image/a1.gif"
var g_FolderOpenImgPath_Str 	= "image/a2.gif";
var g_BookClosedImgPath_Str 	= "image/a1.gif";
var g_BookOpenImgPath_Str 	= "image/a2.gif";

var bLoading;
function GetNextUL(eSrc)
{
    var eRef = eSrc;
    for(var i = 0; i < eRef.children.length; i++)
    {
	if("UL" == eRef.children[i].tagName) return eRef.children[i];
	}
    return false;
}

function Navigate_URL( eSrc )
{
    var eLink = eSrc.parentElement.children[1];
    urlIdx = eLink.href.indexOf( "class_id=" );
    if( eLink && "A" == eLink.tagName && urlIdx != -1 && "fraTopic" != eLink.target)
    {
		top.classify = eLink.href.substring( urlIdx + 9 );
		top.start = 0;
    	if( top.request == 1 ){
    		RequestHelper( frame , 2 );
    	}
    	else if( top.request == 3 ){
    		RequestHelper( frame , 4 );
    	}
    	else if( top.request == 5 ){
    		RequestHelper( frame , 6 );
    	}
	    else
	    {
	    	alert( "error" );
	    }
    }
}

function Image_Click( eSrc , bLeaveOpen )
{
    var eLink = eSrc.parentElement.children[1];
    if("noHand" != eSrc.className)
    {
        eLI = eSrc.parentElement;
        var eUL = GetNextUL(eLI);
        if(eUL && "kidShown" == eLI.className)
        {
            // hide on-page kids
            if( !bLeaveOpen )
            {
                eLI.className = "kid";
                eUL.className = "clsHidden";
                eSrc.src = ( eSrc.src.indexOf( "newsgroups" ) == -1 ? g_FolderClosedImgPath_Str : g_BookClosedImgPath_Str );
            }
        }
        else if(eUL && eUL.all.length && "kid" == eLI.className)
        {
            // show on-page kids
            eLI.className = "kidShown";
            eUL.className = "clsShown";
            eSrc.src = ( eSrc.src.indexOf( "newsgroups" ) == -1 ? g_FolderOpenImgPath_Str:g_BookOpenImgPath_Str );
        }
        else if("kid" == eLI.className)
        {
            // load off-page kids
            if( !bLoading )
            {
                bLoading = true;
                eLI.className = "kidShown";
                eUL.className = "clsShown";
                window.eCurrentUL = eUL;
//                eSrc.src = ( eSrc.src.indexOf( "newsgroups" ) == -1 ? g_FolderOpenImgPath_Str : g_BookOpenImgPath_Str );
//              eUL.innerHTML = L_LoadingMsg_HTMLText;
//            var strLoc = g_LoadTreePath_Str + eLink.href.substring( eLink.href.indexOf( "?" ) );
//                document.frames["hiddenframe"].location.replace(strLoc);
            }
        }
    }
}

function Toc_click()
{
    var eSrc = window.event.srcElement;
    var sSrcTag = eSrc.tagName.toUpperCase();
    var sSrcParentTag = eSrc.parentElement.tagName.toUpperCase();
    event.returnValue = false;

    if("A" == sSrcTag && "LI" == sSrcParentTag)
    {
        var eImg = eSrc.parentElement.children[0];
        if(eImg) eImg.click();
        Navigate_URL( eSrc );
    }
    else if("SPAN" == sSrcTag && "LI" == sSrcParentTag )
    {
        var eImg = eSrc.parentElement.children[0];
        if(eImg) eImg.click();
    }
    else if( "IMG" == sSrcTag )
    {
        Image_Click( eSrc , false );
    }
    return event.returnValue;
}


function RequestHelper( frame , nRequest )
{
	if( "object" == typeof( frame ) )
	{
		var url = GetRequestUrl( nRequest );
		return PostRequest( frame , url );
	}

}



function encode( value )
{

	if( value == null || value.length == 0 )
		return "";
	else{
		var sRet="";
		for( i = 0 ; i < value.length ; i++ )
		{
			var s = value.charCodeAt( i );
			if( s < 256 )
			{
				sRet += String.fromCharCode( ( s >> 4 ) + 65 , ( s & 0xF ) + 65 );
			}
			else
			{
				sRet += String.fromCharCode( ( s >> 12 ) + 97 , ( ( s >> 8 ) & 0xF ) + 97 , ( ( s >> 4 ) & 0xF ) + 97 , ( s & 0xF ) + 97 );
			}
		}
		return sRet;

	}
}

function decode( value )
{

	if( value == null || value.length == 0 )
		return "";
	else{
		var sRet="";
		for( i = 0 ; i < value.length ; i++ )
		{
			var s = value.charCodeAt( i );
			var s1 = value.charCodeAt( i + 1 );
			if( s < 97 )
			{
				sRet += String.fromCharCode( ( ( s - 65 ) << 4 ) + ( s1 - 65 ) );
				i++;
			}
			else
			{
				var s2 = value.charCodeAt( i + 2 );
				var s3 = value.charCodeAt( i + 3 );
				i+= 3;
				sRet += String.fromCharCode( ( ( s - 97 ) << 12 ) + ( ( s1 - 97 ) << 8 ) + ( ( s2 - 97 ) << 4 ) + ( s3 - 97 )  );

			}
			
		}
		return sRet;

	}
}

function GetRequestUrl( nRequest )
{
	if( "object" == typeof( top.VarCache ) )
	{
		var myDate = new Date();
		var path = GetRequestHeader2() ;
	    path += "request~" + nRequest + "@";
		path += "expr~" + top.expr +"@";
		path += "classify_" + top.classType + "~" + top.classify +"@";
		path += "start~" + top.start +"@";
		path += "number~" + top.number +"@";
		path += "framewidth~" + top.framewidth +"@";
		path += "user~" + top.user +"@";
		path += "filter~" + top.filter +"@";
		path += "timeStamp~"+ myDate.GetTime() +"@";
		return path;
		
	}
	return "";

}

function PostRequest( frame , url )
{
	if( frame == top.fraTop )
	{
		top.fraTop.searchForm.action = top.location.protocol + "//" + top.location.host + "/LiboPub.dll?Search1";
		top.fraTop.searchForm.searchString.value = url;
		top.fraTop.searchForm.submit();
	}
	else if( frame == top.fraTopic )
	{
		top.fraTopic.location.href = url;
	}
	else if( frame == top )
	{
		top.fraTop.searchForm.action = top.location.protocol + "//" + top.location.host + "/LiboPub.dll?Search1";
		top.fraTop.searchForm.searchString.value = url;
		top.fraTop.searchForm.target = "_top";
		top.fraTop.searchForm.submit();
	}
	else
	{
	}


}



function getvalue( val )
{
	if( val == "" )
		return 0;
	return parseInt( val );
}

function get_metadata( )
{
	var metadata = "<metadata>";

	for( var i = 0 ; i < document.all.length ; i++ )
	{
		if( document.all[ i ].className == "item_value" )
		{
			var tagname = document.all[ i ].parentElement.children[ 0 ].innerText;//TEXTAREA..TD.SPAN
			var tagname2 = tagname;
			var uPos = tagname.indexOf( " " );
			if( uPos > 0 )
			{
				tagname2 = tagname.substring( 0 , uPos );
			}
  			
			metadata += "<";
			metadata += tagname;
			metadata += ">";
			metadata += document.all[ i ].value;
			metadata += "</";
			metadata += tagname2;
			metadata += ">";
		}
	}
	metadata += "</metadata>";
	return metadata;
}

function get_metadata2( )
{
	var eSrc = window.event.srcElement;
	var eTable = eSrc.parentElement.parentElement.parentElement.parentElement; //INPUT.TD.TR.TBODY.TABLE
	
	var metadata = "<metadata>";
	for( var i = 0 ; i < eTable.all.length ; i++ )
	{
		if( eTable.all[ i ].className == "item_value" )
		{
			var tagname = eTable.all[ i ].parentElement.children[ 0 ].innerText;//SPAN..TD.SPAN
			var tagname2 = tagname;
			var uPos = tagname.indexOf( " " );
			if( uPos > 0 )
			{
				tagname2 = tagname.substring( 0 , uPos );
			}
  			
			metadata += "<";
			metadata += tagname;
			metadata += ">";
			metadata += eTable.all[ i ].innerText;
			metadata += "</";
			metadata += tagname2;
			metadata += ">";
		}
	}
	metadata += "</metadata>";
	return metadata;
}