	var et_g_whitespace = " \t\n\r";
	var et_g_reWhitespace = /^\s+$/
	var whitespace = " \t\n\r";
	var wAjax = null;
	var siteContext = "/"+appContext+"/";

	var userRequestToSave = false; 
	var autoSavetimeOutId = null;
	var oldDDRow = null;
	var commentEditorInit = false;
	var emailWithContent = "";
	var isChecker = false;
	var ADMIN_PAGE_URL = "";
	var renameOnPreview = false;
	var renameOnDraftSave = false;
	var arrayOfEvents = new Array();
	var agt=navigator.userAgent.toLowerCase();
	var unsavedEditorHTML	=	"";	
	var arrayofTocs = new Array();
    var helpUrl;
	var is_ie     = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
	var bulkPopWindow = null;
	var bulkPopTimer = null;
	var discussCounter = 1;
	collabapplication = "wiki";
	var wiki_uri ="";
	var wiki_alias ="";
	var wiki_pageid;
	var wiki_user ="";
	var wiki_projid ="";
	var wiki_watch_user ="";
	var wiki_watch_pageid ="";
	var fav_projid="";
	var fav_user="";
	var et_g_protoscheme = "http";
	if(window.location.href.indexOf("https://") == 0)
    	et_g_protoscheme = "https";	
    var draftSaving = false;
    var inittagvalue="";
	var attachmentID = "";
	
	var generalMsgLocalizer = {
		getMessage: function(key, args) {
			var _result;
			try {
				_result = generalMsgs[key];
			} catch(err) {
			}
			if (typeof _result !="string") {
				_result = key;
			}
			if (typeof args != "undefined" && 
						(args.constructor.toString().indexOf("Array") != -1)) {
				for (var i=0; i< args.length; i++) {
					var regEx = new RegExp("\\{"+i+"\\}");
					_result = _result.replace(regEx,args[i])
				}
			}
			return _result;
		}
	};

	var editorCustomMsgLocalizer = {
		getMessage: function(key) {
			var _result;
			try{
			 	_result=editorI18nCustomMsgs[key];
			}catch (err) {
			}
			if (typeof _result !="string") {
				_result = key;
			}
			return _result;
		}
	};
	

	var MSG_POPUP_BLOCK = generalMsgLocalizer.getMessage("browser_popup_block");

	function URLEncode(val)
	{
		if(encodeURIComponent)
		{
			return encodeURIComponent(val);
		}
		else
		{
			return escape(val);
		}
	}	
	
	/*
	 * checks for empty string
	 */
	function et_g_isEmpty(s)
	{
		return ((s == null) || (s.length == 0));
	}
	
	function et_g_isInteger (s)
	{
		var i;
		for (i = 0; i < s.length; i++){
			// Check that current character is number.
			var c = s.charAt(i);
			if (!et_g_isDigit(c)) return false;
		}
		// All characters are numbers.
		return true;
	}
	// Returns true if character c is a digit
	// (0 .. 9).
	function et_g_isDigit (c)
	{
		return ((c >= "0") && (c <= "9"))
	}
	
	// Returns true if character c is a digit
	// (1 .. 9).
	function et_g_isNonZeroDigit (c)
	{
		return ((c > "0") && (c <= "9"))
	}
	
	function et_g_isNonZeroInteger(s)
	{
		var i;
		if(s.length==1){
			if(et_g_isNonZeroDigit (s)) return true;
			else return false;
		}
		for (i = 0; i < s.length; i++){
			// Check that current character is number.
			var c = s.charAt(i);
			if (!et_g_isInteger(c)) return false;
		}
		// All characters are numbers.
		return true;
	}
	
	
	/*
	 * checks for whitespace string
	 */
	function et_g_isWhitespace (s)
	{
		return (et_g_isEmpty(s) || et_g_reWhitespace.test(s));
	}

	function stripWhitespace (s)
	{
		return stripCharsInBag (s, whitespace)
	}

	function stripCharsInBag (s, bag)
	{
		var i;
		var returnString = "";
		// Search through string's characters one by one.
		// If character is not in bag, append to returnString.
		for (i = 0; i < s.length; i++)
		{
			// Check that current character isn't whitespace.
			var c = s.charAt(i);
			if (bag.indexOf(c) == -1) returnString += c;
		}
		return returnString;
	}

	function isValidEntityName (s)
	{
		s=stripWhitespace(s);
		var i;
		for (i = 0; i < s.length; i++)
		{
			// Check that current character is number or letter.
			var c = s.charAt(i);
			if ( c == "\"" || c == "\\" || c == "/" || c == "^" || c == ">" || c == "<" ){
				return false;
			}
		}
		return true;
	}
	
	function isValidPageName (s)
	{
		s=stripWhitespace(s);
		var i;
		for (i = 0; i < s.length; i++)
		{
			// Check that current character is number or letter.
			var c = s.charAt(i);
			if ( c == "\"" || c == "^" || c == ">" || c == "<" ){
				return false;
			}
		}
		return true;
	}
	
	function changePointer(cursorType)
	{
		/*try
		{
			var length = document.all.length ;
			for (var j=0; j<length; j++)
			{
				try
				{
					document.all[j].style.cursor=cursorType;
					if(document.all[j].contentWindow)
					{
						document.all[j].contentWindow.document.body.style.cursor=cursorType;
					}
				}
				catch(err){}
			}
		}
		catch(err){}*/
		try
		{
			document.body.style.cursor=cursorType;
		}
		catch(err){}
	}	

	function openHelp(){
		openPopup(getAppPath() + '/wiki/help.jsp', 800, 500, 'eTouch SamePageHelp');
	}	

	function openPopup(url, width, height, title, wfeature){
		if(title && title.indexOf(' ') > -1)
		{
			title = title.replace(' ', '_');
		}
		var windowX = (screen.width-width)/2;
		var windowY = (screen.height-height)/2;
		var strWindowFeatures = "";
		if(typeof wfeature != "undefined" && wfeature != null && !et_g_isWhitespace(wfeature))
		{
			strWindowFeatures	=	wfeature + ',width='+width+',height='+height+',left='+windowX+',top='+windowY+'screenX='+windowX+',screenY='+windowY;
		}
		else
		{
			strWindowFeatures += 'menubar=no,location=no,toolbar=no,directories=no,scrollbars=yes,status=no,resizable=yes,' +'width='+width+',height='+height+',left='+windowX+',top='+windowY+'screenX='+windowX+',screenY='+windowY ;
		}
		if( typeof isConnectEnabled != "undefined" &&  isConnectEnabled=="true")
		{
			url=getWebexPopupURL(url);
		}
		var winPopupWindow = window.open(url, title, strWindowFeatures);
		
		if(winPopupWindow!=null)
		{
			winPopupWindow.focus();	
		}
		else
		{
			alert(MSG_POPUP_BLOCK);
		}
	}
	
	function goHome()
	{
		window.location.href=appendPath("index.jsp");
	}

	function showProjListing(letter)
	{
		window.location.href=appendPath("index.jsp?letter="+letter);
	}


	function appendContextURL(s)
	{
	    callLoc = window.location.href;
		//if coming from domian admin page and has cp defined
	    if (callLoc.indexOf(s + "?cp=") == -1)
	    {
			
			endIdx = callLoc.indexOf("?cp=");
			
			//if has cp defined
			if(endIdx == -1)
			{
				//if not coming from jsp page, i.e. coming from project page etc
				//then newui wont be in path
				if(callLoc.indexOf(".jsp") == -1)
				{
					callLoc = callLoc.substring(callLoc.indexOf("/wiki/") + 6);
					callLoc = "../../wiki/" + callLoc;
				}
				else
				{
					//for jsp pages
					callLoc = callLoc.substring(callLoc.indexOf("/wiki/") + 6);
				}
			}
			else
			{
				callLoc = callLoc.substring(callLoc.indexOf("/wiki/") + 6,endIdx);
			}

	    	window.location.href=appendPath(s)+"?cp="+URLEncode(callLoc);
	    }
	    else
	    {
	    	window.location.href=callLoc;
	    }
	}

	function goContextURL(s)
	{
		window.location.href=appendPath(s);
	}

	function listUsers()
	{
		appendContextURL("domainuserlist.jsp");	
	}
	function accountSettings()
	{
		appendContextURL("updatedomain.jsp");	
	}
	function inviteUsers()
	{
		appendContextURL("inviteusertoregister.jsp");	
	}
	function createUsers()
	{
		appendContextURL("bulkuploaduser.jsp");	
	}
	function createBulkUsers()
	{
		appendContextURL("createusers.jsp");	
	}
	
	function tlb_discussion()
	{
		var projTitle = getProjectTitle();
		var pageTitle = getPageTitle();

		if(projTitle != null && pageTitle != null)
		{
			var url = siteContext + "wiki/" + URLEncode(projTitle) + ".wiki/"+(getPageType()=="News"?"news":"home")+"/"+URLEncode(pageTitle)+".html?discussion=true&t=2qwqw";

			window.location.href=url;
		}
	}
	
	function tlb_history()
	{
		var projTitle = getProjectTitle();
		var pageTitle = getPageTitle();
		if(projTitle != null && pageTitle != null)
		{
			
				var width = getWindowWidth();
				openPopup(appendPath("history.jsp?projectname=") + URLEncode(project) + "&pagetitle=" + title, width, 700, "history");
		}
	}

	function tlb_blog()
	{
		window.location.href=getAppPath() + "/blog/blogs.jsp";
	}
	
	function tlb_dashboard()
	{
		var projTitle = getProjectTitle();
		if(projTitle != null)
		{
			openProjHome(projTitle);
		}
	}
	
	function tlb_home()
	{
		var projTitle = getProjectTitle();
		if( projTitle != null )
		{
			openProj(projTitle);
		}
		else
		{
			goHome();
		}
	}
	
	function isGuest()
	{
		var s = getSystemUser();
		if(s==null || s=="guest")
		{
			return true;
		}
		else
		{
			return false;
		}
	}
	
	function getSystemUser()
	{
		if( typeof sys_user != "undefined" && !et_g_isWhitespace(sys_user) )
		{
			return sys_user;
		}
		else
		{
			return null;
		}
	}
	
	function getNewPageTitle()
	{
		if( document.getElementById("pagetitle") != null )
		{
			return document.getElementById("pagetitle").value;
		}
		else if( document.getElementById("editpage_title") != null )
		{
			return document.getElementById("editpage_title").value;
		}
		return null;
	}
	
	function getPageTitle()
	{
		if( typeof title != "undefined" && !title.type && !et_g_isWhitespace(title) )
		{
			return title;
		}
		else if( document.getElementById("title") != null && !et_g_isWhitespace(document.getElementById("title").value) )
		{
			return document.getElementById("title").value;
		}
		else if( document.getElementById("projecttitle") != null && !et_g_isWhitespace(document.getElementById("projecttitle").value) )
		{
			return document.getElementById("projecttitle").value;
		}
		else
		{
			return null;
		}
	}

	function getProjectTitle()
	{
		if( typeof project != "undefined" && !project.type && !et_g_isWhitespace(project) )
		{
			return project;
		}
		else if( document.getElementById("projectname") != null && !et_g_isWhitespace(document.getElementById("projectname").value) )
		{
			return document.getElementById("projectname").value;
		}
		else if( document.getElementById("createproject_pn") != null && !et_g_isWhitespace(document.getElementById("createproject_pn").value) )
		{
			return document.getElementById("createproject_pn").value;
		}
		else
		{
			return null;
		}
	}

	function isMetricsScopeGlobal()
	{
		var pgURL = window.location.href;
		var bGlobal = false;
		var scope = "";
		
		//first try for vars in URL
		bGlobal = pgURL.indexOf("metricslanding.jsp") != -1 &&
		( pgURL.indexOf("scope=global") != -1 || pgURL.indexOf("scope=globaldomain") != -1 ) 
		
		if(bGlobal == true) 
		{ 
			return true;
		}
		
		//next try in hidden vars
		if( document.getElementById("scope") != null && !et_g_isWhitespace(document.getElementById("scope").value) )
		{
			scope = document.getElementById("scope").value;
			if ( (scope=="global") || (scope=="globaldomain") )
			{
				return true;
			}
		}
		
		return bGlobal;

	}
	
	
	function tlb_edit()
	{
		var family="18";
		if(getPageType() == "Page")
		{
		   family="18";
		}
		else if(getPageType() == "News")
		{
			family="19";
		}
		else if(getPageType() == "Thread")
		{
			family="20";
		}
		else if(getPageType() == "Issue")
		{
			family="21";
		}
		
		var projTitle = getProjectTitle();
		var pageTitle = getPageTitle();
		if( projTitle != null &&  pageTitle != null)
		{
			
			window.location.href= appendPath("editpage.jsp?pagetitle=")+URLEncode(pageTitle) + "&projectname=" + URLEncode(projTitle) + "&family="+family+"&pageid="+page_id;
		}
		
		
		
	}	
	
	function tlb_attachments()
	{
		var family="18";
		if(getPageType() == "Page")
		{
		   family="18";
		}
		else if(getPageType() == "News")
		{
			family="19";
		}
		else if(getPageType() == "Thread")
		{
			family="20";
		}
		else if(getPageType() == "Issue")
		{
			family="21";
		}
		
		var projTitle = getProjectTitle();
		var pageTitle = getPageTitle();
		if( projTitle != null &&  pageTitle != null)
		{
			
			window.location.href= appendPath("attachments.jsp?pagetitle=")+URLEncode(pageTitle) + "&projectname=" + URLEncode(projTitle) + "&family="+family+"&pageid="+page_id;
		}
		
	}	
	
	function getPageType()
	{
		
		if( typeof pageType != "undefined" && !pageType.type && !et_g_isWhitespace(pageType) )
		{
			if(pageType=="News")
			{
				return "News";
			}
			if(pageType=="Issue")
			{	 
				return "Issue";
			}
			if(pageType=="Thread")
			{
				return "Thread";
			}
		}
		return "Page";
	}
	
	function tlb_newChildPage()
	{
		var projTitle = getProjectTitle();
		var pageTitle = getPageTitle();
		if(getPageType()=="News")
		{
			pageTitle = null;
		}
		if( projTitle != null )
		{
			if(document.editpage && document.editpage.pop)
			{
				var width = getWindowWidth();
				openPopup(appendPath("editpage.jsp?pop=true&projectname=") + URLEncode(projTitle) + "&parentpage="+URLEncode((pageTitle==null?"":pageTitle)), width, 700, "newnews");
			}
			else
			{
				window.location.href=appendPath("editpage.jsp?projectname=") + URLEncode(projTitle) + "&parentpage="+URLEncode((pageTitle==null?"":pageTitle));
			}
		}
		else
		{
			alert(space + " " +generalMsgLocalizer.getMessage("no_info"));
		}
	}
	
	function tlb_newPage()
	{
		var projTitle = getProjectTitle();
		if( projTitle != null )
		{
			if(document.editpage && document.editpage.pop)
			{
				var width = getWindowWidth();
				openPopup((appendPath("editpage.jsp?pop=true&projectname=") + URLEncode(projTitle)+"&family=18&opflag=Create"), width, 700, "newpage");
			}
			else
			{
				window.location.href=appendPath("editpage.jsp?projectname=") + URLEncode(projTitle)+"&family=18&opflag=Create";
			}
		}
		else
		{
			alert(space + " " + generalMsgLocalizer.getMessage("no_info"));
		}
	}

	function newPageFromIndex(projTitle)
	{
		if( projTitle != null )
		{
		
			window.location.href=appendPath("editpage.jsp?projectname=") + URLEncode(projTitle)+"&family=18&opflag=Create";
		
		}
		
	}

	function tlb_newThread()
	{
		var projTitle = getProjectTitle();
		if( projTitle != null )
		{
			if(document.editpage && document.editpage.pop)
			{
				var width = getWindowWidth();
				openPopup((appendPath("editpage.jsp?pop=true&projectname=") + URLEncode(projTitle)+"&family=20"), width, 700, "newpage");
			}
			else
			{
				window.location.href=appendPath("editpage.jsp?projectname=") + URLEncode(projTitle)+"&family=20";
			}
		}
		else
		{
			alert(space + " " + generalMsgLocalizer.getMessage("no_info"));
		}
	}

	function tlb_newTicket()
	{
		var projTitle = getProjectTitle();
		if( projTitle != null )
		{
			if(document.editpage && document.editpage.pop)
			{
				var width = getWindowWidth();
				openPopup((appendPath("editpage.jsp?pop=true&projectname=") + URLEncode(projTitle)+"&family=21"), width, 700, "newpage");
			}
			else
			{
				window.location.href=appendPath("editpage.jsp?projectname=") + URLEncode(projTitle)+"&family=21";
			}
		}
		else
		{
			alert(space + " " +generalMsgLocalizer.getMessage("no_info"));
		}
	}
	
	function tlb_newNews()
	{
		var projTitle = getProjectTitle();
		if( projTitle != null )
		{
			if(document.editpage && document.editpage.pop)
			{
				var width = getWindowWidth();
				openPopup(appendPath("editpage.jsp?pop=true&projectname=") + URLEncode(projTitle) + "&family=19", width, 700, "newnews");
			}
			else
			{
				window.location.href=appendPath("editpage.jsp?projectname=") + URLEncode(projTitle) + "&family=19";
			}
		}
		else
		{
			alert(space + " " + generalMsgLocalizer.getMessage("no_info"));
		}
	}
	
	function openNews()
	{
		showList("rnews");
	}

	function openForums()
	{
		showList("rforums");
	}

	function tlb_deletePage()
	{
		var family="18";
		if(getPageType() == "Page")
		{
		   family="18";
		}
		else if(getPageType() == "News")
		{
			family="19";
		}
		else if(getPageType() == "Thread")
		{
			family="20";
		}
		else if(getPageType() == "Issue")
		{
			family="21";
		
		}
		
		var projTitle = getProjectTitle();
		var pageTitle = getPageTitle();
		if( projTitle != null && pageTitle != null  )
		{
			if( trim(pageTitle.toLowerCase()) != "home")
			{
				if(confirm("Are you sure you want to delete "+getPageType()+" [" + pageTitle + "]"))
				{
					window.location.href= appendPath("editpage.jsp?delpage=true&pagetitle=")+URLEncode(pageTitle) + "&projectname=" + URLEncode(projTitle) +"&family="+family+"&pageid="+page_id;
				}
			}
			else
			{
				alert( generalMsgLocalizer.getMessage("cant_delete_home"));
			}
		}
		else
		{
			alert(generalMsgLocalizer.getMessage("page_info_not_exists"));
		}
	}

	function tlb_newProj()
	{
		window.location.href = appendPath("createproject.jsp");
	}
	
	function openProj(projName)
	{
		if(typeof projName != "undefined")
		{
			window.location.href = siteContext + "wiki/" + URLEncode(projName) + ".wiki/home/home.html";
		}
	}

	function openAdmin()
	{
		window.location.href = appendPath("grouplisting.jsp");
	}

	function openGlobalMetrics()
	{
		window.location.href = appendPath("metricslanding.jsp?scope=global");
	}

	function openCreateGroup()
	{
		window.location.href = appendPath("creategroup.jsp");
	}

	function openEditGroup(grpsysid)
	{
	    var tmp = "creategroup.jsp?curgrpsysid=" + grpsysid 
			+ "&processflag=showedit"
		window.location.href=appendPath(tmp);
	}
	
	function tlb_metrics()
	{
		var projTitle = getProjectTitle();
		if(projTitle != null)
		{
			openMetricsHome(projTitle);
		}
	}

	function openMetricsHome(projName)
	{
		if(typeof projName != "undefined")
		{
			window.location.href = appendPath("metricslanding.jsp?scope=project&projectname=") + URLEncode(projName);
		}
	}
	
	function openProjHome(projName)
	{
		if(typeof projName != "undefined")
		{
			window.location.href = appendPath("projecthome.jsp?projectname=") + URLEncode(projName);
		}
	}

	function editProj(projName)
	{
		if(typeof projName != "undefined")
		{
			window.location.href = appendPath("createproject.jsp?projectname=") + URLEncode(projName);
		}
	}
		
	function deleteProj()
	{
		var projDisplayTitle = document.getElementById("updateproject_pname").value;
		var projTitle = getProjectTitle();
		if(!et_g_isWhitespace(projTitle))
		{
			if(confirm(generalMsgLocalizer.getMessage("wiki_sureToDeleteProj")+spaceLower+" [" + projDisplayTitle + "]"))
			{
			    document.getElementById("createproject_submit").value="";
				document.getElementById("deleteproject_submit").value="Delete";				
				return true;
			}
			return false;
		}
	}

	function newPage(projName)
	{
		if(typeof projName != "undefined")
		{
			window.location.href = appendPath("editpage.jsp?projectname=") + URLEncode(projName);
		}
	}
	function timeoutdummy()
	{
		return true;
	}
	function checkDesc(obj){
		var mlength=obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : ""
		if (obj.value.length>500)
		{

		}
	}
	/*
	function savePage()
	{
		if(fullScreenWin)
		{
			fullScreenWin.close();
		}
		if(!et_g_isWhitespace(document.editpage.editpage_desc.value))
		{
		   if((document.editpage.editpage_desc.value).length > 500)
		   {
			 alert(generalMsgLocalizer.getMessage("wikieditpage_descriptionvalidation"));
			 return false;
		   }
		}
		if( !et_g_isWhitespace(document.editpage.editpage_title.value) )
		{
			if(isValidEntityName(document.editpage.editpage_title.value))
			{
				try
				{
					if(is_safari)
					{
						wys_editor.execCommand("htmlmode");
					}
					document.getElementById("wiki_text").value = wys_editor.getHTML();
					document.body.style.cursor="wait";
				}catch(err){}
			
				document.editpage.submit();
				showLoading();
				return true;
			}
			else
			{
				
				alert(generalMsgLocalizer.getMessage("wikieditpage_pagetitlevalidation"));
				return false;
			}
		}
		else
		{
			if( et_g_isWhitespace(document.editpage.editpage_title.value)) 
			{
				alert(generalMsgLocalizer.getMessage("wikieditpage_emptytitle"));
				document.editpage.editpage_title.focus();
				return false;
			}
			
		}
		return false;		
	}
	*/
	
	
	function savePage()
	{
		if(fullScreenWin)
		{
			fullScreenWin.close();
		}
		if(!et_g_isWhitespace(document.editpage.editpage_desc.value))
		{
		   if((document.editpage.editpage_desc.value).length > 500)
		   {
			 alert(generalMsgLocalizer.getMessage("wikieditpage_descriptionvalidation"));
			 return false;
		   }
		}
		if( !et_g_isWhitespace(document.editpage.editpage_title.value) )
		{
			if(isValidPageName(document.editpage.editpage_title.value))
			{
				try
				{
					if(is_safari)
					{
						wys_editor.execCommand("htmlmode");
					}
					document.getElementById("wiki_text").value = wys_editor.getHTML();
					document.body.style.cursor="wait";
				}catch(err){}
				
				// Ajax xss check before save
				xssfilter();
				var xssvar = getXssStatus();
				if (xssvar == "valid")
				{
					document.editpage.submit();
					showLoading();
					return true;
				}
				else
				{
					document.body.style.cursor="";
					return false;
				}
				
			}
			else
			{
				
				alert(generalMsgLocalizer.getMessage("wikieditpage_pagetitlevalidation"));
				return false;
			}
		}
		else
		{
			if( et_g_isWhitespace(document.editpage.editpage_title.value)) 
			{
				alert(generalMsgLocalizer.getMessage("wikieditpage_emptytitle"));
				document.editpage.editpage_title.focus();
				return false;
			}
			
		}

		return false;		
	}
	
	
	function saveProj()
	{
		var args=[spaceLower];
		var proj_invalid_msg = generalMsgLocalizer.getMessage("wikieditproj_projectnamevalidation",args);
		var proj_nameblank_msg = generalMsgLocalizer.getMessage("wikieditproj_projectnameempty",args);
		var proj_invalid_desc_msg = generalMsgLocalizer.getMessage("wikieditproj_projectdescempty",args);
		
		if( document.getElementById("chk_imp_proj") != null
				&& document.getElementById("chk_imp_proj").checked )
		{
			if( !et_g_isWhitespace(document.createproject.createproject_pname.value))
			{
				if(isValidEntityName(document.createproject.createproject_pname.value))
				{
					if(!et_g_isWhitespace(document.createproject.imp_file.value))
					{
						return true;	
					}
					else
					{
						alert(generalMsgLocalizer.getMessage("wikieditproj_clickonbrowse"));
						return false;
					}
				}
				else
				{
					alert(proj_invalid_msg);
					return false;
				} 
			}
			else
			{
				alert(proj_nameblank_msg);
				document.createproject.createproject_pname.focus();
				return false;
			}
		}
		
		if(document.getElementById("createproject_pname") != null)
		{
			if( !et_g_isWhitespace(document.createproject.createproject_pname.value) 
					&& !et_g_isWhitespace(document.createproject.createproject_pdesc.value) )
			{
				if(!et_g_isWhitespace(document.createproject.createproject_pdesc.value))
				{
					var desclength = checkLength(document.createproject.createproject_pdesc.value);
					if((desclength) > 500)
				   {
					 alert(generalMsgLocalizer.getMessage("wikieditpage_descriptionvalidation"));
					 return false;
				   }
				}
				
				if(isValidEntityName(document.createproject.createproject_pname.value))
				{
					return true;
				}
				else
				{
					alert(proj_invalid_msg);
					return false;
				} 
				return true;
				
			}
			else
			{
				if( et_g_isWhitespace(document.createproject.createproject_pname.value)) 
				{
					alert(proj_nameblank_msg);
					document.createproject.createproject_pname.focus();
					return false;
				}
				if( et_g_isWhitespace(document.createproject.createproject_pdesc.value))
				
				{
					alert(proj_invalid_desc_msg);
					document.createproject.createproject_pdesc.focus();
					return false;
				}
			}


		}
		else
		{
			var chkBox = document.getElementById("chk_updprojname");
			var projDescValueObj = document.getElementById("createproject_pdesc");
			var projDescValue = projDescValueObj.value;
			if(chkBox.checked)
			{
			    var updatePrjNameObj = document.getElementById("updateproject_pname");
			    var updatePrjName = updatePrjNameObj.value;
			    
				if(!et_g_isWhitespace(updatePrjName))
				{
					if(!isValidEntityName(updatePrjName))
					{
						alert(proj_invalid_msg);
						return false;
					}

				}
				else
				{
					alert(proj_nameblank_msg);
					updatePrjNameObj.focus();
					return false;
				}
				
				if( et_g_isWhitespace(projDescValue) )
				{
					alert(proj_invalid_desc_msg);
					projDescValueObj.focus();
					return false;
				}
			}
				
							
			if( !et_g_isWhitespace(projDescValue) )
			{
				var desclength = checkLength(projDescValue);
				if((desclength) > 500)
				{
					 alert(generalMsgLocalizer.getMessage("wikieditpage_descriptionvalidation"));
					 return false;
				}

				if( chkBox.checked )
				{
					if(!confirm(generalMsgLocalizer.getMessage("wikieditproj_renameproject",args)))
					{
						return false;
					}
				}
				return true;
			}
			else
			{
				alert(proj_invalid_desc_msg);
				projDescValueObj.focus();
				return false;
			}
			
		}
		return false;
	}
	
	function insertPluginInclude(editor, link) {
	
		var outparam = null;
		if (typeof link == "undefined") { //provide edit mode
			link = editor.getParentElement();
			if (link && link.tagName != 'DIV')
				link = null;
		}
		var hyperlink="";
		var valexternal="";
		var linkProjectName="";
		var title="";
		var family="18";
	
		if(link && /\$INCLUDE{.*}/.exec(link.innerHTML)) {
			var editOption = false;
			if(link.innerHTML.match(/projectname="[A-Z0-9a-z\s\-_]+"/) != null) {
				linkProjectName = (/projectname="([A-Z0-9a-z\s\-_]+)"/.exec(link.innerHTML))?/projectname="([A-Z0-9a-z\s\-_]+)"/.exec(link.innerHTML)[1]:linkProjectName;

				title = (/title="([A-Z0-9a-z\s\-_]+)"/.exec(link.innerHTML))?/title="([A-Z0-9a-z\s\-_]+)"/.exec(link.innerHTML)[1]:title;
				family = (/family="([A-Z0-9a-z\s\-_]+)"/.exec(link.innerHTML))?/family="([A-Z0-9a-z\s\-_]+)"/.exec(link.innerHTML)[1]:family;

				editOption = (/edit="(true|false)"/.exec(link.innerHTML))?/edit="(true|false)"/.exec(link.innerHTML)[1] == 'true' :editOption;
			} else {
				var src = (/src="(http:\/\/[A-Z0-9a-z\s\-_\.]+)"/.exec(link.innerHTML))?/src="(http:\/\/[A-Z0-9a-z\s\-_\.]+)"/.exec(link.innerHTML)[1]:'';

				hyperlink = src;
				valexternal = hyperlink;
			}
			var style = '';
			if(/\sstyle="(.*)"/i.exec(link.innerHTML)) {
				style = /style="(.*)"/i.exec(link.innerHTML)[1];
			}
			var width = '';
			if(/width:(\d*)px/i.exec(style)) {
				width = /width:(\d*)px/i.exec(style)[1];
			}
			var height = '';
			if(/height:(\d*)px/i.exec(style)) {
				height = /height:(\d*)px/i.exec(style)[1];
			}
			
			
			
			var border = '';
			if(/border:(none|hidden|dotted|dashed|solid|double|groove|ridge|inset|outset)/i.exec(style)) {
				border = /border:(none|hidden|dotted|dashed|solid|double|groove|ridge|inset|outset)/i.exec(style)[1];
			}
			var overflow = '';
			if(/overflow:(hidden|visible|scroll|auto)/i.exec(style)) {
				overflow = /overflow:(hidden|visible|scroll|auto)/i.exec(style)[1];
			}
			outparam = {
				f_project_name:linkProjectName,
				f_page_title:title,
				f_edit_option:editOption,
				f_external_href:valexternal,
				f_style_width:width,
				f_style_height:height,
				f_style_border_style:border,
				f_style_overflow:overflow,
				f_page_family:family
			};
		}
		var wikiLinkDialogUrl = "plugininclude.jsp";
	
		var projectName = "";
		var pageTitle = "";
		if (!window.opener) {
			projectName = document.getElementById("projectname").value;
			pageTitle = (document.getElementById("pagetitle"))?document.getElementById("pagetitle").value:'';
		}
		else {
			if( document.getElementById("pop") != null && document.getElementById("pop").value=="true" ){
				projectName = document.getElementById("projectname").value;
				pageTitle = (document.getElementById("pagetitle"))?document.getElementById("pagetitle").value:'';
			}else{
				projectName = window.opener.document.getElementById("projectname").value;
				pageTitle = (window.opener.document.getElementById("pagetitle"))?window.opener.document.getElementById("pagetitle").value:'';
			}
		}
			
		wikiLinkDialogUrl+="?projectname="+escape(projectName)+"&pagetitle="+escape(pageTitle);
	
		editor._popupDialog(wikiLinkDialogUrl, function(param) { //the funcation, while user clicks "ok" button
			try{
				if (!param){
					return false;
				}
				
				var div = link;
				var style = '';
				//build style
				var styleWidth = (param.f_style_width)?param.f_style_width:'';
				var styleHeight = (param.f_style_height)?param.f_style_height:'';
				var styleBorderStyle = param.f_style_border_style;
				var styleOverflow = param.f_style_overflow;
				var family ="18";
				if(param.f_page_family == "")
				{
					family ="18";
				}
				else
				{
					family = param.f_page_family;
				}
				if(styleWidth != ''){
					style += 'width:' + styleWidth + 'px;';
				}
				if(styleHeight != ''){
					style += 'height:' + styleHeight + 'px;';
				}
				if(styleBorderStyle != '' && styleBorderStyle != 'none'){
					style += 'border:' + styleBorderStyle + ';';
				}
				if(styleOverflow != '' && styleOverflow != 'auto'){
					style += 'overflow:' + styleOverflow + ';';
				}
				if(style != '') {
					style = 'style=&quot;' + style + '&quot;';
				}

				var edit = (param.f_edit_option)?' edit=&quot;true&quot;':'';
				if (!div) { //create mode
					div = document.createElement('div');
					if(param.radioexternal == "external"){
						editor.insertHTML('<div class="plugin">$INCLUDE{src=&quot;' + param.f_external_href.trim() + '&quot; ' + style + '}</div>');
					}
					if(param.radiointernal == "internal") {
						editor.insertHTML('<div class="plugin">$INCLUDE{title=&quot;' + param.f_page_title + '&quot; projectname=&quot;' + param.f_project_name+ '&quot; family=&quot;' + family + '&quot; ' + style + edit + '}</div>');
					}
				} else { //edit mode
					if(param.radioexternal == "external"){
						div.className = 'plugin';
						div.innerHTML = '$INCLUDE{src=&quot;' + param.f_external_href.trim() + '&quot; ' + style + '}';
					}
					if(param.radiointernal == "internal") {
						div.className = 'plugin';
						div.innerHTML = '$INCLUDE{title=&quot;' + param.f_page_title + '&quot; projectname=&quot;' + param.f_project_name+ '&quot; family=&quot;' + family + '&quot; ' +  style + edit + '}';
					}
				}

				if (!/^div$/i.test(div.tagName))
				{
					return false;
				}
			
				editor.selectNodeContents(div);
				editor.updateToolbar();
			} catch(er){}
		}, outparam);
	}

	function clearSaveTimeOut()
	{
		if( autoSavetimeOutId != null )
		{
			window.clearTimeout(autoSavetimeOutId);
			autoSavetimeOutId = null;
		}
	}
	function checker(firstCall)
	{
		if(document.getElementById("div_content_pend_img")!=null)
		{
			try
			{
				if(firstCall)
				{
					try
					{
						//document.getElementById("wiki_text").value = wys_editor.getHTML();
						unsavedEditorHTML	=	wys_editor.getInnerHTML();
					}catch(err){}
				}
				else
				{
					//if(document.getElementById("wiki_text").value != wys_editor.getHTML())
					if(!isEquals(unsavedEditorHTML, wys_editor.getInnerHTML()))
					{
						document.getElementById("div_content_pend_img").style.visibility="visible";
					}
					else
					{
						document.getElementById("div_content_pend_img").style.visibility="hidden";
					}
				}
				window.setTimeout("checker(false)", 10000);
			}catch(err){}
		}
	}
	
	function startSaveTimeOut()
	{
		clearSaveTimeOut();
		autoSavetimeOutId = window.setTimeout("autoSave()", autoSaveTimeOut);
		if(!isChecker)
		{
			isChecker = true;
			window.setTimeout("checker(true)", 1000);
		}
	}
	
	function onAutoSave(responseDOM, errorMessage)
	{
		
		if(errorMessage == null)
		{
			
			startSaveTimeOut();
			//if(document.getElementById("pagetitle") != null)
			//{
				//document.getElementById("pagetitle").value=document.getElementById("editpage_title").value;
			//}
		}
	
	}
	
	function trim(str)
	{
	    return str.replace(/^\s+/,'').replace(/\s+$/,'');
	}					  
	
	function autoSave()
	{ 
		clearSaveTimeOut();
		if( wAjax != null )
		{
			return;
		}

		if( (et_g_isWhitespace(document.getElementById("projectname").value) 
				|| et_g_isWhitespace(document.getElementById("editpage_title").value ) 
				|| et_g_isWhitespace(document.getElementById("pageid").value ) 
				|| isEquals(unsavedEditorHTML, wys_editor.getInnerHTML()) ) 
				|| (document.getElementById("editpage_submit") != null && 
					document.getElementById("editpage_submit").value == "Create") )
		{
			startSaveTimeOut();
			return;
		}
		
		wAjax = new WikiAjax();
		wAjax.setMethodTOPOST();
		wAjax.showWait(false);
		wAjax.setCallback(onAutoSave);
		wAjax.addField("reqdata", getPageSaveData());
		wAjax.send();
	}
	
	function parseResponse(responseDOM)
	{
		var obj = new Object();
		if(responseDOM != null)
		{
			try
			{
				var root = responseDOM.documentElement;
				for( var i=0; i<root.childNodes.length;i++)
				{
					if(root.childNodes[i].nodeType == 1)
					{
						if(root.childNodes[i].nodeName == "status")
						{
							obj.statusCode = root.childNodes[i].getAttribute("code");
							obj.statusMessage = root.childNodes[i].firstChild.nodeValue;
						}
						else if(root.childNodes[i].nodeName == "output")
						{
							obj.output = root.childNodes[i].firstChild.nodeValue;
						}
					}
				}
			}
			catch(err){obj = null;}
		}
		return obj
	}
	
	function onPreviewSave(responseDOM, errorMessage)
	{
		var dispTitle = "";
		if(errorMessage == null)
		{
			var obj = parseResponse(responseDOM);
			if(obj == null)
			{
				alert(generalMsgLocalizer.getMessage("response_not_well"));
			}
			else
			{
				if(obj.statusCode == "200")
				{
					document.getElementById("pageid").value=obj.output;
					page_id = obj.output;
					dispTitle = document.getElementById("editpage_title").value;
					var ptitle = "";
					if( document.editpage && document.editpage.editpage_submit.value == "Create" )
					{
						document.editpage.editpage_submit.value = "Update";
						displayTitle = document.getElementById("editpage_title").value;
						if(document.getElementById("pagetitle") == null)
						{
							var hidden	= document.createElement("input");
							hidden.setAttribute("type","hidden");
							hidden.setAttribute("name","pagetitle");
							hidden.setAttribute("id", "pagetitle");
							hidden.setAttribute("value", document.getElementById("editpage_title").value);
							var frm = document.getElementById("editpage");
							frm.appendChild(hidden);   
							ptitle = document.getElementById("editpage_title").value;
						}
						else
						{
							ptitle = document.getElementById("pagetitle").value; 
						}						
					}
					else
					{
						if(document.getElementById("pagetitle") != null) {
							ptitle = document.getElementById("pagetitle").value;
						}
						else{
							ptitle = document.getElementById("editpage_title").value;
						}
					}

					wys_editor.focusEditor();
					if (!draftSaving)
					{
						openPreview(document.getElementById("projectname").value, ptitle, 0, dispTitle);
					}
					else
					{	
						draftSaving = false;
						checker(false);
						if (renameOnDraftSave) {
							/// refresh page....
							var fly = document.editpage.family.value;
							var pTit = document.getElementById("pagetitle").value;
							var isPop = false;
							if (document.getElementById("pop") && 
									document.getElementById("pop").value =="true") {
								isPop = true;
							}
							window.location.href= appendPath("editpage.jsp?pagetitle=") + 
																		URLEncode(pTit) + "&projectname=" + 
																		URLEncode(project) + "&family=" + fly + 
																		"&showfdrmsg=true" + (isPop ? "&pop=true" : "");
						} else {
							displayTitle = document.getElementById("editpage_title").value;
							showFaderMsg(generalMsgLocalizer.getMessage("saved_successfully"));
						}
					}
					startSaveTimeOut();
				}
				else
				{
					alert( "onPreviewSave: ["+ obj.statusMessage + "] " + obj.output );
				}
			}
		}
		else if(errorMessage.indexOf("invalidinputerror") > -1)
		{
			alert(generalMsgLocalizer.getMessage("xss_inputerror"));
		}
	}
	
	function saveDraft()
	{
		draftSaving = true;
		previewPage();
	}	
	
	var hex=0 // Initial color value.

	function showFaderMsg(msg)
	{
		felem = document.getElementById("fader");
		if (felem)
		{
			hex=0;
			felem.innerHTML = "<strong>"+msg+"</strong>";
			fadetext();			
		}
	}
	
	function fadetext()
	{
		felem = document.getElementById("fader");
		if (felem)
		{
			felem.style.color="rgb("+hex+","+hex+","+hex+")";
			hex+=11;
			if (hex < 255)
			{
				setTimeout("fadetext()",200); 
			}
			else
			{
				felem.innerHTML ="";
			}
		}
	}
	
	
	function saveEditModeStatus()
	{
		hidAttr = document.getElementById("edit_button_mode");
		if (hidAttr)
		{			
			wAjax = new WikiAjax();
			wAjax.setMethodTOPOST();
			var methodName = "saveEditModePref";
			var params = new Array();
			params[0] = new Object();
			params[0].type = "String";
			params[0].value = hidAttr.value;
			params[1] = new Object();
			params[1].type = "boolean";
			params[1].value = "false";
			params[2] = new Object();
			params[2].type = "httprequest";
			params[2].value = "";
			var req = createRequest(createManagerMethod(methodName, params));
			wAjax.addField("reqdata", req);
			wAjax.send();
		}
	}
	
	
	function getPageSaveData()
	{
		
		var family="18";
		if(getPageType() == "Page")
		{
		   family="18";
		}
		else if(getPageType() == "News")
		{
			family="19";
		}
		else if(getPageType() == "Thread")
		{
			family="20";
		}
		else if(getPageType() == "Issue")
		{
			family="21";
		}
		var methodName = "saveWikiPage";
		var params = new Array();
		params[0] = new Object();
		params[0].type = "String";
		params[0].value = document.getElementById("projectname").value;
		params[1] = new Object();
		params[1].type = "long";
		params[1].value = family;
		params[2] = new Object();
		params[2].type = "String";
		var pgTitle = document.getElementById("editpage_title").value;
		if (displayTitle && displayTitle != "") {
			pgTitle = displayTitle;
		}
		params[2].value = pgTitle;
		
		params[3] = new Object();
		params[3].type = "String";
		params[3].value = document.getElementById("editpage_topic").value;
		params[4] = new Object();
		params[4].type = "String";
		params[4].value = document.getElementById("editpage_desc").value;
		params[5] = new Object();
		params[5].type = "String";
		try
		{
			document.getElementById("wiki_text").value = wys_editor.getHTML();
			unsavedEditorHTML	=	wys_editor.getInnerHTML();
		}catch(err){}
		params[5].value = document.getElementById("wiki_text").value;
		params[6] = new Object();
		params[6].type = "boolean";
		params[6].value = "false";
		params[7] = new Object();
		params[7].type = "String";
		params[7].value = parentpage;

		params[8] = new Object();
		params[8].type = "String";
		params[8].value = null;
		params[9] = new Object();
		params[9].type = "int";
		params[9].value = document.getElementById("severity").value;
		if(getPageType() == "Page")
		{
			params[10] = new Object();
			params[10].type = "int";
			if(document.getElementById("chk_istemplate").checked)
			{
				params[10].value = 9;
			}
			else if(document.getElementById("wanted") && document.getElementById("wanted").checked)
			{
				params[10].value = 6;
			}
			else
			{
			  params[10].value = document.getElementById("status").value;
  			}
		}
		else
		{
			params[10] = new Object();
			params[10].type = "int";
			params[10].value = document.getElementById("status").value;
		}

		params[11] = new Object();
		params[11].type = "String";
		params[11].value = "";
		params[12] = new Object();
		params[12].type = "boolean";
		params[12].value = "true";
		params[13] = new Object();
		params[13].type = "boolean";
		params[13].value = "false";
		params[14] = new Object();
		params[14].type = "boolean";
		params[14].value = "true";
		if(page_id == "")
		{
		

			params[15] = new Object();
			params[15].type = "boolean";
			params[15].value = "true";
		}
		else
		{
			params[15] = new Object();
			params[15].type = "boolean";
			params[15].value = "false";

		}
		
		if(document.getElementById("assignedto") && typeof document.getElementById("assignedto") !="undefined")
		{
			params[16] = new Object();
			params[16].type = "String";
			params[16].value = document.getElementById("assignedto").value;
		}
		return createRequest(createManagerMethod(methodName, params));
	}
	
	function onPreviewIdCheck(responseDOM, errorMessage)
	{
		if(errorMessage == null)
		{
			var obj = parseResponse(responseDOM);
			if(obj == null)
			{
				alert("Response is not well formed.");
			}
			else
			{
				if(obj.statusCode == "200")
				{
					
					if( parseInt( obj.output ) <= 0 )
					{
						window.setTimeout("beforePreview(false)", 500);
					}
					else
					{
						alert(generalMsgLocalizer.getMessage("duplicateTitleMsg"));
					}
				}
				else
				{
					alert( "["+ obj.statusMessage + "] " + obj.output );
				}
			}
		}
	}
	
	function previewPage()
	{
		
		var family = "18";
		if(getPageType() == "Page")
		{
		   family="18";
		}
		else if(getPageType() == "News")
		{
			family="19";
		}
		else if(getPageType() == "Thread")
		{
			family="20";
		}
		else if(getPageType() == "Issue")
		{
			family="21";
		
		}
		if( et_g_isWhitespace(document.getElementById("projectname").value) 
				|| et_g_isWhitespace(document.getElementById("editpage_title").value) )
		{
			alert(generalMsgLocalizer.getMessage("enter_title"));
			return;
		}
		
		if( document.editpage && document.editpage.editpage_submit.value == "Create" )
		{
			if( wAjax != null)
			{
				return;
			}
			wAjax = new WikiAjax();
			wAjax.setMethodTOPOST();
			wAjax.setCallback(onPreviewIdCheck);
			var methodName = "getPageIdFromDisplayTitle";
			var params = new Array();
			params[0] = new Object();
			params[0].type = "String";
			params[0].value = document.getElementById("projectname").value;
			params[1] = new Object();
			params[1].type = "long";
			params[1].value = family;
			params[2] = new Object();
			params[2].type = "String";
			params[2].value = document.getElementById("editpage_title").value;
			var req = createRequest(createManagerMethod(methodName, params));
			wAjax.addField("reqdata", req);
			wAjax.send();
		}
		else
		{
			beforePreview(draftSaving);
		}
	}
	
	function onChangePageTitleOnAutoSave (responseDOM, errorMessage)
	{
		if(errorMessage == null)
		{
			var obj = parseResponse(responseDOM);
			if(obj == null)
			{
				alert("Response is not well formed.");
			}
			else
			{
				if(obj.statusCode == "200")
				{
					document.getElementById("pagetitle").value=document.getElementById("editpage_title").value;
					document.getElementById("editpage_submit").value="Update";
					window.setTimeout("autoSave(false)", 50);
				}
				else
				{
					alert( "["+ obj.statusMessage + "] " + obj.output );
				}
			}
		}
		renameOnPreview = false;		
	}
	
	function onChangePageTitleOnPreview(responseDOM, errorMessage)
	{
		if(errorMessage == null)
		{
			var obj = parseResponse(responseDOM);
			if(obj == null)
			{
				alert("Response is not well formed.");
			}
			else
			{
				if(obj.statusCode == "200")
				{
					//document.getElementById("pagetitle").value=document.getElementById("editpage_title").value;
					window.setTimeout("beforePreview(false)", 100);
				}
				else
				{
					alert( "["+ obj.statusMessage + "] " + obj.output );
				}
			}
		}
		renameOnPreview = false;		
	}
	
	function changePageTitleOnPreview(lAutoSave)
	{
		var family = "18";
		if(getPageType() == "Page")
		{
		   family="18";
		}
		else if(getPageType() == "News")
		{
			family="19";
		}
		else if(getPageType() == "Thread")
		{
			family="20";
		}
		else if(getPageType() == "Issue")
		{
			family="21";
		
		}
		var nTitle = document.getElementById("editpage_title").value;
		//var oTitle = document.getElementById("pagetitle")!=null?document.getElementById("pagetitle").value:"";
		var oTitle = displayTitle;
		var continueRename = false;
		if(oTitle != "$DISP_TITLE")
		{
		if(!et_g_isWhitespace(oTitle) && !et_g_isWhitespace(nTitle))
		{
			if(oTitle != nTitle)
			{
				continueRename = true;
			}
		}
		}
		if( (renameOnPreview || isDraft=="true") && continueRename)
		{
			wAjax = new WikiAjax();
			wAjax.setMethodTOPOST();
			if(!lAutoSave)
			{
				wAjax.setCallback(onChangePageTitleOnPreview);
				displayTitle=nTitle;
			}
			else
			{
				wAjax.setCallback(onChangePageTitleOnAutoSave);
				displayTitle=nTitle;
			}
			var methodName = "renameWikiPage";
			var params = new Array();
			
			params[0] = new Object();
			params[0].type = "String";
			params[0].value = document.getElementById("projectname").value;
			
			params[1] = new Object();
			params[1].type = "String";
			params[1].value = oTitle;

			params[2] = new Object();
			params[2].type = "String";
			params[2].value = nTitle;
			
			params[3] = new Object();
			params[3].type = "long";
			params[3].value = family;

			var req = createRequest(createManagerMethod(methodName, params));
			wAjax.addField("reqdata", req);
			wAjax.send();
		}
		else
		{
			if(!lAutoSave)
			{
				beforePreview(false);
			}
			else
			{
				autoSave(false);
			}
		}
	}

	function changePageTitleOnDraftSave()
	{
		var family = "18";
		if(getPageType() == "Page")
		{
		   family="18";
		}
		else if(getPageType() == "News")
		{
			family="19";
		}
		else if(getPageType() == "Thread")
		{
			family="20";
		}
		else if(getPageType() == "Issue")
		{
			family="21";
		
		}
		var nTitle = document.getElementById("editpage_title").value;
		var oTitle = displayTitle;
		var continueRename = false;
		if(oTitle != "")
		{
			if(!et_g_isWhitespace(oTitle) && !et_g_isWhitespace(nTitle))
			{
				if(oTitle != nTitle)
				{
					continueRename = true;
				}
			}
		}

		if(draftSaving && continueRename)
		{
			wAjax = new WikiAjax();
			wAjax.setMethodTOPOST();
			wAjax.setCallback(onChangePageTitleForSaveDraft);
			var methodName = "renameWikiPage";
			var params = new Array();
			
			params[0] = new Object();
			params[0].type = "String";
			params[0].value = document.getElementById("projectname").value;
			
			params[1] = new Object();
			params[1].type = "String";
			params[1].value = oTitle;

			params[2] = new Object();
			params[2].type = "String";
			params[2].value = nTitle;
			
			params[3] = new Object();
			params[3].type = "long";
			params[3].value = family;

			params[4] = new Object();
			params[4].type = "boolean";
			params[4].value = "true";
			var req = createRequest(createManagerMethod(methodName, params));
			wAjax.addField("reqdata", req);
			wAjax.send();
		}
		else
		{
			if(draftSaving){
				beforePreview(false);
			}
		}
	}	
	
	function onChangePageTitleForSaveDraft(responseDOM, errorMessage)
	{
		if(errorMessage == null)
		{
			var obj = parseResponse(responseDOM);
			if(obj == null)
			{
				alert("Response is not well formed.");
			}
			else
			{
				if(obj.statusCode == "200")
				{
					renameOnDraftSave = true;
					displayTitle = document.getElementById("editpage_title").value
					document.getElementById("pagetitle").value = obj.output;
					window.setTimeout("beforePreview(false)", 100);
				}
				else
				{
					alert( "["+ obj.statusMessage + "] " + obj.output );
				}
			}
		}
	}	
	
	
	function beforePreview(checkForRename)
	{
		if(checkForRename)
		{
			window.setTimeout("changePageTitleOnDraftSave()", 100);
			return;
		}
		if( wAjax != null)
		{
			return;
		}
		wAjax = new WikiAjax();
		clearSaveTimeOut();
		wAjax.setMethodTOPOST();
		wAjax.setCallback(onPreviewSave);
		wAjax.addField("reqdata", getPageSaveData());
		wAjax.send();
	}
	
	function createRequest(data)
	{
		return "<?xml version=\"1.0\" encoding=\"utf-8\"?><request>"+data+"</request>";
	}
	
	function createManagerMethod( methodName, params )
	{
		var request = new Array();
		request.push("<method name=\"");
		request.push(methodName);
		request.push("\">");
		if(params != null)
		{
			request.push("<input>");
			for(var i=0; i<params.length;i++)
			{
				request.push("<param type=\"");
				request.push(params[i].type);
				request.push("\">");
				request.push("<![CDATA[");
				request.push(params[i].value);
				request.push("]]>");
				request.push("</param>");
			}
			request.push("</input>");
		}
		request.push("</method>");
		return request.join(""); 
	}
	
	function WikiAjax(needwait)
	{
		var requestObject 	= false;
		var responseObject 	= null;
		var method = "GET";
		var callBack = null;
		var requestURL= siteContext + "wikiajax/";
		var textRequired = false;
		var wait	=	true;
		if(needwait != null && needwait == false)
			wait = false;
	    if( window.XMLHttpRequest ) 
		{
	    	try 
			{
	    		requestObject = new XMLHttpRequest();
			} catch(e) 
			{
				requestObject = false;
			}
		}
		else if(window.ActiveXObject) 
		{
			try
			{
				requestObject = new ActiveXObject("Msxml2.XMLHTTP");
			} catch(e) 
			{
				try 
				{
					requestObject = new ActiveXObject("Microsoft.XMLHTTP");
				} catch(e) 
				{
					requestObject = false;
				}
			}
		}
		if(!requestObject)
		{
			alert("Browser does not support XMLHttpRequest.");
		}
		else
		{
			requestObject.onreadystatechange=function()
			{
				if( requestObject.readyState == 4 ) 
				{
					requestObject.onreadystatechange=_nullFunction;
					if(wait)
					{
						changePointer("");
					}
					if ( requestObject.status == 200 ) 
					{
						if( callBack != null )
						{
							try
							{
								callBack( requestObject.responseXML, null, requestObject.responseText );
							}
							catch(err){}
						}
					}
					else
					{
						try
						{
							var pars = [requestObject.status, requestObject.statusText];
							callBack( null,  generalMsgLocalizer.getMessage("ajax_error_msg", pars) );
						}
						catch(err){}
					}
					requestObject = null;
					wAjax = null;
				}
			}
		}
		function _nullFunction(){}
		this.addField 	= addField;
		this.setMethodTOPOST 	= setMethodTOPOST;
		this.send		=	send;
		this.setCallback	=	setCallback;
		this.setRequestURL  = setRequestURL;
		this.showWait		=	showWait;
		this.getRequest = getRequest;
		var arFields = new Array();

		function getRequest()
		{
			return requestObject;
		}
		function showWait(w)
		{
			wait=w;
		}
		function setRequestURL(u)
		{
			requestURL = u;
		}
		function setCallback(c)
		{
			callBack = c;
		}
		function addField(name, value)
		{
			var fieldObj = new Object();
			fieldObj.name 	= name;
			fieldObj.value 	= value;
			arFields[arFields.length] = fieldObj;
		}
		function setMethodTOPOST()
		{
			method = "POST";
		}
		function send(asynchronous)
		{
			if(requestObject)
			{
				try
				{
					if(wait)
					{
						changePointer("wait");
					}	
					
					var asynchCall = true;
					if(asynchronous != null && asynchronous == false)
						asynchCall = false;
					requestObject.open(method, requestURL, asynchCall);
				
					if(method == "POST")
					{
						requestObject.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
					}
					requestObject.send(getRequestData());
				
				}
				catch(err){
					if(wait)
					{
						changePointer("");
					}
				}
			}
		}
		function getRequestData()
		{
			var str = null;
			if(arFields.length>0)
			{
				var arData = null;
				for (var i=0; i<arFields.length; i++)
				{
					if( arFields[i].name && !et_g_isWhitespace(arFields[i].name) )
					{
						if(arData == null)
						{
							arData = new Array();
						}
						else
						{
							arData.push("&");
						}
						arData.push(arFields[i].name);
						arData.push("=");
						arData.push(URLEncode(arFields[i].value));
					}
				}
				if( arData != null )
				{
					arData.push("&xcz=1"); // last param is getting currept in safari, so adding fake param
					str = arData.join(""); 
				}
			}
			return str;
		}
	}	
	
	function addDiscussionFile()
	{
		discussCounter = discussCounter +1;
		var addInDiv = document.getElementById("div_saveattach");
		var FileElement	= null;
		FileElement	= document.createElement("input");
		FileElement.setAttribute("name","upload_"+discussCounter);
		FileElement.setAttribute("id", "upload_"+discussCounter);
		FileElement.setAttribute("type", "file");
		FileElement.setAttribute("size", "60");
		addInDiv.appendChild(document.createElement("br"));
		addInDiv.appendChild(FileElement);
	}
	
	function updateFile(assetId,fileName)
	{		
		var fileLoaderDiv = document.getElementById("fileuploader");
		if (fileLoaderDiv)
		{
			addFileForUpLoad(assetId, fileName);
		}
	}
	
	function saveDraftContent()
	{
		if(document.getElementById("savedraft") != null)
		{
			document.getElementById("savedraft").value="true";
			savePage();
		}
	}
	
	function openForumList()
	{
	   var projTitle = getProjectTitle();
	   var pageTitle = getPageTitle();
	   var url = appendPath("forumlisting.jsp?projectname=") + URLEncode(projTitle);
	   window.location.href=url;
	}

	function openFavorite()
	{
	   var url = appendPath("favoritelist.jsp");
	   window.location.href=url;
	}


	function openInbox()
	{
	   var projTitle = getProjectTitle();
	   var pName =		getProjectTitle();
	   if(!projTitle)
	   {
		  projTitle = document.getElementById("pname").value;
		  pName = document.getElementById("pname").value;
	   }
	   var url = appendPath("inbox.jsp?projectname=") + URLEncode(projTitle)+"&pname="+URLEncode(pName);
	   window.location.href=url;
	}
	function viewAllComments()
	{
	   var url = appendPath("inbox.jsp") ;
	   window.location.href=url;
	}
	


	function openIssuesList()
	{
	   var projTitle = getProjectTitle();
	   var pageTitle = getPageTitle();
	   var url = appendPath("issuelisting.jsp?projectname=") + URLEncode(projTitle);
	   window.location.href=url;
	}

	function showList(type, searchText)
	{
		var projTitle = getProjectTitle();
		var pageTitle = getPageTitle();
		if(projTitle != null)
		{
			if(type=="child" || type=="bcklnk")
			{
				var url = appendPath("pagelisting.jsp?listtype=") + type + "&projectname=" + URLEncode(projTitle) + "&title=" + URLEncode((pageTitle==null?"":pageTitle));
				setTimeout("setWindowUrl(\""+url+"\")",1);
			}
			else if(type=="rforums")
			{
			  var url = appendPath("forumlisting.jsp?projectname=") + URLEncode(projTitle);
			  //window.location.href=url;
			  setTimeout("setWindowUrl(\""+url+"\")",1);
			}
			else
			{

				var url = appendPath("pagelisting.jsp?listtype=") + type + "&projectname=" + URLEncode(projTitle);
				if(typeof searchText != "undefined" && searchText != null)
				{
					url = url + "&searchtext=" + URLEncode(searchText);
				}
				//window.location.href=url;
				setTimeout("setWindowUrl(\""+url+"\")",1);				
			}
		}
		else
		{
			if( type=="search" && typeof searchText != "undefined" && searchText != null )
			{
				var url = appendPath("pagelisting.jsp?listtype=") + type;
				url = url + "&searchtext=" + URLEncode(searchText);
				//window.location.href=url;
				setTimeout("setWindowUrl(\""+url+"\")",1);
			}
		}
			
	}

	function setWindowUrl(aUrl)
	{
		window.location.href=aUrl;
	}
	
	function goA2ZList(cletter)
	{
		document.getElementById("letter").value=cletter;
		document.getElementById("queryobject").value="";
		document.listform.submit();
	}

	function goToBackLink(projname,pagetitle)
	{
		var url = appendPath("pagelisting.jsp?listtype=bcklnk");
		url = url + "&projectname=" +projname +"&title="+pagetitle;
		window.location.href=url;
	}
	
	// Added by Swarna
	function goToBackLink(projname, pagetitle, family)
	{
		var url = appendPath("pagelisting.jsp?listtype=bcklnk");
		url = url + "&projectname=" + projname + "&title=" + pagetitle + "&family=" + family;
		window.location.href=url;
	}

	function homeNews(newsitem)
	{
		var projectName = document.inbox.projectname.value;
		var url = siteContext + "wiki/" + getProjectTitle() + ".wiki/news/"+newsitem+".html";
		window.location.href=url;
	}
	
	function openPage(title, params, family, pName)
	{
		if(title.indexOf("?")>0)
		{
			if(params == null)
				params = title.substring(title.indexOf("?")+1);
			else
				params = params + "&" + title.substring(title.indexOf("?")+1);
			title = title.substring(0, title.indexOf("?"));
		}
	
		var pageHome = "home";
		var listTypeInProgress = null;
		if(document.getElementById("listtype") != null)
		{
			if(document.getElementById("listtype").value == "rnews"
				|| document.getElementById("listtype").value == "rrange")
			{
				pageHome = "news";
			}
			else if(document.getElementById("listtype").value == "ip")
			{
				listTypeInProgress = true;
			}
		}
		else if(getPageType()=="News")
		{
			pageHome = "news";
		}
		
		if(typeof family != "undefined" && family != null && !et_g_isWhitespace(family))
		{
			if(family==19)
			{
				pageHome = "news";
			}
			else if(family==20)
			{
				pageHome = "forum";
			}
			else if(family==21)
			{
				pageHome = "support";
			}
		}

		var projectName = getProjectTitle();
		
		if(typeof pName != "undefined" && pName != null && !et_g_isWhitespace(pName))
		{
			projectName = pName;
		}
		if(!listTypeInProgress)
		{
			var url = siteContext + "wiki/" + URLEncode(projectName) + ".wiki/"+pageHome+"/"+URLEncode(title)+".html?t="+(new Date().getSeconds());
			if(typeof params != "undefined" && params != null)
			{
				if(url.indexOf("?") > 0 && params.indexOf("&") != 0)
					params = "&"+params;
				
				url = url + params;
			}
			window.location.href=url;
		}
		else
		{
			window.location.href = appendPath("editpage.jsp?projectname=") + URLEncode(projectName) + "&pagetitle=" + URLEncode(title) +"&family="+family;
		}
	}

	function openCombinedView(title, params, family, pName)
	{
		if(title.indexOf("?")>0)
		{
			if(params == null)
				params = title.substring(title.indexOf("?")+1);
			else
				params = params + "&" + title.substring(title.indexOf("?")+1);
			title = title.substring(0, title.indexOf("?"));
		}
	
		var pageHome = "home";
		var listTypeInProgress = null;
		if(document.getElementById("listtype") != null)
		{
			if(document.getElementById("listtype").value == "rnews"
				|| document.getElementById("listtype").value == "rrange")
			{
				pageHome = "news";
			}
			else if(document.getElementById("listtype").value == "ip")
			{
				listTypeInProgress = true;
			}
		}
		else if(getPageType()=="News")
		{
			pageHome = "news";
		}
		
		if(typeof family != "undefined" && family != null && !et_g_isWhitespace(family))
		{
			
			if(family=="19")
			{
				pageHome = "news";
			}
			else if(family=="20")
			{
				pageHome = "forum";
			}
			else if(family=="21")
			{
				
				pageHome = "support";
			}
		}
		
		var projectName = getProjectTitle();
		
		if(typeof pName != "undefined" && pName != null && !et_g_isWhitespace(pName))
		{
			projectName = pName;
		}
		if(!listTypeInProgress)
		{
			var url = siteContext + "wiki/" + URLEncode(projectName) + ".wiki/"+pageHome+"/"+URLEncode(title)+".html?t="+(new Date().getSeconds())+"&family="+family;
			if(typeof params != "undefined" && params != null)
			{
				if(url.indexOf("?") > 0 && params.indexOf("&") != 0)
					params = "&"+params;
				
				url = url + params;
			}
			window.location.href=url;
		}
		else
		{
			window.location.href = appendPath("editpage.jsp?projectname=") + URLEncode(projectName) + "&pagetitle=" + URLEncode(title) +"&family="+family;
		}
	}
	
	function getAppPath()
	{
		return "/"+appContext+"/"+jspContext;
	}

	function appendImagePath(path)
	{
		return (getAppPath() + "/images/" + path);
	}
	function appendPath(path)
	{
		return (getAppPath() + "/wiki/" + path);
	}
	
	var forAssetId = -1;
	var forCategory = -1;
	var forVersion=-1;
	var forTitle = "";
	function addNewComment()
	{
		forAssetId = -1;
		forCategory = -1;
		forVersion=-1;
		forTitle = "";
		showCommentDIV();
	}

	function addComment()
	{
		forAssetId = -1;
		forCategory = -1;
		forVersion=-1;
		forTitle = "";
		window.location.href="#addcomment";
		if (document.getElementById("commentTo") != null)
		{
			document.getElementById("commentTo").innerHTML = "";
			document.getElementById("disc_title").value   = "";
			document.getElementById("btn_savecomment").focus();
			document.getElementById("disc_title").focus();
		}
	}
	
	function showCommentDIV()
	{
		if(document.getElementById("frm_comment_div") != null)
		{
			if(!et_g_isWhitespace(forTitle))
			{
				document.getElementById("commentTo").innerHTML = generalMsgLocalizer.getMessage("ReplyTo") + " [" + forTitle + "]";
				document.getElementById("disc_title").value   = forTitle;
			}
			else
			{
				document.getElementById("commentTo").innerHTML = "";
				document.getElementById("disc_title").value   = "";
			}
	
			document.getElementById("disc_comment").value = "";
			document.getElementById("frm_comment_div").style.display = "";
	
			/*try
			{
					//document.getElementById("btn_savecomment").focus();
					//document.getElementById("disc_title").focus();
			}
			catch(err){}*/
			
			if(!commentEditorInit)
			{
				commentEditorInit=true;
				//neeed to be before config creation
				HTMLArea.I18N = editorI18nMsgs;
				
				var config = new HTMLArea.Config();
				if(E_MODE_TEXT == false)
				{
					config.toolbar = [
								  ["bold", "italic", "underline", "separator", 
								   "insertorderedlist","insertunorderedlist", "separator", 
								   "forecolor", "hilitecolor", "separator", 
								   "copy", "cut", "paste", "separator", 
								   "undo", "redo","separator",
								   "findreplace","spellcheck", "separator", 
								   "justifyleft", "justifycenter", "justifyright", "justifyfull", "separator",
								   "insertcommentlink","insertsmiley"],
								  ['formatblock', 'space','fontname', 'space', 'fontsize', 'space', "htmlmode"]
								];
					if (canDoSpellCheck=="false") {
						config.toolbar[0].splice(18,1);
					}
									
					if(is_safari2())
					{
						 config.toolbar =	[
										[ 
										 "bold","italic", "underline", "strikethrough", "separator","cut",  
										 "justifyleft", "justifycenter", "justifyright", "justifyfull",
										 "undo", "redo","subscript", "superscript","lefttoright", "righttoleft","separator",//advanced
										 "htmlmode","popupeditor", "separator", //advanced
										 "showhelp"
										]
								];
					}
					config.registerButton("insertcommentlink", editorCustomMsgLocalizer.getMessage("insert_link"), getAppPath()+"/htmlarea/images/ed_link.gif", false, function(editor){editor._createCommentLink()});
					config.registerButton("insertsmiley", editorCustomMsgLocalizer.getMessage("insert_smiley"), appendImagePath("state/16x16/regular_smile.gif"), false, editBtnHandler);
					config.registerButton("findreplace", (editorCustomMsgLocalizer.getMessage("find_replace")+" Ctrl+F/Ctrl+H"), appendImagePath("ix_ap_all/16x16/text_find.png"), false, editBtnHandler);
					if (canDoSpellCheck=="true") {
						config.registerButton("spellcheck", (editorCustomMsgLocalizer.getMessage("spell_check")+" F7"),appendImagePath("other/spell-check.gif"), false, editBtnHandler);
					}
				}
				else
				{
					config.toolbar = [
					[],[]];
				}
				wys_editor	=	new HTMLArea("disc_comment", config);
				if(typeof wysCSS != "undefined" && !et_g_isWhitespace(wysCSS))
				{
					wys_editor.editorCSS  = wysCSS;
				}
				
				if(typeof userCSS != "undefined" && !et_g_isWhitespace(userCSS))
				{
					wys_editor.userCSS  = userCSS;
				}
				
				
				wys_editor.generate();
			}
			else
			{
				if(wys_editor != null)
				{
					try
					{
						wys_editor.setHTML("");
					}
					catch(err){}
				}
			}
			
			if(wys_editor != null)
			{
				try
				{
					wys_editor.focusEditor();
					wys_editor.setMode("wysiwyg");
				}
				catch(err){}
			}
		}
	}
	
	function cancelDiscussion()
	{
		forAssetId = -1;
		forCategory = -1;
		forVersion=-1;
		forTitle = "";
		if(document.getElementById("frm_comment_div") != null)
		{
			document.getElementById("commentTo").innerHTML = "";
			document.getElementById("disc_title").value   = "";
			document.getElementById("disc_comment").value = "";
			if(wys_editor != null)
			{
				wys_editor.setHTML("");
			}
			document.getElementById("frm_comment_div").style.display = "none";
		}
	}
	function saveDiscussion()
	{
		var temp;
		if(getPageType() == "Page")
		{
		   temp="18";
		}
		else if(getPageType() == "News")
		{
			temp="19";
		}
		else if(getPageType() == "Thread")
		{
			temp="20";
		}
		else if(getPageType() == "Issue")
		{
			temp="21";
		
		}

		if(is_safari)
		{
			try
			{
				wys_editor.execCommand("htmlmode");
			}catch(err)
			{
			}
			
		}
		try {
			document.getElementById("disc_comment").value = wys_editor.getHTML();
		}
		catch (err)
		{}
		var disc_name = document.getElementById("disc_name").value;
		
		var disc_email= document.getElementById("disc_email").value;
		var disc_title= document.getElementById("disc_title").value;
		var disc_comment= document.getElementById("disc_comment").value;
		// Check for blank and next lines
		disc_comment = disc_comment.replace(/&nbsp;/g, '');
		disc_comment = disc_comment.replace(/<br \/>/g, '');
		disc_comment = disc_comment.replace(/<p>/g, '');
		disc_comment = disc_comment.replace(/<\/p>/g, '');

		
		if(!isEmailAddr(disc_email))
		{
			alert(generalMsgLocalizer.getMessage("common_enterValidEmail"));
			document.getElementById("disc_email").focus();
		}		
		else if( !et_g_isWhitespace(disc_name)
				&& !et_g_isWhitespace(disc_email)
				&& !et_g_isWhitespace(disc_comment))
		{
			try
			{
				(document.getElementById("disc_email")).removeAttribute("disabled");
			}
			catch(err){}
			document.creatediscussion.action=getAppPath()+"/wiki/discussionsave.jsp?title="+URLEncode(getPageTitle())+"&projectname="+URLEncode(getProjectTitle())+"&family="+temp+"&forassetid="+forAssetId+"&forcategory="+forCategory+"&forversion="+forVersion;
			
			// Ajax xss check before save
			xssfilter();
			var xssvar = getXssStatus();
			if (xssvar == "valid")
			{
				document.creatediscussion.submit();
				showLoading();
				return true;
			}
			else
			{
				document.body.style.cursor="";
				return false;
			}
			
		}
		else
		{
			alert(generalMsgLocalizer.getMessage("fields_must"));
		}
		/*
		var temp;
		if(getPageType() == "Page")
		{
		   temp="18";
		}
		else if(getPageType() == "News")
		{
			temp="19";
		}
		else if(getPageType() == "Thread")
		{
			temp="20";
		}
		else if(getPageType() == "Issue")
		{
			temp="21";
		
		}

		var IFrameObj = document.getElementById("uploadframe");
		var toPublish = true;				
		if( IFrameObj && IFrameObj.contentWindow )
		{
			if(IFrameObj.contentWindow.isFileAttached())
			{
				toPublish = false;
			}
			
		}
		else if(IFrameObj)
		{
			try
			{
				if(IFrameObj.isFileAttached())
				{
					toPublish = false;
				}
				
			}
			catch(err){}
		}

		document.getElementById("disc_comment").value = wys_editor.getHTML();
		var disc_name = document.getElementById("disc_name").value;
		var disc_email= document.getElementById("disc_email").value;
		var disc_title= document.getElementById("disc_title").value;
		var disc_comment= document.getElementById("disc_comment").value;
		if(!et_g_isWhitespace(disc_name)
				&& !et_g_isWhitespace(disc_email)
				&& !et_g_isWhitespace(disc_comment))
		{
			if( wAjax != null)
			{
				return;
			}
			wAjax = new WikiAjax();
			wAjax.setMethodTOPOST();
			wAjax.setCallback(onDiscussionSave);
			var methodName = "addComment";
			
			var params = new Array();
			var index = 0;
			params[index] = new Object();
			params[index].type = "String";
			params[index].value = project;
			index++;
			
			params[index] = new Object();
			params[index].type = "long";
			params[index].value = temp;
			index++;
			
			params[index] = new Object();
			params[index].type = "String";
			params[index].value = title;
			index++;
			
			if( forAssetId != -1 )
			{
				params[index] = new Object();
				params[index].type = "long";
				params[index].value = forAssetId;
				index++;

				params[index] = new Object();
				params[index].type = "long";
				params[index].value = forVersion;
				index++;
				
				params[index] = new Object();
				params[index].type = "long";
				params[index].value = forCategory;
				index++;

			}
			
			params[index] = new Object();
			params[index].type = "String";
			params[index].value = disc_name;
			index++;
			
			params[index] = new Object();
			params[index].type = "String";
			params[index].value = disc_email;
			index++;

			params[index] = new Object();
			params[index].type = "String";
			params[index].value = disc_title;
			index++;

			params[index] = new Object();
			params[index].type = "String";
			params[index].value = disc_comment;
			index++;

			params[index] = new Object();
			params[index].type = "boolean";
			params[index].value = toPublish;
			index++;
		
			
			var req = createRequest(createManagerMethod(methodName, params));
			wAjax.addField("reqdata", req);
			wAjax.send();
		}
		else
		{
			alert("All fields are mandatory.");
		}
		*/
	}
	
	function onDiscussionSave(responseDOM, errorMessage)
	{
		var temp;
		if(getPageType() == "Page")
		{
		   temp="18";
		}
		else if(getPageType() == "News")
		{
			temp="19";
		}
		else if(getPageType() == "Thread")
		{
			temp="20";
		}
		else if(getPageType() == "Issue")
		{
			temp="21";
		}
		if(errorMessage == null)
		{
			var obj = parseResponse(responseDOM);
			
			if(obj == null)
			{
				alert(generalMsgLocalizer.getMessage("response_not_well"));
			}
			else
			{
				if(obj.statusCode == "200")
				{
					if( temp == "20" || temp == "21")
					{
						var IFrameObj = document.getElementById("uploadframe");
						
						if( IFrameObj && IFrameObj.contentWindow )
						{
							if(IFrameObj.contentWindow.isFileAttached())
							{
								IFrameObj.contentWindow.commentAttachment(obj.output,temp);
							}
							else
							{
								openPage(title, "&family="+temp,temp);
							}
							return false;
						}
						else if(IFrameObj)
						{
							try
							{
								if(IFrameObj.isFileAttached())
								{
									IFrameObj.commentAttachment(obj.output,temp);
								}
								else
								{
									openPage(title, "&family="+temp,temp);
								}
								return false;
							}
							catch(err){}
						}
					}
					else
					{
						var IFrameObj = document.getElementById("uploadframe");
						
						if( IFrameObj && IFrameObj.contentWindow )
						{
							if(IFrameObj.contentWindow.isFileAttached())
							{
								IFrameObj.contentWindow.commentAttachment(obj.output,temp);
							}
							else
							{
								openPage(title, "&discussion=true&family="+temp,temp);
							}
							return false;
						}
						else if(IFrameObj)
						{
							try
							{
								if(IFrameObj.isFileAttached())
								{
									IFrameObj.commentAttachment(obj.output,temp);
								}
								else
								{
									openPage(title, "&discussion=true&family="+temp,temp);
								}
								return false;
							}
							catch(err){}
						}
						
						
					}
				}
				else
				{
					alert( "["+ obj.statusMessage + "] " + obj.output );
				}
			}
		}
	}
	
	function commentReply(aid, bid, ver, catid, ftitle)
	{
		forAssetId 	= aid;
		forCategory = catid;
		forVersion	=	ver;
		forTitle = "RE: " + ftitle;
		showCommentDIV();
		document.getElementById("btn_savecomment").focus(); 
		document.getElementById("disc_title").focus();
	}	      
	
	function initVars()
	{
		if(parentpage	==	"$JS_PARENT_TITLE")
		{
			parentpage = "";
		}
		if(pageType	==	"$JS_PAGE_TYPE")
		{
			pageType = "Page";
		}
		if(ADMIN_PAGE_URL=="$AD_PAGE_URL")
		{
			ADMIN_PAGE_URL="";
		}

		if(document.getElementById("wiki_div_attachments") == null && document.getElementById("anch_down_att") != null)
		{
			document.getElementById("anch_down_att").style.display="none";
		}
	}

	function downloadAttachments()
	{
		var projTitle = getProjectTitle();
		var pageTitle = getPageTitle();
		var loc ="home";
		if(getPageType() == "Page")
		{
		   loc ="home";
		}
		else if(getPageType() == "News")
		{
			loc ="news";
		}
		else if(getPageType() == "Thread")
		{
			loc ="forum";
		}
		else if(getPageType() == "Issue")
		{
			loc ="support";
		}
		
		var aUrl = siteContext + "wiki/" + URLEncode(projTitle) + ".wiki/"+loc+"/"+URLEncode(pageTitle)+".html";
		var url = aUrl+"?type=att";
		
		/*if(url.indexOf("#") != -1)
		{
			url = url.substring(0,url.indexOf("#"));
		}
		if(url.indexOf("?") != -1)
		{
			url += "&type=att";
		}
		else
		{
			url += "?type=att";
		}*/
		window.location.href=url;
		//document.getElementById("anch_down_att").href=url;
		//document.getElementById("anch_down_att").click();
	}
	
	function openEditAttachment(url)
	{
		if(url.indexOf("?") != -1)
		{
			url += "&att=true";
		}
		else
		{
			url += "?att=true";
		}
		openResourceURL(url);
	}
	
	function openResourceURL(url)
	{	
		if(document.all)
		{
			openPopup(url, 750, 550, "resourceprev");
		}
		else
		{
			window.location.href=url;
		}
	}

	function openAttachment(url)
	{
		openResourceURL(url);
	}
	
	function deleteEditAttachment()
	{
		var ids = new Array();
		var elem;
		for ( var i=0; i < document.editpage.length; i++)
		{
			elem = document.editpage.elements[i];
			if( elem.name && elem.name.indexOf("chkattdel_") != -1 )
			{
				if(elem.checked)
				{
					ids.push(elem.name.substring(elem.name.indexOf("chkattdel_")+10));
				}
			}
		}
		if(ids.length>0)
		{
			if(confirm(generalMsgLocalizer.getMessage("attachment_delete")))
			{
				document.getElementById("deleteattachments").value=ids.join(",");
				document.getElementById("savedraft").value="true";
				savePage();
			}
		}
		else
		{
			alert(generalMsgLocalizer.getMessage("attachments_select_toremove"));
		}
	}
	
	function removeAttachment(id)
	{
		if(confirm(generalMsgLocalizer.getMessage("attachment_delete")))
		{
			document.attach_form.deleteattachment.value=id;
			document.attach_form.submit();
		}
	}

	function compareHistory()
	{
		var items = getSelectedHistoryItems(false);
		if(!et_g_isWhitespace(items))
		{
			var arItems = items.split(",");
			if(arItems.length!=2)
			{
				alert(generalMsgLocalizer.getMessage("history_selectversions"));
			}
			else
			{
				openPopup(appendPath("diff.jsp?projectname=")+URLEncode(document.getElementById("projectname").value) + "&pagetitle="+URLEncode(document.getElementById("pagetitle").value)+ "&pagedisptitle="+URLEncode(document.getElementById("pagedisptitle").value)+"&fromV="+arItems[0]+"&toV="+arItems[1], 800, 600, "onPreviewHistory", null);
			}
		}
		else
		{
			alert(generalMsgLocalizer.getMessage("history_selectversions"));
		}
	}
	
	function deleteHistory()
	{
		if (document.getElementById("chk_Draft") != null)
		{
			if (document.getElementById("chk_Draft").checked)
			{
				alert(generalMsgLocalizer.getMessage("history_draftversiondelete"));
				return;
			}
		}
		
		var items = getSelectedHistoryItems(true);
		if(!et_g_isWhitespace(items))
		{
			var its = [items];
			if(confirm(generalMsgLocalizer.getMessage("history_deleteversions", its)) )
			{
				document.frmhistory.flag.value="delete";
				document.frmhistory.submit();
			}
		}
		else
		{
			alert(generalMsgLocalizer.getMessage("history_currentversiondelete"));
		}
	}
	
	function rollbackHistory()
	{
		if (document.getElementById("chk_Draft") != null)
		{
			alert(generalMsgLocalizer.getMessage("history_draftrollback"));
			return;
		}

		var items = getSelectedHistoryItems(true);
		if(!et_g_isWhitespace(items))
		{
			if(items.indexOf(",") == -1)
			{
				var its = [items];
				if(confirm(generalMsgLocalizer.getMessage("history_rollbackversion", its)+"."))
				{
					document.frmhistory.flag.value="rollback";
					document.frmhistory.submit();
				}
			}
			else
			{
				alert(generalMsgLocalizer.getMessage("history_selectrollback"));
			}
		}
		else
		{
			alert(generalMsgLocalizer.getMessage("history_currentversionrollback"));
		}
	}
	
	function openPreview(projName, pgTitle, pgVersion, newTitle)
	{
		if(!pgVersion)
		{
			pgVersion = 0;
		}

		var nT = "";
		if (newTitle) {
			nT = "&newTitle="+URLEncode(newTitle);
		}

		openPopup(appendPath("previewpage.jsp?projectname=")+URLEncode(projName) + 
							"&pagetitle="+URLEncode(pgTitle)+"&version="+pgVersion+"&type="+getPageType() + 
							"&pageid="+document.getElementById("pageid").value + nT, 
							800, 600, "onPreviewHistory", null);
	}
	
	function historyPreview(version)
	{
		openPreview(document.getElementById("projectname").value, document.getElementById("pagetitle").value, version);
	}
	
	function getSelectedHistoryItems(ignoreCurrent)
	{
		var elem;
		var elems = new Array();
		var itemId = 0;
		var currentVersion = document.getElementById("currversion").value;
		for ( var i=0; i < document.frmhistory.length; i++)
		{
			elem = document.frmhistory.elements[i];
			if( elem.name && elem.name.indexOf("chk_") != -1 )
			{
				if(elem.checked)
				{
					itemId = elem.name.substring(elem.name.indexOf("chk_")+4);
					if(currentVersion == itemId && ignoreCurrent)
					{
						elem.checked = false;
						continue;
					}
					else
					{
						elems.push(itemId);
					}
				}
			}
		}
		return elems.join(",");
	}
	
	function setCookie(name, val)
	{
	  var expire = new Date();
	  expire.setTime(expire.getTime() + ( 14*24*60*60*1000 ) );
	  document.cookie = name+"=" + escape(val) + "; expires=" + expire.toGMTString() + "; path=/";
	}
	function getCookie(prefix)
	{
			var returnArray = new Array();
			if(document.cookie.length>0)
			{
				var arCookies = document.cookie.split(";");
				for(var i=0;i<arCookies.length;i++)
				{
					var cookie = arCookies[i].replace(/^\s+/,'').replace(/\s+$/,'');
					if(cookie != "")
					{
						if(cookie.substring(0,prefix.length) == prefix)
						{
							var obj = new Object();
							obj.name = arCookies[i].substring(0,arCookies[i].indexOf("="));
							obj.value = unescape(arCookies[i].substring(arCookies[i].indexOf("=")+1));
							returnArray[returnArray.length] = obj;
						}
					}
				}
			}
			return returnArray;
	}
	
	function setPageCrumbInfo(modified, version, attachments, totalcomments, user,owner,stats,severity,assignedto,ownerName,modifiedByUserName,assignedToName,cntAttachments,cntComments)
	{
	
		var strOwner="";
		if(typeof owner != "undefined")
		{
		   strOwner=owner;
		}
		var versionText = "";
		var attachText ="";
		var commentText = "";
		var cnt_attach = (attachments);
		if(typeof totalcomments != "undefined" && typeof cntComments != "undefined" )
		{
			if( getPageType() == "Issue" || getPageType() == "Thread")
			{
				commentText = " | <a href=\"#startcomments\">"+generalMsgLocalizer.getMessage("comments")+"</a>: "+cntComments;	
			}
			else
			{
				commentText = " | <a href=\"javascript:tlb_discussion();\"  accesskey=\"a\">"+generalMsgLocalizer.getMessage("comments")+"</a>: "+cntComments;
			}
		}

		if(typeof attachments != "undefined" && typeof cntAttachments != "undefined"){
			attachText = " | <a href=\"javascript:void(0);\" onClick=\"javascript:gotoAttachments();\" accesskey=\"a\">"+generalMsgLocalizer.getMessage("attachments")+"</a>: "+ cntAttachments;
		}
		var historyjsp = appendPath("history.jsp");
                                                                                  
		if( getPageType() == "Page")
			versionText = " | <a title=\"Click to see the history\" href=\"javascript:void(0)\" onclick=\"javascript:tlb_history();\">"+generalMsgLocalizer.getMessage("version")+"</a>"+": "+version;
		else
			versionText = "";
			
		var argys = ["<a href=\"javascript:void(0)\" onclick=\"javascript:openUserDetails('"+user+"')\" valign=\"top\" >"+user +"</a>", modified];
		
		if(typeof modifiedByUserName != "undefined")
		{
			argys = ["<a href=\"javascript:void(0)\" onclick=\"javascript:openUserDetails('"+user+"')\" valign=\"top\" >"+modifiedByUserName +"</a>", modified];
		}
		var str= generalMsgLocalizer.getMessage("modifiedbyon",argys)+ " | " + generalMsgLocalizer.getMessage("owner") ; 
		if(typeof ownerName != "undefined")
		{
			str = str + ":&nbsp;<a href=\"javascript:void(0)\" onclick=\"javascript:openUserDetails('"+strOwner+"')\">" + ownerName + "</a>";
		}
		else
		{
			str = str + ":&nbsp;<a href=\"javascript:void(0)\" onclick=\"javascript:openUserDetails('"+strOwner+"')\">" + strOwner + "</a>";
		}			
			 
		str = 	str + attachText + commentText + versionText + "&nbsp;";
		if( getPageType() == "News" || window.location.href.indexOf("/news/") != -1 )
		{
			str=  generalMsgLocalizer.getMessage("modifiedbyon",argys) + "&nbsp;"+attachText+commentText+versionText+"&nbsp;";
		}
		if( getPageType() == "Issue")
		{
			if(typeof assignedto != "undefined" && assignedto != "")
			{
				
				if(typeof assignedToName != "undefined")
				{
					str = str + " | "+generalMsgLocalizer.getMessage("assignedto")+": <a href=\"javascript:void(0)\" onclick=\"javascript:openUserDetails('"+assignedto+"')\">" + assignedToName + "</a>";
				}
				else
				{
					str = str + " | "+generalMsgLocalizer.getMessage("assignedto")+": <a href=\"javascript:void(0)\" onclick=\"javascript:openUserDetails('"+assignedto+"')\">" + assignedto + "</a>";					
				}
			}
			if(typeof severity != "undefined" && typeof stats != "undefined")
			{
				str = str + " | <strong>"+generalMsgLocalizer.getMessage("stats")+"</strong>: "+stats+ " | <strong>"+generalMsgLocalizer.getMessage("severity")+"</strong>: "+severity;
			}
		}
		
		if(document.getElementById("crm_mod_info") != null)
		{
			document.getElementById("crm_mod_info").innerHTML = str; 
		}
	}
	
	function gotoAttachments()
	{
		fetchAttachments();
		window.location.href="#attachments";
	}

	function isEmailAddr(email)
	{
	  var result = false
	  var theStr = new String(email)
	  var index = theStr.indexOf("@");
	  if (index > 0)
	  {
	    var pindex = theStr.indexOf(".",index);
	    if ((pindex > index+1) && (theStr.length > pindex+1))
		result = true;
	  }
	  return result;
	}
	
	function registerUser()
	{
		if( !et_g_isWhitespace(document.register.r_userid.value)
				&& !et_g_isWhitespace(document.register.r_fname.value)
				&& !et_g_isWhitespace(document.register.r_lname.value)
				&& !et_g_isWhitespace(document.register.r_email.value)
				&& !et_g_isWhitespace(document.register.r_password.value)
				&& !et_g_isWhitespace(document.register.r_cpassword.value)
				&& !et_g_isWhitespace(document.register.j_captcha_response.value)
				)
		{
			
			if( document.getElementById("reg_key") != null && et_g_isWhitespace(document.getElementById("reg_key").value))
			{
				alert(generalMsgLocalizer.getMessage("key_mandate"));
				document.register.reg_key.focus();
				return false;
			}
			
			var regEx=/^[A-Za-z0-9_@\.]+$/;			
			if (!regEx.test(trim(document.register.r_userid.value)) && !isEmailAddr(document.register.r_userid.value)) 
			{
				alert(generalMsgLocalizer.getMessage("userid_restriction"));
				document.register.r_userid.focus();
				return false;
			}
			if(!isEmailAddr(document.register.r_email.value))
			{
				alert(generalMsgLocalizer.getMessage("common_enterValidEmail"));
				document.register.r_email.focus();
				return false;
			}
			if(trim(document.register.r_password.value) != trim(document.register.r_cpassword.value))
			{
				alert(generalMsgLocalizer.getMessage("pwd_cfrmpass_not_match")); 
				document.register.r_password.focus();
				return false;
			}
			return true;
		}
		else
		{
			alert(generalMsgLocalizer.getMessage("uid_names_email_restricton"));
			var obj = et_g_isWhitespace(document.register.r_userid.value)
						?document.register.r_userid:et_g_isWhitespace(document.register.r_email.value)
								?document.register.r_email:et_g_isWhitespace(document.register.r_password.value)
										?document.register.r_password:et_g_isWhitespace(document.register.r_cpassword.value)?document.register.r_cpassword:document.register.j_captcha_response;
			obj.focus();
			return false;
		}
	}
	
	function toggle(img, div)
	{
		if(document.getElementById(img).getAttribute("src").indexOf("collapse_up.gif") != -1)
		{
			document.getElementById(img).setAttribute("src", appendImagePath("other/16x16/expand_down.gif"));
			document.getElementById(div).style.display="none";
		}
		else
		{
			document.getElementById(img).setAttribute("src", appendImagePath("other/16x16/collapse_up.gif"));
			document.getElementById(div).style.display="";
		}
	}
	
	function saveProjUsers()
	{
		document.projusers.flag.value="saveuser";
		document.projusers.submit();
	}
	
	function searchProjUsers()
	{
		document.projusers.queryobject.value="";
		document.projusers.flag.value="search";
		document.projusers.submit();
	}
	
	function resetProjUsers()
	{
		document.projusers.s_userid.value="";
		document.projusers.s_fname.value="";
		document.projusers.s_lname.value="";
		document.projusers.s_email.value="";
	}
	
	function saveProjGroups()
	{
	    if (document.projgroups)
	    {
			document.projgroups.flag.value="savegroup";
			document.projgroups.submit();
		}
		else if (document.globalgroups)
		{
			document.globalgroups.flag.value="savegroup";
			document.globalgroups.submit();		
		}
	}

	function searchProjGroups()
	{
	    if (document.projgroups)
	    {
			document.projgroups.queryobject.value="";
			document.projgroups.flag.value="search";
			document.projgroups.submit();
		}
		else if (document.globalgroups)
		{
			document.globalgroups.queryobject.value="";
			document.globalgroups.flag.value="search";
			document.globalgroups.submit();
		}
	}
	
	function searchGroupsList()
	{
		document.grouplist.queryobject.value="";
		document.grouplist.flag.value="search";
		document.grouplist.submit();
	}
	
	function resetGroupsList()
	{
		document.grouplist.s_groupid.value="";	
	}

	function searchGroupMembersUserList()
	{
		document.groupmembers.queryobject.value="";
		document.groupmembers.flag.value="search";
		document.groupmembers.submit();
	}
	
	function resetGroupMembersUserList()
	{
		document.groupmembers.s_userid.value="";	
	}

	function searchGroupMembersGroupList()
	{
		document.groupmembers.queryobject.value="";
		document.groupmembers.flag.value="search";
		document.groupmembers.submit();
	}
	
	function resetGroupMembersGroupList()
	{
		document.groupmembers.s_groupid.value="";	
	}
	
	function deleteGroups()
	{
		document.grouplist.flag.value="deletegroups";
		document.grouplist.submit();		
	}

	function customMetrics()
	{
		document.metricslanding.period.value="custom";
		document.metricslanding.moveperiod.value="none";
		document.metricslanding.submit();		
	}
	
	function dayMetrics()
	{
		document.metricslanding.period.value="day";
		document.metricslanding.moveperiod.value="none";
		document.metricslanding.submit();		
	}

	function weekMetrics()
	{
		document.metricslanding.period.value="week";
		document.metricslanding.moveperiod.value="none";
		document.metricslanding.submit();		
	}

	function monthMetrics()
	{
		document.metricslanding.period.value="month";
		document.metricslanding.moveperiod.value="none";
		document.metricslanding.submit();		
	}
	
	function prevMetrics()
	{
		document.metricslanding.moveperiod.value="prev";
		document.metricslanding.submit();		
	}

	function nextMetrics()
	{
		document.metricslanding.moveperiod.value="next";
		document.metricslanding.submit();		
	}
	
	function detailedMetrics(metname,metdesc)
	{
		document.metricslanding.hasresp.value="true";
		document.metricslanding.submit();		
	}
	
	function popupDetailedMetrics(metname,mettitle)
	{
		var period = document.metricslanding.period.value;
		var moveperiod = document.metricslanding.moveperiod.value;
		var scope = document.metricslanding.scope.value;
		var projectname = null;
		try
		{
			projectname = document.metricslanding.projectname.value;
		}
		catch(e)
		{}
		
		var st_date = document.metricslanding.st_date.value;
		var end_date = document.metricslanding.end_date.value;
		
		var metname = metname;
		var mettitle = mettitle;
				
		openPopup(appendPath("metricslanding.jsp?period=") + period 
				+ "&moveperiod="+moveperiod + "&scope="+scope
				+ "&projectname="+URLEncode((projectname==null?"":projectname)) 
				+ "&metname="+URLEncode((metname==null?"":metname))
				+ "&mettitle="+URLEncode((mettitle==null?"":mettitle))
				+ "&st_date="+URLEncode((st_date==null?"":st_date))
				+ "&end_date="+URLEncode((end_date==null?"":end_date))				
				+ "&nomoveperiod=true"				
				, 800, 600, "detmetrics");
	}

	function deleteUsersFromGroup()
	{
		document.groupmembers.flag.value="deleteusersfromgroups";
		document.groupmembers.submit();		
	}

	function deleteGroupsFromGroup()
	{
		document.groupmembers.flag.value="deletesubgroupsfromgroups";
		document.groupmembers.submit();		
	}


	function addUsersToGroup(groupid, groupname, grptype, grpsysid)
	{
		document.groupmembers.flag.value="addusers";
		document.groupmembers.submit();		
		openGroupMembersInParentWindow(groupid, groupname, grptype, grpsysid,0);
	}

	function addSubGroupsToGroup(groupid, groupname, grptype, grpsysid)
	{
		document.groupmembers.flag.value="addsubgroups";
		document.groupmembers.submit();		
		openGroupMembersInParentWindow(groupid, groupname, grptype, grpsysid,1);
	}

	function selectGroups(groupid, groupname, grptype, grpsysid)
	{
		document.groupmembers.flag.value="selectgroups";
		document.groupmembers.submit();		
		// start here.. populateGroupsInParentWindow..
	}

	function populateGroupsInParentWindow(groupid, groupname, grptype, grpsysid, curtab)
	{
	    var tmp = "groupmemberslisting.jsp?curgrpid=" + URLEncode(groupid) 
			+ "&curgrpname=" + URLEncode(groupname)
			+ "&curgrptype=" + grptype
			+ "&curgrpsysid=" + grpsysid
			+ "&curtab=" + curtab;
	    window.opener.location.href = appendPath(tmp);
	}
	
	function resetProjGroups()
	{
	    if (document.projgroups)
	    {
			document.projgroups.s_groupname.value="";
		}
		else if (document.globalgroups)
		{
			document.globalgroups.s_groupid.value="";
		}		
	}

	function addSelectedGroupstoDB()
	{
	    if (document.projgroups)
	    {
			document.projgroups.flag.value="addgroups";
			document.projgroups.submit();
		}
		else if (document.globalgroups)
		{
			document.globalgroups.flag.value="addgroups";
			document.globalgroups.submit();			
		}
	}
	
	function lookupLDAPGroups()
	{
	    if (document.projgroups)
	    {
			document.projgroups.lsortorder.value = "a";
			document.projgroups.flag.value="lookupgroups";
			document.projgroups.submit();
		}
		else if (document.globalgroups)
		{
			document.globalgroups.flag.value="lookupgroups";
			document.globalgroups.submit();			
		}
	}

	function lookupLDAPUsers()
	{
		document.projusers.lsortorder.value = "a";
		document.projusers.flag.value="lookupusers";
		document.projusers.submit();
	}

	function addSelectedUserstoDB()
	{
		document.projusers.flag.value="addusers";
		document.projusers.userquery.value="";
		document.projusers.submit();
	}

	function saveAclUsers()
	{
		document.userperm.flag.value="saveuser";
		document.userperm.submit();
	}

	function saveAclGroups()
	{
		document.groupperm.flag.value="savegroup";
		document.groupperm.submit();
	}
	
	
	function sendJoinRequest()
	{
		if(et_g_isWhitespace(document.frmproject_home.joinreqmessage.value))
		{
			alert(generalMsgLocalizer.getMessage("wiki_enterMessage"));
			document.frmproject_home.joinreqmessage.focus();
			return;
		}
		
		var cc = document.frmproject_home.joincc.value;
		if(!et_g_isWhitespace(cc))
		{
			try
			{
				var arEmails = cc.split(",");
				for(var i=0; i<arEmails.length;i++)
				{
					if(!et_g_isWhitespace(arEmails[i]))
					{
						if(!isEmailAddr(arEmails[i]))
						{
							alert(generalMsgLocalizer.getMessage("common_enterValidEmail"));
							document.frmproject_home.joincc.focus();
							return;
						}
					}
				}
			}
			catch(err){
				alert(err);
				return;
			}
		}
		document.frmproject_home.flag.value="joinreq";
		document.frmproject_home.submit();
	}
	
	function addUserToRole(userid)
	{
		document.frmproject_home.flag.value="addtorole_" + userid;
		document.frmproject_home.submit();
	}
	
	function rejectUserToRole(userid)
	{
		document.frmproject_home.flag.value="removerole_" + userid;
		document.frmproject_home.submit();
	}	
	
	function joinOther()
	{
		
		if(et_g_isWhitespace(document.frmproject_home.joinothmessage.value))
		{
			alert(generalMsgLocalizer.getMessage("wiki_enterMessage"));
			document.frmproject_home.joinothmessage.focus();
			return;
		}
		
		var email = document.frmproject_home.joinothmessageemails.value;
		if(!et_g_isWhitespace(email))
		{
			try
			{
				var arEmails = email.split(",");
				for(var i=0; i<arEmails.length;i++)
				{
					if(!et_g_isWhitespace(arEmails[i]))
					{
						if(!isEmailAddr(arEmails[i]))
						{
							alert(generalMsgLocalizer.getMessage("common_enterValidEmail"));
							document.frmproject_home.joinothmessageemails.focus();
							return;
						}
					}
				}
			}
			catch(err){
				alert(err);
				return;
			}
		}
		else
		{
			alert(generalMsgLocalizer.getMessage("wiki_enterEmails"));
			document.frmproject_home.joinothmessageemails.focus();
			return;
		}
		document.frmproject_home.flag.value="joinoth";
		document.frmproject_home.submit();
	}
	
	function checkAllMembers()
	{
		var checked = document.getElementById("selallmembers").checked;
		for ( var i=0; i < document.frmproject_home.length; i++)
		{
			elem = document.frmproject_home.elements[i];
			if( elem.name && elem.name.indexOf("chkm_") != -1 )
			{
				if(!elem.disabled)
				{
					elem.checked = checked;
				}
			}
		}
	}
	
	function checkAllAdmin()
	{
		var checked = document.getElementById("selalladmin").checked;
		for ( var i=0; i < document.frmproject_home.length; i++)
		{
			elem = document.frmproject_home.elements[i];
			if( elem.name && elem.name.indexOf("chka_") != -1 )
			{
				if(!elem.disabled)
				{
					elem.checked = checked;
				}
			}
		}
	}	
	function openAsPDF()
	{
		var url = window.location.href;
		if(url.indexOf("#") != -1)
		{
			url	=	url.substring(0, url.indexOf("#"));
		}
		if(url.indexOf("?") != -1)
		{
			url += "&type=pdf";
		}
		else
		{
			url += "?type=pdf";
		}
		openPopup(url, 750, 600, "pdfview");
	}


	function openAsWord()
	{
		var url = window.location.href;
		if(url.indexOf("#") != -1)
		{
			url	=	url.substring(0, url.indexOf("#"));
		}
		if(url.indexOf("?") != -1)
		{
			url += "&type=word";
		}
		else
		{
			url += "?type=word";
		}
		openPopup(url, 750, 600, "wordview");
	}


	function showForgotPassword()
	{
		document.getElementById("div_fpassword").style.display = "";
		document.getElementById("email_fpassword").focus();
	}
	function cancelForgotMail()
	{
		document.getElementById("username_fpassword").value = "";
		document.getElementById("email_fpassword").value = "";
		document.getElementById("div_fpassword").style.display = "none";
	}
	function onForgotMailSend(responseDOM, errorMessage)
	{
		if(errorMessage == null)
		{
			var obj = parseResponse(responseDOM);
			if(obj == null)
			{
				alert(generalMsgLocalizer.getMessage("response_not_well"));
			}
			else
			{
				if(obj.statusCode == "200")
				{
					var username = document.frmlogin.username_fpassword.value;
					if(et_g_isWhitespace(username))
					{
						alert( generalMsgLocalizer.getMessage("usr_name_mailed_to") + document.frmlogin.email_fpassword.value);
					}
					else
					{
						alert(generalMsgLocalizer.getMessage("pwd_mailed_to") + document.frmlogin.email_fpassword.value);
					}
				}
				else
				{
					alert( "["+ obj.statusMessage + "] " + obj.output );
				}
			}
		}
		document.frmlogin.email_fpassword.value = "";
		cancelForgotMail();
	}
	function sendForgotMail()
	{
		var opt = document.frmlogin.f_option;
		var email = document.frmlogin.email_fpassword.value;
		if(!et_g_isWhitespace(email))
		{
			var username = document.frmlogin.username_fpassword.value;
			if((opt[0].checked) || (opt[1].checked && !et_g_isWhitespace(username)))//send username
			{
				///call ajax
				if( wAjax != null)
				{
					return;
				}
				wAjax = new WikiAjax();
				wAjax.setMethodTOPOST();
				wAjax.setCallback(onForgotMailSend);
				var methodName = "sendPassword";
				var params = new Array();
				params[0] = new Object();
				params[0].type = "String";
				params[0].value = email;
				params[1] = new Object();
				params[1].type = "String";
				params[1].value = username;
				var req = createRequest(createManagerMethod(methodName, params));
				wAjax.addField("reqdata", req);
				wAjax.send();
			}
			else
			{
				alert(generalMsgLocalizer.getMessage("wiki_enterUserName"));
				document.frmlogin.username_fpassword.focus();
			}
		}
		else
		{
			alert(generalMsgLocalizer.getMessage("enter_email"));
			document.frmlogin.email_fpassword.focus();
		}
	}
	
	function openTopics()
	{
		showList("topic");
	}
	function viewTopic(topicName)
	{
		document.getElementById("letter").value=topicName;
		if(document.getElementById("queryobject")!= null)
		{
			document.getElementById("queryobject").value="";
		}
		var projTitle = getProjectTitle();
		var url = appendPath("pagelisting.jsp?listtype=topic")+ "&projectname=" + URLEncode(projTitle) +"&letter="+topicName+"#listing";
		document.listform.action=url;	
		document.listform.submit();
	}

	// Page url
	function openHomeRecent(projName, pTitle, family)
	{
		var pageHome = "home";
		if(family==19)
		{
			pageHome = "news";
		}
		else if(family==20)
		{
			pageHome = "forum";
		}
		else if(family==21)
		{
			pageHome = "support";
		}
		var url = siteContext + "wiki/" + projName + ".wiki/"+pageHome+"/"+pTitle+".html";
		window.location.href=url;
	}
	
	function doLogin()
	{
		if(et_g_isWhitespace(document.frmlogin.username.value) || et_g_isWhitespace(document.frmlogin.password.value))
		{
			alert(generalMsgLocalizer.getMessage("login_enteridpassword"));
			document.frmlogin.username.focus();
			return false;
		}
		return true;
	}
	
	function getDashBoardAction()
	{
		var publishType = document.frmproject_home.projacttype.options[document.frmproject_home.projacttype.selectedIndex].value;
		var obj = new Object();
		obj.id=publishType;
		obj.status=document.frmproject_home.status.value;
		if(publishType=="all")obj.name = menuLocalizer.getMessage("WikiNewsForumSupport");
		if(publishType=="wspace")obj.name = menuLocalizer.getMessage("Wiki");
		if(publishType=="nspace")obj.name = menuLocalizer.getMessage("News");
		if(publishType=="forum")obj.name = menuLocalizer.getMessage("Forum");
		if(publishType=="support")obj.name = menuLocalizer.getMessage("Support");
		return obj
	}
	
	function dashBoardRepublish()
	{
		var actionType = getDashBoardAction();
		if(confirm(generalMsgLocalizer.getMessage("wiki_wantToRepublish") + actionType.name + "?"))
		{
			document.frmproject_home.flag.value="republish";
			document.frmproject_home.createproject_submit.value="";
			document.frmproject_home.submit();
		}
	}
	function dashBoardDelete()
	{
		var actionType = getDashBoardAction();
		var publishType = document.frmproject_home.projacttype.options[document.frmproject_home.projacttype.selectedIndex].value;
		if(publishType == "all")
		{
			alert(generalMsgLocalizer.getMessage("wiki_deleteNotForAllOption"))
			return false;
		}
		if(confirm(generalMsgLocalizer.getMessage("wiki_wantToDelete") + actionType.name + "?"))
		{
			document.frmproject_home.flag.value="delete";
			document.frmproject_home.createproject_submit.value="";
			document.frmproject_home.submit();
		}
	}
	function dashBoardInit()
	{
		var actionType = getDashBoardAction();
		
		if(confirm(generalMsgLocalizer.getMessage("wiki_wantToInitialize") + actionType.name + "?"))
		{
			document.frmproject_home.flag.value="initialize";
			document.frmproject_home.createproject_submit.value="";
			document.frmproject_home.submit();
		}
	}
	function dashBoardReIndex()
	{
		var actionType = getDashBoardAction();
		if(confirm(generalMsgLocalizer.getMessage("wiki_wantToReindex") + spaceLower + "?"))
		{
			document.frmproject_home.flag.value="reindex";
			document.frmproject_home.createproject_submit.value="";
			document.frmproject_home.submit();
		}
	}
	
	function goNextPage(formName)
	{
		document.getElementById("currentpage").value = parseInt(document.getElementById("currentpage").value)+1;
		if(typeof formName == "undefined")
		{
			document.listform.submit();
		}
		else
		{
			eval("document."+formName+".submit()");
		}
	}

	function goPrevPage(formName)
	{
		document.getElementById("currentpage").value = parseInt(document.getElementById("currentpage").value)-1;
		if(typeof formName == "undefined")
		{
			document.listform.submit();
		}
		else
		{
			eval("document."+formName+".submit()");
		}
	}

	function goFirstPage(formName)
	{
		document.getElementById("currentpage").value = "1";
		if(typeof formName == "undefined")
		{
			document.listform.submit();
		}
		else
		{
			eval("document."+formName+".submit()");
		}
	}
	
	function goLastPage(formName)
	{
		document.getElementById("currentpage").value = "-1";
		if(typeof formName == "undefined")
		{
			document.listform.submit();
		}
		else
		{
			eval("document."+formName+".submit()");
		}
	}

	function goToPage(formName)
	{
		var val;
		var x=document.getElementsByName("usergopage");
		
		if( !et_g_isWhitespace(x[0].value) )
			val = x[0].value;
		else if ( x[1] && !et_g_isWhitespace(x[1].value) )
			val = x[1].value;

		//val = document.getElementById("usergopage").value;
		var totalPages = document.getElementById("totalpages").value;

		if(et_g_isWhitespace(val))
		{
			alert(generalMsgLocalizer.getMessage("wiki_enterNumericValue"));
			return;
		}
		var a= et_g_isNonZeroInteger(val);
		if(!a)
		{
			alert(generalMsgLocalizer.getMessage("wiki_enterNumericValue"));
			return;
		}
		
		if( (parseInt(val,10) <= 0 ) || (parseInt(val,10) > parseInt(totalPages,10)) )
		{
			var msgargs = [totalPages];
			alert(generalMsgLocalizer.getMessage("wiki_invalidPageNumber", msgargs));
			return;
		}
		else
		{
			document.getElementById("currentpage").value = val;
			if(typeof formName == "undefined")
			{
				document.listform.submit();
			}
			else
			{
				eval("document."+formName+".submit()");
			}			
		}
	}
	// redundant function for de-localization of blogs. To be removed later
function goToPageBlogs(formName)
	{
		var val;
		var x=document.getElementsByName("usergopage");
		
		if( !et_g_isWhitespace(x[0].value) )
			val = x[0].value;
		else val = x[1].value;

		//val = document.getElementById("usergopage").value;
		var totalPages = document.getElementById("totalpages").value;

		if(et_g_isWhitespace(val))
		{
			alert("Please enter a numeric value, greater than zero.");
			return;
		}
		var a= et_g_isNonZeroInteger(val);
		if(!a)
		{
			alert("Please enter a numeric value, greater than zero.");
			return;
		}
		
		if( (parseInt(val) <= 0 ) || (parseInt(val) > parseInt(totalPages)) )
		{
			var msgargs = [totalPages];
			alert("Invalid page number. Only " + parseInt(totalPages)+" pages exist.");
			return;
		}
		else
		{
			document.getElementById("currentpage").value = val;
			if(typeof formName == "undefined")
			{
				document.listform.submit();
			}
			else
			{
				eval("document."+formName+".submit()");
			}			
		}
	}

	function goToPage1(formName)
	{
		
		var val = document.getElementById("usergopage1").value;
		var totalPages = document.getElementById("totalpages").value;

		if(et_g_isWhitespace(val))
		{
			alert(generalMsgLocalizer.getMessage("wiki_enterNumericValue"));
			return;
		}
		var a= et_g_isNonZeroInteger(val);
		if(!a)
		{
			alert(generalMsgLocalizer.getMessage("wiki_enterNumericValue"));
			return;
		}
		
		if( (parseInt(val,10) <= 0 ) || (parseInt(val,10) > parseInt(totalPages,10)) )
		{
			var msgargs = [totalPages];
			alert(generalMsgLocalizer.getMessage("wiki_invalidPageNumber", msgargs));
			return;
		}
		else
		{
			document.getElementById("currentpage").value = val;
			if(typeof formName == "undefined")
			{
				document.listform.submit();
			}
			else
			{
				eval("document."+formName+".submit()");
			}			
		}
	}

	function goToPage2(formName)
	{
		
		var val = document.getElementById("usergopage2").value;
		var totalPages = document.getElementById("totalpages").value;

		if(et_g_isWhitespace(val))
		{
			alert(generalMsgLocalizer.getMessage("wiki_enterNumericValue"));
			return;
		}
		var a= et_g_isNonZeroInteger(val);
		if(!a)
		{
			alert(generalMsgLocalizer.getMessage("wiki_enterNumericValue"));
			return;
		}
		
		if( (parseInt(val,10) <= 0 ) || (parseInt(val,10) > parseInt(totalPages,10)) )
		{
			var msgargs = [totalPages];
			alert(generalMsgLocalizer.getMessage("wiki_invalidPageNumber", msgargs));
			return;
		}
		else
		{
			document.getElementById("currentpage").value = val;
			if(typeof formName == "undefined")
			{
				document.listform.submit();
			}
			else
			{
				eval("document."+formName+".submit()");
			}			
		}
	}
	
	function sortPage(projectName,pageNumber,sortColumn,sortOrder,formName)
	{
		document.getElementById("currentpage").value = pageNumber;
		document.getElementById("sortcolumn").value = sortColumn;
		document.getElementById("sortorder").value = sortOrder;
		if (document.getElementById("sortedlist") != null)
		{
			document.getElementById("sortedlist").value = "sorted";
		}
		eval("document."+formName+".submit()");
		
	}

	/****************** start user ************/
	
	function goUserNextPage(formName)
	{
		document.getElementById("currentpageuser").value = parseInt(document.getElementById("currentpageuser").value)+1;
		if(typeof formName == "undefined")
		{
			document.listform.submit();
		}
		else
		{
			eval("document."+formName+".submit()");
		}
	}
	function goGroupNextPage(formName)
	{
		document.getElementById("currentpagegroup").value = parseInt(document.getElementById("currentpagegroup").value)+1;
		if(typeof formName == "undefined")
		{
			document.listform.submit();
		}
		else
		{
			eval("document."+formName+".submit()");
		}
	}

	function goUserPrevPage(formName)
	{
		document.getElementById("currentpageuser").value = parseInt(document.getElementById("currentpageuser").value)-1;
		if(typeof formName == "undefined")
		{
			document.listform.submit();
		}
		else
		{
			eval("document."+formName+".submit()");
		}
	}
	function goGroupPrevPage(formName)
	{
		document.getElementById("currentpagegroup").value = parseInt(document.getElementById("currentpagegroup").value)-1;
		if(typeof formName == "undefined")
		{
			document.listform.submit();
		}
		else
		{
			eval("document."+formName+".submit()");
		}
	}

	function goUserFirstPage(formName)
	{
		document.getElementById("currentpageuser").value = "1";
		if(typeof formName == "undefined")
		{
			document.listform.submit();
		}
		else
		{
			eval("document."+formName+".submit()");
		}
	}
	function goGroupFirstPage(formName)
	{
		document.getElementById("currentpagegroup").value = "1";
		if(typeof formName == "undefined")
		{
			document.listform.submit();
		}
		else
		{
			eval("document."+formName+".submit()");
		}
	}
	
	function goUserLastPage(formName)
	{
		document.getElementById("currentpageuser").value = "-1";
		if(typeof formName == "undefined")
		{
			document.listform.submit();
		}
		else
		{
			eval("document."+formName+".submit()");
		}
	}
	function goGroupLastPage(formName)
	{
		document.getElementById("currentpagegroup").value = "-1";
		if(typeof formName == "undefined")
		{
			document.listform.submit();
		}
		else
		{
			eval("document."+formName+".submit()");
		}
	}
	
	function goToUserPage(formName)
	{
		var val = document.getElementById("usergopage").value;
		var totalPages = document.getElementById("usertotalpages").value;
		if(et_g_isWhitespace(val))
		{
			alert(generalMsgLocalizer.getMessage("wiki_enterNumericValue"));
			return;
		}
		var a= et_g_isNonZeroInteger(val);
		if(!a)
		{
			alert(generalMsgLocalizer.getMessage("wiki_enterNumericValue"));
			return;
		}
		
		if( (parseInt(val,10) <= 0 ) || (parseInt(val,10) > parseInt(totalPages,10)) )
		{
			var msgargs = [totalPages];
			alert(generalMsgLocalizer.getMessage("wiki_invalidPageNumber", msgargs));
			return;
		}
		else
		{
			document.getElementById("currentpageuser").value = val;
			if(typeof formName == "undefined")
			{
				document.listform.submit();
			}
			else
			{
				eval("document."+formName+".submit()");
			}			
		}
	}
	function goToGroupPage(formName)
	{
		
		var val = document.getElementById("groupgopage").value;
		var totalPages = document.getElementById("grouptotalpages").value;
		if(et_g_isWhitespace(val))
		{
			alert(generalMsgLocalizer.getMessage("wiki_enterNumericValue"));
			return;
		}
		var a= et_g_isNonZeroInteger(val);
		if(!a)
		{
			alert(generalMsgLocalizer.getMessage("wiki_enterNumericValue"));
			return;
		}
		
		if( (parseInt(val,10) <= 0 ) || (parseInt(val,10) > parseInt(totalPages,10)) )
		{
			var msgargs = [totalPages];
			alert(generalMsgLocalizer.getMessage("wiki_invalidPageNumber", msgargs));
			return;
		}
		else
		{
			document.getElementById("currentpagegroup").value = val;
			if(typeof formName == "undefined")
			{
				document.listform.submit();
			}
			else
			{
				eval("document."+formName+".submit()");
			}			
		}
	}

	/***************** end **********************/
	function writeErrors()
	{
		if(!et_g_isWhitespace(sys_error) && sys_error!="$ERROR_MSG" && document.getElementById("div_sys_errors") != null)
		{
			document.getElementById("div_sys_errors").setAttribute("class","sys_errors_visible");
			document.getElementById("div_sys_errors").className = "sys_errors_visible";
			document.getElementById("div_sys_errors").innerHTML=sys_error;
		}
		
		if(!et_g_isWhitespace(sys_success) && sys_success!="$SUCCESS_MSG" && document.getElementById("div_sys_success") != null)
		{
			document.getElementById("div_sys_success").setAttribute("class","sys_success_visible");
			document.getElementById("div_sys_success").className = "sys_success_visible";
			document.getElementById("div_sys_success").innerHTML="<img src=\""+getAppPath()+"/images/ix_ap_all/16x16/check.png\" align=\"absmiddle\" border=\"0\">&nbsp;"+sys_success;
		}
		
		if(!et_g_isWhitespace(sys_info) && sys_info!="$INFO_MSG" && document.getElementById("div_sys_info") != null)
		{
			document.getElementById("div_sys_info").setAttribute("class","sys_info_visible");
			document.getElementById("div_sys_info").className = "sys_info_visible";
			document.getElementById("div_sys_info").innerHTML= sys_info;
		}
		
		var projTitle = getProjectTitle();
		if(projTitle==null && document.getElementById("anch_contact") != null)
		{
			document.getElementById("anch_contact").style.display="none";
		}
		alertSupportingBrowserMsg();
	}
	
	function alertSupportingBrowserMsg()
	{
		var arObj = getCookie("c_wiki_browser"); 
		if(arObj.length==0)
		{
			// convert all characters to lowercase to simplify testing
		    var agt=navigator.userAgent.toLowerCase();
		    var is_major = parseInt(navigator.appVersion);
		    var is_minor = parseFloat(navigator.appVersion);
		    var is_nav  = ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('spoofer')==-1)
		                && (agt.indexOf('compatible') == -1) && (agt.indexOf('opera')==-1)
		                && (agt.indexOf('webtv')==-1) && (agt.indexOf('hotjava')==-1));
		    var is_nav6up = (is_nav && (is_major >= 5));
		    var is_gecko = (agt.indexOf('gecko') != -1);
		    var is_ie     = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
		    var is_ie3    = (is_ie && (is_major < 4));
		    var is_ie4    = (is_ie && (is_major == 4) && (agt.indexOf("msie 4")!=-1) );
		    var is_ie4up  = (is_ie && (is_major >= 4));
		    var is_ie5    = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.0")!=-1) );
		    var is_ie5_5  = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.5") !=-1));
		    var is_ie5_2  = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.2") !=-1));
		    var is_ie5up  = (is_ie && !is_ie3 && !is_ie4);
		    var is_ie5_5up =(is_ie && !is_ie3 && !is_ie4 && !is_ie5);
		    var is_ie6    = (is_ie && (is_major == 4) && (agt.indexOf("msie 6.")!=-1) );
		    var is_ie6up  = (is_ie && !is_ie3 && !is_ie4 && !is_ie5 && !is_ie5_5 && !is_ie5_2);
		    var is_safari = (agt.indexOf("safari") != -1);
		    if(!is_ie6up && !is_nav6up && !is_safari)
		    {
		    	alert(generalMsgLocalizer.getMessage("browser_not_supported"));
		    }
		    setCookie("c_wiki_browser", "1");
		}
	}
	
	function writeMessage(msg)
	{
		if(!et_g_isWhitespace(msg) && document.getElementById("div_sys_errors") != null)
		{
			document.getElementById("div_sys_errors").style.display="";
			document.getElementById("div_sys_errors").innerHTML=msg;
		}
	}
	
	
	function openPermission()
	{
		var projTitle = getProjectTitle();
		var pageTitle = getPageTitle();
		if(projTitle != null && pageTitle != null)
		{
			openPopup(appendPath("permission.jsp?projectname=")+URLEncode(projTitle) + "&pagetitle="+URLEncode(pageTitle)+"&type="+getPageType(), 750, 550, "perm", null);
		}
	}	
	
	function checkAllAcls(elem, idx)
	{
		var token = "chkr_";
		if(idx==1)
		{
			token = "chkc_";
		}
		else if(idx==2)
		{
			token = "chke_";
		}
		var checked = elem.checked;
		for ( var i=0; i < document.userperm.length; i++)
		{
			elem = document.userperm.elements[i];
			if( elem.name && elem.name.indexOf(token) != -1 )
			{
				elem.checked = checked; 
			}
		}
	}

	function checkAllGroups(elem, idx)
	{
		var token = "chkr_";
		if(idx==1)
		{
			token = "chkc_";
		}
		else if(idx==2)
		{
			token = "chke_";
		}
		var checked = elem.checked;
		for ( var i=0; i < document.groupperm.length; i++)
		{
			elem = document.groupperm.elements[i];
			if( elem.name && elem.name.indexOf(token) != -1 )
			{
				elem.checked = checked; 
			}
		}
	}
	
	function openContact(url)
	{
		var projTitle = getProjectTitle();
		var pageTitle = getPageTitle();
		var pgType = getPageType();
		//if(projTitle != null)
		{
			url = url+"?projectname="+URLEncode(projTitle)+(pageTitle!=null?("&pagetitle="+URLEncode(pageTitle)):"")+(pgType!=null?("&type="+pgType):"")
			openPopup(url , 550, 350, "contact");
		}
	}
	
	function openCommentDetails(commentid,checkid,contextjsp,projname,pname)
	{
			if(typeof projname =="undefined")
			{
			  projname="";
			}
			if(typeof pname =="undefined")
			{
				pname="";
			}

			url = "commentdetails.jsp"+"?commentid="+commentid+"&checkid="+checkid+"&contextjsp="+contextjsp+"&projectname="+projname+"&pname="+pname;
			openPopup(url , 550, 350, "comment");
		
	}

	function sendContact()
	{
		if(et_g_isWhitespace(document.userperm.subject.value))
		{
			alert(generalMsgLocalizer.getMessage("enter_subject"));
			document.userperm.subject.focus();
			return false;
		}
		
		if(et_g_isWhitespace(document.userperm.message.value))
		{
			alert(generalMsgLocalizer.getMessage("wiki_enterMessage"));
			document.userperm.message.focus();
			return false;
		}
		return true;
	}
	
	function toggleDiff()
	{
		var temp = document.frmdiff.fromV.value;
		document.frmdiff.fromV.value=document.frmdiff.toV.value;
		document.frmdiff.toV.value=temp;
		document.frmdiff.submit();
		
	}
	
	function cancelPage()
	{
		if(fullScreenWin)
		{
			fullScreenWin.close();
		}
		document.editpage.cancelpage.value="true";
		document.editpage.submit();
		return true;
	}
	
	function editHomeProgress(pName, ptitle, pfamily)
	{
		
		window.location.href= appendPath("editpage.jsp?pagetitle=")+URLEncode(ptitle) + "&projectname=" + URLEncode(pName) + "&family="+pfamily;
	}
	
	function deleteHomeProgress(pName, ptitle, pfamily)
	{
		window.location.href= appendPath("index.jsp?cancel=1&pagetitle=")+URLEncode(ptitle) + "&projectname=" + URLEncode(pName) + "&family="+pfamily;
	}
	
	function cancelListEdit(title, params, family, pName)
	{
		var url = appendPath("pagelisting.jsp?canceledit=1&listtype=ip") + "&projectname=" + URLEncode(pName)+"&pagetitle="+URLEncode(title)+ "&family="+family;
		window.location.href=url;
	}
	
	function hideLoginBox()
	{
		var maindiv = document.getElementById("login_div");
		maindiv.className="log_div_hide";
	}
	function showLoginBox()
	{
		var location = window.location.href;
		if (ssoenabled == "true")
		{
			ssoLogin();
			return;
		}
		if( (location.indexOf("wiki/index.jsp") > 0) && ssoenabled == "false")
		{
		  return;
		}
		var pos = et_edd_anchorPosition("loginanchor");
 		var maindiv = document.getElementById("login_div");
 		pos.x = pos.x -250;
 		pos.y = pos.y +5;
 		maindiv.style.left = pos.x;
 		maindiv.left = pos.x;
 		maindiv.style.top = pos.y;
 		maindiv.top = pos.y;
 		maindiv.className="log_div_show";
 		document.getElementById("lid").focus();
 		try
 		{
		  if(et_g_isWhitespace(document.getElementById("lid").value))
		  {
			var label = "c_wiki_user=";
			var labelLen = label.length;
			var cLen = document.cookie.length

			var i = 0
			while (i < cLen) {

				  var j = i + labelLen
				  if (document.cookie.substring(i,j) == label) {
					var cEnd = document.cookie.indexOf(";",j)
					if (cEnd == -1) { 
					  cEnd = document.cookie.length 
					}
					document.getElementById("lid").value = unescape(document.cookie.substring(j,cEnd));
					document.getElementById("lpass").focus();

					break;
				  }
				  i++
			}
		  }
		}
		catch(err){}
	}
	
	function checkLogin(userBox, paswordBox)
	{
		var cURL = window.location.href;
		if( cURL.indexOf("index.jsp") == -1 )
		{
			divLogin(userBox, paswordBox);
			return false;
		}
		else
		{
			return doLogin();
		}
	}
	
	var uBox = null;
	var pBox = null;
	function divLogin(userBox, paswordBox)
	{
		if(typeof userBox == "undefined")
		{
			uBox = 	"lid";
		}
		else
		{
			uBox = 	userBox;
		}
		if(typeof paswordBox == "undefined")
		{
			pBox = 	"lpass";
		}
		else
		{
			pBox = paswordBox; 
		}
		if(et_g_isWhitespace(document.getElementById(pBox).value) || et_g_isWhitespace(document.getElementById(uBox).value))
		{
			alert(generalMsgLocalizer.getMessage("accnt_not_found_try_again"));
			document.getElementById(uBox).focus();
			return false;
		}
		else
		{
			try
			{
				var logAjax = new WikiAjax();
				logAjax.setMethodTOPOST();
				logAjax.setCallback(onLogin);
				logAjax.addField("dologin", "true");
				logAjax.addField("username", document.getElementById(uBox).value);
				logAjax.addField("password", document.getElementById(pBox).value);
				if(document.getElementById("w_u_template") != null)
				{
					try
					{
						var tmpl = document.frmlogin.w_u_template.options[document.frmlogin.w_u_template.selectedIndex].value;
						logAjax.addField("w_u_template", tmpl);
					}catch(err){}
				}
				logAjax.send();
			}
			catch(err){}
		}
		return false;
	}
	
	function onLogin(responseDOM, errorMessage)
	{
		if(errorMessage == null)
		{
			var obj = parseResponse(responseDOM);
			if(obj.statusCode == "200")
			{
				if(obj.output=="1")
				{
					var date = new Date();
					date.setTime(date.getTime()+(365*24*60*60*1000));
					var expires = "; expires="+date.toGMTString();
					document.cookie = "c_wiki_user="+document.getElementById(uBox).value+expires+"; path=/cm";
					/// refresh page....
					window.location.reload();
				}
				else
				{
					alert(generalMsgLocalizer.getMessage("invalid_user_pwd"));					
				}
			}
		}
	}
	
	function ssoLogin()
	{
		var theUrl = window.location.href;
		if (theUrl.indexOf("bassout=y")!= -1)
		{
			theUrl = theUrl.substring(0, theUrl.indexOf("bassout=y")-1) + 
			         theUrl.substring(theUrl.indexOf("bassout=y")+9);
		}
		if (theUrl.indexOf("ssologin=true") == -1)
		{
			if (theUrl.indexOf("?") != -1)
			{
				window.location.href = theUrl + "&ssologin=true";
			}
			else
			{
				window.location.href = theUrl + "?ssologin=true";
			}
		}	
	}
		
	function setEditTopic(topic)
	{
		var elem;
		var i=0;
		var tName = "";
		var arNewTopics;
		if(!et_g_isWhitespace(document.getElementById("editpage_topic").value))
		{
			arNewTopics = document.getElementById("editpage_topic").value.split(",");
		}
		else
		{
			arNewTopics = new Array();
		}
		for (i=0; i < document.editpage.length; i++)
		{
			elem = document.editpage.elements[i];
			if( elem.name && elem.name.indexOf("chktc_") != -1 )
			{
				tName = elem.name.substring(elem.name.indexOf("chktc_")+6);
				if(elem.checked)
				{
					if(arNewTopics.length>0)
					{
						var exists = false;
						for(var j=0;j<arNewTopics.length;j++)
						{
							if( trim(arNewTopics[j]) == tName )
							{
								exists = true;
								break;
							}
						}
						if(!exists)
						{
							arNewTopics[arNewTopics.length] = tName;
						}
					}
					else
					{
						arNewTopics[0]=tName;
					}
				}
				else
				{
					var idx = -1;
					for( var j=0;j<arNewTopics.length; j++ )
					{
						if( trim(arNewTopics[j]) == tName )
						{
							idx = j;
							break;
						}
					}
					if(idx!=-1)
					{
						arNewTopics.splice(idx,1);
					}
				}
			}
		}
		if(arNewTopics.length>0)
		{
			document.getElementById("editpage_topic").value = arNewTopics.join(","); 
		}
		else
		{
			document.getElementById("editpage_topic").value = "";
		}
		hideTopicsDD();
	}

	function getTopicsOnClick(projectName)
	{
		var topicsStr;
		if(!et_g_isWhitespace(document.getElementById("editpage_topic").value))
		{
			topicsStr = document.getElementById("editpage_topic").value;
		}
		
		var contentdiv = document.getElementById("div_droptopic");
		if (contentdiv.innerHTML != "")
		{
			var maindiv = document.getElementById("div_topic");
			if (maindiv.className == "div_topic_hide")
			{
				maindiv.className = "div_topic_show";
				document.getElementById("img_topicdd").setAttribute("src", appendImagePath("other/16x16/collapse_up.png"));
			}
			else if(maindiv.className == "div_topic_show")
			{
				maindiv.className = "div_topic_hide";
				document.getElementById("img_topicdd").setAttribute("src", appendImagePath("other/16x16/expand_down.png"));
				document.getElementById("editpage_topic").focus();
			}		
		}
		else	
		{
			try{
			   if( wAjax != null)
				{
					return;
				}
				wAjax = new WikiAjax();
				wAjax.setMethodTOPOST();
				wAjax.setCallback(getTopicsCallback);
				var methodName = "getTopicsAjax";
				var params = new Array();
				params[0] = new Object();
				params[0].type = "String";
				params[0].value = projectName;
				params[1] = new Object();
				params[1].type = "String";
				params[1].value = topicsStr;
									
				var req = createRequest(createManagerMethod(methodName, params));
				wAjax.addField("reqdata", req);
				wAjax.send();
			}
			catch(err){alert(err);}
		}
	}
	function getTopicsCallback(responseDOM, errorMessage)
	{
		if(errorMessage == null)
		{
			var obj = parseResponse(responseDOM);
			if(obj == null)
			{
				alert(generalMsgLocalizer.getMessage("response_not_well"));
			}
			else
			{ 
				if(obj.statusCode == "200")
				{ 
					if(obj.output +"" != "")
					{
						var maindiv = document.getElementById("div_topic");
						var topicdiv = document.getElementById("div_droptopic");
						topicdiv.innerHTML = obj.output;	
						var pos = et_edd_anchorPosition("editpage_topic");
						maindiv.style.width = document.getElementById("editpage_topic").offsetWidth;
						maindiv.top = (pos.y+this.document.getElementById("editpage_topic").offsetHeight) + "px";
						maindiv.style.top = (pos.y+this.document.getElementById("editpage_topic").offsetHeight) + "px";
						maindiv.style.left = pos.x;
						maindiv.left = pos.x;
						maindiv.className="div_topic_show";
						document.getElementById("img_topicdd").setAttribute("src", appendImagePath("other/16x16/collapse_up.png"));
					}
					else
					{
						alert(generalMsgLocalizer.getMessage("tags_notfound"));
					}
				}
				else
				{
					alert(generalMsgLocalizer.getMessage("tags_error"));
				}
			}
		}
	}

/*	function getTopicsDD()
	{
		var maindiv = document.getElementById("div_topic");
		if(maindiv.className=="div_topic_show")
		{
			hideTopicsDD();
			return;
		}
		
		var arTopics;
		if(!et_g_isWhitespace(document.getElementById("editpage_topic").value))
		{
			arTopics = document.getElementById("editpage_topic").value.split(",");
		}
		else
		{
			arTopics = new Array();
		}
		
		for ( var i=0; i < document.editpage.length; i++ )
		{
			var elem = document.editpage.elements[i];
			if( elem.name && elem.name.indexOf("chktc_") != -1 )
			{
				var tName = elem.name.substring(elem.name.indexOf("chktc_")+6);
				if(arTopics.length==0)
				{
					elem.checked = false;	
				}
				else
				{
					var lExist = false;
					for( var j=0;j<arTopics.length; j++ )
					{
						if( trim(arTopics[j]) == tName )
						{
							lExist = true;
							break;
						}
					}
					elem.checked = lExist;
				}
			}
		}
		
		var pos = et_edd_anchorPosition("editpage_topic");
		maindiv.style.width = document.getElementById("editpage_topic").offsetWidth;
		maindiv.top = (pos.y+this.document.getElementById("editpage_topic").offsetHeight) + "px";
		maindiv.style.top = (pos.y+this.document.getElementById("editpage_topic").offsetHeight) + "px";
		maindiv.style.left = pos.x;
		maindiv.left = pos.x;
		maindiv.className="div_topic_show";
		document.getElementById("img_topicdd").setAttribute("src", appendImagePath("other/16x16/collapse_up.png"));
	}
*/
	
	function hideTopicsDD()
	{
		var maindiv = document.getElementById("div_topic");
		clearDDRow();
		maindiv.className="div_topic_hide";
		document.getElementById("img_topicdd").setAttribute("src", appendImagePath("other/16x16/expand_down.png"));
		document.getElementById("editpage_topic").focus();
	}
	
	function clearDDRow()
	{
		if(oldDDRow!=null)
		{
			oldDDRow.className = 'div_topic_row';
		}
	}
	
	function highlightDDRow(obj)
	{
		clearDDRow();
		obj.className = 'div_topic_row_curr';
		oldDDRow = obj;
	}
	
	function emailArticle()
	{
	
		var projTitle = getProjectTitle();
		var pageTitle = getPageTitle();
		var pgType = getPageType();
		var pageURL = window.location.href;
		if(pageURL.indexOf("#") != -1)
		{
			pageURL	=	pageURL.substring(0, pageURL.indexOf("#"));
		}
		pageURL = "&purl=" + URLEncode(pageURL); 
		
		if(projTitle != null)
		{
			url = appendPath("emailpage.jsp")+"?projectname="+URLEncode(projTitle)+(pageTitle!=null?("&pagetitle="+URLEncode(pageTitle)):"")+(pgType!=null?("&type="+pgType):"") + pageURL;
			openPopup(url , 750, 660, "emailpage");
		}
	}
	
	function printArticle()
	{
		var url = window.location.href;
		if(url.indexOf("#") != -1)
		{
			url	=	url.substring(0, url.indexOf("#"));
		}
		if(url.indexOf("?") != -1)
		{
			url += "&type=print";
		}
		else
		{
			url += "?type=print";
		}
		openPopup(url, 750, 600, "printview");
	}	
	
	function sendEmailPage()
	{
		var vaildTO = false;
		if(!et_g_isWhitespace(document.getElementById("emails").value))
		{
			vaildTO = true;
		}
		else
		{
			if( (document.getElementById("to_powner") != null && document.getElementById("to_powner").checked) 
					|| (document.getElementById("to_projowner") != null && document.getElementById("to_projowner").checked)
					|| (document.getElementById("to_member") != null && document.getElementById("to_member").checked) )
			{
				vaildTO = true;
			}
		}
		
		if(!vaildTO || et_g_isWhitespace(document.getElementById("message").value))
		{
			alert(generalMsgLocalizer.getMessage("wiki_enterEmailAndMsg"));
			return false;
		}
		else
		{
			var checked = document.getElementById("econtent").checked;
			if(checked)
			{			
				var IFrameObj = document.getElementById?document.getElementById("ifrmEmail"):document.all["ifrmEmail"];
				var IFrameDoc = null;
				if(IFrameObj)
				{
					if (IFrameObj.contentDocument) {
					    // For NS6
					  IFrameDoc = IFrameObj.contentDocument; 
					} else if (IFrameObj.contentWindow) {
					  // For IE5.5 and IE6
					  IFrameDoc = IFrameObj.contentWindow.document;
					} else if (IFrameObj.document) {
					  // For IE5
					  IFrameDoc = IFrameObj.document;
					}
				}
				if(IFrameDoc != null)
				{
					document.emailpage.onsubmit=function _nullFunction(){};
					document.getElementById("message").value = wys_editor.getHTML() + "<hr/>" + IFrameDoc.documentElement.innerHTML; 
				}
			}
			return true;
		}
	}
	
	
	function setEditorToolbar(config, pagename)
	{
		if(E_MODE_TEXT == true && pagename == "edit")
		{
			config.toolbar =[ ["cust_save","space","cust_draft","space",
						 "cust_preview","space",
						 "cust_cancel","space","separator", "showhelp"]];
			config.registerButton("cust_save", editorCustomMsgLocalizer.getMessage("cust_save_tt"), appendImagePath("ix_ap_all/16x16/disk_blue.png"), true, editBtnHandler, null, editorCustomMsgLocalizer.getMessage("cust_save_lbl"));
			config.registerButton("cust_cancel", editorCustomMsgLocalizer.getMessage("cust_cancel_tt"), appendImagePath("ix_ap_all/16x16/document_delete.png"), true, editBtnHandler, null, editorCustomMsgLocalizer.getMessage("cust_cancel_lbl"));
			config.registerButton("cust_preview", editorCustomMsgLocalizer.getMessage("cust_preview_tt"), appendImagePath("ix_ap_all/16x16/document_view.png"), true, editBtnHandler, null, editorCustomMsgLocalizer.getMessage("cust_preview_lbl"));
			config.registerButton("cust_draft", editorCustomMsgLocalizer.getMessage("cust_draft_tt"), appendImagePath("ix_ap_all/16x16/disk_green.png"), true, editBtnHandler, null, editorCustomMsgLocalizer.getMessage("cust_draft_lbl"));
			config.registerButton("cust_perm", editorCustomMsgLocalizer.getMessage("cust_perm_tt"), appendImagePath("object/16x16/acl.png"), true, editBtnHandler, null, editorCustomMsgLocalizer.getMessage("cust_perm_lbl"));
			if( typeof hideToolBarButtons != "undefined"  
				&& !et_g_isWhitespace(hideToolBarButtons) 
				&& hideToolBarButtons != "$HIDE_BUTTONS")
			{
				config.hideSomeButtons(hideToolBarButtons);	
			}
		}
		else if(E_MODE_TEXT == false && pagename == "edit" )
		{	
			setToolbarButtons(toolBarAdvanced, config);
			if( typeof hideToolBarButtons != "undefined"  
				&& !et_g_isWhitespace(hideToolBarButtons) 
				&& hideToolBarButtons != "$HIDE_BUTTONS")
			{
				config.hideSomeButtons(hideToolBarButtons);	
			}
		}
		else if(E_MODE_TEXT == false)
		{
			if(is_safari2())
			{
			  return 	[
						[ 
						 
						 "bold", "italic", "underline", "strikethrough", "separator",
						 "subscript", "superscript", "separator",
						 "cut", "undo", "redo" ],
						 [ "justifyleft", "justifycenter", "justifyright", "justifyfull", "separator",
						   "lefttoright", "righttoleft", "separator",
						   "outdent", "indent", "separator",
						   "forecolor", "hilitecolor", "separator",
						   "htmlmode",
						   "popupeditor" ]
						   ];
			}
			else
			{
			  return 	[
						[ 
						 "fontname", "space",
						 "fontsize", "space",
						 "formatblock", "space",
						 "bold", "italic", "underline", "strikethrough", "separator",
						 "subscript", "superscript", "separator",
						 "copy", "cut", "paste", "space", "undo", "redo" ],
						 [ "justifyleft", "justifycenter", "justifyright", "justifyfull", "separator",
						   "lefttoright", "righttoleft", "separator",
						   "insertorderedlist", "insertunorderedlist", "outdent", "indent", "separator",
						   "forecolor", "hilitecolor", "separator",
						   "inserthorizontalrule", "createlink", "insertimage", "inserttable", "htmlmode", "separator",
						   "popupeditor" ]
						   ];
			}
			
			
		}
	}	
	
	function setToolbarButtons(isAdvanced, configObj)
	{
		
	    var advsimp_icon = "";
	    var advsimp_tip = "";
		if (!isAdvanced)
		{
			configObj.toolbar =	[
						[ 
						 "cust_save","space","cust_draft","space",
						 "cust_preview","space",
						 "cust_cancel","space","separator", 
						 "insertimage","linkattachment", "createlink", "inserttable","separator",
						 "spellcheck","findreplace","separator",
						 "insertsmiley","insertpanel","inserthorizontalrule","separator", //advanced
						 "showhelp",						 
						 "advsimp"
						],
						[ "formatblock","space","fontname","space","fontsize","separator",
						  "bold","italic", "underline", "strikethrough", "separator",
						  "justifyleft", "justifycenter", "justifyright", "justifyfull", "separator", 
						  "insertorderedlist", "insertunorderedlist","separator",
						  "forecolor", "hilitecolor", "separator",
						  "removeformat",
						]
					];
			if (canDoSpellCheck=="false") {
				configObj.toolbar[0].splice(14,1)
			}
			advsimp_icon = "other/16x16/basic.gif";
			advsimp_tip = editorCustomMsgLocalizer.getMessage("view_advanced_buttons");
		}
		else
		{
			if ( showExtractWord.trim() == "true" )
			{
				configObj.toolbar =	[
							[ 
							 "cust_save","space","cust_draft","space",
						 "cust_preview","space",
						 "cust_cancel","space","separator", 
							 "cut","copy", "paste","pasteastext","separator",  //advanced
							 "insertimage","linkattachment", "createlink", "inserttable","separator",
							 "spellcheck","findreplace","separator",
							 "insertsmiley","createanchor","insertpanel","inserthorizontalrule","insertspecialchar", 
							 "insertwiki","separator","insertplugin", "pluginclude", "contentextract", "extractword", "showmath","separator",//advanced
							 "htmlmode","popupeditor", "separator", //advanced
							 "showhelp","separator","advsimp"
							],
							[ "formatblock","space","fontname","space","fontsize","separator",
							  "bold","italic", "underline", "strikethrough", "separator",
							  "justifyleft", "justifycenter", "justifyright", "justifyfull", "separator", 
							  "insertorderedlist", "insertunorderedlist", "outdent", "indent", "separator",
							  "forecolor", "hilitecolor", "separator",
							  "removeformat" ,"separator",
							  "showborder", "separator", //advanced
							  "subscript", "superscript","lefttoright", "righttoleft", "separator",
								 "undo", "redo","separator"
							]
						];
				if (canDoSpellCheck=="false") {
					configObj.toolbar[0].splice(19,1)
				}
				advsimp_icon = "other/16x16/advanced.gif";
				advsimp_tip = editorCustomMsgLocalizer.getMessage("view_basic_buttons");
			}
			else 
			{
				configObj.toolbar =	[
							[ 
							 "cust_save","space","cust_draft","space",
						 "cust_preview","space",
						 "cust_cancel","space","separator", 
							 "cut","copy", "paste","pasteastext","separator",  //advanced
							 "insertimage","linkattachment", "createlink", "inserttable","separator",
							 "spellcheck","findreplace","separator",
							 "insertsmiley","createanchor","insertpanel","inserthorizontalrule","insertspecialchar", 
							 "insertwiki","separator","insertplugin", "pluginclude", "contentextract", "showmath","separator",//advanced
							 "htmlmode","popupeditor", "separator",
							 "showhelp","separator","advsimp"	
							],
							[ "formatblock","space","fontname","space","fontsize","separator",
							  "bold","italic", "underline", "strikethrough", "separator",
							  "justifyleft", "justifycenter", "justifyright", "justifyfull", "separator", 
							  "insertorderedlist", "insertunorderedlist", "outdent", "indent", "separator",
							  "forecolor", "hilitecolor", "separator",
							  "removeformat" ,"separator",
							  "showborder", "separator", 
							  "subscript", "superscript","lefttoright", "righttoleft", "separator",
								 "undo", "redo","separator" 
							]
						];
				if (canDoSpellCheck=="false") {
					configObj.toolbar[0].splice(19,1)
				}
				advsimp_icon = "other/16x16/advanced.gif";
				advsimp_tip = editorCustomMsgLocalizer.getMessage("view_basic_buttons");
			}
		}

		if(is_safari2())
		{
			 configObj.toolbar =	[
							[ 
							 "cust_save","space","cust_draft","space",
						 "cust_preview","space",
						 "cust_cancel","space","separator", 
							 "cut",  //advanced
							   "bold","italic", "underline", "strikethrough", "separator",
							  "justifyleft", "justifycenter", "justifyright", "justifyfull",
							 "undo", "redo","subscript", "superscript","lefttoright", "righttoleft","separator",//advanced
							 "htmlmode","popupeditor", "separator", //advanced
							 "showhelp"
							],
					];
		}
		configObj.registerButton("cust_save", (editorCustomMsgLocalizer.getMessage("cust_save_tt")+" Ctrl+P"), appendImagePath("ix_ap_all/16x16/disk_blue.png"), true, editBtnHandler, null, editorCustomMsgLocalizer.getMessage("cust_save_lbl"));
		configObj.registerButton("cust_cancel", editorCustomMsgLocalizer.getMessage("cust_cancel_tt"), appendImagePath("ix_ap_all/16x16/document_delete.png"), true, editBtnHandler, null, editorCustomMsgLocalizer.getMessage("cust_cancel_lbl"));
		configObj.registerButton("cust_preview", (editorCustomMsgLocalizer.getMessage("cust_preview_tt")+" Ctrl+D"), appendImagePath("ix_ap_all/16x16/document_view.png"), true, editBtnHandler, null, editorCustomMsgLocalizer.getMessage("cust_preview_lbl"));
		configObj.registerButton("cust_draft", (editorCustomMsgLocalizer.getMessage("cust_draft_tt")+" Ctrl+S"), appendImagePath("operation/18x18/save_draft.gif"), true, editBtnHandler, null, editorCustomMsgLocalizer.getMessage("cust_draft_lbl"));
		if(!is_safari2())
		{
		configObj.registerButton("cust_perm", editorCustomMsgLocalizer.getMessage("permissions"), appendImagePath("object/16x16/acl.png"), true, editBtnHandler, null, editorCustomMsgLocalizer.getMessage("cust_perm_lbl"));
		//config.registerButton("cleanword", "Clear MSOffice Tags", appendImagePath("object/16x16/ed_cleanword.gif"), false, editBtnHandler);
		configObj.registerButton("removeformat", (editorCustomMsgLocalizer.getMessage("remove_formatting")+" Ctrl+Space"), appendImagePath("object/16x16/ed_rmformat.gif"), false, editBtnHandler);
		//config.registerButton("removescript", "Remove script tags", appendImagePath("object/16x16/clear_script.gif"), false, editBtnHandler);
		configObj.registerButton("insertsmiley", editorCustomMsgLocalizer.getMessage("insert_smiley"), appendImagePath("state/16x16/regular_smile.gif"), false, editBtnHandler);
		configObj.registerButton("createanchor", editorCustomMsgLocalizer.getMessage("create_anchor"), appendImagePath("object/16x16/anchor.gif"), false, editBtnHandler);
		configObj.registerButton("insertpanel", editorCustomMsgLocalizer.getMessage("insert_panel"), appendImagePath("object/16x16/panel.gif"), false, editBtnHandler);
		configObj.registerButton("insertspecialchar", editorCustomMsgLocalizer.getMessage("insert_special_characters"), appendImagePath("object/16x16/specialchar.png"), false, editBtnHandler);
		configObj.registerButton("findreplace", (editorCustomMsgLocalizer.getMessage("find_replace")+(" Ctrl+F/Ctrl+H")), appendImagePath("ix_ap_all/16x16/text_find.png"), false, editBtnHandler);
		configObj.registerButton("pasteastext", editorCustomMsgLocalizer.getMessage("paste_as_text"), appendImagePath("operation/16x16/ed_paste_text.gif"), false, editBtnHandler);
		if (canDoSpellCheck=="true") {
			configObj.registerButton("spellcheck", (editorCustomMsgLocalizer.getMessage("spell_check")+"  F7"),appendImagePath("other/spell-check.gif"), false, editBtnHandler);
		}
		configObj.registerButton("insertimage", editorCustomMsgLocalizer.getMessage("insert_modify_image"),getAppPath()+"/htmlarea/images/ed_image.gif", false, function(editor){editor._insertImage()});
		configObj.registerButton("linkattachment", editorCustomMsgLocalizer.getMessage("link_attachment"),appendImagePath("object/16x16/attachment.gif"), false, function(editor){editor._linkAttachment()});
		configObj.registerButton("createlink", editorCustomMsgLocalizer.getMessage("insert_link"),getAppPath()+"/htmlarea/images/ed_link.gif", false, function(editor){editor._createLink()});
		configObj.registerButton("advsimp", advsimp_tip, appendImagePath(advsimp_icon), true, editBtnHandler, null, "");
		if(isAdvanced)
		{
			configObj.registerButton("insertwiki", editorCustomMsgLocalizer.getMessage("insert_wiki_text"), appendImagePath("operation/16x16/wikicon.gif"), false, editBtnHandler);
			configObj.registerButton("insertplugin", editorCustomMsgLocalizer.getMessage("insert_plugin"), appendImagePath("ix_ns_all/16x16/plug.png"), false, editBtnHandler);
			configObj.registerButton("pluginclude", editorCustomMsgLocalizer.getMessage("include_page"),appendImagePath("ix_ns_all/16x16/include_plugin.gif"), false, editBtnHandler);
			configObj.registerButton("contentextract", editorCustomMsgLocalizer.getMessage("insert_excel"), appendImagePath("object/16x16/xls.png"), false, editBtnHandler);
			configObj.registerButton("extractword", editorCustomMsgLocalizer.getMessage("insert_word"), appendImagePath("other/16x16/word.png"), false, editBtnHandler);
			configObj.registerButton("showmath", editorCustomMsgLocalizer.getMessage("insert_math"), appendImagePath("other/16x16/math_editor.gif"), false, editBtnHandler);
			configObj.registerButton("showborder", editorCustomMsgLocalizer.getMessage("show_table_bdr"), appendImagePath("operation/16x16/show_table_border.png"), false, function(editor){editor._toggleBorders()});
		}
		}
	}	
	
	function editBtnHandler(editor, buttonId)
	{
	     switch (buttonId) {
		    case "cust_save":
		    	savePage();
		    	break;
		    case "cust_cancel":
		    	if(!stopToSave())
		    	{
		    		cancelPage();
		    	}
		    	break;
		    case "cust_preview":
		    	previewPage()
		    	break;
		    case "cust_draft":
		    	saveDraft();
		    	break;
		    case "cust_perm":
		    	openPermission()
		    	break;
			case "cleanword":
			  	editor._wordClean()
				break;
			case "removeformat":
			  	editor.execCommand("removeformat")
				break;
			case "removescript":
			  	editor._stripScriptTag()
				break;
			case "insertsmiley":
			  	editor._insertSmiley()
				break;
			case "createanchor":
			  	editor._createAnchor()
				break;
			case "insertpanel":
			  	editor._insertPanel()
				break;
			case "insertwiki":
			  	editor._insertWiki()
				break;
			case "insertplugin":
			  	editor._insertPlugin()
				break;
			case "pluginclude":
			  	insertPluginInclude(editor/*, link*/);
				break;
			case "insertspecialchar":
			  	editor._insertSpecialChar()
				break;
			case "contentextract":
				editor._insertExcel()
				break;
			case "extractword":
				validateWord()
				break;
			case "showmath":
				editor._showMath()
				break;
			case "findreplace":
			  	var tbo = new FindReplace(editor);
				tbo.buttonPress(editor);
				break;
			case "pasteastext":
			  	var tbo = new PasteText(editor);
				tbo.buttonPress(editor);
				break;
			case "spellcheck":
				editor._spellCheck();
				break;
			case "advsimp":
				toggleEditButtons(editor);
				break;				
		  }
	}
	
	function toggleEditButtons(editorObj)
	{
		toolBarAdvanced = !toolBarAdvanced;
		setToolbarButtons(toolBarAdvanced, editorObj.config);
		regPluginFunc(toolBarAdvanced, editorObj);
		//var tbObj = document.getElementById("wys_editor_toolbar");
		var tbObj = editorObj._mdoc.getElementById("wys_editor_toolbar");
		
		var pObj = tbObj.parentNode;
		pObj.removeChild(tbObj);
		editorObj.toolBarChange = true;
		editorObj._createToolbar();
		editorObj.updateToolbar();
		hidattr = document.getElementById("edit_button_mode");
		if (hidattr)
		{
			hidattr.value = toolBarAdvanced;
		}
		saveEditModeStatus();
	}	
	
	function regPluginFunc(isAdvanced, editorObj)
	{
		editorObj.plugins= {}; 
		editorObj.toggleMode = (isAdvanced)? 1 : 0;
		if (isAdvanced)
		{
			editorObj.registerPlugin("FindReplace");
			editorObj.registerPlugin("PasteText");
		}
		editorObj.registerPlugin("TableOperations");
		editorObj.registerPlugin("ContextMenu");
	}	
	
	function setSearchText()
	{
		if(document.getElementById("toolbox_search") != null && document.getElementById("toolbox_search").value=="$SEARCH_TEXT")
		{
			document.getElementById("toolbox_search").value = "";
		}
	}
	
	function openRSS()
	{
		
		var listType 	= document.getElementById("listtype").value;
		var letter;
		var projname;
		var pgtitle;
		var news_filter;
		var queryobject;
		var currentpage;
		var totalpages;
		var searchtext;
		if( document.getElementById("letter") != null )
		{
			letter 		= document.getElementById("letter").value;
		}
		if( document.getElementById("projectname") != null )
		{
		 projname 	= document.getElementById("projectname").value;
		}

		if( document.getElementById("title") != null )
		{
			pgtitle 	= document.getElementById("title").value;
		}
		if( document.getElementById("news_filter") != null )
		{
			news_filter = document.getElementById("news_filter").value;
		}
		if( document.getElementById("queryobject") != null )
		{
			queryobject = document.getElementById("queryobject").value;
		}
		if( document.getElementById("currentpage") != null )
		{
			currentpage = document.getElementById("currentpage").value;
		}
		if( document.getElementById("totalpages") != null )
		{
			totalpages 	= document.getElementById("totalpages").value;
		}
		searchtext 	= "";
	
		if( document.getElementById("toolbox_search") != null )
		{
			searchtext 	= document.getElementById("toolbox_search").value;
		}
	
		var url = new Array();
		url.push(appendPath("pagelisting.jsp"));
		url.push("?listtype=");
		url.push(listType);
		url.push("&format=rss");
		url.push("&count=30");
		url.push("&auth=false");
		if(!et_g_isWhitespace(letter))
		{
			url.push("&letter=");
			url.push(letter);
		}
		if(!et_g_isWhitespace(projname))
		{
			url.push("&projectname=");
			url.push(URLEncode(projname));
		}
		if(!et_g_isWhitespace(pgtitle))
		{
			url.push("&title=");
			url.push(URLEncode(pgtitle));
		}
		if(!et_g_isWhitespace(news_filter) && news_filter!="$NFILTER")
		{
			url.push("&news_filter=");
			url.push(URLEncode(news_filter));
		}
		if(!et_g_isWhitespace(searchtext))
		{
			url.push("&searchtext=");
			url.push(URLEncode(searchtext));
		}
		openPopup(url.join(""), 850, 600, "rss", 'menubar=no,location=yes,toolbar=no,directories=no,scrollbars=yes,status=no,resizable=yes,');
	}

	
	function getEmailPageContent(URL)
	{
		/**try
		{
			if(!et_g_isWhitespace(URL))
			{
				var logAjax = new WikiAjax();
				logAjax.setRequestURL(URL+"?type=print");
				logAjax.setCallback(onEmailContent);
				logAjax.send();
			}
		}
		catch(err){}
		**/
	}
	
	function onEmailContent(responseDOM, errorMessage, responseText)
	{
		try
		{
			var stoken = "<!--$CONTENT_STARTS--->";
			var etoken = "<!--$CONTENT_ENDS--->";
			if(!et_g_isWhitespace(responseText) && responseText.indexOf(stoken) != -1)
			{
				emailWithContent = responseText.substring(responseText.indexOf(stoken), responseText.indexOf(etoken)+etoken.length);
				document.getElementById("message").value=document.getElementById("message").value + "<p>&nbsp;</p>" + emailWithContent;
				wys_editor.setHTML(document.getElementById("message").value);
			}
		}catch(err){}
	}

	function toggleEmailContent()
	{
		/**var stoken = "<!--$CONTENT_STARTS--->";
		var etoken = "<!--$CONTENT_ENDS--->";
		var checked = document.getElementById("econtent").checked;
		if(checked)
		{
			var currentContent = wys_editor.getHTML();
			if(currentContent.indexOf(stoken)==-1)
			{
				wys_editor.setHTML(currentContent+emailWithContent);
			}
		}
		else
		{
			var currentContent = wys_editor.getHTML();
			if(currentContent.indexOf(stoken)!=-1)
			{
				wys_editor.setHTML(currentContent.substring(0,currentContent.indexOf(stoken)));
			}
		}**/
	}
	
	function setForgotOpt()
	{
		var opt = document.frmlogin.f_option;
		if(opt[0].checked)
		{
			document.frmlogin.username_fpassword.value="";
			document.frmlogin.username_fpassword.setAttribute("disabled", "true");
		}
		else
		{
			document.frmlogin.username_fpassword.removeAttribute("disabled");
		}
	}
	
	function resetPass(cancelPass)
	{
		///call ajax
		if( wAjax != null)
		{
			return false;
		}
		var pass = document.resetpass.newpass.value;
		var confpass = document.resetpass.confnewpass.value;
		if(cancelPass)
		{
			document.resetpass.newpass.value = "";
			document.resetpass.confnewpass.value = "";
			return false;
		}
		if(et_g_isWhitespace(pass) || et_g_isWhitespace(confpass))
		{
			alert(generalMsgLocalizer.getMessage("pwd_fields_mandate"));
			return false;
		}
		if(pass != confpass)
		{
			alert(generalMsgLocalizer.getMessage("pwd_didnt_match"));
			return false;
		}
		var token = document.resetpass.token.value;
//			alert(username);
		wAjax = new WikiAjax();
		wAjax.setMethodTOPOST();
		wAjax.setCallback(onResetPasswd);
		var methodName = "resetPassword";
		var params = new Array();
		params[0] = new Object();
		params[0].type = "String";
		params[0].value = URLEncode(token);
		params[1] = new Object();
		params[1].type = "String";
		params[1].value = URLEncode(pass);
		var req = createRequest(createManagerMethod(methodName, params));
		wAjax.addField("reqdata", req);
		wAjax.send();
		return false;
	}
	
	function onResetPasswd(responseDOM, errorMessage)
	{
		if(errorMessage == null)
		{
			var obj = parseResponse(responseDOM);
			if(obj == null)
			{
				alert(generalMsgLocalizer.getMessage("response_not_well"));
			}
			else
			{
				if(obj.statusCode == "200")
				{
					if(obj.output +"" == "true")
					{
						alert(generalMsgLocalizer.getMessage("pwd_chgd_sucessfully"));
						window.location.href="index.jsp";
					}
					else
					{
						alert(generalMsgLocalizer.getMessage("pwd_chg_err"));
					}
				}
				else
				{
					alert(generalMsgLocalizer.getMessage("pwd_reset_err"));
	//				alert( "["+ obj.statusMessage + "] " + obj.output );
				}
			}
		}
	}
	
	function tlb_openProfile()
	{
	    callLoc = window.location.href;

	    if (callLoc.indexOf("profile.jsp?cp=") == -1)
	    {
	    	callLoc = callLoc.substring(callLoc.indexOf("/cm"));
	    	window.location.href=appendPath("profile.jsp")+"?cp="+URLEncode(callLoc);
	    }
	    else
	    {
	    	window.location.href=callLoc;
	    }
	}

	function tlb_openAdmin()
	{
		if( !et_g_isWhitespace(ADMIN_PAGE_URL) && ADMIN_PAGE_URL != "$AD_PAGE_URL" )
		{
			window.location.href=ADMIN_PAGE_URL;
		}
	}
	
	function userProfile()
	{
		var status=true;

		if (document.profile.curtab.value == 0)
		{
			if(et_g_isWhitespace(document.profile.r_email.value) || !isEmailAddr(document.profile.r_email.value) )
			{
				alert(generalMsgLocalizer.getMessage("common_enterValidEmail"));
				document.profile.r_email.focus();
				status= false;
			}
			
			if(et_g_isWhitespace(document.profile.r_fname.value) ) 
			{
				alert(generalMsgLocalizer.getMessage("enter_first_name"));
				document.profile.r_fname.focus();
				status= false;
			}
	
			if(et_g_isWhitespace(document.profile.r_lname.value) ) 
			{
				alert(generalMsgLocalizer.getMessage("enter_last_name"));
				document.profile.r_lname.focus();
				status= false;
			}
		}

		if( et_g_isWhitespace(document.profile.pagesize.value) || !et_g_isNonZeroInteger(document.profile.pagesize.value))
		{
			alert(generalMsgLocalizer.getMessage("numeric_page_size"));
			document.profile.pagesize.focus();
			status= false;
		}
		else
		{
			if(parseInt(document.profile.pagesize.value) > 1000)
			{
				alert(generalMsgLocalizer.getMessage("numeric_page_size"));
				document.profile.pagesize.focus();
				status= false;
			}
		}
		try
		{
			if(document.profile.chk_password.checked)
			{
				if(et_g_isWhitespace(document.profile.o_password.value))
				{
					alert(generalMsgLocalizer.getMessage("enter_old_pwd")); 
					document.profile.o_password.focus();
					status= false;
				}
				else
				{
					if(!et_g_isWhitespace(document.profile.r_password.value) && !et_g_isWhitespace(document.profile.r_cpassword.value))
					{
						if(document.profile.r_password.value != document.profile.r_cpassword.value)
						{
							alert(generalMsgLocalizer.getMessage("pwd_cfrmpass_not_match")); 
							document.profile.r_password.focus();
							status= false;
						}
					}
					else
					{
						alert(generalMsgLocalizer.getMessage("enter_new_confirm_pwd"));
						document.profile.r_password.focus();
						status= false;
					}
				}
			}
		}
		catch(err){}
		if(status)
		{
			document.profile.processflag.value="update";
			document.profile.submit();
		}
	}
	
	function enableProfilePassword()
	{
		var lCheck = !document.getElementById("chk_password").checked;
		document.profile.r_password.disabled = lCheck; 
		document.profile.o_password.disabled = lCheck;
		document.profile.r_cpassword.disabled = lCheck;
	}
	
	function getWindowWidth()
	{
		var width = 800;
		try
		{
			if(screen.width >= 1200)
			{
				width = 1000;
			}
			else if(screen.width >= 1024)
			{
				width = 960;
			}
		}
		catch(err){}

		return width;
	}
	
	function openPendingPage()
	{
		var width = getWindowWidth();
		openPopup(appendPath("projectusers.jsp?s_type=s_memreq&projectname="+URLEncode(getProjectTitle())), width, 530, "projusers");		
	}
	
	function openProjectUsers()
	{
		//var width = getWindowWidth();
		//openPopup(appendPath("projectusers.jsp?projectname="+URLEncode(getProjectTitle())), 1250, 560, "projusers");		
		window.location.href=appendPath("projectusers.jsp?projectname="+URLEncode(getProjectTitle()));
	}
	
	function sortUserCol(colName)
	{
		var formObj = null;
		if (document.projusers)
			formObj = document.projusers;
		else if (document.usrgrps)
			formObj = document.usrgrps;
		else if (document.usrpkr)
			formObj = document.usrpkr;

		if (formObj)
		{
			if (colName == "user_id" || colName == "first_name" || colName == "last_name"
			|| colName == "email")
			{
				if(formObj.sortcol.value==colName)
				{
					if(formObj.sortorder.value=="a")
					{
						formObj.sortorder.value="d";
					}
					else
					{
						formObj.sortorder.value="a";
					}
				}
				else
				{
					formObj.sortorder.value="a";
					formObj.sortcol.value=colName;
				}
				formObj.flag.value="search";
				formObj.submit();
			}
			else if (colName == "luser_name" || colName == "lemail")
			{
				if(formObj.lsortcol.value == colName)
				{
					if(formObj.lsortorder.value == "a")
					{
						formObj.lsortorder.value = "d";
					}
					else
					{
						formObj.lsortorder.value = "a";
					}
				}
				else
				{
					formObj.lsortorder.value = "a";
					formObj.lsortcol.value = colName;
				}
				formObj.flag.value  ="lookupusers";
				formObj.submit();
			}
		}
	}
	
	function sortGroupCol(colName)
	{
		var formObj;
		if (document.projgroups)
		{
			formObj = document.projgroups;
		}
		else if (document.globalgroups)
		{
			formObj = document.globalgroups;
		}	
		else if (document.grouplist)
		{
			formObj = document.grouplist;
		}	
		else if (document.groupmembers)
		{
			formObj = document.groupmembers;
		}	

		if (formObj)
		{
			if (colName == "group_name" || colName == "group_desc" || colName == "create_date_time"
			|| colName == "user_id" || colName == "first_name" || colName == "last_name"
			|| colName == "start_date_time" || colName == "end_date_time")
			{
				if(formObj.sortcol.value==colName)
				{
					if(formObj.sortorder.value=="a")
					{
						formObj.sortorder.value="d";
					}
					else
					{
						formObj.sortorder.value="a";
					}
				}
				else
				{
					formObj.sortorder.value="a";
					formObj.sortcol.value=colName;
				}
				formObj.flag.value="search";
				formObj.submit();
			}
			else if (colName == "lgroup_name" || colName == "lgroup_desc")
			{
				if(formObj.lsortcol.value==colName)
				{
					if(formObj.lsortorder.value=="a")
					{
						formObj.lsortorder.value="d";
					}
					else
					{
						formObj.lsortorder.value="a";
					}
				}
				else
				{
					formObj.lsortorder.value="a";
					formObj.lsortcol.value=colName;
				}
				formObj.flag.value="lookupgroups";
				formObj.submit();			
			}
		}
	}

	/*	
	function toggleListCheckBox(frm, pattern)
	{
		for ( var i=0; i < frm.length; i++)
		{
			elem = frm.elements[i];
			if( elem.name && elem.name.indexOf(pattern) != -1 )
			{
				elem.checked = !elem.checked;
			}
		}
	}
	*/
		function toggleListCheckBox(frm, pattern)
	{
		if(document.getElementById("chkSelectAll").checked)
		{	
			for ( var i=0; i < frm.length; i++)
			{
				elem = frm.elements[i];
				if( elem.name && elem.name.indexOf(pattern) != -1 )
				{
					elem.checked =true;
				}
			}
		}
		else
		{
			for ( var i=0; i < frm.length; i++)
			{
				elem = frm.elements[i];
				if( elem.name && elem.name.indexOf(pattern) != -1 )
				{
					elem.checked =false;
				}
			}
		}
	}
	function chgRowColor(obj, mouseEvent)
	{
		if(mouseEvent=="over")
		{
			if(obj.getAttribute("oldcolor") == null)
			{
				obj.setAttribute("oldcolor",obj.style.backgroundColor);
			}
			obj.style.backgroundColor = "#FFFFCC";
		}
		else
		{
			obj.style.backgroundColor = obj.getAttribute("oldcolor");
		}
	}
	
	function stopToSave(logout)
  {
		var returnVal = false;
		try
		{
			  var cURL = window.location.href;
			  if(cURL.indexOf("editpage.jsp")!=-1)
			  {
					if( document.getElementById("wiki_text") != null && wys_editor )
					{
						  if(!isEquals(unsavedEditorHTML, wys_editor.getInnerHTML()))
						  {
								var message = generalMsgLocalizer.getMessage("content_modified_msg");
								returnVal = !confirm(message);
								if(returnVal)
								{
									  wys_editor.focusEditor();
								}
						  }
					}
			  }
			  else
			  {
					var lo = document.getElementById("lnk_logout");
					if(logout && logout == true && lo && lo.style.display == "none")
					{
						  returnVal = true; 
					}
			  }
		}

		catch(err){}

		return returnVal;

  }


	function isEquals(string1, string2)
	{
		var returnVal = true;
		try
		{
			string1 = trim(string1);
			string1 = string1.replace(/\r/g, "");
			string1 = string1.replace(/\n/g, "");
			string1 = string1.replace(/\t/g, "");
			
			string2 = trim(string2);
			string2 = string2.replace(/\r/g, "");
			string2 = string2.replace(/\n/g, "");
			string2 = string2.replace(/\t/g, "");
			if(string1 != string2)
			{
				returnVal = false;
			}
		}
		catch(err){}
		return returnVal;
	}
	
	function setSelectBoxIndex(selBox, value) 
	{
		for(var i=0;i<selBox.options.length;i++)
		{
			if(selBox.options[i].value==value)
			{
				selBox.selectedIndex = i;
				break;
			}
		}
	}

	/*
	 * function to replace a pattern in a string with another string
	*/
	function et_g_replace(str, pattern, replace)
	{
		s = 0;
		e = 0;
		var result = new String();
		while ((e = str.indexOf(pattern, s)) >= 0) {
			result = result + str.substring(s, e);
			result = result + replace;
			s = e + pattern.length;
		}
		result = result +  str.substring(s);
		return result;
	}
	
	function getChildrenPages(id, project, title, depth, showattach)
	{
		try
		{
			var getChildren = new WikiAjax();
			getChildren.setMethodTOPOST();
			var getChildrenHandler = new GetChildrenHandler(id);
			getChildren.setCallback(getChildrenHandler.process);
			//var rssResponseHandler = new RSSResponseHandler( id, "" );
			var reqURL = siteContext + "wikiajax";
			getChildren.setRequestURL(reqURL);
			var methodName = "getChildrenHierarchyNew";
			var params = new Array();
			params[0] = new Object();
			params[0].type = "String";
			params[0].value = project;
			params[1] = new Object();
			params[1].type = "String";
			params[1].value = title;
			params[2] = new Object();
			params[2].type = "String";
			params[2].value = depth;
			params[3] = new Object();
			params[3].type = "String";
			params[3].value = showattach;
			
			var req = createRequest(createManagerMethod(methodName, params));
			getChildren.addField("reqdata", req);
			getChildren.send();
		}
		catch(err){}
	}
	
	function GetChildrenHandler(id)
	{
		this.id = id;
		this.process = process;
		function process( responseDOM, errorMessage, responseText )
		{
			try
			{
				if(errorMessage == null)
				{
					var obj = parseResponse(responseDOM);
					if(obj == null)
					{
						//alert("Response is not well formed.");
					}
					else
					{
						if(obj.statusCode == "200")
						{
							document.getElementById(id).innerHTML = obj.output;
							autoInit_trees();
						}
					}
				}
			}
			catch(err){}
		}
	}
	
	function parseRssFeed ( id, url )
	{
		if( !et_g_isWhitespace(id) && !et_g_isWhitespace(url) )
		{
			
			var projTitle = getProjectTitle();
			var pageTitle = getPageTitle();
			if(pageTitle==null && document.getElementById("pagetitle")!=null
					&& !et_g_isWhitespace(document.getElementById("pagetitle").value))
			{
				pageTitle = document.getElementById("pagetitle").value;
			}
			url = et_g_replace(url,"&amp;","&");
			var rssReader = new WikiAjax();
			rssReader.setMethodTOPOST();
			var rssResponseHandler = new RSSResponseHandler( id, url );
			rssReader.setCallback(rssResponseHandler.process);
			var reqURL = siteContext + "wikiajax?methodoutput=xml";
			if(projTitle != null)
			{
				reqURL += "&projectname="+URLEncode(projTitle);
			}
			if(pageTitle != null)
			{
				reqURL += "&title="+URLEncode(pageTitle);
			}
			rssReader.setRequestURL(reqURL);
			var methodName = "getRSSFeed";
			var params = new Array();
			params[0] = new Object();
			params[0].type = "String";
			params[0].value = url;
			params[1] = new Object();
			params[1].type = "httprequest";
			params[1].value = "";
			var req = createRequest(createManagerMethod(methodName, params));
			rssReader.addField("reqdata", req);
			rssReader.send();
		}
	}
	
	function RSSResponseHandler( id, uri )
	{
		this.id = id;
		this.uri = uri;
		this.process = process;
		
		function process( responseDOM, errorMessage, responseText )
		{
			if(errorMessage == null)
			{
				var channel = responseDOM.getElementsByTagName("channel")[0];
				if(channel==null)
				{
					channel = responseDOM.getElementsByTagName("feed")[0];
				}
				if(channel == null)
				{
					var obj = parseResponse(responseDOM);
					if(obj == null)
					{
						document.getElementById(id).innerHTML = generalMsgLocalizer.getMessage("response_not_well");
					}
					else if(typeof obj.output == "undefined")
					{
						document.getElementById(id).innerHTML = generalMsgLocalizer.getMessage("rss_resp_not_well");
					}
					else
					{
						document.getElementById(id).innerHTML = generalMsgLocalizer.getMessage("err_msg") + "["+ obj.statusMessage + "] " + obj.output;
					}
				}
				else
				{
					writeRSSDivContent(id, responseDOM);
				}
			}
		}
	}
	
	function writeRSSDivContent(id, responseDOM)
	{
		var channel 			= 	responseDOM.getElementsByTagName("channel")[0];
		if(channel == null)
		{
			channel 			= 	responseDOM.getElementsByTagName("feed")[0];
		}
		var channelTitle 		= 	getElementTextNS("", "title", channel, 0);
		var channelLink			=	getElementTextNS("", "link", channel, 0);
		var channelDescription	=	getElementTextNS("", "description", channel, 0);
		if(channelDescription==null)
		{
			channelDescription	=	getElementTextNS("", "tagline", channel, 0);
		}
		var channelPubDate		=	getElementTextNS("", "pubDate", channel, 0);
		if(channelPubDate==null)
		{
			channelPubDate		=	getElementTextNS("", "modified", channel, 0);
		}
		var channelImage 		= 	channel.getElementsByTagName("image")[0];
		var divTitle			=	document.getElementById(id).getAttribute("title");

		var showHeading			=	document.getElementById(id).getAttribute("show_heading");
		var showDate			=	document.getElementById(id).getAttribute("show_date");
		var showDesc			=	document.getElementById(id).getAttribute("show_desc");
		var showHeadingImage	=	document.getElementById(id).getAttribute("show_headingimage");
		var isinternalLink		=	document.getElementById(id).getAttribute("internal");
		var cols				=	document.getElementById(id).getAttribute("cols");
		var tbStyle				=	document.getElementById(id).getAttribute("table_style");
		var trStyle				=	document.getElementById(id).getAttribute("tr_style");
		var tdStyle				=	document.getElementById(id).getAttribute("td_style");
		var maxItemCount 		=	10000;
		var tablecols			=	1;
		
		if( document.getElementById(id).getAttribute("count") != null )
		{
			try
			{
				var cnt = parseInt(document.getElementById(id).getAttribute("count")); 
				if(cnt>0)
				{
					maxItemCount = cnt; 
				}
			}
			catch(err){}
		}
		if(tbStyle==null)
		{
			tbStyle = "border:0px;margin:0px;padding:0px";
		}
		if(tdStyle==null)
		{
			tdStyle = "padding:4px;";
		}
		if(trStyle==null)
		{
			trStyle = "";
		}
		var internalLink = false;
		if(isinternalLink!=null && isinternalLink=="true")
		{
			internalLink = true;
		}
		if( cols != null && !et_g_isWhitespace(cols))
		{
			try
			{
				if(parseInt(cols)>1)
				{
					tablecols = parseInt(cols); 
				}
			}
			catch(err){}
		}

		if( showHeadingImage==null || et_g_isWhitespace(showHeadingImage))
		{
			showHeadingImage = "true";
		}
		
		if( showHeading==null || et_g_isWhitespace(showHeading))
		{
			showHeading = "true";
		}
		
		if( showDate==null || et_g_isWhitespace(showDate) )
		{
			showDate = "true";
		}

		if( showDesc==null || et_g_isWhitespace(showDesc) )
		{
			showDesc = "true";
		}
		
		if( et_g_isWhitespace(divTitle) && !et_g_isWhitespace(channelTitle) )
		{
			divTitle	=	channelTitle;
		}
		var htmlArray = new Array();
		htmlArray.push("<table cellspacing='0' cellpadding='0' style=\""+tbStyle+"\" border='0'>");
		if( trim(showHeading.toLowerCase()) == "true" || showHeadingImage == "true" )
		{
			try
			{
				if( showHeadingImage=="true" && channelImage != null )
				{
					htmlArray.push("<tr>");
					htmlArray.push("<td valign='top' class=\"rssheading\" colspan=\""+tablecols+"\">");
					var img = getElementTextNS("", "url", channelImage, 0);
					var imgtitle = getElementTextNS("", "title", channelImage, 0);
					var imglink = getElementTextNS("", "link", channelImage, 0);
					if(!et_g_isWhitespace(img) && !et_g_isWhitespace(imgtitle) && !et_g_isWhitespace(imglink))
					{
						var imgTag  = "<a href=\""+imglink+"\" "+(!internalLink?"target='_blank'":(parent?"target='_parent'":""))+">" + "<img align='absmiddle' border='0' src=\"" + img + "\" title=\"" + imgtitle + "\"" + "></a> ";
						htmlArray.push(imgTag);
					}
					htmlArray.push("</td>");
					htmlArray.push("</tr>");
				}
			}
			catch(err){}
			if( trim(showHeading.toLowerCase()) == "true" && trim != null && trim(divTitle) != "")
			{
				htmlArray.push("<tr>");
				htmlArray.push("<td valign='top' class=\"rssheading\" colspan=\""+tablecols+"\">");
				htmlArray.push("<a href=\""+channelLink+"\" "+(!internalLink?"target='_blank'":(parent?"target='_parent'":""))+">");
				htmlArray.push(divTitle);
				htmlArray.push("</a>");
				htmlArray.push("</td>");
				htmlArray.push("</tr>");
			}
		}
		
		var items = channel.getElementsByTagName("item");
		if( items==null || items.length == 0 )
		{
			items = channel.getElementsByTagName("entry");
		}
		if(items != null)
		{
			var itemTitle = "";
			var itemLink = "";
			var itemDescription = "";
			var itemPubDate = "";
			var addDescription = (trim(showDesc.toLowerCase()) == "true");
			var addDate = (trim(showDate.toLowerCase()) == "true");
			htmlArray.push("<tr style=\""+trStyle+"\">");
			var colCounter = 1;
			var colWidth = 100/tablecols;
			for ( var i = 0; i < items.length; i++ ) 
			{
				if( i == maxItemCount )
				{
					break;
				}
				itemTitle 			= getElementTextNS("", "title", items[i], 0);
				itemLink 			= getElementTextNS("", "link", items[i], 0);
				itemDescription 	= getElementTextNS("", "description", items[i], 0);
				if(itemDescription==null)
				{
					itemDescription 	= getElementTextNS("", "content", items[i], 0);
				}
				itemPubDate 		= getElementTextNS("", "pubDate", items[i], 0);
				if(itemPubDate==null)
				{
					itemPubDate 		= getElementTextNS("", "modified", items[i], 0);
				}
				if(colCounter>tablecols)
				{
					htmlArray.push("</tr>");
					htmlArray.push("<tr style=\""+trStyle+"\">");
					colCounter = 1;
				}	
				htmlArray.push("<td valign='top' style=\""+tdStyle+"\" width='"+colWidth+"%'>");	
				
				htmlArray.push("<p class='rsslink'>");
				htmlArray.push("<a href=\""+itemLink+"\" "+(!internalLink?"target='_blank'":(parent?"target='_parent'":"")) + ">");
				htmlArray.push(itemTitle);
				htmlArray.push("</a>");
				htmlArray.push("</p>");
				htmlArray.push("<p class='rssdesc'>");
				if(addDescription && !et_g_isWhitespace(itemDescription))
				{
					htmlArray.push(itemDescription);
				}
				if(!et_g_isWhitespace(itemPubDate))
				{
					if( addDate )
					{
						if(!et_g_isWhitespace(itemDescription) && addDescription)
						{
							//htmlArray.push("<br clear=\"all\">");
						}
						htmlArray.push("<div class='rssdateinfo'>"+itemPubDate+"</div>");
					}
				}
				htmlArray.push("</p>");
				htmlArray.push("</td>");
				colCounter++;
			}
			if(colCounter<tablecols)
			{
				for(var cCounter=0;cCounter<(tablecols-(colCounter-1));cCounter++)
				{
					htmlArray.push("<td>&nbsp;</td>");	
				}
			}
			htmlArray.push("</tr>");
		}
		htmlArray.push("</table>");
		document.getElementById(id).innerHTML = htmlArray.join("");
	}
	
	function getElementTextNS(prefix, local, parentElem, index) 
	{
	    var result = "";
	    /**
	     * for IE and with namespace....
	     result = parentElem.getElementsByTagName(prefix + ":" + local)[index];
	    **/
	    try
		{
	        result = parentElem.getElementsByTagName(local)[index];
		    if (result) 
		    {
		        if (result.childNodes.length > 1) 
		        {
		            return result.childNodes[1].nodeValue;
		        } 
		        else 
		        {
		            return result.firstChild.nodeValue;    		
		        }
		    }
		}
	    catch(err){}
	}
  
	function changeCreateToUpdate()
	{
		document.editpage.editpage_submit.value = "Update";
		if(document.getElementById("pagetitle") == null)
		{
			var hidden	= document.createElement("input");
			hidden.setAttribute("type","hidden");
			hidden.setAttribute("name","pagetitle");
			hidden.setAttribute("id", "pagetitle");
			hidden.setAttribute("value", document.getElementById("editpage_title").value);
			var frm = document.getElementById("editpage");
			frm.appendChild(hidden);
		}
	}

	function undeletePage()
	{
		try
		{
		document.editpage.editpage_title.removeAttribute("disabled");
		document.editpage.editpage_desc.removeAttribute("disabled");
		document.editpage.editpage_topic.removeAttribute("disabled");
		}
		catch(err){}
		document.editpage.editpage_submit.value = "Undelete";
		document.editpage.submit();
	}
  
	function checkAllAttachment()
	{
		var checked = document.getElementById("checkallattachment").checked;
		for ( var i=0; i < document.editpage.length; i++)
		{
			elem = document.editpage.elements[i];
			if( elem.name && elem.name.indexOf("chkattdel_") != -1 )
			{
				if(!elem.disabled)
				{
					elem.checked = checked;
				}
			}
		}
	}
	
	function acceptInvitation()
	{
		document.frmproject_home.flag.value="acceptinvitation";
		document.frmproject_home.submit();
	}
	
	function rejectInvitation()
	{
		document.frmproject_home.flag.value="rejectinvitation";
		document.frmproject_home.submit();
	}
	
	function isDisplayMenu()
	{
		if( typeof isShowMenu != "undefined" )
		{
			if(isShowMenu=="false")
			{
				return false;
			}
		}
		
		try
		{
			if( document.editpage && document.editpage.pop )
			{
				if( document.editpage.pop.value=="true" )
				{
					return false;
				}
			}
		}catch(err){}
		
		return true;
	}
	
	function indexInvitationSubmit()
	{
		document.frminvite.flginvite.value="save";
		document.frminvite.submit();
	}

	function indexInvitationReset()
	{
		for ( var i=0; i < document.frminvite.length; i++)
		{
			elem = document.frminvite.elements[i];
			
			if( elem.name && elem.name.indexOf("chkinvite_") != -1 )
			{
				elem.checked=false;
			}
		}
	}	
	
	function chgProjectOwner()
	{
		if(document.getElementById("chgowner") != null)
		{
			var val = document.getElementById("chgowner").value;
			if(!et_g_isWhitespace(val))
			{
				document.frmproject_home.createproject_submit.value="";
				document.frmproject_home.flag.value="chgowner_"+val;
				document.frmproject_home.submit();
			}
			else
			{
				alert(generalMsgLocalizer.getMessage("wiki_enterUserName"));
				document.getElementById("chgowner").focus();
			}
		}
	}
	
	function tlb_movePage()
	{
		var projTitle = getProjectTitle();
		var pageTitle = getPageTitle();
		
		if(projTitle != null && pageTitle != null)
		{
			if (pageTitle == "home")
			{
				alert(generalMsgLocalizer.getMessage("wiki_homeNotMove"));
				return;
			}
			openPopup((getAppPath()+"/wiki/pagelisting_dialog.jsp?projectname=" + URLEncode(projTitle) + "&pagetitle="+URLEncode(pageTitle) + "&movepage=true"), 600, 530, "movepage");
		}
	}
/*	
	function tlb_changeParent()
	{
		var projTitle = getProjectTitle();
		var pageTitle = getPageTitle();
		if(projTitle != null && pageTitle != null)
		{
			openPopup((getAppPath()+"/wiki/pagelisting_dialog.jsp?projectname=" + URLEncode(projTitle) + "&pagetitle="+URLEncode(pageTitle) + "&changeparent=true"), 600, 530, "changechildpage");
		}
	}
*/
	function tlb_changeParent()
	{
		var family="18";
		if(getPageType() == "Page")
		{
		   family="18";
		}
		else if(getPageType() == "News")
		{
			family="19";
		}
		else if(getPageType() == "Thread")
		{
			family="20";
		}
		else if(getPageType() == "Issue")
		{
			family="21";
		
		}
		var projTitle = getProjectTitle();
		var pageTitle = getPageTitle();
		
		if(projTitle != null && pageTitle != null)
		{
			openPopup((getAppPath()+"/wiki/change_parent.jsp?projectname=" + URLEncode(projTitle) + "&family="+ URLEncode(family)+ "&pagetitle="+URLEncode(pageTitle) + "&changeparent=true"), 600, 530, "changechildpage");
			/*
			if( family == "18"){
 				openPopup((getAppPath()+"/wiki/change_parent.jsp?projectname=" + URLEncode(projTitle) + "&family="+ URLEncode(family)+ "&pagetitle="+URLEncode(pageTitle) + "&changeparent=true"), 600, 530, "changechildpage");
 			}else{
 				openPopup((getAppPath()+"/wiki/change_parent.jsp?projectname=" + URLEncode(projTitle) + "&action=mv_list&changeparent=true"), 600, 530, "movepage");
 			}	
		*/
		}
	}

	function createBasicCalendar(calId,month,year,events,counter)
	{
		
		var todaydate=new Date();
		if(month == "0")
		{
			month=todaydate.getMonth()+1 //get current month (1-12)
		}
		if(year == "0")
		{
			year=todaydate.getFullYear() //get current month (1-12)
		}
	
		if(is_ie)
		{
	   		document.write(buildCal(calId,month ,year, "main", "month", "daysofweek", "days","eventdays", 0,events,counter));
		}
		else
		{
			document.write(buildCal(calId,month ,year, "main", "month", "daysofweek", "days","eventdays", 1,events,counter));
		}
	}

	function createFullViewCalendar(calId,month,year,events,counter)
	{
		var todaydate=new Date();
		if(month == "0")
		{
			month=todaydate.getMonth()+1 //get current month (1-12)
		}
		if(year == "0")
		{
			year=todaydate.getFullYear() //get current month (1-12)
		}
	
		if(is_ie)
		{
	   		document.write(buildLargeCal(calId,month ,year, "mainLarge", "monthLarge", "daysofweekLarge", "daysLarge","eventdaysLarge", 0,events,counter));
		}
		else
		{
			document.write(buildLargeCal(calId,month ,year, "mainLarge", "monthLarge", "daysofweekLarge", "daysLarge","eventdaysLarge", 1,events,counter));
		}
	}

	function showCalDiv(id,month,year,day,date,counter,monthInt)
	{
		var events = arrayOfEvents[counter];
		var eventData =getConsolidatedEventData(events,getTwoDigitNumber(monthInt),getTwoDigitNumber(day),year);
		
		var maintd = document.getElementById(id);
		var div = document.getElementById("div_cal");
		var headerdiv = document.getElementById("header_cal");
		var maindiv = document.getElementById("main_cal");
	
		var imagepath = appendImagePath("other/header_close.gif");
	 	headerdiv.innerHTML="<table><tr><td width=90% align=center><strong>"+day+"-"+month+"-"+year+"</strong></td><td width=10% align=right><img src="+imagepath+"></img></td></tr></table>";
		
		div.top = findPosY(maintd)+"px";
		div.style.top = findPosY(maintd)+"px";
		div.style.left =findPosX(maintd);
		div.left = findPosX(maintd);
		
		maindiv.innerHTML="<UL>"+eventData+"</UL>"
		div.className="div_cal_topic_show";
	}

	function hideCalDiv(events)
	{
		var maindiv = document.getElementById("div_cal");
		maindiv.className="div_cal_topic_hide";
	}

	function findPosX(obj)
	{
		var curleft = 0;
		if (obj.offsetParent)
		{
			while (obj.offsetParent)
			{
				curleft += obj.offsetLeft
				obj = obj.offsetParent;
			}
		}
		else if (obj.x)
			curleft += obj.x;
		return curleft;
	}

	function findPosY(obj)
	{
		var curtop = 0;
		if (obj.offsetParent)
		{
			while (obj.offsetParent)
			{
				curtop += obj.offsetTop
				obj = obj.offsetParent;
			}
		}
		else if (obj.y)
			curtop += obj.y;
		return curtop;
	}

	function getTwoDigitNumber(num)
	{
		num= num+"";
		var retNum = num+"";
		if(parseInt(num) <= 9)
		{
			if(num.length == 1)
			{
			  retNum= "0"+num;
			}
		}
		return retNum;
	}

	function toPNG(src)
	{
		if( !et_g_isWhitespace(src) && src.indexOf(".gif") != -1 )
		{
			return src.replace(/.gif/,'.png');
		}
		return src;
	}

	function openCalendar(calId,m, year, cM, cH, cDW, cD,eventDays, brdr,events,counter)
	{
		
		var	url = appendPath("eventcalendar.jsp?id="+calId+"&month="+m+"&year="+year+"&counter="+counter);
		
		openPopup(url , 900,700, "eventcalendar");
		
	}

	function deletePageListItems(opt)
	{
		var typeOfAction = opt;
		if (opt == "move")
		{
			document.getElementById("actiontype").value = "move";
		}

		if(!et_g_isWhitespace(typeOfAction))
		{
			var nameOfAction = menuLocalizer.getMessage("Move"); //"move";
			if(typeOfAction=="del") 
			{
				nameOfAction = menuLocalizer.getMessage("Delete"); //"delete";
			}
			var selectedItems = null;
			for ( var i=0; i < document.listform.length; i++)
			{
				elem = document.listform.elements[i];
				if( elem.name && elem.name.indexOf("list_del") != -1 
						&& elem.checked)
				{
					if(selectedItems==null)
					{
						selectedItems = elem.value;
					}
					else
					{
						selectedItems += '\u001D' + elem.value;
					}
				}
			}
			var msgargs = [nameOfAction];
			if(selectedItems != null && !et_g_isWhitespace(selectedItems))
			{
					if(typeOfAction=="del") 
					{
						if(confirm(generalMsgLocalizer.getMessage("wiki_areYouSure", msgargs)))
						{	
							document.listform.del_items.value=selectedItems;
							if(document.getElementById("queryobject")!= null)
							{
								document.getElementById("queryobject").value="";
							}
							document.listform.submit();
						}
					}
					else
					{
						document.listform.move_items.value=selectedItems;
						var projTitle = getProjectTitle();

						// Begin - Added by Swarna - Move function
						var family = 18;
						var listType = document.getElementById("listtype").value;
						if (listType == "rnews")
						{
							family = 19;
							openPopup(("change_parent.jsp?projectname=" + URLEncode(projTitle) + "&family=" + URLEncode(family)+ "&action=mv_list&changeparent=true&move_items="+selectedItems), 600, 530, "movepage");
						} else {
						// End - Added by Swarna - Move function
							openPopup(("change_parent.jsp?projectname=" + URLEncode(projTitle) +   "&action=mv_list&changeparent=true&move_items="+selectedItems), 600, 530, "movepage");
						}
					}
			}
			else
			{
				alert(generalMsgLocalizer.getMessage("wiki_selectItem", msgargs));
			}
		}
		else
		{
			alert(generalMsgLocalizer.getMessage("wiki_selectOneOption"));
		}
	}

	function moveProjectName( mprojname, mpagetitle, action )
	{
		if(action=="mv_list")
		{
			document.listform.mvproject.value = mprojname;
			document.listform.mvpage.value	  = mpagetitle;
			if(document.getElementById("queryobject")!= null)
			{
				document.getElementById("queryobject").value="";
			}
			document.listform.submit();
		}
	}

	function createTableOfContents(showdiv,tocId,divborderwidth,divborderstyle,divbordercolor,divbgcolor,shownumbering,showheader,showanchor)
	{
		var style="";
		if(typeof divbgcolor == "undefined" || divbgcolor == "")
		{
		   divbgcolor="#f9f9f9";
		}
		if(typeof showheader == "undefined" || showheader == "")
		{
			showheader="no";
		}

		if(typeof showanchor == "undefined" || showanchor == "")
		{
			showanchor="no";
		}
		
		if(trim(showdiv.toLowerCase()) == "yes")
		{
			if(typeof divborderwidth == "undefined" || divborderwidth == "")
			{
			   divborderwidth="1px";
			}
			if(typeof divborderstyle == "undefined" || divborderstyle == "")
			{
			   divborderstyle="solid";
			}
			if(typeof divbordercolor == "undefined" || divbordercolor == "")
			{
			   divbordercolor="#CCCCCC";
			}
			if(typeof divbgcolor == "undefined" || divbgcolor == "")
			{
			   divbgcolor="#f9f9f9";
			}
			style="border: "+divborderwidth+" "+divborderstyle+" "+divbordercolor+";padding: 5px;font-size: 80%;background: "+divbgcolor+";"
		}
		
		document.write("<div id="+tocId+" style=\""+style+"\" class=toc></div>");
		var obj = new Object();
		obj.tocid = tocId;
		obj.shownumbering = shownumbering;
		obj.showheader = showheader;
		obj.showanchor = showanchor;

		arrayofTocs[arrayofTocs.length]=obj;
	}

	function updateProjectNameBox()
	{
		var chkBox = document.getElementById("chk_updprojname");
		if(chkBox.checked)
		{
			document.getElementById("updateproject_pname").disabled = false;
		}
		else
		{
			document.getElementById("updateproject_pname").value = document.getElementById("actprojname").value; 
			document.getElementById("updateproject_pname").disabled = true;
		}
	}

	function validatePageField(projectName,id,pageNumber)
	{
		var val = document.getElementById("usergopage").value;
		if(et_g_isWhitespace(val))
		{
			alert(generalMsgLocalizer.getMessage("wiki_enterNumericValue"));
			return;
		}
		var a= et_g_isNonZeroInteger(val);
		if(!a)
		{
			alert(generalMsgLocalizer.getMessage("wiki_enterNumericValue"));
			return;
		}
		
		if( (parseInt(val,10) <= 0 ) || (parseInt(val,10) > parseInt(pageNumber,10)) )
		{
			var msgargs = [pageNumber];
			alert(generalMsgLocalizer.getMessage("wiki_invalidPageNumber", msgargs));
			return;
		}
		createForums(projectName,id,val);
	}

	function createForums(projectName,id,pageNumber,sortColumn,sortOrder)
	{
		if( wAjax != null)
		{
			return;
		}
		var projTitle = getProjectTitle();
		if(projectName == "null")
			projectName = projTitle;
		wAjax = new WikiAjax();
		wAjax.setMethodTOPOST();
		var forumResponseHandler = new ForumResponseHandler(id,sortColumn,sortOrder);
		wAjax.setCallback(forumResponseHandler.process);
		
		var methodName = "getForumsListing";
		var params = new Array();
		params[0] = new Object();
		params[0].type = "String";
		params[0].value = projectName;
		params[1] = new Object();
		params[1].type = "String";
		params[1].value = pageNumber;
		params[2] = new Object();
		params[2].type = "String";
		params[2].value = id;
		params[3] = new Object();
		params[3].type = "String";
		params[3].value = sortColumn;
		params[4] = new Object();
		params[4].type = "String";
		params[4].value = sortOrder;
		params[5] = new Object();
		params[5].type = "httprequest";
		params[5].value = "";
		var req = createRequest(createManagerMethod(methodName, params));
		wAjax.addField("reqdata", req);
		wAjax.send();
		
	}

	function ForumResponseHandler(id,sortColumn,sortOrder)
	{
		this.id = id;
		this.process = process;
		this.sortColumn = sortColumn;
		this.sortOrder = sortOrder;

		function process( responseDOM, errorMessage, responseText )
		{
			if(errorMessage == null)
			{
				var obj = parseResponse(responseDOM);
				if(obj == null)
				{
					alert("Response is not well formed.");
				}
				else
				{
					if(obj.statusCode == "200")
					{
						 document.getElementById(id).innerHTML = obj.output;
						 var col;
						 if(sortColumn == "title")
						 {
							col = document.getElementById("title");
							
						 }
						 else if(sortColumn == "modifiedBy")
						 {
							 col = document.getElementById("modifiedBy");
						 }
						 else if(sortColumn == "totalComments")
						 {
							 col = document.getElementById("totalComments");
						 }
						 else if(sortColumn == "lastCommentDt")
						 {
							 col = document.getElementById("lastCommentDt");
						 }
						 else if(sortColumn == "lastCommentBy")
						 {
							 col = document.getElementById("lastCommentBy");
						 }
						  else
						 {
							 col = document.getElementById("lastCommentDt");
						 }

						 var img = document.createElement("img");
						 if(sortOrder == "ASC")
						 {
							img.setAttribute("src",appendImagePath("operation/16x16/arrow_up.gif"));
						 }
						 else
						 {
							 img.setAttribute("src",appendImagePath("operation/16x16/arrow_down.gif"));
						 }
						 img.setAttribute("align","absmiddle");
						 col.appendChild(img)	;
					}
					else
					{
						alert( "["+ obj.statusMessage + "] " + obj.output );
					}
				}
			}
			
		}
	}

	function validateTicketPageField(projectName,id,pageNumber)
	{
		var val = document.getElementById("usergopage").value;
		if(et_g_isWhitespace(val))
		{
			alert(generalMsgLocalizer.getMessage("wiki_enterNumericValue"));
			return;
		}
		var a= et_g_isNonZeroInteger(val);
		if(!a)
		{
			alert(generalMsgLocalizer.getMessage("wiki_enterNumericValue"));
			return;
		}
		
		if( (parseInt(val) <= 0 ) || (parseInt(val) > parseInt(pageNumber)) )
		{
			var msgargs = [pageNumber];
			alert(generalMsgLocalizer.getMessage("wiki_invalidPageNumber", msgargs));
			return;
		}
		createTickets(projectName,id,val);
	}

	function createTickets(projectName,id,pageNumber,sortColumn,sortOrder)
	{
		if( wAjax != null)
		{
			return;
		}
		var projTitle = getProjectTitle();
		if(projectName == "null")
			projectName = projTitle;
		wAjax = new WikiAjax();
		wAjax.setMethodTOPOST();
		var ticketResponseHandler = new TicketResponseHandler(id,sortColumn,sortOrder);
		wAjax.setCallback(ticketResponseHandler.process);
		
		var methodName = "getTicketsListing";
		var params = new Array();
		var params = new Array();
		params[0] = new Object();
		params[0].type = "String";
		params[0].value = projectName;
		params[1] = new Object();
		params[1].type = "String";
		params[1].value = pageNumber;
		params[2] = new Object();
		params[2].type = "String";
		params[2].value = id;
		params[3] = new Object();
		params[3].type = "String";
		params[3].value = sortColumn;
		params[4] = new Object();
		params[4].type = "String";
		params[4].value = sortOrder;
		params[5] = new Object();
		params[5].type = "httprequest";
		params[5].value = "";
		var req = createRequest(createManagerMethod(methodName, params));
		wAjax.addField("reqdata", req);
		wAjax.send();
	}

	function TicketResponseHandler( id,sortColumn,sortOrder)
	{
		this.id = id;
		this.process = process;
		this.sortColumn = sortColumn;
		this.sortOrder = sortOrder;
		
		function process( responseDOM, errorMessage, responseText )
		{
			
			if(errorMessage == null)
			{
				var obj = parseResponse(responseDOM);
				if(obj == null)
				{
					alert("Response is not well formed.");
				}
				else
				{
					if(obj.statusCode == "200")
					{
						 document.getElementById(id).innerHTML = obj.output;
						  var col;
						 if(sortColumn == "title")
						 {
							col = document.getElementById("title");
							
						 }
						 else if(sortColumn == "modifiedBy")
						 {
							 col = document.getElementById("modifiedBy");
						 }
						 else if(sortColumn == "lastCommentDt")
						 {
							 col = document.getElementById("lastCommentDt");
						 }
						 else if(sortColumn == "lastCommentBy")
						 {
							 col = document.getElementById("lastCommentBy");
						 }
						 else if(sortColumn == "documentId")
						 {
							 col = document.getElementById("documentId");
						 }
						 else
						 {
							 col = document.getElementById("lastCommentDt");
						 }

						 var img = document.createElement("img");
						 if(sortOrder == "ASC")
						 {
							img.setAttribute("src",appendImagePath("operation/16x16/arrow_up.gif"));
						 }
						 else
						 {
							 img.setAttribute("src",appendImagePath("operation/16x16/arrow_down.gif"));
						 }
						 img.setAttribute("align","absmiddle");
						 col.appendChild(img)	;
						
					}
					else
					{
						alert( "["+ obj.statusMessage + "] " + obj.output );
					}
				}
			}
			
		}
	}	
	function createNewPage(projName, pTitle)
	{
		window.location.href=appendPath("editpage.jsp?projectname=") + URLEncode(projName) + "&e_page=" + URLEncode(pTitle);
	}

	function dashBoardExport()
	{
		openPopup(appendPath("exporthtml.jsp?projectname=")+URLEncode(document.getElementById("projectname").value), 350, 100, "exporthtml", null);
	}

	function exportProjAsPdf()
	{
		window.location.href=appendPath("projecthome.jsp?projectname=")+URLEncode(document.getElementById("projectname").value)+"&flag=exportpdf";
	}


	function startDashBoardExport(projectName)
	{
		openPopup(appendPath("exporthtml.jsp?projectname=")+URLEncode(projectName)+"&start=true", 350, 100, "exporthtml", null);
	}

	function downloadhtmlzip(zippath)
	{
		
		openPopup(appendPath("exporthtml.jsp?filepath=")+URLEncode(zippath)+"&start=true", 350, 100, "exporthtml", null);
	}
	function reIndexSamepage()
	{
		openPopup(appendPath("reindexsamepage.jsp"), 350, 100, "reindexsamepage", null);
	}

	function startReIndexSamepage()
	{
		openPopup(appendPath("reindexsamepage.jsp?start=true"), 350, 100, "reindexsamepage", null);
	}
	function rePublishSamepage()
	{
		openPopup(appendPath("republishsamepage.jsp"), 350, 100, "republishsamepage", null);
	}

	function startRePublishSamepage()
	{
		openPopup(appendPath("republishsamepage.jsp?start=true"), 350, 100, "republishsamepage", null);
	}

	function projectExport()
	{
		openPopup(appendPath("export.jsp?projectname=")+URLEncode(document.getElementById("projectname").value), 350, 100, "export", null);
	}

	function startProjectExport(projectName)
	{
		openPopup(appendPath("export.jsp?projectname=")+URLEncode(projectName)+"&start=true", 350, 100, "export", null);
	}

	function downloadzip(zippath)
	{
		
		openPopup(appendPath("export.jsp?filepath=")+URLEncode(zippath)+"&start=true", 350, 100, "export", null);
	}
	function chkImpProj()
	{
		if(document.getElementById("chk_imp_proj").checked)
		{
				document.getElementById("imp_file").disabled = false;
				document.createproject.createproject_pdesc.disabled = true;
				document.createproject.gua_0.disabled = true;
				document.createproject.gua_23.disabled = true;
				document.createproject.gua_24.disabled = true;
				document.createproject.gua_26.disabled = true;
				document.createproject.gua_29.disabled = true;
				document.createproject.rua_0.disabled = true;
				document.createproject.rua_23.disabled = true;
				document.createproject.rua_24.disabled = true;
				document.createproject.rua_26.disabled = true;
				document.createproject.rua_29.disabled = true;
		}
		else
		{
			document.getElementById("imp_file").disabled = true;
			document.createproject.createproject_pdesc.disabled = false;
			
			document.createproject.gua_0.disabled = false;
			document.createproject.gua_23.disabled = false;
			document.createproject.gua_24.disabled = false;
			document.createproject.gua_26.disabled = false;
			document.createproject.gua_29.disabled = false;
			document.createproject.rua_0.disabled = false;
			document.createproject.rua_23.disabled = false;
			document.createproject.rua_24.disabled = false;
			document.createproject.rua_26.disabled = false;
			document.createproject.rua_29.disabled = false;
		}
	}

	function getAttachments(doc,projectName,title,pageId,family)
	{
		/*
		var img = doc.createElement("img");
		var br = doc.createElement("br");
		img.setAttribute("src", appendImagePath("other/progress_bar.gif"));
		var div = doc.getElementById("title_td_"+pageId);
		div.appendChild(br);
		div.appendChild(img);
		*/
		var attReader = new WikiAjax(false);
		attReader.setMethodTOPOST();
		var attResponseHandler = new AttachmentResponseHandler( doc, pageId );
		attReader.setCallback(attResponseHandler.process);
		
		var methodName = "getAJAXAttachments";
		
		var params = new Array();
		var index = 0;
		params[index] = new Object();
		params[index].type = "String";
		params[index].value = projectName;
		index++;
		
		params[index] = new Object();
		params[index].type = "long";
		params[index].value = family;
		index++;
		
		params[index] = new Object();
		params[index].type = "String";
		params[index].value = title;
		index++;
		
		var req = createRequest(createManagerMethod(methodName, params));
		attReader.addField("reqdata", req);
		
		attReader.send();
	}

	function AttachmentResponseHandler( doc,id )
	{
		this.id = id;
		this.doc = doc;
		this.process = process;

		function process(responseDOM, errorMessage)
		{
			if(errorMessage == null)
			{
				var obj = parseResponse(responseDOM);
				
				if(obj == null)
				{
					alert("Response is not well formed.");
				}
				else
				{
					if(obj.statusCode == "200")
					{
						var td = doc.getElementById("title_td_"+id);
						td.innerHTML =obj.output;
					}
					else
					{
						alert( "["+ obj.statusMessage + "] " + obj.output );
					}
				}
			}
		};
	}

	function showSplashForce()
	{
		setCookie("show_splash", "true");
		showSplash();
	}

	function hideSplash()
	{
		setCookie("show_splash", "false");
		document.getElementById("splash_screen").style.display="none";
		document.getElementById("splash_screen_show").style.display="";
	}

	function showSplash()
	{
		var euser		= 	sys_user;
		var aURL		=	ADMIN_PAGE_URL;
		try
		{
			var cURL = window.location.href;
			if( cURL.indexOf("index.jsp") != -1 && document.getElementById("splash_screen")!=null)
			{
				//if not hidden
				var show = getCookie("show_splash");
				if( show == null || show.length == 0 || show[0].value != "false" )
				{
					var domainURL = window.location.href;
					if( domainURL.indexOf("/") != -1 )
					{
						domainURL = domainURL.substring(0,domainURL.lastIndexOf("/")+1);
					}
					domainURL = escape(domainURL);
					
					var urlGuest 	= et_g_protoscheme+"://support.etouch.net/cm/wiki/Online%20Help.wiki/home/Getting%20Started%20-%20Guest.html?type=print&purl="+domainURL;
					var urlLoggedIn = et_g_protoscheme+"://support.etouch.net/cm/wiki/Online%20Help.wiki/home/Getting%20Started.html?type=print&purl="+domainURL;
					var urlAdmin 	= et_g_protoscheme+"://support.etouch.net/cm/wiki/Online%20Help.wiki/home/Getting%20Started%20-%20Administrators.html?type=print&purl="+domainURL;
					
					var ifrmurl = urlGuest;
					document.getElementById("splash_screen").style.display="";
					document.getElementById("splash_screen_show").style.display="none";
					
					centerSplash();	
					
					if(euser != 'guest')//non guest
					{
						ifrmurl = urlLoggedIn; 
						//document.getElementById("splash_screen_start").style.display="";
						if(aURL != "")//admin of domain
						{
							ifrmurl = urlAdmin;
							//document.getElementById("splash_screen_dom").style.display="";
						}
					}
					document.getElementById("ifrm_splash").src = ifrmurl;
					//document.getElementById("splash_screen_learn").style.display="";
				}
				else
				{
					document.getElementById("splash_screen_show").style.display="";
				}
			}
		}
		catch(serr){}
	}

	function centerSplash()
	{
		window.scroll(0, 128);
		var divid = "splash_screen";
		var IpopTop = (document.body.clientHeight - document.getElementById(divid).offsetHeight) / 2;
		var IpopLeft = (document.body.clientWidth - document.getElementById(divid).offsetWidth) / 2;
		document.getElementById(divid).style.left=IpopLeft + document.body.scrollLeft;
		document.getElementById(divid).style.top="130px"//IpopTop + document.body.scrollTop;
		document.getElementById(divid).style.display = "block";				
	}

	function setSpelledData(data)
	{
	  wys_editor.setHTML(data);
	}

	function bulkUpload()
	{
		if( bulkPopWindow != null )
		{
			try
			{
				bulkPopWindow.focus();
			}
			catch(err){}
			return;
		}
		var projTitle = getProjectTitle();
		var pageTitle = getPageTitle();
		var family = "18";
		if(getPageType() == "Page")
		{
		   family="18";
		}
		else if(getPageType() == "News")
		{
			family="19";
		}
		else if(getPageType() == "Thread")
		{
			family="20";
		}
		else if(getPageType() == "Issue")
		{
			family="21";
		
		}
		if(pageTitle != null && projTitle != null)
		{
			var url = appendPath("bulkupload.jsp?projectname=") + URLEncode(projTitle) + "&title="+URLEncode(pageTitle)+"&family=" + family;
			var w = 780;
			var h = 520;
			var windowX = (screen.width-w)/2;
			var windowY = (screen.height-h)/2;
			var strWindowFeatures = 'menubar=no,location=no,toolbar=no,directories=no,scrollbars=yes,status=no,resizable=yes,' +'width='+w+',height='+h+',left='+windowX+',top='+windowY+'screenX='+windowX+',screenY='+windowY;
			bulkPopWindow = window.open(url, "bulkupload", strWindowFeatures);
			if( bulkPopWindow != null )
			{
				bulkPopWindow.focus();
				bulkPopTimer = setInterval(onBulkPopClose,500);
			}
			else
			{
				alert(MSG_POPUP_BLOCK);
			}
		}
	}

	function onBulkPopClose()
	{
		try
		{
			if( bulkPopWindow && bulkPopWindow!=null && bulkPopWindow.closed )
			{
				window.clearInterval(bulkPopTimer);
				bulkPopWindow = null;
				bulkPopTimer = null;
				saveFile();
			}
		}
		catch(err)
		{
			try
			{
				window.clearInterval(bulkPopTimer);
			}catch(err){}
			bulkPopWindow = null;
			bulkPopTimer = null;
		}
	}

	function openImportPage(projectName, folderPath)
	{
		openPopup(appendPath("import.jsp?newproject=")+URLEncode(projectName)+"&unzipfolderpath="+folderPath, 350, 100, "import", null);
			
	}

	function startImport(projectName, folderPath)
	{
		openPopup(appendPath("import.jsp?newproject=")+URLEncode(projectName)+"&unzipfolderpath="+folderPath+"&start=true", 350, 100, "import", null);
	}


	function getNextTr(elem)
	{
		if(elem.nodeName != "TR")
		{
			while(elem && elem.nodeName != "TR")
			{
				elem = elem.parentNode;
			}
		}
		if(elem && elem.nodeName == "TR")
		{
			elem = elem.nextSibling;
			while(elem && elem.nodeName != "TR")
			{
				elem = elem.nextSibling;
			}
		}
		return elem;
	}

	function getPrevTr(elem)
	{
		if(elem.nodeName != "TR")
		{
			while(elem && elem.nodeName != "TR")
			{
				elem = elem.parentNode;
			}
		}
		if(elem && elem.nodeName == "TR")
		{
			elem = elem.previousSibling;
			while(elem && elem.nodeName != "TR")
			{
				elem = elem.previousSibling;
			}
		}
		return elem;
	}

	function getNextTd(elem)
	{
		try
		{
			if(elem.nodeName != "TD")
			{
				while(elem && elem.nodeName != "TD")
				{
					elem = elem.parentNode;
				}
			}
			if(elem && elem.nodeName == "TD")
			{
				var e1 = elem;
				elem = elem.nextSibling;
				while(elem && elem.nodeName != "TD")
				{
					elem = elem.nextSibling;
				}
				if(!elem || elem.nodeName != "TD")
				{
					//go to next row
					var tr = getNextTr(e1);
					if(tr)
					{
						elem = getFirstTd(tr);
					}
				}
			}
			return elem;
		}
		catch(err){}
	}

	function getPrevTd(elem)
	{
		try
		{
			if(elem.nodeName != "TD")
			{
				while(elem && elem.nodeName != "TD")
				{
					elem = elem.parentNode;
				}
			}
			if(elem && elem.nodeName == "TD")
			{
				var e1 = elem;
				elem = elem.previousSibling;
				while(elem && elem.nodeName != "TD")
				{
					elem = elem.nextSibling;
				}
				if(!elem)
				{
					//go to next row
					var tr = getPrevTr(e1);
					if(tr)
					{
						return getLastTd(tr);
					}
				}
			}
			return elem;
		}
		catch(err){}
	}

	function getFirstTd(tr)
	{
		try
		{
			if(tr && tr.nodeName == "TR")
			{
				var elem = tr.firstChild;
				while(elem && elem.nodeName != "TD")
				{
					elem = elem.nextSibling;
				}
				return elem;
			}
		}
		catch(err){}
	}

	function getLastTd(tr)
	{
		try
		{
			if(tr && tr.nodeName == "TR")
			{
				var elem = tr.firstChild;
				var td ;
				while(elem)
				{
					if(elem.nodeName == "TD")
					{
						td = elem;
					}
					elem = elem.nextSibling;
				}
				return td;
			}
		}
		catch(err){}
	}
	function objKeyDown(e, elem, keyCode, funcName)
	{
		try
		{
			if(window.event)
				e = window.event;
			elem = e.target||e.srcElement;
			var cancel = false;
			if(elem)
			{
				var pressedKey = e.keyCode;
	//			alert(pressedKey + elem.nodeName + elem.focus);
				if(pressedKey == keyCode) 
				{
					var fPtr;
					try
					{
						fPtr = eval(funcName);
					}catch(err){}
					if(fPtr)
					{
						fPtr(e, elem, keyCode);
					}
					cancel = true;
				}
				if(cancel)
				{
					e.cancelBubble = true;
					e.returnValue = false;
					if (e.stopPropagation) 
						e.stopPropagation();
				}
				return (!cancel);
			}
		}
		catch(err){}
	}

	function trKeyDown(e, elem, keyCode, funcName)
	{
		try
		{
			if(window.event)
				e = window.event;
			elem = e.target||e.srcElement;
			var cancel = false;
			if(elem)
			{
				var pressedKey = e.keyCode;
	//			alert(pressedKey + elem.nodeName + elem.focus);
				if(pressedKey == 13) //Enter
				{
					if(keyCode && keyCode == 13 && funcName)
					{
						var fPtr;
						try
						{
							fPtr = eval(funcName);
						}catch(err){}
						if(fPtr)
						{
							fPtr(e, elem, keyCode);
						}
						cancel = true;
					}
				}
				else if(pressedKey == 40) //Down 
				{
					//set focus on next row
					elem = getNextTr(elem);
					if(elem && elem.nodeName == "TR" && elem.focus)
					{
						elem.focus();
					}
					cancel = true;
				}
				else if(pressedKey == 38) //Up
				{
					elem = getPrevTr(elem);
					if(elem && elem.nodeName == "TR" && elem.focus)
					{
						elem.focus();
					}
					cancel = true;
				}
				if(cancel)
				{
					e.cancelBubble = true;
					e.returnValue = false;
					if (e.stopPropagation) 
						e.stopPropagation();
				}
				return (!cancel);
			}
		}
		catch(err){alert(err)}
	}

	function nextAdded(totalGreen)
	{
		var next = currentGreen+1;
		if(next <= totalGreen)
		{
			currentGreen = next;
			window.location.href="#added"+next;
		}
	}

	function previousAdded(totalGreen)
	{
		var previous = currentGreen-1;
		if(previous >= 1 )
		{
			currentGreen = previous;
			window.location.href="#added"+previous;
		}
	}

	function nextDeleted(totalRed)
	{
		var next = currentRed+1;
		if(next <= totalRed)
		{
			currentRed = next;
			window.location.href="#deleted"+next;
		}
	}

	function previousDeleted(totalRed)
	{
		var previous = currentRed-1;
		if(previous >= 1 )
		{
			currentRed = previous;
			window.location.href="#deleted"+previous;
		}
	}

	function nextChanged(totalBlue)
	{
		var next = currentBlue+1;
		if(next <= totalBlue)
		{
			currentBlue = next;
			window.location.href="#changed"+next;
		}
	}

	function previousChanged(totalBlue)
	{
		var previous = currentBlue-1;
		if(previous >= 1 )
		{
			currentBlue = previous;
			window.location.href="#changed"+previous;
		}
	}

	/**
	* Function called from hidden text menu
	* to submit the login form
	*/
	function submitLogin(param)
	{
		if (document.hidden_menu_form)
		{
			if (param == 'login')
			{
				document.getElementById("loginOrPwdHelp").value='login';
			}
			else if (param == 'pwdHlp')
			{
				document.getElementById("loginOrPwdHelp").value='pH';
			}
			document.hidden_menu_form.submit();
		}
	}
	
	function acceptComment(projectName)
	{
		var chkflag = validateCheckboxArray(document.inbox.checkselect);
		if (chkflag == "false")
		{	
			alert(generalMsgLocalizer.getMessage("comments_selection"));
			return false;
		}
		if(confirm(generalMsgLocalizer.getMessage("wiki_sureAcceptComment")))
		{
			document.inbox.actions.value="accept";
			if(projectName)
				document.inbox.action="inbox.jsp?projectname="+projectName;
			else
				document.inbox.action="inbox.jsp";
			document.inbox.submit();
		}
	}

	function rejectComment(projectName)
	{
		var chkflag = validateCheckboxArray(document.inbox.checkselect);
		if (chkflag == "false")
		{	
			alert(generalMsgLocalizer.getMessage("comments_selection"));
			return false;
		}
		 if(confirm(generalMsgLocalizer.getMessage("wiki_sureRejectComment")))
		 {
			document.inbox.actions.value="reject";
			if(projectName)
					document.inbox.action="inbox.jsp?projectname="+projectName;
				else
					document.inbox.action="inbox.jsp";
			document.inbox.submit();
		 }
	}

	function acceptIndexComment(projectName)
	{
		var chkflag = validateCheckboxArray(document.index_pending_comments.checkselect);
		if (chkflag == "false")
		{	
			alert(generalMsgLocalizer.getMessage("comments_selection"));
			return false;
		}
		if(confirm(generalMsgLocalizer.getMessage("wiki_sureAcceptComment")))
		{
			document.index_pending_comments.actions.value="accept";
			document.index_pending_comments.submit();
		}
	}

	function rejectIndexComment(projectName)
	{
		var chkflag = validateCheckboxArray(document.index_pending_comments.checkselect);
		if (chkflag == "false")
		{	
			alert(generalMsgLocalizer.getMessage("comments_selection"));
			return false;
		}
		 if(confirm(generalMsgLocalizer.getMessage("wiki_sureRejectComment")))
		 {
			document.index_pending_comments.actions.value="reject";
			document.index_pending_comments.submit();
		 }
	}

	function acceptCommentFromDetails(projectName)
	{
		if(confirm(generalMsgLocalizer.getMessage("wiki_acceptThisComment")))
		{
			document.commentdetails.actions.value="accept";
			document.commentdetails.submit();
		}
	}

	function rejectCommentFromDetails(projectName)
	{
	 if(confirm(generalMsgLocalizer.getMessage("wiki_rejectThisComment")))
	 {
		document.commentdetails.actions.value="reject";
		document.commentdetails.submit();
	 }
	}

	function selectAllCheckBox(){
		if(document.getElementById("selectall").checked)
		{
			for(var i=0; i<	document.forms[0].elements.length;i++){
				if(document.forms[0].elements[i].type == "checkbox" && document.forms[0].elements[i].id != "allprojects" && document.forms[0].elements[i].id != "remme"){
					document.forms[0].elements[i].checked = true;
				}
			}
		}
		else
		{
			for(var i=0; i<	document.forms[0].elements.length;i++){
				if(document.forms[0].elements[i].type == "checkbox" && document.forms[0].elements[i].id != "allprojects" && document.forms[0].elements[i].id != "remme"){
					document.forms[0].elements[i].checked = false;
				}
			}
		}
	}

	function changeinboxlist()
	{
		if(document.getElementById("allprojects").checked)
		{
			var url = appendPath("inbox.jsp?pname=") + URLEncode(document.getElementById("pname").value);		
		}
		else
		{
		   var projTitle = getProjectTitle();
		   var url = appendPath("inbox.jsp?projectname=") + URLEncode(document.getElementById("pname").value)+"&pname="+URLEncode(document.getElementById("pname").value);
		}
		window.location.href=url;
	}

	function confirmDelete()
	{
		var elem;
		var selectedItems;
		for ( var i=0; i < document.listform.length; i++)
		{
			elem = document.listform.elements[i];
			if( elem.name && elem.name.indexOf("list_del") != -1 
					&& elem.checked)
			{
				if(selectedItems==null)
				{
					selectedItems = elem.value;
				}
				else
				{
					selectedItems += '~' + elem.value;
				}
			}
		 }
		
		if(typeof selectedItems =="undefined")
		{
			alert(generalMsgLocalizer.getMessage("wiki_selectItemToDel"));
			return false;

		}
		else
		{
			window.location.href=appendPath("confirmdelete.jsp?pageids=")+selectedItems+"&projectname="+URLEncode(getProjectTitle())+"&ltype="+document.getElementById("listtype").value;		
		}
	}

	function confirmDeleteFavorite()
	{
		document.favoriteform.action="favoritelist.jsp?action=delete";
		document.favoriteform.submit();
	}

	function confirmDeleteWatches()
	{
		document.watchlistform.action="watchlist.jsp?action=delete";
		document.watchlistform.submit();
	}

	function confirmDeleteFromEdit()
	{
		var family="18";
		if(getPageType() == "Page")
		{
		   family="18";
		}
		else if(getPageType() == "News")
		{
			family="19";
		}
		else if(getPageType() == "Thread")
		{
			family="20";
		}
		else if(getPageType() == "Issue")
		{
			family="21";
		
		}
		var projTitle = getProjectTitle();
		var pageTitle = getPageTitle();
		if(pageTitle == "home")
		{
			alert(generalMsgLocalizer.getMessage("wiki_homeNotDelete"));
			return;
		}
		window.location.href=appendPath("confirmdelete.jsp?pagetitle=")+URLEncode(pageTitle)+"&projectname="+URLEncode(getProjectTitle())+"&family="+family;
	}

	function cancelDeletePage(opt)
	{
		window.location.href=appendPath("pagelisting.jsp")+"?listtype="+document.getElementById("ltype").value+"&projectname="+URLEncode(getProjectTitle());
	}

	function deleteSelectedPages()
	{
	   document.getElementById("flag").value="delete";
	   document.confirmdelete.submit();
	}

	var imgExtns = new Array("gif", "jpg", "jpeg", "bmp", "png", 
						"tif", "tiff", "jpe", "mac", "pbm", 
						"pct", "pgm", "pic", "pict", "pnm", 
						"pnt", "ppm", "psd", "qti", "qtif", 
						"rgb", "xbm","xpm", "xwd", "wbmp");

	function isImage(fileName)
	{
		extn = fileName.substring(fileName.lastIndexOf(".")+1);
		for (i in imgExtns)
		{
			if (extn == imgExtns[i])
				return true;
		}
		return false;
	}

	function addToFavorites(uri,pageid,alias,folderid,user,projid)
	{
		wiki_uri = uri;
		wiki_alias = alias;
		wiki_pageid = pageid;
		wiki_user = user;
		wiki_projid = projid;
		if( wAjax != null)
		{
			return;
		}
		wAjax = new WikiAjax();
		wAjax.setMethodTOPOST();
		wAjax.setCallback(afterAddingFavorites);
		var methodName = "createWikiBookmark";
		var params = new Array();
		params[0] = new Object();
		params[0].type = "long";
		params[0].value = folderid;
		params[1] = new Object();
		params[1].type = "String";
		params[1].value = uri;
		params[2] = new Object();
		params[2].type = "String";
		params[2].value = alias;
		params[3] = new Object();
		params[3].type = "long";
		params[3].value = pageid;
		params[4] = new Object();
		params[4].type = "long";
		params[4].value = projid;
		params[5] = new Object();
		params[5].type = "long";
		params[5].value = 10;
		params[6] = new Object();
		params[6].type = "String";
		params[6].value = user;
		var req = createRequest(createManagerMethod(methodName, params));
		wAjax.addField("reqdata", req);
		wAjax.send();
		
	}

	function afterAddingFavorites(responseDOM, errorMessage)
	{
		if(errorMessage == null)
		{
			var obj = parseResponse(responseDOM);
			if(obj == null)
			{
				alert(generalMsgLocalizer.getMessage("response_not_well"));
			}
			else
			{
				if(obj.statusCode == "200")
				{
					if(obj.output +"" != "0")
					{
						var favoritediv =document.getElementById("favorite_div"); 
						var text = "<a id=\"a_favorite\" title=\""+ generalMsgLocalizer.getMessage("title_remove_from_fav") + 
												"\" href=\"#\" onClick=\"javaScript:removeFromFavorites('"+wiki_uri+"'," + wiki_pageid +",'"+ 
												escape(wiki_alias)+"',120,'"+wiki_user+"',"+obj.output+",'"+wiki_projid + 
												"')\"><img id=\"img_favorite\" alt=\"\" src=\"" + getAppPath() + 
												"/images/ix_ap_all/16x16/star_yellow_delete.png\" border=\"0\" align=\"absmiddle\" hspace=\"1\"></a>";
						favoritediv.innerHTML = text;
						/*
						if(is_ie)
						{
										/// refresh page....
							favoritediv.innerHTML = text;
							//window.location.reload();
						}
						else
						{
							var img = document.getElementById("img_favorite");
							img.setAttribute("src",getAppPath() +"/images/ix_ap_all/16x16/star_yellow_delete.png") ;
							img.src=getAppPath() +"/images/ix_ap_all/16x16/star_yellow_delete.png";
							var link = document.getElementById("a_favorite");
							var href="javaScript:removeFromFavorites('"+wiki_uri+"',"+wiki_pageid+",'"+wiki_alias+"',120,'"+wiki_user+"',"+obj.output+",'"+wiki_projid+"')";
							link.setAttribute("onclick",href);
							link.setAttribute("title","Remove this page from favorites list");
							link.setAttribute("alt","Remove this page from favorites list");
							var ladd =  document.getElementById("l_favorite");
							ladd.innerHTML="&nbsp;Remove From Favorites";
						}
						*/
					}
					else
					{
						alert(generalMsgLocalizer.getMessage("err_add_fav"));
					}
				}
				else
				{
					alert(generalMsgLocalizer.getMessage("err_add_fav"));
				}
			}
		}
	}

	function removeFromFavorites(uri,pageid,alias,folderid,user,bookmarkid,projid)
	{
		wiki_uri = uri;
		wiki_alias = alias;
		wiki_pageid = pageid;
		wiki_user = user;
		wiki_projid = projid;
		if( wAjax != null)
		{
			return;
		}
		wAjax = new WikiAjax();
		wAjax.setMethodTOPOST();
		wAjax.setCallback(afterRemovingFavorite);
		var methodName = "deleteWikiBookmark";
		var params = new Array();
		params[0] = new Object();
		params[0].type = "long";
		params[0].value = bookmarkid;
		params[1] = new Object();
		params[1].type = "long";
		params[1].value = folderid;
		params[2] = new Object();
		params[2].type = "String";
		params[2].value = uri;
		params[3] = new Object();
		params[3].type = "String";
		params[3].value = alias;
		params[4] = new Object();
		params[4].type = "long";
		params[4].value = pageid;
		params[5] = new Object();
		params[5].type = "long";
		params[5].value = projid;
		params[6] = new Object();
		params[6].type = "String";
		params[6].value = user;
		var req = createRequest(createManagerMethod(methodName, params));
		wAjax.addField("reqdata", req);
		wAjax.send();
	}

	function afterRemovingFavorite(responseDOM, errorMessage)
	{
		if(errorMessage == null)
		{
			var obj = parseResponse(responseDOM);
			var favoritediv =document.getElementById("favorite_div"); 
			var text = "<a id=\"a_favorite\" title=\"" + generalMsgLocalizer.getMessage("title_add_to_fav") + 
						"\" href=\"#\" onClick=\"javaScript:addToFavorites('"+wiki_uri+"',"+wiki_pageid+",'" + 
						escape(wiki_alias)+"',120,'"+wiki_user+"','"+wiki_projid + 
						"')\"><img id=\"img_favorite\" alt=\"\" src=\""+getAppPath() + 
						"/images/ix_ap_all/16x16/star_grey_add.png\" border=\"0\" align=\"absmiddle\" " +
						"hspace=\"1\"></a>";
			favoritediv.innerHTML = text;
		}
	}

	function openFavoriteRSS()
	{
		var url="favoritelist.jsp?action=rss";
		openPopup(url, 850, 600, "rss", 'menubar=no,location=yes,toolbar=no,directories=no,scrollbars=yes,status=no,resizable=yes,');
	}

	function reorderFavorite()
	{
		var url="favoritelist.jsp?action=reorder";
		window.location.href=url;
		//openPopup(url, 850, 600, "rss", 'menubar=no,location=yes,toolbar=no,directories=no,scrollbars=yes,status=no,resizable=yes,');
	}

	function saveReorderFavorite(fbox)
	{
		for(var j=0; j<fbox.options.length; j++)  {
			fbox.options[j].selected=true;
		}
		document.favoriteform.action="favoritelist.jsp?action=save";
		document.favoriteform.submit();
	}

/*
function moveFavoriteDown(fbox){
   if(fbox.options.selectedIndex == -1){
		showDialog(1401);
		return;
	}
	if (fbox.options.length > 0 && fbox.options.selectedIndex < fbox.options.length-1) {
		var selectedItemIndex = fbox.options.selectedIndex;
		var temp = new Option();
		temp.text=fbox.options[selectedItemIndex+1].text
		temp.value=fbox.options[selectedItemIndex+1].value
		fbox.options[selectedItemIndex+1].text=fbox.options[selectedItemIndex].text
		fbox.options[selectedItemIndex+1].value=fbox.options[selectedItemIndex].value
		fbox.options[selectedItemIndex].text=temp.text
		fbox.options[selectedItemIndex].value=temp.value
		fbox.options.selectedIndex = selectedItemIndex+1
	}
}

function moveFavoriteUp(fbox){
	if(fbox.options.selectedIndex == -1){
		showDialog(1402);
		return;
	}
	if (fbox.options.length > 0 && fbox.options.selectedIndex != 0) {
		var selectedItemIndex = fbox.options.selectedIndex;
		var temp = new Option();
		temp.text=fbox.options[selectedItemIndex-1].text
		temp.value=fbox.options[selectedItemIndex-1].value
		fbox.options[selectedItemIndex-1].text=fbox.options[selectedItemIndex].text
		fbox.options[selectedItemIndex-1].value=fbox.options[selectedItemIndex].value
		fbox.options[selectedItemIndex].text=temp.text
		fbox.options[selectedItemIndex].value=temp.value
		fbox.options.selectedIndex = selectedItemIndex-1
	}
}
*/
	function moveFavoriteUp(obj) { 
		obj = (typeof obj == "string") ? document.getElementById(obj) : obj;
		if (obj.tagName.toLowerCase() != "select" && obj.length < 2)
			return false;
		var sel = new Array();
		for (var i=0; i<obj.length; i++) {
			if (obj[i].selected == true) {
				sel[sel.length] = i;
			}
		}
		for (i in sel) {
			if (sel[i] != 0 && !obj[sel[i]-1].selected) {
				var tmp = new Array((document.body.innerHTML ? obj[sel[i]-1].innerHTML : obj[sel[i]-1].text), obj[sel[i]-1].value);
				if (document.body.innerHTML) obj[sel[i]-1].innerHTML = obj[sel[i]].innerHTML;
				else obj[sel[i]-1].text = obj[sel[i]].text;
				obj[sel[i]-1].value = obj[sel[i]].value;
				if (document.body.innerHTML) obj[sel[i]].innerHTML = tmp[0];
				else obj[sel[i]].text = tmp[0];
				obj[sel[i]].value = tmp[1];
				obj[sel[i]-1].selected = true;
				obj[sel[i]].selected = false;
			}
		}
	}

	function moveFavoriteDown(obj) {
		obj = (typeof obj == "string") ? document.getElementById(obj) : obj;
		if (obj.tagName.toLowerCase() != "select" && obj.length < 2)
			return false;
		var sel = new Array();
		for (var i=obj.length-1; i>-1; i--) {
			if (obj[i].selected == true) {
				sel[sel.length] = i;
			}
		}
		for (i in sel) {
			if (sel[i] != obj.length-1 && !obj[sel[i]+1].selected) {
				var tmp = new Array((document.body.innerHTML ? obj[sel[i]+1].innerHTML : obj[sel[i]+1].text), obj[sel[i]+1].value);
				if (document.body.innerHTML) obj[sel[i]+1].innerHTML = obj[sel[i]].innerHTML;
				else obj[sel[i]+1].text = obj[sel[i]].text;
				obj[sel[i]+1].value = obj[sel[i]].value;
				if (document.body.innerHTML) obj[sel[i]].innerHTML = tmp[0];
				else obj[sel[i]].text = tmp[0];
				obj[sel[i]].value = tmp[1];
				obj[sel[i]+1].selected = true;
				obj[sel[i]].selected = false;
			}
		}
	}

	function openPageHierarchy()
	{
	   var projTitle = getProjectTitle();
	   var url = appendPath("pagehierarchy.jsp?projectname=") + URLEncode(projTitle);
	   window.location.href=url;
	}

	function openHierarchy(projTitle)
	{
	   var url = appendPath("pagehierarchy.jsp?projectname=") + URLEncode(projTitle);
	   window.location.href=url;
	}

	function tlb_copy()
	{
	   var projTitle = getProjectTitle();
	   var pageTitle = getPageTitle();
	   var pageType = getPageType();
	   var family="18";
		if(getPageType() == "Page")
		{
		   family="18";
		}
		else if(getPageType() == "News")
		{
			family="19";
		}
		else if(getPageType() == "Thread")
		{
			family="20";
		}
		else if(getPageType() == "Issue")
		{
			family="21";
		}
	   var callLoc = window.location.href;
	   if (callLoc.indexOf("copypage.jsp?cp=") == -1)
	   {
			callLoc = callLoc.substring(callLoc.indexOf("/cm"));
	   }
	   var url = appendPath("copypage.jsp?projectname=") + URLEncode(projTitle)+"&pagetitle="+URLEncode(pageTitle)+"&family="+family+"&cp="+URLEncode(callLoc);
	   window.location.href=url;
	}

	function submitCopy()
	{
		document.getElementById("action").value = "save";
		document.copypage.submit();	
	}

	function cancelCopy()
	{
		document.getElementById("action").value = "cancel";
		document.copypage.submit();	
	}

	function tlb_copyPageSelectParent(projTitle,pageTitle)
	{
		
		if(projTitle != null && pageTitle != null)
		{
			openPopup(("pagelisting_dialog.jsp?projectname=" + URLEncode(projTitle) + "&pagetitle="+URLEncode(pageTitle) + "&copypage=true"), 600, 530, "copypage");
		}
	}
	function chooseTemplate(projName)
	{
		if( et_g_isWhitespace(document.editpage.editpage_title.value) 
				/**&& !et_g_isWhitespace(document.editpage.editpage_topic.value)**/ )
		{
				alert(generalMsgLocalizer.getMessage("wikieditpage_emptytitle"));
				window.opener.document.editpage.editpage_title.focus();
				return false;
		}
		openPopup(("pagelisting_dialog.jsp?choosetemplate=true&projectname="+projName), 600, 530, "choosetemplate");
	}

	function chooseTemplateProject(projName)
	{
		document.getElementById("choosetemplate").value = "true";
		document.getElementById("projectname").value = "";
		document.listform.submit();
	}


	function savePageWithTemplate(pageTitle,projName)
	{
		if(fullScreenWin)
		{
			fullScreenWin.close();
		}
		if( !et_g_isWhitespace(window.opener.document.editpage.editpage_title.value) )
		{
			if(isValidPageName(window.opener.document.editpage.editpage_title.value))
			{
				try
				{

					window.opener.document.getElementById("wiki_text").value = "Test";
					window.opener.document.getElementById("editpage_submit").value="createwithtemplate";
					window.opener.document.getElementById("applytemplate").value="true";
					window.opener.document.getElementById("templateprojname").value=projName;
					window.opener.document.getElementById("templatepagetitle").value=pageTitle;
				}catch(err){alert(err)}
				if(confirm(generalMsgLocalizer.getMessage("template_choose_msg")))
				{
					window.opener.document.editpage.submit();
					window.close();
				}
				else
				{
					if(window.opener.page_id != "")
					{
						window.opener.document.getElementById("editpage_submit").value="";	
					}
					else
					{
						window.opener.document.getElementById("editpage_submit").value="Create";
					}
					
					window.opener.document.getElementById("applytemplate").value="false";
					window.opener.document.getElementById("templateprojname").value="";
					window.opener.document.getElementById("templatepagetitle").value="";
				}
				
			}
			else
			{
				var ags = [getPageType];
				alert(generalMsgLocalizer.getMessage("name_has_illegal_chars"));
				return false;
			}
		}
		else
		{
			if( et_g_isWhitespace(window.opener.document.editpage.editpage_title.value)) 
			{
				alert(generalMsgLocalizer.getMessage("enter_title"));
				window.opener.document.editpage.editpage_title.focus();
				return false;
			}
			/**else
			{
				alert("Please enter the topic.");
				document.editpage.editpage_topic.focus();
				return false;
			}**/
		}
		return false;		
	}

	function tlb_newTemplate()
	{
		var projTitle = getProjectTitle();
		var pageTitle = getPageTitle();
		if( projTitle != null )
		{
			if(document.editpage && document.editpage.pop)
			{
				var width = getWindowWidth();
				openPopup((appendPath("editpage.jsp?pop=true&projectname=") + URLEncode(projTitle)+"&family=18&template=true&parentpage="+URLEncode((pageTitle==null?"":pageTitle))), width, 700, "newtemplate");
			}
			else
			{
				window.location.href=appendPath("editpage.jsp?projectname=") + URLEncode(projTitle)+"&family=18&template=true&parentpage="+URLEncode((pageTitle==null?"":pageTitle));
			}
		}
		else
		{
			alert(space+ generalMsgLocalizer.getMessage("no_info"));
		}
	}

	function submitIssuesList()
	{
		var val = document.getElementById("selectbugid").value;
		var projname = document.getElementById("projectname").value;
		var actionurl = "issuelisting.jsp?projectname="+projname+"&action=filter";
		var a= et_g_isNonZeroInteger(val);
		if(!a)
		{
			alert(generalMsgLocalizer.getMessage("numeric_id_msg"));
			document.getElementById("selectbugid").focus();
			return false;
		}

	  document.getElementById("sortedlist").value = "";
	  document.supportform.action=actionurl;
	  document.supportform.submit();
	}

	function openIncludePage(url)
	{
	  var width = getWindowWidth();
	  url += "&pop=true";
	  openPopup(url, width, 700, "openinclude");
	}

	function tlb_admin()
	{
		window.location.href=appendPath("administration.jsp");
	}

	function openDomainAdmin()
	{
		window.location.href=appendPath("domainadministration.jsp");
	}

	function tlb_usr_grp_admin()
	{
		var width = getWindowWidth();
		window.location.href=appendPath("usergrpadmin.jsp");		
	}

	//BugID - 18388.. Moved and enhanced func below from wiki_reg.js to here
	function validateInviteUserForm()
	{
		try
		{
			var message1 = '' ;
			var malformedEMailList = '';
			var emailList = document.invite.emailList.value ;
			if(trim(emailList) == '')
				message1 += 'Email is empty \n' ;

			var arEmails = emailList.split(",");
			for(var i=0; i<arEmails.length; i++)
			{
				if(!et_g_isWhitespace(arEmails[i]))
				{
					if(!isEmailAddr(arEmails[i]))
					{
						if(malformedEMailList != '')
						{
							malformedEMailList = malformedEMailList + ',' + arEmails[i];
						}
						else
						{
							malformedEMailList = arEmails[i];
						}
					}
				}
			}
		}
		catch(err){
			document.invite.emailList.focus();
			alert(err);
			return false;
		}
		
		if(malformedEMailList != '')
		{
			message1 = "Following e-mail addresses are not valid: " + malformedEMailList + '\n';
		}
		
		
		if(message1 != '')
		{
			document.invite.emailList.focus();
			alert(message1) ;
			return false ;
		}
		return true ;
	}

	function exportIssuesList()
	{
		if (document.getElementById('exportType'))
		{
			document.getElementById('exportType').value="csv";
			submitIssuesList();
			document.getElementById('exportType').value="";
		}
	}

	function getI18N(i18n, str) {
	  return (i18n[str] || str);
	};



	function setUserProjPermission(elem)
	{
		if (elem && elem.id)
		{
		   var elemId = elem.id;
		   //alert("trace 1 "+elemId);
		   var hvar = null;
		   var uid = null;
		   if(elemId.indexOf("perm_img_mem_")==0)
		   {
				uid = elemId.substring(13);
				hvar = document.getElementById('perm_val_mem_'+uid);
				//alert(hvar.value);
				//hvar.value = (hvar.value == 0) ? 1 : 0; 
		   }
		   else if(elemId.indexOf("perm_img_ro_")==0)
		   {
				uid = elemId.substring(12);
				hvar = document.getElementById('perm_val_ro_'+uid);
				//alert(hvar.value);
				//hvar.value= (hvar.value == 0 ? 1 : 0); 
		   }
		   else if(elemId.indexOf("perm_img_adm_")==0)
		   {
				uid = elemId.substring(13);
				hvar = document.getElementById('perm_val_adm_'+uid);
				//alert(hvar.value);
				//hvar.value= (hvar.value == 0 ? 1 : 0);
		   }
		   else if(elemId.indexOf("perm_img_nonmem_")==0)
		   {
				uid = elemId.substring(16);
				hvar = document.getElementById('perm_val_nonmem_'+uid);
				//alert(hvar.value);
				//hvar.value= (hvar.value == 0 ? 1 : 0);
		   }
		   
		   if (hvar && uid)
		   {
			 hvar.value = 1;
			 elem.firstChild.src = permImgs[hvar.value];
			 elem.firstChild.title = permGrantedTip;
			 clearAllButThis(elemId, uid);
		   }
				  
		}
	}


	function clearAllButThis(elemId, uid)
	{
		var memImgElem = document.getElementById('perm_img_mem_'+uid);
		var roImgElem = document.getElementById('perm_img_ro_'+uid);
		var admImgElem = document.getElementById('perm_img_adm_'+uid);
		var nonmemImgElem = document.getElementById('perm_img_nonmem_'+uid);
		
		var memElem = document.getElementById('perm_val_mem_'+uid);
		var roElem = document.getElementById('perm_val_ro_'+uid);
		var admElem = document.getElementById('perm_val_adm_'+uid);
		var nonmemElem = document.getElementById('perm_val_nonmem_'+uid);
		
		if (memImgElem.id != elemId) 
		{
			memElem.value = 0;
			memImgElem.firstChild.src = permImgs[0];
			memImgElem.firstChild.title = permDeniedTip;
		}
		if (roImgElem.id != elemId) 
		{
			roElem.value = 0;
			roImgElem.firstChild.src = permImgs[0];
			roImgElem.firstChild.title = permDeniedTip;
		}
		if (admImgElem.id != elemId) 
		{
			admElem.value = 0;
			admImgElem.firstChild.src = permImgs[0];
			admImgElem.firstChild.title = permDeniedTip;
		}
		if (nonmemImgElem.id != elemId) 
		{
			nonmemElem.value = 0;
			nonmemImgElem.firstChild.src = permImgs[0];
			nonmemImgElem.firstChild.title = permDeniedTip;
		}
			
	}

	function saveGlobalUsers()
	{
		document.usrgrps.savesubmit.value="true";
		document.usrgrps.submit();	
	}

	function setGlobalRole(elem)
	{
		if (elem && elem.id)
		{
		   var elemId = elem.id;
		   //alert(elemId);
		   var suhvar = null;
		   var pchvar = null;
		   var domvar = null;
		   var uid = null;
		   if(elemId.indexOf("su_icon_")==0)
		   {
				uid = elemId.substring(8);
				suhvar = document.getElementById('perm_spa_'+uid);
				suhvar.value = (suhvar.value == 0) ? 1 : 0;
				elem.firstChild.src = permImgs[suhvar.value];
				if (suhvar.value == 1)
					elem.firstChild.title = permGrantedTip;
				else
					elem.firstChild.title = permDeniedTip;
					
				if (suhvar.value == 1)
				{
					pchvar = document.getElementById('perm_pcr_'+uid);
					if (pchvar)
					{
						pchvar.value = 2;
						pcElem = document.getElementById('pc_icon_'+uid);
						pcElem.firstChild.src = permImgs[pchvar.value];            	
						pcElem.firstChild.title = "";
					}
				}
				else
				{
					pchvar = document.getElementById('perm_pcr_'+uid);
					if (pchvar)
					{
						var initVal = document.getElementById('perm_init_'+uid).value;
						pchvar.value = 0;
						pcElem = document.getElementById('pc_icon_'+uid);
						pcElem.firstChild.src = permImgs[pchvar.value];
						pcElem.firstChild.title = permDeniedTip;          	            	
					}
				} 
				
		   }
		   else if(elemId.indexOf("pc_icon_")==0)
		   {
				uid = elemId.substring(8);
				pchvar = document.getElementById('perm_pcr_'+uid);
				suhvar = document.getElementById('perm_spa_'+uid);
				if (pchvar.value != 2 && ( !suhvar || suhvar.value != 1))
				{
					pchvar.value = (pchvar.value ==0)? 1 : 0;
					elem.firstChild.src = permImgs[pchvar.value];
					if (pchvar.value == 1)
						elem.firstChild.title = permGrantedTip;
					else
						elem.firstChild.title = permDeniedTip;
				}
		   }
		   else if(elemId.indexOf("da_icon_")==0)
		   {
				uid = elemId.substring(8);
				domvar = document.getElementById('perm_da_'+uid);
				suhvar = document.getElementById('perm_spa_'+uid);
				if (domvar.value != 2 && ( !suhvar || suhvar.value != 1))
				{
					domvar.value = (domvar.value ==0)? 1 : 0;
					elem.firstChild.src = permImgs[domvar.value];
					if (domvar.value == 1)
						elem.firstChild.title = permGrantedTip;
					else
						elem.firstChild.title = permDeniedTip;
				}
		   }
		}	
	}

	function setRegReportSelection(elem)
	{
		if (elem && elem.id)
		{
		   var elemId = elem.id;
		   var suhvar = null;
		   var pchvar = null;
		   var uid = null;
		if(elemId.indexOf("pc_group_icon_")==0)
			   {
				uid = elemId.substring(14);
				pchvar = document.getElementById('perm_group_pcr_'+uid);
				suhvar = document.getElementById('perm_spa_'+uid);
				if (pchvar.value != 2 && ( !suhvar || suhvar.value != 1))
				{
					pchvar.value = (pchvar.value ==0)? 1 : 0;
				elem.firstChild.src = permImgs[pchvar.value];
				if (pchvar.value == 1)
					elem.firstChild.title = permGrantedTip;
				else
					elem.firstChild.title = permDeniedTip;
				}
			   }
			}	
	}

	function sortRegCol(colName)
	{
		var formObj;
		formObj = document.registrationreport;

		if (formObj)
		{
			if(formObj.sortcol.value==colName)
			{
				if(formObj.sortorder.value=="a")
				{
					formObj.sortorder.value="d";
				}
				else
				{
					formObj.sortorder.value="a";
				}
			}
			else
			{
				formObj.sortorder.value="a";
				formObj.sortcol.value=colName;
			}
			formObj.flag.value="search";
			formObj.submit();
		}
	}

	function deleteRegRows()
	{
		document.registrationreport.flag.value="deleteregrows";
		document.registrationreport.submit();		
	}

	function searchUserGroups()
	{
		document.usrgrps.queryobject.value="";
		document.usrgrps.submit();	
	}


	function resetUserGroups()
	{
		document.usrgrps.s_fname.value="";
		document.usrgrps.s_userid.value="";
		document.usrgrps.s_lname.value="";
		document.usrgrps.s_email.value="";
	}

	function showProjMemeberPicker(pElemId, projName)
	{
		var upUrl = appendPath("userpicker.jsp?fv=pm&peid="+pElemId+"&pn="+projName);
		openPopup(upUrl , 565, 400, "userpicker");
	}

	function showRegUsersPicker(pElemId)
	{
		var upUrl = appendPath("userpicker.jsp?fv=advsearch&peid="+pElemId);
		openPopup(upUrl , 565, 400, "userpicker");
	}

	function setUserPickerValue(parentElemId, val)
	{
		if (window.opener)
		{
			if (window.opener.document.getElementById(parentElemId))
			{
				window.opener.document.getElementById(parentElemId).value = val;
			}
		}
		window.close();
	}

	function showDropListData(divId, selId, textId)
	{
		var dlDiv = document.getElementById(divId);
		var selElem = document.getElementById(selId);
		var w = document.getElementById(textId).offsetWidth;
		selElem.style.width=w;
		selElem.style.display="block";
		dlDiv.style.display="block";
		selElem.focus();
	}

	function hideDropListOnFocusOut(elem, contDivId)
	{
		elem.style.display="none";
		elem.selectedIndex=-1;
		document.getElementById(contDivId).style.display="none";
	}

	function trapDropListEnterKey(event, dlElem, txtElemId)
	{
		if (window.event)
		{
			event = window.event;
		}
		if (event.keyCode == 13)
		{
			var selValue = dlElem.options[dlElem.selectedIndex].value;
			setSelValueInText(txtElemId, selValue);
		}
		dlElem.prevkey=event.keyCode;
	}

	function setSelectedValue(event, dlElem, txtElemId)
	{
		if(dlElem.prevkey == undefined || dlElem.prevkey == 0)
		{
			var selValue = dlElem.options[dlElem.selectedIndex].value;
			setSelValueInText(txtElemId, selValue);
		}
		dlElem.prevkey=0;	
	}

	function setSelValueInText(txtElemId, val)
	{
		txtElem = document.getElementById(txtElemId);
		if (txtElem && (val.trim() != ""))
		{
			if (val.indexOf("$~$") == -1)
			{
				txtElem.value = txtElem.value.trim()=="" ? 
					val : (txtElem.value.trim()+","+val);	
			}
			else
			{
				var grpName = val.substring(0, val.indexOf("$~$"));
				var grpid = val.substring( (val.indexOf("$~$")+"$~$".length) );
				if (document.emailpage)
				{
					var helem = document.emailpage.selectedgrpids;
					if(helem.value == "")
					{
						helem.value = val;
					}
					else if (helem.value.indexOf(grpid) == -1)
					{
						helem.value += "<<>>"+val;
					}
				}
				txtElem.value = txtElem.value.trim()=="" ? 
					grpName : (txtElem.value.trim()+","+grpName);			    
			}
		}	
	}

	function selectProfileTab(divid)
	{

		var updatable = document.getElementById('canupdate').value;
		if (divid == 'perDet')
		{
			document.getElementById('perDet').className="tab selected";
			document.getElementById('perSets').className="tab";
			document.getElementById('perDetPage').style.display="block";
			document.getElementById('perSetsPage').style.display="none";
			document.getElementById('curtab').value="0";
			if (updatable == "true")
			{
				document.getElementById('profile_update').style.display="inline";
			}
			else
			{
				document.getElementById('profile_update').style.display="none";
			}
			
		}
		else //perSets
		{
			document.getElementById('perDet').className="tab";
			document.getElementById('perSets').className="tab selected";
			document.getElementById('perDetPage').style.display="none";
			document.getElementById('perSetsPage').style.display="block";
			document.getElementById('curtab').value="1";
			document.getElementById('profile_update').style.display="inline";
		}
	}

	function selectGroupMembershipTab(divid)
	{

		var updatable = document.getElementById('canupdate').value;
		if (divid == 'userMemDet')
		{
			document.getElementById('userMemDet').className="tab selected";
			document.getElementById('grpMemDet').className="tab";
			document.getElementById('userMemPage').style.display="block";
			document.getElementById('groupMemPage').style.display="none";
			document.getElementById('curtab').value="0";
			/*
			if (updatable == "true")
			{
				document.getElementById('profile_update').style.display="inline";
			}
			else
			{
				document.getElementById('profile_update').style.display="none";
			}
			*/
		}
		else //grpMemDet
		{
			document.getElementById('userMemDet').className="tab";
			document.getElementById('grpMemDet').className="tab selected";
			document.getElementById('userMemPage').style.display="none";
			document.getElementById('groupMemPage').style.display="block";
			document.getElementById('curtab').value="1";
			//document.getElementById('profile_update').style.display="inline";
		}
	}

	/*
	 funcid 0 - for setting user/groups permission icons
			1 - for setting invitation icons
			2 - for setting global roles
	*/
	function togglePermImages(pattern, funcId)
	{

	 var elems = document.getElementsByTagName("A");
	   for ( var i=0; i < elems.length; i++)
		{
			var elem = elems[i];
			if( elem.id && elem.id.indexOf(pattern) != -1 )
			{
				if (funcId == 0)
				{
					setUserProjPermission(elem);
				}
				else if (funcId == 1)
				{
					toggleInvitation(elem);
				}
				else if (funcId == 2)
				{
					setGlobalRole(elem);				
				}
				else if (funcId == 3)
				{
					setUserSelection(elem);				
				}
				else if (funcId == 4)
				{
					setGroupSelection(elem);				
				}
			}
		}
	}


	function toggleInvitation(elem)
	{
		if(elem.id && elem.id.indexOf("chk_invitation_img_")==0)
		{
			var uid = elem.id.substring(19);
			var hvar = document.getElementById('chk_invitation_'+uid);
			hvar.value= (hvar.value == 0 ? 1 : 0);
			elem.firstChild.src = inviteImgs[hvar.value];
			var tt= [uid];
			elem.firstChild.title= (hvar.value == 0? generalMsgLocalizer.getMessage("invite_msg")+" "+uid : 
							generalMsgLocalizer.getMessage("invite_ready_msg", tt));
		}
	}

	function doAdvancedSearch(seperator)
	{
		var finalStr="";
		var scope="";
		var contenttype ="";
		var searchText = document.advancedsearch.searchtext.value;
		if(et_g_isWhitespace(searchText))
		{
			alert(generalMsgLocalizer.getMessage("advsearch_entertext"));
			return false;
		}
		finalStr = searchText;
		var searchType =	getCheckedValue(document.advancedsearch.searchtype); 
		finalStr = finalStr +URLEncode(seperator)+searchType ;
		var chkScopeAll =  document.advancedsearch.chk_all.checked;
		if(chkScopeAll)
			scope="all";
		else
			scope="no";
		var chkScopeContent =  document.advancedsearch.chk_content.checked;
		if(chkScopeContent)
			scope=scope+",content";
		else
			scope=scope+",no";
		var chkScopeTitle =  document.advancedsearch.chk_title.checked;
		if(chkScopeTitle)
			scope=scope+",pageDisplayTitle";
		else
			scope=scope+",no";
		var chkScopeDesc =  document.advancedsearch.chk_desc.checked;
		if(chkScopeDesc)
			scope=scope+",desc";
		else
			scope=scope+",no";
		var chkScopeTopic =  document.advancedsearch.chk_topic.checked;
		if(chkScopeTopic)
			scope=scope+",topic";
		else
			scope=scope+",no";
		
		var chkFilterTypeAll =  document.advancedsearch.chk_type_all.checked;
		if(chkFilterTypeAll)
			contenttype="all";
		else
			contenttype="no";
		
		var chkFilterTypePage =  document.advancedsearch.chk_type_page.checked;
		if(chkFilterTypePage)
			contenttype=contenttype+",18";
		else
			contenttype=contenttype+",no";

		var chkFilterTypeNews =  document.advancedsearch.chk_type_news.checked;
		if(chkFilterTypeNews)
			contenttype=contenttype+",19";
		else
			contenttype=contenttype+",no";

		var chkFilterTypeTicket =  document.advancedsearch.chk_type_tickets.checked;
		if(chkFilterTypeTicket)
			contenttype=contenttype+",21";
		else
			contenttype=contenttype+",no";

		var chkFilterTypeThread =  document.advancedsearch.chk_type_thread.checked;
		if(chkFilterTypeThread)
			contenttype=contenttype+",20";
		else
			contenttype=contenttype+",no";
		var chkFilterTypeAtt =  document.advancedsearch.chk_type_att.checked;
		if(chkFilterTypeAtt)
			contenttype=contenttype+",att";
		else
			contenttype=contenttype+",no";
		var project = document.advancedsearch.txt_project.value;
		if(project=="")
		{
			project = "/dummy/";
		}
		var modifiedon = document.advancedsearch.sel_modified.options[document.advancedsearch.sel_modified.options.selectedIndex].value;
		var modifiedby = document.advancedsearch.txt_modifiedby.value;
		finalStr = finalStr + URLEncode(seperator)+scope+ URLEncode(seperator)+contenttype+ URLEncode(seperator)+URLEncode(project)+ URLEncode(seperator)+modifiedon+ URLEncode(seperator)+modifiedby ;

		var url = appendPath("pagelisting.jsp?listtype=advsearch");
		url = url + "&advsearchtext=" + finalStr;
		var projTitle = getProjectTitle();
		if(projTitle != "")
		{
		  url = url+ "&projectname=" + URLEncode(projTitle);
		}
		window.location.href=url;
	}

	function gotToAdvSearch(searchtext)
	{
		var url = appendPath("advancedsearch.jsp");
		url = url + "?advsearchtext=" + searchtext;
		var projTitle = getProjectTitle();
		if(projTitle != "")
		{
		  url = url+ "&projectname=" + URLEncode(projTitle);
		}
		window.location.href=url;
	}

	function goToAdvSearchFromMenu()
	{
		var searchtext = document.getElementById("toolbox_search").value;
		var url = appendPath("advancedsearch.jsp");
		url = url + "?advsearchtext=" + searchtext;
		var projTitle = getProjectTitle();
		if(projTitle != "")
		{
		  url = url+ "&projectname=" + URLEncode(projTitle);
		}
		window.location.href=url;
	}


	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 tlb_chooseProject()
		{
			var projTitle = getProjectTitle();
		
				openPopup(("pagelisting_dialog.jsp?projectname=" + URLEncode(projTitle)+ "&chooseproject=true"), 600, 530, "chooseProject");
			
		}

	function selectProject(projectName,projectTitle)
	{
		window.opener.document.advancedsearch.txt_project.value=projectTitle;
		window.close();
			
	}

	function oncheckContentType(checktype)
	{

	   if(checktype.id == "chk_type_all")
	   {
		if(document.advancedsearch.chk_type_all.checked)
		{
			document.advancedsearch.chk_type_page.checked = false;
			document.advancedsearch.chk_type_news.checked = false;
			document.advancedsearch.chk_type_thread.checked = false;
			document.advancedsearch.chk_type_tickets.checked = false;
			document.advancedsearch.chk_type_att.checked = false;
		}
	   }
	   if(checktype.id == "chk_type_page")
	   {
		if(document.advancedsearch.chk_type_page.checked)
		{
			document.advancedsearch.chk_type_all.checked = false;
		}
	   }
	   if(checktype.id == "chk_type_news")
	   {
		if(document.advancedsearch.chk_type_news.checked)
		{
			document.advancedsearch.chk_type_all.checked = false;
			
		}
	   }
	   if(checktype.id == "chk_type_thread")
	   {
		if(document.advancedsearch.chk_type_thread.checked)
		{
			document.advancedsearch.chk_type_all.checked = false;
			
		}
	   }
	   if(checktype.id == "chk_type_tickets")
	   {
		if(document.advancedsearch.chk_type_tickets.checked)
		{
			document.advancedsearch.chk_type_all.checked = false;
			
		}
	   }
	   if(checktype.id == "chk_type_att")
	   {
		if(document.advancedsearch.chk_type_att.checked)
		{
			document.advancedsearch.chk_type_all.checked = false;
			
		}
	   }
	}

	function oncheckSearchScope(checktype)
	{
	   if(checktype.id == "chk_all")
	   {
		if(document.advancedsearch.chk_all.checked)
		{
			document.advancedsearch.chk_content.checked = false;
			document.advancedsearch.chk_topic.checked = false;
			document.advancedsearch.chk_desc.checked = false;
			document.advancedsearch.chk_title.checked = false;
			document.advancedsearch.chk_content.checked = false;

		}
	   }
	   if(checktype.id == "chk_content")
	   {
		if(document.advancedsearch.chk_content.checked)
		{
			document.advancedsearch.chk_all.checked = false;
		}
	   }
	   if(checktype.id == "chk_topic")
	   {
		if(document.advancedsearch.chk_topic.checked)
		{
			document.advancedsearch.chk_all.checked = false;
			
		}
	   }
	   if(checktype.id == "chk_desc")
	   {
		if(document.advancedsearch.chk_desc.checked)
		{
			document.advancedsearch.chk_all.checked = false;
			
		}
	   }
	   if(checktype.id == "chk_title")
	   {
		if(document.advancedsearch.chk_title.checked)
		{
			document.advancedsearch.chk_all.checked = false;
			
		}
	   }
		
	}

	function selectAllChecks(elem)
	{
		if (elem && elem.name == "groupAllselection")
		{
			var elems = document.getElementsByName("groupselection");
			for (var i=0; i<elems.length; i++)
			{
				if(elems[i].type == "checkbox")
				{
					elems[i].checked = !elems[i].checked;
				}		
			}
		}
		else if (elem && elem.name == "userAllselection")
		{
			var elems = document.getElementsByName("userselection");
			for (var i=0; i<elems.length; i++)
			{
				if(elems[i].type == "checkbox")
				{
					elems[i].checked = !elems[i].checked;
				}		
			}
		}
	}

	function openGroupPicker(groupid, groupname, grptype, grpsysid)
	{
		var tmp = "grouppicker.jsp?curgrpid=" + URLEncode(groupid) 
				+ "&curgrpname=" + URLEncode(groupname)
				+ "&curgrptype=" + grptype
				+ "&curgrpsysid=" + grpsysid;
		var gpUrl = appendPath(tmp);	
		openPopup(gpUrl, 685, 450, "grouppicker");
	}

	function openGroupMembers(groupid, groupname, grptype, grpsysid)
	{
		var tmp = "groupmemberslisting.jsp?curgrpid=" + URLEncode(groupid) 
				+ "&curgrpname=" + URLEncode(groupname)
				+ "&curgrptype=" + grptype
				+ "&curgrpsysid=" + grpsysid;
		window.location.href=appendPath(tmp);
	}

	function openGroupMembersInParentWindow(groupid, groupname, grptype, grpsysid, curtab)
	{
		var tmp = "groupmemberslisting.jsp?curgrpid=" + URLEncode(groupid) 
				+ "&curgrpname=" + URLEncode(groupname)
				+ "&curgrptype=" + grptype
				+ "&curgrpsysid=" + grpsysid
				+ "&curtab=" + curtab;
		window.opener.location.href = appendPath(tmp);
	}


	function submitSubGroups(groupid, groupname, grptype, grpsysid)
	{
		if (document.grppkr)
		{
			document.grppkr.curgrpid.value = groupid;
			document.grppkr.curgrpname.value = groupname;
			document.grppkr.curgrptype.value = grptype;
			document.grppkr.curgrpsysid.value = grpsysid;
			document.grppkr.submit();
		}
	}

	function sortGroupPicker(tableId, colName)
	{
		var formObj = document.grppkr;
		if (tableId == 'user')
		{
			if(formObj.usortcol.value==colName)
			{
				if(formObj.usortorder.value=="a")
				{
					formObj.usortorder.value="d";
				}
				else
				{
					formObj.usortorder.value="a";
				}
			}
			else
			{
				formObj.usortorder.value="a";
				formObj.usortcol.value=colName;
			}
		}
		else if (tableId == 'group')
		{
			if(formObj.gsortcol.value==colName)
			{
				if(formObj.gsortorder.value=="a")
				{
					formObj.gsortorder.value="d";
				}
				else
				{
					formObj.gsortorder.value="a";
				}
			}
			else
			{
				formObj.gsortorder.value="a";
				formObj.gsortcol.value=colName;
			}	
		}
		formObj.submit();	
	}

	function addToWatchlist(pageid,userid)
	{

		wiki_watch_user =userid;
		wiki_watch_pageid =pageid;
		if( wAjax != null)
		{
			return;
		}
		
		wAjax = new WikiAjax();
		wAjax.setMethodTOPOST();
		wAjax.setCallback(afterAddingToWatchList);
		var methodName = "insertPageSubscription";
		var params = new Array();
		params[0] = new Object();
		params[0].type = "long";
		params[0].value = pageid;
		params[1] = new Object();
		params[1].type = "String";
		params[1].value = userid;
		params[2] = new Object();
		params[2].type = "String";
		params[2].value = userid;
		params[3] = new Object();
		params[3].type = "String";
		params[3].value = "en_us";
		var req = createRequest(createManagerMethod(methodName, params));
		wAjax.addField("reqdata", req);
		wAjax.send();
		
	}

	function afterAddingToWatchList(responseDOM, errorMessage)
	{
		if(errorMessage == null)
		{
			var watchdiv =document.getElementById("watch_div"); 
			var text = "<a id=\"a_watchlist\" title=\""+ generalMsgLocalizer.getMessage("title_remove_from_watch_list") + 
								"\" href=\"#\" onClick=\"javaScript:removeFromWatchList("+wiki_watch_pageid+",'"+wiki_watch_user + 
								"')\"><img id=\"img_watch\"  src=\""+getAppPath()+"/images/operation/16x16/watch_remove.png\" " +
								"border=\"0\" align=\"absmiddle\" hspace=\"1\"></a>";
			watchdiv.innerHTML = text;
		}
	}

	function removeFromWatchList(pageid,userid)
	{
		wiki_watch_user =userid;
		wiki_watch_pageid =pageid;
		if( wAjax != null)
		{
			return;
		}
		
		wAjax = new WikiAjax();
		wAjax.setMethodTOPOST();
		wAjax.setCallback(afterRemovingFromWatchList);
		var methodName = "deletePageSubscription";
		var params = new Array();
		params[0] = new Object();
		params[0].type = "long";
		params[0].value = pageid;
		params[1] = new Object();
		params[1].type = "String";
		params[1].value = userid;
		params[2] = new Object();
		params[2].type = "String";
		params[2].value = userid;
		params[3] = new Object();
		params[3].type = "String";
		params[3].value = "en_us";
		var req = createRequest(createManagerMethod(methodName, params));
		wAjax.addField("reqdata", req);
		wAjax.send();
		
	}

	function afterRemovingFromWatchList(responseDOM, errorMessage)
	{
		if(errorMessage == null)
		{
			var obj = parseResponse(responseDOM);
			var watchdiv =document.getElementById("watch_div"); 
			var text = "<a id=\"a_watchlist\" title=\"" + generalMsgLocalizer.getMessage("title_add_to_watch_list") +
						 "\" href=\"#\" onClick=\"javaScript:addToWatchlist("+wiki_watch_pageid+",'"+wiki_watch_user+
						 "')\"><img id=\"img_watch\" src=\""+getAppPath()+"/images/operation/16x16/watch_add.png\" " +
						 "border=\"0\" align=\"absmiddle\" hspace=\"1\"></a>";
			watchdiv.innerHTML = text;
		}
	}


	function addToFavoriteProject(projid,user)
	{
		fav_user = user;
		fav_projid = projid;
		if( wAjax != null)
		{
			return;
		}
		
		wAjax = new WikiAjax();
		wAjax.setMethodTOPOST();
		wAjax.setCallback(afterAddingFavProject);
		var methodName = "createFavProject";
		var params = new Array();
		params[0] = new Object();
		params[0].type = "long";
		params[0].value = projid;
		params[1] = new Object();
		params[1].type = "String";
		params[1].value = user;
		
		var req = createRequest(createManagerMethod(methodName, params));
		wAjax.addField("reqdata", req);
		wAjax.send();
		
	}


	function afterAddingFavProject(responseDOM, errorMessage)
	{
		if(errorMessage == null)
		{
			var obj = parseResponse(responseDOM);
			if(obj == null)
			{
				alert("Response is not well formed.");
			}
			else
			{
				if(obj.statusCode == "200")
				{
					if(obj.output +"" != "0")
					{
						var favoritediv =document.getElementById("favorite_div_"+fav_projid); 
						
						var tx = [spaceLower];
					
						var text = "<a id=\"a_favorite_"+fav_projid+"\" title=\""+
								generalMsgLocalizer.getMessage("remove_proj_from_fav") + "\" href=\"#\" " +
								"onClick=\"javaScript:removeFromFavoriteProjects('"+fav_user+"',"+obj.output+",'"+fav_projid+
								"')\"><img id=\"img_favorite\" src=\""+getAppPath()+"/images/ix_ap_all/16x16/star_yellow.png\" " +
								"title=\""+ generalMsgLocalizer.getMessage("remove_proj_from_fav") +"\" border=\"0\" align=\"absmiddle\" hspace=\"1\"></a>";
							
						favoritediv.innerHTML = text;
						
					}
					else
					{
						alert(generalMsgLocalizer.getMessage("err_add_fav"));
					}
				}
				else
				{
					alert(generalMsgLocalizer.getMessage("err_add_fav"));
				}
			}
		}
	}

	function removeFromFavoriteProjects(user,bookmarkid,projid)
	{
		fav_user = user;
		fav_projid = projid;
		if( wAjax != null)
		{
			return;
		}
		wAjax = new WikiAjax();
		wAjax.setMethodTOPOST();
		wAjax.setCallback(afterRemovingFavoriteProject);
		var methodName = "deleteFavProject";
		var params = new Array();
		params[0] = new Object();
		params[0].type = "long";
		params[0].value = projid;
		params[1] = new Object();
		params[1].type = "String";
		params[1].value = user;
		var req = createRequest(createManagerMethod(methodName, params));
		wAjax.addField("reqdata", req);
		wAjax.send();
		
	}

	function afterRemovingFavoriteProject(responseDOM, errorMessage)
	{

		if(errorMessage == null)
		{
			var obj = parseResponse(responseDOM);
			var favoritediv =document.getElementById("favorite_div_"+fav_projid); 
			var text = "<a id=\"a_favorite_"+fav_projid+"\" title=\"" + 
					generalMsgLocalizer.getMessage("add_proj_to_fav")+"\" href=\"#\" " +
					"onClick=\"javaScript:addToFavoriteProject('"+fav_projid+"','"+fav_user + 
					"')\"><img id=\"img_favorite\" src=\""+getAppPath()+"/images/ix_ap_all/16x16/star_grey.png\" " +
					"border=\"0\" title=\""+ generalMsgLocalizer.getMessage("add_proj_to_fav") + 
					"\" align=\"absmiddle\" hspace=\"1\"></a>";
			favoritediv.innerHTML = text;
		}									   
	}

	function openUserDetails(userid)
	{
		var url = getAppPath()+"/wiki/userdetails.jsp?userid="+userid;
		openPopup(url , 550, 350, "personaldetails");
		
	}


	function createGroup()
	{
		var status=true;

		if(et_g_isWhitespace(document.creategroup.r_gname.value) ) 
		{
			alert(generalMsgLocalizer.getMessage("enter_grp_name"));
			document.creategroup.r_gname.focus();
			status= false;
		}

		if(status)
		{
			document.creategroup.processflag.value="create";
			document.creategroup.submit();
		}
	}

	function updateGroup()
	{
		var status=true;

		if(et_g_isWhitespace(document.creategroup.r_gname.value) ) 
		{
			alert(generalMsgLocalizer.getMessage("enter_grp_name"));
			document.creategroup.r_gname.focus();
			status= false;
		}

		if(status)
		{
			document.creategroup.editflag.value="doedit";
			document.creategroup.submit();
		}
	}


	function setUserSelection(elem)
	{
		if (elem && elem.id)
		{
		   var elemId = elem.id;
		   
		   
		   var suhvar = null;
		   var pchvar = null;
		   var uid = null;
		if(elemId.indexOf("pc_user_icon_")==0)
			   {

				uid = elemId.substring(13);

				pchvar = document.getElementById('perm_user_pcr_'+uid);
				suhvar = document.getElementById('perm_spa_'+uid);
				if (pchvar.value != 2 && ( !suhvar || suhvar.value != 1))
				{
					pchvar.value = (pchvar.value ==0)? 1 : 0;
				elem.firstChild.src = permImgs[pchvar.value];
				if (pchvar.value == 1)
					elem.firstChild.title = permGrantedTip;
				else
					elem.firstChild.title = permDeniedTip;
				}
			   }
			}	
	}

	function setGroupSelection(elem)
	{
		if (elem && elem.id)
		{
		   var elemId = elem.id;
		   var suhvar = null;
		   var pchvar = null;
		   var uid = null;
		if(elemId.indexOf("pc_group_icon_")==0)
			   {
				uid = elemId.substring(14);
				pchvar = document.getElementById('perm_group_pcr_'+uid);
				suhvar = document.getElementById('perm_spa_'+uid);
				if (pchvar.value != 2 && ( !suhvar || suhvar.value != 1))
				{
					pchvar.value = (pchvar.value ==0)? 1 : 0;
				elem.firstChild.src = permImgs[pchvar.value];
				if (pchvar.value == 1)
					elem.firstChild.title = permGrantedTip;
				else
					elem.firstChild.title = permDeniedTip;
				}
			   }
			}	
	}

	function openAddUserToGroup(groupid, groupname, grptype, grpsysid)
	{
		var tmp = "nodeselector.jsp?curgrpid=" + URLEncode(groupid) 
				+ "&curgrpname=" + URLEncode(groupname)
				+ "&curgrptype=" + grptype
				+ "&curgrpsysid=" + grpsysid
				+ "&curoptype=listnonmemberusers";
		var gpUrl = appendPath(tmp);	
		openPopup(gpUrl, 750, 540, "openAddUserToGroup");
	}

	function openAddSubGroupToGroup(groupid, groupname, grptype, grpsysid)
	{
		var tmp = "nodeselector.jsp?curgrpid=" + URLEncode(groupid) 
				+ "&curgrpname=" + URLEncode(groupname)
				+ "&curgrptype=" + grptype
				+ "&curgrpsysid=" + grpsysid
				+ "&curoptype=listnonmembersubgroups";  		
		var gpUrl = appendPath(tmp);	
		openPopup(gpUrl, 750, 450, "openAddSubGroupToGroup");
	}

	function openBrowseGroups()
	{
		var tmp = "nodeselector.jsp?curoptype=browsegroups";
		var gpUrl = appendPath(tmp);	
		openPopup(gpUrl, 750, 450, "openBrowseGroups");
	}

	function fetchChildren()
	{
	 
		var projTitle = getProjectTitle();
		var pageTitle = getPageTitle();
		if( wAjax != null)
		{
			return;
		}
		wAjax = new WikiAjax();
		wAjax.setMethodTOPOST();
		wAjax.setCallback(afterFetchingChildren);
		var methodName = "viewChildren";
		var params = new Array();
		params[0] = new Object();
		params[0].type = "String";
		params[0].value = projTitle;
		params[1] = new Object();
		params[1].type = "long";
		params[1].value = 18;
		params[2] = new Object();
		params[2].type = "String";
		params[2].value = pageTitle;
		
		var req = createRequest(createManagerMethod(methodName, params));
		wAjax.addField("reqdata", req);
		wAjax.send();
		
	}

	function afterFetchingChildren(responseDOM, errorMessage)
	{

		if(errorMessage == null)
		{
			var obj = parseResponse(responseDOM);
			if(obj == null)
			{
				alert(generalMsgLocalizer.getMessage("response_not_well"));
			}
			else
			{
				if(obj.statusCode == "200")
				{
					var childrendiv =document.getElementById("children"); 
					
					childrendiv.innerHTML = obj.output;
					
				}
				else
				{
					alert(generalMsgLocalizer.getMessage("err_fetching_children"));
				}
			}
		}
	}

	function hideChildren()
	{
		var projTitle = getProjectTitle();
		var pageTitle = getPageTitle();
		if( wAjax != null)
		{
			return;
		}
		wAjax = new WikiAjax();
		wAjax.setMethodTOPOST();
		wAjax.setCallback(afterHidingChildren);
		var methodName = "hideChildren";
		var params = new Array();
		params[0] = new Object();
		params[0].type = "String";
		params[0].value = projTitle;
		params[1] = new Object();
		params[1].type = "long";
		params[1].value = 18;
		params[2] = new Object();
		params[2].type = "String";
		params[2].value = pageTitle;
		
		var req = createRequest(createManagerMethod(methodName, params));
		wAjax.addField("reqdata", req);
		wAjax.send();
		
	}

	function afterHidingChildren(responseDOM, errorMessage)
	{

		if(errorMessage == null)
		{
			var obj = parseResponse(responseDOM);
			if(obj == null)
			{
				alert(generalMsgLocalizer.getMessage("response_not_well"));
			}
			else
			{
				if(obj.statusCode == "200")
				{
					var childrendiv =document.getElementById("children"); 
					
					childrendiv.innerHTML = obj.output;
					
				}
				else
				{
					alert(generalMsgLocalizer.getMessage("err_fetching_children"));
				}
			}
		}
	}

	//hack for IE single text 
	//field forms submit.

	function checkProjChar(e)
	{
		var keynum = 0;
		if(window.event) // IE
		{
			keynum = e.keyCode
			if (keynum == 13)
			{
				return saveProj();
			}		
		}
	}

	function textCounter(field, countfield, maxlimit) 
	{
		if (field.value.length > maxlimit) // if too long...trim it!
			field.value = field.value.substring(0, maxlimit);
		// otherwise, update 'characters left' counter
		//else 
		//	countfield.value = maxlimit - field.value.length;
	}

	function test() 
	{
		alert("inside test");
	}

	function resetIssuesList()
	{
		document.supportform.selectbugid.value ="";
		document.supportform.selecttitle.value ="";
		document.supportform.selectcreatedby.value ="";
		document.supportform.choosestatus.value="0";
		document.supportform.chooseseverity.value="0";
		document.supportform.assignedto.value="";
		document.supportform.sortedlist.value = "";
	}

	function searchUserInAddMembership(e)
	{
		
		var keynum = 0;
		if(window.event) // IE
		{
			keynum = e.keyCode
			if (keynum == 13)
			{
				return searchGroupMembersUserList();
			}		
		}
	}

	function keyDownSearchGroupsList(e)
	{
		
		var keynum = 0;
		if(window.event) // IE
		{
			keynum = e.keyCode
			if (keynum == 13)
			{
				return searchGroupsList();
			}		
		}
	}

	function keyDownSearchGroupMembersUserList(e)
	{
		
		var keynum = 0;
		if(window.event) // IE
		{
			keynum = e.keyCode
			if (keynum == 13)
			{
				return searchGroupMembersUserList();
			}		
		}
	}

	function openForTag(tag)
	{
		window.location.href=appendPath("pagelisting.jsp?projectname=") + URLEncode(getProjectTitle()) + "&letter=" + tag+"&listtype=topic";
	}

	function openTagList()
	{
		window.location.href=appendPath("pagelisting.jsp?projectname=") + URLEncode(getProjectTitle()) + "&listtype=topic";
	}

	function showEditTag()
	{
		
		var ele = document.getElementById("edittags");
		//inittagvalue =  document.getElementById("id_edit_tag").value;
		ele.className = "edittagvisible" ;
		ele.setAttribute("class","edittagvisible") ;
	}

	function hideEditTags()
	{
		//document.getElementById("id_edit_tag").value=inittagvalue;
		var ele = document.getElementById("edittags");
		ele.className = "edittaginvisible" ;
		ele.setAttribute("class","edittaginvisible") ;
	}

	function saveTags()
	{
	
		var family = "18";
		if(getPageType() == "Page")
		{
		   family="18";
		}
		else if(getPageType() == "News")
		{
			family="19";
		}
		else if(getPageType() == "Thread")
		{
			family="20";
		}
		else if(getPageType() == "Issue")
		{
			family="21";
		
		}
		
		if( wAjax != null)
		{
			return;
		}
		wAjax = new WikiAjax();
		wAjax.setMethodTOPOST();
		var projTitle = getProjectTitle();
		var pageTitle = getPageTitle();
		wAjax.setCallback(afterAddingTag);
		var methodName = "saveWikiPageTags";
		var params = new Array();
		params[0] = new Object();
		params[0].type = "String";
		params[0].value = projTitle;
		params[1] = new Object();
		params[1].type = "String";
		params[1].value = pageTitle;
		params[2] = new Object();
		params[2].type = "long";
		params[2].value = family;
		params[3] = new Object();
		params[3].type = "String";
		params[3].value = document.getElementById("id_edit_tag").value;
		params[4] = new Object();
		params[4].type = "boolean";
		params[4].value = "true";
		var req = createRequest(createManagerMethod(methodName, params));
		wAjax.addField("reqdata", req);
		wAjax.send();
	}

	function afterAddingTag(responseDOM, errorMessage)
	{
		
		if(errorMessage == null)
		{
			var obj = parseResponse(responseDOM);
			if(obj == null)
			{
				alert(generalMsgLocalizer.getMessage("response_not_well"));
			}
			else
			{
				if(obj.statusCode == "200")
				{
					var output = obj.output;
					var tagwithoutlink = output.substring(0,output.indexOf("|__|"));
					var tagwithlink = output.substring(output.indexOf("|__|")+4,output.length);
					
					if(tagwithoutlink == "null")
						tagwithoutlink = "";
					document.getElementById("id_edit_tag").value=tagwithoutlink;
					document.getElementById("viewtags").innerHTML=tagwithlink;
					hideEditTags();
				}
				else
				{
					alert( "["+ obj.statusMessage + "] " + obj.output );
				}
			}
		}
		else if(errorMessage.indexOf("invalidinputerror") > -1)
		{
			alert(generalMsgLocalizer.getMessage("xss_inputerror"));
		}
		renameOnPreview = false;		
	}

	function compareWithToday(selectDt)
	{
		var state = false;
		var dt = createDate(selectDt);

		var today = new Date();
		mm = today.getMonth();
		dd = today.getDate();
		y = today.getFullYear();
		today = new Date(y,mm,dd);
		
		if ( dt.getTime() < today.getTime())
			state = true;
		return state;
	}

	function createDate(d)
	{
		var mm = eval(d.substring(0, d.indexOf("/"))-1);
		var dd = d.substring(3, d.lastIndexOf("/"));
		var y = d.substring(6);
		var dt = new Date(y,mm,dd);
		return dt;
	}

	function submitAlert()
	{
		var flag = true;	
		if ( et_g_isWhitespace(document.frmalert.a_title.value))
			{
				alert(generalMsgLocalizer.getMessage("alertcreate_title"));
				document.frmalert.a_title.focus();
				return false;
			}

		if( document.getElementById("a_startDt_dt") != null && document.getElementById("a_startDt_dt").checked )
			{	
				if( et_g_isWhitespace(document.frmalert.alertStDate.value))
				{	
					alert(generalMsgLocalizer.getMessage("alertcreate_spactivedate"));
					document.frmalert.alertStDate.focus();
					return false;
				}
				else if( !et_g_isWhitespace(document.frmalert.alertStDate.value))
				{	

					var state = compareWithToday(document.frmalert.alertStDate.value);
					if ( state == true)
					{
						alert(generalMsgLocalizer.getMessage("alertcreate_validactivedate"));
						document.frmalert.alertStDate.focus();
						return false;
					}
					
				}
				else { flag = true; }
			}

		if( document.getElementById("a_endDt_dt") != null && document.getElementById("a_endDt_dt").checked )
			{	
				if( et_g_isWhitespace(document.frmalert.alertEndDate.value))
				{ 
					alert(generalMsgLocalizer.getMessage("alertcreate_spexpirydate"));
					document.frmalert.alertEndDate.focus();
					return false;
				}
				else if( !et_g_isWhitespace(document.frmalert.alertEndDate.value))
				{	
					var state = compareWithToday(document.frmalert.alertEndDate.value);
					if ( state == true)
					{
						alert(generalMsgLocalizer.getMessage("alertcreate_validexpirydate"));
						document.frmalert.alertEndDate.focus();
						return false;
					}
					
				}
				else { flag = true; }
			}

		if( document.getElementById("a_startDt_dt").checked && document.getElementById("shr") != null )
		{	
			var shr = document.frmalert.shr.value; 
			if ( !shr.match(/^\d+$/) )
			{
				alert(generalMsgLocalizer.getMessage("alertcreate_digitactivehr"));
				document.frmalert.shr.focus();
				return false;
			}
			if( shr < 0 || shr > 23)
			{ 
				alert(generalMsgLocalizer.getMessage("alertcreate_activehr"));
				document.frmalert.shr.focus();
				return false;
			}
			else { flag = true; }
		}
		
		if( document.getElementById("a_startDt_dt").checked && document.getElementById("smin") != null )
		{	
			var smin = document.frmalert.smin.value; 
			if ( !smin.match(/^\d+$/) )
			{
				alert(generalMsgLocalizer.getMessage("alertcreate_digitactivemin"));
				document.frmalert.smin.focus();
				return false;
			}
			if( smin < 0 || smin > 59)
			{ 
				alert(generalMsgLocalizer.getMessage("alertcreate_activemin"));
				document.frmalert.smin.focus();
				return false;
			}
			else { flag = true; }
		}

		if( document.getElementById("a_endDt_dt").checked && document.getElementById("ehr") != null )
		{	
			var ehr = document.frmalert.ehr.value; 
			if ( !ehr.match(/^\d+$/) )
			{
				alert(generalMsgLocalizer.getMessage("alertcreate_digitexpirehr"));
				document.frmalert.ehr.focus();
				return false;
			}
			if( ehr < 0 || ehr > 23)
			{ 
				alert(generalMsgLocalizer.getMessage("alertcreate_expirehr"));
				document.frmalert.ehr.focus();
				return false;
			}
			else { flag = true; }
		}
		
		if( document.getElementById("a_endDt_dt").checked && document.getElementById("emin") != null )
		{	
			var emin = document.frmalert.emin.value; 
			if ( !emin.match(/^\d+$/) )
			{
				alert(generalMsgLocalizer.getMessage("alertcreate_digitexpiremin"));
				document.frmalert.emin.focus();
				return false;
			}
			if( emin < 0 || emin > 59)
			{ 
				alert(generalMsgLocalizer.getMessage("alertcreate_expiremin"));
				document.frmalert.emin.focus();
				return false;
			}
			else { flag = true; }
		}
		
		if( document.getElementById("alertStDate") != null && document.getElementById("a_startDt_dt").checked && document.getElementById("alertEndDate") != null && document.getElementById("a_endDt_dt").checked)
			{	
				if( !et_g_isWhitespace(document.frmalert.alertStDate.value) && !et_g_isWhitespace(document.frmalert.alertEndDate.value))
				{	
					var sd = createDate(document.frmalert.alertStDate.value);
					var ed = createDate(document.frmalert.alertEndDate.value);
					
					if ( ed.getTime() < sd.getTime())
					{
						alert(generalMsgLocalizer.getMessage("alertcreate_greateractivedt"));
						return false;
					}

					if (ed.getTime() == sd.getTime())
					{	
						if (document.getElementById("shr") != null && document.getElementById("smin") != null && document.getElementById("ehr") != null && document.getElementById("emin") != null)
						{
							var shr = document.getElementById("shr").value;
							var smin = document.getElementById("smin").value;
							var stime = ( Number(shr)*100 + Number(smin) );
							
							var ehr = document.getElementById("ehr").value;
							var emin = document.getElementById("emin").value;
							var etime = ( Number(ehr)*100 + Number(emin) );
							
							if ( etime <= stime)
							{
								alert(generalMsgLocalizer.getMessage("alertcreate_greateractivetime"));
								return false;
							}
							
						}
						
					}
					
				}
				else { flag = true; }
		}
		
		if( document.getElementById("a_startDt_now").checked && document.getElementById("alertEndDate") != null && document.getElementById("a_endDt_dt").checked)
			{	
				if( !et_g_isWhitespace(document.frmalert.alertEndDate.value) && document.getElementById("ehr") != null && document.getElementById("emin") != null)
				{	
					var d = document.frmalert.alertEndDate.value
					var mm = eval(d.substring(0, d.indexOf("/"))-1);
					var dd = d.substring(3, d.lastIndexOf("/"));
					var y = d.substring(6);
					var ehr = document.getElementById("ehr").value;
					var emin = document.getElementById("emin").value;
					var esec = "00";
					var dt = new Date(y,mm,dd,ehr,emin,esec);
										
					var today = new Date();
					if ( dt.getTime() < today.getTime())
					{
						alert(generalMsgLocalizer.getMessage("alertcreate_greateractivetime"));
						return false;
					}
			
				}
				else { flag = true; }
		}

		if (flag == true) return true;
		else return false;
	}

	function alertAction(action, id, title, localaction)
	{
		var args = [localaction, title]; 
		if(confirm(generalMsgLocalizer.getMessage("common_confirmaction", args))){
		  document.alertForm.aAction.value = action;
		  document.alertForm.aid.value = id;
		  document.alertForm.submit();
		}
	}

	function alertDelete(id, title)
	{
		var args = [title]; 
		if(confirm(generalMsgLocalizer.getMessage("alertcreate_confirmdelete", args))){
		  document.alertForm.aAction.value = 'Delete';
		  document.alertForm.aid.value = id;
		  document.alertForm.submit();
		}
	}
	
	function checkResponse()
	{
	   var hresp = document.getElementById("hasresp");
	   if (hresp && hresp.value == "true")
	   {

			openPopup(getAppPath()+"/wiki/metricslanding.jsp", 400, 300, "report");
	   }
	}

	function showLoading()
	{
		if (parseInt(navigator.appVersion)>3) 
		{
			 x=document.body.scrollLeft;
			 y=document.body.scrollTop;
			 if (navigator.appName=="Netscape") 
			 {
				winW = window.innerWidth;
				winH = window.innerHeight;
		
			 }
			 if (navigator.appName.indexOf("Microsoft")!=-1) 
			 {
				winW = document.body.offsetWidth;
				winH = document.body.offsetHeight;
			 }
		
			 var flashElem = document.getElementById('loading_div');
			 if (!flashElem)
			 {
				flashElem = document.createElement("div");
				flashElem.innerHTML = "<iframe width='150px' height='40px' scrolling='no' src='"+getAppPath()+"/wiki/loading.jsp' style='border:none;' frameborder='0' marginwidth='10' marginheight='5'></iframe>";
				flashElem.setAttribute("id", "loading_div");
				flashElem.style.display = "inline";
				flashElem.style.position = "absolute";
				flashElem.style.background = "#FFFFFF";
				flashElem.style.border = "1px solid #000";
				document.body.appendChild(flashElem);
			 }
			
			if (flashElem.style.display == "none")
			{
				flashElem.style.display = "inline";
			} 
			x_cord = x+(winW/2)-75;
			y_cord = y+winH/3;
			flashElem.left = x_cord;
			flashElem.style.left = x_cord;			
			flashElem.top = x_cord;
			flashElem.style.top = y_cord;			 			 
		}	
	}

	function is_safari2()
	{
		if(BrowserDetect.browser == "safari" || BrowserDetect.browser == "Safari")
		{
			if(parseInt(BrowserDetect.version) < 510 && (agt.indexOf("Mobile") == -1) )
			{
			   return true;
			}
			else
			{
				return false;
			}
		}
		else
		{
			return false;
		}
	}

	function editAttachment(aid, aname)
	{
		var adiv = document.getElementById(aid);
		var args = [aname];
		var uploadstr = generalMsgLocalizer.getMessage("attachment_uploadversion", args);
		var str = "<b><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"+ uploadstr +
			"</b><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type='file' name='fileId"+aid+"' id='fileId"+aid+"' size='38'>&nbsp;"+generalMsgLocalizer.getMessage("attachment_description")+":<input type='text' name='descId"+aid+"' id='descId"+aid+"' size='28' maxsize='100'/>"+
			"&nbsp;<button title='"+generalMsgLocalizer.getMessage("attachment_update")+" "+aname+"' type='button' name='attach_update' id='attach_update' onClick=\"javaScript:return updateAttachment('"+aid+"',&quot;"+aname+"&quot;);\">"+generalMsgLocalizer.getMessage("attachment_update")+"</button>"+
			"&nbsp;<button title='"+generalMsgLocalizer.getMessage("attachment_cancel")+"' type='button' onClick=\"javaScript:cancelAttachment('"+aid+"');\">"+generalMsgLocalizer.getMessage("attachment_cancel")+"</button><br/><br/>";
		adiv.innerHTML = str;
	}

	function fetchAttachments()
	{
		document.getElementById("wiki_div_attachments").style.display = "";
		document.getElementById("show_hide_attachments").style.display = "none";
	}

	function hideAttachments()
	{
		document.getElementById("wiki_div_attachments").style.display = "none";
		document.getElementById("show_hide_attachments").style.display = "";
	}

	function showAllVersions(attId, url)
	{
		attachmentID = attId;
		var divimage = document.getElementById("divimage_"+attachmentID);
		divimage.innerHTML = "<a href=\"javaScript:closeAllVersions("+attachmentID+", &quot;"+url+"&quot;);\"><img src='"+appPath+"/images/ix_ap_all/12x12/arrow_opening.gif' title='"+generalMsgLocalizer.getMessage("attachment_hideversions")+"' border=\"0\" align=\"absmiddle\"/></a>";
		
		if( wAjax != null)
		{
			return;
		}
		wAjax = new WikiAjax();
		wAjax.setMethodTOPOST();
		wAjax.setCallback(afterFetchingAttachmentVersions);
		var methodName = "getAttachmentVersions";
		var params = new Array();
		params[0] = new Object();
		params[0].type = "long";
		params[0].value = attachmentID;
		params[1] = new Object();
		params[1].type = "String";
		params[1].value = url;

		var req = createRequest(createManagerMethod(methodName, params));
		wAjax.addField("reqdata", req);
		wAjax.send();
	}

	function afterFetchingAttachmentVersions(responseDOM, errorMessage)
	{
		if(errorMessage == null)
		{
			var obj = parseResponse(responseDOM);
			if(obj == null)
			{
				alert(generalMsgLocalizer.getMessage("response_not_well"));
			}
			else
			{
				if(obj.statusCode == "200")
				{ 
					if(obj.output +"" != "")
					{
						var versiondiv =document.getElementById("versionDiv_"+ attachmentID); 
						versiondiv.innerHTML = obj.output;					
					}
					else
					{
						alert(generalMsgLocalizer.getMessage("attachment_noversions"));
					}
				}
				else
				{
					alert(generalMsgLocalizer.getMessage("attachment_errorversions"));
				}
			}
		}
	}

	function closeAllVersions(attId, attUrl)
	{
		var divimage = document.getElementById("divimage_"+attId);
		divimage.innerHTML = "<a href=\"javaScript:showAllVersions("+attId+", &quot;"+attUrl+"&quot;);\"><img src='"+appPath+"/images/ix_ap_all/12x12/arrow_closing.gif' title='"+generalMsgLocalizer.getMessage("attachment_showversions")+"' border=\"0\" align=\"absmiddle\"/></a>";
		var versiondiv =document.getElementById("versionDiv_"+ attId); 
		versiondiv.innerHTML = "";			
	}

	function deleteComment(commentId,commentVersion, pageId)
	{	
		var family="18";
		if(getPageType() == "Page")
		{
		   family="18";
		}
		else if(getPageType() == "News")
		{
			family="19";
		}
		else if(getPageType() == "Thread")
		{
			family="20";
		}
		else if(getPageType() == "Issue")
		{
			family="21";
		
		}
		
		var projTitle = getProjectTitle();
		if( projTitle != null && pageId != null )
		{			
			var width = getWindowWidth();
			var url = appendPath("commentdelete.jsp?commentId=")+URLEncode(commentId)+"&commentVersion="+URLEncode(commentVersion)+"&pageId="+URLEncode(pageId)+"&projectname="+URLEncode(projTitle)+"&family="+URLEncode(family);
			openPopup(url, width-100, 500, "comment_delete");
		}

	}

	function processRefreshComment()
	{	
		var projTitle = getProjectTitle();
		var pageTitle = getPageTitle();
		var familyPath = "home";
		var family = document.getElementById("family").value;
		
		if( family == "18" )
		{
		   familyPath="home";
		}
		else if(family == "19")
		{
			familyPath="news";
		}
		else if(family == "20")
		{
			familyPath="forum";
		}
		else if(family == "21")
		{
			familyPath="support";
		
		}

		var time = new Date();
		var url = siteContext + "wiki/" +URLEncode(projTitle) + ".wiki/"+ familyPath +"/"+URLEncode(pageTitle)+".html?discussion=true&t="+time.getTime();
		window.opener.location.href= url;
		window.close();
	}

	function validateWord()
	{
		if( wAjax != null)
		{
			return;
		}
		wAjax = new WikiAjax();
		wAjax.setMethodTOPOST();
		var projTitle = getProjectTitle();
		var pageTitle = getPageTitle();
		wAjax.setCallback(afterValidateWord);
		var methodName = "checkOOConnection";
		var params = new Array();
		
		var req = createRequest(createManagerMethod(methodName, params));
		wAjax.addField("reqdata", req);
		wAjax.send();
	}

	function afterValidateWord(responseDOM, errorMessage)
	{
		if(errorMessage == null)
		{
			var obj = parseResponse(responseDOM);
			if(obj == null)
			{
				alert("Response is not well formed.");
			}
			else
			{
				if(obj.statusCode == "200")
				{
					if(obj.output == "")
					{
						wys_editor._insertWord();
					}
					else
					{
						alert(obj.output);
					}
				}
				else
				{
					alert( "["+ obj.statusMessage + "] " + obj.output );
				}
			}
		}
		renameOnPreview = false;		
	}

	function cm_adm_sysparam()
	{
		openPopup(appendPath("../admin/systemparams.jsp"), 900, 600, "System Parameters");
	}

	function cm_adm_resetcache()
	{
		openPopup(appendPath("../admin/resetcache.jsp"), 500, 400, "Reset Cache");
	}

	function cm_adm_user()
	{
		openPopup(appendPath("../admin/useraccounts.jsp"),900,600,"useraccounts");
	}

	function cm_adm_logs()
	{
		openPopup(appendPath("../admin/logs.jsp"),900,600,"logs");
	}

	function cm_adm_sessions()
	{
		openPopup(appendPath("../admin/sessions.jsp"),900,600,"sessions");
	}

	function cm_adm_schedulemanagement()
	{
		openPopup(appendPath("../admin/schedules.jsp"),900,600,"schedules");
	}
	function cm_adm_jobmanagement()
	{
		 openPopup(appendPath("../admin/jobmanagement.jsp"),900,600,"jobmanagement");
	}
	function cm_adm_joblogs()
	{
		 openPopup(appendPath("../admin/joblogs.jsp"),900,600,"joblogs");
	}
	function cm_adm_scheduler()
	{
		 openPopup(appendPath("../admin/scheduler.jsp"),900,600,"scheduler");
	}

	function updateUser()
	{
		if(  et_g_isWhitespace(document.edituser.email.value) )
		{
			alert(generalMsgLocalizer.getMessage("userlist_email"));
			document.edituser.email.focus();
			return false;
		}
		else if (!isEmailAddr(document.edituser.email.value))
		{
			alert(generalMsgLocalizer.getMessage("common_enterValidEmail"));
			document.edituser.email.focus();
			return false;
		}
		
		if(  document.getElementById("chkpswd").checked && et_g_isWhitespace(document.edituser.pswd.value) )
		{
			alert(generalMsgLocalizer.getMessage("userlist_password"));
			document.edituser.pswd.focus();
			return false;
		}
		
		return true;		
			
	}

	function enablePassword()
	{
		var lCheck = !document.getElementById("chkpswd").checked;
		document.edituser.pswd.disabled = lCheck; 
	}

	function showUsersPicker(userId, state)
	{
		var upUrl = appendPath("userpicker.jsp?st="+state+"&fv=advsearch&peid="+userId);
		openPopup(upUrl , 650, 550, "userpicker");
	}

	function showDomainUsersPicker(userId, state)
	{
		var upUrl = appendPath("domainuserpicker.jsp?st="+state+"&fv=advsearch&peid="+userId);
		openPopup(upUrl , 650, 550, "userpicker");
	}

	function submitTransfer()
	{
		if( et_g_isWhitespace(document.transfer_form.touser.value) )
		{
			alert(generalMsgLocalizer.getMessage("usertransfer_owner"));
			document.transfer_form.touser.focus();
			return false;
		}
		return true;
	}

	function submitDomainTransfer()
	{
		if( et_g_isWhitespace(document.transfer_form.touser.value) )
		{
			alert(generalMsgLocalizer.getMessage("usertransfer_owner"));
			document.transfer_form.touser.focus();
			return false;
		}
		return true;
	}

	function saveParams()
	{
		if( et_g_isWhitespace(document.saveparam_form.pname.value) )
		{
			alert(generalMsgLocalizer.getMessage("sysparam_save"));
			document.saveparam_form.pname.focus();
			return false;
		}
		return true;
	}

	function getProtectedUrl(projectname,pagetitle,id,autoResize,style,classname,src)
	{
		if( wAjax != null)
		{
			return;
		}
		wAjax = new WikiAjax();
		wAjax.setMethodTOPOST();
		wAjax.setCallback(onProtectedUrlResponseHandler);

		var methodName = "getProtectedUrl";
		var params = new Array();
		params[0] = new Object();
		params[0].type = "String";
		params[0].value = projectname;
		params[1] = new Object();
		params[1].type = "String";
		params[1].value = pagetitle;
		params[2] = new Object();
		params[2].type = "String";
		params[2].value = classname;
		params[3] = new Object();
		params[3].type = "String";
		params[3].value = id;
		params[4] = new Object();
		params[4].type = "String";
		params[4].value = autoResize;
		params[5] = new Object();
		params[5].type = "String";
		params[5].value = style;
		params[6] = new Object();
		params[6].type = "String";
		params[6].value = src;
		params[7] = new Object();
		params[7].type = "httprequest";
		params[7].value = "";
		var req = createRequest(createManagerMethod(methodName, params));
		wAjax.addField("reqdata", req);
		wAjax.send();
		
	}

	function onProtectedUrlResponseHandler(responseDOM, errorMessage)
	{

		if(errorMessage == null)
		{
			var obj = parseResponse(responseDOM);
			if(obj == null)
			{
				alert(generalMsgLocalizer.getMessage("response_not_well"));
			}
			else
			{
				if(obj.statusCode == "200")
				{
					var cusinclude =document.getElementById("custinclude"); 
					
					cusinclude.innerHTML = obj.output;
					
				}
				else
				{
					alert(generalMsgLocalizer.getMessage("err_fetching_children"));
				}
			}
		}
	}

		function getSessionId()
	{
		var result;
 		
		if( typeof jSessionId != "undefined")
		{
 			result= jSessionId;
		}
		else{
		
		var cookieSplit=document.cookie;
		var cookieSplit = cookieSplit.split(";");
		var jsession_id=cookieSplit[0];			 
		jsession_id=jsession_id.split("=");
		jsession_id= jsession_id[1];
		result= jsession_id;
		}
		write_cookie("JSESSIONID",result,"/")
		
		return result;
	}
	function write_cookie (name, value, path)
	{
	// Build the expiration date string:
	var expiration_date = new Date ();
	expiration_date . setYear (expiration_date.getDay()+ 1);
	expiration_date = expiration_date . toGMTString();

	// Build the set-cookie string:
	var cookie_string = escape (name) + "=" + escape (value) + "; expires=" + expiration_date;
	
	if (path != null)
		cookie_string += "; path=" + path;

	// Create/update the cookie:
	document . cookie = cookie_string;
	}	

	function getWebexPopupURL(url)
	{

		if(url!=null){
		var webexURL=appendPath("webexredirector.jsp;jsessionid="+getSessionId());
		webexURL=webexURL+'?url='+escape(url);
		return webexURL
		}
	}

	function onAlphaClick(str)
	{
		if(str == "All")
			str = "";
		document.getElementById("letter").value= str;
		document.getElementById("currentpage").value = 1;
		document.getElementById("searchtext").value = "";
		document.userlist_form.submit();
	}

	function userAction(action, uid, locaction)
	{
		var args = [ locaction, uid ];
		if(confirm(generalMsgLocalizer.getMessage("common_confirmaction", args))){
			document.getElementById("uaction").value = action;
			document.getElementById("uid").value = uid;
			document.userlist_form.submit();
		}
	}
	function userEdit(uid)
	{
		var str = "editusers.jsp?userId=" + uid;
		window.location.href=appendPath(str);
	}
	function submitList()
	{
		document.getElementById("letter").value = "";
		document.getElementById("currentpage").value = 1;
		document.userlist_form.submit();
	}
	function resetSearch()
	{
		document.getElementById("letter").value = "";
		document.getElementById("searchtext").value = "";
		document.getElementById("currentpage").value = 1;
		document.getElementById("stype").value = "userid";
		document.getElementById("suser").value = 4;
		document.getElementById("sortcolumn").value = "USER_ID";
		document.getElementById("sortorder").value = true;
		document.userlist_form.submit();
	}

	function transferOwner(userId)
	{
		var str = "usertransfer.jsp?fromuser=" + userId;
		window.location.href=appendPath(str);
	}

	function sortUserPage(pageNumber,sortColumn,sortOrder, state)
	{
		document.getElementById("currentpage").value = pageNumber;
		document.getElementById("sortcolumn").value = sortColumn;
		document.getElementById("sortorder").value = sortOrder;
		document.getElementById("suser").value = state;
		document.userlist_form.submit();
	}

	function doI18nSort()
	{
		document.indexbody.sa.value="chgsort";
		document.indexbody.submit();
	}	

	function incrementHierarchyLevel(depth){
		depth++;

		try
		{
			var setProjectHierarchy = new WikiAjax();
			setProjectHierarchy.setMethodTOPOST();
			setProjectHierarchy.setCallback(setProjectHierarchyHandler);

			var reqURL = siteContext + "wikiajax";
			setProjectHierarchy.setRequestURL(reqURL);
			var methodName = "updateProjectProperties";
			var params = new Array();
			params[0] = new Object();
			params[0].type = "String";
			params[0].value = document.getElementById("projectname").value;
			params[1] = new Object();
			params[1].type = "String";
			params[1].value = "HIERARCHYLEVEL";
			params[2] = new Object();
			params[2].type = "String";
			params[2].value = depth;
			var req = createRequest(createManagerMethod(methodName, params));
			setProjectHierarchy.addField("reqdata", req);
			setProjectHierarchy.send();
		}
		catch(err){alert(err);}
	}

	function decrementHierarchyLevel(depth){
		if (depth > 1)
		{
			depth--;
		}
		else
			depth = 1;

		try
		{
			var setProjectHierarchy = new WikiAjax();
			setProjectHierarchy.setMethodTOPOST();
			setProjectHierarchy.setCallback(setProjectHierarchyHandler);

			var reqURL = siteContext + "wikiajax";
			setProjectHierarchy.setRequestURL(reqURL);
			var methodName = "updateProjectProperties";
			var params = new Array();
			params[0] = new Object();
			params[0].type = "String";
			params[0].value = document.getElementById("projectname").value;
			params[1] = new Object();
			params[1].type = "String";
			params[1].value = "HIERARCHYLEVEL";
			params[2] = new Object();
			params[2].type = "String";
			params[2].value = depth;
			var req = createRequest(createManagerMethod(methodName, params));
			setProjectHierarchy.addField("reqdata", req);
			setProjectHierarchy.send();
		}
		catch(err){alert(err);}
	}

	function setProjectHierarchyHandler(responseDOM, errorMessage)
	{
		if(errorMessage == null)
		{
			var obj = parseResponse(responseDOM);
			if(obj == null)
			{
				alert("Response is not well formed.");
			}
			else
			{
				if(obj.statusCode == "200")
				{
					window.location.reload();
				}
			}
		}
	}

	function setReportIndex(id)
	{		
		document.metricslanding.selrepindex.value=id;
		document.metricslanding.submit();
	}

// Counting length of UTF-8 characters
	function checkLength(data) {
        var countData = data;
        var escapedStr = encodeURI(countData);
        if (escapedStr.indexOf("%") != -1) {
            var count = escapedStr.split("%").length - 1;
            if (count == 0) count++; 
            var tmp = escapedStr.length - (count * 3)
            count = count + tmp
        } else {
            count = escapedStr.length
        }        
		return count;
     }

	function validateCheckboxArray(checkboxName)
	{
		var flag = "false";
		var chkvar = checkboxName;
		if (chkvar != null)
		{
			if (chkvar.type == "checkbox")
			{
				if (chkvar.checked)
					flag = "true";
			}
			else if (chkvar.type != "checkbox")
			{
				for(var i=0; i < chkvar.length; i++){
					if(chkvar[i].checked)
					{
						flag = "true";
						break;
					}
				}
			}
		}
		return flag;
	}
	/*
	function handleAdvSearchBox(elem, active)
	{
		if (active == 1)
		{
			if (elem.value == sHelpTxt)
			{
				elem.value = "";
			}
			elem.style.color = sTxtClr;
		}
		else if (active == 0)
		{
			if (elem.value == "")
			{
				elem.value = sHelpTxt;
				elem.style.color = sHelpTxtClr;
			}		
		} 
	}
	*/
	
	function unlockPage()
	{
		if (window.location.href.indexOf("unlockpage=true") == -1)
		{
			if (window.location.href.indexOf("?") != -1)
				window.location.href = window.location.href + "&unlockpage=true";
			else
				window.location.href = window.location.href + "?unlockpage=true";
			showLoading();
		}
		else
		{
			/// refresh page....
			window.location.reload();			
		}
	}
	
	// Page Hierarchy
	function closeTree(pId)
	{
		var pageId = pId;
		var divimage = document.getElementById("divtree_"+pageId);
		divimage.innerHTML = "<a href=\"javaScript:showTree("+pageId+");\"><img src='"+getAppPath()+"/wiki/tree/newplus.gif'></a>";
		var divtree = document.getElementById("divchild_"+pageId);
		divtree.className = "b hidetree";
	}
	function showTree(pId)
	{
		var pageId = pId;
		var divimage = document.getElementById("divtree_"+pageId);
		divimage.innerHTML = "<a href=\"javaScript:closeTree("+pageId+");\"><img src='"+getAppPath()+"/wiki/tree/newminus.gif'></a>";
		var divtree = document.getElementById("divchild_"+pageId);
		divtree.className = "b showtree";
	}
	function showChildren(pId, projName, title)
	{	
		pageId = pId;
		var divimage = document.getElementById("divtree_"+ pageId);
		divimage.innerHTML = "<a href=\"javaScript:closeTree("+pageId+");\"><img src='"+getAppPath()+"/wiki/tree/newminus.gif'></a>";
		
		if( wAjax != null)
		{
			return;
		}
		wAjax = new WikiAjax();
		wAjax.setMethodTOPOST();
		wAjax.setCallback(afterFetchingChildrenTree);
		var methodName = "getChildrenTree";
		var params = new Array();
		params[0] = new Object();
		params[0].type = "long";
		params[0].value = pageId;
		params[1] = new Object();
		params[1].type = "String";
		params[1].value = projName;
		params[2] = new Object();
		params[2].type = "String";
		params[2].value = title;

		var req = createRequest(createManagerMethod(methodName, params));
		wAjax.addField("reqdata", req);
		wAjax.send();
	}

	function afterFetchingChildrenTree(responseDOM, errorMessage)
	{
		if(errorMessage == null)
		{
			var obj = parseResponse(responseDOM);
			if(obj == null)
			{
				alert(generalMsgLocalizer.getMessage("response_not_well"));
			}
			else
			{ 
				if(obj.statusCode == "200")
				{ 
					if(obj.output +"" != "")
					{
						var versiondiv = document.getElementById("divchild_"+pageId);
						versiondiv.innerHTML = obj.output;	
					}
					else
					{
						alert(generalMsgLocalizer.getMessage("subtree_notfound"));
					}
				}
				else
				{
					alert(generalMsgLocalizer.getMessage("subtree_error"));
				}
			}
		}
	}
	
	//----------------- Session timeout -------------------------------
	var maxTimeout = 1800*1000+10000;
	var editorActivityChecktime = 60000;
	var sCount;
	var existingSessionId = 0;
	var sessionCheckTimeoutId;
	function getSessionTimeoutTime()
	{
		if (wikiTimeout != "undefined"){
			maxTimeout = wikiTimeout*1000+10000;
		}
	}
	function timeoutWarning()
	{	
		if (sys_user!= "undefined" && sys_user != "guest")
		{
			if( typeof jSessionId != "undefined")
			{
				existingSessionId  = jSessionId;
			}

			getSessionTimeoutTime();		
			resetCount();
			setSessionTimeout(maxTimeout);
		}
	}
	function resetCount() {
		sCount = new Date().getTime();
	}
	function setSessionTimeout(t) {
		clearSessionTimeOut();
		//alert("setsession again id :"+jSessionId);
	    sessionCheckTimeoutId = window.setTimeout(function(){expireSession();}, t);
	}
	function clearSessionTimeOut()
	{
		if( sessionCheckTimeoutId != null )
		{
			window.clearTimeout(sessionCheckTimeoutId);
			sessionCheckTimeoutId = null;
		}
	}
	function expireSession()
	{
		 var curTime = new Date().getTime();
		 var dt = curTime-sCount;
		 if (dt<maxTimeout) {
			setSessionTimeout(maxTimeout - dt);
			return;	
		 }

		var sId = existingSessionId;
		//alert("Before :"+sId);
		try{
		   if( wAjax != null)
			{
				return;
			}
			wAjax = new WikiAjax();
			wAjax.setMethodTOPOST();
			wAjax.setCallback(expireSessionCallback);
			var methodName = "sessionTimeoutChecker";
			var params = new Array();
			params[0] = new Object();
			params[0].type = "String";
			params[0].value = sId;
			params[1] = new Object();
			params[1].type = "httprequest";
			params[1].value = "";
					
			var req = createRequest(createManagerMethod(methodName, params));
			wAjax.addField("reqdata", req);
			wAjax.send();
		}
		catch(err){}
	}
	function expireSessionCallback(responseDOM, errorMessage)
	{

		if(errorMessage == null)
		{
			var obj = parseResponse(responseDOM);
			if(obj != null)
			{ 
				if (obj.statusCode == "200")
				{
					if(obj.output != "valid")
					{
						alert(generalMsgLocalizer.getMessage("sessionexpired"));
						window.location.href=appendPath("index.jsp");
					}
					else
					{
						resetCount();
						setSessionTimeout(maxTimeout);
					}
				}
				else
				{
					//alert("Error status code:"+obj.statusCode);
				}
			}
		}
		else if (errorMessage.indexOf("401") > -1)
		{
			alert(generalMsgLocalizer.getMessage("sessiontimeout_error"));
			window.location.href=appendPath("index.jsp");
		}
	}

	function resetSession()
	{
		if (typeof setEventFlag != "undefined")
		{
			//alert("setEventFlag:"+setEventFlag);
			if (setEventFlag == "true")
			{
				try{
				   if( wAjax != null)
					{
						return;
					}
					wAjax = new WikiAjax();
					wAjax.setMethodTOPOST();
					wAjax.setCallback(resetSessionCallback);
					wAjax.addField("sessionCheckEvent", "1");
					wAjax.send();
				}
				catch(err){}
			}
			else
			{
				HTMLAreaSetTimer();
			}
		}
		
	}
	function resetSessionCallback(responseDOM, errorMessage)
	{
		if(errorMessage == null)
		{
			setEventFlag = "false";
			resetCount();
			setSessionTimeout(maxTimeout);
			HTMLAreaSetTimer();
		}
		else if (errorMessage.indexOf("401") > -1)
		{
			alert(generalMsgLocalizer.getMessage("sessiontimeout_error"));
			window.location.href=appendPath("index.jsp");
		}
	}

  // set timer to test any activity on htmlarea every 1 minute
  function HTMLAreaSetTimer(){
    	setTimeout("resetSession()", editorActivityChecktime);	
  }

var xssEditCheck = "";
function setXssStatus(status)
{
	xssEditCheck = status;
}
function getXssStatus()
{
	return xssEditCheck;
}
  function xssfilter()
	{
		try{
		   if( wAjax != null)
			{
				return;
			}
			wAjax = new WikiAjax();
			wAjax.setMethodTOPOST();
			var methodName = "xssChecker";
			var params = new Array();
			var req = createRequest(createManagerMethod(methodName, params));

			for ( var i=0; i < document.forms[0].length; i++)
			{
				elem = document.forms[0].elements[i];
				if( elem.name && elem.name != "") 
				{
					wAjax.addField(elem.name, elem.value);
				}
			}
			
			wAjax.addField("reqdata", req);
			var requestObj = wAjax.getRequest();
			wAjax.send(false);
			
			var resp = requestObj.responseText;
			if (resp.indexOf("xssValidData") != -1 ){
				setXssStatus("valid");
			}
			else{
				setXssStatus("invalid");
				alert(generalMsgLocalizer.getMessage("xss_inputerror"));
			}

			if (wAjax != null) wAjax = null;
			requestObj = null;
			return;
		}
		catch(err){}
	}

 
function openNASAWindow(url) 
{

  if (url != "#")

  {

    var positionX = screen.width;

    var positionY = ((screen.height)/2);



    var sizeX = 720;

    var sizeY = 640;

    

    var strWindowFeatures = "";

    strWindowFeatures += 'menubar=yes,location=yes,toolbar=yes,directories=yes,scrollbars=yes,status=yes,resizable=yes,outerWidth='+720+',outerHeight='+640+',width='+720+'height='+640+',left='+80+',top='+60+'screenX='+80+',screenY='+60;

    winPopupWindow = window.open(url, "nasawindow", strWindowFeatures);

    winPopupWindow.focus();

  }

}
 
