$(function() {
	$(document).click(function(){	
		$("#loginFormWrapper").hide();
	});
	$('#btnOkResetDone').click(function(){	
		$("#loginFormWrapper").hide();
	});
	$("#loginFormWrapper").click(function(e){
	    e.stopPropagation();
	});
	
	// Pass it on slides

	
	//
	// More news feed information
	//
	$('.more-news-feed').click(function(ev)
	{
		ev.preventDefault();
		
		var type          = $(this).attr('data-feed-type');
		var pageBlocksNum = $('#newsfeed_' + type + ' .messages .page').length;
		var feedUrlPart   = $(this).attr('data-url-part');
		var userId        = $(this).attr('data-user-id');
		
		conduit.exchangeHTML({
			url     : 'html/' + feedUrlPart
		,   params  : { 'news-feed-type' : type, '_page' : pageBlocksNum, 'user_id' : userId }
		,   success : function( data ) {
				$('#newsfeed_' + type + ' .messages').append('<div class="page">' + data + '</div>');
			}
		,   error   : function(data) {
				$('#newsfeed_' + type + ' .messages').append('<div class="page">' + data + '</div>');
			}
		});
	});
});

/* TODO: Bad practice! Replace it!*/
//form field clear default text //	
function clearText(a)	{if(a.defaultValue==a.value){a.value=""}else{if(a.value==""){a.value=a.defaultValue}}};


//* -- GENERAL OVERLAY CLOSE BUTTON ---- *//
// -- don't need to specify which div to close each time --//
$(function() {
	$('.popupWindow .btnClose, .popupWindow .btn_inlineclose').click(function(e) {
		$(this).closest('.popupWindow').hide();
		return false;
	})
	
	/* ---- if click anywhere outside of the lightbox it closes ---- */
	$('.overlay').click(function(){	
		$(".popupWindow").hide();
	});
	
	$(".lightBox").click(function(e){
		    e.stopPropagation();
	});
	
	// give links overlay class use href as target//
	$('a.overlay_inline').click(function(){
		var overlay_id = $(this).attr("href"); 
		var margin_top = $(document).scrollTop();
		$(overlay_id).show();
		$(overlay_id).css('margin-top', margin_top+'px');
		return false;
	})
});




/* Singup Widget */
$(function () {
	com.gripwire.Validation.init({
		'form': $('#signupWidget'),
		'url': 'register.do.php'
	});
});

$(function () {
	com.gripwire.ContactFormValidation.init({
		'form': $('#contactForm'),
		'url': 'contact.do.php'
	});
});

/* Login Widget */

$(function () {
	com.gripwire.ajaxLogin.init({
		'form': $('#loginForm'),
		'url': 'login.do.php'
	});
	
	com.gripwire.ajaxResetPassword.init({
		'form': $('#resetPwForm'),
		'url': 'lm/password-reset-init.do.php'
	});
});

$(function() {
	$('#btnLogin').click(function(e) {
		$('#loginFormWrapper #resetPwForm').hide();
		$('#loginFormWrapper #resetPwDone').hide();
		$('#loginFormWrapper #loginForm').show();
		$('#loginFormWrapper').css({'margin-left':'665px', 'margin-top':'0'});
		$('#loginFormWrapper').show();
		return false;
	})

	$('#textLogin').click(function(e) {
		$('#loginFormWrapper #resetPwForm').hide();
		$('#loginFormWrapper #resetPwDone').hide();
		$('#loginFormWrapper #loginForm').show();
		$('#loginFormWrapper').css({'margin-left':$(this).position().left, 'margin-top': $(this).position().top});
		$('#loginFormWrapper').show();
		return false;
	})

	$('#loginForm #loginForgotPw').click(function(e) {
		$('#loginFormWrapper #loginForm').hide();
		$('#loginFormWrapper #resetPwDone').hide();
		$('#resetPwForm .errMsg').hide();
		$('#loginFormWrapper #resetPwForm').show();
		return false;
	})
});

