﻿/* SIGNUP FORM */
$(function() { 
  var options = {beforeSubmit: signupValidate, success: signupResponse, clearForm: false, resetForm: false, dataType: 'xml', url: '/handler/sendmessage.ashx'}      
  
  var newsoptions = {beforeSubmit: signupValidate, success: newsletterResponse, clearForm: false, resetForm: false, dataType: 'xml', url: '/handler/signup.ashx'}     
  
  var faultoptions = {beforeSubmit: signupValidate, success: faultResponse, clearForm: false, resetForm: false, dataType: 'xml', url: '/handler/sendfault.ashx'}     
  
  $('#frmEnquiry').ajaxForm(options);
  $('#frmNewsletter').ajaxForm(newsoptions);
  $('#frmSupport').ajaxForm(faultoptions);
});

function signupValidate(formData, jqForm, options) { 
  for (var i=0; i < formData.length; i++) { 
    if (!formData[i].value) { 
        alert('Please complete all fields'); 
        return false; 
    }
  } 
  return true
}

function signupResponse(responseXML)  { 
  var message = $('message', responseXML).text(); 
  if(message=='invalid') {
    alert('Email address is invalid');return
  }else{
    $('#frmEnquiry').slideUp('slow');
    $('#divConfirm').slideDown('slow');
  }
} 

function newsletterResponse(responseXML)  { 
  var message = $('message', responseXML).text(); 
  if(message=='invalid') {
    alert('Email address is invalid');return
  }else{
    $('#frmNewsletter').slideUp('slow');
    $('#newsConfirm').slideDown('slow');
  }
} 

function faultResponse(responseXML)  { 
  var message = $('message', responseXML).text(); 
  if(message=='invalid') {
    alert('Email address is invalid');return
  }else{
    $('#frmSupport').slideUp('slow');
    $('#supportConfirm').slideDown('slow');
  }
} 


///////////////////////  TWITTER GETTER

      function TweetTick(ob)
      {
	      var container=$('#tweet-container');
	      container.html('');
	      $(ob.results).each(function(el){
		      var str = '<span class="tweet">'+formatTwitString(this.text) +'</span>&nbsp;|&nbsp;';
		      container.append(str);
	      });
      	measureTweets();
      	//alert($('#tweet-container').offset().left);
      	scrollTweets();
      }

      function measureTweets(){
      totalwidth = 0;
        //alert($('.tweet').html());
        $('.tweet').each(function(index) {
          totalwidth += $(this).width();
        });
        //alert(totalwidth);
        $('#tweet-container').width(totalwidth+300);
        
      }
      
      function scrollTweets(){
        $('#tweet-container').css({left: ($('#tweet-container').position().left - 20) + 'px' });
        
        //alert($('#tweet-container').position().left + ' ' + totalwidth);
        
        if ($('#tweet-container').position().left <= -totalwidth){ 
          $('#tweet-container').css({left: '671px'});
          
        } 
        
        setTimeout('scrollTweets()', 200);  
      }

      function formatTwitString(str)
      {
	      str=' '+str;
	      str = str.replace(/((ftp|https?):\/\/([-\w\.]+)+(:\d+)?(\/([\w/_\.]*(\?\S+)?)?)?)/gm,'<a href="$1" target="_blank">$1</a>');
	      str = str.replace(/([^\w])\@([\w\-]+)/gm,'$1@<a href="http://twitter.com/$2" target="_blank">$2</a>');
	      str = str.replace(/([^\w])\#([\w\-]+)/gm,'$1<a href="http://twitter.com/search?q=%23$2" target="_blank">#$2</a>');
	      return str;
      }

      function relativeTime(pastTime)
      {	
	      var origStamp = Date.parse(pastTime);
	      var curDate = new Date();
	      var currentStamp = curDate.getTime();
      	
	      var difference = parseInt((currentStamp - origStamp)/1000);

	      if(difference < 0) return false;

	      if(difference <= 5)				return "Just now";
	      if(difference <= 20)			return "Seconds ago";
	      if(difference <= 60)			return "A minute ago";
	      if(difference < 3600)			return parseInt(difference/60)+" minutes ago";
	      if(difference <= 1.5*3600) 		return "One hour ago";
	      if(difference < 23.5*3600)		return Math.round(difference/3600)+" hours ago";
	      if(difference < 1.5*24*3600)	return "One day ago";
      	
	      var dateArr = pastTime.split(' ');
	      return dateArr[4].replace(/\:\d+$/,'')+' '+dateArr[2]+' '+dateArr[1]+(dateArr[3]!=curDate.getFullYear()?' '+dateArr[3]:'');
      }

