
var feedbackWin;

/*
(Function completely overhauled Feb 2004 by SH.)
The calls TO it still send a parameter, but the parameter is neither used nor needed.
Function opens and writes content to a popup window. Content is a form.
Form has many hidden variables which give user's system, browser and referrer info.
Submission is to SENDMAIL application.
*/

function SiteFeedback(){

	//build headString
	var headString = '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\n\n';
	headString += '<!-- This code is being generated and written by /code/js/feedback.js -->\n\n';
	headString += '<html>\n<head>\n<title>Site Error Feedback Form</title>\n';
	headString += '<link type="text/css" rel="stylesheet" href="/css05/gea_basic.css" />\n';
	
	headString += '<script type="text/javascript">\n';
	headString += 'function validEmail(fld) {\n';
	headString += 'if(fld.value.search(/^\\w+((-\\w+)|(\\.\\w+)|(\\+\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9][A-Za-z0-9]+$/) == -1) {\n';
	headString += 'return false; }\n';
	headString += 'return true;\n';
	headString += '}\n';
	
	headString += 'function validateFeedback(fm) {\n';
	
	headString += 'if (fm.txt00Comments.value=="") {\n';
	headString += 'alert ("Please explain the problem you experienced.");\n';
	headString += 'fm.txt00Comments.select();\n';
	headString += 'return false;}\n';
	
	headString += 'if (fm.txt01Name.value =="") {\n';
	headString += 'alert ("Please enter your name.");\n';
	headString += 'fm.txt01Name.select();\n';
	headString += 'return false;}\n';
	
	headString += 'if (!validEmail(fm.txt02EMail_Address)) {\n';
	headString += 'alert ("Please enter a valid email address.");\n';
	headString += 'fm.txt02EMail_Address.select();\n';
	headString += 'return false;}\n';
	
	headString += 'return true;\n';
	headString += '}\n';
	headString += '</script>\n';
	
	headString += '</head>\n';
	
	//build bodyString1 - the "static" stuff
	var bodyString1 = "<body>\n\n";
	bodyString1 += '<form action="http://genet.geappliances.com/contactus/Dispatcher" name="feedbackForm" method="post" onSubmit="return validateFeedback(this)">\n';
	bodyString1 += '<input type="hidden" name="REQUEST" value="SENDMAIL">\n';
	bodyString1 += '<input type="hidden" name="subject" value="Web site feedback">\n\n';
	bodyString1 += '<table width="100%" cellpadding="0" cellspacing="10" border="0">\n';
	bodyString1 += '<tr>\n';
	bodyString1 += '<td colspan="2"><b>Please tell us about the problem you experienced.</b><br>\n';
	bodyString1 += '<textarea name="txt00Comments" cols="40" rows="8" style="width:350px;height:120px;"></textarea></td>\n';
	bodyString1 += '</tr>\n';
	bodyString1 += '<tr>\n';
	bodyString1 += '<td width="30%" align="right" nowrap><b>Name:</b></td>\n';
	bodyString1 += '<td width="70%"><input type="text" name="txt01Name" size="20" style="width:200px;"></td>\n';
	bodyString1 += '</tr>\n';
	bodyString1 += '<tr>\n';
	bodyString1 += '<td width="30%" align="right" nowrap><b>E-mail:</b></td>\n';
	bodyString1 += '<td width="70%"><input type="text" name="txt02EMail_Address" size="20" style="width:200px;"></td>\n';
	bodyString1 += '</tr>\n';
	bodyString1 += '<tr>\n';
	bodyString1 += '<td width="30%" align="right" nowrap><b>Would you like<br>a response?</b></td>\n';
	bodyString1 += '<td width="70%" valign="bottom">\n';
	bodyString1 += '<input type="radio" name="txt03Wants_Response" value="Yes" checked>&nbsp;Yes&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n';
	bodyString1 += '<input type="radio" name="txt03Wants_Response" value="No">&nbsp;No\n';
	bodyString1 += '</td>\n';
	bodyString1 += '</tr>\n';
	bodyString1 += '</table>\n\n';
	bodyString1 += '<input type="hidden" name="txt04Placeholder" value="">\n';
	bodyString1 += '<input type="hidden" name="txt05Placeholder" value="">\n';
	bodyString1 += '<input type="hidden" name="txt06Placeholder" value="">\n';
	bodyString1 += '<input type="hidden" name="txt07Placeholder" value="">\n\n';
	bodyString1 += '<input type="hidden" name="txt08Error_Page_Received" value="'+document.location+'">\n';
	bodyString1 += '<input type="hidden" name="txt09Referring_Page" value="'+document.referrer+'">\n';
	
	//build bodyString2 - an unknown quantity of hidden fields
	var fieldindex = 10;
	var bodyString2 = '';
	
	var NavArray = new Array("platform","userAgent","cookieEnabled","language","systemLanguage","userLanguage");
	for (var prop in NavArray) {
		if (navigator[NavArray[prop]]){
		bodyString2 += '<input type="hidden" name="txt'+fieldindex+'navigator.'+NavArray[prop]+'" value="'+navigator[NavArray[prop]]+'">\n';
		fieldindex++;
		}
	}

	var WindowArray = new Array("innerWidth","innerHeight","outerWidth","outerHeight","screenX","screenY","screenLeft","screenTop");
	for (var prop in WindowArray) {
		if (window[WindowArray[prop]]){
		bodyString2 += '<input type="hidden" name="txt'+fieldindex+'window.'+WindowArray[prop]+'" value="'+window[WindowArray[prop]]+'">\n';
		fieldindex++;
		}
	}

	var DocBodyArray = new Array("clientWidth","clientHeight");
	for (var prop in DocBodyArray) {
		if (document.body[DocBodyArray[prop]]){
		bodyString2 += '<input type="hidden" name="txt'+fieldindex+'document.body.'+DocBodyArray[prop]+'" value="'+document.body[DocBodyArray[prop]]+'">\n';
		fieldindex++;
		}
	}

	for (var prop in window.screen) {
		bodyString2 += '<input type="hidden" name="txt'+fieldindex+'window.screen.'+prop+'" value="'+window.screen[prop]+'">\n';
		fieldindex++;
	}
	
	//build bodyString3
	var bodyString3 = '<p align="center"><input type="submit" value="Submit"></p>\n\n';
	bodyString3 += '</form>\n\n';
	bodyString3 += '</body>\n';
	bodyString3 += '</html>\n';
	
	
	//if popup already open, close it
	if (feedbackWin && feedbackWin.open) {
		feedbackWin.close();
	}
	
	//open pop and output content
	feedbackWin = window.open("","","width=400,height=340,scrollbars,resizable");
	feedbackWin.focus();
	feedbackWin.document.open("text/html");
	feedbackWin.document.writeln(headString);
	feedbackWin.document.writeln(bodyString1);
	feedbackWin.document.writeln(bodyString2);
	feedbackWin.document.writeln(bodyString3);
	feedbackWin.document.close();
	feedbackWin.focus();

}
