/*
	var1, var2 - pass these to run functions within .aspx
	Everything else should be named within the scope of the xslt, javascript, xml
	
	**vars below are configurable per site - better would be to pull these from userAccess.xml or restrictedPages.xml
*/
var testing = true;
var logOutRedirect = "/LogIn_2198.aspx";
var logInSuccessRedirect = "/test1_6840.aspx";

function loadRestrictedAccessApp(appFile,passString){
	loadingMessage('/images/loading_3.gif',10);
	xmlhttpPost('/O2NetDev/Applications/RestrictedAccess/' + appFile + '.aspx' + passString,'httpReqResults');
	reDrawSifr();
}
// ~~~~~~~~~~~~~~~~~~ [ nav ] ~~~~~~~~~~~~~~~~~~~~~~~ 
function restrictedAccessNav(version){
	var HTMLDisp = '';
	if(version == 'loggedIn'){
		HTMLDisp = HTMLDisp + '<a href=\"' + logOutRedirect + '?logOut=true\">';
		HTMLDisp = HTMLDisp + 'Log Out';
		HTMLDisp = HTMLDisp + '</a>';
		HTMLDisp = HTMLDisp + ' | ';
		HTMLDisp = HTMLDisp + '<a href=\"' + logOutRedirect + '?accountInfo=true\">';
		HTMLDisp = HTMLDisp + 'Account Information';
		HTMLDisp = HTMLDisp + '</a>';
	}else if(version == 'loggedOut'){
		HTMLDisp = HTMLDisp + '<a href=\"#\" onClick=\"loadRestrictedAccessApp(\'forgotPassword\',\'\');\">';
		HTMLDisp = HTMLDisp + 'Re-Set Password';
		HTMLDisp = HTMLDisp + '</a>';
		HTMLDisp = HTMLDisp + ' | ';
		HTMLDisp = HTMLDisp + '<a href=\"#\" onClick=\"loadRestrictedAccessApp(\'createAccount\',\'\');\">';
		HTMLDisp = HTMLDisp + 'Create Account';
		HTMLDisp = HTMLDisp + '</a>';
		HTMLDisp = HTMLDisp + ' | ';
		HTMLDisp = HTMLDisp + '<a href=\"#\" onClick=\"loadRestrictedAccessApp(\'login\',\'\');\">';
		HTMLDisp = HTMLDisp + 'Log In';
		HTMLDisp = HTMLDisp + '</a>';		
	}	
	if(document.getElementById('restrictedAccessNav')){
		document.getElementById('restrictedAccessNav').innerHTML = HTMLDisp;
	}

	if(document.getElementById('subnav') && version == 'loggedIn'){
		subNavDisplay('visible');
	}else{
		subNavDisplay('hidden');
	}
}
function restrictedAccessNavAdmin(){
	var HTMLDisp = '';

	HTMLDisp = HTMLDisp + '<a href=\"#\" onClick=\"loadRestrictedAccessApp(\'approveUser\',\'\');\">';
	HTMLDisp = HTMLDisp + 'Approve Users';
	HTMLDisp = HTMLDisp + '</a>';
	HTMLDisp = HTMLDisp + ' | ';
	HTMLDisp = HTMLDisp + '<a href=\"#\" onClick=\"loadRestrictedAccessApp(\'searchUser\',\'\');\">';
	HTMLDisp = HTMLDisp + 'Search Users';
	HTMLDisp = HTMLDisp + '</a>';
	HTMLDisp = HTMLDisp + ' | ';
	HTMLDisp = HTMLDisp + '<a href=\"#\" onClick=\"loadRestrictedAccessApp(\'editCreateUser\',\'\');\">';
	HTMLDisp = HTMLDisp + 'Edit/Create User';
	HTMLDisp = HTMLDisp + '</a>';
	HTMLDisp = HTMLDisp + ' | ';
	HTMLDisp = HTMLDisp + '<a href=\"#\" onClick=\"loadRestrictedAccessApp(\'editCreateUser\',\'\');\">';
	HTMLDisp = HTMLDisp + 'Browse All';
	HTMLDisp = HTMLDisp + '</a>';

	if(document.getElementById('restrictedAccessNavAdmin')){
		document.getElementById('restrictedAccessNavAdmin').innerHTML = HTMLDisp;
	}
}
function subNavDisplay(which){
	document.getElementById('subnav').style.visibility = which;
}
// ~~~~~~~~~~~~~~~~~~ [ create account ] ~~~~~~~~~~~~~~~~~~~~~~~ 
function createAccInitial(){
	if(testing){
		document.createEdit.email.value = 'garyTest.ricke@orbisdesign.com';
		document.createEdit.phone.value = '111.222.3333';
		document.createEdit.userName.value = 'garyTest.ricke@orbisdesign.com';
		document.createEdit.password.value = 'asdf';
		document.createEdit.firstName.value = 'Gary test';
		document.createEdit.lastName.value = 'Ricke test';
		document.createEdit.organization.value = 'Orbis Web Design';
		document.createEdit.sq.value = 'two plus two';
		document.createEdit.sa.value = 'four';
	}
}
function submitCreateAccount(){
	var createEmail = document.createEdit.email.value;
	var createPhone = document.createEdit.phone.value;
	var createUserName = document.createEdit.userName.value;
	var createPassword = document.createEdit.password.value;
	var createFirstName = document.createEdit.firstName.value;
	var createLastName = document.createEdit.lastName.value;
	var createOrganization = document.createEdit.organization.value;
	var createSq = document.createEdit.sq.value;
	var createSa = document.createEdit.sa.value;
	var sendData = 
		'email=' + createEmail + '|' + 
		'phone=' + createPhone + '|' + 
		'userName=' + createUserName + '|' + 
		'password=' + createPassword + '|' + 
		'firstName=' + createFirstName + '|' + 
		'lastName=' + createLastName + '|' + 
		'organization=' + createOrganization + '|' + 
		'sq=' + createSq + '|' + 
		'sa=' + createSa; 
	
	var queryString = '?createAccountData=' + sendData + '&runFunction=createUser';
	loadRestrictedAccessApp('createAccount',queryString);	
	
}
// ~~~~~~~~~~~~~~~~~~ [ login ] ~~~~~~~~~~~~~~~~~~~~~~~ 
function runLogIn(){
	var userName = document.loginForm.userName.value;
	var password = document.loginForm.password.value;
	var queryString = '?userName=' + userName + '&password=' + password;
	loadRestrictedAccessApp('login',queryString);
	document.getElementById('subnav').style.visibility = 'hidden';
}
function runRedirect(){
	  window.location.href = logInSuccessRedirect;
}
function resubmitForm(formName){
	var runFunction = document.loginForm.runFunction.value;
	var var1 = document.loginForm.var1.value;
	var var2 = document.loginForm.var2.value;
	var queryString = '?runFunction=' + runFunction + '&var1=' + var1 + '&var2=' + var2;
	loadRestrictedAccessApp('login',queryString);	
}
function logOut(formName){
	var runFunction = document.loginForm.runFunction.value;
	var var1 = logOutRedirect;
	var queryString = '?runFunction=' + runFunction + '&var1=' + var1;
	subNavDisplay('hidden');
	loadRestrictedAccessApp('login',queryString);	
}
function checkQueryFlag(){
	var queryFlag = getQueryVariable('FailedAccess');
	
	if(getQueryVariable('FailedAccess') == 'true'){
		document.getElementById('failedAccess').innerHTML = 'You\'ve tried to access a page which is restricted';
		document.getElementById('failedAccess').style.display = 'block';
	}
	if(getQueryVariable('logOut') == 'true'){
		logOut('loginForm');
	}
	if(getQueryVariable('accountInfo') == 'true'){
		loadingMessage('/images/loading_3.gif',10);
		xmlhttpPost('/O2NetDev/Applications/RestrictedAccess/userEditAccount.aspx','httpReqResults');
	}
}
// ~~~~~~~~~~~~~~~~~~ [ search ] ~~~~~~~~~~~~~~~~~~~~~~~ 
function runSearch(){
	var fieldEmail = document.searchUsers.searchEmail.value;
	var passString = '?searchEmail=' + fieldEmail;
	loadRestrictedAccessApp('searchUser',passString);
}
// ~~~~~~~~~~~~ [ common functions ] ~~~~~~~~~~~~
function getQueryVariable(variable) {
	var query = window.location.search.substring(1);
	var vars = query.split("&");
	for (var i=0;i<vars.length;i++) {
		var pair = vars[i].split("=");
		if (pair[0] == variable) {
			return pair[1];
		}
  	}
	return "999";
}


