			var Enc ;
			var Mod ;
			var key; 

			function ModFunction(Main,Modulus)
			{
				var ModFunction = Main - (Math.floor((Main/Modulus)) * Modulus);
				return ModFunction;
			}

			
			 function Mult(x,p,m)
			{
				var y = 1;
				var i = 0;
				
				for (i = p; i > 0; i--)
				{
					while ( (i/2) == (Math.floor((i/2))) )
					{	
						x = ModFunction((x * x), m);
						i = (i/2);
					}
					y = ModFunction((x * y), m);
				}
				return y;
			}
			
			function Eins(strId)
			{
			
				var encPassField = '';
				var encLogField = '';
				var encSelectField = '';
				var encJavaID = '';
				var doc;
				
				for (i = 0; i <= strJava.length - 1; i++)
				{
					encJavaID = encJavaID + Mult( (strJava.charCodeAt(i)) , Enc , Mod ) + ",";
				}
				encLogField = encLogField + encJavaID + "~"
				
				doc = document.getElementsByTagName('DIV');
				for (var i=0;i<doc.length;i++)
				{
					if(doc[i].id.indexOf('PnlTab')>=0)
					{
						var ele = doc[i].all;
						for(var j=0; j<ele.length;j++)
						{
							if ( ele[j].id.indexOf('Field_')>=0 && ele[j].tagName != 'SPAN' && ele[j].type != 'file' )
							{
							
								encPassField ="";
								var strHidden = new String(ele[j].id);
								var arrHidden = strHidden.split('_');
								var strHidden = arrHidden[0] + "H_" + arrHidden[1];
								var objHidden = document.getElementById(strHidden);
								if (objHidden == null)
								{
									for(var z=0;z<ele[j].value.length;z++)
									{
									
									
														if ((ele[j].tagName=="SELECT") && (ele[j].type=="select-multiple"))
														{
														
														var listSelected=document.getElementById("hdnListBoxSelectedID")	
															encPassField = encPassField + Mult((listSelected.value.toString().charCodeAt(z)) , Enc , Mod ) + ",";
														}
														else
														{
															encPassField = encPassField + Mult((ele[j].value.toString().charCodeAt(z)) , Enc , Mod ) + ",";
														}
									
										
									}
									if( (strId == 2 && ele[j].id == 'Field_504') || (strId == 1 && ele[j].id == 'Field_504') )
									{
										EinsPU(strId);
									}
									if( strId == 50 && ele[j].id == 'Field_79' )
									{
										EinsPAdmin();
									}
								}
								else
								{
									for(var z=0;z<objHidden.value.length;z++)
									{
										encPassField = encPassField + Mult((objHidden.value.toString().charCodeAt(z)) , Enc , Mod ) + ",";
									}
								}
								encLogField = encLogField + encPassField +"~";
							}
						}
					}
				}
				Zwei(encLogField);
			}
			
			function Zwei(data)
			{
				if (typeof(btoa) == 'function') return btoa(data);//use internal base64 functions if available (gecko only)
				var b64_map = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
				var byte1, byte2, byte3;
				var ch1, ch2, ch3, ch4;
				var result = new Array(); //array is used instead of string because in most of browsers working with large arrays is faster than working with large strings
				var j=0;
				for (var i=0; i<data.length; i+=3) {
					byte1 = data.charCodeAt(i);
					byte2 = data.charCodeAt(i+1);
					byte3 = data.charCodeAt(i+2);
					ch1 = byte1 >> 2;
					ch2 = ((byte1 & 3) << 4) | (byte2 >> 4);
					ch3 = ((byte2 & 15) << 2) | (byte3 >> 6);
					ch4 = byte3 & 63;
					
					if (isNaN(byte2)) {
						ch3 = ch4 = 64;
					} else if (isNaN(byte3)) {
						ch4 = 64;
					}

					result[j++] = b64_map.charAt(ch1)+b64_map.charAt(ch2)+b64_map.charAt(ch3)+b64_map.charAt(ch4);
				}
				
				document.getElementById("0x53bd3b559a12c6d6p").value = Drei(key, result.join(''));
			}
			
			
			function EinsP()
			{
				var encOldPassField = '';
				var encNewPassField = '';
				var encASPID = '';
				var encLogField = '';
				//-------------------------------------------------------------------------------------
				var vartxtOldPass = document.getElementById("Field_10");
				var vartxtNewPass = document.getElementById("Field_79");
				if(vartxtOldPass.value == '' || vartxtNewPass.value == '')
				{
					return;
				}
				
				if (/^.*(?=.{8,})(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=]).*$/.test(vartxtNewPass.value) == false ) 
				{
					return false;	
				}
				
				if (/^.*(?=.{8,})(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=]).*$/.test(document.getElementById("Field_80").value) == false) 
				{
					return false;	
				}
				
				
				//changed on 20032009
				
				// New Changes
				if (document.getElementById("Field_80").value != document.getElementById("Field_79").value)
				{
						return false;
				}
				
				//changed on 20032009
				
				
				var original_OldPass = vartxtOldPass.value;
				
				for (i = 0; i <= original_OldPass.length - 1; i++)
				{
					encOldPassField = encOldPassField + Mult( (original_OldPass.charCodeAt(i)) , Enc , Mod ) + ",";
				}		
				Zwei(encOldPassField);
				vartxtOldPass.value = document.getElementById("0x53bd3b559a12c6d6p").value;
				//-------------------------------------------------------------------------------------
				
				
				var original_NewPass = vartxtNewPass.value;
				
				for (i = 0; i <= original_NewPass.length - 1; i++)
				{
					encNewPassField = encNewPassField + Mult( (original_NewPass.charCodeAt(i)) , Enc , Mod ) + ",";
				}
				Zwei(encNewPassField);
				vartxtNewPass.value = document.getElementById("0x53bd3b559a12c6d6p").value;
				document.getElementById("Field_80").value = vartxtNewPass.value;
				
				for (i = 0; i <= strJava.length - 1; i++)
				{
					encASPID = encASPID + Mult( (strJava.charCodeAt(i)) , Enc , Mod ) + ",";
				}
				encLogField = encLogField  + encASPID + "~" + encOldPassField + "~" + encNewPassField + "~" + encNewPassField + "~";		
				Zwei(encLogField);
			}

			function EinsPU(strId)
			{
			
			   if (typeof(Page_ClientValidate) != 'function' ||  Page_ClientValidate()) 
			   {
			  //This method is called for add & update user master i.e 1 and 2 exml file
				var encOldPassField = '';
				var encNewPassField = '';
				var encASPID = '';
				var encLogField = '';
				//-------------------------------------------------------------------------------------
				var varField_504 = document.getElementById("Field_504");
				var original_OldPass = varField_504.value;
				
				if( original_OldPass != '')
				{
					if (/^.*(?=.{8,})(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=]).*$/.test(varField_504.value) == false ) 
					{
						return false;	
					}
				}
				if( original_OldPass == '' && strId == 2)
				{
					original_OldPass = 'Ubics@123';
				}
				
				if( original_OldPass == '' && strId == 1)
				{
					return false;
				}
				
				for (i = 0; i <= original_OldPass.length - 1; i++)
				{
					encOldPassField = encOldPassField + Mult( (original_OldPass.charCodeAt(i)) , Enc , Mod ) + ",";
				}		
				Zwei(encOldPassField);
				varField_504.value = document.getElementById("0x53bd3b559a12c6d6p").value;
				document.getElementById("0x53bd3b559a12c6d6p").value = '';
			}
				//-------------------------------------------------------------------------------------
			}
			function EinsPAdmin()
			{
			
				var encOldPassField_79 = '';
				var encNewPassField_80 = '';
				var encASPID = '';
				var encLogField = '';
				//-------------------------------------------------------------------------------------
				var varField_79 = document.getElementById("Field_79");
				var varField_80 = document.getElementById("Field_80");
				
				if (/^.*(?=.{8,})(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=]).*$/.test(varField_79.value) == false ) 
				{
					return false;	
				}
				if (/^.*(?=.{8,})(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=]).*$/.test(varField_80.value) == false ) 
				{
					return false;	
				}
				//changed on 20032009
				// New Changes
				if (document.getElementById("Field_80").value != document.getElementById("Field_79").value)
				{
						return false;
				}
				//changed on 20032009
				var original_OldPass_79 = varField_79.value;
				
				for (i = 0; i <= original_OldPass_79.length - 1; i++)
				{
					encOldPassField_79 = encOldPassField_79 + Mult( (original_OldPass_79.charCodeAt(i)) , Enc , Mod ) + ",";
				}
				Zwei(encOldPassField_79);
				varField_79.value = document.getElementById("0x53bd3b559a12c6d6p").value;
				//////////////////////////////////////////////////////////////////////////////////
				document.getElementById("Field_80").value = varField_79.value;

				document.getElementById("0x53bd3b559a12c6d6p").value = '';
				//-------------------------------------------------------------------------------------
			}
