//global variables:
var intervalId, curBnr=0, intID;
var curBox=0, nextBox=0, eachBoxWidth, elem;
var direction=-1, total, duration=5000;
var featureScrollID, diffBetwnScrollDivs, featureDlWidth;

jQuery(document).ready(function(){
	//TWITTER:
	if(jQuery('ul#twitter_update_list').length > 0)
		twitterLoad();

	
	/*tabs click events:
	----------------------------------------------------*/
	tabbing( $j('.tab_bar'), $j('.tab_box') );
	
	$j('ul#tabbar li ul').each(function(){
		$j(this).css('width', $j(this.parentNode).outerWidth());
	});
	
	//formExistancy:
	$j('#formExistancy .butn_close').click(function(){
		$j('#formExistancy h2:first, #formExistancy form:first').slideUp('slow');
	});
	
	$j("ul#tabbar > li").hover(
		function(){$j(this).find('ul').stop(true,true).slideDown("fast")},
		function(){$j(this).find('ul').slideUp("fast")}
	);
	
	$j(".scrollingBnr ul li").hover(
		function(){
			$j(this).css('background-position','left -114px');
			$j(this).css('background-repeat','repeat-x');
		},
		function(){
			$j(this).css('background-position','right top');
			$j(this).css('background-repeat','no-repeat');
		}
	);
	
	
	//initially open footer:
	if(home_footer_opened){
		$j('#twitterText').hide();
		$j('#arrow').addClass('downArrow');
		$j('.hideBttmCont').show();
		$j('.addressText').show();
	}
	
	$j('#arrow').click(function(){
		$j('#twitterText').toggle();
		$j('.addressText').toggle();
		$j(this).toggleClass('downArrow');
		$j('.hideBttmCont').slideToggle();
	});
	
	$j('.mailbox').click(function(){
		$j('#twitterText').toggle();
		$j('.addressText').toggle();
	});
	
	//Banner play/pause:
	if($j(".scrollXControllers li").length > 0){
		//initialize global variables:
		elem='ul.scrollX';
		total=$j(elem+' > li').length ;
		eachBoxWidth=$j(elem+' li:first').outerWidth();
		
		//starting box default to FIRST-ONE:
		$j(elem+' > li:first').css('left','0');
		$j('ul.scrollXControllers > li > a:first').parent('li').addClass('videoSlct');
		
		if($j(".scrollXControllers li > a").length > 1){
			//auto play start:
			$j('ul.scrollXControllers b.videoPlay').parent('li').addClass('curButn');
			playBnr();
			
			//click on specific box:
			$j(".scrollXControllers > li > a").each(function(index){
				$j(this).click(function(){
					//stop playing:
					pauseBnr();
					
					//now move to the clicked:
					if(curBox!=index){
						nextBox = index;
						moveBanner(elem,nextBox);
						curBox=nextBox;
					}
				});
			});
			
			//click on controllers:
			$j(".scrollXControllers > li > b").click(function(){
				if( !$j(this.parentNode).hasClass('curButn') ){
					$j(this).hasClass('videoPlay')? playBnr() : pauseBnr();
				}
			});
		}
	}
	
	if($j('.scrollingBnr ul li').length >4){
		featureDlWidth=$j('.scrollingBnr ul li:first').outerWidth()*$j('.scrollingBnr ul li').length;
		diffBetwnScrollDivs=featureDlWidth-$j('.scrollingBnr .scrollingBnrIn').width(); //alert(diffBetwnScrollDivs);
		$j('.scrollingBnr ul').css('width',featureDlWidth);
		if(diffBetwnScrollDivs > 0){
			$j('.scrollingBnr .btn_left, .scrollingBnr .btn_right').hover(
				function(){
					if($j(this).is('.scrollingBnr .btn_left')){ 
						featureScrollID=setInterval('scrollFeature(+1)',5);}
					else
						featureScrollID=setInterval('scrollFeature(-1)',5);
				},
				function(){clearInterval(featureScrollID)}
			);
		}
	}
	
});

function tabbing(butns, boxes){
	/*initialization:
	----------------------------------------------------*/
	boxes.queue(function(){
		butns.find('li a:first').parent('li').addClass('commSlct');
		$j(this).children('li:first').css('display','block');
		$j(this).queue(function(){
			$j(this).height(parseInt($j(this).children('li:first').outerHeight())+'px');
			$j(this).dequeue();
		});
		$j(this).dequeue();
	});
	
	/*buttons click:
	----------------------------------------------------*/
	butns.find('li a').parent('li').each(function(index){
		$j(this).click(function(){
			if(!$j(this).hasClass('commSlct')){
				butns.find('li a').parent('li').removeClass('commSlct').eq(index).addClass('commSlct');
				boxes.height(parseInt(boxes.children('li:visible').outerHeight())+'px');
				boxes.children('li').stop(true,true).fadeOut('slow').eq(index).fadeIn('slow').parent().animate({height : parseInt(boxes.children('li:eq('+index+')').outerHeight())+'px'},'slow');
			}
		});
	});
}

var curPos=0;
function scrollFeature(scrDirection){
	if(0 < curPos || curPos < -diffBetwnScrollDivs){
		clearInterval(featureScrollID);
		if(0 < curPos) curPos=0; else curPos = -diffBetwnScrollDivs;
	}
	else{
		curPos+=(4*scrDirection);
		$j('.scrollingBnr ul').css('left', curPos+'px');
	}
}

