$(window).addEvent("DOMContentLoaded", function() {

	Menu.initialize();	
	var actionBoxes 	= $$('div.actionbox')
	actionBoxes.each(function(actionBox) {
		var actionBoxLink = actionBox.getElement('a');
		if(actionBoxLink.getProperty('onclick')) {
			actionBox._action = actionBoxLink.getProperty('onclick');
			if(actionBox._action) {
				actionBox._actionType = 1;
			} else {
				actionBox._action = actionBoxLink.getProperty('href');
			}
			actionBox.removeProperty('onlick').removeProperty('href').setProperty('href', 'javascript:void(0)')
		}
		else {
			actionBox._action = actionBoxLink.getProperty('href');
		}
	});

	actionBoxes.addEvents({
		'mouseenter' 	: function(event) {
			this.getElement('a').setStyle('text-decoration', 'underline');
		},

		'mouseleave' 	: function(event) {
			this.getElement('a').setStyle('text-decoration', 'none');
		},		

		'mousedown'		: function(event) {
			if(this._actionType) {
				eval(this._action);
			} else {
				location.href = this._action;	
			}
			return;
		}
	});
		
	if($('page-tenants') && $('filter-bar')){
		Tabs.initialize($('filter-bar').getElement('ul'), $('filter-bar').getElement('li[class=active]'));		
	}	
	

	$('search-box').addEvents({
		'focus' : function(event) {
			if(this.value === "Αναζήτηση..." || this.value === "Search...") {
				this.value = "";
			}
		},
		
		'blur' 	: function(event) {
			if(this.value === "") {
			     if(document.lang == 1)
                    this.value = "Αναζήτηση...";
				else 
                    this.value = "Search...";
			}
		}
	});
	
	if($('page-stores')) {
		$$('div.store').addEvents({
			'mouseenter'  : function(event) {
				this.getElement('.lower').addClass('hover');
			},
	
			'mouseleave'	 :function(event) {
				this.getElement('.lower').removeClass('hover');
			},
	
			'click'		: function(event)  {
				location.href = this.getElement('a').getProperty('href');
			}
	
		});
		
		$$('div.store').each(function(store) {
			store.getElement('div[class=middle]').setStyle('background', '#ffffff url('+store.getElement('img').getProperty('src')+') no-repeat 50%');
			store.getElement('img').hide();
		});
		
		if($('category-select')) {
			$('category-select').addEvent(
				'mouseenter', function(event) {
					$('category-selector').show();
					// this.getElement('div.middle > a').setStyle('text-decoration', 'underline');
				}
			);
	
			$('category-selector').addEvent(
				'mouseleave', function(event) {
					this.hide();
					// $('category-select').getElement('div.middle > a').setStyle('text-decoration', 'none');
				}
			);
		}
	}
	
	if($('page-events')) {

		DateFilter.init();
	
	}
	
	$$('li[id^=menu]').addEvents({
		'click'	: function(event) {
			location.href = this.getElement('a').getProperty('href');
		}
	});

	if($('cv')) {
		fileToInput($('cv'));	
	}
	
	if($('page-store') && window.ie6) {
		PNGFix.fix($('logo'));
	}

	
	
	
	
	
	
});

DateFilter = {

	monthElements 	: null,
	yearElements 	: null,
	monthSelected 	: null,
	yearSelected 	: null,
	
	init : function() {

		if(!$('month-filter')) {
			return;
		}

		this.monthElements = $('month-filter').getElements('li');
		
		this.monthSelected = $('month-filter').getElement('li.selected');
		
		this.yearSelected = $('year-filter').getElement('li.selected');	
		
		if(this.monthSelected) {
			document.dateFilter.month.setValue(this.monthSelected.getProperty('rel'));
		}
		
		if(this.yearSelected) {
			document.dateFilter.year.setValue(this.yearSelected.getProperty('rel'));
		}		
		
		this.monthElements.addEvent('click', function(event) {			
			DateFilter.selectMonth(this);
		});

		this.yearElements = $('year-filter').getElements('li');
		
		this.yearElements.addEvent('click', function(event) {			
			DateFilter.selectYear(this);
		});

		$('main-middle-bar').getElement('a.events-month').addEvent(
			'mouseover', function(event) {
				$('month-filter').show();
		});

		$('month-filter').addEvent(
			'mouseleave', function(event) {
				$('month-filter').hide();
		});
		
		$('main-middle-bar').getElement('a.events-year').addEvent(
			'mouseover', function(event) {
				$('year-filter').show();
		});

		$('year-filter').addEvent(
			'mouseleave', function(event) {
				$('year-filter').hide();
		});	
		
		$('main-middle-bar').getElement('a.events-go').addEvent(
			'click', function(event) {
				DateFilter.submit();
			}
		);
		
	},
	
	selectMonth	: function(element) {
		
		document.dateFilter.month.setValue(element.getProperty('rel'));		

		if(this.monthSelected)
			this.monthSelected.removeClass('selected');
		
		element.addClass('selected');
		this.monthSelected = element;
	},
	
	selectYear	: function(element) {

		document.dateFilter.year.setValue(element.getProperty('rel'));		

		if(this.yearSelected)
			this.yearSelected.removeClass('selected');
		
		element.addClass('selected');
		this.yearSelected = element;
	
	},
	
	submit		: function() {
		if(!this.monthSelected || !this.yearSelected) {
			alert('Παρακαλούμε να επιλέξετε μήνα και έτος');
		}
		else {
			document.dateFilter.submit();
		}
	}

}

