	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 = SAMEPAGE.utils.toc.arrayofTocs;
    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 domainNameValidationInProgress = false;
	var agt=navigator.userAgent.toLowerCase();
	var is_safari     = (agt.indexOf("safari") != -1);
	var is_chrome     = (agt.indexOf("chrome") != -1);
	if(is_chrome)
		is_safari = false;
	var generalMsgLocalizer = SAMEPAGE.utils.i18n.generalMsgLocalizer;
	var editorCustomMsgLocalizer = SAMEPAGE.utils.i18n.editorCustomMsgLocalizer;

	var MSG_POPUP_BLOCK = generalMsgLocalizer.getMessage("browser_popup_block");
	var saveClicked = false; //used to track savebutton clicked fromeditor
	
	//tree related loading
	_LOADERS = Array();
	
	var fileInputId;
	var tagFieldId;
	var descFieldId;
	var actionFlagFieldId;
	

	function callAllLoaders() {
		var i, loaderFunc;
		for(i=0;i<_LOADERS.length;i++) {
			loaderFunc = _LOADERS[i];
			if(loaderFunc != callAllLoaders) loaderFunc();
		}
	}

	function appendLoader(loaderFunc) {
		if(window.onload && window.onload != callAllLoaders)
			_LOADERS[_LOADERS.length] = window.onload;

		window.onload = callAllLoaders;

		_LOADERS[_LOADERS.length] = loaderFunc;
	}
	// end tree related
	
	function URLEncode(val)
	{
		if(encodeURIComponent)
		{
			return encodeURIComponent(val);
		}
		else
		{
			return escape(val);
		}
	}	
	

	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 isValidGroupName (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 == "<" || 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 openHelp(){
		
		var spLoc = "";
		if (typeof specialHelpLoc != "undefined" && specialHelpLoc != "$SPECIAL_HELP_LOC" ) {
			spLoc = "?sploc="+URLEncode(specialHelpLoc);
		}
		openPopup( (getAppPath() + '/wiki/help.jsp' + spLoc) , 800, 500, 'SamePage Help');
	}	

	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);
	}
	//this method is being used in projectlisting.jsp
	function showProjectListing(letter)
	{
		window.location.href=appendPath("projectlisting.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);
			}

			//avneet..take care if url already has some params
			chkIdx = s.indexOf("?");
			if(chkIdx==-1)
			{
				window.location.href=appendPath(s)+"?cp="+URLEncode(callLoc);
			}else
			{
				window.location.href=appendPath(s)+"&cp="+URLEncode(callLoc);
			}
	    }
	    else
	    {
	    	window.location.href=callLoc;
	    }
	}

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

	

	function listUsers(domainname)
	{
		appendContextURL("domainuserlist.jsp?domainName=" + domainname);	
	}
	function accountSettings(domainname,mode)
	{
		appendContextURL("updatedomain.jsp?domainName=" + domainname + "&mode=" + mode);	
	}
	function inviteUsers(domainname)
	{
		appendContextURL("inviteusertoregister.jsp?domainName=" + domainname);	
	}
	function createUsers(domainname)
	{
		appendContextURL("bulkuploaduser.jsp?domainName=" + domainname);	
	}
	function lookupUsersGlobal(domainname)
	{
		appendContextURL("lookupusers.jsp?domainName=" + domainname);	
	}

	function createBulkUsers()
	{
		appendContextURL("createusers.jsp");	
	}
	
	function tlb_discussion()
	{
		var projTitle = getProjectTitle();
		var pageTitle = getPageTitle();

		if(projTitle != null && pageTitle != null)
		{
			var url = siteContext + "wiki/?id="+page_id+"&discussion=true#startcomments";

			window.location.href=url;
		}
	}
	
	function tlb_history()
	{
		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)
		{
			
				var width = getWindowWidth();
				openPopup(appendPath("history.jsp?projectname=") + URLEncode(project) + "&pagetitle=" + title+"&family="+family, 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+"&opflag=edit";
		}
		
		
		
	}	
	
	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 tlb_view()
	{
		window.location.href= siteContext + "wiki/?id="+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";
			}
			if(pageType=="Poll")
			{
				return "Poll";
			}
		}
		return "Page";
	}
	
	function tlb_newChildPage()
	{
		var projTitle = getProjectTitle();
		var pageTitle = getPageTitle();
		if(getPageType()=="News" || getPageType()=="Issue" || getPageType()=="Thread")
		{
			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))+"&opflag=create&family=18", width, 700, "newpage");
			}
			else
			{
				window.location.href=appendPath("editpage.jsp?projectname=") + URLEncode(projTitle) + "&parentpage="+URLEncode((pageTitle==null?"":pageTitle))+"&opflag=create&family=18";
			}
		}
		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 )
		{
			try {
				window.location.href=appendPath("editpage.jsp?projectname=") + 
					URLEncode(projTitle)+"&family=18&opflag=Create";
			} catch (err) {				
			}
		}
		
	}

	function tlb_newThread()
	{
		
		var projTitle = getProjectTitle();
		var parentIds = "";
		var catId = -997;
		
		if( document.getElementById("selectCategory") != null && !et_g_isWhitespace(document.getElementById("selectCategory").value) )
			catId = document.getElementById("selectCategory").value;
	
		if(typeof subCategoryId != "undefined")
			catId = subCategoryId;
		
		if(catId == "$SUB_CATEGORY_ID")
			catId = -997 ;
		
		if( projTitle != null )
		{
			if(document.editpage && document.editpage.pop)
			{
				var width = getWindowWidth();
				openPopup((appendPath("editpage.jsp?pop=true&projectname=") + URLEncode(projTitle)+"&family=20&category="+catId)+"&opflag=create", width, 700, "newthread");
			}
			else
			{	
				window.location.href=appendPath("editpage.jsp?projectname=") + URLEncode(projTitle)+"&family=20&category="+catId+"&opflag=create";
			}
		}
		else
		{
			alert(space + " " + generalMsgLocalizer.getMessage("no_info"));
		}
	}
	
	function tlb_manageCategory()
	{
		var projTitle = getProjectTitle();
		var url = appendPath("managecategory.jsp?projectname=") + URLEncode(projTitle);
	    window.location.href=url;
	}
	
	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")+"&opflag=create", width, 700, "newissue");
			}
			else
			{
				window.location.href=appendPath("editpage.jsp?projectname=") + URLEncode(projTitle)+"&family=21"+"&opflag=create";
			}
		}
		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"+"&opflag=create", width, 700, "newnews");
			}
			else
			{
				window.location.href=appendPath("editpage.jsp?projectname=") + URLEncode(projTitle) + "&family=19"+"&opflag=create";
			}
		}
		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")
		{
			try {
				window.location.href = siteContext + "wiki/" + URLEncode(projName) + ".wiki/home/home.html";
			} catch (err) {
			}
		}
	}

	function openAdmin()
	{
		window.location.href = appendPath("grouplisting.jsp");
	}
	function openAdminDomain(domain)
	{
		window.location.href = appendPath("grouplisting.jsp?domainName="+domain);
	}

	function openGlobalMetrics()
	{
		window.location.href = appendPath("metricslanding.jsp?scope=global");
	}
	function openGlobalMetricsDomain(domain)
	{
		window.location.href = appendPath("metricslanding.jsp?scope=global&domainName="+domain);
	}

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

	function openEditGroup(grpsysid,domain)
	{
	    var tmp = "creategroup.jsp?curgrpsysid=" + grpsysid 
			+ "&processflag=showedit&domainName="+domain
		window.location.href=appendPath(tmp);
	}
	
	function tlb_metrics(projName)
	{
		var projTitle = projName;
		if(typeof projName == "undefined")
		{
			 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 openAdminDomain(domain)
	{
		window.location.href = appendPath("grouplisting.jsp?domainName="+domain);
	}

	function openGlobalMetricsDomain(domain)
	{
		window.location.href = appendPath("metricslanding.jsp?scope=global&domainName="+domain);
	}

	function openCreateGroupDomain(domain)
	{
		window.location.href = appendPath("creategroup.jsp?domainName="+domain);
	}

	function openEditGroupDomain(grpsysid,domain)
	{
	    var tmp = "creategroup.jsp?curgrpsysid=" + grpsysid 
			+ "&processflag=showedit&domainName="+domain
		window.location.href=appendPath(tmp);
	}
	
	function openProjHome(projName)
	{
		if(typeof projName != "undefined")
		{
			window.location.href = appendPath("projectadministration.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("projectdisplaytitle").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";				
				document.frmproject_home.submit();
			}
			
		}
	}

	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(getPageType() == "Thread")
		{
			var categoryid ;
			var stopToSave = false;
			var threadnotallowedcategoryids = document.getElementById("threadnotallowedcategoryids").value;
			var subcategoryid = document.getElementById("subcategoryid").value;
			
			if(subcategoryid == "$SUB_CAT_ID" )
				subcategoryid = -997;
			
			if( document.getElementById("category") != null && !et_g_isWhitespace(document.getElementById("category").value) )
			{
				categoryid = document.getElementById("category").value;
				if( threadnotallowedcategoryids.indexOf("-") > 0)
				{	
					var catIds = threadnotallowedcategoryids.split("-");
					for(var i = 0;i < catIds.length;i++)
					{
						if(catIds[i] == categoryid)	
						{
							alert(generalMsgLocalizer.getMessage("alert_threadcreationnotallowed"));
							document.editpage.category.value=subcategoryid;
							stopToSave = true;
							break;
						}
					}
				}				
			}	
			if(stopToSave)
				return false;
		}	
		//
		/*
			Added by Binod
			To validate the tag name by restricting the following:  < > " ^ characters 
		 */
		if(!isValidTag('editpage_topic'))
		{
			return false;
		}
		//Addition ended
		if( !et_g_isWhitespace(document.editpage.editpage_title.value) )
		{
			if(document.editpage.editpage_title.type != 'hidden' && document.editpage.editpage_title.value.toLowerCase().trim() == 'home')
			{
				alert("Title 'home' is not allowed");
				return false;
			}
			if(document.editpage.editpage_title.value.toLowerCase().trim() == 'project')
			{
				alert("Title 'project' is not allowed");
				return false;
			}
			if(isValidPageName(document.editpage.editpage_title.value))
			{
				try
				{
					var is_chrome     = (agt.indexOf("chrome") != -1);
					if(is_chrome)
						is_safari = false;
					if(is_safari)
					{
						wys_editor.execCommand("htmlmode");
					}
					
					document.getElementById("wiki_text").value = wys_editor.getHTMLWithoutIndent();
					document.body.style.cursor="wait";
				}catch(err){}
				
				// Ajax xss check before save
				xssfilter();
				var xssvar = getXssStatus();
				if (xssvar == "valid")
				{
					if(version != "0" && lockedBy == "")
					{
						if(document.getElementById("donepreview").value != "true")
						{
							if(isEquals(unsavedEditorHTML, wys_editor.getHTMLWithoutIndent()))
							{
								document.getElementById("checkin").value = "false";
								document.getElementById("savecontent").value = "false";
							}
						}
					}
					document.editpage.submit();
					
					// Added by Amit B. For Issue id-53145.
					if(opener != null && opener.document.getElementById("listType") != null 
					&& opener.document.getElementById("listType").value == "topic")
					{	
						var opnerUrl = window.opener.document.location.href;
						if(opnerUrl.match("&letter"))
					    var urlToBeRefreshed = opnerUrl.substring(0,opnerUrl.lastIndexOf("&letter"));
					    else
					    var urlToBeRefreshed = opnerUrl;
					   	window.opener.document.location.href =   urlToBeRefreshed;
					}
					// Addition Ends
					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))
			{
				var prjTitle = document.createproject.createproject_pname.value.toLowerCase().replace(/^\s+/,'').replace(/\s+$/,'');
				if(prjTitle == 'page' || prjTitle == 'news' || prjTitle == 'thread' || prjTitle == 'issue' || prjTitle == 'polls' || prjTitle == 'forum')
				{
					// not done localization as its only related to english locale
					alert("Project name can not be 'Page', 'News', 'Thread', 'Issue', 'Polls' or 'Forum'");
					return false;
				}
				if(prjTitle != 'project' && prjTitle != 'home')
				{
					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
				{
					// not done localization as its only related to english locale
					alert("Project name can not be 'project' or 'home'");
					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) )
			{
				var prjTitle = document.createproject.createproject_pname.value.toLowerCase().replace(/^\s+/,'').replace(/\s+$/,'');
				if(prjTitle == 'page' || prjTitle == 'news' || prjTitle == 'thread' || prjTitle == 'issue' || prjTitle == 'polls' || prjTitle == 'forum')
				{
					// not done localization as its only related to english locale
					alert("Project name can not be 'Page', 'News', 'Thread', 'Issue', 'Polls' or 'Forum'");
					return false;
				}
				if(prjTitle != 'project' && prjTitle != 'home')
				{
					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
				{
					// not done localization as its only related to english locale
					alert("Project name can not be 'project' or 'home'");
					return false;
				}
				
			}
			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;
				}
				updatePrjName = updatePrjName.toLowerCase().replace(/^\s+/,'').replace(/\s+$/,'');
				if(updatePrjName == "project" || updatePrjName == 'home')
				{
					alert("Project name can not be 'project' or 'home'");
					return false;
				}
				if(updatePrjName == 'page' || updatePrjName == 'news' || updatePrjName == 'thread' || updatePrjName == 'issue' || updatePrjName == 'polls' || updatePrjName == 'forum')
				{
					// not done localization as its only related to english locale
					alert("Project name can not be 'Page', 'News', 'Thread', 'Issue', 'Polls' or 'Forum'");
					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)
	{
		document.getElementById("donepreview").value = "true";
		if(errorMessage == null) {
			
			var obj = parseResponse(responseDOM);
			if(obj && obj.statusCode == "200" && obj.output) {
				//show draft save message
				var saveResponse = obj.output.split("$~$");
				if (saveResponse && saveResponse.length>1) {
					showLastSavedMsg(saveResponse[1]);
				}
			}
			startSaveTimeOut();
		}
	
	}
	
					  
	
	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")
						{
							if(is_safari)
								obj.output = root.childNodes[i].textContent;
							else
								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")
				{
					var saveResponse = obj.output.split("$~$");
					page_id = saveResponse[0];
					
					document.getElementById("pageid").value=page_id;
					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;
							if (saveResponse && saveResponse.length>1) {
								showLastSavedMsg(saveResponse[1]);
							}
						}
					}
					startSaveTimeOut();
				}
				else
				{
					alert( "onPreviewSave: ["+ obj.statusMessage + "] " + obj.output );
				}
			}
		}
		else if(errorMessage.indexOf("invalidinputerror") > -1)
		{
			alert(generalMsgLocalizer.getMessage("xss_inputerror"));
		}
	}
	
	function saveDraft()
	{
		if(document.editpage.editpage_title.type != 'hidden' && document.editpage.editpage_title.value.toLowerCase().trim() == 'home')
		{
			alert("Title 'home' is not allowed");
			return false;
		}
		if(document.editpage.editpage_title.value.toLowerCase().trim() == 'project')
		{
			alert("Title 'project' is not allowed");
			return false;
		}
		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 showLastSavedMsg(msg)
	{
		var felem = document.getElementById("fader");
		if (felem && msg != ""){
			felem.innerHTML = msg;
		}
	}
	
	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 newText = "";
		var family="18";
		var subcategoryid = 0;
		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 = "saveWikiPageWithResponseData";
		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
		{
			newText = wys_editor.getHTMLWithoutIndent();
			
			unsavedEditorHTML	=	wys_editor.getInnerHTML();
			
		}catch(err){}

		params[5].value = newText;//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 = 1;
  			}
		}
		else
		{
			params[10] = new Object();
			params[10].type = "int";
			params[10].value = 1;
		}

		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;
		}
		else
		{
			params[16] = new Object();
			params[16].type = "String";
			params[16].value = "";
		}
		params[17] = new Object();
		params[17].type = "boolean";
		params[17].value = "false";
		params[18] = new Object();
		params[18].type = "boolean";
		params[18].value = "true";
		
		if(getPageType() == "Thread")
		{
			if(document.getElementById("category") != null)
			{
				subcategoryid = document.getElementById("category").value;
			}
		}
		if (subcategoryid < 0 )
			subcategoryid = 0;
			
		params[19] = new Object();
		params[19].type = "long";
		params[19].value = subcategoryid;
		
		params[20] = new Object();
		params[20].type = "int";
		params[20].value = document.getElementById("status").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;
		}
		document.getElementById("donepreview").value = "true";
		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,className,pluginName )
	{
		var request = new Array();
		request.push("<method name=\"");
		request.push(methodName);
		request.push("\"");
		if(className || typeof className != "undefined")
		{
			request.push(" class=\"");
			request.push(className);
			request.push("\"");
			
		}
		
		if(pluginName || typeof pluginName != "undefined")
		{
			
			request.push(" plugin=\"");
			request.push(pluginName);
			request.push("\"");
		}
		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);
		
		var fileObject = document.getElementsByTagName("input");
		if(fileObject.length>0)
		{
		  for(i=0;i<fileObject.length;i++)
		  {
              var fileIterator = fileObject.item(i);  
              if( fileIterator && fileIterator.type && fileIterator.type == "file" )
              {
                  $(fileIterator).keydown(function(){return false;});
		          $(fileIterator).mousedown(function(event){if(event.button == 2) alert(generalMsgLocalizer.getMessage("attachment_select_browse"));});
              }		
		  }
		}
	}
	
	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 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(type == "globalSearch"){
			projTitle = null;
			type = "search" ;
		}
		if(type=="search" && !isValidSearchText(searchText))
		{
			alert(generalMsgLocalizer.getMessage("msg_searchtextvalidation"));
			document.getElementById('toolbox_search').focus();
			return;
		}
		
		if(projTitle != null)
		{
			if(type=="child")
			{
				var url = appendPath("pagelisting.jsp?listtype=") + type + "&projectname=" + URLEncode(projTitle) + "&title=" + URLEncode((pageTitle==null?"":pageTitle));
				setTimeout("setWindowUrl(\""+url+"\")",1);
			}
			else if(type=="bcklnk")
			{
				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 url = appendPath("pagelisting.jsp?listtype=") + type + "&projectname=" + URLEncode(projTitle) + "&family=" +family + "&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 if(type=="rm")
			{
			  var url = appendPath("recentpagelisting.jsp?ra=BRA&projname=") + URLEncode(projTitle);
			  //window.location.href=url;
			  setTimeout("setWindowUrl(\""+url+"\")",1);
			}//Added by Anuj
			else if(type=="searchWithImages" && searchText != "undefined" && searchText != null)
			{
			  var url = appendPath("pagelisting.jsp?listtype=search") +  "&projectname=" + URLEncode(projTitle);
			  url = url + "&searchtext=" + URLEncode(searchText)+ "&withImages=Yes" ;
			  //window.location.href=url;
			  setTimeout("setWindowUrl(\""+url+"\")",1);
			}//End
			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);
			}//Added by Anuj
			if( type=="searchWithImages" && typeof searchText != "undefined" && searchText != null )
			{	var url = appendPath("pagelisting.jsp?listtype=search") ;
				url = url + "&searchtext=" + URLEncode(searchText)+ "&withImages=Yes";
				setTimeout("setWindowUrl(\""+url+"\")",1);
			}//End
		}
			
	}
	function setWindowUrl(aUrl)
	{
		try {
			window.location.href=aUrl;
		} catch (err) {		
		}
	}
	
	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 search(searchText,projectName)
	{
		window.location.href = appendPath("pagelisting.jsp?listtype=search&searchtext="+searchText+"&projectname="+projectName);
	}

	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()
	{
		var encloseform = document.getElementById("encloseform");
		
		if(document.getElementById("encloseform") != null)
		{
			$("#disc_comment").remove();
			$("#wys_editor_container").remove();
			$("#encloseform").append($("#commentform"));
			$("#textareacontainer").append("<textarea rows='15' style='width:100%' id='disc_comment' name='disc_comment'></textarea>");
			generateCommentDIV();
			
		}
		
		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   = replyCommentTitle(displayTitle);
			document.getElementById("disc_email").value   = "";
			//document.getElementById("disc_name").value   = "";commented to resolve an issue id :52825
			document.getElementById("btn_savecomment").focus();
			if(wys_editor != null)
			{
				wys_editor.setHTML("");
			}
			//document.getElementById("disc_title").focus();
		}
		
	}
	function generateCommentDIV()
	{
	
		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   = replyCommentTitle(displayTitle);
			}
	
			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){}*/
				//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();
			
			
			if(wys_editor != null)
			{
				try
				{
					wys_editor.focusEditor();
					wys_editor.setMode("wysiwyg");
				}
				catch(err){}
			}
		}
	}
	
	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   = replyCommentTitle(displayTitle);
			}
	
			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";
		}
		var is_chrome     = (agt.indexOf("chrome") != -1);
			if(is_chrome)
				is_safari = false;
		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.toLowerCase().replace(/&nbsp;/g, '');
		disc_comment = disc_comment.toLowerCase().replace(/<br \/>/g, '');
		disc_comment = disc_comment.toLowerCase().replace(/<p>/g, '');
		disc_comment = disc_comment.toLowerCase().replace(/<\/p>/g, '');
		/*
		var commenttext= "<div style=\"padding-left:10px;border-left:1px dashed #000;\"><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" class=\"comment-photodata\"><tr><td class=\"comment-photo\">#~#COMMENT_PHOTO_system#~#</td><td class=\"comment-data\"><div class=\"comment-metadata\"><a name=\"1406\"></a>@@label.discussions.postedby@@ <a href=\"javaScript:void(0)\" onClick=\"javaScript:openUserDetails('system',this)\">~~SPDISPNAME_system~~</a> @@label.common.on@@ ~~SPDATE_2010-02-11 16:24:37~~<!-- START COMMENT REPLY -->| <a href=\"javaScript:void(0)\" onClick=\"javaScript:commentReply(1406,'',1,364,'RE: RE:werwer')\">@@label.discussions.replytothis@@</a> | <a href=\"$PAGE_LINK#1406\">@@label.common.permalink@@</a><!-- END COMMENT REPLY --><!-- START COMMENT DELETE --><span style=\"display:$DEL_COMMENT\"> | <a href=\"javaScript:void(0)\" onClick=\"javaScript:deleteComment(1406,'','$PAGEID')\">@@label.common.remove@@</a> </span><!-- END COMMENT DELETE --></div><div class=\"comment-heading\">RE: RE: werwer</div><span>Jain</span></td></tr> <tr><td colspan=\"2\" id=\"rep_1406\"></td></tr></table> <div id=\"child_1406\"></div></div>";
		var encloseform = document.getElementById("encloseform");
		
		if(document.getElementById("encloseform") != null)
		{
			$("#disc_comment").remove();
			$("#wys_editor_container").remove();
			$("#encloseform").append($("#commentform"));
			$("#textareacontainer").append("<textarea rows='15' style='width:100%' id='disc_comment' name='disc_comment'></textarea>");
			generateCommentDIV();
			
		}
		$("#child_1406").append(commenttext);
		return true;
		*/
		if( !et_g_isWhitespace(disc_title) )
		{
			if (!isValidPageName(disc_title))
			{	
				alert(generalMsgLocalizer.getMessage("wikieditpage_pagetitlevalidation"));
				return false;
			}
			else if(disc_title.length > 120)
			{
					alert(generalMsgLocalizer.getMessage("invalid_comment_title_length"));
					return false;
			}
			
		}	
			
		if (isGuest() && et_g_isWhitespace(disc_name))
		{	
			alert(generalMsgLocalizer.getMessage("enter_comment_user"));
			document.getElementById("disc_name").focus();
			return false;
		}				

		if(isGuest() && !isEmailAddr(disc_email))
		{
			alert(generalMsgLocalizer.getMessage("common_enterValidEmail"));
			document.getElementById("disc_email").focus();
			return false;
		}		

		if ( (isGuest()) && (document.getElementById("txt_j_captcha_response") != null) )
		{
			var txt_j_captcha_response = document.getElementById("txt_j_captcha_response").value;
			if (et_g_isWhitespace(document.getElementById("txt_j_captcha_response").value))
			{
				alert("Type the characters from the image");
				return false;
			}
		}

		if(!et_g_isWhitespace(disc_comment) && "<br>"!=disc_comment && "</br>"!=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+"&subcategoryid="+subCategoryId;
			
			// Ajax xss check before save
			xssfilter();
			var xssvar = getXssStatus();
			if (xssvar == "valid")
			{
				if (checkAttachment("div_saveattach"))
				{
					if ( (isGuest()) && (document.getElementById("txt_j_captcha_response") != null) )
					{
						validateCaptchaForGuest("DISCUSSION");
					}
					else
					{
						try
						{
							document.creatediscussion.btn_savecomment.disabled = true;
							document.creatediscussion.submit();
							showLoading();
							return true;
						}
						catch (err)
						{}
					}
				} else {
					document.body.style.cursor="";
					return false;
				}
			}
			else
			{
				document.body.style.cursor="";
				return false;
			}
		}
		else
		{
			alert(generalMsgLocalizer.getMessage("enter_comment"));
			return false;
		}
		
	}

	
	function checkAttachment(attachDiv)
	{
		var elem;
		var updateElem;
		var fileUpObj = document.getElementById(attachDiv);
		var chElem = fileUpObj.firstChild;
		var hasfileToUpload = 0;

		while(chElem)
		{
			if( chElem.type && chElem.type == "file" )
			{
				var elemVal = chElem.value;
				var expr = /\\/g;
				elemVal = elemVal.replace (expr, "/");
				var newFileName = elemVal.substring(elemVal.lastIndexOf("/")+1,elemVal.length);

				if( !et_g_isWhitespace(newFileName) )
				{
					if (newFileName.indexOf(".") < 0)
					{
						alert(generalMsgLocalizer.getMessage("attachment_fileextn"));
						return false;
					}
				}
				
				if(!cm_isValidEntityName(newFileName))
				{
					alert(generalMsgLocalizer.getMessage("attachment_filenamechars"));
					return false;
				}
				
				if (trim(newFileName).length > 80) {
					alert(generalMsgLocalizer.getMessage("attachment_filenamelength",[newFileName]));
					return false;
				}
				
			}
			chElem = chElem.nextSibling;				
		}
				
		return true;
	}

	function cm_isValidEntityName (s)
	{			
		s=cm_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 == ":" || c == "^" || c == ">" || c == "<" || c == "?")
			{
				return false;
			}
		}
		return true;
	}

	function cm_stripWhitespace (s)
	{
		return cm_stripCharsInBag (s,  " \t\n\r")	;
	}

	function cm_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 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)
	{
		
		var ifr =$('#wys_editor_container iframe');
		forAssetId 	= aid;
		forCategory = catid;
		forVersion	=	ver;
		var tempTitle = ftitle==""?displayTitle:ftitle;
		forTitle = replyCommentTitle(tempTitle);
		
		var commDiv = document.getElementById("rep_"+aid);
		if(commDiv != null)
		{
			$("#disc_comment").remove();
			$("#wys_editor_container").remove();
			$("#rep_"+aid).append($("#commentform"));
			$("#textareacontainer").append("<textarea rows='15' style='width:100%' id='disc_comment' name='disc_comment'></textarea>");
			generateCommentDIV();
		}
		window.location.href="#addcomment";
		//document.getElementById("disc_title").focus();
		//document.getElementById("disc_comment").disabled=false;
		
	}	   
	
	
	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 url = siteContext + "wiki/?id=" + page_id + "&type=att";
		window.location.href=url;
	}
	
	function openEditAttachment(url, nameOnly)
	{
		if (nameOnly != "undefined" && nameOnly == "true") {
			url = "/"+appContext+"/uploadedimages/"+URLEncode(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(family)
	{
		
		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)+"&family="+family+ "&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");
        //Openeing up versioning for all kinds of assets . Amit Jain 06/02/2009
       		
		versionText = " | <a title=\"Click to see the history\" href=\"javascript:void(0)\" onclick=\"javascript:tlb_history();\">"+generalMsgLocalizer.getMessage("version")+"</a>"+": "+version;

		var argys = ["<a href=\"javascript:void(0)\" onclick=\"javascript:openUserDetails('"+user+"', this)\" valign=\"top\" >"+user +"</a>", modified];
		
		if(typeof modifiedByUserName != "undefined")
		{
			argys = ["<a href=\"javascript:void(0)\" onclick=\"javascript:openUserDetails('"+user+"', this)\" 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+"', this)\">" + ownerName + "</a>";
		}
		else
		{
			str = str + ":&nbsp;<a href=\"javascript:void(0)\" onclick=\"javascript:openUserDetails('"+strOwner+"', this)\">" + 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+"', this)\">" + assignedToName + "</a>";
				}
				else
				{
					str = str + " | "+generalMsgLocalizer.getMessage("assignedto")+": <a href=\"javascript:void(0)\" onclick=\"javascript:openUserDetails('"+assignedto+"', this)\">" + 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;
	}
	// Shriniwas: Added email validation check for profile email field [issue-id:32795].
	function validMailIdCheck(email)
	{
		 var regex=/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
		 return (regex.test(email)) ? true : false;
	}
	function profileMailValidation(email)
	{
	  var theStr = new String(email);
	  var flag=0;
	  var result;
	  var checkResult=true;
	 	
	 	if(theStr.indexOf(",") > 0)
		{
			result = theStr.split(",");
			flag=1;
		}
		else if( theStr.indexOf(";") > 0)
		{
			result = theStr.split(";");
			flag=1;
		}
		else if( theStr.indexOf(" ") > 0)
		{
			result=theStr.split(" ");
			flag=1;
		}
		
		
		if(flag==1)
			{
					for(var i = 0;i < result.length;i++)
					{
						if(!validMailIdCheck(result[i]))	
						{
							checkResult=false;
							break;
						}
					}
					checkResult=false;
			}
			else
			{
				var regex=/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
				(regex.test(theStr)) ? checkResult=true : checkResult=false;
			}
			if(checkResult)
			{
				return true;
			}
			else
			{	
				flag=0;
				return false;
			}
	  
	}
	// email check ends
	
	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 registerInvitedUser()
	{
		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.savebtn.disabled="true";
		document.projusers.flag.value="saveuser";
		document.projusers.submit();
	}
	
	function searchProjUsers()
	{
		document.projusers.queryobject.value="";
		document.projusers.flag.value="search";
		document.projusers.submit();
	}
	
	function searchAdminUsers()
	{
		document.usrgrps.queryobject.value="";
		document.usrgrps.flag.value="search";
		document.usrgrps.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.savebtn.disabled="true";
			document.projgroups.flag.value="savegroup";
			document.projgroups.submit();
		}
		else if (document.globalgroups)
		{
			document.globalgroups.savebtn.disabled="true";
			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 yearMetrics()
	{
		document.metricslanding.period.value="year";
		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,domain)
	{
		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))				
				+ "&domainName="+URLEncode((domain==null?"":domain))				
				+ "&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, domain, grpsysid)
	{
		document.groupmembers.flag.value="addusers";
		document.groupmembers.submit();		
		openGroupMembersInParentWindow(groupid, groupname, grptype, grpsysid,0,domain);
	}

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

	function selectGroups(groupid, groupname, grptype, domain, 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.addbtn.disabled="true";
			document.projgroups.flag.value="addgroups";
			document.projgroups.submit();
		}
		else if (document.globalgroups)
		{
			document.globalgroups.addbtn.disabled="true";
			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.ldapcurrentpage.value="1";
			document.projgroups.submit();
		}
		else if (document.globalgroups)
		{
			document.globalgroups.flag.value="lookupgroups";
			document.globalgroups.ldapcurrentpage.value="1";
			document.globalgroups.submit();			
		}
	}

	function lookupLDAPUsers()
	{
		document.projusers.lsortorder.value = "a";
		document.projusers.flag.value="lookupusers";
		document.projusers.ldapcurrentpage.value="1";		
		document.projusers.submit();
	}
	
	function lookupDomainLDAPUsers()
	{
		document.domainldapusers.lsortorder.value = "a";
		document.domainldapusers.flag.value="lookupusers";
		document.domainldapusers.ldapcurrentpage.value="1";		
		document.domainldapusers.submit();
	}
	
	function saveDomainLDAPUsers()
	{
		document.domainldapusers.flag.value="addusers";
		document.domainldapusers.userquery.value="";
		document.domainldapusers.submit();
	}

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

	function saveAclUsers(idx)
	{
		if(document.userperm.flag.value!="grantAll")
		{
			enableCheckBoxes(idx);
			document.userperm.flag.value="saveuser";
		}
		else 
		{
			disableCheckBoxes(idx);		
		}
		
		document.userperm.btn_del_item.disabled=true;
		document.userperm.btn_reset.disabled=true;
		document.userperm.submit();
	}

	function saveAclGroups(idx)
	{
		if(document.groupperm.flag.value!="grantAll")
		{
			enableCheckBoxes(idx);		
			document.groupperm.flag.value="savegroup";			
		}
		else 
		{
			disableCheckBoxes(idx);		
		}
		document.groupperm.btn_del_item.disabled=true;
		document.groupperm.btn_reset.disabled=true;			
		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=" +  URLEncode(topicName) + "#listing";
		document.listform.action=url;	
		document.listform.submit();
	}

	// Page url
	function openHomeRecent(projName, pageId, family,anchor)
	{
		var pageHome = "home";
		var url;
	
		if(family==18 || family==19 || family==20 || family==21)
		{
			url = siteContext + "wiki/?id="+pageId
		}
		
		else if(family==15)
		{
			url = siteContext + "wiki/comment/"+pageId;
		}
		else if(family==22)
		{
			url = siteContext + "newui/wiki/polldetails.jsp?pollId="+pageId;
		}
		else if(family==-1)
		{
			
			url = siteContext + "newui/wiki/attachments.jsp?projectname=" + projName + "&pageid="+pageId;
		}
		else
		{
			url = siteContext + "wiki/" + projName + ".wiki/"+pageHome+"/"+pageId+".html";

		}
		try {
			window.location.href=url;
		} catch (err) {			
		}
	}
	
	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 getPrjAdminAction()
	{
		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("NewsForumSupport");
		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()
	{
		if(confirm(generalMsgLocalizer.getMessage("wiki_wantToRepublish") +" "+spaceLower+ "?"))
		{
			document.frmproject_home.flag.value="republish";
			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 = getPrjAdminAction();
		
		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()
	{
		if(confirm(generalMsgLocalizer.getMessage("wiki_wantToReindex") + spaceLower + "?"))
		{
			document.frmproject_home.flag.value="reindex";
			document.frmproject_home.submit();
		}
	}
	
	
	function doFollow(formName,follow,userId)
	{
		document.getElementById("flag").value=follow;
		document.getElementById("userId").value=userId;
		document.getElementById("currentpage").value = parseInt(document.getElementById("currentpage").value);
		if (document.getElementById("notiffor") != null && !et_g_isWhitespace(document.getElementById("notiffor").value)) 
		{
			document.listform.formpaging.value = "Yes";
			saveNotifProjects(document.listform.notiffor.value);
		}
		if(typeof formName == "undefined")
		{
			document.listform.submit();
		}
		else
		{
			eval("document."+formName+".submit()");
		}
	}
	
	
	function goNextPage(formName)
	{
		document.getElementById("currentpage").value = parseInt(document.getElementById("currentpage").value)+1;
		if (document.getElementById("notiffor") != null && !et_g_isWhitespace(document.getElementById("notiffor").value)) 
		{
			document.listform.formpaging.value = "Yes";
			saveNotifProjects(document.listform.notiffor.value);
		}
		if(typeof formName == "undefined")
		{
			document.listform.submit();
		}
		else
		{
			eval("document."+formName+".submit()");
		}
	}
	
	function goNextPageLDAP(formName,flag)
	{

		document.getElementById("ldapcurrentpage").value = parseInt(document.getElementById("ldapcurrentpage").value)+1;
		document.getElementById("flag").value  = flag;
		
		if (document.getElementById("notiffor") != null && !et_g_isWhitespace(document.getElementById("notiffor").value)) 
		{
			document.listform.formpaging.value = "Yes";
			saveNotifProjects(document.listform.notiffor.value);
		}
		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 (document.getElementById("notiffor") != null && !et_g_isWhitespace(document.getElementById("notiffor").value)) 
		{
			document.listform.formpaging.value = "Yes";
			saveNotifProjects(document.listform.notiffor.value);
		}
		if(typeof formName == "undefined")
		{
			document.listform.submit();
		}
		else
		{
			eval("document."+formName+".submit()");
		}
	}

	function goPrevPageLDAP(formName,flag)
	{
		document.getElementById("ldapcurrentpage").value = parseInt(document.getElementById("ldapcurrentpage").value)-1;
		document.getElementById("flag").value  = flag;
		if (document.getElementById("notiffor") != null && !et_g_isWhitespace(document.getElementById("notiffor").value)) 
		{
			document.listform.formpaging.value = "Yes";
			saveNotifProjects(document.listform.notiffor.value);
		}
		if(typeof formName == "undefined")
		{
			document.listform.submit();
		}
		else
		{
			eval("document."+formName+".submit()");
		}
	}

	function goFirstPage(formName)
	{
		document.getElementById("currentpage").value = "1";
		if (document.getElementById("notiffor") != null && !et_g_isWhitespace(document.getElementById("notiffor").value)) 
		{
			document.listform.formpaging.value = "Yes";
			saveNotifProjects(document.listform.notiffor.value);
		}
		if(typeof formName == "undefined")
		{
			document.listform.submit();
		}
		else
		{
			eval("document."+formName+".submit()");
		}
	}
	
	function goLastPage(formName)
	{
		document.getElementById("currentpage").value = "-1";
		if (document.getElementById("notiffor") != null && !et_g_isWhitespace(document.getElementById("notiffor").value)) 
		{
			document.listform.formpaging.value = "Yes";
			saveNotifProjects(document.listform.notiffor.value);
		}
		if(typeof formName == "undefined")
		{
			document.listform.submit();
		}
		else
		{
			eval("document."+formName+".submit()");
		}
	}


	function goToPage(formName)
	{
		var val;
		var elem;
		var x=document.getElementsByName("usergopage");
		
		if( !et_g_isWhitespace(x[0].value))
		{
			elem = x[0];
			val = (x[0].value).replace(/^\s*|\s*$/g,'');
		}
		else if ( x[1] && !et_g_isWhitespace(x[1].value))
		{
			elem = x[1];
			val = (x[1].value).replace(/^\s*|\s*$/g,'');
		}
		var totalPages = document.getElementById("totalpages").value;

		if(et_g_isWhitespace(val))
		{	
			alert(generalMsgLocalizer.getMessage("wiki_enterNumericValue"));
			// elem is undefined if the val is blank 
			elem = x[0];
			elem.focus();
			return;
		}
		var a= et_g_isNonZeroInteger(val);
		if(!a)
		{
			alert(generalMsgLocalizer.getMessage("wiki_enterNumericValue"));
			elem.focus();
			return;
		}
		
		if( (parseInt(val,10) <= 0 ) || (parseInt(val,10) > parseInt(totalPages,10)) )
		{
			var msgargs = [totalPages];
			alert(generalMsgLocalizer.getMessage("wiki_invalidPageNumber", msgargs));
			elem.focus();
			return;
		}
		else
		{
			document.getElementById("currentpage").value = val;
			
			if (document.getElementById("notiffor") != null && !et_g_isWhitespace(document.getElementById("notiffor").value)) 
			{
				document.listform.formpaging.value = "Yes";
				saveNotifProjects(document.listform.notiffor.value);
			}
			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\" hspace=\"5\">"+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= "<img src=\""+getAppPath()+"/images/ix_ap_all/16x16/information.png\" align=\"absmiddle\" border=\"0\" hspace=\"5\">"+sys_info;
		}
		
		if(!et_g_isWhitespace(sys_warn) && sys_info!="$WARN_MSG" && document.getElementById("div_sys_warn") != null)
		{
			document.getElementById("div_sys_warn").setAttribute("class","sys_warn_visible");
			document.getElementById("div_sys_warn").className = "sys_warn_visible";
			document.getElementById("div_sys_warn").innerHTML= "<img src=\""+getAppPath()+"/images/ix_ap_all/16x16/warning.png\" align=\"absmiddle\" border=\"0\" hspace=\"5\">"+sys_warn;
		}
		if(document.getElementById("editpage_title") != null)
		{
			document.getElementById("editpage_title").removeAttribute("disabled");
		}
		
		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);
		    var is_chrome     = (agt.indexOf("chrome") != -1);
			if(is_chrome)
				is_safari = false;
				
				
		    if(!is_ie6up && !is_nav6up && !is_safari && !is_chrome)
		    {
		    	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_";
		var checked = elem.checked;
		
		if(idx==0){
			if(!checked){
				token ="_"
				for ( var i=0; i < document.userperm.length; i++)
				{
					elem = document.userperm.elements[i];
					if( elem.name && elem.name.indexOf(token) != -1 )
					{
					    if(!elem.disabled)
						elem.checked = checked; 
					}
				}
		
			} else {
				for ( var i=0; i < document.userperm.length; i++)
				{
					elem = document.userperm.elements[i];
					if( elem.name && elem.name.indexOf(token) != -1 )
					{
					    if(!elem.disabled)
						elem.checked = checked; 
					}
				}
			
			}
		//auto select of the top level check boxes depengding on the state of
		//read check box	
			if(checked)
			{
				document.userperm.selallmembers.checked=checked;
			}
			else
			{
				document.userperm.selallmembers.checked=checked;
				document.userperm.selalladmin.checked=checked;
				document.userperm.selallmem.checked=checked;
			}				
		}else if(idx==1)
		{
			if(checked){
			var token1 = "chkc_";
				for ( var i=0; i < document.userperm.length; i++)
				{
					elem = document.userperm.elements[i];
					if( elem.name && elem.name.indexOf(token) != -1 || elem.name && elem.name.indexOf(token1) != -1 )
					{
						if(!elem.disabled)
						elem.checked = checked; 
					}
				}
			}	else {
			token = "chke_";
			var token1 = "chkc_";
			
			for ( var i=0; i < document.userperm.length; i++)
				{
					elem = document.userperm.elements[i];
					
					if( elem.name && elem.name.indexOf(token) != -1 || elem.name && elem.name.indexOf(token1) != -1 )
					{
						if(!elem.disabled)
						elem.checked = checked; 
					}
				}
			}
		
		//auto select of the top level check boxes depengding on the state of
		//comment check box
		if(checked)
		{
			document.userperm.selallmembers.checked=checked;
			document.userperm.selalladmin.checked=checked;
		}
		else
		{
			document.userperm.selalladmin.checked=checked;
			document.userperm.selallmem.checked=checked;
		}	
			
			
		}
	}

	function checkAllGroups(elem, idx)
	{
		var token = "chkr_";
		var checked = elem.checked;
		
		if(idx==0){
			if(!checked){
				token ="_"
				for ( var i=0; i < document.groupperm.length; i++)
				{
					elem = document.groupperm.elements[i];
					if( elem.name && elem.name.indexOf(token) != -1 )
					{
					    if(!elem.disabled)
						elem.checked = checked; 
					}
				}
		
			} else {
				for ( var i=0; i < document.groupperm.length; i++)
				{
					elem = document.groupperm.elements[i];
					if( elem.name && elem.name.indexOf(token) != -1 )
					{
					    if(!elem.disabled)
						elem.checked = checked; 
					}
				}
			
			}
		//auto select of the top level check boxes depengding on the state of
		//read check box	
			if(checked)
			{
				document.groupperm.selallmembers.checked=checked;
			}
			else
			{
				document.groupperm.selallmembers.checked=checked;
				document.groupperm.selalladmin.checked=checked;
				document.groupperm.selallmem.checked=checked;
			}
				
		}else if(idx==1)
		{
			if(checked){
			var token1 = "chkc_";
				for ( var i=0; i < document.groupperm.length; i++)
				{
					elem = document.groupperm.elements[i];
					if( elem.name && elem.name.indexOf(token) != -1 || elem.name && elem.name.indexOf(token1) != -1 )
					{
						if(!elem.disabled)
						elem.checked = checked; 
					}
				}
			}	else {
			token = "chke_";
			var token1 = "chkc_";
			
			for ( var i=0; i < document.groupperm.length; i++)
				{
					elem = document.groupperm.elements[i];
					
					if( elem.name && elem.name.indexOf(token) != -1 || elem.name && elem.name.indexOf(token1) != -1 )
					{
						if(!elem.disabled)
						elem.checked = checked; 
					}
				}
			}

		//auto select of the top level check boxes depengding on the state of
		//comment check box
		if(checked)
		{
			document.groupperm.selallmembers.checked=checked;
			document.groupperm.selalladmin.checked=checked;
		}
		else
		{
			document.groupperm.selalladmin.checked=checked;
			document.groupperm.selallmem.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 openContactFooter(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):"")
			url = url+"&footer=yes"
			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.from.value))
		{
			alert(generalMsgLocalizer.getMessage("contact_enterFrom"));
			document.userperm.from.focus();
			return false;
		}
		//....also add reg ex email chk
		if(!isEmailAddr(document.userperm.from.value))
		{
			alert(generalMsgLocalizer.getMessage("common_enterValidEmail"));
			document.userperm.from.focus();
			return false;
		}		

		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+"&oplag=edit";
	}
	
	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;
		}*/
		prepareLoginBox();
		
 		var maindiv = document.getElementById("login_div");
 		maindiv.className="log_div_show";
	}
	
	/* position and prefill with cookie info */
	function prepareLoginBox()
	{
		var pos = et_edd_anchorPosition("loginanchor");
 		var maindiv = document.getElementById("login_div");
 		
 		pos.x = pos.x -270;
 		pos.y = pos.y +5;
 		maindiv.style.left = pos.x;
 		maindiv.left = pos.x;
 		maindiv.style.top = pos.y;
 		maindiv.top = pos.y;
 		//gives js error since the element is not yet loaded/visible
 		//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();
	}
//  Method addSelectedTopic() added by shriniwas to support Autocomplete feature 
//	for Tag field.
	function addSelectedTopic(topic)
	{	
		
		var elem;
		var i=0;
		var tName = "";
		var arNewTopics;
		var totalChkbox=0;
		var tName = "";
		var arNewTopics;
		var tab=document.getElementById('div_droptopic');
		var inputs=tab.getElementsByTagName('input');
		
			
		if(!et_g_isWhitespace(document.getElementById("editpage_topic").value))
		{
			
			arNewTopics = document.getElementById("editpage_topic").value.split(",");
			
		}
		else
		{
			arNewTopics = new Array();
		}
		
		
		for(x=0;x<inputs.length;x++)
		{
			if(inputs[x].type=="checkbox")
			{
				tName = inputs[x].name.substring(inputs[x].name.indexOf("chktc_")+6);
				if(inputs[x].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();
				
		}	
// Shriniwas: Method Ends.				


	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
		{
			if(document.getElementById("econtent"))
			{
				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(); 
					}
				}
			}
			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 savePrevDraftButtons = ["cust_save","space",
		                     "cust_draft","space", 
		                     "cust_preview","space", 
		                     "cust_cancel","space","separator"];
		
		var stdRow1 = [ "insertimage","linkattachment", "createlink", "inserttable","separator",
						 "spellcheck","findreplace","separator",
						 "insertsmiley","insertpanel","inserthorizontalrule","separator",
						 "showhelp",						 
						 "advsimp" ];
				
		var stdRow2 = [  "formatblock","space","fontname","space","fontsize","separator",
						  "bold","italic", "underline", "strikethrough", "separator",
						  "justifyleft", "justifycenter", "justifyright", "justifyfull", "separator", 
						  "insertorderedlist", "insertunorderedlist","separator",
						  "forecolor", "hilitecolor", "separator",
						  "removeformat" ];
		
		var advRow1 = [ "cut","copy","paste","pasteastext","separator",
						"insertimage","linkattachment", "createlink", "inserttable","separator",
						"spellcheck","findreplace","separator",
						"insertsmiley","createanchor","insertpanel","inserthorizontalrule","insertspecialchar", 
						"insertwiki","separator","insertplugin", "contentextract", "extractword", "showmath","separator",
						"htmlmode","popupeditor", "separator", 
						"showhelp","separator","advsimp" ];
		
		var advRow2 = [ "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","clearfont" ,"separator",
						"showborder", "separator",
						"subscript", "superscript","lefttoright", "righttoleft", "separator",
						"undo", "redo","separator" ];
		
		var safari2Row = [ "cut",
						   "bold","italic", "underline", "strikethrough", "separator",
						   "justifyleft", "justifycenter", "justifyright", "justifyfull",
						   "undo", "redo","subscript", "superscript","lefttoright", "righttoleft","separator",//advanced
						   "htmlmode","popupeditor", "separator",
						   "showhelp" ];
		
		
		if (typeof editorButtons != 'undefined') {
			if (typeof editorButtons.std_row_1 != 'undefined') {
				stdRow1 = editorButtons.std_row_1;
			}
			if (typeof editorButtons.std_row_2 != 'undefined') {
				stdRow2 = editorButtons.std_row_2;
			}
			if (typeof editorButtons.adv_row_1 != 'undefined') {
				advRow1 = editorButtons.adv_row_1;
			}
			if (typeof editorButtons.adv_row_2 != 'undefined') {
				advRow2 = editorButtons.adv_row_2;
			}
		}
		
	    var advsimp_icon = "";
	    var advsimp_tip = "";
		if (!isAdvanced)
		{
			configObj.toolbar = new Array();
			var topRow = savePrevDraftButtons.concat(stdRow1);
			configObj.toolbar[0] = topRow;
			configObj.toolbar[1] = stdRow2;
			
			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") {
				var idx = getIndexFromArray(advRow1,"extractword");
				if (idx != -1) {
					advRow1.splice(idx,1);
				}
				idx = getIndexFromArray(advRow2,"extractword");
				if (idx != -1) {
					advRow2.splice(idx,1);
				}
			}

			configObj.toolbar = new Array();
			var topRow = savePrevDraftButtons.concat(advRow1);
			configObj.toolbar[0] = topRow;
			configObj.toolbar[1] = advRow2;
				
			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 = new Array();
			 var topRow = savePrevDraftButtons.concat(safari2Row);
		}
		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())
		{			
			if (isToolBarButtonAvailable("clearfont", configObj.toolbar[0],configObj.toolbar[1])) {
				configObj.registerButton("clearfont", (editorCustomMsgLocalizer.getMessage("clear_font")), 
						getAppPath()+"/htmlarea/images/clear_font.gif", false, editBtnHandler);
			}
			if (isToolBarButtonAvailable("removeformat", configObj.toolbar[0],configObj.toolbar[1])) {
				configObj.registerButton("removeformat", (editorCustomMsgLocalizer.getMessage("remove_formatting")+" Ctrl+Space"), 
						appendImagePath("object/16x16/ed_rmformat.gif"), false, editBtnHandler);
			}
			if (isToolBarButtonAvailable("insertsmiley", configObj.toolbar[0],configObj.toolbar[1])) {
				configObj.registerButton("insertsmiley", editorCustomMsgLocalizer.getMessage("insert_smiley"), 
						appendImagePath("state/16x16/regular_smile.gif"), false, editBtnHandler);
			}
			if (isToolBarButtonAvailable("createanchor", configObj.toolbar[0],configObj.toolbar[1])) {
				configObj.registerButton("createanchor", editorCustomMsgLocalizer.getMessage("create_anchor"), 
					appendImagePath("object/16x16/anchor.gif"), false, editBtnHandler);
			}
			if (isToolBarButtonAvailable("insertpanel", configObj.toolbar[0],configObj.toolbar[1])) {
				configObj.registerButton("insertpanel", editorCustomMsgLocalizer.getMessage("insert_panel"), 
					appendImagePath("other/16x16/layout.png"), false, editBtnHandler);
			}
			if (isToolBarButtonAvailable("insertspecialchar", configObj.toolbar[0],configObj.toolbar[1])) {
				configObj.registerButton("insertspecialchar", editorCustomMsgLocalizer.getMessage("insert_special_characters"), 
					appendImagePath("object/16x16/specialchar.png"), false, editBtnHandler);
			}
			if (isToolBarButtonAvailable("findreplace", configObj.toolbar[0],configObj.toolbar[1])) {
				configObj.registerButton("findreplace", (editorCustomMsgLocalizer.getMessage("find_replace")+(" Ctrl+F/Ctrl+H")), 
					appendImagePath("ix_ap_all/16x16/text_find.png"), false, editBtnHandler);
			}
			if (isToolBarButtonAvailable("pasteastext", configObj.toolbar[0],configObj.toolbar[1])) {
				configObj.registerButton("pasteastext", editorCustomMsgLocalizer.getMessage("paste_as_text"), 
					appendImagePath("operation/16x16/ed_paste_text.gif"), false, editBtnHandler);
			}
			if (canDoSpellCheck=="true" && isToolBarButtonAvailable("spellcheck", configObj.toolbar[0],configObj.toolbar[1])) {
				configObj.registerButton("spellcheck", (editorCustomMsgLocalizer.getMessage("spell_check")+"  F7"),
						appendImagePath("other/spell-check.gif"), false, editBtnHandler);
			}
			if (isToolBarButtonAvailable("insertimage", configObj.toolbar[0],configObj.toolbar[1])) {
				configObj.registerButton("insertimage", editorCustomMsgLocalizer.getMessage("insert_modify_image"),
					getAppPath()+"/htmlarea/images/ed_image.gif", false, function(editor){editor._insertImage()});
			}
			if (isToolBarButtonAvailable("linkattachment", configObj.toolbar[0],configObj.toolbar[1])) {
				configObj.registerButton("linkattachment", editorCustomMsgLocalizer.getMessage("link_attachment"),
						appendImagePath("object/16x16/attachment.gif"), false, function(editor){editor._linkAttachment()});
			}
			if (isToolBarButtonAvailable("createlink", configObj.toolbar[0],configObj.toolbar[1])) {
				configObj.registerButton("createlink", editorCustomMsgLocalizer.getMessage("insert_link"),
						getAppPath()+"/htmlarea/images/ed_link.gif", false, function(editor){editor._createLink()});
			}
			if (isToolBarButtonAvailable("advsimp", configObj.toolbar[0],configObj.toolbar[1])) {
				configObj.registerButton("advsimp", advsimp_tip, appendImagePath(advsimp_icon), true, editBtnHandler, null, "");
			}
			if(isAdvanced)
			{
				if (isToolBarButtonAvailable("insertwiki", configObj.toolbar[0],configObj.toolbar[1])) {
					configObj.registerButton("insertwiki", editorCustomMsgLocalizer.getMessage("insert_wiki_text"), 
							appendImagePath("operation/16x16/wikicon.gif"), false, editBtnHandler);
				}
				if (isToolBarButtonAvailable("insertplugin", configObj.toolbar[0],configObj.toolbar[1])) {
					configObj.registerButton("insertplugin", editorCustomMsgLocalizer.getMessage("insert_plugin"), 
							appendImagePath("ix_ns_all/16x16/plug.png"), false, editBtnHandler);
				}
				//added as is
				configObj.registerButton("pluginclude", editorCustomMsgLocalizer.getMessage("include_page"),
						appendImagePath("ix_ns_all/16x16/include_plugin.gif"), false, editBtnHandler);

				if (isToolBarButtonAvailable("contentextract", configObj.toolbar[0],configObj.toolbar[1])) {
					configObj.registerButton("contentextract", editorCustomMsgLocalizer.getMessage("insert_excel"), 
							appendImagePath("object/16x16/xls.png"), false, editBtnHandler);
				}
				if (showExtractWord.trim() == "true" && isToolBarButtonAvailable("extractword", configObj.toolbar[0],configObj.toolbar[1])) {
					configObj.registerButton("extractword", editorCustomMsgLocalizer.getMessage("insert_word"), 
							appendImagePath("other/16x16/word.png"), false, editBtnHandler);
				}
				if (isToolBarButtonAvailable("showmath", configObj.toolbar[0],configObj.toolbar[1])) {
					configObj.registerButton("showmath", editorCustomMsgLocalizer.getMessage("insert_math"), 
							appendImagePath("other/16x16/math_editor.gif"), false, editBtnHandler);
				}
				if (isToolBarButtonAvailable("showborder", configObj.toolbar[0],configObj.toolbar[1])) {
					configObj.registerButton("showborder", editorCustomMsgLocalizer.getMessage("show_table_bdr"), 
							appendImagePath("operation/16x16/show_table_border.png"), false, function(editor){editor._toggleBorders()});
				}
			}
		}
	}
	
	
	function editBtnHandler(editor, buttonId, elemWrap)
	{
	     switch (buttonId) {
		    case "cust_save":
		    	saveClicked = true;
				if ( isGuest() && document.getElementById("validate_guest_value").value == "true" ){
					showCaptchaForGuestInEdit();
				} else {
					if (elemWrap.enabled && savePage()) {
						editor.changeEditorState(false);
		    		}
				}
		    	break;
		    case "cust_cancel":
		    	if(!stopToSave('cancel'))
		    	{
		    		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":
			  	showPluginList()
				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;		
			case "clearfont":
				editor._clearFonts();
				break;				
		  }
	}
	
	function showCaptchaForGuestInEdit()
	{
		centerPopup();
		loadPopup();
		var captchaDiv = document.getElementById("popupContact");
		var ajaxReader  = new WikiAjax();
		ajaxReader.setMethodTOPOST();
		var afterShowCaptcha = new ShowCaptchaForGuestInEditHandler(captchaDiv);
		ajaxReader.setCallback(afterShowCaptcha.process);
		var params = new Array();
		var req = createRequest(createManagerMethod("createCaptchaForGuestValidationInEdit", params));
		ajaxReader.addField("reqdata", req);
		ajaxReader.send();
	}

	function ShowCaptchaForGuestInEditHandler(captchaDiv)
	{
		this.captchaDiv = captchaDiv;
		this.process = process;
		
		function process( responseDOM, errorMessage, responseText )
		{
			var obj = parseResponse(responseDOM);
			if(obj == null)
			{
				alert(generalMsgLocalizer.getMessage("response_not_well"));
			}
			else
			{
				if(obj.statusCode == "200")
				{ 
					if(obj.output +"" != "")
					{
						captchaDiv.innerHTML = obj.output;
					}
				}
			}
		}
	}

	function validateCaptchaForGuest(calledFrom)
	{
		try
		{
			var isValid = new WikiAjax();
			isValid.setMethodTOPOST();
			var validateCaptchaForGuestHandler = new ValidateCaptchaForGuestHandler(calledFrom);
			isValid.setCallback(validateCaptchaForGuestHandler.process);
			var params = new Array();
			params[0] = new Object();
			params[0].type = "String";
			params[0].value = document.getElementById("txt_j_captcha_response").value;
			params[1] = new Object();
			params[1].type = "httprequest";
			params[1].value = "";
			
			var req = createRequest(createManagerMethod("validateCaptchaForGuest", params));
			isValid.addField("reqdata", req);
			isValid.send();
		}
		catch(err){}
	}
	
	function ValidateCaptchaForGuestHandler(calledFrom)
	{
		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")
						{
							if (obj.output +"" == "true")
							{
								if (calledFrom == "EDIT") {
									savePage();
									showLoading();
								} else if (calledFrom == "DISCUSSION") {
									document.creatediscussion.submit();
									showLoading();
								} else if (calledFrom == "ATTACHMENTS") {
									document.attach_form.submit();
								}
							}
							else
							{
								alert(generalMsgLocalizer.getMessage("wikieditproj_invalidcaptcha"));
								document.getElementById("captchaimage").src = siteContext + "jcaptcha?random=" + new Date();
								document.getElementById("txt_j_captcha_response").value = "";
								document.getElementById("txt_j_captcha_response").focus();
							}
						}
					}
				}
			}
			catch(err){}
		}
	}

	function toggleEditButtons(editorObj)
	{
		toolBarAdvanced = !toolBarAdvanced;
		setToolbarButtons(toolBarAdvanced, editorObj.config);

		if( typeof hideToolBarButtons != "undefined" && 
				!et_g_isWhitespace(hideToolBarButtons) && 
				hideToolBarButtons != "$HIDE_BUTTONS" ) {
			editorObj.config.hideSomeButtons(hideToolBarButtons);	
		}
		
		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)
		{
			if (getIndexFromArray(editorObj.config.toolbar[0], "findreplace") !=-1 || 
					getIndexFromArray(editorObj.config.toolbar[1], "findreplace") !=-1) {
				editorObj.registerPlugin("FindReplace");
			}
			if (getIndexFromArray(editorObj.config.toolbar[0], "paste") !=-1 || 
					getIndexFromArray(editorObj.config.toolbar[1], "paste") !=-1) {
				editorObj.registerPlugin("PasteText");
			}
		}
		if (getIndexFromArray(editorObj.config.toolbar[0], "inserttable") !=-1 || 
				getIndexFromArray(editorObj.config.toolbar[1], "inserttable") !=-1) {
			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 ((listType != null && listType == 'advsearch') && ( document.getElementById("advsearchprojname") != null ))
		{
			projname = document.getElementById("advsearchprojname").value;
		}
		else 
		{
			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;
		}
		if( document.getElementById("family") != null )
		{
			family 	= document.getElementById("family").value;
		}
		searchtext 	= "";
	
		if( document.getElementById("toolbox_search") != null )
		{
			searchtext 	= document.getElementById("toolbox_search").value;
		}
		var url = new Array();
		url[0] = siteContext + "wikirss/feed";
		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(URLEncode(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));
		}
		if(typeof family != "undefined" && !et_g_isWhitespace(family))
		{
			url.push("&family=");
			url.push(URLEncode(family));
		}

		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_openSettings()
	{
	    callLoc = window.location.href;

	    if (callLoc.indexOf("usersettings.jsp?cp=") == -1)
	    {
	    	callLoc = callLoc.substring(callLoc.indexOf("/cm"));
	    	
	    	//added by abhi as a fix for Issue 42264
	    	if(document.getElementById("projectname")!=null)
	    	{
	    		var projectNameParam="?projectname="+document.getElementById("projectname").value;
	    		// if there is no project name in the query string add it    		
	    		if(callLoc.indexOf(projectNameParam)== -1 && callLoc.indexOf("?")== -1)
	    			{
	    				callLoc = callLoc+projectNameParam;	    				
	    			}
	    	}
	    	//added by abhi ends

	    	window.location.href=appendPath("usersettings.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 editProject()
	{
		//var width = getWindowWidth();
		//openPopup(appendPath("projectusers.jsp?projectname="+URLEncode(getProjectTitle())), 1250, 560, "projusers");		
		window.location.href=appendPath("editproject.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;
		else if (document.domainldapusers)
			formObj = document.domainldapusers;

		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" 
					|| colName == "lfname" || colName == "llname")
			{
				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.disabled && 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()) && isDraft=="false")	// fix for Issue - 51004
						  {
								var message = generalMsgLocalizer.getMessage("content_modified_msg");
								returnVal = !confirm(message);
								if(returnVal)
								{
									  wys_editor.focusEditor();
								}
						  }
						  else if(!isEquals(unsavedEditorHTML, wys_editor.getInnerHTML()) && isDraft=="true" && logout=="go") // if content is draft & modified 
						  {
						  
						   var message = generalMsgLocalizer.getMessage("draft_content_cancel_recent_msg");
						   returnVal = !confirm(message);
						   if(returnVal)
								{
									  wys_editor.focusEditor();
								}
						  }
						  else if(isDraft=="true" && logout=="cancel") // if content is draft and canceled
						  {
						  
						   var message = generalMsgLocalizer.getMessage("draft_content_cancel_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,showRoot)
	{
		try
		{
			var uid = et_g_replace(id,"$","_");
			
			var sRoot="false";
			if(typeof showRoot == "undefined")
			{
				sRoot="false";
			}
			else
			{
				if(showRoot == "true" || showRoot == "false")
				{
					sRoot=showRoot;
				}	
			}
			var getChildren = new WikiAjax();
			getChildren.setMethodTOPOST();
			var getChildrenHandler = new GetChildrenHandler(id,uid);
			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;
			params[4] = new Object();
			params[4].type = "String";
			params[4].value = sRoot;
			params[5] = new Object();
			params[5].type = "String";
			params[5].value = uid+"_ul";
			var req = createRequest(createManagerMethod(methodName, params));
			getChildren.addField("reqdata", req);
			getChildren.send();
		}
		catch(err){}
	}
	
	function GetChildrenHandler(id,uid)
	{
		this.id = id;
		this.uid = uid;
		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_tree(uid+"_ul");
						}
					}
				}
			}
			catch(err){alert(err)}
		}
	}
	
	//callback in common.js
	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(false);
			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,"net.etouch.contmgmt.wiki.WikiHandler"));
			rssReader.addField("reqdata", req);
			rssReader.send();
		}
	}
	
	
  
	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");
		document.editpage.editpage_undelete.disabled = true;
		}
		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.projusers.flag.value="chgowner_"+val;
				document.projusers.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 getViewPortSize()
	{
		var cords = new Object();
		cords.width = 0;
		cords.height = 0;

		var viewportwidth;
		var viewportheight;
		
		if (typeof window.innerWidth != 'undefined') //FF/Mozilla
		{
		  viewportwidth = window.innerWidth,
		  viewportheight = window.innerHeight
		}
		else if (typeof document.documentElement != 'undefined'	 && 
			 typeof document.documentElement.clientWidth != 'undefined' && 
			document.documentElement.clientWidth != 0)
		{
		  viewportwidth = document.documentElement.clientWidth,
		  viewportheight = document.documentElement.clientHeight
		}
		else
		{
   		viewportwidth = document.getElementsByTagName('body')[0].clientWidth,
   		viewportheight = document.getElementsByTagName('body')[0].clientHeight
		}		
		cords.width = viewportwidth;
		cords.height = viewportheight;
		return cords;
	}

	function getWindowScrollOffsets()
	{
		var scrollOffsets = new Object();
  	var scrOfX = 0, scrOfY = 0;
  	if( typeof( window.pageYOffset ) == 'number' ) {
	    //Netscape compliant
	    scrOfY = window.pageYOffset;
	    scrOfX = window.pageXOffset;
	  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
	    //DOM compliant
	    scrOfY = document.body.scrollTop;
	    scrOfX = document.body.scrollLeft;
	  } else if( document.documentElement && ( document.documentElement.scrollLeft || 
	  				document.documentElement.scrollTop ) ) {
	    //IE6 standards compliant mode
	    scrOfY = document.documentElement.scrollTop;
	    scrOfX = document.documentElement.scrollLeft;
	  }
  	scrollOffsets.x = scrOfX;
  	scrollOffsets.y = scrOfY;
  	return scrollOffsets;
	}

	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;var j = 0;var k = 0;
			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)
				{
					j++;
					if(selectedItems==null)
					{
						//selectedItems = elem.value;
						selectedItems = elem.value.substring(0,elem.value.indexOf("_"));
					}
					else
					{
						//selectedItems += '\u001D' + elem.value;
						selectedItems += '\u001D' + elem.value.substring(0,elem.value.indexOf("_"));
					}
					if(elem.value.indexOf("_20") > 0 ){
							k++;	
					}		
				}
			}
			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();
						var family = 18;
						var listType = document.getElementById("listtype").value;
											
						if (j == k)
						{
							family = 20;
							openPopup(("change_parent.jsp?projectname=" + URLEncode(projTitle) + "&family=" + URLEncode(family)+ "&action=mv_list&changeparent=true&move_items=" + URLEncode(selectedItems)), 600, 530, "movepage");
						}	
						else if (listType == "rnews")
						{
							family = 19;
							openPopup(("change_parent.jsp?projectname=" + URLEncode(projTitle) + "&family=" + URLEncode(family)+ "&action=mv_list&changeparent=true&move_items=" + URLEncode(selectedItems)), 600, 530, "movepage");
						} else {
							openPopup(("change_parent.jsp?projectname=" + URLEncode(projTitle) +   "&action=mv_list&changeparent=true&move_items=" + URLEncode(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 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()
	{
		openPopup(appendPath("exportprojectaspdf.jsp?projectname=")+URLEncode(document.getElementById("projectname").value), 350, 100, "exportprojectaspdf", null);
	}


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

	function downloadhtmlzip(zippath)
	{
		openPopup(appendPath("exporthtml.jsp?filepath=")+URLEncode(zippath)+"&start=true", 350, 100, "exporthtml", null);
		
		if(document.getElementById("downloadLink") != null) // Issue Id - 42028 fixed by satish
		{
		 document.getElementById("downloadLink").innerHTML = "To download Export again.";
		}		
	}
	
	function downloadprojectaspdf(zippath)
	{
		
		openPopup(appendPath("exportprojectaspdf.jsp?filepath=")+URLEncode(zippath)+"&start=true", 350, 100, "exportprojectaspdf", null);
	}
	
	function reIndexSamepage()
	{
		openPopup(appendPath("reindexsamepage.jsp?from=super"), 350, 200, "reindexsamepage", null);
	}

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

	function startRePublishSamepage()
	{
		var reindex = "all";
		if(document.getElementById("chk_projects").value == "" && document.getElementById("chk_blogs").value == "")
		{
			alert("Please select atleast one choice.");
			return false;
		}
		if(document.getElementById("chk_projects").value == "on" && document.getElementById("chk_blogs").value == "on")
		{
			
			reindex = "all";
		}
		else if(document.getElementById("chk_projects").value == "on")
		{
			reindex = "projects";
		}
		else if(document.getElementById("chk_blogs").value == "on")
		{
			reindex = "blogs";
		}
		openPopup(appendPath("republishsamepage.jsp?start=true&from=super&reindex="+reindex), 350, 200, "republishsamepage", null);
	}
	
	function reIndexSamepageDomain(domain)
	{
		openPopup(appendPath("reindexsamepage.jsp?domainName="+domain), 350, 200, "reindexsamepage", null);
	}
	function startReIndexSamepageDomain(domain)
	{
		
		openPopup(appendPath("reindexsamepage.jsp?start=true&domainName="+domain), 350, 200, "reindexsamepage", null);
	}
	
	function rePublishSamepageDomain(domain)
	{
		openPopup(appendPath("republishsamepage.jsp?domainName="+domain), 350, 200, "republishsamepage", null);
	}
	function startRePublishSamepageDomain(domain)
	{
		var reindex = "all";
		if(document.getElementById("chk_projects").value == "" && document.getElementById("chk_blogs").value == "")
		{
			alert("Please select atleast one choice.");
			return false;
		}
		if(document.getElementById("chk_projects").value == "on" && document.getElementById("chk_blogs").value == "on")
		{
			
			reindex = "all";
		}
		else if(document.getElementById("chk_projects").value == "on")
		{
			reindex = "projects";
		}
		else if(document.getElementById("chk_blogs").value == "on")
		{
			reindex = "blogs";
		}
		openPopup(appendPath("republishsamepage.jsp?start=true&domainName="+domain+"&reindex="+reindex), 350, 200, "republishsamepage", null);
	}


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

	function startProjectExport(projectName)
	{
		var selversions=document.getElementById("selversions");
			if(typeof selversions !="undefined")
				{
				selversions=selversions.value;
				}
		openPopup(appendPath("export.jsp?projectname=")+URLEncode(projectName)+"&start=true&selversions="+selversions, 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")) {
			
			var chkd = document.getElementById("chk_imp_proj").checked;
			document.getElementById("imp_file").disabled = !chkd;
			document.createproject.createproject_pdesc.disabled = chkd;
			if (document.createproject.gua_0) {
				document.createproject.gua_0.disabled = chkd;
			}
			if (document.createproject.gua_23) {
				document.createproject.gua_23.disabled = chkd;
			}
			if (document.createproject.gua_24) {
				document.createproject.gua_24.disabled = chkd;
			}
			if (document.createproject.gua_26) {
				document.createproject.gua_26.disabled = chkd;
			}
			if (document.createproject.gua_29) {
				document.createproject.gua_29.disabled = chkd;
			}
			if (document.createproject.rua_0) {
				document.createproject.rua_0.disabled = chkd;
			}
			if (document.createproject.rua_23) {
				document.createproject.rua_23.disabled = chkd;
			}
			if (document.createproject.rua_24) {
				document.createproject.rua_24.disabled = chkd;
			}
			if (document.createproject.rua_26) {
				document.createproject.rua_26.disabled = chkd;
			}
			if (document.createproject.rua_29) {
				document.createproject.rua_29.disabled = chkd;
			}
			if (document.createproject.chk_forum)
			{
				document.createproject.chk_forum.disabled = chkd;
			}
			if (document.createproject.chk_issues)
			{
				document.createproject.chk_issues.disabled = chkd;
			}
			if (document.createproject.chk_news)
			{
				document.createproject.chk_news.disabled = chkd;
			}
			if (document.createproject.chk_polls)
			{
				document.createproject.chk_polls.disabled = chkd;
			}
		}
	}

	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;
					selectedItems = elem.value.substring(0,elem.value.indexOf("_"));
				}
				else
				{
					//selectedItems += '~' + elem.value;
					selectedItems += '~' + elem.value.substring(0,elem.value.indexOf("_"));
				}
			}
		 }
		
		if(typeof selectedItems =="undefined")
		{
			alert(generalMsgLocalizer.getMessage("wiki_selectItemToDel"));
			return false;

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

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

		var selectedItems = null;
		for ( var i=0; i < document.favoriteform.length; i++)
		{
			elem = document.favoriteform.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 = ["Delete"];
		if(selectedItems != null && !et_g_isWhitespace(selectedItems))
		{
			if(confirm(generalMsgLocalizer.getMessage("wiki_areYouSure", msgargs)))
			{	
				document.favoriteform.submit();
			}
		}
		else
		{
			alert(generalMsgLocalizer.getMessage("wiki_selectItem", msgargs));
		}
	}

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

		var selectedItems = null;
		for ( var i=0; i < document.watchlistform.length; i++)
		{
			elem = document.watchlistform.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 = ["Delete"];
		if(selectedItems != null && !et_g_isWhitespace(selectedItems))
		{
			if(confirm(generalMsgLocalizer.getMessage("wiki_areYouSure", msgargs)))
			{	
				document.watchlistform.submit();
			}
		}
		else
		{
			alert(generalMsgLocalizer.getMessage("wiki_selectItem", msgargs));
		}
	}

	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)
	{
		//check if cancel is comming from a page, 
		//if so on cancel back to that page
		if (document.getElementById("searchtext") && 
					(document.getElementById("searchtext").value == "null") )
			document.getElementById("searchtext").value = "";
		if (document.getElementById("ltype") && 
					((document.getElementById("ltype").value == "null") || 
						document.getElementById("ltype").value == "") ) {
			if (document.getElementById("pageids") && (
						document.getElementById("pageids").value != "" )) {
				var pidd = document.getElementById("pageids").value;
				var pids = pidd.split("~");
				if (pids.length > 0) {
					window.location.href = ("/"+appContext+"/wiki/?id="+pids[0]);
					return;
				}
			}
		}
		window.location.href=appendPath("pagelisting.jsp")+"?listtype="+document.getElementById("ltype").value+"&projectname="+URLEncode(getProjectTitle())+"&searchtext="+URLEncode(document.getElementById("searchtext").value) ;
	}

	function deleteSelectedPages()
	{
	  //fix for issue 48261, abhi
	  if(document.confirmdelete.comment!=null)
	  {	
	   if(!et_g_isWhitespace(document.confirmdelete.comment.value))
		{
		   if((document.confirmdelete.comment.value).length > 500)
		   {
			 alert(generalMsgLocalizer.getMessage("confirmdeletepage_descriptionvalidation"));
			 return false;
		   }
		}
	  }	
	  //ends	
	  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 && (extn.toLowerCase() == imgExtns[i].toLowerCase()) ) {
				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=\"javascript:void(0)\" 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=\"javascript:void(0)\" 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);
	   try {
		   window.location.href=url;
	   } catch (err) {	   	
	   }
	}

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

	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()
	{
		if (et_g_isWhitespace(document.getElementById("copypage_title").value))
		{
			alert(generalMsgLocalizer.getMessage("wikieditpage_emptytitle"));
			document.copypage.copypage_title.focus();
			return false;
		}
		if(!et_g_isWhitespace(document.copypage.copypage_desc.value))
		{
			   if((document.copypage.copypage_desc.value).length > 500)
			   {
				 alert(generalMsgLocalizer.getMessage("wikieditpage_descriptionvalidation"));
				 return false;
			   }
			}
		document.getElementById("action").value = "save";
		document.copypage.submit();	
	}

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

	function tlb_copyPageSelectParent(projTitle, pageTitle, oldfamily)
	{
		if(projTitle != null && pageTitle != null)
		{
			openPopup(("pagelisting_dialog.jsp?projectname=" + URLEncode(projTitle) + 
				"&pagetitle="+URLEncode(pageTitle) + "&copyfamily=" + URLEncode(oldfamily)
					+ "&copypage=true&showlisting=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();
				document.editpage.editpage_title.focus();
				return false;
		}
		openPopup(("pagelisting_dialog.jsp?showlisting=true&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 = "";
					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 args = [getPageType];
				alert(generalMsgLocalizer.getMessage("name_has_illegal_chars", args));
				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(getPageType()=="News" || getPageType()=="Issue" || getPageType()=="Thread")
		{
			pageTitle = null;
		}
		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()
	{
        if( document.getElementById("selecttitle") != null && !et_g_isWhitespace(document.getElementById("selecttitle").value) )
		{
			if(!isValidPageName(document.getElementById("selecttitle").value))
	        {
		      alert(generalMsgLocalizer.getMessage("msg_search_inputvalidation"));
		      $("#selecttitle").focus();
		      return false;
		    }
		}
		if( document.getElementById("selectcreatedby") != null && !et_g_isWhitespace(document.getElementById("selectcreatedby").value) )
		{
			if(!isValidPageName(document.getElementById("selectcreatedby").value))
	        {
		      alert(generalMsgLocalizer.getMessage("msg_search_inputvalidation"));
		      $("#selectcreatedby").focus();
		      return false;
	        }
		}
        if( document.getElementById("assignedto") != null && !et_g_isWhitespace(document.getElementById("assignedto").value) )
		{
			if(!isValidPageName(document.getElementById("assignedto").value))
	        {
		      alert(generalMsgLocalizer.getMessage("msg_search_inputvalidation"));
		      $("#assignedto").focus();
		      return false;
	        }
		}
        var val = document.getElementById("selectbugid").value;
		var projname = document.getElementById("projectname").value;
		var actionurl = "issuelisting.jsp?projectname="+projname+"&action=filter";
		if(val !=null){val= trim(val);}
		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");		
	}
	
	function tlb_usr_grp_admin_domain(domain)
	{
		var width = getWindowWidth();
		window.location.href=appendPath("usergrpadmin.jsp?domainName="+domain);		
	}

	//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(emailList.trim() == '') //Commented For Issue Id:53072-Amit B.
			if(emailList == '' || et_g_isWhitespace(emailList))
				message1 += generalMsgLocalizer.getMessage("wiki_enterEmails");
			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 = generalMsgLocalizer.getMessage("common_enterValidEmail")+ '\n';
		}
		
		
		if(message1 != '')
		{
			document.invite.emailList.value = "";
			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;
		   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 invitedImgElem = document.getElementById('chk_invitation_img_'+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);
		var invitedElem = document.getElementById('chk_invitation_'+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;
		}
		//check added to avoid javascript error...by binod
		if(invitedImgElem!=null)
		{
			//clear invited element also..avneet
			if (invitedImgElem.id != elemId) 
			{
				invitedElem.value = 0;
				invitedImgElem.firstChild.src = inviteImgs[0];
				var tt= [uid];
				invitedImgElem.firstChild.title = generalMsgLocalizer.getMessage("invite_msg")+" "+uid;
			}
		}			
	}
	function saveGlobalUsers()
	{
		document.getElementById('savebtn').disabled="true";
		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 bchvar = 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 = "";
					}
					bchvar = document.getElementById('perm_bcr_'+uid);
					if (bchvar)
					{
						bchvar.value = 2;
						bcElem = document.getElementById('bc_icon_'+uid);
						bcElem.firstChild.src = permImgs[bchvar.value];            	
						bcElem.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;          	            	
					}
					bchvar = document.getElementById('perm_bcr_'+uid);
					if (bchvar)
					{
						var initVal = document.getElementById('perm_init_'+uid).value;
						bchvar.value = 0;
						bcElem = document.getElementById('bc_icon_'+uid);
						bcElem.firstChild.src = permImgs[bchvar.value];
						bcElem.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("bc_icon_")==0)
		   {
				uid = elemId.substring(8);
				bchvar = document.getElementById('perm_bcr_'+uid);
				suhvar = document.getElementById('perm_spa_'+uid);
				if (bchvar.value != 2 && ( !suhvar || suhvar.value != 1))
				{
					bchvar.value = (bchvar.value ==0)? 1 : 0;
					elem.firstChild.src = permImgs[bchvar.value];
					if (bchvar.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="";
	}

//commented by abhi
/*	function showProjMemeberPicker(pElemId, projName)
	{
	   var upUrl = appendPath("userpicker.jsp?fv=pm&peid="+pElemId+"&pn="+projName);
		openPopup(upUrl , 565, 400, "userpicker");
	}*/
	
	//added by abhi
	function showProjMemeberPicker(pElemId, projName, hideUserId, ownerElemId)
	{
		var upUrl = appendPath("userpicker.jsp?fv=pm&peid="+pElemId+"&pn="+projName);
    	    	
    	if( (typeof hideUserId !="undefined" && !et_g_isWhitespace(hideUserId))
    		 && (typeof ownerElemId !="undefined" && !et_g_isWhitespace(ownerElemId)) )
	     upUrl = appendPath("userpicker.jsp?fv=pm&peid="+pElemId+"&pn="+projName+"&hideUserId="+hideUserId+"&ownerElemId="+ownerElemId);
	     
		openPopup(upUrl , 565, 400, "userpicker");		

	}
	//added by abhi ends
	
	function showRegUsersPicker(pElemId)
	{
		var upUrl = appendPath("userpicker.jsp?fv=advsearch&peid="+pElemId);
		openPopup(upUrl , 565, 400, "userpicker");
	}
	
	function showUserPicker(fromview, pElemId, dispElemId, excludeCurUser)
	{
	    var upUrl = appendPath("userpicker.jsp?fv="+fromview+"&peid="+pElemId);
	    if(dispElemId) {
	    	upUrl += "&dispelem="+dispElemId;
	    }
	    if (excludeCurUser) {
	    	upUrl += "&excludecuruser="+excludeCurUser;
	    }
			openPopup(upUrl , 565, 400, "userpicker");
	}
	
	
	/**
	 * Modified to show display name and store 
	 */
	function setUserPickerValue(parentElemId, val, dispElemId, displayName)
	{
	  	if (window.opener)
	  	{
	  		if (window.opener.document.getElementById(parentElemId))
	  		{
	  			if (dispElemId) 
	  			{
	  				var theElem = window.opener.document.getElementById(dispElemId);
	  				if (theElem) 
	  				{
	  					if (theElem.nodeName == "input") {
	  						theElem.value = displayName;
	  					} else {
	  						theElem.innerHTML = displayName;
	  					}
	  				}
	  			} //end displayElem
	  			
	  			if (parentElemId) {
	  				window.opener.document.getElementById(parentElemId).value = val;	
	  			}
	  		} // end parentElemId
	  	}
	  	window.close();
	}
	
	//added by abhi
	/**
	 * Modified to show display name and store 
	 */
	function setUserPickerFullNameValue(parentElemId, val, ownerId, ownerElemId)
	{
	
		//set the full name to the parent screen
		if (window.opener)
	  	{
	  		if (window.opener.document.getElementById(parentElemId))
	  		{
	  			if (parentElemId) {
	  				window.opener.document.getElementById(parentElemId).value = val;	
	  			}
	  		} // end parentElemId
	  		
	  		// set the owner id of page to parent screen
	  		if (window.opener.document.getElementById(ownerElemId))
	  		{
	  			var chgownerIdElem = window.opener.document.getElementById(ownerElemId);
	  			if(chgownerIdElem)
	  			{
	  				chgownerIdElem.value=ownerId;
	  			}
	  		}
	  		
	  	}	  	
	  	window.close();
	}
	//added by abhi ends
	
	
	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";
			if(document.getElementById('grpMemDet')!=null)
	    	{
				document.getElementById('grpMemDet').className="tab";
	    	}
			document.getElementById('userMemPage').style.display="block";
			if(document.getElementById('groupMemPage')!=null)
	    	{
				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)
	{
		
		var uid = null;
		if(elem.id && elem.id.indexOf("chk_invitation_img_")==0)
		{
			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));
		}
		
		if (uid && elem.id)
		{
			//clear all perms
		 	clearAllButThis(elem.id, uid);
		 	//now select nonmember	 	
			var nonmemElem = document.getElementById('perm_val_nonmem_'+uid);
			var nonmemImgElem = document.getElementById('perm_img_nonmem_'+uid);
			nonmemElem.value = 1;
			nonmemImgElem.firstChild.src = permImgs[1];
			nonmemImgElem.firstChild.title = permGrantedTip;
		}

	}

	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;
		}
		if(!isValidSearchText(searchText))
		{
			alert(generalMsgLocalizer.getMessage("msg_searchtextvalidation"));
			document.advancedsearch.searchtext.focus();
			return;
		}

		if (searchText == searchLocalizer.getMessage("searchLbl"))
		{
			alert(searchLocalizer.getMessage("searchMsg"));
			document.advancedsearch.searchtext.value = "";
			document.advancedsearch.searchtext.focus();
			return false;
		}
		finalStr = URLEncode(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+",tag";
		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.selectedprojectname.value;
		if(project == "")
		{
			if (getProjectTitle() != null)
			{
				project = getProjectTitle();
			}
			else
			{
				project = "/dummy/";
			}
		}
		var modifiedon = document.advancedsearch.sel_modified.options[document.advancedsearch.sel_modified.options.selectedIndex].value;
		var modifiedby = document.advancedsearch.txt_modifiedby.value;
		if(et_g_isWhitespace(modifiedby))
		{
			modifiedby="-";
		}
		var createdby = document.advancedsearch.txt_createdby.value;
		finalStr = finalStr + URLEncode(seperator)+scope+ URLEncode(seperator)+contenttype+ URLEncode(seperator)+URLEncode(project)+ URLEncode(seperator)+modifiedon+ URLEncode(seperator)+modifiedby+ URLEncode(seperator)+createdby ;
		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()
	{
		try {
			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;
		} catch(err) {			
		}
	}


	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"+"&showlisting=true"), 600, 530, "chooseProject");
			
		}
	//Added by Anuj
	//Opens a project listing dialog to enable user to select projects for the Notification mails	
	function chooseProjectsNotIf(param)
	{
		var tempNotif ;
		var projTitle = getProjectTitle();
		
		if (param == "issue"){
			tempNotif = document.getElementById("notifforfissue").value;
			if ( tempNotif != "default" ) 
				openPopup(("pagelisting_dialog.jsp?projectname=" + URLEncode(projTitle)+"&notiffor="+param+"&issue_notif_projects="+tempNotif+"&flag=true"+"&chooseproject=true"+"&showlisting=true"), 600, 530, "chooseProject");
			else
				openPopup(("pagelisting_dialog.jsp?projectname=" + URLEncode(projTitle)+"&notiffor="+param+"&flag=true"+"&chooseproject=true"+"&showlisting=true"), 600, 530, "chooseProject");
			
		}	
		if (param == "forum"){
			tempNotif = document.getElementById("notifforfforum").value;
			if ( tempNotif != "default" ) 
				openPopup(("pagelisting_dialog.jsp?projectname=" + URLEncode(projTitle)+"&notiffor="+param+"&forum_notif_projects="+tempNotif+"&flag=true"+"&chooseproject=true"+"&showlisting=true"), 600, 530, "chooseProject");
			else 
				openPopup(("pagelisting_dialog.jsp?projectname=" + URLEncode(projTitle)+"&notiffor="+param+"&flag=true"+"&chooseproject=true"+"&showlisting=true"), 600, 530, "chooseProject");
		
		}	
		if (param == "news"){
			tempNotif = document.getElementById("notiffornews").value;	
			if ( tempNotif != "default" ) 
				openPopup(("pagelisting_dialog.jsp?projectname=" + URLEncode(projTitle)+"&notiffor="+param+"&news_notif_projects="+tempNotif+"&flag=true"+"&chooseproject=true"+"&showlisting=true"), 600, 530, "chooseProject");
			else 
				openPopup(("pagelisting_dialog.jsp?projectname=" + URLEncode(projTitle)+"&notiffor="+param+"&flag=true"+"&chooseproject=true"+"&showlisting=true"), 600, 530, "chooseProject");
		}	
		if (param == "d_digest"){
			tempNotif = document.getElementById("notifforddigest").value;	
			if ( tempNotif != "default" ) 
				openPopup(("pagelisting_dialog.jsp?projectname=" + URLEncode(projTitle)+"&notiffor="+param+"&ddigest_notif_projects="+tempNotif+"&flag=true"+"&chooseproject=true"+"&showlisting=true"), 600, 530, "chooseProject");
			else 
				openPopup(("pagelisting_dialog.jsp?projectname=" + URLEncode(projTitle)+"&notiffor="+param+"&flag=true"+"&chooseproject=true"+"&showlisting=true"), 600, 530, "chooseProject");
		}	
	}
	
	function lbl_selProjects(elem,id)
	{
		
		var div = document.getElementById(id);
		if(elem.checked){
			var str = "<a href=\"javascript:void(0)\" onclick=\"javascript:chooseProjectsNotIf('"+id+"');\">"+generalMsgLocalizer.getMessage("label_common_select")+"</a>";
			div.innerHTML = str;
		}else {
			div.innerHTML = "";
		}
		
	}
	
	function selectProject(projectName, projectTitle)
	{
		window.opener.document.advancedsearch.selectedprojectname.value = projectName;
		window.opener.document.advancedsearch.txt_project.value = projectTitle;
		window.close();
	}
	
	function isValidSearchText(s)
	{
		s=stripWhitespace(s);
		var i;
		var count=0;
		
		for (i = 0; i < s.length; i++)
		{
			var c = s.charAt(i);
			if ( c == "\"" ){
				count = count + 1; 
			}
		}
		if (count != 0 )
		{	
			if (count % 2 == 0 )
				return true;
			else
				return false;
		}else
			return true;
		
	}
	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,domain, grpsysid)
	{
		var tmp = "groupmemberslisting.jsp?curgrpid=" + URLEncode(groupid) 
				+ "&curgrpname=" + URLEncode(groupname)
				+ "&curgrptype=" + grptype
				+ "&domainName=" + domain
				+ "&curgrpsysid=" + grpsysid;
		window.location.href=appendPath(tmp);
	}

	function openGroupMembersInParentWindow(groupid, groupname, grptype, grpsysid, curtab,domain)
	{
		var tmp = "groupmemberslisting.jsp?curgrpid=" + URLEncode(groupid) 
				+ "&curgrpname=" + URLEncode(groupname)
				+ "&curgrptype=" + grptype
				+ "&curgrpsysid=" + grpsysid
				+ "&domainName=" + domain
				+ "&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=\"javascript:void(0)\" 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=\"javascript:void(0)\" 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") +"\" alt=\""+ 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") + 
					"\" alt=\""+ generalMsgLocalizer.getMessage("add_proj_to_fav") + 
					"\" align=\"absmiddle\" hspace=\"1\"></a>";
			favoritediv.innerHTML = text;
		}									   
	}

	function openUserDetails(userid, elem, domainId)
	{
		if (elem) {
				var url = getAppPath()+"/wiki/userdetails.jsp?userid="+userid;
				var usrDetDiv = document.getElementById("sppopup");
				
				if (!usrDetDiv) {
					usrDetDiv = document.createElement('div');
					usrDetDiv.setAttribute("id", "sppopup");
					document.body.appendChild(usrDetDiv);
					//could have set this using setattribute before appendchild
					//that doesnot work in the IE
					document.getElementById('sppopup').style.position = "absolute";
					document.getElementById('sppopup').style.border = "2px solid #D3D3D3";
					document.getElementById('sppopup').style.width = "400px";					
				}

				var xCord = findPosX(elem);
				var yCord = findPosY(elem);
				var vpCords = getViewPortSize();
				if (xCord > (vpCords.width - 450)) {
					xCord = (vpCords.width - 450);
				}				
				var ss = getWindowScrollOffsets()
				if (yCord > ((vpCords.height+ss.y) - 190)) { //height is 0 untill the div is populated so hardcoding
					yCord = ((vpCords.height+ss.y) - 190);
				}
				usrDetDiv.style.left=xCord + "px";
				usrDetDiv.style.top=yCord + "px";
				
				/* for page center position
				var vpCords = getViewPortSize();
				var ss = getWindowScrollOffsets()
				var xx = (vpCords.width/2+ss.x) - 200;
				var yy = (vpCords.height/2+ss.y) - 75;
				usrDetDiv.style.left=xx+"px";
				usrDetDiv.style.top=yy+"px";*/
				
				if (!domainId) {
					domainId = "";
				}
				
				var ajaxReader  = new WikiAjax();
				ajaxReader.setMethodTOPOST();
				var udh = new UserDetailsHandler(usrDetDiv);
				ajaxReader.setCallback(udh.process);
				var params = new Array();
				params[0] = new Object();
				params[0].type = "String";
				params[0].value = userid;
				params[1] = new Object();
				params[1].type = "String";
				params[1].value = domainId;
				params[2] = new Object();
				params[2].type = "httprequest";
				params[2].value = "";
						
				var req = createRequest(createManagerMethod("generateUserDetailsUI", params));
				ajaxReader.addField("reqdata", req);
				ajaxReader.send();				
				
		}
		//var url = getAppPath()+"/wiki/userdetails.jsp?userid="+userid;
		//openPopup(url , 550, 350, "personaldetails");
		
	}

	function UserDetailsHandler(udDiv)
	{
		this.udDiv  = udDiv;
		this.process = process;
	
		function process( responseDOM, errorMessage, responseText )
		{
			var obj = parseResponse(responseDOM);
			if(obj == null) {
				alert(generalMsgLocalizer.getMessage("response_not_well"));
			} else {
				if(obj.statusCode == "200") { 
					if(obj.output +"" != "") {
						udDiv.innerHTML = obj.output;
						udDiv.style.display="inline";					
					}
				}
			} // end else
		} //end process
		
	}

	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;
		}
		else if(isValidGroupName(document.creategroup.r_gname.value) ) 
		{
			status= true;
		}
		else
		{
			
			alert(generalMsgLocalizer.getMessage("invalid_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;
		}
		else if(isValidGroupName(document.creategroup.r_gname.value) ) 
		{
			status= true;
		}
		else
		{
			
			alert(generalMsgLocalizer.getMessage("invalid_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, domain, grpsysid)
	{
		var tmp = "nodeselector.jsp?curgrpid=" + URLEncode(groupid) 
				+ "&curgrpname=" + URLEncode(groupname)
				+ "&curgrptype=" + grptype
				+ "&curgrpsysid=" + grpsysid
				+ "&domainName=" + domain
				+ "&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.sortcolumn.value="";
		document.supportform.sortorder.value="";
		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=" + URLEncode(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;
		hideTopicsDD();
		var ele = document.getElementById("edittags");
		ele.className = "edittaginvisible" ;
		ele.setAttribute("class","edittaginvisible") ;
	}
	/*
		Added by Binod
		To validate the tag name by restricting the following:  < > " ^ characters 
		parameter: element id
	*/
	function isValidTag(elementId)
	{
		if(!et_g_isWhitespace(document.getElementById(elementId).value))
		{
			if(!isValidTagName(document.getElementById(elementId).value))
			{
				alert(generalMsgLocalizer.getMessage("wikieditpage_tagvalidation"));
				document.getElementById(elementId).focus();
				return false;
			}
		}
		return true;
	}
	
	function isValidTagName(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 == "$" || c== "*" || 
			     c == "[" ||  c == "]" || c == "}" || c== "{" || c == "?" || 
			     c == "/" ||  c== "\\" || c == "+" || c== "'" || c == ":" )
			{
				return false;
			}
		}
		return true;
	}
	//Added to save only valid tag
	function saveValidTag()
	{
			if(isValidTag('editpage_topic'))
			{
				saveTags();
			}
	}
	//Addition ended
	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("editpage_topic").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("editpage_topic").value=tagwithoutlink;
					document.getElementById("viewtags").innerHTML=tagwithlink;
					
					// Added by Amit B. For Issue id-53145.
					if(opener != null && opener.document.getElementById("listType") != null 
					&& opener.document.getElementById("listType").value == "topic")
					{	
						var opnerUrl = window.opener.document.location.href;
						if(opnerUrl.match("&letter"))
					    var urlToBeRefreshed = opnerUrl.substring(0,opnerUrl.lastIndexOf("&letter"));
					    else
					    var urlToBeRefreshed = opnerUrl;
					    window.opener.document.location.href =   urlToBeRefreshed;
					}
					// Addition Ends.
					
					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 ( !et_g_isWhitespace(document.frmalert.a_title.value))
			{
				if(!isValidEntityName(document.frmalert.a_title.value))
				{
					alert(generalMsgLocalizer.getMessage("alertcreate_invalidtitle"));
					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()
	{
			 x=document.body.scrollLeft;
			 y=document.body.scrollTop;
			 
			 if (navigator.appName.indexOf("Microsoft")!=-1) 
			 {
				winW = document.body.offsetWidth;
				winH = document.body.offsetHeight;
			 }
			 else
			 {
			 	winW = window.innerWidth;
				winH = window.innerHeight;
			 }
			 var flashElem = document.getElementById('loading_div');
			 if (!flashElem)
			 {
				flashElem = document.createElement("div");
				flashElem.innerHTML = "<table border=0 cellspacing=0 cellpadding=0 style='font: small-caps 12px arial; width:120px;height:40px;'><tr><td align=center><img src='"+getAppPath()+"/images/other/ajax-loader.gif' valign='middle' border=0/></td><td>"+generalMsgLocalizer.getMessage("processing")+"</td></tr></table>";
				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 = y_cord;
			flashElem.style.top = y_cord;			 			 
	}
	
	function showGenericLoading(myelem)
	{
		
		var flashElem = document.getElementById("generic_loading_div");
		//create if not present
		if(flashElem == null)
		{
			flashElem = document.createElement("div");
			flashElem.innerHTML = "<img src='"+ getAppPath() + "/images/other/ajax-loader-small.gif"+"' valign='middle' border='0'/>";
			flashElem.setAttribute("id", "generic_loading_div");
			flashElem.style.display = "inline";
			flashElem.style.position = "absolute";
			
			var parNode = myelem.parentNode;
			var nextElem = myelem.nextSibling;
			//if thr is a next element to the passed one, then place before that
			if (nextElem) {
			   parNode.insertBefore(flashElem,null);
			} else {
			   // else add to the parent		   
			   if (parNode) {
				parNode.appendChild(flashElem);
			   }
			}
		}
		
		
		//if div is already thr
		if (flashElem.style.display == "none")
		{
			flashElem.style.display = "inline";
		} 
	}

	function hideGenericLoading()
	{
		var ldiv = document.getElementById("generic_loading_div");
		//alert(ldiv);
		if(ldiv)
		{
			ldiv.style.display = "none";
		}
	}
	

	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 checkEnterKey(e)
	{
		var keynum = 0;
		var evtobj=window.event? event : e
		keynum = evtobj.keyCode
		if (keynum == 13)
		{
			return false;
		}		
	}

	function editAttachment(aid, aname,aTagName,aDesc)
	{
		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='20%'>&nbsp;"+generalMsgLocalizer.getMessage("attachment_tag")+":<input type='text' name='tag"+aid+"' id='tag"+aid+"' size='15%' value='"+aTagName+"' maxlength='100' onkeypress=\"javascript:return checkEnterKey(event)\"/>"+
			"&nbsp;"+generalMsgLocalizer.getMessage("attachment_description")+":<input type='text' name='descId"+aid+"' id='descId"+aid+"' value='"+aDesc+"' size='20%' maxlength='100' onkeypress=\"javascript:return checkEnterKey(event)\"/>"+"&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;
		var tagName= document.getElementById("tag"+aid);
		var actag = $(tagName).autocomplete("autocomplete.jsp",{delay:05,minChars:2,matchSubset:1,matchContains:1,cacheLength:10,onItemSelect:selectItem,onFindValue:findValue,formatItem:formatItem,autoFill:true,multiElement:true});
   		if(actag[0])
    	actag[0].autocompleter.setExtraParams({operation:"taglist",projectname:projectTitle});
	}
	//Added by Anuj
	//Open a new Div with all HTML elements which gives option for updating status,sevarity 
	//and assign_to from issuelisting page.
	function editIssue(iId,TITLE,TOPIC,DESC,STATUS,SEVERITY,NAME,RWCOLOR,EDITMORE,assignToId,canSeeAssignedTo,APPPATH,domainName)
	{
		var editIssueTemplate = "<input type=\"hidden\" id=\""+iId+"_issue_title\" name=\"issue_title\" value=\""+TITLE+"\"> <input type=\"hidden\" id=\""+iId+"_issue_topic\" name=\"issue_topic\" value=\""+TOPIC+"\"> <input type='hidden' id=\""+iId+"_issue_desc\" name=\"issue_desc\" value=\""+DESC+"\"> " + 
		"<table width='100%' cellspacing='0' cellpadding='0' bgcolor='#ffffff' class='Body'><tr onkeydown=\"javascript:trKeyDown(event, this)\" class='"+RWCOLOR+"' onMouseover=\"javascript:chgRowColor(this,'over')\" onFocus=\"javascript:chgRowColor(this,'over')\" onMouseout=\"javascript:chgRowColor(this,'out')\" onBlur=\"javascript:chgRowColor(this,'out')\"> " +
		"<td > <label for='status'>"+generalMsgLocalizer.getMessage("label_common_status")+"</label>:"+"&nbsp;"+"<select id=\""+iId+"_status\" name='status' >"+STATUS+" </select></td>" +
		"<td > <label for='severity'>"+generalMsgLocalizer.getMessage("label_common_severity")+"</label>:"+"&nbsp;"+"<select id=\""+iId+"_severity\" name='severity' >"+SEVERITY+"</select></td>";
				
		if(canSeeAssignedTo == "true"){
			editIssueTemplate = editIssueTemplate + "<td ><label for='assigned'>"+generalMsgLocalizer.getMessage("label_common_assignedto")+"</label>:"+"&nbsp;"+"<input type='text' id=\""+iId+"_assigned\" name='assigned' value='"+assignToId+"'><a href=\"javascript:showProjMemeberPicker('"+iId+"_assigned','"+NAME+"')\" title='"+generalMsgLocalizer.getMessage("title_projecthome_clicktopickuser")+"'><img src='"+APPPATH+"/images/ix_op_all/16x16/user1_view.png'  alt='"+generalMsgLocalizer.getMessage("title_projecthome_clicktopickuser")+"' title='"+generalMsgLocalizer.getMessage("title_projecthome_clicktopickuser")+"' style='border:medium ;vertical-align:middle;'></a></td>";  
		}else{
			editIssueTemplate = editIssueTemplate + "<input type='hidden' id=\""+iId+"_assigned\" name='assigned' value='"+assignToId+"'>"
		}
		editIssueTemplate = editIssueTemplate + "<td > <button type='button' onclick=\"javascript:updateIssue('"+domainName+"','"+iId+"')\" id='edit_issue' name='edit_issue'>"+generalMsgLocalizer.getMessage("label_common_update")+"</button></td>" +
	    "<td ><button type='button' onclick=\"javascript:cancelEditIssue('"+iId+"')\" id='cancel_issue' name='cancel_issue'>"+generalMsgLocalizer.getMessage("label_common_cancel")+"</button></td>";
	    
	    if(canSeeAssignedTo == "true"){
			editIssueTemplate = editIssueTemplate + "<td align='center'>"+EDITMORE+"</td></table>";
		}
		else{
			editIssueTemplate = editIssueTemplate + "<td align='center'>"+EDITMORE+"</td><td >&nbsp;</td></table>";
		}	
	    document.getElementById(iId).innerHTML = editIssueTemplate;
		
	    var div_assigned =document.getElementById(iId+"_assigned");
		var acassigned = $(div_assigned).autocomplete("autocomplete.jsp",{delay:10,minChars:2,matchSubset:1,matchContains:1,cacheLength:10,onItemSelect:selectItem,onFindValue:findValue,formatItem:formatItem,autoFill:true});
	    if(acassigned[0])
	    	acassigned[0].autocompleter.setExtraParams({operation:"projmemberlist",projectname:prjName});
	}
	//Close the issue update Div
	function cancelEditIssue(iId)
	{
		document.getElementById(iId).innerHTML = " ";		
	}
	//Call to saveWikiPage() of WikiManager to update the issue.
	function updateIssue(domainName,issueId)
	{ 
		if( wAjax != null )
		{
			return;
		}
		wAjax = new WikiAjax();
		wAjax.setMethodTOPOST();
		wAjax.setCallback(afterupdateIssue);
		wAjax.addField("reqdata", getIssueSaveData(domainName,issueId));
		wAjax.send();
	}
	function afterupdateIssue(responseDOM, errorMessage)
	{
		if(errorMessage == null)
		{
			var obj = parseResponse(responseDOM);
			if(obj != null)
			{
				if(obj.statusCode == "200")
				{
					document.supportform.submit();
				}
				if(obj.statusCode == "500")
				{
					alert(generalMsgLocalizer.getMessage("msg_issueEdit"));
				}
			}
		}	
	}
	//Set all the parameters of saveWikiPage().
	function getIssueSaveData(domainName,issueId)
	{
		var newText = "";
		var family="21";
		var methodName = "saveWikiPage";
		var params = new Array();
		
		params[0] = new Object();
		params[0].type = "String";
		params[0].value = document.getElementById("projectname").value;
		//String projectName

		params[1] = new Object();
		params[1].type = "long";
		params[1].value = family;
		//long family
		
		params[2] = new Object();
		params[2].type = "String";
		params[2].value = document.getElementById(issueId+"_issue_title").value;
		//String title
		
		params[3] = new Object();
		params[3].type = "String";
		params[3].value = document.getElementById(issueId+"_issue_topic").value;
		//String topic
						
		params[4] = new Object();
		params[4].type = "String";
		params[4].value = document.getElementById(issueId+"_issue_desc").value;
		//String desc
		
		params[5] = new Object();
		params[5].type = "String";
		params[5].value = null ;
		//String content
			
		params[6] = new Object();
		params[6].type = "boolean";
		params[6].value = "true";
		//boolean publish
		
		params[7] = new Object();
		params[7].type = "String";
		params[7].value = null;
		//String parentTitle

		params[8] = new Object();
		params[8].type = "String";
		params[8].value = null;
		//String oldPageTitle

		params[9] = new Object();
		params[9].type = "int";
		params[9].value = document.getElementById(issueId+"_severity").value;
		//int priority
				
		params[10] = new Object();
		params[10].type = "int";
		params[10].value = 1;
		//int activeFlag
		
		params[11] = new Object();
		params[11].type = "String";
		params[11].value = null;
		//String comment

		params[12] = new Object();
		params[12].type = "boolean";
		params[12].value = "true";
		//boolean changeContentAndProps
		
		params[13] = new Object();
		params[13].type = "boolean";
		params[13].value = "false";
		//boolean sendNotif
		
		params[14] = new Object();
		params[14].type = "boolean";
		params[14].value = "true";
		//boolean isMinorChange

		params[15] = new Object();
		params[15].type = "boolean";
		params[15].value = "false";
		// boolean createPage
			 
		params[16] = new Object();
		params[16].type = "String";
		if (document.getElementById(issueId+"_assigned") == null || document.getElementById(issueId+"_assigned").value == "")
		{
			params[16].value = null;
			//alert("assigned == null ");
		}
		else
		{
			params[16].value = domainName+document.getElementById(issueId+"_assigned").value;
		}
		//String assignedTo
		
		params[17] = new Object();
		params[17].type = "boolean";
		params[17].value = "false";
		//boolean checkin

		params[18] = new Object();
		params[18].type = "boolean";
		params[18].value = "false";
		//boolean saveContent

		params[19] = new Object();
		params[19].type = "long";
		params[19].value = 0;
		//long subCategoryId
		
		params[20] = new Object();
		params[20].type = "int";
		params[20].value = document.getElementById(issueId+"_status").value;
		//int status
		
		return createRequest(createManagerMethod(methodName, params));
	}
	//Added by Anuj ends
	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 = "";
	}

	// Begin - Added by Swarna to delete the selected attachments
	function deleteAttachments(pageId)
	{
		var items = getSelectedAttachments();
		if(!et_g_isWhitespace(items))
		{
			var attachItems = [items];
			if(confirm(generalMsgLocalizer.getMessage("attachment_delete")) )
			{
				deleteSelectedAttachments(pageId, attachItems);
			}
		}
		else
		{
			alert(generalMsgLocalizer.getMessage("attachment_select_todelete"));
		}
	}

	function getSelectedAttachments()
	{
		var elem;
		var elems = new Array();
		var itemId = 0;
		for ( var i=0; i < document.attach_form.length; i++)
		{
			elem = document.attach_form.elements[i];
			if( elem.name && elem.name.indexOf("chk_") != -1 )
			{
				if(elem.checked)
				{
					itemId = elem.name.substring(elem.name.indexOf("chk_")+4);
					elems.push(itemId);
				}
			}
		}
		return elems.join(",");
	}

	function deleteSelectedAttachments(pageId, attachItems)
	{
		if( wAjax != null)
		{
			return;
		}
		wAjax = new WikiAjax();
		wAjax.setMethodTOPOST();
		wAjax.setCallback(afterDeleteAttachments);
		var methodName = "deleteSelectedAttachments";
		var params = new Array();
		params[0] = new Object();
		params[0].type = "String";
		params[0].value = pageId;
		params[1] = new Object();
		params[1].type = "String";
		params[1].value = attachItems;

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

	function afterDeleteAttachments(responseDOM, errorMessage)
	{
		if (errorMessage == null) {
			var obj = parseResponse(responseDOM);
			if(obj == null) {
				alert(generalMsgLocalizer.getMessage("response_not_well"));
			} else if (obj.output !=null && trim(obj.output) != "") {
				alert(obj.output);
			}
		} else {
			alert(errorMessage);
		}
		document.attach_form.submit();
	}

	// End - Added by Swarna to delete the selected attachments

	// Begin - Added by Swarna to delete the version of an attachment
	function removeAttachmentVersion(fileUrl)
	{
		if(confirm(generalMsgLocalizer.getMessage("attachment_version_delete")))
		{
			if( wAjax != null)
			{
				return;
			}
			wAjax = new WikiAjax();
			wAjax.setMethodTOPOST();
			wAjax.setCallback(afterRemoveAttachmentVersions);
			var methodName = "deleteAttachmentVersion";
			var params = new Array();
			params[0] = new Object();
			params[0].type = "String";
			params[0].value = fileUrl;

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

	function afterRemoveAttachmentVersions()
	{
		document.attach_form.submit();
	}
	// End - Added by Swarna to delete the version of an attachment

	function showAllVersions(attId, url,showDel)
	{
		attachmentID = attId;
		var divimage = document.getElementById("divimage_"+attachmentID);
		divimage.innerHTML = "<a href=\"javaScript:closeAllVersions("+attachmentID+", &quot;"+url+"&quot;, &quot;"+showDel+"&quot;);\"><img src='"+appPath+"/images/ix_ap_all/12x12/arrow_opening.gif' title='"+generalMsgLocalizer.getMessage("attachment_hideversions")+"' alt='"+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;
		params[2] = new Object();
		params[2].type = "String";
		params[2].value = showDel;
		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,showDel)
	{
		var divimage = document.getElementById("divimage_"+attId);
		divimage.innerHTML = "<a href=\"javaScript:showAllVersions("+attId+", &quot;"+attUrl+"&quot;,&quot;"+showDel+"&quot;);\"><img src='"+appPath+"/images/ix_ap_all/12x12/arrow_closing.gif' title='"+generalMsgLocalizer.getMessage("attachment_showversions")+"' alt='"+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,domain)
	{
		var upUrl = appendPath("domainuserpicker.jsp?st="+state+"&fv=advsearch&peid="+userId + "&domainName=" + domain);
		openPopup(upUrl , 650, 550, "userpicker");
	}
	
	function submitAllDomainUserList()
	{
		document.getElementById("letter").value = "";
		document.getElementById("currentpage").value = 1;
		document.alldomainuserlist_form.submit();
	}
	
	function submitAllDomainList()
	{
		document.getElementById("letter").value = "";
		document.getElementById("currentpage").value = 1;
		document.alldomainlist_form.submit();
	}
	function openSuperDomainAdmin()
	{
		window.location.href=appendPath("superdomainadministration.jsp");
	}

	function createDomain()
	{
		var status=true;

		if(et_g_isWhitespace(document.createdomain.r_dname.value) ) 
		{
			alert(generalMsgLocalizer.getMessage("enter_domain_name"));
			document.createdomain.r_dname.focus();
			status= false;
		}

		if(!validateDomainName(document.createdomain.r_dname.value) ) 
		{
			alert(generalMsgLocalizer.getMessage("invalid_name"));
			document.createdomain.r_dname.focus();
			status= false;
		}
		
		if(status)
		{
			document.createdomain.processflag.value="create";
			document.createdomain.submit();
		}
	}

	function checkDomainAvailability()
	{
		///call ajax
		if( wAjax != null)
		{
			return false;
		}
		var domain = document.createdomain.r_dname.value;
		//dont continue if domain is blank
		if(et_g_isWhitespace(domain))
		{
			return false;
		}

		if(!validateDomainName(domain) ) 
		{
			alert(generalMsgLocalizer.getMessage("invalid_name"));
			document.createdomain.r_dname.focus();
			return false;
		}
		
		
		
		showGenericLoading(document.createdomain.r_dname);
		
		//alert(username);
		wAjax = new WikiAjax();
		wAjax.setMethodTOPOST();
		wAjax.setCallback(receiveDomainAvailability);
		var methodName = "checkDomainAvailability";
		var params = new Array();
		params[0] = new Object();
		params[0].type = "String";
		params[0].value = URLEncode(domain);
		var req = createRequest(createManagerMethod(methodName, params));
		wAjax.addField("reqdata", req);
		wAjax.send();
		return true;
	}
	
	function validateDomainName(strValue)
	{
		//first check if validation is already in progress,scenario might be that user typed in a domain name
		// and clicked on create button, then control will come here due to both focus lose and button press, 
		// but we need to process only once.
		if(domainNameValidationInProgress == true)
			return true;
		
		//set
		domainNameValidationInProgress = true;
		var objRegExp  = /^([a-z]|[A-Z]|[0-9])*$/;
		var ret1 = objRegExp.test(strValue);
		//reset
		domainNameValidationInProgress = false;

		return ret1 ;
	}
	
	function receiveDomainAvailability(responseDOM, errorMessage)
	{
		hideGenericLoading();	
		if(errorMessage == null)
		{
			var obj = parseResponse(responseDOM);
			if(obj == null)
			{
				alert(generalMsgLocalizer.getMessage("response_not_well"));
			}
			else
			{
				var labeltext = '';
				if(obj.statusCode == "200")
				{
					if(obj.output+"" == 'A') 
					{
						labeltext = '<font color="green"> <b>' + generalMsgLocalizer.getMessage("domain_available") + '</b> </font>';
					}else
					{
						labeltext = '<font color="red"> <b>' + generalMsgLocalizer.getMessage("domain_unavailable") + '</b> </font>';
					}
				}
				
				//document.getElementById("chkdomain").innerText = labeltext;
				document.getElementById("chkdomain").innerHTML = labeltext;				
			}
		}
	}
		

	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()
	{
	    if( document.getElementById("searchtext") != null && !et_g_isWhitespace(document.getElementById("searchtext").value) )
		{
			if(!isValidPageName(document.getElementById("searchtext").value))
	        {
		      alert(generalMsgLocalizer.getMessage("msg_search_inputvalidation"));
		      $("#searchtext").focus();
		      return false;
	        }
		}
	    
		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 doProjectListingSort()
	{
		document.projectlisting.sa.value="ByTitle";
		document.projectlisting.submit();
	}	
	
	function doProjectListingSortByDate()
	{
	    document.projectlisting.sa.value="Bydate";
	    document.projectlisting.submit();
	}	
    
    function doPollListingSortByDate()
	{
	    document.polllisting.sa.value="Bydate";
	    document.polllisting.submit();
	}	
    
    function doPollListingSortByTitle()
    {
        document.polllisting.sa.value="ByTitle";
        document.polllisting.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")
					{
						//avneet.. exclude error jsp from the check						
						if(window.location.href.indexOf("domainError.jsp") == -1)
						{
							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 editMyProfile(action)
	{
		var status=true;
		if (action == "update") {
			if(document.profile.email && (et_g_isWhitespace(document.profile.email.value) || 
					!profileMailValidation(document.profile.email.value)) )
			{
				alert(generalMsgLocalizer.getMessage("common_MultipleEmailAndValidEmail"));
				document.profile.email.focus();
				return false;
			}
			if(document.profile.email &&
					!isValidProfileString(document.profile.email.value)) {
				var args = [notAllowedProfileChars, generalMsgLocalizer.getMessage("e_mail")];
				var fmsg = generalMsgLocalizer.getMessage("chars_not_allowed", args);
				alert(fmsg);
				return false;
			}
			if(document.profile.firstname &&
					et_g_isWhitespace(document.profile.firstname.value) ) 
			{
				alert(generalMsgLocalizer.getMessage("enter_first_name"));
				document.profile.firstname.focus();
				return false;
			}
			if(document.profile.firstname &&
					!isValidProfileString(document.profile.firstname.value)) {
				var args = [notAllowedProfileChars, generalMsgLocalizer.getMessage("first_name")];
				var fmsg = generalMsgLocalizer.getMessage("chars_not_allowed", args);
				alert(fmsg);
				return false;
				
			}
			if(document.profile.lastname &&
					et_g_isWhitespace(document.profile.lastname.value) ) 
			{
				alert(generalMsgLocalizer.getMessage("enter_last_name"));
				document.profile.lastname.focus();
				return false;
			}
			if(document.profile.lastname &&
					!isValidProfileString(document.profile.lastname.value)) {
				var args = [notAllowedProfileChars, generalMsgLocalizer.getMessage("last_name")];
				var fmsg = generalMsgLocalizer.getMessage("chars_not_allowed", args);
				alert(fmsg);
				return false;
			}
		}
		document.profile.actionflag.value=action;
		document.profile.submit();
	}
	
	function openPeopleSearch()
	{
		window.location.href = appendPath("peoplesearch.jsp")	
	}

	
	function togglePeopleAdvSrch()
	{
		var divElem = document.getElementById('advpeoplesrch');
		if (divElem) {
			if (divElem.style.display == "none") {
				divElem.style.display = "block";
			} else {
				divElem.style.display = "none";
			}
		}
	}
	
	function addToFilter(oper)
	{
		var paramObj = document.getElementById("attrib");
		var param = paramObj.value;
		var compOperObj = document.getElementById("oper");
		var compOper = compOperObj.value;
		var searchVal = document.getElementById("searchvalue").value;
		var criteriaVal = document.getElementById("criteria").value;
		var srchQry = document.getElementById("searchquery").value;
		
		if (searchVal == "") {
			alert("Enter a value to search..");
			return;
		}
		if((oper == 1 || oper == 2) && criteriaVal == "") {
			alert("You should add a condition before you and/or with it.")
			return;
		}
		var newCriteria =  paramObj.options[paramObj.selectedIndex].text +
				 " " + compOperObj.options[compOperObj.selectedIndex].text + " "+ searchVal;
		var newQuery = (param + "#=#" + compOper + "#=#" + searchVal);
		
		if (oper == 0) {
			document.getElementById("criteria").value = newCriteria;
			document.getElementById("searchquery").value = newQuery;
		} else if (oper == 1) { //and
			criteriaVal += " AND " + newCriteria;
			document.getElementById("criteria").value = criteriaVal;
			document.getElementById("searchquery").value = srchQry + "#=#AND#=#" + newQuery;
		} else if (oper == 2) { //or
			criteriaVal += " OR " + newCriteria;
			document.getElementById("criteria").value = criteriaVal;
			document.getElementById("searchquery").value = srchQry + "#=#OR#=#" + newQuery;
		}
	}	
	
	function findPeople()
	{
		if (document.getElementById("searchquery").value == "") {
			alert("Enter a criteria to search..");
			return;
		}
		document.peoplesearchform.submit();
	}
	
	function resetPeopleSrchForm()
	{
		if (document.getElementById("srchtext")) {
			document.getElementById("srchtext").value="";
		}
		if (document.getElementById("attrib")) {
			document.getElementById("attrib").selectedIndex = 0;
		}
		if (document.getElementById("birthday_month")) {
			document.getElementById("birthday_month").selectedIndex = -1;
		}
		if (document.getElementById("birthday_day")) {
			document.getElementById("birthday_day").selectedIndex = -1
		}
		if (document.getElementById("txtsrch")) {
			document.getElementById("txtsrch").style.display="inline";
			document.getElementById("datesrch").style.display="none";
		}
	}
		
	function updateUserSettings()
	{
		var status = true;
		
		if( et_g_isWhitespace(document.usersettings.pagesize.value) || 
			!et_g_isNonZeroInteger(document.usersettings.pagesize.value))
		{
			alert(generalMsgLocalizer.getMessage("numeric_page_size"));
			document.usersettings.pagesize.focus();
			status= false;
		}
		else
		{
			if(parseInt(document.usersettings.pagesize.value) < 1 || parseInt(document.usersettings.pagesize.value) > 1000)
			{
				alert(generalMsgLocalizer.getMessage("numeric_page_size"));
				document.usersettings.pagesize.focus();
				status= false;
			}
		}

		/*if(parseInt(document.usersettings.pagesize.value) == 0)
		{
			document.usersettings.pagesize.value = "0";
		}*/

		try
		{
			if(document.usersettings.chk_password.checked)
			{
				if(et_g_isWhitespace(document.usersettings.o_password.value))
				{
					alert(generalMsgLocalizer.getMessage("enter_old_pwd")); 
					document.usersettings.o_password.focus();
					status= false;
				}
				else
				{
					if(!et_g_isWhitespace(document.usersettings.r_password.value) && 
						!et_g_isWhitespace(document.usersettings.r_cpassword.value))
					{
						if(document.usersettings.r_password.value != document.usersettings.r_cpassword.value)
						{
							alert(generalMsgLocalizer.getMessage("pwd_cfrmpass_not_match")); 
							document.usersettings.r_password.focus();
							status= false;
						}
					}
					else
					{
						document.usersettings.r_password.focus();
						status= false;
					}
				}
			}
		}
		catch(err){}
		if(status)
		{
			document.usersettings.processflag.value="update";
			document.usersettings.submit();
		}

	}
	
	
	function enableSettingPwd()
	{
		var lCheck = !document.getElementById("chk_password").checked;
		document.usersettings.r_password.disabled = lCheck; 
		document.usersettings.o_password.disabled = lCheck;
		document.usersettings.r_cpassword.disabled = lCheck;
	}	
	
	function populateDays(dayid, monthid)
	{
	 	var monthElem = document.getElementById(monthid);
	 	var selIdx = monthElem.selectedIndex;
	
	 	if (selIdx == -1) {
	 		selIdx = 0;
	 	}
	 	var selMonth = monthElem.options[selIdx].value;
	 	if (selMonth <=0 ){
	 		selMonth=1;
	 	}
		var days = daysofmonths[selMonth-1];
	 	var dayElem = document.getElementById(dayid);
	 	var i;
		for(i=dayElem.options.length-1; i>=0; i--) {
			dayElem.remove(i);
		}
		for(i=0; i<=days; i++) {
		  var optn = document.createElement("OPTION");
		  if (i>0){
		  	optn.text = i;
		  } else {
		  	optn.text = locDayStr;
		  }
		  optn.value = i;
			dayElem.options.add(optn);
		}
 }
 
 function handlePSAttribChange()
 {
 	 var selIdx = document.getElementById("attrib").selectedIndex;
 	 var selDtype = document.getElementById("attrib").options[selIdx].getAttribute("dtype");
 	 
 	 if (selDtype && selDtype == "date") {
 	 	document.getElementById("txtsrch").style.display = "none";
 	 	document.getElementById("datesrch").style.display = "inline";
 	 } else {
 	 	if (document.getElementById("txtsrch").style.display == "none") {
	 	 	document.getElementById("txtsrch").style.display = "inline";
	 	 	document.getElementById("datesrch").style.display = "none";
 	 	}
 	 }
 }
 
 function handleProfileVisibilty()
 {
 		if (document.getElementById("imsearchable")) 
 		{
 			var chkd = document.getElementById("imsearchable").checked;
 			if (chkd) {
 				document.getElementById("imsearchable").value = "false";
 			} else {
 				document.getElementById("imsearchable").value = "true";
 			}		
 		}
 }

 function openUserProfile(uid) 
 {
 		window.location.href=appendPath("newprofile.jsp?username="+uid);	
 }
	
	
function onLoadRecent(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 recentdiv = document.getElementById("div_recentlyupdated");
					recentdiv.innerHTML = obj.output;	
					 JT_init();
				}
				else
				{
					alert(generalMsgLocalizer.getMessage("tags_notfound"));
				}
			}
			else
			{
				alert(generalMsgLocalizer.getMessage("tags_error"));
			}
		}
	}
}
	
	function switchDomain()
	{
		if( document.getElementById("switch_domain") != null )
		{
			var url = document.getElementById("switch_domain").value;
			window.location.href = url;
		}
	}
		
	
	function showPluginDetails(pluginId)
	{
		
		var divimage = document.getElementById("divimage_"+pluginId);
		divimage.innerHTML = "<a href=\"javaScript:closePluginDetails("+pluginId+");\"><img src='"+getAppPath()+"/images/ix_ap_all/12x12/arrow_opening.gif' title='"+generalMsgLocalizer.getMessage("pluginrepository_hidedetails")+"' alt='"+generalMsgLocalizer.getMessage("pluginrepository_hidedetails")+"' border=\"0\" align=\"absmiddle\"/></a>";
		
		ajaxReader = new WikiAjax();
		ajaxReader.setMethodTOPOST();
		var afterGettingDataFromAjax = new AfterGettingPluginDetails(pluginId);
		ajaxReader.setCallback(afterGettingDataFromAjax.process);
		var methodName = "getPluginDetails";
		var params = new Array();
		params[0] = new Object();
		params[0].type = "long";
		params[0].value = pluginId;
		
		var req = createRequest(createManagerMethod(methodName, params,'net.etouch.contmgmt.plugins.PluginManager'));
		ajaxReader.addField("reqdata", req);
		ajaxReader.send();
	}

	function AfterGettingPluginDetails( pluginId )
	{
		this.pluginId = pluginId;
		this.process = process;
	
		function process( responseDOM, errorMessage, responseText )
		{
			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 plugindiv =document.getElementById("pluginDiv_"+ pluginId); 
							
							plugindiv.innerHTML = obj.output;					
						}
						else
						{
							
							plugindiv.innerHTML = "";	
						}
					}
					else
					{
					
						plugindiv.innerHTML = "";	
					}
				}
			}
		}
	}

	function closePluginDetails(pluginId)
	{
		var divimage = document.getElementById("divimage_"+pluginId);
		divimage.innerHTML = "<a href=\"javaScript:showPluginDetails("+pluginId+");\"><img src='"+getAppPath()+"/images/ix_ap_all/12x12/arrow_closing.gif' title='"+generalMsgLocalizer.getMessage("pluginrepository_showdetails")+"' alt='"+generalMsgLocalizer.getMessage("pluginrepository_showdetails")+"' border=\"0\" align=\"absmiddle\"/></a>";
		var plugindiv =document.getElementById("pluginDiv_"+ pluginId); 
		plugindiv.innerHTML = "";			
	}
	
	function updatePluginStatus(pluginId,pluginStatus)
	{
		var confirmMessage="";
		if(pluginStatus == 0)
		{
			confirmMessage=generalMsgLocalizer.getMessage("pluginrepository_confirmpluginenable");
		}
		else
		{
			confirmMessage=generalMsgLocalizer.getMessage("pluginrepository_confirmplugindisable");
		}
		if(confirm(confirmMessage))
		{
			ajaxReader = new WikiAjax();
			ajaxReader.setMethodTOPOST();
			var afterChangingPluginStatus = new AfterChangingPluginStatus(pluginId,pluginStatus);
			ajaxReader.setCallback(afterChangingPluginStatus.process);
			var methodName = "updatePluginStatus";
			var params = new Array();
			params[0] = new Object();
			params[0].type = "int";
			params[0].value = pluginId;
			params[1] = new Object();
			params[1].type = "int";
			params[1].value = pluginStatus;
			var req = createRequest(createManagerMethod(methodName, params,'net.etouch.contmgmt.plugins.PluginManager'));
			ajaxReader.addField("reqdata", req);
			ajaxReader.send();
		}
	}

	function AfterChangingPluginStatus( pluginId,pluginStatus )
	{
		this.pluginId = pluginId;
		this.pluginStatus = pluginStatus;
		this.process = process;
	
		function process( responseDOM, errorMessage, responseText )
		{
			var divstatus = document.getElementById("Status_"+pluginId);
			if(errorMessage == null)
			{
				var obj = parseResponse(responseDOM);
				if(obj == null)
				{
					alert(generalMsgLocalizer.getMessage("response_not_well"));
				}
				else
				{
					
					if(obj.statusCode == "200")
					{ 
							var newStatus = 0;
							if(pluginStatus == 0)
							{
								newStatus = 1;
							}
							else
							{
								newStatus = 0;
							}
							if(newStatus == 0)
							{
								divstatus.innerHTML = "<a href=\"javaScript:updatePluginStatus("+pluginId+","+newStatus+");\">"+generalMsgLocalizer.getMessage("pluginrepository_enableplugin")+"</a>";
							}		
							else
							{
								
								divstatus.innerHTML = "<a href=\"javaScript:updatePluginStatus("+pluginId+","+newStatus+");\">"+generalMsgLocalizer.getMessage("pluginrepository_disableplugin")+"</a>";
							}			
						
					}
					
				}
			}
		}
	}	
	
	
	
	function showCustomTheme()
	{
		openPopup(appendPath("customtheme.jsp"), 550, 220, "republishsamepage", null);
	}
	function loadRecentItems(family)
	{
		wAjax = new WikiAjax(false);
		
		wAjax.setMethodTOPOST();
		wAjax.setCallback(onLoadRecent);
		var methodName = "getRecentItems";
		var params = new Array();
		params[0] = new Object();
		params[0].type = "httprequest";
		params[0].value = "";
		params[1] = new Object();
		params[1].type = "String";
		params[1].value = family;
		var req = createRequest(createManagerMethod(methodName, params));
		wAjax.addField("reqdata", req);
		
		var cat="all";
	
		if(family==18)
		{
			cat="page";
		}
		else if(family==15)
		{
			cat="comment";
		}
		else if(family==-1)
		{
			cat="attachment";
		}
		else{
			cat="all";	
		}
 		markSelRecentCat(cat);
 		show_ajaxloading('div_recentlyupdated');
		wAjax.send();
							
				
	}
	function show_ajaxloading(id) 
	{
		var ajaxloadingImage = new Image();
		ajaxloadingImage.src = getAppPath()+'/images/other/ajax-loader.gif" border="0" alt="Loading, please wait..."';
 		
 		var ht=getElementHeight(id);
 		var wd=getElementWidth(id);
 		if (id == "div_recentlyupdated")
 		{
 			ht= 30;
 			wd=300;
 		}
 		var top=getAbsoluteTop(id)+ht/2;
		var left=getAbsoluteLeft(id)+wd/2;
		replace_html(id, '<img src="'+getAppPath()+'/images/other/ajax-loader.gif" style="position:absolute;top:'+top+'px;left:'+left+'px" border="0" alt="Loading, please wait..." title="Loading, please wait..." /><br></br><br></br>');
			
	}
	function replace_html(id, content) 
	{
			document.getElementById(id).innerHTML = content;
	}
		
	function getAbsoluteTop(objectId) {
	// Get an object top position from the upper left viewport corner
	o = document.getElementById(objectId)
	oTop = o.offsetTop            // Get top position from the parent object
	// condition added for scroll problem of explorer view
	if(document.getElementById("scrollable_div"))
		oTop -= document.getElementById("scrollable_div").scrollTop;
	while(o.offsetParent!=null) { // Parse the parent hierarchy up to the document element
		oParent = o.offsetParent  // Get parent object reference
		oTop += oParent.offsetTop // Add parent top position
		o = oParent
	}
	return oTop
	}
	function getAbsoluteLeft(objectId) {
	// Get an object top position from the upper left viewport corner
	o = document.getElementById(objectId)
	oTop = o.offsetLeft           // Get top position from the parent object
	while(o.offsetParent!=null) { // Parse the parent hierarchy up to the document element
		oParent = o.offsetParent  // Get parent object reference
		oTop += oParent.offsetLeft // Add parent left position
		o = oParent
	}
	return oTop
	}
	
	function getElementWidth(objectId) {
	x = document.getElementById(objectId);
	return x.offsetWidth;
	}
	function getElementHeight(objectId) {
	x = document.getElementById(objectId);
	return x.offsetHeight;
	}	
	function markSelRecentCat(ObjId,pluginId)
	{
		var ObjectId;
	 	var ary = new Array();
	 	ary[0]=pluginId+"_all";
	 	ary[1]=pluginId+"_page";
	 	ary[2]=pluginId+"_comment";
	 	ary[3]=pluginId+"_attachment";
	 	try{
	 		for(i=0;i<ary.length;i++)
	 		{	
	 		  ObjectId=document.getElementById(ary[i]);
	 		  if (typeof ObjectId != "undefined"){
	  		  ObjectId.style['color']="";
	  		  }
	 		}
 		ObjectId=document.getElementById(pluginId+"_"+ObjId);
 		 	if (typeof ObjectId != "undefined"){
   				ObjectId.style['color']="black";
   				}
   		}catch(err){}
 		
	}

	function onLoadRecent(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 recentdiv = document.getElementById("div_recentlyupdated");
						recentdiv.innerHTML = obj.output;	
						JT_init();
					}
					else
					{
						alert(generalMsgLocalizer.getMessage("tags_notfound"));
					}
				}
				else
				{
					alert(generalMsgLocalizer.getMessage("tags_error"));
				}
			}
		}
	}

	function uploadNewPlugin()
	{
		var pluginFileName = document.pluginrepository.uploadnewplugin.value;
		if(et_g_isWhitespace(pluginFileName))
		{
			alert(generalMsgLocalizer.getMessage("pluginrepository_valid_file"));
			return false;
		}
		var expr = /\\/g;
		pluginFileName = pluginFileName.replace (expr, "/");
		pluginFileName = pluginFileName.substring(pluginFileName.lastIndexOf("/")+1,pluginFileName.length);
		pluginFileExt = pluginFileName.substring(pluginFileName.lastIndexOf(".")+1,pluginFileName.length);
		if(et_g_isWhitespace(pluginFileExt))
		{
			alert(generalMsgLocalizer.getMessage("pluginrepository_valid_file"));
			return false;
		}
		if(pluginFileExt != "jar")
		{
			alert(generalMsgLocalizer.getMessage("pluginrepository_valid_file"));
			return false;
		}
		
		document.pluginrepository.action="pluginrepository.jsp?operation=uploadnew";
		document.pluginrepository.submit();
	}
	
	function deletePlugin(pluginId)
	{
		if(confirm(generalMsgLocalizer.getMessage("pluginrepository_confirmplugindelete")))
		{
			document.pluginrepository.action="pluginrepository.jsp?operation=delete&pluginId="+pluginId;
			document.pluginrepository.submit();
		}
	}
	
	function updatePlugin(pid)
	{
		var pdiv = document.getElementById(pid);
		
		var str = "<input type='file' name='fileId"+pid+"' id='fileId"+pid+"' size='38'>&nbsp;<button title='"+generalMsgLocalizer.getMessage("pluginrepository_updateplugin")+"' type='button' name='pluginrepository_update' id='pluginrepository_update' onClick=\"javaScript:return editPlugin('"+pid+"');\">"+generalMsgLocalizer.getMessage("pluginrepository_update")+"</button>"+
			"&nbsp;<button title='"+generalMsgLocalizer.getMessage("attachment_cancel")+"' type='button' onClick=\"javaScript:cancelPlugin('"+pid+"');\">"+generalMsgLocalizer.getMessage("attachment_cancel")+"</button><br/><br/>";
		pdiv.innerHTML = str;
	}
	function editPlugin(pluginId)
	{
		var pluginFileName = document.getElementById("fileId"+pluginId).value;
		if(et_g_isWhitespace(pluginFileName))
		{
			alert(generalMsgLocalizer.getMessage("pluginrepository_valid_file"));
			return false;
		}
		var expr = /\\/g;
		pluginFileName = pluginFileName.replace (expr, "/");
		pluginFileName = pluginFileName.substring(pluginFileName.lastIndexOf("/")+1,pluginFileName.length);
		pluginFileExt = pluginFileName.substring(pluginFileName.lastIndexOf(".")+1,pluginFileName.length);
		if(et_g_isWhitespace(pluginFileExt))
		{
			alert(generalMsgLocalizer.getMessage("pluginrepository_valid_file"));
			return false;
		}
		if(pluginFileExt != "jar")
		{
			alert(generalMsgLocalizer.getMessage("pluginrepository_valid_file"));
			return false;
		}
		document.pluginrepository.action="pluginrepository.jsp?operation=update&pluginId="+pluginId;
		document.pluginrepository.submit();
		
	}
	function cancelPlugin(pid)
	{
		document.getElementById(pid).innerHTML = " ";		
	}
	
	function closeSpPopupDiv()
	{
		var popUpElem = document.getElementById("sppopup")
		popUpElem.style.display="none";
		
	}
	
	 function copyText(inElement) 
	 {
	  if (inElement.createTextRange) {
	    var range = inElement.createTextRange();
	    if (range)
	      range.execCommand('Copy');
	  } else {
	    var flashcopier = 'flashcopier';
	    if(!document.getElementById(flashcopier)) {
	      var divholder = document.createElement('div');
	      divholder.id = flashcopier;
	      document.body.appendChild(divholder);
	    }
	    document.getElementById(flashcopier).innerHTML = '';
	    var divinfo = '<embed src="'+getAppPath()+'/wiki/_clipboard.swf" FlashVars="clipboard='+encodeURIComponent(inElement.value)+'" width="0" height="0" type="application/x-shockwave-flash"></embed>';
	   
	    document.getElementById(flashcopier).innerHTML = divinfo;
	    alert(document.getElementById(flashcopier).innerHTML);
	  }
	}  
	
	function copyAttachmentLink(id)
	{
		var inElement = document.getElementById(id);
  		copy_clip(inElement.value);
  		alert("Attachment URL copied to clipboard");
	}	
	
	function showPluginList()
	{
		//wyseditor = editor;
		//Fix the Nav Menu issue on plug in pop up(Id:49404)
		$("#HORIZONTAL_TAB ul li").css("z-index","0");
		$("#VERTICAL_TAB ul li").css("z-index","0");
		centerPopup();
		//load popup
		loadPopup();
		var propDiv = document.createElement('div');
		var plugDiv = document.getElementById("popupContact");
		var ajaxReader  = new WikiAjax();
		ajaxReader.setMethodTOPOST();
		//var reqURL = siteContext + "generateUI.jsp";
		//ajaxReader.setRequestURL(reqURL);
		var afterShowPluginProperties = new AfterShowPluginList(plugDiv);
		ajaxReader.setCallback(afterShowPluginProperties.process);
		var params = new Array();
		params[0] = new Object();
		params[0].type = "String";
		params[0].value = "wiki";
		var req = createRequest(createManagerMethod("generatePluginListUI", params,"net.etouch.contmgmt.wiki.plugins.PluginListUI"));
		ajaxReader.addField("reqdata", req);
		ajaxReader.send();
		
	}
	
	function AfterShowPluginList(plugDiv)
	{
		this.plugDiv = plugDiv;
		this.process = process;
		
		function process( responseDOM, errorMessage, responseText )
		{
			var obj = parseResponse(responseDOM);
			if(obj == null)
			{
				alert(generalMsgLocalizer.getMessage("response_not_well"));
			}
			else
			{
				if(obj.statusCode == "200")
				{ 
					if(obj.output +"" != "")
					{
						plugDiv.innerHTML = obj.output;					
					}
					
				}
			}
		}
	
	}
	
	function editPluginProperties(currentTarget)
	{
		plugdivtarget=currentTarget;
		
		centerPopup();
		//load popup
		loadPopup();
		var tag = currentTarget.innerHTML;
		var macroId = tag.substring(0,tag.indexOf("{"));
		macroId=macroId.toLowerCase();
		var propDiv = document.createElement('div');
		var parentOfDiv = currentTarget.parentNode;
		var plugDiv = document.getElementById("popupContact");
		var ajaxReader  = new WikiAjax();
		ajaxReader.setMethodTOPOST();
		//var reqURL = siteContext + "generateUI.jsp";
		//ajaxReader.setRequestURL(reqURL);
		var afterEditPluginProperties = new AfterEditPluginProperties(currentTarget,plugDiv,macroId);
		ajaxReader.setCallback(afterEditPluginProperties.process);
		var params = new Array();
		params[0] = new Object();
		params[0].type = "String";
		params[0].value = currentTarget.innerHTML;
		params[1] = new Object();
		params[1].type = "String";
		params[1].value = "edit";
	    params[2] = new Object();
		params[2].type = "String";
		params[2].value = "wiki";
		var req = createRequest(createManagerMethod("generatePluginUI", params,"net.etouch.contmgmt.wiki.plugins.GeneratePluginUI"));
		ajaxReader.addField("reqdata", req);
		ajaxReader.send();
		
	}
	//callback is in common.js
	function insertPluginProperties(tag)
	{
		var plugDiv = document.getElementById("popupContact");
		var macroId = tag.substring(0,tag.indexOf("{"));
		macroId=macroId.toLowerCase();
		var ajaxReader  = new WikiAjax();
		ajaxReader.setMethodTOPOST();
		//var reqURL = siteContext + "generateUI.jsp";
		//ajaxReader.setRequestURL(reqURL);
		var afterInsertPluginProperties = new AfterInsertPluginProperties(plugDiv,macroId);
		ajaxReader.setCallback(afterInsertPluginProperties.process);
		var params = new Array();
		params[0] = new Object();
		params[0].type = "String";
		params[0].value = tag;
		params[1] = new Object();
		params[1].type = "String";
		params[1].value = "insert";
		params[2] = new Object();
		params[2].type = "String";
		params[2].value = "wiki";
	
		var req = createRequest(createManagerMethod("generatePluginUI", params,"net.etouch.contmgmt.wiki.plugins.GeneratePluginUI"));
		ajaxReader.addField("reqdata", req);
		ajaxReader.send();

		
	}
	
	/*
	 * 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 copy_clip(meintext){
		
		if (window.clipboardData){
		window.clipboardData.setData("Text", meintext);
		}else if (window.netscape){
		netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
		
		var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
		if (!clip) return;
		
		var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);
		if (!trans) return;
		
		trans.addDataFlavor('text/unicode');
		
		var str = new Object();
		var len = new Object();
		
		var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);
		var copytext=meintext;
		str.data=copytext;
		trans.setTransferData("text/unicode",str,copytext.length*2);
		var clipid=Components.interfaces.nsIClipboard;
		
		if (!clip) return false;
		clip.setData(trans,null,clipid.kGlobalClipboard);
		
		}
		
	}
	function getRecentActivityForFamily()
	{
		
		var selObj = document.getElementById("selfamily");
		var selIndex = selObj.selectedIndex;
 		var family = selObj.options[selIndex].value;		
 		document.getElementById("family").value=family;
		document.listform.submit();
	}
	function selectOnRowClicked(cacheid)
	{
	var chkbox=document.getElementById(cacheid);
	if (typeof chkbox != "undefined"){
		if (chkbox.getAttribute('type')=='checkbox'){
			if(chkbox.checked==true)
				{
					chkbox.checked=false;
				}
			else
				{
					chkbox.checked=true;
				}
			}
		}
	}
	
	function configurePlugin(pluginId)
	{
		centerPopup();
		loadPopup();
		var propDiv = document.createElement('div');
		var plugDiv = document.getElementById("popupContact");
		var ajaxReader  = new WikiAjax();
		ajaxReader.setMethodTOPOST();
		var afterConfigurePlugin = new AfterConfigurePlugin(plugDiv);
		ajaxReader.setCallback(afterConfigurePlugin.process);
		var params = new Array();
		params[0] = new Object();
		params[0].type = "String";
		params[0].value = pluginId+"";
		var req = createRequest(createManagerMethod("configurePlugin", params,"net.etouch.contmgmt.plugins.ConfigurePlugin"));
		ajaxReader.addField("reqdata", req);
		ajaxReader.send();
		
	}
	
	function AfterConfigurePlugin(plugDiv)
	{
		this.plugDiv = plugDiv;
		this.process = process;
		
		function process( responseDOM, errorMessage, responseText )
		{
			var obj = parseResponse(responseDOM);
			if(obj == null)
			{
				alert(generalMsgLocalizer.getMessage("response_not_well"));
			}
			else
			{
				if(obj.statusCode == "200")
				{ 
					if(obj.output +"" != "")
					{
						plugDiv.innerHTML = obj.output;					
					}
					
				}
			}
		}
	
	}
	
	function savePluginConfiguration(pluginId)
	{
		var pluginParameters = document.getElementById("hiddenplugin").value;
		var arParameters = pluginParameters.split(",");
		var replaceString ="";
		for(var i=0;i<arParameters.length;i++)
		{
			if((arParameters[i]).length == 0)
			{
				continue;
			}
			
			var plugParameterId = arParameters[i];
			var param =document.getElementById(""+plugParameterId+"");
			var paramValue = document.getElementById(""+plugParameterId+"").value;
			paramValue = paramValue.replace(/</g,"&lt;");
			paramValue = paramValue.replace(/>/g,"&gt;");
			
			if(paramValue.length > 0)
			{
				replaceString = replaceString + "|~|"+plugParameterId+"="+paramValue;
			}
			else
			{
				replaceString = replaceString + "|~|"+plugParameterId+"="+"noval";
			}
			
		}
			var ajaxReader  = new WikiAjax();
			ajaxReader.setMethodTOPOST();
			var afterSavePluginConfiguration = new AfterSavePluginConfiguration();
			ajaxReader.setCallback(afterSavePluginConfiguration.process);
			var params = new Array();
			params[0] = new Object();
			params[0].type = "String";
			params[0].value = pluginId+"";
			params[1] = new Object();
			params[1].type = "String";
			params[1].value = replaceString+"";
			var req = createRequest(createManagerMethod("savePluginConfiguration", params,"net.etouch.contmgmt.plugins.ConfigurePlugin"));
			ajaxReader.addField("reqdata", req);
			ajaxReader.send();
			
			var tableelem = document.getElementById("generatedpluginui");
			(tableelem.parentNode).removeChild(tableelem);
	}
	
	function AfterSavePluginConfiguration()
	{
		this.process = process;
		
		function process( responseDOM, errorMessage, responseText )
		{
			var obj = parseResponse(responseDOM);
			if(obj == null)
			{
				alert(generalMsgLocalizer.getMessage("response_not_well"));
			}
			else
			{
				if(obj.statusCode == "200")
				{ 
					if(obj.output +"" != "")
					{
						disablePopup();					
					}
					
				}
			}
		}
	
	}
		
	function goToRecentlyVisitedPage(pageId)
	{
		window.location.href = "/"+appContext+"/wiki/"+("?id="+pageId);
	}
			
	function handleQuickLinks(openClose)
	{
		if (openClose == 0) {
			
		//get the quickLink HTML by ajax call
		var qlAjax = new WikiAjax(false);
		qlAjax.setMethodTOPOST();
		qlAjax.setCallback(onLoadQuickLink);
		
		var methodName = "getQuickLinkContents";
		var params = new Array();
		params[0] = new Object();
		params[0].type = "httprequest";
		params[0].value = "";
		var req = createRequest(createManagerMethod(methodName, params, "net.etouch.contmgmt.wiki.WikiHandler"));
		qlAjax.addField("reqdata", req);		
		qlAjax.send();			
		} else {
			$("#qlink").css('display', 'none');
		}

	}

	function onLoadQuickLink(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 qlHolderDiv = document.getElementById("qlholder");
						if (qlHolderDiv) {
							var qlDiv = document.getElementById("qlink");
							var pos = et_edd_anchorPosition("qlholder");
							qlDiv.top = (pos.y+qlHolderDiv.offsetHeight+2) + "px";
							qlDiv.style.top = (pos.y+qlHolderDiv.offsetHeight+2) + "px";
							qlDiv.style.left = pos.x;
							qlDiv.left = pos.x;
							qlDiv.innerHTML =  obj.output;
							qlDiv.style.display = "block";
						}
					} else {
						alert(generalMsgLocalizer.getMessage("quick_link_error"));
					}
				} else {
					alert(generalMsgLocalizer.getMessage("quick_link_error"));
				}
			} // end else obj == null
		}// end errorMessage == nu;;
		
	}
	
	function updateWidgetStatus(widgetName,widgetStatus)
	{
		var confirmMessage="";
		if(widgetStatus == 0)
		{
			confirmMessage=generalMsgLocalizer.getMessage("widgetrepository_confirmwidgetenable");
		}
		else
		{
			confirmMessage=generalMsgLocalizer.getMessage("widgetrepository_confirmwidgetdisable");
		}
		if(confirm(confirmMessage))
		{
			ajaxReader = new WikiAjax();
			ajaxReader.setMethodTOPOST();
			var afterChangingWidgetStatus = new AfterChangingWidgetStatus(widgetName,widgetStatus);
			ajaxReader.setCallback(afterChangingWidgetStatus.process);
			var methodName = "updateWidgetStatus";
			var params = new Array();
			params[0] = new Object();
			params[0].type = "String";
			params[0].value = widgetName;
			params[1] = new Object();
			params[1].type = "int";
			params[1].value = widgetStatus;
			var req = createRequest(createManagerMethod(methodName, params,'net.etouch.contmgmt.plugins.PluginManager'));
			ajaxReader.addField("reqdata", req);
			ajaxReader.send();
		}
	}

	function AfterChangingWidgetStatus( widgetName,widgetStatus )
	{
		this.widgetName = widgetName;
		this.widgetStatus = widgetStatus;
		this.process = process;
	
		function process( responseDOM, errorMessage, responseText )
		{
			var divstatus = document.getElementById("Status_"+widgetName);
			if(errorMessage == null)
			{
				var obj = parseResponse(responseDOM);
				if(obj == null)
				{
					alert(generalMsgLocalizer.getMessage("response_not_well"));
				}
				else
				{
					
					if(obj.statusCode == "200")
					{ 
							var newStatus = 0;
							if(widgetStatus == 0)
							{
								newStatus = 1;
							}
							else
							{
								newStatus = 0;
							}
							if(newStatus == 0)
							{
								divstatus.innerHTML = "<a href=\"javaScript:updateWidgetStatus('"+widgetName+"',"+newStatus+");\">"+generalMsgLocalizer.getMessage("pluginrepository_enableplugin")+"</a>";
							}		
							else
							{
								
								divstatus.innerHTML = "<a href=\"javaScript:updateWidgetStatus('"+widgetName+"',"+newStatus+");\">"+generalMsgLocalizer.getMessage("pluginrepository_disableplugin")+"</a>";
							}			
						
					}
					
				}
			}
		}
	}
	
	function saveReorderWidget(fbox)
	{
		for(var j=0; j<fbox.options.length; j++)  {
			fbox.options[j].selected=true;
		}
		document.widgetrepository.action="widgetrepository.jsp?action=save";
		document.widgetrepository.submit();
	}
	
	function openWidgetRepository()
	{
	   var url = appendPath("widgetrepository.jsp");
	   window.location.href=url;
	}
	
	function goProjectListing()
	{
		window.location.href=appendPath("projectlisting.jsp");
	}
	function openExplorerView()
	{
		var projectTitle=getProjectTitle();
		var pageTitle= getPageTitle();
		if(projectTitle!=null && pageTitle!=null)
		{
			//project level explorer view
			var temp= "explorerview.jsp?project=" + projectTitle 
			+ "&page="+pageTitle;
			window.location.href=appendPath(temp);
		}
		else if(projectTitle!=null && pageTitle==null)
		{
			//getting page title from query string 
			//if "pagetitle" is in url then show project level explorer view (copypage.jsp and confirmdelete.jsp)
			if(getURLQueryStringParamVal("pagetitle")!=null)
			{
				pageTitle=getURLQueryStringParamVal("pagetitle");
				window.location.href=appendPath("explorerview.jsp?project="+projectTitle  
						+ "&page="+pageTitle);
			}
			else if(getURLQueryStringParamVal("parentpage")!=null)//for editpage.jsp
			{
				pageTitle=getURLQueryStringParamVal("parentpage");
				window.location.href=appendPath("explorerview.jsp?project="+projectTitle  
						+ "&page="+pageTitle);
			}
			else
			{
				//home level explorer view
				window.location.href=appendPath("explorerview.jsp?project="+projectTitle  
					+ "&page=home");
			}
		}
		else
		{
			//default explorer view
			window.location.href=appendPath("explorerview.jsp");
		}
		
	}
	/*
	 * Added by Binod,
	 * To get request parameter from URL
	 * for given query string name it returns value of query string, 
	 * returns null if query string is not in the URL.
	 */
	function getURLQueryStringParamVal( name )
	{
	  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	  var regexS = "[\\?&]"+name+"=([^&#]*)";
	  var regex = new RegExp( regexS );
	  var results = regex.exec( window.location.href );
	  if( results == null )
	    return null;
	  else
	    return results[1];
	}

	function openEMailEdit(mailid,domain)
	{
	    var tmp = "emailedit.jsp?mailid=" + mailid 
			+ "&domainName="+domain
		window.location.href=appendPath(tmp);
	}

	function sortEMailCol(colName)
	{
		var formObj = document.emaillist;

		if (formObj)
		{
			if (colName == "MAIL_ID" || colName == "CREATE_TIME" 
			|| colName == "MAIL_FROM")
			{
				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.submit();
			}
		}
	}
	function email_browse_proj()
	{
		openPopup((getAppPath()+"/wiki/pagelisting_dialog.jsp?showlisting=true&chooseproject=true&emailproject=true"), 600, 530, "emailproj");
	}
	function email_browse_page()
	{
		var projname = document.emailresolve.m_proj_disptitle.value;
		if(projname == null || projname == "")
		{
			alert(generalMsgLocalizer.getMessage("project_first"));
			return;
		}
		openPopup((getAppPath()+"/wiki/pagelisting_dialog.jsp?emailproject=true&showlisting=true&projectname="+projname), 600, 530, "emailpage");
	}

	function emailDelete(mailid,domain,emaillabel)
	{
		if(confirm(generalMsgLocalizer.getMessage("wiki_sureToDeleteProj")+emaillabel+" [" + mailid + "]"))
		{
		    var tmp = "emailresolve.jsp?mailid=" + mailid 
				+ "&domainName="+domain
				+ "&flag=delete"
			window.location.href=appendPath(tmp);
		}
	}
	
	function selectEMailProject(projectName, projectDispTitle)
	{
		window.opener.document.emailresolve.m_proj_disptitle.value = projectDispTitle;
		window.opener.document.emailresolve.m_proj_name.value = projectName;
		window.close();
	}
	
	function setEMailPage(projName, projDispTitle, pageId, pageDispTitle, family)
	{
		window.opener.document.getElementById("m_proj_name").value = projName;
		window.opener.document.getElementById("m_proj_disptitle").value = projDispTitle;
		
		window.opener.document.getElementById("m_page").value = pageDispTitle;
		window.opener.document.getElementById("m_cmt_pageid").value = pageId;
		window.close();
	}

  function showLoadingInsideElement(elementId, marginTop)
  {
  	var elem = document.getElementById(elementId);
  	if (elem) {
  		
  		if (typeof marginTop == "undefined") {
  			marginTop = "50px";
  		}
			var marginLeft = Math.floor(elem.offsetWidth/2) - 20;
	  	var html = "<img style='margin-top:"+marginTop+";margin-left:"+marginLeft+"' " +
  				"src='"+getAppPath()+"/images/other/ajax-loader.gif' border='0' " +
  				"alt='" +generalMsgLocalizer.getMessage("msg_loading_data") + 
  				"' align='absmiddle'/>";
  		elem.innerHTML=html;
  	}
  }
  
  	function cancelDraftFromDashboard(projectName,pageTitle,family,pluginId,baseProject,pluginName)
	{		

		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 = family;
		params[3] = new Object();
		params[3].type = "httprequest";
		params[3].value = "";
		params[4] = new Object();
		params[4].type = "String";
		params[4].value = baseProject;
		params[5] = new Object();
		params[5].type = "String";
		params[5].value = pluginId;
		
		var ajaxReader  = new WikiAjax(false);
		ajaxReader.setMethodTOPOST();
		var afterDraftCancel = new AfterDraftCancelFromDashboard(pluginId);
		ajaxReader.setCallback(afterDraftCancel.process);
		var req = createRequest(createManagerMethod("cancelDraftFromDashboard",params));
		ajaxReader.addField("reqdata", req);
		ajaxReader.send();
	}
	
	function AfterDraftCancelFromDashboard( id )
	{
		this.id = id;
		this.process = process;
	
		function process( responseDOM, errorMessage, responseText )
		{
			var obj = parseResponse(responseDOM);
			if(obj == null)
			{
				alert(generalMsgLocalizer.getMessage("response_not_well"));
			}
			else
			{
				if(obj.statusCode == "200")
				{ 
					if(obj.output +"" != "")
					{
						document.getElementById(id).innerHTML = obj.output;			
						
					}
					
				}
				
			}
		}
	}
	
	function toggleInvitationListCheckBox(frm, pattern)
	{
		if(document.getElementById("c_type8") != null && document.getElementById("c_type8").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;
				}
			}
		}
	}

	/*
	 * Special case of onbeforeunload of ie
	 */
	function handleDivClick()
	{
		if (typeof setAnchorFlag == 'function') {
			setAnchorFlag();
		}
	}


	/*
	 * message of upload file type, changes depending on changing theme or logo option
	 */
	function selectThemeOrLogo(option)
	{
		document.upform.uploadfile.value = "";
		if (option == "Theme")
		{
			document.getElementById("theme").style.display = "block";
			document.getElementById("logo").style.display = "none";
			document.getElementById("div_logoname").style.display = "none";
			document.getElementById("resetlogo").style.visibility = "hidden";
		}
		else
		{
			document.getElementById("logoname").value = "";
			document.getElementById("theme").style.display = "none";
			document.getElementById("logo").style.display = "block";
			document.getElementById("div_logoname").style.display = "block";
			document.getElementById("resetlogo").style.visibility = "visible";
		}
		document.getElementById("error").style.display = "none";
	}
	
	//added by abhi
	
	//handle auto selection on click of Edit button
	function checkAllUserPerms(elem)
	{
		var token = "_";
		var checked = elem.checked;
		if(checked){
			for ( var i=0; i < document.userperm.length; i++)
			{
				elem = document.userperm.elements[i];
				if( elem.name && elem.name.indexOf(token) != -1 )
				{
					if(!elem.disabled)
					elem.checked = checked; 
				}
			}
		} else {
			 token = "chke";
			for ( var i=0; i < document.userperm.length; i++)
			{
				elem = document.userperm.elements[i];
				if( elem.name && elem.name.indexOf(token) != -1 )
				{
					if(!elem.disabled)
					elem.checked = checked; 
				}
			}
		}
		
	//this for the Top level check boxes auto population	
	if(checked)
	{
			document.userperm.selallmembers.checked=checked;
			document.userperm.selalladmin.checked=checked;
			document.userperm.selallmem.checked=checked;			
	}
	else
	{
			document.userperm.selallmem.checked=checked;
	}			
 }
 	//added for making the grant all selection
	function checkAllUserPerm()
	{
		var token = "_";
		for ( var i=0; i < document.userperm.length; i++)
		{
			elem = document.userperm.elements[i];
			if( elem.name && elem.name.indexOf(token) != -1 )
			{
				if(!elem.disabled)
					elem.checked = true; 
			}
		}
		//this for the Top level check boxes auto population	
		document.userperm.selallmembers.checked=true;
		document.userperm.selalladmin.checked=true;
		document.userperm.selallmem.checked=true;	
	 }

 	//added for making the grant all selection
	function checkAllGroupPerm()
	{
		var token = "_";
		for ( var i=0; i < document.groupperm.length; i++)
		{
			elem = document.groupperm.elements[i];
			if( elem.name && elem.name.indexOf(token) != -1 )
			{
				if(!elem.disabled)
					elem.checked = true; 
			}
		}
		//this for the Top level check boxes auto population	
		document.groupperm.selallmembers.checked=true;
		document.groupperm.selalladmin.checked=true;
		document.groupperm.selallmem.checked=true;	
	 }
	 
	//handle auto select on click of read check box
	function checkUserRead(elem){
		var checked = elem.checked;
		var username = elem.name;
		var token = username.replace("chkr_","");
		var tempName ;
		
		if(!checked){
			for ( var i=0; i < document.userperm.length; i++)
			{
				elem = document.userperm.elements[i];
				if( elem.name)
				{  
					tempName = elem.name;
					if(tempName.indexOf("chkr_")!= -1 )
						tempName = tempName.replace("chkr_","")
					if(tempName.indexOf("chke_")!= -1 )
						tempName = tempName.replace("chke_","")
					if(tempName.indexOf("chkc_")!= -1 )
						tempName = tempName.replace("chkc_","")
					if(tempName == token)
					{
						elem.checked = checked; 
					}
				}
			}
			//this for the Top level check boxes auto population	
			document.userperm.selallmembers.checked=checked;
			document.userperm.selalladmin.checked=checked;
			document.userperm.selallmem.checked=checked;
		}	
	}
	
	//handle auto select on click of read check box
	function checkGroupRead(elem){
	   var checked = elem.checked;
		var username = elem.name;
		var token = username.replace("chkr_","");
		
		if(!checked){
			for ( var i=0; i < document.groupperm.length; i++)
			{
				elem = document.groupperm.elements[i];
				if( elem.name)
				{
				 	tempName = elem.name;
					if(tempName.indexOf("chkr_")!= -1 )
						tempName = tempName.replace("chkr_","")
					if(tempName.indexOf("chke_")!= -1 )
						tempName = tempName.replace("chke_","")
					if(tempName.indexOf("chkc_")!= -1 )
						tempName = tempName.replace("chkc_","")
					if(tempName == token)
					{
						elem.checked = checked; 
					}
				}
			}
			//this for the Top level check boxes auto population	
			document.groupperm.selallmembers.checked=checked;
			document.groupperm.selalladmin.checked=checked;
			document.groupperm.selallmem.checked=checked;
		}	
	}
		
	//handle auto select on click of comment check box
	function checkUserEdit(elem){
	   
		var checked = elem.checked;
		var username = elem.name;
		var token = username.replace("chke_","");
		var tempName;
		if(checked){
			for ( var i=0; i < document.userperm.length; i++)
			{
				elem = document.userperm.elements[i];
				if( elem.name)
				{
					tempName = elem.name;
					if(tempName.indexOf("chkr_")!= -1 )
						tempName = tempName.replace("chkr_","")
					if(tempName.indexOf("chke_")!= -1 )
						tempName = tempName.replace("chke_","")
					if(tempName.indexOf("chkc_")!= -1 )
						tempName = tempName.replace("chkc_","")
					if(tempName == token)
					{
						elem.checked = checked; 
					}
				}
			}
		} 
		else 
		{
		//this unchecks the top level edit check box
			document.userperm.selallmem.checked=checked;
		}
	}
	
	//handle the autoselect of the comment on user permission page	
	function checkUserComment(elem){
		var checked = elem.checked;
		var username = elem.name;
		var token = username.replace("chkc_","chkr_");
		var tempName;
		if(checked){
			for ( var i=0; i < document.userperm.length; i++)
			{
				elem = document.userperm.elements[i];
				if( elem.name)
				{
				 	tempName = elem.name;
				 	if(tempName == token)
					{
						elem.checked = checked; 
					}
				}
			}
		} else {
			token = username.replace("chkc_","");
			for ( var i=0; i < document.userperm.length; i++)
			{
				elem = document.userperm.elements[i];
				if( elem.name)
				{
					tempName = elem.name;
					if(tempName.indexOf("chke_")!= -1 )
					{
						tempName = tempName.replace("chke_","")
						if(tempName == token)
						{
							elem.checked = checked; 
						}
					}
				}
			}
			//this for the Top level check boxes auto population	
			document.userperm.selalladmin.checked=checked;
			document.userperm.selallmem.checked=checked;
		}	
	}	
	
	//to handle the edit check box at Group permission page
	function checkAllGroupPerms(elem)
	{
		var token = "_";
		var checked = elem.checked;
		if(checked){
			for ( var i=0; i < document.groupperm.length; i++)
			{
				elem = document.groupperm.elements[i];
				if( elem.name && elem.name.indexOf(token) != -1 )
				{
					if(!elem.disabled)
					elem.checked = checked; 
				}
			}
		} else {
			 token = "chke";
			for ( var i=0; i < document.groupperm.length; i++)
			{
				elem = document.groupperm.elements[i];
				if( elem.name && elem.name.indexOf(token) != -1 )
				{
					if(!elem.disabled)
					elem.checked = checked; 
				}
			}
		}	
	//this for the Top level check boxes auto population	
	if(checked)
	{
			document.groupperm.selallmembers.checked=checked;
			document.groupperm.selalladmin.checked=checked;
			document.groupperm.selallmem.checked=checked;			
	}
	else
	{
			document.groupperm.selallmem.checked=checked;
	}			
  }
	
	//handle auto select of edit on groups permission page
	function checkGroupEdit(elem){
		var checked = elem.checked;
		var username = elem.name;
		var token = username.replace("chke_","");
		var tempName;
		if(checked){
			for ( var i=0; i < document.groupperm.length; i++)
			{
				elem = document.groupperm.elements[i];
				if( elem.name)
				{
					tempName = elem.name;
					if(tempName.indexOf("chkr_")!= -1 )
						tempName = tempName.replace("chkr_","")
					if(tempName.indexOf("chke_")!= -1 )
						tempName = tempName.replace("chke_","")
					if(tempName.indexOf("chkc_")!= -1 )
						tempName = tempName.replace("chkc_","")
					if(tempName == token)
					{
						elem.checked = checked; 
					}
				}
			}
		}	else {
			//uncheck the top level edit check box 
			document.groupperm.selallmem.checked=checked;
		}
	}
	
	//handle auto select of comment checkbox on groups permission page
	function checkGroupComment(elem){
		var checked = elem.checked;
		var username = elem.name;
		var token = username.replace("chkc","chkr");
		var tempName;
		if(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; 
				}
			}
		} else {
			token = username.replace("chkc_","");
			for ( var i=0; i < document.groupperm.length; i++)
			{
				elem = document.groupperm.elements[i];
				if( elem.name)
				{
					tempName = elem.name;
					if(tempName.indexOf("chke_")!= -1 )
					{
						tempName = tempName.replace("chke_","")
						if(tempName == token)
						{
							elem.checked = checked; 
						}
					}
				}
			}
			//uncheck the toplevel edit and comment checkboxes
			document.groupperm.selalladmin.checked=checked;
			document.groupperm.selallmem.checked=checked;
		}	
		
	}	
	
	//This would submit the disabled checkboxes which
	//have the default asset permissions
	function enableCheckBoxes(idx)
	{
		var token = "chk";
		var read= "true";
		var edit= "true";
		var comment= "true";
		var elemName="";
		
		if(idx==0){
			for ( var i=0; i < document.userperm.length; i++)
			{
				elem = document.userperm.elements[i];
				if( elem.name && elem.name.indexOf(token) != -1 )
				{
					if(elem.disabled)
					{
						elem.disabled=false;
					}
					if(!elem.checked)
					{
						if(elem.name.indexOf("chke") != -1)
							edit=false;
						if(elem.name.indexOf("chkc") != -1)
							comment=false;
						if(elem.name.indexOf("chkr") != -1)
							read=false;
					}	
				}	
			}
					if(edit)
						document.userperm.everyOneEdit.value = "true";
					if(comment)
						document.userperm.everyOneComment.value = "true";
					if(read)	
						document.userperm.everyOneRead.value = "true";	
			
		}	else if (idx==1)
		{
			for ( var i=0; i < document.groupperm.length; i++)
			{
				elem = document.groupperm.elements[i];
				if( elem.name && elem.name.indexOf(token) != -1 )
				{
					if(elem.disabled){
						elem.disabled=false;
					}
					if(!elem.checked)
					{
						if(elem.name.indexOf("chke") != -1)
							edit=false;
						if(elem.name.indexOf("chkc") != -1)
							comment=false;
						if(elem.name.indexOf("chkr") != -1)
							read=false;
					}	
				}	
			}
			if(edit)
				document.groupperm.everyOneEdit.value = "true";
			if(comment)
				document.groupperm.everyOneComment.value = "true";
			if(read)	
				document.groupperm.everyOneRead.value = "true";			
		}
		
	}	
	
	//This would submit the disabled checkboxes which
	//have the default asset permissions
	function disableCheckBoxes(idx)
	{
		var token = "chk";
		if(idx==0)
		{
			for ( var i=0; i < document.userperm.length; i++)
			{
				elem = document.userperm.elements[i];
				if( elem.name && elem.name.indexOf(token) != -1 )
				{
						elem.disabled=true;
				}	
			}	
			document.userperm.selallmembers.disabled=true;
			document.userperm.selalladmin.disabled=true;
			document.userperm.selallmem.disabled=true;			
		}	else if (idx==1){
			for ( var i=0; i < document.groupperm.length; i++)
			{
				elem = document.groupperm.elements[i];
				if( elem.name && elem.name.indexOf(token) != -1 )
				{
						elem.disabled=true;
				}				
			}
			document.groupperm.selallmembers.disabled=true;
			document.groupperm.selalladmin.disabled=true;
			document.groupperm.selallmem.disabled=true;			
		}		
	}
	
	//handle the reset button User Permissions page
	function resetAclUsers()
	{
		var projTitle = getProjectTitle();
		var pageTitle = getPageTitle();
		var pageType = null;
		if( projTitle == null )
		{
			projTitle = document.userperm.projectname.value;
		}
		if( pageTitle == null )
		{
			pageTitle = document.userperm.pagetitle.value;
		}
		if( pageType == null )
		{
			pageType = document.userperm.type.value;
		}
		document.userperm.btn_save.disabled=true;	
		document.userperm.btn_del_item.disabled=true;	
		var url = appendPath("permission.jsp?projectname=")+URLEncode(projTitle) + "&pagetitle="+URLEncode(pageTitle)+"&type="+pageType;
		window.location.href=url;
	}
	//handle the cancel button on Groups Permissions page
	function cancelAclGroups()
	{
		window.close();
	}
	//handle the reset button Groups page
	function resetAclGroups()
	{
		var projTitle = getProjectTitle();
		var pageTitle = getPageTitle();
		var pageType = null;
		if( projTitle == null )
		{
			projTitle = document.groupperm.projectname.value;
		}
		if( pageTitle == null )
		{
			pageTitle = document.groupperm.pagetitle.value;
		}
		if( pageType == null )
		{
			pageType = document.groupperm.type.value;
		}
		document.groupperm.btn_save.disabled=true;	
		document.groupperm.btn_del_item.disabled=true;	
		var url = appendPath("pagepermissiongroup.jsp?projectname=")+URLEncode(projTitle) + "&pagetitle="+URLEncode(pageTitle)+"&type="+pageType;
		window.location.href=url;
	}
	
	//if the request is of saving owner
	function chgPageOwner()
	{
		var page_owner =document.userperm.chgowner.value;
		if(!et_g_isWhitespace(page_owner))
		{
			document.userperm.flag.value="saveowner";
			document.userperm.submit();
		}
		else
		{
			alert(generalMsgLocalizer.getMessage("usertransfer_owner"));
		}
			
	}
	//display the user details
	function openUserDetailsInPopUp(userid, elem, domainId){
		var url = getAppPath()+"/wiki/userdetails.jsp?userid="+userid;
		openPopup(url , 550, 350, "personaldetails");
	}
	//close the user permissions window
	function cancelAclUsers()
	{
		window.close();
	}
	
	function grantAll()
	{
		var _generalMsgLocalizer = SAMEPAGE.utils.i18n.generalMsgLocalizer;
		if(confirm(_generalMsgLocalizer.getMessage("grant_all")))
			{
				document.userperm.flag.value="grantAll";
				$("#grantAllUser").removeAttr('href');
				$("#grantAllUser").attr('disabled',true);
				checkAllUserPerm();
				disableCheckBoxes("0");
				
			}
		else
			{
				var projTitle = getProjectTitle();
				var pageTitle = getPageTitle();
				var pageType = null;
				if( projTitle == null )
				{
					projTitle = document.userperm.projectname.value;
				}
				if( pageTitle == null )
				{
					pageTitle = document.userperm.pagetitle.value;
				}
				if( pageType == null )
				{
					pageType = document.userperm.type.value;
				}
				var url = appendPath("permission.jsp?projectname=")+URLEncode(projTitle) + "&pagetitle="+URLEncode(pageTitle)+"&type="+pageType;
				window.location.href=url;
			}	

	}
	function grantAllGroups()
	{
		var _generalMsgLocalizer = SAMEPAGE.utils.i18n.generalMsgLocalizer;		
		if(confirm(_generalMsgLocalizer.getMessage("grant_all")))
			{
				document.groupperm.flag.value="grantAll";
				$("#grantAllGroup").removeAttr('href');
				$("#grantAllGroup").attr('disabled',true);					
				checkAllGroupPerm();
				disableCheckBoxes("1");
				document.groupperm.btn_save.disabled=false;	
			}
		else
			{
				var projTitle = getProjectTitle();
				var pageTitle = getPageTitle();
				var pageType = null;
				if( projTitle == null )
				{
					projTitle = document.groupperm.projectname.value;
				}
				if( pageTitle == null )
				{
					pageTitle = document.groupperm.pagetitle.value;
				}
				if( pageType == null )
				{
					pageType = document.groupperm.type.value;
				}
				var url = appendPath("pagepermissiongroup.jsp?projectname=")+URLEncode(projTitle) + "&pagetitle="+URLEncode(pageTitle)+"&type="+pageType;
				window.location.href=url;
			}			
	}
	//added by abhi ends

	function fetchAttachments()
	{
		if (typeof page_id != 'undefined' && page_id != "") {
			
			var params = new Array();
			params[0] = new Object();
			params[0].type = "String";
			params[0].value = page_id;
			params[1] = new Object();
			params[1].type = "httprequest";
			params[1].value = "";
			
			var ajaxReader  = new WikiAjax(false);
			ajaxReader.setMethodTOPOST();
			var afterFetch = new AfterFetchAttachments();
			ajaxReader.setCallback(afterFetch.process);
			
			var req = createRequest(createManagerMethod("getAttachmentsHtml",params));
			ajaxReader.addField("reqdata", req);
			ajaxReader.send();
			
		}
	}
	
	function AfterFetchAttachments()
	{
		this.process = process;
	
		function process( responseDOM, errorMessage, responseText )
		{
			var obj = parseResponse(responseDOM);
			if(obj == null) {
				alert(generalMsgLocalizer.getMessage("response_not_well"));
			} else {
				if(obj.statusCode == "200") { 
					if(obj.output +"" != "") {
						document.getElementById("wiki_div_attachments").innerHTML = obj.output;	
						document.getElementById("wiki_div_attachments").style.display="";
						document.getElementById("show_hide_attachments").style.display = "none";
						JT_init();
					}
				}
			}
		}
	}	

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

	function getAttachmentList()
	{
		fetchAttachments();
	}
	
	function isToolBarButtonAvailable(butName, row1, row2)
	{
		return (getIndexFromArray(row1,butName) != -1 || getIndexFromArray(row2,butName) != -1);
	}
	
	function newAssetByEmail(type) {
		
		var indWord = "Page";
		if (type == 0) { //page
			indWord = eiCommands.page;
		} else if (type ==1) { //news
			indWord = eiCommands.news;
		} else if (type ==2) { //thread
			indWord = eiCommands.thread;
		} else if (type ==3){ //ticket
			indWord = eiCommands.ticket;
		}
		var prjTitle = "Enter Project Name";
		if (typeof projectTitle != 'undefined' && projectTitle != "") {
			prjTitle = projectTitle;
		}
		location.href="mailto:"+emailIntegrationId+"?subject=[" + indWord + "]"+
				(wikiDomain!=""?("["+wikiDomain+"]"):"") + "[" + prjTitle + "]<" + 
				generalMsgLocalizer.getMessage("enter_title") + 
				">&body=" + generalMsgLocalizer.getMessage("enter_contents");;

	}
	
	function onPageGo()
	{
	try {
			var val = document.getElementById('toolbox_search').value;
			if(!stopToSave())
			{
				if(!et_g_isWhitespace(val) && (val != sHelpTxt))
				{
					showList("search",val);
				}
				else
				{
					alert(searchLocalizer.getMessage("searchMsg"));
				}
			}
		} catch (err) {			
		}
	}
	
	function generate_TOC(arrayTocs)
	{
		SAMEPAGE.utils.toc.generate_TOC(arrayTocs);
	}
	
	
	function startProjectExportAsPdf(projectName)
	{
		openPopup(appendPath("exportprojectaspdf.jsp?projectname=")+URLEncode(projectName)+"&start=true", 350, 100, "exportprojectaspdf", null);
	}
	
	function openSalesReq()
	{
		openPopup(("http://www.etouch.net/forms/sales_request.html"), 600, 530, " ");
	}
	//added by abhi for issue 43696  
	function delComment()
	{
		try
		{
			document.delete_form.del_comment_btn.disabled = true;
			document.delete_form.del_cancel.disabled = true;			
			document.delete_form.submit();	
			return true;
		}
		catch (err)	{}
	}	
	//ends
	
	function getAnchors(doc,title,pageId)
	{
		
		var anchorReader = new WikiAjax(false);
		anchorReader.setMethodTOPOST();
		var anchorResponseHandler = new AnchorResponseHandler( doc, pageId );
		anchorReader.setCallback(anchorResponseHandler.process);
		
		var methodName = "getAJAXAnchors";
		
		var params = new Array();
		var index = 0;
		
		params[index] = new Object();
		params[index].type = "String";
		params[index].value = title;
		index++;
		
		params[index] = new Object();
		params[index].type = "long";
		params[index].value = pageId;
		index++;
				
		var req = createRequest(createManagerMethod(methodName, params));
		anchorReader.addField("reqdata", req);
		
		anchorReader.send();
	}

	function AnchorResponseHandler( 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 showMembers()
	{
		 var projTitle = getProjectTitle();
		   var url = appendPath("projectmembers.jsp?projectname=") + URLEncode(projTitle);
		   try {
			   window.location.href=url;
		   } catch (err) {	   	
		   }
	}
	
	function showMicroblogs()
	{
		var url = appendPath("microbloglist.jsp");
		//page redirection
		window.location.href=url;
		
	}
	
	function openPolls()
	{
		var projTitle = getProjectTitle();
		var url = appendPath("polllisting.jsp");
		if(projTitle != null)
			url = appendPath("polllisting.jsp?projectname=") + URLEncode(projTitle);	
	    window.location.href=url;
	}
	
	function createPoll()
	{
		var projTitle = getProjectTitle();
	    var pageTitle = getPageTitle();
	    var url = appendPath("editpoll.jsp?projectname=") + URLEncode(projTitle);
	    window.location.href=url;
	}
	

	function addUsersToPoll(pollid)
	{
		var userlist =document.getElementsByName("perm_user_pcr");
		
		var selectedUserList = "";
		for(var cnt =0; cnt <userlist.length; cnt++)
		{
			if(userlist[cnt].value == "1")
			{
				var userId = userlist[cnt].id;
				userId = userId.substring(14,userId.length);
				selectedUserList = selectedUserList + userId + ",";
			}
		}
		
		if(selectedUserList == "")
		{
			alert(generalMsgLocalizer.getMessage("alert_select_atleast_one_user"));
			return false;
		}
		window.opener.document.editpoll.selectedUsers.value = selectedUserList ;
		alert(generalMsgLocalizer.getMessage("msg_pollparticipants"));
		window.close();
		//document.userselector.submit();
		
	}
	
	function openForumCategory(id)

	{
		var projTitle = getProjectTitle();
	    var url = appendPath("forumlisting.jsp?projectname=") + URLEncode(projTitle)+ "&categoryid=" +id ;
	    window.location.href=url;
	}
	
	function flipPanel(imgName, panelName) 
	{
		 var panelDiv = document.getElementById(panelName);
		 var imgElem = document.getElementById(imgName);
		if(panelDiv && panelDiv.style.display == 'none')
			{ 
				panelDiv.style.display = 'block'; 
				imgElem.src ="/cm/newui/images/other/16x16/icon_up_ver001.png";
				imgElem.alt = "Collapse";
				imgElem.title = "Collapse";
				
			}
			else
			{
				panelDiv.style.display = 'none'; 
				imgElem.src = "/cm/newui/images/other/16x16/icon_dn_ver001.png";
				imgElem.alt = "Expand";
				imgElem.title = "Expand";
			}
	} 
	
	function searchThreads()
	{
		var id = "-998";
		
		if( document.getElementById("selectCategory") != null && !et_g_isWhitespace(document.getElementById("selectCategory").value) )
		{
			id = document.getElementById("selectCategory").value;
		}
        if( document.getElementById("selecttitle") != null && !et_g_isWhitespace(document.getElementById("selecttitle").value) )
		{
			if(!isValidPageName(document.getElementById("selecttitle").value))
	        {
		      alert(generalMsgLocalizer.getMessage("msg_search_inputvalidation"));
		        $("#selecttitle").focus();
		      return false;
	        }
		}
        if( document.getElementById("selectcreatedby") != null && !et_g_isWhitespace(document.getElementById("selectcreatedby").value) )
		{
			if(!isValidPageName(document.getElementById("selectcreatedby").value))
	        {
		      alert(generalMsgLocalizer.getMessage("msg_search_inputvalidation"));
		        $("#selectcreatedby").focus();
		      return false;
	        }
		}
                		
		document.forumlist_form.categoryid.value = id;
		document.forumlist_form.submit();
	}
	
	function resetThreadSearch()
	{
		document.getElementById("selecttitle").value = "";
		document.getElementById("selectcreatedby").value = "";
		document.getElementById("currentpage").value = 1;
		document.getElementById("selectCategory").value = "-998";
		document.getElementById("sortcolumn").value = "lastCommentDt";
		document.getElementById("sortorder").value = "DESC";
		document.forumlist_form.submit();
	}
	
	function editForumCategory(id)
	{
		var parentIds = document.getElementById("selectCategory").value;
		var projTitle = getProjectTitle();
	    var url = appendPath("managecategory.jsp?projectname=") + URLEncode(projTitle)+ "&categoryid=" +id + "&uaction=edit";
	    window.location.href=url;
	}
	
	function deleteForumCategory(categoryId)
	{
		var projTitle = getProjectTitle();
		wAjax = new WikiAjax();
		wAjax.setMethodTOPOST();
		var afterDeleteForumCategory = new AfterDeleteForumCategory(categoryId);
		wAjax.setCallback(afterDeleteForumCategory.process);
		var methodName = "hasChildForumCategory";
		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 = categoryId;
		var req = createRequest(createManagerMethod(methodName, params));
		wAjax.addField("reqdata", req);
		wAjax.send();
		
	}
	
	function AfterDeleteForumCategory(categoryId)
	{
		this.categoryId = categoryId;
		this.process = process;
		
		function process( responseDOM, errorMessage, responseText )
		{
			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("category_deletion_move_childcategory"));
							return false;
						}else{
							isThreadAttached(categoryId);
						}
					}
				}
			}
		}
	}
	
	function isThreadAttached(categoryId)
	{
		wAjax = new WikiAjax();
		wAjax.setMethodTOPOST();
		var afterIsThreadAttached = new AfterIsThreadAttached(categoryId);
		wAjax.setCallback(afterIsThreadAttached.process);
		var methodName = "isThreadAttached";
		var params = new Array();
		params[0] = new Object();
		params[0].type = "long";
		params[0].value = categoryId;
		var req = createRequest(createManagerMethod(methodName, params));
		wAjax.addField("reqdata", req);
		wAjax.send();
	}
	
	function AfterIsThreadAttached(categoryId)
	{
		this.categoryId = categoryId;
		this.process = process;
		
		function process( responseDOM, errorMessage, responseText )
		{
			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("category_deletion_move_thread"));
							return false;
						}else{
							if(confirm(generalMsgLocalizer.getMessage("deleteCategory")))
							{
								document.managecategory_form.uaction.value="delete";
								document.managecategory_form.categoryid.value=categoryId;
								document.managecategory_form.submit();
							}
						}
					}
				}
			}
		}
	}
	
	function isThreadAllowed()
	{
		var categoryid ;
		if( document.getElementById("category") != null && !et_g_isWhitespace(document.getElementById("category").value) )
		{
			categoryid = document.getElementById("category").value;
		}
			
		if( wAjax != null)
		{
			return;
		}
		wAjax = new WikiAjax();
		wAjax.setMethodTOPOST();
		wAjax.setCallback(afterIsThreadAllowed);
		var methodName = "isThreadCreationAllowed";
		var params = new Array();
		params[0] = new Object();
		params[0].type = "long";
		params[0].value = categoryid;
		var req = createRequest(createManagerMethod(methodName, params));
		wAjax.addField("reqdata", req);
		wAjax.send();
	}
	
	function afterIsThreadAllowed(responseDOM, errorMessage)
	{
		var categoryid = -997;
		
		if( document.getElementById("subcategoryid") != null && document.getElementById("subcategoryid").value != "$SUB_CAT_ID" )
		{
			categoryid = document.getElementById("subcategoryid").value;
		}
		
		if(errorMessage == null)
		{
			var obj = parseResponse(responseDOM);
			if(obj == null)
			{
				alert(generalMsgLocalizer.getMessage("response_not_well"));
			}
			else
			{ 
				if(obj.statusCode == "200")
				{ 	
					if(obj.output == "false") {
						alert(generalMsgLocalizer.getMessage("alert_threadcreationnotallowed"));
						document.editpage.category.value=categoryid;
					}
				}
			}
		}
	}
	
	function saveForumCategory()
	{	
		var title=document.getElementById("titletext").value;
	    if(et_g_isWhitespace(title))
	    {
	 	   alert(generalMsgLocalizer.getMessage("alertcreate_category_blank"));
	   	   document.getElementById("titletext").focus();
		   return false;
	    }else
	    {
	    	if(isValidPageName(title))
			{
	    		getForumCategoryLevel();
			}
	    	else{
	    		alert(generalMsgLocalizer.getMessage("wikieditpage_pagetitlevalidation"));
				return false;
			}
	    }	
	}
	
	function checkCylDependsForForumCategory()
	{
		
		var parentId = -999;
		var oldparentcategoryid = -999;
		var projTitle = getProjectTitle();
		var projectid = -999;
		
		var categoryid = document.getElementById("categoryid").value;
		if( categoryid == "$CATEGORYID"){
			return true;
		}
		
		if( document.getElementById("selectCategory") != null && !et_g_isWhitespace(document.getElementById("selectCategory").value) )
		{
			parentId = document.getElementById("selectCategory").value;
		}
		oldparentcategoryid = document.getElementById("oldparentcategoryid").value;
		projectid = document.getElementById("projectid").value;
		
		if( projectid == oldparentcategoryid)
			oldparentcategoryid = -999;
		
		if( categoryid == parentId){
			alert(generalMsgLocalizer.getMessage("alertcreate_category_sameparent"));
			document.managecategory_form.selectCategory.value = oldparentcategoryid;
		}	
		
		if( wAjax != null)
		{
			return;
		}
		wAjax = new WikiAjax();
		wAjax.setMethodTOPOST();
		wAjax.setCallback(afterCheckCylDependsForForumCategory);
		var methodName = "checkCylDependsForForumCategory";
		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 = categoryid;
		params[2] = new Object();
		params[2].type = "long";
		params[2].value = parentId;
		var req = createRequest(createManagerMethod(methodName, params));
		wAjax.addField("reqdata", req);
		wAjax.send();
	}
	
	function afterCheckCylDependsForForumCategory(responseDOM, errorMessage)
	{
		var oldparentcategoryid = -999;
		var projectid = -999;
		
		if( document.getElementById("oldparentcategoryid") != null && !et_g_isWhitespace(document.getElementById("oldparentcategoryid").value) )
		{
			oldparentcategoryid = document.getElementById("oldparentcategoryid").value;
		}
		if( document.getElementById("projectid") != null && !et_g_isWhitespace(document.getElementById("projectid").value) )
		{
			projectid = document.getElementById("projectid").value;
		}
		if( projectid == oldparentcategoryid)
			oldparentcategoryid = -999;
		
		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("changeparent_not_allowed"));
						document.managecategory_form.selectCategory.value = oldparentcategoryid;
					}
				}
			}
		}
	}
	
	function getForumCategoryLevel()
	{
		
		var parentId = -999;
		var projTitle = getProjectTitle();
		if( document.getElementById("selectCategory") != null && !et_g_isWhitespace(document.getElementById("selectCategory").value) )
		{
			parentId = document.getElementById("selectCategory").value;
		}
		if( wAjax != null)
		{
			return;
		}
		wAjax = new WikiAjax();
		wAjax.setMethodTOPOST();
		wAjax.setCallback(afterGetForumCategoryLevel);
		var methodName = "getForumCategoryLevel";
		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 = parentId;
		var req = createRequest(createManagerMethod(methodName, params));
		wAjax.addField("reqdata", req);
		wAjax.send();
	}

	function afterGetForumCategoryLevel(responseDOM, errorMessage)
	{
		var categoryid = document.getElementById("categoryid").value;
		if(errorMessage == null)
		{
			var obj = parseResponse(responseDOM);
			if(obj == null)
			{
				alert(generalMsgLocalizer.getMessage("response_not_well"));
			}
			else
			{ 
				if(obj.statusCode == "200")
				{ 				
					if(obj.output < 4) {
						if (categoryid != "$CATEGORYID"){
							document.managecategory_form.uaction.value="save";
							document.managecategory_form.submit();
						}else{
							document.managecategory_form.uaction.value="create";
							document.managecategory_form.submit();
						}	
					}else{
						alert(generalMsgLocalizer.getMessage("category_creation_not_allowed"));
					}
				}
			}
		}
	}

			
	//for microblogs
	function postMicroblog()
	{
		document.microblog.flag.value="savemicroblog";	
		document.microblog.btn_post.disabled=true;
		if( document.getElementById("microblogtext") != null && !et_g_isWhitespace(document.getElementById("microblogtext").value) )
		{
			var s = document.getElementById("microblogtext").value;
			var regexS = /<(?:.|\s)*?>/gi;
	 		var regex = new RegExp( regexS );			
			if(regex.test(s))
			{
				if(confirm(generalMsgLocalizer.getMessage("alerttagsinmicroblog")))
				{
					document.microblog.submit();
				}
				else
				{
					document.microblog.btn_post.disabled=false;
					return false;
				}	
			}
			else
			{
				document.microblog.submit();
			}
		}
		else
		{
			alert(generalMsgLocalizer.getMessage("emptyMicroblog"));
			document.microblog.btn_post.disabled=false;
			return false;
		}
			
	}
	
	function deleteMicroblog(blogId)
	{
		if(confirm(generalMsgLocalizer.getMessage("deleteMicroblog")))
		{
			document.microblog.flag.value="deleteMicroBlog";
			document.getElementById("deleteMicroblogId").value=blogId;
			document.microblog.submit();
		}
	}
	
	function openFollowers()
	{
		openPopup( (getAppPath() + '/wiki/followerlist.jsp') , 480, 400, 'followers');	
	}
	
	function openFollowing()
	{
		openPopup( (getAppPath() + '/wiki/followinglist.jsp') , 480, 400, 'following');
		
	}
	
	function openFollowersInPopup()
	{
		var url = appendPath("followerlist.jsp")
		window.location.href=url;
	}
	
	function openFollowingInPopup()
	{
		var url = appendPath("followinglist.jsp")
		window.location.href=url;
	}
	
	function olderMicroblog(userId)
	{
		var url = appendPath("microbloglist.jsp?username=") + URLEncode(userId)+"&isTabbed=true";
		window.location.href=url;
	}
	
	function doFollowAjax(userId, followerId)
	{
		
		if( wAjax != null)
		{
			return;
		}
	
		wAjax = new WikiAjax();
		wAjax.setMethodTOPOST();
		wAjax.setCallback(doFollowAjaxCallback);
		var methodName = "followAjax";
		var params = new Array();
		params[0] = new Object();
		params[0].type = "String";
		params[0].value = userId;
		params[1] = new Object();
		params[1].type = "String";
		params[1].value = followerId;
		var req = createRequest(createManagerMethod(methodName, params));
		wAjax.addField("reqdata", req);
		wAjax.send();
	}
	
	function doUnFollowAjax(userId, followerId)
	{
	
		if( wAjax != null)
		{
			return;
		}
		wAjax = new WikiAjax();
		wAjax.setMethodTOPOST();
		wAjax.setCallback(doUnFollowAjaxCallback);
		var methodName = "unfollowAjax";
		var params = new Array();
		params[0] = new Object();
		params[0].type = "String";
		params[0].value = userId;
		params[1] = new Object();
		params[1].type = "String";
		params[1].value = followerId;
		var req = createRequest(createManagerMethod(methodName, params));
		wAjax.addField("reqdata", req);
		wAjax.send();
	}
	
	function doUnFollowAjaxCallback(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 +"" != "")
					{
						document.getElementById("followOrUnfollow").innerHTML = obj.output;
					}
				}
				else
				{
					alert(generalMsgLocalizer.getMessage("tags_error"));
				}
			}
		}
	}
	
	function doFollowAjaxCallback(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 +"" != "")
					{
						document.getElementById("followOrUnfollow").innerHTML = obj.output;
					}
				}
				else
				{
					alert(generalMsgLocalizer.getMessage("tags_error"));
				}
			}
		}
	}
	//end microblogs
	function updateAssetStatus(assetId,assetStatus)
	{
		var confirmMessage="";
		var args = [getPageType()];
		if(assetStatus == 16)
		{
			confirmMessage=generalMsgLocalizer.getMessage("closeasset", args);
		}
		else
		{
			confirmMessage=generalMsgLocalizer.getMessage("openasset", args);
		}
		if(confirm(confirmMessage))
		{
			ajaxReader = new WikiAjax();
			ajaxReader.setMethodTOPOST();
			var afterChangingAssetStatus = new AfterChangingAssetStatus(assetId,assetStatus);
			ajaxReader.setCallback(afterChangingAssetStatus.process);
			var methodName = "updateAssetStatus";
			var params = new Array();
			params[0] = new Object();
			params[0].type = "long";
			params[0].value = assetId;
			params[1] = new Object();
			params[1].type = "int";
			params[1].value = assetStatus;
			var req = createRequest(createManagerMethod(methodName, params));
			ajaxReader.addField("reqdata", req);
			ajaxReader.send();
		}
	}

	function AfterChangingAssetStatus( assetId,assetStatus )
	{
		this.assetId = assetId;
		this.assetStatus = assetStatus;
		this.process = process;
	
		function process( responseDOM, errorMessage, responseText )
		{
			if(errorMessage == null)
			{
				var obj = parseResponse(responseDOM);
				if(obj == null)
				{
					alert(generalMsgLocalizer.getMessage("response_not_well"));
				}
				else
				{
					
					if(obj.statusCode == "200")
					{ 
							var newStatus = 0;
							window.location.href="/cm/wiki/?id="+assetId;
					}
					
				}
			}
		}
	}
	
	function imposeMaxLength(Object, MaxLen)
	{
	  //return (Object.value.length <= MaxLen);
		
	  if (Object.value.length > MaxLen)
		{
		  Object.value = Object.value.substring(0, MaxLen);
		}
	}
	
	function doFollowUnfollow(flag, user, form)
	{
		if(form == 'following')
		{
			if(flag=='follow')
			{
				document.followinglist.flag.value=flag;
				document.followinglist.follow.value=user;
				document.followinglist.submit();
			}
			if(flag == 'unfollow')
			{
				document.followinglist.flag.value=flag;
				document.followinglist.unfollow.value=user;
				document.followinglist.submit();			
			}
			window.opener.location.reload();
		}
	
		if(form == 'follower')
		{
		
			if(flag=='follow')
			{
				document.followerlist.flag.value=flag;
				document.followerlist.follow.value=user;
				document.followerlist.submit();
			}
			if(flag == 'unfollow')
			{
				document.followerlist.flag.value=flag;
				document.followerlist.unfollow.value=user;
				document.followerlist.submit();			
			}
			window.opener.location.reload();
		}
		
		if(form == 'profile')
		{
		
		
			if(flag=='follow')
			{
				document.profile.flag.value=flag;
				document.profile.follow.value=user;
				document.profile.submit();
			}
			if(flag == 'unfollow')
			{
				document.profile.flag.value=flag;
				document.profile.unfollow.value=user;
				document.profile.submit();			
			}
		}		
		
		if(form == 'microblogTabbed')
		{
			if(flag=='follow')
			{
				document.microblog.flag.value=flag;
				document.microblog.follow.value=user;
				document.microblog.submit();
			}
			if(flag == 'unfollow')
			{
				document.microblog.flag.value=flag;
				document.microblog.unfollow.value=user;
				document.microblog.submit();			
			}
		}				
		
	}	
	
	function showRecentActivity()
	{
		var url = appendPath("recentpagelisting.jsp");
		window.location.href=url;
	}
	
	function replyCommentTitle(title)
	{
		var ret = title;
		if(title.indexOf("Re:") == 0)
		{
			ret = title;
		}
		else
		{
			ret = "Re: "+title;
		}
		return ret;
	}
	
	function setTagAndDescForAttachment(responseDOM, errorMessage)
	{
		var attachedFileNames = new Array();
		var selectedFileNames = new Array();
		var temp = new Array();
		var data = new Array();
		var desc = new Array();
		var tags = new Array();
		var descField = new Array();
		var tagField = new Array();
		var ids = new Array();
		flag = new Array();
		
		if(errorMessage == null)
		{
			var obj = parseResponse(responseDOM);
			if(obj == null)
			{
				alert(generalMsgLocalizer.getMessage("response_not_well"));
			}
			else
			{ 
				if(obj.statusCode == "200")
				{ 
					if(obj.output +"" != "")
					{
						data = (obj.output).split("|");
						attachedFileNames = data[0].split(">");
						desc = data[1].split(">");
						tags = data[2].split(">");
						ids = data[3].split(">");
						//alert(data);
						selectedFileNames = $(".qq-upload-file");
						
						assetIds = new Array(selectedFileNames.length);
						
						descField = $(".desc");
						tagField = $(".tag");
						
						for(var i=0; i<selectedFileNames.length;i++)
						{		
							var fName = "";				
							temp = (selectedFileNames[i].innerHTML).split(":");
							
							if(temp[1].indexOf('<') > 0)
							{
							 fName = temp[1].substr(0,temp[1].indexOf('<'));
							}
							else
							{
							 fName = temp[1];
							}
							fName = fName.trim();	
							
							selectedFileNames[i] = fName;
							flag[i] = "save";
							assetIds[i] = 0;
							//alert("selectedFileNames[" + i + "] = " + selectedFileNames[i]);
						}
				
						temp = $(".qq-upload-file");
						
						for(var i=0; i<selectedFileNames.length;i++)
						{						
							for(var j=0; j<attachedFileNames.length;j++)
							{	
							  if(selectedFileNames[i] == attachedFileNames[j])
							  {	
							  	flag[i] = "update";
							  	assetIds[i] = ids[j];				
								//alert("attachedFileNames[" + j + "] = " + attachedFileNames[j]);
								
								if(desc[j] == 'null')
								{
								 desc[j] = "";
								}
								if(tags[j] == 'null')
								{
								 tags[j] = "";
								}
								descField[i].value = desc[j];
								tagField[i].value = tags[j];
								
								var tempStr = temp[i].innerHTML;
								if(tempStr.indexOf('<') > 0)
								{
							 		tempStr = tempStr.substr(0,tempStr.indexOf('<'));
								}
								
								temp[i].innerHTML = tempStr + '	<span class="updt">(File already exists. Will be updated.)</span>';
								$(".updt").css("color","red");
							  }
							}
						}
																						
					}
					else
					{
						//alert("No Attachments");
					}
				}
				else
				{
					//alert("Response Not OK");
				}
			}
		 }
		
	}
	
	function setTagAndDescForUpdateAttachment(responseDOM, errorMessage)
	{
		var attachedFileNames = new Array();
		var selectedFileName = $("#attachment_name").html();
		var data = new Array();
		var desc = new Array();
		var tags = new Array();
		var descField;
		var tagField;

		if(errorMessage == null)
		{
			var obj = parseResponse(responseDOM);
			if(obj == null)
			{
				alert(generalMsgLocalizer.getMessage("response_not_well"));
			}
			else
			{ 
				if(obj.statusCode == "200")
				{ 
					if(obj.output +"" != "")
					{
						data = (obj.output).split("|");
						attachedFileNames = data[0].split(">");
						desc = data[1].split(">");
						tags = data[2].split(">");
						//alert(data);
						
						descField = $("#11_desc");
						tagField = $("#11_tag");
																													
							for(var j=0; j<attachedFileNames.length;j++)
							{
								  if(selectedFileName == attachedFileNames[j])
								  {									
									if(desc[j] == 'null')
									{
									 desc[j] = "";
									}
									if(tags[j] == 'null')
									{
									 tags[j] = "";
									}																							
									descField.val(desc[j]);
									tagField.val(tags[j]);								
								  }
							}
					 }
				    else
				     {
						//alert("No Attachments");
				     }
				}
				else
				{
					//alert("Response Not OK");
				}
			}
		 }
		 
		 var actag = $("#11_tag").autocomplete("autocomplete.jsp",{delay:05,minChars:2,matchSubset:1,matchContains:1,cacheLength:10,onItemSelect:selectItem,onFindValue:findValue,formatItem:formatItem,autoFill:true,multiElement:true});
         if(actag[0])
          {
             actag[0].autocompleter.setExtraParams({operation:"taglist",projectname:pName});
		  }	
		 
		
	}
	
	function printPage()
	{
		var printDiv = document.getElementById("printdiv");
		printDiv.setAttribute("style","display:none;");
		printDiv.innerHTML="";
		window.print();
		window.location.reload();
		printDiv.setAttribute("style","display:;");
	}
	
	
	function getAttachmentListForUpdate(strId,tagId,commentId,actionFlagHiddenElemId)
	{
			fileInputId=strId;
			tagFieldId=tagId;
			descFieldId=commentId;
			actionFlagFieldId = actionFlagHiddenElemId;
			
			if( wAjax == null)
			{
				wAjax = new WikiAjax();
				wAjax.setMethodTOPOST();
				wAjax.setCallback(setTagAndDescForAttachmentOlderUI);
				var methodName = "getAttachmentsToUpdate";
				var params = new Array();
				params[0] = new Object();
				
				if(isExplorerViewAttach)
				{
				 params[0].type = "String";
				 params[0].value = pName;
				 params[1] = new Object();
				 params[1].type = "String";
				 params[1].value = pTitle;
				}
				else
				{
				 params[0].type = "long";
				 params[0].value = page_id;
				}
				var req = createRequest(createManagerMethod(methodName, params));
				wAjax.addField("reqdata", req);
				wAjax.send(); 
			}
	}
	
	function setTagAndDescForAttachmentOlderUI(responseDOM, errorMessage)
	{
		var attachedFileNames = new Array();
		var selectedFileName;
		var temp = new Array();
		var data = new Array();
		var desc = new Array();
		var tags = new Array();
		var descField = new Array();
		var tagField = new Array();
		var ids = new Array();
		var flag = "false";
		
		if(errorMessage == null)
		{
			var obj = parseResponse(responseDOM);
			if(obj == null)
			{
				alert(generalMsgLocalizer.getMessage("response_not_well"));
			}
			else
			{ 
				if(obj.statusCode == "200")
				{ 
					if(obj.output +"" != "")
					{
						data = (obj.output).split("|");
						attachedFileNames = data[0].split(">");
						desc = data[1].split(">");
						tags = data[2].split(">");
						ids = data[3].split(">");
						//alert(data);
						selectedFileName = $("#"+fileInputId).val();
						
						if(selectedFileName.lastIndexOf("\\") > -1)
						{
		 					selectedFileName = selectedFileName.substr(selectedFileName.lastIndexOf("\\") + 1);
						}
						//alert(selectedFileName);
											
						descField = $("#"+descFieldId);
						tagField = $("#"+tagFieldId);
																
							for(var j=0; j<attachedFileNames.length;j++)
							{	
							  if(selectedFileName == attachedFileNames[j])
							  {	
							  								
								if(desc[j] == 'null')
								{
								 desc[j] = "";
								}
								if(tags[j] == 'null')
								{
								 tags[j] = "";
								}
								descField.val(desc[j]);
								tagField.val(tags[j]);	
								
								alert(generalMsgLocalizer.getMessage("fileUpdateMsg",[selectedFileName]));
								var actionFlagField = $("#"+actionFlagFieldId);
								actionFlagField.val(ids[j]); 
							  }
							}
						//alert("attachmentId :: "+actionFlagField.val());
																						
					}
					else
					{
						//alert("No Attachments");
					}
				}
				else
				{
					//alert("Response Not OK");
				}
			}
		 }
		
	}

