var nowDateObj = new Date();
var nowYear = nowDateObj.getYear();
var nowMonth = nowDateObj.getMonth() + 1;
var nowDate = nowDateObj.getDate();
var nowHours = nowDateObj.getHours(); 
var nowMinutes = nowDateObj.getMinutes();
var nowSeconds = nowDateObj.getSeconds();

function getDocObj( objectId ) {	
	if( document.getElementById && document.getElementById( objectId ) ) {
		return document.getElementById(objectId);
	} else if( document.all && document.all( objectId ) ) {
		return document.all( objectId ); 
	} else if ( document.layers && document.layers[ objectId ] ) {
		return document.layers[ objectId ]; 
	} else {
		return false;
	}	 
}

/** page access url */
var urlStr = self.location.href;

/** origin rsc, the string after '#' */
var originRsc = "";

/** the string before '#' */
var preUrlStr = "";
var hasSign = 0;

if( urlStr.indexOf( "#" ) >= 0 ) {
	urlStr = Trim( urlStr );

	originRsc = 
		urlStr.substring( 
			urlStr.indexOf( "#" ) + 1, 
			urlStr.length 
		);
		
	preUrlStr = 
		urlStr.substring(
			0, 
			urlStr.indexOf( "#" )
		);
		
	/** check the preUrlStr */
	if( !checkCharacter( preUrlStr ) ) {
		originRsc = "";
		preUrlStr = "";
	}
	
	/** check the rsc */
	if( originRsc.length != 9 || !checkLetter( originRsc ) ) {
		originRsc = "";
	}
	
	hasSign = 1;
} else {
	var tmpStr = 
		urlStr.substring(
			urlStr.lastIndexOf( "/" ) + 1,
			urlStr.lastIndexOf( "." )
		);
		
	if( tmpStr.length == 9 && checkLetter( tmpStr ) ) {
		originRsc = tmpStr;
	}
}

function checkCharacter( str ) {
	return true;
}

function checkLetter( str ) {
	var rscCharacter = 
		"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
		
	for( var i = 0; i < str.length; i ++ ) {
		var c = str.charAt( i );
		if( rscCharacter.indexOf( c ) < 0 ) {
			return false;
		}
	}
	
	return true;
}

function TrimLeft( str ) {
	while( str.charAt( 0 ) == ' ' )
		str = str.substr( 1 );
	return str;
}

function TrimRight( str ) {
	while( str.charAt( str.length - 1 ) == ' ' )
		str = str.substr( 0, str.length - 1 );
	return str;
}

function Trim( str ) {
	str = TrimLeft( str );
	str = TrimRight( str );
	return str;	
}

var index = 0;
var xmlhttpArr = new Array();
var cmtwithhrefArr = new Array();
var cmtidArr = new Array();

function getPage( pageURL ) {
	xmlhttpArr[ index ] = createXMLHttp();

    if( xmlhttpArr[ index ] ) {
        xmlhttpArr[ index ].onreadystatechange = setPageData;
        xmlhttpArr[ index ].open( 'HEAD', pageURL );
        xmlhttpArr[ index ].send( null );
    }
    
    index ++;
}

function setPageData(){
	for( var i = 0; i < xmlhttpArr.length; i ++ ) {
		try {
			if( xmlhttpArr[ i ] != null ) {
			    if( xmlhttpArr[ i ].readyState == 4 && xmlhttpArr[ i ].status == 200 ) {
					getDocObj( cmtidArr[ i ] ).innerHTML = cmtwithhrefArr[ i ];
					xmlhttpArr[ i ] = null;
			    }
			}
		} catch( e ) {}
	}
}

function createXMLHttp(){
    if( window.XMLHttpRequest ) { 
		return new XMLHttpRequest();
	} else {
		try {
			return new ActiveXObject( "Msxml2.XMLHTTP" );
		} catch( e ) {
			try {
				return new ActiveXObject( "Microsoft.XMLHTTP" );
			} catch( e2 ) {
				return null;
			}
		}
	}

	return null;
}

function checkUrl( url ) {
    getPage( url );
}

function changeRsc( type ) {
	var rsc = originRsc;
	var dcps = originRsc.substring( 0, 2 );

	if( type.indexOf( "C92" ) > -1 ) {
		rsc = originRsc.substring( 0, originRsc.length - 3 ) + "000";
	} else if( 
		type.indexOf( "C95" ) > -1 || 
		type.indexOf( "C97" ) > -1 || 
		type.indexOf( "C97A" ) > -1 || 
		type.indexOf( "C97B" ) > -1 || 
		type.indexOf( "C99" ) > -1 || 
		type.indexOf( "C93" ) > -1
	) {
		rsc = originRsc.substring( 0, 2 ) + "0000000";
		if( type == "C97" ) {
			if( dcps == "GA" || dcps == "GR" || dcps == "GT" ) {
				rsc = "GY0000000";
			} else if( dcps == "CR" || dcps == "CT" || dcps == "CM" || dcps == "CB" ) {
				rsc = "CY0000000";
			} else if( dcps == "CF" || dcps == "CS" ) {
				rsc = "CA0000000";
			}
		} else if( type == "C99" ) {
			if( dcps == "CR" || dcps == "CT" || dcps == "CM" || dcps == "CB" ) {
				rsc = "CY0000000";
			}
		}
	} else if( type.indexOf( "99" ) > -1 ) {
		rsc = "GL0000000";	
	}
	
	return rsc;
}

