commit 13755f8da76614130d0861b525b4323142d24f16
Author: Benjamin Luce <benjamin.luce@centrale-marseille.fr>
Date:   Mon Jun 1 22:11:19 2015 +0200

    Deletion of Dynamic Display Block (ddblock) because of vulnerability

diff --git a/drupal7/sites/all/modules/ddblock/CHANGELOG.txt b/drupal7/sites/all/modules/ddblock/CHANGELOG.txt
deleted file mode 100644
index 2b8d5575..00000000
--- a/drupal7/sites/all/modules/ddblock/CHANGELOG.txt
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Change Log for ddblock module
- */
-2011-OCT-17
-#1258820 fix timeout of 0 not used 
-#1258820 fix speed of 0 not used 
-#1258780 use custom.substr(0,1) instead of custom[0] to compare first character to prevent error in IE7
-Check if scrollable pager element is available before using jquery methods on the object
-Add option to use scrollable pager 70, 80 and 90 in ddblock.admin.js
- 
-2011-JUL-25
-Adjust readme.txt
-
-2011-JUL-23 
-#1226554 fix pause on hover always used in basic options
-
-2011-JUL-18
-Add easing support for slide and slidetext using jquery UI
-#1190082 improve help text for choosing content types
-add nr_of_items functionality for custom pager
-adjust nr_of_items help text
-improve help text for before and after effects
-Cycle plugin now via libraries
-
-2011-FEB-14
-#1058868 Adjust install.txt
-bug-fix  Add pagerPosition to javascript settings for horizontal/vertical scrollable pager
-bug-fix  Add pager_toggle to variables given to content template file to toggle the pager on/off
-bug-fix  add hyphen (-) to mask for finding size-xxx files
-
-2011-FEB-11
-#1049556 fix delete of blocks
-#1053996 fix warnings when no images
-#1055048 fix remove extra slide div not closed
-#1054488 fix remove extra commit button on config page
- 
-2011-JAN-29 
-Fixed redirects after forms are submitted
-Rename function _dir_scan_directory to _ddblock_dir_scan_directory
-Fixed Notice: Undefined property: stdClass::$ddblock_enabled on delete form 
-Fixed db_affected_rows() does not exist anymore in Drupal 7
-Cleanup CHANGELOG.TXT file
-
-2011-JAN-25 
-Initial version
-
diff --git a/drupal7/sites/all/modules/ddblock/INSTALL.txt b/drupal7/sites/all/modules/ddblock/INSTALL.txt
deleted file mode 100644
index 15e4011f..00000000
--- a/drupal7/sites/all/modules/ddblock/INSTALL.txt
+++ /dev/null
@@ -1,79 +0,0 @@
-
-REQUIREMENTS
-------------
-* Javascript-enabled web browser
-  libraries module
-
-For advanced options
-
-* Views module (optional) <http://drupal.org/project/views>
-
-PRE-REQUISITES
---------------
-* If you are upgrading from a previous version, please
-
-  - Delete the previous ddblock module directory
-
-  - Read notes about important changes that may affect your site or theme in
-    CHANGELOG.txt.
-
-UPGRADING
----------
-* ddblock for drupal 7 uses new theme packages.
-* ddblock for drupal 7 does not use preprocess functions in the theme anymore
-  you need to delete existing preprocess functions from the template.php file.
-* To download and install the new themes see:
-  DDBLOCK THEMES INSTALLATION
-
-INSTALLATION
-------------
-
-DYNAMIC DISPLAY BLOCK INSTALLATION
-----------------------------------
-* Download the jquery cycle plugin from http://malsup.com/jquery/cycle/download.html 
-  (use jquery.cycle.all.min.js (packed version) or jquery.cycle.all.js, tested till version 2.99)
-
-* Install the jquery cycle plugin in /sites/all/libraries/jquery.cycle/
-
-
-* Download, extract and copy the ddblock folder to your sites/all/modules directory.
-
-* Enable the module at Administer >> Site building >> Modules.
-
-* Run update.php if you upgrade the module from a previous version.
-
-For more information about configuration, see README.txt of the ddblock.
-
-
-DDBLOCK THEMES INSTALLATION
----------------------------
-* Download the theme package (upright10p-60p.rar) from http://ddblock.myalbums.biz/download
-  Make sure you download the version for Drupal 7
-
-* Extract the rar file to a temporary directory
-
-* Copy the custom directory with all subdirectories to the theme directory of the
-  theme you use. (which is probably at sites/all/themes/[YOUR_THEME_NAME])
-
-DDBLOCK EXAMPLE CONTENT TYPE AND VIEW
--------------------------------------
-Create a content type e.g. "Slideshow Item" with the fields
-
-Label              field
------              -----
-Title              title
-Image              field_image
-Slide Text         field_slide_text
-Pager Text         field_pager_text
-Body               body
-
-Create a view using these fields
-
-DDBLOCK MODULE CONFIGURATION
-----------------------------
-Choose a slideshow theme
-Map fields from the view to slideshow theme fields
-Configure the other slideshow settings
-Save the block
-
-Place the block in a region of your overall theme.
\ No newline at end of file
diff --git a/drupal7/sites/all/modules/ddblock/LICENSE.txt b/drupal7/sites/all/modules/ddblock/LICENSE.txt
deleted file mode 100644
index d159169d..00000000
--- a/drupal7/sites/all/modules/ddblock/LICENSE.txt
+++ /dev/null
@@ -1,339 +0,0 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users.  This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it.  (Some other Free Software Foundation software is covered by
-the GNU Lesser General Public License instead.)  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have.  You must make sure that they, too, receive or can get the
-source code.  And you must show them these terms so they know their
-rights.
-
-  We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
-  Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software.  If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary.  To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                    GNU GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License.  The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language.  (Hereinafter, translation is included without limitation in
-the term "modification".)  Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
-  1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
-  2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) You must cause the modified files to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    b) You must cause any work that you distribute or publish, that in
-    whole or in part contains or is derived from the Program or any
-    part thereof, to be licensed as a whole at no charge to all third
-    parties under the terms of this License.
-
-    c) If the modified program normally reads commands interactively
-    when run, you must cause it, when started running for such
-    interactive use in the most ordinary way, to print or display an
-    announcement including an appropriate copyright notice and a
-    notice that there is no warranty (or else, saying that you provide
-    a warranty) and that users may redistribute the program under
-    these conditions, and telling the user how to view a copy of this
-    License.  (Exception: if the Program itself is interactive but
-    does not normally print such an announcement, your work based on
-    the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
-    a) Accompany it with the complete corresponding machine-readable
-    source code, which must be distributed under the terms of Sections
-    1 and 2 above on a medium customarily used for software interchange; or,
-
-    b) Accompany it with a written offer, valid for at least three
-    years, to give any third party, for a charge no more than your
-    cost of physically performing source distribution, a complete
-    machine-readable copy of the corresponding source code, to be
-    distributed under the terms of Sections 1 and 2 above on a medium
-    customarily used for software interchange; or,
-
-    c) Accompany it with the information you received as to the offer
-    to distribute corresponding source code.  (This alternative is
-    allowed only for noncommercial distribution and only if you
-    received the program in object code or executable form with such
-    an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it.  For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable.  However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License.  Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
-  5. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Program or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
-  6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-  7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded.  In such case, this License incorporates
-the limitation as if written in the body of this License.
-
-  9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation.  If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
-  10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission.  For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this.  Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
-                            NO WARRANTY
-
-  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
-  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program 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.
-
-    This program 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 this program; if not, write to the Free Software Foundation, Inc.,
-    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-
-Also add information on how to contact you by electronic and paper mail.
-
-If the program is interactive, make it output a short notice like this
-when it starts in an interactive mode:
-
-    Gnomovision version 69, Copyright (C) year name of author
-    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, the commands you use may
-be called something other than `show w' and `show c'; they could even be
-mouse-clicks or menu items--whatever suits your program.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the program, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
-  `Gnomovision' (which makes passes at compilers) written by James Hacker.
-
-  <signature of Ty Coon>, 1 April 1989
-  Ty Coon, President of Vice
-
-This General Public License does not permit incorporating your program into
-proprietary programs.  If your program is a subroutine library, you may
-consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.
diff --git a/drupal7/sites/all/modules/ddblock/README.txt b/drupal7/sites/all/modules/ddblock/README.txt
deleted file mode 100644
index ba8daac4..00000000
--- a/drupal7/sites/all/modules/ddblock/README.txt
+++ /dev/null
@@ -1,52 +0,0 @@
-SUMMARY
--------
-The Dynamic display block module enables you to create blocks to present content
-in a dynamic way. For creating slideshow effects it uses the jQuery Cycle plug-in.
-
-There are four ways to specify content for the Dynamic display block module:
-
-* A folder containing image files
-* A node from a content type with multiple input
-* Views
-* An instance of any created block
-
-Several effects and other setting can be set in the configuration settings of the
-Dynamic display block module.
-
-
-REQUIREMENTS
-------------
-Libraries module
-
-
-INSTALLATION
-------------
-See INSTALL.txt
-
-
-CONFIGURATION
--------------
-Step by step tutorials at:
-http://ddblock.myalbums.biz/node/1974 (Drupal 7 - Basic slideshow tutorial) 	
-http://ddblock.myalbums.biz/node/1971 (Drupal 7 - Advanced slideshow tutorial)
-
-
-PERMISSIONS
------------
-* Configure user permissions at: admin > people > permissions
-
-  - administer dynamic display blocks:
-
-  - view dynamic display blocks:
-
-
-CONTACT
--------
-Original idea cycle module by roopletheme - http://drupal.org/user/164625
-
-Major rewrite by current Maintainers:
-* Philip Blaauw (ppblaauw) - http://drupal.org/user/155138
-
-We also offer installation, development, theming, customization.
-You can contact us via the contact form on http://ddblock.myalbums.biz.
-or via email to ppblaauw (at) gmail.com
\ No newline at end of file
diff --git a/drupal7/sites/all/modules/ddblock/_images/next.png b/drupal7/sites/all/modules/ddblock/_images/next.png
deleted file mode 100644
index 54395aa7..00000000
Binary files a/drupal7/sites/all/modules/ddblock/_images/next.png and /dev/null differ
diff --git a/drupal7/sites/all/modules/ddblock/_images/prev.png b/drupal7/sites/all/modules/ddblock/_images/prev.png
deleted file mode 100644
index 861b414c..00000000
Binary files a/drupal7/sites/all/modules/ddblock/_images/prev.png and /dev/null differ
diff --git a/drupal7/sites/all/modules/ddblock/_images/readmore-hover.png b/drupal7/sites/all/modules/ddblock/_images/readmore-hover.png
deleted file mode 100644
index 02f61918..00000000
Binary files a/drupal7/sites/all/modules/ddblock/_images/readmore-hover.png and /dev/null differ
diff --git a/drupal7/sites/all/modules/ddblock/_images/readmore.png b/drupal7/sites/all/modules/ddblock/_images/readmore.png
deleted file mode 100644
index 23fd500f..00000000
Binary files a/drupal7/sites/all/modules/ddblock/_images/readmore.png and /dev/null differ
diff --git a/drupal7/sites/all/modules/ddblock/_images/transparent_bg.png b/drupal7/sites/all/modules/ddblock/_images/transparent_bg.png
deleted file mode 100644
index 88afaf14..00000000
Binary files a/drupal7/sites/all/modules/ddblock/_images/transparent_bg.png and /dev/null differ
diff --git a/drupal7/sites/all/modules/ddblock/css/ddblock.css b/drupal7/sites/all/modules/ddblock/css/ddblock.css
deleted file mode 100644
index a8bd2c6a..00000000
--- a/drupal7/sites/all/modules/ddblock/css/ddblock.css
+++ /dev/null
@@ -1,207 +0,0 @@
-/* deafult dynamic display block */
-div.block-ddblock .ddblock-container {
-  clear:both;
-  position: relative;
-}
-
-div.block-ddblock div.slider.overflow-visible{
-  overflow:visible!important;
-}
-/* default dynamic display block number pager */
-div.block-ddblock .ddblock-number-pager a.activeSlide  {
-  background: #88f;
-}
-div.block-ddblock .ddblock-number-pager a:focus {
-  outline: none;
-}
-div.block-ddblock .ddblock-number-pager  {
-/*  padding-bottom: 3px;     /* margin between bottom of pager and content */
-  position: relative;
-  left: 0;
-  display: block;
-}
-div.block-ddblock .ddblock-number-pager a {
-  margin: 0 2px 2px 0;      /* margin right and bottom between pagers */
-  padding: 0px 6px;         /* pading left and right inside pager */
-  border: 1px solid #ccc;
-  background: #fc0;
-  text-decoration: none;
-  display: block;
-  float: left;
-  font-size:.9em;          /* adjust fontsize */
-}
-div.block-ddblock .ddblock-number-pager {
-  display:block;
-  position:relative;
-}
-div.block-ddblock .ddblock-number-pager ul {
-  list-style-type:none;
-  margin:0!important;
-  padding:0!important;
-}
-div.block-ddblock .ddblock-number-pager ul li {
-  background:#fff!important;
-  display:inline;
-  list-style-type:none!important;
-  margin:0!important;
-  padding:0!important;
-}
-div.block-ddblock .ddblock-number-pager ul li a.pager-link{
-  background:#fc0;
-  border:1px solid #ccc;
-  display:block;
-  float:left;
-  font-family:Tahoma,Arial,sans-serif;
-  font-size:.7em;
-  font-weight:bold;
-  height:15px;
-  line-height:15px;
-  margin:0 2px 0 0;
-  text-align:center;
-  text-decoration:none!important;
-  width:15px;
-}
-div.block-ddblock .ddblock-number-pager ul li a.activeSlide{
-  background:#999;
-  color:#fff!important;
-}
-div.block-ddblock .ddblock-number-pager ul li a:focus{
-  outline:none;
-}
-div.block-ddblock .ddblock-number-pager ul li a.pager-link:hover{
-  background:#999;
-  color:#fff!important;
-}
-div.block-ddblock .ddblock-number-pager ul li a.prev,
-div.block-ddblock .ddblock-number-pager ul li a.next{
-  background:#fc0;
-  border:1px solid #ccc;
-  display:block;
-  float:left;
-  font-family:Tahoma,Arial,sans-serif;
-  font-size:.8em;
-  font-weight:bold;
-  height:15px;
-  line-height:15px;
-  margin:0 2px 0 0;
-  text-align:center;
-  text-decoration:none!important;
-  width:30px;
-}
-
-/* default dynamic display block prev-next pager */
-div.block-ddblock .ddblock-prev-next-pager a.activeSlide  {
-  background: #88f;
-}
-div.block-ddblock .ddblock-prev-next-pager a:focus {
-  outline: none;
-}
-div.block-ddblock .ddblock-prev-next-pager  {
-/*  padding-bottom: 3px;     /* margin between bottom of pager and content */
-  position: relative;
-  left: 0;
-  display: block;
-}
-div.block-ddblock .ddblock-prev-next-pager a {
-  background: #fc0;
-  border: 1px solid #ccc;
-  display: block;
-  float: left;
-  font-size:.9em;          /* adjust fontsize */
-  height:15px;
-  line-height:15px;
-  margin: 0 2px 2px 0;      /* margin right and bottom between pagers */
-  padding: 0px 6px;         /* pading left and right inside pager */
-  text-decoration: none;
-  width:30px;
-}
-
-/* default dynamic display block image pager */
-div.block-ddblock .ddblock-image-pager a.activeSlide  {
-  background: #ddd;
-}
-div.block-ddblock .ddblock-image-pager a:focus {
-  outline: none;
-}
-div.block-ddblock ul.ddblock-image-pager {
-  margin: 0 0 3px 0;
-  padding: 0;
-  line-height:1em;
-}
-div.block-ddblock .ddblock-image-pager li {
-/* width: 61px;         /*width of list item 55 from picture width + 2 X 3px padding*/
-  float: left;
-  margin: 0 3px 3px 0; /* margin right and bottom between pagers */
-  padding: 0;
-  list-style: none;
-  border: 1px solid #ccc;
-  background: #fff;
-}
-div.block-ddblock .ddblock-image-pager li a {
-/*  width: 55px;         /* width of list item*/
-/*  height: 55px;        /*height of list item*/
-  padding: 3px;
-  display: block;
-  background: #fff;
-}
-div.block-ddblock .ddblock-image-pager li img {
-  border: none;
-  display: inline;
-  margin: 0 !important;
-  padding: 0 !important;
-}
-
-div.block-ddblock ul.ddblock-image-pager {display:block;position:relative;}
-div.block-ddblock ul.ddblock-image-pager  {list-style-type:none;margin:0!important;padding:0!important;}
-div.block-ddblock ul.ddblock-image-pager li {background:#fff!important;display:inline;list-style:none!important;padding:0!important;}
-div.block-ddblock ul.ddblock-image-pager li a.pager-link{background:#fff;border:1px solid #ccc;display:block;float:left;font-family:Tahoma,Arial,sans-serif;font-size:.7em;font-weight:bold;height:55px;line-height:55px;margin:0 2px 2px 0;padding:3px;text-align:center;text-decoration:none!important;width:55px;}
-div.block-ddblock ul.ddblock-image-pager li a.activeSlide{background:#ddd;color:#fff!important;}
-div.block-ddblock ul.ddblock-image-pager li a:focus{outline:none;}
-div.block-ddblock ul.ddblock-image-pager li a.pager-link:hover{background:#ddd;color:#fff!important;}
-
-div.block-ddblock ul.ddblock-image-pager li a.prev{background:#fff!important;display:inline;list-style:none!important;padding:0!important;}
-div.block-ddblock ul.ddblock-image-pager li a.next{background:#fff!important;display:inline;list-style:none!important;padding:0!important;}
-
-
-/* default dynamic display block custom pager */
-div.block-ddblock .ddblock-custom-pager a.activeSlide  {
-background: #eee;
-}
-div.block-ddblock .ddblock-custom-pager a:focus {
-  outline: none;
-}
-
-/********************* previous next pager on slide **********************/
-div.block-ddblock div.pager-slide{
-  height: 50px;
-  position: absolute;
-  top:130px;
-  width:50px;
-  z-index:50;
-}
-div.block-ddblock div.pager-slide a{
-  display:block;
-  height:50px;
-  opacity: 0.7;
-  width:50px;
-}
-div.block-ddblock div.next-container a.next{
-  background: url(_images/next.png) no-repeat;
-}
-div.block-ddblock div.prev-container a.prev{
-  background: url(_images/prev.png) no-repeat;
-}
-div.block-ddblock div.next-container a.next:hover{
-  background: url(_images/next.png) no-repeat;
-  opacity:1;
-}
-div.block-ddblock div.prev-container a.prev:hover{
-  background: url(_images/prev.png) no-repeat;
-  opacity:1;
-}
-div.block-ddblock div.pager-slide a:focus{
-  outline:none;
-}
-/********************* previous next pager on slide **********************/
-div.block-ddblock div.prev-container{left:5px;}
-div.block-ddblock div.next-container{left:128px;}
\ No newline at end of file
diff --git a/drupal7/sites/all/modules/ddblock/css/ddblock_instance_admin.css b/drupal7/sites/all/modules/ddblock/css/ddblock_instance_admin.css
deleted file mode 100644
index 755a5127..00000000
--- a/drupal7/sites/all/modules/ddblock/css/ddblock_instance_admin.css
+++ /dev/null
@@ -1,12 +0,0 @@
-.ddblock-target {
-  float:left;
-  margin-right:10px;
-}
-.ddblock-target label,
-.ddblock-source label {
-  display:none;
-}
-.form-item {
-  margin: 0 0 5px!important;
-  padding: 0!important;
-}
\ No newline at end of file
diff --git a/drupal7/sites/all/modules/ddblock/ddblock-cycle-block-content.tpl.php b/drupal7/sites/all/modules/ddblock/ddblock-cycle-block-content.tpl.php
deleted file mode 100644
index d731531e..00000000
--- a/drupal7/sites/all/modules/ddblock/ddblock-cycle-block-content.tpl.php
+++ /dev/null
@@ -1,109 +0,0 @@
-<?php
-
-/*
- * @file
- * Default theme implementation to display a dynamic display blocks from a dynamic display block instance.
- *
- * Available variables:
- * - $origin: Original module of the block.
- * - $delta: Block number of the block.
- * - $pager: Pager type to add the dynamic display block.
- * - $pager_height: Pager container height.
- * - $pager_width: Pager container width.
- * - $imgcache_pager_item: Image cache preset name for the pager item.
- * - $content: themed content.
- *
- * notes: don't change the ID names, they are used by the jQuery script.
- */
- $settings = $ddblock_cycle_slider_settings;
-
-?>
-
-<!-- block content. -->
-<div id="ddblock-<?php print $settings['delta']; ?>" class="ddblock-contents clearfix" style="visibility:hidden">
-
- <div class="ddblock-content clearfix">
-
-  <?php if ($content): ?>
-
-   <?php if (($settings['pager'] == 'number-pager')): ?>
-    <!-- number pager. -->
-    <div id="ddblock-<?php print $settings['pager'] ."-". $settings['delta'] ?>" class="ddblock-<?php print $settings['pager'] ?> ddblock-pager clearfix" style="height: <?php print $settings['pager_height']; ?>px; width:<?php print $settings['pager_width']; ?>px;">
-     <?php $item_counter=1; ?>
-     <ul>
-      <?php foreach ($content['slide_image'] as $item): ?>
-       <li class="number-pager-item">
-        <a href="#" class="pager-link" title="click to navigate to topic">
-         <?php print $item_counter; ?>
-        </a>
-       </li>
-       <?php $item_counter++;?>
-      <?php endforeach; ?>
-     </ul>
-    </div>
-   <?php endif; ?>
-
-   <?php if (($settings['pager'] == 'image-pager')): ?>
-
-    <!-- image pager. -->
-    <ul id="ddblock-<?php print $settings['pager'] ."-". $settings['delta'] ?>" class="ddblock-<?php print $settings['pager'] ?> ddblock-pager clearfix" style="height: <?php print $settings['pager_height'] ?>px; width:<?php print $settings['pager_width'] ?>px;">
-      <?php foreach ($content['pager_image'] as $image_file): ?>
-       <li>
-        <a href="#" title="click to navigate to topic"><?php print $image_file; ?></a>
-       </li>
-      <?php endforeach; ?>
-    </ul>
-   <?php endif; ?>
-
-   <?php if ($settings['pager'] == 'prev-next-pager'): ?>
-    <!-- prev next pager. -->
-    <div id="ddblock-<?php print $settings['pager'] ."-". $settings['delta'] ?>" class="ddblock-<?php print $settings['pager'] ?> ddblock-pager clearfix" style="height: <?php print $settings['pager_height'] ?>px; width:<?php print $settings['pager_width'] ?>px;">
-     <a id="prev" class="prev" href="#">Prev</a>
-     <a id="next" class="next" href="#">Next</a>
-    </div>
-   <?php endif; ?>
-
-   <?php if ($settings['output_type'] == 'images') : ?>
-    <div class="ddblock-container clearfix">
-     <div class="slider">
-      <?php foreach ($content['slide_image'] as $image_file): ?>
-       <div class="slide"><?php print $image_file; ?></div>
-      <?php endforeach; ?>
-     </div>
-     <!-- prev/next pager on slide -->
-     <?php if ($settings['pager2'] == 1): ?>
-      <div class="pager-slide prev-container prev-container-<?php print $settings['pager_position'] ?>">
-       <a class="prev" href="#"><?php print $settings['pager2_slide_prev']?></a>
-      </div>
-      <div class="pager-slide next-container next-container-<?php print $settings['pager_position'] ?>">
-       <a class="next" href="#"><?php print $settings['pager2_slide_next'] ?></a>
-      </div>
-     <?php endif; ?>
-    </div>
-   <?php endif; ?>
-
-   <?php if ($settings['output_type'] == 'content_array') : ?>
-    <div class="ddblock-container">
-     <?php foreach ($content as $item): ?>
-      <?php print($item); ?>
-     <?php endforeach; ?>
-     <!-- prev/next pager on slide -->
-     <?php if ($settings['pager2'] == 1): ?>
-      <div class="pager-slide prev-container prev-container-<?php print $settings['pager_position'] ?>">
-       <a class="prev" href="#"><?php print $settings['pager2_slide_prev']?></a>
-      </div>
-      <div class="pager-slide next-container next-container-<?php print $settings['pager_position'] ?>">
-       <a class="next" href="#"><?php print $settings['pager2_slide_next'] ?></a>
-      </div>
-     <?php endif; ?>
-    </div>
-   <?php endif; ?>
-
-   <?php if ($settings['output_type'] == 'view_content') : ?>
-    <div class="ddblock-container">
-     <?php print($content); ?>
-    </div>
-   <?php endif; ?>
-  <?php endif; ?>
- </div>
-</div>
diff --git a/drupal7/sites/all/modules/ddblock/ddblock-cycle-pager-content.tpl.php b/drupal7/sites/all/modules/ddblock/ddblock-cycle-pager-content.tpl.php
deleted file mode 100644
index cab38165..00000000
--- a/drupal7/sites/all/modules/ddblock/ddblock-cycle-pager-content.tpl.php
+++ /dev/null
@@ -1,50 +0,0 @@
-<?php
-
-/**
- * @file
- * Default theme implementation to display a dynamic display blocks from a dynamic display block instance.
- *
- * Available variables:
- * - $delta: Block number of the block.
- * - $pager: Add a pager to the dynamic display block.
- * - $pager_height: Height of the container of the pager.
- * - $pager_width: Width of the container of the pager.
- * - $pager_position: position of the slider (top | bottom)
- * - $content: themed content
- *
- * notes: don't change the ID names, they are used by the jQuery script.
- */
-$number_of_items = 6;
-$number_of_items_per_row=3;
-$settings = $ddblock_cycle_pager_settings;
-?>
-
-
-
-<?php if ($settings['pager'] == 'custom-pager'): ?>
- <?php if ($settings['pager_position'] == 'bottom' || $settings['pager_position'] == 'both'): ?>
-   <div class="spacer-horizontal"><b></b></div>
- <?php endif; ?>
- <div id="ddblock-pager-<?php print $settings['delta'] ?>" class="<?php print $settings['pager'] ?>" class="clear-block border">
-  <div  class="<?php print $settings['pager'] ?>-inner" class="clear-block border">
-   <?php if ($pager_items): ?>
-    <?php $item_counter=0; ?>
-    <?php foreach ($pager_items as $pager_item): ?>
-     <div class="<?php print $settings['pager'] ?>-item <?php print $settings['pager'] ?>-item-<?php print $item_counter ?>">
-      <div class="<?php print $settings['pager'] ?>-item-inner">
-       <a href="#" title="navigate to topic"><?php print $pager_item['image']; ?><?php print $pager_item['text']; ?></a>
-      </div>
-     </div>
-     <?php $item_counter++; if ($item_counter == $number_of_items_per_row):?>
-      <div class="spacer-horizontal"><b></b></div>
-     <?php else: ?>
-      <div class="spacer-vertical"></div>
-     <?php endif; ?>
-    <?php endforeach; ?>
-   <?php endif; ?>
-  </div> <!-- pager-inner-->
- </div>  <!-- pager-->
- <?php if ($settings['pager_position'] == 'top' || $settings['pager_position'] == 'both'): ?>
-   <div class="spacer-horizontal"><b></b></div>
- <?php endif; ?>
-<?php endif; ?>
diff --git a/drupal7/sites/all/modules/ddblock/ddblock.admin.inc b/drupal7/sites/all/modules/ddblock/ddblock.admin.inc
deleted file mode 100644
index 5ac85ee0..00000000
--- a/drupal7/sites/all/modules/ddblock/ddblock.admin.inc
+++ /dev/null
@@ -1,338 +0,0 @@
-<?php
-
-/**
- * @file
- *  admin blocks of the ddblock module.
- *
- */
-
-/**
- * Form with overview of all dynamic display blocks to manage and to add dynamic display blocks.
- */
-function ddblock_block_add_form($form, &$form_state) {
-
-  // get dynamic display  block.
-  $rows = array();
-  $blocks = ddblock_get_blocks(NULL);
-
-  foreach ($blocks as $block) {
-    $rows[] = array(
-      'name' => check_plain($block->title),
-      'edit' => l(t('Edit'), "admin/structure/ddblock/edit/$block->delta"),
-      'delete' => l(t('Delete'), "admin/structure/ddblock/delete/$block->delta"),
-      'block' => l(t('Configure block'), "admin/structure/block/manage/ddblock/$block->delta/configure"),
-    );
-  }
-  if (empty($rows)) {
-    $rows[] = array(array(
-        'data' => t('No dynamic display blocks available.'),
-        'colspan' => '4',
-      ));
-  }
-
-  $header = array(t('Name'), array(
-      'data' => t('Operation'),
-      'colspan' => '3',
-    ));
-  $output = theme('table', array('header' => $header, 'rows' => $rows, 'attributes' => array('id' => 'dynamic display block')));
-
-  $form = array();
-  $form['list'] = array(
-    '#type' => 'fieldset',
-    '#title' => t('Dynamic display blocks'),
-    '#collapsible' => TRUE,
-  );
-  $form['list']['table'] = array(
-    '#type' => 'item',
-    '#prefix' => '<div>',
-    '#markup' => $output,
-    '#suffix' => '</div>',
-  );
-
-  // add dynamic display  block.
-  $form['block'] = array(
-    '#type' => 'fieldset',
-    '#title' => t('Add dynamic display block.'),
-  );
-
-  $form['block']['title'] = array(
-    '#type' => 'textfield',
-    '#title' => t('Block title'),
-    '#description' => t('A block with this same name will be created.'),
-    '#default_value' => '',
-    '#required' => TRUE,
-  );
-
-  $form['block']['op'] = array(
-    '#type' => 'submit',
-    '#value' => t('Add block'),
-  );
-
-  return $form;
-}
-
-/**
- * Validate "Add Block" form.
- */
-function ddblock_block_add_form_validate($form, &$form_state) {
-  $blocks = ddblock_get_blocks(NULL);
-  $block_titles = array();
-  foreach ($blocks as $block) {
-    $block_titles[] = $block->title;
-  }
-
-  if (!empty($block_titles)) {
-    // Check if name is unique
-    if (in_array($form_state['values']['title'], $block_titles)) {
-      form_set_error('', t('Dynamic display block %s already exists. Please use a different name.', array('%s' => $form_state['values']['title'])));
-    }
-  }
-}
-/**
- * Add dynamic display block to database from "Add Block" form.
- */
-function ddblock_block_add_form_submit($form, &$form_state) {
-  $id = db_insert('ddblock_block')
-  ->fields(array(
-    'title' => $form_state['values']['title'],
-    'module' => 'ddblock',
-  ))
-  ->execute();
-
-  drupal_set_message(t('Dynamic display block %s added.', array('%s' => $form_state['values']['title'])));
-}
-
-/**
- * Edit block form.
- */
-function ddblock_block_edit_form($form, &$form_state, $delta) {
-  $block = ddblock_get_blocks($delta);
-  $form = array();
-
-  $form['delta'] = array(
-    '#type' => 'hidden',
-    '#value' => $delta,
-  );
-
-  $form['title'] = array(
-    '#type' => 'textfield',
-    '#title' => t('Block title'),
-    '#description' => t('The block name must be unique.'),
-    '#default_value' => $block->title,
-    '#required' => TRUE,
-  );
-
-  $form['op'] = array(
-    '#type' => 'submit',
-    '#value' => t('Save'),
-  );
-
-  return $form;
-}
-
-/**
- * Validate edit block form.
- */
-function ddblock_block_edit_form_validate($form, &$form_state) {
-  $blocks = ddblock_get_blocks(NULL);
-  $block_titles = array();
-  foreach ($blocks as $block) {
-    $block_titles[$block->delta] = $block->title;
-  }
-
-  // Remove current blockname to prevent false error.
-  unset($block_titles[$form_state['values']['delta']]);
-
-  if (!empty($block_titles)) {
-    // Check if name is unique.
-    if (in_array($form_state['values']['title'], $block_titles)) {
-      form_set_error('', t('Dynamic display block %s already exists. Please use a different name.', array('%s' => $form_state['values']['title'])));
-    }
-  }
-}
-
-/**
- * Submit edit block form.
- */
-function ddblock_block_edit_form_submit($form, &$form_state) {
-  db_update('ddblock_block')
-  ->fields(array(
-    'title' => $form_state['values']['title'],
-  ))
-  ->condition('delta', $form_state['values']['delta'])
-  ->execute();
-
-  drupal_set_message(t('Dynamic display block block updated.'));
-  $form_state['redirect'] = 'admin/structure/ddblock';
-  return $form;
-}
-
-/**
- * Delete block form.
- */
-function ddblock_block_confirm_delete_form($form, &$form_state, $delta) {
-  $block = ddblock_get_blocks($delta);
-  if (empty($block)) {
-    drupal_set_message(t('The block with delta @delta was not found.', array('@delta' => $delta)), 'error');
-    return array();
-  }
-  else {
-    if ($block->enabled == 1) {
-
-      //The question to ask the user.
-      $question = t('Are you sure you want to delete the dynamic display block instance %title?', array('%title' => $block->title));
-    }
-    else {
-      //The question to ask the user.
-      $question = t('Are you sure you want to delete the dynamic display block %title?', array('%title' => $block->title));
-    }
-    // The page to go to if the user denies the action.
-    $path = 'admin/structure/ddblock';
-
-    // Additional text to display (defaults to "This action cannot be undone.").
-    $description = t('This action cannot be undone.');
-
-    // A caption for the button which confirms the action.
-    $yes = t('Delete');
-
-    // A caption for the link which denies the action.
-    $no = t('Cancel');
-
-    // set delta value to use in submit function.
-    $form['delta'] = array(
-      '#type' => 'value',
-      '#value' => $delta,
-    );
-
-    // set original module value to use in submit function.
-    $form['origin'] = array(
-      '#type' => 'value',
-      '#value' => $block->module,
-    );
-
-    // set the redirect path value to use in submit function.
-    $form_state['redirect'] = $path;
-    return confirm_form(
-      $form,
-      $question,
-      $path,
-      $description,
-      $yes,
-      $no
-    );
-  }
-}
-
-/**
- * Delete a dynamic display block or dynamic display block instance.
- */
-function ddblock_block_confirm_delete_form_submit($form, &$form_state) {
-
-  if (ddblock_block_confirm_delete($form_state['values']['delta'])) {
-    if ($form_state['values']['origin'] == 'ddblock') {
-      $succes_message = t('Dynamic display block successfully deleted!');
-    }
-    else {
-      $succes_message = t('Dynamic display block instance successfully deleted!');
-    }
-    drupal_set_message($succes_message);
-  }
-  else {
-    if ($form_state['values']['origin'] == 'ddblock') {
-      $failure_message = t('There was a problem deleting the dynamic display block');
-    }
-    else {
-      $failure_message = t('There was a problem deleting the dynamic display block instance');
-    }
-    drupal_set_message($failure_message);
-  }
-  $form_state['redirect'] = 'admin/structure/ddblock';
-  return $form;
-}
-
-/**
- * Delete a dynamic display block or dynamic display block instance from the database.
- */
-/*function ddblock_block_confirm_delete($delta) {
-  $result = db_delete('ddblock_block')
-  ->condition('delta', (int) $delta)
-  ->execute();
-  if (ctype_digit($delta)) {
-    _block_rehash();
-    // variable_del includes a clear cache.
-    variable_del('ddblock_block_ddblock_' . $delta . '_cycle_settings');
-    return TRUE;
-  }
-  else {
-    return FALSE;
-  }
-}
-*/
-function ddblock_block_confirm_delete($delta) {
-  _block_rehash();
-  $result = db_delete('ddblock_block')
-  ->condition('delta', (int) $delta)
-  ->execute();
-
-  $result = db_delete('block')
-  ->condition('module', 'ddblock')
-  ->condition('delta', $delta)
-  ->execute();
-
-  // variable_del includes a clear cache.
-  variable_del('ddblock_block_ddblock_' . $delta . '_settings');
-  variable_del('ddblock_block_ddblock_' . $delta . '_cycle_settings');
-  variable_del('ddblock_block_ddblock_' . $delta . '_cycle_mapping_settings');
-
-  return TRUE;
-}
-
-/**
- * Dynamic display block settings form for setting the content types to be used with the dynamic display block module.
- */
-function ddblock_settings_form($form, &$form_state) {
-  $form = array();
-  // get a list of all available content types,  names parameter is used to get an associative array of content type names.
-  // the key is the machine-readable name of the content type and the value the human-readable name of the content type.
-  $content_types = node_type_get_names();
-
-  $form['ddblock_node_type'] = array(
-    '#type' => 'checkboxes',
-    '#title' => t('Content types'),
-    '#description' => t('The content type(s) that can be used with the dynamic display block module.'),
-    '#default_value' => variable_get('ddblock_node_type', array()),
-    '#options' => $content_types,
-    '#multiple' => TRUE,
-    '#required' => FALSE,
-  );
-
-  // Fetch blocks directly from modules using block.module function.
-  $blocks = _block_rehash();
-
-  // Sort blocks how we want them.
-  usort($blocks, 'ddblock_block_sort');
-
-  // Turn $blocks into form options of available blocks.
-  $options = array();
-  foreach ($blocks as $block) {
-    // Don't include ddblock module blocks in the list.
-    if ($block['module'] != 'ddblock') {
-      $options[$block['module'] . ':' . $block['delta'] . ':' . $block['info']] = $block['module'] . ' - ' . $block['info'];
-    }
-  }
-
-  $form['ddblock_blocks'] = array(
-    '#type' => 'checkboxes',
-    '#title' => t('Blocks'),
-    '#description' => t('The block(s) that can be used with the dynamic display block module.'),
-    '#default_value' => variable_get('ddblock_blocks', array()),
-    '#options' => $options,
-    '#multiple' => TRUE,
-    '#required' => FALSE,
-  );
-
-
-  $form_state['redirect'] = 'admin/structure/ddblock/list';
-
-  return system_settings_form($form);
-}
diff --git a/drupal7/sites/all/modules/ddblock/ddblock.class.php b/drupal7/sites/all/modules/ddblock/ddblock.class.php
deleted file mode 100644
index f89dfe2d..00000000
--- a/drupal7/sites/all/modules/ddblock/ddblock.class.php
+++ /dev/null
@@ -1,236 +0,0 @@
-<?php
-class ddblockConfigurationSettings {
-
-  /**
-   * @var array default configuration settings
-   */
-  protected $settings = array(
-    'content_type'             => array('format' => '%s', 'value' => 'none'),
-    'folder'                   => array('format' => '%s', 'value' => 'images/ddblock'),
-    'ignore_files'             => array('format' => '%s', 'value' => ''),
-    'input_type'               => array('format' => '%s', 'value' => 'images'),
-    'nodes'                    => array('format' => '%s', 'value' => ''),
-    'node_body_teaser'         => array('format' => '%s', 'value' => 'body'),
-    'order'                    => array('format' => '%s', 'value' => 'asc'),
-    'output'                   => array('format' => '%s', 'value' => 'view_content'),
-    'widget'                   => array('format' => '%s', 'value' => 'cycle'),
-  );
-
-  public function __construct (Array $settings) {
-    foreach ($settings as $key => $value) {
-      $this->__set($key, $value);
-    }
-  }
-
-  /**
-   * Use overload functions to get and set $settings
-   *
-   * Keys passed to the set function should be keys that already
-   * exist in the settings array.
-   */
-  public function __set($key, $value) {
-    if (!array_key_exists($key, $this->settings)) {
-      return;
-    }
-    $this->settings[$key]['value'] = sprintf($this->settings[$key]['format'], $value);
-  }
-
-  /**
-   * Use overload functions to get and set $settings
-   */
-  public function __get($key) {
-    if (!array_key_exists($key, $this->settings)) {
-      return null;
-    }
-    return $this->settings[$key]['value'];
-  }
-
-  /**
-   * Alternate function to __get
-   */
-  public function get($key, $default) {
-    return ($this->__get($key) !== NULL) ? $this->__get($key) : $default;
-  }
-
-  public function settings() {
-    $settings = array();
-    foreach ($this->settings as $key => $value) {
-      $settings[$key] = $value['value'];
-    }
-    return $settings;
-  }
-}
-
-class ddblockCycleConfigurationSettings {
-
-  /**
-   * @var array default configuration settings
-   */
-  protected $settings = array(
-    'advanced'                 => array('format' => '%d', 'value' => 1),
-    'container_advanced'       => array('format' => '%s', 'value' => 'div.slide'),
-    'container_basic'          => array('format' => '%s', 'value' => 'div.slide'),
-    'custom_jquery'            => array('format' => '%s', 'value' => ''),
-    'fx'                       => array('format' => '%s', 'value' => 'fade'),
-    'easing_out'               => array('format' => '%s', 'value' => 'linear'),
-    'easing_in'                => array('format' => '%s', 'value' => 'linear'),
-    'height'                   => array('format' => '%d', 'value' => 195),
-    'image_height'             => array('format' => '%d', 'value' => 183),
-    'image_width'              => array('format' => '%d', 'value' => 183),
-    'image_style_toggle'       => array('format' => '%d', 'value' => 0),
-    'image_style_slide'        => array('format' => '%s', 'value' => '<none>'),
-    'image_style_pager_item'   => array('format' => '%s', 'value' => '<none>'),
-    'max_image'                => array('format' => '%d', 'value' => 5),
-    'next'                     => array('format' => '%d', 'value' => 0),
-    'nr_of_pager_items'        => array('format' => '%d', 'value' => 4),
-    'overflow'                 => array('format' => '%d', 'value' => 1),
-    'pager'                    => array('format' => '%s', 'value' => 'none'),
-    'pager_container'          => array('format' => '%s', 'value' => 'pager-item'),
-    'pager_disable_click'      => array('format' => '%d', 'value' => 1),
-    'pager_event'              => array('format' => '%s', 'value' => 'click'),
-    'pager_fast'               => array('format' => '%d', 'value' => 1),
-    'pager_height'             => array('format' => '%d', 'value' => 25),
-    'pager_pause'              => array('format' => '%d', 'value' => 1),
-    'pager_width'              => array('format' => '%d', 'value' => 195),
-    'pager_position'           => array('format' => '%s', 'value' => 'top'),
-    'pager_prev_next_loop'     => array('format' => '%d', 'value' => 1),
-    'pager_scrollable_loop'    => array('format' => '%d', 'value' => 1),
-    'pager_toggle'             => array('format' => '%d', 'value' => 1),
-    'pager2'                   => array('format' => '%d', 'value' => 0),
-    'pager2_event'             => array('format' => '%s', 'value' => 'click'),
-    'pager2_slide_prev'        => array('format' => '%s', 'value' => ''),
-    'pager2_slide_next'        => array('format' => '%s', 'value' => ''),
-    'pager2_slide_hide'        => array('format' => '%d', 'value' => 0),
-    'pause'                    => array('format' => '%d', 'value' => 1),
-    'slide_text'               => array('format' => '%d', 'value' => 1),
-    'slide_text_after_effect'  => array('format' => '%s', 'value' => 'fadeIn'),
-    'slide_text_after_speed'   => array('format' => '%d', 'value' => 1000),
-    'slide_text_after_easing'  => array('format' => '%s', 'value' => 'linear'),
-    'slide_text_before_effect' => array('format' => '%s', 'value' => 'fadeOut'),
-    'slide_text_before_speed'  => array('format' => '%d', 'value' => 250),
-    'slide_text_before_easing' => array('format' => '%s', 'value' => 'linear'),
-    'slide_text_container'     => array('format' => '%s', 'value' => 'div.slide-text'),
-    'slide_text_jquery'        => array('format' => '%d', 'value' => 0),
-    'slide_text_position'      => array('format' => '%s', 'value' => 'bottom'),
-    'speed'                    => array('format' => '%d', 'value' => 500),
-    'template'                 => array('format' => '%s', 'value' => 'none'),
-    'template_size'            => array('format' => '%s', 'value' => 'default'),
-    'timeout'                  => array('format' => '%d', 'value' => 5000),
-    'width'                    => array('format' => '%d', 'value' => 195),
-  );
-
-  public function __construct (Array $settings) {
-    foreach ($settings as $key => $value) {
-      $this->__set($key, $value);
-    }
-  }
-
-  /**
-   * Use overload functions to get and set $settings
-   *
-   * Keys passed to the set function should be keys that already
-   * exist in the settings array.
-   */
-  public function __set($key, $value) {
-    if (!array_key_exists($key, $this->settings)) {
-      return;
-    }
-    $this->settings[$key]['value'] = sprintf($this->settings[$key]['format'], $value);
-  }
-
-  /**
-   * Use overload functions to get and set $settings
-   */
-  public function __get($key) {
-    if (!array_key_exists($key, $this->settings)) {
-      return null;
-    }
-    return $this->settings[$key]['value'];
-  }
-
-  /**
-   * Alternate function to __get
-   */
-  public function get($key, $default) {
-    return ($this->__get($key) !== NULL) ? $this->__get($key) : $default;
-  }
-
-  public function settings() {
-    $settings = array();
-    foreach ($this->settings as $key => $value) {
-      $settings[$key] = $value['value'];
-    }
-    return $settings;
-  }
-}
-
-class ddblockCycleMappingSettings {
-
-  /**
-   * @var array default configuration settings
-   */
-  protected $settings = array(
-    0  => array('target' => 'node_id', 'source' => '', ),
-    1  => array('target' => 'slide_image', 'source' => '', ),
-    2  => array('target' => 'slide_title', 'source' => '', ),
-    3  => array('target' => 'slide_text', 'source' => '', ),
-    4  => array('target' => 'slide_read_more', 'source' => '', ),
-    5  => array('target' => 'pager_image', 'source' => '', ),
-    6  => array('target' => 'pager_text', 'source' => '', ),
-    7  => array('target' => '', 'source' => '', ),
-    8  => array('target' => '', 'source' => '', ),
-    9  => array('target' => '', 'source' => '', ),
-    10 => array('target' => '', 'source' => '', ),
-    11 => array('target' => '', 'source' => '', ),
-    12 => array('target' => '', 'source' => '', ),
-    13 => array('target' => '', 'source' => '', ),
-    14 => array('target' => '', 'source' => '', ),
-    15 => array('target' => '', 'source' => '', ),
-  );
-
-  public function __construct (Array $settings) {
-    foreach ($settings as $key => $value) {
-      $this->__set($key, $value);
-    }
-  }
-
-  /**
-   * Use overload functions to get and set $settings
-   *
-   * Keys passed to the set function should be keys that already
-   * exist in the settings array.
-   */
-  public function __set($key, $value) {
-    if (!array_key_exists($key, $this->settings)) {
-      return;
-    }
-    $this->settings[$key]['target'] = $value['target'];
-    $this->settings[$key]['source'] = $value['source'];
-  }
-
-  /**
-   * Use overload functions to get and set $settings
-   */
-  public function __get($key) {
-    if (!array_key_exists($key, $this->settings)) {
-      return null;
-    }
-    return $this->settings[$key];
-  }
-
-  /**
-   * Alternate function to __get
-   */
-  public function get($key, $default) {
-    return ($this->__get($key) !== NULL) ? $this->__get($key) : $default;
-  }
-
-  public function settings() {
-    $settings = array();
-    foreach ($this->settings as $key => $value) {
-      $settings[$key]['target'] = $value['target'];
-      $settings[$key]['source'] = $value['source'];
-    }
-    return $settings;
-  }
-}
\ No newline at end of file
diff --git a/drupal7/sites/all/modules/ddblock/ddblock.info b/drupal7/sites/all/modules/ddblock/ddblock.info
deleted file mode 100644
index aef335be..00000000
--- a/drupal7/sites/all/modules/ddblock/ddblock.info
+++ /dev/null
@@ -1,22 +0,0 @@
-name = Dynamic display block
-description = Displays dynamic content in a block.
-core = 7.x
-dependencies[] = image
-dependencies[] = libraries
-
-files[] = ddblock-cycle-block-content.tpl.php
-files[] = ddblock-cycle-pager-content.tpl.php
-files[] = ddblock.admin.inc
-files[] = ddblock.install
-files[] = ddblock.module
-files[] = ddblock.class.php
-
-configure = admin/structure/ddblock
-
-
-; Information added by drupal.org packaging script on 2011-10-17
-version = "7.x-1.0"
-core = "7.x"
-project = "ddblock"
-datestamp = "1318818994"
-
diff --git a/drupal7/sites/all/modules/ddblock/ddblock.install b/drupal7/sites/all/modules/ddblock/ddblock.install
deleted file mode 100644
index 4177cfcc..00000000
--- a/drupal7/sites/all/modules/ddblock/ddblock.install
+++ /dev/null
@@ -1,82 +0,0 @@
-<?php
-
-/**
- * @file
- * Installation file to implement the dynamic display block schema
- */
-
-/**
- * Implements hook_schema().
- */
-function ddblock_schema() {
-  $schema['ddblock_block'] = array(
-    'description' => 'The base tables for ddblocks.',
-    'fields' => array(
-      'delta' => array(
-        'description' => 'Number of the block.',
-        'type' => 'serial',
-        'unsigned' => TRUE,
-        'not null' => TRUE,
-      ),
-      'title' => array(
-        'description' => 'Title of the block.',
-        'type' => 'varchar',
-        'length' => 64,
-        'not null' => TRUE,
-        'default' => '',
-      ),
-      'module' => array(
-        'description' => 'The name of the module that provided the original block.',
-        'type' => 'varchar',
-        'length' => 64,
-        'not null' => TRUE,
-        'default' => '',
-      ),
-      'delta_original' => array(
-        'description' => 'The delta of the original block.',
-        'type' => 'varchar',
-        'length' => 32,
-        'not null' => TRUE,
-        'default' => '0',
-      ),
-      'enabled' => array(
-        'description' => 'Support for dynamic display block enabled.',
-        'type' => 'int',
-        'size' => 'tiny',
-        'unsigned' => TRUE,
-        'not null' => TRUE,
-        'default' => 0,
-      ),
-    ),
-    'primary key' => array('delta'),
-  );
-
-  return $schema;
-}
-
-/**
- * Implements hook_install().
- */
-function ddblock_install() {
-  // TODO The drupal_(un)install_schema functions are called automatically in D7.
-  // drupal_install_schema('ddblock')
-}
-
-/**
- * Implements hook_uninstall().
- */
-function ddblock_uninstall() {
-  //Drop tables
-  // TODO The drupal_(un)install_schema functions are called automatically in D7.
-  // DONE these lines can be removed
-  // drupal_uninstall_schema('ddblock')
-  // Remove variables
-  // TODO Please review the conversion of this statement to the D7 database API syntax.
-  // DONE
-  /* db_query("DELETE FROM {variable} WHERE name LIKE 'ddblock_%%'") */
-  db_delete('variable')
-  ->condition('name', 'ddblock_%%', 'LIKE')
-  ->execute();
-  cache_clear_all('variables', 'cache');
-  drupal_set_message(t("Dynamic display block module uninstalled successfully."));
-}
diff --git a/drupal7/sites/all/modules/ddblock/ddblock.module b/drupal7/sites/all/modules/ddblock/ddblock.module
deleted file mode 100644
index 2397fa5b..00000000
--- a/drupal7/sites/all/modules/ddblock/ddblock.module
+++ /dev/null
@@ -1,2880 +0,0 @@
-<?php
-
-
-/**
- * @file
- * Enables your site to display dynamic content in a block.
- */
-
-/**
- * Implements hook_help().
- */
-function ddblock_help($path, $arg) {
-  switch ($path) {
-    case "admin/help#ddblock":
-      $output = '<p>' . t('Display content dynamically in a block using the jQuery Cycle plugin and the jQuery UI plugin for easing') . '</p>';
-      $output .= '<p>' . t('There are three methods to provide content for a dynamic display block. An input folder with images, a node from a content type or by making an instance of any block to use the block content of the original block as content for the dynamic display block') . '</p>';
-      return $output;
-  }
-}
-
-/**
- * add javascript and css files.
- */
-function ddblock_init_js_css() {
-  // add jquery.ui
-  drupal_add_library('system', 'effects');
-  // get module path to dynamic display block module
-  $ddblock_path = drupal_get_path('module', 'ddblock');
-
-  //add jcycle plugin
-  // Don't load javascript unless libraries module is present.
-  if (module_exists('libraries')) {
-    // Load jQuery Cycle
-    $cycle_path = libraries_get_path('jquery.cycle');
-    if (!empty($cycle_path) && file_exists($cycle_path . '/jquery.cycle.all.min.js')) {
-      drupal_add_js($cycle_path . '/jquery.cycle.all.min.js');
-    }
-    elseif (!empty($cycle_path) && file_exists($cycle_path . '/jquery.cycle.all.js')) {
-      drupal_add_js($cycle_path . '/jquery.cycle.all.js');
-    }
-  }  
-  // add json pack to parse json
-  drupal_add_js($ddblock_path . '/js/json2.pack.js');
-
-  // add ddblock js file
-  drupal_add_js($ddblock_path . '/js/ddblock.js');
-
-  // add Cascading style sheet
-  drupal_add_css($ddblock_path . '/css/ddblock.css');
-}
-
-/**
- * Implements hook_menu().
- */
-function ddblock_menu() {
-
-  // add ddblock
-  $items['admin/structure/ddblock'] = array(
-    'title' => 'Dynamic display block',
-    'description' => 'Manage dynamic display blocks.',
-    'page callback' => 'drupal_get_form',
-    'page arguments' => array('ddblock_block_add_form'),
-    'access arguments' => array('administer dynamic display blocks'),
-    'type' => MENU_NORMAL_ITEM,
-    'file' => 'ddblock.admin.inc',
-  );
-
-  // list tab in settings page.
-  $items['admin/structure/ddblock/list'] = array(
-    'title' => 'List',
-    'page arguments' => array('ddblock_block_add_form'),
-    'access arguments' => array('administer dynamic display blocks'),
-    'type' => MENU_DEFAULT_LOCAL_TASK,
-    'weight' => -10,
-  );
-
-  // Settings tab in settings page.
-  $items['admin/structure/ddblock/settings'] = array(
-    'title' => 'Settings',
-    'page arguments' => array('ddblock_settings_form'),
-    'access arguments' => array('administer dynamic display blocks'),
-    'type' => MENU_LOCAL_TASK,
-    'weight' => 10,
-    'file' => 'ddblock.admin.inc',
-  );
-
-  // Edit dynamic display block.
-  $items['admin/structure/ddblock/edit/%'] = array(
-    'title' => 'Edit dynamic display block',
-    'page callback' => 'drupal_get_form',
-    'page arguments' => array('ddblock_block_edit_form', 4),
-    'access arguments' => array('administer dynamic display blocks'),
-    'type' => MENU_CALLBACK,
-    'file' => 'ddblock.admin.inc',
-  );
-
-  // Delete dynamic display block or instance.
-  $items['admin/structure/ddblock/delete/%'] = array(
-    'title' => 'Delete dynamic display block',
-    'page callback' => 'drupal_get_form',
-    'page arguments' => array('ddblock_block_confirm_delete_form', 4),
-    'access arguments' => array('administer dynamic display blocks'),
-    'type' => MENU_CALLBACK,
-    'file' => 'ddblock.admin.inc',
-  );
-
-  // Add ddblock instance.
-  $items['admin/structure/ddblock/instances'] = array(
-    'title' => 'Instances',
-    'description' => 'Create and delete instances of blocks.',
-    'page callback' => 'ddblock_instances',
-    'access callback' => 'user_access',
-    'access arguments' => array('administer blocks'),
-    'type' => MENU_LOCAL_TASK,
-    'weight' => -1,
-  );
-
-  // Ahah update nodes to choose of content type.
-  $items['ddblock/js/select_nodes'] = array(
-    'page callback' => 'ddblock_select_nodes_js',
-    'access arguments' => array('access content'),
-    'type' => MENU_CALLBACK,
-  );
-
-  $items['ddblock_mapping/js/%'] = array(
-    'page callback' => 'ddblock_mapping_js',
-    'page arguments' => array(2),
-    'access arguments' => array('access content'),
-    'type ' => MENU_CALLBACK,
-  );
-
-  // Ahah update available template sizes of themes.
-  // This block defines the path to which the AHAH call points.
-  // The path relays the call to a specific AHAH callback function.
-  $items['ddblock/js'] = array(
-    'page callback' => 'ddblock_select_template_ahah', // the AHAH callback function
-    'access callback' => TRUE,
-    'type' => MENU_CALLBACK,
-  );
-
-  return $items;
-}
-
-/**
- * Implements hook_permission().
- */
-function ddblock_permission() {
-  return array(
-    'administer dynamic display blocks' => array(
-      'title' => t('administer dynamic display blocks'),
-      'description' => t('Allow users to administer dynamic display blocks'),
-    ),
-    'view dynamic display blocks' => array(
-      'title' => t('view dynamic display blocks'),
-      'description' => t('Allow users to view dynamic display blocks'),
-    ),
-  );
-}
-
-/**
- * Implements hook_block_info().
- */
-function ddblock_block_info() {
-  $blocks = ddblock_get_blocks(NULL);
-  $list = array();
-  foreach ($blocks as $block) {
-    $list[$block->delta] = array(
-      'info' => check_plain($block->title),
-      'cache' => DRUPAL_NO_CACHE);     // Don't cache blocks.
-  }
-
-  return $list;
-}
-
-/**
- * Implements hook_block_configure().
- */
-function ddblock_block_configure($delta = '') {
-  // if block is a ddblock instance invoke configure option of original block.
-  // with form_alter the ddblock settings are added.
-  $block = ddblock_get_blocks($delta);
-  if ($block->enabled == 1) {
-    $module = $block->module;
-    $delta_original = $block->delta_original;
-    return module_invoke($module, 'block_configure', $delta_original);
-  }
-
-  // if block is a ddblock invoke the block configure page.
-  return ddblock_block_configure_form($delta);
-}
-
-/**
- * Implements hook_block_save().
- */
-function ddblock_block_save($delta = '', $edit = array()) {
-  //all blocks are instances of ddblock.
-  $module = 'ddblock';
-  ddblock_set_configuration_settings($module, $delta, $edit);
-  $module = 'ddblock_cycle';
-  ddblock_set_cycle_configuration_settings($module, $delta, $edit);
-  if ($edit['input_type'] == 'instance' ) {
-    $module = 'ddblock_cycle';
-    ddblock_set_cycle_mapping_settings($module, $delta, $edit);
-  }
-}
-/**
- * Implements hook_block_view().
- */
-function ddblock_block_view($delta = '') {
-  $block = array();
-
-  //all blocks are instances of ddblock.
-  $module = 'ddblock';
-
-  if (user_access('view dynamic display blocks')) {
-    $block['subject'] = ddblock_subject($module, $delta);
-    $block['content'] = ddblock_content($module, $delta);
-
-    if (!empty($block['content'])) {
-      return $block;
-    }
-  }
-  return;
-}
-
-/**
- * Return all or one dynamic display block.
- *
- * @param $delta
- *   Optional. Retreive a single block based on this delta. If none specified,
- *   all blocks are returned.
- * @param $reset
- *   Optional. Boolean value to reset the interal cache of this function.
- * @return
- *   array of dynamic display blocks.
- */
-function ddblock_get_blocks($delta = NULL, $reset = FALSE) {
-  static $blocks;
-
-  if (!isset($blocks) || $reset) {
-    $blocks = array();
-
-    $sql = "SELECT * " .
-           "FROM {ddblock_block}";
-    $results = db_query($sql);
-
-    while ($block = $results->fetchObject()) {
-      $blocks[$block->delta] = $block;
-    }
-  }
-
-  return is_numeric($delta) ? $blocks[$delta] : $blocks;
-}
-
-/**
- * Block configuration page of dynamic display block blocks added to standard block configuration page.
- *
- * @param $delta
- *   Blocknumber of the block.
- *
- * @return
- *   form with configuration settings.
- */
-function ddblock_block_configure_form($delta) {
-
-  // get configuration settings
-  foreach (ddblock_get_configuration_settings('ddblock', $delta)->settings() as $key => $value) {
-    ${$key} = $value;
-  }
-  // get configuration settings
-  foreach (ddblock_get_cycle_configuration_settings('ddblock_cycle', $delta)->settings() as $key => $value) {
-    ${$key} = $value;
-  }
-
-  // get module path to dynamic display block module
-  $ddblock_path = drupal_get_path('module', 'ddblock');
-  // add ddblock js file
-  drupal_add_js($ddblock_path . '/js/ddblock.admin.js');
-
-  // Need this for AJAX.
-  $form['#cache'] = TRUE;
-
-  // show warning that cycle plugin is not installed.
-  $cycle_path = libraries_get_path('jquery.cycle');
-  if (empty($cycle_path) || !(file_exists($cycle_path . '/jquery.cycle.all.min.js') || file_exists($cycle_path . '/jquery.cycle.all.js'))) {
-    $form['no_cycle_js'] = array(
-      '#type' => 'item',
-      '#title' => 'Cycle plugin',
-      '#markup' => '<div style="color: red">' . t('You need to install the jQuery cycle plugin.<br /> 
-      Create a directory in sites/all/libraries called jquery.cycle, and then copy jquery.cycle.all.js or jquery.cycle.all.min.js into it.<br /> 
-      Latest version tested: 2.99<br />
-      You can find the plugin at !url.', array('!url' => l('http://malsup.com/jquery/cycle/download.html', 'http://malsup.com/jquery/cycle/download.html', array('attributes' => array('target' => '_blank'))))) . '</div>',
-      '#prefix' => '<div id="ddblock-no-cycle-js">',
-      '#suffix' => '</div>',
-      '#weight' => -11,
-    );
-  }
-
-  // content settings: what to use as content for the dynamic display block.
-  $form['content'] = array(
-    '#type' => 'fieldset',
-    '#collapsible' => TRUE,
-    '#title' => t('Content settings'),
-    '#prefix' => '<div id="ddblock-content-settings">',
-    '#suffix' => '</div>',
-    '#weight' => -1,
-  );
-
-  // input type settings
-  $options = array(
-    'images' => t('Image folder'),
-    'nodes' => t('Content type'),
-  );
-  $form['content']['input_type'] = array(
-    '#type' => 'select',
-    '#title' => t('Input type'),
-    '#default_value' => $input_type,
-    '#options' => $options,
-    '#multiple' => FALSE,
-    '#required' => TRUE,
-    '#description' => t("Input of the dynamic display block."),
-    '#weight' => -7,
-  );
-
-  // image folder settings.
-  $form['content']['image_folder'] = array(
-    '#type' => 'fieldset',
-    '#collapsible' => TRUE,
-    '#title' => t('Image folder settings'),
-    '#prefix' => '<div id="ddblock-image-folder-settings-wrapper">',
-    '#suffix' => '</div>',
-    '#weight' => -6,
-  );
-
-  $form['content']['image_folder']['folder'] = array(
-    '#type' => 'textfield',
-    '#title' => t('Image Folder'),
-    '#default_value' => $folder,
-    '#size' => 25,
-    '#maxlength' => 100,
-    '#required' => FALSE,
-    '#description' => t("The folder containing image files to be used as the content of dynamic display block. The folder is relative to the drupal files path in admin > settings > file-system. e.g. <strong>images/ddblock</strong>."),
-  );
-
-  $form['content']['image_folder']['ignore_files'] = array(
-    '#type' => 'textfield',
-    '#title' => t('Ignore files'),
-    '#default_value' => $ignore_files,
-    '#required' => FALSE,
-    '#description' => t("Ignore these files to be shown. e.g. ignore file with _thumbnail, _preview in the file_name.<br />
-      You can use a comma seprated list"),
-  );
-
-  $form['content']['image_folder']['max_image'] = array(
-    '#type' => 'textfield',
-    '#title' => t('Number of images'),
-    '#default_value' => $max_image,
-    '#required' => FALSE,
-    '#description' => t("The number of images to show in the block."),
-  );
-
-  // content type settings.
-  $form['content']['content_types'] = array(
-    '#type' => 'fieldset',
-    '#collapsible' => TRUE,
-    '#title' => t('Content type settings'),
-    '#prefix' => '<div id="ddblock-content-types-settings-wrapper">',
-    '#suffix' => '</div>',
-    '#weight' => -5,
-  );
-
-  // get possible content types from settings.
-  $node_types = variable_get('ddblock_node_type', array());
-  foreach ($node_types as $key => $value ) {
-    if ($value) {
-      $content_types[$key] = $value;
-    }
-  }
-
-  // add a none option to the content types to choose from.
-  $content_types['none'] = t("None");
-
-  $form['content']['content_types']['content_type'] = array(
-    '#type' => 'select',
-    '#title' => t('Content Type'),
-    '#default_value' => $content_type,
-    '#options' => $content_types,
-    '#description' => t("The nodes of the content type to be used as content of dynamic display block.<br />Only content types enabled in the settings tab of the ddblock module will show up here."),
-    '#attributes' => array('class' => array('content-type-select')),
-    '#ahah' => array(
-      'path' => 'ddblock/js/select_nodes',
-      'wrapper' => 'select-nodes-wrapper',
-      'effect' => 'slide',
-    ),
-  );
-
-  ddblock_select_nodes_form($form, $content_type, $nodes);
-
-  $options = array(
-    'body' => t('Body'),
-    'teaser' => t('Teaser'),
-  );
-  $form['content']['content_types']['node_body_teaser'] = array(
-    '#type' => 'radios',
-    '#title' => t('Node content'),
-    '#default_value' => $node_body_teaser,
-    '#options' => $options,
-    '#multiple' => FALSE,
-    '#required' => TRUE,
-    '#description' => t("Show node body or teaser"),
-  );
-
-
-  // get image style options
-  $image_style_options = image_style_options(FALSE);
-  // if image styles exist make it possible to use image styles
-  if (is_array($image_style_options)) {
-    $image_style_options['none'] = 'None';
-    $image_style_slide_desc = t("Style options to use for slide image");
-    $image_style_pager_item_desc = t("Style options to use for pager-item image. Only for themes that use an image in the pager");
-
-    // Image style toggle
-    $form['block_settings']['image_style_toggle'] = array(
-      '#type' => 'checkbox',
-      '#title' => t('Use image styles'),
-      '#default_value' => $image_style_toggle,
-      '#required' => FALSE,
-      '#description' => t("Use image styles for images"),
-      '#weight' => -5,
-    );
-
-    // Image style settings.
-    $extra = (empty($image_style_toggle)) ? ' style="display:none"' : '';
-    $form['block_settings']['image_style'] = array(
-      '#type' => 'fieldset',
-      '#collapsible' => TRUE,
-      '#title' => t('Image styles settings'),
-      '#prefix' => '<div id="ddblock-image-style-settings-wrapper"' . $extra . '>',
-      '#suffix' => '</div>',
-      '#weight' => -4,
-    );
-
-    $form['block_settings']['image_style']['image_style_slide'] = array(
-      '#type' => 'select',
-      '#title' => t('Image style slide image'),
-      '#default_value' => $image_style_slide,
-      '#options' => $image_style_options,
-      '#multiple' => FALSE,
-      '#required' => FALSE,
-      '#description' => $image_style_slide_desc,
-      '#weight' => 1,
-    );
-
-    $form['block_settings']['image_style']['image_style_pager_item'] = array(
-      '#type' => 'select',
-      '#title' => t('Image style pager-item image'),
-      '#default_value' => $image_style_pager_item,
-      '#options' => $image_style_options,
-      '#multiple' => FALSE,
-      '#required' => FALSE,
-      '#description' => $image_style_pager_item_desc,
-      '#weight' => 2,
-    );
-  }
-
-  // content container settings.
-  $form['content']['content_container'] = array(
-    '#type' => 'fieldset',
-    '#collapsible' => TRUE,
-    '#title' => t('Content container settings'),
-    '#weight' => -4,
-  );
-
-  $form['content']['content_container']['container_basic'] = array(
-    '#type' => 'textfield',
-    '#title' => t('Content container'),
-    '#default_value' => $container_basic,
-    '#required' => FALSE,
-    '#description' => t("Container of the content to show, eg. div.slide, to show the content of slides."),
-  );
-
-  $form['content']['content_container']['overflow'] = array(
-    '#type' => 'checkbox',
-    '#title' => t('Overflow hidden'),
-    '#default_value' => $overflow,
-    '#required' => FALSE,
-    '#description' => t("Hide the overflow of the container"),
-  );
-
-  $form['content']['content_container']['height'] = array(
-    '#type' => 'textfield',
-    '#title' => t('Height'),
-    '#default_value' => $height,
-    '#required' => FALSE,
-    '#description' => t("Height of the content to show.<br /> This value is often higher as the image height"),
-  );
-
-  $form['content']['content_container']['width'] = array(
-    '#type' => 'textfield',
-    '#title' => t('Width'),
-    '#default_value' => $width,
-    '#required' => FALSE,
-    '#description' => t("Width of the content to show.<br />This value is often higher as the image widht"),
-  );
-
-  // Image settings.
-  $form['content']['images'] = array(
-    '#type' => 'fieldset',
-    '#collapsible' => TRUE,
-    '#title' => t('Image settings'),
-    '#description' => t('Set to 0 (zero) for both the height and the width to be able to use the original image size or image styles.<br />To show all the images the height and width of the content container must be bigger that the biggest image.'),
-    '#weight' => -3,
-  );
-  $form['content']['images']['image_height'] = array(
-    '#type' => 'textfield',
-    '#title' => t('Height'),
-    '#default_value' => $image_height,
-    '#required' => FALSE,
-    '#description' => t("Height of the image to show"),
-  );
-
-  $form['content']['images']['image_width'] = array(
-    '#type' => 'textfield',
-    '#title' => t('Width'),
-    '#default_value' => $image_width,
-    '#required' => FALSE,
-    '#description' => t("Width of the image to show"),
-  );
-
-  //wrapper for ddblock block settings
-  $form['block_settings']['#prefix'] = '<div id="ddblock-block-settings">';
-  $form['block_settings']['#suffix'] = '</div>';
-
-  $form['block_settings']['settings'] = array(
-    '#type' => 'fieldset',
-    '#collapsible' => TRUE,
-    '#title' => t('Settings'),
-    '#weight' => 11,
-  );
-
-  // transition effect settings
-  $options = _ddblock_get_effects();
-  $form['block_settings']['settings']['fx'] = array(
-    '#type' => 'select',
-    '#title' => t('Transition Effect'),
-    '#default_value' => $fx,
-    '#options' => $options,
-    '#multiple' => FALSE,
-    '#required' => TRUE,
-    '#description' => t("The transition effect between content.<br />(all for random effect per slide, none for no effect)<br />Multiple effects can be set in the Custom jQuery Cycle Plugin Settings."),
-  );
-
-  // speed settings
-  $options = drupal_map_assoc(array(0, 250, 500, 1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000, 15000, 20000));
-
-  $form['block_settings']['settings']['speed'] = array(
-    '#type' => 'select',
-    '#title' => t('Speed'),
-    '#default_value' => $speed,
-    '#options' => $options,
-    '#required' => TRUE,
-    '#description' => t("Speed of the transitions (1000 = 1 second, 0 = direct)."),
-  );
-
-  // timeout settings
-  $options = drupal_map_assoc(array(0, 250, 500, 1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000, 15000, 20000, 30000));
-  $form['block_settings']['settings']['timeout'] = array(
-    '#type' => 'select',
-    '#title' => t('Timeout'),
-    '#default_value' => $timeout,
-    '#options' => $options,
-    '#required' => TRUE,
-    '#description' => t("The time (in milliseconds) between transitions (1000 = 1 second, 0 to disable auto advance)."),
-  );
-
-  // order settings
-  $options = array(
-    'none' => t('None'),
-    'asc' => t('Ascending'),
-    'desc' => t('Descending'),
-  );
-  $form['block_settings']['settings']['order'] = array(
-    '#type' => 'radios',
-    '#title' => t('Sort Order'),
-    '#default_value' => $order,
-    '#options' => $options,
-    '#multiple' => FALSE,
-    '#required' => TRUE,
-    '#description' => t("The display order of the content. None for using the original content order."),
-  );
-
-  // pause settings
-  $form['block_settings']['settings']['pause'] = array(
-    '#type' => 'checkbox',
-    '#title' => t('Pause'),
-    '#default_value' => $pause,
-    '#description' => t("Enable users to pause the cycle by hovering on the content."),
-  );
-
-  // next settings
-  $form['block_settings']['settings']['next'] = array(
-    '#type' => 'checkbox',
-    '#title' => t('Next'),
-    '#default_value' => $next,
-    '#description' => t("Enable users to advanced to the next content by clicking on the content."),
-  );
-
-  // pager settings
-  $form['block_settings']['settings']['pager_toggle'] = array(
-    '#type' => 'checkbox',
-    '#title' => t('Use Pager'),
-    '#default_value' => $pager_toggle,
-    '#required' => FALSE,
-    '#description' => t("Use a pager to select slides"),
-  );
-
-  // show fields when using pager
-  $extra = (empty($pager_toggle)) ? ' style="display:none"' : '';
-  $form['block_settings']['settings']['pager_settings'] = array(
-    '#type' => 'fieldset',
-    '#collapsible' => TRUE,
-    '#collapsed' => FALSE,
-    '#prefix' => '<div id="ddblock-pager-settings-wrapper"' . $extra . '>',
-    '#suffix' => '</div>',
-    '#title' => t('Pager settings'),
-  );
-
-  $options = array(
-      'number-pager' => t('Number pager'),
-      'prev-next-pager' => t('Prev next pager'),
-      'image-pager' => t('Image pager'),
-  );
-
-  $form['block_settings']['settings']['pager_settings']['pager'] = array(
-    '#type' => 'select',
-    '#title' => t('Pager'),
-    '#default_value' => $pager,
-    '#options' => $options,
-    '#required' => TRUE,
-    '#description' => t("Add a pager to the block."),
-  );
-
-  $options = array(
-    'click' => t('Click'),
-    'mouseover' => t('Mouseover'),
-  );
-
-  $form['block_settings']['settings']['pager_settings']['pager_event'] = array(
-    '#type' => 'select',
-    '#title' => t('Pager event'),
-    '#default_value' => $pager_event,
-    '#options' => $options,
-    '#required' => FALSE,
-    '#description' => t("The event on which the pager reacts."),
-  );
-
-  $form['block_settings']['settings']['pager_settings']['pager_height'] = array(
-    '#type' => 'textfield',
-    '#title' => t('Height'),
-    '#default_value' => $pager_height,
-    '#required' => FALSE,
-    '#description' => t("Height of the pager"),
-  );
-
-  $form['block_settings']['settings']['pager_settings']['pager_width'] = array(
-    '#type' => 'textfield',
-    '#title' => t('Width'),
-    '#default_value' => $pager_width,
-    '#required' => FALSE,
-    '#description' => t("Width of the pager"),
-  );
-  $form['block_settings']['settings']['pager_settings']['pager_fast'] = array(
-    '#type' => 'checkbox',
-    '#title' => t('Fast Pager'),
-    '#default_value' => $pager_fast,
-    '#required' => FALSE,
-    '#description' => t("Use fast pager event when clicked or hovered."),
-  );
-
-  $form['block_settings']['settings']['pager_settings']['pager_pause'] = array(
-    '#type' => 'checkbox',
-    '#title' => t('Pager pause'),
-    '#default_value' => $pager_pause,
-    '#required' => FALSE,
-    '#description' => t("Pause the slideshow when pager hovered."),
-  );
-
-   // prev/next pager settings.
-  $form['block_settings']['settings']['pager2'] = array(
-   '#type' => 'checkbox',
-   '#title' => t('Prev/Next Pager'),
-   '#default_value' => $pager2,
-   '#required' => FALSE,
-   '#description' => t("Add a previous/next pager."),
-   );
-
-   // show fields when using pager
-   $extra = (empty($pager2)) ? ' style="display:none"' : '';
-   $form['block_settings']['settings']['pager2_settings'] = array(
-   '#type' => 'fieldset',
-   '#collapsible' => TRUE,
-   '#collapsed' => FALSE,
-   '#prefix' => '<div id="ddblock-pager2-settings-wrapper"' . $extra . '>',
-   '#suffix' => '</div>',
-   '#title' => t('Prev/next pager settings'),
-   );
-
-   $options = array(
-   'click' => t('Click'),
-   'mouseover' => t('Mouseover'),
-   );
-
-   $form['block_settings']['settings']['pager2_settings']['pager2_event'] = array(
-   '#type' => 'select',
-   '#title' => t('Pager event'),
-   '#default_value' => $pager2_event,
-   '#options' => $options,
-   '#required' => FALSE,
-   '#description' => t("The event on which the prev/next pager reacts."),
-   );
-
-   $form['block_settings']['settings']['pager2_settings']['pager2_slide_prev'] = array(
-   '#type' => 'textfield',
-   '#title' => t('Prev text on slide'),
-   '#default_value' => $pager2_slide_prev,
-   '#size' => 30,
-   '#required' => FALSE,
-   '#description' => t("Caption for the prev pager on the slide.<br />Can also be empty if you use a background image to go to the previous slide."),
-   );
-
-   $form['block_settings']['settings']['pager2_settings']['pager2_slide_next'] = array(
-   '#type' => 'textfield',
-   '#title' => t('Next text on slide'),
-   '#default_value' => $pager2_slide_next,
-   '#size' => 30,
-   '#required' => FALSE,
-   '#description' => t("Caption for the next pager on the slide.<br />Can also be empty if you use a background image to go to the next slide."),
-   );
-
-   // hide prev/next pager when no prev/next slide available
-   $form['block_settings']['settings']['pager2_settings']['pager2_slide']['pager2_slide_hide'] = array(
-   '#type' => 'checkbox',
-   '#title' => t('Prev/Next Hide'),
-   '#default_value' => $pager2_slide_hide,
-   '#required' => FALSE,
-   '#description' => t("Hide Prev/Next Pager when no slide available."),
-   );
-
-  // custom jcycle plugin settings
-  // collapsed or not collapsed depending on value for custom settings.
-  if ($custom_jquery) {
-    $collapsed = FALSE;
-  }
-  else {
-    $collapsed = TRUE;
-  }
-
-  $form['block_settings']['settings']['custom'] = array(
-    '#type' => 'fieldset',
-    '#collapsible' => TRUE,
-    '#collapsed' => $collapsed,
-    '#title' => t('Custom jQuery Cycle Plugin Settings'),
-    '#weight' => 1,
-    '#description' => t('If you use custom jQuery options, they will override your other settings.'),
-  );
-
-  $form['block_settings']['settings']['custom']['custom_jquery'] = array(
-    '#type' => 'textarea',
-    '#title' => t('Custom Options'),
-    '#default_value' => $custom_jquery,
-    '#cols' => 60,
-    '#rows' => 10,
-    '#required' => FALSE,
-    '#description' => t('Use valid JSON syntax, with double quotes for key/and string value pairs.<br />The total script needs to be enclosed in curly brackets.<br />No comma allowed after the last statement like in an array.<br />e.g.<br />{"fx":"fade",<br />"startingSlide":2,<br />"autostop":1}'),
-  );
-
-  $form_state['redirect'] = 'admin/structure/ddblock/list';
-
-  return $form;
-}
-
-/**
- * Build the node selection form element.
- *
- * This function is also called when generating a new set of options during the
- * AJAX callback, so an array is returned that can be used to replace an existing
- * form element.
- *
- * @param $form
- *   form to add elements to.
- * @param $content_type
- *   selected content type.
- * @param $nodes
- *   Existing nodes added to the block.
- *
- * @return
- *   form fields.
- */
-function ddblock_select_nodes_form(&$form, $content_type, $nodes) {
-  // Wrapper for nodes select box.
-  $form['content']['content_types']['select_nodes'] = array(
-    '#type' => 'hidden',
-    '#value' => -1,
-    '#prefix' => '<div id="select-nodes-wrapper">',
-  );
-  // no content type selected (show text 'No content type selected').
-  if ($content_type == 'none') {
-    $form['content']['content_types']['select_nodes']['#prefix'] .= '<em>' . t('No content type selected.') . '</em>';
-    $form['content']['content_types']['select_nodes']['#suffix'] = '</div>';
-
-    unset($form['content']['content_types']['nodes']);
-
-  }
-  // add select box to select a node.
-  else {
-    if (user_access('administer dynamic display blocks')) {
-
-      // get all nodes of a content type which are not added yet to the block.
-      $options = _ddblock_get_content_type_nodes($content_type);
-      $form['content']['content_types']['nodes'] = array(
-        '#type' => 'select',
-        '#title' => t('Node'),
-        '#default_value' => $nodes,
-        '#description' => t('The node to show in the Dynamic display block'),
-        '#options' => $options,
-        '#attributes' => array('class' => array('content-type-select')),
-        '#suffix' => '</div>',
-      );
-    }
-  }
-
-  return $form;
-}
-
-/**
- * Implements hook_form_alter().
- *
- * Used to add dynamic display block configuration settings to dynamic display block instances.
- */
-function ddblock_form_alter(&$form, &$form_state, $form_id) {
-  $module = arg(4);
-  $delta = arg(5);
-
-  if ((isset($delta) && ($module == 'ddblock'))
-     && (user_access('administer dynamic display blocks'))
-     && (user_access('administer blocks'))
-     && ($form_id == 'block_admin_configure')) {
-
-    // get original block_settings.
-    $block = ddblock_get_blocks($delta);
-    $module_original = $block->module;
-    $delta_original = $block->delta_original;
-
-    // check if module enabled in the dynamic display block settings.
-    $block_enabled = FALSE;
-    $blocks = ddblock_get_ddblock_enabled_module_blocks();
-    foreach ($blocks as $block) {
-      if (($block['module'] == $module_original) && ($block['delta'] == $delta_original)) {
-        $block_enabled = TRUE;
-      }
-    }
-    if ($block_enabled) {
-       if ($module_original == 'views') {
-         // block.module has a delta length limit of 32, but deltas in the views module can
-         // be longer because view names can be 32 and display IDs can also be 32.
-         // So for very long deltas, md5 hashes are used.
-         if (strlen($delta_original) == 32) {
-           $hashes = variable_get('views_block_hashes', array());
-           if (!empty($hashes[$delta_original])) {
-             $delta_original = $hashes[$delta_original];
-           }
-         }
-         list($view_name, $display_id) = explode('-', $delta_original);
-         // Load the view
-         if ($view = views_get_view($view_name)) {
-           if ($view->access($display_id)) {
-              // get the possible source fields form the view
-             $source_fields = array('none' => t('--None--'));
-             $display = $view->display[$display_id];
-
-             foreach ($display->handler->get_handlers('field') as $field => $handler) {
-               $format = isset($handler->options['format']) ? ' - ' . $handler->options['format'] : '';
-               if ($label = $handler->label()) {
-                 $source_fields[$field] = $label . $format;
-               }
-               else {
-                 $source_fields[$field] = $handler->ui_name() . $format;
-               }
-             }
-           }
-         }
-       }
-
-      // get module path to dynamic display block module
-      $ddblock_path = drupal_get_path('module', 'ddblock');
-      // add ddblock js file
-      drupal_add_js($ddblock_path . '/js/ddblock.admin.js');
-      drupal_add_js($ddblock_path . '/js/jquery.selectboxes.js');
-
-      // get configuration settings
-      foreach (ddblock_get_configuration_settings('ddblock', $delta)->settings() as $key => $value) {
-        ${$key} = $value;
-      }
-      // get cycle configuration settings
-      foreach (ddblock_get_cycle_configuration_settings('ddblock_cycle', $delta)->settings() as $key => $value) {
-        ${$key} = $value;
-      }
-      // get cycle mapping settings
-      foreach (ddblock_get_cycle_mapping_settings('ddblock_cycle', $delta)->settings() as $key => $value) {
-        ${$key} = $value;
-        $mappings[$key]['target'] = $value['target'];
-        $mappings[$key]['source'] = $value['source'];
-      }
-
-      // set pager variable for javascript
-      $settings['ddblockCustomTemplate'] = array(
-        'pager' => $pager,
-        'pagerPosition' => $pager_position,
-      );
-
-      drupal_add_js($settings, array('type' => 'setting', 'scope' => JS_DEFAULT));
-
-      // hide fields when using advanced settings
-      $extra = (!empty($advanced)) ? ' style="display:none"' : '';
-
-      // show warning that cycle plugin is not installed.
-      $cycle_path = libraries_get_path('jquery.cycle');
-      if (empty($cycle_path) || !(file_exists($cycle_path . '/jquery.cycle.all.min.js') || file_exists($cycle_path . '/jquery.cycle.all.js'))) {
-        $form['no_cycle_js'] = array(
-          '#type' => 'item',
-          '#title' => 'Cycle plugin',
-          '#markup' => '<div style="color: red">' . t('You need to install the jQuery cycle plugin.<br /> 
-           Create a directory in sites/all/libraries called jquery.cycle, and then copy jquery.cycle.all.js or jquery.cycle.all.min.js into it.<br /> 
-           Latest version tested: 2.99<br />
-           You can find the plugin at !url.', array('!url' => l('http://malsup.com/jquery/cycle/download.html', 'http://malsup.com/jquery/cycle/download.html', array('attributes' => array('target' => '_blank'))))) . '</div>',
-           '#prefix' => '<div id="ddblock-no-cycle-js">',
-           '#suffix' => '</div>',
-           '#weight' => -16,
-        );
-      }
-      $form['module'] = array(
-        '#type' => 'hidden',
-        '#value' => $module,
-      );
-      $form['delta'] = array(
-        '#type' => 'value',
-        '#value' => $delta,
-      );
-      $form['input_type'] = array(
-        '#type' => 'hidden',
-        '#value' => 'instance',
-      );
-
-      $form['#attached']['css'] = array(
-        drupal_get_path('module', 'ddblock') . '/css/ddblock_instance_admin.css',
-      );
-
-      // widget setting: Enable the dynamic display block setting for this block.
-      $options = array(
-        'default' => t('Default'),
-        'cycle' => t('Cycleblock'),
-      );
-
-      //wrapper for ddblock instance settings
-      $form['block_settings']['#prefix'] = '<div id="ddblock-instance-settings">';
-      $form['block_settings']['#suffix'] = '</div>';
-
-      $form['block_settings']['widget'] = array(
-        '#type' => 'radios',
-        '#title' => t('Display Method'),
-        '#default_value' => $widget,
-        '#options' => $options,
-        '#required' => TRUE,
-        '#description' => t("Choose a way to display content."),
-        '#weight' => -12,
-      );
-
-      // advanced settings togg;e
-      $form['block_settings']['advanced'] = array(
-        '#type' => 'checkbox',
-        '#title' => t('Use advanced settings'),
-        '#default_value' => $advanced,
-        '#required' => FALSE,
-        '#description' => t("Use Custom templates and CSS (more flexible)"),
-        '#weight' => -11,
-      );
-
-      // select themes from [Theme_name]/custom/modules/ddblock
-      $path_to_themes =  _ddblock_get_theme_path() . '/custom/modules/ddblock';
-
-      $dirs = _ddblock_dir_scan_directory($path_to_themes, '');
-
-      $options = array();
-      if (!empty($dirs)) {
-        asort($dirs);
-        foreach ($dirs as $dir) {
-          $options[$dir] = $dir;
-        }
-      }
-
-      $form['block_settings']['template'] = array(
-        '#type' => 'select',
-        '#title' => t('Slideshow theme layout'),
-        '#default_value' => $template,
-        '#options' => $options,
-        '#multiple' => FALSE,
-        '#required' => FALSE,
-        '#prefix' => '<div id="ddblock-template-wrapper">',
-        '#suffix' => '</div>',
-        '#description' => t("Available slideshow themes are automatically detected form the folder custom/modules/ddblock.<br />
-        A slideshow themes can only contain letters and numbers, no underscores and hyphens, etc.<br />
-        The .tpl.php file used will become:ddblock-cycle-block-content--[THEMENAME].tpl.php"),
-        '#weight' => -10,
-      );
-
-      if (isset($form_state['values'])) {
-        $form_state_values = $form_state['values'];
-      }
-
-      $template = (isset($form_state_values['block_settings']['template'])) ? $form_state_values['block_settings']['template'] : $template;
-
-      $template_sizes = _ddblock_get_template_size($template);
-
-      // Since a #select element can't have it's own #submit handler, we have to create an extra
-      // submit button to which we attach the correct callback function that's going to be called on a change
-      // We'll hide this with '#access' => FALSE.
-      $form['block_settings']['template_submit'] = array(
-        '#type' => 'submit',
-        '#value' => t('get template sizes'),
-        '#submit' => array('ddblock_options_form_submit'),
-        '#weight' => -8,
-//  '#access'=> FALSE, // hide the button
-        '#description' => t('Get the possible themesizes after selecting a theme'),
-      );
-
-      // We define a <div> wrapper that contains the select box that needs to be refilled with data
-      $form['block_settings']['template_size_wrapper'] = array(
-        '#prefix' => '<div id="select-template-size-wrapper">',
-        '#suffix' => '</div>',
-        '#weight' => -9,
-      );
-
-      // This is the actual select that needs to be refreshed depending on what happens in the 'template' select
-      $form['block_settings']['template_size_wrapper']['template_size'] = array(
-        '#type' => 'select',
-        '#title' => t('Template size'),
-        '#options' => $template_sizes,
-        '#default_value' =>  $template_size,
-        '#description' => t('The slideshow template_size css file to use'),
-//        '#attributes' => array('class' => 'template-size-select'),
-        '#prefix' => '<div id="select-template-size">',
-        '#suffix' => '</div>',
-      );
-
-
-      // Wrapper in which to place both the mapped fields and the 'add mapping' form.
-      $form['block_settings']['mapping_wrapper'] = array(
-        '#weight' => -7,
-        '#prefix' => '<div class="clear-block" id="ddblock-mapping-wrapper">',
-        '#suffix' => '</div>',
-      );
-
-      $form['block_settings']['mapping_wrapper']['helptext'] = array(
-        '#type' => 'item',
-        '#title' => t('Field mappings'),
-        '#description' => t('In this part you map available fields to ddblock theme fields.<br />The ddblock theme fields are the target.<br />Source fields are fields available from your view.'),
-      );
-
-      $form['block_settings']['mapping_wrapper']['headingtable'] = array(
-        '#type' => 'item',
-        '#title' => t('Target&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Source'),
-     );
-
-      // Wrapper to display existing mappingss.
-      $form['block_settings']['mapping_wrapper']['mappings'] = array(
-        '#prefix' => '<div id="ddblock-mappings">',
-        '#suffix' => '</div>',
-//        '#theme' => 'ddblock_mappings_table',
-      );
-
-      // Get number of mappings.
-      $options = array();
-      $mapping_count = empty($mappings) ? 0 : count($mappings);
-      // Add the existing mappings to the form.
-      for ($delta = 0; $delta < $mapping_count; $delta++) {
-        $target = isset($mappings[$delta]['target']) ? $mappings[$delta]['target'] : '';
-        $source = isset($mappings[$delta]['source']) ? $mappings[$delta]['source'] : '';
-        // Display existing mappings using helper function ddblock_mapping_display_form().
-        $form['block_settings']['mapping_wrapper']['mappings'][$delta] = ddblock_mapping_display_form($delta, $target, $source, $source_fields);
-      }
-
-      if ($widget == 'default') {
-        $collapsed = TRUE;
-      }
-      else {
-        $collapsed = FALSE;
-      }
-
-      // content settings: what to use as content for the dynamic display block.
-      $form['block_settings']['settings'] = array(
-        '#type' => 'fieldset',
-        '#collapsible' => TRUE,
-        '#collapsed' => $collapsed,
-        '#title' => t('Dynamic display block settings'),
-        '#weight' => 1,
-      );
-
-      // content container settings.
-      $form['block_settings']['content_container'] = array(
-        '#type' => 'fieldset',
-        '#collapsible' => TRUE,
-        '#collapsed' => FALSE,
-        '#title' => t('Content container settings'),
-        '#weight' => -3,
-      );
-
-      $form['block_settings']['content_container']['container_advanced'] = array(
-        '#type' => 'textfield',
-        '#title' => t('Content container'),
-        '#default_value' => $container_advanced,
-        '#required' => FALSE,
-        '#size' => 30,
-        '#description' => t("Container of the content to slide, eg. CSS selector img, to show images.<br />This can be any CSS selector containing a slide. e.g div.slide"),
-      );
-
-      $form['block_settings']['content_container']['overflow'] = array(
-        '#type' => 'checkbox',
-        '#title' => t('Overflow hidden'),
-        '#default_value' => $overflow,
-        '#prefix' => '<div id="ddblock-advanced-content-container-overflow-wrapper"' . $extra . '>',
-        '#suffix' => '</div>',
-        '#required' => FALSE,
-        '#description' => t("Hide the overflow of the container"),
-      );
-
-      $form['block_settings']['content_container']['height'] = array(
-        '#type' => 'textfield',
-        '#title' => t('Container height'),
-        '#default_value' => $height,
-        '#prefix' => '<div id="ddblock-advanced-content-container-height-wrapper"' . $extra . '>',
-        '#suffix' => '</div>',
-        '#required' => FALSE,
-        '#description' => t("Height of the content to show"),
-      );
-
-      $form['block_settings']['content_container']['width'] = array(
-        '#type' => 'textfield',
-        '#title' => t('Container width'),
-        '#default_value' => $width,
-        '#prefix' => '<div id="ddblock-advanced-content-container-width-wrapper"' . $extra . '>',
-        '#suffix' => '</div>',
-        '#required' => FALSE,
-        '#description' => t("Width of the content to show"),
-      );
-
-      // Image settings.
-      $form['block_settings']['images'] = array(
-        '#type' => 'fieldset',
-        '#collapsible' => TRUE,
-        '#title' => t('Image settings'),
-        '#prefix' => '<div id="ddblock-image-settings-wrapper"' . $extra . '>',
-        '#suffix' => '</div>',
-        '#weight' => -3,
-      );
-
-      $form['block_settings']['images']['image_height'] = array(
-        '#type' => 'textfield',
-        '#title' => t('Image height'),
-        '#default_value' => $image_height,
-        '#required' => FALSE,
-        '#description' => t("Height of the image to show"),
-      );
-
-      $form['block_settings']['images']['image_width'] = array(
-        '#type' => 'textfield',
-        '#title' => t('Image width'),
-        '#default_value' => $image_width,
-        '#required' => FALSE,
-        '#description' => t("Width of the image to show"),
-      );
-
-      $options = _ddblock_get_effects();
-      $form['block_settings']['settings']['fx'] = array(
-        '#type' => 'select',
-        '#title' => t('Transition Effect'),
-        '#default_value' => $fx,
-        '#options' => $options,
-        '#multiple' => FALSE,
-        '#required' => TRUE,
-        '#description' => t("The transition effect between content.<br />(all for random effect per slide, none for no effect)<br />Multiple effects can be set in the Custom jQuery Cycle Plugin Settings."),
-      );
-      $options = _ddblock_get_easing_effects();
-      $form['block_settings']['settings']['easing_out'] = array(
-        '#type' => 'select',
-        '#title' => t('Transition Effect'),
-        '#default_value' => $easing_out,
-        '#options' => $options,
-        '#multiple' => FALSE,
-        '#required' => TRUE,
-        '#description' => t("The easing effect of the previous slide.<br />For easing effect examples, see: <a href=\"http://jqueryui.com/demos/effect/easing.html\" target=\"_blank\">easing demos</a>"),
-      );
-      $form['block_settings']['settings']['easing_in'] = array(
-        '#type' => 'select',
-        '#title' => t('Transition Effect'),
-        '#default_value' => $easing_in,
-        '#options' => $options,
-        '#multiple' => FALSE,
-        '#required' => TRUE,
-        '#description' => t("The easing effect of the next slide.<br />For easing effect examples, see: <a href=\"http://jqueryui.com/demos/effect/easing.html\" target=\"_blank\">easing demos</a>"),
-      );
-
-      $options = drupal_map_assoc(array(0, 250, 500, 1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000, 15000, 20000));
-      $form['block_settings']['settings']['speed'] = array(
-        '#type' => 'select',
-        '#title' => t('Speed'),
-        '#default_value' => $speed,
-        '#options' => $options,
-        '#required' => TRUE,
-        '#description' => t("Speed of the transitions (1000 = 1 second, 0 = direct)."),
-      );
-
-      $options = drupal_map_assoc(array(0, 250, 500, 1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000, 15000, 20000, 30000));
-      $form['block_settings']['settings']['timeout'] = array(
-        '#type' => 'select',
-        '#title' => t('Timeout'),
-        '#default_value' => $timeout,
-        '#options' => $options,
-        '#required' => TRUE,
-        '#description' => t("The time (in milliseconds) between transitions (1000 = 1 second, 0 to disable auto advance)."),
-      );
-
-      $options = array(
-        'none' => t('None'),
-        'asc' => t('Ascending'),
-        'desc' => t('Descending'),
-        'random' => t('Random'),
-      );
-
-      $form['block_settings']['settings']['order'] = array(
-        '#type' => 'select',
-        '#title' => t('Sort Order'),
-        '#default_value' => $order,
-        '#options' => $options,
-        '#multiple' => FALSE,
-        '#required' => TRUE,
-        '#description' => t("The display order of the content. None for using the original content order."),
-      );
-
-      $form['block_settings']['settings']['pause'] = array(
-        '#type' => 'checkbox',
-        '#title' => t('Pause'),
-        '#default_value' => $pause,
-        '#description' => t("Enable users to pause the cycle by hovering on the content of the slideshow."),
-      );
-
-      $form['block_settings']['settings']['next'] = array(
-        '#type' => 'checkbox',
-        '#title' => t('Next'),
-        '#default_value' => $next,
-        '#description' => t("Enable users to advanced to the next content by clicking on the content.<br />
-                             Note: When readmore button is used, don't enable this option."),
-      );
-
-      $form['block_settings']['settings']['pager2'] = array(
-        '#type' => 'checkbox',
-        '#title' => t('Prev/Next Pager'),
-        '#default_value' => $pager2,
-        '#required' => FALSE,
-        '#description' => t("Add a previous/next pager."),
-      );
-
-      // pager settings.
-      // show fields when using pager
-      $extra = (empty($pager2)) ? ' style="display:none"' : '';
-      $form['block_settings']['settings']['pager2_settings'] = array(
-        '#type' => 'fieldset',
-        '#collapsible' => TRUE,
-        '#collapsed' => FALSE,
-        '#prefix' => '<div id="ddblock-pager2-settings-wrapper"' . $extra . '>',
-        '#suffix' => '</div>',
-        '#title' => t('Prev/next pager settings'),
-      );
-
-      $options = array(
-        'click' => t('Click'),
-        'mouseover' => t('Mouseover'),
-      );
-
-      $form['block_settings']['settings']['pager2_settings']['pager2_event'] = array(
-        '#type' => 'select',
-        '#title' => t('Pager event'),
-        '#default_value' => $pager2_event,
-        '#options' => $options,
-        '#required' => FALSE,
-        '#description' => t("The event on which the prev/next pager reacts."),
-      );
-
-      $form['block_settings']['settings']['pager2_settings']['pager2_slide_prev'] = array(
-        '#type' => 'textfield',
-        '#title' => t('Prev text on slide'),
-        '#default_value' => $pager2_slide_prev,
-        '#size' => 30,
-        '#required' => FALSE,
-        '#description' => t("Caption for the prev pager on the slide.<br />Can also be empty if you use a background image to go to the previous slide."),
-      );
-
-      $form['block_settings']['settings']['pager2_settings']['pager2_slide_next'] = array(
-        '#type' => 'textfield',
-        '#title' => t('Next text on slide'),
-        '#default_value' => $pager2_slide_next,
-        '#size' => 30,
-        '#required' => FALSE,
-        '#description' => t("Caption for the next pager on the slide.<br />Can also be empty if you use a background image to go to the next slide."),
-      );
-
-      // hide prev/next pager when no prev/next slide available
-      $form['block_settings']['settings']['pager2_settings']['pager2_slide']['pager2_slide_hide'] = array(
-        '#type' => 'checkbox',
-        '#title' => t('Prev/Next Hide'),
-        '#default_value' => $pager2_slide_hide,
-        '#required' => FALSE,
-        '#description' => t("Hide Prev/Next Pager when no slide available."),
-      );
-
-      // pager settings togg;e
-      $form['block_settings']['settings']['pager_toggle'] = array(
-        '#type' => 'checkbox',
-        '#title' => t('Use Pager'),
-        '#default_value' => $pager_toggle,
-        '#required' => FALSE,
-        '#description' => t("Use a pager to select slides"),
-      );
-
-      // pager settings.
-      //show fields when using pager
-      $extra = (empty($pager_toggle)) ? ' style="display:none"' : '';
-      $form['block_settings']['settings']['pager_settings'] = array(
-        '#type' => 'fieldset',
-        '#collapsible' => TRUE,
-        '#collapsed' => FALSE,
-        '#prefix' => '<div id="ddblock-pager-settings-wrapper"' . $extra . '>',
-        '#suffix' => '</div>',
-        '#title' => t('Pager settings'),
-      );
-
-      $options = array(
-        'none' => t('None'),
-        'number-pager' => t('Number pager'),
-        'prev-next-pager' => t('Prev next pager'),
-        'custom-pager' => t('Custom pager'),
-        'scrollable-pager' => t('Scrollable pager'),
-      );
-
-      $form['block_settings']['settings']['pager_settings']['pager'] = array(
-        '#type' => 'select',
-        '#title' => t('Pager'),
-        '#default_value' => $pager,
-        '#options' => $options,
-        '#required' => TRUE,
-        '#description' => t("Type of pager to add."),
-      );
-
-      $form['block_settings']['settings']['pager_settings']['pager_height'] = array(
-        '#type' => 'textfield',
-        '#title' => t('Height'),
-        '#default_value' => $pager_height,
-        '#prefix' => '<div id="ddblock-pager-height-wrapper"' . $extra . '>',
-        '#suffix' => '</div>',
-        '#required' => FALSE,
-        '#description' => t("Height of the pager"),
-      );
-
-      $form['block_settings']['settings']['pager_settings']['pager_width'] = array(
-        '#type' => 'textfield',
-        '#title' => t('Width'),
-        '#default_value' => $pager_width,
-        '#prefix' => '<div id="ddblock-pager-width-wrapper"' . $extra . '>',
-        '#suffix' => '</div>',
-        '#required' => FALSE,
-        '#description' => t("Width of the pager"),
-      );
-
-      $options = array(
-        'top' => t('Top'),
-        'right' => t('Right'),
-        'bottom' => t('Bottom'),
-        'left' => t('Left'),
-      );
-
-      //show fields when using advanced settings
-      $extra = (empty($advanced)) ? ' style="display:none"' : '';
-      // if the checkbox: Use advanced settings is not checked, hide the advanced settings
-      $form['block_settings']['settings']['pager_settings']['pager_position'] = array(
-        '#type' => 'select',
-        '#title' => t('Pager position'),
-        '#default_value' => $pager_position,
-        '#prefix' => '<div id="ddblock-pager-position-wrapper"' . $extra . '>',
-        '#suffix' => '</div>',
-        '#options' => $options,
-        '#required' => FALSE,
-        '#description' => t("Possible position for the pager.<br />The position must be supported by the template used to be effective."),
-        );
-
-      $options = array(
-        'click' => t('Click'),
-        'mouseover' => t('Mouseover'),
-      );
-      //show fields when using advanced settings
-      $extra = (empty($advanced)) ? ' style="display:none"' : '';
-      // if the checkbox: Use advanced settings is not checked, hide the advanced settings
-      $form['block_settings']['settings']['pager_settings']['pager_event'] = array(
-        '#type' => 'select',
-        '#title' => t('Pager event'),
-        '#default_value' => $pager_event,
-        '#prefix' => '<div id="ddblock-pager-event-wrapper"' . $extra . '>',
-        '#suffix' => '</div>',
-        '#options' => $options,
-        '#required' => FALSE,
-        '#description' => t("The event on which the pager reacts."),
-      );
-
-      // disable click if pager is mouseover
-      //show fields when using advanced settings
-      $extra = (empty($advanced)) ? ' style="display:none"' : '';
-      // if the checkbox: Use advanced settings is not checked, hide the advanced settings
-      $form['block_settings']['settings']['pager_settings']['pager_disable_click'] = array(
-        '#type' => 'checkbox',
-        '#title' => t('Disable Pager click'),
-        '#default_value' => $pager_disable_click,
-        '#prefix' => '<div id="ddblock-pager-disable-click-wrapper"' . $extra . '>',
-        '#suffix' => '</div>',
-        '#required' => FALSE,
-        '#description' => t("Disable pager click when pager event is mouseover."),
-      );
-
-      //show fields when using advanced settings
-      $extra = (empty($advanced)) ? ' style="display:none"' : '';
-      // if the checkbox: Use advanced settings is not checked, hide the advanced settings
-      $form['block_settings']['settings']['pager_settings']['pager_fast'] = array(
-        '#type' => 'checkbox',
-        '#title' => t('Fast Pager'),
-        '#default_value' => $pager_fast,
-        '#prefix' => '<div id="ddblock-pager-fast-wrapper"' . $extra . '>',
-        '#suffix' => '</div>',
-        '#required' => FALSE,
-        '#description' => t("When pager is used to go to another slide, don't use the effect to go to the slide.<br />
-                            Use for quick selection of slides."),
-      );
-
-      //show fields when using advanced settings
-      $extra = (empty($advanced)) ? ' style="display:none"' : '';
-      // if the checkbox: Use advanced settings is not checked, hide the advanced settings
-      $form['block_settings']['settings']['pager_settings']['pager_pause'] = array(
-        '#type' => 'checkbox',
-        '#title' => t('Pager pause'),
-        '#default_value' => $pager_pause,
-        '#prefix' => '<div id="ddblock-pager-pause-wrapper"' . $extra . '>',
-        '#suffix' => '</div>',
-        '#required' => FALSE,
-        '#description' => t("Pause the slideshow when the mouse is on the pager."),
-      );
-
-      // prev_next_pager_loop - Only show prev if previous slide exist - Only show next if next slide exist
-      //show fields when using advanced settings
-      $extra = (empty($advanced)) ? ' style="display:none"' : '';
-      // if the checkbox: Use advanced settings is not checked, hide the advanced settings
-      $form['block_settings']['settings']['pager_settings']['pager_prev_next_loop'] = array(
-        '#type' => 'checkbox',
-        '#title' => t('Prev/next Pager loop'),
-        '#default_value' => $pager_prev_next_loop,
-        '#prefix' => '<div id="ddblock-pager-prev-next-loop-wrapper"' . $extra . '>',
-        '#suffix' => '</div>',
-        '#required' => FALSE,
-        '#description' => t("Loop the next/prev pager. If disabled:<br />- Only show prev if previous slide exist<br />- Only show next if next slide exist"),
-      );
-
-      // scrollable_pager_loop - Only show prev if previous slide exist - Only show next if next slide exist
-      //show fields when using advanced settings
-      $extra = (empty($advanced)) ? ' style="display:none"' : '';
-      // if the checkbox: Use advanced settings is not checked, hide the advanced settings
-      $form['block_settings']['settings']['pager_settings']['pager_scrollable_loop'] = array(
-        '#type' => 'checkbox',
-        '#title' => t('Scrollable Pager show navigation'),
-        '#default_value' => $pager_scrollable_loop,
-        '#prefix' => '<div id="ddblock-pager-scrollable-loop-wrapper"' . $extra . '>',
-        '#suffix' => '</div>',
-        '#required' => FALSE,
-        '#description' => t("Always show navigation items for scrollable pager. If disabled:<br />- Only show prev pager item when previous slide exist<br />- Only show next pager item when next slide exist"),
-      );
-
-      $form['block_settings']['settings']['pager_settings']['nr_of_pager_items'] = array(
-        '#type' => 'textfield',
-        '#title' => t('Nr of pager items'),
-        '#default_value' => $nr_of_pager_items,
-        '#prefix' => '<div id="ddblock-nr-of-pager-items-wrapper">',
-        '#suffix' => '</div>',
-        '#required' => FALSE,
-        '#size' => 30,
-        '#description' => t("For Custom pager: Number of items in a row.<br />For Scrollable pager: Set this to the number of pager items visible at one time in the scrollable pager.<br />This setting will rule the functionality of the scrollable pager."),
-      );
-
-      $form['block_settings']['settings']['pager_settings']['pager_container'] = array(
-        '#type' => 'textfield',
-        '#title' => t('Pager container'),
-        '#default_value' => $pager_container,
-        '#required' => FALSE,
-        '#size' => 30,
-        '#description' => t("Container of a pager-item, eg. CSS selector li.<br />This can be any CSS selector containing a pager-item. e.g .custom-pager-item<br />Most of the time this can be left at the default value."),
-      );
-
-      $form['block_settings']['settings']['slide_text'] = array(
-        '#type' => 'checkbox',
-        '#title' => t('Use slide text'),
-        '#default_value' => $slide_text,
-        '#required' => FALSE,
-        '#description' => t("Show slide text when available in content."),
-      );
-
-      // if the checkbox: Use jQuery effects for text of a slide is not checked, hide the slide text settings
-      $extra = (empty($slide_text)) ? ' style="display:none"' : '';
-      $form['block_settings']['settings']['slide_text_settings'] = array(
-        '#type' => 'fieldset',
-        '#collapsible' => TRUE,
-        '#title' => t('Slide text settings'),
-        '#prefix' => '<div id="ddblock-slide-text-settings-wrapper"' . $extra . '>',
-        '#suffix' => '</div>',
-      );
-
-      // slide text container field.
-      $form['block_settings']['settings']['slide_text_settings']['slide_text_container'] = array(
-        '#type' => 'textfield',
-        '#title' => t('Slide text container'),
-        '#default_value' => $slide_text_container,
-        '#required' => FALSE,
-        '#size' => 30,
-        '#description' => t("Container of the slide text. Most of the time, can be left at default"),
-        '#weight' => 5,
-      );
-
-      $options = array(
-        'top' => t('Top'),
-        'right' => t('Right'),
-        'bottom' => t('Bottom'),
-        'left' => t('Left'),
-      );
-
-      $form['block_settings']['settings']['slide_text_settings']['slide_text_position'] = array(
-        '#type' => 'select',
-        '#title' => t('Slide text position'),
-        '#default_value' => $slide_text_position,
-        '#options' => $options,
-        '#multiple' => FALSE,
-        '#required' => FALSE,
-        '#description' => t("Position of the slide text."),
-        '#weight' => 4,
-      );
-
-      $form['block_settings']['settings']['slide_text_settings']['slide_text_jquery'] = array(
-        '#type' => 'checkbox',
-        '#title' => t('Use jQuery effects for text of a slide'),
-        '#default_value' => $slide_text_jquery,
-        '#required' => FALSE,
-        '#description' => t("The jQuery effects will be added to the text in the Slide text container"),
-        '#weight' => 6,
-      );
-
-      //show fields when using jQuery effects for text of a slide
-      $extra = (empty($slide_text_jquery)) ? ' style="display:none"' : '';
-      // if the checkbox: jQuery effects for text of a slide is not checked, hide the advanced settings
-      $form['block_settings']['settings']['slide_text_settings']['slide_jquery'] = array(
-        '#type' => 'fieldset',
-        '#collapsible' => TRUE,
-        '#collapsed' => FALSE,
-        '#prefix' => '<div id="ddblock-slide-jquery-settings-wrapper"' . $extra . '>',
-        '#suffix' => '</div>',
-        '#title' => t('Slide text jquery settings'),
-        '#weight' => 7,
-      );
-      $easing_effect_options = _ddblock_get_easing_effects();
-      $before_effect_options = array(
-        'hide' => t('Basics - Hide'),
-        'fadeOut' => t('Fading - Fade Out'),
-        'slideUp' => t('Sliding - Slide Up'),
-      );
-
-      $form['block_settings']['settings']['slide_text_settings']['slide_jquery']['slide_text_before_effect'] = array(
-        '#type' => 'select',
-        '#title' => t('Before effect'),
-        '#default_value' => $slide_text_before_effect,
-        '#options' => $before_effect_options,
-        '#multiple' => FALSE,
-        '#required' => FALSE,
-        '#description' => t("The before event is before a slide is shown, here the slidetext of the
-previous slide will be hidden."),
-      );
-
-      $speed_options = drupal_map_assoc(array(0, 250, 500, 1000, 2000, 3000, 4000, 5000));
-
-      $form['block_settings']['settings']['slide_text_settings']['slide_jquery']['slide_text_before_speed'] = array(
-        '#type' => 'select',
-        '#title' => t('Speed before effect'),
-        '#default_value' => $slide_text_before_speed,
-        '#options' => $speed_options,
-        '#required' => FALSE,
-        '#description' => t("Speed of the before effect (1000 = 1 second, 0 = direct)."),
-      );
-      
-      $form['block_settings']['settings']['slide_text_settings']['slide_jquery']['slide_text_before_easing'] = array(
-        '#type' => 'select',
-        '#title' => t('Before easing'),
-        '#default_value' => $slide_text_before_easing,
-        '#options' => $easing_effect_options,
-        '#multiple' => FALSE,
-        '#required' => FALSE,
-        '#description' => t("Before easing effect of the slide text.<br />For easing effect examples, see: <a href=\"http://jqueryui.com/demos/effect/easing.html\" target=\"_blank\">easing demos</a>"),
-      );
-
-      $after_effect_options = array(
-        'show' => t('Basics - Show'),
-        'fadeIn' => t('Fading - Fade In'),
-        'slideDown' => t('Sliding - Slide Down'),
-      );
-
-      $form['block_settings']['settings']['slide_text_settings']['slide_jquery']['slide_text_after_effect'] = array(
-        '#type' => 'select',
-        '#title' => t('After effect'),
-        '#default_value' => $slide_text_after_effect,
-        '#options' => $after_effect_options,
-        '#multiple' => FALSE,
-        '#required' => FALSE,
-        '#description' => t("The after event is after a slide is shown, here the slidetext of the
-current slide will be shown."),
-      );
-
-      $form['block_settings']['settings']['slide_text_settings']['slide_jquery']['slide_text_after_speed'] = array(
-        '#type' => 'select',
-        '#title' => t('Speed after effect'),
-        '#default_value' => $slide_text_after_speed,
-        '#options' => $speed_options,
-        '#required' => FALSE,
-        '#description' => t("Speed of the after effect (1000 = 1 second, 0 = direct)."),
-      );
-
-      $form['block_settings']['settings']['slide_text_settings']['slide_jquery']['slide_text_after_easing'] = array(
-        '#type' => 'select',
-        '#title' => t('After easing'),
-        '#default_value' => $slide_text_after_easing,
-        '#options' => $easing_effect_options,
-        '#multiple' => FALSE,
-        '#required' => FALSE,
-        '#description' => t("After easing effect of the slide text.<br />For easing effect examples, see: <a href=\"http://jqueryui.com/demos/effect/easing.html\" target=\"_blank\">easing demos</a>"),
-      );
-
-      if ($custom_jquery) {
-        $collapsed = FALSE;
-      }
-      else {
-        $collapsed = TRUE;
-      }
-      $form['block_settings']['settings']['custom'] = array(
-        '#type' => 'fieldset',
-        '#collapsible' => TRUE,
-        '#collapsed' => $collapsed,
-        '#title' => t('Custom jQuery Cycle Plugin Settings'),
-        '#description' => t('If you use custom jQuery options, they will override your other settings.'),
-      );
-
-      $form['block_settings']['settings']['custom']['custom_jquery'] = array(
-        '#type' => 'textarea',
-        '#title' => t('Custom Options'),
-        '#default_value' => $custom_jquery,
-        '#cols' => 60,
-        '#rows' => 10,
-        '#required' => FALSE,
-        '#description' => t('Use valid JSON syntax, with double quotes for key/and string value pairs.<br />The total script needs to be enclosed in curly brackets.<br />No comma allowed after the last statement like in an array.<br />e.g.<br />{"fx":"fade",<br />"startingSlide":2,<br />"autostop":1}'),
-      );
-
-      $form_state['redirect'] = 'admin/structure/ddblock/list';
-    }
-  }
-}
-
-/**
- * Submit block configuration settings.
- */
-function ddblock_form_alter_submit($form, &$form_state) {
-  // save the dynamic display block specific settings.
-  $delta = $form_state['values']['delta'];
-  $module = $form_state['values']['module'];
-  ddblock_set_configuration_settings($module, $delta, $form_state['values']);
-
-  // Call the standard submit handler that saves the block settings.
-  block_admin_configure_submit($form, $form_state);
-}
-
-/**
- * return subject of block.
- *
- * @param $origin
- *   Origin of the block.
- * @param $delta
- *   Blocknumber of the block.
- *
- * @return
- *   string with title of the block.
- *
- */
-function ddblock_subject($origin, $delta) {
-  return ddblock_get_block_title($origin, $delta);
-}
-
-/**
- * Get contents of dynamic display block block.
- */
-function ddblock_content($origin, $delta, $content = NULL, $teaser = NULL) {
-
-  // get configuration settings
-  foreach (ddblock_get_configuration_settings('ddblock', $delta)->settings() as $key => $value) {
-    ${$key} = $value;
-  }
-  // get configuration settings
-  foreach (ddblock_get_cycle_configuration_settings('ddblock_cycle', $delta)->settings() as $key => $value) {
-    ${$key} = $value;
-  }
-
-  if (!empty($overflow)) {
-    $overflow = 'hidden';
-  }
-  else {
-    $overflow = 'visible';
-  }
-
-  $container = $container_advanced;
-  if ($template == 'none') {
-    $container = $container_basic;
-    // set imagecontainer height and width with jQuery
-    $settings['ddblockImageContainer'][$delta] = array(
-      'block' => $delta,
-      'contentContainer' => $container,
-      'imageContainerHeight' => $height,
-      'imageContainerWidth' => $width,
-      'setDimensions' => $template,
-    );
-
-    // set image heigth and width with jQuery
-    $settings['ddblockImages'][$delta] = array(
-      'block' => $delta,
-      'contentContainer' => $container,
-      'imageHeight' => $image_height,
-      'imageWidth' => $image_width,
-      'setDimensions' => $template,
-    );
-  }
-
-  // get module path to dynamic display block module
-  $ddblock_path = drupal_get_path('module', 'ddblock');
-
-  // get original block settings.
-  $ddblock = ddblock_get_blocks($delta);
-  $delta_original = $ddblock->delta_original;
-
-  $module_original = $ddblock->module;
-  $ddblock_enabled = $ddblock->enabled;
-  $view_name = '';
-  $display_id = '';
-
-  if ($ddblock_enabled) {
-    // get content from other blocks.
-    $block = module_invoke($module_original, 'block_view', $delta_original);
-
-    if ($widget == 'default') {
-      return ($block['content']);
-    }
-    else {
-      if ($module_original == 'views') {
-        if ($output == 'view_fields' ) {
-
-          foreach (ddblock_get_cycle_mapping_settings('ddblock_cycle', $delta)->settings() as $key => $value) {
-            ${$key} = $value;
-            $mappings[$key]['target'] = $value['target'];
-            $mappings[$key]['source'] = $value['source'];
-          }
-
-          $output_type = 'view_fields';
-          // block.module has a delta length limit of 32, but deltas in the views module can
-          // be longer because view names can be 32 and display IDs can also be 32.
-          // So for very long deltas, md5 hashes are used.
-          if (strlen($delta_original) == 32) {
-            $hashes = variable_get('views_block_hashes', array());
-            if (!empty($hashes[$delta_original])) {
-              $delta_original = $hashes[$delta_original];
-            }
-          }
-          list($view_name, $display_id) = explode('-', $delta_original);
-
-
-          // Load the view
-          if ($view = views_get_view($view_name)) {
-            if ($view->access($display_id)) {
-              $view->preview($display_id);
-              $content = $view->result;
-
-            // Remove empty mappings
-              foreach ($mappings as $key => $value) {
-                if (empty($value['target'])) {
-                  unset($mappings[$key]);
-                }
-              }
-
-            // create result array
-              foreach ($content as $row_num => $result) {
-                foreach ($view->field as $id => $field) {
-                  $field_output = $view->style_plugin->get_field($row_num, $id);
-                  foreach ($mappings as $mapping_key => $mapping_value) {
-                    if ($mapping_value['source'] == $id) {
-                      $mapping_target=$mapping_value['target'];
-                      $result_rows[$row_num][$mapping_target] = $field_output;
-                    }
-                  }
-                }
-              }
-              $content = array();
-              if (!empty($result_rows)) {
-                $content = $result_rows;
-                switch ($order) {
-                  case 'random':
-                    shuffle($content);
-                    break;
-                  case 'asc':
-                    asort($content);
-                    break;
-                  case 'desc':
-                    rsort($content);
-                    break;
-                  case 'none':
-                    break;
-                }
-              }
-            }
-            $view->destroy();
-          }
-        }
-        else {
-          $output_type = 'view_content';
-          $content = $block['content']; //return $block['content'];
-        }
-      }
-      else {
-        $output_type = 'view_content';
-        $content = $block['content'];
-      }
-      $nr_of_items = count($content);
-    }
-  }
-  else {
-    if ($input_type <> 'images') {
-      $output_type = 'content_array';
-      $content = _ddblock_get_content_array($content_type, $nodes, $node_body_teaser);
-      $nr_of_items = 2;
-    }
-    else {
-      // get content from image folderimages.
-      $output_type = 'images';
-      $imagepath = check_plain(file_default_scheme() . ':/' .
-                               '/' .
-                              $folder,
-                               file_default_scheme() . ':/');
-      $content = _ddblock_get_image_array($imagepath, $order, $max_image, $ignore_files, $image_style_slide, $image_style_pager_item);
-      $nr_of_items = count($content);
-    }
-  }
-
-  // set jquery cycle settings
-  $settings['ddblockContent'][$delta] = array(
-    'block' => $delta,
-    'nrOfItems' => $nr_of_items,
-    'setDimensions' => $template,
-    'contentContainer' => $container,
-    'custom' => $custom_jquery,
-    'fx' => $fx,
-    'easeOut' => $easing_out,
-    'easeIn' => $easing_in,
-    'speed' => $speed,
-    'timeOut' => $timeout,
-    'pause' => $pause,
-    'next' => $next,
-    'overflow' => $overflow,
-    'pager' => $pager,
-    'pagerPosition' => $pager_position,
-    'pagerPrevNextLoop' => $pager_prev_next_loop,
-    'pagerScrollableLoop' => $pager_scrollable_loop,
-    'nrOfPagerItems' => $nr_of_pager_items,
-    'pagerContainer' => $pager_container,
-    'pagerEvent' => $pager_event,
-    'pagerDisableClick' => $pager_disable_click,
-    'pagerFast' => $pager_fast,
-    'pagerPause' => $pager_pause,
-    'pager2' => $pager2,
-    'pager2Event' => $pager2_event,
-    'pager2SlideHide' => $pager2_slide_hide,
-    'slideText' => $slide_text,
-    'slideTextjQuery' => $slide_text_jquery,
-    'slideTextPosition' => $slide_text_position,
-    'slideTextContainer' => $slide_text_container,
-    'slideTextEffectBefore' => $slide_text_before_effect,
-    'slideTextEffectBeforeSpeed' => $slide_text_before_speed,
-    'slideTextEffectBeforeEasing' => $slide_text_before_easing,
-    'slideTextEffectAfter' => $slide_text_after_effect,
-    'slideTextEffectAfterSpeed' => $slide_text_after_speed,
-    'slideTextEffectAfterEasing' => $slide_text_after_easing,
-    'height' => $height,
-    'width' => $width,
-  );
-
-  ddblock_init_js_css();
-  drupal_add_js($settings, array('type' => 'setting', 'scope' => JS_DEFAULT));
-
-  if (!empty($content)) {
-    //use a settings array for template arguments which is more flexible
-    $settings = array(
-      'delta' => $delta,
-      'image_style_pager_item' => $image_style_pager_item,
-      'image_style_toggle' => $image_style_toggle,
-      'image_style_slide' => $image_style_slide,
-      'nr_of_items' => $nr_of_items,
-      'nr_of_pager_items' => $nr_of_pager_items,
-      'output_type' => $output_type,
-      'pager_toggle' => $pager_toggle,
-      'pager' => $pager,
-      'pager_container' => $pager_container,
-      'pager_event' => $pager_event,
-      'pager_height' => $pager_height,
-      'pager_position' => $pager_position,
-      'pager_width' => $pager_width,
-      'pager_scrollable_loop' => $pager_scrollable_loop,
-      'pager2' => $pager2,
-      'pager2_event' => $pager2_event,
-      'pager2_slide_prev' => $pager2_slide_prev,
-      'pager2_slide_next' => $pager2_slide_next,
-      'pager2_slide_hide' => $pager2_slide_hide,
-      'slide_text' => $slide_text,
-      'slide_text_position' => $slide_text_position,
-      'template' => $template,
-      'template_size' => $template_size,
-      'view_name' => $view_name,
-      'view_display_id' => $display_id,
-      'image_height' => $image_height,
-      'image_width' => $image_width,
-    );
-
-
-    $block_content = theme('ddblock_cycle_block_content', array(
-      'settings' => $settings,
-      'content' => $content,
-      )
-    );
-    return $block_content;
-  }
-  else {
-    return FALSE;
-  }
-}
-
-// THEME FUNCTIONS.
-/**
- * Implements hook_theme().
- */
-function ddblock_theme() {
-  return array(
-    'ddblock_cycle_block_content' => array(
-      'template' => 'ddblock-cycle-block-content',
-      'variables' => array(
-        'settings' => NULL,
-        'content' => NULL,
-      ),
-    ),
-    'ddblock_cycle_pager_content' => array(
-      'template' => 'ddblock-cycle-pager-content',
-      'variables' => array(
-        'pager_settings' => NULL,
-        'content' => NULL,
-      ),
-    ),
-    'ddblock_add_instance' => array(
-      'variables' => array(
-        'add_block_form' => NULL,
-        'ddblock_instances' => NULL,
-      ),
-    ),
-    'ddblock_mappings_table' => array(
-      'variables' => array('form'),
-    ),
-  );
-}
-
-/**
- * Override or insert variables into the ddblock_cycle_block_content templates.
- *
- * @param $vars
- *   An array of variables to pass to the theme template.
- */
-function template_preprocess_ddblock_cycle_block_content(&$vars) {
-  //symplify content  settings
-  $slider_settings['delta'] = $vars['settings']['delta'];
-  $slider_settings['image_height'] = $vars['settings']['image_height'];
-  $slider_settings['image_width'] = $vars['settings']['image_width'];
-  $slider_settings['image_style_slide'] = $vars['settings']['image_style_slide'];
-  $slider_settings['image_style_pager_item'] = $vars['settings']['image_style_pager_item'];
-  $slider_settings['nr_of_items'] = $vars['settings']['nr_of_items'];
-  $slider_settings['nr_of_pager_items'] = $vars['settings']['nr_of_pager_items'];
-  $slider_settings['output_type'] = $vars['settings']['output_type'];
-  $slider_settings['pager_toggle'] = $vars['settings']['pager_toggle'];
-  $slider_settings['pager'] = $vars['settings']['pager'];
-  $slider_settings['pager_height'] = $vars['settings']['pager_height'];
-  $slider_settings['pager_width'] = $vars['settings']['pager_width'];
-  $slider_settings['pager_position'] = $vars['settings']['pager_position'];
-  $slider_settings['pager2'] = $vars['settings']['pager2'];
-  $slider_settings['pager2_slide_prev'] = $vars['settings']['pager2_slide_prev'];
-  $slider_settings['pager2_slide_next'] = $vars['settings']['pager2_slide_next'];
-  $slider_settings['slide_text'] = $vars['settings']['slide_text'];
-  $slider_settings['slide_text_position'] = $vars['settings']['slide_text_position'];
-  if ($vars['settings']['slide_text_position'] == "top" || $vars['settings']['slide_text_position'] == "bottom") {
-    $slider_settings['slide_direction'] = "horizontal";
-  }
-  else {
-    $slider_settings['slide_direction'] = "vertical";
-  }
-  $slider_settings['template'] = $vars['settings']['template'];
-  $slider_settings['template_size'] = $vars['settings']['template_size'];
-
-  $vars['ddblock_cycle_slider_settings'] = $slider_settings;
-
-  // pager content settings
-  $pager_settings['delta'] = $vars['settings']['delta'];
-  $pager_settings['nr_of_items'] = $vars['settings']['nr_of_items'];
-  $pager_settings['nr_of_pager_items'] = $vars['settings']['nr_of_pager_items'];
-  $pager_settings['output_type'] = $vars['settings']['output_type'];
-  $pager_settings['pager'] = $vars['settings']['pager'];
-  $pager_settings['pager_container'] = $vars['settings']['pager_container'];
-  $pager_settings['pager_event'] = $vars['settings']['pager_event'];
-  $pager_settings['pager_height'] = $vars['settings']['pager_height'];
-  $pager_settings['pager_width'] = $vars['settings']['pager_width'];
-  $pager_settings['pager_scrollable_loop'] = $vars['settings']['pager_scrollable_loop'];
-  $pager_settings['pager2'] = $vars['settings']['pager2'];
-  $pager_settings['pager2_event'] = $vars['settings']['pager2_event'];
-  $pager_settings['pager2_slide_prev'] = $vars['settings']['pager2_slide_prev'];
-  $pager_settings['pager2_slide_next'] = $vars['settings']['pager2_slide_next'];
-  $pager_settings['pager2_slide_hide'] = $vars['settings']['pager2_slide_hide'];
-  $pager_settings['image_style_pager_item'] = $vars['settings']['image_style_pager_item'];
-  $pager_settings['pager_position'] = $vars['settings']['pager_position'];
-  $pager_settings['template'] = $vars['settings']['template'];
-  $pager_settings['view_name'] = $vars['settings']['view_name'];
-
-  $vars['pager_content'] = theme('ddblock_cycle_pager_content', array(
-      'pager_settings' => $pager_settings,
-      'content' => $vars['content'],
-    )
-  );
-
-  // additional candidate template files
-  $vars['theme_hook_suggestions'][] = 'ddblock_cycle_block_content__' . $vars['settings']['template'];
-  $vars['theme_hook_suggestions'][] = 'ddblock_cycle_block_content__' . $vars['settings']['delta'];
-}
-
-/**
- * Override or insert variables into the ddblock_cycle_pager_content templates.
- *
- * @param $vars
- *   An array of variables to pass to the theme template.
- */
-function template_preprocess_ddblock_cycle_pager_content(&$vars) {
-  $vars['ddblock_cycle_pager_settings'] = $vars['pager_settings'];
-
-  // additional candidate template files
-  $vars['theme_hook_suggestions'][] = 'ddblock_cycle_pager_content__' . $vars['pager_settings']['template'];
-  $vars['theme_hook_suggestions'][] = 'ddblock_cycle_pager_content__' . $vars['pager_settings']['delta'];
-}
-
-// HELPER FUNCTIONS.
-/**
- * Get the configuration settings of a block.
- *
- * @param $origin
- *   Origin of the block.
- * @param $delta
- *   Blocknumber of the block.
- * @return
- *   An associative array containing the configuration settings of the block.
- */
-function ddblock_get_configuration_settings($origin, $delta) {
-  return new ddblockConfigurationSettings(variable_get('ddblock_block_' . $origin . "_" . $delta . '_settings', array()));
-}
-
-/**
- * Set the configuration settings of a block.
- *
- * @param $origin
- *   Origin of the block.
- * @param $delta
- *   Blocknumber of the block.
- * @param $edit
- *   An associative array containing the configuration settings of the block.
- *
- * @return
- *   none.
- */
-function ddblock_set_configuration_settings($origin, $delta, $edit) {
-  $configuration_settings = new ddblockConfigurationSettings($edit);
-
-  // set ouput to view_fields for advanced blocks otherwise output becomes view_content
-  if ($configuration_settings->widget != 'default') {
-    $configuration_settings->output = 'view_fields';
-  }
-  else {
-    $configuration_settings->output = 'view_content';
-  }
-  variable_set('ddblock_block_' . $origin . '_' . $delta . '_settings', $configuration_settings->settings());
-}
-/**
- * Get the configuration settings of a cycle block.
- *
- * @param $origin
- *   Origin of the block.
- * @param $delta
- *   Blocknumber of the block.
- * @return
- *   An associative array containing the configuration settings of the block.
- */
-function ddblock_get_cycle_configuration_settings($origin, $delta) {
-  return new ddblockCycleConfigurationSettings(variable_get('ddblock_block_' . $origin . "_" . $delta . '_cycle_settings', array()));
-}
-
-/**
- * Set the configuration settings of a cycle block.
- *
- * @param $origin
- *   Origin of the block.
- * @param $delta
- *   Blocknumber of the block.
- * @param $edit
- *   An associative array containing the configuration settings of the block.
- *
- * @return
- *   none.
- */
-function ddblock_set_cycle_configuration_settings($origin, $delta, $edit) {
-  $configuration_settings = new ddblockCycleConfigurationSettings($edit);
-
-   // set pager to none if pager_toggle is unchecked
-  if ($configuration_settings->pager_toggle == 0) {
-    $configuration_settings->pager = 'none';
-  }
-  // set image_style-slide and image_style_pager_item to none if image_style_toggle is unchecked
-  if ($configuration_settings->image_style_toggle == 0) {
-    $configuration_settings->image_style_slide = 'none';
-    $configuration_settings->image_style_pager_item = 'none';
-  }
-  variable_set('ddblock_block_' . $origin . '_' . $delta . '_cycle_settings', $configuration_settings->settings());
-}
-
-/**
- * Get the mapping settings of a cycle block.
- *
- * @param $origin
- *   Origin of the block.
- * @param $delta
- *   Blocknumber of the block.
- * @return
- *   An associative array containing the configuration settings of the block.
- */
-function ddblock_get_cycle_mapping_settings($origin, $delta) {
-  return new ddblockCycleMappingSettings(variable_get('ddblock_block_' . $origin . "_" . $delta . '_cycle_mapping_settings', array()));
-}
-
-/**
- * Set the mapping settings of a cycle block.
- *
- * @param $origin
- *   Origin of the block.
- * @param $delta
- *   Blocknumber of the block.
- * @param $edit
- *   An associative array containing the configuration settings of the block.
- *
- * @return
- *   none.
- */
-function ddblock_set_cycle_mapping_settings($origin, $delta, $edit) {
-  $mapping_settings = new ddblockCycleMappingSettings($edit['block_settings']['mapping_wrapper']['mappings']);
-  variable_set('ddblock_block_' . $origin . '_' . $delta . '_cycle_mapping_settings', $mapping_settings->settings());
-}
-
-/**
- * Return available effect for the dynamic display block.
- *
- * @return
- *   An associative array containing the available effect for the dynamic display block.
- */
-function _ddblock_get_effects() {
-  // effects.
-  $_fx = array(
-    'none' => t('none'),
-    'all' => t('all'),
-    'blindX' => t('blindX'),
-    'blindY' => t('blindY'),
-    'blindZ' => t('blindZ'),
-    'cover' => t('cover'),
-    'curtainX' => t('curtainX'),
-    'curtainY' => t('curtainY'),
-    'fade' => t('fade'),
-    'fadeZoom' => t('fadeZoom'),
-    'growX' => t('growX'),
-    'growY' => t('growY'),
-    'scrollUp' => t('scrollUp'),
-    'scrollDown' => t('scrollDown'),
-    'scrollLeft' => t('scrollLeft'),
-    'scrollRight' => t('scrollRight'),
-    'scrollHorz' => t('scrollHorz'),
-    'scrollVert' => t('scrollVert'),
-    'shuffle' => t('shuffle'),
-    'slideX' => t('slideX'),
-    'slideY' => t('slideY'),
-    'toss' => t('toss'),
-    'turnUp' => t('turnUp'),
-    'turnDown' => t('turnDown'),
-    'turnLeft' => t('turnLeft'),
-    'turnRight' => t('turnRight'),
-    'uncover' => t('uncover'),
-    'wipe' => t('wipe'),
-    'zoom' => t('zoom'),
-  );
-
-  return $_fx;
-}
-
-/**
- * Return available easing effect for the dynamic display block.
- *
- * @return
- *   An associative array containing the available easing effect for the dynamic display block.
- */
-function _ddblock_get_easing_effects() {
-  // easing effects.
-  $_easing_fx = array(
-    'none' => '<none>',
-    'linear' => 'linear',
-    'swing' => 'swing',
-    'easeInQuad' => 'easeInQuad',
-    'easeOutQuad' => 'easeOutQuad',
-    'easeInOutQuad' => 'easeInOutQuad',
-    'easeInCubic' => 'easeInCubic',
-    'easeOutCubic' => 'easeOutCubic',
-    'easeInOutCubic' => 'easeInOutCubic',
-    'easeInQuart' => 'easeInQuart',
-    'easeOutQuart' => 'easeOutQuart',
-    'easeInOutQuart' => 'easeInOutQuart',
-    'easeInQuint' => 'easeInQuint',
-    'easeOutQuint' => 'easeOutQuint',
-    'easeInOutQuint' => 'easeInOutQuint',
-    'easeInSine' => 'easeInSine',
-    'easeOutSine' => 'easeOutSine',
-    'easeInOutSine' => 'easeInOutSine',
-    'easeInExpo' => 'easeInExpo',
-    'easeOutExpo' => 'easeOutExpo',
-    'easeInOutExpo' => 'easeInOutExpo',
-    'easeInCirc' => 'easeInCirc',
-    'easeOutCirc' => 'easeOutCirc',
-    'easeInOutCirc' => 'easeInOutCirc',
-    'easeInElastic' => 'easeInElastic',
-    'easeOutElastic' => 'easeOutElastic',
-    'easeInOutElastic' => 'easeInOutElastic',
-    'easeInBack' => 'easeInBack',
-    'easeOutBack' => 'easeOutBack',
-    'easeInOutBack' => 'easeInOutBack',
-    'easeInBounce' => 'easeInBounce',
-    'easeOutBounce' => 'easeOutBounce',
-    'easeInOutBounce' => 'easeInOutBounce',
-  );
-
-  return $_easing_fx;
-}
-
-/**
- * Get images from a directory.
- *
- * @param $imagepath
- *   Path to the directoryory where the images are stored.
- * @param $order
- *   The order in which to return the images.
- * @param $max_image
- *   The maximum images to show in the slideshow.
- * @param $ignore_files
- *   Comma seperated list of strings. When string exist in image file name, the image is ignored.
- * @return
- *   An array containing the filenames of the images for the dynamic display block.
- */
-function _ddblock_get_image_array($imagepath, $order, $max_image, $ignore_files, $image_style_slide, $image_style_pager_item) {
-
-  // only images jpg, jpeg,  gif, png
-  $mask = '/[a-zA-Z0-9\_\-\.\]\[]+\.(jpe?g|gif|png|JPE?G|GIF|PNG)$/';
-  // ignore the following files
-  $ignore = '/(\.\.?|CVS)$/';
-
-  // Finds all files that match a given mask in a given directory, files which match the ignore variable are excluded.
-  $file_array = file_scan_directory($imagepath, $mask, array('nomask' => $ignore, 'callback' => $callback = 0, 'recurse' => $recurse = FALSE, 'key' => $key = 'filename', 'min_depth' => $min_depth = 0));
-
-  $file_names = array();
-
-  if (sizeof($file_array) > 0) {
-    // Remove to file to ignore
-    if (!empty($ignore_files)) {
-      $ignore_strings = explode(',', $ignore_files);
-
-      $temp_file_array = array();
-      foreach ($file_array as $value) {
-        $ignore = FALSE;
-
-        foreach ($ignore_strings as $ignore_string ) {
-          if (stristr($value->filename, $ignore_string)) {
-            $ignore = TRUE;
-            break;
-          }
-        }
-        if (!$ignore) {
-         $temp_file_array[] = $value;
-        }
-      }
-      $file_array = $temp_file_array;
-    }
-    if (sizeof($file_array) > 0) {
-      foreach ($file_array as $value) {
-        if ($image_style_slide <> 'none') {
-          $image_info = _ddblock_get_file_sizes($value->uri, $image_style_slide);
-          $image = array(
-            'title' => 'image',
-            'path' => $value->uri,
-            'alt' => 'image',
-            'style_name' => $image_style_slide,
-            'width' => $image_info['width'] . 'px',
-            'height' => $image_info['height'] . 'px',
-          );
-
-          $file_names['slide_image'][] = theme('image_style', $image);
-        }
-        else {
-          $variables = array(
-            'path' => $value->uri,
-            'alt' => 'image',
-            'title' => 'image',
-            'width' => '100%',
-            'height' => '100%',
-            'attributes' => array(),
-          );
-          $file_names['slide_image'][] = '<img src="' . file_create_url($value->uri) . '" alt="image">';
-//          $file_names['slide_image'][] = theme('image', $variables);
-        }
-        if ($image_style_pager_item <> 'none') {
-          $image_info = _ddblock_get_file_sizes($value->uri, $image_style_pager_item);
-          $image = array(
-            'title' => 'image',
-            'path' => $value->uri,
-            'alt' => 'image',
-            'style_name' => $image_style_pager_item,
-            'width' => $image_info['width'] . 'px',
-            'height' => $image_info['height'] . 'px',
-          );
-          $file_names['pager_image'][] = theme('image_style', $image);
-        }
-        else {
-          $variables = array(
-            'path' => $value->uri,
-            'alt' => 'image',
-            'title' => 'image',
-            'width' => '55px',
-            'height' => '55px',
-            'attributes' => array(),
-          );
-          $file_names['pager_image'][] = theme('image', $variables);
-        }
-      }
-
-      switch ($order) {
-        case 'random':
-          shuffle($file_names);
-          break;
-        case 'asc':
-          asort($file_names['slide_image']);
-          asort($file_names['pager_image']);
-          break;
-        case 'desc':
-          rsort($file_names['slide_image']);
-          rsort($file_names['pager_image']);
-          break;
-        case 'none':
-          break;
-      }
-      $file_names['slide_image'] = array_slice($file_names['slide_image'], 0, $max_image);
-      $file_names['pager_image'] = array_slice($file_names['pager_image'], 0, $max_image);
-    }
-  }  
-  return $file_names;
-}
-
-/**
- * Get content from a content type for the dynamic display block.
- *
- * @param $content_type
- *   Content type to get the content from.
- * @param $nodes
- *   The nodes to return.
- * @return
- *   An array containing the teaser of nodes for the dynamic display block
- */
-function _ddblock_get_content_array($content_type, $nodes, $node_body_teaser) {
-  $sql = "SELECT nid " .
-         "FROM {node} " .
-         "WHERE status = 1 " .
-         "AND type = :content_type " .
-         "AND nid = :nodes";
-  $results = db_query($sql, array(
-    ':content_type' => $content_type,
-    ':nodes' => $nodes)
-  );
-  $selected_nodes = array();
-  $view_mode = ($node_body_teaser == 'teaser') ? 'teaser' : 'full';
-  while ($obj = $results->fetchObject()) {
-    $node = node_load($obj->nid);
-    $content = node_view($node, $view_mode);
-    $selected_nodes[] = drupal_render($content);
-  }
-  return $selected_nodes;
-}
-
-function _ddblock_get_file_sizes($path, $style_name) {
-  // theme_image() can only honor the $getsize parameter with local file paths.
-  // The derivative image is not created until it has been requested so the file
-  // may not yet exist, in this case we just fallback to the URL.
-  $style_path = image_style_path($style_name, $path);
-  if (!file_exists($style_path)) {
-    $style_path = image_style_url($style_name, $path);
-  }
-  $image_info = image_get_info($style_path);
-
-  return $image_info;
-  };
-
-/**
- * Get node id's and titles of nodes of a content type.
- *
- * @param $content_type
- *   Content type to get the content from.
- * @return
- *   An array containing node id's and node titles.
- */
-function _ddblock_get_content_type_nodes($content_type) {
-
-  $sql = "SELECT nid " .
-         "FROM {node} " .
-         "WHERE status=1 " .
-         "AND type= :content_type";
-  $results = db_query($sql, array(
-    ':content_type' => $content_type)
-  );
-
-  $selected_nodes = array();
-  while ($obj = $results->fetchObject()) {
-    $node = node_load($obj->nid);
-    $selected_nodes[$node->nid] = check_plain($node->title);
-  }
-
-  return $selected_nodes;
-}
-
-// AHAH CALLBACK FUNCTIONS
-
-/**
- * AHAH callback to replace node select options.
- *
- * This function is called when the content type is changed.  It updates the
- * cached form (configure form) and returns rendered output to be used to
- * replace the select containing the possible nodes in the newly selected content-type.
- *
- * @param $build_id
- *   The form's build_id.
- * @param $ctid
- *   A content type id from among those in the form's content type select.
- * @return
- *   Prints the replacement HTML in JSON format.
- */
-function ddblock_select_nodes_js() {
-  // get the form_id to rebuild the form later.
-  $form_id = $_POST['form_id'];
-
-  // get field settings from the form.
-  $content_type = $_POST['content_type'];
-  $nodes = $_POST['content_nodes'];
-
-  // get the form_build_id of the form to fetch the form from the cache_form table.
-  $form_build_id = $_POST['form_build_id'];
-  $form_state = array('submitted' => FALSE);
-
-  // Fetch the form from cache.
-  $form = form_get_cache($form_build_id, $form_state);
-
-  // Get the new fields.
-  ddblock_select_nodes_form($form, $content_type, $nodes);
-
-  // Store the form back in the cache.
-  form_set_cache($form_build_id, $form, $form_state);
-
-  // Build and render the new select element, then return it in JSON format.
-  $form_state = array();
-  $form['#post'] = array();
-  $form = form_builder($form_id, $form, $form_state);
-  $output = drupal_render($form['content']['content_types']['content_type']);
-  $output .= drupal_render($form['content']['content_types']['nodes']);
-  $output .= drupal_render($form['content']['content_types']['select_nodes']);
-
-  // Don't call drupal_json(). ahah.js uses an iframe and
-  // the header output by drupal_json() causes problems in some browsers.
-  print drupal_json_encode(array('status' => TRUE, 'data' => $output));
-  exit();
-}
-
-/**
- * ddblock instances.
- *
- * Gives an overview of all dynamic display blocks instances to manage and to add a dynamic display block instance.
- */
-function ddblock_instances() {
-
-  // Fetch "Add Instance" form.
-  $form = drupal_get_form('ddblock_add_instance_form');
-
-  // Get an array of existing block instances.
-  $block_instances = ddblock_get_block_instances(NULL, TRUE);
-
-  // theme the instances form.
-  return theme('ddblock_add_instance', array('add_block_form' => $form, 'ddblock_instances' => $block_instances));
-}
-
-/**
- * form to add a dynamic display block instance.
- */
-function ddblock_add_instance_form($form, $form_state) {
-  $form = array();
-  $form['title'] = array(
-    '#type' => 'textfield',
-    '#title' => t('Instance Title'),
-    '#maxlength' => 256,
-    '#required' => TRUE,
-  );
-
-  // Turn $blocks into form options of block types.
-  $options = array();
-
-  //get possible content types from settings.
-  $block_types = variable_get('ddblock_blocks', array());
-  foreach ($block_types as $value ) {
-    if ($value) {
-
-      //$option[0]  contains module name, $option[1]  contains delta, $option[2]  contains block title,
-      $option = explode(':', $value);
-
-      //If the block title contains colons, the value in $option[2] would 
-      //be incorrect. Any array elements > 3 also belong in the title, so if 
-      //they exist, loop through them and add them to the block title.
-      $block_title = $option[2];
-      for($i = 3; $i < count($option); $i++) {
-        $block_title .= ":".$option[$i];
-      }
-
-      $options[$option[0] . ':' . $option[1]] = $option[0] . ' - ' . $block_title;
-    }
-  }
-
-  $form['block'] = array(
-    '#type' => 'select',
-    '#title' => t('Block type'),
-    '#options' => $options,
-    '#required' => TRUE,
-  );
-
-  $form['submit'] = array(
-    '#type' => 'submit',
-    '#value' => t('Add Instance'),
-  );
-
-  return $form;
-}
-
-/**
- * Return all or one dynamic display block instances.
- *
- * @param $delta
- *   Optional. Retreive a single block based on this delta. If none specified,
- *   all blocks are returned.
- * @param $reset
- *   Optional. Boolean value to reset the interal cache of this function.
- * @return
- *   array of dynamic display block.
- */
-function ddblock_get_block_instances($delta = NULL, $reset = FALSE) {
-  static $block_instances;
-
-  if (!isset($block_instances) || $reset) {
-    $block_instances = array();
-    $results = db_query("SELECT * FROM {ddblock_block} where enabled = 1");
-    while ($block_instance = $results->fetchObject()) {
-      $block_instances[$block_instance->delta] = $block_instance;
-    }
-  }
-
-  return is_numeric($delta) ? $block_instances[$delta] : $block_instances;
-}
-
-/**
- * Add block instance to database from add_instance_form.
- */
-function ddblock_add_instance_form_submit($form, &$form_state) {
-  // Get the original block info.
-  $original_block = explode(':', $form_state['values']['block']);
-  // Create new delta for block instance.
-  $result = $id = db_insert('ddblock_block')
-  ->fields(array(
-    'title' => $form_state['values']['title'],
-    'module' => $original_block[0],
-    'delta_original' => $original_block[1],
-    'enabled' => 1,
-  ))
-  ->execute();
-
-  drupal_set_message(t('Dynamic display block instance Added.'));
-  $form_state['redirect'] = 'admin/structure/ddblock';
-  return $form;
-}
-
-
-/**
- * Get title of a block by its module and delta.
- */
-function ddblock_get_block_title($module, $delta) {
-  $blocks = module_invoke($module, 'block_info');
-  $title = $blocks[$delta]['info'];
-  return $title;
-}
-
-/**
- * Get the blocks which are enabled in the settings page of the dynamic display block module.
- */
-function ddblock_get_ddblock_enabled_module_blocks() {
-
-  // get the saved block types which can be used as ddblock instances.
-  $block_types = variable_get('ddblock_blocks', array());
-
-  // put the block types in an array.
-  $blocks = array();
-  $i = 0;
-  foreach ($block_types as $value ) {
-    if ($value) {
-      //$option[0]  contains module name, $option[1]  contains delta, $option[2]  contains block title.
-      $option = explode(':', $value);
-      $blocks[$i]['module'] = $option[0];
-      $blocks[$i]['delta'] = $option[1];
-      $i++;
-    }
-  }
-  return $blocks;
-}
-
-/**
- * Theme function for the "Block Instances" page.
- */
-function theme_ddblock_add_instance($variables) {
-  $add_block_form = $variables['add_block_form'];
-  $block_instances = $variables['ddblock_instances'];
-
-  $output = '';
-  $header = array(
-    t('Title'),
-    t('Original Module'),
-    t('Original Block Title'),
-  );
-  $rows = array();
-  if (!empty($block_instances)) {
-    foreach ($block_instances as $row) {
-      $title = ddblock_get_block_title($row->module, $row->delta_original);
-      $rows[] = array(
-        check_plain($row->title),
-        $row->module,
-        $title,
-      );
-    }
-  }
-
-  $output .= '<p><h3>' . t('Manage Instances') . '</h3>' . theme('table', array('header' => $header, 'rows' => $rows)) . '</p>';
-
-  $output .= '<p><h3>' . t('Add Instance') . '</h3>' . drupal_render($add_block_form) . '</p>';
-  return $output;
-}
-
-/**
- * Custom sort based on info element of array.
- */
-function ddblock_block_sort($a, $b) {
-  return strcmp($a['module'] . $a['info'], $b['module'] . $b['info']);
-}
-
-/**
- * Returns the path to actual site theme in use because path_to_theme is flaky.
- */
-function _ddblock_get_theme_path() {
-  // path_to_theme gives the path to the admin theme when a different one is used.
-  // As a band-aid solution, this will pull the default theme out of the
-  // database and use that. (got this from advanced_forum module, in this case always
-  // use the default theme from database)
-  static $theme_path;
-
-    if (!$theme_path) {
-      $default_theme = variable_get('theme_default', 'garland');
-      $theme_path = drupal_get_path('theme', $default_theme);
-    }
-    return $theme_path;
-}
-
-function theme_ddblock_mappings_table($form) {
-  $vars['header'] = array(t('Target'), t('Source'));
-  $vars['rows'] = array();
-
-  foreach (element_children($form) as $key) {
-    // No need to print the field title every time.
-    unset(
-      $form[$key]['target']['#title'],
-      $form[$key]['source']['#title']
-    );
-
-    // Build the table row.
-    $row = array(
-      'data' => array(
-        array('data' => drupal_render($form[$key]['target']) . drupal_render($form[$key]['target']), 'class' => 'target'),
-        array('data' => drupal_render($form[$key]['source']) . drupal_render($form[$key]['source']), 'class' => 'source'),
-      ),
-    );
-
-    // Add additional attributes to the row, such as a class for this row.
-    if (isset($form[$key]['#attributes'])) {
-      $row = array_merge($row, $form[$key]['#attributes']);
-    }
-    $vars['rows'][] = $row;
-  }
-
-  $output = theme('table', $vars);
-  $output .= drupal_render($form);
-  return $output;
-}
-
-/**
- * Helper function to define populated form field elements for album track node form.
- */
-function ddblock_mapping_display_form($delta, $target, $source, $source_fields) {
-
-  $form = array(
-    '#tree' => TRUE,
-  );
-
-  $form['target'] = array(
-    '#type' => 'textfield',
-    '#title' => t('Target'),
-    '#weight' => 1,
-    '#size' => 20,
-    '#parents' => array('block_settings', 'mapping_wrapper', 'mappings', $delta, 'target'),
-    '#default_value' => $target,
-    '#prefix' => '<div class="ddblock-target">',
-    '#suffix' => '</div>',
-
-  );
-
-  $form['source'] = array(
-    '#type' => 'select',
-    '#title' => t('Source'),
-    '#weight' => 2,
-    '#parents' => array('block_settings', 'mapping_wrapper', 'mappings', $delta, 'source'),
-    '#default_value' => $source,
-    '#size' => 1,
-    '#options' => $source_fields,
-    '#prefix' => '<div class="ddblock-source">',
-    '#suffix' => '</div>',
-  );
-
-  return $form;
-}
-
-/**
- * This submit handler is hooked to the hidden submit button and is executed on the AHAH call
- */
-function ddblock_options_form_submit($form, &$form_state) {
-  unset($form_state['submit_handlers']);
-  form_execute_handlers('submit', $form, $form_state);
-  $form_state_values = $form_state['values'];
-  $form_state['form_state_values'] = $form_state_values;
-  $form_state['rebuild'] = TRUE;
-  return $form_state_values;
-}
-
-/**
- * Form validation
- */
-function ddblock_options_form_validate($form, &$form_state) {
-  if (!is_numeric($form_state['values']['block_settings']['settings']['pager_settings']['nr_of_pager_items'])) {
-    form_error($form['block_settings']['settings']['pager_settings']['nr_of_pager_items'], t('!setting must be numeric!', array('!setting' => 'nr_of_pager_items')));
-  }
-}
-
-/**
- * Get theme sizes of a theme.
- *
- * @param $theme
- *   Slidehsow theme.
- * @return
- *   An array containing the theme sizes.
- */
-function _ddblock_get_template_size($theme) {
-
-  $path_to_themes = _ddblock_get_theme_path() . '/custom/modules/ddblock/' . $theme;
-
-  $dirs = _ddblock_dir_scan_directory($path_to_themes, 'siz');
-
-  if (!empty($dirs)) {
-    asort($dirs);
-    foreach ($dirs as $dir) {
-      $options[$dir] = $dir;
-    }
-  }
-  else {
-    $options['default'] = 'Default';
-  }
-
-  return $options;
-}
-
-/**
- * Get the sub directories, starting with the mapping string, of a directory.
- *
- * @param $dir
- *   directory.
- * @param $mapping
- *   the start characters of the directory
- * @return
- *   An array of directories.
- */
-function _ddblock_dir_scan_directory($dir, $mapping = '') {
-  $dirs = array();
-  $mask = '/[^0-9A-Za-z\-]/';
-  if (is_dir($dir) && $handle = opendir($dir)) {
-    while ($file = readdir($handle)) {
-      // no current and previous directory
-      if ($file[0] != '.') {
-        if (is_dir("$dir/$file")) {
-          //only alphanumeric dirs
-          if (!preg_match($mask, $file)) {
-            if (!empty($mapping)) {
-              if (substr($file, 0, 3) == $mapping)  {
-                // add dir.
-                $dirs[] = $file;
-              }
-            }
-            else {
-              // add dir.
-              $dirs[] = $file;
-            }
-          }
-        }
-      }
-    }
-    closedir($handle);
-  }
-
-  return $dirs;
-}
diff --git a/drupal7/sites/all/modules/ddblock/js/ddblock.admin.js b/drupal7/sites/all/modules/ddblock/js/ddblock.admin.js
deleted file mode 100644
index b3e08113..00000000
--- a/drupal7/sites/all/modules/ddblock/js/ddblock.admin.js
+++ /dev/null
@@ -1,377 +0,0 @@
-(function ($) {
-/*
- *  @file
- *  Javascript functionality for the Dynamic display block module admin page
- */
-
-/*
- * Show/hide advanced settings sections on the ddblock instance settings page.
- * don't change
- */
-Drupal.behaviors.ddblockShowHideAdvancedOptions = {
-  attach: function(context, settings) {
-    // Show/hide slide advanced options depending on the checkbox.
-    $('#edit-advanced:not(.ddblock-show-hide-advanced-options-processed)', context)
-    .addClass('ddblock-show-hide-advanced-options-processed')
-    .bind("click change", function() {
-      if (this.checked) {
-        $("#ddblock-advanced-settings-wrapper").show();
-        $("#ddblock-pager-position-wrapper").show();
-        $("#ddblock-pager-event-wrapper").show();
-        $("#ddblock-pager-height-wrapper").hide();
-        $("#ddblock-pager-width-wrapper").hide();
-        $("#edit-content-container").hide();
-        $("#ddblock-advanced-content-container-overflow-wrapper").hide();
-        $("#ddblock-advanced-content-container-height-wrapper").hide();
-        $("#ddblock-advanced-content-container-width-wrapper").hide();
-        $("#ddblock-image-settings-wrapper").hide();
-        $("#pager-dimensions-wrapper").hide();
-        $("#ddblock-template-wrapper").show();
-        $("#edit-image-style-toggle-wrapper").show();
-        $("#ddblock-image-style-settings-wrapper").show();
-        $("#edit-image-height-wrapper").hide();
-        $("#edit-image-width-wrapper").hide();
-        $("#edit-custom-template-wrapper").show();
-        $('#edit-pager-settings option[value="custom-pager"]').show();
-      }
-      else {
-        $("#ddblock-advanced-settings-wrapper").hide();
-        $("#ddblock-pager-position-wrapper").hide();
-        $("#ddblock-pager-event-wrapper").hide();
-        $("#ddblock-pager-height-wrapper").show();
-        $("#ddblock-pager-width-wrapper").show();
-        $("#edit-content-container").show();
-        $("#ddblock-advanced-content-container-overflow-wrapper").show();
-        $("#ddblock-advanced-content-container-height-wrapper").show();
-        $("#ddblock-advanced-content-container-width-wrapper").show();
-        $("#ddblock-image-settings-wrapper").show();
-        $("#pager-dimensions-wrapper").show();
-        $("#ddblock-template-wrapper").hide();
-        $("#edit-image-style-toggle-wrapper").hide();
-        $("#ddblock-image-style-settings-wrapper").hide();
-        $("#edit-image-height-wrapper").show();
-        $("#edit-image-width-wrapper").show();
-        $("#edit-custom-template-wrapper").hide();
-        $('#edit-pager-settings option[value="custom-pager"]').hide();
-        $('#edit-pager-settings #edit-pager').val('number-pager');
-      }
-      return true;
-    }).trigger('change').trigger('change')
-  }
-};
-
-/*
- * Show/hide imagefolder/contenttype settings sections on the ddblock settings page.
- * don't change
- */
-Drupal.behaviors.ddblockShowHideContentOptions = {
-  attach: function(context, settings) {
-  // get the child elements of the pager dropdown when the DOM has loaded
-  var pagerOptions = $("#edit-pager").children('option');
-  // Show/hide imagefolder/contenttype options depending on the select.
-  $('#edit-input-type:not(.ddblock-show-hide-content-options-processed)', context)
-  .addClass('ddblock-show-hide-content-options-processed')
-  .bind("click change", function() {
-    if ($('#ddblock-content-settings #edit-input-type').val() == 'images') {
-      $("#ddblock-image-folder-settings-wrapper").show();
-      $("#ddblock-content-types-settings-wrapper").hide();
-      $('.form-item-image-style-toggle').show();
-      $('.form-item-image-style-toggle').val(0);
-      $("#ddblock-image-style-settings-wrapper").show();
-      var regexEnabled = /^(n|p|\i)/; // number, prev/next, image
-    }
-    else {
-      $("#ddblock-image-folder-settings-wrapper").hide();
-      $("#ddblock-content-types-settings-wrapper").show();
-//      $('.form-item-image-style-toggle').hide();
-      $('.form-item-image-style-toggle').val(0);
-      $("#ddblock-image-style-settings-wrapper").hide();
-      var regexEnabled = /^(p)/; // prev/next
-    }
-    // set the pager options depending on the input type chosen
-    $("#edit-pager").html(
-      $(pagerOptions)
-      // filter the option elements to only those we want to include in the dropdown
-      .filter( function() { return this.value.match(regexEnabled);})
-    );
-    return false;
-  }).trigger('change').trigger('change')
-}
-};
-
-/*
- * Show/hide image styles settings sections on the ddblock instance settings page.
- * don't change
- */
-Drupal.behaviors.ddblockShowHideImageStyleOptions = {
-  attach: function(context, settings) {
-  // Show/hide image style options depending on the checkbox.
-  $('#ddblock-instance-settings #edit-image-style-toggle:not(.ddblock-show-hide-image-style-options-processed)', context)
-  .addClass('ddblock-show-hide-image-style-options-processed')
-  .bind("click change", function() {
-    if (this.checked) {
-      $("#ddblock-image-style-settings-wrapper").show();
-    }
-    else {
-      $("#ddblock-image-style-settings-wrapper").hide();
-    }
-    return true;
-  }).trigger('change').trigger('change')
-  // Show/hide image style options depending on the checkbox.
-  $('#ddblock-block-settings #edit-image-style-toggle:not(.ddblock-show-hide-image-style-options-processed)', context)
-  .addClass('ddblock-show-hide-image-style-options-processed')
-  // click for IE
-  .bind("click change", function() {
-    if (this.checked) {
-      $("#ddblock-image-style-settings-wrapper").show();
-    }
-    else {
-      $("#ddblock-image-style-settings-wrapper").hide();
-    }
-    return true;
-  }).trigger('change').trigger('change')
-}
-};
-
-/*
- * Show/hide pager settings sections on the ddblock instance settings page.
- * don't change
- */
-Drupal.behaviors.ddblockShowHidePagerOptions = {
-  attach: function(context, settings) {
-  // Show/hide pager options depending on the checkbox.
-  $('#ddblock-instance-settings #edit-pager-toggle:not(.ddblock-show-hide-pager-options-processed)', context)
-  .addClass('ddblock-show-hide-pager-options-processed')
-  .bind("click change", function() {
-    if (this.checked){
-      $("#ddblock-pager-settings-wrapper").show();
-    }
-    else {
-      $("#ddblock-pager-settings-wrapper").hide();
-    }
-    return true;
-  }).trigger('change').trigger('change')
-  // Show/hide pager options depending on the checkbox.
-  $('#ddblock-block-settings #edit-pager-toggle:not(.ddblock-show-hide-pager-options-processed)', context)
-  .addClass('ddblock-show-hide-pager-options-processed')
-  .bind("click change", function(){
-    if (this.checked) {
-      $("#ddblock-pager-settings-wrapper").show();
-    }
-    else {
-      $("#ddblock-pager-settings-wrapper").hide();
-    }
-    return true;
-  }).trigger('change').trigger('change')
- }
-};
-
-/*
- * Show/hide prev/next pager settings sections on the ddblock instance settings page.
- * don't change
- */
-Drupal.behaviors.ddblockShowHidePrevNextPagerOptions = {
-  attach: function(context, settings) {
-  // Show/hide pager options depending on the checkbox.
-  $('#ddblock-instance-settings #edit-pager2:not(.ddblock-show-hide-prev-next-pager-options-processed)', context)
-  .addClass('ddblock-show-hide-prev-next-pager-options-processed')
-  .bind("click change", function() {
-    if (this.checked){
-      $("#ddblock-pager2-settings-wrapper").show();
-    }
-    else {
-      $("#ddblock-pager2-settings-wrapper").hide();
-    }
-    return true;
-  }).trigger('change').trigger('change')
-  // Show/hide pager options depending on the checkbox.
-  $('#ddblock-block-settings #edit-pager2:not(.ddblock-show-hide-prev-next-pager-options-processed)', context)
-  .addClass('ddblock-show-hide-prev-next-pager-options-processed')
-  .bind("click change", function(){
-    if (this.checked) {
-      $("#ddblock-pager2-settings-wrapper").show();
-    }
-    else {
-      $("#ddblock-pager2-settings-wrapper").hide();
-    }
-    return true;
-  }).trigger('change').trigger('change')
- }
-};
-
-/*
- * Show/hide slide text settings sections on the ddblock instance settings page.
- * don't change
- */
-Drupal.behaviors.ddblockShowHideSlideTextOptions = {
-  attach: function(context, settings) {
-  // Show/hide slide text options depending on the checkbox.
-  $('#ddblock-instance-settings #edit-slide-text:not(.ddblock-show-hide-text-options-processed)', context)
-  .addClass('ddblock-show-hide-text-options-processed')
-  .bind("click change", function() {
-    if (this.checked) {
-      $("#ddblock-slide-text-settings-wrapper").show();
-    }
-    else {
-      $("#ddblock-slide-text-settings-wrapper").hide();
-    }
-    return true;
-  }).trigger('change').trigger('change')
-}
-};
-
-/*
- * Show/hide jquery slide text settings sections on the ddblock instance settings page.
- * don't change
- */
-Drupal.behaviors.ddblockShowHideSlideJqueryTextOptions = {
-  attach: function(context, settings) {
-  // Show/hide slide text options depending on the checkbox.
-  $('#ddblock-instance-settings #edit-slide-text-jquery:not(.ddblock-show-hide-text-jquery-options-processed)', context)
-  .addClass('ddblock-show-hide-text-jquery-options-processed')
-  .bind("click change", function() {
-    if (this.checked) {
-      $("#ddblock-slide-jquery-settings-wrapper").show();
-    }
-    else {
-      $("#ddblock-slide-jquery-settings-wrapper").hide();
-    }
-    return true;
-  }).trigger('change').trigger('change')
-}
-};
-
-/*
- * Show/hide Disable Pager click
- * Show when pager event is mouseover
- * Hide when pager event is click
- */
-Drupal.behaviors.ddblockShowHideDisablepagerClickOptions = {
-  attach: function(context, settings) {
-  $('#edit-pager-event:not(.ddblock-show-hide-disable-pager-click-options-processed)', context)
-  .addClass('ddblock-show-hide-disable-pager-click-options-processed')
-  .bind("click change", function() {
-    val = $('#edit-pager-event').val();
-    switch (val) {
-      case "click" :
-        $('#ddblock-pager-disable-click-wrapper').hide();
-      break;
-      case "mouseover" :
-        $('#ddblock-pager-disable-click-wrapper').show();
-      break;
-    }
-    return false;
-  }).trigger('change').trigger('change')
-}
-};
-
-/*
- * Change pager container depending on the pager.
- */
-Drupal.behaviors.ddblockChangePagerContainerOptions = {
-  attach: function(context, settings) {
-  // Change pager container option depending on select.
-  $('#edit-pager:not(.ddblock-change-pager-container-options-processed)', context)
-  .addClass('ddblock-change-pager-container-options-processed')
-  .bind("change", function() {
-    val = $('#edit-pager').val();
-    switch (val) {
-      case "number-pager" :
-      case "prev-next-pager" :
-      case "custom-pager" :
-        $('#edit-pager-container').val('.custom-pager-item');
-      break;
-      case "scrollable-pager" :
-        $('#edit-pager-container').val('.scrollable-pager-item');
-      break;
-    }
-    return false;
-  }).trigger('change').trigger('change')
-}
-};
-
-/*
- * Show/hide custom template settings sections on the ddblock instance settings page.
- * don't change
- */
-Drupal.behaviors.ddblockShowHideCustomTemplateOptions = {
-  attach: function(context, settings) {
-    // get variables
-    var ddblockSettings = settings.ddblockCustomTemplate;
-    // get the child elements of the pager dropdown when the DOM has loaded
-    var pagerOptions = $("#edit-pager").children('option');
-    // get the child elements of the pager position dropdown when the DOM has loaded
-    var pagerPositionOptions = $("#edit-pager-position").children('option');
-
-    // Show/hide imagefolder/contenttype options depending on the select.
-    $('#ddblock-instance-settings #edit-template:not(.ddblock-show-hide-custom-template-options-processed)', context)
-    .addClass('ddblock-show-hide-custom-template-options-processed')
-    .bind("change", function() {
-      val = $('#ddblock-instance-settings #edit-template').val();
-      var pagertype = val.substr(val.indexOf('0')-1,2);
-      var slideshowOrientation = val.substr(val.indexOf('0')+1,1);
-      var regexEnabled;
-      var pager;
-      switch (pagertype) {
-        case "10" :
-          regexEnabled = /^nu/; // start with nu (number pager)
-          pager = 'number-pager';
-          $('#edit-pager-container').val('.custom-pager-item');
-          $("#ddblock-pager-prev-next-loop-wrapper").hide();
-          $("#ddblock-nr-of-pager-items-wrapper").hide();
-          $("#ddblock-pager-scrollable-loop-wrapper").hide();
-        break;
-        case "20" :
-          regexEnabled = /^p/; // start with p (prev/next pager)
-          pager = 'prev-next-pager';
-          $('#edit-pager-container').val('.custom-pager-item');
-          $("#ddblock-pager-prev-next-loop-wrapper").show();
-          $("#ddblock-nr-of-pager-items-wrapper").hide();
-          $("#ddblock-pager-scrollable-loop-wrapper").hide();
-        break;
-        case "30" :
-        case "40" :
-        case "50" :
-          regexEnabled = /^c/; // start with c (custom pager)
-          pager = 'custom-pager';
-          $('#edit-pager-container').val('.custom-pager-item');
-          $("#ddblock-pager-prev-next-loop-wrapper").hide();
-          $("#ddblock-nr-of-pager-items-wrapper").show();
-          $("#ddblock-pager-scrollable-loop-wrapper").hide();
-        break;
-        case "60" :
-        case "70" :
-        case "80" :
-        case "90" :
-          regexEnabled = /^s/; // start with s (scrollable pager)
-          pager = 'scrollable-pager';
-          $('#edit-pager-container').val('.scrollable-pager-item');
-          $("#ddblock-pager-prev-next-loop-wrapper").hide();
-          $("#ddblock-nr-of-pager-items-wrapper").show();
-          $("#ddblock-pager-scrollable-loop-wrapper").show();
-        break;
-      }
-      // set the pager options depending on the theme choosen
-      $("#edit-pager").html(
-        $(pagerOptions)
-        // filter the option elements to only those we want to include in the dropdown
-        .filter( function() { return this.value.match(regexEnabled);})
-      );
-
-      if (slideshowOrientation == 'p') {
-        var regexEnabled = /^(t|b)/; // start with t or b
-      }
-      else {
-        var regexEnabled = /^(r|l)/; // start with r or l
-      }
-      // set the pager position options depending on the theme choosen
-      $("#edit-pager-position").html(
-        $(pagerPositionOptions)
-        // filter the option elements to only those we want to include in the dropdown
-        .filter( function() { return this.value.match(regexEnabled);})
-      );
-      return false;
-    }).trigger('change').trigger('change')
-  }
-};
-})(jQuery);
\ No newline at end of file
diff --git a/drupal7/sites/all/modules/ddblock/js/ddblock.js b/drupal7/sites/all/modules/ddblock/js/ddblock.js
deleted file mode 100644
index e37f8990..00000000
--- a/drupal7/sites/all/modules/ddblock/js/ddblock.js
+++ /dev/null
@@ -1,442 +0,0 @@
-(function ($) {
-/**
-  * Set image settings
-  * only used if no template is choosen for the dynamic display block
-  */
-Drupal.behaviors.ddblockImg = {
-  attach: function(context, settings) {
-    for (var base in settings.ddblockImages) {
-      // get variables
-      var ddblockSettings = settings.ddblockImages[base];
-
-      // if no template and CCS is used set the image dimensions here
-      if (ddblockSettings.setDimensions == 'none') {
-        if ((ddblockSettings.imageHeight > 0) && (ddblockSettings.imageWidth > 0 )) {
-          $('#ddblock-'+ ddblockSettings.block +' .ddblock-container img:not(.ddblock-processed)', context)
-          .css('height',ddblockSettings.imageHeight + 'px')
-          .css('width',ddblockSettings.imageWidth + 'px')
-          .addClass('ddblock-processed');
-        }
-        else{
-          $('#ddblock-'+ ddblockSettings.block +' .slider:not(.ddblock-slider-visble-processed)', context)
-          .addClass('overflow-visible')
-          .addClass('ddblock-slider-visible-processed');        
-        }
-      }
-    }
-  }
-};
-
-/**
-  * Set content dimensions.
-  * only used if no template is choosen for the dynamic display block
-  */
-Drupal.behaviors.ddblockImgContainer = {
-  attach: function(context, settings) {
-    for (var base in settings.ddblockImageContainer) {
-      // get variables
-      var ddblockSettings = settings.ddblockImageContainer[base];
-      // if no template and CCS is used set the content dimensions here
-      if (ddblockSettings.setDimensions == 'none') {
-        if ((ddblockSettings.imageContainerHeight > 12) && (ddblockSettings.imageContainerWidth > 12 )) {
-
-          $('#ddblock-' + ddblockSettings.block  +' .ddblock-container:not(.ddblock-processed)', context)
-          .css('height',ddblockSettings.imageContainerHeight + 'px')
-          .css('width',ddblockSettings.imageContainerWidth + 'px')
-          .css('overflow','hidden')
-          .addClass('ddblock-processed');
-        }
-      }
-    }
-  }
-};
-
-/**
-  * Set the cycle plugin settings.
-  *
-  * Examples how and what to override for your own blocks
-  *   Replace ddblockCycle with the ddblockCycle[BLOCKNUMBER]
-  *   Change the onBefore and onAfter functions
-  *
-  */
-Drupal.behaviors.ddblockCycle = {
-  attach: function(context, settings) {
-
-    //helper function to clone the options object
-    function CloneObject(inObj) {
-      for (i in inObj) {
-        this[i] = inObj[i];
-      }
-    }
-
-    // cycle Plugin onBefore function to add functionality before the next slide shows up
-    // can be used to add the following effects to slide-text
-    // fadeOut - Fade out all matched elements by adjusting their opacity and firing an optional callback after completion.
-    // slideUp - Hide all matched elements by adjusting their height and firing an optional callback after completion.
-    // hide - Hide all matched elements using a graceful animation and firing an optional callback after completion.
-    function onBefore(curr, next, opts, fwd) {
-      if (opts.currSlide != opts.nextSlide) {
-        if (opts.slideTextjQuery == 1){
-          if (opts.slideTextEffectBeforeSpeed == 0) {
-            opts.slideTextEffectBeforeSpeed = 1;
-          };
-          if (opts.slideTextEffectBeforeEasing == 'none') {
-            opts.slideTextEffectBeforeEasing = '';
-          };
-          switch (opts.slideTextEffectBefore) {
-            case "fadeOut":
-              $("#ddblock-" + opts.ddblocknr + ' ' + opts.slideTextContainer + '-' + opts.slideTextPosition)
-              .stop(true,true)
-              .fadeOut(opts.slideTextEffectBeforeSpeed, opts.slideTextEffectBeforeEasing);
-              $("#ddblock-"+ opts.ddblocknr + ' div.slide-' + opts.nextSlide + ' ' + opts.slideTextContainer + '-' + opts.slideTextPosition).css({"display":"none"});
-            break;
-            case "slideUp":
-              $("#ddblock-"+ opts.ddblocknr + ' ' + opts.slideTextContainer + '-' + opts.slideTextPosition)
-              .stop(true,true)
-              .slideUp(opts.slideTextEffectBeforeSpeed, opts.slideTextEffectBeforeEasing);
-//              .effect('easeOutBounce','',opts.slideTextEffectAfterSpeed);
-             $("#ddblock-"+ opts.ddblocknr + ' div.slide-' + opts.nextSlide + ' ' + opts.slideTextContainer + '-' + opts.slideTextPosition).css({"display":"none"});
-            break;
-            default:
-              $("#ddblock-"+ opts.ddblocknr + ' ' + opts.slideTextContainer + '-' + opts.slideTextPosition)
-              .stop(true,true)
-              .hide(opts.slideTextEffectBeforeSpeed, opts.slideTextEffectBeforeEasing);
-              $("#ddblock-"+ opts.ddblocknr + ' div.slide-' + opts.nextSlide + ' ' + opts.slideTextContainer + '-' + opts.slideTextPosition).css({"display":"none"});
-           }
-        }
-      }
-    }
-
-    // cycle Plugin onAfter function to add functionality after the next slide shows up
-    // can be used to add the following effects to slide-text
-    // fadein - Fade in all matched elements by adjusting their opacity and firing an optional callback after completion.
-    // slideDown - Reveal all matched elements by adjusting their height and firing an optional callback after completion.
-    // show - Show all matched elements using a graceful animation and firing an optional callback after completion.
-    function onAfter(curr, next, opts, fwd) {
-      if (opts.slideTextjQuery == 1){
-        if (opts.slideTextEffectAfterSpeed == 0) {
-          opts.slideTextEffectAfterSpeed = 1;
-        };
-        if (opts.slideTextEffectAfterEasing == 'none') {
-          opts.slideTextEffectAfterEasing = '';
-        };
-        switch (opts.slideTextEffectAfter) {
-          case "fadeIn":
-            $("#ddblock-"+ opts.ddblocknr + ' ' + opts.slideTextContainer + '-'  + opts.slideTextPosition)
-            .fadeIn(opts.slideTextEffectAfterSpeed, opts.slideTextEffectAfterEasing);
-            $("#ddblock-"+ opts.ddblocknr + ' div.slide-' + opts.nextSlide + ' ' + opts.slideTextContainer + '-' + opts.slideTextPosition).css({"display":"none"});
-          break;
-          case 'slideDown':
-            $("#ddblock-"+ opts.ddblocknr + ' ' + opts.slideTextContainer + '-' + opts.slideTextPosition)
-            .slideDown(opts.slideTextEffectAfterSpeed, opts.slideTextEffectAfterEasing);
-            $("#ddblock-"+ opts.ddblocknr + ' div.slide-' + opts.nextSlide + ' ' + opts.slideTextContainer + '-' + opts.slideTextPosition).css({"display":"none"});
-          break;
-          default:
-            $("#ddblock-"+ opts.ddblocknr + ' ' + opts.slideTextContainer + '-' + opts.slideTextPosition)
-            .show(opts.slideTextEffectAfterSpeed, opts.slideTextEffectAfterEasing);
-            $("#ddblock-"+ opts.ddblocknr + ' div.slide-' + opts.nextSlide + ' ' + opts.slideTextContainer + '-' + opts.slideTextPosition).css({"display":"none"});
-        }
-      }
-      //when scrollable pager is used set active pager-item to current slide
-      if (opts.pager1 == 'scrollable-pager' && opts.myScrollable){
-        opts.myScrollable.click(opts.currSlide);
-      }
-
-      // show pager count (0 of x)
-      $("#ddblock-"+ opts.ddblocknr + ' ' + 'a.count').html((opts.currSlide + 1) + " of " + opts.slideCount);
-
-      // Only show prev if previous slide exist - Only show next if next slide exist
-      if (opts.pagerPrevNextLoop == 0) {
-        var index = $(this).parent().children().index(this);
-        $("#ddblock-"+ opts.ddblocknr + ' li.pager-prev ' + ' a.prev')[index == 0 ? 'hide' : 'show']();
-        $("#ddblock-"+ opts.ddblocknr + ' li.pager-prev ' + ' a.next')[index == opts.slideCount - 1 ? 'hide' : 'show']();
-      }
-
-      // For prev/next pager in the slides. Only show prev if previous slide exist - Only show next if next slide exist
-
-      if (opts.pager2SlideHide == 1) {
-        var index = $(this).parent().children().index(this);
-        $("#ddblock-"+ opts.ddblocknr + ' div.prev-container ' + 'a.prev')[index == 0 ? 'hide' : 'show']();
-        $("#ddblock-"+ opts.ddblocknr + ' div.next-container ' + 'a.next')[index == opts.slideCount - 1 ? 'hide' : 'show']();
-      }
-    }
-
-    i=0;
-    for (var base in settings.ddblockContent) {
-      // new options var for every block
-      var options = new CloneObject($.fn.cycle.defaults);
-
-      // simplify variable name
-      var ddblockSettings = settings.ddblockContent[base];
-      var block = ddblockSettings.block;
-      var custom = ddblockSettings.custom;
-      var pager = ddblockSettings.pager;
-      var pager2 = ddblockSettings.pager2;
-      var contentContainer = ddblockSettings.contentContainer;
-      var pagerContainer = ddblockSettings.pagerContainer;
-
-      // if not processed
-      if (!$('#ddblock-' + block + '.ddblock-processed', context).size()) {
-
-        // set transition option
-        options.fx = ddblockSettings.fx;
-//        options.easeOut = ddblockSettings.easeOut;
-        if (ddblockSettings.easeOut != 'none') {
-          options.easeOut = ddblockSettings.easeOut;
-        }  
-        if (ddblockSettings.easeIn != 'none') {
-          options.easeIn = ddblockSettings.easeIn;
-        }  
-
-        //set delay option for the blocks at different values so they less interfere with eachother
-        options.delay = i * -1000;
-
-        // set pager. You can have only one pager per block this way
-        if (pager == 'image-pager' || pager == 'number-pager' || pager == 'custom-pager' || pager == 'scrollable-pager') {
-          // number pager, image pager , custom pager and scrollable pager
-          options.pager = "#ddblock-" + pager + "-" + block;
-
-          //store pager1
-          options.pager1 = pager;
-
-          if (pager == 'number-pager') {
-            options.pagerAnchorBuilder = function(idx, slide) {
-              // return selector string for existing anchor
-              return "#ddblock-" + pager + "-" + block + " li.number-pager-item:eq(" + idx + ") a.pager-link";
-            }
-          }
-          if (pager == 'image-pager') {
-            options.pagerAnchorBuilder = function(idx, slide) {
-              // return selector string for existing anchor
-              return "#ddblock-" + pager + "-" + block + " li:eq(" + idx + ") a";
-            }
-          }
-          if (pager == 'custom-pager') {
-            options.pagerAnchorBuilder = function(idx, slide) {
-              // return selector string for existing anchor
-              return "#ddblock-" + pager + "-" + block + " " + pagerContainer + ":eq(" + idx + ") a.pager-link";
-            }
-          }
-          if (pager == 'scrollable-pager') {
-            options.pagerAnchorBuilder = function(idx, slide) {
-              // return selector string for existing anchor
-              return "#ddblock-" + pager + "-" + block + " " + pagerContainer + ":eq(" + idx + ") a.pager-link";
-            }
-          }
-        } // set pager.
-        if (pager == 'prev-next-pager' || pager2 == 1) {
-          //store pagerPrevNextLoop
-          options.pagerPrevNextLoop = ddblockSettings.pagerPrevNextLoop;
-          options.prev = "#ddblock-"+ block + " .prev";
-          options.next = "#ddblock-"+ block + " .next";
-        }
-        else {
-          //set next
-          if (ddblockSettings.next == 1) {
-            options.next = "#ddblock-"+ block + ' ' + contentContainer;
-          }
-        }
-
-        //set event which drives the pager navigation
-        options.pagerEvent = ddblockSettings.pagerEvent;
-
-        // If pager fast set use fastOnEvent pager
-        options.fastOnEvent = (ddblockSettings.pagerFast == 1) ? 1 : 0;
-
-        // pause slideshow on pager hover
-        options.pauseOnPagerHover = (ddblockSettings.pagerPause == 1) ? 1 : 0;
-
-        // disable click if pager is mouseover
-        if (ddblockSettings.pagerEvent == 'mouseover') {
-          if (ddblockSettings.pagerDisableClick == 1) {
-            $("#ddblock-" + pager + "-" + block + " a.pager-link").click(function() {
-              return false;
-            });
-          }
-          else {
-            $("#ddblock-" + pager + "-" + block + " a.pager-link").click(function() {
-              location.href = this.href;
-            });
-          }
-        }
-
-        options.pager2SlideHide = ddblockSettings.pager2SlideHide;
-
-        //set expression for selecting slides (if something other than all children is required)
-        //options.slideExpr = contentContainer;
-
-        //set speed of the transition (any valid fx speed value)
-        options.speed = parseInt(ddblockSettings.speed);
-        if (options.speed == 0) {
-          options.speed = 1;
-        };
-
-        //set timeout in milliseconds between slide transitions (0 to disable auto advance)
-        options.timeout = parseInt(ddblockSettings.timeOut);
-
-        //set pause, true to enable "pause on hover"
-        options.pause = (ddblockSettings.pause == 1) ? 1 : 0;
-
-        //set custom options, custom need to start with the character {,
-        //to prevent errors from a wywsiwyg editor which adds e.g. <br /> to the custom field.
-        // use custom.substr(0,1) instead of custom[0] to prevent error with IE7
-        if (custom && custom.substr(0,1) == '{') {
-          // get the \r\n from the string
-          var custom1 = custom.replace(/\r\n/gi,"");
-
-          // parse into JSON object
-          var custom2 = JSON.parse(custom1);
-
-          // merge custom2 with options object
-          jQuery.extend(true, options, custom2);
-        }
-
-        options.ddblocknr = block;
-        options.before = onBefore;
-        options.after = onAfter;
-        options.pagerContainer = ddblockSettings.pagerContainer;
-
-        // redefine Cycle's updateActivePagerLink function
-        $.fn.cycle.updateActivePagerLink = function(pager, currSlide) {
-          $(pager)
-          .find('a.pager-link')
-          .removeClass('activeSlide')
-          .filter('a.pager-link:eq('+currSlide+')')
-          .addClass('activeSlide');
-          $(pager)
-          .find('.custom-pager-item')
-          .removeClass('active-pager-item')
-          .filter('.custom-pager-item:eq('+currSlide+')')
-          .addClass('active-pager-item');
-          $(pager)
-          .find('.scrollable-pager-item')
-          .removeClass('active-pager-item')
-          .filter('.scrollable-pager-item:eq('+currSlide+')')
-          .addClass('active-pager-item');
-        };
-        
-        //Basic block
-        if (ddblockSettings.setDimensions == 'none') {
-          //only one slide
-          if (ddblockSettings.nrOfItems <= 1) {
-            var $container = $('#ddblock-' + block + ' ' + contentContainer).parent();
-            $container
-            .css('visibility', 'visible')
-            .addClass('ddblock-processed');
-            $(contentContainer, $container).css('display', 'block');
-            var $slideshowContainer = $('#ddblock-' + block);
-            //hide the pager
-            $('#ddblock-' + pager + '-' + block, $slideshowContainer).css('display', 'none');
-            //hide navi, prev and next pager of scrollable pager
-            if (pager == 'scrollable-pager') {
-              $('.navi', $slideshowContainer).css('display', 'none');
-              $('.prev', $slideshowContainer).css('display', 'none');
-              $('.next', $slideshowContainer).css('display', 'none');
-            }
-          }
-          //more than one slide
-          else {
-            var $container = $('#ddblock-' + block + ' ' + contentContainer).parent();
-            $container
-            .cycle(options)
-            .css('height',ddblockSettings.Height + 'px')
-            .css('width',ddblockSettings.Width + 'px')
-            .css('overflow', ddblockSettings.overflow)
-            .css('visibility', 'visible')
-            .addClass('ddblock-processed');
-            $('#ddblock-' + block).css('visibility', 'visible');
-          }
-        }
-        // advanced block
-        else {
-          if (ddblockSettings.slideTextjQuery == 1) {
-            //set slidetext options
-            options.slideTextContainer = ddblockSettings.slideTextContainer;
-            options.slideTextPosition = ddblockSettings.slideTextPosition;
-            options.slideTextEffectBefore = ddblockSettings.slideTextEffectBefore;
-            options.slideTextEffectBeforeSpeed = ddblockSettings.slideTextEffectBeforeSpeed;
-            options.slideTextEffectBeforeEasing = ddblockSettings.slideTextEffectBeforeEasing;
-            options.slideTextEffectAfter = ddblockSettings.slideTextEffectAfterEasing;
-            options.slideTextEffectAfterSpeed = ddblockSettings.slideTextEffectAfterSpeed;
-            options.slideTextEffectAfterEasing = ddblockSettings.slideTextEffectAfterEasing;
-            options.slideTextjQuery = ddblockSettings.slideTextjQuery;
-          }
-
-          if (pager == 'scrollable-pager') {
-            // set scrollableVertical to true when pager at left of right right, otherwise the scrollableVertical to false
-            if (ddblockSettings.pagerPosition == 'left' || ddblockSettings.pagerPosition == 'right') {
-               scrollableVertical = true;
-            }
-            else {
-              scrollableVertical = false;
-            }
-            // create one scrollable element and return the API by enabling the "api" property
-            if ($('#ddblock-scrollable-pager-' + block).length > 0){
-              var myScrollable = $('#ddblock-scrollable-pager-' + block).scrollable({
-
-                // number of items vissible in scrollable pager
-                size: ddblockSettings.nrOfPagerItems,
-
-                //vertical slideshow
-                vertical: scrollableVertical,
-
-                circular: true,
-
-                //nextitem navigation, default used
-                next: '.next',
-
-                //previtem navigation, default used
-                prev: '.prev',
-
-                //enable api property
-                api: true
-
-              });
-              if (myScrollable) {
-                //set first slide as activate slide in scrollable pager
-                myScrollable.click(0);
-
-                //set myScrollable cycle option to scrollable API to use in onafter
-                options.myScrollable = myScrollable;
-
-                //set total nr of pager items
-                options.nrOfPagerItems = ddblockSettings.nrOfPagerItems;
-              }
-            }
-          }
-
-          //only one slide
-          if (ddblockSettings.nrOfItems <= 1) {
-            //Use the parent of the slides as the parent container so the children function
-            //can be used for the second pager
-            var $container = $('#ddblock-' + block + ' ' + contentContainer).parent();
-            $container
-            .css('visibility', 'visible')
-            .addClass('ddblock-processed');
-            $(contentContainer, $container).css('display', 'block');
-            var $slideshowContainer = $('#ddblock-' + block);
-            //hide the pager
-            $('#ddblock-' + pager + '-' + block, $slideshowContainer).css('display', 'none');
-            //hide navi, prev and next pager of scrollable pager
-            if (pager == 'scrollable-pager') {
-              $('.navi', $slideshowContainer).css('display', 'none');
-              $('.prev', $slideshowContainer).css('display', 'none');
-              $('.next', $slideshowContainer).css('display', 'none');
-            }
-          }
-          //more then one slide
-          else {
-            var $container = $('#ddblock-' + block + ' ' + contentContainer).parent();
-            $container
-            .cycle(options)
-            .css('visibility', 'visible')
-            .addClass('ddblock-processed');
-          }
-        }  // advanced block
-      } // if not processed
-      i++;
-    } // for settings.ddblockContent
-  } // attach
-}; // drupal.behaviors
-
-})(jQuery);
diff --git a/drupal7/sites/all/modules/ddblock/js/jquery.selectboxes.js b/drupal7/sites/all/modules/ddblock/js/jquery.selectboxes.js
deleted file mode 100644
index 5c479fe7..00000000
--- a/drupal7/sites/all/modules/ddblock/js/jquery.selectboxes.js
+++ /dev/null
@@ -1,526 +0,0 @@
-/*
- *
- * Copyright (c) 2006-2009 Sam Collett (http://www.texotela.co.uk)
- * Dual licensed under the MIT (http://www.opensource.org/licenses/mit-license.php)
- * and GPL (http://www.opensource.org/licenses/gpl-license.php) licenses.
- *
- * Version 2.2.4
- * Demo: http://www.texotela.co.uk/code/jquery/select/
- *
- * $LastChangedDate$
- * $Rev$
- *
- */
- 
-;(function($) {
- 
-/**
- * Adds (single/multiple) options to a select box (or series of select boxes)
- *
- * @name     addOption
- * @author   Sam Collett (http://www.texotela.co.uk)
- * @type     jQuery
- * @example  $("#myselect").addOption("Value", "Text"); // add single value (will be selected)
- * @example  $("#myselect").addOption("Value 2", "Text 2", false); // add single value (won't be selected)
- * @example  $("#myselect").addOption({"foo":"bar","bar":"baz"}, false); // add multiple values, but don't select
- *
- */
-$.fn.addOption = function()
-{
-	var add = function(el, v, t, sO)
-	{
-		var option = document.createElement("option");
-		option.value = v, option.text = t;
-		// get options
-		var o = el.options;
-		// get number of options
-		var oL = o.length;
-		if(!el.cache)
-		{
-			el.cache = {};
-			// loop through existing options, adding to cache
-			for(var i = 0; i < oL; i++)
-			{
-				el.cache[o[i].value] = i;
-			}
-		}
-		// add to cache if it isn't already
-		if(typeof el.cache[v] == "undefined") el.cache[v] = oL;
-		el.options[el.cache[v]] = option;
-		if(sO)
-		{
-			option.selected = true;
-		}
-	};
-	
-	var a = arguments;
-	if(a.length == 0) return this;
-	// select option when added? default is true
-	var sO = true;
-	// multiple items
-	var m = false;
-	// other variables
-	var items, v, t;
-	if(typeof(a[0]) == "object")
-	{
-		m = true;
-		items = a[0];
-	}
-	if(a.length >= 2)
-	{
-		if(typeof(a[1]) == "boolean") sO = a[1];
-		else if(typeof(a[2]) == "boolean") sO = a[2];
-		if(!m)
-		{
-			v = a[0];
-			t = a[1];
-		}
-	}
-	this.each(
-		function()
-		{
-			if(this.nodeName.toLowerCase() != "select") return;
-			if(m)
-			{
-				for(var item in items)
-				{
-					add(this, item, items[item], sO);
-				}
-			}
-			else
-			{
-				add(this, v, t, sO);
-			}
-		}
-	);
-	return this;
-};
-
-/**
- * Add options via ajax
- *
- * @name     ajaxAddOption
- * @author   Sam Collett (http://www.texotela.co.uk)
- * @type     jQuery
- * @param    String url      Page to get options from (must be valid JSON)
- * @param    Object params   (optional) Any parameters to send with the request
- * @param    Boolean select  (optional) Select the added options, default true
- * @param    Function fn     (optional) Call this function with the select object as param after completion
- * @param    Array args      (optional) Array with params to pass to the function afterwards
- * @example  $("#myselect").ajaxAddOption("myoptions.php");
- * @example  $("#myselect").ajaxAddOption("myoptions.php", {"code" : "007"});
- * @example  $("#myselect").ajaxAddOption("myoptions.php", {"code" : "007"}, false, sortoptions, [{"dir": "desc"}]);
- *
- */
-$.fn.ajaxAddOption = function(url, params, select, fn, args)
-{
-	if(typeof(url) != "string") return this;
-	if(typeof(params) != "object") params = {};
-	if(typeof(select) != "boolean") select = true;
-	this.each(
-		function()
-		{
-			var el = this;
-			$.getJSON(url,
-				params,
-				function(r)
-				{
-					$(el).addOption(r, select);
-					if(typeof fn == "function")
-					{
-						if(typeof args == "object")
-						{
-							fn.apply(el, args);
-						} 
-						else
-						{
-							fn.call(el);
-						}
-					}
-				}
-			);
-		}
-	);
-	return this;
-};
-
-/**
- * Removes an option (by value or index) from a select box (or series of select boxes)
- *
- * @name     removeOption
- * @author   Sam Collett (http://www.texotela.co.uk)
- * @type     jQuery
- * @param    String|RegExp|Number what  Option to remove
- * @param    Boolean selectedOnly       (optional) Remove only if it has been selected (default false)   
- * @example  $("#myselect").removeOption("Value"); // remove by value
- * @example  $("#myselect").removeOption(/^val/i); // remove options with a value starting with 'val'
- * @example  $("#myselect").removeOption(/./); // remove all options
- * @example  $("#myselect").removeOption(/./, true); // remove all options that have been selected
- * @example  $("#myselect").removeOption(0); // remove by index
- * @example  $("#myselect").removeOption(["myselect_1","myselect_2"]); // values contained in passed array
- *
- */
-$.fn.removeOption = function()
-{
-	var a = arguments;
-	if(a.length == 0) return this;
-	var ta = typeof(a[0]);
-	var v, index;
-	// has to be a string or regular expression (object in IE, function in Firefox)
-	if(ta == "string" || ta == "object" || ta == "function" )
-	{
-		v = a[0];
-		// if an array, remove items
-		if(v.constructor == Array)
-		{
-			var l = v.length;
-			for(var i = 0; i<l; i++)
-			{
-				this.removeOption(v[i], a[1]); 
-			}
-			return this;
-		}
-	}
-	else if(ta == "number") index = a[0];
-	else return this;
-	this.each(
-		function()
-		{
-			if(this.nodeName.toLowerCase() != "select") return;
-			// clear cache
-			if(this.cache) this.cache = null;
-			// does the option need to be removed?
-			var remove = false;
-			// get options
-			var o = this.options;
-			if(!!v)
-			{
-				// get number of options
-				var oL = o.length;
-				for(var i=oL-1; i>=0; i--)
-				{
-					if(v.constructor == RegExp)
-					{
-						if(o[i].value.match(v))
-						{
-							remove = true;
-						}
-					}
-					else if(o[i].value == v)
-					{
-						remove = true;
-					}
-					// if the option is only to be removed if selected
-					if(remove && a[1] === true) remove = o[i].selected;
-					if(remove)
-					{
-						o[i] = null;
-					}
-					remove = false;
-				}
-			}
-			else
-			{
-				// only remove if selected?
-				if(a[1] === true)
-				{
-					remove = o[index].selected;
-				}
-				else
-				{
-					remove = true;
-				}
-				if(remove)
-				{
-					this.remove(index);
-				}
-			}
-		}
-	);
-	return this;
-};
-
-/**
- * Sort options (ascending or descending) in a select box (or series of select boxes)
- *
- * @name     sortOptions
- * @author   Sam Collett (http://www.texotela.co.uk)
- * @type     jQuery
- * @param    Boolean ascending   (optional) Sort ascending (true/undefined), or descending (false)
- * @example  // ascending
- * $("#myselect").sortOptions(); // or $("#myselect").sortOptions(true);
- * @example  // descending
- * $("#myselect").sortOptions(false);
- *
- */
-$.fn.sortOptions = function(ascending)
-{
-	// get selected values first
-	var sel = $(this).selectedValues();
-	var a = typeof(ascending) == "undefined" ? true : !!ascending;
-	this.each(
-		function()
-		{
-			if(this.nodeName.toLowerCase() != "select") return;
-			// get options
-			var o = this.options;
-			// get number of options
-			var oL = o.length;
-			// create an array for sorting
-			var sA = [];
-			// loop through options, adding to sort array
-			for(var i = 0; i<oL; i++)
-			{
-				sA[i] = {
-					v: o[i].value,
-					t: o[i].text
-				}
-			}
-			// sort items in array
-			sA.sort(
-				function(o1, o2)
-				{
-					// option text is made lowercase for case insensitive sorting
-					o1t = o1.t.toLowerCase(), o2t = o2.t.toLowerCase();
-					// if options are the same, no sorting is needed
-					if(o1t == o2t) return 0;
-					if(a)
-					{
-						return o1t < o2t ? -1 : 1;
-					}
-					else
-					{
-						return o1t > o2t ? -1 : 1;
-					}
-				}
-			);
-			// change the options to match the sort array
-			for(var i = 0; i<oL; i++)
-			{
-				o[i].text = sA[i].t;
-				o[i].value = sA[i].v;
-			}
-		}
-	).selectOptions(sel, true); // select values, clearing existing ones
-	return this;
-};
-/**
- * Selects an option by value
- *
- * @name     selectOptions
- * @author   Mathias Bank (http://www.mathias-bank.de), original function
- * @author   Sam Collett (http://www.texotela.co.uk), addition of regular expression matching
- * @type     jQuery
- * @param    String|RegExp|Array value  Which options should be selected
- * can be a string or regular expression, or an array of strings / regular expressions
- * @param    Boolean clear  Clear existing selected options, default false
- * @example  $("#myselect").selectOptions("val1"); // with the value 'val1'
- * @example  $("#myselect").selectOptions(["val1","val2","val3"]); // with the values 'val1' 'val2' 'val3'
- * @example  $("#myselect").selectOptions(/^val/i); // with the value starting with 'val', case insensitive
- *
- */
-$.fn.selectOptions = function(value, clear)
-{
-	var v = value;
-	var vT = typeof(value);
-	// handle arrays
-	if(vT == "object" && v.constructor == Array)
-	{
-		var $this = this;
-		$.each(v, function()
-			{
-      				$this.selectOptions(this, clear);
-    			}
-		);
-	};
-	var c = clear || false;
-	// has to be a string or regular expression (object in IE, function in Firefox)
-	if(vT != "string" && vT != "function" && vT != "object") return this;
-	this.each(
-		function()
-		{
-			if(this.nodeName.toLowerCase() != "select") return this;
-			// get options
-			var o = this.options;
-			// get number of options
-			var oL = o.length;
-			for(var i = 0; i<oL; i++)
-			{
-				if(v.constructor == RegExp)
-				{
-					if(o[i].value.match(v))
-					{
-						o[i].selected = true;
-					}
-					else if(c)
-					{
-						o[i].selected = false;
-					}
-				}
-				else
-				{
-					if(o[i].value == v)
-					{
-						o[i].selected = true;
-					}
-					else if(c)
-					{
-						o[i].selected = false;
-					}
-				}
-			}
-		}
-	);
-	return this;
-};
-
-/**
- * Copy options to another select
- *
- * @name     copyOptions
- * @author   Sam Collett (http://www.texotela.co.uk)
- * @type     jQuery
- * @param    String to  Element to copy to
- * @param    String which  (optional) Specifies which options should be copied - 'all' or 'selected'. Default is 'selected'
- * @example  $("#myselect").copyOptions("#myselect2"); // copy selected options from 'myselect' to 'myselect2'
- * @example  $("#myselect").copyOptions("#myselect2","selected"); // same as above
- * @example  $("#myselect").copyOptions("#myselect2","all"); // copy all options from 'myselect' to 'myselect2'
- *
- */
-$.fn.copyOptions = function(to, which)
-{
-	var w = which || "selected";
-	if($(to).size() == 0) return this;
-	this.each(
-		function()
-		{
-			if(this.nodeName.toLowerCase() != "select") return this;
-			// get options
-			var o = this.options;
-			// get number of options
-			var oL = o.length;
-			for(var i = 0; i<oL; i++)
-			{
-				if(w == "all" || (w == "selected" && o[i].selected))
-				{
-					$(to).addOption(o[i].value, o[i].text);
-				}
-			}
-		}
-	);
-	return this;
-};
-
-/**
- * Checks if a select box has an option with the supplied value
- *
- * @name     containsOption
- * @author   Sam Collett (http://www.texotela.co.uk)
- * @type     Boolean|jQuery
- * @param    String|RegExp value  Which value to check for. Can be a string or regular expression
- * @param    Function fn          (optional) Function to apply if an option with the given value is found.
- * Use this if you don't want to break the chaining
- * @example  if($("#myselect").containsOption("val1")) alert("Has an option with the value 'val1'");
- * @example  if($("#myselect").containsOption(/^val/i)) alert("Has an option with the value starting with 'val'");
- * @example  $("#myselect").containsOption("val1", copyoption).doSomethingElseWithSelect(); // calls copyoption (user defined function) for any options found, chain is continued
- *
- */
-$.fn.containsOption = function(value, fn)
-{
-	var found = false;
-	var v = value;
-	var vT = typeof(v);
-	var fT = typeof(fn);
-	// has to be a string or regular expression (object in IE, function in Firefox)
-	if(vT != "string" && vT != "function" && vT != "object") return fT == "function" ? this: found;
-	this.each(
-		function()
-		{
-			if(this.nodeName.toLowerCase() != "select") return this;
-			// option already found
-			if(found && fT != "function") return false;
-			// get options
-			var o = this.options;
-			// get number of options
-			var oL = o.length;
-			for(var i = 0; i<oL; i++)
-			{
-				if(v.constructor == RegExp)
-				{
-					if (o[i].value.match(v))
-					{
-						found = true;
-						if(fT == "function") fn.call(o[i], i);
-					}
-				}
-				else
-				{
-					if (o[i].value == v)
-					{
-						found = true;
-						if(fT == "function") fn.call(o[i], i);
-					}
-				}
-			}
-		}
-	);
-	return fT == "function" ? this : found;
-};
-
-/**
- * Returns values which have been selected
- *
- * @name     selectedValues
- * @author   Sam Collett (http://www.texotela.co.uk)
- * @type     Array
- * @example  $("#myselect").selectedValues();
- *
- */
-$.fn.selectedValues = function()
-{
-	var v = [];
-	this.selectedOptions().each(
-		function()
-		{
-			v[v.length] = this.value;
-		}
-	);
-	return v;
-};
-
-/**
- * Returns text which has been selected
- *
- * @name     selectedTexts
- * @author   Sam Collett (http://www.texotela.co.uk)
- * @type     Array
- * @example  $("#myselect").selectedTexts();
- *
- */
-$.fn.selectedTexts = function()
-{
-	var t = [];
-	this.selectedOptions().each(
-		function()
-		{
-			t[t.length] = this.text;
-		}
-	);
-	return t;
-};
-
-/**
- * Returns options which have been selected
- *
- * @name     selectedOptions
- * @author   Sam Collett (http://www.texotela.co.uk)
- * @type     jQuery
- * @example  $("#myselect").selectedOptions();
- *
- */
-$.fn.selectedOptions = function()
-{
-	return this.find("option:selected");
-};
-
-})(jQuery);
\ No newline at end of file
diff --git a/drupal7/sites/all/modules/ddblock/js/json2.pack.js b/drupal7/sites/all/modules/ddblock/js/json2.pack.js
deleted file mode 100644
index a3c695a2..00000000
--- a/drupal7/sites/all/modules/ddblock/js/json2.pack.js
+++ /dev/null
@@ -1,30 +0,0 @@
-
-if(!this.JSON){JSON={};}
-(function(){function f(n){return n<10?'0'+n:n;}
-if(typeof Date.prototype.toJSON!=='function'){Date.prototype.toJSON=function(key){return this.getUTCFullYear()+'-'+
-f(this.getUTCMonth()+1)+'-'+
-f(this.getUTCDate())+'T'+
-f(this.getUTCHours())+':'+
-f(this.getUTCMinutes())+':'+
-f(this.getUTCSeconds())+'Z';};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(key){return this.valueOf();};}
-var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapeable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'},rep;function quote(string){escapeable.lastIndex=0;return escapeable.test(string)?'"'+string.replace(escapeable,function(a){var c=meta[a];if(typeof c==='string'){return c;}
-return'\\u'+('0000'+a.charCodeAt(0).toString(16)).slice(-4);})+'"':'"'+string+'"';}
-function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];if(value&&typeof value==='object'&&typeof value.toJSON==='function'){value=value.toJSON(key);}
-if(typeof rep==='function'){value=rep.call(holder,key,value);}
-switch(typeof value){case'string':return quote(value);case'number':return isFinite(value)?String(value):'null';case'boolean':case'null':return String(value);case'object':if(!value){return'null';}
-gap+=indent;partial=[];if(typeof value.length==='number'&&!value.propertyIsEnumerable('length')){length=value.length;for(i=0;i<length;i+=1){partial[i]=str(i,value)||'null';}
-v=partial.length===0?'[]':gap?'[\n'+gap+
-partial.join(',\n'+gap)+'\n'+
-mind+']':'['+partial.join(',')+']';gap=mind;return v;}
-if(rep&&typeof rep==='object'){length=rep.length;for(i=0;i<length;i+=1){k=rep[i];if(typeof k==='string'){v=str(k,value);if(v){partial.push(quote(k)+(gap?': ':':')+v);}}}}else{for(k in value){if(Object.hasOwnProperty.call(value,k)){v=str(k,value);if(v){partial.push(quote(k)+(gap?': ':':')+v);}}}}
-v=partial.length===0?'{}':gap?'{\n'+gap+partial.join(',\n'+gap)+'\n'+
-mind+'}':'{'+partial.join(',')+'}';gap=mind;return v;}}
-if(typeof JSON.stringify!=='function'){JSON.stringify=function(value,replacer,space){var i;gap='';indent='';if(typeof space==='number'){for(i=0;i<space;i+=1){indent+=' ';}}else if(typeof space==='string'){indent=space;}
-rep=replacer;if(replacer&&typeof replacer!=='function'&&(typeof replacer!=='object'||typeof replacer.length!=='number')){throw new Error('JSON.stringify');}
-return str('',{'':value});};}
-if(typeof JSON.parse!=='function'){JSON.parse=function(text,reviver){var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==='object'){for(k in value){if(Object.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined){value[k]=v;}else{delete value[k];}}}}
-return reviver.call(holder,key,value);}
-cx.lastIndex=0;if(cx.test(text)){text=text.replace(cx,function(a){return'\\u'+
-('0000'+a.charCodeAt(0).toString(16)).slice(-4);});}
-if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,'@').replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,']').replace(/(?:^|:|,)(?:\s*\[)+/g,''))){j=eval('('+text+')');return typeof reviver==='function'?walk({'':j},''):j;}
-throw new SyntaxError('JSON.parse');};}})();
\ No newline at end of file
diff --git a/drupal7/sites/all/modules/ddblock/js/tools.scrollable-1.0.5.min.js b/drupal7/sites/all/modules/ddblock/js/tools.scrollable-1.0.5.min.js
deleted file mode 100644
index 499aa1b2..00000000
--- a/drupal7/sites/all/modules/ddblock/js/tools.scrollable-1.0.5.min.js
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
- * jquery.scrollable 1.0.5 - Scroll your HTML with eye candy.
- * 
- * Copyright (c) 2009 Tero Piirainen
- * http://flowplayer.org/tools/scrollable.html
- *
- * Dual licensed under MIT and GPL 2+ licenses
- * http://www.opensource.org/licenses
- *
- * Launch  : March 2008
- * Date: 2009-06-12 11:02:45 +0000 (Fri, 12 Jun 2009)
- * Revision: 1911 
- */
-(function(b){b.tools=b.tools||{version:{}};b.tools.version.scrollable="1.0.5";var c=null;function a(p,m){var s=this;if(!c){c=s}function n(t,u){b(s).bind(t,function(w,v){if(u&&u.call(this,v.index)===false&&v){v.proceed=false}});return s}b.each(m,function(t,u){if(b.isFunction(u)){n(t,u)}});var d=!m.vertical;var f=b(m.items,p);var j=0;function l(u,t){return u.indexOf("#")!=-1?b(u).eq(0):t.siblings(u).eq(0)}var q=l(m.navi,p);var g=l(m.prev,p);var i=l(m.next,p);var h=l(m.prevPage,p);var o=l(m.nextPage,p);b.extend(s,{getIndex:function(){return j},getConf:function(){return m},getSize:function(){return s.getItems().size()},getPageAmount:function(){return Math.ceil(this.getSize()/m.size)},getPageIndex:function(){return Math.ceil(j/m.size)},getRoot:function(){return p},getItemWrap:function(){return f},getItems:function(){return f.children()},getVisibleItems:function(){return s.getItems().slice(j,j+m.size)},seekTo:function(w,u,A){if(u===undefined){u=m.speed}if(b.isFunction(u)){A=u;u=m.speed}if(w<0){w=0}if(w>s.getSize()-m.size){return s}var B=s.getItems().eq(w);if(!B.length){return s}var t={index:w,proceed:true};b(s).trigger("onBeforeSeek",t);if(!t.proceed){return s}if(d){var v=-B.position().left;f.animate({left:v},u,m.easing,A?function(){A.call(s)}:null)}else{var z=-B.position().top;f.animate({top:z},u,m.easing,A?function(){A.call(s)}:null)}if(q.length){var x=m.activeClass;var y=Math.ceil(w/m.size);y=Math.min(y,q.children().length-1);q.children().removeClass(x).eq(y).addClass(x)}if(w===0){g.add(h).addClass(m.disabledClass)}else{g.add(h).removeClass(m.disabledClass)}if(w>=s.getSize()-m.size){i.add(o).addClass(m.disabledClass)}else{i.add(o).removeClass(m.disabledClass)}c=s;j=w;b(s).trigger("onSeek",{index:w});return s},move:function(v,u,t){var w=j+v;if(m.loop&&w>(s.getSize()-m.size)){w=0}return this.seekTo(w,u,t)},next:function(u,t){return this.move(1,u,t)},prev:function(u,t){return this.move(-1,u,t)},movePage:function(v,u,t){return this.move(m.size*v,u,t)},setPage:function(x,y,v){var u=m.size;var t=u*x;var w=t+u>=this.getSize();if(w){t=this.getSize()-m.size}return this.seekTo(t,y,v)},prevPage:function(u,t){return this.setPage(this.getPageIndex()-1,u,t)},nextPage:function(u,t){return this.setPage(this.getPageIndex()+1,u,t)},begin:function(u,t){return this.seekTo(0,u,t)},end:function(u,t){return this.seekTo(this.getSize()-m.size,u,t)},reload:function(){return r()},click:function(u,x,v){var w=s.getItems().eq(u);var t=m.activeClass;if(u<0||u>=this.getSize()){return s}if(m.size==2){if(u==s.getIndex()){u--}s.getItems().removeClass(t);w.addClass(t);return this.seekTo(u,x,v)}if(!w.hasClass(t)){s.getItems().removeClass(t);w.addClass(t);var z=Math.floor(m.size/2);var y=u-z;if(y>s.getSize()-m.size){y=s.getSize()-m.size}if(y!==u){return this.seekTo(y,x,v)}}return s},onBeforeSeek:function(t){return n("onBeforeSeek",t)},onSeek:function(t){return n("onSeek",t)}});if(b.isFunction(b.fn.mousewheel)){p.bind("mousewheel.scrollable",function(u,v){var t=b.browser.opera?1:-1;s.move(v>0?t:-t,50);return false})}g.addClass(m.disabledClass).click(function(){s.prev()});i.click(function(){s.next()});o.click(function(){s.nextPage()});h.addClass(m.disabledClass).click(function(){s.prevPage()});if(m.keyboard){b(document).unbind("keydown.scrollable").bind("keydown.scrollable",function(t){var u=c;if(!u||t.altKey||t.ctrlKey){return}if(d&&(t.keyCode==37||t.keyCode==39)){u.move(t.keyCode==37?-1:1);return t.preventDefault()}if(!d&&(t.keyCode==38||t.keyCode==40)){u.move(t.keyCode==38?-1:1);return t.preventDefault()}return true})}function r(){if(q.is(":empty")||q.data("me")==s){q.empty();q.data("me",s);for(var u=0;u<s.getPageAmount();u++){var v=b("<"+m.naviItem+"/>").attr("href",u).click(function(x){var w=b(this);w.parent().children().removeClass(m.activeClass);w.addClass(m.activeClass);s.setPage(w.attr("href"));return x.preventDefault()});if(u===0){v.addClass(m.activeClass)}q.append(v)}}else{var t=q.children();t.each(function(w){var x=b(this);x.attr("href",w);if(w===0){x.addClass(m.activeClass)}x.click(function(){q.find("."+m.activeClass).removeClass(m.activeClass);x.addClass(m.activeClass);s.setPage(x.attr("href"))})})}if(m.clickable){s.getItems().each(function(x,w){var y=b(this);if(!y.data("set")){y.bind("click.scrollable",function(){s.click(x)});y.data("set",true)}})}if(m.hoverClass){s.getItems().hover(function(){b(this).addClass(m.hoverClass)},function(){b(this).removeClass(m.hoverClass)})}return s}r();var e=null;function k(){if(e){return}e=setInterval(function(){if(m.interval===0){clearInterval(e);e=0;return}s.next()},m.interval)}if(m.interval>0){p.hover(function(){clearInterval(e);e=0},function(){k()});k()}}b.fn.scrollable=function(d){var e=this.eq(typeof d=="number"?d:0).data("scrollable");if(e){return e}var f={size:5,vertical:false,clickable:true,loop:false,interval:0,speed:400,keyboard:true,activeClass:"active",disabledClass:"disabled",hoverClass:null,easing:"swing",items:".items",prev:".prev",next:".next",prevPage:".prevPage",nextPage:".nextPage",navi:".navi",naviItem:"a",api:false,onBeforeSeek:null,onSeek:null};b.extend(f,d);this.each(function(){e=new a(b(this),f);b(this).data("scrollable",e)});return f.api?e:this}})(jQuery);
\ No newline at end of file