function CheckSearch(form) {
	if (form.q.value.trim().length && !/Αναζήτηση/.test(form.q.value))
		return true;
	else {
		alert("Παρακαλούμε να εισάγετε λέξεις προς αναζήτηση!")
		form.q.focus();
		return false;
	}
}

// ================================================================================
// Menu
// ================================================================================
Menu = {
	timerEnter 		: null,
	timerLeave		: null,
	
	current			: null,
	isOpen			: false,
	
	intervalEnter   : 0, // MouseOver delay
	intervalLeave	: 0, // MouseOut delay
		
	initialize		: function() {
		var binds	= {
			mouseenter	: this.enter,
			mouseleave	: this.leave
		};

		$$('#menu > .middle > ul > li').addEvents( binds );
							
		$$('#menu > .middle > ul > li > ul > li').addEvents({
			mouseenter:  function(event) {
				this.addClass('hover');
			},
			mouseleave : function(event) {
				this.removeClass('hover');
			}
			
		});
		
	},

	show	: function() {
		if(Menu.current && (Menu.current != this)) {
			Menu.hide(Menu.current);		
		}
		Menu.isOpen 	= true;
		Menu.current	= this;
		
		this.addClass('hover');
		
		// if(window.ie6) {
		// 	this.getElement('ul').shield();
		// }
	},
	
	hide	: function(element, event) {
		var element = element || this;
		if(element && element.removeClass) {
			element.removeClass('hover');
		
			// Applicable only onEvent
			if(event && event.type) {
				Menu.isOpen 	= false;
				Menu.current 	= null;
			}
			
		}
	},
	
	enter	: function(event) {		

		// Remove timers
		if(Menu.timerLeave)  {
			Menu.timerLeave = $clear(Menu.timerLeave);
		}

		if(!Menu.isOpen) {
			$clear(Menu.timerEnter);
			Menu.timerEnter = Menu.show.delay(Menu.intervalEnter, this, event);
		} else {
			Menu.show.call(this, event);
		}
	},
	
	leave	: function(node, event) {
		$clear(Menu.timerLeave);
		$clear(Menu.timerEnter);
		Menu.timerLeave = Menu.hide.delay(Menu.intervalLeave, this, event);	
	}
}

Tabs = {
	current 	: null,
	container 	: null,
	
	initialize : function(container, current) {
		this.container 	= container;
		this.select(current);
	},
	
	select : function(tab) {
		if(this.current !== tab) {
			this.container.getElements('li').each(function(item, index) {
				if(item === tab) {
					item.addClass('active');
					$$('div[class=level-map]').each(function(item) {
						if(item.getProperty('name') == 'level-' + index) {
							item.show();
						}
						else {
							item.hide();
						}
					});
				}
				else {
					item.removeClass('active');
				}
			});
			this.current = tab;			
		}
	}
}

TenantsForm = {
	submit : function (form){

		var name 		= form.name.value;
		var lastname 	= form.lastname.value;
		var company 	= form.company.value;
		var email 		= form.email.value;
		var telephone 	= form.telephone.value;
		
		formOk = true;
		
		if(!name || !lastname || !company || !email || !telephone)
		{
			msg = 'Παρακαλούμε να συμπληρώσετε όλα τα υποχρεωτικά πεδία.'
			formOk = false;			
		}
		
		else if(name.length < 3)
		{	
			msg = 'Παρακαλούμε το όνομα να είναι πάνω από 3 χαρακτήρες.'
			formOk = false;
		}
		else if (lastname.length < 3)
		{
			msg = 'Παρακαλούμε το επώνυμο να είναι πάνω από 3 χαρακτήρες.';
			formOk = false;			
		}
		else if (company.length < 3)
		{
			msg = 'Παρακαλούμε το όνομα της εταιρείας να είναι πάνω από 3 χαρακτήρες.';
			formOk = false;			
		}
		else if (telephone.length < 10)
		{
			msg = 'Παρακαλούμε το τηλέφωνο να περιέχει πάνω από 9 νούμερα.';
			formOk = false;			
		}				
		else if (!email.isValidEmail())
		{
			msg = 'Παρακαλούμε να εισάγετε email έγκυρης μορφής.'
			formOk = false;
		}
				
		if(!formOk)
		{
			alert(msg);
		}
		else
		{
			form.submit();
		}
		
	}
}

