<!--

var CurrentTab ="";
var popupDemo = "";
var popupHelp = "";
var popupVideo = "";
var lastPin;
var strAgent = navigator.userAgent.toLowerCase();
var is_Opera = (strAgent.indexOf('opera')!=-1);
var is_Firefox4 = (strAgent.indexOf('firefox/4')!=-1);
var bAllowEdit = false;
var minWage = new Number(5.93); //not used
var pageData;
var modalPopup;

function FeedbackClick()
{
	document.forms('feedback').submit();
}

function Trim(value)
{ 
	return value.replace(/(^\s+)|\s+$/g,'');
} 

function SearchBoxFocus()
{
	var SearchBox = ( getCookie('SearchBox') );
	if (SearchBox == "On")
		{
		if (document.getElementById('SearchBox') != null) {
			document.getElementById('SearchBox').focus();
		}
	}
}
function CntProfile(field)
{
	if (document.getElementById !=null) 
	{
		varCount = document.getElementById('SkillCount');
		varTxt = document.getElementById('SkillTxt');

		if (varCount!=null && varTxt!=null) {
			iNew = varCount.innerHTML;
			if (field.checked!=null && iNew!=null) {
				if (Number(iNew)==1) {
					varTxt.innerHTML= _p4bPrompt(p4bLang.profileCount);
				}
				if (field.checked==true) {
					iNew = Number(iNew) + 1;
				}
				else {
					iNew = Number(iNew) - 1;
				}
				varCount.innerHTML = iNew;
				if (iNew==1) {
					varTxt.innerHTML = _p4bPrompt(p4bLang.profileCount1);
				}
			}
		}
	}
}

function Search()
{
	document.forms('fred').JSAction.value="Search";
	document.forms('fred').submit();
}
function Save()
{
	document.fred.JSAction.value = 'Save';
	document.fred.submit();
}
function SaveGo(url)
{
	var argv = SaveGo.arguments;
	var argc = SaveGo.arguments.length;
	/* optional to pass in anchor */
	var sNewAnchor = (argc > 1) ? argv[1] : null;		
	var sExtraInfo = (argc > 2) ?argv[2] : null;

	if (sNewAnchor!=null) {
		var strExisting = document.fred.action;
		var iPos = strExisting.indexOf(strExisting,'\#');

		if (iPos=-1) {
			document.fred.action=strExisting + '#' + sNewAnchor;
		}
		else
		{
			document.fred.action = strExisting.substr(0,iPos) + sNewAnchor;
		}
		
	}
	
	if (document.fred.JSAction!=null) {
		if (sExtraInfo == null) {
			document.fred.JSAction.value = 'SaveAndGo';
		}
		else
		{
			document.fred.JSAction.value = 'SaveAndGo' + '/' + sExtraInfo;
		}
		document.fred.JSActionData.value = url;
	}
	document.fred.submit();
}

function AskOkCancel(vField)
{
		/* checkbox only */
		var argv = AskOkCancel.arguments;
		var argc = AskOkCancel.arguments.length;

		var varPrompt = (argc> 1) ? argv[1] : _p4bPrompt(p4bLang.confirm);
		var status = vField.checked;
		if (status==true) {
			return ( confirm(varPrompt) );
		}
		else {
			return true;	
		}
}

function UpdateJump(anchorName)
{
	alert (document.fred.action)
}

function PostCode()
{
	
	var argv = PostCode.arguments;
	var argc = PostCode.arguments.length;

	var whichField = (argc > 0) ? argv[0] : 'InputPostCode';
	var bAsked = false;
	
	var varZip = document.getElementById(whichField);

	if (varZip!=null) {
		
		if (varZip.value !=null) {
	
			if (varZip.value=='') {
				bAsked=true;
				var newCode= prompt('Please enter a valid post code','');
				if (newCode!=null) {
					if (newCode!='') {
						varZip.value = newCode;
					}
				}
			}
			if (varZip.value!='') { 
				//disable validation
				document.fred.onsubmit = null;
				document.fred.JSAction.value = 'GetAddress';
				document.fred.JSActionData.value = varZip.value;
				document.fred.submit();
			}
			else if (bAsked==false) {
				alert ('Please enter a valid post code');	
			}
		}
	}
}

function JumpTo(type,point)
{
	document.forms("fred").action = '/update.asp#' + type;
	document.forms("fred").JSAction.value='Jump/' + type + '/' + point;
	document.forms("fred").submit();
}
	
function Add_Element(type,jump,iseq)
{
	
	document.fred.action = '/update.asp#' + type;
	if (jump == 'Off' )
		{
			//document.forms("fred").action = '/EditUpdate.asp'
			document.fred.action = '/EditUpdate.asp'
		}
	if (jump != 'Off' )
		{
			document.fred.action = "/EditUpdate.asp#" + jump
		}
	if (CurrentTab !='' && jump == 'TabOn')
		{
			var strActivity = document.forms("fred").item("SIMPLE/" + CurrentTab + "/Code").value;
			document.fred.action = "/EditUpdate.asp#" + strActivity
		}
	document.fred.JSAction.value="Add/" + type + "/" + iseq;
	document.fred.submit();
}

function Warn(prompt,field)
{
	// only used on checkboxes
	if (document.forms("fred").item(field) == "1") {
	
	var Contiunue = confirm(prompt);
	return Continue;
	}
}
function WarnDel_Element(type,iseq,prompt)
{
	var Continue = confirm(prompt);
	if (Continue == true)
		{
			document.forms("fred").action = "/update.asp#" + type;
			document.forms("fred").JSAction.value="Del/" + type + "/" + iseq;
			document.forms("fred").submit();
		}
}

function Del_Element(type,iseq)
{
	document.forms("fred").action = "/update.asp#" + type;
	document.forms("fred").JSAction.value="Del/" + type + "/" + iseq;
	document.forms("fred").submit();
}
function Advanced_Element(type,jump,iseq)
{
	document.forms("fred").action = "/update.asp#" + type;
	if (jump == 'Off' )
		{
			document.forms("fred").action = "/update.asp"
		}
	if (CurrentTab !="") {
		document.forms("fred").JSActionTab.value=CurrentTab;	
	}

	document.forms("fred").JSAction.value="Advanced/" + type + "/" + iseq;
	document.forms("fred").submit();
}

function ShowHideR(whichEl,bForce) {
	if (document.getElementById(whichEl).style.display == 'none' || bForce) {
		document.getElementById(whichEl).style.display = '';
	}
	else {
		document.getElementById(whichEl).style.display = 'none';
	}		
}

function ShowHideOth(whichID,field) {

	var varEle = document.getElementById(whichID);
	if (varEle!=null) {
		var varStyle = varEle.style; 
		if (field.value=='OTH') {
			if (varStyle.display=='none') {
				varStyle.display='block';
			}
		}
		else
		{
			if (varStyle.display!='none') {
				varStyle.display='none';
			}
		}
	}
	
}

function MultiShowHide(eButton) {
	
	var argv = MultiShowHide.arguments;
	var argc = MultiShowHide.arguments.length;
	
	if (document.getElementById !=null && argc>1) {
		varCurrent = document.getElementById(eButton);
		if (varCurrent!=null) {

			varHtml = varCurrent.innerHTML;
			if (varHtml.slice(0,4)=='Show') {
				varCurrent.innerHTML ='Hide' + varHtml.slice(4);
				for (var i=1;i < argc; i++) {
					Show(argv[i]);
				}
			}
			else
			{
				varCurrent.innerHTML ='Show' + varHtml.slice(4);
				for (var i=1;i < argc; i++) {
					Hide(argv[i]);
				}
			}
		}
	}
}

function ShowHide(whichEl) {

	if (document.getElementById(whichEl).style.display == 'none') {
		document.getElementById(whichEl).style.display = 'block';
	}
	else {
		document.getElementById(whichEl).style.display = 'none';
	}	

}
function ShowHideChk(chkVal, whichEl) {
	
	if (chkVal.checked!=null) {
		if (chkVal.checked == true && document.getElementById(whichEl)!=null) {
			document.getElementById(whichEl).style.display = 'block';
		}
		else {
			document.getElementById(whichEl).style.display = 'none';
		}
	}

}
function Show(whichEl) {
	var obj = document.getElementById(whichEl);
	if ( obj !=null) {
		if (obj.tagName=='TR') {
			obj.style.display = '';
		} else {
			obj.style.display = 'block';
		}
	}
}

function Hide(whichEl) {
	var obj = document.getElementById(whichEl);
	if ( obj !=null) {
		obj.style.display = 'none';
	}

}
function ShowNext(BaseEl,Max,bForward) {
	var bFound=false;
	if (bForward) {
		for (var i=1; i <= Max; i++) {
			whichEl = document.getElementById(BaseEl + i)
			if (whichEl!=null) {
				if (whichEl.style.display == 'none') {
					whichEl.style.display='block';
					bFound=true;
					break;
				}
			}			
		}		
	} else {	
		for (var i=Max; i > 0; i--) {
			whichEl = document.getElementById(BaseEl + i)
			if (whichEl!=null) {
				if (whichEl.style.display == 'none') {
					whichEl.style.display='block';
					bFound=true;
					break;
				}
			}			
		}
	}
	if (bFound==false) {
		alert(_p4bPrompt(p4bLang.showNextMax,Max));
		var showErr = document.getElementById(BaseEl + 'Add');
		if (showErr!=null) {
			showErr.style.display = 'none';
		}
	}
}

function ShowRadio(BaseEl,Id,Max) {
	var Current;
	
	Current = document.getElementById( BaseEl.toString() + Id.toString() );
	var whichEl;
	
	if (Current!=null) {		
		if (Current.style.display = 'none') {
			Current.style.display = '';
		}
	}
	for (var i=1;i <= Max; i++) {
		if (i != Id) {
			whichEl = document.getElementById(BaseEl + i);
			if (whichEl!=null) {
				if (whichEl.style.display != 'none') {
					whichEl.style.display = 'none';
				}
			}
		}
	}
}

function HideRows(baseID, iFrom, iTo, bShow) {
	if (document.getElementById) {
		for (var i=iFrom;i <= iTo; i++) {
			whichEl = document.getElementById(baseID + i);
			if (whichEl!=null) {
				if (bShow) {
					if (whichEl.style.display == 'none') {
						whichEl.style.display = '';
					}
				} else {
					if (whichEl.style.display != 'none') {
						whichEl.style.display = 'none';
					}
				}
			}
		}	
	}
}

function OptWarn() {
	var chkLtd;
	var chkUmb;
	var curStatus;
	chkLtd = document.getElementById('ChkLimited');
	chkUmb = document.getElementById('ChkUmbrella');
		
	curStatus = document.getElementById('OptOutWarn');
	if (curStatus!=null) {
		if (chkLtd!=null && chkUmb!=null) {
			if (chkLtd.checked ==true || chkUmb.checked ==true) {
				if (curStatus.style.display!='none') {
					curStatus.style.display='none';
				}
			}
			else {
				if (curStatus.style.display=='none') {
					curStatus.style.display='block';
				}
			}
		}
	}
	
}

function OptRefresh() {

	//seller name	
	var sellName;
	var firstName;
	var LastName;
	var dest;
	firstName=document.getElementById('InputFirst_Name');
	lastName = document.getElementById('InputLast_Name');
	if (firstName!=null && lastName!=null) {
		sellName = Trim(firstName.value) + ' ' + Trim(lastName.value)
	}

	if (sellName!=null) {
		for (var i =1;i<=3;i++) {
			desc = 'OptName' + i;
			dest = document.getElementById( 'OptName' + i);
			if (dest!=null && sellName!='') {
				dest.innerHTML = sellName;
			}
		}
	}
	
	//company name
	var coName = document.getElementById( 'LtdName');
	if (coName!=null) { 
		dest = document.getElementById( 'OptCompany') ;
		if (dest!=null) {
			dest.innerHTML = coName.value;
		}
	}
	//umbrella name
	var umbName = document.forms['fred']['/User/Umbrella_Company'];
	if (umbName!=null) { 
		var strUmbName = '';
		for (iLoop=0; iLoop < umbName.length; iLoop++) {
			if (umbName[iLoop].checked ==true) {
				strUmbName = umbName[iLoop].value;
			}
		}
		if (strUmbName == 'OTH') {
			strUmbName = document.forms['fred']['/User/Umbrella_Company_OTH'].value;
		}
		
		dest = document.getElementById( 'OptUmbCompany') ;
		if (dest!=null && strUmbName!='') {
			dest.innerHTML = strUmbName;
		}
	}	
	
}

function P4BDropShow(Base,field) {
	var Current;
	var iNew;
	var iMax;
	var bShow = true;
		
	switch (Base) {
		case 'PASSVISA':
			iMax = 5;
			var bVisa = true;
			var bSendPass = true;
			switch (field.value) {
				case 'BRITISH':
					iNew = 1;
					bVisa = false;
					break;
				case 'EEA':
					iNew = 2;
					bVisa = false;
					break;
				case 'SWISS':
					iNew = 3;
					bVisa = false;
					break;
				case 'P4B':
					iNew = 4;
					bSendPass = false;
					//bVisa = false;
					break;
				case 'NONE':
					iNew = 5;
					bVisa = false;
					bSendPass = false;
					break;
				default:
					iNew = 0;
					bSendPass = false;
					bVisa = false;
					break;
			}
			
			var Visa = document.getElementById('VisaDate')
			if (Visa!=null) {
				if (bVisa == false) {
					if (Visa.style.display!='none') {
						Hide('VisaDate');
					}
				}
				else
				{
					if (Visa.style.display=='none') {
						Show('VisaDate');
					}
				}
			}
			var Passport = document.getElementById('SendPass')
			if (Passport!=null) {
				if (bSendPass == true) {
					if (Passport.style.display='none') {
						Show('SendPass');
					}
				}
				else
				{
					if (Passport.style.display!='none') {
						Hide('SendPass');
					}
				}
			}
			
		case 'VATCA':
			bShow = false;
			switch (field.value) {
				
				case '1':
					Show('VAT1');
					Show('VAT2');
					break;
				default:
					Hide('VAT1');
					Hide('VAT2');
					break;
			}
			
		case 'QST':
			bShow = false;
			switch (field.value) {
				
				case '1':
					Show('QST1');
					Show('QST2');
					break;
				default:
					Hide('QST1');
					Hide('QST2');
					break;
			}			
			
		default:
			if (field.type=='checkbox') {
				/*Checkboxes*/
				iNew = 0;
				if (field.checked == true) {
					iNew = 1;	
				}
				iMax = 1;
			}
	}
	if (bShow ==true) {
		ShowRadio(Base,iNew,iMax);
	}
}

function TABOVER(iTab) {
	whichTab = ("DEV" + iTab);
	mnClass = document.getElementById(whichTab).className
	if (mnClass == 'TABON') {
		//nowt	
	}
	else {
		document.getElementById(whichTab).className = 'TABOFFHOV';
	}
}
function TABOUT(iTab) {
	whichTab = ("DEV" + iTab);
	mnClass = document.getElementById(whichTab).className
	if (mnClass == 'TABON') {
		//nowt
	}
	else {
		document.getElementById(whichTab).className = 'TABOFF';
	}

}

function ChangeClassById(name,className) {
	
	var objClass = document.getElementById(name)
	if (objClass != null) 
	{
			objClass.className = className;
	}
}

function ChangeClassByRef(obj,strName) {
	var current = obj.className;
	if (current != strName)
	{
		obj.className = strName;
	}
}

function expandIt(el, Tabcount) {
	whichEl = ("TAB" + el);
	whichTab = ("DEV" + el);
	var current
	var mn

	if (Tabcount == null ) {
		Tabcount = TotalTabs;
		}
	
	for (i=1; i<(Tabcount+1); i++) {
		whichTab = ("DEV" + i);
		whichLeg = ("LEG" + i);
		if (i == el) {
			document.getElementById(whichEl).style.display = 'block';
			document.getElementById(whichTab).className = 'TABON';
			CurrentTab = i;
		}
		else {
			current = ("TAB" + i);
			document.getElementById(current).style.display = 'none';
			document.getElementById(whichTab).className = 'TABOFF';
		}
	}

}

function helpExpandIt(el, objImage) {
	whichEl = eval(el + "Child");
	var element = el
	var state = whichEl.style.display 
	tempColl = document.all.tags("DIV");
	num = el.substring(3, 4);
	if (state == "none") {
		objImage.src = '/images/HelpMenuHeadOpen.gif'
		whichEl.style.display = "block";
	}
	else {
		objImage.src = '/images/HelpMenuHeadClosed.gif'
		whichEl.style.display = "none";
	}
	focus();	
}


function closeAll() {
	
	tempColl = document.all.tags("DIV");
	for (i=0; i<tempColl.length; i++) {
		if (tempColl(0 + i).className == "child") {
			if (tempColl(0 + i).style.display == "block") {
				tempColl(0 + i).style.display = "none";
				var current = tempColl(0 + i).id;
				current = current.substring(0, 4);
				document.cookie = current + "=0; path=/"; 
			}
		}
	}
	focus();
		
}

function timeShow(whichEl) {
	//show or hide options - uses cookies
	dtNextYear = new Date();
	dtNextYear.setDate( dtNextYear.getYear()+1 );

	var cook = 'time' + whichEl;
	if (document.getElementById(whichEl).style.display == 'none') {
		document.getElementById(whichEl).style.display = 'block';
		SetCookie (cook, '1', dtNextYear );
	}
	else {
		document.getElementById(whichEl).style.display = 'none';
		SetCookie(cook, '', dtNextYear);
	}			
	
}



function expReject(id) {

	var argv = expReject.arguments;
	var argc = expReject.arguments.length;

	var reason = (argc > 1) ? argv[1] : null;
	
	if (document.getElementById('RejectE').style.display == 'none') {
		document.getElementById('RejectE').style.display = 'block';
	}
	document.getElementById('TextReasonEDate').value = id.toString();
	if (reason==null) reason = 'This expense claim was rejected because ';
	document.getElementById('TextReasonE').value = reason.replace('&apos;',"'");
	document.getElementById('ConfExp2').focus();
	document.getElementById('TextReasonE').focus();
}

function cancelEReject() {
	document.getElementById('RejectE').style.display = 'none';
	document.getElementById('TextReasonE').value='';
	document.getElementById('TextReasonEDate').value='';
}

function timeReject(strText) {
	
	var argv = timeReject.arguments;
	var argc = timeReject.arguments.length;

	var first = (argc > 1) ? argv[1] : null;
	var last = 	(argc > 2) ? argv[2] : null;
	var reason = (argc > 3) ? argv[3] : null;
	
	if (document.getElementById('Reject').style.display == 'none') {
		document.getElementById('Reject').style.display = 'block';
	}
	document.getElementById('TextReasonDate').value=first.toString() + ':' + last.toString();
	if (reason==null) reason = _p4bPrompt(p4bLang.timesheetReject,strText);
	document.getElementById('TextReason').value = reason.replace('&apos;',"'");
	document.getElementById('TextReason').focus();
}

function confirmReject(url) {
	var newUrl = url + '&deny=' + document.getElementById('TextReasonDate');
	alert(newUrl)
	//SaveGo(newUrl);
}	
	
function cancelReject() {
	document.getElementById('Reject').style.display = 'none';
	document.getElementById('TextReason').value='';
	document.getElementById('TextReasonDate').value='';
}

function timeCalClick(cell,strCalDt) {
	
	var argv = timeCalClick.arguments;
	var argc = timeCalClick.arguments.length;

	var ot = (argc > 2) ? argv[2] : null;
	var limit = (argc > 3) ? argv[3] : null;		
	
	var current;
	var hr1,hr2,rt1,rt2,otdesc;
	current = document.getElementById(cell);
	
	if (current !=null) {
		var strVal = current.value.toString();
		//strVal.replace('*','');
		if  (document.getElementById('OVWHAT') ) {
			document.getElementById('OVWHAT').value = cell.substring(3);
			document.getElementById('OVNORM').value = strVal.replace('*','');
			
			hr1 = document.getElementById(cell+'othr1').value;
			hr2 = document.getElementById(cell+'othr2').value;
			rt1 = document.getElementById(cell+'otrt1').value;
			rt2 = document.getElementById(cell+'otrt2').value;
			otdesc = document.getElementById(cell+'otdesc').value;
			
			document.getElementById('othr1').value = hr1;
			document.getElementById('othr2').value = hr2;
			document.getElementById('otrt1').value = rt1;
			document.getElementById('otrt2').value = rt2;
			document.getElementById('otdesc').value = otdesc;
			
			if ( (hr1>0 && rt1>0) || (hr2>0 && rt2>0) ) 
			{
				if (strVal.indexOf('*') == -1)
				{
					current.value = '*' + strVal;	
				}
			}
			else 
			{
				if (strVal.indexOf('*') != -1)
				{
					current.value = strVal.replace('*','');
				}
			}
		}
		//finally update the date shown
		dtFormat = ': ' + cell.substring(3) + ' ' + strCalDt;
		if (ot != null)
		{
			bAllowEdit = false;
			dtFormat = dtFormat + ' (read only)';	
		}
		else {
			bAllowEdit = true;	
		}
		if (document.getElementById('OVDATE')) {
			document.getElementById('OVDATE').innerHTML = dtFormat;
		}
		
		
	}
}

