/**
 * Custom scripts for MIO
 * 
 * @author Stijn Van Minnebruggen [www.donotfold.be]
 * @copyright These Days [www.thesedays.com]
 * 
 * adaptions for tdwin:
 *
 * ajax:
 * footerbarEmailForm -> ajaxURL: '/ajax/Subscribe.aspx'
 * footerbarForm -> ajaxURL: '/ajax/SubscribeForm.aspx'
 *
 * flashplayer: 
 *  xml: '../img/video/xml/content_'+language+'.xml'
 * 	swfobject.embedSWF("../img/video/swf/player.swf", "player", "100%", "100%", "9.0.0","../img/video/swf/expressInstall.swf", flashvars, params);
 */
	
	$(document).ready(function() {
		
		// language chooser
			$('body.page-chooselang #languages').languageSelector();
		
		// bg stretcher
			if(typeof(bgImages) == "undefined") bgImages = ['/img/backgrounds/boy_girl_hug.jpg'];
			$(document).bgStretcher({ images: bgImages, imageWidth: 975, imageHeight: 673, nextSlideDelay: 5000 });
		
		// footerbar scrollers
			$('.footerbarscroller ul').footerbarScroller({ width: 630 });
			$('.footerbarscroller2 ul').footerbarScroller({ width: 480 });
			$('.footerbarvscroller ul').footerbarVScroller();
		
		// footerbar forms
			$('#footerbar_emailbtn').footerbarEmailForm({ field: '#footerbar_email', ajaxURL: '/ajax/Subscribe.aspx' });
			$('#footerbarsubmit').footerbarForm({ ajaxURL: '/ajax/SubscribeForm.aspx' });
			$('#footerbar_thumbs').footerbarToggle();
			$('.contactForm_submit').contactForm();
			$('.wrapperclose a').click(function() { $('#footerbar').animate({ 'height': 0 }, 800); return false; });
		
		// content pages
			$('.news_content').newsPage();
			$('#specialOffers').listMePage({ content: '.specialOffers_page', titleClass: 'specialoffers_title', textClass: 'specialoffers_text', imageClass: 'specialoffers_image', linkClass: 'specialoffers_link' });
			$('#newsPage').listMePage({ content: '.news_page', titleClass: 'news_title', textClass: 'news_text', imageClass: 'news_image', linkClass: 'news_link' });
		
		// clearfield
			$('.clearfield').clearField();
		
		// signatures
			$('.signature').signature();
		
		// start movies
			$('.startMovies').click(function() { initPlayer(); return false; });
		
		// fix transparent pngs
			$(this).pngFix();
		
		// hide footerbar if empty
			if($('.topwrapper').size() && trim($('.topwrapper').text()) == '') $('#footerbar').hide();

		// link to catalogus
			$('.link_to_catalogus').click(function() {
				$(this).attr('href', function() {
					var country = $('#country').val();
					switch(country.toLowerCase()) {
						case 'be': case 'nl': case 'lu': return 'http://ipaper.thesedays.com/ijsboerke/BeneluxEdition2010/'; break;
						case 'de': case 'uk': case 'at': return 'http://ipaper.thesedays.com/ijsboerke/EnglishGermanEdition2010/'; break;
						case 'fr': case 'es': case 'ch': return 'http://ipaper.thesedays.com/ijsboerke/FrenchSpanishEdition2010/'; break;
						case '':
							var lang = $('#lang').val();
							if (lang == 'fr')
							{
								return 'http://ipaper.thesedays.com/ijsboerke/FrenchSpanishEdition2010/'; break;
							}
							else if (lang == 'en')
							{
								return 'http://ipaper.thesedays.com/ijsboerke/EnglishGermanEdition2010/'; break;
							}
						default: return 'http://ipaper.thesedays.com/ijsboerke/EnglishGermanEdition2010/'; break;
					}
				});
			});
		
	});



/**
 * Custom language selector for MIO
 * 
 * @author Stijn Van Minnebruggen [www.donotfold.be]
 * @copyright These Days [www.thesedays.com]
 * 
 */
	
	(function($) {
		$.fn.languageSelector = function(settings) {
			var settings = $.extend({ speed: 1000, divHeight: 28 }, settings);
			return this.each(function() {
				var dad = $(this);
				dad.children('li').children('div').each(function(i) {
					var el = $(this).css('top', settings.divHeight * i);
					if(!el.children('a').size()) {
						$(this).wrapInner('<a href="#" />').click(function() {
							var ul = el.parent('li').children('ul');
							if(ul.size()) {
								dad.children('li').children('div').animate({'left': '-150%'}, settings.speed);
								ul.animate({'left': '50%'}, settings.speed);
								return false;
							}
						});
					}
				});
			});
		};
	})(jQuery);



