// JavaScript Document

function fadeLogo(){ 
		//console.log('poszlo');
		var e = jQuery('#logo_everyone'); 
			
			e.fadeIn(3000); 
			e.queue(function(){ 
			  setTimeout(function(){ 
				e.dequeue(); 
			  }, 3000 ); 
			}); 
			e.fadeOut(3000, function(){
			 var cont = setTimeout(fadeLogo, 9000);
			 }); 
			
		}

jQuery(document).ready(function(){

/* jQUERY goes here  */

		jQuery('#home_banners').css('visibility', 'visible');
		if (jQuery('#home_banners').length > 0) {
			jQuery('#home_banners').cycle({
					fx: 'fade',
					timeout: 3000,
					speed: 3000,
					random: 1
				});
			}
		
		
		  
		var start = setTimeout(fadeLogo, 12000);
		
		
		if (jQuery('#dynamic_panel').length > 0) {
			jQuery('#bottom_panel_1, #bottom_panel_2, #bottom_panel_3, #bottom_panel_4').cycle({
					fx: 'fade',
					timeout: 6000,
					speed: 3000
				});
			}
					
		/*jQuery('#side_nav li a').click(
			function(e){
				e.preventDefault();
				if (jQuery(this).siblings('ul').length > 0) {
					if (jQuery(this).parent().hasClass('selected')) {
						jQuery(this).siblings('ul:first').slideUp('fast').parent().removeClass('selected');
					} else {
						jQuery(this).siblings('ul:first').slideDown('fast').parent().addClass('selected');
					}
				} else {
					window.location.href = this.href;
				}
				return false;
			}
		);	*/


		jQuery('.btn_more').click(function(e){
		 e.preventDefault();
		 jQuery(this).parent().siblings('.desc_long').show();
		 jQuery(this).parent().hide();
		 	if(jQuery('#listing.treatments').length > 0){
		 		jQuery(this).parent().parent().siblings('.treatments').show();
				jQuery(this).parent().parent().siblings('.close_link').show();
			}
		 });

		jQuery('.btn_less').click(function(e){
		 e.preventDefault();
		 jQuery(this).parent().siblings('.desc_short').show();
		 jQuery(this).parent().hide();
		 	if(jQuery('#listing.treatments').length > 0){
		 		jQuery(this).parent().parent().children('.treatments').hide();
				jQuery(this).parent().parent().children('.close_link').hide();
				jQuery(this).parent().parent().children('.about').children('.desc_short').show();
				jQuery(this).parent().parent().children('.about').children('.desc_long').hide();
			}
		});

		jQuery('.btn_toggle_text').toggle(function(e){
			 e.preventDefault();
			 jQuery(this).parent().children('.desc_long').show();
			 jQuery(this).parent().children('.desc_short').hide();
			 jQuery(this).text('less');
		 }, function(e){
			 e.preventDefault();
			 jQuery(this).parent().children('.desc_short').show();
			 jQuery(this).parent().children('.desc_long').hide();
			 jQuery(this).text('more');
		 });

		jQuery('.btn_toggle_course').toggle(function(e){
			 e.preventDefault();
			 jQuery(this).parent().children('.desc_long').show();
			 jQuery(this).parent().children('.desc_short').hide();
			 jQuery(this).text('close');
		 }, function(e){
			 e.preventDefault();
			 jQuery(this).parent().children('.desc_short').show();
			 jQuery(this).parent().children('.desc_long').hide();
			 jQuery(this).text('read more');
		 });

		jQuery('.btn_toggle_dates').toggle(function(e){
			 e.preventDefault();
			 jQuery(this).parent().children('.dates').show();
			 jQuery(this).text('close dates');
		 }, function(e){
			 e.preventDefault();
			 jQuery(this).parent().children('.dates').hide();
			 jQuery(this).text('show dates');
		 });

		jQuery('.btn_search_top').click(function(e){
			e.preventDefault();
			jQuery('#search_panel').fadeIn('fast');
			//jQuery('#search_panel #search_field').focus();
		});

		jQuery('#search_panel #close_search').click(function(e){
			e.preventDefault();
			jQuery('#search_panel').fadeOut('fast');
		});

		// home page horizontal scroll length
		/*
		var elements = jQuery('#scroll_panel #scroll_list').children('li').length;
		var list_width = elements * 290;
		jQuery('#scroll_panel #scroll_list').css('width', list_width);
		*/

		// home page scroll fixes for IE
		jQuery("#scroll_btn_trigger_left").click(function(d){
			d.preventDefault();
			jQuery('#scroll_panel_hscrollerbasebeg').simulate('click');
			});

		jQuery("#scroll_panel_hscrollerbasebeg").click(function(e){
			e.preventDefault();
			});

		jQuery('#scroll_panel_mcontentwrapper').css('height', 85);


		// gallery horizontal scroll length
		var gal_elements = jQuery('#gal_scroll_panel #gal_scroll_list').children('li').length;
		var gal_list_width = parseInt(gal_elements) * 95;
		//console.log(gal_list_width);
		//jQuery('#img_desc').text(gal_list_width);
		jQuery('#gal_scroll_panel #gal_scroll_list').css('width', gal_list_width);
		//jQuery('#gal_scroll_panel').addClass('flexcroll');

		jQuery('#gal_scroll_list .thumb').click(function(e){
			e.preventDefault();
			jQuery('#gal_scroll_list .active').removeClass('active');
			jQuery(this).addClass('active');
			var img_alt = jQuery(this).children('img').attr('alt');
			var img_src = jQuery(this).children('img').attr("src");
			jQuery('#img_desc').html('&nbsp;');
			jQuery('#img_desc').text(img_alt);
			jQuery('#main_img').fadeOut(300, function(){
					jQuery('#main_img').attr('src', img_src).fadeIn(600, function(){
						jQuery('#main_img').attr('alt', img_alt);

					});
			});
		});

		jQuery('#gal_btn_next').click(function(e){
			e.preventDefault();
			if(jQuery('#gal_scroll_list .active').next('.thumb').length > 0){
				jQuery('#gal_scroll_list .active').next('.thumb').trigger('click');
			}else{
				if(jQuery('#gal_scroll_list .active').parent().next('li').length > 0){
					jQuery('#gal_scroll_list .active').parent().next('li').children('.thumb:first').trigger('click');
				}
			}
		});

		jQuery('#gal_btn_prev').click(function(e){
			e.preventDefault();
			if(jQuery('#gal_scroll_list .active').prev('.thumb').length > 0){
				jQuery('#gal_scroll_list .active').prev('.thumb').trigger('click');
			}else{
				if(jQuery('#gal_scroll_list .active').parent().prev('li').length > 0){
					jQuery('#gal_scroll_list .active').parent().prev('li').children('.thumb2').trigger('click');
				}
			}
		});

		// blog expandable comments
		jQuery('.btn_comments').toggle(function(e){
			e.preventDefault();
			jQuery(this).parent().parent().parent().children('.comments').slideDown('slow');
		}, function(e){
			jQuery(this).parent().parent().parent().children('.comments').slideUp('slow');
		});


		jQuery('.close_comments').click(function(e){
			e.preventDefault();
			//console.log(jQuery(this).parent().parent().parent().children('div.post').children('div.posted_bar').children('.btn_comments'));
			jQuery(this).parent().parent().parent().parent().children('div.post').children('div.posted_bar').children('.btn_comments').trigger('click');
		});


		// blog forms validation

		var labelAsterix = ' <span>*</span>';
		if(jQuery('#blog_list').length > 0){
			var counter = 0;
			jQuery('#blog_list .field').each(function(){
				counter++;
				var input = jQuery(this).children('.middleColumn').children('input');
				var textarea = jQuery(this).children('.middleColumn').children('textarea');
				if(input.length > 0){
					var field = input;
				}else{
					var field = textarea;
				}
				var oldID = field.attr('id');
				var newID = oldID + counter;
				field.attr('id', newID).addClass('required');
				field.parent().parent().children('label').attr('for', newID).html(jQuery(this).text() + labelAsterix);
				if(field.attr('name') == 'Email'){
					field.addClass('email');
				}
			});
		}

		jQuery('#blog_list form').each(function(e){
			jQuery(this).validate();
		});


		// faqs contact form validation
		if(jQuery("#contact_form").length > 0){
			jQuery("#contact_form").validate({
				rules: {
					ConfirmEmail: {
						required: true,
						equalTo: "#Email"
					},
					Email: {
						required: true,
						email: true
					}
				},
				messages: {
					ConfirmEmail: {
						required: "Please confirm email address",
						equalTo: "Please enter the same email address as above"
					}
				},
                submitHandler: function(form) { 
                    var url = form.action.replace('ContactForm_send_email', '') + 'checkCaptchaAjax';
                    var fields = jQuery(form).serialize();
                    
                    jQuery.post(url, fields, function (response) {
                        if (response != 'ok') {
                            jQuery('#CaptchaError').show();
                        } else {
                            jQuery('#CaptchaError').hide();
                            form.submit();
                        }
                    }, 'html');     
                    
                    return false;
                }
			});
		}

		// teacher training form validation
		if(jQuery("#teacher_training_form").length > 0){
			jQuery("#teacher_training_form").validate({
				rules: {
					ConfirmEmail: {
						required: true,
						equalTo: "#Email"
					},
					Email: {
						required: true,
						email: true
					}
				},
				messages: {
					ConfirmEmail: {
						required: "Please confirm email address",
						equalTo: "Please enter the same email address as above"
					}
				}
			});
		}

		// newsletter form validation
		if(jQuery("#newsletter_form").length > 0){
			jQuery("#newsletter_form").validate();
			}


		// faqs animated contact form
		jQuery('#show_contact_form').click(function(e){
			e.preventDefault();
			jQuery('#contact_form_wrapper').slideDown('slow');
			});

		jQuery('#hide_contact_form').click(function(e){
			e.preventDefault();
			jQuery('#contact_form_wrapper').slideUp('slow');
			});


		// expanding faqs
		jQuery('#faqs_list .question').click(function(e){
		  e.preventDefault();
		  jQuery(this).addClass('open').parent().siblings('.answer').slideDown('slow');
		  jQuery(this).parent().addClass('open');
		  });

		jQuery('.answer .btn_close').click(function(e){
		  e.preventDefault();
		  jQuery(this).parent().slideUp('slow').siblings('h2').removeClass('open');
		  });

		// equal columns for price tables
		/*
		jQuery('table.prices').each(function(e){
			var t = jQuery(this);
			var t_width = t.width();
			var cols = jQuery(this).children('tr:first').length;
			var col_width = t.children('tr:first').children('td:first').width();
			console.log(cols);
		});
		*/

		jQuery('#reference.dropdown, #Reference.dropdown').change(function(e){
			if(jQuery(this).attr('value') == "other"){
				jQuery('#reference_other_row').show();
			}else{
				jQuery('#reference_other_row').hide();
			}
		});
		/**/
		if(jQuery("#holiday_enquiry_form").length > 0){
			jQuery("#holiday_enquiry_form").validate({
				rules: {
					ConfirmEmail: {
						required: true,
						equalTo: "#Email"
					},
					Email: {
						required: true,
						email: true
					}
				},
				messages: {
					ConfirmEmail: {
						required: "Please confirm email address.",
						equalTo: "Please enter the same email address as above."
					}
				}
				});
		}


		if(jQuery("#mbo_account_form").length > 0){
			jQuery("#mbo_account_form").validate({
				rules: {
					Password: {
						minlength: 6
					},
					ConfirmPassword: {
						equalTo: "#Password"
					}
				},
				messages: {
					BirthdayDay: {
						required: "Please select day."
					},
					BirthdayMonth: {
						required: "Please select month."
					},
					BirthdayYear: {
						required: "Please select year."
					},
					Password: {
						minlength: "Password must be minimum 6 characters long."
					},
					ConfirmPassword: {
						equalTo: "Passwords do not match."
					}
				}
			});
		}



		jQuery.metadata.setType("attr", "validate");

		if(jQuery("#private_yoga_form").length > 0){
			jQuery("#private_yoga_form").validate({
				rules: {
					ConfirmEmail: {
						required: true,
						equalTo: "#Email"
					},
					Email: {
						required: true,
						email: true
					}
				},
				messages: {
					ConfirmEmail: {
						required: "Please confirm email address",
						equalTo: "Please enter the same email address as above"
					}
				}
			});
		}

		
		if(jQuery("#treatment_appointment_form").length > 0){
			jQuery("#treatment_appointment_form").validate({
				rules: {
					ConfirmEmail: {
						required: true,
						equalTo: "#Email"
					},
					Email: {
						required: true,
						email: true
					}
				},
				messages: {
					ConfirmEmail: {
						required: "Please confirm email address",
						equalTo: "Please enter the same email address as above"
					}
				},
                submitHandler: function(form) { 
                    var url = form.action.replace('TreatmentAppointmentForm_send_email', '') + 'checkCaptchaAjax';
                    var fields = jQuery(form).serialize();
                    
                    jQuery.post(url, fields, function (response) {
                        if (response != 'ok') {
                            jQuery('#CaptchaError').show();
                        } else {
                            jQuery('#CaptchaError').hide();
                            form.submit();
                        }
                    }, 'html');     
                    
                    return false;
                }    
			});
		}
		
		
		if(jQuery("#pilates_equipment_form").length > 0){
			jQuery("#pilates_equipment_form").validate({
				rules: {
					ConfirmEmail: {
						required: true,
						equalTo: "#Email"
					},
					Email: {
						required: true,
						email: true
					}
				},
				messages: {
					ConfirmEmail: {
						required: "Please confirm email address",
						equalTo: "Please enter the same email address as above"
					}
				}
			});
		}

		if(jQuery("#private_pilates_form").length > 0){
			jQuery("#private_pilates_form").validate({
				rules: {
					ConfirmEmail: {
						required: true,
						equalTo: "#Email"
					},
					Email: {
						required: true,
						email: true
					}
				},
				messages: {
					ConfirmEmail: {
						required: "Please confirm email address",
						equalTo: "Please enter the same email address as above"
					}
				}
			});
		}		
		
		if(jQuery("#class_finder_questionnaire_form").length > 0){
			jQuery("#class_finder_questionnaire_form").validate();
		}


		jQuery('.schedule .view_panel').click(function(e){
			e.preventDefault();
			var open_link = jQuery(this);
			var panel_type = jQuery(this).attr('rel');
			if (jQuery.browser.msie && jQuery.browser.version.substr(0,1)>6) {
				var panel = jQuery(this).parent().parent().children('.times').children('.panels_holder').children('.' + panel_type + '_panel');
				
			}else{
				jQuery(this).parent().parent().next('tr').show();
				var panel = jQuery(this).parent().parent().next('tr').children('.panels').children('.panels_holder').children('.' + panel_type + '_panel');
				
			}
			//jQuery(this).parent().parent().next('tr').show();
			if (jQuery('.active_panel').length > 0){
				jQuery('.active_panel').slideUp('slow', function(e){
					jQuery(this).removeClass('active_panel');
					if(open_link.hasClass('opened')){
						panel.addClass('active_panel').slideDown('slow');
					}
				});
			}else{
				panel.addClass('active_panel').slideDown('slow');
			}

			if(!open_link.hasClass('opened')){
				jQuery('.schedule .view_panel.opened').removeClass('opened');
				open_link.addClass('opened');
			}else{
				open_link.removeClass('opened');
			}
		});

		jQuery('.panel .btn_close_panel').click(function(e){
			e.preventDefault();
			var btn = jQuery(this);
			if (jQuery.browser.msie && jQuery.browser.version.substr(0,1)>6) {
				jQuery(this).parent().parent().removeClass('active_panel').slideUp('slow', function(){
					//btn.parent().parent().parent().parent().parent().slideUp('slow');
					});
			}else{
				jQuery(this).parent().parent().removeClass('active_panel').slideUp('slow', function(){
					//btn.parent().parent().parent().parent().parent().slideUp('slow');
					});
			}
			
			jQuery('.schedule .view_panel.opened').removeClass('opened');
		});

		jQuery('#contact_form #department_list').change(function(){
			var text = jQuery(this).children('option:selected').text();
			jQuery('#contact_form #department').val(text);
		});

		// Forms, required fields asterisk decoration
		if (jQuery('#Form_TellafriendForm').length > 0) {

				var labels = jQuery('fieldset .field label:not(.right)');

				labels.each(function (i) {
					// Add an asterisk or empty <span> for non-required fields

					if (jQuery(this).parent().hasClass('requiredField')) {
						var labelMarker = ' <span>*</span>';
					} else {
						var labelMarker = ' <span>&nbsp;&nbsp;</span>';
					}
					// Add colon for all field labels
					jQuery(this).html(jQuery(this).text() + labelMarker);
				});
		}

		// Treatment Appointment Form
		if (jQuery('#treatment_appointment_form').length > 0) {
			TreatmentAppointmentFormAjaxDropdownsInit();
		}

		// Autosave class_finder_questionnaire selections in cookies
		if (jQuery('#class_finder_questionnaire_form').length > 0) {
			jQuery('#class_finder_questionnaire_form *').autosave({
				  'interval': 500
			});
			
			if (window.location.href.match(/restore=1/)) {
					jQuery.fn.autosave.restore();
			}
		}
		
		// Prevent copy-and-paste of confirm email field
		if (jQuery('#ConfirmEmail').length > 0) {
			jQuery('#ConfirmEmail').rightClick( function () { alert('Please retype your email manually.'); return false; });
			jQuery('#ConfirmEmail').bind('keydown', 'ctrl+v', function (e) { setTimeout("jQuery('#ConfirmEmail').val('');", 100); alert('Please retype your email manually.'); return false; });
		}
		
		// 'courses and workshops' - put triyoga education logo in the right place
		if (jQuery('#course_listing').length > 0) {
			jQuery('#course_listing li .triyoga_education_logo').each(function (i) {
				//jQuery(this).parents('.content').children('.triyoga_education_logo_container').html(this);
			});
		}
		
		
		if (jQuery('#mbo_account_form').length > 0) {
			jQuery('#mbo_account_form input#WelcomePackPost').click(function (e) {
				jQuery('#AddressDetails').toggle();
			});
		}
		
		
		if (jQuery('a.secure').length > 0) {
			jQuery('a.secure').each (function () {
				this.href = this.href.replace(/http:/, 'https:');
			});
		}
});



