fmsystem-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Fmsystem-commits] [8397] Merge 8369:8396 from trunk


From: Sigurd Nes
Subject: [Fmsystem-commits] [8397] Merge 8369:8396 from trunk
Date: Tue, 20 Dec 2011 13:21:45 +0000

Revision: 8397
          http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=8397
Author:   sigurdne
Date:     2011-12-20 13:21:44 +0000 (Tue, 20 Dec 2011)
Log Message:
-----------
Merge 8369:8396 from trunk

Modified Paths:
--------------
    branches/Version-1_0-branch/controller/images/bg_expand_active.psd
    branches/Version-1_0-branch/controller/images/bg_expand_not_active.psd
    branches/Version-1_0-branch/controller/images/status_icon_light_green.png
    branches/Version-1_0-branch/controller/images/status_icon_light_green.psd
    branches/Version-1_0-branch/controller/images/status_icon_yellow.png
    branches/Version-1_0-branch/controller/images/status_icon_yellow.psd
    branches/Version-1_0-branch/controller/inc/class.menu.inc.php
    branches/Version-1_0-branch/controller/inc/class.socheck_item.inc.php
    branches/Version-1_0-branch/controller/inc/class.socheck_list.inc.php
    branches/Version-1_0-branch/controller/inc/class.socontrol.inc.php
    branches/Version-1_0-branch/controller/inc/class.sodocument.inc.php
    branches/Version-1_0-branch/controller/inc/class.uicheck_list.inc.php
    
branches/Version-1_0-branch/controller/inc/class.uicheck_list_for_location.inc.php
    branches/Version-1_0-branch/controller/inc/class.uidocument.inc.php
    branches/Version-1_0-branch/controller/inc/class.uiprocedure.inc.php
    
branches/Version-1_0-branch/controller/inc/component/class.calendar_builder.inc.php
    
branches/Version-1_0-branch/controller/inc/component/class.date_generator.inc.php
    branches/Version-1_0-branch/controller/js/controller/ajax.js
    branches/Version-1_0-branch/controller/js/controller/custom_ui.js
    branches/Version-1_0-branch/controller/setup/phpgw_no.lang
    branches/Version-1_0-branch/controller/setup/setup.inc.php
    branches/Version-1_0-branch/controller/setup/tables_current.inc.php
    branches/Version-1_0-branch/controller/setup/tables_update.inc.php
    
branches/Version-1_0-branch/controller/templates/base/add_check_list_for_location.xsl
    branches/Version-1_0-branch/controller/templates/base/css/base.css
    branches/Version-1_0-branch/controller/templates/base/edit_check_list.xsl
    branches/Version-1_0-branch/controller/templates/base/procedure_item.xsl
    
branches/Version-1_0-branch/controller/templates/base/view_calendar_month.xsl
    branches/Version-1_0-branch/property/inc/class.boXport.inc.php
    branches/Version-1_0-branch/property/inc/class.boalarm.inc.php
    branches/Version-1_0-branch/property/inc/class.uialarm.inc.php

Added Paths:
-----------
    branches/Version-1_0-branch/controller/images/bg_expand_active.png
    branches/Version-1_0-branch/controller/images/bg_expand_not_active.png
    branches/Version-1_0-branch/controller/images/bg_tab_menu_active.png
    branches/Version-1_0-branch/controller/images/bg_tab_menu_active.psd
    branches/Version-1_0-branch/controller/images/bg_tab_menu_not_active.png
    branches/Version-1_0-branch/controller/images/bg_tab_menu_not_active.psd
    branches/Version-1_0-branch/controller/inc/class.uicalendar.inc.php
    branches/Version-1_0-branch/controller/js/controller/jquery-ui.custom.min.js
    
branches/Version-1_0-branch/controller/js/controller/jquery-ui.custom.min_bac.js
    
branches/Version-1_0-branch/controller/templates/base/css/jquery-ui.custom.css
    
branches/Version-1_0-branch/controller/templates/base/css/jquery-ui.custom_bac.css
    
branches/Version-1_0-branch/controller/templates/base/procedure_documents.xsl
    branches/Version-1_0-branch/controller/templates/base/procedure_tabs.xsl

Removed Paths:
-------------
    
branches/Version-1_0-branch/controller/inc/class.uilocation_check_list.inc.php
    branches/Version-1_0-branch/controller/js/controller/jquery-ui.custom.min.js
    
branches/Version-1_0-branch/controller/templates/base/css/jquery-ui.custom.css

Property Changed:
----------------
    branches/Version-1_0-branch/


Property changes on: branches/Version-1_0-branch
___________________________________________________________________
Modified: svn:mergeinfo
   - 
/trunk:6439-6441,6443,6445-6447,6449-6464,6466-6468,6470-6474,6476-6477,6479-6480,6483-6488,6490-6491,6493-6494,6496-6501,6503-6504,6506,6508,6510-6511,6513,6515-6516,6518,6520-6524,6526-6528,6533-6534,6536-6541,6543-6565,6567,6569,6571-6576,6578,6580-6586,6588-6596,6598-6600,6602-6604,6606-6607,6609-6611,6613-6625,6629-6639,6641-6643,6645-6646,6648,6650-6654,6656-6659,6661-6663,6665-6666,6668-6669,6672-6673,6675,6677-6678,6680,6682-6686,6688-6717,6719,6721-6722,6724-6728,6730,6732-6734,6736-6739,6741,6743,6745-6746,6748-6756,6758-6762,6764,6766-6788,6790,6792-6798,6800-6814,6816-6819,6821-6822,6824-6826,6828-6837,6839,6841,6843-6849,6851,6853-6869,6871-6874,6876-6877,6879,6881,6883,6885-6886,6888-6893,6895-6897,6899-6901,6903,6905-6907,6909,6911-6929,6931-6936,6938-6947,6949,6951,6953,6955-6956,6958-6959,6961-6968,6970-6971,6973-6974,6976-6978,6980,6982-7017,7019-7025,7027-7035,7037-7039,7041-7045,7047-7055,7057,7059-7065,7067-7069,7071,7073,7075-7076,7078,7080-7081,7083,7085,7087,7089-7097,7099-7102,7104-7105,7107-7111,7113-7120,7122-7124,7126-7129,7131,7133-7141,7143,7145-7146,7148-7150,7152-7153,7155-7158,7160-7164,7166-7167,7169-7170,7172,7174,7176,7178,7180-7181,7183,7185,7187-7188,7190,7192-7196,7198-7199,7201-7203,7205,7207,7209-7210,7212,7214,7216-7217,7219-7222,7224-7226,7228-7229,7231,7233-7234,7236-7238,7240-7241,7243-7244,7246,7248,7250,7252-7256,7258-7259,7261-7264,7266-7273,7275-7279,7281-7332,7334-7338,7340-7348,7350,7352-7353,7355-7361,7363-7366,7368-7370,7372,7374,7376,7378,7380-7386,7388-7400,7402,7404-7433,7435-7439,7441-7446,7448-7458,7460-7469,7471-7483,7485-7487,7489-7490,7492,7494,7496-7497,7499,7501-7502,7504,7506-7507,7509-7511,7513-7517,7519-7521,7523,7525,7527-7529,7531,7533,7535-7538,7540-7542,7544-7549,7551-7552,7554-7561,7563,7565,7567-7573,7575-7578,7580-7584,7586-7591,7593-7624,7627-7636,7638-7656,7658-7718,7720-7732,7734,7736,7738-7750,7754-7759,7761-7767,7769-7780,7782,7784-7809,7811-7812,7814-7835,7837-7847,7849-7887,7889-7895,7897,7899,7901,7903-7905,7907-7921,7923-7925,7927-7933,7935,7937-7952,7954-7968,7970-7974,7976,7978-7979,7981-7982,7984-7988,7990-7992,7994-8041,8043-8066,8068-8087,8089,8091-8108,8110-8124,8126-8129,8131,8133-8150,8152-8154,8156-8162,8164-8167,8169-8170,8172-8179,8181,8183-8196,8198-8207,8209-8211,8213-8214,8216-8217,8219-8220,8222,8224-8225,8227-8247,8249,8251,8253-8282,8284-8352,8354-8368
   + 
/trunk:6439-6441,6443,6445-6447,6449-6464,6466-6468,6470-6474,6476-6477,6479-6480,6483-6488,6490-6491,6493-6494,6496-6501,6503-6504,6506,6508,6510-6511,6513,6515-6516,6518,6520-6524,6526-6528,6533-6534,6536-6541,6543-6565,6567,6569,6571-6576,6578,6580-6586,6588-6596,6598-6600,6602-6604,6606-6607,6609-6611,6613-6625,6629-6639,6641-6643,6645-6646,6648,6650-6654,6656-6659,6661-6663,6665-6666,6668-6669,6672-6673,6675,6677-6678,6680,6682-6686,6688-6717,6719,6721-6722,6724-6728,6730,6732-6734,6736-6739,6741,6743,6745-6746,6748-6756,6758-6762,6764,6766-6788,6790,6792-6798,6800-6814,6816-6819,6821-6822,6824-6826,6828-6837,6839,6841,6843-6849,6851,6853-6869,6871-6874,6876-6877,6879,6881,6883,6885-6886,6888-6893,6895-6897,6899-6901,6903,6905-6907,6909,6911-6929,6931-6936,6938-6947,6949,6951,6953,6955-6956,6958-6959,6961-6968,6970-6971,6973-6974,6976-6978,6980,6982-7017,7019-7025,7027-7035,7037-7039,7041-7045,7047-7055,7057,7059-7065,7067-7069,7071,7073,7075-7076,7078,7080-7081,7083,7085,7087,7089-7097,7099-7102,7104-7105,7107-7111,7113-7120,7122-7124,7126-7129,7131,7133-7141,7143,7145-7146,7148-7150,7152-7153,7155-7158,7160-7164,7166-7167,7169-7170,7172,7174,7176,7178,7180-7181,7183,7185,7187-7188,7190,7192-7196,7198-7199,7201-7203,7205,7207,7209-7210,7212,7214,7216-7217,7219-7222,7224-7226,7228-7229,7231,7233-7234,7236-7238,7240-7241,7243-7244,7246,7248,7250,7252-7256,7258-7259,7261-7264,7266-7273,7275-7279,7281-7332,7334-7338,7340-7348,7350,7352-7353,7355-7361,7363-7366,7368-7370,7372,7374,7376,7378,7380-7386,7388-7400,7402,7404-7433,7435-7439,7441-7446,7448-7458,7460-7469,7471-7483,7485-7487,7489-7490,7492,7494,7496-7497,7499,7501-7502,7504,7506-7507,7509-7511,7513-7517,7519-7521,7523,7525,7527-7529,7531,7533,7535-7538,7540-7542,7544-7549,7551-7552,7554-7561,7563,7565,7567-7573,7575-7578,7580-7584,7586-7591,7593-7624,7627-7636,7638-7656,7658-7718,7720-7732,7734,7736,7738-7750,7754-7759,7761-7767,7769-7780,7782,7784-7809,7811-7812,7814-7835,7837-7847,7849-7887,7889-7895,7897,7899,7901,7903-7905,7907-7921,7923-7925,7927-7933,7935,7937-7952,7954-7968,7970-7974,7976,7978-7979,7981-7982,7984-7988,7990-7992,7994-8041,8043-8066,8068-8087,8089,8091-8108,8110-8124,8126-8129,8131,8133-8150,8152-8154,8156-8162,8164-8167,8169-8170,8172-8179,8181,8183-8196,8198-8207,8209-8211,8213-8214,8216-8217,8219-8220,8222,8224-8225,8227-8247,8249,8251,8253-8282,8284-8352,8354-8368,8370-8396

Copied: branches/Version-1_0-branch/controller/images/bg_expand_active.png 
(from rev 8396, trunk/controller/images/bg_expand_active.png)
===================================================================
(Binary files differ)

Modified: branches/Version-1_0-branch/controller/images/bg_expand_active.psd
===================================================================
(Binary files differ)

Copied: branches/Version-1_0-branch/controller/images/bg_expand_not_active.png 
(from rev 8396, trunk/controller/images/bg_expand_not_active.png)
===================================================================
(Binary files differ)

Modified: branches/Version-1_0-branch/controller/images/bg_expand_not_active.psd
===================================================================
(Binary files differ)

Copied: branches/Version-1_0-branch/controller/images/bg_tab_menu_active.png 
(from rev 8396, trunk/controller/images/bg_tab_menu_active.png)
===================================================================
(Binary files differ)

Copied: branches/Version-1_0-branch/controller/images/bg_tab_menu_active.psd 
(from rev 8396, trunk/controller/images/bg_tab_menu_active.psd)
===================================================================
(Binary files differ)

Copied: 
branches/Version-1_0-branch/controller/images/bg_tab_menu_not_active.png (from 
rev 8396, trunk/controller/images/bg_tab_menu_not_active.png)
===================================================================
(Binary files differ)

Copied: 
branches/Version-1_0-branch/controller/images/bg_tab_menu_not_active.psd (from 
rev 8396, trunk/controller/images/bg_tab_menu_not_active.psd)
===================================================================
(Binary files differ)

Modified: 
branches/Version-1_0-branch/controller/images/status_icon_light_green.png
===================================================================
(Binary files differ)

Modified: 
branches/Version-1_0-branch/controller/images/status_icon_light_green.psd
===================================================================
(Binary files differ)

Modified: branches/Version-1_0-branch/controller/images/status_icon_yellow.png
===================================================================
(Binary files differ)

Modified: branches/Version-1_0-branch/controller/images/status_icon_yellow.psd
===================================================================
(Binary files differ)

Modified: branches/Version-1_0-branch/controller/inc/class.menu.inc.php
===================================================================
--- branches/Version-1_0-branch/controller/inc/class.menu.inc.php       
2011-12-20 13:07:33 UTC (rev 8396)
+++ branches/Version-1_0-branch/controller/inc/class.menu.inc.php       
2011-12-20 13:21:44 UTC (rev 8397)
@@ -105,7 +105,7 @@
                                        'calendar_overview' => array
                                        (
                                                'text'  => 
lang('Calendar_overview'),
-                                               'url'   => 
$GLOBALS['phpgw']->link('/index.php', array('menuaction'=> 
'controller.uilocation_check_list.view_calendar_for_month', 'year' => '2011', 
'month' => '10') ),
+                                               'url'   => 
$GLOBALS['phpgw']->link('/index.php', array('menuaction'=> 
'controller.uicalendar.view_calendar_for_month', 'year' => '2011', 'month' => 
'10') ),
                                                'image' => array('property', 
'location_1'),
                                        )
                                );

