Răsfoiți Sursa

Merge branch 'master' of github.com:serghey-rodin/vesta

Malishev Dmitry 14 ani în urmă
părinte
comite
1ee46998fb
100 a modificat fișierele cu 6008 adăugiri și 2294 ștergeri
  1. 4 1
      bin/v_add_cron_job
  2. 1 1
      bin/v_add_db_base
  3. 1 1
      bin/v_add_db_host
  4. 1 1
      bin/v_add_dns_domain
  5. 1 1
      bin/v_add_dns_domain_record
  6. 7 2
      bin/v_add_sys_ip
  7. 1 0
      bin/v_add_user
  8. 1 1
      bin/v_change_cron_job
  9. 1 1
      bin/v_change_db_password
  10. 1 1
      bin/v_change_dns_domain_exp
  11. 1 1
      bin/v_change_dns_domain_ip
  12. 1 1
      bin/v_change_dns_domain_record
  13. 1 1
      bin/v_change_dns_domain_soa
  14. 1 1
      bin/v_change_dns_domain_tpl
  15. 1 1
      bin/v_change_dns_domain_ttl
  16. 8 3
      bin/v_change_sys_config_value
  17. 5 1
      bin/v_change_sys_ip_name
  18. 5 2
      bin/v_change_sys_ip_owner
  19. 5 1
      bin/v_change_sys_ip_status
  20. 2 0
      bin/v_change_user_package
  21. 2 2
      bin/v_change_web_domain_sslcert
  22. 1 1
      bin/v_change_web_domain_sslhome
  23. 4 1
      bin/v_delete_cron_job
  24. 1 1
      bin/v_delete_db_base
  25. 1 1
      bin/v_delete_db_dbases
  26. 1 1
      bin/v_delete_db_host
  27. 1 1
      bin/v_delete_dns_domain
  28. 1 1
      bin/v_delete_dns_domain_record
  29. 1 1
      bin/v_delete_dns_domains
  30. 6 1
      bin/v_delete_sys_ip
  31. 1 1
      bin/v_get_dns_domain_value
  32. 1 1
      bin/v_list_cron_jobs
  33. 1 1
      bin/v_list_db_base
  34. 1 1
      bin/v_list_db_bases
  35. 1 1
      bin/v_list_db_host
  36. 1 1
      bin/v_list_db_hosts
  37. 1 1
      bin/v_list_dns_domain
  38. 1 1
      bin/v_list_dns_domains
  39. 1 1
      bin/v_list_dns_template
  40. 1 1
      bin/v_list_dns_templates
  41. 5 1
      bin/v_list_sys_config
  42. 5 1
      bin/v_list_sys_interfaces
  43. 5 1
      bin/v_list_sys_ip
  44. 5 1
      bin/v_list_sys_ips
  45. 5 1
      bin/v_list_sys_rrd
  46. 1 1
      bin/v_list_user
  47. 1 1
      bin/v_list_users
  48. 1 1
      bin/v_rebuild_cron_jobs
  49. 1 1
      bin/v_rebuild_dns_domains
  50. 1 1
      bin/v_restart_cron
  51. 1 1
      bin/v_restart_dns
  52. 1 1
      bin/v_suspend_cron_job
  53. 1 1
      bin/v_suspend_cron_jobs
  54. 1 1
      bin/v_suspend_db_base
  55. 1 1
      bin/v_suspend_db_bases
  56. 1 1
      bin/v_suspend_dns_domain
  57. 1 1
      bin/v_suspend_dns_domains
  58. 1 1
      bin/v_unsuspend_cron_job
  59. 1 1
      bin/v_unsuspend_cron_jobs
  60. 1 1
      bin/v_unsuspend_db_base
  61. 1 1
      bin/v_unsuspend_db_bases
  62. 1 1
      bin/v_unsuspend_dns_domain
  63. 1 1
      bin/v_unsuspend_dns_domains
  64. 1 1
      bin/v_update_db_base_disk
  65. 1 1
      bin/v_update_db_bases_disk
  66. 11 7
      bin/v_update_sys_ip
  67. 10 2
      bin/v_update_sys_queue
  68. 6 1
      bin/v_update_sys_rrd
  69. 5 1
      bin/v_update_sys_rrd_ftp
  70. 5 1
      bin/v_update_sys_rrd_httpd
  71. 5 1
      bin/v_update_sys_rrd_la
  72. 5 1
      bin/v_update_sys_rrd_mem
  73. 5 1
      bin/v_update_sys_rrd_mysql
  74. 5 1
      bin/v_update_sys_rrd_net
  75. 5 1
      bin/v_update_sys_rrd_nginx
  76. 5 1
      bin/v_update_sys_rrd_pgsql
  77. 5 1
      bin/v_update_sys_rrd_ssh
  78. 5 3
      bin/v_update_sys_vesta
  79. 1 0
      bin/v_update_user_bill
  80. 2 2
      web/js/html.js
  81. 403 0
      web/static-templates/backups.html
  82. 466 0
      web/static-templates/cron.html
  83. 141 0
      web/static-templates/css/popup.css
  84. 205 0
      web/static-templates/css/vesta-login-form.css
  85. 209 0
      web/static-templates/css/vesta-login-form_new.css
  86. 3177 1752
      web/static-templates/css/vesta.css
  87. 700 0
      web/static-templates/db.html
  88. 504 450
      web/static-templates/dns.html
  89. BIN
      web/static-templates/i/_asterisk.gif
  90. BIN
      web/static-templates/i/asterisk1.png
  91. BIN
      web/static-templates/i/asterisk2.png
  92. BIN
      web/static-templates/i/auth/auth-bg.png
  93. BIN
      web/static-templates/i/auth/checkboxes.png
  94. BIN
      web/static-templates/i/auth/form-bg.png
  95. BIN
      web/static-templates/i/auth/logo.png
  96. BIN
      web/static-templates/i/auth/planet-1.png
  97. BIN
      web/static-templates/i/auth/planet-2.png
  98. BIN
      web/static-templates/i/autocomplete-field-arrows-sprite.png
  99. BIN
      web/static-templates/i/backup-checkbox-checked.png
  100. BIN
      web/static-templates/i/backup-checkbox-unchecked.png

+ 4 - 1
bin/v_add_cron_job

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: add cron job
-# arguments: user min hour day month wday command [job]
+# options: user min hour day month wday command [job]
 #
 # The function adds a job to cron daemon. When executing commands, any output
 # is  mailed to user's email if parameter REPORTS is set to 'yes'.
@@ -78,6 +78,9 @@ sync_cron_jobs
 #                       Vesta                              #
 #----------------------------------------------------------#
 
+# Increasing cron value
+increase_user_value "$user" '$U_CRON_JOBS'
+
 # Adding task to the vesta pipe
 restart_schedule 'cron'
 

+ 1 - 1
bin/v_add_db_base

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: add database
-# arguments: user db db_user db_password type [host] [encoding]
+# options: user db db_user db_password type [host] [encoding]
 #
 # The function creates the database concatenating username  and user_db.
 # Supported yypes of databases you can get using v_list_sys_config script.

+ 1 - 1
bin/v_add_db_host

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: add new database server
-# arguments: type host port db_user db_password [max_db] [tpl]
+# options: type host port db_user db_password [max_db] [tpl]
 #
 # The function add new database server to the server pool. It supports local
 # and remote database servers, which is useful for clusters. By adding a host

+ 1 - 1
bin/v_add_dns_domain

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: add dns domain
-# arguments: user domain ip [template] [exp] [soa] [ttl]
+# options: user domain ip [template] [exp] [soa] [ttl]
 #
 # The function adds DNS zone with records defined in the template. If the exp
 # argument isn't stated, the expiration date value will be set to next year.

+ 1 - 1
bin/v_add_dns_domain_record

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: add dns domain record
-# arguments: user domain record type value [id]
+# options: user domain record type value [id]
 #
 # The call is used for adding new DNS record. Complex records of TXT, MX and
 # SRV types can be used by a filling in the 'value' argument. The function also

+ 7 - 2
bin/v_add_sys_ip

@@ -1,8 +1,13 @@
 #!/bin/bash
 # info: add system ip address
-# arguments: ip mask [interface] [user] [ip_status] [ip_name]
+# options: ip mask [interface] [user] [ip_status] [ip_name]
 #
-# The function adds ip address into a system including rc scripts.
+# The function adds ip address into a system. It also creates rc scripts. You
+# can specify ip name which will be used as root domain for temporary aliases.
+# For example, if you set a1.myhosting.com as name, each new domain created on
+# this  ip will automaticaly receive alias $domain.a1.myhosting.com. Of course
+# you must have wildcard record *.a1.myhosting.com pointed to ip. This feature 
+# is very handy when customer wants to test domain before dns migration.
 
 
 #----------------------------------------------------------#

+ 1 - 0
bin/v_add_user

@@ -156,6 +156,7 @@ U_WEB_SSL='0'
 U_DNS_DOMAINS='0'
 U_DATABASES='0'
 U_MAIL_DOMAINS='0'
+U_CRON_JOBS='0'
 DATE='$V_DATE'" > $V_USERS/$user/user.conf
 
 # Hiding password

+ 1 - 1
bin/v_change_cron_job

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: change cron job
-# arguments: user job min hour day month wday command
+# options: user job min hour day month wday command
 #
 # The function is used for changing existing job. It fully replace job
 # parameters with new one but with same id.

+ 1 - 1
bin/v_change_db_password

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: change database user password
-# arguments: user db_name db_password
+# options: user db_name db_password
 #
 # The function for changing database user  password to a database. It uses the
 # full name of database as argument.

+ 1 - 1
bin/v_change_dns_domain_exp

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: change dns domain expiriation date
-# arguments: user domain exp
+# options: user domain exp
 #
 # The function of changing the term of expiration domain's registration. The
 # serial number will be refreshed automatically during update.

+ 1 - 1
bin/v_change_dns_domain_ip

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: change dns domain ip address
-# arguments: user domain ip
+# options: user domain ip
 #
 # The function for changing the main ip of DNS zone.
 

+ 1 - 1
bin/v_change_dns_domain_record

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: change dns domain record
-# arguments: user domain id record type value
+# options: user domain id record type value
 #
 # The function for changing DNS record.
 

+ 1 - 1
bin/v_change_dns_domain_soa

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: change dns domain soa record
-# arguments: user domain soa
+# options: user domain soa
 #
 # The function for changing SOA record. This type of records can not be
 # modified by v_change_dns_domain_record call.

+ 1 - 1
bin/v_change_dns_domain_tpl

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: change dns domain template
-# arguments: user domain
+# options: user domain
 #
 # The function for changing the template of records. By updating old records
 # will be removed and new records will be generated in accordance with

+ 1 - 1
bin/v_change_dns_domain_ttl

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: change dns domain ttl
-# arguments: user domain ttl
+# options: user domain ttl
 #
 # The function for chaning the time to live TTL parameter for all records.
 

+ 8 - 3
bin/v_change_sys_config_value

@@ -1,5 +1,10 @@
 #!/bin/bash
-# info: changing sysconfig value
+# info: change sysconfig value
+# options: key value
+#
+# The function is for changing main config settings such as COMPANY_NAME or
+# COMPANY_EMAIL and so on.
+
 
 #----------------------------------------------------------#
 #                    Variable&Function                     #
@@ -29,8 +34,8 @@ format_validation 'key'
 check_ckey=$(grep "^$key='" $V_CONF/vesta.conf)
 if [ -z "$check_ckey" ]; then
     echo "Error: key not found"
-    log_event 'debug' "$E_KEY_INVALID $V_EVENT"
-    exit $E_KEY_INVALID
+    log_event 'debug' "$E_INVALID $V_EVENT"
+    exit $E_INVALID
 fi
 
 

+ 5 - 1
bin/v_change_sys_ip_name

@@ -1,5 +1,9 @@
 #!/bin/bash
-# info: changing ip name
+# info: change ip name
+# options: ip name
+#
+# The function for changing dns domain associated with ip.
+
 
 #----------------------------------------------------------#
 #                    Variable&Function                     #

+ 5 - 2
bin/v_change_sys_ip_owner

@@ -1,5 +1,9 @@
 #!/bin/bash
-# info: changing ip owner
+# info: change ip owner
+# options: ip user
+#
+# The function of changing ip address ownership.
+
 
 #----------------------------------------------------------#
 #                    Variable&Function                     #
@@ -9,7 +13,6 @@
 ip=$1
 user=$2
 
-
 # Importing variables
 source $VESTA/conf/vars.conf
 source $V_CONF/vesta.conf

+ 5 - 1
bin/v_change_sys_ip_status

@@ -1,5 +1,9 @@
 #!/bin/bash
-# info: changing ip status
+# info: change ip status
+# options: ip ip_status
+#
+# The function of changing an ip address's status.
+
 
 #----------------------------------------------------------#
 #                    Variable&Function                     #

+ 2 - 0
bin/v_change_user_package

@@ -84,6 +84,7 @@ BACKUPS='$BACKUPS'
 WEB_TPL='$WEB_TPL'
 SUSPENDED='$SUSPENDED'
 CONTACT='$CONTACT'
+RKEY='$RKEY'
 REPORTS='$REPORTS'
 IP_OWNED='$IP_OWNED'
 U_DIR_DISK='$U_DIR_DISK'
@@ -94,6 +95,7 @@ U_WEB_SSL='$U_WEB_SSL'
 U_DNS_DOMAINS='$U_DNS_DOMAINS'
 U_DATABASES='$U_DATABASES'
 U_MAIL_DOMAINS='$U_MAIL_DOMAINS'
+U_CRON_JOBS='$U_CRON_JOBS'
 DATE='$DATE'" > $V_USERS/$user/user.conf
 }
 

+ 2 - 2
bin/v_change_web_domain_sslcert

@@ -23,10 +23,10 @@ source $V_FUNC/domain.func
 #----------------------------------------------------------#
 
 # Checking arg number
-check_args '3' "$#" 'user domain certificate'
+check_args '3' "$#" 'user domain ssl_dir'
 
 # Checking argument format
-format_validation 'user' 'domain' 'ssl'
+format_validation 'user' 'domain' 'ssl_dir'
 
 # Checking web system is enabled
 is_system_enabled 'web'

+ 1 - 1
bin/v_change_web_domain_sslhome

@@ -23,7 +23,7 @@ source $V_FUNC/domain.func
 #----------------------------------------------------------#
 
 # Checking arg number
-check_args '3' "$#" 'user domain sslhome'
+check_args '3' "$#" 'user domain ssl_home'
 
 # Checking argument format
 format_validation 'user' 'domain'

+ 4 - 1
bin/v_delete_cron_job

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: delete cron job
-# arguments: user job
+# options: user job
 #
 # The function deletes cron job.
 
@@ -58,6 +58,9 @@ sync_cron_jobs
 #                       Vesta                              #
 #----------------------------------------------------------#
 
+# Decreasing cron value
+decrease_user_value "$user" '$U_CRON_JOBS'
+
 # Adding task to the vesta pipe
 restart_schedule 'cron'
 

+ 1 - 1
bin/v_delete_db_base

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: delete database
-# arguments: user database
+# options: user database
 #
 # The function for deleting the database. If database user have access to
 # another database, he will not be deleted.

+ 1 - 1
bin/v_delete_db_dbases

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: delete user databases
-# arguments: user
+# options: user
 #
 # The function deletes all user databases.
 

+ 1 - 1
bin/v_delete_db_host

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: delete database serve
-# arguments: type host
+# options: type host
 #
 # The function for deleting the database host from vesta configuration. It will
 # be deleted if there are no databases created on it only.

+ 1 - 1
bin/v_delete_dns_domain

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: delite dns domain
-# arguments: user domain
+# options: user domain
 #
 # The function for deleting DNS domain. By deleting it all records will also be
 # deleted.

+ 1 - 1
bin/v_delete_dns_domain_record

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: delete dns record
-# arguments: user domain id
+# options: user domain id
 #
 # The function for deleting a certain record of DNS zone.
 

+ 1 - 1
bin/v_delete_dns_domains

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: delete dns domains
-# arguments: user
+# options: user
 #
 # The function for deleting all users DNS domains.
 

+ 6 - 1
bin/v_delete_sys_ip

@@ -1,5 +1,10 @@
 #!/bin/bash
-# info: deleting system ip
+# info: delete system ip
+# options: ip
+#
+# The function for deleting a system ip. It does not allow to delete first ip
+# on interface and do not allow to delete ip which is used by a web domain.
+
 
 #----------------------------------------------------------#
 #                    Variable&Function                     #

+ 1 - 1
bin/v_get_dns_domain_value

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: get dns domain value
-# arguments: user domain key
+# options: user domain key
 #
 # The function for getting a certain DNS domain parameter.
 

+ 1 - 1
bin/v_list_cron_jobs

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: list user cron jobs
-# arguments: user [format]
+# options: user [format]
 #
 # The function for obtaining the list of all users cron jobs.
 

+ 1 - 1
bin/v_list_db_base

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: list database
-# arguments: user database [format]
+# options: user database [format]
 #
 # The function for obtaining of all database's parameters.
 

+ 1 - 1
bin/v_list_db_bases

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: listing data bases
-# arguments: user [format]
+# options: user [format]
 #
 # The function for obtaining the list of all user's databases.
 

+ 1 - 1
bin/v_list_db_host

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: list database host
-# arguments: type host [format]
+# options: type host [format]
 #
 # The function for obtaining host's database parameters.
 

+ 1 - 1
bin/v_list_db_hosts

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: list data base servers
-# arguments: type [format]
+# options: type [format]
 #
 # The function for obtaining the list of all hosts of the same databases' type.
 

+ 1 - 1
bin/v_list_dns_domain

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: list dns domain
-# arguments: user domain [format]
+# options: user domain [format]
 #
 # The function for getting all DNS domain's parameters.
 

+ 1 - 1
bin/v_list_dns_domains

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: list dns domains
-# arguments: user [format]
+# options: user [format]
 #
 # The function for obtaining all DNS domains of a user.
 

+ 1 - 1
bin/v_list_dns_template

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: list dns template
-# arguments: template [format]
+# options: template [format]
 #
 # The function for obtaining the DNS template parameters.
 

+ 1 - 1
bin/v_list_dns_templates

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: list dns templates
-# arguments: [format]
+# options: [format]
 #
 # The function for obtaining the list of all DNS templates available.
 

+ 5 - 1
bin/v_list_sys_config

@@ -1,5 +1,9 @@
 #!/bin/bash
-# info: listing system config
+# info: list system config
+# options: [format]
+#
+# The function for obtaining the list of system parameters.
+
 
 #----------------------------------------------------------#
 #                    Variable&Function                     #

+ 5 - 1
bin/v_list_sys_interfaces

@@ -1,5 +1,9 @@
 #!/bin/bash
-# info: listing system interfaces
+# info: list system interfaces
+# options: [format]
+#
+# The function for obtaining the list of network interfaces.
+
 
 #----------------------------------------------------------#
 #                    Variable&Function                     #

+ 5 - 1
bin/v_list_sys_ip

@@ -1,5 +1,9 @@
 #!/bin/bash
-# info: listing system ip
+# info: list system ip
+# options: ip [format]
+#
+# The function for getting the list of system ip parameters.
+
 
 #----------------------------------------------------------#
 #                    Variable&Function                     #

+ 5 - 1
bin/v_list_sys_ips

@@ -1,5 +1,9 @@
 #!/bin/bash
-# info: listing system ips
+# info: list system ips
+# options: [format]
+#
+# The function for obtaining the list of system ip's.
+
 
 #----------------------------------------------------------#
 #                    Variable&Function                     #

+ 5 - 1
bin/v_list_sys_rrd

@@ -1,5 +1,9 @@
 #!/bin/bash
-# info: listing available system rrd charts
+# info: list system rrd charts
+# options: [format]
+#
+# List available rrd graphics, its titles and paths.
+
 
 #----------------------------------------------------------#
 #                    Variable&Function                     #

+ 1 - 1
bin/v_list_user

@@ -94,7 +94,7 @@ fields='$USER $FNAME $LNAME $PACKAGE $WEB_DOMAINS $WEB_SSL $WEB_ALIASES
     $DATABASES $MAIL_DOMAINS $MAIL_BOXES $MAIL_FORWARDERS $DNS_DOMAINS
     $DISK_QUOTA $BANDWIDTH $NS $SHELL $BACKUPS $WEB_TPL $SUSPENDED $CONTACT
     $RKEY $REPORTS $IP_OWNED $U_DIR_DISK $U_DISK $U_BANDWIDTH $U_WEB_DOMAINS
-    $U_WEB_SSL $U_DNS_DOMAINS $U_DATABASES $U_MAIL_DOMAINS $DATE'
+    $U_WEB_SSL $U_DNS_DOMAINS $U_DATABASES $U_MAIL_DOMAINS $U_CRON_JOBS $DATE'
 
 # Listing user
 case $format in 

+ 1 - 1
bin/v_list_users

@@ -91,7 +91,7 @@ fields="$fields \$DNS_DOMAINS \$DISK_QUOTA \$BANDWIDTH \$NS \$SHELL \$BACKUPS"
 fields="$fields \$WEB_TPL \$SUSPENDED \$CONTACT \$RKEY \$REPORTS \$IP_OWNED"
 fields="$fields \$U_DIR_DISK \$U_DISK \$U_BANDWIDTH \$U_WEB_DOMAINS"
 fields="$fields \$U_WEB_SSL \$U_DNS_DOMAINS \$U_DATABASES \$U_MAIL_DOMAINS"
-fields="$fields \$DATE"
+fields="$fields \$U_CRON_JOBS \$DATE"
 
 # Listing domains
 case $format in 

+ 1 - 1
bin/v_rebuild_cron_jobs

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: rebuild cron jobs
-# arguments: user
+# options: user
 #
 # The function rebuilds system cron config file for specified user.
 

+ 1 - 1
bin/v_rebuild_dns_domains

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: rebuild dns domains
-# arguments: user
+# options: user
 #
 # The function rebuilds BIND configuration files for all dns domains.
 

+ 1 - 1
bin/v_restart_cron

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: restart cron service
-# arguments: none
+# options: none
 #
 # The function tells crond service to reread its configuration files.
 

+ 1 - 1
bin/v_restart_dns

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: restart dns service
-# arguments: none
+# options: none
 #
 # The function tells BIND service to reload dns zone files.
 

+ 1 - 1
bin/v_suspend_cron_job

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: suspend cron job
-# arguments: user job
+# options: user job
 #
 # The function suspends a certain job of the cron scheduler.
 

+ 1 - 1
bin/v_suspend_cron_jobs

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: Suspending sys cron jobs
-# arguments: user
+# options: user
 #
 # The function suspends all user cron jobs.
 

+ 1 - 1
bin/v_suspend_db_base

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: suspend database
-# arguments: user database
+# options: user database
 #
 # The function for suspending a certain user database.
 

+ 1 - 1
bin/v_suspend_db_bases

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: suspend databases
-# arguments: user
+# options: user
 #
 # The function for suspending of all databases of a single user.
 

+ 1 - 1
bin/v_suspend_dns_domain

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: suspend dns domain
-# arguments: user domain
+# options: user domain
 #
 # The function suspends a certain user's domain.
 

+ 1 - 1
bin/v_suspend_dns_domains

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: suspend dns domains
-# arguments: user
+# options: user
 #
 # The function suspends all user's DNS domains.
 

+ 1 - 1
bin/v_unsuspend_cron_job

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: unuspend cron job
-# arguments: user job
+# options: user job
 #
 # The function unsuspen certain cron job.
 

+ 1 - 1
bin/v_unsuspend_cron_jobs

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: unuspend sys cron
-# arguments: user
+# options: user
 #
 # The function unsuspends all suspended cron jobs.
 

+ 1 - 1
bin/v_unsuspend_db_base

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: unsuspend database
-# arguments: user database
+# options: user database
 #
 # The function for unsuspending database.
 

+ 1 - 1
bin/v_unsuspend_db_bases

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: unsuspend databases
-# arguments: user
+# options: user
 #
 # The function for unsuspending all user's databases.
 

+ 1 - 1
bin/v_unsuspend_dns_domain

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: unsuspend dns domain
-# arguments: user domain
+# options: user domain
 #
 # The function unsuspends a certain user's domain.
 

+ 1 - 1
bin/v_unsuspend_dns_domains

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: unsuspend dns domains
-# arguments: user
+# options: user
 #
 # The function unsuspends all user's DNS domains.
 

+ 1 - 1
bin/v_update_db_base_disk

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: update database disk usage
-# arguments: user database
+# options: user database
 #
 # The function recalculates disk usage for speciefic database.
 

+ 1 - 1
bin/v_update_db_bases_disk

@@ -1,6 +1,6 @@
 #!/bin/bash
 # info: update databases disk usage
-# arguments: user
+# options: user
 #
 # The function recalculates disk usage for all user databases.
 

+ 11 - 7
bin/v_update_sys_ip

@@ -1,15 +1,19 @@
 #!/bin/bash
-# info: adding system ip
+# info: update system ip
+# options: [owner] [ip_status]
+#
+# The function scans configured ip in the system and register them with vesta
+# internal database. This call is intended for use on vps servers, where ip is
+# set by hypervizor.
+
 
 #----------------------------------------------------------#
 #                    Variable&Function                     #
 #----------------------------------------------------------#
 
 # Argument defenition
-owner=$1
-ip_status=$2
-owner=${3-vesta}
-ip_status=${4-shared}
+owner=${1-vesta}
+ip_status=${2-shared}
 
 # Importing variables
 source $VESTA/conf/vars.conf
@@ -27,13 +31,13 @@ source $V_FUNC/domain.func
 check_args '0' "$#" '[owner] [ip_status]'
 
 # Checking owner
-if [ ! -z "$owner" ]; then
+if [ ! -z "$1" ]; then
     format_validation 'owner'
     is_user_valid "$owner"
 fi
 
 # Checking ip_status
-if [ ! -z "$ip_status" ]; then
+if [ ! -z "$2" ]; then
     format_validation 'ip_status'
 fi
 

+ 10 - 2
bin/v_update_sys_queue

@@ -1,5 +1,13 @@
 #!/bin/bash
-# info: updating system queue
+# info: update system queue
+# options: pipe
+#
+# This function is responsible queue processing. Restarts of services,
+# scheduled backups, web log parsing and other heavy resource consuming
+# operations are handled by this script. It helps to optimize system behaviour.
+# In a nutshell Apache will be restarted only once even if 10 domains are
+# added or deleted.
+
 
 #----------------------------------------------------------#
 #                    Variable&Function                     #
@@ -8,7 +16,7 @@
 pipe=$1
 
 # Importing system enviroment  as we run this script
-#     mostly by cron wich not read it by itself
+# mostly by cron wich not read it by itself
 source /etc/profile.d/vesta.sh
 
 # Importing variables

+ 6 - 1
bin/v_update_sys_rrd

@@ -1,5 +1,10 @@
 #!/bin/bash
-# info: updating system rrd charts
+# info: update system rrd charts
+# options: period
+#
+# The script is wrapper for all rrd functions. It updates all 
+# v_update_sys_rrd_* at once.
+
 
 #----------------------------------------------------------#
 #                    Variable&Function                     #

+ 5 - 1
bin/v_update_sys_rrd_ftp

@@ -1,5 +1,9 @@
 #!/bin/bash
-# info: updating ftp rrd
+# info: update ftp rrd
+# options: period
+#
+# The function is for updating ftpd rrd database and graphic.
+
 
 #----------------------------------------------------------#
 #                    Variable&Function                     #

+ 5 - 1
bin/v_update_sys_rrd_httpd

@@ -1,5 +1,9 @@
 #!/bin/bash
-# info: updating httpd rrd
+# info: update httpd rrd
+# options: period
+#
+# The function is for updating apache rrd database and graphic.
+
 
 #----------------------------------------------------------#
 #                    Variable&Function                     #

+ 5 - 1
bin/v_update_sys_rrd_la

@@ -1,5 +1,9 @@
 #!/bin/bash
-# info: updating load average rrd
+# info: update load average rrd
+# options: period
+#
+# The function is for updating load average rrd database and graphic.
+
 
 #----------------------------------------------------------#
 #                    Variable&Function                     #

+ 5 - 1
bin/v_update_sys_rrd_mem

@@ -1,5 +1,9 @@
 #!/bin/bash
-# info: updating memory rrd
+# info: update memory rrd
+# options: period
+#
+# The function is for updating memory rrd database and graphic.
+
 
 #----------------------------------------------------------#
 #                    Variable&Function                     #

+ 5 - 1
bin/v_update_sys_rrd_mysql

@@ -1,5 +1,9 @@
 #!/bin/bash
-# info: updating MySQL rrd
+# info: update MySQL rrd
+# options: period
+#
+# The function is for updating mysql rrd database and graphic.
+
 
 #----------------------------------------------------------#
 #                    Variable&Function                     #

+ 5 - 1
bin/v_update_sys_rrd_net

@@ -1,5 +1,9 @@
 #!/bin/bash
-# info: updating network rrd
+# info: update network rrd
+# options: period
+#
+# The function is for updating network usage rrd database and graphic.
+
 
 #----------------------------------------------------------#
 #                    Variable&Function                     #

+ 5 - 1
bin/v_update_sys_rrd_nginx

@@ -1,5 +1,9 @@
 #!/bin/bash
-# info: updating httpd rrd
+# info: update nginx rrd
+# options: period
+#
+# The function is for updating nginx rrd database and graphic.
+
 
 #----------------------------------------------------------#
 #                    Variable&Function                     #

+ 5 - 1
bin/v_update_sys_rrd_pgsql

@@ -1,5 +1,9 @@
 #!/bin/bash
-# info: updating PostgreSQL rrd
+# info: update PostgreSQL rrd
+# options: period
+#
+# The function is for updating postgresql rrd database and graphic.
+
 
 #----------------------------------------------------------#
 #                    Variable&Function                     #

+ 5 - 1
bin/v_update_sys_rrd_ssh

@@ -1,5 +1,9 @@
 #!/bin/bash
-# info: updating ssh rrd
+# info: update ssh rrd
+# options: period
+#
+# The function is for updating ssh rrd database and graphic.
+
 
 #----------------------------------------------------------#
 #                    Variable&Function                     #

+ 5 - 3
bin/v_update_sys_vesta

@@ -1,8 +1,10 @@
 #!/bin/bash
-# info: updating vesta after rpm update
+# info: update vesta after rpm update
+# options: version
+#
+# The function is runs as rpm update trigger. It pulls shell script from vesta
+# server and runs it.
 
-# warn: please note that this scritp should be runned
-#    by yum or rpm only
 
 #----------------------------------------------------------#
 #                    Variable&Function                     #

+ 1 - 0
bin/v_update_user_bill

@@ -116,6 +116,7 @@ for user in $user_list; do
     v_str="$v_str U_MAIL_DOMAINS='$U_MAIL_DOMAINS' IP_OWNED='$IP_OWNED'"
     v_str="$v_str U_DISK_WEB_DOMAINS='$U_DISK_WEB_DOMAINS'"
     v_str="$v_str U_BANDWIDTH_WEB_DOMAINS='$U_BANDWIDTH_WEB_DOMAINS'"
+    v_str="$v_str U_CRON_JOBS"
 
     # Updating user billing log
     billing="$V_USERS/$user/billing.log"

+ 2 - 2
web/js/html.js

