<%@  page pageEncoding="utf-8" contentType="text/html;charset=utf-8" import="com.novell.webaccess.common.JSPConduit,
                  java.util.ResourceBundle,
                  com.novell.emframe.dev.eMFrameUtils" %>

<%@ taglib uri="/WEB-INF/iman.tld" prefix="iman" %>
<%@ taglib uri="/WEB-INF/c.tld" prefix="c" %>
<%@ taglib uri="/WEB-INF/x.tld" prefix="x" %>

<%   JSPConduit c = new JSPConduit(request);
   c.stringTable("DevResources");
   c.stringTable("BaseResources"); %>




<iman:stringtable bundle="DevResources"/>
<x:parse xml="${edas}" var="edasXml"/>



<HTML>
<HEAD>
   <TITLE><iman:string key="ProductName"/></TITLE>
   <LINK rel="stylesheet" href="<c:out value="${ContextPath}" />/portal/modules/dev/css/hf_style.css">
   <iman:include page="fw/UiHandlerTools.jsp" />
   <iman:include page="dev/PageScripts_inc.jsp" />


   <iman:include page="dev/eMFrameScripts_inc.jsp"/>
   <iman:include page="dev/MVStringEditorScripts_inc.jsp"/>
   <iman:include page="dev/ValidateIntegerScripts_inc.jsp"/>
   <iman:mvedScripts mode="mvsel"/><%-- Always include for the description field --%>
   <c:if test="${DeviceType=='browser'}">
      <iman:mvedScripts mode="mvie"/>
   </c:if>
	<SCRIPT language="JavaScript" src="<%= c.getModulesUrl() + "/dev/javascripts/" %>MVStringEditor.js"></script>
   <SCRIPT language="JavaScript" src="<%= c.getModulesUrl() + "/dev/javascripts/" %>MVStringEditorIE.js"></script>
   
   <SCRIPT>
   		function mvedChange(name){
        	 //alert("An MVStringEditor has changed: "+name);
         	if(name != null || name != ""){
    	    	var editorName=""+name;
        	 	var telephoneNumberVal = document.forms[0]._Telephone_Number.value;
				var faxNumberVal = document.forms[0]._Facsimile_Telephone_Number.value;
				var returnValTel = validationLogic(telephoneNumberVal);
				var returnValFax = validationLogic(faxNumberVal);
		         //alert("editorName"+editorName);
				if(editorName=="_Telephone_Number" && returnValTel== "success"){
					var mvse = eval("window.mv" + name);
					if(mvse.m_mode=="mvie"){
	               		mvse.m_tb.value="";
	               		if(mvse.m_tb.value=="" && mvse.m_list.length>0){
         					for(var i=mvse.m_selectedRow; i<mvse.m_list.length-1; i++)
         						mvse.m_list[i] = mvse.m_list[i+1];
         					mvse.m_list.length = mvse.m_list.length-1;
         					mvieShowListUnderneath(mvse);
         					mvieOnChange(mvse);
      					}
	            	}else{
						javascript:mvselRemove(mvse);
					}
					alert("<%= c.string("ModifyUser.PhoneNumber.FullWidth") %>");
					document.forms[0]._Telephone_Number.focus();
					return;
				}
            	if(editorName=="_Facsimile_Telephone_Number" && returnValFax== "success"){
					var mvse = eval("window.mv" + name);
					if(mvse.m_mode=="mvie"){
	               		mvse.m_tb.value="";
	               		if(mvse.m_tb.value=="" && mvse.m_list.length>0){
         					for(var i=mvse.m_selectedRow; i<mvse.m_list.length-1; i++)
         						mvse.m_list[i] = mvse.m_list[i+1];
         					mvse.m_list.length = mvse.m_list.length-1;
         					mvieShowListUnderneath(mvse);
         					mvieOnChange(mvse);
      					}
	            	}else{
						javascript:mvselRemove(mvse);
					}
					alert("<%= c.string("ModifyUser.FaxNumber.FullWidth") %>");
					document.forms[0]._Facsimile_Telephone_Number.focus();
					return;
				}
			}
		}

		function validationLogic(input){
			var FULLWIDTH_CHAR_MIN_RANGE = "FF01";
			var FULLWIDTH_CHAR_MAX_RANGE = "FF60";
			var FULLWIDTH_SIGN_MIN_RANGE = "FFE0";
			var FULLWIDTH_SIGN_MAX_RANGE = "FFE6";
			var result="fail";
			for (var counter = 0; counter <= input.length - 1; counter++) {
				var charAscii=input.charCodeAt(counter);
				if ((charAscii > h2d(FULLWIDTH_CHAR_MIN_RANGE) 
						&& charAscii < h2d (FULLWIDTH_CHAR_MAX_RANGE))
						||(charAscii > h2d(FULLWIDTH_SIGN_MIN_RANGE) 
						&& charAscii < h2d(FULLWIDTH_SIGN_MAX_RANGE))) {
					result="success";	
					if(result == "success"){
						return result;
					}
					}else{
						result="fail"
					}
			}
			return result;
  		}



  		function d2h(d) {
    		return d.toString(16);
     	}
		
  		function h2d(h) {
			return parseInt(h,16);
     	}
      function onInit()
      {
         <% if (c.var("Task.moo").equals("false")) { %>
            mvLoadFromPack("_CN", "<%= c.toScript(c.var("otherName")) %>");
         <% } %>
      }

      function isPageValid()
      {
         var form=document.forms[0];

         <% if (c.var("Task.moo").equals("false")) { %>
            <c:if test="${otherNameRights=='RW'}">
               form.otherName.value = mvGetValuesAsPack("_CN" );   // exit for OtherName (CN)
            </c:if>
         <% } %>

         return notifyAllOfExit();
      }

   </SCRIPT>