function timeBalUpd(numUnit) {
	
	if (document.getElementById !=null) {
		
        var argv = timeBalUpd.arguments;
        var argc = timeBalUpd.arguments.length;

		var iRate = (argc > 1) ? argv[1] :1;		
        var idBal = (argc > 2) ? argv[2] : 'UnitBal';
		var idSpan = (argc > 3) ? argv[3] : 'bal';
		var idBalWrn = (argc > 4) ? argv[4] : 'BalWrn';

					
		var oldUnits = pageData; //
		
		var iDiff = (numUnit * iRate) - (oldUnits * iRate);
		
		var fldBal = document.getElementById(idBal);
		var spanMess = document.getElementById(idSpan);
		var warnMess = document.getElementById(idBalWrn);

		if (fldBal !=null && spanMess != null) {
			var newVal = Number(fldBal.value - iDiff);
			if (!isNaN(newVal)) {
				if (newVal > 0) {
					fldBal.value = newVal;
					spanMess.innerHTML = fldBal.value;
					if (warnMess!=null) {
						warnMess.style.display='none';					
					}
				}
				else {
					fldBal.value = newVal;
					spanMess.innerHTML = '<b style="color:red;">' + _p4bPrompt(p4bLang.zero) + '</b>';					
					if (warnMess!=null) {
						warnMess.style.display='';
					}
				}
			}
			else if (!isNaN(Number(pageData))) {
				newVal = Number(fldBal.value) + Number(pageData);
				fldBal.value = newVal;
				spanMess.innerHTML = fldBal.value;
				pageData = 0;				
			}

		}
	}
}

function timeCalStore(numUnit,oldVal) {
	if (numUnit == '') {
		numUnit = 0;
	}
	
	//can also be a checkbox
	if (numUnit == true) {
		numUnit = 1;
	}
	if (numUnit == false) {
		numUnit = 0;
	}
	
	
	if (pageData!=numUnit) {
		//alert ('diff');
	}
	if (isNaN(Number(numUnit)) ) numUnit=0;
	pageData = numUnit;
}


function overChange(cell) {
	//update overtime
	var current;
	var hr1,hr2,rt1,rt2;
	
	current = document.getElementById('OVWHAT').value;

	if (bAllowEdit==false) {
		if (cell=='OVNORM')
		{
			document.getElementById(cell).value = document.getElementById('day' + current).value;
		}
		else 
		{
			document.getElementById(cell).value = document.getElementById('day' + current + cell).value;
		}
		alert(_p4bPrompt(p4bLang.overTimeInv));
		return false;
	}
	
	if (current > 0 && current < 32) {
		strNew = document.getElementById(cell).value;
		//alert( document.getElementById('day' + current + cell).value );
		if (cell=='OVNORM')
		{
			//update main entry.
			document.getElementById('day' + current).value = strNew;
		}
		else 
		{
			document.getElementById('day' + current + cell).value = strNew;
		}
		strCurr = document.getElementById('day' + current).value;
		
		hr1 = document.getElementById('othr1').value;
		hr2 = document.getElementById('othr2').value;
		rt1 = document.getElementById('otrt1').value;
		rt2 = document.getElementById('otrt2').value;
		
		if ( (hr1>0 && rt1>0) || (hr2>0 && rt2>0) ) 
		{
			if (strCurr.indexOf('*') == -1)
			{
				document.getElementById('day' + current).value = '*' + strCurr	
			}
		}
		else 
		{
			if (strCurr.indexOf('*') != -1)
			{
				document.getElementById('day' + current).value = strCurr.replace('*','');
			}
		}
	}
}

function expType(el,num) {
	
	var field = el.value;
	var id = 'mile' + num;
	var disp = document.getElementById(id).style.display;
	if (field == 'MILE' && disp == 'none') {
		document.getElementById(id).style.display='inline';
	}
	if (field !='MILE' && disp =='inline')
	{
		document.getElementById(id).style.display='none';
	}
	
}

function CalcMileage(num) {

	var result
	var field = '/Time/Expense/MileRate*' + num.toString();
	var strRate = document.fred[field].value;
	var Rate = parseFloat(strRate);
	if (Rate != strRate && strRate !='.') { 
		if (isNaN(Rate)) Rate=''; 
		//document.fred[field].value = Rate.toString();
	}
	field = '/Time/Expense/Miles*' + num.toString();
	var strMiles = document.fred[field].value;
	var Miles = parseFloat(strMiles)
	if (Miles != strMiles && strMiles!='.') { 
		if (isNaN(Miles)) { 
			Miles = 0;
		}
		else
		{
			//document.fred[field].value = Miles.toString();
		}
	}
	
	if ( !isNaN(Rate) && !isNaN(Miles) ) {
		result = Math.round(100 * ((Rate /100) * Miles))
		result = result / 100;
	}
	else
	{
		result = '';
	}

	if (result.toFixed) { result = result.toFixed(2); }
	field = '/Time/Expense/Value*' + num.toString();
	document.fred[field].value = result.toString();	
	
}

function getCookie(el) {
	var allcookies = document.cookie;
	
	var pos = allcookies.indexOf(el + "=");
	var value = null;

	if (pos != -1) {
		var start = pos + el.length + 1;
		var end = allcookies.indexOf(";", start);
		var end2 = allcookies.indexOf("&", start);
		if (end2 != -1 && end2 < end) end = end2;
		if (end == -1) end = allcookies.length;
		value = allcookies.substring(start, end);
	}
	return value;
	//value;
}
function SetCookie (name, value) {
        var argv = SetCookie.arguments;
        var argc = SetCookie.arguments.length;
		
        var expires = (argc > 2) ? argv[2] : null;
        var path = (argc > 3) ? argv[3] : '/';
        var domain = (argc > 4) ? argv[4] : null;
		var secure = (argc > 5) ? argv[5] : false;
		var delmode = (argc > 6) ? argv[6] : null

		var site = document.domain;
		if (site.indexOf('.') >0 && domain ==null && delmode == null) {
			if ( site.lastIndexOf('.') != site.indexOf('.') ) {
				var posdom = site.substr(site.indexOf('.') + 1);
				if (posdom.indexOf('.')>0) { 
					domain = posdom;
					//clear the older host specific cookie
					var Dt =new Date('Thu, 01 Jan 1971 00:00:01 GMT');
					SetCookie(name, '', Dt, path, null, secure,true);
				}
			}
		}
		
        
        document.cookie = name + "=" + escape (value) +
                ((expires == null) ? "" : ("; expires=" +
expires.toGMTString())) +
                ((path == null) ? "" : ("; path=" + path)) +
                ((domain == null) ? "" : ("; domain=" + domain)) +
                ((secure == true) ? "; secure" : "");
				
}

function Find(status) {

	// change the 'submit' value for the find screen and fire off the submit
	document.forms("Find").FindAct.value=status;
	document.Find.submit();
}

//Select all chkbox functions

z = new Array(); 

function selectAll(f, t) {
	 
	if (z[t] == '1') {
		//Uncheck
		check(f, t, false);
		SelAll.src = '/images/select.gif';
		SelAll.alt = 'Select All';
		window.focus();
		z[t] = '0';
	}
	else {
		//Check
		check(f, t, true);
		SelAll.src = '/images/deselect.gif';
		SelAll.alt = 'Deselect All';
		window.focus();
		z[t] = '1';
	}
}

function check(f, t, v) {

	for(var i = 0; i < f.length; i++) {
			var e = f.elements[i];
			if (e.name == 'FndChk' + t) {
				e.checked = v;
			}
	}
	
}

function doSearch() {

	if (document.SearchBox.Word.value != '') {
		document.SearchBox.submit(); 
	}
}

function doLogon() {

	if (document.SignIn.Password.value != '') {
		document.SignIn.submit()
	}
}

function openNote(url)
{
	var x = getCookie('NoteL'); 
	var y = getCookie('NoteT');
	var h = getCookie('NoteH');
	var w = getCookie('NoteW');
	var strOpen = 'resizable=yes,toolbar=no,status=no,scrollbars=yes';

	if (x && y && h && w) {
		strOpen = strOpen + ',width=' + w + ',height=' + h + ',top=' + y + ',left=' + x;
	}
	
	popupNote = window.open(url,'p4bnote',strOpen);
	
	//popupNote.moveTo(x,1);
	
	if (popupNote.focus) {
		popupNote.focus();
	}	
}

function openHowTo(name) 
{
	popupHelp = window.open(name,'p4bhelp','scrollbars=yes,toolbar=no,status=no,width=640,height=480,resizable=yes');
	if (window.focus) { popupHelp.focus(); }

	var centerX = ( screen.width-640) / 2 ;
	var centerY = ( screen.height-480 ) / 2 ;

}

function openDemo(name)
{
	popupDemo = window.open(name,'p4bdemo','scrollbars=no,toolbar=no,status=no,width=800,height=600,resizable=no');
	if (window.focus) { popupDemo.focus(); }

	var centerX = ( screen.width-800) / 2 ;
	var centerY = ( screen.height-600 ) / 2 ;	

}

function openMsg(type) 
{
	myWin = window.open('/Msg.asp?type='+type,'pge','toolbar=no,status=no,width=568,height=248');
	
	var centerX = ( screen.width-568 ) / 2 ;
	var centerY = ( screen.height-248 ) / 2 ;
	
	myWin.moveTo(centerX,centerY);
}

// Image over functions

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}


function headChanged()
{
	//alert("headChanged");
	document.forms("fred").hasChanged.value="1";
}

// ******************************** DATE FUNCTIONS **********************************************
function CheckDate(inDate){ 
//var strFormat = theForm.DateFormats.options[theForm.DateFormats.selectedIndex].value; 
//use above to specifiy a format in a select box.  For our purposes, we only want "yyyy-mm-dd"

inDate.style.color="black";  
//inDate.style.fontWeight = 'normal'

var strFormat = "yyyy-mm-dd"; 
	if(!isDate(inDate.value)){ 
		alert("The date entered is invalid.              \n\nPlease re-enter a valid date.") 
		inDate.style.color="red";  
		//inDate.style.fontWeight = 'bold'
		return; 
	} 

	inDate.value = FormatDate(inDate.value,strFormat); 
} 


function isDate(DateToCheck){
	if(DateToCheck==""){
		return true;
	}

	var m_strDate = FormatDate(DateToCheck);
	if(m_strDate==""){
		return false;
	}

	var m_arrDate = m_strDate.split("/");
	var m_DAY = m_arrDate[0];
	var m_MONTH = m_arrDate[1];
	var m_YEAR = m_arrDate[2];
	if(m_YEAR.length > 4){
		return false;
	}

	m_strDate = m_MONTH + "/" + m_DAY + "/" + m_YEAR;

	var testDate=new Date(m_strDate);
	if(testDate.getMonth()+1==m_MONTH){
		return true;
	} 
	else{
		return false;
	}
}//end function




