Commit 252cf5ea75d99f27c655f47fcb18023dc4edfb53

Authored by Nikita Kulshreshtha
2 parents 1d045e4f 12592eb0

Merge branch 'ResetPass_Complete' into Develop

400-SOURCECODE/AIAHTML5.API/AIAHTML5.API.csproj
@@ -95,7 +95,10 @@ @@ -95,7 +95,10 @@
95 </ItemGroup> 95 </ItemGroup>
96 <ItemGroup> 96 <ItemGroup>
97 <Content Include="Global.asax" /> 97 <Content Include="Global.asax" />
  98 + <Content Include="content\images\logo.png" />
98 <Content Include="index.html" /> 99 <Content Include="index.html" />
  100 + <Content Include="Templates\forgot-Password.html" />
  101 + <Content Include="Templates\forgot-UserId.html" />
99 <Content Include="Web.config"> 102 <Content Include="Web.config">
100 <SubType>Designer</SubType> 103 <SubType>Designer</SubType>
101 </Content> 104 </Content>
@@ -104,9 +107,12 @@ @@ -104,9 +107,12 @@
104 <Compile Include="App_Start\WebApiConfig.cs" /> 107 <Compile Include="App_Start\WebApiConfig.cs" />
105 <Compile Include="Constants\AIAConstants.cs" /> 108 <Compile Include="Constants\AIAConstants.cs" />
106 <Compile Include="Controllers\AuthenticateController.cs" /> 109 <Compile Include="Controllers\AuthenticateController.cs" />
  110 + <Compile Include="Controllers\ForgotUserController.cs" />
  111 + <Compile Include="Controllers\ResetPasswordController.cs" />
107 <Compile Include="Global.asax.cs"> 112 <Compile Include="Global.asax.cs">
108 <DependentUpon>Global.asax</DependentUpon> 113 <DependentUpon>Global.asax</DependentUpon>
109 </Compile> 114 </Compile>
  115 + <Compile Include="Models\ResetUser.cs" />
110 <Compile Include="Models\Users.cs" /> 116 <Compile Include="Models\Users.cs" />
111 <Compile Include="Properties\AssemblyInfo.cs" /> 117 <Compile Include="Properties\AssemblyInfo.cs" />
112 <Compile Include="Properties\Settings.Designer.cs"> 118 <Compile Include="Properties\Settings.Designer.cs">
@@ -114,6 +120,7 @@ @@ -114,6 +120,7 @@
114 <DesignTimeSharedInput>True</DesignTimeSharedInput> 120 <DesignTimeSharedInput>True</DesignTimeSharedInput>
115 <DependentUpon>Settings.settings</DependentUpon> 121 <DependentUpon>Settings.settings</DependentUpon>
116 </Compile> 122 </Compile>
  123 + <Compile Include="Utility\EmailUtility.cs" />
117 </ItemGroup> 124 </ItemGroup>
118 <ItemGroup> 125 <ItemGroup>
119 <Content Include="Logs\AIALogs.log" /> 126 <Content Include="Logs\AIALogs.log" />
400-SOURCECODE/AIAHTML5.API/AIAHTML5.API.csproj.user
@@ -6,6 +6,7 @@ @@ -6,6 +6,7 @@
6 <WebStackScaffolding_IsReferencingScriptLibrariesSelected>True</WebStackScaffolding_IsReferencingScriptLibrariesSelected> 6 <WebStackScaffolding_IsReferencingScriptLibrariesSelected>True</WebStackScaffolding_IsReferencingScriptLibrariesSelected>
7 <WebStackScaffolding_LayoutPageFile /> 7 <WebStackScaffolding_LayoutPageFile />
8 <WebStackScaffolding_IsAsyncSelected>False</WebStackScaffolding_IsAsyncSelected> 8 <WebStackScaffolding_IsAsyncSelected>False</WebStackScaffolding_IsAsyncSelected>
  9 + <ProjectView>ShowAllFiles</ProjectView>
9 </PropertyGroup> 10 </PropertyGroup>
10 <ProjectExtensions> 11 <ProjectExtensions>
11 <VisualStudio> 12 <VisualStudio>
400-SOURCECODE/AIAHTML5.API/Controllers/ForgotUserController.cs 0 → 100644
  1 +using System;
  2 +using System.Collections.Generic;
  3 +using System.Linq;
  4 +using System.Net;
  5 +using System.Net.Http;
  6 +using System.Web.Http;
  7 +using AIAHTML5.API.Constants;
  8 +using log4net;
  9 +using Newtonsoft.Json;
  10 +using Newtonsoft.Json.Linq;
  11 +using AIAHTML5.API.Models;
  12 +using AIAHTML5.API.Utility;
  13 +
  14 +namespace AIAHTML5.API.Controllers
  15 +{
  16 + public class ForgotUserController : ApiController
  17 + {
  18 + // GET api/<controller>
  19 + public IEnumerable<string> Get()
  20 + {
  21 + return new string[] { "value1", "value2" };
  22 + }
  23 +
  24 + // GET api/<controller>/5
  25 + public string Get(int id)
  26 + {
  27 + return "value";
  28 + }
  29 +
  30 + // POST api/<controller>
  31 + //public void Post([FromBody]string value)
  32 + //{
  33 + //}
  34 + public HttpResponseMessage Post([FromBody]JObject userInfo)
  35 + {
  36 + ILog logger = log4net.LogManager.GetLogger((System.Reflection.MethodBase.GetCurrentMethod().DeclaringType));
  37 + logger.Debug("inside POST");
  38 +
  39 + dynamic userData = AIAHTML5.API.Models.Users.GetUserByEmail(userInfo);
  40 + if (Convert.ToString(userData) != AIAConstants.USER_NOT_FOUND && Convert.ToString(userData) != AIAConstants.ERROR_IN_FECTHING_DETAILS)
  41 + {
  42 + bool isMailSent = false;
  43 + string userDetails = Newtonsoft.Json.JsonConvert.SerializeObject(userData);
  44 + if (Convert.ToBoolean(userInfo["isPassword"]))
  45 + isMailSent = AIAHTML5.API.Models.ResetUser.SendEmail(userData, true);
  46 + else
  47 + isMailSent = AIAHTML5.API.Models.ResetUser.SendEmail(userData, false);
  48 +
  49 + if (isMailSent)
  50 + return new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(userDetails) };
  51 + else
  52 + return new HttpResponseMessage { StatusCode = HttpStatusCode.InternalServerError, Content = new StringContent(userData) };
  53 + }
  54 + else
  55 + {
  56 + return new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(userData) }; //new StringContent(userData)
  57 +
  58 + }
  59 + }
  60 +
  61 + // PUT api/<controller>/5
  62 + public void Put(int id, [FromBody]string value)
  63 + {
  64 + }
  65 +
  66 + // DELETE api/<controller>/5
  67 + public void Delete(int id)
  68 + {
  69 + }
  70 + }
  71 +}
0 \ No newline at end of file 72 \ No newline at end of file
400-SOURCECODE/AIAHTML5.API/Controllers/ResetPasswordController.cs 0 → 100644
  1 +using System;
  2 +using System.Collections.Generic;
  3 +using System.Linq;
  4 +using System.Net;
  5 +using System.Net.Http;
  6 +using System.Web.Http;
  7 +using AIAHTML5.API.Constants;
  8 +using log4net;
  9 +using Newtonsoft.Json;
  10 +using Newtonsoft.Json.Linq;
  11 +using AIAHTML5.API.Models;
  12 +using AIAHTML5.API.Utility;
  13 +
  14 +namespace AIAHTML5.API.Controllers
  15 +{
  16 + public class ResetPasswordController : ApiController
  17 + {
  18 + // GET api/<controller>
  19 + public IEnumerable<string> Get()
  20 + {
  21 + return new string[] { "value1", "value2" };
  22 + }
  23 +
  24 + // GET api/<controller>/5
  25 + public string Get(int id)
  26 + {
  27 + return "value";
  28 + }
  29 +
  30 + // POST api/<controller>
  31 + //public void Post([FromBody]string value)
  32 + //{
  33 + //}
  34 + public HttpResponseMessage Post([FromBody]JObject userInfo)
  35 + {
  36 + ILog logger = log4net.LogManager.GetLogger((System.Reflection.MethodBase.GetCurrentMethod().DeclaringType));
  37 + logger.Debug("inside POST");
  38 + dynamic userData = AIAHTML5.API.Models.Users.GetUserByEmail(userInfo);
  39 + if (Convert.ToString(userData) != AIAConstants.USER_NOT_FOUND && Convert.ToString(userData) != AIAConstants.ERROR_IN_FECTHING_DETAILS)
  40 + {
  41 + dynamic updatedInfo;
  42 + string upInfo;
  43 + if (!String.IsNullOrEmpty(userInfo["newPassword"].ToString()))
  44 + {
  45 + updatedInfo = AIAHTML5.API.Models.Users.UpdatePassword(userInfo);
  46 + upInfo = Newtonsoft.Json.JsonConvert.SerializeObject(updatedInfo);
  47 + if (!string.IsNullOrEmpty(Convert.ToString(updatedInfo)))
  48 + return new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(upInfo) };
  49 + else
  50 + return new HttpResponseMessage { StatusCode = HttpStatusCode.InternalServerError, Content = new StringContent(userData) };
  51 + }
  52 + else
  53 + return new HttpResponseMessage { StatusCode = HttpStatusCode.BadRequest, Content = new StringContent("Nothing to update") };
  54 + }
  55 + else
  56 + {
  57 + return new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(userData) };
  58 + }
  59 + }
  60 +
  61 + // PUT api/<controller>/5
  62 + public void Put(int id, [FromBody]string value)
  63 + {
  64 + }
  65 +
  66 + // DELETE api/<controller>/5
  67 + public void Delete(int id)
  68 + {
  69 + }
  70 + }
  71 +}
0 \ No newline at end of file 72 \ No newline at end of file
400-SOURCECODE/AIAHTML5.API/Models/ResetUser.cs 0 → 100644
  1 +using System;
  2 +using System.Collections.Generic;
  3 +using System.Linq;
  4 +using System.Web;
  5 +using MongoDB.Driver;
  6 +using MongoDB.Bson;
  7 +using AIAHTML5.API.Properties;
  8 +using AIAHTML5.API.Constants;
  9 +using log4net;
  10 +using System.Net.Mail;
  11 +using AIAHTML5.API.Utility;
  12 +using System.Text;
  13 +using System.IO;
  14 +using System.Net.Mime;
  15 +using System.Configuration;
  16 +
  17 +namespace AIAHTML5.API.Models
  18 +{
  19 + public class ResetUser
  20 + {
  21 + public static bool SendEmail(dynamic UserDetails, bool isPassword)
  22 + {
  23 + try
  24 + {
  25 + List<LinkedResource> lstLinkedResource = new List<LinkedResource>();
  26 + EmailUtility emailUtility = new EmailUtility();
  27 + List<string> lstToAddress = new List<string>();
  28 + List<string> lstBccAddress = new List<string>();
  29 +
  30 + string emailText = string.Empty;
  31 + string userId = string.Empty;
  32 + string userMail = string.Empty;
  33 + string userName = string.Empty;
  34 + string fName = string.Empty;
  35 + string lName = string.Empty;
  36 + string site_url = Convert.ToString(ConfigurationManager.AppSettings["Site_URL"]);
  37 +
  38 + foreach (KeyValuePair<string, object> kvp in UserDetails)
  39 + {
  40 + if (kvp.Key == "loginId")
  41 + userId = kvp.Value.ToString();
  42 +
  43 + if (kvp.Key == "emailId")
  44 + userMail = kvp.Value.ToString();
  45 +
  46 + if (kvp.Key == "firstName")
  47 + fName = kvp.Value.ToString();
  48 +
  49 + if (kvp.Key == "lastName")
  50 + lName = kvp.Value.ToString();
  51 + }
  52 +
  53 + string fullName = fName + " " + lName;
  54 +
  55 + string logoPath = HttpContext.Current.Server.MapPath("~/content/images/logo.png");
  56 +
  57 + string templatePath = string.Empty;
  58 + string resetPasswordLink = string.Empty;
  59 +
  60 + if (isPassword)
  61 + {
  62 + templatePath = "~/Templates/forgot-Password.html";
  63 + resetPasswordLink = site_url + "?em:" + HttpUtility.UrlEncode(userMail);
  64 + }
  65 + else
  66 + templatePath = "~/Templates/forgot-UserId.html";
  67 +
  68 + string mailBody = ResetUser.GetMailBodyTextFromTemplate(templatePath, userId, userMail, fullName, resetPasswordLink);
  69 +
  70 + lstToAddress.Add(userMail);
  71 +
  72 + emailText = mailBody;
  73 +
  74 +
  75 + // for embedding images in email
  76 + if (emailText.Contains("<img"))
  77 + {
  78 + LinkedResource linkedLogo = new LinkedResource(logoPath, MediaTypeNames.Image.Jpeg);
  79 + linkedLogo.ContentId = "AIA_Logo_Image";
  80 + linkedLogo.TransferEncoding = TransferEncoding.Base64;
  81 + emailText = emailText.Replace("{logoPath}", "cid:" + linkedLogo.ContentId);
  82 + lstLinkedResource.Add(linkedLogo);
  83 + }
  84 +
  85 + emailUtility.sAlternateView = AlternateView.CreateAlternateViewFromString(emailText, null, "text/html");
  86 + foreach (var sItem in lstLinkedResource)
  87 + {
  88 + emailUtility.sAlternateView.LinkedResources.Add(sItem);
  89 + }
  90 +
  91 + string mailSubject = string.Empty;
  92 + if(!isPassword)
  93 + mailSubject = "UserID recovery mail for: ";
  94 + else
  95 + mailSubject = "Password recovery mail for: ";
  96 +
  97 + emailUtility.sHostName = "10.100.12.13";
  98 + emailUtility.sFromAddress = Convert.ToString(ConfigurationManager.AppSettings["SenderEmailAddress"]);
  99 + emailUtility.bIsBodyHtml = true;
  100 + emailUtility.bEnableSsl = false;
  101 + emailUtility.sSubject = mailSubject + userMail;
  102 + //sEmailUtility.sBodyText = sEmailText;
  103 + emailUtility.iPort = 25;
  104 + emailUtility.sToAddresses = lstToAddress;
  105 + emailUtility.sBccAddresses = lstBccAddress;
  106 +
  107 + emailUtility.SendSmtpEmail();
  108 + return true;
  109 + }
  110 + catch (Exception ex)
  111 + {
  112 + string message = "Exception: " + ex.Message;
  113 + return false;
  114 + }
  115 + }
  116 +
  117 + protected static string GetMailBodyTextFromTemplate(string templatePath, string userId, string userMail, string fullName, string resetPasswordUrl)
  118 + {
  119 + string fileToRead = string.Empty;
  120 + string emailBody = string.Empty;
  121 + try
  122 + {
  123 + fileToRead = HttpContext.Current.Server.MapPath(templatePath);
  124 +
  125 + using (StreamReader reader = new StreamReader(fileToRead))
  126 + {
  127 + emailBody = reader.ReadToEnd();
  128 + }
  129 +
  130 + if(!string.IsNullOrEmpty(userId))
  131 + emailBody = emailBody.Replace("{loginId}", userId);
  132 + if (!string.IsNullOrEmpty(userMail))
  133 + emailBody = emailBody.Replace("{emailId}", userMail);
  134 + if(!string.IsNullOrEmpty(fullName))
  135 + emailBody = emailBody.Replace("{userFullName}", fullName);
  136 + if(!string.IsNullOrEmpty(resetPasswordUrl))
  137 + emailBody = emailBody.Replace("{resetPasswordLink}", resetPasswordUrl);
  138 + }
  139 + catch (Exception e)
  140 + {
  141 + emailBody = "Exception: " + e.Message;
  142 + }
  143 + return emailBody;
  144 + }
  145 + }
  146 +}
0 \ No newline at end of file 147 \ No newline at end of file
400-SOURCECODE/AIAHTML5.API/Models/Users.cs
@@ -12,7 +12,7 @@ namespace AIAHTML5.API.Models @@ -12,7 +12,7 @@ namespace AIAHTML5.API.Models
12 { 12 {
13 public class Users 13 public class Users
14 { 14 {
15 - 15 +
16 16
17 internal static dynamic AuthenticateUser(Newtonsoft.Json.Linq.JObject credentials) 17 internal static dynamic AuthenticateUser(Newtonsoft.Json.Linq.JObject credentials)
18 { 18 {
@@ -29,9 +29,9 @@ namespace AIAHTML5.API.Models @@ -29,9 +29,9 @@ namespace AIAHTML5.API.Models
29 Builders<dynamic>.Filter.Eq("password", credentials["password"].ToString())}; 29 Builders<dynamic>.Filter.Eq("password", credentials["password"].ToString())};
30 30
31 dynamic userDetails = collection.Find(Builders<dynamic>.Filter.And(filterCondition)).SingleOrDefault(); 31 dynamic userDetails = collection.Find(Builders<dynamic>.Filter.And(filterCondition)).SingleOrDefault();
32 -  
33 -  
34 - if (userDetails!= null) 32 +
  33 +
  34 + if (userDetails != null)
35 { 35 {
36 logger.Debug("userDetails.loginId= " + userDetails.loginId); 36 logger.Debug("userDetails.loginId= " + userDetails.loginId);
37 return userDetails; 37 return userDetails;
@@ -41,15 +41,68 @@ namespace AIAHTML5.API.Models @@ -41,15 +41,68 @@ namespace AIAHTML5.API.Models
41 return AIAConstants.USER_NOT_FOUND; 41 return AIAConstants.USER_NOT_FOUND;
42 } 42 }
43 } 43 }
44 - catch(Exception e) 44 + catch (Exception e)
45 { 45 {
46 - 46 +
47 logger.Fatal("Exception in AuthenticateUser for loginId =" + credentials["username"].ToString() + " and password= " + credentials["password"].ToString() + "Exception= " + e.Message); 47 logger.Fatal("Exception in AuthenticateUser for loginId =" + credentials["username"].ToString() + " and password= " + credentials["password"].ToString() + "Exception= " + e.Message);
48 - 48 +
49 string errorMessage = AIAConstants.ERROR_IN_FECTHING_DETAILS; 49 string errorMessage = AIAConstants.ERROR_IN_FECTHING_DETAILS;
50 return errorMessage; 50 return errorMessage;
51 } 51 }
52 52
53 } 53 }
  54 +
  55 + internal static dynamic GetUserByEmail(Newtonsoft.Json.Linq.JObject userInfo)
  56 + {
  57 + ILog logger = log4net.LogManager.GetLogger((System.Reflection.MethodBase.GetCurrentMethod().DeclaringType));
  58 + var client = new MongoClient();
  59 +
  60 + try
  61 + {
  62 +
  63 + var db = client.GetDatabase(Settings.Default.database);
  64 +
  65 + var collection = db.GetCollection<dynamic>("Users");
  66 +
  67 + FilterDefinition<dynamic> filterCondition = Builders<dynamic>.Filter.Eq("emailId", userInfo["emailId"].ToString().ToLower());
  68 +
  69 + dynamic userDetails = collection.Find(Builders<dynamic>.Filter.And(filterCondition)).SingleOrDefault();
  70 +
  71 + if (userDetails != null)
  72 + return userDetails;
  73 + else
  74 + return AIAConstants.USER_NOT_FOUND;
  75 + }
  76 + catch (Exception e)
  77 + {
  78 + logger.Fatal("Exception= " + e.Message);
  79 + return AIAConstants.ERROR_IN_FECTHING_DETAILS;
  80 + }
  81 + }
  82 +
  83 + internal static dynamic UpdatePassword(Newtonsoft.Json.Linq.JObject userInfo)
  84 + {
  85 + ILog logger = log4net.LogManager.GetLogger((System.Reflection.MethodBase.GetCurrentMethod().DeclaringType));
  86 + var client = new MongoClient();
  87 + try
  88 + {
  89 + var db = client.GetDatabase(Settings.Default.database);
  90 + var collection = db.GetCollection<BsonDocument>("Users");
  91 + var filter = Builders<BsonDocument>.Filter.Eq("emailId", userInfo["emailId"].ToString());
  92 + var update = Builders<BsonDocument>.Update.Set("password", userInfo["newPassword"].ToString()).CurrentDate("modifiedDate");
  93 +
  94 + var result = collection.UpdateOne(filter, update);
  95 +
  96 + if (result != null)
  97 + return result;
  98 + else
  99 + return AIAConstants.USER_NOT_FOUND;
  100 + }
  101 + catch (Exception e)
  102 + {
  103 + logger.Fatal("Exception= " + e.Message);
  104 + return AIAConstants.ERROR_IN_FECTHING_DETAILS;
  105 + }
  106 + }