/* Date Widget */
$(function() {
	com.gripwire.Date.init({
		view: {
			year: $('#year'),
			month: $('#month'),
			date: $('#date')
		},
		month: com.gripwire.website.Config.date.month
   	});
});

/* Videos Switch */
$(function() {
   	$('.videoThumb').click(function() {
   	   	var url = $(this).attr('source');
   	   	var player = $('#' + $(this).attr('player'));
		$.get(url, function(d) {
			$(player).html(d);
		});
		return false;
   	})
});

$(function() {
	
	//
	// Main Level Tabs
	//
	$(".profile_welcome_contentcontainer .tabs li a").click( function(ev)
	{
		var cssClass = $(this).attr('class');
		$( '#profile_' + cssClass ).find('.content-link:eq(0)').trigger('click');
	});
	
	//
	// Switching between content links
	//
	$('.content-link').click(function() {
		$('.content-link').removeClass('selected');
		$('.content-body').hide();
		var data = $(this).addClass('selected').attr('data-container');
		$('#' + data).show();
		return false;
	});
	
	$(".profile_welcome_contentcontainer .tabs li a:eq(0)").trigger('click');
	
	$('.thumb').click(function(e) {
		var href = $(this).find('a').attr('href');
		if (href) {
			window.location.href = href;
			e.stopPropagation();
		}
	});
	
//	$('.rating .rating_star').each(function(i, el) {
//		$(el).attr('index', i);
//	});
//	
//	$('.rating_star').hover(
//		function(){
//			var index = parseInt($(this).attr('index'));
//			$(this).addClass('hover');
//			$(this).parents('.rating').find('.rating_star').each(function(i, el) {
//				if ( parseInt($(el).attr('index')) > index ) return;
//				$(el).addClass('hover');
//			});
//		}, 
//		function() {
//			$(this).removeClass('hover');
//			$(this).parents('.rating').find('.rating_star').removeClass('hover');
//		}	
//	);
	
	$('#linkFbInviteFriends').click(function(e) {
		newwindow=window.open('fb-invite-friends.php','facebook','height=610,width=775');
		if (window.focus) newwindow.focus();
		return false;
	});
	
});


$(function() {
	
	$('.scrollPane.photo').each(function(i, el) {
		com.gripwire.Scrollable.create().init({
			'scrollPane' : $(el),
			'duration' : 1000,
			'itemsInView' : 5,
			'itemPaddingR' : 92,
			'maxPosLeft' : 1
		});
	})

	$('.scrollPane.video').each(function(i, el) {
		com.gripwire.Scrollable.create().init({
			'scrollPane' : $(el),
			'duration' : 1000,
			'itemsInView' : 4,
			'itemPaddingR' : 40,
			'maxPosLeft' : 1
		});
	})
})

$(function() {
	
	$('.rating').each(function(i, el) {
		com.gripwire.RatingStar.create().init({
			'ratingBar': $(el)
		});
	})
	
})

