/* JScript library. */

// Declare global variable for email updates form.
var strEmail = ""

// Determine browser.
var clientbrowser = "ie";
if(navigator.appName.indexOf("Netscape") >= 0) {
	clientbrowser = "ns";
}

// When document has completed loading.
function document_loaded() {
	optimise();
	preloadImages();
}


// Optimise browser-sensitive page elements.
function optimise() {
	// optimise quicksearch
	if (clientbrowser == "ie") {
		document.forms.quicksearch.searchstring.size = "14";
	}
}


// GENERIC IMAGE MANAGEMENT FOR HOME IMAGES.
// Preload image
function newImage(arg) {
	if (document.images) {
		objImg = new Image();
		objImg.src = arg;
		return objImg;
	}
}
// Preload images.
var preloadFlag = false;
function preloadImages() {
	if (document.images) {
		// 1. home_left_metaregister_over = new Image(0, 0);
		// 2. home_left_metaregister_over.src = "/images/home_left_metaregister_over.gif";
		home_left_metaregister_over = newImage("/images/home_left_metaregister_over.gif");
		home_left_submit_to_mrct_over = newImage("/images/home_left_submit_to_mrct_over.gif");
		home_left_isrctn_over = newImage("/images/home_left_isrctn_over.gif");
		home_left_links_over = newImage("/images/home_left_links_over.gif");
		home_left_faqs_over = newImage("/images/home_left_faqs_over.gif");
		home_left_languages_over = newImage("/images/home_left_languages_over.gif");
		home_left_advisory_group_over = newImage("/images/home_left_advisory_group_over.gif");
		preloadFlag = true;
	}
}
// Declare and define variables.
var strImgPath = "/images/";
var strOver = "_over";
var strSuffix = ".gif";
// Swap image by source.
function image_rollover(objImg) {
// onMouseOver="JavaScript:image_rollover(this);
	if (document.images && (preloadFlag == true)) {
      		objImg.src = strImgPath + objImg.name + strOver + strSuffix;
	}
}
function image_rollout(objImg) {
// onMouseOut="JavaScript:image_rollout(this);
	if (document.images && (preloadFlag == true)) {
	      	objImg.src = strImgPath + objImg.name + strSuffix;
	}
}
// Swap image by image name.
function changeImages(objImg, strAction) {
// onMouseOver="JavaScript:image_rollover(this.name, '_over');
	if ((document.images) && (preloadFlag == true)) {
		document[objImg].src = strImgPath + objImg + strAction + strSuffix;
	}
}


// Pop-up window.
function PopUpWin(strURL) {
	/* Open incoming URL in popup win. */
	var PopUpWin = window.open("http://" + document.domain + "/" + strURL,"all","width=550,height=480,top=0,left=0,fullscreen=0,menubar=0,toolbar=0,location=0,directories=0,status=0,resizable=0,scrollbars=yes,name=PopUpWin",false);
}



// Pop-up window.
function PopUpWinGloss(strURL) {
	/* Open incoming URL in popup win. */
	var PopUpWinGloss = window.open("http://" + document.domain + "/" + strURL,"all","width=557,height=280,top=0,left=0,fullscreen=0,menubar=0,toolbar=0,location=0,directories=0,status=0,resizable=0,scrollbars=yes,name=PopUpWin",false);
}

// Quicksearch form submission routine
function DoQuickSearch()
{		
	return true;
}


function EnterSubmit(event) 
{
   var code = 0;

   if (clientbrowser == "hjk")
   {
      code = event.which;
   }
   else
   {
      code = event.keyCode;
   }
   
  if (code == 13)
  {
      DoQuickSearch();
  }
  else
  {
    return true;
  }
}


// ISRCTN quicksearch form submission procedures.

function ValidateIsrctnSearch() {

	DoIsrctnQuickSearch();

	var fldIsrctn = document.forms.quicksearch.isrctn
	var strIsrctn = "" + fldIsrctn.value;

	if (strIsrctn == "") {
		alert("Please enter an ISRCTN number first.");
		fldIsrctn.focus();
		return false;
	}
	else if (isNaN(strIsrctn)) {

		alert("Sorry but '" + strIsrctn + "' is not numeric.");
		fldIsrctn.focus();
		return false;

	}
	else if ((strIsrctn.length < 8) + (strIsrctn.length > 8)) {
		alert("Sorry, all ISRCTNs must be 8 digits long.");
		fldIsrctn.focus();
		return false;
	}
	else {

		return true;

	}
}

function IsrctnSearch(event) 
{

	var code = 0;

	if (clientbrowser == "hjk")
	{
		code = event.which;
	}
	else
	{
		code = event.keyCode;
	}

	if (code == 13)
	{

		if (ValidateIsrctnSearch()) {
			DoIsrctnQuickSearch();
		}
		else {
			return false;
		}

	}
	else
	{
		return true;
	}
}

function DoIsrctnQuickSearch() {
	/* Set the form action attribute, then submit. */
	return true;
}


var windowHandle = null;

function OpenPopUpWin(vURL) 
{
	/* Open incoming URL in popup win. */
	
	if (windowHandle != null)
	{
		if(!windowHandle.closed)
		{
			windowHandle.focus();
		}
		else
		{
			windowHandle = null;
			windowHandle = window.open(vURL,"all","width=370,height=220,top=0,left=0,fullscreen=0,menubar=0,toolbar=0,location=0,directories=0,status=0,resizable=0,scrollbars=yes,name=windowHandle",false);
		}
	}
	else
	{
		windowHandle = window.open(vURL,"all","width=370,height=220,top=0,left=0,fullscreen=0,menubar=0,toolbar=0,location=0,directories=0,status=0,resizable=0,scrollbars=yes,name=windowHandle",false);
	}

	return true;

}

function OpenPopUpHelpWin(vURL, vAnchor) 
{
	/* Open incoming URL in popup win. */
	
	var openWindow = true;
	
	if (windowHandle != null)
	{
		if(!windowHandle.closed)
		{
			openWindow = false;
			windowHandle.focus();
		}
		else
		{			
			windowHandle = null;
		}
	}
	
	if (openWindow)
	{
		windowHandle = window.open(vURL,"all","width=600,height=240,top=120,left=40,fullscreen=0,menubar=0,toolbar=0,location=0,directories=0,status=0,resizable=0,scrollbars=yes,name=windowHandle",false);
	}

	return true;
}

// Window status.
window.status="Current Controlled Trials";

// Removes leading whitespaces
function LTrim( value ) 
{
	var re = /\s*((\S+\s*)*)/;
	return value.replace(re, "$1");	
}

// Removes ending whitespaces
function RTrim( value ) 
{	
	var re = /((\s*\S+)*)\s*/;
	return value.replace(re, "$1");	
}

// Removes leading and ending whitespaces
function trim( value ) 
{	
	return LTrim(RTrim(value));	
}

/* mRCT Register Functionality */

function changeall(oForm)
{
  if(oForm.registerlistall.checked == true)
  {
    loopchange(oForm, true);    
  }
  else
  {
    loopchange(oForm, false);
  }
}

function loopchange(oForm,bVal)
{
  //i=0;
  for(var i = 0; i < oForm.rs.length; i++)
  {
    oForm.rs[i].checked = bVal;
    //i++;
  }
}

function deselectAll(oForm)
{
	oForm.registerlistall.checked = false;
}

function setReferrer(oAnchor, strRef)
{
	var path = location.pathname;
	if(path == "/")
	{
		path += "index.html";
	}
	oAnchor.href = strRef + path;
}

function setProfileReferrer()
{
	setReferrer(pfl, '/your_profile/r');
}
