var addthis_pub = 'Country Club';
var addthis_logo = '';
var addthis_logo_background = 'ffffff';
var addthis_logo_color = 'ffffff';
var addthis_brand = 'Country Club';
var addthis_options = 'favorites, email, delicious, google, digg, reddit, facebook, live, more';

CD3.Behaviors.TitleAsDefaultValue = {
	focus: function(){ if (this.getValue() == this.getAttribute('title')) this.setValue(''); },
	blur:  function(){ if (this.getValue().length == 0) this.setValue(this.getAttribute('title')); }
};



//INDEX GALLERY
CD3.Behaviors.assignIf('#gallery-index', function(){
	var numbers = $$('.numbers').first();
	
	numbers.down('a').addClassName('selected');
	
	var timer = new PeriodicalExecuter(nextSelected, 2);
	
	timer.restart = function(){
		this.stop();
		this.registerCallback();
	};
	
	function select(link){
		numbers.select('a.selected').invoke('removeClassName', 'selected');
		link.addClassName('selected');
		$('image-index').src = link.readAttribute('href');
		
		
		if($$('.numbers2').first()){
			if(link.offsetLeft > 420){
				link.up('.numbers2').setStyle({
					left: -(parseInt(link.offsetLeft) - 23) + 'px'
				})
			} else {
				link.up('.numbers2').setStyle({
					left: 0 + 'px'
				})
			}
		}
	}
	
	function nextSelected(){
		select(numbers.down('a.selected').next('a') || numbers.down('a'));
	}
	
	function previousSelected(){
		select(numbers.down('a.selected').previous('a') || numbers.select('a').last());
	}
	
	numbers.select('a').invoke('observe', 'click', function(e){
		e.stop(); 
		select(this);
		timer.restart();
	});
	
	$$('.index-arrow-left').invoke('observe', 'click', function(e){
		e.stop();
		previousSelected();
		timer.restart();
	});
	
	$$('.index-arrow-right').invoke('observe', 'click', function(e){
		e.stop();
		nextSelected();
		timer.restart();
	});
});

// for gallery
CD3.Behaviors.assignIf('#gallery', function(){
	$('thumbslist').setStyle({
		width:		$$('#thumbslist li').length * 84 + 'px',
		position:	'relative',
		left:		'0px'
	});

	// for the load
	var loader = null,
		image = $('mainimage').down('img'),

		container = $('mainimagewrapper');

	// for the slide
	var thumbscount = $$('#thumbslist li').length, thumbslist = $('thumbslist').setStyle({
		width:		thumbscount * 84 + 'px',
		position:	'relative',
		left:		'0px'
	});

	function clearLoader(){
		if (loader != null){
			loader.onload	= null;
			loader			= null;
		}
	}

	function onLoad(){
		image.src = loader.src;

		container.morph('height: ' + loader.height + 'px;', {
			duration: .4,
			afterFinish: function(){
				image.appear({
				    duration: .4,
				    afterFinish: function(){
				        container.removeClassName('loading');
			        }
		        });
			}
		});
		clearLoader();
	}

	function selectImage(thumb){
	 	$('thumbslist').select('.selected').invoke('removeClassName', 'selected');
		thumb.addClassName('selected');

		clearLoader();
		container.up('div').addClassName('loading');

		image.fade({
			duration: .3,
			afterFinish: function(){
				loader			= new Image();
				loader.onload	= onLoad;
				loader.src		= thumb.href;
			}
		});
	}

	function slideImage(thumb){
	 	$('thumbslist').select('.selected').invoke('removeClassName', 'selected');
		thumb.addClassName('selected');
		clearLoader();
		container.up('div').addClassName('loading');

		var position = parseInt(thumb.id.match(/\w+_(\d+)/)[1]);
		position = position < 2 ? 2 : (position < thumbscount - 1 ? position - 1 : thumbscount - 1);

		thumbslist.morph('left: ' + ( -83 * position) + 'px');
	}


	return {
		'div.picz:click': {
			'#thumbslist a': function(e){
				e.stop();
				selectImage(this);
			},
			'#preva': function(){
				var thumbs	 = $('thumbslist'),
					selected = thumbs.down('a.selected');
					var sol = parseInt( $('thumbslist').getStyle('left') );
					if(sol == 0 ){

						thumbslist.morph('left: ' + 0  + 'px');
					}else{
						thumbslist.morph('left: ' + ( sol + 420)  + 'px');
					}
			},
			'#nexta': function(){
				var thumbs	 = $('thumbslist'),
					selected = thumbs.down('a.selected');

					var sol = parseInt( $('thumbslist').getStyle('left') );
					if ( sol == 0){
						sol = 1;
						thumbslist.morph('left: ' + ( -420 * sol ) + 'px');
					} else {
						var enda = parseInt($('thumbslist').getStyle('width'));
						enda = (enda - 420 ) * -1;
						if ( sol <= enda ){

						} else {

							thumbslist.morph('left: ' + ( -420 + sol ) + 'px');
						}
					}
			}
		}
	};
});



