// page init
$(window).bind("load", function() {
	initInfoText();
	initOpenClose();
	initImageRotations();
});

function initInfoText(){
	var content = $('.infotext');
	if(content.length == 0){
		var paging = $('.paging').height(15);
		return;
	}
	content[0].style.top = ($('.paging').offset().top+60)+'px';
}
function initImageRotations() {
	// image rotation
	/* Deze code was uitgecomment op 18-12. Waarom? Hierdoor gaat de styling mis..*/
	var _angle = -4;
	$('.img-border').each(function(){
		var _img = $(this).find('img');
		_img.rotate(_angle);
	});
		

	// text rotation
	
	$('.last-minutes-holder .row .img-border .text-row strong').canvasText({
		textFont: "bold 11px Arial, sans-serif",
		textColor: '#fff',
		textAngle:-4,
		cWidth: 120,
		cHeight: 20,
		tOffsetX: 5,
		tOffsetY: 20
	});
	$('.last-minutes-holder .row .img-border .text-row span').canvasText({
		textFont: "11px Arial, sans-serif",
		textColor: '#ddd',
		textAngle:-4,
		cWidth: 30,
		cHeight: 20,
		tOffsetX: 0,
		tOffsetY: 12
	});
	$('.last-minutes-holder .row .img-border .price-holder strong').canvasText({
		textFont: (($.browser.msie ? '' : 'bold ')+"bold 17px Arial, sans-serif"),
		textColor: '#404040',
		textAngle:-4,
		cWidth: 50,
		cHeight: 60,
		tOffsetX: 4,
		tOffsetY: 18
	});
	$('.last-minutes-holder .row .img-border .price-holder span').canvasText({
		textFont: "bold 12px Arial, sans-serif",
		textColor: '#404040',
		textAngle:-4,
		cWidth: 8,
		cHeight: 60,
		tOffsetX: 2,
		tOffsetY: 18
	});
	$('.top-box .content ul a .price-holder strong').canvasText({
		textFont: (($.browser.msie ? '' : 'bold ')+"bold 11px Arial, sans-serif"),
		textColor: '#404040',
		textAngle:-8,
		cWidth: 30,
		cHeight: 60,
		tOffsetX: -1,
		tOffsetY: 14
	});
	$('.top-box .content ul a .price-holder span').canvasText({
		textFont: (($.browser.msie ? '' : 'bold ')+"10px Arial, sans-serif"),
		textColor: '#404040',
		textAngle:-5,
		cWidth: 8,
		cHeight: 60,
		tOffsetX: 1,
		tOffsetY: 14
	});
		$('.last-minutes-holder .row .flightimg-border .price-holder strong').canvasText({
		textFont: (($.browser.msie ? '' : 'bold ')+"bold 11px Arial, sans-serif"),
		textColor: '#404040',
		textAngle:-4,
		cWidth: 30,
		cHeight: 60,
		tOffsetX: 0,
		tOffsetY: 14
	});
	$('.last-minutes-holder .row .flightimg-border .price-holder span').canvasText({
		textFont: "bold 10px Arial, sans-serif",
		textColor: '#404040',
		textAngle:-4,
		cWidth: 8,
		cHeight: 60,
		tOffsetX: 1,
		tOffsetY: 14
	});
	
}

// open-close blocks function
function initOpenClose() {
	var _slideSpeed = 600;
	var _activeClass = 'expanded';
	$('.open-close').each(function(){
		var _holder = $(this);
		var _opener = _holder.find('.opener');
		var _openerLink = _holder.find('.openerLink');
		var _slider = _holder.find('.slide');
		_opener.click(function(){
			if(_holder.hasClass(_activeClass)) {
				_slider.slideUp(_slideSpeed,function(){
					_holder.removeClass(_activeClass);
					initInfoText();
				});
			} else {
				_holder.addClass(_activeClass);
				_slider.slideDown(_slideSpeed,function(){
					initInfoText();
				});
			}
			return false;
		});
		_openerLink.click(function(){
			if(_holder.hasClass(_activeClass)) {
				_slider.slideUp(_slideSpeed,function(){
					_holder.removeClass(_activeClass);
					initInfoText();
				});
			} else {
				_holder.addClass(_activeClass);
				_slider.slideDown(_slideSpeed,function(){
					initInfoText();
				});
			}
			return false;
		});
		if(_holder.hasClass(_activeClass)) _slider.show();
		else _slider.hide();
	});
	// Open first element
	$(document).ready(function() {
		$('.opener:first').click();
	});
}

