/** 
 * Functions specifically related to processing reviewer and filmmaker data
 */
var loadedMyInfo = false;
var displayingUserInfo = false;
var registersuccess = false;

var loginAttempt = Class.create( {
	initialize: function(){
			this.attempted = false;
			this.success = false;
			this.clickFrom = "none";
			this.param = "";
	},
	addClick: function( cF, sid ){
		this.clickFrom = cF;
		this.param = sid;
	},
	compelteClick: function(){
		switch( this.clickFrom ){
			case 'displayFilm':
			case 'playFilm':
			/*
				new Ajax.Updater('videocontent', curPath+'handler.php', {parameters:{}, evalScripts: true});
				new Ajax.Updater('behindthescenes', curPath+'handler.php', {parameters:{'film_sid':this.param}, evalScripts: true});
			*/
			/*
				var tmp = $('filmDetailCommentInputForm').value;
				//alert('saving temp as '+tmp);
				new Ajax.Request(curPath+'handler.php', {parameters:{'event':'storetosession', 'varN':'filmDetailCommentInputForm', 'varV':tmp}});
				setTimeout( refreshPg, 1);
				*/
				refreshPg();
				break;
			case 'main':
			default:
				window.location = curPath+'myaccount/';
				break;
		}
	}
	});
var myLogin = new loginAttempt();

function refreshPg(){
	location.reload(true);
}

var dpUser = Class.create( {
		initialize: function(){
			this.loggedIn = false;
			this.userId = -1;
			this.ageOk = false;
			this.handle = "";
		},
		login: function( id, handle, ageok ){
			this.loggedIn = true;
			this.id = id;
			this.handle = handle;
			this.ageOk = ageok;
			loginPing = new Ajax.PeriodicalUpdater('loginDiv', curPath+'handler.php', {frequency: 120, evalScripts: true, parameters:{'event':'checkloginstatus'}});
		},
		logout: function(){
			this.loggedIn = false;
			this.id = -1;
			this.ageOk = false;
			this.handle = "";
		},
		setAge: function( ageok ){
			this.ageOk = ageok;
		},
		isLoggedIn: function(){
			return this.loggedIn;
		},
		checkAge: function(){
			return this.ageOk;
		}
	});

function dpu_submitForm( formID, formevent, divN ){
	if (!divN)
		divN = formID+"DIV";
	
	switch( formevent ){
		case 'sendprofileforward':
		case 'sendblogforward':
		case 'sendfilmforward':
			if(!curUser.isLoggedIn()){
				alert('You must be logged in to use this aspect of the website.');
			}
			break;
	}
		
	var params = Form.serializeElements( $(formID).getElements() );
	params = params+"&event="+formevent;
	aj_MarkLoadingGrey( divN, 'Saving...');
	new Ajax.Updater(divN, curPath+"handler.php", {parameters: params, evalScripts: true});
}

function dpu_opinion( itemid, tablename, value, divName ){
	if (!curUser.isLoggedIn()){
		alert('You must be logged in to express an opinion');
		return;
	}
//	alert( itemid+" "+tablename+" "+value+" "+divName);
/*
		$item = $_POST['itemid'];
		$type = $_POST['sType'];
		$val = $_POST['opinion']; */
	switch (tablename){
		case 'crit_reviews':
		case 'films_reviews':
			aj_MarkLoadingGrey( divName, 'Saving...');
			break;
		default:
			aj_MarkLoadingBlack( divName, 'Saving...');
		break;
	}
	new Ajax.Updater( divName, curPath+'handler.php', {parameters:{'event':'saveOpinion', 'itemid':itemid, 'sType':tablename, 'opinion':value}} );
}

function dpu_modConnection( id, type, mod){
	if(!mod){
		mod = "primary";
	}
	if (!id){
		alert("No reviewer ID set");
		return;
	}
	
	if (!curUser.isLoggedIn()){
		alert('You must be logged in to request a connection.');
		return;
	}
	if (curUser.id == id){
		alert('You cannot request a connection to yourself.');
		return;
	}
	
	if (type == 'addto'){
		new Ajax.Request(curPath+'handler.php', {parameters: {'event':'modConnection','rid':id,'mod':type,'display':'filmmakerdetails'}});
		var tmp = $('blankDiv');
		var str = "<div style=\"width: 400px;padding: 10px; background-color: #111111; border: ridge;\">"
		str = str + "<div style=\"float: right;\"><a href=\"javascript://\" onclick=\"Element.hide('blankDiv')\"><img src=\"http://c0625612.cdn.cloudfiles.rackspacecloud.com/webimages/circleclose.png\" border=\"0\"></a></div>";
		str = str + "<div style=\"padding: 10px;\">Your connection request has been sent to this user.<br /> They will need to confirm your request before they will be listed in your connections.</div></div>";

		if (mod == 'primary'){
			var x = 200;
			var y = 100;
		} else {
			var x = 500;
			var y = 600;
		}
		tmp.setStyle('top:'+x+'px; left:'+y+'px;');
		tmp.innerHTML = str;
		Element.show(tmp);
		centerPopDiv(tmp,-1,-1);
		
	} else if (type == 'remove'){
		if (!confirm( 'You are about to remove this connection. Are you sure you wish to continue?')){
			return;
		}
		aj_MarkLoadingGrey( 'my_connection_list', 'Saving...');
		new Ajax.Updater('my_connection_list', curPath+'handler.php', {
						 parameters:{'event':'modConnection','rid':id,'mod':'remove', 'display':'manage'}
						 });
	} else {
		if (type == 'decline'){
			if (!confirm('You are about to decline this connnection. Are you sure you wish to continue?'))
				returnn;
		}
		aj_MarkLoadingGrey( 'loginDetails', 'Saving...');
		new Ajax.Updater('loginDetails', curPath+'handler.php',{
						 parameters:{'event':'modConnection','rid':id,'mod':type,'display':'manageAll'}
						});

	} 
	//aj_MarkLoading('filmmakerfavlink', 'Saving...');
	//new Ajax.Updater('filmmakerfavlink', curPath+'handler.php', {parameters: {'event':'modFilmmakerFav', 'fid':id, 'mod':type, 'display':'filmmakerdetails'}});
	
}

