function reportSpam( athis, ID, reportOn ) {
	
	switch ( reportOn ) {
		case 'Discussions': var link = "/php/web/dir_discussions.php?action=reportSpam&postID="+ID; break;
		case 'News': var link = "/php/web/dir_news.php?action=reportSpam&nID="+ID; break;
		case 'Knowledge base': var link = "/php/web/dir_knowledges.php?action=reportSpam&kID="+ID; break;
		case '': default: break;
	}
	var result = getURLContent( link );
	getObject(athis).innerHTML = '<font color="gray">Thank you!</font>';		
}

function vote( athis, ID, score, subCatID, UserID, voteOn, threadID ) {
	
	switch ( voteOn ) {
		case 'Discussions': var link = "/php/web/dir_discussions.php?action=vote&postID="+ID+"&score="+score+"&subCatID="+subCatID+"&pUserID="+UserID+"&threadID="+threadID; break;
		case 'News': var link = "/php/web/dir_news.php?action=vote&nID="+ID+"&score="+score+"&subCatID="+subCatID+"&nUserID="+UserID; break;
		case 'Knowledge base': var link = "/php/web/dir_knowledges.php?action=vote&kID="+ID+"&score="+score+"&subCatID="+subCatID+"&kUserID="+UserID; break;
		case '': default: break;
	}
	var result = getURLContent( link );
	getObject(athis).innerHTML = '<font color="gray">Thank you!</font>';
}

function setEnabledTagPreview() {
	
	getObject("td_preview").style.borderLeft = '2px solid #A5A9D5';
	getObject("td_preview").style.borderRight = '2px solid #A5A9D5';
	getObject("td_preview").style.borderTop = '2px solid #A5A9D5';
	getObject("td_preview").style.borderBottomWidth = '0px';
	getObject("td_preview").style.backgroundColor = '#FFFFFF';
	getObject("td_edit").style.borderLeft = '1px solid #DADADA';
	getObject("td_edit").style.borderRight = '1px solid #DADADA';
	getObject("td_edit").style.borderTop = '1px solid #DADADA';
	getObject("td_edit").style.borderBottom = '2px solid #A5A9D5';
	getObject("td_edit").style.backgroundColor = '#F0F0F0';
	
}

function setEnabledTagEdit() {
	
	getObject("td_edit").style.borderLeft = '2px solid #A5A9D5';
	getObject("td_edit").style.borderRight = '2px solid #A5A9D5';
	getObject("td_edit").style.borderTop = '2px solid #A5A9D5';
	getObject("td_edit").style.borderBottomWidth = '0px';
	getObject("td_edit").style.backgroundColor = '#FFFFFF';
	getObject("td_preview").style.borderLeft = '1px solid #DADADA';
	getObject("td_preview").style.borderRight = '1px solid #DADADA';
	getObject("td_preview").style.borderTop = '1px solid #DADADA';
	getObject("td_preview").style.borderBottom = '2px solid #A5A9D5';
	getObject("td_preview").style.backgroundColor = '#F0F0F0';
	
}

function previewNews() {

	var params = getObject("text").value;
	var link = "text="+escape(encodeURI(params));
	var result = getURLContentPOST( '/php/web/dir_news.php?action=AJAX_PreviewNews', link );
	getObject("text").style.display = 'none';
	getObject("div_preview").innerHTML = result;
	getObject("div_preview").style.display = 'block';	
	getObject("span_preview").innerHTML = '<div onclick="javascript: previewNews();" class="def_mainItemSelected2" style="color: rgb(255, 255, 255);">Preview</div><div class="leftFloatDiv"><img src="/images/web/tabmenu2.gif" alt="" border="0"></div>';
	getObject("span_edit").innerHTML = '<div onclick="javascript: editNews();" class="def_mainItem2" style="color: rgb(255, 255, 255);" onmouseover=\'javascript:onTabMouseOver(this, "#939391", "#FFFFFF");\' onmouseout=\'javascript:onTabMouseOut(this, "#FFFFFF");\'>Edit</div>';
}