Modified: branches/Version-1_0-branch/controller/inc/class.socheck_item.inc.php
===================================================================
--- branches/Version-1_0-branch/controller/inc/class.socheck_item.inc.php       
2011-12-20 13:07:33 UTC (rev 8396)
+++ branches/Version-1_0-branch/controller/inc/class.socheck_item.inc.php       
2011-12-20 13:21:44 UTC (rev 8397)
@@ -99,7 +99,7 @@
 
                public function get_single($check_item_id)
                {
-                       $sql = "SELECT ci.*, coi.id as coi_id, coi.* ";
+                       $sql = "SELECT ci.*, ci.id as c_id, coi.id as coi_id, 
coi.* ";
                        $sql .= "FROM controller_check_item ci, 
controller_control_item coi "; 
                        $sql .= "WHERE ci.id = $check_item_id ";
                        $sql .= "AND ci.control_item_id=coi.id";
@@ -107,11 +107,11 @@
                        $this->db->limit_query($sql, 0, __LINE__, __FILE__, 1);
 
                        if($this->db->next_record()) {
-                               $check_item = new 
controller_check_item($this->unmarshal($this->db->f('id', true), 'int'));
-                               
$check_item->set_control_item_id($this->unmarshal($this->db->f('control_item_id',
 true), 'int'));
+                               $check_item = new 
controller_check_item($this->unmarshal($this->db->f('c_id', true), 'int'));
                                
$check_item->set_status($this->unmarshal($this->db->f('status', true), 'bool'));
                                
$check_item->set_comment($this->unmarshal($this->db->f('comment', true), 
'string'));
                                
$check_item->set_check_list_id($this->unmarshal($this->db->f('check_list_id', 
true), 'int'));
+                               
$check_item->set_control_item_id($this->unmarshal($this->db->f('control_item_id',
 true), 'int'));
 
                                $control_item = new 
controller_control_item($this->unmarshal($this->db->f('coi_id', true), 'int'));
                                $control_item->set_title($this->db->f('title', 
true), 'string');

Modified: branches/Version-1_0-branch/controller/inc/class.socheck_list.inc.php
===================================================================
--- branches/Version-1_0-branch/controller/inc/class.socheck_list.inc.php       
2011-12-20 13:07:33 UTC (rev 8396)
+++ branches/Version-1_0-branch/controller/inc/class.socheck_list.inc.php       
2011-12-20 13:21:44 UTC (rev 8397)
@@ -51,7 +51,7 @@
        }
        
        public function get_single($check_list_id){
-               $sql = "SELECT cl.id as cl_id, cl.status as cl_status, 
cl.comment as cl_comment, deadline, ci.id as ci_id, ci.status as ci_status, 
control_item_id, ci.comment as ci_comment, check_list_id FROM 
controller_check_list cl, controller_check_item ci WHERE cl.id = $check_list_id 
AND cl.id = ci.check_list_id;";
+               $sql = "SELECT cl.id as cl_id, cl.status as cl_status, 
cl.control_id, cl.comment as cl_comment, deadline, ci.id as ci_id, ci.status as 
ci_status, control_item_id, ci.comment as ci_comment, check_list_id FROM 
controller_check_list cl, controller_check_item ci WHERE cl.id = $check_list_id 
AND cl.id = ci.check_list_id;";
                $this->db->query($sql);
                
                $counter = 0;
@@ -60,6 +60,7 @@
                        
                        if($counter == 0){
                                $check_list = new 
controller_check_list($this->unmarshal($this->db->f('cl_id', true), 'int'));
+                               
$check_list->set_control_id($this->unmarshal($this->db->f('control_id', true), 
'int'));
                                
$check_list->set_status($this->unmarshal($this->db->f('cl_status', true), 
'bool'));
                                
$check_list->set_comment($this->unmarshal($this->db->f('cl_comment', true), 
'string'));
                                
$check_list->set_deadline($this->unmarshal($this->db->f('deadline', true), 
'int'));     
@@ -84,15 +85,18 @@
                }
        }
                
-       public function get_single_with_check_items($check_list_id){
-               $sql  = "SELECT cl.id as cl_id, cl.status as cl_status, 
cl.comment as cl_comment, deadline, planned_date, completed_date, ";
+       public function get_single_with_check_items($check_list_id, $status){
+               $sql  = "SELECT cl.id as cl_id, cl.status as cl_status, 
cl.control_id, cl.comment as cl_comment, deadline, planned_date, 
completed_date, ";
                $sql .= "ci.id as ci_id, ci.status as ci_status, 
control_item_id, ci.comment as ci_comment, check_list_id, "; 
                $sql .= "coi.title as coi_id, coi.title as coi_title, 
coi.required as coi_required, coi.required as coi_required, ";
                $sql .= "coi.what_to_do as coi_what_to_do, coi.how_to_do as 
coi_how_to_do, coi.control_group_id as coi_control_group_id "; 
                $sql .= "FROM controller_check_list cl "; 
                $sql .= "LEFT JOIN controller_check_item as ci ON cl.id = 
ci.check_list_id ";
                $sql .= "LEFT JOIN controller_control_item as coi ON 
ci.control_item_id=coi.id ";
-               $sql .= "WHERE cl.id = $check_list_id;";
+               $sql .= "WHERE cl.id = $check_list_id";
+               
+               if($status == 'open')
+                       $sql .= "AND ci.status = 0";
                                
                $this->db->query($sql);
                
@@ -104,6 +108,7 @@
                        if($counter == 0){
                                $check_list = new 
controller_check_list($this->unmarshal($this->db->f('cl_id', true), 'int'));
                                
$check_list->set_status($this->unmarshal($this->db->f('cl_status', true), 
'bool'));
+                               
$check_list->set_control_id($this->unmarshal($this->db->f('control_id', true), 
'int'));
                                
$check_list->set_comment($this->unmarshal($this->db->f('cl_comment', true), 
'string'));
                                
$check_list->set_deadline($this->unmarshal($this->db->f('deadline', true), 
'int'));
                                
$check_list->set_planned_date($this->unmarshal($this->db->f('planned_date', 
true), 'int'));
@@ -237,6 +242,7 @@
                $sql .= "AND c.repeat_type < 2 ";
                $sql .= "AND cl.control_id = c.id ";
                $sql .= "AND cl.id = ci.check_list_id ";
+               $sql .= "AND ci.status = 0 ";
                $sql .= "AND deadline BETWEEN $from_date AND $to_date ";
                $sql .= "GROUP BY c.id, title, start_date, end_date, cl.id, 
cl.deadline, c.repeat_type, c.repeat_interval ";
                $sql .= "ORDER BY c.id";
@@ -255,12 +261,12 @@
                                }
                                
                                $control_array = array(
-                                                                               
"id"                      => $this->unmarshal($this->db->f('c_id', true), 
'int'),
-                                                                               
"title"                   => $this->unmarshal($this->db->f('title', true), 
'string'),
-                                                                               
"repeat_type"     => $this->unmarshal($this->db->f('repeat_type', true), 'int'),
-                                                                               
"repeat_interval" => $this->unmarshal($this->db->f('repeat_interval', true), 
'int'),
-                                                                               
"start_date" => $this->unmarshal($this->db->f('start_date', true), 'int'),
-                                                                               
"end_date" => $this->unmarshal($this->db->f('end_date', true), 'int')
+                                                                               
"id"                            => $this->unmarshal($this->db->f('c_id', true), 
'int'),
+                                                                               
"title"                         => $this->unmarshal($this->db->f('title', 
true), 'string'),
+                                                                               
"repeat_type"           => $this->unmarshal($this->db->f('repeat_type', true), 
'int'),
+                                                                               
"repeat_interval"       => $this->unmarshal($this->db->f('repeat_interval', 
true), 'int'),
+                                                                               
"start_date"            => $this->unmarshal($this->db->f('start_date', true), 
'int'),
+                                                                               
"end_date"                      => $this->unmarshal($this->db->f('end_date', 
true), 'int')
                                                                        );
                        }
 
@@ -455,7 +461,6 @@
                                'planned_date',
                                'completed_date',
                                'location_code',
-                               'equipment_id'
                );
                
                $values = array(
@@ -466,7 +471,7 @@
                        $this->marshal($check_list->get_planned_date(), 'int'),
                        $this->marshal($check_list->get_completed_date(), 
'int'),
                        $this->marshal($check_list->get_location_code(), 'int'),
-                       $this->marshal($check_list->get_equipment_id(), 'int')
+//                     $this->marshal($check_list->get_equipment_id(), 'int')
                );
                
                $result = $this->db->query('INSERT INTO controller_check_list 
(' . join(',', $cols) . ') VALUES (' . join(',', $values) . ')', 
__LINE__,__FILE__);

Modified: branches/Version-1_0-branch/controller/inc/class.socontrol.inc.php
===================================================================
--- branches/Version-1_0-branch/controller/inc/class.socontrol.inc.php  
2011-12-20 13:07:33 UTC (rev 8396)
+++ branches/Version-1_0-branch/controller/inc/class.socontrol.inc.php  
2011-12-20 13:21:44 UTC (rev 8397)
@@ -2,7 +2,7 @@
        /**
        * phpGroupWare - controller: a part of a Facilities Management System.
        *
-       * @author Erink Holm-Larsen <address@hidden>
+       * @author Erik Holm-Larsen <address@hidden>
        * @author Torstein Vadla <address@hidden>
        * @copyright Copyright (C) 2011,2012 Free Software Foundation, Inc. 
http://www.fsf.org/
        * This file is part of phpGroupWare.

Modified: branches/Version-1_0-branch/controller/inc/class.sodocument.inc.php
===================================================================
--- branches/Version-1_0-branch/controller/inc/class.sodocument.inc.php 
2011-12-20 13:07:33 UTC (rev 8396)
+++ branches/Version-1_0-branch/controller/inc/class.sodocument.inc.php 
2011-12-20 13:21:44 UTC (rev 8397)
@@ -133,7 +133,7 @@
                }
                else
                {
-                       $cols = 'controller_document.id as document_id, 
controller_document.title as document_title, description, name, contract_id, 
party_id, controller_document_types.title as type_title';
+                       $cols = 'controller_document.id as document_id, 
controller_document.title as document_title, description, name, procedure_id, 
controller_document_types.title as type_title';
                }
                
                $dir = $ascending ? 'ASC' : 'DESC';
@@ -160,7 +160,7 @@
                        
$document->set_description($this->unmarshal($this->db->f('description',true),'string'));
                        
$document->set_name($this->unmarshal($this->db->f('name',true),'string'));
                        
$document->set_type($this->unmarshal($this->db->f('type_title',true),'string'));
-                       
$document->set_contract_id($this->unmarshal($this->db->f('contract_id',true),'int'));
+                       
$document->set_procedure_id($this->unmarshal($this->db->f('procedure_id',true),'int'));
                }
                return $document;
        }
@@ -176,7 +176,7 @@
                );
                
                $procedure_id = 
$this->marshal($document->get_procedure_id(),'int');
-               $contract_id = $contract_id > 0 ? $contract_id : 'NULL';
+               $procedure_id = $procedure_id > 0 ? $procedure_id : 'NULL';
                
                
                $values = array(

Copied: branches/Version-1_0-branch/controller/inc/class.uicalendar.inc.php 
(from rev 8396, trunk/controller/inc/class.uicalendar.inc.php)
===================================================================
--- branches/Version-1_0-branch/controller/inc/class.uicalendar.inc.php         
                (rev 0)
+++ branches/Version-1_0-branch/controller/inc/class.uicalendar.inc.php 
2011-12-20 13:21:44 UTC (rev 8397)
@@ -0,0 +1,413 @@
+<?php
+/**
+       * phpGroupWare - controller: a part of a Facilities Management System.
+       *
+       * @author Erik Holm-Larsen <address@hidden>
+       * @author Torstein Vadla <address@hidden>
+       * @copyright Copyright (C) 2011,2012 Free Software Foundation, Inc. 
http://www.fsf.org/
+       * This file is part of phpGroupWare.
+       *
+       * phpGroupWare is free software; you can redistribute it and/or modify
+       * it under the terms of the GNU General Public License as published by
+       * the Free Software Foundation; either version 2 of the License, or
+       * (at your option) any later version.
+       *
+       * phpGroupWare is distributed in the hope that it will be useful,
+       * but WITHOUT ANY WARRANTY; without even the implied warranty of
+       * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+       * GNU General Public License for more details.
+       *
+       * You should have received a copy of the GNU General Public License
+       * along with phpGroupWare; if not, write to the Free Software
+       * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 
 USA
+       *
+       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
+       * @internal Development of this application was funded by 
http://www.bergen.kommune.no/
+       * @package property
+       * @subpackage controller
+       * @version $Id$
+       */      
+
+       phpgw::import_class('controller.uicommon');
+       phpgw::import_class('controller.socheck_list');
+       
+       include_class('controller', 'check_list', 'inc/model/');
+       include_class('controller', 'check_item', 'inc/model/');
+       include_class('controller', 'check_list_status_info', 'inc/helper/');
+       include_class('controller', 'calendar_builder', 'inc/component/');
+               
+       class controller_uicalendar extends controller_uicommon
+       {
+               private $so;
+               private $so_control;
+               private $so_control_group;
+               private $so_control_group_list;
+               private $so_control_item;
+               private $so_check_list;
+               private $so_check_item;
+               private $calendar_builder;
+                               
+               public $public_functions = array
+               (
+                       'index' =>      true,
+                       'view_check_lists_for_control'          =>      true,
+                       'save_check_list'                                       
=>      true,
+                       'view_check_list'                                       
=>      true,
+                       'edit_check_list'                                       
=>      true,
+                       'save_check_items'                                      
=>      true,
+                       'view_check_lists_for_location'         =>      true,
+                       'view_calendar_for_month'                       =>      
true,
+                       'view_calendar_for_year'                        =>      
true
+               );
+
+               public function __construct()
+               {
+                       parent::__construct();
+                       
+                       $this->so = CreateObject('controller.socheck_list');
+                       $this->so_control = 
CreateObject('controller.socontrol');
+                       $this->so_control_group = 
CreateObject('controller.socontrol_group');
+                       $this->so_control_group_list = 
CreateObject('controller.socontrol_group_list');
+                       $this->so_control_item = 
CreateObject('controller.socontrol_item');
+                       $this->so_check_list = 
CreateObject('controller.socheck_list');
+                       $this->so_check_item = 
CreateObject('controller.socheck_item');
+                       
+                       
self::set_active_menu('controller::location_check_list');
+               }
+               
+               public function view_calendar_for_month()
+               {
+                       $location_code = phpgw::get_var('location_code');
+                       $year = phpgw::get_var('year');
+                       $month = phpgw::get_var('month');
+                       
+                       $year = intval( $year );
+                       $from_month = intval( $month );
+                               
+                       $from_date = strtotime("$from_month/01/$year");
+                       $to_month = $from_month + 1;
+                       $to_date = strtotime("$to_month/01/$year+1");
+                                                                       
+                       if(empty($location_code)){
+                               $location_code = "1101";        
+                       }
+                       
+                       $this->calendar_builder = new 
calendar_builder($from_date, $to_date);
+                               
+                       $repeat_type = 0;
+                       $check_list_array = 
$this->so->get_check_lists_for_location( $location_code, $from_date, $to_date, 
$repeat_type);
+                       $controls_calendar_array = 
$this->calendar_builder->build_calendar_array( $check_list_array, null, 31, 
"view_days" );
+                                                       
+                       print_r( $controls_calendar_array );
+                       
+                       $location_array = 
execMethod('property.bolocation.read_single', array('location_code' => 
$location_code));
+                       
+                       for($i=1;$i<=31;$i++){
+                               $heading_array[$i] = "$i";      
+                       }
+                                                       
+                       $data = array
+                       (               
+                               'location_array'                  => 
$location_array,
+                               'heading_array'                   => 
$heading_array,
+                               'controls_calendar_array' => 
$controls_calendar_array,
+                               'date_format'                     => 
$date_format,
+                               'period'                                  => 
$month,
+                               'year'                                    => 
$year
+                       );
+                       
+                       self::add_javascript('controller', 'controller', 
'jquery.js');
+                       self::add_javascript('controller', 'controller', 
'ajax.js');
+                       
+                       self::render_template_xsl('view_calendar_month', $data);
+               }
+               
+               public function view_calendar_for_year()
+               {
+                       $location_code = phpgw::get_var('location_code');
+                       $year = phpgw::get_var('year');
+                       
+                       $year = intval($year);
+                       
+                       $from_date = strtotime("01/01/$year");
+                       $to_year = $year + 1;
+                       $to_date = strtotime("01/01/$to_year"); 
+                                               
+                       if(empty($location_code)){
+                               $location_code = "1101";        
+                       }
+                       
+                       $this->calendar_builder = new 
calendar_builder($from_date, $to_date);
+
+                       // Gets an array of controls that contains check_lists 
for the specified location
+                       $agg_check_list_array = 
$this->so->get_agg_check_lists_for_location( $location_code, $from_date, 
$to_date );
+                       $controls_calendar_array = 
$this->calendar_builder->build_agg_calendar_array( $agg_check_list_array );
+                       
+                       $repeat_type = 2;
+                       $control_check_list_array = 
$this->so->get_check_lists_for_location( $location_code, $from_date, $to_date, 
$repeat_type );
+                       $controls_calendar_array = 
$this->calendar_builder->build_calendar_array( $control_check_list_array, 
$controls_calendar_array, 12, "view_months" );
+                       
+                       $location_array = 
execMethod('property.bolocation.read_single', array('location_code' => 
$location_code));
+                       
+                       $heading_array = array("Jan", "Feb", "Mar", "Apr", 
"Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des");
+                                                       
+                       $data = array
+                       (
+                               'location_array'                  => 
$location_array,
+                               'heading_array'                   => 
$heading_array,
+                               'controls_calendar_array' => 
$controls_calendar_array,
+                               'date_format'                     => 
$date_format,
+                               'period'                                  => 
$year,
+                               'year'                                    => 
$year
+                       );
+                       
+                       self::render_template_xsl('view_calendar_year', $data);
+                       
+                       self::add_javascript('controller', 'controller', 
'jquery.js');
+                       self::add_javascript('controller', 'controller', 
'ajax.js');
+               }
+               
+               
+               public function view_check_lists_for_location()
+               {
+                       $control_id = phpgw::get_var('control_id');
+                       $control = $this->so_control->get_single($control_id);
+                       
+                       $location_code = "1101";
+                                               
+                       $from_date = strtotime("01/01/2011");
+                       $num_days_in_dec = cal_days_in_month(CAL_GREGORIAN, 12, 
2011);
+                       $to_date =  strtotime("12/$num_days_in_dec/2011");
+                       
+                       // Gets an array of controls that contains check_lists 
for the specified location 
+                       $control_array = 
$this->so->get_check_lists_for_location( $location_code, $from_date, $to_date );
+                       
+                       $controls_calendar_array = 
$this->calendar_builder->build_calendar_array( $control_array, $from_date, 
$to_date );
+                       
+                       $location_array = 
execMethod('property.bolocation.read_single', array('location_code' => 
$location_code));
+                       
+                       $data = array
+                       (
+                               'location_array'                  => 
$location_array,
+                               'controls_calendar_array' => 
$controls_calendar_array,
+                               'date_format'                     => 
$date_format,
+                               'from_date'                       => $from_date,
+                               'to_date'                                 => 
$to_date
+                       );
+                       
+                       self::add_javascript('controller', 'controller', 
'jquery.js');
+                       self::add_javascript('controller', 'controller', 
'ajax.js');
+                       
self::render_template_xsl('view_check_lists_for_location', $data);
+               }
+                               
+               public function view_check_lists_for_control()
+               {
+                       $control_id = phpgw::get_var('id');
+                       $control = $this->so_control->get_single($control_id);
+                       
+                       $date_format = 
$GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat'];
+               
+                       $check_list_array = 
$this->so->get_check_lists_for_control( $control_id );      
+                       
+                       $data = array
+                       (
+                               'control_as_array'      => $control->toArray(),
+                               'check_list_array'      => $check_list_array,
+                               'date_format'           => $date_format
+                       );
+                       
+                       self::render_template_xsl('view_check_lists', $data);
+               }
+               
+               public function view_control_items_for_control()
+               {
+                       $control_id = phpgw::get_var('control_id');
+                       $control = $this->so_control->get_single($control_id);
+                                               
+                       $control_groups_array = 
$this->so_control_group_list->get_control_groups_by_control_id( $control_id );
+
+                       $saved_groups_with_items_array = array();
+                       
+                       foreach ($control_groups_array as $control_group)
+                       {       
+                               $control_group_id = $control_group->get_id();
+                               $saved_control_items = 
$this->so_control_item->get_control_items_by_control_id_and_group($control_id, 
$control_group_id);
+                               
+                               $saved_groups_with_items_array[] = 
array("control_group" => $control_group->toArray(), "control_items" => 
$saved_control_items);
+                       }       
+               
+                       $data = array
+                       (
+                               'control_as_array'                              
=> $control->toArray(),
+                               'saved_groups_with_items_array' => 
$saved_groups_with_items_array
+                       );
+                                                               
+                       self::render_template_xsl('view_check_list', $data);
+               }
+               
+               public function save_check_items(){
+                       $check_item_ids = phpgw::get_var('check_item_ids');
+                       $check_list_id = phpgw::get_var('check_list_id');
+                       
+                       foreach($check_item_ids as $check_item_id){
+                               $status = phpgw::get_var('status_' . 
$check_item_id);
+                               $comment = phpgw::get_var('comment_' . 
$check_item_id);
+                               
+                               $check_item = 
$this->so_check_item->get_single($check_item_id);
+                               
+                               $check_item->set_status( $status );
+                               $check_item->set_comment( $comment );
+                               
+                               $this->so_check_item->store( $check_item );
+                       }
+                       
+                       $this->redirect(array('menuaction' => 
'controller.uicheck_list.view_check_list', 'check_list_id'=>$check_list_id));   
  
+               }
+               
+               public function save_check_list(){
+                       $control_id = phpgw::get_var('control_id');
+                       $control = $this->so_control->get_single($control_id);
+
+                       $start_date = $control->get_start_date();
+                       $end_date = $control->get_end_date();
+                       $repeat_type = $control->get_repeat_type();
+                       $repeat_interval = $control->get_repeat_interval();
+                       
+                       $status = true;
+                       $comment = "Kommentar for sjekkliste";
+                       $deadline = $start_date;
+                       
+                       // Saving check_list
+                       $new_check_list = new controller_check_list();
+                       $new_check_list->set_control_id( $control_id );
+                       $new_check_list->set_status( $status );
+                       $new_check_list->set_comment( $comment );
+                       $new_check_list->set_deadline( $deadline );
+                       
+                       $check_list_id = $this->so_check_list->store( 
$new_check_list );
+                       
+                       $control_items_list = 
$this->so_control_item->get_control_items_by_control_id($control_id);
+                       
+                       foreach($control_items_list as $control_item){
+                               
+                               $status = true;
+                               $comment = "Kommentar for sjekk item";
+                               
+                               // Saving check_items for a list
+                               $new_check_item = new controller_check_item();
+                               $new_check_item->set_check_list_id( 
$check_list_id );
+                               
+                               $new_check_item->set_control_item_id( 
$control_item->get_id() );
+                               $new_check_item->set_status( $status );
+                               $new_check_item->set_comment( $comment );
+
+                               $saved_check_item = 
$this->so_check_item->store( $new_check_item );
+                       }
+                       
+                       $this->redirect(array('menuaction' => 
'controller.uicheck_list.view_check_list_for_control', 
'control_id'=>$control_id));       
+               }
+               
+               public function make_check_list_for_control(){
+                       $control_id = phpgw::get_var('control_id');
+                       $control = $this->so_control->get_single($control_id);
+
+                       $start_date = $control->get_start_date();
+                       $end_date = $control->get_end_date();
+                       $repeat_type = $control->get_repeat_type();
+                       $repeat_interval = $control->get_repeat_interval();
+                       
+                       $status = true;
+                       $comment = "Kommentar for sjekkliste";
+                       $deadline = $start_date;
+                       
+                       // Saving check_list
+                       $new_check_list = new controller_check_list();
+                       $new_check_list->set_control_id( $control_id );
+                       $new_check_list->set_status( $status );
+                       $new_check_list->set_comment( $comment );
+                       $new_check_list->set_deadline( $deadline );
+                       
+                       $check_list_id = $this->so_check_list->store( 
$new_check_list );
+                       
+                       $control_items_list = 
$this->so_control_item->get_control_items_by_control_id($control_id);
+                       
+                       foreach($control_items_list as $control_item){
+                               
+                               $status = true;
+                               $comment = "Kommentar for sjekk item";
+                               
+                               // Saving check_items for a list
+                               $new_check_item = new controller_check_item();
+                               $new_check_item->set_check_list_id( 
$check_list_id );
+                               
+                               $new_check_item->set_control_item_id( 
$control_item->get_id() );
+                               $new_check_item->set_status( $status );
+                               $new_check_item->set_comment( $comment );
+
+                               $saved_check_item = 
$this->so_check_item->store( $new_check_item );
+                       }
+                       
+                       $this->redirect(array('menuaction' => 
'controller.uicheck_list.view_check_list_for_control', 
'control_id'=>$control_id));       
+               }
+               
+               public function query()
+               {
+                       $params = array(
+                               'start' => phpgw::get_var('startIndex', 'int', 
'REQUEST', 0),
+                               'results' => phpgw::get_var('results', 'int', 
'REQUEST', null),
+                               'query' => phpgw::get_var('query'),
+                               'sort'  => phpgw::get_var('sort'),
+                               'dir'   => phpgw::get_var('dir'),
+                               'filters' => $filters
+                       );
+                       
+                       $search_for = phpgw::get_var('query');
+
+                       
if($GLOBALS['phpgw_info']['user']['preferences']['common']['maxmatchs'] > 0)
+                       {
+                               $user_rows_per_page = 
$GLOBALS['phpgw_info']['user']['preferences']['common']['maxmatchs'];
+                       }
+                       else {
+                               $user_rows_per_page = 10;
+                       }
+                       
+                       // YUI variables for paging and sorting
+                       $start_index    = phpgw::get_var('startIndex', 'int');
+                       $num_of_objects = phpgw::get_var('results', 'int', 
'GET', $user_rows_per_page);
+                       $sort_field             = phpgw::get_var('sort');
+                       if($sort_field == null)
+                       {
+                               $sort_field = 'control_id';
+                       }
+                       $sort_ascending = phpgw::get_var('dir') == 'desc' ? 
false : true;
+                       //Create an empty result set
+                       $records = array();
+                       
+                       //Retrieve a contract identifier and load corresponding 
contract
+/*                     $control_id = phpgw::get_var('control_id');
+                       if(isset($control_id))
+                       {
+                               $control = $this->so->get_single($control_id);
+                       }
+*/
+                       $result_objects = $this->so->get($start_index, 
$num_of_objects, $sort_field, $sort_ascending, $search_for, $search_type, 
$filters);
+                       $object_count = $this->so->get_count($search_for, 
$search_type, $filters);
+                       //var_dump($result_objects);
+                                                               
+                       $results = array();
+                       
+                       foreach($result_objects as $check_list_obj)
+                       {
+                               $results['results'][] = 
$check_list_obj->serialize();   
+                       }
+                       
+                       $results['total_records'] = $object_count;
+                       $results['start'] = $params['start'];
+                       $results['sort'] = $params['sort'];
+                       $results['dir'] = $params['dir'];
+
+                       array_walk($results["results"], array($this, 
"_add_links"), "controller.uicheck_list.view_check_lists_for_control");
+
+                       return $this->yui_results($results);
+               }
+       }
\ No newline at end of file

Modified: branches/Version-1_0-branch/controller/inc/class.uicheck_list.inc.php
===================================================================
--- branches/Version-1_0-branch/controller/inc/class.uicheck_list.inc.php       
2011-12-20 13:07:33 UTC (rev 8396)
+++ branches/Version-1_0-branch/controller/inc/class.uicheck_list.inc.php       
2011-12-20 13:21:44 UTC (rev 8397)
@@ -52,8 +52,10 @@
                        'view_check_list'                                       
=>      true,
                        'edit_check_list'                                       
=>      true,
                        'save_check_items'                                      
=>      true,
+                       'save_check_item'                                       
=>      true,
                        'get_check_list_info'                           =>      
true,
-                       'control_calendar_status_overview'      =>      true
+                       'control_calendar_status_overview'      =>      true,
+                       'add_check_item_to_list'                        =>      
true
                );
 
                public function __construct()
@@ -192,7 +194,7 @@
                public function get_check_list_info()
                {
                        $check_list_id = phpgw::get_var('check_list_id');
-                       $check_list = 
$this->so_check_list->get_single_with_check_items($check_list_id);
+                       $check_list = 
$this->so_check_list->get_single_with_check_items($check_list_id, "open");
 
                        return json_encode( $check_list );
                }
