$(function()
{
  $('#main').wrap('<div id="mainShadowM"></div>');
  $('#mainShadowM').before('<div id="mainShadowT"></div>').after('<div id="mainShadowB"></div>');
  $('#menu').after('<div id="itFlag"></div>');
  $('#itFlag').append('<a><span class="v"></span><span class="b"></span><span class="r"></span></a>');
  $('#itFlag a').qtip({
    content: "No, that's not an Italian version of the website...<br />Just to remind you that I'm Italian!",
    position: {corner: {target: 'topMiddle',tooltip: 'bottomMiddle'}},
    style: {name: 'light', tip:{corner: 'bottomMiddle'}, fontStyle: 'italic'},
    show: {when: 'mouseover', delay: 0},
    hide: 'mouseout'
  });
  $("#menu li:not(.sel) a").hover(menuOver,menuOut);
  $('#itFlag').after('<div id="menuSlider"><div></div></div>');


  if($('body').attr('className')=='home')
  {
    $('div#content a.freelanceWork').contents().replaceWith('<span class="need">Need freelance work?</span><span class="contact">Contact me!</span>');
    $('p.intro a').hover(function(){$(this).stop().animate({color: '#FFCC00'}, "fast");},function(){$(this).stop().animate({color: '#FFFFFF'}, "fast");});
    $('a.freelanceWork').hover(function(){$('a.freelanceWork span').stop().animate({color: '#FFCC00'}, "fast");},function(){$('a.freelanceWork span').stop().animate({color: '#FFFFFF'}, "fast");});
  }
  if($('body').attr('className')=='portfolio')
  {
    $('#works').before('<a id="prevWork"></a>').after('<a id="nextWork"></a>');
    $('#works li').append('<div class="box"></div>');
    $('#works h3').wrap('<div class="cont"></div>');

    $('#works li a.link').hover(function(){$(this).stop().animate({color: '#FFCC00'}, "fast");},function(){$(this).stop().animate({color: '#FFFFFF'}, "fast");});

    $('#works div.cont').each(function(){$(this).append($(this).siblings('ul').get(0)).appendTo($(this).siblings('div.box'));});

    $('#nextWork, #prevWork').hover(function(){$(this).stop().animate({backgroundColor: '#333333'}, "fast");},function(){$(this).stop().animate({backgroundColor: '#222222'}, "fast");});
    $('#works').cycle({ fx: 'scrollHorz', speed: 1500, next: '#nextWork', prev: '#prevWork' });
    $('#works').cycle('pause');
  }
  else if($('body').attr('className')=='contact')
  {
    $('#contactForm a.send').hover(function(){$(this).stop().animate({color: '#FFCC00'}, "fast");},function(){$(this).stop().animate({color: '#FFFFFF'}, "fast");}).bind('click',sendMessage);
    $('#contactForm input, #contactForm textarea').wrap('<div class="check"></div>').after('<span></span>').bind('keyup',CFChange).bind('blur',CFBlur).bind('focus',CFFocus);
  }
});

function menuOver ()
{
  $("#menu li.sel a").stop().animate({color: '#666666', backgroundColor: '#000000'}, "slow");
  $(this).stop().animate({color: '#FFCC00', backgroundColor: '#222222'}, "slow");

  if($(this).attr('className')=='home')
    {var pos='36px';}
  else if($(this).attr('className')=='services')
    {var pos='172px';}
  else if($(this).attr('className')=='portfolio')
    {var pos='339px';}
  else if($(this).attr('className')=='about')
    {var pos='486px';}
  else if($(this).attr('className')=='contact')
    {var pos='623px';}

  $("#menuSlider div").stop().animate({marginLeft: pos}, "slow");
}

function menuOut()
{
  $("#menu li.sel a").stop().animate({color: '#FFCC00', backgroundColor: '#222222'}, "slow");
  $(this).stop().animate({color: '#666666', backgroundColor: '#000000'}, "slow");

  if($('body').attr('className')=='home')
    {var pos='36px';}
  else if($('body').attr('className')=='services')
    {var pos='172px';}
  else if($('body').attr('className')=='portfolio')
    {var pos='339px';}
  else if($('body').attr('className')=='about')
    {var pos='486px';}
  else if($('body').attr('className')=='contact')
    {var pos='623px';}

  $("#menuSlider div").stop().animate({marginLeft: pos}, "slow");
}

var CFTimer;
var input;
var enableCheck;

function CFChange()
{
  input=this;
  clearTimeout(CFTimer);
  if(!$(this).hasClass('editing'))
    {$(this).siblings('span').removeClass('ok').removeClass('error').addClass('editing');}
  setTimeout(CFCheck,500);
  enableCheck=true;
}

