It appears that the site you linked to is just using a url parameter to specify which view to serve. A simply way to accomplish this is to create four different loop templates, each employing a different layout. Using the example site, you would need the following:
loop-complex.php, loop-simple.php, loop-poster.php and loop-logo.php
Then your normal templates (index.php, archive.php) would start out as something simple like this:
<?php
get_header();
$view = 'complex';
get_template_part( 'loop', $view );
get_sidebar();
get_footer();
?>
Now all that is needed is to process the url parameter and change which loop template is pulled in based on it’s value (and of course making sure it is a valid value):
$view = 'complex';
$mode = stripslashes( $_GET["layout"] );
$modes = array('complex', 'simple', 'poster', 'logo');
if(in_array($mode, $modes)) $view = $mode;
get_template_part('loop', $view);
Then you just code the four different loops to make the different layouts appear how you want them to.