@@ -296,7 +298,49 @@
 
                        $this->redirect(array('menuaction' => 
'controller.uicheck_list.view_check_list', 'check_list_id'=>$check_list_id));
                }
+               
+               public function save_check_item(){
+                       $check_item_id = phpgw::get_var('check_item_id');
+                       $comment = phpgw::get_var('comment');
+                       $status = phpgw::get_var('status');
+                                               
+                       $check_item = 
$this->so_check_item->get_single($check_item_id);
+                       $check_item->set_status( $status );
+                       $check_item->set_comment( $comment );
+                       
+                       $check_item_id = $this->so_check_item->store( 
$check_item );
 
+                       if($status == 0)
+                               $status_text = "not_fixed";
+                       else
+                               $status_text = "fixed";
+                       
+                       if($check_item_id > 0)
+                               return json_encode( array( "saveStatus" => 
"saved", "fixedStatus" => $status_text ) );
+                       else
+                               return json_encode( array( "status" => 
"not_saved" ) );
+               }
+               
+               public function add_check_item_to_list(){
+                       $control_item_id = phpgw::get_var('control_item_id');
+                       $check_list_id = phpgw::get_var('check_list_id');
+                       $comment = phpgw::get_var('comment');
+                       $status = phpgw::get_var('status');
+                                               
+                       $check_item_obj = new controller_check_item();
+                       $check_item_obj->set_status($status);
+                       $check_item_obj->set_comment($comment);
+                       $check_item_obj->set_check_list_id($check_list_id);
+                       $check_item_obj->set_control_item_id($control_item_id);
+               
+                       $check_item_id = $this->so_check_item->store( 
$check_item_obj );
+
+                       if($check_item_id > 0)
+                               return json_encode( array( "saveStatus" => 
"saved" ) );
+                       else
+                               return json_encode( array( "status" => 
"not_saved" ) );
+               }
+
                public function save_check_list(){
                        $control_id = phpgw::get_var('control_id');
                        $control = $this->so_control->get_single($control_id);

Modified: 
branches/Version-1_0-branch/controller/inc/class.uicheck_list_for_location.inc.php
===================================================================
--- 
branches/Version-1_0-branch/controller/inc/class.uicheck_list_for_location.inc.php
  2011-12-20 13:07:33 UTC (rev 8396)
+++ 
branches/Version-1_0-branch/controller/inc/class.uicheck_list_for_location.inc.php
  2011-12-20 13:21:44 UTC (rev 8397)
@@ -50,6 +50,7 @@
                private $so_control_area;
                private $so_control;
                private $so_check_list;
+               private $so_control_item;
        
                var $public_functions = array(
                                                                                
'index' => true,
@@ -69,6 +70,7 @@
                        $this->so_control_area          = 
CreateObject('controller.socontrol_area');
                        $this->so_control                       = 
CreateObject('controller.socontrol');
                        $this->so_check_list            = 
CreateObject('controller.socheck_list');
+                       $this->so_control_item          = 
CreateObject('controller.socontrol_item');
                        
                        $this->type_id                          = 
$this->bo->type_id;
                        
@@ -341,12 +343,13 @@
                        (
                                'location_array'        => $location_array,
                                'control_array'         => $control->toArray(),
-                               'calendar_array'        => $calendar_array,
+                               'deadline'                      => 
$calendar_array[0],
                                'date_format'           => $date_format         
        
                        );
                        
                        self::add_javascript('controller', 'controller', 
'jquery.js');
                        self::add_javascript('controller', 'controller', 
'custom_ui.js');
+                       self::add_javascript('controller', 'controller', 
'ajax.js');
                        self::add_javascript('controller', 'controller', 
'jquery-ui.custom.min.js');
                        
                        
$GLOBALS['phpgw']->css->add_external_file('controller/templates/base/css/jquery-ui.custom.css');
@@ -357,19 +360,39 @@
                function edit_check_list_for_location(){
                        $check_list_id = phpgw::get_var('check_list_id');
                        
-                       $check_list = 
$this->so_check_list->get_single_with_check_items($check_list_id);
-               
+                       $check_list_with_check_items = 
$this->so_check_list->get_single_with_check_items($check_list_id);
+                               
+                       $control_item_list_all = 
$this->so_control_item->get_control_items_by_control_id($check_list_with_check_items["control_id"]);
+                       
+                       $control_item_ids = array();
+                       
foreach($check_list_with_check_items["check_item_array"] as $check_item){
+                               $control_item_ids[] = 
$check_item["control_item_id"];
+                       }
+                       
+                       $control_item_list_stripped = array();
+                       
+                       foreach($control_item_list_all as $control_item){
+                               
+                               if( !in_array($control_item->get_id(), 
$control_item_ids) ){
+                                       $control_item_list_stripped[] = 
$control_item->toArray(); 
+                               }
+                       } 
+                       
                        $date_format = 
$GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat'];
        
+                       print_r($control_item_list_stripped);
+                       
                        $data = array
                        (
-                               'check_list'            => $check_list,
-                               'date_format'           => $date_format
+                               'check_list'                    => 
$check_list_with_check_items,
+                               'control_items_list'    => 
$control_item_list_stripped,
+                               'date_format'                   => $date_format
                        );
                        
                        self::add_javascript('controller', 'controller', 
'jquery.js');
                        self::add_javascript('controller', 'controller', 
'jquery-ui.custom.min.js');
                        self::add_javascript('controller', 'controller', 
'custom_ui.js');
+                       self::add_javascript('controller', 'controller', 
'ajax.js');
                        
                        
$GLOBALS['phpgw']->css->add_external_file('controller/templates/base/css/jquery-ui.custom.css');
                        
@@ -380,10 +403,22 @@
                        $location_code = phpgw::get_var('location_code');
                        $control_id = phpgw::get_var('control_id');
                        $status = phpgw::get_var('status');
-                       $planned_date = strtotime( 
phpgw::get_var('planned_date', 'string') );
+                                       
+                       $planned_date = phpgw::get_var('planned_date', 
'string');
                        $completed_date = strtotime( 
phpgw::get_var('completed_date', 'string') );
                        $deadline_date = strtotime( 
phpgw::get_var('deadline_date', 'string') );
-                               
+                                               
+                       $pos_day = strpos($planned_date, "/"); 
+                       $day =  substr($planned_date, 0, $pos_day);
+                       
+                       $pos_month = strpos($planned_date, "-");
+                       $len_month = $pos_month - $pos_day -1;
+                       $month = substr($planned_date, $pos_day+1, $len_month);
+                       
+                       $year = substr($planned_date, $pos_month + 
$len_month-1, strlen($planned_date)-1);
+                       
+                       $planned_date = mktime(0, 0, 0, $month, $day, $year);
+                                               
                        $check_list = new controller_check_list();
                        $check_list->set_location_code($location_code);
                        $check_list->set_control_id($control_id);
@@ -391,11 +426,11 @@
                        $check_list->set_deadline( $deadline_date );
                        $check_list->set_planned_date($planned_date);
                        $check_list->set_completed_date($completed_date);
-                       $check_list->set_equipment_id($equipment_id);
+                                       
+                       
+                       $check_list_id = 
$this->so_check_list->add($check_list);        
 
-                       $this->so_check_list->add($check_list); 
-                       
-                       $this->redirect(array('menuaction' => 
'controller.uilocation_check_list.view_calendar', 'year'=>2011, 'month'=>10));
+                       $this->redirect(array('menuaction' => 
'controller.uicheck_list_for_location.edit_check_list_for_location', 
'check_list_id'=>$check_list_id));
                }
                
                public function query(){

Modified: branches/Version-1_0-branch/controller/inc/class.uidocument.inc.php
===================================================================
--- branches/Version-1_0-branch/controller/inc/class.uidocument.inc.php 
2011-12-20 13:07:33 UTC (rev 8396)
+++ branches/Version-1_0-branch/controller/inc/class.uidocument.inc.php 
2011-12-20 13:21:44 UTC (rev 8397)
@@ -43,7 +43,8 @@
                                'query'         => true,
                                'add'           => true,
                                'view'          => true,
-                               'delete'        => true
+                               'delete'        => true,
+                               'show'          => true
                        );
                
                public function __construct()
@@ -158,16 +159,16 @@
                        {
                                //Load contract
                                $procedure = 
$this->so_procedure->get_single($procedure_id);
-                               if(!$procedure->has_permission(PHPGW_ACL_EDIT))
+/*                             if(!$procedure->has_permission(PHPGW_ACL_EDIT))
                                {
                                        $data['error'] = 
lang('permission_denied_add_document');
                                        $this->render('permission_denied.php', 
$data);
                                        return;
-                               }
+                               }*/
                        }
                        
                        // If no contract or party is loaded
-                       if(!isset($contract))
+                       if(!isset($procedure))
                        {
                                $data['error'] = lang('error_no_procedure');
                                $this->render('permission_denied.php', $data);
@@ -182,7 +183,7 @@
                                
$document->set_title(phpgw::get_var('document_title'));
                                
$document->set_name($_FILES["file_path"]["name"]);
                                
$document->set_type_id(phpgw::get_var('document_type'));
-                               $document->set_contract_id($procedure_id);
+                               $document->set_procedure_id($procedure_id);
                                
                                //Retrieve the document properties
                                $document_properties = 
$this->get_type_and_id($document);
@@ -202,7 +203,7 @@
                                        {
                                                if(isset($procedure))
                                                {
-                                                       
$GLOBALS['phpgw']->redirect_link('/index.php', array('menuaction' => 
'rental.uiprocedure.edit', 'id' => $procedure->get_id(), 'tab' => 'documents'));
+                                                       
$GLOBALS['phpgw']->redirect_link('/index.php', array('menuaction' => 
'controller.uidocument.show', 'procedure_id' => $procedure->get_id(), 'tab' => 
'documents'));
                                                }
                                        }
                                        else
@@ -355,4 +356,76 @@
                                'id' => $id
                        );
                }
+               
+               public function show()
+               {
+                       $GLOBALS['phpgw_info']['flags']['app_header'] .= 
'::'.lang('view');
+                       $procedure_id = (int)phpgw::get_var('procedure_id');
+                       $document_type = phpgw::get_var('type');
+                       if(isset($_POST['edit_procedure']))
+                       {
+                               $GLOBALS['phpgw']->redirect_link('/index.php', 
array('menuaction' => 'controller.uiprocedure.edit', 'id' => $procedure_id));
+                       }
+                       else
+                       {
+                               if(isset($procedure_id) && $procedure_id > 0)
+                               {
+                                       $procedure = 
$this->so_procedure->get_single($procedure_id);
+                               }
+                               else
+                               {
+                                       
$this->render('permission_denied.php',array('error' => 
lang('invalid_request')));
+                                       return;
+                               }
+
+                               if($this->flash_msgs)
+                               {
+                                       $msgbox_data = 
$GLOBALS['phpgw']->common->msgbox_data($this->flash_msgs);
+                                       $msgbox_data = 
$GLOBALS['phpgw']->common->msgbox($msgbox_data);
+                               }
+                               
+                               $documents = 
$this->so->get(null,null,null,null,null,null,array('procedure_id' => 
$procedure_id, 'type' => $document_type));
+                               //$document_array = array();
+                               //var_dump($documents);
+                                       
+                               //$document_array[] = array('document' => 
$document->toArray());
+                               $table_header[] = array('header' => 
lang('Document title'));
+                               $table_header[] = array('header' => 
lang('Document name'));
+                               
+                               foreach($documents as $document)
+                               {
+                                       $doc_array = $document->toArray();
+                                       $doc_array['link'] = 
self::link(array('menuaction' => 'controller.uidocument.view', 'id' => 
$doc_array['id']));
+                                       $table_values[] = array('document' => 
$doc_array);
+                               }
+                               //var_dump($table_values);
+
+                               $procedure_array = $procedure->toArray();
+                               
+                               $tabs = array( array(
+                                                       'label' => 
lang('Procedure'),
+                                                       'link'  => 
$GLOBALS['phpgw']->link('/index.php', array('menuaction' => 
'controller.uiprocedure.view', 'id' => $procedure->get_id()))
+
+                                               ), array(
+                                                       'label' => 
lang('View_documents_for_procedure')
+                                               ));
+
+                               $data = array
+                               (
+                                       'tabs'                                  
=> $GLOBALS['phpgw']->common->create_tabs($tabs, 1),
+                                       'view'                                  
=> "view_documents_for_procedure",
+                                       'procedure_id'                  => 
!empty($procedure) ? $procedure->get_id() : 0,
+                                       'img_go_home'                   => 
'rental/templates/base/images/32x32/actions/go-home.png',
+                                       'procedure'                             
=> $procedure_array,
+                                       'dateformat'                    => 
$GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat'],
+                                       'values'                                
=> $table_values,
+                                       'table_header'                  => 
$table_header,
+                               );
+
+                               $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang('controller') . '::' . lang('Procedure');
+
+                               //self::render_template_xsl('procedure_item', 
$data);
+                               
self::render_template_xsl(array('procedure_tabs', 'common', 
'procedure_documents'), $data);
+                       }
+               }
        }
\ No newline at end of file

Deleted: 
branches/Version-1_0-branch/controller/inc/class.uilocation_check_list.inc.php
===================================================================
--- 
branches/Version-1_0-branch/controller/inc/class.uilocation_check_list.inc.php  
    2011-12-20 13:07:33 UTC (rev 8396)
+++ 
branches/Version-1_0-branch/controller/inc/class.uilocation_check_list.inc.php  
    2011-12-20 13:21:44 UTC (rev 8397)