function dpu_modSubscription( id, type , mod){
	if (!id){
		alert("No ID set");
		return;
	}
	
	if (!curUser.isLoggedIn()){
		alert('You must be logged in to save a favorite to your account.');
		return;
	}
	
	if(!mod){
		mod='filmmakerblog';
	}
	
	divN = "subscribebloglink";
	if(mod == 'search')
		divN = 'subsribebloglink_'+id;
	
	aj_MarkLoading(divN, 'Saving...');
	new Ajax.Updater(divN, curPath+'handler.php', {parameters: {'event':'modSubscription', 'Rid':id, 'mod':type, 'display':mod}});
	
}

function dpu_modFilmmakerFav( id, type ){
	if (!id){
		alert("No filmmaker ID set");
		return;
	}
	
	if (!curUser.isLoggedIn()){
		alert('You must be logged in to save a favorite to your account.');
		return;
	}
	
	aj_MarkLoadingBlack('filmmakerfavlink', 'Saving...');
	new Ajax.Updater('filmmakerfavlink', curPath+'handler.php', {parameters: {'event':'modFilmmakerFav', 'fid':id, 'mod':type, 'display':'filmmakerdetails'}});
	
}


function dpu_modReviewerFav( id, type, ftype ){
	if (!id){
		alert("No user set");
		return;
	}
	
	if (!curUser.isLoggedIn()){
		alert('You must be logged in to save a favorite to your account.');
		return;
	}
	
	aj_MarkLoadingBlack('filmmakerfav_'+ftype, 'Saving...');
	new Ajax.Updater('filmmakerfav_'+ftype, curPath+'handler.php', {parameters: {'event':'modReviewerFav', 'rid':id, 'mod':type, 'type': ftype , 'display':'filmmakerdetails'}});
	
}

function dpu_postDoorComment( ){

	if (!curUser.isLoggedIn()){
		alert("You cannot post a message if you have not logged in.");
		return;
	}

	var toID = $F('post_to_user_id');
	var msg = $F('door_post_message');
	if (msg == ""){
		alert("You cannot post an empty message.");
		return;
	}
	
	aj_MarkLoadingGrey('door_post_display', 'Posting...');
	new Ajax.Updater('door_post_display', curPath+'handler.php', {parameters:{'event':'addDoorPost','to_id':toID, 'msg':msg}});
}

function hist_manageConnections(){
	// javascript history code goes here
	dpu_manageConnections();
}
function dpu_manageConnections(){
	
	aj_MarkLoadingBlack('loginDetails', 'Loading...');
	new Ajax.Updater('loginDetails', curPath+"handler.php", {
					 parameters: { 'event': 'manageConnections' }
					 });
}

function dpu_showAllConnections( forid ){
	$('showAllConnectionsDivWrapper').show();
		centerPopDiv('showAllConnectionsDivWrapper',-1,-1);
		aj_MarkLoadingBlack('showAllConnectionsDiv', 'Loading...');
		new Ajax.Updater('showAllConnectionsDiv', curPath+'handler.php', {
			parameters: {'event':'showAllConnections', 'rid':forid }
		});
	
	
}

function dpu_addFilmFav( filmSID, type ){
	if (!type){
		type = 'filmdetails';
	}
	if (!filmSID){
		alert("No film ID set");
		return;
	}
	if(!curUser.isLoggedIn()){
		alert("You must be logged in to save a favorite to your account.");
		return;
	}
	
	var divN = "filmfavlink";
	switch( type ){
		case 'filmdetails':
			break;
		case 'favfilms':
			divN = "filmmakerfavsdiv";
			break;
		case 'favfilmsearchtitle':
		case 'fav':
			divN = "filmfavlink_"+filmSID;
			break;
		default:
			break;
	}
	
	
	aj_MarkLoadingGrey(divN, 'Saving...');
	new Ajax.Updater( divN, curPath+'handler.php', {parameters:{'event':'addFilmFav', 'film_sid':filmSID, 'display':type}} );
}

function dpu_removeFilmFav( filmSID, type ){
	if (!type){
		type = "filmdetails";
	}
	
	
	if (!filmSID){
		alert("No film ID set");
		return;
	}
	if (!curUser.isLoggedIn()){
		alert("Your session appears to have timed out. Please try logging out and back in.");
		return;
	}
	
	if ( !confirm( "You are about to remove this film from your favorites, do you wish to continue?") )
		return;
		
	var divN = "filmfavlink";
	switch( type ){
		case 'filmdetails':
			break;
		case 'favfilms':
			divN = "filmmakerfavsdiv";
			break;
		case 'favfilmsearchtitle':
		case 'fav':
			divN = "filmfavlink_"+filmSID;
			break;
		default:
			break;
	}
	
	aj_MarkLoadingGrey(divN, 'Saving...');		
	new Ajax.Updater( divN , curPath+'handler.php', {parameters:{'event':'removeFilmFav', 'film_sid':filmSID, 'display':type}} );
	 
	return;
}