function scrollNormal(scrDirection){
	if(0 < curPos || curPos < -diffBetwnScrollDivs){
		clearInterval(featureScrollID);
		if(0 < curPos) curPos=0; else curPos = -diffBetwnScrollDivs;
	}
	else{
		curPos+=(scrDirection);
		$j('.scrollingBnr ul').css('left', curPos+'px');
	}
}

function scrollToItem(itemToScroll){
	divWidth=$j('.scrollingBnr ul li:first').outerWidth();
	//alert(divWidth);
	scrollNormal((itemToScroll -1) * -divWidth);
}


function pauseBnr(){clearInterval(intervalId); $j('ul.scrollXControllers li').removeClass('curButn').children('b.videoStop').parent('li').addClass('curButn')}
function playBnr(){intervalId=setInterval('startBnrPlay()',duration); $j('ul.scrollXControllers li').removeClass('curButn').children('b.videoPlay').parent('li').addClass('curButn')}

function startBnrPlay(){
	nextBox = (curBox == (total-1))? 0 : curBox+1;
	moveBanner(elem,nextBox);
	curBox=nextBox;
}

function moveBanner(elem,nextBox){
	$j(elem+' > li:eq('+curBox+')').stop(true,true).animate({left : direction*eachBoxWidth+'px'},{
		queue:false,
		duration:'medium',
		step:function(n, fx){
			$j(elem+' > li:eq('+nextBox+')').css('left' , (-1*direction*eachBoxWidth+n)+'px');
		}
	});
	$j('ul.scrollXControllers > li > a').parent('li').removeClass('videoSlct').eq(nextBox).addClass('videoSlct');
}

/*==========================TWITTER===========================*/
function twitterLoad(){
	var e = document.createElement("script");
	e.src = 'http://twitter.com/javascripts/blogger.js';
	e.type="text/javascript";
	document.getElementsByTagName("head")[0].appendChild(e);
	intID=setInterval('twitterLoadCont()',1000);
}

function twitterLoadCont(){
	var e = document.createElement("script");
	e.src = 'http://twitter.com/statuses/user_timeline/maxpapis.json?&callback=twitterCallback2&count=2';
	e.type="text/javascript";
	document.getElementsByTagName("head")[0].appendChild(e);
	
	var e2 = document.createElement("script");
	e2.src = 'http://twitter.com/statuses/user_timeline/maxpapis.json?callback=twitterCallbackSingle&count=1';
	e2.type="text/javascript";
	document.getElementsByTagName("head")[0].appendChild(e2);
	
	
	var e3 = document.createElement("script");
	e3.src = 'http://twitter.com/statuses/user_timeline/maxpapis.json?callback=twitterCallbackCommunity&count=4';
	e3.type="text/javascript";
	document.getElementsByTagName("head")[0].appendChild(e3);
	
	clearInterval(intID);

	
}

/*==========================================================*/

function twitterCallbackSingle(twitters) {
  var statusHTML = [];
  for (var i=0; i<twitters.length; i++){
    var username = twitters[i].user.screen_name;
    var status = twitters[i].text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url) {
      return '<a href="'+url+'">'+url+'</a>';
    }).replace(/\B@([_a-z0-9]+)/ig, function(reply) {
      return  reply.charAt(0)+'<a href="http://twitter.com/'+reply.substring(1)+'">'+reply.substring(1)+'</a>';
    });
    statusHTML.push('<a href="http://twitter.com/'+username+'">@'+username+'</a> '+status+' <span>'+relative_time(twitters[i].created_at)+'</span>');
  }
  document.getElementById('twitterText').innerHTML = statusHTML.join('');
}


function twitterCallbackCommunity(twitters) {
  var statusHTML = [];
  for (var i=0; i<twitters.length; i++){
    var username = twitters[i].user.screen_name;
    var status = twitters[i].text.replace(/((https?|s?ftp|ssh)\:\/\/[^"\s\<\>]*[^.,;'">\:\s\<\>\)\]\!])/g, function(url) {
      return '<a href="'+url+'">'+url+'</a>';
    }).replace(/\B@([_a-z0-9]+)/ig, function(reply) {
      return  reply.charAt(0)+'<a href="http://twitter.com/'+reply.substring(1)+'">'+reply.substring(1)+'</a>';
    });
    statusHTML.push('<div class="tweet"><p>'+status+' <span class="tweet_date"><a href="http://twitter.com/'+username+'/statuses/'+twitters[i].id+'">'+relative_time(twitters[i].created_at)+'</a></span></p></div>');
  }
  document.getElementById('community-feed').innerHTML = statusHTML.join('');
}

function relative_time(time_value) {
  var values = time_value.split(" ");
  time_value = values[1] + " " + values[2] + ", " + values[5] + " " + values[3];
  var parsed_date = Date.parse(time_value);
  var relative_to = (arguments.length > 1) ? arguments[1] : new Date();
  var delta = parseInt((relative_to.getTime() - parsed_date) / 1000);
  delta = delta + (relative_to.getTimezoneOffset() * 60);

  if (delta < 60) {
    return 'less than a minute ago';
  } else if(delta < 120) {
    return 'about a minute ago';
  } else if(delta < (60*60)) {
    return (parseInt(delta / 60)).toString() + ' minutes ago';
  } else if(delta < (120*60)) {
    return 'about an hour ago';
  } else if(delta < (24*60*60)) {
    return 'about ' + (parseInt(delta / 3600)).toString() + ' hours ago';
  } else if(delta < (48*60*60)) {
    return '1 day ago';
  } else {
    return (parseInt(delta / 86400)).toString() + ' days ago';
  }
}