@@ -1,411 +0,0 @@
-<?php
-/**
-       * phpGroupWare - controller: a part of a Facilities Management System.
-       *
-       * @author Erik Holm-Larsen <address@hidden>
-       * @author Torstein Vadla <address@hidden>
-       * @copyright Copyright (C) 2011,2012 Free Software Foundation, Inc. 
http://www.fsf.org/
-       * This file is part of phpGroupWare.
-       *
-       * phpGroupWare is free software; you can redistribute it and/or modify
-       * it under the terms of the GNU General Public License as published by
-       * the Free Software Foundation; either version 2 of the License, or
-       * (at your option) any later version.
-       *
-       * phpGroupWare is distributed in the hope that it will be useful,
-       * but WITHOUT ANY WARRANTY; without even the implied warranty of
-       * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-       * GNU General Public License for more details.
-       *
-       * You should have received a copy of the GNU General Public License
-       * along with phpGroupWare; if not, write to the Free Software
-       * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 
 USA
-       *
-       * @license http://www.gnu.org/licenses/gpl.html GNU General Public 
License
-       * @internal Development of this application was funded by 
http://www.bergen.kommune.no/
-       * @package property
-       * @subpackage controller
-       * @version $Id$
-       */      
-
-       phpgw::import_class('controller.uicommon');
-       phpgw::import_class('controller.socheck_list');
-       
-       include_class('controller', 'check_list', 'inc/model/');
-       include_class('controller', 'check_item', 'inc/model/');
-       include_class('controller', 'check_list_status_info', 'inc/helper/');
-       include_class('controller', 'calendar_builder', 'inc/component/');
-               
-       class controller_uilocation_check_list extends controller_uicommon
-       {
-               private $so;
-               private $so_control;
-               private $so_control_group;
-               private $so_control_group_list;
-               private $so_control_item;
-               private $so_check_list;
-               private $so_check_item;
-               private $calendar_builder;
-                               
-               public $public_functions = array
-               (
-                       'index' =>      true,
-                       'view_check_lists_for_control'          =>      true,
-                       'save_check_list'                                       
=>      true,
-                       'view_check_list'                                       
=>      true,
-                       'edit_check_list'                                       
=>      true,
-                       'save_check_items'                                      
=>      true,
-                       'view_check_lists_for_location'         =>      true,
-                       'view_calendar_for_month'                       =>      
true,
-                       'view_calendar_for_year'                        =>      
true
-               );
-
-               public function __construct()
-               {
-                       parent::__construct();
-                       
-                       $this->so = CreateObject('controller.socheck_list');
-                       $this->so_control = 
CreateObject('controller.socontrol');
-                       $this->so_control_group = 
CreateObject('controller.socontrol_group');
-                       $this->so_control_group_list = 
CreateObject('controller.socontrol_group_list');
-                       $this->so_control_item = 
CreateObject('controller.socontrol_item');
-                       $this->so_check_list = 
CreateObject('controller.socheck_list');
-                       $this->so_check_item = 
CreateObject('controller.socheck_item');
-                       
-                       
self::set_active_menu('controller::location_check_list');
-               }
-               
-               public function view_calendar_for_month()
-               {
-                       $location_code = phpgw::get_var('location_code');
-                       $year = phpgw::get_var('year');
-                       $month = phpgw::get_var('month');
-                       
-                       $year = intval( $year );
-                       $from_month = intval( $month );
-                               
-                       $from_date = strtotime("$from_month/01/$year");
-                       $to_month = $from_month + 1;
-                       $to_date = strtotime("$to_month/01/$year+1");
-                                                                       
-                       if(empty($location_code)){
-                               $location_code = "1101";        
-                       }
-                       
-                       $this->calendar_builder = new 
calendar_builder($from_date, $to_date);
-                               
-                       $repeat_type = 0;
-                       $check_list_array = 
$this->so->get_check_lists_for_location( $location_code, $from_date, $to_date, 
$repeat_type);
-                       $controls_calendar_array = 
$this->calendar_builder->build_calendar_array( $check_list_array, null, 31, 
"view_days" );
-                                                       
-                       $location_array = 
execMethod('property.bolocation.read_single', array('location_code' => 
$location_code));
-                       
-                       for($i=1;$i<=31;$i++){
-                               $heading_array[$i] = "$i";      
-                       }
-                                                       
-                       $data = array
-                       (               
-                               'location_array'                  => 
$location_array,
-                               'heading_array'                   => 
$heading_array,
-                               'controls_calendar_array' => 
$controls_calendar_array,
-                               'date_format'                     => 
$date_format,
-                               'period'                                  => 
$month,
-                               'year'                                    => 
$year
-                       );
-                       
-                       self::add_javascript('controller', 'controller', 
'jquery.js');
-                       self::add_javascript('controller', 'controller', 
'ajax.js');
-                       
-                       self::render_template_xsl('view_calendar_month', $data);
-               }
-               
-               public function view_calendar_for_year()
-               {
-                       $location_code = phpgw::get_var('location_code');
-                       $year = phpgw::get_var('year');
-                       
-                       $year = intval($year);
-                       
-                       $from_date = strtotime("01/01/$year");
-                       $to_year = $year + 1;
-                       $to_date = strtotime("01/01/$to_year"); 
-                                               
-                       if(empty($location_code)){
-                               $location_code = "1101";        
-                       }
-                       
-                       $this->calendar_builder = new 
calendar_builder($from_date, $to_date);
-
-                       // Gets an array of controls that contains check_lists 
for the specified location
-                       $agg_check_list_array = 
$this->so->get_agg_check_lists_for_location( $location_code, $from_date, 
$to_date );
-                       $controls_calendar_array = 
$this->calendar_builder->build_agg_calendar_array( $agg_check_list_array );
-                       
-                       $repeat_type = 2;
-                       $control_check_list_array = 
$this->so->get_check_lists_for_location( $location_code, $from_date, $to_date, 
$repeat_type );
-                       $controls_calendar_array = 
$this->calendar_builder->build_calendar_array( $control_check_list_array, 
$controls_calendar_array, 12, "view_months" );
-                       
-                       $location_array = 
execMethod('property.bolocation.read_single', array('location_code' => 
$location_code));
-                       
-                       $heading_array = array("Jan", "Feb", "Mar", "Apr", 
"Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des");
-                                                       
-                       $data = array
-                       (
-                               'location_array'                  => 
$location_array,
-                               'heading_array'                   => 
$heading_array,
-                               'controls_calendar_array' => 
$controls_calendar_array,
-                               'date_format'                     => 
$date_format,
-                               'period'                                  => 
$year,
-                               'year'                                    => 
$year
-                       );
-                       
-                       self::render_template_xsl('view_calendar_year', $data);
-                       
-                       self::add_javascript('controller', 'controller', 
'jquery.js');
-                       self::add_javascript('controller', 'controller', 
'ajax.js');
-               }
-               
-               
-               public function view_check_lists_for_location()
-               {
-                       $control_id = phpgw::get_var('control_id');
-                       $control = $this->so_control->get_single($control_id);
-                       
-                       $location_code = "1101";
-                                               
-                       $from_date = strtotime("01/01/2011");
-                       $num_days_in_dec = cal_days_in_month(CAL_GREGORIAN, 12, 
2011);
-                       $to_date =  strtotime("12/$num_days_in_dec/2011");
-                       
-                       // Gets an array of controls that contains check_lists 
for the specified location 
-                       $control_array = 
$this->so->get_check_lists_for_location( $location_code, $from_date, $to_date );
-                       
-                       $controls_calendar_array = 
$this->calendar_builder->build_calendar_array( $control_array, $from_date, 
$to_date );
-                       
-                       $location_array = 
execMethod('property.bolocation.read_single', array('location_code' => 
$location_code));
-                       
-                       $data = array
-                       (
-                               'location_array'                  => 
$location_array,
-                               'controls_calendar_array' => 
$controls_calendar_array,
-                               'date_format'                     => 
$date_format,
-                               'from_date'                       => $from_date,
-                               'to_date'                                 => 
$to_date
-                       );
-                       
-                       self::add_javascript('controller', 'controller', 
'jquery.js');
-                       self::add_javascript('controller', 'controller', 
'ajax.js');
-                       
self::render_template_xsl('view_check_lists_for_location', $data);
-               }
-                               
-               public function view_check_lists_for_control()
-               {
-                       $control_id = phpgw::get_var('id');
-                       $control = $this->so_control->get_single($control_id);
-                       
-                       $date_format = 
$GLOBALS['phpgw_info']['user']['preferences']['common']['dateformat'];
-               
-                       $check_list_array = 
$this->so->get_check_lists_for_control( $control_id );      
-                       
-                       $data = array
-                       (
-                               'control_as_array'      => $control->toArray(),
-                               'check_list_array'      => $check_list_array,
-                               'date_format'           => $date_format
-                       );
-                       
-                       self::render_template_xsl('view_check_lists', $data);
-               }
-               
-               public function view_control_items_for_control()
-               {
-                       $control_id = phpgw::get_var('control_id');
-                       $control = $this->so_control->get_single($control_id);
-                                               
-                       $control_groups_array = 
$this->so_control_group_list->get_control_groups_by_control_id( $control_id );
-
-                       $saved_groups_with_items_array = array();
-                       
-                       foreach ($control_groups_array as $control_group)
-                       {       
-                               $control_group_id = $control_group->get_id();
-                               $saved_control_items = 
$this->so_control_item->get_control_items_by_control_id_and_group($control_id, 
$control_group_id);
-                               
-                               $saved_groups_with_items_array[] = 
array("control_group" => $control_group->toArray(), "control_items" => 
$saved_control_items);
-                       }       
-               
-                       $data = array
-                       (
-                               'control_as_array'                              
=> $control->toArray(),
-                               'saved_groups_with_items_array' => 
$saved_groups_with_items_array
-                       );
-                                                               
-                       self::render_template_xsl('view_check_list', $data);
-               }
-               
-               public function save_check_items(){
-                       $check_item_ids = phpgw::get_var('check_item_ids');
-                       $check_list_id = phpgw::get_var('check_list_id');
-                       
-                       foreach($check_item_ids as $check_item_id){
-                               $status = phpgw::get_var('status_' . 
$check_item_id);
-                               $comment = phpgw::get_var('comment_' . 
$check_item_id);
-                               
-                               $check_item = 
$this->so_check_item->get_single($check_item_id);
-                               
-                               $check_item->set_status( $status );
-                               $check_item->set_comment( $comment );
-                               
-                               $this->so_check_item->store( $check_item );
-                       }
-                       
-                       $this->redirect(array('menuaction' => 
'controller.uicheck_list.view_check_list', 'check_list_id'=>$check_list_id));   
  
-               }
-               
-               public function save_check_list(){
-                       $control_id = phpgw::get_var('control_id');
-                       $control = $this->so_control->get_single($control_id);
-
-                       $start_date = $control->get_start_date();
-                       $end_date = $control->get_end_date();
-                       $repeat_type = $control->get_repeat_type();
-                       $repeat_interval = $control->get_repeat_interval();
-                       
-                       $status = true;
-                       $comment = "Kommentar for sjekkliste";
-                       $deadline = $start_date;
-                       
-                       // Saving check_list
-                       $new_check_list = new controller_check_list();
-                       $new_check_list->set_control_id( $control_id );
-                       $new_check_list->set_status( $status );
-                       $new_check_list->set_comment( $comment );
-                       $new_check_list->set_deadline( $deadline );
-                       
-                       $check_list_id = $this->so_check_list->store( 
$new_check_list );
-                       
-                       $control_items_list = 
$this->so_control_item->get_control_items_by_control_id($control_id);
-                       
-                       foreach($control_items_list as $control_item){
-                               
-                               $status = true;
-                               $comment = "Kommentar for sjekk item";
-                               
-                               // Saving check_items for a list
-                               $new_check_item = new controller_check_item();
-                               $new_check_item->set_check_list_id( 
$check_list_id );
-                               
-                               $new_check_item->set_control_item_id( 
$control_item->get_id() );
-                               $new_check_item->set_status( $status );
-                               $new_check_item->set_comment( $comment );
-
-                               $saved_check_item = 
$this->so_check_item->store( $new_check_item );
-                       }
-                       
-                       $this->redirect(array('menuaction' => 
'controller.uicheck_list.view_check_list_for_control', 
'control_id'=>$control_id));       
-               }
-               
-               public function make_check_list_for_control(){
-                       $control_id = phpgw::get_var('control_id');
-                       $control = $this->so_control->get_single($control_id);
-
-                       $start_date = $control->get_start_date();
-                       $end_date = $control->get_end_date();
-                       $repeat_type = $control->get_repeat_type();
-                       $repeat_interval = $control->get_repeat_interval();
-                       
-                       $status = true;
-                       $comment = "Kommentar for sjekkliste";
-                       $deadline = $start_date;
-                       
-                       // Saving check_list
-                       $new_check_list = new controller_check_list();
-                       $new_check_list->set_control_id( $control_id );
-                       $new_check_list->set_status( $status );
-                       $new_check_list->set_comment( $comment );
-                       $new_check_list->set_deadline( $deadline );
-                       
-                       $check_list_id = $this->so_check_list->store( 
$new_check_list );
-                       
-                       $control_items_list = 
$this->so_control_item->get_control_items_by_control_id($control_id);
-                       
-                       foreach($control_items_list as $control_item){
-                               
-                               $status = true;
-                               $comment = "Kommentar for sjekk item";
-                               
-                               // Saving check_items for a list
-                               $new_check_item = new controller_check_item();
-                               $new_check_item->set_check_list_id( 
$check_list_id );
-                               
-                               $new_check_item->set_control_item_id( 
$control_item->get_id() );
-                               $new_check_item->set_status( $status );
-                               $new_check_item->set_comment( $comment );
-
-                               $saved_check_item = 
$this->so_check_item->store( $new_check_item );
-                       }
-                       
-                       $this->redirect(array('menuaction' => 
'controller.uicheck_list.view_check_list_for_control', 
'control_id'=>$control_id));       
-               }
-               
-               public function query()
-               {
-                       $params = array(
-                               'start' => phpgw::get_var('startIndex', 'int', 
'REQUEST', 0),
-                               'results' => phpgw::get_var('results', 'int', 
'REQUEST', null),
-                               'query' => phpgw::get_var('query'),
-                               'sort'  => phpgw::get_var('sort'),
-                               'dir'   => phpgw::get_var('dir'),
-                               'filters' => $filters
-                       );
-                       
-                       $search_for = phpgw::get_var('query');
-
-                       
if($GLOBALS['phpgw_info']['user']['preferences']['common']['maxmatchs'] > 0)
-                       {
-                               $user_rows_per_page = 
$GLOBALS['phpgw_info']['user']['preferences']['common']['maxmatchs'];
-                       }
-                       else {
-                               $user_rows_per_page = 10;
-                       }
-                       
-                       // YUI variables for paging and sorting
-                       $start_index    = phpgw::get_var('startIndex', 'int');
-                       $num_of_objects = phpgw::get_var('results', 'int', 
'GET', $user_rows_per_page);
-                       $sort_field             = phpgw::get_var('sort');
-                       if($sort_field == null)
-                       {
-                               $sort_field = 'control_id';
-                       }
-                       $sort_ascending = phpgw::get_var('dir') == 'desc' ? 
false : true;
-                       //Create an empty result set
-                       $records = array();
-                       
-                       //Retrieve a contract identifier and load corresponding 
contract
-/*                     $control_id = phpgw::get_var('control_id');
-                       if(isset($control_id))
-                       {
-                               $control = $this->so->get_single($control_id);
-                       }
-*/
-                       $result_objects = $this->so->get($start_index, 
$num_of_objects, $sort_field, $sort_ascending, $search_for, $search_type, 
$filters);
-                       $object_count = $this->so->get_count($search_for, 
$search_type, $filters);
-                       //var_dump($result_objects);
-                                                               
-                       $results = array();
-                       
-                       foreach($result_objects as $check_list_obj)
-                       {
-                               $results['results'][] = 
$check_list_obj->serialize();   
-                       }
-                       
-                       $results['total_records'] = $object_count;
-                       $results['start'] = $params['start'];
-                       $results['sort'] = $params['sort'];
-                       $results['dir'] = $params['dir'];
-
-                       array_walk($results["results"], array($this, 
"_add_links"), "controller.uicheck_list.view_check_lists_for_control");
-
-                       return $this->yui_results($results);
-               }
-       }
\ No newline at end of file

Modified: branches/Version-1_0-branch/controller/inc/class.uiprocedure.inc.php
===================================================================
--- branches/Version-1_0-branch/controller/inc/class.uiprocedure.inc.php        
2011-12-20 13:07:33 UTC (rev 8396)
+++ branches/Version-1_0-branch/controller/inc/class.uiprocedure.inc.php        
2011-12-20 13:21:44 UTC (rev 8397)
@@ -390,9 +390,19 @@
                                                $table_values[] = array('row' 
=> $rev);
                                        }
                                }
+                               
+                               $tabs = array( array(
+                                                       'label' => 
lang('Procedure')
 
+                                               ), array(
+                                                       'label' => 
lang('View_documents_for_procedure'),
+                                                       'link'  => 
$GLOBALS['phpgw']->link('/index.php', array('menuaction' => 
'controller.uidocument.show', 'procedure_id' => $procedure->get_id(), 'type' => 
'procedure'))
+                                               ));
+
                                $data = array
                                (
+                                       'tabs'                                  
=> $GLOBALS['phpgw']->common->create_tabs($tabs, 0),
+                                       'view'                                  
=> "view_procedure",
                                        'value_id'                              
=> !empty($procedure) ? $procedure->get_id() : 0,
                                        'img_go_home'                   => 
'rental/templates/base/images/32x32/actions/go-home.png',
                                        'procedure'                             
=> $procedure_array,
@@ -409,7 +419,8 @@
 
                                $GLOBALS['phpgw_info']['flags']['app_header'] = 
lang('controller') . '::' . lang('Procedure');
 
-                               self::render_template_xsl('procedure_item', 
$data);
+                               //self::render_template_xsl('procedure_item', 
$data);
+                               
self::render_template_xsl(array('procedure_tabs', 'common', 'procedure_item'), 
$data);
                        }
                }
 

Modified: 
branches/Version-1_0-branch/controller/inc/component/class.calendar_builder.inc.php
===================================================================
--- 
branches/Version-1_0-branch/controller/inc/component/class.calendar_builder.inc.php
 2011-12-20 13:07:33 UTC (rev 8396)
+++ 
branches/Version-1_0-branch/controller/inc/component/class.calendar_builder.inc.php
 2011-12-20 13:21:44 UTC (rev 8397)
@@ -26,14 +26,17 @@
                        
                        // Inserts dates on behalf of repeat type and repeat 
interval
                        foreach($dates_array as $date){
+                               
+                               $status = "control_registered";
+                               
                                if( $period_type == "view_months" )
                                {
-                                       $calendar_array[ date("n", $date) 
]["status"]  = 0;
+                                       $calendar_array[ date("n", $date) 
]["status"]  = $status;
                                        $calendar_array[ date("n", $date) 
]["info"]  = array("date" => $date, "control_id" => $control->get_id());
                                }
                                else if( $period_type == "view_days" )
                                {
-                                       $calendar_array[ date("j", $date) 
]["status"]  = 0;
+                                       $calendar_array[ date("j", $date) 
]["status"]  = $status;
                                        $calendar_array[ date("j", $date) 
]["info"]  = array("date" => $date, "control_id" => $control->get_id());      
                                }
                        }
@@ -43,43 +46,35 @@
                                
                                $check_list_status_info = new 
check_list_status_info();
                                $check_list_status_info->set_id( 
$check_list->get_id() );
-                               $check_list_status_info->set_status_text( 
$check_list->get_status() );
-
-                               if( $check_list->get_status() == 0 ){
-                                       $check_list_status_info->set_status(0);
-                                       $status = 0;
-                               }
-                               else if( $check_list->get_status() == 1)
+               
+                               $todays_date = mktime(0,0,0,date("m"), 
date("d"), date("Y"));
+                               
+                               if( $check_list->get_status() == 0 & 
$check_list->get_planned_date() > 0 )
                                {
-                                       $check_list_status_info->set_status(1);
-                                       $status = 1;
+                                       $status = "control_planned";
                                }
-                               else if( $check_list->get_status() == 2 & 
$check_list->get_completed_date() < $check_list->get_deadline() )
+                               else if( $check_list->get_status() == 0 & 
$check_list->get_deadline() > $todays_date )
                                {
-                                       $check_list_status_info->set_status(2);
-                                       $status = 2;
+                                       $status = "control_not_accomplished";
                                }
-                               else if( $check_list->get_status() == 3 & 
$check_list->get_completed_date() > $check_list->get_deadline() )
+                               else if( $check_list->get_status() == 1 & 
$check_list->get_completed_date() > $check_list->get_deadline() )
                                {
-                                       $check_list_status_info->set_status(3);
-                                       $status = 3;
+                                       $status = 
"control_accomplished_over_time_without_errors";
                                }
-                               else if( $check_list->get_status() == 4 )
+                               else if( $check_list->get_status() == 1 & 
$check_list->get_completed_date() < $check_list->get_deadline() )
                                {
-                                       $check_list_status_info->set_status(4);
-                                       $status = 4;
+                                       $status = 
"control_accomplished_in_time_without_errors";
                                }
-                               else if( $check_list->get_status() == 5 )
+                               else if( $check_list->get_status() == 2  ){
+                                       $status = 
"control_accomplished_with_errors";
+                               }
+                               else if( $check_list->get_status() == 3 )
                                {
-                                       $check_list_status_info->set_status(5);
-                                       $status = 5;
+                                       $status = "control_canceled";
                                }
                                
                                $check_list_status_info->set_deadline( 
date("d/m-Y", $check_list->get_deadline()) );
                                
-                               echo "  " .  date("d/m-Y", 
$check_list->get_deadline()) . " ";
-                               echo $check_list_status_info->get_id();
-                               
                                if($period_type == "view_months")
                                {
                                        $calendar_array[ date("n", 
$check_list->get_deadline()) ]["status"] = $status;

Modified: 
branches/Version-1_0-branch/controller/inc/component/class.date_generator.inc.php
===================================================================
--- 
branches/Version-1_0-branch/controller/inc/component/class.date_generator.inc.php
   2011-12-20 13:07:33 UTC (rev 8396)
+++ 
branches/Version-1_0-branch/controller/inc/component/class.date_generator.inc.php
   2011-12-20 13:21:44 UTC (rev 8397)
@@ -29,10 +29,6 @@
                 
                $interval_date = $period_start_date;
                
-               echo " Interval start date: " . date("d/m-Y", $interval_date); 
-               echo "   Period end date: " . date("d/m-Y", 
$this->period_end_date);
-               
-               
                while($interval_date <= $this->period_end_date){
                        
                        $this->calendar_array[] = $interval_date; 
@@ -52,7 +48,6 @@
                                
                                $num_days_in_month = 
cal_days_in_month(CAL_GREGORIAN, $month, $year);
                                $interval_date = mktime(0,0,0, $month, 
$num_days_in_month, $year);
-                               echo " Ny interval date: " . date("d/m-Y", 
$interval_date);
                        }
                        else if($this->repeat_type == 3)
                        {

Modified: branches/Version-1_0-branch/controller/js/controller/ajax.js
===================================================================
--- branches/Version-1_0-branch/controller/js/controller/ajax.js        
2011-12-20 13:07:33 UTC (rev 8396)
+++ branches/Version-1_0-branch/controller/js/controller/ajax.js        
2011-12-20 13:21:44 UTC (rev 8397)
@@ -133,18 +133,20 @@
        $('a.view_check_list').bind('contextmenu', function(){
                var thisA = $(this);
                var divWrp = $(this).parent();
-               var requestUrl = $(thisA).attr("href");
                
+               var add_param = $(thisA).find("span").text();
+               
+               var requestUrl = 
"http://portico/pe/index.php?menuaction=controller.uicheck_list.get_check_list_info";
 + add_param;
+               
                $.ajax({
                          type: 'POST',
                          url: requestUrl,
                          dataType: 'json',
                  success: function(data) {
-                         
                          if(data){
                                  var obj = jQuery.parseJSON(data);
-                                 
-                                 // Show info box with info about check list
+
+                                 // Show info box with info about check list
                                  var infoBox = $(divWrp).find("#info_box");
                                  $(infoBox).show();
                                  $(infoBox).html("");
@@ -182,20 +184,77 @@
                
                return false;
        });
-
-       $("a.view_check_list").click(function(){
-               var thisA = $(this);
-               
-               var check_list_id = $(thisA).find("span").text();
-               
-               location.href = 
"http://portico/pe/index.php?menuaction=controller.uicheck_list_for_location.edit_check_list_for_location&check_list_id=";
 + check_list_id;
-               
-               return false;
-       });
        
        $("a.view_check_list").mouseout(function(){
                var infoBox = $(this).parent().find("#info_box");
                
                $(infoBox).hide();
        });
+       
+       // file: edit_check_list.xsl
+       $(".frm_save_check_item").submit(function(e){
+               e.preventDefault();
+               var thisForm = $(this);
+               var liWrp = $(this).parent();
+               var liWrpClone = $(liWrp).clone();
+               var submitBnt = $(thisForm).find("input[type='submit']");
+               var requestUrl = $(thisForm).attr("action"); 
+
+               $.ajax({
+                         type: 'POST',
+                         url: requestUrl + "&phpgw_return_as=json&" + 
$(thisForm).serialize(),
+                         success: function(data) {
+                                 if(data){
+                                 var obj = jQuery.parseJSON(data);
+                               
+                                 if(obj.saveStatus == "saved" & 
obj.fixedStatus == "fixed"){
+                                         $(liWrp).fadeOut('3000', function() {
+                                                                               
  
+                                                 
$("#check_list_fixed_list").append(liWrpClone);
+                                                                               
  
+                                                 $(liWrp).addClass("hidden");
+                                         });
+                                         
+                                         }
+                                 else if(obj.saveStatus == "saved" & 
obj.fixedStatus == "not_fixed"){
+                                         
+                                         var submitBnt = 
$(thisForm).find("input[type='submit']");
+                                               $(submitBnt).val("Lagret");     
+                                                 
+                                               // Changes text on save button 
back to original
+                                               window.setTimeout(function() {
+                                                 $(submitBnt).val('Lagre 
sjekkpunkt');
+                                                 
$(submitBnt).addClass("not_active");
+                                                        }, 1000);
+                                         }
+                                 }
+                               }
+                       });
+       });
+       
+       // file: edit_check_list.xsl
+       $(".frm_save_control_item").submit(function(e){
+               e.preventDefault();
+               var thisForm = $(this);
+               var liWrp = $(this).parent();
+               var submitBnt = $(thisForm).find("input[type='submit']");
+               var requestUrl = $(thisForm).attr("action");
+               
+               $.ajax({
+                         type: 'POST',
+                         url: requestUrl + "&phpgw_return_as=json&" + 
$(thisForm).serialize(),
+                         success: function(data) {
+                                 if(data){
+                                 var obj = jQuery.parseJSON(data);
+                                 
+                                 if(obj.saveStatus == "saved"){
+                                         $(liWrp).fadeOut('3000', function() {
+                                                 $(liWrp).addClass("hidden");
+                                         });
+                                         }
+                                 }
+                               }
+                       });
+       });
+       
 });
\ No newline at end of file

Modified: branches/Version-1_0-branch/controller/js/controller/custom_ui.js
===================================================================
--- branches/Version-1_0-branch/controller/js/controller/custom_ui.js   
2011-12-20 13:07:33 UTC (rev 8396)
+++ branches/Version-1_0-branch/controller/js/controller/custom_ui.js   
2011-12-20 13:21:44 UTC (rev 8397)
@@ -118,15 +118,11 @@
                        $("#frm_control_items").prepend("<input type='hidden' 
id=hid_" + control_item_id +  " name='control_tag_ids[]' value=" + 
control_group_id + ":" +  control_item_id + " />");
                }
        });
-});
-
-function slide_up(elem){
        
-       
-}
-
-function slide_down(elem){
-       
-       
-}
+       $(".frm_save_check_item").click(function(e){
+               var thisForm = $(this);
+               var submitBnt = $(thisForm).find("input[type='submit']");
                
+               $(submitBnt).removeClass("not_active");
+       });
+});
\ No newline at end of file

Deleted: 
branches/Version-1_0-branch/controller/js/controller/jquery-ui.custom.min.js
===================================================================
--- 
branches/Version-1_0-branch/controller/js/controller/jquery-ui.custom.min.js    
    2011-12-20 13:07:33 UTC (rev 8396)
+++ 
branches/Version-1_0-branch/controller/js/controller/jquery-ui.custom.min.js    
    2011-12-20 13:21:44 UTC (rev 8397)
