// JavaScript Document

function CheckOptions()
{
	return HasSelected(Form1.elements['template'], 'Product');
}

function openWin(strURL)
{
    var winCurrent
	winCurrent = window.open(strURL, "", "width=600,height=400,toolbar=0,status=0,location=0,menubar=0,scrollbars=1,resizable=1");
	winCurrent.focus(); 
}


function HasSelected(ctrlRadio, strCaption)
{
  var blnOK = false;

  if (ctrlRadio.length != null)
  {
	for(var i=0; i < ctrlRadio.length; i++)
	{
		if (ctrlRadio[i].checked)
		{
			if(document.getElementById("totalqty" + ctrlRadio[i].value) != null)
			{
				if(!String(document.getElementById("totalqty" + ctrlRadio[i].value).value).match(/^\d+$/))
				{
					alert("Please enter a numeric quantity");
					document.getElementById("totalqty" + ctrlRadio[i].value).focus();
					return false;
				}
			}
			blnOK = true;
			if (!CheckExtraFields(ctrlRadio[i].value))return false;
		}
	}
	if (blnOK)return true;
  }
  else if (ctrlRadio.checked)
  {
     return CheckExtraFields(ctrlRadio.value);
  }
  alert('Please select a ' + strCaption);
  return false;
}

function CheckExtraFields(ProductId)
{
	<!--CheckProductFields-->
	return true;
}

function openHelp(strURL)
{
    var winCurrent
	winCurrent = window.open(strURL, "", "width=450,height=400,toolbar=0,status=0,location=0,menubar=0,scrollbars=1,resizable=1");
	winCurrent.focus(); 
}



function FillBox(strCurBox, intArrayIndex)
{

	var aryArraysCur = eval('aryArrays' + intArrayIndex);
	var aryBoxesCur = eval('aryBoxes' + intArrayIndex);
	var aryBoxValuesCur = eval('aryBoxValues' + intArrayIndex);

	for (var i=0; i<aryArraysCur.length; i++)
	{
		if (aryArraysCur[i] == strCurBox)
		{
			aryBoxValuesCur[i] = Form1.elements[aryBoxesCur[i]].value;
			for (var j=i+1; j<aryArraysCur.length; j++)
			{

				SetupBox(Form1.elements[aryBoxesCur[j]], eval(aryArraysCur[j]), j, intArrayIndex);
			}
			
			break;
		}
	}

	for (var i=0; i<aryBoxesCur.length; i++)
	{
		aryBoxValuesCur[i] = Form1.elements[aryBoxesCur[i]].value;
	}

	GetCost(aryProductIds[intArrayIndex-1], intArrayIndex);

}

function GetCost(strProduct, intArrayIndex)
{
	var aryCosting = eval('aryProductCost'+strProduct);
	var aryUrgentCosting = eval('aryProductUrgentCost'+strProduct);
	var intIndex = -1;
	var cboCurrent = document.getElementById('qty' + strProduct);
	var i=0;
	var strCost2 = 0;
	var strCost=0;
	var strUrgentCost=0;

	if(cboCurrent[cboCurrent.selectedIndex].value != 0)
	{
		for (i=0; i<aryCosting.length; i=i+2)
		{
			if (aryCosting[i]==cboCurrent[cboCurrent.selectedIndex].value)
			{
				intIndex = i;
				break;
			}
		}
	} else {
		for (var i=0; i < Form1.elements.length; i++)
		{
			if (Form1.elements[i].type == "checkbox")
			{
				if (Form1.elements[i].value == strProduct)
				{
					Form1.elements[i].style.display = "none";
				}
			}
		}
	}

	if (intIndex >= 0)
	{
		strCost = aryCosting[intIndex+1];

		if (Form1.elements['urgent' + strProduct].value != '')
		{
			if (Form1.elements['urgent' + strProduct].checked)strUrgentCost = aryUrgentCosting[intIndex+1];
		}

		if (strCost == '')strCost = 0;
		if (strUrgentCost == '')strUrgentCost = 0;

	}

	if (intArrayIndex > 0)
	{
		var aryCur = eval('aryBoxValues' + intArrayIndex)
		var aryCur2;
		for (i=0; i<aryCur.length; i++)
		{
			if (aryCur[i] != '')
			{
				aryCur2 = eval(eval('aryArrays' + intArrayIndex)[i]);
				for (var j=0; j<aryCur2.length; j++)
				{
					if (aryCur2[j][0] == aryCur[i])
					{

						strCost2 = strCost2 + parseFloat(aryCur2[j][5]);
						break;
					}
				}

			}
		}

	}
	
	strCost = strCost + strCost2 + strUrgentCost;
	if (strCost == 0){strCost=''}else{strCost = CurrencyFormatted(strCost)};

	if (strCost != '')strCost = '<br>{CurrencySymbol}' + strCost;
	eval('templatecost' + strProduct).innerHTML=strCost;

}

