/*!
 *
 * frontend.js
 * @author Dave Ashman <public@daveashman.com>
 *
 */
$(document).ready(function() {
	
	
     var zIndexNumber = 2000;
     $('div').not('.content-slider div').each(function() {
          $(this).css('zIndex', zIndexNumber);
          zIndexNumber -= 10;
     });
	
	
     /**
	 *	Nav drop downs
	**/
     initDropDownMenu();
	
     initSliders();
     submitNewsletterSignup()
	
     /**
	 *	News scroller methods
	**/
     
     var news_ticker_item_height = 0;
     $('.news-scroller .item-wrapper .item').each(function(){
          if($(this).outerHeight() > news_ticker_item_height){
               news_ticker_item_height = $(this).outerHeight();
          }
     })
     $('.news-scroller .item-wrapper')
     .find('.item-outer')
     .height((news_ticker_item_height*2)+60+'px')
     .find('.item').height(news_ticker_item_height+'px')
     .parents('.news-scroller')
     .height((news_ticker_item_height*2)+90+'px')
     .find('.item-wrapper, .content')
     .height((news_ticker_item_height*2)+50+'px')
     .cycle({
          fx: 'scrollUp',
          pause: true,
          easing: 'swing',
          cleartype:  true, // disable cleartype corrections
          cleartypeNoBg: true,
          timeout: 10000
     });
     $('.news-scroller .read-more a').nyroModal({
          height: 500,
          width: 600,
          title: false
     });
     $('a.contact-us, a.lightbox').nyroModal({
          height: 576,
          width: 600,
          title: false
     });
	
     /**
     *	Accordion
    **/
	
     $('ul.accordion').accordion({
          collapsibe: true,
          alwaysOpen: true,
          animated: 'slide',
          autoHeight: false,
          navigation: false,
          active: -1
     });
     /**
	 *	Contact form validation
	**/
     $(".contact-form").validate({
          errorElement: "div",
          errorPlacement: function(error, element) {
               var label = element.parent('div')
               error
               .hide()
               .addClass('error-message')
               .insertBefore(label)
               .fadeIn(500);
          },
          rules: {
               'data[Message][first_name]': "required",
               'data[Message][last_name]': "required",
               'data[Message][email_address]': {
                    required: true,
                    email: true
               },
               'data[Message][subject]': "required",
               'data[Message][message]': "required"
          },
          messages: {
               'data[Message][first_name]': "Please enter your first name",
               'data[Message][last_name]': "Please enter your last name",
               'data[Message][email_address]': "Please enter a valid email address",
               'data[Message][subject]': "Please write a subject",
               'data[Message][message]': "Please write your message"
          }
     });
     /**
	 *	Competition form validation
	**/
     $("#comp-form").validate({
          errorElement: "div",
          errorPlacement: function(error, element) {
               var label = element.parent('div')
               error
               .hide()
               .addClass('error-message')

               label.find('label').before(error)
               .fadeIn(500);
          },
          rules: {
				'data[CompetitionEntry][first_name]': "required",
				'data[CompetitionEntry][last_name]': "required",
				'data[CompetitionEntry][email_address]': {
				     required: true,
				     email: true
				},
				'data[CompetitionEntry][job_title]': "required",
				'data[CompetitionEntry][company]': "required",
				'data[CompetitionEntry][address_line_one]': "required",
				'data[CompetitionEntry][post_code]': "required",
				'data[CompetitionEntry][contact_number]': "required"
          },
          messages: {
				'data[CompetitionEntry][first_name]': "Please enter your first name",
				'data[CompetitionEntry][last_name]': "Please enter your last name",
				'data[CompetitionEntry][email_address]': "Please enter a valid email address",
				'data[CompetitionEntry][job_title]': "Please enter your job title",
				'data[CompetitionEntry][company]': "Please tell us what company you are from",
				'data[CompetitionEntry][address_line_one]': "Please enter the first line of your company address",
				'data[CompetitionEntry][post_code]': "Please enter your company's post code",
				'data[CompetitionEntry][contact_number]': "Please enter a contact number"
          }
     });
	
});


