/**
 Mootools More:
 More, Assets
 */
window.addEvent('domready', function() {
	
	// hack rel="external" for Mozilla
	$$('a[rel=external]').set('target', '_blank');

//	// Search button, tweak
//  if ($('ctl00_cphSearchBox_btnSearch')) {
//    $('ctl00_cphSearchBox_btnSearch').addEvent('click', function(event) {
//      if ($('aspnetForm')) {
//        var act = $('aspnetForm').get('action');
//        alert('act org: ' + act); //TEST
//        if (act.contains('?q=')) {
//          act = act.substring(0, act.indexOf('?'));
//          alert('act new: ' + act); //TEST
//        }
//      }
//    });
//  }
    
    /**
     * prijstabellen corrigeren
     */

    // align=left verwijderen
    if ($$('table[align=left]').length > 0) {
        $$('table[align=left]').each(function(table) {
            table.erase('align');
        });
    }

    // overbodige p tussen tabellen verwijderen
    if ($$('table').length > 0) {
        var p, current
        $$('table').each(function(table) {
            p = table.getNext('p')
            while (p) {
                current = p;
                p = p.getNext('p');
                current.dispose();
            }

            new Element('p', {html : '&nbsp;'}).inject(table, 'after');
        });
    }

	// Start up your engines!
	new Polyplan();
	
	$('content').getElements('.photo').each(function(photoHolder) {
		if (photoHolder.getElements('img').length > 0) {
			photoHolder.setStyle('display', 'block');
		}
	});

	var imageCount, images, imgleft, imgright, imageHeight = 200;

	if ($('ctl00_contentMainColumn_travellers')) {

		$$('.liTraveller').each(function(traveller) {
			traveller.setStyle('display', 'none');
		});

		$('ctl00_contentMainColumn_travellers').addEvent('change', function() {
			$$('.liTraveller').setStyle('display', 'none');
			for (var i = 0; i < $('ctl00_contentMainColumn_travellers').getSelected().get('value'); i++) {
				$$('.liTraveller')[i].setStyle('display', 'block');
			}
		});

		for (var i = 0; i < $('ctl00_contentMainColumn_travellers').getSelected().get('value'); i++) {
			$$('.liTraveller')[i].setStyle('display', 'block');
		}
	}

  $$('table').each(function(tbl) {
		if (tbl.get('id') != 'ctl00_contentMainColumn_brochure' && tbl.getParent('div').get('id') != 'singleBoatInfo') {
			tbl.set('border', '1');
		}
	});
	
	if ($('content').getElement('.viewer')) {
		if ($('content').getElement('.viewer').getSize().x > 220) {

			imageHeight = 150;

			var origWidth, origHeight
			
			if ($('content').getElement('.viewer').getElement('.right')) {
				$('content').getElement('.viewer').getElement('.right').getElements('img').each(function(img) {
					if (!img.hasClass('mapRight')) {
						origWidth = img.get('width');
						img.set('width', '152');
						img.set('height', parseInt((152 / origWidth) * img.getSize().y));
						img.setStyle('height', parseInt((152 / origWidth) * img.getSize().y));
						img.setStyle('display', 'none');
						img.setStyle('opacity', 0);
						new Element('a', {
              'href' : img.get('src').replace('user_medium', 'user_big'),
              'rel' : 'shadowbox[afbeeldingen]',
              'title' : img.get('title')
						}).wraps(img);
					}
				});

				new Element('div', {
					'class' : 'clear roundedbl roundedbr',
					'id' : 'diashow',
					'html' : '<a href="#" rel="shadowbox[afbeeldingen]">Klik hier voor diashow</a>'
				}).inject($('content').getElement('.viewer').getElement('.right'), 'top');
			}

			if ($('content').getElement('.viewer').getElement('.mapRight')) {
				new Element('a', {
					'href' : $('content').getElement('.viewer').getElement('.mapRight').get('src'),
					'rel' : 'shadowbox[kaart]'
				}).wraps($('content').getElement('.viewer').getElement('.mapRight'));
			}
			

			/*if ($('content').getElement('.viewer').getElement('.left')) {
				$('content').getElement('.viewer').getElement('.left').getElements('img').each(function(img) {
					if (!img.hasClass('mapRight')) {
						origWidth = img.get('width');
						img.set('width', '150');
						img.set('height', parseInt((150 / origWidth) * img.getSize().y));
						img.setStyle('height', parseInt((150 / origWidth) * img.getSize().y));
						img.setStyle('display', 'none');
						img.setStyle('opacity', 0);
					}
				});
			}*/

			for (var i = 0; i < 6; i++) {
				if ($('content').getElement('.viewer').getElement('.right')) {
					if ($('content').getElement('.viewer').getElement('.right').getElements('img')[i]) {
						$('content').getElement('.viewer').getElement('.right').getElements('img')[i].setStyle('display', 'block').fade.delay(Number.random(200, 1000), $('content').getElement('.viewer').getElement('.right').getElements('img')[i], 'in');
					}
				}
				
				/*if ($('content').getElement('.viewer').getElement('.left')) {
					if ($('content').getElement('.viewer').getElement('.left').getElements('img')[i]) {
						$('content').getElement('.viewer').getElement('.left').getElements('img')[i].setStyle('display', 'block').fade.delay(Number.random(200, 1000), $('content').getElement('.viewer').getElement('.left').getElements('img')[i], 'in');
					}
				}*/
			}
		} else {
			var contentHeight = $('content').getSize().y;
			imageCount = Math.ceil(contentHeight / imageHeight);
			images = $('content').getElement('.viewer').getElements('img')
			var imageTotalCount = images.length;

			if (imageTotalCount < imageCount) imageCount = imageTotalCount

			images.setStyles({
				'display' : 'none',
				'opacity' : 0
			});

			for (var i = 0; i < imageTotalCount; i++) {
				images[i].setStyle('display', 'block').fade.delay(Number.random(200, 1000), images[i], 'in');
			}
		}
	}

	Shadowbox.init({});
});