function CurrencyFormatted(strCost)
{
	var minus = '';
	var i = parseFloat(strCost);

	if(isNaN(i))i=0.00;
	if(i < 0)minus = '-';

	i = Math.abs(i);
	i = parseInt((i + .005) * 100);
	i = (i / 100);
	s = new String(i);
	if(s.indexOf('.') < 0)s += '.00';
	if(s.indexOf('.') == (s.length - 2))s += '0';
	s = minus + s;
	return s;
}
function SetupBoxes()
{

	var aryArraysCur;
	var aryBoxesCur;

	for (var i=1; i<=aryProductIds.length; i++)
	{

		aryArraysCur = eval('aryArrays' + i);
		aryBoxesCur = eval('aryBoxes' + i);

		for (var j=0; j<aryBoxesCur.length; j++)
		{
			SetupBox(document.getElementById(aryBoxesCur[j]), eval(aryArraysCur[j]), j, i);

		}
	}


	for (var i=0; i<aryAllProductIds.length; i++)
	{
		GetCost(aryAllProductIds[i], 0);
	}


}

function SetupBox(cboCur, aryOp, intIndex, intArrayIndex)
{
	var aryCur;
	var aryCur2;
	var aryCur3;
	var aryCurBoxValues;
	var cboCur;
	var blnAddIt=true;

	aryCurBoxValues = eval('aryBoxValues' + intArrayIndex);

	while (cboCur.length > 0)cboCur.remove(0);
	
	cboCur[cboCur.length] = new Option('', '');

	for(var i=0; i<aryOp.length; i++)
	{
		aryCur = aryOp[i];
		
		for (var j=0;  j < aryCur.length; j=j+6)
		{
			if (aryCur[j+2] == true)
			{
				blnAddIt = true;
				
			}
			else
			{
				aryCur2 = eval('aryLink' + aryCur[j]);
				for (var k=0; k<aryCur2.length; k++)
				{
					aryCur3 = aryCur2[k];
					blnAddIt=true;
					for (var l=0; l<aryCur3.length; l++)
					{
						
						blnAddIt = InArray(aryCur3[l], aryCurBoxValues);
						if (blnAddIt == false)break;

					}
					
					if (blnAddIt)break;
				}
				
				
			}
			if (blnAddIt)
			{
				cboCur[cboCur.length] = new Option(aryCur[j+1], aryCur[j]);
				if (aryCurBoxValues[intIndex] == aryCur[j])cboCur.selectedIndex = cboCur.length-1;
			}

		}
	}


	return true;
}

function InArray(strItem, aryCurBoxValues)
{

	for (var i=0; i<aryCurBoxValues.length; i++)
	{
		if (strItem == aryCurBoxValues[i])return true;
	}

	return false;
}


function showhelp(strHeader, strHelp,evt, blnShow) {
  
  var tempX = 0;
  var tempY = 0;
  var strVis="hidden";
  var IE = document.all?true:false;
  var hp = document.getElementById("help_popup").style;

  document.getElementById("help_header").innerHTML = "";
  document.getElementById("help_body").innerHTML =  "";
  hp.visibility = "hidden";


  if (blnShow)
  {
    strVis = "visible";
    if (IE)
    {
      tempX = event.clientX + document.body.scrollLeft;
      tempY = event.clientY + document.body.scrollTop;
    }
    else
    {
      tempX = evt.pageX;
      tempY = evt.pageY;
    }


    hp.top = tempY-30;
    hp.left = tempX+20;

    document.getElementById("help_header").innerHTML = strHeader;
    document.getElementById("help_body").innerHTML = strHelp;
  }  

    hp.visibility = strVis;

}

function isWhitespace (strCurrent)
{   
    var i;
    var whitespace = " \t\n\r";
	
    if (isEmpty(strCurrent)) return true;

    for (i = 0; i < strCurrent.length; i++)
    {   
        var c = strCurrent.charAt(i);

        if (whitespace.indexOf(c) == -1) return false;
    }
    
    return true;
}

function isEmpty(strCurrent)
{  
	return ((strCurrent == null) || (strCurrent.length == 0))
}

function CheckEntry(ctrlCur, strCaption, blnRequired, strLength, strType, strErrorMessage)
{
	var strTempMsg = strErrorMessage;

	if ((isWhitespace(Form1.elements[ctrlCur].value)) && blnRequired)
	{
		alert('You must enter a value for ' + strCaption);
		Form1.elements[ctrlCur].focus();
		return false;
	}

	if (strLength != '')
	{
		var intLen = parseInt(strLength);

		if (intLen != 0)
		{
			if ((Form1.elements[ctrlCur].value.length != intLen) && (strType == 'exactly'))
			{
				if ((blnRequired == false) && (Form1.elements[ctrlCur].value.length==0))return true;
				if (strErrorMessage == ''){strTempMsg='Please enter ' + strLength + ' characters for ' + strCaption}
				alert(strTempMsg);
				return false;
			}

			if ((Form1.elements[ctrlCur].value.length < intLen) && (strType == 'at least'))
			{
				if ((blnRequired == false) && (Form1.elements[ctrlCur].value.length==0))return true;
				if (strErrorMessage == ''){strTempMsg='Please enter at least ' + strLength + ' characters for ' + strCaption}
				alert(strTempMsg);
				return false;
			}

			if ((Form1.elements[ctrlCur].value.length > intLen) && (strType == 'at most'))
			{
				if ((blnRequired == false) && (Form1.elements[ctrlCur].value.length==0))return true;
				if (strErrorMessage == ''){strTempMsg='Please enter at most ' + strLength + ' characters for ' + strCaption + '\n(You have entered ' + Form1.elements[ctrlCur].value.length + ' characters)'}
				alert(strTempMsg);
				return false;
			}
		}
	}
	return true;
}