$(function() {
	// Missions setup

	if($('a#missionBtn').hasClass('start')){
		$('#missionText').html('<strong>Ready to go?</strong>');
		$('#missionBtn span').html('Take It Up');
	}
	if($('a#missionBtn').hasClass('accepted')){
		$('#missionText').html('<strong>Mission Accepted</strong>');
		$('#missionBtn span').html('Complete Mission');
	}
	if($('a#missionBtn').hasClass('completed')){
		$('#missionText').html('<strong>Do it again?</strong>');
		$('#missionBtn span').html('Do It Again?');
	}
	
	$("a.missionPopup").fancybox({
		'zoomSpeedIn': 300,
		'zoomSpeedOut': 300,
		'overlayShow': true,
		'onStart': function(){
			$("#uploadPhoto").resetForm();
			$("#uploadVideo").resetForm();
			$("#uploadText").resetForm();
			$("#passItOn").resetForm();
			$(".missionPopupAlert").html('');
			$(".missionPopupAlert").css({"visibility":"hidden"});
		}
	});

	$("a#missionBtn").click(function(){ 
		var status = this.className;
		if (status == 'start' || status == 'completed') {
			var mission_id = this.rel;
			update_mission_status(mission_id, status);
		}
		return false;
	});
	
	$('.missionPopup #video_key').focus(function() {
		if ($(this).val() == 'Paste YouTube video link.') {
			$(this).toggleClass('active');
			$(this).val('');
		}
	});

	$('.missionPopup #video_key').blur(function() {
		if ($(this).val() == '') {
			$(this).toggleClass('active');
			$(this).val('Paste YouTube video link.');
		}
	});
	$('.missionPopup #title').focus(function() {
		if ($(this).val() == 'Enter a title for your submission.') {
			$(this).toggleClass('active');
			$(this).val('');
		}
	});

	$('.missionPopup #title').blur(function() {
		if ($(this).val() == '') {
			$(this).toggleClass('active');
			$(this).val('Enter a title for your submission.');
		}
	});
	$('.missionPopup #photoDescription').focus(function() {
		if ($(this).val() == 'Enter a caption for your photo.') {
			$(this).toggleClass('active');
			$(this).val('');
		}
	});

	$('.missionPopup #photoDescription').blur(function() {
		if ($(this).val() == '') {
			$(this).toggleClass('active');
			$(this).val('Enter a caption for your photo.');
		}
	});
	$('.missionPopup #videoDescription').focus(function() {
		if ($(this).val() == 'Enter a caption for your video.') {
			$(this).toggleClass('active');
			$(this).val('');
		}
	});

	$('.missionPopup #videoDescription').blur(function() {
		if ($(this).val() == '') {
			$(this).toggleClass('active');
			$(this).val('Enter a caption for your video.');
		}
	});
	$('.missionPopup #textDescription').focus(function() {
		if ($(this).val() == 'Enter a description of what happened.') {
			$(this).toggleClass('active');
			$(this).val('');
		}
	});

	$('.missionPopup #textDescription').blur(function() {
		if ($(this).val() == '') {
			$(this).toggleClass('active');
			$(this).val('Enter a description of what happened.');
		}
	});
	
	$('.comments #comment_msg').focus(function() {
		if ($(this).val() == 'Enter a comment.') {
			$(this).toggleClass('active');
			$(this).val('');
		}
	});

	$('.comments #comment_msg').blur(function() {
		if ($(this).val() == '') {
			$(this).toggleClass('active');
			$(this).val('Enter a comment.');
		}
	});
})

$(function() {
	// Comments setup

	$('.comments #comment_msg').focus(function() {
		if ($(this).val() == 'Enter a comment.') {
			$(this).toggleClass('active');
			$(this).val('');
		}
	});

	$('.comments #comment_msg').blur(function() {
		if ($(this).val() == '') {
			$(this).toggleClass('active');
			$(this).val('Enter a comment.');
		}
	});
})

function update_mission_status(mission_id, status) {
	$.post("profile.update.mission.status.php", {status: status, mission_id: mission_id}, function(data){
		if (data.length > 0 && data != '0'){
            $('#missionBtn').removeClass(status);
            $('#missionBtn').addClass('accepted missionPopup');
        	$("a.missionPopup").fancybox({
        		'zoomSpeedIn': 300,
        		'zoomSpeedOut': 300,
        		'overlayShow': true,
        		'onStart': function(){
        			$("#uploadPhoto").resetForm();
        			$("#uploadVideo").resetForm();
        			$("#uploadText").resetForm();
					$("#passItOn").resetForm();
        			$(".missionPopupAlert").html('');
        			$(".missionPopupAlert").css({"visibility":"hidden"});
        		}
        	});
		}
	});
}

