// JavaScript Document

var PackagesManager = {
	
	init: function(){
		// Advanced Search Link
		var advanced_search_link = $('packages_advanced_search_link');
		if(advanced_search_link){
			advanced_search_link.addEvent('click', PackagesManager.displayAdvancedSearchFormListener);
		}
		// Standard Search Link
		var standard_search_link = $('packages_standard_search_link');
		if(standard_search_link){
			standard_search_link.addEvent('click', PackagesManager.displayStandardSearchFormListener);
		}
		// Pictures Link
		var pictures_link = $('packages_pictures_link');
		if(pictures_link){
			pictures_link.addEvent('click', PackagesManager.displayPicturesListener);
		}
		// Video Link
		var video_link = $('packages_video_link');
		if(video_link){
			video_link.addEvent('click', PackagesManager.displayVideoListener);
		}
		// Change Displayed Image
		var list_of_pictures_thumbs = $$('#packages_detail_field_img_thumbs a');
		for(var i=0;i<list_of_pictures_thumbs.length;i++){
			$('packages_images_thumb_link_'+i).addEvent('click', PackagesManager.changeDisplayedImageListener);
		}
		// Change Displayed Video
		var list_of_video_thumbs = $$('#packages_detail_field_video_thumbs a');
		for(var j=0;j<list_of_video_thumbs.length;j++){
			$('packages_video_thumb_link_'+j).addEvent('click', PackagesManager.changeDisplayedVideoListener);
		}
		// Children Management
		var children_select = $('packages_children');
		if(children_select){
			children_select.addEvent('change', PackagesManager.showChildrenAgeListener);
		}
		// Reset Button
		var contact_button_reset = $('packages_contact_button_reset');
		if(contact_button_reset){
			contact_button_reset.addEvent('click', PackagesManager.contactFormResetListener);
		}
	},
	
	displayAdvancedSearchFormListener: function(event){
		PackagesManager.displayAdvancedSearchForm(this);
		event.preventDefault();
	},
	
	displayAdvancedSearchForm: function(element){
		if($('packages_search_form') && $('packages_search_top') && $('packages_search_more_opened') && $('packages_search_more_closed')){
			$('packages_search_form').style.display = "block";
			$('packages_search_top').style.display = "none";
			$('packages_search_more_opened').style.display = "block";
			$('packages_search_more_closed').style.display = "none";
		}
	},
	
	displayStandardSearchFormListener: function(event){
		PackagesManager.displayStandardSearchForm(this);
		event.preventDefault();
	},
	
	displayStandardSearchForm: function(element){
		if($('packages_search_form') && $('packages_search_top') && $('packages_search_more_opened') && $('packages_search_more_closed')){
			$('packages_search_form').style.display = "none";
			$('packages_search_top').style.display = "block";
			$('packages_search_more_opened').style.display = "none";
			$('packages_search_more_closed').style.display = "block";
		}
	},
	
	displayPicturesListener: function(event){
		PackagesManager.displayPictures(this);
		event.preventDefault();
	},
	
	displayPictures: function(element){
		if($('packages_detail_field_img') && $('packages_detail_field_video') && $('packages_detail_field_img_tab') && 
		   $('packages_detail_field_video_tab') && $('packages_detail_field_img_thumbs') && $('packages_detail_field_video_thumbs')){
			$('packages_detail_field_img').style.display = "block";
			$('packages_detail_field_video').style.display = "none";
			$('packages_detail_field_img_thumbs').style.display = "block";
			$('packages_detail_field_video_thumbs').style.display = "none";
			// Set Backgrounf Color
			$('packages_detail_field_img_tab').className = "active"; // #DEE5ED
			$('packages_detail_field_video_tab').className = "passive"; // #EEF1F6
			$('packages_detail_field_img').className = "active";
			$('packages_detail_field_video').className = "passive";
			$('packages_detail_field_img_thumbs').className = "active";
			$('packages_detail_field_video_thumbs').className = "passive";
		}
	},
	
	displayVideoListener: function(event){
		PackagesManager.displayVideo(this);
		event.preventDefault();
	},
	
	displayVideo: function(element){
		if($('packages_detail_field_img') && $('packages_detail_field_video') && $('packages_detail_field_img_tab') && 
		   $('packages_detail_field_video_tab') && $('packages_detail_field_img_thumbs') && $('packages_detail_field_video_thumbs')){
			$('packages_detail_field_img').style.display = "none";
			$('packages_detail_field_video').style.display = "block";
			$('packages_detail_field_img_thumbs').style.display = "none";
			$('packages_detail_field_video_thumbs').style.display = "block";
			// Set Backgrounf Color
			$('packages_detail_field_img_tab').className = "passive"; // #EEF1F6
			$('packages_detail_field_video_tab').className = "active"; // #DEE5ED
			$('packages_detail_field_img').className = "passive";
			$('packages_detail_field_video').className = "active";
			$('packages_detail_field_img_thumbs').className = "passive";
			$('packages_detail_field_video_thumbs').className = "active";
		}
	},
	
	changeDisplayedImageListener: function(event){
		PackagesManager.changeDisplayedImage(this);
		event.preventDefault();
	},
	
	changeDisplayedImage:function(element){
		var list_of_thumbs = $$('#packages_detail_field_img_thumbs a');
		for(var j=0;j<list_of_thumbs.length;j++){
			$('packages_detail_field_img_'+j).style.display = "none";
		}
		$('packages_detail_field_img_'+element.rel).style.display = "block";
	},
	
	changeDisplayedVideoListener: function(event){
		PackagesManager.changeDisplayedVideo(this);
		event.preventDefault();
	},
	
	changeDisplayedVideo:function(element){
		var list_of_thumbs = $$('#packages_detail_field_video_thumbs a');
		for(var j=0;j<list_of_thumbs.length;j++){
			$('packages_detail_field_video_'+j).style.display = "none";
		}
		$('packages_detail_field_video_'+element.rel).style.display = "block";
	},
	
	showChildrenAgeListener: function(event){
		PackagesManager.showChildrenAge(this);
		event.preventDefault();
	},
	
	showChildrenAge: function(element){
		var children_number = element.selectedIndex;
		for(i=0; i<4; i++){
			$('contact_children_age_'+i).style.display = "none";	
		}
		for(i=0; i<children_number; i++){
			$('contact_children_age_'+i).style.display = "block";	
		}
		if(children_number == 0){
			$('contact_children_age_label').style.display = "none";
			$('packages_contact_form_ct_input_age_children').style.display = "none";
		}else{
			$('contact_children_age_label').style.display = "block";
			$('packages_contact_form_ct_input_age_children').style.display = "block";
		}
	},
	
	contactFormResetListener: function(event){
		PackagesManager.contactFormReset(this);
		event.preventDefault();
	},
	
	contactFormReset: function(element){
		var tags = 'INPUT,SELECT,TEXTAREA';
		var tagNames = tags.split(',');
		var resultArray = new Array();
		for(var i=0;i<tagNames.length;i++){
            var elements = $$(tagNames[i]);
            for(var j=0;j<elements.length;j++){
                resultArray.push(elements[j]);
            }
        }
		for(var i=0;i<resultArray.length;i++){
            var e = resultArray[i];
            if(e.tagName == "INPUT" && e.type == "text"){
                e.value = "";
			}else if(e.tagName == "SELECT"){
				e.selectedIndex = 0;
            }else if(e.tagName == "TEXTAREA"){
				e.value = "";
                e.innerHTML = "";
            }else if(e.tagName == "INPUT" && (e.type == "radio" || e.type=="checkbox")){
                e.checked = false;
            }
        }
		if($('contact_children_age_label')){
			$('contact_children_age_label').style.display = "none";
		}
		if($('packages_contact_form_ct_input_age_children')){
			$('packages_contact_form_ct_input_age_children').style.display = "none";
		}
	}
	
};