function dpu_removeFilmFavThumb( filmSID ){
	if (!filmSID){
		alert("No film ID set");
		return;
	}
	if ( confirm( "You are about to remove this film from your favorites, do you wish to continue?") ){
		aj_MarkLoadingBlack('filmfavsdiv', 'Saving...');		
		new Ajax.Updater( 'filmfavsdiv', curPath+'handler.php', {parameters:{'event':'removeFilmFav', 'film_sid':filmSID, 'display':'favfilms'}} );
	} 
	return;	
}

function dpu_removeFilmmakerFavThumb( fid ){
	if (!fid){
		alert("No filmmaker ID set");
		return;
	}
	if ( confirm( "You are about to remove this filmmaker from your favorites, do you wish to continue?") ){
		aj_MarkLoadingBlack('filmmakerfavsdiv', 'Saving...');		
		new Ajax.Updater( 'filmmakerfavsdiv', curPath+'handler.php',{parameters: {'event':'modFilmmakerFav', 'fid':fid, 'mod':'remove', 'display':'favfilmmakers'}} );
	} 
	return;	
}

function dpu_removeActorFavThumb( fid ){
	if (!fid){
		alert("No Actor ID set");
		return;
	}
	if ( confirm( "You are about to remove this actor from your favorites, do you wish to continue?") ){
		aj_MarkLoadingBlack('actorfavsdiv', 'Saving...');		
		new Ajax.Updater( 'actorfavsdiv', curPath+'handler.php',{parameters: {'event':'modReviewerFav', 'rid':fid, 'mod':'remove', 'type':'4', 'display':'favfilmmakers'}} );
	} 
	return;	
}

function dpu_removeWriterFavThumb( fid ){
	if (!fid){
		alert("No Writer ID set");
		return;
	}
	if ( confirm( "You are about to remove this writer from your favorites, do you wish to continue?") ){
		aj_MarkLoadingBlack('writerfavsdiv', 'Saving...');		
		new Ajax.Updater( 'writerfavsdiv', curPath+'handler.php',{parameters: {'event':'modReviewerFav', 'rid':fid, 'mod':'remove', 'type':'5', 'display':'favfilmmakers'}} );
	} 
	return;	
}

function dpu_removeComposerFavThumb( fid ){
	if (!fid){
		alert("No Composer ID set");
		return;
	}
	if ( confirm( "You are about to remove this composer from your favorites, do you wish to continue?") ){
		aj_MarkLoadingBlack('composerfavsdiv', 'Saving...');		
		new Ajax.Updater( 'composerfavsdiv', curPath+'handler.php',{parameters: {'event':'modReviewerFav', 'rid':fid, 'mod':'remove', 'type':'6', 'display':'favfilmmakers'}} );
	} 
	return;	
}

function dpu_removeFilmmaker09FavThumb( rid ){
	if (!rid){
		alert("No identifier set");
		return;
	}
	if ( confirm( "You are about to remove this filmmaker from your favorites, do you wish to continue?") ){
		aj_MarkLoadingBlack('filmmakerfavsdiv', 'Saving...');		
		new Ajax.Updater( 'filmmakerfavsdiv', curPath+'handler.php',{parameters: {'event':'modFilmmaker09Fav', 'rid':rid, 'mod':'remove', 'display':'favfilmmakers'}} );
	} 
	return;	
}

function dpu_removeBlogFavThumb( id ){
	if (!id){
		alert("No reviewer ID set");
		return;
	}
	if ( confirm( "You are about to remove this blog from your favorites, do you wish to continue?") ){
		aj_MarkLoading('subscriptionfavsdiv', 'Saving...');		
		new Ajax.Updater( 'subscriptionfavsdiv', curPath+'handler.php',{parameters: {'event':'modSubscription', 'Rid':id, 'mod':'unsubscribe', 'display':'favblogs'}} );
	} 
	return;	
}


// Need a small delay so that the page can finish processing the login.
function postLoginDisplay(){

	if (loadedDirectURL){
		window.location = curPath+"?KlgqcGc9bWFuYWdlYWNjdF54Xg==";
	} else {
		hist_CheckAdd('postLoginDisplay','myprivatedoor', 'dpu_ManageAccount');
		setTimeout( dpu_DisplayUserHomePage, 10);
	}
}

// called when the user completes updating their information and needs to redraw the area
function dpu_RefreshUserDisplay(){
		aj_MarkLoadingBlack('profileHead', "Re-loading...");
		new Ajax.Updater('profileHead', curPath+'handler.php', {parameters:{'event':'drawprofile','subevent':'profileheaderDisplay'}});
}