function editNews() {
	
	getObject("text").style.display = 'block';
	getObject("div_preview").style.display = 'none';
	getObject("span_preview").innerHTML = '<div onclick="javascript: previewNews();" class="def_mainItem2" style="color: rgb(255, 255, 255);" onmouseover=\'javascript:onTabMouseOver(this, "#939391", "#FFFFFF");\' onmouseout=\'javascript:onTabMouseOut(this, "#FFFFFF");\'>Preview</div>';
	getObject("span_edit").innerHTML = '<div onclick="javascript: editNews();" class="def_mainItemSelected2" style="color: rgb(255, 255, 255);">Edit</div><div class="leftFloatDiv"><img src="/images/web/tabmenu2.gif" alt="" border="0"></div>';
}

function previewKnowledge() {
	
	var params = getObject("k_text").value;
	var link = "text="+escape(encodeURI(params));

	var result = getURLContentPOST( '/php/web/dir_knowledges.php?action=AJAX_PreviewKnowledge', link );

	getObject("k_text").style.display = 'none';
	getObject("div_preview").innerHTML = result;
	getObject("div_preview").style.display = 'block';
	setEnabledTagPreview();

}

function editKnowledge() {
	
	getObject("k_text").style.display = 'block';
	getObject("div_preview").style.display = 'none';
	setEnabledTagEdit();
	
}

function previewThread() {
	
	var params = getObject("thread_text").value;
	var link = "text="+escape(encodeURI(params));

	var result = getURLContentPOST( '/php/web/dir_discussions.php?action=AJAX_PreviewThread', link );

	getObject("thread_text").style.display = 'none';
	getObject("div_preview").innerHTML = result;
	getObject("div_preview").style.display = 'block';
	setEnabledTagPreview();

}

function editThread() {
	
	getObject("thread_text").style.display = 'block';
	getObject("div_preview").style.display = 'none';
	setEnabledTagEdit();
	
}

function changeSort( name, sort ) {
	setCookie( name, sort );
}

