{"id":854,"date":"2017-08-17T11:12:41","date_gmt":"2017-08-17T08:12:41","guid":{"rendered":"http:\/\/www.brandner.ee\/?page_id=854\/"},"modified":"2020-06-25T11:10:11","modified_gmt":"2020-06-25T08:10:11","slug":"kusi-hinnapakkumist","status":"publish","type":"page","link":"https:\/\/www.brandner.ee\/et\/kusi-hinnapakkumist\/","title":{"rendered":"K\u00fcsi Hinnapakkumist"},"content":{"rendered":"<p><strong>NB! <\/strong><\/p>\n<p><strong>KUI PLAAT SISALDAB PIMEDAID\/MAETUD AVASID, PIMEDAT FREESI, KOMPLEKTI ERINEVATEST PLAATIDEST, POOLITATUD AVASID, MUID OMADUSI, MIDA SA SIIT VORMIST EI LEIA, PALUN SAADA OMA P\u00c4RING E-MAILI TEEL sales@brandner.ee.<\/strong><\/p>\n<p>&nbsp;<\/p>\n\n\n<div class=\"container-fluid\">\n  <div class=\"row\">\n    <div id=\"orderform_col\" class=\"col-md-5\">\n      <!-- <form id=\"orderform\" class=\"form-horizontal\" method=\"POST\" enctype=\"multipart\/form-data\"> -->\n      <form id=\"orderform\" class=\"form-horizontal\" method=\"POST\" enctype=\"multipart\/form-data\">\n        <input type=\"hidden\" id=\"_protoshop_nonce\" name=\"_protoshop_nonce\" value=\"720f043cd9\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/et\/wp-json\/wp\/v2\/pages\/854\" \/>        <div class=\"form-group\">\n          <label class=\"col-md-5\" for=\"BoardName\">Plaadi nimetus<\/label>\n          <div class=\"col-md-7\">\n            <input id=\"BoardName\" class=\"form-control\" type=\"text\" name=\"order[BoardName]\" value=\"\" maxlength=\"40\" isreq=\"\">\n          <\/div>\n        <\/div>\n\n        <div class=\"form-group\">\n          <label class=\"col-md-5\">&Uuml;ksiku plaadi m&otilde;&otilde;t (mm)<\/label>\n          <div class=\"col-md-7\">\n\n            <div class=\"input-group\">\n              <span class=\"input-group-addon\">X<\/span>\n              <input lang=\"en-150\" id=\"PlatX\" class=\"form-control calc_panel_dimensions quantity_and_size_validation\" type=\"number\" step=\"0.01\" min=\"20\" max=\"460\" name=\"order[PlatX]\" value=20 isreq=\"\">\n              <span class=\"input-group-addon\">mm<\/span>\n            <\/div>\n\n            <div class=\"input-group\">\n              <span class=\"input-group-addon\">Y<\/span>\n              <input lang=\"en-150\" id=\"PlatY\" class=\"form-control calc_panel_dimensions quantity_and_size_validation\" type=\"number\" step=\"0.01\" min=\"20\" max=\"460\" name=\"order[PlatY]\" value=20 isreq=\"\">\n              <span class=\"input-group-addon\">mm<\/span>\n            <\/div>\n\n          <\/div>\n        <\/div>\n\n        <div class=\"form-group\">\n          <label for=\"Leib\" class=\"col-md-5\">Kas soovite paneeli?<\/label>\n          <div class=\"col-md-7\">\n            <div class=\"input-group\">\n              <select id=\"Leib\" class=\"calc_panel_dimensions form-control\" name=\"order[Leib]\">\n                <option value=\"0\" selected=\"\">Ei<\/option>\n                <option value=\"-1\">Jah<\/option>\n              <\/select>\n              <span class=\"input-group-addon icon-addon white-bg\">\n                <div class=\"selicon\">\n                  <img decoding=\"async\" src=\"https:\/\/www.brandner.ee\/wp-content\/plugins\/brandner-protoshop\/\/images\/icon_panel.png\">\n                <\/div>\n              <\/span>\n              <!-- <div class=\"selicon\">\n                                <img decoding=\"async\" src=\"https:\/\/www.brandner.ee\/wp-content\/plugins\/brandner-protoshop\/\/images\/icon_panel.png\">\n                            <\/div> -->\n            <\/div>\n          <\/div>\n        <\/div>\n\n        <div id=\"panelcreate\" style=\"display:none\">\n\n          <span id=\"help-similar-panels\" class=\"help-block\"><img decoding=\"async\" src=\"https:\/\/www.brandner.ee\/wp-content\/plugins\/brandner-protoshop\/\/images\/icon_notice.jpg\">Paneelis saavad olla ainult &uuml;hesugused plaadid. Soovides paneeli mitmest erinevast plaadist palume Teil p&ouml;&ouml;rduda m&uuml;&uuml;gikonsultantide poole.<\/span>\n\n          <div class=\"form-group\">\n            <label class=\"col-md-5\" for=\"panelcraft\">Paneeli koostamine<\/label>\n            <div class=\"col-md-7\">\n              <select id=\"panelcraft\" class=\"calc_panel_dimensions form-control check_delivery_restrictions\" name=\"panelcraft\">\n                <option value=\"0\" selected=\"\">On lisatud failis<\/option>\n                <option value=\"1\">Palun koostage<\/option>\n              <\/select>\n            <\/div>\n          <\/div>\n\n\n          <div id=\"panelcrafting\" style=\"display:none\">\n\n            <!-- <div class=\"frow clear\">\n                        <label>{lang}Mitu plaati X suunas (tk){\/lang}<\/label>\n                        <div>\n                            <input class=\"fbig calc_panel_dimensions\" type=\"number\" min=\"0\" name=\"order[CntOnPanelX]\" value=\"\" \/>\n                        <\/div>\n                    <\/div>\n                    <div class=\"frow clear\">\n                        <label>{lang}Mitu plaati Y suunas (tk){\/lang}<\/label>\n                        <div>\n                            <input class=\"fbig calc_panel_dimensions\" type=\"number\" min=\"0\" name=\"order[CntOnPanelY]\" value=\"\" \/>\n                        <\/div>\n                    <\/div> -->\n\n            <div class=\"form-group\">\n              <label class=\"col-md-5\">Plaatide arv paneelil<\/label>\n              <div class=\"col-md-7\">\n\n                <div class=\"input-group\">\n                  <span class=\"input-group-addon\">X<\/span>\n                  <input id=\"CntOnPanelX\" class=\"form-control calc_panel_dimensions \" type=\"number\" min=\"0\" name=\"order[CntOnPanelX]\" value=1 isreq=\"\" lang=\"en-150\">\n                  <span class=\"input-group-addon\">tk<\/span>\n                <\/div>\n\n                <div class=\"input-group\">\n                  <span class=\"input-group-addon\">Y<\/span>\n                  <input id=\"CntOnPanelY\" class=\"form-control calc_panel_dimensions\" type=\"number\" min=\"0\" name=\"order[CntOnPanelY]\" value=1 isreq=\"\" lang=\"en-150\">\n                  <span class=\"input-group-addon\">tk<\/span>\n                <\/div>\n\n              <\/div>\n            <\/div>\n\n            <span id=\"help-fiducials\" class=\"help-block\"><img decoding=\"async\" src=\"https:\/\/www.brandner.ee\/wp-content\/plugins\/brandner-protoshop\/\/images\/icon_notice.jpg\">Lisame reeperid paneeli kolme nurka dia 1.0mm<\/span>\n\n            <div class=\"form-group\">\n              <label class=\"col-md-5\" for=\"PlanOfPanel\">Paneeli plaan<\/label>\n              <div class=\"col-md-7\">\n                <div class=\"input-group\">\n                  <select id=\"PlanOfPanel\" class=\"calc_panel_dimensions form-control\" name=\"order[PlanOfPanel]\">\n                    <option value=\"0\" selected=\"\">Ilma raamita<\/option>\n                    <option value=\"x\">Raam X k&uuml;ljel<\/option>\n                    <option value=\"y\">Raam Y k&uuml;ljel<\/option>\n                    <option value=\"xy\">Raam XY k&uuml;lgedel<\/option>\n                  <\/select>\n                  <span class=\"input-group-addon icon-addon white-bg\">\n                    <div id=\"selplan\" class=\"selicon\">\n                      <img decoding=\"async\" src=\"https:\/\/www.brandner.ee\/wp-content\/plugins\/brandner-protoshop\/\/images\/icon_plan.png\">\n                    <\/div>\n                  <\/span>\n                <\/div>\n              <\/div>\n            <\/div>\n\n            <div id=\"framewidth\" class=\"\" style=\"display: none;\">\n              <div class=\"form-group\">\n                <label class=\"col-md-5\" for=\"FrameWidth\">Raami laius<\/label>\n                <div class=\"col-md-7\">\n                  <select id=\"FrameWidth\" class=\"calc_panel_dimensions form-control\" name=\"order[FrameWidth]\">\n                    <option value=\"5\">5<\/option>\n                    <option value=\"10\">10<\/option>\n                  <\/select>\n                <\/div>\n              <\/div>\n            <\/div>\n          <\/div>\n          <div class=\"form-group\">\n            <label class=\"col-md-5\" for=\"panelCut\">V&auml;ljal&otilde;ikamine<\/label>\n            <div class=\"col-md-7\">\n              <select id=\"panelCut\" class=\"calc_panel_dimensions form-control\" name=\"order[panelCut]\">\n                <option value=\"frees\">Freesimine<\/option>\n                <option value=\"vcut\">V-l&otilde;ige<\/option>\n\n              <\/select>\n            <\/div>\n          <\/div>\n          <div id=\"freesid\">\n            <div class=\"form-group\">\n              <label class=\"col-md-5\" for=\"FreesiD\">Freesimise (mm)<\/label>\n              <div class=\"col-md-7\">\n                <select id=\"FreesiD\" class=\"calc_panel_dimensions form-control\" name=\"order[FreesiD]\">\n                  <option value=\"2\">2<\/option>\n                  <option value=\"2.4\">2.4<\/option>\n                <\/select>\n              <\/div>\n            <\/div>\n          <\/div>\n          <!--\n                    <div id=\"framewidth\" class=\"hidden\">\n                        <div class=\"frow clear\">\n                            <label>{lang}Raami laius (mm){\/lang}<\/label>\n                            <div>\n                                <select class=\"calc_panel_dimensions\" name=\"order[FrameWidth]\">\n                                    {foreach $var.FrameWidth as $FrameWidth}\n                                        <option value=\"{$FrameWidth}\">{$FrameWidth}<\/option>\n                                    {\/foreach}\n                                <\/select>\n                            <\/div>\n                        <\/div>\n                    <\/div> -->\n          <!-- <\/div> -->\n\n          <span id=\"help-file-reminder\" class=\"help-block\"><img decoding=\"async\" src=\"https:\/\/www.brandner.ee\/wp-content\/plugins\/brandner-protoshop\/\/images\/icon_notice.jpg\">Veendu, et paneeli joonis on lisatud<\/span>\n\n          <span id=\"help-combined-panel\" class=\"help-block\"><img decoding=\"async\" src=\"https:\/\/www.brandner.ee\/wp-content\/plugins\/brandner-protoshop\/\/images\/icon_notice.jpg\">Kui soovid kombineeritud paneeli palun kontakteeru m&uuml;&uuml;giosakonnaga.<\/span>\n\n          <div class=\"form-group\">\n            <label class=\"col-md-5\">Paneeli m&otilde;&otilde;t (mm)<\/label>\n            <div class=\"col-md-5\">\n              <div class=\"input-group\">\n                <span class=\"input-group-addon\">X<\/span>\n                <input lang=\"en-150\" id=\"PlatXPanel\" class=\"form-control quantity_and_size_validation\" type=\"number\" step=\"0.01\" name=\"order[PlatXPanel]\" value=60 min=60 max=460 isreq=\"\">\n              <\/div>\n\n              <div class=\"input-group\">\n                <span class=\"input-group-addon\">Y<\/span>\n                <input lang=\"en-150\" id=\"PlatYPanel\" class=\"form-control quantity_and_size_validation\" type=\"number\" step=\"0.01\" name=\"order[PlatYPanel]\" value=60 min=60 max=460 isreq=\"\">\n              <\/div>\n            <\/div>\n          <\/div>\n\n          <div class=\"form-group\">\n            <label class=\"col-md-5\" for=\"CntLeib\">Plaatide arv paneelil (tk)<\/label>\n            <div class=\"col-md-7\">\n              <input id=\"CntLeib\" class=\"form-control quantity_and_size_validation\" type=\"number\" min=1 name=\"order[CntLeib]\" value=1 step=\"1\" isreq=\"\">\n            <\/div>\n          <\/div>\n\n        <\/div>\n        <!--panelcreate-->\n\n        <div class=\"form-group\">\n          <label class=\"col-md-5\" for=\"Cnt\">Mitu Plaati (tk)<\/label>\n          <div class=\"col-md-7\">\n            <input lang=\"en-150\" id=\"Cnt\" class=\"form-control check_number_of_holes quantity_and_size_validation check_delivery_restrictions\" type=\"number\" min=1 name=\"order[Cnt]\" value=1 step=\"1\" isreq=\"\">\n          <\/div>\n        <\/div>\n\n        <div class=\"form-group\">\n          <label class=\"col-md-5\" for=\"CntLayers\">Vali kihtide arv<\/label>\n          <div class=\"col-md-7\">\n            <select name=\"order[CntLayers]\" id=\"CntLayers\" class=\"form-control\">\n              <option value=\"2\">2<\/option>\n              <option value=\"4\" selected=\"\">4<\/option>\n              <option value=\"6\">6<\/option>\n              <option value=\"8\">8<\/option>\n              <option value=\"10\">10<\/option>\n              <option value=\"12\">12<\/option>\n                              <option value=\"14\">14<\/option>\n                <option value=\"16\">16<\/option>\n                <option value=\"18\">18<\/option>\n                <option value=\"20\">20<\/option>\n                <option value=\"22\">22<\/option>\n                <option value=\"24\">24<\/option>\n                          <\/select>\n          <\/div>\n        <\/div>\n\n        <div class=\"form-group\">\n          <label class=\"col-md-5\" for=\"IsBuildUp\">&Uuml;lesehitus<\/label>\n          <div class=\"col-md-7\">\n            <select id=\"IsBuildUp\" class=\"fbig form-control\" name=\"order[IsBuildUp]\">\n              <option value=\"0\">Kasuta Brandneri standard &uuml;lesehitust<\/option>\n              <option value=\"1\">Koostan veebis<\/option>\n            <\/select>\n          <\/div>\n        <\/div>\n\n        <div id=\"ReBuildUp\" class=\"form-group\" style=\"display: none;\">\n          <div class=\"col-md-7 col-md-offset-5\">\n            <button id=\"ReBuildUpButton\" type=\"button\">Koosta &uuml;lesehitus<\/button>\n          <\/div>\n        <\/div>\n\n        <!-- <div class=\"form-group\">\n                    <label class=\"col-md-5\" for=\"calc_imp_check\">Arvuta lainetakistust<\/label>\n                    <div class=\"col-md-7\">\n                        <input id=\"calc_imp_check\" type=\"checkbox\" value=\"1\" \/>\n                    <\/div>\n                <\/div> -->\n\n\n\n        <input id=\"buildUp\" name=\"buildUp\" type=\"hidden\" value=\"\" \/>\n\n        <span id=\"help-compose-own\" class=\"help-block\"><img decoding=\"async\" src=\"https:\/\/www.brandner.ee\/wp-content\/plugins\/brandner-protoshop\/\/images\/icon_notice.jpg\">Kui soovite Brandneri standardsest erinevat paketti, siis palun valige: Koostan veebis<\/span>\n\n        <div id=\"cu_inlayers\">\n          <div class=\"form-group\">\n            <label class=\"col-md-5\" for=\"order_Cu_thickness_inside\">Vasepaksus sisekihtides (&micro;)<\/label>\n            <div class=\"col-md-7\">\n              <input class=\"fsmall form-control\" type=\"text\" id=\"order_Cu_thickness_inside\" name=\"order[Cu_thickness_inside]\" value=\"35\" readonly>\n            <\/div>\n          <\/div>\n\n          <div class=\"form-group\">\n            <label class=\"col-md-5\" for=\"Cu_thickness_inside\">Minimaalne rada ja vahe (&micro;)<\/label>\n            <div class=\"col-md-7\">\n              <input class=\"fsmall form-control\" id=\"Cu_thickness_inside\" type=\"text\" value=\"125\" readonly>\n            <\/div>\n          <\/div>\n        <\/div>\n\n        <span id=\"help-compose-own\" class=\"help-block\"><img decoding=\"async\" src=\"https:\/\/www.brandner.ee\/wp-content\/plugins\/brandner-protoshop\/\/images\/icon_notice.jpg\">Sisestatud andmed peavad vastama gerber failidele.<\/span>\n\n        <div class=\"form-group\">\n          <label class=\"col-md-5\" for=\"order_Cu_thickness_outside\">L&otilde;pp vasepaksus v&auml;liskihis (&micro;)<\/label>\n          <div class=\"col-md-7\">\n            <input class=\"fsmall form-control\" type=\"text\" id=\"order_Cu_thickness_outside\" name=\"order[Cu_thickness_outside]\" value=\"53\" readonly>\n          <\/div>\n        <\/div>\n\n        <div class=\"form-group\">\n          <label class=\"col-md-5\" for=\"Cu_thickness_outside\">Minimaalne rada ja vahe (&micro;)<\/label>\n          <div class=\"col-md-7\">\n            <input class=\"fsmall form-control\" id=\"Cu_thickness_outside\" type=\"text\" value=\"75\" readonly>\n          <\/div>\n        <\/div>\n\n        <div class=\"form-group\">\n          <label class=\"col-md-5\" for=\"order_FullPaksus\">Plaadi l&otilde;pp-paksus (mm)<\/label>\n          <div class=\"col-md-7\">\n            <input class=\"fsmall form-control\" type=\"text\" id=\"order_FullPaksus\" name=\"order[FullPaksus]\" value=\"1.616\" readonly> Tolerants 10%          <\/div>\n        <\/div>\n\n        <div class=\"form-group\">\n          <label class=\"col-md-5\" for=\"Minava\">Minimaalne ava (mm)<\/label>\n          <div class=\"col-md-7\">\n            <select id=\"Minava\" class=\"form-control\" name=\"order[Minava]\">\n              <option value=\"0.1\" selected>0.1<\/option>\n              <option value=\"0.15\">0.15<\/option>\n              <option value=\"0.2\">0.2<\/option>\n              <option value=\"0.3\">0.3<\/option>\n              <option value=\"0.4\">0.4<\/option>\n              <option value=\"0.5\">0.5<\/option>\n              <option value=\"0.6\">0.6<\/option>\n              <option value=\"0.7\">0.7<\/option>\n              <option value=\"0.8\">0.8<\/option>\n              <option value=\"0.9\">0.9<\/option>\n              <option value=\"1\">1<\/option>\n              <option value=\"1.1\">1.1<\/option>\n              <option value=\"1.2\">1.2<\/option>\n              <option value=\"1.3\">1.3<\/option>\n              <option value=\"1.4\">1.4<\/option>\n              <option value=\"1.5\">1.5<\/option>\n              <option value=\"1.6\">1.6<\/option>\n              <option value=\"1.7\">1.7<\/option>\n              <option value=\"1.8\">1.8<\/option>\n              <option value=\"1.9\">1.9<\/option>\n              <option value=\"2\">2<\/option>\n            <\/select>\n          <\/div>\n        <\/div>\n\n        <div class=\"form-group\">\n          <label class=\"col-md-5\" for=\"AvadeArv\">Avade arv plaadil<\/label>\n          <div class=\"col-md-7\">\n            <input name=\"order[AvadeArv]\" class=\"form-control check_delivery_restrictions\" type=\"number\" min=\"1\" value=\"1\" isreq=\"\" step=\"1\" lang=\"en-150\">\n          <\/div>\n        <\/div>\n\n        <div class=\"form-group\">\n          <label class=\"col-md-5\" for=\"SolderResist\">Jootemask<\/label>\n          <div class=\"col-md-7\">\n            <select id=\"SolderResist\" class=\"form-control\" name=\"order[SolderResist]\">\n              <option value=\"0\">Ei<\/option>\n              <option value=\"1\">&Uuml;lapoolel<\/option>\n              <option value=\"2\">Alapoolel<\/option>\n              <option value=\"3\" selected=\"selected\">M&otilde;lemal pool<\/option>\n            <\/select>\n          <\/div>\n        <\/div>\n\n        <div class=\"form-group\">\n          <label class=\"col-md-5\" for=\"SolderResistColor\">Jootemaski v&auml;rv<\/label>\n          <div class=\"col-md-7\">\n            <div class=\"input-group\">\n              <select id=\"SolderResistColor\" class=\"form-control\" name=\"order[SolderResistColor]\">\n                <option value=\"0\">Roheline<\/option>\n                <option value=\"1\">Must<\/option>\n                <option value=\"2\">Valge<\/option>\n                <option value=\"3\">Sinine<\/option>\n                <option value=\"4\">Punane<\/option>\n              <\/select>\n              <span class=\"input-group-addon icon-addon\">\n                <div id=\"selsold\">\n                  <img decoding=\"async\" src=\"https:\/\/www.brandner.ee\/wp-content\/plugins\/brandner-protoshop\/\/images\/icon_green.png\">\n                <\/div>\n              <\/span>\n            <\/div>\n          <\/div>\n        <\/div>\n\n        <div class=\"form-group\">\n          <label class=\"col-md-5\" for=\"Marking\">Markeering<\/label>\n          <div class=\"col-md-7\">\n            <select id=\"Marking\" class=\"form-control\" name=\"order[Marking]\">\n              <option value=\"0\">Ei<\/option>\n              <option value=\"1\">&Uuml;lapoolel<\/option>\n              <option value=\"2\">Alapoolel<\/option>\n              <option value=\"3\" selected=\"selected\">M&otilde;lemal pool<\/option>\n            <\/select>\n          <\/div>\n        <\/div>\n\n        <div class=\"form-group\">\n          <label class=\"col-md-5\" for=\"MarkingColor\">Markeeringu v&auml;rv<\/label>\n          <div class=\"col-md-7\">\n            <div class=\"input-group\">\n              <select id=\"MarkingColor\" class=\"form-control\" name=\"order[MarkingColor]\">\n                <!-- <option value=\"0\">Roheline<\/option> -->\n                <option value=\"1\">Must<\/option>\n                <option value=\"2\" selected=\"selected\">Valge<\/option>\n                <!-- <option value=\"3\">Sinine<\/option> -->\n                <!-- <option value=\"4\">Punane<\/option> -->\n              <\/select>\n              <span class=\"input-group-addon icon-addon\">\n                <div id=\"selmark\" class=\"selicon\">\n                  <img decoding=\"async\" src=\"https:\/\/www.brandner.ee\/wp-content\/plugins\/brandner-protoshop\/\/images\/icon_white.png\">\n                <\/div>\n              <\/span>\n            <\/div>\n          <\/div>\n        <\/div>\n\n        <div class=\"form-group\">\n          <label class=\"col-md-5\" for=\"Coating\">Pinnakate jootev&auml;ljadel<\/label>\n          <div class=\"col-md-7\">\n            <div class=\"input-group\">\n              <select id=\"Coating\" class=\"form-control\" name=\"order[Coating]\">\n                <option value=\"1\">Pliivaba kuumtina<\/option>\n                <option value=\"2\">Keemiline kuld ENIG<\/option>\n              <\/select>\n              <span class=\"input-group-addon icon-addon\">\n                <div id=\"selicon\" class=\"selicon\">\n                  <img decoding=\"async\" src=\"https:\/\/www.brandner.ee\/wp-content\/plugins\/brandner-protoshop\/\/images\/icon_sn.png\">\n                <\/div>\n              <\/span>\n            <\/div>\n          <\/div>\n        <\/div>\n\n        <div class=\"form-group\">\n          <label class=\"col-md-5\" for=\"DeliveryDays\">Tarneaeg tehasest<\/label>\n          <div class=\"col-md-7\">\n            <select id=\"DeliveryDays\" class=\"form-control\" name=\"order[DeliveryDays]\">\n              <option value=\"1\">24h<\/option>\n              <option value=\"2\">48h<\/option>\n              <option value=\"3\">72h<\/option>\n              <option value=\"4\" selected=\"selected\">4 tp<\/option>\n            <\/select>\n          <\/div>\n        <\/div>\n\n        <span id=\"help-processing-time\" class=\"help-block\"><img decoding=\"async\" src=\"https:\/\/www.brandner.ee\/wp-content\/plugins\/brandner-protoshop\/\/images\/icon_notice.jpg\">Tarneaeg tehasest t&auml;hendab tr&uuml;kkplaatide valmistusaega, milles ei sisaldu transpordiks kuluv aeg. Tellimuste k&auml;sitlemine t&ouml;&ouml;p&auml;eviti kella 8.00-16.00-ni.<\/span>\n\n        \n        <div id=\"insidemyfiles\">\n          <div class=\"form-group\">\n            <label class=\"col-md-5\" for=\"fileToUpload\">Lisa fail<\/label>\n            <div class=\"col-md-7\">\n              <div class=\"input-group\">\n                <!-- <input type=\"file\" name=\"fileToUpload\" id=\"fileToUpload\" accept=\"application\/zip,application\/gzip,application\/x-rar-compressed,application\/octet-stream\" > -->\n                <input type=\"file\" name=\"fileToUpload\" id=\"fileToUpload\">\n              <\/div>\n            <\/div>\n          <\/div>\n        <\/div>\n\n                  <h3 class=\"help-block\">Kontaktinfo<\/h3>\n\n          <div class=\"form-group\">\n            <label class=\"col-md-5\" for=\"pr_req_con_per\">Kontaktisik<\/label>\n            <div class=\"col-md-7\">\n              <input type=\"text\" id=\"pr_req_con_per\" class=\"form-control\" name=\"contact[contact_person]\">\n            <\/div>\n          <\/div>\n\n          <div class=\"form-group\">\n            <label class=\"col-md-5\" for=\"pr_req_com_nam\">Firma nimi<\/label>\n            <div class=\"col-md-7\">\n              <input type=\"text\" id=\"pr_req_com_nam\" class=\"form-control\" name=\"contact[company_name]\">\n            <\/div>\n          <\/div>\n\n\n          <div class=\"form-group\">\n            <label class=\"col-md-5\" for=\"pr_req_con_email\">E-mail<\/label>\n            <div class=\"col-md-7\">\n              <input type=\"text\" id=\"pr_req_con_email\" class=\"form-control\" name=\"contact[contact_email]\" isreq=\"\">\n            <\/div>\n          <\/div>\n\n          <div class=\"form-group\">\n            <label class=\"col-md-5\" for=\"pr_req_con_phone\">Telefon<\/label>\n            <div class=\"col-md-7\">\n              <input type=\"text\" id=\"pr_req_con_phone\" class=\"form-control\" name=\"contact[contact_phone]\" isreq=\"\">\n            <\/div>\n          <\/div>\n\n          <div class=\"form-group\">\n            <button id=\"SubmitFrom\" type=\"submit\" class=\"btn btn-default\">Esita<\/button>\n          <\/div>\n          <input id=\"price_request\" type=\"hidden\" name=\"price_request\" value=\"1\">\n                <input id=\"buildImage\" type=\"hidden\" name=\"buildImage\" value=\"\">\n        <input id=\"buildTable\" type=\"hidden\" name=\"buildTable\" value=\"\">\n      <\/form>\n    <\/div>\n    <!--col-->\n    <div id=\"buildform_col\" class=\"col-md-5\" style=\"display: none\">\n      <div id=\"view_pakform\">\n\n        <form id=\"pakform\">\n          <h2>\n            Paketi koostamine          <\/h2>\n          <div class=\"frow clear\">\n            <input class=\"submit_button\" type=\"submit\" value=\"Salvesta ja tagasi\">\n          <\/div>\n\n          <div id=\"pak\"><\/div>\n\n          <div class=\"frow clear\">\n            <input id=\"paksubmit\" style=\"float:left;\" class=\"submit_button\" type=\"submit\" value=\"Salvesta ja tagasi\">\n          <\/div>\n\n          <div class=\"clear\"><\/div>\n        <\/form>\n      <\/div>\n    <\/div>\n    <!--col-->\n    <div id=\"table_col\" class=\"col-md-7\">\n      <div id=\"view_table\"><\/div>\n      <div id=\"impedance-disclaimer\" style=\"display:none;\">Lainetakistus on kalkuleeritud IPC2141-A standardi j\u00e4rgi!<\/div>\n    <\/div>\n    <!--col-->\n    <!-- <\/form>end orderform -->\n  <\/div>\n  <!--row-->\n<\/div>\n<!--container-->\n<style>\n  .protoshop .container-fluid {\n    padding-left: 0;\n    padding-right: 0;\n  }\n\n  .orange {\n    background-color: #fc7e00;\n  }\n\n  .yellow {\n    background-color: #fcec00;\n  }\n\n  .gray {\n    background-color: #d4d4d4;\n  }\n\n  #view_table table th.b {\n    border: 1px solid darkgrey;\n    \/*padding: 2px;*\/\n  }\n\n  table td {\n    text-align: center;\n  }\n\n  #view_table table td.b {\n    border: 1px solid darkgrey;\n    \/* padding: 2px;*\/\n  }\n\n  .align-right {\n    text-align: right;\n  }\n\n  .top-mar {\n    margin-top: 15px;\n  }\n\n  .input-cell,\n  .result-cell {\n    min-width: 50px;\n    \/*max-width: 75px;*\/\n  }\n\n  table td input {\n    max-width: 60px;\n  }\n\n  .selicon img {\n    \/*float: left;\n    display: block;*\/\n    border: 1px solid #d0d0d0;\n    padding: 1px;\n    \/*max-height: 17px;*\/\n    \/*height: 18px;\n    margin-top: 3px;*\/\n  }\n\n  .icon-addon {\n    width: 45px;\n    padding: 0;\n  }\n\n  .icon-addon.white-bg {\n    background-color: white;\n  }\n<\/style>\n<script>\n  rest_base = 'https:\/\/www.brandner.ee\/wp-json\/brandner\/v1\/'\n<\/script>\n<script>\n\n  \/**\n   * VALIDATION\n   *\n   *  this is where all the validation and checks happen\n   *\/\n\n  function validateOrder() {\n    \/\/Disable submit button at start of validation\n    \/\/jQuery('#SubmitFrom').prop('disabled', true);\n\n    \/\/Trigger checks\n\n    jQuery(\"#orderform\").trigger(\"mandatory_field_check\");\n    jQuery(\"#orderform\").trigger(\"check_pcb_name\");\n    jQuery(\"#orderform\").trigger(\"quantity_and_size_validation\");\n    jQuery(\"#orderform\").trigger(\"size_of_order\");\n    jQuery(\"#orderform\").trigger(\"check_minimum_opening\");\n    jQuery(\"#orderform\").trigger(\"check_delivery_restrictions\");\n\n    fields = jQuery(\"#orderform input:visible, #orderform select:visible\")\n\n    fields.each(function(index, item) {\n      var trigger = \"validate_\" + jQuery(item).attr('id')\n      \/\/ console.log(trigger)\n      jQuery(\"#orderform\").trigger(trigger);\n    })\n\n    \/\/ return \"errors\"; \/\/ DEBUG REMOVE\n    \/\/i check for visible errors\n    console.log(\"Checking for errors\")\n\n    if (jQuery('.error:visible').length == 0) {\n      console.log(\"No errors found\")\n      \/\/jQuery('#SubmitFrom').prop('disabled', false);\n      return \"no errors\";\n    } else {\n      \/\/jQuery('#SubmitFrom').prop('disabled', true);\n      console.log(\"Errors found \" + jQuery('.error').length + 'in total.');\n      return \"errors\";\n    }\n\n  }\n\n  var notice = function(e, t) {\n    \/\/console.log('notice') \/\/Delete this\n    \/\/ e.prepend('<div class=\"notice\">'+t+'<\/div>');\n    e.prepend('<div class=\"notice alert alert-info\" role=\"alert\">' + t + '<\/div>');\n  };\n\n  var error = function(e, t) {\n    \/\/console.log('error message') \/\/Delete this\n    \/\/ e.prepend('<div class=\"error\">'+t+'<\/div>');\n    e.prepend('<div class=\"error alert alert-danger\" role=\"alert\">' + t + '<\/div>');\n  };\n\n  var error2 = function(e, t, c) {\n    \/\/console.log('error message') \/\/Delete this\n    \/\/ e.prepend('<div class=\"error\">'+t+'<\/div>');\n    e.prepend('<div class=\"error alert alert-danger ' + c + '\" role=\"alert\">' + t + '<\/div>');\n  };\n\n  var checkNextVk = function(thei) {\n    \/\/console.log('checkNextVk') \/\/Delete this\n    if (jQuery('#inp_' + thei).is(':checked')) {\n      if (!jQuery('#inp_' + (1 + thei)).is(':checked')) {\n        jQuery('#inp_' + (1 + thei)).click();\n      }\n    }\n  }\n\n  var pakform_init = false;\n  var view_pakform = function() {\n    \/\/console.log('view_pakform') \/\/Delete this\n    var sumthick;\n    var innercuthickarr;\n    var layersarr;\n    var firstlayer;\n\n    var i = 0;\n    var oneMid = function(num, tot) {\n      \/\/console.log('oneMid') \/\/Delete this\n      var r = '';\n\n      r += getVahekiht(false);\n      r += getSoovSisekiht(true);\n      r += getVahekiht(true);\n\n\n\n\n      if (num !== tot) {\n        r += getSisekiht();\n      }\n      return r;\n    };\n\n    var getValisFool = function(top) {\n      \/\/console.log('getValisFool') \/\/Delete this\n      var r = '';\n\n      r += '<div class=\"frow clear\">';\n      r += '<label for=\"' + (top ? 'topfool' : 'bottomfool') + '\">V&auml;lisfoolium<\/label>';\n      r += '<select id=\"' + (top ? 'topfool' : 'bottomfool') + '\" class=\"pak_vf\" name=\"pak[Layers][]\">';\n\n      for (var key in layers) {\n        if (layers[key].categorie === 1) {\n          if (key != 71)\n            r += '<option value=\"' + key + '\">' + layers[key].name + '<\/option>';\n        }\n      };\n\n      r += '<\/select>';\n      r += '<\/div>';\n\n      return r;\n    };\n\n    var getSisekiht = function() {\n      \/\/console.log('getSisekiht') \/\/Delete this\n      var r = '';\n\n      r += '<div class=\"frow clear\">';\n      r += '<label for=\"pak_sk\">Sisekiht<\/label>';\n      r += '<select id=\"pak_sk\" class=\"pak_sk\" name=\"pak[Layers][]\">';\n\n      for (var key in layers) {\n        if (layers[key].categorie === 4) {\n          r += '<option value=\"' + key + '\">' + layers[key].name + '<\/option>';\n        }\n      };\n\n      r += '<\/select>';\n      r += '<\/div>';\n\n      return r;\n    };\n\n    var getVahekiht = function(c) {\n      \/\/console.log('getVahekiht') \/\/Delete this\n      i++;\n      var r = '';\n\n      r += '<div class=\"frow clear\">';\n      r += '<label for=\"inp_' + i + '\">';\n      r += 'Vahekiht';\n      r += '<\/label>';\n      r += (c ? '<div class=\"checkbox_dropdown_combo\">' : '');\n      r += (c ? '<input type=\"checkbox\" id=\"inp_' + i + '\" onclick=\"jQuery(\\'#vk_' + i + '\\').toggle();\">' : '');\n      \/\/ r += (c?'<span class=\"hidden\" id=\"vk_'+i+'\">':'');\n      r += (c ? '<span class=\"invis\" style=\"display:none\" id=\"vk_' + i + '\">' : '');\n      r += '<select class=\"pak_vk\" name=\"pak[Layers][]\">';\n\n      for (var key in layers) {\n        if (layers[key].categorie === 2) {\n          r += '<option value=\"' + key + '\">' + layers[key].name + '<\/option>';\n        }\n      };\n\n      r += '<\/select>';\n      r += (c ? '<\/span>' : '');\n      r += (c ? '<\/div>' : '');\n      r += '<\/div>';\n\n      return r;\n    };\n\n    var getVahekiht2 = function(c) {\n      \/\/console.log('getVahekiht2') \/\/Delete this\n      i++;\n      var r = '';\n\n      r += '<div class=\"frow clear\">';\n      r += '<label for=\"inp_' + i + '\">';\n      r += 'Vahekiht';\n      r += '<\/label>';\n      r += (c ? '<div class=\"checkbox_dropdown_combo\">' : '');\n      r += (c ? '<input type=\"checkbox\" id=\"inp_' + i + '\" onclick=\"jQuery(\\'#vk_' + i + '\\').toggle();\">' : '');\n      \/\/ r += (c?'<span class=\"hidden\" id=\"vk_'+i+'\">':'');\n      r += (c ? '<span class=\"invis\" style=\"display:none\" id=\"vk_' + i + '\">' : '');\n      r += '<select class=\"pak_vk\" name=\"pak[Layers][]\">';\n\n      for (var key in layers) {\n        if (layers[key].categorie === 9) {\n          r += '<option value=\"' + key + '\">' + layers[key].name + '<\/option>';\n        }\n      };\n\n      r += '<\/select>';\n      r += (c ? '<\/span>' : '');\n      r += (c ? '<\/div>' : '');\n      r += '<\/div>';\n\n      return r;\n    };\n\n    var getSoovSisekiht = function(c) {\n      \/\/console.log('getSoovSisekiht') \/\/Delete this\n      i++;\n      var r = '';\n\n      r += '<div class=\"frow clear\">';\n      r += '<label for=\"inp_' + i + '\">';\n      r += 'S&ouml;&ouml;vitatud sisekiht';\n      r += '<\/label>';\n      r += (c ? '<div class=\"checkbox_dropdown_combo\">' : '');\n      r += (c ? '<input type=\"checkbox\" id=\"inp_' + i + '\" onclick=\"jQuery(\\'#vk_' + i + '\\').toggle();checkNextVk(' + i + ');\">' : '');\n\n      \/\/ r += (c?'<span class=\"hidden\" id=\"vk_'+i+'\">':'');\n      r += (c ? '<span style=\"display:none\" class=\"invis\" id=\"vk_' + i + '\">' : '');\n      r += '<select name=\"pak[Layers][]\">';\n\n      for (var key in layers) {\n        if (layers[key].categorie === 3) {\n          r += '<option value=\"' + key + '\">' + layers[key].name + '<\/option>';\n        }\n      };\n\n      r += '<\/select>';\n      r += (c ? '<\/span>' : '');\n      r += (c ? '<\/div>' : '');\n      r += '<\/div>';\n      return r;\n    };\n\n    var getImpCheck = function(c) {\n      \/\/console.log('getImpCheck') \/\/Delete this\n      var r = '';\n\n      r += '<div class=\"frow clear\">';\n      r += '<label for=\"calc_imp_check\">';\n      r += 'Arvuta lainetakistust';\n      r += '<\/label>';\n      r += '<input id=\"calc_imp_check\" type=\"checkbox\" value=\"1\" \/>';\n      r += '<\/div>';\n\n      return r;\n    }\n\n\n    prepost = {\n      layer_81: 'in_18',\n    layer_1: 'in_18',\n    layer_2: 'in_35',\n    layer_4: 'in_18',\n    layer_5: 'in_35',\n    layer_7: 'in_18',\n    layer_8: 'in_35',\n    layer_10: 'in_18',\n    layer_11: 'in_35',\n    layer_13: 'in_18',\n    layer_14: 'in_35',\n    layer_15: 'in_70',\n    layer_17: 'in_18',\n    layer_18: 'in_35',\n    layer_22: 'in_18',\n    layer_23: 'in_35',\n    layer_25: 'in_18',\n    layer_26: 'in_35',\n    layer_27: 'in_70',\n    layer_29: 'in_18',\n    layer_30: 'in_35',\n    layer_31: 'in_70',\n    layer_34: 'in_35',\n    layer_37: 'layer_82',\n    layer_40: 'layer_82',\n    layer_43: 'layer_82',\n    layer_45: 'layer_80',\n    layer_46: 'layer_82',\n    layer_47: 'layer_83',\n    layer_48: 'layer_84',\n    layer_50: 'layer_82',\n    layer_53: 'layer_82',\n    layer_54: 'layer_83',\n        };\n    layers = {\n      layer_81: {\n        categorie: 0,\n        name: '18\u00b5m + GalvCu 35\u00b5m',\n        thick: '0.018',\n        cuthick: 18      },\n    layer_80: {\n        categorie: 1,\n        name: '12\u00b5m + GalvCu 35\u00b5m',\n        thick: '0.047',\n        cuthick: 47      },\n    layer_82: {\n        categorie: 1,\n        name: '35\u00b5m + GalvCu 35\u00b5m',\n        thick: '0.07',\n        cuthick: 70      },\n    layer_83: {\n        categorie: 1,\n        name: '70\u00b5m + GalvCu 35\u00b5m',\n        thick: '0.105',\n        cuthick: 105      },\n    layer_84: {\n        categorie: 1,\n        name: '105\u00b5m + GalvCu 35\u00b5m',\n        thick: '0.14',\n        cuthick: 140      },\n    layer_90: {\n        categorie: 2,\n        name: '1080 (0.063mm)',\n        thick: '0.063',\n        cuthick: 0      },\n    layer_91: {\n        categorie: 2,\n        name: '2116 (0,11mm)',\n        thick: '0.11',\n        cuthick: 0      },\n    layer_92: {\n        categorie: 2,\n        name: '7628-45 (0,18mm)',\n        thick: '0.18',\n        cuthick: 0      },\n    layer_1: {\n        categorie: 4,\n        name: 'High Tg 0.1mm 18\u00b5m\/18\u00b5m',\n        thick: '0.1',\n        cuthick: 18      },\n    layer_2: {\n        categorie: 4,\n        name: 'High Tg 0.1mm 35\u00b5m\/35\u00b5m',\n        thick: '0.1',\n        cuthick: 35      },\n    layer_4: {\n        categorie: 4,\n        name: 'High Tg 0.15mm 18\u00b5m\/18\u00b5m',\n        thick: '0.15',\n        cuthick: 18      },\n    layer_5: {\n        categorie: 4,\n        name: 'High Tg 0.15mm 35\u00b5m\/35\u00b5m',\n        thick: '0.15',\n        cuthick: 35      },\n    layer_7: {\n        categorie: 4,\n        name: 'High Tg 0.2mm 18\u00b5m\/18\u00b5m',\n        thick: '0.2',\n        cuthick: 18      },\n    layer_8: {\n        categorie: 4,\n        name: 'High Tg 0.2mm 35\u00b5m\/35\u00b5m',\n        thick: '0.2',\n        cuthick: 35      },\n    layer_10: {\n        categorie: 4,\n        name: 'High Tg 0.3mm 18\u00b5m\/18\u00b5m',\n        thick: '0.3',\n        cuthick: 18      },\n    layer_11: {\n        categorie: 4,\n        name: 'High Tg 0.3mm 35\u00b5m\/35\u00b5m',\n        thick: '0.3',\n        cuthick: 35      },\n    layer_13: {\n        categorie: 4,\n        name: 'High Tg 0.36mm 18\u00b5m\/18\u00b5m',\n        thick: '0.36',\n        cuthick: 18      },\n    layer_14: {\n        categorie: 4,\n        name: 'High Tg 0.36mm 35\u00b5m\/35\u00b5m',\n        thick: '0.36',\n        cuthick: 35      },\n    layer_15: {\n        categorie: 4,\n        name: 'High Tg 0.36mm 70\u00b5m\/70\u00b5m',\n        thick: '0.36',\n        cuthick: 70      },\n    layer_17: {\n        categorie: 4,\n        name: 'High Tg 0.46mm 18\u00b5m\/18\u00b5m',\n        thick: '0.46',\n        cuthick: 18      },\n    layer_18: {\n        categorie: 4,\n        name: 'High Tg 0.46mm 35\u00b5m\/35\u00b5m',\n        thick: '0.46',\n        cuthick: 35      },\n    layer_22: {\n        categorie: 4,\n        name: 'High Tg 0.51mm 18\u00b5m\/18\u00b5m',\n        thick: '0.51',\n        cuthick: 18      },\n    layer_23: {\n        categorie: 4,\n        name: 'High Tg 0.51mm 35\u00b5m\/35\u00b5m',\n        thick: '0.51',\n        cuthick: 35      },\n    layer_25: {\n        categorie: 4,\n        name: 'High Tg 0.71mm 18\u00b5m\/18\u00b5m',\n        thick: '0.71',\n        cuthick: 18      },\n    layer_26: {\n        categorie: 4,\n        name: 'High Tg 0.71mm 35\u00b5m\/35\u00b5m',\n        thick: '0.71',\n        cuthick: 35      },\n    layer_27: {\n        categorie: 4,\n        name: 'High Tg 0.71mm 70\u00b5m\/70\u00b5m',\n        thick: '0.71',\n        cuthick: 70      },\n    layer_29: {\n        categorie: 4,\n        name: 'High Tg 1.08mm 18\u00b5m\/18\u00b5m',\n        thick: '1.08',\n        cuthick: 18      },\n    layer_30: {\n        categorie: 4,\n        name: 'High Tg 1.08mm 35\u00b5m\/35\u00b5m',\n        thick: '1.08',\n        cuthick: 35      },\n    layer_31: {\n        categorie: 4,\n        name: 'High Tg 1.08mm 70\u00b5m\/70\u00b5m',\n        thick: '1.08',\n        cuthick: 70      },\n    layer_34: {\n        categorie: 4,\n        name: 'High Tg 1.2mm 35\u00b5m\/35\u00b5m',\n        thick: '1.2',\n        cuthick: 35      },\n    layer_37: {\n        categorie: 9,\n        name: 'Low Tg 0.8mm 35\u00b5m\/35\u00b5m',\n        thick: '0.73',\n        cuthick: 35      },\n    layer_40: {\n        categorie: 9,\n        name: 'Low Tg 1.00mm 35\u00b5m\/35\u00b5m',\n        thick: '0.93',\n        cuthick: 35      },\n    layer_43: {\n        categorie: 9,\n        name: 'Low Tg 1.2mm 35\u00b5m\/35\u00b5m',\n        thick: '1.13',\n        cuthick: 35      },\n    layer_45: {\n        categorie: 9,\n        name: 'Low Tg 1.6mm 18\u00b5m\/18\u00b5m',\n        thick: '1.564',\n        cuthick: 12      },\n    layer_46: {\n        categorie: 9,\n        name: 'Low Tg 1.6mm 35\u00b5m\/35\u00b5m',\n        thick: '1.53',\n        cuthick: 35      },\n    layer_47: {\n        categorie: 9,\n        name: 'Low Tg 1.6mm 70\u00b5m\/70\u00b5m',\n        thick: '1.46',\n        cuthick: 70      },\n    layer_48: {\n        categorie: 9,\n        name: 'Low Tg 1.6mm 105\u00b5m\/105\u00b5m',\n        thick: '1.39',\n        cuthick: 105      },\n    layer_50: {\n        categorie: 9,\n        name: 'Low Tg 2.0mm 35\u00b5m\/35\u00b5m',\n        thick: '1.93',\n        cuthick: 35      },\n    layer_53: {\n        categorie: 9,\n        name: 'Low Tg 2.4mm 35\u00b5m\/35\u00b5m',\n        thick: '2.33',\n        cuthick: 35      },\n    layer_54: {\n        categorie: 9,\n        name: 'Low Tg 2.4mm 70\u00b5m\/70\u00b5m',\n        thick: '2.26',\n        cuthick: 70      },\n    layer_93: {\n        categorie: 3,\n        name: 'FR4 VK 0.1 (0.1mm)',\n        thick: '0.1',\n        cuthick: 0      },\n    layer_94: {\n        categorie: 3,\n        name: 'FR4 VK 0.15 (0.15mm)',\n        thick: '0.15',\n        cuthick: 0      },\n    layer_95: {\n        categorie: 3,\n        name: 'FR4 VK 0.2 (0.2mm)',\n        thick: '0.2',\n        cuthick: 0      },\n    layer_96: {\n        categorie: 3,\n        name: 'FR4 VK 0.3 (0.3mm)',\n        thick: '0.3',\n        cuthick: 0      },\n    layer_97: {\n        categorie: 3,\n        name: 'FR4 VK 0.36 (0.36mm)',\n        thick: '0.36',\n        cuthick: 0      },\n    layer_98: {\n        categorie: 3,\n        name: 'FR4 VK 0.46 (0.46mm)',\n        thick: '0.46',\n        cuthick: 0      },\n    layer_99: {\n        categorie: 3,\n        name: 'FR4 VK0.51 (0.51mm)',\n        thick: '0.51',\n        cuthick: 0      },\n    layer_100: {\n        categorie: 3,\n        name: 'FR4 VK 0.71 (0.71mm)',\n        thick: '0.71',\n        cuthick: 0      },\n    layer_101: {\n        categorie: 3,\n        name: 'FR4 VK 1.08 (1.08mm)',\n        thick: '1.08',\n        cuthick: 0      },\n    layer_102: {\n        categorie: 3,\n        name: 'FR4 VK 1.2 (1.2mm)',\n        thick: '1.2',\n        cuthick: 0      },\n    in_18: {\n        categorie: 5,\n        name: '18\u00b5m',\n        thick: '0.018',\n        cuthick: 18      },\n    in_35: {\n        categorie: 5,\n        name: '35\u00b5m',\n        thick: '0.035',\n        cuthick: 35      },\n    in_70: {\n        categorie: 5,\n        name: '70\u00b5m',\n        thick: '0.07',\n        cuthick: 70      },\n        };\n    var layercategories = {\n      1: {\n        name: 'V&auml;lisfoolium',\n        color: 'orange'\n      },\n      2: {\n        name: 'Vahekiht',\n        color: 'yellow'\n      },\n      3: {\n        name: 'S&ouml;&ouml;vitatud sisekiht',\n        color: 'yellow'\n      },\n      4: {\n        name: 'Sisekiht',\n        color: 'gray'\n      },\n      5: {\n        name: 'Sisekihi foolium',\n        color: 'orange'\n      },\n      6: {\n        name: 'Sisekiht',\n        color: 'gray'\n      },\n      8: {\n        name: 'Sisekiht',\n        color: 'orange'\n      },\n      9: {\n        name: 'Vahekiht',\n        color: 'yellow'\n      },\n    };\n\n    var linenum = 0;\n    \/\/Counter for impedance layer number (needs to count every layer)\n    var imp_c = 0;\n\n    var addLayer = function(iLayerKey) {\n      \/\/console.log('addLayer') \/\/Delete this\n      var r = '';\n      var l = layers[iLayerKey];\n      var ln = (l.categorie == 1 || l.categorie == 5 ? ++linenum : '');\n\n      \/\/Counter for impedance layer number (needs to count every layer)\n      c = imp_c++;\n\n      r = '<tr class=\"' + layercategories[l.categorie].color + ' pcb-layer\" data-index=\"' + c + '\" data-layer=\"' + iLayerKey + '\">';\n      r += '<td class=\"b\">' + ln + '<\/td>';\n      r += '<td class=\"b\">' + layercategories[l.categorie].name + '<\/td>';\n      \/\/ r += '<td class=\"b\">'+(l.categorie == 9 ? l.name.substr(0,l.name.indexOf(' ')) : l.name)+'<\/td>';\n      r += '<td class=\"b\">' + (l.categorie == 9 ? l.name : l.name) + '<\/td>';\n      r += '<td class=\"b align-right\">' + l.thick + '<\/td>';\n\n      calc_imp = jQuery(\"#calc_imp_check\")[0].checked\n\n      if (calc_imp) {\n        r += '<td class=\"b align-right input-cell\">';\n        r += '<input type=\"hidden\" name=\"impedance[layers][' + c + '][id]\" value=\"' + c + '\" class=\"impedance-input\" \/>'\n        r += '<input type=\"hidden\" name=\"impedance[layers][' + c + '][mat]\" value=\"' + iLayerKey + '\" class=\"impedance-input\" \/>'\n\n        if ([1, 5, 8].includes(l.categorie)) {\n          r += '<select name=\"impedance[layers][' + c + '][type]\" class=\"impedance-input manual-input layer-type\" data-index=\"' + c + '\">';\n          r += '<option value=\"-1\"><\/option>';\n          r += '<option value=\"1\">Signaalkiht<\/option>';\n          r += '<option value=\"2\">Tugikiht<\/option>';\n          r += '<\/select>';\n        } else {\n          r += '<input type=\"hidden\" name=\"impedance[layers][' + c + '][type]\" value=\"0\" class=\"impedance-input\" \/>'\n        }\n        r += '<\/td>';\n        r += '<td class=\"b align-right input-cell\">';\n        if ([1, 5, 8].includes(l.categorie)) {\n          r += '<input style=\"display:none\" type=\"number\" min=\"0\" step=\"0.01\" name=\"impedance[layers][' + c + '][clear]\" size=\"5\" class=\"impedance-input manual-input\" lang=\"en-150\" \/>';\n        }\n        r += '<\/td>';\n        r += '<td class=\"b align-right input-cell\">';\n        if ([1, 5, 8].includes(l.categorie)) {\n          r += '<input style=\"display:none\" type=\"number\" min=\"0\" step=\"0.01\" name=\"impedance[layers][' + c + '][width]\" size=\"5\" class=\"impedance-input manual-input\" lang=\"en-150\" \/>';\n        }\n        r += '<\/td>';\n        r += '<td class=\"b align-right result-cell z0\"><\/td>';\n        r += '<td class=\"b align-right result-cell zdiff\"><\/td>';\n        r += '<td class=\"b align-right result-cell zdbs\"><\/td>';\n      }\n      r += '<\/tr>';\n\n      return r;\n    };\n\n    \/\/ remove old content\n    jQuery('#pak').empty();\n\n    \/\/ generate form\n    if (jQuery('#CntLayers').val() > 0) {\n      if (jQuery('#CntLayers').val() == 2) {\n        jQuery(\"#pak\").append(getVahekiht2(false))\n      } else {\n        jQuery(\"#pak\").append(getValisFool(true));\n\n        var mid = jQuery('#CntLayers').val() \/ 2;\n        for (var num = 1; num <= mid; num++) {\n          jQuery(\"#pak\").append(oneMid(num, mid));\n        }\n        jQuery(\"#pak\").append(getValisFool());\n      }\n    }\n\n\n\n\n\n    jQuery(\"#pak\").append(getImpCheck());\n\n    \/\/ select brandner def\n    if (jQuery('#CntLayers').val() == 2) {\n      jQuery(\"#pakform select.pak_vk\").val('layer_45');\n    } else if (jQuery('#CntLayers').val() == 4) {\n            jQuery(\"#pakform select.pak_vf\").val('layer_80');\n      jQuery(\"#pakform select.pak_vk\").val('layer_92');\n      jQuery(\"#pakform select.pak_sk\").val('layer_30');\n    } else if (jQuery('#CntLayers').val() == 6) {\n            \/\/ jQuery(\"#pakform select.pak_vf\").val('layer_80');\n      jQuery(\"#pakform select.pak_vf\").val('layer_80');\n      jQuery(\"#pakform select.pak_vk\").val('layer_92');\n      jQuery(\"#pakform select.pak_sk\").val('layer_18');\n    } else if (jQuery('#CntLayers').val() == 8) {\n            jQuery(\"#pakform select.pak_vf\").val('layer_80');\n      jQuery(\"#pakform select.pak_vk\").val('layer_91');\n      jQuery(\"#pakform select.pak_sk\").val('layer_11');\n    } else if (jQuery('#CntLayers').val() == 10) {\n            jQuery(\"#pakform select.pak_vf\").val('layer_80');\n      jQuery(\"#pakform select.pak_vk\").val('layer_91');\n      jQuery(\"#pakform select.pak_sk\").val('layer_5');\n    } else if (jQuery('#CntLayers').val() == 12) {\n            jQuery(\"#pakform select.pak_vf\").val('layer_80');\n      jQuery(\"#pakform select.pak_vk\").val('layer_91');\n      jQuery(\"#pakform select.pak_sk\").val('layer_2');\n    } else if (jQuery('#CntLayers').val() == 14) {\n            jQuery(\"#pakform select.pak_vf\").val('layer_80');\n      jQuery(\"#pakform select.pak_vk\").val('layer_91');\n      jQuery(\"#pakform select.pak_sk\").val('layer_1');\n    } else if (jQuery('#CntLayers').val() == 16) {\n            jQuery(\"#pakform select.pak_vf\").val('layer_80');\n      jQuery(\"#pakform select.pak_vk\").val('layer_91');\n      jQuery(\"#pakform select.pak_sk\").val('layer_1');\n    } else if (jQuery('#CntLayers').val() == 18) {\n            jQuery(\"#pakform select.pak_vf\").val('layer_80');\n      jQuery(\"#pakform select.pak_vk\").val('layer_91');\n      jQuery(\"#pakform select.pak_sk\").val('layer_1');\n    } else if (jQuery('#CntLayers').val() == 20) {\n            jQuery(\"#pakform select.pak_vf\").val('layer_80');\n      jQuery(\"#pakform select.pak_vk\").val('layer_90');\n      jQuery(\"#pakform select.pak_sk\").val('layer_1');\n    } else if (jQuery('#CntLayers').val() == 22) {\n            jQuery(\"#pakform select.pak_vf\").val('layer_80');\n      jQuery(\"#pakform select.pak_vk\").val('layer_90');\n      jQuery(\"#pakform select.pak_sk\").val('layer_1');\n    } else if (jQuery('#CntLayers').val() == 24) {\n            jQuery(\"#pakform select.pak_vf\").val('layer_80');\n      jQuery(\"#pakform select.pak_vk\").val('layer_90');\n      jQuery(\"#pakform select.pak_sk\").val('layer_1');\n    }\n\n    \/\/ link first and last foolium selectbox\n    jQuery('#topfool').change(function() {\n      \/\/console.log('topfool.change') \/\/Delete this\n      jQuery('#bottomfool').val(jQuery(this).val());\n    });\n    jQuery('#bottomfool').change(function() {\n      \/\/console.log('bottomfool.change') \/\/Delete this\n      jQuery('#topfool').val(jQuery(this).val());\n    });\n\n    \/\/ attach event triggers \/\/move this function\n    jQuery(\"#pakform select\").change(function() {\n      \/\/console.log('pakform select.change') \/\/Delete this\n      jQuery(\"#pakform\").trigger(\"generate_view\");\n      \/\/alert(\"trigger generate_view from SELECT\");\n    });\n\n    \/*jQuery(\"#pakform input\").click(function(){\n    \talert(\"trigger generate_view from INPUT\");\n        jQuery(\"#pakform\").trigger(\"generate_view\");\n    });\n    \t*\/\n\n    jQuery(\"#pakform input[type=checkbox]\").click(function() {\n      \/\/console.log('pakform input[type=checkbox].change') \/\/Delete this\n      \/\/alert(\"trigger generate_view from INPUT[type=checkbox] \");\n      jQuery(\"#pakform\").trigger(\"generate_view\");\n\n    });\n\n    \/\/ regenerate view\n    jQuery(\"#pakform\").trigger(\"generate_view\");\n    \/\/alert(\"trigger generate_view from ON LOAD\");\n\n    if (pakform_init === false) {\n      pakform_init = true;\n\n      jQuery(\"#pakform\").on(\"validate\", function(event) {\n        \/\/console.log('\"#pakform\").on(\"validate\"') \/\/Delete this\n        \/\/ remove all old errors and notices under pakform\n        jQuery(\"#pakform .error, #pakform .notice\").remove();\n\n        check_prepreg_thickness()\n        \/\/Superceded by check in protoshop-form.js -Patrik\n        \/*\n         * if inner layer 70\u00b5m before and after we must have ( 1x7 or 2x6 )\n         *\/\n        \/*\n        var vkorder = '';\n        var vklastorder = false;\n        var last, last_sk;\n        \/\/ var a = [24,31,34]; \/\/ 70\u00b5m elements\n        var a = ['layer_24','layer_31','layer_34']; \/\/ 70\u00b5m elements\n        \/\/var a2 = [8,9,10,11,12,13]; \/\/ etched elements\n        var a2 = ['layer_8','layer_9','layer_10','layer_11','layer_12','layer_13']; \/\/ etched elements\n        var count6 = 0; \/\/ 2116 element\n        var count7 = 0; \/\/ 7628 element\n        jQuery(\"#pakform select[name='pak[Layers][]']:visible\").each(function( index ){\n            if(jQuery(this).hasClass('pak_vk'))\n            {\n                vkorder = vkorder +''+ jQuery(this).val();\n                \/\/ if(parseInt(jQuery(this).val(),10) == 6)\n                if(jQuery(this).val() == 'layer_91') \/\/Changed to correspond to new element ids\n                    count6++;\n                \/\/ else if(parseInt(jQuery(this).val(),10) == 7)\n                else if(jQuery(this).val() == 'layer_92') \/\/Changed to correspond to new element ids\n                    count7++;\n            }\n            else if(jQuery(this).hasClass('pak_sk'))\n            {\n                \/\/ console.log(\"Should be number only\", jQuery(this).val())\n                \/\/ if(jQuery.inArray(jQuery(this).val(),a) !== -1) \/\/ this is 70 inner layer\n                if(layers[jQuery(this).val()].categorie == 4 && layers[jQuery(this).val()].cuthick == 70) \/\/ this is 70 inner layer - Changed to check cuthick from layers data -Patrik\n                {\n                    if(count6 < 2 && count7 < 1 )\n                    {\n                        console.log('error')\n                        error(jQuery(this).closest('.frow'),'Vahekiht on liiga &otilde;huke! Palun vali kas 7628 v&otilde;i 2x2116');\n                    }\n                    last_sk = jQuery(this);\n                }\n                \/\/ else if(jQuery.inArray(jQuery(last_sk).val(),a) !== -1) \/\/ last was 70 inner layer\n                else {\n                    if(last_sk){\n                        if(layers[jQuery(last_sk).val()].categorie == 4 && layers[jQuery(this).val()].cuthick == 70) \/\/ last was 70 inner layer- Changed to check cuthick from layers data -Patrik\n                        {\n                            if(count6 < 2 && count7 < 1 )\n                            {\n                                console.log('error')\n                                error(jQuery(last_sk).closest('.frow'),'Vahekiht on liiga &otilde;huke! Palun vali kas 7628 v&otilde;i 2x2116');\n                            }\n                        }\n                    }\n                }\n\n                if(vklastorder)\n                {\n                    if(vklastorder != vkorder)\n                    {\n                        \/\/Superceded by check in protoshop-form.js -Patrik\n                        \/\/ notice(jQuery(this).closest('.form-group'),'Ebas&uuml;mmeetrilne &uuml;lesehitus, oht plaadi kaardumiseks');\n                    }\n                }\n                vklastorder = vkorder;\n                vkorder = '';\n\n                count6 = count7 = 0;\n            }\n            else if(jQuery(this).prop(\"id\") == 'bottomfool')\n            {\n                if(last_sk)\n                {\n                    if(count6 < 2 && count7 < 1 )\n                    {\n                        console.log('error')\n                        error(jQuery(last_sk).closest('.frow'),'Vahekiht on liiga &otilde;huke! Palun vali kas 7628 v&otilde;i 2x2116');\n                    }\n                }\n                if(vklastorder)\n                {\n                    if(vklastorder != vkorder)\n                    {\n                        \/\/Superceded by check in protoshop-form.js -Patrik\n                        \/\/ notice(jQuery(this).closest('.frow'),'Ebas&uuml;mmeetrilne &uuml;lesehitus, oht plaadi kaardumiseks');\n                    }\n                }\n                vklastorder = vkorder;\n                vkorder = '';\n            }\n\n            \/\/ console.log(a2);\n            \/\/ console.log(jQuery(last).val());\n            \/\/ if last was etched\n            \/\/ if(jQuery.inArray(parseInt(jQuery(last).val(),10),a2) !== -1)\n            if(jQuery(last).val() && layers[jQuery(last).val()]['categorie'] == 3)\n            \/\/ if(jQuery.inArray(jQuery(last).val(),a2) !== -1)\n            {\n                console.log('Etched');\n                if(!jQuery(this).hasClass('pak_vk'))\n                {\n                    error(last.closest('.frow'),'S&ouml;&ouml;vitatud sisekiht peab asetsema kahe vahekihi vahel');\n                }\n            }\n\n            last = jQuery(this);\n        });\n        *\/\n\n        \/\/ if(sumthick < 0.36 || sumthick > 2.4)\n        if (sumthick < 0.36 || sumthick > 2.47) {\n          error(jQuery(\"#paksubmit\").closest('.frow'), 'Palun kontrollige plaadi paksust - v&otilde;imalik paksus 0,36 mm - 2,47 mm');\n          jQuery(\"#sumthi\").addClass('red');\n        } else {\n          jQuery(\"#sumthi\").removeClass('red');\n        }\n\n        check_buildup_symmetry();\n\n      });\n\n      jQuery(\"#pakform\").on(\"generate_view\", function(event) {\n        \/\/console.log('\"#pakform\").on(\"generate_view\"') \/\/Delete this\n        \/\/alert(\"generate view\");\n        jQuery('#view_table').empty();\n        var view_table = '<table class=\"table buildup-table\">';\n\n        calc_imp = jQuery(\"#calc_imp_check\")[0].checked\n\n        if (calc_imp) {\n          jQuery(\"#impedance-disclaimer\").show()\n        } else {\n          jQuery(\"#impedance-disclaimer\").hide()\n        }\n\n        \/\/ table header\n        view_table += '<tr>';\n        view_table += '<th class=\"b\">Kiht<\/th>';\n        view_table += '<th class=\"b\">Kihi nimetus<\/th>';\n        view_table += '<th class=\"b\">T&uuml;&uuml;p<\/th>';\n        view_table += '<th class=\"b align-right\">Kihi paksus (mm)<\/th>';\n        if (calc_imp) {\n          view_table += '<th class=\"b align-right\">Kihi t&uuml;&uuml;p<\/th>';\n          view_table += '<th class=\"b align-right\">Cl1 (mm)<\/th>';\n          view_table += '<th class=\"b align-right\">W1 (mm)<\/th>';\n          view_table += '<th class=\"b align-right\">Z0<\/th>';\n          view_table += '<th class=\"b align-right\">Zdiff<\/th>';\n          view_table += '<th class=\"b align-right\">Zdbs<\/th>';\n        }\n        view_table += '<\/tr>';\n\n        sumthick = 0;\n        firstlayer = 0;\n        layersarr = [];\n        innercuthickarr = [];\n        linenum = 0;\n        \/\/Impedance calculator layer number\n        imp_c = 0;\n        jQuery(\"#pakform select[name='pak[Layers][]']:visible\").each(function(index) {\n          \/\/console.log(\"#pakform select[name='pak[Layers][]']:visible).each\") \/\/Delete this\n          var v = jQuery(this).val();\n\n          if (!firstlayer)\n            firstlayer = v;\n\n          if (prepost[v]) {\n            view_table += addLayer(prepost[v]);\n            sumthick += parseFloat(layers[prepost[v]].thick);\n            layersarr.push(prepost[v]);\n\n            \/\/ inner cu array\n            innercuthickarr.push(layers[v].cuthick);\n          };\n\n          view_table += addLayer(v);\n          sumthick += parseFloat(layers[v].thick);\n          layersarr.push(v);\n\n          if (prepost[v]) {\n            view_table += addLayer(prepost[v]);\n            sumthick += parseFloat(layers[prepost[v]].thick);\n            layersarr.push(prepost[v]);\n          }\n        });\n\n        view_table += '<tr id=\"sumthi\"><th><\/th><th><\/th><th class=\"b\">Paksus (mm)<\/th><th class=\"b align-right\"><b>' + sumthick.toFixed(3) + ' &plusmn; 10%<\/b><\/th><\/tr>';\n        view_table += '<\/table>';\n\n        jQuery('#view_table').append(view_table);\n\n        \/\/Why is this here?\n\n        jQuery(\"#pakform\").trigger(\"validate\");\n\n      });\n\n      \/\/ #paksubmit, .submit_button\n      jQuery(\"#pakform\").submit(function(event) {\n        \/\/console.log('\"#pakform\").submit') \/\/Delete this\n        event.preventDefault();\n        \/\/alert(\"pakform submit\");\n\n\n        if (jQuery(\"#pakform .error\").length) {\n          alert('Please correct mistakes');\n        } else {\n          \/\/ jQuery(\"#view_pakform\").hide();\n          jQuery(\"#buildform_col\").hide();\n          \/\/ jQuery(\"#view_orderform\").show();\n          jQuery(\"#orderform_col\").show();\n\n          \/\/ sync values\n          jQuery(\"#buildUp\").val(layersarr.join(','));\n          jQuery(\"#order_FullPaksus\").val(sumthick.toFixed(3));\n          \/\/ jQuery(\"#order_Cu_thickness_inside\").val(Math.max.apply(Math, innercuthickarr)).change();\n          jQuery(\"#order_Cu_thickness_inside\").val(Math.min.apply(Math, innercuthickarr)).change();\n          \/\/ jQuery(\"#order_Cu_thickness_outside\").val(layers[firstlayer].cuthick).change();\n          set_outlayer_cuthick(firstlayer)\n\n          \/\/ generate nice view - we need this for brandner default selection\n          \/\/ jQuery(\"#pakform\").trigger(\"generate_view\");\n\n\n\n          jQuery(\"select#Coating\").closest('.form-group').children('.notice, .error').remove();\n          if (0.8 > sumthick.toFixed(3)) {\n            \/\/Disable HASL\n            jQuery(\"select#Coating option[value='1']\").prop('disabled', true).hide();\n            jQuery(\"select#Coating\").val(2).change();\n\n            notice(jQuery(\"select#Coating\").closest('.form-group'), 'HASL pole saadaval plaadile, mis on &otilde;hem kui 0,8 mm')\n          } else {\n            jQuery(\"select#Coating option[value='1']\").prop('disabled', false).show();\n          }\n\n          add_imp_flag_field();\n          \/\/ jQuery('.buildup-table .impedance-input.manual-input').prop( \"disabled\", true );\n\n        }\n\n        \/\/jQuery(\"#orderform\").trigger(\"check_minimum_opening\");\n\n        \/\/ validateOrder();\n\n\n      });\n\n      \/\/ generate nice view for the first time\n      jQuery(\"#pakform\").trigger(\"generate_view\");\n      set_outlayer_cuthick(firstlayer)\n      \/\/alert(\"trigger generate_view from PAKTFORM INIT\");\n\n      \/\/Add listener \n\n      \/\/Mark signal layer result cells as such\n      jQuery(\"#view_table\").on('change', '.impedance-input.layer-type', function(evt) {\n        \/\/console.log('view_table.change') \/\/Delete this\n        jQuery(this).closest('tr').find('.result-cell').removeClass('signal')\n\n        if (1 == jQuery(this).val()) {\n          jQuery(this).closest('tr').find('.result-cell').addClass('signal')\n\n          jQuery(this).closest('tr').find('input[type=number].impedance-input.manual-input').show();\n          \/\/console.log('Signal') \/\/Delete this\n        } else if (jQuery(this).val() == 2 || jQuery(this).val() == -1) {\n          jQuery(this).closest('tr').find('input[type=number].impedance-input.manual-input').hide();\n\n\n\n          \/\/console.log('Plane') \/\/Delete this\n\n        }\n\n        \/\/add_imp_flag_field(); just for testing\n\n      })\n\n\n\n\n\n\n\n\n    };\n\n  }; \/\/paktform init\n\n  function add_imp_flag_field() {\n    \/\/ console.log(\"Impedances changed\")\n    \/\/ jQuery(\"#pakform\").trigger(\"generate_view\")\n\n    jQuery(\"#imp-flag\").remove();\n\n    var check_values = false;\n\n    jQuery(\"#view_table td.result-cell .result\").each(function(index) {\n\n      if (jQuery(this).html() != '') {\n        console.log(\"result not 0\");\n        check_values = true;\n      }\n    });\n\n    \/*\t\n\n    \tjQuery(\"#view_table input[type=number].impedance-input.manual-input\").each(function( index ) {\n      \t\t\/\/console.log( index + \": \" + jQuery( this ).val() );\n    \t\t\n    \t\tif( jQuery( this ).val() > 0 )\n    \t\t{\n    \t\t\tcheck_values = true; \n    \t\t\tconsole.log(\"value not 0\"); \n    \t\t\n    \t\t}\n    \t\t\n    \t});*\/\n\n    if (1 == jQuery(\"#calc_imp_check:checked\").length && check_values) {\n      jQuery(\"#orderform\").append('<input id=\"imp-flag\" type=\"hidden\" name=\"is_imp\" value=\"1\" \/>')\n    } else {\n\n    }\n  }\n\n  function set_outlayer_cuthick(layer) {\n    \/\/console.log('set_outlayer_cuthick') \/\/Delete this\n    if (0 == layer || \"\" == layer) {\n      return\n    }\n\n    if (9 !== layers[layer].categorie) {\n      jQuery(\"#order_Cu_thickness_outside\").val(layers[layer].cuthick).change();\n    } else {\n      jQuery(\"#order_Cu_thickness_outside\").val(layers[layer].cuthick + 35).change();\n    }\n  }\n\n\n\n\n  \/**\n   * view_orderform\n   *\n   *  generates the form. This is the bread and butter of the form\n   *\/\n\n\n  var view_orderform = function() {\n    \/\/console.log('view_orderform') \/\/Delete this\n\n    \/\/initial setup of values\n\n\n\n\n    \/\/resetts the panel form\n    jQuery(\"#orderform\").trigger(\"show_in_panel\");\n\n\n\n    \/\/disables form button at inital setup\n    \/\/jQuery('#SubmitFrom').prop('disabled', true);\n\n\n    \/\/validate form button (calculate)\n    jQuery(\"#calc_price\").on('click', function(event) {\n      \/\/console.log('calc_price.click') \/\/Delete this\n      event.preventDefault();\n      validateOrder();\n\n    });\n\n    \/\/price request button\n    \/*\t\n\n        jQuery(\"#pr_submit\").on('click', function( event ) {\n            \/\/console.log('pr_submit).on(click') \/\/Delete this\n            event.preventDefault();\n            validateOrder();\n    \t\t\n    \t\tjQuery(this).prop('disabled', true);\n    \t\t\n    \t\tvar btn_text = jQuery(this).text(); \n    \t\t \n    \t\tjQuery(this).html( btn_text + '<i class=\"fa fa-spinner fa-spin fa-fw\"><\/i>' ); \n    \t\t\n    \t\t\n    \tvalidateOrder();\n    \t\t\n            if(jQuery('#orderform .error:visible').length === 0)\n            {\n                jQuery('#orderform').submit();\n            } else {\n                error(jQuery(this).closest('.form-group'), \"Please correct errors\");\n    \t\t\t\n    \t\t\tjQuery(this).prop('disabled', false);\n    \t\t\t\n    \t\t\t\tjQuery(this).html(btn_text);\n            }\n        });\n    \t*\/\n    \/\/Protoshop send button\n\n    jQuery(\"#orderform\").on('submit', submit_form);\n\n    function submit_form(event) {\n\n      if (!table_saved && \"\" == jQuery('#buildTable').val()) {\n        save_buildup_table(event);\n      }\n\n      console.log(jQuery('#buildTable').val())\n\n      jQuery(\"#orderform\").trigger('submit_validation')\n\n      jQuery(\"#orderform\").off(\"submit\", submit_form);\n\n      \/\/console.log('#SubmitFrom).on(click') \/\/Delete this\n      event.preventDefault();\n\n      var btn_text = jQuery(\"#SubmitFrom\").text();\n\n      jQuery(\"#SubmitFrom\").html(btn_text + '<i class=\"fa fa-spinner fa-spin fa-fw\"><\/i>');\n\n      jQuery(\"#SubmitFrom\").prop('disabled', true);\n\n\n      var validate_results = validateOrder();\n      var file_validity_results = file_validity_check();\n      jQuery('#errors-alert').remove()\n\n      if (validate_results === 'no errors' && file_validity_results) {\n\n\n        \/\/alert(\"no errors\");\n        \/\/ console.log(jQuery('#imp-flag'))\n        jQuery('#orderform').submit();\n\n      } else {\n\n\n        \/\/alert(\"ERRORS\");\n\n\n        jQuery(\"#SubmitFrom\").closest('.form-group').prepend('<div id=\"errors-alert\" class=\"error alert alert-danger alert-dismissable\" role=\"alert\"><a href=\"#\" class=\"close\" data-dismiss=\"alert\" aria-label=\"close\">&times;<\/a>Palun korrigeeri vead<\/div>');\n\n\n\n        jQuery(\"#SubmitFrom\").prop('disabled', false);\n\n        jQuery(\"#SubmitFrom\").html(btn_text);\n\n        jQuery(\"#orderform\").on('submit', submit_form);\n\n        \/\/ Init errors listener to clear Submit error message\n        jQuery('#orderform').on('change', 'input, select', check_submit_errors);\n\n      }\n\n\n\n    }\n\n\n\n\n\n\n\n    \/**\n     *  color_check\n     *\n     *  check that solder mask and silkscreen arn't the same color\n     *\/\n\n    jQuery(\"#orderform\").on(\"color_check\", function(event) {\n      \/\/console.log('#orderform.on(color_check)') \/\/Delete this\n\n      \/\/ Color of the solder mask vs. Marking color\n      e = jQuery(\"#orderform select[name='order[SolderResistColor]']\");\n      e2 = jQuery(\"#orderform select[name='order[MarkingColor]']\");\n      if (e.is(\":visible\")) {\n        if (e2.is(\":visible\")) {\n          if (e.val() == e2.val()) {\n            error(e2.closest('.form-group'), 'Markeeringu v&auml;rv ja jootemaski v&auml;rv ei saa olla &uuml;hesugused.');\n          }\n        }\n      }\n\n      jQuery(\"#orderform select[name='order[MarkingColor]']\").change();\n\n    });\n\n\n    \/**\n     *  calc_panel_dimensions\n     *\n     *\n     *\/\n\n\n    jQuery(\"#orderform\").on(\"calc_panel_dimensions\", function(event) {\n      \/\/console.log('orderform.on.calc_panel_dimensions') \/\/Delete this\n\n\n\n      \/\/ get order[PlatX] and order[PlatY]\n      var PlatX = jQuery(\"#orderform input[name='order[PlatX]']\").val();\n      var PlatY = jQuery(\"#orderform input[name='order[PlatY]']\").val();\n\n      if (jQuery.isNumeric(PlatX) && jQuery.isNumeric(PlatY)) {\n        \/\/ if not in panel\n        if (jQuery(\"#orderform select[name='order[Leib]']\").val() == '0') return;\n\n        \/\/ if in attached file\n        if (jQuery(\"#orderform select[name='panelcraft']\").val() == '0') return;\n\n        \/\/ get order[CntOnPanelX] and order[CntOnPanelY]\n        var CntOnPanelX = parseInt(jQuery(\"#orderform input[name='order[CntOnPanelX]']\").val(), 10);\n        var CntOnPanelY = parseInt(jQuery(\"#orderform input[name='order[CntOnPanelY]']\").val(), 10);\n\n        if (jQuery.isNumeric(CntOnPanelX) && jQuery.isNumeric(CntOnPanelY)) {\n          \/\/ get order[PlanOfPanel] (0|x|y|xy)\n          var PlanOfPanel = jQuery(\"#orderform select[name='order[PlanOfPanel]']\").val();\n\n          \/\/ get order[FrameWidth] (5|10)\n          var FrameWidth = parseInt(jQuery(\"#orderform select[name='order[FrameWidth]']\").val(), 10);\n\n          \/\/ get order[panelCut] (vcut|frees)\n          var panelCut = jQuery(\"#orderform select[name='order[panelCut]']\").val();\n\n          \/\/ get order[FreesiD] (2.0|2.4)\n          var FreesiD = jQuery(\"#orderform select[name='order[FreesiD]']\").val();\n\n          var PlatXPanel = (PlatX * CntOnPanelX);\n          PlatXPanel += ((PlanOfPanel == 'y' || PlanOfPanel == 'xy') ? (2 * FrameWidth) : 0);\n          if (panelCut == 'frees') PlatXPanel += (1 + CntOnPanelX) * FreesiD;\n          jQuery(\"#orderform input[name='order[PlatXPanel]']\").val(PlatXPanel);\n\n          var PlatYPanel = (PlatY * CntOnPanelY);\n          PlatYPanel += ((PlanOfPanel == 'x' || PlanOfPanel == 'xy') ? (2 * FrameWidth) : 0);\n          if (panelCut == 'frees') PlatYPanel += (1 + CntOnPanelY) * FreesiD;\n          jQuery(\"#orderform input[name='order[PlatYPanel]']\").val(PlatYPanel);\n          jQuery(\"#orderform input[name='order[CntLeib]']\").val(CntOnPanelX * CntOnPanelY);\n\n        }\n\n\n        \/\/this ned to happen after calc_panel_dimensions & platX and Y must not be empty\n        jQuery(\"#orderform\").trigger(\"quantity_and_size_validation\");\n      }\n\n\n\n\n    });\n\n\n    \/**\n     *  quantity_and_size_validation\n     *\n     *\n     *\/\n\n\n    \/\/ on the fly validations\n    jQuery(\"#orderform\").on(\"quantity_and_size_validation\", function(event) {\n      \/\/console.log('orderform.on.quantity_and_size_validation') \/\/Delete this\n\n      \/\/\/order[PlatX] & order[PlatY]\n      var px = jQuery(\"#orderform input[name='order[PlatX]']\");\n      var py = jQuery(\"#orderform input[name='order[PlatY]']\");\n\n\n      \/\/ restricts value to two decimals\n      var px_val = parseFloat(px.val());\n      px.val(px_val.toFixed(2));\n\n\n      var py_val = parseFloat(py.val());\n      py.val(py_val.toFixed(2));\n\n\n      \/\/\/order[PlatX] & order[PlatY]\n      var px_ = parseFloat(px.val());\n      var py_ = parseFloat(py.val());\n\n\n\n\n      \/\/gets rid of error caused by empty vales\n\n      \/\/seems redundant?\n      if (px.val().length != 0) {\n        px.closest('.form-group').children('.error').remove();\n        px.parents('.input-group').removeClass('has-error'); \/\/get the container\n        px.parentsUntil('.form-group').removeClass('has-error'); \/\/get the container\n      }\n      if (py.val().length != 0) {\n        py.closest('.form-group').children('.error').remove();\n        py.parentsUntil('.form-group').removeClass('has-error'); \/\/get the container\n        py.parents('.input-group').removeClass('has-error'); \/\/get the container\n      }\n\n\n\n      var switched = false;\n      \/\/ if first is bigger lets swap the variables\n      if (px_ > py_) {\n        py_ = [px_, px_ = py_][0];\n        \/\/py_ = [px_, px_ = py_][0];\n        switched = true;\n      }\n\n      \/\/ py is always bigger\n      if (px_ < 20.00 || px_ > 360.00) {\n        error(px.closest('.form-group'), 'L&uuml;hema k&uuml;lje pikkus peab olema vahemikus 20mm - 360mm');\n        if (switched) {\n          py.parents('.input-group').addClass('has-error');\n        } else {\n          px.parents('.input-group').addClass('has-error');\n        }\n\n      }\n\n      if (py_ < 20.00 || py_ > 460.00) {\n        error(py.closest('.form-group'), 'Pikema k&uuml;lje pikkus peab olema vahemikus 20mm - 460mm');\n        if (switched) {\n          px.parents('.input-group').addClass('has-error');\n        } else {\n          py.parents('.input-group').addClass('has-error');\n        }\n      }\n\n      \/\/ ***** After size check reset X and Y sizes\n      var px_ = parseFloat(px.val());\n      var py_ = parseFloat(py.val());\n\n      \/\/\/\/ order[PlatXPanel] & order[PlatYPanel]\n      var pnx = jQuery(\"#orderform input[name='order[PlatXPanel]']\");\n      var pny = jQuery(\"#orderform input[name='order[PlatYPanel]']\");\n      var pnx_ = parseFloat(pnx.val());\n      var pny_ = parseFloat(pny.val());\n\n      var isfr = (jQuery(\"#orderform select[name='order[panelCut]']\").val() == 'frees' ? true : false);\n      var frv_ = jQuery(\"#orderform select[name='order[FreesiD]']\").val();\n\n      if (pnx.val().length != 0) {\n        pnx.closest('.form-group').children('.error').remove();\n        pnx.parent('.input-group').removeClass('has-error'); \/\/get the container\n        pnx.parentsUntil('.form-group').removeClass('has-error'); \/\/get the container\n      }\n      if (pny.val().length != 0) {\n        pny.closest('.form-group').children('.error').remove();\n        pny.parent('.input-group').removeClass('has-error'); \/\/get the container\n        pny.parentsUntil('.form-group').removeClass('has-error'); \/\/get the container\n      }\n      \/\/if(pnx.val().length != 0 && pny.val().length != 0 ) {\t\n\n      \/\/}\n\n      if (pnx.is(\":visible\")) {\n\n\n        if (pnx_ < (px_ + (isfr ? (2 * frv_) : 0))) {\n          error(pnx.closest('.form-group'), 'Paneeli X m&otilde;&otilde;t peab olema suurem &uuml;ksiku plaadi X m&otilde;&otilde;dust');\n          pnx.parent('.input-group').addClass('has-error');\n        }\n\n        console.log(pny_, py_, isfr, frv_)\n\n        if (pny_ < (py_ + (isfr ? (2 * frv_) : 0))) {\n          console.log(pny_, py_);\n          error(pny.closest('.form-group'), 'Paneeli Y m&otilde;&otilde;t peab olema suurem &uuml;ksiku plaadi Y m&otilde;&otilde;dust');\n          pny.parent('.input-group').addClass('has-error');\n        }\n\n\n\n\n\n        var switched_panel = false;\n        \/\/ if first is bigger lets swap the variables\n        if (pnx_ > pny_) {\n          pny_ = [pnx_, pnx_ = pny_][0];\n          \/\/py_ = [px_, px_ = py_][0];\n          switched_panel = true;\n        }\n\n\n        if (pnx_ < 60.00 || pnx_ > 360.00) {\n          error(pnx.closest('.form-group'), 'L&uuml;hema k&uuml;lje pikkus peab olema vahemikus 60 mm - 360 mm');\n          if (switched_panel) {\n            pny.parents('.input-group').addClass('has-error');\n          } else {\n            pnx.parents('.input-group').addClass('has-error');\n          }\n\n        }\n\n        if (pny_ < 60.00 || pny_ > 460.00) {\n          error(pny.closest('.form-group'), 'Pikema k&uuml;lje pikkus peab olema vahemikus 60 mm - 360 mm');\n          if (switched_panel) {\n            pnx.parents('.input-group').addClass('has-error');\n          } else {\n            pny.parents('.input-group').addClass('has-error');\n          }\n        }\n\n\n\n        \/*            \n        if(pnx_ <60.00 || pnx_ >360.00 || pnx_.toString()==\"NaN\") {\n                        error(pnx.closest('.form-group'),'Lubatud X min suurus: 60mm, max: 360mm');\n        \t\t\t\tpnx.parent('.input-group').addClass('has-error');\n        \t\t\t}\n\n        \t\t\tif(pny_ <60.00 || pny_ >460.00 || pny_.toString()==\"NaN\") {\n                        error(pny.closest('.form-group'),'Lubatud Y min suurus: 60mm, max: 460mm');\n        \t\t\t\tpny.parent('.input-group').addClass('has-error');\n        \t\t\t}\n        *\/\n      }\n\n\n      \/\/\/\/ order[Cnt]\n      var cn = jQuery(\"#orderform input[name='order[Cnt]']\");\n      var cl = jQuery(\"#orderform input[name='order[CntLeib]']\");\n\n\n      \/\/replaces all commas\n      \/\/var cn_val = cn.val().replace(',', '.');\n      \/\/console.log(\"cn_val: \"+cn_val);\n\n      var cn_ = parseInt(cn.val(), 10);\n      var cl_ = parseInt(cl.val(), 10);\n\n      if (cn.val().length != 0) {\n\n        cn.parentsUntil('.form-group').removeClass('has-error');\n        cn.closest('.form-group').children('.error').remove();\n\n      }\n\n      console.log(\"cn.val() : \" + cn.val());\n\n      \/\/check that user has not entered 0\n      if (cn.val() == 0) {\n\n        cn.parentsUntil('.form-group').removeClass('has-error');\n        cn.closest('.form-group').children('.error').remove();\n\n        error(cn.closest('.form-group'), 'Ei saa olla 0'); \/\/adds error message\n        cn.parentsUntil('.form-group').addClass('has-error'); \/\/adds error class\n      }\n\n      if (cl.val() == 0) {\n\n        cl.parentsUntil('.form-group').removeClass('has-error');\n        cl.closest('.form-group').children('.error').remove();\n\n        error(cl.closest('.form-group'), 'Ei saa olla 0'); \/\/adds error message\n        cl.parentsUntil('.form-group').addClass('has-error'); \/\/adds error class\n      }\n\n\n      if (cl.val().length != 0) {\n        cl.parentsUntil('.form-group').removeClass('has-error');\n        cl.closest('.form-group').children('.error').remove();\n      }\n\n\n      \/* \n        jQuery(\"#msg_yleprototoo\").hide();\n\n       if((cn_ * px_ * py_ \/ 10000) > 33 )\n            jQuery(\"#msg_yleprototoo\").show();*\/\n\n      if (cl.is(\":visible\")) {\n        if (cn_ % cl_ != 0) {\n          error(cl.closest('.form-group'), 'Plaatide arv peab jaguma paneelis olevate plaatide arvuga');\n          cn.parentsUntil('.form-group').addClass('has-error');\n          cl.parentsUntil('.form-group').addClass('has-error');\n        }\n        var plS = (cl_ * px_ * py_);\n        var pnS = (pnx_ * pny_);\n\n        if (plS > pnS) {\n          error(cl.closest('.form-group'), 'Plaadid ei mahu paneelile');\n          cn.parentsUntil('.form-group').addClass('has-error');\n          cl.parentsUntil('.form-group').addClass('has-error');\n        }\n      }\n\n    });\n\n\n\n\n\n    \/**\n     * on change handler trigger\n     *\n     *\n     *\/\n\n    \/\/very important that this function is on top\n    jQuery(\"#orderform input, #orderform select\").change(function() {\n\n      \/\/jQuery(\"#orderform\").trigger(\"mandatory_field_check\");\n      \/\/console.log('mandatory_field_check.change'); \n\n    });\n\n    jQuery(\"#orderform input[name='order[BoardName]']\").change(function() {\n      \/\/console.log('jQuery(\"#orderform input[name=order[BoardName]]\").change') \/\/Delete this\n      jQuery(\"#orderform\").trigger(\"check_pcb_name\");\n    });\n\n\n\n    \/\/ recalc panel dimensions\n    jQuery(\".calc_panel_dimensions\").change(function() {\n      \/\/console.log('calc_panel_dimensions.change') \/\/Delete this\n\n      \/\/order[PlatX]\n      \/\/order[PlatY]\n      \/\/order[Leib]\n      \/\/panelcraft\n      \/\/order[CntOnPanelX]\n      \/\/order[CntOnPanelY]\n      \/\/order[PlanOfPanel]\n      \/\/order[FrameWidth]\n      \/\/order[panelCut]\n      \/\/order[FreesiD]\n\n\n      jQuery(\"#orderform\").trigger(\"size_of_order\");\n      jQuery(\"#orderform\").trigger(\"calc_panel_dimensions\");\n    });\n\n\n\n    jQuery('body').on('change', \".check_delivery_restrictions\", function() {\n      jQuery(\"#orderform\").trigger(\"check_delivery_restrictions\");\n    })\n\n\n\n\n    \/\/ validate quantity and size\n    jQuery(\".quantity_and_size_validation\").change(function() {\n      \/\/console.log('quantity_and_size_validation.change') \/\/Delete this\n      \/\/-order[PlatX] \/\/ are triggered through calc_panel_dimensions\n      \/\/-order[PlatY] \/\/ are triggered through calc_panel_dimensions\n      \/\/-order[Leib] \/\/ are triggered through calc_panel_dimensions\n      \/\/order[PlatXPanel]\n      \/\/order[PlatYPanel]\n      \/\/order[Cnt]\n      \/\/order[CntLeib]\n\n      jQuery(\"#orderform\").trigger(\"quantity_and_size_validation\");\n      jQuery(\"#orderform\").trigger(\"size_of_order\");\n    });\n\n\n    jQuery(\".check_number_of_holes\").change(function() {\n      \/\/console.log('quantity_and_size_validation.change') \/\/Delete this\n      jQuery(\"#orderform\").trigger(\"check_number_of_holes\");\n    });\n\n\n\n    \/\/replace commas on the fly\n    \/*\tjQuery('input[type=\"number\"]').keyup(function(event) { \n    \t\t\t\t\n    \t\t\/\/jQuery(this).val()\n    \t\tvar code = (event.keyCode ? event.keyCode : event.which);\n    \t\t\/\/alert(code);\n    \t\t\n    \t\tconsole.log(jQuery('#PlatX').val());\n    \t\t\n    \t\tif(code == 188) { \/\/comma\n    \t\t\tevent.preventDefault();\n\n    \t\t\tjQuery('#PlatX').val(  parseFloat(jQuery('#PlatX').val()+\".\")  );\n\n    \t\t}\t\n    \t\t\n    \t\t\n    \t\t\n    \t\t\n    \t\n    \t});*\/\n\n\n\n    \/*\tfunction replaceCommas(_string) {\n    \t\t\t\t\t\n    \t\t\t\t\tconsole.log(_string);\n    \t\t\n    \t\t\t\t\t_string = _string.toString();\n    \t\t\t\t\t\n    \t\t\t\t\t_string = _string.replace(\",\", \".\");\n\n    \t\t\t\t\t_string = parseFloat(_string);\n\n    \t\t\t\t\treturn _string;\n    \t\t\t\t\t\n    \t\t\t\t\t\n    \t\t\t\t}*\/\n\n\n    \/\/ restrict to only numer imputs\n    \/*\n    jQuery('input[type=\"number\"]').keypress(function(event) {\n    \t\tvar code = (event.keyCode ? event.keyCode : event.which);\n    \t\t\/\/alert(code);\n    \t\tif (!(\n    \t\t\t\t(code >= 48 && code <= 57) \/\/numbers\n    \t\t\t\t\/\/|| (code == 46) \/\/period\n    \t\t\t\t|| (code == 44)\t\/\/comma\n    \t\t\t\t|| (code == 8)\n    \t\t\t\t|| (code == 9)\n\n    \t\t\t)\n    \t\t\t\/\/|| (code == 46 && $(this).val().indexOf('.') != -1)\n    \t\t\t|| (code == 44 && jQuery(this).val().indexOf(',') != -1)\n\n    \t\t   ) {\n\n    \t\t\tevent.preventDefault();\n    \t\t\talert(\"Only number allowed\");\n    \t\t}\n\n    \t});*\/\n\n\n    \/**\n     * show_in_panel\n     *\n     *  check that in panel is or isnt checked\n     *\/\n\n\n\n\n    jQuery(\"#orderform select[name='order[Leib]']\").change(function() {\n\n      \/\/console.log('jQuery(\"#orderform select[name=order[Leib]]\").change') \/\/Delete this\n      jQuery(\"#orderform\").trigger(\"show_in_panel\");\n      jQuery(\"#orderform\").trigger(\"size_of_order\");\n      jQuery(\"#orderform\").trigger(\"quantity_and_size_validation\");\n\n\n      \/\/console.log(\"change leib\");\n      if (jQuery(this).val() == 0) {\n        jQuery(\"#help-similar-panels\").hide();\n        jQuery(\"#CntLeib\").val(1);\n        \/\/console.log(\"change leib --> should be 0\");\n      } else {\n        jQuery(\"#help-similar-panels\").show();\n        if (jQuery(\"#CntLeib\").val() == 0) {\n          \/\/console.log(\"change leib --> should be 1\");\n          jQuery(\"#CntLeib\").val(1);\n\n        }\n      }\n\n    });\n\n\n    \/**\n     * panelcraft\n     *\n     *  check panel craft panel\n     *\/\n\n\n\n    jQuery(\"#orderform select[name='panelcraft']\").change(function() {\n      \/\/console.log('panelcraft.change') \/\/Delete this\n      \/\/reset values\n      jQuery('#panelcrafting input').val('');\n      jQuery(\"#panelcrafting select\").prop('selectedIndex', 0).change();\n\n      if (jQuery(this).val() == 1) {\n        jQuery(\"#help-file-reminder\").hide();\n        \/\/jQuery(\"#msg_reeperid\").show();\n\n\n\n        jQuery('#panelcrafting').show();\n\n        jQuery(\"#panelcreate input[name='order[PlatXPanel]']\").attr('readonly', 'readonly').val('');\n        jQuery(\"#panelcreate input[name='order[PlatYPanel]']\").attr('readonly', 'readonly').val('');\n        jQuery(\"#panelcreate input[name='order[CntLeib]']\").attr('readonly', 'readonly').val('');\n      } else {\n        jQuery(\"#help-file-reminder\").show();\n        \/\/jQuery(\"#msg_reeperid\").hide();\n\n        jQuery('#panelcrafting').hide();\n\n        jQuery(\"#panelcreate input[name='order[PlatXPanel]']\").attr('readonly', false);\n        jQuery(\"#panelcreate input[name='order[PlatYPanel]']\").attr('readonly', false);\n        jQuery(\"#panelcreate input[name='order[CntLeib]']\").attr('readonly', false);\n      }\n    });\n\n\n\n    jQuery(\"#orderform select[name='order[PlanOfPanel]']\").change(function() {\n      \/\/console.log('PlanOfPanel.change') \/\/Delete this\n      \/\/ reset values\n      jQuery(\"#framewidth select\").prop('selectedIndex', 0);\n\n      if (jQuery(this).val() != '0') {\n\n\n        jQuery('#help-fiducials').show();\n\n        jQuery('#framewidth').show();\n\n        if (jQuery(this).val() == 'x') jQuery(\"#selplan img\").attr(\"src\", \"https:\/\/www.brandner.ee\/wp-content\/plugins\/brandner-protoshop\/\/images\/icon_planx.png\");\n        else if (jQuery(this).val() == 'y') jQuery(\"#selplan img\").attr(\"src\", \"https:\/\/www.brandner.ee\/wp-content\/plugins\/brandner-protoshop\/\/images\/icon_plany.png\");\n        else jQuery(\"#selplan img\").attr(\"src\", \"https:\/\/www.brandner.ee\/wp-content\/plugins\/brandner-protoshop\/\/images\/icon_planxy.png\");\n      } else {\n        jQuery('#framewidth').hide();\n\n        jQuery('#help-fiducials').hide();\n\n        jQuery(\"#selplan img\").attr(\"src\", \"https:\/\/www.brandner.ee\/wp-content\/plugins\/brandner-protoshop\/\/images\/icon_plan.png\");\n      }\n    });\n\n    jQuery(\"#orderform select[name='order[panelCut]']\").change(function() {\n      \/\/console.log('panelCut.change') \/\/Delete this\n      \/\/ reset values\n      jQuery(\"#freesid select\").prop('selectedIndex', 0);\n\n      if (jQuery(this).val() == 'frees') jQuery('#freesid').show();\n      else jQuery('#freesid').hide();\n    });\n\n    jQuery(\"#CntLayers\").change(function() {\n      \/\/console.log('CntLayers.change') \/\/Delete this\n      jQuery(\"#orderform select[name='order[IsBuildUp]']\").closest('.form-group').children('.notice').remove();\n      jQuery(\"#buildUp\").val('');\n      jQuery(\"#ReBuildUp\").hide();\n      jQuery(\"#orderform select[name='order[IsBuildUp]']\").prop('selectedIndex', 0).change();\n\n      if (jQuery(this).val() == 2)\n        jQuery(\"#cu_inlayers\").hide();\n      else\n        jQuery(\"#cu_inlayers\").show();\n\n    });\n\n    jQuery(\"#ReBuildUpButton\").click(function() {\n      \/\/console.log('ReBuildUpButton.click') \/\/Delete this\n      \/\/ alert(\"click\");\n      \/\/jQuery(\"select[name='order[IsBuildUp]']\").change();\n      jQuery(\"#orderform_col\").hide();\n      \/\/ jQuery(\"#view_pakform\").show();\n      jQuery(\"#buildform_col\").show();\n      \/\/ jQuery('.buildup-table .impedance-input.manual-input').prop( \"disabled\", false );\n    });\n\n    jQuery(\"select[name='order[IsBuildUp]']\").change(function() {\n      \/\/console.log('IsBuildUp.change') \/\/Delete this\n      \/\/console.log(\"isbuildup changed\")\n\n\n      \/\/alert('isbuildup');\n\n      jQuery(\"#orderform\").trigger(\"compose_here_option\");\n\n\n      \/\/ hide rebuild button\n      jQuery(\"#ReBuildUp\").hide();\n      \/\/ console.log(\"ReBuildUp hidden\")\n\n\n      \/\/ switch view\n      \/\/ jQuery(\"#view_orderform\").hide();\n      jQuery(\"#orderform_col\").hide();\n      \/\/ jQuery(\"#view_pakform\").show();\n      jQuery(\"#buildform_col\").show();\n\n      \/\/ init\n      view_pakform();\n\n      if (jQuery(this).val() == '0') {\n        jQuery(\"#msg_brandnerist\").show();\n        jQuery(\"#pakform\").submit();\n      } else {\n        jQuery(\"#msg_brandnerist\").hide();\n        jQuery(\"#ReBuildUp\").show();\n        \/\/ console.log(\"ReBuildUp show\")\n      }\n\n    });\n\n    \/\/ jQuery(\"#order_Cu_thickness_inside\").change(function () {\n    \/\/\/\/     console.log('order_Cu_thickness_inside.change') \/\/Delete this\n    \/\/     if(jQuery(this).val() == '18') jQuery(\"#Cu_thickness_inside\").val('70');\n    \/\/     else if(jQuery(this).val() == '35') jQuery(\"#Cu_thickness_inside\").val('125');\n    \/\/     else jQuery(\"#Cu_thickness_inside\").val('225');\n    \/\/ });\n\n    \/\/*****New values\n    jQuery(\"#order_Cu_thickness_inside\").change(function() {\n      \/\/console.log('order_Cu_thickness_inside.change') \/\/Delete this\n      if (jQuery(this).val() == '18') jQuery(\"#Cu_thickness_inside\").val('75');\n      else if (jQuery(this).val() == '35') jQuery(\"#Cu_thickness_inside\").val('125');\n      else jQuery(\"#Cu_thickness_inside\").val('250');\n    });\n\n\n    \/\/ jQuery(\"#order_Cu_thickness_outside\").change(function () {\n    \/\/\/\/     console.log('order_Cu_thickness_outside.change') \/\/Delete this\n    \/\/     \/\/ console.log(jQuery(this).val());\n    \/\/     var key = ( jQuery(this).val() - 35 ); \/\/ without GalvCu\n    \/\/     \/\/ console.log(key);\n    \/\/     var valmap = { 12:60, 18:75, 35:100, 70:250, 105:350 };\n\n    \/\/     jQuery(\"#Cu_thickness_outside\").val(valmap[key]);\n\n    \/\/ });\n\n    \/\/*****New values\n    jQuery(\"#order_Cu_thickness_outside\").change(function() {\n      \/\/console.log('order_Cu_thickness_outside.change') \/\/Delete this\n      \/\/ console.log(jQuery(this).val());\n      var key = (jQuery(this).val() - 35); \/\/ without GalvCu\n      \/\/ console.log(key);\n      var valmap = {\n        12: 50,\n        18: 75,\n        35: 125,\n        70: 250,\n        105: 350\n      };\n\n      jQuery(\"#Cu_thickness_outside\").val(valmap[key]);\n\n    });\n\n    jQuery(\"#orderform select[name='order[SolderResist]']\").change(function() {\n      \/\/console.log('SolderResist.change') \/\/Delete this\n\n      \/\/ reset values\n      \/\/ jQuery(\"#SolderResistColor\").val(0).change();\n\n      \/\/trigger the ckeck\n      jQuery(\"#orderform\").trigger(\"color_check\");\n\n      if (jQuery(this).val() == '0') {\n        jQuery('#SolderResistColor').closest('.form-group').hide();\n\n      } else {\n        jQuery('#SolderResistColor').closest('.form-group').show();\n\n      }\n    });\n\n    jQuery(\"#orderform select[name='order[Marking]']\").change(function() {\n      \/\/console.log('Marking.change') \/\/Delete this\n      \/\/alert(\"rest\");\n      \/\/ reset values to third option\n      \/\/ jQuery(\"#MarkingColor\").val(2).change();\n\n\n      \/\/trigger the ckeck\n      jQuery(\"#orderform\").trigger(\"color_check\");\n\n      if (jQuery(this).val() == '0') jQuery('#MarkingColor').closest('.form-group').hide();\n      else jQuery('#MarkingColor').closest('.form-group').show();\n    });\n\n\n\n\n\n    jQuery(\"#orderform select[name='order[Coating]']\").change(function() {\n      \/\/console.log('Coating.change') \/\/Delete this\n      if (jQuery(this).val() == 1)\n        jQuery(\"#selicon img\").attr(\"src\", \"https:\/\/www.brandner.ee\/wp-content\/plugins\/brandner-protoshop\/\/images\/icon_sn.png\");\n      else\n        jQuery(\"#selicon img\").attr(\"src\", \"https:\/\/www.brandner.ee\/wp-content\/plugins\/brandner-protoshop\/\/images\/icon_gold.png\");\n    });\n\n    \/\/ The number of openings in the plate\n    jQuery(\"#orderform input[name='order[AvadeArv]']\").change(function() {\n      \/\/console.log('AvadeArv.change') \/\/Delete this\n\n      var e = jQuery(this);\n      e.val(parseInt(e.val()));\n\n\n      jQuery(this).parentsUntil('.form-group').removeClass('has-error');\n      jQuery(this).closest('.form-group').children('.error').remove();\n\n      if (jQuery.isNumeric(jQuery(this).val()) == false || jQuery(this).val() <= 0) {\n        error(jQuery(this).closest('.form-group'), 'Palun sisesta avade arv plaadil');\n      }\n\n      \/*        if((jQuery(this).val() * jQuery(\"#orderform input[name='order[Cnt]']\").val()) > 25000)\n              {\n                  error(jQuery(this).closest('.form-group'),'Avade arv suurem lubatust! Palun v&auml;henda tellitavat kogust. Kogu tellimuse lubatud avade arv on 25000');\n              }\n      *\/\n      \/\/ we check\n      if (jQuery(\"#orderform input[name='order[Cnt]']\").val() == '') {\n        jQuery(\"#orderform input[name='order[Cnt]']\").closest('.form-group').children('.error').remove();\n        error(jQuery(\"#orderform input[name='order[Cnt]']\").closest('.form-group'), 'Sisestage plaatide arv');\n      }\n\n    });\n\n    jQuery(\"#orderform select[name='order[SolderResistColor]']\").change(function() {\n      \/\/console.log('SolderResistColor.change') \/\/Delete this\n\n      if (jQuery(this).val() == 0) jQuery(\"#selsold img\").attr(\"src\", \"https:\/\/www.brandner.ee\/wp-content\/plugins\/brandner-protoshop\/\/images\/icon_green.png\");\n      if (jQuery(this).val() == 1) jQuery(\"#selsold img\").attr(\"src\", \"https:\/\/www.brandner.ee\/wp-content\/plugins\/brandner-protoshop\/\/images\/icon_black.png\");\n      if (jQuery(this).val() == 2) jQuery(\"#selsold img\").attr(\"src\", \"https:\/\/www.brandner.ee\/wp-content\/plugins\/brandner-protoshop\/\/images\/icon_white.png\");\n      if (jQuery(this).val() == 3) jQuery(\"#selsold img\").attr(\"src\", \"https:\/\/www.brandner.ee\/wp-content\/plugins\/brandner-protoshop\/\/images\/icon_blue.png\");\n      if (jQuery(this).val() == 4) jQuery(\"#selsold img\").attr(\"src\", \"https:\/\/www.brandner.ee\/wp-content\/plugins\/brandner-protoshop\/\/images\/icon_red.png\");\n\n      jQuery(\"#orderform select[name='order[MarkingColor]']\").change();\n    });\n\n    jQuery(\"#orderform select[name='order[MarkingColor]']\").change(function() {\n      \/\/console.log('MarkingColor.change') \/\/Delete this\n      jQuery(this).closest('.form-group').children('.error').remove();\n\n      if (jQuery(this).val() == jQuery(\"#orderform select[name='order[SolderResistColor]']\").val()) {\n        error(jQuery(this).closest('.form-group'), 'Markeeringu v&auml;rv ja jootemaski v&auml;rv ei saa olla &uuml;hesugused.');\n      }\n\n      if (jQuery(this).val() == 1) jQuery(\"#selmark img\").attr(\"src\", \"https:\/\/www.brandner.ee\/wp-content\/plugins\/brandner-protoshop\/\/images\/icon_black.png\");\n      if (jQuery(this).val() == 2) jQuery(\"#selmark img\").attr(\"src\", \"https:\/\/www.brandner.ee\/wp-content\/plugins\/brandner-protoshop\/\/images\/icon_white.png\");\n    });\n\n\n    \/*    \n    \tDeprictaed\n\n        jQuery(\"#confitions\").change(function () {\n            \/\/console.log('confitions.change') \/\/Delete this\n            if(jQuery(this).is(':checked'))\n            {\n                jQuery(this).closest('.form-group').children('.error').remove();\n                jQuery(this).closest('.red').removeClass('red');\n            }\n        });\n    \t\n\n    \tjQuery(\"#orderform select[name='order[ID_WayOfDelivery]'], #orderform select[name='order[ID_Country]']\").change(function () {\n            e = jQuery(\"#orderform select[name='order[ID_WayOfDelivery]']\");\n            e2 = jQuery(\"#orderform select[name='order[ID_Country]']\");\n\n            e.closest('.form-group').children('.error').remove();\n\n            if(CountryZoneTable[e2.val()]['d'+e.val()] == 0)\n                error(e.closest('.form-group'),'Selle riigi kohaletoimetamine ei kehti');\n        });*\/\n\n    \/\/ jQuery(\"#orderform :input\").change(calculatePrice);\n\n    \/*    jQuery(\"#orderform_reset\").click(function(){\n            window.location.replace('https:\/\/www.brandner.ee\/eng\/protoshop');\n        });*\/\n\n\n    \/\/validate the form before sending\n    \/*    jQuery(\"#calc_price\").submit(function( event ) {\n            event.preventDefault();\n\n            validateOrder();\n\n            \/\/if no errors:\n            if(jQuery('.error').length === 0)\n            {\n                calculatePrice();\n                jQuery(\"#form_action\").val('order');\n                jQuery(this).unbind('submit').submit();\n            }\n\n        });*\/\n\n    \/\/Levelup Andy code\n\n\n\n    \/\/validate the form before sending\n    jQuery(\"#orderform\").on('calculate_price', function(event) {\n      \/\/console.log('orderform.on.calculate_price') \/\/Delete this\n      \/\/ console.log('Calc price called')\n      \/\/ console.trace()\n      var cal_price = true;\n\n      \/\/ jQuery(\"#orderform input:visible :not(#fileToUpload)\").each(function() {\n      jQuery(\"#orderform input:visible\").each(function() {\n\n        \/\/ validate required fields\n        if (jQuery(this).is('[isreq]')) {\n          if (jQuery(this).val().length == 0) {\n            console.log(\"mandatory errors!\");\n            console.log(jQuery(this)[0])\n            \/\/clear price \n            cal_price = false;\n\n\n\n          } else {\n\n\n\n\n          }\n        }\n      });\n\n\n      if (cal_price) {\n        console.log(\"no mandatory errors - calc price!\");\n        brnr_maybe_calc_price();\n\n      } else {\n\n        console.log(\"clear price price!\");\n        \/\/clear prce\t\n        jQuery(\"#pricedisplay\").val('');\n\n      }\n\n\n      \/*\t\tif(validateOrder() === 'no errors') {\n      \t\t\t brnr_maybe_calc_price();\n      \t\t\t console.log(\"no errors visile!\");\n               } else {\n      \t\t\t console.log(\"errors visile!\");\n      \t\t\t \n      \t\t }*\/\n\n    });\n\n  };\n\n\n\n  \/**\n   * check_number_of_holes\n   *\n   *  Check if number of holes exeeds maximum limit\n   *\/\n\n\n  jQuery(\"#orderform\").on('check_number_of_holes', function(event) {\n\n    console.log(\"check_number_of_holes\")\n\n\n    var e = jQuery(\"#orderform input[name='order[AvadeArv]']\");\n    var e2 = jQuery(\"#orderform input[name='order[Cnt]']\");\n\n    e.val(parseInt(e.val()));\n    e2.val(parseInt(e2.val()));\n\n    jQuery(\"#orderform input[name='order[AvadeArv]']\").closest('.form-group').children('.notice, .error').remove();\n\n\n    if ((e.val() * e2.val()) > 25000) {\n\n\n\n      error(jQuery(\"#orderform input[name='order[AvadeArv]']\").closest('.form-group'), 'Avade arv suurem lubatust! Palun v&auml;henda tellitavat kogust.');\n    }\n\n  });\n\n\n\n\n  \/**\n   * show_in_panel\n   *\n   *  adds the dropdown div when \"in panel\" dropdown is switched\n   *\/\n\n  jQuery(\"#orderform\").on(\"show_in_panel\", function(event) {\n    \/\/console.log('orderform.on.show_in_panel') \/\/Delete this\n    \/\/ reset values\n    \/\/ jQuery('#panelcreate input').val('');\n    jQuery(\"#panelcreate select\").prop('selectedIndex', 0).change();\n\n    if (jQuery(\"#orderform select[name='order[Leib]']\").val() == -1) {\n\n      jQuery('#panelcreate').show();\n    } else {\n      jQuery('#panelcreate').hide();\n    }\n\n  });\n\n\n\n  \/**\n   * check_pcb_name\n   *\n   *  Characters \u201d or \u2019 not accepted.\n   *\/\n\n  jQuery(\"#orderform\").on(\"check_pcb_name\", function(event) {\n    \/\/console.log('orderform.on.check_pcb_name') \/\/Delete this\n\n    var _this = jQuery(\"#orderform input[name='order[BoardName]']\");\n\n    _this.closest('.form-group').children('.pcb_name_error').remove();\n    _this.parentsUntil('.form-group').removeClass('has-error');\n\n    var str = _this.val();\n    if (str.indexOf('\"') != -1 || str.indexOf(\"'\") != -1 || str.indexOf(\"\u201d\") != -1 || str.indexOf(\"\u2019\") != -1 || str.indexOf(\"\u201c\") != -1) {\n\n      \/\/console.log('Unacceptable characters found!'); \/\/Delete this\n\n      \/\/removes error message if function run twice\n\n\n\n      error2(_this.closest('.form-group'), 'T&auml;hem&auml;rgid &rdquo; v&otilde;i &rsquo; ei ole lubatud', 'pcb_name_error'); \/\/adds error message\n      _this.parentsUntil('.form-group').addClass('has-error'); \/\/adds error class\n\n    } else {\n\n      \/\/ jQuery('#errors-alert').remove()\n      \/\/console.log('No unacceptable characters found!'); \/\/Delete this\n\n      \/*\tDUPLICATE FUNCTION\t\t\n      if(_this.val().length != 0) { \/\/check if value isnt empty\n\n      \t\/\/removes error classes\n      \t_this.parent().removeClass('has-error'); \/\/get the container\n      \t_this.closest('.form-group').children('.error').remove();\n\n      } else {\n      \t_this.closest('.form-group').children('.error').remove(); \/\/removes any previous error linked to classs\n      \terror(_this.closest('.form-group'),'V&auml;li on kohustuslik'); \/\/adds error message\n      \t_this.parentsUntil('.form-group').addClass('has-error'); \/\/adds error class\n      }\n      *\/\n\n    }\n\n\n  });\n\n\n  \/**\n   * file_upload_check\n   *\n   *  Check fi file is present\n   *\/\n\n\n\n\n\n\n  \/**\n   * check_delivery_restrictions\n   *\n   *  Check delivery time restrictions\n   *\/\n\n\n\n  jQuery(\"#orderform\").on(\"check_minimum_opening\", function(event) {\n    \/\/console.log('orderform.on.check_minimum_opening') \/\/Delete this\n\n    \/\/ minimum opening (mm)\n\n    var e2 = jQuery(\"#order_FullPaksus\");\n    e2.closest('.form-group').children('.notice').remove();\n\n    \/*\n    \n    Mandatory Selectbox. Table DrillList. By default a smallest possible drill size is given, found as following: if FullPaksus<=1.2mm, then smallest MinAva=0.1mm, if FullPaksus<=1.616mm, then smallest MinAva=0.15mm (0.1mm hidden from the list); if FullPaksus >1.616mm then smallest MinAva=0.2mm (0.1 and 0.15 are hidden from the list).\n    \n    *\/\n\n    if (e2.val() <= 1.2) {\n\n      \/\/alert( e2.val()+\"is <= 1.2\");\n      \/\/MinAva=0.1mm\n      disableMinavaOption(false);\n\n\n\n      notice(e2.closest('.form-group'), '0,1 mm ava suurus on v&otilde;imalik plaatidele, mille paksus on 1,2 mm v&otilde;i alla selle');\n\n\n    } else if (e2.val() <= 1.616) {\n\n      \/\/alert( e2.val()+\"is <= 1.6\");\n\n      disableMinavaOption([0.1]);\n\n      notice(e2.closest('.form-group'), '0,15 mm ava suurus on v&otilde;imalik plaatidele, mille paksus on 1,616 mm v&otilde;i alla selle');\n\n      \/\/MinAva=0.15mm\n    } else { \/\/ > 1.616\n\n      \/\/alert(e2.val()+\"is bigger than 1.6 \");\n\n      \/\/MinAva=0.2mm\n\n      notice(e2.closest('.form-group'), '0,2 mm avade puhul plaadi paksusele piirangud puuduvad (maksimum 2,4 mm)');\n\n\n\n      disableMinavaOption([0.1, 0.15]);\n    }\n\n\n    \/*\t\tif(e.val() == '0.15')\n            {\n    \t\t\t\n\n    \t\t\t\n    \t\t\t\n                if(e2.val() != '1.616')\n                {\n                    error(e.closest('.form-group'),'Minimaalse ava 0.15 mm korral on lubatud plaadi paksus max 1.6 mm');\n                }\n            }\n    *\/\n  });\n\n\n  \/**\n   * disableMinavaOption\n   *\n   *  Check what delivery days are available and restricts the dropdown\n   *\/\n\n\n  function disableMinavaOption(num) {\n    \/\/console.log('disableMinavaOption') \/\/Delete this\n\n    \/\/resets opions \n\n    jQuery(\"select#Minava option\").prop('disabled', false).show();\n\n\n    if (num[0] == 0 || num == '' || num == false) {\n      return;\n    }\n\n    \/\/var e = jQuery(\"#orderform select[name='order[Minava]']\");\n\n    for (var i = 0, len = num.length; i < len; i++) {\n      \/\/loop through all the opions to disable\n      \/\/alert(\"disable this option: \"+ num[i]); \n\n      jQuery(\"select#Minava option[value='\" + num[i] + \"']\").prop('disabled', true).hide();\n\n\n    } \/\/ for\n\n\n    \/\/switch the dropdown value if option isn't available\n\n    \/\/check if the current dropdown value is disabled\n\n    var currentval = jQuery(\"select#Minava\").val();\n\n    \/\/var curentitem =  jQuery(\"select#DeliveryDays option[value='\"+currentval+\"']\").prop('disabled');\n\n    \/\/alert( \"currentval -->\");\n\n    if (currentval == null) {\n\n      \/\/alert( \"value is null\" );\n\n      jQuery(\"select#Minava option\").each(function(index, value) {\n        \/\/console.log('select#Minava option.each') \/\/Delete this\n\n        \/\/alert( \"prop: \"+ jQuery(this).prop('disabled'));\n\n\n        if (jQuery(this).prop('disabled') == false) {\n\n          jQuery(\"select#Minava\").val(jQuery(this).val());\n\n          \/\/alert( \"set dropdown value to : \"+ jQuery(this).val() );\n\n          \/\/return after value has switched\n          return false;\n\n        }\n\n\n      });\n\n    }\n\n  }\n\n\n\n\n  \/**\n   * disableOption\n   *\n   *  Check what delivery days are available and restricts the dropdown\n   *\/\n\n\n  function disableOption(num) {\n    \/\/console.log('disableOption') \/\/Delete this\n    \/\/resets opions \n\n    jQuery(\"select#DeliveryDays option\").prop('disabled', false).show();\n\n\n    if (num[0] == 0 || num == '' || num == false || num == 0) {\n\n      \/\/change delivery days to 2,3,4,\n      notice(jQuery(\"#orderform select#DeliveryDays\").closest('.form-group'), '24h tarne saadaval');\n\n      return;\n    }\n\n\n    for (var i = 0, len = num.length; i < len; i++) {\n      \/\/loop through all the opions to disable\n      \/\/alert(\"disable this option: \"+ num[i]); \n\n      jQuery(\"select#DeliveryDays option[value='\" + num[i] + \"']\").prop('disabled', true).hide();\n\n\n    } \/\/ for\n\n\n    \/\/switch the dropdown value if option isn't available\n\n    \/\/check if the current dropdown value is disabled\n\n    var currentval = jQuery(\"select#DeliveryDays\").val();\n\n    \/\/var curentitem =  jQuery(\"select#DeliveryDays option[value='\"+currentval+\"']\").prop('disabled');\n\n    \/\/alert( \"currentval -->\");\n\n    if (currentval == null) {\n\n      \/\/alert( \"value is null\" );\n\n      jQuery(\"select#DeliveryDays option\").each(function(index, value) {\n        \/\/console.log('select#DeliveryDays option.each') \/\/Delete this\n        \/\/alert( \"prop: \"+ jQuery(this).prop('disabled'));\n\n\n        if (jQuery(this).prop('disabled') == false) {\n\n          jQuery(\"select#DeliveryDays\").val(jQuery(this).val());\n\n          \/\/alert( \"set dropdown value to : \"+ jQuery(this).val() );\n\n          notice(jQuery(\"#orderform select#DeliveryDays\").closest('.form-group'), '24h tarne ei ole v&otilde;imalik, valitud parim v&otilde;imalik tarne aeg');\n          \/\/return after value has switched\n          return false;\n\n        }\n\n\n      });\n\n    }\n\n  }\n\n  \/**\n   * compose_here_option\n   *\n   *  restricts delivery time for compose here option\n   *\/\n\n  jQuery(\"#orderform\").on(\"compose_here_option\", function(event) {\n    \/\/console.log('orderform.on.compose_here_option') \/\/Delete this\n\n    if (jQuery(\"#orderform select[name='order[IsBuildUp]']\").val() == 0) {\n      \/\/use brandner standard build\n      \/\/alert(\"se brandner standard build\"); \n      \/\/disableOption(false);\n    } else {\n      \/\/compose here\n      \/\/alert(\"compose here\");\n      \/\/disableOption([1,2]);\n    }\n\n\n\n  });\n\n\n  \/**\n   * check_delivery_restrictions\n   *\n   *  Check delivery time restrictions\n   *\/\n\n  jQuery(\"#orderform\").on(\"check_delivery_restrictions\", function(event) {\n    \/\/console.log('orderform.on.check_delivery_restrictions') \/\/Delete this\n\n\n\n\n    enforce_delivery_restrictions();\n\n  });\n\n\n\n  \/**\n   * size_of_order\n   *\n   *  restricts delivery time for size of order\n   *\/\n\n  jQuery(\"#orderform\").on(\"size_of_order\", function(event) {\n    \/\/console.log('orderform.on.size_of_order') \/\/Delete this\n\n    size_of_order();\n\n  });\n\n\n\n  \/**\n   * enforce_delivery_restrictions\n   *\n   *  restricts delivery time for compose here option\n   *\/\n\n  function enforce_delivery_restrictions() {\n\n\n    \/\/alert(\"trigger check check_delivery_restrictions\");\n    \/\/ Number of openings per plate\n\n    var e = jQuery(\"#orderform input[name='order[AvadeArv]']\");\n    var e2 = jQuery(\"#orderform input[name='order[Cnt]']\");\n    var e3 = jQuery(\"#orderform select#DeliveryDays\");\n    var e4 = jQuery(\"#panelcraft\");\n    var e5 = jQuery(\"#CntLayers\");\n\n    var e6 = size_of_order();\n\n    e.val(parseInt(e.val()));\n    e2.val(parseInt(e2.val()));\n    e4.val(parseInt(e4.val()));\n\n\n    \/\/resets the delivery notice\n    e3.closest('.form-group').children('.notice, .error').remove();\n\n\n\n    delivery_restrictions = {\n1 : {max_holes_per_order: 10000, panelisation_option: 0, max_boards_area: 160000, max_count_of_layers: 12, },\n2 : {max_holes_per_order: 25000, panelisation_option: 0, max_boards_area: 330000, max_count_of_layers: 12, },\n3 : {max_holes_per_order: 25000, panelisation_option: 1, max_boards_area: 330000, max_count_of_layers: 12, },\n4 : {max_holes_per_order: 25000, panelisation_option: 1, max_boards_area: 330000, max_count_of_layers: 12, },\n}\n    \n\n    var restrictions = false;\n    var disablearray = [];\n    var order_size = 0;\n\n    jQuery.each(delivery_restrictions, function(key, value) {\n\n      \/\/number of holes\n      if ((e.val() * e2.val()) > value.max_holes_per_order) {\n        console.log(key + \"max_holes_per_order Restrictions = true\");\n        restrictions = true;\n\n      }\n\n      \/\/panelisation_option\n\n\n      console.log('panelisation_option', parseInt(e4.val()), value.panelisation_option);\n\n      if (parseInt(e4.val()) > value.panelisation_option) {\n        restrictions = true;\n        console.log(key + \"panelisation_option Restrictions = true\");\n      }\n\n      \/\/max order size\n\n\n      if (e6 > value.max_boards_area) {\n        console.log(key + \"max_boards_area Restrictions = true\" + e6 + ' > ' + value.max_boards_area);\n        restrictions = true;\n\n      }\n\n\n      console.log(key + \"order_size \" + e6);\n\n      \/\/max layers\n\n      if (e5.val() > value.max_count_of_layers) {\n        console.log(key + \"max_count_of_layers Restrictions = true\" + e5.val() + ' > ' + value.max_count_of_layers);\n        restrictions = true;\n\n      }\n\n\n      if (restrictions == false) {\n        console.log(\"no restrictions found exit loop (\" + key + \")\");\n\n        return false;\n\n      } else {\n\n        disablearray.push(key);\n\n        \/\/console.log(  key +\" restrictions found --> continue\"  );\t\t\n        restrictions = false; \/\/reset value for next loop\t\t\t\n      }\n\n\n    });\n\n    \/\/ Disable \/ enable options\n\n    \/\/add errors if necceasry\n\n\n    jQuery(\"#orderform\").trigger(\"check_number_of_holes\");\n\n\n\n    disableOption(disablearray);\n\n  }\n\n  \/*         if(pnx_ <60 || pnx_ >360 || pnx_.toString()==\"NaN\") {\n                  error(pnx.closest('.form-group'),'Lubatud X min suurus: 60mm, max: 360mm');\n  \t\t\t\tpnx.parent('.input-group').addClass('has-error');*\/\n\n\n  \/\/jQuery(this).closest('.form-group').children('.error').remove();\n  \/\/jQuery(this).parentsUntil('.form-group').removeClass('has-error');\n  \/\/alert(\"error\");\n\n\n  function size_of_order() {\n    console.log(\"size_of_order\");\n\n    var order_size = 0;\n    \/\/ get order[PlatX] and order[PlatY]\n    var PlatX = jQuery(\"#orderform input[name='order[PlatX]']\").val();\n    var PlatY = jQuery(\"#orderform input[name='order[PlatY]']\").val();\n    var cn = jQuery(\"#orderform input[name='order[Cnt]']\").val();\n\n    console.log(\"cn: \" + cn);\n\n\n    var PlatXPanel = jQuery(\"#orderform input[name='order[PlatXPanel]']\").val();\n    var PlatYPanel = jQuery(\"#orderform input[name='order[PlatYPanel]']\").val();\n\n    \/\/convert to float\n    PlatXPanel = parseFloat(PlatXPanel);\n    PlatYPanel = parseFloat(PlatYPanel);\n\n    \/\/restict to two decimals\n    jQuery(\"#orderform input[name='order[PlatXPanel]']\").val(PlatXPanel.toFixed(2));\n    jQuery(\"#orderform input[name='order[PlatYPanel]']\").val(PlatYPanel.toFixed(2));\n\n    var CntLeib = jQuery(\"#orderform input[name='order[CntLeib]']\").val();\n\n    CntLeib = parseInt(CntLeib);\n    cn = parseInt(cn);\n\n    \/\/resets the error message\n    jQuery(\"#orderform input[name='order[Cnt]']\").closest('.form-group').children('.notice, .error').remove();\n\n\n    \/\/check that values are not empty\n\n    if (jQuery(\"#orderform select[name='order[Leib]']\").val() == '0') {\n      \/*IF PANEL NO = Dimension of single PCB  * number of pcbs in total.*\/\n      var dimension = PlatX * PlatY;\n\n      \/\/check that values are not empty\n      if (PlatX.length != 0 && PlatY.length != 0 && cn.length != 0) {\n        order_size = (((PlatX * PlatY) * cn));\n      }\n\n    } else {\n\n      \/*panel dimension * totals pcbs \/ total pcbs in panel.*\/\n\n      \/\/check that values are not empty\n\n      if (PlatXPanel.length != 0 && PlatYPanel.length != 0 && cn.length != 0 && CntLeib.length != 0) {\n\n        order_size = ((((PlatXPanel * PlatYPanel) * cn) \/ CntLeib));\n\n        console.log(PlatXPanel, PlatYPanel, cn, CntLeib);\n\n      }\n    }\n\n\n    if ((order_size \/ 10000) > 33) {\n      error(jQuery(\"#orderform input[name='order[Cnt]']\").closest('.form-group'), 'Maksimaalne plaadi pindala tellimuse kohta on 33dm2, praegune tellimus on: ' + (Math.round(order_size) \/ 10000) + 'dm<sup>2<\/sup>. ' + 'Palun v&otilde;tke &uuml;hendust m&uuml;&uuml;gimeeskonnaga suuremate tellimuste korral &lt;a href=&quot;mailto:sales@brandner.ee&quot;&gt; sales@brandner.ee &lt;\/a&gt;.');\n      \/\/jQuery(this).addClass('has-error');\n      jQuery(\"#orderform input[name='order[Cnt]']\").parentsUntil('.form-group').addClass('has-error');\n\n    }\n\n\n    return order_size;\n  }\n\n\n  function trigger_calc() {\n    \/\/console.log('trigger_calc') \/\/Delete this\n\n    jQuery(\"#orderform\").off(\"change\", \"input, select\", trigger_calc);\n\n    \/\/Ignore file error for this calculation\n    if (jQuery(\".error:visible:not(#insidemyfiles .error):not(#errors-alert)\").length == 0) {\n      \/\/ if(jQuery(\".error:visible\").length == 0){\n      jQuery(\"#orderform\").trigger(\"calculate_price\");\n    } else {\n      \/\/clear prce\t\n      jQuery(\"#pricedisplay\").val('');\n    }\n\n\n    jQuery(\"#orderform\").on(\"change\", \"input, select\", trigger_calc);\n  }\n\n\n  \/**\n   * individual_mandatory_field_check\n   *\n   *  \/\/basic error check, see if an idivudual field is required\n   *\/\n\n\n  jQuery(\"#orderform\").on(\"change\", \"input, select\", individual_mandatory_field_check);\n\n  function individual_mandatory_field_check() {\n\n    console.log(\"individual_mandatory_field_check\");\n\n\n    if (jQuery(this).is('[isreq]')) {\n\n\n      jQuery(this).closest('.form-group').children('.mand-error').remove();\n\n      jQuery(this).parentsUntil('.form-group').removeClass('has-error');\n\n      if (jQuery(this).val().length == 0) {\n\n        \/\/ jQuery(this).closest('.form-group').children('.notice, .error').remove();\t\n\n        \/\/ jQuery(this).parentsUntil('.form-group').removeClass('has-error');\n\n\n        error2(jQuery(this).closest('.form-group'), 'V&auml;li on kohustuslik', 'mand-error');\n        \/\/jQuery(this).addClass('has-error');\n        jQuery(this).parentsUntil('.form-group').addClass('has-error');\n      } else {\n\n        \/\/ remove mandatory field error \n        \/\/ if( jQuery(this).closest('.form-group').children(' .error').html() === 'V&auml;li on kohustuslik' ) {\n\n\n\n        \/\/ jQuery(this).closest('.form-group').children(' .error').remove();\t\n\n        \/\/ jQuery(this).parentsUntil('.form-group').removeClass('has-error');\n\n        \/\/ \t\/\/ jQuery('#errors-alert').remove()\n\n\n        \/\/    }\n\n      }\n    }\n\n\n\n  }\n\n\n\n\n\n\n\n  \/**\n   * mandatory_field_check\n   *\n   *  \/\/basic error check, see if the all the field are mandetory nad contains data\n   *\/\n\n\n  function mandatory_field_check() {\n    \/\/console.log('#orderform.on(mandatory_field_check)') \/\/Delete this\n    \/\/ remove all errors\n\n    \/\/ jQuery('.error').remove();\n    \/\/ jQuery('.has-error').removeClass('has-error');\n\n    \/\/ highlite mandatory fields\n    jQuery(\"#orderform input\").each(function() {\n      \/\/\/\/ console.log('#orderform input.each'+jQuery(this).attr('id')); \/\/Delete this\n      \/\/ validate required fields\n      if (jQuery(this).is('[isreq]')) {\n        jQuery(this).closest('.form-group').find('.mand-error').remove();\n        jQuery(this).parentsUntil('.form-group').removeClass('has-error');\n\n        if (jQuery(this).val().length == 0) {\n          error2(jQuery(this).closest('.form-group'), 'V&auml;li on kohustuslik', 'mand-error');\n          \/\/jQuery(this).addClass('has-error');\n          jQuery(this).parentsUntil('.form-group').addClass('has-error');\n        } else {\n\n        }\n      }\n    });\n\n\n  }\n\n\n\n\n\n\n  \/**\n   * Document ready\n   *\n   *  init function for the script\n   *\/\n\n\n  jQuery(document).ready(function() {\n    jQuery(\"#view_orderform\").show();\n    view_orderform();\n\n    jQuery(\"#orderform select[name='order[IsBuildUp]']\").val('0').change();\n    \/\/ jQuery(\"#orderform select[name='order[SolderResist]']\").val('3').change();\n    \/\/ jQuery(\"#orderform select[name='order[Marking]']\").val('3').change();\n    jQuery(\"#orderform select[name='order[SolderResistColor]']\").change();\n    jQuery(\"#orderform select[name='order[MarkingColor]']\").change();\n\n    \/\/failsafe if browser is refreshed\n    \/\/ jQuery(\"#orderform select[name='order[Coating]']\").change();\n    jQuery(\"#orderform\").on(\"mandatory_field_check\", mandatory_field_check);\n    jQuery(\"#orderform\").on(\"change\", \"input, select\", trigger_calc);\n\n\n\n  });\n\n\n\n\n  (function() {\n    jQuery(\"#genImage\").on('click', generate_image)\n  })()\n\n  \n  function generate_image() {\n    t_cont = jQuery(\"#view_table\")\n    canvas = jQuery(\"<canvas><\/canvas>\")\n    canvas_el = canvas[0]\n    \/\/ canvas_el.width = t_cont.outerWidth()\n    canvas_el.width = 875\n    \/\/ canvas_el.width = \n    \/\/ console.log(t_cont.outerHeight(), t_cont.outerHeight()*1.05)\n    \/\/ canvas_el.height = t_cont.outerHeight()*1.05\n    canvas_el.height = t_cont.outerHeight() * 0.80\n\n    css = \"<style>body {    font-size: 16px;    color: #1a1749;    line-height: 1.6;    letter-spacing: 0.5px;    font-family: 'Rubik', sans-serif;}.table {    width: 100%;    max-width: 100%;    border-spacing: 0;    border-collapse: collapse;}.orange {    background-color: #fc7e00;}.yellow {    background-color: #fcec00;}.gray {    background-color: #d4d4d4;}th {    text-align: left;    line-height: 1.42857143;}table th.b {    border: 1px solid darkgrey;    padding: 2px;}table td{    text-align: center;    padding: 8px;    line-height: 1.42857143;    vertical-align: top;    border-top: 1px solid #ddd;}table td.b {    border: 1px solid darkgrey;    padding: 2px;}.align-right{    text-align: right;}<\/style>\"\n    def = jQuery.Deferred();\n    rasterizeHTML.drawHTML(t_cont.html() + css, canvas_el).then(function(result) {\n      jQuery(\".protoshop\").append(canvas)\n      def.resolve(canvas_el.toDataURL())\n    }, function(e) {\n      console.log('An error occured:', e);\n    });\n\n    return def.promise()\n  }\n\n  (function() {\n    \/\/ jQuery(\"#orderform\").on('submit', form_generate_image)\n\n    jQuery('document').ready(function() {\n      jQuery(\"#pakform\").on('submit', save_buildup_table)\n    })\n    jQuery(\"#orderform\").on('submit', save_impedance_data)\n  })()\n\n  function form_generate_image(evt) {\n    evt.preventDefault()\n    form = jQuery(this)\n    generate_image().done(function(data) {\n      form.off('submit', form_generate_image)\n      jQuery(\"#buildImage\").val(data)\n      form.submit()\n    })\n    \/\/ console.log(form)\n  }\n\n  table_saved = false\n\n  function save_buildup_table(evt) {\n    \/\/ if(table_saved){\n    \/\/     return\n    \/\/ }\n    \/\/console.log('save_buildup_table') \/\/Delete this\n    \/\/ evt.preventDefault()\n    t_cont = jQuery(\"#view_table\").clone()\n    t_cont.find('input.impedance-input.manual-input').each(function() {\n      var val = jQuery(this).val()\n      var parent = jQuery(this).parent()\n      jQuery(this).prop('type', 'hidden')\n      parent.append(val)\n    })\n    \/\/ t_cont.find('select.impedance-input.manual-input option:selected').each(function(){\n    t_cont.find('select.impedance-input.layer-type').each(function(index, value) {\n      var val = jQuery(jQuery(\"#view_table select.impedance-input.layer-type option:selected\")[index]).html()\n      \/\/ var val = jQuery(this).html()\n      var parent = jQuery(this).parents('td')\n      parent.children('select').css({\n        display: 'none'\n      })\n      parent.append(val)\n    })\n    css = \"<style>body {    font-size: 16px;    color: #1a1749;    line-height: 1.6;    letter-spacing: 0.5px;    font-family: 'Rubik', sans-serif;}.table {    width: 100%;    max-width: 100%;    border-spacing: 0;    border-collapse: collapse;}.orange {    background-color: #fc7e00;}.yellow {    background-color: #fcec00;}.gray {    background-color: #d4d4d4;}th {    text-align: left;    line-height: 1.42857143;}table th.b {    border: 1px solid darkgrey;    padding: 2px;}table td{    text-align: center;    padding: 8px;    line-height: 1.42857143;    vertical-align: top;    border-top: 1px solid #ddd;}table td.b {    border: 1px solid darkgrey;    padding: 2px;}.align-right{    text-align: right;}<\/style>\"\n    t_html = t_cont.html()\n    encoded_t_html = encodeURIComponent(t_html)\n    jQuery(\"#buildTable\").val(encoded_t_html)\n\n    \/\/ jQuery('#table_col').append(t_cont)\n    \/\/ jQuery(this).submit()\n    table_saved = true\n  }\n\n  function save_impedance_data(evt) {\n    \/\/console.log('save_impedance_data') \/\/Delete this\n    if (0 == jQuery(\"#calc_imp_check:checked\")) {\n      return;\n    }\n    jQuery(\".impedance-submit\").remove()\n\n    jQuery(\"#orderform\").append('<input name=\"proto-imp-calc\" type=\"hidden\" value=\"1\" class=\"impedance-submit\">')\n    var fields = get_imp_data()\n    fields.forEach(function(element) {\n      jQuery(\"#orderform\").append('<input name=\"' + element.name + '\" type=\"hidden\" value=\"' + element.value + '\" class=\"impedance-submit\">')\n    });\n  }\n  \/\/ var input = document.getElementById(\"input\"),\n  \/\/     canvas = document.getElementById(\"canvas\"),\n  \/\/     template = document.getElementById(\"template\"),\n  \/\/     oldText = input.value;\n\n  \/\/ var draw = function () {\n  \/\/     rasterizeHTML.drawHTML(input.value, canvas).then(function (result) {\n  \/\/         console.log(result);\n  \/\/     }, function (e) {\n  \/\/         console.log('An error occured:', e);\n  \/\/     });\n  \/\/ };\n\n  \/\/ input.onkeyup = function () {\n  \/\/     if (input.value !== oldText) {\n  \/\/         oldText = input.value;\n  \/\/         canvas.getContext(\"2d\").clearRect(0, 0, canvas.width, canvas.height);\n\n  \/\/         draw();\n  \/\/     }\n  \/\/ };\n\n  \/\/ if (!input.value) {\n  \/\/     input.value = template.innerHTML.replace(\/^ {8}\/gm, \"\").replace(\/^\\n\/g, \"\").replace(\/\\n +$\/g, \"\\n\");\n  \/\/ }\n  \/\/ draw();\n  function check_submit_errors(evt) {\n    console.log('Checking if submit errors have been corrected');\n    errors = jQuery('#orderform .error:not(#errors-alert):visible')\n    console.log('Num errors: ' + errors.length)\n    if (0 == errors.length) {\n      jQuery('#errors-alert').remove();\n      \/\/ jQuery('#orderform').off('change', 'input, select', check_submit_errors);\n    }\n  }\n<\/script>\n<script type=\"text\/javascript\">\n  \/\/ Warn if overriding existing method\n  if (Array.prototype.equals)\n    console.warn(\"Overriding existing Array.prototype.equals. Possible causes: New API defines the method, there's a framework conflict or you've got double inclusions in your code.\");\n  \/\/ attach the .equals method to Array's prototype to call it on any array\n  Array.prototype.equals = function(array) {\n    \/\/ if the other array is a falsy value, return\n    if (!array)\n      return false;\n\n    \/\/ compare lengths - can save a lot of time\n    if (this.length != array.length)\n      return false;\n\n    for (var i = 0, l = this.length; i < l; i++) {\n      \/\/ Check if we have nested arrays\n      if (this[i] instanceof Array && array[i] instanceof Array) {\n        \/\/ recurse into the nested arrays\n        if (!this[i].equals(array[i]))\n          return false;\n      } else if (this[i] != array[i]) {\n        \/\/ Warning - two different object instances will never be equal: {x:20} != {x:20}\n        return false;\n      }\n    }\n    return true;\n  }\n  \/\/ Hide method from for-in loops\n  Object.defineProperty(Array.prototype, \"equals\", {\n    enumerable: false\n  });\n\n  (function() {\n    jQuery('#calc_price').on('click', brnr_calc_price)\n    view_pakform()\n\n    jQuery(\"#calc_imp_check\").on('change', function() {\n      \/\/ console.log(\"Impedances changed\")\n      \/\/ jQuery(\"#pakform\").trigger(\"generate_view\")\n    })\n    jQuery(\"#orderform\").on(\"submit_validation\", check_name_or_company);\n    jQuery('#orderform').on('submit_validation', company_name_validity_check);\n    jQuery('#orderform').on('submit_validation', contact_person_validity_check);\n    jQuery('#orderform').on('submit_validation', email_validity_check);\n    jQuery('#orderform').on('submit_validation', phone_validity_check);\n\n  })()\n\n  function countUtf8Bytes(s) {\n    var b = 0,\n      i = 0,\n      c\n    for (; c = s.charCodeAt(i++); b += c >> 11 ? 3 : c >> 7 ? 2 : 1);\n    return b\n  }\n\n  price_calc_timeout = null;\n\n  function brnr_maybe_calc_price() {\n    clearTimeout(price_calc_timeout)\n    price_calc_timeout = setTimeout(brnr_calc_price, 500)\n  }\n\n  function brnr_calc_price() {\n    console.log('brnr_calc_price') \/\/Delete this\n    post_data = jQuery('#orderform').serializeArray();\n    post_data.push({\n      name: 'price_calc',\n      value: 1\n    });\n    \/\/ console.log(post_data);\n    jQuery.post(window.location.origin + \"\/wp-json\/brandner\/v1\/calc_price\", post_data, price_calc_callback)\n  }\n\n  function price_calc_callback(data) {\n    \/\/ console.log(data);\n    jQuery(\"#pricedisplay\").val(data.price)\n  }\n\n  function brnr_check_panel_dim() {\n    \/\/ console.log(\"Checking panel dimensions\");\n    Xdim = jQuery(\"#PlatX\").val();\n    Ydim = jQuery(\"#PlatY\").val();\n    if (360 >= Math.max(Xdim, Ydim)) {\n      return \/\/Everything fine\n    } else if (360 < Math.min(Xdim, Ydim)) {\n      alert(\"Short side has to be max 360mm\");\n      if (Math.min(Xdim, Ydim) == jQuery(\"#PlatX\").val()) {\n        jQuery(\"#PlatX\").val(360)\n      } else {\n        jQuery(\"#PlatY\").val(360)\n      }\n    }\n  }\n\n  \/\/ function imp_change(){\n  \/\/     \/\/ console.log(\"Impedances changed\")\n  \/\/     jQuery(\"#pakform\").trigger(\"generate_view\")\n\n  \/\/     jQuery(\"#imp-flag\").remove();\n  \/\/     if(1 == jQuery(\"#calc_imp_check:checked\").length){\n  \/\/         jQuery(\"#orderform\").append('<input id=\"imp-flag\" type=\"hidden\" name=\"is_imp\" value=\"1\" \/>')\n  \/\/     }else{\n\n  \/\/     }\n  \/\/ }\n\n  \/*\n   *   Impedance autocalculation functions\n   *   - Remove existing timeout on input change\n   *   - Add timeout on input change\n   *   - Remove timeout on manual calculate\n   *   - Ajax send input values for calculation\n   *\/\n  jQuery(document).ready(function() {\n    \/\/Set delegated listener on table container\n    jQuery(\"#view_table\").on('change keyup input', \".impedance-input\", imp_change_listener);\n\n    \/\/show file upload input\n    \/\/ jQuery('#panelcraft').on('change', function() {\n    \/\/     jQuery(this).val() == 0 ? jQuery('#insidemyfiles').show() : jQuery('#insidemyfiles').hide();\n    \/\/ });\n\n    jQuery('#fileToUpload').on('change', file_validity_check);\n    jQuery('#pr_req_com_nam').on('change', company_name_validity_check);\n    jQuery('#pr_req_con_per').on('change', contact_person_validity_check);\n    jQuery('#pr_req_con_email').on('change', email_validity_check);\n    jQuery('#pr_req_con_phone').on('change', phone_validity_check);\n    jQuery('.remove-file').on('click', function() {\n      jQuery('#fileToUpload').val('');\n    });\n\n    jQuery('#panelCut').val('frees')\n\n    jQuery('#panelCut').on('change', function(evt) {\n      console.log(\"panelcut changed\")\n    })\n\n    console.log(\"#panelCut val\", jQuery('#panelCut').val())\n  })\n\n  function file_validity_check() {\n    var allowed_filetypes = new Array(\n      \"application\/zip\", \"application\/x-zip\", \"application\/x-zip-compressed\", \"application\/gzip\", \"application\/x-rar-compressed\"\n    )\n\n    var allowed_extensions = new Array(\n      '.zip', '.rar'\n    )\n\n    \/\/this.files[0].size gets the size of your file.\n    \/\/console.log(this.files[0].size);\n    \/\/ var val = jQuery(this).val();\n    \/\/ console.log(val);\n    var file_field = jQuery('#fileToUpload');\n\n    if (file_field.val().length == 0) {\n      console.log('Empty file field');\n      file_field.closest('.form-group').children('.notice, .error').remove();\n\n      file_field.parentsUntil('.form-group').removeClass('has-error');\n      \/\/ notice(file_field.closest('.form-group'),\"Invalid filetype! Accepts .zip .rar\");\n      file_field.closest('.form-group').prepend('<div id=\"file-alert\" class=\"error alert alert-danger\" role=\"alert\">Laadige &uuml;lesse failid - .zip ja .rar ei tohi olla suurem kui 50 Mb.<\/div>');\n      file_field.parents('.input-group').addClass('has-error');\n      return false;\n    }\n\n    var file = file_field[0].files[0]\n    var fileName = file.name;\n    var fileName = fileName.replace(\/\\\\\/g, '\/');\n\n    var fName = fileName.substring(fileName.lastIndexOf('\/') + 1, fileName.lastIndexOf('.'));\n\n    f_ext = fileName.substring(fileName.lastIndexOf('.'));\n    f_ext = f_ext.toLowerCase()\n    \/\/ console.log('File extension is: '+f_ext)\n\n    if (-1 === allowed_extensions.indexOf(f_ext)) {\n      file_field.closest('.form-group').children('.notice, .error').remove();\n\n      file_field.parentsUntil('.form-group').removeClass('has-error');\n      error(file_field.closest('.form-group'), \"Invalid filetype! Accepts .zip .rar\");\n      file_field.parents('.input-group').addClass('has-error');\n\n      file_field.val('');\n      return false;\n    }\n\n\n    \/\/ alert(\"The mime-type of the file is: \"+file.type);\n\n    \/\/ if(-1 === allowed_filetypes.indexOf(file.type)){\n    \/\/     file_field.closest('.form-group').children('.notice, .error').remove();\n\n    \/\/     file_field.parentsUntil('.form-group').removeClass('has-error');\n    \/\/     error(file_field.closest('.form-group'),\"Invalid filetype! Accepts .zip .rar\");\n    \/\/     file_field.parents('.input-group').addClass('has-error');\n\n    \/\/     file_field.val('');\n    \/\/     return false;\n    \/\/ }\n\n\n\n    \/\/ const regex = \/^[^\\\\\\\/:*\"<>|'?]*$\/g;\n    const regex = \/^[^\\\\\\\/:*\"<>|'?]*$\/g;\n    \/\/ var m;\n\n    var checkPregMatch = regex.test(fName);\n\n    \/\/ while ((m = regex.exec(fName)) !== null) {\n    \/\/     \/\/ This is necessary to avoid infinite loops with zero-width matches\n    \/\/     if (m.index === regex.lastIndex) {\n    \/\/         regex.lastIndex++;\n    \/\/     }\n\n    \/\/     \/\/ The result can be accessed through the `m`-variable.\n    \/\/     m.forEach((match, groupIndex) => {\n    \/\/         checkPregMatch = false;\n    \/\/     });\n    \/\/ }\n\n    if (file_field[0].files[0].size > 52428800) {\n      \/\/ if(this.files[0].size > 5) {\n      file_field.closest('.form-group').children('.notice, .error').remove();\n\n      file_field.parentsUntil('.form-group').removeClass('has-error');\n      error(file_field.closest('.form-group'), \"File too large\");\n      file_field.parents('.input-group').addClass('has-error');\n\n      file_field.val('');\n      console.log(\"file too large\");\n      return false;\n    } else if (fName.length > 80) {\n      file_field.closest('.form-group').children('.notice, .error').remove();\n\n      file_field.parentsUntil('.form-group').removeClass('has-error');\n      error(file_field.closest('.form-group'), \"File name is too long, maximum is 80 characters\");\n      file_field.parents('.input-group').addClass('has-error');\n\n      file_field.val('');\n      console.log(\"filename too long\");\n      return false;\n    } else if (checkPregMatch == false) {\n      file_field.closest('.form-group').children('.notice, .error').remove();\n\n      file_field.parentsUntil('.form-group').removeClass('has-error');\n      error(file_field.closest('.form-group'), \"File name contains illegal characters (\\\/:*\u201d<>|\u2019?)\");\n      file_field.parents('.input-group').addClass('has-error');\n      console.log(\"Illegal characters\");\n      return false;\n    } else {\n      file_field.parents('.input-group').removeClass('has-error'); \/\/get the container\n      file_field.closest('.form-group').children('.error').remove();\n      return true;\n    }\n  }\n\n  function check_name_or_company(evt) {\n\n    if (jQuery(\"#pr_req_con_per\").length == 0)\n      return\n\n    evt.preventDefault()\n    console.log('check_name_or_company')\n    var name = jQuery(\"#pr_req_con_per\").val()\n    var com_name = jQuery(\"#pr_req_com_nam\").val()\n\n    jQuery(\".cont_pers_or_comp_name_error\").remove()\n\n    jQuery(\"#pr_req_con_per, #pr_req_com_nam\").parents('.input-group').removeClass('has-error');\n\n    if (\"\" == name && \"\" == com_name) {\n      error2(jQuery(\"#pr_req_con_per\").closest('.form-group'), 'Please enter at least one of Contact Name or Company Name', 'cont_pers_or_comp_name_error')\n      jQuery(\"#pr_req_con_per, #pr_req_com_nam\").parents('.input-group').addClass('has-error');\n      jQuery(\"#pr_req_con_per, #pr_req_com_nam\").on('change', check_name_or_company)\n      return false;\n    } else {\n      jQuery(\"#pr_req_con_per, #pr_req_com_nam\").off('change', check_name_or_company)\n      return true;\n    }\n  }\n\n\n  function company_name_validity_check() {\n    console.log('company_name_validity_check');\n    const regex = \/^[^\\\\\\\/:*\u201d\"<>|\u2019'?]*$\/;\n\n    var company_name_field = jQuery('#pr_req_com_nam');\n\n    if (company_name_field.length == 0)\n      return\n\n    var companyName = company_name_field.val();\n    var checkPregMatchCompanyName = regex.test(companyName);\n\n    if (checkPregMatchCompanyName == false) {\n      company_name_field.closest('.form-group').children('.notice, .error').remove();\n\n      company_name_field.parentsUntil('.form-group').removeClass('has-error');\n      error2(company_name_field.closest('.form-group'), \"Company name contains illegal characters (\\\\\/:*\u201d\\\"<>|\u2019\\'?])\", 'com_name_error');\n      company_name_field.parents('.input-group').addClass('has-error');\n      console.log(\"Illegal characters company name\");\n      return false;\n    } else if (companyName.length > 50) {\n      company_name_field.closest('.form-group').children('.notice, .error').remove();\n\n      company_name_field.parentsUntil('.form-group').removeClass('has-error');\n      error2(company_name_field.closest('.form-group'), \"Company name max length 50 characters\", 'com_name_error');\n      company_name_field.parents('.input-group').addClass('has-error');\n      console.log(\"Company name too long\");\n      return false;\n    } else {\n      company_name_field.parents('.input-group').removeClass('has-error'); \/\/get the container\n      company_name_field.closest('.form-group').children('.com_name_error').remove();\n      return true;\n    }\n  }\n\n\n  function contact_person_validity_check() {\n    if (jQuery(\"#pr_req_con_per\").length == 0)\n      return\n    console.log('contact_person_validity_check');\n    const regex = \/^[^\\'\u2019\"\u201d]*$\/;\n\n    var contact_person_field = jQuery('#pr_req_con_per');\n    var contactPerson = contact_person_field.val();\n    var checkPregMatchContactPerson = regex.test(contactPerson);\n\n    console.log(contactPerson.length);\n    console.log(countUtf8Bytes(contactPerson));\n\n    if (checkPregMatchContactPerson == false) {\n      contact_person_field.closest('.form-group').children('.notice, .error').remove();\n\n      contact_person_field.parentsUntil('.form-group').removeClass('has-error');\n      error2(contact_person_field.closest('.form-group'), \"Contact person contains illegal characters (\\\"')\", 'cont_pers_error');\n      contact_person_field.parents('.input-group').addClass('has-error');\n      console.log(\"Illegal characters contact person\");\n      return false;\n    } else if (contactPerson.length > 30) {\n      contact_person_field.closest('.form-group').children('.notice, .error').remove();\n\n      contact_person_field.parentsUntil('.form-group').removeClass('has-error');\n      error2(contact_person_field.closest('.form-group'), \"Contact person max length 30 characters\", 'cont_pers_error');\n      contact_person_field.parents('.input-group').addClass('has-error');\n      console.log(\"Contact person too long\");\n      return false;\n    } else {\n      contact_person_field.parents('.input-group').removeClass('has-error'); \/\/get the container\n      contact_person_field.closest('.form-group').children('.cont_pers_error').remove();\n      return true;\n    }\n  }\n\n\n  function email_validity_check() {\n\n    if (jQuery(\"#pr_req_con_per\").length == 0)\n      return\n    \/\/const regex = \/^[^\\'\"]*$\/;\n    const regex = \/^(([^<>()\\[\\]\\\\.,;:\\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,}))$\/;\n    \/\/ var m;\n\n    var email_field = jQuery('#pr_req_con_email');\n    var email = email_field.val();\n    var checkPregMatchEmail = regex.test(email);\n\n    if (checkPregMatchEmail == false) {\n      email_field.closest('.form-group').children('.notice, .error').remove();\n\n      email_field.parentsUntil('.form-group').removeClass('has-error');\n      error2(email_field.closest('.form-group'), \"Email is not valid\", 'email_error');\n      email_field.parents('.input-group').addClass('has-error');\n      console.log(\"Illegal characters email\");\n      return false;\n    } else if (email.length > 50) {\n      email_field.closest('.form-group').children('.notice, .error').remove();\n\n      email_field.parentsUntil('.form-group').removeClass('has-error');\n      error2(email_field.closest('.form-group'), \"Email max length 50 characters\", 'email_error');\n      email_field.parents('.input-group').addClass('has-error');\n      console.log(\"Email too long\");\n      return false;\n    } else {\n      email_field.parents('.input-group').removeClass('has-error'); \/\/get the container\n      email_field.closest('.form-group').children('.email_error').remove();\n      return true;\n    }\n  }\n\n\n  function phone_validity_check() {\n\n    if (jQuery(\"#pr_req_con_per\").length == 0)\n      return\n    const regex = \/^[^\\'\u2019\"\u201d]*$\/;\n    \/\/ var m;\n\n    var phone_field = jQuery('#pr_req_con_phone');\n    var phone = phone_field.val();\n    var checkPregMatchPhone = regex.test(phone);\n\n    if (checkPregMatchPhone == false) {\n      phone_field.closest('.form-group').children('.notice, .error').remove();\n\n      phone_field.parentsUntil('.form-group').removeClass('has-error');\n      error2(phone_field.closest('.form-group'), \"Phone contains illegal characters (\\\"')\", 'phone_error');\n      phone_field.parents('.input-group').addClass('has-error');\n      console.log(\"Illegal characters phone\");\n      return false;\n    } else if (phone.length > 30) {\n      phone_field.closest('.form-group').children('.notice, .error').remove();\n\n      phone_field.parentsUntil('.form-group').removeClass('has-error');\n      error2(phone_field.closest('.form-group'), \"Phone length 30 characters\", 'phone_error');\n      phone_field.parents('.input-group').addClass('has-error');\n      console.log(\"Phone too long\");\n      return false;\n    } else {\n      phone_field.parents('.input-group').removeClass('has-error'); \/\/get the container\n      phone_field.closest('.form-group').children('.phone_error').remove();\n      return true;\n    }\n  }\n\n  \/\/Variable to hold timeout reference\n  var imp_calc_to = null\n\n  function imp_change_listener(evt) {\n    \/\/Clear Timeout in progress if any\n    \/\/ console.log('pre-cancel', imp_calc_to)\n    cancel_imp_timeout()\n    \/\/Set new timeout\n    \/\/ console.log('post-cancel', imp_calc_to)\n    imp_calc_to = setTimeout(get_imp_calc, 1000)\n    set_result_loading_notice();\n  }\n\n  function cancel_imp_timeout() {\n    \/\/Clear Timeout in progress if any\n    \/\/ console.log('caneclling', imp_calc_to)\n    clearTimeout(imp_calc_to)\n    remove_result_loading_notice();\n  }\n\n  function get_imp_calc() {\n\n    \/\/Collate PCB data\n    post_data = get_imp_data()\n    $resp = jQuery.post(rest_base + 'calc_imp', post_data, imp_response_handler)\n    jQuery('#pakform .submit_button').prop('disabled', 'disabled')\n    return true\n  }\n\n  function imp_response_handler(data, status, jqXHR) {\n    remove_result_loading_notice();\n    \/\/console.log(data)\n    sl_imps = data.signal_layer_impedances\n    \/\/ console.log(sl_imps)\n    jQuery(\"select[name^='impedance']\").each(function(element) {\n      var type = jQuery(this).val()\n      \/\/If signal layer (type 1) get the impedances\n\n      if (1 == type) {\n        \/\/ var layer_imps = sl_imps.shift()\n        var index = jQuery(this).data('index')\n        if (sl_imps['layer_index_' + index]) {\n          layer_imps = sl_imps['layer_index_' + index]\n          if (layer_imps) {\n            var row = jQuery(this).closest('tr')\n            \/\/ console.log(layer_imps)\n            \/\/ var imp_types = layer_imps.keys()\n\n            if (layer_imps.Z0) {\n              row.children('.z0').html('<span class=\"result\">' + Math.round(layer_imps.Z0 * 100) \/ 100) + '<\/span>'\n            }\n            if (layer_imps.Zdiff) {\n              row.children('.zdiff').html('<span class=\"result\">' + Math.round(layer_imps.Zdiff * 100) \/ 100) + '<\/span>'\n            }\n            if (layer_imps.Zdbs) {\n              row.children('.zdbs').html('<span class=\"result\">' + Math.round(layer_imps.Zdbs * 100) \/ 100) + '<\/span>'\n            }\n          }\n        }\n      }\n\n    })\n    var flag = jQuery(\"#imp-flag\");\n    if (flag) {\n      console.log('flag')\n      if (0 != sl_imps.length) {\n        console.log('slimps')\n        flag.val(1)\n      } else {\n        console.log('no slimps')\n        flag.val(0)\n      }\n    }\n    add_imp_flag_field()\n    brnr_calc_price()\n    jQuery('#pakform .submit_button').removeProp('disabled')\n  }\n\n  function get_imp_data() {\n    \/\/ pcb_rows = jQuery(\".pcb-layer\")\n    \/\/ pcb_layer_data = [];\n    \/\/ pcb_rows.each(function(i, item){\n    \/\/     layer_data = {}\n\n    \/\/     layer = jQuery(item)\n    \/\/     layer_name = layer.data('layer')\n\n    \/\/     pcb_layer_data.push(layer_data)\n    \/\/ })\n    impedance_inputs = jQuery(\".impedance-input\")\n    impedance_data = impedance_inputs.serializeArray()\n    return impedance_data\n  }\n\n  function set_result_loading_notice() {\n    \/\/ console.log(\"Spin\")\n    jQuery(\"#view_table\").find('.result-cell').empty();\n    jQuery(\"#view_table\").find('.result-cell.signal').html('<i class=\"fa fa-spinner fa-spin\"><\/i>');\n  }\n\n  function remove_result_loading_notice() {\n    jQuery(\"#view_table\").find('.result-cell').empty();\n  }\n\n  function old_check_buildup_symmetry() {\n\n    jQuery(\"#pakform\").children('.notice').remove()\n    var buildup_arr = new Array();\n    var buildup_val_arr = new Array();\n    jQuery(\"#pakform select[name='pak[Layers][]']:visible\").each(function(index) {\n      buildup_arr.push(this)\n      buildup_val_arr.push(jQuery(this).val())\n    });\n    \/\/ console.log(buildup_arr)\n    if (1 == buildup_arr.length) {\n      return; \/\/Single layer (2 Cu layer) boards don't have symmetry to validate\n    }\n\n    \/\/ if(0 == buildup_arr.length%2){\n    \/\/     \/\/If even number of leyers -> no middle layer to be symmetric around\n    \/\/     notice(jQuery(\"#pakform .submit_button\").closest('.frow'), \"Asymmetric buildup: uneven number of rows\")\n    \/\/     return\n    \/\/ }\n\n    console.log(buildup_val_arr);\n\n    symmetry_length = Math.floor(buildup_arr.length \/ 2)\n\n    upper_val_arr = buildup_val_arr.slice(0, symmetry_length)\n    lower_val_arr = buildup_val_arr.slice(-symmetry_length)\n    lower_val_arr = lower_val_arr.reverse()\n\n    console.log(upper_val_arr.equals(lower_val_arr));\n\n    \/\/if(!sym_compare_arrs(upper_val_arr,lower_val_arr)){\n    if (!upper_val_arr.equals(lower_val_arr)) {\n      jQuery(\"#buildup-sym-flag\").remove()\n      notice(jQuery(\"#pakform .submit_button\").closest('.frow'), \"Asymmetric buildup: not same materials on both side\")\n      jQuery(\"#orderform\").append('<input id=\"buildup-sym-flag\" name=\"order[asym_buildup]\" type=\"hidden\" value=\"true\">')\n      return\n    } else {\n      jQuery(\"#buildup-sym-flag\").remove()\n      jQuery(\"#orderform\").append('<input id=\"buildup-sym-flag\" name=\"order[asym_buildup]\" type=\"hidden\" value=\"false\">')\n    }\n  }\n\n  function check_buildup_symmetry() {\n\n    jQuery(\"#pakform\").children('.notice').remove()\n    var buildup_arr = new Array();\n    var buildup_val_arr = new Array();\n    var preg = false;\n    var preg_prev = false;\n    var preg_ths = 0;\n    jQuery(\"#pakform select[name='pak[Layers][]']:visible\").each(function(index) {\n      var layer = layers[jQuery(this).val()];\n      preg = (2 == layer.categorie || 3 == layer.categorie) ? true : false;\n      if (preg) {\n        preg_ths += parseFloat(layer.thick)\n      } else if (preg_prev) {\n        buildup_arr.push(preg_ths)\n        preg_ths = 0\n        buildup_arr.push(jQuery(this).val())\n      } else {\n        buildup_arr.push(jQuery(this).val())\n      }\n      \/\/ buildup_val_arr.push(jQuery(this).val())\n      preg_prev = preg;\n    });\n    \/\/ console.log(buildup_arr)\n    if (1 == buildup_arr.length) {\n      return; \/\/Single layer (2 Cu layer) boards don't have symmetry to validate\n    }\n\n    console.log(buildup_arr)\n    \/\/ if(0 == buildup_arr.length%2){\n    \/\/     \/\/If even number of leyers -> no middle layer to be symmetric around\n    \/\/     notice(jQuery(\"#pakform .submit_button\").closest('.frow'), \"Asymmetric buildup: uneven number of rows\")\n    \/\/     return\n    \/\/ }\n\n    \/\/ console.log(buildup_val_arr);\n\n    symmetry_length = Math.floor(buildup_arr.length \/ 2)\n\n    upper_val_arr = buildup_arr.slice(0, symmetry_length)\n    lower_val_arr = buildup_arr.slice(-symmetry_length)\n    lower_val_arr = lower_val_arr.reverse()\n\n    \/\/ console.log(upper_val_arr.equals(lower_val_arr));\n\n    \/\/if(!sym_compare_arrs(upper_val_arr,lower_val_arr)){\n    if (!upper_val_arr.equals(lower_val_arr)) {\n      jQuery(\"#buildup-sym-flag\").remove()\n      notice(jQuery(\"#pakform .submit_button\").closest('.frow'), \"Asymmetric buildup: not same materials on both side\")\n      jQuery(\"#orderform\").append('<input id=\"buildup-sym-flag\" name=\"order[asym_buildup]\" type=\"hidden\" value=\"true\">')\n      return\n    } else {\n      jQuery(\"#buildup-sym-flag\").remove()\n      jQuery(\"#orderform\").append('<input id=\"buildup-sym-flag\" name=\"order[asym_buildup]\" type=\"hidden\" value=\"false\">')\n    }\n  }\n\n  function sym_compare_arrs(array1, array2) {\n    var arrays_same_elements = true;\n\n    array1.forEach(function(element) {\n      if (-1 == array2.indexOf(element)) {\n        arrays_same_elements = false\n      }\n    })\n\n    array2.forEach(function(element) {\n      if (-1 == array1.indexOf(element)) {\n        arrays_same_elements = false\n      }\n    })\n\n    return arrays_same_elements\n  }\n\n  function check_prepreg_thickness() {\n    var prepreg_ths = 0;\n    var prev_inner;\n    jQuery(\"#pakform select[name='pak[Layers][]']:visible\").each(function(index) {\n      curr_layer = jQuery(this)\n      layer_id = jQuery(this).val()\n      \/\/If is prepreg tally up thickness\n      if (curr_layer.hasClass('pak_vk')) {\n        prepreg_ths += parseFloat(layers[layer_id].thick)\n      }\n\n      is_inner = curr_layer.hasClass('pak_sk')\n      is_last_outer = curr_layer.prop(\"id\") == 'bottomfool'\n\n      too_thin = false\n      if (is_inner || is_last_outer) {\n        if (is_inner) {\n          \/\/Check if current inner needs thick\n          if (70 <= layers[layer_id].cuthick) {\n            too_thin = prepreg_ths < 0.2\n            \/\/prepreg_ths = 0 \/\/Reset prepreg tally\n          }\n          \/\/Check if previous inner needs thick\n          if (prev_inner) {\n            if (70 <= layers[jQuery(prev_inner).val()].cuthick) {\n              too_thin = prepreg_ths < 0.2\n              \/\/prepreg_ths = 0 \/\/Reset prepreg tally\n            }\n          }\n          prepreg_ths = 0 \/\/Reset prepreg tally\n          prev_inner = curr_layer\n        }\n        if (is_last_outer) {\n          \/\/Check if previous inner needs thick\n          if (70 <= layers[jQuery(prev_inner).val()].cuthick) {\n            too_thin = prepreg_ths < 0.2\n          }\n        }\n      }\n      if (too_thin) {\n        error(jQuery(last_visible_layer).closest('.frow'), \"For 70\u00b5 copper in innerlayer please use at two layers of prepreg combined from 2116 or 7628.\")\n      }\n      last_visible_layer = curr_layer\n    })\n  }\n<\/script>\n<p><strong>NB! Hinnapakkumine koostatakse info p\u00f5hjal, mille sisestasite veebi vormi. Ennem kui saadate p\u00e4ringu, palun kontrollige \u00fcle, et olete sisestanud korrektse informatsiooni gerberite ja n\u00f5uete kohta!<br \/>\nFailid vaadakse \u00fcle peale seda, kui olete tellimuse esitanud &#8211; kui failides olev info ei vasta veebis sisestatule, siis tehakse pakkumine \u00fcmber vastavalt failides olevale reaalsele infole.<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>NB! KUI PLAAT SISALDAB PIMEDAID\/MAETUD AVASID, PIMEDAT FREESI, KOMPLEKTI ERINEVATEST PLAATIDEST, POOLITATUD AVASID, MUID OMADUSI, MIDA SA SIIT VORMIST EI LEIA, PALUN SAADA OMA P\u00c4RING E-MAILI TEEL sales@brandner.ee. &nbsp; NB! Hinnapakkumine koostatakse info p\u00f5hjal, mille sisestasite veebi vormi. Ennem kui saadate p\u00e4ringu, palun kontrollige \u00fcle, et olete sisestanud korrektse informatsiooni gerberite ja n\u00f5uete kohta! Failid &hellip;<\/p>\n","protected":false},"author":31,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"termplate-protoshop.php","meta":{"footnotes":""},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>K\u00fcsi Hinnapakkumist - Brandner<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.brandner.ee\/et\/kusi-hinnapakkumist\/\" \/>\n<meta property=\"og:locale\" content=\"et_EE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"K\u00fcsi Hinnapakkumist - Brandner\" \/>\n<meta property=\"og:description\" content=\"NB! KUI PLAAT SISALDAB PIMEDAID\/MAETUD AVASID, PIMEDAT FREESI, KOMPLEKTI ERINEVATEST PLAATIDEST, POOLITATUD AVASID, MUID OMADUSI, MIDA SA SIIT VORMIST EI LEIA, PALUN SAADA OMA P\u00c4RING E-MAILI TEEL sales@brandner.ee. &nbsp; NB! Hinnapakkumine koostatakse info p\u00f5hjal, mille sisestasite veebi vormi. Ennem kui saadate p\u00e4ringu, palun kontrollige \u00fcle, et olete sisestanud korrektse informatsiooni gerberite ja n\u00f5uete kohta! Failid &hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.brandner.ee\/et\/kusi-hinnapakkumist\/\" \/>\n<meta property=\"og:site_name\" content=\"Brandner\" \/>\n<meta property=\"article:modified_time\" content=\"2020-06-25T08:10:11+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.brandner.ee\/et\/kusi-hinnapakkumist\/\",\"url\":\"https:\/\/www.brandner.ee\/et\/kusi-hinnapakkumist\/\",\"name\":\"K\u00fcsi Hinnapakkumist - Brandner\",\"isPartOf\":{\"@id\":\"https:\/\/www.brandner.ee\/#website\"},\"datePublished\":\"2017-08-17T08:12:41+00:00\",\"dateModified\":\"2020-06-25T08:10:11+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.brandner.ee\/et\/kusi-hinnapakkumist\/#breadcrumb\"},\"inLanguage\":\"et\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.brandner.ee\/et\/kusi-hinnapakkumist\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.brandner.ee\/et\/kusi-hinnapakkumist\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.brandner.ee\/et\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"K\u00fcsi Hinnapakkumist\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.brandner.ee\/#website\",\"url\":\"https:\/\/www.brandner.ee\/\",\"name\":\"Brandner\",\"description\":\"PCB manufacturing\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.brandner.ee\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"et\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"K\u00fcsi Hinnapakkumist - Brandner","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.brandner.ee\/et\/kusi-hinnapakkumist\/","og_locale":"et_EE","og_type":"article","og_title":"K\u00fcsi Hinnapakkumist - Brandner","og_description":"NB! KUI PLAAT SISALDAB PIMEDAID\/MAETUD AVASID, PIMEDAT FREESI, KOMPLEKTI ERINEVATEST PLAATIDEST, POOLITATUD AVASID, MUID OMADUSI, MIDA SA SIIT VORMIST EI LEIA, PALUN SAADA OMA P\u00c4RING E-MAILI TEEL sales@brandner.ee. &nbsp; NB! Hinnapakkumine koostatakse info p\u00f5hjal, mille sisestasite veebi vormi. Ennem kui saadate p\u00e4ringu, palun kontrollige \u00fcle, et olete sisestanud korrektse informatsiooni gerberite ja n\u00f5uete kohta! Failid &hellip;","og_url":"https:\/\/www.brandner.ee\/et\/kusi-hinnapakkumist\/","og_site_name":"Brandner","article_modified_time":"2020-06-25T08:10:11+00:00","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.brandner.ee\/et\/kusi-hinnapakkumist\/","url":"https:\/\/www.brandner.ee\/et\/kusi-hinnapakkumist\/","name":"K\u00fcsi Hinnapakkumist - Brandner","isPartOf":{"@id":"https:\/\/www.brandner.ee\/#website"},"datePublished":"2017-08-17T08:12:41+00:00","dateModified":"2020-06-25T08:10:11+00:00","breadcrumb":{"@id":"https:\/\/www.brandner.ee\/et\/kusi-hinnapakkumist\/#breadcrumb"},"inLanguage":"et","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.brandner.ee\/et\/kusi-hinnapakkumist\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.brandner.ee\/et\/kusi-hinnapakkumist\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.brandner.ee\/et\/"},{"@type":"ListItem","position":2,"name":"K\u00fcsi Hinnapakkumist"}]},{"@type":"WebSite","@id":"https:\/\/www.brandner.ee\/#website","url":"https:\/\/www.brandner.ee\/","name":"Brandner","description":"PCB manufacturing","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.brandner.ee\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"et"}]}},"_links":{"self":[{"href":"https:\/\/www.brandner.ee\/et\/wp-json\/wp\/v2\/pages\/854"}],"collection":[{"href":"https:\/\/www.brandner.ee\/et\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.brandner.ee\/et\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.brandner.ee\/et\/wp-json\/wp\/v2\/users\/31"}],"replies":[{"embeddable":true,"href":"https:\/\/www.brandner.ee\/et\/wp-json\/wp\/v2\/comments?post=854"}],"version-history":[{"count":6,"href":"https:\/\/www.brandner.ee\/et\/wp-json\/wp\/v2\/pages\/854\/revisions"}],"predecessor-version":[{"id":8151,"href":"https:\/\/www.brandner.ee\/et\/wp-json\/wp\/v2\/pages\/854\/revisions\/8151"}],"wp:attachment":[{"href":"https:\/\/www.brandner.ee\/et\/wp-json\/wp\/v2\/media?parent=854"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}