// input field text reset functions
function resetField(field, value){
	if (field.value==value){
		field.value="";

		return false;
	}
}

function startValue(field, text){
			if (field.value==""){
			field.value=text;
			return false;
			}
}


function mypopup(url){
	mywindow = window.open (""+url,"mywindow","location=1,status=1,scrollbars=1,width=600,height=500");
	mywindow.moveTo(0,0);
}


function TreatmentAppointmentFormAjaxDropdownsInit () {
	jQuery('#treatment_appointment_form input[type=checkbox], #treatment_appointment_form select').unbind('change').change( function (e) {

		// Checkbox validation, at leest one must be selected

		if (jQuery(this).attr('type') == 'checkbox') {
			if (this.checked == false) {
				if (jQuery(this).parents('fieldset').find('input:checked').length == 0) {
					jQuery(this).parents('fieldset').next().show();
					this.checked = true;
				}
			} else {
					jQuery(this).parents('fieldset').next().hide();
			}
		}

		// Ajax update

		var fields = jQuery(this).parents('form').serialize();
		jQuery('.ajax_loader').show();
		jQuery.post(jQuery('#AjaxDropdownsURL').attr('value'), fields, function (response) {
			jQuery('#ajax_dropdowns').html(response);
			TreatmentAppointmentFormAjaxDropdownsInit();
		}, 'html');

	});
}