@@ -1,102 +0,0 @@
-/*!
- * jQuery UI 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI
- */
-(function(c,j){function k(a,b){var 
d=a.nodeName.toLowerCase();if("area"===d){b=a.parentNode;d=b.name;if(!a.href||!d||b.nodeName.toLowerCase()!=="map")return
 
false;a=c("img[usemap=#"+d+"]")[0];return!!a&&l(a)}return(/input|select|textarea|button|object/.test(d)?!a.disabled:"a"==d?a.href||b:b)&&l(a)}function
 l(a){return!c(a).parents().andSelf().filter(function(){return 
c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this)}).length}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.16",
-keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});c.fn.extend({propAttr:c.fn.prop||c.fn.attr,_focus:c.fn.focus,focus:function(a,b){return
 typeof a==="number"?this.each(function(){var d=
-this;setTimeout(function(){c(d).focus();b&&b.call(d)},a)}):this._focus.apply(this,arguments)},scrollParent:function(){var
 
a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(c.curCSS(this,"position",1))&&/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(c.curCSS(this,
-"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!a.length?c(document):a},zIndex:function(a){if(a!==j)return
 this.css("zIndex",a);if(this.length){a=c(this[0]);for(var 
b;a.length&&a[0]!==document;){b=a.css("position");if(b==="absolute"||b==="relative"||b==="fixed"){b=parseInt(a.css("zIndex"),10);if(!isNaN(b)&&b!==0)return
 b}a=a.parent()}}return 0},disableSelection:function(){return 
this.bind((c.support.selectstart?"selectstart":
-"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return
 
this.unbind(".ui-disableSelection")}});c.each(["Width","Height"],function(a,b){function
 
d(f,g,m,n){c.each(e,function(){g-=parseFloat(c.curCSS(f,"padding"+this,true))||0;if(m)g-=parseFloat(c.curCSS(f,"border"+this+"Width",true))||0;if(n)g-=parseFloat(c.curCSS(f,"margin"+this,true))||0});return
 g}var 
e=b==="Width"?["Left","Right"]:["Top","Bottom"],h=b.toLowerCase(),i={innerWidth:c.fn.innerWidth,innerHeight:c.fn.innerHeight,
-outerWidth:c.fn.outerWidth,outerHeight:c.fn.outerHeight};c.fn["inner"+b]=function(f){if(f===j)return
 i["inner"+b].call(this);return 
this.each(function(){c(this).css(h,d(this,f)+"px")})};c.fn["outer"+b]=function(f,g){if(typeof
 f!=="number")return i["outer"+b].call(this,f);return 
this.each(function(){c(this).css(h,d(this,f,true,g)+"px")})}});c.extend(c.expr[":"],{data:function(a,b,d){return!!c.data(a,d[3])},focusable:function(a){return
 k(a,!isNaN(c.attr(a,"tabindex")))},tabbable:function(a){var b=c.attr(a,
-"tabindex"),d=isNaN(b);return(d||b>=0)&&k(a,!d)}});c(function(){var 
a=document.body,b=a.appendChild(b=document.createElement("div"));c.extend(b.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});c.support.minHeight=b.offsetHeight===100;c.support.selectstart="onselectstart"in
 
b;a.removeChild(b).style.display="none"});c.extend(c.ui,{plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var
 e in 
d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&
-a.element[0].parentNode)for(var 
e=0;e<b.length;e++)a.options[b[e][0]]&&b[e][1].apply(a.element,d)}},contains:function(a,b){return
 
document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(a,b){if(c(a).css("overflow")==="hidden")return
 false;b=b&&b==="left"?"scrollLeft":"scrollTop";var d=false;if(a[b]>0)return 
true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return 
a>b&&a<b+d},isOver:function(a,b,d,e,h,i){return c.ui.isOverAxis(a,d,h)&&
-c.ui.isOverAxis(b,e,i)}})}})(jQuery);
-;/*
- * jQuery UI Datepicker 1.8.16
- *
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * http://docs.jquery.com/UI/Datepicker
- *
- * Depends:
- *     jquery.ui.core.js
- */
-(function(d,C){function 
M(){this.debug=false;this._curInst=null;this._keyEvent=false;this._disabledInputs=[];this._inDialog=this._datepickerShowing=false;this._mainDivId="ui-datepicker-div";this._inlineClass="ui-datepicker-inline";this._appendClass="ui-datepicker-append";this._triggerClass="ui-datepicker-trigger";this._dialogClass="ui-datepicker-dialog";this._disableClass="ui-datepicker-disabled";this._unselectableClass="ui-datepicker-unselectable";this._currentClass="ui-datepicker-current-day";this._dayOverClass=
-"ui-datepicker-days-cell-over";this.regional=[];this.regional[""]={closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su",
-"Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"mm/dd/yy",firstDay:0,isRTL:false,showMonthAfterYear:false,yearSuffix:""};this._defaults={showOn:"focus",showAnim:"fadeIn",showOptions:{},defaultDate:null,appendText:"",buttonText:"...",buttonImage:"",buttonImageOnly:false,hideIfNoPrevNext:false,navigationAsDateFormat:false,gotoCurrent:false,changeMonth:false,changeYear:false,yearRange:"c-10:c+10",showOtherMonths:false,selectOtherMonths:false,showWeek:false,calculateWeek:this.iso8601Week,shortYearCutoff:"+10",
-minDate:null,maxDate:null,duration:"fast",beforeShowDay:null,beforeShow:null,onSelect:null,onChangeMonthYear:null,onClose:null,numberOfMonths:1,showCurrentAtPos:0,stepMonths:1,stepBigMonths:12,altField:"",altFormat:"",constrainInput:true,showButtonPanel:false,autoSize:false,disabled:false};d.extend(this._defaults,this.regional[""]);this.dpDiv=N(d('<div
 id="'+this._mainDivId+'" class="ui-datepicker ui-widget ui-widget-content 
ui-helper-clearfix ui-corner-all"></div>'))}function N(a){return 
a.bind("mouseout",
-function(b){b=d(b.target).closest("button, .ui-datepicker-prev, 
.ui-datepicker-next, .ui-datepicker-calendar td 
a");b.length&&b.removeClass("ui-state-hover ui-datepicker-prev-hover 
ui-datepicker-next-hover")}).bind("mouseover",function(b){b=d(b.target).closest("button,
 .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td 
a");if(!(d.datepicker._isDisabledDatepicker(J.inline?a.parent()[0]:J.input[0])||!b.length)){b.parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");
-b.addClass("ui-state-hover");b.hasClass("ui-datepicker-prev")&&b.addClass("ui-datepicker-prev-hover");b.hasClass("ui-datepicker-next")&&b.addClass("ui-datepicker-next-hover")}})}function
 H(a,b){d.extend(a,b);for(var c in b)if(b[c]==null||b[c]==C)a[c]=b[c];return 
a}d.extend(d.ui,{datepicker:{version:"1.8.16"}});var B=(new 
Date).getTime(),J;d.extend(M.prototype,{markerClassName:"hasDatepicker",maxRows:4,log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return
 this.dpDiv},
-setDefaults:function(a){H(this._defaults,a||{});return 
this},_attachDatepicker:function(a,b){var c=null;for(var e in 
this._defaults){var 
f=a.getAttribute("date:"+e);if(f){c=c||{};try{c[e]=eval(f)}catch(h){c[e]=f}}}e=a.nodeName.toLowerCase();f=e=="div"||e=="span";if(!a.id){this.uuid+=1;a.id="dp"+this.uuid}var
 
i=this._newInst(d(a),f);i.settings=d.extend({},b||{},c||{});if(e=="input")this._connectDatepicker(a,i);else
 
f&&this._inlineDatepicker(a,i)},_newInst:function(a,b){return{id:a[0].id.replace(/([^A-Za-z0-9_-])/g,
-"\\\\$1"),input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:!b?this.dpDiv:N(d('<div
 class="'+this._inlineClass+' ui-datepicker ui-widget ui-widget-content 
ui-helper-clearfix 
ui-corner-all"></div>'))}},_connectDatepicker:function(a,b){var 
c=d(a);b.append=d([]);b.trigger=d([]);if(!c.hasClass(this.markerClassName)){this._attachments(c,b);c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",
-function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return
 
this._get(b,f)});this._autoSize(b);d.data(a,"datepicker",b);b.settings.disabled&&this._disableDatepicker(a)}},_attachments:function(a,b){var
 
c=this._get(b,"appendText"),e=this._get(b,"isRTL");b.append&&b.append.remove();if(c){b.append=d('<span
 
class="'+this._appendClass+'">'+c+"</span>");a[e?"before":"after"](b.append)}a.unbind("focus",this._showDatepicker);b.trigger&&b.trigger.remove();c=this._get(b,"showOn");if(c==
-"focus"||c=="both")a.focus(this._showDatepicker);if(c=="button"||c=="both"){c=this._get(b,"buttonText");var
 
f=this._get(b,"buttonImage");b.trigger=d(this._get(b,"buttonImageOnly")?d("<img/>").addClass(this._triggerClass).attr({src:f,alt:c,title:c}):d('<button
 
type="button"></button>').addClass(this._triggerClass).html(f==""?c:d("<img/>").attr({src:f,alt:c,title:c})));a[e?"before":"after"](b.trigger);b.trigger.click(function(){d.datepicker._datepickerShowing&&d.datepicker._lastInput==a[0]?d.datepicker._hideDatepicker():
-d.datepicker._showDatepicker(a[0]);return 
false})}},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var 
b=new Date(2009,11,20),c=this._get(a,"dateFormat");if(c.match(/[DM]/)){var 
e=function(f){for(var 
h=0,i=0,g=0;g<f.length;g++)if(f[g].length>h){h=f[g].length;i=g}return 
i};b.setMonth(e(this._get(a,c.match(/MM/)?"monthNames":"monthNamesShort")));b.setDate(e(this._get(a,c.match(/DD/)?"dayNames":"dayNamesShort"))+20-b.getDay())}a.input.attr("size",this._formatDate(a,b).length)}},_inlineDatepicker:function(a,
-b){var 
c=d(a);if(!c.hasClass(this.markerClassName)){c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return
 
this._get(b,f)});d.data(a,"datepicker",b);this._setDate(b,this._getDefaultDate(b),true);this._updateDatepicker(b);this._updateAlternate(b);b.settings.disabled&&this._disableDatepicker(a);b.dpDiv.css("display","block")}},_dialogDatepicker:function(a,b,c,e,f){a=this._dialogInst;if(!a){this.uuid+=
-1;this._dialogInput=d('<input type="text" id="'+("dp"+this.uuid)+'" 
style="position: absolute; top: -100px; width: 0px; z-index: 
-10;"/>');this._dialogInput.keydown(this._doKeyDown);d("body").append(this._dialogInput);a=this._dialogInst=this._newInst(this._dialogInput,false);a.settings={};d.data(this._dialogInput[0],"datepicker",a)}H(a.settings,e||{});b=b&&b.constructor==Date?this._formatDate(a,b):b;this._dialogInput.val(b);this._pos=f?f.length?f:[f.pageX,f.pageY]:null;if(!this._pos)this._pos=[document.documentElement.clientWidth/
-2-100+(document.documentElement.scrollLeft||document.body.scrollLeft),document.documentElement.clientHeight/2-150+(document.documentElement.scrollTop||document.body.scrollTop)];this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px");a.settings.onSelect=c;this._inDialog=true;this.dpDiv.addClass(this._dialogClass);this._showDatepicker(this._dialogInput[0]);d.blockUI&&d.blockUI(this.dpDiv);d.data(this._dialogInput[0],"datepicker",a);return
 this},_destroyDatepicker:function(a){var b=
-d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var 
e=a.nodeName.toLowerCase();d.removeData(a,"datepicker");if(e=="input"){c.append.remove();c.trigger.remove();b.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)}else
 
if(e=="div"||e=="span")b.removeClass(this.markerClassName).empty()}},_enableDatepicker:function(a){var
 b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=
-a.nodeName.toLowerCase();if(e=="input"){a.disabled=false;c.trigger.filter("button").each(function(){this.disabled=false}).end().filter("img").css({opacity:"1.0",cursor:""})}else
 
if(e=="div"||e=="span"){b=b.children("."+this._inlineClass);b.children().removeClass("ui-state-disabled");b.find("select.ui-datepicker-month,
 
select.ui-datepicker-year").removeAttr("disabled")}this._disabledInputs=d.map(this._disabledInputs,function(f){return
 f==a?null:f})}},_disableDatepicker:function(a){var b=d(a),c=d.data(a,
-"datepicker");if(b.hasClass(this.markerClassName)){var 
e=a.nodeName.toLowerCase();if(e=="input"){a.disabled=true;c.trigger.filter("button").each(function(){this.disabled=true}).end().filter("img").css({opacity:"0.5",cursor:"default"})}else
 
if(e=="div"||e=="span"){b=b.children("."+this._inlineClass);b.children().addClass("ui-state-disabled");b.find("select.ui-datepicker-month,
 
select.ui-datepicker-year").attr("disabled","disabled")}this._disabledInputs=d.map(this._disabledInputs,function(f){return
 f==
-a?null:f});this._disabledInputs[this._disabledInputs.length]=a}},_isDisabledDatepicker:function(a){if(!a)return
 false;for(var 
b=0;b<this._disabledInputs.length;b++)if(this._disabledInputs[b]==a)return 
true;return false},_getInst:function(a){try{return 
d.data(a,"datepicker")}catch(b){throw"Missing instance data for this 
datepicker";}},_optionDatepicker:function(a,b,c){var 
e=this._getInst(a);if(arguments.length==2&&typeof b=="string")return 
b=="defaults"?d.extend({},d.datepicker._defaults):e?b=="all"?
-d.extend({},e.settings):this._get(e,b):null;var f=b||{};if(typeof 
b=="string"){f={};f[b]=c}if(e){this._curInst==e&&this._hideDatepicker();var 
h=this._getDateDatepicker(a,true),i=this._getMinMaxDate(e,"min"),g=this._getMinMaxDate(e,"max");H(e.settings,f);if(i!==null&&f.dateFormat!==C&&f.minDate===C)e.settings.minDate=this._formatDate(e,i);if(g!==null&&f.dateFormat!==C&&f.maxDate===C)e.settings.maxDate=this._formatDate(e,g);this._attachments(d(a),e);this._autoSize(e);this._setDate(e,h);this._updateAlternate(e);
-this._updateDatepicker(e)}},_changeDatepicker:function(a,b,c){this._optionDatepicker(a,b,c)},_refreshDatepicker:function(a){(a=this._getInst(a))&&this._updateDatepicker(a)},_setDateDatepicker:function(a,b){if(a=this._getInst(a)){this._setDate(a,b);this._updateDatepicker(a);this._updateAlternate(a)}},_getDateDatepicker:function(a,b){(a=this._getInst(a))&&!a.inline&&this._setDateFromField(a,b);return
 a?this._getDate(a):null},_doKeyDown:function(a){var 
b=d.datepicker._getInst(a.target),c=true,e=b.dpDiv.is(".ui-datepicker-rtl");
-b._keyEvent=true;if(d.datepicker._datepickerShowing)switch(a.keyCode){case 
9:d.datepicker._hideDatepicker();c=false;break;case 
13:c=d("td."+d.datepicker._dayOverClass+":not(."+d.datepicker._currentClass+")",b.dpDiv);c[0]&&d.datepicker._selectDay(a.target,b.selectedMonth,b.selectedYear,c[0]);if(a=d.datepicker._get(b,"onSelect")){c=d.datepicker._formatDate(b);a.apply(b.input?b.input[0]:null,[c,b])}else
 d.datepicker._hideDatepicker();return false;case 
27:d.datepicker._hideDatepicker();break;case 
33:d.datepicker._adjustDate(a.target,
-a.ctrlKey?-d.datepicker._get(b,"stepBigMonths"):-d.datepicker._get(b,"stepMonths"),"M");break;case
 
34:d.datepicker._adjustDate(a.target,a.ctrlKey?+d.datepicker._get(b,"stepBigMonths"):+d.datepicker._get(b,"stepMonths"),"M");break;case
 
35:if(a.ctrlKey||a.metaKey)d.datepicker._clearDate(a.target);c=a.ctrlKey||a.metaKey;break;case
 
36:if(a.ctrlKey||a.metaKey)d.datepicker._gotoToday(a.target);c=a.ctrlKey||a.metaKey;break;case
 37:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,e?+1:-1,"D");c=
-a.ctrlKey||a.metaKey;if(a.originalEvent.altKey)d.datepicker._adjustDate(a.target,a.ctrlKey?-d.datepicker._get(b,"stepBigMonths"):-d.datepicker._get(b,"stepMonths"),"M");break;case
 
38:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,-7,"D");c=a.ctrlKey||a.metaKey;break;case
 
39:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,e?-1:+1,"D");c=a.ctrlKey||a.metaKey;if(a.originalEvent.altKey)d.datepicker._adjustDate(a.target,a.ctrlKey?+d.datepicker._get(b,"stepBigMonths"):+d.datepicker._get(b,
-"stepMonths"),"M");break;case 
40:if(a.ctrlKey||a.metaKey)d.datepicker._adjustDate(a.target,+7,"D");c=a.ctrlKey||a.metaKey;break;default:c=false}else
 if(a.keyCode==36&&a.ctrlKey)d.datepicker._showDatepicker(this);else 