function validate_photo_upload(formData, jqForm, options){
	var form = jqForm[0];

	if (form.title.value == 'Enter a title for your submission.') {
		$("#missionPopupErrMsg-Photo").html("You must enter a title for your submission, please try again.");
		$("#missionPopupErrMsg-Photo").css({"visibility":"visible"});
 		return false;
 	} else if (!form.before_photo.value) {
		$("#missionPopupErrMsg-Photo").html("You must select a Before Photo, please try again.");
		$("#missionPopupErrMsg-Photo").css({"visibility":"visible"});
 		return false;
 	} else if (!form.after_photo.value) {
		$("#missionPopupErrMsg-Photo").html("You must select an After Photo, please try again.");
		$("#missionPopupErrMsg-Photo").css({"visibility":"visible"});
 		return false;
 	}
	return true;
}

function validate_video_upload(formData, jqForm, options){
	var form = jqForm[0];
	var youtube = /^[^v]+v.(.{11}).*/i;
	var res = form.video_key.value.match(youtube);

	if (form.title.value == 'Enter a title for your submission.') {
		$("#missionPopupErrMsg-Video").html("You must enter a title for your submission, please try again.");
		$("#missionPopupErrMsg-Video").css({"visibility":"visible"});
 		return false;
 	} else if (!form.video_key.value.match(youtube)) {
		$("#missionPopupErrMsg-Video").html("Your URL was invalid, please try again.");
		$("#missionPopupErrMsg-Video").css({"visibility":"visible"});
 		return false;
 	}
//	alert($.param(formData));
	return true;
}

function validate_text_upload(formData, jqForm, options){
	var form = jqForm[0];

	if (form.title.value == 'Enter a title for your submission.') {
		$("#missionPopupErrMsg-Text").html("You must enter a title for your submission, please try again.");
		$("#missionPopupErrMsg-Text").css({"visibility":"visible"});
 		return false;
 	} else if (form.textDescription.value == 'Enter a description of what happened.') {
		$("#missionPopupErrMsg-Text").html("You must enter a description of what happened, please try again.");
		$("#missionPopupErrMsg-Text").css({"visibility":"visible"});
 		return false;
 	}
//	alert($.param(formData));
	return true;
}

function validate_share_upload(formData, jqForm, options){
	var form = jqForm[0];

	if (emailcount = 0) {		
 		return false;
 	} 
//	alert($.param(formData));
	return true;
}

function validate_comment(formData, jqForm, options){
	var form = jqForm[0];

	if (form.comment_msg.value == 'Enter a comment.') {
		$("#commentErrMsg").html("You must enter a comment before you can submit, please try again.");
		$("#commentErrMsg").css({"visibility":"visible"});
 		return false;
 	}
	return true;
}


function mission_upload_success(data) {
	if (data.status == "success") {
		location.href=data.url;
	} else {
		$("#missionPopupErrMsg-Photo").html(responseText);
		$("#missionPopupErrMsg-Photo").css({"visibility":"visible"});
		$("#missionPopupErrMsg-Video").html(responseText);
		$("#missionPopupErrMsg-Video").css({"visibility":"visible"});
		$("#missionPopupErrMsg-Text").html(responseText);
		$("#missionPopupErrMsg-Text").css({"visibility":"visible"});
	}
//	alert('status: ' + statusText + '\n\nresponseText: \n' + responseText);
}

$(document).ready(function() {
   $('#LiveForeverVideo').hide();
 });

function LiveForeverPlay() {
	$('#LiveForeverOverlay').hide();
	$('#LiveForeverVideo').show();
	/* document.LiveForever.Play(); */
	
}

// ---- Photo Mission ---- //
$(function() {
   $('.photoTooltip').tooltip();
});
// ---- Pass it on ----

// Create array of Facebook friends IDs
var FbFriendsIDs=new Array();
var fbFriendCount = 0;