// called when the user logs in or clicks on the manage my acocunt link.
function dpu_DisplayUserHomePage(){	

	if (!curUser.isLoggedIn()){
		return;
	}
	
	displayingUserInfo = true;

	if (loadedMyInfo == false){
		aj_MarkLoading('userDetailsMenu', "Loading...");
		aj_MarkLoadingBlack('profileHead', "Loading...");
		aj_MarkLoadingBlack('profileAlerts', "Loading...");
		aj_MarkLoading('favoritesDiv', "Loading...");
		aj_MarkLoading('loginDetails', "Loading...");
		new Ajax.Updater('userDetailsMenu', curPath+'handler.php', {parameters:{'event':'drawprofile','subevent':'menuDisplay'}});
		new Ajax.Updater('profileHead', curPath+'handler.php', {parameters:{'event':'drawprofile','subevent':'profileheaderDisplay'}});
		new Ajax.Updater('profileAlerts', curPath+'handler.php', {parameters:{'event':'drawprofile','subevent':'alertsDisplay'}});		
		new Ajax.Updater('favoritesDiv', curPath+'handler.php', {parameters:{'event':'drawprofile','subevent':'favoritesDisplay'}});
		new Ajax.Updater('loginDetails', curPath+'handler.php', {parameters:{'event':'drawprofile','subevent':'mainDisplay'}});
		// loadedMyInfo = true; for now, load it every time until we get all the kinks worked out.
	}
	formatLoadPg( 'displayuserhomepage' );		
}
function hist_ShowFavorites(){
	aj_MarkLoadingBlack('loginDetails','Loading...');
	new Ajax.Updater('loginDetails', curPath+'handler.php',{ parameters: {'event':'drawprofile','subevent':'favoritesDisplay'} });
}

function hist_EditMyInfo( type ){
	hist_CheckAdd('hist_EditMyInfo','edit_my_info', 'dpu_EditMyInfo');
	dpu_EditMyInfo( type );
}

function dpu_EditMyInfo( type ){
	if (!type){
		type = 'none';
	}
	aj_MarkLoadingBlack('loginDetails', 'Loading...');
	new Ajax.Updater('loginDetails', curPath+'handler.php', {
					 parameters: {'event':'reviewermanage', 'type':type}, evalScripts:true } );	
}

function dpu_genThumb(){
	var thumbI = $('mypicdiv');
	x = thumbI.getStyle('left');
	y = thumbI.getStyle('top');
	
	aj_MarkLoadingGrey('mycurrentprofilethumb', 'Saving...');
	new Ajax.Updater('mycurrentprofilethumb', curPath+'handler.php', {
					 	parameters:{'event':'genthumbnail', 'sub':'profilepic','x':x,'y':y}
					 });
}

function dpu_saveForm( type ){
		
	switch ( type ){
		case 'personal_info':
			var sHandle = $F('uhandle');
			var sFN = $F('ufname');
			var sLN = $F('ulname');
			var sAd1 = $F('uaddress1');
			var sAd2 = $F('uaddress2');
			var sCity = $F('ucity');
			var sState = $F('ustate');
			var sCountry = $F('ucountry');	
			var sZip = $F('uzip');
			var sPhone = $F('uphone');	
			var aid = $F('addressid');
			
			var byr = $('udob_y').value;
			var bmo = $('udob_m').value;
			var bdt = $('udob_d').value;	
			aj_MarkLoadingGrey('content_edit_div', 'Loading...');
			new Ajax.Updater('content_edit_div', curPath+'handler.php',{
					 parameters: {'event':'saveeditprofile', 'type':type,
					 	'handle':sHandle,'fName':sFN, 'lName':sLN,
						'ad1':sAd1, 'ad2':sAd2,'city':sCity,
						'country':sCountry,'state':sState,
						'zip':sZip, 'phone':sPhone, 'a_id':aid,
						'byr':byr, 'bmo':bmo, 'bdt':bdt
					 },
					 onComplete: dpu_RefreshUserDisplay
					 });
			
			break;
		case 'connection_info':
		/*
			var qty = $F('num_con_types');
			
			var params = new Hash();
			params.set('event', "saveeditprofile");
			params.set('type',"connection_info");			
			params.set('qty',qty);
			
			for (var i = 1; i <= qty; i++){
				var tmp = $F('con_type_'+i);
				if (tmp){
					params.set('fc['+i+']', tmp );
				}
			}
			*/

			var params = new Hash();
			params.set('event', "saveeditprofile");
			params.set('type',"connection_info");			
			params.set('qty',qty);

			var userForm = $('user_edit_form');
			var formOptions = userForm.getInputs('checkbox');
			//formOptions.invoke( /* callback function name */ );
			var i = 0;
			formOptions.each( function(tmp){
					if ( $F(tmp) ){
						i++;
						params.set('fc['+i+']', tmp.value);
					}
									   });

			aj_MarkLoadingGrey('content_edit_div', 'Loading...');
			new Ajax.Updater('content_edit_div', curPath+'handler.php',{parameters:params.toQueryString()});		
			break;
		case 'door_info':
			var qty = $F('num_custom_inputs');

			var params = new Hash();
			params.set('event', "saveeditprofile");
			params.set('type',"doorpost_info");			
			params.set('qty',qty);
			
			for (var i = 1; i <= qty; i++){
				params.set('fc['+i+']', $F('form_custom_'+i) );
				params.set('fct['+i+']', $F('form_template_id_'+i) );
			}
			
			aj_MarkLoadingGrey('content_edit_div', 'Loading...');
			new Ajax.Updater('content_edit_div', curPath+'handler.php',{parameters:params.toQueryString()});
						
			break;
		case 'filmmaker_info':
		case 'actor_info':
		case 'writer_info':
		case 'composer_info':
		case 'visionary_info':		
			var qty = $F('num_custom_inputs');
			
			var params = new Hash();
			params.set('event', "saveeditprofile");
			params.set('type', type);			
			params.set('qty',qty);
			
			for (var i = 1; i <= qty; i++){
				params.set('fc['+i+']', $F('form_custom_'+i) );
				params.set('fct['+i+']', $F('form_template_id_'+i) );
			}
			
			aj_MarkLoadingGrey('content_edit_div', 'Loading...');
			new Ajax.Updater('content_edit_div', curPath+'handler.php',{parameters:params.toQueryString()});
						
			break;		
		case 'my_account':
			var email = $F('uemail');
			var pass1 = $F('upass1');
			var pass2 = $F('upass2');
			var uurl = $F('uurl');
			
			if (pass1 != ""){
				if (pass2 == ""){
					alert("Please enter and confirm your password.");
					return;
				}
				if (pass1 != pass2){
					alert("Passwords must match");
					return;
				}
			}

			aj_MarkLoadingGrey('content_edit_div', 'Loading...');
			new Ajax.Updater('content_edit_div', curPath+'handler.php',{
					 parameters: {'event':'saveeditprofile', 'type':type, 'email':email, 'pass':pass1, 'url':uurl},
					 onComplete: dpu_RefreshUserDisplay
					 });

			break;
		default:
			aj_MarkLoadingGrey('content_edit_div', 'Loading...');
			new Ajax.Updater('content_edit_div', curPath+'handler.php',{
					 parameters: {'event':'saveeditprofile', 'type':type}
					 });

			break;
			
	}

}


