var PreloadFlag = false;
var expDays = 90;
var exp = new Date(); 
var tmp = '';
var tmp_counter = 0;
var tmp_open = 0;
var treestring="hg_expand";

exp.setTime(exp.getTime() + (expDays*24*60*60*1000));

function SetCookie(name, value) 
{
	var argv = SetCookie.arguments;
	var argc = SetCookie.arguments.length;
	var expires = (argc > 2) ? argv[2] : null;
	var path = (argc > 3) ? argv[3] : null;
	var domain = (argc > 4) ? argv[4] : null;
	var secure = (argc > 5) ? argv[5] : false;
	document.cookie = name + "=" + escape(value) +
		((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
		((path == null) ? "" : ("; path=" + path)) +
		((domain == null) ? "" : ("; domain=" + domain)) +
		((secure == true) ? "; secure" : "");
}

function getCookieVal(offset) 
{
	var endstr = document.cookie.indexOf(";",offset);
	if (endstr == -1)
	{
		endstr = document.cookie.length;
	}
	return unescape(document.cookie.substring(offset, endstr));
}

function GetCookie(name) 
{
	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	while (i < clen) 
	{
		var j = i + alen;
		if (document.cookie.substring(i, j) == arg)
			return getCookieVal(j);
		i = document.cookie.indexOf(" ", i) + 1;
		if (i == 0)
			break;
	} 
	return null;
}

function ShowHide(id1, id2, id3) 
{
	var res = expMenu(id1);
	if (id2 != '') expMenu(id2);
	if (id3 != '') SetCookie(id3, res, exp);
}
	
function expMenu(id) 
{
	var itm = null;
	if (document.getElementById) 
	{
		itm = document.getElementById(id);
	}
	else if (document.all)
	{
		itm = document.all[id];
	} 
	else if (document.layers)
	{
		itm = document.layers[id];
	}
	if (!itm) 
	{
		// do nothing
	}
	else if (itm.style) 
	{
		if (itm.style.display == "none")
		{ 
			itm.style.display = ""; 
			return 1;
		}
		else
		{
			itm.style.display = "none"; 
			return 2;
		}
	}
	else 
	{
		itm.visibility = "show"; 
		return 1;
	}
}

function showMenu(id)
{
	var itm = null;
	if (document.getElementById) 
	{
		itm = document.getElementById(id);
	}
	else if (document.all)
	{
		itm = document.all[id];
	} 
	else if (document.layers)
	{
		itm = document.layers[id];
	}
	if (!itm) 
	{
		// do nothing
	}
	else if (itm.style) 
	{
		if (itm.style.display == "none")
		{ 
			itm.style.display = ""; 
			return true;
		}
		else
		{
//			itm.style.display = "none"; 
			return true;
		}
	}
	else 
	{
		itm.visibility = "show"; 
		return true;
	}
}

function hideMenu(id)
{
	var itm = null;
	if (document.getElementById) 
	{
		itm = document.getElementById(id);
	}
	else if (document.all)
	{
		itm = document.all[id];
	} 
	else if (document.layers)
	{
		itm = document.layers[id];
	}
	if (!itm) 
	{
		// do nothing
	}
	else if (itm.style) 
	{
		if (itm.style.display == "none")
		{ 
//			itm.style.display = ""; 
			return true;
		}
		else
		{
			itm.style.display = "none"; 
			return true;
		}
	}
	else 
	{
		itm.visibility = "hide"; 
		return true;
	}
}

function showStatus(id)
{
	var itm = null;
	if (document.getElementById)
	{
		itm = document.getElementById(id);
	}
	else if (document.all)
	{
		itm = document.all[id];
	}
	else if (document.layers)
	{
		itm = document.layers[id];
	}
	
	if(!itm)
	{
		// do nowt
	}
	else if (itm.style)
	{
		if (itm.style.display == "none")
		{
			window.status = 'Click to Expand';
			return true;
		}
		else
		{
			window.status = 'Click to Collapse';
			return true;
		}
	}
	else
	{
		window.status = 'Help';
		return true;
	}
}

function setImageDimensions(gotImage)
{
  if(gotImage.width > 570) {
	gotImage.width = 570;
  }
}

function changeImageDimensions(gotImage, type)
{
  if(gotImage.width > 570 && type == 'out') {
	gotImage.width = 570;
    return;
  }
  if(type == 'over') {
	gotImage.removeAttribute('width');
  }
}

function setCheckboxes(theForm, elementName, isChecked)
{
    var chkboxes = document.forms[theForm].elements[elementName];
    var count = chkboxes.length;

    if (count) 
	{
        for (var i = 0; i < count; i++) 
		{
            chkboxes[i].checked = isChecked;
    	}
    } 
	else 
	{
    	chkboxes.checked = isChecked;
    } 

    return true;
} 

function getElementsByClass(searchClass,node,tag) {
	var classElements = new Array();
	if ( node == null )
		node = document;
	if ( tag == null )
		tag = '*';
	var els = node.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			j++;
		}
	}
	return classElements;
}