function clearFbFriends() {
	//$('.fbFriendBox').hide();
	
}

function filterFbFriends() {
	var friend = $('#friendSearch').val();
	$("p:contains(friend)").css('color:green');
	//var friendname = $('p' + )
	//alert(friend);
	/*
	var friend = $('#friendSearch').val();
	for(var i = FbFriendsIDs.length-1; i >= 0; i--){  
		if(FbFriendsIDs[i] == friend){             
			$('#' + friend, '.fbFriendBox').show();  
			}
		}
	*/
}

// Add Facebook friends ID to selected array
function addFbFriendsID(friend) {
	FbFriendsIDs.push(friend);
	fbFriendCount = FbFriendsIDs.length;
	$('.fbFriendSelectedCount').text('Selected (' + fbFriendCount + ')');
	$('#fbfids').val(FbFriendsIDs);
	/* alert(friend + ' added'); */
	//alert(FbFriendsIDs + ' total');
}

// Remove Facebook friends ID from selected array
function removeFbFriendsID(friend) {
	for(var i = FbFriendsIDs.length-1; i >= 0; i--){  
		if(FbFriendsIDs[i] == friend){             
			FbFriendsIDs.splice(i,1); 
			fbFriendCount = FbFriendsIDs.length;
			$('.fbFriendSelectedCount').text('Selected (' + fbFriendCount + ')');
			$('#fbfids').val(FbFriendsIDs);
			/* alert(friend + ' removed'); */  
			}
		}	
}

// Toggle friend click, selects or removes depending on current state
function selectFbFriend(friend)
{
	if ($('#' + friend).hasClass('fbFriendSelected')) {
		$('#' + friend).removeClass('fbFriendSelected');
		removeFbFriendsID(friend);
	} else {
		$('#' + friend).addClass('fbFriendSelected');
		addFbFriendsID(friend);
	}
	/*alert(friend + " selected");*/
}

// Enter FaceBook step 1, log into FB connect, select friends
function PassitonFacebookStep1() {
	$('#passItOnThanks').hide();
	$('#fbTab').addClass(' ui-tabs-selected ui-state-active');
	$('#emailTab').removeClass(' ui-tabs-selected ui-state-active');
	$('#eMail').addClass(' ui-tabs-hide');
	$('#facebook').removeClass(' ui-tabs-hide');
	$('#eMailStep2').hide();
	$('#eMailStep1').show();
	
}

// Move to FaceBook step 2, customize email message
function PassitonFacebookStep2() {
	$('#emailTab').addClass(' ui-tabs-selected ui-state-active');
	$('#fbTab').removeClass(' ui-tabs-selected ui-state-active');
	$('#facebook').addClass(' ui-tabs-hide');
	$('#eMail').removeClass(' ui-tabs-hide');
	$('#eMailStep1').hide();
	$('#eMailStep2').show();
	
}

// Enter email step 1, enter 10 emails
function PassitonEmailStep1() {
	$('#eMailStep1').show();
	$('#eMailStep2').hide();
		if (emailcount < 9) {
		$('#eMailStep1BtnActive').hide();
		}
}

// Move to email step 2, customize email message
function PassitonEmailStep2() {
	$('#eMailStep1').hide();
	$('#eMailStep2').show();
	
}

function PassitonThanks() {
	$('#tabList').hide();
	$('#PassItOnMenu').hide();
	$('#facebook').hide();
	$('#introMessage').hide();
	$('#passItOnHeading').hide();
	$('#eMail').hide();
	$('#passItOnThanks').show();
	$('#share').scrollTop();
	
}

// Create list of valid emails
var validEmails=new Array();

// Count valid emails
var emailcount = 0;

