[Weberp-svn] SF.net SVN: weberp:[9441] trunk
Brought to you by:
sotandeka,
tim_schofield
From: <tim...@us...> - 2012-07-19 18:43:56
|
Revision: 9441 http://weberp.svn.sourceforge.net/weberp/?rev=9441&view=rev Author: tim_schofield Date: 2012-07-19 18:43:49 +0000 (Thu, 19 Jul 2012) Log Message: ----------- Finishing touches to the menu system Modified Paths: -------------- trunk/css/silverwolf/sub.css trunk/includes/MainMenuLinksArray.php trunk/includes/main_header.inc trunk/index.php trunk/javascripts/FormFunctions.js trunk/javascripts/script.js Modified: trunk/css/silverwolf/sub.css =================================================================== --- trunk/css/silverwolf/sub.css 2012-07-18 10:01:45 UTC (rev 9440) +++ trunk/css/silverwolf/sub.css 2012-07-19 18:43:49 UTC (rev 9441) @@ -44,15 +44,15 @@ position: absolute; display: none; top: 10%; - right: 30%; - bottom: 40%; + right: 25%; + bottom: 20%; left: 10%; background: #E7E6FF; - border: solid #A49999 1px; - border-radius: 5px; + border: solid #A49999 0px; + border-radius: 15px; -moz-box-shadow: 5px 5px 5px #B1B1B1; -webkit-box-shadow: 5px 5px 5px #B1B1B1; - box-shadow: 5px 5px 5px #B1B1B1; + box-shadow: 5px 5px 5px 3px #B1B1B1; color: #000000; opacity: 0.95; z-index: 1; @@ -152,6 +152,20 @@ width: 98%; } +div.ModuleSummary { + font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Verdana, sans-serif; + font-size: 100%; + font-style: italic; + color:#696969; + margin-top: 2px; + margin-left: 20%; + margin-right: 4px; + height: 98%; + padding-left: 20px; + border:0px solid #aaa; + border-radius: 7px; +} + div.manual_title_bar { font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Verdana, sans-serif; font-size: 24px; @@ -242,7 +256,7 @@ width:12%; float:left; padding-left:1px; - padding-top:1px; + padding-top:5px; } #vtab0 li { @@ -250,8 +264,8 @@ border-left:1px solid #6D6D6D; border-top:1px solid #6D6D6D; border-bottom:1px solid #6D6D6D; - border-top-left-radius: 5px; - border-bottom-left-radius: 5px; + border-top-left-radius: 15px; + border-bottom-left-radius: 15px; padding: 3px; margin-bottom: 1px; font-weight:normal; @@ -265,17 +279,18 @@ #tabContent { border:1px solid #6D6D6D; - border-top-right-radius: 5px; - border-bottom-right-radius: 5px; - height: 98%; - margin-top: 1px; - margin-right: 1px; + border-top-right-radius: 15px; + border-bottom-right-radius: 15px; + height: 97%; + margin-top: 5px; + margin-bottom: 1px; + margin-right: 5px; margin-left: 12%; - background: #EBFFE3; + background: #F7F7F7; } div.vtInfo { - display:none; + display:block; height:98%; overflow:auto; } @@ -324,7 +339,7 @@ th.AppHeader { font-weight: bold; background-color: #615A65; - border: solid #ffffff 1px; + border: solid #ffffff 0px; border-radius: 5px; font-size: 14px; color: #ffffff; @@ -377,38 +392,6 @@ text-align: right; } -button.menuButton { - margin-top: 10px; - border: 1px solid #ffffff; - background: #000000; - padding: 10px 10px; - width: 10%; - -webkit-border-radius: 26px; - -moz-border-radius: 26px; - border-radius: 26px; - color: #ffffff; - font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", "Geneva", "Verdana", "sans-serif"; - font-size: 10px; - vertical-align: middle; - cursor: hand; -} - -button.menuButton:hover { - margin-top: 10px; - border: 1px solid #ffffff; - background: #0000B6; - padding: 10px 10px; - width: 10%; - -webkit-border-radius: 26px; - -moz-border-radius: 26px; - border-radius: 26px; - color: #ffffff; - font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", "Geneva", "Verdana", "sans-serif"; - font-size: 10px; - vertical-align: middle; - cursor: hand; -} - button { border: 1px solid #ffffff; background: transparent; @@ -472,6 +455,46 @@ border-radius: 3px; } +button.menuButton { + margin-top: 10px; + margin-left: 10px; + border: 0px solid #ffffff; + background: #000000; + padding: 10px 10px; + width: 10%; + -webkit-border-radius: 26px; + -moz-border-radius: 26px; + border-radius: 26px; + -moz-box-shadow: 3px 3px 3px #868686; + -webkit-box-shadow: 3px 3px 3px #868686; + box-shadow: 3px 3px 3px #868686; + color: #ffffff; + font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", "Geneva", "Verdana", "sans-serif"; + font-size: 10px; + font-weight: bold; + vertical-align: middle; + cursor: hand; +} + +button.menuButton:hover { + margin-top: 10px; + border: 0px solid #ffffff; + background: #527352; + padding: 10px 10px; + width: 10%; + -webkit-border-radius: 26px; + -moz-border-radius: 26px; + border-radius: 26px; + -moz-box-shadow: 3px 3px 3px #868686; + -webkit-box-shadow: 3px 3px 3px #868686; + box-shadow: 3px 3px 3px #868686; + color: #ffffff; + font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", "Geneva", "Verdana", "sans-serif"; + font-size: 10px; + vertical-align: middle; + cursor: hand; +} + input { font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", Geneva, Verdana, sans-serif; font-size: 10px; @@ -588,8 +611,9 @@ * {padding:0; margin:0} #wrapper {width:750px; padding:25px; margin:0 auto} #leftcolumn {float:left; width:25px; padding:10px;} +#rightcolumn {float:left; width:525px} .dropdown {display:block; position:relative} -.dropdown dt {width:90px; border:2px solid #9ac1c9; padding:4px; font-weight:bold; cursor:pointer; background:url(images/header.gif)} +.dropdown dt {width:100px; border:2px solid #9ac1c9; padding:4px; font-weight:bold; cursor:pointer; background:url(images/header.gif)} .dropdown .upperdd {border-bottom:none} .dropdown .bottomdd {border-top:2px solid #9ac1c9;border-bottom:none;border-left:none;border-right:none} .dropdown dt:hover {background:url(images/header_over.gif)} @@ -598,4 +622,4 @@ .dropdown li {display:inline} .dropdown a, .dropdown a:active, .dropdown a:visited {display:block; padding:2px; color:#333; text-decoration:none; background:#eaf0f2; width:302px} .dropdown a:hover {background:#d9e1e4; color:#000} -.dropdown .underline {border-bottom:1px solid #b9d6dc;z-index:5} \ No newline at end of file +.dropdown .underline {border-bottom:1px solid #b9d6dc} \ No newline at end of file Modified: trunk/includes/MainMenuLinksArray.php =================================================================== --- trunk/includes/MainMenuLinksArray.php 2012-07-18 10:01:45 UTC (rev 9440) +++ trunk/includes/MainMenuLinksArray.php 2012-07-19 18:43:49 UTC (rev 9441) @@ -644,4 +644,183 @@ 'Z_UpdateChartDetailsBFwd.php', 'Z_RePostGLFromPeriod.php' ); + +$ModuleDescriptions['orders']=' <li>Customer orders can be entered and maintained and referenced back to the customer\'s order number.</li> + + <li>The cumulative quantity on order for a stock item shows as a demand in stock status inquiries.</li> + + <li>The cumulative quantity on order for assembly items shows the demand against its components in the stock status inquiries.</li> + + <li>The quantity of the order left to invoice is maintained and updated for invoices and credit notes raised against the order.</li> + + <li>The orders entered can be invoiced directly with little or no additional input.</li> + + <li>Multiple dispatches are possible from a single order. Order retains references to each dispatch.</li> + + <li>Differences from the order are logged when dispatches are not the same as the ordered quantities for reporting delivery in full on time.</li> + + <li>Pricing automatically returned based on the customer sales type, branch and currency.</li> + + <li>Quantity break discounts across a range of products are automatically calculated based on the discount matrix.</li> + + <li>Packing slips printable on laser or pre-printed stationery.</li> + + <li>User selectable inventory location to pick from.</li> + + <li>Free form entry of delivery addresses - defaulting to the customer branch physical address.</li> + + <li>Recurring sales orders that recurr until any chosen finish date at a defined frequency per annum</li> + + <li>Invoices for cash sales can be entered directly without first entering an order</li> +'; + +$ModuleDescriptions['AR']='<p>A primary function of the system is to track the amounts owed to the business by customers in both local and foreign currency. +The system shows, invoice-by-invoice, the balance on the account and does not lose the detail of what makes the account up in a balance brought forward - +it is an "open item" system. When payments received from customers are entered and allocated to invoices, the differences on exchange are calculated and posted to the general ledger - +that is only if integration to the general ledger is enabled from the company preferences page under the setup tab.<br></p><ul> + <li>Overdues inquiry that takes into account delivery days to the customer\'s branch and the actual terms applicable to the customer, supported by detailed inquiry of actual invoices overdue.</li> + + <li>Full on-screen inquiry on a customer\'s account, complete with invoice details and narrative which appeared on the invoice. Inquiries on payments received will show how a payment was allocated to invoices and the difference on exchange attributable to each invoice.</li> + + <li>Full integration with stock records and general ledger -a full trail of journals for each transaction is maintained - a drill down to the general ledger transactions for each transaction on a customers account is available from the customer inquiry page.</li> + + <li>Open item - full analysis of the outstanding balance is maintained and printed on statements for maximum information to the customer.</li> + + <li>Flexible user definable sales analysis reports to pdf or spreadsheet (csv - comma separated values).</li> + + <li>Retrospective - de-allocation and re-allocation of receipts or credit notes against charges with re-calculation of differences on exchange and corresponding general ledger journals</li> + + <li>Any number of branch - delivery addresses can be added serviced by different sales people with different tax authorities and different areas for sales analysis purposes.</li> +</ul>'; + +$ModuleDescriptions['AP']='<p> +A primary function of the system is to track the amounts owed by the business to suppliers in both local and foreign currency. The system shows, invoice-by-invoice, the balance on the account and does not lose the detail of what makes the account up in a balance brought forward - it is an "open item" system. When payments made to suppliers are entered and allocated to invoices, the differences on exchange are calculated and posted to the general ledger - that is only if integration to the general ledger is enabled from the company preferences page under the setup tab. +</p> +<p>Note that in some countries the word "Vendor" is used instead of "Supplier" - please make allowances for this.</p> +<ul> + <li>Suppliers aging report that takes into account the actual terms applicable to the supplier, and is supported by detailed inquiry of actual invoices due.</li> + <li>Full on-screen inquiry on a supplier\'s account, complete with a general ledger breakdown of how each invoice and debit note (Supplier credit note) was posted. Inquiries on payments made will show how a payment was allocated to invoices and the difference on exchange attributable to each invoice.</li> + <li>Open item - full analysis of the outstanding balance is maintained</li> + <li>Retrospective - de-allocation and re-allocation of payments and/or debit notes with re-calculation of differences on exchange and corresponding general ledger journals</li> + <li>Any number of supplier contacts can be maintained against the supplier</li> + <li>Fully integrated to stock - whereby purchase order receipts of stock can be selected for entry against a supplier invoice.</li> + <li>Full standard costing price variances between standard cost of stock received against the invoiced actual cost at invoiced exchange rate is recorded and posted to the general ledger</li> + <li>Purchase invoices and debit notes can be entered directly to multiple general ledger accounts with charges divided up at invoice entry time</li> + <li>Purchase invoices and debit notes can be entered as shipment costs - to accumulate against the cost of a shipment for costing of the stock items on the shipment</li> + <li>Nominal purchase order items received can be selected for invoicing in the same way as stock items. Purchase price variance from the order cost are taken to the general ledger account that the order item was coded to</li> + <li>Supplier payment run will create system entries to record payments for all suppliers with due amounts. Facilities allow for holding disputed invoices from being included in the payment run, but still recording costs in the general ledger.</li> +</ul>'; + +$ModuleDescriptions['PO']='<p>Purchase orders are the contract initiated by an organisation with it\'s suppliers (vendors). Since, purchase orders commit the business to expenditure it is important to ensure that the committment is not made without the proper authority. webERP forces certain procedures to be followed to ensure proper authorisation. The sequence is:</p> + +<ul> + <li>An operator with access to the purchase order creation creates the purchase order.</li> + + <li>It is possible if this user has access to authorise the purchase order to have it authorised automatically. This requires a configuration setting to be enabled to allow this. Normally, another user with appropriate authorisation levels is required to authorise the order. Authorisation levels can be set by user and currency and by the amount of that currency. For example a user maybe able to approve purchase orders up to $1000 in USD. Orders cannot be printed and sent to a supplier until they are authorised.</li> + + <li>Users who are valid authorisers have a special screen to see which orders require authorisation - they can authorise the orders from there.</li> + + <li>A trail of who initiated the order, who changed an order and who authorised an order with dates is maintained in the status comments</li> + + <li>Once an order is authorised it must be printed - it is not possible to receive any stock against an order that has not been printed</li> + + <li>Once printed it is now possible to receive stock against the order</li> +</ul> +'; + +$ModuleDescriptions['stock']=' <p>In many cases due to the English background of the developer, Inventory is referred to as "stock", which can be confusing to some. The word "stock" is used interchangeably with "inventory" throughout.</p> + + <p>Inventories fall into clear categories particular to the business. For example a toy factory might have categories for lego, rideons, board games etc . These are referred to as stock categories and are expected to be defined by the business. The name of the category (but not its code) can be altered at any time.</p> + + <p>Note: Integration to the general ledger is at the stock category level. The posting to the general ledger is determined by reference to the stock category of the item together with the sales area and the sales type. Separate tables of general ledger codes for sales and cost of sales are maintained from the System Setup tab of the main menu.</p> + + <p>Inventory invoiced using the invoicing option will decrease the stock on hand from the stock location specified in the invoice. Inventory credited using the credit note creation option will increase the stock held at the location selected in the credit note. Inventory adjustments to the quantity held are also possible and transfers between stock locations.</p> + + <p>A record of each stock movement is maintained, stock movements originating from sales invoices, purchase orders received, stock adjustments, sales credit notes can all be viewed using the inquiry of stock movements. Summing the stock movements provides an easy mechanism to see the historical usage and an inquiry is also available to show usage by month.</p> + + <p>Inventories can be valued at either standard cost (manually maintained costs) or weighted average cost (automatically maintained). If general ledger stock integration is active, general ledger postings are created for stock adjustments, standard cost amendments, cost of sales and stock movements on invoicing and crediting. When stock journals are used, provided that the balance of the stock accounts agrees to the current valuation of the stock at the time when the flag is set in the company preferences page, then the value of stock held will be maintained in the general ledger, with a full trail of general ledger journals for each stock movement. This does make for a busy, but informative general ledger in a high use environment!</p> + + <p>Note: Inventory journals are optional. The sales ledger/accounts receivable interface is separate to the stock general ledger interface so it is possible to have sales posting to the general ledger but not the inventory and cost of sales aspect.</p> +'; + +$ModuleDescriptions['manuf']='<p>Manufacturing - simply the combination of items to make other items..</p> + +<p>It has been possible to build bills of material for manufactured items for some time but the functionality that allows the materials to be issued from stock and manufactured items received into stock was introduced with 3.06. This is the purpose of the work order.</p>Functionality to add labour items to work orders and post recovery amounts to a profit and loss account for issues of labour to a work order was added after 3.09 (Sept 2008). +<p>Functionality to set up a master production schedule and explode bills of materials into the components required to manufacture this demand and calculate the required orders to be placed/rescheduled (MRP) was added by Mark Yeager in March 2009. +<p> + +<p>Bills of material now allow components to be defined as "auto-issue". Components set up to auto-issue, automatically create the issue transactions against the work order based on the bill of material quantities on the entry of receipts of a finished item against the work order. This decreases the administration of work orders for those components with relatively low value and limited possibility for any usage variance. It is not recommended that this feature be used on components where the final requirement for it could vary with for example yield differences between work orders. Work orders take the value of components and materials issued and divide this total cost between the output items to arrive at a cost per unit for all output items. The process for performing this calculation is called "closing" the work order.</p> + +<p>Functionality to automatically create works orders for manufactured items at a default factory when a sales order is entered for which there is insufficient stock after all sales orders are delivered and outstanding works orders and purchase orders received. This functionality needs to be turned on as an option under configuration settings. The email address of the production manager who will receive an advice of the work order being created can also be defined in the configuration settings.</p> + +<p>In dealing with serial or batch controlled items there are two ways that the system can operate. Either the serial numbers or batches must be created at the time the work order is created or they are entered at the time they are completed. If they are created at the time the work order is set up there is an option enter remarks about each lot or serial number about the manufacture or quality check data. To have serial numbers (or batches) defined at the work order entry stage this needs to be set in the configuration settings.</p> + +<p>The sequence of events in manufacturing an item is as follows:</p> + +<ul> + <li>Enter a Work Order - selecting all the output items required to be included in the work order costing. To ensure accurate costing it is recommended that work orders be created for single items wherever possible. The quantity required of the item and the date the items are required to be completed by must also be specified. If the output item is a controlled item - either serialised or lot/batch controlled - then there is also an option to enter the next serial number or batch reference which will be retrieved when entering the manufactured items received. If the configuration is set to create serial numbers (or batches) up at the time of the work order entry then there is an option to create serial numbers automatically based on the next serial number for the item defined in the stock master - all that is required is the number of serial numbers to create.</li> + + <li>Receive Items against the work order. When manufactured items are completed they can be \'received\' against the work order. Auto-issue components are automatically issued. On the first receipt of manufactured items against a work order, the cost of the item is recalculated by rolling up the cost from the bill of material. A cost adjustment is performed if the cost changes. If serial numbers (or batches) have been defined at the time of the work order entry these will list for checking off the items being received as finished against the work order</li> + + <li>Issue components and raw materials to the work order</li> + + <li>Once all components and raw materials are issued to the work order and no more manufactured items can be received against the work order it can be closed. The closing process recalculates the cost of the items manufactured on the work order and if weighted average costing is used a cost update will be processed.</li> +</ul> +'; + +$ModuleDescriptions['GL']='<p>The general ledger is the accounting hub that is central to the "sub" ledgers for creditors (Accounts Payable), debtors (Accounts Receivable) and stock (inventory). All entries in the sub ledgers are also represented by entries in the general ledger. It is the integration set-up that determines how entries in the sub-ledgers are reflected in the general ledger. Most activity in the general ledger will be automatically created from the activity in the sub-ledgers with receivables, payables and stock administration.</p> +<p> + +<p>However, there are also facilities to:</p> + +<ul> + <li>Enter general ledger receipts against a pre-defined bank accounts.</li> + + <li>Enter general ledger payments against pre-defined bank accounts.</li> + + <li>Enter general ledger journals between any general ledger accounts - except bank accounts. These can also be made to reverse automatically in the following period. Further journals can be posted to any period future or previously - the period is determined by reference to the date entered.</li> + + <li>Inquire on general ledger account activity and from any entry in this inquiry drill down to the journals created to produce the entry.</li> + + <li>Inquire on the general ledger trial balance for any period end in history or currently.</li> +</ul> +'; + +$ModuleDescriptions['FA']='<p>The Fixed Assets module allows for recording a database of the individual assets with integration back to the webERP general ledger.</p> + +<ul> + <li>Assets are assigned a unique id number</li> + + <li>Any number of fixed asset categories can be defined eg. Plant, Equipment, Buildings etc.</li> + + <li>Assets can be depreciated using either striaght line or diminishing value depreciation methods</li> + + <li>Each asset can have it\'s own depreciation rate</li> + + <li>Any number of fixed asset locations can be defined. Assets can only belong to one location. Assets can be listed by category and location so they can be readily identified in a fixed asset audit.</li> + + <li>Depreciation calculation and posting run checks if previously run and defaults the run date to avoid duplicated depreciation runs.</li> + + <li>A transaction log of depreciation, additions and disposals is maintained</li> + + <li>Full fixed asset schedule of any date period range is possible</li> + + <li>Fixed asset general ledger posting is performed based on the gl accounts in any number user defined fixed asset categories</li> +</ul> +'; + +$ModuleDescriptions['PC']='<p>This for employees to submit expense claims directly in the system - that are then authorised by their immediate supervisor.</p> + +<p>Allows control petty cash expenses in a friendly way, so every employee (without any accounting knowlegde) can enter their expenses, get paid for them, etc</p> + +<p>It consists on a temporary GL table (pcashdetails), containing all info about payments and expenses done as petty cash. Once authorized by a supervisor (both cash assignments or expenses) are posted in gltrans table and flagged.</p> + +<p>Once any transacion in the petty cash system has been posted can not be modified, edited or deleted in any way. Once posted, that\'s it.</p> +'; + +$ModuleDescriptions['system']=''; + +$ModuleDescriptions['Utilities']='<p>Any of these programs should only be run by the individual in the business who is allocated the task of administering the system, who has a thorough understanding of the system. If in doubt seek advice. Many of these utilities perform major changes to the database and it is always advisable to have a backup before attempting to run one. All these utilities have a page security setting of 15 by default (see security schema).</p> +'; + ?> \ No newline at end of file Modified: trunk/includes/main_header.inc =================================================================== --- trunk/includes/main_header.inc 2012-07-18 10:01:45 UTC (rev 9440) +++ trunk/includes/main_header.inc 2012-07-19 18:43:49 UTC (rev 9441) @@ -37,41 +37,14 @@ echo '<script type="text/javascript" src = "'.$rootpath.'/javascripts/script.js"></script>'; echo '</head>'; -echo '<body onload="startTime()">'; +echo '<body onload="showTab(\'vtab1\', \'1vtab1\');startTime();">'; echo '<div class="main_title_bar">' . $ProjectName . ' <div class="exit"><a href="Logout.php" class="exit" title="' . _('Exit From') . ' ' . $ProjectName . '">' . _('Exit') . '</a></div> - <span id="clock" style="float: center; margin-right: 5px;"></span> + <span id="clock" style="float: right; margin-right: 5px;"></span> </div>'; include('includes/MainMenuLinksArray.php'); -echo '<ul class="menu" id="menu"> - <li><a href="#" class="menulink">' . $ProjectName . ' - ' . _('Menu') . '</a> - <ul>'; - for ($i=0; $i<sizeOf($ModuleList); $i++) { - echo '<li><a href="#" class="sub">' . $ModuleList[$i] . '</a>'; - echo '<ul>'; - foreach ($MenuItems[$ModuleLink[$i]] as $name=>$value) { - echo '<li class="sub" class="sub"><a href="#">'.$name.'</a>'; - echo '<ul>'; - $j=0; - foreach ($value['Caption'] as $MenuItem) { - echo '<li class="topline">'.InternalLink('',$value['URL'][$j],$MenuItem).'</li>'; - $j++; - } - echo '</li></ul>'; - } - echo '</ul></li>'; - } - -echo '</ul></li>'; -echo '</ul>'; - -echo '<script type="text/javascript"> - var menu=new menu.dd("menu"); - menu.init("menu","menuhover"); -</script>'; - ?> \ No newline at end of file Modified: trunk/index.php =================================================================== --- trunk/index.php 2012-07-18 10:01:45 UTC (rev 9440) +++ trunk/index.php 2012-07-19 18:43:49 UTC (rev 9441) @@ -18,7 +18,7 @@ $i=1; foreach ($ModuleList as $Module) { - echo '<li id="1vtab1" class="MenuTab" onclick="showTab(\'vtab'.$i.'\', this)">' . $Module . '</li>'; + echo '<li id="1vtab'.$i.'" class="MenuTab" onclick="showTab(\'vtab'.$i.'\', this)">' . $Module . '</li>'; $i++; } echo '</div>'; @@ -28,15 +28,15 @@ foreach ($ModuleLink as $Module) { echo '<div id="vtab'.$i.'" class="vtInfo">'; echo '<div id="leftcolumn"> - <dl id="dropdown'.$i.'" class="dropdown">'; - $j=1; + <dl class="dropdown">'; + $j=0; foreach ($MenuItems[$Module] as $name=>$value) { - echo '<dt id="'.$Module.$j.'-ddheader" class="upperdd" onmouseover="ddMenu(\''.$Module.$j.'\',1)" onmouseout="ddMenu(\''.$Module.$j.'\',-1)">' . $name . '</dt> + echo '<dt id="'.$Module.$j.'-ddheader" class="upperdd" onmouseover="ddMenu(\''.$Module.$j.'\',1)" onmouseout="ddMenu(\''.$Module.$j.'\',-1)">' . $name . '<div style="float:right;">></div></dt> <dd id="'.$Module.$j.'-ddcontent" onmouseover="cancelHide(\''.$Module.$j.'\')" onmouseout="ddMenu(\''.$Module.$j.'\',-1)"> <ul>'; $k=0; foreach ($MenuItems[$Module][$name]['Caption'] as $Caption) { - echo '<li>' . InternalLink('', $MenuItems[$Module][$name]['URL'][$k], $Caption, 'underline') . '</li>'; + echo '<li>' . InternalLink('', $MenuItems[$Module][$name]['URL'][$k], $Caption, 'underline') . '</li>'; $k++; } echo '</ul> @@ -44,14 +44,16 @@ $j++; } echo '<dt class="bottomdd"></dt>'; + echo '</div><div class="ModuleSummary"><div class="manual_title_bar">' . $ModuleList[$i-1] . '</div>'.$ModuleDescriptions[$Module].'</div></div>'; echo '</dl> - </div>'; - echo '</div>'; + '; $i++; } -echo '</div></div>'; +echo '</div><div id="rightcolumn"> +</div></div>'; + echo '<table width="100%"><tr><td>'; include('dashboard/CompanyInfo.php'); echo '</td><td>'; Modified: trunk/javascripts/FormFunctions.js =================================================================== --- trunk/javascripts/FormFunctions.js 2012-07-18 10:01:45 UTC (rev 9440) +++ trunk/javascripts/FormFunctions.js 2012-07-19 18:43:49 UTC (rev 9441) @@ -117,6 +117,7 @@ function OpenSubWindow(TargetURL) { document.getElementById("Mask").setAttribute("class", "mask"); document.getElementById("SubWindow").setAttribute("class", "inputbox"); +// alert(document.getElementById("contents").innerHTML); // ExpandWindow(51, 51, 51, 51, 1, 1, 1, 1, document.getElementById("contents")); if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); @@ -232,7 +233,7 @@ for (var i=0; i<tabs.length; i++) { tabs[i].style.display = 'none'; } - tab.style.backgroundColor='#EBFFE3'; + tab.style.backgroundColor='#F7F7F7'; document.getElementById(IDS).style.display = 'block'; } Modified: trunk/javascripts/script.js =================================================================== --- trunk/javascripts/script.js 2012-07-18 10:01:45 UTC (rev 9440) +++ trunk/javascripts/script.js 2012-07-19 18:43:49 UTC (rev 9441) @@ -1,62 +1,64 @@ -var DDSPEED = 10; -var DDTIMER = 15; +var DDSPEED = 5; +var DDTIMER = 5; var OFFSET = -2; -var ZINT = 100; +var ZINT = 10; function ddMenu(id,d){ - var h = document.getElementById(id + '-ddheader'); - var c = document.getElementById(id + '-ddcontent'); - clearInterval(c.timer); - if(d == 1){ - clearTimeout(h.timer); - c.style.display = 'block'; - if(c.maxh && c.maxh <= c.offsetHeight){return} - else if(!c.maxh){ - c.style.left = (h.offsetWidth + OFFSET) + 'px'; - c.style.height = 'auto'; - c.maxh = c.offsetHeight; - c.style.height = '0px'; - } - ZINT = ZINT + 1; - c.style.zIndex = ZINT; - c.timer = setInterval(function(){ddSlide(c,1)},DDTIMER); - }else{ - h.timer = setTimeout(function(){ddCollapse(c)},50); - } + var h = document.getElementById(id + '-ddheader'); + var c = document.getElementById(id + '-ddcontent'); + p=id.charAt( id.length-1 ); + c.style.top=(24*p)+'px'; + clearInterval(c.timer); + if(d == 1){ + clearTimeout(h.timer); + c.style.display = 'block'; + if(c.maxh && c.maxh <= c.offsetHeight){return} + else if(!c.maxh){ + c.style.left = (h.offsetWidth + OFFSET) + 'px'; + c.style.height = 'auto'; + c.maxh = c.offsetHeight; + c.style.height = '0px'; + } + ZINT = ZINT + 1; + c.style.zIndex = ZINT; + c.timer = setInterval(function(){ddSlide(c,1)},DDTIMER); + }else{ + h.timer = setTimeout(function(){ddCollapse(c)},50); + } } function ddCollapse(c){ - c.timer = setInterval(function(){ddSlide(c,-1)},DDTIMER); + c.timer = setInterval(function(){ddSlide(c,-1)},DDTIMER); } function cancelHide(id){ - var h = document.getElementById(id + '-ddheader'); - var c = document.getElementById(id + '-ddcontent'); - clearTimeout(h.timer); - clearInterval(c.timer); - if(c.offsetHeight < c.maxh){ - c.timer = setInterval(function(){ddSlide(c,1)},DDTIMER); - } + var h = document.getElementById(id + '-ddheader'); + var c = document.getElementById(id + '-ddcontent'); + clearTimeout(h.timer); + clearInterval(c.timer); + if(c.offsetHeight < c.maxh){ + c.timer = setInterval(function(){ddSlide(c,1)},DDTIMER); + } } function ddSlide(c,d){ - var currh = c.offsetHeight; - var dist; - if(d == 1){ - dist = Math.round((c.maxh - currh) / DDSPEED); - }else{ - dist = Math.round(currh / DDSPEED); - } - if(dist <= 1 && d == 1){ - dist = 1; - } - c.style.height = currh + (dist * d) + 'px'; - c.style.opacity = currh / c.maxh; - c.style.filter = 'alpha(opacity=' + (currh * 100 / c.maxh) + ')'; - if(currh > (c.maxh - 2) && d == 1){ - clearInterval(c.timer); - }else if(dist < 1 && d != 1){ - clearInterval(c.timer); - c.style.display = 'none'; - } + var currh = c.offsetHeight; + var dist; + if(d == 1){ + dist = Math.round((c.maxh - currh) / DDSPEED); + }else{ + dist = Math.round(currh / DDSPEED); + } + if(dist <= 1 && d == 1){ + dist = 1; + } + c.style.height = currh + (dist * d) + 'px'; + c.style.opacity = currh / c.maxh; + c.style.filter = 'alpha(opacity=' + (currh * 100 / c.maxh) + ')'; + if(currh > (c.maxh - 2) && d == 1){ + clearInterval(c.timer); + }else if(dist < 1 && d != 1){ + clearInterval(c.timer); + c.style.display = 'none'; + } } \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |