//Signup
first_validate = function () {

	// First Name
	if ($F('fname').length < 2) {
		MB_ShowCenterAlert( "You need to include your full first name.", {
			onComplete: function() {
				$('fname').focus();
			}
		});
		return false;
	}

	// Last Name
	if ($F('lname').length < 2) {
		MB_ShowCenterAlert( "You need to include your full last name.", {
			onComplete: function() {
				$('lname').focus();
			}
		});
		return false;
	}
	
	return true

	// starting full validate

	// Email
	//var emailFilter=/^.+@.+\..{2,3}$/;
/*	var emailFilter=/^.+@.+\.edu$/;
	if (!(emailFilter.test($F('keymail')))) {
		MB_ShowCenterAlert("Error:  Please enter a valid .edu email-address.");
		$('keymail').select()
		return false;
	}

	// Birthday
	var dSel = $F('bday')
	var mSel = $F('bmonth')
	var ySel = $F('byear')
	var curDay = new Date()
	if (dSel==0 || mSel==0 || ySel==0) {
		MB_ShowCenterAlert("Error:  Please declare your birthday.");
		return false;
	}
	if (curDay.getFullYear() - ySel < 16) {
		MB_ShowCenterAlert("Error:  Your age must be 16 or older.");
		return false;
	}

	// Passwords
	if ($F('pw').length == 0) {
		MB_ShowCenterAlert("Error:  Please specified your password.");
		return false;
	}
	if ($F('pw').length < 6) {
		MB_ShowCenterAlert("Error:  Password must be at least 6 characters.");
		return false;
	}
	if ($F('pw') != $F('pw2')) {
		MB_ShowCenterAlert("Error:  Passwords not match.");
		return false;
	}

	// Terms of Use
	if ($F('terms')!='y') {
		MB_ShowCenterAlert("Error:  Plase read and accept the terms of use first.");
		$('tou').focus()
		return false;
	}*/

	return true;
}

signup = function () {

	// validate check
	if ( !first_validate( true ) ) return false

	var url = cfg.urlSrc + "/register_respond.php"
	var params = 'act=signup&'+$('regform').serialize()
	new Ajax.Request(url, {
		method: "post",
		parameters: params,
		onCreate: function() {
			ShowGlobalStatus( 'Registering...' );
		},
		onComplete: function(transport) {
			var xml = transport.responseXML;
			var error = xml.getElementsByTagName("Error")[0].firstChild.nodeValue
			if( error == '0' ) {
				var doneMsg = xml.getElementsByTagName("SuccessMessage")[0].firstChild.nodeValue

				MB_ShowCenterAlert( doneMsg, {
					width: 300,
					onComplete: function() {
						$('regform').reset();
					}
				});

			} else {
				var errorMsg = xml.getElementsByTagName("ErrorMessage")[0].firstChild.nodeValue
				
				MB_ShowCenterAlert( errorMsg );
			}

			HideGlobalStatus();
		}
	});

	return false
}

//confirmation
resend_confirm = function ( keymail ) {

	var url = cfg.urlSrc + "/register_respond.php"
	var params = 'act=resend&keymail='+keymail
	new Ajax.Request ( url, {
		method: "get",
		parameters: params,
		onComplete: function(transport) {
			MB_ShowCenterAlert( transport.responseText, { width: 300 } );
		}
	});
}

activate_account = function() {
	var url = cfg.urlSrc + "/register_respond.php"
	var params = "act=confirm&"+$('regform').serialize()
	new Ajax.Request ( url, {
		method: "post",
		parameters: params,
		onCreate: function() {
			ShowGlobalStatus( 'Confirming...' );
		},
		onComplete: function(transport) {
			var response = transport.responseText;

			HideGlobalStatus();

			if( (/^Error/).test( response ) ) {
				MB_ShowCenterAlert( response );
			} else {
				window.location=cfg.urlRoot + '/finish_registration.php';
			}
		}
	});
	
	return false;
}

//Registration
/*search_another_network = function(by) {
	switch( by ) {
		case 'name':
			$('regform').action = 'finish_network_registration.php'; break;
		case 'city':
			$('regform').action = 'finish_city_registration.php'; break;
		case 'zipcity':
		default:
			$('regform').action = 'finish_zipcity_registration.php'; break;
	}
	$('regform').submit();
}*/