function FormatDate(DateToFormat,FormatAs){
	if(DateToFormat==""){
		return"";
	}
	if(!FormatAs){
		FormatAs="dd/mm/yyyy";
	}

	var strReturnDate;
	FormatAs = FormatAs.toLowerCase();
	DateToFormat = DateToFormat.toLowerCase();
	var arrDate
	var arrMonths = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
	var strMONTH;
	var Separator;

	while(DateToFormat.indexOf("st")>-1){
	DateToFormat = DateToFormat.replace("st","");
	}

	while(DateToFormat.indexOf("nd")>-1){
	DateToFormat = DateToFormat.replace("nd","");
	}

	while(DateToFormat.indexOf("rd")>-1){
	DateToFormat = DateToFormat.replace("rd","");
	}

	while(DateToFormat.indexOf("th")>-1){
	DateToFormat = DateToFormat.replace("th","");
	}

	if(DateToFormat.indexOf(".")>-1){
	Separator = ".";
	}

	if(DateToFormat.indexOf("-")>-1){
	Separator = "-";
	}


	if(DateToFormat.indexOf("/")>-1){
	Separator = "/";
	}

	if(DateToFormat.indexOf(" ")>-1){
	Separator = " ";
	}

	arrDate = DateToFormat.split(Separator);
	DateToFormat = "";
		for(var iSD = 0;iSD < arrDate.length;iSD++){
			if(arrDate[iSD]!=""){
			DateToFormat += arrDate[iSD] + Separator;
			}
		}
	DateToFormat = DateToFormat.substring(0,DateToFormat.length-1);
	arrDate = DateToFormat.split(Separator);

	if(arrDate.length < 3){
	return "";
	}

	var DAY = arrDate[0];
	var MONTH = arrDate[1];
	var YEAR = arrDate[2];




	if(parseFloat(arrDate[1]) > 12){
	DAY = arrDate[1];
	MONTH = arrDate[0];
	}

	if(parseFloat(DAY) && DAY.toString().length==4){
	YEAR = arrDate[0];
	DAY = arrDate[2];
	MONTH = arrDate[1];
	}


	for(var iSD = 0;iSD < arrMonths.length;iSD++){
	var ShortMonth = arrMonths[iSD].substring(0,3).toLowerCase();
	var MonthPosition = DateToFormat.indexOf(ShortMonth);
		if(MonthPosition > -1){
		MONTH = iSD + 1;
			if(MonthPosition == 0){
			DAY = arrDate[1];
			YEAR = arrDate[2];
			}
		break;
		}
	}

	var strTemp = YEAR.toString();
	if(strTemp.length==2){

		if(parseFloat(YEAR)>40){
		YEAR = "19" + YEAR;
		}
		else{
		YEAR = "20" + YEAR;
		}

	}


	if(parseInt(MONTH)< 10 && MONTH.toString().length < 2){
	MONTH = "0" + MONTH;
	}
	if(parseInt(DAY)< 10 && DAY.toString().length < 2){
	DAY = "0" + DAY;
	}
	switch (FormatAs){
		case "yyyy-mm-dd":
			return YEAR + "-" + MONTH + "-" + DAY;
		case "dd/mm/yyyy":
			return DAY + "/" + MONTH + "/" + YEAR;
		case "mm/dd/yyyy":
			return MONTH + "/" + DAY + "/" + YEAR;
		case "dd/mmm/yyyy":
			return DAY + " " + arrMonths[MONTH -1].substring(0,3) + " " + YEAR;
		case "mmm/dd/yyyy":
			return arrMonths[MONTH -1].substring(0,3) + " " + DAY + " " + YEAR;
		case "dd/mmmm/yyyy":
			return DAY + " " + arrMonths[MONTH -1] + " " + YEAR;	
		case "mmmm/dd/yyyy":
			return arrMonths[MONTH -1] + " " + DAY + " " + YEAR;
	}

	//if get here then something is screwy so return a basic date.
	return DAY + "/" + strMONTH + "/" + YEAR;;

} //End Function

// ******************************** END DATE FUNCTIONS *****************************************

function submitChange(level)
{
	var formObj = document.forms['frmSelector'];
	formObj.empty.value=level
	formObj.submit();
}

function addToCheckout()
{
	var formObj = document.forms['frmSelector'];
	formObj.add.value = "Y";
	formObj.submit();
}


function Remove(field,divid) {
	//set delete flags
	var Current;
	var whichEl;

	Current = document.forms['fred'][field];
	whichEl = document.getElementById(divid);
	if (Current != null && whichEl != null) {
		if (Current.value == 1) {
			Current.value = '';
			whichEl.style.display = 'none';
		} else {
			Current.value = 1;
			whichEl.style.display = 'block';
		}
	
	}
	
}

function TrackDel(strData)
{
	//tracks status of checkbox deletes

	//alert (document.forms['fred']['JSDeleteData'].value);
	var varCurrent
	if (document.forms['fred']['JSDeleteData'] !=null) {
		varCurrent = document.forms['fred']['JSDeleteData'].value;		
		if (varCurrent =='') {
			varCurrent = ',';
		}
		if ( varCurrent.indexOf(',' + strData + ',') == -1)
		{
			//add to delete list
			varCurrent = varCurrent + strData + ',';
		}
		else
		{
			//remove from delete list
			varCurrent = varCurrent.replace(strData + ',', '');
		}
		document.forms['fred']['JSDeleteData'].value = varCurrent;
	}
	

}

function RateUpd(field)
{
	var argv = RateUpd.arguments;
	var argc = RateUpd.arguments.length;

	var mode = (argc > 1) ? argv[1] : null;
	var margin = (argc > 2) ? argv[2] : null;
	var curSymb = (argc > 3) ? argv[3] : null;
	var vMinWage = (argc > 4) ? argv[4] : null;
	var strExtra = (argc > 5) ? argv[5] : null;
	
	var fBefore = GetExtraMarkup(strExtra,"BM")
	var fAfter = GetExtraMarkup(strExtra,"AM")
		
	var RateTxt = document.getElementById('RateId')
	var Rate = field.value;
	
	var bInvalidBid = false;
	var bLowBid = false;
	
	var chDec =p4bLang.decimal;
	if (!chDec) {
		chDec = '.';
	}	
	if (chDec!='.') {
		Rate = Rate.replace(chDec,'.');	
	}
	
	var fCalcRate;
	
	if (Rate!=null && RateTxt!=null) {
		var CalcRate;
		if (mode=='buyer' || mode=='buyerbid') {
			if (margin == null) { 
				CalcRate = (Rate / 1.10).toFixed(2);
			}
			else {
				
				if (fAfter>0) {
					var fPerc = (1 - (margin / 100));
					var fAfterVal = (Rate / (fAfter /100));
					fCalcRate = (Rate * fPerc) /  (1 + ((fAfter/100) * fPerc));
					if (fBefore > 0) {
						////MN outstanding
					}
					CalcRate = fCalcRate.toFixed(2);
				}
				else {
					fCalcRate = Math.round(100 * parseFloat(Rate) * ( 1 - ( margin / 100 ) ) ) / 100;
					CalcRate = fCalcRate.toFixed(2);
				}
				
				if (mode=='buyerbid' && vMinWage) {
					if (Number(Rate) < vMinWage && p4bLang.bidSurcharge) {
						fCalcRate = Number(Rate) - Number(p4bLang.bidSurcharge);
						if (fCalcRate < 0) {
							fCalcRate = -1;
							bInvalidBid = true;
						}
						bLowBid = true;
						CalcRate = fCalcRate.toFixed(2);
					}					
				}
				
			}
		}
		else
		{
			if (margin == null) {
				fCalcRate = (Rate * 1.10).toFixed(2);
			}
			else {
				if (fBefore > 0) {
					var fBeforeVal = Rate * (fBefore / 100);	
					Rate = parseFloat(Rate) + parseFloat(fBeforeVal);
				}
				fCalcRate =  (Rate / ( 1 - ( margin / 100 ) ));
				
				if (fAfter > 0) {
					var fAfterVal = Rate * (fAfter / 100);
					fCalcRate = parseFloat(fCalcRate) + fAfterVal;				
				}
				
				CalcRate = fCalcRate.toFixed(2);
			
			}
		}		
		if (isNaN(CalcRate) || CalcRate==0) {
			RateTxt.innerHTML = '<span style="color:red;">' + _p4bPrompt(p4bLang.rateNumeric) + '</span>';
		}
		else
		{
			var bSurcharge = false; 
			if (mode=='bid' && vMinWage && fCalcRate< vMinWage && p4bLang.bidSurcharge) {
				fCalcRate = Number(Rate) + Number(p4bLang.bidSurcharge);
				CalcRate = fCalcRate.toFixed(2);
				bSurcharge = true
			}
			CalcRate = CalcRate.replace('.',chDec);			
			
			if (mode=='verbose') {
				RateTxt.innerHTML = _p4bPrompt(p4bLang.rateBuyer, CalcRate);
			}else if (mode=='bid') {
				if (bSurcharge && p4bLang.rateBuyerBidLow) {
					RateTxt.innerHTML = _p4bPrompt(p4bLang.rateBuyerBidLow, CalcRate);
				} else {
					RateTxt.innerHTML = _p4bPrompt(p4bLang.rateBuyer, CalcRate);
				}
			}
			else if (mode=='buyer') {
				
				RateTxt.innerHTML = _p4bPrompt(p4bLang.rateSeller,CalcRate);
				if (document.getElementById('RateIdWrn')!=null)
				{
					RateWrn();
				}
			} else if (mode=='buyerbid') {
				//	
				if (bInvalidBid && p4bLang.rateSellerBidZero) {
					RateTxt.innerHTML = _p4bPrompt(p4bLang.rateSellerBidZero, CalcRate);
				} else if (bLowBid && p4bLang.rateSellerBidLow) {			
					RateTxt.innerHTML = _p4bPrompt(p4bLang.rateSellerBidLow, CalcRate);
				} else {
					RateTxt.innerHTML = _p4bPrompt(p4bLang.rateSeller,CalcRate);
				}
			}
			else {
				RateTxt.innerHTML = '(' + CalcRate + ')&nbsp;';
			}
		}
	}
	
}

function GetExtraMarkup(strExtra,strWhat) {

	var fTotal = parseFloat(0);
	
	if (strExtra) {
		var strExtraType='';
		var arrExtra = strExtra.split(':');
		for (var i = 0; i < arrExtra.length; i++) {
			strExtraType = arrExtra[i].substr(0,2);
			if (strWhat == strExtraType) {
				var strItem = arrExtra[i].substring(3);
				fTotal = parseFloat(strItem);
			}
		}
	}
	return fTotal;
}

