
/* ---------------------------------------------------------------------------------------
  /var/adm/webnative/inprstyle|styles_inpress.js

  InPressive - jul 28 2005. Copyright(c) 2005 by InPress Systems AB Sweden.
  Modified original from Xinet Inc. All Rights Reserved.

  1.8 inpr_2_8r6 2010/03/12 09:11:02
------------------------------------------------------------------------------------------ */

	/* InPress Functions */

	var InPressiveEnabled = false;

	function toggleInPressive(styles, InPressiveEnabled) {

		var nme, stylePop;

		for (i = 0; i < styles.length; i++) {

			nme = styles[i].name;

			if (nme == "basket" || 
				nme == "browse" || 
				nme == "icons" || 
				nme == "imageinfo" || 
				nme == "order" || 
				nme == "quarkview" || 
				nme == "search" || 
				nme == "toplevel" || 
				nme == "upload") {

					stylePop = document.wnForm["sel_" + nme];

					stylePop.options[stylePop.selectedIndex].value = (InPressiveEnabled ? "inpressive" : "default")

				var styleHidden = document.wnForm.elements[ACTION_KEY + nme];
				
				styleHidden.value = (InPressiveEnabled ? "inpressive" : "default");
			}
		}

		var cssPop = document.wnForm["sel_css"];
		cssPop.options[cssPop.selectedIndex].value = (InPressiveEnabled ? "inpressive" : "default")

		var cssHidden = document.wnForm.elements[ACTION_KEY + "css"];
		cssHidden.value = (InPressiveEnabled ? "inpressive" : "default");

		document.wnForm.changestyles.click()
	}

	function InPressiveSwitch(styles, InPressiveEnabled, isGroup) {

		/* Sort Styles list when InPressive IS used */

		var bg = "#FF8000";
		var clr = "#eee";
		var font = "Verdana";
		var size = "9pt";

		var STYLE = " STYLE='background:" + bg + ";color:" + clr + ";font-family:" + font + ";font-size:" + size + ";'"

// 100312: Added "Use InPressive box to default user setting.
// 		if ( UserName != "defaultuser" ) {
			document.writeln("<TABLE BORDER=1 BORDERCOLOR=#DDDDDD CELLSPACING=0 CELLPADDING=2>")
			document.writeln("	<TR>")
			document.writeln("		<TH WIDTH=200" + STYLE + ">")
			document.writeln("			<A HREF='/webnative/plugins/inpradmin' TARGET='adminWin'>")
			document.writeln("			Use InPressive")
			document.writeln("			</A>")
			document.writeln("		</TH>")
			document.writeln("		<TH" + STYLE + ">")
			document.writeln("			<INPUT TYPE='checkbox' NAME='useInpr' onClick='toggleInPressive(Style, " + !InPressiveEnabled + ")'" + (InPressiveEnabled ? "CHECKED" : "") + ">")
			document.writeln("		</TH>")
			if (InPressiveEnabled) {
				document.writeln("		<TH BGCOLOR='#DDDDDD'>")
		
				var flags;
				if (isGroup)
					flags = "-modgroup+" + UserName
				else
					flags = "-moduser+" + UserName
		
				document.writeln("			<INPUT TYPE='button' VALUE='InPressive Admin' onClick='var adminWin = window.open(\"/webnative/plugins/inpradmin?" + flags + "\", \"adminWin\")'>")
				document.writeln("		</TH>")
			}
			document.writeln("	</TR>")
			document.writeln("</TABLE><HR>")
// 		}
	}

	function inpress_nativeadmin(styles) {

		/* For adding stuff into NativeAdmin -> Styles */

		// Check if user or group
		var isGroup = false;
		for (i = 0; i < grouplistCount; i++)
			if (grouplist[i].name == UserName)
				isGroup = true;

		// Check if InPressive is used by [user]
		for (i = 0; i < styles.length; i++) {
			if (styles[i].name == "toplevel") {
				if (styles[i].user == "inpressive") {
					window.InPressiveEnabled = true;
				}
			}
		}
		InPressiveSwitch(styles, InPressiveEnabled, isGroup)
	}

	function setStyle(val,actKey,actName) {

		/* Function added to set value in hidden when changing popup */

		document.wnForm.elements[actKey + actName].value = val;

		if (actName == "toplevel")
			document.wnForm.elements[actKey + "css"].value = ( val == "inpressive" ? "inpressive" : "default");
	}

	function outputstylespopup(action, style, defaultstr) {

		document.write("<SELECT NAME=sel_" + action.name);

		// Disable if using InPressive
		if ((window.InPressiveEnabled) && (action.name == "css" || action.name == "toplevel")) {
			document.write(" DISABLED")
			if ( action.name == "css"  )
				style = "inpressive";
		}

		document.write(" onChange='setStyle(this.value,ACTION_KEY,\"" + action.name + "\")'>");

		document.write("<OPTION value=\"default\"");
		if (style == "default")
			document.write(" SELECTED");
		document.writeln(">"+defaultstr+"</OPTION>");
		for (var i = 0; i < action.stylesCount; i++) {
			document.write("<OPTION value=\""+action.styles[i]+"\"");
			if (style == action.styles[i])
				document.write(" SELECTED");
			document.writeln(">"+action.styles[i]+"</OPTION>");
		}
		document.writeln("</SELECT>");
		
		document.writeln("<INPUT TYPE='hidden' VALUE='" + style + "' NAME='" + (ACTION_KEY + action.name) + "'>");
	}

	function doinpressivestyles(userlist, usercount, username, primarygroup,
				grouplist, groupcount, 
				stylelist, stylecount, 
				issubadmin)
	{
		var isdefault = false;
		var isadmin = false;
		var hasprimary = false;
		if ((primarygroup != "") && (primarygroup != "-None-")) {
			hasprimary = true;
		}
		if (username == "defaultuser") {
			isdefault = true;
			hasprimary = false;
		} else if (username == "nativeadmin") {
			isadmin = true;
		}
	
		document.writeln("<TABLE WIDTH=95%><TR><TD ALIGN=left>");
		document.writeln("<table width=100% class=pagesub cellspacing=2><tr><th align=left class=label>"+lang.userperms.styleadmin+":</th></tr></table></TD></TR><TR><TD ALIGN=left>");
		document.writeln("<table><tr><th align=left valign=top class=label>"+lang.userperms.username+":</th><td>");
		writeUserGroupPopup(document, userlist, "userlist", grouplist, "grouplist", username, "user0", true);
		document.writeln("</td></tr>");
		if (!isdefault && hasprimary) {
			document.writeln("<tr><th align=left class=label>"+lang.userperms.primarygroup+":</th>");
			document.writeln("<td>"+primarygroup+"</td></tr>");
		}
		document.writeln("</table><HR>");
		
		inpress_nativeadmin(Style) // InPress Area 2005-03-03 13:38
		
		document.writeln("<TABLE BORDER=1 BORDERCOLOR=#DDDDDD CELLSPACING=0 CELLPADDING=2><TR><TH class=tabletop>"+lang.userperms.action+"</TH>");
		document.writeln("<TH class=tabletop>"+lang.userperms.styles+"</TH></TR>");
		for (var i = 0 ; i < stylecount ; i++)  {
			/* Currently nativeadmin can only set up language */
			if( !showAction(isadmin, isdefault, stylelist[i].name ) ) {
				continue;
			}
			document.writeln("<TR><TH class=colhead>&nbsp;"+stylelist[i].name+"&nbsp;</TH><TD>");
			if (issubadmin)
				document.write(userstyle[i]);
			else
				outputstylespopup(stylelist[i], stylelist[i].user, stylelist[i].defaultstr);
			document.writeln("</TD></TR>");
		}
	
		document.writeln("</TABLE>");
		if (!issubadmin) {
			document.writeln("<HR>");
			document.writeln("<INPUT Type=button name=resetstyles Value=\""+lang.userperms.alldefault+"\" onclick=\"setalldefault(document.wnForm, Style, StyleCount)\">");
			document.writeln("<INPUT Type=submit name=changestyles Value=\""+lang.userperms.submitchanges+"\">");
		}
		document.writeln("</TD></TR></TABLE></CENTER>");
	}