c=false;if(c){a.preventDefault();a.stopPropagation()}},_doKeyPress:function(a){var
 
b=d.datepicker._getInst(a.target);if(d.datepicker._get(b,"constrainInput")){b=d.datepicker._possibleChars(d.datepicker._get(b,"dateFormat"));var
 c=String.fromCharCode(a.charCode==C?a.keyCode:a.charCode);
-return a.ctrlKey||a.metaKey||c<" 
"||!b||b.indexOf(c)>-1}},_doKeyUp:function(a){a=d.datepicker._getInst(a.target);if(a.input.val()!=a.lastVal)try{if(d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),a.input?a.input.val():null,d.datepicker._getFormatConfig(a))){d.datepicker._setDateFromField(a);d.datepicker._updateAlternate(a);d.datepicker._updateDatepicker(a)}}catch(b){d.datepicker.log(b)}return
 
true},_showDatepicker:function(a){a=a.target||a;if(a.nodeName.toLowerCase()!="input")a=d("input",
-a.parentNode)[0];if(!(d.datepicker._isDisabledDatepicker(a)||d.datepicker._lastInput==a)){var
 
b=d.datepicker._getInst(a);if(d.datepicker._curInst&&d.datepicker._curInst!=b){d.datepicker._datepickerShowing&&d.datepicker._triggerOnClose(d.datepicker._curInst);d.datepicker._curInst.dpDiv.stop(true,true)}var
 
c=d.datepicker._get(b,"beforeShow");c=c?c.apply(a,[a,b]):{};if(c!==false){H(b.settings,c);b.lastVal=null;d.datepicker._lastInput=a;d.datepicker._setDateFromField(b);if(d.datepicker._inDialog)a.value=
-"";if(!d.datepicker._pos){d.datepicker._pos=d.datepicker._findPos(a);d.datepicker._pos[1]+=a.offsetHeight}var
 
e=false;d(a).parents().each(function(){e|=d(this).css("position")=="fixed";return!e});if(e&&d.browser.opera){d.datepicker._pos[0]-=document.documentElement.scrollLeft;d.datepicker._pos[1]-=document.documentElement.scrollTop}c={left:d.datepicker._pos[0],top:d.datepicker._pos[1]};d.datepicker._pos=null;b.dpDiv.empty();b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});d.datepicker._updateDatepicker(b);
-c=d.datepicker._checkOffset(b,c,e);b.dpDiv.css({position:d.datepicker._inDialog&&d.blockUI?"static":e?"fixed":"absolute",display:"none",left:c.left+"px",top:c.top+"px"});if(!b.inline){c=d.datepicker._get(b,"showAnim");var
 f=d.datepicker._get(b,"duration"),h=function(){var 
i=b.dpDiv.find("iframe.ui-datepicker-cover");if(i.length){var 
g=d.datepicker._getBorders(b.dpDiv);i.css({left:-g[0],top:-g[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})}};b.dpDiv.zIndex(d(a).zIndex()+1);d.datepicker._datepickerShowing=
-true;d.effects&&d.effects[c]?b.dpDiv.show(c,d.datepicker._get(b,"showOptions"),f,h):b.dpDiv[c||"show"](c?f:null,h);if(!c||!f)h();b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus();d.datepicker._curInst=b}}}},_updateDatepicker:function(a){this.maxRows=4;var
 
b=d.datepicker._getBorders(a.dpDiv);J=a;a.dpDiv.empty().append(this._generateHTML(a));var
 
c=a.dpDiv.find("iframe.ui-datepicker-cover");c.length&&c.css({left:-b[0],top:-b[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()});
-a.dpDiv.find("."+this._dayOverClass+" 
a").mouseover();b=this._getNumberOfMonths(a);c=b[1];a.dpDiv.removeClass("ui-datepicker-multi-2
 ui-datepicker-multi-3 
ui-datepicker-multi-4").width("");c>1&&a.dpDiv.addClass("ui-datepicker-multi-"+c).css("width",17*c+"em");a.dpDiv[(b[0]!=1||b[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl");a==d.datepicker._curInst&&d.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&&
-!a.input.is(":disabled")&&a.input[0]!=document.activeElement&&a.input.focus();if(a.yearshtml){var
 
e=a.yearshtml;setTimeout(function(){e===a.yearshtml&&a.yearshtml&&a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml);e=a.yearshtml=null},0)}},_getBorders:function(a){var
 
b=function(c){return{thin:1,medium:2,thick:3}[c]||c};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var
 e=a.dpDiv.outerWidth(),f=a.dpDiv.outerHeight(),
-h=a.input?a.input.outerWidth():0,i=a.input?a.input.outerHeight():0,g=document.documentElement.clientWidth+d(document).scrollLeft(),j=document.documentElement.clientHeight+d(document).scrollTop();b.left-=this._get(a,"isRTL")?e-h:0;b.left-=c&&b.left==a.input.offset().left?d(document).scrollLeft():0;b.top-=c&&b.top==a.input.offset().top+i?d(document).scrollTop():0;b.left-=Math.min(b.left,b.left+e>g&&g>e?Math.abs(b.left+e-g):0);b.top-=Math.min(b.top,b.top+f>j&&j>f?Math.abs(f+i):0);return
 b},_findPos:function(a){for(var b=
-this._get(this._getInst(a),"isRTL");a&&(a.type=="hidden"||a.nodeType!=1||d.expr.filters.hidden(a));)a=a[b?"previousSibling":"nextSibling"];a=d(a).offset();return[a.left,a.top]},_triggerOnClose:function(a){var
 
b=this._get(a,"onClose");if(b)b.apply(a.input?a.input[0]:null,[a.input?a.input.val():"",a])},_hideDatepicker:function(a){var
 
b=this._curInst;if(!(!b||a&&b!=d.data(a,"datepicker")))if(this._datepickerShowing){a=this._get(b,"showAnim");var
 c=this._get(b,"duration"),e=function(){d.datepicker._tidyDialog(b);
-this._curInst=null};d.effects&&d.effects[a]?b.dpDiv.hide(a,d.datepicker._get(b,"showOptions"),c,e):b.dpDiv[a=="slideDown"?"slideUp":a=="fadeIn"?"fadeOut":"hide"](a?c:null,e);a||e();d.datepicker._triggerOnClose(b);this._datepickerShowing=false;this._lastInput=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if(d.blockUI){d.unblockUI();d("body").append(this.dpDiv)}}this._inDialog=false}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},
-_checkExternalClick:function(a){if(d.datepicker._curInst){a=d(a.target);a[0].id!=d.datepicker._mainDivId&&a.parents("#"+d.datepicker._mainDivId).length==0&&!a.hasClass(d.datepicker.markerClassName)&&!a.hasClass(d.datepicker._triggerClass)&&d.datepicker._datepickerShowing&&!(d.datepicker._inDialog&&d.blockUI)&&d.datepicker._hideDatepicker()}},_adjustDate:function(a,b,c){a=d(a);var
 
e=this._getInst(a[0]);if(!this._isDisabledDatepicker(a[0])){this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"):
-0),c);this._updateDatepicker(e)}},_gotoToday:function(a){a=d(a);var 
b=this._getInst(a[0]);if(this._get(b,"gotoCurrent")&&b.currentDay){b.selectedDay=b.currentDay;b.drawMonth=b.selectedMonth=b.currentMonth;b.drawYear=b.selectedYear=b.currentYear}else{var
 c=new 
Date;b.selectedDay=c.getDate();b.drawMonth=b.selectedMonth=c.getMonth();b.drawYear=b.selectedYear=c.getFullYear()}this._notifyChange(b);this._adjustDate(a)},_selectMonthYear:function(a,b,c){a=d(a);var
 e=this._getInst(a[0]);e["selected"+(c=="M"?
-"Month":"Year")]=e["draw"+(c=="M"?"Month":"Year")]=parseInt(b.options[b.selectedIndex].value,10);this._notifyChange(e);this._adjustDate(a)},_selectDay:function(a,b,c,e){var
 
f=d(a);if(!(d(e).hasClass(this._unselectableClass)||this._isDisabledDatepicker(f[0]))){f=this._getInst(f[0]);f.selectedDay=f.currentDay=d("a",e).html();f.selectedMonth=f.currentMonth=b;f.selectedYear=f.currentYear=c;this._selectDate(a,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear))}},_clearDate:function(a){a=d(a);
-this._getInst(a[0]);this._selectDate(a,"")},_selectDate:function(a,b){a=this._getInst(d(a)[0]);b=b!=null?b:this._formatDate(a);a.input&&a.input.val(b);this._updateAlternate(a);var
 c=this._get(a,"onSelect");if(c)c.apply(a.input?a.input[0]:null,[b,a]);else 
a.input&&a.input.trigger("change");if(a.inline)this._updateDatepicker(a);else{this._hideDatepicker();this._lastInput=a.input[0];typeof
 
a.input[0]!="object"&&a.input.focus();this._lastInput=null}},_updateAlternate:function(a){var
 b=this._get(a,"altField");
-if(b){var 
c=this._get(a,"altFormat")||this._get(a,"dateFormat"),e=this._getDate(a),f=this.formatDate(c,e,this._getFormatConfig(a));d(b).each(function(){d(this).val(f)})}},noWeekends:function(a){a=a.getDay();return[a>0&&a<6,""]},iso8601Week:function(a){a=new
 Date(a.getTime());a.setDate(a.getDate()+4-(a.getDay()||7));var 
b=a.getTime();a.setMonth(0);a.setDate(1);return 
Math.floor(Math.round((b-a)/864E5)/7)+1},parseDate:function(a,b,c){if(a==null||b==null)throw"Invalid
 arguments";b=typeof b=="object"?
-b.toString():b+"";if(b=="")return null;var 
e=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff;e=typeof 
e!="string"?e:(new Date).getFullYear()%100+parseInt(e,10);for(var 
f=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,h=(c?c.dayNames:null)||this._defaults.dayNames,i=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,g=(c?c.monthNames:null)||this._defaults.monthNames,j=c=-1,l=-1,u=-1,k=false,o=function(p){(p=A+1<a.length&&a.charAt(A+1)==p)&&A++;return
 p},m=function(p){var D=
-o(p);p=new 
RegExp("^\\d{1,"+(p=="@"?14:p=="!"?20:p=="y"&&D?4:p=="o"?3:2)+"}");p=b.substring(q).match(p);if(!p)throw"Missing
 number at position "+q;q+=p[0].length;return 
parseInt(p[0],10)},n=function(p,D,K){p=d.map(o(p)?K:D,function(w,x){return[[x,w]]}).sort(function(w,x){return-(w[1].length-x[1].length)});var
 
E=-1;d.each(p,function(w,x){w=x[1];if(b.substr(q,w.length).toLowerCase()==w.toLowerCase()){E=x[0];q+=w.length;return
 false}});if(E!=-1)return E+1;else throw"Unknown name at position "+q;},s=
-function(){if(b.charAt(q)!=a.charAt(A))throw"Unexpected literal at position 
"+q;q++},q=0,A=0;A<a.length;A++)if(k)if(a.charAt(A)=="'"&&!o("'"))k=false;else 
s();else switch(a.charAt(A)){case "d":l=m("d");break;case 
"D":n("D",f,h);break;case "o":u=m("o");break;case "m":j=m("m");break;case 
"M":j=n("M",i,g);break;case "y":c=m("y");break;case "@":var v=new 
Date(m("@"));c=v.getFullYear();j=v.getMonth()+1;l=v.getDate();break;case 
"!":v=new Date((m("!")-this._ticksTo1970)/1E4);c=v.getFullYear();j=v.getMonth()+
-1;l=v.getDate();break;case "'":if(o("'"))s();else 
k=true;break;default:s()}if(q<b.length)throw"Extra/unparsed characters found in 
date: "+b.substring(q);if(c==-1)c=(new Date).getFullYear();else 
if(c<100)c+=(new Date).getFullYear()-(new 
Date).getFullYear()%100+(c<=e?0:-100);if(u>-1){j=1;l=u;do{e=this._getDaysInMonth(c,j-1);if(l<=e)break;j++;l-=e}while(1)}v=this._daylightSavingAdjust(new
 
Date(c,j-1,l));if(v.getFullYear()!=c||v.getMonth()+1!=j||v.getDate()!=l)throw"Invalid
 date";return v},ATOM:"yy-mm-dd",
-COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, 
dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d 
M 
y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*24*60*60*1E7,formatDate:function(a,b,c){if(!b)return"";var
 
e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,h=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort;c=(c?c.monthNames:
-null)||this._defaults.monthNames;var 
i=function(o){(o=k+1<a.length&&a.charAt(k+1)==o)&&k++;return 
o},g=function(o,m,n){m=""+m;if(i(o))for(;m.length<n;)m="0"+m;return 
m},j=function(o,m,n,s){return i(o)?s[m]:n[m]},l="",u=false;if(b)for(var 
k=0;k<a.length;k++)if(u)if(a.charAt(k)=="'"&&!i("'"))u=false;else 
l+=a.charAt(k);else switch(a.charAt(k)){case 
"d":l+=g("d",b.getDate(),2);break;case "D":l+=j("D",b.getDay(),e,f);break;case 
"o":l+=g("o",Math.round(((new 
Date(b.getFullYear(),b.getMonth(),b.getDate())).getTime()-
-(new Date(b.getFullYear(),0,0)).getTime())/864E5),3);break;case 
"m":l+=g("m",b.getMonth()+1,2);break;case 
"M":l+=j("M",b.getMonth(),h,c);break;case 
"y":l+=i("y")?b.getFullYear():(b.getYear()%100<10?"0":"")+b.getYear()%100;break;case
 "@":l+=b.getTime();break;case 
"!":l+=b.getTime()*1E4+this._ticksTo1970;break;case "'":if(i("'"))l+="'";else 
u=true;break;default:l+=a.charAt(k)}return 
l},_possibleChars:function(a){for(var 
b="",c=false,e=function(h){(h=f+1<a.length&&a.charAt(f+1)==h)&&f++;return h},f=
-0;f<a.length;f++)if(c)if(a.charAt(f)=="'"&&!e("'"))c=false;else 
b+=a.charAt(f);else switch(a.charAt(f)){case "d":case "m":case "y":case 
"@":b+="0123456789";break;case "D":case "M":return null;case 
"'":if(e("'"))b+="'";else c=true;break;default:b+=a.charAt(f)}return 
b},_get:function(a,b){return 
a.settings[b]!==C?a.settings[b]:this._defaults[b]},_setDateFromField:function(a,b){if(a.input.val()!=a.lastVal){var
 
c=this._get(a,"dateFormat"),e=a.lastVal=a.input?a.input.val():null,f,h;f=h=this._getDefaultDate(a);
-var 
i=this._getFormatConfig(a);try{f=this.parseDate(c,e,i)||h}catch(g){this.log(g);e=b?"":e}a.selectedDay=f.getDate();a.drawMonth=a.selectedMonth=f.getMonth();a.drawYear=a.selectedYear=f.getFullYear();a.currentDay=e?f.getDate():0;a.currentMonth=e?f.getMonth():0;a.currentYear=e?f.getFullYear():0;this._adjustInstDate(a)}},_getDefaultDate:function(a){return
 this._restrictMinMax(a,this._determineDate(a,this._get(a,"defaultDate"),new 
Date))},_determineDate:function(a,b,c){var e=function(h){var i=new Date;
-i.setDate(i.getDate()+h);return i},f=function(h){try{return 
d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),h,d.datepicker._getFormatConfig(a))}catch(i){}var
 g=(h.toLowerCase().match(/^c/)?d.datepicker._getDate(a):null)||new 
Date,j=g.getFullYear(),l=g.getMonth();g=g.getDate();for(var 
u=/([+-]?[0-9]+)\s*(d|D|w|W|m|M|y|Y)?/g,k=u.exec(h);k;){switch(k[2]||"d"){case 
"d":case "D":g+=parseInt(k[1],10);break;case "w":case 
"W":g+=parseInt(k[1],10)*7;break;case "m":case "M":l+=parseInt(k[1],10);g=
-Math.min(g,d.datepicker._getDaysInMonth(j,l));break;case "y":case 
"Y":j+=parseInt(k[1],10);g=Math.min(g,d.datepicker._getDaysInMonth(j,l));break}k=u.exec(h)}return
 new Date(j,l,g)};if(b=(b=b==null||b===""?c:typeof b=="string"?f(b):typeof 
b=="number"?isNaN(b)?c:e(b):new Date(b.getTime()))&&b.toString()=="Invalid 
Date"?c:b){b.setHours(0);b.setMinutes(0);b.setSeconds(0);b.setMilliseconds(0)}return
 this._daylightSavingAdjust(b)},_daylightSavingAdjust:function(a){if(!a)return 
null;a.setHours(a.getHours()>
-12?a.getHours()+2:0);return a},_setDate:function(a,b,c){var 
e=!b,f=a.selectedMonth,h=a.selectedYear;b=this._restrictMinMax(a,this._determineDate(a,b,new
 
Date));a.selectedDay=a.currentDay=b.getDate();a.drawMonth=a.selectedMonth=a.currentMonth=b.getMonth();a.drawYear=a.selectedYear=a.currentYear=b.getFullYear();if((f!=a.selectedMonth||h!=a.selectedYear)&&!c)this._notifyChange(a);this._adjustInstDate(a);if(a.input)a.input.val(e?"":this._formatDate(a))},_getDate:function(a){return!a.currentYear||a.input&&
-a.input.val()==""?null:this._daylightSavingAdjust(new 
Date(a.currentYear,a.currentMonth,a.currentDay))},_generateHTML:function(a){var 
b=new Date;b=this._daylightSavingAdjust(new 
Date(b.getFullYear(),b.getMonth(),b.getDate()));var 
c=this._get(a,"isRTL"),e=this._get(a,"showButtonPanel"),f=this._get(a,"hideIfNoPrevNext"),h=this._get(a,"navigationAsDateFormat"),i=this._getNumberOfMonths(a),g=this._get(a,"showCurrentAtPos"),j=this._get(a,"stepMonths"),l=i[0]!=1||i[1]!=1,u=this._daylightSavingAdjust(!a.currentDay?
-new Date(9999,9,9):new 
Date(a.currentYear,a.currentMonth,a.currentDay)),k=this._getMinMaxDate(a,"min"),o=this._getMinMaxDate(a,"max");g=a.drawMonth-g;var
 m=a.drawYear;if(g<0){g+=12;m--}if(o){var n=this._daylightSavingAdjust(new 
Date(o.getFullYear(),o.getMonth()-i[0]*i[1]+1,o.getDate()));for(n=k&&n<k?k:n;this._daylightSavingAdjust(new
 
Date(m,g,1))>n;){g--;if(g<0){g=11;m--}}}a.drawMonth=g;a.drawYear=m;n=this._get(a,"prevText");n=!h?n:this.formatDate(n,this._daylightSavingAdjust(new
 Date(m,g-j,1)),this._getFormatConfig(a));
-n=this._canAdjustMonth(a,-1,m,g)?'<a class="ui-datepicker-prev ui-corner-all" 
onclick="DP_jQuery_'+B+".datepicker._adjustDate('#"+a.id+"', -"+j+", 'M');\" 
title=\""+n+'"><span class="ui-icon 
ui-icon-circle-triangle-'+(c?"e":"w")+'">'+n+"</span></a>":f?"":'<a 
class="ui-datepicker-prev ui-corner-all ui-state-disabled" title="'+n+'"><span 
class="ui-icon ui-icon-circle-triangle-'+(c?"e":"w")+'">'+n+"</span></a>";var 
s=this._get(a,"nextText");s=!h?s:this.formatDate(s,this._daylightSavingAdjust(new
 Date(m,
-g+j,1)),this._getFormatConfig(a));f=this._canAdjustMonth(a,+1,m,g)?'<a 
class="ui-datepicker-next ui-corner-all" 
onclick="DP_jQuery_'+B+".datepicker._adjustDate('#"+a.id+"', +"+j+", 'M');\" 
title=\""+s+'"><span class="ui-icon 
ui-icon-circle-triangle-'+(c?"w":"e")+'">'+s+"</span></a>":f?"":'<a 
class="ui-datepicker-next ui-corner-all ui-state-disabled" title="'+s+'"><span 
class="ui-icon 
ui-icon-circle-triangle-'+(c?"w":"e")+'">'+s+"</span></a>";j=this._get(a,"currentText");s=this._get(a,"gotoCurrent")&&
-a.currentDay?u:b;j=!h?j:this.formatDate(j,s,this._getFormatConfig(a));h=!a.inline?'<button
 type="button" class="ui-datepicker-close ui-state-default ui-priority-primary 
ui-corner-all" 
onclick="DP_jQuery_'+B+'.datepicker._hideDatepicker();">'+this._get(a,"closeText")+"</button>":"";e=e?'<div
 class="ui-datepicker-buttonpane 
ui-widget-content">'+(c?h:"")+(this._isInRange(a,s)?'<button type="button" 
class="ui-datepicker-current ui-state-default ui-priority-secondary 
ui-corner-all" onclick="DP_jQuery_'+
-B+".datepicker._gotoToday('#"+a.id+"');\">"+j+"</button>":"")+(c?"":h)+"</div>":"";h=parseInt(this._get(a,"firstDay"),10);h=isNaN(h)?0:h;j=this._get(a,"showWeek");s=this._get(a,"dayNames");this._get(a,"dayNamesShort");var
 
q=this._get(a,"dayNamesMin"),A=this._get(a,"monthNames"),v=this._get(a,"monthNamesShort"),p=this._get(a,"beforeShowDay"),D=this._get(a,"showOtherMonths"),K=this._get(a,"selectOtherMonths");this._get(a,"calculateWeek");for(var
 E=this._getDefaultDate(a),w="",x=0;x<i[0];x++){var O=
-"";this.maxRows=4;for(var G=0;G<i[1];G++){var P=this._daylightSavingAdjust(new 
Date(m,g,a.selectedDay)),t=" ui-corner-all",y="";if(l){y+='<div 
class="ui-datepicker-group';if(i[1]>1)switch(G){case 0:y+=" 
ui-datepicker-group-first";t=" ui-corner-"+(c?"right":"left");break;case 
i[1]-1:y+=" ui-datepicker-group-last";t=" 
ui-corner-"+(c?"left":"right");break;default:y+=" 
ui-datepicker-group-middle";t="";break}y+='">'}y+='<div 
class="ui-datepicker-header ui-widget-header 
ui-helper-clearfix'+t+'">'+(/all|left/.test(t)&&
-x==0?c?f:n:"")+(/all|right/.test(t)&&x==0?c?n:f:"")+this._generateMonthYearHeader(a,g,m,k,o,x>0||G>0,A,v)+'</div><table
 class="ui-datepicker-calendar"><thead><tr>';var z=j?'<th 
class="ui-datepicker-week-col">'+this._get(a,"weekHeader")+"</th>":"";for(t=0;t<7;t++){var
 r=(t+h)%7;z+="<th"+((t+h+6)%7>=5?' class="ui-datepicker-week-end"':"")+'><span 
title="'+s[r]+'">'+q[r]+"</span></th>"}y+=z+"</tr></thead><tbody>";z=this._getDaysInMonth(m,g);if(m==a.selectedYear&&g==a.selectedMonth)a.selectedDay=Math.min(a.selectedDay,
-z);t=(this._getFirstDayOfMonth(m,g)-h+7)%7;z=Math.ceil((t+z)/7);this.maxRows=z=l?this.maxRows>z?this.maxRows:z:z;r=this._daylightSavingAdjust(new
 Date(m,g,1-t));for(var Q=0;Q<z;Q++){y+="<tr>";var R=!j?"":'<td 
class="ui-datepicker-week-col">'+this._get(a,"calculateWeek")(r)+"</td>";for(t=0;t<7;t++){var
 
I=p?p.apply(a.input?a.input[0]:null,[r]):[true,""],F=r.getMonth()!=g,L=F&&!K||!I[0]||k&&r<k||o&&r>o;R+='<td
 class="'+((t+h+6)%7>=5?" ui-datepicker-week-end":"")+(F?" 
ui-datepicker-other-month":"")+(r.getTime()==
-P.getTime()&&g==a.selectedMonth&&a._keyEvent||E.getTime()==r.getTime()&&E.getTime()==P.getTime()?"
 "+this._dayOverClass:"")+(L?" "+this._unselectableClass+" 
ui-state-disabled":"")+(F&&!D?"":" "+I[1]+(r.getTime()==u.getTime()?" 
"+this._currentClass:"")+(r.getTime()==b.getTime()?" 
ui-datepicker-today":""))+'"'+((!F||D)&&I[2]?' title="'+I[2]+'"':"")+(L?"":' 
onclick="DP_jQuery_'+B+".datepicker._selectDay('#"+a.id+"',"+r.getMonth()+","+r.getFullYear()+',
 this);return false;"')+">"+(F&&!D?"&#xa0;":L?'<span class="ui-state-default">'+
-r.getDate()+"</span>":'<a class="ui-state-default'+(r.getTime()==b.getTime()?" 
ui-state-highlight":"")+(r.getTime()==u.getTime()?" ui-state-active":"")+(F?" 
ui-priority-secondary":"")+'" 
href="#">'+r.getDate()+"</a>")+"</td>";r.setDate(r.getDate()+1);r=this._daylightSavingAdjust(r)}y+=R+"</tr>"}g++;if(g>11){g=0;m++}y+="</tbody></table>"+(l?"</div>"+(i[0]>0&&G==i[1]-1?'<div
 
class="ui-datepicker-row-break"></div>':""):"");O+=y}w+=O}w+=e+(d.browser.msie&&parseInt(d.browser.version,10)<7&&!a.inline?'<iframe
 src="javascript:false;" class="ui-datepicker-cover" frameborder="0"></iframe>':
-"");a._keyEvent=false;return 
w},_generateMonthYearHeader:function(a,b,c,e,f,h,i,g){var 
j=this._get(a,"changeMonth"),l=this._get(a,"changeYear"),u=this._get(a,"showMonthAfterYear"),k='<div
 class="ui-datepicker-title">',o="";if(h||!j)o+='<span 
class="ui-datepicker-month">'+i[b]+"</span>";else{i=e&&e.getFullYear()==c;var 
m=f&&f.getFullYear()==c;o+='<select class="ui-datepicker-month" 
onchange="DP_jQuery_'+B+".datepicker._selectMonthYear('#"+a.id+"', this, 
'M');\" >";for(var n=0;n<12;n++)if((!i||n>=e.getMonth())&&
-(!m||n<=f.getMonth()))o+='<option value="'+n+'"'+(n==b?' 
selected="selected"':"")+">"+g[n]+"</option>";o+="</select>"}u||(k+=o+(h||!(j&&l)?"&#xa0;":""));if(!a.yearshtml){a.yearshtml="";if(h||!l)k+='<span
 
class="ui-datepicker-year">'+c+"</span>";else{g=this._get(a,"yearRange").split(":");var
 s=(new 
Date).getFullYear();i=function(q){q=q.match(/c[+-].*/)?c+parseInt(q.substring(1),10):q.match(/[+-].*/)?s+parseInt(q,10):parseInt(q,10);return
 isNaN(q)?s:q};b=i(g[0]);g=Math.max(b,i(g[1]||""));b=e?Math.max(b,
-e.getFullYear()):b;g=f?Math.min(g,f.getFullYear()):g;for(a.yearshtml+='<select 
class="ui-datepicker-year" 
onchange="DP_jQuery_'+B+".datepicker._selectMonthYear('#"+a.id+"', this, 
'Y');\" >";b<=g;b++)a.yearshtml+='<option value="'+b+'"'+(b==c?' 
selected="selected"':"")+">"+b+"</option>";a.yearshtml+="</select>";k+=a.yearshtml;a.yearshtml=null}}k+=this._get(a,"yearSuffix");if(u)k+=(h||!(j&&l)?"&#xa0;":"")+o;k+="</div>";return
 k},_adjustInstDate:function(a,b,c){var e=a.drawYear+(c=="Y"?b:0),f=a.drawMonth+
-(c=="M"?b:0);b=Math.min(a.selectedDay,this._getDaysInMonth(e,f))+(c=="D"?b:0);e=this._restrictMinMax(a,this._daylightSavingAdjust(new
 
Date(e,f,b)));a.selectedDay=e.getDate();a.drawMonth=a.selectedMonth=e.getMonth();a.drawYear=a.selectedYear=e.getFullYear();if(c=="M"||c=="Y")this._notifyChange(a)},_restrictMinMax:function(a,b){var
 
c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");b=c&&b<c?c:b;return
 b=a&&b>a?a:b},_notifyChange:function(a){var 
b=this._get(a,"onChangeMonthYear");if(b)b.apply(a.input?
-a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){a=this._get(a,"numberOfMonths");return
 a==null?[1,1]:typeof a=="number"?[1,a]:a},_getMinMaxDate:function(a,b){return 
this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return
 32-this._daylightSavingAdjust(new 
Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return(new 
Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,e){var 
f=this._getNumberOfMonths(a);c=this._daylightSavingAdjust(new Date(c,
-e+(b<0?b:f[0]*f[1]),1));b<0&&c.setDate(this._getDaysInMonth(c.getFullYear(),c.getMonth()));return
 this._isInRange(a,c)},_isInRange:function(a,b){var 
c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!a||b.getTime()<=a.getTime())},_getFormatConfig:function(a){var
 b=this._get(a,"shortYearCutoff");b=typeof b!="string"?b:(new 
Date).getFullYear()%100+parseInt(b,10);return{shortYearCutoff:b,dayNamesShort:this._get(a,"dayNamesShort"),dayNames:this._get(a,
-"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,e){if(!b){a.currentDay=a.selectedDay;a.currentMonth=a.selectedMonth;a.currentYear=a.selectedYear}b=b?typeof
 b=="object"?b:this._daylightSavingAdjust(new 
Date(e,c,b)):this._daylightSavingAdjust(new 
Date(a.currentYear,a.currentMonth,a.currentDay));return 
this.formatDate(this._get(a,"dateFormat"),b,this._getFormatConfig(a))}});d.fn.datepicker=function(a){if(!this.length)return
 this;
-if(!d.datepicker.initialized){d(document).mousedown(d.datepicker._checkExternalClick).find("body").append(d.datepicker.dpDiv);d.datepicker.initialized=true}var
 b=Array.prototype.slice.call(arguments,1);if(typeof 
a=="string"&&(a=="isDisabled"||a=="getDate"||a=="widget"))return 
d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));if(a=="option"&&arguments.length==2&&typeof
 arguments[1]=="string")return 
d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));return 
this.each(function(){typeof a==
-"string"?d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this].concat(b)):d.datepicker._attachDatepicker(this,a)})};d.datepicker=new
 M;d.datepicker.initialized=false;d.datepicker.uuid=(new 
Date).getTime();d.datepicker.version="1.8.16";window["DP_jQuery_"+B]=d})(jQuery);
-;
\ No newline at end of file