function Expand(Which){

   MyFolder = document.getElementById(Which);

   MyState = document.getElementById('img_'+Which);

	if(MyFolder.style.display=='none'){

	   MyFolder.style.display="";

	   MyState.src = './templates/phpbbchina/images/minus_9x9.gif';
	   markExpand(Which,"1");

	}else{

	   MyFolder.style.display="none";

	   MyState.src = './templates/phpbbchina/images/plus_9x9.gif';
	   markExpand(Which,"2");

	}

}

function ExpandAll(){
   folders = document.getElementsByName('post_node');
   if (folders == null||folders.length==0){
     // fix for stupid IE
     folders = getElementsByClass('post_node',document,'div');
   }
   states =  document.getElementsByName('post_img_node');

   if (folders == null|| states== null)
               return ;


   for (var i=0; i<folders.length; i++){
       MyFolder = folders[i];
	   MyFolder.style.display="";
        markExpand(MyFolder.id,"1");
	}
  for (var j=0; j<states.length; j++){
       MyState = states[j];
	   MyState.src = './templates/phpbbchina/images/minus_9x9.gif';
	}

}

function CollapseAll(){

   folders = document.getElementsByName('post_node');
   if (folders == null||folders.length==0){
     // fix for stupid IE
     folders = getElementsByClass('post_node',document,'div');
   }
   states =  document.getElementsByName('post_img_node');

   if (folders == null|| states== null)
               return ;

   for (var i=0; i<folders.length; i++){
       MyFolder = folders[i];
	   MyFolder.style.display='none';
       markExpand(MyFolder.id,"2");
   }

   for (var j=0; j<states.length; j++){
       MyState = states[j];
	   MyState.src = './templates/phpbbchina/images/plus_9x9.gif';
	}

}

//get around the browser number of cookies limit
function markExpand(node, value){
     //use a big string to store expand status in cookie
     var nodes = GetCookie(treestring);
     oldValue = getExpand(node);
     if (oldValue== null){
        nodes1 = (nodes == null)?"":nodes;
        nodes = nodes1+node+":"+value+"!|";
	//maximum length of a cookie is 4k
        while (nodes.length > 4000){
		nodes = nodes.substring(nodes.indexOf("|")+1);
	}
     }else if(nodes != null)
     {
       nodes = nodes.replace(node+":"+oldValue+"!|",node+":"+value+"!|");
     }
    SetCookie(treestring, nodes, exp);
}

function getNodeVal(nodes,offset)
{
	var endstr = nodes.indexOf("!",offset);
	if (endstr == -1)
	{
		endstr = nodes.length;
	}
	return nodes.substring(offset, endstr);
}

function getExpand(node){
 var nodes = GetCookie(treestring);
 if (nodes == null) return null;
 var arg = node + ":";
 var alen = arg.length;
 var clen = nodes.length;
 var i = 0;
 while (i < clen)
 {
	var j = i + alen;
	if (nodes.substring(i, j) == arg)
		return getNodeVal(nodes,j);
	i = nodes.indexOf("|", i) + 1;
	if (i == 0)
		break;
 }
 return null;
}

function onload2(){
    onload1();
    menuFix();

    folders = document.getElementsByName('post_node');
    if (folders == null||folders.length==0){
     // fix for stupid IE
     folders = getElementsByClass('post_node',document,'div');
    }

    //alert(document.cookie);
    //this does not work weel for IE, since it allows only 20 cookies per doamin

    states =  document.getElementsByName('post_img_node');

   if (folders == null|| states== null)
               return ;

   for (var j=0; j<folders.length; j++){
       MyFolder = folders[j];
       expanded = getExpand(MyFolder.id);
       MyState = document.getElementById("img_"+MyFolder.id);
       if (expanded =="2"){
	      MyFolder.style.display="none";
          if (MyState != null)
            MyState.src = './templates/phpbbchina/images/plus_9x9.gif';
       }
       /*else{
          MyFolder.style.display="";
          MyState.src = 'images/minus_9x9.gif';
       } */
    }

 }