function fetchPage(pageLocation, theAction) {
	var theObject = document.forms['siteActionForm'];
	if (pageLocation) {
		alert("setting action");
		theObject.action = pageLocation;
	}

 	theObject.elements['theAction'].value = theAction;
	theObject.submit();
}

function JJ_validateForm (f) {
  if (!f.C_user.value) {
     alert('You must enter your email address.');
     document.formname.C_user.focus();
     return false;
  }
  if (! f.C_pass.value) {
     alert('You must enter your password.');
     document.formname.C_pass.focus();
     return false;
  }
  //
  // commented this out for now. Unknown, but
  // passwords were originally stored as plain
  // text which naturally is a no no, however,
  // will implement the below functions at a
  // later date.
  //
  //f.encryptedpwd.value = MD5(f.C_pass.value); 
  //f.C_pass.value = ""; 
  return true;
}

function checkVerification(g){
  if(!document.forms[g].elements['verification'].value){
    alert('You need to enter the verification code emailed to the address you registered with.');
    document.forms[g].elements['verification'].focus();
    return false;
  }

  var str = document.forms[g].elements['verification'].value;        
  var re = /^LCF-[A-Za-z0-9]{10}$/;
	
  if (!re.test(str)) {
    alert('This doesn\'t look to be in the format I\'m expecting');
    document.forms[g].elements['verification'].focus();
    return false;
  }
  
  document.forms[g].elements['theAction'].value = "do_verification";
  document.forms[g].submit();
}

function checkForm(f) {
  document.forms[f].elements['subscriptionbtn'].disabled = true;
  if (!document.forms[f].elements['C_user'].value) {
    alert('Please enter your email address.');
    document.forms[f].elements['C_user'].focus();
    document.forms[f].elements['subscriptionbtn'].disabled = false;
    return false;
  }

  error=IsEmailValid(f,"C_user");
  if (error == 1) {
    document.forms[f].elements['subscriptionbtn'].disabled = false;
    return false;
  }

  if (!document.forms[f].elements['C_pass'].value) {
    alert('Please enter your password.');
    document.forms[f].elements['C_pass'].focus();
    document.forms[f].elements['subscriptionbtn'].disabled = false;
    return false;
  }
  document.forms[f].elements['subscriptionbtn'].disabled = true;
  document.forms[f].elements['theAction'].value = "do_subscriptionvalidate";
  document.forms[f].submit();
}

function checkFormH(h,action) {
  if (!document.forms[h].elements['contributorFrontUsername'].value) {
    alert('You need to enter your Username.');
    document.forms[h].elements['contributorFrontUsername'].focus();
    return false;
  }

  error=IsEmailValid(h,"contributorFrontUsername");
  if (error == 1) return false;

  if (!document.forms[h].elements['contributorFrontPassword'].value) {
    alert('You need to enter a password.');
    document.forms[h].elements['contributorFrontPassword'].focus();
    return false;
  }

  if (document.forms[h].elements['contributorFrontPassword'].value.length < 3) {
    alert('Passwords need to contain a minimum of 3 characters.');
    document.forms[h].elements['contributorFrontPassword'].focus();
    return false;
  }

  document.forms[h].elements['encryptedFrontContributorPass'].value = MD5(document.forms[h].elements['contributorFrontPassword'].value);
  document.forms[h].elements['contributorFrontPassword'].value = "";
  document.forms[h].elements['theAction'].value = "do_" + action;
  document.forms[h].submit();
}

function IsEmailValid(FormName,ElemName) {
  var EmailOk  = 0
  var Temp     = document.forms[FormName].elements[ElemName]
  var AtSym    = Temp.value.indexOf('@')
  var Period   = Temp.value.lastIndexOf('.')
  var Space    = Temp.value.indexOf(' ')
  var Length   = Temp.value.length - 1   // Array is from 0 to length-1

  if ((AtSym < 1) ||                     // '@' cannot be in first position
    (Period <= AtSym+1) ||             // Must be atleast one valid char btwn '@' and '.'
    (Period == Length ) ||             // Must be atleast one valid char after '.'
    (Space  != -1))                    // No empty spaces permitted
      {  
        EmailOk = 1
        alert('Please enter a valid e-mail address!')
	document.forms[FormName].elements[ElemName].select();
	document.forms[FormName].elements[ElemName].focus();
  }
  if (EmailOk == 1) {
    return EmailOk
  }
}

