thePageTitleShouldBe = null;
function getPage(link, theAtagThis){

	if(!$("#"+link+".page").html()){
		link = "homepage";
	}
	
	if(!theAtagThis || $(theAtagThis).hasClass("no")){
		var theAtagThis = $("[href= #"+link+"]");
		//theAtagThis = theAtagThis.substring(1);
		//alert(theAtagThis);
		if($(theAtagThis).hasClass("no"))
		{
            thePageTitleShouldBe = theAtagThis.text();
            theAtagThis = null;
        }
	}
	$("#content").fadeOut(
		function(){
			$("[class=page]").hide();
			$("[class = current]").removeClass("current");
				
			$("#"+link).show();
			
			if(!$(theAtagThis).hasClass("button"))
                $(theAtagThis).parent().addClass("current");
            
            if(!theAtagThis)
                document.title = "TimeTable: " + thePageTitleShouldBe;
            else
			    document.title = "TimeTable: "+ $(theAtagThis).text();
			
			switch(link){
				case "homepage":
					loadHomePage();
				break;
				case "gopage":
					loadGettingStartedPage();
				break;
				case "featurespage":
					loadFeaturesPage();
				break;
                case "screencastspage":
                    loadScreencastsPage();
                break;
			}
		}
	);
	
	$("#content").fadeIn();
	return;
}

function loadHomePage(){
	$('#screenshot1_thumb').fancyZoom({scaleImg: false, closeOnClick: true});
}
function loadGettingStartedPage(){
	//$('#screencast_watch_link').fancyZoom({closeOnClick: false});
}
function loadFeaturesPage(){
		$('#clientManagmentScreenshotLink').fancyZoom({scaleImg: false, closeOnClick: true});
		$('#generateReadOnlyLinkScreenshotLink').fancyZoom({scaleImg: false, closeOnClick: true});
		$('#drivingDirectionsScreenshotThumb').fancyZoom({scaleImg: false, closeOnClick: true});
    	$('#prefsScreenshotLink').fancyZoom({scaleImg: false, closeOnClick: true});		
}

function loadScreencastsPage(){
        $('#ProjectsScreencastLink').fancyZoom({scaleImg: false, closeOnClick: false});
        $('#ClientsScreencastLink').fancyZoom({scaleImg: false, closeOnClick: false});
        $('#PrefsScreencastLink').fancyZoom({scaleImg: false, closeOnClick: false});
}

function doSomethingWithData(data) {
		if(!data){
			window.location = "index.html";
		
		}else{
    		$("#content").html(data);
		}
}
function showLogin(){
	$("#overlay").show().click(function(){
		closeLogin();
	}).css("cursor", "pointer");
	$("#loginBox").show('slide', function(){
		//select the username box when animation is complete...
		$("[name=username]").select();
		//alert('1');
	});
	
	
}
function closeLogin(){
	$("#loginBox").hide('slide', function(){
		$("#overlay").hide().unbind("click");
	});
}

function resetPass(){
    jPrompt("Account email address: ",null,"Password Reset", function(email){
        $.get('TimeTable/ManageAccount/ConfirmPassChange.php?id='+email, function(data){
			//a JSON object is returned...
			var message, title;
			if(data)
			{
			  message = "Confirmation email sent";
			  title = "Sent";
			}
			else
			{
			  message = "There was an error sending the confirmation email.";
			  title = "Error";
			}
			jAlert(message, title);
			
		});
    });
	
}

function formvalidation(formName){
	var name  = $('#name').val();
	var email = $('#email').val(); 
	
	var returnValue = true;
	
	if(name.length < 3){
		if( !$('#nameLabel span').length > 0 ){
			$('#nameLabel').append(' <span class="invalid" id="invalidName">You must enter a name!</span>');
		}
		
		$('#name').removeClass('field');
		$('#name').addClass('invalid');
		
		returnValue = false;
	}else{
		$('#name').removeClass('invalid');
		$('#name').addClass('field');
		$('#nameLabel span').remove();
	}
	
	if(!isRFC822ValidEmail(email)){
		if( !$('#emailLabel span').length > 0 ){
			$('#emailLabel').append(' <span class="invalid" id="invalidEmail">You must enter a valid email address!</span>');
		}
		
		$('#email').removeClass('field');
		$('#email').addClass('invalid');
		
		returnValue = false;
	}else{
		$('#email').removeClass('invalid');
		$('#email').addClass('field');
		$('#emailLabel span').remove();
	}
	
	if(returnValue){
			$("#toggle a").click();
			$("#toggle a").toggle();
		$.post('/getAccess.php', {name: name, email: email}, function(data){
			//a JSON object is returned...
			jAlert(data.message, data.title);
			
		}, "json");
	}
	return returnValue;
}

function isRFC822ValidEmail(sEmail) {

  var sQtext = '[^\\x0d\\x22\\x5c\\x80-\\xff]';
  var sDtext = '[^\\x0d\\x5b-\\x5d\\x80-\\xff]';
  var sAtom = '[^\\x00-\\x20\\x22\\x28\\x29\\x2c\\x2e\\x3a-\\x3c\\x3e\\x40\\x5b-\\x5d\\x7f-\\xff]+';
  var sQuotedPair = '\\x5c[\\x00-\\x7f]';
  var sDomainLiteral = '\\x5b(' + sDtext + '|' + sQuotedPair + ')*\\x5d';
  var sQuotedString = '\\x22(' + sQtext + '|' + sQuotedPair + ')*\\x22';
  var sDomain_ref = sAtom;
  var sSubDomain = '(' + sDomain_ref + '|' + sDomainLiteral + ')';
  var sWord = '(' + sAtom + '|' + sQuotedString + ')';
  var sDomain = sSubDomain + '(\\x2e' + sSubDomain + ')*';
  var sLocalPart = sWord + '(\\x2e' + sWord + ')*';
  var sAddrSpec = sLocalPart + '\\x40' + sDomain; // complete RFC822 email address spec
  var sValidEmail = '^' + sAddrSpec + '$'; // as whole string
  
  var reValidEmail = new RegExp(sValidEmail);
  
  if (reValidEmail.test(sEmail)) {
    return true;
  }
  
  return false;
}
