var interval	= null;
var slides 		= [];
var slide     = 0;
var bldg			= null;
var bdelay		= null;
function prevSlide(wait) {
	if($('ul#marquee').hasClass('sliding'))
		return;
	var old = slide;
  if(wait === true) {
    clearInterval(interval);
		interval = null;
		interval = setTimeout('nextSlide()', 7000);
	}
  slide--;
  if(slide < 0)
    slide = slides.length - 1;
	$('ul#marquee').addClass('sliding');
	var l = $(slides[old]).width();
	$(slides[slide]).css({ left:-l });
	$(slides[slide]).animate({ left:0 }, 1000, endSlide);
	$(slides[old]).animate({ left:l }, 1000);
}
function nextSlide(wait) {
	if($('ul#marquee').hasClass('sliding'))
		return;
	var old = slide;
  if(wait === true) {
    clearInterval(interval);
		interval = null;
		interval = setTimeout('nextSlide()', 7000);
	}
  slide++;
  if(slide >= slides.length)
    slide = 0;
	$('ul#marquee').addClass('sliding');
	var l = $(slides[old]).width();
	$(slides[slide]).css({ left:l });
	$(slides[slide]).animate({ left:0 }, 1000, endSlide);
	$(slides[old]).animate({ left:-l }, 1000);
}
function endSlide() {
	$('ul#marquee').removeClass('sliding');
	$('li.current').removeClass('current');
	$(slides[slide]).addClass('current');
}
function stretchBG() {
	var b = $('body');
	var m = $('#main');
	m.css('height', '');
	if(b.height()-172 > m.height())
		m.height(b.height()-172);
}
$(function() {
	stretchBG();
	$(window).resize(stretchBG);
	slides = $('li.slide');       
	
	slides.each(function(){
	  var s = $(this);             
	  var img = $('img', s);    
	  var src =  s.data('image');
	  if(src && src != ''){
	    img.attr('src', s.data('image'))
	  }
	})
	
	
	
	if(slides.length >= 2) {
		$('li.prev,li.next').show();
  	interval = setInterval("nextSlide()", 7000);
		$('li.prev a').click(function() { prevSlide(true); return false; });
		$('li.next a').click(function() { nextSlide(true); return false;});
	}
	$('#skyline .h,#skyline .details').bind('mouseover', function() {
		if(bdelay) {
			window.clearTimeout(bdelay);
			bdelay = null;
		}
	});
	$('#skyline .details').bind('mouseout', function() {
		if(bdelay) {
			window.clearTimeout(bdelay);
			bdelay = null;
		}
		bdelay = window.setTimeout('hideBldgInfo()', 2500);	
	});
	$('#skyline .h').hoverIntent({
		timeout: 75,
		over: function() {
			if(bdelay) {
				window.clearTimeout(bdelay);
				bdelay = null;
			}
			var b = $(this).parent().attr('id');
			if(bldg != b) {
				$('#skyline .current').removeClass('current');
				$(this).parent().addClass('current'); 
				bldg = b;
			}
		},
		out: function() {
			if(bdelay) {
				window.clearTimeout(bdelay);
				bdelay = null;
			}
			bdelay = window.setTimeout('hideBldgInfo()', 2500);
		}
	});
});

function hideBldgInfo() {
	var c = $('#skyline .current');
	if(c) {
		//c.fadeOut(500, function() {
			c.removeClass('current').css('display', '');
			bldg = null;
		//});
	}
	window.clearTimeout(bdelay);
	bdelay = null;
}     


function make_egg(){
  var _egg = $('#egg'),
      _egg_toggle = $('#egg_toggle', _egg),
      _egg_popup = $('#egg_popup', _egg),
      _egg_close = $('.w_egg_close', _egg_popup);
      _egg_header = $('.w_egg_head h4', _egg_popup);
      _egg_legal_rules = $('.w_egg_rules', _egg_popup); 
      _egg_legal_form = $('form', _egg_legal_rules);
      _egg_legal_agree = $('#i_agree', _egg_legal_form);   
      _egg_form_wrapper = $('.w_egg_form', _egg_popup); 
      _egg_form = $('form', _egg_form_wrapper);
  _egg_toggle.click(function(){  
    if(_egg_popup.hasClass('success')){
      return false;
      _egg_popup.removeClass('success');
      $('input, textarea', _egg_form).not('.submit_btn')
                            .val(''); 
    } 
    if(_egg_popup.hasClass('error_submit')){
      _egg_popup.removeClass('error_submit');
    }
    
    $('div.success', _egg_popup).remove();
    $('div.error_note', _egg_popup).remove();
    
    
    _egg_form_wrapper.hide();
    _egg_legal_rules.show();
    
    _egg_popup.show(); 
    return false;
  }); 
  _egg_close.click(function(){
    _egg_popup.hide();
    return false;
  });     
    
    _egg_legal_form.submit(function(event){  
        event.preventDefault();       
          _egg_legal_rules.hide();  
          _egg_form_wrapper.show();
      
    });
        
    _egg_form.submit(function(event){
        event.preventDefault();

     var err = false;
     var email_reg = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
     var phone_reg = /^\(?[2-9]\d{2}[\)\.-]?\s?\d{3}[\s\.-]?\d{4}$/;
     $('li input, li textarea, li select', _egg_form).each(function(){
        var e = $(this);
        var _li = e.parent();
        var _error = $('label.error', _li);
        var val = e.val();
        if(_error.length == 0){
          _error = $('<label class="error" for="'+e.attr('id')+'">Required.</label>').appendTo(_li);
        }
        if(e.hasClass('required') && (!val || val == '')){
           err = true;
          _error.html('Required Field').show();
        }else if(e.hasClass('email') && !val.match(email_reg)){
            err = true;
          _error.html('Invalid Email Address').show();
        }else if(e.hasClass('phone') && !val.match(phone_reg)){
            err = true;
          _error.html('Invalid Phone Number').show();
        }else{
          _error.hide();
        }
     });
     if(err == false){
       $.post( _egg_form.attr('action'), _egg_form.serialize(),
        function(data) {         
             if(_egg_popup.hasClass('error_submit')){
                _egg_popup.removeClass('error_submit');
              }
    
              $('div.success', _egg_popup).remove();
              $('div.error_note', _egg_popup).remove();   
    
            if(data && data.status && data.status == 'OK'){      
               //_egg_toggle.hide();
               _egg_header.html('Thank You!')
               _egg_popup.addClass('success');
               _egg_form.after(data.message);
            }
            else
            {    
                _egg_popup.addClass('error_submit');
                _egg_form.before(data.message);   
               
                if(data.errors){
                  $.each(data.errors, function(index, array_val)
                  {
                      $.each(array_val, function(key, value)
                      {
                          var _li = $('#'+key).parent();
                          $('label.error', _li).html(value).show();
                      });
                  });
                }
                
            }
        },
        'json'
      );

     }
     return false;
  });                       
  
}