function RateWrn() {
	document.getElementById('RateIdWrn').innerHTML = '&nbsp;<img src="/images/icons/16/alert.gif" align="absmiddle" width="16" height="16"/><span style="color:red;"> You are changing the Rate or Rate type. You should only make this change if you have agreed it with the Seller</span>';	
}

function Charity(field) {
	var argv = Charity.arguments;
	var argc = Charity.arguments.length;
	
	if (field==null) {
		if (document.getElementById !=null) { 
			field = document.getElementById('CharityID');
		}
	}
	
	var margin = (argc > 1) ? argv[1] : null
	var RateID = (argc > 2) ? argv[2] : null;	
	if (!RateID) RateID = 'Rate';
	
	var curSymb = (argc > 3) ? argv[3] : null;
	if (!curSymb) cuSymb = '&pound;';
	var vMinWage = (argc > 4) ? argv[4] : null;
	if (!vMinWage) vMinWage = minWage;
	var strExtra = (argc > 5) ? argv[5] : null;
	
	//next 3 aren't passed in (Yet)
	var WarnID = (argc > 6) ? argv[6] : 'CharWrn';
	var WarnTxtID = (argc > 7) ? argv[7] : 'CharTxtWrn';
	var CharShow = (argc > 8) ? argv[8] : 'CharShow';
	
	var fMinWage;
	var arrWage = vMinWage.split("~");
	var fMinWage = parseFloat(arrWage[0]);
	
	//fancy minwage stuff
	var farrMinWage = new Array(arrWage.length - 1);
	var sarrMinWageType = new Array(arrWage.length - 1);
	if (arrWage.length > 1) {
		for (var i = 1; i < arrWage.length; i++) {
			sarrMinWageType[i - 1] = arrWage[i].substr(0,2);
			farrMinWage[i -1] = parseFloat(arrWage[i].substr(3));
		}
	}

	var bBelow = false;
	var bBelowAdvise = false;
	if (document.getElementById !=null) {
		var objWarn = document.getElementById(WarnID);
		var sellRate = document.getElementById(RateID);
		var objWarnTxt = document.getElementById(WarnTxtID);
		var objCharShow = document.getElementById(CharShow);
		var strMess = '';
		var arrAdvRateErr = new Array(0);
		var bAdvError = false;

		if (sellRate!=null && objWarn!=null && objWarnTxt !=null && objCharShow!=null) {
			if (sellRate.value > 0) {
				if (field.value=='' || isNaN(field.value) ) {					
					strMess= '';
					objCharShow.innerHTML = '';
					if (sellRate.value < fMinWage)  {
						strMess = _p4bPrompt(p4bLang.simpMinWage,sellRate.value,fMinWage.toFixed(2));
						if (arrWage.length > 0) 
						objCharShow.innerHTML = '';
					} else {
						//check other min wage
						if (arrWage.length > 1) {
							for (var i = 0; i < (arrWage.length -1); i++) {
								if (sellRate.value < farrMinWage[i]) {
									arrAdvRateErr.push(i);
									bAdvError = true;
								}
							}
							if (bAdvError==true) {
								strMess = FancyMinWageMess(false,sellRate.value,curSymb,arrAdvRateErr,sarrMinWageType,farrMinWage); 
							}
						}				
					}
				}
				else if (field.value < 5) {
					strMess = '';
					objCharShow.innerHTML = '<br/><span style="color:#c40;">' + _p4bPrompt(p4bLang.charityMin) + '</span><br/>';
				}
				else {

					var howMuch = ((sellRate.value) * (100 - field.value)) / 100;
					if (howMuch < 0) howMuch =0;
					
					//check other min wage
					if (arrWage.length > 1) {
						for (var i = 0; i < (arrWage.length -1); i++) {
							if (howMuch < farrMinWage[i]) {
								arrAdvRateErr.push(i);
								bAdvError = true;
							}
						}
					}							
					

					if (howMuch < fMinWage || bAdvError==true) {
						if (howMuch < fMinWage) {
							strMess = _p4bPrompt(p4bLang.charityMinWage,howMuch.toFixed(2), fMinWage.toFixed(2));
							objCharShow.innerHTML = ' ';							
						} 
						else 
						{
							strMess = FancyMinWageMess(true,howMuch.toFixed(2),curSymb,arrAdvRateErr,sarrMinWageType,farrMinWage); 
							objCharShow.innerHTML = ' ';							
						}
					} 
					else 
					{
						var buyRate;
						if (margin == null) { 
							buyRate = (howMuch * 1.1).toFixed(2);
						} 
						else {
							
							var fBefore = GetExtraMarkup(strExtra,"BM")
							var fAfter = GetExtraMarkup(strExtra,"AM")
							if (fBefore > 0) {
								var fBeforeVal = howMuch * (fBefore / 100);					
								howMuch = howMuch + fBeforeVal;
							}
							var buyRate =  (howMuch / ( 1 - ( margin / 100 ) )).toFixed(2);
							
							if (fAfter > 0) {
								var fAfterVal = howMuch * (fAfter / 100);
								buyRate = (parseFloat(buyRate) + fAfterVal).toFixed(2);				
							}							

						}
						objCharShow.innerHTML = _p4bPrompt(p4bLang.charityRate,howMuch.toFixed(2), buyRate);
					}
					
				}
				if (strMess!='') {
					objWarnTxt.innerHTML = strMess;
					if (objWarn.style.display == 'none') {
						objWarn.style.display = 'block';
					}
				}
				else {
					if (objWarn.style.display != 'none') {
						objWarn.style.display = 'none';
					}
				}
			}
			else {
				
				//missing fields etc...
				objCharShow.innerHTML = '';
			}
		}
	}
	
}

function FancyMinWageMess(bCharity,strRate,curSymb,arrAdvRateErr,sarrMinWageType,farrMinWage) {
	//ontario only
	var strCharity = (bCharity == true) ? p4bLang.charitable : '';
	var strRet = _p4bPrompt(rateComplexMin, strCharity, parseFloat(strRate).toFixed(2));
	var strLine = '';
	for (var i = 0;i < arrAdvRateErr.length;i++) {
		switch (sarrMinWageType[arrAdvRateErr[i]]) {
			case 'HW':
				strLine = p4bLang.homeworkers;
				break;
			default:
				strLine = '';
				break;				
		}
		if (strLine!='') {
			strLine = strLine + _p4bPrompt(p4bLang.rateComplexMin2, farrMinWage[arrAdvRateErr[i]]);
		}
		if (i > 1) {
			strRet = strRet + p4bLang.rateComplexMin3;
		}
		strRet = strRet + strLine;
	}
	return strRet;
}

function SetOption(name,value) {
	dtTenYear = new Date();
	dtTenYear.setDate( dtTenYear.getYear()+10 );
	SetCookie(name, value, dtTenYear);
}

function PinRemove(sellNum)
{
	//don't ask if on the warning page.
	var bQuick = false;
	var strLoc = document.location.href;
	if (strLoc !=null)
	{
		strLoc = strLoc.toLowerCase();
		if ( strLoc.indexOf('mode') != -1 && strLoc.indexOf('list') != -1 && strLoc.indexOf('warn') != -1) 
		{
			/* alert('yue'); */
			bQuick = true;
		}
	}
	var vAns;
	if (bQuick == true) {
		vAns = true
	}
	else {
		vAns = confirm(p4bLang.shortListDel);
	}
	if (vAns) {
		PinClick(sellNum,16,'Del');
		window.location.reload();
	}

}

function PinClick(sellNum)
{
	//alert(sellNum);
	//SetCookie ('MartTest', ',2,');
	var argv = PinClick.arguments;
	var argc = PinClick.arguments.length;
	
	
	var gifSize = (argc > 1) ? argv[1] : '16';
	var bDelOnly = (argc > 2) ? argv[2] : null;
	
	var Pin = 'PIN' + sellNum;
	
	var PinLinkTxt = 'LNKPIN' + sellNum; 
	var PinSelText = 'SELTEXT' + sellNum;
	var Seller = 'SELLER' + sellNum
	varSeller = document.getElementById(Seller).value;

	varCurrent = unescape( getCookie('SellerList') );

	if (varCurrent == 'null')
	{
		//alert('blank');
		varCurrent = ',';
	}

	if ( varCurrent.indexOf(',' + varSeller + ',') == -1)
	{
		if (bDelOnly==null) 
		{
			//add
			
			//change the last clicked pin first - to stop the animation from refiring
			if (lastPin!=null && !is_Opera) {
				if (lastPin != sellNum) {
					var lastPinRef = 'PIN' + lastPin;
					var lastPinSrc = document.getElementById(lastPinRef).src;
					document.getElementById(lastPinRef).src = '/images/icons/tick.gif';
				}
			}		
			
			if (document.getElementById(PinSelText)!=null) {
				document.getElementById(PinSelText).style.display = 'inline';
			}
			if (document.getElementById(Pin)!=null) 
			{
				if (is_Opera) {
					document.getElementById(Pin).src = '/images/icons/tick.gif';
				}
				else {
					//document.getElementById(Pin).src = '/images/pin.gif';					
					var srcAni = '/images/icons/tick_ani.gif';
					
					if (is_Firefox4) {
						//animation bug with firefox 4
						var tTime = new Date();
						srcAni = srcAni + '?' + tTime.getTime().toString();
					}
					document.getElementById(Pin).src = srcAni;
					lastPin = sellNum;
				}
			}
			else
			{
				if (document.getElementById('PINSINGLE')!= null) {
					document.getElementById('PINSINGLE').innerHTML = p4bLang.shortListRemove;
					if (document.getElementById('BackBut')!=null) {
						Show('BackBut');
					}
					
					if (document.getElementById('ADDDELTXT')!=null) {
						document.getElementById('ADDDELTXT').innerHTML = p4bLang.shortListRemoveIns;
					}
				}
			}
			
			if (1 == 1) {
				//BASKET2
				document.getElementById('BASKET2').style.display = 'block';
				if (document.getElementById('CONT1')!=null) {
					document.getElementById('CONT1').style.display = 'block';
					document.getElementById('CONT2').style.display = 'block';
				}
				varCurrent = varCurrent + varSeller + ',';
				varTot = varCurrent.split(',').length - 2;
				if (varTot == 1)
				{	
					document.getElementById('BASKETNO').innerHTML = _p4bPrompt(p4bLang.shortListTot1,varTot.toString());
				}
				else
				{	
					document.getElementById('BASKETNO').innerHTML = _p4bPrompt(p4bLang.shortListTot,varTot.toString());
				}
			}
			
			if (document.getElementById(PinLinkTxt)!=null) {
				var objTxt = document.getElementById(PinLinkTxt);
				objTxt.firstChild.nodeValue = p4bLang.shortListOn;
				//document.getElementById(PinLinkTxt).innerHTML = 'On shortlist';
			}			
			
			
		}
	}
	else
	{
		//remove
		if (lastPin!=null) {
			if (lastPin == sellNum) { 
				lastPin =null;
			}
		}
		if (document.getElementById(PinSelText)!=null) {
			document.getElementById(PinSelText).style.display = 'none';
		}		
		if (bDelOnly==null)
		{
			if (document.getElementById(Pin)!=null) 
			{
				document.getElementById(Pin).src = '/images/icons/tick_box.gif';
			}
			else
			{
				document.getElementById('PINSINGLE').innerHTML = p4bLang.shortListAdd;

				if (document.getElementById('ADDDELTXT')!=null) {
					document.getElementById('ADDDELTXT').innerHTML = p4bLang.shortListAddIns	
				}
				
			}
			
			if (document.getElementById('BackBut')!=null) {
				Hide('BackBut');
			}			
		}
		varCurrent = varCurrent.replace(varSeller + ',', '');
		varTot = varCurrent.split(',').length - 2;
		if (varTot == 1)
		{	
			document.getElementById('BASKETNO').innerHTML = _p4bPrompt(p4bLang.shortListTot1,varTot.toString());
		}
		else
		{	
			document.getElementById('BASKETNO').innerHTML = _p4bPrompt(p4bLang.shortListTot,varTot.toString());
			if (varTot ==0 ) {
				if (document.getElementById('CONT1')!=null) {
					document.getElementById('CONT1').style.display = 'none';
					document.getElementById('CONT2').style.display = 'none';
					document.getElementById('BASKET2').style.display = 'none';
					document.getElementById('BASKETNO').innerHTML = '';
				}
			}
			else {
				document.getElementById('BASKETNO').innerHTML = _p4bPrompt(p4bLang.shortListTot,varTot.toString());
			}
				
		}
		
		if (document.getElementById(PinLinkTxt)!=null) {
			document.getElementById(PinLinkTxt).innerHTML = p4bLang.shortListOff;
		}					
		
		
	}
	dtNextDay = new Date();
	dtNextDay.setDate( dtNextDay.getDate()+1 );
	SetCookie ('SellerList', varCurrent, dtNextDay );
}

