$(document).ready(function() {
        EnquireInit();
    });

function EnquireInit() {

    if ( ! $("#Enquire").length > 0 ) {
        return false;
    }

    var s = '';
    s += '<div id="EnquireForm">' + "\n";

    s += '<div id="EnquireInputs">' + "\n";

    s += '<h2>' + "\n";
    s += 'Enquire Today' + "\n";
    s += '</h2>' + "\n";

    s += '<form action="" method="post">' + "\n";

    s += '<p><label>Type of Enquiry*</label></p>' + "\n";
  s += '<p><label id="forrole1" for="role1">Sales Enquiry </label><input type="radio" id="role1" name="EnquireRole" value="1" /></p>';
  s += '<p><label id="forrole2" for="role2">Support Enquiry </label><input type="radio" id="role2" name="EnquireRole" value="2" /></p>' + "\n";

    s += '<p><label for="name">Your Name*</label><br />' + "\n";
    s += '<input type="text" id="EnquireName" name="EnquireName" value="" /></p>' + "\n";

    s += '<p><label for="company">Company*</label><br />' + "\n";
    s += '<input type="text" id="EnquireCompany" name="EnquireCompany" value="" /></p>' + "\n";

    s += '<p><label for="location">Location/City*</label><br />' + "\n";
    s += '<input type="text" id="EnquireLocation" name="EnquireLocation" value="" /></p>' + "\n";

    s += '<p><label for="phone">Telephone Number*</label><br />' + "\n";
    s += '<input type="text" id="EnquirePhone" name="EnquirePhone" value="" /></p>' + "\n";

    s += '<p><label for="email">Your Email Address*</label><br />' + "\n";
    s += '<input type="text" id="EnquireEmail" name="EnquireEmail" value="" /></p>' + "\n";

    s += '<p><label for="message">Message*</label><br />' + "\n";
    s += '<textarea id="EnquireMessage" name="EnquireMessage"></textarea></p>' + "\n";

    s += '<p><input type="button" onclick="EnquireProcess(); return false;" id="EnquireSubmit" value="Send Message" /></p>' + "\n";

    s += '</form>' + "\n";
	s += '</div>' + "\n";

    s += '</div>' + "\n";

    s += '<div class="clear"></div>' + "\n";

    s += '<div id="EnquireProcessing">' + "\n";
    s += '</div>' + "\n";

    s += '<div class="clear"></div>' + "\n";

    s += '<div id="EnquireProcessed">' + "\n";
    s += '<span>Your enquiry has been sent.</span>' + "\n";
    s += '</div>' + "\n";

    $('#Enquire').html(s);

}


function EnquireValidate () {

    var valid = true;

    if ( ! $('#EnquireMessage').val() ) {
        $('#EnquireMessage').addClass('invalid');
        $('#EnquireMessage').focus();
        valid = false;
    } else {
        $('#EnquireMessage').removeClass('invalid');
    }

    if ( ! $('input:checked[name=EnquireRole]').length == 1) {
         $('#forrole1').addClass('invalid');
        $('#forrole2').addClass('invalid');
        valid = false;
    } else {
        $('#forrole1').removeClass('invalid');
        $('#forrole2').removeClass('invalid');
    }

    if ( ! $('#EnquireEmail').val() || ! validateEmail ( $('#EnquireEmail').val() ) ) {
        $('#EnquireEmail').addClass('invalid');
        $('#EnquireEmail').focus();
        valid = false;
    } else {
        $('#EnquireEmail').removeClass('invalid');
    }

    if ( ! $('#EnquirePhone').val() ) {
        $('#EnquirePhone').addClass('invalid');
        $('#EnquirePhone').focus();
        valid = false;
    } else {
        $('#EnquirePhone').removeClass('invalid');
    }

    if ( ! $('#EnquireLocation').val() ) {
        $('#EnquireLocation').addClass('invalid');
        $('#EnquireLocation').focus();
        valid = false;
    } else {
        $('#EnquireLocation').removeClass('invalid');
    }

    if ( ! $('#EnquireCompany').val() ) {
        $('#EnquireCompany').addClass('invalid');
        $('#EnquireCompany').focus();
        valid = false;
    } else {
        $('#EnquireCompany').removeClass('invalid');
    }

    if ( ! $('#EnquireName').val() ) {
        $('#EnquireName').addClass('invalid');
        $('#EnquireName').focus();
        valid = false;
    } else {
        $('#EnquireName').removeClass('invalid');
    }

    return valid;
}


function EnquireProcess () {

  if ( ! EnquireValidate() ) {
   return false;
 }

    var request = {
      email_to_role_id: $('input:checked[name=EnquireRole]').val(),
        rpc: 'enquire',
        name_given: $('#EnquireName').val(),
      name_family: ' ',
        company: $('#EnquireCompany').val(),
        location: $('#EnquireLocation').val(),
        mobile: $('#EnquirePhone').val(),
        phone: $('#EnquirePhone').val(),
        email: $('#EnquireEmail').val(),
        message: $('#EnquireMessage').val()
    };
  $.ajax(
    {
      url:'/contact', 
      data:request,
      dataType:'json', 
      type:'POST',
      success: function ( response ) {
        if( response.error == null ) {
          $('#EnquireForm').fadeOut( function() {
            try { 
              _gaq.push(['_trackPageview', '/contact/process/' + (request.email_to_role_id=='1'?'sales':'support')]);
            }catch(e) {}
            $('#EnquireProcessed').fadeIn()
          }) ;
        }
      }  
    });
}
/* helpers */

function log(s) {
    $('#log').html(s);
}

function validateEmail(str) {

    var at="@";
    var dot=".";
    var lat=str.indexOf(at);
    var lstr=str.length;
    var ldot=str.indexOf(dot);
    if (str.indexOf(at)==-1) {
        return false;
    }

    if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr) {
        return false;
    }

    if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr) {
        return false;
    }

    if (str.indexOf(at,(lat+1))!=-1) {
        return false;
    }

    if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot) {
        return false;
    }

    if (str.indexOf(dot,(lat+2))==-1) {
        return false;
    }

    if (str.indexOf(" ") != -1) {
        return false;
    }

    return true;
}