function CFCheck()
{
  var cssClass;
  $(input).siblings('span').removeClass('editing');
  if(enableCheck || input.value!='')
  {
    if(input.id=='CFname' || input.id=='CFcompany' || input.id=='CFmessage')
    {
      if(input.value=='')
        {cssClass='error';}
      else
        {cssClass='ok';}
    }
    else if(input.id=='CFemail')
    {
      er=/^[a-z0-9_.\-]+@[a-z0-9_.\-]+\.[a-z]{2,4}$/i;
      if(!er.test(input.value))
        {cssClass='error';}
      else
        {cssClass='ok';}
    }

    $(input).siblings('span').addClass(cssClass);
  }
}

function CFBlur()
{
  $(this).removeClass('focused');
  CFCheck();
  enableCheck=false;
}

function CFFocus()
{
  $(this).addClass('focused');
}

function sendMessage()
{
  var ok=true;
  if($('#CFname').val()=='')
  {
    ok=false;
    if($('#CFname').data("qtip"))
      {$('#CFname').qtip("show");}
    else
    {
      $('#CFname').qtip({
        content: "Please insert your Name",
        position: {corner: {target: 'rightMiddle',tooltip: 'leftMiddle'}},
        style: {name: 'red', tip:{corner: 'leftMiddle'}, fontSize: '15px', fontStyle: 'italic'},
        show: { when: '', ready: true, delay: 0 },
        hide: 'focus'
      });
    }
  }
  if($('#CFcompany').val()=='')
  {
    ok=false;
    if($('#CFcompany').data("qtip"))
      {$('#CFcompany').qtip("show");}
    else
    {
      $('#CFcompany').qtip({
        content: "Please insert your Company name",
        position: {corner: {target: 'rightMiddle',tooltip: 'leftMiddle'}},
        style: {name: 'red', tip:{corner: 'leftMiddle'}, fontSize: '15px', fontStyle: 'italic'},
        show: { when: '', ready: true, delay: 0 },
        hide: 'focus'
      });
    }
  }
  er=/^[a-z0-9_.\-]+@[a-z0-9_.\-]+\.[a-z]{2,4}$/i;
  if(!er.test($('#CFemail').val()))
  {
    ok=false;
    if($('#CFemail').data("qtip"))
      {$('#CFemail').qtip("show");}
    else
    {
      $('#CFemail').qtip({
        content: "Please insert your e-mail address",
        position: {corner: {target: 'rightMiddle',tooltip: 'leftMiddle'}},
        style: {name: 'red', tip:{corner: 'leftMiddle'}, fontSize: '15px', fontStyle: 'italic'},
        show: { when: '', ready: true, delay: 0 },
        hide: 'focus'
      });
    }
  }
  if($('#CFmessage').val()=='')
  {
    ok=false;
    if($('#CFmessage').data("qtip"))
      {$('#CFmessage').qtip("show");}
    else
    {
      $('#CFmessage').qtip({
        content: "Please write a message",
        position: {corner: {target: 'rightMiddle',tooltip: 'leftMiddle'}},
        style: {name: 'red', tip:{corner: 'leftMiddle'}, fontSize: '15px', fontStyle: 'italic'},
        show: { when: '', ready: true, delay: 0 },
        hide: 'focus'
      });
    }
  }

  if(ok)
  {
    $.get("/index.php",{a: "ajax", f: "sendmessage", name: $('#CFname').val(), company: $('#CFcompany').val(), email: $('#CFemail').val(), message: $('#CFmessage').val()}, sendMessageCallBack);

    $('<div id="qtip-blanket">').css({position: 'fixed', top: 0, left: 0, height: $(document).height(), width: '100%', opacity: 0.7, backgroundColor: 'black', zIndex: 5000}).appendTo(document.body).hide();

    if(!$('#contactForm a.send').data("qtip"))
    {
      $('#contactForm a.send').qtip(
      {
        content: {title: {text: '&nbsp;', button: 'Close'}, text: 'Sending Message...'},
        position: {target: $(document.body), corner: 'center'},
        show: {when: false, solo: true, ready: true, delay: 0},
        hide: false,
        style: {name: 'light', fontSize: '17px', fontStyle: 'italic', padding: '20px', textAlign: 'center'},
        api: {beforeShow: function(){$('#qtip-blanket').fadeIn(this.options.show.effect.length);}, beforeHide: function(){$('#qtip-blanket').fadeOut(this.options.hide.effect.length);}}
      });
    }
    else
    {
      $('#contactForm a.send').qtip("api").updateContent('Sending Message...').updateStyle('light');
      $('#contactForm a.send').qtip("show");
    }
    $('#contactForm a.send').qtip("disable");
  }
}

function sendMessageCallBack(data,textStatus)
{
  $('#contactForm a.send').qtip("enable");
  if(data=='1')
  {
    $('#contactForm a.send').qtip("api").updateContent('Message Sent.<br />Thank you!').updateStyle('green').updateTitle('&nbsp;');
    $('#contactForm input, #contactForm textarea').attr('value','');
    $('#contactForm span').removeClass('ok').removeClass('error').removeClass('editing');
  }
  else
    {$('#contactForm a.send').qtip("api").updateContent('Sorry, message not sent.<br />Please retry later!').updateStyle('red').updateTitle('&nbsp;');}
}