var resourceImageDirectory = "/system/modules/au.org.streamwatch/resources/images/";
var baseContext = "/streamwatch";

function addMenuLink(ul, id, href, text) {
	var li = new Element("li", {});
  	li.injectInside(ul);
  	var a = new Element('a', {
  	 	'id': id,
  	 	'href': baseContext + href
  	});
  	a.setText(text);
  	a.injectInside(li);
}

function toggleLogin() {
  var userrole = Cookie.get("USERROLE");
  var div = document.getElementById('divLogin');
  div = $(div); 
  var navDiv = document.getElementById('mainNav');
  $navDiv = $(navDiv);
  if (userrole == false || userrole == "ROLE_ANONYMOUS") { 
     var newDiv = new Element('div', {
     	'class': 'loginFields'
     });    
  	 var h2 = new Element('h2',{});
  	 h2.injectInside(newDiv);
  	 var span = new Element('span',{});
  	 span.setText("User Login:");
  	 span.injectInside(h2);
  	 var form = new Element('form', {
  	 	'action': baseContext + '/j_acegi_security_check',
  	 	'method': 'Post'
  	 });
  	 form.injectAfter(h2);
  	 var usernameLabel = new Element('p', {});
  	 usernameLabel.setText("Username:");
  	 usernameLabel.injectInside(form);
  	 var usernameInput = new Element('input', {
  	 	'type': 'text',
  	 	'name': 'j_username'
  	 });
  	 usernameInput.injectAfter(usernameLabel);
  	 var passwordLabel = new Element('p', { 
  	 	'class': 'pwd'
  	 });
  	 passwordLabel.setText('Password:');
  	 passwordLabel.injectAfter(usernameInput);
  	 var passwordInput = new Element('input', {
  	 	'type': 'password',
  	 	'name': 'j_password'
  	 });
  	 passwordInput.injectAfter(passwordLabel);
  	 var submitInput = new Element('input', {
  	 	'name': 'submit',
  	 	'type': 'image', 
  	 	'src':  resourceImageDirectory + 'userLogin_goBtn.gif',
  	 	'alt': 'Go (Login)',
  	 	'border': '0',
  	 	'class': 'goBtn'
  	 });
  	 submitInput.injectAfter(passwordInput);
  	 var forgotPassword = new Element('a', {
  	 	'class': 'forgotPwd',
  	 	'href': '/streamwatch/flow/anon/forgottenPasswordFlow' 
  	 });
  	 forgotPassword.setText('Forgot your password?');
  	 forgotPassword.injectAfter(form);
  	 var clearDiv = new Element('div', {
  	 	'class': 'clearBoth'
  	 });
  	 clearDiv.injectAfter(forgotPassword);
  	 div.replaceWith(newDiv);
	 navDiv.addClass("condensed");
  } else if (userrole == "ROLE_GROUP") {
  	 var newDiv = new Element('div', {
  	 	'class': "loggedIN"
  	 });
	 var innerDiv = new Element('div', {
	        'class': "userDetails"
         });
         innerDiv.setHTML("You are logged in as a Group user. <strong><a href='" + baseContext  +"/j_acegi_logout'>Logout</a></strong></div>");
         innerDiv.injectInside(newDiv);
  	 var ul = new Element('ul', {
  	 	'class': "loggedIN"
  	 });
	 
  	 ul.injectInside(newDiv);
  	
  	 var innerUL = new Element ('ul', {});
  	 var li = new Element('li',{});
         var span = new Element('span', {});
         span.setText("My Streamwatch");
	 span.injectInside(li);
  	 innerUL.injectInside(li);
         li.injectInside(ul);
   	 addMenuLink(innerUL, '', '/flow/auth/myStreamWatchFlow', 'Enter/Review site data');
  	 addMenuLink(innerUL, '', '/flow/auth/groupProfileFlow', 'Group profile');
     addMenuLink(innerUL, '', '/flow/auth/sendRequestFlow', 'Send request');
  	 div.replaceWith(newDiv);
	 navDiv.addClass("condensed");
  } else if (userrole == "ROLE_REGIONAL_COORDINATOR") {
  	 var newDiv = new Element('div', {
  	 	'class': "loggedIN"
  	 });
         var innerDiv = new Element('div', {
	        'class': "userDetails"
         });
         innerDiv.setHTML("You are logged in as a Regional coordinator. <strong><a href='" + baseContext  +"/j_acegi_logout'>Logout</a></strong></div>");
         innerDiv.injectInside(newDiv);
  	 var ul = new Element('ul', {
  	 	'class': "loggedIN"
  	 });
  	 ul.injectInside(newDiv);
  	 var innerUL = new Element ('ul', {});
  	 var li = new Element('li',{});
         var span = new Element('span', {});
         span.setText("My Streamwatch");
	 span.injectInside(li);
  	 innerUL.injectInside(li);
         li.injectInside(ul);
  	 addMenuLink(innerUL, '', '/flow/auth/rcProfileFlow', 'Edit profile');
  	 addMenuLink(innerUL, '', '/flow/auth/siteManagerFlow', 'Site manager');
  	 addMenuLink(innerUL, '', '/flow/auth/groupManagerFlow', 'Group manager');
  	 addMenuLink(innerUL, '', '/flow/auth/participantManagerFlow', 'Participant manager');
  	 addMenuLink(innerUL, '', '/flow/auth/verifyDataFlow', 'Site visit manager');
  	 addMenuLink(innerUL, '', '/flow/auth/reportsFlow', 'Reports');
  	 
  	 div.replaceWith(newDiv);
	 navDiv.addClass("condensed");
  } else if (userrole == "ROLE_ADMINISTRATOR") {
  	 var newDiv = new Element('div', {
  	 	'class': "loggedIN"
  	 });
         var innerDiv = new Element('div', {
	        'class': "userDetails"
         });
         innerDiv.setHTML("You are logged in as a Administrator. <strong><a href='" + baseContext  +"/j_acegi_logout'>Logout</a></strong></div>");
         innerDiv.injectInside(newDiv);
  	 var ul = new Element('ul', {
  	 	'class': "loggedIN"
  	 });
  	 ul.injectInside(newDiv);
  	 var innerUL = new Element ('ul', {});
         var li = new Element('li',{});
         var span = new Element('span', {});
         span.setText("My Streamwatch");
	 span.injectInside(li);
  	 innerUL.injectInside(li);
         li.injectInside(ul);
  	 addMenuLink(innerUL, '', '/flow/auth/administratorProfileFlow', 'Edit profile');
  	 addMenuLink(innerUL, '', '/flow/auth/regionalCoordinatorManagerFlow', 'RC manager');
  	 addMenuLink(innerUL, '', '/flow/auth/referenceTableManagerFlow', 'Reference table manager');
  	 addMenuLink(innerUL, '', '/flow/auth/siteManagerFlow', 'Site manager');
  	 addMenuLink(innerUL, '', '/flow/auth/groupManagerFlow', 'Group manager');
  	 addMenuLink(innerUL, '', '/flow/auth/participantManagerFlow', 'Participant manager');
  	 addMenuLink(innerUL, '', '/flow/auth/verifyDataFlow', 'Site visit manager');
  	 addMenuLink(innerUL, '', '/flow/auth/reportsFlow', 'Reports');
  	 div.replaceWith(newDiv);
	 navDiv.addClass("condensed");
  }
  
}