function compDetails(action, compid, cotw, niotw, market) {
  document.forms['siteActionForm'].elements['compid'].value = compid;
  document.forms['siteActionForm'].elements['cotw'].value = cotw;
  document.forms['siteActionForm'].elements['niotw'].value = niotw;
  document.forms['siteActionForm'].elements['market'].value = market;
  fetchPage("",action);
}

function rssfeedDetails(action, compid, rssfeed_url) {
  document.forms['siteActionForm'].elements['compid'].value = compid;
  document.forms['siteActionForm'].elements['rssfeed_url'].value = rssfeed_url;
  fetchPage("",action);
}

function doLogin(){
	if(document.getElementById("username").value == "") {
		alert("Please enter your username!");
		document.getElementById("username").focus();
		return false;
	}
	if(document.getElementById("password").value == "") {
		alert("Please enter your password");
		document.getElementById("password").focus();
		return false;
	}
	document.forms['siteActionForm'].elements['theAction'].value = "do_login";
	document.forms['siteActionForm'].submit();
}

function userDetails(action, userid) {
  document.forms['siteActionForm'].elements['userid'].value = userid;
  fetchPage("",action);
}

function registerUser(action, subscrptionid, username, usertype) {
	  document.forms['siteActionForm'].elements['subscrptionid'].value = subscrptionid;
	  document.forms['siteActionForm'].elements['username'].value = username;
	  document.forms['siteActionForm'].elements['usertype'].value = usertype;
	  fetchPage("",action);
	}

function compGrade(action, grade) {
  document.forms['siteActionForm'].elements['grade'].value = grade;
  fetchPage("",action);
}

function compCommentary(action, commentator) {
  document.forms['siteActionForm'].elements['commentator'].value = commentator;
  fetchPage("",action);
}

function commentaryRegistration(commentator) {
  document.forms['siteActionForm'].elements['commentator'].value = commentator;
  fetchPage("","get_commentaryregistration");
}

function resultPage(action, company_name, market_sector) {
  document.forms['siteActionForm'].elements['company_name'].value = company_name;
  document.forms['siteActionForm'].elements['market_sector'].value = market_sector;
  fetchPage("",action);
}

function resourceFinder(whichHost,theResources){
  newWindow=window.open(whichHost + "index.php?theAction=do_clickthru&theTarget=" + escape(theResources), "pop_win", "toolbar=yes,location=yes,status=yes,directories=yes,menubar=yes,scrollbars=yes,resizable=yes,width=750,height=450");	
}

function resourceFinder2(whichHost, theResources, compid, cotw, niotw){
  newWindow=window.open(whichHost + "index.php?theAction=do_clickthru&theTarget=" + escape(theResources), "pop_win", "toolbar=yes,location=yes,status=yes,directories=yes,menubar=yes,scrollbars=yes,resizable=yes,width=750,height=450");
  document.forms['siteActionForm'].elements['compid'].value = compid;
  document.forms['siteActionForm'].elements['cotw'].value = cotw;
  document.forms['siteActionForm'].elements['niotw'].value = niotw;
  document.forms['siteActionForm'].elements['market'].value = 1;
  document.forms['siteActionForm'].elements['theAction'].value = "show_compfinance";
  document.forms['siteActionForm'].submit();
}

function openNewWindow(theURL, theWidth,theHeight) {
  windowTwo = window.open(theURL, "popframe", "toolbar=no,location=no,status=no,directories=no,menubar=no,scrollbars=yes,resizable=yes,width=" + theWidth +",height=" + theHeight);
  windowTwo.focus();
}

function checkAlert(){
  if(document.forms['siteActionForm'].elements['wantsEmailAlert'].checked == false){
    alert("Make sure the checkbox is ticked to subscribe to this service");
  }
  else{
    fetchPage('','get_upgrade');
  }
}

function registerRequest(action, compid, uid, pagetype) {
  document.forms['siteActionForm'].elements['compid'].value = compid;
  document.forms['siteActionForm'].elements['uid'].value = uid;
  document.forms['siteActionForm'].elements['pagetype'].value = pagetype;
  fetchPage("",action);
}

function reflectionDetails(action, id) {
  document.forms['siteActionForm'].elements['id'].value = id;
  fetchPage("",action);
}