/*
 * Polyplan
 */
var Polyplan = new Class({
	initialize: function() {

		// gruwelijk tijdelijk
		/*$$('img[src^=/_images/]').each(function(img) {
			if (img.get('src').indexOf('/user_small/') > -1
				|| img.get('src').indexOf('/user_medium/') > -1
				|| img.get('src').indexOf('/user_large/') > -1) {
				img.set('src', 'http://www.polyplan.nl' + img.get('src'));
			}
		});*/

		new this.ThemesSlideshow();
		new this.Ticker();
	}
});

/*
 * Polyplan Themes Slideshow
 *
 * Slideshows used in the themes header
 */
//if (document.domain.indexOf('.lan') == -1) {
  Polyplan.prototype.ThemesSlideshow = new Class({
	  Implements : Options,
  	
	  /**
	   * Number of images left and right
	   */
	  options : {
		  left: 24,
		  right: 21
	  },

	  /*
	   * Left slideshow element
	   */
	  left: null,

	  /*
	   * Right slideshow element
	   */
	  right: null,
  	
	  /*
	   * Constructor
	   */
	  initialize: function(options) {
		  this.setOptions(options);
  		
		  // create and inject the left slideshow element
		  this.left = new Element('div', {
			  'id': 'slideshow_left'
		  }).inject($('themes').getElement('div.photos'));

		  // create and inject the right slideshow element
		  this.right = new Element('div', {
			  'id': 'slideshow_right'
		  }).inject($('themes').getElement('div.photos'));
  		
		  // add images to the left slideshow
		  /*this.getRandomImageArray(this.options.left).each(function(img) {
			  new Element('img', {
				  'src': '/_images/headers/links_' + img + '.jpg'
			  }).setStyle('opacity', 0).inject(this.left);
		  }.bind(this));*/
      var tmpLeft = this.getRandomImageArray(this.options.left).map(function(item) {
        return '/_images/headers/links_' + item + '.jpg';
      });
      var LeftImages = Asset.images(tmpLeft,{onProgress:function(counter, index, source) {
        this.setStyle('opacity','0').inject($('slideshow_left'));
        if(index == 0) {
         this.fade('in');
        }
      }});
      /*LeftImages.each(function(img) {
			  img.setStyle('opacity', 0).inject(this.left);
		  }.bind(this));*/

		  // add images to the right slideshow
		  /*this.getRandomImageArray(this.options.right).each(function(img) {
			  new Element('img', {
				  'src': '/_images/headers/rechts_' + img + '.jpg'
			  }).setStyle('opacity', 0).inject(this.right);
		  }.bind(this));*/
      var tmpRight = this.getRandomImageArray(this.options.right).map(function(item) {
        return '/_images/headers/rechts_' + item + '.jpg';
      });
      var RightImages = Asset.images(tmpRight,{onProgress:function(counter, index, source) {
        this.setStyle('opacity','0').inject($('slideshow_right'));
        if(index == 0) {
          this.fade('in');
        }
      }});
      /*RightImages.each(function(img) {
			  img.setStyle('opacity', 0).inject(this.right);
		  }.bind(this));*/
  		
		  // show the first image in both slideshows
		  //this.left.getElement('img').fade.delay(Number.random(200, 1000), this.left.getElement('img'), 'in');
		  //this.right.getElement('img').fade.delay(Number.random(200, 1000), this.right.getElement('img'), 'in');
  		
		  // start the slideshows
		  if (location.href.indexOf('dev.lan') < 0) {
			  this.fade.periodical(6000, this, this.left); 
			  this.fade.periodical(6000, this, this.right);
		  }
	  },
  	
	  /*
	   * Fade to the next slide with a random timeout
	   */
	  fade: function(show) {
		  this.next.delay(Number.random(500, 2000), show);
	  },
  	
	  /*
	   * Show the next slide
	   */
	  next: function() {
		  this.getElement('img').fade('out').inject(this);
		  this.getElement('img').fade('in');
	  },
  	
	  /*
	   * Get a random sorted array of image numbers
	   *
	   * @param int count
	   *
	   * @return array
	   */
	  getRandomImageArray: function(count) {
		  var randomImages, random;
  		
		  randomImages = [];
		  for (var i = 1; i <= count; i++) {
			  randomImages.push(i);
		  }

		  randomImages.sort(function() {return 0.5 - Math.random()});

		  return randomImages;
	  }
  });

  /*
   * Polyplan Ticker
   *
   * Ticker in the themes header used for news and announcements
   */
  Polyplan.prototype.Ticker = new Class({
  	
	  /*
	   * Reference to the ticker element
	   */
	  el: null,
  	
	  /*
	   * Constructor
	   */
	  initialize: function() {
		  this.el = $('ticker');
  		
		  new Element('div', {
			  'id': 'tickerbackground'
		  }).setStyle('opacity', .8).inject('themes');

		  // use a country based on url
		  var country = location.href.indexOf('/cyprus/') > -1 ? 'Cyprus' : 'Griekenland';
  		
		  // set the default payoff
		  this.el.set('html', 'Polyplan Reizen - d&#233; ' + country + ' specialist');		
	  }

  });


  /*
   * Ace Group bv - made by icon :hover
   */
  if ($('siteMadeByAceLogo')) {

    /* $('siteMadeByAceLogo').addEvent('click:relay(a)', function(event, clicked){
      event.preventDefault(); //don't follow the link
      alert('you clicked a link!');
      //you can reference the element clicked with the second
      //argument passed to your callback
      clicked.setStyle('color', '#777'); 
    }); */

    $('siteMadeByAceLogo').set({
      events: {
        mouseover: showAceHighLight,
        mouseout: resetAceIcon
      }
    });
  }

//}


function showAceHighLight() {
  if ($('siteMadeByAceLogo')) {
    $('siteMadeByAceLogo').set('src', '/_images/polyplan_website_made_by_ace-group_o.gif');
  }
}

function resetAceIcon() {
  if ($('siteMadeByAceLogo')) {
    $('siteMadeByAceLogo').set('src', '/_images/polyplan_website_made_by_ace-group.gif');
  }
}