function dpu_editPersonalForm( type ){
	var foundEdit = true;
	aj_MarkLoadingGrey('content_edit_div', 'Loading...');
	switch( type ){
		case 'personal_info':
		case 'photos':
		case 'door_info':
		case 'connections':
		case 'my_account':
		case 'my_filmmaker_info':
		case 'actor_info':
		case 'writer_info':
		case 'composer_info':
		case 'favorites':
		case 'visionary_info':
			break;
		case 'privacy':
			new Ajax.Updater('content_edit_div', curPath+'handler.php', {
					 parameters: {'event':'editprivacy'} } );	
			return;
			break;
		default:
			foundEdit = false;
			break;
	}
	
	if (foundEdit){
		new Ajax.Updater('content_edit_div', curPath+'handler.php', {
						 parameters: {'event':'editprofile', 'type':type},
						 evalScripts: true
						 });
	} else {
		$('content_edit_div').innerHTML = "Your request was not found. Please contact technical support if this continues.";
	}
}


function hist_doneEditMyInfo(){
	hist_CheckAdd('hist_doneEditMyInfo','myprivatedoor', 'dpu_ManageAccount');
	dpu_doneEditMyInfo();
}
function dpu_doneEditMyInfo(){
	aj_MarkLoadingBlack('loginDetails', 'Loading...');
	new Ajax.Updater('loginDetails', curPath+'handler.php', {parameters:{'event':'drawprofile','subevent':'mainDisplay'}});
}

/* 
 * Display the manage the account area.
 */
function dpu_ManageAccount(){
	hist_CheckAdd('dpu_ManageAccount','myprivatedoor', 'dpu_ManageAccount');
	dpu_DisplayUserHomePage();
}

function dpu_HideUserInfo(){
	$('userDetailsMenu').hide();
}

// close the management details
function dpu_DoneManage(  ){
	displayingUserInfo = false;
	
	if (sCurTopic == 'hope' || sCurTopic == 'doorpostinfo'){
		dispC2.togTo('contentWrapper');
	} else {
		dispC2.togTo('bannerDiv');
	}
	
	dispA.togTo('maintopic');
	dispB.togTo('videocontent');
	if (sCurTopic == 'hope' || sCurTopic == 'doorpostinfo'){
		dispC2.togTo('contentWrapper');
	} else {
		dispC2.togTo('bannerDiv');
	}
	dispC3.togTo('thumbnailwrapper');
	
	dpu_HideUserInfo();
}

function dpu_doneProfileView(){
	displayingUserInfo = false;
	
	dispA.togTo('maintopic');
	dispB.togTo('videocontent');
	dispC2.togTo('contentWrapper');
	dispC3.togTo('thumbnailwrapper');
	$('userDetailsMenu').hide();
}

/**
 * Preview the filmmaker bio
 */
function dpu_previewBio(){
	var bio = $('filmmakerBioText').value;
	var fid = $('filmmakerid').value;
	
	if (!bio || bio == ""){
		alert("Your biography is empty, there is nothing to display.");
	}
	$('bioPreviewDiv').show();
	$('closeBioPreviewLink').removeClassName('hidden');
	aj_MarkLoading('bioPreviewDiv', "Loading...");
	new Ajax.Updater("bioPreviewDiv", curPath+"handler.php", {parameters:{"event":"previewbio", "bioStr":bio, "fid":fid}});
}

/**
 * Close the preview bio div
 */
function dpu_previewBioClose(){
	$('bioPreviewDiv').hide();
	$('closeBioPreviewLink').addClassName('hidden');
}

/**
 * Save the newly input filmmaker bio
 */
function dpu_saveBio(){
	var bio = $('filmmakerBioText').value;
	var fid = $('filmmakerid').value;
	
	if (!fid){
		alert("There is a problem saving your data. Please refresh your login and try again.");
		return;
	}
	
	// mark it as saving.
	aj_MarkLoading('filmmakerBioDiv', 'Saving..');
	$('bioPreviewDiv').hide();
	// new ajax updater through handler.php to save the information via class.Filmmaker.php, add event in handler.php switch and method in filmmaker
	// filmmaker method should redraw the inside ofthe filmmakerBioDiv which is that textarea input w/ submit link

	// this tells the handler.php page to look for the event saveFilmmakerBio
	// and passes the bio as $_POST['bioStr']
	
	new Ajax.Updater('filmmakerBioDiv', curPath+'handler.php', {
					 	parameters: {'event':'savefilmmakerbio', 'bioStr':bio, 'fid':fid}  
						});
}