canvasFail = false;

$(document).ready(function() { 
	// canvasText plugin
	jQuery.fn.canvasText = function(_options){
		var _options = jQuery.extend({
			textFont: "20pt Verdana, sans-serif",
			textColor: '#000',
			textAngle:90,
			cWidth: 100,
			cHeight: 100,
			tOffsetX: 0,
			tOffsetY: 0
		},_options);
	
		return this.each(function(){
	
			if(canvasFail) return;
			// gallery options
			var _this = jQuery(this);
			var _thisText = _this.text();
			var _thisFont = _options.textFont;
			var _thisColor = _options.textColor;
			var _angle = (_options.textAngle*Math.PI)/180;
			var _cWidth = _options.cWidth;
			var _cHeight = _options.cHeight;
			var _tOffsetX = _options.tOffsetX;
			var _tOffsetY = _options.tOffsetY;
	
			// create canvas
			var _canvas = document.createElement('CANVAS');
			var ctx;
			if (window.G_vmlCanvasManager && window.attachEvent && !window.opera) {
				_canvas = window.G_vmlCanvasManager.initElement(_canvas);
			}
			ctx = _canvas.getContext('2d');
	
			if(!(typeof ctx.fillText === 'function')) {
				canvasFail=true;
				return;
			}
			_this.empty().append(_canvas);
	
			// init canvas
			_canvas.width = _cWidth;
			_canvas.height = _cHeight;
	
			// draw on canvas
			ctx.fillStyle = _thisColor;
			ctx.font = _thisFont;
			ctx.rotate(_angle);
			ctx.fillText(_thisText, _tOffsetX, _tOffsetY);
		});
	};
});

$(document).ready(function() { 
	/* jquery image rotation plugin */
	jQuery.fn.rotate = function(angle,whence) {
		var p = this.get(0);
	
		// we store the angle inside the image tag for persistence
		if (!whence) {
			p.angle = ((p.angle==undefined?0:p.angle) + angle) % 360;
		} else {
			p.angle = angle;
		}
	
		if (p.angle >= 0) {
			var rotation = Math.PI * p.angle / 180;
		} else {
			var rotation = Math.PI * (360+p.angle) / 180;
		}
		var costheta = Math.cos(rotation);
		var sintheta = Math.sin(rotation);
	
		if (document.all && !window.opera) {
			var canvas = document.createElement('img');
	
			canvas.src = p.src;
			canvas.height = p.height;
			canvas.width = p.width;
	
			//canvas.style.filter = "progid:DXImageTransform.Microsoft.Matrix(M11="+costheta+",M12="+(-sintheta)+",M21="+sintheta+",M22="+costheta+",SizingMethod='auto expand')";
			
		} else {
			if(false){
			var canvas = document.createElement('canvas');
			if (!p.oImage) {
				canvas.oImage = new Image();
				canvas.oImage.src = p.src;
			} else {
				canvas.oImage = p.oImage;
			}
	
			canvas.style.width =  canvas.width = Math.abs(costheta*canvas.oImage.width) + Math.abs(sintheta*canvas.oImage.height);
			canvas.style.height = canvas.height = Math.abs(costheta*canvas.oImage.height) + Math.abs(sintheta*canvas.oImage.width);
	
			var context = canvas.getContext('2d');
			context.save();
			if (rotation <= Math.PI/2) {
				context.translate(sintheta*canvas.oImage.height,0);
			} else if (rotation <= Math.PI) {
				context.translate(canvas.width,-costheta*canvas.oImage.height);
			} else if (rotation <= 1.5*Math.PI) {
				context.translate(-costheta*canvas.oImage.width,canvas.height);
			} else {
				context.translate(0,-sintheta*canvas.oImage.width);
			}
			context.rotate(rotation);
			context.drawImage(canvas.oImage, 0, 2, canvas.oImage.width, canvas.oImage.height);
			context.restore();
			}
		}
		if(!canvas) var canvas = {};
		canvas.id = p.id;
		canvas.angle = p.angle;
		p.parentNode.replaceChild(canvas, p);
	};
});

$(document).ready(function() { 
	jQuery.fn.rotateRight = function(angle) {
		this.rotate(angle==undefined?90:angle);
	};
});

$(document).ready(function() { 
	jQuery.fn.rotateLeft = function(angle) {
		this.rotate(angle==undefined?-90:-angle);
	};
});