/* 

Author: Mr. Henry
Date: YYYY-MM-DD

Fueled by jQuery

*/

$.noConflict();
(function($){
  

Array.max = function( array ){
  return Math.max.apply( Math, array );
};

function uniform()
{
  
  $('input:checkbox, input:radio').uniform();
  
}

function form_validation()
{
  var container = $('#surv_validation_errors');
  $('#survey_form').validate({
    rules: {
            
      first_name  : "required",
      last_name   : "required",
      company     : "required",
      email       : {
        required: true,
        email: true
      },
      telephone   : "required",
      address_1   : "required",
      postal_code : "required",
      city        : "required"

    }
        
  });
}

function uniform_validation()
{
  var unanswered = 0;
  var name;
  var clear_name;
  
  $('#surv_submit').click(function(){
    unanswered = 0;
    $(':radio').each(function(){
      
      if ( name != $(this).attr('name') )
      { // We are in a new name
        
        // Update name
        name = $(this).attr('name');
        
        if (! $("input[name='"+name+"']:checked").val() )
        {
          $("input[name='"+name+"']").parent('span').parent('div').css({'background':'#a00'});
          //$(this).parents('span').css({'border-bottom':'1px solid red'});
          unanswered++;
        }
        
      }
      
      name = $(this).attr('name');
      
    });
    
    
    if ( unanswered > 0 )
    {
      return false;
    }
    
    
  });
  
  $('.radio').click(function(){
    clear_name = $('span input', this).attr('name');
    
    //$("input[name='"+clear_name+"']").parent('span').css({'border' : 0});
    $("input[name='"+clear_name+"']").parent('span').parent('div').css({'background' : 'transparent'});
    
  });
  
}

function animate_answers()
{
  
  var values = [];
  var highest_value = [];
  var highest_answer_width = 500;
  
  var highest_value_var = 0;
  
  $('.result').each(function(i){
    
    values[i] = [];
    
    $('.answer', this).each(function(j){
      
      values[i][j] = parseInt($(this).children('input').val(), 10);
      
      
      j++;
    
    });
    
    highest_value.push(Array.max(values[i]));
    
    i++;
    
  });
  
  $('.result').each(function(i){
        
    $('.answer', this).each(function(j){
      
      $(this).animate({
        'width' : ((highest_answer_width / highest_value[i]) * values[i][j]) + 'px'
      },1000);
      
      j++;
    
    });
    
    i++;
    
  });
  
  
}

function dialog()
{
  $('#surv_dialog').dialog({
    autoOpen  : false,
    width     : 420,
    draggable : false
  });
  
  $('a#terms').click(function(){
    $('#surv_dialog').dialog('open');
    return false;
  });
  
}

$(function(){
  
  try { uniform(); }              catch(e)  { /*console.log(e);*/ }
  try { form_validation(); }      catch(e)  { /*console.log(e);*/ }
  try { uniform_validation(); }   catch(e)  { /*console.log(e);*/ }
  try { animate_answers(); }      catch(e)  { /*console.log(e);*/ }
  try { dialog(); }               catch(e)  { /*console.log(e);*/ }
  
});

})(jQuery);
