var Millenet;
if (typeof Millenet == "undefined") Millenet = {};
if (typeof Millenet.textResize == "undefined") {
	Millenet.textResize = {
		
		options: {},
		
		regions: null,
		linkBoxRegions:null,
		defaultTrigger: null,
		enlargeTrigger: null,
		
		defaults: {
			enlargedRegionsSelector: '#apply-online-box form, #apply-online-box p, #atm-box, .box-links-ul, #bottom-options, #bottom-content .margin-top, .center-box-large .box-br, .center-content-top-body, #center-content>*:not(h1,h2,h3), #center-content .box-br, #center-content p, #center-content ul, #contact-online-box strong, #contact-online-box form, #contact-online-box p, .download-list-container, #exchange-rates p, #exchange-rates .position-right, #footer, #gray-box-data .link-in-box-body, #job-offers-form form, .link-in-box-more, #left-content .box-br, #login-box-content label, #login-box p, .newsitem p, #open-account-steps, #path, .table-01, .tab-content, #top-search>ul, #two-columns, #quotations p',
			excludeRegionsSelector: '#center-content form p, #center-content .tabs, #center-content .tabs ul, #center-content table, #see_also .box-content-window, #left-content .box-br .clearfix',
			enlargeTriggerSelector: '#text-resize-enlarge a', 
			defaultTriggerSelector: '#text-resize-default a',
			currentSize: 'default'
		},

		init: function(opts){
			
			var self = this;
			this.options = $.extend(this.defaults, opts || {});
			this.regions = $(this.options.enlargedRegionsSelector).not(this.options.excludeRegionsSelector);
			
			this.linkBoxRegions = $('.linkbox-region');
			
			this.enlargeTrigger = $(this.options.enlargeTriggerSelector); 
			this.defaultTrigger = $(this.options.defaultTriggerSelector); 
			
			if(!this.enlargeTrigger.length && !this.defaultTrigger.length) return;
			
			//get size from cookie
			var initSize = $.cookie('milleniumBankTextSize');
			if(initSize!='default' && initSize!=null && initSize!=''){
				this.enlargeTrigger.parent().addClass('selected');
				this.defaultTrigger.parent().removeClass('selected');
				this.changeSize(initSize);
			}else{
				this.defaultTrigger.parent().addClass('selected');
			}
			
			this.enlargeTrigger.click(function(){
				self.clickHandler();
				self.defaultTrigger.parent().removeClass('selected');
				$(this).parent().addClass('selected');
				return false;
			});
			this.defaultTrigger.click(function(){
				self.clickHandler(true);
				self.enlargeTrigger.parent().removeClass('selected');
				$(this).parent().addClass('selected');
				return false;
			});
			
		},
		
		clickHandler: function(reset){
			if(!reset){
				switch(this.options.currentSize) {
					case 'default':
						this.changeSize('medium');
						break;
					case 'medium':
						this.changeSize('large');
						break;
				}
			}else{
				this.changeSize('default');
			}
			return false;
		},
		
		changeSize: function(size){
			this.regions.removeClass('text-size-default').removeClass('text-size-medium').removeClass('text-size-large');
			this.regions.addClass('text-size-' + size);
			$('body').removeClass('size-default').removeClass('size-medium').removeClass('size-large').addClass('size-' + size);
			this.options.currentSize = size;
			this.adjustlinkBoxRegionHeight(size);
			
			$.cookie('milleniumBankTextSize', size, { path: '/', expires: 365});
			
		},
		
		adjustlinkBoxRegionHeight: function(size){
			this.linkBoxRegions.each(function(index, el){
				var region = $(el);
				var regionheight = region.height();
				//var boxHeight = 0;
				
				var boxes = region.find('.box-br');
				boxes.each(function(index, el){
					var box = $(el);
					var hasLink = box.hasClass('linkbox-has-link');
					var hasImage = box.hasClass('linkbox-has-image');
					var isFluid = box.hasClass('linkbox-fluid');
					if (size == 'default') {
						box.css('height', 'auto');
						if(hasLink || hasImage) box.css('paddingBottom', '10px');
					}
					else {
						var bottomSpace = 35;
						var tmpHeight = box.height() + bottomSpace;
						if (tmpHeight < regionheight) {
							box.css('height', (regionheight - bottomSpace) + 'px');
						}
						if(box.find('.link-in-box-body').length && !isFluid){
							if(hasLink) box.css('paddingBottom', '40px');
							if(hasImage) box.css('paddingBottom', '52px');
						}
					}
				})
				
			});
		}
		
	}
}

$(document).ready(function(){
	
	Millenet.textResize.init();
	
})