/*lookup_college = function() {
	var url = cfg.urlSrc + "/register_respond.php"
	var params = "act=college_lookup2&"+$('regform').serialize()
	new Ajax.Request ( url, {
		method: "post",
		parameters: params,
		onCreate: function() {
			ShowGlobalStatus( 'Setting...' );
		},
		onComplete: function(transport) {
			var response = transport.responseText;

			HideGlobalStatus();

			MB_ShowCenterAlert( response, { width: 400 } );
		}
	});

	return false;
}*/

//Colleges
confirm_college = function() {
	var url = cfg.urlSrc + "/register_respond.php"
	var params = "act=college&"+$('regform').serialize()
	new Ajax.Request ( url, {
		method: "post",
		parameters: params,
		onCreate: function() {
			ShowGlobalStatus( 'Setting...' );
		},
		onComplete: function(transport) {
			var response = transport.responseText;

			HideGlobalStatus();

			MB_ShowCenterAlert( response, {
				width: 400,
				onOK: function() {
					if( (/^Error/).test( response ) ) {
					} else {
						window.location=cfg.urlRoot + '/signupwizard_info.php';
					}
				}
			});
		}
	});
	
	return false;
}

indicate_college = function() {//older version
	//if( $F('czip').blank() || $F('ccity').blank() ) {
	//	MB_ShowCenterAlert('Please indicate your College\'s Zip Code and City.');
	//	return false;
	//}
	var url = cfg.urlSrc + "/register_respond.php"
	var params = "act=college_lookup&"+$('regform').serialize()
	new Ajax.Request ( url, {
		method: "post",
		parameters: params,
		onCreate: function() {
			ShowGlobalStatus( 'Setting...' );
		},
		onComplete: function(transport) {
			var response = transport.responseText;

			HideGlobalStatus();

			MB_ShowCenterAlert( response, { width: 400 } );
		}
	});

	return false;
}

skip_college = function( czip, ccity ) {
	var url = cfg.urlSrc + "/register_respond.php"
	new Ajax.Request ( url, {
		method: "post",
		parameters: {act: 'skip_college', ccity: ccity, czip: czip},
		onCreate: function() {
			ShowGlobalStatus( 'Setting...' );
		},
		onComplete: function(transport) {
			var response = transport.responseText;

			HideGlobalStatus();

			window.location=cfg.urlRoot + '/signupwizard_info.php';
		}
	});

	return false;
}

choose_college = function( ccode, czip ) {
	var url = cfg.urlSrc + "/register_respond.php"
	new Ajax.Request ( url, {
		method: "post",
		parameters: {act: 'indicate_college', ccode:ccode, czip: czip},
		onCreate: function() {
			ShowGlobalStatus( 'Setting...' );
		},
		onComplete: function(transport) {
			var response = transport.responseText;

			HideGlobalStatus();

			window.location=cfg.urlRoot + '/signupwizard_info.php';
		}
	});

	return false;
}

lookup_college_name = function() {
	var cname = $F('cname');

	if( cname.length < 4 ) return false;

	var url = cfg.urlSrc + "/register_respond.php"
	var params = "act=name_lookup&"+$('regform').serialize()
	new Ajax.Request ( url, {
		method: "post",
		parameters: params,
		onCreate: function() {
			ShowGlobalStatus( 'Setting...' );
		},
		onComplete: function(transport) {
			var response = transport.responseText;

			HideGlobalStatus();

			MB_ShowCenterAlert( response, { width: 400 } );
		}
	});

	return false;
}

skip_college_by_name = function( sname ) {
	var url = cfg.urlSrc + "/register_respond.php"
	new Ajax.Request ( url, {
		method: "post",
		parameters: {act: 'skip_college_name', sname:sname},
		onCreate: function() {
			ShowGlobalStatus( 'Setting...' );
		},
		onComplete: function(transport) {
			var response = transport.responseText;

			HideGlobalStatus();

			window.location=cfg.urlRoot + '/signupwizard_info.php';
		}
	});

	return false;
}

