jQuery.noConflict();
jQuery(function($) {
	languagebox.bind();
	legendHack();
	dateList.bind();
	createTargetBlank();
});

function createTargetBlank() {

	jQuery('a.targetBlank').click(function(){
		window.open(this.href);
		return false;
	});
}

var languagebox = {
	html: '',
	bind: function() {
	
		jQuery('#footer ul li:first-child a').bind('click', languagebox.go);
		if (languagebox.firstTimeHere()){
			languagebox.go();
		}
	},
	go: function(evt) {		
		if (languagebox.html == '') {
			jQuery.ajax({
				'url': '/general/languages.html',
				'type': 'GET',
				'dataType': 'html',
				'timeout': 3000,				
				'error': function(){
					alert('Error loading language document');
				},
				'success': function(html){
					// do something with html	
					languagebox.html = html;
					languagebox.popover();
				}
			});
		} else {
			languagebox.popover();
		}
		if (evt){
			evt.preventDefault();
		}
	},
	firstTimeHere: function () {
		if (languagebox.readCookie('dontpopuplanguages')) {
			return false;	
		} else {
			// don't popup languages for one year
			var date = new Date();
			date.setTime(date.getTime()+(365*24*60*60*1000));			
			document.cookie = "dontpopuplanguages=1; expires="+date.toGMTString()+"; path=/";
			return true;
		}			
	},
	readCookie: function (name) {
		var nameEQ = name + "=";
		var ca = document.cookie.split(';');
		for(var i=0;i < ca.length;i++) {
			var c = ca[i];
			while (c.charAt(0)==' ') c = c.substring(1,c.length);
			if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		}
		return null;
	},
	popover: function() {
		var boxes = jQuery(languagebox.html).find('#overviewLeftColumn01');

		// lang codes
		var langCodes = new Array();
		langCodes['Nederlands'] = 'nl';
		
		// remove any language from url
		var url = window.location.href;
		for (langCode in langCodes) {
			if(url.indexOf('/' + langCodes[langCode] + '/') > -1) {
				url = url.replace('/' + langCodes[langCode] + '/', '/')
			}
		}

		jQuery(boxes).attr('id', 'modal_col');
		
		jQuery('<div class="langMenu"></div>').prependTo(boxes);
		var menu = jQuery('');
		var langbox = '';
		boxes.find('.box-frame h3').each(function(i) {	
			jQuery(this).click(function(){
				
				var lang = jQuery(this).html();
				
				// remove any language from url
				for (langCode in langCodes) {
					if(url.indexOf('/' + langCodes[langCode] + '/') > -1) {
						url = url.replace('/' + langCodes[langCode] + '/', '/')
					}
				}
				
				if(langCodes[lang] != undefined) {

					// add new language to url
					url = url.replace('.com/', '.com/' + langCodes[lang] + '/');
					url = url.replace('.nl/', '.nl/' + langCodes[lang] + '/');
				}
				
				// navigate to new language url
				jQuery("#language-button").attr('href', url);

				languagebox.display('langbox_'+i);
				jQuery(this).parent().find('h3.active').removeClass('active');
				jQuery(this).addClass('active');
			});
			
			jQuery('.langMenu', boxes).append(jQuery(this));
		}).filter('.csc-firstHeader').addClass('active');
		
		jQuery('.box-frame', boxes).each(function(i) {	
			this.id = 'langbox_' + i;			
		});
	
		jQuery.modal(boxes);
		this.display('langbox_0');
		jQuery("#simplemodal-container").append('<a id="language-button" class="modalCloseImg"></a>');
		jQuery("#language-button").attr('href', url);
		jQuery(".simplemodal-close").hide();
	},
	display: function(id) {
		jQuery('#modal_col .box-frame').hide();
		jQuery('#modal_col .box-frame#'+id).show();
	}
};


function legendHack() {
	if (jQuery.browser.mozilla) {
		jQuery('legend').wrapInner('<span></span>').after('<div class="legendspace"></div>');
	}
}

var dateList = {
	dateboxes: null,
	datesCount: 0,
	activeCount: 1,
	addButton: null,
	bind: function() {
		dateList.dateboxes = jQuery('.tx-powermail-pi1_fieldset_yourtimeoftravel div.tx_powermail_pi1_fieldwrap_html_date');
		dateList.datesCount = (dateList.dateboxes.length)/2;
		if (dateList.activeCount < dateList.datesCount){
			dateList.addButton = jQuery('<div class="clearfix"></div><a href="#" id="addDataButton"><span>add date</span></a>');
			dateList.addButton.click(function (){return dateList.addDate();});
			jQuery('.tx-powermail-pi1_fieldset_yourtimeoftravel').append(dateList.addButton);
		}
		
		dateList.displayActive()
	}, 	
	displayActive: function(){		
		for (var i = 0; i < dateList.datesCount; i++) {		
			if (i < dateList.activeCount) {				
				jQuery(dateList.dateboxes[(i*2)]).show();				
				jQuery(dateList.dateboxes[(i*2)+1]).show();				
			} else {				
				jQuery(dateList.dateboxes[(i*2)]).hide();
				jQuery(dateList.dateboxes[(i*2)+1]).hide();
			}
		}		
	},
	addDate: function() {
		if (dateList.activeCount < dateList.datesCount){
			dateList.activeCount++;
			dateList.displayActive();
		}
		
		if (dateList.activeCount >= dateList.datesCount){
			dateList.addButton.hide();
		}
		
		return false;
	}	
};