Copied: 
branches/Version-1_0-branch/controller/js/controller/jquery-ui.custom.min.js 
(from rev 8396, trunk/controller/js/controller/jquery-ui.custom.min.js)
===================================================================
--- 
branches/Version-1_0-branch/controller/js/controller/jquery-ui.custom.min.js    
                            (rev 0)
+++ 
branches/Version-1_0-branch/controller/js/controller/jquery-ui.custom.min.js    
    2011-12-20 13:21:44 UTC (rev 8397)
@@ -0,0 +1,791 @@
+/*!
+ * jQuery UI 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI
+ */
+(function(c,j){function k(a,b){var 
d=a.nodeName.toLowerCase();if("area"===d){b=a.parentNode;d=b.name;if(!a.href||!d||b.nodeName.toLowerCase()!=="map")return
 
false;a=c("img[usemap=#"+d+"]")[0];return!!a&&l(a)}return(/input|select|textarea|button|object/.test(d)?!a.disabled:"a"==d?a.href||b:b)&&l(a)}function
 l(a){return!c(a).parents().andSelf().filter(function(){return 
c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this)}).length}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.16",
+keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});c.fn.extend({propAttr:c.fn.prop||c.fn.attr,_focus:c.fn.focus,focus:function(a,b){return
 typeof a==="number"?this.each(function(){var d=
+this;setTimeout(function(){c(d).focus();b&&b.call(d)},a)}):this._focus.apply(this,arguments)},scrollParent:function(){var
 
a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(c.curCSS(this,"position",1))&&/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(c.curCSS(this,
+"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!a.length?c(document):a},zIndex:function(a){if(a!==j)return
 this.css("zIndex",a);if(this.length){a=c(this[0]);for(var 
b;a.length&&a[0]!==document;){b=a.css("position");if(b==="absolute"||b==="relative"||b==="fixed"){b=parseInt(a.css("zIndex"),10);if(!isNaN(b)&&b!==0)return
 b}a=a.parent()}}return 0},disableSelection:function(){return 
this.bind((c.support.selectstart?"selectstart":
+"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return
 
this.unbind(".ui-disableSelection")}});c.each(["Width","Height"],function(a,b){function
 
d(f,g,m,n){c.each(e,function(){g-=parseFloat(c.curCSS(f,"padding"+this,true))||0;if(m)g-=parseFloat(c.curCSS(f,"border"+this+"Width",true))||0;if(n)g-=parseFloat(c.curCSS(f,"margin"+this,true))||0});return
 g}var 
e=b==="Width"?["Left","Right"]:["Top","Bottom"],h=b.toLowerCase(),i={innerWidth:c.fn.innerWidth,innerHeight:c.fn.innerHeight,
+outerWidth:c.fn.outerWidth,outerHeight:c.fn.outerHeight};c.fn["inner"+b]=function(f){if(f===j)return
 i["inner"+b].call(this);return 
this.each(function(){c(this).css(h,d(this,f)+"px")})};c.fn["outer"+b]=function(f,g){if(typeof
 f!=="number")return i["outer"+b].call(this,f);return 
this.each(function(){c(this).css(h,d(this,f,true,g)+"px")})}});c.extend(c.expr[":"],{data:function(a,b,d){return!!c.data(a,d[3])},focusable:function(a){return
 k(a,!isNaN(c.attr(a,"tabindex")))},tabbable:function(a){var b=c.attr(a,
+"tabindex"),d=isNaN(b);return(d||b>=0)&&k(a,!d)}});c(function(){var 
a=document.body,b=a.appendChild(b=document.createElement("div"));c.extend(b.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});c.support.minHeight=b.offsetHeight===100;c.support.selectstart="onselectstart"in
 
b;a.removeChild(b).style.display="none"});c.extend(c.ui,{plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var
 e in 
d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&
+a.element[0].parentNode)for(var 
e=0;e<b.length;e++)a.options[b[e][0]]&&b[e][1].apply(a.element,d)}},contains:function(a,b){return
 
document.compareDocumentPosition?a.compareDocumentPosition(b)&16:a!==b&&a.contains(b)},hasScroll:function(a,b){if(c(a).css("overflow")==="hidden")return
 false;b=b&&b==="left"?"scrollLeft":"scrollTop";var d=false;if(a[b]>0)return 
true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return 
a>b&&a<b+d},isOver:function(a,b,d,e,h,i){return c.ui.isOverAxis(a,d,h)&&
+c.ui.isOverAxis(b,e,i)}})}})(jQuery);
+;/*!
+ * jQuery UI Widget 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Widget
+ */
+(function(b,j){if(b.cleanData){var 
k=b.cleanData;b.cleanData=function(a){for(var 
c=0,d;(d=a[c])!=null;c++)try{b(d).triggerHandler("remove")}catch(e){}k(a)}}else{var
 l=b.fn.remove;b.fn.remove=function(a,c){return 
this.each(function(){if(!c)if(!a||b.filter(a,[this]).length)b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(d){}});return
 l.call(b(this),a,c)})}}b.widget=function(a,c,d){var 
e=a.split(".")[0],f;a=a.split(".")[1];f=e+"-"+a;if(!d){d=c;c=b.Widget}b.expr[":"][f]=
+function(h){return!!b.data(h,a)};b[e]=b[e]||{};b[e][a]=function(h,g){arguments.length&&this._createWidget(h,g)};c=new
 
c;c.options=b.extend(true,{},c.options);b[e][a].prototype=b.extend(true,c,{namespace:e,widgetName:a,widgetEventPrefix:b[e][a].prototype.widgetEventPrefix||a,widgetBaseClass:f},d);b.widget.bridge(a,b[e][a])};b.widget.bridge=function(a,c){b.fn[a]=function(d){var
 e=typeof 
d==="string",f=Array.prototype.slice.call(arguments,1),h=this;d=!e&&f.length?b.extend.apply(null,[true,d].concat(f)):
+d;if(e&&d.charAt(0)==="_")return h;e?this.each(function(){var 
g=b.data(this,a),i=g&&b.isFunction(g[d])?g[d].apply(g,f):g;if(i!==g&&i!==j){h=i;return
 false}}):this.each(function(){var 
g=b.data(this,a);g?g.option(d||{})._init():b.data(this,a,new 
c(d,this))});return 
h}};b.Widget=function(a,c){arguments.length&&this._createWidget(a,c)};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(a,c){b.data(c,this.widgetName,this);this.element=b(c);this.options=
+b.extend(true,{},this.options,this._getCreateOptions(),a);var 
d=this;this.element.bind("remove."+this.widgetName,function(){d.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return
 
b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+
+"-disabled ui-state-disabled")},widget:function(){return 
this.element},option:function(a,c){var d=a;if(arguments.length===0)return 
b.extend({},this.options);if(typeof a==="string"){if(c===j)return 
this.options[a];d={};d[a]=c}this._setOptions(d);return 
this},_setOptions:function(a){var 
c=this;b.each(a,function(d,e){c._setOption(d,e)});return 
this},_setOption:function(a,c){this.options[a]=c;if(a==="disabled")this.widget()[c?"addClass":"removeClass"](this.widgetBaseClass+"-disabled
 ui-state-disabled").attr("aria-disabled",
+c);return this},enable:function(){return 
this._setOption("disabled",false)},disable:function(){return 
this._setOption("disabled",true)},_trigger:function(a,c,d){var 
e=this.options[a];c=b.Event(c);c.type=(a===this.widgetEventPrefix?a:this.widgetEventPrefix+a).toLowerCase();d=d||{};if(c.originalEvent){a=b.event.props.length;for(var
 
f;a;){f=b.event.props[--a];c[f]=c.originalEvent[f]}}this.element.trigger(c,d);return!(b.isFunction(e)&&e.call(this.element[0],c,d)===false||c.isDefaultPrevented())}}})(jQuery);
+;/*!
+ * jQuery UI Mouse 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Mouse
+ *
+ * Depends:
+ *     jquery.ui.widget.js
+ */
+(function(b){var 
d=false;b(document).mouseup(function(){d=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var
 a=this;this.element.bind("mousedown."+this.widgetName,function(c){return 
a._mouseDown(c)}).bind("click."+this.widgetName,function(c){if(true===b.data(c.target,a.widgetName+".preventClickEvent")){b.removeData(c.target,a.widgetName+".preventClickEvent");c.stopImmediatePropagation();return
 false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+
+this.widgetName)},_mouseDown:function(a){if(!d){this._mouseStarted&&this._mouseUp(a);this._mouseDownEvent=a;var
 c=this,f=a.which==1,g=typeof 
this.options.cancel=="string"&&a.target.nodeName?b(a.target).closest(this.options.cancel).length:false;if(!f||g||!this._mouseCapture(a))return
 
true;this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet)this._mouseDelayTimer=setTimeout(function(){c.mouseDelayMet=true},this.options.delay);if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a)){this._mouseStarted=
+this._mouseStart(a)!==false;if(!this._mouseStarted){a.preventDefault();return 
true}}true===b.data(a.target,this.widgetName+".preventClickEvent")&&b.removeData(a.target,this.widgetName+".preventClickEvent");this._mouseMoveDelegate=function(e){return
 c._mouseMove(e)};this._mouseUpDelegate=function(e){return 
c._mouseUp(e)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);a.preventDefault();return
 d=true}},_mouseMove:function(a){if(b.browser.msie&&
+!(document.documentMode>=9)&&!a.button)return 
this._mouseUp(a);if(this._mouseStarted){this._mouseDrag(a);return 
a.preventDefault()}if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a))(this._mouseStarted=this._mouseStart(this._mouseDownEvent,a)!==false)?this._mouseDrag(a):this._mouseUp(a);return!this._mouseStarted},_mouseUp:function(a){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=
+false;a.target==this._mouseDownEvent.target&&b.data(a.target,this.widgetName+".preventClickEvent",true);this._mouseStop(a)}return
 false},_mouseDistanceMet:function(a){return 
Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return
 
this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return
 true}})})(jQuery);