function dpu_doneRemoveBioPic(){
	dpu_doneSaveThumbPic();
	dpu_RefreshUserDisplay();
}

/**
 * Remove the bio picture
 */
function dpu_removeBioPic(){
	if ( confirm("You are about to remove your biography picture. Do you wish to continue?") ){
		var fid = $('filmmakerid').value;
		aj_MarkLoading('filmmakerBioPicDiv', 'Saving...');
		new Ajax.Updater('filmmakerBioPicDiv', curPath+'handler.php', {parameters: {'event':'removebiopic', 'fid':fid}, evalScripts: true, onComplete: dpu_doneRemoveBioPic} );
		
	}
}

function dpu_doneSaveBioPic( ){
	var fid = $('filmmakerid').value;	
	new Ajax.Updater('filmmakerBioPicDiv', curPath+'handler.php', {parameters: {'event':'redrawbiopic', 'fid':fid }, onComplete: dpu_RefreshUserDisplay });
	dpu_doneSaveThumbPic();
}

function dpu_removePic( picid ){
	if (!confirm('You are about to delete this photo, are you sure you wish to continue?')){
		return;
	}
	var divN = "pWrap_"+picid;
	aj_MarkLoadingBlack(divN, 'Deleting...');
	new Ajax.Updater(divN, curPath+'handler.php', {parameters:{'event':'removepic','picid':picid},evalScripts:true});
}

function dpu_makeBioPic( picid ){
	if (!confirm('You are about to replace your current profile picture with this picture. Are you sure you wish to continue?')){
		return;
	}
	var divN = "filmmakerBioPicDiv";
	aj_MarkLoadingBlack(divN, 'Saving...');
	new Ajax.Updater(divN, curPath+'handler.php', {parameters:{'event':'makebiopic','picid':picid},
					 evalScripts:true, onComplete:function(){
						 dpu_doneSaveBioPic();
					 }});
}

function dpu_editPicCaption( picId ){
	aj_MarkLoading('picEditInfoDiv', 'Loading..');
	new Ajax.Updater('picEditInfoDiv', curPath+'handler.php', {
					 parameters: {'event':'editpicinfo','picid':picId},
					 evalScripts:true,
					 onComplete: function(){
						 Element.show('picEditInfoDiv');
					 }
					 });
}

function dpu_savePic(){
	$('PicUploadForm').submit();
	aj_MarkLoadingBlack('picFormDivStatus', 'Uploading...');
	
}

function dpu_saveBioPic(){
	$('BioPicUploadForm').submit();
	
	// we don't want to actually get rid of the div contents, so just hide them and put the display message elsewhere.
	// when the upload is compelte, this will be replaced at that time.
	aj_MarkLoadingBlack('picFormDivStatus', 'Uploading ... ');
	// $('picFormDiv').hide();
}

/**
 * Remove the bio picture
 */
function dpu_removeThumbPic(){
	if ( confirm("You are about to remove your thumbnail picture. Do you wish to continue?") ){
		aj_MarkLoadingBlack('reviewerThumbPicDiv', 'Saving...');
		new Ajax.Updater('reviewerThumbPicDiv', curPath+'handler.php', {parameters: {'event':'removethumbpic'}} );
	}
}

function dpu_doneSaveThumbPic( ){
	new Ajax.Updater('reviewerThumbPicDiv', curPath+'handler.php', {parameters: {'event':'redrawthumbpic' }, evalScripts: true});
}

function dpu_saveThumbPic(){
	$('ThumbPicUploadForm').submit();
	
	// we don't want to actually get rid of the div contents, so just hide them and put the display message elsewhere.
	// when the upload is compelte, this will be replaced at that time.
	aj_MarkLoadingBlack('picThumbFormDivStatus', 'Uploading ... ');
	// $('picFormDiv').hide();
}

function hist_PasswordForm(){
	hist_CheckAdd('hist_PasswordForm','forgot_password', sCurTopic);
	dpu_PasswordForm();
}
/**
 * Display the form to request a password be resent
 */
function dpu_PasswordForm(){
	aj_MarkLoadingBlack('login', 'Loading...');
	new Ajax.Updater( 'login', curPath+'handler.php',{
					 parameters: {'event':'drawForgotPassword'}});
}

function dpu_ResetLoginForm(){
	Element.hide('login');
	new Ajax.Updater('login', curPath+'handler.php', { parameters: {'event':'resetLoginForm', 'curPath':curPath} });
}

/**
 * Submit the form
 */
function dpu_SubmitPasswordRequestForm(){
	var ev = $('emailaddress').value;
	if (!ev || ev == ""){
		alert("You must specify your email address.");
		return;
	}
	new Ajax.Updater('login', curPath+'handler.php', {parameters: {'event':'submitRequestPassword', 'email':ev} } );
}

