String.prototype.parseURL = function () {
	return this.replace(/[A-Za-z]+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&~\?\/.=]+/g, function (url) {
		return url.link(url);
	});
};

// JavaScript Document
$(document).ready(function () {



	//Services Widget

	$('#sub_servicesMain_expertiseWidgetTab_eCom').click(function () {
		$('#sub_servicesMain_expertiseWidgetTab_eCom').css("background", "#ffffff");
		$('.servicesMain_tabNav_eComTxt').css("color", "#ff7d21");

		$('#sub_servicesMain_expertiseWidgetTab_media').css("background", "#d8d8d8");
		$('.servicesMain_tabNav_mediaTxt').css("color", "#000000");
		$('#sub_servicesMain_expertiseWidgetTab_personal').css("background", "#d8d8d8");
		$('.servicesMain_tabNav_personalTxt').css("color", "#000000");

		$('#servicesMain_expertiseWidget_eComTextData').css("display", "block");
		$('#servicesMain_expertiseWidget_mediaTextData').css("display", "none");
		$('#servicesMain_expertiseWidget_personalTextData').css("display", "none");
		$(".sub_servicesMain_expertiseWidget_imgSwapWrapper").html('<img src="images/servicesMain_widgetFPO1.jpg" width="300" height="247"/>');

	});
	$('#sub_servicesMain_expertiseWidgetTab_media').click(function () {
		$('#sub_servicesMain_expertiseWidgetTab_eCom').css("background", "#d8d8d8");
		$('.servicesMain_tabNav_eComTxt').css("color", "#000000");

		$('#sub_servicesMain_expertiseWidgetTab_media').css("background", "#ffffff");
		$('.servicesMain_tabNav_mediaTxt').css("color", "#ff7d21");
		$('#sub_servicesMain_expertiseWidgetTab_personal').css("background", "#d8d8d8");
		$('.servicesMain_tabNav_personalTxt').css("color", "#000000");

		$('#servicesMain_expertiseWidget_eComTextData').css("display", "none");
		$('#servicesMain_expertiseWidget_mediaTextData').css("display", "block");
		$('#servicesMain_expertiseWidget_personalTextData').css("display", "none");
		$(".sub_servicesMain_expertiseWidget_imgSwapWrapper").html('<img src="images/servicesMain_widgetFPO2.jpg" width="300" height="300"/>');

	});
	$('#sub_servicesMain_expertiseWidgetTab_personal').click(function () {
		$('#sub_servicesMain_expertiseWidgetTab_eCom').css("background", "#d8d8d8");
		$('.servicesMain_tabNav_eComTxt').css("color", "#000000");

		$('#sub_servicesMain_expertiseWidgetTab_media').css("background", "#d8d8d8");
		$('.servicesMain_tabNav_mediaTxt').css("color", "#000000");
		$('#sub_servicesMain_expertiseWidgetTab_personal').css("background", "#ffffff");
		$('.servicesMain_tabNav_personalTxt').css("color", "#ff7d21");

		$('#servicesMain_expertiseWidget_eComTextData').css("display", "none");
		$('#servicesMain_expertiseWidget_mediaTextData').css("display", "none");
		$('#servicesMain_expertiseWidget_personalTextData').css("display", "block");
		$(".sub_servicesMain_expertiseWidget_imgSwapWrapper").html('<img src="images/servicesMain_widgetFPO3.jpg" width="300" height="350"/>');

	});


	//BLOG / NEWS TABBED SECTION
	$('#services_tabNavBlog').click(function () {
		$('#services_tabNavBlog').css("background", "#ffffff");
		$('#services_tabNavBlogTxt').css("color", "#ff7d21");
		$('#services_tabNavNews').css("background", "none");
		$('#services_tabNavNewsTxt').css("color", "#000000");

		$('#services_blogTabContent').css("display", "block");
		$('#services_newsTabContent').css("display", "none");

		$("#services_txtSwap").html('<div class="buttonTextWrapper"><img src="images/fpoViewBlogBtnTxt.png" border="0" alt="Launch" /></div>');

	});

	$('#services_tabNavNews').click(function () {
		$('#services_tabNavBlog').css("background", "none");
		$('#services_tabNavBlogTxt').css("color", "#000000");
		$('#services_tabNavNews').css("background", "#ffffff");
		$('#services_tabNavNewsTxt').css("color", "#ff7d21");

		$('#services_blogTabContent').css("display", "none");
		$('#services_newsTabContent').css("display", "block");

		$("#services_txtSwap").html('<div class="buttonTextWrapper"><img src="images/fpoViewNewsBtnTxt.png" border="0" alt="Launch" /></div>');
	});

	//CLIENT LIST DROP DOWN
	clientListInt = 0;
	clientListClickStop = 0;
	var $subClientList = $('.sub_clientList'),
		$clientListArrow = $("#sub_clientList_arrow");

	openClientList = function () {
		var clientListHeight = $("#clientListWrap ul:first-child").height();
		$subClientList.stop().animate({ width: 980 }, 400, function (e) {
			$subClientList.animate({ height: clientListHeight + 68 }, 400, function () { $subClientList.addClass("expanded"); });
		});

		$clientListArrow.addClass("open");

		clientListInt = 1;
	};

	closeClientList = function () {
		$subClientList.animate({ height: 30 }, 400, function (e) {
			$subClientList.animate({ width: 124 }, 400);
		});
		$subClientList.removeClass("expanded");
		$clientListArrow.removeClass("open");
		clientListInt = 0;
	};


	//LIST LAUNCH BTN
	$('#sub_clientListNavBtn').click(function () {

		if (clientListClickStop == 0) {

			clientListClickStop = 1;

			if (clientListInt == 0) {
				openClientList();
			} else if (clientListInt == 1) {
				closeClientList();
			}

			setTimeout(function () {
				clientListClickStop = 0;
			}, 800);

		} else { }
	});

	//CLOSE BTN
	$('#sub_clientList_closeBtn').click(function () {
		closeClientList();
	});

	//CLIENT LIST DROP DOWN NAV
	$("#sharethoughts").mouseleave(function () {
		$(this).removeClass('active');
	});
	$("#sharethoughts").mouseenter(function () {
		$(this).removeClass('active').addClass('active');
	});

	$("#clientListWrap").ajaxStart(function () {
		$(this).fadeTo('fast', 0.2);
	}).ajaxStop(function () {
		$(this).fadeTo('fast', 1.0);
	});

	function getClientList(listType, firstLoad) {
		$.ajax({
			url: '/sitefinity/services/lists/clientlist.asmx/GetClients',
			data: { industry: "'" + listType + "'" },
			type: 'GET',
			contentType: 'application/json;charset=utf-8',
			dataType: 'json',
			success: function (data) {
				var clients = eval(data.d),
					totalCount = clients.length,
					numColumns = 5,
					itemsPerColumn = Math.ceil(totalCount / numColumns),
					count = 0,
					clientListHeight,
					$clientList = $('<ul/>'),
					$clientListWrap = $("#clientListWrap");

				$clientListWrap.empty();
				$clientList.addClass('clientListRow');

				$.each(clients, function (index, client) {
					count = index + 1;

					var $li = $('<li/>');

					if (client.Url == null || client.Url.length == 0) {
						$li.text(client.Name).appendTo($clientList);
					} else {
						var $a = $('<a/>');
						$a.attr('href', client.Url).addClass(client.Industry).text(client.Name).appendTo($li);
						$li.appendTo($clientList);
					}

					if ((count % itemsPerColumn == 0) && count != totalCount) {
						$clientList.clone().appendTo($clientListWrap);
						$clientList.empty();
					} else if (count % itemsPerColumn == 0) {
						$clientList.clone().appendTo($clientListWrap);
					} else if (count > 0 && count == totalCount) {
						$clientList.clone().appendTo($clientListWrap);
					}
				});

				clientListHeight = $clientListWrap.find('ul:first-child').height();

				if (!firstLoad) {
					$('.sub_clientList').animate({ height: clientListHeight + 68 }, 400);
				}
			}
		});
	}

	var baseUrl = "/sitefinity/services/lists/clientlist.asmx/GetClients";

	if ($(".sub_clientListContent").length > 0) {
		getClientList('all', true);
	}

	$(".filter-client-link").click(function (e) {
		e.preventDefault();
		var listType = $(this).attr("data-listType");
		$('.filter-client-link').removeClass('active');
		$(this).addClass('active');
		getClientList(listType);
	});

	//WORK CAROUSEL
	//    $(".s2").CarouSlide({
	//	    animType:"slide",
	//		showBackNext:true,
	//		animInfinity:true,
	//		animTime:2000
	//		;
	//	});

	$('#ContentPlaceholder1_FormPlaceholder_C003_SubmitButton').live('click', BtnClick);
	$('.validate').live('blur', function (e) {
		$('.contact-form').find('.invalid').each(function (i, e) {
			var errCount = 0;
			if ($(e).css('visibility') == 'hidden' || $(e).css('display') == 'none') {
				
			} else {
				errCount++;
			}
			
			if(errCount > 0) {
				$('#' + $(e).attr('data-inputid')).addClass('invalid');
			} else {
				$('#' + $(e).attr('data-inputid')).removeClass('invalid');
			}
		});

	});

	//	$('.invalid').contentChange(function() {
	//		alert('change');
	//	});
});