/**
 * Footerbar scrollers
 * 
 * @author Stijn Van Minnebruggen [www.donotfold.be]
 * @copyright These Days [www.thesedays.com]
 * 
 */
	
	(function($) {
		$.fn.footerbarScroller = function(settings) {
			var settings = $.extend({ interval: 8000, speed: 800, width: 630, arrL: '.footerbarscrollerL', arrR: '.footerbarscrollerR', autoScroll: true }, settings);
			var iv = (settings.autoScroll) ? setInterval(function() { move(); }, settings.interval) : '';
			var ul = $(this);
			var isMoving = false;
			var maxW = ul.children('li').size() * settings.width;
			$(settings.arrL).click(function() { clearInterval(iv); move(-1); return false; });
			$(settings.arrR).click(function() { clearInterval(iv); move(); return false; });
			var move = function(direction) {
				if(!isMoving) {
					if(direction == null) direction = 1;
					ul.each(function() {
						var currX = parseFloat(ul.css('margin-left'));
						if(direction > 0) var newX = (currX - settings.width <= -maxW) ? 0 : currX - settings.width;
						else var newX = (currX + settings.width > 0) ? -maxW + settings.width : currX + settings.width;
						isMoving = true;
						ul.animate({ 'margin-left': newX }, settings.speed, function() { isMoving = false; });
					});
				}
			};
			return ul;
		};
		$.fn.footerbarVScroller = function(settings) {
			var settings = $.extend({ interval: 8000, speed: 800, itemH: 20, height: 100, arrU: '.footerbarscrollerU', arrD: '.footerbarscrollerD', autoScroll: false }, settings);
			var iv = (settings.autoScroll) ? setInterval(function() { move(); }, settings.interval) : '';
			var ul = $(this);
			var isMoving = false;
			var itemsPerPage = settings.height / settings.itemH;
			var items = ul.children('li').size();
			items = Math.ceil(items / itemsPerPage) * itemsPerPage;
			var maxH = items * settings.itemH;
			$(settings.arrU).click(function() { clearInterval(iv); move(-1); return false; });
			$(settings.arrD).click(function() { clearInterval(iv); move(); return false; });
			var move = function(direction) {
				if(!isMoving) {
					if(direction == null) direction = 1;
					ul.each(function() {
						var currY = parseFloat(ul.css('margin-top'));
						if(direction > 0) var newY = (currY - settings.height <= -maxH) ? 0 : currY - settings.height;
						else var newY = (currY + settings.height > 0) ? -maxH + settings.height : currY + settings.height;
						isMoving = true;
						ul.animate({ 'margin-top': newY }, settings.speed, function() { isMoving = false; });
					});
				}
			};
			return ul;
		};
	})(jQuery);



