/**
 *	Clear the Air flash / general helper functions
 *
*/
var loadingFrame = 1, loadingTimer; 


$(function() {
	
}); 


function tracker_loading() {
	$('#fancybox-loading').show();
	$('#fancybox-overlay').css({opacity: 0.3}).show(); 
	clearInterval(loadingTimer);
	loadingTimer = setInterval(tracker_loading_animate, 66);
}

function tracker_loading_animate() {
	loading = $('#fancybox-loading'); 
	if (!loading.is(':visible')){
		clearInterval(loadingTimer);
		return;
	}
	$('div', loading).css('top', (loadingFrame * -40) + 'px');
	loadingFrame = (loadingFrame + 1) % 12;
}
function tracker_finished_loading() {
	$('#fancybox-loading').hide();
	$('#fancybox-overlay').hide();
	clearInterval(loadingTimer);
	
}



function valid_email_address(email) { 
		var filter = /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/i; 
		return filter.test(email); 
}		

function tracker_link_delete_account() {
	if ( $.x_ctacapi_check_auth() != true ) { 
		alert('You must be logged in to delete your account.', "Error"); 
		return false;
	}
	$('#tracker_dialog_delete_account').dialog({
		modal: true, 
		buttons: {
			'Yes, delete my account': function() {
				if ( $.x_ctacapi_delete_account() == true ) { 
					alert('Your account has been removed.  You are being redirected...');
					window.location = 'index.php';
					$(this).dialog('close');			
					return false; 
				} else {
					alert('There was a problem deleting your account.  Please try again later.');
					return false;
				}

			}, 
			Cancel: function() {
				$(this).dialog('close');					
			}
		}
	});
	return false; 
}


function tracker_link_invite_friend() {
	if ( $.x_ctacapi_check_auth() != true ) { 
		alert('You must be logged in first.', "Error"); 
		return false;
	}
	$('#tracker_dialog_invite_friend').dialog({
		modal: true, 
		buttons: {
			'Send Invite': function() {
				var friendname = $('#friendname',this).val(); 
				if ( ! friendname.length > 0 ) { 
					alert('Please enter the recipient\'s name'); 
					return false; 
				}

				var email = $('#email',this).val(); 
				if ( !valid_email_address( email ) ) {
					alert( '"<b>' + email + '<'+'/b>" is not a valid e-mail address.' );
					return false;
				}						
				
				if ( $.x_ctacapi_invite_friend(friendname,email) == true ) { 
					alert('Invitation has been sent.');
					$(this).dialog('close');	
					return false; 
				} else {
					alert('There was a problem sending the invite.  Please try again later.');
					return false;
				}
			}, 
			Cancel: function() {
				$(this).dialog('close');					
			}
		}
	});
	return false; 
}



function tracker_link_facebook_connect() { 
	window.location = '<?=$fb_canvas ?>';
	return false;
}


function tracker_link_home() {
	window.location = 'index.php'; 
	return false;
}

function tracker_link_logout() { 
	$.x_ctacapi_logout(); 
	window.location = 'index.php';
	return false; 
}


function tracker_link_privacy_policy() { 
	window.open('http://www.utah.gov/privacypolicy.html', 'Privacy_Policy');
	return false; 
}

function tracker_link_report_problem() {
	$('#tracker_dialog_report_problem').dialog({
		modal: true, 
		buttons: {
			Send: function() {
				var val = $('textarea', this).val(); 
				if ( ! val.length > 0 ) { 
					alert('Please enter a problem description'); 
					return false; 
				}
				alert('Thank you for your submission.'); 
				$(this).dialog('close'); 
				d = gather_client_debug_info(); 
				
				var resp = $.x_ctacapi_report_problem(val, $.JSON.encode(d) ); 
				/*
				if ( resp == false ) {
					alert('There was a problem saving your submission, please try again');
				} 
				*/
				return false;
				
			}, 
			Cancel: function() {
				$(this).dialog('close');					
			}
		}
	});
	return false;
}

function tracker_link_forgot_password() {
	$('#tracker_dialog_forgot_password').dialog({
		modal: true, 
		buttons: {
			'Request Password': function() {
				var email = $('input', this).val(); 
				if ( !valid_email_address( email ) ) {
					alert( '"<b>' + email + '<'+'/b>" is not a valid e-mail address.' );
					return false;
				} else {
					if ( $.x_ctacapi_reset_password(email) != false ) { 
						alert('A new password has been sent to you.');
						$(this).dialog('close');
		//				$.x_ctacapi_reset_password(email); 
						return true;
					} else {
						alert("E-mail address was not found. Please check the e-mail."); 
						return false;
					}
					
				}
				return false;
			},
			Cancel: function() {
				$(this).dialog('close');
			}					
		}
	});
	return false;
}		


