iens6=document.all;
isNN=!document.all&&document.getElementById;
ns4=document.layers;
var isIE=document.all;
//  var img = new Image();
//  img.src = files[fileIndex];
var canvas;
var canvasContext;
var canvasTouchPad;
var canvasTouchPadContext;
var canvasDrawHelper;
var canvasDrawHelperContext;
//var canvasDrawHelper1;
//var canvasDrawHelper1Context;
var startPositionX = 0;
var startPositionY = 0;
var startMouseDownPositionX = 0;
var startMouseDownPositionY = 0;
var mouseDown = 0;
var color = "black";
var defaultColor = "black";
var actionType = "draw";
var drawStraight = 0;
var fontSize = 10;
var submitFlag = 0;
var wrongBrowser = 0;


// format the phone number
function toFormat(phone)
{
	phoneString = phone.value;
	if(phoneString.indexOf('1') == 0)
	{
		phoneString = phoneString.replace(/^(\d{1})(\d{3})(\d{3})(\d{4})/,'$1-$2-$3-$4');
	}
	else
	{
		phoneString = phoneString.replace(/^(\d{3})(\d{3})(\d{4})/,'$1-$2-$3');
	}
	phone.value = "";
	phone.value = phoneString;
}

function numericsOnly(obj) 
{
	if(obj.value.length>0) 
	{
		obj.value = obj.value.replace(/[^\d]+/g, ''); 
	}
}
function getObject(objName)
{
	var theObj;
	if(document.getElementById(objName))
	{
		theObj = document.getElementById(objName);	
	}
	if(isIE) 
	{
		theObj=document.getElementById? document.getElementById(objName):document.all.objName;
    }
    else if (ns4)
    {
       	theObj = eval("document." + objName);
    }	
      return theObj;
}

function CheckKey(event) 
{
	if(!event)
	{
		event = window.event;
	}
	if (event.keyCode == 13)
	{
		printTextOnCanvas(true);
		event.returnValue=false; 
		event.cancel = true;
	}
}

function shrinkSampleLayer()
{
	if(getObject("divSampleLayer"))
	{
		getObject("divSampleLayer").style.height = '1';
		getObject("divSampleLayer").style.width = '1';
		getObject("divSampleLayer").style.visibility = 'hidden';
	}
	
} 

function expandSampleLayer()
{
	if(getObject("divSampleLayer"))
	{
		getObject("divSampleLayer").style.visibility = 'visible';
		getObject("divSampleLayer").style.height = '402';
		getObject("divSampleLayer").style.width = '750';
	}
	
}

function blurOnEnter(obj)
{
	if (event.keyCode == 13)
	{
		if(color == "green")
		{
			className = "flatInputGreenNoBorder";
		}
		else if(color == "blue")
		{
			className = "flatInputBlueNoBorder";
		}
		else
		{
			className = "flatInputNoBorder";
		}
		obj.style.width = parseInt(obj.value.length) * fontSize;
		obj.className = className;
		setFocusToCanvas();
		return false;
	}
}

function inputFocused(obj)
{
/*
	selectionStart = 0;
	selectionEnd = obj.value.length;

	if (obj.setSelectionRange) 
	{
		obj.focus();
		obj.setSelectionRange(selectionStart, selectionEnd);
	}
	else if (obj.createTextRange) 
	{
		obj.focus();
		var range = obj.createTextRange();
		range.collapse(true);
		range.move("character", 0);
		range.moveEnd('character', selectionEnd);
		range.moveStart('character', selectionStart);
		range.select();
		
	}
	*/
	//obj.setSelectionRange(1,obj.value.length);
	if(actionType == "type")
	{
		obj.className = "inputHilite"
	}
}
function inputBlurred(obj)
{
	if(actionType == "type")
	{
		obj.style.width = parseInt(obj.value.length) * fontSize;
		if(color == "green")
		{
			className = "flatInputGreenNoBorder";
		}
		else if(color == "blue")
		{
			className = "flatInputBlueNoBorder";
		}
		else
		{
			className = "flatInputNoBorder";
		}
		obj.className = className;
		setFocusToCanvas();
	}
}
function setFocusToCanvas()
{
	getObject("divCanvas").focus();
}

function setTextOnBlur()
{
	
}