/**
 * Form handling
 * 
 * @author Stijn Van Minnebruggen [www.donotfold.be]
 * @copyright These Days [www.thesedays.com]
 * 
 */
	
	(function($) {
		$.fn.footerbarEmailForm = function(settings) {
			var settings = $.extend({ field: '', ajaxURL: '', errorClass: 'error' }, settings);
			return this.click(function() {
				var field = $(settings.field);
				if(field.size() <= 0) return false
				field.removeClass(settings.errorClass);
				if(isEmail(field.val())) {
					$.post(settings.ajaxURL, { 'email': field.val(), 'language': $('#lang').val(), 'country': $('#country').val() }, function(r) {
						$('#email').val(field.val());
						$('#subscribe_id').val(r.id);
						if(r.success) {
							$('#footerbar .topwrapper').animate({ 'margin-top': -170 }, 1000);
							pageTracker._trackPageview('/' + $('#language').val() + '/edm/sub');
						} else {
							alert(r.message);
						}
					}, 'json');
				} else {
					field.addClass(settings.errorClass);
				}
				return false;
			});
		};
		$.fn.footerbarForm = function(settings) {
			var settings = $.extend({ ajaxURL: '' }, settings);
			return this.click(function() {
				var error = false;
				hideErrors();
				if($('#name_f').val() == '') error = showError('#name_f');
				if($('#name_l').val() == '') error = showError('#name_l');
				if(!isEmail($('#email').val())) error = showError('#email');
				//if($('#address_street').val() == '') error = showError('#address_street');
				//if($('#address_streetnr').val() == '') error = showError('#address_streetnr');
				//if($('#address_postal').val() == '') error = showError('#address_postal');
				//if($('#address_city').val() == '') error = showError('#address_city');
				if(!error) {
					var post = {
						gender: (($('#gender_f').attr('checked')) ? 'f' : 'm')
						,name_f: $('#name_f').val()
						,name_l: $('#name_l').val()
						,email: $('#email').val()
						,address_street: $('#address_street').val()
						,address_streetnr: $('#address_streetnr').val()
						,address_streetbus: $('#address_streetbus').val()
						,address_postal: $('#address_postal').val()
						,address_city: $('#address_city').val()
						,subscribe_id: $('#subscribe_id').val()
					};
					$.post(settings.ajaxURL, post, function(r) {
						if(r.success) { 
							$('#footerbar .topwrapper').animate({ 'margin-top': -340 }, 1000);
							pageTracker._trackPageview('/' + $('#language').val() + '/edm/tnx');
						} else {
							alert(r.message);
						}
					}, 'json');
				}
				return false;
			});
		};
		$.fn.contactForm = function() {
			return this.click(function() {
				var error = false;
				hideErrors();
				//if($('.field_name_f').val() == '') error = showError('.field_name_f');
				//if($('.field_name_l').val() == '') error = showError('.field_name_l');
				if(!isEmail($('.field_email').val())) error = showError('.field_email');
				//if($('.field_phone').val() == '') error = showError('.field_phone');
				//if($('.field_address_street').val() == '') error = showError('.field_address_street');
				//if($('.field_address_streetnr').val() == '') error = showError('.field_address_streetnr');
				//if($('.field_address_postal').val() == '') error = showError('.field_address_postal');
				//if($('.field_address_city').val() == '') error = showError('.field_address_city');
				if($('.field_message').val() == '') error = showError('.field_message');
				return (error) ? false : true;
			});
		};
	})(jQuery);



/**
 * Dynamic news page
 * 
 * @author Stijn Van Minnebruggen [www.donotfold.be]
 * @copyright These Days [www.thesedays.com]
 * 
 */
	
	(function($) {
		$.fn.newsPage = function(settings) {
			var settings = $.extend({ current: 0, itemClass: 'news_content_item', titleClass: 'news_content_title', textClass: 'news_content_text', imageClass: 'news_content_image' }, settings);
			var items = $(this).children('.'+settings.itemClass);
			var titles = items.children('.'+settings.titleClass);
			var texts = items.children('.'+settings.textClass);
			var imgs = items.children('.'+settings.imageClass);
			var getHtml = function() {
				var html = '<div class="newsPageContent"><div class="leftcol">'+titles.eq(settings.current).html()+'<div>'+texts.eq(settings.current).html()+'</div>';
				html += '<ul class="newsNumList clearfix"><li><a href="#" class="arr_l spacemeright newsArrL">&lt;</a></li>';
				for(var i=0; i<items.size(); i++) html += '<li><a href="#" class="newsArrNum">'+(i+1)+'</a></li>';
				html += '<li><a href="#" class="arr_r newsArrR">&gt;</a></li></ul></div>';
				html += '<div class="image_square image_mask">'+imgs.eq(settings.current).html()+'</div></div>';
				return html;
			};
			var showNext = function(direction) {
				if(direction == null) direction = 1;
				settings.current = (settings.current+direction < 0) ? titles.size()-1 : ((settings.current+direction >= titles.size()) ? 0 : settings.current+direction);
				$('.newsPageContent').replaceWith(getHtml());
			};
			return $(this).each(function() {
				$(this).before(getHtml());
				$('.newsArrL').live('click', function() { showNext(-1); return false; });
				$('.newsArrR').live('click', function() { showNext(); return false; });
				$('.newsArrNum').live('click', function() { settings.current = parseFloat($(this).text()); showNext(-1); return false; });
			});
		};
		$.fn.listMePage = function(settings) {
			var settings = $.extend({ contentClass: 'specialOffers_page', titleClass: 'specialoffers_title', textClass: 'specialoffers_text', imageClass: 'specialoffers_image', linkClass: 'specialoffers_link' }, settings);
			return $(this).children('li').each(function() {
				var el = $(this);
				$('.'+settings.linkClass).click(function() {
					var title = $(this).parent().nextAll('.'+settings.titleClass).html();
					var text = $(this).parent().nextAll('.'+settings.textClass).html();
					var image = $(this).parent().nextAll('.'+settings.imageClass).html();
					var html = '<div class="leftcol">'+title+text+'</div><div class="image_square">'+image+'</div>';
					$('.'+settings.contentClass).html(html);
					return false;
				});
			});
		};
	})(jQuery);