// User managing their own information
function dpu_SaveReviewerChanges(){
	var hv = $('reviewerhandle').value;
	var pwv = $('reviewerpass').value;
	var cpwv = $('reviewerpassconfirm').value;
	var byr = $('udob_y').value;
	var bmo = $('udob_m').value;
	var bdt = $('udob_d').value;
	var fname = $('ufirstname').value;
	var lname = $('ulastname').value;	
	var myurl = $F('uurl');	
	var fid = $('filmmakerid').value;
	
	if (pwv != ""){
		if (cpwv == ""){
			alert("Please enter and confirm your password.");
			return;
		}
		if (cpwv != pwv){
			alert("Passwords must match");
			return;
		}
	}
	
	// this would be a good spot to run any profanity check on the handle should we wish to do so.
	
	// perform any further error checking required here.
	if (fname == "" || lname == ""){
		alert("Please enter both a first and last name.");
		return;
	}
	// If they're a filmmaker, we need to run the full update. Nrg ... LOTS of edited data to pass on.
	if ( fid > 0 ) {
		
		// filmmaker specific set value checks

		var myaddr1 = $F('uaddress1');
		var myaddr2 = $F('uaddress2');
		var mycity = $F('ucity');
		var mystate = $F('ustate');
		var mycountry = $F('ucountry');
		var myzip = $F('uzip');
		var myweb = $F('uwebsite');
		var myBio = $F('filmmakerBioText');
		var myJob = $F('ujob');
		var myEdu = $F('uedu');
	
		if (myaddr1 == "" && myaddr2 == ""){
			alert('You must specifiy an address where you can be contacted.');
			return;
		}
		if (myzip == ""){
			alert('Please specify a postal code.');
			return;
		}
		if (mycountry == ""){
			alert('Please specify a country.');
			return;
		}
		if (mycity == ""){
			alert('Please specify a city.');
			return;
		}
		if (mystate == ""){
			alert('Please specify a state or region.');
			return;
		}

		aj_MarkLoading('loginDetails', 'Saving your information...');
		new Ajax.Updater('loginDetails', curPath+'handler.php', {
					 parameters: {'event':'savereviewermanage', 'pass':pwv, 'handle':hv, 'fid':fid,
					 			  'byr':byr,'bmo':bmo,'bdt':bdt,'fname':fname,'lname':lname,
								  'ad1':myaddr1, 'ad2':myaddr2,'uurl':myurl, 'uzip':myzip,
								  'ucountry':mycountry,'ustate':mystate,'ucity':mycity,'website':myweb,
								  'bioStr':myBio, 'ujob':myJob, 'uedu':myEdu},
					 onComplete: dpu_RefreshUserDisplay
					 } );
	} else {
		// otherwise we send the minimalistic info for reviewers
		aj_MarkLoading('loginDetails', 'Saving your information...');
		new Ajax.Updater('loginDetails', curPath+'handler.php', {
					 parameters: {'event':'savereviewermanage', 'pass':pwv, 'handle':hv, 'fid':fid,
					 			  'byr':byr,'bmo':bmo,'bdt':bdt,'fname':fname,'uurl':myurl,'lname':lname},
					 onComplete: dpu_RefreshUserDisplay
					 } );
		
	}
}

function hist_inviteFriendForm(){
	hist_CheckAdd('hist_inviteFriendForm', 'invite', 'dpu_inviteFriendForm');
	dpu_inviteFriendForm();
}

function dpu_inviteFriendForm(){
	aj_MarkLoadingBlack('loginDetails', 'Loading...');
	new Ajax.Updater('loginDetails', curPath+'handler.php', {parameters: {'event':'invitefriendform'} });
}

function hist_EditPrivacy(){
	hist_CheckAdd('hist_EditPrivacy','preferences', 'dpu_EditPrivacy');
	dpu_EditPrivacy();
}
function dpu_EditPrivacy(){
	aj_MarkLoadingBlack('loginDetails', 'Loading...');
	new Ajax.Updater('loginDetails', curPath+'handler.php', {
					 parameters: {'event':'editprivacy'} } );	
}
function dpu_SavePrivacySettings(field, ids){

var answers = '';
	for (i = 0; i < field.length; i++){
	
	if (field[i].checked == true)
	   { answers += field[i].value;  }
	else { answers +='0';  }
      answers += ',';
  //  answers += ids.substring(i,i+1)+','; 
}

		aj_MarkLoadingGrey('content_edit_div', 'Saving...');
		new Ajax.Updater( 'content_edit_div', curPath+'handler.php',{
					 parameters: {'event':'saveprivacysettings', 'answers':answers, 'ids':ids}});
	
	
}


function aj_submitRegistrationForm(){
	
		var fnv = $F('first_name');
		var lnv = $F('last_name');
		var hv = $F('display_name');
		var urlv = $F('url_location');

		var ev = $F('semail');
		var pwv = $F('spassword');
		var cpwv = $F('cpassword');
		
		var ph = $F('phone');
		
		if( fnv == "" ){
			alert("Please type in a first name.");
			return;
		}
		if (lnv == ""){
			alert("Please type in a last name.");
			return;
		}

		if (hv == ""){
			alert("Please enter a display name.");
			return;
		}

		if (urlv == ""){
			alert("Please enter your preferred doorpost direct URL");
			return;
		}

		if (ev == ""){
			alert("Please type in a valid email address.");
			return;
		}
		if (pwv == "" || cpwv == ""){
			alert("Please type in and confirm a password.");
			return;
		}
		if (pwv != cpwv){
			alert("Please ensure that your passwords match.");
			return;
		}
		
		if (ph == ""){
			alert("Please enter a phone number.  Your phone number will not be made public.");
			return;
		}
		
	//  check the age status
	//
	/*
	var dt = new Date();
	var yearsdiff = dt.getFullYear() - byv;
	if (yearsdiff > 18)
		ageok = true;
	else {
		if( yearsdiff == 18){
			if (bmv >= dt.getMonth() ){
				ageok = true;
			}
		}
	}
	*/
	
	var params = Form.serializeElements( $('registerform').getElements() );
	params = params+"&event=saveviewerregistration";
	
	aj_MarkLoadingGrey( 'loginDetails', '<div style=\"padding-bottom: 400px;\">Saving... Please be patient, this may take a moment.</div>');
	new Ajax.Updater('loginDetails', curPath+"handler.php", {evalScripts: true, parameters: params });
	
}