function FilterAdv() {
		
}

function Filter(strFields,strMain,strCat,strRefID,strSort) 
{
	var strUrl = '';
	var strData = '';
	var strCV = '';	
	var strFld;
	var bAdv = false;
	
	//base url
	switch (strMain.substring(0,2)) {
		case "nc":
			strUrl = '/cat_filter/' + strMain;
			break;
		case "ns":
			strUrl = '/skl_filter/' + strMain;
			break;
		case "an": case "al": /* this actually any or all */
			strUrl = AdvBuildUrl(strMain,true,true);
			bAdv = true;
			break;
		default:
			strUrl = strUrl + strMain;
	}
	
	var arrOthers = new Array();
	
	//category
	if (strCat!='') {
		strUrl = strUrl + '-ac' + strCat.toString();	
	}
	//auto combines
	if (strRefID!='') {
		var arrRef = strRefID.split(';');
		for (var i = 0; i < arrRef.length; i++) {
			strUrl = strUrl + '-r' + arrRef[i];
		}
	}

	var arrFlds = strFields.split('~');
	for (var i = 0; i < arrFlds.length; i++) {
		strFld = arrFlds[i];
		objData = document.forms['filter']['filter' + arrFlds[i]];
		if (objData==null) {
			strData = FilterCookie(strFld);	
		} else {
			strData = objData.value;
			if (strData==null) {
				strData = FilterCookie(strFld);			
			}
		}
		if (strData!=null) {
			switch (arrFlds[i]) {
				case "CV":
					strCV = escape(strData);
					break;
				default:
					var last = arrFlds[i].substring(strFld.length - 1);
					if (parseInt(last)) {
						//ran	
						strFld = strFld.substring(0,strFld.length - 1);						
						if (arrOthers[strFld]==null) {
							arrOthers[strFld] = escape(strData);
						} else {
							arrOthers[strFld] = arrOthers[strFld] + '-' + escape(strData);
						}						
					} else {
						arrOthers[strFld] = escape(strData);
					}
			}
		}
	}
	
	if (strSort=='') {
		var s1 = unescape( getCookie('SortA1'));
		var s2 = unescape( getCookie('SortA2'));
		if (s1=='NOWT' || s1 == null) s1='';
		if (s2=='NOWT' || s2 == null) s2='';
		if (!(s1=='' && s2=='')) {
			strSort = s1 + '-' + s2;	
		}
	}
	strUrl = strUrl + '_' + escape(strSort) + '_' + strCV;
	
	for (var i in arrOthers) {
		if (arrOthers[i]!=null) {
			if (arrOthers[i]!='') {
				strUrl = strUrl + '_' + i.toString() + escape(arrOthers[i]);
			}
		}		
	}
	
	if (bAdv==true) FilterCookieSave(strFields);
	
	window.location.href = (strUrl);
	return false;
	
}

function FilterCookie(strWhat) {
	var strCookie = unescape( getCookie('AdvSearchFilt') );
	var strUrl = '';
	var strBase = '';
	var strSort = '';
	var strCV = '';
	var strFilter = '';
	var strData = '';
	var bFound = false;
	var strReturn = '';
	
	var arr = strCookie.split('~');
	for (var i = 0; i < arr.length && !bFound; i++) {
		if (arr[i].substring(0,2)==strWhat) {
			bFound = true;
			strReturn = arr[i].substring(2);
		}
	}
	return strReturn;
}

function FilterCookieSave(strFields) {
	//only called when using advanced search
	var arrFlds = strFields.split('~');
	strCookie = '';
	for (var i = 0; i < arrFlds.length; i++) {
		strFld = arrFlds[i];
		objData = document.forms['filter']['filter' + arrFlds[i]];
		if (objData) {
			if (objData.value) {
				strCookie = strCookie + arrFlds[i] + objData.value + '~';
			}
		}
	}
	if (strCookie!='') {
		strCookie = strCookie.substr(0,strCookie.length - 1);	
	}
	
	var dtNextYear = new Date();
	dtNextYear.setDate( dtNextYear.getDate()+365 );	
	SetCookie('AdvSearchFilt',strCookie,dtNextYear);
	
}

function Sort(objSelect)
{
	var strSort;
	strName = objSelect.name;

	var dtNextYear = new Date();
	dtNextYear.setDate( dtNextYear.getDate()+365 );
	strSort = objSelect.options[objSelect.selectedIndex].value;	
	SetCookie(strName,strSort, dtNextYear);
	window.location.reload();	
	
}

function UrlSort(objSelect) {
	var arrFull = window.location.href.split('/');
	var strLast = arrFull[arrFull.length - 1];
	if (strLast) {
		var arrUrl = strLast.split('_');
		if (arrUrl.length>0) {
			//first set the cookie.
			var strName = objSelect.name;
			var dtNextYear = new Date();
			dtNextYear.setDate( dtNextYear.getDate()+365 );
			var strSort = objSelect.options[objSelect.selectedIndex].value;
			SetCookie (strName, strSort, dtNextYear );
			//now amend the url
			strLast = strName.substring(strName.length - 1);
			if (parseInt(strLast)) {
				var iLast = parseInt(strLast);
				if (arrUrl.length>1) {
					arrSort = arrUrl[1].split('-');
				} else {
					arrSort = new Array();	
				}
				arrSort[iLast - 1] = strSort;
				arrUrl[1] = arrSort.join('-');
			}			
			strLast = arrUrl.join('_');
			arrFull[arrFull.length - 1] = strLast
			window.location.href = (arrFull.join('/'));			
		}
	}
}

function AdvSort(objSelect, strMode)
{
	
	var argv = AdvSort.arguments;
	var argc = AdvSort.arguments.length;

    var strUrl = (argc > 2) ? argv[2] : '/Advanced.asp';

	strName = objSelect.name;
	dtNextYear = new Date();
	dtNextYear.setDate( dtNextYear.getDate()+365 );
	strSort = objSelect.options[objSelect.selectedIndex].value;
	SetCookie (strName, strSort, dtNextYear );
	/*strUrl = "/Advanced.asp";*/
	if (strMode !=null) strUrl = strUrl + '?Mode=' + strMode;
	if (strMode=='list') strUrl = '/List.asp';
	
	if (argc > 2)
	{
		tTime = new Date();
		tTime.getTime();	
		strUrl = strUrl + '&rnd=' + tTime.getTime().toString() + '#list';
	}
	document.location = (strUrl);
}

function AdvClick(sMode) {
	sNewUrl = AdvBuildUrl(sMode);
	if (sNewUrl!='') {
		window.location.href = (sNewUrl);	
	}
}

function AdvBuildUrl(sMode, bIgnore, bNoFilter)
{
	
	//cicking on the list sellers button;
	var sNewUrl = '';
	var strSort = '';
	var strFilter = '';
	var strCV = '';
	var strBase = '';
	if (sMode=='exact') {
		sNewUrl = '/all/';
	} else {
		sNewUrl = '/any/';
	}	
	
	var arrCheck = document.forms['AdvSrch']['AdvCrit'];
	if (!arrCheck.length) {
		//only have 1 item, so put into array.
		var fldCheck = arrCheck;
		arrCheck = new Array(fldCheck);
	}
	for (var i = 0; i < arrCheck.length; i++) {
		if (arrCheck[i].checked==true || bIgnore==true) {
			var arr = arrCheck[i].value.split('/');
			switch (arr[0]) {
				case 	"CV":
					strCV = arr[1];
					break;
				case "DI","RA":
					if (strFiler=='') {
						strFilter = arr[0] + arr[1];
					} else {
						strFilter = strFilter + '_' + arr[0] + arr[1];
					}
					break;
				case "Skill":
					if (strBase=='') { 
						strBase = 'ns' + arr[1];
					} else {
						strBase = strBase + '-ns' + arr[1];
					}
					break;
				case "Category":
					if (strBase=='') { 
						strBase = 'nc' + arr[1];
					} else {
						strBase = strBase + '-nc' + arr[1];
					}				
					break;
			}
		}
	}
	
	if (strBase!='') {
		if (bNoFilter==true) {
			sNewUrl = sNewUrl + strBase;
		} 
		else {
			sNewUrl = sNewUrl + strBase + '_' + strCV + '_' + strFilter;
		}
		return sNewUrl;
	} else {
		return '';	
	}
	
}

