PageSourceSearch

https://indianrails.in/terms-of-use

html indianrails.in collected 2026-10-01 14:07:53 UTC 47,820 bytes, 1,102 lines download raw bytes

1<!doctype html>
2<!--[if lte IE 9]> <html class="lte-ie9" lang="en"> <![endif]-->
3<!--[if gt IE 9]><!--> <html lang="en"> <!--<![endif]-->
4<head>
5    <meta charset="UTF-8">
6    <meta name="google-adsense-account" content="ca-pub-8009188833291098">
7    <meta name="viewport" content="initial-scale=1.0,maximum-scale=1.0,user-scalable=no">
8    <meta http-equiv="X-UA-Compatible" content="IE=edge">
9    <meta name="msapplication-tap-highlight" content="no"/>
10    <meta name="propeller" content="d947901c5ba4ee52f757402f2aa85dad" />
11    <link rel="icon" type="image/png" href="https://www.indianrails.in/themes/altair/img/favicon.png" sizes="16x16">
12    <link rel="icon" type="image/png" href="https://www.indianrails.in/themes/altair/img/favicon.png" sizes="32x32">
13
14    <title>Terms Of Use</title>
15    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css"/>
16    <link rel="stylesheet" href="https://www.indianrails.in/themes/altair/bower_components/kendo-ui/styles/kendo.common-material.min.css"/>
17    <link rel="stylesheet" href="https://www.indianrails.in/themes/altair/bower_components/kendo-ui/styles/kendo.material.min.css" id="kendoCSS"/>
18    <link rel="stylesheet" href="https://www.indianrails.in/themes/altair/skins/jquery.fancytree/skin-win8/ui.fancytree.css">
19    <link rel="stylesheet" href="https://www.indianrails.in/themes/altair/bower_components/uikit/css/uikit.almost-flat.css" media="all">
20    <link rel="stylesheet" href="https://www.indianrails.in/themes/altair/icons/flags/flags.min.css" media="all">
21    <link rel="stylesheet" href="https://www.indianrails.in/themes/altair/css/main.darkblue.css" media="all">
22    <link rel="stylesheet" href="https://www.indianrails.in/themes/altair/css/themes/themes_combined.min.css" media="all">
23    <link rel="stylesheet" href="https://www.indianrails.in/themes/altair/skins/jquery-ui/material/jquery-ui.min.css">
24    <link rel="stylesheet" href="https://www.indianrails.in/themes/altair/skins/jtable/jtable.min.css">
25    <link rel="stylesheet" href="https://www.indianrails.in/themes/altair/css/jquery.orgchart.css" media="all">
26    <link rel="stylesheet" href="https://www.indianrails.in/themes/altair/css/custom.css" media="all">
27
28    <!-- matchMedia polyfill for testing media queries in JS -->
29    <!--[if lte IE 9]>
30    
30<script type="text/javascript" src="https://www.indianrails.in/themes/altair/bower_components/matchMedia/matchMedia.js"></script>
30
31    
31<script type="text/javascript" src="https://www.indianrails.in/themes/altairbower_components/matchMedia/matchMedia.addListener.js"></script>
31
32    <link rel="stylesheet" href="https://www.indianrails.in/themes/altair/css/ie.css" media="all">
33    <![endif]-->
34
35    <style>
36        html{
37            background: #212f3f;
38        }
39        body{
40            font-family: 'Roboto';
41        }
42        .app_name{
43            line-height: 51px;
44            color: #fff;
45        }
46        #header_main,.header_double_height:after{
47            background: #192331;
48        }
49
50        .uk-button-goldenrod{
51            background: #f1c40f;
52        }
53
54        .uk-button-goldenrod:hover{
55            background: #d0a40f;
56        }
57
58        .md-fab-wrapper.md-fab-bottom-over{
59            bottom: -24px;
60        }
61
62        .md-fab.md-fab-darkpink {
63            background: #e91e63;
64        }
65
66        .md-fab.md-fab-darkpink i,.md-fab.md-fab-goldenrod i{
67            color: white;
68        }
69
70        .md-fab.md-fab-goldenrod {
71            background: goldenrod;
72        }
73
74        .bc_cornflower_blue{
75            background-color: #4b6fd8 !important;
76        }
77
78        .bc_danger{
79            background-color: red !important;
80        }
81
82        .vcenter{
83            position: relative;
84            transform: translateY(50%);
85        }
86
87        .icon16{
88            display: block;
89            height: 16px;
90            background-repeat: no-repeat !important;
91            background-size: 16px 16px !important;
92            background-position: center !important;
93        }
94
95        .icon24{
96            display: block;
97            height: 24px;
98            background-repeat: no-repeat !important;
99            background-size: 24px 24px !important;
100            background-position: center;
101        }
102
103        .icon32{
104            display: block;
105            height: 32px;
106            background-repeat: no-repeat !important;
107            background-size: 32px 32px !important;
108            background-position: center;
109        }
110
111        .bc_cornflower_blue .selectize-input{
112            background-color: #4b6fd8 !important;
113            color: white;
114        }
115
116        .train_icon{
117            background: url("https://www.indianrails.in/themes/altair/img/train_number.png");
118        }
119
120        .quota_icon{
121            background: url("https://www.indianrails.in/themes/altair/img/qouta.png");
122        }
123
124        .menu_section{
125            height: 100%;
126        }
127
128        .sidebar_ads{
129            height: 100%;
130        }
131        .card_custom{
132            background: none;
133        }
134
135        .card_custom > .md-card-toolbar{
136            background: none;
137            padding: 0px;
138            height: auto;
139        }
140
141        ::-webkit-scrollbar{
142            width: 0px;
143            background: transparent; /* make scrollbar transparent */
144        }
145
146        .card_custom > .md-card-content{
147            padding-bottom: 90px;
148        }
149
150        .toolbar_top{
151            background: #4b6fd8;
152            padding: 16px;
153            color: white;
154            word-wrap: break-word;
155        }
156
157        .toolbar_top h3{
158            float: none !important;
159            color: white !important;
160        }
161
162        .toolbar_bottom{
163            background: rgba(127, 137, 137, 0.43);
164            padding-left: 16px;
165            padding-right: 16px;
166            padding-top: 16px;
167        }
168
169        .toolbar_bottom .uk-table{
170            margin: 0px;
171        }
172
173        .uk-table th, .uk-table td{
174            color: white !important;
175        }
176
177        .bottom_ads{
178            text-align: center;
179            width: 100%;
180            bottom: 0px;
181            position: absolute;
182            z-index: 100;
183            max-height: 90px;
184        }
185
186        .content_ad{
187            width: 100%;
188        }
189
190        .card_form{
191            background: #4b6fd8;
192            color: white;o
193        }
194
195        .card_form label{
196            color: white;
197        }
198
199        .card_form input, .card_form select{
200            border-color:whitesmoke !important;
201            color: white;
202        }
203
204        .card_form i{
205            color: white;
206        }
207
208        .card_form .md-input-wrapper .md-input-bar:before, .md-input-wrapper .md-input-bar:after{
209            background: white !important;
210        }
211
212
213        .card_form .md-card-content{
214            padding-bottom: 50px !important;
215        }
216
217        .form_help .md-card-content{
218            padding: 20px;
219        }
220
221        .form_help .md-card-content a{
222            color: goldenrod;
223        }
224        .grecaptcha-badge {
225            display: none;
226        }
227    </style>
228    
228<script>
229        WebFontConfig = {
230            google: {
231                families: [
232                    'Source+Code+Pro:400,700:latin',
233                    'Roboto:400,300,500,700,400italic:latin'
234                ]
235            }
236        };
237        (function() {
238            var wf = document.createElement('script');
239            wf.src = ('https:' == document.location.protocol ? 'https' : 'http') +
240                '://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js';
241            wf.type = 'text/javascript';
242            wf.async = 'true';
243            var s = document.getElementsByTagName('script')[0];
244            s.parentNode.insertBefore(wf, s);
245        })();
246    </script>
246
247    
247<script src="https://www.indianrails.in/themes/altair/js/common.js"></script>
vendor: 75 bytes, lines 247-249
247
248    <script src='https://www.google.com/recaptcha/api.js'></script>
249    
249<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
249
250    
250<script>
251        (adsbygoogle = window.adsbygoogle || []).push({
252            google_ad_client: "ca-pub-6218142890378901",
253            enable_page_level_ads: true
254        });
255    </script>
255
256
257    </head>
258<body class="sidebar_main_swipe header_double_height">
259<!-- main header -->
260<header id="header_main">
261    <div class="header_main_content">
262        <nav class="uk-navbar">
263            <a href="#" id="sidebar_main_toggle" class="sSwitch sSwitch_left">
264                <span class="sSwitchIcon"></span>
265            </a>
266            <div class="uk-float-left">
267                <span class="app_name">Terms Of Use</span>
268            </div>
269            <div class="uk-navbar-flip">
270                <ul class="uk-navbar-nav user_actions">
271                    <li><a href="#" class="user_action_icon" data-uk-modal="{target:'#modal_help'}"><i class="material-icons md-24 md-light">help</i></a></li>
272                </ul>
273            </div>
274
275        </nav>
276    </div>
277    <div class="header_main_search_form">
278        <i class="md-icon header_main_search_close material-icons">&#xE5CD;</i>
279        <form class="uk-form uk-autocomplete" data-uk-autocomplete="{source:'data/search_data.json'}">
280            <input type="text" class="header_main_search_input" />
281            <button class="header_main_search_btn uk-button-link"><i class="md-icon material-icons">&#xE8B6;</i></button>
282            
282<script type="text/autocomplete">
283                    <ul class="uk-nav uk-nav-autocomplete uk-autocomplete-results">
284                        {{~items}}
285                        <li data-value="{{ $item.value }}">
286                            <a href="{{ $item.url }}">
287                                {{ $item.value }}<br>
288                                <span class="uk-text-muted uk-text-small">{{{ $item.text }}}</span>
289                            </a>
290                        </li>
291                        {{/items}}
292                    </ul>
293                </script>
293
294        </form>
295    </div>
296</header>
297<aside id="sidebar_main" class="blur">
298
299
300    <div class="menu_section">
301        <ul>
302            <li title="Home">
303                <a href="/">
304                    <span class="menu_icon"><i class="material-icons">home</i></span>
305                    <span class="menu_title">Home</span>
306                </a>
307            </li>
308            <li title="Privacy Policy">
309                <a href="/privacy">
310                    <span class="menu_icon"><i class="material-icons">security</i></span>
311                    <span class="menu_title">Privacy Policy</span>
312                </a>
313            </li>
314            <li title="Terms Of Use" class='act_section current_section'>
315                <a href="/terms-of-use">
316                    <span class="menu_icon"><i class="material-icons">verified_user</i></span>
317                    <span class="menu_title">Terms Of Use</span>
318                </a>
319            </li>
320            <li title="IRCTC Helpline">
321                <a href="#" data-uk-modal="{target:'#modal_help'}">
322                    <span class="menu_icon"><i class="material-icons">help</i></span>
323                    <span class="menu_title">IRCTC Helpline</span>
324                </a>
325            </li>
326        </ul>
327        <div class="sidebar_ads">
328        </div>
329    </div>
330</aside>
331
332<div id="page_content">
333    <div id="page_content_inner">
334        <div class="uk-width-medium-8-10 uk-container-center">
335            <div class="md-card uk-border-roundedr md-card-single">
336                <div class="md-card-toolbar">
337                    <h3 class="md-card-toolbar-heading-text">
338                        Terms Of Use                    </h3>
339                </div>
340                <div class="md-card-content">
341                    <h1>Terms and Conditions</h1>
342
343<p>These Terms and Conditions (&quot;Terms&quot;, &quot;Terms and Conditions&quot;) govern your relationship with Indian Railway IRCTC PNR Status mobile application (the &quot;Service&quot;) operated by Smart Apps (&quot;us&quot;, &quot;we&quot;, or &quot;our&quot;).</p>
344
345<p>Please read these Terms and Conditions carefully before using our Indian Railway IRCTC PNR Status mobile application (the &quot;Service&quot;).</p>
346
347<p>Your access to and use of the Service is conditioned on your acceptance of and compliance with these Terms. These Terms apply to all visitors, users and others who access or use the Service.</p>
348
349<p>By accessing or using the Service you agree to be bound by these Terms. If you disagree with any part of the terms then you may not access the Service.</p>
350
351<p>1. &nbsp; &nbsp; The application licensed under these terms and conditions contains software licensed by third parties which is proprietary to them, valuable and protected by international intellectual property rights. (&quot;Third Party Software&quot;). &nbsp;The user of the application containing such Third Party Software (&quot;You&quot;) may use the Third Party Software only for your own internal purposes during the period for which you licensed the Third Party Software.</p>
352
353<p>2. &nbsp; &nbsp; All intellectual property rights in the Third Party Software and in any improvements to or modifications of any of the foregoing shall be and remain wholly, solely and exclusively the property of the third party licensor (&quot;Third Party Licensor&quot;) thereof. &nbsp;You shall not acquire any right title or interest in, to or under any Intellectual Property Rights in the Third Party Software. &nbsp;You shall acquire no other rights in relation to the Third Party Software. &nbsp; &nbsp;You may use the Third Party Software licensed to You only for Your own internal purposes during the period for which You obtained a licence to use the Third Party Software. You agree that You shall not disclose or communicate it to any other person. The licence granted to You is limited and personal and may not be sublicensed or transferred to any third party. All rights not expressly granted are hereby reserved. &nbsp;
353 All Third Party Software shall be kept strictly confidential by You except to the extent expressly permitted by these terms.&nbsp;</p>
354
355<p>3. &nbsp; &nbsp; You shall not publish or distribute any Third Party Software, except with the prior written consent of the Third Party Licensor.</p>
356
357<p>4. &nbsp; &nbsp; The Third Party Software are provided &quot;as is&quot;. It is Your responsibility to ensure they meet Your requirements. All implied warranties are hereby disclaimed and You confirm that you do not rely on any representations, warranties or covenants except the warranties made expressly hereunder.&nbsp;</p>
358
359<p>5. &nbsp; &nbsp; The Third Party Licensors shall not be liable in connection with the Third Party Software for any indirect or consequential losses, punitive or exemplary damages, any loss of actual or potential profits or savings, economic loss or loss of business goodwill, or for the loss or corruption of data. They do not hold themselves out as having and shall not have any liability to you arising out of or in connection with your use of the Third Party Software.</p>
360
361<p>6. &nbsp; &nbsp; The foregoing shall not limit or restrict a party&#39;s liability for death or personal injury caused by its own negligence or its liability for its own fraud including fraudulent misrepresentation.</p>
362
363<p>7. &nbsp; &nbsp; The Third Party Software is provided &quot;as is&quot;. It is your responsibility to ensure it meets your requirements. You confirm that you do not rely on any representations, warranties or covenants except the warranties made expressly hereunder. &nbsp;This clause is a limited warranty. The Third Party Licensor does not make any other warranties, express, implied, statutory or otherwise, and hereby expressly disclaims all other warranties, including but not limited to the implied warranties of title, merchantability, fitness for a particular purpose or non-infringement with respect to the Third Party Software.</p>
364
365<p>8. &nbsp; &nbsp; These terms and conditions shall be governed by and construed in accordance with the laws of England whose courts shall have exclusive jurisdiction over any and all disputes arising out of or in connection with them.</p>
366
367<h2>Links To Other Web Sites</h2>
368
369<p>Our Service may contain links to third-party web sites or services that are not owned or c
369ontrolled by Smart Apps.</p>
370
371<p>Smart Apps has no control over, and assumes no responsibility for, the content, privacy policies, or practices of any third party web sites or services. You further acknowledge and agree that Smart Apps shall not be responsible or liable, directly or indirectly, for any damage or loss caused or alleged to be caused by or in connection with use of or reliance on any such content, goods or services available on or through any such web sites or services.</p>
372
373<p>We strongly advise you to read the terms and conditions and privacy policies of any third-party web sites or services that you visit.</p>
374
375<h2>Termination</h2>
376
377<p>We may terminate or suspend your access immediately, without prior notice or liability, for any reason whatsoever, including without limitation if you breach the Terms.</p>
378
379<p>Upon termination, your right to use the Service will immediately cease.</p>
380
381<h2>Limitation Of Liability</h2>
382
383<p>In no event shall Smart Apps, nor its directors, employees, partners, agents, suppliers, or affiliates, be liable for any indirect, incidental, special, consequential or punitive damages, including without limitation, loss of profits, data, use, goodwill, or other intangible losses, resulting from (i) your access to or use of or inability to access or use the Service; (ii) any conduct or content of any third party on the Service; (iii) any content obtained from the Service; and (iv) unauthorized access, use or alteration of your transmissions or content, whether based on warranty, contract, tort (including negligence) or any other legal theory, whether or not we have been informed of the possibility of such damage, and even if a remedy set forth herein is found to have failed of its essential purpose.</p>
384
385<h2>Disclaimer</h2>
386
387<p>Your use of the Service is at your sole risk. The Service is provided on an &quot;AS IS&quot; and &quot;AS AVAILABLE&quot; basis. The Service is provided without warranties of any kind, whether express or implied, including, but not limited to, implied warranties of merchantability, fitness for a particular purpose, non-infringement or course of performance.</p>
388
389<p>Smart Apps its subsidiaries, affiliates, and its licensors do not warrant that a) the Service will function uninterrupted, secure or available at any particular time or location; b) any errors or defects will be corrected; c) the Service is free of viruses or other harmful components; or d) the results of using the Service will meet your requirements.</p>
390
391<h2>Governing Law</h2>
392
393<p>These Terms shall be governed and construed in accordance with the laws of Maharashtra, India, without regard to its conflict of law provisions.</p>
394
395<p>Our failure to enforce any right or provision of these Terms will not be considered a waiver of those rights. If any provision of these Terms is held to be invalid or unenforceable by a court, the remaining provisions of these Terms will remain in effect. These Terms constitute the entire agreement between us regarding our Service, and supersede and replace any prior agreements we might have between us regarding the Service.</p>
396
397<h2>Changes</h2>
398
399<p>We reserve the right, at our sole discretion, to modify or replace these Terms at any time. If a revision is material we will try to provide at least 15 days notice prior to any new terms taking effect. What constitutes a material change will be determined at our sole discretion.</p>
400
401<p>By continuing to access or use our Service after those revisions become effective, you agree to be bound by the revised terms. If you do not agree to the new terms, please stop using the Service.</p>
402
403<h2>Contact Us</h2>
404
405<p>If you have any questions about these Terms, please contact us.</p>
406
407<p><a href="mailto:[email protected]?subject=Terms%20Of%20Use">[email protected]</a></p>
408
409<p>&nbsp;</p>
410
411<p>Last updated: Jan 31, 2018</p>
412                </div>
413            </div>
414        </div>
415    </div>
416</div><div class="uk-modal" id="modal_help">
417    <div class="uk-modal-dialog uk-modal-dialog-lightbox">
418        <div class="md-card card_form form_help">
419            <div class="md-card-content">
420                Customer Care : <a href="tel:011-39340000">011-39340000</a><br/>
420
421                Fax no. : <a href="tel:011-23345400">011-23345400</a><br/>
422                Chennai Support : <a href="tel:044-25300000">044-25300000</a><br/>
423                I/E-tickets help : <a href="mailto:[email protected]">[email protected]</a><br/>
424                Cancellation : <a href="mailto:[email protected]">[email protected]</a><br/>
425                Mumbai Suburban Season tickets : <a href="mailto:[email protected]">[email protected]</a><br/>
426                Railway Enquiry : 139
427            </div>
428        </div>
429    </div>
430</div>
431    
431<script src="https://www.indianrails.in/themes/altair/js/uikit_custom.js"></script>
431
432    
432<script src="https://www.indianrails.in/themes/altair/js/altair_admin_common.js"></script>
vendor: 2 bytes, line 432
432
433<script>
434    altair_forms.parsley_validation_config();
435    altair_forms.parsley_extra_validators();
436</script>
vendor: 2 bytes, line 436
436
437<script src="https://www.indianrails.in/themes/altair/bower_components/parsleyjs/dist/parsley.min.js"></script>
437
438<!-- jquery steps -->
439<script src="https://www.indianrails.in/themes/altair/js/custom/wizard_steps.min.js"></script>
vendor: 2 bytes, line 439
439
440<script src="https://www.indianrails.in/themes/altair/js/kendoui_custom.min.js"></script>
vendor: 2 bytes, line 440
440
441<script src="https://www.indianrails.in/themes/altair/bower_components/jquery-ui/jquery-ui.min.js"></script>
vendor: 2 bytes, line 441
441
442<script src="https://www.indianrails.in/themes/altair/bower_components/jquery.fancytree/dist/jquery.fancytree-all.js"></script>
vendor: 2 bytes, line 442
442
443<script src="https://www.indianrails.in/themes/altair/bower_components/jquery.fancytree/dist/jquery.fancytree.extensions.js"></script>
vendor: 2 bytes, line 443
443
444<script src="https://www.indianrails.in/themes/altair/bower_components/ckeditor/ckeditor.js"></script>
vendor: 2 bytes, line 444
444
445<script src="https://www.indianrails.in/themes/altair/bower_components/ckeditor/adapters/jquery.js"></script>
vendor: 2 bytes, line 445
445
446<script src="https://www.indianrails.in/themes/altair/bower_components/jtable/lib/jquery.jtable.js"></script>
vendor: 2 bytes, line 446
446
447<script src="https://www.indianrails.in/themes/altair/js/jquery.dialogextend.min.js"></script>
447
448    
448<script src="https://www.indianrails.in/themes/altair/js/jtable.2.4.0/jquery.jtable.extension.js"></script>
448
449    
449<script src="https://www.indianrails.in/themes/altair/js/jquery.orgchart.js"></script>
449
450    
450<script>
451    +function ($) { "use strict";
452
453    var isIE = window.navigator.appName == 'Microsoft Internet Explorer';
454
455    // FILEUPLOAD PUBLIC CLASS DEFINITION
456    // =================================
457
458    var Fileinput = function (element, options) {
459        this.$element = $(element);
460
461        this.$input = this.$element.find(':file');
462        if (this.$input.length === 0) return;
463
464        this.name = this.$input.attr('name') || options.name;
465
466        this.$hidden = this.$element.find('input[type=hidden][name="' + this.name + '"]');
467        if (this.$hidden.length === 0) {
468            this.$hidden = $('<input type="hidden">').insertBefore(this.$input)
469        }
470
471        this.$preview = this.$element.find('.fileinput-preview');
472        var height = this.$preview.css('height');
473        if (this.$preview.css('display') !== 'inline' && height !== '0px' && height !== 'none') {
474            this.$preview.css('line-height', height)
475        }
476
477        this.original = {
478            exists: this.$element.hasClass('fileinput-exists'),
479            preview: this.$preview.html(),
480            hiddenVal: this.$hidden.val()
481        };
482
483        this.listen()
484    };
485
486    Fileinput.prototype.listen = function() {
487        this.$input.on('change.uk.fileinput', $.proxy(this.change, this));
488        $(this.$input[0].form).on('reset.uk.fileinput', $.proxy(this.reset, this));
489
490        this.$element.find('[data-trigger="fileinput"]').on('click.uk.fileinput', $.proxy(this.trigger, this));
491        this.$element.find('[data-dismiss="fileinput"]').on('click.uk.fileinput', $.proxy(this.clear, this))
492    };
493
494    Fileinput.prototype.change = function(e) {
495        var files = e.target.files === undefined ? (e.target && e.target.value ? [{ name: e.target.value.replace(/^.+\\/, '')}] : []) : e.target.files;
496
497        e.stopPropagation();
498
499        if (files.length === 0) {
500            this.clear();
501            this.$element.trigger('clear.uk.fileinput');
502            return
503        }
504
505        this.$hidden.val('');
506        this.$hidden.attr('name', '');
507        this.$input.attr('name', this.name);
508
509        var file = files[0];
510
511        if (this.$preview.length > 0 && (typeof file.type !== "undefined" ? file.type.match(/^image\/(gif|png|jpeg)$/) : file.name.match(/\.(gif|png|jpe?g)$/i)) && typeof FileReader !== "undefined") {
512            var reader = new FileReader();
513            var preview = this.$preview;
514            var element = this.$element;
515
516            reader.onload = function(re) {
517                var $img = $('<img>');
518                $img[0].src = re.target.result;
519                files[0].result = re.target.result;
520
521                element.find('.fileinput-filename').text(file.name);
522
523                // if parent has max-height, using `(max-)height: 100%` on child doesn't take padding and border into account
524                if (preview.css('max-height') != 'none') $img.css('max-height', parseInt(preview.css('max-height'), 10) - parseInt(preview.css('padding-top'), 10) - parseInt(preview.css('padding-bottom'), 10)  - parseInt(preview.css('border-top'), 10) - parseInt(preview.css('border-bottom'), 10));
525
526                preview.html($img);
527                element.addClass('fileinput-exists').removeClass('fileinput-new');
528
529                element.trigger('change.uk.fileinput', files)
530            };
531
532            reader.readAsDataURL(file)
533        } else {
534            this.$element.find('.fileinput-filename').text(file.name);
535            this.$preview.text(file.name);
536
537            this.$element.addClass('fileinput-exists').removeClass('fileinput-new');
538
539            this.$element.trigger('change.uk.fileinput')
540        }
541    };
542
543    Fileinput.prototype.clear = function(e) {
544        if (e) e.preventDefault();
545
546        this.$hidden.val('');
547        this.$hidden.attr('name', this.name);
548        this.$input.attr('name', '');
549
550        //ie8+ doesn't support changing the value of input with type=file so clone instead
551        if (isIE) {
552            var inputClone = this.$input.clone(true);
553            this.$input.after(inputClone);
554            this.$input.remove();
555            this.$input = inputClone;
556        } else {
557            this.$input.val('');
558        }
559
560        this.$preview.html('');
561        this.$element.find('.fileinput-filename').text('');
562        this.$element.addClass('fileinput-new').removeClass('fileinput-exists');
563
564        if (e !== undefined) {
565            this.$input.trigger('change');
566            this.$element.trigger('clear.uk.fileinput');
567        }
568    };
569
570    Fileinput.prototype.reset = function() {
571        this.clear();
572
573        this.$hidden.val(this.original.hiddenVal);
574        this.$preview.html(this.original.preview);
575        this.$element.find('.fileinput-filename').text('');
576
577        if (this.original.exists) {
578            this.$element.addClass('fileinput-exists').removeClass('fileinput-new')
579        } else {
580            this.$element.addClass('fileinput-new').removeClass('fileinput-exists')
581        }
582
583        this.$element.trigger('reset.uk.fileinput')
584    };
585
586    Fileinput.prototype.trigger = function(e) {
587        this.$input.trigger('click');
588        e.preventDefault()
589    };
590
591    // FILEUPLOAD PLUGIN DEFINITION
592    // ===========================
593
594    var old = $.fn.fileinput;
595
596    $.fn.fileinput = function (options) {
597        return this.each(function () {
598            var $this = $(this),
599                data = $this.data('uk.fileinput');
600            if (!data) $this.data('uk.fileinput', (data = new Fileinput(this, options)));
601            if (typeof options == 'string') data[options]()
602        })
603    };
604
605    $.fn.fileinput.Constructor = Fileinput;
606
607    // FILEINPUT NO CONFLICT
608    // ====================
609
610    $.fn.fileinput.noConflict = function () {
611        $.fn.fileinput = old;
612        return this
613    };
614
615    // FILEUPLOAD DATA-API
616    // ==================
617
618    $(document).on('click.fileinput.data-api', '[data-provides="fileinput"]', function (e) {
619        var $this = $(this);
620        if ($this.data('uk.fileinput')) return;
621        $this.fileinput($this.data());
622
623        var $target = $(e.target).closest('[data-dismiss="fileinput"],[data-trigger="fileinput"]');
624        if ($target.length > 0) {
625            e.preventDefault();
626            $target.trigger('click.uk.fileinput');
627        }
628    })
629
630}(window.jQuery);
631
632Selectize.define( 'empty_option', function ( options ) {
633    var self = this;
634
635    self.setup = (function () {
636        var original = self.setup;
637        return function () {
638            original.apply( this, arguments );
639            this.$dropdown.prepend('<div data-value="" data-selectable="false" class="option null"></div>');
640            this.$dropdown.on( 'mousedown', '.null', function ( e ) {
641                self.setValue( '' );
642                self.close();
643                self.blur();
644
645                return false;
646            });
647
648            $('.selectize-control>.selectize-input').on( 'keydown', 'input', function ( e ) {
649                if(e.keyCode == 13 || e.keyCode == 9){
650                    if(self.$dropdown.children('.null.active').length > 0){
651                        self.setValue('');
652                        self.close();
653                    }
654                }
655            });
656        }
657    })();
658});
659
660
661
662var app         = {
663    init    : function(){
664        $('body').find('#print,.print').click(function(){
665            var margin = $('#page_content').css('margin');
666            $('#page_content').css('margin','0px');
667            window.print();
668            $('#page_content').css('margin',margin);
669        });
670
671    },
672    alert   : function(message,callback){
673        UIkit.modal.alert(message,callback)
674    },
675    confirm : function(message,callback,close){
676        UIkit.modal.confirm(message,callback).on('hide.uk.modal',close);
677    },
678    prompt : function(message,callback,close){
679        UIkit.modal.prompt(message, '', callback).on('hide.uk.modal',close);
680    },
681    to_idr : function(angka){
682        var minus = angka<1?'-':'';
683        angka = Math.abs(angka);
684        if(angka<1)
685            return 0;
686        var rev     = parseInt(angka, 10).toString().split('').reverse().join('');
687        var rev2    = '';
688        for(var i = 0; i < rev.length; i++){
689            rev2  += rev[i];
690            if((i + 1) % 3 === 0 && i !== (rev.length - 1)){
691                rev2 += '.';
692            }
693        }
694        return minus + rev2.split('').reverse().join('');
695    },
696    from_idr : function(str){
697        if(str=='')
698            return 0;
699        return parseInt(str.split('.').join(''));
700    },
701    notify : function(message,status,callback){
702        var thisNotify = UIkit.notify({
703            message: message,
704            status: status,
705            timeout: 5000,
706            group: null,
707            pos: 'bottom-right',
708            onClose: function() {
709                $body.find('.md-fab-wrapper').css('margin-bottom','');
710                if(callback!==undefined) {
711                    callback();
712                }
713                // clear notify timeout (sometimes callback is fired more than once)
714                clearTimeout(thisNotify.timeout)
715            }
716        });
717        if(
718            (
719                ($window.width() < 768)
720                && (
721                    (thisNotify.options.pos == 'bottom-right')
722                    || (thisNotify.options.pos == 'bottom-left')
723                    || (thisNotify.options.pos == 'bottom-center')
724                )
725            )
726            || (thisNotify.options.pos == 'bottom-right')
727        ) {
728            var thisNotify_height = $(thisNotify.element).outerHeight();
729            var spacer = $window.width() < 768 ? -6 : 8;
730            $body.find('.md-fab-wrapper').css('margin-bottom',thisNotify_height + spacer);
731        }
732    },
733    notify_success : function(message,callback){
734        return this.notify(message,'success');
735    },
736    notify_error : function(message,callback){
737        return this.notify(message,'error');
738    },
739    to_long_date:function(mysqldate){
740        var monts = ['','Januari','Februari','Maret','April','Mei','Juni','Juli','Agustus','September','Oktober','November','Desember'];
741        var dates = mysqldate.split('-');
742        var month = monts[parseInt(dates[1])];
743        return dates[2] + ' ' + month + ' ' + dates[0];
744    },
745    loading : {
746        show : function (message) {
747            if(!message)
748                message = "Sedang memproses data, silahkan tunggu...";
749            this._modal_loading = UIkit.modal.blockUI('<div class="uk-text-center">' + message + '<br/><img class="uk-margin-top" src="https://admin.indianrails.in/themes/altair/img/spinners/spinner.gif" alt="">');
750        },
751        hide : function (){
752            this._modal_loading.hide();
753        }
754    },
755    to_object : function (data) {
756        var obj = {};
757        for(var i=0;i<data.length;i++){
758            var row     = data[i];
759            var name    = row.name.replace('[]','');
760            if(obj[name]!==undefined){
761                if(!$.isArray(obj[name]))
762                    obj[name] = [obj[name]];
763                obj[name].push(row.value);
764            }else{
765                obj[name] = row.value;
766            }
767        }
768        return obj;
769    },
770    array_sum   : function(array){
771        return array.reduce(function(a, b) {
772            return a + b;
773        }, 0);
774    },
775    array_sum_idr   : function(array){
776        var sum = 0;
777        for(var i=0;i<array.length;i++){
778            sum+= this.from_idr(array[i]);
779        }
780        return sum;
781    }
782};
783
784function slugify(str) {
785    str = str.replace(/^\s+|\s+$/g, ''); // trim
786    str = str.toLowerCase();
787
788    // remove accents, swap ñ for n, etc
789    var from = "àáäâèéëêìíïîòóöôùúüûñç·/_,:;";
790    var to   = "aaaaeeeeiiiioooouuuunc------";
791    for (var i=0, l=from.length ; i<l ; i++) {
792        str = str.replace(new RegExp(from.charAt(i), 'g'), to.charAt(i));
793    }
794
795    str = str.replace(/[^a-z0-9 -]/g, '') // remove invalid chars
796        .replace(/\s+/g, '-') // collapse whitespace and replace by -
797        .replace(/-+/g, '-'); // collapse dashes
798
799    return str;
800}
801
802$(document).ready(function () {
803    $.fn.image_upload = function (update) {
804        if(update){
805            var $el = $(this);
806            if($el.data('src')=='' || $el.data('src')==null){
807                $el.find('img').attr('src','');
808                $el.find('.image-preview').hide();
809                $el.find('.upload-helper').show();
810                $el.find('.upload-value').val('');
811            }else{
812                $el.find('img').attr('src',$el.data('src'));
813                $el.find('.image-preview').show();
814                $el.find('.upload-helper').hide();
815                $el.find('.upload-value').val($el.data('src'));
816            }
817        }else{
818            this.each(function(){
819                if($(this).data('is_image_upload')){
820                    return true;
821                }
822                var $el     = $(this);
823                var name    = $(this).data('upload-name');
824                var label   = $(this).html();
825                var $input  = $('<input/>').attr({
826                    type    : 'hidden',
827                    name    : name,
828                    id      : name
829                }).addClass('upload-value');
830                var $input_file = $('<input/>').attr({
831                    type : 'file',
832                }).addClass('upload-input').on('click',function(e){
833                    e.stopPropagation();
834                }).change(function () {
835                    var $el     = $(this);
836                    var $div    = $el.closest('.upload-drop-zone');
837                    var url     = $div.data('upload-url');
838                    if (this.files && this.files[0]) {
839                        var reader = new FileReader();
840                        reader.onload = function (e) {
841                            var encoded_image   = btoa(e.target.result);
842                            $.post(url,{
843                                encoded_image:encoded_image,
844                            },function(data){
845                                if(data.error){
846                                    app.alert(data.data);
847                                }else{
848                                    $div.find('img').attr('src',data.data);
849                                    $div.find('.image-preview').show();
850                                    $div.find('.upload-helper').hide();
851                                    $div.find('.upload-value').val(data.data);}
852                            });
853                        }
854                        reader.readAsDataURL(this.files[0]);
855                    }
856                });
857                var $label  = $('<span/>').addClass('upload-helper').html(label);
858                var $img    = $('<img/>');
859                var $preview = $('<div/>').addClass('image-preview').append($img).hide();
860                $el.html('').addClass('upload-drop-zone').append($input_file).append($input).append($label).append($preview);
861                $el.click(function(e){
862                    $(this).find('.upload-input').trigger('click');
863                });
864                if($el.data('src')){
865                    $el.find('img').attr('src',$el.data('src'));
866                    $el.find('.image-preview').show();
867                    $el.find('.upload-helper').hide();
868                    $el.find('.upload-value').val($el.data('src'));
869                }
870                $el.data('is_image_upload',true);
871            });
872        }
873
874    }
875    $.fn.to_idr = function () {
876        this.each(function(){
877           $(this).html(app.to_idr($(this).html()));
878        });
879    }
880    $.fn.idr = function () {
881        this.each(function(){
882            var is_idr = $(this).data('is_idr');
883            if(!is_idr){
884                $(this).change(function(){
885                    if($(this).val().indexOf(".")>=0)
886                        return;
887                    if($(this).val()==''){
888                        $(this).val(0);
889                    }else{
890                        $(this).val(app.to_idr($(this).val()));
891                    }
892                });
893            }
894            $(this).data('is_idr',true);
895            $(this).change();
896        });
897    }
898    window.Parsley.addValidator('isIdr', {
899        validateString: function(value) {
900            return !isNaN(app.from_idr(value));
901        },
902        messages: {
903            id: 'angka tidak valid'
904        }
905    });
906    $.pop_up=function(href,title,param){
907        param=param!=undefined?param:{
908            width : 1000,
909            height : 600
910        };
911        var dualScreenLeft = window.screenLeft != undefined ? window.screenLeft : screen.left;
912        var dualScreenTop = window.screenTop != undefined ? window.screenTop : screen.top;
913
914        var width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width;
915        var height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height;
916
917        var left = ((width / 2) - (param.width / 2)) + dualScreenLeft;
918        var top = ((height / 2) - (param.height / 2)) + dualScreenTop;
919        param=$.extend(true,{
920            top:top,
921            left:left,
922            width:param.width,
923            height:param.height,
924            scrollbars:'auto',
925        },param);
926        var win = window.open(href,title, "width=" + param.width + ",height=" + param.height + ",top=" + param.top + ",left=" + param.left + ",scrollbars=auto,menubar=yes,toolbar=yes","_blank");
927        var timer = setInterval(function() {
928            if(win.closed) {
929                clearInterval(timer);
930                if(param.close){
931                    param.close();
932                }
933            }
934        }, 1000);
935        return	win;
936    }
937    app.init();
938    $('.upload-image').image_upload();
939
940});
941</script>
941
942
943<script>
944    $(function() {
945        altair_form_validation.init()
946    }), altair_form_validation = {
947        init: function() {
948            var i = $(".validate_form");
949            if(i.length<1)
950                return;
951            i.parsley({
952                excluded: "input[type=button], input[type=submit], input[type=reset], input[type=hidden], .selectize-input > input"
953            }).on("form:validated", function() {
954                altair_md.update_input(i.find(".md-input-danger"))
955            }).on("field:validated", function(i) {
956                $(i.$element).hasClass("md-input") && altair_md.update_input($(i.$element))
957            }), window.Parsley.on("field:validate", function() {
958                var i = $(this.$element).closest(".md-input-wrapper").siblings(".error_server_side");
959                i && i.hide()
960            }), $("#val_birth").on("hide.uk.datepicker", function() {
961                $(this).parsley().validate()
962            })
963        }
964    };
965    $(function() {
966        if(isHighDensity) {
967            // enable hires images
968            altair_helpers.retina_images();
969        }
970        if(Modernizr.touch) {
971            // fastClick (touch devices)
972            FastClick.attach(document.body);
973        }
974    });
975    $window.load(function() {
976        // ie fixes
977        altair_helpers.ie_fix();
978    });
979
980    $(document).ready(function () {
981        altair_main_sidebar.hide_sidebar()
982        $.fn.autoSuggest = function (options) {
983            options =   options || {};
984            options = $.extend(true,{
985                minLength : 3,
986                source:function(request,response){
987                    var src     = this.element.data('autocomplete_src');
988                    var rows    = window[src];
989                    var data    = [];
990                    var i       = 1;
991                    for(var key in rows){
992                        if(i>10){
993                            break;
994                        }
995                        if(rows[key].toLowerCase().indexOf(request.term.toLowerCase())>-1){
996                            data.push(rows[key]);
997                            i++;
998                        }
999                    }
1000                    response(data);
1001                },
1002                focus: function( event, ui ) {
1003                    $(this).val(options.label(ui.item));
1004                    return false;
1005                },
1006                select: function( event, ui ) {
1007                    $(this).val(options.label(ui.item));
1008                    return false;
1009                },
1010                label : function(item){
1011                    return item.label;
1012                }
1013            },options);
1014            this.each(function () {
1015                $(this).autocomplete(options).autocomplete( "instance" )._renderItem = function( ul, item ) {
1016                    var $div = $("<div>" + options.label(item) + "</div>");
1017                    return $( "<li>" )
1018                        .append($div)
1019                        .appendTo( ul );
1020                };
1021
1022            });
1023        }
1024
1025        $('.station_suggest').autoSuggest();
1026        $('.train_suggest').autoSuggest();
1027
1028        $('.live_train_suggest').autoSuggest({
1029            select: function( event, ui ) {
1030                $(this).val(ui.item.label);
1031                var train = ui.item.label.split(" - ");
1032                        $('#date').empty();
1033                        $('#station').empty();
1034                        app.loading.show("Please wait, we're looking for available dates for " + train[1]);
1035                        $.getJSON('/live-status/train/' + train[0],function(data){
1036                            if(data.error)
1037                                return app.alert(data.error);
1038                            for(var i=0;i<data.data.length;i++){
1039                                var row         = data.data[i];
1040                                var $option     = $('<option/>').val(row.startDate).html(row.startDate);
1041                                if(i===0){
1042                                    $option.prop('selected',true);
1043                                }
1044                                $('#date').append($option)
1045                            }
1046                            $('.view').show();
1047                            app.loading.hide();
1048                        });
1049                return false;
1050            }
1051        });
1052        $('.tanggal').kendoDatePicker({
1053            format: "yyyy-MM-dd"
1054        });
1055
1056        $('.clear_input')
1057            .css('cursor','pointer')
1058            .click(function(){
1059               var $group = $(this).closest('.uk-input-group');
1060               $group.find('input').val('').change();
1061            });
1062
1063        var $tabs       = $(document).find('[tabindex]');
1064        $tabs.each(function(){
1065            var $el     = $(this);
1066            $(this).keypress(function(e) {
1067                if(e.which == 13) {
1068                    var index = parseInt($(this).attr("tabindex"));
1069                    if(index<$tabs.length){
1070                        e.stopPropagation();
1071                        var next_index  = index+1;
1072                        var $next       = $(document).find("[tabindex='" + next_index + "']");
1073                        $next.focus();
1074                        if($next.attr('data-uk-datepicker')){
1075                            $next.blur();
1076                        }
1077                        $('html, body').animate({
1078                            scrollTop: $next.offset().top
1079                        }, 1000);
1080                    }
1081                }
1082            });
1083        });
1084        
1085        var int_ads = setInterval(function(){
1086            if($("#IL_INSEARCH").length>0){
1087                var zindex  = parseInt($("#IL_INSEARCH").css('z-index')) + 10;
1088                $('#search_submit').css('z-index',zindex);
1089                clearInterval(int_ads);
1090            }
1091        },1000);
1092    });
1093    function submitForm() {
1094        onSubmit()    }
1095    function onSubmit(){
1096        $('#search').submit();
1097    }
1098
1099
1100</script>
1100
1101</body>
1102</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.