// JavaScript Document
function RandomiseMontage(nDefaultImage)
{
	// Edit this variable to enable / disable randomised montages
	var bUseRandomImages = true; 
	
	var nImageNumber = nDefaultImage;
	if(bUseRandomImages)
	{
		// Currently, we have 6 images called montage_xx.gif
		nImageNumber = RandomInt(1, 6);
	}
	var strImageHTML = '<img src="../images/montage_' + ZeroPad2(nImageNumber)
					 + '.gif" height="120">';
	Doc("tdMontage").innerHTML = strImageHTML;
}

function NavTo(strPath)
{
	document.forms[0].action = strPath;
	document.forms[0].submit();
}

function CheckForEnterKey(strPathAdj)
{
	if(window.event) {
	//window.event is IE only
		if(window.event.keyCode == keyENTER)
		{
			if(Doc("fUserName") != null && Trim(Doc("fUserName").value).length > 0 &&  Trim(Doc("fPassword").value).length > 0 )
			{
				DoLogin(strPathAdj);
			}
			else if(Doc("fSearchString") != null && Trim(Doc("fSearchString").value).length > 0)
			{
				FindFAQ(strPathAdj);
			}
			else if(Doc("btnConfidential_Back") != null && Doc("btnConfidential_Continue") != null)
			{
				if(document.activeElement.id == "btnConfidential_Continue")
				{
					ClickedContinue();
				}
				else if(document.activeElement.id == "btnConfidential_Back")
				{
					ClickedBack();
				}
			}
			else if(Doc("btnFindHistory") != null)
			{
				if(	document.activeElement.id == "btnFindHistory"	|| 
					document.activeElement.id == "fFrom"			||
					document.activeElement.id == "fTo"				||
					document.activeElement.id == "selFind"			||
					document.activeElement.id == "selSkill"			||
					document.activeElement.id == "fFindName"		||
					document.activeElement.id == "selLoc")
				{
					DoFind();
				}
			}
		}
	}
}

function DoLogin(strPathAdj)
{
//    if(Doc("fUserName") != null && Trim(Doc("fUserName").value).length > 0 &&  Trim(Doc("fPassword").value).length > 0 )
    if(Doc("fUserName") != null && Trim(Doc("fUserName").value).length > 0)
    {
		Doc("hUserName").value = Trim(Doc("fUserName").value);
		Doc("hPassword").value = Trim(Doc("fPassword").value);
		Doc("hLocation").value = document.URL;
		NavTo(strPathAdj+"public/login.asp");
	}
}

function FindFAQ(strPathAdj)
{
	Doc("hSearchString").value  = Trim(Doc("fSearchString").value);
	NavTo(strPathAdj+"public/faq.asp")
}


function DownloadFile(strPathAdj, strFile )
{
	var strURL = strPathAdj + "public/download.asp?File=" + strFile;
	var nTop  = (screen.availHeight / 2) - 50;
	var nLeft = (screen.availWidth / 2) - 50;
	
	// Opens a small blank window in the center of the screen but this is quickly covered
	// with the system's "open/save file" dialog
	var oWind = window.open(strURL, "_self", 
				"left=" + nLeft + ",top=" + nTop + "," +
				"height=10,width=10,location=no,resizable=no," +
				"titlebar=no,status=no,toolbar=no,menubar=no");
}


function Not_DownloadFile(strPathAdj, strFile )
{
	var str = "Unable to download the requested file."
			+ "\n\nA fix for this known Microsoft bug is currently being developed"
			+ "\nand will be available very shortly"
	alert(str);
}

function DownloadContractorFile( strFile )
{
	var strPartFile = "contractors/" + strFile; 
	DownloadFile("../", strPartFile);
}

function DownloadContractorFileFromWB( strFile )
{
	var strPartFile = "contractors/" + strFile; 
	DownloadFile("", strPartFile);
}

function DisableMenuOption(strMenuID)
{
	var oTD = Doc(strMenuID);
	if(null == oTD.tagName)
	{	// Must be an array
		for(var x = 0; x < oTD.length; x++){ DisableMenuOptionTD( oTD[x] ); }
	}
	else
	{
		DisableMenuOptionTD( oTD );// Just a single TD
	}
}