CD3.FontSwitcher = Class.create({
	initialize: function(element, panel, options){
		options = Object.extend({
			classname:	'text-size-',
			max: 		5,
			plus:		'span.big_text',
			reset:		'span.normal_text',
			minus:		'span.small_text'
		}, options || {});

		var buttons = {};

		if (options.plus)	buttons[options.plus]	= this.change.bind(this, 1);
		if (options.reset)	buttons[options.reset]	= this.change.bind(this, 0);
		if (options.minus)	buttons[options.minus]	= this.change.bind(this, -1);

		this.size		= 0;
		this.maxsize	= options.max;
		this.classname	= options.classname;
		this.element	= $(element);
		this.panel		= $(panel).observe('click', function(e){
			for(var b in buttons)
				if (e.findElement(b))
					return buttons[b]();
		});
	},
	change: function(value){
		this.element.removeClassName(this.classname + this.size);
		var size = value == 0 ? 0 : this.size + value;
		this.size = size < 0 ? 0 : ( size > this.maxsize ? this.maxsize : size );
		if (this.size != 0) this.element.addClassName(this.classname + this.size);
	}
});

CD3.Behaviors({
   '#menu li, .contact-btn, .feed-btn, .touroperators-btn': CD3.Behaviors.Hover(),
   'input[type=text], input[type=password]': CD3.Behaviors.TitleAsDefaultValue,
   '#footer ul li:last-child': function(){
       this.addClassName('noborder');
   },
   '#text-size': function(sizer){
		new CD3.FontSwitcher($$('div.content')[0], sizer, {
			plus:	'li.text-big a',
			reset:	'li.text-normal a',
			minus:	'li.text-small a'
		});
	},
    '.comment-images': function(){
		new CD3.Lightbox(this.select('a'));
	},
    '.bookmarks': {
		mouseover: function(){
			addthis_open(this, '', location.href, 'Country Club')
		},
		mouseout: function(){
			addthis_close()
		},
		click: function(){
			addthis_sendto()
		}
	},
	'#add_file:click': function(){
		var container = this.up(0);
		var last = $$('.browse-fields input[type=file]').last();
		var number = $$('.browse-fields input[type=file]').size();
		number += 1;
		
		if(number<5){
			var br = new Element('br');
			var new_file = new Element('input', {'type': 'file', 'value': '', 'name': 'up'+number });
			last.insert({after: new_file});
			new_file.insert({before: br});
		}
	},
	'#remove_file:click': function(){
		var last = $$('.browse-fields input[type=file]').last();
		var last_br = $$('.browse-fields br').last();
		var number = $$('.browse-fields input[type=file]').size();
		if(number>1){
			last.remove();
			last_br.remove();
		}
	},
	'input.error, textarea.error': function(){
		this.up('div').addClassName('error-field');
	}
});

//Calendar
CD3.Behaviors.assignIf('#months', function(){
    new CD3.Accordion('months', {
        triggers:  'a.month-name',
        content:  '.calendar',
        duration:  0.6
     });
});