/**
 * Footerbar toggler
 * 
 * @author Stijn Van Minnebruggen [www.donotfold.be]
 * @copyright These Days [www.thesedays.com]
 * 
 */
	
	(function($) {
		$.fn.footerbarToggle = function(settings) {
			var settings = $.extend({ speed: 400, minHeight: 30, maxHeight: 100 }, settings);
			return this.each(function() {
				var el = $(this);
				el.click(function() {
					if(el.height() < settings.maxHeight) {
						el.children('.footerbar_content').css('height', settings.maxHeight).fadeIn();
						el.children('.footerbar_bg').children('img').fadeOut();
						el.animate({ 'height': settings.maxHeight }, settings.speed);
					} else {
						el.children('.footerbar_content').fadeOut();
						el.children('.footerbar_bg').children('img').fadeIn();
						el.animate({ 'height': settings.minHeight }, settings.speed);
					}
				});
			});
		};
	})(jQuery);



/**
 * Signature
 * 
 * @author Stijn Van Minnebruggen [www.donotfold.be]
 * @copyright These Days [www.thesedays.com]
 * 
 */
	
	(function($) {
		$.fn.signature = function(settings) {
			var settings = $.extend({ timeout: 200 }, settings);
			return this.each(function() {
				$(this).children('.signature_stamp').hover(function() {
					$(this).next('.signature_content').show();
				}, function() {
					var el = $(this).next('.signature_content');
					var to = setTimeout(function() { el.hide(); }, settings.timeout);
					el.hover(function() { clearInterval(to); el.show(); }, function() { el.hide(); });
				});
			});
		};
	})(jQuery);




/**
 * jQuery-Plugin "clearField"
 * 
 * @version: 1.1, 04.12.2010
 * 
 * @author: Stijn Van Minnebruggen
 *          stijn@donotfold.be
 *          http://www.donotfold.be
 * 
 * @example: $('selector').clearField();
 * @example: $('selector').clearField({ blurClass: 'myBlurredClass', activeClass: 'myactiveClass' });
 * 
 */
	
	(function($){$.fn.clearField=function(s){s=jQuery.extend({blurClass:'clearFieldBlurred',activeClass:'clearFieldActive',attribute:'rel',value:''},s);return $(this).each(function(){var el=$(this);s.value=el.val();if(el.attr(s.attribute)==undefined){el.attr(s.attribute,el.val()).addClass(s.blurClass)}else{s.value=el.attr(s.attribute)}el.focus(function(){if(el.val()==el.attr(s.attribute)){el.val('').removeClass(s.blurClass).addClass(s.activeClass)}});el.blur(function(){if(el.val()==''){el.val(el.attr(s.attribute)).removeClass(s.activeClass).addClass(s.blurClass)}})})}})(jQuery);



