String.prototype.leftPad = function (l, c) { return new Array(l - this.length + 1).join(c || '0') + this; }

var bodyMask;
var menuActive;
var menu2Active;
window.addEvent('domready', function() {
	bodyMask = new Mask($('body'), {
		hideOnClick: false,
		'class': 'mask',
		style:
		{
		    'position': 'absolute',
		    'opacity': 0 //start with 0 opacity
		},
		onShow: function(el){
			$('body').setStyle('overflow-y', 'hidden');
			this.element.setStyle('top', $('body').getScroll().y);
			this.element.tween('opacity', 0.8);
		},
		onHide: function(el){
			$('body').setStyle('overflow-y', 'auto');
	    this.element.setStyle('display','block').tween('opacity', 0);
	    this.element.setStyle('height', 0);
		}
	});
	bodyMask.element.set('tween', {duration: 200});

	/* Gallery */
	if($defined($$('.arrRight')[0])) {
	    $$('.arrRight')[0].addEvent('click', function(e){
	        e.stop();
	        var myFx = new Fx.Scroll($('gContainer')).start($('gContainer').getScroll().x + 400, 0);
	    });
	    $$('.arrLeft')[0].addEvent('click', function(e){
	        e.stop();
	        var myFx = new Fx.Scroll($('gContainer')).start($('gContainer').getScroll().x - 400, 0);
	    });
	}

	if($defined($$('.arrRight2')[0])) {
	    $$('.arrRight2')[0].addEvent('click', function(e){
	        e.stop();
	        var myFx = new Fx.Scroll($('gContainer2')).start($('gContainer2').getScroll().x + 400, 0);
	    });
	    $$('.arrLeft2')[0].addEvent('click', function(e){
	        e.stop();
	        var myFx = new Fx.Scroll($('gContainer2')).start($('gContainer2').getScroll().x - 400, 0);
	    });
	}


	/* Menus */
	$$('ul.menu > li').each(function(elem, index){
		var selected = elem.getElement('a.active');
		var submenu = elem.getElement('ul.menuLevel2');

		if(selected) {
			menuActive = selected;
/*
			if(submenu) {
				submenu.addClass('shown');
			}
*/
		} else {
			if(submenu) {
				submenu.addClass('hidden');
			}
		}

		
		elem.addEvents({
			'mouseenter':function(){
				if(menuActive)
					menuActive.removeClass('active');
				if(submenu) {
					submenu.addClass('shown');
				}
			},
			'mouseleave':function(){
				if(menuActive)
					menuActive.addClass('active');
				if(submenu) {
					submenu.removeClass('shown');
				}
			}
		});
		
	});
	
	$$('ul.menu ul.menuLevel2 > li').each(function(elem, index){
		var selected = elem.getElement('a.active');
		if(selected) {
			menu2Active = selected;
		}
		
		elem.addEvents({
			'mouseenter':function(){
				if(menu2Active) {
					menu2Active.removeClass('active');
				}
				var submenu = elem.getElement('ul');
				if(submenu) {
					submenu.addClass('shown');
				}
			},
			'mouseleave':function(){
				if(menu2Active) {
					menu2Active.addClass('active');
				}
				var submenu = elem.getElement('ul');
				if(submenu) {
					submenu.removeClass('shown');
				}
			}
		});
		
	});

});

window.addEvent('load', function(){

	if($defined($('gContainer'))) {
	    var fotosContainer = $('gContainer').getElement('.foto');
	    var fotoItems = fotosContainer.getElements('.galThumb'); 
	    if(fotoItems.length > 0) {
		    var lastItem = fotoItems.getLast().getElement('img');
		    fotosContainer.setStyle('width', lastItem.getCoordinates(fotosContainer).right + 3);
	    }
	}

});