54 } 107 }
55 } 108 }
56 \ No newline at end of file 109 \ No newline at end of file
400-SOURCECODE/AIAHTML5.API/Templates/Forgot-UserId.html 0 → 100644
  1 +<style type='text/css'>
  2 + strong {
  3 + font-size: 18px;
  4 + color: #ffff00;
  5 + }
  6 +</style>
  7 +<table width='500' border='0' align='center' cellpadding='0' cellspacing='0'>
  8 + <tbody>
  9 + <tr>
  10 + <td align='center' valign='middle' bgcolor='#393939' style='padding:30px 0 20px 0;'>
  11 + <a href='#'><img src='{logoPath}' alt='AIA' title='AIA' /></a>
  12 + </td>
  13 + </tr>
  14 + <tr>
  15 + <td align='center' valign='top' bgcolor='#808d43' style='padding:20px;'>
  16 + <table width='100%' border='0' align='center' cellpadding='0' cellspacing='0'>
  17 + <tbody>
  18 + <tr>
  19 + <td colspan='2' style=' font-size:32px; font-weight:bold; color:#fff; font-family:Gotham, Helvetica, Arial, sans-serif'>Forgot UserID</td>
  20 + </tr>
  21 + <tr>
  22 + <td colspan='2'>&nbsp;</td>
  23 + </tr>
  24 + <tr>
  25 + <td colspan='2' style='font-size:20px; font-weight:bold; color:#fff; font-family:Gotham, Helvetica, Arial, sans-serif'>Hello {userFullName}</td>
  26 + </tr>
  27 + <tr>
  28 + <td colspan='2'>&nbsp;</td>
  29 + </tr>
  30 + <tr>
  31 + <td colspan='2' style=' font-size:16px; font-weight:bold; color:#fff; font-family:Gotham, Helvetica, Arial, sans-serif'>You have requested your 'Login ID' for following account: {emailId}</td>
  32 + </tr>
  33 + <tr>
  34 + <td colspan='2'>&nbsp;</td>
  35 + </tr>
  36 + <tr>
  37 + <td colspan='2' style=' font-size:18px; font-family:Gotham, Helvetica, Arial, sans-serif; color:#fff;'>Your login ID is: <strong>{loginId}</strong></td>
  38 + </tr>
  39 + <tr>
  40 + <td colspan='2'>&nbsp;</td></tr><tr><td colspan='2'>&nbsp;</td>
  41 + </tr>
  42 + <tr>
  43 + <td colspan='2'>&nbsp;</td>
  44 + </tr>
  45 + </tbody>
  46 + </table>
  47 + </td>
  48 + </tr>
  49 + <tr>
  50 + <td bgcolor='#f9f2e7' style='padding:20px;'>
  51 + <table width='100%' border='0' align='center' cellpadding='0' cellspacing='0'>
  52 + <tbody>
  53 + <tr>
  54 + <td style=' font-size:12px; font-family:Gotham, Helvetica, Arial, sans-serif; color:#000000;'>A.D.A.M. – the company that pioneered online health content – is dedicated to creating and offering the most effective and innovative educational solutions possible for teaching medical science and improving health literacy.</td>
  55 + </tr>
  56 + <tr>
  57 + <td style=' font-size:12px; font-family:Gotham, Helvetica, Arial, sans-serif; color:#000000;'>&nbsp;</td>
  58 + </tr>
  59 + <tr>
  60 + <td style=' font-size:12px; font-family:Gotham, Helvetica, Arial, sans-serif; color:#000000;'>Give us a <b>call toll-free at 1-888-278-9614</b> or <em>send us an email</em> if you have any questions or if you need help. It will be our pleasure to help you.</td></tr><tr><td style=' font-size:12px; font-family:Gotham, Helvetica, Arial, sans-serif; color:#000000;'>&nbsp;</td></tr><tr><td style=' font-size:12px; font-family:Gotham, Helvetica, Arial, sans-serif; color:#000000;'>&nbsp;</td></tr><tr><td style=' font-size:12px; font-family:Gotham, Helvetica, Arial, sans-serif; color:#000000;'><em>&copy; 2017 Ebix, Inc. All Rights Reserved. </em></td>
  61 + </tr>
  62 + </tbody>
  63 + </table>
  64 + </td>
  65 + </tr>
  66 + </tbody>
  67 +</table>
0 \ No newline at end of file 68 \ No newline at end of file
400-SOURCECODE/AIAHTML5.API/Templates/forgot-Password.html 0 → 100644
  1 +<style type='text/css'>
  2 + strong {
  3 + font-size: 18px;
  4 + color: #ffff00;
  5 + }
  6 +</style>
  7 +<table width='500' border='0' align='center' cellpadding='0' cellspacing='0'>
  8 + <tbody>
  9 + <tr>
  10 + <td align='center' valign='middle' bgcolor='#393939' style='padding:30px 0 20px 0;'>
  11 + <a href='#'><img src='{logoPath}' alt='AIA' title='AIA' /></a>
  12 + </td>
  13 + </tr>
  14 + <tr>
  15 + <td align='center' valign='top' bgcolor='#808d43' style='padding:20px;'>
  16 + <table width='100%' border='0' align='center' cellpadding='0' cellspacing='0'>
  17 + <tbody>
  18 + <tr>
  19 + <td colspan='2' style=' font-size:32px; font-weight:bold; color:#fff; font-family:Gotham, Helvetica, Arial, sans-serif'>Forgot Password</td>
  20 + </tr>
  21 + <tr>
  22 + <td colspan='2'>&nbsp;</td>
  23 + </tr>
  24 + <tr>
  25 + <td colspan='2' style='font-size:20px; font-weight:bold; color:#fff; font-family:Gotham, Helvetica, Arial, sans-serif'>Hi,</td>
  26 + </tr>
  27 + <tr>
  28 + <td colspan='2'>&nbsp;</td>
  29 + </tr>
  30 + <tr>
  31 + <td colspan='2' style=' font-size:16px; font-weight:bold; color:#fff; font-family:Gotham, Helvetica, Arial, sans-serif'>You have requested password reset for your account: {emailId}</td>
  32 + </tr>
  33 + <tr>
  34 + <td colspan='2'>&nbsp;</td>
  35 + </tr>
  36 + <tr>
  37 + <td colspan='2' style=' font-size:16px; font-weight:bold; color:#fff; font-family:Gotham, Helvetica, Arial, sans-serif'>You can reset your password by clicking the link below:</td>
  38 + </tr>
  39 + <tr>
  40 + <td colspan='2' style=' font-size:16px; font-weight:bold; color:#fff; font-family:Gotham, Helvetica, Arial, sans-serif'><a href="{resetPasswordLink}">{resetPasswordLink}</a></td>
  41 + </tr>
  42 + <tr>
  43 + <td colspan='2'>&nbsp;</td>
  44 + </tr>
  45 + <tr>
  46 + <td colspan='2' style=' font-size:16px; font-weight:bold; color:#fff; font-family:Gotham, Helvetica, Arial, sans-serif'>If you have not requested for password reset, please ignore this mail.</td>
  47 + </tr>
  48 + <tr>
  49 + <td colspan='2'>&nbsp;</td>
  50 + </tr>
  51 + <tr>
  52 + <td colspan='2'>&nbsp;</td>
  53 + </tr>
  54 + <tr>
  55 + <td colspan='2'>&nbsp;</td>
  56 + </tr>
  57 + </tbody>
  58 + </table>
  59 + </td>
  60 + </tr>
  61 + <tr>
  62 + <td bgcolor='#f9f2e7' style='padding:20px;'>
  63 + <table width='100%' border='0' align='center' cellpadding='0' cellspacing='0'>
  64 + <tbody>
  65 + <tr>
  66 + <td style=' font-size:12px; font-family:Gotham, Helvetica, Arial, sans-serif; color:#000000;'>A.D.A.M. – the company that pioneered online health content – is dedicated to creating and offering the most effective and innovative educational solutions possible for teaching medical science and improving health literacy.</td>
  67 + </tr>
  68 + <tr>
  69 + <td style=' font-size:12px; font-family:Gotham, Helvetica, Arial, sans-serif; color:#000000;'>&nbsp;</td>
  70 + </tr>
  71 + <tr>
  72 + <td style=' font-size:12px; font-family:Gotham, Helvetica, Arial, sans-serif; color:#000000;'>Give us a <b>call toll-free at 1-888-278-9614</b> or <em>send us an email</em> if you have any questions or if you need help. It will be our pleasure to help you.</td></tr><tr><td style=' font-size:12px; font-family:Gotham, Helvetica, Arial, sans-serif; color:#000000;'>&nbsp;</td></tr><tr><td style=' font-size:12px; font-family:Gotham, Helvetica, Arial, sans-serif; color:#000000;'>&nbsp;</td></tr><tr><td style=' font-size:12px; font-family:Gotham, Helvetica, Arial, sans-serif; color:#000000;'><em>&copy; 2017 Ebix, Inc. All Rights Reserved. </em></td>
  73 + </tr>
  74 + </tbody>
  75 + </table>
  76 + </td>
  77 + </tr>
  78 + </tbody>
  79 +</table>
0 \ No newline at end of file 80 \ No newline at end of file
400-SOURCECODE/AIAHTML5.API/Utility/EmailUtility.cs 0 → 100644
  1 +using System;
  2 +using System.Collections.Generic;
  3 +using System.Linq;
  4 +using System.Web;
  5 +using System.Configuration;
  6 +using System.Collections;
  7 +using System.Xml;
  8 +using System.Text;
  9 +using System.IO;
  10 +using System.Net.Mail;
  11 +
  12 +namespace AIAHTML5.API.Utility
  13 +{
  14 +
  15 + public class EmailUtility
  16 + {
  17 + public string sFromAddress { get; set; }
  18 + public List<string> sToAddresses { get; set; }
  19 + public List<string> sBccAddresses { get; set; }
  20 + public string sHostName { get; set; }
  21 + public string sSubject { get; set; }
  22 + public int iPort { get; set; }
  23 + public bool bEnableSsl { get; set; }
  24 + public string sUserName { get; set; }
  25 + public string sPassword { get; set; }
  26 + public bool bIsBodyHtml { get; set; }
  27 + public List<Attachment> sAttachments { get; set; }
  28 + public string sBodyText { get; set; }
  29 + public AlternateView sAlternateView { get; set; }
  30 +
  31 + public void SendMail(MailMessage mm)
  32 + {
  33 + SmtpClient smtp = new SmtpClient();
  34 + smtp.Host = ConfigurationManager.AppSettings["SMTPAddress"];
  35 + smtp.EnableSsl = Convert.ToBoolean(ConfigurationManager.AppSettings["EnableSSL"]);
  36 + System.Net.NetworkCredential NetworkCred = new System.Net.NetworkCredential(mm.From.ToString(), ConfigurationManager.AppSettings["SenderPassword"]);
  37 + smtp.Credentials = NetworkCred;
  38 + smtp.Port = Convert.ToInt32(ConfigurationManager.AppSettings["SMTPPort"]);
  39 +
  40 + smtp.Send(mm);
  41 + }
  42 +
  43 + public void SendSmtpEmail()
  44 + {
  45 + try
  46 + {
  47 + MailMessage sMail = new MailMessage();
  48 + SmtpClient SmtpServer = new SmtpClient(sHostName);
  49 + string recipientEmailAddress = string.Empty;
  50 +
  51 +
  52 + if (sToAddresses != null)
  53 + {
  54 + foreach (var sItem in sToAddresses)
  55 + {
  56 + sMail.To.Add(sItem);
  57 +
  58 + }
  59 + }
  60 +
  61 + if (sBccAddresses != null)
  62 + {
  63 + foreach (var sItem in sBccAddresses)
  64 + {
  65 + sMail.Bcc.Add(sItem);
  66 + }
  67 + }
  68 +
  69 + sMail.IsBodyHtml = bIsBodyHtml;
  70 +
  71 + if (sAlternateView != null)
  72 + {
  73 + sMail.AlternateViews.Add(sAlternateView);
  74 + }
  75 + else
  76 + {
  77 + sMail.Body = sBodyText;
  78 + }
  79 +
  80 + sMail.Subject = sSubject;
  81 + if (sAttachments != null)
  82 + {
  83 + foreach (var sItem in sAttachments)
  84 + {
  85 + sMail.Attachments.Add(sItem);
  86 + }
  87 + }
  88 +
  89 + SmtpServer.Port = iPort;
  90 + SmtpServer.Credentials = new System.Net.NetworkCredential(sUserName, sPassword);
  91 + SmtpServer.EnableSsl = bEnableSsl;
  92 +
  93 + using (MailMessage mm = new MailMessage(sFromAddress, sMail.To.ToString()))
  94 + {
  95 + mm.Subject = sSubject;
  96 + mm.IsBodyHtml = bIsBodyHtml;
  97 +
  98 + if (sAlternateView != null)
  99 + {
  100 + mm.AlternateViews.Add(sAlternateView);
  101 + }
  102 + else
  103 + {
  104 + mm.Body = sBodyText;
  105 + }
  106 +
  107 + mm.IsBodyHtml = true;
  108 + SendMail(mm);
  109 + }
  110 +
  111 + }
  112 + catch (Exception ex)
  113 + {
  114 + throw ex;
  115 + }
  116 + }
  117 + }
  118 +}
0 \ No newline at end of file 119 \ No newline at end of file
400-SOURCECODE/AIAHTML5.API/Web.config
@@ -31,6 +31,14 @@ @@ -31,6 +31,14 @@
31 </log4net> 31 </log4net>
32 32
33 <appSettings> 33 <appSettings>
  34 + <add key="SenderEmailAddress" value="support@interactiveanatomy.com" />
  35 + <add key="ErrorNotificationEmailAddress" value="support@interactiveanatomy.com" />
  36 + <add key="SenderPassword" value="" />
  37 + <add key="SMTPAddress" value="smtp.emailsrvr.com" />
  38 + <add key="SMTPPort" value="587" />
  39 + <add key="EnableSSL" value="false" />
  40 + <add key="NotifyEmailAddress" value="support@interactiveanatomy.com" />
  41 + <add key="Site_Url" value ="//52.2.38.120"/>
34 </appSettings> 42 </appSettings>
35 <system.web> 43 <system.web>
36 <compilation debug="true" targetFramework="4.5" /> 44 <compilation debug="true" targetFramework="4.5" />
400-SOURCECODE/AIAHTML5.API/bin/AIAHTML5.API.dll
No preview for this file type
400-SOURCECODE/AIAHTML5.API/bin/AIAHTML5.API.dll.config
@@ -31,6 +31,14 @@ @@ -31,6 +31,14 @@
31 </log4net> 31 </log4net>
32 32
33 <appSettings> 33 <appSettings>
  34 + <add key="SenderEmailAddress" value="utkarsh.singh@ebix.com" />
  35 + <add key="ErrorNotificationEmailAddress" value="support@interactiveanatomy.com" />
  36 + <add key="SenderPassword" value="utkarsh@3bix" />
  37 + <add key="SMTPAddress" value="smtp.emailsrvr.com" />
  38 + <add key="SMTPPort" value="587" />
  39 + <add key="EnableSSL" value="false" />
  40 + <add key="NotifyEmailAddress" value="support@interactiveanatomy.com" />
  41 + <add key="Site_Url" value ="//52.2.38.120"/>
34 </appSettings> 42 </appSettings>
35 <system.web> 43 <system.web>
36 <compilation debug="true" targetFramework="4.5" /> 44 <compilation debug="true" targetFramework="4.5" />
400-SOURCECODE/AIAHTML5.API/bin/AIAHTML5.API.pdb
No preview for this file type
400-SOURCECODE/AIAHTML5.API/content/images/logo.png 0 → 100644

11.5 KB