function dpu_submitInviteFriends( divN ){
	if (!divN)
		divN = 'loginDetails';
		
	var tostr = $F('friendemailaddress');
	var fromstr = $F('fromemailaddress');
	var tomsg = $F('invitefriendmessage');
	var tosubj = $F('invitesubject');
	var name = $F('fullname');
	
	if (tostr == ""){
		alert("You have not specified any email addresses to send this email to.");
		return;
	}
	
	if (tomsg == ""){
		if (!confirm("You have not entered a personal message. Do you wish to continue?")){
			return;
		}
	}
	
	aj_MarkLoading( divN, 'Sending...');
	new Ajax.Updater( divN, curPath+'handler.php', { parameters: { 'event':'sendfriendinvites', 'friends':tostr, 'message':tomsg, 'fromname':name, 'from':fromstr, 'subj':tosubj } } );
}

function hist_displayReviewerForm(){
	hist_CheckAdd('hist_displayReviewerForms','new_user', sCurTopic);
	aj_displayReviewerForm();
}
function aj_displayReviewerForm(){
	aj_MarkLoadingBlack('loginDetails', 'Loading...');	
	aj_ChangePg('registration');
	new Ajax.Updater('loginDetails', curPath+'handler.php',{
					 parameters: {'event':'reviewerregisterpage'} });
}

function doneRegistration(){
	setTimeout( delayedRegistration, 2 );
}

function delayedRegistration(){
	
	// this is called whether they successfully registered or not.
	if (registersuccess == false && curUser.handle == ""){
		$('loginDetails').innerHTML = $('login').innerHTML;
		$('login').innerHTML = "";
		new Ajax.Updater('login', curPath+'handler.php', { parameters: {'event':'reviewerlogout'} });
		return;
	}

	//dispC2.togTo('contentWrapper');

	// This should be updating, but it is not, so put it straight in.
	var str = "<a href=\"javascript://\" onclick=\"dpu_DisplayUserHomePage()\"><img src=\"http://c0625612.cdn.cloudfiles.rackspacecloud.com/webimages/youareloggedin.gif\" alt=\"You are logged in.\" border=\"0\"/></a><br /><a href=\"javascript://\" onclick=\"aj_ReviewerLogout()\"><img src=\"http://c0625612.cdn.cloudfiles.rackspacecloud.com/webimages/logout.gif\" border=\"0\" alt=\"Log out\"/></a>";
	$('login').innerHTML = str;
	
	// redraw film details div if not empty	
	var fDetails = $('filmDetails');
	if (fDetails.innerHTML != "" && lastFilmId != ""){
		aj_MarkLoading('filmDetails', 'Loading film details...');
		new Ajax.Updater('filmDetails', curPath+'handler.php',{ 
						 parameters: {'event':'filmdetails','fid':lastFilmId},
						 onComplete:dp_StartPlayingFilm
						 });
	} else {
		dpu_DisplayUserHomePage();
	}
}

var popPic = null;

function altpopOpenPic( picId, width ){

	if (popPic == null){

		var str = "<div style=\"text-align: right;\"><a href=\"javascript://\" onclick=\"popClosePic()\">";
			str += "<img src=\"http://c0625612.cdn.cloudfiles.rackspacecloud.com/webimages/circleclose.png\" border=\"0\"></a></div>";
			str += "<div id=\"picture_popup_window_contents\" style=\"margin: 0px 20px 0px 10px;\"></div>";		
		
		//var a = new Element('a', { 'class': 'foo', href: '/foo.html' }).update("Next page");
		var popPic = new Element('div', {'id':'picture_popup_window', 'href':'javascript://', 
							 'style':'position: absolute; width: '+width+'; left: 0;'} ).update(str);
	} else {
		popPic.removeClassName('hidden');
		popPic.setStyle( {'width':width} );
	}
	
	str = "<img src=\"http://www.thedoorpost.com/picturehandler.php?event=getAlbumPic&id="+picId+"\" border=\"0\">";
	$('picture_popup_window_contents').innerHTML = str;	
}

function popOpenPic( picId, width, height, caption ){
	

	str = "<img src=\"http://www.thedoorpost.com/picturehandler.php?event=getAlbumPic&id="+picId+"\" border=\"0\">";
	if (caption && caption != ""){
		str = str+"<div style=\"background-color: white; font-size: 8pt; text-align: center; color: black;\">"+caption+"</div>";
	}
	
	$('picture_popup_window_contents').innerHTML = str;
	ppw = $('picture_popup_window');
	pps = $('picture_popup_window_shadow');
	
	var wid = Element.getWidth( 'body' );
	var newLeft = wid - eval(width);
	newLeft = eval(newLeft/2);

	var topLoc = $('body').cumulativeScrollOffset(  );
	var newTop = topLoc.top + 10;

	ppw.setStyle( {'width':width, 'left':newLeft, 'height':height, 'top':newTop});
	pps.setStyle( {'width':width, 'height':height});
	
	ppw.removeClassName('hidden');
	Element.setOpacity( pps, '.5' );

}
function popClosePic( ){
	$('picture_popup_window_contents').innerHTML = "";
	$('picture_popup_window').addClassName('hidden');
}