//New language dropdown
CD3.Behaviors({
	'.dropper': function(){
		var selected = this.down('a.selected');
		var lcode = selected.identify();
		var holder = this.down('a.drop');
		var holder_span = holder.down('span');
		
		holder_span.addClassName(lcode);
		holder_span.innerHTML = selected.innerHTML;
	},
	'.dropper a.drop:click': function(a){
		Effect.toggle('alllngs', 'slide', {duration: 0.5});
	},
	'.back-btn:click': function(a){
		a.stop;
		history.go(-1);
	}
});

/* NEW */
CD3.Behaviors({
    'div.social_parent': {
        mouseover: function(){
            this.down('.social_options').show();
        },
        mouseout: function(){
            this.down('.social_options').hide();
        }
    },
    '#newsmainimage': function(a){
		new CD3.Lightbox(this.select('a'), false);
    }
});

/* FOR NEWS GALLERY - I KNOW ITS THE LAME WAY BUT .. */
CD3.Behaviors.assignIf('#newsgallery', function(){
	$('newsthumbslist').setStyle({
		width:		$$('#newsthumbslist li').length * 19 + 'px',
		position:	'relative',
		left:		'0px'
	});

	// for the load
	var loader = null,
		image = $('newsmainimage').down('img'),

		container = $('newsbigimage');

	// for the slide
	var thumbscount = $$('#newsthumbslist li').length, thumbslist = $('newsthumbslist').setStyle({
		width:		thumbscount * 19 + 'px',
		position:	'relative',
		left:		'0px'
	});

	function clearLoader(){
		if (loader != null){
			loader.onload	= null;
			loader			= null;
		}
	}

	function onLoad(){
		image.src = loader.src;

		container.morph('height: ' + loader.height + 'px;', {
			duration: .4,
			afterFinish: function(){
				image.appear({
				    duration: .4,
				    afterFinish: function(){
				        container.removeClassName('loading');
			        }
		        });
			}
		});
		clearLoader();
	}

	function selectImage(thumb){
	 	$('newsthumbslist').select('.selected').invoke('removeClassName', 'selected');
		thumb.addClassName('selected');

		clearLoader();
		container.up('div').addClassName('loading');

        $('newslightbox').href = thumb.readAttribute('src');

		image.fade({
			duration: .3,
			afterFinish: function(){
				loader			= new Image();
				loader.onload	= onLoad;
				loader.src		= thumb.href;
			}
		});
	}

	function slideImage(thumb){
	 	$('newsthumbslist').select('.selected').invoke('removeClassName', 'selected');
		thumb.addClassName('selected');
		clearLoader();
		container.up('div').addClassName('loading');

		var position = parseInt(thumb.id.match(/\w+_(\d+)/)[1]);
		position = position < 2 ? 2 : (position < thumbscount - 1 ? position - 1 : thumbscount - 1);

		thumbslist.morph('left: ' + ( -19 * position) + 'px');
	}


	return {
		'div.picz:click': {
            
            '#newsthumbslist a': function(e){
				e.stop();
				selectImage(this);
			},
			'#newspreva': function(){
				var thumbs	 = $('newsthumbslist'),
					selected = thumbs.down('a.selected'),
					left     = parseInt( thumbs.getStyle('left') );
					
                    if(left == 0 ){
						thumbslist.morph('left: ' + 0  + 'px');
					}else{
					   
					    if((left*-1)<96){
                            thumbslist.morph('left: ' + 0 + 'px');
                        } else {
                            thumbslist.morph('left: ' + (left+96) + 'px');
                        }
					}
			},
			'#newsnexta': function(){
				var thumbs	 = $('newsthumbslist'),
				    width    = parseInt(thumbs.getStyle('width')),
				    left     = parseInt(thumbs.getStyle('left')),
					selected = thumbs.down('a.selected'),
					leftmax  = (width - 96) * -1;
					
                    if (left == 0){
						if(width-left > 95){
                            left = 1;
						    thumbslist.morph('left: ' + (-96 * left) + 'px');
						
						} else {
                            thumbslist.morph('left: ' + (-19 * left) + 'px'); 
                        }
					} else {
						if (left <= leftmax){
                        } else {
							thumbslist.morph('left: ' + (left - ((leftmax*-1) + left)) + 'px');
						}
					}
			}
		}
	};
});