function AdvSearch(strCatSkill)
{
	//either add or remove search criteria
	varCurrent = unescape( getCookie('AdvSearchCrit') );
	if (varCurrent == 'null')
	{
		varCurrent = ',';
	}
	if (varCurrent.substr(0,1)!=',') {
		varCurrent = ',' + varCurrent;	
	}
	if ( varCurrent.indexOf(',' + strCatSkill + ',') == -1)
	{
		//add
		varCurrent = varCurrent + strCatSkill + ',';
	}
	else
	{
		//remove
		varCurrent = varCurrent.replace(',' + strCatSkill + ',', ',');
	}
	
	//alert varCurrent;
	dtNextDay = new Date();
	dtNextDay.setDate( dtNextDay.getDate()+1 );

	SetCookie ('AdvSearchCrit', varCurrent, dtNextDay );
}
function AdvRefresh()
{
	window.location.reload();
}
function ClearTender()
{
	var argv = ClearTender.arguments;
	var argc = ClearTender.arguments.length;
	var bReload = (argc > 0) ? argv[0] : null;
	
	var OldDT = new Date('Thu, 01 Jan 1970 00:00:01 GMT');
	SetCookie ('SellerList', ',',OldDT);
	/*SetCookie ('ResetTender','Yes');*/
	if (bReload!=null) {
		window.location.reload();
	}	
}

function SaveTender()
{
	SetCookie ('SaveTender','Yes');
	window.location.reload();	
}

function AlreadyContacted()
{
	var argv = AlreadyContacted.arguments;
	var argc = AlreadyContacted.arguments.length;
	var bCountDown = (argc > 0) ? argv[0] : null;
	if (bCountDown!=null) {
		alert (p4bLang.alreadyShort24hr);
	}
	else
	{
		alert (p4bLang.alreadyShortInfo);
	}
}

