/*
*	Brandi Cole
*	Feb 1 2008
*	Net Detective Preview Search Form & Form Validation
*
*/

function previewform(version,affiliate,submit1,submit2,cssurl,type,head1,head2) {
	
	// assign default values so 'undefined' does not get passed as a parameter
	version   = typeof(version)   != 'undefined' ?  version   : "";
	affiliate = typeof(affiliate) != 'undefined' ?  affiliate : "";
	submit1   = typeof(submit1)   != 'undefined' ?  submit1   : 0;
	submit2   = typeof(submit2)   != 'undefined' ?  submit2   : 0;
	cssurl    = typeof(cssurl)    != 'undefined' ?  cssurl    : "";
	type      = typeof(type)      != 'undefined' ?  type      : "";
	head1     = typeof(head1)     != 'undefined' ?  head1     : 0;
	head2     = typeof(head2)     != 'undefined' ?  head2     : 0;
	
	var text = getText(submit1,head1,head2);
	var content = '\n';
	
	content += '<link rel="stylesheet" type="text\/css" media="screen" href="http:\/\/preview.netdetective.net\/images\/version' + version + '\/ndpvwformv1scr.css" \/>\n';
	if (cssurl != "") {
		content += '<link rel="stylesheet" type="text\/css" media="screen" href=\'' + cssurl + '\' \/>\n';
	}
	content += '<form method="post" class="ndpreviewv' + version + '" action="https:\/\/preview.netdetective.net\/results.php" onsubmit="return validateSearchForm(this);">\n';
	content += '<h1>' + text.head1 + '<\/h1>\n';
	content += '<h3>' + text.head2 + '<\/h3>\n';
	content += '<fieldset>\n';
	content += '      <label>First Name<span class="required">*<\/span><\/label>\n';
	content += '      <input name="first_name" value="" size="18" alt="First Name" \/>\n';
	content += '<\/fieldset>\n';
	content += '<fieldset>\n';
	content += '      <label>MI<\/label>\n';
	content += '      <input name="middle_initial" value="" size="1" maxlength="1" alt="Middle Name" \/>\n';
	content += '<\/fieldset>\n';
	content += '<fieldset>\n';
	content += '      <label>Last Name<span class="required">*<\/span><\/label>\n';
	content += '      <input name="last_name" value="" size="18" alt="Last Name" \/>\n';
	content += '<\/fieldset>\n';
	content += '<fieldset>\n';
	content += '      <label>State<span class="required">*<\/span><\/label>\n';
	content += '      <select name="state">\n';
	content += '            <option value=""><\/option><option value="AL">Alabama<\/option><option value="AK">Alaska<\/option><option value="AZ">Arizona<\/option><option value="AR">Arkansas<\/option><option value="CA">California<\/option><option value="CO">Colorado<\/option><option value="CT">Connecticut<\/option><option value="DE">Delaware<\/option><option value="DC">District of Columbia<\/option><option value="FL">Florida<\/option><option value="GA">Georgia<\/option><option value="HI">Hawaii<\/option><option value="ID">Idaho<\/option><option value="IL">Illinois<\/option><option value="IN">Indiana<\/option><option value="IA">Iowa<\/option><option value="KS">Kansas<\/option><option value="KY">Kentucky<\/option><option value="LA">Louisiana<\/option><option value="ME">Maine<\/option><option value="MD">Maryland<\/option><option value="MA">Massachusetts<\/option><option value="MI">Michigan<\/option><option value="MN">Minnesota<\/option><option value="MS">Mississippi<\/option><option value="MO">Missouri<\/option><option value="MT">Montana<\/option><option value="NE">Nebraska<\/option><option value="NV">Nevada<\/option><option value="NH">New Hampshire<\/option><option value="NJ">New Jersey<\/option><option value="NM">New Mexico<\/option><option value="NY">New York<\/option><option value="NC">North Carolina<\/option><option value="ND">North Dakota<\/option><option value="OH">Ohio<\/option><option value="OK">Oklahoma<\/option><option value="OR">Oregon<\/option><option value="PA">Pennsylvania<\/option><option value="RI">Rhode Island<\/option><option value="SC">South Carolina<\/option><option value="SD">South Dakota<\/option><option value="TN">Tennessee<\/option><option value="TX">Texas<\/option><option value="UT">Utah<\/option><option value="VT">Vermont<\/option><option value="VA">Virginia<\/option><option value="WA">Washington<\/option><option value="WV">West Virginia<\/option><option value="WI">Wisconsin<\/option><option value="WY">Wyoming<\/option>\n';
	content += '      <\/select>\n';
	content += '<\/fieldset>\n';
	content += '<fieldset class="submitsearch">\n';
	content += '      <button type="submit" name="search">'+ text.submit1 + '<\/button>\n';
	content += '      <img alt="Powered by Net Detective" src="http:\/\/preview.netdetective.net\/images\/version' + version + '\/poweredbynd.gif" class="logo" \/>\n';
	content += '      <input type="hidden" name="affiliate" value="' + affiliate + '" \/>\n';
	content += '      <input type="hidden" name="submit2" value="' + submit2 + '" \/>\n';
	content += '      <input type="hidden" name="version" value="' + version + '" \/>\n';
	content += '      <input type="hidden" name="type" value="' + type + '" \/>\n';
	content += '<\/fieldset>\n';
	content += '<\/form>\n';
	document.write(content);
}