+;/*
+ * jQuery UI Position 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Position
+ */
+(function(c){c.ui=c.ui||{};var 
n=/left|center|right/,o=/top|center|bottom/,t=c.fn.position,u=c.fn.offset;c.fn.position=function(b){if(!b||!b.of)return
 t.apply(this,arguments);b=c.extend({},b);var 
a=c(b.of),d=a[0],g=(b.collision||"flip").split(" "),e=b.offset?b.offset.split(" 
"):[0,0],h,k,j;if(d.nodeType===9){h=a.width();k=a.height();j={top:0,left:0}}else
 
if(d.setTimeout){h=a.width();k=a.height();j={top:a.scrollTop(),left:a.scrollLeft()}}else
 if(d.preventDefault){b.at="left top";h=k=0;j={top:b.of.pageY,
+left:b.of.pageX}}else{h=a.outerWidth();k=a.outerHeight();j=a.offset()}c.each(["my","at"],function(){var
 f=(b[this]||"").split(" 
");if(f.length===1)f=n.test(f[0])?f.concat(["center"]):o.test(f[0])?["center"].concat(f):["center","center"];f[0]=n.test(f[0])?f[0]:"center";f[1]=o.test(f[1])?f[1]:"center";b[this]=f});if(g.length===1)g[1]=g[0];e[0]=parseInt(e[0],10)||0;if(e.length===1)e[1]=e[0];e[1]=parseInt(e[1],10)||0;if(b.at[0]==="right")j.left+=h;else
 if(b.at[0]==="center")j.left+=h/2;if(b.at[1]==="bottom")j.top+=
+k;else if(b.at[1]==="center")j.top+=k/2;j.left+=e[0];j.top+=e[1];return 
this.each(function(){var 
f=c(this),l=f.outerWidth(),m=f.outerHeight(),p=parseInt(c.curCSS(this,"marginLeft",true))||0,q=parseInt(c.curCSS(this,"marginTop",true))||0,v=l+p+(parseInt(c.curCSS(this,"marginRight",true))||0),w=m+q+(parseInt(c.curCSS(this,"marginBottom",true))||0),i=c.extend({},j),r;if(b.my[0]==="right")i.left-=l;else
 if(b.my[0]==="center")i.left-=l/2;if(b.my[1]==="bottom")i.top-=m;else 
if(b.my[1]==="center")i.top-=
+m/2;i.left=Math.round(i.left);i.top=Math.round(i.top);r={left:i.left-p,top:i.top-q};c.each(["left","top"],function(s,x){c.ui.position[g[s]]&&c.ui.position[g[s]][x](i,{targetWidth:h,targetHeight:k,elemWidth:l,elemHeight:m,collisionPosition:r,collisionWidth:v,collisionHeight:w,offset:e,my:b.my,at:b.at})});c.fn.bgiframe&&f.bgiframe();f.offset(c.extend(i,{using:b.using}))})};c.ui.position={fit:{left:function(b,a){var
 
d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();b.left=
+d>0?b.left-d:Math.max(b.left-a.collisionPosition.left,b.left)},top:function(b,a){var
 
d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();b.top=d>0?b.top-d:Math.max(b.top-a.collisionPosition.top,b.top)}},flip:{left:function(b,a){if(a.at[0]!=="center"){var
 
d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();var
 
g=a.my[0]==="left"?-a.elemWidth:a.my[0]==="right"?a.elemWidth:0,e=a.at[0]==="left"?a.targetWidth:-a.targetWidth,h=-2*a.offset[0];b.left+=
+a.collisionPosition.left<0?g+e+h:d>0?g+e+h:0}},top:function(b,a){if(a.at[1]!=="center"){var
 
d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();var
 
g=a.my[1]==="top"?-a.elemHeight:a.my[1]==="bottom"?a.elemHeight:0,e=a.at[1]==="top"?a.targetHeight:-a.targetHeight,h=-2*a.offset[1];b.top+=a.collisionPosition.top<0?g+e+h:d>0?g+e+h:0}}}};if(!c.offset.setOffset){c.offset.setOffset=function(b,a){if(/static/.test(c.curCSS(b,"position")))b.style.position="relative";var
 d=c(b),
+g=d.offset(),e=parseInt(c.curCSS(b,"top",true),10)||0,h=parseInt(c.curCSS(b,"left",true),10)||0;g={top:a.top-g.top+e,left:a.left-g.left+h};"using"in
 a?a.using.call(b,g):d.css(g)};c.fn.offset=function(b){var 
a=this[0];if(!a||!a.ownerDocument)return null;if(b)return 
this.each(function(){c.offset.setOffset(this,b)});return 
u.call(this)}}})(jQuery);
+;/*
+ * jQuery UI Draggable 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Draggables
+ *
+ * Depends:
+ *     jquery.ui.core.js
+ *     jquery.ui.mouse.js
+ *     jquery.ui.widget.js
+ */
+(function(d){d.widget("ui.draggable",d.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:true,appendTo:"parent",axis:false,connectToSortable:false,containment:false,cursor:"auto",cursorAt:false,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false},_create:function(){if(this.options.helper==
+"original"&&!/^(?:r|a|f)/.test(this.element.css("position")))this.element[0].style.position="relative";this.options.addClasses&&this.element.addClass("ui-draggable");this.options.disabled&&this.element.addClass("ui-draggable-disabled");this._mouseInit()},destroy:function(){if(this.element.data("draggable")){this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable
 ui-draggable-dragging ui-draggable-disabled");this._mouseDestroy();return 
this}},_mouseCapture:function(a){var b=
+this.options;if(this.helper||b.disabled||d(a.target).is(".ui-resizable-handle"))return
 false;this.handle=this._getHandle(a);if(!this.handle)return 
false;if(b.iframeFix)d(b.iframeFix===true?"iframe":b.iframeFix).each(function(){d('<div
 class="ui-draggable-iframeFix" style="background: 
#fff;"></div>').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1E3}).css(d(this).offset()).appendTo("body")});return
 true},_mouseStart:function(a){var b=this.options;
+this.helper=this._createHelper(a);this._cacheHelperProportions();if(d.ui.ddmanager)d.ui.ddmanager.current=this;this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.positionAbs=this.element.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});
+this.originalPosition=this.position=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);b.containment&&this._setContainment();if(this._trigger("start",a)===false){this._clear();return
 
false}this._cacheHelperProportions();d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.helper.addClass("ui-draggable-dragging");this._mouseDrag(a,true);d.ui.ddmanager&&d.ui.ddmanager.dragStart(this,a);return
 true},
+_mouseDrag:function(a,b){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!b){b=this._uiHash();if(this._trigger("drag",a,b)===false){this._mouseUp({});return
 
false}this.position=b.position}if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis||this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);return
 false},_mouseStop:function(a){var b=
+false;if(d.ui.ddmanager&&!this.options.dropBehaviour)b=d.ui.ddmanager.drop(this,a);if(this.dropped){b=this.dropped;this.dropped=false}if((!this.element[0]||!this.element[0].parentNode)&&this.options.helper=="original")return
 
false;if(this.options.revert=="invalid"&&!b||this.options.revert=="valid"&&b||this.options.revert===true||d.isFunction(this.options.revert)&&this.options.revert.call(this.element,b)){var
 
c=this;d(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,
+10),function(){c._trigger("stop",a)!==false&&c._clear()})}else 
this._trigger("stop",a)!==false&&this._clear();return 
false},_mouseUp:function(a){this.options.iframeFix===true&&d("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)});d.ui.ddmanager&&d.ui.ddmanager.dragStop(this,a);return
 
d.ui.mouse.prototype._mouseUp.call(this,a)},cancel:function(){this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear();return
 this},_getHandle:function(a){var b=!this.options.handle||
+!d(this.options.handle,this.element).length?true:false;d(this.options.handle,this.element).find("*").andSelf().each(function(){if(this==a.target)b=true});return
 b},_createHelper:function(a){var 
b=this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a])):b.helper=="clone"?this.element.clone().removeAttr("id"):this.element;a.parents("body").length||a.appendTo(b.appendTo=="parent"?this.element[0].parentNode:b.appendTo);a[0]!=this.element[0]&&!/(fixed|absolute)/.test(a.css("position"))&&
+a.css("position","absolute");return 
a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" 
");if(d.isArray(a))a={left:+a[0],top:+a[1]||0};if("left"in 
a)this.offset.click.left=a.left+this.margins.left;if("right"in 
a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in
 a)this.offset.click.top=a.top+this.margins.top;if("bottom"in 
a)this.offset.click.top=this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent=
+this.helper.offsetParent();var 
a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a={top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"),
+10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var 
a=this.element.position();return{top:a.top-(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else
 
return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),
+10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var
 
a=this.options;if(a.containment=="parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[a.containment=="document"?0:d(window).scrollLeft()-this.offset.relative.left-this.offset.parent.left,a.containment=="document"?0:d(window).scrollTop()-this.offset.relative.top-this.offset.parent.top,
+(a.containment=="document"?0:d(window).scrollLeft())+d(a.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(a.containment=="document"?0:d(window).scrollTop())+(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)&&a.containment.constructor!=Array){a=d(a.containment);var
 b=a[0];if(b){a.offset();var c=d(b).css("overflow")!=
+"hidden";this.containment=[(parseInt(d(b).css("borderLeftWidth"),10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0),(parseInt(d(b).css("borderTopWidth"),10)||0)+(parseInt(d(b).css("paddingTop"),10)||0),(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"),
+10)||0)-(parseInt(d(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom];this.relative_container=a}}else
 
if(a.containment.constructor==Array)this.containment=a.containment},_convertPositionTo:function(a,b){if(!b)b=this.position;a=a=="absolute"?1:-1;var
 
c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName);return{top:b.top+
+this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():f?0:c.scrollLeft())*a)}},_generatePosition:function(a){var
 b=this.options,c=this.cssPosition=="absolute"&&
+!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName),e=a.pageX,h=a.pageY;if(this.originalPosition){var
 
g;if(this.containment){if(this.relative_container){g=this.relative_container.offset();g=[this.containment[0]+g.left,this.containment[1]+g.top,this.containment[2]+g.left,this.containment[3]+g.top]}else
 
g=this.containment;if(a.pageX-this.offset.click.left<g[0])e=g[0]+this.offset.click.left;
+if(a.pageY-this.offset.click.top<g[1])h=g[1]+this.offset.click.top;if(a.pageX-this.offset.click.left>g[2])e=g[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>g[3])h=g[3]+this.offset.click.top}if(b.grid){h=b.grid[1]?this.originalPageY+Math.round((h-this.originalPageY)/b.grid[1])*b.grid[1]:this.originalPageY;h=g?!(h-this.offset.click.top<g[1]||h-this.offset.click.top>g[3])?h:!(h-this.offset.click.top<g[1])?h-b.grid[1]:h+b.grid[1]:h;e=b.grid[0]?this.originalPageX+Math.round((e-this.originalPageX)/
+b.grid[0])*b.grid[0]:this.originalPageX;e=g?!(e-this.offset.click.left<g[0]||e-this.offset.click.left>g[2])?e:!(e-this.offset.click.left<g[0])?e-b.grid[0]:e+b.grid[0]:e}}return{top:h-this.offset.click.top-this.offset.relative.top-this.offset.parent.top+(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop()),left:e-this.offset.click.left-this.offset.relative.left-this.offset.parent.left+(d.browser.safari&&d.browser.version<
+526&&this.cssPosition=="fixed"?0:this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():f?0:c.scrollLeft())}},_clear:function(){this.helper.removeClass("ui-draggable-dragging");this.helper[0]!=this.element[0]&&!this.cancelHelperRemoval&&this.helper.remove();this.helper=null;this.cancelHelperRemoval=false},_trigger:function(a,b,c){c=c||this._uiHash();d.ui.plugin.call(this,a,[b,c]);if(a=="drag")this.positionAbs=this._convertPositionTo("absolute");return
 d.Widget.prototype._trigger.call(this,a,b,
+c)},plugins:{},_uiHash:function(){return{helper:this.helper,position:this.position,originalPosition:this.originalPosition,offset:this.positionAbs}}});d.extend(d.ui.draggable,{version:"1.8.16"});d.ui.plugin.add("draggable","connectToSortable",{start:function(a,b){var
 
c=d(this).data("draggable"),f=c.options,e=d.extend({},b,{item:c.element});c.sortables=[];d(f.connectToSortable).each(function(){var
 
h=d.data(this,"sortable");if(h&&!h.options.disabled){c.sortables.push({instance:h,shouldRevert:h.options.revert});
+h.refreshPositions();h._trigger("activate",a,e)}})},stop:function(a,b){var 
c=d(this).data("draggable"),f=d.extend({},b,{item:c.element});d.each(c.sortables,function(){if(this.instance.isOver){this.instance.isOver=0;c.cancelHelperRemoval=true;this.instance.cancelHelperRemoval=false;if(this.shouldRevert)this.instance.options.revert=true;this.instance._mouseStop(a);this.instance.options.helper=this.instance.options._helper;c.options.helper=="original"&&this.instance.currentItem.css({top:"auto",left:"auto"})}else{this.instance.cancelHelperRemoval=
+false;this.instance._trigger("deactivate",a,f)}})},drag:function(a,b){var 
c=d(this).data("draggable"),f=this;d.each(c.sortables,function(){this.instance.positionAbs=c.positionAbs;this.instance.helperProportions=c.helperProportions;this.instance.offset.click=c.offset.click;if(this.instance._intersectsWith(this.instance.containerCache)){if(!this.instance.isOver){this.instance.isOver=1;this.instance.currentItem=d(f).clone().removeAttr("id").appendTo(this.instance.element).data("sortable-item",true);
+this.instance.options._helper=this.instance.options.helper;this.instance.options.helper=function(){return
 
b.helper[0]};a.target=this.instance.currentItem[0];this.instance._mouseCapture(a,true);this.instance._mouseStart(a,true,true);this.instance.offset.click.top=c.offset.click.top;this.instance.offset.click.left=c.offset.click.left;this.instance.offset.parent.left-=c.offset.parent.left-this.instance.offset.parent.left;this.instance.offset.parent.top-=c.offset.parent.top-this.instance.offset.parent.top;
+c._trigger("toSortable",a);c.dropped=this.instance.element;c.currentItem=c.element;this.instance.fromOutside=c}this.instance.currentItem&&this.instance._mouseDrag(a)}else
 
if(this.instance.isOver){this.instance.isOver=0;this.instance.cancelHelperRemoval=true;this.instance.options.revert=false;this.instance._trigger("out",a,this.instance._uiHash(this.instance));this.instance._mouseStop(a,true);this.instance.options.helper=this.instance.options._helper;this.instance.currentItem.remove();this.instance.placeholder&&
+this.instance.placeholder.remove();c._trigger("fromSortable",a);c.dropped=false}})}});d.ui.plugin.add("draggable","cursor",{start:function(){var
 
a=d("body"),b=d(this).data("draggable").options;if(a.css("cursor"))b._cursor=a.css("cursor");a.css("cursor",b.cursor)},stop:function(){var
 
a=d(this).data("draggable").options;a._cursor&&d("body").css("cursor",a._cursor)}});d.ui.plugin.add("draggable","opacity",{start:function(a,b){a=d(b.helper);b=d(this).data("draggable").options;if(a.css("opacity"))b._opacity=
+a.css("opacity");a.css("opacity",b.opacity)},stop:function(a,b){a=d(this).data("draggable").options;a._opacity&&d(b.helper).css("opacity",a._opacity)}});d.ui.plugin.add("draggable","scroll",{start:function(){var
 
a=d(this).data("draggable");if(a.scrollParent[0]!=document&&a.scrollParent[0].tagName!="HTML")a.overflowOffset=a.scrollParent.offset()},drag:function(a){var
 
b=d(this).data("draggable"),c=b.options,f=false;if(b.scrollParent[0]!=document&&b.scrollParent[0].tagName!="HTML"){if(!c.axis||c.axis!=
+"x")if(b.overflowOffset.top+b.scrollParent[0].offsetHeight-a.pageY<c.scrollSensitivity)b.scrollParent[0].scrollTop=f=b.scrollParent[0].scrollTop+c.scrollSpeed;else
 
if(a.pageY-b.overflowOffset.top<c.scrollSensitivity)b.scrollParent[0].scrollTop=f=b.scrollParent[0].scrollTop-c.scrollSpeed;if(!c.axis||c.axis!="y")if(b.overflowOffset.left+b.scrollParent[0].offsetWidth-a.pageX<c.scrollSensitivity)b.scrollParent[0].scrollLeft=f=b.scrollParent[0].scrollLeft+c.scrollSpeed;else
 if(a.pageX-b.overflowOffset.left<
+c.scrollSensitivity)b.scrollParent[0].scrollLeft=f=b.scrollParent[0].scrollLeft-c.scrollSpeed}else{if(!c.axis||c.axis!="x")if(a.pageY-d(document).scrollTop()<c.scrollSensitivity)f=d(document).scrollTop(d(document).scrollTop()-c.scrollSpeed);else
 
if(d(window).height()-(a.pageY-d(document).scrollTop())<c.scrollSensitivity)f=d(document).scrollTop(d(document).scrollTop()+c.scrollSpeed);if(!c.axis||c.axis!="y")if(a.pageX-d(document).scrollLeft()<c.scrollSensitivity)f=d(document).scrollLeft(d(document).scrollLeft()-
+c.scrollSpeed);else 
if(d(window).width()-(a.pageX-d(document).scrollLeft())<c.scrollSensitivity)f=d(document).scrollLeft(d(document).scrollLeft()+c.scrollSpeed)}f!==false&&d.ui.ddmanager&&!c.dropBehaviour&&d.ui.ddmanager.prepareOffsets(b,a)}});d.ui.plugin.add("draggable","snap",{start:function(){var
 
a=d(this).data("draggable"),b=a.options;a.snapElements=[];d(b.snap.constructor!=String?b.snap.items||":data(draggable)":b.snap).each(function(){var
 c=d(this),f=c.offset();this!=a.element[0]&&a.snapElements.push({item:this,
+width:c.outerWidth(),height:c.outerHeight(),top:f.top,left:f.left})})},drag:function(a,b){for(var
 
c=d(this).data("draggable"),f=c.options,e=f.snapTolerance,h=b.offset.left,g=h+c.helperProportions.width,n=b.offset.top,o=n+c.helperProportions.height,i=c.snapElements.length-1;i>=0;i--){var
 
j=c.snapElements[i].left,l=j+c.snapElements[i].width,k=c.snapElements[i].top,m=k+c.snapElements[i].height;if(j-e<h&&h<l+e&&k-e<n&&n<m+e||j-e<h&&h<l+e&&k-e<o&&o<m+e||j-e<g&&g<l+e&&k-e<n&&n<m+e||j-e<g&&g<l+e&&k-e<o&&
+o<m+e){if(f.snapMode!="inner"){var 
p=Math.abs(k-o)<=e,q=Math.abs(m-n)<=e,r=Math.abs(j-g)<=e,s=Math.abs(l-h)<=e;if(p)b.position.top=c._convertPositionTo("relative",{top:k-c.helperProportions.height,left:0}).top-c.margins.top;if(q)b.position.top=c._convertPositionTo("relative",{top:m,left:0}).top-c.margins.top;if(r)b.position.left=c._convertPositionTo("relative",{top:0,left:j-c.helperProportions.width}).left-c.margins.left;if(s)b.position.left=c._convertPositionTo("relative",{top:0,left:l}).left-c.margins.left}var
 t=
+p||q||r||s;if(f.snapMode!="outer"){p=Math.abs(k-n)<=e;q=Math.abs(m-o)<=e;r=Math.abs(j-h)<=e;s=Math.abs(l-g)<=e;if(p)b.position.top=c._convertPositionTo("relative",{top:k,left:0}).top-c.margins.top;if(q)b.position.top=c._convertPositionTo("relative",{top:m-c.helperProportions.height,left:0}).top-c.margins.top;if(r)b.position.left=c._convertPositionTo("relative",{top:0,left:j}).left-c.margins.left;if(s)b.position.left=c._convertPositionTo("relative",{top:0,left:l-c.helperProportions.width}).left-c.margins.left}if(!c.snapElements[i].snapping&&
+(p||q||r||s||t))c.options.snap.snap&&c.options.snap.snap.call(c.element,a,d.extend(c._uiHash(),{snapItem:c.snapElements[i].item}));c.snapElements[i].snapping=p||q||r||s||t}else{c.snapElements[i].snapping&&c.options.snap.release&&c.options.snap.release.call(c.element,a,d.extend(c._uiHash(),{snapItem:c.snapElements[i].item}));c.snapElements[i].snapping=false}}}});d.ui.plugin.add("draggable","stack",{start:function(){var
 
a=d(this).data("draggable").options;a=d.makeArray(d(a.stack)).sort(function(c,f){return(parseInt(d(c).css("zIndex"),
+10)||0)-(parseInt(d(f).css("zIndex"),10)||0)});if(a.length){var 
b=parseInt(a[0].style.zIndex)||0;d(a).each(function(c){this.style.zIndex=b+c});this[0].style.zIndex=b+a.length}}});d.ui.plugin.add("draggable","zIndex",{start:function(a,b){a=d(b.helper);b=d(this).data("draggable").options;if(a.css("zIndex"))b._zIndex=a.css("zIndex");a.css("zIndex",b.zIndex)},stop:function(a,b){a=d(this).data("draggable").options;a._zIndex&&d(b.helper).css("zIndex",a._zIndex)}})})(jQuery);
+;/*
+ * jQuery UI Droppable 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Droppables
+ *
+ * Depends:
+ *     jquery.ui.core.js
+ *     jquery.ui.widget.js
+ *     jquery.ui.mouse.js
+ *     jquery.ui.draggable.js
+ */
+(function(d){d.widget("ui.droppable",{widgetEventPrefix:"drop",options:{accept:"*",activeClass:false,addClasses:true,greedy:false,hoverClass:false,scope:"default",tolerance:"intersect"},_create:function(){var
 
a=this.options,b=a.accept;this.isover=0;this.isout=1;this.accept=d.isFunction(b)?b:function(c){return
 
c.is(b)};this.proportions={width:this.element[0].offsetWidth,height:this.element[0].offsetHeight};d.ui.ddmanager.droppables[a.scope]=d.ui.ddmanager.droppables[a.scope]||[];d.ui.ddmanager.droppables[a.scope].push(this);
+a.addClasses&&this.element.addClass("ui-droppable")},destroy:function(){for(var
 
a=d.ui.ddmanager.droppables[this.options.scope],b=0;b<a.length;b++)a[b]==this&&a.splice(b,1);this.element.removeClass("ui-droppable
 ui-droppable-disabled").removeData("droppable").unbind(".droppable");return 
this},_setOption:function(a,b){if(a=="accept")this.accept=d.isFunction(b)?b:function(c){return
 
c.is(b)};d.Widget.prototype._setOption.apply(this,arguments)},_activate:function(a){var
 b=d.ui.ddmanager.current;this.options.activeClass&&
+this.element.addClass(this.options.activeClass);b&&this._trigger("activate",a,this.ui(b))},_deactivate:function(a){var
 
b=d.ui.ddmanager.current;this.options.activeClass&&this.element.removeClass(this.options.activeClass);b&&this._trigger("deactivate",a,this.ui(b))},_over:function(a){var
 
b=d.ui.ddmanager.current;if(!(!b||(b.currentItem||b.element)[0]==this.element[0]))if(this.accept.call(this.element[0],b.currentItem||b.element)){this.options.hoverClass&&this.element.addClass(this.options.hoverClass);
+this._trigger("over",a,this.ui(b))}},_out:function(a){var 
b=d.ui.ddmanager.current;if(!(!b||(b.currentItem||b.element)[0]==this.element[0]))if(this.accept.call(this.element[0],b.currentItem||b.element)){this.options.hoverClass&&this.element.removeClass(this.options.hoverClass);this._trigger("out",a,this.ui(b))}},_drop:function(a,b){var
 
c=b||d.ui.ddmanager.current;if(!c||(c.currentItem||c.element)[0]==this.element[0])return
 false;var 
e=false;this.element.find(":data(droppable)").not(".ui-draggable-dragging").each(function(){var
 g=
+d.data(this,"droppable");if(g.options.greedy&&!g.options.disabled&&g.options.scope==c.options.scope&&g.accept.call(g.element[0],c.currentItem||c.element)&&d.ui.intersect(c,d.extend(g,{offset:g.element.offset()}),g.options.tolerance)){e=true;return
 false}});if(e)return 
false;if(this.accept.call(this.element[0],c.currentItem||c.element)){this.options.activeClass&&this.element.removeClass(this.options.activeClass);this.options.hoverClass&&this.element.removeClass(this.options.hoverClass);this._trigger("drop",
+a,this.ui(c));return this.element}return 
false},ui:function(a){return{draggable:a.currentItem||a.element,helper:a.helper,position:a.position,offset:a.positionAbs}}});d.extend(d.ui.droppable,{version:"1.8.16"});d.ui.intersect=function(a,b,c){if(!b.offset)return
 false;var 
e=(a.positionAbs||a.position.absolute).left,g=e+a.helperProportions.width,f=(a.positionAbs||a.position.absolute).top,h=f+a.helperProportions.height,i=b.offset.left,k=i+b.proportions.width,j=b.offset.top,l=j+b.proportions.height;
+switch(c){case "fit":return i<=e&&g<=k&&j<=f&&h<=l;case "intersect":return 
i<e+a.helperProportions.width/2&&g-a.helperProportions.width/2<k&&j<f+a.helperProportions.height/2&&h-a.helperProportions.height/2<l;case
 "pointer":return 
d.ui.isOver((a.positionAbs||a.position.absolute).top+(a.clickOffset||a.offset.click).top,(a.positionAbs||a.position.absolute).left+(a.clickOffset||a.offset.click).left,j,i,b.proportions.height,b.proportions.width);case
 "touch":return(f>=j&&f<=l||h>=j&&h<=l||f<j&&h>l)&&(e>=
+i&&e<=k||g>=i&&g<=k||e<i&&g>k);default:return 
false}};d.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(a,b){var
 
c=d.ui.ddmanager.droppables[a.options.scope]||[],e=b?b.type:null,g=(a.currentItem||a.element).find(":data(droppable)").andSelf(),f=0;a:for(;f<c.length;f++)if(!(c[f].options.disabled||a&&!c[f].accept.call(c[f].element[0],a.currentItem||a.element))){for(var
 
h=0;h<g.length;h++)if(g[h]==c[f].element[0]){c[f].proportions.height=0;continue 
a}c[f].visible=c[f].element.css("display")!=
+"none";if(c[f].visible){e=="mousedown"&&c[f]._activate.call(c[f],b);c[f].offset=c[f].element.offset();c[f].proportions={width:c[f].element[0].offsetWidth,height:c[f].element[0].offsetHeight}}}},drop:function(a,b){var
 
c=false;d.each(d.ui.ddmanager.droppables[a.options.scope]||[],function(){if(this.options){if(!this.options.disabled&&this.visible&&d.ui.intersect(a,this,this.options.tolerance))c=c||this._drop.call(this,b);if(!this.options.disabled&&this.visible&&this.accept.call(this.element[0],a.currentItem||
+a.element)){this.isout=1;this.isover=0;this._deactivate.call(this,b)}}});return
 
c},dragStart:function(a,b){a.element.parents(":not(body,html)").bind("scroll.droppable",function(){a.options.refreshPositions||d.ui.ddmanager.prepareOffsets(a,b)})},drag:function(a,b){a.options.refreshPositions&&d.ui.ddmanager.prepareOffsets(a,b);d.each(d.ui.ddmanager.droppables[a.options.scope]||[],function(){if(!(this.options.disabled||this.greedyChild||!this.visible)){var
 c=d.ui.intersect(a,this,this.options.tolerance);
+if(c=!c&&this.isover==1?"isout":c&&this.isover==0?"isover":null){var 
e;if(this.options.greedy){var 
g=this.element.parents(":data(droppable):eq(0)");if(g.length){e=d.data(g[0],"droppable");e.greedyChild=c=="isover"?1:0}}if(e&&c=="isover"){e.isover=0;e.isout=1;e._out.call(e,b)}this[c]=1;this[c=="isout"?"isover":"isout"]=0;this[c=="isover"?"_over":"_out"].call(this,b);if(e&&c=="isout"){e.isout=0;e.isover=1;e._over.call(e,b)}}}})},dragStop:function(a,b){a.element.parents(":not(body,html)").unbind("scroll.droppable");
+a.options.refreshPositions||d.ui.ddmanager.prepareOffsets(a,b)}}})(jQuery);
+;/*
+ * jQuery UI Resizable 1.8.16
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Resizables
+ *
+ * Depends:
+ *     jquery.ui.core.js
+ *     jquery.ui.mouse.js
+ *     jquery.ui.widget.js
+ */
+(function(e){e.widget("ui.resizable",e.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1E3},_create:function(){var
 
b=this,a=this.options;this.element.addClass("ui-resizable");e.extend(this,{_aspectRatio:!!a.aspectRatio,aspectRatio:a.aspectRatio,originalElement:this.element,
+_proportionallyResizeElements:[],_helper:a.helper||a.ghost||a.animate?a.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){/relative/.test(this.element.css("position"))&&e.browser.opera&&this.element.css({position:"relative",top:"auto",left:"auto"});this.element.wrap(e('<div
 class="ui-wrapper" style="overflow: 
hidden;"></div>').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),
+top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=
+this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=a.handles||(!e(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",

@@ Diff output truncated at 153600 characters. @@



reply via email to

[Prev in Thread] Current Thread [Next in Thread]