var val=1;

function regformshadow(){
var check=0;
var regform = '<span class="error" id="errorform"></span> \
<form action="functions/register.php" method="get">		\
<table>	\
	<tr>	\
		<td><label id="namemsg" for="name">Name (first last):</label></td>	\
  		<td><span class="error" id="errorname"></span><input type="text" name="name" id="name" size="40" maxlength="50" /> *</td>	\
	</tr><tr>	\
		<td><label id="usernamemsg" for="username">Username:</label></td>	\
		<td><span class="error" id="errorusername"></span><input type="text" id="username" name="username" size="40" maxlength="25" /> *</td>	\
	</tr><tr>	\
		<td><label id="emailmsg" for="email">E-mail:</label></td>	\
		<td><span class="error" id="erroremail"></span><input type="text" id="email" name="email" size="40" maxlength="100" /> *</td>	\
	</tr><tr>	\
		<td><label id="pwmsg" for="password">Password:</label></td>	\
  		<td><span class="error" id="errorpassword"></span><input type="password" id="password" name="password" size="40" value="" /> *</td>	\
	</tr><tr>	\
		<td><label id="pw2msg" for="password2">Verify Password:</label></td>	\
		<td><span class="error" id="errorpassword2"></span><input type="password" id="password2" name="password2" size="40" value="" /> *</td>	\
	</tr><tr>	\
                <td><label id="companynamemsg" for="companyname">Company Name:</label></td>	\
                <td><span class="error" id="errorcompany"></span><input type="text" name="companyname" id="companyname" size="40" maxlength="50" /> *</td>	\
	</tr><tr>	\
                <td><label id="address1msg" for="address1">Address 1:</label></td>	\
                <td><span class="error" id="erroraddress1"></span><input type="text" name="address1" id="address1" size="40" maxlength="50" /> *</td>	\
	</tr><tr>	\
                <td><label id="address2msg" for="address2">Address 2:</label></td>	\
                <td><input type="text" name="address2" id="address2" size="40" maxlength="50" /></td>	\
	</tr><tr>	\
                <td><label id="citymsg" for="city">City:</label></td>	\
                <td><span class="error" id="errorcity"></span><input type="text" name="city" id="city" size="40" maxlength="50" /> *</td>	\
	</tr><tr>	\
                <td><label id="statemsg" for="state">State:</label></td>	\
                <td><span class="error" id="errorstate"></span><input type="text" name="state" id="state" size="40" maxlength="50" /> *</td>	\
 	</tr><tr>	\
                <td><label id="zipmsg" for="zip">Zip Code:</label></td>	\
                <td><span class="error" id="errorzip"></span><input type="text" name="zip" id="zip" size="40" maxlength="50" /> *</td>	\
	</tr><tr>	\
                <td><label id="countrymsg" for="country">Country:</label></td>	\
                <td><span class="error" id="errorcountry"></span><input type="text" name="country" id="country" size="40" maxlength="50" /> *</td>	\
	</tr><tr>	\
                <td><label id="phonemsg" for="phone">Phone:</label></td>	\
                <td><span class="error" id="errorphone"></span><input type="text" name="phone" id="phone" size="40" maxlength="50" /></td>	\
	</tr><tr>	\
                <td><label id="faxmsg" for="fax">Fax:</label></td>	\
                <td><span class="error" id="errorfax"></span><input type="text" name="fax" id="fax" size="40" maxlength="50" /></td>	\
	</tr><tr>	\
                <td><label id="cellphonemsg" for="cellphone">Cell Phone (for text notifications):</label></td>	\
                <td><span class="error" id="errorcell"></span><input type="text" name="cellphone" id="cellphone" size="40" maxlength="50" /></td>	\
	</tr><tr>	\
                <td><label id="industrymsg" for="industry">Industry:</label></td>	\
                <td><span class="error" id="errorindustry"></span><input type="text" name="industry" id="industry" size="40" maxlength="50" /> *</td>	\
	</tr>	\
</table><BR>	\
	Fields marked with an asterisk (*) are required.	\
</form>	\
';

	var handleSubmit = function() {
		regformpanel.submit();
	};
	var handleCancel = function() {
		regformpanel.cancel();
	};

	var handleSuccess = function(o) {
		var messages = YAHOO.lang.JSON.parse(o.responseText);

		if(messages.bad == 1){
			regformshadow()
			document.getElementById("name").value = messages.name;
			document.getElementById("username").value = messages.username;
			document.getElementById("email").value = messages.email;
			document.getElementById("address1").value = messages.address1;
			document.getElementById("address2").value = messages.address2;
			document.getElementById("city").value = messages.city;
			document.getElementById("state").value = messages.state;
			document.getElementById("zip").value = messages.zip;
			document.getElementById("phone").value = messages.phone;
			document.getElementById("fax").value = messages.fax;
			document.getElementById("cellphone").value = messages.cellphone;
			document.getElementById("industry").value = messages.industry;
			document.getElementById("country").value = messages.country;
			document.getElementById("companyname").value = messages.companyname;
			document.getElementById("password").value = messages.password;
			document.getElementById("password2").value = messages.password;

			document.getElementById("errorform").innerHTML = '<strong>There were errors on your form. Please correct by following the error messages provided.</strong><p>';
			if(messages.email_c == 1){
				document.getElementById("erroremail").innerHTML = '<img src="images/cancel_f2.png" width="16"> We are sorry, the Email "' + messages.email +'" is being used by another account on this server. It likely means that you have previously logged in and need a username reminder sent to your Email. Please click the "Forgot your User Name?" link to recover it, or establish a new account with a different Email address.</span><br>';
			}
			if(messages.username_c == 1){
				document.getElementById("errorusername").innerHTML = '<img src="images/cancel_f2.png" width="16">We are sorry, the Username "' + messages.username + '" has already been chosen by another user. Please try using a different Username.</span><br>';
			}
		}


		if(messages.good == 1){
			regformpanel.hide();
			var respdialog = new YAHOO.widget.Panel("respdialog", {width: "550px", fixedcenter: true, close: true, draggable: false, zindex: 4, modal: true, visible: false});
		        respdialog.setHeader(messages.header);
			var values = "<H3>Registration Information for User '" + messages.values.username + "':</H3>\n";
			values += "<TABLE>\n";
			values += "<TR><TD>Name:</TD><TD>" + messages.values.name + "</TD></TR>\n";
			values += "<TR><TD>Address:</TD><TD>" + messages.values.address1;
			if (messages.address2 != null){
				values += "<BR>" + messages.values.address2;
			}
			values += "</TD></TR>\n";
			values += "<TR><TD>City, State, Zip</TD><TD>" + messages.values.city + ", " + messages.values.state + " " + messages.values.zip + "</TD></TR>\n";
			values += "<TR><TD>Country:</TD><TD>" + messages.values.country + "</TD></TR>\n";
			values += "<TR><TD></TD><TD></TD></TR>\n";
			values += "<TR><TD>Your Password:<BR><i>Please write it down.</i></TD><TD>" + messages.values.password + "</TD></TR>\n";
			values += "<TR><TD>Email:</TD><TD>" + messages.values.email + "</TD></TR>\n";
			values += "<TR><TD></TD><TD></TD></TR>\n";
			values += "<TR><TD>Phone:</TD><TD>" + messages.values.phone + "</TD></TR>\n";
			values += "<TR><TD>Fax:</TD><TD>" + messages.values.fax + "</TD></TR>\n";
			values += "<TR><TD>Cellphone:</TD><TD>" + messages.values.cellphone + "</TD></TR>\n";
			values += "<TR><TD></TD><TD></TD></TR>\n";
			values += "<TR><TD>Industry:</TD><TD>" + messages.values.industry + "</TD></TR>\n";			     
			values += "</TABLE>\n";

	          	respdialog.setBody(messages.text + "<P>" + values);
	                respdialog.render(document.body);
		  	respdialog.show();

			document.getElementById("loginbox").innerHTML  = logoutform;
			var myDate=new Date();
			myDate.setDate(myDate.getDate()+2);
			YAHOO.util.Cookie.set("user_id", messages.user_id, { expires: myDate }); 
			YAHOO.util.Cookie.set("name", messages.name, { expires: myDate }); 
			YAHOO.util.Cookie.set("username", messages.username, { expires: myDate }); 
			var specialcode = messages.T5f4dcc3b5aa765d61d8327deb882cf99;
			YAHOO.util.Cookie.set("T5f4dcc3b5aa765d61d8327deb882cf99", specialcode , { expires: myDate } ); 
			document.getElementById("loggedinas").innerHTML = "Logged in as User '" + messages.username + "'. Welcome back " + messages.name + "!";
			getpane('install');
			authusermenu();
		}

	};

	var handleFailure = function(o) {};

            	var regformpanel = new YAHOO.widget.Dialog("regformpanel",  
                                                    { width: "560px", height: "560px",
                                                      fixedcenter: true,
						      constraintoviewpoint: true, 
                                                      close: true, 
                                                      draggable: false, 
                                                      zindex:4,
                                                      modal: true,
                                                      visible: false,
 						      buttons : [ { text:"Join MyBizHomepage", handler:handleSubmit, isDefault:true },
								      { text:"Cancel", handler:handleCancel } ]
                                                    } 
                                                );
	
		regformpanel.validate = function() {
						var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
						var data = this.getData();
						
						if (data.name == "") {
							document.getElementById("errorname").innerHTML = '<img src="images/cancel_f2.png" width="16"> Please provide your full name.<br>';
								val=0;
						}else{
							document.getElementById("errorname").innerHTML = '';
						}

						if (data.username == "") {
							document.getElementById("errorusername").innerHTML = '<img src="images/cancel_f2.png" width="16"> Please provide a Username that you would like to use.<br>';
								val=0;	
						} else {
							document.getElementById("errorusername").innerHTML = '';
						}	

						if (!filter.test(data.email)) {
							document.getElementById("erroremail").innerHTML = '<img src="images/cancel_f2.png" width="16"> Please provide a valid E-mail address.<br>';
								val=0;
						} else {
							document.getElementById("erroremail").innerHTML = '';
						}

						if (data.password == "") {
							document.getElementById("errorpassword").innerHTML = '<img src="images/cancel_f2.png" width="16"> You must provide a password. What password would you like to use?<br>';
								val=0;
						} else {
							document.getElementById("errorpassword").innerHTML = '';
						}

						if (data.password !== data.password2) {
							document.getElementById("errorpassword2").innerHTML = '<img src="images/cancel_f2.png" width="16"> Your password does not match.  Please type your password correctly in both password boxes.<br>'; 
								val=0;
						} else {
							document.getElementById("errorpassword2").innerHTML = '';
						}

						if (data.companyname == "") {
							document.getElementById("errorcompany").innerHTML = '<img src="images/cancel_f2.png" width="16"> Please provide the name of your company.<br>';
								val=0;
						} else {
							document.getElementById("errorcompany").innerHTML = '';
						}

						if (data.address1 == "") {
							document.getElementById("erroraddress1").innerHTML = '<img src="images/cancel_f2.png" width="16"> You must provide an address.<br>';
								val=0;
						} else {
							document.getElementById("erroraddress1").innerHTML = '';
						}

						if (data.city == "") {
							document.getElementById("errorcity").innerHTML = '<img src="images/cancel_f2.png" width="16"> In what city do you live?<br>';
								val=0;
						} else {
							document.getElementById("errorcity").innerHTML = '';
						}
						if ((data.state == "") || (data.state.length != 2)) {
							document.getElementById("errorstate").innerHTML = '<img src="images/cancel_f2.png" width="16"> Please provide the two letter abbreviation of your state.<br>';
								val=0;
						} else {
							document.getElementById("errorstate").innerHTML = '';
						}

						if (data.zip.length != 5) {
							document.getElementById("errorzip").innerHTML = '<img src="images/cancel_f2.png" width="16"> Please enter your 5 digit zip code below.<br>';
								val=0;
						} else {
							document.getElementById("errorzip").innerHTML = '';
						}

						if (data.country == "") {
							document.getElementById("errorcountry").innerHTML = '<img src="images/cancel_f2.png" width="16"> What country are you from?<br>';
								val=0;
						} else {
							document.getElementById("errorcountry").innerHTML = '';
						}

						if (data.industry == "") {
							document.getElementById("errorindustry").innerHTML = '<img src="images/cancel_f2.png" width="16"> What industry do you work within?<br>';
								val=0;
						} else {
							document.getElementById("errorindustry").innerHTML = '';
						}

						if(val == 0){
							document.getElementById("errorform").innerHTML = '<strong>There were errors on your form. Please correct by following the error messages provided.</strong><p>';
							return false;
						}else{
							return true;
						}
	};

          regformpanel.callback = { success: handleSuccess,failure: handleFailure };
          regformpanel.setHeader("Get Your MyBizHomepage Account:");
          regformpanel.setBody(regform);
          regformpanel.render(document.body);
	  regformpanel.show();
 	  regformpanel.hideEvent.subscribe( function (){showlogin();});
}