@@ -204,10 +204,10 @@ App.HTML.Build.cron_form = function (options, id) {
     tpl.set(':id', id || '');
     options = App.Helpers.evalJSON(options) || {};
     if (App.Helpers.isEmpty(options)) {
-        tpl.set(':title', 'New cron entry');
+        tpl.set(':title', 'New cron job');
         tpl.set(':save_button', 'ADD');
     } else {
-        tpl.set(':title', 'Edit cron entry');
+        tpl.set(':title', 'Edit cron job');
         tpl.set(':save_button', 'SAVE');
     }
     options = !App.Helpers.isEmpty(options) ? options : {

+ 403 - 0
web/static-templates/backups.html

@@ -0,0 +1,403 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru">
+
+<head>
+	<title>Vesta | Backups</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+	<meta http-equiv="imagetoolbar" content="false" />
+
+	<link rel="stylesheet" media="all" type="text/css" href="css/reset2.css" />
+	<link rel="stylesheet" media="all" type="text/css" href="css/vesta.css" />
+
+	<!--[if lt IE 8]>
+		<link rel="stylesheet" type="text/css" href="css/ie.css" />
+    <![endif]-->
+
+	<script type="text/javascript" src="js/custom-form-elements.js"></script>
+	<script type="text/javascript" src="js/jquery-1.4.2.js"></script>
+	<script type="text/javascript" src="js/backups-control.js"></script>
+	
+</head>
+
+<body>
+<div id="page">
+	<div class="outer">
+		<div id="header">
+			<div class="logo-box">
+				<h1 class="logo"><a href="#">Vesta panel <span>&nbsp;</span></a></h1>
+			</div>
+			<ul class="settings">
+				<li class="settings-item">
+					<span class="logged-as">Fabricius Euphranor von Neoptolemos</span>
+					<a class="item-title" href="#">Profile</a>
+				</li>
+				<li class="settings-item"><a class="item-title" href="#">Settings</a></li>
+				<li class="settings-item"><a class="item-title" href="#">Exit</a></li>
+			</ul>
+			<ul class="extra-services">
+				<li class="service-item active">
+					<span class="item-title">Backups</span>
+					<i class="item-devider"></i>
+				</li>
+				<li class="service-item">
+					<span class="item-title">Stats</span>
+					<i class="item-devider"></i>
+				</li>
+			</ul>
+		</div>
+		<div id="primary-nav-box">
+			<ul class="primary-nav cc">
+				<li class="section">
+					<div class="section-inner">
+						<dl class="users-nav-item">
+							<dt class="section-title cc">
+								<span class="to-section">Users</span> 
+								<i class="add-entry">&nbsp;</i>
+							</dt>
+							<dd class="section-contains">
+								<span class="def">386 users</span>
+								<span class="def">7 blocked</span>
+							</dd>
+						</dl>
+					</div>
+					<i class="section-devider"></i>
+				</li>
+				<li class="section">
+					<div class="section-inner">
+						<dl class="domains-nav-item">
+							<dt class="section-title cc">
+								<span class="to-section">Web</span>
+								<i class="add-entry">&nbsp;</i>
+							</dt>
+							<dd class="section-contains">
+								<span class="def">580 domains</span>
+								<span class="def">22 out of mem</span>
+								<span class="def">3 waiting</span>
+							</dd>
+						</dl>
+					</div>
+					<i class="section-devider"></i>
+				</li>
+				<li class="section">
+					<div class="section-inner">
+						<dl class="mail-nav-item">
+							<dt class="section-title cc">
+								<span class="to-section">Mail</span>
+								<i class="add-entry">&nbsp;</i>
+							</dt>
+							<dd class="section-contains">
+								<span class="def">320 domains</span>
+								<span class="def">1209 mailboxes</span>
+								<span class="def">25 full</span>
+							</dd>
+						</dl>
+					</div>
+					<i class="section-devider"></i>
+				</li>
+				<li class="section">
+					<div class="section-inner">
+						<dl class="db-nav-item">
+							<dt class="section-title cc">
+								<span class="to-section">DB</span>
+								<i class="add-entry">&nbsp;</i>
+							</dt>
+							<dd class="section-contains">
+								<span class="def">7 db</span>
+							</dd>
+						</dl>
+					</div>
+					<i class="section-devider"></i>
+				</li>
+				<li class="section active">
+					<div class="section-inner">
+						<dl class="dns-nav-item">
+							<dt class="section-title cc">
+								<span class="to-section">Dns</span>
+								<i class="add-entry">&nbsp;</i>
+							</dt>
+							<dd class="section-contains">
+								<span class="def">289 records</span>
+							</dd>
+						</dl>
+					</div>
+					<i class="section-devider"></i>
+				</li>
+				<li class="section">
+					<div class="section-inner">
+						<dl class="dnstpl-nav-item">
+							<dt class="section-title cc">
+								<span class="to-section">IP</span> 
+								<i class="add-entry">&nbsp;</i>
+							</dt>
+							<dd class="section-contains">
+								<span class="def">7 templates</span>
+							</dd>
+						</dl>
+					</div>
+					<i class="section-devider"></i>
+				</li>
+				<li class="section last-section">
+					<div class="section-inner">
+						<dl class="cron-nav-item">
+							<dt class="section-title cc">
+								<span class="to-section">Cron</span>
+								<i class="add-entry">&nbsp;</i>
+							</dt>
+							<dd class="section-contains">
+								<span class="def">15 records</span>
+							</dd>
+						</dl>
+					</div>
+					<i class="section-devider"></i>
+				</li>
+			</ul>
+		</div>
+		<div id="console">
+			<div class="b-console">
+				<div class="b-console-wrap">
+					<form class="b-console-form cc" action="#" method="post">
+						<fieldset>
+							<input class="b-console-field" type="text" value="/"/>
+							<input class="b-console-btn" type="submit" value="Go" />
+						</fieldset>
+					</form>
+				</div>
+				<div class="b-console-results"></div>
+			</div>
+		</div>
+		<!-- actions toolbar -->
+		<div id="actions-toolbar" class="cc">
+			<a class="add-btn" href="#"><i class="add-btn-icon">&nbsp;</i>create backup</a>
+		</div><!-- // actions toolbar -->
+		<div id="content">
+			<div class="content-inner">
+				<div class="backups-list">
+					<!-- row 1 -->
+					<div class="row first-row backup-details-row">
+						<div class="row-meta">
+							<div class="ownership">
+								<span class="prop-box">
+									<span class="prop-title">owner:</span>
+									<span class="prop-value">vestavestavesta</span>
+								</span>
+							</div>
+						</div>
+						<div class="row-details cc">
+							<div class="props-main">
+								<span class="prop-box entry-created">
+									<span class="backup-date">
+										<span class="backup-day">15 Oct 2011</span>
+										<span class="backup-time">00:31</span>
+									</span>
+									<span class="backup-weekday">Friday</span>
+								</span>
+								<span class="prop-box generation-time">
+									<span class="prop-title">Generation time:</span>
+									<span class="prop-value">78 min</span>
+								</span>
+							</div>
+							<div class="props-additional">
+								<span class="backup-size">
+									<span class="backup-size-inner">159 Gb</span>
+								</span>
+								<a class="backup-url" href="#">download</a>
+							</div>
+							<div class="props-ext">
+								<div class="backup-actions">
+									<a class="backup-actions-url restore-url" href="#">restore</a>
+									<a class="backup-actions-url detailed-restore-url" href="#">
+										<span class="detailed-restore-title">detailed</span>
+										<span class="detailed-restore-ext">restore</span>
+									</a>
+								</div>
+							</div>							
+						</div><!-- // .row-details -->
+					</div><!-- // .row 1 -->
+					
+					<!-- row 2 -->
+					<div class="row backup-details-row">
+						<div class="row-meta">
+							<div class="ownership">
+								<span class="prop-box">
+									<span class="prop-title">owner:</span>
+									<span class="prop-value">vestavestavesta</span>
+								</span>
+							</div>
+						</div>
+						<div class="row-details cc">
+							<div class="props-main">
+								<span class="prop-box entry-created">
+									<span class="backup-date">
+										<span class="backup-day">14 Oct 2011</span>
+										<span class="backup-time">00:17</span>
+									</span>
+									<span class="backup-weekday">Thursday</span>
+								</span>
+								<span class="prop-box generation-time">
+									<span class="prop-title">Generation time:</span>
+									<span class="prop-value">12 min</span>
+								</span>
+							</div>
+							<div class="props-additional">
+								<span class="backup-size">
+									<span class="backup-size-inner">14 Gb</span>
+								</span>
+								<a class="backup-url" href="#">download</a>
+							</div>
+							<div class="props-ext">
+								<div class="backup-actions">
+									<a class="backup-actions-url restore-url" href="#">restore</a>
+									<a class="backup-actions-url detailed-restore-url" href="#">
+										<span class="detailed-restore-title">detailed</span>
+										<span class="detailed-restore-ext">restore</span>
+									</a>
+								</div>
+							</div>							
+						</div><!-- // .row-details -->
+					</div><!-- // .row 2 -->
+					
+					<!-- row 3 -->
+					<div class="row backup-details-row">
+						<div class="row-meta">
+							<div class="ownership">
+								<span class="prop-box">
+									<span class="prop-title">owner:</span>
+									<span class="prop-value">vestavestavesta</span>
+								</span>
+							</div>
+						</div>
+						<div class="row-details cc">
+							<div class="props-main">
+								<span class="prop-box entry-created">
+									<span class="backup-date">
+										<span class="backup-day">12 Oct 2011</span>
+										<span class="backup-time">00:23</span>
+									</span>
+									<span class="backup-weekday">Sunday</span>
+								</span>
+								<span class="prop-box generation-time">
+									<span class="prop-title">Generation time:</span>
+									<span class="prop-value">47 min</span>
+								</span>
+							</div>
+							<div class="props-additional">
+								<span class="backup-size">
+									<span class="backup-size-inner">637 Gb</span>
+								</span>
+								<a class="backup-url" href="#">download</a>
+							</div>
+							<div class="props-ext">
+								<div class="backup-actions">
+									<a class="backup-actions-url restore-url" href="#">restore</a>
+									<a class="backup-actions-url detailed-restore-url" href="#">
+										<span class="detailed-restore-title">detailed</span>
+										<span class="detailed-restore-ext">restore</span>
+									</a>
+								</div>
+							</div>							
+						</div><!-- // .row-details -->
+					</div><!-- // .row 3 -->
+					
+
+					<!-- form -->
+					<div class="b-new-entry b-new-detailed-restore" style="margin-bottom:50px;">
+						<div class="entry-header">Detailed restore</div>
+						<div class="form-row cc">
+						
+						<ul class="backup-tree">
+							<li class="backup-tree-item unchecked">
+								<span class="node-item expanded">ceres</span>
+								<ul class="backup-sections sub-tree">
+									<li class="backup-tree-item unchecked">
+										<span class="node-item expanded">web</span>
+										<ul class="sub-tree">
+											<li class="backup-tree-item">
+												<span class="node-item">readingwriting.com</span>
+											</li>
+											<li class="backup-tree-item checked">
+												<span class="node-item">writing.com</span>
+											</li>
+											<li class="backup-tree-item checked">
+												<span class="node-item checked">singing.com</span>
+											</li>
+										</ul>
+									</li>
+									<li class="backup-tree-item checked">
+										<span class="node-item">db</span>
+									</li>
+									<li class="backup-tree-item checked">
+										<span class="node-item">dns</span>
+									</li>
+									<li class="backup-tree-item checked">
+										<span class="node-item">mail</span>
+									</li>
+									<li class="backup-tree-item checked">
+										<span class="node-item">cron</span>
+									</li>
+									<li class="backup-tree-item checked">
+										<span class="node-item">ip</span>
+									</li>
+								</ul>
+							</li>
+						</ul>
+						
+						</div>
+						<div class="form-row buttons-row cc">
+							<input class="add-entry-btn" type="submit" value="restore" />
+							<span class="cancel-btn">Cancel</span>
+							<span class="delete-btn">Delete</span>
+						</div>
+					</div><!-- // form -->
+					
+					<!-- row 3 -->
+					<div class="row backup-details-row backup-details-row_highlighted">
+						<div class="notes-wrap">
+							<span class="restore-ico">Restore process</span> has been added to queue. It could take several hours.
+						</div>
+						<div class="row-meta">
+							<div class="ownership">
+								<span class="prop-box">
+									<span class="prop-title">owner:</span>
+									<span class="prop-value">vestavestavesta</span>
+								</span>
+							</div>
+						</div>
+						<div class="row-details cc">
+							<div class="props-main">
+								<span class="prop-box entry-created">
+									<span class="backup-date">
+										<span class="backup-day">12 Oct 2011</span>
+										<span class="backup-time">00:23</span>
+									</span>
+									<span class="backup-weekday">Sunday</span>
+								</span>
+								<span class="prop-box generation-time">
+									<span class="prop-title">Generation time:</span>
+									<span class="prop-value">47 min</span>
+								</span>
+							</div>
+							<div class="props-additional">
+								<span class="backup-size">
+									<span class="backup-size-inner">637 Gb</span>
+								</span>
+								<a class="backup-url" href="#">download</a>
+							</div>
+							<div class="props-ext">
+								<div class="backup-actions">
+									<a class="backup-actions-url restore-url" href="#">restore</a>
+									<a class="backup-actions-url detailed-restore-url" href="#">
+										<span class="detailed-restore-title">detailed</span>
+										<span class="detailed-restore-ext">restore</span>
+									</a>
+								</div>
+							</div>							
+						</div><!-- // .row-details -->
+					</div><!-- // .row 3 -->
+					
+				</div><!-- // .backups-list -->
+			</div>
+		</div><!-- // #content -->
+	</div>
+</div>
+</body>
+</html>

+ 466 - 0
web/static-templates/cron.html

@@ -0,0 +1,466 @@
+<!doctype html>
+<html>
+
+<head>
+	<title>Vesta | Cron</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+	<meta http-equiv="imagetoolbar" content="false" />
+
+	<link rel="stylesheet" media="all" type="text/css" href="css/reset2.css" />
+	<link rel="stylesheet" media="all" type="text/css" href="css/vesta.css" />
+
+	<!--[if lt IE 8]>
+		<link rel="stylesheet" type="text/css" href="css/ie.css" />
+    <![endif]-->
+
+	<script type="text/javascript" src="js/custom-form-elements.js"></script>
+</head>
+
+<body>
+<div id="page">
+	<div class="outer">
+		<div id="header">
+			<div class="logo-box">
+				<h1 class="logo"><a href="#">Vesta panel <span>&nbsp;</span></a></h1>
+			</div>
+			<ul class="settings">
+				<li class="settings-item">
+					<span class="logged-as">Fabricius Euphranor von Neoptolemos</span>
+					<a class="item-title" href="#">Profile</a>
+				</li>
+				<li class="settings-item"><a class="item-title" href="#">Settings</a></li>
+				<li class="logout"><a class="item-title" href="#"><span class="item-title-inner">Exit</span></a></li>
+			</ul>
+			<ul class="extra-services">
+				<li class="service-item active">
+					<span class="item-title">Backups</span>
+					<i class="item-devider"></i>
+				</li>
+				<li class="service-item">
+					<span class="item-title">Stats</span>
+					<i class="item-devider"></i>
+				</li>
+			</ul>
+		</div>
+		<div id="primary-nav-box">
+			<ul class="primary-nav cc">
+				<li class="section">
+					<div class="section-inner">
+						<dl class="users-nav-item">
+							<dt class="section-title cc">
+								<span class="to-section">Users</span> 
+								<i class="add-entry">&nbsp;</i>
+							</dt>
+							<dd class="section-contains">
+								<span class="def">386 users</span>
+								<span class="def">7 blocked</span>
+							</dd>
+						</dl>
+					</div>
+					<i class="section-devider"></i>
+				</li>
+				<li class="section">
+					<div class="section-inner">
+						<dl class="domains-nav-item">
+							<dt class="section-title cc">
+								<span class="to-section">Web Domain</span>
+								<i class="add-entry">&nbsp;</i>
+							</dt>
+							<dd class="section-contains">
+								<span class="def">580 domains</span>
+								<span class="def">22 out of mem</span>
+								<span class="def">3 waiting</span>
+							</dd>
+						</dl>
+					</div>
+					<i class="section-devider"></i>
+				</li>
+				<li class="section">
+					<div class="section-inner">
+						<dl class="mail-nav-item">
+							<dt class="section-title cc">
+								<span class="to-section">Mail</span>
+								<i class="add-entry">&nbsp;</i>
+							</dt>
+							<dd class="section-contains">
+								<span class="def">320 domains</span>
+								<span class="def">1209 mailboxes</span>
+								<span class="def">25 full</span>
+							</dd>
+						</dl>
+					</div>
+					<i class="section-devider"></i>
+				</li>
+				<li class="section">
+					<div class="section-inner">
+						<dl class="db-nav-item">
+							<dt class="section-title cc">
+								<span class="to-section">DB</span>
+								<i class="add-entry">&nbsp;</i>
+							</dt>
+							<dd class="section-contains">
+								<span class="def">7 db</span>
+							</dd>
+						</dl>
+					</div>
+					<i class="section-devider"></i>
+				</li>
+				<li class="section">
+					<div class="section-inner">
+						<dl class="dns-nav-item">
+							<dt class="section-title cc">
+								<span class="to-section">Dns</span>
+								<i class="add-entry">&nbsp;</i>
+							</dt>
+							<dd class="section-contains">
+								<span class="def">289 records</span>
+							</dd>
+						</dl>
+					</div>
+					<i class="section-devider"></i>
+				</li>
+				<li class="section">
+					<div class="section-inner">
+						<dl class="dnstpl-nav-item">
+							<dt class="section-title cc">
+								<span class="to-section">IP</span> 
+								<i class="add-entry">&nbsp;</i>
+							</dt>
+							<dd class="section-contains">
+								<span class="def">7 templates</span>
+							</dd>
+						</dl>
+					</div>
+					<i class="section-devider"></i>
+				</li>
+				<li class="section active last-section">
+					<div class="section-inner">
+						<dl class="cron-nav-item">
+							<dt class="section-title cc">
+								<span class="to-section">Cron</span>
+								<i class="add-entry">&nbsp;</i>
+							</dt>
+							<dd class="section-contains">
+								<span class="def">15 records</span>
+							</dd>
+						</dl>
+					</div>
+					<i class="section-devider"></i>
+				</li>
+			</ul>
+		</div>
+		<div id="console">
+			<div class="b-console">
+				<div class="b-console-wrap">
+					<form class="b-console-form cc" action="#" method="post">
+						<fieldset>
+							<input class="b-console-field" type="text" value="/"/>
+							<input class="b-console-btn" type="submit" value="Go" />
+						</fieldset>
+					</form>
+					<!-- div class="b-console-statuses">
+						<div class="b-console-status cc">
+							<p class="b-console-status-message">domain <b>google.com</b> have been added <br />
+Cтиль менеджмента, на первый взгляд, методически оправдывает культурный побочный PR-эффект, осознавая социальную ответственность бизнеса. Исходя из структуры пирамиды Маслоу, рекламное сообщество экономит product placement, невзирая на действия конкурентов. Узнавание бренда слабо транслирует имидж, оптимизируя бюджеты.
+							</p>
+							<span class="b-console-status-action">cancel</span>
+							<i class="b-console-status-arrow">&nbsp;</i>							
+						</div>
+					</div -->
+				</div>
+				<div class="b-console-results"></div>
+			</div>
+		</div>
+		<!-- actions toolbar -->
+		<div id="actions-toolbar" class="cc">
+			<a class="add-btn" href="#"><i class="add-btn-icon">&nbsp;</i>add cron record</a>
+			
+			<div class="row-filters cc">
+				<div class="b-row-selector">
+					<div class="checkbox-selector cc">
+						<input class="styled" type="checkbox" value="" />
+						<span class="selector-title">385 Selected</span>
+					</div>
+					<div class="context-actions">
+						<div class="b-cust-sel b-cust-sel_inactive">
+							<span class="title">Action</span>
+							<div class="cust-sel-arrow"><i>&nbsp;</i></div>
+							<div class="cust-sel-options">
+								<div class="cust-sel-option ico_gray">Suspend</div>
+								<div class="cust-sel-option ico_green">Unsuspend</div>
+								<div class="cust-sel-option ico_red">Delete</div>
+							</div>
+						</div>
+					</div>
+				</div>
+				<!-- visible only for admin -->
+				<div class="domain-groups-selector">
+					<div class="selector-wrap">
+						<strong class="selector-title">Show:</strong>
+						<span class="selected-groups">mine, vesta, Chronos, vasya (and 35 more)</span>
+					</div>
+				</div><!-- // visible only for admin -->
+			</div>
+			
+		</div><!-- // actions toolbar -->
+		<div id="content">
+			<div class="content-inner">
+				<div class="cron-list">
+					<!-- row 1 -->
+					<div class="row first-row cron-details-row">
+						<div class="row-actions-box cc">
+							<div class="check-this check-control"></div>
+							<div class="row-operations">
+								<span class="ip-status-info ip-enabled-status"><span class="ip-status-text">active</span></span>
+							</div>
+						</div>
+						<div class="row-meta">
+							<div class="entry-created">12.11.2010</div>
+						</div>
+						<div class="row-details cc">
+							<div class="cron-meta">
+								<span class="prop-box cron-min">
+									<span class="prop-title">min</span>
+									<span class="prop-value">0</span>									
+								</span>
+								<span class="prop-box cron-hour">
+									<span class="prop-title">hour</span>
+									<span class="prop-value">0,6,9 &mdash; 15,18</span>									
+								</span>
+								<span class="prop-box cron-day">
+									<span class="prop-title">day of Month</span>
+									<span class="prop-value">*</span>									
+								</span>
+								<span class="prop-box cron-month">
+									<span class="prop-title">Month</span>
+									<span class="prop-value">Jan, Feb, Mar</span>									
+								</span>
+								<span class="prop-box cron-week">
+									<span class="prop-title">day of Week</span>
+									<span class="prop-value">1 &mdash; 5</span>									
+								</span>
+							</div>
+							<div class="cron-command-box">
+								<strong class="cron-command-line">/usr/bin/top -n 1 -b -S</strong>
+							</div>
+							<div class="cron-reported-to">
+								<span class="prop-box cron-report-box">
+									<span class="prop-title">reported to:</span>
+									<span class="prop-value">[email protected],</span>
+									<span class="prop-value">[email protected],</span>
+									<span class="prop-value">[email protected],</span>
+									<span class="prop-value">[email protected]</span>									
+								</span>
+							</div>
+						</div><!-- // .row-details -->
+					</div><!-- // .row 1 -->
+
+					<!-- row 2 -->
+					<div class="row cron-details-row">
+						<div class="row-actions-box cc">
+							<div class="check-this check-control"></div>
+							<div class="row-operations">
+								<span class="ip-status-info ip-enabled-status"><span class="ip-status-text">active</span></span>
+							</div>
+						</div>
+						<div class="row-meta">
+							<div class="entry-created">12.11.2010</div>
+						</div>
+						<div class="row-details cc">
+							<div class="cron-meta">
+								<span class="prop-box cron-min">
+									<span class="prop-title">min</span>
+									<span class="prop-value">15</span>
+								</span>
+								<span class="prop-box cron-hour">
+									<span class="prop-title">hour</span>
+									<span class="prop-value">1,3,5 &mdash; 15,19,21,23</span>									
+								</span>
+								<span class="prop-box cron-day">
+									<span class="prop-title">day of Month</span>
+									<span class="prop-value">1,3,5,7,9,11,13,15,17,19</span>
+								</span>
+								<span class="prop-box cron-month">
+									<span class="prop-title">Month</span>
+									<span class="prop-value">*</span>									
+								</span>
+								<span class="prop-box cron-week">
+									<span class="prop-title">day of Week</span>
+									<span class="prop-value">2 &mdash; 7</span>									
+								</span>
+							</div>
+							<div class="cron-command-box">
+								<strong class="cron-command-line">/home/myuser/bin/pinghosts.sh > /home/myuser/pinghosts.log</strong>
+							</div>
+							<div class="cron-reported-to">
+								<span class="prop-box cron-report-box">
+									<span class="prop-title">reported to:</span>
+									<span class="prop-value">[email protected]</span>
+								</span>
+							</div>
+						</div><!-- // .row-details -->
+					</div><!-- // .row 2 -->
+
+					<!-- row 3 -->
+					<div class="row cron-details-row checked-row">
+						<div class="row-actions-box cc">
+							<div class="check-this check-control"></div>
+							<div class="row-operations">
+								<span class="ip-status-info ip-enabled-status"><span class="ip-status-text">active</span></span>
+							</div>
+						</div>
+						<div class="row-meta">
+							<div class="entry-created">12.11.2010</div>
+						</div>
+						<div class="row-details cc">
+							<div class="cron-meta">
+								<span class="prop-box cron-min">
+									<span class="prop-title">min</span>
+									<span class="prop-value">*</span>
+								</span>
+								<span class="prop-box cron-hour">
+									<span class="prop-title">hour</span>
+									<span class="prop-value">*</span>									
+								</span>
+								<span class="prop-box cron-day">
+									<span class="prop-title">day of Month</span>
+									<span class="prop-value">*</span>
+								</span>
+								<span class="prop-box cron-month">
+									<span class="prop-title">Month</span>
+									<span class="prop-value">Jan, Mar, May, Jul, Sep, Nov</span>									
+								</span>
+								<span class="prop-box cron-week">
+									<span class="prop-title">day of Week</span>
+									<span class="prop-value">2 &mdash; 7</span>									
+								</span>
+							</div>
+							<div class="cron-command-box">
+								<strong class="cron-command-line">/home/myuser/bin/pinghosts.sh > /home/myuser/home/myuser/home/myuser/pinghosts.log</strong>
+							</div>
+							<div class="cron-reported-to">
+								<span class="prop-box cron-report-box">
+									<span class="prop-title">reported to:</span>
+									<span class="prop-value">[email protected]</span>
+								</span>
+							</div>
+						</div><!-- // .row-details -->
+					</div><!-- // .row 3 -->
+
+					<!-- row 4 -->
+					<div class="row cron-details-row suspended-row">
+						<div class="row-actions-box cc">
+							<div class="check-this check-control"></div>
+							<div class="row-operations">
+								<span class="ip-status-info ip-suspended-status"><span class="ip-status-text">suspended</span></span>
+							</div>
+						</div>
+						<div class="row-meta">
+							<div class="entry-created">12.11.2010</div>
+						</div>
+						<div class="row-details cc">
+							<div class="cron-meta">
+								<span class="prop-box cron-min">
+									<span class="prop-title">min</span>
+									<span class="prop-value">15</span>
+								</span>
+								<span class="prop-box cron-hour">
+									<span class="prop-title">hour</span>
+									<span class="prop-value">1,3,5 &mdash; 15,19,21,23</span>									
+								</span>
+								<span class="prop-box cron-day">
+									<span class="prop-title">day of Month</span>
+									<span class="prop-value">1,3,5,7,9,11,13,15,17,19</span>
+								</span>
+								<span class="prop-box cron-month">
+									<span class="prop-title">Month</span>
+									<span class="prop-value">*</span>									
+								</span>
+								<span class="prop-box cron-week">
+									<span class="prop-title">day of Week</span>
+									<span class="prop-value">2 &mdash; 7</span>									
+								</span>
+							</div>
+							<div class="cron-command-box">
+								<strong class="cron-command-line">/home/myuser/bin/pinghosts.sh > /home/myuser/pinghosts.log</strong>
+							</div>
+							<div class="cron-reported-to">
+								<span class="prop-box cron-report-box">
+									<span class="prop-title">reported to:</span>
+									<span class="prop-value">[email protected]</span>
+								</span>
+							</div>
+						</div><!-- // .row-details -->
+					</div><!-- // .row 4 -->
+
+
+					<!-- form -->
+					<div class="b-new-entry b-new-entry_cron">
+						<div class="entry-header">New cron</div>
+						<div class="form-error">
+							<div class="error-box">
+								<span class="error-message">Wrong minute format. Need some <a class="help-tip-url" href="#">Help</a> ?</span>
+							</div>
+						</div>
+						<div class="form-row form-row-line run-at-box cc">
+							<span class="row-header">run at:</span>
+							<div class="field-box cron-minute-box">
+								<label class="field-label" for="#">minute:<br />(0&mdash;59)</label>
+								<div class="field-box-inner cc">
+									<input class="text-field" type="text" value="" />
+								</div>
+							</div>
+							<div class="field-box cron-hour-box">
+								<label class="field-label" for="#">hour:<br />(0&mdash;23)</label>
+								<div class="field-box-inner cc">
+									<input class="text-field" type="text" value="" />
+								</div>
+							</div>
+							<div class="field-box cron-day-box">
+								<label class="field-label" for="#">day of Month:<br />(1&mdash;31)</label>
+								<div class="field-box-inner cc">
+									<input class="text-field" type="text" value="" />
+								</div>
+							</div>
+							<div class="field-box cron-month-box">
+								<label class="field-label" for="#">Month:<br />(1&mdash;12)(Jan&mdash;Dec)</label>
+								<div class="field-box-inner cc">
+									<input class="text-field" type="text" value="" />
+								</div>
+							</div>
+							<div class="field-box cron-week-box">
+								<label class="field-label" for="#">day of Week:<br />(1&mdash;7)(Sun&mdash;Sat)</label>
+								<div class="field-box-inner cc">
+									<input class="text-field" type="text" value="" />
+								</div>
+							</div>
+						</div>
+
+						<div class="form-row cc">
+							<label class="field-label" for="#">command:</label>
+							<textarea class="textarea"></textarea>
+						</div>
+
+						<div class="form-row cc">
+							<label class="field-label" for="#">report to: <span class="remark">(devide by comma ",")</span></label>
+							<textarea class="textarea"></textarea>
+						</div>
+						
+						<div class="form-row cc">
+							<label class="field-label" for="#">suspended:</label>
+							<input class="styled" type="checkbox" value="" />
+						</div>
+						
+						<div class="form-row buttons-row cc">
+							<input class="add-entry-btn" type="submit" value="add" />
+							<span class="cancel-btn">Cancel</span>
+							<span class="delete-btn">Delete</span>
+						</div>
+					</div><!-- // form -->
+				</div><!-- // .domain-list -->
+			</div>
+		</div><!-- // #content -->
+	</div>
+</div>
+</body>
+</html>

+ 141 - 0
web/static-templates/css/popup.css

@@ -0,0 +1,141 @@
+/* Styles for popups */
+.d-popup{
+	position:absolute;
+	top:100px;
+	left:0;
+	z-index:100;
+	background-color:#ccc;
+	background:url(../i/info-popup-bg-2.png) repeat;
+	
+	width:250px;
+
+	border-radius: 10px;
+	-moz-border-radius: 10px;
+	-webkit-border-radius: 10px;
+}
+.d-popup-inner{
+	padding:20px;
+	color:#fff;	
+}
+.d-popup .close{
+	position:absolute;
+	top:10px;
+	right:10px;
+	
+	display:block;
+	width:14px;
+	height:14px;
+	/*background:url(../i/info-popup-sprite.png) no-repeat;*/
+	background:url(../i/info-popup-sprite-2011-12-14.png) no-repeat 0 -1px;
+	cursor:pointer;
+	font-size:0;
+	line-height:0;
+	text-indent:-9999px;
+	}
+	.d-popup span.close:hover{
+		background-position:0 -17px;
+	}
+	.d-popup span.close:active{
+		background-position:0 -33px;
+	}
+	
+.d-popup-title{
+	font-size:11px;
+	text-transform:uppercase;
+	text-align:center;
+	color:#fffdd4;
+	margin:0 0 9px;
+}
+.d-popup-items{
+	font-size:12px;
+	color:#fff;
+}
+.d-popup-items .item{
+	margin:0 0 9px;
+}
+.d-popup-items a{
+	color:#aaa;
+	padding-right:5px;
+}
+.d-popup .prop-box{
+	display:block;
+}
+.d-popup .prop-title{
+	color:#bbb;
+}
+.d-popup .prop-value{
+	color:#fff;
+} 
+
+/* errors popup */
+.d-popup-errors{
+	width:auto;
+	background: url(../i/auth/form-bg.png) repeat;
+	}
+	.d-popup-errors .d-popup-inner{
+		width:480px;
+		padding:20px 40px 0;
+	}
+	.d-popup-errors .d-popup-title{
+		position:relative;
+		margin:0 0 27px;
+		padding:0 105px 0 40px;
+		font-size:21px;
+		line-height:27px;
+		font-weight:normal;
+		text-transform:uppercase;
+		color:#6536c4;
+		text-align:left;
+		background:url(../i/auth/planet-1.png) no-repeat 5px 13px;
+		letter-spacing:-1px;
+	}
+	.d-popup-errors .planets{
+		display:block;
+		width:91px;
+		height:7px;
+		position:absolute;
+		top:11px;
+		right:0;
+		background:url(../i/auth/planet-2.png) no-repeat;		
+	}
+	.d-popup-errors .d-popup-main{
+		padding-left:40px;
+		min-height:250px;
+	}
+	.d-popup-errors .section-title{
+		margin:0 0 38px;
+		font-size:30px;
+		font-weight:normal;
+		color:#f0f042;
+	}
+	.d-popup-errors .d-popup-summary{
+		padding:0 0 20px 0;
+		font-size:15px;
+	}
+	.d-popup-errors .d-popup-summary li{
+		padding-left:15px;
+		background:url(../i/blue-bullet.png) no-repeat 0 50%;
+	}
+	.d-popup-errors .footnotes{
+		margin: 0 -40px;
+		padding:15px 20px;
+		font-size:14px;
+		line-height:18px;
+		border-top:2px solid #34352f;
+		color:#686c6d;
+		}
+		
+	.d-popup-errors .questions-url{
+		color:#686c6d;	
+		text-decoration:none;
+	}
+	.d-popup-errors .additional-info{
+		float:left;
+		white-space:nowrap;
+		font-size:12px;
+	}
+	.d-popup-errors .report-case-url{
+		float:right;
+		display:block;
+		color:#686c6d;
+	}

+ 205 - 0
web/static-templates/css/vesta-login-form.css

@@ -0,0 +1,205 @@
+/* Page specific styles */
+.page-auth{
+	background:url(../i/auth/auth-bg.png) repeat;
+}
+.cc:after{
+ 	content: ".";
+    display: block;
+    height: 0;
+    clear: both;
+    visibility: hidden;
+}
+*html .cc{
+	zoom:1;
+}
++html .cc{
+	zoom:1;
+}
+.page-auth .b-auth-form{}
+
+.page-auth .b-auth-form{
+	width:525px;
+	margin:7% auto 0;
+	padding:20px 20px 0;
+	background:url(../i/auth/form-bg.png) repeat;
+
+	-webkit-border-radius:15px;
+    -moz-border-radius:15px;
+	border-radius:15px;
+	behavior: url(js/PIE.htc);
+	font-family:Arial, Helvetica, sans-serif;
+}
+.page-auth .b-auth-form-wrap{
+	position:relative;
+	padding-top:30px;
+}
+.page-auth .vesta-logo{
+	position:absolute;
+	top:0;
+	left:0;
+	display:block;
+}
+.page-auth .b-client-title{
+	margin:0 0 45px;
+	padding-left:130px;
+	font-size:35px;
+	background:url(../i/auth/planet-1.png) no-repeat 95px 17px;
+	color:#fff;
+	}
+	.client-title-wrap{
+		position:relative;
+	}
+	.client-title-wrap .planets{
+		display:block;
+		width:91px;
+		height:7px;
+		position:absolute;
+		top:45%;
+		right:-100px;
+		background:url(../i/auth/planet-2.png) no-repeat;		
+	}	
+.page-auth .form-row{
+	margin:0 0 15px;
+}
+.page-auth .last-row{
+	padding:27px 90px 0 133px;
+}
+	.page-auth .field-label{
+		float:left;
+		width:87px;
+		padding-left:45px;
+		color:#e3d785;
+		font-size:12px;
+		line-height:34px;
+		font-family:Arial, Helvetica, sans-serif;
+		text-transform:uppercase;
+		letter-spacing:-.5px;
+	}
+	.page-auth .field-text{
+		width:290px;
+		padding:4px 5px;
+		font-size:20px;
+		border:2px solid #0c6c9c;
+		background:#2d2c28;
+		color:#fff;
+		}
+		.page-auth .field-text:focus{
+			-moz-box-shadow:0 0 8px rgba(76, 147, 189, 0.7);
+			-webkit-box-shadow:0 0 8px rgba(76, 147, 189, 0.7);
+			border-color:rgba(76, 147, 189, 0.85) !important;
+		}
+		
+	.page-auth .b-remember{
+		float:left;
+		padding-top:5px;
+			}
+			.page-auth .remember-label{
+				cursor:pointer;
+				padding:2px 2px 2px 8px;
+				color:#747975;
+				font-size:12px;
+				font-family:Arial, Helvetica, sans-serif;
+			}
+			span.ui-checkbox{
+				display: block;
+				float: left;
+				width: 14px;
+				height: 15px;
+/*				background:url(icon_checkbox.png) 0 -40px no-repeat;*/
+				background:url(../i/auth/checkboxes.png) no-repeat;
+			}
+			.ui-helper-hidden-accessible{
+				display: none;
+			}
+			span.ui-checkbox-state-hover{
+				background-position: 0 -15px;
+			}
+			span.ui-checkbox-state-checked,
+			span.ui-checkbox-state-checked-hover{
+				background-position: 0 -30px;
+			}
+		
+	.page-auth .sumbit-btn{
+		float:right;
+		overflow:visible;
+		height:30px;
+		padding:0 40px;
+		-webkit-border-radius:9px;
+		-moz-border-radius:9px;
+		border-radius:9px;
+		behavior: url(js/PIE.htc);		
+	
+		border:2px solid #292929;
+		background-color:#b8be44;
+		color:#ffffdf;
+		font-size:13px;
+		font-family:Arial, Helvetica, sans-serif;
+		font-weight:bold;
+		line-height:27px;
+		text-transform:uppercase;
+		cursor:pointer;
+		}
+		.page-auth .sumbit-btn:focus{
+			position:relative;
+			top:1px;
+		}
+		.page-auth .sumbit-btn:hover{
+			background-color:#ffcc00;
+			color:#483600;
+			border-color:#000;
+		}
+		.page-auth .sumbit-btn:active{
+			top:0;
+			background-color:#483600;
+			color:#ffcc00;
+			border-color:#000;
+		}
+
+	.page-auth .forgot-pwd{
+		padding:60px 0 10px 137px;
+		font-size:13px;
+		}
+		.page-auth .forgot-pwd-url{
+			color:#6f7571;
+		}
+		.page-auth a.forgot-pwd-url:hover{
+			color:#849e54;
+		}
+		.page-auth a.forgot-pwd-url:active{
+			color:#edca38;
+		}
+
+.page-auth .error-box{
+	border-top:1px dashed #f16d6b;
+	padding:10px 0 0 131px;
+	font-size:14px;
+	font-weight:bold;
+	color:#f16d6b;
+}		
+
+.page-auth .footnotes{
+	margin:0 -20px;
+	padding:15px 20px;
+	font-size:14px;
+	border-top:2px solid #34352f;
+	color:#5a5e5d;
+	}
+	.page-auth .footnotes .additional-info{
+		float:left;
+		font-size:12px;
+		font-family:Georgia, "Times New Roman", Times, serif;
+		font-style:italic;
+	}
+	.page-auth .footnotes .questions-url{
+		color:#5a5e5d;
+	}
+	.page-auth .footnotes a.questions-url:hover{
+		color:#849e54;
+	}
+	.page-auth .footnotes a.questions-url:active{
+		color:#edca38;
+	}
+	.page-auth .footnotes .imprint{
+		float:right;
+		font-style:normal;
+	}	

+ 209 - 0
web/static-templates/css/vesta-login-form_new.css

@@ -0,0 +1,209 @@
+/* Page specific styles */
+.page-auth{
+	background:url(../images/auth/auth-bg.png) repeat;
+}
+.cc:after{
+ 	content: ".";
+    display: block;
+    height: 0;
+    clear: both;
+    visibility: hidden;
+}
+*html .cc{
+	zoom:1;
+}
++html .cc{
+	zoom:1;
+}
+.page-auth .b-auth-form{}
+
+.page-auth .b-auth-form{
+	width:525px;
+	margin:7% auto 0;
+	padding:20px 20px 0;
+	background:url(../images/auth/form-bg.png) repeat;
+
+	-webkit-border-radius:15px;
+    -moz-border-radius:15px;
+	border-radius:15px;
+	behavior: url(js/PIE.htc);
+	font-family:Arial, Helvetica, sans-serif;
+}
+.page-auth .b-auth-form-wrap{
+	position:relative;
+	padding-top:30px;
+}
+.page-auth .vesta-logo{
+	position:absolute;
+	top:0;
+	left:0;
+	display:block;
+}
+.page-auth .b-client-title{
+	margin:0 0 45px;
+	padding-left:130px;
+	font-size:35px;
+	background:url(../images/auth/planet-1.png) no-repeat 85px 27px;
+	color:#fff;
+	}
+	.client-title-wrap{
+		position:relative;
+        text-transform: uppercase;
+        font-size:24px;
+	}
+	.client-title-wrap .planets{
+		display:block;
+		width:91px;
+		height:7px;
+		position:absolute;
+		top:40%;
+		right:-121px;
+		background:url(../images/auth/planet-2.png) no-repeat scroll 0 -1px;		
+	}	
+.page-auth .form-row{
+	margin:0 0 15px;
+}
+.page-auth .last-row{
+	padding:27px 90px 0 133px;
+}
+	.page-auth .field-label{
+		float:left;
+		width:87px;
+		padding-left:45px;
+		color:#e3d785;
+		font-size:12px;
+		line-height:34px;
+		font-family:Arial, Helvetica, sans-serif;
+		text-transform:uppercase;
+		/*letter-spacing:-.5px;*/
+	}
+	.page-auth .field-text{
+		width:290px;
+		padding:4px 5px;
+		font-size:20px;
+		border:2px solid #0c6c9c;
+		background:#2d2c28;
+		color:#fff;
+		}
+		.page-auth .field-text:focus{
+			-moz-box-shadow:0 0 8px rgba(76, 147, 189, 0.7);
+			-webkit-box-shadow:0 0 8px rgba(76, 147, 189, 0.7);
+			border-color:rgba(76, 147, 189, 0.85) !important;
+		}
+		
+	.page-auth .b-remember{
+		float:left;
+		padding-top:5px;
+			}
+			.page-auth .remember-label{
+				cursor:pointer;
+				padding:2px 2px 2px 8px;
+				color:#747975;
+				font-size:12px;
+				font-family:Arial, Helvetica, sans-serif;
+			}
+			span.ui-checkbox{
+				display: block;
+				float: left;
+				width: 14px;
+				height: 15px;
+/*				background:url(icon_checkbox.png) 0 -40px no-repeat;*/
+				background:url(../images/auth/checkboxes.png) no-repeat;
+			}
+			.ui-helper-hidden-accessible{
+				display: none;
+			}
+			span.ui-checkbox-state-hover{
+				background-position: 0 -15px;
+			}
+			span.ui-checkbox-state-checked,
+			span.ui-checkbox-state-checked-hover{
+				background-position: 0 -30px;
+			}
+		
+	.page-auth .sumbit-btn{
+		float:right;
+		overflow:visible;
+		height:30px;
+		padding:0 40px;
+		-webkit-border-radius:9px;
+		-moz-border-radius:9px;
+		border-radius:9px;
+		behavior: url(js/PIE.htc);		
+	
+		border:2px solid #2C2C10;
+		background-color:#BBBF45;
+		color:#ffffdf;
+		font-size:13px;
+		font-family:Arial, Helvetica, sans-serif;
+		font-weight:bold;
+		line-height:27px;
+		text-transform:uppercase;
+		cursor:pointer;
+		}
+		.page-auth .sumbit-btn:focus{
+			position:relative;
+			top:1px;
+		}
+		.page-auth .sumbit-btn:hover{
+			background-color:#ffcc00;
+			color:#483600;
+			border-color:#000;
+		}
+		.page-auth .sumbit-btn:active{
+			top:0;
+			background-color:#96A332;
+			color:#FFFFFF;
+			border-color:#2C2C10;
+		}
+
+	.page-auth .forgot-pwd{
+		padding:60px 0 10px 137px;
+		font-size:13px;
+		}
+		.page-auth .forgot-pwd-url{
+			color:#6f7571;
+		}
+		.page-auth a.forgot-pwd-url:hover{
+			color:#849e54;
+		}
+		.page-auth a.forgot-pwd-url:active{
+			color:#edca38;
+		}
+
+.page-auth .error-box{
+	border-top:1px dashed #f16d6b;
+	padding:10px 0 21px 131px;
+	font-size:14px;
+	font-weight:bold;
+	color:#f16d6b;
+}		
+
+.page-auth .footnotes{
+	margin:0 -20px;
+	padding:15px 20px;
+	font-size:14px;
+	border-top:2px solid #34352f;
+	color:#5a5e5d;
+	}
+	.page-auth .footnotes .additional-info{
+		float:left;
+		font-size:12px;
+		font-family:Georgia, "Times New Roman", Times, serif;
+		font-style:italic;
+	}
+	.page-auth .footnotes .questions-url{
+		color:#5a5e5d;
+	}
+	.page-auth .footnotes a.questions-url:hover{
+		color:#849e54;
+	}
+	.page-auth .footnotes a.questions-url:active{
+		color:#edca38;
+	}
+	.page-auth .footnotes .imprint{
+		float:right;
+		font-style:normal;
+        font-size:11px;
+        padding-top:1px;
+	}	

+ 3177 - 1752
web/static-templates/css/vesta.css

@@ -1,1752 +1,3177 @@
-/*- - - - - - - - - - - - - - - - - - -
-Title  : Vesta
-Author : Eugen Lobicov, [email protected] 
-
-created : November 27, 2009
-last updated : January 22, 2011
-- - - - - - - - - - - - - - - - - - */
-
-html{
-	font-size:100.01%; /* prevent IE's extreme font-resizing bug*/
-}
-
-body{
-	position:relative;
-	font:normal 62.5%/1.5 Arial, Helvetica, sans-serif; 
-	background:#F0F0EE url(../i/thin-grey-line-2.gif) repeat-x;
-	color:#333;
-}
-#page{
-	width:965px;
-	width:955px;
-	margin:5px auto 0;
-	border:1px solid red;
-	border:solid #a9aa98;
-	border-width:0 2px;
-/*	padding:0 0 0 10px;
-	background:url(../i/bg-left.gif) repeat-y;*/
-}
-.outer{
-/*	padding:0 10px 0 0;
-	background:url(../i/bg-right.gif) repeat-y 100% 0;*/
-	padding-bottom:58px;
-	background:#fff url(../i/footer-bg.gif) repeat-x 0 100%;
-}
-#header{
-	overflow:hidden;
-	padding:0 10px;
-	height:26px;
-	border-bottom:2px solid #333527;
-	background-color:#484439;
-}
-.logo-box{
-	float:left;
-}
-.logo,
-.logo a,
-.logo a span{
-	display:block;
-	width:80px;
-	height:26px;
-}
-.logo a{
-	position:relative;
-	overflow:hidden;
-	font-size:1.2em; /*12px */
-	text-decoration:none;
-	color:#fff;
-}
-.logo a span{
-	position:absolute;
-	top:0;
-	left:0;
-	z-index:1;
-	background:url(../i/vesta-logo.png) no-repeat;
-}
-.settings{
-	float:right;
-}
-.settings li{
-	float:left;
-	display:block;
-	margin:0 10px 0 0;
-	font-size:1.2em; /*12px*/
-	line-height:2.084; /* 25px*/
-}
-.settings li a{
-	color:#c6d2d2;
-}
-.settings li a:hover{
-	color:#fefda0;
-	text-decoration:none;
-}
-.settings li a:active{
-	color:#E16734;
-	text-decoration:none;
-}
-
-/*Remove button padding in FF*/
-input::-moz-focus-inner{ 
-	border: 0;
-	padding: 0;
-}
-.cc:after{
- 	content: ".";
-    display: block;
-    height: 0;
-    clear: both;
-    visibility: hidden;
-}
-.hidden{
-	display:none !important;
-}
-
-/* Navigation
-- - - - - - - - - - - - - - - - - - - - */
-#primary-nav-box{
-	clear:both;
-	height:115px;
-	background-color:#ecf3d2;
-}
-.primary-nav{}
-
-.primary-nav .section{
-	position:relative;
-	float:left;
-	display:block;
-	padding-right:1px;
-/*	border-bottom:4px solid #616a57;*/
-/*	background:url(../i/nav-devider-2.png) no-repeat 100% 50%;*/
-	background:url(../i/nav-devider-2.png) no-repeat 100% 50%;
-}
-.primary-nav .last-section{
-	background:none;
-	padding:0;
-}
-.section .section-inner{
-	width:130px;
-	min-height:100px;
-	height:auto !important;
-	height:100px;
-	padding:15px 0 3px 6px;
-	background:url(../i/section-status-sprite-5.gif) no-repeat -420px 115px;
-	}
-.primary-nav .last-section .section-inner{
-	width:133px;
-	width:127px;
-}
-.section .section-title{
-	position:absolute;
-	left:7px;
-	bottom:9px;
-	font-family:Arial, Helvetica, sans-serif;
-	font-size:15px;
-	line-height:1.2;
-	font-weight:bold;
-	text-transform:uppercase;
-	color:#393939;
-	color:#33342e;
-	}
-	.section .section-title .to-section{
-		float:left;
-		margin-right:4px;
-	}
-	.section .section-title .add-entry{
-		position:relative;
-		top:2px;
-		float:left;
-		display:block;
-		width:13px;
-		height:13px;
-		background:url(../i/primarary-collapsed.gif) no-repeat;
-		font-size:0;
-		line-height:0;
-		}
-		.section .section-title .add-entry:hover{
-			background:#B5C968;
-		}
-		
-.dnstpl-nav-item .section-title{
-	background-position:100% 85%;
-}
-.section .def{
-	display:block;
-	font-family:Arial, Helvetica, sans-serif;
-	font-size:12px;
-	color:#8c9c91;
-}
-.section:hover .section-inner{
-	background-position:0 115px;
-	background-color:#F1F7D6;
-	color:#000;
-	cursor:pointer;
-	}
-	.section:hover .section-title{
-		color:#000;
-	}
-.primary-nav .active .section-inner{
-	background-position:-140px 115px;	
-	cursor:default;
-	}
-	.primary-nav .active .def{
-		color:#8c9c91;
-	}
-	.primary-nav .active .section-title{
-		color:#393939;
-	}		
-
-#console{
-	position:relative;
-	clear:both;
-	height:70px;
-	background-color:#a09d98;
-	background:#535049 url(../i/console-box-bg.png) repeat-x;
-	border-bottom:1px solid #7a7967;
-}
-
-.b-console{
-	position:absolute;
-	left:50%;
-}
-
-.b-console-wrap{
-	position:relative;
-	right:50%;
-	width:655px;
-	padding:10px 15px 16px 25px;
-	background:url(../i/console-bg.png) repeat;
-	
-	border-radius: 0 0 5px 5px;
-	-moz-border-radius: 0 0 5px 5px;
-	-webkit-border-top-right-radius: 0;
-	-webkit-border-top-left-radius: 0;
-	-webkit-border-bottom-right-radius: 5px;
-	-webkit-border-bottom-left-radius: 5px;
-}
-	.b-console-form{}
-	
-		.b-console-field{
-			float:left;
-			width:548px;
-			margin-right:15px;
-			padding:5px 10px;
-			border:2px solid #42647f;
-			font-family:Arial, Helvetica, sans-serif;
-			font-size:18px;
-			font-style:italic;
-			font-weight:bold;
-			color:#aaa;
-		}
-		.b-console-field:focus{
-			-moz-box-shadow:0 0 8px rgba(82, 168, 236, 0.5);
-			-webkit-box-shadow:0 0 8px rgba(82, 168, 236, 0.5);
-			border-color:rgba(82, 168, 236, 0.75) !important;
-			color:#333;
-		}	
-		.b-console-btn{
-			float:left;
-			overflow:visible;
-			height:30px;
-			margin:4px 0 0;
-			padding:0 20px;
-			-webkit-border-radius:4px;
-			-moz-border-radius:4px;
-			border-radius:4px;
-			border:0 none;
-			background-color:#fdcd00;
-			color:#4b3600;
-
-			font-size:13px;
-			font-family:Arial, Helvetica, sans-serif;
-			font-weight:bold;
-			line-height:30px;
-			text-transform:uppercase;
-			cursor:pointer;
-	
-			/* a little animation effect on hover for -webkit- */
-			-webkit-transition-property: background;
-			-webkit-transition-duration: 150ms;
-			-webkit-transition-timing-function: ease-in-out; 
-			}
-			.b-console-btn:focus{
-				position:relative;
-				top:1px;
-			}
-			.b-console-btn:hover{
-				background-color:#ffe84c;
-				color:#39351c;
-			}
-			.b-console-btn:active{
-				background-color:#333;
-				color:#fff;
-			}
-
-.b-console-statuses{
-	margin-top:15px;
-}
-	
-	.b-console-status{
-		position:relative;
-		padding:5px 80px 5px 10px;
-		border:2px dashed #999;
-		background-color:#feff99;
-		color:#666;
-		font-size:12px;
-	}
-	.b-console-status-message{
-		float:left;
-		color:#666;
-	}
-	.b-console-status-action{
-		float:right;
-		margin-right:-36px;
-		text-decoration:underline;
-	}
-	.b-console-status-message b{
-		font-weight:bold;
-		color:#333;
-	}	
-	.b-console-status-arrow{
-		position:absolute;
-		top:10px;
-		right:12px;
-		display:block;
-		width:14px;
-		height:8px;
-		background:url(../i/status-arrow.png) no-repeat;
-	}
-	
-
-
-#actions-toolbar{
-	clear:both;
-	position:relative;
-	padding:15px 20px 15px 280px;
-	background-color:#f3f3d9;
-	border-bottom:1px solid #c9cbc8;
-}
-.add-domain,
-.add-btn{
-	position:relative;
-	top:2px;
-	float:left;
-	margin:0 0 0 -260px;
-	border-bottom:1px solid #b5c968;
-	font-family:Georgia, "Times New Roman", Times, serif;
-	font-size:16px;
-/*	line-height:18px;*/
-	line-height:1;
-	text-transform:uppercase;
-	color:#66685d;
-	text-decoration:none;
-}
-.add-domain .icon,
-.add-btn-icon{
-	float:left;
-	display:block;
-	width:11px;
-	height:11px;
-	margin:4px 5px 0 0;
-	background:url(../i/add-entry-plus.gif) no-repeat;	
-	font-size:0;
-	line-height:0;	
-}
-.select-all{
-	padding:0 40px 0 0;
-	font-size:13px;
-	color:#7f7e6c;
-	text-decoration:underline;
-	cursor:pointer;
-	}
-	.select-all:hover{
-		text-decoration:none;
-	}
-.clear-selected{
-	font-size:11px;
-	line-height:10px;
-	text-transform:uppercase;
-	color:#bcb6a6;
-	cursor:pointer;
-	letter-spacing:0.2px;
-	border-bottom:1px solid #bcb6a6;
-	}
-	.clear-selected:hover{
-		color:#000;
-		border-bottom-color:#b85152;
-	}
-	.clear-selected:active{
-		color:#b85152;
-		border-bottom-color:#000;
-	}
-	
-#content{
-	padding:8px 0 50px;
-	background:#fff url(../i/content-separator.png) repeat-x;
-}
-.b-ext-info-wrap{
-	position:relative;
-	min-height:40px;
-	}
-	.b-ext-info{
-		margin:0 0 6px;
-		padding:10px 25px 15px;
-		background:#ddd;
-		font-size:12px;
-		color:#000;
-		text-shadow: 0px 1px 1px #fff;
-	}
-	.b-ext-info-btn{
-		position:relative;
-		left:-1px;
-		width:102px;
-		height:15px;
-		margin-left:-50px;
-		margin:-6px auto 0;
-		background-color:#fff;
-		cursor:pointer;
-		}
-		.b-ext-info-wrap_collapsed .b-ext-info-btn{
-			background:url(../i/more-info-btn.png) no-repeat;		
-		}
-.content-inner{
-	background-color:#fff;
-	padding:0 15px 15px;
-}
-/*
-.domains{
-	border-bottom:1px solid #333;
-	background-color:#fff;
-}
-.domains .item{
-	position:relative;
-	padding:0 20px;
-	background:url(../i/long-dotted-bg.gif) repeat-x;
-}
-.domains .first{
-	margin:0;
-	background:none;
-}
-.item .view{
-	padding:15px 0 10px;
-}
-.item .ip-box{
-	float:left;
-	width:150px;
-	padding-top:12px;
-}
-.ip-box .ip{
-	font-size:1.1em; /*11px*
-	line-height:21px;
-	font-weight:normal;
-	letter-spacing:.175em;
-}
-.ip-box .owner{
-	display:block;
-	font-size:1.2em;
-	color:#999;
-}
-.details .names .primary{ 
-	font-size:20px;
-	font-family:Georgia, "Times New Roman", Times, serif;
-	font-weight:normal;	
-	font-style:normal;
-	color:#000; /* radikal'no cherniy, da! *
-}
-.names .divider{
-	font-size:12px;
-	line-height:2;
-	text-transform:uppercase;
-	color:#999;
-}
-.names .domain-name{
-	padding:0 10px;
-	font-size:12px;	
-	line-height:2;
-	font-style:italic;
-	color:#999;	
-	white-space:nowrap;
-}
-.item .details{
-	margin-left:150px;
-}
-.item .details .status{
-	float:right;
-	width:60%;
-	margin:5px 20px 0 0;
-	color:#999;
-}
-.details .status .logging{
-	float:left;
-}
-.logging .err-log,
-.logging .log,
-.logging .stats{
-	float:left;
-	display:inline;
-	margin:0 20px 0 0;
-	padding-right:25px;
-	background:url(../i/logging-status-sprite.png) no-repeat -100% -100%;
-}
-.logging .off{
-	background-position:100% 0;
-}
-.logging .on{
-	background-position:100% 100%;
-}
-.logging .stats{
-	margin-right:10px;
-}
-.logging .stat-auth{
-	float:left;
-	display:inline;
-	margin:0 10px 0 0;
-	border-bottom:1px solid #9bcad0;
-	color:#999;
-	cursor:pointer;
-}
-.details .status .params{
-	float:right;
-}
-.params .memory,
-.params .t,
-.params .max-weight,
-.params .upload-weight{
-	float:left;
-	display:inline;
-	margin-right:25px;
-}
-.memory{}
-
-.memory dl{
-	overflow:hidden;
-	margin-bottom:2px;
-}
-
-.memory dt{
-	float:left;
-	width:15px;
-}
-.memory dd{
-	float:left;
-}
-.memory .usage{}
-
-.memory .usage .value{
-	float:left;
-	width:30px;
-}
-.memory .usage .divider{
-	padding-right:2px;
-}
-.memory .usage .max{
-	font-weight:bold;
-	border-bottom:1px solid #9bcad0;
-	cursor:pointer;
-}
-.memory .graph{
-	clear:both;
-	position:relative;
-	border:1px solid #ccc;
-	font-size:0;
-	line-height:0;
-}
-.memory .graph .bar{
-	position:relative;
-	display:block;
-	height:2px;
-}
-.critical .bar{
-	background-color:#f00;
-}
-.middle .bar{
-	background-color:#ff9934;
-}
-.low .bar{
-	background-color:#acd45a;
-}
-.params .upload-weight{
-	margin:0;
-}
-.t .value,
-.max-weight .value,
-.upload-weight .value{
-	border-bottom:1px solid #9bcad0;
-	cursor:pointer;
-}
-.item .close{
-	position:absolute;
-	top:30px;
-	right:20px;
-	display:block;
-	width:16px;
-	height:16px;
-	background:url(../i/sprite.png) no-repeat;
-	cursor:pointer;
-}
-.item .close:hover{
-	background-position:-16px 0;
-}
-*/
-/* row hover effect
-- - - - - - - - - - - - - - - - - - - */
-/*
-.domains .item:hover{
-	background-color:#ffffcb;
-}
-.item:hover .names .primary{
-	cursor:pointer;
-	border-bottom:1px dotted #ccc;
-}
-.item:hover .logging .err-log,
-.item:hover .logging .log,
-.item:hover .logging .stats,
-.item:hover .memory dt,
-.item:hover .memory .divider,
-.item:hover .params .title{
-	color:#98bc65;	
-}
-.item:hover .logging .stat-auth,
-.item:hover .memory .max,
-.item:hover .t .value,
-.item:hover .max-weight .value,
-.item:hover .upload-weight .value{
-	color:#333;
-}
-*/
-/* Edit
-- - - - - - - - - - - - - - - - - - - */
-/*
-.edit{
-	position:relative;
-	clear:both;
-	margin:0 -20px;
-	padding:15px 20px 10px;
-	border-top:2px solid #999;
-	background-color:#ffffcb;
-}
-.change-ip-box{
-	margin:0 0 20px;
-}
-.edit .ip-details{
-	float:left;
-	margin-right:20px;	
-}
-.change-ip{
-	width:140px;
-	padding:3px 5px;
-	border:2px solid #9bcad0;
-	font-size:16px;
-} 
-.ip-details .created{
-	display:block;
-	margin:5px 0 0;
-	font-size:12px;	
-}
-.change-domain-name{
-	width:360px;	
-	padding:3px 5px;
-	border:2px solid #9bcad0;
-	font-size:16px;
-	font-weight:bold;
-}
-.edit .domain-name{
-	font-size:20px;
-	font-family:Georgia, "Times New Roman", Times, serif;
-	font-weight:normal;	
-	font-style:normal;
-	color:#000; /* radikal'no cherniy, da! *
-	white-space:nowrap;
-	line-height:2;
-}
-.change-logs-box{
-	float:left;
-	width:170px;
-	margin-right:50px;
-	padding-left:180px;
-}
-.ownership{
-	display:inline;
-	float:left;
-	width:160px;
-	margin:0 0 0 -180px;
-	font-size:12px;
-}
-.ownership .owner{
-	display:block;
-	font-size:16px;
-	font-weight:bold;
-	font-style:italic;
-}
-.change-logs{
-	padding-top:5px;
-}
-.change-logs label{
-	display:block;
-	margin:0 0 9px;
-}
-.change-logs .last{
-	margin:0;
-}
-.change-logs .title{
-	display:block;
-	float:left;
-	width:70px;
-	font-size:14px;
-}
-.change-logs .title b{
-	font-weight:bold;
-}
-.change-logs .checkbox{
-	margin:3px 0 0;
-	border:2px solid #9bcad0;
-}
-.change-logs .stat-auth{
-	position:relative;
-	top:-3px;
-	left:10px;
-	border-bottom:1px solid #9BCAD0;
-	cursor:pointer;
-}
-.change-memory{
-	float:left;
-	width:150px;
-	padding-top:5px;
-	font-size:14px;
-}
-.change-memory dl{
-	margin-bottom:13px;
-}
-.change-memory .value{
-	padding:0 5px;
-	font-style:italic;
-	font-weight:bold;
-	color:#6b930f;
-}
-.change-memory .amount{
-	margin-top:7px;
-}
-.change-memory .amount .max{
-	width:50px;
-	margin-left:10px;
-	padding:2px 5px;
-	border:2px solid #9bcad0;
-	text-align:right;
-}
-.change-memory .graph{
-	clear:both;
-	position:relative;
-	border:1px solid #9c9c82;
-	font-size:0;
-	line-height:0;
-}
-.change-memory .graph .bar{
-	position:relative;
-	display:block;
-	height:2px;
-}
-.change-params{
-	float:right;
-	font-size:14px;
-}
-.change-params li{
-	margin-top:5px;
-	overflow:hidden;
-}
-.change-params .title{
-	float:left;
-	width:165px;
-}
-.change-params .param-value{
-	width:30px;
-	margin-right:5px;
-	padding:1px 5px;
-	border:2px solid #9bcad0;
-	text-align:right;
-
-}
-.aliases{
-	position:relative;
-	padding-top:20px;
-	margin-bottom:20px;
-}
-.aliases .title{
-	float:left;
-	display:block;
-	margin-right:20px;
-	padding-top:3px;
-	font-size:17px;
-}
-.aliases .hint{
-	position:absolute;
-	top:-15px;
-	left:78px;
-	font-style:italic;
-	color:#999;
-}
-.aliases-list{
-	width:90%;
-	padding:3px 5px;
-	border:2px solid #9bcad0;
-	font-size:16px;
-}
-.buttons{}
-
-.buttons .apply{
-    width:auto;
-    overflow:visible;
-    padding:4px 20px 3px 17px;
-	background-color:#feff99;
-    border:1px solid #728b25;
-
-	font-family:"Lucida Grande", Tahoma, Arial, Verdana, sans-serif;
-    font-size:120%;
-    font-weight:bold;
-	text-transform:uppercase;
-
-    line-height:130%;
-    color:#6b9e05;
-	cursor:pointer;
-	
-	float:right;
-}
-.buttons .devider{
-	text-transform:uppercase;
-	float:right;
-	display:block;
-	line-height:24px;
-	margin:0 10px;
-}
-.buttons .cancel{
-	float:right;
-	width:auto;
-	height:20px;
-	padding:0;
-	border:0 none;
-	background:none;
-	color:#e09462;
-	text-decoration:underline;
-	cursor:pointer;
-}
-.hidden{
-	display:none;
-}
-.edit .iSelected{ /* descendant selector for more specific style context *
-	border-color:#59B4FF; /* blue border on focused input *
-	font-weight:bold;
-}
-.edit .not-valid{ /* descendant selector for more specific style context *
-	border-color:#f00; /* RED border on error field *
-}
-
-.edit .edit-help{
-	padding-bottom:1px;
-	font-family:Arial, Helvetica, sans-serif;
-	font-size:14px;
-	color:#a0a094;
-	text-decoration:none;
-	text-transform:uppercase;
-	border-bottom:1px solid #b5b59b;
-}
-.edit .delete{
-	position:absolute;
-	top:15px;
-	right:25px;
-	padding:3px 25px 3px 2px;
-	font-family:Arial, Helvetica, sans-serif;
-	font-size:14px;
-	color:#a0a094;
-	text-transform:uppercase;
-	background:url(../i/delete.gif) no-repeat 100% 50%;
-	cursor:pointer;
-}
-.edit .delete .title{
-	padding-bottom:1px;
-	border-bottom:1px solid #b5b59b;
-}
-*/
-
-/* IP list 
-- - - - - - - - - - - - - - - - - - - - */
-#content{
-	padding-bottom:0;
-}
-.ip-list{}
-
-	.row{
-		padding-top:10px;
-		padding:10px 10px 15px 10px;
-/*		min-height:125px;
-		min-height:110px;*/		
-		background:url(../i/long-dotted-bg.gif) repeat-x;
-	}
-	.first-row{
-		background-image:none;
-	}
-		.row-meta{
-			float:left;
-			width:150px;
-		}
-		.row-details{
-			margin-left:150px;
-/*			background:#e0e0e0;*/
-		}
-		.row-actions-box{
-/*			margin:0 0 5px;*/
-		}
-		
-		.row-actions-box .check-this,
-		.row-actions-box .check-control{
-			float:left;
-			width:10px;
-			height:10px;
-			margin-top:4px;
-/*			background:url(../i/logging-status-sprite.png) no-repeat;*/
-			background:url(../i/check-row-sprite.png) no-repeat;
-		}
-		.row-actions-box .row-operations{
-			float:right;
-		}
-		.ip-status-info{
-			position:relative;
-			display:block;
-			float:left;
-			margin-right:25px;
-			padding-right:15px;
-			font-size:12px;
-			}
-			.ip-status-info .ip-status-text{
-				visibility:hidden;
-			}
-			.row .ip-suspended-status{
-				margin-right:78px;
-				background:url(../i/suspended-ico.png) no-repeat 100% 65%;
-				}
-				.row .ip-suspended-status .ip-status-text{
-					text-transform:uppercase;
-					color:#333;
-					font-size:10px;
-					visibility:visible;
-				}
-		.delete-entry{
-			position:relative;
-			top:2px;
-			display:block;
-			float:left;
-			padding-right:15px;
-			font-size:11px;
-			text-transform:uppercase;			
-			}
-			.delete-entry .delete-entry-text{
-				visibility:hidden;
-			}
-		.entry-created{
-			padding-top:7px;
-			font-size:11px;
-			color:#6f6f6f;
-		}
-		.props-main{
-			float:left;
-			width:425px;
-/*			background:#eee;*/
-			}
-			.props-main .prop-box{
-				margin-bottom:15px;
-			}
-
-		.props-additional{
-			float:left;
-			width:200px;
-			padding:5px 10px 0 0;
-/*			background:#ccc;*/
-		}
-		.props-ext{
-			float:right;
-			width:120px;
-			padding-top:5px;
-/*			background:#d5d5d5;*/
-		}
-		.ip-adr-box{
-			margin:0 0 5px;			
-		}
-		.ip-adr{
-			display:-moz-inline-stack;
-			display:inline-block;
-			vertical-align:top;
-
-			font-size:22px;
-			line-height:1;
-			font-weight:normal;
-			letter-spacing:0.5px;
-		}
-		.ip-adr:active,
-		.ip-adr:focus{
-			color:#9fb749;
-		}
-		.ip-adr .dot{
-			padding:0 3px;
-		}
-		.ip-list .ip-adr{
-			border-bottom:1px solid #fff;
-		}
-		.prop-box{
-			display:-moz-inline-stack;
-			display:inline-block;
-			vertical-align:top;
-
-			min-width:40%;
-			width:auto !important;
-			width:40%;
-			margin:0 0 3px;
-			font-size:10px;
-			}
-			.prop-title{
-				text-transform:uppercase;
-				color:#9c9c9c;
-				font-size:9px;
-				line-height:15px;
-			}
-			.prop-value{
-				padding-left:3px;
-				font-size:12px;
-				color:#777;
-			}
-			.show-records{
-				display:inline-block;
-				padding-right:15px;
-				border-bottom:1px solid #c9cabc;
-				background:url(../i/show-records-ico.png) no-repeat 100% 50%;
-				text-transform:uppercase;
-				line-height:13px;
-				cursor:pointer;
-			}
-			.hide-records{
-				display:inline-block;
-				padding-right:15px;
-				border-bottom:1px solid #c9cabc;
-				background:url(../i/hide-records-ico.png) no-repeat 100% 50%;
-				text-transform:uppercase;
-				line-height:13px;
-				cursor:pointer;				
-			}
-			
-		.props-additional .owner-box{
-			padding-left:45px;
-			}
-			.props-additional .owner-box .prop-title{
-				float:left;
-				display:inline;
-				margin:2px 0 0 -45px;
-			}
-			.props-additional .owner-box .prop-value{
-				padding:0;
-			}			
-
-/* Suspended row
-- - - - - - - - - - - - - - - - - - - */
-.ip-details-suspended{}
-
-.ip-details-suspended:hover{
-	background-color:#fff;
-}
-	.ip-details-suspended .entry-created{
-		color:#ccc;
-	}
-	.ip-details-suspended .ip-adr{
-		color:#ccc;
-		border:none;
-	}
-	.ip-details-suspended:hover .ip-adr{
-		border:none;
-	}
-	.ip-details-suspended:hover .ip-adr:hover{
-		border:none;
-		cursor:default;		
-	}
-.ip-details-suspended .prop-title,
-.ip-details-suspended .prop-value{
-	color:#ccc;
-}
-
-/* Entry adding form
-- - - - - - - - - - - - - - - - - - - */
-.b-new-entry{
-	border-style:solid;
-	border-width:2px 1px 1px;
-	border-color:#999 #ccc #ccc #ccc;
-	
-	background-color:#ffffcb;
-	}
-	.b-new-entry .entry-header{
-		margin:0 0 10px;
-		padding:8px 15px 9px;
-		border-bottom:1px solid #dcdbab;
-		font-size:16px;
-		font-family:Georgia, "Times New Roman", Times, serif;
-		text-transform:uppercase;
-		color:#747668;
-	}
-	.b-new-entry .form-row{
-		position:relative;
-		padding:10px 15px;
-	}
-	.b-new-entry .field-label{
-		float:left;
-		width:180px;
-		font-size:15px;
-		line-height:2;
-		color:#3d504a;
-	}
-	.b-new-entry .text-field{
-		width:265px;
-		margin:0;
-		padding:6px 7px;
-		border:2px solid #b8c2c3;
-		color:#555;
-		font-family:Arial, Helvetica, sans-serif;
-		font-size:14px;
-		font-weight:bold;
-	}
-	.b-new-entry .field-label .remark{
-		position:relative;
-		top:-14px;
-		display:block;
-		font-style:italic;
-		font-size:14px;
-		color:#a3a590;
-	}
-	
-	.b-new-entry .custom-select{}
-	
-	.b-new-entry .textarea{
-		width:685px;
-		height:100px;
-		padding:6px 7px;
-		border:2px solid #b8c2c3;
-		color:#555;
-		font-family:Arial, Helvetica, sans-serif;
-		font-size:14px;
-		font-weight:bold;
-	}	
-	.b-new-entry .ssl-crtfct-box .textarea{
-		margin:10px 0 0;
-	}	
-	.b-new-entry .select{
-		position: absolute;
-		top:auto;
-		left:195px;
-		width: 195px;
-		height: 28px;
-		padding: 0 24px 0 8px;
-		color: #333;
-		font:bold 14px/28px arial,sans-serif;
-		background:#fff url(../i/select-arrow.png) no-repeat 100% 50%;
-		overflow: hidden;
-		border:2px solid #b8c2c3;
-	}
-	.b-new-entry select.styled{
-		top:10px;
-	}
-	.b-new-entry option{
-		font:14px arial,sans-serif;
-	}
-	.b-new-entry .form-options-group{}
-	
-	.b-new-entry .group-header{
-		margin:12px 25px 12px 60px;
-		text-transform:uppercase;
-		color:#9c9c9c;
-		font-size:11px;
-		line-height:15px;
-		height:16px;
-		background:url(../i/dotted.gif) repeat-x 0 50%;
-		}
-		.b-new-entry .group-title-outer{
-			padding:0 15px 0 0;
-			line-height:16px;
-			background:#ffffcb;
-		}
-		.b-new-entry .group-title{
-			padding:2px 15px 2px 0;
-		}
-		.b-new-entry .expanded .group-title{
-			background:#ffffcb url(../i/form-group-expanded.png) no-repeat 100% 50%;
-		}
-		.b-new-entry .collapsed .group-title{
-			background:#ffffcb url(../i/form-group-collapsed.png) no-repeat 100% 50%;		
-		}		
-
-	.b-new-entry .checkbox{
-		display:block;
-		float:left;
-		width:18px;
-		height:18px;
-		margin:6px 0 0;
-		background:url(../i/checkbox.png) no-repeat;
-	}
-	.b-new-entry .stats-settings{
-		padding-left:40px;
-	}
-	.b-new-entry .pwd-box .text-field{
-		float:left;
-		margin:0 15px 0 0;
-	}
-	.b-new-entry_dns .dns-template-box .styled{
-		float:left;
-		margin:0 40px 0 0;
-		margin:0 20px 0 0;		
-		width:230px;
-		cursor:pointer;
-	}	
-	.generate-pwd,
-	.context-settings{
-		position:relative;
-		top:10px;
-		float:left;
-		display:block;
-		color:#5ea2a1;
-		border-bottom:1px solid #cdcea6;
-		text-transform:uppercase;
-		cursor:pointer;
-		
-		font-size:12px;
-		line-height:1;
-		letter-spacing:0.5px;
-	}
-	.generate-pwd:hover,
-	.context-settings:hover{
-		color:#575757;
-		border-bottom-color:#b4c775;
-	}
-	.generate-pwd:active,
-	.context-settings:active{
-		color:#b4c775;	
-	}
-	.b-new-entry .buttons-row{
-		position:relative;
-		margin-top:10px;
-		padding:8px 15px 8px 195px;
-		border-top:1px solid #dcdbad;
-		background:url(../i/form-bottom-bg.png) repeat-x;
-	}
-	.b-new-entry .help-btn{
-		position:absolute;
-		top:13px;
-		left:16px;
-		font-size:11px;
-		line-height:12px;
-		color:#b4b39f;
-		text-transform:uppercase;
-		cursor:pointer;
-		border-bottom:1px solid #b4b39f;
-		}
-		.b-new-entry .help-btn:hover{
-			color:#000;
-			border-bottom-color:#9fb35a;
-		}
-		.b-new-entry .help-btn:active{
-			color:#4B9427;
-		}
-	.b-new-entry .cancel-btn{
-		position:absolute;
-		top:15px;
-		right:20px;
-		font-size:12px;
-		line-height:1;
-		text-transform:uppercase;
-		color:#cc7c4b;
-		cursor:pointer;
-		border-bottom:1px solid #cc7c4b;
-		}
-		.b-new-entry .cancel-btn:hover{
-			color:#000;
-			border-bottom-color:#c5795f;
-		}
-		.b-new-entry .cancel-btn:active{		
-			color:#CC7C4B;
-		}
-	.b-new-entry .add-entry-btn{
-		overflow:visible;
-		height:28px;
-		padding:0 50px;
-		-webkit-border-radius:9px;
-		-moz-border-radius:9px;
-		border-radius:9px;
-		border:2px solid #c8c09c;
-		background-color:#feff99;
-		color:#444428;
-		font-size:14px;
-		font-family:Arial, Helvetica, sans-serif;
-		font-weight:bold;
-		line-height:25px;
-		text-transform:uppercase;
-		cursor:pointer;
-		}
-		.b-new-entry .add-entry-btn:focus{
-			position:relative;
-			top:1px;
-		}
-		.b-new-entry .add-entry-btn:hover{
-			background-color:#feff77;
-			color:#464322;
-			border-color:#9e977b;
-		}
-		.b-new-entry .add-entry-btn:active{
-			background-color:#928d7a;
-			color:#fefe9e;
-			border-color:#87826e;
-		}
-		.b-new-entry .autocomplete-box{
-			position:relative;
-			float:left;
-			padding-right:35px;
-			background:#fff;
-			}
-			.b-new-entry .autocomplete-box .text-field{
-				width:213px;
-			}
-			.b-new-entry .autocomplete-box .arrow{
-				position:absolute;
-				top:0;
-				right:0;
-				display:block;
-				width:32px;
-				height:32px;
-				font-size:0;
-				line-height:0;
-/*				background:#fff url(../i/select-arrow.png) no-repeat 100% 50%;*/
-				background:#fff url(../i/autocomplete-field-arrows-sprite.png) no-repeat;
-				cursor:pointer;
-			}
-			.b-new-entry .autocomplete-box .arrow:hover,
-			.b-new-entry .autocomplete-box .arrow:active,
-			.b-new-entry .autocomplete-box .arrow:focus{
-				background-position:0 -32px;
-			}
-
-		.b-new-entry .form-error{
-			position:relative;
-			margin:-5px 5px 5px;
-			padding:8px 15px;
-			border:1px solid #dcdbad;
-			background:url(../i/form-bottom-bg.png) repeat-x;
-			}
-			.form-error .error-box{
-				padding-left:18px;
-				background:url(../i/error-bullet.png) no-repeat 0 50%;
-			}
-			.form-error .error-box .error-message{
-				color:#9a32ff;
-				font-size:16px;
-				line-height:22px;
-			}
-			.form-error .error-box .help-tip-url{
-				position:relative;
-				top:-1px;
-				font-size:12px;
-				line-height:15px;
-				color:#b4b39f;
-				text-transform:uppercase;
-				text-decoration:none;
-				cursor:pointer;
-				border-bottom:1px solid #b4b39f;
-				}
-				.b-new-entry .help-tip-url:hover{
-					color:#000;
-					border-bottom-color:#9fb35a;
-				}
-
-/* Show/edit dns records form
-- - - - - - - - - - - - - - - - - - - */
-.b-records-list{
-	margin-left:160px;
-	}
-	.b-records-list .entry-header{
-		padding-top:6px;
-		padding-bottom:11px;	
-		} 
-		.b-records-list .hide-records{
-			font-size:10px;
-			font-family:Arial, Helvetica, sans-serif;
-			line-height:13px;
-		}
-	.b-records-list .add-btn{
-		margin:0;
-		float:none;
-	}
-	.b-records-list .form-row{
-		padding-top:5px;
-		padding-bottom:5px;
-	}
-	.b-records-list .add-box{
-		padding-bottom:15px;
-	}
-	.b-records-list .buttons-row{
-		margin-top:20px;
-	}
-	.form-row-line{
-		position:relative;
-	}
-	.form-row-line .field-box{
-		float:left;
-	}
-	.form-row-line .field-devider{
-		float:left;
-		display:block;
-		min-height:30px;
-		margin:0 15px;
-		font-size:15px;
-		line-height:2;
-	}
-	.b-records-list .form-row-line .field-label{
-		float:none;
-		display:block;
-		width:auto;
-		line-height:20px;
-	}
-	.b-records-list .dns-record-box .text-field{
-		width:147px;
-		float:left;
-	}
-	.b-records-list .dns-type-box{
-		margin-right:15px;
-	} 
-	.b-records-list .dns-type-box .select{
-		width:51px;
-		left:221px;
-	}
-	.b-records-list .dns-type-box select.styled{
-		width:87px;
-		cursor:pointer;
-	}
-	.b-records-list .dns-value-box .text-field{
-		width:390px;
-	}	
-	.b-records-list .delete-record{
-		position:relative;
-/*		top:31px;
-		left:10px;*/
-		position:absolute;
-		bottom:15px;
-		right:11px;
-		display:block;
-		float:left;
-		width:11px;
-		height:11px;
-		background:url(../i/delete-ico-off.png) no-repeat;
-	}
-	.b-records-list .delete-record:hover{
-		cursor:pointer;
-		background-image:url(../i/delete-ico.png);
-	}
-	
-
-/* Web-domains list
-- - - - - - - - - - - - - - - - - - - */
-.domains-list{}
-
-	.domains-list .entry-created{
-		padding-top:9px;
-	}
-	.names{
-		margin:0 0 6px;
-		color:#acacac;
-		}
-		.names .alias-title{
-			position:relative;
-			top:-1px;
-			padding-right:3px;
-			padding:0 3px 0 25px;
-			font-size:10px;
-			line-height:1.8;
-			text-transform:uppercase;
-		}
-		.names .domain-name{
-			position:relative;
-			top:-1px;
-			padding:0 3px 0 0;
-			font-size:12px;	
-			line-height:1.5;
-			color:#acacac;	
-			white-space:nowrap;
-		}
-		.row-details .names .primary{ 
-			top:0;
-/*			padding:0 25px 0 0;*/
-			font-size:20px;
-			font-family:Arial, Helvetica, sans-serif;
-			font-weight:normal;	
-			font-style:normal;
-			color:#000; /* radikal'no cherniy, da! */
-		}
-		.names .primary:active{
-			color:#9fb749;			
-		}
-		.domains-list .names .primary,
-		.dns-list .names .primary{
-			border-bottom:1px solid #fff;
-		}
-		
-	.domains-list .props-main{
-		width:345px;
-		}	
-		.domains-list .ip-adr{
-			font-size:16px;
-			color:#888;
-		}
-		.domains-list .ip-adr-box .prop-box{
-			margin-left:20px;
-			}
-/*			.domains-list .ip-adr-box .prop-value{
-				padding:0;
-				cursor:pointer;
-				border-bottom:1px solid #cbcbbf;
-			}		*/
-	.domains-list .props-additional{
-		width:230px;
-		padding-top:0;
-/*		background:#bbb;*/
-	}
-	.domains-list .props-ext{
-		width:170px;
-		padding-top:0;
-/*		background:#ddd;*/
-	}
-	
-.b-usage-box{
-	display:block;
-}
-
-	.b-usage-box .prop-title{
-		float:left;
-		margin:2px 15px 0 0;
-	}
-	.b-usage-box .usage-box{
-		float:left;
-		width:136px;
-	}
-	.b-usage-box .usage-box{
-
-	}
-	.b-usage-box .value-box{
-		float:left;
-		width:75px;
-	}
-	.b-usage-box .max-size{
-		float:right;
-	}
-	.b-usage-box .value{
-		display:block;
-		font-size:11px;
-		line-height:1;
-		color:#999;
-	}
-	.b-usage-box .max-size{
-		position:relative;
-		top:2px;
-		font-size:14px;
-		line-height:1;
-		color:#ababab;
-	}
-	.b-usage-box .max-size .units{
-		font-size:12px;
-		color:#797979;
-	}
-	.graph{
-		position:relative;
-		border:1px solid #b7b7b9;
-		font-size:0;
-		line-height:0;
-		}
-		.graph .bar{
-			position:relative;
-			display:block;
-			height:2px;
-		}
-		.critical .bar{
-			background-color:#f00;
-		}
-		.middle .bar{
-			background-color:#ff9934;
-		}
-		.low .bar{
-			background-color:#9fec00;
-		}
-
-.domains-list .disk-usage{
-	margin:0 0 6px;
-}
-.domains-list .props-additional .prop-box,
-.domains-list .props-ext .prop-box{
-	display:block;
-	margin:0;
-	}		
-	.stats-box{}
-		
-		.stats-box .stats-auth{
-			position:relative;
-			top:3px;
-			display:-moz-inline-stack;
-			display:inline-block;
-			vertical-align:top;
-			
-			margin:0 0 0 5px;
-			padding:0 0 0 10px;
-			font-size:12px;
-			line-height:1.5;
-			color:#777;
-			cursor:pointer;
-		}
-		.stats-box .stats-auth-on{		
-			background:url(../i/auth-plus.png) no-repeat 0 60%;		
-		}
-		.stats-box .stats-auth-text{
-			display:block;
-			line-height:11px;
-			border-bottom:1px solid #cacbbd;		
-		}
-		
-	.nginx-box{}
-		
-		.nginx-box .nginx-ext-list{
-			position:relative;
-			top:3px;
-			display:-moz-inline-stack;
-			display:inline-block;
-			vertical-align:top;
-	
-			margin:0 0 0 5px;
-			border-bottom:1px solid #cacbbd;
-			font-size:12px;
-			line-height:1;
-			color:#777;
-			cursor:pointer;
-		}
-	.template-box{}
-	
-		.template-box .prop-value{
-			padding:0;
-			cursor:pointer;
-			border-bottom:1px solid #cbcbbf;
-		}
-
-/* DNS list
-- - - - - - - - - - - - - - - - - - - */		
-.dns-list{}
-
-	.dns-list .entry-created{
-		padding-top:9px;
-	}
-	.dns-list .props-main{
-		width:295px;
-	}
-	.dns-list .props-additional{
-		width:200px;
-	}	
-	.dns-list .props-ext{
-		width:250px;
-	}
-.dns-list .props-additional .prop-box,
-.dns-list .props-ext .prop-box{
-	display:block;
-	margin:0;
-	}	
-.dns-list .ip-adr-box{
-	margin:0;
-	}
-	.dns-list .ip-adr{
-		font-size:12px;
-		line-height:1.5;
-		color:#777;
-	}
-		
-/* row hover effect
-- - - - - - - - - - - - - - - - - - - */
-.row:hover{
-	background-color:#ffffcb;		
-}
-.ip-list .row:hover .ip-adr,
-.domains-list .row:hover .names .primary,
-.dns-list .row:hover .names .primary{
-	border-bottom-style:dashed;
-	border-bottom-color:#e5e5e5;
-	border-bottom-color:#bbb;	
-}
-.ip-list .row:hover .ip-adr:hover,
-.domains-list .row:hover .names .primary:hover,
-.dns-list .row:hover .names .primary:hover{
-	cursor:pointer;
-	border-bottom-style:solid;
-	border-bottom-color:#b4c775;
-}
-.ip-list .ip-details-suspended:hover .ip-adr,
-.ip-list .ip-details-suspended:hover .ip-adr:hover{
-	border:none;
-	cursor:default;
-}
-.row:hover .ip-status-info{
-	background:url(../i/enabled-ico_.png) no-repeat 100% 50%;
-}
-.row:hover .delete-entry{
-	background:url(../i/delete-ico-off.png) no-repeat 100% 4px;
-}
-.row:hover .ip-suspended-status{
-	background:url(../i/suspended-ico.png) no-repeat 100% 65%;
-}
-.ip-status-info:hover .ip-status-text,
-.delete-entry:hover .delete-entry-text{
-	visibility:visible;
-}
-.row .ip-status-info:hover{
-	background-image:url(../i/enabled-ico-hover.png);
-}
-.row .delete-entry:hover{
-	background-image:url(../i/delete-ico.png);
-	cursor:pointer;
-}
-.delete-entry:hover .delete-entry-text{
-	color:#333;
-}
-.delete-entry .delete-entry-text:hover{
-	cursor:pointer;
-}
-.delete-entry .delete-entry-text:active{
-	color:#f00;
-}
-.row:hover .show-records,
-.row:hover .hide-records,
-.row:hover .template-box .prop-value,
-.domains-list .row:hover .stats-box .stats-auth-text,
-.domains-list .row:hover .nginx-box .nginx-ext-list{
-	color:#6aa0ac;
-	border-bottom-color:#cacbbd;
-}
-.row:hover .template-box .prop-value:hover,
-.row:hover .show-records:hover,
-.hide-records:hover, 
-.domains-list .row:hover .stats-box .stats-auth-text:hover,
-.domains-list .row:hover .nginx-box .nginx-ext-list:hover{
-	color:#575757;
-	border-bottom-color:#b4c775;
-}
-.row:hover .template-box .prop-value:active,
-.row:hover .show-records:active,
-.hide-records:active, 
-.domains-list .row:hover .stats-box .stats-auth-text:active,
-.domains-list .row:hover .nginx-box .nginx-ext-list:active{
-	color:#b4c775;
-}
-
-/* Checked row
-- - - - - - - - - - - - - - - - - - - */
-.checked-row{
-	background-color:#e4f7bf;
-}
-	.checked-row .row-actions-box .check-control{
-		background-position:0 -46px;
-		background-position:0 -30px;		
-	}
-	
-	.domains-list .checked-row .names .primary, 
-	.dns-list .checked-row .names .primary{
-		border-bottom:1px solid #e4f7bf;
-	}
+/*- - - - - - - - - - - - - - - - - - -
+Title  : Vesta
+Author : Eugen Lobicov, [email protected] 
+
+created : November 27, 2009
+last updated : November 16, 2011
+- - - - - - - - - - - - - - - - - - */
+
+html{
+	font-size:100.01%; /* prevent IE's extreme font-resizing bug*/
+}
+
+body{
+	position:relative;
+	font:normal 62.5%/1.5 Helvetica, Arial, sans-serif; 
+	background:#B2AD9C url(../i/thin-grey-line-4.gif) repeat-x;
+	color:#333;
+}
+#page{
+	width:965px;
+	width:955px;
+	margin:3px auto 0;
+	border:1px solid red;
+	border:solid #807D70;
+	border-width:0 1px;
+}
+.outer{
+	padding-bottom:58px;
+	background:#fff url(../i/footer-bg.gif) repeat-x 0 100%;
+}
+#header{
+	padding:0 1px 0 10px;
+	height:26px;
+	border-bottom:2px solid #333527;
+	background-color:#484439;
+}
+.logo-box{
+	float:left;
+}
+.logo,
+.logo a,
+.logo a span{
+	display:block;
+	width:80px;
+	height:26px;
+}
+.logo a{
+	position:relative;
+	overflow:hidden;
+	font-size:1.2em; /*12px */
+	text-decoration:none;
+	color:#fff;
+	display:block;
+	text-indent:-9999px;
+}
+.logo a span{
+	position:absolute;
+	top:1px;
+	left:0;
+	z-index:1;
+	width:72px;
+	height:24px;
+	background:url(../i/vesta-logo-2011-12-14.png) no-repeat;
+}
+.settings{
+	float:right;
+}
+.settings .settings-item,
+.extra-services .service-item{
+	float:left;
+	display:block;
+	padding:0 10px;
+	font-size:9px;
+	line-height:26px;
+	
+	text-transform:uppercase;
+	letter-spacing:1px;
+}
+.settings .item-title,
+.extra-services .item-title{
+	font-family:Arial, Helvetica, san-serif;	
+	font-size:9px;
+	color:#C0BD00;
+	text-decoration:none;
+	border-bottom:1px dotted #68684B;
+}
+.settings a.item-title:hover{
+	color:#fefda0;
+	text-decoration:none;
+}
+.settings a.item-title:active{
+	color:#E16734;
+	text-decoration:none;
+}
+.settings .logged-as{
+	margin:0;
+}
+.settings .logged-as{
+	position:relative;
+	top:1px;
+	padding-right:5px;
+	font-size:16px;
+	line-height:20px;
+	font-family:Georgia, Cambria, "Times New Roman", Times, serif;
+	font-weight:bold;
+	font-style:italic;
+	color:#fff;
+	text-transform:none;
+	border:none;
+	letter-spacing:normal;
+}
+.settings .logout{
+	float:left;
+	display:block;
+	text-transform:uppercase;
+	letter-spacing:1px;
+	line-height:26px;	
+	}
+	.settings .logout .item-title{
+		display:block;
+		padding:0 10px;
+		font-size:9px;
+		line-height:26px;
+		border:none;
+	}
+	.settings .logout .item-title-inner{
+		border-bottom:1px dotted #68684B;
+	}
+	.logout a.item-title:hover{
+		background-color:#a3b82d;
+		color:#ffffc5;
+		}
+		.logout a.item-title:hover .item-title-inner{
+			border:none;
+		}
+	
+	.logout a.item-title:active{
+		background-color:#ffff66;
+		color:#272700;
+	}
+
+	
+.extra-services{
+	float:right;
+	margin-right:59px;
+}
+.extra-services .service-item{
+	position:relative;
+	padding:0 13px;
+	line-height:26px;
+	letter-spacing:normal;
+}
+.extra-services .item-devider{
+	position:absolute;
+	top:-3px;
+	left:0;
+	width:100%;
+	height:3px;
+}
+.extra-services .item-title{
+	font-family:Arial, Helvetica, san-serif;
+	font-size:10px;
+	font-weight:bold;
+	color:#C0E1F3;
+	border-bottom:1px dotted #7D939F;
+}
+.extra-services .active{
+	cursor:default;
+	background:#333;
+	font-weight:bold;
+	}
+	.extra-services .service-item:hover{
+		cursor:pointer;
+	}
+	.extra-services .service-item:hover .item-title{
+		color:#fffa96;
+		border-bottom-color:#fffa96;
+	}
+	.extra-services .service-item:active{
+		background:#333;
+	}
+	.extra-services .service-item:active .item-title{
+		color:#fff;
+		border:none;
+	}
+	.extra-services .active .item-title{
+		color:#fff997;
+		border:none;
+	}
+	.extra-services .active .item-devider{
+		background:#ff6766;
+	}
+
+/*Remove button padding in FF*/
+input::-moz-focus-inner{ 
+	border: 0;
+	padding: 0;
+}
+.cc:after{
+ 	content: ".";
+    display: block;
+    height: 0;
+    clear: both;
+    visibility: hidden;
+}
+.hidden{
+	display:none !important;
+}
+
+/* Navigation
+- - - - - - - - - - - - - - - - - - - - */
+#primary-nav-box{
+	clear:both;
+	height:115px;
+	background-color:#ecf3d2;
+}
+.primary-nav{}
+
+.primary-nav .section{
+	position:relative;
+	float:left;
+	display:block;
+	padding-right:1px;
+	background:url(../i/nav-devider-2.png) no-repeat 100% 50%;
+}
+.primary-nav .last-section{
+	background:none;
+	padding:0;
+}
+.section .section-inner{
+	width:130px;
+	min-height:100px;
+	height:auto !important;
+	height:100px;
+	padding:15px 0 3px 6px;
+	padding:15px 0 0 6px;
+	}
+.primary-nav .last-section .section-inner{
+	width:133px;
+	width:127px;
+}
+.section .section-title{
+	position:absolute;
+	left:7px;
+	bottom:9px;
+	font-family:Arial, Helvetica, sans-serif;
+	font-size:15px;
+	line-height:1.2;
+	font-weight:bold;
+	text-transform:uppercase;
+	color:#393939;
+	color:#33342e;
+	}
+	.section .section-title .to-section{
+		float:left;
+		margin-right:4px;
+	}
+	.section .section-title .add-entry{
+		position:relative;
+		top:2px;
+		float:left;
+		display:block;
+		width:14px;
+		height:14px;
+		background:url(../i/plus-sprite1.png) no-repeat;
+		font-size:0;
+		line-height:0;
+		}
+		.section .section-title .add-entry:hover{
+			background-position:-14px 0;
+			cursor:pointer;
+		}
+
+.section .section-devider{
+	position:absolute;
+	left:0;
+	bottom:0;
+	z-index:10;
+	/*background:url(../i/section-status-sprite-5.gif) no-repeat -420px 115px;	*/
+	display:block;
+	width:100%;
+	height:3px;
+	background:url(../i/section-status-sprite-6.png) no-repeat -420px 100%;
+}
+		
+.dnstpl-nav-item .section-title{
+	background-position:100% 85%;
+}
+.section .def{
+	display:block;
+	font-family:Arial, Helvetica, sans-serif;
+	font-size:12px;
+	color:#8c9c91;
+}
+.section:hover .section-inner{
+	background-color:#F1F7D6;
+	color:#000;
+	cursor:pointer;
+	}
+	.section:hover .section-devider{
+		background-position:0 100%;	
+	}	
+	.section:hover .section-title{
+		color:#000;
+	}
+.primary-nav .active .section-inner{
+	cursor:default;
+	}
+	.primary-nav .active .section-devider{
+		background-position:-140px 100%;
+		height:5px;
+		bottom:-2px;
+	}
+	.primary-nav .active .def{
+		color:#8c9c91;
+	}
+	.primary-nav .active .section-title{
+		color:#393939;
+	}		
+
+#console{
+	position:relative;
+	clear:both;
+	height:70px;
+	background-color:#a09d98;
+	background:#535049 url(../i/console-box-bg.png) repeat-x;
+	border-bottom:1px solid #7a7967;
+	z-index:1;
+}
+
+.b-console{
+	position:absolute;
+	left:50%;
+}
+
+.b-console-wrap{
+	position:relative;
+	right:50%;
+	width:655px;
+	padding:10px 15px 16px 25px;
+	background:url(../i/console-bg.png) repeat;
+	
+	border-radius: 0 0 5px 5px;
+	-moz-border-radius: 0 0 5px 5px;
+	-webkit-border-top-right-radius: 0;
+	-webkit-border-top-left-radius: 0;
+	-webkit-border-bottom-right-radius: 5px;
+	-webkit-border-bottom-left-radius: 5px;
+}
+	.b-console-form{}
+	
+		.b-console-field{
+			float:left;
+			width:548px;
+			margin-right:15px;
+			padding:5px 10px;
+			border:2px solid #42647f;
+			font-family:Arial, Helvetica, sans-serif;
+			font-size:18px;
+			font-style:italic;
+			font-weight:bold;
+			color:#aaa;
+		}
+		.b-console-field:focus{
+			-moz-box-shadow:0 0 8px rgba(82, 168, 236, 0.5);
+			-webkit-box-shadow:0 0 8px rgba(82, 168, 236, 0.5);
+			border-color:rgba(82, 168, 236, 0.75) !important;
+			color:#333;
+		}	
+		.b-console-btn{
+			float:left;
+			overflow:visible;
+			height:30px;
+			margin:4px 0 0;
+			padding:0 20px;
+			-webkit-border-radius:4px;
+			-moz-border-radius:4px;
+			border-radius:4px;
+			border:0 none;
+			background-color:#fdcd00;
+			color:#4b3600;
+
+			font-size:13px;
+			font-family:Arial, Helvetica, sans-serif;
+			font-weight:bold;
+			line-height:30px;
+			text-transform:uppercase;
+			cursor:pointer;
+	
+			/* a little animation effect on hover for -webkit- */
+			-webkit-transition-property: background;
+			-webkit-transition-duration: 150ms;
+			-webkit-transition-timing-function: ease-in-out; 
+			}
+			.b-console-btn:focus{
+				position:relative;
+				top:1px;
+			}
+			.b-console-btn:hover{
+				background-color:#ffe84c;
+				color:#39351c;
+			}
+			.b-console-btn:active{
+				background-color:#333;
+				color:#fff;
+			}
+
+.b-console-statuses{
+	margin-top:15px;
+}
+	
+	.b-console-status{
+		position:relative;
+		padding:5px 80px 5px 10px;
+		border:2px dashed #999;
+		background-color:#feff99;
+		color:#666;
+		font-size:12px;
+	}
+	.b-console-status-message{
+		float:left;
+		color:#666;
+	}
+	.b-console-status-action{
+		float:right;
+		margin-right:-36px;
+		text-decoration:underline;
+	}
+	.b-console-status-message b{
+		font-weight:bold;
+		color:#333;
+	}	
+	.b-console-status-arrow{
+		position:absolute;
+		top:10px;
+		right:12px;
+		display:block;
+		width:14px;
+		height:8px;
+		background:url(../i/status-arrow.png) no-repeat;
+	}
+	
+
+
+#actions-toolbar{
+	clear:both;
+	position:relative;
+	/*padding:15px 20px 15px 280px;*/
+	padding:15px 20px 15px 250px;
+	background-color:#f3f3d9;
+	border-bottom:1px solid #c9cbc8;
+}
+.add-domain,
+.add-btn{
+	position:relative;
+	top:2px;
+	float:left;
+	/*margin:0 0 0 -260px;*/
+	margin:0 0 0 -230px;
+	border-bottom:1px solid #b5c968;
+	font-family:Georgia, "Times New Roman", Times, serif;
+	font-size:16px;
+	line-height:1;
+	text-transform:uppercase;
+	color:#66685d;
+	text-decoration:none;
+}
+.add-domain .icon,
+.add-btn-icon{
+	float:left;
+	display:block;
+	width:11px;
+	height:11px;
+	margin:4px 5px 0 0;
+	background:url(../i/add-entry-plus.gif) no-repeat;	
+	font-size:0;
+	line-height:0;	
+	}
+	.add-btn:hover{
+		color:#000;
+		border-bottom-color:#b85152;
+	}
+	.add-btn:active{
+		color:#b85152;
+		border-bottom-color:#000;
+	}
+	
+/*
+.select-all{
+	padding:0 40px 0 0;
+	font-size:13px;
+	color:#7f7e6c;
+	text-decoration:underline;
+	cursor:pointer;
+	}
+	.select-all:hover{
+		text-decoration:none;
+	}
+.clear-selected{
+	font-size:11px;
+	line-height:10px;
+	text-transform:uppercase;
+	color:#bcb6a6;
+	cursor:pointer;
+	letter-spacing:0.2px;
+	border-bottom:1px solid #bcb6a6;
+	}
+	.clear-selected:hover{
+		color:#000;
+		border-bottom-color:#b85152;
+	}
+	.clear-selected:active{
+		color:#b85152;
+		border-bottom-color:#000;
+	}
+*/
+.db-manager{
+	float:right;
+	margin:5px 0 0 25px;
+	font-size:11px;
+	line-height:1.273; /*14px*/
+	text-transform:uppercase;
+	letter-spacing:0.2px;	
+	border-bottom:1px solid #bcb6a6;
+	text-decoration:none;
+	color:#9b9b8f;
+	}
+	.db-manager .highlighted{
+		font-style:normal;
+		font-weight:bold;
+		color:#4097b3;
+	}
+	.db-manager:hover{
+		color:#4097b3;
+		border-bottom-color:#b85152;		
+	} 
+	.db-manager:active{
+		color:#b85152;
+		border-bottom-color:#4097b3;
+		}
+		.db-manager:active .highlighted{
+			color:#b85152;		
+		} 
+		
+/* Row filters */
+
+.row-filters{}
+	
+	.b-row-selector{
+		float:left;
+		width:240px;
+	}
+
+	.b-row-selector .checkbox-selector{
+		position:relative;
+		top:4px;
+		margin-right:20px;
+	}
+	.b-row-selector .b-cust-sel{
+		width:100px;
+	}
+	
+.checkbox-selector,
+.context-actions{
+	display:-moz-inline-stack;
+	display: inline-block;
+	zoom: 1;
+	*display: inline;
+	vertical-align:top;
+	}
+	.checkbox-selector .checkbox{
+		display:block;
+		float:left;
+		width:11px;
+		height:11px;
+		margin:2px 5px 0 0;
+		background:url(../i/chekbox-selector.png) no-repeat;
+		cursor:pointer;		
+	}
+	.checkbox-selector .selector-title{
+		float:left;
+		font-size:11px;
+		line-height:15px;
+		text-transform:uppercase;
+		color:#5d5d5d;
+		cursor:pointer;
+		white-space:nowrap;
+	}
+	.checkbox-selector:hover .checkbox{
+		background-position:0 -90px;
+	}
+	.checkbox-selector .selector-title:hover{
+		color:#2ea8bd;	
+	}
+	.checkbox-selector .selector-title:active{
+		color:#fc0;
+	}
+	
+/* Custom select */
+.b-cust-sel{
+	position: relative;
+	font-size: 12px;
+
+	background-color: #fff;
+/*  background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #eeeeee), color-stop(0.5, white));
+  background-image: -webkit-linear-gradient(center bottom, #eeeeee 0%, white 50%);
+  background-image: -moz-linear-gradient(center bottom, #eeeeee 0%, white 50%);
+  background-image: -o-linear-gradient(top, #eeeeee 0%,#ffffff 50%);
+  background-image: -ms-linear-gradient(top, #eeeeee 0%,#ffffff 50%);
+  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#ffffff',GradientType=0 );
+  background-image: linear-gradient(top, #eeeeee 0%,#ffffff 50%);
+
+  -moz-background-clip   : padding;
+  -webkit-background-clip: padding-box;
+  background-clip        : padding-box;
+*/
+
+	box-shadow: inset 1px 1px 4px 0px rgba(0, 0, 0, 0.10);
+	-moz-box-shadow: inset 1px 1px 4px 0px rgba(0, 0, 0, 0.10);
+	-webkit-box-shadow: inset 1px 1px 4px 0px rgba(0, 0, 0, 0.10);
+
+  border: 1px solid #c5c4bf;
+  display: block;
+  white-space: nowrap;
+  position: relative;
+  height: 20px;
+  line-height: 20px;
+  padding: 0 0 0 8px;
+  color: #616161;
+  
+}
+.b-cust-sel .title{
+  margin-right: 26px;
+  display: block;
+  overflow: hidden;
+  white-space: nowrap;
+  -o-text-overflow: ellipsis;
+  -ms-text-overflow: ellipsis;
+  text-overflow: ellipsis;
+}
+.cust-sel-arrow{
+  -moz-background-clip   : padding;
+  -webkit-background-clip: padding-box;
+  background-clip        : padding-box;
+  background: #ccc;
+
+/*  background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #ccc), color-stop(0.6, #eee));
+  background-image: -webkit-linear-gradient(center bottom, #ccc 0%, #eee 60%);
+  background-image: -moz-linear-gradient(center bottom, #ccc 0%, #eee 60%);
+  background-image: -o-linear-gradient(bottom, #ccc 0%, #eee 60%);
+  background-image: -ms-linear-gradient(top, #cccccc 0%,#eeeeee 60%);
+  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cccccc', endColorstr='#eeeeee',GradientType=0 );
+  background-image: linear-gradient(top, #cccccc 0%,#eeeeee 60%);
+*/  
+  
+  background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #fff), color-stop(0.6, #f5f4ef));
+  background-image: -webkit-linear-gradient(center bottom, #fff 0%, #f5f4ef 60%);
+  background-image: -moz-linear-gradient(center bottom, #fff 0%, #f5f4ef 60%);
+  background-image: -o-linear-gradient(bottom, #fff 0%, #f5f4ef 60%);
+  background-image: -ms-linear-gradient(top, #cccccc 0%,#f5f4ef 60%);
+  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cccccc', endColorstr='#f5f4ef',GradientType=0 );
+  background-image: linear-gradient(top, #cccccc 0%,#f5f4ef 60%);
+  
+  border-left: 1px solid #c5c4bf;
+  position: absolute;
+  right: 0;
+  top: 0;
+  display: block;
+  height: 100%;
+  width: 21px;
+}
+.cust-sel-arrow i{
+  display: block;
+  width: 100%;
+  height: 100%;
+  background:url(../i/custom-arrow.png) no-repeat 50% 50%;		
+}
+.b-cust-sel .cust-sel-options{
+	position:absolute;
+	top:21px;
+	left:-1px;
+	width:100%;
+	padding:5px 0 2px;
+	border:solid #C5C4BF;
+	border-width:0 1px 1px;
+	background:#fff;
+	z-index:100;
+	}
+	.b-cust-sel .cust-sel-option{
+		padding:0 0 4px 18px;
+		background:url(../i/cust-option-bullets.png) no-repeat 5px 7px;
+		color:#828282;
+		cursor:pointer;		
+	}
+	.b-cust-sel .cust-sel-option:hover{
+		color:#333;
+	}
+	.b-cust-sel .ico_gray{
+		background-position:5px 7px;
+	}
+	.b-cust-sel .ico_green{
+		background-position:5px -35px;
+	}
+	.b-cust-sel .ico_red{
+		background-position:5px -79px;
+	}
+
+.b-cust-sel_inactive{
+	background:#f3f3d9;
+	box-shadow: none;
+	-moz-box-shadow: none;
+	-webkit-box-shadow: none;
+	}	
+	.b-cust-sel_inactive .cust-sel-arrow{
+		background:#f3f3d9;
+	}
+	.b-cust-sel_inactive .cust-sel-options{
+		display:none;
+	}
+	
+.domain-groups-selector{
+	float:left;	
+	width:270px;
+	padding-top:2px;
+	font-size:11px;
+	line-height:15px;
+	}
+	.domain-groups-selector .selector-wrap{
+		display:-moz-inline-stack;
+		display: inline-block;
+		zoom: 1;
+		*display: inline;
+		vertical-align:top;
+		padding-right:15px;
+		border-bottom:1px solid #d5d6c4;
+		background:url(../i/custom-arrow.png) no-repeat 100% 6px;
+	}
+	.domain-groups-selector .selector-title{
+		padding-right:5px;
+		font-weight:normal;
+		text-transform:uppercase;
+		color:#8b8b8b;	
+	}
+	.domain-groups-selector .selected-groups{
+		color:#5d5d5d;
+	}
+
+#content{
+	padding:8px 0 50px;
+	background:#fff url(../i/content-separator.png) repeat-x;
+}
+.b-ext-info-wrap{
+	position:relative;
+	min-height:40px;
+	}
+	.b-ext-info{
+		margin:0 0 6px;
+		padding:10px 25px 15px;
+		background:#ddd;
+		font-size:12px;
+		color:#000;
+		text-shadow: 0px 1px 1px #fff;
+	}
+	.b-ext-info-btn{
+		position:relative;
+		left:-1px;
+		width:102px;
+		height:15px;
+		margin-left:-50px;
+		margin:-6px auto 0;
+		background-color:#fff;
+		cursor:pointer;
+		}
+		.b-ext-info-wrap_collapsed .b-ext-info-btn{
+			background:url(../i/more-info-btn.png) no-repeat;		
+		}
+.content-inner{
+	background-color:#fff;
+	padding:0 15px 15px;
+}
+/*
+.domains{
+	border-bottom:1px solid #333;
+	background-color:#fff;
+}
+.domains .item{
+	position:relative;
+	padding:0 20px;
+	background:url(../i/long-dotted-bg.gif) repeat-x;
+}
+.domains .first{
+	margin:0;
+	background:none;
+}
+.item .view{
+	padding:15px 0 10px;
+}
+.item .ip-box{
+	float:left;
+	width:150px;
+	padding-top:12px;
+}
+.ip-box .ip{
+	font-size:1.1em; /*11px*
+	line-height:21px;
+	font-weight:normal;
+	letter-spacing:.175em;
+}
+.ip-box .owner{
+	display:block;
+	font-size:1.2em;
+	color:#999;
+}
+.details .names .primary{ 
+	font-size:20px;
+	font-family:Georgia, "Times New Roman", Times, serif;
+	font-weight:normal;	
+	font-style:normal;
+	color:#000; /* radikal'no cherniy, da! *
+}
+.names .divider{
+	font-size:12px;
+	line-height:2;
+	text-transform:uppercase;
+	color:#999;
+}
+.names .domain-name{
+	padding:0 10px;
+	font-size:12px;	
+	line-height:2;
+	font-style:italic;
+	color:#999;	
+	white-space:nowrap;
+}
+.item .details{
+	margin-left:150px;
+}
+.item .details .status{
+	float:right;
+	width:60%;
+	margin:5px 20px 0 0;
+	color:#999;
+}
+.details .status .logging{
+	float:left;
+}
+.logging .err-log,
+.logging .log,
+.logging .stats{
+	float:left;
+	display:inline;
+	margin:0 20px 0 0;
+	padding-right:25px;
+	background:url(../i/logging-status-sprite.png) no-repeat -100% -100%;
+}
+.logging .off{
+	background-position:100% 0;
+}
+.logging .on{
+	background-position:100% 100%;
+}
+.logging .stats{
+	margin-right:10px;
+}
+.logging .stat-auth{
+	float:left;
+	display:inline;
+	margin:0 10px 0 0;
+	border-bottom:1px solid #9bcad0;
+	color:#999;
+	cursor:pointer;
+}
+.details .status .params{
+	float:right;
+}
+.params .memory,
+.params .t,
+.params .max-weight,
+.params .upload-weight{
+	float:left;
+	display:inline;
+	margin-right:25px;
+}
+.memory{}
+
+.memory dl{
+	overflow:hidden;
+	margin-bottom:2px;
+}
+
+.memory dt{
+	float:left;
+	width:15px;
+}
+.memory dd{
+	float:left;
+}
+.memory .usage{}
+
+.memory .usage .value{
+	float:left;
+	width:30px;
+}
+.memory .usage .divider{
+	padding-right:2px;
+}
+.memory .usage .max{
+	font-weight:bold;
+	border-bottom:1px solid #9bcad0;
+	cursor:pointer;
+}
+.memory .graph{
+	clear:both;
+	position:relative;
+	border:1px solid #ccc;
+	font-size:0;
+	line-height:0;
+}
+.memory .graph .bar{
+	position:relative;
+	display:block;
+	height:2px;
+}
+.critical .bar{
+	background-color:#f00;
+}
+.middle .bar{
+	background-color:#ff9934;
+}
+.low .bar{
+	background-color:#acd45a;
+}
+.params .upload-weight{
+	margin:0;
+}
+.t .value,
+.max-weight .value,
+.upload-weight .value{
+	border-bottom:1px solid #9bcad0;
+	cursor:pointer;
+}
+.item .close{
+	position:absolute;
+	top:30px;
+	right:20px;
+	display:block;
+	width:16px;
+	height:16px;
+	background:url(../i/sprite.png) no-repeat;
+	cursor:pointer;
+}
+.item .close:hover{
+	background-position:-16px 0;
+}
+*/
+/* row hover effect
+- - - - - - - - - - - - - - - - - - - */
+/*
+.domains .item:hover{
+	background-color:#ffffcb;
+}
+.item:hover .names .primary{
+	cursor:pointer;
+	border-bottom:1px dotted #ccc;
+}
+.item:hover .logging .err-log,
+.item:hover .logging .log,
+.item:hover .logging .stats,
+.item:hover .memory dt,
+.item:hover .memory .divider,
+.item:hover .params .title{
+	color:#98bc65;	
+}
+.item:hover .logging .stat-auth,
+.item:hover .memory .max,
+.item:hover .t .value,
+.item:hover .max-weight .value,
+.item:hover .upload-weight .value{
+	color:#333;
+}
+*/
+/* Edit
+- - - - - - - - - - - - - - - - - - - */
+/*
+.edit{
+	position:relative;
+	clear:both;
+	margin:0 -20px;
+	padding:15px 20px 10px;
+	border-top:2px solid #999;
+	background-color:#ffffcb;
+}
+.change-ip-box{
+	margin:0 0 20px;
+}
+.edit .ip-details{
+	float:left;
+	margin-right:20px;	
+}
+.change-ip{
+	width:140px;
+	padding:3px 5px;
+	border:2px solid #9bcad0;
+	font-size:16px;
+} 
+.ip-details .created{
+	display:block;
+	margin:5px 0 0;
+	font-size:12px;	
+}
+.change-domain-name{
+	width:360px;	
+	padding:3px 5px;
+	border:2px solid #9bcad0;
+	font-size:16px;
+	font-weight:bold;
+}
+.edit .domain-name{
+	font-size:20px;
+	font-family:Georgia, "Times New Roman", Times, serif;
+	font-weight:normal;	
+	font-style:normal;
+	color:#000; /* radikal'no cherniy, da! *
+	white-space:nowrap;
+	line-height:2;
+}
+.change-logs-box{
+	float:left;
+	width:170px;
+	margin-right:50px;
+	padding-left:180px;
+}
+.ownership{
+	display:inline;
+	float:left;
+	width:160px;
+	margin:0 0 0 -180px;
+	font-size:12px;
+}
+.ownership .owner{
+	display:block;
+	font-size:16px;
+	font-weight:bold;
+	font-style:italic;
+}
+.change-logs{
+	padding-top:5px;
+}
+.change-logs label{
+	display:block;
+	margin:0 0 9px;
+}
+.change-logs .last{
+	margin:0;
+}
+.change-logs .title{
+	display:block;
+	float:left;
+	width:70px;
+	font-size:14px;
+}
+.change-logs .title b{
+	font-weight:bold;
+}
+.change-logs .checkbox{
+	margin:3px 0 0;
+	border:2px solid #9bcad0;
+}
+.change-logs .stat-auth{
+	position:relative;
+	top:-3px;
+	left:10px;
+	border-bottom:1px solid #9BCAD0;
+	cursor:pointer;
+}
+.change-memory{
+	float:left;
+	width:150px;
+	padding-top:5px;
+	font-size:14px;
+}
+.change-memory dl{
+	margin-bottom:13px;
+}
+.change-memory .value{
+	padding:0 5px;
+	font-style:italic;
+	font-weight:bold;
+	color:#6b930f;
+}
+.change-memory .amount{
+	margin-top:7px;
+}
+.change-memory .amount .max{
+	width:50px;
+	margin-left:10px;
+	padding:2px 5px;
+	border:2px solid #9bcad0;
+	text-align:right;
+}
+.change-memory .graph{
+	clear:both;
+	position:relative;
+	border:1px solid #9c9c82;
+	font-size:0;
+	line-height:0;
+}
+.change-memory .graph .bar{
+	position:relative;
+	display:block;
+	height:2px;
+}
+.change-params{
+	float:right;
+	font-size:14px;
+}
+.change-params li{
+	margin-top:5px;
+	overflow:hidden;
+}
+.change-params .title{
+	float:left;
+	width:165px;
+}
+.change-params .param-value{
+	width:30px;
+	margin-right:5px;
+	padding:1px 5px;
+	border:2px solid #9bcad0;
+	text-align:right;
+
+}
+.aliases{
+	position:relative;
+	padding-top:20px;
+	margin-bottom:20px;
+}
+.aliases .title{
+	float:left;
+	display:block;
+	margin-right:20px;
+	padding-top:3px;
+	font-size:17px;
+}
+.aliases .hint{
+	position:absolute;
+	top:-15px;
+	left:78px;
+	font-style:italic;
+	color:#999;
+}
+.aliases-list{
+	width:90%;
+	padding:3px 5px;
+	border:2px solid #9bcad0;
+	font-size:16px;
+}
+.buttons{}
+
+.buttons .apply{
+    width:auto;
+    overflow:visible;
+    padding:4px 20px 3px 17px;
+	background-color:#feff99;
+    border:1px solid #728b25;
+
+	font-family:"Lucida Grande", Tahoma, Arial, Verdana, sans-serif;
+    font-size:120%;
+    font-weight:bold;
+	text-transform:uppercase;
+
+    line-height:130%;
+    color:#6b9e05;
+	cursor:pointer;
+	
+	float:right;
+}
+.buttons .devider{
+	text-transform:uppercase;
+	float:right;
+	display:block;
+	line-height:24px;
+	margin:0 10px;
+}
+.buttons .cancel{
+	float:right;
+	width:auto;
+	height:20px;
+	padding:0;
+	border:0 none;
+	background:none;
+	color:#e09462;
+	text-decoration:underline;
+	cursor:pointer;
+}
+.hidden{
+	display:none;
+}
+.edit .iSelected{ /* descendant selector for more specific style context *
+	border-color:#59B4FF; /* blue border on focused input *
+	font-weight:bold;
+}
+.edit .not-valid{ /* descendant selector for more specific style context *
+	border-color:#f00; /* RED border on error field *
+}
+
+.edit .edit-help{
+	padding-bottom:1px;
+	font-family:Arial, Helvetica, sans-serif;
+	font-size:14px;
+	color:#a0a094;
+	text-decoration:none;
+	text-transform:uppercase;
+	border-bottom:1px solid #b5b59b;
+}
+.edit .delete{
+	position:absolute;
+	top:15px;
+	right:25px;
+	padding:3px 25px 3px 2px;
+	font-family:Arial, Helvetica, sans-serif;
+	font-size:14px;
+	color:#a0a094;
+	text-transform:uppercase;
+	background:url(../i/delete.gif) no-repeat 100% 50%;
+	cursor:pointer;
+}
+.edit .delete .title{
+	padding-bottom:1px;
+	border-bottom:1px solid #b5b59b;
+}
+*/
+
+/* IP list 
+- - - - - - - - - - - - - - - - - - - - */
+#content{
+	padding-bottom:0;
+}
+.ip-list{}
+
+	.row{
+		padding:6px 10px 26px 10px;
+/*		min-height:125px;
+		min-height:110px;*/		
+		background:url(../i/long-dotted-bg.gif) repeat-x;
+	}
+	.first-row{
+		padding-top:11px;
+		background-image:none;
+	}
+		.row-meta{
+			float:left;
+			width:150px;
+		}
+		.row-details{
+			margin-left:150px;
+/*			background:#e0e0e0;*/
+		}
+		.row-actions-box{}
+		
+		.row-actions-box .check-this,
+		.row-actions-box .check-control{
+			float:left;
+			width:10px;
+			height:10px;
+			margin-top:4px;
+/*			background:url(../i/logging-status-sprite.png) no-repeat;
+			background:url(../i/check-row-sprite.png) no-repeat;*/
+			background:url(../i/check-row-sprite_.png) no-repeat;
+		}
+		.row-actions-box .check-control:hover{
+			cursor:pointer;
+			background-position:0 -89px;
+		}		
+		.row-actions-box .row-operations{
+			float:right;
+		}
+		.ip-status-info{
+			position:relative;
+			display:block;
+			float:left;
+			/*margin-right:25px;*/
+			padding-right:15px;
+			font-size:12px;
+			}
+			.ip-status-info .ip-status-text{
+				visibility:hidden;
+			}
+			.row .ip-suspended-status{
+				margin:0;
+				background:url(../i/suspended-ico.png) no-repeat 100% 65%;
+				}
+				.row .ip-suspended-status .ip-status-text{
+					text-transform:uppercase;
+					color:#333;
+					font-size:10px;
+					visibility:visible;
+				}
+		.delete-entry{
+			position:relative;
+			top:2px;
+			display:block;
+			float:left;
+			padding-right:15px;
+			font-size:11px;
+			text-transform:uppercase;			
+			}
+			.delete-entry .delete-entry-text{
+				visibility:hidden;
+			}
+		.entry-created{
+			padding-top:7px;
+			font-size:11px;
+			color:#6f6f6f;
+		}
+		.props-main{
+			float:left;
+			width:425px;
+/*			background:#eee;*/
+			}
+			.props-main .prop-box{
+				margin-bottom:15px;
+			}
+
+		.props-additional{
+			float:left;
+			width:200px;
+			padding:5px 10px 0 0;
+/*			background:#ccc;*/
+		}
+		.props-ext{
+			float:right;
+			width:120px;
+			padding-top:5px;
+/*			background:#d5d5d5;*/
+		}
+		.ip-adr-box,
+		.user-wrap{
+			margin:0 0 5px;			
+		}
+		.ip-adr{
+			display:-moz-inline-stack;
+			display:inline-block;
+			vertical-align:top;
+
+			font-size:22px;
+			line-height:1;
+			font-weight:normal;
+			letter-spacing:0.5px;
+		}
+		.ip-adr:active,
+		.ip-adr:focus{
+			color:#9fb749;
+		}
+		.ip-adr .dot{
+			padding:0 3px;
+		}
+		.ip-list .ip-adr{
+			border-bottom:1px solid #fff;
+		}
+		.username-box .user{
+			display:-moz-inline-stack;
+			display:inline-block;
+			vertical-align:top;
+
+			margin-right:10px;
+			}
+			.username-box .nickname{
+				display:-moz-inline-stack;
+				display:inline-block;
+				vertical-align:top;
+				margin-right:5px;
+				
+				font-size:20px;
+				line-height:25px;
+				font-family:Arial, Helvetica, sans-serif;
+				color:#000;
+
+			}
+			.username-box .role{
+				display:-moz-inline-stack;
+				display:inline-block;
+				vertical-align:top;
+
+				position:relative;
+				top:2px;
+				
+				font-size:12px;
+				line-height:25px;
+				color:#777;
+			}
+
+		.prop-box{
+			display:-moz-inline-stack;
+			display:inline-block;
+			vertical-align:top;
+
+			min-width:40%;
+/*			width:auto !important;
+			width:40%;*/
+			margin:0 0 3px;
+			font-size:10px;
+			}
+			.prop-title{
+				text-transform:uppercase;
+				color:#9c9c9c;
+				font-size:9px;
+				line-height:15px;
+			}
+			.prop-value{
+				padding-left:3px;
+				font-size:12px;
+				color:#777;
+			}
+			.prop-value-collapsed-childs{
+				padding-right:15px;
+				background:url(../i/group-values-collapsed.png) no-repeat 100% 5px;
+				cursor:pointer;
+			}
+			.show-records{
+				display:inline-block;
+				padding-right:15px;
+				border-bottom:1px solid #c9cabc;
+				background:url(../i/show-records-ico.png) no-repeat 100% 50%;
+				text-transform:uppercase;
+				line-height:13px;
+				cursor:pointer;
+			}
+			.hide-records{
+				display:inline-block;
+				padding-right:15px;
+				border-bottom:1px solid #c9cabc;
+				background:url(../i/hide-records-ico.png) no-repeat 100% 50%;
+				text-transform:uppercase;
+				line-height:13px;
+				cursor:pointer;				
+			}
+
+			.prop-box_group-values{
+				display:block;
+				}
+				.prop-box_group-values .prop-title{
+					float: left;
+					margin:2px 0 0;
+				}
+				.prop-box_group-values .group-values{
+					float:left;
+					margin-left:3px;
+				}
+				.group-values .prop-value{
+					display:block;
+				}
+				.group-values__bullet .prop-value{
+					padding-left:15px;
+					background:url(../i/group-value-bullet.png) no-repeat 5px 8px;
+				}
+				.group-values .group-switcher{
+					padding-right:15px;
+					background:url(../i/group-values-collapsed.png) no-repeat 100% 4px;
+				}
+				.group-values .group-values-count{
+					font-size:12px;
+					font-style:italic;
+					color:#cdcdcd;
+					border-bottom:1px solid #c9cac4;
+					cursor:pointer;
+				}
+			
+		.props-additional .owner-box{
+			padding-left:45px;
+			}
+			.props-additional .owner-box .prop-title{
+				float:left;
+				display:inline;
+				margin:2px 0 0 -45px;
+			}
+			.props-additional .owner-box .prop-value{
+				padding:0;
+			}			
+
+		.ip-list .row{
+			padding-bottom:24px;
+		}
+		.ip-list .row-details{
+			padding-top:9px;
+		}
+		.ip-list .entry-created{
+			padding-top:16px;
+		} 
+		.ip-list .ip-name-box{
+			margin:0;
+		}
+		
+		
+/* Entry adding form
+- - - - - - - - - - - - - - - - - - - */
+.b-new-entry{
+	margin-top:25px;
+	border-style:solid;
+	border-width:2px 1px 1px;
+	border-color:#999 #ccc #ccc #ccc;
+	
+	background-color:#ffffcb;
+	}
+	.b-new-entry .entry-header{
+		margin:0 0 10px;
+		padding:8px 15px 9px;
+		border-bottom:1px solid #dcdbab;
+		font-size:16px;
+		font-family:Georgia, "Times New Roman", Times, serif;
+		text-transform:uppercase;
+		color:#747668;
+	}
+	.b-new-entry .form-row{
+		position:relative;
+		padding:10px 15px;
+	}
+	.b-new-entry .field-label,
+	.b-new-entry .row-header{
+		float:left;
+		width:180px;
+		font-size:15px;
+		line-height:2;
+		color:#3d504a;
+	}
+	.b-new-entry .text-field{
+		float:left;
+		width:265px;
+		margin:0 15px 0 0;
+		padding:6px 7px;
+		border:2px solid #b8c2c3;
+		background:#fff;
+		color:#555;
+		font-family:Arial, Helvetica, sans-serif;
+		font-size:14px;
+		font-weight:bold;
+	}
+	/* for highlighting required fields */
+	.b-new-entry .rule-required{
+	}
+	/* for highlighting disabled fields */
+	.b-new-entry .disabled{
+		border-color:#FFFFCB;
+		background:#FFFFCB;
+	}
+	.b-new-entry .mandatory{
+		padding-right:5px;
+		background:url(../i/asterisk2.png) no-repeat 100% 2px;
+	}
+	
+	.b-new-entry .field-label .remark{
+		position:relative;
+		top:-14px;
+		display:block;
+		font-style:italic;
+		font-size:14px;
+		color:#a3a590;
+	}
+	
+	.b-new-entry .custom-select{}
+	
+	.b-new-entry .textarea{
+		width:685px;
+		height:100px;
+		padding:6px 7px;
+		border:2px solid #b8c2c3;
+		background:#fff;
+		color:#555;
+		font-family:Arial, Helvetica, sans-serif;
+		font-size:14px;
+		font-weight:bold;
+	}
+	.b-new-entry .text-field:focus,
+	.b-new-entry .textarea:focus{
+		-moz-box-shadow:0 0 8px rgba(82, 168, 236, 0.5);
+		-webkit-box-shadow:0 0 8px rgba(82, 168, 236, 0.5);
+		border-color:rgba(82, 168, 236, 0.75) !important;
+		color:#333;
+	}	
+		
+	.b-new-entry .ssl-crtfct-box .textarea{
+		margin:10px 0 0;
+	}	
+	.b-new-entry .select{
+		position: absolute;
+		top:auto;
+		left:195px;
+		width: 195px;
+		height: 28px;
+		padding: 0 24px 0 8px;
+		color: #333;
+		font:bold 14px/28px arial,sans-serif;
+		background:#fff url(../i/select-arrow-2011-12-18.png) no-repeat 100% 50%;
+		overflow: hidden;
+		border:2px solid #b8c2c3;
+	}
+	.b-new-entry select.styled{
+		top:10px;
+	}
+	.b-new-entry option{
+		font:14px arial,sans-serif;
+	}
+	.b-new-entry .form-options-group{}
+	
+	.b-new-entry .group-header{
+		margin:12px 25px 12px 15px;
+		text-transform:uppercase;
+		color:#9c9c9c;
+		font-size:11px;
+		line-height:15px;
+		height:16px;
+		background:url(../i/dotted.gif) repeat-x 0 50%;
+		}
+		.b-new-entry .group-title-outer{
+			display:inline-block;
+			width:165px;
+			padding:0 15px 0 0;
+			line-height:16px;
+			text-align:right;			
+			background:#ffffcb;
+		}
+		.b-new-entry .group-title-inner{
+			padding:2px 13px 2px 0;
+		}
+		.b-new-entry .group-title{
+			border-bottom:1px solid #FFFFCB;		
+		}
+		.b-new-entry .expanded .group-title-inner{
+			background:#ffffcb url(../i/form-group-expanded.png) no-repeat 100% 50%;
+		}
+		.b-new-entry .collapsed .group-title-inner{
+			background:#ffffcb url(../i/form-group-collapsed.png) no-repeat 100% 50%;		
+		}		
+		.b-new-entry .group-header:hover{
+			cursor:pointer;		
+		}
+		.b-new-entry .group-header:hover .group-title,
+		.b-new-entry .group-header .group-title:hover{
+			color:#000;
+			border-bottom-color:#9fb35a;
+		}
+		.b-new-entry .group-header .group-title:active{
+			color:#4B9427;
+		}
+		
+		.b-new-entry .mail-options-group{
+			margin-bottom:27px;
+			}
+			.b-new-entry .mail-options-group .form-row{
+				padding-bottom:0;
+			}
+		
+	.b-new-entry .delete-record{
+		display: block;
+		position:relative;
+		top:11px;
+		float: left;
+		width: 11px;		
+		height: 11px;
+		background: url(../i/delete-ico-off.png) no-repeat;
+		}
+		.b-new-entry .delete-record:hover{
+			cursor:pointer;
+			background-image:url(../i/delete-ico.png);
+		}
+		.b-new-entry .delete-record:active{
+			cursor:pointer;
+			background-image:url(../i/delete-ico-active.png);
+		}
+		
+	
+	.b-new-entry .checkbox{
+		display:block;
+		float:left;
+		width:18px;
+		height:18px;
+		margin:6px 0 0;
+		/*background:url(../i/checkbox-1.png) no-repeat;*/
+		background:url(../i/form-checkboxes.png) no-repeat;
+	}
+	.b-new-entry .checkbox:hover{
+		background-position:0 -100px;
+	}	
+	.b-new-entry .stats-settings{
+		padding-left:40px;
+	}
+	.b-new-entry .db-credentials .field-label{
+		text-indent:40px;
+	}
+	/*.b-new-entry .pwd-box .text-field{
+		float:left;
+		margin:0 15px 0 0;
+	}*/
+	.b-new-entry_user .lastname-box{
+		margin-bottom:30px;
+	}
+	.b-new-entry_dns .dns-template-box .styled{
+		float:left;
+		margin:0 40px 0 0;
+		margin:0 20px 0 0;		
+		width:230px;
+		cursor:pointer;
+	}
+	.b-new-entry_dns .ttl-field{
+		width:75px;
+	}
+	.generate-pwd,
+	.context-settings{
+		position:relative;
+		top:10px;
+		float:left;
+		display:block;
+		color:#5ea2a1;
+		border-bottom:1px solid #cdcea6;
+		text-transform:uppercase;
+		cursor:pointer;
+		
+		font-size:11px;
+		line-height:1;
+		letter-spacing:0.5px;
+	}
+	.generate-pwd:hover,
+	.context-settings:hover{
+		color:#575757;
+		border-bottom-color:#b4c775;
+	}
+	.generate-pwd:active,
+	.context-settings:active{
+		color:#b4c775;	
+	}
+
+	.b-new-entry .add-ns{
+		display:-moz-inline-stack;
+		display: inline-block;
+		zoom: 1;
+		*display: inline;
+
+		margin:0 0 7px 180px;
+		font-family:Georgia, "Times New Roman", Times, serif;
+		font-size:14px;
+		line-height:1;
+		text-transform:uppercase;
+		color:#66685d;
+		text-decoration:none;
+		}
+		.add-ns .icon{
+			float:left;
+			display:block;
+			width:11px;
+			height:11px;
+			margin:2px 5px 0 0;
+			background:url(../i/add-entry-plus.gif) no-repeat;	
+			font-size:0;
+			line-height:0;	
+		}
+		.add-ns .btn-title{
+			display:inline-block;
+			border-bottom:1px solid #b5c968;
+			}		
+			.add-ns .btn-title:hover{
+				color:#000;
+				border-bottom-color:#b85152;
+			}
+			.add-ns .btn-title:active{
+				color:#b85152;
+				border-bottom-color:#000;
+			}
+	
+	
+	.b-new-entry .buttons-row{
+		position:relative;
+		margin-top:13px;
+		padding:8px 15px 8px 195px;
+		border-top:1px solid #dcdbad;
+		background:url(../i/form-bottom-bg.png) repeat-x;
+	}
+/*	.b-new-entry .help-btn{
+		position:absolute;
+		top:13px;
+		right:20px;		
+		font-size:11px;
+		line-height:12px;
+		color:#b4b39f;
+		text-transform:uppercase;
+		cursor:pointer;
+		border-bottom:1px solid #b4b39f;
+		text-decoration:none;
+		}
+		.b-new-entry .help-btn:hover{
+			color:#000;
+			border-bottom-color:#9fb35a;
+		}
+		.b-new-entry .help-btn:active{
+			color:#4B9427;
+		}
+*/
+
+	.b-new-entry .cancel-btn{
+
+		display:-moz-inline-stack;
+		display: inline-block;
+		zoom: 1;
+		*display: inline;
+		
+		margin-left:30px;
+		font-size:12px;
+		line-height:1;
+		font-weight:bold;
+		
+		text-transform:uppercase;
+		color:#2ca9bd;
+		cursor:pointer;
+		border-bottom:1px solid #2ca9bd;
+		}
+		.b-new-entry .cancel-btn:hover{
+			color:#999;
+			border-bottom-color:#999;
+		}
+		.b-new-entry .cancel-btn:active{		
+			color:#fc0;
+			border-bottom-color:#fc0;
+		}
+		
+	.b-new-entry .delete-btn{
+		position:absolute;
+		top:15px;
+		right:16px;
+		
+		font-size:12px;
+		line-height:14px;
+		text-transform:uppercase;
+		color:#333;
+		letter-spacing:2px;
+		cursor:pointer;
+		border-bottom:1px solid #ff6766;
+		}
+		.b-new-entry .delete-btn:hover{
+			color:#ff6766;
+		}
+		.b-new-entry .delete-btn:active{		
+			color:#fc0;
+			border-bottom-color:#fc0;
+		}
+
+		
+	.b-new-entry .add-entry-btn{
+		overflow:visible;
+		height:28px;
+		padding:0 50px;
+		-webkit-border-radius:9px;
+		-moz-border-radius:9px;
+		border-radius:9px;
+		border:2px solid #c8c09c;
+		background-color:#feff99;
+		color:#444428;
+		font-size:14px;
+		font-family:Arial, Helvetica, sans-serif;
+		font-weight:bold;
+		line-height:25px;
+		text-transform:uppercase;
+		cursor:pointer;
+		}
+		.b-new-entry .add-entry-btn:focus{
+			position:relative;
+			top:1px;
+		}
+		.b-new-entry .add-entry-btn:hover{
+			background-color:#feff77;
+			color:#464322;
+			border-color:#9e977b;
+		}
+		.b-new-entry .add-entry-btn:active{
+			background-color:#928d7a;
+			color:#fefe9e;
+			border-color:#87826e;
+		}
+		.b-new-entry .autocomplete-box{
+			position:relative;
+			float:left;
+			padding-right:35px;
+			background:#fff;
+			}
+			.b-new-entry .autocomplete-box .text-field{
+				width:213px;
+				margin:0;
+			}
+			.b-new-entry .autocomplete-box .arrow{
+				position:absolute;
+				top:0;
+				right:0;
+				display:block;
+				width:32px;
+				height:32px;
+				font-size:0;
+				line-height:0;
+/*				background:#fff url(../i/select-arrow.png) no-repeat 100% 50%;*/
+				background:#fff url(../i/autocomplete-field-arrows-sprite.png) no-repeat;
+				cursor:pointer;
+			}
+			.b-new-entry .autocomplete-box .arrow:hover,
+			.b-new-entry .autocomplete-box .arrow:active,
+			.b-new-entry .autocomplete-box .arrow:focus{
+				background-position:0 -32px;
+			}
+		.b-new-entry .disabled-box,
+		.b-new-entry .disabled-box .text-field{
+			background:#FFFFCB;
+			border-color:#FFFFCB;
+			}
+			.b-new-entry .disabled-box .arrow{
+				display:none;
+			}
+		
+		.b-new-entry .form-error{
+			position:relative;
+			margin:-5px 5px 5px;
+			padding:8px 15px;
+			border:1px solid #dcdbad;
+			background:url(../i/form-bottom-bg.png) repeat-x;
+			}
+			.form-error .error-box{
+				padding-left:18px;
+				background:url(../i/error-bullet.png) no-repeat 0 50%;
+			}
+			.form-error .error-box .error-message{
+				color:#9a32ff;
+				font-size:16px;
+				line-height:22px;
+			}
+			.form-error .error-box .help-tip-url{
+				position:relative;
+				top:-1px;
+				font-size:12px;
+				line-height:15px;
+				color:#b4b39f;
+				text-transform:uppercase;
+				text-decoration:none;
+				cursor:pointer;
+				border-bottom:1px solid #b4b39f;
+				}
+				.b-new-entry .help-tip-url:hover{
+					color:#000;
+					border-bottom-color:#9fb35a;
+				}
+
+	.b-new-entry_cron{}
+	
+	.b-new-entry_cron .form-row{
+		padding-top:7px;
+		padding-bottom:5px;		
+	}
+	.b-new-entry_cron .run-at-box{
+		padding-bottom:7px;
+	}
+	.b-new-entry_cron .run-at-box .row-header{
+		margin-top:35px;
+	}
+	.b-new-entry_cron .form-row-line .field-box{
+		margin-right:14px;
+	}
+	.b-new-entry_cron .form-row-line .cron-week-box{
+		margin:0;
+	}	
+	.b-new-entry_cron .form-row-line .field-label{
+		display:block;
+		float:none;
+		width:auto;
+		line-height:1;
+		padding:0 0 8px;
+		color:#7d7d7d;
+
+		font-size:13px;
+	}
+	.b-new-entry_cron .form-row-line .text-field{
+		width:112px;
+		margin:0;
+	}
+	.b-new-entry_cron .form-row-line .cron-week-box	.text-field{
+		width:109px;
+		margin:0;		
+	}
+	.b-new-entry_cron .textarea{
+		height:60px;
+	}
+
+
+	.b-new-detailed-restore{}
+	
+	.b-new-detailed-restore .add-entry-btn{
+		padding:0 30px;
+	}
+/*	
+	.b-new-detailed-restore .cancel-btn{
+		left:auto;
+		right:16px;
+	}
+*/
+	
+/* Show/edit dns records form
+- - - - - - - - - - - - - - - - - - - */
+.b-records-list{
+	margin-left:160px;
+	}
+	.b-records-list .entry-header{
+		padding-top:6px;
+		padding-bottom:11px;	
+		} 
+		.b-records-list .hide-records{
+			font-size:10px;
+			font-family:Arial, Helvetica, sans-serif;
+			line-height:13px;
+		}
+	.b-records-list .add-btn{
+		margin:0;
+		float:none;
+	}
+	.b-records-list .form-row{
+		padding-top:5px;
+		padding-bottom:5px;
+	}
+	.b-records-list .add-box{
+		padding-bottom:15px;
+	}
+	.b-records-list .buttons-row{
+		margin-top:20px;
+	}
+	.form-row-line{
+		position:relative;
+	}
+	.form-row-line .field-box{
+		float:left;
+	}
+	.form-row-line .field-devider{
+		float:left;
+		display:block;
+		min-height:30px;
+		margin:0 15px;
+		font-size:15px;
+		line-height:2;
+	}
+	.b-records-list .form-row-line .field-label{
+		float:none;
+		display:block;
+		width:auto;
+		line-height:20px;
+	}
+	.b-records-list .dns-record-box .text-field{
+		width:147px;
+		float:left;
+		margin:0;
+	}
+	.b-records-list .dns-type-box{
+		margin-right:15px;
+	} 
+	.b-records-list .dns-type-box .select{
+		width:51px;
+		left:221px;
+	}
+	.b-records-list .dns-type-box select.styled{
+		width:87px;
+		cursor:pointer;
+	}
+	.b-records-list .dns-value-box .text-field{
+		float:none;
+		width:390px;
+		margin:0;
+	}	
+	.b-records-list .delete-record{
+		position:absolute;
+		top: auto;
+		bottom:15px;
+		right:11px;
+		display:block;
+		float:left;
+		width:11px;
+		height:11px;
+		background:url(../i/delete-ico-off.png) no-repeat;
+	}
+
+
+/* Web-domains list
+- - - - - - - - - - - - - - - - - - - */
+.domains-list{}
+	
+	.domains-list .entry-created{
+		padding-top:9px;
+	}
+	.names{
+		margin:0 0 6px;
+		color:#acacac;
+		}
+		.names .alias-title{
+			position:relative;
+			top:-1px;
+			padding-right:3px;
+			padding:0 3px 0 25px;
+			font-size:11px;
+			line-height:18px;
+			text-transform:uppercase;
+		}
+		.names .domain-name{
+			position:relative;
+			top:-1px;
+			padding:0 3px 0 0;
+			font-size:12px;	
+			line-height:1.5;
+			color:#acacac;	
+			white-space:nowrap;
+		}
+		.row-details .names .primary{ 
+			top:0;
+/*			padding:0 25px 0 0;*/
+			font-size:20px;
+			font-family:Arial, Helvetica, sans-serif;
+			font-weight:normal;	
+			font-style:normal;
+			color:#000; /* radikal'no cherniy, da! */
+		}
+		.names .primary:active{
+			color:#9fb749;			
+		}
+		.domains-list .names .primary,
+		.dns-list .names .primary{
+			border-bottom:1px solid #fff;
+		}
+		
+	.domains-list .props-main{
+		width:345px;
+		}	
+		.domains-list .ip-adr{
+			font-size:16px;
+			color:#888;
+		}
+		.domains-list .ip-adr-box .prop-box{
+			margin-left:20px;
+			}
+
+	.domains-list .props-additional{
+		width:230px;
+		padding-top:0;
+/*		background:#bbb;*/
+	}
+	.domains-list .props-ext{
+		width:170px;
+		padding-top:0;
+/*		background:#ddd;*/
+	}
+	
+.b-usage-box{
+	display:block;
+}
+
+	.b-usage-box .prop-title{
+		float:left;
+		margin:2px 15px 0 0;
+	}
+	.b-usage-box .usage-box{
+		float:left;
+		width:136px;
+	}
+	.b-usage-box .usage-box{
+
+	}
+	.b-usage-box .value-box{
+		float:left;
+		width:75px;
+	}
+	.b-usage-box .max-size{
+		float:right;
+	}
+	.b-usage-box .value{
+		display:block;
+		font-size:11px;
+		line-height:1;
+		color:#999;
+	}
+	.b-usage-box .max-size{
+		position:relative;
+		top:2px;
+		font-size:14px;
+		line-height:1;
+		color:#ababab;
+	}
+	.b-usage-box .max-size .units{
+		font-size:12px;
+		color:#797979;
+	}
+	.graph{
+		position:relative;
+		border:1px solid #b7b7b9;
+		font-size:0;
+		line-height:0;
+		}
+		.graph .bar{
+			position:relative;
+			display:block;
+			height:2px;
+		}
+		.critical .bar{
+			background-color:#f00;
+		}
+		.middle .bar{
+			background-color:#ff9934;
+		}
+		.low .bar{
+			background-color:#9fec00;
+		}
+
+/* New graphs */
+.b-stats-box{
+	position:relative;
+	margin-left:-25px;
+	padding-left:25px;
+	background:url(../i/stats-brace.png) no-repeat 0 50%;
+	}
+	.stats-box-title{
+		position:absolute;
+		top:50%;
+		left:-65px;
+		margin-top:-10px;
+		padding-right:25px;		
+		text-transform:uppercase;
+		font-size:9px;
+		line-height:12px;
+		background:url(../i/stats-curve.png) no-repeat 100% 50%;
+		color:#acacac;
+		/*border-bottom:1px solid #acacac;*/
+	}
+.b-usage-box2{
+	display:block;
+	margin:0 0 22px;
+	position:relative;
+	}
+	.b-usage-box2 .prop-title{
+		float:left;
+		margin:2px 15px 0 0;
+	}
+	.b-usage-box2 .usage-box{
+		float:left;
+	}
+	.b-usage-box2 .value-box{
+		padding-top:11px;
+		float:left;
+		width:85px;
+	}
+	.b-usage-box2 .max-size{
+		position:relative;
+		top:11px;
+		float:right;
+		padding:7px 0 0 3px;
+		border-left:1px solid #B7B7B9;
+		font-size:10px;
+		line-height:1;
+		color:#acacac;
+	}
+	.b-usage-box2 .max-size .units{
+		font-size:10px;
+		color:#acacac;
+	}
+	.b-usage-box2 .graph{
+		position:relative;
+		border:solid #b7b7b9;
+		border-width:1px 0 1px 1px;
+		font-size:0;
+		line-height:0;
+		}
+		.b-usage-box2 .value{
+			position:absolute;
+			top:-15px;
+			left:0;
+			z-index:10;
+			display:block;
+			white-space:nowrap;
+			padding:0 0 7px 3px;
+			font-size:11px;
+			line-height:1;
+			background:url(../i/bar-value-mark.png) no-repeat 0 100%;
+			color:#797979;
+			}
+			.b-usage-box2 .value-size{
+				padding-left:3px;			
+			}		
+		.b-usage-box2 .graph .bar{
+			position:relative;
+			display:block;
+			height:2px;
+			background-color:#9fec00;
+		}
+
+	/* Overdraft */
+	.b-usage-box2 .overdraft{}
+		
+		.b-usage-box2 .overdraft .value{
+			margin-left:-1px;
+			color:#F00;
+		}
+		
+		.b-usage-box2 .bar_overdraft{
+			position:absolute;
+			top:-1px;
+			z-index:5;
+			display:block;
+			height:2px;
+			border:solid #b7b7b9;
+			border-width:1px 0;
+			background:#ff9934 url(../i/overrun-border.png) no-repeat 100% 0; 	
+		}		
+
+	
+.domains-list .disk-usage{
+	margin:0 0 6px;
+}
+.domains-list .props-additional .prop-box,
+.domains-list .props-ext .prop-box{
+	display:block;
+	margin:0;
+	}		
+	.stats-box{}
+		
+		.stats-box .stats-auth{
+			position:relative;
+			top:3px;
+			display:-moz-inline-stack;
+			display:inline-block;
+			vertical-align:top;
+			
+			margin:0 0 0 5px;
+			padding:0 0 0 10px;
+			font-size:12px;
+			line-height:1.5;
+			color:#777;
+			cursor:pointer;
+		}
+		.stats-box .stats-auth-on{		
+			background:url(../i/auth-plus.png) no-repeat 0 60%;		
+		}
+		.stats-box .stats-auth-text{
+			display:block;
+			line-height:11px;
+			border-bottom:1px solid #cacbbd;		
+		}
+		
+	.nginx-box{}
+		
+		.nginx-box .nginx-ext-list{
+			position:relative;
+			top:3px;
+			display:-moz-inline-stack;
+			display:inline-block;
+			vertical-align:top;
+	
+			margin:0 0 0 5px;
+			border-bottom:1px solid #cacbbd;
+			font-size:12px;
+			line-height:1;
+			color:#777;
+			cursor:pointer;
+		}
+	.template-box{}
+	
+		.template-box .prop-value{
+			padding:0;
+			cursor:pointer;
+			border-bottom:1px solid #cbcbbf;
+		}
+
+/* DNS list
+- - - - - - - - - - - - - - - - - - - */		
+.dns-list{}
+
+	.dns-list .row-details{
+		padding-bottom:2px;	
+	}
+	.dns-list .entry-created{
+		padding-top:9px;
+	}
+	.dns-list .props-main{
+		width:295px;
+	}
+	.dns-list .props-additional{
+		width:200px;
+	}	
+	.dns-list .props-ext{
+		width:250px;
+	}
+.dns-list .props-additional .prop-box,
+.dns-list .props-ext .prop-box{
+	display:block;
+	margin:0;
+	}	
+.dns-list .ip-adr-box{
+	margin:0;
+	}
+	.dns-list .ip-adr{
+		font-size:12px;
+		line-height:1.5;
+		color:#777;
+	}
+	
+/* Cron list
+- - - - - - - - - - - - - - - - - - - */		
+.cron-list{}
+	
+	.cron-list .row{
+		padding-bottom:24px;
+	}
+	
+	.cron-list .entry-created{
+		padding-top:8px;
+	}
+	.cron-list .cron-meta{
+		margin:-9px 0 9px;
+	}
+	.cron-meta .prop-box{
+		min-width:0;
+		}
+		.cron-meta .prop-title{
+			display:block;
+			text-transform:none;
+			font-size:10px;
+		}
+		.cron-meta .prop-value{
+			padding:0;
+			font-size:16px;
+			color:#7c7c7c;
+		}
+		.cron-meta .cron-min,
+		.cron-meta .cron-hour,
+		.cron-meta .cron-day,
+		.cron-meta .cron-week,
+		.cron-meta .cron-month{
+			min-width:45px;
+			padding-right:20px;
+		}		
+
+	.cron-command-box{
+		margin:0 0 5px;
+		}
+		.cron-command-line{
+			position:relative;
+			padding:0 3px 0 0;
+			font-family:Arial, Helvetica, sans-serif;
+			font-size:20px;
+			line-height:1.5;
+			font-weight:normal;	
+			font-style:normal;
+			color:#000;
+
+		}
+		.cron-command-line:active{
+			color:#9fb749;			
+		}
+		.cron-list .cron-command-line{
+			border-bottom:1px solid #fff;
+		}
+
+	.cron-reported-to{}
+	
+		.cron-reported-to .prop-box{
+			margin:0;
+		}
+		.cron-reported-to .prop-title{
+			padding-right:3px;
+		}
+		.cron-reported-to .prop-value{
+			padding:0 3px 0 0;
+		}
+		
+/* Users list
+- - - - - - - - - - - - - - - - - - - */		
+.users-list{}
+
+	.users-list .row{
+		padding-bottom:17px;
+	}
+	.users-list .row-details{
+		padding-top:3px;
+	}
+	.users-list .entry-created{
+		padding-top:10px;
+	}
+	.users-list .user-wrap{
+		margin:0 0 19px;
+	}
+	.users-list .props-main{
+		width:345px;
+		width:330px;
+		}
+		.users-list .username-box{
+			padding-top:6px;
+			margin:0 0 15px;
+		}
+		.users-list .username-box .user{
+			position:relative;
+			top:-6px;
+		}
+		.users-list .username-box .nickname{
+			border-bottom:1px solid #fff;
+		}
+	
+	.user-backups-box{
+		margin-top:5px;
+		}
+		.user-backups-box .prop-title{
+			border-bottom:1px solid #CBCBBF;
+			font-size:12px;
+			text-transform:capitalize;
+			cursor:pointer;
+			color:#777;
+		}	
+
+	.users-list .props-additional{
+		width:200px;
+		width:225px;
+		}
+		.users-list .props-additional .prop-box,
+		.users-list .props-ext .prop-box{
+			display:block;
+		}
+		.users-list .props-additional .ns1-box,
+		.users-list .props-additional .ns2-box{
+			padding-left:27px;
+		}
+		.users-list .webtpl-box .group-switcher,
+		.users-list .ns-list-box .group-switcher{
+			padding-left:15px;
+		}
+		.users-list .props-additional .ns1-box .prop-title,
+		.users-list .props-additional .ns2-box .prop-title{
+			display: inline;
+			float: left;
+			margin: 2px 0 0 -27px;
+		}
+		.users-list .props-additional .ns1-box .prop-value,
+		.users-list .props-additional .ns2-box .prop-value{
+			padding:0;
+		}
+		
+	.users-list .props-ext{
+		width:190px;
+	}
+	
+	.users-list .db-box,
+	.users-list .dnsdomains-box{
+		margin-top:24px;
+	}
+	.users-list .backups-box{
+		margin:0;
+	}
+	
+	.username-box .prop-box{
+		position:relative;
+		margin:0;
+	}
+	.user-details{
+		font-size:12px;
+		}
+		.user-details .user-email{
+			color:#777;
+			padding-right:5px;
+		}
+		.user-details .user-reports{
+			color:#9c9c9c;
+		}
+		.user-details-box .prop-box{
+			margin:0 0 5px;
+		}
+		.user-details-box .user-name .prop-value,
+		.user-details-box .user-email{
+			font-style:italic;
+			color:#706f6b;
+		}
+	
+/* DB list
+- - - - - - - - - - - - - - - - - - - */		
+.db-list{
+	padding-top:6px;
+}
+
+	.db-list .first-row{
+		padding-top:5px;
+	}
+	.db-list .row-details{
+		padding-top:3px;
+		padding-bottom:2px;
+	}
+	.db-list .db-devider{
+		margin-top:15px;
+		position:relative;
+		display:block;
+		border-bottom:1px solid #e0e0e0;
+		}
+		.db-list .db-devider-title{
+			display:block;
+			position:absolute;
+			top:-8px;
+			left:-50%;
+			width:200%;
+			}
+			.db-list .db-devider-outer{
+				display:block;
+				position:absolute;
+				left:50%;
+			}
+			.db-list .db-devider-inner{
+				background:#fff;
+				position:relative;
+				left:-50%;
+				padding:0 10px;
+
+				font-size:11px;
+				font-weight:bold;
+				text-transform:uppercase;
+				color:#4097B3;
+			}
+			
+	.db-list .props-main{
+		width:210px;
+		padding-right:10px;
+	}
+	.db-list .props-additional{
+		width:340px;
+		padding-top:6px;
+	}
+	.db-list .props-ext{
+		width:185px;
+		padding-top:6px;		
+	}
+	.db-name{
+		position:relative;
+		margin:0 0 6px;
+		padding:0 3px 0 0;
+		}
+		.db-name-box .db-name{
+			font-size:20px;
+			font-family:Arial, Helvetica, sans-serif;
+			font-weight:normal;	
+			font-style:normal;
+			line-height:27px;
+		}
+		.db-name:active{
+			color:#9fb749;			
+		}
+		.db-list .db-name{
+			border-bottom:1px solid #fff;
+		}
+
+	.db-list .ownership .prop-box{
+		margin:9px 0 0;
+	}
+	.db-list .ownership .prop-value{
+		padding:0;
+		font-size:11px;
+		font-style:italic;
+	}
+	.db-list .entry-created{
+		padding:0;
+	}
+	.db-user-box{
+		margin:0 0 10px;
+	}
+	.db-user-box .db-user{
+		position:relative;
+		display:block;
+		float:left;
+		margin-right:25px;
+		padding-right:20px;
+
+		font-size:12px;
+		line-height:1.25; /*15px*/
+		font-style:italic;
+		color:#999;
+		}
+		.db-user-box .db-user:hover{
+			color:#f00;
+		}
+	.db-user-box .change-pwd{
+		position:relative;
+		top:1px;
+		display:inline-block;
+		border-bottom:1px solid #c9cabc;
+		text-transform:uppercase;
+		line-height:13px;
+		cursor:pointer;
+		visibility:hidden;
+	}
+	.add-db-user{
+		border-bottom:1px solid #c9cabc;
+		text-transform:uppercase;
+		line-height:13px;
+		padding-left:10px;
+		background:url(../i/auth-plus.png) no-repeat 0 50%;
+		color:#555;
+		cursor:pointer;
+	}
+	.backup-db{
+		float:left;
+		position:relative;
+		top:2px;
+		display:-moz-inline-stack;
+		display:inline-block;
+		vertical-align:top;
+	
+		border-bottom:1px solid #cacbbd;
+		font-size:12px;
+		line-height:13px;
+		color:#777;
+		cursor:pointer;
+	}
+	.db-list .b-usage-box{
+		float:right;
+		position:relative;
+		top:1px;
+		}	
+		.db-list .b-usage-box .usage-box{
+			width:auto;
+		}
+		.db-list .b-usage-box .value,
+		.db-list .b-usage-box .max-size{
+			color:#797979;
+		}
+		.db-list .b-usage-box .value-box{
+			width:60px;
+			margin-right:5px;
+		}
+		.db-list .b-usage-box .max-size{
+			float:left;
+		}
+		.db-list .b-usage-box .max-size .units{
+			color:#ABABAB;
+		}
+
+/* Backups list
+- - - - - - - - - - - - - - - - - - - */		
+.backups-list{}
+
+	.backups-list .row{
+		padding:25px 10px 15px;
+	}
+	.backups-list .ownership{
+		padding:5px 0 0;
+	}
+	.backups-list .props-main{
+		padding-top:5px;
+	}
+	.backups-list .props-main .prop-box{
+		margin:0;
+	} 
+	.backups-list .props-additional{
+		width:165px;
+		padding:4px 0 0;
+	}
+	.backups-list .props-ext{
+		width:165px;
+		padding:0;
+	}
+	.backups-list .entry-created{
+		width:185px;
+		padding:0;
+	}
+	.backups-list .backup-date,
+	.backups-list .backup-weekday{
+		display:-moz-inline-stack;
+		display:inline-block;
+		vertical-align:top;
+		}
+		.backups-list .backup-date .backup-day{
+			display:block;
+			width:105px;
+			font-size:14px;
+			font-family:Arial,Helvetica,sans-serif;
+			font-weight:bold;
+			line-height:20px;
+			color:#47443f;
+		}
+		.backups-list .backup-weekday{
+			padding-top:4px;
+			color:#408abb;
+		}
+		.backups-list .backup-time,
+		.backups-list .generation-time .prop-value{
+			font-size:10px;
+			color:#999;
+		}
+		.backups-list .generation-time .prop-value{
+			color:#9C9C9C;
+		}
+	
+	.backups-list .generation-time{
+		padding-top:4px;
+	}
+	.backups-list .backup-size{
+		display:-moz-inline-stack;
+		display:inline-block;
+		padding-right:12px;
+		
+		font-size:10px;
+		line-height:24px;
+
+		background:url(../i/green-bracket-l.png) no-repeat 0 50%;
+		color:#595959;
+	}
+	.backups-list .backup-size-inner{
+		display:-moz-inline-stack;
+		display:inline-block;
+
+		padding:0 10px;
+		background:url(../i/green-bracket-r.png) no-repeat 100% 50%;
+	}
+	.backups-list .backup-url,
+	.backups-list .backup-actions{
+		font-size:13px;
+		color:#999;
+	}
+	.backups-list .backup-actions{
+		background:#ccc;
+	}
+	.backups-list .backup-actions-url{
+		float:right;
+		display:-moz-inline-stack;
+		display:inline-block;
+		vertical-align:top;
+
+		-webkit-border-radius:9px;
+		-moz-border-radius:9px;
+		border-radius:9px;
+		
+		border:2px solid #fff;
+		color:#999;
+		line-height:26px;		
+		}
+		.backups-list .row a.backup-actions-url:hover{
+			padding:0 12px;
+
+			border-color:#c8c09c;
+			background-color:#feff99;
+			color:#444428;
+			font-size:14px;
+			font-family:Arial, Helvetica, sans-serif;
+			font-weight:bold;
+			cursor:pointer;
+			text-decoration:none;
+			text-transform:uppercase;			
+		}
+
+		.backups-list .detailed-restore-ext{
+			display:none;
+		}
+		
+		.backups-list a.detailed-restore-url:hover .detailed-restore-title{
+			text-transform:none;
+		}
+		.backups-list a.detailed-restore-url:hover .detailed-restore-ext{
+			display:inline-block;
+		}
+		
+	.backups-list .restore-url{
+		margin-left:10px;
+		color:#93b749;
+	}
+	
+	.backup-tree{
+		padding-left:130px;
+	}
+	
+	.backup-tree .backup-tree-item{
+		padding:0 0 7px 25px;
+		background:url(../i/backup-checkbox.png) no-repeat 0 .5em;
+	}
+	.backup-tree .unchecked{
+		background:url(../i/backup-checkbox-unchecked.png) no-repeat 0 .5em;
+	}
+	.backup-tree .checked{
+		background:url(../i/backup-checkbox-checked.png) no-repeat 0 .5em;
+	}
+	
+	.backup-tree .backup-sections,
+	.backup-tree .backup-sections .sub-tree{
+		padding:10px 0 0 25px;
+	}
+	
+	.backup-tree .node-item{
+		font-size:13px;
+		font-weight:bold;
+		padding-left:15px;
+		background:url(../i/backup-collapsed-ico.png) no-repeat 0 .3em;
+		border-bottom:1px dashed #cfd19f;
+		color:#5a6962;
+		cursor:pointer;
+		}
+		.backup-tree .node-item:hover{
+			color:#ffcf0b;
+		}
+		
+	.backup-tree .expanded{
+		background:url(../i/backup-expand-ico.png) no-repeat 0 .45em;
+	}
+	.backup-tree .backup-sections .sub-tree .node-item{
+		font-style:italic;
+		color:#abad85;
+		padding:0;
+		background:none;
+		border:none;
+		}
+		.backup-tree .backup-sections .sub-tree .node-item:hover{
+			color:#abad85;
+		}
+	
+	.backup-tree .backup-sections .sub-tree .checked .node-item{
+		color:#5a6962;
+		font-style:normal;	
+	}
+
+/* Highlighted backup row */
+.backup-details-row_highlighted,
+.backups-list .backup-details-row_highlighted:hover{
+	background:#666;
+	}
+	.backup-details-row_highlighted .notes-wrap{
+		font-size:14px;
+		line-height:25px;
+		font-weight:bold;
+		text-transform:uppercase;
+		color:#bad23e;
+		text-align:center;
+		padding:0 0 10px;
+	}
+	.backup-details-row_highlighted .restore-ico{
+		padding:4px 0 4px 30px;
+		line-height:25px;
+		background:url(../i/backup-restore-ico.png) no-repeat;
+	}
+	.backup-details-row_highlighted .backup-time{
+		color:#fff;
+	}
+	.backup-details-row_highlighted .ownership .prop-value{
+		color:#c8c8c8;
+	}
+	.backups-list .backup-details-row_highlighted .backup-day{
+		color:#fff;
+	}
+	.backups-list .backup-details-row_highlighted .backup-size{
+		color:#ccc;
+	}
+	.backups-list .backup-details-row_highlighted .backup-actions{
+		display:none;
+	}
+	
+/* row hover effect
+- - - - - - - - - - - - - - - - - - - */
+.row:hover{
+	background-color:#ffffcb;		
+}
+.ip-list .row:hover .ip-adr,
+.domains-list .row:hover .names .primary,
+.dns-list .row:hover .names .primary,
+.cron-list .row:hover .cron-command-line,
+.users-list .row:hover .username-box .nickname,
+.db-list .row:hover .db-name{
+	border-bottom-style:dashed;
+	border-bottom-color:#e5e5e5;
+	border-bottom-color:#bbb;	
+}
+.ip-list .row:hover .ip-adr:hover,
+.domains-list .row:hover .names .primary:hover,
+.dns-list .row:hover .names .primary:hover,
+.cron-list .row:hover .cron-command-line:hover,
+.users-list .row:hover .username-box .nickname:hover,
+.db-list .row:hover .db-name:hover{
+	cursor:pointer;
+	border-bottom-style:solid;
+	border-bottom-color:#b4c775;
+}
+.ip-list .ip-details-suspended:hover .ip-adr,
+.ip-list .ip-details-suspended:hover .ip-adr:hover{
+	border:none;
+	cursor:default;
+}
+.backups-list .row:hover .backup-actions-url{
+	border-color:#ffffcb;
+}
+
+.row:hover .ip-status-info{
+	background:url(../i/enabled-ico_.png) no-repeat 100% 50%;
+}
+.row:hover .delete-entry,
+.row:hover .db-user-box .db-user{
+	background:url(../i/delete-ico-off.png) no-repeat 100% 4px;
+}
+.row:hover .ip-suspended-status{
+	background:url(../i/suspended-ico.png) no-repeat 100% 65%;
+}
+.ip-status-info:hover .ip-status-text,
+.delete-entry:hover .delete-entry-text,
+.row:hover .db-user-box .change-pwd{
+	visibility:visible;
+}
+.row .ip-status-info:hover{
+	background-image:url(../i/enabled-ico-hover.png);
+}
+.row .ip-suspended-status:hover{
+	background-image:url(../i/suspended-ico.png);
+}
+.row .delete-entry:hover,
+.row .db-user-box .db-user:hover{
+	background-image:url(../i/delete-ico.png);
+	cursor:pointer;
+}
+.row .delete-entry:active{
+	background-image:url(../i/delete-ico-active.png);
+	cursor:pointer;
+}
+.delete-entry:hover .delete-entry-text{
+	color:#333;
+}
+.delete-entry .delete-entry-text:hover{
+	cursor:pointer;
+}
+.delete-entry .delete-entry-text:active{
+	color:#f00;
+}
+.row:hover .show-records,
+.row:hover .hide-records,
+.row:hover .template-box .prop-value,
+.domains-list .row:hover .stats-box .stats-auth-text,
+.domains-list .row:hover .nginx-box .nginx-ext-list,
+.row:hover .db-user-box .change-pwd,
+.row:hover .add-db-user,
+.row:hover .backup-db,
+.row:hover .user-backups-box .prop-title{
+	color:#6aa0ac;
+	border-bottom-color:#cacbbd;
+}
+.row:hover .template-box .prop-value:hover,
+.row:hover .show-records:hover,
+.hide-records:hover, 
+.domains-list .row:hover .stats-box .stats-auth-text:hover,
+.domains-list .row:hover .nginx-box .nginx-ext-list:hover,
+.row .db-user-box .change-pwd:hover,
+.row .add-db-user:hover,
+.row .backup-db:hover,
+.row .user-backups-box:hover .prop-title{
+	color:#575757;
+	border-bottom-color:#b4c775;
+}
+.row .template-box .prop-value:active,
+.row .show-records:active,
+.hide-records:active, 
+.domains-list .row:hover .stats-box .stats-auth-text:active,
+.domains-list .row:hover .nginx-box .nginx-ext-list:active,
+.domains-list .row:hover .template-box .prop-value:active,
+.users-list .username-box .nickname:active,
+.users-list .user-backups-box .prop-title:active,
+.row .db-user-box .change-pwd:active,
+.row .add-db-user:active,
+.row .backup-db:active,
+.row .user-backups-box .prop-title:active{
+	color:#b4c775;
+}
+
+/* Checked row
+- - - - - - - - - - - - - - - - - - - */
+.checked-row{
+	background-color:#e4f7bf;
+}
+	.checked-row .row-actions-box .check-control{
+		background-position:0 -30px;		
+	}
+	
+	.domains-list .checked-row .names .primary, 
+	.dns-list .checked-row .names .primary,
+	.cron-list .checked-row .cron-command-line,
+	.users-list .checked-row .username-box .nickname,
+	.db-list .checked-row .db-name{
+		border-bottom:1px solid #e4f7bf;
+	}
+	
+/* Suspended row
+- - - - - - - - - - - - - - - - - - - */
+.ip-details-suspended,
+.suspended-row{}
+
+.ip-details-suspended:hover,
+.suspended-row:hover{
+	background-color:#fff;
+}
+	.ip-details-suspended .entry-created,
+	.suspended-row .entry-created,
+	.suspended-row .username-box .role{
+		color:#ccc;
+	}
+	.ip-details-suspended .ip-adr,
+	.suspended-row .ip-adr,
+	.suspended-row .cron-command-line,
+	.suspended-row .username-box,
+	.suspended-row .username-box .nickname,
+	.suspended-row .user-name .prop-value,
+	.suspended-row .user-backups-box .prop-title,
+	.suspended-row .user-details .user-email,
+	.suspended-row .user-details .user-reports,
+	.suspended-row .template-box .prop-value,
+	.suspended-row .stats-box-title,
+	.suspended-row .stats-box .stats-auth,
+	.suspended-row .nginx-box .nginx-ext-list{
+		color:#ccc;
+		border:none;
+	}
+	.ip-details-suspended:hover .ip-adr,
+	.suspended-row:hover .ip-adr,
+	.suspended-row:hover .names .primary,
+	.domains-list .suspended-row:hover .names .primary, 
+	.dns-list .suspended-row:hover .names .primary,
+	.cron-list .suspended-row:hover .cron-command-line,
+	.users-list .suspended-row:hover .username-box .nickname,
+	.users-list .suspended-row:hover .user-backups-box .prop-title,
+	.suspended-row .stats-box .stats-auth-text{
+		border:none;
+	}
+	.ip-details-suspended:hover .ip-adr:hover,
+	.suspended-row:hover .ip-adr:hover,
+	.cron-list .suspended-row:hover .cron-command-line:hover,
+	.users-list .suspended-row:hover .username-box .nickname:hover,
+	.users-list .suspended-row:hover .user-backups-box .prop-title:hover,
+	.cron-list .suspended-row:hover .cron-command-line{
+		border:none;
+		cursor:default;		
+	}
+	.users-list .suspended-row .username-box .nickname:active,
+	.users-list .suspended-row .user-backups-box .prop-title:active{
+		color:#ccc;
+	}
+
+.ip-details-suspended .prop-title,
+.ip-details-suspended .prop-value,
+.suspended-row .prop-title,
+.suspended-row .prop-value,
+.suspended-row .b-usage-box .value,
+.suspended-row .b-usage-box .max-size,
+.suspended-row .b-usage-box .max-size .units,
+.suspended-row .b-usage-box2 .value,
+.suspended-row .b-usage-box2 .max-size,
+.suspended-row .names .primary{
+	color:#ccc;
+}
+.suspended-row .b-usage-box .bar,
+.suspended-row .b-usage-box2 .graph .bar {
+	background-color:#ccc;
+}
+.suspended-row:hover .show-records,
+.suspended-row:hover .hide-records,
+.suspended-row:hover .template-box .prop-value,
+.domains-list .suspended-row:hover .stats-box .stats-auth-text,
+.domains-list .suspended-row:hover .nginx-box .nginx-ext-list,
+.suspended-row:hover .user-backups-box .prop-title,
+.suspended-row:hover .template-box .prop-value:hover,
+.suspended-row:hover .show-records:hover,
+.suspended-row .hide-records:hover, 
+.domains-list .suspended-row:hover .stats-box .stats-auth-text:hover,
+.domains-list .suspended-row:hover .nginx-box .nginx-ext-list:hover,
+.domains-list .suspended-row:hover .names .primary:hover,
+.dns-list .suspended-row:hover .names .primary:hover{
+	color:#ccc;
+	border:none;
+	cursor:default;
+}
+.suspended-row:hover .template-box .prop-value:active,
+.suspended-row:hover .show-records:active,
+.suspended-row .hide-records:active, 
+.domains-list .suspended-row:hover .stats-box .stats-auth-text:active,
+.domains-list .suspended-row:hover .nginx-box .nginx-ext-list:active,
+.users-list .suspended-row .username-box .nickname:active,
+.users-list .suspended-row .user-backups-box .prop-title:active{
+	color:#ccc;
+}	
+.suspended-row .stats-box-title{
+	background-image:url(../i/stats-curve-grey.png);
+}

+ 700 - 0
web/static-templates/db.html

@@ -0,0 +1,700 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru">
+
+<head>
+	<title>Vesta | Databases</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+	<meta http-equiv="imagetoolbar" content="false" />
+
+	<link rel="stylesheet" media="all" type="text/css" href="css/reset2.css" />
+	<link rel="stylesheet" media="all" type="text/css" href="css/vesta.css" />
+
+	<!--[if lt IE 8]>
+		<link rel="stylesheet" type="text/css" href="css/ie.css" />
+    <![endif]-->
+
+	<script type="text/javascript" src="js/custom-form-elements.js"></script>
+</head>
+
+<body>
+<div id="page">
+	<div class="outer">
+		<div id="header">
+			<div class="logo-box">
+				<h1 class="logo"><a href="#">Vesta panel <span>&nbsp;</span></a></h1>
+			</div>
+			<ul class="settings">
+				<li class="settings-item">
+					<span class="logged-as">Fabricius Euphranor von Neoptolemos</span>
+					<a class="item-title" href="#">Profile</a>
+				</li>
+				<li class="settings-item"><a class="item-title" href="#">Settings</a></li>
+				<li class="logout"><a class="item-title" href="#"><span class="item-title-inner">Exit</span></a></li>
+			</ul>
+			<ul class="extra-services">
+				<li class="service-item active">
+					<span class="item-title">Backups</span>
+					<i class="item-devider"></i>
+				</li>
+				<li class="service-item">
+					<span class="item-title">Stats</span>
+					<i class="item-devider"></i>
+				</li>
+			</ul>
+		</div>
+		<div id="primary-nav-box">
+			<ul class="primary-nav cc">
+				<li class="section">
+					<div class="section-inner">
+						<dl class="users-nav-item">
+							<dt class="section-title cc">
+								<span class="to-section">Users</span> 
+								<i class="add-entry">&nbsp;</i>
+							</dt>
+							<dd class="section-contains">
+								<span class="def">386 users</span>
+								<span class="def">7 blocked</span>
+							</dd>
+						</dl>
+					</div>
+					<i class="section-devider"></i>
+				</li>
+				<li class="section">
+					<div class="section-inner">
+						<dl class="domains-nav-item">
+							<dt class="section-title cc">
+								<span class="to-section">Web Domain</span>
+								<i class="add-entry">&nbsp;</i>
+							</dt>
+							<dd class="section-contains">
+								<span class="def">580 domains</span>
+								<span class="def">22 out of mem</span>
+								<span class="def">3 waiting</span>
+							</dd>
+						</dl>
+					</div>
+					<i class="section-devider"></i>
+				</li>
+				<li class="section">
+					<div class="section-inner">
+						<dl class="mail-nav-item">
+							<dt class="section-title cc">
+								<span class="to-section">Mail</span>
+								<i class="add-entry">&nbsp;</i>
+							</dt>
+							<dd class="section-contains">
+								<span class="def">320 domains</span>
+								<span class="def">1209 mailboxes</span>
+								<span class="def">25 full</span>
+							</dd>
+						</dl>
+					</div>
+					<i class="section-devider"></i>
+				</li>
+				<li class="section active">
+					<div class="section-inner">
+						<dl class="db-nav-item">
+							<dt class="section-title cc">
+								<span class="to-section">DB</span>
+								<i class="add-entry">&nbsp;</i>
+							</dt>
+							<dd class="section-contains">
+								<span class="def">7 db</span>
+							</dd>
+						</dl>
+					</div>
+					<i class="section-devider"></i>
+				</li>
+				<li class="section">
+					<div class="section-inner">
+						<dl class="dns-nav-item">
+							<dt class="section-title cc">
+								<span class="to-section">Dns</span>
+								<i class="add-entry">&nbsp;</i>
+							</dt>
+							<dd class="section-contains">
+								<span class="def">289 records</span>
+							</dd>
+						</dl>
+					</div>
+					<i class="section-devider"></i>
+				</li>
+				<li class="section">
+					<div class="section-inner">
+						<dl class="dnstpl-nav-item">
+							<dt class="section-title cc">
+								<span class="to-section">IP</span> 
+								<i class="add-entry">&nbsp;</i>
+							</dt>
+							<dd class="section-contains">
+								<span class="def">7 templates</span>
+							</dd>
+						</dl>
+					</div>
+					<i class="section-devider"></i>
+				</li>
+				<li class="section last-section">
+					<div class="section-inner">
+						<dl class="cron-nav-item">
+							<dt class="section-title cc">
+								<span class="to-section">Cron</span>
+								<i class="add-entry">&nbsp;</i>
+							</dt>
+							<dd class="section-contains">
+								<span class="def">15 records</span>
+							</dd>
+						</dl>
+					</div>
+					<i class="section-devider"></i>
+				</li>
+			</ul>
+		</div>
+		<div id="console">
+			<div class="b-console">
+				<div class="b-console-wrap">
+					<form class="b-console-form cc" action="#" method="post">
+						<fieldset>
+							<input class="b-console-field" type="text" value="/"/>
+							<input class="b-console-btn" type="submit" value="Go" />
+						</fieldset>
+					</form>
+					<!-- div class="b-console-statuses">
+						<div class="b-console-status cc">
+							<p class="b-console-status-message">domain <b>google.com</b> have been added <br />
+Cтиль менеджмента, на первый взгляд, методически оправдывает культурный побочный PR-эффект, осознавая социальную ответственность бизнеса. Исходя из структуры пирамиды Маслоу, рекламное сообщество экономит product placement, невзирая на действия конкурентов. Узнавание бренда слабо транслирует имидж, оптимизируя бюджеты.
+							</p>
+							<span class="b-console-status-action">cancel</span>
+							<i class="b-console-status-arrow">&nbsp;</i>							
+						</div>
+					</div -->
+				</div>
+				<div class="b-console-results"></div>
+			</div>
+		</div>
+		<!-- actions toolbar -->
+		<div id="actions-toolbar" class="cc">
+			<a class="add-btn" href="#"><i class="add-btn-icon">&nbsp;</i>add database</a>
+			<div class="row-filters cc">
+				<div class="b-row-selector">
+					<div class="checkbox-selector cc">
+						<input class="styled" type="checkbox" value="" />
+						<span class="selector-title">385 Selected</span>
+					</div>
+					<div class="context-actions">
+						<div class="b-cust-sel b-cust-sel_inactive">
+							<span class="title">Action</span>
+							<div class="cust-sel-arrow"><i>&nbsp;</i></div>
+							<div class="cust-sel-options">
+								<div class="cust-sel-option ico_gray">Suspend</div>
+								<div class="cust-sel-option ico_green">Unsuspend</div>
+								<div class="cust-sel-option ico_red">Delete</div>
+							</div>
+						</div>
+					</div>
+				</div>
+				<!-- visible only for admin -->
+				<div class="domain-groups-selector">
+					<div class="selector-wrap">
+						<strong class="selector-title">Show:</strong>
+						<span class="selected-groups">mine, vesta, Chronos, vasya (and 35 more)</span>
+					</div>
+				</div><!-- // visible only for admin -->
+			</div>
+
+			<a class="db-manager" href="#">Php<em class="highlighted">pg</em>admin</a>			
+			<a class="db-manager" href="#">Php<em class="highlighted">my</em>admin</a>
+		</div><!-- // actions toolbar -->
+		<div id="content">
+			<div class="content-inner">
+				<div class="db-list">
+					<div class="db-devider">
+						<span class="db-devider-title">
+							<span class="db-devider-outer">
+								<span class="db-devider-inner">MySQL</span>
+							</span>
+						</span>
+					</div>	
+					<!-- row 1 -->
+					<div class="row first-row db-details-row">
+						<div class="row-actions-box cc">
+							<div class="check-this check-control"></div>
+							<div class="row-operations">
+								<span class="delete-entry"><span class="delete-entry-text">delete</span></span>
+							</div>
+						</div>
+						<div class="row-meta">
+							<div class="ownership">
+								<span class="prop-box">
+									<span class="prop-value">Javier Henneman</span>
+								</span>
+							</div>
+							<div class="entry-created">05.03.2011</div>
+						</div>
+						<div class="row-details cc">
+							<div class="props-main">
+								<div class="db-name-box">
+									<span class="db-name">Clinton Brazeal Super DB</span>
+								</div>
+							</div>
+							<div class="props-additional">
+								<div class="db-user-box cc">
+									<span class="db-user-wrap">
+										<span class="db-user">naumov-socolov</span>
+									</span>
+									<span class="change-pwd">change password</span>										
+								</div>
+								<div class="db-user-box cc">
+									<span class="db-user-wrap">
+										<span class="db-user">socialmediaexaminer (read only)</span>
+									</span>
+									<span class="change-pwd">change password</span>										
+								</div>
+								<span class="add-db-user">Add user</span>
+							</div>
+							<div class="props-ext">
+								<span class="backup-db">backup</span>
+								<!-- disk usage block -->
+								<div class="b-usage-box disk-usage cc">
+									<div class="usage-box">
+										<div class="value-box">
+											<span class="value">12</span>
+											<div class="graph middle">
+												<span class="bar" style="width:55%;"></span>
+											</div>
+										</div>
+										<div class="max-size">300 <span class="units">Mb</span></div>
+									</div>
+								</div><!-- // disk usage block -->
+							</div>
+						</div><!-- // .row-details -->
+					</div><!-- // .row 1 -->
+
+					<!-- row 2 -->
+					<div class="row db-details-row">
+						<div class="row-actions-box cc">
+							<div class="check-this check-control"></div>
+							<div class="row-operations">
+								<span class="delete-entry"><span class="delete-entry-text">delete</span></span>
+							</div>
+						</div>
+						<div class="row-meta">
+							<div class="ownership">
+								<span class="prop-box">
+									<span class="prop-value">Allan Cumberland</span>
+								</span>
+							</div>
+							<div class="entry-created">06.03.2011</div>
+						</div>
+						<div class="row-details cc">
+							<div class="props-main">
+								<div class="db-name-box">
+									<span class="db-name">Example database name</span>
+								</div>
+							</div>
+							<div class="props-additional">
+								<div class="db-user-box cc">
+									<span class="db-user-wrap">
+										<span class="db-user">Lance Lafata</span>
+									</span>
+									<span class="change-pwd">change password</span>										
+								</div>
+								<div class="db-user-box cc">
+									<span class="db-user-wrap">
+										<span class="db-user">Tania Maietta (read only)</span>
+									</span>
+									<span class="change-pwd">change password</span>										
+								</div>
+								<div class="db-user-box cc">
+									<span class="db-user-wrap">
+										<span class="db-user">Tyrone Diangelo</span>
+									</span>
+									<span class="change-pwd">change password</span>										
+								</div>
+								<div class="db-user-box cc">
+									<span class="db-user-wrap">
+										<span class="db-user">Elinor Boissonneault (read only)</span>
+									</span>
+									<span class="change-pwd">change password</span>										
+								</div>
+								<span class="add-db-user">Add user</span>
+							</div>
+							<div class="props-ext">
+								<span class="backup-db">backup</span>
+								<!-- disk usage block -->
+								<div class="b-usage-box disk-usage cc">
+									<div class="usage-box">
+										<div class="value-box">
+											<span class="value">280</span>
+											<div class="graph critical">
+												<span class="bar" style="width:85%;"></span>
+											</div>
+										</div>
+										<div class="max-size">300 <span class="units">Mb</span></div>
+									</div>
+								</div><!-- // disk usage block -->
+							</div>
+						</div><!-- // .row-details -->
+					</div><!-- // .row 2 -->
+
+					<!-- row 3 -->
+					<div class="row db-details-row">
+						<div class="row-actions-box cc">
+							<div class="check-this check-control"></div>
+							<div class="row-operations">
+								<span class="delete-entry"><span class="delete-entry-text">delete</span></span>
+							</div>
+						</div>
+						<div class="row-meta">
+							<div class="ownership">
+								<span class="prop-box">
+									<span class="prop-value">Dick Costolo</span>
+								</span>
+							</div>
+							<div class="entry-created">11.05.2011</div>
+						</div>
+						<div class="row-details cc">
+							<div class="props-main">
+								<div class="db-name-box">
+									<span class="db-name">Twitter User Object</span>
+								</div>
+							</div>
+							<div class="props-additional">
+								<div class="db-user-box cc">
+									<span class="db-user-wrap">
+										<span class="db-user">Evan Williams</span>
+									</span>
+									<span class="change-pwd">change password</span>										
+								</div>
+								<div class="db-user-box cc">
+									<span class="db-user-wrap">
+										<span class="db-user">Jack Dorsey</span>
+									</span>
+									<span class="change-pwd">change password</span>										
+								</div>
+								<div class="db-user-box cc">
+									<span class="db-user-wrap">
+										<span class="db-user">Biz Stone</span>
+									</span>
+									<span class="change-pwd">change password</span>										
+								</div>
+								<div class="db-user-box cc">
+									<span class="db-user-wrap">
+										<span class="db-user">Abdur Chowdhury</span>
+									</span>
+									<span class="change-pwd">change password</span>										
+								</div>
+								<div class="db-user-box cc">
+									<span class="db-user-wrap">
+										<span class="db-user">Jason Goldman</span>
+									</span>
+									<span class="change-pwd">change password</span>										
+								</div>
+								<div class="db-user-box cc">
+									<span class="db-user-wrap">
+										<span class="db-user">Sean Garrett</span>
+									</span>
+									<span class="change-pwd">change password</span>										
+								</div>
+								<div class="db-user-box cc">
+									<span class="db-user-wrap">
+										<span class="db-user">Greg Pass (read only)</span>
+									</span>
+									<span class="change-pwd">change password</span>										
+								</div>
+								<span class="add-db-user">Add user</span>
+							</div>
+							<div class="props-ext">
+								<span class="backup-db">backup</span>
+								<!-- disk usage block -->
+								<div class="b-usage-box disk-usage cc">
+									<div class="usage-box">
+										<div class="value-box">
+											<span class="value">280</span>
+											<div class="graph critical">
+												<span class="bar" style="width:85%;"></span>
+											</div>
+										</div>
+										<div class="max-size">300 <span class="units">Mb</span></div>
+									</div>
+								</div><!-- // disk usage block -->
+							</div>
+						</div><!-- // .row-details -->
+					</div><!-- // .row 3 -->
+
+					<div class="db-devider">
+						<span class="db-devider-title">
+							<span class="db-devider-outer">
+								<span class="db-devider-inner">Postgres</span>
+							</span>
+						</span>
+					</div>	
+
+					<!-- row 1 -->
+					<div class="row first-row db-details-row checked-row">
+						<div class="row-actions-box cc">
+							<div class="check-this check-control"></div>
+							<div class="row-operations">
+								<span class="delete-entry"><span class="delete-entry-text">delete</span></span>
+							</div>
+						</div>
+						<div class="row-meta">
+							<div class="ownership">
+								<span class="prop-box">
+									<span class="prop-value">Richard Yoo</span>
+								</span>
+							</div>
+							<div class="entry-created">05.03.2011</div>
+						</div>
+						<div class="row-details cc">
+							<div class="props-main">
+								<div class="db-name-box">
+									<span class="db-name">Edgebuzz</span>
+								</div>
+							</div>
+							<div class="props-additional">
+								<div class="db-user-box cc">
+									<span class="db-user-wrap">
+										<span class="db-user">Pat Condon</span>
+									</span>
+									<span class="change-pwd">change password</span>										
+								</div>
+								<div class="db-user-box cc">
+									<span class="db-user-wrap">
+										<span class="db-user">Graham Weston (read only)</span>
+									</span>
+									<span class="change-pwd">change password</span>										
+								</div>
+								<div class="db-user-box cc">
+									<span class="db-user-wrap">
+										<span class="db-user">Mark Roenigk</span>
+									</span>
+									<span class="change-pwd">change password</span>										
+								</div>
+								<div class="db-user-box cc">
+									<span class="db-user-wrap">
+										<span class="db-user">Bruce Knooihuizen (read only)</span>
+									</span>
+									<span class="change-pwd">change password</span>										
+								</div>
+								<div class="db-user-box cc">
+									<span class="db-user-wrap">
+										<span class="db-user">John Engates</span>
+									</span>
+									<span class="change-pwd">change password</span>										
+								</div>
+								<div class="db-user-box cc">
+									<span class="db-user-wrap">
+										<span class="db-user">Lanham Napier</span>
+									</span>
+									<span class="change-pwd">change password</span>										
+								</div>
+								<span class="add-db-user">Add user</span>
+							</div>
+							<div class="props-ext">
+								<span class="backup-db">backup</span>
+								<!-- disk usage block -->
+								<div class="b-usage-box disk-usage cc">
+									<div class="usage-box">
+										<div class="value-box">
+											<span class="value">12</span>
+											<div class="graph middle">
+												<span class="bar" style="width:55%;"></span>
+											</div>
+										</div>
+										<div class="max-size">300 <span class="units">Mb</span></div>
+									</div>
+								</div><!-- // disk usage block -->
+							</div>
+						</div><!-- // .row-details -->
+					</div><!-- // .row 1 -->
+
+					<!-- row 2 -->
+					<div class="row db-details-row">
+						<div class="row-actions-box cc">
+							<div class="check-this check-control"></div>
+							<div class="row-operations">
+								<span class="delete-entry"><span class="delete-entry-text">delete</span></span>
+							</div>
+						</div>
+						<div class="row-meta">
+							<div class="ownership">
+								<span class="prop-box">
+									<span class="prop-value">General Hugh Shelton</span>
+								</span>
+							</div>
+							<div class="entry-created">05.03.2011</div>
+						</div>
+						<div class="row-details cc">
+							<div class="props-main">
+								<div class="db-name-box">
+									<span class="db-name">Bubbledog</span>
+								</div>
+							</div>
+							<div class="props-additional">
+								<div class="db-user-box cc">
+									<span class="db-user-wrap">
+										<span class="db-user">Jim Whitehurst</span>
+									</span>
+									<span class="change-pwd">change password</span>										
+								</div>
+								<div class="db-user-box cc">
+									<span class="db-user-wrap">
+										<span class="db-user">Naren Gupta (read only)</span>
+									</span>
+									<span class="change-pwd">change password</span>										
+								</div>
+								<div class="db-user-box cc">
+									<span class="db-user-wrap">
+										<span class="db-user">Jeff Clarke</span>
+									</span>
+									<span class="change-pwd">change password</span>										
+								</div>
+								<div class="db-user-box cc">
+									<span class="db-user-wrap">
+										<span class="db-user">Micheline Chau (read only)</span>
+									</span>
+									<span class="change-pwd">change password</span>										
+								</div>
+								<div class="db-user-box cc">
+									<span class="db-user-wrap">
+										<span class="db-user">Jeff Clarke</span>
+									</span>
+									<span class="change-pwd">change password</span>										
+								</div>
+								<span class="add-db-user">Add user</span>
+							</div>
+							<div class="props-ext">
+								<span class="backup-db">backup</span>
+								<!-- disk usage block -->
+								<div class="b-usage-box disk-usage cc">
+									<div class="usage-box">
+										<div class="value-box">
+											<span class="value">45</span>
+											<div class="graph middle">
+												<span class="bar" style="width:35%;"></span>
+											</div>
+										</div>
+										<div class="max-size">300 <span class="units">Mb</span></div>
+									</div>
+								</div><!-- // disk usage block -->
+							</div>
+						</div><!-- // .row-details -->
+					</div><!-- // .row 2 -->
+					
+					<!-- row 3 -->
+					<div class="row db-details-row">
+						<div class="row-actions-box cc">
+							<div class="check-this check-control"></div>
+							<div class="row-operations">
+								<span class="delete-entry"><span class="delete-entry-text">delete</span></span>
+							</div>
+						</div>
+						<div class="row-meta">
+							<div class="ownership">
+								<span class="prop-box">
+									<span class="prop-value">Mark Shuttleworth</span>
+								</span>
+							</div>
+							<div class="entry-created">05.03.2011</div>
+						</div>
+						<div class="row-details cc">
+							<div class="props-main">
+								<div class="db-name-box">
+									<span class="db-name">Feednation</span>
+								</div>
+							</div>
+							<div class="props-additional">
+								<div class="db-user-box cc">
+									<span class="db-user-wrap">
+										<span class="db-user">Jason Fried</span>
+									</span>
+									<span class="change-pwd">change password</span>										
+								</div>
+								<div class="db-user-box cc">
+									<span class="db-user-wrap">
+										<span class="db-user">David Heinemeier Hansson</span>
+									</span>
+									<span class="change-pwd">change password</span>										
+								</div>
+								<div class="db-user-box cc">
+									<span class="db-user-wrap">
+										<span class="db-user">Stephen Campbell</span>
+									</span>
+									<span class="change-pwd">change password</span>										
+								</div>
+								<span class="add-db-user">Add user</span>
+							</div>
+							<div class="props-ext">
+								<span class="backup-db">backup</span>
+								<!-- disk usage block -->
+								<div class="b-usage-box disk-usage cc">
+									<div class="usage-box">
+										<div class="value-box">
+											<span class="value">12</span>
+											<div class="graph low">
+												<span class="bar" style="width:15%;"></span>
+											</div>
+										</div>
+										<div class="max-size">300 <span class="units">Mb</span></div>
+									</div>
+								</div><!-- // disk usage block -->
+							</div>
+						</div><!-- // .row-details -->
+					</div><!-- // .row 3 -->
+
+					<!-- form -->
+					<div class="b-new-entry b-new-entry_db">
+						<div class="entry-header">New database</div>
+						<div class="form-error">
+							<div class="error-box">
+								<span class="error-message">Database named "ReadWriteWeb" already exists.</span>
+							</div>
+						</div>
+						<div class="form-row cc">
+							<label class="field-label" for="#">db type:</label>
+							<select class="styled" name="db-type">
+								<option value="1" selected="selected">MySQL</option>
+								<option value="2">Postgres</option>
+							</select>
+						</div>
+						<div class="form-row cc">
+							<label class="field-label" for="#"><span class="mandatory">db name:</span></label>
+							<input class="text-field rule-required" type="text" value="ReadWriteWeb" />
+						</div>
+						<div class="db-credentials">
+							<div class="form-row cc">
+								<label class="field-label" for="#"><span class="mandatory">username</span></label>
+								<input class="text-field rule-required" type="text" value="" />
+							</div>
+							<div class="form-row pwd-box cc">
+								<label class="field-label" for="#">password:</label>
+								<input class="text-field disabled" type="text" value="g179x2vpvfamn7v" />
+								<span class="generate-pwd">Generate</span>
+							</div>
+						</div>
+						<div class="form-row cc">
+							<label class="field-label" for="#">db host:</label>
+							<select class="styled" name="db-host">
+								<option value="1">user</option>
+								<option value="2" selected="selected">smashingmagazine.com</option>
+							</select>
+						</div>
+
+						<div class="form-row cc">
+							<label class="field-label" for="#">suspended:</label>
+							<input class="styled" type="checkbox" value="" />
+						</div>
+						
+						<div class="form-row buttons-row cc">
+							<input class="add-entry-btn" type="submit" value="add" />
+							<span class="cancel-btn">Cancel</span>
+							<span class="delete-btn">Delete</span>
+						</div>
+					</div><!-- // form -->
+				</div><!-- // .domain-list -->
+			</div>
+		</div><!-- // #content -->
+	</div>
+</div>
+</body>
+</html>

+ 504 - 450
web/static-templates/dns.html

@@ -1,450 +1,504 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru">
-
-<head>
-	<title>Vesta | DNS</title>
-	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-	<meta http-equiv="imagetoolbar" content="false" />
-
-	<link rel="stylesheet" media="all" type="text/css" href="css/reset2.css" />
-	<link rel="stylesheet" media="all" type="text/css" href="css/vesta.css" />
-
-	<!--[if lt IE 8]>
-		<link rel="stylesheet" type="text/css" href="css/ie.css" />
-    <![endif]-->
-
-	<script type="text/javascript" src="js/custom-form-elements.js"></script>
-</head>
-
-<body>
-<div id="page">
-	<div class="outer">
-		<div id="header">
-			<div class="logo-box">
-				<h1 class="logo"><a href="#">Vesta panel <span>&nbsp;</span></a></h1>
-			</div>
-			<ul class="settings">
-				<li><a href="#">settings</a></li>
-				<li><a href="#">exit</a></li>
-			</ul>
-		</div>
-		<div id="primary-nav-box">
-			<ul class="primary-nav cc">
-				<li class="section">
-					<div class="section-inner">
-						<dl class="users-nav-item">
-							<dt class="section-title cc">
-								<span class="to-section">Users</span> 
-								<i class="add-entry">&nbsp;</i>
-							</dt>
-							<dd class="section-contains">
-								<span class="def">386 users</span>
-								<span class="def">7 blocked</span>
-							</dd>
-						</dl>
-					</div>
-				</li>
-				<li class="section">
-					<div class="section-inner">
-						<dl class="domains-nav-item">
-							<dt class="section-title cc">
-								<span class="to-section">Web Domain</span>
-								<i class="add-entry">&nbsp;</i>
-							</dt>
-							<dd class="section-contains">
-								<span class="def">580 domains</span>
-								<span class="def">22 out of mem</span>
-								<span class="def">3 waiting</span>
-							</dd>
-						</dl>
-					</div>
-				</li>
-				<li class="section">
-					<div class="section-inner">
-						<dl class="mail-nav-item">
-							<dt class="section-title cc">
-								<span class="to-section">Mail</span>
-								<i class="add-entry">&nbsp;</i>
-							</dt>
-							<dd class="section-contains">
-								<span class="def">320 domains</span>
-								<span class="def">1209 mailboxes</span>
-								<span class="def">25 full</span>
-							</dd>
-						</dl>
-					</div>
-				</li>
-				<li class="section">
-					<div class="section-inner">
-						<dl class="db-nav-item">
-							<dt class="section-title cc">
-								<span class="to-section">DB</span>
-								<i class="add-entry">&nbsp;</i>
-							</dt>
-							<dd class="section-contains">
-								<span class="def">7 db</span>
-							</dd>
-						</dl>
-					</div>
-				</li>
-				<li class="section active">
-					<div class="section-inner">
-						<dl class="dns-nav-item">
-							<dt class="section-title cc">
-								<span class="to-section">Dns</span>
-								<i class="add-entry">&nbsp;</i>
-							</dt>
-							<dd class="section-contains">
-								<span class="def">289 records</span>
-							</dd>
-						</dl>
-					</div>
-				</li>
-				<li class="section">
-					<div class="section-inner">
-						<dl class="dnstpl-nav-item">
-							<dt class="section-title cc">
-								<span class="to-section">IP</span> 
-								<i class="add-entry">&nbsp;</i>
-							</dt>
-							<dd class="section-contains">
-								<span class="def">7 templates</span>
-							</dd>
-						</dl>
-					</div>
-				</li>
-				<li class="section last-section">
-					<div class="section-inner">
-						<dl class="cron-nav-item">
-							<dt class="section-title cc">
-								<span class="to-section">Cron</span>
-								<i class="add-entry">&nbsp;</i>
-							</dt>
-							<dd class="section-contains">
-								<span class="def">15 records</span>
-							</dd>
-						</dl>
-					</div>
-				</li>
-			</ul>
-		</div>
-		<div id="console">
-			<div class="b-console">
-				<div class="b-console-wrap">
-					<form class="b-console-form cc" action="#" method="post">
-						<fieldset>
-							<input class="b-console-field" type="text" value="/"/>
-							<input class="b-console-btn" type="submit" value="Go" />
-						</fieldset>
-					</form>
-					<!-- div class="b-console-statuses">
-						<div class="b-console-status cc">
-							<p class="b-console-status-message">domain <b>google.com</b> have been added <br />
-Cтиль менеджмента, на первый взгляд, методически оправдывает культурный побочный PR-эффект, осознавая социальную ответственность бизнеса. Исходя из структуры пирамиды Маслоу, рекламное сообщество экономит product placement, невзирая на действия конкурентов. Узнавание бренда слабо транслирует имидж, оптимизируя бюджеты.
-							</p>
-							<span class="b-console-status-action">cancel</span>
-							<i class="b-console-status-arrow">&nbsp;</i>							
-						</div>
-					</div -->
-				</div>
-				<div class="b-console-results"></div>
-			</div>
-		</div>
-		<!-- actions toolbar -->
-		<div id="actions-toolbar" class="cc">
-			<a class="add-btn" href="#"><i class="add-btn-icon">&nbsp;</i>add dns</a>
-			<span class="select-all">select all</span>
-			<span class="clear-selected">Delete selected</span>
-		</div><!-- // actions toolbar -->
-		<div id="content">
-			<!-- additional info block -->
-			<div class="b-ext-info-wrap b-ext-info-wrap_collapsed">
-				<div class="b-ext-info">
-<p>Механическая природа пододвигается под устойчивый силовой трёхосный гироскопический стабилизатор, что увязывается со структурно-тектонической обстановкой, гидродинамическими условиями и литолого-минералогическим составом пород. Фосфоритообразование методически опускает уходящий огненный пояс, исходя из суммы моментов. Инерциальная навигация, в соответствии с основным законом динамики, представляет собой тальк, пользуясь последними системами уравнений. Имея такие данные, можно сделать существенный вывод о том, что маховик неустойчив.</p>
-				</div>
-				<div class="b-ext-info-btn"></div>
-			</div><!-- // additional info block -->
-			<div class="content-inner">
-				<div class="dns-list">
-					<!-- row 1 -->
-					<div class="row first-row dns-details-row">
-						<div class="row-actions-box cc">
-							<div class="check-this check-control"></div>
-							<div class="row-operations">
-								<span class="ip-status-info ip-enabled-status"><span class="ip-status-text">enabled</span></span>
-								<span class="delete-entry"><span class="delete-entry-text">delete</span></span>
-							</div>
-						</div>
-						<div class="row-meta">
-							<div class="entry-created">12.11.2010</div>
-						</div>
-						<div class="row-details cc">
-							<div class="props-main">
-								<div class="names">
-									<strong class="domain-name primary">naumov-socolov.co.uk</strong>
-								</div>
-								<div class="show-records">Show records</div>
-							</div>
-							<div class="props-additional">
-								<div class="ip-adr-box">
-									<span class="ip-adr">192<span class="dot">.</span>52<span class="dot">.</span>107<span class="dot">.</span>26</span>
-									<span class="prop-box template-box">
-										<span class="prop-title">template:</span>
-										<span class="prop-value">default</span>
-									</span>
-								</div>
-							</div>
-							<div class="props-ext">
-								<span class="prop-box ttl-box">
-									<span class="prop-title">ttl:</span>
-									<span class="prop-value">7200</span>
-								</span>
-								<span class="prop-box soa-box">
-									<span class="prop-title">soa:</span>
-									<span class="prop-value">n1.readwriteweb.com</span>
-								</span>
-							</div>							
-						</div><!-- // .row-details -->
-					</div><!-- // .row 1 -->
-
-					<!-- row 2 -->
-					<div class="row dns-details-row">
-						<div class="row-actions-box cc">
-							<div class="check-this check-control"></div>
-							<div class="row-operations">
-								<span class="ip-status-info ip-enabled-status"><span class="ip-status-text">enabled</span></span>
-								<span class="delete-entry"><span class="delete-entry-text">delete</span></span>
-							</div>
-						</div>
-						<div class="row-meta">
-							<div class="entry-created">12.11.2010</div>
-						</div>
-						<div class="row-details cc">
-							<div class="props-main">
-								<div class="names">
-									<strong class="domain-name primary">naumov-socolov.co.uk</strong>
-								</div>
-								<div class="show-records">Show records</div>
-							</div>
-							<div class="props-additional">
-								<div class="ip-adr-box">
-									<span class="ip-adr">192<span class="dot">.</span>52<span class="dot">.</span>107<span class="dot">.</span>26</span>
-									<span class="prop-box template-box">
-										<span class="prop-title">template:</span>
-										<span class="prop-value">default</span>
-									</span>
-								</div>
-							</div>
-							<div class="props-ext">
-								<span class="prop-box ttl-box">
-									<span class="prop-title">ttl:</span>
-									<span class="prop-value">7200</span>
-								</span>
-								<span class="prop-box soa-box">
-									<span class="prop-title">soa:</span>
-									<span class="prop-value">n1.readwriteweb.com</span>
-								</span>
-							</div>							
-						</div><!-- // .row-details -->
-					</div><!-- // .row 2 -->
-
-					<!-- row 3 -->
-					<div class="row dns-details-row checked-row">
-						<div class="row-actions-box cc">
-							<div class="check-this check-control"></div>
-							<div class="row-operations">
-								<span class="ip-status-info ip-enabled-status"><span class="ip-status-text">enabled</span></span>
-								<span class="delete-entry"><span class="delete-entry-text">delete</span></span>
-							</div>
-						</div>
-						<div class="row-meta">
-							<div class="entry-created">12.11.2010</div>
-						</div>
-						<div class="row-details cc">
-							<div class="props-main">
-								<div class="names">
-									<strong class="domain-name primary">naumov-socolov.co.uk</strong>
-								</div>
-								<div class="show-records">Show records</div>
-							</div>
-							<div class="props-additional">
-								<div class="ip-adr-box">
-									<span class="ip-adr">192<span class="dot">.</span>52<span class="dot">.</span>107<span class="dot">.</span>26</span>
-									<span class="prop-box template-box">
-										<span class="prop-title">template:</span>
-										<span class="prop-value">default</span>
-									</span>
-								</div>
-							</div>
-							<div class="props-ext">
-								<span class="prop-box ttl-box">
-									<span class="prop-title">ttl:</span>
-									<span class="prop-value">7200</span>
-								</span>
-								<span class="prop-box soa-box">
-									<span class="prop-title">soa:</span>
-									<span class="prop-value">n1.readwriteweb.com</span>
-								</span>
-							</div>							
-						</div><!-- // .row-details -->
-					</div><!-- // .row 3 -->
-
-					<!-- row 4 -->
-					<div class="row dns-details-row">
-						<div class="row-actions-box cc">
-							<div class="check-this check-control"></div>
-							<div class="row-operations">
-								<span class="ip-status-info ip-enabled-status"><span class="ip-status-text">enabled</span></span>
-								<span class="delete-entry"><span class="delete-entry-text">delete</span></span>
-							</div>
-						</div>
-						<div class="row-meta">
-							<div class="entry-created">12.11.2010</div>
-						</div>
-						<div class="row-details cc">
-							<div class="props-main">
-								<div class="names">
-									<strong class="domain-name primary">naumov-socolov.co.uk</strong>
-								</div>
-								<div class="show-records hidden">Show records</div>
-							</div>
-							<div class="props-additional">
-								<div class="ip-adr-box">
-									<span class="ip-adr">192<span class="dot">.</span>52<span class="dot">.</span>107<span class="dot">.</span>26</span>
-									<span class="prop-box template-box">
-										<span class="prop-title">template:</span>
-										<span class="prop-value">default</span>
-									</span>
-								</div>
-							</div>
-							<div class="props-ext">
-								<span class="prop-box ttl-box">
-									<span class="prop-title">ttl:</span>
-									<span class="prop-value">7200</span>
-								</span>
-								<span class="prop-box soa-box">
-									<span class="prop-title">soa:</span>
-									<span class="prop-value">n1.readwriteweb.com</span>
-								</span>
-							</div>							
-						</div><!-- // .row-details -->
-					</div><!-- // .row 4 -->
-
-					<!-- show/edit dns records contextual form -->
-					<div class="b-new-entry b-records-list">
-						<div class="entry-header">
-							<div class="hide-records">Hide records</div>
-						</div>
-						<div class="form-error">
-							<div class="error-box">
-								<span class="error-message">Wrong record format. Need some <a class="help-tip-url" href="#">Help</a> ?</span>
-							</div>
-						</div>
-						<div class="form-row add-box cc">
-							<a class="add-btn" href="#"><i class="add-btn-icon">&nbsp;</i>add dns record</a>
-						</div>
-
-						<div class="form-row form-row-line cc">
-							<div class="field-box dns-record-box">
-								<label class="field-label" for="#">record:</label>
-								<div class="field-box-inner cc">
-									<input class="text-field" type="text" value="" />
-									<div class="field-devider">in</div>
-								</div>
-							</div>
-
-							<div class="field-box dns-type-box">
-								<label class="field-label" for="#">type:</label>
-								<select class="styled" name="dns-type-1">
-									<option value="1" selected="selected">A</option>
-									<option value="2">B</option>
-									<option value="3">C</option>
-								</select>
-							</div>
-							<div class="field-box dns-value-box">
-								<label class="field-label" for="#">value:</label>
-								<input class="text-field" type="text" value="" />
-							</div>
-							<div class="delete-record"></div>
-						</div>				
-
-						<div class="form-row form-row-line cc">
-							<div class="field-box dns-record-box">
-								<input class="text-field" type="text" value="" />
-							</div>
-							<div class="field-devider">in</div>
-							<div class="field-box dns-type-box">
-								<select class="styled" name="dns-type-2">
-									<option value="1" selected="selected">A</option>
-									<option value="2">B</option>
-									<option value="3">C</option>
-								</select>
-							</div>
-							<div class="field-box dns-value-box">
-								<input class="text-field" type="text" value="" />
-							</div>
-							<div class="delete-record"></div>
-						</div>				
-
-						<div class="form-row form-row-line cc">
-							<div class="field-box dns-record-box">
-								<input class="text-field" type="text" value="" />
-							</div>
-							<div class="field-devider">in</div>
-							<div class="field-box dns-type-box">
-								<select class="styled" name="dns-type-3">
-									<option value="1" selected="selected">A</option>
-									<option value="2">B</option>
-									<option value="3">C</option>
-								</select>
-							</div>
-							<div class="field-box dns-value-box">
-								<input class="text-field" type="text" value="" />
-							</div>
-							<div class="delete-record"></div>
-						</div>				
-
-						<div class="form-row buttons-row cc">
-							<input class="add-entry-btn" type="submit" value="save" />
-							<span class="cancel-btn">Cancel</span>
-							<span class="help-btn">Help</span>
-						</div>
-					</div><!-- // form -->
-
-					<!-- form -->
-					<div class="b-new-entry b-new-entry_dns" style="margin-top:25px;">
-						<div class="entry-header">New dns</div>
-						<div class="form-row cc">
-							<label class="field-label" for="#">domain:</label>
-							<input class="text-field" type="text" value="www.digital-photography-school.com" />
-						</div>
-						<div class="form-row cc">
-							<label class="field-label" for="#">ip address:</label>
-							<div class="autocomplete-box">
-								<input class="text-field" type="text" value="192.168.64.19" />
-								<i class="arrow">&nbsp;</i>
-							</div>
-						</div>
-						<div class="form-row dns-template-box cc">
-							<label class="field-label" for="#">template:</label>
-							<select class="styled" name="template">
-								<option value="1" selected="selected">default</option>
-								<option value="2">custom</option>
-								<option value="3">advanced</option>
-							</select>
-							<span class="context-settings">View template settings</span>
-						</div>
-						
-						<div class="form-row buttons-row cc">
-							<input class="add-entry-btn" type="submit" value="add" />
-							<span class="cancel-btn">Cancel</span>
-							<span class="help-btn">Help</span>
-						</div>
-					</div><!-- // form -->
-				</div><!-- // .domain-list -->
-			</div>
-		</div><!-- // #content -->
-	</div>
-</div>
-</body>
-</html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru">
+
+<head>
+	<title>Vesta | DNS</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+	<meta http-equiv="imagetoolbar" content="false" />
+
+	<link rel="stylesheet" media="all" type="text/css" href="css/reset2.css" />
+	<link rel="stylesheet" media="all" type="text/css" href="css/vesta.css" />
+
+	<!--[if lt IE 8]>
+		<link rel="stylesheet" type="text/css" href="css/ie.css" />
+    <![endif]-->
+
+	<script type="text/javascript" src="js/custom-form-elements.js"></script>
+</head>
+
+<body>
+<div id="page">
+	<div class="outer">
+		<div id="header">
+			<div class="logo-box">
+				<h1 class="logo"><a href="#">Vesta panel <span>&nbsp;</span></a></h1>
+			</div>
+			<ul class="settings">
+				<li class="settings-item">
+					<span class="logged-as">Fabricius Euphranor von Neoptolemos</span>
+					<a class="item-title" href="#">Profile</a>
+				</li>
+				<li class="settings-item"><a class="item-title" href="#">Settings</a></li>
+				<li class="logout"><a class="item-title" href="#"><span class="item-title-inner">Exit</span></a></li>
+			</ul>
+			<ul class="extra-services">
+				<li class="service-item active">
+					<span class="item-title">Backups</span>
+					<i class="item-devider"></i>
+				</li>
+				<li class="service-item">
+					<span class="item-title">Stats</span>
+					<i class="item-devider"></i>
+				</li>
+			</ul>
+		</div>
+		<div id="primary-nav-box">
+			<ul class="primary-nav cc">
+				<li class="section">
+					<div class="section-inner">
+						<dl class="users-nav-item">
+							<dt class="section-title cc">
+								<span class="to-section">Users</span> 
+								<i class="add-entry">&nbsp;</i>
+							</dt>
+							<dd class="section-contains">
+								<span class="def">386 users</span>
+								<span class="def">7 blocked</span>
+							</dd>
+						</dl>
+					</div>
+					<i class="section-devider"></i>
+				</li>
+				<li class="section">
+					<div class="section-inner">
+						<dl class="domains-nav-item">
+							<dt class="section-title cc">
+								<span class="to-section">Web Domain</span>
+								<i class="add-entry">&nbsp;</i>
+							</dt>
+							<dd class="section-contains">
+								<span class="def">580 domains</span>
+								<span class="def">22 out of mem</span>
+								<span class="def">3 waiting</span>
+							</dd>
+						</dl>
+					</div>
+					<i class="section-devider"></i>
+				</li>
+				<li class="section">
+					<div class="section-inner">
+						<dl class="mail-nav-item">
+							<dt class="section-title cc">
+								<span class="to-section">Mail</span>
+								<i class="add-entry">&nbsp;</i>
+							</dt>
+							<dd class="section-contains">
+								<span class="def">320 domains</span>
+								<span class="def">1209 mailboxes</span>
+								<span class="def">25 full</span>
+							</dd>
+						</dl>
+					</div>
+					<i class="section-devider"></i>
+				</li>
+				<li class="section">
+					<div class="section-inner">
+						<dl class="db-nav-item">
+							<dt class="section-title cc">
+								<span class="to-section">DB</span>
+								<i class="add-entry">&nbsp;</i>
+							</dt>
+							<dd class="section-contains">
+								<span class="def">7 db</span>
+							</dd>
+						</dl>
+					</div>
+					<i class="section-devider"></i>
+				</li>
+				<li class="section active">
+					<div class="section-inner">
+						<dl class="dns-nav-item">
+							<dt class="section-title cc">
+								<span class="to-section">Dns</span>
+								<i class="add-entry">&nbsp;</i>
+							</dt>
+							<dd class="section-contains">
+								<span class="def">289 records</span>
+							</dd>
+						</dl>
+					</div>
+					<i class="section-devider"></i>
+				</li>
+				<li class="section">
+					<div class="section-inner">
+						<dl class="dnstpl-nav-item">
+							<dt class="section-title cc">
+								<span class="to-section">IP</span> 
+								<i class="add-entry">&nbsp;</i>
+							</dt>
+							<dd class="section-contains">
+								<span class="def">7 templates</span>
+							</dd>
+						</dl>
+					</div>
+					<i class="section-devider"></i>
+				</li>
+				<li class="section last-section">
+					<div class="section-inner">
+						<dl class="cron-nav-item">
+							<dt class="section-title cc">
+								<span class="to-section">Cron</span>
+								<i class="add-entry">&nbsp;</i>
+							</dt>
+							<dd class="section-contains">
+								<span class="def">15 records</span>
+							</dd>
+						</dl>
+					</div>
+					<i class="section-devider"></i>
+				</li>
+			</ul>
+		</div>
+		<div id="console">
+			<div class="b-console">
+				<div class="b-console-wrap">
+					<form class="b-console-form cc" action="#" method="post">
+						<fieldset>
+							<input class="b-console-field" type="text" value="/"/>
+							<input class="b-console-btn" type="submit" value="Go" />
+						</fieldset>
+					</form>
+					<!-- div class="b-console-statuses">
+						<div class="b-console-status cc">
+							<p class="b-console-status-message">domain <b>google.com</b> have been added <br />
+Cтиль менеджмента, на первый взгляд, методически оправдывает культурный побочный PR-эффект, осознавая социальную ответственность бизнеса. Исходя из структуры пирамиды Маслоу, рекламное сообщество экономит product placement, невзирая на действия конкурентов. Узнавание бренда слабо транслирует имидж, оптимизируя бюджеты.
+							</p>
+							<span class="b-console-status-action">cancel</span>
+							<i class="b-console-status-arrow">&nbsp;</i>							
+						</div>
+					</div -->
+				</div>
+				<div class="b-console-results"></div>
+			</div>
+		</div>
+		<!-- actions toolbar -->
+		<div id="actions-toolbar" class="cc">
+			<a class="add-btn" href="#"><i class="add-btn-icon">&nbsp;</i>add dns</a>
+			
+			<div class="row-filters cc">
+				<div class="b-row-selector">
+					<div class="checkbox-selector cc">
+						<input class="styled" type="checkbox" value="" />
+						<span class="selector-title">385 Selected</span>
+					</div>
+					<div class="context-actions">
+						<div class="b-cust-sel b-cust-sel_inactive">
+							<span class="title">Action</span>
+							<div class="cust-sel-arrow"><i>&nbsp;</i></div>
+							<div class="cust-sel-options">
+								<div class="cust-sel-option ico_gray">Suspend</div>
+								<div class="cust-sel-option ico_green">Unsuspend</div>
+								<div class="cust-sel-option ico_red">Delete</div>
+							</div>
+						</div>
+					</div>
+				</div>
+				<!-- visible only for admin -->
+				<div class="domain-groups-selector">
+					<div class="selector-wrap">
+						<strong class="selector-title">Show:</strong>
+						<span class="selected-groups">mine, vesta, Chronos, vasya (and 35 more)</span>
+					</div>
+				</div><!-- // visible only for admin -->
+			</div>
+			
+		</div><!-- // actions toolbar -->
+		<div id="content">
+			<div class="content-inner">
+				<div class="dns-list">
+					<!-- row 1 -->
+					<div class="row first-row dns-details-row">
+						<div class="row-actions-box cc">
+							<div class="check-this check-control"></div>
+							<div class="row-operations">
+								<span class="ip-status-info ip-enabled-status"><span class="ip-status-text">active</span></span>
+							</div>
+						</div>
+						<div class="row-meta">
+							<div class="entry-created">12.11.2010</div>
+						</div>
+						<div class="row-details cc">
+							<div class="props-main">
+								<div class="names">
+									<strong class="domain-name primary">naumov-socolov.co.uk</strong>
+								</div>
+								<div class="show-records">Show records</div>
+							</div>
+							<div class="props-additional">
+								<div class="ip-adr-box">
+									<span class="ip-adr">192<span class="dot">.</span>52<span class="dot">.</span>107<span class="dot">.</span>26</span>
+									<span class="prop-box template-box">
+										<span class="prop-title">template:</span>
+										<span class="prop-value">default</span>
+									</span>
+								</div>
+							</div>
+							<div class="props-ext">
+								<span class="prop-box ttl-box">
+									<span class="prop-title">ttl:</span>
+									<span class="prop-value">7200</span>
+								</span>
+								<span class="prop-box soa-box">
+									<span class="prop-title">soa:</span>
+									<span class="prop-value">n1.readwriteweb.com</span>
+								</span>
+							</div>							
+						</div><!-- // .row-details -->
+					</div><!-- // .row 1 -->
+
+					<!-- row 2 -->
+					<div class="row dns-details-row">
+						<div class="row-actions-box cc">
+							<div class="check-this check-control"></div>
+							<div class="row-operations">
+								<span class="ip-status-info ip-enabled-status"><span class="ip-status-text">active</span></span>
+							</div>
+						</div>
+						<div class="row-meta">
+							<div class="entry-created">12.11.2010</div>
+						</div>
+						<div class="row-details cc">
+							<div class="props-main">
+								<div class="names">
+									<strong class="domain-name primary">naumov-socolov.co.uk</strong>
+								</div>
+								<div class="show-records">Show records</div>
+							</div>
+							<div class="props-additional">
+								<div class="ip-adr-box">
+									<span class="ip-adr">192<span class="dot">.</span>52<span class="dot">.</span>107<span class="dot">.</span>26</span>
+									<span class="prop-box template-box">
+										<span class="prop-title">template:</span>
+										<span class="prop-value">default</span>
+									</span>
+								</div>
+							</div>
+							<div class="props-ext">
+								<span class="prop-box ttl-box">
+									<span class="prop-title">ttl:</span>
+									<span class="prop-value">7200</span>
+								</span>
+								<span class="prop-box soa-box">
+									<span class="prop-title">soa:</span>
+									<span class="prop-value">n1.readwriteweb.com</span>
+								</span>
+							</div>							
+						</div><!-- // .row-details -->
+					</div><!-- // .row 2 -->
+
+					<!-- row 3 -->
+					<div class="row dns-details-row checked-row">
+						<div class="row-actions-box cc">
+							<div class="check-this check-control"></div>
+							<div class="row-operations">
+								<span class="ip-status-info ip-enabled-status"><span class="ip-status-text">active</span></span>
+							</div>
+						</div>
+						<div class="row-meta">
+							<div class="entry-created">12.11.2010</div>
+						</div>
+						<div class="row-details cc">
+							<div class="props-main">
+								<div class="names">
+									<strong class="domain-name primary">naumov-socolov.co.uk</strong>
+								</div>
+								<div class="show-records">Show records</div>
+							</div>
+							<div class="props-additional">
+								<div class="ip-adr-box">
+									<span class="ip-adr">192<span class="dot">.</span>52<span class="dot">.</span>107<span class="dot">.</span>26</span>
+									<span class="prop-box template-box">
+										<span class="prop-title">template:</span>
+										<span class="prop-value">default</span>
+									</span>
+								</div>
+							</div>
+							<div class="props-ext">
+								<span class="prop-box ttl-box">
+									<span class="prop-title">ttl:</span>
+									<span class="prop-value">7200</span>
+								</span>
+								<span class="prop-box soa-box">
+									<span class="prop-title">soa:</span>
+									<span class="prop-value">n1.readwriteweb.com</span>
+								</span>
+							</div>							
+						</div><!-- // .row-details -->
+					</div><!-- // .row 3 -->
+
+					<!-- row 4 -->
+					<div class="row dns-details-row">
+						<div class="row-actions-box cc">
+							<div class="check-this check-control"></div>
+							<div class="row-operations">
+								<span class="ip-status-info ip-enabled-status"><span class="ip-status-text">active</span></span>
+							</div>
+						</div>
+						<div class="row-meta">
+							<div class="entry-created">12.11.2010</div>
+						</div>
+						<div class="row-details cc">
+							<div class="props-main">
+								<div class="names">
+									<strong class="domain-name primary">naumov-socolov.co.uk</strong>
+								</div>
+								<div class="show-records hidden">Show records</div>
+							</div>
+							<div class="props-additional">
+								<div class="ip-adr-box">
+									<span class="ip-adr">192<span class="dot">.</span>52<span class="dot">.</span>107<span class="dot">.</span>26</span>
+									<span class="prop-box template-box">
+										<span class="prop-title">template:</span>
+										<span class="prop-value">default</span>
+									</span>
+								</div>
+							</div>
+							<div class="props-ext">
+								<span class="prop-box ttl-box">
+									<span class="prop-title">ttl:</span>
+									<span class="prop-value">7200</span>
+								</span>
+								<span class="prop-box soa-box">
+									<span class="prop-title">soa:</span>
+									<span class="prop-value">n1.readwriteweb.com</span>
+								</span>
+							</div>							
+						</div><!-- // .row-details -->
+					</div><!-- // .row 4 -->
+
+					<!-- show/edit dns records contextual form -->
+					<div class="b-new-entry b-records-list">
+						<div class="entry-header">
+							<div class="hide-records">Hide records</div>
+						</div>
+						<div class="form-error">
+							<div class="error-box">
+								<span class="error-message">Wrong record format. Need some <a class="help-tip-url" href="#">Help</a> ?</span>
+							</div>
+						</div>
+						<div class="form-row add-box cc">
+							<a class="add-btn" href="#"><i class="add-btn-icon">&nbsp;</i>add dns record</a>
+						</div>
+
+						<div class="form-row form-row-line cc">
+							<div class="field-box dns-record-box">
+								<label class="field-label" for="#">record:</label>
+								<div class="field-box-inner cc">
+									<input class="text-field" type="text" value="" />
+									<div class="field-devider">in</div>
+								</div>
+							</div>
+
+							<div class="field-box dns-type-box">
+								<label class="field-label" for="#">type:</label>
+								<select class="styled" name="dns-type-1">
+									<option value="1" selected="selected">A</option>
+									<option value="2">B</option>
+									<option value="3">C</option>
+								</select>
+							</div>
+							<div class="field-box dns-value-box">
+								<label class="field-label" for="#">value:</label>
+								<input class="text-field" type="text" value="" />
+							</div>
+							<div class="delete-record"></div>
+						</div>				
+
+						<div class="form-row form-row-line cc">
+							<div class="field-box dns-record-box">
+								<input class="text-field" type="text" value="" />
+							</div>
+							<div class="field-devider">in</div>
+							<div class="field-box dns-type-box">
+								<select class="styled" name="dns-type-2">
+									<option value="1" selected="selected">A</option>
+									<option value="2">B</option>
+									<option value="3">C</option>
+								</select>
+							</div>
+							<div class="field-box dns-value-box">
+								<input class="text-field" type="text" value="" />
+							</div>
+							<div class="delete-record"></div>
+						</div>				
+
+						<div class="form-row form-row-line cc">
+							<div class="field-box dns-record-box">
+								<input class="text-field" type="text" value="" />
+							</div>
+							<div class="field-devider">in</div>
+							<div class="field-box dns-type-box">
+								<select class="styled" name="dns-type-3">
+									<option value="1" selected="selected">A</option>
+									<option value="2">B</option>
+									<option value="3">C</option>
+								</select>
+							</div>
+							<div class="field-box dns-value-box">
+								<input class="text-field" type="text" value="" />
+							</div>
+							<div class="delete-record"></div>
+						</div>
+						
+						<div class="form-row buttons-row cc">
+							<input class="add-entry-btn" type="submit" value="save" />
+							<span class="cancel-btn">Cancel</span>
+							<span class="delete-btn">Delete</span>
+						</div>
+					</div><!-- // form -->
+
+					<!-- form -->
+					<div class="b-new-entry b-new-entry_dns">
+						<div class="entry-header">New dns</div>
+						<div class="form-error">
+							<div class="error-box">
+								<span class="error-message">Wrong record format. Need some <a class="help-tip-url" href="#">Help</a> ?</span>
+							</div>
+						</div>
+						<div class="form-row cc">
+							<label class="field-label" for="#">domain:</label>
+							<input class="text-field" type="text" value="www.digital-photography-school.com" />
+						</div>
+						<div class="form-row cc">
+							<label class="field-label" for="#">ip address:</label>
+							<div class="autocomplete-box">
+								<input class="text-field" type="text" value="192.168.64.19" />
+								<i class="arrow">&nbsp;</i>
+							</div>
+						</div>
+						<div class="form-row dns-template-box cc">
+							<label class="field-label" for="#">template:</label>
+							<select class="styled" name="template">
+								<option value="1" selected="selected">default</option>
+								<option value="2">custom</option>
+								<option value="3">advanced</option>
+							</select>
+							<span class="context-settings">View template settings</span>
+						</div>
+						<div class="form-row cc">
+							<label class="field-label" for="#">ttl:</label>
+							<input class="text-field ttl-field" type="text" value="" />
+						</div>
+						<div class="form-row cc">
+							<label class="field-label" for="#">soa:</label>
+							<input class="text-field" type="text" value="www.digital-photography-school.com" />
+						</div>
+
+						<div class="form-row cc">
+							<label class="field-label" for="#">suspended:</label>
+							<input class="styled" type="checkbox" value="" />
+						</div>
+						
+						<div class="form-row buttons-row cc">
+							<input class="add-entry-btn" type="submit" value="add" />
+							<span class="cancel-btn">Cancel</span>
+							<span class="delete-btn">Delete</span>
+						</div>
+					</div><!-- // form -->
+				</div><!-- // .domain-list -->
+			</div>
+		</div><!-- // #content -->
+	</div>
+</div>
+</body>
+</html>

BIN
web/static-templates/i/_asterisk.gif


BIN
web/static-templates/i/asterisk1.png


BIN
web/static-templates/i/asterisk2.png


BIN
web/static-templates/i/auth/auth-bg.png


BIN
web/static-templates/i/auth/checkboxes.png


BIN
web/static-templates/i/auth/form-bg.png


BIN
web/static-templates/i/auth/logo.png


BIN
web/static-templates/i/auth/planet-1.png


BIN
web/static-templates/i/auth/planet-2.png


BIN
web/static-templates/i/autocomplete-field-arrows-sprite.png


BIN
web/static-templates/i/backup-checkbox-checked.png


BIN
web/static-templates/i/backup-checkbox-unchecked.png


Unele fișiere nu au fost afișate deoarece prea multe fișiere au fost modificate în acest diff