400-SOURCECODE/AIAHTML5.Web/app/controllers/HomeController.js
@@ -73,60 +73,69 @@ function ($rootScope, Modules, $log, $location, $timeout, DataService, Authentic @@ -73,60 +73,69 @@ function ($rootScope, Modules, $log, $location, $timeout, DataService, Authentic
73 73
74 74
75 75
76 - $rootScope.initializeAIA = function () { 76 + $rootScope.initializeAIA = function () {
77 77
78 - $rootScope.isLoading = false; 78 + $rootScope.isLoading = false;
  79 + //$rootScope.isVisibleLogin = false;
  80 + //$rootScope.isVisibleResetPass = true;
  81 + VerifyUrlForQuerystring();
  82 + getUserDetails();
  83 + }
  84 +
  85 + $rootScope.userInfo = {
  86 + username: null,
  87 + password: null,
  88 + emailId: null,
  89 + isPassword: null,
  90 + newPassword: null,
  91 + confirmPassword: null
  92 + };
  93 + $rootScope.userData;
  94 + $rootScope.userModules;
  95 + $rootScope.errorMesaage;
  96 +
  97 + $rootScope.AuthenticateUser = function (userInfo) {
  98 + $rootScope.isVisibleLogin = false;
  99 + if (userInfo.username == "" || userInfo.username == null || userInfo.password == "" || userInfo.password == null) {
  100 +
  101 + alert("Please enter correct information");
79 $rootScope.isVisibleLogin = true; 102 $rootScope.isVisibleLogin = true;
80 -  
81 - getUserDetails();  
82 } 103 }
  104 + else {
83 105
84 - $rootScope.userInfo = {  
85 - username: null,  
86 - password: null  
87 - };  
88 - $rootScope.userData ;  
89 - $rootScope.userModules ;  
90 -  
91 - $rootScope.AuthenticateUser = function (userInfo) {  
92 - $rootScope.isVisibleLogin = false;  
93 - if (userInfo.username == "" || userInfo.username == null || userInfo.password == "" || userInfo.password == null) {  
94 -  
95 - alert("Please enter correct information");  
96 -  
97 - }  
98 - else {  
99 -  
100 - AuthenticationService.authenticateUser(userInfo)  
101 - .then( 106 + AuthenticationService.authenticateUser(userInfo)
  107 + .then(
102 108
103 - function (result) {  
104 - if (result == LoginConstants.USER_NOT_FOUND) {  
105 -  
106 - alert(result);  
107 - }  
108 - else if (result == LoginConstants.ERROR_IN_FECTHING_DETAILS) {  
109 - alert(result);  
110 - }  
111 - else {  
112 - if (result.loginId != undefined || result.loginId != "" || result.loginId != null) { 109 + function (result) {
  110 + if (result == LoginConstants.USER_NOT_FOUND) {
  111 + $rootScope.isVisibleLogin = true;
  112 + alert(LoginConstants.USER_NOT_FOUND);
  113 +
  114 + }
  115 + else if (result == LoginConstants.ERROR_IN_FECTHING_DETAILS) {
  116 + alert(LoginConstants.ERROR_IN_FECTHING_DETAILS);
  117 + $rootScope.isVisibleLogin = true;
  118 + }
  119 + else {
  120 + if (result.loginId != undefined || result.loginId != "" || result.loginId != null) {
113 121
114 - $rootScope.userData = result;  
115 - $rootScope.userModules = result.modules;  
116 - $rootScope.isVisibleLogin = false; 122 + $rootScope.userData = result;
  123 + $rootScope.userModules = result.modules;
  124 + $rootScope.isVisibleLogin = false;
117 125
118 - localStorage.setItem('loggedInUserDetails', JSON.stringify(result));  
119 - } 126 + localStorage.setItem('loggedInUserDetails', JSON.stringify(result));
120 } 127 }
121 - },  
122 - function (error) {  
123 - console.log(' Error in authentication = ' + error.statusText);  
124 - alert(LoginConstants.ERROR_IN_FECTHING_DETAILS);  
125 - });  
126 - }  
127 - 128 + }
  129 + },
  130 + function (error) {
  131 + console.log(' Error in authentication = ' + error.statusText);
  132 + alert(LoginConstants.ERROR_IN_FECTHING_DETAILS);
  133 + $rootScope.isVisibleLogin = true;
  134 + });
128 } 135 }
129 136
  137 + }
  138 +
130 $rootScope.LogoutUser = function () { 139 $rootScope.LogoutUser = function () {
131 localStorage.removeItem('loggedInUserDetails'); 140 localStorage.removeItem('loggedInUserDetails');
132 document.location = '/'; 141 document.location = '/';
@@ -152,10 +161,116 @@ function ($rootScope, Modules, $log, $location, $timeout, DataService, Authentic @@ -152,10 +161,116 @@ function ($rootScope, Modules, $log, $location, $timeout, DataService, Authentic
152 } 161 }
153 } 162 }
154 163
155 - $(document).ready(function () {  
156 - getUserDetails(); 164 + $rootScope.SendMailToUser = function (userInfo, isMailForPassword) {
  165 + if ((userInfo.emailId != null) && (userInfo.emailId != '')) {
  166 + if (validateEmail(userInfo.emailId)) {
  167 + if (isMailForPassword == 'true')
  168 + userInfo.isPassword = true;
  169 + else
  170 + userInfo.isPassword = false;
  171 +
  172 + AuthenticationService.SendMailToUser(userInfo)
  173 + .then(function (result) {
  174 + if (result == LoginConstants.USER_NOT_FOUND) {
  175 + alert("Error occured.");
  176 + }
  177 + else if (result == LoginConstants.ERROR_IN_FECTHING_DETAILS) {
  178 + alert("Error occured.");
  179 + }
  180 + else {
  181 + if (result.loginId != undefined || result.loginId != "" || result.loginId != null) {
  182 + var message;
  183 + if ($('.forgot-sm').length > 0) {
  184 + $('.forgot-sm').fadeOut();
  185 + $('.forgot-sm').modal('hide');
  186 + }
  187 + if ($('.forgot-sm1').length > 0) {
  188 + $('.forgot-sm1').fadeOut();
  189 + $('.forgot-sm1').modal('hide');
  190 + }
  191 + if (isMailForPassword)
  192 + message = "Password";
  193 + else
  194 + message = "UserId";
  195 + alert(message + " sent in mail successfully.");
  196 + }
  197 + }
  198 +
  199 + },
  200 + function (error) {
  201 + console.log(' Error in authentication = ' + error.statusText);
  202 + alert(LoginConstants.ERROR_IN_FECTHING_DETAILS);
  203 + });
  204 + }
  205 + else {
  206 + alert("Please enter correct email id");
  207 + }
  208 + }
  209 + else {
  210 + alert("Please enter your email id");
  211 + }
  212 + };
  213 +
  214 + $rootScope.closeResetPasswordPopup = function () {
  215 + $("#passwordReset").fadeOut();
  216 + $("#passwordReset").modal('hide');
  217 + }
  218 +
  219 + function validateEmail(email) {
  220 + var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
  221 + return re.test(email);
  222 + }
  223 +
  224 + $rootScope.ResetUserPassword = function (userInfo) {
  225 + var url = $location.url();
  226 + if (url.indexOf('?em:') != -1) {
  227 + var split = url.split('?em:');
  228 + userInfo.emailId = split[1];
  229 + }
  230 +
  231 + if (userInfo.newPassword === userInfo.confirmPassword) {
  232 + $rootScope.errorMesaage = null;
  233 + AuthenticationService.ResetUserPassword(userInfo)
  234 + .then(
  235 + function (result) {
  236 + if (result == LoginConstants.USER_NOT_FOUND) {
  237 + alert(LoginConstants.USER_NOT_FOUND);
  238 + }
  239 + else if (result == LoginConstants.ERROR_IN_FECTHING_DETAILS) {
  240 + alert(LoginConstants.ERROR_IN_FECTHING_DETAILS);
  241 + }
  242 + else {
  243 + if (result.loginId != undefined || result.loginId != "" || result.loginId != null) {
  244 + alert('Your password has been reset.');
  245 + $rootScope.isVisibleLogin = true;
  246 + $rootScope.isVisibleResetPass = false;
  247 + $location.url() = "/";
  248 + }
  249 + }
  250 + },
  251 + function (error) {
  252 + console.log(' Error in authentication = ' + error.statusText);
  253 + alert(LoginConstants.ERROR_IN_FECTHING_DETAILS);
  254 + });
  255 + }
  256 + else
  257 + $rootScope.errorMesaage = "Your new password and confirm password not matched!";
  258 + }
  259 +
  260 + function VerifyUrlForQuerystring() {
  261 + var url = $location.url();
157 262
  263 + var field = 'em';
158 264
  265 + if (url.indexOf('?' + field + ':') != -1) {
  266 + $rootScope.isVisibleLogin = false;
  267 + $rootScope.isVisibleResetPass = true;
  268 + }
  269 + else {
  270 + $rootScope.isVisibleLogin = true;
  271 + $rootScope.isVisibleResetPass = false;
  272 + }
  273 + }
159 $(function () { 274 $(function () {
160 var colpick = $('.demo').each(function () { 275 var colpick = $('.demo').each(function () {
161 276
@@ -223,7 +338,7 @@ function ($rootScope, Modules, $log, $location, $timeout, DataService, Authentic @@ -223,7 +338,7 @@ function ($rootScope, Modules, $log, $location, $timeout, DataService, Authentic
223 $inlinehex.html(hex); 338 $inlinehex.html(hex);
224 } 339 }
225 }); 340 });
226 - }); 341 + //});
227 342
228 $("#font-color .minicolors .minicolors-swatch .minicolors-swatch-color").css({ "background-color": "#000000" }); 343 $("#font-color .minicolors .minicolors-swatch .minicolors-swatch-color").css({ "background-color": "#000000" });
229 $("#drawTextBGColorpicker .minicolors .minicolors-swatch .minicolors-swatch-color").css({ "background-color": "#ffffff" }); 344 $("#drawTextBGColorpicker .minicolors .minicolors-swatch .minicolors-swatch-color").css({ "background-color": "#ffffff" });
@@ -2741,9 +2856,9 @@ function ($rootScope, Modules, $log, $location, $timeout, DataService, Authentic @@ -2741,9 +2856,9 @@ function ($rootScope, Modules, $log, $location, $timeout, DataService, Authentic
2741 $('#snipImage').attr('src', dataURL); 2856 $('#snipImage').attr('src', dataURL);
2742 2857
2743 $('#spnModule').text($rootScope.currentActiveModuleTitle); 2858 $('#spnModule').text($rootScope.currentActiveModuleTitle);
2744 - $('#spnPosture').text(localStorage.getItem('currentViewTitle')); 2859 + $('#spnBodyViewTitle').text(localStorage.getItem('currentViewTitle'));
2745 2860
2746 - PrintDIVContent('printBox'); // Open Print Window 2861 + PrintDivContentByID('printBox'); // Open Print Window
2747 } 2862 }
2748 }); 2863 });
2749 }; 2864 };
@@ -2904,21 +3019,6 @@ function ($rootScope, Modules, $log, $location, $timeout, DataService, Authentic @@ -2904,21 +3019,6 @@ function ($rootScope, Modules, $log, $location, $timeout, DataService, Authentic
2904 console.log('close') 3019 console.log('close')
2905 }); 3020 });
2906 3021
2907 - $rootScope.ShowPrintWindow = function () { // Print Active Viewer  
2908 - html2canvas($("#canvasDiv"), {  
2909 - onrendered: function (canvas) {  
2910 - var dataURL = canvas.toDataURL("image/jpeg");  
2911 - var imageToPrint = new Image();  
2912 - imageToPrint.src = dataURL;  
2913 - $('#snipImage').attr('src', dataURL);  
2914 -  
2915 - $('#spnModule').text($rootScope.currentActiveModuleTitle);  
2916 - $('#spnBodyViewTitle').text(localStorage.getItem('currentViewTitle'));  
2917 -  
2918 - PrintDivContentByID('printBox'); // Open Print Window  
2919 - }  
2920 - });  
2921 - };  
2922 $rootScope.restrictBodySystemList = function () { 3022 $rootScope.restrictBodySystemList = function () {
2923 var RestrictListDiv = document.getElementById("restrictListDiv"); 3023 var RestrictListDiv = document.getElementById("restrictListDiv");
2924 if (RestrictListDiv.style.display == 'block') { 3024 if (RestrictListDiv.style.display == 'block') {
@@ -2929,7 +3029,7 @@ function ($rootScope, Modules, $log, $location, $timeout, DataService, Authentic @@ -2929,7 +3029,7 @@ function ($rootScope, Modules, $log, $location, $timeout, DataService, Authentic
2929 RestrictListDiv.style.display = 'block'; 3029 RestrictListDiv.style.display = 'block';
2930 $(".restrict-carret-icon").css({ "transform": "rotate(90deg)", "-moz-transform": "rotate(90deg)", "-webkit-transform": "rotate(90deg)", "-ms-transform": "rotate(90deg)" }); 3030 $(".restrict-carret-icon").css({ "transform": "rotate(90deg)", "-moz-transform": "rotate(90deg)", "-webkit-transform": "rotate(90deg)", "-ms-transform": "rotate(90deg)" });
2931 3031
2932 - } 3032 + };
2933 3033
2934 }] 3034 }]
2935 ); 3035 );
2936 \ No newline at end of file 3036 \ No newline at end of file
400-SOURCECODE/AIAHTML5.Web/app/services/AuthenticationService.js
@@ -16,7 +16,43 @@ @@ -16,7 +16,43 @@
16 deferred.reject(status); 16 deferred.reject(status);
17 }); 17 });
18 return deferred.promise; 18 return deferred.promise;
19 - } 19 + },
  20 +
  21 + SendMailToUser: function (userInfo, isPassword) {
  22 + var deferred = $q.defer();
  23 +
  24 + $http.post('/API/api/ForgotUser', userInfo, { //JSON.stringify(userEmail)
  25 + headers: {
  26 + 'Content-Type': 'application/json'
  27 + }
  28 + })
  29 + .success(function (data, status, headers, config) {
  30 + console.log('success');
  31 + deferred.resolve(data);
  32 + }).error(function (data, status, headers, config) {
  33 + console.log('error')
  34 + deferred.reject(status);
  35 + });
  36 + return deferred.promise;
  37 + },
  38 +
  39 + ResetUserPassword: function (userInfo) {
  40 + var deferred = $q.defer();
  41 +
  42 + $http.post('/API/api/ResetPassword', JSON.stringify(userInfo), {
  43 + headers: {
  44 + 'Content-Type': 'application/json'
  45 + }
  46 + })
  47 + .success(function (data, status, headers, config) {
  48 + console.log('success')
  49 + deferred.resolve(data);
  50 + }).error(function (data, status, headers, config) {
  51 + console.log('error')
  52 + deferred.reject(status);
  53 + });
  54 + return deferred.promise;
  55 + },
20 56
21 } 57 }
22 }); 58 });
23 \ No newline at end of file 59 \ No newline at end of file
400-SOURCECODE/AIAHTML5.Web/app/views/Home/resetPassword.html 0 → 100644
  1 +<!doctype html>
  2 +<html>
  3 +<head>
  4 +<meta charset="utf-8">
  5 +<title>AIA</title>
  6 +<style type="text/css">
  7 +h1 {
  8 + font-size: 16px;
  9 + color: #FFFFFF;
  10 +}
  11 +</style>
  12 +</head>
  13 +
  14 +<body>
  15 +<table width="500" border="0" align="center" cellpadding="0" cellspacing="0">
  16 + <tbody>
  17 + <tr>
  18 + <td align="center" valign="middle" bgcolor="#393939 " style="padding:30px 0 20px 0;"><a href="#"><img src="/content/images/common/logo.png" alt="PPL" title="PPL" /></a></td>
  19 + </tr>
  20 + <tr>
  21 + <td align="center" valign="top" bgcolor="#808d43" style="padding:20px; overflow:hidden;">
  22 + <table width="100%" border="0" cellspacing="0" cellpadding="0" id='resetPwdform' ng-show="isVisibleResetPass" ng-init="CallResetPassword()">
  23 + <tbody>
  24 +
  25 + <tr>
  26 + <td style=" font-size:26px; font-weight:bold; color:#fff; font-family:Gotham, 'Helvetica Neue', Helvetica, Arial, sans-serif"><strong>Reset Password</strong></td>
  27 + </tr>
  28 + <tr>
  29 + <td>&nbsp;</td>
  30 + </tr>
  31 + <tr>
  32 + <td style="font-family:Gotham, 'Helvetica Neue', Helvetica, Arial, sans-serif; color:#fff;">New Password </td>
  33 + </tr>
  34 + <tr>
  35 + <td><input class="form-control" id="" value="*****" ng-model="password" type="password" style="padding:3px 5px; height:25px; width:98%;"></td>
  36 + </tr>
  37 + <tr>
  38 + <td>&nbsp;</td>
  39 + </tr>
  40 + <tr>
  41 + <td style="font-family:Gotham, 'Helvetica Neue', Helvetica, Arial, sans-serif; color:#fff;">Confirm Password </td>
  42 + </tr>
  43 +
  44 + <tr>
  45 + <td><input class="form-control" id="" value="*****" ng-model="password2" type="password" style="padding:3px 5px; height:25px; width:98%;"></td>
  46 + </tr>
  47 + <tr>
  48 + <td>&nbsp;</td>
  49 + </tr>
  50 + <tr>
  51 + <td>
  52 + <button type="button" style="color:#423030; background:#ff9900; border:1px solid #ff9900; cursor:pointer; color:#fff; padding:5px 10px; font-size:16px; text-transform:uppercase; text-align:center; text-decoration:none; font-family:Gotham, 'Helvetica Neue', Helvetica, Arial, sans-serif" ng-click="CallResetPassword">Submit</button>
  53 + <button type="button" style="color:#423030; background:#231f20; border:1px solid #231f20; cursor:pointer; color:#fff; padding:5px 10px; font-size:16px; text-transform:uppercase; text-align:center; text-decoration:none; font-family:Gotham, 'Helvetica Neue', Helvetica, Arial, sans-serif">Close</button>
  54 + </td>
  55 + </tr>
  56 + </tbody>
  57 +</table>
  58 + </tr>
  59 +
  60 +
  61 + </tbody>
  62 +</table>
  63 +</body>
  64 +</html>
400-SOURCECODE/AIAHTML5.Web/content/images/logo.png 0 → 100644

11.5 KB

400-SOURCECODE/AIAHTML5.Web/index.html
@@ -149,6 +149,7 @@ @@ -149,6 +149,7 @@
149 color: #000; 149 color: #000;
150 border-radius: 0; 150 border-radius: 0;
151 } 151 }
  152 +
