/*
 * Generated by the Jasper component of Apache Tomcat
 * Version: Apache Tomcat/9.0.105
 * Generated at: 2025-05-26 06:28:50 UTC
 * Note: The last modified time of this file was set to
 *       the last modified time of the source file after
 *       generation to assist with modification tracking.
 */
package org.apache.jsp.jsp;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;

public final class productInfo_jsp extends org.apache.jasper.runtime.HttpJspBase
    implements org.apache.jasper.runtime.JspSourceDependent,
                 org.apache.jasper.runtime.JspSourceImports {

  private static final javax.servlet.jsp.JspFactory _jspxFactory =
          javax.servlet.jsp.JspFactory.getDefaultFactory();

  private static java.util.Map<java.lang.String,java.lang.Long> _jspx_dependants;

  static {
    _jspx_dependants = new java.util.HashMap<java.lang.String,java.lang.Long>(2);
    _jspx_dependants.put("jar:file:/C:/Users/plenka/.m2/repository/org/glassfish/web/jstl-impl/1.2/jstl-impl-1.2.jar!/META-INF/c.tld", Long.valueOf(1308107170000L));
    _jspx_dependants.put("/WEB-INF/lib/jstl-impl-1.2.jar", Long.valueOf(1747934417029L));
  }

  private static final java.util.Set<java.lang.String> _jspx_imports_packages;

  private static final java.util.Set<java.lang.String> _jspx_imports_classes;

  static {
    _jspx_imports_packages = new java.util.LinkedHashSet<>(4);
    _jspx_imports_packages.add("javax.servlet");
    _jspx_imports_packages.add("javax.servlet.http");
    _jspx_imports_packages.add("javax.servlet.jsp");
    _jspx_imports_classes = null;
  }

  private volatile javax.el.ExpressionFactory _el_expressionfactory;
  private volatile org.apache.tomcat.InstanceManager _jsp_instancemanager;

  public java.util.Map<java.lang.String,java.lang.Long> getDependants() {
    return _jspx_dependants;
  }

  public java.util.Set<java.lang.String> getPackageImports() {
    return _jspx_imports_packages;
  }

  public java.util.Set<java.lang.String> getClassImports() {
    return _jspx_imports_classes;
  }

  public javax.el.ExpressionFactory _jsp_getExpressionFactory() {
    if (_el_expressionfactory == null) {
      synchronized (this) {
        if (_el_expressionfactory == null) {
          _el_expressionfactory = _jspxFactory.getJspApplicationContext(getServletConfig().getServletContext()).getExpressionFactory();
        }
      }
    }
    return _el_expressionfactory;
  }

  public org.apache.tomcat.InstanceManager _jsp_getInstanceManager() {
    if (_jsp_instancemanager == null) {
      synchronized (this) {
        if (_jsp_instancemanager == null) {
          _jsp_instancemanager = org.apache.jasper.runtime.InstanceManagerFactory.getInstanceManager(getServletConfig());
        }
      }
    }
    return _jsp_instancemanager;
  }

  public void _jspInit() {
  }

  public void _jspDestroy() {
  }

  public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response)
      throws java.io.IOException, javax.servlet.ServletException {

    if (!javax.servlet.DispatcherType.ERROR.equals(request.getDispatcherType())) {
      final java.lang.String _jspx_method = request.getMethod();
      if ("OPTIONS".equals(_jspx_method)) {
        response.setHeader("Allow","GET, HEAD, POST, OPTIONS");
        return;
      }
      if (!"GET".equals(_jspx_method) && !"POST".equals(_jspx_method) && !"HEAD".equals(_jspx_method)) {
        response.setHeader("Allow","GET, HEAD, POST, OPTIONS");
        response.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED, "JSPs only permit GET, POST or HEAD. Jasper also permits OPTIONS");
        return;
      }
    }

    final javax.servlet.jsp.PageContext pageContext;
    javax.servlet.http.HttpSession session = null;
    final javax.servlet.ServletContext application;
    final javax.servlet.ServletConfig config;
    javax.servlet.jsp.JspWriter out = null;
    final java.lang.Object page = this;
    javax.servlet.jsp.JspWriter _jspx_out = null;
    javax.servlet.jsp.PageContext _jspx_page_context = null;


    try {
      response.setContentType("text/html;charset=UTF-8");
      pageContext = _jspxFactory.getPageContext(this, request, response,
      			null, true, 8192, true);
      _jspx_page_context = pageContext;
      application = pageContext.getServletContext();
      config = pageContext.getServletConfig();
      session = pageContext.getSession();
      out = pageContext.getOut();
      _jspx_out = out;

      out.write("\r\n");
      out.write("\r\n");
      com.nisum.model.Product product = null;
      product = (com.nisum.model.Product) _jspx_page_context.getAttribute("product", javax.servlet.jsp.PageContext.REQUEST_SCOPE);
      if (product == null){
        throw new java.lang.InstantiationException("bean product not found within scope");
      }
      out.write("\r\n");
      out.write("\r\n");
      out.write("<!DOCTYPE html>\r\n");
      out.write("<html lang=\"en\">\r\n");
      out.write("<head>\r\n");
      out.write("  <meta charset=\"UTF-8\">\r\n");
      out.write("  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\r\n");
      out.write("  <title>FashionHub</title>\r\n");
      out.write("  <link rel=\"icon\" href=\"./images/NISUM.jpeg\" type=\"image/x-icon\">\r\n");
      out.write("  <link rel=\"stylesheet\" href=\"./CSS/productInfo.css\">\r\n");
      out.write("\r\n");
      out.write("</head>\r\n");
      out.write("<body>\r\n");
      out.write("\r\n");
      out.write("<div class=\"product-container\">\r\n");
      out.write("  <div class=\"product-image\">\r\n");
      out.write("    <img src=");
      out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${product.imageurl}", java.lang.String.class, (javax.servlet.jsp.PageContext)_jspx_page_context, null));
      out.write(" alt=\"");
      out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${product.name}", java.lang.String.class, (javax.servlet.jsp.PageContext)_jspx_page_context, null));
      out.write("\">\r\n");
      out.write("  </div>\r\n");
      out.write("  <div class=\"product-details\">\r\n");
      out.write("    <h2>");
      out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${product.name}", java.lang.String.class, (javax.servlet.jsp.PageContext)_jspx_page_context, null));
      out.write("</h2>\r\n");
      out.write("    <p>by <strong>FashionHub</strong></p>\r\n");
      out.write("    <p class=\"price\">\r\n");
      out.write("      ₹");
      out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${product.sellingPrice}", java.lang.String.class, (javax.servlet.jsp.PageContext)_jspx_page_context, null));
      out.write("\r\n");
      out.write("      <span class=\"original-price\">₹");
      out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${product.mrp}", java.lang.String.class, (javax.servlet.jsp.PageContext)_jspx_page_context, null));
      out.write("</span>\r\n");
      out.write("      <span class=\"discount\">(");
      out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${product.discountPercent}", java.lang.String.class, (javax.servlet.jsp.PageContext)_jspx_page_context, null));
      out.write("% OFF)</span>\r\n");
      out.write("    </p>\r\n");
      out.write("\r\n");
      out.write("    <div class=\"offers\">\r\n");
      out.write("      <strong>Available Offers:</strong>\r\n");
      out.write("      <p>• Get 10% off with HDFC Bank Cards</p>\r\n");
      out.write("      <p>• Free shipping on orders above ₹499</p>\r\n");
      out.write("      <p>• Flat ₹100 cashback on Paytm UPI</p>\r\n");
      out.write("    </div>\r\n");
      out.write("\r\n");
      out.write("    <div class=\"selectors\">\r\n");
      out.write("      <label for=\"size\">Size:</label>\r\n");
      out.write("      <select id=\"size\">\r\n");
      out.write("        <option>M</option>\r\n");
      out.write("        <option>L</option>\r\n");
      out.write("        <option>XL</option>\r\n");
      out.write("      </select>\r\n");
      out.write("\r\n");
      out.write("      <label for=\"quantity\">Quantity:</label>\r\n");
      out.write("      <select id=\"quantity\">\r\n");
      out.write("        <option value=1 selected>1</option>\r\n");
      out.write("        <option value=2>2</option>\r\n");
      out.write("        <option value=3 >3</option>\r\n");
      out.write("        <option value=4 >4</option>\r\n");
      out.write("      </select>\r\n");
      out.write("    </div>\r\n");
      out.write("\r\n");
      out.write("    <p class=\"stock\">Only 5 items left in stock!</p>\r\n");
      out.write("\r\n");
      out.write("    <div class=\"buttons\">\r\n");
      out.write("      <button class=\"add-cart\" onclick=\"addToCart()\">Add to Cart</button>\r\n");
      out.write("      <button class=\"go-cart\" onclick=\"goToCart()\">Go to Shopping Cart</button>\r\n");
      out.write("    </div>\r\n");
      out.write("  </div>\r\n");
      out.write("</div>\r\n");
      out.write("\r\n");
      out.write("<!-- Popup -->\r\n");
      out.write("<div id=\"popup\">Item added to cart!</div>\r\n");
      out.write("\r\n");
      out.write("<script>\r\n");
      out.write("\r\n");
      out.write("  function UserId(){\r\n");
      out.write("    return 1;\r\n");
      out.write("  }\r\n");
      out.write("function addToCart() {\r\n");
      out.write("    console.log(\"add to cart called\");\r\n");
      out.write("    const userId = UserId();\r\n");
      out.write("    const productId = parseInt('");
      out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${product.id}", java.lang.String.class, (javax.servlet.jsp.PageContext)_jspx_page_context, null));
      out.write("');\r\n");
      out.write("    const quantity = parseInt(document.getElementById(\"quantity\").value.trim());\r\n");
      out.write("\r\n");
      out.write("    if (!quantity || quantity <= 0) {\r\n");
      out.write("        showPopup(\"Please enter a valid quantity.\");\r\n");
      out.write("        return;\r\n");
      out.write("    }\r\n");
      out.write("    console.log(userId + productId + quantity)\r\n");
      out.write("    // Use URLSearchParams to properly encode data\r\n");
      out.write("    const formData = new URLSearchParams();\r\n");
      out.write("    formData.append(\"userId\", userId);\r\n");
      out.write("    formData.append(\"productId\", productId);\r\n");
      out.write("    formData.append(\"quantity\", quantity);\r\n");
      out.write("\r\n");
      out.write("    fetch('");
      out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${pageContext.request.contextPath}", java.lang.String.class, (javax.servlet.jsp.PageContext)_jspx_page_context, null));
      out.write("/add-to-cart', {\r\n");
      out.write("        method: 'POST',\r\n");
      out.write("        headers: {\r\n");
      out.write("            'Content-Type': 'application/x-www-form-urlencoded'\r\n");
      out.write("        },\r\n");
      out.write("        body: formData.toString()\r\n");
      out.write("    })\r\n");
      out.write("    .then(response => {\r\n");
      out.write("        if (response.ok) {\r\n");
      out.write("            showPopup(\"Item added to cart!\");\r\n");
      out.write("        } else {\r\n");
      out.write("            response.text().then(msg => {\r\n");
      out.write("                showPopup(\"Error: \" + msg);\r\n");
      out.write("                console.log(\"Error: \" + msg);\r\n");
      out.write("            });\r\n");
      out.write("        }\r\n");
      out.write("    })\r\n");
      out.write("    .catch(error => {\r\n");
      out.write("        console.error(\"Error:\", error);\r\n");
      out.write("        showPopup(\"An error occurred.\");\r\n");
      out.write("    });\r\n");
      out.write("}\r\n");
      out.write("\r\n");
      out.write("  function showPopup(message) {\r\n");
      out.write("    const popup = document.getElementById('popup');\r\n");
      out.write("    popup.textContent = message;\r\n");
      out.write("    popup.style.display = 'block';\r\n");
      out.write("    setTimeout(() => popup.style.display = 'none', 2000);\r\n");
      out.write("  }\r\n");
      out.write("\r\n");
      out.write("  function goToCart() {\r\n");
      out.write("    const userId = UserId();\r\n");
      out.write("    const contextPath = '");
      out.write((java.lang.String) org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate("${pageContext.request.contextPath}", java.lang.String.class, (javax.servlet.jsp.PageContext)_jspx_page_context, null));
      out.write("';\r\n");
      out.write("    window.location.href = contextPath + '/cart?userId=' + userId;\r\n");
      out.write("  }\r\n");
      out.write("</script>\r\n");
      out.write("\r\n");
      out.write("</body>\r\n");
      out.write("</html>\r\n");
    } catch (java.lang.Throwable t) {
      if (!(t instanceof javax.servlet.jsp.SkipPageException)){
        out = _jspx_out;
        if (out != null && out.getBufferSize() != 0)
          try {
            if (response.isCommitted()) {
              out.flush();
            } else {
              out.clearBuffer();
            }
          } catch (java.io.IOException e) {}
        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
        else throw new ServletException(t);
      }
    } finally {
      _jspxFactory.releasePageContext(_jspx_page_context);
    }
  }
}