function alert(msg, title) { 
	title = ( title==undefined ) ? 'Alert' : title;
	//console.log('Making alert: ' + msg);
	$('<p title="'+title+'"><span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 15px 0;"><'+'/span>' + msg + '<'+'/p>').dialog({
		modal: true, 
		buttons: {
			Ok: function() {
				$(this).dialog('close');
			}
		}
	}); 
}



/**
 *	Gather useful client info for debugging purposes
*/
function gather_client_debug_info() { 
	var debug = {}; 
	debug.browser = navigator.appVersion; 
	debug.version = $.browser.version; 
	debug.navigator = navigator;
	debug.browser = $.browser;
	debug.support = $.support;
	debug.flashversion = getFlashVersion(); 
	return debug;
}

function getFlashVersion(){
  // ie
  try {
    try {
      // avoid fp6 minor version lookup issues
      // see: http://blog.deconcept.com/2006/01/11/getvariable-setvariable-crash-internet-explorer-flash-6/
      var axo = new ActiveXObject('ShockwaveFlash.ShockwaveFlash.6');
      try { axo.AllowScriptAccess = 'always'; }
      catch(e) { return '6,0,0'; }
    } catch(e) {}
    return new ActiveXObject('ShockwaveFlash.ShockwaveFlash').GetVariable('$version').replace(/\D+/g, ',').match(/^,?(.+),?$/)[1];
  // other browsers
  } catch(e) {
    try {
      if(navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin){
        return (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]).description.replace(/\D+/g, ",").match(/^,?(.+),?$/)[1];
      }
    } catch(e) {}
  }
  return '0,0,0';
}



/**
*	Google Analytics tracking for flash & adready retargeting
* 
*	Login Page RT Pixel
*	<img src="http://ad.yieldmanager.com/pixel?id=766472&t=2" width="1" height="1" />
*	My Tracker Page RT Pixel (exclusionary pixel)
*	<img src="http://ad.yieldmanager.com/pixel?id=766473&t=2" width="1" height="1" />		
*/
function tracker_track_page_view(pageName) {

	switch(pageName) { 
		case '/':
			//Login page
			var img = new Image(); 
			img.src = 'http://ad.yieldmanager.com/pixel?id=766472&t=2'; 
			break;
		case '/create/':
			//Create page
			var img = new Image(); 
			img.src = 'http://ad.yieldmanager.com/pixel?id=766473&t=2'; 
			break;
		default:
			break; 
	}
	
	//Track the page view in google analytics
	pageTracker._trackPageview(pageName);
	return false;
}

/**
 *	Fire the goal tracking for new signups
 *
 *	<img src="http://adready.com/ce/43349/499851/?h=8455276d448b4e7e17f5">
 *	<img src="http://ad.yieldmanager.com/pixel?id=766372&id=766373&id=766374&id=766375&t=2" width="1" height="1" />
 *	<img height="1" width="1" style="border-style:none;" alt="" src="http://www.googleadservices.com/pagead/conversion/1026722564/?label=8mFACPzOygEQhJbK6QM&amp;guid=ON&amp;script=0"/>		 
*/
function tracker_track_new_signup() {
/*			
	//Adready / google additional goal tracking 
	var img1 = new Image(); 
	img1.src = 'http://adready.com/ce/43349/499851/?h=8455276d448b4e7e17f5'; 

	var img2 = new Image(); 
	img2.src = 'http://ad.yieldmanager.com/pixel?id=766372&id=766373&id=766374&id=766375&t=2'; 

	var img3 = new Image(); 
	img3.src = 'http://www.googleadservices.com/pagead/conversion/1026722564/?label=8mFACPzOygEQhJbK6QM&amp;guid=ON&amp;script=0'; 
*/

	var tracking_images = '<img src="http://adready.com/ce/43349/499851/?h=8455276d448b4e7e17f5"><img src="http://ad.yieldmanager.com/pixel?id=766372&id=766373&id=766374&id=766375&t=2" width="1" height="1" /><img height="1" width="1" style="border-style:none;" alt="" src="http://www.googleadservices.com/pagead/conversion/1026722564/?label=8mFACPzOygEQhJbK6QM&amp;guid=ON&amp;script=0"/>'; 
	$(tracking_images).prependTo('#tracking-pixel-container');

	//Track for goal in analytics 
	pageTracker._trackPageview('/tracker.php/newsignup/');

	
	return false;
}