152 .restrict-carret-icon { 153 .restrict-carret-icon {
153 font-size: 18px; 154 font-size: 18px;
154 position: relative; 155 position: relative;
@@ -160,247 +161,297 @@ @@ -160,247 +161,297 @@
160 161
161 </head> 162 </head>
162 <body ng-controller="HomeController" id="bo" ng-init="initializeAIA()"> 163 <body ng-controller="HomeController" id="bo" ng-init="initializeAIA()">
163 - <div id="login" ng-show="isVisibleLogin">  
164 -  
165 - <div class="container-fluid loginBg">  
166 - <div class="row">  
167 - <div class="col-xs-12 text-center">  
168 - <a href="index.html" class="loginLogo"><img src="content/images/common/logo-large.png" class="img-responsive" alt=""></a>  
169 - <div class="headerBand row">  
170 - <div class="col-xs-12">  
171 - <h1>A.D.A.M. Interactive Anatomy</h1>  
172 - <p>The most compresive online interactive anatomy learning resource</p> 164 + <div ng-hide="isVisibleResetPass">
  165 + <div id="login" ng-show="isVisibleLogin">
  166 +
  167 + <div class="container-fluid loginBg">
  168 + <div class="row">
  169 + <div class="col-xs-12 text-center">
  170 + <a href="index.html" class="loginLogo"><img src="content/images/common/logo-large.png" class="img-responsive" alt=""></a>
  171 + <div class="headerBand row">
  172 + <div class="col-xs-12">
  173 + <h1>A.D.A.M. Interactive Anatomy</h1>
  174 + <p>The most compresive online interactive anatomy learning resource</p>
  175 + </div>
173 </div> 176 </div>
174 </div> 177 </div>
175 - </div>  
176 - <!--LOGIN PANEL-->  
177 - <div class="col-xs-12 loginPanel">  
178 - <div class="loginBox clearfix">  
179 - <div class="col-xs-12">  
180 - <!--<strong>Login</strong>-->  
181 - <form>  
182 - <div class="form-group">  
183 - <!--<label for="">User ID</label>-->  
184 - <!--input type="email" class="form-control" placeholder="User ID">  
185 - <span class="help-block text-right small"><a href="#" class="color-white">Forgot User ID?</a></span>--> 178 + <!--LOGIN PANEL-->
  179 + <div class="col-xs-12 loginPanel">
  180 + <div class="loginBox clearfix">
  181 + <div class="col-xs-12">
  182 + <!--<strong>Login</strong>-->
  183 + <form>
  184 + <div class="form-group">
  185 + <!--<label for="">User ID</label>-->
  186 + <!--input type="email" class="form-control" placeholder="User ID">
  187 + <span class="help-block text-right small"><a href="#" class="color-white">Forgot User ID?</a></span>-->
186 188
187 189
188 - <div class="input-group">  
189 - <span class="input-group-addon"><i class="fa fa-user"></i></span>  
190 - <input type="text" class="form-control" placeholder="Username" ng-model="userInfo.username">  
191 - </div>  
192 - <span class="help-block text-right small"><a href="#" class="color-white">Forgot User ID?</a></span> 190 + <div class="input-group">
  191 + <span class="input-group-addon"><i class="fa fa-user"></i></span>
  192 + <input type="text" class="form-control" placeholder="Username" ng-model="userInfo.username">
  193 + </div>
  194 + <span class="help-block text-right small"><a href="#" class="color-white" id="forgotUserIdAnchor" data-toggle="modal" data-target=".forgot-sm">Forgot User ID?</a></span>
193 195
194 196
195 - </div>  
196 - <div class="form-group">  
197 - <!--<label for="">Password</label>-->  
198 - <!--<input type="password" class="form-control" placeholder="Password">  
199 - <span class="help-block text-right small "><a href="#" class="color-white">Forgot Password?</a></span>-->  
200 - <div class="input-group">  
201 - <span class="input-group-addon"><i class="fa fa-key"></i></span>  
202 - <input type="password" class="form-control" placeholder="Password" ng-model="userInfo.password">  
203 </div> 197 </div>
204 - <span class="help-block text-right small "><a href="#" class="color-white">Forgot Password?</a></span> 198 + <div class="form-group">
  199 + <!--<label for="">Password</label>-->
  200 + <!--<input type="password" class="form-control" placeholder="Password">
  201 + <span class="help-block text-right small "><a href="#" class="color-white">Forgot Password?</a></span>-->
  202 + <div class="input-group">
  203 + <span class="input-group-addon"><i class="fa fa-key"></i></span>
  204 + <input type="password" class="form-control" placeholder="Password" ng-model="userInfo.password">
  205 + </div>
  206 + <span class="help-block text-right small "><a class="color-white" id="forgotPasswordAnchor" data-toggle="modal" data-target=".forgot-sm1">Forgot Password?</a></span> <!--#resetpass" href="/app/views/Home/resetPwd.html"-->
  207 + </div>
  208 + <div class="form-group">
  209 + <button class="btn btn-primary pull-right" ng-click="AuthenticateUser(userInfo)">Log In</button>
  210 + </div>
  211 + </form>
  212 + </div>
  213 + </div>
  214 + <div class="loginExBtn">
  215 + <a href="#" class="btn btn-primary">Subscribe Now</a>
  216 + <a href="#" class="btn btn-primary pull-right">Learn More</a>
  217 + </div>
  218 + </div>
  219 + </div>
  220 + </div>
  221 +
  222 + <!-- Footer -->
  223 + <footer class="dark">
  224 + <div class="container-fluid text-center">Copyright &copy; 2016 Ebix Inc. All rights reserved.</div>
  225 + </footer>
  226 + </div>
  227 + <!-- Forgot User ID (Small modal) -->
  228 + <div class="modal fade forgot-sm" role="dialog" tabindex="-1" aria-labelledby="exampleModalLabel" data-target=".forgot-sm">
  229 + <div class="modal-dialog modal-sm" role="document">
  230 + <div class="modal-content">
  231 + <div class="modal-header">
  232 + <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
  233 + <h5 class="modal-title" id="exampleModalLabel">Enter your email id to recover User id</h5>
  234 + </div>
  235 + <div class="modal-body">
  236 + <form>
  237 + <div class="form-group">
  238 + <div class="input-group">
  239 + <span class="input-group-addon"><i class="fa fa-envelope"></i></span>
  240 + <input id="btnEmail" class="form-control" placeholder="Email" type="email" ng-model="userInfo.emailId">
205 </div> 241 </div>
206 - <div class="form-group">  
207 - <button class="btn btn-primary pull-right" ng-click="AuthenticateUser(userInfo)">Log In</button> 242 + </div>
  243 + </form>
  244 + </div>
  245 + <div class="modal-footer">
  246 + <button type="button" class="btn btn-primary btn-block" ng-click="SendMailToUser(userInfo, 'false')">Send Mail</button>
  247 + </div>
  248 + <!--<div style="color: maroon; font-weight: bold; " ng-if="message">{{message}}</div>-->
  249 + </div>
  250 + </div>
  251 + </div>
  252 + <!-- Forgot Password (Small modal) -->
  253 + <div class="modal fade forgot-sm1" role="dialog" tabindex="-1" aria-labelledby="exampleModalLabel" data-target=".forgot-sm1">
  254 + <div class="modal-dialog modal-sm" role="document">
  255 + <div class="modal-content">
  256 + <div class="modal-header">
  257 + <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
  258 + <h5 class="modal-title" id="exampleModalLabel">Enter your email id to recover Password</h5>
  259 + </div>
  260 + <div class="modal-body">
  261 + <form>
  262 + <div class="form-group">
  263 + <div class="input-group">
  264 + <span class="input-group-addon"><i class="fa fa-envelope"></i></span>
  265 + <input id="btnEmail2" class="form-control" placeholder="Email" type="email" ng-model="userInfo.emailId">
208 </div> 266 </div>
209 - </form>  
210 - </div> 267 + </div>
  268 + </form>
211 </div> 269 </div>
212 - <div class="loginExBtn">  
213 - <a href="#" class="btn btn-primary">Subscribe Now</a>  
214 - <a href="#" class="btn btn-primary pull-right">Learn More</a> 270 + <div class="modal-footer">
  271 + <button type="button" class="btn btn-primary btn-block" ng-click="SendMailToUser(userInfo, 'true')">Send Mail</button>
215 </div> 272 </div>
  273 + <!--<div style="color: maroon; font-weight: bold; " ng-if="message">{{message}}</div>-->
216 </div> 274 </div>
217 </div> 275 </div>
218 </div> 276 </div>
  277 + <div id="index" ng-hide="isVisibleLogin">
  278 + <div class="container-fluid ">
  279 + <!--Header-->
  280 +
  281 + <nav class="navbar navbar-inverse navbar-fixed-top">
  282 + <div class="container-fluid">
  283 + <!-- Brand and toggle get grouped for better mobile display -->
  284 + <div class="navbar-header">
  285 + <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#topFixedNavbar1" aria-expanded="false">
  286 + <span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span>
  287 + </button>
  288 + <a class="frameLogo navbar-brand" href="home"><img src="content/images/logo-main.png" class="img-responsive" alt=""></a>
  289 + </div>
  290 + <div ng-include="'app/widget/TopMenu.html'"></div>
  291 + </div>
  292 + </nav>
  293 + <div class="bodyWrap row container-fluid">
219 294
220 - <!-- Footer -->  
221 - <footer class="dark">  
222 - <div class="container-fluid text-center">Copyright &copy; 2016 Ebix Inc. All rights reserved.</div>  
223 - </footer>  
224 -  
225 - </div>  
226 - <div id="index" ng-hide="isVisibleLogin">  
227 - <div class="container-fluid ">  
228 - <!--Header-->  
229 -  
230 - <nav class="navbar navbar-inverse navbar-fixed-top">  
231 - <div class="container-fluid">  
232 - <!-- Brand and toggle get grouped for better mobile display -->  
233 - <div class="navbar-header">  
234 - <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#topFixedNavbar1" aria-expanded="false">  
235 - <span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span>  
236 - </button>  
237 - <a class="frameLogo navbar-brand" href="home"><img src="content/images/logo-main.png" class="img-responsive" alt=""></a> 295 + <div id="spinner" class="spinner" ng-show="isLoading" style="visibility:hidden">
  296 + <img id="img-spinner" src="content/images/common/loading.gif" alt="Loading" />
238 </div> 297 </div>
239 - <div ng-include="'app/widget/TopMenu.html'"></div>  
240 - </div>  
241 - </nav>  
242 - <div class="bodyWrap row container-fluid"> 298 + <div ng-view></div>
243 299
244 - <div id="spinner" class="spinner" ng-show="isLoading" style="visibility:hidden">  
245 - <img id="img-spinner" src="content/images/common/loading.gif" alt="Loading" />  
246 </div> 300 </div>
247 - <div ng-view></div>  
248 -  
249 - </div>  
250 - </div>> 301 + </div>>
251 302
252 303
253 - <!--list manager Modal-->  
254 - <div class="modal fade" id="ShowListManager" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" ng-init="tab = 1" style="width:27%;left:50%;overflow:hidden;height:500px;top:100px">  
255 - <div class="modal-dialog" role="document" style="width:400px;">  
256 - <div class="modal-content" style="width:100%;max-width:400px;">  
257 - <div class="modal-header setting-modal-header" style="padding: 5px 10px; border-bottom: 1px solid #e5e5e5;">  
258 - <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>  
259 - <h4 class="modal-title" id="myModalLabel">Setting</h4>  
260 - </div>  
261 - <div class="modal-body">  
262 - <div class="row" style="padding-top:20px;">  
263 - <div class="col-sm-12"> 304 + <!--list manager Modal-->
  305 + <div class="modal fade" id="ShowListManager" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" ng-init="tab = 1" style="width:27%;left:50%;overflow:hidden;height:500px;top:100px">
  306 + <div class="modal-dialog" role="document" style="width:400px;">
  307 + <div class="modal-content" style="width:100%;max-width:400px;">
  308 + <div class="modal-header setting-modal-header" style="padding: 5px 10px; border-bottom: 1px solid #e5e5e5;">
  309 + <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
  310 + <h4 class="modal-title" id="myModalLabel">Setting</h4>
  311 + </div>
  312 + <div class="modal-body">
  313 + <div class="row" style="padding-top:20px;">
  314 + <div class="col-sm-12">
264 315
265 - <div aria-label="..." role="group" class="btn-group btn-group-justified">  
266 - <div role="group" class="btn-group">  
267 - <button class="btn btn-sm btn-success" type="button" ng-click="tab = 1">Appearance</button>  
268 - </div>  
269 - <div role="group" class="btn-group">  
270 - <button class="btn btn-sm btn-success" type="button" ng-click="tab = 2">Lexicons</button>  
271 - </div>  
272 - <div role="group" class="btn-group">  
273 - <button class="btn btn-sm btn-success" type="button" ng-click="tab = 3">Dissectible</button> 316 + <div aria-label="..." role="group" class="btn-group btn-group-justified">
  317 + <div role="group" class="btn-group">
  318 + <button class="btn btn-sm btn-success" type="button" ng-click="tab = 1">Appearance</button>
  319 + </div>
  320 + <div role="group" class="btn-group">
  321 + <button class="btn btn-sm btn-success" type="button" ng-click="tab = 2">Lexicons</button>
  322 + </div>
  323 + <div role="group" class="btn-group">
  324 + <button class="btn btn-sm btn-success" type="button" ng-click="tab = 3">Dissectible</button>
  325 + </div>
274 </div> 326 </div>
  327 +
275 </div> 328 </div>
276 329
277 - </div>  
278 330
  331 + <div class="col-sm-12" ng-show="tab === 1">
279 332
280 - <div class="col-sm-12" ng-show="tab === 1">  
281 333
  334 + <div class="row">
  335 + <div class="center-block col-md-11" style="float: none; background-color:#E2E2E2;height:300px;">
  336 + <div class="row" style="padding-top: 22px;">
  337 + <div class="center-block col-md-10" style="float: none; ">
  338 + <h5><strong>System Font</strong></h5>
282 339
283 - <div class="row">  
284 - <div class="center-block col-md-11" style="float: none; background-color:#E2E2E2;height:300px;">  
285 - <div class="row" style="padding-top: 22px;">  
286 - <div class="center-block col-md-10" style="float: none; ">  
287 - <h5><strong>System Font</strong></h5>  
288 -  
289 - <div style="border:2px solid #ACACAC;float:left;padding:15px;background-color:#CCCCCC;">  
290 - <div class="col-md-3" style="padding-left:0px;">  
291 - Sample  
292 - </div>  
293 - <div class="col-md-6" style="padding-right:0px;">  
294 - <input type="text" value="" style="width:85%;">  
295 - </div>  
296 - <div class="col-md-3" style="padding-left:0px;">  
297 - <button class="btn btn-primary" style="margin-bottom:5px;">Change</button>  
298 - <button class="btn btn-primary" style="margin-bottom:5px;">Default</button>  
299 - </div> 340 + <div style="border:2px solid #ACACAC;float:left;padding:15px;background-color:#CCCCCC;">
  341 + <div class="col-md-3" style="padding-left:0px;">
  342 + Sample
  343 + </div>
  344 + <div class="col-md-6" style="padding-right:0px;">
  345 + <input type="text" value="" style="width:85%;">
  346 + </div>
  347 + <div class="col-md-3" style="padding-left:0px;">
  348 + <button class="btn btn-primary" style="margin-bottom:5px;">Change</button>
  349 + <button class="btn btn-primary" style="margin-bottom:5px;">Default</button>
  350 + </div>
300 351
  352 + </div>
301 </div> 353 </div>
302 </div> 354 </div>
303 - </div>  
304 -  
305 - </div>  
306 - </div>  
307 -  
308 - </div>  
309 - <div class="col-sm-12" ng-show="tab === 2">  
310 -  
311 355
312 - <div class="row">  
313 - <div class="center-block col-md-11" style="float: none; background-color:#E2E2E2;height:300px;">  
314 - <div class="col-md-6">  
315 - <h6><strong>Primary Lexicon</strong></h6>  
316 - <input type="text" value="English" style="width:90%;">  
317 - <button class="btn btn-primary" style="float:right;margin-bottom:5px;margin-top:5px;">Change</button>  
318 - <h6>Secondry Lexicon</h6>  
319 - <textarea style="width:90%;"></textarea>  
320 - <button>Change</button>  
321 - <button>Change</button>  
322 </div> 356 </div>
323 - <div class="col-md-6">  
324 - <h6>Available Lexicon</h6>  
325 - <select multiple class="form-control" id="sel2">  
326 - <option>1</option>  
327 - <option>2</option>  
328 - <option>3</option>  
329 - <option>4</option>  
330 - <option>5</option>  
331 - </select>  
332 -  
333 - <p>Note: Some languages require special system fonts to display correctly</p>  
334 - </div>  
335 -  
336 </div> 357 </div>
  358 +
337 </div> 359 </div>
  360 + <div class="col-sm-12" ng-show="tab === 2">
338 361
339 - </div>  
340 - <div class="col-sm-12" ng-show="tab === 3">  
341 362
342 - <div class="row">  
343 - <div class="center-block col-md-11" style="float: none; background-color:#E2E2E2;height:300px;">  
344 - <h6>Skin Tones</h6>  
345 - <div class="center-block col-md-8" style="float: none;"> 363 + <div class="row">
  364 + <div class="center-block col-md-11" style="float: none; background-color:#E2E2E2;height:300px;">
346 <div class="col-md-6"> 365 <div class="col-md-6">
347 - <img class="img-responsive" alt="" src="http://placehold.it/400x300"> 366 + <h6><strong>Primary Lexicon</strong></h6>
  367 + <input type="text" value="English" style="width:90%;">
  368 + <button class="btn btn-primary" style="float:right;margin-bottom:5px;margin-top:5px;">Change</button>
  369 + <h6>Secondry Lexicon</h6>
  370 + <textarea style="width:90%;"></textarea>
  371 + <button>Change</button>
  372 + <button>Change</button>
348 </div> 373 </div>
349 <div class="col-md-6"> 374 <div class="col-md-6">
350 - <img class="img-responsive" alt="" src="http://placehold.it/400x300">  
351 - </div>  
352 - <div class="col-md-6">  
353 - <img class="img-responsive" alt="" src="http://placehold.it/400x300">  
354 - </div>  
355 - <div class="col-md-6">  
356 - <img class="img-responsive" alt="" src="http://placehold.it/400x300"> 375 + <h6>Available Lexicon</h6>
  376 + <select multiple class="form-control" id="sel2">
  377 + <option>1</option>
  378 + <option>2</option>
  379 + <option>3</option>
  380 + <option>4</option>
  381 + <option>5</option>
  382 + </select>
  383 +
  384 + <p>Note: Some languages require special system fonts to display correctly</p>
357 </div> 385 </div>
358 386
359 </div> 387 </div>
360 - <h6>Modesty Setting</h6>  
361 - <div class="col-md-6">  
362 - <div class="col-md-4">  
363 - <img class="img-responsive" alt="" src="http://placehold.it/400x300">  
364 - </div>  
365 - <div class="col-md-8"> 388 + </div>
366 389
367 - <div class="radio">  
368 - <label><input type="radio" name="optradio" checked>On</label> 390 + </div>
  391 + <div class="col-sm-12" ng-show="tab === 3">
  392 +
  393 + <div class="row">
  394 + <div class="center-block col-md-11" style="float: none; background-color:#E2E2E2;height:300px;">
  395 + <h6>Skin Tones</h6>
  396 + <div class="center-block col-md-8" style="float: none;">
  397 + <div class="col-md-6">
  398 + <img class="img-responsive" alt="" src="http://placehold.it/400x300">
  399 + </div>
  400 + <div class="col-md-6">
  401 + <img class="img-responsive" alt="" src="http://placehold.it/400x300">
369 </div> 402 </div>
370 - <div class="radio">  
371 - <label><input type="radio" name="optradio">Off</label> 403 + <div class="col-md-6">
  404 + <img class="img-responsive" alt="" src="http://placehold.it/400x300">
  405 + </div>
  406 + <div class="col-md-6">
  407 + <img class="img-responsive" alt="" src="http://placehold.it/400x300">
372 </div> 408 </div>
373 409
374 </div> 410 </div>
375 - </div>  
376 - <div class="col-md-6">  
377 - <h6>Annotaion</h6>  
378 - <div class="checkbox">  
379 - <label><input type="checkbox" value="" checked>Erase Annotations when changeing layers</label> 411 + <h6>Modesty Setting</h6>
  412 + <div class="col-md-6">
  413 + <div class="col-md-4">
  414 + <img class="img-responsive" alt="" src="http://placehold.it/400x300">
  415 + </div>
  416 + <div class="col-md-8">
  417 +
  418 + <div class="radio">
  419 + <label><input type="radio" name="optradio" checked>On</label>
  420 + </div>
  421 + <div class="radio">
  422 + <label><input type="radio" name="optradio">Off</label>
  423 + </div>
  424 +
  425 + </div>
  426 + </div>
  427 + <div class="col-md-6">
  428 + <h6>Annotaion</h6>
  429 + <div class="checkbox">
  430 + <label><input type="checkbox" value="" checked>Erase Annotations when changeing layers</label>
  431 + </div>
380 </div> 432 </div>
381 </div> 433 </div>
382 - </div>  
383 434
384 - </div> 435 + </div>
385 436
386 437
387 438
  439 + </div>
  440 + </div>
  441 + <div class="modal-footer">
  442 + <button type="button" class="btn btn-primary">Ok</button>
  443 + <button type="button" class="btn btn-primary" data-dismiss="modal">Cancle</button>
  444 + <button type="button" class="btn btn-primary">Apply</button>
388 </div> 445 </div>
389 - </div>  
390 - <div class="modal-footer">  
391 - <button type="button" class="btn btn-primary">Ok</button>  
392 - <button type="button" class="btn btn-primary" data-dismiss="modal">Cancle</button>  
393 - <button type="button" class="btn btn-primary">Apply</button>  
394 </div> 446 </div>
395 </div> 447 </div>
396 </div> 448 </div>
397 </div> 449 </div>
398 - </div>  
399 450
400 - <!--Settings modal-->  
401 - <!--<div id="modal-settings" style="z-index: 1000000000; background: white;width: 302px;position:absolute;left:40%;right:0;top:70px;">-->  
402 - <div id="modelsettingsbackground" style="background-color: black; bottom: 0; display: none; height: 100%; left: 0; opacity: 0.5; position: fixed; right: 0; top: 0; width: 100%; z-index: 12000000;"></div>  
403 - <div id="modal-settings" style="display:none;z-index: 1000000000;height:auto;width: 300px;position:absolute;left:40%;right:0;top:70px;"> 451 + <!--Settings modal-->
  452 + <!--<div id="modal-settings" style="z-index: 1000000000; background: white;width: 302px;position:absolute;left:40%;right:0;top:70px;">-->
  453 + <div id="modelsettingsbackground" style="background-color: black; bottom: 0; display: none; height: 100%; left: 0; opacity: 0.5; position: fixed; right: 0; top: 0; width: 100%; z-index: 12000000;"></div>
  454 + <div id="modal-settings" style="display:none;z-index: 1000000000;height:auto;width: 300px;position:absolute;left:40%;right:0;top:70px;">
404 <div role="document"> 455 <div role="document">
405 <form> 456 <form>
406 <div ng-init="loadsettings()" class="modal-content" id="setting-modal-dark"> 457 <div ng-init="loadsettings()" class="modal-content" id="setting-modal-dark">
@@ -784,12 +835,12 @@ @@ -784,12 +835,12 @@
784 </div> 835 </div>
785 <div style=""> 836 <div style="">
786 <div class="form-group"> 837 <div class="form-group">
787 - <div ng-click="restrictBodySystemList()" class="btn btn-success btn-block" style="padding:3px 12px;">  
788 - <i class=" fa fa-caret-right restrict-carret-icon"></i> <span>Restrict List to</span> 838 + <div ng-click="restrictBodySystemList()" class="btn btn-success btn-block" style="padding:3px 12px;">
  839 + <i class=" fa fa-caret-right restrict-carret-icon"></i> <span>Restrict List to</span>
789 </div> 840 </div>
790 </div> 841 </div>
791 842
792 - <div id="restrictListDiv" style="display:none;"> 843 + <div id="restrictListDiv" style="display:none;">
793 844
794 <div class="well well-sm marginTopBtm10"> 845 <div class="well well-sm marginTopBtm10">
795 <div class="form-horizontal"> 846 <div class="form-horizontal">
@@ -805,7 +856,7 @@ @@ -805,7 +856,7 @@
805 <select class="form-control" disabled> 856 <select class="form-control" disabled>
806 <option value="1" selected="">Entire View</option> 857 <option value="1" selected="">Entire View</option>
807 </select> 858 </select>
808 - </div> 859 + </div>
809 </div> 860 </div>
810 </div> 861 </div>
811 </div> 862 </div>
@@ -860,12 +911,12 @@ @@ -860,12 +911,12 @@
860 </div> 911 </div>
861 <div class="col-sm-6 enableDisableOpacity"> 912 <div class="col-sm-6 enableDisableOpacity">
862 <!--<div class="radio"> 913 <!--<div class="radio">
863 - <label>  
864 - <input type="radio" name="filloption" id="filloption1" value="filloption1">  
865 - <span class="">Texture</span>  
866 - <img id="editstyleTexture" src="~/../content/images/common/annotation-tool-bar/pattern-picker.png" alt="" class="pattern-picker" data-toggle="modal" data-target="#pattern">  
867 - </label>  
868 - </div>--> 914 + <label>
  915 + <input type="radio" name="filloption" id="filloption1" value="filloption1">
  916 + <span class="">Texture</span>
  917 + <img id="editstyleTexture" src="~/../content/images/common/annotation-tool-bar/pattern-picker.png" alt="" class="pattern-picker" data-toggle="modal" data-target="#pattern">
  918 + </label>
  919 + </div>-->
869 <div class="radio"> 920 <div class="radio">
870 <label> 921 <label>
871 <input type="radio" name="filloption" id="filloption2" value="filloption2" checked style="margin-top:8px;"> 922 <input type="radio" name="filloption" id="filloption2" value="filloption2" checked style="margin-top:8px;">
@@ -1030,731 +1081,793 @@ @@ -1030,731 +1081,793 @@
1030 1081
1031 <!--Print Preview Modal--> 1082 <!--Print Preview Modal-->
1032 <div id="dvPrintPreview" style="display: none;"></div> 1083 <div id="dvPrintPreview" style="display: none;"></div>
1033 -  
1034 - <!--<div class="modal fade" id="editshapestyle" tabindex="-1" role="dialog" aria-labelledby="myModalLabel33" style="z-index:1000000000;width:302px;margin-left:auto;margin-right:auto;overflow:hidden;height:460px;">  
1035 - <div class="modal-dialog modal-sm" role="document">  
1036 - <div class="modal-content">  
1037 - <div class="modal-header annotation-modal-header">  
1038 - <h4 class="modal-title" id="myModalLabel33">Edit Shape Style</h4>  
1039 - </div>  
1040 - <div class="modal-body">  
1041 - <div class="marginTopBtm10">  
1042 - <div class="well well-sm no-margin-btm">  
1043 - <div class="row">  
1044 - <div class="col-sm-12">  
1045 - <div class="checkbox no-margin">  
1046 - <label>  
1047 - <input id="fill-option" type="checkbox" checked onclick="enableDisableFillOption()"> Fill Option  
1048 - </label>  
1049 - </div> 1084 + </div>
  1085 + </div>
  1086 + <!--RESET PASSWORD FORM-->
  1087 + <div id="passwordReset" ng-show="isVisibleResetPass">
  1088 + <table width="500" border="0" align="center" cellpadding="0" cellspacing="0">
  1089 + <tbody>
  1090 + <tr>
  1091 + <td align="center" valign="middle" bgcolor="#393939 " style="padding:30px 0 20px 0;"><a href="#"><img src="../content/images/logo.png" alt="AIA" title="AIA" /></a></td>
  1092 + </tr>
  1093 + <tr>
  1094 + <td align="center" valign="top" bgcolor="#808d43" style="padding:20px; overflow:hidden;">
  1095 + <form name="resetPasswordForm" novalidate>
  1096 + <table width="100%" border="0" cellspacing="0" cellpadding="0" ng-controller="HomeController">
  1097 + <tbody>
  1098 +
  1099 + <tr>
  1100 + <td style=" font-size:26px; font-weight:bold; color:#fff; font-family:Gotham, 'Helvetica Neue', Helvetica, Arial, sans-serif"><strong>Reset Password</strong></td>
  1101 + </tr>
  1102 + <tr>
  1103 + <td>&nbsp;</td>
  1104 + </tr>
  1105 + <tr>
  1106 + <td style="font-family:Gotham, 'Helvetica Neue', Helvetica, Arial, sans-serif; color:#fff;">New Password </td>
  1107 + </tr>
  1108 + <tr>
  1109 + <td>
  1110 + <input class="form-control" name="newPassword" value="*****" type="password" style="padding:3px 5px; height:25px; width:98%;" ng-model="userInfo.newPassword" ng-minlength="5" required>
  1111 + <span style="color: maroon; font-weight:bold" ng-show="resetPasswordForm.newPassword.$touched && resetPasswordForm.newPassword.$invalid && resetPasswordForm.newPassword.$pristine">The password is required.</span>
  1112 + <p ng-show="resetPasswordForm.newPassword.$error.minlength" style="font-weight: bold; color: maroon;">Password is too short.</p>
  1113 + </td>
  1114 + </tr>
  1115 + <tr>
  1116 + <td>&nbsp;</td>
  1117 + </tr>
  1118 + <tr>
  1119 + <td style="font-family:Gotham, 'Helvetica Neue', Helvetica, Arial, sans-serif; color:#fff;">Confirm Password </td>
  1120 + </tr>
  1121 +
  1122 + <tr>
  1123 + <td>
  1124 + <input class="form-control" name="confirmPassword" value="*****" type="password" style="padding:3px 5px; height:25px; width:98%;" ng-model="userInfo.confirmPassword" required>
  1125 + <span style="color: maroon; font-weight: bold; " ng-show="resetPasswordForm.confirmPassword.$touched && resetPasswordForm.confirmPassword.$invalid">Confirm password is required.</span>
  1126 + <span style="color: maroon; font-weight: bold; " ng-if="errorMesaage">{{errorMesaage}}</span>
  1127 + </td>
  1128 + </tr>
  1129 + <tr>
  1130 + <td>&nbsp;</td>
  1131 + </tr>
  1132 + <tr>
  1133 + <td>
  1134 + <button type="submit" ng-click="ResetUserPassword(userInfo)" ng-submit="submitForm(resetPwdForm.$valid)" style=" color:#423030; background:#ff9900; border:1px solid #ff9900; cursor:pointer; color:#fff; padding:5px 10px; font-size:16px; text-transform:uppercase; text-align:center; text-decoration:none; font-family:gotham, 'Helvetica Neue' , helvetica, arial, sans-serif" id="btnUpdatePassword">Submit</button>
  1135 + <button type="submit" id="close-resetPasswordForm" ng-click="closeResetPasswordPopup()" style="color:#423030; background:#231f20; border:1px solid #231f20; cursor:pointer; color:#fff; padding:5px 10px; font-size:16px; text-transform:uppercase; text-align:center; text-decoration:none; font-family:Gotham, 'Helvetica Neue', Helvetica, Arial, sans-serif" data-dismiss="modal">Close</button>
  1136 + </td>
  1137 + </tr>
  1138 + </tbody>
  1139 + </table>
  1140 + </form>
  1141 + </tr>
  1142 +
  1143 +
  1144 + </tbody>
  1145 + </table>
  1146 + </div>
  1147 + <!--<div class="modal fade" id="editshapestyle" tabindex="-1" role="dialog" aria-labelledby="myModalLabel33" style="z-index:1000000000;width:302px;margin-left:auto;margin-right:auto;overflow:hidden;height:460px;">
  1148 + <div class="modal-dialog modal-sm" role="document">
  1149 + <div class="modal-content">
  1150 + <div class="modal-header annotation-modal-header">
  1151 + <h4 class="modal-title" id="myModalLabel33">Edit Shape Style</h4>
  1152 + </div>
  1153 + <div class="modal-body">
  1154 + <div class="marginTopBtm10">
  1155 + <div class="well well-sm no-margin-btm">
  1156 + <div class="row">
  1157 + <div class="col-sm-12">
  1158 + <div class="checkbox no-margin">
  1159 + <label>
  1160 + <input id="fill-option" type="checkbox" checked onclick="enableDisableFillOption()"> Fill Option
  1161 + </label>
1050 </div> 1162 </div>
1051 - <div class="col-sm-6 enableDisableOpacity">  
1052 - <div class="radio">  
1053 - <label>  
1054 - <input type="radio" name="filloption" id="filloption1" value="filloption1">  
1055 - <span class="">Texture</span>  
1056 - <img id="editstyleTexture" src="~/../content/images/common/annotation-tool-bar/pattern-picker.png" alt="" class="pattern-picker" data-toggle="modal" data-target="#pattern">  
1057 - </label>  
1058 - </div>  
1059 - <div class="radio">  
1060 - <label>  
1061 - <input type="radio" name="filloption" id="filloption2" value="filloption2" checked style="margin-top:8px;"> 1163 + </div>
  1164 + <div class="col-sm-6 enableDisableOpacity">
  1165 + <div class="radio">
  1166 + <label>
  1167 + <input type="radio" name="filloption" id="filloption1" value="filloption1">
  1168 + <span class="">Texture</span>
  1169 + <img id="editstyleTexture" src="~/../content/images/common/annotation-tool-bar/pattern-picker.png" alt="" class="pattern-picker" data-toggle="modal" data-target="#pattern">
  1170 + </label>
  1171 + </div>
  1172 + <div class="radio">
  1173 + <label>
  1174 + <input type="radio" name="filloption" id="filloption2" value="filloption2" checked style="margin-top:8px;">
1062 1175
1063 1176
1064 - <div id="editstylebackgroundcolor" class="form-group" style="display:inline-flex;vertical-align:top;cursor:pointer;margin-right:36px;">  
1065 - <span style="font-weight: normal; float: left; padding-top: 5px; padding-right: 5px;">Color</span>  
1066 - <input type="text" class="form-control outerBackgroundColor" data-control="saturation" style="display:none;" value="#0088cc">  
1067 - </div> 1177 + <div id="editstylebackgroundcolor" class="form-group" style="display:inline-flex;vertical-align:top;cursor:pointer;margin-right:36px;">
  1178 + <span style="font-weight: normal; float: left; padding-top: 5px; padding-right: 5px;">Color</span>
  1179 + <input type="text" class="form-control outerBackgroundColor" data-control="saturation" style="display:none;" value="#0088cc">
  1180 + </div>
1068 1181
1069 1182
1070 1183
1071 - </label>  
1072 - </div> 1184 + </label>
1073 </div> 1185 </div>
1074 - <div class="col-sm-6 no-padding marginTop10 enableDisableOpacity">  
1075 - <div class="row">  
1076 - <label class="pull-left" style="font-weight:normal;">Scale</label>  
1077 - <div id="edit-slider-3" class="pull-left" style="width:62%; margin-left:3%; margin-top:2%;">  
1078 - <div id="slider-range-min-3"></div> 1186 + </div>
  1187 + <div class="col-sm-6 no-padding marginTop10 enableDisableOpacity">
  1188 + <div class="row">
  1189 + <label class="pull-left" style="font-weight:normal;">Scale</label>
  1190 + <div id="edit-slider-3" class="pull-left" style="width:62%; margin-left:3%; margin-top:2%;">
  1191 + <div id="slider-range-min-3"></div>
1079 1192
1080 - </div>  
1081 </div> 1193 </div>
  1194 + </div>
1082 1195
1083 - <div class="row">  
1084 - <label class="pull-left" style="font-weight:normal;">Opacity</label>  
1085 - <div id="edit-slider-4" class="pull-left" style="width:53%; margin-left:3%; margin-top:2%;">  
1086 - <div id="slider-range-min-4"></div>  
1087 - </div> 1196 + <div class="row">
  1197 + <label class="pull-left" style="font-weight:normal;">Opacity</label>
  1198 + <div id="edit-slider-4" class="pull-left" style="width:53%; margin-left:3%; margin-top:2%;">
  1199 + <div id="slider-range-min-4"></div>
1088 </div> 1200 </div>
  1201 + </div>
1089 1202
1090 - <div class="clearfix"></div> 1203 + <div class="clearfix"></div>
1091 1204
1092 1205
1093 - </div>  
1094 </div> 1206 </div>
1095 -  
1096 </div> 1207 </div>
  1208 +
1097 </div> 1209 </div>
1098 - <div class="marginTopBtm10">  
1099 - <div class="well well-sm no-margin-btm">  
1100 - <div class="row">  
1101 - <div class="col-sm-12">  
1102 - <div class="checkbox no-margin">  
1103 - <label>  
1104 - <input id="Outline-Option" onclick="enableDisableOutline()" type="checkbox" checked> Outline Option  
1105 - </label>  
1106 - </div> 1210 + </div>
  1211 + <div class="marginTopBtm10">
  1212 + <div class="well well-sm no-margin-btm">
  1213 + <div class="row">
  1214 + <div class="col-sm-12">
  1215 + <div class="checkbox no-margin">
  1216 + <label>
  1217 + <input id="Outline-Option" onclick="enableDisableOutline()" type="checkbox" checked> Outline Option
  1218 + </label>
1107 </div> 1219 </div>
1108 - <div class="col-sm-6 setEnableDisableForEditShapeStyle">  
1109 - <label class="marginTop5">  
1110 - <span style="font-weight: normal; float: left; padding-top: 5px; padding-right: 5px;">Color</span>  
1111 - <div class="form-group" id="outlineColor" style="display:inline-flex;vertical-align:top;cursor:pointer;margin-right:36px;"> 1220 + </div>
  1221 + <div class="col-sm-6 setEnableDisableForEditShapeStyle">
  1222 + <label class="marginTop5">
  1223 + <span style="font-weight: normal; float: left; padding-top: 5px; padding-right: 5px;">Color</span>
  1224 + <div class="form-group" id="outlineColor" style="display:inline-flex;vertical-align:top;cursor:pointer;margin-right:36px;">
1112 1225
1113 - <input type="text" class="form-control borderColorCanvasPreview" data-control="saturation" style="display:none;" value="#0088cc">  
1114 - </div> 1226 + <input type="text" class="form-control borderColorCanvasPreview" data-control="saturation" style="display:none;" value="#0088cc">
  1227 + </div>
1115 1228
1116 1229
1117 - </label>  
1118 - </div> 1230 + </label>
  1231 + </div>
1119 1232
1120 - <div class="col-sm-6 setEnableDisableForEditShapeStyle">  
1121 - <div class="form-horizontal">  
1122 - <div class="form-group">  
1123 - <label class="col-sm-3 control-label" style=" font-weight:normal; padding-top:9px;">Size</label>  
1124 - <div class="col-sm-9 marginTop5">  
1125 - <select id="borderWidthCanvasElement" class="form-control input-sm">  
1126 - <option value="1">1</option>  
1127 - <option value="2">2</option>  
1128 - <option value="3">3</option>  
1129 - <option value="4">4</option>  
1130 - <option value="5">5</option>  
1131 - </select>  
1132 - </div> 1233 + <div class="col-sm-6 setEnableDisableForEditShapeStyle">
  1234 + <div class="form-horizontal">
  1235 + <div class="form-group">
  1236 + <label class="col-sm-3 control-label" style=" font-weight:normal; padding-top:9px;">Size</label>
  1237 + <div class="col-sm-9 marginTop5">
  1238 + <select id="borderWidthCanvasElement" class="form-control input-sm">
  1239 + <option value="1">1</option>
  1240 + <option value="2">2</option>
  1241 + <option value="3">3</option>
  1242 + <option value="4">4</option>
  1243 + <option value="5">5</option>
  1244 + </select>
1133 </div> 1245 </div>
1134 </div> 1246 </div>
1135 </div> 1247 </div>
1136 -  
1137 </div> 1248 </div>
1138 - </div>  
1139 - </div>  
1140 1249
1141 - <div class="marginTopBtm10">  
1142 - <div class="well well-sm no-margin-btm">  
1143 - <img id="imgOpacity" class="img-rounded img-responsive imgopacity" alt="..." src="content/images/blank-shape.jpg">  
1144 </div> 1250 </div>
1145 </div> 1251 </div>
1146 </div> 1252 </div>
1147 - <div class="modal-footer">  
1148 - <button type="button" class="btn btn-primary btn-sm" ng-click="setPropertiesForShapes('imgOpacity')">  
1149 1253
1150 - OK  
1151 - </button>  
1152 - <button type="button" class="btn btn-primary btn-sm" data-dismiss="modal" ng-click="disableAnnotationToolBar()">Cancel</button> 1254 + <div class="marginTopBtm10">
  1255 + <div class="well well-sm no-margin-btm">
  1256 + <img id="imgOpacity" class="img-rounded img-responsive imgopacity" alt="..." src="content/images/blank-shape.jpg">
  1257 + </div>
1153 </div> 1258 </div>
1154 </div> 1259 </div>
  1260 + <div class="modal-footer">
  1261 + <button type="button" class="btn btn-primary btn-sm" ng-click="setPropertiesForShapes('imgOpacity')">
  1262 +
  1263 + OK
  1264 + </button>
  1265 + <button type="button" class="btn btn-primary btn-sm" data-dismiss="modal" ng-click="disableAnnotationToolBar()">Cancel</button>
  1266 + </div>
1155 </div> 1267 </div>
1156 - </div>--> 1268 + </div>
  1269 + </div>-->
  1270 +
  1271 + <script>
  1272 +
  1273 + function enableDisableFillOption() {
  1274 + //debugger;
  1275 + if (document.getElementById('fill-option').checked) {
  1276 + // $('#imgOpacity').attr("background-color");
  1277 + //$('#imgOpacity').css({"background-color"})
  1278 + //$("#filloption1").css({ "pointer-events": "auto" });
  1279 + //$("#filloption12").css({ "pointer-events": "auto" });
  1280 +
  1281 + var x = $("#editstylebackgroundcolor span.minicolors-swatch-color").css('background-color');
  1282 + $("#imgOpacity").css("background-color", x);
  1283 + $("#edit-slider-3").css({ "pointer-events": "auto" });
  1284 + $("#edit-slider-4").css({ "pointer-events": "auto" });
  1285 + $("#editstylebackgroundcolor").css({ "pointer-events": "auto" });
  1286 + $("#editstyleTexture").css({ "pointer-events": "auto" });
  1287 + $(".enableDisableOpacity label").css({ "cursor": "pointer" });
  1288 + $(".enableDisableOpacity").css({ "opacity": "1" })
  1289 + document.getElementById("filloption1").disabled = false;
  1290 + document.getElementById("filloption2").disabled = false;
  1291 + document.getElementById("filloption1").style.cursor = "default";
  1292 + document.getElementById("filloption2").style.cursor = "default";
  1293 +
  1294 +
  1295 +
  1296 + }
  1297 + else {
  1298 + $('#imgOpacity').css("background-color", "transparent");
  1299 + //$("#filloption1").css({ "pointer-events": "none" });
  1300 + //$("#filloption2").css({ "pointer-events": "none" });
  1301 + $("#edit-slider-3").css({ "pointer-events": "none" });
  1302 + $("#edit-slider-4").css({ "pointer-events": "none" });
  1303 + $("#editstylebackgroundcolor").css({ "pointer-events": "none" });
  1304 + $("#editstyleTexture").css({ "pointer-events": "none" });
  1305 + $(".enableDisableOpacity label").css({ "cursor": "default" });
  1306 + $(".enableDisableOpacity").css({ "opacity": ".5" })
  1307 + document.getElementById("filloption1").disabled = true;
  1308 + document.getElementById("filloption2").disabled = true;
  1309 + document.getElementById("filloption1").style.cursor = "default";
  1310 + document.getElementById("filloption2").style.cursor = "default";
  1311 +
  1312 +
  1313 +
  1314 + }
1157 1315
1158 - <script> 1316 + }
  1317 + function enableDisableOutline() {
  1318 +
  1319 + if (document.getElementById('Outline-Option').checked) {
  1320 + var x = $("#outlineColor span.minicolors-swatch-color").css('background-color');
  1321 + $(".marginTopBtm10 div.outlinediv").css("border-color", x);
  1322 + // var borderWidth = $("#outlineColor span.minicolors-swatch-color").css('border-width');
  1323 + // $("#imgOpacity").css("border-width", borderWidth);
  1324 +
  1325 + $("#borderWidthCanvasElement").css({ "pointer-events": "auto" });
  1326 + $("#outlineColor").css({ "pointer-events": "auto" });
  1327 + $(".setEnableDisableForEditShapeStyle").css({ "opacity": "1" })
  1328 + }
  1329 + else {
  1330 + $('.marginTopBtm10 div.outlinediv').css("border-color", "transparent");
  1331 + $("#borderWidthCanvasElement").css({ "pointer-events": "none" });
  1332 + $("#outlineColor").css({ "pointer-events": "none" });
  1333 + $(".setEnableDisableForEditShapeStyle").css({ "opacity": ".5" })
  1334 + }
  1335 + }
1159 1336
1160 - function enableDisableFillOption() {  
1161 - //debugger;  
1162 - if (document.getElementById('fill-option').checked) {  
1163 - // $('#imgOpacity').attr("background-color");  
1164 - //$('#imgOpacity').css({"background-color"})  
1165 - //$("#filloption1").css({ "pointer-events": "auto" });  
1166 - //$("#filloption12").css({ "pointer-events": "auto" }); 1337 + </script>
1167 1338
1168 - var x = $("#editstylebackgroundcolor span.minicolors-swatch-color").css('background-color');  
1169 - $("#imgOpacity").css("background-color", x);  
1170 - $("#edit-slider-3").css({ "pointer-events": "auto" });  
1171 - $("#edit-slider-4").css({ "pointer-events": "auto" });  
1172 - $("#editstylebackgroundcolor").css({ "pointer-events": "auto" });  
1173 - $("#editstyleTexture").css({ "pointer-events": "auto" });  
1174 - $(".enableDisableOpacity label").css({ "cursor": "pointer" });  
1175 - $(".enableDisableOpacity").css({ "opacity": "1" })  
1176 - document.getElementById("filloption1").disabled = false;  
1177 - document.getElementById("filloption2").disabled = false;  
1178 - document.getElementById("filloption1").style.cursor = "default";  
1179 - document.getElementById("filloption2").style.cursor = "default"; 1339 + <script>
  1340 + function Brushsize(object) {
1180 1341
  1342 + object.value = object.value.replace(/[^0-9]/g, '');
  1343 + if (parseInt(object.value) <= 0) {
  1344 + object.value = 1;
  1345 + }
  1346 + if (parseInt(object.value) >= 1 && parseInt(object.value) <= 60) {
  1347 + object.value = object.value;
  1348 + }
  1349 + if (parseInt(object.value) > 60) {
  1350 + object.value = object.value.slice(0, 1);
1181 1351
  1352 + }
1182 1353
1183 - }  
1184 - else {  
1185 - $('#imgOpacity').css("background-color", "transparent");  
1186 - //$("#filloption1").css({ "pointer-events": "none" });  
1187 - //$("#filloption2").css({ "pointer-events": "none" });  
1188 - $("#edit-slider-3").css({ "pointer-events": "none" });  
1189 - $("#edit-slider-4").css({ "pointer-events": "none" });  
1190 - $("#editstylebackgroundcolor").css({ "pointer-events": "none" });  
1191 - $("#editstyleTexture").css({ "pointer-events": "none" });  
1192 - $(".enableDisableOpacity label").css({ "cursor": "default" });  
1193 - $(".enableDisableOpacity").css({ "opacity": ".5" })  
1194 - document.getElementById("filloption1").disabled = true;  
1195 - document.getElementById("filloption2").disabled = true;  
1196 - document.getElementById("filloption1").style.cursor = "default";  
1197 - document.getElementById("filloption2").style.cursor = "default"; 1354 + }
  1355 + </script>
  1356 +
  1357 +
  1358 + <!--<script src="libs/jquery/1.11.3/jquery.min.js"></script>-->
  1359 + <script src="libs/jquery/2.1.3/jquery.min.js"></script>
  1360 + <script src="libs/jquery/1.11.4/jquery-ui.js"></script>
  1361 + <script src="libs/jquery/jquery_plugin/jquery.mCustomScrollbar.concat.min.js"></script>
  1362 + <script src="themes/default/scripts/bootstrap/3.3.5/bootstrap.js"></script>
  1363 + <script src="libs/angular/1.4.9/angular.min.js"></script>
  1364 + <script src="libs/angular/1.4.9/angular-route.min.js"></script>
  1365 + <script src="libs/angular/1.4.9/angular-sanitize.min.js"></script>
  1366 + <script src="libs/angular/1.4.9/ngStorage.js"></script>
  1367 + <script src="content/js/custom/custom.js"></script>
  1368 + <!--Annotation Toolbar : jcanvas Library-->
  1369 +
  1370 + <script src="libs/jcanvas/jcanvas.min.js"></script>
  1371 + <script src="libs/jcanvas/jcanvas.handle.min.js"></script>
  1372 +
  1373 + <script src="libs/jinqJs.js"></script>
  1374 + <script src="libs/jquery/jquery_plugin/jsPanel/jspanel/jquery.jspanel.js"></script>
  1375 + <script src="libs/video_4_12_11/video_4_12_11.js"></script>
  1376 + <script src="libs/jquery/jquery_plugin/SpeechBubble/bubble.js"></script>
  1377 + <script src="libs/jquery/jquery_plugin/slider-pips/jquery-ui-slider-pips.js"></script>
  1378 + <!--<script src="libs/jquery/jquery_plugin/jsPanel/jspanel/jquery.jspanel.min.js"></script>-->
  1379 + <script src="app/main/AIA.js"></script>
  1380 + <script src="app/main/Link.js"></script>
  1381 + <script src="content/scripts/js/custom/custom.js"></script>
  1382 + <script src="app/filters/ColorMatrixFilter.js"></script>
  1383 + <script src="app/utility/Matrix.js"></script>
  1384 + <script src="app/utility/Point.js"></script>
  1385 + <script src="app/utility/Rectangle.js"></script>
  1386 + <script src="app/utility/BitmapData.js"></script>
  1387 + <script src="app/utility/Paint.js"></script>
  1388 + <script src="app/controllers/DAController.js"></script>
  1389 + <script src="app/controllers/CIController.js"></script>
  1390 + <script src="app/controllers/CAController.js"></script>
  1391 + <script src="app/controllers/3dAController.js"></script>
  1392 + <script src="app/controllers/CurrBuildController.js"></script>
  1393 + <script src="app/controllers/AnatTestController.js"></script>
  1394 + <script src="app/controllers/LabExercController.js"></script>
  1395 + <script src="app/controllers/ADAMImgController.js"></script>
  1396 + <script src="app/controllers/AODController.js"></script>
  1397 + <script src="app/controllers/HomeController.js"></script>
  1398 + <script src="app/controllers/LinkController.js"></script>
  1399 + <script src="app/services/AuthenticationService.js"></script>
  1400 +
  1401 + <script src="app/services/DataService.js"></script>
  1402 + <script src="libs/jquery/jquery_plugin/jqueryui.js"></script>
  1403 +
  1404 + <script src="libs/jquery/jquery_plugin/color-picker/jquery.minicolors.min.js"></script>
  1405 + <!--<script src="libs/colorpicker/jquery.minicolors.min.js"></script>-->
  1406 + <!--<script src="libs/color-picker/jquery.minicolors.min.js"></script>-->
  1407 +
  1408 + <script src="libs/sketch.js"></script>
  1409 +
  1410 + <!--<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.js"></script>-->
  1411 + <script src="libs/html2canvas.js"></script>
  1412 + <script src="libs/FileSaver.js"></script>
  1413 + <!--<script type="text/javascript">
  1414 + $(function () {
  1415 + $('#canvas').sketch();
  1416 + });
  1417 + </script>-->
  1418 + <script>
  1419 + $(function () {
  1420 + $("#slider-range-min-2").slider({
  1421 + range: "min",
  1422 + min: 1,
  1423 + max: 60,
  1424 + value: 1,
  1425 + slide: function (event, ui) {
  1426 +
  1427 + $("#btnBrushSize").val(ui.value);
  1428 +
  1429 + },
  1430 + stop: function (event, ui) {
  1431 +
  1432 + $("#paintLine").attr("data-size", ui.value);
1198 1433
  1434 + }
1199 1435
  1436 + });
1200 1437
1201 - }  
1202 1438
  1439 + $("#btnBrushSize").keydown(function () {
  1440 + var brushSizevalue = this.value;
  1441 + $("#slider-range-min-2").slider("value", parseInt(brushSizevalue));
  1442 + });
  1443 + $("#btnBrushSize").keyup(function () {
  1444 + var brushSizevalue = this.value;
  1445 + $("#slider-range-min-2").slider("value", parseInt(brushSizevalue));
  1446 + });
  1447 + $("#btnBrushSizeIncrement").click(function () {
  1448 + var brushIncrementVar = $("#btnBrushSize").val();
  1449 + if (brushIncrementVar >= 60) {
  1450 + $("#slider-range-min-2").slider("value", 60);
1203 } 1451 }
1204 - function enableDisableOutline() {  
1205 -  
1206 - if (document.getElementById('Outline-Option').checked) {  
1207 - var x = $("#outlineColor span.minicolors-swatch-color").css('background-color');  
1208 - $(".marginTopBtm10 div.outlinediv").css("border-color", x);  
1209 - // var borderWidth = $("#outlineColor span.minicolors-swatch-color").css('border-width');  
1210 - // $("#imgOpacity").css("border-width", borderWidth);  
1211 -  
1212 - $("#borderWidthCanvasElement").css({ "pointer-events": "auto" });  
1213 - $("#outlineColor").css({ "pointer-events": "auto" });  
1214 - $(".setEnableDisableForEditShapeStyle").css({ "opacity": "1" })  
1215 - }  
1216 - else {  
1217 - $('.marginTopBtm10 div.outlinediv').css("border-color", "transparent");  
1218 - $("#borderWidthCanvasElement").css({ "pointer-events": "none" });  
1219 - $("#outlineColor").css({ "pointer-events": "none" });  
1220 - $(".setEnableDisableForEditShapeStyle").css({ "opacity": ".5" })  
1221 - } 1452 + else if (brushIncrementVar == "") {
  1453 + var brushIncrementedValue = 1;
  1454 + $("#btnBrushSize").val(brushIncrementedValue);
  1455 + $("#slider-range-min-2").slider("value", parseInt(brushIncrementedValue));
1222 } 1456 }
1223 -  
1224 - </script>  
1225 -  
1226 - <script>  
1227 - function Brushsize(object) {  
1228 -  
1229 - object.value = object.value.replace(/[^0-9]/g, '');  
1230 - if (parseInt(object.value) <= 0) {  
1231 - object.value = 1;  
1232 - }  
1233 - if (parseInt(object.value) >= 1 && parseInt(object.value) <= 60) {  
1234 - object.value = object.value;  
1235 - }  
1236 - if (parseInt(object.value) > 60) {  
1237 - object.value = object.value.slice(0, 1);  
1238 -  
1239 - }  
1240 - 1457 + else {
  1458 + var brushIncrementedValue = parseInt(brushIncrementVar) + 1;
  1459 + $("#btnBrushSize").val(brushIncrementedValue);
  1460 + $("#slider-range-min-2").slider("value", parseInt(brushIncrementedValue));
1241 } 1461 }
1242 - </script>  
1243 -  
1244 -  
1245 - <!--<script src="libs/jquery/1.11.3/jquery.min.js"></script>-->  
1246 - <script src="libs/jquery/2.1.3/jquery.min.js"></script>  
1247 - <script src="libs/jquery/1.11.4/jquery-ui.js"></script>  
1248 - <script src="libs/jquery/jquery_plugin/jquery.mCustomScrollbar.concat.min.js"></script>  
1249 - <script src="themes/default/scripts/bootstrap/3.3.5/bootstrap.js"></script>  
1250 - <script src="libs/angular/1.4.9/angular.min.js"></script>  
1251 - <script src="libs/angular/1.4.9/angular-route.min.js"></script>  
1252 - <script src="libs/angular/1.4.9/angular-sanitize.min.js"></script>  
1253 - <script src="libs/angular/1.4.9/ngStorage.js"></script>  
1254 - <script src="content/js/custom/custom.js"></script>  
1255 - <!--Annotation Toolbar : jcanvas Library-->  
1256 -  
1257 - <script src="libs/jcanvas/jcanvas.min.js"></script>  
1258 - <script src="libs/jcanvas/jcanvas.handle.min.js"></script>  
1259 -  
1260 - <script src="libs/jinqJs.js"></script>  
1261 - <script src="libs/jquery/jquery_plugin/jsPanel/jspanel/jquery.jspanel.js"></script>  
1262 - <script src="libs/video_4_12_11/video_4_12_11.js"></script>  
1263 - <script src="libs/jquery/jquery_plugin/SpeechBubble/bubble.js"></script>  
1264 - <script src="libs/jquery/jquery_plugin/slider-pips/jquery-ui-slider-pips.js"></script>  
1265 - <!--<script src="libs/jquery/jquery_plugin/jsPanel/jspanel/jquery.jspanel.min.js"></script>-->  
1266 - <script src="app/main/AIA.js"></script>  
1267 - <script src="app/main/Link.js"></script>  
1268 - <script src="content/scripts/js/custom/custom.js"></script>  
1269 - <script src="app/filters/ColorMatrixFilter.js"></script>  
1270 - <script src="app/utility/Matrix.js"></script>  
1271 - <script src="app/utility/Point.js"></script>  
1272 - <script src="app/utility/Rectangle.js"></script>  
1273 - <script src="app/utility/BitmapData.js"></script>  
1274 - <script src="app/utility/Paint.js"></script>  
1275 - <script src="app/controllers/DAController.js"></script>  
1276 - <script src="app/controllers/CIController.js"></script>  
1277 - <script src="app/controllers/CAController.js"></script>  
1278 - <script src="app/controllers/3dAController.js"></script>  
1279 - <script src="app/controllers/CurrBuildController.js"></script>  
1280 - <script src="app/controllers/AnatTestController.js"></script>  
1281 - <script src="app/controllers/LabExercController.js"></script>  
1282 - <script src="app/controllers/ADAMImgController.js"></script>  
1283 - <script src="app/controllers/AODController.js"></script>  
1284 - <script src="app/controllers/HomeController.js"></script>  
1285 - <script src="app/controllers/LinkController.js"></script>  
1286 - <script src="app/services/AuthenticationService.js"></script>  
1287 -  
1288 - <script src="app/services/DataService.js"></script>  
1289 - <script src="libs/jquery/jquery_plugin/jqueryui.js"></script>  
1290 -  
1291 - <script src="libs/jquery/jquery_plugin/color-picker/jquery.minicolors.min.js"></script>  
1292 - <!--<script src="libs/colorpicker/jquery.minicolors.min.js"></script>-->  
1293 - <!--<script src="libs/color-picker/jquery.minicolors.min.js"></script>-->  
1294 -  
1295 - <script src="libs/sketch.js"></script>  
1296 -  
1297 - <!--<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.js"></script>-->  
1298 - <script src="libs/html2canvas.js"></script>  
1299 - <script src="libs/FileSaver.js"></script>  
1300 - <!--<script type="text/javascript">  
1301 - $(function () {  
1302 - $('#canvas').sketch();  
1303 }); 1462 });
1304 - </script>-->  
1305 - <script>  
1306 - $(function () {  
1307 - $("#slider-range-min-2").slider({  
1308 - range: "min",  
1309 - min: 1,  
1310 - max: 60,  
1311 - value: 1,  
1312 - slide: function (event, ui) {  
1313 -  
1314 - $("#btnBrushSize").val(ui.value);  
1315 -  
1316 - },  
1317 - stop: function (event, ui) {  
1318 -  
1319 - $("#paintLine").attr("data-size", ui.value);  
1320 -  
1321 - }  
1322 -  
1323 - });  
1324 -  
1325 -  
1326 - $("#btnBrushSize").keydown(function () {  
1327 - var brushSizevalue = this.value;  
1328 - $("#slider-range-min-2").slider("value", parseInt(brushSizevalue));  
1329 - });  
1330 - $("#btnBrushSize").keyup(function () {  
1331 - var brushSizevalue = this.value;  
1332 - $("#slider-range-min-2").slider("value", parseInt(brushSizevalue));  
1333 - });  
1334 - $("#btnBrushSizeIncrement").click(function () {  
1335 - var brushIncrementVar = $("#btnBrushSize").val();  
1336 - if (brushIncrementVar >= 60) {  
1337 - $("#slider-range-min-2").slider("value", 60);  
1338 - }  
1339 - else if (brushIncrementVar == "") {  
1340 - var brushIncrementedValue = 1;  
1341 - $("#btnBrushSize").val(brushIncrementedValue);  
1342 - $("#slider-range-min-2").slider("value", parseInt(brushIncrementedValue));  
1343 - }  
1344 - else {  
1345 - var brushIncrementedValue = parseInt(brushIncrementVar) + 1;  
1346 - $("#btnBrushSize").val(brushIncrementedValue);  
1347 - $("#slider-range-min-2").slider("value", parseInt(brushIncrementedValue));  
1348 - }  
1349 - });  
1350 - $("#btnBrushSizeDecrease").click(function () {  
1351 - var brushDecreaseVar = $("#btnBrushSize").val();  
1352 - if (brushDecreaseVar == "") {  
1353 - var brushDecrementedValue = 1;  
1354 - $("#btnBrushSize").val(brushDecrementedValue);  
1355 - $("#slider-range-min-2").slider("value", parseInt(brushDecrementedValue));  
1356 - }  
1357 - else if (brushDecreaseVar <= 1) {  
1358 - $("#slider-range-min-2").slider("value", 1);  
1359 - }  
1360 - else {  
1361 - var brushDecrementedValue = parseInt(brushDecreaseVar) - 1;  
1362 - $("#btnBrushSize").val(brushDecrementedValue);  
1363 - $("#slider-range-min-2").slider("value", parseInt(brushDecrementedValue));  
1364 - }  
1365 - });  
1366 - $("#btnBrushSize").val($("#slider-range-min-2").slider("value")); 1463 + $("#btnBrushSizeDecrease").click(function () {
  1464 + var brushDecreaseVar = $("#btnBrushSize").val();
  1465 + if (brushDecreaseVar == "") {
  1466 + var brushDecrementedValue = 1;
  1467 + $("#btnBrushSize").val(brushDecrementedValue);
  1468 + $("#slider-range-min-2").slider("value", parseInt(brushDecrementedValue));
  1469 + }
  1470 + else if (brushDecreaseVar <= 1) {
  1471 + $("#slider-range-min-2").slider("value", 1);
  1472 + }
  1473 + else {
  1474 + var brushDecrementedValue = parseInt(brushDecreaseVar) - 1;
  1475 + $("#btnBrushSize").val(brushDecrementedValue);
  1476 + $("#slider-range-min-2").slider("value", parseInt(brushDecrementedValue));
  1477 + }
  1478 + });
  1479 + $("#btnBrushSize").val($("#slider-range-min-2").slider("value"));
1367 1480
1368 1481
1369 1482
1370 1483
1371 1484
1372 - //$("#slider-range-min-2").on("slidestart", function (event, ui) { 1485 + //$("#slider-range-min-2").on("slidestart", function (event, ui) {
1373 1486
1374 - // $('.btnCursor').trigger('click');  
1375 - // $(".btn-annotation").removeClass("activebtncolor");  
1376 - // $('.btnCursor').addClass('activebtncolor');  
1377 - // // ctx.clearRect(0, 0, canvasPaint.width, canvasPaint.height); 1487 + // $('.btnCursor').trigger('click');
  1488 + // $(".btn-annotation").removeClass("activebtncolor");
  1489 + // $('.btnCursor').addClass('activebtncolor');
  1490 + // // ctx.clearRect(0, 0, canvasPaint.width, canvasPaint.height);
1378 1491
1379 1492
1380 - //});  
1381 - // $("#slider-range-min-2").on("slidechange", function (event, ui) { alert("ssasa"); }); 1493 + //});
  1494 + // $("#slider-range-min-2").on("slidechange", function (event, ui) { alert("ssasa"); });
1382 1495
1383 1496
1384 - $(function () {  
1385 - $('[data-toggle="tooltip"]').tooltip();  
1386 - })  
1387 - });  
1388 - </script>  
1389 - <script>  
1390 - (function ($) {  
1391 - $(window).load(function () {  
1392 - $(".sidebar").mCustomScrollbar({  
1393 - autoHideScrollbar: true,  
1394 - //theme:"rounded"  
1395 - });  
1396 -  
1397 - });  
1398 - })(jQuery);  
1399 - </script>  
1400 - <script>  
1401 - $(function () {  
1402 - $(".modal").draggable();  
1403 - $(".annotationTollbar").draggable();  
1404 - $(".modeleditstyle").draggable();  
1405 - $("#annotationTextModal").draggable();  
1406 - $("#modal-settings").draggable(); 1497 + $(function () {
  1498 + $('[data-toggle="tooltip"]').tooltip();
  1499 + })
  1500 + });
  1501 + </script>
  1502 + <script>
  1503 + (function ($) {
  1504 + $(window).load(function () {
  1505 + $(".sidebar").mCustomScrollbar({
  1506 + autoHideScrollbar: true,
  1507 + //theme:"rounded"
1407 }); 1508 });
1408 - </script>  
1409 -  
1410 -  
1411 1509
  1510 + });
  1511 + })(jQuery);
  1512 + </script>
  1513 + <script>
  1514 + $(function () {
  1515 + $(".modal").draggable();
  1516 + $(".annotationTollbar").draggable();
  1517 + $(".modeleditstyle").draggable();
  1518 + $("#annotationTextModal").draggable();
  1519 + $("#modal-settings").draggable();
  1520 + });
  1521 + </script>
1412 1522
1413 - <script type="text/javascript">  
1414 - $(function () {  
1415 -  
1416 - $("#text-left").on('click', function () {  
1417 1523
1418 - //Annotation: Formatting buttons color is not change when select.  
1419 1524
1420 - $("#text-center").removeClass("ActiveFormattingButtonClass");  
1421 - $("#text-right").removeClass("ActiveFormattingButtonClass");  
1422 - $("#text-left").addClass("ActiveFormattingButtonClass");  
1423 - $("#text_area").css("text-align", "left");  
1424 1525
  1526 + <script type="text/javascript">
  1527 + $(function () {
1425 1528
1426 - }); 1529 + $("#text-left").on('click', function () {
1427 1530
  1531 + //Annotation: Formatting buttons color is not change when select.
1428 1532
1429 - $("#text-center").on('click', function () { 1533 + $("#text-center").removeClass("ActiveFormattingButtonClass");
  1534 + $("#text-right").removeClass("ActiveFormattingButtonClass");
  1535 + $("#text-left").addClass("ActiveFormattingButtonClass");
  1536 + $("#text_area").css("text-align", "left");
1430 1537
1431 - //Annotation: Formatting buttons color is not change when select.  
1432 1538
1433 - $("#text-right").removeClass("ActiveFormattingButtonClass");  
1434 - $("#text-left").removeClass("ActiveFormattingButtonClass");  
1435 - $("#text-center").addClass("ActiveFormattingButtonClass");  
1436 - $("#text_area").css("text-align", "center"); 1539 + });
1437 1540
1438 1541
1439 - }); 1542 + $("#text-center").on('click', function () {
1440 1543
  1544 + //Annotation: Formatting buttons color is not change when select.
1441 1545
1442 - $("#text-right").on('click', function () { 1546 + $("#text-right").removeClass("ActiveFormattingButtonClass");
  1547 + $("#text-left").removeClass("ActiveFormattingButtonClass");
  1548 + $("#text-center").addClass("ActiveFormattingButtonClass");
  1549 + $("#text_area").css("text-align", "center");
1443 1550
1444 - //Annotation: Formatting buttons color is not change when select.  
1445 1551
1446 - $("#text-left").removeClass("ActiveFormattingButtonClass");  
1447 - $("#text-center").removeClass("ActiveFormattingButtonClass");  
1448 - $("#text-right").addClass("ActiveFormattingButtonClass");  
1449 - $("#text_area").css("text-align", "right");  
1450 - }); 1552 + });
1451 1553
1452 1554
1453 - $("#text-bold").on('click', function () { 1555 + $("#text-right").on('click', function () {
1454 1556
1455 - //Annotation: Formatting buttons color is not change when select.  
1456 - $("#text-bold").toggleClass("ActiveFormattingButtonClass"); 1557 + //Annotation: Formatting buttons color is not change when select.
1457 1558
1458 - if ($("#text-bold").hasClass("ActiveFormattingButtonClass")) {  
1459 - $("#text_area").css("font-weight", "bold");  
1460 - }  
1461 - else {  
1462 - $("#text_area").css("font-weight", "normal");  
1463 - } 1559 + $("#text-left").removeClass("ActiveFormattingButtonClass");
  1560 + $("#text-center").removeClass("ActiveFormattingButtonClass");
  1561 + $("#text-right").addClass("ActiveFormattingButtonClass");
  1562 + $("#text_area").css("text-align", "right");
  1563 + });
1464 1564
1465 1565
1466 - }); 1566 + $("#text-bold").on('click', function () {
1467 1567
1468 - $("#text-italic").on('click', function () { 1568 + //Annotation: Formatting buttons color is not change when select.
  1569 + $("#text-bold").toggleClass("ActiveFormattingButtonClass");
1469 1570
1470 - //Annotation: Formatting buttons color is not change when select.  
1471 - $("#text-italic").toggleClass("ActiveFormattingButtonClass");  
1472 - if ($("#text-italic").hasClass("ActiveFormattingButtonClass")) {  
1473 - $("#text_area").css("font-style", "italic");  
1474 - }  
1475 - else {  
1476 - $("#text_area").css("font-style", "normal");  
1477 - } 1571 + if ($("#text-bold").hasClass("ActiveFormattingButtonClass")) {
  1572 + $("#text_area").css("font-weight", "bold");
  1573 + }
  1574 + else {
  1575 + $("#text_area").css("font-weight", "normal");
  1576 + }
1478 1577
1479 1578
1480 - }); 1579 + });
1481 1580
1482 - $("#text-underline").on('click', function () { 1581 + $("#text-italic").on('click', function () {
1483 1582
1484 - //Annotation: Formatting buttons color is not change when select.  
1485 - $("#text-underline").toggleClass("ActiveFormattingButtonClass"); 1583 + //Annotation: Formatting buttons color is not change when select.
  1584 + $("#text-italic").toggleClass("ActiveFormattingButtonClass");
  1585 + if ($("#text-italic").hasClass("ActiveFormattingButtonClass")) {
  1586 + $("#text_area").css("font-style", "italic");
  1587 + }
  1588 + else {
  1589 + $("#text_area").css("font-style", "normal");
  1590 + }
1486 1591
1487 - if ($("#text-underline").hasClass("ActiveFormattingButtonClass")) {  
1488 - $("#text_area").css("text-decoration", "underline");  
1489 - }  
1490 - else {  
1491 - $("#text_area").css("text-decoration", "none");  
1492 - }  
1493 1592
  1593 + });
1494 1594
1495 - }); 1595 + $("#text-underline").on('click', function () {
1496 1596
  1597 + //Annotation: Formatting buttons color is not change when select.
  1598 + $("#text-underline").toggleClass("ActiveFormattingButtonClass");
1497 1599
1498 - $("#selected-font-size").change(function () { 1600 + if ($("#text-underline").hasClass("ActiveFormattingButtonClass")) {
  1601 + $("#text_area").css("text-decoration", "underline");
  1602 + }
  1603 + else {
  1604 + $("#text_area").css("text-decoration", "none");
  1605 + }
1499 1606
1500 - $("#text_area").css("font-size", $(this).val() + "px");  
1501 - });  
1502 1607
1503 - $("#selected-font-family").change(function () { 1608 + });
1504 1609
1505 - $("#text_area").css("font-family", $(this).val());  
1506 1610
1507 - }); 1611 + $("#selected-font-size").change(function () {
1508 1612
  1613 + $("#text_area").css("font-size", $(this).val() + "px");
  1614 + });
1509 1615
1510 - }); 1616 + $("#selected-font-family").change(function () {
1511 1617
  1618 + $("#text_area").css("font-family", $(this).val());
1512 1619
  1620 + });
1513 1621
1514 - </script>  
1515 1622
  1623 + });
1516 1624
1517 - <script>  
1518 - $(document).ready(function () {  
1519 - // $("#font-color .minicolors .minicolors-swatch .minicolors-swatch-color").addClass("ActiveDefaultColorAnnotation");  
1520 -  
1521 - var borderWidth = 1;  
1522 - var borderColor = "#000";  
1523 - $("#borderWidthCanvasElement").change(function () {  
1524 - borderWidth = $(this).val();  
1525 - borderColor = $('#outlineColor .minicolors >.minicolors-swatch > .minicolors-swatch-color').css("background-color");  
1526 1625
1527 - if (borderColor != null) {  
1528 - document.getElementById("imgOpacity").parentNode.style.border = borderWidth + "px" + " " + "solid" + " " + borderColor;  
1529 - //$("#imgOpacity").parent().css("border", borderWidth + "px" + " " + "solid" + borderColor);  
1530 - } else {  
1531 1626
1532 - // $("#imgOpacity").parent().css("border", borderWidth + "px" + " " + "solid");  
1533 - document.getElementById("imgOpacity").parentNode.style.border = borderWidth + "px" + " " + "solid" + " " + borderColor; 1627 + </script>
1534 1628
1535 - }  
1536 - });  
1537 1629
  1630 + <script>
  1631 + $(document).ready(function () {
  1632 + // $("#font-color .minicolors .minicolors-swatch .minicolors-swatch-color").addClass("ActiveDefaultColorAnnotation");
1538 1633
  1634 + var borderWidth = 1;
  1635 + var borderColor = "#000";
  1636 + $("#borderWidthCanvasElement").change(function () {
  1637 + borderWidth = $(this).val();
  1638 + borderColor = $('#outlineColor .minicolors >.minicolors-swatch > .minicolors-swatch-color').css("background-color");
1539 1639
1540 - $('.borderColorCanvasPreview').each(function () {  
1541 - // $("#font-color .minicolors .minicolors-swatch .minicolors-swatch-color").addClass("ActiveDefaultColorAnnotation");  
1542 - $(this).minicolors({  
1543 - control: $(this).attr('data-control') || 'hue',  
1544 - defaultValue: $(this).attr('data-defaultValue') || '',  
1545 - format: $(this).attr('data-format') || 'hex',  
1546 - keywords: $(this).attr('data-keywords') || '',  
1547 - inline: $(this).attr('data-inline') === 'true',  
1548 - letterCase: $(this).attr('data-letterCase') || 'lowercase',  
1549 - opacity: $(this).attr('data-opacity'),  
1550 - position: $(this).attr('data-position') || 'bottom left',  
1551 - swatches: $(this).attr('data-swatches') ? $(this).attr('data-swatches').split('|') : [],  
1552 - change: function (value, opacity) {  
1553 - if (!value) return;  
1554 - if (opacity) value += ', ' + opacity;  
1555 - if (typeof console === 'object') {  
1556 - console.log(value); 1640 + if (borderColor != null) {
  1641 + document.getElementById("imgOpacity").parentNode.style.border = borderWidth + "px" + " " + "solid" + " " + borderColor;
  1642 + //$("#imgOpacity").parent().css("border", borderWidth + "px" + " " + "solid" + borderColor);
  1643 + } else {
1557 1644
1558 - borderColor = value;  
1559 - //$("#imgOpacity").parent().css("border", borderWidth + "px" + " " + "solid" + borderColor);  
1560 - document.getElementById("imgOpacity").parentNode.style.border = borderWidth + "px" + " " + "solid" + " " + borderColor; 1645 + // $("#imgOpacity").parent().css("border", borderWidth + "px" + " " + "solid");
  1646 + document.getElementById("imgOpacity").parentNode.style.border = borderWidth + "px" + " " + "solid" + " " + borderColor;
1561 1647
  1648 + }
  1649 + });
1562 1650
1563 - }  
1564 - },  
1565 - theme: 'bootstrap'  
1566 - });  
1567 1651
1568 1652
1569 - }); 1653 + $('.borderColorCanvasPreview').each(function () {
  1654 + // $("#font-color .minicolors .minicolors-swatch .minicolors-swatch-color").addClass("ActiveDefaultColorAnnotation");
  1655 + $(this).minicolors({
  1656 + control: $(this).attr('data-control') || 'hue',
  1657 + defaultValue: $(this).attr('data-defaultValue') || '',
  1658 + format: $(this).attr('data-format') || 'hex',
  1659 + keywords: $(this).attr('data-keywords') || '',
  1660 + inline: $(this).attr('data-inline') === 'true',
  1661 + letterCase: $(this).attr('data-letterCase') || 'lowercase',
  1662 + opacity: $(this).attr('data-opacity'),
  1663 + position: $(this).attr('data-position') || 'bottom left',
  1664 + swatches: $(this).attr('data-swatches') ? $(this).attr('data-swatches').split('|') : [],
  1665 + change: function (value, opacity) {
  1666 + if (!value) return;
  1667 + if (opacity) value += ', ' + opacity;
  1668 + if (typeof console === 'object') {
  1669 + console.log(value);
  1670 +
  1671 + borderColor = value;
  1672 + //$("#imgOpacity").parent().css("border", borderWidth + "px" + " " + "solid" + borderColor);
  1673 + document.getElementById("imgOpacity").parentNode.style.border = borderWidth + "px" + " " + "solid" + " " + borderColor;
1570 1674
1571 1675
1572 - $('.outerBackgroundColor').each(function () { 1676 + }
  1677 + },
  1678 + theme: 'bootstrap'
  1679 + });
1573 1680
1574 - $(this).minicolors({  
1575 - control: $(this).attr('data-control') || 'hue',  
1576 - defaultValue: $(this).attr('data-defaultValue') || '',  
1577 - format: $(this).attr('data-format') || 'hex',  
1578 - keywords: $(this).attr('data-keywords') || '',  
1579 - inline: $(this).attr('data-inline') === 'true',  
1580 - letterCase: $(this).attr('data-letterCase') || 'lowercase',  
1581 - opacity: $(this).attr('data-opacity'),  
1582 - position: $(this).attr('data-position') || 'bottom left',  
1583 - swatches: $(this).attr('data-swatches') ? $(this).attr('data-swatches').split('|') : [],  
1584 - change: function (value, opacity) {  
1585 - if (!value) return;  
1586 - if (opacity) value += ', ' + opacity;  
1587 - if (typeof console === 'object') {  
1588 - console.log(value);  
1589 - $("#imgOpacity").css("background-color", value);  
1590 1681
1591 - }  
1592 - },  
1593 - theme: 'bootstrap'  
1594 - }); 1682 + });
1595 1683
1596 - });  
1597 1684
  1685 + $('.outerBackgroundColor').each(function () {
  1686 +
  1687 + $(this).minicolors({
  1688 + control: $(this).attr('data-control') || 'hue',
  1689 + defaultValue: $(this).attr('data-defaultValue') || '',
  1690 + format: $(this).attr('data-format') || 'hex',
  1691 + keywords: $(this).attr('data-keywords') || '',
  1692 + inline: $(this).attr('data-inline') === 'true',
  1693 + letterCase: $(this).attr('data-letterCase') || 'lowercase',
  1694 + opacity: $(this).attr('data-opacity'),
  1695 + position: $(this).attr('data-position') || 'bottom left',
  1696 + swatches: $(this).attr('data-swatches') ? $(this).attr('data-swatches').split('|') : [],
  1697 + change: function (value, opacity) {
  1698 + if (!value) return;
  1699 + if (opacity) value += ', ' + opacity;
  1700 + if (typeof console === 'object') {
  1701 + console.log(value);
  1702 + $("#imgOpacity").css("background-color", value);
1598 1703
  1704 + }
  1705 + },
  1706 + theme: 'bootstrap'
1599 }); 1707 });
1600 - </script>  
1601 1708
1602 - <script>  
1603 - $(function () {  
1604 - $("#slider-range-min-3").slider({  
1605 - range: "min",  
1606 - min: 0,  
1607 - max: 100,  
1608 - value: 20,  
1609 - change: function (event, ui) { 1709 + });
1610 1710
1611 1711
1612 - }  
1613 - }); 1712 + });
  1713 + </script>
1614 1714
  1715 + <script>
  1716 + $(function () {
  1717 + $("#slider-range-min-3").slider({
  1718 + range: "min",
  1719 + min: 0,
  1720 + max: 100,
  1721 + value: 20,
  1722 + change: function (event, ui) {
1615 1723
1616 1724
1617 - });  
1618 - </script> 1725 + }
  1726 + });
1619 1727
1620 - <script>  
1621 - $(function () {  
1622 1728
1623 1729
  1730 + });
  1731 + </script>
1624 1732
1625 - $("#slider-range-min-4").slider(  
1626 - {  
1627 - range: "min",  
1628 - value: .5,  
1629 - min: 0,  
1630 - max: 1,  
1631 - step: .1,  
1632 - slide: function (event, ui) { 1733 + <script>
  1734 + $(function () {
1633 1735
1634 - $(".marginTopBtm10 .imgopacity").css("opacity", ui.value);  
1635 - $(".marginTopBtm10 div.outlinediv").css("opacity", ui.value);  
1636 - }  
1637 1736
1638 - }  
1639 1737
1640 - ); 1738 + $("#slider-range-min-4").slider(
  1739 + {
  1740 + range: "min",
  1741 + value: .5,
  1742 + min: 0,
  1743 + max: 1,
  1744 + step: .1,
  1745 + slide: function (event, ui) {
1641 1746
1642 - }); 1747 + $(".marginTopBtm10 .imgopacity").css("opacity", ui.value);
  1748 + $(".marginTopBtm10 div.outlinediv").css("opacity", ui.value);
  1749 + }
1643 1750
  1751 + }
1644 1752
  1753 +);
1645 1754
1646 - </script> 1755 + });
1647 1756
1648 1757
1649 1758
1650 - <script>  
1651 - $(function () { 1759 + </script>
1652 1760
1653 1761
1654 - $("#OnIdentify").on('mouseover', function () {  
1655 - $("#identify-block").addClass("custom-tooltip-annotation");  
1656 - $(".custom-tooltip-annotation").css('display', 'block');  
1657 - }).on('mouseout', function () {  
1658 - // $("#identify-block").removeClass("custom-tooltip-annotation");  
1659 - $(".custom-tooltip-annotation").css('display', 'none');  
1660 - $("#identify-block").removeClass("custom-tooltip-annotation");  
1661 - });  
1662 1762
  1763 + <script>
  1764 + $(function () {
1663 1765
1664 - $("#DrawMode").on('mouseover', function () {  
1665 - $("#draw-block").addClass("custom-tooltip-annotation");  
1666 - $(".custom-tooltip-annotation").css('display', 'block');  
1667 1766
1668 - }).on('mouseout', function () { 1767 + $("#OnIdentify").on('mouseover', function () {
  1768 + $("#identify-block").addClass("custom-tooltip-annotation");
  1769 + $(".custom-tooltip-annotation").css('display', 'block');
  1770 + }).on('mouseout', function () {
  1771 + // $("#identify-block").removeClass("custom-tooltip-annotation");
  1772 + $(".custom-tooltip-annotation").css('display', 'none');
  1773 + $("#identify-block").removeClass("custom-tooltip-annotation");
  1774 + });
1669 1775
1670 - $(".custom-tooltip-annotation").css('display', 'none');  
1671 - $("#draw-block").removeClass("custom-tooltip-annotation");  
1672 - });  
1673 1776
1674 - //#7931  
1675 - $("#OnEdtShape").on('mouseover', function () {  
1676 - $("#edit-block").addClass("custom-tooltip-annotation-edit");  
1677 - $(".custom-tooltip-annotation-edit").css('display', 'block'); 1777 + $("#DrawMode").on('mouseover', function () {
  1778 + $("#draw-block").addClass("custom-tooltip-annotation");
  1779 + $(".custom-tooltip-annotation").css('display', 'block');
1678 1780
1679 - }).on('mouseout', function () { 1781 + }).on('mouseout', function () {
1680 1782
1681 - $(".custom-tooltip-annotation-edit").css('display', 'none');  
1682 - $("#edit-block").removeClass("custom-tooltip-annotation-edit");  
1683 - }); 1783 + $(".custom-tooltip-annotation").css('display', 'none');
  1784 + $("#draw-block").removeClass("custom-tooltip-annotation");
  1785 + });
1684 1786
1685 - });  
1686 - </script>  
1687 - <!-- Export Image Save Click-->  
1688 - <script>  
1689 - $(function () {  
1690 - $("#btnSaveEI").click(function () {  
1691 - html2canvas($("#canvasDiv"), {  
1692 - onrendered: function (canvas) {  
1693 - theCanvas = canvas;  
1694 - var fileName = document.getElementById("filename").value + '.jpg';  
1695 - if (typeof (fileName) == "undefined" || fileName == ".jpg")  
1696 - fileName = "Untitled.jpg"  
1697 - var dataURL = canvas.toDataURL("image/jpeg");  
1698 - var blob = dataURItoBlob(dataURL);  
1699 - saveAs(blob, fileName);  
1700 - $("#filename").val("");  
1701 - }  
1702 - });  
1703 - $(".export-image").css("display", "none");  
1704 - });  
1705 - });  
1706 - function dataURItoBlob(dataURI) {  
1707 - var byteString = atob(dataURI.split(',')[1]);  
1708 - var ab = new ArrayBuffer(byteString.length);  
1709 - var ia = new Uint8Array(ab);  
1710 - for (var i = 0; i < byteString.length; i++) {  
1711 - ia[i] = byteString.charCodeAt(i);  
1712 - }  
1713 - return new Blob([ab], { type: 'image/jpeg' });  
1714 - }  
1715 - </script>  
1716 - <script>  
1717 - function ResizeImage(sizePercent) {  
1718 - var autoWidth = 427;  
1719 - var autoHeight = 547;  
1720 - var dvAutoSpnFontSize = 12;  
1721 - var imgLogoW = 77;  
1722 - var fullWidth = 620; //$('#canvasDiv').width();  
1723 - var fullHeight = 876; //$('#canvasDiv').height();  
1724 -  
1725 - if (sizePercent == 0) {  
1726 - $('#printBoxPor').width(autoWidth).height(autoHeight);//.height(dvPrintBoxPorH * sizePercent);  
1727 - $('#printBoxLan').width(autoHeight).height(autoWidth);  
1728 - $('#dvPortrait').width(autoWidth);  
1729 - $('#dvLandscape').width(autoHeight);  
1730 - $('.span-font').attr('style', 'font-size: ' + (dvAutoSpnFontSize * .65).toFixed() + 'px');  
1731 - $(".logo-image").attr('width', imgLogoW * .65);  
1732 - } 1787 + //#7931
  1788 + $("#OnEdtShape").on('mouseover', function () {
  1789 + $("#edit-block").addClass("custom-tooltip-annotation-edit");
  1790 + $(".custom-tooltip-annotation-edit").css('display', 'block');
1733 1791
1734 - else if (sizePercent == 1) {  
1735 - $('#dvPortrait').width(fullWidth * sizePercent);  
1736 - $('#dvLandscape').width(fullHeight * sizePercent);  
1737 - $('#printBoxPor').width(fullWidth * sizePercent).height(fullHeight * sizePercent);  
1738 - $('#printBoxLan').width(fullHeight * sizePercent).height(fullWidth * sizePercent);  
1739 - $('.span-font').attr('style', 'font-size: ' + dvAutoSpnFontSize + 'px');  
1740 - $(".logo-image").attr('width', imgLogoW);  
1741 - } 1792 + }).on('mouseout', function () {
1742 1793
1743 - else {  
1744 - $('#dvPortrait').width(fullWidth * sizePercent);  
1745 - $('#dvLandscape').width(fullHeight * sizePercent);  
1746 - $('.span-font').attr('style', 'font-size: ' + (dvAutoSpnFontSize * sizePercent).toFixed() + 'px !important');  
1747 - $(".logo-image").attr('width', (imgLogoW * sizePercent).toFixed());  
1748 - if (sizePercent > 1) {  
1749 - $('#printBoxPor').width(fullWidth * sizePercent).height(fullHeight * sizePercent);  
1750 - $('#printBoxLan').width(fullHeight * sizePercent).height(fullWidth * sizePercent);  
1751 - }  
1752 - else {  
1753 - $('#printBoxPor').width(fullWidth * sizePercent).height(fullHeight * sizePercent);  
1754 - $('#printBoxLan').width(fullHeight * sizePercent).height(fullWidth * sizePercent);  
1755 - } 1794 + $(".custom-tooltip-annotation-edit").css('display', 'none');
  1795 + $("#edit-block").removeClass("custom-tooltip-annotation-edit");
  1796 + });
  1797 +
  1798 + });
  1799 + </script>
  1800 + <!-- Export Image Save Click-->
  1801 + <script>
  1802 + $(function () {
  1803 + $("#btnSaveEI").click(function () {
  1804 + html2canvas($("#canvasDiv"), {
  1805 + onrendered: function (canvas) {
  1806 + theCanvas = canvas;
  1807 + var fileName = document.getElementById("filename").value + '.jpg';
  1808 + if (typeof (fileName) == "undefined" || fileName == ".jpg")
  1809 + fileName = "Untitled.jpg"
  1810 + var dataURL = canvas.toDataURL("image/jpeg");
  1811 + var blob = dataURItoBlob(dataURL);
  1812 + saveAs(blob, fileName);
  1813 + $("#filename").val("");
1756 } 1814 }
  1815 + });
  1816 + $(".export-image").css("display", "none");
  1817 + });
  1818 + });
  1819 + function dataURItoBlob(dataURI) {
  1820 + var byteString = atob(dataURI.split(',')[1]);
  1821 + var ab = new ArrayBuffer(byteString.length);
  1822 + var ia = new Uint8Array(ab);
  1823 + for (var i = 0; i < byteString.length; i++) {
  1824 + ia[i] = byteString.charCodeAt(i);
  1825 + }
  1826 + return new Blob([ab], { type: 'image/jpeg' });
  1827 + }
  1828 + </script>
  1829 + <script>
  1830 + function ResizeImage(sizePercent) {
  1831 + var autoWidth = 427;
  1832 + var autoHeight = 547;
  1833 + var dvAutoSpnFontSize = 12;
  1834 + var imgLogoW = 77;
  1835 + var fullWidth = 620; //$('#canvasDiv').width();
  1836 + var fullHeight = 876; //$('#canvasDiv').height();
  1837 +
  1838 + if (sizePercent == 0) {
  1839 + $('#printBoxPor').width(autoWidth).height(autoHeight);//.height(dvPrintBoxPorH * sizePercent);
  1840 + $('#printBoxLan').width(autoHeight).height(autoWidth);
  1841 + $('#dvPortrait').width(autoWidth);
  1842 + $('#dvLandscape').width(autoHeight);
  1843 + $('.span-font').attr('style', 'font-size: ' + (dvAutoSpnFontSize * .65).toFixed() + 'px');
  1844 + $(".logo-image").attr('width', imgLogoW * .65);
  1845 + }
  1846 +
  1847 + else if (sizePercent == 1) {
  1848 + $('#dvPortrait').width(fullWidth * sizePercent);
  1849 + $('#dvLandscape').width(fullHeight * sizePercent);
  1850 + $('#printBoxPor').width(fullWidth * sizePercent).height(fullHeight * sizePercent);
  1851 + $('#printBoxLan').width(fullHeight * sizePercent).height(fullWidth * sizePercent);
  1852 + $('.span-font').attr('style', 'font-size: ' + dvAutoSpnFontSize + 'px');
  1853 + $(".logo-image").attr('width', imgLogoW);
  1854 + }
  1855 +
  1856 + else {
  1857 + $('#dvPortrait').width(fullWidth * sizePercent);
  1858 + $('#dvLandscape').width(fullHeight * sizePercent);
  1859 + $('.span-font').attr('style', 'font-size: ' + (dvAutoSpnFontSize * sizePercent).toFixed() + 'px !important');
  1860 + $(".logo-image").attr('width', (imgLogoW * sizePercent).toFixed());
  1861 + if (sizePercent > 1) {
  1862 + $('#printBoxPor').width(fullWidth * sizePercent).height(fullHeight * sizePercent);
  1863 + $('#printBoxLan').width(fullHeight * sizePercent).height(fullWidth * sizePercent);
1757 } 1864 }
1758 - </script> 1865 + else {
  1866 + $('#printBoxPor').width(fullWidth * sizePercent).height(fullHeight * sizePercent);
  1867 + $('#printBoxLan').width(fullHeight * sizePercent).height(fullWidth * sizePercent);
  1868 + }
  1869 + }
  1870 + }
  1871 + </script>
1759 </body> 1872 </body>
1760 </html> 1873 </html>
1761 \ No newline at end of file 1874 \ No newline at end of file