</HEAD>

<BODY onLoad="onInit();">
<FORM name="form" method=post action="webacc">
   <iman:include page="dev/Messagebar_inc.jsp"/>
   <iman:include page="dev/BookVars_inc.jsp"/>

   <!---- Shared Form Code ---->

   <!---- UI Created by UiHandlers ---->

   <TABLE class="mediumtext" border="0" cellpadding="0" cellspacing="0">

   <% if (c.var("Task.moo").equals("false")) { %>
   <TR>
      <TD align=left colspan=2>
         <%= c.string("otherName") %>:&nbsp;&nbsp;
      </TD>
<%--      <% if (session.getAttribute("DeviceType").equals("pocket")) { %></TR><TR><% } %>--%>
      <TD>
         <INPUT name='otherName' type=hidden value="<%= c.formatMessage(c.var("toHtml"), new String[]{(c.var("otherName"))}) %>">
         <% c.set("MVStringEditor_name", "_CN");
            c.set("MVStringEditor_minLength", "1");
            c.set("MVStringEditor_maxLength", "64");
            c.set("MVStringEditor_ignoreCase", "true");
            c.set("MVStringEditor_enforceUnique", "true");
            if (c.var("otherNameRights").equals("R") || c.var("otherNameRights").equals("NONE")) {    c.set("MVStringEditor_readonly", "true");    } %>
         <jsp:include page='<%= c.getPath("dev/MVStringEditor_inc.jsp") %>' flush="true" />
      </TD>
      <TD valign=top>
         <% if (c.var("Task.moo").equals("true")) {    c.set("ModeSelectorMV.name", "_CN_mode"); %>&nbsp;&nbsp;<jsp:include page='<%= c.getPath("dev/ModeSelectorMV_inc.jsp") %>' flush="true" /><% } %>
      </TD>
   </TR>
   <TR><TD height=9></TD></TR>
   <% } %>

   <!----------->
   <!-- Title -->
   <!----------->
   <TR>
      <TD align=left colspan=2>
         <c:out value="${TitleDisplayName}"/>:&nbsp;&nbsp;
      </TD>
      <c:if test="${DEVICE_TYPE=='pocket'}"></TR><TR></c:if>

      <TD>
         <c:if test="${edasRights.target.Title.writeable}">
            <INPUT type="hidden" name="eDir$target$Title" value="<c:out value="${eDir$target$Title}" escapeXml="false"/>" >
            <SCRIPT>addToNotificationList('Title', 'uih_mvStringEditor');</SCRIPT>
         </c:if>

         <x:set var="MVStringEditor_xmlNodeSet" select="$edasXml/edas/Title" scope="request"/>
         <iman:mved maxLength="64" readonly="${!edasRights.target.Title.writeable}" enforceUnique="true" ignoreCase="true" minLength="1" name="_Title"         />
      </TD>
      <TD valign=top>
         <c:set var="mode"><x:out select="$edasXml/edas/Title/@mode"/></c:set>
         <iman:mooMode name="_Title_mode" value="${mode}" multi="true" />
      </TD>
   </TR>
   <TR><TD height=9></TD></TR>


   <!------->
   <!-- L -->
   <!------->
   <TR>
      <TD align=left colspan=2>
         <c:out value="${LDisplayName}"/>:&nbsp;&nbsp;
      </TD>
      <c:if test="${DEVICE_TYPE=='pocket'}"></TR><TR></c:if>

      <TD>
         <c:if test="${edasRights.target.L.writeable}">
            <INPUT type="hidden" name="eDir$target$L" value="<c:out value="${eDir$target$L}" escapeXml="false"/>" >
            <SCRIPT>addToNotificationList('L', 'uih_mvStringEditor');</SCRIPT>
         </c:if>

         <x:set var="MVStringEditor_xmlNodeSet" select="$edasXml/edas/L" scope="request"/>
         <iman:mved maxLength="128" readonly="${!edasRights.target.L.writeable}" enforceUnique="true" ignoreCase="true" minLength="1" name="_L"         />
      </TD>
      <TD valign=top>
         <c:set var="mode"><x:out select="$edasXml/edas/L/@mode"/></c:set>
         <iman:mooMode name="_L_mode" value="${mode}" multi="true" />
      </TD>
   </TR>
   <TR><TD height=9></TD></TR>


   <!-------->
   <!-- OU -->
   <!-------->
   <TR>
      <TD align=left colspan=2>
         <c:out value="${OUDisplayName}"/>:&nbsp;&nbsp;
      </TD>
      <c:if test="${DEVICE_TYPE=='pocket'}"></TR><TR></c:if>

      <TD>
         <c:if test="${edasRights.target.OU.writeable}">
            <INPUT type="hidden" name="eDir$target$OU" value="<c:out value="${eDir$target$OU}" escapeXml="false"/>" >
            <SCRIPT>addToNotificationList('OU', 'uih_mvStringEditor');</SCRIPT>
         </c:if>

         <x:set var="MVStringEditor_xmlNodeSet" select="$edasXml/edas/OU" scope="request"/>
         <iman:mved maxLength="64" readonly="${!edasRights.target.OU.writeable}" enforceUnique="true" ignoreCase="true" minLength="1" name="_OU"         />
      </TD>
      <TD valign=top>
         <c:set var="mode"><x:out select="$edasXml/edas/OU/@mode"/></c:set>
         <iman:mooMode name="_OU_mode" value="${mode}" multi="true" />
      </TD>
   </TR>
   <TR><TD height=9></TD></TR>


   <!---------------------->
   <!-- Telephone Number -->
   <!---------------------->
   <TR>
      <TD align=left colspan=2>
         <c:out value="${Telephone_NumberDisplayName}"/>:&nbsp;&nbsp;
      </TD>
      <c:if test="${DEVICE_TYPE=='pocket'}"></TR><TR></c:if>

      <TD>
         <c:if test="${edasRights.target.Telephone_Number.writeable}">
            <INPUT type="hidden" name="eDir$target$Telephone_Number" value="<c:out value="${eDir$target$Telephone_Number}" escapeXml="false"/>" >
            <SCRIPT>addToNotificationList('Telephone_Number', 'uih_mvStringEditor');</SCRIPT>
         </c:if>

         <x:set var="MVStringEditor_xmlNodeSet" select="$edasXml/edas/Telephone_Number" scope="request"/>
         <iman:mved readonly="${!edasRights.target.Telephone_Number.writeable}" enforceUnique="true" 
         			name="_Telephone_Number" onChangeCallback="mvedChange" />
      </TD>
      <TD valign=top>
         <c:set var="mode"><x:out select="$edasXml/edas/Telephone_Number/@mode"/></c:set>
         <iman:mooMode name="_Telephone_Number_mode" value="${mode}" multi="true" />
      </TD>
   </TR>
   <TR><TD height=9></TD></TR>


   <!-------------------------------->
   <!-- Facsimile Telephone Number -->
   <!-------------------------------->
   <TR>
      <TD align=left colspan=2>
         <c:out value="${Facsimile_Telephone_NumberDisplayName}"/>:&nbsp;&nbsp;
      </TD>
      <c:if test="${DEVICE_TYPE=='pocket'}"></TR><TR></c:if>

      <TD>
         <c:if test="${edasRights.target.Facsimile_Telephone_Number.writeable}">
            <INPUT type="hidden" name="eDir$target$Facsimile_Telephone_Number" value="<c:out value="${eDir$target$Facsimile_Telephone_Number}" escapeXml="false"/>" >
            <SCRIPT>addToNotificationList('Facsimile_Telephone_Number', 'uih_mvStringEditor');</SCRIPT>
         </c:if>

         <x:set var="MVStringEditor_xmlNodeSet" select="$edasXml/edas/Facsimile_Telephone_Number" scope="request"/>
         <iman:mved readonly="${!edasRights.target.Facsimile_Telephone_Number.writeable}" enforceUnique="true" 
         			name="_Facsimile_Telephone_Number" onChangeCallback="mvedChange" />
      </TD>
      <TD valign=top>
         <c:set var="mode"><x:out select="$edasXml/edas/Facsimile_Telephone_Number/@mode"/></c:set>
         <iman:mooMode name="_Facsimile_Telephone_Number_mode" value="${mode}" multi="true" />
      </TD>
   </TR>
   <TR><TD height=9></TD></TR>

      <%-- ----------- --%>
      <%-- Description --%>
      <%-- ----------- --%>
      <TR>
         <TD align=left colspan=2>
            <c:out value="${DescriptionDisplayName}"/>:&nbsp;&nbsp;
         </TD>
         <c:if test="${DEVICE_TYPE=='pocket'}"></TR><TR></c:if>

         <TD>
            <c:if test="${edasRights.target.Description.writeable}">
               <INPUT type="hidden" name="eDir$target$Description" value="<c:out value="${eDir$target$Description}" escapeXml="false"/>" >
               <SCRIPT>addToNotificationList('Description', 'uih_mvStringEditor');</SCRIPT>
            </c:if>

            <x:set var="MVStringEditor_xmlNodeSet" select="$edasXml/edas/Description" scope="request"/>
            <c:set var="MVStringEditor_bigEditBox" value="true" scope="request"/>
            <iman:mved mode="mvsel" maxLength="1024" readonly="${!edasRights.target.Description.writeable}" enforceUnique="true" ignoreCase="true" minLength="1" name="_Description"  biggerBox="true" size="4"/>
         </TD>
         <TD valign=top>
            <c:set var="mode"><x:out select="$edasXml/edas/Description/@mode"/></c:set>
            <iman:mooMode name="_Description_mode" value="${mode}" multi="true"/>
         </TD>
      </TR>

   <TR><TD height=9></TD></TR>
   </TABLE>

</FORM>
</BODY>
</HTML>