// Validate email, accepts email address
function validateEmail(emailId)
{
var emailPattern = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;


var emailToValidate = $('#' + emailId).val();
    
	// Add email to list if valid
	function addEmailToArray(emailToAdd)
	{		
		validEmails.push(emailToAdd); 
		emailcount = validEmails.length;
		$('#validEmailsList').val(validEmails);
	}
    
	// If email field is not empty, validate the email
	if (emailToValidate != "") {
		if (emailPattern.test(emailToValidate)) { 
			$('#' + emailId + 'Result').addClass('emailValid');
			addEmailToArray(emailToValidate);		  
		} else { 
			//$('#' + emailId).val('Type email here'); 
			$('#' + emailId + 'Result').removeClass('emailValid'); }
	}
	
	// If 10 emails have been entered, show next step buttun
	if (emailcount >= 1) {
		/*alert("congrats!" + validEmails);*/
		$('#eMailStep1BtnNonActive').hide();
		$('#eMailStep1BtnActive').show();
	}
	
} 
/*
var time_variable;
 
function getXMLObject()  //XML OBJECT
{
   var xmlHttp = false;
   try {
     xmlHttp = new ActiveXObject("Msxml2.XMLHTTP")  // For Old Microsoft Browsers
   }
   catch (e) {
     try {
       xmlHttp = new ActiveXObject("Microsoft.XMLHTTP")  // For Microsoft IE 6.0+
     }
     catch (e2) {
       xmlHttp = false   // No Browser accepts the XMLHTTP Object then false
     }
   }
   if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
     xmlHttp = new XMLHttpRequest();        //For Mozilla, Opera Browsers
   }
   return xmlHttp;  // Mandatory Statement returning the ajax object created
}
 
var xmlhttp = new getXMLObject();	//xmlhttp holds the ajax object
 
function ajaxFunction() {
  var getdate = new Date();  //Used to prevent caching during ajax call
  if(xmlhttp) { 
  	 var customMsgName = $("#customMsgName").val();  
	 var customMsg = $("#customMsg").val();  
	 var fbFriendIds = $("#fbFriendIds").val(); 
	 var accessToken = $("#accessToken").val();  
	 var message = $("#customMsg").val();  
	 var validEmailsList = $("#validEmailsList").val(); 	 
    xmlhttp.open("POST","mission.passiton.do.php",true); //calling testing.php using POST method
    xmlhttp.onreadystatechange  = handleServerResponse;
    xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    xmlhttp.send('customMsgName='+ customMsgName + '&customMsg=' + customMsg + '&fbFriendIds=' + fbFriendIds + '&accessToken=' + accessToken + '&message=' + message + '&validEmailsList=' + validEmailsList); //Posting txtname to PHP File
  }
}
 
function handleServerResponse() {
   if (xmlhttp.readyState == 4) {
     if(xmlhttp.status == 200) {
       document.getElementById("responseMessage").innerHTML=xmlhttp.responseText; //Update the HTML Form element 
     }
     else {
        alert("Error during AJAX call. Please try again");
     }
   }
}

//handle the form submit
$('#submitBtnPass').live('click', function() {
	alert('clicked');
	submitPassItOnForm();
});


// Post Pass It on form
function submitPassItOnForm () {
	//submitBtnPass
	 var customMsgName = $("#customMsgName").val();  
	 var customMsg = $("#customMsg").val();  
	 var fbFriendIds = $("#fbFriendIds").val(); 
	 var accessToken = $("#accessToken").val();  
	 var message = $("#customMsg").val();  
	 var validEmailsList = $("#validEmailsList").val(); 
	  
	 var data = 'customMsgName='+ customMsgName + '&customMsg=' + customMsg + '&fbFriendIds=' + fbFriendIds + '&accessToken=' + accessToken + '&message=' + message + '&validEmailsList=' + validEmailsList; 
	 
	$.post("../mission.passiton.do.php", data, function(data){
	   //document.getElementById("responseMessage").innerHTML=data;
	   $('#responseMessage').html(data);
	   //alert("Data Loaded: " + data);
	 });
}
*/