function getText(submit1,head1,head2) {
	
	submit1Text = [
		{ id: 0,	text: "Search Now" },
		{ id: 1,	text: "Search" },
		{ id: 2,	text: "Run Check" },
		{ id: 3,	text: "Run Search" },
		{ id: 4,	text: "Free Preliminary Search" }
	];
	head1Text = submit1Text;
	head2Text = [
		{ id: 0,	text: "Find out the Truth About Anyone!" },
		{ id: 1,	text: "Find out the Truth!" },
		{ id: 2,	text: "Search Billions of Records" },
		{ id: 3,	text: "Free Preliminary Search" }
	];
	
	if ( typeof(submit1) != 'number' && typeof(submit1) != 'string' ) { submit1 = 0; }
	if ( typeof(submit1) == 'string' && ( submit1.length > 20 ) ) { submit1 = submit1.slice( 0,20 ); }
	if ( typeof(submit1) == 'number' ) { submit1 = submit1Text[submit1]['text']; }
	
	if ( typeof(head1) != 'number' && typeof(head1) != 'string' ) { head1 = 0; }
	if ( typeof(head1) == 'string' && ( head1.length > 25 ) ) { head1 = head1.slice( 0,25 ); }
	if ( typeof(head1) == 'number' ) { head1 = head1Text[head1]['text']; }
	
	if ( typeof(head2) != 'number' && typeof(head2) != 'string' ) { head2 = 0; }
	if ( typeof(head2) == 'string' && ( head2.length > 30 ) ) { head2 = head2.slice( 0,30 ); }
	if ( typeof(head2) == 'number' ) { head2 = head2Text[head2]['text']; }
	
	return { 
		submit1	: submit1,
		head1	: head1,
		head2	: head2
		};
}

function validateSearchForm(form) {
	var required_values = [
			{ form_name:"first_name", 	type:"text", 		disp_name:"First Name" },
			{ form_name:"last_name", 	type:"text", 		disp_name:"Last Name" },
			{ form_name:"state", 		type:"select",     	disp_name:"State" }
	];
	
	missinginfo = "";
	
        // loop thru required values
        for ( var i = 0; i < required_values.length; i++ ) {
                var elem_name   = required_values[i].form_name;
                var disp_name   = required_values[i].disp_name;
                var elem        = form.elements[elem_name];

                if ( required_values[i].type == "text" ) {
                        if ( ! isNotEmpty(elem) ) {
                                missinginfo += disp_name + "\n";
                        }
                } else if ( required_values[i].type == "select" ) {
                        if ( ! isChosen(elem) ) {
                                missinginfo += disp_name + "\n";
                        }
                }
        }
	if (missinginfo != "") {
		message = "Missing value for:\n" + missinginfo;
		alert(message);
		return false;
	} else {
		return true;
	}
}

function isNotEmpty(elem)
{
    var str = elem.value;
    var re  = /.+/;

    if ( ! str.match(re) ) {
        return false;
    } else {
        return true;
    }
}

function isChosen(select)
{
    if ( select.selectedIndex == 0 ) {
        return false;
    } else {
        return true;
    }
}