ContactForm = {
	submit : function (form){

		var name 		= form.name.value;
		var lastname 	= form.lastname.value;
		var email	 	= form.email.value;
		var age 		= form.age.value;
		var gender 		= form.gender.value;
		var telephone 	= form.telephone.value;
		
		formOk = true;
		
	
		if( !name || !lastname || !email || !age || !gender || !telephone)
		{
			msg = 'Παρακαλούμε να συμπληρώσετε όλα τα υποχρεωτικά πεδία.';
			formOk = false;
		}
		else if( name.length < 3 )
		{	
			msg = 'Παρακαλούμε το όνομα να είναι πάνω από 3 χαρακτήρες.';
			formOk = false;
		}
		else if( lastname.length < 3 )
		{	
			msg = 'Παρακαλούμε το επώνυμο να είναι πάνω από 3 χαρακτήρες.';
			formOk = false;
		}
		else if( gender.length < 1 )
		{	
			msg = 'Παρακαλούμε να συμπληρώσετε το φύλο σας.';
			formOk = false;
		}
		else if( telephone.length < 10 )
		{	
			msg = 'Παρακαλούμε το τηλέφωνο να περιέχει πάνω από 9 νούμερα.';
			formOk = false;
		}			
		else if (!email.isValidEmail())
		{
			msg = 'Παρακαλούμε να εισάγετε email έγκυρης μορφής.';
			formOk = false;
		}
		else if (!(age > 0))
		{
			msg = 'Παρακαλούμε να εισάγετε την σωστή ηλικία σας.';
			formOk = false;
		}
				
		if(!formOk)
		{
			alert(msg);
		}
		else
		{
			form.submit();
		}
		
	}
}

JobsForm = {
	submit : function (form){

		var name 		= form.name.value;
		var lastname 	= form.lastname.value;
		var email	 	= form.email.value;
		var age 		= form.age.value;
		var gender 		= form.gender.value;
		var position	= form.position.value;
		var telephone 	= form.telephone.value;
		var cv			= form.cv.value;
			
		formOk = true;
	
	
		if( !name || !lastname || !email || !age || !gender || !position || !telephone)
		{
			msg = 'Παρακαλούμε να συμπληρώσετε όλα τα υποχρεωτικά πεδία.';
			formOk = false;
		}
		else if( name.length < 3 )
		{	
			msg = 'Παρακαλούμε το όνομα να είναι πάνω από 3 χαρακτήρες.';
			formOk = false;
		}
		else if( lastname.length < 3 )
		{	
			msg = 'Παρακαλούμε το επώνυμο να είναι πάνω από 3 χαρακτήρες.';
			formOk = false;
		}
		else if( age.length < 1)
		{	
			msg = 'Παρακαλούμε να εισάγετε την σωστή ηλικία σας.';
			formOk = false;
		}
		else if( gender.length < 1 )
		{	
			msg = 'Παρακαλούμε να συμπληρώσετε το φύλο σας.';
			formOk = false;
		}
		else if( position.length < 1 )
		{	
			msg = 'Παρακαλούμε να συμπληρώσετε την θέση για την οποία ενδιαφέρεστε.';
			formOk = false;
		}
		else if( telephone.length < 10)
		{	
			msg = 'Παρακαλούμε το τηλέφωνο να περιέχει πάνω από 9 νούμερα.';
			formOk = false;
		}
		else if (!email.isValidEmail())
		{
			msg = 'Παρακαλούμε να εισάγετε email έγκυρης μορφής.';
			formOk = false;
		}
		else if (!(age > 0))
		{
			msg = 'Παρακαλούμε να εισάγετε την σωστή ηλικία σας.';
			formOk = false;
		}
		else if (cv && !cv.match(/\.doc$/))
		{
			msg = 'Παρακαλούμε το βιογραφικό σας να είναι σε μορφή Microsoft Office Document (.doc)';
			formOk = false;
		}
				
		if(!formOk)
		{
			alert(msg);
		}
		else
		{
			form.submit();
		}
		
	}
}