function initCalendarsWithOptions(action, dateField1, dateField2){
	switch(action) {
	case 1:
		months = ['Siječanj', 'Veljača', 'Ožujak', 'Travanj', 'Svibanj', 'Lipanj', 'Srpanj', 'Kolovoz', 'Rujan', 'Listopad', 'Studeni', 'Prosinac'];
		monthsSmall = ['Sij', 'Velj', 'Ožu', 'Tra', 'Svi', 'Lip', 'Srp', 'Kol', 'Ruj', 'Lis', 'Stu', 'Pro'];
		weekDays = ['Po', 'Ut', 'Sr', 'Če', 'Pe', 'Su', 'Ne'];
		break;
		
	case 2:
		months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
		monthsSmall = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
		weekDays = ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'];
		break;
		
	case 3:
		months = ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'];
		monthsSmall = ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'];
		weekDays = ['Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa', 'So'];
		break;				
		
	case 4:
		months = ['gennaio', 'febbraio', 'marzo', 'aprile', 'maggio', 'giugno', 'luglio', 'agosto', 'settembre', 'ottobre', 'novembre', 'dicembre'];
		monthsSmall = ['gen', 'feb', 'merr', 'apr', 'mag', 'giu', 'lug', 'ago', 'set', 'ott', 'nov', 'dic'];
		weekDays = ['Lu', 'Ma', 'Me', 'Gi', 'Ve', 'Sa', 'Do'];
		break;
										
	default:
		months = ['Siječanj', 'Veljača', 'Ožujak', 'Travanj', 'Svibanj', 'Lipanj', 'Srpanj', 'Kolovoz', 'Rujan', 'Listpad', 'Studeni', 'Prosinac'];
		monthsSmall = ['Sij', 'Velj', 'Ožu', 'Tra', 'Svi', 'Lip', 'Srp', 'Kol', 'Ruj', 'Lis', 'Stu', 'Pro'];
		weekDays = ['Po', 'Ut', 'Sr', 'Če', 'Pe', 'Su', 'Ne'];
		break;	
	}
	
	var today = new Date();
	
    var picker1 = new vlaDatePicker(dateField1, {
		startMonday: true,
		alignX: 'left',
		alignY: 'bottom',
		offset: { x: -50, y:0 },
		separator: '/',
		style: 'not_printable adobe_cs3',
		monthLabels: months,
		monthSmallLabels: monthsSmall,
		weekDayLabels: weekDays,
		availableDates: today.getDate() + '/' + today.getMonth() + '/' + today.getFullYear()
	});
	
	var picker2 = new vlaDatePicker(dateField2, {
		startMonday: true,
		alignX: 'left',
		alignY: 'bottom',
		offset: { x: -50, y:0 },
		separator: '/',
		style: 'not_printable adobe_cs3',
		monthLabels: months,
		monthSmallLabels: monthsSmall,
		weekDayLabels: weekDays
	});				
	
	if($defined($(dateField1))) {
		$(dateField1).addEvent('change', function(){
	
			// kad se odabere prvi datum, drugi se treba postavit na + 7
			var val1 = $(dateField1).get('value').split('/');
			var val2 = $(dateField2).get('value').split('/');
			
	
			var date0 = new Date();
			date0.setFullYear(parseInt(val1[2]), parseInt(trimNumber(val1[1])) - 1, parseInt(trimNumber(val1[0])));
	
			var date1 = new Date();
			date1.setFullYear(parseInt(val2[2]), parseInt(trimNumber(val2[1])) - 1, parseInt(trimNumber(val2[0])));
			
			var date2 = new Date();
			date2.setFullYear(parseInt(val1[2]), parseInt(trimNumber(val1[1])) - 1, parseInt(trimNumber(val1[0])) + 7);
	
			//if(date0 >= date1) {
				var strDay = date2.getDate() + '';
			
				var strMon = date2.getMonth() + 1;
				strMon = strMon + '';
	
				var strVal = strDay.leftPad(2) + '/' + strMon.leftPad(2) + '/' + date2.getFullYear();
				$(dateField2).set('value', strVal);
			//}
	
			// onemoguci da se moze kliknit na datum prije datuma selektiranog iz prvog pickera
			date2.setFullYear(parseInt(val1[2]), parseInt(val1[1]) - 1, parseInt(val1[0])+1);
			strVal = date2.getDate() + '/' + date2.getMonth() + '/' + date2.getFullYear();
	
			picker2.setAvailableDates(strVal);
		});
		$(dateField1).fireEvent('change');
	}
}

function customAlert(text) {
	if(!$defined($('customAlertContainer'))) {
		var div = new Element('div', {
			id:'customAlertContainer'
		});
		div.addClass('hidden');
		var innerDiv = new Element('div', {
			id:'customAlertContainerInner'
		});
		var a = new Element('a', {
			id:'customAlertButton',
			text:'OK',
			events:{
				'click':function(e){
					e.stop();
					this.getParent().addClass('hidden');
				}
			}
		});
		a.addClass('button');
		a.addClass('medium');
		a.addClass('fR');
		
		div.adopt(innerDiv);
		div.adopt(a);

		$('body').adopt(div);
	}
	
	$('customAlertContainerInner').set('html', text);
	$('customAlertContainer').removeClass('hidden');
	var size = $('body').getSize();
	var scroll = $('body').getScroll();
	$('customAlertContainer').setStyles({
		'left': (size.x / 2 - $('customAlertContainer').getSize().x / 2) + 'px',
		'top': (size.y / 2 - $('customAlertContainer').getSize().y / 2 + scroll.y) + 'px'
	});
}