function printTextOnCanvas(blurText) 
{

	if(getObject("canvasText").value != "")
	{
	
		var inputWidth = parseInt(getObject("canvasText").value.length) * fontSize;//10 for two spaces
		var divWidth = parseInt(inputWidth) + 12;
		var className = "";
		if(color == "green")
		{
			className = "flatInputGreenNoBorder";
		}
		else if(color == "blue")
		{
			className = "flatInputBlueNoBorder";
		}
		else
		{
			className = "flatInputNoBorder";
		}
		var divTop = parseInt(getObject("divCanvasText").style.top);
		var label = '<div onMouseover="isHot=true;" onMouseout="isHot=false" class="divStyle" style="width=' + divWidth + 'px; top:' + divTop + '; left:' + parseInt(parseInt(getObject("divCanvasText").style.left) - 8) + ';">&nbsp;&nbsp;<input type="text" class="' + className + '" onFocus="inputFocused(this);" onBlur="inputBlurred(this)" onKeyDown="blurOnEnter(this);" style="width:' + inputWidth + '" value="' + unescape(encodeHTMLText(getObject("canvasText").value)).replace(/\"/g,"&quot;") + '" ></div>' ;
		getObject("canvasTextWrapper").innerHTML = label + getObject("canvasTextWrapper").innerHTML;
		getObject("canvasText").value = "";
		if(blurText)
		{
		//place the text temp at position 0,0
			getObject("canvasText").style.top = 0;
			getObject("canvasText").style.left = 0;
			setFocusToCanvas();
		}
	}
}

function initCanvas()
{	
	canvas = getObject("drawArea");
	canvasTouchPad = getObject("drawAreaTouchPad");
	canvas = getObject("drawArea");
	canvasDrawHelper = getObject("drawAreaHelper");
	if (canvas && canvas.getContext)
	{
		canvasContext = canvas.getContext('2d');
		canvasTouchPadContext = canvasTouchPad.getContext('2d');
		canvasDrawHelperContext = canvasDrawHelper.getContext('2d');
	}
	getObject("imgDraw").src = "images/drawPressed.gif"
	initMouseListeners();
	SetFocusToFirstEmptyField();
}

function showFaxDrawing()
{
	shrinkSampleLayer() // as default shrink sample layer.
	
	if(savedHTML != "")
	{
		if(savedHTML.indexOf("base64") >= 0)
		{
				if(isIE)
				{
					wrongBrowser = 1;
					alert("The drawing was created in FireFox and will not show up in IE. \n\nPlease open the fax in FireFox.");
				}
				t=setTimeout("displayImage(savedHTML);", 250);
		
		}
		else
		{
			if(!isIE)
			{
				wrongBrowser = 1;
				alert("The drawing was created in Internet Explorer and will not show in other browsers.\n\n Please open the fax in Internet Explorer.");
			}
			canvasContext.displaySavedHTML(decodeImage(savedHTML));
		}
	}
	else
	{
	  if(getObject("divSampleLayer") != null)
	  {
		expandSampleLayer();
	  }
	}
	if(canvasTextHTML != "")
	{
		getObject("canvasTextWrapper").innerHTML = decompressText(unescape(canvasTextHTML));
	}
	if(getObject("existingAccountTable"))
	{
		if(getObject("divWrapper"))
		{
			getObject("divWrapper").style.height = "1100";
		}
	}
}
function displayImage(dataurl)
{
  var img = new Image();
  img.src = dataurl;
  img.onload = function()
  {
	canvasContext.drawImage(img,0,0);
   }
}

function SetFocusToFirstEmptyField()
{

	if(IsEmpty(getObject("TextBoxFirstName")))
	{
		getObject("TextBoxFirstName").focus();
	}
	else if(IsEmpty(getObject("TextBoxLastName")))
	{
		getObject("TextBoxLastName").focus();
	}
	else if(IsEmpty(getObject("TextBoxPhone")))
	{
		getObject("TextBoxPhone").focus();
	}
	else if(IsEmpty(getObject("TextBoxEmail")))
	{
		getObject("TextBoxEmail").focus();
	}
	else if(IsEmpty(getObject("TextBoxAddress")))
	{
		getObject("TextBoxAddress").focus();
	}
	else if(IsEmpty(getObject("TextBoxCity")))
	{
		getObject("TextBoxCity").focus();
	}
	else if(IsEmpty(getObject("DropDownStates")))
	{
		getObject("DropDownStates").focus();
	}
	else if(IsEmpty(getObject("TextBoxZip")))
	{
		getObject("TextBoxZip").focus();
	}
	else
	{
		getObject("TextBoxDescription").focus();
	}
}
function IsEmpty(obj)
{
	var isEmpty = false;
	if(obj.value == "")
	{
		isEmpty = true;
	}
	return isEmpty;
}
function setColor(colorName)
{
	color = colorName;
	// to erase in IE, I use white color
	// remember the color the user was using before
	// erasing to set it back when drawing
	if(colorName != "white")
	{
		defaultColor = colorName;
	}
}
function setPressedImage(type)
{
	getObject("imgDraw").src = "images/eFaxDrawToolsPencil.gif";
	getObject("imgErase").src = "images/eFaxDrawToolsEraser.gif";
	if(getObject("imgClear"))
	{
		getObject("imgClear").src = "images/eFaxDrawToolsX.gif";
	}
	getObject("imgType").src = "images/eFaxDrawToolsT.gif";
	if(type == "draw")
	{
		getObject("imgDraw").src = "images/drawPressed.gif";
	}
	if(type == "erase")
	{
		getObject("imgErase").src = "images/erasePressed.gif";
	}
	if(type == "clear" && getObject("imgClear"))
	{
		getObject("imgClear").src = "images/clearPressed.gif";
	}
	if(type == "type")
	{
		getObject("imgType").src = "images/typePressed.gif";
	}
}

function setActionType(type)
{
	actionType = type;
	setPressedImage(type)
	if(type == "erase")
	{
		canvasTouchPad.style.cursor="url('images/cursor32x32.cur'), auto";
	}
	if(type == "draw")
	{
		getObject("divCanvasText").style.visibility = 'hidden';
		canvasTouchPad.style.cursor = "default";
	}
	if(type == "clear")
	{
		canvasTouchPad.style.cursor = "default";
	}
	if(type == "type")
	{
			canvasTouchPad.style.cursor = "default";
	}
	else
	{
		//canvasTouchPad.style.cursor = "default";
	}
}

function initMouseListeners (){
	document.efaxForm.TextBoxFirstName.focus();
	// IE support - microsoft model
		if (document.all) {
			this.canvasTouchPad.attachEvent("onmousedown", mouseDownActionPerformed);
			this.canvasTouchPad.attachEvent("onmousemove", mouseMoveActionPerformed);
			this.canvasTouchPad.attachEvent("onmouseup", mouseUpActionPerformed);
			this.canvasTouchPad.attachEvent("onmouseout", mouseOutActionPerformed);
			this.canvasTouchPad.attachEvent("onkeydown", CheckKey);
			this.canvasTouchPad.attachEvent("onselectstart", stopSelect);// = function() {return false;} 
		} 
		// W3C standard
		else 
		{
			this.canvasTouchPad.addEventListener("mousedown", mouseDownActionPerformed, false);
			this.canvasTouchPad.addEventListener("mousemove", mouseMoveActionPerformed, false);
			this.canvasTouchPad.addEventListener("mouseup", mouseUpActionPerformed, false);
			this.canvasTouchPad.addEventListener("mouseout", mouseOutActionPerformed, false);
			this.canvasTouchPad.addEventListener("onkeydown", CheckKey,false);
		}
	}
	function stopSelect(e) 
	{
		return false;
	} 
	
	function mouseMoveActionPerformed(e) 
	{
		MouseMove(e);
	}
	
	function mouseUpActionPerformed(e) 
	{
	
		if(drawStraight == 1)
		{
			drawLine(startMouseDownPositionX, startMouseDownPositionY, currentPositionX,currentPositionY , canvasContext);
			canvasDrawHelperContext.clearRect(0,0,650,402);
		}
		mouseDown = 0;
		drawStraight = 0;
	}
	
	function mouseOutActionPerformed(e) 
	{
		mouseDown = 0;
		drawStraight = 0;
	}
	
	function mouseDownActionPerformed(e) 
	{
		mouseDown = 1;
		if(!e)
		{
			e = window.event;
		}
		startPositionX = e.clientX - findPosX(getObject("drawArea")) + document.body.scrollLeft;
		startPositionY = e.clientY - findPosY(getObject("drawArea")) + document.body.scrollTop;
		startMouseDownPositionX = startPositionX;
		startMouseDownPositionY = startPositionY;
		if(actionType == 'type')
		{
			getObject("divCanvasText").style.visibility = 'visible';
			if(getObject("canvasText").value != "")
			{
				printTextOnCanvas(false);
			}
			getObject("divCanvasText").style.left = startPositionX;
			getObject("divCanvasText").style.top = startPositionY;
			getObject("divCanvasText").style.display='block';
		   	t=setTimeout("document.efaxForm.canvasText.focus();", 200);
		}
		return false;
    }
    
    function MouseMove(e) {
   	if(!e)
	{
		e = window.event;
	}
		if (e.shiftKey==1)
		{
			if(mouseDown)
			{
				if(actionType == 'draw')
				{
					currentPositionX = e.clientX - findPosX(getObject("drawArea")) + document.body.scrollLeft
					currentPositionY = e.clientY - findPosY(getObject("drawArea")) + document.body.scrollTop
					drawStraight = 1
					startMouseDownPositionX = startPositionX;
					startMouseDownPositionY = startPositionY;
					canvasDrawHelperContext.clearRect(0,0,650,405);
					drawLine(startPositionX, startPositionY, currentPositionX,currentPositionY , canvasDrawHelperContext);
				}
			}
		}
		else
		{
			drawStraignt = 0;
		}
	
	if(mouseDown)
	{
		currentPositionX = e.clientX - findPosX(getObject("drawArea")) + document.body.scrollLeft
		currentPositionY = e.clientY - findPosY(getObject("drawArea")) + document.body.scrollTop
			
		if(actionType == 'draw')
		{
			if (drawStraight==1)
			{
								
			}
			else
			{	
				drawPencil(startPositionX, startPositionY, currentPositionX,currentPositionY , canvasContext);
			}  
		}
		else if(actionType == 'erase')
		{
			if(isIE)
			{
				drawPencil(startPositionX, startPositionY, currentPositionX,currentPositionY,canvasContext);
			}
			else
			{
				erase(currentPositionX, currentPositionY);
			}
		}
	
		if (e.shiftKey!=1 )
		{
			startPositionX = e.clientX - findPosX(getObject("drawArea")) + document.body.scrollLeft;
			startPositionY = e.clientY - findPosY(getObject("drawArea")) + document.body.scrollTop;
		}
	}
	return false;
}
	
	
function drawPencil(fromPointX, fromPointY, toPointX, toPointY, context)
{

		context.save();
		
		// if drawing after erasing in IE, set the color to the one previously used.
		context.strokeStyle = color;
		context.fillStyle = color;
		if(color == "white")
		{
			canvasContext.strokeStyle = "rgba(255, 255, 255, 1)";
			canvasContext.fillStyle = "rgba(255, 255, 255, 1)";
		}
		context.lineJoin = "round";
		if(color == "white")
		{
			context.lineWidth = 12;
		}
		else
		{
			context.lineWidth = 3;
		}
		context.beginPath();
		context.lineCap = "round";
		context.moveTo(fromPointX,fromPointY);
		context.lineTo(toPointX,toPointY);
		context.stroke();
		context.closePath();
		context.restore();
	
}

function drawLine(fromPointX, fromPointY, toPointX, toPointY, context) 
{
		context.strokeStyle = color;
		context.fillStyle = color;
		context.lineWidth = 3;
		context.beginPath();
		context.moveTo(fromPointX,fromPointY);
		context.lineTo(toPointX,toPointY);
		context.stroke();
		context.closePath();
}
function erase(currPositionX,currPositionY)
{
	canvasContext.clearRect(currPositionX,currPositionY,11,11);
	// set user action to draw, so a user does not have to.
}

// display a drawing of a sample fax form.
function displaySampleEfax()
{
	window.open('sampleEfax.aspx','efax','toolbars=no,location=no,directories=no,scrollbars=no,status=no,menubar=no,resizable=yes,width=750,height=500');
}

//compress text before submitting it to the DB
function compressText(textString)
{
	textString = textString.replace(/position/gi,"^p");
	textString = textString.replace(/absolute/gi,"^a");
	textString = textString.replace(/width/gi,"^w");
	textString = textString.replace(/left/gi,"^t");
	textString = textString.replace(/height/gi,"^h");
	textString = textString.replace(/font-weight/gi,"^f");
	textString = textString.replace(/value=/gi,"^v");
	textString = textString.replace(/bold/gi,"^b");
	textString = textString.replace(/class=flatInputNoBorder/gi,"^c");
	textString = textString.replace(/onfocus=inputFocused/gi,"^i");
	textString = textString.replace(/onblur=inputBlurred/gi,"^l");
	textString = textString.replace(/onkeydown=blurOnEnter/gi,"^k");
	textString = textString.replace(/style=/gi,"^s");
	textString = textString.replace(/this/gi,"^e");
	return textString;
}

// decompress text entered on Canvas before dispalying it in the browser.
function decompressText(textString)
{
	textString = textString.replace(/\^p/gi,"position");
	textString = textString.replace(/\^a/gi,"absolute");
	textString = textString.replace(/\^w/gi,"width");
	textString = textString.replace(/\^t/gi,"left");
	textString = textString.replace(/\^h/gi,"height");
	textString = textString.replace(/\^f/gi,"font-weight");
	textString = textString.replace(/\^v/gi,"value=");
	textString = textString.replace(/\^b/gi,"bold");
	textString = textString.replace(/\^c/gi,"class=flatInputNoBorder");
	textString = textString.replace(/\^i/gi,"onFocus=inputFocused");
	textString = textString.replace(/\^k/gi,"onKeyDown=blurOnEnter");
	textString = textString.replace(/\^l/gi,"onBlur=inputBlurred");
	textString = textString.replace(/\^s/gi,"style=");
	textString = textString.replace(/\^e/gi,"this");
	return textString;
}
// encode image string to make the size smaller.
function encodeImage(imageString)
{
	 var encodedHtml;
	 encodedHtml = imageString.replace(/g_vml_:shape/g,"^g");
     encodedHtml = encodedHtml.replace(/filled/g,"^l");
     encodedHtml = encodedHtml.replace(/POSITION/g,"^p");
     encodedHtml = encodedHtml.replace(/fillcolor/g,"^f");
     encodedHtml = encodedHtml.replace(/strokecolor/g,"^c");
     encodedHtml = encodedHtml.replace(/stroked/g,"^k");
     encodedHtml = encodedHtml.replace(/strokeweight/g,"^w");
     encodedHtml = encodedHtml.replace(/g_vml_:stroke/g,"^s");
     encodedHtml = encodedHtml.replace(/miterlimit = /g,"^m");
     encodedHtml = encodedHtml.replace(/opacity/g,"^o");
     encodedHtml = encodedHtml.replace(/coordsize/g,"^z");
     encodedHtml = encodedHtml.replace(/joinstyle/g,"^j");
     encodedHtml = encodedHtml.replace(/absolute/g,"^a");
     encodedHtml = encodedHtml.replace(/black/g,"^b");
     encodedHtml = encodedHtml.replace(/WIDTH/g,"^i");
     encodedHtml = encodedHtml.replace(/HEIGHT/g,"^h");
     encodedHtml = encodedHtml.replace(/style/g,"^y");
     encodedHtml = encodedHtml.replace(/path/g,"^t");
     encodedHtml = encodedHtml.replace(/round/g,"^r");
     encodedHtml = encodedHtml.replace(/endcap/g,"^e");
     return encodedHtml;
         
} 
  
//decode the image string that comes from the DB
function decodeImage(imageString) 
{

	 var encodedHtml;
	 encodedHtml = imageString.replace(/\^g/g,"g_vml_:shape");
     encodedHtml = encodedHtml.replace(/\^l/g,"filled");
     encodedHtml = encodedHtml.replace(/\^p/g,"POSITION");
     encodedHtml = encodedHtml.replace(/\^f/g,"fillcolor");
     encodedHtml = encodedHtml.replace(/\^c/g,"strokecolor");
     encodedHtml = encodedHtml.replace(/\^k/g,"stroked");
     encodedHtml = encodedHtml.replace(/\^w/g,"strokeweight");
     encodedHtml = encodedHtml.replace(/\^s/g,"g_vml_:stroke");
     encodedHtml = encodedHtml.replace(/\^m/g,"miterlimit = ");
     encodedHtml = encodedHtml.replace(/\^o/g,"opacity");
     encodedHtml = encodedHtml.replace(/\^z/g,"coordsize");
     encodedHtml = encodedHtml.replace(/\^a/g,"absolute");
     encodedHtml = encodedHtml.replace(/\^b/g,"black");
     encodedHtml = encodedHtml.replace(/\^i/g,"WIDTH");
     encodedHtml = encodedHtml.replace(/\^h/g,"HEIGHT");
     encodedHtml = encodedHtml.replace(/\^y/g,"style");
     encodedHtml = encodedHtml.replace(/\^t/g,"path");
     encodedHtml = encodedHtml.replace(/\^r/g,"round");
     encodedHtml = encodedHtml.replace(/\^e/g,"endcap");
     return encodedHtml; 
     
}
 
function encodeHTMLText(stringValue) {
	 var encodedHtml;
     encodedHtml = escape(stringValue);
     encodedHtml = stringValue.replace(/\//g,"%2F");
     encodedHtml = stringValue.replace(/\?/g,"%3F");
     encodedHtml = stringValue.replace(/=/g,"%3D");
     encodedHtml = stringValue.replace(/&/g,"%26");
     encodedHtml = stringValue.replace(/@/g,"%40");
     return encodedHtml;
   } 


function setValues(finishFlag)
{
	//getObject("canvasImage").value = encodeImage(canvasContext.getInnerHTML());
	var textString = getObject("canvasTextWrapper").innerHTML;
	//alert("image=" + canvasContext.getInnerHTML());
	//alert("text=" + getObject("canvasTextWrapper").innerHTML);
	getObject("canvasTextParam").value = escape(compressText(textString));
	getObject("finishFlag").value = finishFlag;

	if(canvas.toDataURL)
	{
		try
		{
		getObject("canvasImage").value = canvas.toDataURL();
		}
		catch(err)
		{
			getObject("canvasImage").value = "FFError";
		 //FF does not let to update the image, only to record it once.
		}
	}
	else
	{
		if(canvasContext.getInnerHTML())
		{
			getObject("canvasImage").value = encodeImage(canvasContext.getInnerHTML());
		}
		else
		{
			//alert("could not get the function innerHTML=" + canvas.innerHTML());
			//getObject("canvasImage").value = encodeImage(canvas.innerHTML());
		}
	}
	//alert("canvas text" + getObject("canvasImage").value);
	var textString = getObject("canvasTextWrapper").innerHTML;
	//alert("image=" + canvasContext.getInnerHTML());
	//alert("text=" + getObject("canvasTextWrapper").innerHTML);
	
/*
	//getObject("canvasImage").value = escape(encodeImage(canvasContext.getInnerHTML()));
	getObject("canvasImage").value = encodeImage(canvasContext.getInnerHTML());
	//var textString = escape(compressText(getObject("canvasTextWrapper").innerHTML));
	var textString = getObject("canvasTextWrapper").innerHTML;
	//textString = textString.replace(/\"/g,"&quot;");
	//textString = textString.replace(/'/g,"\'");
	//textString = textString.replace(/\r\n/g,"");
	alert("Before compress textString1 = " + textString);
	getObject("canvasTextParam").value = escape(compressText(textString));
	//textString = compressText(textString).replace(/\"/g,"&quot;");
	//textString = compressText(textString).replace(/\'/g,"\'");
	//textString = textString.replace(/\r\n/g,"");
	//getObject("canvasTextParam").value = textString; //compressText(textString).replace(/\"/g,"&quot;");
	//encodeHTMLText(getObject("canvasText").value);
	alert("After compress textString = " + getObject("canvasTextParam").value);
	//getObject("canvasTextParam").value = compressText(getObject("canvasTextWrapper").innerHTML);
	getObject("finishFlag").value = finishFlag;
	//alert("Text = " + getObject("canvasTextParam").value);
	*/
}

function submitRequest(finishFlag)
{
	// prevent user from submitting twice
	if(submitFlag == 1)
	{
		alert("Please be patient while we process the request ...");
		return;
	}

	if(getObject("TextBoxFirstName").value == "")
	{
		alert("Please enter your first name.");
		return;
	}
	if(getObject("TextBoxLastName").value == "")
	{
		alert("Please enter your last name.");
		return;
	}
	
	if(getObject("TextBoxPhone").value == "")
	{
		alert("Please enter your phone number.");
		return;
	}
	
	if(getObject("TextBoxEmail").value == "")
	{
		alert("Please enter your email address.");
		return;
	}
	
	if(getObject("DropDownStates").value == "")
	{
		alert("Please enter your state.");
		return;
	}
	if(getObject("usedBy")!= null ||getObject("usedByOther") != null)
	{
		if((getObject("usedBy") && getObject("usedBy").value == "Select") ||( getObject("usedByOther") && getObject("usedByOther").value == ""))
		{
			alert("Please specify who will use this closet space.");
			if(getObject("usedBy"))
			{
				getObject("usedBy").focus();
			}
			else if(getObject("usedByOther"))
			{
				getObject("usedByOther").focus();
			}
			else
			{}
			return;
		}
		
	}
	
	if(checkValidEmail() == 0)
	{
		alert("Please enter correct email address.");
		return;
	}
	setValues(finishFlag);
	//alert("image length = " + getObject("canvasImage").value.length);
	//alert("text length = " + getObject("canvasTextParam").value.length);
	//if(getObject("canvasImage").value.length > 375000) // increase from 250000 because few customers complained.
	//{
	//	alert("The image is too big to store. Please modify and re-submit or contact our Customer Support Department.");
	//}
	//else if(getObject("canvasTextParam").value.length > 6000)
	//{
	//	alert("Please review the text on the fax form. Too much information is entered. Please move some text into Special Instructions area.");
	//}

	//alert("before submitting the form");
		
		if(!wrongBrowser)
		{
			submitFlag = 1;
			document.forms.efaxForm.submit();
		}
		else
		{
			alert("Please open the E-Fax with the browser it was created in to record the changes.");
		}
	
	
}
// check vor valid e-mail address
function checkValidEmail()
{
	var isValidEmail = 0
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (filter.test(getObject("TextBoxEmail").value))
	{
		isValidEmail = 1;
	}
	return isValidEmail;
}

function hideLyr(lyr)
{
	var theLyr = getObject(lyr);
	if (iens6||isNN) theLyr.style.visibility="hidden";
	else if (ns4) document.theLyr.visibility="hide";
}

function showLyr(lyr)
{
  var theLyr = getObject(lyr);
  if (iens6||isNN) theLyr.style.visibility="visible";
  else if (ns4) document.theLyr.visibility="show";
}
function clearCanvas()
{
	canvasContext.clearRect(0,0,650,405);
	canvasDrawHelperContext.clearRect(0,0,650,402);
	getObject("canvasTextWrapper").innerHTML = "";
	setActionType('draw');
	setPressedImage('draw');
	if(getObject("lyrClearConfirm"))
	{
		hideLyr("lyrClearConfirm");
	}
}
// find absoute position X of an element on the screen
function findPosX(obj)
  {
    var curleft = 0;
    if(obj == null)
    {
		return;
    }
    if(obj.offsetParent)
    {
        while(1) 
        {
          curleft += obj.offsetLeft;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
     }
    else if(obj.x)
    {
        curleft += obj.x;
    }
     return curleft;
  }

// find absoute position Y of an element on the screen
  function findPosY(obj)
  {
    var curtop = 0;
    if(obj == null)
    {
		return;
    }
    if(obj.offsetParent)
    {
        while(1)
        {
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
      }
    else if(obj.y)
    {
        curtop += obj.y;
    }
     return curtop;
  }
 function drawBrush(fromPointX, fromPointY, toPointX, toPointY, context)
{
		context.beginPath();
		context.moveTo(fromPointX, fromPointY);
		context.lineTo(toPointX, toPointY);
		context.stroke();
		context.closePath();
}


isNN=!document.all&&document.getElementById;
isN4=document.layers;
isHot=false;
document.onmousedown=ddInit;
document.onmouseup=Function("ddEnabled=false");
function ddInit(e){
  topDog=isIE ? "BODY" : "HTML";
  hotDog=isIE ? event.srcElement : e.target;  
if(hotDog.className=="divStyle"){
    offsetx=isIE ? event.clientX : e.clientX;
    offsety=isIE ? event.clientY : e.clientY;
    nowX=parseInt(hotDog.style.left);
    nowY=parseInt(hotDog.style.top);
    ddEnabled=true;
    document.onmousemove=dd;
  }
}

function dd(e)
{
  if (!ddEnabled) return;
  hotDog.style.left=isIE ? nowX+event.clientX-offsetx : nowX+e.clientX-offsetx; 
  hotDog.style.top=isIE ? nowY+event.clientY-offsety : nowY+e.clientY-offsety;
  return false;  
}

function ddN4(obj)
{
  if (!isN4) return;
  N4=eval(obj);
  N4.captureEvents(Event.MOUSEDOWN|Event.MOUSEUP);
  N4.onmousedown=function(e){
    N4.captureEvents(Event.MOUSEMOVE);
    N4x=e.x;
    N4y=e.y;
  }
  N4.onmousemove=function(e)
  {
    if (isHot){
      N4.moveBy(e.x-N4x,e.y-N4y);
      return false;
    }
  }
  N4.onmouseup=function()
  {
    N4.releaseEvents(Event.MOUSEMOVE);
  }
}
function showEfaxDetails()
{
	getObject("divEfaxDrawing").style.visibility = "hidden";
	getObject("divEfaxDetails").style.visibility = "visible";
	if(efaxId == "")
	{
		getObject("divWrapper").style.height = "1350";
	}
	else
	{
		getObject("divWrapper").style.height = "1450";
	}
}

function hideEfaxDetail()
{
	getObject("divEfaxDetails").style.visibility = "hidden";
	getObject("divEfaxDrawing").style.visibility = "visible";
	getObject("divWrapper").style.height = "900";
	if(getObject("existingAccountTable"))
	{
		getObject("divWrapper").style.height = "1100";
	}
	
}

function countlines(area) 
{   
	// trim trailing return char if exists  
	var text = area.value.replace(/\s+$/g,"");
	var textLength = 0;   
	if(!isNaN(text.length))
	{
		textLength = Math.ceil(text.length/70);
	}
	var split = text.split("\n")   
	return split.length + textLength;
} 
  
function ChangeCanvasResolutionForPrint()
{
	var textLength = 0;
	var numberOfLines = 0;
	if(getObject("TextBoxInstructions") && !(isNaN(getObject("TextBoxInstructions").value.length)))
	{
		textLength = getObject("TextBoxInstructions").value.length;
		if(!isNaN(textLength))
		{
			numberOfLines = countlines( getObject("TextBoxInstructions"));
	//		alert("numberOfLines = " + numberOfLines);
			getObject("TextBoxInstructions").style.height = (numberOfLines ) * 25;
		}
		 
	}
// Canvas in FireFox are resolution dependant.
// That is why when you print the image, and go from 96dpi to 600dpi,
// the image prints really small.
 if(isIE)
 {
	window.print();
	self.close();
 }
 else
 {

 //600 dpi setting
	//canvas.setAttribute('width',4062);//600dpi printer
	//canvas.setAttribute('height',2512);//600dpi printer
	//canvasTouchPad.setAttribute('width',4062);//600dpi printer
	//canvasTouchPad.setAttribute('height',2512);//600dpi printer
	//canvasDrawHelper.setAttribute('width',4062);//600dpi printer
	//canvasDrawHelper.setAttribute('height',2512);//600dpi printer
	getObject("TextBoxInstructions").style.fontWeight = "bold";
	getObject("TextBoxInstructions").style.color = "black";
	getObject("TextBoxInstructions").style.fontSize = "14";
	//getObject("TextBoxInstructions").style.className = "f20";
 /*	
	
	canvas.setAttribute('width',2031);//300 dpi printer
	canvas.setAttribute('height',1256);//300 dpi printer
	canvasTouchPad.setAttribute('width',2031);//300 dpi printer
	canvasTouchPad.setAttribute('height',1256);//300 dpi printer
	canvasDrawHelper.setAttribute('width',2031);//300 dpi printer
	canvasDrawHelper.setAttribute('height',1256);//300 dpi printer

	var img = new Image();
	img.src = savedHTML;
	img.onload = function()
	{
		canvasContext.scale(5.5,5.5); //600dpi printer
		//canvasContext.scale(3.125,3.125); //300dpi printer
		canvasContext.drawImage(img,0,0);
		window.print();
		self.close();
   }
   */
   
		window.print();
		self.close();
   }
  	
}