NewsletterForm = {
	submit : function (form){

		var name 		= form.name.value;
		var lastname 	= form.lastname.value;
		var email	 	= form.email.value;
		var terms 		= form.terms;
			
		formOk = true;
	
		if( !name || !lastname || !email )
		{
			msg = 'Παρακαλούμε να συμπληρώσετε όλα τα υποχρεωτικά πεδία.'
			formOk = false;
		}
		else if( name.length < 3 )
		{	
			msg = 'Παρακαλούμε το όνομα να είναι πάνω από 3 χαρακτήρες.'
			formOk = false;
		}
		else if( lastname.length < 3 )
		{	
			msg = 'Παρακαλούμε το επώνυμο να είναι πάνω από 3 χαρακτήρες.'
			formOk = false;
		}		
		else if (!email.isValidEmail())
		{
			msg = 'Παρακαλούμε να εισάγετε email έγκυρης μορφής.'
			formOk = false;
		}
		else if (!terms.checked)
		{
			msg = 'Πρέπει να συμφωνείτε με τους όρους χρήσης, για να αποστείλετε την φόρμα.'
			formOk = false;
		}
				
		if(!formOk)
		{
			alert(msg);
		}
		else
		{
			form.submit();
		}
		
	}
}

function farmaPopUp() {
	window.open( "popup/gonia.html", "myWindow", "status = 1, height = 800, width = 571, resizable = 0" );
}

document.addEvents({

	'keydown' : function(event) {		
		if(event.key == 'esc') {
			Lightbox.close();
		}
	}

});

Lightbox = {

	'isOpen' : null,

    initialize : function() {
    
			$$('.thumb-image').addEvent('click', function(event) {			
					Lightbox.show(this);
			});
    
            this.overlay = new Overlay( {
                    'duration'      : 400,
                    'className'     : 'overlay',
                    'shield'        : false
            });


            var html        = [];

            html.push('<div id="image-container"></div>\n');
            html.push('<span class="close" onclick="Lightbox.close();">close</span>\n');
			html.push('<span class="previous" onclick="Lightbox.previous();">&laquo;</span>\n');
			html.push('<span class="next" onclick="Lightbox.next();">&raquo;</span>\n');					

            this.overlay.setContent(html.join(''));

			this.imageContainer = $('image-container');
			
			this.images = [];
			
			preImages.each(function(index, key) {
			
				var img = new Image();
				
				img.src = index;
				
				if(!window.ie6) {
				
					$(img).addEvent('click', function() {
						Lightbox.next();
					});
					
					$(img).addEvent('load', function() {
						img.setProperties({
							'width' : img.width,
							'height' : img.height,
							'class'	: 'full-image',
							'rel'	: key
						});
						img.setStyle('display', 'none');
						img.injectIn(Lightbox.imageContainer);
						Lightbox.images[key] = img;			    
					});

				}
				else {
					
					$(img).injectIn(Lightbox.imageContainer);
					
					Lightbox.images.push(img);
				}
				

			});        				
								  
			this.overlay.element.hide();	                	                
    },

    open : function() {

		this.isOpen = true; 
		if(this.current) {
			this.current.hide();     
        	this.current = null;
        }
    
    	if(!this.ieInit) {
    		
    		Lightbox.images.addEvents({
    			'click'	:	function(event) {
					Lightbox.next();     			
    			},
    			
    			'load'	:	function(event) {
					this.setProperties({
						'width' : img.width,
						'height' : img.height,
						'class'	: 'full-image'
					});
					this.setStyle('display', 'none'); 			
    			}
    		
    		});
    		
    		this.ieInit = true;
    	}
	
			
		this.overlay.open();
		
		if(!this.overlayWindow) {
			this.overlayWindow = $('.overlay-window');
		}
		
		if(!this.overlayWindow.hasEvent()) {
			
			this.overlayWindow.addEvent('click', function(event) {
				Lightbox.close();
			});
		}

    },
    
    close : function() {
		this.isOpen = null;
		if(this.current) {
			this.current.hide();
        	this.current = null;
        }
    	this.overlay.close();
    },
    
    next : function() {
    
		this.current.hide();

		var currentId = this.current.getProperty('rel');

		this.current = this.images[parseInt(currentId)+1];
		
		if(!this.current)
			this.current = this.images[0];
    	
		this.imageContainer.setStyles({
			'width' : this.current.width +'px',
			'height' : this.current.height +'px'		
		});
		
		this.overlay.pos();

		this.current.show();
    	
    },
    
    previous : function() {
    	

		this.current.hide();

		var currentId = this.current.getProperty('rel');

		this.current = this.images[parseInt(currentId)-1];
		
		if(!this.current)
			this.current = this.images[this.images.length-1];
    	
		this.imageContainer.setStyles({
			'width' : this.current.width +'px',
			'height' : this.current.height +'px'		
		});
		
		this.overlay.pos();

		this.current.show();

    	
    },
    
    show : function(image) {
		
		
		if(!this.isOpen) {
			this.open();
		}				

    	this.current = this.images[image.getProperty('rel')];

		this.imageContainer.setStyles({
			'width' : this.current.width +'px',
			'height' : this.current.height +'px'		
		});
		
		this.overlay.pos();

		this.current.show();

    }
    
};