/**
 * --------------------------------------------------------------------
 * jQuery-Plugin "pngFix"
 * Version: 1.1, 11.09.2007
 * by Andreas Eberhard, andreas.eberhard@gmail.com
 *                      http://jquery.andreaseberhard.de/
 *
 * Copyright (c) 2007 Andreas Eberhard
 * Licensed under GPL (http://www.opensource.org/licenses/gpl-license.php)
 */
	
	eval(function(p,a,c,k,e,r){e=function(c){return(c<62?'':e(parseInt(c/62)))+((c=c%62)>35?String.fromCharCode(c+29):c.toString(36))};if('0'.replace(0,e)==0){while(c--)r[e(c)]=k[c];k=[function(e){return r[e]||e}];e=function(){return'([237-9n-zA-Z]|1\\w)'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(s(m){3.fn.pngFix=s(c){c=3.extend({P:\'blank.gif\'},c);8 e=(o.Q=="t R S"&&T(o.u)==4&&o.u.A("U 5.5")!=-1);8 f=(o.Q=="t R S"&&T(o.u)==4&&o.u.A("U 6.0")!=-1);p(3.browser.msie&&(e||f)){3(2).B("img[n$=.C]").D(s(){3(2).7(\'q\',3(2).q());3(2).7(\'r\',3(2).r());8 a=\'\';8 b=\'\';8 g=(3(2).7(\'E\'))?\'E="\'+3(2).7(\'E\')+\'" \':\'\';8 h=(3(2).7(\'F\'))?\'F="\'+3(2).7(\'F\')+\'" \':\'\';8 i=(3(2).7(\'G\'))?\'G="\'+3(2).7(\'G\')+\'" \':\'\';8 j=(3(2).7(\'H\'))?\'H="\'+3(2).7(\'H\')+\'" \':\'\';8 k=(3(2).7(\'V\'))?\'float:\'+3(2).7(\'V\')+\';\':\'\';8 d=(3(2).parent().7(\'href\'))?\'cursor:hand;\':\'\';p(2.9.v){a+=\'v:\'+2.9.v+\';\';2.9.v=\'\'}p(2.9.w){a+=\'w:\'+2.9.w+\';\';2.9.w=\'\'}p(2.9.x){a+=\'x:\'+2.9.x+\';\';2.9.x=\'\'}8 l=(2.9.cssText);b+=\'<y \'+g+h+i+j;b+=\'9="W:X;white-space:pre-line;Y:Z-10;I:transparent;\'+k+d;b+=\'q:\'+3(2).q()+\'z;r:\'+3(2).r()+\'z;\';b+=\'J:K:L.t.M(n=\\\'\'+3(2).7(\'n\')+\'\\\', N=\\\'O\\\');\';b+=l+\'"></y>\';p(a!=\'\'){b=\'<y 9="W:X;Y:Z-10;\'+a+d+\'q:\'+3(2).q()+\'z;r:\'+3(2).r()+\'z;">\'+b+\'</y>\'}3(2).hide();3(2).after(b)});3(2).B("*").D(s(){8 a=3(2).11(\'I-12\');p(a.A(".C")!=-1){8 b=a.13(\'url("\')[1].13(\'")\')[0];3(2).11(\'I-12\',\'none\');3(2).14(0).15.J="K:L.t.M(n=\'"+b+"\',N=\'O\')"}});3(2).B("input[n$=.C]").D(s(){8 a=3(2).7(\'n\');3(2).14(0).15.J=\'K:L.t.M(n=\\\'\'+a+\'\\\', N=\\\'O\\\');\';3(2).7(\'n\',c.P)})}return 3}})(3);',[],68,'||this|jQuery||||attr|var|style||||||||||||||src|navigator|if|width|height|function|Microsoft|appVersion|border|padding|margin|span|px|indexOf|find|png|each|id|class|title|alt|background|filter|progid|DXImageTransform|AlphaImageLoader|sizingMethod|scale|blankgif|appName|Internet|Explorer|parseInt|MSIE|align|position|relative|display|inline|block|css|image|split|get|runtimeStyle'.split('|'),0,{}))



/**
 * General javascript functions
 * 
 */
	
	var isEmail = function(v) { return /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(v); };
	var showError = function(s) { $('#error').show(); $(s).addClass('error'); return true; };
	var hideErrors = function() { $('#error').hide(); $('.error').removeClass('error'); };

    function trim(value) {
		  value = value.replace(/^\s+/,''); 
		  value = value.replace(/\s+$/,'');
		  return value;
	}

/**
 * Video player functions
 * 
 */
	
	var prevHTML = '';
	var initPlayer = function() {
		prevHTML = $('#background').html();
		var language = $('#lang').val();
		var flashvars = { xml: '../img/video/xml/content_'+language+'.xml' };
		var params = { menu: "false", wmode: "transparent" };
		$('#main_content').animate({ 'marginTop': -400 }, 800);
		$('#footerbar').animate({ 'height': 0 }, 800, function() {
			$('#background').html('<div id="player"></div>');
			swfobject.embedSWF("../img/video/swf/player.swf", "player", "100%", "100%", "9.0.0","../img/video/swf/expressInstall.swf", flashvars, params);
			$('#bgstretcher').hide();
		});
	};
	var closePlayer = function() {
		$('#background').html(prevHTML);
		$('#main_content').animate({ 'marginTop': 0 }, 800);
		$('#footerbar').animate({ 'height': 170 }, 800);
		$('#bgstretcher').show();
	};