selectState = function() {
	var url = cfg.urlSrc + "/register_respond.php"
	new Ajax.Request ( url, {
		method: "post",
		parameters: {act: 'getCities', st:$F('state')},
		onCreate: function() {
			ShowGlobalStatus( 'Getting...' );
		},
		onComplete: function(transport) {
			var response = transport.responseText;

			HideGlobalStatus();
			
			if( response != '' ) {
				var ctArray = new Array;
				ctArray = response.split(";");

				//clear all
				while( $('city').length > 1) $('city').options[ 1 ] = null;

				var cn = ctArray.length;

				//$('city').options[0] = new Option("-- Select your City in "+ctArray[0]+"--", "");

				for(var i=1;i<=cn;i++) {
					var ct = ctArray[ i ].split(":");
					$('city').options[i] = new Option(ct[1], ct[0]);
				}//end for loop
			}
		}
	});

	return false;
}

lookup_college_city = function() {
	var url = cfg.urlSrc + "/register_respond.php"
	var params = "act=college_city_lookup&"+$('regform').serialize()
	new Ajax.Request ( url, {
		method: "post",
		parameters: params,
		onCreate: function() {
			ShowGlobalStatus( 'Setting...' );
		},
		onComplete: function(transport) {
			var response = transport.responseText;

			HideGlobalStatus();

			MB_ShowCenterAlert( response, { width: 400 } );
		}
	});

	return false;
}

indicate_city = function() {
	var url = cfg.urlSrc + "/register_respond.php"
	var params = "act=indicate_city&"+$('regform').serialize()
	new Ajax.Request ( url, {
		method: "post",
		parameters: params,
		onCreate: function() {
			ShowGlobalStatus( 'Setting...' );
		},
		onComplete: function(transport) {
			var response = transport.responseText;

			HideGlobalStatus();

			window.location=cfg.urlRoot + '/signupwizard_info.php';
		}
	});

	return false;
}
//Signup Wizard Functions //////////////////////////////

var signupPageFiles = [
	"signupwizard_info.php",
	"signupwizard_postbook.php",
	"signupwizard_privacy.php",
	"signupwizard_photo.php",
	"signupwizard_invite.php"
];

signupNext = function( page ) {
	switch( page ) {
		case "Info":
			window.location = signupPageFiles[1];
			return;

		case "PostBook":
			window.location = signupPageFiles[2];
			return;
	
		case "Privacy":
			window.location = signupPageFiles[3];
			return;
	
		case "Photo":
			window.location = signupPageFiles[4];
			return;
	
		case "Invite":
			window.location = "inside.php";
			return;
	}
}

signupSaveContinue = function( page ) {
	var se = $('signupForm').serialize(true);
	if( page == 'Info' ) {
		if( se.sex == "" ) {
			MB_ShowCenterAlert( 'Please select your gender.' );
			return false;
		}
	} else if( page == 'Photo' ) {
		if( $F('uploadedfile').blank() ) {
		} else {
			MB_ShowCenterAlert( 'Please click Upload File button to post your profile image or remove the text within the field.' );
			return false;
		}
	}

	var url = cfg.urlSrc + "/register_respond.php";
	var params = 'page='+page+'&'+$('signupForm').serialize()
	new Ajax.Request ( url, {
			method: "post",
			parameters: params,
			onCreate: function() {
				ShowGlobalStatus( 'Saving...' );
			},
			onComplete: function(transport) {
				var response = transport.responseText;

				HideGlobalStatus();

				if( page == "Invite" ) {
					if( (/^Error/).test( response ) ) {
						MB_ShowCenterAlert( response );
					} else {
						if(response != "")
							MB_ShowCenterAlert( response, {
								onOK: function() {
									signupNext( page );
								}
							});
						else
							signupNext( page );
					}
				} else
					signupNext( page );
			}
		}
	);

	return false
}

signupPostBook = function() {
	var url = cfg.urlSrc + "/bookshelf_respond.php";
	var params = 'act=addbook&'+$('postbookForm').serialize();
	new Ajax.Request ( url, {
			method: "post",
			parameters: params,
			onCreate: function() {
				ShowGlobalStatus( 'Adding your book...' );
			},
			onComplete: function(transport) {
				var response = transport.responseText;
				HideGlobalStatus();
				if( (/^Error/).test( response ) ) {
					MB_ShowCenterAlert( response );
				} else {
					//if(response != "")	MB_ShowCenterAlert( response );
					window.location.reload();
				}
			}
		}
	);

	return false
}