function DisableMenuOptionTD( oTD )
{
	//innerText is IE only
	//var strTxt = oTD.firstChild.innerText;
	var strTxt = oTD.firstChild.innerHTML;
	oTD.innerHTML = strTxt;
	if(oTD.parentNode.id == "header_row")
	{
		oTD.className = "header_navbar_off";
	}
	else
	{
		oTD.className = "navbar_off";
	}
}

function DoCalendar(pathAdj, fld, strStartDate)
{
	var dlg = "dialogHeight:" + 210 + "px;";
	dlg += "dialogWidth:" + 250 + "px;";
	dlg += "toolbar=no;location=no;scrollbars=no;menubar=no;scroll=no;";
	dlg += "resizable=no;center=yes;status=no;";
	if (window.opera == null)
	{
		var newDate = "";
		newDate = this.showModalDialog(pathAdj + "utils/calendar.asp", strStartDate, dlg);
		if(null != newDate)
		{
			if (document.all)					  
				fld.innerText = newDate;
			else 
				fld.value = newDate;
		}
	}
	else
	{
		dlg = dlg.replace(/dialog/gi, " ");
		dlg = dlg.replace(/:/g, "=");
		dlg = dlg.replace(/;/g, ",");
		
		window.open(pathAdj + "utils/calendar.asp?startDate="+strStartDate+"&fieldName="+fld.name,"calendar",dlg);
	}
}

function DBDateToPageDate(dbstr)
{
   var arrMonth = new Array('null', 'Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');   
   var strReturn = "";
   if(dbstr.length > 0)
   {
      //format = 2003-05-22T17:45:00
      var date_part = dbstr.split("T")[0];
      var fields = date_part.split("-");
      strReturn = fields[2] + "-" + arrMonth[parseInt(fields[1], 10)] + "-" + fields[0];
   }
   return strReturn;
}

function PageDateToDBDate(val)
{
	var val = Trim(val);
	if(val.length > 0)
	{
		var dt = isDateAnyFormat(val);
		if(dt != 0)	{ val = formatDate(new Date(dt), 'yyyy-MM-dd');		}
	}
	return val;
}

function PopupCalendar(nIdx)
{
	var oThis  = arrFindFld[nIdx];
	var oOther = arrFindFld[(nIdx == 0 ? 1 : 0)];
	var strDate = "";
	if(PageDateToDBDate(oThis.value).length > 0)
	{
		strDate = PageDateToDBDate(oThis.value);
	}
	else if(PageDateToDBDate(oOther.value).length > 0)
	{
		strDate = PageDateToDBDate(oOther.value);
	}
	DoCalendar("../", oThis, strDate);
}

function RandomInt(nLowerBound, nUpperBound)
{
	var nRange = (nUpperBound + 1) - (nLowerBound - 1);
	var nVal = nLowerBound - 1;
	do
	{
		nVal = Math.round((Math.random() * nRange) + nLowerBound - 1);
	}
	while(nVal < nLowerBound || nVal > nUpperBound);
	return nVal;
}


function ShowPIR(contactID, showcontactdetails)
{
	var strURL = "../public/pir_printer_friendly.asp?id=" + showcontactdetails;
	var nTop  = (screen.availHeight / 2) - 300;
	var nLeft = (screen.availWidth / 2) - 400;

	// Opens a small blank window in the center of the screen
	var oWind = window.open(strURL, "sub", 
				"left=" + nLeft + ",top=" + nTop + "," +
				"height=600,width=800,location=no,resizable=yes,scrollbars=1" +
				"titlebar=no,status=no,toolbar=yes,menubar=no");
}

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 "notpresent";
  //alert('Query Variable ' + variable + ' not found');
}

function popUp(URL) {
		
	var nTop  = (screen.availHeight / 2) - 125;
	var nLeft = (screen.availWidth / 2) - 150;
	var oWind = null;
	var oWind = window.open(URL, "LoginFailed", 
				"left=" + nLeft + ",top=" + nTop + "," +
				"height=250,width=300,location=no,resizable=no,scrollbars=0" +
				"titlebar=no,status=no,toolbar=no,menubar=no");
	//check exists - may be blocked by a popup blocker
	if (oWind) {oWind.focus()};
}