function setCookie( name, value )
{
	var path = "/";
	var expires = "";
	var domain = "";
	var secure = "";
		
    document.cookie = name + "=" + escape(value) +
        ((expires) ? "; expires=" + expires.toGMTString() : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
     
}

function create_reply( textElemID, authorElemID ) {
	
	originalText = getObject( textElemID ).innerHTML;
	originalAuthor = getObject( authorElemID ).innerHTML;
	
	getObject("post_text").value = '[quote]\n' + originalText + '\n[/quote]\n';
	getObject("original_author").value = originalAuthor;
	getObject("original_author2").value = originalAuthor;
	showElem( 'original_author_span' );
	
	WYSIWYG.changeEditorContents('post_text', '[quote]\n' + originalText + '\n[/quote]\n');
}

function resetReply() {
	document.getElementById('original_author').value='';
	document.getElementById('original_author2').value='';
	hideElem( 'original_author_span' );
	document.getElementById('post_text').value='';
	
	WYSIWYG.execCommand('post_text', "selectall");
	WYSIWYG.execCommand('post_text', "delete");
}

function addComment() {
	if( getObject("div_reply") ) getObject("div_reply").innerHTML = '';
	if ( getObject("reply_text") ) getObject("reply_text").value = '';
}
	
function setToBlue () {
	
	clearTimeout();
  	getObject("my_tb").style.backgroundColor = "#DEDEEF";
  	setTimeout ( "setToWhite()", 2000 );
 
}

function setToWhite() {
	getObject("my_tb").style.backgroundColor = "#FFFFFF";
}

function mddTree_getSearchTagsItem( node, deep ) {
	if( node.visited ) return(deep+" already visited "+node.title+"<BR>");
	if( !node.isVisible() ) return "";

	node.visited = true;
	
	var html = "";
	if( node.group ) {
		if( node.anyValue ) return "";

		// EXTRACT PARAMS
		var childsCount = 0;
		var setChildsCount =0;
		var setMeRed = false;				
		
		html = "<font color='#003399'>"+node.title+"</font>";

	
		for( var i = 0; i < node.childs.length; ++i ) if( node.childs[i].param && node.childs[i].behavior == "" ) {		
				
			childsCount ++;
			cn = node.childs[i];
			if( cn.value ) {
				setChildsCount++;
					if( cn.inputField ) html += ( html != ""  ? ", " : "" )+"<font color='#003399'>"+cn.value+"</font>"+ " <font color='#003399'>" + cn.title+"</font>";
					else html += ( html != "" ? ", " : "" )+"<font color='#003399'>"+cn.title+"</font>";					
			}			   
		}

		// GO DEEPER
		for( var i = 0; i < node.childs.length; ++i ) if( node.childs[i].group ) {
			var temp2 = this.mddTree_getSearchTagsItem( node.childs[i], deep+1);
			if( temp2 != "" ) html += ( html != "" ? ", " : "" ) + temp2;
		}

	} 

	return html;
}

function mddTree_getSearchTags ( mdd ) {
	mdd.setNodesVisited( false );

	var html = "";
	var temp = "";

	for( var i=0; i<mdd.nodes.length; ++i) if( mdd.nodes[i].parents.length == 0 ) {
		temp = mddTree_getSearchTagsItem(mdd.nodes[i],0 );
		if ( temp != "" ) html += ( html != "" ? ", " : "" )+temp;
	}

	return html;
}


//////////////////////////////////////////////////////////////////////////////////////////
// search 

	var postLinkWithoutPagingF = "";
	var postLinkWithoutPagingA = "";
	
	var postLinkWithoutPagingD = '';
	var postLinkWithoutPagingN = '';
	var postLinkWithoutPagingK = '';
	var isDeveloper	= false;
	
	function EnableSelect() {		
		if ( getObject( "news" ).checked == true  ) getObject( "news_cat" ).disabled = false;
		else getObject( "news_cat" ).disabled = true;
		if ( getObject( "knowledges" ).checked == true  ) getObject( "knowledges_cat" ).disabled = false;
		else getObject( "knowledges_cat" ).disabled = true;
		if ( getObject( "discussions" ).checked == true  ) getObject( "discussions_cat" ).disabled = false;
		else getObject( "discussions_cat" ).disabled = true;
	}
	
	function generateFormLink( stopNews, stopKnowledges, stopDisc, developer ) {
		if ( (getObject( "news" ).checked == true) && stopNews == false ) news = getObject( "news_cat" ).value;
		else news = "none";
		if ( (getObject( "knowledges" ).checked == true) && stopKnowledges == false ) know = getObject( "knowledges_cat" ).value;
		else know = "none";
		if ( (getObject( "discussions" ).checked == true) && stopDisc == false ) disc = getObject( "discussions_cat" ).value;
		else disc = "none";
		keyword = getObject( "keyword" ).value;
		sort = getObject( 'sort_value' ).value;
		if( isDeveloper ) {			
			return "/developer/search/results/"+news+"/"+know+"/"+disc+"/1/"+sort+"/"+keyword;		
		}
		return "/search/results/"+news+"/"+know+"/"+disc+"/1/"+sort+"/"+keyword;
	}

	function on_body_load( developer ) {		
		if( developer == 'developer') isDeveloper = true;
		postLinkWithoutPagingD = generateFormLink( true, true, false, developer );
		postLinkWithoutPagingN = generateFormLink( false, true, true, developer );
		postLinkWithoutPagingK = generateFormLink( true, false, true, developer );
		EnableSelect();
	}	
	
	function onSearchButtonClick( developer ) {
		var o = getObject( "formPost");
		o.action = generateFormLink( false, false, false, developer );
		o.submit();
	}
	
	function setPageIndex( url, index ) {		
		url = url.split( "/" );
		if( !isDeveloper ) url[6] = index;
		else url[7] = index;
		url = url.join( "/" );		
		return url;
	}
	
	function onDiscPagingClick( pageIndex ) {
		var o = getObject( "formPost");
		newUrl = setPageIndex( postLinkWithoutPagingD, pageIndex );
		o.action = newUrl;
		o.submit();
	}
	
	function onNewsPagingClick( pageIndex ) {
		var o = getObject( "formPost");
		newUrl = setPageIndex( postLinkWithoutPagingN, pageIndex );
		o.action = newUrl;
		o.submit();
	}
	
	function onKnowPagingClick( pageIndex ) {
		var o = getObject( "formPost");
		newUrl = setPageIndex( postLinkWithoutPagingK, pageIndex );
		o.action = newUrl;
		o.submit();
	}

	function getCheckedValue(radioObj) {
		if(!radioObj)
			return "";
		var radioLength = radioObj.length;
		if(radioLength == undefined)
			if(radioObj.checked)
				return radioObj.value;
			else
				return "";
		for(var i = 0; i < radioLength; i++) {
			if(radioObj[i].checked) {
				return radioObj[i].value;
			}
		}
		return "";
	}

	function generateFormLinkSmall( developer ) {
	
		var keyword = getObject( "keywordSmall" ).value;
		if ( keyword == 'Search' ) keyword = '';
		var whereSearch = getCheckedValue(document.forms["formPostSmall"].elements["whereSearch"]); 
		switch ( whereSearch ) {
			case "all": news = "all"; know = "all"; disc = "all"; break;
			case "news": news = "all"; know = "none"; disc = "none"; break;
			case "know": news = "none"; know = "all"; disc = "none"; break;
			case "disc": news = "none"; know = "none"; disc = "all"; break;
			default: news = "all"; know = "all"; disc = "all"; break;
		}
		if( developer ) developer = "/"+developer;
		return developer+"/search/results/"+news+"/"+know+"/"+disc+"/1/3/"+keyword;
	}
	
	function onSearchButtonClickSmall( developer ) {
		o = getObject( "formPostSmall"); 
		o.action = generateFormLinkSmall( developer );
		o.submit();
	}
	
function containsDOM (container, containee) {
  var isParent = false;
  do {
    if ((isParent = container == containee))      
      break;      
      containee = containee.parentNode;
  }
  while (containee != null); 
  return isParent;
}	
	
function checkMouseLeaveClick (element, evt) {
  if (element.contains && evt.toElement) {
    return !element.contains(evt.toElement);
  }
  else if (evt.relatedTarget) {
    return !containsDOM(element, evt.relatedTarget);
  }
}

function clickButton( e ) {
	
	var targ;
	if (!e) {
		alert(window.event);
  		var e=window.event;
  	}
	if (e.target) {
  		targ=e.target;
  	} else if (e.srcElement) {
  		targ=e.srcElement;
  	}
	if (targ.nodeType==3) // defeat Safari bug
	{
  		targ = targ.parentNode;
  	}
	var objID = targ.id;	
	var parentID = targ.parentNode.id;	
	
	if( 
	parentID == 'searchBox' || 
	parentID == 'mainNavigationSearchItem' || 
	objID == 'keywordSmall' ) return;
	
	var obj = getObject('searchBox');
	if( obj != null ) obj.style.display = 'none';					
}

function checkMouseLeave (element, evt) {
  if (element.contains && evt.toElement) {
    return !element.contains(evt.toElement);
  }
  else if (evt.relatedTarget) {
    return !containsDOM(element, evt.relatedTarget);
  }
}

function showError( elemID, errorMsg ) {
	getObject( elemID ).innerHTML = errorMsg;
}

function hideError( elemID ) {
	getObject( elemID ).innerHTML = '';
}

function showElem( elemID ) {
	elem = getObject( elemID );
	elem.style.visibility = 'visible';
	elem.style.display = 'block';
}

function hideElem( elemID ) {
	elem = getObject( elemID );
	elem.style.visibility = 'hidden';
	elem.style.display = 'none';
}