//Class
signupUploadSyllabusCompleted = function ( id ) {
	var i = document.getElementById(id);
	if (i.contentDocument) {
		var d = i.contentDocument;
	} else if (i.contentWindow) {
		var d = i.contentWindow.document;
	} else {
		var d = window.frames[id].document;
	}
	if (d.location.href == "about:blank") {
		return;
	}

	response = d.body.innerHTML;

	if( (/^Error/).test( response ) ) {
		MB_ShowCenterAlert( response );
	} else {
		//ShowUserStatus( response );
		if( response.indexOf("classid=") != (-1) ) {
			window.location = cfg.urlRoot + '/signupwizard_postclass.php?' + response;
		} else
			window.location.reload();
	}
}

signupUploadSyllabus = function ( formName ) {

	if( $('uploadedfile').value=="" ) {
		MB_ShowCenterAlert('A document file must be selected for upload')
		return false
	}

	ShowUserStatus( 'Uploading...' );

	form = $( formName )
	form.enctype = "multipart/form-data"
	form.action = cfg.urlSrc + '/classes_respond.php'
	form.method = "post"
	$('act').value = 'UploadSyllabus';

	var n = 'f' + Math.floor(Math.random() * 99999);
	var d = document.createElement('DIV');
	d.innerHTML = '<iframe style="display:none" src="about:blank" id="'+n+'" name="'+n+'" onload="signupUploadSyllabusCompleted(\''+n+'\')"></iframe>';
	document.body.appendChild(d);
	
	form.setAttribute('target', n);
	form.submit();
}

signupRemoveSyllabus = function () {

	MB_ShowCenterConfirm( 'Are you sure you want to remove this Syllabus?', {
		onCancel: function() {
			MB_Close();
			return false;
		},
		onConfirm: function() {
			ShowUserStatus( 'Removing document...' );
		
			$('act').value = 'RemoveSyllabus';
		
			var url = cfg.urlSrc + '/classes_respond.php'
			new Ajax.Request ( url, {
				method: "post",
				parameters: $('classform').serialize(),
				onComplete: function(transport) {
					var response = transport.responseText;
					HideGlobalStatus();
					MB_Close();
					window.location.reload();
				}
			});
			return false;
		}
	});

	return false
}

signupPostClass = function() {
	var se = $('classform').serialize(true);
	var msg = "";

	if( $('uploadedfile') && !se.uploadedfile.blank() )
		msg += "There is a file waiting to upload, please do it first.<br>";

	if( se.classname.blank() )
		msg += "Please fill in the Class name.<br>";
		
	var days = '';
	days += se.days1 || '';
	days += se.days2 || '';
	days += se.days3 || '';
	days += se.days4 || '';
	days += se.days5 || '';
	days += se.days6 || '';
	days += se.days7 || '';
	if( days == '' ) {
		msg += "Please select days of the Class.<br>";
	}

	if( msg != "" ) {
		MB_ShowCenterAlert( msg );
		return false;
	}
	
	var url = cfg.urlSrc + "/classes_respond.php";
	var params = $('classform').serialize()
	new Ajax.Request ( url, {
		method: "post",
		parameters: params,
		onCreate: function() {
			ShowGlobalStatus( 'Saving...' );
		},
		onComplete: function(transport) {
			var response = transport.responseText;
			HideGlobalStatus();
			if( (/^Error/).test( response ) ) {
				MB_ShowCenterAlert( response );
			} else {
				if( response.indexOf("classid=") != (-1) ) {
					window.location = cfg.urlRoot + '/signupwizard_postclass.php?' + response;
				} else
					window.location = cfg.urlRoot + '/signupwizard_postclass.php';
			}
		}
	});

	return false;
}

signupDelClass = function(classid, profid, callback) {

	MB_ShowCenterConfirm( 'Are you sure you want to remove this Class?', {
		onCancel: function() {
			MB_Close();
			return false;
		},
		onConfirm: function() {
			var url = cfg.urlSrc + "/classes_respond.php";
			new Ajax.Request ( url, {
				method: "post",
				parameters: {act: "delclass", classid: classid, profid: profid},
				onCreate: function() {
					ShowUserStatus( 'Deleting class...' );
				},
				onComplete: function(transport) {
					var response = transport.responseText;
					ShowUserStatus('');
					MB_Close();
					if( (/^Error/).test( response ) ) {
						MB_ShowCenterAlert( response );
					} else {
						if( callback != null )
							eval( callback );
						else
							window.location = 'signupwizard_postclass.php';
					}
				}
			});
			return false;
		}
	});

	return false
}
signupPostClassCancel = function() {
	window.location = cfg.urlRoot + '/signupwizard_postclass.php';
}
