SendinBlue Subscribe Form And WP SMTP - Version 1.5

Version Description

Download this release

Release Info

Developer neeraj_slit
Plugin Icon 128x128 SendinBlue Subscribe Form And WP SMTP
Version 1.5
Comparing to
See all releases

Code changes from version 1.0 to 1.5

ajaxcall.php ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ $_SERVER['HTTP_HOST'] = 'wp_trunk';
3
+ $wp_load = '../../../wp-load.php';
4
+ if (!is_file($wp_load))
5
+ exit;
6
+ require_once($wp_load);
7
+ require_once(ABSPATH.'wp-admin/includes/admin.php');
8
+ global $wpdb;
9
+ if (!class_exists('MailinApi'))
10
+ require_once('mailinapi.class.php');
11
+ $m_obj = new MailinApi();
12
+ if (isset($_POST))
13
+ {
14
+ if ($_POST['token'] != md5(get_option('mailin_apikey')))
15
+ die('Invalid token');
16
+ $api_key = get_option('mailin_apikey');
17
+ $selected_list = get_option('mailin_list_selected');
18
+ $fname = '';
19
+ $lname = '';
20
+ $timezone_format = _x('Y-m-d G:i:s', 'timezone date format');
21
+ $timezone_format = date_i18n($timezone_format);
22
+ if (!empty($_POST['email']) && $_POST['newsletter'] == 1)
23
+ {
24
+ $m_obj->createUser($api_key, $_POST['email'], $selected_list, $fname, $lname);
25
+ $sql = 'UPDATE '.MAILIN_SUBSCRIBERS.'
26
+ SET list = "'.$selected_list.'",
27
+ subscribed = "1",
28
+ create_date= "'.$timezone_format.'"
29
+ WHERE email = "'.trim($_POST['email']).'" ';
30
+ }else
31
+ {
32
+ $m_obj->unSubUser($api_key, $_POST['email']);
33
+ $sql = 'UPDATE '.MAILIN_SUBSCRIBERS.'
34
+ SET list = "'.$selected_list.'",
35
+ subscribed = "0",
36
+ create_date= "'.$timezone_format.'" WHERE email = "'.trim($_POST['email']).'" ';
37
+ }
38
+ $wpdb->query($sql);
39
+ }
ajaxcontent.php ADDED
@@ -0,0 +1,133 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ $_SERVER['HTTP_HOST'] = 'wp_trunk';
3
+ $wp_load = '../../../wp-load.php';
4
+ if (!is_file($wp_load))
5
+ exit;
6
+ require_once($wp_load);
7
+ require_once(ABSPATH.'wp-admin/includes/admin.php');
8
+ if (!class_exists('MailinApi'))
9
+ require_once('mailinapi.class.php');
10
+ $m_obj = new MailinApi();
11
+
12
+ if (isset($_POST['page']))
13
+ {
14
+ if ($_POST['token'] != md5(get_option('mailin_apikey')))
15
+ die('Invalid token');
16
+ if ($_POST['language'] == 'fr-FR')
17
+ {
18
+ $title1 = 'Inscrire le contact';
19
+ $title2 = 'Désinscrire le contact';
20
+ $first = 'Première page';
21
+ $last = 'Dernière page';
22
+ $previous = 'Précédente';
23
+ $next = 'Suivante';
24
+ $y = 'Oui';
25
+ $n = 'Non';
26
+ } else
27
+ {
28
+ $title1 = 'Unsubscribe the contact';
29
+ $title2 = 'Subscribe the contact';
30
+ $first = 'First';
31
+ $last = 'Last';
32
+ $previous = 'Previous';
33
+ $next = 'Next';
34
+ $y = 'Yes';
35
+ $n = 'No';
36
+ }
37
+ $page = (int)$_POST['page'];
38
+ $cur_page = $page;
39
+ $page -= 1;
40
+ $per_page = 20;
41
+ $previous_btn = true;
42
+ $next_btn = true;
43
+ $first_btn = true;
44
+ $last_btn = true;
45
+ $start = $page * $per_page;
46
+ $count = $m_obj->getTotalUsers();
47
+ $count = $count[0]->total;
48
+ $no_of_paginations = ceil($count / $per_page);
49
+ if ($cur_page >= 7)
50
+ {
51
+ $start_loop = $cur_page - 3;
52
+ if ($no_of_paginations > $cur_page + 3)
53
+ $end_loop = $cur_page + 3;
54
+ else if ($cur_page <= $no_of_paginations && $cur_page > $no_of_paginations - 6)
55
+ {
56
+ $start_loop = $no_of_paginations - 6;
57
+ $end_loop = $no_of_paginations;
58
+ } else
59
+ $end_loop = $no_of_paginations;
60
+ } else
61
+ {
62
+ $start_loop = 1;
63
+ if ($no_of_paginations > 7)
64
+ $end_loop = 7;
65
+ else
66
+ $end_loop = $no_of_paginations;
67
+ }
68
+ $users = $m_obj->getAllUsersPagination($start, $per_page);
69
+ $data = $m_obj->checkusermainStatus($users);
70
+ $result = $data['result'];
71
+ $msg = '';
72
+ $i = 1;
73
+ foreach ($users as $subs)
74
+ {
75
+ if ($result[$subs->email] === 1 || $result[$subs->email] === null)
76
+ $pstatus = 1;
77
+ elseif ($result[$subs->email] === 0)
78
+ $pstatus = 0;
79
+ if ($subs->client == 1)
80
+ $client = $y;
81
+ elseif ($subs->client == 0)
82
+ $client = $n;
83
+ if ($subs->subscribed)
84
+ $img = '<img src="'.plugins_url().'/mailin/img/enabled.gif" >';
85
+ else
86
+ $img = '<img src="'.plugins_url().'/mailin/img/disabled.gif" >';
87
+ if (!$pstatus)
88
+ $img1 = '<img src="'.plugins_url().'/mailin/img/enabled.gif"
89
+ id="ajax_contact_status_'.$i.'" title="'.$title1.'"
90
+ class="toolTip1 imgstatus">';
91
+ else
92
+ $img1 = '<img src="'.plugins_url().'/mailin/img/disabled.gif"
93
+ id="ajax_contact_status_'.$i.'" title="'.$title2.'"
94
+ class="toolTip1 imgstatus">';
95
+ $msg .= '<tr><td>'.$i.'</td><td>'.$subs->fname.'</td><td>'.$subs->lname.'</td>
96
+ <td>'.$subs->email.'</td><td>'.$client.'</td><td>'.$img.'</td>
97
+ <td><a status="'.$pstatus.'" email="'.$subs->email.'" class="ajax_contacts_href" href="javascript:void(0)">
98
+ '.$img1.'
99
+ </a></td><td>'.date('d M Y H:i', strtotime($subs->create_date)).'</td></tr>';
100
+ $i++;
101
+ }
102
+ $msg_paging = '';
103
+ $msg_paging .= '<tr><td colspan="7"><div class="pagination"><ul class="pull-left">';
104
+ if ($first_btn && $cur_page > 1)
105
+ $msg_paging .= '<li p="1" class="active">'.$first.'</li>';
106
+ else if ($first_btn)
107
+ $msg_paging .= '<li p="1" class="inactive">'.$first.'</li>';
108
+ if ($previous_btn && $cur_page > 1)
109
+ {
110
+ $pre = $cur_page - 1;
111
+ $msg_paging .= '<li p="'.$pre.'" class="active">'.$previous.'</li>';
112
+ } else if ($previous_btn)
113
+ $msg_paging .= '<li class="inactive">'.$previous.'</li>';
114
+ for ($i = $start_loop; $i <= $end_loop; $i++)
115
+ {
116
+ if ($cur_page == $i)
117
+ $msg_paging .= '<li p="'.$i.'" style="color:#fff;background-color:#000000;" class="active">'.$i.'</li>';
118
+ else
119
+ $msg_paging .= '<li p="'.$i.'" class="active">'.$i.'</li>';
120
+ }
121
+ if ($next_btn && $cur_page < $no_of_paginations)
122
+ {
123
+ $nex = $cur_page + 1;
124
+ $msg_paging .= '<li p="'.$nex.'" class="active">'.$next.'</li>';
125
+ } else if ($next_btn)
126
+ $msg_paging .= '<li class="inactive">'.$next.'</li>';
127
+ if ($last_btn && $cur_page < $no_of_paginations)
128
+ $msg_paging .= '<li p="'.$no_of_paginations.'" class="active">'.$last.'</li>';
129
+ else if ($last_btn)
130
+ $msg_paging .= '<li p="'.$no_of_paginations.'" class="inactive">'.$last.'</li>';
131
+ if ($count != 0)
132
+ echo $msg.$msg_paging.'</td></tr>';
133
+ }
ajaxmanagesubscribe.php ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ $_SERVER['HTTP_HOST'] = 'wp_trunk';
3
+ $wp_load = '../../../wp-load.php';
4
+ if (!is_file($wp_load))
5
+ exit;
6
+ require_once($wp_load);
7
+ require_once(ABSPATH.'wp-admin/includes/admin.php');
8
+ global $wpdb;
9
+ if (!class_exists('MailinApi'))
10
+ require_once('mailinapi.class.php');
11
+ $m_obj = new MailinApi();
12
+ if (isset($_POST))
13
+ {
14
+ if ($_POST['token'] != md5(get_option('mailin_apikey')))
15
+ die('Invalid token');
16
+ $m_obj->manageSubscribe();
17
+ }
ajaxsmtp.php ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ $_SERVER['HTTP_HOST'] = 'wp_trunk';
3
+ $wp_load = '../../../wp-load.php';
4
+ if (!is_file($wp_load))
5
+ exit;
6
+ require_once($wp_load);
7
+ require_once(ABSPATH.'wp-admin/includes/admin.php');
8
+ global $wpdb;
9
+ if (!class_exists('MailinApi'))
10
+ require_once('mailinapi.class.php');
11
+ $m_obj = new MailinApi();
12
+ if (isset($_POST['mailin_smtp_action']))
13
+ {
14
+ if ($_POST['token'] != md5(get_option('mailin_apikey')))
15
+ die('Invalid token');
16
+ $m_obj->smtpUpdateConfiguration();
17
+ }
18
+
api_form.php CHANGED
@@ -1,32 +1,140 @@
1
- <div class="mailin_row">
2
- <form method="post" action="options-general.php?page=mailin_options">
3
- <h3>
4
- <?php esc_html_e( 'Please provide your login information' ,
5
- 'mailin_i18n');?>
6
- </h3>
7
- <?php esc_html_e('To start using the Mailin plugin, please enter your Mailin API Key below.', 'mailin_i18n'); ?>
8
- <br/>
9
- <?php
10
- echo esc_html_e( "Don't have a Mailin account?", "mailin_i18n").'&nbsp;';
11
- echo '<a href="http://www.mailin.fr/#subscriptionform" target="_blank">'.__( "Sign up", "mailin_i18n"). '</a>';
12
- ?>
13
- <br/>
14
- <table class="form-table">
15
- <tr valign="top">
16
- <td scope="row" width="50">
17
- <?php esc_html_e( 'API Key', 'mailin_i18n'); ?>:</td>
18
- <td>
19
- <input name="mailin_apikey" type="text" id="mailin_apikey" class="code"
20
- value="<?php echo esc_attr($api_key); ?>" size="32" />
21
- </td>
22
- </tr>
23
- <tr>
24
- <td colspan="2">
25
- <input type="hidden" name="mailin_form_action" value="apikey_update" />
26
- <input type="submit" name="Submit" value="<?php esc_attr_e('Validate & Save' , 'mailin_i18n');?>"
27
- class="button" />
28
- </td>
29
- </tr>
30
- </table>
31
- </form>
32
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script src="<?php echo plugins_url(); ?>/mailin/js/jquery-1.9.1.min.js" ></script>
2
+ <script>
3
+ $(document).ready(function () {
4
+ jQuery('.toolTip')
5
+ .hover(function () {
6
+ var title = jQuery(this).attr('title');
7
+ var offset = jQuery(this).offset();
8
+
9
+ jQuery('body').append(
10
+ '<div id="tipkk" style="top:' + offset.top + 'px; left:' + offset.left + 'px; ">' + title + '</div>');
11
+ var tipContentHeight = jQuery('#tipkk')
12
+ .height() + 25;
13
+ jQuery('#tipkk').css(
14
+ 'top', (offset.top - tipContentHeight) + 'px');
15
+
16
+ }, function () {
17
+ jQuery('#tipkk').remove();
18
+ });
19
+
20
+ var mailin_api_status = $('input:radio[name=mailin_api_status]:checked').val();
21
+
22
+ if(mailin_api_status==0)
23
+ {
24
+ $('.apikey').hide();
25
+ }else{
26
+ $('.apikey').show();
27
+ }
28
+
29
+ $('.mailin_api_status').click(function (){
30
+
31
+ var mailin_api_status = jQuery(this).val();
32
+
33
+ if (mailin_api_status == 0){
34
+
35
+ $('.apikey').hide();
36
+ }else{
37
+ $('.apikey').show();
38
+ }
39
+ });
40
+ });
41
+ </script>
42
+ <div class="">
43
+ <img src="<?php echo plugins_url(); ?>/mailin/img/
44
+ <?php esc_html_e('mailinblue.jpg', 'mailin_i18n' ); ?>" class="mailin-logo">
45
+ <div style="float:left;font-weight:bold; padding:25px 0px 0px 0px; color:#268CCD;">
46
+ <?php esc_html_e('Mailinblue : THE all-in-one plugin for your marketing and transactional emails.', 'mailin_i18n' ); ?></div><div class="clear"></div>
47
+ </div>
48
+
49
+ <div class="mailin_row">
50
+ <fieldset class="fields">
51
+ <legend class="lgend">
52
+ <img src="<?php echo plugins_url(); ?>/mailin/img/logo.gif">
53
+ <?php esc_html_e('Mailinblue', 'mailin_i18n' ); ?>
54
+ </legend>
55
+ <div class="contact-details">
56
+ <h2 style="color:#268CCD;"><?php esc_html_e('Contact Mailinblue team', 'mailin_i18n' ); ?> </h2>
57
+ <div style="clear: both;"></div>
58
+ <p> <?php esc_html_e('Contact us:', 'mailin_i18n' ); ?>
59
+ <br><br><?php esc_html_e('Email:', 'mailin_i18n' ); ?>
60
+ <a style="color:#268CCD;" href="mailto:<?php esc_html_e('contact@mailinblue.com', 'mailin_i18n' ); ?>">
61
+ <?php esc_html_e('contact@mailinblue.com', 'mailin_i18n' ); ?>
62
+ </a><br>
63
+ <?php esc_html_e('Phone : 0899 25 30 61', 'mailin_i18n' ); ?></p>
64
+ <p style="padding-top:20px;"><b><?php esc_html_e('For further informations, please visit our website:', 'mailin_i18n' ); ?>
65
+ </b><br><a style="color:#268CCD;" target="_blank" href="<?php esc_html_e('http://www.mailinblue.com/', 'mailin_i18n' ); ?>">
66
+ <?php esc_html_e('http://www.mailinblue.com/', 'mailin_i18n' ); ?></a></p>
67
+ </div>
68
+ <div><?php esc_html_e('With the Mailinblue plugin, you can find everything you need to easily and efficiently send your emailing campains to your prospects and customers. ', 'mailin_i18n' ); ?>
69
+ <br><br>
70
+ <ul class="listt">
71
+ <li><?php esc_html_e('Synchronize your subscribers with Mailinblue (subscribed and unsubscribed contacts)', 'mailin_i18n' ); ?></li>
72
+ <li><?php esc_html_e('Easily create good looking emailings', 'mailin_i18n' ); ?></li>
73
+ <li><?php esc_html_e('Schedule your campaigns', 'mailin_i18n' ); ?></li>
74
+ <li><?php esc_html_e('Track your results and optimize', 'mailin_i18n' ); ?></li>
75
+ </ul>
76
+ <?php esc_html_e('Monitor your transactional emails (purchase confirmation, password reset …) with a better deliverability and real-time analytics', 'mailin_i18n' ); ?><br><br>
77
+ <b><?php esc_html_e('Why should you use Mailinblue ?', 'mailin_i18n' ); ?></b>
78
+ <ul class="listt">
79
+ <li><?php esc_html_e('Optimized deliverability', 'mailin_i18n' ); ?></li>
80
+ <li><?php esc_html_e('Unbeatable pricing &ndash; best value in the industry', 'mailin_i18n' ); ?></li>
81
+ <li><?php esc_html_e('Technical support, by phone or by email', 'mailin_i18n' ); ?></li><br>
82
+ </ul>
83
+ </div><div style="clear:both;">&nbsp;</div>
84
+ </fieldset>
85
+ </div>
86
+ <div class="mailin_row">
87
+ <fieldset class="fields">
88
+ <legend><img src="<?php echo plugins_url(); ?>/mailin/img/logo.gif"> <?php esc_html_e('Prerequisites', 'mailin_i18n' ); ?></legend>
89
+ <label"> <?php esc_html_e('- You should have a Mailinblue account. You can create a free account here:', 'mailin_i18n' ); ?> <a target="_blank" href="<?php esc_html_e('http://www.mailinblue.com/', 'mailin_i18n' ); ?>">&nbsp;<?php esc_html_e('http://www.mailinblue.com/', 'mailin_i18n' ); ?></a><br></label"></fieldset>
90
+ </div>
91
+
92
+
93
+ <?php
94
+ $checked1 = '';
95
+ $checked2 = '';
96
+ $mailin_apikey_status = get_option('mailin_apikey_status');
97
+
98
+ if ($mailin_apikey_status == 1)
99
+ $checked1 = 'checked="checked"';
100
+ else
101
+ $checked2 = 'checked="checked"';
102
+
103
+ ?>
104
+
105
+ <div class="mailin_row">
106
+ <fieldset class="fields">
107
+ <legend><img src="<?php echo plugins_url(); ?>/mailin/img/logo.gif"><?php esc_html_e('Settings', 'mailin_i18n' ); ?> </legend>
108
+
109
+ <form method="post" action="options-general.php?page=mailin_options">
110
+
111
+ <table class="form-table blog_table">
112
+
113
+ <tr>
114
+ <td style="width:250px; text-align:right;">
115
+ <label style="word-wrap:break-word; width:244px;">
116
+ <?php esc_html_e('Activate Mailinblue:', 'mailin_i18n' ); ?></label>
117
+ </td>
118
+ <td>
119
+ <?php esc_html_e('Yes', 'mailin_i18n' ); ?><input type="radio" <?php echo $checked1; ?> size="32" value="1" class="mailin_api_status" name="mailin_api_status">
120
+ <?php esc_html_e('No', 'mailin_i18n' ); ?><input type="radio" <?php echo $checked2; ?> size="32" value="0" class="mailin_api_status" name="mailin_api_status">
121
+ </td>
122
+ </tr>
123
+
124
+ <tr valign="top" class="apikey">
125
+ <td scope="row" style="width:250px; text-align:right;"><?php esc_html_e('API Key', 'mailin_i18n'); ?>:</td>
126
+ <td>
127
+ <input name="mailin_apikey" type="text" id="mailin_apikey" class="code" value="<?php echo esc_attr($api_key); ?>" size="32" />
128
+ <span title="<?php esc_html_e('Please enter your API key from your Mailinblue account and if you donot have it yet, please go to www.mailinblue.com and subscribe. You can then get the API key from https://my.mailinblue.com/advanced/apikey', 'mailin_i18n' ); ?>" class="toolTip">&nbsp;</span>
129
+ </td>
130
+ </tr>
131
+ <tr>
132
+ <td colspan="2">
133
+ <input type="hidden" name="mailin_form_action" value="apikey_update"/>
134
+ <input type="submit" style="float: left; margin-left:260px;" name="Submit" value="<?php esc_attr_e('Validate & Save' , 'mailin_i18n');?>" class="button" />
135
+ </td>
136
+ </tr>
137
+ </table>
138
+ </form>
139
+ </fieldset>
140
+ </div>
compatibility.php CHANGED
@@ -5,79 +5,86 @@
5
 
6
  /* Functions for < WP 3.0 Compat */
7
  if (!function_exists('home_url')) {
8
- /**
9
- * Retrieve the home url for the current site.
10
- *
11
- * Returns the 'home' option with the appropriate protocol, 'https' if
12
- * is_ssl() and 'http' otherwise. If $scheme is 'http' or 'https', is_ssl() is
13
- * overridden.
14
- *
15
- * @package WordPress
16
- * @since 3.0.0
17
- *
18
- * @uses get_home_url()
19
- *
20
- * @param string $path (optional) Path relative to the home url.
21
- * @param string $scheme (optional) Scheme to give the home url context. Currently 'http','https'
22
- * @return string Home url link with optional path appended.
23
- */
24
- function home_url( $path = '', $scheme = null ) {
25
- return get_home_url(null, $path, $scheme);
26
- }
27
-
 
28
  }
29
 
30
  if (!function_exists('get_home_url')) {
31
- /**
32
- * Retrieve the home url for a given site.
33
- *
34
- * Returns the 'home' option with the appropriate protocol, 'https' if
35
- * is_ssl() and 'http' otherwise. If $scheme is 'http' or 'https', is_ssl() is
36
- * overridden.
37
- *
38
- * @package WordPress
39
- * @since 3.0.0
40
- *
41
- * @param int $blog_id (optional) Blog ID. Defaults to current blog.
42
- * @param string $path (optional) Path relative to the home url.
43
- * @param string $scheme (optional) Scheme to give the home url context. Currently 'http','https'
44
- * @return string Home url link with optional path appended.
45
- */
46
- function get_home_url( $blog_id = null, $path = '', $scheme = null ) {
47
- $orig_scheme = $scheme;
48
-
49
- if ( !in_array( $scheme, array( 'http', 'https' ) ) )
50
- $scheme = is_ssl() && !is_admin() ? 'https' : 'http';
51
- if ( empty( $blog_id ) || !is_multisite() )
52
- $home = get_option( 'home' );
53
- else
54
- $home = get_blog_option( $blog_id, 'home' );
55
-
56
- $url = str_replace( 'http://', "$scheme://", $home );
57
-
58
- if ( !empty( $path ) && is_string( $path ) && strpos( $path, '..' ) === false )
59
- $url .= '/' . ltrim( $path, '/' );
60
-
61
- return apply_filters( 'home_url', $url, $path, $orig_scheme, $blog_id );
62
- }
 
 
 
 
 
63
  }
64
 
65
  if (!function_exists('is_multisite')) {
66
- /**
67
- * Whether Multisite support is enabled
68
- *
69
- * @since 3.0.0
70
- *
71
- * @return bool True if multisite is enabled, false otherwise.
72
- */
73
- function is_multisite() {
74
- if ( defined( 'MULTISITE' ) )
75
- return MULTISITE;
76
-
77
- if ( defined( 'VHOST' ) || defined( 'SUNRISE' ) )
78
- return true;
79
-
80
- return false;
81
- }
 
82
  }
83
  ?>
5
 
6
  /* Functions for < WP 3.0 Compat */
7
  if (!function_exists('home_url')) {
8
+ /**
9
+ * Retrieve the home url for the current site.
10
+ *
11
+ * Returns the 'home' option with the appropriate protocol, 'https' if
12
+ * is_ssl() and 'http' otherwise. If $scheme is 'http' or 'https', is_ssl() is
13
+ * overridden.
14
+ *
15
+ * @package WordPress
16
+ * @since 3.0.0
17
+ *
18
+ * @uses get_home_url()
19
+ *
20
+ * @param string $path (optional) Path relative to the home url.
21
+ * @param string $scheme (optional) Scheme to give the home url context. Currently 'http','https'
22
+ * @return string Home url link with optional path appended.
23
+ */
24
+ function home_url($path = '', $scheme = null)
25
+ {
26
+ return get_home_url(null, $path, $scheme);
27
+ }
28
+
29
  }
30
 
31
  if (!function_exists('get_home_url')) {
32
+ /**
33
+ * Retrieve the home url for a given site.
34
+ *
35
+ * Returns the 'home' option with the appropriate protocol, 'https' if
36
+ * is_ssl() and 'http' otherwise. If $scheme is 'http' or 'https', is_ssl() is
37
+ * overridden.
38
+ *
39
+ * @package WordPress
40
+ * @since 3.0.0
41
+ *
42
+ * @param int $blog_id (optional) Blog ID. Defaults to current blog.
43
+ * @param string $path (optional) Path relative to the home url.
44
+ * @param string $scheme (optional) Scheme to give the home url context. Currently 'http','https'
45
+ * @return string Home url link with optional path appended.
46
+ */
47
+ function get_home_url($blog_id = null, $path = '', $scheme = null)
48
+ {
49
+ $orig_scheme = $scheme;
50
+
51
+ if (!in_array($scheme, array(
52
+ 'http',
53
+ 'https'
54
+ )))
55
+ $scheme = is_ssl() && !is_admin() ? 'https' : 'http';
56
+
57
+ if (empty($blog_id) || !is_multisite())
58
+ $home = get_option('home');
59
+ else
60
+ $home = get_blog_option($blog_id, 'home');
61
+
62
+ $url = str_replace('http://', "$scheme://", $home);
63
+
64
+ if (!empty($path) && is_string($path) && strpos($path, '..') === false)
65
+ $url .= '/'.ltrim($path, '/');
66
+
67
+ return apply_filters('home_url', $url, $path, $orig_scheme, $blog_id);
68
+ }
69
  }
70
 
71
  if (!function_exists('is_multisite')) {
72
+ /**
73
+ * Whether Multisite support is enabled
74
+ *
75
+ * @since 3.0.0
76
+ *
77
+ * @return bool True if multisite is enabled, false otherwise.
78
+ */
79
+ function is_multisite()
80
+ {
81
+ if (defined('MULTISITE'))
82
+ return MULTISITE;
83
+
84
+ if (defined('VHOST') || defined('SUNRISE'))
85
+ return true;
86
+
87
+ return false;
88
+ }
89
  }
90
  ?>
cron.php CHANGED
@@ -1,140 +1,99 @@
1
  <?php
2
  /**
3
- * Dummy CLI script that loads the WordPress environment
4
- * Author: Thorsten Ott
5
- * Author URI: http://hitchhackerguide.com
6
  */
7
- set_time_limit( 0 );
8
- ini_set( "memory_limit", "64M" );
9
- $_SERVER['HTTP_HOST'] = 'wp_trunk'; // set this to the apache vhost name of your WordPress install
10
-
11
  ob_start();
12
- $wp_load = '../../../wp-load.php';
13
-
14
- //STOP CRON EXECUTION WHEN WORDPRESS IS NOT LOADED ON THIS FILE
15
- if(!is_file($wp_load)){
16
  exit;
17
- }
18
-
19
- require_once($wp_load); // you need to adjust this to your path
20
- require_once( ABSPATH . 'wp-admin/includes/admin.php' );
21
  ob_end_clean();
22
-
23
-
24
- function curl_request($data) {
25
-
26
- $url = 'http://ws.mailin.fr/'; //WS URL
27
- $ch = curl_init();
28
-
29
- $ndata='';
30
-
31
- if(is_array($data)){
32
-
33
- foreach($data AS $key=>$value){
34
- $ndata .=$key.'='.urlencode($value).'&';
35
- }
36
-
37
- }else{
38
-
39
- $ndata=$data;
40
-
41
- }
42
-
43
- curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:'));
44
- curl_setopt($ch, CURLOPT_POST ,1);
45
- curl_setopt ($ch, CURLOPT_POSTFIELDS,$ndata);
46
- curl_setopt($ch, CURLOPT_HEADER, 0);
47
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //Set curl to return the data instead of printing it to the browser.
48
- curl_setopt($ch, CURLOPT_URL, $url);
49
- $data = curl_exec($ch);
50
- curl_close($ch);
51
- return $data;
52
  }
53
-
54
  $api_key = get_option('mailin_apikey');
55
-
56
- if($api_key == ''){
57
- exit;
58
- }
59
-
60
-
61
- function call_server($email, $api_key){
62
-
63
  $data = array();
64
- $data['webaction']='DISPLAYUSERDETAIL';
65
- $data['key']= $api_key;
66
- $data['email'] = $email;
67
-
68
- $return = json_encode(curl_request($data));
69
- $return = json_decode($return);
70
- return $return;
71
-
72
- }
73
-
74
- function getListUsers($api_key, $list_ids){
75
-
76
- if($api_key == '') {
77
- return ;
78
- }
79
-
80
- $data = array();
81
- $data['webaction']='DISPLAYLISTDATABLACK';
82
- $data['key']=$api_key;
83
-
84
- $data['listids']= $list_ids;
85
-
86
- $return = curl_request($data);
87
- $return = json_decode($return);
88
-
89
- return $return;
90
-
91
  }
92
 
93
 
94
  global $wpdb;
95
- $table = $wpdb->prefix."mailin_subscribers ";
96
-
97
 
 
98
  $api_key = get_option('mailin_apikey');
99
-
 
 
 
100
  $lists = get_option('mailin_lists');
101
  $lists = unserialize($lists);
102
-
103
  $final_data = array();
104
- foreach($lists as $data){
105
- $final_data[] = $data->id;
106
- }
107
-
108
  $list_ids = '';
109
- if(!empty($final_data)){
110
- $list_ids = implode('|' , $final_data);
111
- }
112
-
113
- if($list_ids == ''){
114
- return ;
115
- }
116
-
117
- $list_users = getListUsers($api_key , $list_ids);
118
-
119
-
120
- if(!empty($list_users->result)){
121
-
122
- foreach($list_users->result as $key=>$lists){
123
-
124
- if(!empty($lists)){
125
-
126
- foreach($lists as $users){
127
-
128
- if(isset($users->blacklisted)){
129
-
130
- if($users->blacklisted == '1'){
131
- $sql = "UPDATE ".$table." SET subscribed = '0' WHERE email = '".strtolower(trim($users->email))."' " ;
132
- }else{
133
- $sql = "UPDATE ".$table." SET subscribed = '1' WHERE email = '".strtolower(trim($users->email))."' " ;
134
- }
135
- $myrows = $wpdb->query($sql);
136
  }
137
  }
138
  }
139
  }
 
140
  }
1
  <?php
2
  /**
3
+ *
4
+ * Author: deshbandhu
5
+ * Author URI: http:/mailin.fr
6
  */
7
+ set_time_limit(0);
8
+ ini_set('memory_limit', '64M');
9
+ $_SERVER['HTTP_HOST'] = 'wp_trunk';
 
10
  ob_start();
11
+ $wp_load = '../../../wp-load.php';
12
+ if (!is_file($wp_load))
 
 
13
  exit;
14
+ require_once($wp_load);
15
+ require_once(ABSPATH.'wp-admin/includes/admin.php');
 
 
16
  ob_end_clean();
17
+ if ($_GET['token'] != md5(get_option('mailin_apikey')))
18
+ die('Invalid token');
19
+ function curlRequest($data)
20
+ {
21
+ $url = 'http://ws.mailin.fr/'; //WS URL
22
+ $ch = curl_init();
23
+ $ndata = '';
24
+ if (is_array($data))
25
+ {
26
+ foreach ($data as $key => $value)
27
+ $ndata .= $key.'='.urlencode($value).'&';
28
+ } else
29
+ $ndata = $data;
30
+ curl_setopt($ch, CURLOPT_HTTPHEADER, array(
31
+ 'Expect:'
32
+ ));
33
+ curl_setopt($ch, CURLOPT_POST, 1);
34
+ curl_setopt($ch, CURLOPT_POSTFIELDS, $ndata);
35
+ curl_setopt($ch, CURLOPT_HEADER, 0);
36
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
37
+ curl_setopt($ch, CURLOPT_URL, $url);
38
+ $data = curl_exec($ch);
39
+ curl_close($ch);
40
+ return $data;
 
 
 
 
 
 
41
  }
 
42
  $api_key = get_option('mailin_apikey');
43
+ $mailin_apikey_status = get_option('mailin_apikey_status');
44
+ $mailin_manage_subscribe = get_option('mailin_manage_subscribe');
45
+ if ($api_key == false || $mailin_apikey_status == 0 || $mailin_manage_subscribe == 0)
46
+ exit;
47
+ function getListUsers($api_key, $list_ids)
48
+ {
49
+ if ($api_key == '')
50
+ return;
51
  $data = array();
52
+ $data['webaction'] = 'DISPLAYLISTDATABLACK';
53
+ $data['key'] = $api_key;
54
+ $data['listids'] = $list_ids;
55
+ $return = curlRequest($data);
56
+ return json_decode($return);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
57
  }
58
 
59
 
60
  global $wpdb;
 
 
61
 
62
+ $table = $wpdb->prefix.'mailin_subscribers ';
63
  $api_key = get_option('mailin_apikey');
64
+ $mailin_apikey_status = get_option('mailin_apikey_status');
65
+ $mailin_manage_subscribe = get_option('mailin_manage_subscribe');
66
+ if ($api_key == false || $mailin_apikey_status == 0 || $mailin_manage_subscribe == 0)
67
+ return false;
68
  $lists = get_option('mailin_lists');
69
  $lists = unserialize($lists);
 
70
  $final_data = array();
71
+ foreach ($lists as $data)
72
+ $final_data[] = $data->id;
 
 
73
  $list_ids = '';
74
+ if (!empty($final_data))
75
+ $list_ids = implode('|', $final_data);
76
+ if ($list_ids == '')
77
+ return;
78
+ $list_users = getListUsers($api_key, $list_ids);
79
+ if (!empty($list_users->result))
80
+ {
81
+ foreach ($list_users->result as $key => $lists)
82
+ {
83
+ if (!empty($lists))
84
+ {
85
+ foreach ($lists as $users)
86
+ {
87
+ if (isset($users->blacklisted))
88
+ {
89
+ if ($users->blacklisted == '1')
90
+ $sql = 'UPDATE '.$table.' SET subscribed = "0" WHERE email = "'.strtolower(trim($users->email)).'" ';
91
+ else
92
+ $sql = 'UPDATE '.$table.' SET subscribed = "1" WHERE email = "'.strtolower(trim($users->email)).'" ';
93
+ $myrows = $wpdb->query($sql);
 
 
 
 
 
 
 
94
  }
95
  }
96
  }
97
  }
98
+ echo 'Cron executed successfully';
99
  }
css/admin.css CHANGED
@@ -1,63 +1,30 @@
1
- .mailin_error{
2
- background-color: #F2DEDE;
3
- border:1px solid #EED3D7;
4
- color: #B94A48;border-radius:4px 4px 4px 4px;padding:8px;
5
- margin-bottom:10px;
6
- text-shadow:0 1px 0 rgba(255, 255, 255, 0.5)
7
- }
8
- .mailin_success{
9
- background-color: #DFF0D8;
10
- border:1px solid #D6E9C6;
11
- margin-bottom:10px;
12
- color: #468847;border-radius:4px 4px 4px 4px;padding:8px;
13
- text-shadow:0 1px 0 rgba(255, 255, 255, 0.5)
14
- }
15
- .mailin_popup_box{
16
- background-color: #FFFFFF;
17
- border: 1px solid #DFDFDF;
18
- border-radius: 5px 5px 5px 5px;
19
- height: 157px;
20
- margin-left: 632px;
21
- padding: 7px;
22
- position: absolute;
23
- width: 400px;
24
- z-index: 5;
25
- display:none;
26
- }
27
- .mailin_popup_close{
28
- background-image: url("close.png");
29
- background-repeat: no-repeat;
30
- float: right;
31
- height: 50px;
32
- position: relative;
33
- width: 5%;
34
- cursor:pointer;
35
- }
36
-
37
- .mailin_popup_loading{
38
- position:absolute;
39
- background-image: url("loading_anim.gif");
40
- background-repeat: no-repeat;
41
- float: left;
42
- height: 50px;
43
- width:50px;
44
- margin-top: 50px;
45
- margin-left:185px;
46
- }
47
-
48
- .mailin_admin_head{
49
- background-image: -moz-linear-gradient(center top , #F9F9F9, #ECECEC);
50
- border: 1px solid #DFDFDF;
51
- border-radius: 3px 3px 3px 3px;
52
- padding:0 5px;
53
- margin-bottom: 10px;
54
- width: 670px;
55
- }
56
-
57
- .mailin_popup_inner{
58
- float: left;
59
- height: 157px;
60
- width: 95%;
61
- }
62
-
63
- .mailin_row{float:left;width:670px}
1
+ #wpbody #wpbody-content .wrap {font-size:13px;}
2
+ #wpbody #wpbody-content .wrap a {text-decoration:underline;}
3
+
4
+
5
+ .mailin_row {clear:both; width:670px; width:100%; border:1px solid; background:none repeat scroll 0 0 #EBEDF4; margin-top:40px;}
6
+ .mailin-logo {float:left; margin:0px 15px 30px 0px;}
7
+ .slogan {float:left;font-weight:bold; padding:25px 0px 0px 0px; color:#268CCD;}
8
+
9
+ fieldset img {padding:0 4px 0 0; vertical-align:bottom;}
10
+ fieldset.fields {margin-bottom:10px; padding:20px 0 0 10px; position:relative;}
11
+ fieldset.fields legend {background-color:#EBEDF4; border:1px solid #DFD5C3; margin:0; padding:0.2em 0.5em; text-align:left; position:absolute; top:-15px; float:left; display:inline; width:inherit !important; font:bold 13px Arial;}
12
+ .contact-details {float:right; width:350px; height:205px; margin-right:12px; border:dashed 1px #666; padding:8px; margin-left:12px; margin-top:10px;}
13
+
14
+
15
+
16
+ /*Blog Form*/
17
+ .blog_form h3 {margin:0px; color:#000; background:-moz-linear-gradient(center top , #F9F9F9, #ECECEC) repeat-x scroll left top #ECECEC; padding:4px 6px; font-size:13px;}
18
+ .blog_table td, .blog_table th {padding:5px;}
19
+
20
+ .pagination{width:620px; height:25px; margin:0 auto;}
21
+ .pagination ul li{list-style:none; float:left; border:1px solid #000; padding:2px 6px 2px 6px; margin:0 3px 0 3px; font-family:arial; font-size:12px; color:#000; font-weight:bold; background-color:#f2f2f2;}
22
+ .pagination ul li:hover{color:#fff; background-color:#000; cursor:pointer;}
23
+
24
+ .pagination ul li.inactive,
25
+ .pagination ul li.inactive:hover{background-color:#ededed; color:#bababa; border:1px solid #bababa; cursor:default;}
26
+
27
+ #mySelectBox{width:260px; height:150px;}
28
+ ul.listt {text-align:justify; margin:8px 0px 8px 0px;list-style:none; padding:0px;}
29
+ ul.listt li:before{ content:"-"; position:relative; left:-5px;}
30
+ ul.listt li{ text-indent:-5px; padding:5px 0px 5px 10px;}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
css/bootstrap.css ADDED
@@ -0,0 +1,6167 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap v2.3.2
3
+ *
4
+ * Copyright 2012 Twitter, Inc
5
+ * Licensed under the Apache License v2.0
6
+ * http://www.apache.org/licenses/LICENSE-2.0
7
+ *
8
+ * Designed and built with all the love in the world @twitter by @mdo and @fat.
9
+ */
10
+
11
+ .clearfix {
12
+ *zoom: 1;
13
+ }
14
+
15
+ .clearfix:before,
16
+ .clearfix:after {
17
+ display: table;
18
+ line-height: 0;
19
+ content: "";
20
+ }
21
+
22
+ .clearfix:after {
23
+ clear: both;
24
+ }
25
+
26
+ .hide-text {
27
+ font: 0/0 a;
28
+ color: transparent;
29
+ text-shadow: none;
30
+ background-color: transparent;
31
+ border: 0;
32
+ }
33
+
34
+ .input-block-level {
35
+ display: block;
36
+ width: 100%;
37
+ min-height: 30px;
38
+ -webkit-box-sizing: border-box;
39
+ -moz-box-sizing: border-box;
40
+ box-sizing: border-box;
41
+ }
42
+
43
+ article,
44
+ aside,
45
+ details,
46
+ figcaption,
47
+ figure,
48
+ footer,
49
+ header,
50
+ hgroup,
51
+ nav,
52
+ section {
53
+ display: block;
54
+ }
55
+
56
+ audio,
57
+ canvas,
58
+ video {
59
+ display: inline-block;
60
+ *display: inline;
61
+ *zoom: 1;
62
+ }
63
+
64
+ audio:not([controls]) {
65
+ display: none;
66
+ }
67
+
68
+ html {
69
+ font-size: 100%;
70
+ -webkit-text-size-adjust: 100%;
71
+ -ms-text-size-adjust: 100%;
72
+ }
73
+
74
+ a:focus {
75
+ outline: thin dotted #333;
76
+ outline: 5px auto -webkit-focus-ring-color;
77
+ outline-offset: -2px;
78
+ }
79
+
80
+ a:hover,
81
+ a:active {
82
+ outline: 0;
83
+ }
84
+
85
+ sub,
86
+ sup {
87
+ position: relative;
88
+ font-size: 75%;
89
+ line-height: 0;
90
+ vertical-align: baseline;
91
+ }
92
+
93
+ sup {
94
+ top: -0.5em;
95
+ }
96
+
97
+ sub {
98
+ bottom: -0.25em;
99
+ }
100
+
101
+ img {
102
+ width: auto\9;
103
+ height: auto;
104
+ max-width: 100%;
105
+ vertical-align: middle;
106
+ border: 0;
107
+ -ms-interpolation-mode: bicubic;
108
+ }
109
+
110
+ #map_canvas img,
111
+ .google-maps img {
112
+ max-width: none;
113
+ }
114
+
115
+ button,
116
+ input,
117
+ select,
118
+ textarea {
119
+ margin: 0;
120
+ font-size: 100%;
121
+ vertical-align: middle;
122
+ }
123
+
124
+ button,
125
+ input {
126
+ *overflow: visible;
127
+ line-height: normal;
128
+ }
129
+
130
+ button::-moz-focus-inner,
131
+ input::-moz-focus-inner {
132
+ padding: 0;
133
+ border: 0;
134
+ }
135
+
136
+ button,
137
+ html input[type="button"],
138
+ input[type="reset"],
139
+ input[type="submit"] {
140
+ cursor: pointer;
141
+ -webkit-appearance: button;
142
+ }
143
+
144
+ label,
145
+ select,
146
+ button,
147
+ input[type="button"],
148
+ input[type="reset"],
149
+ input[type="submit"],
150
+ input[type="radio"],
151
+ input[type="checkbox"] {
152
+ cursor: pointer;
153
+ }
154
+
155
+ input[type="search"] {
156
+ -webkit-box-sizing: content-box;
157
+ -moz-box-sizing: content-box;
158
+ box-sizing: content-box;
159
+ -webkit-appearance: textfield;
160
+ }
161
+
162
+ input[type="search"]::-webkit-search-decoration,
163
+ input[type="search"]::-webkit-search-cancel-button {
164
+ -webkit-appearance: none;
165
+ }
166
+
167
+ textarea {
168
+ overflow: auto;
169
+ vertical-align: top;
170
+ }
171
+
172
+ @media print {
173
+ * {
174
+ color: #000 !important;
175
+ text-shadow: none !important;
176
+ background: transparent !important;
177
+ box-shadow: none !important;
178
+ }
179
+ a,
180
+ a:visited {
181
+ text-decoration: underline;
182
+ }
183
+ a[href]:after {
184
+ content: " (" attr(href) ")";
185
+ }
186
+ abbr[title]:after {
187
+ content: " (" attr(title) ")";
188
+ }
189
+ .ir a:after,
190
+ a[href^="javascript:"]:after,
191
+ a[href^="#"]:after {
192
+ content: "";
193
+ }
194
+ pre,
195
+ blockquote {
196
+ border: 1px solid #999;
197
+ page-break-inside: avoid;
198
+ }
199
+ thead {
200
+ display: table-header-group;
201
+ }
202
+ tr,
203
+ img {
204
+ page-break-inside: avoid;
205
+ }
206
+ img {
207
+ max-width: 100% !important;
208
+ }
209
+ @page {
210
+ margin: 0.5cm;
211
+ }
212
+ p,
213
+ h2,
214
+ h3 {
215
+ orphans: 3;
216
+ widows: 3;
217
+ }
218
+ h2,
219
+ h3 {
220
+ page-break-after: avoid;
221
+ }
222
+ }
223
+
224
+ body {
225
+ margin: 0;
226
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
227
+ font-size: 14px;
228
+ line-height: 20px;
229
+ color: #333333;
230
+ background-color: #ffffff;
231
+ }
232
+
233
+ a {
234
+ color: #0088cc;
235
+ text-decoration: none;
236
+ }
237
+
238
+ a:hover,
239
+ a:focus {
240
+ color: #005580;
241
+ text-decoration: underline;
242
+ }
243
+
244
+ .img-rounded {
245
+ -webkit-border-radius: 6px;
246
+ -moz-border-radius: 6px;
247
+ border-radius: 6px;
248
+ }
249
+
250
+ .img-polaroid {
251
+ padding: 4px;
252
+ background-color: #fff;
253
+ border: 1px solid #ccc;
254
+ border: 1px solid rgba(0, 0, 0, 0.2);
255
+ -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
256
+ -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
257
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
258
+ }
259
+
260
+ .img-circle {
261
+ -webkit-border-radius: 500px;
262
+ -moz-border-radius: 500px;
263
+ border-radius: 500px;
264
+ }
265
+
266
+ .row {
267
+ margin-left: -20px;
268
+ *zoom: 1;
269
+ }
270
+
271
+ .row:before,
272
+ .row:after {
273
+ display: table;
274
+ line-height: 0;
275
+ content: "";
276
+ }
277
+
278
+ .row:after {
279
+ clear: both;
280
+ }
281
+
282
+ [class*="span"] {
283
+ float: left;
284
+ min-height: 1px;
285
+ margin-left: 20px;
286
+ }
287
+
288
+ .container,
289
+ .navbar-static-top .container,
290
+ .navbar-fixed-top .container,
291
+ .navbar-fixed-bottom .container {
292
+ width: 940px;
293
+ }
294
+
295
+ .span12 {
296
+ width: 940px;
297
+ }
298
+
299
+ .span11 {
300
+ width: 860px;
301
+ }
302
+
303
+ .span10 {
304
+ width: 780px;
305
+ }
306
+
307
+ .span9 {
308
+ width: 700px;
309
+ }
310
+
311
+ .span8 {
312
+ width: 620px;
313
+ }
314
+
315
+ .span7 {
316
+ width: 540px;
317
+ }
318
+
319
+ .span6 {
320
+ width: 460px;
321
+ }
322
+
323
+ .span5 {
324
+ width: 380px;
325
+ }
326
+
327
+ .span4 {
328
+ width: 300px;
329
+ }
330
+
331
+ .span3 {
332
+ width: 220px;
333
+ }
334
+
335
+ .span2 {
336
+ width: 140px;
337
+ }
338
+
339
+ .span1 {
340
+ width: 60px;
341
+ }
342
+
343
+ .offset12 {
344
+ margin-left: 980px;
345
+ }
346
+
347
+ .offset11 {
348
+ margin-left: 900px;
349
+ }
350
+
351
+ .offset10 {
352
+ margin-left: 820px;
353
+ }
354
+
355
+ .offset9 {
356
+ margin-left: 740px;
357
+ }
358
+
359
+ .offset8 {
360
+ margin-left: 660px;
361
+ }
362
+
363
+ .offset7 {
364
+ margin-left: 580px;
365
+ }
366
+
367
+ .offset6 {
368
+ margin-left: 500px;
369
+ }
370
+
371
+ .offset5 {
372
+ margin-left: 420px;
373
+ }
374
+
375
+ .offset4 {
376
+ margin-left: 340px;
377
+ }
378
+
379
+ .offset3 {
380
+ margin-left: 260px;
381
+ }
382
+
383
+ .offset2 {
384
+ margin-left: 180px;
385
+ }
386
+
387
+ .offset1 {
388
+ margin-left: 100px;
389
+ }
390
+
391
+ .row-fluid {
392
+ width: 100%;
393
+ *zoom: 1;
394
+ }
395
+
396
+ .row-fluid:before,
397
+ .row-fluid:after {
398
+ display: table;
399
+ line-height: 0;
400
+ content: "";
401
+ }
402
+
403
+ .row-fluid:after {
404
+ clear: both;
405
+ }
406
+
407
+ .row-fluid [class*="span"] {
408
+ display: block;
409
+ float: left;
410
+ width: 100%;
411
+ min-height: 30px;
412
+ margin-left: 2.127659574468085%;
413
+ *margin-left: 2.074468085106383%;
414
+ -webkit-box-sizing: border-box;
415
+ -moz-box-sizing: border-box;
416
+ box-sizing: border-box;
417
+ }
418
+
419
+ .row-fluid [class*="span"]:first-child {
420
+ margin-left: 0;
421
+ }
422
+
423
+ .row-fluid .controls-row [class*="span"] + [class*="span"] {
424
+ margin-left: 2.127659574468085%;
425
+ }
426
+
427
+ .row-fluid .span12 {
428
+ width: 100%;
429
+ *width: 99.94680851063829%;
430
+ }
431
+
432
+ .row-fluid .span11 {
433
+ width: 91.48936170212765%;
434
+ *width: 91.43617021276594%;
435
+ }
436
+
437
+ .row-fluid .span10 {
438
+ width: 82.97872340425532%;
439
+ *width: 82.92553191489361%;
440
+ }
441
+
442
+ .row-fluid .span9 {
443
+ width: 74.46808510638297%;
444
+ *width: 74.41489361702126%;
445
+ }
446
+
447
+ .row-fluid .span8 {
448
+ width: 65.95744680851064%;
449
+ *width: 65.90425531914893%;
450
+ }
451
+
452
+ .row-fluid .span7 {
453
+ width: 57.44680851063829%;
454
+ *width: 57.39361702127659%;
455
+ }
456
+
457
+ .row-fluid .span6 {
458
+ width: 48.93617021276595%;
459
+ *width: 48.88297872340425%;
460
+ }
461
+
462
+ .row-fluid .span5 {
463
+ width: 40.42553191489362%;
464
+ *width: 40.37234042553192%;
465
+ }
466
+
467
+ .row-fluid .span4 {
468
+ width: 31.914893617021278%;
469
+ *width: 31.861702127659576%;
470
+ }
471
+
472
+ .row-fluid .span3 {
473
+ width: 23.404255319148934%;
474
+ *width: 23.351063829787233%;
475
+ }
476
+
477
+ .row-fluid .span2 {
478
+ width: 14.893617021276595%;
479
+ *width: 14.840425531914894%;
480
+ }
481
+
482
+ .row-fluid .span1 {
483
+ width: 6.382978723404255%;
484
+ *width: 6.329787234042553%;
485
+ }
486
+
487
+ .row-fluid .offset12 {
488
+ margin-left: 104.25531914893617%;
489
+ *margin-left: 104.14893617021275%;
490
+ }
491
+
492
+ .row-fluid .offset12:first-child {
493
+ margin-left: 102.12765957446808%;
494
+ *margin-left: 102.02127659574467%;
495
+ }
496
+
497
+ .row-fluid .offset11 {
498
+ margin-left: 95.74468085106382%;
499
+ *margin-left: 95.6382978723404%;
500
+ }
501
+
502
+ .row-fluid .offset11:first-child {
503
+ margin-left: 93.61702127659574%;
504
+ *margin-left: 93.51063829787232%;
505
+ }
506
+
507
+ .row-fluid .offset10 {
508
+ margin-left: 87.23404255319149%;
509
+ *margin-left: 87.12765957446807%;
510
+ }
511
+
512
+ .row-fluid .offset10:first-child {
513
+ margin-left: 85.1063829787234%;
514
+ *margin-left: 84.99999999999999%;
515
+ }
516
+
517
+ .row-fluid .offset9 {
518
+ margin-left: 78.72340425531914%;
519
+ *margin-left: 78.61702127659572%;
520
+ }
521
+
522
+ .row-fluid .offset9:first-child {
523
+ margin-left: 76.59574468085106%;
524
+ *margin-left: 76.48936170212764%;
525
+ }
526
+
527
+ .row-fluid .offset8 {
528
+ margin-left: 70.2127659574468%;
529
+ *margin-left: 70.10638297872339%;
530
+ }
531
+
532
+ .row-fluid .offset8:first-child {
533
+ margin-left: 68.08510638297872%;
534
+ *margin-left: 67.9787234042553%;
535
+ }
536
+
537
+ .row-fluid .offset7 {
538
+ margin-left: 61.70212765957446%;
539
+ *margin-left: 61.59574468085106%;
540
+ }
541
+
542
+ .row-fluid .offset7:first-child {
543
+ margin-left: 59.574468085106375%;
544
+ *margin-left: 59.46808510638297%;
545
+ }
546
+
547
+ .row-fluid .offset6 {
548
+ margin-left: 53.191489361702125%;
549
+ *margin-left: 53.085106382978715%;
550
+ }
551
+
552
+ .row-fluid .offset6:first-child {
553
+ margin-left: 51.063829787234035%;
554
+ *margin-left: 50.95744680851063%;
555
+ }
556
+
557
+ .row-fluid .offset5 {
558
+ margin-left: 44.68085106382979%;
559
+ *margin-left: 44.57446808510638%;
560
+ }
561
+
562
+ .row-fluid .offset5:first-child {
563
+ margin-left: 42.5531914893617%;
564
+ *margin-left: 42.4468085106383%;
565
+ }
566
+
567
+ .row-fluid .offset4 {
568
+ margin-left: 36.170212765957444%;
569
+ *margin-left: 36.06382978723405%;
570
+ }
571
+
572
+ .row-fluid .offset4:first-child {
573
+ margin-left: 34.04255319148936%;
574
+ *margin-left: 33.93617021276596%;
575
+ }
576
+
577
+ .row-fluid .offset3 {
578
+ margin-left: 27.659574468085104%;
579
+ *margin-left: 27.5531914893617%;
580
+ }
581
+
582
+ .row-fluid .offset3:first-child {
583
+ margin-left: 25.53191489361702%;
584
+ *margin-left: 25.425531914893618%;
585
+ }
586
+
587
+ .row-fluid .offset2 {
588
+ margin-left: 19.148936170212764%;
589
+ *margin-left: 19.04255319148936%;
590
+ }
591
+
592
+ .row-fluid .offset2:first-child {
593
+ margin-left: 17.02127659574468%;
594
+ *margin-left: 16.914893617021278%;
595
+ }
596
+
597
+ .row-fluid .offset1 {
598
+ margin-left: 10.638297872340425%;
599
+ *margin-left: 10.53191489361702%;
600
+ }
601
+
602
+ .row-fluid .offset1:first-child {
603
+ margin-left: 8.51063829787234%;
604
+ *margin-left: 8.404255319148938%;
605
+ }
606
+
607
+ [class*="span"].hide,
608
+ .row-fluid [class*="span"].hide {
609
+ display: none;
610
+ }
611
+
612
+ [class*="span"].pull-right,
613
+ .row-fluid [class*="span"].pull-right {
614
+ float: right;
615
+ }
616
+
617
+ .container {
618
+ margin-right: auto;
619
+ margin-left: auto;
620
+ *zoom: 1;
621
+ }
622
+
623
+ .container:before,
624
+ .container:after {
625
+ display: table;
626
+ line-height: 0;
627
+ content: "";
628
+ }
629
+
630
+ .container:after {
631
+ clear: both;
632
+ }
633
+
634
+ .container-fluid {
635
+ padding-right: 20px;
636
+ padding-left: 20px;
637
+ *zoom: 1;
638
+ }
639
+
640
+ .container-fluid:before,
641
+ .container-fluid:after {
642
+ display: table;
643
+ line-height: 0;
644
+ content: "";
645
+ }
646
+
647
+ .container-fluid:after {
648
+ clear: both;
649
+ }
650
+
651
+ p {
652
+ margin: 0 0 10px;
653
+ }
654
+
655
+ .lead {
656
+ margin-bottom: 20px;
657
+ font-size: 21px;
658
+ font-weight: 200;
659
+ line-height: 30px;
660
+ }
661
+
662
+ small {
663
+ font-size: 85%;
664
+ }
665
+
666
+ strong {
667
+ font-weight: bold;
668
+ }
669
+
670
+ em {
671
+ font-style: italic;
672
+ }
673
+
674
+ cite {
675
+ font-style: normal;
676
+ }
677
+
678
+ .muted {
679
+ color: #999999;
680
+ }
681
+
682
+ a.muted:hover,
683
+ a.muted:focus {
684
+ color: #808080;
685
+ }
686
+
687
+ .text-warning {
688
+ color: #c09853;
689
+ }
690
+
691
+ a.text-warning:hover,
692
+ a.text-warning:focus {
693
+ color: #a47e3c;
694
+ }
695
+
696
+ .text-error {
697
+ color: #b94a48;
698
+ }
699
+
700
+ a.text-error:hover,
701
+ a.text-error:focus {
702
+ color: #953b39;
703
+ }
704
+
705
+ .text-info {
706
+ color: #3a87ad;
707
+ }
708
+
709
+ a.text-info:hover,
710
+ a.text-info:focus {
711
+ color: #2d6987;
712
+ }
713
+
714
+ .text-success {
715
+ color: #468847;
716
+ }
717
+
718
+ a.text-success:hover,
719
+ a.text-success:focus {
720
+ color: #356635;
721
+ }
722
+
723
+ .text-left {
724
+ text-align: left;
725
+ }
726
+
727
+ .text-right {
728
+ text-align: right;
729
+ }
730
+
731
+ .text-center {
732
+ text-align: center;
733
+ }
734
+
735
+ h1,
736
+ h2,
737
+ h3,
738
+ h4,
739
+ h5,
740
+ h6 {
741
+ margin: 10px 0;
742
+ font-family: inherit;
743
+ font-weight: bold;
744
+ line-height: 20px;
745
+ color: inherit;
746
+ text-rendering: optimizelegibility;
747
+ }
748
+
749
+ h1 small,
750
+ h2 small,
751
+ h3 small,
752
+ h4 small,
753
+ h5 small,
754
+ h6 small {
755
+ font-weight: normal;
756
+ line-height: 1;
757
+ color: #999999;
758
+ }
759
+
760
+ h1,
761
+ h2,
762
+ h3 {
763
+ line-height: 40px;
764
+ }
765
+
766
+ h1 {
767
+ font-size: 38.5px;
768
+ }
769
+
770
+ h2 {
771
+ font-size: 31.5px;
772
+ }
773
+
774
+ h3 {
775
+ font-size: 24.5px;
776
+ }
777
+
778
+ h4 {
779
+ font-size: 17.5px;
780
+ }
781
+
782
+ h5 {
783
+ font-size: 14px;
784
+ }
785
+
786
+ h6 {
787
+ font-size: 11.9px;
788
+ }
789
+
790
+ h1 small {
791
+ font-size: 24.5px;
792
+ }
793
+
794
+ h2 small {
795
+ font-size: 17.5px;
796
+ }
797
+
798
+ h3 small {
799
+ font-size: 14px;
800
+ }
801
+
802
+ h4 small {
803
+ font-size: 14px;
804
+ }
805
+
806
+ .page-header {
807
+ padding-bottom: 9px;
808
+ margin: 20px 0 30px;
809
+ border-bottom: 1px solid #eeeeee;
810
+ }
811
+
812
+ ul,
813
+ ol {
814
+ padding: 0;
815
+ margin: 0 0 10px 25px;
816
+ }
817
+
818
+ ul ul,
819
+ ul ol,
820
+ ol ol,
821
+ ol ul {
822
+ margin-bottom: 0;
823
+ }
824
+
825
+ li {
826
+ line-height: 20px;
827
+ }
828
+
829
+ ul.unstyled,
830
+ ol.unstyled {
831
+ margin-left: 0;
832
+ list-style: none;
833
+ }
834
+
835
+ ul.inline,
836
+ ol.inline {
837
+ margin-left: 0;
838
+ list-style: none;
839
+ }
840
+
841
+ ul.inline > li,
842
+ ol.inline > li {
843
+ display: inline-block;
844
+ *display: inline;
845
+ padding-right: 5px;
846
+ padding-left: 5px;
847
+ *zoom: 1;
848
+ }
849
+
850
+ dl {
851
+ margin-bottom: 20px;
852
+ }
853
+
854
+ dt,
855
+ dd {
856
+ line-height: 20px;
857
+ }
858
+
859
+ dt {
860
+ font-weight: bold;
861
+ }
862
+
863
+ dd {
864
+ margin-left: 10px;
865
+ }
866
+
867
+ .dl-horizontal {
868
+ *zoom: 1;
869
+ }
870
+
871
+ .dl-horizontal:before,
872
+ .dl-horizontal:after {
873
+ display: table;
874
+ line-height: 0;
875
+ content: "";
876
+ }
877
+
878
+ .dl-horizontal:after {
879
+ clear: both;
880
+ }
881
+
882
+ .dl-horizontal dt {
883
+ float: left;
884
+ width: 160px;
885
+ overflow: hidden;
886
+ clear: left;
887
+ text-align: right;
888
+ text-overflow: ellipsis;
889
+ white-space: nowrap;
890
+ }
891
+
892
+ .dl-horizontal dd {
893
+ margin-left: 180px;
894
+ }
895
+
896
+ hr {
897
+ margin: 20px 0;
898
+ border: 0;
899
+ border-top: 1px solid #eeeeee;
900
+ border-bottom: 1px solid #ffffff;
901
+ }
902
+
903
+ abbr[title],
904
+ abbr[data-original-title] {
905
+ cursor: help;
906
+ border-bottom: 1px dotted #999999;
907
+ }
908
+
909
+ abbr.initialism {
910
+ font-size: 90%;
911
+ text-transform: uppercase;
912
+ }
913
+
914
+ blockquote {
915
+ padding: 0 0 0 15px;
916
+ margin: 0 0 20px;
917
+ border-left: 5px solid #eeeeee;
918
+ }
919
+
920
+ blockquote p {
921
+ margin-bottom: 0;
922
+ font-size: 17.5px;
923
+ font-weight: 300;
924
+ line-height: 1.25;
925
+ }
926
+
927
+ blockquote small {
928
+ display: block;
929
+ line-height: 20px;
930
+ color: #999999;
931
+ }
932
+
933
+ blockquote small:before {
934
+ content: '\2014 \00A0';
935
+ }
936
+
937
+ blockquote.pull-right {
938
+ float: right;
939
+ padding-right: 15px;
940
+ padding-left: 0;
941
+ border-right: 5px solid #eeeeee;
942
+ border-left: 0;
943
+ }
944
+
945
+ blockquote.pull-right p,
946
+ blockquote.pull-right small {
947
+ text-align: right;
948
+ }
949
+
950
+ blockquote.pull-right small:before {
951
+ content: '';
952
+ }
953
+
954
+ blockquote.pull-right small:after {
955
+ content: '\00A0 \2014';
956
+ }
957
+
958
+ q:before,
959
+ q:after,
960
+ blockquote:before,
961
+ blockquote:after {
962
+ content: "";
963
+ }
964
+
965
+ address {
966
+ display: block;
967
+ margin-bottom: 20px;
968
+ font-style: normal;
969
+ line-height: 20px;
970
+ }
971
+
972
+ code,
973
+ pre {
974
+ padding: 0 3px 2px;
975
+ font-family: Monaco, Menlo, Consolas, "Courier New", monospace;
976
+ font-size: 12px;
977
+ color: #333333;
978
+ -webkit-border-radius: 3px;
979
+ -moz-border-radius: 3px;
980
+ border-radius: 3px;
981
+ }
982
+
983
+ code {
984
+ padding: 2px 4px;
985
+ color: #d14;
986
+ white-space: nowrap;
987
+ background-color: #f7f7f9;
988
+ border: 1px solid #e1e1e8;
989
+ }
990
+
991
+ pre {
992
+ display: block;
993
+ padding: 9.5px;
994
+ margin: 0 0 10px;
995
+ font-size: 13px;
996
+ line-height: 20px;
997
+ word-break: break-all;
998
+ word-wrap: break-word;
999
+ white-space: pre;
1000
+ white-space: pre-wrap;
1001
+ background-color: #f5f5f5;
1002
+ border: 1px solid #ccc;
1003
+ border: 1px solid rgba(0, 0, 0, 0.15);
1004
+ -webkit-border-radius: 4px;
1005
+ -moz-border-radius: 4px;
1006
+ border-radius: 4px;
1007
+ }
1008
+
1009
+ pre.prettyprint {
1010
+ margin-bottom: 20px;
1011
+ }
1012
+
1013
+ pre code {
1014
+ padding: 0;
1015
+ color: inherit;
1016
+ white-space: pre;
1017
+ white-space: pre-wrap;
1018
+ background-color: transparent;
1019
+ border: 0;
1020
+ }
1021
+
1022
+ .pre-scrollable {
1023
+ max-height: 340px;
1024
+ overflow-y: scroll;
1025
+ }
1026
+
1027
+ form {
1028
+ margin: 0 0 20px;
1029
+ }
1030
+
1031
+ fieldset {
1032
+ padding: 0;
1033
+ margin: 0;
1034
+ border: 0;
1035
+ }
1036
+
1037
+ legend {
1038
+ display: block;
1039
+ width: 100%;
1040
+ padding: 0;
1041
+ margin-bottom: 20px;
1042
+ font-size: 21px;
1043
+ line-height: 40px;
1044
+ color: #333333;
1045
+ border: 0;
1046
+ border-bottom: 1px solid #e5e5e5;
1047
+ }
1048
+
1049
+ legend small {
1050
+ font-size: 15px;
1051
+ color: #999999;
1052
+ }
1053
+
1054
+ label,
1055
+ input,
1056
+ button,
1057
+ select,
1058
+ textarea {
1059
+ font-size: 14px;
1060
+ font-weight: normal;
1061
+ line-height: 20px;
1062
+ }
1063
+
1064
+ input,
1065
+ button,
1066
+ select,
1067
+ textarea {
1068
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
1069
+ }
1070
+
1071
+ label {
1072
+ display: block;
1073
+ margin-bottom: 5px;
1074
+ }
1075
+
1076
+ select,
1077
+ textarea,
1078
+ input[type="text"],
1079
+ input[type="password"],
1080
+ input[type="datetime"],
1081
+ input[type="datetime-local"],
1082
+ input[type="date"],
1083
+ input[type="month"],
1084
+ input[type="time"],
1085
+ input[type="week"],
1086
+ input[type="number"],
1087
+ input[type="email"],
1088
+ input[type="url"],
1089
+ input[type="search"],
1090
+ input[type="tel"],
1091
+ input[type="color"],
1092
+ .uneditable-input {
1093
+ display: inline-block;
1094
+ height: 20px;
1095
+ padding: 4px 6px;
1096
+ margin-bottom: 10px;
1097
+ font-size: 14px;
1098
+ line-height: 20px;
1099
+ color: #555555;
1100
+ vertical-align: middle;
1101
+ -webkit-border-radius: 4px;
1102
+ -moz-border-radius: 4px;
1103
+ border-radius: 4px;
1104
+ }
1105
+
1106
+ input,
1107
+ textarea,
1108
+ .uneditable-input {
1109
+ width: 206px;
1110
+ }
1111
+
1112
+ textarea {
1113
+ height: auto;
1114
+ }
1115
+
1116
+ textarea,
1117
+ input[type="text"],
1118
+ input[type="password"],
1119
+ input[type="datetime"],
1120
+ input[type="datetime-local"],
1121
+ input[type="date"],
1122
+ input[type="month"],
1123
+ input[type="time"],
1124
+ input[type="week"],
1125
+ input[type="number"],
1126
+ input[type="email"],
1127
+ input[type="url"],
1128
+ input[type="search"],
1129
+ input[type="tel"],
1130
+ input[type="color"],
1131
+ .uneditable-input {
1132
+ background-color: #ffffff;
1133
+ border: 1px solid #cccccc;
1134
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1135
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1136
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1137
+ -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;
1138
+ -moz-transition: border linear 0.2s, box-shadow linear 0.2s;
1139
+ -o-transition: border linear 0.2s, box-shadow linear 0.2s;
1140
+ transition: border linear 0.2s, box-shadow linear 0.2s;
1141
+ }
1142
+
1143
+ textarea:focus,
1144
+ input[type="text"]:focus,
1145
+ input[type="password"]:focus,
1146
+ input[type="datetime"]:focus,
1147
+ input[type="datetime-local"]:focus,
1148
+ input[type="date"]:focus,
1149
+ input[type="month"]:focus,
1150
+ input[type="time"]:focus,
1151
+ input[type="week"]:focus,
1152
+ input[type="number"]:focus,
1153
+ input[type="email"]:focus,
1154
+ input[type="url"]:focus,
1155
+ input[type="search"]:focus,
1156
+ input[type="tel"]:focus,
1157
+ input[type="color"]:focus,
1158
+ .uneditable-input:focus {
1159
+ border-color: rgba(82, 168, 236, 0.8);
1160
+ outline: 0;
1161
+ outline: thin dotted \9;
1162
+ /* IE6-9 */
1163
+
1164
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
1165
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
1166
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(82, 168, 236, 0.6);
1167
+ }
1168
+
1169
+ input[type="radio"],
1170
+ input[type="checkbox"] {
1171
+ margin: 4px 0 0;
1172
+ margin-top: 1px \9;
1173
+ *margin-top: 0;
1174
+ line-height: normal;
1175
+ }
1176
+
1177
+ input[type="file"],
1178
+ input[type="image"],
1179
+ input[type="submit"],
1180
+ input[type="reset"],
1181
+ input[type="button"],
1182
+ input[type="radio"],
1183
+ input[type="checkbox"] {
1184
+ width: auto;
1185
+ }
1186
+
1187
+ select,
1188
+ input[type="file"] {
1189
+ height: 30px;
1190
+ /* In IE7, the height of the select element cannot be changed by height, only font-size */
1191
+
1192
+ *margin-top: 4px;
1193
+ /* For IE7, add top margin to align select with labels */
1194
+
1195
+ line-height: 30px;
1196
+ }
1197
+
1198
+ select {
1199
+ width: 220px;
1200
+ background-color: #ffffff;
1201
+ border: 1px solid #cccccc;
1202
+ }
1203
+
1204
+ select[multiple],
1205
+ select[size] {
1206
+ height: auto;
1207
+ }
1208
+
1209
+ select:focus,
1210
+ input[type="file"]:focus,
1211
+ input[type="radio"]:focus,
1212
+ input[type="checkbox"]:focus {
1213
+ outline: thin dotted #333;
1214
+ outline: 5px auto -webkit-focus-ring-color;
1215
+ outline-offset: -2px;
1216
+ }
1217
+
1218
+ .uneditable-input,
1219
+ .uneditable-textarea {
1220
+ color: #999999;
1221
+ cursor: not-allowed;
1222
+ background-color: #fcfcfc;
1223
+ border-color: #cccccc;
1224
+ -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
1225
+ -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
1226
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
1227
+ }
1228
+
1229
+ .uneditable-input {
1230
+ overflow: hidden;
1231
+ white-space: nowrap;
1232
+ }
1233
+
1234
+ .uneditable-textarea {
1235
+ width: auto;
1236
+ height: auto;
1237
+ }
1238
+
1239
+ input:-moz-placeholder,
1240
+ textarea:-moz-placeholder {
1241
+ color: #999999;
1242
+ }
1243
+
1244
+ input:-ms-input-placeholder,
1245
+ textarea:-ms-input-placeholder {
1246
+ color: #999999;
1247
+ }
1248
+
1249
+ input::-webkit-input-placeholder,
1250
+ textarea::-webkit-input-placeholder {
1251
+ color: #999999;
1252
+ }
1253
+
1254
+ .radio,
1255
+ .checkbox {
1256
+ min-height: 20px;
1257
+ padding-left: 20px;
1258
+ }
1259
+
1260
+ .radio input[type="radio"],
1261
+ .checkbox input[type="checkbox"] {
1262
+ float: left;
1263
+ margin-left: -20px;
1264
+ }
1265
+
1266
+ .controls > .radio:first-child,
1267
+ .controls > .checkbox:first-child {
1268
+ padding-top: 5px;
1269
+ }
1270
+
1271
+ .radio.inline,
1272
+ .checkbox.inline {
1273
+ display: inline-block;
1274
+ padding-top: 5px;
1275
+ margin-bottom: 0;
1276
+ vertical-align: middle;
1277
+ }
1278
+
1279
+ .radio.inline + .radio.inline,
1280
+ .checkbox.inline + .checkbox.inline {
1281
+ margin-left: 10px;
1282
+ }
1283
+
1284
+ .input-mini {
1285
+ width: 60px;
1286
+ }
1287
+
1288
+ .input-small {
1289
+ width: 90px;
1290
+ }
1291
+
1292
+ .input-medium {
1293
+ width: 150px;
1294
+ }
1295
+
1296
+ .input-large {
1297
+ width: 210px;
1298
+ }
1299
+
1300
+ .input-xlarge {
1301
+ width: 270px;
1302
+ }
1303
+
1304
+ .input-xxlarge {
1305
+ width: 530px;
1306
+ }
1307
+
1308
+ input[class*="span"],
1309
+ select[class*="span"],
1310
+ textarea[class*="span"],
1311
+ .uneditable-input[class*="span"],
1312
+ .row-fluid input[class*="span"],
1313
+ .row-fluid select[class*="span"],
1314
+ .row-fluid textarea[class*="span"],
1315
+ .row-fluid .uneditable-input[class*="span"] {
1316
+ float: none;
1317
+ margin-left: 0;
1318
+ }
1319
+
1320
+ .input-append input[class*="span"],
1321
+ .input-append .uneditable-input[class*="span"],
1322
+ .input-prepend input[class*="span"],
1323
+ .input-prepend .uneditable-input[class*="span"],
1324
+ .row-fluid input[class*="span"],
1325
+ .row-fluid select[class*="span"],
1326
+ .row-fluid textarea[class*="span"],
1327
+ .row-fluid .uneditable-input[class*="span"],
1328
+ .row-fluid .input-prepend [class*="span"],
1329
+ .row-fluid .input-append [class*="span"] {
1330
+ display: inline-block;
1331
+ }
1332
+
1333
+ input,
1334
+ textarea,
1335
+ .uneditable-input {
1336
+ margin-left: 0;
1337
+ }
1338
+
1339
+ .controls-row [class*="span"] + [class*="span"] {
1340
+ margin-left: 20px;
1341
+ }
1342
+
1343
+ input.span12,
1344
+ textarea.span12,
1345
+ .uneditable-input.span12 {
1346
+ width: 926px;
1347
+ }
1348
+
1349
+ input.span11,
1350
+ textarea.span11,
1351
+ .uneditable-input.span11 {
1352
+ width: 846px;
1353
+ }
1354
+
1355
+ input.span10,
1356
+ textarea.span10,
1357
+ .uneditable-input.span10 {
1358
+ width: 766px;
1359
+ }
1360
+
1361
+ input.span9,
1362
+ textarea.span9,
1363
+ .uneditable-input.span9 {
1364
+ width: 686px;
1365
+ }
1366
+
1367
+ input.span8,
1368
+ textarea.span8,
1369
+ .uneditable-input.span8 {
1370
+ width: 606px;
1371
+ }
1372
+
1373
+ input.span7,
1374
+ textarea.span7,
1375
+ .uneditable-input.span7 {
1376
+ width: 526px;
1377
+ }
1378
+
1379
+ input.span6,
1380
+ textarea.span6,
1381
+ .uneditable-input.span6 {
1382
+ width: 446px;
1383
+ }
1384
+
1385
+ input.span5,
1386
+ textarea.span5,
1387
+ .uneditable-input.span5 {
1388
+ width: 366px;
1389
+ }
1390
+
1391
+ input.span4,
1392
+ textarea.span4,
1393
+ .uneditable-input.span4 {
1394
+ width: 286px;
1395
+ }
1396
+
1397
+ input.span3,
1398
+ textarea.span3,
1399
+ .uneditable-input.span3 {
1400
+ width: 206px;
1401
+ }
1402
+
1403
+ input.span2,
1404
+ textarea.span2,
1405
+ .uneditable-input.span2 {
1406
+ width: 126px;
1407
+ }
1408
+
1409
+ input.span1,
1410
+ textarea.span1,
1411
+ .uneditable-input.span1 {
1412
+ width: 46px;
1413
+ }
1414
+
1415
+ .controls-row {
1416
+ *zoom: 1;
1417
+ }
1418
+
1419
+ .controls-row:before,
1420
+ .controls-row:after {
1421
+ display: table;
1422
+ line-height: 0;
1423
+ content: "";
1424
+ }
1425
+
1426
+ .controls-row:after {
1427
+ clear: both;
1428
+ }
1429
+
1430
+ .controls-row [class*="span"],
1431
+ .row-fluid .controls-row [class*="span"] {
1432
+ float: left;
1433
+ }
1434
+
1435
+ .controls-row .checkbox[class*="span"],
1436
+ .controls-row .radio[class*="span"] {
1437
+ padding-top: 5px;
1438
+ }
1439
+
1440
+ input[disabled],
1441
+ select[disabled],
1442
+ textarea[disabled],
1443
+ input[readonly],
1444
+ select[readonly],
1445
+ textarea[readonly] {
1446
+ cursor: not-allowed;
1447
+ background-color: #eeeeee;
1448
+ }
1449
+
1450
+ input[type="radio"][disabled],
1451
+ input[type="checkbox"][disabled],
1452
+ input[type="radio"][readonly],
1453
+ input[type="checkbox"][readonly] {
1454
+ background-color: transparent;
1455
+ }
1456
+
1457
+ .control-group.warning .control-label,
1458
+ .control-group.warning .help-block,
1459
+ .control-group.warning .help-inline {
1460
+ color: #c09853;
1461
+ }
1462
+
1463
+ .control-group.warning .checkbox,
1464
+ .control-group.warning .radio,
1465
+ .control-group.warning input,
1466
+ .control-group.warning select,
1467
+ .control-group.warning textarea {
1468
+ color: #c09853;
1469
+ }
1470
+
1471
+ .control-group.warning input,
1472
+ .control-group.warning select,
1473
+ .control-group.warning textarea {
1474
+ border-color: #c09853;
1475
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1476
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1477
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1478
+ }
1479
+
1480
+ .control-group.warning input:focus,
1481
+ .control-group.warning select:focus,
1482
+ .control-group.warning textarea:focus {
1483
+ border-color: #a47e3c;
1484
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
1485
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
1486
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
1487
+ }
1488
+
1489
+ .control-group.warning .input-prepend .add-on,
1490
+ .control-group.warning .input-append .add-on {
1491
+ color: #c09853;
1492
+ background-color: #fcf8e3;
1493
+ border-color: #c09853;
1494
+ }
1495
+
1496
+ .control-group.error .control-label,
1497
+ .control-group.error .help-block,
1498
+ .control-group.error .help-inline {
1499
+ color: #b94a48;
1500
+ }
1501
+
1502
+ .control-group.error .checkbox,
1503
+ .control-group.error .radio,
1504
+ .control-group.error input,
1505
+ .control-group.error select,
1506
+ .control-group.error textarea {
1507
+ color: #b94a48;
1508
+ }
1509
+
1510
+ .control-group.error input,
1511
+ .control-group.error select,
1512
+ .control-group.error textarea {
1513
+ border-color: #b94a48;
1514
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1515
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1516
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1517
+ }
1518
+
1519
+ .control-group.error input:focus,
1520
+ .control-group.error select:focus,
1521
+ .control-group.error textarea:focus {
1522
+ border-color: #953b39;
1523
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
1524
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
1525
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
1526
+ }
1527
+
1528
+ .control-group.error .input-prepend .add-on,
1529
+ .control-group.error .input-append .add-on {
1530
+ color: #b94a48;
1531
+ background-color: #f2dede;
1532
+ border-color: #b94a48;
1533
+ }
1534
+
1535
+ .control-group.success .control-label,
1536
+ .control-group.success .help-block,
1537
+ .control-group.success .help-inline {
1538
+ color: #468847;
1539
+ }
1540
+
1541
+ .control-group.success .checkbox,
1542
+ .control-group.success .radio,
1543
+ .control-group.success input,
1544
+ .control-group.success select,
1545
+ .control-group.success textarea {
1546
+ color: #468847;
1547
+ }
1548
+
1549
+ .control-group.success input,
1550
+ .control-group.success select,
1551
+ .control-group.success textarea {
1552
+ border-color: #468847;
1553
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1554
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1555
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1556
+ }
1557
+
1558
+ .control-group.success input:focus,
1559
+ .control-group.success select:focus,
1560
+ .control-group.success textarea:focus {
1561
+ border-color: #356635;
1562
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
1563
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
1564
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
1565
+ }
1566
+
1567
+ .control-group.success .input-prepend .add-on,
1568
+ .control-group.success .input-append .add-on {
1569
+ color: #468847;
1570
+ background-color: #dff0d8;
1571
+ border-color: #468847;
1572
+ }
1573
+
1574
+ .control-group.info .control-label,
1575
+ .control-group.info .help-block,
1576
+ .control-group.info .help-inline {
1577
+ color: #3a87ad;
1578
+ }
1579
+
1580
+ .control-group.info .checkbox,
1581
+ .control-group.info .radio,
1582
+ .control-group.info input,
1583
+ .control-group.info select,
1584
+ .control-group.info textarea {
1585
+ color: #3a87ad;
1586
+ }
1587
+
1588
+ .control-group.info input,
1589
+ .control-group.info select,
1590
+ .control-group.info textarea {
1591
+ border-color: #3a87ad;
1592
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1593
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1594
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
1595
+ }
1596
+
1597
+ .control-group.info input:focus,
1598
+ .control-group.info select:focus,
1599
+ .control-group.info textarea:focus {
1600
+ border-color: #2d6987;
1601
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
1602
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
1603
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
1604
+ }
1605
+
1606
+ .control-group.info .input-prepend .add-on,
1607
+ .control-group.info .input-append .add-on {
1608
+ color: #3a87ad;
1609
+ background-color: #d9edf7;
1610
+ border-color: #3a87ad;
1611
+ }
1612
+
1613
+ input:focus:invalid,
1614
+ textarea:focus:invalid,
1615
+ select:focus:invalid {
1616
+ color: #b94a48;
1617
+ border-color: #ee5f5b;
1618
+ }
1619
+
1620
+ input:focus:invalid:focus,
1621
+ textarea:focus:invalid:focus,
1622
+ select:focus:invalid:focus {
1623
+ border-color: #e9322d;
1624
+ -webkit-box-shadow: 0 0 6px #f8b9b7;
1625
+ -moz-box-shadow: 0 0 6px #f8b9b7;
1626
+ box-shadow: 0 0 6px #f8b9b7;
1627
+ }
1628
+
1629
+ .form-actions {
1630
+ padding: 19px 20px 20px;
1631
+ margin-top: 20px;
1632
+ margin-bottom: 20px;
1633
+ background-color: #f5f5f5;
1634
+ border-top: 1px solid #e5e5e5;
1635
+ *zoom: 1;
1636
+ }
1637
+
1638
+ .form-actions:before,
1639
+ .form-actions:after {
1640
+ display: table;
1641
+ line-height: 0;
1642
+ content: "";
1643
+ }
1644
+
1645
+ .form-actions:after {
1646
+ clear: both;
1647
+ }
1648
+
1649
+ .help-block,
1650
+ .help-inline {
1651
+ color: #595959;
1652
+ }
1653
+
1654
+ .help-block {
1655
+ display: block;
1656
+ margin-bottom: 10px;
1657
+ }
1658
+
1659
+ .help-inline {
1660
+ display: inline-block;
1661
+ *display: inline;
1662
+ padding-left: 5px;
1663
+ vertical-align: middle;
1664
+ *zoom: 1;
1665
+ }
1666
+
1667
+ .input-append,
1668
+ .input-prepend {
1669
+ display: inline-block;
1670
+ margin-bottom: 10px;
1671
+ font-size: 0;
1672
+ white-space: nowrap;
1673
+ vertical-align: middle;
1674
+ }
1675
+
1676
+ .input-append input,
1677
+ .input-prepend input,
1678
+ .input-append select,
1679
+ .input-prepend select,
1680
+ .input-append .uneditable-input,
1681
+ .input-prepend .uneditable-input,
1682
+ .input-append .dropdown-menu,
1683
+ .input-prepend .dropdown-menu,
1684
+ .input-append .popover,
1685
+ .input-prepend .popover {
1686
+ font-size: 14px;
1687
+ }
1688
+
1689
+ .input-append input,
1690
+ .input-prepend input,
1691
+ .input-append select,
1692
+ .input-prepend select,
1693
+ .input-append .uneditable-input,
1694
+ .input-prepend .uneditable-input {
1695
+ position: relative;
1696
+ margin-bottom: 0;
1697
+ *margin-left: 0;
1698
+ vertical-align: top;
1699
+ -webkit-border-radius: 0 4px 4px 0;
1700
+ -moz-border-radius: 0 4px 4px 0;
1701
+ border-radius: 0 4px 4px 0;
1702
+ }
1703
+
1704
+ .input-append input:focus,
1705
+ .input-prepend input:focus,
1706
+ .input-append select:focus,
1707
+ .input-prepend select:focus,
1708
+ .input-append .uneditable-input:focus,
1709
+ .input-prepend .uneditable-input:focus {
1710
+ z-index: 2;
1711
+ }
1712
+
1713
+ .input-append .add-on,
1714
+ .input-prepend .add-on {
1715
+ display: inline-block;
1716
+ width: auto;
1717
+ height: 20px;
1718
+ min-width: 16px;
1719
+ padding: 4px 5px;
1720
+ font-size: 14px;
1721
+ font-weight: normal;
1722
+ line-height: 20px;
1723
+ text-align: center;
1724
+ text-shadow: 0 1px 0 #ffffff;
1725
+ background-color: #eeeeee;
1726
+ border: 1px solid #ccc;
1727
+ }
1728
+
1729
+ .input-append .add-on,
1730
+ .input-prepend .add-on,
1731
+ .input-append .btn,
1732
+ .input-prepend .btn,
1733
+ .input-append .btn-group > .dropdown-toggle,
1734
+ .input-prepend .btn-group > .dropdown-toggle {
1735
+ vertical-align: top;
1736
+ -webkit-border-radius: 0;
1737
+ -moz-border-radius: 0;
1738
+ border-radius: 0;
1739
+ }
1740
+
1741
+ .input-append .active,
1742
+ .input-prepend .active {
1743
+ background-color: #a9dba9;
1744
+ border-color: #46a546;
1745
+ }
1746
+
1747
+ .input-prepend .add-on,
1748
+ .input-prepend .btn {
1749
+ margin-right: -1px;
1750
+ }
1751
+
1752
+ .input-prepend .add-on:first-child,
1753
+ .input-prepend .btn:first-child {
1754
+ -webkit-border-radius: 4px 0 0 4px;
1755
+ -moz-border-radius: 4px 0 0 4px;
1756
+ border-radius: 4px 0 0 4px;
1757
+ }
1758
+
1759
+ .input-append input,
1760
+ .input-append select,
1761
+ .input-append .uneditable-input {
1762
+ -webkit-border-radius: 4px 0 0 4px;
1763
+ -moz-border-radius: 4px 0 0 4px;
1764
+ border-radius: 4px 0 0 4px;
1765
+ }
1766
+
1767
+ .input-append input + .btn-group .btn:last-child,
1768
+ .input-append select + .btn-group .btn:last-child,
1769
+ .input-append .uneditable-input + .btn-group .btn:last-child {
1770
+ -webkit-border-radius: 0 4px 4px 0;
1771
+ -moz-border-radius: 0 4px 4px 0;
1772
+ border-radius: 0 4px 4px 0;
1773
+ }
1774
+
1775
+ .input-append .add-on,
1776
+ .input-append .btn,
1777
+ .input-append .btn-group {
1778
+ margin-left: -1px;
1779
+ }
1780
+
1781
+ .input-append .add-on:last-child,
1782
+ .input-append .btn:last-child,
1783
+ .input-append .btn-group:last-child > .dropdown-toggle {
1784
+ -webkit-border-radius: 0 4px 4px 0;
1785
+ -moz-border-radius: 0 4px 4px 0;
1786
+ border-radius: 0 4px 4px 0;
1787
+ }
1788
+
1789
+ .input-prepend.input-append input,
1790
+ .input-prepend.input-append select,
1791
+ .input-prepend.input-append .uneditable-input {
1792
+ -webkit-border-radius: 0;
1793
+ -moz-border-radius: 0;
1794
+ border-radius: 0;
1795
+ }
1796
+
1797
+ .input-prepend.input-append input + .btn-group .btn,
1798
+ .input-prepend.input-append select + .btn-group .btn,
1799
+ .input-prepend.input-append .uneditable-input + .btn-group .btn {
1800
+ -webkit-border-radius: 0 4px 4px 0;
1801
+ -moz-border-radius: 0 4px 4px 0;
1802
+ border-radius: 0 4px 4px 0;
1803
+ }
1804
+
1805
+ .input-prepend.input-append .add-on:first-child,
1806
+ .input-prepend.input-append .btn:first-child {
1807
+ margin-right: -1px;
1808
+ -webkit-border-radius: 4px 0 0 4px;
1809
+ -moz-border-radius: 4px 0 0 4px;
1810
+ border-radius: 4px 0 0 4px;
1811
+ }
1812
+
1813
+ .input-prepend.input-append .add-on:last-child,
1814
+ .input-prepend.input-append .btn:last-child {
1815
+ margin-left: -1px;
1816
+ -webkit-border-radius: 0 4px 4px 0;
1817
+ -moz-border-radius: 0 4px 4px 0;
1818
+ border-radius: 0 4px 4px 0;
1819
+ }
1820
+
1821
+ .input-prepend.input-append .btn-group:first-child {
1822
+ margin-left: 0;
1823
+ }
1824
+
1825
+ input.search-query {
1826
+ padding-right: 14px;
1827
+ padding-right: 4px \9;
1828
+ padding-left: 14px;
1829
+ padding-left: 4px \9;
1830
+ /* IE7-8 doesn't have border-radius, so don't indent the padding */
1831
+
1832
+ margin-bottom: 0;
1833
+ -webkit-border-radius: 15px;
1834
+ -moz-border-radius: 15px;
1835
+ border-radius: 15px;
1836
+ }
1837
+
1838
+ /* Allow for input prepend/append in search forms */
1839
+
1840
+ .form-search .input-append .search-query,
1841
+ .form-search .input-prepend .search-query {
1842
+ -webkit-border-radius: 0;
1843
+ -moz-border-radius: 0;
1844
+ border-radius: 0;
1845
+ }
1846
+
1847
+ .form-search .input-append .search-query {
1848
+ -webkit-border-radius: 14px 0 0 14px;
1849
+ -moz-border-radius: 14px 0 0 14px;
1850
+ border-radius: 14px 0 0 14px;
1851
+ }
1852
+
1853
+ .form-search .input-append .btn {
1854
+ -webkit-border-radius: 0 14px 14px 0;
1855
+ -moz-border-radius: 0 14px 14px 0;
1856
+ border-radius: 0 14px 14px 0;
1857
+ }
1858
+
1859
+ .form-search .input-prepend .search-query {
1860
+ -webkit-border-radius: 0 14px 14px 0;
1861
+ -moz-border-radius: 0 14px 14px 0;
1862
+ border-radius: 0 14px 14px 0;
1863
+ }
1864
+
1865
+ .form-search .input-prepend .btn {
1866
+ -webkit-border-radius: 14px 0 0 14px;
1867
+ -moz-border-radius: 14px 0 0 14px;
1868
+ border-radius: 14px 0 0 14px;
1869
+ }
1870
+
1871
+ .form-search input,
1872
+ .form-inline input,
1873
+ .form-horizontal input,
1874
+ .form-search textarea,
1875
+ .form-inline textarea,
1876
+ .form-horizontal textarea,
1877
+ .form-search select,
1878
+ .form-inline select,
1879
+ .form-horizontal select,
1880
+ .form-search .help-inline,
1881
+ .form-inline .help-inline,
1882
+ .form-horizontal .help-inline,
1883
+ .form-search .uneditable-input,
1884
+ .form-inline .uneditable-input,
1885
+ .form-horizontal .uneditable-input,
1886
+ .form-search .input-prepend,
1887
+ .form-inline .input-prepend,
1888
+ .form-horizontal .input-prepend,
1889
+ .form-search .input-append,
1890
+ .form-inline .input-append,
1891
+ .form-horizontal .input-append {
1892
+ display: inline-block;
1893
+ *display: inline;
1894
+ margin-bottom: 0;
1895
+ vertical-align: middle;
1896
+ *zoom: 1;
1897
+ }
1898
+
1899
+ .form-search .hide,
1900
+ .form-inline .hide,
1901
+ .form-horizontal .hide {
1902
+ display: none;
1903
+ }
1904
+
1905
+ .form-search label,
1906
+ .form-inline label,
1907
+ .form-search .btn-group,
1908
+ .form-inline .btn-group {
1909
+ display: inline-block;
1910
+ }
1911
+
1912
+ .form-search .input-append,
1913
+ .form-inline .input-append,
1914
+ .form-search .input-prepend,
1915
+ .form-inline .input-prepend {
1916
+ margin-bottom: 0;
1917
+ }
1918
+
1919
+ .form-search .radio,
1920
+ .form-search .checkbox,
1921
+ .form-inline .radio,
1922
+ .form-inline .checkbox {
1923
+ padding-left: 0;
1924
+ margin-bottom: 0;
1925
+ vertical-align: middle;
1926
+ }
1927
+
1928
+ .form-search .radio input[type="radio"],
1929
+ .form-search .checkbox input[type="checkbox"],
1930
+ .form-inline .radio input[type="radio"],
1931
+ .form-inline .checkbox input[type="checkbox"] {
1932
+ float: left;
1933
+ margin-right: 3px;
1934
+ margin-left: 0;
1935
+ }
1936
+
1937
+ .control-group {
1938
+ margin-bottom: 10px;
1939
+ }
1940
+
1941
+ legend + .control-group {
1942
+ margin-top: 20px;
1943
+ -webkit-margin-top-collapse: separate;
1944
+ }
1945
+
1946
+ .form-horizontal .control-group {
1947
+ margin-bottom: 20px;
1948
+ *zoom: 1;
1949
+ }
1950
+
1951
+ .form-horizontal .control-group:before,
1952
+ .form-horizontal .control-group:after {
1953
+ display: table;
1954
+ line-height: 0;
1955
+ content: "";
1956
+ }
1957
+
1958
+ .form-horizontal .control-group:after {
1959
+ clear: both;
1960
+ }
1961
+
1962
+ .form-horizontal .control-label {
1963
+ float: left;
1964
+ width: 160px;
1965
+ padding-top: 5px;
1966
+ text-align: right;
1967
+ }
1968
+
1969
+ .form-horizontal .controls {
1970
+ *display: inline-block;
1971
+ *padding-left: 20px;
1972
+ margin-left: 180px;
1973
+ *margin-left: 0;
1974
+ }
1975
+
1976
+ .form-horizontal .controls:first-child {
1977
+ *padding-left: 180px;
1978
+ }
1979
+
1980
+ .form-horizontal .help-block {
1981
+ margin-bottom: 0;
1982
+ }
1983
+
1984
+ .form-horizontal input + .help-block,
1985
+ .form-horizontal select + .help-block,
1986
+ .form-horizontal textarea + .help-block,
1987
+ .form-horizontal .uneditable-input + .help-block,
1988
+ .form-horizontal .input-prepend + .help-block,
1989
+ .form-horizontal .input-append + .help-block {
1990
+ margin-top: 10px;
1991
+ }
1992
+
1993
+ .form-horizontal .form-actions {
1994
+ padding-left: 180px;
1995
+ }
1996
+
1997
+ table {
1998
+ max-width: 100%;
1999
+ background-color: transparent;
2000
+ border-collapse: collapse;
2001
+ border-spacing: 0;
2002
+ }
2003
+
2004
+ .table {
2005
+ width: 100%;
2006
+ margin-bottom: 20px;
2007
+ }
2008
+
2009
+ .table th,
2010
+ .table td {
2011
+ padding: 8px;
2012
+ line-height: 20px;
2013
+ text-align: left;
2014
+ vertical-align: top;
2015
+ border-top: 1px solid #dddddd;
2016
+ }
2017
+
2018
+ .table th {
2019
+ font-weight: bold;
2020
+ }
2021
+
2022
+ .table thead th {
2023
+ vertical-align: bottom;
2024
+ }
2025
+
2026
+ .table caption + thead tr:first-child th,
2027
+ .table caption + thead tr:first-child td,
2028
+ .table colgroup + thead tr:first-child th,
2029
+ .table colgroup + thead tr:first-child td,
2030
+ .table thead:first-child tr:first-child th,
2031
+ .table thead:first-child tr:first-child td {
2032
+ border-top: 0;
2033
+ }
2034
+
2035
+ .table tbody + tbody {
2036
+ border-top: 2px solid #dddddd;
2037
+ }
2038
+
2039
+ .table .table {
2040
+ background-color: #ffffff;
2041
+ }
2042
+
2043
+ .table-condensed th,
2044
+ .table-condensed td {
2045
+ padding: 4px 5px;
2046
+ }
2047
+
2048
+ .table-bordered {
2049
+ border: 1px solid #dddddd;
2050
+ border-collapse: separate;
2051
+ *border-collapse: collapse;
2052
+ border-left: 0;
2053
+ -webkit-border-radius: 4px;
2054
+ -moz-border-radius: 4px;
2055
+ border-radius: 4px;
2056
+ }
2057
+
2058
+ .table-bordered th,
2059
+ .table-bordered td {
2060
+ border-left: 1px solid #dddddd;
2061
+ }
2062
+
2063
+ .table-bordered caption + thead tr:first-child th,
2064
+ .table-bordered caption + tbody tr:first-child th,
2065
+ .table-bordered caption + tbody tr:first-child td,
2066
+ .table-bordered colgroup + thead tr:first-child th,
2067
+ .table-bordered colgroup + tbody tr:first-child th,
2068
+ .table-bordered colgroup + tbody tr:first-child td,
2069
+ .table-bordered thead:first-child tr:first-child th,
2070
+ .table-bordered tbody:first-child tr:first-child th,
2071
+ .table-bordered tbody:first-child tr:first-child td {
2072
+ border-top: 0;
2073
+ }
2074
+
2075
+ .table-bordered thead:first-child tr:first-child > th:first-child,
2076
+ .table-bordered tbody:first-child tr:first-child > td:first-child,
2077
+ .table-bordered tbody:first-child tr:first-child > th:first-child {
2078
+ -webkit-border-top-left-radius: 4px;
2079
+ border-top-left-radius: 4px;
2080
+ -moz-border-radius-topleft: 4px;
2081
+ }
2082
+
2083
+ .table-bordered thead:first-child tr:first-child > th:last-child,
2084
+ .table-bordered tbody:first-child tr:first-child > td:last-child,
2085
+ .table-bordered tbody:first-child tr:first-child > th:last-child {
2086
+ -webkit-border-top-right-radius: 4px;
2087
+ border-top-right-radius: 4px;
2088
+ -moz-border-radius-topright: 4px;
2089
+ }
2090
+
2091
+ .table-bordered thead:last-child tr:last-child > th:first-child,
2092
+ .table-bordered tbody:last-child tr:last-child > td:first-child,
2093
+ .table-bordered tbody:last-child tr:last-child > th:first-child,
2094
+ .table-bordered tfoot:last-child tr:last-child > td:first-child,
2095
+ .table-bordered tfoot:last-child tr:last-child > th:first-child {
2096
+ -webkit-border-bottom-left-radius: 4px;
2097
+ border-bottom-left-radius: 4px;
2098
+ -moz-border-radius-bottomleft: 4px;
2099
+ }
2100
+
2101
+ .table-bordered thead:last-child tr:last-child > th:last-child,
2102
+ .table-bordered tbody:last-child tr:last-child > td:last-child,
2103
+ .table-bordered tbody:last-child tr:last-child > th:last-child,
2104
+ .table-bordered tfoot:last-child tr:last-child > td:last-child,
2105
+ .table-bordered tfoot:last-child tr:last-child > th:last-child {
2106
+ -webkit-border-bottom-right-radius: 4px;
2107
+ border-bottom-right-radius: 4px;
2108
+ -moz-border-radius-bottomright: 4px;
2109
+ }
2110
+
2111
+ .table-bordered tfoot + tbody:last-child tr:last-child td:first-child {
2112
+ -webkit-border-bottom-left-radius: 0;
2113
+ border-bottom-left-radius: 0;
2114
+ -moz-border-radius-bottomleft: 0;
2115
+ }
2116
+
2117
+ .table-bordered tfoot + tbody:last-child tr:last-child td:last-child {
2118
+ -webkit-border-bottom-right-radius: 0;
2119
+ border-bottom-right-radius: 0;
2120
+ -moz-border-radius-bottomright: 0;
2121
+ }
2122
+
2123
+ .table-bordered caption + thead tr:first-child th:first-child,
2124
+ .table-bordered caption + tbody tr:first-child td:first-child,
2125
+ .table-bordered colgroup + thead tr:first-child th:first-child,
2126
+ .table-bordered colgroup + tbody tr:first-child td:first-child {
2127
+ -webkit-border-top-left-radius: 4px;
2128
+ border-top-left-radius: 4px;
2129
+ -moz-border-radius-topleft: 4px;
2130
+ }
2131
+
2132
+ .table-bordered caption + thead tr:first-child th:last-child,
2133
+ .table-bordered caption + tbody tr:first-child td:last-child,
2134
+ .table-bordered colgroup + thead tr:first-child th:last-child,
2135
+ .table-bordered colgroup + tbody tr:first-child td:last-child {
2136
+ -webkit-border-top-right-radius: 4px;
2137
+ border-top-right-radius: 4px;
2138
+ -moz-border-radius-topright: 4px;
2139
+ }
2140
+
2141
+ .table-striped tbody > tr:nth-child(odd) > td,
2142
+ .table-striped tbody > tr:nth-child(odd) > th {
2143
+ background-color: #f9f9f9;
2144
+ }
2145
+
2146
+ .table-hover tbody tr:hover > td,
2147
+ .table-hover tbody tr:hover > th {
2148
+ background-color: #f5f5f5;
2149
+ }
2150
+
2151
+ table td[class*="span"],
2152
+ table th[class*="span"],
2153
+ .row-fluid table td[class*="span"],
2154
+ .row-fluid table th[class*="span"] {
2155
+ display: table-cell;
2156
+ float: none;
2157
+ margin-left: 0;
2158
+ }
2159
+
2160
+ .table td.span1,
2161
+ .table th.span1 {
2162
+ float: none;
2163
+ width: 44px;
2164
+ margin-left: 0;
2165
+ }
2166
+
2167
+ .table td.span2,
2168
+ .table th.span2 {
2169
+ float: none;
2170
+ width: 124px;
2171
+ margin-left: 0;
2172
+ }
2173
+
2174
+ .table td.span3,
2175
+ .table th.span3 {
2176
+ float: none;
2177
+ width: 204px;
2178
+ margin-left: 0;
2179
+ }
2180
+
2181
+ .table td.span4,
2182
+ .table th.span4 {
2183
+ float: none;
2184
+ width: 284px;
2185
+ margin-left: 0;
2186
+ }
2187
+
2188
+ .table td.span5,
2189
+ .table th.span5 {
2190
+ float: none;
2191
+ width: 364px;
2192
+ margin-left: 0;
2193
+ }
2194
+
2195
+ .table td.span6,
2196
+ .table th.span6 {
2197
+ float: none;
2198
+ width: 444px;
2199
+ margin-left: 0;
2200
+ }
2201
+
2202
+ .table td.span7,
2203
+ .table th.span7 {
2204
+ float: none;
2205
+ width: 524px;
2206
+ margin-left: 0;
2207
+ }
2208
+
2209
+ .table td.span8,
2210
+ .table th.span8 {
2211
+ float: none;
2212
+ width: 604px;
2213
+ margin-left: 0;
2214
+ }
2215
+
2216
+ .table td.span9,
2217
+ .table th.span9 {
2218
+ float: none;
2219
+ width: 684px;
2220
+ margin-left: 0;
2221
+ }
2222
+
2223
+ .table td.span10,
2224
+ .table th.span10 {
2225
+ float: none;
2226
+ width: 764px;
2227
+ margin-left: 0;
2228
+ }
2229
+
2230
+ .table td.span11,
2231
+ .table th.span11 {
2232
+ float: none;
2233
+ width: 844px;
2234
+ margin-left: 0;
2235
+ }
2236
+
2237
+ .table td.span12,
2238
+ .table th.span12 {
2239
+ float: none;
2240
+ width: 924px;
2241
+ margin-left: 0;
2242
+ }
2243
+
2244
+ .table tbody tr.success > td {
2245
+ background-color: #dff0d8;
2246
+ }
2247
+
2248
+ .table tbody tr.error > td {
2249
+ background-color: #f2dede;
2250
+ }
2251
+
2252
+ .table tbody tr.warning > td {
2253
+ background-color: #fcf8e3;
2254
+ }
2255
+
2256
+ .table tbody tr.info > td {
2257
+ background-color: #d9edf7;
2258
+ }
2259
+
2260
+ .table-hover tbody tr.success:hover > td {
2261
+ background-color: #d0e9c6;
2262
+ }
2263
+
2264
+ .table-hover tbody tr.error:hover > td {
2265
+ background-color: #ebcccc;
2266
+ }
2267
+
2268
+ .table-hover tbody tr.warning:hover > td {
2269
+ background-color: #faf2cc;
2270
+ }
2271
+
2272
+ .table-hover tbody tr.info:hover > td {
2273
+ background-color: #c4e3f3;
2274
+ }
2275
+
2276
+ [class^="icon-"],
2277
+ [class*=" icon-"] {
2278
+ display: inline-block;
2279
+ width: 14px;
2280
+ height: 14px;
2281
+ margin-top: 1px;
2282
+ *margin-right: .3em;
2283
+ line-height: 14px;
2284
+ vertical-align: text-top;
2285
+ background-image: url("../img/glyphicons-halflings.png");
2286
+ background-position: 14px 14px;
2287
+ background-repeat: no-repeat;
2288
+ }
2289
+
2290
+ /* White icons with optional class, or on hover/focus/active states of certain elements */
2291
+
2292
+ .icon-white,
2293
+ .nav-pills > .active > a > [class^="icon-"],
2294
+ .nav-pills > .active > a > [class*=" icon-"],
2295
+ .nav-list > .active > a > [class^="icon-"],
2296
+ .nav-list > .active > a > [class*=" icon-"],
2297
+ .navbar-inverse .nav > .active > a > [class^="icon-"],
2298
+ .navbar-inverse .nav > .active > a > [class*=" icon-"],
2299
+ .dropdown-menu > li > a:hover > [class^="icon-"],
2300
+ .dropdown-menu > li > a:focus > [class^="icon-"],
2301
+ .dropdown-menu > li > a:hover > [class*=" icon-"],
2302
+ .dropdown-menu > li > a:focus > [class*=" icon-"],
2303
+ .dropdown-menu > .active > a > [class^="icon-"],
2304
+ .dropdown-menu > .active > a > [class*=" icon-"],
2305
+ .dropdown-submenu:hover > a > [class^="icon-"],
2306
+ .dropdown-submenu:focus > a > [class^="icon-"],
2307
+ .dropdown-submenu:hover > a > [class*=" icon-"],
2308
+ .dropdown-submenu:focus > a > [class*=" icon-"] {
2309
+ background-image: url("../img/glyphicons-halflings-white.png");
2310
+ }
2311
+
2312
+ .icon-glass {
2313
+ background-position: 0 0;
2314
+ }
2315
+
2316
+ .icon-music {
2317
+ background-position: -24px 0;
2318
+ }
2319
+
2320
+ .icon-search {
2321
+ background-position: -48px 0;
2322
+ }
2323
+
2324
+ .icon-envelope {
2325
+ background-position: -72px 0;
2326
+ }
2327
+
2328
+ .icon-heart {
2329
+ background-position: -96px 0;
2330
+ }
2331
+
2332
+ .icon-star {
2333
+ background-position: -120px 0;
2334
+ }
2335
+
2336
+ .icon-star-empty {
2337
+ background-position: -144px 0;
2338
+ }
2339
+
2340
+ .icon-user {
2341
+ background-position: -168px 0;
2342
+ }
2343
+
2344
+ .icon-film {
2345
+ background-position: -192px 0;
2346
+ }
2347
+
2348
+ .icon-th-large {
2349
+ background-position: -216px 0;
2350
+ }
2351
+
2352
+ .icon-th {
2353
+ background-position: -240px 0;
2354
+ }
2355
+
2356
+ .icon-th-list {
2357
+ background-position: -264px 0;
2358
+ }
2359
+
2360
+ .icon-ok {
2361
+ background-position: -288px 0;
2362
+ }
2363
+
2364
+ .icon-remove {
2365
+ background-position: -312px 0;
2366
+ }
2367
+
2368
+ .icon-zoom-in {
2369
+ background-position: -336px 0;
2370
+ }
2371
+
2372
+ .icon-zoom-out {
2373
+ background-position: -360px 0;
2374
+ }
2375
+
2376
+ .icon-off {
2377
+ background-position: -384px 0;
2378
+ }
2379
+
2380
+ .icon-signal {
2381
+ background-position: -408px 0;
2382
+ }
2383
+
2384
+ .icon-cog {
2385
+ background-position: -432px 0;
2386
+ }
2387
+
2388
+ .icon-trash {
2389
+ background-position: -456px 0;
2390
+ }
2391
+
2392
+ .icon-home {
2393
+ background-position: 0 -24px;
2394
+ }
2395
+
2396
+ .icon-file {
2397
+ background-position: -24px -24px;
2398
+ }
2399
+
2400
+ .icon-time {
2401
+ background-position: -48px -24px;
2402
+ }
2403
+
2404
+ .icon-road {
2405
+ background-position: -72px -24px;
2406
+ }
2407
+
2408
+ .icon-download-alt {
2409
+ background-position: -96px -24px;
2410
+ }
2411
+
2412
+ .icon-download {
2413
+ background-position: -120px -24px;
2414
+ }
2415
+
2416
+ .icon-upload {
2417
+ background-position: -144px -24px;
2418
+ }
2419
+
2420
+ .icon-inbox {
2421
+ background-position: -168px -24px;
2422
+ }
2423
+
2424
+ .icon-play-circle {
2425
+ background-position: -192px -24px;
2426
+ }
2427
+
2428
+ .icon-repeat {
2429
+ background-position: -216px -24px;
2430
+ }
2431
+
2432
+ .icon-refresh {
2433
+ background-position: -240px -24px;
2434
+ }
2435
+
2436
+ .icon-list-alt {
2437
+ background-position: -264px -24px;
2438
+ }
2439
+
2440
+ .icon-lock {
2441
+ background-position: -287px -24px;
2442
+ }
2443
+
2444
+ .icon-flag {
2445
+ background-position: -312px -24px;
2446
+ }
2447
+
2448
+ .icon-headphones {
2449
+ background-position: -336px -24px;
2450
+ }
2451
+
2452
+ .icon-volume-off {
2453
+ background-position: -360px -24px;
2454
+ }
2455
+
2456
+ .icon-volume-down {
2457
+ background-position: -384px -24px;
2458
+ }
2459
+
2460
+ .icon-volume-up {
2461
+ background-position: -408px -24px;
2462
+ }
2463
+
2464
+ .icon-qrcode {
2465
+ background-position: -432px -24px;
2466
+ }
2467
+
2468
+ .icon-barcode {
2469
+ background-position: -456px -24px;
2470
+ }
2471
+
2472
+ .icon-tag {
2473
+ background-position: 0 -48px;
2474
+ }
2475
+
2476
+ .icon-tags {
2477
+ background-position: -25px -48px;
2478
+ }
2479
+
2480
+ .icon-book {
2481
+ background-position: -48px -48px;
2482
+ }
2483
+
2484
+ .icon-bookmark {
2485
+ background-position: -72px -48px;
2486
+ }
2487
+
2488
+ .icon-print {
2489
+ background-position: -96px -48px;
2490
+ }
2491
+
2492
+ .icon-camera {
2493
+ background-position: -120px -48px;
2494
+ }
2495
+
2496
+ .icon-font {
2497
+ background-position: -144px -48px;
2498
+ }
2499
+
2500
+ .icon-bold {
2501
+ background-position: -167px -48px;
2502
+ }
2503
+
2504
+ .icon-italic {
2505
+ background-position: -192px -48px;
2506
+ }
2507
+
2508
+ .icon-text-height {
2509
+ background-position: -216px -48px;
2510
+ }
2511
+
2512
+ .icon-text-width {
2513
+ background-position: -240px -48px;
2514
+ }
2515
+
2516
+ .icon-align-left {
2517
+ background-position: -264px -48px;
2518
+ }
2519
+
2520
+ .icon-align-center {
2521
+ background-position: -288px -48px;
2522
+ }
2523
+
2524
+ .icon-align-right {
2525
+ background-position: -312px -48px;
2526
+ }
2527
+
2528
+ .icon-align-justify {
2529
+ background-position: -336px -48px;
2530
+ }
2531
+
2532
+ .icon-list {
2533
+ background-position: -360px -48px;
2534
+ }
2535
+
2536
+ .icon-indent-left {
2537
+ background-position: -384px -48px;
2538
+ }
2539
+
2540
+ .icon-indent-right {
2541
+ background-position: -408px -48px;
2542
+ }
2543
+
2544
+ .icon-facetime-video {
2545
+ background-position: -432px -48px;
2546
+ }
2547
+
2548
+ .icon-picture {
2549
+ background-position: -456px -48px;
2550
+ }
2551
+
2552
+ .icon-pencil {
2553
+ background-position: 0 -72px;
2554
+ }
2555
+
2556
+ .icon-map-marker {
2557
+ background-position: -24px -72px;
2558
+ }
2559
+
2560
+ .icon-adjust {
2561
+ background-position: -48px -72px;
2562
+ }
2563
+
2564
+ .icon-tint {
2565
+ background-position: -72px -72px;
2566
+ }
2567
+
2568
+ .icon-edit {
2569
+ background-position: -96px -72px;
2570
+ }
2571
+
2572
+ .icon-share {
2573
+ background-position: -120px -72px;
2574
+ }
2575
+
2576
+ .icon-check {
2577
+ background-position: -144px -72px;
2578
+ }
2579
+
2580
+ .icon-move {
2581
+ background-position: -168px -72px;
2582
+ }
2583
+
2584
+ .icon-step-backward {
2585
+ background-position: -192px -72px;
2586
+ }
2587
+
2588
+ .icon-fast-backward {
2589
+ background-position: -216px -72px;
2590
+ }
2591
+
2592
+ .icon-backward {
2593
+ background-position: -240px -72px;
2594
+ }
2595
+
2596
+ .icon-play {
2597
+ background-position: -264px -72px;
2598
+ }
2599
+
2600
+ .icon-pause {
2601
+ background-position: -288px -72px;
2602
+ }
2603
+
2604
+ .icon-stop {
2605
+ background-position: -312px -72px;
2606
+ }
2607
+
2608
+ .icon-forward {
2609
+ background-position: -336px -72px;
2610
+ }
2611
+
2612
+ .icon-fast-forward {
2613
+ background-position: -360px -72px;
2614
+ }
2615
+
2616
+ .icon-step-forward {
2617
+ background-position: -384px -72px;
2618
+ }
2619
+
2620
+ .icon-eject {
2621
+ background-position: -408px -72px;
2622
+ }
2623
+
2624
+ .icon-chevron-left {
2625
+ background-position: -432px -72px;
2626
+ }
2627
+
2628
+ .icon-chevron-right {
2629
+ background-position: -456px -72px;
2630
+ }
2631
+
2632
+ .icon-plus-sign {
2633
+ background-position: 0 -96px;
2634
+ }
2635
+
2636
+ .icon-minus-sign {
2637
+ background-position: -24px -96px;
2638
+ }
2639
+
2640
+ .icon-remove-sign {
2641
+ background-position: -48px -96px;
2642
+ }
2643
+
2644
+ .icon-ok-sign {
2645
+ background-position: -72px -96px;
2646
+ }
2647
+
2648
+ .icon-question-sign {
2649
+ background-position: -96px -96px;
2650
+ }
2651
+
2652
+ .icon-info-sign {
2653
+ background-position: -120px -96px;
2654
+ }
2655
+
2656
+ .icon-screenshot {
2657
+ background-position: -144px -96px;
2658
+ }
2659
+
2660
+ .icon-remove-circle {
2661
+ background-position: -168px -96px;
2662
+ }
2663
+
2664
+ .icon-ok-circle {
2665
+ background-position: -192px -96px;
2666
+ }
2667
+
2668
+ .icon-ban-circle {
2669
+ background-position: -216px -96px;
2670
+ }
2671
+
2672
+ .icon-arrow-left {
2673
+ background-position: -240px -96px;
2674
+ }
2675
+
2676
+ .icon-arrow-right {
2677
+ background-position: -264px -96px;
2678
+ }
2679
+
2680
+ .icon-arrow-up {
2681
+ background-position: -289px -96px;
2682
+ }
2683
+
2684
+ .icon-arrow-down {
2685
+ background-position: -312px -96px;
2686
+ }
2687
+
2688
+ .icon-share-alt {
2689
+ background-position: -336px -96px;
2690
+ }
2691
+
2692
+ .icon-resize-full {
2693
+ background-position: -360px -96px;
2694
+ }
2695
+
2696
+ .icon-resize-small {
2697
+ background-position: -384px -96px;
2698
+ }
2699
+
2700
+ .icon-plus {
2701
+ background-position: -408px -96px;
2702
+ }
2703
+
2704
+ .icon-minus {
2705
+ background-position: -433px -96px;
2706
+ }
2707
+
2708
+ .icon-asterisk {
2709
+ background-position: -456px -96px;
2710
+ }
2711
+
2712
+ .icon-exclamation-sign {
2713
+ background-position: 0 -120px;
2714
+ }
2715
+
2716
+ .icon-gift {
2717
+ background-position: -24px -120px;
2718
+ }
2719
+
2720
+ .icon-leaf {
2721
+ background-position: -48px -120px;
2722
+ }
2723
+
2724
+ .icon-fire {
2725
+ background-position: -72px -120px;
2726
+ }
2727
+
2728
+ .icon-eye-open {
2729
+ background-position: -96px -120px;
2730
+ }
2731
+
2732
+ .icon-eye-close {
2733
+ background-position: -120px -120px;
2734
+ }
2735
+
2736
+ .icon-warning-sign {
2737
+ background-position: -144px -120px;
2738
+ }
2739
+
2740
+ .icon-plane {
2741
+ background-position: -168px -120px;
2742
+ }
2743
+
2744
+ .icon-calendar {
2745
+ background-position: -192px -120px;
2746
+ }
2747
+
2748
+ .icon-random {
2749
+ width: 16px;
2750
+ background-position: -216px -120px;
2751
+ }
2752
+
2753
+ .icon-comment {
2754
+ background-position: -240px -120px;
2755
+ }
2756
+
2757
+ .icon-magnet {
2758
+ background-position: -264px -120px;
2759
+ }
2760
+
2761
+ .icon-chevron-up {
2762
+ background-position: -288px -120px;
2763
+ }
2764
+
2765
+ .icon-chevron-down {
2766
+ background-position: -313px -119px;
2767
+ }
2768
+
2769
+ .icon-retweet {
2770
+ background-position: -336px -120px;
2771
+ }
2772
+
2773
+ .icon-shopping-cart {
2774
+ background-position: -360px -120px;
2775
+ }
2776
+
2777
+ .icon-folder-close {
2778
+ width: 16px;
2779
+ background-position: -384px -120px;
2780
+ }
2781
+
2782
+ .icon-folder-open {
2783
+ width: 16px;
2784
+ background-position: -408px -120px;
2785
+ }
2786
+
2787
+ .icon-resize-vertical {
2788
+ background-position: -432px -119px;
2789
+ }
2790
+
2791
+ .icon-resize-horizontal {
2792
+ background-position: -456px -118px;
2793
+ }
2794
+
2795
+ .icon-hdd {
2796
+ background-position: 0 -144px;
2797
+ }
2798
+
2799
+ .icon-bullhorn {
2800
+ background-position: -24px -144px;
2801
+ }
2802
+
2803
+ .icon-bell {
2804
+ background-position: -48px -144px;
2805
+ }
2806
+
2807
+ .icon-certificate {
2808
+ background-position: -72px -144px;
2809
+ }
2810
+
2811
+ .icon-thumbs-up {
2812
+ background-position: -96px -144px;
2813
+ }
2814
+
2815
+ .icon-thumbs-down {
2816
+ background-position: -120px -144px;
2817
+ }
2818
+
2819
+ .icon-hand-right {
2820
+ background-position: -144px -144px;
2821
+ }
2822
+
2823
+ .icon-hand-left {
2824
+ background-position: -168px -144px;
2825
+ }
2826
+
2827
+ .icon-hand-up {
2828
+ background-position: -192px -144px;
2829
+ }
2830
+
2831
+ .icon-hand-down {
2832
+ background-position: -216px -144px;
2833
+ }
2834
+
2835
+ .icon-circle-arrow-right {
2836
+ background-position: -240px -144px;
2837
+ }
2838
+
2839
+ .icon-circle-arrow-left {
2840
+ background-position: -264px -144px;
2841
+ }
2842
+
2843
+ .icon-circle-arrow-up {
2844
+ background-position: -288px -144px;
2845
+ }
2846
+
2847
+ .icon-circle-arrow-down {
2848
+ background-position: -312px -144px;
2849
+ }
2850
+
2851
+ .icon-globe {
2852
+ background-position: -336px -144px;
2853
+ }
2854
+
2855
+ .icon-wrench {
2856
+ background-position: -360px -144px;
2857
+ }
2858
+
2859
+ .icon-tasks {
2860
+ background-position: -384px -144px;
2861
+ }
2862
+
2863
+ .icon-filter {
2864
+ background-position: -408px -144px;
2865
+ }
2866
+
2867
+ .icon-briefcase {
2868
+ background-position: -432px -144px;
2869
+ }
2870
+
2871
+ .icon-fullscreen {
2872
+ background-position: -456px -144px;
2873
+ }
2874
+
2875
+ .dropup,
2876
+ .dropdown {
2877
+ position: relative;
2878
+ }
2879
+
2880
+ .dropdown-toggle {
2881
+ *margin-bottom: -3px;
2882
+ }
2883
+
2884
+ .dropdown-toggle:active,
2885
+ .open .dropdown-toggle {
2886
+ outline: 0;
2887
+ }
2888
+
2889
+ .caret {
2890
+ display: inline-block;
2891
+ width: 0;
2892
+ height: 0;
2893
+ vertical-align: top;
2894
+ border-top: 4px solid #000000;
2895
+ border-right: 4px solid transparent;
2896
+ border-left: 4px solid transparent;
2897
+ content: "";
2898
+ }
2899
+
2900
+ .dropdown .caret {
2901
+ margin-top: 8px;
2902
+ margin-left: 2px;
2903
+ }
2904
+
2905
+ .dropdown-menu {
2906
+ position: absolute;
2907
+ top: 100%;
2908
+ left: 0;
2909
+ z-index: 1000;
2910
+ display: none;
2911
+ float: left;
2912
+ min-width: 160px;
2913
+ padding: 5px 0;
2914
+ margin: 2px 0 0;
2915
+ list-style: none;
2916
+ background-color: #ffffff;
2917
+ border: 1px solid #ccc;
2918
+ border: 1px solid rgba(0, 0, 0, 0.2);
2919
+ *border-right-width: 2px;
2920
+ *border-bottom-width: 2px;
2921
+ -webkit-border-radius: 6px;
2922
+ -moz-border-radius: 6px;
2923
+ border-radius: 6px;
2924
+ -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
2925
+ -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
2926
+ box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
2927
+ -webkit-background-clip: padding-box;
2928
+ -moz-background-clip: padding;
2929
+ background-clip: padding-box;
2930
+ }
2931
+
2932
+ .dropdown-menu.pull-right {
2933
+ right: 0;
2934
+ left: auto;
2935
+ }
2936
+
2937
+ .dropdown-menu .divider {
2938
+ *width: 100%;
2939
+ height: 1px;
2940
+ margin: 9px 1px;
2941
+ *margin: -5px 0 5px;
2942
+ overflow: hidden;
2943
+ background-color: #e5e5e5;
2944
+ border-bottom: 1px solid #ffffff;
2945
+ }
2946
+
2947
+ .dropdown-menu > li > a {
2948
+ display: block;
2949
+ padding: 3px 20px;
2950
+ clear: both;
2951
+ font-weight: normal;
2952
+ line-height: 20px;
2953
+ color: #333333;
2954
+ white-space: nowrap;
2955
+ }
2956
+
2957
+ .dropdown-menu > li > a:hover,
2958
+ .dropdown-menu > li > a:focus,
2959
+ .dropdown-submenu:hover > a,
2960
+ .dropdown-submenu:focus > a {
2961
+ color: #ffffff;
2962
+ text-decoration: none;
2963
+ background-color: #0081c2;
2964
+ background-image: -moz-linear-gradient(top, #0088cc, #0077b3);
2965
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3));
2966
+ background-image: -webkit-linear-gradient(top, #0088cc, #0077b3);
2967
+ background-image: -o-linear-gradient(top, #0088cc, #0077b3);
2968
+ background-image: linear-gradient(to bottom, #0088cc, #0077b3);
2969
+ background-repeat: repeat-x;
2970
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);
2971
+ }
2972
+
2973
+ .dropdown-menu > .active > a,
2974
+ .dropdown-menu > .active > a:hover,
2975
+ .dropdown-menu > .active > a:focus {
2976
+ color: #ffffff;
2977
+ text-decoration: none;
2978
+ background-color: #0081c2;
2979
+ background-image: -moz-linear-gradient(top, #0088cc, #0077b3);
2980
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0077b3));
2981
+ background-image: -webkit-linear-gradient(top, #0088cc, #0077b3);
2982
+ background-image: -o-linear-gradient(top, #0088cc, #0077b3);
2983
+ background-image: linear-gradient(to bottom, #0088cc, #0077b3);
2984
+ background-repeat: repeat-x;
2985
+ outline: 0;
2986
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0077b3', GradientType=0);
2987
+ }
2988
+
2989
+ .dropdown-menu > .disabled > a,
2990
+ .dropdown-menu > .disabled > a:hover,
2991
+ .dropdown-menu > .disabled > a:focus {
2992
+ color: #999999;
2993
+ }
2994
+
2995
+ .dropdown-menu > .disabled > a:hover,
2996
+ .dropdown-menu > .disabled > a:focus {
2997
+ text-decoration: none;
2998
+ cursor: default;
2999
+ background-color: transparent;
3000
+ background-image: none;
3001
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
3002
+ }
3003
+
3004
+ .open {
3005
+ *z-index: 1000;
3006
+ }
3007
+
3008
+ .open > .dropdown-menu {
3009
+ display: block;
3010
+ }
3011
+
3012
+ .dropdown-backdrop {
3013
+ position: fixed;
3014
+ top: 0;
3015
+ right: 0;
3016
+ bottom: 0;
3017
+ left: 0;
3018
+ z-index: 990;
3019
+ }
3020
+
3021
+ .pull-right > .dropdown-menu {
3022
+ right: 0;
3023
+ left: auto;
3024
+ }
3025
+
3026
+ .dropup .caret,
3027
+ .navbar-fixed-bottom .dropdown .caret {
3028
+ border-top: 0;
3029
+ border-bottom: 4px solid #000000;
3030
+ content: "";
3031
+ }
3032
+
3033
+ .dropup .dropdown-menu,
3034
+ .navbar-fixed-bottom .dropdown .dropdown-menu {
3035
+ top: auto;
3036
+ bottom: 100%;
3037
+ margin-bottom: 1px;
3038
+ }
3039
+
3040
+ .dropdown-submenu {
3041
+ position: relative;
3042
+ }
3043
+
3044
+ .dropdown-submenu > .dropdown-menu {
3045
+ top: 0;
3046
+ left: 100%;
3047
+ margin-top: -6px;
3048
+ margin-left: -1px;
3049
+ -webkit-border-radius: 0 6px 6px 6px;
3050
+ -moz-border-radius: 0 6px 6px 6px;
3051
+ border-radius: 0 6px 6px 6px;
3052
+ }
3053
+
3054
+ .dropdown-submenu:hover > .dropdown-menu {
3055
+ display: block;
3056
+ }
3057
+
3058
+ .dropup .dropdown-submenu > .dropdown-menu {
3059
+ top: auto;
3060
+ bottom: 0;
3061
+ margin-top: 0;
3062
+ margin-bottom: -2px;
3063
+ -webkit-border-radius: 5px 5px 5px 0;
3064
+ -moz-border-radius: 5px 5px 5px 0;
3065
+ border-radius: 5px 5px 5px 0;
3066
+ }
3067
+
3068
+ .dropdown-submenu > a:after {
3069
+ display: block;
3070
+ float: right;
3071
+ width: 0;
3072
+ height: 0;
3073
+ margin-top: 5px;
3074
+ margin-right: -10px;
3075
+ border-color: transparent;
3076
+ border-left-color: #cccccc;
3077
+ border-style: solid;
3078
+ border-width: 5px 0 5px 5px;
3079
+ content: " ";
3080
+ }
3081
+
3082
+ .dropdown-submenu:hover > a:after {
3083
+ border-left-color: #ffffff;
3084
+ }
3085
+
3086
+ .dropdown-submenu.pull-left {
3087
+ float: none;
3088
+ }
3089
+
3090
+ .dropdown-submenu.pull-left > .dropdown-menu {
3091
+ left: -100%;
3092
+ margin-left: 10px;
3093
+ -webkit-border-radius: 6px 0 6px 6px;
3094
+ -moz-border-radius: 6px 0 6px 6px;
3095
+ border-radius: 6px 0 6px 6px;
3096
+ }
3097
+
3098
+ .dropdown .dropdown-menu .nav-header {
3099
+ padding-right: 20px;
3100
+ padding-left: 20px;
3101
+ }
3102
+
3103
+ .typeahead {
3104
+ z-index: 1051;
3105
+ margin-top: 2px;
3106
+ -webkit-border-radius: 4px;
3107
+ -moz-border-radius: 4px;
3108
+ border-radius: 4px;
3109
+ }
3110
+
3111
+ .well {
3112
+ min-height: 20px;
3113
+ padding: 19px;
3114
+ margin-bottom: 20px;
3115
+ background-color: #f5f5f5;
3116
+ border: 1px solid #e3e3e3;
3117
+ -webkit-border-radius: 4px;
3118
+ -moz-border-radius: 4px;
3119
+ border-radius: 4px;
3120
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
3121
+ -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
3122
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
3123
+ }
3124
+
3125
+ .well blockquote {
3126
+ border-color: #ddd;
3127
+ border-color: rgba(0, 0, 0, 0.15);
3128
+ }
3129
+
3130
+ .well-large {
3131
+ padding: 24px;
3132
+ -webkit-border-radius: 6px;
3133
+ -moz-border-radius: 6px;
3134
+ border-radius: 6px;
3135
+ }
3136
+
3137
+ .well-small {
3138
+ padding: 9px;
3139
+ -webkit-border-radius: 3px;
3140
+ -moz-border-radius: 3px;
3141
+ border-radius: 3px;
3142
+ }
3143
+
3144
+ .fade {
3145
+ opacity: 0;
3146
+ -webkit-transition: opacity 0.15s linear;
3147
+ -moz-transition: opacity 0.15s linear;
3148
+ -o-transition: opacity 0.15s linear;
3149
+ transition: opacity 0.15s linear;
3150
+ }
3151
+
3152
+ .fade.in {
3153
+ opacity: 1;
3154
+ }
3155
+
3156
+ .collapse {
3157
+ position: relative;
3158
+ height: 0;
3159
+ overflow: hidden;
3160
+ -webkit-transition: height 0.35s ease;
3161
+ -moz-transition: height 0.35s ease;
3162
+ -o-transition: height 0.35s ease;
3163
+ transition: height 0.35s ease;
3164
+ }
3165
+
3166
+ .collapse.in {
3167
+ height: auto;
3168
+ }
3169
+
3170
+ .close {
3171
+ float: right;
3172
+ font-size: 20px;
3173
+ font-weight: bold;
3174
+ line-height: 20px;
3175
+ color: #000000;
3176
+ text-shadow: 0 1px 0 #ffffff;
3177
+ opacity: 0.2;
3178
+ filter: alpha(opacity=20);
3179
+ }
3180
+
3181
+ .close:hover,
3182
+ .close:focus {
3183
+ color: #000000;
3184
+ text-decoration: none;
3185
+ cursor: pointer;
3186
+ opacity: 0.4;
3187
+ filter: alpha(opacity=40);
3188
+ }
3189
+
3190
+ button.close {
3191
+ padding: 0;
3192
+ cursor: pointer;
3193
+ background: transparent;
3194
+ border: 0;
3195
+ -webkit-appearance: none;
3196
+ }
3197
+
3198
+ .btn {
3199
+ display: inline-block;
3200
+ *display: inline;
3201
+ padding: 4px 12px;
3202
+ margin-bottom: 0;
3203
+ *margin-left: .3em;
3204
+ font-size: 14px;
3205
+ line-height: 20px;
3206
+ color: #333333;
3207
+ text-align: center;
3208
+ text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
3209
+ vertical-align: middle;
3210
+ cursor: pointer;
3211
+ background-color: #f5f5f5;
3212
+ *background-color: #e6e6e6;
3213
+ background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
3214
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
3215
+ background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
3216
+ background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
3217
+ background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
3218
+ background-repeat: repeat-x;
3219
+ border: 1px solid #cccccc;
3220
+ *border: 0;
3221
+ border-color: #e6e6e6 #e6e6e6 #bfbfbf;
3222
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3223
+ border-bottom-color: #b3b3b3;
3224
+ -webkit-border-radius: 4px;
3225
+ -moz-border-radius: 4px;
3226
+ border-radius: 4px;
3227
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0);
3228
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
3229
+ *zoom: 1;
3230
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
3231
+ -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
3232
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
3233
+ }
3234
+
3235
+ .btn:hover,
3236
+ .btn:focus,
3237
+ .btn:active,
3238
+ .btn.active,
3239
+ .btn.disabled,
3240
+ .btn[disabled] {
3241
+ color: #333333;
3242
+ background-color: #e6e6e6;
3243
+ *background-color: #d9d9d9;
3244
+ }
3245
+
3246
+ .btn:active,
3247
+ .btn.active {
3248
+ background-color: #cccccc \9;
3249
+ }
3250
+
3251
+ .btn:first-child {
3252
+ *margin-left: 0;
3253
+ }
3254
+
3255
+ .btn:hover,
3256
+ .btn:focus {
3257
+ color: #333333;
3258
+ text-decoration: none;
3259
+ background-position: 0 -15px;
3260
+ -webkit-transition: background-position 0.1s linear;
3261
+ -moz-transition: background-position 0.1s linear;
3262
+ -o-transition: background-position 0.1s linear;
3263
+ transition: background-position 0.1s linear;
3264
+ }
3265
+
3266
+ .btn:focus {
3267
+ outline: thin dotted #333;
3268
+ outline: 5px auto -webkit-focus-ring-color;
3269
+ outline-offset: -2px;
3270
+ }
3271
+
3272
+ .btn.active,
3273
+ .btn:active {
3274
+ background-image: none;
3275
+ outline: 0;
3276
+ -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
3277
+ -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
3278
+ box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
3279
+ }
3280
+
3281
+ .btn.disabled,
3282
+ .btn[disabled] {
3283
+ cursor: default;
3284
+ background-image: none;
3285
+ opacity: 0.65;
3286
+ filter: alpha(opacity=65);
3287
+ -webkit-box-shadow: none;
3288
+ -moz-box-shadow: none;
3289
+ box-shadow: none;
3290
+ }
3291
+
3292
+ .btn-large {
3293
+ padding: 11px 19px;
3294
+ font-size: 17.5px;
3295
+ -webkit-border-radius: 6px;
3296
+ -moz-border-radius: 6px;
3297
+ border-radius: 6px;
3298
+ }
3299
+
3300
+ .btn-large [class^="icon-"],
3301
+ .btn-large [class*=" icon-"] {
3302
+ margin-top: 4px;
3303
+ }
3304
+
3305
+ .btn-small {
3306
+ padding: 2px 10px;
3307
+ font-size: 11.9px;
3308
+ -webkit-border-radius: 3px;
3309
+ -moz-border-radius: 3px;
3310
+ border-radius: 3px;
3311
+ }
3312
+
3313
+ .btn-small [class^="icon-"],
3314
+ .btn-small [class*=" icon-"] {
3315
+ margin-top: 0;
3316
+ }
3317
+
3318
+ .btn-mini [class^="icon-"],
3319
+ .btn-mini [class*=" icon-"] {
3320
+ margin-top: -1px;
3321
+ }
3322
+
3323
+ .btn-mini {
3324
+ padding: 0 6px;
3325
+ font-size: 10.5px;
3326
+ -webkit-border-radius: 3px;
3327
+ -moz-border-radius: 3px;
3328
+ border-radius: 3px;
3329
+ }
3330
+
3331
+ .btn-block {
3332
+ display: block;
3333
+ width: 100%;
3334
+ padding-right: 0;
3335
+ padding-left: 0;
3336
+ -webkit-box-sizing: border-box;
3337
+ -moz-box-sizing: border-box;
3338
+ box-sizing: border-box;
3339
+ }
3340
+
3341
+ .btn-block + .btn-block {
3342
+ margin-top: 5px;
3343
+ }
3344
+
3345
+ input[type="submit"].btn-block,
3346
+ input[type="reset"].btn-block,
3347
+ input[type="button"].btn-block {
3348
+ width: 100%;
3349
+ }
3350
+
3351
+ .btn-primary.active,
3352
+ .btn-warning.active,
3353
+ .btn-danger.active,
3354
+ .btn-success.active,
3355
+ .btn-info.active,
3356
+ .btn-inverse.active {
3357
+ color: rgba(255, 255, 255, 0.75);
3358
+ }
3359
+
3360
+ .btn-primary {
3361
+ color: #ffffff;
3362
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
3363
+ background-color: #006dcc;
3364
+ *background-color: #0044cc;
3365
+ background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
3366
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
3367
+ background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
3368
+ background-image: -o-linear-gradient(top, #0088cc, #0044cc);
3369
+ background-image: linear-gradient(to bottom, #0088cc, #0044cc);
3370
+ background-repeat: repeat-x;
3371
+ border-color: #0044cc #0044cc #002a80;
3372
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3373
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0);
3374
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
3375
+ }
3376
+
3377
+ .btn-primary:hover,
3378
+ .btn-primary:focus,
3379
+ .btn-primary:active,
3380
+ .btn-primary.active,
3381
+ .btn-primary.disabled,
3382
+ .btn-primary[disabled] {
3383
+ color: #ffffff;
3384
+ background-color: #0044cc;
3385
+ *background-color: #003bb3;
3386
+ }
3387
+
3388
+ .btn-primary:active,
3389
+ .btn-primary.active {
3390
+ background-color: #003399 \9;
3391
+ }
3392
+
3393
+ .btn-warning {
3394
+ color: #ffffff;
3395
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
3396
+ background-color: #faa732;
3397
+ *background-color: #f89406;
3398
+ background-image: -moz-linear-gradient(top, #fbb450, #f89406);
3399
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
3400
+ background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
3401
+ background-image: -o-linear-gradient(top, #fbb450, #f89406);
3402
+ background-image: linear-gradient(to bottom, #fbb450, #f89406);
3403
+ background-repeat: repeat-x;
3404
+ border-color: #f89406 #f89406 #ad6704;
3405
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3406
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);
3407
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
3408
+ }
3409
+
3410
+ .btn-warning:hover,
3411
+ .btn-warning:focus,
3412
+ .btn-warning:active,
3413
+ .btn-warning.active,
3414
+ .btn-warning.disabled,
3415
+ .btn-warning[disabled] {
3416
+ color: #ffffff;
3417
+ background-color: #f89406;
3418
+ *background-color: #df8505;
3419
+ }
3420
+
3421
+ .btn-warning:active,
3422
+ .btn-warning.active {
3423
+ background-color: #c67605 \9;
3424
+ }
3425
+
3426
+ .btn-danger {
3427
+ color: #ffffff;
3428
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
3429
+ background-color: #da4f49;
3430
+ *background-color: #bd362f;
3431
+ background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f);
3432
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));
3433
+ background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f);
3434
+ background-image: -o-linear-gradient(top, #ee5f5b, #bd362f);
3435
+ background-image: linear-gradient(to bottom, #ee5f5b, #bd362f);
3436
+ background-repeat: repeat-x;
3437
+ border-color: #bd362f #bd362f #802420;
3438
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3439
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffbd362f', GradientType=0);
3440
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
3441
+ }
3442
+
3443
+ .btn-danger:hover,
3444
+ .btn-danger:focus,
3445
+ .btn-danger:active,
3446
+ .btn-danger.active,
3447
+ .btn-danger.disabled,
3448
+ .btn-danger[disabled] {
3449
+ color: #ffffff;
3450
+ background-color: #bd362f;
3451
+ *background-color: #a9302a;
3452
+ }
3453
+
3454
+ .btn-danger:active,
3455
+ .btn-danger.active {
3456
+ background-color: #942a25 \9;
3457
+ }
3458
+
3459
+ .btn-success {
3460
+ color: #ffffff;
3461
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
3462
+ background-color: #5bb75b;
3463
+ *background-color: #51a351;
3464
+ background-image: -moz-linear-gradient(top, #62c462, #51a351);
3465
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));
3466
+ background-image: -webkit-linear-gradient(top, #62c462, #51a351);
3467
+ background-image: -o-linear-gradient(top, #62c462, #51a351);
3468
+ background-image: linear-gradient(to bottom, #62c462, #51a351);
3469
+ background-repeat: repeat-x;
3470
+ border-color: #51a351 #51a351 #387038;
3471
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3472
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff51a351', GradientType=0);
3473
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
3474
+ }
3475
+
3476
+ .btn-success:hover,
3477
+ .btn-success:focus,
3478
+ .btn-success:active,
3479
+ .btn-success.active,
3480
+ .btn-success.disabled,
3481
+ .btn-success[disabled] {
3482
+ color: #ffffff;
3483
+ background-color: #51a351;
3484
+ *background-color: #499249;
3485
+ }
3486
+
3487
+ .btn-success:active,
3488
+ .btn-success.active {
3489
+ background-color: #408140 \9;
3490
+ }
3491
+
3492
+ .btn-info {
3493
+ color: #ffffff;
3494
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
3495
+ background-color: #49afcd;
3496
+ *background-color: #2f96b4;
3497
+ background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4);
3498
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));
3499
+ background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4);
3500
+ background-image: -o-linear-gradient(top, #5bc0de, #2f96b4);
3501
+ background-image: linear-gradient(to bottom, #5bc0de, #2f96b4);
3502
+ background-repeat: repeat-x;
3503
+ border-color: #2f96b4 #2f96b4 #1f6377;
3504
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3505
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f96b4', GradientType=0);
3506
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
3507
+ }
3508
+
3509
+ .btn-info:hover,
3510
+ .btn-info:focus,
3511
+ .btn-info:active,
3512
+ .btn-info.active,
3513
+ .btn-info.disabled,
3514
+ .btn-info[disabled] {
3515
+ color: #ffffff;
3516
+ background-color: #2f96b4;
3517
+ *background-color: #2a85a0;
3518
+ }
3519
+
3520
+ .btn-info:active,
3521
+ .btn-info.active {
3522
+ background-color: #24748c \9;
3523
+ }
3524
+
3525
+ .btn-inverse {
3526
+ color: #ffffff;
3527
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
3528
+ background-color: #363636;
3529
+ *background-color: #222222;
3530
+ background-image: -moz-linear-gradient(top, #444444, #222222);
3531
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222));
3532
+ background-image: -webkit-linear-gradient(top, #444444, #222222);
3533
+ background-image: -o-linear-gradient(top, #444444, #222222);
3534
+ background-image: linear-gradient(to bottom, #444444, #222222);
3535
+ background-repeat: repeat-x;
3536
+ border-color: #222222 #222222 #000000;
3537
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
3538
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444', endColorstr='#ff222222', GradientType=0);
3539
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
3540
+ }
3541
+
3542
+ .btn-inverse:hover,
3543
+ .btn-inverse:focus,
3544
+ .btn-inverse:active,
3545
+ .btn-inverse.active,
3546
+ .btn-inverse.disabled,
3547
+ .btn-inverse[disabled] {
3548
+ color: #ffffff;
3549
+ background-color: #222222;
3550
+ *background-color: #151515;
3551
+ }
3552
+
3553
+ .btn-inverse:active,
3554
+ .btn-inverse.active {
3555
+ background-color: #080808 \9;
3556
+ }
3557
+
3558
+ button.btn,
3559
+ input[type="submit"].btn {
3560
+ *padding-top: 3px;
3561
+ *padding-bottom: 3px;
3562
+ }
3563
+
3564
+ button.btn::-moz-focus-inner,
3565
+ input[type="submit"].btn::-moz-focus-inner {
3566
+ padding: 0;
3567
+ border: 0;
3568
+ }
3569
+
3570
+ button.btn.btn-large,
3571
+ input[type="submit"].btn.btn-large {
3572
+ *padding-top: 7px;
3573
+ *padding-bottom: 7px;
3574
+ }
3575
+
3576
+ button.btn.btn-small,
3577
+ input[type="submit"].btn.btn-small {
3578
+ *padding-top: 3px;
3579
+ *padding-bottom: 3px;
3580
+ }
3581
+
3582
+ button.btn.btn-mini,
3583
+ input[type="submit"].btn.btn-mini {
3584
+ *padding-top: 1px;
3585
+ *padding-bottom: 1px;
3586
+ }
3587
+
3588
+ .btn-link,
3589
+ .btn-link:active,
3590
+ .btn-link[disabled] {
3591
+ background-color: transparent;
3592
+ background-image: none;
3593
+ -webkit-box-shadow: none;
3594
+ -moz-box-shadow: none;
3595
+ box-shadow: none;
3596
+ }
3597
+
3598
+ .btn-link {
3599
+ color: #0088cc;
3600
+ cursor: pointer;
3601
+ border-color: transparent;
3602
+ -webkit-border-radius: 0;
3603
+ -moz-border-radius: 0;
3604
+ border-radius: 0;
3605
+ }
3606
+
3607
+ .btn-link:hover,
3608
+ .btn-link:focus {
3609
+ color: #005580;
3610
+ text-decoration: underline;
3611
+ background-color: transparent;
3612
+ }
3613
+
3614
+ .btn-link[disabled]:hover,
3615
+ .btn-link[disabled]:focus {
3616
+ color: #333333;
3617
+ text-decoration: none;
3618
+ }
3619
+
3620
+ .btn-group {
3621
+ position: relative;
3622
+ display: inline-block;
3623
+ *display: inline;
3624
+ *margin-left: .3em;
3625
+ font-size: 0;
3626
+ white-space: nowrap;
3627
+ vertical-align: middle;
3628
+ *zoom: 1;
3629
+ }
3630
+
3631
+ .btn-group:first-child {
3632
+ *margin-left: 0;
3633
+ }
3634
+
3635
+ .btn-group + .btn-group {
3636
+ margin-left: 5px;
3637
+ }
3638
+
3639
+ .btn-toolbar {
3640
+ margin-top: 10px;
3641
+ margin-bottom: 10px;
3642
+ font-size: 0;
3643
+ }
3644
+
3645
+ .btn-toolbar > .btn + .btn,
3646
+ .btn-toolbar > .btn-group + .btn,
3647
+ .btn-toolbar > .btn + .btn-group {
3648
+ margin-left: 5px;
3649
+ }
3650
+
3651
+ .btn-group > .btn {
3652
+ position: relative;
3653
+ -webkit-border-radius: 0;
3654
+ -moz-border-radius: 0;
3655
+ border-radius: 0;
3656
+ }
3657
+
3658
+ .btn-group > .btn + .btn {
3659
+ margin-left: -1px;
3660
+ }
3661
+
3662
+ .btn-group > .btn,
3663
+ .btn-group > .dropdown-menu,
3664
+ .btn-group > .popover {
3665
+ font-size: 14px;
3666
+ }
3667
+
3668
+ .btn-group > .btn-mini {
3669
+ font-size: 10.5px;
3670
+ }
3671
+
3672
+ .btn-group > .btn-small {
3673
+ font-size: 11.9px;
3674
+ }
3675
+
3676
+ .btn-group > .btn-large {
3677
+ font-size: 17.5px;
3678
+ }
3679
+
3680
+ .btn-group > .btn:first-child {
3681
+ margin-left: 0;
3682
+ -webkit-border-bottom-left-radius: 4px;
3683
+ border-bottom-left-radius: 4px;
3684
+ -webkit-border-top-left-radius: 4px;
3685
+ border-top-left-radius: 4px;
3686
+ -moz-border-radius-bottomleft: 4px;
3687
+ -moz-border-radius-topleft: 4px;
3688
+ }
3689
+
3690
+ .btn-group > .btn:last-child,
3691
+ .btn-group > .dropdown-toggle {
3692
+ -webkit-border-top-right-radius: 4px;
3693
+ border-top-right-radius: 4px;
3694
+ -webkit-border-bottom-right-radius: 4px;
3695
+ border-bottom-right-radius: 4px;
3696
+ -moz-border-radius-topright: 4px;
3697
+ -moz-border-radius-bottomright: 4px;
3698
+ }
3699
+
3700
+ .btn-group > .btn.large:first-child {
3701
+ margin-left: 0;
3702
+ -webkit-border-bottom-left-radius: 6px;
3703
+ border-bottom-left-radius: 6px;
3704
+ -webkit-border-top-left-radius: 6px;
3705
+ border-top-left-radius: 6px;
3706
+ -moz-border-radius-bottomleft: 6px;
3707
+ -moz-border-radius-topleft: 6px;
3708
+ }
3709
+
3710
+ .btn-group > .btn.large:last-child,
3711
+ .btn-group > .large.dropdown-toggle {
3712
+ -webkit-border-top-right-radius: 6px;
3713
+ border-top-right-radius: 6px;
3714
+ -webkit-border-bottom-right-radius: 6px;
3715
+ border-bottom-right-radius: 6px;
3716
+ -moz-border-radius-topright: 6px;
3717
+ -moz-border-radius-bottomright: 6px;
3718
+ }
3719
+
3720
+ .btn-group > .btn:hover,
3721
+ .btn-group > .btn:focus,
3722
+ .btn-group > .btn:active,
3723
+ .btn-group > .btn.active {
3724
+ z-index: 2;
3725
+ }
3726
+
3727
+ .btn-group .dropdown-toggle:active,
3728
+ .btn-group.open .dropdown-toggle {
3729
+ outline: 0;
3730
+ }
3731
+
3732
+ .btn-group > .btn + .dropdown-toggle {
3733
+ *padding-top: 5px;
3734
+ padding-right: 8px;
3735
+ *padding-bottom: 5px;
3736
+ padding-left: 8px;
3737
+ -webkit-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
3738
+ -moz-box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
3739
+ box-shadow: inset 1px 0 0 rgba(255, 255, 255, 0.125), inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
3740
+ }
3741
+
3742
+ .btn-group > .btn-mini + .dropdown-toggle {
3743
+ *padding-top: 2px;
3744
+ padding-right: 5px;
3745
+ *padding-bottom: 2px;
3746
+ padding-left: 5px;
3747
+ }
3748
+
3749
+ .btn-group > .btn-small + .dropdown-toggle {
3750
+ *padding-top: 5px;
3751
+ *padding-bottom: 4px;
3752
+ }
3753
+
3754
+ .btn-group > .btn-large + .dropdown-toggle {
3755
+ *padding-top: 7px;
3756
+ padding-right: 12px;
3757
+ *padding-bottom: 7px;
3758
+ padding-left: 12px;
3759
+ }
3760
+
3761
+ .btn-group.open .dropdown-toggle {
3762
+ background-image: none;
3763
+ -webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
3764
+ -moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
3765
+ box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
3766
+ }
3767
+
3768
+ .btn-group.open .btn.dropdown-toggle {
3769
+ background-color: #e6e6e6;
3770
+ }
3771
+
3772
+ .btn-group.open .btn-primary.dropdown-toggle {
3773
+ background-color: #0044cc;
3774
+ }
3775
+
3776
+ .btn-group.open .btn-warning.dropdown-toggle {
3777
+ background-color: #f89406;
3778
+ }
3779
+
3780
+ .btn-group.open .btn-danger.dropdown-toggle {
3781
+ background-color: #bd362f;
3782
+ }
3783
+
3784
+ .btn-group.open .btn-success.dropdown-toggle {
3785
+ background-color: #51a351;
3786
+ }
3787
+
3788
+ .btn-group.open .btn-info.dropdown-toggle {
3789
+ background-color: #2f96b4;
3790
+ }
3791
+
3792
+ .btn-group.open .btn-inverse.dropdown-toggle {
3793
+ background-color: #222222;
3794
+ }
3795
+
3796
+ .btn .caret {
3797
+ margin-top: 8px;
3798
+ margin-left: 0;
3799
+ }
3800
+
3801
+ .btn-large .caret {
3802
+ margin-top: 6px;
3803
+ }
3804
+
3805
+ .btn-large .caret {
3806
+ border-top-width: 5px;
3807
+ border-right-width: 5px;
3808
+ border-left-width: 5px;
3809
+ }
3810
+
3811
+ .btn-mini .caret,
3812
+ .btn-small .caret {
3813
+ margin-top: 8px;
3814
+ }
3815
+
3816
+ .dropup .btn-large .caret {
3817
+ border-bottom-width: 5px;
3818
+ }
3819
+
3820
+ .btn-primary .caret,
3821
+ .btn-warning .caret,
3822
+ .btn-danger .caret,
3823
+ .btn-info .caret,
3824
+ .btn-success .caret,
3825
+ .btn-inverse .caret {
3826
+ border-top-color: #ffffff;
3827
+ border-bottom-color: #ffffff;
3828
+ }
3829
+
3830
+ .btn-group-vertical {
3831
+ display: inline-block;
3832
+ *display: inline;
3833
+ /* IE7 inline-block hack */
3834
+
3835
+ *zoom: 1;
3836
+ }
3837
+
3838
+ .btn-group-vertical > .btn {
3839
+ display: block;
3840
+ float: none;
3841
+ max-width: 100%;
3842
+ -webkit-border-radius: 0;
3843
+ -moz-border-radius: 0;
3844
+ border-radius: 0;
3845
+ }
3846
+
3847
+ .btn-group-vertical > .btn + .btn {
3848
+ margin-top: -1px;
3849
+ margin-left: 0;
3850
+ }
3851
+
3852
+ .btn-group-vertical > .btn:first-child {
3853
+ -webkit-border-radius: 4px 4px 0 0;
3854
+ -moz-border-radius: 4px 4px 0 0;
3855
+ border-radius: 4px 4px 0 0;
3856
+ }
3857
+
3858
+ .btn-group-vertical > .btn:last-child {
3859
+ -webkit-border-radius: 0 0 4px 4px;
3860
+ -moz-border-radius: 0 0 4px 4px;
3861
+ border-radius: 0 0 4px 4px;
3862
+ }
3863
+
3864
+ .btn-group-vertical > .btn-large:first-child {
3865
+ -webkit-border-radius: 6px 6px 0 0;
3866
+ -moz-border-radius: 6px 6px 0 0;
3867
+ border-radius: 6px 6px 0 0;
3868
+ }
3869
+
3870
+ .btn-group-vertical > .btn-large:last-child {
3871
+ -webkit-border-radius: 0 0 6px 6px;
3872
+ -moz-border-radius: 0 0 6px 6px;
3873
+ border-radius: 0 0 6px 6px;
3874
+ }
3875
+
3876
+ .alert {
3877
+ padding: 8px 35px 8px 14px;
3878
+ margin-bottom: 20px;
3879
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
3880
+ background-color: #fcf8e3;
3881
+ border: 1px solid #fbeed5;
3882
+ -webkit-border-radius: 4px;
3883
+ -moz-border-radius: 4px;
3884
+ border-radius: 4px;
3885
+ }
3886
+
3887
+ .alert,
3888
+ .alert h4 {
3889
+ color: #c09853;
3890
+ }
3891
+
3892
+ .alert h4 {
3893
+ margin: 0;
3894
+ }
3895
+
3896
+ .alert .close {
3897
+ position: relative;
3898
+ top: -2px;
3899
+ right: -21px;
3900
+ line-height: 20px;
3901
+ }
3902
+
3903
+ .alert-success {
3904
+ color: #468847;
3905
+ background-color: #dff0d8;
3906
+ border-color: #d6e9c6;
3907
+ }
3908
+
3909
+ .alert-success h4 {
3910
+ color: #468847;
3911
+ }
3912
+
3913
+ .alert-danger,
3914
+ .alert-error {
3915
+ color: #b94a48;
3916
+ background-color: #f2dede;
3917
+ border-color: #eed3d7;
3918
+ }
3919
+
3920
+ .alert-danger h4,
3921
+ .alert-error h4 {
3922
+ color: #b94a48;
3923
+ }
3924
+
3925
+ .alert-info {
3926
+ color: #3a87ad;
3927
+ background-color: #d9edf7;
3928
+ border-color: #bce8f1;
3929
+ }
3930
+
3931
+ .alert-info h4 {
3932
+ color: #3a87ad;
3933
+ }
3934
+
3935
+ .alert-block {
3936
+ padding-top: 14px;
3937
+ padding-bottom: 14px;
3938
+ }
3939
+
3940
+ .alert-block > p,
3941
+ .alert-block > ul {
3942
+ margin-bottom: 0;
3943
+ }
3944
+
3945
+ .alert-block p + p {
3946
+ margin-top: 5px;
3947
+ }
3948
+
3949
+ .nav {
3950
+ margin-bottom: 20px;
3951
+ margin-left: 0;
3952
+ list-style: none;
3953
+ }
3954
+
3955
+ .nav > li > a {
3956
+ display: block;
3957
+ }
3958
+
3959
+ .nav > li > a:hover,
3960
+ .nav > li > a:focus {
3961
+ text-decoration: none;
3962
+ background-color: #eeeeee;
3963
+ }
3964
+
3965
+ .nav > li > a > img {
3966
+ max-width: none;
3967
+ }
3968
+
3969
+ .nav > .pull-right {
3970
+ float: right;
3971
+ }
3972
+
3973
+ .nav-header {
3974
+ display: block;
3975
+ padding: 3px 15px;
3976
+ font-size: 11px;
3977
+ font-weight: bold;
3978
+ line-height: 20px;
3979
+ color: #999999;
3980
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
3981
+ text-transform: uppercase;
3982
+ }
3983
+
3984
+ .nav li + .nav-header {
3985
+ margin-top: 9px;
3986
+ }
3987
+
3988
+ .nav-list {
3989
+ padding-right: 15px;
3990
+ padding-left: 15px;
3991
+ margin-bottom: 0;
3992
+ }
3993
+
3994
+ .nav-list > li > a,
3995
+ .nav-list .nav-header {
3996
+ margin-right: -15px;
3997
+ margin-left: -15px;
3998
+ text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
3999
+ }
4000
+
4001
+ .nav-list > li > a {
4002
+ padding: 3px 15px;
4003
+ }
4004
+
4005
+ .nav-list > .active > a,
4006
+ .nav-list > .active > a:hover,
4007
+ .nav-list > .active > a:focus {
4008
+ color: #ffffff;
4009
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
4010
+ background-color: #0088cc;
4011
+ }
4012
+
4013
+ .nav-list [class^="icon-"],
4014
+ .nav-list [class*=" icon-"] {
4015
+ margin-right: 2px;
4016
+ }
4017
+
4018
+ .nav-list .divider {
4019
+ *width: 100%;
4020
+ height: 1px;
4021
+ margin: 9px 1px;
4022
+ *margin: -5px 0 5px;
4023
+ overflow: hidden;
4024
+ background-color: #e5e5e5;
4025
+ border-bottom: 1px solid #ffffff;
4026
+ }
4027
+
4028
+ .nav-tabs,
4029
+ .nav-pills {
4030
+ *zoom: 1;
4031
+ }
4032
+
4033
+ .nav-tabs:before,
4034
+ .nav-pills:before,
4035
+ .nav-tabs:after,
4036
+ .nav-pills:after {
4037
+ display: table;
4038
+ line-height: 0;
4039
+ content: "";
4040
+ }
4041
+
4042
+ .nav-tabs:after,
4043
+ .nav-pills:after {
4044
+ clear: both;
4045
+ }
4046
+
4047
+ .nav-tabs > li,
4048
+ .nav-pills > li {
4049
+ float: left;
4050
+ }
4051
+
4052
+ .nav-tabs > li > a,
4053
+ .nav-pills > li > a {
4054
+ padding-right: 12px;
4055
+ padding-left: 12px;
4056
+ margin-right: 2px;
4057
+ line-height: 14px;
4058
+ }
4059
+
4060
+ .nav-tabs {
4061
+ border-bottom: 1px solid #ddd;
4062
+ }
4063
+
4064
+ .nav-tabs > li {
4065
+ margin-bottom: -1px;
4066
+ }
4067
+
4068
+ .nav-tabs > li > a {
4069
+ padding-top: 8px;
4070
+ padding-bottom: 8px;
4071
+ line-height: 20px;
4072
+ border: 1px solid transparent;
4073
+ -webkit-border-radius: 4px 4px 0 0;
4074
+ -moz-border-radius: 4px 4px 0 0;
4075
+ border-radius: 4px 4px 0 0;
4076
+ }
4077
+
4078
+ .nav-tabs > li > a:hover,
4079
+ .nav-tabs > li > a:focus {
4080
+ border-color: #eeeeee #eeeeee #dddddd;
4081
+ }
4082
+
4083
+ .nav-tabs > .active > a,
4084
+ .nav-tabs > .active > a:hover,
4085
+ .nav-tabs > .active > a:focus {
4086
+ color: #555555;
4087
+ cursor: default;
4088
+ background-color: #ffffff;
4089
+ border: 1px solid #ddd;
4090
+ border-bottom-color: transparent;
4091
+ }
4092
+
4093
+ .nav-pills > li > a {
4094
+ padding-top: 8px;
4095
+ padding-bottom: 8px;
4096
+ margin-top: 2px;
4097
+ margin-bottom: 2px;
4098
+ -webkit-border-radius: 5px;
4099
+ -moz-border-radius: 5px;
4100
+ border-radius: 5px;
4101
+ }
4102
+
4103
+ .nav-pills > .active > a,
4104
+ .nav-pills > .active > a:hover,
4105
+ .nav-pills > .active > a:focus {
4106
+ color: #ffffff;
4107
+ background-color: #0088cc;
4108
+ }
4109
+
4110
+ .nav-stacked > li {
4111
+ float: none;
4112
+ }
4113
+
4114
+ .nav-stacked > li > a {
4115
+ margin-right: 0;
4116
+ }
4117
+
4118
+ .nav-tabs.nav-stacked {
4119
+ border-bottom: 0;
4120
+ }
4121
+
4122
+ .nav-tabs.nav-stacked > li > a {
4123
+ border: 1px solid #ddd;
4124
+ -webkit-border-radius: 0;
4125
+ -moz-border-radius: 0;
4126
+ border-radius: 0;
4127
+ }
4128
+
4129
+ .nav-tabs.nav-stacked > li:first-child > a {
4130
+ -webkit-border-top-right-radius: 4px;
4131
+ border-top-right-radius: 4px;
4132
+ -webkit-border-top-left-radius: 4px;
4133
+ border-top-left-radius: 4px;
4134
+ -moz-border-radius-topright: 4px;
4135
+ -moz-border-radius-topleft: 4px;
4136
+ }
4137
+
4138
+ .nav-tabs.nav-stacked > li:last-child > a {
4139
+ -webkit-border-bottom-right-radius: 4px;
4140
+ border-bottom-right-radius: 4px;
4141
+ -webkit-border-bottom-left-radius: 4px;
4142
+ border-bottom-left-radius: 4px;
4143
+ -moz-border-radius-bottomright: 4px;
4144
+ -moz-border-radius-bottomleft: 4px;
4145
+ }
4146
+
4147
+ .nav-tabs.nav-stacked > li > a:hover,
4148
+ .nav-tabs.nav-stacked > li > a:focus {
4149
+ z-index: 2;
4150
+ border-color: #ddd;
4151
+ }
4152
+
4153
+ .nav-pills.nav-stacked > li > a {
4154
+ margin-bottom: 3px;
4155
+ }
4156
+
4157
+ .nav-pills.nav-stacked > li:last-child > a {
4158
+ margin-bottom: 1px;
4159
+ }
4160
+
4161
+ .nav-tabs .dropdown-menu {
4162
+ -webkit-border-radius: 0 0 6px 6px;
4163
+ -moz-border-radius: 0 0 6px 6px;
4164
+ border-radius: 0 0 6px 6px;
4165
+ }
4166
+
4167
+ .nav-pills .dropdown-menu {
4168
+ -webkit-border-radius: 6px;
4169
+ -moz-border-radius: 6px;
4170
+ border-radius: 6px;
4171
+ }
4172
+
4173
+ .nav .dropdown-toggle .caret {
4174
+ margin-top: 6px;
4175
+ border-top-color: #0088cc;
4176
+ border-bottom-color: #0088cc;
4177
+ }
4178
+
4179
+ .nav .dropdown-toggle:hover .caret,
4180
+ .nav .dropdown-toggle:focus .caret {
4181
+ border-top-color: #005580;
4182
+ border-bottom-color: #005580;
4183
+ }
4184
+
4185
+ /* move down carets for tabs */
4186
+
4187
+ .nav-tabs .dropdown-toggle .caret {
4188
+ margin-top: 8px;
4189
+ }
4190
+
4191
+ .nav .active .dropdown-toggle .caret {
4192
+ border-top-color: #fff;
4193
+ border-bottom-color: #fff;
4194
+ }
4195
+
4196
+ .nav-tabs .active .dropdown-toggle .caret {
4197
+ border-top-color: #555555;
4198
+ border-bottom-color: #555555;
4199
+ }
4200
+
4201
+ .nav > .dropdown.active > a:hover,
4202
+ .nav > .dropdown.active > a:focus {
4203
+ cursor: pointer;
4204
+ }
4205
+
4206
+ .nav-tabs .open .dropdown-toggle,
4207
+ .nav-pills .open .dropdown-toggle,
4208
+ .nav > li.dropdown.open.active > a:hover,
4209
+ .nav > li.dropdown.open.active > a:focus {
4210
+ color: #ffffff;
4211
+ background-color: #999999;
4212
+ border-color: #999999;
4213
+ }
4214
+
4215
+ .nav li.dropdown.open .caret,
4216
+ .nav li.dropdown.open.active .caret,
4217
+ .nav li.dropdown.open a:hover .caret,
4218
+ .nav li.dropdown.open a:focus .caret {
4219
+ border-top-color: #ffffff;
4220
+ border-bottom-color: #ffffff;
4221
+ opacity: 1;
4222
+ filter: alpha(opacity=100);
4223
+ }
4224
+
4225
+ .tabs-stacked .open > a:hover,
4226
+ .tabs-stacked .open > a:focus {
4227
+ border-color: #999999;
4228
+ }
4229
+
4230
+ .tabbable {
4231
+ *zoom: 1;
4232
+ }
4233
+
4234
+ .tabbable:before,
4235
+ .tabbable:after {
4236
+ display: table;
4237
+ line-height: 0;
4238
+ content: "";
4239
+ }
4240
+
4241
+ .tabbable:after {
4242
+ clear: both;
4243
+ }
4244
+
4245
+ .tab-content {
4246
+ overflow: auto;
4247
+ }
4248
+
4249
+ .tabs-below > .nav-tabs,
4250
+ .tabs-right > .nav-tabs,
4251
+ .tabs-left > .nav-tabs {
4252
+ border-bottom: 0;
4253
+ }
4254
+
4255
+ .tab-content > .tab-pane,
4256
+ .pill-content > .pill-pane {
4257
+ display: none;
4258
+ }
4259
+
4260
+ .tab-content > .active,
4261
+ .pill-content > .active {
4262
+ display: block;
4263
+ }
4264
+
4265
+ .tabs-below > .nav-tabs {
4266
+ border-top: 1px solid #ddd;
4267
+ }
4268
+
4269
+ .tabs-below > .nav-tabs > li {
4270
+ margin-top: -1px;
4271
+ margin-bottom: 0;
4272
+ }
4273
+
4274
+ .tabs-below > .nav-tabs > li > a {
4275
+ -webkit-border-radius: 0 0 4px 4px;
4276
+ -moz-border-radius: 0 0 4px 4px;
4277
+ border-radius: 0 0 4px 4px;
4278
+ }
4279
+
4280
+ .tabs-below > .nav-tabs > li > a:hover,
4281
+ .tabs-below > .nav-tabs > li > a:focus {
4282
+ border-top-color: #ddd;
4283
+ border-bottom-color: transparent;
4284
+ }
4285
+
4286
+ .tabs-below > .nav-tabs > .active > a,
4287
+ .tabs-below > .nav-tabs > .active > a:hover,
4288
+ .tabs-below > .nav-tabs > .active > a:focus {
4289
+ border-color: transparent #ddd #ddd #ddd;
4290
+ }
4291
+
4292
+ .tabs-left > .nav-tabs > li,
4293
+ .tabs-right > .nav-tabs > li {
4294
+ float: none;
4295
+ }
4296
+
4297
+ .tabs-left > .nav-tabs > li > a,
4298
+ .tabs-right > .nav-tabs > li > a {
4299
+ min-width: 74px;
4300
+ margin-right: 0;
4301
+ margin-bottom: 3px;
4302
+ }
4303
+
4304
+ .tabs-left > .nav-tabs {
4305
+ float: left;
4306
+ margin-right: 19px;
4307
+ border-right: 1px solid #ddd;
4308
+ }
4309
+
4310
+ .tabs-left > .nav-tabs > li > a {
4311
+ margin-right: -1px;
4312
+ -webkit-border-radius: 4px 0 0 4px;
4313
+ -moz-border-radius: 4px 0 0 4px;
4314
+ border-radius: 4px 0 0 4px;
4315
+ }
4316
+
4317
+ .tabs-left > .nav-tabs > li > a:hover,
4318
+ .tabs-left > .nav-tabs > li > a:focus {
4319
+ border-color: #eeeeee #dddddd #eeeeee #eeeeee;
4320
+ }
4321
+
4322
+ .tabs-left > .nav-tabs .active > a,
4323
+ .tabs-left > .nav-tabs .active > a:hover,
4324
+ .tabs-left > .nav-tabs .active > a:focus {
4325
+ border-color: #ddd transparent #ddd #ddd;
4326
+ *border-right-color: #ffffff;
4327
+ }
4328
+
4329
+ .tabs-right > .nav-tabs {
4330
+ float: right;
4331
+ margin-left: 19px;
4332
+ border-left: 1px solid #ddd;
4333
+ }
4334
+
4335
+ .tabs-right > .nav-tabs > li > a {
4336
+ margin-left: -1px;
4337
+ -webkit-border-radius: 0 4px 4px 0;
4338
+ -moz-border-radius: 0 4px 4px 0;
4339
+ border-radius: 0 4px 4px 0;
4340
+ }
4341
+
4342
+ .tabs-right > .nav-tabs > li > a:hover,
4343
+ .tabs-right > .nav-tabs > li > a:focus {
4344
+ border-color: #eeeeee #eeeeee #eeeeee #dddddd;
4345
+ }
4346
+
4347
+ .tabs-right > .nav-tabs .active > a,
4348
+ .tabs-right > .nav-tabs .active > a:hover,
4349
+ .tabs-right > .nav-tabs .active > a:focus {
4350
+ border-color: #ddd #ddd #ddd transparent;
4351
+ *border-left-color: #ffffff;
4352
+ }
4353
+
4354
+ .nav > .disabled > a {
4355
+ color: #999999;
4356
+ }
4357
+
4358
+ .nav > .disabled > a:hover,
4359
+ .nav > .disabled > a:focus {
4360
+ text-decoration: none;
4361
+ cursor: default;
4362
+ background-color: transparent;
4363
+ }
4364
+
4365
+ .navbar {
4366
+ *position: relative;
4367
+ *z-index: 2;
4368
+ margin-bottom: 20px;
4369
+ overflow: visible;
4370
+ }
4371
+
4372
+ .navbar-inner {
4373
+ min-height: 40px;
4374
+ padding-right: 20px;
4375
+ padding-left: 20px;
4376
+ background-color: #fafafa;
4377
+ background-image: -moz-linear-gradient(top, #ffffff, #f2f2f2);
4378
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2));
4379
+ background-image: -webkit-linear-gradient(top, #ffffff, #f2f2f2);
4380
+ background-image: -o-linear-gradient(top, #ffffff, #f2f2f2);
4381
+ background-image: linear-gradient(to bottom, #ffffff, #f2f2f2);
4382
+ background-repeat: repeat-x;
4383
+ border: 1px solid #d4d4d4;
4384
+ -webkit-border-radius: 4px;
4385
+ -moz-border-radius: 4px;
4386
+ border-radius: 4px;
4387
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0);
4388
+ *zoom: 1;
4389
+ -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
4390
+ -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
4391
+ box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
4392
+ }
4393
+
4394
+ .navbar-inner:before,
4395
+ .navbar-inner:after {
4396
+ display: table;
4397
+ line-height: 0;
4398
+ content: "";
4399
+ }
4400
+
4401
+ .navbar-inner:after {
4402
+ clear: both;
4403
+ }
4404
+
4405
+ .navbar .container {
4406
+ width: auto;
4407
+ }
4408
+
4409
+ .nav-collapse.collapse {
4410
+ height: auto;
4411
+ overflow: visible;
4412
+ }
4413
+
4414
+ .navbar .brand {
4415
+ display: block;
4416
+ float: left;
4417
+ padding: 10px 20px 10px;
4418
+ margin-left: -20px;
4419
+ font-size: 20px;
4420
+ font-weight: 200;
4421
+ color: #777777;
4422
+ text-shadow: 0 1px 0 #ffffff;
4423
+ }
4424
+
4425
+ .navbar .brand:hover,
4426
+ .navbar .brand:focus {
4427
+ text-decoration: none;
4428
+ }
4429
+
4430
+ .navbar-text {
4431
+ margin-bottom: 0;
4432
+ line-height: 40px;
4433
+ color: #777777;
4434
+ }
4435
+
4436
+ .navbar-link {
4437
+ color: #777777;
4438
+ }
4439
+
4440
+ .navbar-link:hover,
4441
+ .navbar-link:focus {
4442
+ color: #333333;
4443
+ }
4444
+
4445
+ .navbar .divider-vertical {
4446
+ height: 40px;
4447
+ margin: 0 9px;
4448
+ border-right: 1px solid #ffffff;
4449
+ border-left: 1px solid #f2f2f2;
4450
+ }
4451
+
4452
+ .navbar .btn,
4453
+ .navbar .btn-group {
4454
+ margin-top: 5px;
4455
+ }
4456
+
4457
+ .navbar .btn-group .btn,
4458
+ .navbar .input-prepend .btn,
4459
+ .navbar .input-append .btn,
4460
+ .navbar .input-prepend .btn-group,
4461
+ .navbar .input-append .btn-group {
4462
+ margin-top: 0;
4463
+ }
4464
+
4465
+ .navbar-form {
4466
+ margin-bottom: 0;
4467
+ *zoom: 1;
4468
+ }
4469
+
4470
+ .navbar-form:before,
4471
+ .navbar-form:after {
4472
+ display: table;
4473
+ line-height: 0;
4474
+ content: "";
4475
+ }
4476
+
4477
+ .navbar-form:after {
4478
+ clear: both;
4479
+ }
4480
+
4481
+ .navbar-form input,
4482
+ .navbar-form select,
4483
+ .navbar-form .radio,
4484
+ .navbar-form .checkbox {
4485
+ margin-top: 5px;
4486
+ }
4487
+
4488
+ .navbar-form input,
4489
+ .navbar-form select,
4490
+ .navbar-form .btn {
4491
+ display: inline-block;
4492
+ margin-bottom: 0;
4493
+ }
4494
+
4495
+ .navbar-form input[type="image"],
4496
+ .navbar-form input[type="checkbox"],
4497
+ .navbar-form input[type="radio"] {
4498
+ margin-top: 3px;
4499
+ }
4500
+
4501
+ .navbar-form .input-append,
4502
+ .navbar-form .input-prepend {
4503
+ margin-top: 5px;
4504
+ white-space: nowrap;
4505
+ }
4506
+
4507
+ .navbar-form .input-append input,
4508
+ .navbar-form .input-prepend input {
4509
+ margin-top: 0;
4510
+ }
4511
+
4512
+ .navbar-search {
4513
+ position: relative;
4514
+ float: left;
4515
+ margin-top: 5px;
4516
+ margin-bottom: 0;
4517
+ }
4518
+
4519
+ .navbar-search .search-query {
4520
+ padding: 4px 14px;
4521
+ margin-bottom: 0;
4522
+ font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
4523
+ font-size: 13px;
4524
+ font-weight: normal;
4525
+ line-height: 1;
4526
+ -webkit-border-radius: 15px;
4527
+ -moz-border-radius: 15px;
4528
+ border-radius: 15px;
4529
+ }
4530
+
4531
+ .navbar-static-top {
4532
+ position: static;
4533
+ margin-bottom: 0;
4534
+ }
4535
+
4536
+ .navbar-static-top .navbar-inner {
4537
+ -webkit-border-radius: 0;
4538
+ -moz-border-radius: 0;
4539
+ border-radius: 0;
4540
+ }
4541
+
4542
+ .navbar-fixed-top,
4543
+ .navbar-fixed-bottom {
4544
+ position: fixed;
4545
+ right: 0;
4546
+ left: 0;
4547
+ z-index: 1030;
4548
+ margin-bottom: 0;
4549
+ }
4550
+
4551
+ .navbar-fixed-top .navbar-inner,
4552
+ .navbar-static-top .navbar-inner {
4553
+ border-width: 0 0 1px;
4554
+ }
4555
+
4556
+ .navbar-fixed-bottom .navbar-inner {
4557
+ border-width: 1px 0 0;
4558
+ }
4559
+
4560
+ .navbar-fixed-top .navbar-inner,
4561
+ .navbar-fixed-bottom .navbar-inner {
4562
+ padding-right: 0;
4563
+ padding-left: 0;
4564
+ -webkit-border-radius: 0;
4565
+ -moz-border-radius: 0;
4566
+ border-radius: 0;
4567
+ }
4568
+
4569
+ .navbar-static-top .container,
4570
+ .navbar-fixed-top .container,
4571
+ .navbar-fixed-bottom .container {
4572
+ width: 940px;
4573
+ }
4574
+
4575
+ .navbar-fixed-top {
4576
+ top: 0;
4577
+ }
4578
+
4579
+ .navbar-fixed-top .navbar-inner,
4580
+ .navbar-static-top .navbar-inner {
4581
+ -webkit-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
4582
+ -moz-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
4583
+ box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
4584
+ }
4585
+
4586
+ .navbar-fixed-bottom {
4587
+ bottom: 0;
4588
+ }
4589
+
4590
+ .navbar-fixed-bottom .navbar-inner {
4591
+ -webkit-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1);
4592
+ -moz-box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1);
4593
+ box-shadow: 0 -1px 10px rgba(0, 0, 0, 0.1);
4594
+ }
4595
+
4596
+ .navbar .nav {
4597
+ position: relative;
4598
+ left: 0;
4599
+ display: block;
4600
+ float: left;
4601
+ margin: 0 10px 0 0;
4602
+ }
4603
+
4604
+ .navbar .nav.pull-right {
4605
+ float: right;
4606
+ margin-right: 0;
4607
+ }
4608
+
4609
+ .navbar .nav > li {
4610
+ float: left;
4611
+ }
4612
+
4613
+ .navbar .nav > li > a {
4614
+ float: none;
4615
+ padding: 10px 15px 10px;
4616
+ color: #777777;
4617
+ text-decoration: none;
4618
+ text-shadow: 0 1px 0 #ffffff;
4619
+ }
4620
+
4621
+ .navbar .nav .dropdown-toggle .caret {
4622
+ margin-top: 8px;
4623
+ }
4624
+
4625
+ .navbar .nav > li > a:focus,
4626
+ .navbar .nav > li > a:hover {
4627
+ color: #333333;
4628
+ text-decoration: none;
4629
+ background-color: transparent;
4630
+ }
4631
+
4632
+ .navbar .nav > .active > a,
4633
+ .navbar .nav > .active > a:hover,
4634
+ .navbar .nav > .active > a:focus {
4635
+ color: #555555;
4636
+ text-decoration: none;
4637
+ background-color: #e5e5e5;
4638
+ -webkit-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
4639
+ -moz-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
4640
+ box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
4641
+ }
4642
+
4643
+ .navbar .btn-navbar {
4644
+ display: none;
4645
+ float: right;
4646
+ padding: 7px 10px;
4647
+ margin-right: 5px;
4648
+ margin-left: 5px;
4649
+ color: #ffffff;
4650
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
4651
+ background-color: #ededed;
4652
+ *background-color: #e5e5e5;
4653
+ background-image: -moz-linear-gradient(top, #f2f2f2, #e5e5e5);
4654
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f2f2f2), to(#e5e5e5));
4655
+ background-image: -webkit-linear-gradient(top, #f2f2f2, #e5e5e5);
4656
+ background-image: -o-linear-gradient(top, #f2f2f2, #e5e5e5);
4657
+ background-image: linear-gradient(to bottom, #f2f2f2, #e5e5e5);
4658
+ background-repeat: repeat-x;
4659
+ border-color: #e5e5e5 #e5e5e5 #bfbfbf;
4660
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
4661
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2', endColorstr='#ffe5e5e5', GradientType=0);
4662
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
4663
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
4664
+ -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
4665
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.075);
4666
+ }
4667
+
4668
+ .navbar .btn-navbar:hover,
4669
+ .navbar .btn-navbar:focus,
4670
+ .navbar .btn-navbar:active,
4671
+ .navbar .btn-navbar.active,
4672
+ .navbar .btn-navbar.disabled,
4673
+ .navbar .btn-navbar[disabled] {
4674
+ color: #ffffff;
4675
+ background-color: #e5e5e5;
4676
+ *background-color: #d9d9d9;
4677
+ }
4678
+
4679
+ .navbar .btn-navbar:active,
4680
+ .navbar .btn-navbar.active {
4681
+ background-color: #cccccc \9;
4682
+ }
4683
+
4684
+ .navbar .btn-navbar .icon-bar {
4685
+ display: block;
4686
+ width: 18px;
4687
+ height: 2px;
4688
+ background-color: #f5f5f5;
4689
+ -webkit-border-radius: 1px;
4690
+ -moz-border-radius: 1px;
4691
+ border-radius: 1px;
4692
+ -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
4693
+ -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
4694
+ box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
4695
+ }
4696
+
4697
+ .btn-navbar .icon-bar + .icon-bar {
4698
+ margin-top: 3px;
4699
+ }
4700
+
4701
+ .navbar .nav > li > .dropdown-menu:before {
4702
+ position: absolute;
4703
+ top: -7px;
4704
+ left: 9px;
4705
+ display: inline-block;
4706
+ border-right: 7px solid transparent;
4707
+ border-bottom: 7px solid #ccc;
4708
+ border-left: 7px solid transparent;
4709
+ border-bottom-color: rgba(0, 0, 0, 0.2);
4710
+ content: '';
4711
+ }
4712
+
4713
+ .navbar .nav > li > .dropdown-menu:after {
4714
+ position: absolute;
4715
+ top: -6px;
4716
+ left: 10px;
4717
+ display: inline-block;
4718
+ border-right: 6px solid transparent;
4719
+ border-bottom: 6px solid #ffffff;
4720
+ border-left: 6px solid transparent;
4721
+ content: '';
4722
+ }
4723
+
4724
+ .navbar-fixed-bottom .nav > li > .dropdown-menu:before {
4725
+ top: auto;
4726
+ bottom: -7px;
4727
+ border-top: 7px solid #ccc;
4728
+ border-bottom: 0;
4729
+ border-top-color: rgba(0, 0, 0, 0.2);
4730
+ }
4731
+
4732
+ .navbar-fixed-bottom .nav > li > .dropdown-menu:after {
4733
+ top: auto;
4734
+ bottom: -6px;
4735
+ border-top: 6px solid #ffffff;
4736
+ border-bottom: 0;
4737
+ }
4738
+
4739
+ .navbar .nav li.dropdown > a:hover .caret,
4740
+ .navbar .nav li.dropdown > a:focus .caret {
4741
+ border-top-color: #333333;
4742
+ border-bottom-color: #333333;
4743
+ }
4744
+
4745
+ .navbar .nav li.dropdown.open > .dropdown-toggle,
4746
+ .navbar .nav li.dropdown.active > .dropdown-toggle,
4747
+ .navbar .nav li.dropdown.open.active > .dropdown-toggle {
4748
+ color: #555555;
4749
+ background-color: #e5e5e5;
4750
+ }
4751
+
4752
+ .navbar .nav li.dropdown > .dropdown-toggle .caret {
4753
+ border-top-color: #777777;
4754
+ border-bottom-color: #777777;
4755
+ }
4756
+
4757
+ .navbar .nav li.dropdown.open > .dropdown-toggle .caret,
4758
+ .navbar .nav li.dropdown.active > .dropdown-toggle .caret,
4759
+ .navbar .nav li.dropdown.open.active > .dropdown-toggle .caret {
4760
+ border-top-color: #555555;
4761
+ border-bottom-color: #555555;
4762
+ }
4763
+
4764
+ .navbar .pull-right > li > .dropdown-menu,
4765
+ .navbar .nav > li > .dropdown-menu.pull-right {
4766
+ right: 0;
4767
+ left: auto;
4768
+ }
4769
+
4770
+ .navbar .pull-right > li > .dropdown-menu:before,
4771
+ .navbar .nav > li > .dropdown-menu.pull-right:before {
4772
+ right: 12px;
4773
+ left: auto;
4774
+ }
4775
+
4776
+ .navbar .pull-right > li > .dropdown-menu:after,
4777
+ .navbar .nav > li > .dropdown-menu.pull-right:after {
4778
+ right: 13px;
4779
+ left: auto;
4780
+ }
4781
+
4782
+ .navbar .pull-right > li > .dropdown-menu .dropdown-menu,
4783
+ .navbar .nav > li > .dropdown-menu.pull-right .dropdown-menu {
4784
+ right: 100%;
4785
+ left: auto;
4786
+ margin-right: -1px;
4787
+ margin-left: 0;
4788
+ -webkit-border-radius: 6px 0 6px 6px;
4789
+ -moz-border-radius: 6px 0 6px 6px;
4790
+ border-radius: 6px 0 6px 6px;
4791
+ }
4792
+
4793
+ .navbar-inverse .navbar-inner {
4794
+ background-color: #1b1b1b;
4795
+ background-image: -moz-linear-gradient(top, #222222, #111111);
4796
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#222222), to(#111111));
4797
+ background-image: -webkit-linear-gradient(top, #222222, #111111);
4798
+ background-image: -o-linear-gradient(top, #222222, #111111);
4799
+ background-image: linear-gradient(to bottom, #222222, #111111);
4800
+ background-repeat: repeat-x;
4801
+ border-color: #252525;
4802
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff111111', GradientType=0);
4803
+ }
4804
+
4805
+ .navbar-inverse .brand,
4806
+ .navbar-inverse .nav > li > a {
4807
+ color: #999999;
4808
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
4809
+ }
4810
+
4811
+ .navbar-inverse .brand:hover,
4812
+ .navbar-inverse .nav > li > a:hover,
4813
+ .navbar-inverse .brand:focus,
4814
+ .navbar-inverse .nav > li > a:focus {
4815
+ color: #ffffff;
4816
+ }
4817
+
4818
+ .navbar-inverse .brand {
4819
+ color: #999999;
4820
+ }
4821
+
4822
+ .navbar-inverse .navbar-text {
4823
+ color: #999999;
4824
+ }
4825
+
4826
+ .navbar-inverse .nav > li > a:focus,
4827
+ .navbar-inverse .nav > li > a:hover {
4828
+ color: #ffffff;
4829
+ background-color: transparent;
4830
+ }
4831
+
4832
+ .navbar-inverse .nav .active > a,
4833
+ .navbar-inverse .nav .active > a:hover,
4834
+ .navbar-inverse .nav .active > a:focus {
4835
+ color: #ffffff;
4836
+ background-color: #111111;
4837
+ }
4838
+
4839
+ .navbar-inverse .navbar-link {
4840
+ color: #999999;
4841
+ }
4842
+
4843
+ .navbar-inverse .navbar-link:hover,
4844
+ .navbar-inverse .navbar-link:focus {
4845
+ color: #ffffff;
4846
+ }
4847
+
4848
+ .navbar-inverse .divider-vertical {
4849
+ border-right-color: #222222;
4850
+ border-left-color: #111111;
4851
+ }
4852
+
4853
+ .navbar-inverse .nav li.dropdown.open > .dropdown-toggle,
4854
+ .navbar-inverse .nav li.dropdown.active > .dropdown-toggle,
4855
+ .navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle {
4856
+ color: #ffffff;
4857
+ background-color: #111111;
4858
+ }
4859
+
4860
+ .navbar-inverse .nav li.dropdown > a:hover .caret,
4861
+ .navbar-inverse .nav li.dropdown > a:focus .caret {
4862
+ border-top-color: #ffffff;
4863
+ border-bottom-color: #ffffff;
4864
+ }
4865
+
4866
+ .navbar-inverse .nav li.dropdown > .dropdown-toggle .caret {
4867
+ border-top-color: #999999;
4868
+ border-bottom-color: #999999;
4869
+ }
4870
+
4871
+ .navbar-inverse .nav li.dropdown.open > .dropdown-toggle .caret,
4872
+ .navbar-inverse .nav li.dropdown.active > .dropdown-toggle .caret,
4873
+ .navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle .caret {
4874
+ border-top-color: #ffffff;
4875
+ border-bottom-color: #ffffff;
4876
+ }
4877
+
4878
+ .navbar-inverse .navbar-search .search-query {
4879
+ color: #ffffff;
4880
+ background-color: #515151;
4881
+ border-color: #111111;
4882
+ -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);
4883
+ -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);
4884
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1), 0 1px 0 rgba(255, 255, 255, 0.15);
4885
+ -webkit-transition: none;
4886
+ -moz-transition: none;
4887
+ -o-transition: none;
4888
+ transition: none;
4889
+ }
4890
+
4891
+ .navbar-inverse .navbar-search .search-query:-moz-placeholder {
4892
+ color: #cccccc;
4893
+ }
4894
+
4895
+ .navbar-inverse .navbar-search .search-query:-ms-input-placeholder {
4896
+ color: #cccccc;
4897
+ }
4898
+
4899
+ .navbar-inverse .navbar-search .search-query::-webkit-input-placeholder {
4900
+ color: #cccccc;
4901
+ }
4902
+
4903
+ .navbar-inverse .navbar-search .search-query:focus,
4904
+ .navbar-inverse .navbar-search .search-query.focused {
4905
+ padding: 5px 15px;
4906
+ color: #333333;
4907
+ text-shadow: 0 1px 0 #ffffff;
4908
+ background-color: #ffffff;
4909
+ border: 0;
4910
+ outline: 0;
4911
+ -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
4912
+ -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
4913
+ box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
4914
+ }
4915
+
4916
+ .navbar-inverse .btn-navbar {
4917
+ color: #ffffff;
4918
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
4919
+ background-color: #0e0e0e;
4920
+ *background-color: #040404;
4921
+ background-image: -moz-linear-gradient(top, #151515, #040404);
4922
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#151515), to(#040404));
4923
+ background-image: -webkit-linear-gradient(top, #151515, #040404);
4924
+ background-image: -o-linear-gradient(top, #151515, #040404);
4925
+ background-image: linear-gradient(to bottom, #151515, #040404);
4926
+ background-repeat: repeat-x;
4927
+ border-color: #040404 #040404 #000000;
4928
+ border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
4929
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515', endColorstr='#ff040404', GradientType=0);
4930
+ filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
4931
+ }
4932
+
4933
+ .navbar-inverse .btn-navbar:hover,
4934
+ .navbar-inverse .btn-navbar:focus,
4935
+ .navbar-inverse .btn-navbar:active,
4936
+ .navbar-inverse .btn-navbar.active,
4937
+ .navbar-inverse .btn-navbar.disabled,
4938
+ .navbar-inverse .btn-navbar[disabled] {
4939
+ color: #ffffff;
4940
+ background-color: #040404;
4941
+ *background-color: #000000;
4942
+ }
4943
+
4944
+ .navbar-inverse .btn-navbar:active,
4945
+ .navbar-inverse .btn-navbar.active {
4946
+ background-color: #000000 \9;
4947
+ }
4948
+
4949
+ .breadcrumb {
4950
+ padding: 8px 15px;
4951
+ margin: 0 0 20px;
4952
+ list-style: none;
4953
+ background-color: #f5f5f5;
4954
+ -webkit-border-radius: 4px;
4955
+ -moz-border-radius: 4px;
4956
+ border-radius: 4px;
4957
+ }
4958
+
4959
+ .breadcrumb > li {
4960
+ display: inline-block;
4961
+ *display: inline;
4962
+ text-shadow: 0 1px 0 #ffffff;
4963
+ *zoom: 1;
4964
+ }
4965
+
4966
+ .breadcrumb > li > .divider {
4967
+ padding: 0 5px;
4968
+ color: #ccc;
4969
+ }
4970
+
4971
+ .breadcrumb > .active {
4972
+ color: #999999;
4973
+ }
4974
+
4975
+ .pagination {
4976
+ margin: 20px 0;
4977
+ }
4978
+
4979
+ .pagination ul {
4980
+ display: inline-block;
4981
+ *display: inline;
4982
+ margin-bottom: 0;
4983
+ margin-left: 0;
4984
+ -webkit-border-radius: 4px;
4985
+ -moz-border-radius: 4px;
4986
+ border-radius: 4px;
4987
+ *zoom: 1;
4988
+ -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
4989
+ -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
4990
+ box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
4991
+ }
4992
+
4993
+ .pagination ul > li {
4994
+ display: inline;
4995
+ }
4996
+
4997
+ .pagination ul > li > a,
4998
+ .pagination ul > li > span {
4999
+ float: left;
5000
+ padding: 4px 12px;
5001
+ line-height: 20px;
5002
+ text-decoration: none;
5003
+ background-color: #ffffff;
5004
+ border: 1px solid #dddddd;
5005
+ border-left-width: 0;
5006
+ }
5007
+
5008
+ .pagination ul > li > a:hover,
5009
+ .pagination ul > li > a:focus,
5010
+ .pagination ul > .active > a,
5011
+ .pagination ul > .active > span {
5012
+ background-color: #f5f5f5;
5013
+ }
5014
+
5015
+ .pagination ul > .active > a,
5016
+ .pagination ul > .active > span {
5017
+ color: #999999;
5018
+ cursor: default;
5019
+ }
5020
+
5021
+ .pagination ul > .disabled > span,
5022
+ .pagination ul > .disabled > a,
5023
+ .pagination ul > .disabled > a:hover,
5024
+ .pagination ul > .disabled > a:focus {
5025
+ color: #999999;
5026
+ cursor: default;
5027
+ background-color: transparent;
5028
+ }
5029
+
5030
+ .pagination ul > li:first-child > a,
5031
+ .pagination ul > li:first-child > span {
5032
+ border-left-width: 1px;
5033
+ -webkit-border-bottom-left-radius: 4px;
5034
+ border-bottom-left-radius: 4px;
5035
+ -webkit-border-top-left-radius: 4px;
5036
+ border-top-left-radius: 4px;
5037
+ -moz-border-radius-bottomleft: 4px;
5038
+ -moz-border-radius-topleft: 4px;
5039
+ }
5040
+
5041
+ .pagination ul > li:last-child > a,
5042
+ .pagination ul > li:last-child > span {
5043
+ -webkit-border-top-right-radius: 4px;
5044
+ border-top-right-radius: 4px;
5045
+ -webkit-border-bottom-right-radius: 4px;
5046
+ border-bottom-right-radius: 4px;
5047
+ -moz-border-radius-topright: 4px;
5048
+ -moz-border-radius-bottomright: 4px;
5049
+ }
5050
+
5051
+ .pagination-centered {
5052
+ text-align: center;
5053
+ }
5054
+
5055
+ .pagination-right {
5056
+ text-align: right;
5057
+ }
5058
+
5059
+ .pagination-large ul > li > a,
5060
+ .pagination-large ul > li > span {
5061
+ padding: 11px 19px;
5062
+ font-size: 17.5px;
5063
+ }
5064
+
5065
+ .pagination-large ul > li:first-child > a,
5066
+ .pagination-large ul > li:first-child > span {
5067
+ -webkit-border-bottom-left-radius: 6px;
5068
+ border-bottom-left-radius: 6px;
5069
+ -webkit-border-top-left-radius: 6px;
5070
+ border-top-left-radius: 6px;
5071
+ -moz-border-radius-bottomleft: 6px;
5072
+ -moz-border-radius-topleft: 6px;
5073
+ }
5074
+
5075
+ .pagination-large ul > li:last-child > a,
5076
+ .pagination-large ul > li:last-child > span {
5077
+ -webkit-border-top-right-radius: 6px;
5078
+ border-top-right-radius: 6px;
5079
+ -webkit-border-bottom-right-radius: 6px;
5080
+ border-bottom-right-radius: 6px;
5081
+ -moz-border-radius-topright: 6px;
5082
+ -moz-border-radius-bottomright: 6px;
5083
+ }
5084
+
5085
+ .pagination-mini ul > li:first-child > a,
5086
+ .pagination-small ul > li:first-child > a,
5087
+ .pagination-mini ul > li:first-child > span,
5088
+ .pagination-small ul > li:first-child > span {
5089
+ -webkit-border-bottom-left-radius: 3px;
5090
+ border-bottom-left-radius: 3px;
5091
+ -webkit-border-top-left-radius: 3px;
5092
+ border-top-left-radius: 3px;
5093
+ -moz-border-radius-bottomleft: 3px;
5094
+ -moz-border-radius-topleft: 3px;
5095
+ }
5096
+
5097
+ .pagination-mini ul > li:last-child > a,
5098
+ .pagination-small ul > li:last-child > a,
5099
+ .pagination-mini ul > li:last-child > span,
5100
+ .pagination-small ul > li:last-child > span {
5101
+ -webkit-border-top-right-radius: 3px;
5102
+ border-top-right-radius: 3px;
5103
+ -webkit-border-bottom-right-radius: 3px;
5104
+ border-bottom-right-radius: 3px;
5105
+ -moz-border-radius-topright: 3px;
5106
+ -moz-border-radius-bottomright: 3px;
5107
+ }
5108
+
5109
+ .pagination-small ul > li > a,
5110
+ .pagination-small ul > li > span {
5111
+ padding: 2px 10px;
5112
+ font-size: 11.9px;
5113
+ }
5114
+
5115
+ .pagination-mini ul > li > a,
5116
+ .pagination-mini ul > li > span {
5117
+ padding: 0 6px;
5118
+ font-size: 10.5px;
5119
+ }
5120
+
5121
+ .pager {
5122
+ margin: 20px 0;
5123
+ text-align: center;
5124
+ list-style: none;
5125
+ *zoom: 1;
5126
+ }
5127
+
5128
+ .pager:before,
5129
+ .pager:after {
5130
+ display: table;
5131
+ line-height: 0;
5132
+ content: "";
5133
+ }
5134
+
5135
+ .pager:after {
5136
+ clear: both;
5137
+ }
5138
+
5139
+ .pager li {
5140
+ display: inline;
5141
+ }
5142
+
5143
+ .pager li > a,
5144
+ .pager li > span {
5145
+ display: inline-block;
5146
+ padding: 5px 14px;
5147
+ background-color: #fff;
5148
+ border: 1px solid #ddd;
5149
+ -webkit-border-radius: 15px;
5150
+ -moz-border-radius: 15px;
5151
+ border-radius: 15px;
5152
+ }
5153
+
5154
+ .pager li > a:hover,
5155
+ .pager li > a:focus {
5156
+ text-decoration: none;
5157
+ background-color: #f5f5f5;
5158
+ }
5159
+
5160
+ .pager .next > a,
5161
+ .pager .next > span {
5162
+ float: right;
5163
+ }
5164
+
5165
+ .pager .previous > a,
5166
+ .pager .previous > span {
5167
+ float: left;
5168
+ }
5169
+
5170
+ .pager .disabled > a,
5171
+ .pager .disabled > a:hover,
5172
+ .pager .disabled > a:focus,
5173
+ .pager .disabled > span {
5174
+ color: #999999;
5175
+ cursor: default;
5176
+ background-color: #fff;
5177
+ }
5178
+
5179
+ .modal-backdrop {
5180
+ position: fixed;
5181
+ top: 0;
5182
+ right: 0;
5183
+ bottom: 0;
5184
+ left: 0;
5185
+ z-index: 1040;
5186
+ background-color: #000000;
5187
+ }
5188
+
5189
+ .modal-backdrop.fade {
5190
+ opacity: 0;
5191
+ }
5192
+
5193
+ .modal-backdrop,
5194
+ .modal-backdrop.fade.in {
5195
+ opacity: 0.8;
5196
+ filter: alpha(opacity=80);
5197
+ }
5198
+
5199
+ .modal {
5200
+ position: fixed;
5201
+ top: 10%;
5202
+ left: 50%;
5203
+ z-index: 1050;
5204
+ width: 560px;
5205
+ margin-left: -280px;
5206
+ background-color: #ffffff;
5207
+ border: 1px solid #999;
5208
+ border: 1px solid rgba(0, 0, 0, 0.3);
5209
+ *border: 1px solid #999;
5210
+ -webkit-border-radius: 6px;
5211
+ -moz-border-radius: 6px;
5212
+ border-radius: 6px;
5213
+ outline: none;
5214
+ -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
5215
+ -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
5216
+ box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
5217
+ -webkit-background-clip: padding-box;
5218
+ -moz-background-clip: padding-box;
5219
+ background-clip: padding-box;
5220
+ }
5221
+
5222
+ .modal.fade {
5223
+ top: -25%;
5224
+ -webkit-transition: opacity 0.3s linear, top 0.3s ease-out;
5225
+ -moz-transition: opacity 0.3s linear, top 0.3s ease-out;
5226
+ -o-transition: opacity 0.3s linear, top 0.3s ease-out;
5227
+ transition: opacity 0.3s linear, top 0.3s ease-out;
5228
+ }
5229
+
5230
+ .modal.fade.in {
5231
+ top: 10%;
5232
+ }
5233
+
5234
+ .modal-header {
5235
+ padding: 9px 15px;
5236
+ border-bottom: 1px solid #eee;
5237
+ }
5238
+
5239
+ .modal-header .close {
5240
+ margin-top: 2px;
5241
+ }
5242
+
5243
+ .modal-header h3 {
5244
+ margin: 0;
5245
+ line-height: 30px;
5246
+ }
5247
+
5248
+ .modal-body {
5249
+ position: relative;
5250
+ max-height: 400px;
5251
+ padding: 15px;
5252
+ overflow-y: auto;
5253
+ }
5254
+
5255
+ .modal-form {
5256
+ margin-bottom: 0;
5257
+ }
5258
+
5259
+ .modal-footer {
5260
+ padding: 14px 15px 15px;
5261
+ margin-bottom: 0;
5262
+ text-align: right;
5263
+ background-color: #f5f5f5;
5264
+ border-top: 1px solid #ddd;
5265
+ -webkit-border-radius: 0 0 6px 6px;
5266
+ -moz-border-radius: 0 0 6px 6px;
5267
+ border-radius: 0 0 6px 6px;
5268
+ *zoom: 1;
5269
+ -webkit-box-shadow: inset 0 1px 0 #ffffff;
5270
+ -moz-box-shadow: inset 0 1px 0 #ffffff;
5271
+ box-shadow: inset 0 1px 0 #ffffff;
5272
+ }
5273
+
5274
+ .modal-footer:before,
5275
+ .modal-footer:after {
5276
+ display: table;
5277
+ line-height: 0;
5278
+ content: "";
5279
+ }
5280
+
5281
+ .modal-footer:after {
5282
+ clear: both;
5283
+ }
5284
+
5285
+ .modal-footer .btn + .btn {
5286
+ margin-bottom: 0;
5287
+ margin-left: 5px;
5288
+ }
5289
+
5290
+ .modal-footer .btn-group .btn + .btn {
5291
+ margin-left: -1px;
5292
+ }
5293
+
5294
+ .modal-footer .btn-block + .btn-block {
5295
+ margin-left: 0;
5296
+ }
5297
+
5298
+ .tooltip {
5299
+ position: absolute;
5300
+ z-index: 1030;
5301
+ display: block;
5302
+ font-size: 11px;
5303
+ line-height: 1.4;
5304
+ opacity: 0;
5305
+ filter: alpha(opacity=0);
5306
+ visibility: visible;
5307
+ }
5308
+
5309
+ .tooltip.in {
5310
+ opacity: 0.8;
5311
+ filter: alpha(opacity=80);
5312
+ }
5313
+
5314
+ .tooltip.top {
5315
+ padding: 5px 0;
5316
+ margin-top: -3px;
5317
+ }
5318
+
5319
+ .tooltip.right {
5320
+ padding: 0 5px;
5321
+ margin-left: 3px;
5322
+ }
5323
+
5324
+ .tooltip.bottom {
5325
+ padding: 5px 0;
5326
+ margin-top: 3px;
5327
+ }
5328
+
5329
+ .tooltip.left {
5330
+ padding: 0 5px;
5331
+ margin-left: -3px;
5332
+ }
5333
+
5334
+ .tooltip-inner {
5335
+ max-width: 200px;
5336
+ padding: 8px;
5337
+ color: #ffffff;
5338
+ text-align: center;
5339
+ text-decoration: none;
5340
+ background-color: #000000;
5341
+ -webkit-border-radius: 4px;
5342
+ -moz-border-radius: 4px;
5343
+ border-radius: 4px;
5344
+ }
5345
+
5346
+ .tooltip-arrow {
5347
+ position: absolute;
5348
+ width: 0;
5349
+ height: 0;
5350
+ border-color: transparent;
5351
+ border-style: solid;
5352
+ }
5353
+
5354
+ .tooltip.top .tooltip-arrow {
5355
+ bottom: 0;
5356
+ left: 50%;
5357
+ margin-left: -5px;
5358
+ border-top-color: #000000;
5359
+ border-width: 5px 5px 0;
5360
+ }
5361
+
5362
+ .tooltip.right .tooltip-arrow {
5363
+ top: 50%;
5364
+ left: 0;
5365
+ margin-top: -5px;
5366
+ border-right-color: #000000;
5367
+ border-width: 5px 5px 5px 0;
5368
+ }
5369
+
5370
+ .tooltip.left .tooltip-arrow {
5371
+ top: 50%;
5372
+ right: 0;
5373
+ margin-top: -5px;
5374
+ border-left-color: #000000;
5375
+ border-width: 5px 0 5px 5px;
5376
+ }
5377
+
5378
+ .tooltip.bottom .tooltip-arrow {
5379
+ top: 0;
5380
+ left: 50%;
5381
+ margin-left: -5px;
5382
+ border-bottom-color: #000000;
5383
+ border-width: 0 5px 5px;
5384
+ }
5385
+
5386
+ .popover {
5387
+ position: absolute;
5388
+ top: 0;
5389
+ left: 0;
5390
+ z-index: 1010;
5391
+ display: none;
5392
+ max-width: 276px;
5393
+ padding: 1px;
5394
+ text-align: left;
5395
+ white-space: normal;
5396
+ background-color: #ffffff;
5397
+ border: 1px solid #ccc;
5398
+ border: 1px solid rgba(0, 0, 0, 0.2);
5399
+ -webkit-border-radius: 6px;
5400
+ -moz-border-radius: 6px;
5401
+ border-radius: 6px;
5402
+ -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
5403
+ -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
5404
+ box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
5405
+ -webkit-background-clip: padding-box;
5406
+ -moz-background-clip: padding;
5407
+ background-clip: padding-box;
5408
+ }
5409
+
5410
+ .popover.top {
5411
+ margin-top: -10px;
5412
+ }
5413
+
5414
+ .popover.right {
5415
+ margin-left: 10px;
5416
+ }
5417
+
5418
+ .popover.bottom {
5419
+ margin-top: 10px;
5420
+ }
5421
+
5422
+ .popover.left {
5423
+ margin-left: -10px;
5424
+ }
5425
+
5426
+ .popover-title {
5427
+ padding: 8px 14px;
5428
+ margin: 0;
5429
+ font-size: 14px;
5430
+ font-weight: normal;
5431
+ line-height: 18px;
5432
+ background-color: #f7f7f7;
5433
+ border-bottom: 1px solid #ebebeb;
5434
+ -webkit-border-radius: 5px 5px 0 0;
5435
+ -moz-border-radius: 5px 5px 0 0;
5436
+ border-radius: 5px 5px 0 0;
5437
+ }
5438
+
5439
+ .popover-title:empty {
5440
+ display: none;
5441
+ }
5442
+
5443
+ .popover-content {
5444
+ padding: 9px 14px;
5445
+ }
5446
+
5447
+ .popover .arrow,
5448
+ .popover .arrow:after {
5449
+ position: absolute;
5450
+ display: block;
5451
+ width: 0;
5452
+ height: 0;
5453
+ border-color: transparent;
5454
+ border-style: solid;
5455
+ }
5456
+
5457
+ .popover .arrow {
5458
+ border-width: 11px;
5459
+ }
5460
+
5461
+ .popover .arrow:after {
5462
+ border-width: 10px;
5463
+ content: "";
5464
+ }
5465
+
5466
+ .popover.top .arrow {
5467
+ bottom: -11px;
5468
+ left: 50%;
5469
+ margin-left: -11px;
5470
+ border-top-color: #999;
5471
+ border-top-color: rgba(0, 0, 0, 0.25);
5472
+ border-bottom-width: 0;
5473
+ }
5474
+
5475
+ .popover.top .arrow:after {
5476
+ bottom: 1px;
5477
+ margin-left: -10px;
5478
+ border-top-color: #ffffff;
5479
+ border-bottom-width: 0;
5480
+ }
5481
+
5482
+ .popover.right .arrow {
5483
+ top: 50%;
5484
+ left: -11px;
5485
+ margin-top: -11px;
5486
+ border-right-color: #999;
5487
+ border-right-color: rgba(0, 0, 0, 0.25);
5488
+ border-left-width: 0;
5489
+ }
5490
+
5491
+ .popover.right .arrow:after {
5492
+ bottom: -10px;
5493
+ left: 1px;
5494
+ border-right-color: #ffffff;
5495
+ border-left-width: 0;
5496
+ }
5497
+
5498
+ .popover.bottom .arrow {
5499
+ top: -11px;
5500
+ left: 50%;
5501
+ margin-left: -11px;
5502
+ border-bottom-color: #999;
5503
+ border-bottom-color: rgba(0, 0, 0, 0.25);
5504
+ border-top-width: 0;
5505
+ }
5506
+
5507
+ .popover.bottom .arrow:after {
5508
+ top: 1px;
5509
+ margin-left: -10px;
5510
+ border-bottom-color: #ffffff;
5511
+ border-top-width: 0;
5512
+ }
5513
+
5514
+ .popover.left .arrow {
5515
+ top: 50%;
5516
+ right: -11px;
5517
+ margin-top: -11px;
5518
+ border-left-color: #999;
5519
+ border-left-color: rgba(0, 0, 0, 0.25);
5520
+ border-right-width: 0;
5521
+ }
5522
+
5523
+ .popover.left .arrow:after {
5524
+ right: 1px;
5525
+ bottom: -10px;
5526
+ border-left-color: #ffffff;
5527
+ border-right-width: 0;
5528
+ }
5529
+
5530
+ .thumbnails {
5531
+ margin-left: -20px;
5532
+ list-style: none;
5533
+ *zoom: 1;
5534
+ }
5535
+
5536
+ .thumbnails:before,
5537
+ .thumbnails:after {
5538
+ display: table;
5539
+ line-height: 0;
5540
+ content: "";
5541
+ }
5542
+
5543
+ .thumbnails:after {
5544
+ clear: both;
5545
+ }
5546
+
5547
+ .row-fluid .thumbnails {
5548
+ margin-left: 0;
5549
+ }
5550
+
5551
+ .thumbnails > li {
5552
+ float: left;
5553
+ margin-bottom: 20px;
5554
+ margin-left: 20px;
5555
+ }
5556
+
5557
+ .thumbnail {
5558
+ display: block;
5559
+ padding: 4px;
5560
+ line-height: 20px;
5561
+ border: 1px solid #ddd;
5562
+ -webkit-border-radius: 4px;
5563
+ -moz-border-radius: 4px;
5564
+ border-radius: 4px;
5565
+ -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);
5566
+ -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);
5567
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);
5568
+ -webkit-transition: all 0.2s ease-in-out;
5569
+ -moz-transition: all 0.2s ease-in-out;
5570
+ -o-transition: all 0.2s ease-in-out;
5571
+ transition: all 0.2s ease-in-out;
5572
+ }
5573
+
5574
+ a.thumbnail:hover,
5575
+ a.thumbnail:focus {
5576
+ border-color: #0088cc;
5577
+ -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
5578
+ -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
5579
+ box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
5580
+ }
5581
+
5582
+ .thumbnail > img {
5583
+ display: block;
5584
+ max-width: 100%;
5585
+ margin-right: auto;
5586
+ margin-left: auto;
5587
+ }
5588
+
5589
+ .thumbnail .caption {
5590
+ padding: 9px;
5591
+ color: #555555;
5592
+ }
5593
+
5594
+ .media,
5595
+ .media-body {
5596
+ overflow: hidden;
5597
+ *overflow: visible;
5598
+ zoom: 1;
5599
+ }
5600
+
5601
+ .media,
5602
+ .media .media {
5603
+ margin-top: 15px;
5604
+ }
5605
+
5606
+ .media:first-child {
5607
+ margin-top: 0;
5608
+ }
5609
+
5610
+ .media-object {
5611
+ display: block;
5612
+ }
5613
+
5614
+ .media-heading {
5615
+ margin: 0 0 5px;
5616
+ }
5617
+
5618
+ .media > .pull-left {
5619
+ margin-right: 10px;
5620
+ }
5621
+
5622
+ .media > .pull-right {
5623
+ margin-left: 10px;
5624
+ }
5625
+
5626
+ .media-list {
5627
+ margin-left: 0;
5628
+ list-style: none;
5629
+ }
5630
+
5631
+ .label,
5632
+ .badge {
5633
+ display: inline-block;
5634
+ padding: 2px 4px;
5635
+ font-size: 11.844px;
5636
+ font-weight: bold;
5637
+ line-height: 14px;
5638
+ color: #ffffff;
5639
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
5640
+ white-space: nowrap;
5641
+ vertical-align: baseline;
5642
+ background-color: #999999;
5643
+ }
5644
+
5645
+ .label {
5646
+ -webkit-border-radius: 3px;
5647
+ -moz-border-radius: 3px;
5648
+ border-radius: 3px;
5649
+ }
5650
+
5651
+ .badge {
5652
+ padding-right: 9px;
5653
+ padding-left: 9px;
5654
+ -webkit-border-radius: 9px;
5655
+ -moz-border-radius: 9px;
5656
+ border-radius: 9px;
5657
+ }
5658
+
5659
+ .label:empty,
5660
+ .badge:empty {
5661
+ display: none;
5662
+ }
5663
+
5664
+ a.label:hover,
5665
+ a.label:focus,
5666
+ a.badge:hover,
5667
+ a.badge:focus {
5668
+ color: #ffffff;
5669
+ text-decoration: none;
5670
+ cursor: pointer;
5671
+ }
5672
+
5673
+ .label-important,
5674
+ .badge-important {
5675
+ background-color: #b94a48;
5676
+ }
5677
+
5678
+ .label-important[href],
5679
+ .badge-important[href] {
5680
+ background-color: #953b39;
5681
+ }
5682
+
5683
+ .label-warning,
5684
+ .badge-warning {
5685
+ background-color: #f89406;
5686
+ }
5687
+
5688
+ .label-warning[href],
5689
+ .badge-warning[href] {
5690
+ background-color: #c67605;
5691
+ }
5692
+
5693
+ .label-success,
5694
+ .badge-success {
5695
+ background-color: #468847;
5696
+ }
5697
+
5698
+ .label-success[href],
5699
+ .badge-success[href] {
5700
+ background-color: #356635;
5701
+ }
5702
+
5703
+ .label-info,
5704
+ .badge-info {
5705
+ background-color: #3a87ad;
5706
+ }
5707
+
5708
+ .label-info[href],
5709
+ .badge-info[href] {
5710
+ background-color: #2d6987;
5711
+ }
5712
+
5713
+ .label-inverse,
5714
+ .badge-inverse {
5715
+ background-color: #333333;
5716
+ }
5717
+
5718
+ .label-inverse[href],
5719
+ .badge-inverse[href] {
5720
+ background-color: #1a1a1a;
5721
+ }
5722
+
5723
+ .btn .label,
5724
+ .btn .badge {
5725
+ position: relative;
5726
+ top: -1px;
5727
+ }
5728
+
5729
+ .btn-mini .label,
5730
+ .btn-mini .badge {
5731
+ top: 0;
5732
+ }
5733
+
5734
+ @-webkit-keyframes progress-bar-stripes {
5735
+ from {
5736
+ background-position: 40px 0;
5737
+ }
5738
+ to {
5739
+ background-position: 0 0;
5740
+ }
5741
+ }
5742
+
5743
+ @-moz-keyframes progress-bar-stripes {
5744
+ from {
5745
+ background-position: 40px 0;
5746
+ }
5747
+ to {
5748
+ background-position: 0 0;
5749
+ }
5750
+ }
5751
+
5752
+ @-ms-keyframes progress-bar-stripes {
5753
+ from {
5754
+ background-position: 40px 0;
5755
+ }
5756
+ to {
5757
+ background-position: 0 0;
5758
+ }
5759
+ }
5760
+
5761
+ @-o-keyframes progress-bar-stripes {
5762
+ from {
5763
+ background-position: 0 0;
5764
+ }
5765
+ to {
5766
+ background-position: 40px 0;
5767
+ }
5768
+ }
5769
+
5770
+ @keyframes progress-bar-stripes {
5771
+ from {
5772
+ background-position: 40px 0;
5773
+ }
5774
+ to {
5775
+ background-position: 0 0;
5776
+ }
5777
+ }
5778
+
5779
+ .progress {
5780
+ height: 20px;
5781
+ margin-bottom: 20px;
5782
+ overflow: hidden;
5783
+ background-color: #f7f7f7;
5784
+ background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);
5785
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));
5786
+ background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);
5787
+ background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9);
5788
+ background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9);
5789
+ background-repeat: repeat-x;
5790
+ -webkit-border-radius: 4px;
5791
+ -moz-border-radius: 4px;
5792
+ border-radius: 4px;
5793
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0);
5794
+ -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
5795
+ -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
5796
+ box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
5797
+ }
5798
+
5799
+ .progress .bar {
5800
+ float: left;
5801
+ width: 0;
5802
+ height: 100%;
5803
+ font-size: 12px;
5804
+ color: #ffffff;
5805
+ text-align: center;
5806
+ text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
5807
+ background-color: #0e90d2;
5808
+ background-image: -moz-linear-gradient(top, #149bdf, #0480be);
5809
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));
5810
+ background-image: -webkit-linear-gradient(top, #149bdf, #0480be);
5811
+ background-image: -o-linear-gradient(top, #149bdf, #0480be);
5812
+ background-image: linear-gradient(to bottom, #149bdf, #0480be);
5813
+ background-repeat: repeat-x;
5814
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0);
5815
+ -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
5816
+ -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
5817
+ box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
5818
+ -webkit-box-sizing: border-box;
5819
+ -moz-box-sizing: border-box;
5820
+ box-sizing: border-box;
5821
+ -webkit-transition: width 0.6s ease;
5822
+ -moz-transition: width 0.6s ease;
5823
+ -o-transition: width 0.6s ease;
5824
+ transition: width 0.6s ease;
5825
+ }
5826
+
5827
+ .progress .bar + .bar {
5828
+ -webkit-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15);
5829
+ -moz-box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15);
5830
+ box-shadow: inset 1px 0 0 rgba(0, 0, 0, 0.15), inset 0 -1px 0 rgba(0, 0, 0, 0.15);
5831
+ }
5832
+
5833
+ .progress-striped .bar {
5834
+ background-color: #149bdf;
5835
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
5836
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5837
+ background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5838
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5839
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5840
+ -webkit-background-size: 40px 40px;
5841
+ -moz-background-size: 40px 40px;
5842
+ -o-background-size: 40px 40px;
5843
+ background-size: 40px 40px;
5844
+ }
5845
+
5846
+ .progress.active .bar {
5847
+ -webkit-animation: progress-bar-stripes 2s linear infinite;
5848
+ -moz-animation: progress-bar-stripes 2s linear infinite;
5849
+ -ms-animation: progress-bar-stripes 2s linear infinite;
5850
+ -o-animation: progress-bar-stripes 2s linear infinite;
5851
+ animation: progress-bar-stripes 2s linear infinite;
5852
+ }
5853
+
5854
+ .progress-danger .bar,
5855
+ .progress .bar-danger {
5856
+ background-color: #dd514c;
5857
+ background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
5858
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));
5859
+ background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
5860
+ background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
5861
+ background-image: linear-gradient(to bottom, #ee5f5b, #c43c35);
5862
+ background-repeat: repeat-x;
5863
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffc43c35', GradientType=0);
5864
+ }
5865
+
5866
+ .progress-danger.progress-striped .bar,
5867
+ .progress-striped .bar-danger {
5868
+ background-color: #ee5f5b;
5869
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
5870
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5871
+ background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5872
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5873
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5874
+ }
5875
+
5876
+ .progress-success .bar,
5877
+ .progress .bar-success {
5878
+ background-color: #5eb95e;
5879
+ background-image: -moz-linear-gradient(top, #62c462, #57a957);
5880
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));
5881
+ background-image: -webkit-linear-gradient(top, #62c462, #57a957);
5882
+ background-image: -o-linear-gradient(top, #62c462, #57a957);
5883
+ background-image: linear-gradient(to bottom, #62c462, #57a957);
5884
+ background-repeat: repeat-x;
5885
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff57a957', GradientType=0);
5886
+ }
5887
+
5888
+ .progress-success.progress-striped .bar,
5889
+ .progress-striped .bar-success {
5890
+ background-color: #62c462;
5891
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
5892
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5893
+ background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5894
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5895
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5896
+ }
5897
+
5898
+ .progress-info .bar,
5899
+ .progress .bar-info {
5900
+ background-color: #4bb1cf;
5901
+ background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
5902
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));
5903
+ background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
5904
+ background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
5905
+ background-image: linear-gradient(to bottom, #5bc0de, #339bb9);
5906
+ background-repeat: repeat-x;
5907
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff339bb9', GradientType=0);
5908
+ }
5909
+
5910
+ .progress-info.progress-striped .bar,
5911
+ .progress-striped .bar-info {
5912
+ background-color: #5bc0de;
5913
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
5914
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5915
+ background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5916
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5917
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5918
+ }
5919
+
5920
+ .progress-warning .bar,
5921
+ .progress .bar-warning {
5922
+ background-color: #faa732;
5923
+ background-image: -moz-linear-gradient(top, #fbb450, #f89406);
5924
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
5925
+ background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
5926
+ background-image: -o-linear-gradient(top, #fbb450, #f89406);
5927
+ background-image: linear-gradient(to bottom, #fbb450, #f89406);
5928
+ background-repeat: repeat-x;
5929
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);
5930
+ }
5931
+
5932
+ .progress-warning.progress-striped .bar,
5933
+ .progress-striped .bar-warning {
5934
+ background-color: #fbb450;
5935
+ background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
5936
+ background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5937
+ background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5938
+ background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5939
+ background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
5940
+ }
5941
+
5942
+ .accordion {
5943
+ margin-bottom: 20px;
5944
+ }
5945
+
5946
+ .accordion-group {
5947
+ margin-bottom: 2px;
5948
+ border: 1px solid #e5e5e5;
5949
+ -webkit-border-radius: 4px;
5950
+ -moz-border-radius: 4px;
5951
+ border-radius: 4px;
5952
+ }
5953
+
5954
+ .accordion-heading {
5955
+ border-bottom: 0;
5956
+ }
5957
+
5958
+ .accordion-heading .accordion-toggle {
5959
+ display: block;
5960
+ padding: 8px 15px;
5961
+ }
5962
+
5963
+ .accordion-toggle {
5964
+ cursor: pointer;
5965
+ }
5966
+
5967
+ .accordion-inner {
5968
+ padding: 9px 15px;
5969
+ border-top: 1px solid #e5e5e5;
5970
+ }
5971
+
5972
+ .carousel {
5973
+ position: relative;
5974
+ margin-bottom: 20px;
5975
+ line-height: 1;
5976
+ }
5977
+
5978
+ .carousel-inner {
5979
+ position: relative;
5980
+ width: 100%;
5981
+ overflow: hidden;
5982
+ }
5983
+
5984
+ .carousel-inner > .item {
5985
+ position: relative;
5986
+ display: none;
5987
+ -webkit-transition: 0.6s ease-in-out left;
5988
+ -moz-transition: 0.6s ease-in-out left;
5989
+ -o-transition: 0.6s ease-in-out left;
5990
+ transition: 0.6s ease-in-out left;
5991
+ }
5992
+
5993
+ .carousel-inner > .item > img,
5994
+ .carousel-inner > .item > a > img {
5995
+ display: block;
5996
+ line-height: 1;
5997
+ }
5998
+
5999
+ .carousel-inner > .active,
6000
+ .carousel-inner > .next,
6001
+ .carousel-inner > .prev {
6002
+ display: block;
6003
+ }
6004
+
6005
+ .carousel-inner > .active {
6006
+ left: 0;
6007
+ }
6008
+
6009
+ .carousel-inner > .next,
6010
+ .carousel-inner > .prev {
6011
+ position: absolute;
6012
+ top: 0;
6013
+ width: 100%;
6014
+ }
6015
+
6016
+ .carousel-inner > .next {
6017
+ left: 100%;
6018
+ }
6019
+
6020
+ .carousel-inner > .prev {
6021
+ left: -100%;
6022
+ }
6023
+
6024
+ .carousel-inner > .next.left,
6025
+ .carousel-inner > .prev.right {
6026
+ left: 0;
6027
+ }
6028
+
6029
+ .carousel-inner > .active.left {
6030
+ left: -100%;
6031
+ }
6032
+
6033
+ .carousel-inner > .active.right {
6034
+ left: 100%;
6035
+ }
6036
+
6037
+ .carousel-control {
6038
+ position: absolute;
6039
+ top: 40%;
6040
+ left: 15px;
6041
+ width: 40px;
6042
+ height: 40px;
6043
+ margin-top: -20px;
6044
+ font-size: 60px;
6045
+ font-weight: 100;
6046
+ line-height: 30px;
6047
+ color: #ffffff;
6048
+ text-align: center;
6049
+ background: #222222;
6050
+ border: 3px solid #ffffff;
6051
+ -webkit-border-radius: 23px;
6052
+ -moz-border-radius: 23px;
6053
+ border-radius: 23px;
6054
+ opacity: 0.5;
6055
+ filter: alpha(opacity=50);
6056
+ }
6057
+
6058
+ .carousel-control.right {
6059
+ right: 15px;
6060
+ left: auto;
6061
+ }
6062
+
6063
+ .carousel-control:hover,
6064
+ .carousel-control:focus {
6065
+ color: #ffffff;
6066
+ text-decoration: none;
6067
+ opacity: 0.9;
6068
+ filter: alpha(opacity=90);
6069
+ }
6070
+
6071
+ .carousel-indicators {
6072
+ position: absolute;
6073
+ top: 15px;
6074
+ right: 15px;
6075
+ z-index: 5;
6076
+ margin: 0;
6077
+ list-style: none;
6078
+ }
6079
+
6080
+ .carousel-indicators li {
6081
+ display: block;
6082
+ float: left;
6083
+ width: 10px;
6084
+ height: 10px;
6085
+ margin-left: 5px;
6086
+ text-indent: -999px;
6087
+ background-color: #ccc;
6088
+ background-color: rgba(255, 255, 255, 0.25);
6089
+ border-radius: 5px;
6090
+ }
6091
+
6092
+ .carousel-indicators .active {
6093
+ background-color: #fff;
6094
+ }
6095
+
6096
+ .carousel-caption {
6097
+ position: absolute;
6098
+ right: 0;
6099
+ bottom: 0;
6100
+ left: 0;
6101
+ padding: 15px;
6102
+ background: #333333;
6103
+ background: rgba(0, 0, 0, 0.75);
6104
+ }
6105
+
6106
+ .carousel-caption h4,
6107
+ .carousel-caption p {
6108
+ line-height: 20px;
6109
+ color: #ffffff;
6110
+ }
6111
+
6112
+ .carousel-caption h4 {
6113
+ margin: 0 0 5px;
6114
+ }
6115
+
6116
+ .carousel-caption p {
6117
+ margin-bottom: 0;
6118
+ }
6119
+
6120
+ .hero-unit {
6121
+ padding: 60px;
6122
+ margin-bottom: 30px;
6123
+ font-size: 18px;
6124
+ font-weight: 200;
6125
+ line-height: 30px;
6126
+ color: inherit;
6127
+ background-color: #eeeeee;
6128
+ -webkit-border-radius: 6px;
6129
+ -moz-border-radius: 6px;
6130
+ border-radius: 6px;
6131
+ }
6132
+
6133
+ .hero-unit h1 {
6134
+ margin-bottom: 0;
6135
+ font-size: 60px;
6136
+ line-height: 1;
6137
+ letter-spacing: -1px;
6138
+ color: inherit;
6139
+ }
6140
+
6141
+ .hero-unit li {
6142
+ line-height: 30px;
6143
+ }
6144
+
6145
+ .pull-right {
6146
+ float: right;
6147
+ }
6148
+
6149
+ .pull-left {
6150
+ float: left;
6151
+ }
6152
+
6153
+ .hide {
6154
+ display: none;
6155
+ }
6156
+
6157
+ .show {
6158
+ display: block;
6159
+ }
6160
+
6161
+ .invisible {
6162
+ visibility: hidden;
6163
+ }
6164
+
6165
+ .affix {
6166
+ position: fixed;
6167
+ }
css/index.php ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ <?php
2
+ header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
3
+ header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
4
+ header('Cache-Control: no-store, no-cache, must-revalidate');
5
+ header('Cache-Control: post-check=0, pre-check=0', false);
6
+ header('Pragma: no-cache');
7
+ header('Location: ../');
8
+ exit;
css/jquery-ui.css ADDED
@@ -0,0 +1,1175 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*! jQuery UI - v1.10.2 - 2013-03-14
2
+ * http://jqueryui.com
3
+ * Includes: jquery.ui.core.css, jquery.ui.accordion.css, jquery.ui.autocomplete.css, jquery.ui.button.css, jquery.ui.datepicker.css, jquery.ui.dialog.css, jquery.ui.menu.css, jquery.ui.progressbar.css, jquery.ui.resizable.css, jquery.ui.selectable.css, jquery.ui.slider.css, jquery.ui.spinner.css, jquery.ui.tabs.css, jquery.ui.tooltip.css
4
+ * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS%2CTahoma%2CVerdana%2CArial%2Csans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=gloss_wave&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=highlight_soft&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=glass&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=glass&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=highlight_soft&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighlight=228ef1&bgColorError=b81900&bgTextureError=diagonals_thick&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=diagonals_thick&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=flat&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px
5
+ * Copyright 2013 jQuery Foundation and other contributors Licensed MIT */
6
+
7
+ /* Layout helpers
8
+ ----------------------------------*/
9
+ .ui-helper-hidden {
10
+ display: none;
11
+ }
12
+ .ui-helper-hidden-accessible {
13
+ border: 0;
14
+ clip: rect(0 0 0 0);
15
+ height: 1px;
16
+ margin: -1px;
17
+ overflow: hidden;
18
+ padding: 0;
19
+ position: absolute;
20
+ width: 1px;
21
+ }
22
+ .ui-helper-reset {
23
+ margin: 0;
24
+ padding: 0;
25
+ border: 0;
26
+ outline: 0;
27
+ line-height: 1.3;
28
+ text-decoration: none;
29
+ font-size: 100%;
30
+ list-style: none;
31
+ }
32
+ .ui-helper-clearfix:before,
33
+ .ui-helper-clearfix:after {
34
+ content: "";
35
+ display: table;
36
+ border-collapse: collapse;
37
+ }
38
+ .ui-helper-clearfix:after {
39
+ clear: both;
40
+ }
41
+ .ui-helper-clearfix {
42
+ min-height: 0; /* support: IE7 */
43
+ }
44
+ .ui-helper-zfix {
45
+ width: 100%;
46
+ height: 100%;
47
+ top: 0;
48
+ left: 0;
49
+ position: absolute;
50
+ opacity: 0;
51
+ filter:Alpha(Opacity=0);
52
+ }
53
+
54
+ .ui-front {
55
+ z-index: 100;
56
+ }
57
+
58
+
59
+ /* Interaction Cues
60
+ ----------------------------------*/
61
+ .ui-state-disabled {
62
+ cursor: default !important;
63
+ }
64
+
65
+
66
+ /* Icons
67
+ ----------------------------------*/
68
+
69
+ /* states and images */
70
+ .ui-icon {
71
+ display: block;
72
+ text-indent: -99999px;
73
+ overflow: hidden;
74
+ background-repeat: no-repeat;
75
+ }
76
+
77
+
78
+ /* Misc visuals
79
+ ----------------------------------*/
80
+
81
+ /* Overlays */
82
+ .ui-widget-overlay {
83
+ position: fixed;
84
+ top: 0;
85
+ left: 0;
86
+ width: 100%;
87
+ height: 100%;
88
+ }
89
+ .ui-accordion .ui-accordion-header {
90
+ display: block;
91
+ cursor: pointer;
92
+ position: relative;
93
+ margin-top: 2px;
94
+ padding: .5em .5em .5em .7em;
95
+ min-height: 0; /* support: IE7 */
96
+ }
97
+ .ui-accordion .ui-accordion-icons {
98
+ padding-left: 2.2em;
99
+ }
100
+ .ui-accordion .ui-accordion-noicons {
101
+ padding-left: .7em;
102
+ }
103
+ .ui-accordion .ui-accordion-icons .ui-accordion-icons {
104
+ padding-left: 2.2em;
105
+ }
106
+ .ui-accordion .ui-accordion-header .ui-accordion-header-icon {
107
+ position: absolute;
108
+ left: .5em;
109
+ top: 50%;
110
+ margin-top: -8px;
111
+ }
112
+ .ui-accordion .ui-accordion-content {
113
+ padding: 1em 2.2em;
114
+ border-top: 0;
115
+ overflow: auto;
116
+ }
117
+ .ui-autocomplete {
118
+ position: absolute;
119
+ top: 0;
120
+ left: 0;
121
+ cursor: default;
122
+ }
123
+ .ui-button {
124
+ display: inline-block;
125
+ position: relative;
126
+ padding: 0;
127
+ line-height: normal;
128
+ margin-right: .1em;
129
+ cursor: pointer;
130
+ vertical-align: middle;
131
+ text-align: center;
132
+ overflow: visible; /* removes extra width in IE */
133
+ }
134
+ .ui-button,
135
+ .ui-button:link,
136
+ .ui-button:visited,
137
+ .ui-button:hover,
138
+ .ui-button:active {
139
+ text-decoration: none;
140
+ }
141
+ /* to make room for the icon, a width needs to be set here */
142
+ .ui-button-icon-only {
143
+ width: 2.2em;
144
+ }
145
+ /* button elements seem to need a little more width */
146
+ button.ui-button-icon-only {
147
+ width: 2.4em;
148
+ }
149
+ .ui-button-icons-only {
150
+ width: 3.4em;
151
+ }
152
+ button.ui-button-icons-only {
153
+ width: 3.7em;
154
+ }
155
+
156
+ /* button text element */
157
+ .ui-button .ui-button-text {
158
+ display: block;
159
+ line-height: normal;
160
+ }
161
+ .ui-button-text-only .ui-button-text {
162
+ padding: .4em 1em;
163
+ }
164
+ .ui-button-icon-only .ui-button-text,
165
+ .ui-button-icons-only .ui-button-text {
166
+ padding: .4em;
167
+ text-indent: -9999999px;
168
+ }
169
+ .ui-button-text-icon-primary .ui-button-text,
170
+ .ui-button-text-icons .ui-button-text {
171
+ padding: .4em 1em .4em 2.1em;
172
+ }
173
+ .ui-button-text-icon-secondary .ui-button-text,
174
+ .ui-button-text-icons .ui-button-text {
175
+ padding: .4em 2.1em .4em 1em;
176
+ }
177
+ .ui-button-text-icons .ui-button-text {
178
+ padding-left: 2.1em;
179
+ padding-right: 2.1em;
180
+ }
181
+ /* no icon support for input elements, provide padding by default */
182
+ input.ui-button {
183
+ padding: .4em 1em;
184
+ }
185
+
186
+ /* button icon element(s) */
187
+ .ui-button-icon-only .ui-icon,
188
+ .ui-button-text-icon-primary .ui-icon,
189
+ .ui-button-text-icon-secondary .ui-icon,
190
+ .ui-button-text-icons .ui-icon,
191
+ .ui-button-icons-only .ui-icon {
192
+ position: absolute;
193
+ top: 50%;
194
+ margin-top: -8px;
195
+ }
196
+ .ui-button-icon-only .ui-icon {
197
+ left: 50%;
198
+ margin-left: -8px;
199
+ }
200
+ .ui-button-text-icon-primary .ui-button-icon-primary,
201
+ .ui-button-text-icons .ui-button-icon-primary,
202
+ .ui-button-icons-only .ui-button-icon-primary {
203
+ left: .5em;
204
+ }
205
+ .ui-button-text-icon-secondary .ui-button-icon-secondary,
206
+ .ui-button-text-icons .ui-button-icon-secondary,
207
+ .ui-button-icons-only .ui-button-icon-secondary {
208
+ right: .5em;
209
+ }
210
+
211
+ /* button sets */
212
+ .ui-buttonset {
213
+ margin-right: 7px;
214
+ }
215
+ .ui-buttonset .ui-button {
216
+ margin-left: 0;
217
+ margin-right: -.3em;
218
+ }
219
+
220
+ /* workarounds */
221
+ /* reset extra padding in Firefox, see h5bp.com/l */
222
+ input.ui-button::-moz-focus-inner,
223
+ button.ui-button::-moz-focus-inner {
224
+ border: 0;
225
+ padding: 0;
226
+ }
227
+ .ui-datepicker {
228
+ width: 17em;
229
+ padding: .2em .2em 0;
230
+ display: none;
231
+ }
232
+ .ui-datepicker .ui-datepicker-header {
233
+ position: relative;
234
+ padding: .2em 0;
235
+ }
236
+ .ui-datepicker .ui-datepicker-prev,
237
+ .ui-datepicker .ui-datepicker-next {
238
+ position: absolute;
239
+ top: 2px;
240
+ width: 1.8em;
241
+ height: 1.8em;
242
+ }
243
+ .ui-datepicker .ui-datepicker-prev-hover,
244
+ .ui-datepicker .ui-datepicker-next-hover {
245
+ top: 1px;
246
+ }
247
+ .ui-datepicker .ui-datepicker-prev {
248
+ left: 2px;
249
+ }
250
+ .ui-datepicker .ui-datepicker-next {
251
+ right: 2px;
252
+ }
253
+ .ui-datepicker .ui-datepicker-prev-hover {
254
+ left: 1px;
255
+ }
256
+ .ui-datepicker .ui-datepicker-next-hover {
257
+ right: 1px;
258
+ }
259
+ .ui-datepicker .ui-datepicker-prev span,
260
+ .ui-datepicker .ui-datepicker-next span {
261
+ display: block;
262
+ position: absolute;
263
+ left: 50%;
264
+ margin-left: -8px;
265
+ top: 50%;
266
+ margin-top: -8px;
267
+ }
268
+ .ui-datepicker .ui-datepicker-title {
269
+ margin: 0 2.3em;
270
+ line-height: 1.8em;
271
+ text-align: center;
272
+ }
273
+ .ui-datepicker .ui-datepicker-title select {
274
+ font-size: 1em;
275
+ margin: 1px 0;
276
+ }
277
+ .ui-datepicker select.ui-datepicker-month-year {
278
+ width: 100%;
279
+ }
280
+ .ui-datepicker select.ui-datepicker-month,
281
+ .ui-datepicker select.ui-datepicker-year {
282
+ width: 49%;
283
+ }
284
+ .ui-datepicker table {
285
+ width: 100%;
286
+ font-size: .9em;
287
+ border-collapse: collapse;
288
+ margin: 0 0 .4em;
289
+ }
290
+ .ui-datepicker th {
291
+ padding: .7em .3em;
292
+ text-align: center;
293
+ font-weight: bold;
294
+ border: 0;
295
+ }
296
+ .ui-datepicker td {
297
+ border: 0;
298
+ padding: 1px;
299
+ }
300
+ .ui-datepicker td span,
301
+ .ui-datepicker td a {
302
+ display: block;
303
+ padding: .2em;
304
+ text-align: right;
305
+ text-decoration: none;
306
+ }
307
+ .ui-datepicker .ui-datepicker-buttonpane {
308
+ background-image: none;
309
+ margin: .7em 0 0 0;
310
+ padding: 0 .2em;
311
+ border-left: 0;
312
+ border-right: 0;
313
+ border-bottom: 0;
314
+ }
315
+ .ui-datepicker .ui-datepicker-buttonpane button {
316
+ float: right;
317
+ margin: .5em .2em .4em;
318
+ cursor: pointer;
319
+ padding: .2em .6em .3em .6em;
320
+ width: auto;
321
+ overflow: visible;
322
+ }
323
+ .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
324
+ float: left;
325
+ }
326
+
327
+ /* with multiple calendars */
328
+ .ui-datepicker.ui-datepicker-multi {
329
+ width: auto;
330
+ }
331
+ .ui-datepicker-multi .ui-datepicker-group {
332
+ float: left;
333
+ }
334
+ .ui-datepicker-multi .ui-datepicker-group table {
335
+ width: 95%;
336
+ margin: 0 auto .4em;
337
+ }
338
+ .ui-datepicker-multi-2 .ui-datepicker-group {
339
+ width: 50%;
340
+ }
341
+ .ui-datepicker-multi-3 .ui-datepicker-group {
342
+ width: 33.3%;
343
+ }
344
+ .ui-datepicker-multi-4 .ui-datepicker-group {
345
+ width: 25%;
346
+ }
347
+ .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,
348
+ .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
349
+ border-left-width: 0;
350
+ }
351
+ .ui-datepicker-multi .ui-datepicker-buttonpane {
352
+ clear: left;
353
+ }
354
+ .ui-datepicker-row-break {
355
+ clear: both;
356
+ width: 100%;
357
+ font-size: 0;
358
+ }
359
+
360
+ /* RTL support */
361
+ .ui-datepicker-rtl {
362
+ direction: rtl;
363
+ }
364
+ .ui-datepicker-rtl .ui-datepicker-prev {
365
+ right: 2px;
366
+ left: auto;
367
+ }
368
+ .ui-datepicker-rtl .ui-datepicker-next {
369
+ left: 2px;
370
+ right: auto;
371
+ }
372
+ .ui-datepicker-rtl .ui-datepicker-prev:hover {
373
+ right: 1px;
374
+ left: auto;
375
+ }
376
+ .ui-datepicker-rtl .ui-datepicker-next:hover {
377
+ left: 1px;
378
+ right: auto;
379
+ }
380
+ .ui-datepicker-rtl .ui-datepicker-buttonpane {
381
+ clear: right;
382
+ }
383
+ .ui-datepicker-rtl .ui-datepicker-buttonpane button {
384
+ float: left;
385
+ }
386
+ .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,
387
+ .ui-datepicker-rtl .ui-datepicker-group {
388
+ float: right;
389
+ }
390
+ .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
391
+ .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
392
+ border-right-width: 0;
393
+ border-left-width: 1px;
394
+ }
395
+ .ui-dialog {
396
+ position: absolute;
397
+ top: 0;
398
+ left: 0;
399
+ padding: .2em;
400
+ outline: 0;
401
+ }
402
+ .ui-dialog .ui-dialog-titlebar {
403
+ padding: .4em 1em;
404
+ position: relative;
405
+ }
406
+ .ui-dialog .ui-dialog-title {
407
+ float: left;
408
+ margin: .1em 0;
409
+ white-space: nowrap;
410
+ width: 90%;
411
+ overflow: hidden;
412
+ text-overflow: ellipsis;
413
+ }
414
+ .ui-dialog .ui-dialog-titlebar-close {
415
+ position: absolute;
416
+ right: .3em;
417
+ top: 50%;
418
+ width: 21px;
419
+ margin: -10px 0 0 0;
420
+ padding: 1px;
421
+ height: 20px;
422
+ }
423
+ .ui-dialog .ui-dialog-content {
424
+ position: relative;
425
+ border: 0;
426
+ padding: .5em 1em;
427
+ background: none;
428
+ overflow: auto;
429
+ }
430
+ .ui-dialog .ui-dialog-buttonpane {
431
+ text-align: left;
432
+ border-width: 1px 0 0 0;
433
+ background-image: none;
434
+ margin-top: .5em;
435
+ padding: .3em 1em .5em .4em;
436
+ }
437
+ .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {
438
+ float: right;
439
+ }
440
+ .ui-dialog .ui-dialog-buttonpane button {
441
+ margin: .5em .4em .5em 0;
442
+ cursor: pointer;
443
+ }
444
+ .ui-dialog .ui-resizable-se {
445
+ width: 12px;
446
+ height: 12px;
447
+ right: -5px;
448
+ bottom: -5px;
449
+ background-position: 16px 16px;
450
+ }
451
+ .ui-draggable .ui-dialog-titlebar {
452
+ cursor: move;
453
+ }
454
+ .ui-menu {
455
+ list-style: none;
456
+ padding: 2px;
457
+ margin: 0;
458
+ display: block;
459
+ outline: none;
460
+ }
461
+ .ui-menu .ui-menu {
462
+ margin-top: -3px;
463
+ position: absolute;
464
+ }
465
+ .ui-menu .ui-menu-item {
466
+ margin: 0;
467
+ padding: 0;
468
+ width: 100%;
469
+ }
470
+ .ui-menu .ui-menu-divider {
471
+ margin: 5px -2px 5px -2px;
472
+ height: 0;
473
+ font-size: 0;
474
+ line-height: 0;
475
+ border-width: 1px 0 0 0;
476
+ }
477
+ .ui-menu .ui-menu-item a {
478
+ text-decoration: none;
479
+ display: block;
480
+ padding: 2px .4em;
481
+ line-height: 1.5;
482
+ min-height: 0; /* support: IE7 */
483
+ font-weight: normal;
484
+ }
485
+ .ui-menu .ui-menu-item a.ui-state-focus,
486
+ .ui-menu .ui-menu-item a.ui-state-active {
487
+ font-weight: normal;
488
+ margin: -1px;
489
+ }
490
+
491
+ .ui-menu .ui-state-disabled {
492
+ font-weight: normal;
493
+ margin: .4em 0 .2em;
494
+ line-height: 1.5;
495
+ }
496
+ .ui-menu .ui-state-disabled a {
497
+ cursor: default;
498
+ }
499
+
500
+ /* icon support */
501
+ .ui-menu-icons {
502
+ position: relative;
503
+ }
504
+ .ui-menu-icons .ui-menu-item a {
505
+ position: relative;
506
+ padding-left: 2em;
507
+ }
508
+
509
+ /* left-aligned */
510
+ .ui-menu .ui-icon {
511
+ position: absolute;
512
+ top: .2em;
513
+ left: .2em;
514
+ }
515
+
516
+ /* right-aligned */
517
+ .ui-menu .ui-menu-icon {
518
+ position: static;
519
+ float: right;
520
+ }
521
+ .ui-progressbar {
522
+ height: 2em;
523
+ text-align: left;
524
+ overflow: hidden;
525
+ }
526
+ .ui-progressbar .ui-progressbar-value {
527
+ margin: -1px;
528
+ height: 100%;
529
+ }
530
+ .ui-progressbar .ui-progressbar-overlay {
531
+ background: url("images/animated-overlay.gif");
532
+ height: 100%;
533
+ filter: alpha(opacity=25);
534
+ opacity: 0.25;
535
+ }
536
+ .ui-progressbar-indeterminate .ui-progressbar-value {
537
+ background-image: none;
538
+ }
539
+ .ui-resizable {
540
+ position: relative;
541
+ }
542
+ .ui-resizable-handle {
543
+ position: absolute;
544
+ font-size: 0.1px;
545
+ display: block;
546
+ }
547
+ .ui-resizable-disabled .ui-resizable-handle,
548
+ .ui-resizable-autohide .ui-resizable-handle {
549
+ display: none;
550
+ }
551
+ .ui-resizable-n {
552
+ cursor: n-resize;
553
+ height: 7px;
554
+ width: 100%;
555
+ top: -5px;
556
+ left: 0;
557
+ }
558
+ .ui-resizable-s {
559
+ cursor: s-resize;
560
+ height: 7px;
561
+ width: 100%;
562
+ bottom: -5px;
563
+ left: 0;
564
+ }
565
+ .ui-resizable-e {
566
+ cursor: e-resize;
567
+ width: 7px;
568
+ right: -5px;
569
+ top: 0;
570
+ height: 100%;
571
+ }
572
+ .ui-resizable-w {
573
+ cursor: w-resize;
574
+ width: 7px;
575
+ left: -5px;
576
+ top: 0;
577
+ height: 100%;
578
+ }
579
+ .ui-resizable-se {
580
+ cursor: se-resize;
581
+ width: 12px;
582
+ height: 12px;
583
+ right: 1px;
584
+ bottom: 1px;
585
+ }
586
+ .ui-resizable-sw {
587
+ cursor: sw-resize;
588
+ width: 9px;
589
+ height: 9px;
590
+ left: -5px;
591
+ bottom: -5px;
592
+ }
593
+ .ui-resizable-nw {
594
+ cursor: nw-resize;
595
+ width: 9px;
596
+ height: 9px;
597
+ left: -5px;
598
+ top: -5px;
599
+ }
600
+ .ui-resizable-ne {
601
+ cursor: ne-resize;
602
+ width: 9px;
603
+ height: 9px;
604
+ right: -5px;
605
+ top: -5px;
606
+ }
607
+ .ui-selectable-helper {
608
+ position: absolute;
609
+ z-index: 100;
610
+ border: 1px dotted black;
611
+ }
612
+ .ui-slider {
613
+ position: relative;
614
+ text-align: left;
615
+ }
616
+ .ui-slider .ui-slider-handle {
617
+ position: absolute;
618
+ z-index: 2;
619
+ width: 1.2em;
620
+ height: 1.2em;
621
+ cursor: default;
622
+ }
623
+ .ui-slider .ui-slider-range {
624
+ position: absolute;
625
+ z-index: 1;
626
+ font-size: .7em;
627
+ display: block;
628
+ border: 0;
629
+ background-position: 0 0;
630
+ }
631
+
632
+ /* For IE8 - See #6727 */
633
+ .ui-slider.ui-state-disabled .ui-slider-handle,
634
+ .ui-slider.ui-state-disabled .ui-slider-range {
635
+ filter: inherit;
636
+ }
637
+
638
+ .ui-slider-horizontal {
639
+ height: .8em;
640
+ }
641
+ .ui-slider-horizontal .ui-slider-handle {
642
+ top: -.3em;
643
+ margin-left: -.6em;
644
+ }
645
+ .ui-slider-horizontal .ui-slider-range {
646
+ top: 0;
647
+ height: 100%;
648
+ }
649
+ .ui-slider-horizontal .ui-slider-range-min {
650
+ left: 0;
651
+ }
652
+ .ui-slider-horizontal .ui-slider-range-max {
653
+ right: 0;
654
+ }
655
+
656
+ .ui-slider-vertical {
657
+ width: .8em;
658
+ height: 100px;
659
+ }
660
+ .ui-slider-vertical .ui-slider-handle {
661
+ left: -.3em;
662
+ margin-left: 0;
663
+ margin-bottom: -.6em;
664
+ }
665
+ .ui-slider-vertical .ui-slider-range {
666
+ left: 0;
667
+ width: 100%;
668
+ }
669
+ .ui-slider-vertical .ui-slider-range-min {
670
+ bottom: 0;
671
+ }
672
+ .ui-slider-vertical .ui-slider-range-max {
673
+ top: 0;
674
+ }
675
+ .ui-spinner {
676
+ position: relative;
677
+ display: inline-block;
678
+ overflow: hidden;
679
+ padding: 0;
680
+ vertical-align: middle;
681
+ }
682
+ .ui-spinner-input {
683
+ border: none;
684
+ background: none;
685
+ color: inherit;
686
+ padding: 0;
687
+ margin: .2em 0;
688
+ vertical-align: middle;
689
+ margin-left: .4em;
690
+ margin-right: 22px;
691
+ }
692
+ .ui-spinner-button {
693
+ width: 16px;
694
+ height: 50%;
695
+ font-size: .5em;
696
+ padding: 0;
697
+ margin: 0;
698
+ text-align: center;
699
+ position: absolute;
700
+ cursor: default;
701
+ display: block;
702
+ overflow: hidden;
703
+ right: 0;
704
+ }
705
+ /* more specificity required here to overide default borders */
706
+ .ui-spinner a.ui-spinner-button {
707
+ border-top: none;
708
+ border-bottom: none;
709
+ border-right: none;
710
+ }
711
+ /* vertical centre icon */
712
+ .ui-spinner .ui-icon {
713
+ position: absolute;
714
+ margin-top: -8px;
715
+ top: 50%;
716
+ left: 0;
717
+ }
718
+ .ui-spinner-up {
719
+ top: 0;
720
+ }
721
+ .ui-spinner-down {
722
+ bottom: 0;
723
+ }
724
+
725
+ /* TR overrides */
726
+ .ui-spinner .ui-icon-triangle-1-s {
727
+ /* need to fix icons sprite */
728
+ background-position: -65px -16px;
729
+ }
730
+ .ui-tabs {
731
+ position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */
732
+ padding: .2em;
733
+ }
734
+ .ui-tabs .ui-tabs-nav {
735
+ margin: 0;
736
+ padding: .2em .2em 0;
737
+ }
738
+ .ui-tabs .ui-tabs-nav li {
739
+ list-style: none;
740
+ float: left;
741
+ position: relative;
742
+ top: 0;
743
+ margin: 1px .2em 0 0;
744
+ border-bottom-width: 0;
745
+ padding: 0;
746
+ white-space: nowrap;
747
+ }
748
+ .ui-tabs .ui-tabs-nav li a {
749
+ float: left;
750
+ padding: .5em 1em;
751
+ text-decoration: none;
752
+ }
753
+ .ui-tabs .ui-tabs-nav li.ui-tabs-active {
754
+ margin-bottom: -1px;
755
+ padding-bottom: 1px;
756
+ }
757
+ .ui-tabs .ui-tabs-nav li.ui-tabs-active a,
758
+ .ui-tabs .ui-tabs-nav li.ui-state-disabled a,
759
+ .ui-tabs .ui-tabs-nav li.ui-tabs-loading a {
760
+ cursor: text;
761
+ }
762
+ .ui-tabs .ui-tabs-nav li a, /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */
763
+ .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a {
764
+ cursor: pointer;
765
+ }
766
+ .ui-tabs .ui-tabs-panel {
767
+ display: block;
768
+ border-width: 0;
769
+ padding: 1em 1.4em;
770
+ background: none;
771
+ }
772
+ .ui-tooltip {
773
+ padding: 8px;
774
+ position: absolute;
775
+ z-index: 9999;
776
+ max-width: 300px;
777
+ -webkit-box-shadow: 0 0 5px #aaa;
778
+ box-shadow: 0 0 5px #aaa;
779
+ }
780
+ body .ui-tooltip {
781
+ border-width: 2px;
782
+ }
783
+
784
+ /* Component containers
785
+ ----------------------------------*/
786
+ .ui-widget {
787
+ font-family: Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;
788
+ font-size: 1.1em;
789
+ }
790
+ .ui-widget .ui-widget {
791
+ font-size: 1em;
792
+ }
793
+ .ui-widget input,
794
+ .ui-widget select,
795
+ .ui-widget textarea,
796
+ .ui-widget button {
797
+ font-family: Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;
798
+ font-size: 1em;
799
+ }
800
+ .ui-widget-content {
801
+ border: 1px solid #dddddd;
802
+ background: #eeeeee url(images/ui-bg_highlight-soft_100_eeeeee_1x100.png) 50% top repeat-x;
803
+ color: #333333;
804
+ }
805
+ .ui-widget-content a {
806
+ color: #333333;
807
+ }
808
+ .ui-widget-header {
809
+ border: 1px solid #e78f08;
810
+ background: #f6a828 url(images/ui-bg_gloss-wave_35_f6a828_500x100.png) 50% 50% repeat-x;
811
+ color: #ffffff;
812
+ font-weight: bold;
813
+ }
814
+ .ui-widget-header a {
815
+ color: #ffffff;
816
+ }
817
+
818
+ /* Interaction states
819
+ ----------------------------------*/
820
+ .ui-state-default,
821
+ .ui-widget-content .ui-state-default,
822
+ .ui-widget-header .ui-state-default {
823
+ border: 1px solid #cccccc;
824
+ background: #f6f6f6 url(images/ui-bg_glass_100_f6f6f6_1x400.png) 50% 50% repeat-x;
825
+ font-weight: bold;
826
+ color: #1c94c4;
827
+ }
828
+ .ui-state-default a,
829
+ .ui-state-default a:link,
830
+ .ui-state-default a:visited {
831
+ color: #1c94c4;
832
+ text-decoration: none;
833
+ }
834
+ .ui-state-hover,
835
+ .ui-widget-content .ui-state-hover,
836
+ .ui-widget-header .ui-state-hover,
837
+ .ui-state-focus,
838
+ .ui-widget-content .ui-state-focus,
839
+ .ui-widget-header .ui-state-focus {
840
+ border: 1px solid #fbcb09;
841
+ background: #fdf5ce url(images/ui-bg_glass_100_fdf5ce_1x400.png) 50% 50% repeat-x;
842
+ font-weight: bold;
843
+ color: #c77405;
844
+ }
845
+ .ui-state-hover a,
846
+ .ui-state-hover a:hover,
847
+ .ui-state-hover a:link,
848
+ .ui-state-hover a:visited {
849
+ color: #c77405;
850
+ text-decoration: none;
851
+ }
852
+ .ui-state-active,
853
+ .ui-widget-content .ui-state-active,
854
+ .ui-widget-header .ui-state-active {
855
+ border: 1px solid #fbd850;
856
+ background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x;
857
+ font-weight: bold;
858
+ color: #eb8f00;
859
+ }
860
+ .ui-state-active a,
861
+ .ui-state-active a:link,
862
+ .ui-state-active a:visited {
863
+ color: #eb8f00;
864
+ text-decoration: none;
865
+ }
866
+
867
+ /* Interaction Cues
868
+ ----------------------------------*/
869
+ .ui-state-highlight,
870
+ .ui-widget-content .ui-state-highlight,
871
+ .ui-widget-header .ui-state-highlight {
872
+ border: 1px solid #fed22f;
873
+ background: #ffe45c url(images/ui-bg_highlight-soft_75_ffe45c_1x100.png) 50% top repeat-x;
874
+ color: #363636;
875
+ }
876
+ .ui-state-highlight a,
877
+ .ui-widget-content .ui-state-highlight a,
878
+ .ui-widget-header .ui-state-highlight a {
879
+ color: #363636;
880
+ }
881
+ .ui-state-error,
882
+ .ui-widget-content .ui-state-error,
883
+ .ui-widget-header .ui-state-error {
884
+ border: 1px solid #cd0a0a;
885
+ background: #b81900 url(images/ui-bg_diagonals-thick_18_b81900_40x40.png) 50% 50% repeat;
886
+ color: #ffffff;
887
+ }
888
+ .ui-state-error a,
889
+ .ui-widget-content .ui-state-error a,
890
+ .ui-widget-header .ui-state-error a {
891
+ color: #ffffff;
892
+ }
893
+ .ui-state-error-text,
894
+ .ui-widget-content .ui-state-error-text,
895
+ .ui-widget-header .ui-state-error-text {
896
+ color: #ffffff;
897
+ }
898
+ .ui-priority-primary,
899
+ .ui-widget-content .ui-priority-primary,
900
+ .ui-widget-header .ui-priority-primary {
901
+ font-weight: bold;
902
+ }
903
+ .ui-priority-secondary,
904
+ .ui-widget-content .ui-priority-secondary,
905
+ .ui-widget-header .ui-priority-secondary {
906
+ opacity: .7;
907
+ filter:Alpha(Opacity=70);
908
+ font-weight: normal;
909
+ }
910
+ .ui-state-disabled,
911
+ .ui-widget-content .ui-state-disabled,
912
+ .ui-widget-header .ui-state-disabled {
913
+ opacity: .35;
914
+ filter:Alpha(Opacity=35);
915
+ background-image: none;
916
+ }
917
+ .ui-state-disabled .ui-icon {
918
+ filter:Alpha(Opacity=35); /* For IE8 - See #6059 */
919
+ }
920
+
921
+ /* Icons
922
+ ----------------------------------*/
923
+
924
+ /* states and images */
925
+ .ui-icon {
926
+ width: 16px;
927
+ height: 16px;
928
+ }
929
+ .ui-icon,
930
+ .ui-widget-content .ui-icon {
931
+ background-image: url(images/ui-icons_222222_256x240.png);
932
+ }
933
+ .ui-widget-header .ui-icon {
934
+ background-image: url(images/ui-icons_ffffff_256x240.png);
935
+ }
936
+ .ui-state-default .ui-icon {
937
+ background-image: url(../img/ui-icons_ef8c08_256x240.png);
938
+ }
939
+ .ui-state-hover .ui-icon,
940
+ .ui-state-focus .ui-icon {
941
+ background-image: url(../img/ui-icons_ef8c08_256x240.png);
942
+ }
943
+ .ui-state-active .ui-icon {
944
+ background-image: url(../img/ui-icons_ef8c08_256x240.png);
945
+ }
946
+ .ui-state-highlight .ui-icon {
947
+ background-image: url(images/ui-icons_228ef1_256x240.png);
948
+ }
949
+ .ui-state-error .ui-icon,
950
+ .ui-state-error-text .ui-icon {
951
+ background-image: url(images/ui-icons_ffd27a_256x240.png);
952
+ }
953
+
954
+ /* positioning */
955
+ .ui-icon-blank { background-position: 16px 16px; }
956
+ .ui-icon-carat-1-n { background-position: 0 0; }
957
+ .ui-icon-carat-1-ne { background-position: -16px 0; }
958
+ .ui-icon-carat-1-e { background-position: -32px 0; }
959
+ .ui-icon-carat-1-se { background-position: -48px 0; }
960
+ .ui-icon-carat-1-s { background-position: -64px 0; }
961
+ .ui-icon-carat-1-sw { background-position: -80px 0; }
962
+ .ui-icon-carat-1-w { background-position: -96px 0; }
963
+ .ui-icon-carat-1-nw { background-position: -112px 0; }
964
+ .ui-icon-carat-2-n-s { background-position: -128px 0; }
965
+ .ui-icon-carat-2-e-w { background-position: -144px 0; }
966
+ .ui-icon-triangle-1-n { background-position: 0 -16px; }
967
+ .ui-icon-triangle-1-ne { background-position: -16px -16px; }
968
+ .ui-icon-triangle-1-e { background-position: -32px -16px; }
969
+ .ui-icon-triangle-1-se { background-position: -48px -16px; }
970
+ .ui-icon-triangle-1-s { background-position: -64px -16px; }
971
+ .ui-icon-triangle-1-sw { background-position: -80px -16px; }
972
+ .ui-icon-triangle-1-w { background-position: -96px -16px; }
973
+ .ui-icon-triangle-1-nw { background-position: -112px -16px; }
974
+ .ui-icon-triangle-2-n-s { background-position: -128px -16px; }
975
+ .ui-icon-triangle-2-e-w { background-position: -144px -16px; }
976
+ .ui-icon-arrow-1-n { background-position: 0 -32px; }
977
+ .ui-icon-arrow-1-ne { background-position: -16px -32px; }
978
+ .ui-icon-arrow-1-e { background-position: -32px -32px; }
979
+ .ui-icon-arrow-1-se { background-position: -48px -32px; }
980
+ .ui-icon-arrow-1-s { background-position: -64px -32px; }
981
+ .ui-icon-arrow-1-sw { background-position: -80px -32px; }
982
+ .ui-icon-arrow-1-w { background-position: -96px -32px; }
983
+ .ui-icon-arrow-1-nw { background-position: -112px -32px; }
984
+ .ui-icon-arrow-2-n-s { background-position: -128px -32px; }
985
+ .ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
986
+ .ui-icon-arrow-2-e-w { background-position: -160px -32px; }
987
+ .ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
988
+ .ui-icon-arrowstop-1-n { background-position: -192px -32px; }
989
+ .ui-icon-arrowstop-1-e { background-position: -208px -32px; }
990
+ .ui-icon-arrowstop-1-s { background-position: -224px -32px; }
991
+ .ui-icon-arrowstop-1-w { background-position: -240px -32px; }
992
+ .ui-icon-arrowthick-1-n { background-position: 0 -48px; }
993
+ .ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
994
+ .ui-icon-arrowthick-1-e { background-position: -32px -48px; }
995
+ .ui-icon-arrowthick-1-se { background-position: -48px -48px; }
996
+ .ui-icon-arrowthick-1-s { background-position: -64px -48px; }
997
+ .ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
998
+ .ui-icon-arrowthick-1-w { background-position: -96px -48px; }
999
+ .ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
1000
+ .ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
1001
+ .ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
1002
+ .ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
1003
+ .ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
1004
+ .ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
1005
+ .ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
1006
+ .ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
1007
+ .ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
1008
+ .ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
1009
+ .ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
1010
+ .ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
1011
+ .ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
1012
+ .ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
1013
+ .ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
1014
+ .ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
1015
+ .ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
1016
+ .ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
1017
+ .ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
1018
+ .ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
1019
+ .ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
1020
+ .ui-icon-arrow-4 { background-position: 0 -80px; }
1021
+ .ui-icon-arrow-4-diag { background-position: -16px -80px; }
1022
+ .ui-icon-extlink { background-position: -32px -80px; }
1023
+ .ui-icon-newwin { background-position: -48px -80px; }
1024
+ .ui-icon-refresh { background-position: -64px -80px; }
1025
+ .ui-icon-shuffle { background-position: -80px -80px; }
1026
+ .ui-icon-transfer-e-w { background-position: -96px -80px; }
1027
+ .ui-icon-transferthick-e-w { background-position: -112px -80px; }
1028
+ .ui-icon-folder-collapsed { background-position: 0 -96px; }
1029
+ .ui-icon-folder-open { background-position: -16px -96px; }
1030
+ .ui-icon-document { background-position: -32px -96px; }
1031
+ .ui-icon-document-b { background-position: -48px -96px; }
1032
+ .ui-icon-note { background-position: -64px -96px; }
1033
+ .ui-icon-mail-closed { background-position: -80px -96px; }
1034
+ .ui-icon-mail-open { background-position: -96px -96px; }
1035
+ .ui-icon-suitcase { background-position: -112px -96px; }
1036
+ .ui-icon-comment { background-position: -128px -96px; }
1037
+ .ui-icon-person { background-position: -144px -96px; }
1038
+ .ui-icon-print { background-position: -160px -96px; }
1039
+ .ui-icon-trash { background-position: -176px -96px; }
1040
+ .ui-icon-locked { background-position: -192px -96px; }
1041
+ .ui-icon-unlocked { background-position: -208px -96px; }
1042
+ .ui-icon-bookmark { background-position: -224px -96px; }
1043
+ .ui-icon-tag { background-position: -240px -96px; }
1044
+ .ui-icon-home { background-position: 0 -112px; }
1045
+ .ui-icon-flag { background-position: -16px -112px; }
1046
+ .ui-icon-calendar { background-position: -32px -112px; }
1047
+ .ui-icon-cart { background-position: -48px -112px; }
1048
+ .ui-icon-pencil { background-position: -64px -112px; }
1049
+ .ui-icon-clock { background-position: -80px -112px; }
1050
+ .ui-icon-disk { background-position: -96px -112px; }
1051
+ .ui-icon-calculator { background-position: -112px -112px; }
1052
+ .ui-icon-zoomin { background-position: -128px -112px; }
1053
+ .ui-icon-zoomout { background-position: -144px -112px; }
1054
+ .ui-icon-search { background-position: -160px -112px; }
1055
+ .ui-icon-wrench { background-position: -176px -112px; }
1056
+ .ui-icon-gear { background-position: -192px -112px; }
1057
+ .ui-icon-heart { background-position: -208px -112px; }
1058
+ .ui-icon-star { background-position: -224px -112px; }
1059
+ .ui-icon-link { background-position: -240px -112px; }
1060
+ .ui-icon-cancel { background-position: 0 -128px; }
1061
+ .ui-icon-plus { background-position: -16px -128px; }
1062
+ .ui-icon-plusthick { background-position: -32px -128px; }
1063
+ .ui-icon-minus { background-position: -48px -128px; }
1064
+ .ui-icon-minusthick { background-position: -64px -128px; }
1065
+ .ui-icon-close { background-position: -80px -128px; }
1066
+ .ui-icon-closethick { background-position: -96px -128px; }
1067
+ .ui-icon-key { background-position: -112px -128px; }
1068
+ .ui-icon-lightbulb { background-position: -128px -128px; }
1069
+ .ui-icon-scissors { background-position: -144px -128px; }
1070
+ .ui-icon-clipboard { background-position: -160px -128px; }
1071
+ .ui-icon-copy { background-position: -176px -128px; }
1072
+ .ui-icon-contact { background-position: -192px -128px; }
1073
+ .ui-icon-image { background-position: -208px -128px; }
1074
+ .ui-icon-video { background-position: -224px -128px; }
1075
+ .ui-icon-script { background-position: -240px -128px; }
1076
+ .ui-icon-alert { background-position: 0 -144px; }
1077
+ .ui-icon-info { background-position: -16px -144px; }
1078
+ .ui-icon-notice { background-position: -32px -144px; }
1079
+ .ui-icon-help { background-position: -48px -144px; }
1080
+ .ui-icon-check { background-position: -64px -144px; }
1081
+ .ui-icon-bullet { background-position: -80px -144px; }
1082
+ .ui-icon-radio-on { background-position: -96px -144px; }
1083
+ .ui-icon-radio-off { background-position: -112px -144px; }
1084
+ .ui-icon-pin-w { background-position: -128px -144px; }
1085
+ .ui-icon-pin-s { background-position: -144px -144px; }
1086
+ .ui-icon-play { background-position: 0 -160px; }
1087
+ .ui-icon-pause { background-position: -16px -160px; }
1088
+ .ui-icon-seek-next { background-position: -32px -160px; }
1089
+ .ui-icon-seek-prev { background-position: -48px -160px; }
1090
+ .ui-icon-seek-end { background-position: -64px -160px; }
1091
+ .ui-icon-seek-start { background-position: -80px -160px; }
1092
+ /* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */
1093
+ .ui-icon-seek-first { background-position: -80px -160px; }
1094
+ .ui-icon-stop { background-position: -96px -160px; }
1095
+ .ui-icon-eject { background-position: -112px -160px; }
1096
+ .ui-icon-volume-off { background-position: -128px -160px; }
1097
+ .ui-icon-volume-on { background-position: -144px -160px; }
1098
+ .ui-icon-power { background-position: 0 -176px; }
1099
+ .ui-icon-signal-diag { background-position: -16px -176px; }
1100
+ .ui-icon-signal { background-position: -32px -176px; }
1101
+ .ui-icon-battery-0 { background-position: -48px -176px; }
1102
+ .ui-icon-battery-1 { background-position: -64px -176px; }
1103
+ .ui-icon-battery-2 { background-position: -80px -176px; }
1104
+ .ui-icon-battery-3 { background-position: -96px -176px; }
1105
+ .ui-icon-circle-plus { background-position: 0 -192px; }
1106
+ .ui-icon-circle-minus { background-position: -16px -192px; }
1107
+ .ui-icon-circle-close { background-position: -32px -192px; }
1108
+ .ui-icon-circle-triangle-e { background-position: -48px -192px; }
1109
+ .ui-icon-circle-triangle-s { background-position: -64px -192px; }
1110
+ .ui-icon-circle-triangle-w { background-position: -80px -192px; }
1111
+ .ui-icon-circle-triangle-n { background-position: -96px -192px; }
1112
+ .ui-icon-circle-arrow-e { background-position: -112px -192px; }
1113
+ .ui-icon-circle-arrow-s { background-position: -128px -192px; }
1114
+ .ui-icon-circle-arrow-w { background-position: -144px -192px; }
1115
+ .ui-icon-circle-arrow-n { background-position: -160px -192px; }
1116
+ .ui-icon-circle-zoomin { background-position: -176px -192px; }
1117
+ .ui-icon-circle-zoomout { background-position: -192px -192px; }
1118
+ .ui-icon-circle-check { background-position: -208px -192px; }
1119
+ .ui-icon-circlesmall-plus { background-position: 0 -208px; }
1120
+ .ui-icon-circlesmall-minus { background-position: -16px -208px; }
1121
+ .ui-icon-circlesmall-close { background-position: -32px -208px; }
1122
+ .ui-icon-squaresmall-plus { background-position: -48px -208px; }
1123
+ .ui-icon-squaresmall-minus { background-position: -64px -208px; }
1124
+ .ui-icon-squaresmall-close { background-position: -80px -208px; }
1125
+ .ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
1126
+ .ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
1127
+ .ui-icon-grip-solid-vertical { background-position: -32px -224px; }
1128
+ .ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
1129
+ .ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
1130
+ .ui-icon-grip-diagonal-se { background-position: -80px -224px; }
1131
+
1132
+
1133
+ /* Misc visuals
1134
+ ----------------------------------*/
1135
+
1136
+ /* Corner radius */
1137
+ .ui-corner-all,
1138
+ .ui-corner-top,
1139
+ .ui-corner-left,
1140
+ .ui-corner-tl {
1141
+ border-top-left-radius: 4px;
1142
+ }
1143
+ .ui-corner-all,
1144
+ .ui-corner-top,
1145
+ .ui-corner-right,
1146
+ .ui-corner-tr {
1147
+ border-top-right-radius: 4px;
1148
+ }
1149
+ .ui-corner-all,
1150
+ .ui-corner-bottom,
1151
+ .ui-corner-left,
1152
+ .ui-corner-bl {
1153
+ border-bottom-left-radius: 4px;
1154
+ }
1155
+ .ui-corner-all,
1156
+ .ui-corner-bottom,
1157
+ .ui-corner-right,
1158
+ .ui-corner-br {
1159
+ border-bottom-right-radius: 4px;
1160
+ }
1161
+
1162
+ /* Overlays */
1163
+ .ui-widget-overlay {
1164
+ background: #666666 url(images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat;
1165
+ opacity: .5;
1166
+ filter: Alpha(Opacity=50);
1167
+ }
1168
+ .ui-widget-shadow {
1169
+ margin: -5px 0 0 -5px;
1170
+ padding: 5px;
1171
+ background: #000000 url(images/ui-bg_flat_10_000000_40x100.png) 50% 50% repeat-x;
1172
+ opacity: .2;
1173
+ filter: Alpha(Opacity=20);
1174
+ border-radius: 5px;
1175
+ }
css/jquery.multiselect.css ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ .ui-multiselect { padding:2px 0 2px 4px; text-align:left }
2
+ .ui-multiselect span.ui-icon { float:right }
3
+ .ui-multiselect-single .ui-multiselect-checkboxes input { position:absolute !important; top: auto !important; left:-9999px; }
4
+ .ui-multiselect-single .ui-multiselect-checkboxes label { padding:5px !important }
5
+
6
+ .ui-multiselect-header { margin-bottom:3px; padding:3px 0 3px 4px }
7
+ .ui-multiselect-header ul { font-size:0.9em }
8
+ .ui-multiselect-header ul li { float:left; padding:0 10px 0 0 }
9
+ .ui-multiselect-header a { text-decoration:none }
10
+ .ui-multiselect-header a:hover { text-decoration:underline }
11
+ .ui-multiselect-header span.ui-icon { float:left }
12
+ .ui-multiselect-header li.ui-multiselect-close { float:right; text-align:right; padding-right:0 }
13
+
14
+ .ui-multiselect-menu { display:none; padding:3px; position:absolute; z-index:10000; text-align: left }
15
+ .ui-multiselect-checkboxes { position:relative /* fixes bug in IE6/7 */; overflow-y:auto }
16
+ .ui-multiselect-checkboxes label { cursor:default; display:block; border:1px solid transparent; padding:3px 1px }
17
+ .ui-multiselect-checkboxes label input { position:relative; top:1px }
18
+ .ui-multiselect-checkboxes li { clear:both; font-size:0.9em; padding-right:3px }
19
+ .ui-multiselect-checkboxes li.ui-multiselect-optgroup-label { text-align:center; font-weight:bold; border-bottom:1px solid }
20
+ .ui-multiselect-checkboxes li.ui-multiselect-optgroup-label a { display:block; padding:3px; margin:1px 0; text-decoration:none }
21
+
22
+ /* remove label borders in IE6 because IE6 does not support transparency */
23
+ * html .ui-multiselect-checkboxes label { border:none }
css/mailin_plugin.css CHANGED
@@ -1,12 +1,31 @@
1
- #mailin_signup_box{background-color: #F5F5F5; border: 1px solid #E5E5E5; border-radius: 4px 4px 4px 4px;margin-bottom: 10px; padding: 5px; width: auto;}
2
- .mailin_signup_box_row{width:auto;padding:0 0 4px;}
3
- .mailin_signup_box_row input{font-size:12px;border:1px solid #CCCCCC;border-radius:3px;color:#555555;width:92%}
4
- .mailin_signup_box_row .required{color:#FF0000}
5
- .right{text-align:right}
6
- .mailin_signup_box_row label{color:#000000;font-size:12px;}
7
- #mailin_email{border:1px solid #cccccc;}
8
- .mailin_success{color:green;margin:0;padding:0}
9
- .mailin_error{color:red;margin:0;padding:0}
10
- .mailin_widget_head{font-size:12px;font-weight:bold;text-shadow:0 1px 0 rgba(255, 255, 255, 0.5)}
11
- #mailin_signup_submit{background-image:-moz-linear-gradient(center top , #0088CC, #0055CC);border-radius:3px;background-color:#0074CC;border-color:rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);color:#FFFFFF;padding:3px;margin:10px 0;width:auto;cursor:pointer}
12
- .mailin_powered{background-color: #339AE1;border-radius: 5px 5px 5px 5px;color: #FFFFFF;font-family: Arial;font-weight: bold;padding: 2px;text-shadow:0 -1px 0 rgba(0, 0, 0, 0.25) }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #mailin_signup_box{background-color:#F5F5F5;border:1px solid #E5E5E5;border-radius:4px 4px 4px 4px;margin-bottom:10px;width:auto;padding:5px}
2
+ .mailin_signup_box_row{width:auto;padding:0 0 4px}
3
+ .mailin_signup_box_row input{font-size:12px;border:1px solid #CCC;border-radius:3px;color:#555;width:92%}
4
+ .mailin_signup_box_row .required{color:red}
5
+ .right{text-align:right}
6
+ .mailin_signup_box_row label{color:#000;font-size:12px}
7
+ #mailin_email{border:1px solid #ccc}
8
+ .mailin_success{color:#468847; margin:0; padding:0}
9
+ .mailin_error{color:#B94A48; margin:0; padding:0}
10
+ .mailin_widget_head{font-size:12px;font-weight:700;text-shadow:0 1px 0 rgba(255,255,255,0.5)}
11
+ #mailin_signup_submit{background-image:0;border-radius:3px;background-color:#0074CC;color:#FFF;width:auto;cursor:pointer;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);margin:10px 0;padding:3px}
12
+ .mailin_powered{background-color:#339AE1;border-radius:5px 5px 5px 5px;color:#FFF;font-family:Arial;font-weight:700;text-shadow:0 -1px 0 rgba(0,0,0,0.25);padding:2px}
13
+ .toolTip{background:url(../img/help.gif) no-repeat scroll right center transparent;color:#36F;cursor:help;padding-right:20px;position:relative}
14
+ .mailin{background:url(../img/logo.gif) no-repeat}
15
+ #tipkk{position:absolute;z-index:999;opacity:0.9;background:#ccc;border:1px solid #000;max-width:500px;color:#000;padding:10px}
16
+
17
+
18
+ /* Alert css from bootstrap */
19
+ .alert {padding:8px 35px 8px 14px; margin-bottom:20px; text-shadow:0 1px 0 rgba(255, 255, 255, 0.5); background-color:#fcf8e3; border:1px solid #fbeed5; -webkit-border-radius:4px; -moz-border-radius:4px; border-radius:4px;}
20
+ .alert, .alert h4 {color:#c09853;}
21
+ .alert h4 {margin:0;}
22
+ .alert .close {position:relative; top:-2px; right:-21px; line-height:20px;}
23
+ .alert-success {color:#468847; background-color:#dff0d8; border-color:#d6e9c6;}
24
+ .alert-success h4 {color:#468847;}
25
+ .alert-danger, .alert-error {color:#b94a48; background-color:#f2dede; border-color:#eed3d7;}
26
+ .alert-danger h4, .alert-error h4 {color:#b94a48;}
27
+ .alert-info {color:#3a87ad; background-color:#d9edf7; border-color:#bce8f1;}
28
+ .alert-info h4 {color:#3a87ad;}
29
+ .alert-block {padding-top:14px; padding-bottom:14px;}
30
+ .alert-block > p, .alert-block > ul {margin-bottom:0;}
31
+ .alert-block p + p {margin-top:5px;}
emails/index.php ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ <?php
2
+ header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
3
+ header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
4
+ header('Cache-Control: no-store, no-cache, must-revalidate');
5
+ header('Cache-Control: post-check=0, pre-check=0', false);
6
+ header('Pragma: no-cache');
7
+ header('Location: ../');
8
+ exit;
emails/mailinsmtp_conf.html ADDED
@@ -0,0 +1,219 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml">
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5
+ <title>[Mailin SMTP] test email</title>
6
+ </head>
7
+ <body style="font-family: Arial, Helvetica, sans-serif;font-size: 12px;color: #222;">
8
+ <div class="moz-forward-container">
9
+ <br>
10
+ <table style="background-color:#ffffff" width="100%" border="0"
11
+ cellpadding="0" cellspacing="0">
12
+ <tbody>
13
+ <tr style="border-collapse:collapse;">
14
+ <td style="border-collapse:collapse;" align="center">
15
+ <table width="570" border="0" cellpadding="0"
16
+ cellspacing="0">
17
+ <tbody>
18
+ <tr>
19
+ <td style="line-height:0; font-size:0;" height="20">&nbsp;</td>
20
+ </tr>
21
+ </tbody>
22
+ </table>
23
+ <table width="570" border="0" cellpadding="0"
24
+ cellspacing="0">
25
+ <tbody>
26
+ <tr>
27
+ <td valign="middle" align="center">
28
+ <h1 style="margin:0; color:#2f8bee;
29
+ font-family:arial,sans-serif;"> <img
30
+ moz-do-not-send="true" alt="Mailin"
31
+ src="https://my.mailin.fr/public/theme/new/images/emailer/m_001.gif"></h1>
32
+ </td>
33
+ </tr>
34
+ </tbody>
35
+ </table>
36
+ <table width="570" border="0" cellpadding="0"
37
+ cellspacing="0">
38
+ <tbody>
39
+ <tr>
40
+ <td style="line-height:0; font-size:0;" height="20">&nbsp;</td>
41
+ </tr>
42
+ </tbody>
43
+ </table>
44
+ <table width="540" border="0" cellpadding="0"
45
+ cellspacing="0">
46
+ <tbody>
47
+ <tr>
48
+ <td align="left">
49
+ <div style="font-family:arial,sans-serif;
50
+ color:#2f8bee; font-size:18px; font-weight:bold;
51
+ margin:0 0 10px 0;">Cet e-mail a été envoyé via Mailin SMTP.<br/>
52
+ Félicitation, votre module Mailin SMTP est bien configuré.
53
+ </div>
54
+ </td>
55
+ </tr>
56
+ </tbody>
57
+ </table>
58
+ <table width="570" border="0" cellpadding="0"
59
+ cellspacing="0">
60
+ <tbody>
61
+ <tr>
62
+ <td style="line-height:0; font-size:0;" height="20">&nbsp;</td>
63
+ </tr>
64
+ <tr>
65
+ <td style="line-height:0; font-size:0;" height="20">&nbsp;</td>
66
+ </tr>
67
+ </tbody>
68
+ </table>
69
+ <table width="540" border="0" cellpadding="0"
70
+ cellspacing="0">
71
+ <tbody>
72
+ <tr>
73
+ <td align="right">
74
+ <div style="font-family:arial,sans-serif;
75
+ font-size:14px; color:#2f8bee; margin:0;
76
+ font-weight:bold; line-height:18px;"> L'&eacute;quipe
77
+ de Mailin
78
+ </div>
79
+ </td>
80
+ </tr>
81
+ </tbody>
82
+ </table>
83
+ <table width="570" border="0" cellpadding="0"
84
+ cellspacing="0">
85
+ <tbody>
86
+ <tr>
87
+ <td style="line-height:0; font-size:0;" height="20">&nbsp;</td>
88
+ </tr>
89
+ </tbody>
90
+ </table>
91
+ <table width="570" border="0" cellpadding="0"
92
+ cellspacing="0">
93
+ <tbody>
94
+ <tr>
95
+ <td style="font-family:arial,sans-serif;"
96
+ align="center"> <img moz-do-not-send="true"
97
+ alt="Simplifiez-vous l\'emailing"
98
+ src="https://my.mailin.fr/public/theme/new/images/emailer/m_07.gif"></td>
99
+ </tr>
100
+ </tbody>
101
+ </table>
102
+ <table width="570" border="0" cellpadding="0"
103
+ cellspacing="0">
104
+ <tbody>
105
+ <tr>
106
+ <td style="line-height:0; font-size:0;" height="10">&nbsp;</td>
107
+ </tr>
108
+ </tbody>
109
+ </table>
110
+ <table width="540" border="0" cellpadding="0"
111
+ cellspacing="0">
112
+ <tbody>
113
+ <tr>
114
+ <td style="line-height:0; font-size:0;" height="10">&nbsp;</td>
115
+ </tr>
116
+ <tr>
117
+ <td valign="top" width="200" align="left">
118
+ <div style="font-family:arial,sans-serif;
119
+ font-size:12px; margin:0; line-height:16px;
120
+ color:#7e7e7e;"> <strong style="color:#2f8bee;">Mailin</strong></div>
121
+ <div style="font-family:arial,sans-serif;
122
+ font-size:12px; margin:0; line-height:16px;
123
+ color:#7e7e7e;"> 118, rue de Tocqueville</div>
124
+ <div style="font-family:arial,sans-serif;
125
+ font-size:12px; margin:0; line-height:16px;
126
+ color:#7e7e7e;"> 75017 Paris - France</div>
127
+ <div style="font-family:arial,sans-serif;
128
+ font-size:12px; margin:0; line-height:16px;
129
+ color:#7e7e7e;"> T&eacute;l : 08 11 03 02 07</div>
130
+ <div style="font-family:arial,sans-serif;
131
+ font-size:12px; margin:0; line-height:16px;
132
+ color:#7e7e7e;"> <a moz-do-not-send="true"
133
+ href="http://www.mailin.fr"
134
+ style="color:#2f8bee;" target="_blank">www.mailin.fr</a></div>
135
+ </td>
136
+ <td valign="top" align="right">
137
+ <div style="font-family:arial,sans-serif;
138
+ font-size:12px; margin:0; line-height:20px;
139
+ color:#7e7e7e;"> <a moz-do-not-send="true"
140
+ href="http://www.facebook.com/pages/Mailinfr-Solution-emailing/237659169585663"
141
+ style="color:#2f8bee; text-decoration:none;"
142
+ target="_blank"> <img moz-do-not-send="true"
143
+ alt="Facebook"
144
+ src="https://my.mailin.fr/public/theme/new/images/emailer/fb_1.gif"
145
+ style="border:none;"> </a>&nbsp;&nbsp; <a
146
+ moz-do-not-send="true"
147
+ href="https://twitter.com/Mailinfr"
148
+ style="color:#2f8bee; text-decoration:none;"
149
+ target="_blank"> <img moz-do-not-send="true"
150
+ alt="Tweeter"
151
+ src="https://my.mailin.fr/public/theme/new/images/emailer/tw_1.gif"
152
+ style="border:none;"> </a>&nbsp;&nbsp; <a
153
+ moz-do-not-send="true"
154
+ href="http://www.linkedin.com/company/mailin"
155
+ style="color:#2f8bee; text-decoration:none;"
156
+ target="_blank"> <img moz-do-not-send="true"
157
+ alt="Linkedin"
158
+ src="https://my.mailin.fr/public/theme/new/images/emailer/in_1.gif"
159
+ style="border:none;"> </a>&nbsp;&nbsp; <a
160
+ moz-do-not-send="true"
161
+ href="https://plus.google.com/b/100000979950933936398/"
162
+ style="color:#2f8bee; text-decoration:none;"
163
+ target="_blank"> <img moz-do-not-send="true"
164
+ alt="Google+"
165
+ src="https://my.mailin.fr/public/theme/new/images/emailer/g_1.gif"
166
+ style="border:none;"> </a>&nbsp;&nbsp; <a
167
+ moz-do-not-send="true"
168
+ href="http://blog.mailin.fr/"
169
+ style="color:#2f8bee; text-decoration:none;"
170
+ target="_blank">Blog</a> </div>
171
+ <div style="font-family:arial,sans-serif;
172
+ font-size:10px; margin:0; line-height:14px;
173
+ color:#7e7e7e;"> &copy; 2011-2012 Mailin, tous droits
174
+ r&eacute;serv&eacute;s.
175
+ </div>
176
+ <div style="font-family:arial,sans-serif;
177
+ font-size:10px; margin:0; line-height:14px;
178
+ color:#7e7e7e;"> Ceci est un message automatique
179
+ g&eacute;n&eacute;r&eacute; par MAILIN.
180
+ </div>
181
+ <div style="font-family:arial,sans-serif;
182
+ font-size:10px; margin:0; line-height:14px;
183
+ color:#7e7e7e;"> Ne pas y r&eacute;pondre, vous ne
184
+ recevriez aucune r&eacute;ponse.
185
+ </div>
186
+ <div style="font-family:arial,sans-serif;
187
+ font-size:10px; margin:0; line-height:14px;
188
+ color:#7e7e7e;"> <a moz-do-not-send="true"
189
+ href="http://www.mailin.fr/politique-anti-spam"
190
+ style="color:#7e7e7e;" target="_blank">Politique
191
+ anti-spam &amp; emailing</a> | <a
192
+ moz-do-not-send="true"
193
+ href="http://www.mailin.fr/cgv"
194
+ style="color:#7e7e7e;" target="_blank">Conditions
195
+ g&eacute;n&eacute;rales de ventes</a>
196
+ </div>
197
+ </td>
198
+ </tr>
199
+ </tbody>
200
+ </table>
201
+ <table width="570" border="0" cellpadding="0"
202
+ cellspacing="0">
203
+ <tbody>
204
+ <tr>
205
+ <td style="line-height:0; font-size:0;" height="20">&nbsp;</td>
206
+ </tr>
207
+ <tr>
208
+ <td style="line-height:0; font-size:0;" height="20">&nbsp;</td>
209
+ </tr>
210
+ </tbody>
211
+ </table>
212
+ </td>
213
+ </tr>
214
+ </tbody>
215
+ </table>
216
+ <br>
217
+ </div>
218
+ </body>
219
+ </html>
emails/mailinsmtp_conf_en.html ADDED
@@ -0,0 +1,253 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml">
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5
+ <title>[Mailinblue SMTP] e-mail de test</title>
6
+ </head>
7
+ <body style="font-family: Arial, Helvetica, sans-serif;font-size: 12px;color: #222;">
8
+ <div class="moz-forward-container">
9
+ <br>
10
+ <table style="background-color:#ffffff" width="100%" border="0"
11
+ cellpadding="0" cellspacing="0">
12
+ <tbody>
13
+ <tr style="border-collapse:collapse;">
14
+ <td style="border-collapse:collapse;" align="center">
15
+ <table width="570" border="0" cellpadding="0"
16
+ cellspacing="0">
17
+ <tbody>
18
+ <tr>
19
+ <td style="line-height:0; font-size:0;" height="20">&nbsp;</td>
20
+ </tr>
21
+ </tbody>
22
+ </table>
23
+ <table width="570" border="0" cellpadding="0"
24
+ cellspacing="0">
25
+ <tbody>
26
+ <tr>
27
+ <td valign="middle" align="center">
28
+ <h1 style="margin:0; color:#2f8bee;
29
+ font-family:arial,sans-serif;"> <img
30
+ moz-do-not-send="true" alt="Mailinblue"
31
+ src="https://my.mailin.fr/public/theme/new/images/emailer/m_001.gif"></h1>
32
+ </td>
33
+ </tr>
34
+ </tbody>
35
+ </table>
36
+ <table width="570" border="0" cellpadding="0"
37
+ cellspacing="0">
38
+ <tbody>
39
+ <tr>
40
+ <td style="line-height:0; font-size:0;" height="20">&nbsp;</td>
41
+ </tr>
42
+ </tbody>
43
+ </table>
44
+ <table width="540" border="0" cellpadding="0"
45
+ cellspacing="0">
46
+ <tbody>
47
+ <tr>
48
+ <td align="left">
49
+ <div style="font-family:arial,sans-serif;
50
+ color:#2f8bee; font-size:18px; font-weight:bold;
51
+ margin:0 0 10px 0;">This email has been sent using Mailinblue SMTP.<br/>
52
+ Congratulation, your Mailinblue SMTP module has been set up well.
53
+ </div>
54
+ </td>
55
+ </tr>
56
+ </tbody>
57
+ </table>
58
+ <table width="570" border="0" cellpadding="0"
59
+ cellspacing="0">
60
+ <tbody>
61
+ <tr>
62
+ <td style="line-height:0; font-size:0;" height="20">&nbsp;</td>
63
+ </tr>
64
+ <tr>
65
+ <td style="line-height:0; font-size:0;" height="20">&nbsp;</td>
66
+ </tr>
67
+ </tbody>
68
+ </table>
69
+ <table width="540" border="0" cellpadding="0"
70
+ cellspacing="0">
71
+ <tbody>
72
+ <tr>
73
+ <td align="right">
74
+ <div style="font-family:arial,sans-serif;
75
+ font-size:14px; color:#2f8bee; margin:0;
76
+ font-weight:bold; line-height:18px;"> Mailinblue Team</div>
77
+ </td>
78
+ </tr>
79
+ </tbody>
80
+ </table>
81
+ <table width="570" border="0" cellpadding="0"
82
+ cellspacing="0">
83
+ <tbody>
84
+ <tr>
85
+ <td style="line-height:0; font-size:0;" height="20">&nbsp;</td>
86
+ </tr>
87
+ </tbody>
88
+ </table>
89
+ <table width="570" border="0" cellpadding="0"
90
+ cellspacing="0">
91
+ <tbody>
92
+ <tr>
93
+ <td style="line-height:0; font-size:0;" height="10">&nbsp;</td>
94
+ </tr>
95
+ </tbody>
96
+ </table>
97
+ <table width="570" border="0" cellpadding="0"
98
+ cellspacing="0">
99
+ <tbody>
100
+ <tr>
101
+ <td style="font-family:arial,sans-serif;"
102
+ align="center"> <img moz-do-not-send="true"
103
+ alt="Simple & Effective Emailing"
104
+ src="http://my.mailinblue.com/public/theme/new/images/emailer/m_07-eng.gif"></td>
105
+ </tr>
106
+ </tbody>
107
+ </table>
108
+ <table width="540" border="0" cellpadding="0"
109
+ cellspacing="0">
110
+ <tbody>
111
+ <tr>
112
+ <td style="line-height:0; font-size:0;" height="10">&nbsp;</td>
113
+ </tr>
114
+ <tr>
115
+ <td align="left" valign="top" width="200">
116
+ <div
117
+ style="font-family:arial,sans-serif;
118
+ font-size:12px; margin:0;
119
+ line-height:16px; color:#7e7e7e;"> <strong
120
+ style="color:#2f8bee;">MailinBlue</strong>
121
+ </div>
122
+ <div
123
+ style="font-family:arial,sans-serif;
124
+ font-size:12px; margin:0;
125
+ line-height:16px; color:#7e7e7e;">
126
+ 118, rue de Tocqueville
127
+ </div>
128
+ <div
129
+ style="font-family:arial,sans-serif;
130
+ font-size:12px; margin:0;
131
+ line-height:16px; color:#7e7e7e;">
132
+ 75017 Paris - France
133
+ </div>
134
+ <div
135
+ style="font-family:arial,sans-serif;
136
+ font-size:12px; margin:0;
137
+ line-height:16px; color:#7e7e7e;"> Tél
138
+ : 08 11 03 02 07
139
+ </div>
140
+ <div
141
+ style="font-family:arial,sans-serif;
142
+ font-size:12px; margin:0;
143
+ line-height:16px; color:#7e7e7e;"> <a
144
+ moz-do-not-send="true"
145
+ href="http://www.mailinblue.com"
146
+ style="color:#2f8bee;"
147
+ target="_blank">www.mailinblue.com</a>
148
+ </div>
149
+ </td>
150
+ <td align="right" valign="top">
151
+ <div
152
+ style="font-family:arial,sans-serif;
153
+ font-size:12px; margin:0;
154
+ line-height:20px; color:#7e7e7e;"> <a
155
+ moz-do-not-send="true"
156
+ href="http://www.facebook.com/Mailinblue"
157
+ style="color:#2f8bee;
158
+ text-decoration:none;"
159
+ target="_blank"> <img
160
+ moz-do-not-send="true"
161
+ alt="Facebook"
162
+ src="http://my.mailinblue.com/public/theme/new/images/emailer/fb_1.gif"
163
+ style="border:none;"></a> <a
164
+ moz-do-not-send="true"
165
+ href="https://twitter.com/Mailinfr"
166
+ style="color:#2f8bee;
167
+ text-decoration:none;"
168
+ target="_blank"> <img
169
+ moz-do-not-send="true"
170
+ alt="Tweeter"
171
+ src="http://my.mailinblue.com/public/theme/new/images/emailer/tw_1.gif"
172
+ style="border:none;"></a> <a
173
+ moz-do-not-send="true"
174
+ href="http://www.linkedin.com/company/mailin"
175
+ style="color:#2f8bee;
176
+ text-decoration:none;"
177
+ target="_blank"> <img
178
+ moz-do-not-send="true"
179
+ alt="Linkedin"
180
+ src="http://my.mailinblue.com/public/theme/new/images/emailer/in_1.gif"
181
+ style="border:none;"></a> <a
182
+ moz-do-not-send="true"
183
+ href="https://plus.google.com/b/100000979950933936398/"
184
+ style="color:#2f8bee;
185
+ text-decoration:none;"
186
+ target="_blank"> <img
187
+ moz-do-not-send="true"
188
+ alt="Google+"
189
+ src="http://my.mailinblue.com/public/theme/new/images/emailer/g_1.gif"
190
+ style="border:none;"></a> <a
191
+ moz-do-not-send="true"
192
+ href="http://blog.mailin.fr/"
193
+ style="color:#2f8bee;
194
+ text-decoration:none;"
195
+ target="_blank">Blog</a> </div>
196
+ <div
197
+ style="font-family:arial,sans-serif;
198
+ font-size:10px; margin:0;
199
+ line-height:14px; color:#7e7e7e;"> ©
200
+ 2011-2012 Mailin, all rights reserved.
201
+ </div>
202
+ <div
203
+ style="font-family:arial,sans-serif;
204
+ font-size:10px; margin:0;
205
+ line-height:14px; color:#7e7e7e;">
206
+ This is an automatic message generated
207
+ by MailinBlue.
208
+ </div>
209
+ <div
210
+ style="font-family:arial,sans-serif;
211
+ font-size:10px; margin:0;
212
+ line-height:14px; color:#7e7e7e;"> Do
213
+ not respond, you wouldn't receive any
214
+ answer.
215
+ </div>
216
+ <div
217
+ style="font-family:arial,sans-serif;
218
+ font-size:10px; margin:0;
219
+ line-height:14px; color:#7e7e7e;"> <a
220
+ moz-do-not-send="true"
221
+ href="http://www.mailinblue.com/antispam"
222
+ style="color:#7e7e7e;"
223
+ target="_blank">Anti-spam &amp;
224
+ emailing policy</a> | <a
225
+ moz-do-not-send="true"
226
+ href="http://www.mailinblue.com/gtc"
227
+ style="color:#7e7e7e;"
228
+ target="_blank">General Terms and
229
+ Conditions</a>
230
+ </div>
231
+ </td>
232
+ </tr>
233
+ </tbody>
234
+ </table>
235
+ <table width="570" border="0" cellpadding="0"
236
+ cellspacing="0">
237
+ <tbody>
238
+ <tr>
239
+ <td style="line-height:0; font-size:0;" height="20">&nbsp;</td>
240
+ </tr>
241
+ <tr>
242
+ <td style="line-height:0; font-size:0;" height="20">&nbsp;</td>
243
+ </tr>
244
+ </tbody>
245
+ </table>
246
+ </td>
247
+ </tr>
248
+ </tbody>
249
+ </table>
250
+ <br>
251
+ </div>
252
+ </body>
253
+ </html>
{css → img}/close.png RENAMED
File without changes
img/disabled.gif ADDED
Binary file
img/enabled.gif ADDED
Binary file
img/help.gif ADDED
Binary file
img/index.php ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ <?php
2
+ header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
3
+ header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
4
+ header('Cache-Control: no-store, no-cache, must-revalidate');
5
+ header('Cache-Control: post-check=0, pre-check=0', false);
6
+ header('Pragma: no-cache');
7
+ header('Location: ../');
8
+ exit;
{css → img}/loading_anim.gif RENAMED
File without changes
img/logo.gif ADDED
Binary file
img/mailin.jpg ADDED
Binary file
img/mailinblue.jpg ADDED
Binary file
img/ui-icons_ef8c08_256x240.png ADDED
Binary file
js/index.php ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ <?php
2
+ header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
3
+ header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
4
+ header('Cache-Control: no-store, no-cache, must-revalidate');
5
+ header('Cache-Control: post-check=0, pre-check=0', false);
6
+ header('Pragma: no-cache');
7
+ header('Location: ../');
8
+ exit;
js/jquery-1.9.1.min.js ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ /*! jQuery v1.9.1 | (c) 2005, 2012 jQuery Foundation, Inc. | jquery.org/license
2
+ //@ sourceMappingURL=jquery.min.map
3
+ */(function(e,t){var n,r,i=typeof t,o=e.document,a=e.location,s=e.jQuery,u=e.$,l={},c=[],p="1.9.1",f=c.concat,d=c.push,h=c.slice,g=c.indexOf,m=l.toString,y=l.hasOwnProperty,v=p.trim,b=function(e,t){return new b.fn.init(e,t,r)},x=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,w=/\S+/g,T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,k=/^[\],:{}\s]*$/,E=/(?:^|:|,)(?:\s*\[)+/g,S=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,A=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,j=/^-ms-/,D=/-([\da-z])/gi,L=function(e,t){return t.toUpperCase()},H=function(e){(o.addEventListener||"load"===e.type||"complete"===o.readyState)&&(q(),b.ready())},q=function(){o.addEventListener?(o.removeEventListener("DOMContentLoaded",H,!1),e.removeEventListener("load",H,!1)):(o.detachEvent("onreadystatechange",H),e.detachEvent("onload",H))};b.fn=b.prototype={jquery:p,constructor:b,init:function(e,n,r){var i,a;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof b?n[0]:n,b.merge(this,b.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:o,!0)),C.test(i[1])&&b.isPlainObject(n))for(i in n)b.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(a=o.getElementById(i[2]),a&&a.parentNode){if(a.id!==i[2])return r.find(e);this.length=1,this[0]=a}return this.context=o,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):b.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),b.makeArray(e,this))},selector:"",length:0,size:function(){return this.length},toArray:function(){return h.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=b.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return b.each(this,e,t)},ready:function(e){return b.ready.promise().done(e),this},slice:function(){return this.pushStack(h.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(b.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:d,sort:[].sort,splice:[].splice},b.fn.init.prototype=b.fn,b.extend=b.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},u=1,l=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},u=2),"object"==typeof s||b.isFunction(s)||(s={}),l===u&&(s=this,--u);l>u;u++)if(null!=(o=arguments[u]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(b.isPlainObject(r)||(n=b.isArray(r)))?(n?(n=!1,a=e&&b.isArray(e)?e:[]):a=e&&b.isPlainObject(e)?e:{},s[i]=b.extend(c,a,r)):r!==t&&(s[i]=r));return s},b.extend({noConflict:function(t){return e.$===b&&(e.$=u),t&&e.jQuery===b&&(e.jQuery=s),b},isReady:!1,readyWait:1,holdReady:function(e){e?b.readyWait++:b.ready(!0)},ready:function(e){if(e===!0?!--b.readyWait:!b.isReady){if(!o.body)return setTimeout(b.ready);b.isReady=!0,e!==!0&&--b.readyWait>0||(n.resolveWith(o,[b]),b.fn.trigger&&b(o).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===b.type(e)},isArray:Array.isArray||function(e){return"array"===b.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[m.call(e)]||"object":typeof e},isPlainObject:function(e){if(!e||"object"!==b.type(e)||e.nodeType||b.isWindow(e))return!1;try{if(e.constructor&&!y.call(e,"constructor")&&!y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||y.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||o;var r=C.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=b.buildFragment([e],t,i),i&&b(i).remove(),b.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=b.trim(n),n&&k.test(n.replace(S,"@").replace(A,"]").replace(E,"")))?Function("return "+n)():(b.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||b.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&b.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(j,"ms-").replace(D,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:v&&!v.call("\ufeff\u00a0")?function(e){return null==e?"":v.call(e)}:function(e){return null==e?"":(e+"").replace(T,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?b.merge(n,"string"==typeof e?[e]:e):d.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(g)return g.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return f.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),b.isFunction(e)?(r=h.call(arguments,2),i=function(){return e.apply(n||this,r.concat(h.call(arguments)))},i.guid=e.guid=e.guid||b.guid++,i):t},access:function(e,n,r,i,o,a,s){var u=0,l=e.length,c=null==r;if("object"===b.type(r)){o=!0;for(u in r)b.access(e,n,u,r[u],!0,a,s)}else if(i!==t&&(o=!0,b.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(b(e),n)})),n))for(;l>u;u++)n(e[u],r,s?i:i.call(e[u],u,n(e[u],r)));return o?e:c?n.call(e):l?n(e[0],r):a},now:function(){return(new Date).getTime()}}),b.ready.promise=function(t){if(!n)if(n=b.Deferred(),"complete"===o.readyState)setTimeout(b.ready);else if(o.addEventListener)o.addEventListener("DOMContentLoaded",H,!1),e.addEventListener("load",H,!1);else{o.attachEvent("onreadystatechange",H),e.attachEvent("onload",H);var r=!1;try{r=null==e.frameElement&&o.documentElement}catch(i){}r&&r.doScroll&&function a(){if(!b.isReady){try{r.doScroll("left")}catch(e){return setTimeout(a,50)}q(),b.ready()}}()}return n.promise(t)},b.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=b.type(e);return b.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=b(o);var _={};function F(e){var t=_[e]={};return b.each(e.match(w)||[],function(e,n){t[n]=!0}),t}b.Callbacks=function(e){e="string"==typeof e?_[e]||F(e):b.extend({},e);var n,r,i,o,a,s,u=[],l=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=u.length,n=!0;u&&o>a;a++)if(u[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,u&&(l?l.length&&c(l.shift()):r?u=[]:p.disable())},p={add:function(){if(u){var t=u.length;(function i(t){b.each(t,function(t,n){var r=b.type(n);"function"===r?e.unique&&p.has(n)||u.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=u.length:r&&(s=t,c(r))}return this},remove:function(){return u&&b.each(arguments,function(e,t){var r;while((r=b.inArray(t,u,r))>-1)u.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?b.inArray(e,u)>-1:!(!u||!u.length)},empty:function(){return u=[],this},disable:function(){return u=l=r=t,this},disabled:function(){return!u},lock:function(){return l=t,r||p.disable(),this},locked:function(){return!l},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!u||i&&!l||(n?l.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},b.extend({Deferred:function(e){var t=[["resolve","done",b.Callbacks("once memory"),"resolved"],["reject","fail",b.Callbacks("once memory"),"rejected"],["notify","progress",b.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return b.Deferred(function(n){b.each(t,function(t,o){var a=o[0],s=b.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&b.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?b.extend(e,r):r}},i={};return r.pipe=r.then,b.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=h.call(arguments),r=n.length,i=1!==r||e&&b.isFunction(e.promise)?r:0,o=1===i?e:b.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?h.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,u,l;if(r>1)for(s=Array(r),u=Array(r),l=Array(r);r>t;t++)n[t]&&b.isFunction(n[t].promise)?n[t].promise().done(a(t,l,n)).fail(o.reject).progress(a(t,u,s)):--i;return i||o.resolveWith(l,n),o.promise()}}),b.support=function(){var t,n,r,a,s,u,l,c,p,f,d=o.createElement("div");if(d.setAttribute("className","t"),d.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=d.getElementsByTagName("*"),r=d.getElementsByTagName("a")[0],!n||!r||!n.length)return{};s=o.createElement("select"),l=s.appendChild(o.createElement("option")),a=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={getSetAttribute:"t"!==d.className,leadingWhitespace:3===d.firstChild.nodeType,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:"/a"===r.getAttribute("href"),opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:!!a.value,optSelected:l.selected,enctype:!!o.createElement("form").enctype,html5Clone:"<:nav></:nav>"!==o.createElement("nav").cloneNode(!0).outerHTML,boxModel:"CSS1Compat"===o.compatMode,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},a.checked=!0,t.noCloneChecked=a.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!l.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}a=o.createElement("input"),a.setAttribute("value",""),t.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),t.radioValue="t"===a.value,a.setAttribute("checked","t"),a.setAttribute("name","t"),u=o.createDocumentFragment(),u.appendChild(a),t.appendChecked=a.checked,t.checkClone=u.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;return d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip,b(function(){var n,r,a,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",u=o.getElementsByTagName("body")[0];u&&(n=o.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",u.appendChild(n).appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",a=d.getElementsByTagName("td"),a[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===a[0].offsetHeight,a[0].style.display="",a[1].style.display="none",t.reliableHiddenOffsets=p&&0===a[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=4===d.offsetWidth,t.doesNotIncludeMarginInBodyOffset=1!==u.offsetTop,e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(o.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="<div></div>",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(u.style.zoom=1)),u.removeChild(n),n=d=a=r=null)}),n=s=u=l=r=a=null,t}();var O=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,B=/([A-Z])/g;function P(e,n,r,i){if(b.acceptData(e)){var o,a,s=b.expando,u="string"==typeof n,l=e.nodeType,p=l?b.cache:e,f=l?e[s]:e[s]&&s;if(f&&p[f]&&(i||p[f].data)||!u||r!==t)return f||(l?e[s]=f=c.pop()||b.guid++:f=s),p[f]||(p[f]={},l||(p[f].toJSON=b.noop)),("object"==typeof n||"function"==typeof n)&&(i?p[f]=b.extend(p[f],n):p[f].data=b.extend(p[f].data,n)),o=p[f],i||(o.data||(o.data={}),o=o.data),r!==t&&(o[b.camelCase(n)]=r),u?(a=o[n],null==a&&(a=o[b.camelCase(n)])):a=o,a}}function R(e,t,n){if(b.acceptData(e)){var r,i,o,a=e.nodeType,s=a?b.cache:e,u=a?e[b.expando]:b.expando;if(s[u]){if(t&&(o=n?s[u]:s[u].data)){b.isArray(t)?t=t.concat(b.map(t,b.camelCase)):t in o?t=[t]:(t=b.camelCase(t),t=t in o?[t]:t.split(" "));for(r=0,i=t.length;i>r;r++)delete o[t[r]];if(!(n?$:b.isEmptyObject)(o))return}(n||(delete s[u].data,$(s[u])))&&(a?b.cleanData([e],!0):b.support.deleteExpando||s!=s.window?delete s[u]:s[u]=null)}}}b.extend({cache:{},expando:"jQuery"+(p+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?b.cache[e[b.expando]]:e[b.expando],!!e&&!$(e)},data:function(e,t,n){return P(e,t,n)},removeData:function(e,t){return R(e,t)},_data:function(e,t,n){return P(e,t,n,!0)},_removeData:function(e,t){return R(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&b.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),b.fn.extend({data:function(e,n){var r,i,o=this[0],a=0,s=null;if(e===t){if(this.length&&(s=b.data(o),1===o.nodeType&&!b._data(o,"parsedAttrs"))){for(r=o.attributes;r.length>a;a++)i=r[a].name,i.indexOf("data-")||(i=b.camelCase(i.slice(5)),W(o,i,s[i]));b._data(o,"parsedAttrs",!0)}return s}return"object"==typeof e?this.each(function(){b.data(this,e)}):b.access(this,function(n){return n===t?o?W(o,e,b.data(o,e)):null:(this.each(function(){b.data(this,e,n)}),t)},null,n,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function W(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(B,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:O.test(r)?b.parseJSON(r):r}catch(o){}b.data(e,n,r)}else r=t}return r}function $(e){var t;for(t in e)if(("data"!==t||!b.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}b.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=b._data(e,n),r&&(!i||b.isArray(r)?i=b._data(e,n,b.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=b.queue(e,t),r=n.length,i=n.shift(),o=b._queueHooks(e,t),a=function(){b.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),o.cur=i,i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return b._data(e,n)||b._data(e,n,{empty:b.Callbacks("once memory").add(function(){b._removeData(e,t+"queue"),b._removeData(e,n)})})}}),b.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?b.queue(this[0],e):n===t?this:this.each(function(){var t=b.queue(this,e,n);b._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&b.dequeue(this,e)})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(e,t){return e=b.fx?b.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=b.Deferred(),a=this,s=this.length,u=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=b._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(u));return u(),o.promise(n)}});var I,z,X=/[\t\r\n]/g,U=/\r/g,V=/^(?:input|select|textarea|button|object)$/i,Y=/^(?:a|area)$/i,J=/^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i,G=/^(?:checked|selected)$/i,Q=b.support.getSetAttribute,K=b.support.input;b.fn.extend({attr:function(e,t){return b.access(this,b.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,t){return b.access(this,b.prop,e,t,arguments.length>1)},removeProp:function(e){return e=b.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,u="string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).addClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=b.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,u=0===arguments.length||"string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).removeClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?b.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e,r="boolean"==typeof t;return b.isFunction(e)?this.each(function(n){b(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var o,a=0,s=b(this),u=t,l=e.match(w)||[];while(o=l[a++])u=r?u:!s.hasClass(o),s[u?"addClass":"removeClass"](o)}else(n===i||"boolean"===n)&&(this.className&&b._data(this,"__className__",this.className),this.className=this.className||e===!1?"":b._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(X," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=b.isFunction(e),this.each(function(n){var o,a=b(this);1===this.nodeType&&(o=i?e.call(this,n,a.val()):e,null==o?o="":"number"==typeof o?o+="":b.isArray(o)&&(o=b.map(o,function(e){return null==e?"":e+""})),r=b.valHooks[this.type]||b.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=b.valHooks[o.type]||b.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(U,""):null==n?"":n)}}}),b.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,u=0>i?s:o?i:0;for(;s>u;u++)if(n=r[u],!(!n.selected&&u!==i||(b.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&b.nodeName(n.parentNode,"optgroup"))){if(t=b(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n=b.makeArray(t);return b(e).find("option").each(function(){this.selected=b.inArray(b(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attr:function(e,n,r){var o,a,s,u=e.nodeType;if(e&&3!==u&&8!==u&&2!==u)return typeof e.getAttribute===i?b.prop(e,n,r):(a=1!==u||!b.isXMLDoc(e),a&&(n=n.toLowerCase(),o=b.attrHooks[n]||(J.test(n)?z:I)),r===t?o&&a&&"get"in o&&null!==(s=o.get(e,n))?s:(typeof e.getAttribute!==i&&(s=e.getAttribute(n)),null==s?t:s):null!==r?o&&a&&"set"in o&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r):(b.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(w);if(o&&1===e.nodeType)while(n=o[i++])r=b.propFix[n]||n,J.test(n)?!Q&&G.test(n)?e[b.camelCase("default-"+n)]=e[r]=!1:e[r]=!1:b.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!b.support.radioValue&&"radio"===t&&b.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!b.isXMLDoc(e),a&&(n=b.propFix[n]||n,o=b.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):V.test(e.nodeName)||Y.test(e.nodeName)&&e.href?0:t}}}}),z={get:function(e,n){var r=b.prop(e,n),i="boolean"==typeof r&&e.getAttribute(n),o="boolean"==typeof r?K&&Q?null!=i:G.test(n)?e[b.camelCase("default-"+n)]:!!i:e.getAttributeNode(n);return o&&o.value!==!1?n.toLowerCase():t},set:function(e,t,n){return t===!1?b.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&b.propFix[n]||n,n):e[b.camelCase("default-"+n)]=e[n]=!0,n}},K&&Q||(b.attrHooks.value={get:function(e,n){var r=e.getAttributeNode(n);return b.nodeName(e,"input")?e.defaultValue:r&&r.specified?r.value:t},set:function(e,n,r){return b.nodeName(e,"input")?(e.defaultValue=n,t):I&&I.set(e,n,r)}}),Q||(I=b.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&("id"===n||"name"===n||"coords"===n?""!==r.value:r.specified)?r.value:t},set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},b.attrHooks.contenteditable={get:I.get,set:function(e,t,n){I.set(e,""===t?!1:t,n)}},b.each(["width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}})})),b.support.hrefNormalized||(b.each(["href","src","width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return null==r?t:r}})}),b.each(["href","src"],function(e,t){b.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}})),b.support.style||(b.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),b.support.optSelected||(b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),b.support.enctype||(b.propFix.enctype="encoding"),b.support.checkOn||b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return null===e.getAttribute("value")?"on":e.value}}}),b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,n){return b.isArray(n)?e.checked=b.inArray(b(e).val(),n)>=0:t}})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}b.event={global:{},add:function(e,n,r,o,a){var s,u,l,c,p,f,d,h,g,m,y,v=b._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=b.guid++),(u=v.events)||(u=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof b===i||e&&b.event.triggered===e.type?t:b.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(w)||[""],l=n.length;while(l--)s=rt.exec(n[l])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),p=b.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=b.event.special[g]||{},d=b.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&b.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=u[g])||(h=u[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),b.event.global[g]=!0;e=null}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,p,f,d,h,g,m=b.hasData(e)&&b._data(e);if(m&&(c=m.events)){t=(t||"").match(w)||[""],l=t.length;while(l--)if(s=rt.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=b.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),u=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));u&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||b.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)b.event.remove(e,d+t[l],n,r,!0);b.isEmptyObject(c)&&(delete m.handle,b._removeData(e,"events"))}},trigger:function(n,r,i,a){var s,u,l,c,p,f,d,h=[i||o],g=y.call(n,"type")?n.type:n,m=y.call(n,"namespace")?n.namespace.split("."):[];if(l=f=i=i||o,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+b.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),u=0>g.indexOf(":")&&"on"+g,n=n[b.expando]?n:new b.Event(g,"object"==typeof n&&n),n.isTrigger=!0,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:b.makeArray(r,[n]),p=b.event.special[g]||{},a||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!a&&!p.noBubble&&!b.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(l=l.parentNode);l;l=l.parentNode)h.push(l),f=l;f===(i.ownerDocument||o)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((l=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(b._data(l,"events")||{})[n.type]&&b._data(l,"handle"),s&&s.apply(l,r),s=u&&l[u],s&&b.acceptData(l)&&s.apply&&s.apply(l,r)===!1&&n.preventDefault();if(n.type=g,!(a||n.isDefaultPrevented()||p._default&&p._default.apply(i.ownerDocument,r)!==!1||"click"===g&&b.nodeName(i,"a")||!b.acceptData(i)||!u||!i[g]||b.isWindow(i))){f=i[u],f&&(i[u]=null),b.event.triggered=g;try{i[g]()}catch(v){}b.event.triggered=t,f&&(i[u]=f)}return n.result}},dispatch:function(e){e=b.event.fix(e);var n,r,i,o,a,s=[],u=h.call(arguments),l=(b._data(this,"events")||{})[e.type]||[],c=b.event.special[e.type]||{};if(u[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=b.event.handlers.call(this,e,l),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((b.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,u),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],u=n.delegateCount,l=e.target;if(u&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!=this;l=l.parentNode||this)if(1===l.nodeType&&(l.disabled!==!0||"click"!==e.type)){for(o=[],a=0;u>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?b(r,this).index(l)>=0:b.find(r,this,null,[l]).length),o[r]&&o.push(i);o.length&&s.push({elem:l,handlers:o})}return n.length>u&&s.push({elem:this,handlers:n.slice(u)}),s},fix:function(e){if(e[b.expando])return e;var t,n,r,i=e.type,a=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new b.Event(a),t=r.length;while(t--)n=r[t],e[n]=a[n];return e.target||(e.target=a.srcElement||o),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,a):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,a,s=n.button,u=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||o,a=i.documentElement,r=i.body,e.pageX=n.clientX+(a&&a.scrollLeft||r&&r.scrollLeft||0)-(a&&a.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(a&&a.scrollTop||r&&r.scrollTop||0)-(a&&a.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&u&&(e.relatedTarget=u===e.target?n.toElement:u),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},click:{trigger:function(){return b.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t}},focus:{trigger:function(){if(this!==o.activeElement&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===o.activeElement&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=b.extend(new b.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?b.event.trigger(i,null,t):b.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},b.removeEvent=o.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},b.Event=function(e,n){return this instanceof b.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&b.extend(this,n),this.timeStamp=e&&e.timeStamp||b.now(),this[b.expando]=!0,t):new b.Event(e,n)},b.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){b.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;
4
+ return(!i||i!==r&&!b.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),b.support.submitBubbles||(b.event.special.submit={setup:function(){return b.nodeName(this,"form")?!1:(b.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=b.nodeName(n,"input")||b.nodeName(n,"button")?n.form:t;r&&!b._data(r,"submitBubbles")&&(b.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),b._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&b.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return b.nodeName(this,"form")?!1:(b.event.remove(this,"._submit"),t)}}),b.support.changeBubbles||(b.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(b.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),b.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),b.event.simulate("change",this,e,!0)})),!1):(b.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!b._data(t,"changeBubbles")&&(b.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||b.event.simulate("change",this.parentNode,e,!0)}),b._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return b.event.remove(this,"._change"),!Z.test(this.nodeName)}}),b.support.focusinBubbles||b.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){b.event.simulate(t,e.target,b.event.fix(e),!0)};b.event.special[t]={setup:function(){0===n++&&o.addEventListener(e,r,!0)},teardown:function(){0===--n&&o.removeEventListener(e,r,!0)}}}),b.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return b().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=b.guid++)),this.each(function(){b.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,b(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){b.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){b.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?b.event.trigger(e,n,r,!0):t}}),function(e,t){var n,r,i,o,a,s,u,l,c,p,f,d,h,g,m,y,v,x="sizzle"+-new Date,w=e.document,T={},N=0,C=0,k=it(),E=it(),S=it(),A=typeof t,j=1<<31,D=[],L=D.pop,H=D.push,q=D.slice,M=D.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},_="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=F.replace("w","w#"),B="([*^$|!~]?=)",P="\\["+_+"*("+F+")"+_+"*(?:"+B+_+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+O+")|)|)"+_+"*\\]",R=":("+F+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+P.replace(3,8)+")*)|.*)\\)|)",W=RegExp("^"+_+"+|((?:^|[^\\\\])(?:\\\\.)*)"+_+"+$","g"),$=RegExp("^"+_+"*,"+_+"*"),I=RegExp("^"+_+"*([\\x20\\t\\r\\n\\f>+~])"+_+"*"),z=RegExp(R),X=RegExp("^"+O+"$"),U={ID:RegExp("^#("+F+")"),CLASS:RegExp("^\\.("+F+")"),NAME:RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:RegExp("^("+F.replace("w","w*")+")"),ATTR:RegExp("^"+P),PSEUDO:RegExp("^"+R),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+_+"*(even|odd|(([+-]|)(\\d*)n|)"+_+"*(?:([+-]|)"+_+"*(\\d+)|))"+_+"*\\)|)","i"),needsContext:RegExp("^"+_+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+_+"*((?:-\\d)?\\d*)"+_+"*\\)|)(?=[^-]|$)","i")},V=/[\x20\t\r\n\f]*[+~]/,Y=/^[^{]+\{\s*\[native code/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,G=/^(?:input|select|textarea|button)$/i,Q=/^h\d$/i,K=/'|\\/g,Z=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,et=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,tt=function(e,t){var n="0x"+t-65536;return n!==n?t:0>n?String.fromCharCode(n+65536):String.fromCharCode(55296|n>>10,56320|1023&n)};try{q.call(w.documentElement.childNodes,0)[0].nodeType}catch(nt){q=function(e){var t,n=[];while(t=this[e++])n.push(t);return n}}function rt(e){return Y.test(e+"")}function it(){var e,t=[];return e=function(n,r){return t.push(n+=" ")>i.cacheLength&&delete e[t.shift()],e[n]=r}}function ot(e){return e[x]=!0,e}function at(e){var t=p.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}}function st(e,t,n,r){var i,o,a,s,u,l,f,g,m,v;if((t?t.ownerDocument||t:w)!==p&&c(t),t=t||p,n=n||[],!e||"string"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(!d&&!r){if(i=J.exec(e))if(a=i[1]){if(9===s){if(o=t.getElementById(a),!o||!o.parentNode)return n;if(o.id===a)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(a))&&y(t,o)&&o.id===a)return n.push(o),n}else{if(i[2])return H.apply(n,q.call(t.getElementsByTagName(e),0)),n;if((a=i[3])&&T.getByClassName&&t.getElementsByClassName)return H.apply(n,q.call(t.getElementsByClassName(a),0)),n}if(T.qsa&&!h.test(e)){if(f=!0,g=x,m=t,v=9===s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){l=ft(e),(f=t.getAttribute("id"))?g=f.replace(K,"\\$&"):t.setAttribute("id",g),g="[id='"+g+"'] ",u=l.length;while(u--)l[u]=g+dt(l[u]);m=V.test(e)&&t.parentNode||t,v=l.join(",")}if(v)try{return H.apply(n,q.call(m.querySelectorAll(v),0)),n}catch(b){}finally{f||t.removeAttribute("id")}}}return wt(e.replace(W,"$1"),t,n,r)}a=st.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},c=st.setDocument=function(e){var n=e?e.ownerDocument||e:w;return n!==p&&9===n.nodeType&&n.documentElement?(p=n,f=n.documentElement,d=a(n),T.tagNameNoComments=at(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),T.attributes=at(function(e){e.innerHTML="<select></select>";var t=typeof e.lastChild.getAttribute("multiple");return"boolean"!==t&&"string"!==t}),T.getByClassName=at(function(e){return e.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",e.getElementsByClassName&&e.getElementsByClassName("e").length?(e.lastChild.className="e",2===e.getElementsByClassName("e").length):!1}),T.getByName=at(function(e){e.id=x+0,e.innerHTML="<a name='"+x+"'></a><div name='"+x+"'></div>",f.insertBefore(e,f.firstChild);var t=n.getElementsByName&&n.getElementsByName(x).length===2+n.getElementsByName(x+0).length;return T.getIdNotName=!n.getElementById(x),f.removeChild(e),t}),i.attrHandle=at(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!==A&&"#"===e.firstChild.getAttribute("href")})?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},T.getIdNotName?(i.find.ID=function(e,t){if(typeof t.getElementById!==A&&!d){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){return e.getAttribute("id")===t}}):(i.find.ID=function(e,n){if(typeof n.getElementById!==A&&!d){var r=n.getElementById(e);return r?r.id===e||typeof r.getAttributeNode!==A&&r.getAttributeNode("id").value===e?[r]:t:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){var n=typeof e.getAttributeNode!==A&&e.getAttributeNode("id");return n&&n.value===t}}),i.find.TAG=T.tagNameNoComments?function(e,n){return typeof n.getElementsByTagName!==A?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},i.find.NAME=T.getByName&&function(e,n){return typeof n.getElementsByName!==A?n.getElementsByName(name):t},i.find.CLASS=T.getByClassName&&function(e,n){return typeof n.getElementsByClassName===A||d?t:n.getElementsByClassName(e)},g=[],h=[":focus"],(T.qsa=rt(n.querySelectorAll))&&(at(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||h.push("\\["+_+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||h.push(":checked")}),at(function(e){e.innerHTML="<input type='hidden' i=''/>",e.querySelectorAll("[i^='']").length&&h.push("[*^$]="+_+"*(?:\"\"|'')"),e.querySelectorAll(":enabled").length||h.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),h.push(",.*:")})),(T.matchesSelector=rt(m=f.matchesSelector||f.mozMatchesSelector||f.webkitMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&at(function(e){T.disconnectedMatch=m.call(e,"div"),m.call(e,"[s!='']:x"),g.push("!=",R)}),h=RegExp(h.join("|")),g=RegExp(g.join("|")),y=rt(f.contains)||f.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},v=f.compareDocumentPosition?function(e,t){var r;return e===t?(u=!0,0):(r=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t))?1&r||e.parentNode&&11===e.parentNode.nodeType?e===n||y(w,e)?-1:t===n||y(w,t)?1:0:4&r?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return u=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:0;if(o===a)return ut(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?ut(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},u=!1,[0,0].sort(v),T.detectDuplicates=u,p):p},st.matches=function(e,t){return st(e,null,null,t)},st.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&c(e),t=t.replace(Z,"='$1']"),!(!T.matchesSelector||d||g&&g.test(t)||h.test(t)))try{var n=m.call(e,t);if(n||T.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(r){}return st(t,p,null,[e]).length>0},st.contains=function(e,t){return(e.ownerDocument||e)!==p&&c(e),y(e,t)},st.attr=function(e,t){var n;return(e.ownerDocument||e)!==p&&c(e),d||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):d||T.attributes?e.getAttribute(t):((n=e.getAttributeNode(t))||e.getAttribute(t))&&e[t]===!0?t:n&&n.specified?n.value:null},st.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},st.uniqueSort=function(e){var t,n=[],r=1,i=0;if(u=!T.detectDuplicates,e.sort(v),u){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));while(i--)e.splice(n[i],1)}return e};function ut(e,t){var n=t&&e,r=n&&(~t.sourceIndex||j)-(~e.sourceIndex||j);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function lt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function ct(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function pt(e){return ot(function(t){return t=+t,ot(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}o=st.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=o(t);return n},i=st.selectors={cacheLength:50,createPseudo:ot,match:U,find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(et,tt),e[3]=(e[4]||e[5]||"").replace(et,tt),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||st.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&st.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return U.CHILD.test(e[0])?null:(e[4]?e[2]=e[4]:n&&z.test(n)&&(t=ft(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){return"*"===e?function(){return!0}:(e=e.replace(et,tt).toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[e+" "];return t||(t=RegExp("(^|"+_+")"+e+"("+_+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==A&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=st.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!u&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[x]||(m[x]={}),l=c[e]||[],d=l[0]===N&&l[1],f=l[0]===N&&l[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[N,d,f];break}}else if(v&&(l=(t[x]||(t[x]={}))[e])&&l[0]===N)f=l[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[x]||(p[x]={}))[e]=[N,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||st.error("unsupported pseudo: "+e);return r[x]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?ot(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=M.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:ot(function(e){var t=[],n=[],r=s(e.replace(W,"$1"));return r[x]?ot(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:ot(function(e){return function(t){return st(e,t).length>0}}),contains:ot(function(e){return function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),lang:ot(function(e){return X.test(e||"")||st.error("unsupported lang: "+e),e=e.replace(et,tt).toLowerCase(),function(t){var n;do if(n=d?t.getAttribute("xml:lang")||t.getAttribute("lang"):t.lang)return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===f},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!i.pseudos.empty(e)},header:function(e){return Q.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:pt(function(){return[0]}),last:pt(function(e,t){return[t-1]}),eq:pt(function(e,t,n){return[0>n?n+t:n]}),even:pt(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:pt(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:pt(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:pt(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}};for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})i.pseudos[n]=lt(n);for(n in{submit:!0,reset:!0})i.pseudos[n]=ct(n);function ft(e,t){var n,r,o,a,s,u,l,c=E[e+" "];if(c)return t?0:c.slice(0);s=e,u=[],l=i.preFilter;while(s){(!n||(r=$.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),u.push(o=[])),n=!1,(r=I.exec(s))&&(n=r.shift(),o.push({value:n,type:r[0].replace(W," ")}),s=s.slice(n.length));for(a in i.filter)!(r=U[a].exec(s))||l[a]&&!(r=l[a](r))||(n=r.shift(),o.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?st.error(e):E(e,u).slice(0)}function dt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function ht(e,t,n){var i=t.dir,o=n&&"parentNode"===i,a=C++;return t.first?function(t,n,r){while(t=t[i])if(1===t.nodeType||o)return e(t,n,r)}:function(t,n,s){var u,l,c,p=N+" "+a;if(s){while(t=t[i])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[i])if(1===t.nodeType||o)if(c=t[x]||(t[x]={}),(l=c[i])&&l[0]===p){if((u=l[1])===!0||u===r)return u===!0}else if(l=c[i]=[p],l[1]=e(t,n,s)||r,l[1]===!0)return!0}}function gt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function mt(e,t,n,r,i){var o,a=[],s=0,u=e.length,l=null!=t;for(;u>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),l&&t.push(s));return a}function yt(e,t,n,r,i,o){return r&&!r[x]&&(r=yt(r)),i&&!i[x]&&(i=yt(i,o)),ot(function(o,a,s,u){var l,c,p,f=[],d=[],h=a.length,g=o||xt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:mt(g,f,e,s,u),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,u),r){l=mt(y,d),r(l,[],s,u),c=l.length;while(c--)(p=l[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){l=[],c=y.length;while(c--)(p=y[c])&&l.push(m[c]=p);i(null,y=[],l,u)}c=y.length;while(c--)(p=y[c])&&(l=i?M.call(o,p):f[c])>-1&&(o[l]=!(a[l]=p))}}else y=mt(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):H.apply(a,y)})}function vt(e){var t,n,r,o=e.length,a=i.relative[e[0].type],s=a||i.relative[" "],u=a?1:0,c=ht(function(e){return e===t},s,!0),p=ht(function(e){return M.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;o>u;u++)if(n=i.relative[e[u].type])f=[ht(gt(f),n)];else{if(n=i.filter[e[u].type].apply(null,e[u].matches),n[x]){for(r=++u;o>r;r++)if(i.relative[e[r].type])break;return yt(u>1&&gt(f),u>1&&dt(e.slice(0,u-1)).replace(W,"$1"),n,r>u&&vt(e.slice(u,r)),o>r&&vt(e=e.slice(r)),o>r&&dt(e))}f.push(n)}return gt(f)}function bt(e,t){var n=0,o=t.length>0,a=e.length>0,s=function(s,u,c,f,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,T=l,C=s||a&&i.find.TAG("*",d&&u.parentNode||u),k=N+=null==T?1:Math.random()||.1;for(w&&(l=u!==p&&u,r=n);null!=(h=C[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,u,c)){f.push(h);break}w&&(N=k,r=++n)}o&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,o&&b!==v){g=0;while(m=t[g++])m(x,y,u,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=L.call(f));y=mt(y)}H.apply(f,y),w&&!s&&y.length>0&&v+t.length>1&&st.uniqueSort(f)}return w&&(N=k,l=T),x};return o?ot(s):s}s=st.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=ft(e)),n=t.length;while(n--)o=vt(t[n]),o[x]?r.push(o):i.push(o);o=S(e,bt(i,r))}return o};function xt(e,t,n){var r=0,i=t.length;for(;i>r;r++)st(e,t[r],n);return n}function wt(e,t,n,r){var o,a,u,l,c,p=ft(e);if(!r&&1===p.length){if(a=p[0]=p[0].slice(0),a.length>2&&"ID"===(u=a[0]).type&&9===t.nodeType&&!d&&i.relative[a[1].type]){if(t=i.find.ID(u.matches[0].replace(et,tt),t)[0],!t)return n;e=e.slice(a.shift().value.length)}o=U.needsContext.test(e)?0:a.length;while(o--){if(u=a[o],i.relative[l=u.type])break;if((c=i.find[l])&&(r=c(u.matches[0].replace(et,tt),V.test(a[0].type)&&t.parentNode||t))){if(a.splice(o,1),e=r.length&&dt(a),!e)return H.apply(n,q.call(r,0)),n;break}}}return s(e,p)(r,t,d,n,V.test(e)),n}i.pseudos.nth=i.pseudos.eq;function Tt(){}i.filters=Tt.prototype=i.pseudos,i.setFilters=new Tt,c(),st.attr=b.attr,b.find=st,b.expr=st.selectors,b.expr[":"]=b.expr.pseudos,b.unique=st.uniqueSort,b.text=st.getText,b.isXMLDoc=st.isXML,b.contains=st.contains}(e);var at=/Until$/,st=/^(?:parents|prev(?:Until|All))/,ut=/^.[^:#\[\.,]*$/,lt=b.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};b.fn.extend({find:function(e){var t,n,r,i=this.length;if("string"!=typeof e)return r=this,this.pushStack(b(e).filter(function(){for(t=0;i>t;t++)if(b.contains(r[t],this))return!0}));for(n=[],t=0;i>t;t++)b.find(e,this[t],n);return n=this.pushStack(i>1?b.unique(n):n),n.selector=(this.selector?this.selector+" ":"")+e,n},has:function(e){var t,n=b(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(b.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1))},filter:function(e){return this.pushStack(ft(this,e,!0))},is:function(e){return!!e&&("string"==typeof e?lt.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,o=[],a=lt.test(e)||"string"!=typeof e?b(e,t||this.context):0;for(;i>r;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&11!==n.nodeType){if(a?a.index(n)>-1:b.find.matchesSelector(n,e)){o.push(n);break}n=n.parentNode}}return this.pushStack(o.length>1?b.unique(o):o)},index:function(e){return e?"string"==typeof e?b.inArray(this[0],b(e)):b.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?b(e,t):b.makeArray(e&&e.nodeType?[e]:e),r=b.merge(this.get(),n);return this.pushStack(b.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),b.fn.andSelf=b.fn.addBack;function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}b.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(e,t,n){return b.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(e,t,n){return b.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return b.dir(e,"previousSibling",n)},siblings:function(e){return b.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.merge([],e.childNodes)}},function(e,t){b.fn[e]=function(n,r){var i=b.map(this,t,n);return at.test(e)||(r=n),r&&"string"==typeof r&&(i=b.filter(r,i)),i=this.length>1&&!ct[e]?b.unique(i):i,this.length>1&&st.test(e)&&(i=i.reverse()),this.pushStack(i)}}),b.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),1===t.length?b.find.matchesSelector(t[0],e)?[t[0]]:[]:b.find.matches(e,t)},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!b(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(t=t||0,b.isFunction(t))return b.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return b.grep(e,function(e){return e===t===n});if("string"==typeof t){var r=b.grep(e,function(e){return 1===e.nodeType});if(ut.test(t))return b.filter(t,r,!n);t=b.filter(t,r)}return b.grep(e,function(e){return b.inArray(e,t)>=0===n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/<tbody/i,wt=/<|&#?\w+;/,Tt=/<(?:script|style|link)/i,Nt=/^(?:checkbox|radio)$/i,Ct=/checked\s*(?:[^=]|=\s*.checked.)/i,kt=/^$|\/(?:java|ecma)script/i,Et=/^true\/(.*)/,St=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,At={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:b.support.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},jt=dt(o),Dt=jt.appendChild(o.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,b.fn.extend({text:function(e){return b.access(this,function(e){return e===t?b.text(this):this.empty().append((this[0]&&this[0].ownerDocument||o).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(b.isFunction(e))return this.each(function(t){b(this).wrapAll(e.call(this,t))});if(this[0]){var t=b(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return b.isFunction(e)?this.each(function(t){b(this).wrapInner(e.call(this,t))}):this.each(function(){var t=b(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=b.isFunction(e);return this.each(function(n){b(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){b.nodeName(this,"body")||b(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.insertBefore(e,this.firstChild)})},before:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=0;for(;null!=(n=this[r]);r++)(!e||b.filter(e,[n]).length>0)&&(t||1!==n.nodeType||b.cleanData(Ot(n)),n.parentNode&&(t&&b.contains(n.ownerDocument,n)&&Mt(Ot(n,"script")),n.parentNode.removeChild(n)));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&b.cleanData(Ot(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&b.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return b.clone(this,e,t)})},html:function(e){return b.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!b.support.htmlSerialize&&mt.test(e)||!b.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1></$2>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(b.cleanData(Ot(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){var t=b.isFunction(e);return t||"string"==typeof e||(e=b(e).not(this).detach()),this.domManip([e],!0,function(e){var t=this.nextSibling,n=this.parentNode;n&&(b(this).remove(),n.insertBefore(e,t))})},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=f.apply([],e);var i,o,a,s,u,l,c=0,p=this.length,d=this,h=p-1,g=e[0],m=b.isFunction(g);if(m||!(1>=p||"string"!=typeof g||b.support.checkClone)&&Ct.test(g))return this.each(function(i){var o=d.eq(i);m&&(e[0]=g.call(this,i,n?o.html():t)),o.domManip(e,n,r)});if(p&&(l=b.buildFragment(e,this[0].ownerDocument,!1,this),i=l.firstChild,1===l.childNodes.length&&(l=i),i)){for(n=n&&b.nodeName(i,"tr"),s=b.map(Ot(l,"script"),Ht),a=s.length;p>c;c++)o=l,c!==h&&(o=b.clone(o,!0,!0),a&&b.merge(s,Ot(o,"script"))),r.call(n&&b.nodeName(this[c],"table")?Lt(this[c],"tbody"):this[c],o,c);if(a)for(u=s[s.length-1].ownerDocument,b.map(s,qt),c=0;a>c;c++)o=s[c],kt.test(o.type||"")&&!b._data(o,"globalEval")&&b.contains(u,o)&&(o.src?b.ajax({url:o.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):b.globalEval((o.text||o.textContent||o.innerHTML||"").replace(St,"")));l=i=null}return this}});function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function Ht(e){var t=e.getAttributeNode("type");return e.type=(t&&t.specified)+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function Mt(e,t){var n,r=0;for(;null!=(n=e[r]);r++)b._data(n,"globalEval",!t||b._data(t[r],"globalEval"))}function _t(e,t){if(1===t.nodeType&&b.hasData(e)){var n,r,i,o=b._data(e),a=b._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)b.event.add(t,n,s[n][r])}a.data&&(a.data=b.extend({},a.data))}}function Ft(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!b.support.noCloneEvent&&t[b.expando]){i=b._data(t);for(r in i.events)b.removeEvent(t,r,i.handle);t.removeAttribute(b.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),b.support.html5Clone&&e.innerHTML&&!b.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Nt.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){b.fn[e]=function(e){var n,r=0,i=[],o=b(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),b(o[r])[t](n),d.apply(i,n.get());return this.pushStack(i)}});function Ot(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||b.nodeName(o,n)?s.push(o):b.merge(s,Ot(o,n));return n===t||n&&b.nodeName(e,n)?b.merge([e],s):s}function Bt(e){Nt.test(e.type)&&(e.defaultChecked=e.checked)}b.extend({clone:function(e,t,n){var r,i,o,a,s,u=b.contains(e.ownerDocument,e);if(b.support.html5Clone||b.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(b.support.noCloneEvent&&b.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||b.isXMLDoc(e)))for(r=Ot(o),s=Ot(e),a=0;null!=(i=s[a]);++a)r[a]&&Ft(i,r[a]);if(t)if(n)for(s=s||Ot(e),r=r||Ot(o),a=0;null!=(i=s[a]);a++)_t(i,r[a]);else _t(e,o);return r=Ot(o,"script"),r.length>0&&Mt(r,!u&&Ot(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,u,l,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===b.type(o))b.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),u=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[u]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1></$2>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!b.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!b.support.tbody){o="table"!==u||xt.test(o)?"<table>"!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)b.nodeName(l=o.childNodes[i],"tbody")&&!l.childNodes.length&&o.removeChild(l)
5
+ }b.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),b.support.appendChecked||b.grep(Ot(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===b.inArray(o,r))&&(a=b.contains(o.ownerDocument,o),s=Ot(f.appendChild(o),"script"),a&&Mt(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,u=b.expando,l=b.cache,p=b.support.deleteExpando,f=b.event.special;for(;null!=(n=e[s]);s++)if((t||b.acceptData(n))&&(o=n[u],a=o&&l[o])){if(a.events)for(r in a.events)f[r]?b.event.remove(n,r):b.removeEvent(n,r,a.handle);l[o]&&(delete l[o],p?delete n[u]:typeof n.removeAttribute!==i?n.removeAttribute(u):n[u]=null,c.push(o))}}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+x+")(.*)$","i"),Yt=RegExp("^("+x+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+x+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===b.css(e,"display")||!b.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=b._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=b._data(r,"olddisplay",un(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&b._data(r,"olddisplay",i?n:b.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}b.fn.extend({css:function(e,n){return b.access(this,function(e,n,r){var i,o,a={},s=0;if(b.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=b.css(e,n[s],!1,o);return a}return r!==t?b.style(e,n,r):b.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){var t="boolean"==typeof e;return this.each(function(){(t?e:nn(this))?b(this).show():b(this).hide()})}}),b.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,u=b.camelCase(n),l=e.style;if(n=b.cssProps[u]||(b.cssProps[u]=tn(l,u)),s=b.cssHooks[n]||b.cssHooks[u],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:l[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(b.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||b.cssNumber[u]||(r+="px"),b.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(l[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{l[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,u=b.camelCase(n);return n=b.cssProps[u]||(b.cssProps[u]=tn(e.style,u)),s=b.cssHooks[n]||b.cssHooks[u],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||b.isNumeric(o)?o||0:a):a},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s.getPropertyValue(n)||s[n]:t,l=e.style;return s&&(""!==u||b.contains(e.ownerDocument,e)||(u=b.style(e,n)),Yt.test(u)&&Ut.test(n)&&(i=l.width,o=l.minWidth,a=l.maxWidth,l.minWidth=l.maxWidth=l.width=u,u=s.width,l.width=i,l.minWidth=o,l.maxWidth=a)),u}):o.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s[n]:t,l=e.style;return null==u&&l&&l[n]&&(u=l[n]),Yt.test(u)&&!zt.test(n)&&(i=l.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),l.left="fontSize"===n?"1em":u,u=l.pixelLeft+"px",l.left=i,a&&(o.left=a)),""===u?"auto":u});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=b.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=b.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=b.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=b.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=b.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(b.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function un(e){var t=o,n=Gt[e];return n||(n=ln(e,t),"none"!==n&&n||(Pt=(Pt||b("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(t.documentElement),t=(Pt[0].contentWindow||Pt[0].contentDocument).document,t.write("<!doctype html><html><body>"),t.close(),n=ln(e,t),Pt.detach()),Gt[e]=n),n}function ln(e,t){var n=b(t.createElement(e)).appendTo(t.body),r=b.css(n[0],"display");return n.remove(),r}b.each(["height","width"],function(e,n){b.cssHooks[n]={get:function(e,r,i){return r?0===e.offsetWidth&&Xt.test(b.css(e,"display"))?b.swap(e,Qt,function(){return sn(e,n,i)}):sn(e,n,i):t},set:function(e,t,r){var i=r&&Rt(e);return on(e,t,r?an(e,n,r,b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,i),i):0)}}}),b.support.opacity||(b.cssHooks.opacity={get:function(e,t){return It.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=b.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===b.trim(o.replace($t,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=$t.test(o)?o.replace($t,i):o+" "+i)}}),b(function(){b.support.reliableMarginRight||(b.cssHooks.marginRight={get:function(e,n){return n?b.swap(e,{display:"inline-block"},Wt,[e,"marginRight"]):t}}),!b.support.pixelPosition&&b.fn.position&&b.each(["top","left"],function(e,n){b.cssHooks[n]={get:function(e,r){return r?(r=Wt(e,n),Yt.test(r)?b(e).position()[n]+"px":r):t}}})}),b.expr&&b.expr.filters&&(b.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight||!b.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||b.css(e,"display"))},b.expr.filters.visible=function(e){return!b.expr.filters.hidden(e)}),b.each({margin:"",padding:"",border:"Width"},function(e,t){b.cssHooks[e+t]={expand:function(n){var r=0,i={},o="string"==typeof n?n.split(" "):[n];for(;4>r;r++)i[e+Zt[r]+t]=o[r]||o[r-2]||o[0];return i}},Ut.test(e)||(b.cssHooks[e+t].set=on)});var cn=/%20/g,pn=/\[\]$/,fn=/\r?\n/g,dn=/^(?:submit|button|image|reset|file)$/i,hn=/^(?:input|select|textarea|keygen)/i;b.fn.extend({serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=b.prop(this,"elements");return e?b.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!b(this).is(":disabled")&&hn.test(this.nodeName)&&!dn.test(e)&&(this.checked||!Nt.test(e))}).map(function(e,t){var n=b(this).val();return null==n?null:b.isArray(n)?b.map(n,function(e){return{name:t.name,value:e.replace(fn,"\r\n")}}):{name:t.name,value:n.replace(fn,"\r\n")}}).get()}}),b.param=function(e,n){var r,i=[],o=function(e,t){t=b.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=b.ajaxSettings&&b.ajaxSettings.traditional),b.isArray(e)||e.jquery&&!b.isPlainObject(e))b.each(e,function(){o(this.name,this.value)});else for(r in e)gn(r,e[r],n,o);return i.join("&").replace(cn,"+")};function gn(e,t,n,r){var i;if(b.isArray(t))b.each(t,function(t,i){n||pn.test(e)?r(e,i):gn(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==b.type(t))r(e,t);else for(i in t)gn(e+"["+i+"]",t[i],n,r)}b.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){b.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),b.fn.hover=function(e,t){return this.mouseenter(e).mouseleave(t||e)};var mn,yn,vn=b.now(),bn=/\?/,xn=/#.*$/,wn=/([?&])_=[^&]*/,Tn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Nn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Cn=/^(?:GET|HEAD)$/,kn=/^\/\//,En=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Sn=b.fn.load,An={},jn={},Dn="*/".concat("*");try{yn=a.href}catch(Ln){yn=o.createElement("a"),yn.href="",yn=yn.href}mn=En.exec(yn.toLowerCase())||[];function Hn(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(w)||[];if(b.isFunction(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function qn(e,n,r,i){var o={},a=e===jn;function s(u){var l;return o[u]=!0,b.each(e[u]||[],function(e,u){var c=u(n,r,i);return"string"!=typeof c||a||o[c]?a?!(l=c):t:(n.dataTypes.unshift(c),s(c),!1)}),l}return s(n.dataTypes[0])||!o["*"]&&s("*")}function Mn(e,n){var r,i,o=b.ajaxSettings.flatOptions||{};for(i in n)n[i]!==t&&((o[i]?e:r||(r={}))[i]=n[i]);return r&&b.extend(!0,e,r),e}b.fn.load=function(e,n,r){if("string"!=typeof e&&Sn)return Sn.apply(this,arguments);var i,o,a,s=this,u=e.indexOf(" ");return u>=0&&(i=e.slice(u,e.length),e=e.slice(0,u)),b.isFunction(n)?(r=n,n=t):n&&"object"==typeof n&&(a="POST"),s.length>0&&b.ajax({url:e,type:a,dataType:"html",data:n}).done(function(e){o=arguments,s.html(i?b("<div>").append(b.parseHTML(e)).find(i):e)}).complete(r&&function(e,t){s.each(r,o||[e.responseText,t,e])}),this},b.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){b.fn[t]=function(e){return this.on(t,e)}}),b.each(["get","post"],function(e,n){b[n]=function(e,r,i,o){return b.isFunction(r)&&(o=o||i,i=r,r=t),b.ajax({url:e,type:n,dataType:o,data:r,success:i})}}),b.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:yn,type:"GET",isLocal:Nn.test(mn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Dn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Mn(Mn(e,b.ajaxSettings),t):Mn(b.ajaxSettings,e)},ajaxPrefilter:Hn(An),ajaxTransport:Hn(jn),ajax:function(e,n){"object"==typeof e&&(n=e,e=t),n=n||{};var r,i,o,a,s,u,l,c,p=b.ajaxSetup({},n),f=p.context||p,d=p.context&&(f.nodeType||f.jquery)?b(f):b.event,h=b.Deferred(),g=b.Callbacks("once memory"),m=p.statusCode||{},y={},v={},x=0,T="canceled",N={readyState:0,getResponseHeader:function(e){var t;if(2===x){if(!c){c={};while(t=Tn.exec(a))c[t[1].toLowerCase()]=t[2]}t=c[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===x?a:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return x||(e=v[n]=v[n]||e,y[e]=t),this},overrideMimeType:function(e){return x||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>x)for(t in e)m[t]=[m[t],e[t]];else N.always(e[N.status]);return this},abort:function(e){var t=e||T;return l&&l.abort(t),k(0,t),this}};if(h.promise(N).complete=g.add,N.success=N.done,N.error=N.fail,p.url=((e||p.url||yn)+"").replace(xn,"").replace(kn,mn[1]+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=b.trim(p.dataType||"*").toLowerCase().match(w)||[""],null==p.crossDomain&&(r=En.exec(p.url.toLowerCase()),p.crossDomain=!(!r||r[1]===mn[1]&&r[2]===mn[2]&&(r[3]||("http:"===r[1]?80:443))==(mn[3]||("http:"===mn[1]?80:443)))),p.data&&p.processData&&"string"!=typeof p.data&&(p.data=b.param(p.data,p.traditional)),qn(An,p,n,N),2===x)return N;u=p.global,u&&0===b.active++&&b.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Cn.test(p.type),o=p.url,p.hasContent||(p.data&&(o=p.url+=(bn.test(o)?"&":"?")+p.data,delete p.data),p.cache===!1&&(p.url=wn.test(o)?o.replace(wn,"$1_="+vn++):o+(bn.test(o)?"&":"?")+"_="+vn++)),p.ifModified&&(b.lastModified[o]&&N.setRequestHeader("If-Modified-Since",b.lastModified[o]),b.etag[o]&&N.setRequestHeader("If-None-Match",b.etag[o])),(p.data&&p.hasContent&&p.contentType!==!1||n.contentType)&&N.setRequestHeader("Content-Type",p.contentType),N.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Dn+"; q=0.01":""):p.accepts["*"]);for(i in p.headers)N.setRequestHeader(i,p.headers[i]);if(p.beforeSend&&(p.beforeSend.call(f,N,p)===!1||2===x))return N.abort();T="abort";for(i in{success:1,error:1,complete:1})N[i](p[i]);if(l=qn(jn,p,n,N)){N.readyState=1,u&&d.trigger("ajaxSend",[N,p]),p.async&&p.timeout>0&&(s=setTimeout(function(){N.abort("timeout")},p.timeout));try{x=1,l.send(y,k)}catch(C){if(!(2>x))throw C;k(-1,C)}}else k(-1,"No Transport");function k(e,n,r,i){var c,y,v,w,T,C=n;2!==x&&(x=2,s&&clearTimeout(s),l=t,a=i||"",N.readyState=e>0?4:0,r&&(w=_n(p,N,r)),e>=200&&300>e||304===e?(p.ifModified&&(T=N.getResponseHeader("Last-Modified"),T&&(b.lastModified[o]=T),T=N.getResponseHeader("etag"),T&&(b.etag[o]=T)),204===e?(c=!0,C="nocontent"):304===e?(c=!0,C="notmodified"):(c=Fn(p,w),C=c.state,y=c.data,v=c.error,c=!v)):(v=C,(e||!C)&&(C="error",0>e&&(e=0))),N.status=e,N.statusText=(n||C)+"",c?h.resolveWith(f,[y,C,N]):h.rejectWith(f,[N,C,v]),N.statusCode(m),m=t,u&&d.trigger(c?"ajaxSuccess":"ajaxError",[N,p,c?y:v]),g.fireWith(f,[N,C]),u&&(d.trigger("ajaxComplete",[N,p]),--b.active||b.event.trigger("ajaxStop")))}return N},getScript:function(e,n){return b.get(e,t,n,"script")},getJSON:function(e,t,n){return b.get(e,t,n,"json")}});function _n(e,n,r){var i,o,a,s,u=e.contents,l=e.dataTypes,c=e.responseFields;for(s in c)s in r&&(n[c[s]]=r[s]);while("*"===l[0])l.shift(),o===t&&(o=e.mimeType||n.getResponseHeader("Content-Type"));if(o)for(s in u)if(u[s]&&u[s].test(o)){l.unshift(s);break}if(l[0]in r)a=l[0];else{for(s in r){if(!l[0]||e.converters[s+" "+l[0]]){a=s;break}i||(i=s)}a=a||i}return a?(a!==l[0]&&l.unshift(a),r[a]):t}function Fn(e,t){var n,r,i,o,a={},s=0,u=e.dataTypes.slice(),l=u[0];if(e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u[1])for(i in e.converters)a[i.toLowerCase()]=e.converters[i];for(;r=u[++s];)if("*"!==r){if("*"!==l&&l!==r){if(i=a[l+" "+r]||a["* "+r],!i)for(n in a)if(o=n.split(" "),o[1]===r&&(i=a[l+" "+o[0]]||a["* "+o[0]])){i===!0?i=a[n]:a[n]!==!0&&(r=o[0],u.splice(s--,0,r));break}if(i!==!0)if(i&&e["throws"])t=i(t);else try{t=i(t)}catch(c){return{state:"parsererror",error:i?c:"No conversion from "+l+" to "+r}}}l=r}return{state:"success",data:t}}b.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return b.globalEval(e),e}}}),b.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),b.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=o.head||b("head")[0]||o.documentElement;return{send:function(t,i){n=o.createElement("script"),n.async=!0,e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,t){(t||!n.readyState||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=null,n.parentNode&&n.parentNode.removeChild(n),n=null,t||i(200,"success"))},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(t,!0)}}}});var On=[],Bn=/(=)\?(?=&|$)|\?\?/;b.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=On.pop()||b.expando+"_"+vn++;return this[e]=!0,e}}),b.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,u=n.jsonp!==!1&&(Bn.test(n.url)?"url":"string"==typeof n.data&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Bn.test(n.data)&&"data");return u||"jsonp"===n.dataTypes[0]?(o=n.jsonpCallback=b.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,u?n[u]=n[u].replace(Bn,"$1"+o):n.jsonp!==!1&&(n.url+=(bn.test(n.url)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||b.error(o+" was not called"),s[0]},n.dataTypes[0]="json",a=e[o],e[o]=function(){s=arguments},i.always(function(){e[o]=a,n[o]&&(n.jsonpCallback=r.jsonpCallback,On.push(o)),s&&b.isFunction(a)&&a(s[0]),s=a=t}),"script"):t});var Pn,Rn,Wn=0,$n=e.ActiveXObject&&function(){var e;for(e in Pn)Pn[e](t,!0)};function In(){try{return new e.XMLHttpRequest}catch(t){}}function zn(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}b.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&In()||zn()}:In,Rn=b.ajaxSettings.xhr(),b.support.cors=!!Rn&&"withCredentials"in Rn,Rn=b.support.ajax=!!Rn,Rn&&b.ajaxTransport(function(n){if(!n.crossDomain||b.support.cors){var r;return{send:function(i,o){var a,s,u=n.xhr();if(n.username?u.open(n.type,n.url,n.async,n.username,n.password):u.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)u[s]=n.xhrFields[s];n.mimeType&&u.overrideMimeType&&u.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)u.setRequestHeader(s,i[s])}catch(l){}u.send(n.hasContent&&n.data||null),r=function(e,i){var s,l,c,p;try{if(r&&(i||4===u.readyState))if(r=t,a&&(u.onreadystatechange=b.noop,$n&&delete Pn[a]),i)4!==u.readyState&&u.abort();else{p={},s=u.status,l=u.getAllResponseHeaders(),"string"==typeof u.responseText&&(p.text=u.responseText);try{c=u.statusText}catch(f){c=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=p.text?200:404}}catch(d){i||o(-1,d)}p&&o(s,c,p,l)},n.async?4===u.readyState?setTimeout(r):(a=++Wn,$n&&(Pn||(Pn={},b(e).unload($n)),Pn[a]=r),u.onreadystatechange=r):r()},abort:function(){r&&r(t,!0)}}}});var Xn,Un,Vn=/^(?:toggle|show|hide)$/,Yn=RegExp("^(?:([+-])=|)("+x+")([a-z%]*)$","i"),Jn=/queueHooks$/,Gn=[nr],Qn={"*":[function(e,t){var n,r,i=this.createTween(e,t),o=Yn.exec(t),a=i.cur(),s=+a||0,u=1,l=20;if(o){if(n=+o[2],r=o[3]||(b.cssNumber[e]?"":"px"),"px"!==r&&s){s=b.css(i.elem,e,!0)||n||1;do u=u||".5",s/=u,b.style(i.elem,e,s+r);while(u!==(u=i.cur()/a)&&1!==u&&--l)}i.unit=r,i.start=s,i.end=o[1]?s+(o[1]+1)*n:n}return i}]};function Kn(){return setTimeout(function(){Xn=t}),Xn=b.now()}function Zn(e,t){b.each(t,function(t,n){var r=(Qn[t]||[]).concat(Qn["*"]),i=0,o=r.length;for(;o>i;i++)if(r[i].call(e,t,n))return})}function er(e,t,n){var r,i,o=0,a=Gn.length,s=b.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;var t=Xn||Kn(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,o=1-r,a=0,u=l.tweens.length;for(;u>a;a++)l.tweens[a].run(o);return s.notifyWith(e,[l,o,n]),1>o&&u?n:(s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:b.extend({},t),opts:b.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Xn||Kn(),duration:n.duration,tweens:[],createTween:function(t,n){var r=b.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)l.tweens[n].run(1);return t?s.resolveWith(e,[l,t]):s.rejectWith(e,[l,t]),this}}),c=l.props;for(tr(c,l.opts.specialEasing);a>o;o++)if(r=Gn[o].call(l,e,c,l.opts))return r;return Zn(l,c),b.isFunction(l.opts.start)&&l.opts.start.call(e,l),b.fx.timer(b.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function tr(e,t){var n,r,i,o,a;for(i in e)if(r=b.camelCase(i),o=t[r],n=e[i],b.isArray(n)&&(o=n[1],n=e[i]=n[0]),i!==r&&(e[r]=n,delete e[i]),a=b.cssHooks[r],a&&"expand"in a){n=a.expand(n),delete e[r];for(i in n)i in e||(e[i]=n[i],t[i]=o)}else t[r]=o}b.Animation=b.extend(er,{tweener:function(e,t){b.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;i>r;r++)n=e[r],Qn[n]=Qn[n]||[],Qn[n].unshift(t)},prefilter:function(e,t){t?Gn.unshift(e):Gn.push(e)}});function nr(e,t,n){var r,i,o,a,s,u,l,c,p,f=this,d=e.style,h={},g=[],m=e.nodeType&&nn(e);n.queue||(c=b._queueHooks(e,"fx"),null==c.unqueued&&(c.unqueued=0,p=c.empty.fire,c.empty.fire=function(){c.unqueued||p()}),c.unqueued++,f.always(function(){f.always(function(){c.unqueued--,b.queue(e,"fx").length||c.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[d.overflow,d.overflowX,d.overflowY],"inline"===b.css(e,"display")&&"none"===b.css(e,"float")&&(b.support.inlineBlockNeedsLayout&&"inline"!==un(e.nodeName)?d.zoom=1:d.display="inline-block")),n.overflow&&(d.overflow="hidden",b.support.shrinkWrapBlocks||f.always(function(){d.overflow=n.overflow[0],d.overflowX=n.overflow[1],d.overflowY=n.overflow[2]}));for(i in t)if(a=t[i],Vn.exec(a)){if(delete t[i],u=u||"toggle"===a,a===(m?"hide":"show"))continue;g.push(i)}if(o=g.length){s=b._data(e,"fxshow")||b._data(e,"fxshow",{}),"hidden"in s&&(m=s.hidden),u&&(s.hidden=!m),m?b(e).show():f.done(function(){b(e).hide()}),f.done(function(){var t;b._removeData(e,"fxshow");for(t in h)b.style(e,t,h[t])});for(i=0;o>i;i++)r=g[i],l=f.createTween(r,m?s[r]:0),h[r]=s[r]||b.style(e,r),r in s||(s[r]=l.start,m&&(l.end=l.start,l.start="width"===r||"height"===r?1:0))}}function rr(e,t,n,r,i){return new rr.prototype.init(e,t,n,r,i)}b.Tween=rr,rr.prototype={constructor:rr,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(b.cssNumber[n]?"":"px")},cur:function(){var e=rr.propHooks[this.prop];return e&&e.get?e.get(this):rr.propHooks._default.get(this)},run:function(e){var t,n=rr.propHooks[this.prop];return this.pos=t=this.options.duration?b.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):rr.propHooks._default.set(this),this}},rr.prototype.init.prototype=rr.prototype,rr.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=b.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){b.fx.step[e.prop]?b.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[b.cssProps[e.prop]]||b.cssHooks[e.prop])?b.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},rr.propHooks.scrollTop=rr.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},b.each(["toggle","show","hide"],function(e,t){var n=b.fn[t];b.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ir(t,!0),e,r,i)}}),b.fn.extend({fadeTo:function(e,t,n,r){return this.filter(nn).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=b.isEmptyObject(e),o=b.speed(t,n,r),a=function(){var t=er(this,b.extend({},e),o);a.finish=function(){t.stop(!0)},(i||b._data(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=b.timers,a=b._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&Jn.test(n)&&i(a[n]);for(n=o.length;n--;)o[n].elem!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),t=!1,o.splice(n,1));(t||!r)&&b.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=b._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=b.timers,a=r?r.length:0;for(n.finish=!0,b.queue(this,e,[]),i&&i.cur&&i.cur.finish&&i.cur.finish.call(this),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;a>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}});function ir(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=Zt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}b.each({slideDown:ir("show"),slideUp:ir("hide"),slideToggle:ir("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){b.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),b.speed=function(e,t,n){var r=e&&"object"==typeof e?b.extend({},e):{complete:n||!n&&t||b.isFunction(e)&&e,duration:e,easing:n&&t||t&&!b.isFunction(t)&&t};return r.duration=b.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in b.fx.speeds?b.fx.speeds[r.duration]:b.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){b.isFunction(r.old)&&r.old.call(this),r.queue&&b.dequeue(this,r.queue)},r},b.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},b.timers=[],b.fx=rr.prototype.init,b.fx.tick=function(){var e,n=b.timers,r=0;for(Xn=b.now();n.length>r;r++)e=n[r],e()||n[r]!==e||n.splice(r--,1);n.length||b.fx.stop(),Xn=t},b.fx.timer=function(e){e()&&b.timers.push(e)&&b.fx.start()},b.fx.interval=13,b.fx.start=function(){Un||(Un=setInterval(b.fx.tick,b.fx.interval))},b.fx.stop=function(){clearInterval(Un),Un=null},b.fx.speeds={slow:600,fast:200,_default:400},b.fx.step={},b.expr&&b.expr.filters&&(b.expr.filters.animated=function(e){return b.grep(b.timers,function(t){return e===t.elem}).length}),b.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){b.offset.setOffset(this,e,t)});var n,r,o={top:0,left:0},a=this[0],s=a&&a.ownerDocument;if(s)return n=s.documentElement,b.contains(n,a)?(typeof a.getBoundingClientRect!==i&&(o=a.getBoundingClientRect()),r=or(s),{top:o.top+(r.pageYOffset||n.scrollTop)-(n.clientTop||0),left:o.left+(r.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}):o},b.offset={setOffset:function(e,t,n){var r=b.css(e,"position");"static"===r&&(e.style.position="relative");var i=b(e),o=i.offset(),a=b.css(e,"top"),s=b.css(e,"left"),u=("absolute"===r||"fixed"===r)&&b.inArray("auto",[a,s])>-1,l={},c={},p,f;u?(c=i.position(),p=c.top,f=c.left):(p=parseFloat(a)||0,f=parseFloat(s)||0),b.isFunction(t)&&(t=t.call(e,n,o)),null!=t.top&&(l.top=t.top-o.top+p),null!=t.left&&(l.left=t.left-o.left+f),"using"in t?t.using.call(e,l):i.css(l)}},b.fn.extend({position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===b.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),b.nodeName(e[0],"html")||(n=e.offset()),n.top+=b.css(e[0],"borderTopWidth",!0),n.left+=b.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-b.css(r,"marginTop",!0),left:t.left-n.left-b.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||o.documentElement;while(e&&!b.nodeName(e,"html")&&"static"===b.css(e,"position"))e=e.offsetParent;return e||o.documentElement})}}),b.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);b.fn[e]=function(i){return b.access(this,function(e,i,o){var a=or(e);return o===t?a?n in a?a[n]:a.document.documentElement[i]:e[i]:(a?a.scrollTo(r?b(a).scrollLeft():o,r?o:b(a).scrollTop()):e[i]=o,t)},e,i,arguments.length,null)}});function or(e){return b.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}b.each({Height:"height",Width:"width"},function(e,n){b.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){b.fn[i]=function(i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return b.access(this,function(n,r,i){var o;return b.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(o=n.documentElement,Math.max(n.body["scroll"+e],o["scroll"+e],n.body["offset"+e],o["offset"+e],o["client"+e])):i===t?b.css(n,r,s):b.style(n,r,i,s)},n,a?i:t,a,null)}})}),e.jQuery=e.$=b,"function"==typeof define&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return b})})(window);
js/jquery-ui.min.js ADDED
@@ -0,0 +1,12 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*! jQuery UI - v1.10.2 - 2013-03-14
2
+ * http://jqueryui.com
3
+ * Includes: jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js, jquery.ui.draggable.js, jquery.ui.droppable.js, jquery.ui.resizable.js, jquery.ui.selectable.js, jquery.ui.sortable.js, jquery.ui.effect.js, jquery.ui.accordion.js, jquery.ui.autocomplete.js, jquery.ui.button.js, jquery.ui.datepicker.js, jquery.ui.dialog.js, jquery.ui.effect-blind.js, jquery.ui.effect-bounce.js, jquery.ui.effect-clip.js, jquery.ui.effect-drop.js, jquery.ui.effect-explode.js, jquery.ui.effect-fade.js, jquery.ui.effect-fold.js, jquery.ui.effect-highlight.js, jquery.ui.effect-pulsate.js, jquery.ui.effect-scale.js, jquery.ui.effect-shake.js, jquery.ui.effect-slide.js, jquery.ui.effect-transfer.js, jquery.ui.menu.js, jquery.ui.position.js, jquery.ui.progressbar.js, jquery.ui.slider.js, jquery.ui.spinner.js, jquery.ui.tabs.js, jquery.ui.tooltip.js
4
+ * Copyright 2013 jQuery Foundation and other contributors; Licensed MIT */
5
+ (function(t,e){function i(e,i){var n,o,a,r=e.nodeName.toLowerCase();return"area"===r?(n=e.parentNode,o=n.name,e.href&&o&&"map"===n.nodeName.toLowerCase()?(a=t("img[usemap=#"+o+"]")[0],!!a&&s(a)):!1):(/input|select|textarea|button|object/.test(r)?!e.disabled:"a"===r?e.href||i:i)&&s(e)}function s(e){return t.expr.filters.visible(e)&&!t(e).parents().addBack().filter(function(){return"hidden"===t.css(this,"visibility")}).length}var n=0,o=/^ui-id-\d+$/;t.ui=t.ui||{},t.extend(t.ui,{version:"1.10.2",keyCode:{BACKSPACE:8,COMMA:188,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,LEFT:37,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SPACE:32,TAB:9,UP:38}}),t.fn.extend({focus:function(e){return function(i,s){return"number"==typeof i?this.each(function(){var e=this;setTimeout(function(){t(e).focus(),s&&s.call(e)},i)}):e.apply(this,arguments)}}(t.fn.focus),scrollParent:function(){var e;return e=t.ui.ie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(t.css(this,"position"))&&/(auto|scroll)/.test(t.css(this,"overflow")+t.css(this,"overflow-y")+t.css(this,"overflow-x"))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(t.css(this,"overflow")+t.css(this,"overflow-y")+t.css(this,"overflow-x"))}).eq(0),/fixed/.test(this.css("position"))||!e.length?t(document):e},zIndex:function(i){if(i!==e)return this.css("zIndex",i);if(this.length)for(var s,n,o=t(this[0]);o.length&&o[0]!==document;){if(s=o.css("position"),("absolute"===s||"relative"===s||"fixed"===s)&&(n=parseInt(o.css("zIndex"),10),!isNaN(n)&&0!==n))return n;o=o.parent()}return 0},uniqueId:function(){return this.each(function(){this.id||(this.id="ui-id-"+ ++n)})},removeUniqueId:function(){return this.each(function(){o.test(this.id)&&t(this).removeAttr("id")})}}),t.extend(t.expr[":"],{data:t.expr.createPseudo?t.expr.createPseudo(function(e){return function(i){return!!t.data(i,e)}}):function(e,i,s){return!!t.data(e,s[3])},focusable:function(e){return i(e,!isNaN(t.attr(e,"tabindex")))},tabbable:function(e){var s=t.attr(e,"tabindex"),n=isNaN(s);return(n||s>=0)&&i(e,!n)}}),t("<a>").outerWidth(1).jquery||t.each(["Width","Height"],function(i,s){function n(e,i,s,n){return t.each(o,function(){i-=parseFloat(t.css(e,"padding"+this))||0,s&&(i-=parseFloat(t.css(e,"border"+this+"Width"))||0),n&&(i-=parseFloat(t.css(e,"margin"+this))||0)}),i}var o="Width"===s?["Left","Right"]:["Top","Bottom"],a=s.toLowerCase(),r={innerWidth:t.fn.innerWidth,innerHeight:t.fn.innerHeight,outerWidth:t.fn.outerWidth,outerHeight:t.fn.outerHeight};t.fn["inner"+s]=function(i){return i===e?r["inner"+s].call(this):this.each(function(){t(this).css(a,n(this,i)+"px")})},t.fn["outer"+s]=function(e,i){return"number"!=typeof e?r["outer"+s].call(this,e):this.each(function(){t(this).css(a,n(this,e,!0,i)+"px")})}}),t.fn.addBack||(t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t("<a>").data("a-b","a").removeData("a-b").data("a-b")&&(t.fn.removeData=function(e){return function(i){return arguments.length?e.call(this,t.camelCase(i)):e.call(this)}}(t.fn.removeData)),t.ui.ie=!!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),t.support.selectstart="onselectstart"in document.createElement("div"),t.fn.extend({disableSelection:function(){return this.bind((t.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(t){t.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}}),t.extend(t.ui,{plugin:{add:function(e,i,s){var n,o=t.ui[e].prototype;for(n in s)o.plugins[n]=o.plugins[n]||[],o.plugins[n].push([i,s[n]])},call:function(t,e,i){var s,n=t.plugins[e];if(n&&t.element[0].parentNode&&11!==t.element[0].parentNode.nodeType)for(s=0;n.length>s;s++)t.options[n[s][0]]&&n[s][1].apply(t.element,i)}},hasScroll:function(e,i){if("hidden"===t(e).css("overflow"))return!1;var s=i&&"left"===i?"scrollLeft":"scrollTop",n=!1;return e[s]>0?!0:(e[s]=1,n=e[s]>0,e[s]=0,n)}})})(jQuery),function(t,e){var i=0,s=Array.prototype.slice,n=t.cleanData;t.cleanData=function(e){for(var i,s=0;null!=(i=e[s]);s++)try{t(i).triggerHandler("remove")}catch(o){}n(e)},t.widget=function(i,s,n){var o,a,r,h,l={},c=i.split(".")[0];i=i.split(".")[1],o=c+"-"+i,n||(n=s,s=t.Widget),t.expr[":"][o.toLowerCase()]=function(e){return!!t.data(e,o)},t[c]=t[c]||{},a=t[c][i],r=t[c][i]=function(t,i){return this._createWidget?(arguments.length&&this._createWidget(t,i),e):new r(t,i)},t.extend(r,a,{version:n.version,_proto:t.extend({},n),_childConstructors:[]}),h=new s,h.options=t.widget.extend({},h.options),t.each(n,function(i,n){return t.isFunction(n)?(l[i]=function(){var t=function(){return s.prototype[i].apply(this,arguments)},e=function(t){return s.prototype[i].apply(this,t)};return function(){var i,s=this._super,o=this._superApply;return this._super=t,this._superApply=e,i=n.apply(this,arguments),this._super=s,this._superApply=o,i}}(),e):(l[i]=n,e)}),r.prototype=t.widget.extend(h,{widgetEventPrefix:a?h.widgetEventPrefix:i},l,{constructor:r,namespace:c,widgetName:i,widgetFullName:o}),a?(t.each(a._childConstructors,function(e,i){var s=i.prototype;t.widget(s.namespace+"."+s.widgetName,r,i._proto)}),delete a._childConstructors):s._childConstructors.push(r),t.widget.bridge(i,r)},t.widget.extend=function(i){for(var n,o,a=s.call(arguments,1),r=0,h=a.length;h>r;r++)for(n in a[r])o=a[r][n],a[r].hasOwnProperty(n)&&o!==e&&(i[n]=t.isPlainObject(o)?t.isPlainObject(i[n])?t.widget.extend({},i[n],o):t.widget.extend({},o):o);return i},t.widget.bridge=function(i,n){var o=n.prototype.widgetFullName||i;t.fn[i]=function(a){var r="string"==typeof a,h=s.call(arguments,1),l=this;return a=!r&&h.length?t.widget.extend.apply(null,[a].concat(h)):a,r?this.each(function(){var s,n=t.data(this,o);return n?t.isFunction(n[a])&&"_"!==a.charAt(0)?(s=n[a].apply(n,h),s!==n&&s!==e?(l=s&&s.jquery?l.pushStack(s.get()):s,!1):e):t.error("no such method '"+a+"' for "+i+" widget instance"):t.error("cannot call methods on "+i+" prior to initialization; "+"attempted to call method '"+a+"'")}):this.each(function(){var e=t.data(this,o);e?e.option(a||{})._init():t.data(this,o,new n(a,this))}),l}},t.Widget=function(){},t.Widget._childConstructors=[],t.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",defaultElement:"<div>",options:{disabled:!1,create:null},_createWidget:function(e,s){s=t(s||this.defaultElement||this)[0],this.element=t(s),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.options=t.widget.extend({},this.options,this._getCreateOptions(),e),this.bindings=t(),this.hoverable=t(),this.focusable=t(),s!==this&&(t.data(s,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===s&&this.destroy()}}),this.document=t(s.style?s.ownerDocument:s.document||s),this.window=t(this.document[0].defaultView||this.document[0].parentWindow)),this._create(),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:t.noop,_getCreateEventData:t.noop,_create:t.noop,_init:t.noop,destroy:function(){this._destroy(),this.element.unbind(this.eventNamespace).removeData(this.widgetName).removeData(this.widgetFullName).removeData(t.camelCase(this.widgetFullName)),this.widget().unbind(this.eventNamespace).removeAttr("aria-disabled").removeClass(this.widgetFullName+"-disabled "+"ui-state-disabled"),this.bindings.unbind(this.eventNamespace),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")},_destroy:t.noop,widget:function(){return this.element},option:function(i,s){var n,o,a,r=i;if(0===arguments.length)return t.widget.extend({},this.options);if("string"==typeof i)if(r={},n=i.split("."),i=n.shift(),n.length){for(o=r[i]=t.widget.extend({},this.options[i]),a=0;n.length-1>a;a++)o[n[a]]=o[n[a]]||{},o=o[n[a]];if(i=n.pop(),s===e)return o[i]===e?null:o[i];o[i]=s}else{if(s===e)return this.options[i]===e?null:this.options[i];r[i]=s}return this._setOptions(r),this},_setOptions:function(t){var e;for(e in t)this._setOption(e,t[e]);return this},_setOption:function(t,e){return this.options[t]=e,"disabled"===t&&(this.widget().toggleClass(this.widgetFullName+"-disabled ui-state-disabled",!!e).attr("aria-disabled",e),this.hoverable.removeClass("ui-state-hover"),this.focusable.removeClass("ui-state-focus")),this},enable:function(){return this._setOption("disabled",!1)},disable:function(){return this._setOption("disabled",!0)},_on:function(i,s,n){var o,a=this;"boolean"!=typeof i&&(n=s,s=i,i=!1),n?(s=o=t(s),this.bindings=this.bindings.add(s)):(n=s,s=this.element,o=this.widget()),t.each(n,function(n,r){function h(){return i||a.options.disabled!==!0&&!t(this).hasClass("ui-state-disabled")?("string"==typeof r?a[r]:r).apply(a,arguments):e}"string"!=typeof r&&(h.guid=r.guid=r.guid||h.guid||t.guid++);var l=n.match(/^(\w+)\s*(.*)$/),c=l[1]+a.eventNamespace,u=l[2];u?o.delegate(u,c,h):s.bind(c,h)})},_off:function(t,e){e=(e||"").split(" ").join(this.eventNamespace+" ")+this.eventNamespace,t.unbind(e).undelegate(e)},_delay:function(t,e){function i(){return("string"==typeof t?s[t]:t).apply(s,arguments)}var s=this;return setTimeout(i,e||0)},_hoverable:function(e){this.hoverable=this.hoverable.add(e),this._on(e,{mouseenter:function(e){t(e.currentTarget).addClass("ui-state-hover")},mouseleave:function(e){t(e.currentTarget).removeClass("ui-state-hover")}})},_focusable:function(e){this.focusable=this.focusable.add(e),this._on(e,{focusin:function(e){t(e.currentTarget).addClass("ui-state-focus")},focusout:function(e){t(e.currentTarget).removeClass("ui-state-focus")}})},_trigger:function(e,i,s){var n,o,a=this.options[e];if(s=s||{},i=t.Event(i),i.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase(),i.target=this.element[0],o=i.originalEvent)for(n in o)n in i||(i[n]=o[n]);return this.element.trigger(i,s),!(t.isFunction(a)&&a.apply(this.element[0],[i].concat(s))===!1||i.isDefaultPrevented())}},t.each({show:"fadeIn",hide:"fadeOut"},function(e,i){t.Widget.prototype["_"+e]=function(s,n,o){"string"==typeof n&&(n={effect:n});var a,r=n?n===!0||"number"==typeof n?i:n.effect||i:e;n=n||{},"number"==typeof n&&(n={duration:n}),a=!t.isEmptyObject(n),n.complete=o,n.delay&&s.delay(n.delay),a&&t.effects&&t.effects.effect[r]?s[e](n):r!==e&&s[r]?s[r](n.duration,n.easing,o):s.queue(function(i){t(this)[e](),o&&o.call(s[0]),i()})}})}(jQuery),function(t){var e=!1;t(document).mouseup(function(){e=!1}),t.widget("ui.mouse",{version:"1.10.2",options:{cancel:"input,textarea,button,select,option",distance:1,delay:0},_mouseInit:function(){var e=this;this.element.bind("mousedown."+this.widgetName,function(t){return e._mouseDown(t)}).bind("click."+this.widgetName,function(i){return!0===t.data(i.target,e.widgetName+".preventClickEvent")?(t.removeData(i.target,e.widgetName+".preventClickEvent"),i.stopImmediatePropagation(),!1):undefined}),this.started=!1},_mouseDestroy:function(){this.element.unbind("."+this.widgetName),this._mouseMoveDelegate&&t(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate)},_mouseDown:function(i){if(!e){this._mouseStarted&&this._mouseUp(i),this._mouseDownEvent=i;var s=this,n=1===i.which,o="string"==typeof this.options.cancel&&i.target.nodeName?t(i.target).closest(this.options.cancel).length:!1;return n&&!o&&this._mouseCapture(i)?(this.mouseDelayMet=!this.options.delay,this.mouseDelayMet||(this._mouseDelayTimer=setTimeout(function(){s.mouseDelayMet=!0},this.options.delay)),this._mouseDistanceMet(i)&&this._mouseDelayMet(i)&&(this._mouseStarted=this._mouseStart(i)!==!1,!this._mouseStarted)?(i.preventDefault(),!0):(!0===t.data(i.target,this.widgetName+".preventClickEvent")&&t.removeData(i.target,this.widgetName+".preventClickEvent"),this._mouseMoveDelegate=function(t){return s._mouseMove(t)},this._mouseUpDelegate=function(t){return s._mouseUp(t)},t(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate),i.preventDefault(),e=!0,!0)):!0}},_mouseMove:function(e){return t.ui.ie&&(!document.documentMode||9>document.documentMode)&&!e.button?this._mouseUp(e):this._mouseStarted?(this._mouseDrag(e),e.preventDefault()):(this._mouseDistanceMet(e)&&this._mouseDelayMet(e)&&(this._mouseStarted=this._mouseStart(this._mouseDownEvent,e)!==!1,this._mouseStarted?this._mouseDrag(e):this._mouseUp(e)),!this._mouseStarted)},_mouseUp:function(e){return t(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate),this._mouseStarted&&(this._mouseStarted=!1,e.target===this._mouseDownEvent.target&&t.data(e.target,this.widgetName+".preventClickEvent",!0),this._mouseStop(e)),!1},_mouseDistanceMet:function(t){return Math.max(Math.abs(this._mouseDownEvent.pageX-t.pageX),Math.abs(this._mouseDownEvent.pageY-t.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return!0}})}(jQuery),function(t){t.widget("ui.draggable",t.ui.mouse,{version:"1.10.2",widgetEventPrefix:"drag",options:{addClasses:!0,appendTo:"parent",axis:!1,connectToSortable:!1,containment:!1,cursor:"auto",cursorAt:!1,grid:!1,handle:!1,helper:"original",iframeFix:!1,opacity:!1,refreshPositions:!1,revert:!1,revertDuration:500,scope:"default",scroll:!0,scrollSensitivity:20,scrollSpeed:20,snap:!1,snapMode:"both",snapTolerance:20,stack:!1,zIndex:!1,drag:null,start:null,stop:null},_create:function(){"original"!==this.options.helper||/^(?:r|a|f)/.test(this.element.css("position"))||(this.element[0].style.position="relative"),this.options.addClasses&&this.element.addClass("ui-draggable"),this.options.disabled&&this.element.addClass("ui-draggable-disabled"),this._mouseInit()},_destroy:function(){this.element.removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled"),this._mouseDestroy()},_mouseCapture:function(e){var i=this.options;return this.helper||i.disabled||t(e.target).closest(".ui-resizable-handle").length>0?!1:(this.handle=this._getHandle(e),this.handle?(t(i.iframeFix===!0?"iframe":i.iframeFix).each(function(){t("<div class='ui-draggable-iframeFix' style='background: #fff;'></div>").css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1e3}).css(t(this).offset()).appendTo("body")}),!0):!1)},_mouseStart:function(e){var i=this.options;return this.helper=this._createHelper(e),this.helper.addClass("ui-draggable-dragging"),this._cacheHelperProportions(),t.ui.ddmanager&&(t.ui.ddmanager.current=this),this._cacheMargins(),this.cssPosition=this.helper.css("position"),this.scrollParent=this.helper.scrollParent(),this.offset=this.positionAbs=this.element.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},t.extend(this.offset,{click:{left:e.pageX-this.offset.left,top:e.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.originalPosition=this.position=this._generatePosition(e),this.originalPageX=e.pageX,this.originalPageY=e.pageY,i.cursorAt&&this._adjustOffsetFromHelper(i.cursorAt),i.containment&&this._setContainment(),this._trigger("start",e)===!1?(this._clear(),!1):(this._cacheHelperProportions(),t.ui.ddmanager&&!i.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this._mouseDrag(e,!0),t.ui.ddmanager&&t.ui.ddmanager.dragStart(this,e),!0)},_mouseDrag:function(e,i){if(this.position=this._generatePosition(e),this.positionAbs=this._convertPositionTo("absolute"),!i){var s=this._uiHash();if(this._trigger("drag",e,s)===!1)return this._mouseUp({}),!1;this.position=s.position}return this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),!1},_mouseStop:function(e){var i,s=this,n=!1,o=!1;for(t.ui.ddmanager&&!this.options.dropBehaviour&&(o=t.ui.ddmanager.drop(this,e)),this.dropped&&(o=this.dropped,this.dropped=!1),i=this.element[0];i&&(i=i.parentNode);)i===document&&(n=!0);return n||"original"!==this.options.helper?("invalid"===this.options.revert&&!o||"valid"===this.options.revert&&o||this.options.revert===!0||t.isFunction(this.options.revert)&&this.options.revert.call(this.element,o)?t(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){s._trigger("stop",e)!==!1&&s._clear()}):this._trigger("stop",e)!==!1&&this._clear(),!1):!1},_mouseUp:function(e){return t("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)}),t.ui.ddmanager&&t.ui.ddmanager.dragStop(this,e),t.ui.mouse.prototype._mouseUp.call(this,e)},cancel:function(){return this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear(),this},_getHandle:function(e){return this.options.handle?!!t(e.target).closest(this.element.find(this.options.handle)).length:!0},_createHelper:function(e){var i=this.options,s=t.isFunction(i.helper)?t(i.helper.apply(this.element[0],[e])):"clone"===i.helper?this.element.clone().removeAttr("id"):this.element;return s.parents("body").length||s.appendTo("parent"===i.appendTo?this.element[0].parentNode:i.appendTo),s[0]===this.element[0]||/(fixed|absolute)/.test(s.css("position"))||s.css("position","absolute"),s},_adjustOffsetFromHelper:function(e){"string"==typeof e&&(e=e.split(" ")),t.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left"in e&&(this.offset.click.left=e.left+this.margins.left),"right"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var e=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&t.ui.ie)&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var t=this.element.position();return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:t.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e,i,s,n=this.options;if("parent"===n.containment&&(n.containment=this.helper[0].parentNode),("document"===n.containment||"window"===n.containment)&&(this.containment=["document"===n.containment?0:t(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,"document"===n.containment?0:t(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,("document"===n.containment?0:t(window).scrollLeft())+t("document"===n.containment?document:window).width()-this.helperProportions.width-this.margins.left,("document"===n.containment?0:t(window).scrollTop())+(t("document"===n.containment?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(n.containment)||n.containment.constructor===Array)n.containment.constructor===Array&&(this.containment=n.containment);else{if(i=t(n.containment),s=i[0],!s)return;e="hidden"!==t(s).css("overflow"),this.containment=[(parseInt(t(s).css("borderLeftWidth"),10)||0)+(parseInt(t(s).css("paddingLeft"),10)||0),(parseInt(t(s).css("borderTopWidth"),10)||0)+(parseInt(t(s).css("paddingTop"),10)||0),(e?Math.max(s.scrollWidth,s.offsetWidth):s.offsetWidth)-(parseInt(t(s).css("borderRightWidth"),10)||0)-(parseInt(t(s).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(e?Math.max(s.scrollHeight,s.offsetHeight):s.offsetHeight)-(parseInt(t(s).css("borderBottomWidth"),10)||0)-(parseInt(t(s).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom],this.relative_container=i}},_convertPositionTo:function(e,i){i||(i=this.position);var s="absolute"===e?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,o=/(html|body)/i.test(n[0].tagName);return{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():o?0:n.scrollTop())*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():o?0:n.scrollLeft())*s}},_generatePosition:function(e){var i,s,n,o,a=this.options,r="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,h=/(html|body)/i.test(r[0].tagName),l=e.pageX,c=e.pageY;return this.originalPosition&&(this.containment&&(this.relative_container?(s=this.relative_container.offset(),i=[this.containment[0]+s.left,this.containment[1]+s.top,this.containment[2]+s.left,this.containment[3]+s.top]):i=this.containment,e.pageX-this.offset.click.left<i[0]&&(l=i[0]+this.offset.click.left),e.pageY-this.offset.click.top<i[1]&&(c=i[1]+this.offset.click.top),e.pageX-this.offset.click.left>i[2]&&(l=i[2]+this.offset.click.left),e.pageY-this.offset.click.top>i[3]&&(c=i[3]+this.offset.click.top)),a.grid&&(n=a.grid[1]?this.originalPageY+Math.round((c-this.originalPageY)/a.grid[1])*a.grid[1]:this.originalPageY,c=i?n-this.offset.click.top>=i[1]||n-this.offset.click.top>i[3]?n:n-this.offset.click.top>=i[1]?n-a.grid[1]:n+a.grid[1]:n,o=a.grid[0]?this.originalPageX+Math.round((l-this.originalPageX)/a.grid[0])*a.grid[0]:this.originalPageX,l=i?o-this.offset.click.left>=i[0]||o-this.offset.click.left>i[2]?o:o-this.offset.click.left>=i[0]?o-a.grid[0]:o+a.grid[0]:o)),{top:c-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():h?0:r.scrollTop()),left:l-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():h?0:r.scrollLeft())}},_clear:function(){this.helper.removeClass("ui-draggable-dragging"),this.helper[0]===this.element[0]||this.cancelHelperRemoval||this.helper.remove(),this.helper=null,this.cancelHelperRemoval=!1},_trigger:function(e,i,s){return s=s||this._uiHash(),t.ui.plugin.call(this,e,[i,s]),"drag"===e&&(this.positionAbs=this._convertPositionTo("absolute")),t.Widget.prototype._trigger.call(this,e,i,s)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}}),t.ui.plugin.add("draggable","connectToSortable",{start:function(e,i){var s=t(this).data("ui-draggable"),n=s.options,o=t.extend({},i,{item:s.element});s.sortables=[],t(n.connectToSortable).each(function(){var i=t.data(this,"ui-sortable");i&&!i.options.disabled&&(s.sortables.push({instance:i,shouldRevert:i.options.revert}),i.refreshPositions(),i._trigger("activate",e,o))})},stop:function(e,i){var s=t(this).data("ui-draggable"),n=t.extend({},i,{item:s.element});t.each(s.sortables,function(){this.instance.isOver?(this.instance.isOver=0,s.cancelHelperRemoval=!0,this.instance.cancelHelperRemoval=!1,this.shouldRevert&&(this.instance.options.revert=this.shouldRevert),this.instance._mouseStop(e),this.instance.options.helper=this.instance.options._helper,"original"===s.options.helper&&this.instance.currentItem.css({top:"auto",left:"auto"})):(this.instance.cancelHelperRemoval=!1,this.instance._trigger("deactivate",e,n))})},drag:function(e,i){var s=t(this).data("ui-draggable"),n=this;t.each(s.sortables,function(){var o=!1,a=this;this.instance.positionAbs=s.positionAbs,this.instance.helperProportions=s.helperProportions,this.instance.offset.click=s.offset.click,this.instance._intersectsWith(this.instance.containerCache)&&(o=!0,t.each(s.sortables,function(){return this.instance.positionAbs=s.positionAbs,this.instance.helperProportions=s.helperProportions,this.instance.offset.click=s.offset.click,this!==a&&this.instance._intersectsWith(this.instance.containerCache)&&t.contains(a.instance.element[0],this.instance.element[0])&&(o=!1),o})),o?(this.instance.isOver||(this.instance.isOver=1,this.instance.currentItem=t(n).clone().removeAttr("id").appendTo(this.instance.element).data("ui-sortable-item",!0),this.instance.options._helper=this.instance.options.helper,this.instance.options.helper=function(){return i.helper[0]},e.target=this.instance.currentItem[0],this.instance._mouseCapture(e,!0),this.instance._mouseStart(e,!0,!0),this.instance.offset.click.top=s.offset.click.top,this.instance.offset.click.left=s.offset.click.left,this.instance.offset.parent.left-=s.offset.parent.left-this.instance.offset.parent.left,this.instance.offset.parent.top-=s.offset.parent.top-this.instance.offset.parent.top,s._trigger("toSortable",e),s.dropped=this.instance.element,s.currentItem=s.element,this.instance.fromOutside=s),this.instance.currentItem&&this.instance._mouseDrag(e)):this.instance.isOver&&(this.instance.isOver=0,this.instance.cancelHelperRemoval=!0,this.instance.options.revert=!1,this.instance._trigger("out",e,this.instance._uiHash(this.instance)),this.instance._mouseStop(e,!0),this.instance.options.helper=this.instance.options._helper,this.instance.currentItem.remove(),this.instance.placeholder&&this.instance.placeholder.remove(),s._trigger("fromSortable",e),s.dropped=!1)})}}),t.ui.plugin.add("draggable","cursor",{start:function(){var e=t("body"),i=t(this).data("ui-draggable").options;e.css("cursor")&&(i._cursor=e.css("cursor")),e.css("cursor",i.cursor)},stop:function(){var e=t(this).data("ui-draggable").options;e._cursor&&t("body").css("cursor",e._cursor)}}),t.ui.plugin.add("draggable","opacity",{start:function(e,i){var s=t(i.helper),n=t(this).data("ui-draggable").options;s.css("opacity")&&(n._opacity=s.css("opacity")),s.css("opacity",n.opacity)},stop:function(e,i){var s=t(this).data("ui-draggable").options;s._opacity&&t(i.helper).css("opacity",s._opacity)}}),t.ui.plugin.add("draggable","scroll",{start:function(){var e=t(this).data("ui-draggable");e.scrollParent[0]!==document&&"HTML"!==e.scrollParent[0].tagName&&(e.overflowOffset=e.scrollParent.offset())},drag:function(e){var i=t(this).data("ui-draggable"),s=i.options,n=!1;i.scrollParent[0]!==document&&"HTML"!==i.scrollParent[0].tagName?(s.axis&&"x"===s.axis||(i.overflowOffset.top+i.scrollParent[0].offsetHeight-e.pageY<s.scrollSensitivity?i.scrollParent[0].scrollTop=n=i.scrollParent[0].scrollTop+s.scrollSpeed:e.pageY-i.overflowOffset.top<s.scrollSensitivity&&(i.scrollParent[0].scrollTop=n=i.scrollParent[0].scrollTop-s.scrollSpeed)),s.axis&&"y"===s.axis||(i.overflowOffset.left+i.scrollParent[0].offsetWidth-e.pageX<s.scrollSensitivity?i.scrollParent[0].scrollLeft=n=i.scrollParent[0].scrollLeft+s.scrollSpeed:e.pageX-i.overflowOffset.left<s.scrollSensitivity&&(i.scrollParent[0].scrollLeft=n=i.scrollParent[0].scrollLeft-s.scrollSpeed))):(s.axis&&"x"===s.axis||(e.pageY-t(document).scrollTop()<s.scrollSensitivity?n=t(document).scrollTop(t(document).scrollTop()-s.scrollSpeed):t(window).height()-(e.pageY-t(document).scrollTop())<s.scrollSensitivity&&(n=t(document).scrollTop(t(document).scrollTop()+s.scrollSpeed))),s.axis&&"y"===s.axis||(e.pageX-t(document).scrollLeft()<s.scrollSensitivity?n=t(document).scrollLeft(t(document).scrollLeft()-s.scrollSpeed):t(window).width()-(e.pageX-t(document).scrollLeft())<s.scrollSensitivity&&(n=t(document).scrollLeft(t(document).scrollLeft()+s.scrollSpeed)))),n!==!1&&t.ui.ddmanager&&!s.dropBehaviour&&t.ui.ddmanager.prepareOffsets(i,e)}}),t.ui.plugin.add("draggable","snap",{start:function(){var e=t(this).data("ui-draggable"),i=e.options;e.snapElements=[],t(i.snap.constructor!==String?i.snap.items||":data(ui-draggable)":i.snap).each(function(){var i=t(this),s=i.offset();this!==e.element[0]&&e.snapElements.push({item:this,width:i.outerWidth(),height:i.outerHeight(),top:s.top,left:s.left})})},drag:function(e,i){var s,n,o,a,r,h,l,c,u,d,p=t(this).data("ui-draggable"),f=p.options,g=f.snapTolerance,m=i.offset.left,v=m+p.helperProportions.width,_=i.offset.top,b=_+p.helperProportions.height;for(u=p.snapElements.length-1;u>=0;u--)r=p.snapElements[u].left,h=r+p.snapElements[u].width,l=p.snapElements[u].top,c=l+p.snapElements[u].height,m>r-g&&h+g>m&&_>l-g&&c+g>_||m>r-g&&h+g>m&&b>l-g&&c+g>b||v>r-g&&h+g>v&&_>l-g&&c+g>_||v>r-g&&h+g>v&&b>l-g&&c+g>b?("inner"!==f.snapMode&&(s=g>=Math.abs(l-b),n=g>=Math.abs(c-_),o=g>=Math.abs(r-v),a=g>=Math.abs(h-m),s&&(i.position.top=p._convertPositionTo("relative",{top:l-p.helperProportions.height,left:0}).top-p.margins.top),n&&(i.position.top=p._convertPositionTo("relative",{top:c,left:0}).top-p.margins.top),o&&(i.position.left=p._convertPositionTo("relative",{top:0,left:r-p.helperProportions.width}).left-p.margins.left),a&&(i.position.left=p._convertPositionTo("relative",{top:0,left:h}).left-p.margins.left)),d=s||n||o||a,"outer"!==f.snapMode&&(s=g>=Math.abs(l-_),n=g>=Math.abs(c-b),o=g>=Math.abs(r-m),a=g>=Math.abs(h-v),s&&(i.position.top=p._convertPositionTo("relative",{top:l,left:0}).top-p.margins.top),n&&(i.position.top=p._convertPositionTo("relative",{top:c-p.helperProportions.height,left:0}).top-p.margins.top),o&&(i.position.left=p._convertPositionTo("relative",{top:0,left:r}).left-p.margins.left),a&&(i.position.left=p._convertPositionTo("relative",{top:0,left:h-p.helperProportions.width}).left-p.margins.left)),!p.snapElements[u].snapping&&(s||n||o||a||d)&&p.options.snap.snap&&p.options.snap.snap.call(p.element,e,t.extend(p._uiHash(),{snapItem:p.snapElements[u].item})),p.snapElements[u].snapping=s||n||o||a||d):(p.snapElements[u].snapping&&p.options.snap.release&&p.options.snap.release.call(p.element,e,t.extend(p._uiHash(),{snapItem:p.snapElements[u].item})),p.snapElements[u].snapping=!1)}}),t.ui.plugin.add("draggable","stack",{start:function(){var e,i=this.data("ui-draggable").options,s=t.makeArray(t(i.stack)).sort(function(e,i){return(parseInt(t(e).css("zIndex"),10)||0)-(parseInt(t(i).css("zIndex"),10)||0)});s.length&&(e=parseInt(t(s[0]).css("zIndex"),10)||0,t(s).each(function(i){t(this).css("zIndex",e+i)}),this.css("zIndex",e+s.length))}}),t.ui.plugin.add("draggable","zIndex",{start:function(e,i){var s=t(i.helper),n=t(this).data("ui-draggable").options;s.css("zIndex")&&(n._zIndex=s.css("zIndex")),s.css("zIndex",n.zIndex)},stop:function(e,i){var s=t(this).data("ui-draggable").options;s._zIndex&&t(i.helper).css("zIndex",s._zIndex)}})}(jQuery),function(t){function e(t,e,i){return t>e&&e+i>t}t.widget("ui.droppable",{version:"1.10.2",widgetEventPrefix:"drop",options:{accept:"*",activeClass:!1,addClasses:!0,greedy:!1,hoverClass:!1,scope:"default",tolerance:"intersect",activate:null,deactivate:null,drop:null,out:null,over:null},_create:function(){var e=this.options,i=e.accept;this.isover=!1,this.isout=!0,this.accept=t.isFunction(i)?i:function(t){return t.is(i)},this.proportions={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight},t.ui.ddmanager.droppables[e.scope]=t.ui.ddmanager.droppables[e.scope]||[],t.ui.ddmanager.droppables[e.scope].push(this),e.addClasses&&this.element.addClass("ui-droppable")
6
+ },_destroy:function(){for(var e=0,i=t.ui.ddmanager.droppables[this.options.scope];i.length>e;e++)i[e]===this&&i.splice(e,1);this.element.removeClass("ui-droppable ui-droppable-disabled")},_setOption:function(e,i){"accept"===e&&(this.accept=t.isFunction(i)?i:function(t){return t.is(i)}),t.Widget.prototype._setOption.apply(this,arguments)},_activate:function(e){var i=t.ui.ddmanager.current;this.options.activeClass&&this.element.addClass(this.options.activeClass),i&&this._trigger("activate",e,this.ui(i))},_deactivate:function(e){var i=t.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass),i&&this._trigger("deactivate",e,this.ui(i))},_over:function(e){var i=t.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.addClass(this.options.hoverClass),this._trigger("over",e,this.ui(i)))},_out:function(e){var i=t.ui.ddmanager.current;i&&(i.currentItem||i.element)[0]!==this.element[0]&&this.accept.call(this.element[0],i.currentItem||i.element)&&(this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("out",e,this.ui(i)))},_drop:function(e,i){var s=i||t.ui.ddmanager.current,n=!1;return s&&(s.currentItem||s.element)[0]!==this.element[0]?(this.element.find(":data(ui-droppable)").not(".ui-draggable-dragging").each(function(){var e=t.data(this,"ui-droppable");return e.options.greedy&&!e.options.disabled&&e.options.scope===s.options.scope&&e.accept.call(e.element[0],s.currentItem||s.element)&&t.ui.intersect(s,t.extend(e,{offset:e.element.offset()}),e.options.tolerance)?(n=!0,!1):undefined}),n?!1:this.accept.call(this.element[0],s.currentItem||s.element)?(this.options.activeClass&&this.element.removeClass(this.options.activeClass),this.options.hoverClass&&this.element.removeClass(this.options.hoverClass),this._trigger("drop",e,this.ui(s)),this.element):!1):!1},ui:function(t){return{draggable:t.currentItem||t.element,helper:t.helper,position:t.position,offset:t.positionAbs}}}),t.ui.intersect=function(t,i,s){if(!i.offset)return!1;var n,o,a=(t.positionAbs||t.position.absolute).left,r=a+t.helperProportions.width,h=(t.positionAbs||t.position.absolute).top,l=h+t.helperProportions.height,c=i.offset.left,u=c+i.proportions.width,d=i.offset.top,p=d+i.proportions.height;switch(s){case"fit":return a>=c&&u>=r&&h>=d&&p>=l;case"intersect":return a+t.helperProportions.width/2>c&&u>r-t.helperProportions.width/2&&h+t.helperProportions.height/2>d&&p>l-t.helperProportions.height/2;case"pointer":return n=(t.positionAbs||t.position.absolute).left+(t.clickOffset||t.offset.click).left,o=(t.positionAbs||t.position.absolute).top+(t.clickOffset||t.offset.click).top,e(o,d,i.proportions.height)&&e(n,c,i.proportions.width);case"touch":return(h>=d&&p>=h||l>=d&&p>=l||d>h&&l>p)&&(a>=c&&u>=a||r>=c&&u>=r||c>a&&r>u);default:return!1}},t.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(e,i){var s,n,o=t.ui.ddmanager.droppables[e.options.scope]||[],a=i?i.type:null,r=(e.currentItem||e.element).find(":data(ui-droppable)").addBack();t:for(s=0;o.length>s;s++)if(!(o[s].options.disabled||e&&!o[s].accept.call(o[s].element[0],e.currentItem||e.element))){for(n=0;r.length>n;n++)if(r[n]===o[s].element[0]){o[s].proportions.height=0;continue t}o[s].visible="none"!==o[s].element.css("display"),o[s].visible&&("mousedown"===a&&o[s]._activate.call(o[s],i),o[s].offset=o[s].element.offset(),o[s].proportions={width:o[s].element[0].offsetWidth,height:o[s].element[0].offsetHeight})}},drop:function(e,i){var s=!1;return t.each((t.ui.ddmanager.droppables[e.options.scope]||[]).slice(),function(){this.options&&(!this.options.disabled&&this.visible&&t.ui.intersect(e,this,this.options.tolerance)&&(s=this._drop.call(this,i)||s),!this.options.disabled&&this.visible&&this.accept.call(this.element[0],e.currentItem||e.element)&&(this.isout=!0,this.isover=!1,this._deactivate.call(this,i)))}),s},dragStart:function(e,i){e.element.parentsUntil("body").bind("scroll.droppable",function(){e.options.refreshPositions||t.ui.ddmanager.prepareOffsets(e,i)})},drag:function(e,i){e.options.refreshPositions&&t.ui.ddmanager.prepareOffsets(e,i),t.each(t.ui.ddmanager.droppables[e.options.scope]||[],function(){if(!this.options.disabled&&!this.greedyChild&&this.visible){var s,n,o,a=t.ui.intersect(e,this,this.options.tolerance),r=!a&&this.isover?"isout":a&&!this.isover?"isover":null;r&&(this.options.greedy&&(n=this.options.scope,o=this.element.parents(":data(ui-droppable)").filter(function(){return t.data(this,"ui-droppable").options.scope===n}),o.length&&(s=t.data(o[0],"ui-droppable"),s.greedyChild="isover"===r)),s&&"isover"===r&&(s.isover=!1,s.isout=!0,s._out.call(s,i)),this[r]=!0,this["isout"===r?"isover":"isout"]=!1,this["isover"===r?"_over":"_out"].call(this,i),s&&"isout"===r&&(s.isout=!1,s.isover=!0,s._over.call(s,i)))}})},dragStop:function(e,i){e.element.parentsUntil("body").unbind("scroll.droppable"),e.options.refreshPositions||t.ui.ddmanager.prepareOffsets(e,i)}}}(jQuery),function(t){function e(t){return parseInt(t,10)||0}function i(t){return!isNaN(parseInt(t,10))}t.widget("ui.resizable",t.ui.mouse,{version:"1.10.2",widgetEventPrefix:"resize",options:{alsoResize:!1,animate:!1,animateDuration:"slow",animateEasing:"swing",aspectRatio:!1,autoHide:!1,containment:!1,ghost:!1,grid:!1,handles:"e,s,se",helper:!1,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:90,resize:null,start:null,stop:null},_create:function(){var e,i,s,n,o,a=this,r=this.options;if(this.element.addClass("ui-resizable"),t.extend(this,{_aspectRatio:!!r.aspectRatio,aspectRatio:r.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:r.helper||r.ghost||r.animate?r.helper||"ui-resizable-helper":null}),this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)&&(this.element.wrap(t("<div class='ui-wrapper' style='overflow: hidden;'></div>").css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")})),this.element=this.element.parent().data("ui-resizable",this.element.data("ui-resizable")),this.elementIsWrapper=!0,this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")}),this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0}),this.originalResizeStyle=this.originalElement.css("resize"),this.originalElement.css("resize","none"),this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"})),this.originalElement.css({margin:this.originalElement.css("margin")}),this._proportionallyResize()),this.handles=r.handles||(t(".ui-resizable-handle",this.element).length?{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"}:"e,s,se"),this.handles.constructor===String)for("all"===this.handles&&(this.handles="n,e,s,w,se,sw,ne,nw"),e=this.handles.split(","),this.handles={},i=0;e.length>i;i++)s=t.trim(e[i]),o="ui-resizable-"+s,n=t("<div class='ui-resizable-handle "+o+"'></div>"),n.css({zIndex:r.zIndex}),"se"===s&&n.addClass("ui-icon ui-icon-gripsmall-diagonal-se"),this.handles[s]=".ui-resizable-"+s,this.element.append(n);this._renderAxis=function(e){var i,s,n,o;e=e||this.element;for(i in this.handles)this.handles[i].constructor===String&&(this.handles[i]=t(this.handles[i],this.element).show()),this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)&&(s=t(this.handles[i],this.element),o=/sw|ne|nw|se|n|s/.test(i)?s.outerHeight():s.outerWidth(),n=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join(""),e.css(n,o),this._proportionallyResize()),t(this.handles[i]).length},this._renderAxis(this.element),this._handles=t(".ui-resizable-handle",this.element).disableSelection(),this._handles.mouseover(function(){a.resizing||(this.className&&(n=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)),a.axis=n&&n[1]?n[1]:"se")}),r.autoHide&&(this._handles.hide(),t(this.element).addClass("ui-resizable-autohide").mouseenter(function(){r.disabled||(t(this).removeClass("ui-resizable-autohide"),a._handles.show())}).mouseleave(function(){r.disabled||a.resizing||(t(this).addClass("ui-resizable-autohide"),a._handles.hide())})),this._mouseInit()},_destroy:function(){this._mouseDestroy();var e,i=function(e){t(e).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").removeData("ui-resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};return this.elementIsWrapper&&(i(this.element),e=this.element,this.originalElement.css({position:e.css("position"),width:e.outerWidth(),height:e.outerHeight(),top:e.css("top"),left:e.css("left")}).insertAfter(e),e.remove()),this.originalElement.css("resize",this.originalResizeStyle),i(this.originalElement),this},_mouseCapture:function(e){var i,s,n=!1;for(i in this.handles)s=t(this.handles[i])[0],(s===e.target||t.contains(s,e.target))&&(n=!0);return!this.options.disabled&&n},_mouseStart:function(i){var s,n,o,a=this.options,r=this.element.position(),h=this.element;return this.resizing=!0,/absolute/.test(h.css("position"))?h.css({position:"absolute",top:h.css("top"),left:h.css("left")}):h.is(".ui-draggable")&&h.css({position:"absolute",top:r.top,left:r.left}),this._renderProxy(),s=e(this.helper.css("left")),n=e(this.helper.css("top")),a.containment&&(s+=t(a.containment).scrollLeft()||0,n+=t(a.containment).scrollTop()||0),this.offset=this.helper.offset(),this.position={left:s,top:n},this.size=this._helper?{width:h.outerWidth(),height:h.outerHeight()}:{width:h.width(),height:h.height()},this.originalSize=this._helper?{width:h.outerWidth(),height:h.outerHeight()}:{width:h.width(),height:h.height()},this.originalPosition={left:s,top:n},this.sizeDiff={width:h.outerWidth()-h.width(),height:h.outerHeight()-h.height()},this.originalMousePosition={left:i.pageX,top:i.pageY},this.aspectRatio="number"==typeof a.aspectRatio?a.aspectRatio:this.originalSize.width/this.originalSize.height||1,o=t(".ui-resizable-"+this.axis).css("cursor"),t("body").css("cursor","auto"===o?this.axis+"-resize":o),h.addClass("ui-resizable-resizing"),this._propagate("start",i),!0},_mouseDrag:function(e){var i,s=this.helper,n={},o=this.originalMousePosition,a=this.axis,r=this.position.top,h=this.position.left,l=this.size.width,c=this.size.height,u=e.pageX-o.left||0,d=e.pageY-o.top||0,p=this._change[a];return p?(i=p.apply(this,[e,u,d]),this._updateVirtualBoundaries(e.shiftKey),(this._aspectRatio||e.shiftKey)&&(i=this._updateRatio(i,e)),i=this._respectSize(i,e),this._updateCache(i),this._propagate("resize",e),this.position.top!==r&&(n.top=this.position.top+"px"),this.position.left!==h&&(n.left=this.position.left+"px"),this.size.width!==l&&(n.width=this.size.width+"px"),this.size.height!==c&&(n.height=this.size.height+"px"),s.css(n),!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize(),t.isEmptyObject(n)||this._trigger("resize",e,this.ui()),!1):!1},_mouseStop:function(e){this.resizing=!1;var i,s,n,o,a,r,h,l=this.options,c=this;return this._helper&&(i=this._proportionallyResizeElements,s=i.length&&/textarea/i.test(i[0].nodeName),n=s&&t.ui.hasScroll(i[0],"left")?0:c.sizeDiff.height,o=s?0:c.sizeDiff.width,a={width:c.helper.width()-o,height:c.helper.height()-n},r=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null,h=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null,l.animate||this.element.css(t.extend(a,{top:h,left:r})),c.helper.height(c.size.height),c.helper.width(c.size.width),this._helper&&!l.animate&&this._proportionallyResize()),t("body").css("cursor","auto"),this.element.removeClass("ui-resizable-resizing"),this._propagate("stop",e),this._helper&&this.helper.remove(),!1},_updateVirtualBoundaries:function(t){var e,s,n,o,a,r=this.options;a={minWidth:i(r.minWidth)?r.minWidth:0,maxWidth:i(r.maxWidth)?r.maxWidth:1/0,minHeight:i(r.minHeight)?r.minHeight:0,maxHeight:i(r.maxHeight)?r.maxHeight:1/0},(this._aspectRatio||t)&&(e=a.minHeight*this.aspectRatio,n=a.minWidth/this.aspectRatio,s=a.maxHeight*this.aspectRatio,o=a.maxWidth/this.aspectRatio,e>a.minWidth&&(a.minWidth=e),n>a.minHeight&&(a.minHeight=n),a.maxWidth>s&&(a.maxWidth=s),a.maxHeight>o&&(a.maxHeight=o)),this._vBoundaries=a},_updateCache:function(t){this.offset=this.helper.offset(),i(t.left)&&(this.position.left=t.left),i(t.top)&&(this.position.top=t.top),i(t.height)&&(this.size.height=t.height),i(t.width)&&(this.size.width=t.width)},_updateRatio:function(t){var e=this.position,s=this.size,n=this.axis;return i(t.height)?t.width=t.height*this.aspectRatio:i(t.width)&&(t.height=t.width/this.aspectRatio),"sw"===n&&(t.left=e.left+(s.width-t.width),t.top=null),"nw"===n&&(t.top=e.top+(s.height-t.height),t.left=e.left+(s.width-t.width)),t},_respectSize:function(t){var e=this._vBoundaries,s=this.axis,n=i(t.width)&&e.maxWidth&&e.maxWidth<t.width,o=i(t.height)&&e.maxHeight&&e.maxHeight<t.height,a=i(t.width)&&e.minWidth&&e.minWidth>t.width,r=i(t.height)&&e.minHeight&&e.minHeight>t.height,h=this.originalPosition.left+this.originalSize.width,l=this.position.top+this.size.height,c=/sw|nw|w/.test(s),u=/nw|ne|n/.test(s);return a&&(t.width=e.minWidth),r&&(t.height=e.minHeight),n&&(t.width=e.maxWidth),o&&(t.height=e.maxHeight),a&&c&&(t.left=h-e.minWidth),n&&c&&(t.left=h-e.maxWidth),r&&u&&(t.top=l-e.minHeight),o&&u&&(t.top=l-e.maxHeight),t.width||t.height||t.left||!t.top?t.width||t.height||t.top||!t.left||(t.left=null):t.top=null,t},_proportionallyResize:function(){if(this._proportionallyResizeElements.length){var t,e,i,s,n,o=this.helper||this.element;for(t=0;this._proportionallyResizeElements.length>t;t++){if(n=this._proportionallyResizeElements[t],!this.borderDif)for(this.borderDif=[],i=[n.css("borderTopWidth"),n.css("borderRightWidth"),n.css("borderBottomWidth"),n.css("borderLeftWidth")],s=[n.css("paddingTop"),n.css("paddingRight"),n.css("paddingBottom"),n.css("paddingLeft")],e=0;i.length>e;e++)this.borderDif[e]=(parseInt(i[e],10)||0)+(parseInt(s[e],10)||0);n.css({height:o.height()-this.borderDif[0]-this.borderDif[2]||0,width:o.width()-this.borderDif[1]-this.borderDif[3]||0})}}},_renderProxy:function(){var e=this.element,i=this.options;this.elementOffset=e.offset(),this._helper?(this.helper=this.helper||t("<div style='overflow:hidden;'></div>"),this.helper.addClass(this._helper).css({width:this.element.outerWidth()-1,height:this.element.outerHeight()-1,position:"absolute",left:this.elementOffset.left+"px",top:this.elementOffset.top+"px",zIndex:++i.zIndex}),this.helper.appendTo("body").disableSelection()):this.helper=this.element},_change:{e:function(t,e){return{width:this.originalSize.width+e}},w:function(t,e){var i=this.originalSize,s=this.originalPosition;return{left:s.left+e,width:i.width-e}},n:function(t,e,i){var s=this.originalSize,n=this.originalPosition;return{top:n.top+i,height:s.height-i}},s:function(t,e,i){return{height:this.originalSize.height+i}},se:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},sw:function(e,i,s){return t.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[e,i,s]))},ne:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[e,i,s]))},nw:function(e,i,s){return t.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[e,i,s]))}},_propagate:function(e,i){t.ui.plugin.call(this,e,[i,this.ui()]),"resize"!==e&&this._trigger(e,i,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}}),t.ui.plugin.add("resizable","animate",{stop:function(e){var i=t(this).data("ui-resizable"),s=i.options,n=i._proportionallyResizeElements,o=n.length&&/textarea/i.test(n[0].nodeName),a=o&&t.ui.hasScroll(n[0],"left")?0:i.sizeDiff.height,r=o?0:i.sizeDiff.width,h={width:i.size.width-r,height:i.size.height-a},l=parseInt(i.element.css("left"),10)+(i.position.left-i.originalPosition.left)||null,c=parseInt(i.element.css("top"),10)+(i.position.top-i.originalPosition.top)||null;i.element.animate(t.extend(h,c&&l?{top:c,left:l}:{}),{duration:s.animateDuration,easing:s.animateEasing,step:function(){var s={width:parseInt(i.element.css("width"),10),height:parseInt(i.element.css("height"),10),top:parseInt(i.element.css("top"),10),left:parseInt(i.element.css("left"),10)};n&&n.length&&t(n[0]).css({width:s.width,height:s.height}),i._updateCache(s),i._propagate("resize",e)}})}}),t.ui.plugin.add("resizable","containment",{start:function(){var i,s,n,o,a,r,h,l=t(this).data("ui-resizable"),c=l.options,u=l.element,d=c.containment,p=d instanceof t?d.get(0):/parent/.test(d)?u.parent().get(0):d;p&&(l.containerElement=t(p),/document/.test(d)||d===document?(l.containerOffset={left:0,top:0},l.containerPosition={left:0,top:0},l.parentData={element:t(document),left:0,top:0,width:t(document).width(),height:t(document).height()||document.body.parentNode.scrollHeight}):(i=t(p),s=[],t(["Top","Right","Left","Bottom"]).each(function(t,n){s[t]=e(i.css("padding"+n))}),l.containerOffset=i.offset(),l.containerPosition=i.position(),l.containerSize={height:i.innerHeight()-s[3],width:i.innerWidth()-s[1]},n=l.containerOffset,o=l.containerSize.height,a=l.containerSize.width,r=t.ui.hasScroll(p,"left")?p.scrollWidth:a,h=t.ui.hasScroll(p)?p.scrollHeight:o,l.parentData={element:p,left:n.left,top:n.top,width:r,height:h}))},resize:function(e){var i,s,n,o,a=t(this).data("ui-resizable"),r=a.options,h=a.containerOffset,l=a.position,c=a._aspectRatio||e.shiftKey,u={top:0,left:0},d=a.containerElement;d[0]!==document&&/static/.test(d.css("position"))&&(u=h),l.left<(a._helper?h.left:0)&&(a.size.width=a.size.width+(a._helper?a.position.left-h.left:a.position.left-u.left),c&&(a.size.height=a.size.width/a.aspectRatio),a.position.left=r.helper?h.left:0),l.top<(a._helper?h.top:0)&&(a.size.height=a.size.height+(a._helper?a.position.top-h.top:a.position.top),c&&(a.size.width=a.size.height*a.aspectRatio),a.position.top=a._helper?h.top:0),a.offset.left=a.parentData.left+a.position.left,a.offset.top=a.parentData.top+a.position.top,i=Math.abs((a._helper?a.offset.left-u.left:a.offset.left-u.left)+a.sizeDiff.width),s=Math.abs((a._helper?a.offset.top-u.top:a.offset.top-h.top)+a.sizeDiff.height),n=a.containerElement.get(0)===a.element.parent().get(0),o=/relative|absolute/.test(a.containerElement.css("position")),n&&o&&(i-=a.parentData.left),i+a.size.width>=a.parentData.width&&(a.size.width=a.parentData.width-i,c&&(a.size.height=a.size.width/a.aspectRatio)),s+a.size.height>=a.parentData.height&&(a.size.height=a.parentData.height-s,c&&(a.size.width=a.size.height*a.aspectRatio))},stop:function(){var e=t(this).data("ui-resizable"),i=e.options,s=e.containerOffset,n=e.containerPosition,o=e.containerElement,a=t(e.helper),r=a.offset(),h=a.outerWidth()-e.sizeDiff.width,l=a.outerHeight()-e.sizeDiff.height;e._helper&&!i.animate&&/relative/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l}),e._helper&&!i.animate&&/static/.test(o.css("position"))&&t(this).css({left:r.left-n.left-s.left,width:h,height:l})}}),t.ui.plugin.add("resizable","alsoResize",{start:function(){var e=t(this).data("ui-resizable"),i=e.options,s=function(e){t(e).each(function(){var e=t(this);e.data("ui-resizable-alsoresize",{width:parseInt(e.width(),10),height:parseInt(e.height(),10),left:parseInt(e.css("left"),10),top:parseInt(e.css("top"),10)})})};"object"!=typeof i.alsoResize||i.alsoResize.parentNode?s(i.alsoResize):i.alsoResize.length?(i.alsoResize=i.alsoResize[0],s(i.alsoResize)):t.each(i.alsoResize,function(t){s(t)})},resize:function(e,i){var s=t(this).data("ui-resizable"),n=s.options,o=s.originalSize,a=s.originalPosition,r={height:s.size.height-o.height||0,width:s.size.width-o.width||0,top:s.position.top-a.top||0,left:s.position.left-a.left||0},h=function(e,s){t(e).each(function(){var e=t(this),n=t(this).data("ui-resizable-alsoresize"),o={},a=s&&s.length?s:e.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];t.each(a,function(t,e){var i=(n[e]||0)+(r[e]||0);i&&i>=0&&(o[e]=i||null)}),e.css(o)})};"object"!=typeof n.alsoResize||n.alsoResize.nodeType?h(n.alsoResize):t.each(n.alsoResize,function(t,e){h(t,e)})},stop:function(){t(this).removeData("resizable-alsoresize")}}),t.ui.plugin.add("resizable","ghost",{start:function(){var e=t(this).data("ui-resizable"),i=e.options,s=e.size;e.ghost=e.originalElement.clone(),e.ghost.css({opacity:.25,display:"block",position:"relative",height:s.height,width:s.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass("string"==typeof i.ghost?i.ghost:""),e.ghost.appendTo(e.helper)},resize:function(){var e=t(this).data("ui-resizable");e.ghost&&e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})},stop:function(){var e=t(this).data("ui-resizable");e.ghost&&e.helper&&e.helper.get(0).removeChild(e.ghost.get(0))}}),t.ui.plugin.add("resizable","grid",{resize:function(){var e=t(this).data("ui-resizable"),i=e.options,s=e.size,n=e.originalSize,o=e.originalPosition,a=e.axis,r="number"==typeof i.grid?[i.grid,i.grid]:i.grid,h=r[0]||1,l=r[1]||1,c=Math.round((s.width-n.width)/h)*h,u=Math.round((s.height-n.height)/l)*l,d=n.width+c,p=n.height+u,f=i.maxWidth&&d>i.maxWidth,g=i.maxHeight&&p>i.maxHeight,m=i.minWidth&&i.minWidth>d,v=i.minHeight&&i.minHeight>p;i.grid=r,m&&(d+=h),v&&(p+=l),f&&(d-=h),g&&(p-=l),/^(se|s|e)$/.test(a)?(e.size.width=d,e.size.height=p):/^(ne)$/.test(a)?(e.size.width=d,e.size.height=p,e.position.top=o.top-u):/^(sw)$/.test(a)?(e.size.width=d,e.size.height=p,e.position.left=o.left-c):(e.size.width=d,e.size.height=p,e.position.top=o.top-u,e.position.left=o.left-c)}})}(jQuery),function(t){t.widget("ui.selectable",t.ui.mouse,{version:"1.10.2",options:{appendTo:"body",autoRefresh:!0,distance:0,filter:"*",tolerance:"touch",selected:null,selecting:null,start:null,stop:null,unselected:null,unselecting:null},_create:function(){var e,i=this;this.element.addClass("ui-selectable"),this.dragged=!1,this.refresh=function(){e=t(i.options.filter,i.element[0]),e.addClass("ui-selectee"),e.each(function(){var e=t(this),i=e.offset();t.data(this,"selectable-item",{element:this,$element:e,left:i.left,top:i.top,right:i.left+e.outerWidth(),bottom:i.top+e.outerHeight(),startselected:!1,selected:e.hasClass("ui-selected"),selecting:e.hasClass("ui-selecting"),unselecting:e.hasClass("ui-unselecting")})})},this.refresh(),this.selectees=e.addClass("ui-selectee"),this._mouseInit(),this.helper=t("<div class='ui-selectable-helper'></div>")},_destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item"),this.element.removeClass("ui-selectable ui-selectable-disabled"),this._mouseDestroy()},_mouseStart:function(e){var i=this,s=this.options;this.opos=[e.pageX,e.pageY],this.options.disabled||(this.selectees=t(s.filter,this.element[0]),this._trigger("start",e),t(s.appendTo).append(this.helper),this.helper.css({left:e.pageX,top:e.pageY,width:0,height:0}),s.autoRefresh&&this.refresh(),this.selectees.filter(".ui-selected").each(function(){var s=t.data(this,"selectable-item");s.startselected=!0,e.metaKey||e.ctrlKey||(s.$element.removeClass("ui-selected"),s.selected=!1,s.$element.addClass("ui-unselecting"),s.unselecting=!0,i._trigger("unselecting",e,{unselecting:s.element}))}),t(e.target).parents().addBack().each(function(){var s,n=t.data(this,"selectable-item");return n?(s=!e.metaKey&&!e.ctrlKey||!n.$element.hasClass("ui-selected"),n.$element.removeClass(s?"ui-unselecting":"ui-selected").addClass(s?"ui-selecting":"ui-unselecting"),n.unselecting=!s,n.selecting=s,n.selected=s,s?i._trigger("selecting",e,{selecting:n.element}):i._trigger("unselecting",e,{unselecting:n.element}),!1):undefined}))},_mouseDrag:function(e){if(this.dragged=!0,!this.options.disabled){var i,s=this,n=this.options,o=this.opos[0],a=this.opos[1],r=e.pageX,h=e.pageY;return o>r&&(i=r,r=o,o=i),a>h&&(i=h,h=a,a=i),this.helper.css({left:o,top:a,width:r-o,height:h-a}),this.selectees.each(function(){var i=t.data(this,"selectable-item"),l=!1;i&&i.element!==s.element[0]&&("touch"===n.tolerance?l=!(i.left>r||o>i.right||i.top>h||a>i.bottom):"fit"===n.tolerance&&(l=i.left>o&&r>i.right&&i.top>a&&h>i.bottom),l?(i.selected&&(i.$element.removeClass("ui-selected"),i.selected=!1),i.unselecting&&(i.$element.removeClass("ui-unselecting"),i.unselecting=!1),i.selecting||(i.$element.addClass("ui-selecting"),i.selecting=!0,s._trigger("selecting",e,{selecting:i.element}))):(i.selecting&&((e.metaKey||e.ctrlKey)&&i.startselected?(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.$element.addClass("ui-selected"),i.selected=!0):(i.$element.removeClass("ui-selecting"),i.selecting=!1,i.startselected&&(i.$element.addClass("ui-unselecting"),i.unselecting=!0),s._trigger("unselecting",e,{unselecting:i.element}))),i.selected&&(e.metaKey||e.ctrlKey||i.startselected||(i.$element.removeClass("ui-selected"),i.selected=!1,i.$element.addClass("ui-unselecting"),i.unselecting=!0,s._trigger("unselecting",e,{unselecting:i.element})))))}),!1}},_mouseStop:function(e){var i=this;return this.dragged=!1,t(".ui-unselecting",this.element[0]).each(function(){var s=t.data(this,"selectable-item");s.$element.removeClass("ui-unselecting"),s.unselecting=!1,s.startselected=!1,i._trigger("unselected",e,{unselected:s.element})}),t(".ui-selecting",this.element[0]).each(function(){var s=t.data(this,"selectable-item");s.$element.removeClass("ui-selecting").addClass("ui-selected"),s.selecting=!1,s.selected=!0,s.startselected=!0,i._trigger("selected",e,{selected:s.element})}),this._trigger("stop",e),this.helper.remove(),!1}})}(jQuery),function(t){function e(t,e,i){return t>e&&e+i>t}function i(t){return/left|right/.test(t.css("float"))||/inline|table-cell/.test(t.css("display"))}t.widget("ui.sortable",t.ui.mouse,{version:"1.10.2",widgetEventPrefix:"sort",ready:!1,options:{appendTo:"parent",axis:!1,connectWith:!1,containment:!1,cursor:"auto",cursorAt:!1,dropOnEmpty:!0,forcePlaceholderSize:!1,forceHelperSize:!1,grid:!1,handle:!1,helper:"original",items:"> *",opacity:!1,placeholder:!1,revert:!1,scroll:!0,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1e3,activate:null,beforeStop:null,change:null,deactivate:null,out:null,over:null,receive:null,remove:null,sort:null,start:null,stop:null,update:null},_create:function(){var t=this.options;this.containerCache={},this.element.addClass("ui-sortable"),this.refresh(),this.floating=this.items.length?"x"===t.axis||i(this.items[0].item):!1,this.offset=this.element.offset(),this._mouseInit(),this.ready=!0},_destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled"),this._mouseDestroy();for(var t=this.items.length-1;t>=0;t--)this.items[t].item.removeData(this.widgetName+"-item");return this},_setOption:function(e,i){"disabled"===e?(this.options[e]=i,this.widget().toggleClass("ui-sortable-disabled",!!i)):t.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(e,i){var s=null,n=!1,o=this;return this.reverting?!1:this.options.disabled||"static"===this.options.type?!1:(this._refreshItems(e),t(e.target).parents().each(function(){return t.data(this,o.widgetName+"-item")===o?(s=t(this),!1):undefined}),t.data(e.target,o.widgetName+"-item")===o&&(s=t(e.target)),s?!this.options.handle||i||(t(this.options.handle,s).find("*").addBack().each(function(){this===e.target&&(n=!0)}),n)?(this.currentItem=s,this._removeCurrentsFromItems(),!0):!1:!1)},_mouseStart:function(e,i,s){var n,o,a=this.options;if(this.currentContainer=this,this.refreshPositions(),this.helper=this._createHelper(e),this._cacheHelperProportions(),this._cacheMargins(),this.scrollParent=this.helper.scrollParent(),this.offset=this.currentItem.offset(),this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left},t.extend(this.offset,{click:{left:e.pageX-this.offset.left,top:e.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()}),this.helper.css("position","absolute"),this.cssPosition=this.helper.css("position"),this.originalPosition=this._generatePosition(e),this.originalPageX=e.pageX,this.originalPageY=e.pageY,a.cursorAt&&this._adjustOffsetFromHelper(a.cursorAt),this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]},this.helper[0]!==this.currentItem[0]&&this.currentItem.hide(),this._createPlaceholder(),a.containment&&this._setContainment(),a.cursor&&"auto"!==a.cursor&&(o=this.document.find("body"),this.storedCursor=o.css("cursor"),o.css("cursor",a.cursor),this.storedStylesheet=t("<style>*{ cursor: "+a.cursor+" !important; }</style>").appendTo(o)),a.opacity&&(this.helper.css("opacity")&&(this._storedOpacity=this.helper.css("opacity")),this.helper.css("opacity",a.opacity)),a.zIndex&&(this.helper.css("zIndex")&&(this._storedZIndex=this.helper.css("zIndex")),this.helper.css("zIndex",a.zIndex)),this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName&&(this.overflowOffset=this.scrollParent.offset()),this._trigger("start",e,this._uiHash()),this._preserveHelperProportions||this._cacheHelperProportions(),!s)for(n=this.containers.length-1;n>=0;n--)this.containers[n]._trigger("activate",e,this._uiHash(this));return t.ui.ddmanager&&(t.ui.ddmanager.current=this),t.ui.ddmanager&&!a.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e),this.dragging=!0,this.helper.addClass("ui-sortable-helper"),this._mouseDrag(e),!0},_mouseDrag:function(e){var i,s,n,o,a=this.options,r=!1;for(this.position=this._generatePosition(e),this.positionAbs=this._convertPositionTo("absolute"),this.lastPositionAbs||(this.lastPositionAbs=this.positionAbs),this.options.scroll&&(this.scrollParent[0]!==document&&"HTML"!==this.scrollParent[0].tagName?(this.overflowOffset.top+this.scrollParent[0].offsetHeight-e.pageY<a.scrollSensitivity?this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop+a.scrollSpeed:e.pageY-this.overflowOffset.top<a.scrollSensitivity&&(this.scrollParent[0].scrollTop=r=this.scrollParent[0].scrollTop-a.scrollSpeed),this.overflowOffset.left+this.scrollParent[0].offsetWidth-e.pageX<a.scrollSensitivity?this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft+a.scrollSpeed:e.pageX-this.overflowOffset.left<a.scrollSensitivity&&(this.scrollParent[0].scrollLeft=r=this.scrollParent[0].scrollLeft-a.scrollSpeed)):(e.pageY-t(document).scrollTop()<a.scrollSensitivity?r=t(document).scrollTop(t(document).scrollTop()-a.scrollSpeed):t(window).height()-(e.pageY-t(document).scrollTop())<a.scrollSensitivity&&(r=t(document).scrollTop(t(document).scrollTop()+a.scrollSpeed)),e.pageX-t(document).scrollLeft()<a.scrollSensitivity?r=t(document).scrollLeft(t(document).scrollLeft()-a.scrollSpeed):t(window).width()-(e.pageX-t(document).scrollLeft())<a.scrollSensitivity&&(r=t(document).scrollLeft(t(document).scrollLeft()+a.scrollSpeed))),r!==!1&&t.ui.ddmanager&&!a.dropBehaviour&&t.ui.ddmanager.prepareOffsets(this,e)),this.positionAbs=this._convertPositionTo("absolute"),this.options.axis&&"y"===this.options.axis||(this.helper[0].style.left=this.position.left+"px"),this.options.axis&&"x"===this.options.axis||(this.helper[0].style.top=this.position.top+"px"),i=this.items.length-1;i>=0;i--)if(s=this.items[i],n=s.item[0],o=this._intersectsWithPointer(s),o&&s.instance===this.currentContainer&&n!==this.currentItem[0]&&this.placeholder[1===o?"next":"prev"]()[0]!==n&&!t.contains(this.placeholder[0],n)&&("semi-dynamic"===this.options.type?!t.contains(this.element[0],n):!0)){if(this.direction=1===o?"down":"up","pointer"!==this.options.tolerance&&!this._intersectsWithSides(s))break;
7
+ this._rearrange(e,s),this._trigger("change",e,this._uiHash());break}return this._contactContainers(e),t.ui.ddmanager&&t.ui.ddmanager.drag(this,e),this._trigger("sort",e,this._uiHash()),this.lastPositionAbs=this.positionAbs,!1},_mouseStop:function(e,i){if(e){if(t.ui.ddmanager&&!this.options.dropBehaviour&&t.ui.ddmanager.drop(this,e),this.options.revert){var s=this,n=this.placeholder.offset(),o=this.options.axis,a={};o&&"x"!==o||(a.left=n.left-this.offset.parent.left-this.margins.left+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollLeft)),o&&"y"!==o||(a.top=n.top-this.offset.parent.top-this.margins.top+(this.offsetParent[0]===document.body?0:this.offsetParent[0].scrollTop)),this.reverting=!0,t(this.helper).animate(a,parseInt(this.options.revert,10)||500,function(){s._clear(e)})}else this._clear(e,i);return!1}},cancel:function(){if(this.dragging){this._mouseUp({target:null}),"original"===this.options.helper?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var e=this.containers.length-1;e>=0;e--)this.containers[e]._trigger("deactivate",null,this._uiHash(this)),this.containers[e].containerCache.over&&(this.containers[e]._trigger("out",null,this._uiHash(this)),this.containers[e].containerCache.over=0)}return this.placeholder&&(this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]),"original"!==this.options.helper&&this.helper&&this.helper[0].parentNode&&this.helper.remove(),t.extend(this,{helper:null,dragging:!1,reverting:!1,_noFinalSort:null}),this.domPosition.prev?t(this.domPosition.prev).after(this.currentItem):t(this.domPosition.parent).prepend(this.currentItem)),this},serialize:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},t(i).each(function(){var i=(t(e.item||this).attr(e.attribute||"id")||"").match(e.expression||/(.+)[\-=_](.+)/);i&&s.push((e.key||i[1]+"[]")+"="+(e.key&&e.expression?i[1]:i[2]))}),!s.length&&e.key&&s.push(e.key+"="),s.join("&")},toArray:function(e){var i=this._getItemsAsjQuery(e&&e.connected),s=[];return e=e||{},i.each(function(){s.push(t(e.item||this).attr(e.attribute||"id")||"")}),s},_intersectsWith:function(t){var e=this.positionAbs.left,i=e+this.helperProportions.width,s=this.positionAbs.top,n=s+this.helperProportions.height,o=t.left,a=o+t.width,r=t.top,h=r+t.height,l=this.offset.click.top,c=this.offset.click.left,u=s+l>r&&h>s+l&&e+c>o&&a>e+c;return"pointer"===this.options.tolerance||this.options.forcePointerForContainers||"pointer"!==this.options.tolerance&&this.helperProportions[this.floating?"width":"height"]>t[this.floating?"width":"height"]?u:e+this.helperProportions.width/2>o&&a>i-this.helperProportions.width/2&&s+this.helperProportions.height/2>r&&h>n-this.helperProportions.height/2},_intersectsWithPointer:function(t){var i="x"===this.options.axis||e(this.positionAbs.top+this.offset.click.top,t.top,t.height),s="y"===this.options.axis||e(this.positionAbs.left+this.offset.click.left,t.left,t.width),n=i&&s,o=this._getDragVerticalDirection(),a=this._getDragHorizontalDirection();return n?this.floating?a&&"right"===a||"down"===o?2:1:o&&("down"===o?2:1):!1},_intersectsWithSides:function(t){var i=e(this.positionAbs.top+this.offset.click.top,t.top+t.height/2,t.height),s=e(this.positionAbs.left+this.offset.click.left,t.left+t.width/2,t.width),n=this._getDragVerticalDirection(),o=this._getDragHorizontalDirection();return this.floating&&o?"right"===o&&s||"left"===o&&!s:n&&("down"===n&&i||"up"===n&&!i)},_getDragVerticalDirection:function(){var t=this.positionAbs.top-this.lastPositionAbs.top;return 0!==t&&(t>0?"down":"up")},_getDragHorizontalDirection:function(){var t=this.positionAbs.left-this.lastPositionAbs.left;return 0!==t&&(t>0?"right":"left")},refresh:function(t){return this._refreshItems(t),this.refreshPositions(),this},_connectWith:function(){var t=this.options;return t.connectWith.constructor===String?[t.connectWith]:t.connectWith},_getItemsAsjQuery:function(e){var i,s,n,o,a=[],r=[],h=this._connectWith();if(h&&e)for(i=h.length-1;i>=0;i--)for(n=t(h[i]),s=n.length-1;s>=0;s--)o=t.data(n[s],this.widgetFullName),o&&o!==this&&!o.options.disabled&&r.push([t.isFunction(o.options.items)?o.options.items.call(o.element):t(o.options.items,o.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),o]);for(r.push([t.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):t(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]),i=r.length-1;i>=0;i--)r[i][0].each(function(){a.push(this)});return t(a)},_removeCurrentsFromItems:function(){var e=this.currentItem.find(":data("+this.widgetName+"-item)");this.items=t.grep(this.items,function(t){for(var i=0;e.length>i;i++)if(e[i]===t.item[0])return!1;return!0})},_refreshItems:function(e){this.items=[],this.containers=[this];var i,s,n,o,a,r,h,l,c=this.items,u=[[t.isFunction(this.options.items)?this.options.items.call(this.element[0],e,{item:this.currentItem}):t(this.options.items,this.element),this]],d=this._connectWith();if(d&&this.ready)for(i=d.length-1;i>=0;i--)for(n=t(d[i]),s=n.length-1;s>=0;s--)o=t.data(n[s],this.widgetFullName),o&&o!==this&&!o.options.disabled&&(u.push([t.isFunction(o.options.items)?o.options.items.call(o.element[0],e,{item:this.currentItem}):t(o.options.items,o.element),o]),this.containers.push(o));for(i=u.length-1;i>=0;i--)for(a=u[i][1],r=u[i][0],s=0,l=r.length;l>s;s++)h=t(r[s]),h.data(this.widgetName+"-item",a),c.push({item:h,instance:a,width:0,height:0,left:0,top:0})},refreshPositions:function(e){this.offsetParent&&this.helper&&(this.offset.parent=this._getParentOffset());var i,s,n,o;for(i=this.items.length-1;i>=0;i--)s=this.items[i],s.instance!==this.currentContainer&&this.currentContainer&&s.item[0]!==this.currentItem[0]||(n=this.options.toleranceElement?t(this.options.toleranceElement,s.item):s.item,e||(s.width=n.outerWidth(),s.height=n.outerHeight()),o=n.offset(),s.left=o.left,s.top=o.top);if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(i=this.containers.length-1;i>=0;i--)o=this.containers[i].element.offset(),this.containers[i].containerCache.left=o.left,this.containers[i].containerCache.top=o.top,this.containers[i].containerCache.width=this.containers[i].element.outerWidth(),this.containers[i].containerCache.height=this.containers[i].element.outerHeight();return this},_createPlaceholder:function(e){e=e||this;var i,s=e.options;s.placeholder&&s.placeholder.constructor!==String||(i=s.placeholder,s.placeholder={element:function(){var s=e.currentItem[0].nodeName.toLowerCase(),n=t(e.document[0].createElement(s)).addClass(i||e.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper");return"tr"===s?n.append("<td colspan='99'>&#160;</td>"):"img"===s&&n.attr("src",e.currentItem.attr("src")),i||n.css("visibility","hidden"),n},update:function(t,n){(!i||s.forcePlaceholderSize)&&(n.height()||n.height(e.currentItem.innerHeight()-parseInt(e.currentItem.css("paddingTop")||0,10)-parseInt(e.currentItem.css("paddingBottom")||0,10)),n.width()||n.width(e.currentItem.innerWidth()-parseInt(e.currentItem.css("paddingLeft")||0,10)-parseInt(e.currentItem.css("paddingRight")||0,10)))}}),e.placeholder=t(s.placeholder.element.call(e.element,e.currentItem)),e.currentItem.after(e.placeholder),s.placeholder.update(e,e.placeholder)},_contactContainers:function(s){var n,o,a,r,h,l,c,u,d,p,f=null,g=null;for(n=this.containers.length-1;n>=0;n--)if(!t.contains(this.currentItem[0],this.containers[n].element[0]))if(this._intersectsWith(this.containers[n].containerCache)){if(f&&t.contains(this.containers[n].element[0],f.element[0]))continue;f=this.containers[n],g=n}else this.containers[n].containerCache.over&&(this.containers[n]._trigger("out",s,this._uiHash(this)),this.containers[n].containerCache.over=0);if(f)if(1===this.containers.length)this.containers[g].containerCache.over||(this.containers[g]._trigger("over",s,this._uiHash(this)),this.containers[g].containerCache.over=1);else{for(a=1e4,r=null,p=f.floating||i(this.currentItem),h=p?"left":"top",l=p?"width":"height",c=this.positionAbs[h]+this.offset.click[h],o=this.items.length-1;o>=0;o--)t.contains(this.containers[g].element[0],this.items[o].item[0])&&this.items[o].item[0]!==this.currentItem[0]&&(!p||e(this.positionAbs.top+this.offset.click.top,this.items[o].top,this.items[o].height))&&(u=this.items[o].item.offset()[h],d=!1,Math.abs(u-c)>Math.abs(u+this.items[o][l]-c)&&(d=!0,u+=this.items[o][l]),a>Math.abs(u-c)&&(a=Math.abs(u-c),r=this.items[o],this.direction=d?"up":"down"));if(!r&&!this.options.dropOnEmpty)return;if(this.currentContainer===this.containers[g])return;r?this._rearrange(s,r,null,!0):this._rearrange(s,null,this.containers[g].element,!0),this._trigger("change",s,this._uiHash()),this.containers[g]._trigger("change",s,this._uiHash(this)),this.currentContainer=this.containers[g],this.options.placeholder.update(this.currentContainer,this.placeholder),this.containers[g]._trigger("over",s,this._uiHash(this)),this.containers[g].containerCache.over=1}},_createHelper:function(e){var i=this.options,s=t.isFunction(i.helper)?t(i.helper.apply(this.element[0],[e,this.currentItem])):"clone"===i.helper?this.currentItem.clone():this.currentItem;return s.parents("body").length||t("parent"!==i.appendTo?i.appendTo:this.currentItem[0].parentNode)[0].appendChild(s[0]),s[0]===this.currentItem[0]&&(this._storedCSS={width:this.currentItem[0].style.width,height:this.currentItem[0].style.height,position:this.currentItem.css("position"),top:this.currentItem.css("top"),left:this.currentItem.css("left")}),(!s[0].style.width||i.forceHelperSize)&&s.width(this.currentItem.width()),(!s[0].style.height||i.forceHelperSize)&&s.height(this.currentItem.height()),s},_adjustOffsetFromHelper:function(e){"string"==typeof e&&(e=e.split(" ")),t.isArray(e)&&(e={left:+e[0],top:+e[1]||0}),"left"in e&&(this.offset.click.left=e.left+this.margins.left),"right"in e&&(this.offset.click.left=this.helperProportions.width-e.right+this.margins.left),"top"in e&&(this.offset.click.top=e.top+this.margins.top),"bottom"in e&&(this.offset.click.top=this.helperProportions.height-e.bottom+this.margins.top)},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var e=this.offsetParent.offset();return"absolute"===this.cssPosition&&this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])&&(e.left+=this.scrollParent.scrollLeft(),e.top+=this.scrollParent.scrollTop()),(this.offsetParent[0]===document.body||this.offsetParent[0].tagName&&"html"===this.offsetParent[0].tagName.toLowerCase()&&t.ui.ie)&&(e={top:0,left:0}),{top:e.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:e.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if("relative"===this.cssPosition){var t=this.currentItem.position();return{top:t.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:t.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.currentItem.css("marginLeft"),10)||0,top:parseInt(this.currentItem.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var e,i,s,n=this.options;"parent"===n.containment&&(n.containment=this.helper[0].parentNode),("document"===n.containment||"window"===n.containment)&&(this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,t("document"===n.containment?document:window).width()-this.helperProportions.width-this.margins.left,(t("document"===n.containment?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top]),/^(document|window|parent)$/.test(n.containment)||(e=t(n.containment)[0],i=t(n.containment).offset(),s="hidden"!==t(e).css("overflow"),this.containment=[i.left+(parseInt(t(e).css("borderLeftWidth"),10)||0)+(parseInt(t(e).css("paddingLeft"),10)||0)-this.margins.left,i.top+(parseInt(t(e).css("borderTopWidth"),10)||0)+(parseInt(t(e).css("paddingTop"),10)||0)-this.margins.top,i.left+(s?Math.max(e.scrollWidth,e.offsetWidth):e.offsetWidth)-(parseInt(t(e).css("borderLeftWidth"),10)||0)-(parseInt(t(e).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left,i.top+(s?Math.max(e.scrollHeight,e.offsetHeight):e.offsetHeight)-(parseInt(t(e).css("borderTopWidth"),10)||0)-(parseInt(t(e).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top])},_convertPositionTo:function(e,i){i||(i=this.position);var s="absolute"===e?1:-1,n="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,o=/(html|body)/i.test(n[0].tagName);return{top:i.top+this.offset.relative.top*s+this.offset.parent.top*s-("fixed"===this.cssPosition?-this.scrollParent.scrollTop():o?0:n.scrollTop())*s,left:i.left+this.offset.relative.left*s+this.offset.parent.left*s-("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():o?0:n.scrollLeft())*s}},_generatePosition:function(e){var i,s,n=this.options,o=e.pageX,a=e.pageY,r="absolute"!==this.cssPosition||this.scrollParent[0]!==document&&t.contains(this.scrollParent[0],this.offsetParent[0])?this.scrollParent:this.offsetParent,h=/(html|body)/i.test(r[0].tagName);return"relative"!==this.cssPosition||this.scrollParent[0]!==document&&this.scrollParent[0]!==this.offsetParent[0]||(this.offset.relative=this._getRelativeOffset()),this.originalPosition&&(this.containment&&(e.pageX-this.offset.click.left<this.containment[0]&&(o=this.containment[0]+this.offset.click.left),e.pageY-this.offset.click.top<this.containment[1]&&(a=this.containment[1]+this.offset.click.top),e.pageX-this.offset.click.left>this.containment[2]&&(o=this.containment[2]+this.offset.click.left),e.pageY-this.offset.click.top>this.containment[3]&&(a=this.containment[3]+this.offset.click.top)),n.grid&&(i=this.originalPageY+Math.round((a-this.originalPageY)/n.grid[1])*n.grid[1],a=this.containment?i-this.offset.click.top>=this.containment[1]&&i-this.offset.click.top<=this.containment[3]?i:i-this.offset.click.top>=this.containment[1]?i-n.grid[1]:i+n.grid[1]:i,s=this.originalPageX+Math.round((o-this.originalPageX)/n.grid[0])*n.grid[0],o=this.containment?s-this.offset.click.left>=this.containment[0]&&s-this.offset.click.left<=this.containment[2]?s:s-this.offset.click.left>=this.containment[0]?s-n.grid[0]:s+n.grid[0]:s)),{top:a-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+("fixed"===this.cssPosition?-this.scrollParent.scrollTop():h?0:r.scrollTop()),left:o-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+("fixed"===this.cssPosition?-this.scrollParent.scrollLeft():h?0:r.scrollLeft())}},_rearrange:function(t,e,i,s){i?i[0].appendChild(this.placeholder[0]):e.item[0].parentNode.insertBefore(this.placeholder[0],"down"===this.direction?e.item[0]:e.item[0].nextSibling),this.counter=this.counter?++this.counter:1;var n=this.counter;this._delay(function(){n===this.counter&&this.refreshPositions(!s)})},_clear:function(t,e){this.reverting=!1;var i,s=[];if(!this._noFinalSort&&this.currentItem.parent().length&&this.placeholder.before(this.currentItem),this._noFinalSort=null,this.helper[0]===this.currentItem[0]){for(i in this._storedCSS)("auto"===this._storedCSS[i]||"static"===this._storedCSS[i])&&(this._storedCSS[i]="");this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper")}else this.currentItem.show();for(this.fromOutside&&!e&&s.push(function(t){this._trigger("receive",t,this._uiHash(this.fromOutside))}),!this.fromOutside&&this.domPosition.prev===this.currentItem.prev().not(".ui-sortable-helper")[0]&&this.domPosition.parent===this.currentItem.parent()[0]||e||s.push(function(t){this._trigger("update",t,this._uiHash())}),this!==this.currentContainer&&(e||(s.push(function(t){this._trigger("remove",t,this._uiHash())}),s.push(function(t){return function(e){t._trigger("receive",e,this._uiHash(this))}}.call(this,this.currentContainer)),s.push(function(t){return function(e){t._trigger("update",e,this._uiHash(this))}}.call(this,this.currentContainer)))),i=this.containers.length-1;i>=0;i--)e||s.push(function(t){return function(e){t._trigger("deactivate",e,this._uiHash(this))}}.call(this,this.containers[i])),this.containers[i].containerCache.over&&(s.push(function(t){return function(e){t._trigger("out",e,this._uiHash(this))}}.call(this,this.containers[i])),this.containers[i].containerCache.over=0);if(this.storedCursor&&(this.document.find("body").css("cursor",this.storedCursor),this.storedStylesheet.remove()),this._storedOpacity&&this.helper.css("opacity",this._storedOpacity),this._storedZIndex&&this.helper.css("zIndex","auto"===this._storedZIndex?"":this._storedZIndex),this.dragging=!1,this.cancelHelperRemoval){if(!e){for(this._trigger("beforeStop",t,this._uiHash()),i=0;s.length>i;i++)s[i].call(this,t);this._trigger("stop",t,this._uiHash())}return this.fromOutside=!1,!1}if(e||this._trigger("beforeStop",t,this._uiHash()),this.placeholder[0].parentNode.removeChild(this.placeholder[0]),this.helper[0]!==this.currentItem[0]&&this.helper.remove(),this.helper=null,!e){for(i=0;s.length>i;i++)s[i].call(this,t);this._trigger("stop",t,this._uiHash())}return this.fromOutside=!1,!0},_trigger:function(){t.Widget.prototype._trigger.apply(this,arguments)===!1&&this.cancel()},_uiHash:function(e){var i=e||this;return{helper:i.helper,placeholder:i.placeholder||t([]),position:i.position,originalPosition:i.originalPosition,offset:i.positionAbs,item:i.currentItem,sender:e?e.element:null}}})}(jQuery),function(t,e){var i="ui-effects-";t.effects={effect:{}},function(t,e){function i(t,e,i){var s=u[e.type]||{};return null==t?i||!e.def?null:e.def:(t=s.floor?~~t:parseFloat(t),isNaN(t)?e.def:s.mod?(t+s.mod)%s.mod:0>t?0:t>s.max?s.max:t)}function s(i){var s=l(),n=s._rgba=[];return i=i.toLowerCase(),f(h,function(t,o){var a,r=o.re.exec(i),h=r&&o.parse(r),l=o.space||"rgba";return h?(a=s[l](h),s[c[l].cache]=a[c[l].cache],n=s._rgba=a._rgba,!1):e}),n.length?("0,0,0,0"===n.join()&&t.extend(n,o.transparent),s):o[i]}function n(t,e,i){return i=(i+1)%1,1>6*i?t+6*(e-t)*i:1>2*i?e:2>3*i?t+6*(e-t)*(2/3-i):t}var o,a="backgroundColor borderBottomColor borderLeftColor borderRightColor borderTopColor color columnRuleColor outlineColor textDecorationColor textEmphasisColor",r=/^([\-+])=\s*(\d+\.?\d*)/,h=[{re:/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[t[1],t[2],t[3],t[4]]}},{re:/rgba?\(\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,parse:function(t){return[2.55*t[1],2.55*t[2],2.55*t[3],t[4]]}},{re:/#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})/,parse:function(t){return[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)]}},{re:/#([a-f0-9])([a-f0-9])([a-f0-9])/,parse:function(t){return[parseInt(t[1]+t[1],16),parseInt(t[2]+t[2],16),parseInt(t[3]+t[3],16)]}},{re:/hsla?\(\s*(\d+(?:\.\d+)?)\s*,\s*(\d+(?:\.\d+)?)\%\s*,\s*(\d+(?:\.\d+)?)\%\s*(?:,\s*(\d?(?:\.\d+)?)\s*)?\)/,space:"hsla",parse:function(t){return[t[1],t[2]/100,t[3]/100,t[4]]}}],l=t.Color=function(e,i,s,n){return new t.Color.fn.parse(e,i,s,n)},c={rgba:{props:{red:{idx:0,type:"byte"},green:{idx:1,type:"byte"},blue:{idx:2,type:"byte"}}},hsla:{props:{hue:{idx:0,type:"degrees"},saturation:{idx:1,type:"percent"},lightness:{idx:2,type:"percent"}}}},u={"byte":{floor:!0,max:255},percent:{max:1},degrees:{mod:360,floor:!0}},d=l.support={},p=t("<p>")[0],f=t.each;p.style.cssText="background-color:rgba(1,1,1,.5)",d.rgba=p.style.backgroundColor.indexOf("rgba")>-1,f(c,function(t,e){e.cache="_"+t,e.props.alpha={idx:3,type:"percent",def:1}}),l.fn=t.extend(l.prototype,{parse:function(n,a,r,h){if(n===e)return this._rgba=[null,null,null,null],this;(n.jquery||n.nodeType)&&(n=t(n).css(a),a=e);var u=this,d=t.type(n),p=this._rgba=[];return a!==e&&(n=[n,a,r,h],d="array"),"string"===d?this.parse(s(n)||o._default):"array"===d?(f(c.rgba.props,function(t,e){p[e.idx]=i(n[e.idx],e)}),this):"object"===d?(n instanceof l?f(c,function(t,e){n[e.cache]&&(u[e.cache]=n[e.cache].slice())}):f(c,function(e,s){var o=s.cache;f(s.props,function(t,e){if(!u[o]&&s.to){if("alpha"===t||null==n[t])return;u[o]=s.to(u._rgba)}u[o][e.idx]=i(n[t],e,!0)}),u[o]&&0>t.inArray(null,u[o].slice(0,3))&&(u[o][3]=1,s.from&&(u._rgba=s.from(u[o])))}),this):e},is:function(t){var i=l(t),s=!0,n=this;return f(c,function(t,o){var a,r=i[o.cache];return r&&(a=n[o.cache]||o.to&&o.to(n._rgba)||[],f(o.props,function(t,i){return null!=r[i.idx]?s=r[i.idx]===a[i.idx]:e})),s}),s},_space:function(){var t=[],e=this;return f(c,function(i,s){e[s.cache]&&t.push(i)}),t.pop()},transition:function(t,e){var s=l(t),n=s._space(),o=c[n],a=0===this.alpha()?l("transparent"):this,r=a[o.cache]||o.to(a._rgba),h=r.slice();return s=s[o.cache],f(o.props,function(t,n){var o=n.idx,a=r[o],l=s[o],c=u[n.type]||{};null!==l&&(null===a?h[o]=l:(c.mod&&(l-a>c.mod/2?a+=c.mod:a-l>c.mod/2&&(a-=c.mod)),h[o]=i((l-a)*e+a,n)))}),this[n](h)},blend:function(e){if(1===this._rgba[3])return this;var i=this._rgba.slice(),s=i.pop(),n=l(e)._rgba;return l(t.map(i,function(t,e){return(1-s)*n[e]+s*t}))},toRgbaString:function(){var e="rgba(",i=t.map(this._rgba,function(t,e){return null==t?e>2?1:0:t});return 1===i[3]&&(i.pop(),e="rgb("),e+i.join()+")"},toHslaString:function(){var e="hsla(",i=t.map(this.hsla(),function(t,e){return null==t&&(t=e>2?1:0),e&&3>e&&(t=Math.round(100*t)+"%"),t});return 1===i[3]&&(i.pop(),e="hsl("),e+i.join()+")"},toHexString:function(e){var i=this._rgba.slice(),s=i.pop();return e&&i.push(~~(255*s)),"#"+t.map(i,function(t){return t=(t||0).toString(16),1===t.length?"0"+t:t}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),l.fn.parse.prototype=l.fn,c.hsla.to=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e,i,s=t[0]/255,n=t[1]/255,o=t[2]/255,a=t[3],r=Math.max(s,n,o),h=Math.min(s,n,o),l=r-h,c=r+h,u=.5*c;return e=h===r?0:s===r?60*(n-o)/l+360:n===r?60*(o-s)/l+120:60*(s-n)/l+240,i=0===l?0:.5>=u?l/c:l/(2-c),[Math.round(e)%360,i,u,null==a?1:a]},c.hsla.from=function(t){if(null==t[0]||null==t[1]||null==t[2])return[null,null,null,t[3]];var e=t[0]/360,i=t[1],s=t[2],o=t[3],a=.5>=s?s*(1+i):s+i-s*i,r=2*s-a;return[Math.round(255*n(r,a,e+1/3)),Math.round(255*n(r,a,e)),Math.round(255*n(r,a,e-1/3)),o]},f(c,function(s,n){var o=n.props,a=n.cache,h=n.to,c=n.from;l.fn[s]=function(s){if(h&&!this[a]&&(this[a]=h(this._rgba)),s===e)return this[a].slice();var n,r=t.type(s),u="array"===r||"object"===r?s:arguments,d=this[a].slice();return f(o,function(t,e){var s=u["object"===r?t:e.idx];null==s&&(s=d[e.idx]),d[e.idx]=i(s,e)}),c?(n=l(c(d)),n[a]=d,n):l(d)},f(o,function(e,i){l.fn[e]||(l.fn[e]=function(n){var o,a=t.type(n),h="alpha"===e?this._hsla?"hsla":"rgba":s,l=this[h](),c=l[i.idx];return"undefined"===a?c:("function"===a&&(n=n.call(this,c),a=t.type(n)),null==n&&i.empty?this:("string"===a&&(o=r.exec(n),o&&(n=c+parseFloat(o[2])*("+"===o[1]?1:-1))),l[i.idx]=n,this[h](l)))})})}),l.hook=function(e){var i=e.split(" ");f(i,function(e,i){t.cssHooks[i]={set:function(e,n){var o,a,r="";if("transparent"!==n&&("string"!==t.type(n)||(o=s(n)))){if(n=l(o||n),!d.rgba&&1!==n._rgba[3]){for(a="backgroundColor"===i?e.parentNode:e;(""===r||"transparent"===r)&&a&&a.style;)try{r=t.css(a,"backgroundColor"),a=a.parentNode}catch(h){}n=n.blend(r&&"transparent"!==r?r:"_default")}n=n.toRgbaString()}try{e.style[i]=n}catch(h){}}},t.fx.step[i]=function(e){e.colorInit||(e.start=l(e.elem,i),e.end=l(e.end),e.colorInit=!0),t.cssHooks[i].set(e.elem,e.start.transition(e.end,e.pos))}})},l.hook(a),t.cssHooks.borderColor={expand:function(t){var e={};return f(["Top","Right","Bottom","Left"],function(i,s){e["border"+s+"Color"]=t}),e}},o=t.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(jQuery),function(){function i(e){var i,s,n=e.ownerDocument.defaultView?e.ownerDocument.defaultView.getComputedStyle(e,null):e.currentStyle,o={};if(n&&n.length&&n[0]&&n[n[0]])for(s=n.length;s--;)i=n[s],"string"==typeof n[i]&&(o[t.camelCase(i)]=n[i]);else for(i in n)"string"==typeof n[i]&&(o[i]=n[i]);return o}function s(e,i){var s,n,a={};for(s in i)n=i[s],e[s]!==n&&(o[s]||(t.fx.step[s]||!isNaN(parseFloat(n)))&&(a[s]=n));return a}var n=["add","remove","toggle"],o={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};t.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(e,i){t.fx.step[i]=function(t){("none"!==t.end&&!t.setAttr||1===t.pos&&!t.setAttr)&&(jQuery.style(t.elem,i,t.end),t.setAttr=!0)}}),t.fn.addBack||(t.fn.addBack=function(t){return this.add(null==t?this.prevObject:this.prevObject.filter(t))}),t.effects.animateClass=function(e,o,a,r){var h=t.speed(o,a,r);return this.queue(function(){var o,a=t(this),r=a.attr("class")||"",l=h.children?a.find("*").addBack():a;l=l.map(function(){var e=t(this);return{el:e,start:i(this)}}),o=function(){t.each(n,function(t,i){e[i]&&a[i+"Class"](e[i])})},o(),l=l.map(function(){return this.end=i(this.el[0]),this.diff=s(this.start,this.end),this}),a.attr("class",r),l=l.map(function(){var e=this,i=t.Deferred(),s=t.extend({},h,{queue:!1,complete:function(){i.resolve(e)}});return this.el.animate(this.diff,s),i.promise()}),t.when.apply(t,l.get()).done(function(){o(),t.each(arguments,function(){var e=this.el;t.each(this.diff,function(t){e.css(t,"")})}),h.complete.call(a[0])})})},t.fn.extend({addClass:function(e){return function(i,s,n,o){return s?t.effects.animateClass.call(this,{add:i},s,n,o):e.apply(this,arguments)}}(t.fn.addClass),removeClass:function(e){return function(i,s,n,o){return arguments.length>1?t.effects.animateClass.call(this,{remove:i},s,n,o):e.apply(this,arguments)}}(t.fn.removeClass),toggleClass:function(i){return function(s,n,o,a,r){return"boolean"==typeof n||n===e?o?t.effects.animateClass.call(this,n?{add:s}:{remove:s},o,a,r):i.apply(this,arguments):t.effects.animateClass.call(this,{toggle:s},n,o,a)}}(t.fn.toggleClass),switchClass:function(e,i,s,n,o){return t.effects.animateClass.call(this,{add:i,remove:e},s,n,o)}})}(),function(){function s(e,i,s,n){return t.isPlainObject(e)&&(i=e,e=e.effect),e={effect:e},null==i&&(i={}),t.isFunction(i)&&(n=i,s=null,i={}),("number"==typeof i||t.fx.speeds[i])&&(n=s,s=i,i={}),t.isFunction(s)&&(n=s,s=null),i&&t.extend(e,i),s=s||i.duration,e.duration=t.fx.off?0:"number"==typeof s?s:s in t.fx.speeds?t.fx.speeds[s]:t.fx.speeds._default,e.complete=n||i.complete,e}function n(e){return!e||"number"==typeof e||t.fx.speeds[e]?!0:"string"!=typeof e||t.effects.effect[e]?t.isFunction(e)?!0:"object"!=typeof e||e.effect?!1:!0:!0}t.extend(t.effects,{version:"1.10.2",save:function(t,e){for(var s=0;e.length>s;s++)null!==e[s]&&t.data(i+e[s],t[0].style[e[s]])},restore:function(t,s){var n,o;for(o=0;s.length>o;o++)null!==s[o]&&(n=t.data(i+s[o]),n===e&&(n=""),t.css(s[o],n))},setMode:function(t,e){return"toggle"===e&&(e=t.is(":hidden")?"show":"hide"),e},getBaseline:function(t,e){var i,s;switch(t[0]){case"top":i=0;break;case"middle":i=.5;break;case"bottom":i=1;break;default:i=t[0]/e.height}switch(t[1]){case"left":s=0;break;case"center":s=.5;break;case"right":s=1;break;default:s=t[1]/e.width}return{x:s,y:i}},createWrapper:function(e){if(e.parent().is(".ui-effects-wrapper"))return e.parent();var i={width:e.outerWidth(!0),height:e.outerHeight(!0),"float":e.css("float")},s=t("<div></div>").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),n={width:e.width(),height:e.height()},o=document.activeElement;try{o.id}catch(a){o=document.body}return e.wrap(s),(e[0]===o||t.contains(e[0],o))&&t(o).focus(),s=e.parent(),"static"===e.css("position")?(s.css({position:"relative"}),e.css({position:"relative"})):(t.extend(i,{position:e.css("position"),zIndex:e.css("z-index")}),t.each(["top","left","bottom","right"],function(t,s){i[s]=e.css(s),isNaN(parseInt(i[s],10))&&(i[s]="auto")}),e.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),e.css(n),s.css(i).show()},removeWrapper:function(e){var i=document.activeElement;return e.parent().is(".ui-effects-wrapper")&&(e.parent().replaceWith(e),(e[0]===i||t.contains(e[0],i))&&t(i).focus()),e},setTransition:function(e,i,s,n){return n=n||{},t.each(i,function(t,i){var o=e.cssUnit(i);o[0]>0&&(n[i]=o[0]*s+o[1])}),n}}),t.fn.extend({effect:function(){function e(e){function s(){t.isFunction(o)&&o.call(n[0]),t.isFunction(e)&&e()}var n=t(this),o=i.complete,r=i.mode;(n.is(":hidden")?"hide"===r:"show"===r)?(n[r](),s()):a.call(n[0],i,s)}var i=s.apply(this,arguments),n=i.mode,o=i.queue,a=t.effects.effect[i.effect];return t.fx.off||!a?n?this[n](i.duration,i.complete):this.each(function(){i.complete&&i.complete.call(this)}):o===!1?this.each(e):this.queue(o||"fx",e)},show:function(t){return function(e){if(n(e))return t.apply(this,arguments);var i=s.apply(this,arguments);return i.mode="show",this.effect.call(this,i)}}(t.fn.show),hide:function(t){return function(e){if(n(e))return t.apply(this,arguments);var i=s.apply(this,arguments);return i.mode="hide",this.effect.call(this,i)}}(t.fn.hide),toggle:function(t){return function(e){if(n(e)||"boolean"==typeof e)return t.apply(this,arguments);var i=s.apply(this,arguments);return i.mode="toggle",this.effect.call(this,i)}}(t.fn.toggle),cssUnit:function(e){var i=this.css(e),s=[];return t.each(["em","px","%","pt"],function(t,e){i.indexOf(e)>0&&(s=[parseFloat(i),e])}),s}})}(),function(){var e={};t.each(["Quad","Cubic","Quart","Quint","Expo"],function(t,i){e[i]=function(e){return Math.pow(e,t+2)}}),t.extend(e,{Sine:function(t){return 1-Math.cos(t*Math.PI/2)},Circ:function(t){return 1-Math.sqrt(1-t*t)},Elastic:function(t){return 0===t||1===t?t:-Math.pow(2,8*(t-1))*Math.sin((80*(t-1)-7.5)*Math.PI/15)},Back:function(t){return t*t*(3*t-2)},Bounce:function(t){for(var e,i=4;((e=Math.pow(2,--i))-1)/11>t;);return 1/Math.pow(4,3-i)-7.5625*Math.pow((3*e-2)/22-t,2)}}),t.each(e,function(e,i){t.easing["easeIn"+e]=i,t.easing["easeOut"+e]=function(t){return 1-i(1-t)},t.easing["easeInOut"+e]=function(t){return.5>t?i(2*t)/2:1-i(-2*t+2)/2}})}()}(jQuery),function(t){var e=0,i={},s={};i.height=i.paddingTop=i.paddingBottom=i.borderTopWidth=i.borderBottomWidth="hide",s.height=s.paddingTop=s.paddingBottom=s.borderTopWidth=s.borderBottomWidth="show",t.widget("ui.accordion",{version:"1.10.2",options:{active:0,animate:{},collapsible:!1,event:"click",header:"> li > :first-child,> :not(li):even",heightStyle:"auto",icons:{activeHeader:"ui-icon-triangle-1-s",header:"ui-icon-triangle-1-e"},activate:null,beforeActivate:null},_create:function(){var e=this.options;this.prevShow=this.prevHide=t(),this.element.addClass("ui-accordion ui-widget ui-helper-reset").attr("role","tablist"),e.collapsible||e.active!==!1&&null!=e.active||(e.active=0),this._processPanels(),0>e.active&&(e.active+=this.headers.length),this._refresh()},_getCreateEventData:function(){return{header:this.active,panel:this.active.length?this.active.next():t(),content:this.active.length?this.active.next():t()}},_createIcons:function(){var e=this.options.icons;e&&(t("<span>").addClass("ui-accordion-header-icon ui-icon "+e.header).prependTo(this.headers),this.active.children(".ui-accordion-header-icon").removeClass(e.header).addClass(e.activeHeader),this.headers.addClass("ui-accordion-icons"))},_destroyIcons:function(){this.headers.removeClass("ui-accordion-icons").children(".ui-accordion-header-icon").remove()
8
+ },_destroy:function(){var t;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role"),this.headers.removeClass("ui-accordion-header ui-accordion-header-active ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-selected").removeAttr("aria-controls").removeAttr("tabIndex").each(function(){/^ui-accordion/.test(this.id)&&this.removeAttribute("id")}),this._destroyIcons(),t=this.headers.next().css("display","").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-labelledby").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-state-disabled").each(function(){/^ui-accordion/.test(this.id)&&this.removeAttribute("id")}),"content"!==this.options.heightStyle&&t.css("height","")},_setOption:function(t,e){return"active"===t?(this._activate(e),undefined):("event"===t&&(this.options.event&&this._off(this.headers,this.options.event),this._setupEvents(e)),this._super(t,e),"collapsible"!==t||e||this.options.active!==!1||this._activate(0),"icons"===t&&(this._destroyIcons(),e&&this._createIcons()),"disabled"===t&&this.headers.add(this.headers.next()).toggleClass("ui-state-disabled",!!e),undefined)},_keydown:function(e){if(!e.altKey&&!e.ctrlKey){var i=t.ui.keyCode,s=this.headers.length,n=this.headers.index(e.target),o=!1;switch(e.keyCode){case i.RIGHT:case i.DOWN:o=this.headers[(n+1)%s];break;case i.LEFT:case i.UP:o=this.headers[(n-1+s)%s];break;case i.SPACE:case i.ENTER:this._eventHandler(e);break;case i.HOME:o=this.headers[0];break;case i.END:o=this.headers[s-1]}o&&(t(e.target).attr("tabIndex",-1),t(o).attr("tabIndex",0),o.focus(),e.preventDefault())}},_panelKeyDown:function(e){e.keyCode===t.ui.keyCode.UP&&e.ctrlKey&&t(e.currentTarget).prev().focus()},refresh:function(){var e=this.options;this._processPanels(),(e.active===!1&&e.collapsible===!0||!this.headers.length)&&(e.active=!1,this.active=t()),e.active===!1?this._activate(0):this.active.length&&!t.contains(this.element[0],this.active[0])?this.headers.length===this.headers.find(".ui-state-disabled").length?(e.active=!1,this.active=t()):this._activate(Math.max(0,e.active-1)):e.active=this.headers.index(this.active),this._destroyIcons(),this._refresh()},_processPanels:function(){this.headers=this.element.find(this.options.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all"),this.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom").filter(":not(.ui-accordion-content-active)").hide()},_refresh:function(){var i,s=this.options,n=s.heightStyle,o=this.element.parent(),a=this.accordionId="ui-accordion-"+(this.element.attr("id")||++e);this.active=this._findActive(s.active).addClass("ui-accordion-header-active ui-state-active ui-corner-top").removeClass("ui-corner-all"),this.active.next().addClass("ui-accordion-content-active").show(),this.headers.attr("role","tab").each(function(e){var i=t(this),s=i.attr("id"),n=i.next(),o=n.attr("id");s||(s=a+"-header-"+e,i.attr("id",s)),o||(o=a+"-panel-"+e,n.attr("id",o)),i.attr("aria-controls",o),n.attr("aria-labelledby",s)}).next().attr("role","tabpanel"),this.headers.not(this.active).attr({"aria-selected":"false",tabIndex:-1}).next().attr({"aria-expanded":"false","aria-hidden":"true"}).hide(),this.active.length?this.active.attr({"aria-selected":"true",tabIndex:0}).next().attr({"aria-expanded":"true","aria-hidden":"false"}):this.headers.eq(0).attr("tabIndex",0),this._createIcons(),this._setupEvents(s.event),"fill"===n?(i=o.height(),this.element.siblings(":visible").each(function(){var e=t(this),s=e.css("position");"absolute"!==s&&"fixed"!==s&&(i-=e.outerHeight(!0))}),this.headers.each(function(){i-=t(this).outerHeight(!0)}),this.headers.next().each(function(){t(this).height(Math.max(0,i-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===n&&(i=0,this.headers.next().each(function(){i=Math.max(i,t(this).css("height","").height())}).height(i))},_activate:function(e){var i=this._findActive(e)[0];i!==this.active[0]&&(i=i||this.active[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return"number"==typeof e?this.headers.eq(e):t()},_setupEvents:function(e){var i={keydown:"_keydown"};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.headers.add(this.headers.next())),this._on(this.headers,i),this._on(this.headers.next(),{keydown:"_panelKeyDown"}),this._hoverable(this.headers),this._focusable(this.headers)},_eventHandler:function(e){var i=this.options,s=this.active,n=t(e.currentTarget),o=n[0]===s[0],a=o&&i.collapsible,r=a?t():n.next(),h=s.next(),l={oldHeader:s,oldPanel:h,newHeader:a?t():n,newPanel:r};e.preventDefault(),o&&!i.collapsible||this._trigger("beforeActivate",e,l)===!1||(i.active=a?!1:this.headers.index(n),this.active=o?t():n,this._toggle(l),s.removeClass("ui-accordion-header-active ui-state-active"),i.icons&&s.children(".ui-accordion-header-icon").removeClass(i.icons.activeHeader).addClass(i.icons.header),o||(n.removeClass("ui-corner-all").addClass("ui-accordion-header-active ui-state-active ui-corner-top"),i.icons&&n.children(".ui-accordion-header-icon").removeClass(i.icons.header).addClass(i.icons.activeHeader),n.next().addClass("ui-accordion-content-active")))},_toggle:function(e){var i=e.newPanel,s=this.prevShow.length?this.prevShow:e.oldPanel;this.prevShow.add(this.prevHide).stop(!0,!0),this.prevShow=i,this.prevHide=s,this.options.animate?this._animate(i,s,e):(s.hide(),i.show(),this._toggleComplete(e)),s.attr({"aria-expanded":"false","aria-hidden":"true"}),s.prev().attr("aria-selected","false"),i.length&&s.length?s.prev().attr("tabIndex",-1):i.length&&this.headers.filter(function(){return 0===t(this).attr("tabIndex")}).attr("tabIndex",-1),i.attr({"aria-expanded":"true","aria-hidden":"false"}).prev().attr({"aria-selected":"true",tabIndex:0})},_animate:function(t,e,n){var o,a,r,h=this,l=0,c=t.length&&(!e.length||t.index()<e.index()),u=this.options.animate||{},d=c&&u.down||u,p=function(){h._toggleComplete(n)};return"number"==typeof d&&(r=d),"string"==typeof d&&(a=d),a=a||d.easing||u.easing,r=r||d.duration||u.duration,e.length?t.length?(o=t.show().outerHeight(),e.animate(i,{duration:r,easing:a,step:function(t,e){e.now=Math.round(t)}}),t.hide().animate(s,{duration:r,easing:a,complete:p,step:function(t,i){i.now=Math.round(t),"height"!==i.prop?l+=i.now:"content"!==h.options.heightStyle&&(i.now=Math.round(o-e.outerHeight()-l),l=0)}}),undefined):e.animate(i,r,a,p):t.animate(s,r,a,p)},_toggleComplete:function(t){var e=t.oldPanel;e.removeClass("ui-accordion-content-active").prev().removeClass("ui-corner-top").addClass("ui-corner-all"),e.length&&(e.parent()[0].className=e.parent()[0].className),this._trigger("activate",null,t)}})}(jQuery),function(t){var e=0;t.widget("ui.autocomplete",{version:"1.10.2",defaultElement:"<input>",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},pending:0,_create:function(){var e,i,s,n=this.element[0].nodeName.toLowerCase(),o="textarea"===n,a="input"===n;this.isMultiLine=o?!0:a?!1:this.element.prop("isContentEditable"),this.valueMethod=this.element[o||a?"val":"text"],this.isNewMenu=!0,this.element.addClass("ui-autocomplete-input").attr("autocomplete","off"),this._on(this.element,{keydown:function(n){if(this.element.prop("readOnly"))return e=!0,s=!0,i=!0,undefined;e=!1,s=!1,i=!1;var o=t.ui.keyCode;switch(n.keyCode){case o.PAGE_UP:e=!0,this._move("previousPage",n);break;case o.PAGE_DOWN:e=!0,this._move("nextPage",n);break;case o.UP:e=!0,this._keyEvent("previous",n);break;case o.DOWN:e=!0,this._keyEvent("next",n);break;case o.ENTER:case o.NUMPAD_ENTER:this.menu.active&&(e=!0,n.preventDefault(),this.menu.select(n));break;case o.TAB:this.menu.active&&this.menu.select(n);break;case o.ESCAPE:this.menu.element.is(":visible")&&(this._value(this.term),this.close(n),n.preventDefault());break;default:i=!0,this._searchTimeout(n)}},keypress:function(s){if(e)return e=!1,s.preventDefault(),undefined;if(!i){var n=t.ui.keyCode;switch(s.keyCode){case n.PAGE_UP:this._move("previousPage",s);break;case n.PAGE_DOWN:this._move("nextPage",s);break;case n.UP:this._keyEvent("previous",s);break;case n.DOWN:this._keyEvent("next",s)}}},input:function(t){return s?(s=!1,t.preventDefault(),undefined):(this._searchTimeout(t),undefined)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){return this.cancelBlur?(delete this.cancelBlur,undefined):(clearTimeout(this.searching),this.close(t),this._change(t),undefined)}}),this._initSource(),this.menu=t("<ul>").addClass("ui-autocomplete ui-front").appendTo(this._appendTo()).menu({input:t(),role:null}).hide().data("ui-menu"),this._on(this.menu.element,{mousedown:function(e){e.preventDefault(),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur});var i=this.menu.element[0];t(e.target).closest(".ui-menu-item").length||this._delay(function(){var e=this;this.document.one("mousedown",function(s){s.target===e.element[0]||s.target===i||t.contains(i,s.target)||e.close()})})},menufocus:function(e,i){if(this.isNewMenu&&(this.isNewMenu=!1,e.originalEvent&&/^mouse/.test(e.originalEvent.type)))return this.menu.blur(),this.document.one("mousemove",function(){t(e.target).trigger(e.originalEvent)}),undefined;var s=i.item.data("ui-autocomplete-item");!1!==this._trigger("focus",e,{item:s})?e.originalEvent&&/^key/.test(e.originalEvent.type)&&this._value(s.value):this.liveRegion.text(s.value)},menuselect:function(t,e){var i=e.item.data("ui-autocomplete-item"),s=this.previous;this.element[0]!==this.document[0].activeElement&&(this.element.focus(),this.previous=s,this._delay(function(){this.previous=s,this.selectedItem=i})),!1!==this._trigger("select",t,{item:i})&&this._value(i.value),this.term=this._value(),this.close(t),this.selectedItem=i}}),this.liveRegion=t("<span>",{role:"status","aria-live":"polite"}).addClass("ui-helper-hidden-accessible").insertAfter(this.element),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_appendTo:function(){var e=this.options.appendTo;return e&&(e=e.jquery||e.nodeType?t(e):this.document.find(e).eq(0)),e||(e=this.element.closest(".ui-front")),e.length||(e=this.document[0].body),e},_initSource:function(){var e,i,s=this;t.isArray(this.options.source)?(e=this.options.source,this.source=function(i,s){s(t.ui.autocomplete.filter(e,i.term))}):"string"==typeof this.options.source?(i=this.options.source,this.source=function(e,n){s.xhr&&s.xhr.abort(),s.xhr=t.ajax({url:i,data:e,dataType:"json",success:function(t){n(t)},error:function(){n([])}})}):this.source=this.options.source},_searchTimeout:function(t){clearTimeout(this.searching),this.searching=this._delay(function(){this.term!==this._value()&&(this.selectedItem=null,this.search(null,t))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length<this.options.minLength?this.close(e):this._trigger("search",e)!==!1?this._search(t):undefined},_search:function(t){this.pending++,this.element.addClass("ui-autocomplete-loading"),this.cancelSearch=!1,this.source({term:t},this._response())},_response:function(){var t=this,i=++e;return function(s){i===e&&t.__response(s),t.pending--,t.pending||t.element.removeClass("ui-autocomplete-loading")}},__response:function(t){t&&(t=this._normalize(t)),this._trigger("response",null,{content:t}),!this.options.disabled&&t&&t.length&&!this.cancelSearch?(this._suggest(t),this._trigger("open")):this._close()},close:function(t){this.cancelSearch=!0,this._close(t)},_close:function(t){this.menu.element.is(":visible")&&(this.menu.element.hide(),this.menu.blur(),this.isNewMenu=!0,this._trigger("close",t))},_change:function(t){this.previous!==this._value()&&this._trigger("change",t,{item:this.selectedItem})},_normalize:function(e){return e.length&&e[0].label&&e[0].value?e:t.map(e,function(e){return"string"==typeof e?{label:e,value:e}:t.extend({label:e.label||e.value,value:e.value||e.label},e)})},_suggest:function(e){var i=this.menu.element.empty();this._renderMenu(i,e),this.isNewMenu=!0,this.menu.refresh(),i.show(),this._resizeMenu(),i.position(t.extend({of:this.element},this.options.position)),this.options.autoFocus&&this.menu.next()},_resizeMenu:function(){var t=this.menu.element;t.outerWidth(Math.max(t.width("").outerWidth()+1,this.element.outerWidth()))},_renderMenu:function(e,i){var s=this;t.each(i,function(t,i){s._renderItemData(e,i)})},_renderItemData:function(t,e){return this._renderItem(t,e).data("ui-autocomplete-item",e)},_renderItem:function(e,i){return t("<li>").append(t("<a>").text(i.label)).appendTo(e)},_move:function(t,e){return this.menu.element.is(":visible")?this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this._value(this.term),this.menu.blur(),undefined):(this.menu[t](e),undefined):(this.search(null,e),undefined)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){(!this.isMultiLine||this.menu.element.is(":visible"))&&(this._move(t,e),e.preventDefault())}}),t.extend(t.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(e,i){var s=RegExp(t.ui.autocomplete.escapeRegex(i),"i");return t.grep(e,function(t){return s.test(t.label||t.value||t)})}}),t.widget("ui.autocomplete",t.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(t>1?" results are":" result is")+" available, use up and down arrow keys to navigate."}}},__response:function(t){var e;this._superApply(arguments),this.options.disabled||this.cancelSearch||(e=t&&t.length?this.options.messages.results(t.length):this.options.messages.noResults,this.liveRegion.text(e))}})}(jQuery),function(t){var e,i,s,n,o="ui-button ui-widget ui-state-default ui-corner-all",a="ui-state-hover ui-state-active ",r="ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only",h=function(){var e=t(this).find(":ui-button");setTimeout(function(){e.button("refresh")},1)},l=function(e){var i=e.name,s=e.form,n=t([]);return i&&(i=i.replace(/'/g,"\\'"),n=s?t(s).find("[name='"+i+"']"):t("[name='"+i+"']",e.ownerDocument).filter(function(){return!this.form})),n};t.widget("ui.button",{version:"1.10.2",defaultElement:"<button>",options:{disabled:null,text:!0,label:null,icons:{primary:null,secondary:null}},_create:function(){this.element.closest("form").unbind("reset"+this.eventNamespace).bind("reset"+this.eventNamespace,h),"boolean"!=typeof this.options.disabled?this.options.disabled=!!this.element.prop("disabled"):this.element.prop("disabled",this.options.disabled),this._determineButtonType(),this.hasTitle=!!this.buttonElement.attr("title");var a=this,r=this.options,c="checkbox"===this.type||"radio"===this.type,u=c?"":"ui-state-active",d="ui-state-focus";null===r.label&&(r.label="input"===this.type?this.buttonElement.val():this.buttonElement.html()),this._hoverable(this.buttonElement),this.buttonElement.addClass(o).attr("role","button").bind("mouseenter"+this.eventNamespace,function(){r.disabled||this===e&&t(this).addClass("ui-state-active")}).bind("mouseleave"+this.eventNamespace,function(){r.disabled||t(this).removeClass(u)}).bind("click"+this.eventNamespace,function(t){r.disabled&&(t.preventDefault(),t.stopImmediatePropagation())}),this.element.bind("focus"+this.eventNamespace,function(){a.buttonElement.addClass(d)}).bind("blur"+this.eventNamespace,function(){a.buttonElement.removeClass(d)}),c&&(this.element.bind("change"+this.eventNamespace,function(){n||a.refresh()}),this.buttonElement.bind("mousedown"+this.eventNamespace,function(t){r.disabled||(n=!1,i=t.pageX,s=t.pageY)}).bind("mouseup"+this.eventNamespace,function(t){r.disabled||(i!==t.pageX||s!==t.pageY)&&(n=!0)})),"checkbox"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){return r.disabled||n?!1:undefined}):"radio"===this.type?this.buttonElement.bind("click"+this.eventNamespace,function(){if(r.disabled||n)return!1;t(this).addClass("ui-state-active"),a.buttonElement.attr("aria-pressed","true");var e=a.element[0];l(e).not(e).map(function(){return t(this).button("widget")[0]}).removeClass("ui-state-active").attr("aria-pressed","false")}):(this.buttonElement.bind("mousedown"+this.eventNamespace,function(){return r.disabled?!1:(t(this).addClass("ui-state-active"),e=this,a.document.one("mouseup",function(){e=null}),undefined)}).bind("mouseup"+this.eventNamespace,function(){return r.disabled?!1:(t(this).removeClass("ui-state-active"),undefined)}).bind("keydown"+this.eventNamespace,function(e){return r.disabled?!1:((e.keyCode===t.ui.keyCode.SPACE||e.keyCode===t.ui.keyCode.ENTER)&&t(this).addClass("ui-state-active"),undefined)}).bind("keyup"+this.eventNamespace+" blur"+this.eventNamespace,function(){t(this).removeClass("ui-state-active")}),this.buttonElement.is("a")&&this.buttonElement.keyup(function(e){e.keyCode===t.ui.keyCode.SPACE&&t(this).click()})),this._setOption("disabled",r.disabled),this._resetButton()},_determineButtonType:function(){var t,e,i;this.type=this.element.is("[type=checkbox]")?"checkbox":this.element.is("[type=radio]")?"radio":this.element.is("input")?"input":"button","checkbox"===this.type||"radio"===this.type?(t=this.element.parents().last(),e="label[for='"+this.element.attr("id")+"']",this.buttonElement=t.find(e),this.buttonElement.length||(t=t.length?t.siblings():this.element.siblings(),this.buttonElement=t.filter(e),this.buttonElement.length||(this.buttonElement=t.find(e))),this.element.addClass("ui-helper-hidden-accessible"),i=this.element.is(":checked"),i&&this.buttonElement.addClass("ui-state-active"),this.buttonElement.prop("aria-pressed",i)):this.buttonElement=this.element},widget:function(){return this.buttonElement},_destroy:function(){this.element.removeClass("ui-helper-hidden-accessible"),this.buttonElement.removeClass(o+" "+a+" "+r).removeAttr("role").removeAttr("aria-pressed").html(this.buttonElement.find(".ui-button-text").html()),this.hasTitle||this.buttonElement.removeAttr("title")},_setOption:function(t,e){return this._super(t,e),"disabled"===t?(e?this.element.prop("disabled",!0):this.element.prop("disabled",!1),undefined):(this._resetButton(),undefined)},refresh:function(){var e=this.element.is("input, button")?this.element.is(":disabled"):this.element.hasClass("ui-button-disabled");e!==this.options.disabled&&this._setOption("disabled",e),"radio"===this.type?l(this.element[0]).each(function(){t(this).is(":checked")?t(this).button("widget").addClass("ui-state-active").attr("aria-pressed","true"):t(this).button("widget").removeClass("ui-state-active").attr("aria-pressed","false")}):"checkbox"===this.type&&(this.element.is(":checked")?this.buttonElement.addClass("ui-state-active").attr("aria-pressed","true"):this.buttonElement.removeClass("ui-state-active").attr("aria-pressed","false"))},_resetButton:function(){if("input"===this.type)return this.options.label&&this.element.val(this.options.label),undefined;var e=this.buttonElement.removeClass(r),i=t("<span></span>",this.document[0]).addClass("ui-button-text").html(this.options.label).appendTo(e.empty()).text(),s=this.options.icons,n=s.primary&&s.secondary,o=[];s.primary||s.secondary?(this.options.text&&o.push("ui-button-text-icon"+(n?"s":s.primary?"-primary":"-secondary")),s.primary&&e.prepend("<span class='ui-button-icon-primary ui-icon "+s.primary+"'></span>"),s.secondary&&e.append("<span class='ui-button-icon-secondary ui-icon "+s.secondary+"'></span>"),this.options.text||(o.push(n?"ui-button-icons-only":"ui-button-icon-only"),this.hasTitle||e.attr("title",t.trim(i)))):o.push("ui-button-text-only"),e.addClass(o.join(" "))}}),t.widget("ui.buttonset",{version:"1.10.2",options:{items:"button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(ui-button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(t,e){"disabled"===t&&this.buttons.button("option",t,e),this._super(t,e)},refresh:function(){var e="rtl"===this.element.css("direction");this.buttons=this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return t(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass(e?"ui-corner-right":"ui-corner-left").end().filter(":last").addClass(e?"ui-corner-left":"ui-corner-right").end().end()},_destroy:function(){this.element.removeClass("ui-buttonset"),this.buttons.map(function(){return t(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy")}})}(jQuery),function(t,e){function i(){this._curInst=null,this._keyEvent=!1,this._disabledInputs=[],this._datepickerShowing=!1,this._inDialog=!1,this._mainDivId="ui-datepicker-div",this._inlineClass="ui-datepicker-inline",this._appendClass="ui-datepicker-append",this._triggerClass="ui-datepicker-trigger",this._dialogClass="ui-datepicker-dialog",this._disableClass="ui-datepicker-disabled",this._unselectableClass="ui-datepicker-unselectable",this._currentClass="ui-datepicker-current-day",this._dayOverClass="ui-datepicker-days-cell-over",this.regional=[],this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""},this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:!1,hideIfNoPrevNext:!1,navigationAsDateFormat:!1,gotoCurrent:!1,changeMonth:!1,changeYear:!1,yearRange:"c-10:c+10",showOtherMonths:!1,selectOtherMonths:!1,showWeek:!1,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:!0,showButtonPanel:!1,autoSize:!1,disabled:!1},t.extend(this._defaults,this.regional[""]),this.dpDiv=s(t("<div id='"+this._mainDivId+"' class='ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>"))}function s(e){var i="button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a";return e.delegate(i,"mouseout",function(){t(this).removeClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).removeClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).removeClass("ui-datepicker-next-hover")}).delegate(i,"mouseover",function(){t.datepicker._isDisabledDatepicker(o.inline?e.parent()[0]:o.input[0])||(t(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover"),t(this).addClass("ui-state-hover"),-1!==this.className.indexOf("ui-datepicker-prev")&&t(this).addClass("ui-datepicker-prev-hover"),-1!==this.className.indexOf("ui-datepicker-next")&&t(this).addClass("ui-datepicker-next-hover"))})}function n(e,i){t.extend(e,i);for(var s in i)null==i[s]&&(e[s]=i[s]);return e}t.extend(t.ui,{datepicker:{version:"1.10.2"}});var o,a="datepicker",r=(new Date).getTime();t.extend(i.prototype,{markerClassName:"hasDatepicker",maxRows:4,_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(t){return n(this._defaults,t||{}),this},_attachDatepicker:function(e,i){var s,n,o;s=e.nodeName.toLowerCase(),n="div"===s||"span"===s,e.id||(this.uuid+=1,e.id="dp"+this.uuid),o=this._newInst(t(e),n),o.settings=t.extend({},i||{}),"input"===s?this._connectDatepicker(e,o):n&&this._inlineDatepicker(e,o)},_newInst:function(e,i){var n=e[0].id.replace(/([^A-Za-z0-9_\-])/g,"\\\\$1");return{id:n,input:e,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:i,dpDiv:i?s(t("<div class='"+this._inlineClass+" ui-datepicker ui-widget ui-widget-content ui-helper-clearfix ui-corner-all'></div>")):this.dpDiv}},_connectDatepicker:function(e,i){var s=t(e);i.append=t([]),i.trigger=t([]),s.hasClass(this.markerClassName)||(this._attachments(s,i),s.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp),this._autoSize(i),t.data(e,a,i),i.settings.disabled&&this._disableDatepicker(e))},_attachments:function(e,i){var s,n,o,a=this._get(i,"appendText"),r=this._get(i,"isRTL");i.append&&i.append.remove(),a&&(i.append=t("<span class='"+this._appendClass+"'>"+a+"</span>"),e[r?"before":"after"](i.append)),e.unbind("focus",this._showDatepicker),i.trigger&&i.trigger.remove(),s=this._get(i,"showOn"),("focus"===s||"both"===s)&&e.focus(this._showDatepicker),("button"===s||"both"===s)&&(n=this._get(i,"buttonText"),o=this._get(i,"buttonImage"),i.trigger=t(this._get(i,"buttonImageOnly")?t("<img/>").addClass(this._triggerClass).attr({src:o,alt:n,title:n}):t("<button type='button'></button>").addClass(this._triggerClass).html(o?t("<img/>").attr({src:o,alt:n,title:n}):n)),e[r?"before":"after"](i.trigger),i.trigger.click(function(){return t.datepicker._datepickerShowing&&t.datepicker._lastInput===e[0]?t.datepicker._hideDatepicker():t.datepicker._datepickerShowing&&t.datepicker._lastInput!==e[0]?(t.datepicker._hideDatepicker(),t.datepicker._showDatepicker(e[0])):t.datepicker._showDatepicker(e[0]),!1}))},_autoSize:function(t){if(this._get(t,"autoSize")&&!t.inline){var e,i,s,n,o=new Date(2009,11,20),a=this._get(t,"dateFormat");a.match(/[DM]/)&&(e=function(t){for(i=0,s=0,n=0;t.length>n;n++)t[n].length>i&&(i=t[n].length,s=n);return s},o.setMonth(e(this._get(t,a.match(/MM/)?"monthNames":"monthNamesShort"))),o.setDate(e(this._get(t,a.match(/DD/)?"dayNames":"dayNamesShort"))+20-o.getDay())),t.input.attr("size",this._formatDate(t,o).length)}},_inlineDatepicker:function(e,i){var s=t(e);s.hasClass(this.markerClassName)||(s.addClass(this.markerClassName).append(i.dpDiv),t.data(e,a,i),this._setDate(i,this._getDefaultDate(i),!0),this._updateDatepicker(i),this._updateAlternate(i),i.settings.disabled&&this._disableDatepicker(e),i.dpDiv.css("display","block"))},_dialogDatepicker:function(e,i,s,o,r){var h,l,c,u,d,p=this._dialogInst;return p||(this.uuid+=1,h="dp"+this.uuid,this._dialogInput=t("<input type='text' id='"+h+"' style='position: absolute; top: -100px; width: 0px;'/>"),this._dialogInput.keydown(this._doKeyDown),t("body").append(this._dialogInput),p=this._dialogInst=this._newInst(this._dialogInput,!1),p.settings={},t.data(this._dialogInput[0],a,p)),n(p.settings,o||{}),i=i&&i.constructor===Date?this._formatDate(p,i):i,this._dialogInput.val(i),this._pos=r?r.length?r:[r.pageX,r.pageY]:null,this._pos||(l=document.documentElement.clientWidth,c=document.documentElement.clientHeight,u=document.documentElement.scrollLeft||document.body.scrollLeft,d=document.documentElement.scrollTop||document.body.scrollTop,this._pos=[l/2-100+u,c/2-150+d]),this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px"),p.settings.onSelect=s,this._inDialog=!0,this.dpDiv.addClass(this._dialogClass),this._showDatepicker(this._dialogInput[0]),t.blockUI&&t.blockUI(this.dpDiv),t.data(this._dialogInput[0],a,p),this},_destroyDatepicker:function(e){var i,s=t(e),n=t.data(e,a);s.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),t.removeData(e,a),"input"===i?(n.append.remove(),n.trigger.remove(),s.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)):("div"===i||"span"===i)&&s.removeClass(this.markerClassName).empty())},_enableDatepicker:function(e){var i,s,n=t(e),o=t.data(e,a);n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),"input"===i?(e.disabled=!1,o.trigger.filter("button").each(function(){this.disabled=!1}).end().filter("img").css({opacity:"1.0",cursor:""})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().removeClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!1)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}))},_disableDatepicker:function(e){var i,s,n=t(e),o=t.data(e,a);n.hasClass(this.markerClassName)&&(i=e.nodeName.toLowerCase(),"input"===i?(e.disabled=!0,o.trigger.filter("button").each(function(){this.disabled=!0}).end().filter("img").css({opacity:"0.5",cursor:"default"})):("div"===i||"span"===i)&&(s=n.children("."+this._inlineClass),s.children().addClass("ui-state-disabled"),s.find("select.ui-datepicker-month, select.ui-datepicker-year").prop("disabled",!0)),this._disabledInputs=t.map(this._disabledInputs,function(t){return t===e?null:t}),this._disabledInputs[this._disabledInputs.length]=e)},_isDisabledDatepicker:function(t){if(!t)return!1;for(var e=0;this._disabledInputs.length>e;e++)if(this._disabledInputs[e]===t)return!0;return!1},_getInst:function(e){try{return t.data(e,a)}catch(i){throw"Missing instance data for this datepicker"}},_optionDatepicker:function(i,s,o){var a,r,h,l,c=this._getInst(i);return 2===arguments.length&&"string"==typeof s?"defaults"===s?t.extend({},t.datepicker._defaults):c?"all"===s?t.extend({},c.settings):this._get(c,s):null:(a=s||{},"string"==typeof s&&(a={},a[s]=o),c&&(this._curInst===c&&this._hideDatepicker(),r=this._getDateDatepicker(i,!0),h=this._getMinMaxDate(c,"min"),l=this._getMinMaxDate(c,"max"),n(c.settings,a),null!==h&&a.dateFormat!==e&&a.minDate===e&&(c.settings.minDate=this._formatDate(c,h)),null!==l&&a.dateFormat!==e&&a.maxDate===e&&(c.settings.maxDate=this._formatDate(c,l)),"disabled"in a&&(a.disabled?this._disableDatepicker(i):this._enableDatepicker(i)),this._attachments(t(i),c),this._autoSize(c),this._setDate(c,r),this._updateAlternate(c),this._updateDatepicker(c)),e)},_changeDatepicker:function(t,e,i){this._optionDatepicker(t,e,i)},_refreshDatepicker:function(t){var e=this._getInst(t);e&&this._updateDatepicker(e)},_setDateDatepicker:function(t,e){var i=this._getInst(t);i&&(this._setDate(i,e),this._updateDatepicker(i),this._updateAlternate(i))},_getDateDatepicker:function(t,e){var i=this._getInst(t);return i&&!i.inline&&this._setDateFromField(i,e),i?this._getDate(i):null},_doKeyDown:function(e){var i,s,n,o=t.datepicker._getInst(e.target),a=!0,r=o.dpDiv.is(".ui-datepicker-rtl");if(o._keyEvent=!0,t.datepicker._datepickerShowing)switch(e.keyCode){case 9:t.datepicker._hideDatepicker(),a=!1;break;case 13:return n=t("td."+t.datepicker._dayOverClass+":not(."+t.datepicker._currentClass+")",o.dpDiv),n[0]&&t.datepicker._selectDay(e.target,o.selectedMonth,o.selectedYear,n[0]),i=t.datepicker._get(o,"onSelect"),i?(s=t.datepicker._formatDate(o),i.apply(o.input?o.input[0]:null,[s,o])):t.datepicker._hideDatepicker(),!1;case 27:t.datepicker._hideDatepicker();break;case 33:t.datepicker._adjustDate(e.target,e.ctrlKey?-t.datepicker._get(o,"stepBigMonths"):-t.datepicker._get(o,"stepMonths"),"M");
9
+ break;case 34:t.datepicker._adjustDate(e.target,e.ctrlKey?+t.datepicker._get(o,"stepBigMonths"):+t.datepicker._get(o,"stepMonths"),"M");break;case 35:(e.ctrlKey||e.metaKey)&&t.datepicker._clearDate(e.target),a=e.ctrlKey||e.metaKey;break;case 36:(e.ctrlKey||e.metaKey)&&t.datepicker._gotoToday(e.target),a=e.ctrlKey||e.metaKey;break;case 37:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,r?1:-1,"D"),a=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&t.datepicker._adjustDate(e.target,e.ctrlKey?-t.datepicker._get(o,"stepBigMonths"):-t.datepicker._get(o,"stepMonths"),"M");break;case 38:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,-7,"D"),a=e.ctrlKey||e.metaKey;break;case 39:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,r?-1:1,"D"),a=e.ctrlKey||e.metaKey,e.originalEvent.altKey&&t.datepicker._adjustDate(e.target,e.ctrlKey?+t.datepicker._get(o,"stepBigMonths"):+t.datepicker._get(o,"stepMonths"),"M");break;case 40:(e.ctrlKey||e.metaKey)&&t.datepicker._adjustDate(e.target,7,"D"),a=e.ctrlKey||e.metaKey;break;default:a=!1}else 36===e.keyCode&&e.ctrlKey?t.datepicker._showDatepicker(this):a=!1;a&&(e.preventDefault(),e.stopPropagation())},_doKeyPress:function(i){var s,n,o=t.datepicker._getInst(i.target);return t.datepicker._get(o,"constrainInput")?(s=t.datepicker._possibleChars(t.datepicker._get(o,"dateFormat")),n=String.fromCharCode(null==i.charCode?i.keyCode:i.charCode),i.ctrlKey||i.metaKey||" ">n||!s||s.indexOf(n)>-1):e},_doKeyUp:function(e){var i,s=t.datepicker._getInst(e.target);if(s.input.val()!==s.lastVal)try{i=t.datepicker.parseDate(t.datepicker._get(s,"dateFormat"),s.input?s.input.val():null,t.datepicker._getFormatConfig(s)),i&&(t.datepicker._setDateFromField(s),t.datepicker._updateAlternate(s),t.datepicker._updateDatepicker(s))}catch(n){}return!0},_showDatepicker:function(e){if(e=e.target||e,"input"!==e.nodeName.toLowerCase()&&(e=t("input",e.parentNode)[0]),!t.datepicker._isDisabledDatepicker(e)&&t.datepicker._lastInput!==e){var i,s,o,a,r,h,l;i=t.datepicker._getInst(e),t.datepicker._curInst&&t.datepicker._curInst!==i&&(t.datepicker._curInst.dpDiv.stop(!0,!0),i&&t.datepicker._datepickerShowing&&t.datepicker._hideDatepicker(t.datepicker._curInst.input[0])),s=t.datepicker._get(i,"beforeShow"),o=s?s.apply(e,[e,i]):{},o!==!1&&(n(i.settings,o),i.lastVal=null,t.datepicker._lastInput=e,t.datepicker._setDateFromField(i),t.datepicker._inDialog&&(e.value=""),t.datepicker._pos||(t.datepicker._pos=t.datepicker._findPos(e),t.datepicker._pos[1]+=e.offsetHeight),a=!1,t(e).parents().each(function(){return a|="fixed"===t(this).css("position"),!a}),r={left:t.datepicker._pos[0],top:t.datepicker._pos[1]},t.datepicker._pos=null,i.dpDiv.empty(),i.dpDiv.css({position:"absolute",display:"block",top:"-1000px"}),t.datepicker._updateDatepicker(i),r=t.datepicker._checkOffset(i,r,a),i.dpDiv.css({position:t.datepicker._inDialog&&t.blockUI?"static":a?"fixed":"absolute",display:"none",left:r.left+"px",top:r.top+"px"}),i.inline||(h=t.datepicker._get(i,"showAnim"),l=t.datepicker._get(i,"duration"),i.dpDiv.zIndex(t(e).zIndex()+1),t.datepicker._datepickerShowing=!0,t.effects&&t.effects.effect[h]?i.dpDiv.show(h,t.datepicker._get(i,"showOptions"),l):i.dpDiv[h||"show"](h?l:null),i.input.is(":visible")&&!i.input.is(":disabled")&&i.input.focus(),t.datepicker._curInst=i))}},_updateDatepicker:function(e){this.maxRows=4,o=e,e.dpDiv.empty().append(this._generateHTML(e)),this._attachHandlers(e),e.dpDiv.find("."+this._dayOverClass+" a").mouseover();var i,s=this._getNumberOfMonths(e),n=s[1],a=17;e.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width(""),n>1&&e.dpDiv.addClass("ui-datepicker-multi-"+n).css("width",a*n+"em"),e.dpDiv[(1!==s[0]||1!==s[1]?"add":"remove")+"Class"]("ui-datepicker-multi"),e.dpDiv[(this._get(e,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"),e===t.datepicker._curInst&&t.datepicker._datepickerShowing&&e.input&&e.input.is(":visible")&&!e.input.is(":disabled")&&e.input[0]!==document.activeElement&&e.input.focus(),e.yearshtml&&(i=e.yearshtml,setTimeout(function(){i===e.yearshtml&&e.yearshtml&&e.dpDiv.find("select.ui-datepicker-year:first").replaceWith(e.yearshtml),i=e.yearshtml=null},0))},_getBorders:function(t){var e=function(t){return{thin:1,medium:2,thick:3}[t]||t};return[parseFloat(e(t.css("border-left-width"))),parseFloat(e(t.css("border-top-width")))]},_checkOffset:function(e,i,s){var n=e.dpDiv.outerWidth(),o=e.dpDiv.outerHeight(),a=e.input?e.input.outerWidth():0,r=e.input?e.input.outerHeight():0,h=document.documentElement.clientWidth+(s?0:t(document).scrollLeft()),l=document.documentElement.clientHeight+(s?0:t(document).scrollTop());return i.left-=this._get(e,"isRTL")?n-a:0,i.left-=s&&i.left===e.input.offset().left?t(document).scrollLeft():0,i.top-=s&&i.top===e.input.offset().top+r?t(document).scrollTop():0,i.left-=Math.min(i.left,i.left+n>h&&h>n?Math.abs(i.left+n-h):0),i.top-=Math.min(i.top,i.top+o>l&&l>o?Math.abs(o+r):0),i},_findPos:function(e){for(var i,s=this._getInst(e),n=this._get(s,"isRTL");e&&("hidden"===e.type||1!==e.nodeType||t.expr.filters.hidden(e));)e=e[n?"previousSibling":"nextSibling"];return i=t(e).offset(),[i.left,i.top]},_hideDatepicker:function(e){var i,s,n,o,r=this._curInst;!r||e&&r!==t.data(e,a)||this._datepickerShowing&&(i=this._get(r,"showAnim"),s=this._get(r,"duration"),n=function(){t.datepicker._tidyDialog(r)},t.effects&&(t.effects.effect[i]||t.effects[i])?r.dpDiv.hide(i,t.datepicker._get(r,"showOptions"),s,n):r.dpDiv["slideDown"===i?"slideUp":"fadeIn"===i?"fadeOut":"hide"](i?s:null,n),i||n(),this._datepickerShowing=!1,o=this._get(r,"onClose"),o&&o.apply(r.input?r.input[0]:null,[r.input?r.input.val():"",r]),this._lastInput=null,this._inDialog&&(this._dialogInput.css({position:"absolute",left:"0",top:"-100px"}),t.blockUI&&(t.unblockUI(),t("body").append(this.dpDiv))),this._inDialog=!1)},_tidyDialog:function(t){t.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(e){if(t.datepicker._curInst){var i=t(e.target),s=t.datepicker._getInst(i[0]);(i[0].id!==t.datepicker._mainDivId&&0===i.parents("#"+t.datepicker._mainDivId).length&&!i.hasClass(t.datepicker.markerClassName)&&!i.closest("."+t.datepicker._triggerClass).length&&t.datepicker._datepickerShowing&&(!t.datepicker._inDialog||!t.blockUI)||i.hasClass(t.datepicker.markerClassName)&&t.datepicker._curInst!==s)&&t.datepicker._hideDatepicker()}},_adjustDate:function(e,i,s){var n=t(e),o=this._getInst(n[0]);this._isDisabledDatepicker(n[0])||(this._adjustInstDate(o,i+("M"===s?this._get(o,"showCurrentAtPos"):0),s),this._updateDatepicker(o))},_gotoToday:function(e){var i,s=t(e),n=this._getInst(s[0]);this._get(n,"gotoCurrent")&&n.currentDay?(n.selectedDay=n.currentDay,n.drawMonth=n.selectedMonth=n.currentMonth,n.drawYear=n.selectedYear=n.currentYear):(i=new Date,n.selectedDay=i.getDate(),n.drawMonth=n.selectedMonth=i.getMonth(),n.drawYear=n.selectedYear=i.getFullYear()),this._notifyChange(n),this._adjustDate(s)},_selectMonthYear:function(e,i,s){var n=t(e),o=this._getInst(n[0]);o["selected"+("M"===s?"Month":"Year")]=o["draw"+("M"===s?"Month":"Year")]=parseInt(i.options[i.selectedIndex].value,10),this._notifyChange(o),this._adjustDate(n)},_selectDay:function(e,i,s,n){var o,a=t(e);t(n).hasClass(this._unselectableClass)||this._isDisabledDatepicker(a[0])||(o=this._getInst(a[0]),o.selectedDay=o.currentDay=t("a",n).html(),o.selectedMonth=o.currentMonth=i,o.selectedYear=o.currentYear=s,this._selectDate(e,this._formatDate(o,o.currentDay,o.currentMonth,o.currentYear)))},_clearDate:function(e){var i=t(e);this._selectDate(i,"")},_selectDate:function(e,i){var s,n=t(e),o=this._getInst(n[0]);i=null!=i?i:this._formatDate(o),o.input&&o.input.val(i),this._updateAlternate(o),s=this._get(o,"onSelect"),s?s.apply(o.input?o.input[0]:null,[i,o]):o.input&&o.input.trigger("change"),o.inline?this._updateDatepicker(o):(this._hideDatepicker(),this._lastInput=o.input[0],"object"!=typeof o.input[0]&&o.input.focus(),this._lastInput=null)},_updateAlternate:function(e){var i,s,n,o=this._get(e,"altField");o&&(i=this._get(e,"altFormat")||this._get(e,"dateFormat"),s=this._getDate(e),n=this.formatDate(i,s,this._getFormatConfig(e)),t(o).each(function(){t(this).val(n)}))},noWeekends:function(t){var e=t.getDay();return[e>0&&6>e,""]},iso8601Week:function(t){var e,i=new Date(t.getTime());return i.setDate(i.getDate()+4-(i.getDay()||7)),e=i.getTime(),i.setMonth(0),i.setDate(1),Math.floor(Math.round((e-i)/864e5)/7)+1},parseDate:function(i,s,n){if(null==i||null==s)throw"Invalid arguments";if(s="object"==typeof s?""+s:s+"",""===s)return null;var o,a,r,h,l=0,c=(n?n.shortYearCutoff:null)||this._defaults.shortYearCutoff,u="string"!=typeof c?c:(new Date).getFullYear()%100+parseInt(c,10),d=(n?n.dayNamesShort:null)||this._defaults.dayNamesShort,p=(n?n.dayNames:null)||this._defaults.dayNames,f=(n?n.monthNamesShort:null)||this._defaults.monthNamesShort,g=(n?n.monthNames:null)||this._defaults.monthNames,m=-1,v=-1,_=-1,b=-1,y=!1,w=function(t){var e=i.length>o+1&&i.charAt(o+1)===t;return e&&o++,e},k=function(t){var e=w(t),i="@"===t?14:"!"===t?20:"y"===t&&e?4:"o"===t?3:2,n=RegExp("^\\d{1,"+i+"}"),o=s.substring(l).match(n);if(!o)throw"Missing number at position "+l;return l+=o[0].length,parseInt(o[0],10)},x=function(i,n,o){var a=-1,r=t.map(w(i)?o:n,function(t,e){return[[e,t]]}).sort(function(t,e){return-(t[1].length-e[1].length)});if(t.each(r,function(t,i){var n=i[1];return s.substr(l,n.length).toLowerCase()===n.toLowerCase()?(a=i[0],l+=n.length,!1):e}),-1!==a)return a+1;throw"Unknown name at position "+l},D=function(){if(s.charAt(l)!==i.charAt(o))throw"Unexpected literal at position "+l;l++};for(o=0;i.length>o;o++)if(y)"'"!==i.charAt(o)||w("'")?D():y=!1;else switch(i.charAt(o)){case"d":_=k("d");break;case"D":x("D",d,p);break;case"o":b=k("o");break;case"m":v=k("m");break;case"M":v=x("M",f,g);break;case"y":m=k("y");break;case"@":h=new Date(k("@")),m=h.getFullYear(),v=h.getMonth()+1,_=h.getDate();break;case"!":h=new Date((k("!")-this._ticksTo1970)/1e4),m=h.getFullYear(),v=h.getMonth()+1,_=h.getDate();break;case"'":w("'")?D():y=!0;break;default:D()}if(s.length>l&&(r=s.substr(l),!/^\s+/.test(r)))throw"Extra/unparsed characters found in date: "+r;if(-1===m?m=(new Date).getFullYear():100>m&&(m+=(new Date).getFullYear()-(new Date).getFullYear()%100+(u>=m?0:-100)),b>-1)for(v=1,_=b;;){if(a=this._getDaysInMonth(m,v-1),a>=_)break;v++,_-=a}if(h=this._daylightSavingAdjust(new Date(m,v-1,_)),h.getFullYear()!==m||h.getMonth()+1!==v||h.getDate()!==_)throw"Invalid date";return h},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:1e7*60*60*24*(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925)),formatDate:function(t,e,i){if(!e)return"";var s,n=(i?i.dayNamesShort:null)||this._defaults.dayNamesShort,o=(i?i.dayNames:null)||this._defaults.dayNames,a=(i?i.monthNamesShort:null)||this._defaults.monthNamesShort,r=(i?i.monthNames:null)||this._defaults.monthNames,h=function(e){var i=t.length>s+1&&t.charAt(s+1)===e;return i&&s++,i},l=function(t,e,i){var s=""+e;if(h(t))for(;i>s.length;)s="0"+s;return s},c=function(t,e,i,s){return h(t)?s[e]:i[e]},u="",d=!1;if(e)for(s=0;t.length>s;s++)if(d)"'"!==t.charAt(s)||h("'")?u+=t.charAt(s):d=!1;else switch(t.charAt(s)){case"d":u+=l("d",e.getDate(),2);break;case"D":u+=c("D",e.getDay(),n,o);break;case"o":u+=l("o",Math.round((new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime()-new Date(e.getFullYear(),0,0).getTime())/864e5),3);break;case"m":u+=l("m",e.getMonth()+1,2);break;case"M":u+=c("M",e.getMonth(),a,r);break;case"y":u+=h("y")?e.getFullYear():(10>e.getYear()%100?"0":"")+e.getYear()%100;break;case"@":u+=e.getTime();break;case"!":u+=1e4*e.getTime()+this._ticksTo1970;break;case"'":h("'")?u+="'":d=!0;break;default:u+=t.charAt(s)}return u},_possibleChars:function(t){var e,i="",s=!1,n=function(i){var s=t.length>e+1&&t.charAt(e+1)===i;return s&&e++,s};for(e=0;t.length>e;e++)if(s)"'"!==t.charAt(e)||n("'")?i+=t.charAt(e):s=!1;else switch(t.charAt(e)){case"d":case"m":case"y":case"@":i+="0123456789";break;case"D":case"M":return null;case"'":n("'")?i+="'":s=!0;break;default:i+=t.charAt(e)}return i},_get:function(t,i){return t.settings[i]!==e?t.settings[i]:this._defaults[i]},_setDateFromField:function(t,e){if(t.input.val()!==t.lastVal){var i=this._get(t,"dateFormat"),s=t.lastVal=t.input?t.input.val():null,n=this._getDefaultDate(t),o=n,a=this._getFormatConfig(t);try{o=this.parseDate(i,s,a)||n}catch(r){s=e?"":s}t.selectedDay=o.getDate(),t.drawMonth=t.selectedMonth=o.getMonth(),t.drawYear=t.selectedYear=o.getFullYear(),t.currentDay=s?o.getDate():0,t.currentMonth=s?o.getMonth():0,t.currentYear=s?o.getFullYear():0,this._adjustInstDate(t)}},_getDefaultDate:function(t){return this._restrictMinMax(t,this._determineDate(t,this._get(t,"defaultDate"),new Date))},_determineDate:function(e,i,s){var n=function(t){var e=new Date;return e.setDate(e.getDate()+t),e},o=function(i){try{return t.datepicker.parseDate(t.datepicker._get(e,"dateFormat"),i,t.datepicker._getFormatConfig(e))}catch(s){}for(var n=(i.toLowerCase().match(/^c/)?t.datepicker._getDate(e):null)||new Date,o=n.getFullYear(),a=n.getMonth(),r=n.getDate(),h=/([+\-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,l=h.exec(i);l;){switch(l[2]||"d"){case"d":case"D":r+=parseInt(l[1],10);break;case"w":case"W":r+=7*parseInt(l[1],10);break;case"m":case"M":a+=parseInt(l[1],10),r=Math.min(r,t.datepicker._getDaysInMonth(o,a));break;case"y":case"Y":o+=parseInt(l[1],10),r=Math.min(r,t.datepicker._getDaysInMonth(o,a))}l=h.exec(i)}return new Date(o,a,r)},a=null==i||""===i?s:"string"==typeof i?o(i):"number"==typeof i?isNaN(i)?s:n(i):new Date(i.getTime());return a=a&&"Invalid Date"==""+a?s:a,a&&(a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)),this._daylightSavingAdjust(a)},_daylightSavingAdjust:function(t){return t?(t.setHours(t.getHours()>12?t.getHours()+2:0),t):null},_setDate:function(t,e,i){var s=!e,n=t.selectedMonth,o=t.selectedYear,a=this._restrictMinMax(t,this._determineDate(t,e,new Date));t.selectedDay=t.currentDay=a.getDate(),t.drawMonth=t.selectedMonth=t.currentMonth=a.getMonth(),t.drawYear=t.selectedYear=t.currentYear=a.getFullYear(),n===t.selectedMonth&&o===t.selectedYear||i||this._notifyChange(t),this._adjustInstDate(t),t.input&&t.input.val(s?"":this._formatDate(t))},_getDate:function(t){var e=!t.currentYear||t.input&&""===t.input.val()?null:this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return e},_attachHandlers:function(e){var i=this._get(e,"stepMonths"),s="#"+e.id.replace(/\\\\/g,"\\");e.dpDiv.find("[data-handler]").map(function(){var e={prev:function(){window["DP_jQuery_"+r].datepicker._adjustDate(s,-i,"M")},next:function(){window["DP_jQuery_"+r].datepicker._adjustDate(s,+i,"M")},hide:function(){window["DP_jQuery_"+r].datepicker._hideDatepicker()},today:function(){window["DP_jQuery_"+r].datepicker._gotoToday(s)},selectDay:function(){return window["DP_jQuery_"+r].datepicker._selectDay(s,+this.getAttribute("data-month"),+this.getAttribute("data-year"),this),!1},selectMonth:function(){return window["DP_jQuery_"+r].datepicker._selectMonthYear(s,this,"M"),!1},selectYear:function(){return window["DP_jQuery_"+r].datepicker._selectMonthYear(s,this,"Y"),!1}};t(this).bind(this.getAttribute("data-event"),e[this.getAttribute("data-handler")])})},_generateHTML:function(t){var e,i,s,n,o,a,r,h,l,c,u,d,p,f,g,m,v,_,b,y,w,k,x,D,C,I,P,T,M,S,z,A,H,N,E,W,O,F,R,j=new Date,L=this._daylightSavingAdjust(new Date(j.getFullYear(),j.getMonth(),j.getDate())),Y=this._get(t,"isRTL"),B=this._get(t,"showButtonPanel"),V=this._get(t,"hideIfNoPrevNext"),K=this._get(t,"navigationAsDateFormat"),U=this._getNumberOfMonths(t),q=this._get(t,"showCurrentAtPos"),Q=this._get(t,"stepMonths"),X=1!==U[0]||1!==U[1],$=this._daylightSavingAdjust(t.currentDay?new Date(t.currentYear,t.currentMonth,t.currentDay):new Date(9999,9,9)),G=this._getMinMaxDate(t,"min"),J=this._getMinMaxDate(t,"max"),Z=t.drawMonth-q,te=t.drawYear;if(0>Z&&(Z+=12,te--),J)for(e=this._daylightSavingAdjust(new Date(J.getFullYear(),J.getMonth()-U[0]*U[1]+1,J.getDate())),e=G&&G>e?G:e;this._daylightSavingAdjust(new Date(te,Z,1))>e;)Z--,0>Z&&(Z=11,te--);for(t.drawMonth=Z,t.drawYear=te,i=this._get(t,"prevText"),i=K?this.formatDate(i,this._daylightSavingAdjust(new Date(te,Z-Q,1)),this._getFormatConfig(t)):i,s=this._canAdjustMonth(t,-1,te,Z)?"<a class='ui-datepicker-prev ui-corner-all' data-handler='prev' data-event='click' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"e":"w")+"'>"+i+"</span></a>":V?"":"<a class='ui-datepicker-prev ui-corner-all ui-state-disabled' title='"+i+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"e":"w")+"'>"+i+"</span></a>",n=this._get(t,"nextText"),n=K?this.formatDate(n,this._daylightSavingAdjust(new Date(te,Z+Q,1)),this._getFormatConfig(t)):n,o=this._canAdjustMonth(t,1,te,Z)?"<a class='ui-datepicker-next ui-corner-all' data-handler='next' data-event='click' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"w":"e")+"'>"+n+"</span></a>":V?"":"<a class='ui-datepicker-next ui-corner-all ui-state-disabled' title='"+n+"'><span class='ui-icon ui-icon-circle-triangle-"+(Y?"w":"e")+"'>"+n+"</span></a>",a=this._get(t,"currentText"),r=this._get(t,"gotoCurrent")&&t.currentDay?$:L,a=K?this.formatDate(a,r,this._getFormatConfig(t)):a,h=t.inline?"":"<button type='button' class='ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all' data-handler='hide' data-event='click'>"+this._get(t,"closeText")+"</button>",l=B?"<div class='ui-datepicker-buttonpane ui-widget-content'>"+(Y?h:"")+(this._isInRange(t,r)?"<button type='button' class='ui-datepicker-current ui-state-default ui-priority-secondary ui-corner-all' data-handler='today' data-event='click'>"+a+"</button>":"")+(Y?"":h)+"</div>":"",c=parseInt(this._get(t,"firstDay"),10),c=isNaN(c)?0:c,u=this._get(t,"showWeek"),d=this._get(t,"dayNames"),p=this._get(t,"dayNamesMin"),f=this._get(t,"monthNames"),g=this._get(t,"monthNamesShort"),m=this._get(t,"beforeShowDay"),v=this._get(t,"showOtherMonths"),_=this._get(t,"selectOtherMonths"),b=this._getDefaultDate(t),y="",k=0;U[0]>k;k++){for(x="",this.maxRows=4,D=0;U[1]>D;D++){if(C=this._daylightSavingAdjust(new Date(te,Z,t.selectedDay)),I=" ui-corner-all",P="",X){if(P+="<div class='ui-datepicker-group",U[1]>1)switch(D){case 0:P+=" ui-datepicker-group-first",I=" ui-corner-"+(Y?"right":"left");break;case U[1]-1:P+=" ui-datepicker-group-last",I=" ui-corner-"+(Y?"left":"right");break;default:P+=" ui-datepicker-group-middle",I=""}P+="'>"}for(P+="<div class='ui-datepicker-header ui-widget-header ui-helper-clearfix"+I+"'>"+(/all|left/.test(I)&&0===k?Y?o:s:"")+(/all|right/.test(I)&&0===k?Y?s:o:"")+this._generateMonthYearHeader(t,Z,te,G,J,k>0||D>0,f,g)+"</div><table class='ui-datepicker-calendar'><thead>"+"<tr>",T=u?"<th class='ui-datepicker-week-col'>"+this._get(t,"weekHeader")+"</th>":"",w=0;7>w;w++)M=(w+c)%7,T+="<th"+((w+c+6)%7>=5?" class='ui-datepicker-week-end'":"")+">"+"<span title='"+d[M]+"'>"+p[M]+"</span></th>";for(P+=T+"</tr></thead><tbody>",S=this._getDaysInMonth(te,Z),te===t.selectedYear&&Z===t.selectedMonth&&(t.selectedDay=Math.min(t.selectedDay,S)),z=(this._getFirstDayOfMonth(te,Z)-c+7)%7,A=Math.ceil((z+S)/7),H=X?this.maxRows>A?this.maxRows:A:A,this.maxRows=H,N=this._daylightSavingAdjust(new Date(te,Z,1-z)),E=0;H>E;E++){for(P+="<tr>",W=u?"<td class='ui-datepicker-week-col'>"+this._get(t,"calculateWeek")(N)+"</td>":"",w=0;7>w;w++)O=m?m.apply(t.input?t.input[0]:null,[N]):[!0,""],F=N.getMonth()!==Z,R=F&&!_||!O[0]||G&&G>N||J&&N>J,W+="<td class='"+((w+c+6)%7>=5?" ui-datepicker-week-end":"")+(F?" ui-datepicker-other-month":"")+(N.getTime()===C.getTime()&&Z===t.selectedMonth&&t._keyEvent||b.getTime()===N.getTime()&&b.getTime()===C.getTime()?" "+this._dayOverClass:"")+(R?" "+this._unselectableClass+" ui-state-disabled":"")+(F&&!v?"":" "+O[1]+(N.getTime()===$.getTime()?" "+this._currentClass:"")+(N.getTime()===L.getTime()?" ui-datepicker-today":""))+"'"+(F&&!v||!O[2]?"":" title='"+O[2].replace(/'/g,"&#39;")+"'")+(R?"":" data-handler='selectDay' data-event='click' data-month='"+N.getMonth()+"' data-year='"+N.getFullYear()+"'")+">"+(F&&!v?"&#xa0;":R?"<span class='ui-state-default'>"+N.getDate()+"</span>":"<a class='ui-state-default"+(N.getTime()===L.getTime()?" ui-state-highlight":"")+(N.getTime()===$.getTime()?" ui-state-active":"")+(F?" ui-priority-secondary":"")+"' href='#'>"+N.getDate()+"</a>")+"</td>",N.setDate(N.getDate()+1),N=this._daylightSavingAdjust(N);P+=W+"</tr>"}Z++,Z>11&&(Z=0,te++),P+="</tbody></table>"+(X?"</div>"+(U[0]>0&&D===U[1]-1?"<div class='ui-datepicker-row-break'></div>":""):""),x+=P}y+=x}return y+=l,t._keyEvent=!1,y},_generateMonthYearHeader:function(t,e,i,s,n,o,a,r){var h,l,c,u,d,p,f,g,m=this._get(t,"changeMonth"),v=this._get(t,"changeYear"),_=this._get(t,"showMonthAfterYear"),b="<div class='ui-datepicker-title'>",y="";if(o||!m)y+="<span class='ui-datepicker-month'>"+a[e]+"</span>";else{for(h=s&&s.getFullYear()===i,l=n&&n.getFullYear()===i,y+="<select class='ui-datepicker-month' data-handler='selectMonth' data-event='change'>",c=0;12>c;c++)(!h||c>=s.getMonth())&&(!l||n.getMonth()>=c)&&(y+="<option value='"+c+"'"+(c===e?" selected='selected'":"")+">"+r[c]+"</option>");y+="</select>"}if(_||(b+=y+(!o&&m&&v?"":"&#xa0;")),!t.yearshtml)if(t.yearshtml="",o||!v)b+="<span class='ui-datepicker-year'>"+i+"</span>";else{for(u=this._get(t,"yearRange").split(":"),d=(new Date).getFullYear(),p=function(t){var e=t.match(/c[+\-].*/)?i+parseInt(t.substring(1),10):t.match(/[+\-].*/)?d+parseInt(t,10):parseInt(t,10);return isNaN(e)?d:e},f=p(u[0]),g=Math.max(f,p(u[1]||"")),f=s?Math.max(f,s.getFullYear()):f,g=n?Math.min(g,n.getFullYear()):g,t.yearshtml+="<select class='ui-datepicker-year' data-handler='selectYear' data-event='change'>";g>=f;f++)t.yearshtml+="<option value='"+f+"'"+(f===i?" selected='selected'":"")+">"+f+"</option>";t.yearshtml+="</select>",b+=t.yearshtml,t.yearshtml=null}return b+=this._get(t,"yearSuffix"),_&&(b+=(!o&&m&&v?"":"&#xa0;")+y),b+="</div>"},_adjustInstDate:function(t,e,i){var s=t.drawYear+("Y"===i?e:0),n=t.drawMonth+("M"===i?e:0),o=Math.min(t.selectedDay,this._getDaysInMonth(s,n))+("D"===i?e:0),a=this._restrictMinMax(t,this._daylightSavingAdjust(new Date(s,n,o)));t.selectedDay=a.getDate(),t.drawMonth=t.selectedMonth=a.getMonth(),t.drawYear=t.selectedYear=a.getFullYear(),("M"===i||"Y"===i)&&this._notifyChange(t)},_restrictMinMax:function(t,e){var i=this._getMinMaxDate(t,"min"),s=this._getMinMaxDate(t,"max"),n=i&&i>e?i:e;return s&&n>s?s:n},_notifyChange:function(t){var e=this._get(t,"onChangeMonthYear");e&&e.apply(t.input?t.input[0]:null,[t.selectedYear,t.selectedMonth+1,t])},_getNumberOfMonths:function(t){var e=this._get(t,"numberOfMonths");return null==e?[1,1]:"number"==typeof e?[1,e]:e},_getMinMaxDate:function(t,e){return this._determineDate(t,this._get(t,e+"Date"),null)},_getDaysInMonth:function(t,e){return 32-this._daylightSavingAdjust(new Date(t,e,32)).getDate()},_getFirstDayOfMonth:function(t,e){return new Date(t,e,1).getDay()},_canAdjustMonth:function(t,e,i,s){var n=this._getNumberOfMonths(t),o=this._daylightSavingAdjust(new Date(i,s+(0>e?e:n[0]*n[1]),1));return 0>e&&o.setDate(this._getDaysInMonth(o.getFullYear(),o.getMonth())),this._isInRange(t,o)},_isInRange:function(t,e){var i,s,n=this._getMinMaxDate(t,"min"),o=this._getMinMaxDate(t,"max"),a=null,r=null,h=this._get(t,"yearRange");return h&&(i=h.split(":"),s=(new Date).getFullYear(),a=parseInt(i[0],10),r=parseInt(i[1],10),i[0].match(/[+\-].*/)&&(a+=s),i[1].match(/[+\-].*/)&&(r+=s)),(!n||e.getTime()>=n.getTime())&&(!o||e.getTime()<=o.getTime())&&(!a||e.getFullYear()>=a)&&(!r||r>=e.getFullYear())},_getFormatConfig:function(t){var e=this._get(t,"shortYearCutoff");return e="string"!=typeof e?e:(new Date).getFullYear()%100+parseInt(e,10),{shortYearCutoff:e,dayNamesShort:this._get(t,"dayNamesShort"),dayNames:this._get(t,"dayNames"),monthNamesShort:this._get(t,"monthNamesShort"),monthNames:this._get(t,"monthNames")}},_formatDate:function(t,e,i,s){e||(t.currentDay=t.selectedDay,t.currentMonth=t.selectedMonth,t.currentYear=t.selectedYear);var n=e?"object"==typeof e?e:this._daylightSavingAdjust(new Date(s,i,e)):this._daylightSavingAdjust(new Date(t.currentYear,t.currentMonth,t.currentDay));return this.formatDate(this._get(t,"dateFormat"),n,this._getFormatConfig(t))}}),t.fn.datepicker=function(e){if(!this.length)return this;t.datepicker.initialized||(t(document).mousedown(t.datepicker._checkExternalClick),t.datepicker.initialized=!0),0===t("#"+t.datepicker._mainDivId).length&&t("body").append(t.datepicker.dpDiv);var i=Array.prototype.slice.call(arguments,1);return"string"!=typeof e||"isDisabled"!==e&&"getDate"!==e&&"widget"!==e?"option"===e&&2===arguments.length&&"string"==typeof arguments[1]?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i)):this.each(function(){"string"==typeof e?t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this].concat(i)):t.datepicker._attachDatepicker(this,e)}):t.datepicker["_"+e+"Datepicker"].apply(t.datepicker,[this[0]].concat(i))},t.datepicker=new i,t.datepicker.initialized=!1,t.datepicker.uuid=(new Date).getTime(),t.datepicker.version="1.10.2",window["DP_jQuery_"+r]=t}(jQuery),function(t){var e={buttons:!0,height:!0,maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0,width:!0},i={maxHeight:!0,maxWidth:!0,minHeight:!0,minWidth:!0};t.widget("ui.dialog",{version:"1.10.2",options:{appendTo:"body",autoOpen:!0,buttons:[],closeOnEscape:!0,closeText:"close",dialogClass:"",draggable:!0,hide:null,height:"auto",maxHeight:null,maxWidth:null,minHeight:150,minWidth:150,modal:!1,position:{my:"center",at:"center",of:window,collision:"fit",using:function(e){var i=t(this).css(e).offset().top;0>i&&t(this).css("top",e.top-i)}},resizable:!0,show:null,title:null,width:300,beforeClose:null,close:null,drag:null,dragStart:null,dragStop:null,focus:null,open:null,resize:null,resizeStart:null,resizeStop:null},_create:function(){this.originalCss={display:this.element[0].style.display,width:this.element[0].style.width,minHeight:this.element[0].style.minHeight,maxHeight:this.element[0].style.maxHeight,height:this.element[0].style.height},this.originalPosition={parent:this.element.parent(),index:this.element.parent().children().index(this.element)},this.originalTitle=this.element.attr("title"),this.options.title=this.options.title||this.originalTitle,this._createWrapper(),this.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(this.uiDialog),this._createTitlebar(),this._createButtonPane(),this.options.draggable&&t.fn.draggable&&this._makeDraggable(),this.options.resizable&&t.fn.resizable&&this._makeResizable(),this._isOpen=!1},_init:function(){this.options.autoOpen&&this.open()},_appendTo:function(){var e=this.options.appendTo;return e&&(e.jquery||e.nodeType)?t(e):this.document.find(e||"body").eq(0)},_destroy:function(){var t,e=this.originalPosition;this._destroyOverlay(),this.element.removeUniqueId().removeClass("ui-dialog-content ui-widget-content").css(this.originalCss).detach(),this.uiDialog.stop(!0,!0).remove(),this.originalTitle&&this.element.attr("title",this.originalTitle),t=e.parent.children().eq(e.index),t.length&&t[0]!==this.element[0]?t.before(this.element):e.parent.append(this.element)},widget:function(){return this.uiDialog},disable:t.noop,enable:t.noop,close:function(e){var i=this;this._isOpen&&this._trigger("beforeClose",e)!==!1&&(this._isOpen=!1,this._destroyOverlay(),this.opener.filter(":focusable").focus().length||t(this.document[0].activeElement).blur(),this._hide(this.uiDialog,this.options.hide,function(){i._trigger("close",e)}))},isOpen:function(){return this._isOpen},moveToTop:function(){this._moveToTop()},_moveToTop:function(t,e){var i=!!this.uiDialog.nextAll(":visible").insertBefore(this.uiDialog).length;return i&&!e&&this._trigger("focus",t),i},open:function(){var e=this;return this._isOpen?(this._moveToTop()&&this._focusTabbable(),undefined):(this._isOpen=!0,this.opener=t(this.document[0].activeElement),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this._show(this.uiDialog,this.options.show,function(){e._focusTabbable(),e._trigger("focus")}),this._trigger("open"),undefined)},_focusTabbable:function(){var t=this.element.find("[autofocus]");t.length||(t=this.element.find(":tabbable")),t.length||(t=this.uiDialogButtonPane.find(":tabbable")),t.length||(t=this.uiDialogTitlebarClose.filter(":tabbable")),t.length||(t=this.uiDialog),t.eq(0).focus()},_keepFocus:function(e){function i(){var e=this.document[0].activeElement,i=this.uiDialog[0]===e||t.contains(this.uiDialog[0],e);i||this._focusTabbable()}e.preventDefault(),i.call(this),this._delay(i)},_createWrapper:function(){this.uiDialog=t("<div>").addClass("ui-dialog ui-widget ui-widget-content ui-corner-all ui-front "+this.options.dialogClass).hide().attr({tabIndex:-1,role:"dialog"}).appendTo(this._appendTo()),this._on(this.uiDialog,{keydown:function(e){if(this.options.closeOnEscape&&!e.isDefaultPrevented()&&e.keyCode&&e.keyCode===t.ui.keyCode.ESCAPE)return e.preventDefault(),this.close(e),undefined;if(e.keyCode===t.ui.keyCode.TAB){var i=this.uiDialog.find(":tabbable"),s=i.filter(":first"),n=i.filter(":last");e.target!==n[0]&&e.target!==this.uiDialog[0]||e.shiftKey?e.target!==s[0]&&e.target!==this.uiDialog[0]||!e.shiftKey||(n.focus(1),e.preventDefault()):(s.focus(1),e.preventDefault())}},mousedown:function(t){this._moveToTop(t)&&this._focusTabbable()}}),this.element.find("[aria-describedby]").length||this.uiDialog.attr({"aria-describedby":this.element.uniqueId().attr("id")})},_createTitlebar:function(){var e;this.uiDialogTitlebar=t("<div>").addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(this.uiDialog),this._on(this.uiDialogTitlebar,{mousedown:function(e){t(e.target).closest(".ui-dialog-titlebar-close")||this.uiDialog.focus()}}),this.uiDialogTitlebarClose=t("<button></button>").button({label:this.options.closeText,icons:{primary:"ui-icon-closethick"},text:!1}).addClass("ui-dialog-titlebar-close").appendTo(this.uiDialogTitlebar),this._on(this.uiDialogTitlebarClose,{click:function(t){t.preventDefault(),this.close(t)}}),e=t("<span>").uniqueId().addClass("ui-dialog-title").prependTo(this.uiDialogTitlebar),this._title(e),this.uiDialog.attr({"aria-labelledby":e.attr("id")})},_title:function(t){this.options.title||t.html("&#160;"),t.text(this.options.title)},_createButtonPane:function(){this.uiDialogButtonPane=t("<div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),this.uiButtonSet=t("<div>").addClass("ui-dialog-buttonset").appendTo(this.uiDialogButtonPane),this._createButtons()},_createButtons:function(){var e=this,i=this.options.buttons;return this.uiDialogButtonPane.remove(),this.uiButtonSet.empty(),t.isEmptyObject(i)||t.isArray(i)&&!i.length?(this.uiDialog.removeClass("ui-dialog-buttons"),undefined):(t.each(i,function(i,s){var n,o;s=t.isFunction(s)?{click:s,text:i}:s,s=t.extend({type:"button"},s),n=s.click,s.click=function(){n.apply(e.element[0],arguments)},o={icons:s.icons,text:s.showText},delete s.icons,delete s.showText,t("<button></button>",s).button(o).appendTo(e.uiButtonSet)}),this.uiDialog.addClass("ui-dialog-buttons"),this.uiDialogButtonPane.appendTo(this.uiDialog),undefined)},_makeDraggable:function(){function e(t){return{position:t.position,offset:t.offset}}var i=this,s=this.options;this.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(s,n){t(this).addClass("ui-dialog-dragging"),i._blockFrames(),i._trigger("dragStart",s,e(n))},drag:function(t,s){i._trigger("drag",t,e(s))},stop:function(n,o){s.position=[o.position.left-i.document.scrollLeft(),o.position.top-i.document.scrollTop()],t(this).removeClass("ui-dialog-dragging"),i._unblockFrames(),i._trigger("dragStop",n,e(o))
10
+ }})},_makeResizable:function(){function e(t){return{originalPosition:t.originalPosition,originalSize:t.originalSize,position:t.position,size:t.size}}var i=this,s=this.options,n=s.resizable,o=this.uiDialog.css("position"),a="string"==typeof n?n:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:this.element,maxWidth:s.maxWidth,maxHeight:s.maxHeight,minWidth:s.minWidth,minHeight:this._minHeight(),handles:a,start:function(s,n){t(this).addClass("ui-dialog-resizing"),i._blockFrames(),i._trigger("resizeStart",s,e(n))},resize:function(t,s){i._trigger("resize",t,e(s))},stop:function(n,o){s.height=t(this).height(),s.width=t(this).width(),t(this).removeClass("ui-dialog-resizing"),i._unblockFrames(),i._trigger("resizeStop",n,e(o))}}).css("position",o)},_minHeight:function(){var t=this.options;return"auto"===t.height?t.minHeight:Math.min(t.minHeight,t.height)},_position:function(){var t=this.uiDialog.is(":visible");t||this.uiDialog.show(),this.uiDialog.position(this.options.position),t||this.uiDialog.hide()},_setOptions:function(s){var n=this,o=!1,a={};t.each(s,function(t,s){n._setOption(t,s),t in e&&(o=!0),t in i&&(a[t]=s)}),o&&(this._size(),this._position()),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option",a)},_setOption:function(t,e){var i,s,n=this.uiDialog;"dialogClass"===t&&n.removeClass(this.options.dialogClass).addClass(e),"disabled"!==t&&(this._super(t,e),"appendTo"===t&&this.uiDialog.appendTo(this._appendTo()),"buttons"===t&&this._createButtons(),"closeText"===t&&this.uiDialogTitlebarClose.button({label:""+e}),"draggable"===t&&(i=n.is(":data(ui-draggable)"),i&&!e&&n.draggable("destroy"),!i&&e&&this._makeDraggable()),"position"===t&&this._position(),"resizable"===t&&(s=n.is(":data(ui-resizable)"),s&&!e&&n.resizable("destroy"),s&&"string"==typeof e&&n.resizable("option","handles",e),s||e===!1||this._makeResizable()),"title"===t&&this._title(this.uiDialogTitlebar.find(".ui-dialog-title")))},_size:function(){var t,e,i,s=this.options;this.element.show().css({width:"auto",minHeight:0,maxHeight:"none",height:0}),s.minWidth>s.width&&(s.width=s.minWidth),t=this.uiDialog.css({height:"auto",width:s.width}).outerHeight(),e=Math.max(0,s.minHeight-t),i="number"==typeof s.maxHeight?Math.max(0,s.maxHeight-t):"none","auto"===s.height?this.element.css({minHeight:e,maxHeight:i,height:"auto"}):this.element.height(Math.max(0,s.height-t)),this.uiDialog.is(":data(ui-resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks=this.document.find("iframe").map(function(){var e=t(this);return t("<div>").css({position:"absolute",width:e.outerWidth(),height:e.outerHeight()}).appendTo(e.parent()).offset(e.offset())[0]})},_unblockFrames:function(){this.iframeBlocks&&(this.iframeBlocks.remove(),delete this.iframeBlocks)},_allowInteraction:function(e){return t(e.target).closest(".ui-dialog").length?!0:!!t(e.target).closest(".ui-datepicker").length},_createOverlay:function(){if(this.options.modal){var e=this,i=this.widgetFullName;t.ui.dialog.overlayInstances||this._delay(function(){t.ui.dialog.overlayInstances&&this.document.bind("focusin.dialog",function(s){e._allowInteraction(s)||(s.preventDefault(),t(".ui-dialog:visible:last .ui-dialog-content").data(i)._focusTabbable())})}),this.overlay=t("<div>").addClass("ui-widget-overlay ui-front").appendTo(this._appendTo()),this._on(this.overlay,{mousedown:"_keepFocus"}),t.ui.dialog.overlayInstances++}},_destroyOverlay:function(){this.options.modal&&this.overlay&&(t.ui.dialog.overlayInstances--,t.ui.dialog.overlayInstances||this.document.unbind("focusin.dialog"),this.overlay.remove(),this.overlay=null)}}),t.ui.dialog.overlayInstances=0,t.uiBackCompat!==!1&&t.widget("ui.dialog",t.ui.dialog,{_position:function(){var e,i=this.options.position,s=[],n=[0,0];i?(("string"==typeof i||"object"==typeof i&&"0"in i)&&(s=i.split?i.split(" "):[i[0],i[1]],1===s.length&&(s[1]=s[0]),t.each(["left","top"],function(t,e){+s[t]===s[t]&&(n[t]=s[t],s[t]=e)}),i={my:s[0]+(0>n[0]?n[0]:"+"+n[0])+" "+s[1]+(0>n[1]?n[1]:"+"+n[1]),at:s.join(" ")}),i=t.extend({},t.ui.dialog.prototype.options.position,i)):i=t.ui.dialog.prototype.options.position,e=this.uiDialog.is(":visible"),e||this.uiDialog.show(),this.uiDialog.position(i),e||this.uiDialog.hide()}})}(jQuery),function(t){var e=/up|down|vertical/,i=/up|left|vertical|horizontal/;t.effects.effect.blind=function(s,n){var o,a,r,h=t(this),l=["position","top","bottom","left","right","height","width"],c=t.effects.setMode(h,s.mode||"hide"),u=s.direction||"up",d=e.test(u),p=d?"height":"width",f=d?"top":"left",g=i.test(u),m={},v="show"===c;h.parent().is(".ui-effects-wrapper")?t.effects.save(h.parent(),l):t.effects.save(h,l),h.show(),o=t.effects.createWrapper(h).css({overflow:"hidden"}),a=o[p](),r=parseFloat(o.css(f))||0,m[p]=v?a:0,g||(h.css(d?"bottom":"right",0).css(d?"top":"left","auto").css({position:"absolute"}),m[f]=v?r:a+r),v&&(o.css(p,0),g||o.css(f,r+a)),o.animate(m,{duration:s.duration,easing:s.easing,queue:!1,complete:function(){"hide"===c&&h.hide(),t.effects.restore(h,l),t.effects.removeWrapper(h),n()}})}}(jQuery),function(t){t.effects.effect.bounce=function(e,i){var s,n,o,a=t(this),r=["position","top","bottom","left","right","height","width"],h=t.effects.setMode(a,e.mode||"effect"),l="hide"===h,c="show"===h,u=e.direction||"up",d=e.distance,p=e.times||5,f=2*p+(c||l?1:0),g=e.duration/f,m=e.easing,v="up"===u||"down"===u?"top":"left",_="up"===u||"left"===u,b=a.queue(),y=b.length;for((c||l)&&r.push("opacity"),t.effects.save(a,r),a.show(),t.effects.createWrapper(a),d||(d=a["top"===v?"outerHeight":"outerWidth"]()/3),c&&(o={opacity:1},o[v]=0,a.css("opacity",0).css(v,_?2*-d:2*d).animate(o,g,m)),l&&(d/=Math.pow(2,p-1)),o={},o[v]=0,s=0;p>s;s++)n={},n[v]=(_?"-=":"+=")+d,a.animate(n,g,m).animate(o,g,m),d=l?2*d:d/2;l&&(n={opacity:0},n[v]=(_?"-=":"+=")+d,a.animate(n,g,m)),a.queue(function(){l&&a.hide(),t.effects.restore(a,r),t.effects.removeWrapper(a),i()}),y>1&&b.splice.apply(b,[1,0].concat(b.splice(y,f+1))),a.dequeue()}}(jQuery),function(t){t.effects.effect.clip=function(e,i){var s,n,o,a=t(this),r=["position","top","bottom","left","right","height","width"],h=t.effects.setMode(a,e.mode||"hide"),l="show"===h,c=e.direction||"vertical",u="vertical"===c,d=u?"height":"width",p=u?"top":"left",f={};t.effects.save(a,r),a.show(),s=t.effects.createWrapper(a).css({overflow:"hidden"}),n="IMG"===a[0].tagName?s:a,o=n[d](),l&&(n.css(d,0),n.css(p,o/2)),f[d]=l?o:0,f[p]=l?0:o/2,n.animate(f,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){l||a.hide(),t.effects.restore(a,r),t.effects.removeWrapper(a),i()}})}}(jQuery),function(t){t.effects.effect.drop=function(e,i){var s,n=t(this),o=["position","top","bottom","left","right","opacity","height","width"],a=t.effects.setMode(n,e.mode||"hide"),r="show"===a,h=e.direction||"left",l="up"===h||"down"===h?"top":"left",c="up"===h||"left"===h?"pos":"neg",u={opacity:r?1:0};t.effects.save(n,o),n.show(),t.effects.createWrapper(n),s=e.distance||n["top"===l?"outerHeight":"outerWidth"](!0)/2,r&&n.css("opacity",0).css(l,"pos"===c?-s:s),u[l]=(r?"pos"===c?"+=":"-=":"pos"===c?"-=":"+=")+s,n.animate(u,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){"hide"===a&&n.hide(),t.effects.restore(n,o),t.effects.removeWrapper(n),i()}})}}(jQuery),function(t){t.effects.effect.explode=function(e,i){function s(){b.push(this),b.length===u*d&&n()}function n(){p.css({visibility:"visible"}),t(b).remove(),g||p.hide(),i()}var o,a,r,h,l,c,u=e.pieces?Math.round(Math.sqrt(e.pieces)):3,d=u,p=t(this),f=t.effects.setMode(p,e.mode||"hide"),g="show"===f,m=p.show().css("visibility","hidden").offset(),v=Math.ceil(p.outerWidth()/d),_=Math.ceil(p.outerHeight()/u),b=[];for(o=0;u>o;o++)for(h=m.top+o*_,c=o-(u-1)/2,a=0;d>a;a++)r=m.left+a*v,l=a-(d-1)/2,p.clone().appendTo("body").wrap("<div></div>").css({position:"absolute",visibility:"visible",left:-a*v,top:-o*_}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:v,height:_,left:r+(g?l*v:0),top:h+(g?c*_:0),opacity:g?0:1}).animate({left:r+(g?0:l*v),top:h+(g?0:c*_),opacity:g?1:0},e.duration||500,e.easing,s)}}(jQuery),function(t){t.effects.effect.fade=function(e,i){var s=t(this),n=t.effects.setMode(s,e.mode||"toggle");s.animate({opacity:n},{queue:!1,duration:e.duration,easing:e.easing,complete:i})}}(jQuery),function(t){t.effects.effect.fold=function(e,i){var s,n,o=t(this),a=["position","top","bottom","left","right","height","width"],r=t.effects.setMode(o,e.mode||"hide"),h="show"===r,l="hide"===r,c=e.size||15,u=/([0-9]+)%/.exec(c),d=!!e.horizFirst,p=h!==d,f=p?["width","height"]:["height","width"],g=e.duration/2,m={},v={};t.effects.save(o,a),o.show(),s=t.effects.createWrapper(o).css({overflow:"hidden"}),n=p?[s.width(),s.height()]:[s.height(),s.width()],u&&(c=parseInt(u[1],10)/100*n[l?0:1]),h&&s.css(d?{height:0,width:c}:{height:c,width:0}),m[f[0]]=h?n[0]:c,v[f[1]]=h?n[1]:0,s.animate(m,g,e.easing).animate(v,g,e.easing,function(){l&&o.hide(),t.effects.restore(o,a),t.effects.removeWrapper(o),i()})}}(jQuery),function(t){t.effects.effect.highlight=function(e,i){var s=t(this),n=["backgroundImage","backgroundColor","opacity"],o=t.effects.setMode(s,e.mode||"show"),a={backgroundColor:s.css("backgroundColor")};"hide"===o&&(a.opacity=0),t.effects.save(s,n),s.show().css({backgroundImage:"none",backgroundColor:e.color||"#ffff99"}).animate(a,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){"hide"===o&&s.hide(),t.effects.restore(s,n),i()}})}}(jQuery),function(t){t.effects.effect.pulsate=function(e,i){var s,n=t(this),o=t.effects.setMode(n,e.mode||"show"),a="show"===o,r="hide"===o,h=a||"hide"===o,l=2*(e.times||5)+(h?1:0),c=e.duration/l,u=0,d=n.queue(),p=d.length;for((a||!n.is(":visible"))&&(n.css("opacity",0).show(),u=1),s=1;l>s;s++)n.animate({opacity:u},c,e.easing),u=1-u;n.animate({opacity:u},c,e.easing),n.queue(function(){r&&n.hide(),i()}),p>1&&d.splice.apply(d,[1,0].concat(d.splice(p,l+1))),n.dequeue()}}(jQuery),function(t){t.effects.effect.puff=function(e,i){var s=t(this),n=t.effects.setMode(s,e.mode||"hide"),o="hide"===n,a=parseInt(e.percent,10)||150,r=a/100,h={height:s.height(),width:s.width(),outerHeight:s.outerHeight(),outerWidth:s.outerWidth()};t.extend(e,{effect:"scale",queue:!1,fade:!0,mode:n,complete:i,percent:o?a:100,from:o?h:{height:h.height*r,width:h.width*r,outerHeight:h.outerHeight*r,outerWidth:h.outerWidth*r}}),s.effect(e)},t.effects.effect.scale=function(e,i){var s=t(this),n=t.extend(!0,{},e),o=t.effects.setMode(s,e.mode||"effect"),a=parseInt(e.percent,10)||(0===parseInt(e.percent,10)?0:"hide"===o?0:100),r=e.direction||"both",h=e.origin,l={height:s.height(),width:s.width(),outerHeight:s.outerHeight(),outerWidth:s.outerWidth()},c={y:"horizontal"!==r?a/100:1,x:"vertical"!==r?a/100:1};n.effect="size",n.queue=!1,n.complete=i,"effect"!==o&&(n.origin=h||["middle","center"],n.restore=!0),n.from=e.from||("show"===o?{height:0,width:0,outerHeight:0,outerWidth:0}:l),n.to={height:l.height*c.y,width:l.width*c.x,outerHeight:l.outerHeight*c.y,outerWidth:l.outerWidth*c.x},n.fade&&("show"===o&&(n.from.opacity=0,n.to.opacity=1),"hide"===o&&(n.from.opacity=1,n.to.opacity=0)),s.effect(n)},t.effects.effect.size=function(e,i){var s,n,o,a=t(this),r=["position","top","bottom","left","right","width","height","overflow","opacity"],h=["position","top","bottom","left","right","overflow","opacity"],l=["width","height","overflow"],c=["fontSize"],u=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],d=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],p=t.effects.setMode(a,e.mode||"effect"),f=e.restore||"effect"!==p,g=e.scale||"both",m=e.origin||["middle","center"],v=a.css("position"),_=f?r:h,b={height:0,width:0,outerHeight:0,outerWidth:0};"show"===p&&a.show(),s={height:a.height(),width:a.width(),outerHeight:a.outerHeight(),outerWidth:a.outerWidth()},"toggle"===e.mode&&"show"===p?(a.from=e.to||b,a.to=e.from||s):(a.from=e.from||("show"===p?b:s),a.to=e.to||("hide"===p?b:s)),o={from:{y:a.from.height/s.height,x:a.from.width/s.width},to:{y:a.to.height/s.height,x:a.to.width/s.width}},("box"===g||"both"===g)&&(o.from.y!==o.to.y&&(_=_.concat(u),a.from=t.effects.setTransition(a,u,o.from.y,a.from),a.to=t.effects.setTransition(a,u,o.to.y,a.to)),o.from.x!==o.to.x&&(_=_.concat(d),a.from=t.effects.setTransition(a,d,o.from.x,a.from),a.to=t.effects.setTransition(a,d,o.to.x,a.to))),("content"===g||"both"===g)&&o.from.y!==o.to.y&&(_=_.concat(c).concat(l),a.from=t.effects.setTransition(a,c,o.from.y,a.from),a.to=t.effects.setTransition(a,c,o.to.y,a.to)),t.effects.save(a,_),a.show(),t.effects.createWrapper(a),a.css("overflow","hidden").css(a.from),m&&(n=t.effects.getBaseline(m,s),a.from.top=(s.outerHeight-a.outerHeight())*n.y,a.from.left=(s.outerWidth-a.outerWidth())*n.x,a.to.top=(s.outerHeight-a.to.outerHeight)*n.y,a.to.left=(s.outerWidth-a.to.outerWidth)*n.x),a.css(a.from),("content"===g||"both"===g)&&(u=u.concat(["marginTop","marginBottom"]).concat(c),d=d.concat(["marginLeft","marginRight"]),l=r.concat(u).concat(d),a.find("*[width]").each(function(){var i=t(this),s={height:i.height(),width:i.width(),outerHeight:i.outerHeight(),outerWidth:i.outerWidth()};f&&t.effects.save(i,l),i.from={height:s.height*o.from.y,width:s.width*o.from.x,outerHeight:s.outerHeight*o.from.y,outerWidth:s.outerWidth*o.from.x},i.to={height:s.height*o.to.y,width:s.width*o.to.x,outerHeight:s.height*o.to.y,outerWidth:s.width*o.to.x},o.from.y!==o.to.y&&(i.from=t.effects.setTransition(i,u,o.from.y,i.from),i.to=t.effects.setTransition(i,u,o.to.y,i.to)),o.from.x!==o.to.x&&(i.from=t.effects.setTransition(i,d,o.from.x,i.from),i.to=t.effects.setTransition(i,d,o.to.x,i.to)),i.css(i.from),i.animate(i.to,e.duration,e.easing,function(){f&&t.effects.restore(i,l)})})),a.animate(a.to,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){0===a.to.opacity&&a.css("opacity",a.from.opacity),"hide"===p&&a.hide(),t.effects.restore(a,_),f||("static"===v?a.css({position:"relative",top:a.to.top,left:a.to.left}):t.each(["top","left"],function(t,e){a.css(e,function(e,i){var s=parseInt(i,10),n=t?a.to.left:a.to.top;return"auto"===i?n+"px":s+n+"px"})})),t.effects.removeWrapper(a),i()}})}}(jQuery),function(t){t.effects.effect.shake=function(e,i){var s,n=t(this),o=["position","top","bottom","left","right","height","width"],a=t.effects.setMode(n,e.mode||"effect"),r=e.direction||"left",h=e.distance||20,l=e.times||3,c=2*l+1,u=Math.round(e.duration/c),d="up"===r||"down"===r?"top":"left",p="up"===r||"left"===r,f={},g={},m={},v=n.queue(),_=v.length;for(t.effects.save(n,o),n.show(),t.effects.createWrapper(n),f[d]=(p?"-=":"+=")+h,g[d]=(p?"+=":"-=")+2*h,m[d]=(p?"-=":"+=")+2*h,n.animate(f,u,e.easing),s=1;l>s;s++)n.animate(g,u,e.easing).animate(m,u,e.easing);n.animate(g,u,e.easing).animate(f,u/2,e.easing).queue(function(){"hide"===a&&n.hide(),t.effects.restore(n,o),t.effects.removeWrapper(n),i()}),_>1&&v.splice.apply(v,[1,0].concat(v.splice(_,c+1))),n.dequeue()}}(jQuery),function(t){t.effects.effect.slide=function(e,i){var s,n=t(this),o=["position","top","bottom","left","right","width","height"],a=t.effects.setMode(n,e.mode||"show"),r="show"===a,h=e.direction||"left",l="up"===h||"down"===h?"top":"left",c="up"===h||"left"===h,u={};t.effects.save(n,o),n.show(),s=e.distance||n["top"===l?"outerHeight":"outerWidth"](!0),t.effects.createWrapper(n).css({overflow:"hidden"}),r&&n.css(l,c?isNaN(s)?"-"+s:-s:s),u[l]=(r?c?"+=":"-=":c?"-=":"+=")+s,n.animate(u,{queue:!1,duration:e.duration,easing:e.easing,complete:function(){"hide"===a&&n.hide(),t.effects.restore(n,o),t.effects.removeWrapper(n),i()}})}}(jQuery),function(t){t.effects.effect.transfer=function(e,i){var s=t(this),n=t(e.to),o="fixed"===n.css("position"),a=t("body"),r=o?a.scrollTop():0,h=o?a.scrollLeft():0,l=n.offset(),c={top:l.top-r,left:l.left-h,height:n.innerHeight(),width:n.innerWidth()},u=s.offset(),d=t("<div class='ui-effects-transfer'></div>").appendTo(document.body).addClass(e.className).css({top:u.top-r,left:u.left-h,height:s.innerHeight(),width:s.innerWidth(),position:o?"fixed":"absolute"}).animate(c,e.duration,e.easing,function(){d.remove(),i()})}}(jQuery),function(t){t.widget("ui.menu",{version:"1.10.2",defaultElement:"<ul>",delay:300,options:{icons:{submenu:"ui-icon-carat-1-e"},menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.element.uniqueId().addClass("ui-menu ui-widget ui-widget-content ui-corner-all").toggleClass("ui-menu-icons",!!this.element.find(".ui-icon").length).attr({role:this.options.role,tabIndex:0}).bind("click"+this.eventNamespace,t.proxy(function(t){this.options.disabled&&t.preventDefault()},this)),this.options.disabled&&this.element.addClass("ui-state-disabled").attr("aria-disabled","true"),this._on({"mousedown .ui-menu-item > a":function(t){t.preventDefault()},"click .ui-state-disabled > a":function(t){t.preventDefault()},"click .ui-menu-item:has(a)":function(e){var i=t(e.target).closest(".ui-menu-item");!this.mouseHandled&&i.not(".ui-state-disabled").length&&(this.mouseHandled=!0,this.select(e),i.has(".ui-menu").length?this.expand(e):this.element.is(":focus")||(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":function(e){var i=t(e.currentTarget);i.siblings().children(".ui-state-active").removeClass("ui-state-active"),this.focus(e,i)},mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this.element.children(".ui-menu-item").eq(0);e||this.focus(t,i)},blur:function(e){this._delay(function(){t.contains(this.element[0],this.document[0].activeElement)||this.collapseAll(e)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(e){t(e.target).closest(".ui-menu").length||this.collapseAll(e),this.mouseHandled=!1}})},_destroy:function(){this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeClass("ui-menu ui-widget ui-widget-content ui-corner-all ui-menu-icons").removeAttr("role").removeAttr("tabIndex").removeAttr("aria-labelledby").removeAttr("aria-expanded").removeAttr("aria-hidden").removeAttr("aria-disabled").removeUniqueId().show(),this.element.find(".ui-menu-item").removeClass("ui-menu-item").removeAttr("role").removeAttr("aria-disabled").children("a").removeUniqueId().removeClass("ui-corner-all ui-state-hover").removeAttr("tabIndex").removeAttr("role").removeAttr("aria-haspopup").children().each(function(){var e=t(this);e.data("ui-menu-submenu-carat")&&e.remove()}),this.element.find(".ui-menu-divider").removeClass("ui-menu-divider ui-widget-content")},_keydown:function(e){function i(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")}var s,n,o,a,r,h=!0;switch(e.keyCode){case t.ui.keyCode.PAGE_UP:this.previousPage(e);break;case t.ui.keyCode.PAGE_DOWN:this.nextPage(e);break;case t.ui.keyCode.HOME:this._move("first","first",e);break;case t.ui.keyCode.END:this._move("last","last",e);break;case t.ui.keyCode.UP:this.previous(e);break;case t.ui.keyCode.DOWN:this.next(e);break;case t.ui.keyCode.LEFT:this.collapse(e);break;case t.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(e);break;case t.ui.keyCode.ENTER:case t.ui.keyCode.SPACE:this._activate(e);break;case t.ui.keyCode.ESCAPE:this.collapse(e);break;default:h=!1,n=this.previousFilter||"",o=String.fromCharCode(e.keyCode),a=!1,clearTimeout(this.filterTimer),o===n?a=!0:o=n+o,r=RegExp("^"+i(o),"i"),s=this.activeMenu.children(".ui-menu-item").filter(function(){return r.test(t(this).children("a").text())}),s=a&&-1!==s.index(this.active.next())?this.active.nextAll(".ui-menu-item"):s,s.length||(o=String.fromCharCode(e.keyCode),r=RegExp("^"+i(o),"i"),s=this.activeMenu.children(".ui-menu-item").filter(function(){return r.test(t(this).children("a").text())})),s.length?(this.focus(e,s),s.length>1?(this.previousFilter=o,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter):delete this.previousFilter}h&&e.preventDefault()},_activate:function(t){this.active.is(".ui-state-disabled")||(this.active.children("a[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var e,i=this.options.icons.submenu,s=this.element.find(this.options.menus);s.filter(":not(.ui-menu)").addClass("ui-menu ui-widget ui-widget-content ui-corner-all").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var e=t(this),s=e.prev("a"),n=t("<span>").addClass("ui-menu-icon ui-icon "+i).data("ui-menu-submenu-carat",!0);s.attr("aria-haspopup","true").prepend(n),e.attr("aria-labelledby",s.attr("id"))}),e=s.add(this.element),e.children(":not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","presentation").children("a").uniqueId().addClass("ui-corner-all").attr({tabIndex:-1,role:this._itemRole()}),e.children(":not(.ui-menu-item)").each(function(){var e=t(this);/[^\-\u2014\u2013\s]/.test(e.text())||e.addClass("ui-widget-content ui-menu-divider")}),e.children(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!t.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){"icons"===t&&this.element.find(".ui-menu-icon").removeClass(this.options.icons.submenu).addClass(e.submenu),this._super(t,e)},focus:function(t,e){var i,s;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),s=this.active.children("a").addClass("ui-state-focus"),this.options.role&&this.element.attr("aria-activedescendant",s.attr("id")),this.active.parent().closest(".ui-menu-item").children("a:first").addClass("ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),i=e.children(".ui-menu"),i.length&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(e){var i,s,n,o,a,r;this._hasScroll()&&(i=parseFloat(t.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(t.css(this.activeMenu[0],"paddingTop"))||0,n=e.offset().top-this.activeMenu.offset().top-i-s,o=this.activeMenu.scrollTop(),a=this.activeMenu.height(),r=e.height(),0>n?this.activeMenu.scrollTop(o+n):n+r>a&&this.activeMenu.scrollTop(o+n-a+r))},blur:function(t,e){e||clearTimeout(this.timer),this.active&&(this.active.children("a").removeClass("ui-state-focus"),this.active=null,this._trigger("blur",t,{item:this.active}))},_startOpening:function(t){clearTimeout(this.timer),"true"===t.attr("aria-hidden")&&(this.timer=this._delay(function(){this._close(),this._open(t)},this.delay))},_open:function(e){var i=t.extend({of:this.active},this.options.position);clearTimeout(this.timer),this.element.find(".ui-menu").not(e.parents(".ui-menu")).hide().attr("aria-hidden","true"),e.show().removeAttr("aria-hidden").attr("aria-expanded","true").position(i)},collapseAll:function(e,i){clearTimeout(this.timer),this.timer=this._delay(function(){var s=i?this.element:t(e&&e.target).closest(this.element.find(".ui-menu"));s.length||(s=this.element),this._close(s),this.blur(e),this.activeMenu=s},this.delay)},_close:function(t){t||(t=this.active?this.active.parent():this.element),t.find(".ui-menu").hide().attr("aria-hidden","true").attr("aria-expanded","false").end().find("a.ui-state-active").removeClass("ui-state-active")},collapse:function(t){var e=this.active&&this.active.parent().closest(".ui-menu-item",this.element);e&&e.length&&(this._close(),this.focus(t,e))},expand:function(t){var e=this.active&&this.active.children(".ui-menu ").children(".ui-menu-item").first();e&&e.length&&(this._open(e.parent()),this._delay(function(){this.focus(t,e)}))},next:function(t){this._move("next","first",t)},previous:function(t){this._move("prev","last",t)},isFirstItem:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},isLastItem:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},_move:function(t,e,i){var s;this.active&&(s="first"===t||"last"===t?this.active["first"===t?"prevAll":"nextAll"](".ui-menu-item").eq(-1):this.active[t+"All"](".ui-menu-item").eq(0)),s&&s.length&&this.active||(s=this.activeMenu.children(".ui-menu-item")[e]()),this.focus(i,s)},nextPage:function(e){var i,s,n;return this.active?(this.isLastItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.nextAll(".ui-menu-item").each(function(){return i=t(this),0>i.offset().top-s-n}),this.focus(e,i)):this.focus(e,this.activeMenu.children(".ui-menu-item")[this.active?"last":"first"]())),undefined):(this.next(e),undefined)},previousPage:function(e){var i,s,n;return this.active?(this.isFirstItem()||(this._hasScroll()?(s=this.active.offset().top,n=this.element.height(),this.active.prevAll(".ui-menu-item").each(function(){return i=t(this),i.offset().top-s+n>0}),this.focus(e,i)):this.focus(e,this.activeMenu.children(".ui-menu-item").first())),undefined):(this.next(e),undefined)},_hasScroll:function(){return this.element.outerHeight()<this.element.prop("scrollHeight")},select:function(e){this.active=this.active||t(e.target).closest(".ui-menu-item");var i={item:this.active};this.active.has(".ui-menu").length||this.collapseAll(e,!0),this._trigger("select",e,i)}})}(jQuery),function(t,e){function i(t,e,i){return[parseFloat(t[0])*(p.test(t[0])?e/100:1),parseFloat(t[1])*(p.test(t[1])?i/100:1)]}function s(e,i){return parseInt(t.css(e,i),10)||0}function n(e){var i=e[0];return 9===i.nodeType?{width:e.width(),height:e.height(),offset:{top:0,left:0}}:t.isWindow(i)?{width:e.width(),height:e.height(),offset:{top:e.scrollTop(),left:e.scrollLeft()}}:i.preventDefault?{width:0,height:0,offset:{top:i.pageY,left:i.pageX}}:{width:e.outerWidth(),height:e.outerHeight(),offset:e.offset()}}t.ui=t.ui||{};var o,a=Math.max,r=Math.abs,h=Math.round,l=/left|center|right/,c=/top|center|bottom/,u=/[\+\-]\d+(\.[\d]+)?%?/,d=/^\w+/,p=/%$/,f=t.fn.position;t.position={scrollbarWidth:function(){if(o!==e)return o;var i,s,n=t("<div style='display:block;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),a=n.children()[0];return t("body").append(n),i=a.offsetWidth,n.css("overflow","scroll"),s=a.offsetWidth,i===s&&(s=n[0].clientWidth),n.remove(),o=i-s},getScrollInfo:function(e){var i=e.isWindow?"":e.element.css("overflow-x"),s=e.isWindow?"":e.element.css("overflow-y"),n="scroll"===i||"auto"===i&&e.width<e.element[0].scrollWidth,o="scroll"===s||"auto"===s&&e.height<e.element[0].scrollHeight;return{width:o?t.position.scrollbarWidth():0,height:n?t.position.scrollbarWidth():0}},getWithinInfo:function(e){var i=t(e||window),s=t.isWindow(i[0]);return{element:i,isWindow:s,offset:i.offset()||{left:0,top:0},scrollLeft:i.scrollLeft(),scrollTop:i.scrollTop(),width:s?i.width():i.outerWidth(),height:s?i.height():i.outerHeight()}}},t.fn.position=function(e){if(!e||!e.of)return f.apply(this,arguments);e=t.extend({},e);var o,p,g,m,v,_,b=t(e.of),y=t.position.getWithinInfo(e.within),w=t.position.getScrollInfo(y),k=(e.collision||"flip").split(" "),x={};return _=n(b),b[0].preventDefault&&(e.at="left top"),p=_.width,g=_.height,m=_.offset,v=t.extend({},m),t.each(["my","at"],function(){var t,i,s=(e[this]||"").split(" ");1===s.length&&(s=l.test(s[0])?s.concat(["center"]):c.test(s[0])?["center"].concat(s):["center","center"]),s[0]=l.test(s[0])?s[0]:"center",s[1]=c.test(s[1])?s[1]:"center",t=u.exec(s[0]),i=u.exec(s[1]),x[this]=[t?t[0]:0,i?i[0]:0],e[this]=[d.exec(s[0])[0],d.exec(s[1])[0]]}),1===k.length&&(k[1]=k[0]),"right"===e.at[0]?v.left+=p:"center"===e.at[0]&&(v.left+=p/2),"bottom"===e.at[1]?v.top+=g:"center"===e.at[1]&&(v.top+=g/2),o=i(x.at,p,g),v.left+=o[0],v.top+=o[1],this.each(function(){var n,l,c=t(this),u=c.outerWidth(),d=c.outerHeight(),f=s(this,"marginLeft"),_=s(this,"marginTop"),D=u+f+s(this,"marginRight")+w.width,C=d+_+s(this,"marginBottom")+w.height,I=t.extend({},v),P=i(x.my,c.outerWidth(),c.outerHeight());"right"===e.my[0]?I.left-=u:"center"===e.my[0]&&(I.left-=u/2),"bottom"===e.my[1]?I.top-=d:"center"===e.my[1]&&(I.top-=d/2),I.left+=P[0],I.top+=P[1],t.support.offsetFractions||(I.left=h(I.left),I.top=h(I.top)),n={marginLeft:f,marginTop:_},t.each(["left","top"],function(i,s){t.ui.position[k[i]]&&t.ui.position[k[i]][s](I,{targetWidth:p,targetHeight:g,elemWidth:u,elemHeight:d,collisionPosition:n,collisionWidth:D,collisionHeight:C,offset:[o[0]+P[0],o[1]+P[1]],my:e.my,at:e.at,within:y,elem:c})}),e.using&&(l=function(t){var i=m.left-I.left,s=i+p-u,n=m.top-I.top,o=n+g-d,h={target:{element:b,left:m.left,top:m.top,width:p,height:g},element:{element:c,left:I.left,top:I.top,width:u,height:d},horizontal:0>s?"left":i>0?"right":"center",vertical:0>o?"top":n>0?"bottom":"middle"};u>p&&p>r(i+s)&&(h.horizontal="center"),d>g&&g>r(n+o)&&(h.vertical="middle"),h.important=a(r(i),r(s))>a(r(n),r(o))?"horizontal":"vertical",e.using.call(this,t,h)}),c.offset(t.extend(I,{using:l}))})},t.ui.position={fit:{left:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollLeft:s.offset.left,o=s.width,r=t.left-e.collisionPosition.marginLeft,h=n-r,l=r+e.collisionWidth-o-n;e.collisionWidth>o?h>0&&0>=l?(i=t.left+h+e.collisionWidth-o-n,t.left+=h-i):t.left=l>0&&0>=h?n:h>l?n+o-e.collisionWidth:n:h>0?t.left+=h:l>0?t.left-=l:t.left=a(t.left-r,t.left)},top:function(t,e){var i,s=e.within,n=s.isWindow?s.scrollTop:s.offset.top,o=e.within.height,r=t.top-e.collisionPosition.marginTop,h=n-r,l=r+e.collisionHeight-o-n;e.collisionHeight>o?h>0&&0>=l?(i=t.top+h+e.collisionHeight-o-n,t.top+=h-i):t.top=l>0&&0>=h?n:h>l?n+o-e.collisionHeight:n:h>0?t.top+=h:l>0?t.top-=l:t.top=a(t.top-r,t.top)}},flip:{left:function(t,e){var i,s,n=e.within,o=n.offset.left+n.scrollLeft,a=n.width,h=n.isWindow?n.scrollLeft:n.offset.left,l=t.left-e.collisionPosition.marginLeft,c=l-h,u=l+e.collisionWidth-a-h,d="left"===e.my[0]?-e.elemWidth:"right"===e.my[0]?e.elemWidth:0,p="left"===e.at[0]?e.targetWidth:"right"===e.at[0]?-e.targetWidth:0,f=-2*e.offset[0];0>c?(i=t.left+d+p+f+e.collisionWidth-a-o,(0>i||r(c)>i)&&(t.left+=d+p+f)):u>0&&(s=t.left-e.collisionPosition.marginLeft+d+p+f-h,(s>0||u>r(s))&&(t.left+=d+p+f))},top:function(t,e){var i,s,n=e.within,o=n.offset.top+n.scrollTop,a=n.height,h=n.isWindow?n.scrollTop:n.offset.top,l=t.top-e.collisionPosition.marginTop,c=l-h,u=l+e.collisionHeight-a-h,d="top"===e.my[1],p=d?-e.elemHeight:"bottom"===e.my[1]?e.elemHeight:0,f="top"===e.at[1]?e.targetHeight:"bottom"===e.at[1]?-e.targetHeight:0,g=-2*e.offset[1];0>c?(s=t.top+p+f+g+e.collisionHeight-a-o,t.top+p+f+g>c&&(0>s||r(c)>s)&&(t.top+=p+f+g)):u>0&&(i=t.top-e.collisionPosition.marginTop+p+f+g-h,t.top+p+f+g>u&&(i>0||u>r(i))&&(t.top+=p+f+g))}},flipfit:{left:function(){t.ui.position.flip.left.apply(this,arguments),t.ui.position.fit.left.apply(this,arguments)},top:function(){t.ui.position.flip.top.apply(this,arguments),t.ui.position.fit.top.apply(this,arguments)}}},function(){var e,i,s,n,o,a=document.getElementsByTagName("body")[0],r=document.createElement("div");e=document.createElement(a?"div":"body"),s={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},a&&t.extend(s,{position:"absolute",left:"-1000px",top:"-1000px"});for(o in s)e.style[o]=s[o];e.appendChild(r),i=a||document.documentElement,i.insertBefore(e,i.firstChild),r.style.cssText="position: absolute; left: 10.7432222px;",n=t(r).offset().left,t.support.offsetFractions=n>10&&11>n,e.innerHTML="",i.removeChild(e)}()}(jQuery),function(t,e){t.widget("ui.progressbar",{version:"1.10.2",options:{max:100,value:0,change:null,complete:null},min:0,_create:function(){this.oldValue=this.options.value=this._constrainedValue(),this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min}),this.valueDiv=t("<div class='ui-progressbar-value ui-widget-header ui-corner-left'></div>").appendTo(this.element),this._refreshValue()
11
+ },_destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.valueDiv.remove()},value:function(t){return t===e?this.options.value:(this.options.value=this._constrainedValue(t),this._refreshValue(),e)},_constrainedValue:function(t){return t===e&&(t=this.options.value),this.indeterminate=t===!1,"number"!=typeof t&&(t=0),this.indeterminate?!1:Math.min(this.options.max,Math.max(this.min,t))},_setOptions:function(t){var e=t.value;delete t.value,this._super(t),this.options.value=this._constrainedValue(e),this._refreshValue()},_setOption:function(t,e){"max"===t&&(e=Math.max(this.min,e)),this._super(t,e)},_percentage:function(){return this.indeterminate?100:100*(this.options.value-this.min)/(this.options.max-this.min)},_refreshValue:function(){var e=this.options.value,i=this._percentage();this.valueDiv.toggle(this.indeterminate||e>this.min).toggleClass("ui-corner-right",e===this.options.max).width(i.toFixed(0)+"%"),this.element.toggleClass("ui-progressbar-indeterminate",this.indeterminate),this.indeterminate?(this.element.removeAttr("aria-valuenow"),this.overlayDiv||(this.overlayDiv=t("<div class='ui-progressbar-overlay'></div>").appendTo(this.valueDiv))):(this.element.attr({"aria-valuemax":this.options.max,"aria-valuenow":e}),this.overlayDiv&&(this.overlayDiv.remove(),this.overlayDiv=null)),this.oldValue!==e&&(this.oldValue=e,this._trigger("change")),e===this.options.max&&this._trigger("complete")}})}(jQuery),function(t){var e=5;t.widget("ui.slider",t.ui.mouse,{version:"1.10.2",widgetEventPrefix:"slide",options:{animate:!1,distance:0,max:100,min:0,orientation:"horizontal",range:!1,step:1,value:0,values:null,change:null,slide:null,start:null,stop:null},_create:function(){this._keySliding=!1,this._mouseSliding=!1,this._animateOff=!0,this._handleIndex=null,this._detectOrientation(),this._mouseInit(),this.element.addClass("ui-slider ui-slider-"+this.orientation+" ui-widget"+" ui-widget-content"+" ui-corner-all"),this._refresh(),this._setOption("disabled",this.options.disabled),this._animateOff=!1},_refresh:function(){this._createRange(),this._createHandles(),this._setupEvents(),this._refreshValue()},_createHandles:function(){var e,i,s=this.options,n=this.element.find(".ui-slider-handle").addClass("ui-state-default ui-corner-all"),o="<a class='ui-slider-handle ui-state-default ui-corner-all' href='#'></a>",a=[];for(i=s.values&&s.values.length||1,n.length>i&&(n.slice(i).remove(),n=n.slice(0,i)),e=n.length;i>e;e++)a.push(o);this.handles=n.add(t(a.join("")).appendTo(this.element)),this.handle=this.handles.eq(0),this.handles.each(function(e){t(this).data("ui-slider-handle-index",e)})},_createRange:function(){var e=this.options,i="";e.range?(e.range===!0&&(e.values?e.values.length&&2!==e.values.length?e.values=[e.values[0],e.values[0]]:t.isArray(e.values)&&(e.values=e.values.slice(0)):e.values=[this._valueMin(),this._valueMin()]),this.range&&this.range.length?this.range.removeClass("ui-slider-range-min ui-slider-range-max").css({left:"",bottom:""}):(this.range=t("<div></div>").appendTo(this.element),i="ui-slider-range ui-widget-header ui-corner-all"),this.range.addClass(i+("min"===e.range||"max"===e.range?" ui-slider-range-"+e.range:""))):this.range=t([])},_setupEvents:function(){var t=this.handles.add(this.range).filter("a");this._off(t),this._on(t,this._handleEvents),this._hoverable(t),this._focusable(t)},_destroy:function(){this.handles.remove(),this.range.remove(),this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-widget ui-widget-content ui-corner-all"),this._mouseDestroy()},_mouseCapture:function(e){var i,s,n,o,a,r,h,l,c=this,u=this.options;return u.disabled?!1:(this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()},this.elementOffset=this.element.offset(),i={x:e.pageX,y:e.pageY},s=this._normValueFromMouse(i),n=this._valueMax()-this._valueMin()+1,this.handles.each(function(e){var i=Math.abs(s-c.values(e));(n>i||n===i&&(e===c._lastChangedValue||c.values(e)===u.min))&&(n=i,o=t(this),a=e)}),r=this._start(e,a),r===!1?!1:(this._mouseSliding=!0,this._handleIndex=a,o.addClass("ui-state-active").focus(),h=o.offset(),l=!t(e.target).parents().addBack().is(".ui-slider-handle"),this._clickOffset=l?{left:0,top:0}:{left:e.pageX-h.left-o.width()/2,top:e.pageY-h.top-o.height()/2-(parseInt(o.css("borderTopWidth"),10)||0)-(parseInt(o.css("borderBottomWidth"),10)||0)+(parseInt(o.css("marginTop"),10)||0)},this.handles.hasClass("ui-state-hover")||this._slide(e,a,s),this._animateOff=!0,!0))},_mouseStart:function(){return!0},_mouseDrag:function(t){var e={x:t.pageX,y:t.pageY},i=this._normValueFromMouse(e);return this._slide(t,this._handleIndex,i),!1},_mouseStop:function(t){return this.handles.removeClass("ui-state-active"),this._mouseSliding=!1,this._stop(t,this._handleIndex),this._change(t,this._handleIndex),this._handleIndex=null,this._clickOffset=null,this._animateOff=!1,!1},_detectOrientation:function(){this.orientation="vertical"===this.options.orientation?"vertical":"horizontal"},_normValueFromMouse:function(t){var e,i,s,n,o;return"horizontal"===this.orientation?(e=this.elementSize.width,i=t.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)):(e=this.elementSize.height,i=t.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)),s=i/e,s>1&&(s=1),0>s&&(s=0),"vertical"===this.orientation&&(s=1-s),n=this._valueMax()-this._valueMin(),o=this._valueMin()+s*n,this._trimAlignValue(o)},_start:function(t,e){var i={handle:this.handles[e],value:this.value()};return this.options.values&&this.options.values.length&&(i.value=this.values(e),i.values=this.values()),this._trigger("start",t,i)},_slide:function(t,e,i){var s,n,o;this.options.values&&this.options.values.length?(s=this.values(e?0:1),2===this.options.values.length&&this.options.range===!0&&(0===e&&i>s||1===e&&s>i)&&(i=s),i!==this.values(e)&&(n=this.values(),n[e]=i,o=this._trigger("slide",t,{handle:this.handles[e],value:i,values:n}),s=this.values(e?0:1),o!==!1&&this.values(e,i,!0))):i!==this.value()&&(o=this._trigger("slide",t,{handle:this.handles[e],value:i}),o!==!1&&this.value(i))},_stop:function(t,e){var i={handle:this.handles[e],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(e),i.values=this.values()),this._trigger("stop",t,i)},_change:function(t,e){if(!this._keySliding&&!this._mouseSliding){var i={handle:this.handles[e],value:this.value()};this.options.values&&this.options.values.length&&(i.value=this.values(e),i.values=this.values()),this._lastChangedValue=e,this._trigger("change",t,i)}},value:function(t){return arguments.length?(this.options.value=this._trimAlignValue(t),this._refreshValue(),this._change(null,0),undefined):this._value()},values:function(e,i){var s,n,o;if(arguments.length>1)return this.options.values[e]=this._trimAlignValue(i),this._refreshValue(),this._change(null,e),undefined;if(!arguments.length)return this._values();if(!t.isArray(arguments[0]))return this.options.values&&this.options.values.length?this._values(e):this.value();for(s=this.options.values,n=arguments[0],o=0;s.length>o;o+=1)s[o]=this._trimAlignValue(n[o]),this._change(null,o);this._refreshValue()},_setOption:function(e,i){var s,n=0;switch("range"===e&&this.options.range===!0&&("min"===i?(this.options.value=this._values(0),this.options.values=null):"max"===i&&(this.options.value=this._values(this.options.values.length-1),this.options.values=null)),t.isArray(this.options.values)&&(n=this.options.values.length),t.Widget.prototype._setOption.apply(this,arguments),e){case"orientation":this._detectOrientation(),this.element.removeClass("ui-slider-horizontal ui-slider-vertical").addClass("ui-slider-"+this.orientation),this._refreshValue();break;case"value":this._animateOff=!0,this._refreshValue(),this._change(null,0),this._animateOff=!1;break;case"values":for(this._animateOff=!0,this._refreshValue(),s=0;n>s;s+=1)this._change(null,s);this._animateOff=!1;break;case"min":case"max":this._animateOff=!0,this._refreshValue(),this._animateOff=!1;break;case"range":this._animateOff=!0,this._refresh(),this._animateOff=!1}},_value:function(){var t=this.options.value;return t=this._trimAlignValue(t)},_values:function(t){var e,i,s;if(arguments.length)return e=this.options.values[t],e=this._trimAlignValue(e);if(this.options.values&&this.options.values.length){for(i=this.options.values.slice(),s=0;i.length>s;s+=1)i[s]=this._trimAlignValue(i[s]);return i}return[]},_trimAlignValue:function(t){if(this._valueMin()>=t)return this._valueMin();if(t>=this._valueMax())return this._valueMax();var e=this.options.step>0?this.options.step:1,i=(t-this._valueMin())%e,s=t-i;return 2*Math.abs(i)>=e&&(s+=i>0?e:-e),parseFloat(s.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var e,i,s,n,o,a=this.options.range,r=this.options,h=this,l=this._animateOff?!1:r.animate,c={};this.options.values&&this.options.values.length?this.handles.each(function(s){i=100*((h.values(s)-h._valueMin())/(h._valueMax()-h._valueMin())),c["horizontal"===h.orientation?"left":"bottom"]=i+"%",t(this).stop(1,1)[l?"animate":"css"](c,r.animate),h.options.range===!0&&("horizontal"===h.orientation?(0===s&&h.range.stop(1,1)[l?"animate":"css"]({left:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({width:i-e+"%"},{queue:!1,duration:r.animate})):(0===s&&h.range.stop(1,1)[l?"animate":"css"]({bottom:i+"%"},r.animate),1===s&&h.range[l?"animate":"css"]({height:i-e+"%"},{queue:!1,duration:r.animate}))),e=i}):(s=this.value(),n=this._valueMin(),o=this._valueMax(),i=o!==n?100*((s-n)/(o-n)):0,c["horizontal"===this.orientation?"left":"bottom"]=i+"%",this.handle.stop(1,1)[l?"animate":"css"](c,r.animate),"min"===a&&"horizontal"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({width:i+"%"},r.animate),"max"===a&&"horizontal"===this.orientation&&this.range[l?"animate":"css"]({width:100-i+"%"},{queue:!1,duration:r.animate}),"min"===a&&"vertical"===this.orientation&&this.range.stop(1,1)[l?"animate":"css"]({height:i+"%"},r.animate),"max"===a&&"vertical"===this.orientation&&this.range[l?"animate":"css"]({height:100-i+"%"},{queue:!1,duration:r.animate}))},_handleEvents:{keydown:function(i){var s,n,o,a,r=t(i.target).data("ui-slider-handle-index");switch(i.keyCode){case t.ui.keyCode.HOME:case t.ui.keyCode.END:case t.ui.keyCode.PAGE_UP:case t.ui.keyCode.PAGE_DOWN:case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(i.preventDefault(),!this._keySliding&&(this._keySliding=!0,t(i.target).addClass("ui-state-active"),s=this._start(i,r),s===!1))return}switch(a=this.options.step,n=o=this.options.values&&this.options.values.length?this.values(r):this.value(),i.keyCode){case t.ui.keyCode.HOME:o=this._valueMin();break;case t.ui.keyCode.END:o=this._valueMax();break;case t.ui.keyCode.PAGE_UP:o=this._trimAlignValue(n+(this._valueMax()-this._valueMin())/e);break;case t.ui.keyCode.PAGE_DOWN:o=this._trimAlignValue(n-(this._valueMax()-this._valueMin())/e);break;case t.ui.keyCode.UP:case t.ui.keyCode.RIGHT:if(n===this._valueMax())return;o=this._trimAlignValue(n+a);break;case t.ui.keyCode.DOWN:case t.ui.keyCode.LEFT:if(n===this._valueMin())return;o=this._trimAlignValue(n-a)}this._slide(i,r,o)},click:function(t){t.preventDefault()},keyup:function(e){var i=t(e.target).data("ui-slider-handle-index");this._keySliding&&(this._keySliding=!1,this._stop(e,i),this._change(e,i),t(e.target).removeClass("ui-state-active"))}}})}(jQuery),function(t){function e(t){return function(){var e=this.element.val();t.apply(this,arguments),this._refresh(),e!==this.element.val()&&this._trigger("change")}}t.widget("ui.spinner",{version:"1.10.2",defaultElement:"<input>",widgetEventPrefix:"spin",options:{culture:null,icons:{down:"ui-icon-triangle-1-s",up:"ui-icon-triangle-1-n"},incremental:!0,max:null,min:null,numberFormat:null,page:10,step:1,change:null,spin:null,start:null,stop:null},_create:function(){this._setOption("max",this.options.max),this._setOption("min",this.options.min),this._setOption("step",this.options.step),this._value(this.element.val(),!0),this._draw(),this._on(this._events),this._refresh(),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_getCreateOptions:function(){var e={},i=this.element;return t.each(["min","max","step"],function(t,s){var n=i.attr(s);void 0!==n&&n.length&&(e[s]=n)}),e},_events:{keydown:function(t){this._start(t)&&this._keydown(t)&&t.preventDefault()},keyup:"_stop",focus:function(){this.previous=this.element.val()},blur:function(t){return this.cancelBlur?(delete this.cancelBlur,void 0):(this._stop(),this._refresh(),this.previous!==this.element.val()&&this._trigger("change",t),void 0)},mousewheel:function(t,e){if(e){if(!this.spinning&&!this._start(t))return!1;this._spin((e>0?1:-1)*this.options.step,t),clearTimeout(this.mousewheelTimer),this.mousewheelTimer=this._delay(function(){this.spinning&&this._stop(t)},100),t.preventDefault()}},"mousedown .ui-spinner-button":function(e){function i(){var t=this.element[0]===this.document[0].activeElement;t||(this.element.focus(),this.previous=s,this._delay(function(){this.previous=s}))}var s;s=this.element[0]===this.document[0].activeElement?this.previous:this.element.val(),e.preventDefault(),i.call(this),this.cancelBlur=!0,this._delay(function(){delete this.cancelBlur,i.call(this)}),this._start(e)!==!1&&this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e)},"mouseup .ui-spinner-button":"_stop","mouseenter .ui-spinner-button":function(e){return t(e.currentTarget).hasClass("ui-state-active")?this._start(e)===!1?!1:(this._repeat(null,t(e.currentTarget).hasClass("ui-spinner-up")?1:-1,e),void 0):void 0},"mouseleave .ui-spinner-button":"_stop"},_draw:function(){var t=this.uiSpinner=this.element.addClass("ui-spinner-input").attr("autocomplete","off").wrap(this._uiSpinnerHtml()).parent().append(this._buttonHtml());this.element.attr("role","spinbutton"),this.buttons=t.find(".ui-spinner-button").attr("tabIndex",-1).button().removeClass("ui-corner-all"),this.buttons.height()>Math.ceil(.5*t.height())&&t.height()>0&&t.height(t.height()),this.options.disabled&&this.disable()},_keydown:function(e){var i=this.options,s=t.ui.keyCode;switch(e.keyCode){case s.UP:return this._repeat(null,1,e),!0;case s.DOWN:return this._repeat(null,-1,e),!0;case s.PAGE_UP:return this._repeat(null,i.page,e),!0;case s.PAGE_DOWN:return this._repeat(null,-i.page,e),!0}return!1},_uiSpinnerHtml:function(){return"<span class='ui-spinner ui-widget ui-widget-content ui-corner-all'></span>"},_buttonHtml:function(){return"<a class='ui-spinner-button ui-spinner-up ui-corner-tr'><span class='ui-icon "+this.options.icons.up+"'>&#9650;</span>"+"</a>"+"<a class='ui-spinner-button ui-spinner-down ui-corner-br'>"+"<span class='ui-icon "+this.options.icons.down+"'>&#9660;</span>"+"</a>"},_start:function(t){return this.spinning||this._trigger("start",t)!==!1?(this.counter||(this.counter=1),this.spinning=!0,!0):!1},_repeat:function(t,e,i){t=t||500,clearTimeout(this.timer),this.timer=this._delay(function(){this._repeat(40,e,i)},t),this._spin(e*this.options.step,i)},_spin:function(t,e){var i=this.value()||0;this.counter||(this.counter=1),i=this._adjustValue(i+t*this._increment(this.counter)),this.spinning&&this._trigger("spin",e,{value:i})===!1||(this._value(i),this.counter++)},_increment:function(e){var i=this.options.incremental;return i?t.isFunction(i)?i(e):Math.floor(e*e*e/5e4-e*e/500+17*e/200+1):1},_precision:function(){var t=this._precisionOf(this.options.step);return null!==this.options.min&&(t=Math.max(t,this._precisionOf(this.options.min))),t},_precisionOf:function(t){var e=""+t,i=e.indexOf(".");return-1===i?0:e.length-i-1},_adjustValue:function(t){var e,i,s=this.options;return e=null!==s.min?s.min:0,i=t-e,i=Math.round(i/s.step)*s.step,t=e+i,t=parseFloat(t.toFixed(this._precision())),null!==s.max&&t>s.max?s.max:null!==s.min&&s.min>t?s.min:t},_stop:function(t){this.spinning&&(clearTimeout(this.timer),clearTimeout(this.mousewheelTimer),this.counter=0,this.spinning=!1,this._trigger("stop",t))},_setOption:function(t,e){if("culture"===t||"numberFormat"===t){var i=this._parse(this.element.val());return this.options[t]=e,this.element.val(this._format(i)),void 0}("max"===t||"min"===t||"step"===t)&&"string"==typeof e&&(e=this._parse(e)),"icons"===t&&(this.buttons.first().find(".ui-icon").removeClass(this.options.icons.up).addClass(e.up),this.buttons.last().find(".ui-icon").removeClass(this.options.icons.down).addClass(e.down)),this._super(t,e),"disabled"===t&&(e?(this.element.prop("disabled",!0),this.buttons.button("disable")):(this.element.prop("disabled",!1),this.buttons.button("enable")))},_setOptions:e(function(t){this._super(t),this._value(this.element.val())}),_parse:function(t){return"string"==typeof t&&""!==t&&(t=window.Globalize&&this.options.numberFormat?Globalize.parseFloat(t,10,this.options.culture):+t),""===t||isNaN(t)?null:t},_format:function(t){return""===t?"":window.Globalize&&this.options.numberFormat?Globalize.format(t,this.options.numberFormat,this.options.culture):t},_refresh:function(){this.element.attr({"aria-valuemin":this.options.min,"aria-valuemax":this.options.max,"aria-valuenow":this._parse(this.element.val())})},_value:function(t,e){var i;""!==t&&(i=this._parse(t),null!==i&&(e||(i=this._adjustValue(i)),t=this._format(i))),this.element.val(t),this._refresh()},_destroy:function(){this.element.removeClass("ui-spinner-input").prop("disabled",!1).removeAttr("autocomplete").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"),this.uiSpinner.replaceWith(this.element)},stepUp:e(function(t){this._stepUp(t)}),_stepUp:function(t){this._start()&&(this._spin((t||1)*this.options.step),this._stop())},stepDown:e(function(t){this._stepDown(t)}),_stepDown:function(t){this._start()&&(this._spin((t||1)*-this.options.step),this._stop())},pageUp:e(function(t){this._stepUp((t||1)*this.options.page)}),pageDown:e(function(t){this._stepDown((t||1)*this.options.page)}),value:function(t){return arguments.length?(e(this._value).call(this,t),void 0):this._parse(this.element.val())},widget:function(){return this.uiSpinner}})}(jQuery),function(t,e){function i(){return++n}function s(t){return t.hash.length>1&&decodeURIComponent(t.href.replace(o,""))===decodeURIComponent(location.href.replace(o,""))}var n=0,o=/#.*$/;t.widget("ui.tabs",{version:"1.10.2",delay:300,options:{active:null,collapsible:!1,event:"click",heightStyle:"content",hide:null,show:null,activate:null,beforeActivate:null,beforeLoad:null,load:null},_create:function(){var e=this,i=this.options;this.running=!1,this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all").toggleClass("ui-tabs-collapsible",i.collapsible).delegate(".ui-tabs-nav > li","mousedown"+this.eventNamespace,function(e){t(this).is(".ui-state-disabled")&&e.preventDefault()}).delegate(".ui-tabs-anchor","focus"+this.eventNamespace,function(){t(this).closest("li").is(".ui-state-disabled")&&this.blur()}),this._processTabs(),i.active=this._initialActive(),t.isArray(i.disabled)&&(i.disabled=t.unique(i.disabled.concat(t.map(this.tabs.filter(".ui-state-disabled"),function(t){return e.tabs.index(t)}))).sort()),this.active=this.options.active!==!1&&this.anchors.length?this._findActive(i.active):t(),this._refresh(),this.active.length&&this.load(i.active)},_initialActive:function(){var i=this.options.active,s=this.options.collapsible,n=location.hash.substring(1);return null===i&&(n&&this.tabs.each(function(s,o){return t(o).attr("aria-controls")===n?(i=s,!1):e}),null===i&&(i=this.tabs.index(this.tabs.filter(".ui-tabs-active"))),(null===i||-1===i)&&(i=this.tabs.length?0:!1)),i!==!1&&(i=this.tabs.index(this.tabs.eq(i)),-1===i&&(i=s?!1:0)),!s&&i===!1&&this.anchors.length&&(i=0),i},_getCreateEventData:function(){return{tab:this.active,panel:this.active.length?this._getPanelForTab(this.active):t()}},_tabKeydown:function(i){var s=t(this.document[0].activeElement).closest("li"),n=this.tabs.index(s),o=!0;if(!this._handlePageNav(i)){switch(i.keyCode){case t.ui.keyCode.RIGHT:case t.ui.keyCode.DOWN:n++;break;case t.ui.keyCode.UP:case t.ui.keyCode.LEFT:o=!1,n--;break;case t.ui.keyCode.END:n=this.anchors.length-1;break;case t.ui.keyCode.HOME:n=0;break;case t.ui.keyCode.SPACE:return i.preventDefault(),clearTimeout(this.activating),this._activate(n),e;case t.ui.keyCode.ENTER:return i.preventDefault(),clearTimeout(this.activating),this._activate(n===this.options.active?!1:n),e;default:return}i.preventDefault(),clearTimeout(this.activating),n=this._focusNextTab(n,o),i.ctrlKey||(s.attr("aria-selected","false"),this.tabs.eq(n).attr("aria-selected","true"),this.activating=this._delay(function(){this.option("active",n)},this.delay))}},_panelKeydown:function(e){this._handlePageNav(e)||e.ctrlKey&&e.keyCode===t.ui.keyCode.UP&&(e.preventDefault(),this.active.focus())},_handlePageNav:function(i){return i.altKey&&i.keyCode===t.ui.keyCode.PAGE_UP?(this._activate(this._focusNextTab(this.options.active-1,!1)),!0):i.altKey&&i.keyCode===t.ui.keyCode.PAGE_DOWN?(this._activate(this._focusNextTab(this.options.active+1,!0)),!0):e},_findNextTab:function(e,i){function s(){return e>n&&(e=0),0>e&&(e=n),e}for(var n=this.tabs.length-1;-1!==t.inArray(s(),this.options.disabled);)e=i?e+1:e-1;return e},_focusNextTab:function(t,e){return t=this._findNextTab(t,e),this.tabs.eq(t).focus(),t},_setOption:function(t,i){return"active"===t?(this._activate(i),e):"disabled"===t?(this._setupDisabled(i),e):(this._super(t,i),"collapsible"===t&&(this.element.toggleClass("ui-tabs-collapsible",i),i||this.options.active!==!1||this._activate(0)),"event"===t&&this._setupEvents(i),"heightStyle"===t&&this._setupHeightStyle(i),e)},_tabId:function(t){return t.attr("aria-controls")||"ui-tabs-"+i()},_sanitizeSelector:function(t){return t?t.replace(/[!"$%&'()*+,.\/:;<=>?@\[\]\^`{|}~]/g,"\\$&"):""},refresh:function(){var e=this.options,i=this.tablist.children(":has(a[href])");e.disabled=t.map(i.filter(".ui-state-disabled"),function(t){return i.index(t)}),this._processTabs(),e.active!==!1&&this.anchors.length?this.active.length&&!t.contains(this.tablist[0],this.active[0])?this.tabs.length===e.disabled.length?(e.active=!1,this.active=t()):this._activate(this._findNextTab(Math.max(0,e.active-1),!1)):e.active=this.tabs.index(this.active):(e.active=!1,this.active=t()),this._refresh()},_refresh:function(){this._setupDisabled(this.options.disabled),this._setupEvents(this.options.event),this._setupHeightStyle(this.options.heightStyle),this.tabs.not(this.active).attr({"aria-selected":"false",tabIndex:-1}),this.panels.not(this._getPanelForTab(this.active)).hide().attr({"aria-expanded":"false","aria-hidden":"true"}),this.active.length?(this.active.addClass("ui-tabs-active ui-state-active").attr({"aria-selected":"true",tabIndex:0}),this._getPanelForTab(this.active).show().attr({"aria-expanded":"true","aria-hidden":"false"})):this.tabs.eq(0).attr("tabIndex",0)},_processTabs:function(){var e=this;this.tablist=this._getList().addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").attr("role","tablist"),this.tabs=this.tablist.find("> li:has(a[href])").addClass("ui-state-default ui-corner-top").attr({role:"tab",tabIndex:-1}),this.anchors=this.tabs.map(function(){return t("a",this)[0]}).addClass("ui-tabs-anchor").attr({role:"presentation",tabIndex:-1}),this.panels=t(),this.anchors.each(function(i,n){var o,a,r,h=t(n).uniqueId().attr("id"),l=t(n).closest("li"),c=l.attr("aria-controls");s(n)?(o=n.hash,a=e.element.find(e._sanitizeSelector(o))):(r=e._tabId(l),o="#"+r,a=e.element.find(o),a.length||(a=e._createPanel(r),a.insertAfter(e.panels[i-1]||e.tablist)),a.attr("aria-live","polite")),a.length&&(e.panels=e.panels.add(a)),c&&l.data("ui-tabs-aria-controls",c),l.attr({"aria-controls":o.substring(1),"aria-labelledby":h}),a.attr("aria-labelledby",h)}),this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").attr("role","tabpanel")},_getList:function(){return this.element.find("ol,ul").eq(0)},_createPanel:function(e){return t("<div>").attr("id",e).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").data("ui-tabs-destroy",!0)},_setupDisabled:function(e){t.isArray(e)&&(e.length?e.length===this.anchors.length&&(e=!0):e=!1);for(var i,s=0;i=this.tabs[s];s++)e===!0||-1!==t.inArray(s,e)?t(i).addClass("ui-state-disabled").attr("aria-disabled","true"):t(i).removeClass("ui-state-disabled").removeAttr("aria-disabled");this.options.disabled=e},_setupEvents:function(e){var i={click:function(t){t.preventDefault()}};e&&t.each(e.split(" "),function(t,e){i[e]="_eventHandler"}),this._off(this.anchors.add(this.tabs).add(this.panels)),this._on(this.anchors,i),this._on(this.tabs,{keydown:"_tabKeydown"}),this._on(this.panels,{keydown:"_panelKeydown"}),this._focusable(this.tabs),this._hoverable(this.tabs)},_setupHeightStyle:function(e){var i,s=this.element.parent();"fill"===e?(i=s.height(),i-=this.element.outerHeight()-this.element.height(),this.element.siblings(":visible").each(function(){var e=t(this),s=e.css("position");"absolute"!==s&&"fixed"!==s&&(i-=e.outerHeight(!0))}),this.element.children().not(this.panels).each(function(){i-=t(this).outerHeight(!0)}),this.panels.each(function(){t(this).height(Math.max(0,i-t(this).innerHeight()+t(this).height()))}).css("overflow","auto")):"auto"===e&&(i=0,this.panels.each(function(){i=Math.max(i,t(this).height("").height())}).height(i))},_eventHandler:function(e){var i=this.options,s=this.active,n=t(e.currentTarget),o=n.closest("li"),a=o[0]===s[0],r=a&&i.collapsible,h=r?t():this._getPanelForTab(o),l=s.length?this._getPanelForTab(s):t(),c={oldTab:s,oldPanel:l,newTab:r?t():o,newPanel:h};e.preventDefault(),o.hasClass("ui-state-disabled")||o.hasClass("ui-tabs-loading")||this.running||a&&!i.collapsible||this._trigger("beforeActivate",e,c)===!1||(i.active=r?!1:this.tabs.index(o),this.active=a?t():o,this.xhr&&this.xhr.abort(),l.length||h.length||t.error("jQuery UI Tabs: Mismatching fragment identifier."),h.length&&this.load(this.tabs.index(o),e),this._toggle(e,c))},_toggle:function(e,i){function s(){o.running=!1,o._trigger("activate",e,i)}function n(){i.newTab.closest("li").addClass("ui-tabs-active ui-state-active"),a.length&&o.options.show?o._show(a,o.options.show,s):(a.show(),s())}var o=this,a=i.newPanel,r=i.oldPanel;this.running=!0,r.length&&this.options.hide?this._hide(r,this.options.hide,function(){i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),n()}):(i.oldTab.closest("li").removeClass("ui-tabs-active ui-state-active"),r.hide(),n()),r.attr({"aria-expanded":"false","aria-hidden":"true"}),i.oldTab.attr("aria-selected","false"),a.length&&r.length?i.oldTab.attr("tabIndex",-1):a.length&&this.tabs.filter(function(){return 0===t(this).attr("tabIndex")}).attr("tabIndex",-1),a.attr({"aria-expanded":"true","aria-hidden":"false"}),i.newTab.attr({"aria-selected":"true",tabIndex:0})},_activate:function(e){var i,s=this._findActive(e);s[0]!==this.active[0]&&(s.length||(s=this.active),i=s.find(".ui-tabs-anchor")[0],this._eventHandler({target:i,currentTarget:i,preventDefault:t.noop}))},_findActive:function(e){return e===!1?t():this.tabs.eq(e)},_getIndex:function(t){return"string"==typeof t&&(t=this.anchors.index(this.anchors.filter("[href$='"+t+"']"))),t},_destroy:function(){this.xhr&&this.xhr.abort(),this.element.removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible"),this.tablist.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all").removeAttr("role"),this.anchors.removeClass("ui-tabs-anchor").removeAttr("role").removeAttr("tabIndex").removeUniqueId(),this.tabs.add(this.panels).each(function(){t.data(this,"ui-tabs-destroy")?t(this).remove():t(this).removeClass("ui-state-default ui-state-active ui-state-disabled ui-corner-top ui-corner-bottom ui-widget-content ui-tabs-active ui-tabs-panel").removeAttr("tabIndex").removeAttr("aria-live").removeAttr("aria-busy").removeAttr("aria-selected").removeAttr("aria-labelledby").removeAttr("aria-hidden").removeAttr("aria-expanded").removeAttr("role")}),this.tabs.each(function(){var e=t(this),i=e.data("ui-tabs-aria-controls");i?e.attr("aria-controls",i).removeData("ui-tabs-aria-controls"):e.removeAttr("aria-controls")}),this.panels.show(),"content"!==this.options.heightStyle&&this.panels.css("height","")},enable:function(i){var s=this.options.disabled;s!==!1&&(i===e?s=!1:(i=this._getIndex(i),s=t.isArray(s)?t.map(s,function(t){return t!==i?t:null}):t.map(this.tabs,function(t,e){return e!==i?e:null})),this._setupDisabled(s))},disable:function(i){var s=this.options.disabled;if(s!==!0){if(i===e)s=!0;else{if(i=this._getIndex(i),-1!==t.inArray(i,s))return;s=t.isArray(s)?t.merge([i],s).sort():[i]}this._setupDisabled(s)}},load:function(e,i){e=this._getIndex(e);var n=this,o=this.tabs.eq(e),a=o.find(".ui-tabs-anchor"),r=this._getPanelForTab(o),h={tab:o,panel:r};s(a[0])||(this.xhr=t.ajax(this._ajaxSettings(a,i,h)),this.xhr&&"canceled"!==this.xhr.statusText&&(o.addClass("ui-tabs-loading"),r.attr("aria-busy","true"),this.xhr.success(function(t){setTimeout(function(){r.html(t),n._trigger("load",i,h)},1)}).complete(function(t,e){setTimeout(function(){"abort"===e&&n.panels.stop(!1,!0),o.removeClass("ui-tabs-loading"),r.removeAttr("aria-busy"),t===n.xhr&&delete n.xhr},1)})))},_ajaxSettings:function(e,i,s){var n=this;return{url:e.attr("href"),beforeSend:function(e,o){return n._trigger("beforeLoad",i,t.extend({jqXHR:e,ajaxSettings:o},s))}}},_getPanelForTab:function(e){var i=t(e).attr("aria-controls");return this.element.find(this._sanitizeSelector("#"+i))}})}(jQuery),function(t){function e(e,i){var s=(e.attr("aria-describedby")||"").split(/\s+/);s.push(i),e.data("ui-tooltip-id",i).attr("aria-describedby",t.trim(s.join(" ")))}function i(e){var i=e.data("ui-tooltip-id"),s=(e.attr("aria-describedby")||"").split(/\s+/),n=t.inArray(i,s);-1!==n&&s.splice(n,1),e.removeData("ui-tooltip-id"),s=t.trim(s.join(" ")),s?e.attr("aria-describedby",s):e.removeAttr("aria-describedby")}var s=0;t.widget("ui.tooltip",{version:"1.10.2",options:{content:function(){var e=t(this).attr("title")||"";return t("<a>").text(e).html()},hide:!0,items:"[title]:not([disabled])",position:{my:"left top+15",at:"left bottom",collision:"flipfit flip"},show:!0,tooltipClass:null,track:!1,close:null,open:null},_create:function(){this._on({mouseover:"open",focusin:"open"}),this.tooltips={},this.parents={},this.options.disabled&&this._disable()},_setOption:function(e,i){var s=this;return"disabled"===e?(this[i?"_disable":"_enable"](),this.options[e]=i,void 0):(this._super(e,i),"content"===e&&t.each(this.tooltips,function(t,e){s._updateContent(e)}),void 0)},_disable:function(){var e=this;t.each(this.tooltips,function(i,s){var n=t.Event("blur");n.target=n.currentTarget=s[0],e.close(n,!0)}),this.element.find(this.options.items).addBack().each(function(){var e=t(this);e.is("[title]")&&e.data("ui-tooltip-title",e.attr("title")).attr("title","")})},_enable:function(){this.element.find(this.options.items).addBack().each(function(){var e=t(this);e.data("ui-tooltip-title")&&e.attr("title",e.data("ui-tooltip-title"))})},open:function(e){var i=this,s=t(e?e.target:this.element).closest(this.options.items);s.length&&!s.data("ui-tooltip-id")&&(s.attr("title")&&s.data("ui-tooltip-title",s.attr("title")),s.data("ui-tooltip-open",!0),e&&"mouseover"===e.type&&s.parents().each(function(){var e,s=t(this);s.data("ui-tooltip-open")&&(e=t.Event("blur"),e.target=e.currentTarget=this,i.close(e,!0)),s.attr("title")&&(s.uniqueId(),i.parents[this.id]={element:this,title:s.attr("title")},s.attr("title",""))}),this._updateContent(s,e))},_updateContent:function(t,e){var i,s=this.options.content,n=this,o=e?e.type:null;return"string"==typeof s?this._open(e,t,s):(i=s.call(t[0],function(i){t.data("ui-tooltip-open")&&n._delay(function(){e&&(e.type=o),this._open(e,t,i)
12
+ })}),i&&this._open(e,t,i),void 0)},_open:function(i,s,n){function o(t){l.of=t,a.is(":hidden")||a.position(l)}var a,r,h,l=t.extend({},this.options.position);if(n){if(a=this._find(s),a.length)return a.find(".ui-tooltip-content").html(n),void 0;s.is("[title]")&&(i&&"mouseover"===i.type?s.attr("title",""):s.removeAttr("title")),a=this._tooltip(s),e(s,a.attr("id")),a.find(".ui-tooltip-content").html(n),this.options.track&&i&&/^mouse/.test(i.type)?(this._on(this.document,{mousemove:o}),o(i)):a.position(t.extend({of:s},this.options.position)),a.hide(),this._show(a,this.options.show),this.options.show&&this.options.show.delay&&(h=this.delayedShow=setInterval(function(){a.is(":visible")&&(o(l.of),clearInterval(h))},t.fx.interval)),this._trigger("open",i,{tooltip:a}),r={keyup:function(e){if(e.keyCode===t.ui.keyCode.ESCAPE){var i=t.Event(e);i.currentTarget=s[0],this.close(i,!0)}},remove:function(){this._removeTooltip(a)}},i&&"mouseover"!==i.type||(r.mouseleave="close"),i&&"focusin"!==i.type||(r.focusout="close"),this._on(!0,s,r)}},close:function(e){var s=this,n=t(e?e.currentTarget:this.element),o=this._find(n);this.closing||(clearInterval(this.delayedShow),n.data("ui-tooltip-title")&&n.attr("title",n.data("ui-tooltip-title")),i(n),o.stop(!0),this._hide(o,this.options.hide,function(){s._removeTooltip(t(this))}),n.removeData("ui-tooltip-open"),this._off(n,"mouseleave focusout keyup"),n[0]!==this.element[0]&&this._off(n,"remove"),this._off(this.document,"mousemove"),e&&"mouseleave"===e.type&&t.each(this.parents,function(e,i){t(i.element).attr("title",i.title),delete s.parents[e]}),this.closing=!0,this._trigger("close",e,{tooltip:o}),this.closing=!1)},_tooltip:function(e){var i="ui-tooltip-"+s++,n=t("<div>").attr({id:i,role:"tooltip"}).addClass("ui-tooltip ui-widget ui-corner-all ui-widget-content "+(this.options.tooltipClass||""));return t("<div>").addClass("ui-tooltip-content").appendTo(n),n.appendTo(this.document[0].body),this.tooltips[i]=e,n},_find:function(e){var i=e.data("ui-tooltip-id");return i?t("#"+i):t()},_removeTooltip:function(t){t.remove(),delete this.tooltips[t.attr("id")]},_destroy:function(){var e=this;t.each(this.tooltips,function(i,s){var n=t.Event("blur");n.target=n.currentTarget=s[0],e.close(n,!0),t("#"+i).remove(),s.data("ui-tooltip-title")&&(s.attr("title",s.data("ui-tooltip-title")),s.removeData("ui-tooltip-title"))})}})}(jQuery);
js/jquery.multiselect.js ADDED
@@ -0,0 +1,705 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* jshint forin:true, noarg:true, noempty:true, eqeqeq:true, boss:true, undef:true, curly:true, browser:true, jquery:true */
2
+ /*
3
+ * jQuery MultiSelect UI Widget 1.13
4
+ * Copyright (c) 2012 Eric Hynds
5
+ *
6
+ * http://www.erichynds.com/jquery/jquery-ui-multiselect-widget/
7
+ *
8
+ * Depends:
9
+ * - jQuery 1.4.2+
10
+ * - jQuery UI 1.8 widget factory
11
+ *
12
+ * Optional:
13
+ * - jQuery UI effects
14
+ * - jQuery UI position utility
15
+ *
16
+ * Dual licensed under the MIT and GPL licenses:
17
+ * http://www.opensource.org/licenses/mit-license.php
18
+ * http://www.gnu.org/licenses/gpl.html
19
+ *
20
+ */
21
+ (function($, undefined){
22
+
23
+ var multiselectID = 0;
24
+
25
+ $.widget("ech.multiselect", {
26
+
27
+ // default options
28
+ options: {
29
+ header: false,
30
+ height: 175,
31
+ minWidth: 225,
32
+ classes: '',
33
+ checkAllText: 'Check all',
34
+ uncheckAllText: 'Uncheck all',
35
+ noneSelectedText: selectoption,
36
+ selectedText: '# '+selected,
37
+ selectedList: 0,
38
+ show: null,
39
+ hide: null,
40
+ autoOpen: false,
41
+ multiple: true,
42
+ position: {}
43
+ },
44
+
45
+ _create: function(){
46
+ var el = this.element.hide(),
47
+ o = this.options;
48
+
49
+ this.speed = $.fx.speeds._default; // default speed for effects
50
+ this._isOpen = false; // assume no
51
+
52
+ var
53
+ button = (this.button = $('<button type="button"><span class="ui-icon ui-icon-triangle-2-n-s"></span></button>'))
54
+ .addClass('ui-multiselect ui-widget ui-state-default ui-corner-all')
55
+ .addClass( o.classes )
56
+ .attr({ 'title':el.attr('title'), 'aria-haspopup':true, 'tabIndex':el.attr('tabIndex') })
57
+ .insertAfter( el ),
58
+
59
+ buttonlabel = (this.buttonlabel = $('<span />'))
60
+ .html( o.noneSelectedText )
61
+ .appendTo( button ),
62
+
63
+ menu = (this.menu = $('<div />'))
64
+ .addClass('ui-multiselect-menu ui-widget ui-widget-content ui-corner-all')
65
+ .addClass( o.classes )
66
+ .appendTo( document.body ),
67
+
68
+ header = (this.header = $('<div />'))
69
+ .addClass('ui-widget-header ui-corner-all ui-multiselect-header ui-helper-clearfix')
70
+ .appendTo( menu ),
71
+
72
+ headerLinkContainer = (this.headerLinkContainer = $('<ul />'))
73
+ .addClass('ui-helper-reset')
74
+ .html(function(){
75
+ if( o.header === true ){
76
+ return '<li><a class="ui-multiselect-all" href="#"><span class="ui-icon ui-icon-check"></span><span>' + o.checkAllText + '</span></a></li><li><a class="ui-multiselect-none" href="#"><span class="ui-icon ui-icon-closethick"></span><span>' + o.uncheckAllText + '</span></a></li>';
77
+ } else if(typeof o.header === "string"){
78
+ return '<li>' + o.header + '</li>';
79
+ } else {
80
+ return '';
81
+ }
82
+ })
83
+ .append('<li class="ui-multiselect-close"><a href="#" class="ui-multiselect-close"><span class="ui-icon ui-icon-circle-close"></span></a></li>')
84
+ .appendTo( header ),
85
+
86
+ checkboxContainer = (this.checkboxContainer = $('<ul />'))
87
+ .addClass('ui-multiselect-checkboxes ui-helper-reset')
88
+ .appendTo( menu );
89
+
90
+ // perform event bindings
91
+ this._bindEvents();
92
+
93
+ // build menu
94
+ this.refresh( true );
95
+
96
+ // some addl. logic for single selects
97
+ if( !o.multiple ){
98
+ menu.addClass('ui-multiselect-single');
99
+ }
100
+ },
101
+
102
+ _init: function(){
103
+ if( this.options.header === false ){
104
+ this.header.hide();
105
+ }
106
+ if( !this.options.multiple ){
107
+ this.headerLinkContainer.find('.ui-multiselect-all, .ui-multiselect-none').hide();
108
+ }
109
+ if( this.options.autoOpen ){
110
+ this.open();
111
+ }
112
+ if( this.element.is(':disabled') ){
113
+ this.disable();
114
+ }
115
+ },
116
+
117
+ refresh: function( init ){
118
+ var el = this.element,
119
+ o = this.options,
120
+ menu = this.menu,
121
+ checkboxContainer = this.checkboxContainer,
122
+ optgroups = [],
123
+ html = "",
124
+ id = el.attr('id') || multiselectID++; // unique ID for the label & option tags
125
+
126
+ // build items
127
+ el.find('option').each(function( i ){
128
+ var $this = $(this),
129
+ parent = this.parentNode,
130
+ title = this.innerHTML,
131
+ description = this.title,
132
+ value = this.value,
133
+ inputID = 'ui-multiselect-' + (this.id || id + '-option-' + i),
134
+ isDisabled = this.disabled,
135
+ isSelected = this.selected,
136
+ labelClasses = [ 'ui-corner-all' ],
137
+ liClasses = (isDisabled ? 'ui-multiselect-disabled ' : ' ') + this.className,
138
+ optLabel;
139
+
140
+ // is this an optgroup?
141
+ if( parent.tagName === 'OPTGROUP' ){
142
+ optLabel = parent.getAttribute( 'label' );
143
+
144
+ // has this optgroup been added already?
145
+ if( $.inArray(optLabel, optgroups) === -1 ){
146
+ html += '<li class="ui-multiselect-optgroup-label ' + parent.className + '"><a href="#">' + optLabel + '</a></li>';
147
+ optgroups.push( optLabel );
148
+ }
149
+ }
150
+
151
+ if( isDisabled ){
152
+ labelClasses.push( 'ui-state-disabled' );
153
+ }
154
+
155
+ // browsers automatically select the first option
156
+ // by default with single selects
157
+ if( isSelected && !o.multiple ){
158
+ labelClasses.push( 'ui-state-active' );
159
+ }
160
+
161
+ html += '<li class="' + liClasses + '">';
162
+
163
+ // create the label
164
+ html += '<label for="' + inputID + '" title="' + description + '" class="' + labelClasses.join(' ') + '">';
165
+ html += '<input id="' + inputID + '" name="multiselect_' + id + '" type="' + (o.multiple ? "checkbox" : "radio") + '" value="' + value + '" title="' + title + '"';
166
+
167
+ // pre-selected?
168
+ if( isSelected ){
169
+ html += ' checked="checked"';
170
+ html += ' aria-selected="true"';
171
+ }
172
+
173
+ // disabled?
174
+ if( isDisabled ){
175
+ html += ' disabled="disabled"';
176
+ html += ' aria-disabled="true"';
177
+ }
178
+
179
+ // add the title and close everything off
180
+ html += ' /><span>' + title + '</span></label></li>';
181
+ });
182
+
183
+ // insert into the DOM
184
+ checkboxContainer.html( html );
185
+
186
+ // cache some moar useful elements
187
+ this.labels = menu.find('label');
188
+ this.inputs = this.labels.children('input');
189
+
190
+ // set widths
191
+ this._setButtonWidth();
192
+ this._setMenuWidth();
193
+
194
+ // remember default value
195
+ this.button[0].defaultValue = this.update();
196
+
197
+ // broadcast refresh event; useful for widgets
198
+ if( !init ){
199
+ this._trigger('refresh');
200
+ }
201
+ },
202
+
203
+ // updates the button text. call refresh() to rebuild
204
+ update: function(){
205
+ var o = this.options,
206
+ $inputs = this.inputs,
207
+ $checked = $inputs.filter(':checked'),
208
+ numChecked = $checked.length,
209
+ value;
210
+
211
+ if( numChecked === 0 ){
212
+ value = o.noneSelectedText;
213
+ } else {
214
+ if($.isFunction( o.selectedText )){
215
+ value = o.selectedText.call(this, numChecked, $inputs.length, $checked.get());
216
+ } else if( /\d/.test(o.selectedList) && o.selectedList > 0 && numChecked <= o.selectedList){
217
+ value = $checked.map(function(){ return $(this).next().html(); }).get().join(', ');
218
+ } else {
219
+ value = o.selectedText.replace('#', numChecked).replace('#', $inputs.length);
220
+ }
221
+ }
222
+
223
+ this.buttonlabel.html( value );
224
+ return value;
225
+ },
226
+
227
+ // binds events
228
+ _bindEvents: function(){
229
+ var self = this, button = this.button;
230
+
231
+ function clickHandler(){
232
+ self[ self._isOpen ? 'close' : 'open' ]();
233
+ return false;
234
+ }
235
+
236
+ // webkit doesn't like it when you click on the span :(
237
+ button
238
+ .find('span')
239
+ .bind('click.multiselect', clickHandler);
240
+
241
+ // button events
242
+ button.bind({
243
+ click: clickHandler,
244
+ keypress: function( e ){
245
+ switch(e.which){
246
+ case 27: // esc
247
+ case 38: // up
248
+ case 37: // left
249
+ self.close();
250
+ break;
251
+ case 39: // right
252
+ case 40: // down
253
+ self.open();
254
+ break;
255
+ }
256
+ },
257
+ mouseenter: function(){
258
+ if( !button.hasClass('ui-state-disabled') ){
259
+ $(this).addClass('ui-state-hover');
260
+ }
261
+ },
262
+ mouseleave: function(){
263
+ $(this).removeClass('ui-state-hover');
264
+ },
265
+ focus: function(){
266
+ if( !button.hasClass('ui-state-disabled') ){
267
+ $(this).addClass('ui-state-focus');
268
+ }
269
+ },
270
+ blur: function(){
271
+ $(this).removeClass('ui-state-focus');
272
+ }
273
+ });
274
+
275
+ // header links
276
+ this.header
277
+ .delegate('a', 'click.multiselect', function( e ){
278
+ // close link
279
+ if( $(this).hasClass('ui-multiselect-close') ){
280
+ self.close();
281
+
282
+ // check all / uncheck all
283
+ } else {
284
+ self[ $(this).hasClass('ui-multiselect-all') ? 'checkAll' : 'uncheckAll' ]();
285
+ }
286
+
287
+ e.preventDefault();
288
+ });
289
+
290
+ // optgroup label toggle support
291
+ this.menu
292
+ .delegate('li.ui-multiselect-optgroup-label a', 'click.multiselect', function( e ){
293
+ e.preventDefault();
294
+
295
+ var $this = $(this),
296
+ $inputs = $this.parent().nextUntil('li.ui-multiselect-optgroup-label').find('input:visible:not(:disabled)'),
297
+ nodes = $inputs.get(),
298
+ label = $this.parent().text();
299
+
300
+ // trigger event and bail if the return is false
301
+ if( self._trigger('beforeoptgrouptoggle', e, { inputs:nodes, label:label }) === false ){
302
+ return;
303
+ }
304
+
305
+ // toggle inputs
306
+ self._toggleChecked(
307
+ $inputs.filter(':checked').length !== $inputs.length,
308
+ $inputs
309
+ );
310
+
311
+ self._trigger('optgrouptoggle', e, {
312
+ inputs: nodes,
313
+ label: label,
314
+ checked: nodes[0].checked
315
+ });
316
+ })
317
+ .delegate('label', 'mouseenter.multiselect', function(){
318
+ if( !$(this).hasClass('ui-state-disabled') ){
319
+ self.labels.removeClass('ui-state-hover');
320
+ $(this).addClass('ui-state-hover').find('input').focus();
321
+ }
322
+ })
323
+ .delegate('label', 'keydown.multiselect', function( e ){
324
+ e.preventDefault();
325
+
326
+ switch(e.which){
327
+ case 9: // tab
328
+ case 27: // esc
329
+ self.close();
330
+ break;
331
+ case 38: // up
332
+ case 40: // down
333
+ case 37: // left
334
+ case 39: // right
335
+ self._traverse(e.which, this);
336
+ break;
337
+ case 13: // enter
338
+ $(this).find('input')[0].click();
339
+ break;
340
+ }
341
+ })
342
+ .delegate('input[type="checkbox"], input[type="radio"]', 'click.multiselect', function( e ){
343
+ var $this = $(this),
344
+ val = this.value,
345
+ checked = this.checked,
346
+ tags = self.element.find('option');
347
+
348
+ // bail if this input is disabled or the event is cancelled
349
+ if( this.disabled || self._trigger('click', e, { value: val, text: this.title, checked: checked }) === false ){
350
+ e.preventDefault();
351
+ return;
352
+ }
353
+
354
+ // make sure the input has focus. otherwise, the esc key
355
+ // won't close the menu after clicking an item.
356
+ $this.focus();
357
+
358
+ // toggle aria state
359
+ $this.attr('aria-selected', checked);
360
+
361
+ // change state on the original option tags
362
+ tags.each(function(){
363
+ if( this.value === val ){
364
+ this.selected = checked;
365
+ } else if( !self.options.multiple ){
366
+ this.selected = false;
367
+ }
368
+ });
369
+
370
+ // some additional single select-specific logic
371
+ if( !self.options.multiple ){
372
+ self.labels.removeClass('ui-state-active');
373
+ $this.closest('label').toggleClass('ui-state-active', checked );
374
+
375
+ // close menu
376
+ self.close();
377
+ }
378
+
379
+ // fire change on the select box
380
+ self.element.trigger("change");
381
+
382
+ // setTimeout is to fix multiselect issue #14 and #47. caused by jQuery issue #3827
383
+ // http://bugs.jquery.com/ticket/3827
384
+ setTimeout($.proxy(self.update, self), 10);
385
+ });
386
+
387
+ // close each widget when clicking on any other element/anywhere else on the page
388
+ $(document).bind('mousedown.multiselect', function( e ){
389
+ if(self._isOpen && !$.contains(self.menu[0], e.target) && !$.contains(self.button[0], e.target) && e.target !== self.button[0]){
390
+ self.close();
391
+ }
392
+ });
393
+
394
+ // deal with form resets. the problem here is that buttons aren't
395
+ // restored to their defaultValue prop on form reset, and the reset
396
+ // handler fires before the form is actually reset. delaying it a bit
397
+ // gives the form inputs time to clear.
398
+ $(this.element[0].form).bind('reset.multiselect', function(){
399
+ setTimeout($.proxy(self.refresh, self), 10);
400
+ });
401
+ },
402
+
403
+ // set button width
404
+ _setButtonWidth: function(){
405
+ var width = this.element.outerWidth(),
406
+ o = this.options;
407
+
408
+ if( /\d/.test(o.minWidth) && width < o.minWidth){
409
+ width = o.minWidth;
410
+ }
411
+
412
+ // set widths
413
+ this.button.width( width );
414
+ },
415
+
416
+ // set menu width
417
+ _setMenuWidth: function(){
418
+ var m = this.menu,
419
+ width = this.button.outerWidth()-
420
+ parseInt(m.css('padding-left'),10)-
421
+ parseInt(m.css('padding-right'),10)-
422
+ parseInt(m.css('border-right-width'),10)-
423
+ parseInt(m.css('border-left-width'),10);
424
+
425
+ m.width( width || this.button.outerWidth() );
426
+ },
427
+
428
+ // move up or down within the menu
429
+ _traverse: function( which, start ){
430
+ var $start = $(start),
431
+ moveToLast = which === 38 || which === 37,
432
+
433
+ // select the first li that isn't an optgroup label / disabled
434
+ $next = $start.parent()[moveToLast ? 'prevAll' : 'nextAll']('li:not(.ui-multiselect-disabled, .ui-multiselect-optgroup-label)')[ moveToLast ? 'last' : 'first']();
435
+
436
+ // if at the first/last element
437
+ if( !$next.length ){
438
+ var $container = this.menu.find('ul').last();
439
+
440
+ // move to the first/last
441
+ this.menu.find('label')[ moveToLast ? 'last' : 'first' ]().trigger('mouseover');
442
+
443
+ // set scroll position
444
+ $container.scrollTop( moveToLast ? $container.height() : 0 );
445
+
446
+ } else {
447
+ $next.find('label').trigger('mouseover');
448
+ }
449
+ },
450
+
451
+ // This is an internal function to toggle the checked property and
452
+ // other related attributes of a checkbox.
453
+ //
454
+ // The context of this function should be a checkbox; do not proxy it.
455
+ _toggleState: function( prop, flag ){
456
+ return function(){
457
+ if( !this.disabled ) {
458
+ this[ prop ] = flag;
459
+ }
460
+
461
+ if( flag ){
462
+ this.setAttribute('aria-selected', true);
463
+ } else {
464
+ this.removeAttribute('aria-selected');
465
+ }
466
+ };
467
+ },
468
+
469
+ _toggleChecked: function( flag, group ){
470
+ var $inputs = (group && group.length) ? group : this.inputs,
471
+ self = this;
472
+
473
+ // toggle state on inputs
474
+ $inputs.each(this._toggleState('checked', flag));
475
+
476
+ // give the first input focus
477
+ $inputs.eq(0).focus();
478
+
479
+ // update button text
480
+ this.update();
481
+
482
+ // gather an array of the values that actually changed
483
+ var values = $inputs.map(function(){
484
+ return this.value;
485
+ }).get();
486
+
487
+ // toggle state on original option tags
488
+ this.element
489
+ .find('option')
490
+ .each(function(){
491
+ if( !this.disabled && $.inArray(this.value, values) > -1 ){
492
+ self._toggleState('selected', flag).call( this );
493
+ }
494
+ });
495
+
496
+ // trigger the change event on the select
497
+ if( $inputs.length ) {
498
+ this.element.trigger("change");
499
+ }
500
+ },
501
+
502
+ _toggleDisabled: function( flag ){
503
+ this.button
504
+ .attr({ 'disabled':flag, 'aria-disabled':flag })[ flag ? 'addClass' : 'removeClass' ]('ui-state-disabled');
505
+
506
+ var inputs = this.menu.find('input');
507
+ var key = "ech-multiselect-disabled";
508
+
509
+ if(flag) {
510
+ // remember which elements this widget disabled (not pre-disabled)
511
+ // elements, so that they can be restored if the widget is re-enabled.
512
+ inputs = inputs.filter(':enabled')
513
+ .data(key, true)
514
+ } else {
515
+ inputs = inputs.filter(function() {
516
+ return $.data(this, key) === true;
517
+ }).removeData(key);
518
+ }
519
+
520
+ inputs
521
+ .attr({ 'disabled':flag, 'arial-disabled':flag })
522
+ .parent()[ flag ? 'addClass' : 'removeClass' ]('ui-state-disabled');
523
+
524
+ this.element
525
+ .attr({ 'disabled':flag, 'aria-disabled':flag });
526
+ },
527
+
528
+ // open the menu
529
+ open: function( e ){
530
+ var self = this,
531
+ button = this.button,
532
+ menu = this.menu,
533
+ speed = this.speed,
534
+ o = this.options,
535
+ args = [];
536
+
537
+ // bail if the multiselectopen event returns false, this widget is disabled, or is already open
538
+ if( this._trigger('beforeopen') === false || button.hasClass('ui-state-disabled') || this._isOpen ){
539
+ return;
540
+ }
541
+
542
+ var $container = menu.find('ul').last(),
543
+ effect = o.show,
544
+ pos = button.offset();
545
+
546
+ // figure out opening effects/speeds
547
+ if( $.isArray(o.show) ){
548
+ effect = o.show[0];
549
+ speed = o.show[1] || self.speed;
550
+ }
551
+
552
+ // if there's an effect, assume jQuery UI is in use
553
+ // build the arguments to pass to show()
554
+ if( effect ) {
555
+ args = [ effect, speed ];
556
+ }
557
+
558
+ // set the scroll of the checkbox container
559
+ $container.scrollTop(0).height(o.height);
560
+
561
+ // position and show menu
562
+ if( $.ui.position && !$.isEmptyObject(o.position) ){
563
+ o.position.of = o.position.of || button;
564
+
565
+ menu
566
+ .show()
567
+ .position( o.position )
568
+ .hide();
569
+
570
+ // if position utility is not available...
571
+ } else {
572
+ menu.css({
573
+ top: pos.top + button.outerHeight(),
574
+ left: pos.left
575
+ });
576
+ }
577
+
578
+ // show the menu, maybe with a speed/effect combo
579
+ $.fn.show.apply(menu, args);
580
+
581
+ // select the first option
582
+ // triggering both mouseover and mouseover because 1.4.2+ has a bug where triggering mouseover
583
+ // will actually trigger mouseenter. the mouseenter trigger is there for when it's eventually fixed
584
+ this.labels.eq(0).trigger('mouseover').trigger('mouseenter').find('input').trigger('focus');
585
+
586
+ button.addClass('ui-state-active');
587
+ this._isOpen = true;
588
+ this._trigger('open');
589
+ },
590
+
591
+ // close the menu
592
+ close: function(){
593
+ if(this._trigger('beforeclose') === false){
594
+ return;
595
+ }
596
+
597
+ var o = this.options,
598
+ effect = o.hide,
599
+ speed = this.speed,
600
+ args = [];
601
+
602
+ // figure out opening effects/speeds
603
+ if( $.isArray(o.hide) ){
604
+ effect = o.hide[0];
605
+ speed = o.hide[1] || this.speed;
606
+ }
607
+
608
+ if( effect ) {
609
+ args = [ effect, speed ];
610
+ }
611
+
612
+ $.fn.hide.apply(this.menu, args);
613
+ this.button.removeClass('ui-state-active').trigger('blur').trigger('mouseleave');
614
+ this._isOpen = false;
615
+ this._trigger('close');
616
+ },
617
+
618
+ enable: function(){
619
+ this._toggleDisabled(false);
620
+ },
621
+
622
+ disable: function(){
623
+ this._toggleDisabled(true);
624
+ },
625
+
626
+ checkAll: function( e ){
627
+ this._toggleChecked(true);
628
+ this._trigger('checkAll');
629
+ },
630
+
631
+ uncheckAll: function(){
632
+ this._toggleChecked(false);
633
+ this._trigger('uncheckAll');
634
+ },
635
+
636
+ getChecked: function(){
637
+ return this.menu.find('input').filter(':checked');
638
+ },
639
+
640
+ destroy: function(){
641
+ // remove classes + data
642
+ $.Widget.prototype.destroy.call( this );
643
+
644
+ this.button.remove();
645
+ this.menu.remove();
646
+ this.element.show();
647
+
648
+ return this;
649
+ },
650
+
651
+ isOpen: function(){
652
+ return this._isOpen;
653
+ },
654
+
655
+ widget: function(){
656
+ return this.menu;
657
+ },
658
+
659
+ getButton: function(){
660
+ return this.button;
661
+ },
662
+
663
+ // react to option changes after initialization
664
+ _setOption: function( key, value ){
665
+ var menu = this.menu;
666
+
667
+ switch(key){
668
+ case 'header':
669
+ menu.find('div.ui-multiselect-header')[ value ? 'show' : 'hide' ]();
670
+ break;
671
+ case 'checkAllText':
672
+ menu.find('a.ui-multiselect-all span').eq(-1).text(value);
673
+ break;
674
+ case 'uncheckAllText':
675
+ menu.find('a.ui-multiselect-none span').eq(-1).text(value);
676
+ break;
677
+ case 'height':
678
+ menu.find('ul').last().height( parseInt(value,10) );
679
+ break;
680
+ case 'minWidth':
681
+ this.options[ key ] = parseInt(value,10);
682
+ this._setButtonWidth();
683
+ this._setMenuWidth();
684
+ break;
685
+ case 'selectedText':
686
+ case 'selectedList':
687
+ case 'noneSelectedText':
688
+ this.options[key] = value; // these all needs to update immediately for the update() call
689
+ this.update();
690
+ break;
691
+ case 'classes':
692
+ menu.add(this.button).removeClass(this.options.classes).addClass(value);
693
+ break;
694
+ case 'multiple':
695
+ menu.toggleClass('ui-multiselect-single', !value);
696
+ this.options.multiple = value;
697
+ this.element[0].multiple = value;
698
+ this.refresh();
699
+ }
700
+
701
+ $.Widget.prototype._setOption.apply( this, arguments );
702
+ }
703
+ });
704
+
705
+ })(jQuery);
js/jquery.multiselect.min.js ADDED
@@ -0,0 +1 @@
 
1
+ (function($,undefined){var multiselectID=0;$.widget("ech.multiselect",{options:{header:false,height:175,minWidth:225,classes:"",checkAllText:"Check all",uncheckAllText:"Uncheck all",noneSelectedText:selectoption,selectedText:"# "+selected,selectedList:0,show:null,hide:null,autoOpen:false,multiple:true,position:{}},_create:function(){var el=this.element.hide(),o=this.options;this.speed=$.fx.speeds._default;this._isOpen=false;var button=(this.button=$('<button type="button"><span class="ui-icon ui-icon-triangle-2-n-s"></span></button>')).addClass("ui-multiselect ui-widget ui-state-default ui-corner-all").addClass(o.classes).attr({title:el.attr("title"),"aria-haspopup":true,tabIndex:el.attr("tabIndex")}).insertAfter(el),buttonlabel=(this.buttonlabel=$("<span />")).html(o.noneSelectedText).appendTo(button),menu=(this.menu=$("<div />")).addClass("ui-multiselect-menu ui-widget ui-widget-content ui-corner-all").addClass(o.classes).appendTo(document.body),header=(this.header=$("<div />")).addClass("ui-widget-header ui-corner-all ui-multiselect-header ui-helper-clearfix").appendTo(menu),headerLinkContainer=(this.headerLinkContainer=$("<ul />")).addClass("ui-helper-reset").html(function(){if(o.header===true){return'<li><a class="ui-multiselect-all" href="#"><span class="ui-icon ui-icon-check"></span><span>'+o.checkAllText+'</span></a></li><li><a class="ui-multiselect-none" href="#"><span class="ui-icon ui-icon-closethick"></span><span>'+o.uncheckAllText+"</span></a></li>";}else{if(typeof o.header==="string"){return"<li>"+o.header+"</li>";}else{return"";}}}).append('<li class="ui-multiselect-close"><a href="#" class="ui-multiselect-close"><span class="ui-icon ui-icon-circle-close"></span></a></li>').appendTo(header),checkboxContainer=(this.checkboxContainer=$("<ul />")).addClass("ui-multiselect-checkboxes ui-helper-reset").appendTo(menu);this._bindEvents();this.refresh(true);if(!o.multiple){menu.addClass("ui-multiselect-single");}},_init:function(){if(this.options.header===false){this.header.hide();}if(!this.options.multiple){this.headerLinkContainer.find(".ui-multiselect-all, .ui-multiselect-none").hide();}if(this.options.autoOpen){this.open();}if(this.element.is(":disabled")){this.disable();}},refresh:function(init){var el=this.element,o=this.options,menu=this.menu,checkboxContainer=this.checkboxContainer,optgroups=[],html="",id=el.attr("id")||multiselectID++;el.find("option").each(function(i){var $this=$(this),parent=this.parentNode,title=this.innerHTML,description=this.title,value=this.value,inputID="ui-multiselect-"+(this.id||id+"-option-"+i),isDisabled=this.disabled,isSelected=this.selected,labelClasses=["ui-corner-all"],liClasses=(isDisabled?"ui-multiselect-disabled ":" ")+this.className,optLabel;if(parent.tagName==="OPTGROUP"){optLabel=parent.getAttribute("label");if($.inArray(optLabel,optgroups)===-1){html+='<li class="ui-multiselect-optgroup-label '+parent.className+'"><a href="#">'+optLabel+"</a></li>";optgroups.push(optLabel);}}if(isDisabled){labelClasses.push("ui-state-disabled");}if(isSelected&&!o.multiple){labelClasses.push("ui-state-active");}html+='<li class="'+liClasses+'">';html+='<label for="'+inputID+'" title="'+description+'" class="'+labelClasses.join(" ")+'">';html+='<input id="'+inputID+'" name="multiselect_'+id+'" type="'+(o.multiple?"checkbox":"radio")+'" value="'+value+'" title="'+title+'"';if(isSelected){html+=' checked="checked"';html+=' aria-selected="true"';}if(isDisabled){html+=' disabled="disabled"';html+=' aria-disabled="true"';}html+=" /><span>"+title+"</span></label></li>";});checkboxContainer.html(html);this.labels=menu.find("label");this.inputs=this.labels.children("input");this._setButtonWidth();this._setMenuWidth();this.button[0].defaultValue=this.update();if(!init){this._trigger("refresh");}},update:function(){var o=this.options,$inputs=this.inputs,$checked=$inputs.filter(":checked"),numChecked=$checked.length,value;if(numChecked===0){value=o.noneSelectedText;}else{if($.isFunction(o.selectedText)){value=o.selectedText.call(this,numChecked,$inputs.length,$checked.get());}else{if(/\d/.test(o.selectedList)&&o.selectedList>0&&numChecked<=o.selectedList){value=$checked.map(function(){return $(this).next().html();}).get().join(", ");}else{value=o.selectedText.replace("#",numChecked).replace("#",$inputs.length);}}}this.buttonlabel.html(value);return value;},_bindEvents:function(){var self=this,button=this.button;function clickHandler(){self[self._isOpen?"close":"open"]();return false;}button.find("span").bind("click.multiselect",clickHandler);button.bind({click:clickHandler,keypress:function(e){switch(e.which){case 27:case 38:case 37:self.close();break;case 39:case 40:self.open();break;}},mouseenter:function(){if(!button.hasClass("ui-state-disabled")){$(this).addClass("ui-state-hover");}},mouseleave:function(){$(this).removeClass("ui-state-hover");},focus:function(){if(!button.hasClass("ui-state-disabled")){$(this).addClass("ui-state-focus");}},blur:function(){$(this).removeClass("ui-state-focus");}});this.header.delegate("a","click.multiselect",function(e){if($(this).hasClass("ui-multiselect-close")){self.close();}else{self[$(this).hasClass("ui-multiselect-all")?"checkAll":"uncheckAll"]();}e.preventDefault();});this.menu.delegate("li.ui-multiselect-optgroup-label a","click.multiselect",function(e){e.preventDefault();var $this=$(this),$inputs=$this.parent().nextUntil("li.ui-multiselect-optgroup-label").find("input:visible:not(:disabled)"),nodes=$inputs.get(),label=$this.parent().text();if(self._trigger("beforeoptgrouptoggle",e,{inputs:nodes,label:label})===false){return;}self._toggleChecked($inputs.filter(":checked").length!==$inputs.length,$inputs);self._trigger("optgrouptoggle",e,{inputs:nodes,label:label,checked:nodes[0].checked});}).delegate("label","mouseenter.multiselect",function(){if(!$(this).hasClass("ui-state-disabled")){self.labels.removeClass("ui-state-hover");$(this).addClass("ui-state-hover").find("input").focus();}}).delegate("label","keydown.multiselect",function(e){e.preventDefault();switch(e.which){case 9:case 27:self.close();break;case 38:case 40:case 37:case 39:self._traverse(e.which,this);break;case 13:$(this).find("input")[0].click();break;}}).delegate('input[type="checkbox"], input[type="radio"]',"click.multiselect",function(e){var $this=$(this),val=this.value,checked=this.checked,tags=self.element.find("option");if(this.disabled||self._trigger("click",e,{value:val,text:this.title,checked:checked})===false){e.preventDefault();return;}$this.focus();$this.attr("aria-selected",checked);tags.each(function(){if(this.value===val){this.selected=checked;}else{if(!self.options.multiple){this.selected=false;}}});if(!self.options.multiple){self.labels.removeClass("ui-state-active");$this.closest("label").toggleClass("ui-state-active",checked);self.close();}self.element.trigger("change");setTimeout($.proxy(self.update,self),10);});$(document).bind("mousedown.multiselect",function(e){if(self._isOpen&&!$.contains(self.menu[0],e.target)&&!$.contains(self.button[0],e.target)&&e.target!==self.button[0]){self.close();}});$(this.element[0].form).bind("reset.multiselect",function(){setTimeout($.proxy(self.refresh,self),10);});},_setButtonWidth:function(){var width=this.element.outerWidth(),o=this.options;if(/\d/.test(o.minWidth)&&width<o.minWidth){width=o.minWidth;}this.button.width(width);},_setMenuWidth:function(){var m=this.menu,width=this.button.outerWidth()-parseInt(m.css("padding-left"),10)-parseInt(m.css("padding-right"),10)-parseInt(m.css("border-right-width"),10)-parseInt(m.css("border-left-width"),10);m.width(width||this.button.outerWidth());},_traverse:function(which,start){var $start=$(start),moveToLast=which===38||which===37,$next=$start.parent()[moveToLast?"prevAll":"nextAll"]("li:not(.ui-multiselect-disabled, .ui-multiselect-optgroup-label)")[moveToLast?"last":"first"]();if(!$next.length){var $container=this.menu.find("ul").last();this.menu.find("label")[moveToLast?"last":"first"]().trigger("mouseover");$container.scrollTop(moveToLast?$container.height():0);}else{$next.find("label").trigger("mouseover");}},_toggleState:function(prop,flag){return function(){if(!this.disabled){this[prop]=flag;}if(flag){this.setAttribute("aria-selected",true);}else{this.removeAttribute("aria-selected");}};},_toggleChecked:function(flag,group){var $inputs=(group&&group.length)?group:this.inputs,self=this;$inputs.each(this._toggleState("checked",flag));$inputs.eq(0).focus();this.update();var values=$inputs.map(function(){return this.value;}).get();this.element.find("option").each(function(){if(!this.disabled&&$.inArray(this.value,values)>-1){self._toggleState("selected",flag).call(this);}});if($inputs.length){this.element.trigger("change");}},_toggleDisabled:function(flag){this.button.attr({disabled:flag,"aria-disabled":flag})[flag?"addClass":"removeClass"]("ui-state-disabled");var inputs=this.menu.find("input");var key="ech-multiselect-disabled";if(flag){inputs=inputs.filter(":enabled").data(key,true);}else{inputs=inputs.filter(function(){return $.data(this,key)===true;}).removeData(key);}inputs.attr({disabled:flag,"arial-disabled":flag}).parent()[flag?"addClass":"removeClass"]("ui-state-disabled");this.element.attr({disabled:flag,"aria-disabled":flag});},open:function(e){var self=this,button=this.button,menu=this.menu,speed=this.speed,o=this.options,args=[];if(this._trigger("beforeopen")===false||button.hasClass("ui-state-disabled")||this._isOpen){return;}var $container=menu.find("ul").last(),effect=o.show,pos=button.offset();if($.isArray(o.show)){effect=o.show[0];speed=o.show[1]||self.speed;}if(effect){args=[effect,speed];}$container.scrollTop(0).height(o.height);if($.ui.position&&!$.isEmptyObject(o.position)){o.position.of=o.position.of||button;menu.show().position(o.position).hide();}else{menu.css({top:pos.top+button.outerHeight(),left:pos.left});}$.fn.show.apply(menu,args);this.labels.eq(0).trigger("mouseover").trigger("mouseenter").find("input").trigger("focus");button.addClass("ui-state-active");this._isOpen=true;this._trigger("open");},close:function(){if(this._trigger("beforeclose")===false){return;}var o=this.options,effect=o.hide,speed=this.speed,args=[];if($.isArray(o.hide)){effect=o.hide[0];speed=o.hide[1]||this.speed;}if(effect){args=[effect,speed];}$.fn.hide.apply(this.menu,args);this.button.removeClass("ui-state-active").trigger("blur").trigger("mouseleave");this._isOpen=false;this._trigger("close");},enable:function(){this._toggleDisabled(false);},disable:function(){this._toggleDisabled(true);},checkAll:function(e){this._toggleChecked(true);this._trigger("checkAll");},uncheckAll:function(){this._toggleChecked(false);this._trigger("uncheckAll");},getChecked:function(){return this.menu.find("input").filter(":checked");},destroy:function(){$.Widget.prototype.destroy.call(this);this.button.remove();this.menu.remove();this.element.show();return this;},isOpen:function(){return this._isOpen;},widget:function(){return this.menu;},getButton:function(){return this.button;},_setOption:function(key,value){var menu=this.menu;switch(key){case"header":menu.find("div.ui-multiselect-header")[value?"show":"hide"]();break;case"checkAllText":menu.find("a.ui-multiselect-all span").eq(-1).text(value);break;case"uncheckAllText":menu.find("a.ui-multiselect-none span").eq(-1).text(value);break;case"height":menu.find("ul").last().height(parseInt(value,10));break;case"minWidth":this.options[key]=parseInt(value,10);this._setButtonWidth();this._setMenuWidth();break;case"selectedText":case"selectedList":case"noneSelectedText":this.options[key]=value;this.update();break;case"classes":menu.add(this.button).removeClass(this.options.classes).addClass(value);break;case"multiple":menu.toggleClass("ui-multiselect-single",!value);this.options.multiple=value;this.element[0].multiple=value;this.refresh();}$.Widget.prototype._setOption.apply(this,arguments);}});})(jQuery);
js/mailin.js ADDED
@@ -0,0 +1,216 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ $(document).ready(function () {
2
+
3
+
4
+ $("#mySelectBox").multiselect();
5
+
6
+ var token = $('#token').val();
7
+
8
+ var radios = $('input:radio[name=managesubscribe]:checked').val();
9
+
10
+ if(radios==0) {
11
+ $('.subscribe').hide();
12
+ }else{
13
+ $('.subscribe').show();
14
+ }
15
+
16
+ var mailin_api_status = $('input:radio[name=mailin_api_status]:checked').val();
17
+
18
+ if(mailin_api_status==0){
19
+ $('.blog_form').hide();
20
+ $('.subscribe').hide();
21
+ $('.apikey').hide();
22
+ }else{
23
+ $('.blog_form').show();
24
+ $('.apikey').show();
25
+ var radios = $('input:radio[name=managesubscribe]:checked').val();
26
+
27
+ if(radios==0) {
28
+ $('.subscribe').hide();
29
+ }else{
30
+ $('.subscribe').show();
31
+ }
32
+ }
33
+
34
+
35
+
36
+ $('.mailin_api_status').click(function (){
37
+
38
+ var mailin_api_status = jQuery(this).val();
39
+
40
+ if (mailin_api_status == 0){
41
+ $('.blog_form').hide();
42
+ $('.subscribe').hide();
43
+ $('.apikey').hide();
44
+ }else{
45
+ $('.blog_form').show();
46
+ $('.apikey').show();
47
+ var radios = $('input:radio[name=managesubscribe]:checked').val();
48
+
49
+ if(radios==0) {
50
+ $('.subscribe').hide();
51
+ }else{
52
+ $('.subscribe').show();
53
+ }
54
+
55
+ }
56
+ });
57
+
58
+
59
+ $('#showUserlist').click(function () {
60
+
61
+ if ($('.widefat').is(':hidden')) {
62
+ $('#Spantextless').show();
63
+ $('#Spantextmore').hide();
64
+ } else {
65
+ $('#Spantextmore').show();
66
+ $('#Spantextless').hide();
67
+ }
68
+ $('.widefat').slideToggle("fast");
69
+ });
70
+
71
+ function loadData(page)
72
+ {
73
+ var token = $('#token').val();
74
+ var language = $('#language').val();
75
+ $("#pagenumber").val(page);
76
+ var path= $("#path").val();
77
+
78
+ $.ajax({
79
+ type: "POST",
80
+ async: false,
81
+ url: base_url + "/mailin/ajaxcontent.php",
82
+ data: "page=" + page + "&token="+token+"&language="+language,
83
+ beforeSend: function () {
84
+ $('#ajax-busy').show();
85
+ },
86
+ success: function (msg) {
87
+ $('#ajax-busy').hide();
88
+ $(".midleft").html(msg);
89
+ $(".midleft").ajaxComplete(function (event, request, settings) {
90
+
91
+ $(".midleft").html(msg);
92
+
93
+ });
94
+ }
95
+ });
96
+ }
97
+
98
+ loadData(1); // For first time page load
99
+ // default
100
+ // results
101
+
102
+ $('body').on('click', '.pagination li.active', function () {
103
+ var page = $(this).attr('p');
104
+ $('#page_no').val(page);
105
+ loadData(page);
106
+ });
107
+
108
+
109
+
110
+ $("body .mailin_smtp_action").click(function () {
111
+
112
+ var smtptest = jQuery(this).val();
113
+
114
+ if (smtptest == 0) {
115
+ $('#smtptest').hide();
116
+ }else{
117
+ $('#smtptest').show();
118
+ }
119
+ $.ajax({
120
+ type: "POST",
121
+ async: false,
122
+ url: base_url + "/mailin/ajaxsmtp.php",
123
+ data: "mailin_smtp_action=" + smtptest + "&token="+token,
124
+ beforeSend: function () {
125
+ $('#ajax-busy').show();
126
+ },
127
+ success: function (msg) {
128
+
129
+ $('#ajax-busy').hide();
130
+
131
+ }
132
+ });
133
+ });
134
+
135
+
136
+ $(".managesubscribe").click(function () {
137
+
138
+ var managesubscribe = jQuery(this).val();
139
+
140
+ if (managesubscribe == 0) {
141
+ $('.subscribe').hide();
142
+ }else{
143
+ $('.subscribe').show();
144
+ }
145
+ $.ajax({
146
+ type: "POST",
147
+ async: false,
148
+ url: base_url + "/mailin/ajaxmanagesubscribe.php",
149
+ data: "managesubscribe=" + managesubscribe + "&token="+token,
150
+ beforeSend: function () {
151
+ $('#ajax-busy').show();
152
+ },
153
+ success: function (msg) {
154
+
155
+ $('#ajax-busy').hide();
156
+
157
+ }
158
+ });
159
+ });
160
+
161
+
162
+
163
+ $('<div id="ajax-busy"/> loading..')
164
+ .css({
165
+ opacity: 0.5,
166
+ position: 'fixed',
167
+ top: 0,
168
+ left: 0,
169
+ width: '100%',
170
+ height: $(window).height() + 'px',
171
+ background: 'white url(' + base_url + '/mailin/img/loading_anim.gif) no-repeat center'
172
+ }).hide().appendTo('body');
173
+
174
+
175
+
176
+
177
+ $('body').on('click', '.ajax_contacts_href', function (e) {
178
+ var email = $(this).attr('email');
179
+ var status = $(this).attr('status');
180
+
181
+
182
+ $.ajax({
183
+ type: "POST",
184
+ async: false,
185
+ url: base_url + "/mailin/ajaxcall.php",
186
+ data: "email=" + email + "&newsletter=" + status + "&token="+token,
187
+ beforeSend: function () {
188
+ $('#ajax-busy').show();
189
+ },
190
+ success: function (msg) {
191
+ $('#ajax-busy').hide();
192
+ }
193
+ });
194
+
195
+ var page_no = $('#pagenumber').val();
196
+ loadData(page_no); // For first time page load
197
+
198
+ });
199
+
200
+ jQuery('.toolTip')
201
+ .hover(function () {
202
+ var title = jQuery(this).attr('title');
203
+ var offset = jQuery(this).offset();
204
+
205
+ jQuery('body').append(
206
+ '<div id="tipkk" style="top:' + offset.top + 'px; left:' + offset.left + 'px; ">' + title + '</div>');
207
+ var tipContentHeight = jQuery('#tipkk')
208
+ .height() + 25;
209
+ jQuery('#tipkk').css(
210
+ 'top', (offset.top - tipContentHeight) + 'px');
211
+
212
+ }, function () {
213
+ jQuery('#tipkk').remove();
214
+ });
215
+
216
+ });
js/mailin.min.js ADDED
@@ -0,0 +1 @@
 
1
+ $(document).ready(function(){$("#mySelectBox").multiselect();var token=$("#token").val();var radios=$("input:radio[name=managesubscribe]:checked").val();if(radios==0){$(".subscribe").hide();}else{$(".subscribe").show();}var mailin_api_status=$("input:radio[name=mailin_api_status]:checked").val();if(mailin_api_status==0){$(".blog_form").hide();$(".subscribe").hide();$(".apikey").hide();}else{$(".blog_form").show();$(".apikey").show();var radios=$("input:radio[name=managesubscribe]:checked").val();if(radios==0){$(".subscribe").hide();}else{$(".subscribe").show();}}$(".mailin_api_status").click(function(){var mailin_api_status=jQuery(this).val();if(mailin_api_status==0){$(".blog_form").hide();$(".subscribe").hide();$(".apikey").hide();}else{$(".blog_form").show();$(".apikey").show();var radios=$("input:radio[name=managesubscribe]:checked").val();if(radios==0){$(".subscribe").hide();}else{$(".subscribe").show();}}});$("#showUserlist").click(function(){if($(".widefat").is(":hidden")){$("#Spantextless").show();$("#Spantextmore").hide();}else{$("#Spantextmore").show();$("#Spantextless").hide();}$(".widefat").slideToggle("fast");});function loadData(page){var token=$("#token").val();var language=$("#language").val();$("#pagenumber").val(page);var path=$("#path").val();$.ajax({type:"POST",async:false,url:base_url+"/mailin/ajaxcontent.php",data:"page="+page+"&token="+token+"&language="+language,beforeSend:function(){$("#ajax-busy").show();},success:function(msg){$("#ajax-busy").hide();$(".midleft").html(msg);$(".midleft").ajaxComplete(function(event,request,settings){$(".midleft").html(msg);});}});}loadData(1);$("body").on("click",".pagination li.active",function(){var page=$(this).attr("p");$("#page_no").val(page);loadData(page);});$("body .mailin_smtp_action").click(function(){var smtptest=jQuery(this).val();if(smtptest==0){$("#smtptest").hide();}else{$("#smtptest").show();}$.ajax({type:"POST",async:false,url:base_url+"/mailin/ajaxsmtp.php",data:"mailin_smtp_action="+smtptest+"&token="+token,beforeSend:function(){$("#ajax-busy").show();},success:function(msg){$("#ajax-busy").hide();}});});$(".managesubscribe").click(function(){var managesubscribe=jQuery(this).val();if(managesubscribe==0){$(".subscribe").hide();}else{$(".subscribe").show();}$.ajax({type:"POST",async:false,url:base_url+"/mailin/ajaxmanagesubscribe.php",data:"managesubscribe="+managesubscribe+"&token="+token,beforeSend:function(){$("#ajax-busy").show();},success:function(msg){$("#ajax-busy").hide();}});});$('<div id="ajax-busy"/> loading..').css({opacity:0.5,position:"fixed",top:0,left:0,width:"100%",height:$(window).height()+"px",background:"white url("+base_url+"/mailin/img/loading_anim.gif) no-repeat center"}).hide().appendTo("body");$("body").on("click",".ajax_contacts_href",function(e){var email=$(this).attr("email");var status=$(this).attr("status");$.ajax({type:"POST",async:false,url:base_url+"/mailin/ajaxcall.php",data:"email="+email+"&newsletter="+status+"&token="+token,beforeSend:function(){$("#ajax-busy").show();},success:function(msg){$("#ajax-busy").hide();}});var page_no=$("#pagenumber").val();loadData(page_no);});jQuery(".toolTip").hover(function(){var title=jQuery(this).attr("title");var offset=jQuery(this).offset();jQuery("body").append('<div id="tipkk" style="top:'+offset.top+"px; left:"+offset.left+'px; ">'+title+"</div>");var tipContentHeight=jQuery("#tipkk").height()+25;jQuery("#tipkk").css("top",(offset.top-tipContentHeight)+"px");},function(){jQuery("#tipkk").remove();});});
lang/index.php ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
1
+ <?php
2
+ header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
3
+ header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
4
+ header('Cache-Control: no-store, no-cache, must-revalidate');
5
+ header('Cache-Control: post-check=0, pre-check=0', false);
6
+ header('Pragma: no-cache');
7
+ header('Location: ../');
8
+ exit;
lang/mailin_lang-fr_FR.mo CHANGED
Binary file
lang/mailin_lang-fr_FR.po CHANGED
@@ -3,15 +3,31 @@ msgstr ""
3
  "Project-Id-Version: Mailin 1.0.0\n"
4
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/mailin\n"
5
  "POT-Creation-Date: 2012-07-10 12:23-0400\n"
6
- "PO-Revision-Date: 2012-08-30 16:40+0530\n"
7
- "Last-Translator: sachin <sachinat911@gmail.com>\n"
8
  "Language-Team: Contributed <sachinat911@gmail.com>\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
 
12
 
13
  msgid "Your Lists"
14
- msgstr "Vos listes"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
15
 
16
  msgid "Mailin Setup"
17
  msgstr "Paramètres de Mailin"
@@ -28,14 +44,11 @@ msgstr "Veuillez vérifier les listes dans lesquelles seront ajoutés les abonn
28
  msgid "Update List"
29
  msgstr "Mettre à jour la liste"
30
 
31
- msgid "Logout"
32
- msgstr "Déconnexion"
33
-
34
  msgid "Please provide your login information"
35
  msgstr "Veuillez renseigner vos identifiants"
36
 
37
  msgid "To start using the Mailin plugin, please enter your Mailin API Key below."
38
- msgstr "Pour commencer à utiliser le module de Mailin, veuillez saisir votre clé API ci-dessous"
39
 
40
  msgid "Don't have a Mailin account?"
41
  msgstr "Vous n'avez pas un compte Mailin?"
@@ -46,6 +59,12 @@ msgstr "Inscrivez-vous ici gratuitement"
46
  msgid "API Key"
47
  msgstr "Clé API"
48
 
 
 
 
 
 
 
49
  msgid "Validate & Save"
50
  msgstr "Valider et enregistrer"
51
 
@@ -64,12 +83,24 @@ msgstr "Liste mise à jour avec succès"
64
  msgid "Please select a list"
65
  msgstr "Veuillez sélectionner une liste"
66
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
67
  msgid "You have successfully subscribed Mailin newsletter!"
68
  msgstr "Vous êtes abonné à la newsletter de Mailin"
69
 
70
- msgid "Please enter valid email"
71
- msgstr "Veuillez saisir une adresse email valide"
72
-
73
  msgid "Subscribe to newsletter"
74
  msgstr "Abonnez-vous à la newsletter"
75
 
@@ -94,17 +125,32 @@ msgstr "Les abonnés suivants sont inscrits à la newsletter de Mailin"
94
  msgid "Synchronize Users"
95
  msgstr "Synchroniser les abonnés"
96
 
97
- msgid "No users have subscribed Mailin newsletter yet."
98
  msgstr "Aucun utilisateur abonné à la newsletter de Mailin"
99
 
100
- msgid "You have no campaigns on Mailin.fr, please update campaigns if you have added any campaign recently."
101
- msgstr "Vous n'avez aucune campagne sur Mailin.fr, veuillez actualiser vos campagnes si vous en avez ajouté récemment "
 
 
 
 
 
 
 
 
 
 
 
 
102
 
103
- msgid "Please enter first name"
104
- msgstr "Veuillez saisir votre prénom"
105
 
106
- msgid "Please enter last name"
107
- msgstr "Veuillez saisir votre nom"
 
 
 
108
 
109
  msgid "Campaigns updated successfully"
110
  msgstr "Campagnes mise à jour avec succès"
@@ -121,14 +167,20 @@ msgstr "Prénom"
121
  msgid "Last name"
122
  msgstr "Nom"
123
 
124
- msgid "Please enter valid e-mail"
125
- msgstr "Veuillez saisir un e-mail valide"
126
 
127
- msgid "Please enter your first name"
128
- msgstr "Veuillez saisir votre prénom"
129
 
130
- msgid "Please enter your last name"
131
- msgstr "Veuillez saisir votre nom"
 
 
 
 
 
 
132
 
133
  msgid "List Name"
134
  msgstr "Nom de la liste"
@@ -145,17 +197,38 @@ msgstr "Nom de la campagne"
145
  msgid "Sent"
146
  msgstr "Envoyés"
147
 
 
 
 
148
  msgid "Remaining"
149
  msgstr "Restant"
150
 
151
  msgid "No of lists"
152
  msgstr "Nombre de listes"
153
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
154
  msgid "Username"
155
  msgstr "Nom d'utilisateur"
156
 
157
- msgid "Subscription date"
158
- msgstr "Date de souscription"
159
 
160
  msgid "Email"
161
  msgstr "Email"
@@ -175,6 +248,144 @@ msgstr "Si vous voulez synchroniser les utilisateurs désinscrits à partir de M
175
  msgid "Subscribe"
176
  msgstr "S'abonner"
177
 
178
- msgid "To synchronize the emails id of your subscribers from Mailin plateform to your e-commerce website, you should add this link {cron_link} as a cron job (using for example: cpanel or crontab) and this link should be executed each day. You can also synchronize the subscribers manually by clicking on the button Synchronize Users"
179
- msgstr "Pour synchroniser les emails de vos abonnés de la plateforme Mailin vers votre site E-commerce, il faudra ajouter cette url {cron_link} à la liste de vos tâches planifiées (CRON) en utilisant par exemple crontab, cpanel, etc...Cette url doit être exécutée tous les jours. Vous pouvez aussi synchroniser vos abonnés en cliquant manuellement sur le bouton Synchroniser les abonnés."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
180
 
3
  "Project-Id-Version: Mailin 1.0.0\n"
4
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/mailin\n"
5
  "POT-Creation-Date: 2012-07-10 12:23-0400\n"
6
+ "PO-Revision-Date: 2013-07-16 17:18+0530\n"
7
+ "Last-Translator: deshbandhu <deshbandhu.slit@gmail.com>\n"
8
  "Language-Team: Contributed <sachinat911@gmail.com>\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 1.5.5\n"
13
 
14
  msgid "Your Lists"
15
+ msgstr "Vos listes "
16
+
17
+ msgid "Manage unsubscription from Front-Office"
18
+ msgstr "Gérer les désinscriptions du Front-Office"
19
+
20
+ msgid "If you activate this option, you will let your customers the possiblity to unsubscribe from your newsletter using the newsletter block displayed in the home page."
21
+ msgstr "En activant cette option, vous laissez à vos contacts la possibilité de se désinscrire de votre newsletter à partir du bloc newsletter affiché sur la page d'accueil."
22
+
23
+ msgid "From: Mailinblue <contact@mailinblue.com>"
24
+ msgstr "From: Mailin <contact@mailin.fr>"
25
+
26
+ msgid "Phone : 0899 25 30 61"
27
+ msgstr "Tél: 0899 25 30 61"
28
+
29
+ msgid "http://www.mailinblue.com/mailin-smtp"
30
+ msgstr "http://www.mailin.fr/mailin-smtp"
31
 
32
  msgid "Mailin Setup"
33
  msgstr "Paramètres de Mailin"
44
  msgid "Update List"
45
  msgstr "Mettre à jour la liste"
46
 
 
 
 
47
  msgid "Please provide your login information"
48
  msgstr "Veuillez renseigner vos identifiants"
49
 
50
  msgid "To start using the Mailin plugin, please enter your Mailin API Key below."
51
+ msgstr "Pour commencer à utiliser le module de Mailin, veuillez saisir votre clé API ci-dessous."
52
 
53
  msgid "Don't have a Mailin account?"
54
  msgstr "Vous n'avez pas un compte Mailin?"
59
  msgid "API Key"
60
  msgstr "Clé API"
61
 
62
+ msgid "Unsubscription successful"
63
+ msgstr "Vous êtes désabonné de la newsletter"
64
+
65
+ msgid "Subscription successful"
66
+ msgstr "Vous êtes abonné à la newsletter"
67
+
68
  msgid "Validate & Save"
69
  msgstr "Valider et enregistrer"
70
 
83
  msgid "Please select a list"
84
  msgstr "Veuillez sélectionner une liste"
85
 
86
+ msgid "Newsletter WordPress status"
87
+ msgstr "Inscrit sur WordPress"
88
+
89
+ msgid "Send email test From / To"
90
+ msgstr "Envoyé un email de test à"
91
+
92
+ msgid "Mail sent"
93
+ msgstr "Email envoyé"
94
+
95
+ msgid "Mail not sent"
96
+ msgstr "Email non envoyé."
97
+
98
+ msgid "Your SMTP account is not activated and therefore you can't use Mailin SMTP. For more informations, please contact our support to: contact@mailinblue.com"
99
+ msgstr "Votre compte SMTP n'est pas actif et par conséquent vous ne pouvez pas utiliser Mailin SMTP, veuillez contacter le support de mailin à : contact@mailin.fr\""
100
+
101
  msgid "You have successfully subscribed Mailin newsletter!"
102
  msgstr "Vous êtes abonné à la newsletter de Mailin"
103
 
 
 
 
104
  msgid "Subscribe to newsletter"
105
  msgstr "Abonnez-vous à la newsletter"
106
 
125
  msgid "Synchronize Users"
126
  msgstr "Synchroniser les abonnés"
127
 
128
+ msgid "No users have subscribed mailin newsletter yet"
129
  msgstr "Aucun utilisateur abonné à la newsletter de Mailin"
130
 
131
+ msgid "Activate Mailin SMTP"
132
+ msgstr "Activé Mailin SMTP"
133
+
134
+ msgid "Activate Mailin SMTP for your transactional emails"
135
+ msgstr "Activé Mailin SMTP pour vos emails transactionnels"
136
+
137
+ msgid "Please enter valid e-mail"
138
+ msgstr "Veuillez entrer un e-mail valide"
139
+
140
+ msgid "Please enter your first name"
141
+ msgstr "Veuillez entrer votre prénom"
142
+
143
+ msgid "Please enter your last name"
144
+ msgstr "Veuillez entrer votre nom"
145
 
146
+ msgid "Manage unsubscription"
147
+ msgstr "Gérer les désinscriptions"
148
 
149
+ msgid "You are logged into Mailin plugin with your API Key n°"
150
+ msgstr "Vous êtes connecté au plugin Mailin avec votre clé API n°"
151
+
152
+ msgid "Email filled does not exist in our database"
153
+ msgstr "L'email renseigné n'existe pas dans la base de données"
154
 
155
  msgid "Campaigns updated successfully"
156
  msgstr "Campagnes mise à jour avec succès"
167
  msgid "Last name"
168
  msgstr "Nom"
169
 
170
+ msgid "Title"
171
+ msgstr "Titre"
172
 
173
+ msgid "Newsletter Mailin Status"
174
+ msgstr "Inscrit sur Mailin"
175
 
176
+ msgid "Display first name input"
177
+ msgstr "Afficher le champ Prénom"
178
+
179
+ msgid "Display last name input"
180
+ msgstr "Afficher le champ Nom"
181
+
182
+ msgid "Subscribe to the newsletter"
183
+ msgstr "Abonnez-vous à la newsletter"
184
 
185
  msgid "List Name"
186
  msgstr "Nom de la liste"
197
  msgid "Sent"
198
  msgstr "Envoyés"
199
 
200
+ msgid "Validate"
201
+ msgstr "Valider"
202
+
203
  msgid "Remaining"
204
  msgstr "Restant"
205
 
206
  msgid "No of lists"
207
  msgstr "Nombre de listes"
208
 
209
+ msgid "Enter an email address below to send a test message"
210
+ msgstr "Entrez une adresse e-mail ci-dessous pour envoyer un message de test"
211
+
212
+ msgid "Send a Test Email"
213
+ msgstr "Envoyer un e-mail de test"
214
+
215
+ msgid "Smtp"
216
+ msgstr "Activé Mailin SMTP pour vos emails transactionnels"
217
+
218
+ msgid "Send"
219
+ msgstr "Envoyer"
220
+
221
+ msgid "Yes"
222
+ msgstr "oui"
223
+
224
+ msgid "No"
225
+ msgstr "Non"
226
+
227
  msgid "Username"
228
  msgstr "Nom d'utilisateur"
229
 
230
+ msgid "Date of last update"
231
+ msgstr "Date de dernière mise à jour"
232
 
233
  msgid "Email"
234
  msgstr "Email"
248
  msgid "Subscribe"
249
  msgstr "S'abonner"
250
 
251
+ msgid "Unsubscribe"
252
+ msgstr " Se désabonner"
253
+
254
+ msgid "Settings"
255
+ msgstr "Paramètres"
256
+
257
+ msgid "To synchronize the emails of your customers from Mailinblue platform to your WordPress website, you should run "
258
+ msgstr "Pour synchroniser les emails de vos clients de la plateforme Mailin vers votre site WordPress, il faudra exécuter "
259
+
260
+ msgid " each day."
261
+ msgstr " chaque jour. "
262
+
263
+ msgid " this link"
264
+ msgstr "ce lien"
265
+
266
+ msgid "Successfully Updated"
267
+ msgstr "Mise à jour effectuée avec succès"
268
+
269
+ msgid "Mailinblue : THE all-in-one plugin for your marketing and transactional emails."
270
+ msgstr "Mailin : LE plugin tout-en-un pour vos emails marketing et transactionnels."
271
+
272
+ msgid "Contact Mailinblue team"
273
+ msgstr "Contactez l'équipe Mailin"
274
+
275
+ msgid "Contact us:"
276
+ msgstr "Contactez-nous : "
277
+
278
+ msgid "contact@mailinblue.com"
279
+ msgstr "contact@mailin.fr"
280
+
281
+ msgid "For further informations, please visit our website:"
282
+ msgstr "Pour plus d'informations, merci de visiter notre site internet :"
283
+
284
+ msgid "http://www.mailinblue.com/"
285
+ msgstr "http://www.mailin.fr/"
286
+
287
+ msgid "With the Mailinblue plugin, you can find everything you need to easily and efficiently send your emailing campains to your prospects and customers. "
288
+ msgstr "Avec le module Mailin, retrouvez tout ce dont vous avez besoin pour envoyer simplement et efficacement vos campagnes emailing à vos prospects et clients :"
289
+
290
+ msgid "Synchronize your subscribers with Mailinblue (subscribed and unsubscribed contacts)"
291
+ msgstr "Synchronisation automatique de vos contacts avec Mailin (inscrits et désinscrits)"
292
+
293
+ msgid "Easily create good looking emailings"
294
+ msgstr "Outils d'aide à la création d'emailings"
295
+
296
+ msgid "Schedule your campaigns"
297
+ msgstr "Programmation des campagnes"
298
+
299
+ msgid "Track your results and optimize"
300
+ msgstr "Suivi des résultats"
301
+
302
+ msgid "Monitor your transactional emails (purchase confirmation, password reset …) with a better deliverability and real-time analytics"
303
+ msgstr "Pilotage simple et efficace de vos emails transactionnels (emails de confirmation de commande, de récupération de mot de passe …) avec une meilleure délivrabilité et le détail des ouvertures et des clics en temps réel "
304
+
305
+ msgid "Why should you use Mailinblue ?"
306
+ msgstr "Pourquoi utiliser Mailin ?"
307
+
308
+ msgid "Optimized deliverability"
309
+ msgstr "Une délivrabilité optimisée"
310
+
311
+ msgid "Unbeatable pricing &ndash; best value in the industry"
312
+ msgstr "Les meilleurs prix du marché, sans engagement"
313
+
314
+ msgid "Technical support, by phone or by email"
315
+ msgstr "Un support technique joignable par téléphone ou par email"
316
+
317
+ msgid "Prerequisites"
318
+ msgstr "Pré-requis"
319
+
320
+ msgid "- You should have a Mailinblue account. You can create a free account here:"
321
+ msgstr "- Pour installer ce module, il est nécessaire d'avoir un compte Mailin. Vous pouvez en créer un gratuitement sur le site:"
322
+
323
+ msgid "Activate Mailinblue:"
324
+ msgstr "Activer Mailin"
325
+
326
+ msgid "Mailinblue SMTP"
327
+ msgstr "Mailin SMTP"
328
+
329
+ msgid "Activate Mailinblue SMTP:"
330
+ msgstr "Activer Mailin SMTP"
331
+
332
+ msgid "Please enter your API key from your Mailinblue account and if you donot have it yet, please go to www.mailinblue.com and subscribe. You can then get the API key from https://my.mailinblue.com/advanced/apikey"
333
+ msgstr "Veuillez renseigner votre clé API qui est liée à votre compte Mailin. Elle est disponible sur la page Fonctionnalités Avancées > Clé API . Si vous ne possédez pas de compte Mailin, vous devez créer un compte sur le site www.mailin.fr"
334
+
335
+ msgid "Activate Mailinblue to manage subscribers:"
336
+ msgstr "Activer Mailin pour gérer vos contacts"
337
+
338
+ msgid "Select the contact list where you want to save the contacts of your site WordPress. By default, we have created a list WordPress in your Mailinblue account and we have selected it"
339
+ msgstr "Choisissez les listes de contacts où vous souhaitez enregistrer les contacts de votre site WordPress. Nous avons créé automatiquement une liste WordPress sur votre compte Mailin, elle est sélectionnée par défaut."
340
+
341
+ msgid "Transactional email is an expected email because it has been triggered automatically after a transaction or a specific event. Common examples of transactional email is : account opening and welcome message, order shipment confirmation, shipment tracking and purchase order status, registration via a contact form, account termination, payment confirmation, invoice..."
342
+ msgstr "Mailin SMTP permet d’envoyer des emails transactionnels (un email transactionnel est envoyé pour attester d’une transaction ou d’un évènement. Exemple : email d’inscription, de confirmation de commande, une facture …). En activant cette fonctionnalité, vous êtes sûr que vos emails transactionnels parviennent bien à vos destinataires et vous pouvez consulter l'historique de vos emails (ouvertures, clics …)."
343
+
344
+ msgid "Mailinblue"
345
+ msgstr "Mailin"
346
+
347
+ msgid "Activate Mailinblue SMTP for your transactional emails"
348
+ msgstr "Activer Mailin SMTP pour vos emails transactionnels"
349
+
350
+ msgid "For less details,"
351
+ msgstr " Pour moins de détails, cliquez"
352
+
353
+ msgid "For more details,"
354
+ msgstr " Pour plus de détails, cliquez"
355
+
356
+ msgid "Contacts list"
357
+ msgstr "Liste des contacts"
358
+
359
+ msgid "Click on the icon to subscribe / unsubscribe the contact from Mailinblue and WordPress."
360
+ msgstr "Cliquez sur l'icône pour inscrire / désinscrire un contact de Mailin et WordPress."
361
+
362
+ msgid "You have "
363
+ msgstr "Vous avez "
364
+
365
+ msgid " contacts subscribed and "
366
+ msgstr " contacts inscrits et "
367
+
368
+ msgid " contacts unsubscribed from WordPress. "
369
+ msgstr " contacts désinscrits de WordPress. "
370
+
371
+ msgid "this link"
372
+ msgstr "ce lien"
373
+
374
+ msgid "click here"
375
+ msgstr "ici"
376
+
377
+ msgid "Select option"
378
+ msgstr "Sélectionnez"
379
+
380
+ msgid "Selected"
381
+ msgstr "liste(s) sélectionnée(s)"
382
+
383
+ msgid "mailinblue.jpg"
384
+ msgstr "mailin.jpg"
385
+
386
+ msgid "Synchronize your WordPress contacts with Mailin platform and send transactional emails easily to your customers."
387
+ msgstr "Synchroniser les contacts de votre site WordPress avec la plateforme Mailin et envoyer facilement les emails transactionnels à vos clients."
388
+
389
+ msgid " is a product of Mailinblue and it allows you to manage your transactional emails"
390
+ msgstr " est un produit de Mailin et vous permet de gérer vos emails transactionnels."
391
 
listings.php CHANGED
@@ -1,262 +1,407 @@
1
- <div class="mailin_row">
2
- <table class="mailin_admin_head">
3
- <tbody>
4
- <tr>
5
- <td>
6
- <h3 style="margin:0">
7
- <?php echo esc_html_e('You are logged in', 'mailin_i18n'); ?>
8
- </h3>
9
- </td>
10
- <td align="right">
11
- <form action="options-general.php?page=mailin_options" method="post">
12
- <input type="hidden" value="logout" name="mailin_form_action">
13
- <input type="submit" class="button" value="<?php echo esc_html_e('Logout', 'mailin_i18n'); ?>"
14
- name="Submit">
15
- </form>
16
- </td>
17
- </tr>
18
- </tbody>
19
- </table>
20
- </div>
21
-
22
- <div class="mailin_row">
23
- <h3>
24
- <?php esc_html_e('Your Lists', 'mailin_i18n'); ?>
25
- </h3>
26
- </div>
27
- <form action="options-general.php?page=mailin_options" method="post">
28
- <div class="mailin_row">
29
- <p>
30
- <?php echo esc_html_e("Please check lists in which users will be added", 'mailin_i18n'). '&nbsp;'; ?>
31
- </p>
32
- </div>
33
- <div class="mailin_row">
34
- <table class="mailin_row">
35
- <tbody>
36
- <tr>
37
- <td>
38
- <input type="hidden" value="update_list" name="mailin_form_action">
39
- <table class="widefat" width="600">
40
- <thead style="float:left;width:100%">
41
- <tr>
42
- <th width="20">&nbsp;</th>
43
- <th width="400">
44
- <?php echo esc_html_e( 'List Name', 'mailin_i18n'); ?>
45
- </th>
46
- <th width="94">
47
- <?php echo esc_html_e( 'Users', 'mailin_i18n'); ?>
48
- </th>
49
- <th width="90">
50
- <?php echo esc_html_e( 'Blacklisted', 'mailin_i18n'); ?>
51
- </th>
52
- </tr>
53
- </thead>
54
- <tbody style="height:200px;overflow-y:scroll;float:left;width:100%">
55
- <?php
56
- $mailin_lists=get_option('mailin_lists');
57
-
58
- if(!is_array($mailin_lists)){
59
- $mailin_lists= unserialize($mailin_lists);
60
- } if(!empty($mailin_lists)){
61
- $selected_list= get_option( 'mailin_list_selected');
62
- $selected_list= explode('|', $selected_list);
63
-
64
- $i=1 ;
65
-
66
- foreach($mailin_lists as $item){
67
- $selected='' ;
68
- if($selected_list !='' && in_array($item->id, $selected_list)){
69
- $selected = 'checked="checked"';
70
- } ?>
71
-
72
- <tr id="mailin_list_row_<?php echo $item->id ?>">
73
- <td width="20">
74
- <input type="checkbox" <?php echo $selected ?>name="mailin_list[]" id="mailin_list" value="
75
- <?php echo $item->id ?>" ></td>
76
- <td width="400">
77
- <?php echo $item->name?></td>
78
- <td width="90">
79
- <?php echo $item->count?></td>
80
- <td width="90">
81
- <?php echo $item->blacklisted?></td>
82
- </tr>
83
- <?php $i++;
84
- } ?>
85
- <?php
86
- } ?>
87
-
88
- </tbody>
89
- </table>
90
- </td>
91
- </tr>
92
- <tr>
93
- <td></td>
94
- </tr>
95
- </tbody>
96
- </table>
97
- </div>
98
- <div class="mailin_row" style="float:left;padding-top:5px">
99
- <div style="float:left;">
100
- (<?php echo esc_html_e("If you want to keep the users in selected list please click on the button Update List", 'mailin_i18n'); ?>)</div>
101
- <div style="float:right;">
102
- <input type="submit" class="button" value="<?php esc_html_e('Update List', 'mailin_i18n'); ?>"
103
- name="Submit">
104
- </div>
105
- </div>
106
- </form>
107
-
108
- <div class="mailin_row">
109
- <h3>
110
- <?php esc_html_e( 'Your Campaigns', 'mailin_i18n'); ?>
111
- </h3>
112
- </div>
113
- <form action="options-general.php?page=mailin_options" method="post">
114
- <div class="mailin_row">
115
- <div style="float:left;width:auto;">
116
- <p>
117
- <?php echo esc_html_e( "Following are your campaigns on Mailin",
118
- 'mailin_i18n'). '&nbsp;'; ?>
119
- </p>
120
- </div>
121
- </div>
122
- <?php
123
- $mailin_campaigns=get_option( 'mailin_campaigns'); if(!is_array($mailin_campaigns)){
124
- $mailin_campaigns=unserialize($mailin_campaigns); } if(!empty($mailin_campaigns)){
125
- ?>
126
- <div class="mailin_row">
127
- <table class="mailin_row">
128
- <tbody>
129
- <tr>
130
- <td>
131
- <input type="hidden" value="update_campaigns" name="mailin_form_action">
132
- <table class="widefat" width="600">
133
- <thead style="float:left;width:100%">
134
- <tr>
135
- <th width="50">
136
- <?php echo esc_html_e( 'No.', 'mailin_i18n'); ?>
137
- </th>
138
- <th width="350">
139
- <?php echo esc_html_e( 'Campaign Name', 'mailin_i18n'); ?>
140
- </th>
141
- <th width="70">
142
- <?php echo esc_html_e( 'Sent', 'mailin_i18n'); ?>
143
- </th>
144
- <th width="70">
145
- <?php echo esc_html_e( 'Delivered', 'mailin_i18n'); ?>
146
- </th>
147
- <th width="70">
148
- <?php echo esc_html_e( 'Remaining', 'mailin_i18n'); ?>
149
- </th>
150
- <th width="90">
151
- <?php echo esc_html_e( 'No of lists', 'mailin_i18n'); ?>
152
- </th>
153
- </tr>
154
- </thead>
155
- <tbody style="height:200px;overflow-y:scroll;float:left;width:100%">
156
- <?php $i=1 ; foreach($mailin_campaigns as $item){ ?>
157
- <tr id="mailin_list_row_<?php echo $item->id ?>">
158
- <td width="50">
159
- <?php echo $i ?>
160
- </td>
161
- <td width="350">
162
- <?php echo $item->name != '' ? $item->name : ''?></td>
163
- <th width="70">
164
- <?php echo $item->sent?></th>
165
- <th width="70">
166
- <?php echo $item->delivered?></th>
167
- <th width="70">
168
- <?php echo $item->remaining?></th>
169
- <td width="95">
170
- <?php echo count($item->listid)?></td>
171
- </tr>
172
- <?php $i++; } ?>
173
- <?php ?>
174
- </tbody>
175
- </table>
176
- </td>
177
- </tr>
178
- <tr>
179
- <td></td>
180
- </tr>
181
- </tbody>
182
- </table>
183
- <div class="mailin_row">
184
- <?php }else{ ?>
185
- <div style="float: left; width: 655px; padding: 5px; background-color:#FFF0FF; border: 1px solid #FF6860;">
186
- <?php esc_html_e(
187
- 'You have no campaigns on Mailin.fr, please update campaigns if you have added any campaign recently.', 'mailin_i18n'); ?>
188
- </div>
189
- <?php } ?>
190
- </form>
191
- <div class="mailin_row">
192
- <h3>
193
- <?php esc_html_e( 'Subscribers', 'mailin_i18n'); ?>
194
- </h3>
195
- </div>
196
- <div class="mailin_row">
197
- <p>
198
- <?php echo esc_html_e("Following users have subscribed to Mailin newsletter", 'mailin_i18n'). '&nbsp;'; ?>
199
- </p>
200
- </div>
201
- <?php $mObj=new mailin_API; $users=$mObj->getAllSubscribers(); if(!empty($users)) { ?>
202
- <div class="mailin_row">
203
- <table class="widefat">
204
- <thead style="float:left;width:100%">
205
- <tr>
206
- <th width="40">
207
- <?php echo esc_html_e( 'No.', 'mailin_i18n'); ?>
208
- </th>
209
- <th width="150">
210
- <?php echo esc_html_e( 'Username', 'mailin_i18n'); ?>
211
- </th>
212
- <th width="300">
213
- <?php echo esc_html_e( 'Email', 'mailin_i18n'); ?>
214
- </th>
215
- <th width="122">
216
- <?php echo esc_html_e( 'Subscription date', 'mailin_i18n'); ?>
217
- </th>
218
- </tr>
219
- </thead>
220
- <tbody style="height:200px;overflow-y:scroll;float:left;width:100%">
221
- <?php if(!empty($users)){ $i=1 ; foreach($users as $subs){ ?>
222
- <tr>
223
- <td width="40">
224
- <?php echo $i?>
225
- </td>
226
- <td width="150">
227
- <?php echo $subs->fname.' '.$subs->lname?></td>
228
- <td width="300">
229
- <?php echo $subs->email?></td>
230
- <td width="122">
231
- <?php echo date( 'd M Y H:i' , strtotime($subs->create_date))?></td>
232
- </tr>
233
- <?php $i++; } }?>
234
- </tbody>
235
- </table>
236
- <?php }else{ ?>
237
- <div style="float: left; width: 655px; padding: 5px; background-color:#FFF0FF; border: 1px solid #FF6860;">
238
- <?php esc_html_e( 'No users have subscribed mailin newsletter yet.',
239
- 'mailin_i18n'); ?>
240
- </div>
241
- <?php } ?>
242
- <div style="float:left;padding-top:5px" class="mailin_row">
243
- <div style="float:left;">(<?php
244
-
245
- $cron_link = MAILIN_URL.'cron.php';
246
-
247
- $printable_link = "<a target='_blank' href ='".$cron_link."'>".$cron_link."</a>";
248
-
249
- $text = translate('To synchronize the emails id of your subscribers from Mailin plateform to your e-commerce website, you should add this link {cron_link} as a cron job (using for example: cpanel or crontab) and this link should be executed each day. You can also synchronize the subscribers manually by clicking on the button Synchronize Users', 'mailin_i18n');
250
-
251
- echo str_replace('{cron_link}', $printable_link , $text);
252
-
253
- ?>)</div>
254
- <div style="float:right;">
255
- <form name="" action="" method="post">
256
- <input type="submit" name="Submit" value="<?php echo esc_html_e('Synchronize Users', 'mailin_i18n');?>"
257
- class="button">
258
- <input type="hidden" name="mailin_form_action" value="sync_users">
259
- </form>
260
- </div>
261
- </div>
262
- </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <script src="<?php echo plugins_url(); ?>/mailin/js/jquery-1.9.1.min.js" ></script>
2
+ <script src="<?php echo plugins_url(); ?>/mailin/js/jquery-ui.min.js" ></script>
3
+ <script>
4
+ var base_url="<?php echo plugins_url(); ?>";
5
+ var selectoption = "<?php esc_html_e('Select option', 'mailin_i18n' ); ?>";
6
+ var selected = "<?php esc_html_e('Selected', 'mailin_i18n' ); ?>";
7
+ </script>
8
+ <script src="<?php echo plugins_url(); ?>/mailin/js/jquery.multiselect.min.js" ></script>
9
+ <link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/ui-lightness/jquery-ui.css" />
10
+ <link type="text/css" rel="stylesheet" media="screen" href="<?php echo plugins_url(); ?>/mailin/css/jquery.multiselect.css" />
11
+
12
+
13
+ <script>
14
+ var base_url="<?php echo plugins_url(); ?>";
15
+ var selectoption = "<?php esc_html_e('Select option', 'mailin_i18n' ); ?>";
16
+ var selected = "<?php esc_html_e('Selected', 'mailin_i18n' ); ?>";
17
+ </script>
18
+ <input type="hidden" name="token" id="token" value="<?php echo md5(get_option('mailin_apikey')); ?>" />
19
+ <input type="hidden" name="language" id="language" value="<?php echo get_bloginfo('language'); ?>" />
20
+ <script src="<?php echo plugins_url(); ?>/mailin/js/mailin.js" ></script>
21
+ <div class="">
22
+ <img src="<?php echo plugins_url(); ?>/mailin/img/
23
+ <?php esc_html_e('mailinblue.jpg', 'mailin_i18n' ); ?>" class="mailin-logo">
24
+ <div style="float:left;font-weight:bold; padding:25px 0px 0px 0px; color:#268CCD;">
25
+ <?php esc_html_e('Mailinblue : THE all-in-one plugin for your marketing and transactional emails.', 'mailin_i18n' ); ?></div><div class="clear"></div>
26
+ </div>
27
+ <div class="mailin_row">
28
+ <fieldset class="fields">
29
+ <legend class="lgend">
30
+ <img src="<?php echo plugins_url(); ?>/mailin/img/logo.gif">
31
+ <?php esc_html_e('Mailinblue', 'mailin_i18n' ); ?>
32
+ </legend>
33
+ <div class="contact-details">
34
+ <h2 style="color:#268CCD;"><?php esc_html_e('Contact Mailinblue team', 'mailin_i18n' ); ?> </h2>
35
+ <div style="clear: both;"></div>
36
+ <p> <?php esc_html_e('Contact us:', 'mailin_i18n' ); ?>
37
+ <br><br><?php esc_html_e('Email:', 'mailin_i18n' ); ?>
38
+ <a style="color:#268CCD;" href="mailto:<?php esc_html_e('contact@mailinblue.com', 'mailin_i18n' ); ?>">
39
+ <?php esc_html_e('contact@mailinblue.com', 'mailin_i18n' ); ?>
40
+ </a><br>
41
+ <?php esc_html_e('Phone : 0899 25 30 61', 'mailin_i18n' ); ?></p>
42
+ <p style="padding-top:20px;"><b><?php esc_html_e('For further informations, please visit our website:', 'mailin_i18n' ); ?>
43
+ </b><br><a style="color:#268CCD;" target="_blank" href="<?php esc_html_e('http://www.mailinblue.com/', 'mailin_i18n' ); ?>">
44
+ <?php esc_html_e('http://www.mailinblue.com/', 'mailin_i18n' ); ?></a></p>
45
+ </div>
46
+ <div><?php esc_html_e('With the Mailinblue plugin, you can find everything you need to easily and efficiently send your emailing campains to your prospects and customers. ', 'mailin_i18n' ); ?>
47
+ <br><br>
48
+ <ul class="listt">
49
+ <li><?php esc_html_e('Synchronize your subscribers with Mailinblue (subscribed and unsubscribed contacts)', 'mailin_i18n' ); ?></li>
50
+ <li><?php esc_html_e('Easily create good looking emailings', 'mailin_i18n' ); ?></li>
51
+ <li><?php esc_html_e('Schedule your campaigns', 'mailin_i18n' ); ?></li>
52
+ <li><?php esc_html_e('Track your results and optimize', 'mailin_i18n' ); ?></li>
53
+
54
+ <li><?php esc_html_e('Monitor your transactional emails (purchase confirmation, password reset …) with a better deliverability and real-time analytics', 'mailin_i18n' ); ?></li>
55
+ </ul>
56
+ <b><?php esc_html_e('Why should you use Mailinblue ?', 'mailin_i18n' ); ?></b>
57
+ <ul class="listt">
58
+ <li><?php esc_html_e('Optimized deliverability', 'mailin_i18n' ); ?></li>
59
+ <li><?php esc_html_e('Unbeatable pricing &ndash; best value in the industry', 'mailin_i18n' ); ?></li>
60
+ <li><?php esc_html_e('Technical support, by phone or by email', 'mailin_i18n' ); ?></li><br>
61
+ </ul>
62
+ </div><div style="clear:both;">&nbsp;</div>
63
+ </fieldset>
64
+ </div>
65
+
66
+ <div class="mailin_row">
67
+ <fieldset class="fields">
68
+ <legend class="lgend"><img src="<?php echo plugins_url(); ?>/mailin/img/logo.gif">
69
+ <?php esc_html_e('Prerequisites', 'mailin_i18n' ); ?></legend>
70
+ <span> <?php esc_html_e('- You should have a Mailinblue account. You can create a free account here:', 'mailin_i18n' ); ?>
71
+ <a target="_blank" href="<?php esc_html_e('http://www.mailinblue.com/', 'mailin_i18n' ); ?>">
72
+ &nbsp;<?php esc_html_e('http://www.mailinblue.com/', 'mailin_i18n' ); ?></a><br></span></fieldset>
73
+ </div>
74
+ <?php
75
+
76
+ $checked1 = '';
77
+ $checked2 = '';
78
+ $checked3 = '';
79
+ $checked4 = '';
80
+ $checked5 = '';
81
+ $checked6 = '';
82
+ $style = '';
83
+
84
+ $mailin_apikey_status = get_option('mailin_apikey_status');
85
+ if ($mailin_apikey_status == 1)
86
+ $checked1 = 'checked="checked"';
87
+ else
88
+ $checked2 = 'checked="checked"';
89
+
90
+ $mailin_unsubscribe = get_option('mailin_unsubscribe');
91
+ if ($mailin_unsubscribe == 1)
92
+ $checked5 = 'checked="checked"';
93
+ else
94
+ $checked6 = 'checked="checked"';
95
+ ?>
96
+
97
+ <div class = "mailin_row">
98
+ <fieldset class = "fields">
99
+ <legend class = "lgend"><img src = "<?php echo plugins_url(); ?>/mailin/img/logo.gif">
100
+ <?php esc_html_e('Settings', 'mailin_i18n' ); ?></legend>
101
+
102
+ <form method = "post" action = "options-general.php?page=mailin_options">
103
+
104
+ <table class = "form-table blog_table">
105
+
106
+ <tr>
107
+ <td style = "width:250px; text-align:right;">
108
+ <label style = "word-wrap:break-word; width:244px;">
109
+ <?php esc_html_e('Activate Mailinblue:', 'mailin_i18n' ); ?></label>
110
+ </td>
111
+ <td>
112
+ <?php esc_html_e('Yes', 'mailin_i18n' ); ?>
113
+ <input type = "radio" <?php echo $checked1; ?> size = "32" value = "1" class = "mailin_api_status" name = "mailin_api_status">
114
+ <?php esc_html_e('No', 'mailin_i18n' ); ?>
115
+ <input type = "radio" <?php echo $checked2; ?> size = "32" value = "0" class = "mailin_api_status" name = "mailin_api_status">
116
+ </td>
117
+ </tr>
118
+
119
+ <tr valign = "top" class = "apikey">
120
+ <td scope = "row" style = "width:250px; text-align:right;"><?php esc_html_e('API Key', 'mailin_i18n'); ?>:</td>
121
+ <td>
122
+ <input name = "mailin_apikey" type = "text" id = "mailin_apikey" class = "code" value = "<?php echo esc_attr($api_key); ?>" size = "32" />
123
+ <span title = "<?php esc_html_e('Please enter your API key from your Mailinblue account and if you donot have it yet, please go to www.mailinblue.com and subscribe. You can then get the API key from https://my.mailinblue.com/advanced/apikey', 'mailin_i18n' ); ?>" class = "toolTip">&nbsp;</span>
124
+ </td>
125
+ </tr>
126
+ <tr>
127
+ <td colspan = "2">
128
+ <input type = "hidden" name = "mailin_form_action" value = "apikey_update"/>
129
+ <input type = "submit" style = "float: left; margin-left:260px;" name = "Submit" value = "<?php esc_attr_e('Validate & Save', 'mailin_i18n');?>" class = "button" />
130
+ </td>
131
+ </tr>
132
+ </table>
133
+ </form>
134
+ </fieldset>
135
+ </div>
136
+ <?php
137
+
138
+ $mailin_manage_subscribe = get_option('mailin_manage_subscribe');
139
+ if ($mailin_manage_subscribe == 1)
140
+ $checked3 = 'checked = "checked"';
141
+ else
142
+ $checked4 = 'checked = "checked"';
143
+ ?>
144
+
145
+ <div class = "mailin_row blog_form">
146
+ <fieldset class = "fields">
147
+ <legend class = "lgend"><img src = "<?php echo plugins_url(); ?>/mailin/img/logo.gif" >
148
+ <?php esc_html_e('Your Lists', 'mailin_i18n'); ?></legend>
149
+
150
+
151
+
152
+ <table class = "blog_table" style = "width:100%;">
153
+ <form action = "options-general.php?page=mailin_options" method = "post">
154
+ <tbody>
155
+ <tr>
156
+ <td>
157
+
158
+ <input type = "hidden" value = "update_list" name = "mailin_form_action">
159
+ <table class = "optiontable form-table">
160
+ <tr>
161
+ <td style = "width:259px; text-align:right;">
162
+ <label style = "word-wrap:break-word; width:244px;">
163
+ <?php esc_html_e('Activate Mailinblue to manage subscribers:', 'mailin_i18n' ); ?></label>
164
+ </td>
165
+ <td>
166
+ <?php esc_html_e('Yes', 'mailin_i18n' ); ?>
167
+ <input type = "radio" <?php echo $checked3; ?> size = "32" value = "1" class = "managesubscribe" id = "managesubscribe" name = "managesubscribe">
168
+ <?php esc_html_e('No', 'mailin_i18n' ); ?>
169
+ <input type = "radio" <?php echo $checked4; ?> size = "32" value = "0" class = "managesubscribe" id = "managesubscribe" name = "managesubscribe">
170
+ </td>
171
+ </tr>
172
+ </table>
173
+
174
+ <table class = "optiontable form-table">
175
+ <tr>
176
+ <td style = "width:259px; text-align:right;">
177
+ <label style = "word-wrap:break-word; width:244px;">
178
+ <?php esc_html_e('Manage unsubscription from Front-Office', 'mailin_i18n' ); ?></label>
179
+ </td>
180
+ <td>
181
+ <?php esc_html_e('Yes', 'mailin_i18n' ); ?>
182
+ <input type = "radio" <?php echo $checked5; ?> size = "32" value = "1" class = "unsubscription" id = "unsubscription" name = "unsubscription">
183
+ <?php esc_html_e('No', 'mailin_i18n' ); ?>
184
+ <input type = "radio" <?php echo $checked6; ?> size = "32" value = "0" class = "unsubscription" id = "unsubscription" name = "unsubscription">
185
+ <span class = "toolTip" title = "<?php esc_html_e('If you activate this option, you will let your customers the possiblity to unsubscribe from your newsletter using the newsletter block displayed in the home page.', 'mailin_i18n'); ?>">&nbsp;</span>
186
+ </td>
187
+
188
+ </tr>
189
+ </table>
190
+
191
+ <table class = "optiontable form-table subscribe">
192
+ <tr>
193
+ <th scope = "row" style = "width:250px; text-align:right;"><label for = "to"><?php esc_html_e('Your Lists', 'mailin_i18n' ); ?>
194
+ </label>
195
+ </th>
196
+ <td >
197
+
198
+ <form action = "options-general.php?page = mailin_options" method = "post">
199
+ <select id = "mySelectBox" style = "height:150px;width:250px;" name = 'mailin_list[]' multiple = 'multiple' >
200
+
201
+ <?php
202
+ $m_obj = new MailinApi;
203
+ $m_obj->createFolderCaseTwo();
204
+ $mailin_apikey = get_option('mailin_apikey');
205
+ if ($mailin_apikey)
206
+ $m_obj->updateUserLists($mailin_apikey);
207
+ $mailin_lists = get_option('mailin_lists');
208
+ if (!is_array($mailin_lists))
209
+ $mailin_lists = unserialize($mailin_lists);
210
+ if (!empty($mailin_lists))
211
+ {
212
+ $selected_list = get_option( 'mailin_list_selected');
213
+ $selected_list = explode('|', $selected_list);
214
+ foreach ($mailin_lists as $item)
215
+ {
216
+ $selected = '';
217
+ if ($selected_list != '' && in_array($item->id, $selected_list))
218
+ $selected = 'selected = "selected"';
219
+ ?>
220
+
221
+ <option value = '<?php echo $item->id ?>'
222
+ <?php echo $selected; ?> >
223
+ <?php echo $item->name?></option>
224
+
225
+
226
+ <?php
227
+ }
228
+ ?>
229
+ </select>
230
+ <span class = "toolTip" title = "<?php esc_html_e('Select the contact list where you want to save the contacts of your site WordPress. By default, we have created a list WordPress in your Mailinblue account and we have selected it', 'mailin_i18n'); ?>">&nbsp;</span>
231
+ </td>
232
+ </tr>
233
+
234
+ <?php
235
+ }
236
+ ?>
237
+ <tr>
238
+ <td colspan = "2">
239
+ <input type = "submit" style = "float: left; margin-left:260px;" name = "submit"
240
+ id = "submit" class = "button"
241
+ value = "<?php _e('Validate & Save', 'mailin_i18n'); ?>" />
242
+ </div>
243
+ </td>
244
+ </tr>
245
+ <tr><td colspan = "2">
246
+ <div style = "float:left;">
247
+
248
+ <?php
249
+ $cron_link = MAILIN_URL.'cron.php';
250
+ echo esc_html_e('To synchronize the emails of your customers from Mailinblue platform to your WordPress website, you should run ', 'mailin_i18n').'<a target="_blank" href ="'.$cron_link.'?token='.md5(get_option('mailin_apikey')).'" >';
251
+ echo esc_html_e(' this link', 'mailin_i18n').'</a>';
252
+ echo esc_html_e(' each day.', 'mailin_i18n');
253
+ ?>
254
+
255
+ </div>
256
+
257
+ </td></tr>
258
+
259
+ </table>
260
+
261
+ </td>
262
+ </tr>
263
+ </tbody>
264
+ </form>
265
+ </table>
266
+
267
+
268
+ </fieldset>
269
+ </div>
270
+
271
+ <?php $options = get_option('mailin_smtp'); ?>
272
+ <div class = "mailin_row blog_form">
273
+ <fieldset class = "fields">
274
+ <legend class = "lgend"><img src = "<?php echo plugins_url(); ?>/mailin/img/logo.gif">
275
+ <?php esc_html_e('Activate Mailinblue SMTP for your transactional emails', 'mailin_i18n'); ?></legend>
276
+
277
+
278
+
279
+ <table style = "width: 100%;" class = "blog_table">
280
+ <tbody>
281
+ <tr>
282
+ <td colspan = "2">
283
+ <a href = "<?php esc_html_e('http://www.mailinblue.com/mailin-smtp', 'mailin_i18n' ); ?>" target = "_blank" >
284
+ <?php esc_html_e('Mailinblue SMTP', 'mailin_i18n' ); ?>
285
+ </a>
286
+ <?php esc_html_e(' is a product of Mailinblue and it allows you to manage your transactional emails', 'mailin_i18n'); ?>
287
+ <span class = "toolTip" title = "<?php esc_html_e('Transactional email is an expected email because it has been triggered automatically after a transaction or a specific event. Common examples of transactional email is : account opening and welcome message, order shipment confirmation, shipment tracking and purchase order status, registration via a contact form, account termination, payment confirmation, invoice...', 'mailin_i18n'); ?>">&nbsp;</span>
288
+
289
+ </td>
290
+ </tr>
291
+
292
+ <tr>
293
+ <td style = "width:250px; text-align:right;">
294
+ <span style = "word-wrap:break-word; width:244px;">
295
+ <?php echo esc_html_e('Activate Mailinblue SMTP:', 'mailin_i18n'); ?>
296
+ </span>
297
+ </td>
298
+ <td>
299
+
300
+ <?php echo esc_html_e('Yes', 'mailin_i18n'); ?>
301
+ <input name = "mailin_smtp" type = "radio" id = "mailin_smtp"
302
+ class = "mailin_smtp_action" value = "1" size = "32"
303
+ <?php if ($options == 1)echo 'checked'; ?> />
304
+ <?php echo esc_html_e('No', 'mailin_i18n'); ?>
305
+ <input name = "mailin_smtp" type = "radio" id = "mailin_smtp"
306
+ class = "mailin_smtp_action" <?php if ($options == 0)echo 'checked';?> value = "0" size="32" />
307
+
308
+ </td>
309
+ </tr>
310
+
311
+ <?php
312
+ if (!get_option('mailin_smtp'))
313
+ $style = 'style="display:none;"';
314
+ ?>
315
+ <tr id="smtptest" <?php echo $style; ?> >
316
+ <td colspan="2">
317
+ <form action="options-general.php?page=mailin_options" method="post">
318
+ <table class="optiontable form-table">
319
+ <tr valign="top">
320
+ <th scope="row" style="width:250px; text-align:right;">
321
+ <span for="to"><?php esc_html_e('Send email test From / To', 'mailin_i18n' ); ?>
322
+ </span>
323
+ </th>
324
+ <td><input name="to" type="text" id="to" value="<?php echo get_option('admin_email'); ?>"
325
+ class="regular-text" />
326
+ </td>
327
+ </tr>
328
+ <tr>
329
+ <td colspan="2">
330
+ <input type="submit" style="float: left; margin-left:260px;" name="smtp_mailin"
331
+ id="smtp_mailin" class="button"
332
+ value="<?php _e('Send', 'mailin_i18n'); ?>" />
333
+ </div>
334
+ </td>
335
+ </tr>
336
+ </table>
337
+ </form>
338
+ </td>
339
+ </tr>
340
+ </tbody>
341
+ </table>
342
+ </fieldset>
343
+ </div>
344
+
345
+
346
+
347
+ <?php
348
+
349
+ $unsub = $m_obj->getTotalUnsubUsers();
350
+
351
+ $sub = $m_obj->getTotalsubUsers();
352
+
353
+ ?>
354
+
355
+ <div class="mailin_row subscribe">
356
+ <input type="hidden" name="pagenumber" id="pagenumber" value="" />
357
+ <fieldset class="fields">
358
+ <legend class="lgend"><img src="<?php echo plugins_url(); ?>/mailin/img/logo.gif">
359
+ <?php esc_html_e('Contacts list', 'mailin_i18n' ); ?> </legend>
360
+
361
+ <?php esc_html_e('You have ', 'mailin_i18n' ); ?>
362
+ <?php echo $sub[0]->total; ?>
363
+ <?php esc_html_e(' contacts subscribed and ', 'mailin_i18n' ); ?>
364
+ <?php echo $unsub[0]->total; ?>
365
+ <?php esc_html_e(' contacts unsubscribed from WordPress. ', 'mailin_i18n' ); ?>
366
+ <?php $total = $sub[0]->total + $unsub[0]->total;
367
+ if($total != 0)
368
+ {
369
+ ?>
370
+ <span id="Spantextmore"><?php esc_html_e('For more details,', 'mailin_i18n' ); ?>
371
+ </span><span style="display:none;" id="Spantextless">
372
+ <?php esc_html_e('For less details,', 'mailin_i18n' ); ?></span>
373
+ <a id="showUserlist" href="javascript:void(0);"><?php esc_html_e('click here', 'mailin_i18n' ); ?> </a>
374
+ <br /><br />
375
+ <?php } ?>
376
+ <table class="widefat" style="display: none;">
377
+
378
+ <thead>
379
+ <tr>
380
+ <th><?php echo esc_html_e( 'No.', 'mailin_i18n'); ?></th>
381
+ <th><?php echo esc_html_e( 'First name', 'mailin_i18n'); ?>
382
+ </th>
383
+ <th><?php echo esc_html_e( 'Last name', 'mailin_i18n'); ?>
384
+ </th>
385
+ <th><?php echo esc_html_e( 'Email', 'mailin_i18n'); ?></th>
386
+
387
+ <th><?php echo esc_html_e( 'Client', 'mailin_i18n'); ?></th>
388
+
389
+ <th><?php echo esc_html_e( 'Newsletter WordPress status', 'mailin_i18n'); ?>
390
+ </th>
391
+ <th><?php echo esc_html_e( 'Newsletter Mailin Status', 'mailin_i18n'); ?>
392
+ <span title="<?php esc_html_e('Click on the icon to subscribe / unsubscribe the contact from Mailinblue and WordPress.', 'mailin_i18n' ); ?>" class="toolTip">&nbsp;</span>
393
+ </th>
394
+ <th><?php echo esc_html_e( 'Date of last update', 'mailin_i18n'); ?>
395
+ </th>
396
+ </tr>
397
+ </thead>
398
+
399
+ <tbody style="height: 200px; overflow-y: scroll;" class="midleft">
400
+
401
+ </tbody>
402
+ </table>
403
+
404
+ </div>
405
+
406
+
407
+
mailin.php CHANGED
@@ -1,440 +1,504 @@
1
- <?php
2
-
3
- /**
4
- Plugin Name: Mailin
5
- Plugin URI: http://mailin.fr
6
- Description: The Mailin plugin provides quick and easy way to synchronize subscribers from wordpress site to Mailin website account and vice versa.
7
- Version: 1.0.0
8
- Author: Mailin.fr
9
- Author URI: http://www.mailin.fr
10
- License: GPLv2 or later
11
- */
12
-
13
- /*
14
- This program is free software; you can redistribute it and/or
15
- modify it under the terms of the GNU General Public License
16
- as published by the Free Software Foundation; either version 2
17
- of the License, or (at your option) any later version.
18
-
19
- This program is distributed in the hope that it will be useful,
20
- but WITHOUT ANY WARRANTY; without even the implied warranty of
21
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22
- GNU General Public License for more details.
23
-
24
- You should have received a copy of the GNU General Public License
25
- along with this program; if not, write to the Free Software
26
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
27
- */
28
-
29
- //Mailin version
30
- define('MAILIN_VER', '1.0.0');
31
-
32
- //Initiallize mailin constants
33
- Initiallize_mailin_constants();
34
-
35
-
36
- // Get Mailin API class in application domain
37
- if (!class_exists('mailin_API'))
38
- {
39
- require_once('mailinapi.class.php');
40
- }
41
-
42
- // Include Compatibility functions
43
- require_once('compatibility.php');
44
-
45
-
46
- /**
47
- * Initillize mailin plugin
48
- * @return void
49
- */
50
- function mailin_init()
51
- {
52
-
53
- mailin_load_resources();
54
-
55
- //Internationalize the plugin
56
- $i18n_file_name = 'mailin_lang';
57
- $locale = apply_filters( 'plugin_locale', get_locale(), $i18n_file_name);
58
-
59
- $filename = MAILIN_LANG_DIR.$i18n_file_name.'-'.$locale.'.mo';
60
- load_textdomain('mailin_i18n', $filename);
61
-
62
- }
63
-
64
- add_action( 'init', 'mailin_init');
65
-
66
-
67
- //Initilize Widget
68
- include_once('mailin_widget.php');
69
-
70
- /**
71
- * Loads JS and CSS
72
- * @return void
73
- */
74
- function mailin_load_resources()
75
- {
76
- wp_enqueue_style('mailin_wp_css', MAILIN_URL.'css/mailin_plugin.css');
77
- }
78
-
79
-
80
-
81
- /**
82
- * Loads Mailin Admin page css
83
- * @return void
84
- */
85
- function mailin_load_resources_admin()
86
- {
87
- wp_enqueue_style('mailin_admin_css', MAILIN_URL.'css/admin.css');
88
- }
89
-
90
- add_action('load-settings_page_mailin_options', 'mailin_load_resources_admin');
91
-
92
-
93
-
94
- /**
95
- * Update lists and campaigns on refreshing a page
96
- *
97
- */
98
-
99
- $mObj = new mailin_API();
100
- $api_key = get_option('mailin_apikey');
101
-
102
-
103
- if(is_admin() && isset($_GET['page']) && $_GET['page'] == 'mailin_options' && $api_key != '' && $_SERVER['REQUEST_METHOD'] == 'GET'){
104
-
105
- $mObj->updateUserLists($api_key);
106
- $mObj->updateUserCampaigns($api_key);
107
-
108
- }
109
-
110
- /**
111
- * Gets or sets error/success message
112
- * @return string/bool depending on get/set
113
- **/
114
- function mailin_messages($msg = null)
115
- {
116
-
117
- global $mailin_msg;
118
-
119
- if (!is_array($mailin_msg))
120
- {
121
- $mailin_msg = array();
122
- }
123
-
124
- if (is_null($msg))
125
- {
126
- return implode('', $mailin_msg);
127
- }
128
-
129
- $mailin_msg[] = $msg;
130
- return true;
131
- }
132
-
133
-
134
- /**
135
- * Handles forms submit
136
- * @return void , sets error/success message
137
- **/
138
- function mailin_form_submit()
139
- {
140
-
141
- $action = '';
142
-
143
- if(isset($_POST['mailin_form_action']))
144
- {
145
- $action = trim($_POST['mailin_form_action']);
146
- if($action == '')
147
- {
148
- return;
149
-
150
- }elseif($action == 'sync_users') {
151
-
152
- $mObj = new mailin_API();
153
- $mObj->syncUsers();
154
-
155
- $message = '<p class="mailin_success" >'.__('Users synchronized successfully', 'mailin_i18n').'</p>';
156
- mailin_messages($message);
157
-
158
- }elseif($action == 'list_details') {
159
-
160
- $mObj = new mailin_API();
161
- $listDetails = $mObj->getListDetails($_POST['list_id']);
162
-
163
- }elseif($action == 'apikey_update') {
164
-
165
- $mObj = new mailin_API();
166
- $mObj->handle_apikey_form_submit(strip_tags(stripslashes($_POST['mailin_apikey'])));
167
-
168
- if(empty($mObj->_mailin_error))
169
- {
170
-
171
- $message = implode('<br/>', $mObj->_mailin_success);
172
- $message = '<p class="mailin_success" >'.$message.'</p>';
173
- mailin_messages($message);
174
-
175
- }else{
176
-
177
- $message = implode('<br/>', $mObj->_mailin_error);
178
- $message = '<p class="mailin_error" >'.$message.'</p>';
179
- mailin_messages($message);
180
-
181
- }
182
- }elseif($action == 'logout') {
183
-
184
- $mObj = new mailin_API();
185
- $mObj->handle_logout_form_submit();
186
-
187
-
188
- }elseif($action == 'update_list'){
189
-
190
- $mailin_list = isset($_POST['mailin_list']) ? $_POST['mailin_list'] : '' ;
191
-
192
- $mObj = new mailin_API();
193
- $mObj->handle_updatelist_form_submit($mailin_list);
194
-
195
- if(!empty($mObj->_mailin_error))
196
- {
197
- $message = implode('<br/>', $mObj->_mailin_error);
198
- $message = '<p class="mailin_error" >'.$message.'</p>';
199
- mailin_messages($message);
200
- }
201
-
202
- if(!empty($mObj->_mailin_success))
203
- {
204
- $message = implode('<br/>', $mObj->_mailin_success);
205
- $message = '<p class="mailin_success" >'.$message.'</p>';
206
- mailin_messages($message);
207
- }
208
-
209
- }elseif($action == 'update_campaigns') {
210
-
211
- $mailin_list = isset($_POST['mailin_list']) ? $_POST['mailin_list'] : '' ;
212
-
213
- $mObj = new mailin_API();
214
- $mObj->updateUserCampaigns();
215
-
216
- $message = '<p class="mailin_success" >'.__('Campaigns updated successfully', 'mailin_i18n').'</p>';
217
- mailin_messages($message);
218
-
219
-
220
- }elseif($action == 'subscribe_form_submit'){
221
-
222
- $mObj = new mailin_API();
223
- $mObj->handle_newsletter_subscribe_submit();
224
-
225
- if(!empty($mObj->_mailin_error))
226
- {
227
- $message = implode('<br/>', $mObj->_mailin_error);
228
- $message = '<p class="mailin_error" >'.$message.'</p>';
229
- mailin_messages($message);
230
- }
231
-
232
- if(!empty($mObj->_mailin_success))
233
- {
234
- $message = implode('<br/>', $mObj->_mailin_success);
235
- $message = '<p class="mailin_success" >'.$message.'</p>';
236
- mailin_messages($message);
237
- }
238
- }
239
- }
240
- }
241
-
242
-
243
- add_action('init', 'mailin_form_submit');
244
-
245
- /**
246
- * Loads the view of Mailin admin page
247
- * @return void
248
- **/
249
- function mailin_settings_admin_page()
250
- {
251
-
252
- // CHECK IF API KEY EXISTS
253
- $api_key = get_option('mailin_apikey');
254
-
255
- ?>
256
- <div class="wrap">
257
- <div style="float:left;margin-bottom:10px;width:670px;">
258
- <div class="icon32" id="icon-options-general"><br></div>
259
- <h2><?php esc_html_e('Mailin Setup', 'mailin_i18n');?> </h2>
260
- </div>
261
-
262
- <?php
263
- if (mailin_messages() != '')
264
- {
265
- ?>
266
- <div id="mc_message" class="mailin_row"><?php echo mailin_messages(); ?></div>
267
- <?php
268
- }
269
-
270
- if($api_key != '')
271
- {
272
- require "listings.php";
273
- }else{
274
- require "api_form.php";
275
- }
276
- ?>
277
-
278
- </div>
279
- <?php
280
- }
281
-
282
- add_action('admin_menu', 'admin_menu');
283
-
284
-
285
- /**
286
- * Adds setup navigation link under settings
287
- * @return void
288
- **/
289
- function admin_menu()
290
- {
291
- add_options_page('Mailin Setup', 'Mailin setup', 'administrator', 'mailin_options', 'mailin_settings_admin_page');
292
- }
293
-
294
-
295
-
296
- /**
297
- * Links Mailin setup page to URL
298
- * @return setup page link
299
- **/
300
- function mailin_action_links($links)
301
- {
302
- $settings_page = add_query_arg(array('page' => 'mailin_options'), admin_url('options-general.php'));
303
- $settings_link = '<a href="'.esc_url($settings_page).'">'.__('Settings', 'Mailin setup' ).'</a>';
304
- array_unshift($links, $settings_link);
305
- return $links;
306
- }
307
-
308
- add_filter('plugin_action_links_'.plugin_basename(__FILE__), 'mailin_action_links', 10, 1);
309
-
310
-
311
- /**
312
- * Sets up Plugin URL , Plugin directory , Plugin Language Directory
313
- * SETUP subscriber table name
314
- * @return setup page link
315
- **/
316
- function Initiallize_mailin_constants()
317
- {
318
-
319
- $locations = array(
320
- 'plugins' => array(
321
- 'dir' => WP_PLUGIN_DIR,
322
- 'url' => plugins_url()
323
- ),
324
- 'template' => array(
325
- 'dir' => trailingslashit(get_template_directory()).'plugins/',
326
- 'url' => trailingslashit(get_template_directory_uri()).'plugins/',
327
- )
328
- );
329
-
330
- $mailin_dirbase = trailingslashit(basename(dirname(__FILE__)));
331
- $mailin_dir = trailingslashit(WP_PLUGIN_DIR).$mailin_dirbase;
332
- $mailin_url = trailingslashit(WP_PLUGIN_URL).$mailin_dirbase;
333
-
334
- foreach ($locations as $key => $loc)
335
- {
336
- $dir = trailingslashit($loc['dir']).$mailin_dirbase;
337
- $url = trailingslashit($loc['url']).$mailin_dirbase;
338
- if (is_file($dir.basename(__FILE__)))
339
- {
340
- $mailin_dir = $dir;
341
- $mailin_url = $url;
342
- break;
343
- }
344
- }
345
-
346
- //MAILIN DIRECTORY PATH
347
- define('MAILIN_DIR', $mailin_dir);
348
-
349
- //MAILIN LANGUAGE DIRECTORY PATH
350
- define('MAILIN_LANG_DIR', trailingslashit(MAILIN_DIR).'lang/');
351
-
352
- //MAILIN PLUGIN DIRECTORY PATH
353
- define('MAILIN_URL', $mailin_url);
354
-
355
- global $wpdb;
356
-
357
- //Subscribers table name
358
- define('MAILIN_SUBSCRIBERS', $wpdb->prefix.'mailin_subscribers');
359
-
360
- }
361
-
362
- /*
363
- * Create subscribers table upon installation
364
- */
365
- function mailin_install()
366
- {
367
-
368
- global $wpdb;
369
- $sql = "CREATE TABLE ".MAILIN_SUBSCRIBERS." (
370
- id int(11) NOT NULL AUTO_INCREMENT,
371
- email VARCHAR(255) DEFAULT '' NOT NULL,
372
- fname VARCHAR(55) DEFAULT '' NOT NULL,
373
- lname VARCHAR(55) DEFAULT '' NOT NULL,
374
- list VARCHAR(255) DEFAULT '' NOT NULL,
375
- subscribed TINYINT(1) DEFAULT '1' NOT NULL,
376
- create_date datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
377
- UNIQUE KEY id (id)
378
- );";
379
-
380
- require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
381
- dbDelta($sql);
382
- }
383
-
384
-
385
- /*
386
- * Called plugin is removed
387
- * We do not remove previous data
388
- */
389
- function mailin_remove()
390
- {
391
-
392
-
393
- }
394
-
395
- /* Runs when plugin is activated */
396
- register_activation_hook(__FILE__,'mailin_install');
397
-
398
- /* Runs on plugin deactivation*/
399
- register_deactivation_hook( __FILE__, 'mailin_remove' );
400
-
401
-
402
- class siteUsers
403
- {
404
-
405
- static function init()
406
- {
407
- add_action( 'user_register', array( __CLASS__, 'register_newly_added_user' ) );
408
- }
409
-
410
- /*
411
- * This function is called when a new user is created
412
- * User is added in mailinlist
413
- */
414
- static function register_newly_added_user( $user_id = null )
415
- {
416
-
417
- if($user_id != null)
418
- {
419
- $info = get_userdata( $user_id );
420
-
421
- if(is_object($info))
422
- {
423
- if(isset($info->data->user_email) && $info->data->user_email != '')
424
- {
425
- $user_nicename = isset($info->data->user_nicename) ? $info->data->user_nicename : '';
426
- $selected_list = get_option('mailin_list_selected');
427
- $mObj = new mailin_API();
428
- $mObj->updateSubscribers($info->data->user_email , $selected_list, $user_nicename , '' );
429
- }
430
- }
431
- }
432
- wp_update_user( $args );
433
- }
434
-
435
- }
436
-
437
- siteUsers::init();
438
-
439
-
440
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ Plugin Name: Mailin
4
+ Plugin URI: http://mailin.fr
5
+ Description: Synchronize your WordPress contacts with Mailin platform and send transactional emails easily to your customers.
6
+ Version: 1.5
7
+ Author: Mailin.fr
8
+ Author URI: http://www.mailin.fr
9
+ License: GPLv2 or later
10
+ */
11
+ /*
12
+ This program is free software; you can redistribute it and/or
13
+ modify it under the terms of the GNU General Public License
14
+ as published by the Free Software Foundation; either version 2
15
+ of the License, or (at your option) any later version.
16
+ This program is distributed in the hope that it will be useful,
17
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
18
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19
+ GNU General Public License for more details.
20
+ You should have received a copy of the GNU General Public License
21
+ along with this program; if not, write to the Free Software
22
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
23
+ */
24
+ define('MAILIN_VER', '1.0.0');
25
+ define('WP_EMAIL_TEMPLATE_FOLDER', dirname(plugin_basename(__FILE__)));
26
+ define('WP_EMAIL_TEMPLATE_DIR', WP_CONTENT_DIR.'/plugins/'.WP_EMAIL_TEMPLATE_FOLDER);
27
+ initiallizeMailinConstants();
28
+ if (!class_exists('MailinApi'))
29
+ require_once('mailinapi.class.php');
30
+ require_once('compatibility.php');
31
+ /**
32
+ * init mailin plugin
33
+ */
34
+ function mailinInit()
35
+ {
36
+ mailinLoadResources();
37
+ //Internationalize the plugin
38
+ $i18n_file_name = 'mailin_lang';
39
+ $locale = apply_filters('plugin_locale', get_locale(), $i18n_file_name);
40
+ $filename = MAILIN_LANG_DIR.$i18n_file_name.'-'.$locale.'.mo';
41
+ load_textdomain('mailin_i18n', $filename);
42
+ }
43
+ add_action('init', 'mailinInit');
44
+ include_once('mailin_widget.php');
45
+ /**
46
+ * Loads the appropriate JS and CSS resources depending on
47
+ * settings and context (admin or not) *
48
+ * @return void
49
+ */
50
+ function mailinLoadResources()
51
+ {
52
+ wp_enqueue_style('mailin_wp_css', MAILIN_URL.'css/mailin_plugin.css');
53
+ }
54
+
55
+ /**
56
+ * Loads resources for the Mailin admin page
57
+ * @return void
58
+ */
59
+ function mailinLoadResourcesAdmin()
60
+ {
61
+ wp_enqueue_style('mailin_admin_css', MAILIN_URL.'css/admin.css');
62
+ }
63
+ add_action('load-settings_page_mailin_options', 'mailinLoadResourcesAdmin');
64
+ /**
65
+ *
66
+ * @param initialize smpt setting
67
+ */
68
+ function wpSmtp($phpmailer)
69
+ {
70
+ $admin_info = get_userdata(1);
71
+ if (!get_option('mailer') || (get_option('mailer') == 'smtp' && !get_option('mailin_smtp_host')))
72
+ return;
73
+ $phpmailer->Mailer = 'smtp';
74
+ if (defined('WPMS_SET_RETURN_PATH'))
75
+ $phpmailer->From = WPMS_SET_RETURN_PATH;
76
+ else
77
+ $phpmailer->From = $admin_info->user_email;
78
+
79
+ if (defined('WPMS_MAIL_FROM_NAME'))
80
+ $phpmailer->FromName = WPMS_MAIL_FROM_NAME;
81
+ else
82
+ $phpmailer->FromName = $admin_info->display_name;
83
+ $phpmailer->Sender = $phpmailer->From; //Return-Path
84
+ $phpmailer->AddReplyTo($phpmailer->From, $phpmailer->FromName); //Reply-To
85
+ $phpmailer->Host = get_option('mailin_smtp_host');
86
+ $phpmailer->SMTPSecure = get_option('mailin_smtp_ssl') == 'none' ? '' : get_option('mailin_smtp_ssl');
87
+ $phpmailer->Port = get_option('mailin_smtp_port');
88
+ $phpmailer->SMTPAuth = get_option('mailin_smtp_auth');
89
+ //$phpmailer->SMTPDebug = 2;
90
+ if ($phpmailer->SMTPAuth)
91
+ {
92
+ $phpmailer->SMTPAuth = true;
93
+ $phpmailer->Username = get_option('mailin_smtp_user');
94
+ $phpmailer->Password = get_option('mailin_smtp_pass');
95
+ }
96
+ }
97
+
98
+ $mailinsmtp = get_option('mailin_smtp');
99
+ $api_key = get_option('mailin_apikey');
100
+ $mailin_apikey_status = get_option('mailin_apikey_status');
101
+
102
+
103
+ if ($mailinsmtp == 1 && $api_key != '' && $mailin_apikey_status == 1)
104
+ add_action('phpmailer_init', 'wpSmtp');
105
+ register_activation_hook(__FILE__, 'mailinsmtpActivation');
106
+ /**
107
+ * Mailin smtp with default value
108
+ */
109
+ function mailinsmtpActivation()
110
+ {
111
+ $mailinsmtp_options = array('mail_from' => '',
112
+ 'mail_from_name' => '',
113
+ 'mailer' => 'mail',
114
+ 'mail_set_return_path' => 'false',
115
+ 'mailin_smtp_host' => 'localhost',
116
+ 'mailin_smtp_port' => '25',
117
+ 'mailin_smtp_ssl' => 'none',
118
+ 'mailin_smtp_auth' => false,
119
+ 'mailin_smtp_user' => '',
120
+ 'mailin_smtp_pass' => '');
121
+ // Create the required options...
122
+ foreach ($mailinsmtp_options as $name => $val)
123
+ add_option($name, $val);
124
+ }
125
+ /**
126
+ * Update lists and campaigns on refreshing a page
127
+ *
128
+ */
129
+ $m_obj = new MailinApi();
130
+ $api_key = get_option('mailin_apikey');
131
+ if (is_admin() && isset($_GET['page']) && $_GET['page'] == 'mailin_options' && $api_key != '' && $_SERVER['REQUEST_METHOD'] == 'GET')
132
+ $m_obj->updateUserLists($api_key);
133
+
134
+ /**
135
+ * Gets or sets message
136
+ * @return string/bool depending on get/set
137
+ **/
138
+ function mailinMessages($msg = null)
139
+ {
140
+ global $mailin_msg;
141
+ if (!is_array($mailin_msg))
142
+ $mailin_msg = array();
143
+ if (is_null($msg))
144
+ return implode('', $mailin_msg);
145
+ $mailin_msg[] = $msg;
146
+ return true;
147
+ }
148
+ function mailinFormSubmit()
149
+ {
150
+ $action = '';
151
+ if (isset($_POST['mailin_form_action']))
152
+ {
153
+ $action = trim($_POST['mailin_form_action']);
154
+ if ($action == '')
155
+ return;
156
+ elseif ($action == 'sync_users')
157
+ {
158
+ $m_obj = new MailinApi();
159
+ if ($m_obj->syncUsers())
160
+ $message = '<div class="alert alert-success"" >'.__('Users synchronized successfully', 'mailin_i18n').'</div>';
161
+ else
162
+ $message = '<div class="alert alert-error" >'.__('Please choose atleast one list.', 'mailin_i18n').'</div>';
163
+ mailinMessages($message);
164
+ }elseif ($action == 'apikey_update')
165
+ {
166
+ //VALIDATE AND UPFATE API KEY
167
+ $m_obj = new MailinApi();
168
+ $m_obj->handleApikeyFormSubmit(strip_tags(stripslashes($_POST['mailin_apikey'])));
169
+ if (empty($m_obj->mailin_error))
170
+ {
171
+ $message = implode('<br/>', $m_obj->mailin_success);
172
+ $message = '<div class="alert alert-success"" >'.$message.'</div>';
173
+ mailinMessages($message);
174
+ } else
175
+ {
176
+ $message = implode('<br/>', $m_obj->mailin_error);
177
+ $message = '<div class="alert alert-error" >'.$message.'</div>';
178
+ mailinMessages($message);
179
+ }
180
+ } elseif ($action == 'update_list')
181
+ {
182
+ $mailin_list = isset($_POST['mailin_list']) ? $_POST['mailin_list'] : '';
183
+ $m_obj = new MailinApi();
184
+ $m_obj->handleUpdateListFormSubmit($mailin_list);
185
+ if (!empty($m_obj->mailin_error))
186
+ {
187
+ $message = implode('<br/>', $m_obj->mailin_error);
188
+ $message = '<div class="alert alert-error" >'.$message.'</div>';
189
+ mailinMessages($message);
190
+ }
191
+ if (!empty($m_obj->mailin_success))
192
+ {
193
+ $message = implode('<br/>', $m_obj->mailin_success);
194
+ $message = '<div class="alert alert-success"" >'.$message.'</div>';
195
+ mailinMessages($message);
196
+ }
197
+ } elseif ($action == 'subscribe_form_submit')
198
+ {
199
+ $m_obj = new MailinApi();
200
+ $m_obj->handleNewsletterSubscribeSubmit();
201
+ if (!empty($m_obj->mailin_error))
202
+ {
203
+ $message = implode('<br/>', $m_obj->mailin_error);
204
+ $message = '<div class="alert alert-error" >'.$message.'</div>';
205
+ mailinMessages($message);
206
+ }
207
+ if (!empty($m_obj->mailin_success))
208
+ {
209
+ $message = implode('<br/>', $m_obj->mailin_success);
210
+ $message = '<div class="alert alert-success"" >'.$message.'</div>';
211
+ mailinMessages($message);
212
+ }
213
+ }
214
+ }
215
+ }
216
+ /*
217
+ * mailin admin setting page
218
+ */
219
+ function mailinSettingsAdminPage()
220
+ {
221
+ // CHECK IF API KEY EXISTS
222
+ $api_key = get_option('mailin_apikey');
223
+ // Send test email if requested
224
+ if (isset($_POST['smtp_mailin']) && isset($_POST['to']))
225
+ {
226
+ $to = $_POST['to'];
227
+ $lang = get_bloginfo('language');
228
+ if ($lang == 'fr-FR')
229
+ {
230
+ $subject = '[Mailin SMTP] e-mail de test';
231
+ $from = 'contact@mailin.fr';
232
+ $fromname = 'Mailin';
233
+ }
234
+ else
235
+ {
236
+ $subject = '[Mailinblue SMTP] test email';
237
+ $fromname = 'Mailinblue';
238
+ $from = 'contact@mailinblue.com';
239
+ }
240
+ $failed = 0;
241
+ $message = emailTemplate();
242
+ define('WPMS_MAIL_FROM_NAME', $fromname);
243
+ define('WPMS_SET_RETURN_PATH', $from); // Sets $phpmailer->Sender if true
244
+ if (!empty($to) && !empty($subject) && !empty($message))
245
+ {
246
+ try {
247
+ $result = wp_mail($to, $subject, $message, $headers = "Content-Type: text/html\r\n", '');
248
+ if ($result == true)
249
+ {
250
+ $success_message = '<div id="message" class="alert alert-success"><p><strong>'.__('Mail sent', 'mailin_i18n').'</strong></p></div>';
251
+ mailinMessages($success_message);
252
+ } else{
253
+ $failed = 1;
254
+ }
255
+ }
256
+ catch (phpmailerException $e) {
257
+ $failed = 1;
258
+ }
259
+ } else{
260
+ $failed = 1;
261
+ }
262
+
263
+ if ($failed)
264
+ {
265
+ $error_message = '<div id="message" class="alert alert-error"><p><strong>'.__('Mail not sent', 'mailin_i18n').'</strong></p></div>';
266
+ mailinMessages($error_message);
267
+ }
268
+ }
269
+
270
+ ?>
271
+ <div class="wrap">
272
+ <?php
273
+ if (mailinMessages() != '')
274
+ {
275
+ ?>
276
+ <div id="mc_message" >
277
+ <?php
278
+ echo mailinMessages();
279
+ ?>
280
+ </div>
281
+ <?php
282
+ }
283
+ if ($api_key)
284
+ require 'listings.php';
285
+ else
286
+ require 'api_form.php';
287
+ ?>
288
+ </div>
289
+ <?php
290
+ }
291
+ add_action('admin_menu', 'adminMenus');
292
+ add_action('init', 'mailinFormSubmit');
293
+ /*
294
+ * show menu in admin
295
+ */
296
+ function adminMenus()
297
+ {
298
+ add_options_page('Mailin Setup', 'Mailin setup', 'administrator', 'mailin_options', 'mailinSettingsAdminPage');
299
+ }
300
+ /*
301
+ * show link in admin
302
+ */
303
+ function mailinActionLinks($links)
304
+ {
305
+ $settings_page = add_query_arg(array(
306
+ 'page' => 'mailin_options'
307
+ ), admin_url('options-general.php'));
308
+ $settings_link = '<a href="'.esc_url($settings_page).'">'.__('Settings', 'mailin_i18n').'</a>';
309
+ array_unshift($links, $settings_link);
310
+ return $links;
311
+ }
312
+ add_filter('plugin_action_links_'.plugin_basename(__FILE__), 'mailinActionLinks', 10, 1);
313
+ /*
314
+ * initilize constant
315
+ */
316
+ function initiallizeMailinConstants()
317
+ {
318
+ $locations = array('plugins' => array(
319
+ 'dir' => WP_PLUGIN_DIR,
320
+ 'url' => plugins_url()
321
+ ),
322
+ 'template' => array(
323
+ 'dir' => trailingslashit(get_template_directory()).'plugins/',
324
+ 'url' => trailingslashit(get_template_directory_uri()).'plugins/'
325
+ ));
326
+ $mailin_dirbase = trailingslashit(basename(dirname(__FILE__)));
327
+ $mailin_dir = trailingslashit(WP_PLUGIN_DIR).$mailin_dirbase;
328
+ $mailin_url = trailingslashit(WP_PLUGIN_URL).$mailin_dirbase;
329
+ foreach ($locations as $key => $loc)
330
+ {
331
+ $dir = trailingslashit($loc['dir']).$mailin_dirbase;
332
+ $url = trailingslashit($loc['url']).$mailin_dirbase;
333
+ if (is_file($dir.basename(__FILE__)))
334
+ {
335
+ $mailin_dir = $dir;
336
+ $mailin_url = $url;
337
+ break;
338
+ }
339
+ }
340
+ //filesystem path
341
+ define('MAILIN_DIR', $mailin_dir);
342
+ /* Lang location */
343
+ define('MAILIN_LANG_DIR', trailingslashit(MAILIN_DIR).'lang/');
344
+ // plugin folder url
345
+ define('MAILIN_URL', $mailin_url);
346
+ global $wpdb;
347
+ // subscribers table name
348
+ define('MAILIN_SUBSCRIBERS', $wpdb->prefix.'mailin_subscribers');
349
+ }
350
+ /*
351
+ * Create subscribers table upon installation
352
+ */
353
+ function mailinInstall()
354
+ {
355
+ global $wpdb;
356
+ $sql = 'CREATE TABLE '.MAILIN_SUBSCRIBERS.' (
357
+ id int(11) NOT NULL AUTO_INCREMENT,
358
+ email VARCHAR(255) DEFAULT "" NOT NULL,
359
+ fname VARCHAR(55) DEFAULT "" NOT NULL,
360
+ lname VARCHAR(55) DEFAULT "" NOT NULL,
361
+ list VARCHAR(255) DEFAULT "" NOT NULL,
362
+ subscribed TINYINT(1) DEFAULT "1" NOT NULL,
363
+ client TINYINT(1) DEFAULT "0" NOT NULL,
364
+ create_date datetime DEFAULT "0000-00-00 00:00:00" NOT NULL,
365
+ UNIQUE KEY id (id)
366
+ );';
367
+ require_once(ABSPATH.'wp-admin/includes/upgrade.php');
368
+ dbDelta($sql);
369
+ }
370
+
371
+ /*
372
+ *mail template
373
+ */
374
+ function emailTemplate()
375
+ {
376
+ $lang = get_bloginfo('language');
377
+ if ($lang == 'fr-FR')
378
+ $file = 'mailinsmtp_conf.html';
379
+ else
380
+ $file = 'mailinsmtp_conf_en.html';
381
+ if (file_exists(STYLESHEETPATH.'/'.$file))
382
+ {
383
+ $header_template_path = STYLESHEETPATH.'/emails/'.$file;
384
+ $header_template_url = get_stylesheet_directory_uri().'/emails/'.$file;
385
+ } else
386
+ $header_template_path = WP_EMAIL_TEMPLATE_DIR.'/emails/'.$file;
387
+ $template_html = file_get_contents($header_template_path);
388
+ if ($template_html == false)
389
+ {
390
+ $ch = curl_init($header_template_url);
391
+ curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
392
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
393
+ $template_html = curl_exec($ch);
394
+ curl_close($ch);
395
+ }
396
+ return $template_html;
397
+ }
398
+
399
+ /*
400
+ * when we deactive plugin call this function
401
+ */
402
+ function mailinRemove()
403
+ {
404
+ update_option('mailin_list_selected', '');
405
+ update_option('mailin_apikey', '');
406
+ update_option('mailin_smtp', '');
407
+ update_option('mailin_lists', '');
408
+ update_option('mailin_manage_subscribe', '');
409
+ update_option('mailin_apikey_status', '');
410
+ update_option('mailin_unsubscribe', '');
411
+ $mailinsmtp_options = array('mail_from' => '',
412
+ 'mail_from_name' => '',
413
+ 'mailer' => 'mail',
414
+ 'mail_set_return_path' => 'false',
415
+ 'mailin_smtp_host' => 'localhost',
416
+ 'mailin_smtp_port' => '25',
417
+ 'mailin_smtp_ssl' => 'none',
418
+ 'mailin_smtp_auth' => false,
419
+ 'mailin_smtp_user' => '',
420
+ 'mailin_smtp_pass' => '');
421
+ // Create the required options...
422
+ foreach ($mailinsmtp_options as $name => $val)
423
+ update_option($name, $val);
424
+ }
425
+ /*
426
+ * when we delete plugin call this function
427
+ */
428
+ function mailinDelete()
429
+ {
430
+ delete_option('mailin_apikey');
431
+ delete_option('mailin_list_selected');
432
+ delete_option('widget_mailin_widget');
433
+ delete_option('mailin_smtp');
434
+ delete_option('mailin_lists');
435
+ delete_option('mailin_unsubscribe');
436
+ $mailinsmtp_options = array('mail_from' => '',
437
+ 'mail_from_name' => '',
438
+ 'mailer' => 'mail',
439
+ 'mail_set_return_path' => 'false',
440
+ 'mailin_smtp_host' => 'localhost',
441
+ 'mailin_smtp_port' => '25',
442
+ 'mailin_smtp_ssl' => 'none',
443
+ 'mailin_smtp_auth' => false,
444
+ 'mailin_smtp_user' => '',
445
+ 'mailin_smtp_pass' => '');
446
+ // Create the required options...
447
+ foreach ($mailinsmtp_options as $name => $val)
448
+ delete_option($name);
449
+ global $wpdb;
450
+ $table = $wpdb->prefix.'mailin_subscribers';
451
+ $wpdb->query('DROP TABLE IF EXISTS '.$table);
452
+ }
453
+ /* Runs when plugin is activated */
454
+ register_activation_hook(__FILE__, 'mailinInstall');
455
+ /* Runs on plugin deactivation*/
456
+ register_deactivation_hook(__FILE__, 'mailinRemove');
457
+ /* Runs on plugin unistalling*/
458
+ register_uninstall_hook(__FILE__, 'mailinDelete');
459
+ class SiteUsers
460
+ {
461
+ public static function init()
462
+ {
463
+ // Change the user's display name after insertion
464
+ add_action('user_register', array(
465
+ __CLASS__,
466
+ 'registerNewlyAddedUser'
467
+ ));
468
+ }
469
+ /*
470
+ * This function is called when a new user is created
471
+ * User is added in mailinlist
472
+ */
473
+ public static function registerNewlyAddedUser($user_id = null)
474
+ {
475
+ if ($user_id != null)
476
+ {
477
+ $info = get_userdata($user_id);
478
+
479
+
480
+ if (is_object($info))
481
+ {
482
+ $user = get_user_by( 'email', $info->data->user_email );
483
+
484
+ if (isset($info->data->user_email) && $info->data->user_email != '')
485
+ {
486
+
487
+ $user_nicename = isset($info->data->user_nicename) ? $info->data->user_nicename : '';
488
+ $fname = isset($user->first_name) ? $user->first_name : '';
489
+ $lname = isset($user->last_name) ? $user->last_name : '';
490
+ $selected_list = get_option('mailin_list_selected');
491
+ $api_key = get_option('mailin_apikey');
492
+ $m_obj = new MailinApi();
493
+ if (!$m_obj->syncronizeSetting())
494
+ return false;
495
+ $m_obj->createRegistrationUser($api_key, $info->data->user_email, $selected_list, $fname, $lname);
496
+ $m_obj->updateSubscribers($info->data->user_email, $selected_list, $fname, $lname, 1, 1);
497
+ }
498
+ }
499
+ }
500
+ wp_update_user($args);
501
+ }
502
+ }
503
+ SiteUsers::init();
504
+ ?>
mailin_widget.php CHANGED
@@ -1,100 +1,195 @@
1
  <?php
2
 
3
  /*
4
- Plugin Name: Foo Widget
5
- Plugin URI: http://jamesbruce.me/
6
- Description: Random Post Widget grabs a random post and the associated thumbnail to display on your sidebar
7
- Author: sachin
8
  Version: 1
9
- Author URI: http://jamesbruce.me/
10
  */
11
 
12
 
13
  /**
14
  * Adds Foo_Widget widget.
15
- */
16
 
17
- function getMailinSubscriptionForm(){
18
-
19
- if(get_option('mailin_list_selected') != '') {
20
- ?>
21
- <div id="mailin_signup_box">
22
- <form id="mailin_signup_form" action="#mailin_signup_box" method="post">
23
- <input type="hidden" value="subscribe_form_submit" name="mailin_form_action">
24
- <div class="mailin_signup_box_inside">
25
-
26
- <div class="mailin_signup_box_row">
27
- <span class="mailin_widget_head"><?php esc_html_e('Subscribe to newsletter', 'mailin_i18n'); ?></span>
28
- </div>
29
-
30
- <?php if(mailin_messages() != ''){ ?>
31
- <div id="mailin_message" >
32
- <?php echo mailin_messages(); ?>
33
- </div>
34
- <?php } ?>
35
-
36
- <div class="mailin_signup_box_row">
37
- <label ><?php echo esc_html_e('First name' , 'mailin_i18n')?><span class="required">*</span></label>
38
- <input type="text" id="fname" name="fname" value="<?php echo isset($_POST['fname']) ? $_POST['fname'] : '' ?>" size="21" maxlength="55">
39
- </div>
40
-
41
- <div class="mailin_signup_box_row">
42
- <label ><?php echo esc_html_e('Last name' , 'mailin_i18n')?><span class="required">*</span></label>
43
- <input type="text" id="lname" name="lname" value="<?php echo isset($_POST['lname']) ? $_POST['lname'] : '' ?>" size="21" maxlength="55">
44
- </div>
45
-
46
- <div class="mailin_signup_box_row">
47
- <label ><?php echo esc_html_e('Email' , 'mailin_i18n')?><span class="required">*</span></label>
48
- <input type="text" id="mailin_email" name="mailin_email" value="<?php echo isset($_POST['mailin_email']) ? $_POST['mailin_email'] : '' ?>" size="21">
49
- </div>
50
-
51
- <div class="mailin_signup_box_row right">
52
- <input type="submit" class="button" value="<?php echo esc_html_e('Subscribe' , 'mailin_i18n')?>" id="mailin_signup_submit" name="mailin_signup_submit">
53
- </div>
54
- </div>
55
- </form>
56
- </div>
57
- <?php
58
- }
59
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60
 
61
 
62
- class Mailin_Widget extends WP_Widget {
63
-
64
- /**
65
- * Register widget with WordPress.
66
- */
67
- public function __construct() {
68
- parent::__construct(
69
- 'mailin_widget', // Base ID
70
- 'Mailin_Widget', // Name
71
- array('description' => __( 'Mailin Widget', 'mailin_i18n' ), ) // Args
72
- );
73
- }
74
-
75
- /**
76
- * Front-end display of widget.
77
- *
78
- * @see WP_Widget::widget()
79
- *
80
- * @param array $args Widget arguments.
81
- * @param array $instance Saved values from database.
82
- */
83
- public function widget( $args, $instance ) {
84
-
85
- extract( $args );
86
-
87
- if (!is_array($instance)) {
88
- $instance = array();
89
  }
90
- getMailinSubscriptionForm(array_merge($args, $instance));
91
- }
92
 
93
 
94
- } // class Foo_Widget
 
95
 
96
- // register Foo_Widget widget
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
97
 
98
- add_action( 'widgets_init', create_function( '', 'register_widget( "Mailin_Widget" );' ));
99
 
100
  ?>
1
  <?php
2
 
3
  /*
4
+ Description: This is mailin widget which is working with mailin wordpress plugin . from this widget you can manage title of the block displayed in front office . you can also manage to display Prenom and Nom.
5
+ Author: deshbandhu
 
 
6
  Version: 1
7
+ Author URI: http://mailin.fr/
8
  */
9
 
10
 
11
  /**
12
  * Adds Foo_Widget widget.
13
+ */
14
 
15
+ function getMailinSubscriptionForm($arg)
16
+ {
17
+
18
+ $api_key = get_option('mailin_apikey');
19
+
20
+ $mailin_apikey_status = get_option('mailin_apikey_status');
21
+
22
+ $mailin_manage_subscribe = get_option('mailin_manage_subscribe');
23
+
24
+ $mailin_unsubscribe = get_option('mailin_unsubscribe');
25
+
26
+ if ($api_key == false || $mailin_apikey_status == 0 || $mailin_manage_subscribe == 0)
27
+ return false;
28
+ if (get_option('mailin_list_selected') != '')
29
+ {
30
+ ?>
31
+ <div id="mailin_signup_box">
32
+ <form id="mailin_signup_form" action="#mailin_signup_box" method="post">
33
+ <input type="hidden" value="subscribe_form_submit" name="mailin_form_action">
34
+ <div class="mailin_signup_box_inside">
35
+ <div class="mailin_signup_box_row">
36
+ <span class="mailin_widget_head"> <?php esc_html_e($arg['title'], 'mailin_i18n');?></span></div>
37
+ <?php
38
+ if (mailinMessages() != '')
39
+ {
40
+ ?>
41
+ <div id="mailin_message">
42
+ <?php
43
+ echo mailinMessages();
44
+ ?>
45
+ </div>
46
+ <?php
47
+ }
48
+ ?>
49
+
50
+ <?php
51
+ if ($arg['firstname'] == 1)
52
+ {
53
+ ?>
54
+ <div class="mailin_signup_box_row">
55
+ <label><?php echo esc_html_e('First name', 'mailin_i18n'); ?><span class="required">*</span></label>
56
+ <input type="text" id="fname" name="fname" value="<?php echo isset($_POST['fname']) ? $_POST['fname'] : ''; ?>" size="21" maxlength="55">
57
+ </div>
58
+ <?php
59
+ }
60
+ ?>
61
+
62
+ <?php
63
+ if ($arg['lastname'] == 2)
64
+ {
65
+ ?>
66
+ <div class="mailin_signup_box_row">
67
+ <label><?php echo esc_html_e('Last name', 'mailin_i18n');?><span class="required">*</span>
68
+ </label><input type="text" id="lname" name="lname" value="<?php echo isset($_POST['lname']) ? $_POST['lname'] : ''; ?>" size="21" maxlength="55">
69
+ </div>
70
+ <?php }?>
71
+
72
+ <div class="mailin_signup_box_row">
73
+ <label><?php echo esc_html_e('Email', 'mailin_i18n'); ?><span class="required">*</span> </label>
74
+ <input type="text" id="mailin_email" name="mailin_email" value="<?php echo isset($_POST['mailin_email']) ? $_POST['mailin_email'] : ''; ?>" size="21">
75
+ </div>
76
+ <?php
77
+ if ($mailin_unsubscribe == 1)
78
+ {
79
+ ?>
80
+ <div class="mailin_signup_box_row">
81
+ <select name="action">
82
+ <option value="1" <?php if(isset($_POST['action']) && $_POST['action'] == 1 ) echo 'selected'; ?> >
83
+ <?php
84
+ echo esc_html_e('Subscribe', 'mailin_i18n');
85
+ ?>
86
+ </option>
87
+ <option value="2"
88
+ <?php if(isset($_POST['action']) && $_POST['action'] == 2) echo 'selected'; ?>>
89
+ <?php
90
+ echo esc_html_e('Unsubscribe', 'mailin_i18n');
91
+ ?>
92
+ </option>
93
+ </select>
94
+ </div>
95
+ <?php
96
+ }
97
+ ?>
98
+
99
+
100
+ <div class="mailin_signup_box_row right">
101
+ <input type="submit" class="button" value="<?php echo esc_html_e('Validate', 'mailin_i18n'); ?>" id="mailin_signup_submit" name="mailin_signup_submit"></div>
102
+ </div>
103
+ </form>
104
+ </div>
105
 
106
 
107
+ <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
108
  }
109
+ }
 
110
 
111
 
112
+ class Mailin_Widget extends WP_Widget
113
+ {
114
 
115
+ /**
116
+ * Register widget with WordPress.
117
+ */
118
+ public function __construct()
119
+ {
120
+ parent::__construct('mailin_widget', // Base ID
121
+ 'Mailin_Widget', // Name
122
+ array(
123
+ 'description' => __('Mailin Widget', 'mailin_i18n')
124
+ ) // Args
125
+ );
126
+ }
127
+
128
+ /**
129
+ * Front-end display of widget.
130
+ *
131
+ * @see WP_Widget::widget()
132
+ *
133
+ * @param array $args Widget arguments.
134
+ * @param array $instance Saved values from database.
135
+ */
136
+ public function widget($args, $instance)
137
+ {
138
+ extract($args);
139
+ if (!is_array($instance))
140
+ $instance = array();
141
+ getMailinSubscriptionForm(array_merge($args, $instance));
142
+ }
143
+ public function form($instance)
144
+ {
145
+ if (isset($instance['title']) && !empty($instance['title']))
146
+ $title = $instance['title'];
147
+ else
148
+ $title = 'Subscribe to newsletter';
149
+ if (isset($instance['firstname']) && $instance['firstname'] == 1)
150
+ $fchecked = 'checked';
151
+ else if (!isset($instance['firstname']))
152
+ $fchecked = 'checked';
153
+ if (isset($instance['lastname']) && $instance['lastname'] == 2)
154
+ $lchecked = 'checked';
155
+ else if (!isset($instance['lastname']))
156
+ $lchecked = 'checked';
157
+
158
+
159
+ ?>
160
+ <p><label for="<?php echo $this->get_field_id('title'); ?>" >
161
+ <?php _e('Title:'); ?></label>
162
+ <input id="<?php echo $this->get_field_id('title'); ?>"
163
+ name="<?php echo $this->get_field_name('title');?>" type="text" value="<?php echo $title; ?>" /></p>
164
+
165
+ <p><input <?php echo $fchecked; ?>
166
+ id="<?php echo $this->get_field_id('firstname'); ?>"
167
+ name="<?php echo $this->get_field_name('firstname'); ?>" type="checkbox" value="1" />
168
+ <label for="<?php echo $this->get_field_id('firstname'); ?>">
169
+ <?php _e('Display first name input', 'mailin_i18n'); ?></label></p>
170
+
171
+ <p> <input <?php echo $lchecked; ?>
172
+ id="<?php echo $this->get_field_id('lastname'); ?>"
173
+ name="<?php echo $this->get_field_name('lastname'); ?>" type="checkbox" value="2" />
174
+ <label for="<?php echo $this->get_field_id('lastname'); ?>">
175
+ <?php _e('Display last name input', 'mailin_i18n'); ?></label></p>
176
+
177
+ <?php
178
+ }
179
+ public function update($new_instance, $old_instance)
180
+ {
181
+ $instance['title'] = strip_tags($new_instance['title']);
182
+ $instance['firstname'] = strip_tags($new_instance['firstname']);
183
+ $instance['lastname'] = strip_tags($new_instance['lastname']);
184
+
185
+ return $instance;
186
+ }
187
+ }
188
+ function mailinRegisterWidgets()
189
+ {
190
+ register_widget('Mailin_Widget');
191
+ }
192
 
193
+ add_action('widgets_init', 'mailinRegisterWidgets');
194
 
195
  ?>
mailinapi.class.php CHANGED
@@ -1,516 +1,708 @@
1
  <?php
2
-
3
- /**
4
- * This class has functions that supports interaction with Mailin server
5
- */
6
-
7
- class mailin_API {
8
-
9
- /**
10
- error messages default set to blank
11
- */
12
- public $_mailin_error = array();
13
-
14
- /**
15
- success messages default set to blank
16
- */
17
- public $_mailin_success = array();
18
-
19
- /**
20
- * Returns all lists from databse
21
- * @return Array
22
- */
23
- public function getListDetails($list_id){
24
-
25
- $lists = get_option('mailin_lists');
26
- $lists = unserialize($lists);
27
-
28
- }
29
-
30
- /**
31
- * Updates lists in database after fetching from mailin
32
- * @return Array
33
- */
34
- public function updateUserLists($api_key = null){
35
-
36
- if($api_key == null){
37
- $api_key = get_option('mailin_apikey');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
  }
39
-
40
- if($api_key == ''){
41
- return ;
42
- }
43
-
44
- $returnData = $this->getUserLists($api_key);
45
-
46
- if(isset($returnData->result) && !empty($returnData->result)){
47
- $listData = $returnData->result;
48
- $lists = serialize($listData);
49
- update_option('mailin_lists', $lists);
50
- }
51
-
52
- }
53
-
54
- /**
55
- * Updates user campaigns in database after fetching from mailin
56
- * @return array of list
57
- */
58
- public function updateUserCampaigns($api_key = null){
59
-
60
- if($api_key == null){
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
61
  $api_key = get_option('mailin_apikey');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
62
  }
63
-
64
- if($api_key == ''){
65
- return ;
66
- }
67
-
68
- $returnData = $this->getUserCampaigns($api_key);
69
-
70
- if(isset($returnData->result) && !empty($returnData->result)){
71
- $campaigns = $returnData->result;
72
- $campaigns = serialize($campaigns);
73
- update_option('mailin_campaigns', $campaigns);
74
- }
75
-
76
- }
77
-
78
-
79
- /**
80
- * Validate API key entered by user
81
- * @return array with error message (if invalid), user's lists (if valid)
82
- */
83
- public function validateAPIkey($api_key = null){
84
-
85
- $isValid = false;
86
- $error = '';
87
- $listData = array();
88
-
89
- if($api_key == ''){
90
-
91
- $error = 'Please enter API key';
92
-
93
- }else{
94
-
95
- $returnData = $this->getUserLists($api_key);
96
-
97
- if(!is_object($returnData)){
98
-
99
- $error = 'Oops!, unable to connect!';
100
-
101
- }else if(isset($returnData->errorMsg)){
102
-
103
- $error = $returnData->errorMsg;
104
-
105
- }else if(isset($returnData->result)){
106
-
107
- $isValid = true;
108
- if(!empty($returnData->result)){
109
- $listData = $returnData->result;
110
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
111
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
112
  }
113
-
114
- $returnData = array('isValid' => $isValid , 'data' => $listData , 'error' => $error);
115
- return $returnData;
116
-
117
- }
118
-
119
-
120
- /**
121
- * Validate API key, saves API key in DB
122
- * Saves users campaigns, Saves users lists
123
- * @return void
124
- */
125
- public function handle_apikey_form_submit($api_key = null){
126
-
127
- $api_key = strip_tags(trim($api_key));
128
-
129
- $returnData = $this->validateAPIkey($api_key);
130
-
131
- if($returnData['error'] != ''){
132
-
133
- $this->_mailin_error[] = __( $returnData['error'] , 'mailin_i18n');
134
-
135
- }else if(!$returnData['isValid']){
136
-
137
- $this->_mailin_error[] = __( $returnData['error'], 'mailin_i18n');
138
-
139
- }else{
140
-
141
- $this->_mailin_success[] = __('Your API is valid, your lists are fetched and saved in the database.', 'mailin_i18n');
142
-
143
- $this->updateUserLists($api_key);
144
- $this->updateUserCampaigns($api_key);
145
-
146
- if(!empty($returnData['data'])){
147
-
148
- $lists = serialize($returnData['data']);
149
- update_option('mailin_lists', $lists);
150
-
151
- }
152
- update_option('mailin_apikey', $api_key);
153
- update_option('mailin_list_selected', '');
154
-
155
- }
156
-
157
- }
158
-
159
-
160
- /**
161
- * Saves selected lists (in which newsletter subscriptions will be added)
162
- * @return void
163
- */
164
- public function handle_updatelist_form_submit($list_id){
165
-
166
- if(!empty($list_id)){
167
-
168
- $this->updateUserLists();
169
- $list_id = implode('|', $list_id);
170
- update_option('mailin_list_selected', $list_id);
171
- $this->_mailin_success[] = __('List updated successfully', 'mailin_i18n');
172
-
173
- }else{
174
-
175
- $this->_mailin_error[] = __('Please select a list' , 'mailin_i18n');
176
-
177
- }
178
- }
179
-
180
- /**
181
- * Removes api key, mailin lists and selected lists from DB
182
- * @return void
183
- */
184
- public function handle_logout_form_submit(){
185
-
186
- update_option('mailin_apikey', '');
187
- update_option('mailin_lists', '');
188
- update_option('mailin_list_selected', '');
189
-
190
- }
191
-
192
-
193
- /**
194
- * Validate newsletter form and sets up error messages accordingly.
195
- * @return void
196
- */
197
- function validate_newsletter_form($email, $fname , $lname) {
198
-
199
- $result = true;
200
-
201
- if(!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$", $email)) {
202
- //$result = false;
203
- $this->_mailin_error['email'] = __("Please enter valid e-mail" , 'mailin_i18n');
204
- }
205
-
206
- if($fname == ''){
207
- $this->_mailin_error['fname'] = __("Please enter your first name" , 'mailin_i18n');
208
- }
209
-
210
- if($lname == ''){
211
- $this->_mailin_error['lname'] = __("Please enter your last name" , 'mailin_i18n');
212
- }
213
- return $result;
214
- }
215
-
216
-
217
-
218
- /**
219
- * Validate newsletter form and sets up error messages accordingly.
220
- * @return void
221
- */
222
- public function handle_newsletter_subscribe_submit(){
223
-
224
- $email = trim(strip_tags($_POST['mailin_email']));
225
- $email = strtolower($email);
226
-
227
- $fname = isset($_POST['fname']) ? trim(strip_tags($_POST['fname'])) : '';
228
- $lname = isset($_POST['lname']) ? trim(strip_tags($_POST['lname'])) : '';
229
-
230
- $this->validate_newsletter_form($email, $fname , $lname);
231
-
232
- if(empty($this->_mailin_error)){
233
-
234
  $api_key = get_option('mailin_apikey');
235
- $selected_list = get_option('mailin_list_selected');
236
-
237
- $returnData = $this->createUser($api_key ,$email , $selected_list);
238
-
239
- if(!is_object($returnData)){
240
-
241
- $error = 'Oops!, unable to connect!';
242
-
243
- }else if((isset($returnData->msgTy) && $returnData->msgTy == 'success') || isset($returnData->result)){
244
-
245
- $this-> updateUserLists($api_key);
246
-
247
- $this-> updateSubscribers($email , $selected_list, $fname , $lname);
248
-
249
- $this->_mailin_success[] = __('You have successfully subscribed Mailin newsletter!','mailin_i18n' );
250
-
251
- }else if(isset($returnData->msgTy) && $returnData->msgTy == 'error'){
252
-
253
- $this->_mailin_error[] = __($returnData->msg,'mailin_i18n');
254
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
255
  }
256
  }
257
-
258
- }
259
-
260
- public function add_subscription($email){
261
-
262
- get_option('USERCREADIT');
263
- //add user through ADD USER FUNCTION
264
-
265
- }
266
-
267
- /**
268
- * Makes curl request to Mailin server with array of vars
269
- * @return array returned by API
270
- */
271
- function curl_request($data) {
272
-
273
- $url = 'http://ws.mailin.fr/'; //WS URL
274
- $ch = curl_init();
275
- // prepate data for curl post
276
-
277
- $ndata='';
278
- if(is_array($data)){
279
- foreach($data AS $key=>$value){
280
- $ndata .=$key.'='.urlencode($value).'&';
281
- }
282
- }else {
283
- $ndata=$data;
284
- }
285
- curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:'));
286
- curl_setopt($ch, CURLOPT_POST ,1);
287
- curl_setopt ($ch, CURLOPT_POSTFIELDS,$ndata);
288
- curl_setopt($ch, CURLOPT_HEADER, 0);
289
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //Set curl to return the data instead of printing it to the browser.
290
- curl_setopt($ch, CURLOPT_URL, $url);
291
- $data = curl_exec($ch);
292
- curl_close($ch);
293
- return $data;
294
- }
295
-
296
-
297
- /**
298
- * Creates a user under the provided list id
299
- * @return Array
300
- */
301
- public function createUser($api_key = null, $email, $list_id){
302
-
303
- $data['key']= $api_key ;
304
- $data['webaction']='USERCREADIT';
305
- $data['email']= $email;
306
- $data['id']='';
307
- $data['blacklisted']='';
308
- $data['attributes_name']='';
309
- $data['attributes_value']='';
310
- $data['listid']= $list_id;
311
-
312
- $return = $this->curl_request($data);
313
- $return = json_decode($return);
314
- return $return;
315
-
316
- }
317
-
318
-
319
- /**
320
- * Return list data from Mailin server
321
- * @return Array
322
- */
323
- public function getUserLists($api_key = null , $list_id = null){
324
-
325
- if($api_key == '') {
326
- return ;
327
- }
328
-
329
- $data = array();
330
- $data['key'] = $api_key;
331
- $data['webaction']= 'DISPLAYLISTDATA';
332
-
333
- if($list_id != null){
334
- $data['listids'] = $list_id;
335
- }
336
-
337
- $return = $this->curl_request($data);
338
- $return = json_decode($return);
339
-
340
- return $return;
341
- }
342
-
343
-
344
-
345
- /**
346
- * Returns user data of provided list Ids from Mailin server
347
- * @return Array;
348
- */
349
- function getListUsers($api_key, $list_ids){
350
-
351
-
352
- if($api_key == '') {
353
- return ;
354
- }
355
-
356
- $data = array();
357
- $data['webaction']='DISPLAYLISTDATABLACK';
358
- $data['key']=$api_key;
359
-
360
- $data['listids']= $list_ids;
361
-
362
- $return = $this->curl_request($data);
363
- $return = json_decode($return);
364
-
365
- return $return;
366
-
367
- }
368
-
369
-
370
- /**
371
- * Returns user's campaigns from Mailin
372
- * @return Array;
373
- */
374
- public function getUserCampaigns($api_key = null){
375
-
376
- if($api_key == '') {
377
- return ;
378
- }
379
-
380
- $data = array();
381
- $data['key'] = $api_key;
382
- $data['webaction']= 'CAMPAIGNDETAIL';
383
- $data['show']='ALL';
384
-
385
- $return = $this->curl_request($data);
386
- $return = json_decode($return);
387
- return $return;
388
- }
389
-
390
-
391
-
392
- /**
393
- * Returns user details of email provided from Mailin server
394
- * @return Array;
395
- */
396
- public function validateUser($api_key, $email){
397
-
398
- if($api_key == '') {
399
- return ;
400
- }
401
-
402
- $data = array();
403
- $data['key'] = $api_key;
404
- $data['webaction']= 'DISPLAYUSERDETAIL';
405
- $data['email']= $email;
406
-
407
- $return = $this->curl_request($data);
408
- $return = json_decode($return);
409
- return $return;
410
- }
411
-
412
-
413
-
414
- /**
415
- * Inserts/updates(user status) in subscription table
416
- * @return void;
417
- */
418
- public function updateSubscribers($email , $selected_list, $fname , $lname){
419
-
420
- $selected_list = explode('|', $selected_list);
421
- $selected_list = implode(',', $selected_list);
422
-
423
- global $wpdb;
424
- $myrows = $wpdb->get_results( "SELECT id FROM ".MAILIN_SUBSCRIBERS." WHERE email = '".$email."' LIMIT 1");
425
-
426
- if(empty($myrows)){
427
-
428
- $sql = "INSERT INTO ".MAILIN_SUBSCRIBERS."
429
- SET email= '".$email."', fname = '".$fname."' ,
430
- lname = '".$lname."' , list = '".$selected_list."' , create_date= '".date('Y-m-d H:i:s')."' ";
431
-
432
- $wpdb->query($sql);
433
-
434
- }else{
435
-
436
- $sql = "UPDATE ".MAILIN_SUBSCRIBERS." SET list = '".$selected_list."' , fname = '".$fname."' ,
437
- lname = '".$lname."' , create_date= '".date('Y-m-d H:i:s')."' WHERE id = ".$myrows[0]->id." ";
438
- $wpdb->query($sql);
439
- }
440
- }
441
-
442
-
443
- /**
444
- * Returns subscribers from subscription table
445
- * @return void;
446
- */
447
- public function getAllSubscribers($subs = 1){
448
-
449
- global $wpdb;
450
-
451
- $sql = "SELECT * FROM ".MAILIN_SUBSCRIBERS." WHERE 1=1 ";
452
-
453
- if($subs == 1){
454
- $sql .= " AND subscribed = '1' ";
455
- }
456
-
457
- $myrows = $wpdb->get_results($sql);
458
- return $myrows;
459
- }
460
-
461
-
462
- /**
463
- * Synchronize the user's status in subscription table with user's status on Mailin
464
- * @return bool;
465
- */
466
- public function syncUsers(){
467
-
468
- global $wpdb;
469
- $api_key = get_option('mailin_apikey');
470
-
471
- $lists = get_option('mailin_lists');
472
- $lists = unserialize($lists);
473
-
474
- $final_data = array();
475
- foreach($lists as $data){
476
- $final_data[] = $data->id;
477
- }
478
-
479
- $list_ids = '';
480
- if(!empty($final_data)){
481
- $list_ids = implode('|' , $final_data);
482
- }
483
-
484
- if($list_ids == ''){
485
- return ;
486
- }
487
-
488
- $list_users = $this->getListUsers($api_key , $list_ids);
489
-
490
-
491
- if(!empty($list_users->result)){
492
-
493
- foreach($list_users->result as $key=>$lists){
494
-
495
- if(!empty($lists)){
496
- foreach($lists as $users){
497
-
498
- if(isset($users->blacklisted)){
499
-
500
- if($users->blacklisted == '1'){
501
- $sql = "UPDATE ".MAILIN_SUBSCRIBERS." SET subscribed = '0' WHERE email = '".strtolower(trim($users->email))."' " ;
502
- }else{
503
- $sql = "UPDATE ".MAILIN_SUBSCRIBERS." SET subscribed = '1' WHERE email = '".strtolower(trim($users->email))."' " ;
504
-
505
- }
506
- $myrows = $wpdb->query($sql);
507
- }
508
- }
509
- }
510
- }
511
- }
512
- return true;
513
- }
514
-
515
  }
516
- ?>
1
  <?php
2
+ class MailinApi
3
+ {
4
+ public $mailin_error = array();
5
+ public $mailin_success = array();
6
+ /**
7
+ * update user list
8
+ */
9
+ public function updateUserLists($api_key = null)
10
+ {
11
+ if ($api_key == '')
12
+ return;
13
+ elseif ($api_key != null)
14
+ $api_key = get_option('mailin_apikey');
15
+ $return_data = $this->getUserLists($api_key);
16
+ if (isset($return_data->result) && !empty($return_data->result))
17
+ {
18
+ $list_data = $return_data->result;
19
+ $lists = serialize($list_data);
20
+ update_option('mailin_lists', $lists);
21
+ }
22
+ }
23
+ /**
24
+ * check api key is validate or not
25
+ */
26
+ public function validateAPIkey($api_key = null)
27
+ {
28
+ $is_valid = false;
29
+ $error = '';
30
+ $list_data = array();
31
+ if ($api_key == '')
32
+ $error = 'Please enter API key';
33
+ else
34
+ {
35
+ $return_data = $this->getUserLists($api_key);
36
+ if (!is_object($return_data))
37
+ $error = 'Oops!, unable to connect!';
38
+ else if (isset($return_data->error_msg))
39
+ $error = $return_data->error_msg;
40
+ else if (isset($return_data->result))
41
+ {
42
+ $is_valid = true;
43
+ if (!empty($return_data->result))
44
+ $list_data = $return_data->result;
45
+ }
46
+ }
47
+ return $return_data = array(
48
+ 'isValid' => $is_valid,
49
+ 'data' => $list_data,
50
+ 'error' => $error
51
+ );
52
  }
53
+ /**
54
+ * handle api key form
55
+ */
56
+ public function handleApikeyFormSubmit($api_new_key = null)
57
+ {
58
+ $api_new_key = strip_tags(trim($api_new_key));
59
+ $return_data = $this->validateAPIkey($api_new_key);
60
+ if ($return_data['error'] != '')
61
+ $this->mailin_error[] = __($return_data['error'], 'mailin_i18n');
62
+ else if (!$return_data['isValid'])
63
+ $this->mailin_error[] = __($return_data['error'], 'mailin_i18n');
64
+ else {
65
+ $this->mailin_success[] = __('Successfully Updated', 'mailin_i18n');
66
+ $api_previous_key = get_option('mailin_apikey');
67
+ update_option('mailin_apikey', $api_new_key);
68
+ update_option('mailin_manage_subscribe', 1);
69
+ if ($api_previous_key == null)
70
+ $this->createFolderName();
71
+ elseif ($api_new_key != $api_previous_key)
72
+ {
73
+ $this->mailinRemove();
74
+ $this->createFolderName();
75
+ }
76
+ update_option('mailin_apikey_status', $_POST['mailin_api_status']);
77
+ $this->updateUserLists($api_new_key);
78
+ }
79
+ }
80
+ /**
81
+ * Method is being called at the time of put another key the Mailin plugin.
82
+ */
83
+ public function mailinRemove()
84
+ {
85
+ update_option('mailin_list_selected', '');
86
+ update_option('mailin_smtp', '');
87
+ update_option('mailin_lists', '');
88
+ update_option('mailin_manage_subscribe', '');
89
+ update_option('mailin_apikey_status', '');
90
+ $mailinsmtp_options = array(
91
+ 'mail_from' => '',
92
+ 'mail_from_name' => '',
93
+ 'mailer' => 'mail',
94
+ 'mail_set_return_path' => 'false',
95
+ 'mailin_smtp_host' => 'localhost',
96
+ 'mailin_smtp_port' => '25',
97
+ 'mailin_smtp_ssl' => 'none',
98
+ 'mailin_smtp_auth' => false,
99
+ 'mailin_smtp_user' => '',
100
+ 'mailin_smtp_pass' => ''
101
+ );
102
+ // Create the required options...
103
+ foreach ($mailinsmtp_options as $name => $val)
104
+ update_option($name, $val);
105
+ }
106
+ /**
107
+ * Creates a list by the name "wordpress" on user's Mailin account.
108
+ */
109
+ public function createNewList($response, $exist_list)
110
+ {
111
+ if ($exist_list != '')
112
+ {
113
+ $date = date('dmY');
114
+ $list_name = 'wordpress_'.$date;
115
+ } else
116
+ $list_name = 'wordpress';
117
+ $api_key = get_option('mailin_apikey');
118
+ $data = array();
119
+ $data['key'] = $api_key;
120
+ $data['listname'] = $list_name;
121
+ $data['webaction'] = 'NEWLIST';
122
+ $data['list_parent'] = $response; //folder id
123
+ $list_response = json_decode($this->curlRequest($data));
124
+ $this->sendAllMailIDToMailin($list_response->result);
125
+ }
126
+ /**
127
+ * functions used for create folder
128
+ */
129
+ public function createFolderName()
130
+ {
131
+ $this->createAttributesName();
132
+ $result = $this->checkFolderList();
133
+ if (empty($result[1]))
134
+ {
135
+ $data = array();
136
+ $data['key'] = get_option('mailin_apikey');
137
+ $data['webaction'] = 'ADDFOLDER';
138
+ $data['foldername'] = 'wordpress';
139
+ $res = $this->curlRequest($data);
140
+ $res = json_decode($res);
141
+ $folder_id = $res->folder_id;
142
+ $exist_list = '';
143
+ } else
144
+ {
145
+ $folder_id = $result[0];
146
+ $exist_list = $result[2];
147
+ }
148
+ $this->createNewList($folder_id, $exist_list); // create list in mailin
149
+ $this->partnerWordpress(); // create partner name
150
+ }
151
+ /**
152
+ * Method is used to add the partner's name in Mailin.
153
+ * In this case its "WORDPRESS".
154
+ */
155
+ public function partnerWordpress()
156
+ {
157
+ $data['key'] = get_option('mailin_apikey');
158
+ $data['webaction'] = 'MAILIN-PARTNER';
159
+ $data['partner'] = 'WORDPRESS';
160
+ $list_response = $this->curlRequest($data);
161
+ }
162
+ /**
163
+ * Fetches all folders and all list within each folder of the user's Mailin
164
+ * account and displays them to the user.
165
+ */
166
+ public function checkFolderList()
167
+ {
168
+ $data = array();
169
+ $data['key'] = get_option('mailin_apikey');
170
+ $data['webaction'] = 'DISPLAY-FOLDERS-LISTS';
171
+ $data['ids'] = ''; //folder id
172
+ $s_array = array();
173
+ $list_response = $this->curlRequest($data);
174
+ $res = json_decode($list_response, true);
175
+ if (isset($res) && !empty($res))
176
+ {
177
+ foreach ($res as $key => $value)
178
+ {
179
+ if (strtolower($value['name']) == 'wordpress')
180
+ {
181
+ $s_array[] = $key;
182
+ $s_array[] = $value['name'];
183
+ }
184
+ if (!empty($value['lists']))
185
+ {
186
+ foreach ($value['lists'] as $val)
187
+ {
188
+ if (strtolower($val['name']) == 'wordpress')
189
+ $s_array[] = $val['name'];
190
+ }
191
+ }
192
+ }
193
+ }
194
+ return $s_array;
195
+ }
196
+ /**
197
+ * Checks if a folder 'Wordpress' and a list "Wordpress" exits in the Mailin account.
198
+ * If they do not exits, this method creates them.
199
+ */
200
+ public function createFolderCaseTwo()
201
+ {
202
+ $result = $this->checkFolderList();
203
+ $list_name = 'wordpress';
204
+ $param = array();
205
+ $data = array();
206
+ $folder_id = $result[0];
207
+ $exist_list = $result[2];
208
+ if (empty($result[1]))
209
+ {
210
+ $data['key'] = get_option('mailin_apikey');
211
+ $data['webaction'] = 'ADDFOLDER';
212
+ $data['foldername'] = 'wordpress';
213
+ $res = $this->curlRequest($data);
214
+ $res = json_decode($res);
215
+ $folder_id = $res->folder_id;
216
+ $param['key'] = get_option('mailin_apikey');
217
+ $param['listname'] = $list_name;
218
+ $param['webaction'] = 'NEWLIST';
219
+ $param['list_parent'] = $folder_id; //folder id
220
+ $list_response = $this->curlRequest($param);
221
+ $res = json_decode($list_response);
222
+ $list_id = $res->result;
223
+ // import old user to mailin
224
+ $this->sendAllMailIDToMailin($list_id);
225
+ } elseif (empty($exist_list))
226
+ {
227
+ // create list
228
+ $param['key'] = get_option('mailin_apikey');
229
+ $param['listname'] = $list_name;
230
+ $param['webaction'] = 'NEWLIST';
231
+ $param['list_parent'] = $folder_id; //folder id
232
+ $list_response = $this->curlRequest($param);
233
+ $res = json_decode($list_response);
234
+ $list_id = $res->result;
235
+ $this->sendAllMailIDToMailin($list_id);
236
+ }
237
+ }
238
+ /**
239
+ * Method is used to send all the subscribers from Wordpress to
240
+ * Mailin for adding / updating purpose.
241
+ */
242
+ public function sendAllMailIDToMailin($list)
243
+ {
244
+ $lang = get_bloginfo('language');
245
+ update_option('mailin_list_selected', trim($list));
246
+ if ($lang == 'en-US')
247
+ $l = 'en';
248
+ else
249
+ $l = 'fr';
250
+ $api_key = get_option('mailin_apikey');
251
+ $allemail = $this->autoSubscribeAfterInstallation();
252
+ if ($allemail != false)
253
+ {
254
+ $data = array();
255
+ $data['webaction'] = 'MULTI-USERCREADIT';
256
+ $data['key'] = $api_key;
257
+ $data['attributes'] = $allemail;
258
+ $data['lang'] = $l;
259
+ $data['listid'] = $list; // List id should be optional
260
+ $response = $this->curlRequest($data);
261
+ } else
262
+ return false;
263
+ }
264
+ /**
265
+ * Fetches the SMTP and order tracking details
266
+ */
267
+ public function trackingSmtp()
268
+ {
269
  $api_key = get_option('mailin_apikey');
270
+ $data = array();
271
+ $data['key'] = $api_key;
272
+ $data['webaction'] = 'TRACKINGDATA';
273
+ return json_decode($this->curlRequest($data));
274
+ }
275
+ /**
276
+ * Create Normal attributes and their values
277
+ * on Mailin platform. This is necessary for the Wordpress to add subscriber's details.
278
+ */
279
+ public function createAttributesName()
280
+ {
281
+ $data = array();
282
+ $api_key = get_option('mailin_apikey');
283
+ $data['key'] = $api_key;
284
+ $data['webaction'] = 'ATTRIBUTES_CREATION';
285
+ $data['normal_attributes'] = 'PRENOM,text|NOM,text|CLIENT,number';
286
+ return $this->curlRequest($data);
287
+ }
288
+ /**
289
+ * This method is used to check the subscriber's newsletter subscription status in Mailin
290
+ */
291
+ public function checkusermainStatus($result)
292
+ {
293
+ $data = array();
294
+ $userstatus = array();
295
+ if (isset($result))
296
+ foreach ($result as $value)
297
+ $userstatus[] = $value->email;
298
+ $email = implode(',', $userstatus);
299
+ $api_key = get_option('mailin_apikey');
300
+ $data['key'] = $api_key;
301
+ $data['webaction'] = 'USERS-STATUS';
302
+ $data['email'] = $email;
303
+ return json_decode($this->curlRequest($data), true);
304
+ }
305
+ /**
306
+ * Fetches all the subscribers of Wordpress and adds them to the Mailin database.
307
+ */
308
+ public function autoSubscribeAfterInstallation()
309
+ {
310
+ $users = $this->getAllSubscribers();
311
+ $data = array();
312
+ if (!empty($users))
313
+ foreach ($users as $subs)
314
+ $data[] = array(
315
+ 'email' => $subs->email,
316
+ 'PRENOM' => $subs->fname,
317
+ 'NOM' => $subs->lname
318
+ );
319
+ if (!empty($data))
320
+ return json_encode($data);
321
+ else
322
+ return false;
323
+ }
324
+ /**
325
+ * update list form submit
326
+ */
327
+ public function handleUpdateListFormSubmit($list_id)
328
+ {
329
+ if (!empty($list_id))
330
+ {
331
+ $this->updateUserLists();
332
+ $list_id = implode('|', $list_id);
333
+ update_option('mailin_list_selected', $list_id);
334
+ update_option('mailin_unsubscribe', $_POST['unsubscription']);
335
+ $this->mailin_success[] = __('Successfully Updated', 'mailin_i18n');
336
+ } else
337
+ $this->mailin_error[] = __('Please select a list', 'mailin_i18n');
338
+ }
339
+ /**
340
+ * validate manage subscribe
341
+ */
342
+ public function manageSubscribe()
343
+ {
344
+ update_option('mailin_manage_subscribe', $_POST['managesubscribe']);
345
  }
346
+ /**
347
+ * validate newsletter form
348
+ */
349
+ public function validateNewsletterForm($email, $fname, $lname)
350
+ {
351
+ if (!preg_match('/^([a-z0-9]+([_\.\-]{1}[a-z0-9]+)*){1}([@]){1}([a-z0-9]+([_\-]{1}[a-z0-9]+)*)+(([\.]{1}[a-z]{2,6}){0,3}){1}$/i', $email))
352
+ $this->mailin_error['email'] = __('Please enter valid e-mail', 'mailin_i18n');
353
+ if ($fname == '' && isset($_POST['fname']))
354
+ $this->mailin_error['fname'] = __('Please enter your first name', 'mailin_i18n');
355
+ if ($lname == '' && isset($_POST['lname']))
356
+ $this->mailin_error['lname'] = __('Please enter your last name', 'mailin_i18n');
357
+ return $this->mailin_error;
358
+ }
359
+ /**
360
+ * handle newsletter subscribe form
361
+ */
362
+ public function handleNewsletterSubscribeSubmit()
363
+ {
364
+ if (!$this->syncronizeSetting())
365
+ return false;
366
+ $email = trim(strip_tags($_POST['mailin_email']));
367
+ $email = strtolower($email);
368
+ $fname = isset($_POST['fname']) ? trim(strip_tags($_POST['fname'])) : '';
369
+ $lname = isset($_POST['lname']) ? trim(strip_tags($_POST['lname'])) : '';
370
+ $action = isset($_POST['action']) ? trim(strip_tags($_POST['action'])) : 5;
371
+ if ($action == 2)
372
+ $action = 0;
373
+ if ($action == 5)
374
+ $action = 1;
375
+ $this->validateNewsletterForm($email, $fname, $lname);
376
+ if (empty($this->mailin_error))
377
+ {
378
+ $api_key = get_option('mailin_apikey');
379
+ $selected_list = get_option('mailin_list_selected');
380
+ if ($action == 1)
381
+ $return_data = $this->createUser($api_key, $email, $selected_list, $fname, $lname);
382
+ else
383
+ {
384
+ $return_data = $this->unSubUser($api_key, $email);
385
+ global $wpdb;
386
+ $myrows = $wpdb->get_results('SELECT id FROM '.MAILIN_SUBSCRIBERS.' WHERE email = "'.$email.'" LIMIT 1');
387
+ if ($action == 0 && empty($myrows))
388
+ {
389
+ $this->mailin_error['doesnotexist'] = __('Email filled does not exist in our database', 'mailin_i18n');
390
+ return false;
391
+ }
 
392
  }
393
+ if (!is_object($return_data))
394
+ $error = 'Oops!, unable to connect!';
395
+ else if ((isset($return_data->msg_ty) && $return_data->msg_ty == 'success') || isset($return_data->result))
396
+ {
397
+ $this->updateUserLists($api_key);
398
+ $this->updateSubscribers($email, $selected_list, $fname, $lname, $action, 0);
399
+ if ($action == 0)
400
+ $this->mailin_success[] = __('Unsubscription successful', 'mailin_i18n');
401
+ else
402
+ $this->mailin_success[] = __('Subscription successful', 'mailin_i18n');
403
+ } else if (isset($return_data->msg_ty) && $return_data->msg_ty == 'error')
404
+ $this->mailin_error[] = __($return_data->msg, 'mailin_i18n');
405
+ }
406
+ }
407
+ /**
408
+ * make curl request
409
+ */
410
+ public function curlRequest($data)
411
+ {
412
+ $url = 'http://ws.mailin.fr/'; //WS URL
413
+ $ch = curl_init();
414
+ // prepate data for curl post
415
+ $ndata = '';
416
+ if (is_array($data))
417
+ {
418
+ foreach ($data as $key => $value)
419
+ $ndata .= $key.'='.urlencode($value).'&';
420
+ } else
421
+ $ndata = $data;
422
+ curl_setopt($ch, CURLOPT_HTTPHEADER, array(
423
+ 'Expect:'
424
+ ));
425
+ curl_setopt($ch, CURLOPT_POST, 1);
426
+ curl_setopt($ch, CURLOPT_POSTFIELDS, $ndata);
427
+ curl_setopt($ch, CURLOPT_HEADER, 0);
428
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //Set curl to return the data instead of printing it to the browser.
429
+ curl_setopt($ch, CURLOPT_URL, $url);
430
+ $data = curl_exec($ch);
431
+ curl_close($ch);
432
+ return $data;
433
+ }
434
+ /**
435
+ * Subscribe a subscriber from Mailin.
436
+ */
437
+ public function createUser($api_key = null, $email, $list_id, $fname, $lname)
438
+ {
439
+ $client = 0;
440
+ $attribute = $fname.'|'.$lname.'|'.$client;
441
+ $data['key'] = $api_key;
442
+ $data['webaction'] = 'USERCREADITM';
443
+ $data['email'] = $email;
444
+ $data['id'] = '';
445
+ $data['blacklisted'] = '';
446
+ $data['attributes_name'] = 'PRENOM|NOM';
447
+ $data['attributes_value'] = $attribute;
448
+ $data['listid'] = $list_id;
449
+ return json_decode($this->curlRequest($data));
450
+ }
451
+ /**
452
+ * Subscribe a register user from Mailin.
453
+ */
454
+ public function createRegistrationUser($api_key = null, $email, $list_id, $fname, $lname)
455
+ {
456
+ $client = 1;
457
+ $attribute = $fname.'|'.$lname.'|'.$client;
458
+ $data['key'] = $api_key;
459
+ $data['webaction'] = 'USERCREADITM';
460
+ $data['email'] = $email;
461
+ $data['id'] = '';
462
+ $data['blacklisted'] = '';
463
+ $data['attributes_name'] = 'PRENOM|NOM|CLIENT';
464
+ $data['attributes_value'] = $attribute;
465
+ $data['listid'] = $list_id;
466
+ return json_decode($this->curlRequest($data));
467
+ }
468
+ /**
469
+ * Unsubscribe a subscriber from Mailin.
470
+ */
471
+ public function unSubUser($api_key = null, $email)
472
+ {
473
+ $data['key'] = $api_key;
474
+ $data['webaction'] = 'EMAILBLACKLIST';
475
+ $data['blacklisted'] = '0';
476
+ $data['email'] = $email;
477
+ return json_decode($this->curlRequest($data));
478
+ }
479
+ /**
480
+ * Fetches all the list of the user from the Mailin platform.
481
+ */
482
+ public function getUserLists($api_key = null, $list_id = null)
483
+ {
484
+ if ($api_key == '')
485
+ return;
486
+ $data = array();
487
+ $data['key'] = $api_key;
488
+ $data['webaction'] = 'DISPLAYLISTDATA';
489
+ if ($list_id != null)
490
+ $data['listids'] = $list_id;
491
+ return json_decode($this->curlRequest($data));
492
+ }
493
+ /**
494
+ * This is an automated version of the usersStatusTimeStamp method but is called using a CRON.
495
+ */
496
+ public function usersStatus($api_key)
497
+ {
498
+ if ($api_key == '')
499
+ return;
500
+ $timezone = get_option('timezone_string');
501
+ $users = $this->getAllUsers();
502
+ $userstatus = array();
503
+ $data = array();
504
+ if (!empty($users))
505
+ {
506
+ foreach ($users as $subs)
507
+ $userstatus[] = $subs->email.','.$subs->subscribed.','.$subs->create_date;
508
  }
509
+ $userstatus = implode('|', $userstatus);
510
+ $data['key'] = $api_key;
511
+ $data['webaction'] = 'UPDATE-USER-SUBSCRIPTION-STATUS';
512
+ $data['timezone'] = $timezone;
513
+ $data['user_status'] = $userstatus;
514
+ return json_decode($this->curlRequest($data), true);
515
+ }
516
+ /**
517
+ * validate user
518
+ */
519
+ public function validateUser($api_key, $email)
520
+ {
521
+ if ($api_key == '')
522
+ return;
523
+ $data = array();
524
+ $data['key'] = $api_key;
525
+ $data['webaction'] = 'DISPLAYUSERDETAIL';
526
+ $data['email'] = $email;
527
+ return json_decode($this->curlRequest($data));
528
  }
529
+ /**
530
+ * Checks whether the Mailin API key and the Mailin subscription form is enabled
531
+ * and returns the true|false accordingly.
532
+ */
533
+ public function syncronizeSetting()
534
+ {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
535
  $api_key = get_option('mailin_apikey');
536
+ $mailin_apikey_status = get_option('mailin_apikey_status');
537
+ $mailin_manage_subscribe = get_option('mailin_manage_subscribe');
538
+ if ($api_key == false || $mailin_apikey_status == 0 || $mailin_manage_subscribe == 0)
539
+ return false;
540
+ else
541
+ return true;
542
+ }
543
+ /**
544
+ * Update subscriber
545
+ */
546
+ public function updateSubscribers($email, $selected_list, $fname, $lname, $action, $type)
547
+ {
548
+ $selected_list = explode('|', $selected_list);
549
+ $selected_list = implode(',', $selected_list);
550
+ if ($type == 1)
551
+ $client = 1;
552
+ else
553
+ $client = 0;
554
+ global $wpdb;
555
+ $myrows = $wpdb->get_results('SELECT id FROM '.MAILIN_SUBSCRIBERS.' WHERE email = "'.$email.'" LIMIT 1');
556
+ if ($action == 0 && empty($myrows))
557
+ {
558
+ $this->mailin_error['doesnotexist'] = __('Email filled does not exist in our database', 'mailin_i18n');
559
+ return false;
560
+ }
561
+ $timezone_format = _x('Y-m-d G:i:s', 'timezone date format');
562
+ $timezone_format = date_i18n($timezone_format);
563
+ // end local time code
564
+ if (empty($myrows))
565
+ {
566
+ $sql = 'INSERT INTO '.MAILIN_SUBSCRIBERS.'
567
+ SET email= "'.$email.'",subscribed = "'.$action.'" , fname = "'.$fname.'" ,
568
+ lname = "'.$lname.'" , list = "'.$selected_list.'" , create_date= "'.$timezone_format.'" , client = "'.$client.'" ';
569
+ $wpdb->query($sql);
570
+ } else
571
+ {
572
+ $sql = 'UPDATE '.MAILIN_SUBSCRIBERS.' SET list = "'.$selected_list.'" , fname = "'.$fname.'" ,
573
+ lname = "'.$lname.'" , subscribed = "'.$action.'", create_date= "'.$timezone_format.'", client = "'.$client.'" WHERE id = '.$myrows[0]->id;
574
+ $wpdb->query($sql);
575
  }
576
  }
577
+ public function smtpUpdateConfiguration()
578
+ {
579
+ update_option('mailin_smtp', $_POST['mailin_smtp_action']);
580
+ if ($_POST['mailin_smtp_action'] == 0)
581
+ {
582
+ $mailinsmtp_options = array(
583
+ 'mail_from' => '',
584
+ 'mail_from_name' => '',
585
+ 'mailer' => 'mail',
586
+ 'mail_set_return_path' => 'false',
587
+ 'mailin_smtp_host' => 'localhost',
588
+ 'mailin_smtp_port' => '25',
589
+ 'mailin_smtp_ssl' => 'none',
590
+ 'mailin_smtp_auth' => false,
591
+ 'mailin_smtp_user' => '',
592
+ 'mailin_smtp_pass' => ''
593
+ );
594
+ // Create the required options...
595
+ foreach ($mailinsmtp_options as $name => $val)
596
+ update_option($name, $val);
597
+ } else
598
+ {
599
+ $value = $this->trackingSmtp();
600
+ if ($value->result->relay_data->status == 'enabled')
601
+ {
602
+ $mailinsmtp_options = array(
603
+ 'mail_from' => '',
604
+ 'mail_from_name' => '',
605
+ 'mailer' => 'smtp',
606
+ 'mail_set_return_path' => 'false',
607
+ 'mailin_smtp_host' => $value->result->relay_data->data->relay,
608
+ 'mailin_smtp_port' => $value->result->relay_data->data->port,
609
+ 'mailin_smtp_ssl' => 'true',
610
+ 'mailin_smtp_auth' => 'true',
611
+ 'mailin_smtp_user' => $value->result->relay_data->data->username,
612
+ 'mailin_smtp_pass' => $value->result->relay_data->data->password
613
+ );
614
+ // Create the required options...
615
+ foreach ($mailinsmtp_options as $name => $val)
616
+ update_option($name, $val);
617
+ update_option('mailin_smtp', 1);
618
+ } else
619
+ update_option('mailin_smtp', 0);
620
+ }
621
+ }
622
+ /**
623
+ * get all subscribers users
624
+ */
625
+ public function getAllSubscribers($subs = 1)
626
+ {
627
+ global $wpdb;
628
+ $sql = 'SELECT * FROM '.MAILIN_SUBSCRIBERS.' WHERE 1=1 ';
629
+ if ($subs == 1)
630
+ $sql .= ' AND subscribed = "1" ';
631
+ return $wpdb->get_results($sql);
632
+ }
633
+ /**
634
+ * Returns the list of active user details
635
+ *
636
+ */
637
+ public function getAllUsers()
638
+ {
639
+ global $wpdb;
640
+ $sql = 'SELECT * FROM '.MAILIN_SUBSCRIBERS.' WHERE 1=1 ';
641
+ return $wpdb->get_results($sql);
642
+ }
643
+ /**
644
+ * Returns the list of active user details for pagination
645
+ *
646
+ */
647
+ public function getAllUsersPagination($start, $page)
648
+ {
649
+ global $wpdb;
650
+ $sql = 'SELECT * FROM '.MAILIN_SUBSCRIBERS.' LIMIT '.$start.','.$page;
651
+ return $wpdb->get_results($sql);
652
+ }
653
+ /**
654
+ * Returns the list of active user details for pagination
655
+ *
656
+ */
657
+ public function getTotalUsers()
658
+ {
659
+ global $wpdb;
660
+ return $wpdb->get_results('SELECT COUNT(*) as total FROM '.MAILIN_SUBSCRIBERS.' WHERE 1=1 ');
661
+ }
662
+ /**
663
+ * Get the total count of the unsubscribed
664
+ *
665
+ */
666
+ public function getTotalUnsubUsers()
667
+ {
668
+ global $wpdb;
669
+ return $wpdb->get_results('SELECT COUNT(*) as total FROM '.MAILIN_SUBSCRIBERS.' WHERE subscribed=0 ');
670
+ }
671
+ /**
672
+ * Get the total count of the subscribed
673
+ *
674
+ */
675
+ public function getTotalsubUsers()
676
+ {
677
+ global $wpdb;
678
+ return $wpdb->get_results('SELECT COUNT(*) as total FROM '.MAILIN_SUBSCRIBERS.' WHERE subscribed=1 ');
679
+ }
680
+ /**
681
+ * syncronize user with mailin
682
+ */
683
+ public function syncUsers()
684
+ {
685
+ if (get_option('mailin_list_selected') != '')
686
+ {
687
+ global $wpdb;
688
+ $api_key = get_option('mailin_apikey');
689
+ $dove = $this->usersStatus($api_key);
690
+ $timezone_format = _x('Y-m-d G:i:s', 'timezone date format');
691
+ $timezone_format = date_i18n($timezone_format);
692
+ if (empty($dove['errorMsg']))
693
+ {
694
+ foreach ($dove as $valuearray)
695
+ {
696
+ foreach ($valuearray as $key => $value)
697
+ {
698
+ $sql = 'UPDATE '.MAILIN_SUBSCRIBERS.' SET create_date = '.$timezone_format.', subscribed = '.$status.' WHERE email = "'.strtolower(trim($key)).'" ';
699
+ $myrows = $wpdb->query($sql);
700
+ } // end foreach
701
+ } // end foreach
702
+ echo 'done';
703
+ }
704
+ return true;
705
+ } else
706
+ return false;
707
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
708
  }
 
readme.html ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml">
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5
+
6
+ </head>
7
+ <body>
8
+
9
+ Mailin Plugin for WordPress
10
+ Copyright (C) 2013 www.mailin.fr
11
+
12
+ You can freely use this plugin in your WordPress website. For updates, please visit: http://ressources.mailin.fr/wordpress/
13
+ Please send your questions & comments to support@mailin.fr
14
+ ---------------------------------------------------------------------
15
+
16
+ Mailin's WordPress plugin allows you to easily sync your WordPress customers with your Mailin lists.
17
+ This plugin facilitates you to synchronize your list of customers to your Mailin mailing lists and vice versa.
18
+ It also allows you to use Mailin SMTP service to route your emails with Mailin.
19
+
20
+ ::Installation::
21
+ Step 1)
22
+ Download the latest version of Mailin WordPress plugin from http://ressources.mailin.fr/wordpress/
23
+
24
+ Step 2)
25
+ Login to your WordPress admin panel (Back office).
26
+
27
+ Step 3)
28
+ Go to Plugins tab and click on the button "Add New" at the top.
29
+
30
+ Step 4)
31
+ Select the "Upload" tab and then select the "mailin.zip" file using the browse button and hit the "Install Now" button.
32
+
33
+
34
+ Step 5)
35
+ Go to plugin tab, find Mailin plugin and click the 'Settings' link.
36
+
37
+
38
+ ::Configure::
39
+ Simply enable the "Activate the Mailin plugin" and specify your API key from your Mailin account. If you don't have it yet, please go to Mailin website:
40
+ www.mailin.fr and then register and use the key which can be found here https://my.mailin.fr/advanced/apikey
41
+ or if you are a MailinBlue user, you can get the key from https://my.mailinblue.com/advanced/apikey
42
+
43
+ The only difference between Mailin.fr and Mailinblue.com is that the former is the French version and the latter is English.
44
+
45
+
46
+
47
+
48
+ </body>
49
+ </html>
readme.txt DELETED
@@ -1,25 +0,0 @@
1
- === mailin ===
2
- Contributors: mailin
3
- Tags: mailin, email, signup, plugin, widget, newsletter
4
- Requires at least: 2.8
5
- Tested up to: 3.4.1
6
- Stable tag: 1.2.9
7
-
8
- The Mailin plugin provides quick and easy way to synchronize your customers with Mailin (www.mailin.fr) and it displays statistics of your marketing campaigns.
9
-
10
-
11
- == Installation ==
12
- 1. Unzip Mailin and upload the 'mailin' directory to your '/wp-content/plugins/' directory.
13
- 2. Activate the plugin through the 'Plugins' menu in WordPress.
14
- 3. Go to Settings and look for "Mailin Setup" in the menu.
15
- 4. Enter your Mailin API Key and let the plugin verify it.
16
- 5. Select One of your lists to in which subscribers will be added.
17
- 6. Finally, go to Appearance->Widgets and drag the `Mailin Widget` widget into one of your Widget Areas
18
- 7. And you are DONE!
19
- 8. Additionaly if you want wordpress users to be synchronized with mailin users set cron on cron.php file using cpanel or crontab.
20
-
21
-
22
- == Internationalization (i18n) ==
23
- Mailin plugin can be easily translated and the following languages:
24
- * en_US - English in the U.S.
25
- * fr_FR - French in France