window.addEvent('domready', function(){
		PackagesManager.init();
	}
);

// Calendar
window.onload = function(){
	// -> Default System Language UID = 0 => ENGLISH
	var system_language_uid = '';
	// -> Get System Language UID
	if(window.top.document.getElementById('system_language_uid')){
		system_language_uid = window.top.document.getElementById('system_language_uid').value;
	}
	switch(system_language_uid){
		// Deutsch
		case "0":
			// --------------------------------------------------------------
			// Packages Tool
			// --------------------------------------------------------------
			var datePackagesToolCal_Contact = new Calendar({
					packages_contact_start: {packages_contact_start: "d.m.Y"},
					packages_contact_end: {packages_contact_end: "d.m.Y"}
				},{
					direction: 0,
					days: ["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],
					months: ["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],
					classes: ["dashboard"]
				}
			);
			break;
		// English
		case '1':
			// --------------------------------------------------------------
			// Packages Tool
			// --------------------------------------------------------------	
			var datePackagesToolCal_Contact = new Calendar({
					packages_contact_start: {packages_contact_start: "d.m.Y"},
					packages_contact_end: {packages_contact_end: "d.m.Y"}
				},{
					direction: 0,
					days: ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],
					months: ["January","February","March","April","May","June","July","August","September","October","November","December"],
					classes: ["dashboard"]
				}
			);
			break;
		// Italian
		case "2":
			// --------------------------------------------------------------
			// Packages Tool
			// --------------------------------------------------------------
			var datePackagesToolCal_Contact = new Calendar({
					packages_contact_start: {packages_contact_start: "d.m.Y"},
					packages_contact_end: {packages_contact_end: "d.m.Y"}
				},{
					direction: 0,
					days: ["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"],
					months: ["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],
					classes: ["dashboard"]
				}
			);
			break;
		// Default English
		default:
			// --------------------------------------------------------------
			// Packages Tool
			// --------------------------------------------------------------	
			var datePackagesToolCal_Contact = new Calendar({
					packages_contact_start: {packages_contact_start: "d.m.Y"},
					packages_contact_end: {packages_contact_end: "d.m.Y"}
				},{
					direction: 0,
					days: ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],
					months: ["January","February","March","April","May","June","July","August","September","October","November","December"],
					classes: ["dashboard"]
				}
			);
			break;
			
	}
};