function CheckLen(Field,iMax,idInfo)
{
	var argv = CheckLen.arguments;
	var argc = CheckLen.arguments.length;
	var strBR = '';
	var strSP = '&nbsp;'
	
	var bHide = true;
	
	if (argc>3) {
		if (argv[3] == true) {
			strBR = '<br/>';
		}
	}
	
	if (argc>4) {
		//hide the span/div when no message?
		if (argv[4] == true) {
			bHide = true;
		}
	}
	
	if (argc>5) {
		if (argv[5] == true) {
			strSP = '' //don't use a space on the front
		}
	}
	
	varMsg = ''
	varWrn = '';
	switch (idInfo) {
		default:
			varMsg = p4bLang.textCount;
			varWrn = _p4bPrompt(p4bLang.textCountWarn, iMax);
	}
	varCurrent = document.getElementById(idInfo);
	if (varCurrent!=null) {
		varLen = Field.value;
		if (varLen.length > iMax) {
			varMsg = varMsg + varWrn;
		}
		if ( (10 * varLen.length) < (iMax * 8) ) {
			if (varCurrent.innerHTML !='') {
				varCurrent.innerHTML = '';
				if (bHide) {
					varCurrent.style.display = 'none';
				}
			}
		}
		else {
			if (varCurrent.innerHTML == '') {
				varCurrent.style.display = '';
			}
			varCurrent.innerHTML =  strSP + varLen.length + varMsg + '&nbsp;' + strBR;
		}

	}
	
}
function CheckFld(Field)
{
	//style.display
	varFieldValue = Field.value;
	varFieldName = Field.id.substring(5,Field.id.length);
	var bHide;
	
	bHide=false;

	if (Field.type=='radio')
	{
		var varTD = document.getElementById(varFieldName.substring(0,varFieldName.length-1) + 'Error');
	}
	else
	{
		var varTD = document.getElementById(varFieldName + 'Error');
	}
	varCurrentStyle = varTD.style.display;

	if ( (Field.value == '') && (varCurrentStyle = 'none') && (Field.name.toLowerCase() !='password') )
	{
		varTD.style.display = '';
	}
	else
	{	
		objRe = /email/;
		if ( objRe.test(Field.name.toLowerCase() ) == true )
		{
			//Make sure it's a valid email address
			//objReEmail = /^\w+@[a-zA-Z]+\.[a-zA-Z]{2,4}/;
			
			objReEmail = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

			//alert(objReEmail.test(varFieldValue));
			
			if (objReEmail.test(varFieldValue) == false)
			{
				//Not a valid email
				bOk = false;
				//show the error
				var strName = Field.id.substring(5,Field.name.length);
				
				if (strName !='') 
				{
					var objErrText = document.getElementById(strName +'ErrorText');
					objErrText.innerHTML = p4bLang.invalidEmail;
					if (varTD.style.display == 'none') 
					{
						varTD.style.display = '';
					}
				}
			}
			else if (varTD.style.display != 'none')
			{
				varTD.style.display = 'none';
				bHide = true;
			}
		}
		else if (Field.name.toLowerCase() =='password')
		{
				var passImg;
				var bchkLen = false;
				var bchkNum = false;
				var bchkSpec = false;
				var bUppLow = false;
				var iTot=0;
				var bShowMessage = false;
				
				var sfile3 = p4bLang.fpassword3;
				if (!sfile3) sfile3 = '/images/password_3.gif';
				var sfile2 = p4bLang.fpassword2;
				if (!sfile2) sfile2 = '/images/password_2.gif';
				var sfile1 = p4bLang.fpassword1;
				if (!sfile1) sfile1 = '/images/password_1.gif';
				var sfile0 = p4bLang.fpasswordoff;				
				if (!sfile0) sfile0 = '/images/password_off.gif';
				
				passImg = document.getElementById('pwimg');
				var objErrText = document.getElementById('PassWordErrorText');
				if (varFieldValue.length >=8) {bchkLen = true;iTot++;}
				if (varFieldValue.match(/[0-9]/) != null) {bchkNum = true;iTot++;}
				if (varFieldValue.match(/[!,@,#,$,%,^,&,£,*,?,\-,_,~,\(,\),\.,\,,:,;,<,>,\|,\\,\{,\},\[,\],\=,\+,\/,\',\"]/)) {bchkSpec = true;iTot++;}
				if (varFieldValue.match(/([a-z].*[A-Z])|([A-Z].*[a-z])/)) {bUppLow = true;iTot++;}
				
				if (varTD.style.display == 'none') varTD.style.display = 'inline';
					
				if (passImg!= null) 
				{
					if (bchkLen && bchkNum && bchkSpec && bUppLow )
					{
						if (varCurrentStyle !='none') 
						{
							/*varTD.style.display = 'none';*/
							bHide = true;
							passImg.src = sfile3;	
						}
						passImg.src = sfile3;
						if (objErrText && bShowMessage) {
							objErrText.innerHTML = '<br/>';
						}
					}
					else
					{
						if (objErrText && bShowMessage) {
							var strMessage;
							if (bchkLen)
							{
								strMessage = p4bLang.password;
							}
							else
							{
								strMessage = p4bLang.passwordLen;
								if (iTot<3) strMessage = strMessage + p4bLang.passwordCont;else strMessage = strMessage + ' ';
							}
	
							if (!bchkNum) strMessage = strMessage + p4bLang.passwordNum + '~ ';
							if (!bUppLow) strMessage = strMessage + p4bLang.passwordCase + '~ ';
							if (!bchkSpec) strMessage = strMessage + p4bLang.passwordSym + '~ ';
	
							strMessage = strMessage.substr(1,(strMessage.length-3));
	
							var strBefore,varAfter;
							iPos = strMessage.lastIndexOf('~')
	
							if (iPos > 0) {
								var strNewMessage = strMessage.substr(0,iPos+1) + p4bLang.and + strMessage.substr(iPos+1,strMessage.length);
								strMessage = strNewMessage.replace(/~/g,';') + '.';
							}
							objErrText.innerHTML = strMessage;
						}
						
						
						if (varFieldValue!='') 
						{ 
							if (iTot < 2) passImg.src = sfile1;	
							else passImg.src = sfile2;	
						}
						else passImg.src = sfile0;						
							
					}
				}
				
		}
		else if ( (Field.value != '') && (varCurrentStyle != 'none') )
		{
			varTD.style.display = 'none';
			bHide = true;
		}
	
	}
	
	if (bHide == true)
	{
		genError = document.getElementById('GenError');
		if (genError!=null) {
			if (genError.style.display != 'none') genError.style.display='none';	
		}

	}

}

function ExpChk(formName,sDecimal)
{
	//make sure there is a day selected next to each expense item (that has a cost)//
	var colInputs = document.getElementsByTagName('input');
	var strChkFld = '/Time/Expense/Value*';
	var strInputName, strDateField, strDate, strInputValue;
	var bOk;
	var strWhich='';
	var iErrCnt = 0;
	bOk = true;
	for (i = 0; i < colInputs.length; i++)
	{
		strInputName = colInputs[i].name;
		strInputValue = colInputs[i].value;
		
		if ( (strInputName.substr(0,strChkFld.length) == strChkFld) && (strInputValue > 0 ) ) {
			strDateField = '/Time/Expense/Day*' + strInputName.substr(strInputName.length -1);
			if (document.forms[formName][strDateField] !=null) {
				strDate = document.forms[formName][strDateField].selectedIndex;
				if (! (strDate > 0) ) {
					//no valid day entered
					bOk = false;
					if (sDecimal) {
						if (sDecimal!='.') {
							strInputValue = strInputValue.replace('.',sDecimal);
						}
					}						
					strWhich = strWhich + strInputValue + ', ';
					iErrCnt = iErrCnt + 1;
				}
			}
		}
		
	}
	if (!(bOk)) {
		strWhich = strWhich.substr(0,strWhich.length - 2);
		var strMess;
		if ( iErrCnt == 1) {
			strMess = _p4bPrompt(p4bLang.expErrorSingle,strWhich);
		}
		else {
			strMess = _p4bPrompt(p4bLang.expErrorMulti,strWhich);
		}
		strMess = strMess + p4bLang.expErrorLine2;
		
		if (document.getElementById('EXP') !=null) {
			//make sure the expenses are visible
			document.getElementById('EXP').style.display = 'block';
		}
		alert (strMess);
	}
	return bOk;
	
}

function SubmitChk(formName)
{
	
	//validate form
	bOk = new Boolean(true);
	
	var bSkip = false;
	var strUserT = '';
	
	var argv = SubmitChk.arguments;
	var argc = SubmitChk.arguments.length;	
	
	var strErrorName;
	var varColInputs;
	var strSpecial = '';
	
	if (argc > 1) {
		strSpecial = argv[1];
	}
	
	var fldUT =  document.forms['fred']['/User/UserType'];
	if (fldUT) {
		strUserT = fldUT.value; 						
	}
	
	tagTypes = ['textarea' , 'input', 'select'];
	
	for (var iTag in tagTypes)
	{
		varColInputs = document.getElementsByTagName(tagTypes[iTag]) 
	
		for (i=0; i < varColInputs.length; i++) 
		{
			bSkip = false;
			if (varColInputs[i].id.substring(0,5)=='Input')
			{
				if (varColInputs[i].type =='radio')
				{
					var bChkOk = new Boolean(false); 
					var varChkName = varColInputs[i].id.substring(5,varColInputs[i].id.length);
					var strMakeSure = varChkName.substring(varChkName.length-2,varChkName.length-1); //make sure we aren't on 11 or 21 etc
					if (isNaN(strMakeSure) && varChkName.substring(varChkName.length-1,varChkName.length) == '1') 
					{
						//only loop on 1st radio
						varChkName = varChkName.substring(0,varChkName.length-1);
						for (iLoop=0; iLoop < document.forms[formName][varChkName].length; iLoop++) 
						{
							varChecked = new Boolean(document.forms[formName][varChkName][iLoop].checked);
							if (varChecked == true) bChkOk = true;
						}
						if (bChkOk ==false) 
						{
							objErr = document.getElementById(varChkName +'Error');
							bOk = false;
							if (objErr.style.display == 'none') objErr.style.display = 'inline';
						}
					}
					
				}
				else if (varColInputs[i].type =='checkbox') {
					if (varColInputs[i].checked == false) {
						bOk = false;
						//show the error
						var strName = varColInputs[i].id.substring(5,varColInputs[i].id.length);
						
						if (strName !='') 
						{
							objErr = document.getElementById(strName +'Error');
							if (objErr!=null) {
								if (objErr.style.display == 'none') 
								{
									objErr.style.display = 'inline';
								}
							}
						}						
					}
				}
				else
				{
					var strName = varColInputs[i].id.substring(5,varColInputs[i].id.length);
					var strValue = varColInputs[i].value;
					
					if (strSpecial == 'canada') {
						if (strName == 'County') {
							if (strValue == 'Quebec' && strUserT=='zBUYER') {
								ShowAlert('quebec');
								bOk = false;
							}
						}						
					}
					
					if ( strValue == '' ) 
					{	
						//show the error
						if (strSpecial == 'canada') {
							
							if (strName == 'WSIB_Category') {
								//see if they have a certificate
								var objWSIBCert = document.getElementById('InputWSIB_Cert');
								if (objWSIBCert) {
									if (objWSIBCert.value == 'Yes') {
										bSkip = true;		
									}
								}
								
							}
							if (strName == 'WSIB_Cert') {
								//ontario only
								var objCounty = document.getElementById('InputCounty');
								if (objCounty.value != 'Ontario') {
									bSkip = true;								
								}
							}
						}
						
						if (bSkip==false) {
							bOk = false;
							if (strName !='') 
							{
								objErr = document.getElementById(strName +'Error');
								if (objErr!=null) {
									if (objErr.style.display == 'none')
									{
										objErr.style.display = '';
									}		
								}
							}
						}
					}
					else
					{
						objRe = /email/;
						if ( objRe.test(varColInputs[i].id.toLowerCase() ) == true )
						{
							//Make sure it's a valid email address
							objReEmail = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
							if (objReEmail.test(strValue) == false)
							{
								//Not a valid email
								bOk = false;
								//show the error
								var strName = varColInputs[i].id.substring(5,varColInputs[i].id.length);
								
								if (strName !='') 
								{
									objErr = document.getElementById(strName +'Error');
									var objErrText = document.getElementById(strName +'ErrorText');
									objErrText.innerHTML = ' Invalid Email';
									if (objErr.style.display == 'none') 
									{
										objErr.style.display = 'inline';
									}
								}
								
							}
						}
					}
				}
			}
		}
	}
	
	//Finally check for any password & password confirm fields
	var objPass = document.forms[formName]['PassWord'];
	if (objPass != null) 
	{
			var objPass2 =  document.forms[formName]['PassWord2'];
			if (objPass2 != null)
			{
				objErr = document.getElementById('PassWordError');
				var objErrText = document.getElementById('PassWordErrorText');
				var strPass = objPass.value;
				var bMess = false;
				
				if (objErrText && objErr) bMess = true;

				if (strPass.length <5)
				{
					if (bMess) {
						objErrText.innerHTML = p4bLang.passwordErrLen;
						objErr.style.display = '';
						objErrText.style.display = '';
					}
					bOk = false;
				}
				else if (objPass.value != objPass2.value)
				{
					objErrText.innerHTML = p4bLang.passwordErrConf;
					objErr.style.display = '';
					objErrText.style.display = '';
					bOk = false;
				}
				else
				{
					if (bMess) {
						if (objErrText.style.display !='none') objErrText.style.display = 'none';
					}
				}
			}
	}
	
	if (bOk == false) {
		//show the general error message
		genError = document.getElementById('GenError');
		if (genError!=null) genError.style.display = 'block';
	}

	return bOk;
		
}

function navtab(strBase,iNum,vExtra) {
	var strOn = 'navtabon';
	if (vExtra) strOn += vExtra.toString();
	var strOff = 'navtaboff';
	if (vExtra) strOff += vExtra.toString();
	var strTab = strBase + 'tab' + iNum.toString();
	var oldTab;
	var strOldRef;
	if (document.getElementById) {
		var tabRef = document.getElementById(strTab);
		if (tabRef.className == strOff) {
			//swap tabs
			tabRef.className = strOn;
			Show(strBase + 'cont' + iNum.toString());
			
			//swap old tabs (and content)
			var bStop = false;
			for (var i = 1; i<20 && !bStop;i++) {
				if (i != iNum) {
					strOldRef  = strBase + 'tab' + i.toString();
					oldTab = document.getElementById(strOldRef);
					if (oldTab) {
						if (oldTab.className == strOn) {
							oldTab.className = strOff;
							Hide(strBase + 'cont' + i.toString());
						}
					} else {
						bStop = true;
					}
				}
			}
		}
	}
}

function WSIB(strName) {
	//show or hide the wsib - depends on province??
	var objWSIB_Cat = document.getElementById('WSIB_Cat');
	var objWSIB_Cat2 = document.getElementById('WSIB_Cat2'); //info mesage
	
	var objWSIB_Cert = document.getElementById('WSIB_Cert');
	
	var fldCounty = document.getElementById('InputCounty');
	var fldWSIB_Cat = document.getElementById('InputWSIB_Category');
	var fldWSIB_Cert = document.getElementById('InputWSIB_Cert');
	
	if (fldWSIB_Cat && fldCounty && fldWSIB_Cert && objWSIB_Cat && objWSIB_Cert) {
		switch(strName) {
			case "InputCounty":
				if (fldCounty.value == 'Ontario') {
					objWSIB_Cert.style.display = '';
					if (fldWSIB_Cert.value == 'Yes') {
						objWSIB_Cat.style.display = 'none';
						if (objWSIB_Cat2) {
							objWSIB_Cat2.style.display = 'none';
						}
					}
				} else {
					objWSIB_Cert.style.display = 'none';
					objWSIB_Cat.style.display = '';	
					if (objWSIB_Cat2) {
						objWSIB_Cat2.style.display = '';
					}
					
				}
				
				if (fldCounty.value == 'Quebec') {
					//ShowAlert('quebec');
				}
				
				break;
			case "InputWSIB_Cert":
				var objWSIB_CertUp = document.getElementById('WSIB_CertUp');
				if (fldWSIB_Cert.value == 'Yes') {
					objWSIB_Cat.style.display = 'none';
					if (objWSIB_Cat2) {
						objWSIB_Cat2.style.display = 'none';
					}					
					fldWSIB_Cat.value = '';
					if (objWSIB_CertUp) {
						objWSIB_CertUp.style.display = '';
					}
				} 
				else 
				{
					objWSIB_Cat.style.display = '';
					if (objWSIB_Cat2) {
						objWSIB_Cat2.style.display = '';
					}					
					
					if (objWSIB_CertUp) {
						objWSIB_CertUp.style.display = 'none';
					}					
				}
				break;
			case "InputWSIB_Category":
				break;
		}
					
	}
	else {
		//a buyer?
		if (fldCounty && strName=="InputCounty") {
			if (fldCounty.value == 'Quebec') {
				var fldUT =  document.forms['fred']['/User/UserType'];
				if (fldUT) {
					if (fldUT.value == 'zBUYER') {
						ShowAlert('quebec');
					}
				}
			}
		}
	}
	
	
}

function ShowAlert(strType) {
	switch(strType) {
		case "quebec":
			alert('Please note: 4fmv does not currently offer services in the province of Quebec.\nIf you would like us to let you know when this changes, please e-mail us - info@4fmv.ca');
			break;
	}
}

function AboutQRCode(id) {
	if (typeof(dhtmlmodal)=='object') {
		modalPopup = dhtmlmodal.open('QRCode','div','qrdiv','Enlarged QR code for easier scanning','width=500px,height=300px,center=1,resize=0,scrolling=0,autoheight=1');			
	}	
}


function ShowVideo(strUrl, strTitle) {

	var strNewUrl = strUrl.replace("/watch?v=","/embed/") + "?rel=0&amp;autoplay=1";
	popupVideo = dhtmlmodal.open('VideoBox', 'iframe', strNewUrl, strTitle, 'center=1,width=640,height=390,autoheight=0,resize=0,scrolling=0');	
}

function canadaTenderLocation(objField) {
	if (objField.value) {
		switch (objField.value) {
			case 'SPECIFIC':
				Show('Address');
				break;
			default:
				Hide('Address');
				break;
		}
	
	}
}

function _p4bPrompt(strText) {
	var argv = _p4bPrompt.arguments;
	var argc = _p4bPrompt.arguments.length;
	
	if (!strText) strText = '';
	
	var strReturn = strText;
	if (argc>1) {
		for (var i=1;i < argc; i++) {
			strReturn = strReturn.replace('^%' + i.toString() +'^',argv[i].toString());
		}
	}
	return strReturn;
	
}

function prePropSearch() {
	
	if (document.getElementById !=null) {
		var objSearch = document.getElementById('quick_search');
		if (objSearch) {
			if (objSearch.value=='') {
				objSearch.value = p4bLang.defaultSearch;
				
				var objSearchForm = document.getElementById('search_form');
				if (objSearchForm) {
					if (objSearchForm.addEventListener) // W3C standard
					{
					  window.addEventListener('submit', prePropSearchSub, false); // NB **not** 'onload'
					} 
					else if (objSearchForm.attachEvent) // Microsoft
					{
					  window.attachEvent('onsubmit', prePropSearchSub);
					}										
					
				}
			}
		}
	}
}

function prePropSearchSub(bFromClick) {
	var bReturn = true;
	var objSearch = document.getElementById('quick_search');
	if (objSearch) {
		var strDef = p4bLang.defaultSearch;
		if (objSearch.value == strDef) {
			if (bFromClick==true) {
				bReturn = false;
			} else {
				objSearch.value = '';
				/*black*/
				objSearch.className += " black";
			}
		} else {
			if (objSearch.className.indexOf(" black")==-1) {
				objSearch.className += " black";
			}
		}
	}
	return bReturn;
}




//-->