function getTwitterFeed(searchterm) {
	$.getJSON("http://search.twitter.com/search.json?lang=en &q=" + searchterm + "&rpp=1&callback=?", function (json) {
		$(json.results).each(function () {
			var tTime = new Date(Date.parse(this.created_at));
			var cTime = new Date();
			var sinceMin = Math.round((cTime - tTime) / 60000);
			if (sinceMin == 0) {
				var sinceSec = Math.round((cTime - tTime) / 1000);
				if (sinceSec < 10)
					var since = 'less than 10 seconds ago';
				else if (sinceSec < 20)
					var since = 'less than 20 seconds ago';
				else
					var since = 'half a minute ago';
			}
			else if (sinceMin == 1) {
				var sinceSec = Math.round((cTime - tTime) / 1000);
				if (sinceSec == 30)
					var since = 'half a minute ago';
				else if (sinceSec < 60)
					var since = 'less than a minute ago';
				else
					var since = '1 minute ago';
			}
			else if (sinceMin < 45)
				var since = sinceMin + ' minutes ago';
			else if (sinceMin > 44 && sinceMin < 60)
				var since = 'about 1 hour ago';
			else if (sinceMin < 1440) {
				var sinceHr = Math.round(sinceMin / 60);
				if (sinceHr == 1)
					var since = 'about 1 hour ago';
				else
					var since = 'about ' + sinceHr + ' hours ago';
			}
			else if (sinceMin > 1439 && sinceMin < 2880)
				var since = '1 day ago';
			else {
				var sinceDay = Math.round(sinceMin / 1440);
				var since = sinceDay + ' days ago';
			}

			var tweettext = parseUrl(this.text);

			$("#twitterimg").attr("src", this.profile_image_url);
			$("#twitterfeed").find("a").attr("href", "http://twitter.com/" + this.from_user);
			$("#twitteruser").text(this.from_user);
			$("#twittertext").html(tweettext);
			$("#twittertimeago").text(since);
			$("#twitterimg").show();

		});
	});

}

//finds urls in twitter feed text and converts to a link
function parseUrl(txt) {
	return txt.replace(/[A-Za-z]+:\/\/[A-Za-z0-9-_]+\.[A-Za-z0-9-_:%&~\?\/.=]+/g, function (url) {
		return url.link(url);
	});
};

function BtnClick() {
	console.log('validating');
	var val = Page_ClientValidate();
	if (!val) {
		var i = 0;
		for (; i < Page_Validators.length; i++) {
			if (!Page_Validators[i].isvalid) {
				$("#" + Page_Validators[i].controltovalidate)
						 .addClass('invalid');
				break;
			} else {
				$("#" + Page_Validators[i].controltovalidate)
						 .removeClass('invalid');
			}
		}
	}
	return val;
}