function checkNotes(){
	if(document.forms['notes'].elements['userNotes'].value == ""){
		alert("Please make sure there are some notes to add first.");
	} else {
		document.forms['notes'].submit();
	}
}

function eventRegister(eventId, userId) {
  document.forms['siteActionForm'].elements['eventId'].value = eventId;
  document.forms['siteActionForm'].elements['userid'].value = userId;
  fetchPage("",'get_webconregistration');
}

function clearDiv() {
	document.getElementById("transparency").visibility = "hidden";
}

function redirectUser() {
	var theObject = document.forms['siteActionForm'];
	theObject.action = 'index.php';
	theObject.elements['theAction'].value = 'get_webcons';
	theObject.submit();
}

function companyvideoDetails(action, compid) {
  document.forms['siteActionForm'].elements['compid'].value = compid;
  fetchPage("",action);
}

function checkContributor(contributorForm,action) {
	  if (!document.forms[contributorForm].elements['contributorHeadline'].value) {
	    alert('Please enter a headline for this document.');
	    document.forms[contributorForm].elements['contributorHeadline'].focus();
	    return false;
	  }

	  if (!document.forms[contributorForm].elements['contributorDocType'].value) {
	    alert('Please enter a type for this document.');
	    document.forms[contributorForm].elements['contributorDocType'].focus();
	    return false;
	  }

	  if (!document.forms[contributorForm].elements['contributorAnalysts'].value) {
	    alert('Please enter at least 1 analyst for this document.');
	    document.forms[contributorForm].elements['contributorAnalysts'].focus();
	    return false;
	  }

	  if (!document.forms[contributorForm].elements['contributorCompany'].value) {
	    alert('Please choose which company your document refers to.');
	    document.forms[contributorForm].elements['contributorCompany'].focus();
	    return false;
	  }

	  if (!document.forms[contributorForm].elements['contributorEpic'].value) {
	    alert('Please enter the company\'s epic code.');
	    document.forms[contributorForm].elements['contributorEpic'].focus();
	    return false;
	  }

	  if(document.forms[contributorForm].elements['theAction'].value == "get_contributorupload"){
	    if (!document.forms[contributorForm].elements['contributorFile'].value) {
	      alert('Please choose a document to upload.');
	      document.forms[contributorForm].elements['contributorFile'].focus();
	      return false;
	    }
	    /*
	    else{
	      var str = document.forms[contributorForm].elements['contributorFile'].value; 
	      function checkDocType(userDoc) {
		docType = new array(2);
		docType[0] = ".doc";
		docType[1] = ".pdf";
		docType[2] = ".txt";
		
		for(var z = 0; z < docType.length; z++){
		  if(userDoc.substr(-4,4) == docType[z]){
		    return true;
		    break;
		  }
		}
		return false;
	      }
	      if (checkDocType(str) == false) {
		alert('Document filetypes that are acceptable are .doc, .pdf or .txt. Your filetype appears to be:' + str.substr(-4,4));
		document.forms[contributorForm].elements['contributorFile'].focus();
		return false;
	      }
	    }
	    */
	  }

	  if (!document.forms[contributorForm].elements['contributorSynopsis'].value) {
	    alert('Please include a brief synopsis for this document.');
	    document.forms[contributorForm].elements['contributorSynopsis'].focus();
	    return false;
	  }

	  if (!document.forms[contributorForm].elements['contributorSector'].value) {
	    alert('Please choose which sector this document belongs with.');
	    document.forms[contributorForm].elements['contributorSector'].focus();
	    return false;
	  }

	  if (!document.forms[contributorForm].elements['contributorSubject'].value) {
	    alert('Please choose which subject best describes this document.');
	    document.forms[contributorForm].elements['contributorSubject'].focus();
	    return false;
	  }

	  document.forms[contributorForm].elements['theAction'].value = "do_" + action;
	  document.forms[contributorForm].submit();
}

function contributorAction(theAction, contentId) {
  var theObject = document.forms['siteActionForm'];
  theObject.elements['contentId'].value = contentId;
  theObject.elements['theAction'].value = theAction;
  theObject.submit();
}


function confirmAction(theAction, contentId){
  if(confirm("Are you sure you wish to delete this document?")){
    contributorAction(theAction, contentId);
  }
}