function checkUrlWithImg( preUrl, imgName, imgText, type, tagid ) {
	var nohref = 
		'<span class="unlink"><img src="../../../resource/public_images/' + imgName + 
		'" align="absmiddle" />' + imgText + '</span>';
	//eval( tagid + ".innerHTML = '" + nohref + "';" );
	getDocObj( tagid ).innerHTML = nohref;

	if( 
		preUrl.length > 0 && 
		originRsc.length > 0 && 
		imgName.length > 0 && 
		imgText.length > 0 && 
		tagid.length > 0
	) {
		if( type != "RPT" || ( type == "RPT" && hasSign == 1 ) ) {
			var rsc = changeRsc( type );
			
			var discipline = originRsc.substring( 0, 2 );
			var tmpdcp = discipline;
			if( type == "99" ) {
				tmpdcp = "GL";
			}
			
			var aimUrl = preUrl + tmpdcp + "/" + type + "/" + rsc + ".shtml";
			
			var rsUrl = aimUrl;
			if( hasSign == 1 ) {
				rsUrl = rsUrl + '#' + originRsc;
			}
			
			var withhref = 
				'<span><a href="' + rsUrl + '"><img src="../../../resource/public_images/' + imgName + 
				'" align="absmiddle" />' + imgText + '</a></span>';
				
			cmtwithhrefArr[ index ] = withhref;
			cmtidArr[ index ] = tagid;
			
			checkUrl( aimUrl );
		}
	}
	
	return false;
}

function checkTextUrl( allUrl, urlPara, theText, tagid ) {
	//eval( tagid + ".innerHTML = '" + theText + "';" );
	getDocObj( tagid ).innerHTML = theText;

	if( 
		allUrl.length > 0 && 
		theText.length > 0 && 
		tagid.length > 0
	) {
		var withhref = 
			'<a href="' + allUrl + urlPara + '"><strong>' + theText + '</strong></a>';
			
		cmtwithhrefArr[ index ] = withhref;
		cmtidArr[ index ] = tagid;
		
		checkUrl( allUrl );
	}
	
	return false;
}

function finishurl( url ) {
	var urlstr = url;
	
	if( 
		url.length > 0 && 
		originRsc.length > 0 
	) {
		urlstr += "#" + originRsc;
	}
	
	return urlstr;
}

function setSelectedForNoc( selectObjId, type, rsc, noc ) {
	try {
		if( 
			getDocObj( selectObjId ) && 
			type.length > 0 && 
			noc.length > 0 && 
			rsc.length == 9 && 
			checkLetter( rsc )
		) {
			var discipline = rsc.substring( 0, 2 );
			var gender = rsc.substring( 2, 3 );
			
			var filename = noc + "_" + gender;
		
			var selObj = getDocObj( selectObjId );
			for( var i = 0; i < selObj.length; i ++ ) {
				var selVal = selObj.options[ i ].value;
				if( 
					selVal.indexOf( type ) > -1 && 
					selVal.indexOf( discipline ) > -1 && 
					selVal.indexOf( filename ) > -1
				) {
					selObj.options[ i ].selected = true;
					break;
				}
			}
		}
	} catch( e ) {}
	
	prepare();
}

function gotoSelectedByNoc( selectObj ) {
	var val = selectObj.options[selectObj.selectedIndex].value;
	self.location = val;

	return false;
}

function setSelectedForDiscipline( selectObjId, type, rsc, discipline ) {
	try {
		if( 
			getDocObj( selectObjId ) && 
			type.length > 0 && 
			discipline.length > 0 && 
			rsc.length == 9 && 
			checkLetter( rsc )
		) {
			var discipline = rsc.substring( 0, 2 );
		
			var selObj = getDocObj( selectObjId );
			for( var i = 0; i < selObj.length; i++ ) {
				var selVal = selObj.options[ i ].value;
				if( 
					selVal.indexOf( type ) > -1 && 
					selVal.indexOf( discipline + "0" ) > -1
				) {
					selObj.options[ i ].selected = true;
					break;
				}
			}
		}
	} catch( e ) {}
	
	prepare();
}

function gotoSelectedByDiscipline( selectObj ) {
	var val = selectObj.options[selectObj.selectedIndex].value;
	self.location = val;

	return false;
}


function prepare() {
	if (!document.getElementsByTagName) return false;
	if (!document.getElementById) return false;
	if (!document.getElementById("tag")) return false;
	var tag = document.getElementById("tag");
	var liNodes = tag.getElementsByTagName("li");
	for(var i=0; i<liNodes.length; i++){
		if(liNodes[i].className != "titleTag titleOne" && liNodes[i].className != "titleTag titleTwo") continue;
		liNodes[i].onclick = function(){
			return showTag(this);
		}
		var aNodes = liNodes[i].getElementsByTagName("a");
		aNodes[0].onfocus = function(){
				return this.blur();
			}
	}
}
function showTag(which){
	var tag = document.getElementById("tag");
	var liNodes = tag.getElementsByTagName("li");
	for(var j=0; j<liNodes.length; j++){
		liNodes[j].className = "titleTwo";
		if(liNodes[j].className != "titleTag titleOne" && liNodes[j].className != "titleTag titleTwo") continue;
		liNodes[j].className = "titleTag titleTwo";
	}
	which.className = "titleTag titleOne";
	var num = which.id.substring(4,5);
	for(var i=1; i<6; i++){
		document.getElementById("title0" + i).style.display = "none";
	}
	document.getElementById("title0" + num).style.display = "block";
	return false;
}
function addLoadEvent(func){
	var oldonload = window.onload;
	if (typeof window.onload != 'function'){
		window.onload = func;
	}else{
		window.onload = function(){
			oldonload();
			func();
		}
	}
}
addLoadEvent(prepare);

