1<!doctype html> 2 3 4<html class="fixed"> 5 <head> 6 <!-- Basic --> 7 <meta charset="UTF-8"> 8 <!-- Mobile Metas --> 9 <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" /> 10 <meta name="ci_csrf_token" content=""> 11 <!-- Web Fonts --> 12 <link href="http://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700,800|Shadows+Into+Light" rel="stylesheet" type="text/css"> 13 <!-- Vendor CSS --> 14 <link rel="stylesheet" href="http://smart.sbca.gos.pk/assets/vendor/bootstrap/css/bootstrap.css" /> 15 <link rel="stylesheet" href="http://smart.sbca.gos.pk/assets/vendor/font-awesome/css/font-awesome.css" /> 16 <link rel="stylesheet" href="http://smart.sbca.gos.pk/assets/vendor/magnific-popup/magnific-popup.css" /> 17 <link rel="stylesheet" href="http://smart.sbca.gos.pk/assets/vendor/bootstrap-datepicker/css/datepicker3.css" /> 18 <link rel="stylesheet" href="http://smart.sbca.gos.pk/assets/vendor/bootstrap-fileupload/bootstrap-fileupload.min.css" /> 19 <!-- Specific Page Vendor CSS --> 20 <link rel="stylesheet" href="http://smart.sbca.gos.pk/assets/vendor/pnotify/pnotify.custom.css" /> 21 <!-- Theme CSS --> 22 <link rel="stylesheet" href="http://smart.sbca.gos.pk/assets/stylesheets/theme.css" /> 23 <!-- Skin CSS --> 24 <link rel="stylesheet" href="http://smart.sbca.gos.pk/assets/stylesheets/skins/default.css" /> 25 <!-- Theme Custom CSS --> 26 <link rel="stylesheet" href="http://smart.sbca.gos.pk/assets/stylesheets/theme-custom.css"> 27 <!-- Head Libs --> 28
28<script src="http://smart.sbca.gos.pk/assets/vendor/modernizr/modernizr.js"></script>
28 29 <title>Register Account </title> 30 <link rel="shortcut icon" href="http://smart.sbca.gos.pk/assets/images/favicon.ico" type="image/x-icon" /> 31 <link rel="icon" href="http://smart.sbca.gos.pk/assets/images/favicon.ico" type="image/x-icon" /> 32 </head> 33 <body style="background:url(http://smart.sbca.gos.pk/assets/images/login_bg.jpg);"> 34 <!-- start: page --> 35 36 <section class="body-register"> 37 <div class="center-register"> 38 <div class="panel panel-register"> 39 <div class="panel-body"> 40 41 <div class="row"> 42 <div class="col-sm-3"> 43 <a href="#" class="logo"> 44 <img src="http://smart.sbca.gos.pk/assets/images/sbca_logo_color.png" class="mt-xs img-responsive" style="width:35%;" /> 45 </a> 46 </div> 47 48 <div class="col-sm-6"> 49 <a href="#" > 50 <img src="http://smart.sbca.gos.pk/assets/images/sbca-e-admin-logo.png" class="elice_logo mt-xs img-responsive" /> 51 </a> 52 </div> 53 54 55 <div class="col-sm-3"> 56 <a href="#" class="e_logo"> 57 <img src="http://smart.sbca.gos.pk/assets/images/logo_econstruct.png" class="mb-md img-responsive" style="width:90%;" /> 58 </a> 59 </div> 60 </div> 61 62 63 <h2 class="title text-uppercase text-bold text-center"> Sign up </h2> 64 65 66 <form action="http://smart.sbca.gos.pk/auth/register_account/license-professional" class="form-horizontal" id="register_form" enctype="multipart/form-data" method="post" accept-charset="utf-8"> 67 <input type="hidden" name="_token" value="e4abb428d9c10d7fd8ed16abbf28207f"/> 68 69 <section class="panel form-wizard" id="w5"> 70 71 <div class="tab-content"> 72 <div id="w5-account" class="tab-pane active"> 73 <div class="form-group"> 74 <div class="form-validate"> 75 <div class="col-sm-6"> 76 <label class="control-label"> License Type (ÙØ§Ø¦Ø³Ùس Ú©Û ÙØ³Ù )</label> 77 <select name="user_type" id="user_type" class="form-control mb-xs "> 78<option value="license-professional" selected="selected">License Professional</option> 79</select> 80 </div> 81 </div> 82 <div class="form-validate"> 83 <div class="col-sm-6"> 84 <label class="control-label"> Professional Type </label> 85 <select name="prof_type" id="prof_type" class="form-control mb-xs prof_type"> 86<option value="" selected="selected">Select Professional Type</option> 87<option value="Architect">Architect</option> 88<option value="Structure Engineer">Structure Engineer</option> 89<option value="Professional Engineer">Professional Engineer</option> 90<option value="Town Planner">Town Planner</option> 91<option value="Building Supervisor">Building Supervisor</option> 92<option value="Building Designer">Building Designer</option> 93<option value="Proof Engineer">Proof Engineer</option> 94</select> 95 </div> 96 </div> 97 <!-- ARCHITECT CATEGORY - FIXED --> 98 <div class="form-validate" id="architect_category_wrapper" style="display:none;"> 99 <div class="col-sm-6"> 100 <label class="control-label">Architect Category <span class="required">*</span></label> 101 <select name="architect_category" id="architect_category" class="form-control"> 102 <option value="">Select Category</option> 103 <option value="A">Category A</option> 104 <option value="B">Category B</option> 105 </select> 106 </div> 107 </div> 108 109 110 111 </div> 112 113 <div class="form-group"> 114 </div> 115 <div class="form-group" style='display:none'> 116 <div class="form-validate"> 117 <div class="col-sm-6"> 118 <label class="control-label">Password (Ø®ÙÛÛ Ú©ÙÚ) <span class="required">*</span></label> 119 <div class="input-group"> 120 <input type="password" class="form-control disabled_fields" name="register_password_disabled" id="register_password_disabled" disabled value="" placeholder="Enter Password"> 121 <span class="input-group-addon toggle-password-btn" data-target="#register_password_disabled" style="cursor: pointer;" title="Show/Hide Password"> 122 <i class="fa fa-eye"></i> 123 </span> 124 </div> 125 </div> 126 </div> 127 <div class="form-validate"> 128 <div class="col-sm-6"> 129 <label class="control-label">Re-type Password (Ø®ÙÛÛ Ú©ÙÚ Ø¯ÙØ¨Ø§Ø±Û ÙÚ©Ú¾ÛÚº) <span class="required">*</span></label> 130 <div class="input-group"> 131 <input type="password" class="form-control disabled_fields" name="register_confirm_password_disabled" id="register_confirm_password_disabled" disabled value="" placeholder="Confirm Password"> 132 <span class="input-group-addon toggle-password-btn" data-target="#register_confirm_password_disabled" style="cursor: pointer;" title="Show/Hide Password"> 133 <i class="fa fa-eye"></i> 134 </span> 135 </div> 136 </div> 137 </div> 138 </div> 139 140 <div class="form-group"> 141 142 <!-- --> 143 </div> 144 <div class="form-group"> 145 146 147 148 </div> 149 150 <div class="ownersec" > 151 <div class="ownersec_main"> 152 153 154 <div class="form-group"> 155 <label style='display:none;'> 156 <h4><u class="lbl_owner">Owner 1</u></h4> 157 </label> 158 <div class="form-validate"> 159 <div class="col-sm-6"> 160 <label class="control-label"> Full Name as per CNIC (Ù Ú©Ù Ù ÙØ§Ù ØØ³Ø¨ Ø´ÙØ§Ø®ØªÛ کارÚ) <span class="required">*</span></label> 161 <input type="text" name="register_first_name[]" id="register_first_name" maxlength="50" class="form-control inputTextCharacter " value="" > 162 163 </div> 164 </div> 165 <!-- <div class="form-validate"> 166 <div class="col-sm-6"> 167 <label class="control-label"> Last Name (Ø¢Ø®Ø±Û ÙØ§Ù ) <span class="required">*</span></label> 168 <input type="text" name="register_last_name[]" id="register_last_name" maxlength="20" class="form-control inputTextCharacter " value=""> 169 170 </div> 171 </div> 172 --> 173 </div> 174 175 <div class="form-group"> 176 <div class="form-validate"> 177 <div class="col-sm-6"> 178 <label class="control-label"> D/o, S/o, W/o <span class="required">*</span></label> 179 <input type="text" name="register_guardian[]" id="register_guardian" maxlength="40" class="form-control inputTextCharacter" value=""> 180 181 </div> 182 </div> 183 <div class="form-validate"> 184 <div class="col-sm-6"> 185 <label class="control-label"> Date Of Birth <span class="required">*</span></label> 186 <input type="text" name="register_dob[]" id="register_dob" class="form-control" value="" readonly> 187 188 </div> 189 </div> 190 </div> 191 <div class="form-group"> 192 <div class="form-validate"> 193 <div class="col-sm-6"> 194 <label class="control-label"> CNIC # (Ø´ÙØ§Ø®ØªÛ Ú©Ø§Ø±Ú Ù٠بر) / NICOP No. (ÙÛØ´ÙÙ Ø¢Ø¦Û ÚÛ Ú©Ø§Ø±Ú Ø¨Ø±Ø§Ø¦Û Ø§ÙÙØ±Ø³Ûز) <span class="required">*</span></label> 195 <input type="text" class="form-control" name="register_cnic[]" id="register_cnic" value=""> 196 <!-- <label for="register_cnic" class="error_cnic" id="cnic_error">Account against this CNIC # already exists, please enter different CNIC #</label><label for="register_cnic" class="text-success" id="cnic_success">CNIC # is valid</label> --> 197 <!--<input type="button" class="btn btn-md btn-danger pull-right" id="verify_button" value="Verify" style="margin-top:5px;"/>--> 198 199 </div> 200 </div> 201 202 <div class="form-validate" > 203 <div class="col-sm-6"> 204 <label class="control-label"> Email (Ø§Û Ù ÛÙ) <span class="required">*</span></label> 205 <input type="email" class="form-control disabled_fields " name='register_email_address'id="owner_email" placeholder="Email e.g ([email protected])" value="" > 206 </div> 207 </div> 208 </div> 209 <div class="form-group" > 210 <div class="form-validate"> 211 <div class="col-sm-6"> 212 <label class="control-label">Password (Ø®ÙÛÛ Ú©ÙÚ) <span class="required">*</span></label> 213 <div class="input-group"> 214 <input type="password" class="form-control disabled_fields" name="register_password" id="register_password" value="" placeholder="Enter Password"> 215 <span class="input-group-addon toggle-password-btn" data-target="#register_password" style="cursor: pointer;" title="Show/Hide Password"> 216 <i class="fa fa-eye"></i> 217 </span> 218 </div> 219 </div> 220 </div> 221 <div class="form-validate"> 222 <div class="col-sm-6"> 223 <label class="control-label">Re-type Password (Ø®ÙÛÛ Ú©ÙÚ Ø¯ÙØ¨Ø§Ø±Û ÙÚ©Ú¾ÛÚº) <span class="required">*</span></label> 224 <div class="input-group"> 225 <input type="password" class="form-control disabled_fields" name="register_confirm_password" id="register_confirm_password" value="" placeholder="Confirm Password"> 226 <span class="input-group-addon toggle-password-btn" data-target="#register_confirm_password" style="cursor: pointer;" title="Show/Hide Password"> 227 <i class="fa fa-eye"></i> 228 </span> 229 </div> 230 </div> 231 </div> 232 </div> 233 234 <!--<div id="w5-profile" class="tab-pane"> --> 235 <div class="form-group"> 236 <div class="form-validate"> 237 <div class="col-sm-6"> 238 <label class="control-label">Mobile No. (Ù ÙØ¨Ø§Ø¦Ù Ù٠بر) <span class="required">*</span></label> 239 <input type="text" class="form-control disabled_fields" name="register_phone_number[]" id="register_phone_number" placeholder="03001234567" maxlength="11" value="
23903"> 240 241 </div> 242 </div> 243 <div class="form-validate"> 244 <div class="col-sm-6"> 245 <label class="control-label">City (Ø´ÛØ±) license-professional</label> 246 <select class="form-control disabled_fields" name="register_city[]" id="register_city"> 247 <option value="">Select City</option> 248 <option value="Hyderabad" >Hyderabad</option> 249 <option value="Karachi" >Karachi</option> 250 <option value="Larkana" >Larkana</option> 251 <option value="Mirpur Khas" >Mirpur Khas</option> 252 <option value="Sukkur" >Sukkur</option> 253 </select> 254 255 </div> 256 </div> 257 </div> 258 259 <div class="form-group" style='display:none'> 260 261 262 263 264 <div class="form-validate" > 265 <div class="col-sm-6"> 266 267 <label class="control-label">Owner CNIC</label> 268 269 <input class="form-control" type="file" name="owner_cnic[]" id="owner_cnic" disabled> 270 271 </div> 272 </div> 273 <div class="form-validate" > 274 <div class="col-sm-6"> 275 276 <label class="control-label">Owner Photo</label> 277 278 <input class="form-control" type="file" name="owner_photo[]" id="owner_photo" disabled> 279 280 </div> 281 </div> 282 283 284 285 </div> 286 287 <a href="javascript:void(0);" class="owneraddmore" style="text-decoration: none; font-size: 15px; font-weight: bold;margin-left:90%;"><span style='display:none'>Add More</span></a> 288 289 </div> 290 291</div> 292 293 294 <div class="form-group"> 295 <div class="form-validate"> 296 <div class="col-sm-6"> 297 <label class="control-label"> Res. Address </label> 298 <textarea class="form-control" name="register_res_address[0]" maxlength="200"></textarea> 299 </div> 300 </div> 301 <div class="form-validate"> 302 <div class="col-sm-6"> 303 <label class="control-label"> Office Address </label> 304 <textarea class="form-control" name="register_off_address[0]" maxlength="200"></textarea> 305 </div> 306 </div> 307 </div> 308 309 310 311 312 313 <!-- <div class="form-group"> 314 315 316 </div> --> 317 <div class="form-group"> 318 319 </div> 320 321 322 323 <hr> 324 <div class="form-group"> 325 <div class="col-sm-12"> 326 <h3> Experience</h3> 327 </div> 328 </div> 329 330 <!-- <label class="control-label">Practical Experience</label> --> 331 <div class="table-responsive"> 332 333 334 <table class="table table-striped table-condensed mb-none" id="practical_experience_table"> 335 <tr> 336 <th>Experience Type</th> 337 <th>Job Title</th> 338 <th>Firm/Company</th> 339 <th>From Year</th> 340 <th>To Year</th> 341 <th>Exprience Letter</th> 342 <th style="width:14%;"></th> 343 </tr> 344 <tr id="practical_experience_tr_1"> 345 <td class="experience_type_td"> 346 <div class="form-validate"> 347 <input type="text" name="experience_type[]" class="form-control" id="experience_type" placeholder="Experience Type"> 348 </div> 349 </td> 350 <td class="job_title_td"> 351 <div class="form-validate"> 352 <input type="text" name="job_title[]" class="form-control" id="job_title" placeholder="Job Title"> 353 </div> 354 </td> 355 <td class="company_td"> 356 <div class="form-validate"> 357 <input type="text" name="company[]" class="form-control" id="" placeholder="Firm / Company"> 358 </div> 359 </td> 360 <td class="from_year_td"> 361 <div class="form-validate"> 362 <select name="from_year[]" id="from_year" class="form-control from_year_calc"> 363 <option value=""> Select Year</option> 364 <option value="2026">2026</option><option value="2025">2025</option><option value="2024">2024</option><option value="2023">2023</option><option value="2022">2022</option><option value="2021">2021</option><option value="2020">2020</option><option value="2019">2019</option><option value="2018">2018</option><option value="2017">2017</option><option value="2016">2016</option><option value="2015">2015</option><option value="2014">2014</option><option value="2013">2013</option><option value="2012">2012</option><option value="2011">2011</option><option value="2010">2010</option><option value="2009">2009</option><option value="2008">2008</option><option value="2007">2007</option><option value="2006">2006</option><option value="2005">2005</option><option value="2004">2004</option><option value="2003">2003</option><option value="2002">2002</option><option value="2001">2001</option><option value="2000">2000</option><option value="1999">1999</option><option value="1998">1998</option><option value="1997">1997</option><option value="1996">1996</option><option value="1995">1995</option><option value="1994">1994</option><option value="1993">1993</option><option value="1992">1992</option><option value="1991">1991</option><option value="1990">1990</option><option value="1989">
3641989</option><option value="1988">1988</option><option value="1987">1987</option><option value="1986">1986</option><option value="1985">1985</option><option value="1984">1984</option><option value="1983">1983</option><option value="1982">1982</option><option value="1981">1981</option><option value="1980">1980</option><option value="1979">1979</option><option value="1978">1978</option><option value="1977">1977</option><option value="1976">1976</option><option value="1975">1975</option><option value="1974">1974</option><option value="1973">1973</option><option value="1972">1972</option><option value="1971">1971</option><option value="1970">1970</option> </select> 365 </div> 366 </td> 367 <td class="to_year_td"> 368 <div class="form-validate"> 369 <select name="to_year[]" id="to_year" class="form-control to_year_calc"> 370 <option value=""> Select Year</option> 371 <option value="Current">Current</option> 372 <option value="2026">2026</option><option value="2025">2025</option><option value="2024">2024</option><option value="2023">2023</option><option value="2022">2022</option><option value="2021">2021</option><option value="2020">2020</option><option value="2019">2019</option><option value="2018">2018</option><option value="2017">2017</option><option value="2016">2016</option><option value="2015">2015</option><option value="2014">2014</option><option value="2013">2013</option><option value="2012">2012</option><option value="2011">2011</option><option value="2010">2010</option><option value="2009">2009</option><option value="2008">2008</option><option value="2007">2007</option><option value="2006">2006</option><option value="2005">2005</option><option value="2004">2004</option><option value="2003">2003</option><option value="2002">2002</option><option value="2001">2001</option><option value="2000">2000</option><option value="1999">1999</option><option value="1998">1998</option><option value="1997">1997</option><option value="1996">1996</option><option value="1995">1995</option><option value="1994">1994</option><option value="1993">1993</option><option value="1992">1992</option><option value="1991">1991</option><option value="1990">1990</option><option value="1989">1989</option><option value="1988">1988</option><option value="1987">1987</option><option value="1986">1986</option><option value="1985">1985</option><option value="1984">1984</option><option value="1983">1983</option><option value="1982">1982</option><option value="1981">1981</option><option value="1980">1980</option><option value="1979">1979</option><option value="1978">1978</option><option value="1977">1977</option><option value="1976">1976</option><option value="1975">1975</option><option value="1974">1974</option><option value="1973">1973</option><option value="1972">1972</option><option value="1971">1971</option><option value="1970">1970</option> </select> 373 <span class="exp-count-label text-success small font-weight-bold" style="display:none; margin-top:2px;"></span> 374 </div> 375 </td> 376 <td class="exprience_td"> 377 <div class="form-validate"> 378 <input type="file" name="experience_letter[]" class="form-control" id="experience_letter"> 379 </div> 380 <div> 381 </div> 382 </td> 383 <td class="btn_td"> 384 <button id="practical_experience_btn" row_num='1' onclick="addMoreRows('practical_experience')" style="margin: 0px !important;" type="button" class="mb-xs mt-xs mr-xs btn btn-success">Add More</button> 385 </td> 386 </tr> 387 </table> 388 </div> 389 390 <!-- <label class="control-label">Supervision</label> 391 <div class="table-responsive"> 392 <table class="table table-striped table-condensed mb-none" id="supervision_table"> 393 <tr> 394 <th>Job Title</th> 395 <th>Firm/Company</th> 396 <th>From Year</th> 397 <th>To Year</th> 398 <th style="width:14%;"></th> 399 </tr> 400 <tr id="supervision_tr_1"> 401 <td class="job_title_td"> 402 <div class="form-validate"> 403 <input type="text" name="job_title[]" class="form-control" id=""> 404 <input type="hidden" name="experience_type[]" value="Supervision"> 405 </div> 406 </td> 407 <td class="company_td"> 408 <div class="form-validate"> 409 <input type="text" name="company[]" class="form-control" id=""> 410 </div> 411 </td> 412 <td class="from_year_td"> 413 <div class="form-validate"> 414 <select name="from_year[]" id="" class="form-control"> 415 <option value=""> Select Year</option> 416 <option value="2026">2026</option><option value="2025">2025</option><option value="2024">2024</option><option value="2023">2023</option><option value="2022">2022</option><option value="2021">2021</option><option value="2020">2020</option><option value="2019">2019</option><option value="2018">2018</option><option value="2017">2017</option><option value="2016">2016</option><option value="2015">2015</option><option value="2014">2014</option><option value="2013">2013</option><option value="2012">2012</option><option value="2011">2011</option><option value="2010">2010</option><option value="2009">2009</option><option value="2008">2008</option><option value="2007">2007</option><option value="2006">2006</option><option value="2005">2005</option><option value="2004">2004</option><option value="2003">2003</option><option value="2002">2002</option><option value="2001">2001</option><option value="2000">2000</option><option value="1999">1999</option><option value="1998">1998</option><option value="1997">1997</option><option value="1996">1996</option><option value="1995">1995</option><option value="1994">1994</option><option value="1993">1993</option><option value="1992">1992</option><option value="1991">1991</option><option value="1990">1990</option><option value="1989">
4161989</option><option value="1988">1988</option><option value="1987">1987</option><option value="1986">1986</option><option value="1985">1985</option><option value="1984">1984</option><option value="1983">1983</option><option value="1982">1982</option><option value="1981">1981</option><option value="1980">1980</option><option value="1979">1979</option><option value="1978">1978</option><option value="1977">1977</option><option value="1976">1976</option><option value="1975">1975</option><option value="1974">1974</option><option value="1973">1973</option><option value="1972">1972</option><option value="1971">1971</option><option value="1970">1970</option> </select> 417 </div> 418 </td> 419 <td class="to_year_td"> 420 <div class="form-validate"> 421 <select name="to_year[]" id="" class="form-control"> 422 <option value=""> Select Year</option> 423 <option value="Current">Current</option> 424 <option value="2026">2026</option><option value="2025">2025</option><option value="2024">2024</option><option value="2023">2023</option><option value="2022">2022</option><option value="2021">2021</option><option value="2020">2020</option><option value="2019">2019</option><option value="2018">2018</option><option value="2017">2017</option><option value="2016">2016</option><option value="2015">2015</option><option value="2014">2014</option><option value="2013">2013</option><option value="2012">2012</option><option value="2011">2011</option><option value="2010">2010</option><option value="2009">2009</option><option value="2008">2008</option><option value="2007">2007</option><option value="2006">2006</option><option value="2005">2005</option><option value="2004">2004</option><option value="2003">2003</option><option value="2002">2002</option><option value="2001">2001</option><option value="2000">2000</option><option value="1999">1999</option><option value="1998">1998</option><option value="1997">1997</option><option value="1996">1996</option><option value="1995">1995</option><option value="1994">1994</option><option value="1993">1993</option><option value="1992">1992</option><option value="1991">1991</option><option value="1990">1990</option><option value="1989">1989</option><option value="1988">1988</option><option value="1987">1987</option><option value="1986">1986</option><option value="1985">1985</option><option value="1984">1984</option><option value="1983">1983</option><option value="1982">1982</option><option value="1981">1981</option><option value="1980">1980</option><option value="1979">1979</option><option value="1978">1978</option><option value="1977">1977</option><option value="1976">1976</option><option value="1975">1975</option><option value="1974">1974</option><option value="1973">1973</option><option value="1972">1972</option><option value="1971">1971</option><option value="1970">1970</option> </select> 425 </div> 426 </td> 427 <td class="btn_td"> 428 <button id="supervision_btn" row_num='1' onclick="addMoreRows('supervision')" type="button" class="mb-xs mt-xs mr-xs btn btn-success action_btn">Add More</button> 429 </td> 430 </tr> 431 </table> 432 </div> 433 434 <label class="control-label">Other Related Experience (If any)</label> 435 <div class="table-responsive"> 436 <table class="table table-striped table-condensed mb-none" id="related_experience_table"> 437 <tr> 438 <th>Job Title</th> 439 <th>Firm/Company</th> 440 <th>From Year</th> 441 <th>To Year</th> 442 <th style="width:14%;"></th> 443 </tr> 444 <tr id="related_experience_tr_1"> 445 <td class="job_title_td"> 446 <div class="form-validate"> 447 <input type="text" name="job_title[]" class="form-control" id=""> 448 <input type="hidden" name="experience_type[]" value="Other Related Experience"> 449 </div> 450 </td> 451 <td class="company_td"> 452 <div class="form-validate"> 453 <input type="text" name="company[]" class="form-control" id=""> 454 </div> 455 </td> 456 <td class="from_year_td"> 457 <div class="form-validate"> 458 <select name="from_year[]" id="" class="form-control"> 459 <option value=""> Select Year</option> 460 <option value="2026">2026</option><option value="2025">2025</option><option value="2024">2024</option><option value="2023">2023</option><option value="2022">2022</option><option value="2021">2021</option><option value="2020">2020</option><option value="2019">2019</option><option value="2018">2018</option><option value="2017">2017</option><option value="2016">2016</option><option value="2015">2015</option><option value="2014">2014</option><option value="2013">2013</option><option value="2012">2012</option><option value="2011">2011</option><option value="2010">2010</option><option value="2009">2009</option><option value="2008">2008</option><option value="2007">2007</option><option value="2006">2006</option><option value="2005">2005</option><option value="2004">2004</option><option value="2003">2003</option><option value="2002">2002</option><option value="2001">2001</option><option value="2000">2000</option><option value="1999">1999</option><option value="1998">1998</option><option value="1997">1997</option><option value="1996">1996</option><option value="1995">1995</option><option value="1994">1994</option><option value="1993">1993</option><option value="1992">1992</option><option value="1991">1991</option><option value="1990">1990</option><option value="1989">
4601989</option><option value="1988">1988</option><option value="1987">1987</option><option value="1986">1986</option><option value="1985">1985</option><option value="1984">1984</option><option value="1983">1983</option><option value="1982">1982</option><option value="1981">1981</option><option value="1980">1980</option><option value="1979">1979</option><option value="1978">1978</option><option value="1977">1977</option><option value="1976">1976</option><option value="1975">1975</option><option value="1974">1974</option><option value="1973">1973</option><option value="1972">1972</option><option value="1971">1971</option><option value="1970">1970</option> </select> 461 </div> 462 </td> 463 <td class="to_year_td"> 464 <div class="form-validate"> 465 <select name="to_year[]" id="" class="form-control"> 466 <option value=""> Select Year</option> 467 <option value="Current">Current</option> 468 <option value="2026">2026</option><option value="2025">2025</option><option value="2024">2024</option><option value="2023">2023</option><option value="2022">2022</option><option value="2021">2021</option><option value="2020">2020</option><option value="2019">2019</option><option value="2018">2018</option><option value="2017">2017</option><option value="2016">2016</option><option value="2015">2015</option><option value="2014">2014</option><option value="2013">2013</option><option value="2012">2012</option><option value="2011">2011</option><option value="2010">2010</option><option value="2009">2009</option><option value="2008">2008</option><option value="2007">2007</option><option value="2006">2006</option><option value="2005">2005</option><option value="2004">2004</option><option value="2003">2003</option><option value="2002">2002</option><option value="2001">2001</option><option value="2000">2000</option><option value="1999">1999</option><option value="1998">1998</option><option value="1997">1997</option><option value="1996">1996</option><option value="1995">1995</option><option value="1994">1994</option><option value="1993">1993</option><option value="1992">1992</option><option value="1991">1991</option><option value="1990">1990</option><option value="1989">1989</option><option value="1988">1988</option><option value="1987">1987</option><option value="1986">1986</option><option value="1985">1985</option><option value="1984">1984</option><option value="1983">1983</option><option value="1982">1982</option><option value="1981">1981</option><option value="1980">1980</option><option value="1979">1979</option><option value="1978">1978</option><option value="1977">1977</option><option value="1976">1976</option><option value="1975">1975</option><option value="1974">1974</option><option value="1973">1973</option><option value="1972">1972</option><option value="1971">1971</option><option value="1970">1970</option> </select> 469 </div> 470 </td> 471 <td class="btn_td"> 472 <button id="related_experience_btn" row_num='1' onclick="addMoreRows('related_experience')" style="margin: 0px !important;" type="button" class="mb-xs mt-xs mr-xs btn btn-success">Add More</button> 473 </td> 474 </tr> 475 </table> 476 </div> --> 477 478 479 <hr> 480 <div class="form-group"> 481 <div class="col-sm-12"> 482 <h3>Qualification</h3> 483 </div> 484 </div> 485 486 <label class="control-label">Professional Qualification</label> 487 <div class="table-responsive"> 488 <table class="table table-striped mb-none" id="membership_rofessional_table"> 489 <tr> 490 <th>Professional Council</th> 491 <th> Other Qualification </th> 492 <th>Institution</th> 493 <th>Year</th> 494 <th>Degree</th> 495 <th style="width:14%;"></th> 496 </tr> 497 <tr id="membership_rofessional_tr_1"> 498 <td class="job_title_td"> 499 <div class="form-validate"> 500 <select name="membership_professional_qualification[]" class="form-control professional_council_pr" id="professional_council"> 501 <option value="">Select Qualification</option> 502 <!-- <option value=""></option> --> 503 504 </select> 505 <input type="hidden" name="qualification_type[]" value="Membership of Pofessional"> 506 </div> 507 </td> 508 <!-- other Professional Council field --> 509 <td> 510 <div class="form-validate other_membership_qualification" style="display: none;"> 511 <input type="text" class="form-control" name="other_qualification_type[]" id="other_qualification_type"> 512 </div> 513 </td> 514 515 <td class="company_td"> 516 <div class="form-validate"> 517 <select name="membership_professional_university[]" class="form-control university" id=""> 518 <option value="">Select Institution / University</option> 519 <option value="University of Sindh, Jamshoro">University of Sindh, Jamshoro</option> 520 <option value="Agha Khan University, Karachi">Agha Khan University, Karachi</option> 521 <option value="University of Karachi">University of Karachi</option> 522 <option value="Al-Khair University, AJK">Al-Khair University, AJK</option> 523 <option value="Alhamd Islamic University">Alhamd Islamic University</option> 524 <option value="Allama Iqbal Open University Islamabad">Allama Iqbal Open University Islamabad</option> 525 <option value="BSE Karachi">BSE Karachi</option> 526 <option value="BTE Peshawar">BTE Peshawar</option> 527 <option value="BTE Peshawar">BTE Peshawar</option> 528 <option value="Bahauddin Zakariya University Multan">Bahauddin Zakariya University Multan</option> 529 <option value="Bahria University Islamabad">Bahria University Islamabad</option> 530 <option value="Balochistan University of Engineering and Technology">Balochistan University of Engineering and Technology</option> 531 <option value="Balochistan University of Information Tech. and Management Sciences">Balochistan University of Information Tech. and Management Sciences</option> 532 <option value="Baqai Medical University, Karachi">Baqai Medical University, Karachi</option> 533 <option value="CECOS University of Information Technology and Emerging Sciences">CECOS University of Information Technology and Emerging Sciences</option> 534 <option value="CFA USA">CFA USA</option> 535 <option value="COMSATS Institute of Information Technology">COMSATS Institute of Information Technology</option> 536 <option value="City University of Science and Information Technology, Peshawar">City University of Science and Information Technology, Peshawar</option> 537 <option value="City University of Science and IT Peshawar">City University of Science and IT Peshawar</option> 538 <option value="College of Buisness Administration and Economics (NCBA&E) Lahore">College of Buisness Administration and Economics (NCBA&E) Lahore</option> 539 <option value="College of Physician and Surgeons Pakistan">College of Physician and Surgeons Pakistan</option> 540 <option value="D.I.H.E. Karachi">D.I.H.E. Karachi</option> 541 <option value="Dadabhoy Institute of Higher Education, Karachi">Dadabhoy Institute of Higher Education, Karachi</option> 542 <option value="Dawood College of Engineering and Technology">Dawood College of Engineering and Technology</option> 543 <option value="Dow University of Health Sciences">Dow University of Health Sciences</option> 544 <option value="Fatima Jinnah Women University, Rawalpindi">Fatima Jinnah Women University, Rawalpindi</option> 545 <option value="Federal Urdu University of Arts, Sciences and Technology">Federal Urdu University of Arts, Sciences and Technology</option> 546 <option value="Forman Christian College, Lahore">Forman Christian College, Lahore</option> 547 <option value="Foundation University, Islamabad">Foundation University, Islamabad</option> 548 <option value="Frontier Women University, Peshawar">Frontier Women University, Peshawar</option> 549 <option value="GIFT University, Gujranwala">GIFT University, Gujranwala</option> 550 <option value="Gandhara University, Peshawar">Gandhara University, Peshawar</option> 551 <option value="Georgetown University, Washington">Georgetown University, Washington</option> 552 <option value="Ghulam Ishaq Khan Institute of Engg. Sciences and Technology, Swabi">Ghulam Ishaq Khan Institute of Engg. Sciences and Technology, Swabi</option> 553 <option value="Gomal University D.I.Khan">Gomal University D.I.Khan</option> 554 <option value="Government College University, Faisalabad">Government College University, Faisalabad</option> 555 <option value="Government College University, Lahore">Government College University, Lahore</option> 556 <option value="Greenwich University, Karachi">Greenwich University, Karachi</option> 557 <option value="Hajvery University, Lahore">Hajvery University, Lahore</option> 558 <option value="Hamdard University, Karachi">Hamdard University, Karachi</option> 559 <option value="Hazara University, Mansehra">Hazara University, Mansehra</option> 560 <option value="ICMAP Karachi">ICMAP Karachi</option> 561 <option value="Imperial College of Business Studies, Lahore">Imperial College of Business Studies, Lahore</option> 562 <option value="Indus Institute of Higher Education, Karachi">Indus Institute of Higher Education, Karachi</option> 563 <option value="Indus Valley School of Art and Architecture, Karachi">Indus Valley School of Art and Architecture, Karachi</option> 564 <option value="Institute of Business and Technology BIZTEK, Karachi">Institute of Business and Technology BIZTEK, Karachi</option> 565 <option value="Institute of Business Administration">Institute of Business Administration</option> 566 <option value="Institute of Business Management, Karachi">Institute of Business Management, Karachi</option> 567 <option value="Institute of Management Sciences (IMSciences)">Institute of Management Sciences (IMSciences)</option> 568 <option value="Institute of Management Sciences, Lahore">Institute of Management Sciences, Lahore</option> 569 <option value="Institute of Social Studies">Institute of Social Studies</option> 570 <option value="International Islamic University Islamabad">International Islamic University Islamabad</option> 571 <option value="Iqra University, Karachi">Iqra University, Karachi</option> 572 <option value="Iqra University, Quetta">Iqra University, Quetta</option> 573 <option value="Islamia University, Bahawalpur">Islamia University, Bahawalpur</option> 574 <option value="Isra University, Hyderabad">Isra University, Hyderabad</option> 575 <option value="Jinnah University for Women, Karachi">Jinnah University for Women, Karachi</option> 576 <option value="KASB (Khadim Ali Shah Bukhari) Institute of Technology, Karachi">KASB (Khadim Ali Shah Bukhari) Institute of Technology, Karachi</option> 577 <option value="KELLER ISD">KELLER ISD</option> 578 <option value="Karachi Institute of Economics and Technology, Karachi">Karachi Institute of Economics and Technology, Karachi</option> 579 <option value="Karakuram International University, Gilgit">
579Karakuram International University, Gilgit</option> 580 <option value="Khyber Medical University Peshawar">Khyber Medical University Peshawar</option> 581 <option value="King Edward Medical University Lahore">King Edward Medical University Lahore</option> 582 <option value="Kinnaird College for Women, Lahore">Kinnaird College for Women, Lahore</option> 583 <option value="Kohat University of Science and Technology, Kohat">Kohat University of Science and Technology, Kohat</option> 584 <option value="Lahore College for Women University, Lahore">Lahore College for Women University, Lahore</option> 585 <option value="Lahore School of Economics, Lahore">Lahore School of Economics, Lahore</option> 586 <option value="Lahore University of Management Sciences, Lahore">Lahore University of Management Sciences, Lahore</option> 587 <option value="Lasbela University, Uthal, Balochistan">Lasbela University, Uthal, Balochistan</option> 588 <option value="Lasbelaa University of Agriculture, Water and Marine Science, Othal">Lasbelaa University of Agriculture, Water and Marine Science, Othal</option> 589 <option value="Liaquat University of Medical and Health Sciences, Jamshoro Sindh">Liaquat University of Medical and Health Sciences, Jamshoro Sindh</option> 590 <option value="Mehran University of Engineering and Technology, Jamshoro">Mehran University of Engineering and Technology, Jamshoro</option> 591 <option value="Mohammad Ali Jinnah University, Karachi">Mohammad Ali Jinnah University, Karachi</option> 592 <option value="Mohi-ud-Din Islamic University, AJK">Mohi-ud-Din Islamic University, AJK</option> 593 <option value="NED University of Engineering and Technology, Karachi">NED University of Engineering and Technology, Karachi</option> 594 <option value="NWFP Agriculture University, Peshawar">NWFP Agriculture University, Peshawar</option> 595 <option value="NWFP University of Engineering and Technology, Peshawar">NWFP University of Engineering and Technology, Peshawar</option> 596 <option value="National College of Arts, Lahore">National College of Arts, Lahore</option> 597 <option value="National Defence University, Islamabad">National Defence University, Islamabad</option> 598 <option value="National Institute of Rehabilitation Medicine, Islamabad">National Institute of Rehabilitation Medicine, Islamabad</option> 599 <option value="National Textile University, Faisalabad (Federal Chartered)">National Textile University, Faisalabad (Federal Chartered)</option> 600 <option value="National University of Computer and Emerging Sciences">National University of Computer and Emerging Sciences</option> 601 <option value="National University of Computer and Emerging Sciences, Lahore">National University of Computer and Emerging Sciences, Lahore</option>
602 <option value="National University of Modern Languages, Islamabad">National University of Modern Languages, Islamabad</option> 603 <option value="National University of Sciences and Technology, Rawalpindi">National University of Sciences and Technology, Rawalpindi</option> 604 <option value="Newports Institute of Communications and Economics, Karachi">Newports Institute of Communications and Economics, Karachi</option> 605 <option value="Northern University, Nowshera Cantonment">Northern University, Nowshera Cantonment</option> 606 <option value="Oracle University Dellas, USA">Oracle University Dellas, USA</option> 607 <option value="PBTE Lahore">PBTE Lahore</option> 608 <option value="Pakistan Air Force">Pakistan Air Force</option> 609 <option value="Pakistan Institute of Engineering and Applied Sciences, Islamabad">Pakistan Institute of Engineering and Applied Sciences, Islamabad</option> 610 <option value="Pakistan Military Academy, Kakul, Abbottabad">Pakistan Military Academy, Kakul, Abbottabad</option> 611 <option value="Pakistan Naval Academy, Karachi">Pakistan Naval Academy, Karachi</option> 612 <option value="Preston Institute of Management Sciences and Technology, Karachi">Preston Institute of Management Sciences and Technology, Karachi</option> 613 <option value="Preston University, Karachi">Preston University, Karachi</option> 614 <option value="Preston University, Kohat">Preston University, Kohat</option> 615 <option value="Quaid-e-Awam University of Engineering, Science and Tech, Nawabshah">Quaid-e-Awam University of Engineering, Science and Tech, Nawabshah</option> 616 <option value="Quaid-i-Azam University, Islamabad">Quaid-i-Azam University, Islamabad</option> 617 <option value="Qurtaba University of Science and Information Technology, D. I. Khan">Qurtaba University of Science and Information Technology, D. I. Khan</option> 618 <option value="Riphah International University, Islamabad">Riphah International University, Islamabad</option> 619 <option value="SBTE Karachi">SBTE Karachi</option> 620 <option value="SZABIST Karachi">SZABIST Karachi</option> 621 <option value="Sardar Bahadur Khan Women University, Quetta">Sardar Bahadur Khan Women University, Quetta</option> 622 <option value="Sarhad University of Science and Information Technology">Sarhad University of Science and Information Technology</option> 623 <option value="Shah Abdul Latif University, Khairpur">Shah Abdul Latif University, Khairpur</option> 624 <option value="Sindh Agriculture University, Tandojam">Sindh Agriculture University, Tandojam</option> 625 <option value="Sir Syed University of Engg. and Technology, Karachi">Sir Syed University of Engg. and Technology, Karachi</option> 626 <option value="Tanzeem-Ul-Madaris, Lahore">Tanzeem-Ul-Madaris, Lahore</option> 627 <option value="Tarrant County College">Tarrant County College</option> 628 <option value="Textile Institute of Pakistan, Karachi">Textile Institute of Pakistan, Karachi</option> 629 <option value="The Superior College, Lahore">The Superior College, Lahore</option> 630 <option value="The University of Management and Technology, Lahore">The University of Management and Technology, Lahore</option> 631 <option value="University College of Education">University College of Education</option> 632 <option value="University Law College">University Law College</option> 633 <option value="University of Agriculture, Faisalabad">University of Agriculture, Faisalabad</option> 634 <option value="University of Arid Agriculture, Murree Road, Rawalpindi">University of Arid Agriculture, Murree Road, Rawalpindi</option> 635 <option value="University of Azad Jammu and Kashmir, Muzaffarabad, Azad Kashmir">University of Azad Jammu and Kashmir, Muzaffarabad, Azad Kashmir</option> 636 <option value="University of Balochistan, Quetta">University of Balochistan, Quetta</option> 637 <option value="University of Botswana">University of Botswana</option> 638 <option value="University of Cambridge UK">University of Cambridge UK</option> 639 <option value="University of Cambridge/ EDEXCEL International, UK">University of Cambridge/ EDEXCEL International, UK</option> 640 <option value="University of Central Punjab, Lahore">University of Central Punjab, Lahore</option> 641 <option value="University of East, Hyderabad">University of East, Hyderabad</option> 642 <option value="University of Education, Lahore">University of Education, Lahore</option> 643 <option value="University of Engineering and Technology, Lahore">University of Engineering and Technology, Lahore</option> 644 <option value="University of Engineering and Technology, Taxila">University of Engineering and Technology, Taxila</option> 645 <option value="University of Faisalabad">University of Faisalabad</option> 646 <option value="University of Gujrat">University of Gujrat</option> 647 <option value="University of Health Sciences, Lahore">University of Health Sciences, Lahore</option> 648 <option value="Air University Islamabad">Air University Islamabad</option> 649 <option value="University of Lahore">University of Lahore</option> 650 <option value="University of London">University of London</option> 651 <option value="University of Malakand">University of Malakand</option> 652 <option value="University of Management and Technology">University of Management and Technology</option> 653 <option value="University of Peshawar">University of Peshawar</option> 654 <option value="University of Sargodha">University of Sargodha</option> 655 <option value="Abasyn University Peshawar">Abasyn University Peshawar</option> 656 <option value="University of South Asia, Lahore">University of South Asia, Lahore</option> 657 <option value="University of Veterinary and Animal Sciences, Lahore">University of Veterinary and Animal Sciences, Lahore</option> 658 <option value="University of the Punjab, Lahore">University of the Punjab, Lahore</option> 659 <option value="Virtual University of Pakistan, Lahore">Virtual University of Pakistan, Lahore</option> 660 <option value="Zia-ud-Din Medical University, Karachi">Zia-ud-Din Medical University, Karachi</option> 661 <option value="Shaheed Benazir Bhutto University of Veterinary and Animal Science Sakrand">Shaheed Benazir Bhutto University of Veterinary and Animal Science Sakrand</option> 662 <option value="PCATP">PCATP</option> 663 <option value="IAP">IAP</option> 664 <option value="Assumption University">Assumption University</option> 665 666 </select> 667 </div> 668 </td> 669 <td class="from_year_td"> 670 <div class="form-validate"> 671 <select name="membership_professional_passing_year[]" id="" class="form-control passing_year"> 672 <option value=""> Select Year</option> 673 <option value="2026">2026</option><option value="2025">2025</option><option value="2024">2024</option><option value="2023">2023</option><option value="2022">2022</option><option value="2021">2021</option><option value="2020">2020</option><option value="2019">2019</option><option value="2018">2018</option><option value="2017">2017</option><option value="2016">2016</option><option value="2015">2015</option><option value="2014">2014</option><option value="2013">2013</option><option value="2012">2012</option><option value="2011">2011</option><option value="2010">2010</option><option value="2009">2009</option><option value="2008">2008</option><option value="2007">2007</option><option value="2006">2006</option><option value="2005">2005</option><option value="2004">2004</option><option value="2003">2003</option><option value="2002">2002</option><option value="2001">2001</option><option value="2000">2000</option><option value="1999">1999</option><option value="1998">1998</option><option value="1997">1997</option><option value="1996">1996</option><option value="1995">1995</option><option value="1994">1994</option><option value="1993">1993</option><option value="1992">1992</option><option value="1991">1991</option><option value="1990">1990</option><option value="1989">
6731989</option><option value="1988">1988</option><option value="1987">1987</option><option value="1986">1986</option><option value="1985">1985</option><option value="1984">1984</option><option value="1983">1983</option><option value="1982">1982</option><option value="1981">1981</option><option value="1980">1980</option><option value="1979">1979</option><option value="1978">1978</option><option value="1977">1977</option><option value="1976">1976</option><option value="1975">1975</option><option value="1974">1974</option><option value="1973">1973</option><option value="1972">1972</option><option value="1971">1971</option><option value="1970">1970</option> </select> 674 </div> 675 </td> 676 <td> 677 <div class="form-validate"> 678 <input type="file" class="form-control add_degree" name="degree[]" id="degree"> 679 </div> 680 <div> 681 </div> 682 </td> 683 <td class="btn_td"> 684 <button id="membership_rofessional_btn" row_num='1' onclick="addMoreRows('membership_rofessional')" type="button" class="mb-xs mt-xs mr-xs btn btn-success action_btn">Add More</button> 685 </td> 686 </tr> 687 </table> 688 </div> 689 690 <hr> 691 <div class="form-group"> 692 <div class="col-sm-12"> 693 <h3>Certification</h3> 694 </div> 695 </div> 696 <label class="control-label">Professional Certification</label> 697 <div class="table-responsive"> 698 <table class="table table-striped table-condensed mb-none" id="professional_qualification_table"> 699 <tr> 700 <th id="heading">Certification Type</th> 701 <!-- <th id="otherQualification"> Other Qualification </th> --> 702 <th>Issuing Body</th> 703 <th>Year</th> 704 <th style="width:14%;"></th> 705 </tr> 706 <tr id="professional_qualification_tr_1"> 707 <td class="job_title_td"> 708 <div class="form-validate"> 709 <select name="qualification[]" class="form-control qualification_pr" id="qualification"> 710 <option value="">Select Certification Type</option> 711 <option value="Registered">Registered</option> 712 <option value="Member">Member</option> 713 </select> 714 715 <input type="hidden" name="qualification_type[]" value="Professional Certification"> 716 </div> 717 </td> 718 <!-- other qualification type --> 719 <!-- <td> 720 <div class="form-validate other" style="display: none;"> 721 <input type="text" class="form-control" name="other_qualification_type[]"> 722 </div> 723 </td> --> 724 <td class="company_td"> 725 <div class="form-validate"> 726 <select name="university[]" class="form-control issuing_body_select" id="issuing_body"> 727 <option value="">Select Issuing Body</option> 728 <option value="PCATP">PCATP</option> 729 <option value="IAP">IAP</option> 730 <option value="PEC">PEC</option> 731 <option value="IEP">IEP</option> 732 </select> 733 </div> 734 </td> 735 <td class="from_year_td"> 736 <div class="form-validate"> 737 <select name="passing_year[]" id="certification_year" class="form-control"> 738 <option value="">Select Year</option> 739 <option value="2026">2026</option> 740 <option value="Lifetime">Lifetime</option> 741 </select> 742 </div> 743 </td> 744 <td class="btn_td"> 745 <button id="professional_qualification_btn" row_num='1' onclick="addMoreRows('professional_qualification')" type="button" class="mb-xs mt-xs mr-xs btn btn-success action_btn">Add More</button> 746 </td> 747 </tr> 748 </table> 749 </div> 750 751 752 <hr> 753 <div class="form-group"> 754 <div class="col-sm-12"> 755 <h3>Required Documents</h3> 756 </div> 757 </div> 758 759 <!--<form id="fileupload" action="https://jquery-file-upload.appspot.com/" method="POST" enctype="multipart/form-data">--> 760 <div upload_main_id="1335" class="fileupload"> 761 <!-- Redirect browsers with JavaScript disabled to the origin page --> 762 <noscript><input type="hidden" name="redirect" value="https://blueimp.github.io/jQuery-File-Upload/"></noscript> 763 <!-- The fileupload-buttonbar contains buttons to add/delete files and start/cancel the upload --> 764 <div class="file-upload-message col-lg-12" id="file_upload_message_1335" style="display: none; text-align: center;"><span class="" style="color: #a94442; font-weight: bold">Please upload file.</span></div> 765 <table class="table table-striped table-condensed mb-none upload_file" id="upload_table_1335"> 766 <tr> 767 768 <td style="width: 7%;" id="check_file_btn_1335"> 769 <input type="checkbox" value="1" class="check_upload_file check_upload_file_1335" upload_row_id="1335" /> 770 </td> 771 <td style="width: 20%;" id="add_file_btn_1335"> 772 <div class="row fileupload-buttonbar"> 773 774 <div class="col-lg-12"> 775 <!-- The fileinput-button span is used to style the file input field as button --> 776 <span disabled class="btn btn-success fileinput-button" id="file_upload_btn_1335"> 777 <i class="glyphicon glyphicon-plus"></i> 778 <span>Add files...</span> 779 780 <input type="file" name="files[1335]" id="1335" document_label="CNIC" document_slug="CNIC"> 781 <!--<input type="hidden" class="csrf_class" name="ci_csrf_token" value="" />--> 782 783 </span> 784 785 <strong><span class="text text-danger"></span></strong> 786 787 <!-- The global file processing state --> 788 </div> 789 790 <input type="hidden" document_id="1335" name="document_validation_1335" id="document_validation_1335" value="" class="document_check"> 791 </div> 792 </td> 793 <td id="add_file_txt_1335" style="vertical-align: middle;"> 794 <div><strong>CNIC</strong><span class="required">*</span></div> 795 </td> 796 <td id="uploaded_file_1335"> 797 <!-- The table listing the files available for upload/download --> 798 <table role="presentation" class="table table-striped" id="upload_file"><tbody class="files"></tbody></table> 799 </td> 800 </tr> 801 </table> 802 803 </div> 804 <!--</form>--> 805 <!--<form id="fileupload" action="https://jquery-file-upload.appspot.com/" method="POST" enctype="multipart/form-data">-->
806 <div upload_main_id="1336" class="fileupload"> 807 <!-- Redirect browsers with JavaScript disabled to the origin page --> 808 <noscript><input type="hidden" name="redirect" value="https://blueimp.github.io/jQuery-File-Upload/"></noscript> 809 <!-- The fileupload-buttonbar contains buttons to add/delete files and start/cancel the upload --> 810 <div class="file-upload-message col-lg-12" id="file_upload_message_1336" style="display: none; text-align: center;"><span class="" style="color: #a94442; font-weight: bold">Please upload file.</span></div> 811 <table class="table table-striped table-condensed mb-none upload_file" id="upload_table_1336"> 812 <tr> 813 814 <td style="width: 7%;" id="check_file_btn_1336"> 815 <input type="checkbox" value="1" class="check_upload_file check_upload_file_1336" upload_row_id="1336" /> 816 </td> 817 <td style="width: 20%;" id="add_file_btn_1336"> 818 <div class="row fileupload-buttonbar"> 819 820 <div class="col-lg-12"> 821 <!-- The fileinput-button span is used to style the file input field as button --> 822 <span disabled class="btn btn-success fileinput-button" id="file_upload_btn_1336"> 823 <i class="glyphicon glyphicon-plus"></i> 824 <span>Add files...</span> 825 826 <input type="file" name="files[1336]" id="1336" document_label="Registration certificate from PEC or PCATP" document_slug="Registration-certificate-from-PEC-or-PCATP"> 827 <!--<input type="hidden" class="csrf_class" name="ci_csrf_token" value="" />--> 828 829 </span> 830 831 <strong><span class="text text-danger"></span></strong> 832 833 <!-- The global file processing state --> 834 </div> 835 836 <input type="hidden" document_id="1336" name="document_validation_1336" id="document_validation_1336" value="" class="document_check"> 837 </div> 838 </td> 839 <td id="add_file_txt_1336" style="vertical-align: middle;"> 840 <div><strong>Registration certificate from PEC or PCATP</strong><span class="required">*</span></div> 841 </td> 842 <td id="uploaded_file_1336"> 843 <!-- The table listing the files available for upload/download --> 844 <table role="presentation" class="table table-striped" id="upload_file"><tbody class="files"></tbody></table> 845 </td> 846 </tr> 847 </table> 848 849 </div> 850 <!--</form>--> 851 <!--<form id="fileupload" action="https://jquery-file-upload.appspot.com/" method="POST" enctype="multipart/form-data">--> 852 <div upload_main_id="1337" class="fileupload"> 853 <!-- Redirect browsers with JavaScript disabled to the origin page --> 854 <noscript><input type="hidden" name="redirect" value="https://blueimp.github.io/jQuery-File-Upload/"></noscript> 855 <!-- The fileupload-buttonbar contains buttons to add/delete files and start/cancel the upload --> 856 <div class="file-upload-message col-lg-12" id="file_upload_message_1337" style="display: none; text-align: center;"><span class="" style="color: #a94442; font-weight: bold">Please upload file.</span></div> 857 <table class="table table-striped table-condensed mb-none upload_file" id="upload_table_1337"> 858 <tr> 859 860 <td style="width: 7%;" id="check_file_btn_1337"> 861 <input type="checkbox" value="1" class="check_upload_file check_upload_file_1337" upload_row_id="1337" /> 862 </td> 863 <td style="width: 20%;" id="add_file_btn_1337"> 864 <div class="row fileupload-buttonbar"> 865 866 <div class="col-lg-12"> 867 <!-- The fileinput-button span is used to style the file input field as button --> 868 <span disabled class="btn btn-success fileinput-button" id="file_upload_btn_1337"> 869 <i class="glyphicon glyphicon-plus"></i> 870 <span>Add files...</span> 871 872 <input type="file" name="files[1337]" id="1337" document_label="CV" document_slug="CV"> 873 <!--<input type="hidden" class="csrf_class" name="ci_csrf_token" value="" />--> 874 875 </span> 876 877 <strong><span class="text text-danger"></span></strong> 878 879 <!-- The global file processing state --> 880 </div> 881 882 <input type="hidden" document_id="1337" name="document_validation_1337" id="document_validation_1337" value="" class="document_check"> 883 </div> 884 </td> 885 <td id="add_file_txt_1337" style="vertical-align: middle;"> 886 <div><strong>CV</strong><span class="required">*</span></div> 887 </td> 888 <td id="uploaded_file_1337"> 889 <!-- The table listing the files available for upload/download --> 890 <table role="presentation" class="table table-striped" id="upload_file"><tbody class="files"></tbody></table> 891 </td> 892 </tr> 893 </table> 894 895 </div> 896 <!--</form>--> 897 <!--<form id="fileupload" action="https://jquery-file-upload.appspot.com/" method="POST" enctype="multipart/form-data">-->
898 <div upload_main_id="1338" class="fileupload"> 899 <!-- Redirect browsers with JavaScript disabled to the origin page --> 900 <noscript><input type="hidden" name="redirect" value="https://blueimp.github.io/jQuery-File-Upload/"></noscript> 901 <!-- The fileupload-buttonbar contains buttons to add/delete files and start/cancel the upload --> 902 <div class="file-upload-message col-lg-12" id="file_upload_message_1338" style="display: none; text-align: center;"><span class="" style="color: #a94442; font-weight: bold">Please upload file.</span></div> 903 <table class="table table-striped table-condensed mb-none upload_file" id="upload_table_1338"> 904 <tr> 905 906 <td style="width: 7%;" id="check_file_btn_1338"> 907 <input type="checkbox" value="1" class="check_upload_file check_upload_file_1338" upload_row_id="1338" /> 908 </td> 909 <td style="width: 20%;" id="add_file_btn_1338"> 910 <div class="row fileupload-buttonbar"> 911 912 <div class="col-lg-12"> 913 <!-- The fileinput-button span is used to style the file input field as button --> 914 <span disabled class="btn btn-success fileinput-button" id="file_upload_btn_1338"> 915 <i class="glyphicon glyphicon-plus"></i> 916 <span>Add files...</span> 917 918 <input type="file" name="files[1338]" id="1338" document_label="Picture" document_slug="Picture"> 919 <!--<input type="hidden" class="csrf_class" name="ci_csrf_token" value="" />--> 920 921 </span> 922 923 <strong><span class="text text-danger"></span></strong> 924 925 <!-- The global file processing state --> 926 </div> 927 928 <input type="hidden" document_id="1338" name="document_validation_1338" id="document_validation_1338" value="" class="document_check"> 929 </div> 930 </td> 931 <td id="add_file_txt_1338" style="vertical-align: middle;"> 932 <div><strong>Picture</strong><span class="required">*</span></div> 933 </td> 934 <td id="uploaded_file_1338"> 935 <!-- The table listing the files available for upload/download --> 936 <table role="presentation" class="table table-striped" id="upload_file"><tbody class="files"></tbody></table> 937 </td> 938 </tr> 939 </table> 940 941 </div> 942 <!--</form>--> 943 944 945 946 <div class="form-group" style="margin-top: 15px;"> 947 <div class="form-validate"> 948 <div class="col-sm-6"> 949 <div class="g-recaptcha" id="rcaptcha" style="" data-sitekey="6LfF7hwUAAAAAPpw8lzNtaTME3pv3VfDNfuBRm1z"></div> 950 <div id="captcha" style="margin: 5px 0; color:red"></div> 951 </div> 952 </div> 953 </div> 954</div> 955</div> 956 957 958<input type="hidden" name="register_user" value="Submit" /> 959 960<input type="hidden" name="insert_group" value="6" /> 961<input type="hidden" name="check_cnic" id="check_cnic" value="0" /> 962 963<div class="panel-footer"> 964 <ul class="pager"> 965 <li class="finish pull-right"> 966 <input type="submit" class="mb-xs mt-xs mr-xs btn btn-success sub_btn" value="Submit"> 967 </li> 968 </ul> 969</div> 970 971</section> 972</form> 973<p class="text-center">Already have an account? <a href="http://smart.sbca.gos.pk/">Sign In!</a></p> 974</div> 975</div> 976<p class="text-center text-muted mt-md mb-md">© Copyright IT Department SBCA ©. All rights reserved.</p> 977</div> 978 979 980</section> 981<!-- end: page --> 982<!-- Vendor -->
983<script src="http://smart.sbca.gos.pk/assets/vendor/jquery/jquery.js"></script>
vendor: 2 bytes, line 983
983
984<script src="http://smart.sbca.gos.pk/assets/vendor/jquery-browser-mobile/jquery.browser.mobile.js"></script>
vendor: 2 bytes, line 984
984
985<script src="http://smart.sbca.gos.pk/assets/vendor/bootstrap/js/bootstrap.js"></script>
vendor: 2 bytes, line 985
985
986<script src="http://smart.sbca.gos.pk/assets/vendor/nanoscroller/nanoscroller.js"></script>
vendor: 2 bytes, line 986
986
987<script src="http://smart.sbca.gos.pk/assets/vendor/bootstrap-datepicker/js/bootstrap-datepicker.js"></script>
vendor: 2 bytes, line 987
987
988<script src="http://smart.sbca.gos.pk/assets/vendor/magnific-popup/magnific-popup.js"></script>
vendor: 2 bytes, line 988
988
989<script src="http://smart.sbca.gos.pk/assets/vendor/jquery-placeholder/jquery.placeholder.js"></script>
vendor: 2 bytes, line 989
989
990<script src="http://smart.sbca.gos.pk/assets/vendor/jquery-maskedinput/jquery.maskedinput.js"></script>
990 991<!-- Specific Page Vendor -->
992<script src="http://smart.sbca.gos.pk/assets/vendor/jquery-validation/jquery.validate.js"></script>
vendor: 2 bytes, line 992
992
993<script src="http://smart.sbca.gos.pk/assets/vendor/bootstrap-wizard/jquery.bootstrap.wizard.js"></script>
vendor: 2 bytes, line 993
993
994<script src="http://smart.sbca.gos.pk/assets/vendor/pnotify/pnotify.custom.js"></script>
994 995<!-- Theme Base, Components and Settings -->
996<script src="http://smart.sbca.gos.pk/assets/javascripts/theme.js"></script>
996 997<!-- Theme Custom -->
998<script src="http://smart.sbca.gos.pk/assets/javascripts/theme.custom.js"></script>
998 999
1000<script src="http://smart.sbca.gos.pk/assets/vendor/bootstrap-fileupload/bootstrap-fileupload.min.js"></script>
vendor: 2 bytes, line 1000
1000
1001<script src="http://smart.sbca.gos.pk/assets/vendor/jquery-validation/additional-methods.min.js"></script>
1001 1002<!--
vendor: 63 bytes, line 1002
1002<script src='https://www.google.com/recaptcha/api.js'></script>
1002--> 1003<style> 1004 label.error_cnic{ 1005 color: #B94A48; 1006 margin-top: 2px; 1007 font-size: 0.9em; 1008 margin-top: -5px; 1009 padding: 0; 1010 } 1011 .action_btn { 1012 margin: 0px !important; 1013 } 1014 .toggle-password-btn { 1015 cursor: pointer !important; 1016 pointer-events: auto !important; 1017 z-index: 10 !important; 1018 } 1019 .toggle-password-btn span.icon, 1020 .toggle-password-btn i, 1021 .toggle-password-btn .fa { 1022 cursor: pointer !important; 1023 pointer-events: auto !important; 1024 z-index: 11 !important; 1025 } 1026</style>
1027<script> 1028 1029$(document).on('change', '#company_status', function(e) { 1030 e.preventDefault(); 1031 var company_status = $(this).val(); 1032 var userType = $('#user_type').val(); 1033 let funy = "null"; 1034 localStorage.setItem("company_status", company_status); 1035 1036 location.href = "http://smart.sbca.gos.pk/auth/register_account/" + userType +"/"+ funy + "/"+company_status; 1037 }); 1038 1039 function checkStatus(){ 1040 1041 var company_status = localStorage.getItem("company_status"); 1042 console.log(company_status); 1043 // $('#company_status[value=""]').attr("selected", "selected"); 1044 1045 $("#company_status").val(company_status); 1046 localStorage.removeItem("company_status"); 1047 1048 if(company_status == null || company_status == "PvtLtdCompany" || company_status == "Proprietorship" ){ 1049 1050 $(".owneraddmore").css("display", "none"); 1051 1052 }else{ 1053 $(".owneraddmore").css("display", "show"); 1054 1055 1056 } 1057 } 1058 1059 jQuery(document).ready(function () { 1060 1061 FormValidator.init(); 1062 checkStatus(); 1063 1064 } 1065 ); 1066 //*** Experience Year Calculation listener ***// 1067 $(document).on('change', '.from_year_calc, .to_year_calc', function() { 1068 var tr = $(this).closest('tr'); 1069 var fromVal = parseInt(tr.find('.from_year_calc').val(), 10); 1070 var toRaw = tr.find('.to_year_calc').val(); 1071 var toVal = (toRaw && toRaw.toLowerCase() === 'current') ? new Date().getFullYear() : parseInt(toRaw, 10); 1072 var label = tr.find('.exp-count-label'); 1073 if (fromVal > 0 && toVal >= fromVal) { 1074 var diff = toVal - fromVal; 1075 label.text(diff + (diff === 1 ? ' Year' : ' Years')).show(); 1076 } else { 1077 label.text('').hide(); 1078 } 1079 }); 1080 1081 //*** Professional Qualification drop down according to profesional type ***// 1082 function professional_qualification(){ 1083 updateIssuingBodies(); 1084 } 1085 1086 function updateIssuingBodies() { 1087 var profType = $('.prof_type').val() || $('#prof_type').val(); 1088 var isArchitect = (profType === 'Architect'); 1089 1090 var bodies = isArchitect ? [ 1091 { val: 'PCATP', label: 'PCATP' }, 1092 { val: 'IAP', label: 'IAP' } 1093 ] : [ 1094 { val: 'PEC', label: 'PEC' }, 1095 { val: 'IEP', label: 'IEP' } 1096 ]; 1097 1098 $('.issuing_body_select, #issuing_body').each(function() { 1099 var $select = $(this); 1100 var currentVal = $select.val(); 1101 $select.empty(); 1102 $select.append('<option value="">Select Issuing Body</option>'); 1103 $.each(bodies, function(i, item) { 1104 var isSelected = (currentVal === item.val) ? 'selected' : ''; 1105 $select.append('<option value="' + item.val + '" ' + isSelected + '>' + item.label + '</option>'); 1106 }); 1107 }); 1108 } 1109 //*** Membership of Professional Council drop down according to profesional type ***// 1110 function professional_council(){ 1111 1112 var profType = $('.prof_type').val(); 1113 var degree = [{"degree_id":"1","degree_name":"CRP"},{"degree_id":"2","degree_name":"Civil Engineering"},{"degree_id":"3","degree_name":"Architecture"},{"degree_id":"4","degree_name":"PCATP"},{"degree_id":"5","degree_name":"IAP"},{"degree_id":"6","degree_name":"PEC"},{"degree_id":"7","degree_name":"IEP"},{"degree_id":"8","degree_name":"BE\/BS"},{"degree_id":"9","degree_name":"B.Arch"},{"degree_id":"10","degree_name":"Master"},{"degree_id":"11","degree_name":"Other"}]; 1114 1115 select = $('#professional_council'); 1116 select.empty(); 1117 select.append('<option value="">Select Qualification</option>'); 1118 1119 $.each(degree, function (i, dg) { 1120 1121 if (profType == 'Structure Engineer' || profType == 'Proof Engineer' || profType == 'Professional Engineer') { 1122 if (dg['degree_name'] == 'BE/BS') { 1123 select.append('<option value="' + dg['degree_name'] + '">' + dg['degree_name'] + '</option>'); 1124 } 1125 } 1126 else{ 1127 1128 if (dg['degree_name'] == 'B.Arch') { 1129 select.append('<option value="' + dg['degree_name'] + '">' + dg['degree_name'] + '</option>'); 1130 } 1131 } 1132 if (dg['degree_name'] == 'Master' || dg['degree_name'] == 'Other') { 1133 select.append('<option value="' + dg['degree_name'] + '">' + dg['degree_name'] + '</option>'); 1134 } 1135 1136 }); 1137 } 1138 //*** License Professional document ***// 1139 function professional_document(){ 1140 1141 var profType = $('.prof_type').val(); 1142 var catDoc = $('#catDoc').val(); 1143 if (catDoc == 'Registration certificate from PEC or PCATP' && profType == 'Structure Engineer') { 1144 $('#add_txt').html("Registration certificate from Consultant PEC"); 1145 1146 } 1147 else if(catDoc == 'Registration certificate from PEC or PCATP' && profType == 'Professional Engineer'){
1148 $('#add_txt').html("Registration certificate from Professional Engineer PEC"); 1149 } 1150 else{ 1151 $('#add_txt').html(catDoc); 1152 } 1153 1154 1155 } 1156 professional_qualification(); 1157 professional_council(); 1158 professional_document(); 1159 updateIssuingBodies(); 1160 1161 1162 // for professional_qualification 1163 $('.prof_type').change(function(){ 1164 1165 professional_document(); // for license professional document 1166 professional_qualification(); //for professional_qualification 1167 professional_council(); // for professional_council 1168 updateIssuingBodies(); 1169 1170 }); 1171 1172 //for other Professional Qualification 1173 $(document).on('change', '.qualification_pr', function() { 1174 var qualification = $(this).val(); 1175 if (qualification == 'Other') { 1176 1177 //$('#heading').after('<th id="otherQualification"> Other Qualification </th>'); 1178 //$(this).parent().parent().parent().find('.other').show(); 1179 $(this).parent().parent().parent().find('.other').show(); 1180 } 1181 else{ 1182 //$('#otherQualification').remove(); 1183 //$(this).parent().parent().parent().find('.other').show(); 1184 $(this).parent().parent().parent().find('.other').hide(); 1185 } 1186 1187 }); 1188 1189 //for other Membership of Professional Council 1190 $(document).on('change', '.professional_council_pr', function(){ 1191 var professional_council = $(this).val(); 1192 if (professional_council == 'Other') { 1193 $(this).parent().parent().parent().find('.other_membership_qualification').show(); 1194 } 1195 else{ 1196 $(this).parent().parent().parent().find('.other_membership_qualification').hide(); 1197 } 1198 }); 1199 1200 var FormValidator = function () { 1201 // function to initiate category 1202 var registerForm = function () { 1203 1204 jQuery.validator.addMethod("lettersonly", function(value, element) { 1205 return this.optional(element) || /^[a-zA-Z\s]+$/i.test(value); 1206 }, "Please enter only alphabets"); 1207 1208 jQuery.validator.addMethod("aplha", function(value, element) { 1209 return this.optional(element) || /^[a-zA-Z0-9\s]+$/i.test(value); 1210 }, "Please enter only alphanumeric characters"); 1211 1212 jQuery.validator.addMethod("safeName", function(value, element) { 1213 return this.optional(element) || /^[a-zA-Z\s\.\-]+$/.test(value); 1214 }, "Only letters, spaces, dots, and hyphens are allowed (no code or tags)."); 1215 1216 jQuery.validator.addMethod("noInjection", function(value, element) { 1217 if (this.optional(element)) return true; 1218 var maliciousPattern = /<[^>]*>|javascript\s*:|data\s*:|vbscript\s*:|on\w+\s*=|(--|\/\*|\*\/)/i; 1219 return !maliciousPattern.test(value); 1220 }, "Code, scripts, and HTML tags are not allowed."); 1221 1222 jQuery.validator.addMethod("pakMobile", function(value, element) { 1223 var clean = (value || '').replace(/[^0-9]/g, ''); 1224 return this.optional(element) || /^03[0-9]{9}$/.test(clean); 1225 }, "Please enter a valid 11-digit mobile number starting with 03 (e.g. 03001234567)."); 1226 1227 jQuery.validator.addMethod("cnicValidation", function(value, element) { 1228 if (this.optional(element) || value === '') return true; 1229 return /^[0-9]{5}-[0-9]{7}-[0-9]{1}$/.test(value); 1230 }, "Please enter valid CNIC Number (format: 12345-1234567-1)"); 1231 1232 jQuery.validator.addMethod("StrongPassword", function(value, element) { 1233 return this.optional(element) || 1234 /^.*(?=.{8,})(?=.*[a-z])(?=.*[A-Z])(?=.*[\d])(?=.*[\W_]).*$/.test(value); 1235 }, "The password must contain a minimum of 8 characters with at least one lowercase letter, one uppercase letter, one digit, and one special character."); 1236 1237 jQuery.validator.addMethod("extension", function (value, element, param) { 1238 param = typeof param === "string" ? param.replace(/,/g, '|') : "pdf|png|jpe?g|gif"; 1239 return this.optional(element) || value.match(new RegExp(".(" + param + ")$", "i")); 1240 }, jQuery.format("Please enter a file with a valid extension (PDF, JPG, JPEG, PNG).")); 1241 1242 form_val(); 1243 }; 1244 1245 return { 1246 //main function to initiate pages 1247 init: function () { 1248 registerForm(); 1249 } 1250 }; 1251 }(); 1252 1253 function form_val(index = ''){ 1254 if(index != ''){ 1255 $("[name='register_first_name["+index+"]']").rules("add", { 1256 maxlength: 50, 1257 minlength: 2, 1258 required: true, 1259 safeName: true, 1260 noInjection: true 1261 });
1262 $("[name='owner_cnic["+index+"]']").rules("add", { 1263 required: true, 1264 extension: "pdf|jpg|png|jpeg" 1265 }); 1266 $("[name='owner_photo["+index+"]']").rules("add", { 1267 required: true, 1268 extension: "pdf|jpg|png|jpeg" 1269 }); 1270 $("[name='owner_email["+index+"]']").rules("add", { 1271 required: true, 1272 email: true, 1273 maxlength: 50, 1274 noInjection: true 1275 }); 1276 $("[name='register_last_name["+index+"]']").rules("add", { 1277 maxlength: 50, 1278 minlength: 2, 1279 required: true, 1280 safeName: true, 1281 noInjection: true 1282 }); 1283 $("[name='register_guardian["+index+"]']").rules("add", { 1284 maxlength: 50, 1285 minlength: 2, 1286 required: true, 1287 safeName: true, 1288 noInjection: true 1289 }); 1290 $("[name='register_dob["+index+"]']").rules("add", { 1291 required: true 1292 }); 1293 $("[name='register_cnic["+index+"]']").rules("add", { 1294 cnicValidation: true, 1295 maxlength: 15, 1296 required: true 1297 }); 1298 $("[name='register_phone_number["+index+"]']").rules("add", { 1299 required: true, 1300 pakMobile: true 1301 }); 1302 }else{ 1303 var form1 = $('#register_form'); 1304 var errorHandler1 = $('.errorHandler', form1); 1305 var successHandler1 = $('.successHandler', form1); 1306 $('#register_form').validate({ 1307 errorElement: "span", 1308 errorClass: 'help-block', 1309 ignore: "", 1310 rules: { 1311 'company_name': { 1312 required: true, 1313 noInjection: true, 1314 maxlength: 100 1315 }, 1316 'company_status': { 1317 required: true 1318 }, 1319 'company_phone': { 1320 required: true, 1321 digits: true, 1322 maxlength: 15 1323 }, 1324 'architect_category': { 1325 required: function() { 1326 return $('.prof_type').val() == 'Architect'; 1327 } 1328 }, 1329 'register_off_address': { 1330 noInjection: true, 1331 maxlength: 200 1332 }, 1333 'register_experience': { 1334 noInjection: true, 1335 maxlength: 500 1336 }, 1337 'register_first_name[]': { 1338 maxlength: 50, 1339 minlength: 2, 1340 required: true, 1341 safeName: true, 1342 noInjection: true 1343 }, 1344 'owner_cnic[]': { 1345 required: true, 1346 extension: "pdf|jpg|png|jpeg" 1347 }, 1348 'owner_photo[]': { 1349 required: true, 1350 extension: "pdf|jpg|png|jpeg" 1351 }, 1352 'owner_email[]': { 1353 required: true, 1354 email: true, 1355 maxlength: 50, 1356 noInjection: true 1357 }, 1358 "register_guardian[]": { 1359 maxlength: 50, 1360 minlength: 2, 1361 required: true, 1362 safeName: true, 1363 noInjection: true 1364 }, 1365 "register_dob[]": { 1366 required: true 1367 }, 1368 "register_cnic[]": { 1369 required: true, 1370 cnicValidation: true, 1371 maxlength: 15 1372 }, 1373 register_email_address: { 1374 maxlength: 50, 1375 email: true, 1376 required: true, 1377 noInjection: true 1378 }, 1379 "register_phone_number[]": { 1380 required: true, 1381 pakMobile: true 1382 }, 1383 register_password: { 1384 StrongPassword: true, 1385 minlength: 8, 1386 required: true 1387 }, 1388 register_confirm_password: { 1389 required: true, 1390 minlength: 8, 1391 equalTo: "#register_password" 1392 }, 1393 "register_city[]": { 1394 required: true 1395 }, 1396 register_city: { 1397 required: true 1398 }, 1399 1400 1401 'job_title[]': { 1402 noInjection: true, 1403 maxlength: 100, 1404 required: function(){ 1405 return $('input[name="company[]"]').val() != ''; 1406 } 1407 }, 1408 'experience_type[]': { 1409 noInjection: true, 1410 maxlength: 100 1411 }, 1412 'company[]': { 1413 noInjection: true, 1414 maxlength: 100, 1415 required: "#job_title:filled" 1416 }, 1417 'from_year[]': { 1418 required: "#job_title:filled" 1419 }, 1420 'to_year[]': { 1421 required: "#job_title:filled" 1422 }, 1423 'experience_letter[]': { 1424 required: "#job_title:filled", 1425 extension: "jpg|jpeg|png|pdf" 1426 }, 1427 1428 1429 'university[]': { 1430 noInjection: true, 1431 required: function(){ 1432 return $('#qualification').val() != ''; 1433 } 1434 }, 1435 'passing_year[]': { 1436 required: "#qualification:filled", 1437 yearOrAlpha: true 1438 }, 1439 'membership_professional_university[]': { 1440 noInjection: true, 1441 required: function(){
1442 return $('input[name="membership_professional_qualification[]"]').val() != ''; 1443 } 1444 }, 1445 'membership_professional_passing_year[]': { 1446 required: "#professional_council:filled" 1447 }, 1448 'degree[]': { 1449 required: "#professional_council:filled", 1450 extension: "jpg|jpeg|png|pdf" 1451 }, 1452 1453 document_validation_1335 : { 1454 required: true 1455 }, 1456 document_validation_1336 : { 1457 required: true 1458 }, 1459 document_validation_1337 : { 1460 required: true 1461 }, 1462 document_validation_1338 : { 1463 required: true 1464 }, 1465 }, 1466 messages: { 1467 'owner_cnic[0]': { 1468 extension: "Please select only PDF, JPG, JPEG, or PNG files" 1469 }, 1470 'architect_category': { 1471 required: "Please select Architect Category" 1472 } 1473 }, 1474 errorPlacement: function(error, element) { 1475 if($(element).hasClass('document_check')) { 1476 var document_id = $(element).attr('document_id'); 1477 if(!$(element).hasClass('vaild')) { 1478 $('#upload_table_'+document_id).addClass('upload_table'); 1479 $('#add_file_btn_'+document_id).addClass('upload_table_td'); 1480 $('#add_file_txt_'+document_id).addClass('upload_table_td'); 1481 $('#uploaded_file_'+document_id).addClass('upload_table_td'); 1482 $('#check_file_btn_'+document_id).addClass('upload_table_td'); 1483 $('#file_upload_message_'+document_id).show(); 1484 } 1485 } else if($(element).closest('.input-group').length) { 1486 error.insertAfter($(element).closest('.input-group')); 1487 } else { 1488 error.insertAfter(element); 1489 } 1490 }, 1491 invalidHandler: function (event, validator) { 1492 successHandler1.hide(); 1493 errorHandler1.show(); 1494 if (validator.errorList && validator.errorList.length > 0) { 1495 var firstErrorElem = $(validator.errorList[0].element); 1496 if (firstErrorElem.length && firstErrorElem.is(':visible')) { 1497 $('html, body').animate({ 1498 scrollTop: firstErrorElem.offset().top - 120 1499 }, 400); 1500 firstErrorElem.focus(); 1501 } 1502 } 1503 if (typeof PNotify !== 'undefined') { 1504 new PNotify({ 1505 title: 'Validation Error', 1506 text: 'Please review all highlighted fields and correct the errors before submitting.', 1507 type: 'error' 1508 }); 1509 } 1510 }, 1511 highlight: function (element) { 1512 $(element).closest('.help-block').removeClass('valid'); 1513 $(element).closest('.form-validate').removeClass('has-success').addClass('has-error').find('.symbol').removeClass('ok').addClass('required'); 1514 }, 1515 unhighlight: function (element) { 1516 $(element).closest('.form-validate').removeClass('has-error'); 1517 }, 1518 success: function (label, element) { 1519 label.addClass('help-block valid'); 1520 $(element).closest('.form-validate').removeClass('has-error').addClass('has-success').find('.symbol').removeClass('required').addClass('ok'); 1521 }, 1522 submitHandler: function (form) { 1523 successHandler1.show(); 1524 errorHandler1.hide(); 1525 1526 var error = 0; 1527 $("select[name='from_year[]']").each(function() { 1528 var thisVal = $(this).val(); 1529 if(thisVal != '') 1530 { 1531 var toYear = $(this).closest('tr').find("select[name='to_year[]']").val(); 1532 1533 if(toYear != '' && toYear.toLowerCase() != 'current' && toYear.toLowerCase() != 'currunt' && parseInt(thisVal) > parseInt(toYear)) 1534 { 1535 $(this).parent().addClass('has-error'); 1536 $(this).focus(); 1537 error = 1; 1538 if (typeof PNotify !== 'undefined') { 1539 new PNotify({ 1540 title: 'Year Error', 1541 text: 'From Year cannot be greater than To Year in experience table.', 1542 type: 'error' 1543 }); 1544 } 1545 } 1546 else 1547 { 1548 $(this).parent().removeClass('has-error'); 1549 } 1550 } 1551 }); 1552 1553 // reCAPTCHA check if present 1554 if (typeof grecaptcha !== 'undefined' && $('#rcaptcha').length > 0) { 1555 var recaptchaResponse = grecaptcha.getResponse(); 1556 if (recaptchaResponse.length === 0) { 1557 $('#captcha').html('Please complete the Captcha verification.'); 1558 error = 1; 1559 if (typeof PNotify !== 'undefined') { 1560 new PNotify({ 1561 title: 'Captcha Required', 1562 text: 'Please complete the reCAPTCHA verification.', 1563 type: 'warning' 1564 });
1565 } 1566 } else { 1567 $('#captcha').html(''); 1568 } 1569 } 1570 1571 if(error == 0) 1572 { 1573 $('.professional_council_pr').attr('name', 'qualification[]'); 1574 $('.university').attr('name', 'university[]'); 1575 $('.passing_year').attr('name', 'passing_year[]'); 1576 1577 HTMLFormElement.prototype.submit.call($('#register_form')[0]); 1578 } 1579 } 1580 }); 1581 } 1582 }; 1583 1584 function addMoreRows(table_type) { 1585 var currentRows = $('#'+table_type+'_table tr[id^="'+table_type+'_tr_"]').length; 1586 if (currentRows >= 5) { 1587 if (typeof PNotify !== 'undefined') { 1588 new PNotify({ 1589 title: 'Limit Reached', 1590 text: 'You can add a maximum of 5 entries.', 1591 type: 'warning' 1592 }); 1593 } else { 1594 alert('You can add a maximum of 5 entries.'); 1595 } 1596 $('#'+table_type+'_btn').hide(); 1597 return false; 1598 } 1599 1600 var table_tr = $('#'+table_type+'_tr_1').html(); 1601 var row_num = $('#'+table_type+'_btn').attr('row_num'); 1602 var next_row_num = parseInt(row_num)+1; 1603 var next_tr_id = table_type+'_tr_'+next_row_num; 1604 var html_tr = '<tr id="'+next_tr_id+'">'+table_tr+'</tr>'; 1605 // for degree uploading 1606 html_tr = html_tr.replace(/id="degree"/g,'id="degree_'+next_row_num+'"'); 1607 html_tr = html_tr.replace(/<span for="degree" class="help-block">.*?<\/span>/g,''); 1608 //for exprience letter 1609 html_tr = html_tr.replace(/id="experience_letter"/g,'id="experience_letter_'+next_row_num+'"'); 1610 html_tr = html_tr.replace(/<span for="experience_letter" class="help-block">.*?<\/span>/g,''); 1611 1612 $('#'+table_type+'_table').append(html_tr); 1613 /** professional Qualification other field **/ 1614 $('#'+table_type+'_table').find('tr#'+next_tr_id+' td div.other').hide(); 1615 /** Membership of Professional Council other field **/ 1616 $('#'+table_type+'_table').find('tr#'+next_tr_id+' td div.other_membership_qualification').hide(); 1617 1618 // Clear values in cloned row 1619 $('#'+next_tr_id).find('input[type="text"], input[type="file"], select').val(''); 1620 1621 $('#'+next_tr_id).find('.btn_td').html(''); 1622 $('#'+table_type+'_btn').attr('row_num', next_row_num); 1623 1624 var delete_fun = "deleteRows('"+next_tr_id+"', '"+table_type+"')"; 1625 var delete_btn = '<button onclick="'+delete_fun+'" type="button" class="mb-xs mt-xs mr-xs btn btn-danger action_btn">Delete</button>'; 1626 1627 $('#'+next_tr_id).find('.btn_td').html(delete_btn); 1628 1629 var updatedRows = $('#'+table_type+'_table tr[id^="'+table_type+'_tr_"]').length; 1630 if (table_type === 'professional_qualification') { 1631 updateIssuingBodies(); 1632 } 1633 if (updatedRows >= 5) { 1634 $('#'+table_type+'_btn').hide(); 1635 } 1636 } 1637 1638 function deleteRows(tr_id, table_type) { 1639 $('#'+tr_id).remove(); 1640 if (table_type) { 1641 var updatedRows = $('#'+table_type+'_table tr[id^="'+table_type+'_tr_"]').length; 1642 if (updatedRows < 5) { 1643 $('#'+table_type+'_btn').show(); 1644 } 1645 } 1646 } 1647 1648 1649 1650 /*$.validator.setDefaults({ 1651 submitHandler: function () { 1652 //alert("submitted!"); 1653 get_action(); 1654 } 1655 }); 1656 1657 function get_action() { 1658 var v = grecaptcha.getResponse(); 1659 if (v.length == 0) 1660 { 1661 document.getElementById('captcha').innerHTML = "You can't leave Captcha Code empty"; 1662 return false; 1663 } 1664 if (v.length != 0) 1665 { 1666 //document.getElementById('captcha').innerHTML = "Captcha completed"; 1667 document.getElementById('search_form').submit(); 1668 //return true; 1669 } 1670 }*/ 1671 1672 // Mobile number 03 prefix & 9 numbers handler 1673 $(document).on('focus', '#register_phone_number, input[name="register_phone_number[]"], input[name^="register_phone_number"]', function() { 1674 var val = $(this).val(); 1675 if (!val || val.trim() === '') { 1676 $(this).val('03'); 1677 } 1678 }); 1679 1680 $(document).on('input keyup', '#register_phone_number, input[name="register_phone_number[]"], input[name^="register_phone_number"]', function() { 1681 var val = $(this).val().replace(/[^0-9]/g, ''); 1682 if (val.length === 0) { 1683 val = '03'; 1684 } else if (!val.startsWith('03')) { 1685 val = '03' + val.replace(/^0+/, ''); 1686 } 1687 if (val.length > 11) { 1688 val = val.substring(0, 11); 1689 } 1690 $(this).val(val); 1691 }); 1692 1693 $(document).on('keydown', '#register_phone_number, input[name="register_phone_number[]"], input[name^="register_phone_number"]', function(e) { 1694 var val = $(this).val();
1695 var cursorPos = this.selectionStart; 1696 if ((e.keyCode === 8 && cursorPos <= 2) || (e.keyCode === 46 && cursorPos < 2)) { 1697 if (val === '03') { 1698 e.preventDefault(); 1699 } 1700 } 1701 }); 1702 1703 function togglePasswordVisibility(targetSelector, btnEl) { 1704 var target = document.querySelector(targetSelector); 1705 if (!target) return; 1706 var btn = btnEl ? (btnEl.classList.contains('toggle-password-btn') ? btnEl : btnEl.closest('.toggle-password-btn')) : document.querySelector('.toggle-password-btn[data-target="' + targetSelector + '"]'); 1707 var icon = btn ? btn.querySelector('i') : null; 1708 if (target.type === 'password') { 1709 target.type = 'text'; 1710 if (icon) { 1711 icon.classList.remove('fa-eye'); 1712 icon.classList.add('fa-eye-slash'); 1713 } 1714 } else { 1715 target.type = 'password'; 1716 if (icon) { 1717 icon.classList.remove('fa-eye-slash'); 1718 icon.classList.add('fa-eye'); 1719 } 1720 } 1721 } 1722 1723 // Password toggle eye icon handler 1724 $(document).on('click', '.toggle-password-btn, .toggle-password-btn *', function(e) { 1725 e.preventDefault(); 1726 e.stopPropagation(); 1727 var btn = $(this).closest('.toggle-password-btn'); 1728 var targetSelector = btn.attr('data-target'); 1729 togglePasswordVisibility(targetSelector, btn[0]); 1730 }); 1731 1732 // Real-time injection filter for text inputs & textareas 1733 $(document).on('input', 'input[type="text"]:not(#register_dob), textarea', function() { 1734 var val = $(this).val(); 1735 if (/<[^>]*>|javascript\s*:/i.test(val)) { 1736 $(this).val(val.replace(/<[^>]*>/g, '').replace(/javascript\s*:/gi, '')); 1737 } 1738 }); 1739 1740 $("#register_cnic").mask("99999-9999999-9"); 1741 $("#cnic_error").hide(); 1742 $("#cnic_success").hide(); 1743 $("#next_button").addClass('disabled'); 1744 1745 $('#register_cnic').change(function(){ 1746 csrfHash = $('input[name="csrf_hash_token"]').val(); 1747 var cnic = $(this).val(); 1748 var cniclen = cnic.length; 1749 if(cnic != "" && cniclen == 13) { 1750 $.ajax({ 1751 url: 'http://smart.sbca.gos.pk//auth/check_cnic', 1752 type: 'POST', 1753 dataType: "JSON", 1754 data: {cnic: cnic, ci_csrf_token: csrfHash}, 1755 success: function (response) { 1756 csrfHash = response.csrfHash; 1757 $('input[name="ci_csrf_token"]').val(csrfHash); 1758 if (response.length != 0) { 1759 var value = response.data; 1760 if(value == '0') 1761 { 1762 $("#cnic_error").hide(); 1763 $('#check_cnic').val('1'); 1764 $("#next_button").removeClass('disabled'); 1765 //$('#register_cnic').attr('readonly',true); 1766 $('.disabled_fields').attr('readonly',false); 1767 $("#cnic_success").show(); 1768 } 1769 else{ 1770 $('#check_cnic').val('0'); 1771 $('#register_cnic').focus(); 1772 $("#cnic_error").show(); 1773 $("#cnic_success").hide(); 1774 $("#next_button").addClass('disabled'); 1775 $('.disabled_fields').attr('readonly',true); 1776 } 1777 } 1778 }, 1779 error: function () { 1780 console.log('Error in retrieving Site.'); 1781 } 1782 }); 1783 } 1784 }); 1785 1786 $('#user_type').change(function(){ 1787 1788 var userType = $('#user_type').val(); 1789 location.href= "http://smart.sbca.gos.pk/auth/register_account/" + userType; 1790 1791 }); 1792 1793 1794 1795 //upload exprience letter 1796 $(document.body).on('click', ".add_more_exp", function () { 1797 //var addMoreExp = $('.add_more_exp').val(); 1798 //alert(addMoreExp); 1799 //console.log(addMoreExp); 1800 1801 $("#register_form").validate({ 1802 1803 1804 rules: { 1805 exprience_letter: { 1806 required: true, 1807 accept: "pdf,jpg,png,pdf" 1808 } 1809 }, 1810 messages: { 1811 'architect_category': { 1812 required: "Please select Architect Category" 1813 }, 1814 exprience_letter: { 1815 required: "Select Image", 1816 accept: "Only image type jpg/png/pdf is allowed" 1817 } 1818 } 1819 }); 1820 1821 }); 1822 1823 $('#register_dob').datepicker({ 1824 format: "yyyy-mm-dd", 1825 autoclose: true, 1826 todayHighlight: true, 1827 //startDate: new Date(new Date().setDate(new Date().getDate() - 6570)), 1828 endDate: new Date(new Date().setDate(new Date().getDate() - 6605)) 1829 }); 1830 1831 $('body').on('keypress', '.inputTextCharacter', function(event) { 1832 var inputValue = event.which;
1833 // allow letters and whitespaces only. 1834 if(!(inputValue >= 65 && inputValue <= 122) && (inputValue != 32 && inputValue != 0)) { 1835 event.preventDefault(); 1836 } 1837 }); 1838</script>
1838 1839 1840<!-- start: CSS REQUIRED FOR THIS PAGE ONLY --> 1841<!-- Generic page styles --> 1842<link rel="stylesheet" href="http://smart.sbca.gos.pk/assets/vendor/jQuery-File-Upload/css/style.css"> 1843<!-- blueimp Gallery styles --> 1844<link rel="stylesheet" href="http://smart.sbca.gos.pk/assets/stylesheets/blueimp-gallery.min.css"> 1845<!-- CSS to style the file input field as button and adjust the Bootstrap progress bars --> 1846<link rel="stylesheet" href="http://smart.sbca.gos.pk/assets/vendor/jQuery-File-Upload/css/jquery.fileupload.css"> 1847<link rel="stylesheet" href="http://smart.sbca.gos.pk/assets/vendor/jQuery-File-Upload/css/jquery.fileupload-ui.css"> 1848<!-- CSS adjustments for browsers with JavaScript disabled --> 1849<noscript><link rel="stylesheet" href="http://smart.sbca.gos.pk/assets/vendor/jQuery-File-Upload/css/jquery.fileupload-noscript.css"></noscript> 1850<noscript><link rel="stylesheet" href="http://smart.sbca.gos.pk/assets/vendor/jQuery-File-Upload/css/jquery.fileupload-ui-noscript.css"></noscript> 1851<!-- end: CSS REQUIRED FOR THIS PAGE ONLY --> 1852 1853<!-- start: JAVASCRIPTS REQUIRED FOR THIS PAGE ONLY --> 1854<!-- The template to display files available for upload -->
1855<script id="template-upload" type="text/x-tmpl"> 1856 1857 1858 {% console.log(o.options.fileInput[0].id); %} 1859 {% var document_id = o.options.fileInput[0].id; %} 1860 {% $('#add_file_btn_'+document_id).hide(); %} 1861 {% $('#add_file_txt_'+document_id).hide(); %} 1862 {% var document_type_label = $(o.options.fileInput[0]).attr('document_label'); %} 1863 1864 {% for (var i=0, file; file=o.files[i]; i++) { %} 1865 1866 <tr class="template-upload fade"> 1867 <td style="width: 21%;"> 1868 <span class="preview"></span> 1869 </td> 1870 <td style="width: 45%;"> 1871 <p class="name"><a href="{%=file.name%}">{%=document_type_label%}</a></p> 1872 <strong class="error text-danger"></strong> 1873 </td> 1874 <td style="width: 20%;"> 1875 <p class="size">Processing...</p> 1876 <div class="progress progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0"><div class="progress-bar progress-bar-success" style="width:0%;"></div></div> 1877 1878 </td> 1879 <td> 1880 {% if (!i && !o.options.autoUpload) { %} 1881 <button class="btn btn-primary start" disabled> 1882 <i class="glyphicon glyphicon-upload"></i> 1883 <span>Start</span> 1884 </button> 1885 {% } else { %} 1886 <button delete_type="{%=document_id%}" class="btn btn-warning cancel"> 1887 <i class="glyphicon glyphicon-ban-circle"></i> 1888 <span>Cancel</span> 1889 </button> 1890 {% } %} 1891 </td> 1892 </tr> 1893 1894 {% } %} 1895</script>
1895 1896 1897<!-- The template to display files available for download -->
1898<script id="template-download" type="text/x-tmpl"> 1899 1900 1901 {% var document_id = o.options.fileInput[0].id; %} 1902 {% var document_type_label = $(o.options.fileInput[0]).attr('document_label'); %} 1903 {% var document_type_slug = $(o.options.fileInput[0]).attr('document_slug'); %} 1904 1905 {% console.log(o); for (var i=0, file; file=o.files[i]; i++) { %} 1906 <tr class="template-download fade"> 1907 <td style="width: 21%;"> 1908 <span class="preview"> 1909 {% var fileType = file.name.split('.').pop(), allowdtypes = 'jpeg,jpg,png,pdf'; if (allowdtypes.indexOf(fileType.toLowerCase()) > 0) { %} 1910 <img src="{%=file.url%}" width="60" height="40" /> 1911 {% } else { %} 1912 <a target="_blank" href="{%=file.url%}" title="{%=file.name%}" download="{%=file.name%}" data-gallery><img src="http://smart.sbca.gos.pk/assets/images/pdf-icon.png" class="pdf-image"></a> 1913 {% } %} 1914 </span> 1915 <input type="hidden" value="{%=file.id%}" name="file_uploaded_id[]"> 1916 <input type="hidden" value="{%=file.name%}" name="file_uploaded_name[]"> 1917 <input type="hidden" value="{%=file.real_name%}" name="file_uploaded_real_name[]"> 1918 <input type="hidden" value="{%=file.size%}" name="file_uploaded_size[]"> 1919 <input type="hidden" value="{%=file.type%}" name="file_uploaded_type[]"> 1920 <input type="hidden" value="{%=file.url%}" name="file_uploaded_url[]"> 1921 <input type="hidden" value="{%=document_type_slug%}" name="document_slug[]"> 1922 </td> 1923 <td style="width: 45%;"> 1924 <p class="name"> 1925 {% if (file.url) { %} 1926 <a target="_blank" style="float: left; overflow: hidden;" href="{%=file.url%}" title="{%=file.name%}" download="{%=file.name%}" {%=file.thumbnailUrl?'data-gallery':''%}>{%=document_type_label%}</a> 1927 {% } else { %} 1928 <span>{%=file.name%}</span> 1929 {% } %} 1930 </p> 1931 {% if (file.error) { %} 1932 <div><span class="label label-danger">Error</span> {%=file.error%}</div> 1933 {% } %} 1934 </td> 1935 <td style="width: 20%;"> 1936 </td> 1937 <td> 1938 {% if (file.deleteUrl) { %} 1939 <button delete_type="{%=document_id%}" class="btn btn-info btn-squared delete" data-type="{%=file.deleteType%}
1939" data-url="{%=file.deleteUrl%}"{% if (file.deleteWithCredentials) { %} data-xhr-fields='{"withCredentials":true}'{% } %}> 1940 <i class="fa fa-undo"></i> 1941 <span>Reload</span> 1942 </button> 1943 {% } else { %} 1944 <button delete_type="{%=document_id%}" class="btn btn-warning cancel"> 1945 <i class="glyphicon glyphicon-ban-circle"></i> 1946 <span>Cancel</span> 1947 </button> 1948 {% } %} 1949 </td> 1950 </tr> 1951 {% } %} 1952</script>
1952 1953 1954 <!-- The jQuery UI widget factory, can be omitted if jQuery UI is already included --> 1955
1955<script src="http://smart.sbca.gos.pk/assets/vendor/jQuery-File-Upload/js/vendor/jquery.ui.widget.js"></script>
1955 1956 <!-- The Templates plugin is included to render the upload/download listings --> 1957
1957<script src="http://smart.sbca.gos.pk/assets/vendor/blueimp/tmpl.min.js"></script>
1957 1958 <!-- The Load Image plugin is included for the preview images and image resizing functionality --> 1959
1959<script src="http://smart.sbca.gos.pk/assets/vendor/blueimp/load-image.all.min.js"></script>
1959 1960 <!-- The Canvas to Blob plugin is included for image resizing functionality --> 1961
1961<script src="http://smart.sbca.gos.pk/assets/vendor/blueimp/canvas-to-blob.min.js"></script>
1961 1962 1963 <!-- blueimp Gallery script --> 1964
1964<script src="http://smart.sbca.gos.pk/assets/vendor/blueimp/jquery.blueimp-gallery.min.js"></script>
1964 1965 <!-- The Iframe Transport is required for browsers without support for XHR file uploads --> 1966
1966<script src="http://smart.sbca.gos.pk/assets/vendor/jQuery-File-Upload/js/jquery.iframe-transport.js"></script>
1966 1967 <!-- The basic File Upload plugin --> 1968
1968<script src="http://smart.sbca.gos.pk/assets/vendor/jQuery-File-Upload/js/jquery.fileupload.js"></script>
1968 1969 <!-- The File Upload processing plugin --> 1970
1970<script src="http://smart.sbca.gos.pk/assets/vendor/jQuery-File-Upload/js/jquery.fileupload-process.js"></script>
1970 1971 <!-- The File Upload image preview & resize plugin --> 1972
1972<script src="http://smart.sbca.gos.pk/assets/vendor/jQuery-File-Upload/js/jquery.fileupload-image.js"></script>
1972 1973 <!-- The File Upload audio preview plugin --> 1974
1974<script src="http://smart.sbca.gos.pk/assets/vendor/jQuery-File-Upload/js/jquery.fileupload-audio.js"></script>
1974 1975 <!-- The File Upload video preview plugin --> 1976
1976<script src="http://smart.sbca.gos.pk/assets/vendor/jQuery-File-Upload/js/jquery.fileupload-video.js"></script>
1976 1977 <!-- The File Upload validation plugin --> 1978
1978<script src="http://smart.sbca.gos.pk/assets/vendor/jQuery-File-Upload/js/jquery.fileupload-validate.js"></script>
1978 1979 <!-- The File Upload user interface plugin --> 1980
1980<script src="http://smart.sbca.gos.pk/assets/vendor/jQuery-File-Upload/js/jquery.fileupload-ui.js"></script>
1980 1981 <!-- The main application script --> 1982
1982<script src="http://smart.sbca.gos.pk/assets/vendor/jQuery-File-Upload/js/main.js?"></script>
1982 1983 <!-- The XDomainRequest Transport is included for cross-domain file deletion for IE 8 and IE 9 --> 1984 <!--[if (gte IE 8)&(lt IE 10)]> 1985
1985<script src="js/cors/jquery.xdr-transport.js"></script>
1985 1986 <![endif]--> 1987 1988
1988<script> 1989 1990 //$('#file_upload_btn').prop('disabled', true); 1991 //var csrfHash = $("input[name=csrf_token]").val(); 1992 1993 var check_entered = false; 1994 $('.fileupload').fileupload({ 1995 url: 'http://smart.sbca.gos.pk/auth/file_upload/add/', 1996 1997 autoUpload:true, 1998 //acceptFileTypes: /(\.|\/)(pdf)$/i, 1999 acceptFileTypes: /(\.|\/)(pdf|gif|jpe?g|png)$/i, 2000 maxNumberOfFiles: 1, 2001 maxChunkSize: 10000000, // 10 MB, 2002 add: function (e, data) { //alert('test 1'); 2003 2004 2005 var that = this; 2006 $.getJSON('http://smart.sbca.gos.pk/auth/file_upload/add/', { 2007 2008 file: data.files[0].name, 2009 size: data.files[0].size, 2010 type: data.files[0].type 2011 2012 }, function (result) { 2013 2014 //data._progress.total = data._progress.total + 1; 2015 2016 2017 if(!result.file.file_exists) { //alert('TEST'); 2018 2019 2020 2021 2022 2023 2024 var file = result.file; 2025 2026 //csrfHash = file.csrfHashed; 2027 data.uploadedBytes = file && file.size; 2028 2029 //alert(data.uploadedBytes+' == '+data.files[0].size); 2030 2031 //data.uploadedBytes = data.uploadedBytes-1; 2032 2033 if(data.files[0].size != 0 && data.uploadedBytes == data.files[0].size && check_entered == false) { 2034 //var file_size = bytesToSize(result.file.file_size); 2035 2036 2037 2038 var table_tbody = $('#upload_file tbody.files'); 2039 var html = '<tr class="template-download fade in">'; 2040 html += '<td><span class="preview"><a href="'+result.file.url+'" title="'+result.file.name+'" download="'+result.file.name+'" data-gallery=""><img src="http://smart.sbca.gos.pk/assets/images/pdf-icon.png" class="pdf-image"></a></span>'; 2041 html += '<input value="" name="file_uploaded_id[]" type="hidden">'; 2042 html += '<input value="'+result.file.name+'" name="file_uploaded_name[]" type="hidden">'; 2043 html += '<input value="'+result.file.real_name+'" name="file_uploaded_real_name[]" type="hidden">'; 2044 html += '<input value="'+result.file.size+'" name="file_uploaded_size[]" type="hidden">'; 2045 html += '<input value="'+result.file.type+'" name="file_uploaded_type[]" type="hidden">'; 2046 html += '<input value="'+result.file.url+'" name="file_uploaded_url[]" type="hidden">'; 2047 html += '</td>'; 2048 html += '<td><p class="name"><a style="width: 181px; float: left; overflow: hidden;" href="'+result.file.url+'" title="'+result.file.name+'" download="'+result.file.name+'">'+result.file.name+'</a></p></td>'; 2049 html += '<td></td>'; 2050 html += '<td><button class="btn btn-info btn-squared delete" data-type="DELETE" data-url="'+result.file.deleteUrl+'"><i class="fa fa-undo"></i><span>Reload</span></button></td>'; 2051 html += '</tr>'; 2052 2053 2054 table_tbody.append(html); 2055 check_entered = true; 2056 2057 } 2058 else { 2059 2060 $.blueimp.fileupload.prototype 2061 .options.add.call(that, e, data); 2062 check_entered = true; 2063 } 2064 2065 2066 //console.log(data); //112022278 30000000 70000000 100000000 2067 2068 2069 } 2070 else { 2071 var file_size = bytesToSize(result.file.file_size); 2072 2073 var table_tbody = $('#upload_file tbody.files'); 2074 var html = '<tr class="template-upload fade in">'; 2075 html += '<td><span class="preview"></span></td>'; 2076 html += '<td><p class="name">
2076'+result.file.name+'</p><strong class="error text-danger">This file already exists</strong></td>'; 2077 html += '<td><p class="size">'+file_size+'</p><div class="progress progress-striped active" role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0"><div class="progress-bar progress-bar-success" style="width:0%;"></div></div></td>'; 2078 html += '<td><button class="btn btn-warning cancel"><i class="glyphicon glyphicon-ban-circle"></i><span>Cancel</span></button></td>'; 2079 html += '</tr>'; 2080 2081 table_tbody.append(html); 2082 2083 } 2084 2085 }); 2086 2087 var document_id = data.fileInput[0].id; 2088 $('.check_upload_file_'+document_id).attr('disabled', 'disabled'); 2089 2090 }, 2091 maxRetries: 100, 2092 retryTimeout: 500, 2093 fail: function (e, data) { 2094 // jQuery Widget Factory uses "namespace-widgetname" since version 1.10.0: 2095 var fu = $(this).data('blueimp-fileupload') || $(this).data('fileupload'), 2096 retries = data.context.data('retries') || 0, 2097 retry = function () { 2098 $.getJSON('auth/file_upload/add/', {file: data.files[0].name, size: data.files[0].size, type: data.files[0].type}) 2099 .done(function (result) { 2100 var file = result.file; 2101 data.uploadedBytes = file && file.size; 2102 // clear the previous data: 2103 data.data = null; 2104 data.submit(); 2105 }) 2106 .fail(function () { 2107 fu._trigger('fail', e, data); 2108 }); 2109 }; 2110 if (data.errorThrown !== 'abort' && 2111 data.uploadedBytes < data.files[0].size && 2112 retries < fu.options.maxRetries) { 2113 retries += 1; 2114 data.context.data('retries', retries); 2115 window.setTimeout(retry, retries * fu.options.retryTimeout); 2116 return; 2117 } 2118 data.context.removeData('retries'); 2119 2120 2121 if(data.files != null && (data.uploadedBytes == data.files[0].size) && (typeof result != 'undefined')) { 2122 //var file_size = bytesToSize(result.file.file_size); 2123 2124 2125 2126 var table_tbody = $('#upload_file tbody.files'); 2127 var html = '<tr class="template-download fade in">'; 2128 html += '<td><span class="preview"><a href="'+result.file.url+'" title="'+result.file.name+'" download="'+result.file.name+'" data-gallery=""><img src="http://smart.sbca.gos.pk/assets/admin/images/pdf-icon.png" class="pdf-image"></a></span>'; 2129 html += '<input value="" name="file_uploaded_id[]" type="hidden">'; 2130 html += '<input value="'+result.file.name+'" name="file_uploaded_name[]" type="hidden">'; 2131 html += '<input value="'+result.file.real_name+'" name="file_uploaded_real_name[]" type="hidden">'; 2132 html += '<input value="'+result.file.size+'" name="file_uploaded_size[]" type="hidden">'; 2133 html += '<input value="'+result.file.type+'" name="file_uploaded_type[]" type="hidden">'; 2134 html += '<input value="'+result.file.url+'" name="file_uploaded_url[]" type="hidden">'; 2135 html += '</td>'; 2136 html += '<td><p class="name"><a style="width: 181px; float: left; overflow: hidden;" href="'+result.file.url+'" title="'+result.file.name+'" download="'+result.file.name+'">'+result.file.name+'</a></p></td>'; 2137 html += '<td></td>'; 2138 html += '<td><button class="btn btn-info btn-squared delete" data-type="DELETE" data-url="'+result.file.deleteUrl+'"><i class="fa fa-undo"></i><span>555Reload</span></button></td>'; 2139 html += '</tr>'; 2140 2141 2142 table_tbody.append(html); 2143 } 2144 else { 2145 $.blueimp.fileupload.prototype 2146 .options.fail.call(this, e, data); 2147 } 2148 }, 2149 destroyed: function (e, data) { //alert('DELETE'); 2150 2151 var document_id = $(e.currentTarget).attr('delete_type'); 2152 $('#add_file_btn_'+document_id).show(); 2153 $('#add_file_txt_'+document_id).show(); 2154 2155 //var file_type_test = $('#file_type_test').val(); 2156 //$('#file_type_test').children('option[value="'+file_type_test+'"]').prop('disabled', true); 2157 //$('#file_type_test').children('option[value="'+file_type_test+'"]').css('background-color', '#CCC'); 2158 2159 //var document_type_value = $(e.currentTarget).attr('delete_type'); 2160 //$('#document_type').children('option[value="'+document_type_value+'"]').prop('disabled', false); 2161 //$('#document_type').children('option[value="'+document_type_value+'"]').css('background-color', '#FFF'); 2162 $('#document_validation_'+document_id).val(""); 2163 $('#document_validation_'+document_id).removeClass('vaild'); 2164 2165 $('#file_upload_message_'+document_id).show(); 2166 $('#upload_table_'+document_id).addClass('upload_table'); 2167 $('#add_file_btn_'+document_id).addClass('upload_table_td'); 2168 $('#add_file_txt_'+document_id).addClass('upload_table_td'); 2169 $('#uploaded_file_'+document_id).addClass('upload_table_td'); 2170 $('#check_file_btn_'+document_id).addClass('upload_table_td'); 2171 $('.check_upload_file_'+document_id).removeAttr('disabled'); 2172 2173 //alert(delete_type); 2174 2175 //console.log(e.currentTarget); 2176 }, 2177 stopped: function (e, data) { //alert('STOPPED'); 2178 2179 //alert(''); 2180 2181 //console.log('STOPPED 1 =>'); 2182 //console.log(e.originalEvent.target); 2183 //console.log('STOPPED 2 =>'); 2184 //console.log(data); 2185 2186 var document_id = $(e.originalEvent.target).attr('upload_main_i
2186d'); 2187 //alert(document_id); 2188 //$('#add_file_btn_'+document_id).show(); 2189 //$('#add_file_txt_'+document_id).show(); 2190 2191 //var document_type_value = $('#document_type').val(); 2192 //$('#document_type').children('option[value="'+document_type_value+'"]').prop('disabled', true); 2193 //$('#document_type').children('option[value="'+document_type_value+'"]').css('background-color', '#CCC'); 2194 //$('#document_type').prop('selectedIndex', 0); 2195 //$('#file_upload_btn').attr('disabled', 'disabled'); 2196 $('#document_validation_'+document_id).val("1"); 2197 $('#document_validation_'+document_id).addClass('vaild'); 2198 $('#file_upload_message_'+document_id).hide(); 2199 $('#upload_table_'+document_id).removeClass('upload_table'); 2200 $('#add_file_btn_'+document_id).removeClass('upload_table_td'); 2201 $('#add_file_txt_'+document_id).removeClass('upload_table_td'); 2202 $('#uploaded_file_'+document_id).removeClass('upload_table_td'); 2203 $('#check_file_btn_'+document_id).removeClass('upload_table_td'); 2204 //$('.check_upload_file_'+document_id).attr('disabled', 'disabled'); 2205 2206 }, 2207 failed: function (e, data) { //alert('FAILED'); 2208 2209 // console.log("e"); 2210 2211 2212 if(data.fileInput == null){ 2213 var document_id = e.target.attributes[0].value; 2214 }else{ 2215 var document_id = data.fileInput[0].id; 2216 } 2217 2218 $('#add_file_btn_'+document_id).show(); 2219 $('#add_file_txt_'+document_id).show(); 2220 $('.check_upload_file_'+document_id).removeAttr('disabled'); 2221 2222 $('#file_upload_message_'+document_id).show(); 2223 $('#upload_table_'+document_id).addClass('upload_table'); 2224 $('#add_file_btn_'+document_id).addClass('upload_table_td'); 2225 $('#add_file_txt_'+document_id).addClass('upload_table_td'); 2226 $('#uploaded_file_'+document_id).addClass('upload_table_td'); 2227 $('#check_file_btn_'+document_id).addClass('upload_table_td'); 2228 $('.check_upload_file_'+document_id).removeAttr('disabled'); 2229 2230 }, 2231 }).on('fileuploadsubmit', function (e, data) { 2232 //data.formData = data.context.find(':input').serializeArray(); 2233 }).on('fileuploaddone', function (e, data) { 2234 2235 if(data._response != null){ 2236 $('input[name="ci_csrf_token"]').val(data._response.result.files[0].csrf_hashed); 2237 } 2238 }); 2239 2240 2241 function bytesToSize(bytes) { 2242 var sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB']; 2243 if (bytes == 0) return '0 Byte'; 2244 var i = parseInt(Math.floor(Math.log(bytes) / Math.log(1024))); 2245 return Math.round(bytes / Math.pow(1024, i), 2) + ' ' + sizes[i]; 2246 }; 2247 2248 $('.check_upload_file').click(function() { 2249 2250 //var check_upload_file = $(this).val(); 2251 2252 //alert(check_upload_file); 2253 2254 var check_upload_file_id = $(this).attr('upload_row_id'); 2255 2256 if($(this).is(':checked')) { //alert(); 2257 $('#file_upload_btn_'+check_upload_file_id).removeAttr('disabled'); 2258 //alert($('#file_upload_btn_'+check_upload_file_id).html()); 2259 } 2260 else { 2261 $('#file_upload_btn_'+check_upload_file_id).attr('disabled', 'disabled'); 2262 } 2263 2264 }) 2265 2266 /*$('#document_type').change(function() { //alert('TEST'); 2267 2268 var document_type_value = $(this).val(); 2269 2270 //$('#file_upload_btn').prop('disabled', false); 2271 2272 //console.log($('#file_upload_btn')); 2273 2274 //alert(document_type_value); 2275 2276 if(document_type_value == '') { 2277 //$('#file_upload_btn').prop('disabled', true); 2278 $('#file_upload_btn').attr('disabled', 'disabled'); 2279 } 2280 else { 2281 //$('#file_upload_btn').prop('disabled', false); 2282 $('#file_upload_btn').removeAttr('disabled'); 2283 } 2284 2285 })*/ 2286 2287 2288 $( ".disable_reject" ).prop( "disabled", true ); 2289 2290 </script>
2290 2291 2292
2293<script> 2294 2295$(".owneraddmore").click(function(i, v) { 2296 2297 var html = $(".ownersec div:nth-child(1)").html(); 2298 2299 var index_owner = $(".ownersec div.ownersec_main").length; 2300 index_owner = index_owner + 1; 2301 2302 var index_Fields = parseInt($(this).attr('data-key')); 2303 index_Fields = index_Fields + 1; 2304 2305 // Replace IDs for new owner 2306 html = html.replace(']" id="register_first_name"',index_owner+']" id="register_first_name_'+index_owner+'"'); 2307 html = html.replace(']" id="register_last_name"',index_owner+']" id="register_last_name_'+index_owner+'"'); 2308 html = html.replace(']" id="register_dob"',index_owner+']" id="register_dob_'+index_owner+'"'); 2309 html = html.replace(']" id="register_cnic"',index_owner+']" id="register_cnic_'+index_owner+'"'); 2310 html = html.replace(']" id="register_guardian"',index_owner+']" id="register_guardian_'+index_owner+'"'); 2311 html = html.replace(']" id="owner_cnic"',index_owner+']" id="owner_cnic_'+index_owner+'"'); 2312 html = html.replace(']" id="owner_photo"',index_owner+']" id="owner_photo'+index_owner+'"'); 2313 html = html.replace(']" id="owner_email"',index_owner+']" id="owner_email_'+index_owner+'"'); 2314 html = html.replace(']" id="register_city"',index_owner+']" id="register_city_'+index_owner+'"'); 2315 html = html.replace(']" id="register_phone_number"',index_owner+']" id="register_phone_number_'+index_owner+'"'); 2316 2317 // Remove disabled and readonly attributes from cloned HTML 2318 html = html.replace(/disabled/g, ''); 2319 html = html.replace(/readonly/g, ''); 2320 html = html.replace(/disable_reject/g, ''); 2321 html = html.replace(/disabled_fields/g, ''); 2322 2323 $(".ownersec").append("<div class='ownersec_main'>" + html + "</div>"); 2324 2325 $(".ownersec").find("div.ownersec_main:nth-child(" + index_owner + ")").find(".owneraddmore").attr('class', 'removeowner'); 2326 $(".ownersec").find("div.ownersec_main:nth-child(" + index_owner + ")").find(".removeowner").text('Remove'); 2327 $(".ownersec").find("div.ownersec_main:nth-child(" + index_owner + ")").find(".removeowner").css('color', 'red'); 2328 2329 var St_index_Fields = $(".ownersec div.ownersec_main").length; 2330 $(this).attr('data-key', index_Fields); 2331 2332 $(".ownersec").find("div.ownersec_main:nth-child(" + index_owner + ")").find(".owner_holder").prop('checked', false).attr('disabled', true); 2333 2334 $(".ownersec").find("div.ownersec_main:nth-child(" + St_index_Fields + ")").find(".owner_name").attr('name', 'owner_name[' + index_Fields + ']'); 2335 $(".ownersec").find("div.ownersec_main:nth-child(" + St_index_Fields + ")").find(".owner_father_name").attr('name', 'owner_father_name[' + index_Fields + ']'); 2336 $(".ownersec").find("div.ownersec_main:nth-child(" + St_index_Fields + ")").find(".owner_cnic").attr('name', 'owner_cnic[' + index_Fields + ']'); 2337 $(".ownersec").find("div.ownersec_main:nth-child(" + St_index_Fields + ")").find(".owner_phone_no").attr('name', 'owner_phone_no[' + index_Fields + ']'); 2338 $(".ownersec").find("div.ownersec_main:nth-child(" + St_index_Fields + ")").find(".owner_email").attr('name', 'owner_email[' + index_Fields + ']'); 2339 $(".ownersec").find("div.ownersec_main:nth-child(" + St_index_Fields + ")").find(".owner_mailing_address").attr('name', 'owner_mailing_address[' + index_Fields + ']'); 2340 $(".ownersec").find("div.ownersec_main:nth-child(" + St_index_Fields + ")").find(".owner_permanent_address").attr('name', 'owner_permanent_address[' + index_Fields + ']'); 2341 $(".ownersec").find("div.ownersec_main:nth-child(" + St_index_Fields + ")").find(".owner_holder").attr('name', 'owner_holder[' + index_Fields + ']'); 2342 $(".ownersec").find("div.ownersec_main:nth-child(" + St_index_Fields + ")").find(".owner_cnic_file").attr('name', 'owner_cnic_file[' + index_Fields + ']'); 2343 $(".ownersec").find("div.ownersec_main:nth-child(" + St_index_Fields + ")").find(".owner_photo").attr('name', 'owner_photo[' + index_Fields + ']'); 2344 2345 $(".ownersec").find("div.ownersec_main:nth-child(" + index_owner + ")").find(".lbl_owner").text('Owner ' + index_owner); 2346 2347 // Apply masks for new owner 2348 $("#register_phone_number_" + index_owner).mask("99999999999"); 2349 $("#register_cnic_" + index_owner).mask("99999-9999999-9"); 2350 2351 // Remove any disabled/readonly attributes from all inputs in new owner 2352 $(".ownersec").find("div.ownersec_main:nth-child(" + index_owner + ")").find('input, select, textarea').each(function() { 2353 $(this).removeAttr('disabled'); 2354 $(this).removeAttr('readonly'); 2355 $(this).removeClass('disable_reject'); 2356 $(this).removeClass('disabled_fields'); 2357 });
2358 2359 $(".removeowner").click(function(i, v) { 2360 $(this).parent().remove(); 2361 }); 2362 2363 $('#register_dob_' + index_owner ).datepicker({ 2364 format: "yyyy-mm-dd", 2365 autoclose: true, 2366 todayHighlight: true, 2367 endDate: new Date(new Date().setDate(new Date().getDate() - 6605)) 2368 }); 2369 2370 // Apply validation for new owner 2371 form_val(index_owner); 2372}); 2373 $(document).on('change', '.prof_type', function() { 2374 var profType = $(this).val(); 2375 if(profType == 'Architect') { 2376 $('#architect_category_wrapper').show(); 2377 2378 $('#architect_category').rules('add', { 2379 required: true, 2380 messages: { 2381 required: "Please select Architect Category" 2382 } 2383 }); 2384 } else { 2385 $('#architect_category_wrapper').hide(); 2386 $('#architect_category').val(''); 2387 2388 $('#architect_category').rules('remove'); 2389 } 2390}); 2391 2392 2393$(document).ready(function() { 2394 var selectedProfType = $('.prof_type').val(); 2395 if(selectedProfType == 'Architect') { 2396 $('#architect_category_wrapper').show(); 2397 $('#architect_category').rules('add', { 2398 required: true, 2399 messages: { 2400 required: "Please select Architect Category" 2401 } 2402 }); 2403 } 2404}); 2405// ============================================ 2406// CNIC, NTN, NICOP Field Masking 2407// ============================================ 2408 2409// CNIC Masking - Format: 00000-0000000-0 2410$(document).on('focus', '#register_cnic', function() { 2411 if (!$(this).val()) { 2412 $(this).mask("99999-9999999-9"); 2413 } 2414}); 2415 2416// NTN Masking - Format: 1234567-8 2417$(document).on('focus', '#register_ntn', function () { 2418 $(this).attr('maxlength', 15); 2419}); 2420 2421// NICOP Masking - Format: 12345-1234567-1 2422// $(document).on('focus', '#register_nicop', function() { 2423// if (!$(this).val()) { 2424// $(this).mask("99999-9999999-9"); 2425// } 2426// }); 2427 2428// ============================================ 2429// Validation Rules (NTN & NICOP - Optional) 2430// ============================================ 2431 2432// NTN Validation - Optional 2433$.validator.addMethod("ntnValidation", function(value, element) { 2434 if (value === '') return true; // Optional field 2435 return /^[0-9]{7}-[0-9]{1}$/.test(value); 2436}, "Please enter valid NTN Number (format: 1234567-8)"); 2437 2438// NICOP Validation - Optional 2439$.validator.addMethod("nicopValidation", function(value, element) { 2440 if (value === '') return true; // Optional field 2441 return /^[0-9]{5}-[0-9]{7}-[0-9]{1}$/.test(value); 2442}, "Please enter valid NICOP Number (format: 12345-1234567-1)"); 2443 2444// Year Validation - Accepts integers and alphabets (e.g. 2026 or Lifetime) 2445$.validator.addMethod("yearOrAlpha", function(value, element) { 2446 if (value === '' || value === null) return true; 2447 return /^[a-zA-Z0-9]+$/.test(value); 2448}, "Please select a valid year or option (e.g. 2026 or Lifetime)"); 2449 2450// ============================================ 2451// Auto Capitalize First Letter 2452// ============================================ 2453 2454// Auto capitalize first letter of each word (Names) 2455$(document).on('keyup', '#register_first_name, #register_last_name, #register_guardian', function() { 2456 var val = $(this).val(); 2457 if (val.length > 0) { 2458 var words = val.toLowerCase().split(' '); 2459 for (var i = 0; i < words.length; i++) { 2460 if (words[i].length > 0) { 2461 words[i] = words[i].charAt(0).toUpperCase() + words[i].slice(1); 2462 } 2463 } 2464 $(this).val(words.join(' ')); 2465 } 2466}); 2467 2468// Auto capitalize first letter of each word (Company Name) 2469$(document).on('keyup', '.company-name-field', function() { 2470 var val = $(this).val(); 2471 if (val.length > 0) { 2472 var words = val.toLowerCase().split(' '); 2473 for (var i = 0; i < words.length; i++) { 2474 if (words[i].length > 0) { 2475 words[i] = words[i].charAt(0).toUpperCase() + words[i].slice(1); 2476 } 2477 } 2478 $(this).val(words.join(' ')); 2479 } 2480}); 2481 2482// Auto capitalize after dot for Address fields 2483$(document).on('keyup', '.address-field, textarea[name="register_off_address"], textarea[name="register_res_address"]', function() { 2484 var val = $(this).val(); 2485 if (val.length > 0) { 2486 var sentences = val.toLowerCase().split(/([.!?]\s*)/); 2487 for (var i = 0; i < sentences.length; i++) { 2488 if (sentences[i].length >
2488 0 && sentences[i].match(/^[a-z]/)) { 2489 sentences[i] = sentences[i].charAt(0).toUpperCase() + sentences[i].slice(1); 2490 } 2491 } 2492 $(this).val(sentences.join('')); 2493 } 2494}); 2495$.validator.addMethod("cnicValidation", function(value, element) { 2496 if (value === '') return true; 2497 return /^[0-9]{5}-[0-9]{7}-[0-9]{1}$/.test(value); 2498}, "Please enter valid CNIC Number (format: 12345-1234567-1)"); 2499 2500 2501</script>
2501 2502 2503 <style> 2504 .pdf-image { 2505 height:35px; 2506 } 2507 .upload_table { 2508 border: 1px solid #a94442 !important; 2509 } 2510 .upload_table_td { 2511 border-top: 1px solid #a94442 !important; 2512 } 2513 #upload_file, .upload_file { 2514 margin-bottom: 0px; 2515 } 2516 #upload_file td { 2517 border-top: none !important; 2518 } 2519 .error_msg{ 2520 text-align: center; 2521 font-size: 14px; 2522 color: red; 2523 margin-top: 2px; 2524 } 2525 </style> 2526 2527 2528 </body> 2529 </html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.