function forgot_password(this_form) {
    if (this_form == "non_valid") {
        email = document.getElementById("nonvalid_email").value;
    }
    else eval("var email = document."+this_form+".login_email.value;");
    email = email.replace(/^\s*|\s*$/g,'');
    email = email.replace(/^\s*/g,'');
    email = email.replace(/\s*$/g,'');
    //email = filter_urlstr(email);
    if (document.getElementById("nonval_pid")) var store_pid = document.getElementById("nonval_pid").value;
    else var store_pid  = "";
    if 	(checkEmail(email) == false) {
        alert('You must enter a valid e-mail address. We will send the password to that address');
    }
    else { //begin function to email the password
        var r = xml_connect();
        if (r)
        {
            r.onreadystatechange=function() { change_results(r, 'login_message'); };
            r.open("GET", "signup.php?ajax=yes&cmd=forgot_pw&email="+email+"&store_pid="+store_pid, true);
            r.setRequestHeader("Content-Type", "application/xml");
            r.setRequestHeader("Cache-Control", "no-cache");
            r.send(null);
        }
        else {
            alert('not added');
            //document.getElementById("searchform").submit();
        }
    }
	return false;
}

function checkEmail(email) {
	return (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email));
}

function xml_connect() {
	var httpRequest;

	if (window.XMLHttpRequest) { // Mozilla, Safari, ...
		httpRequest = new XMLHttpRequest();
		if (httpRequest.overrideMimeType) {
			//This causes a damn error when data returned isn't XML
			httpRequest.overrideMimeType('text/xml');
			// See note below about this line
		}
	} 
	else if (window.ActiveXObject) { // IE
		try {
			httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e) {
			try {
				httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
			} 
			catch (e) {}
			}
		}

	if (!httpRequest) {
		alert('Giving up :( Cannot create an XMLHTTP instance');
		return false;
	}
	return httpRequest;
}

	function change_results(r, divname)	{
		try
		{
			//alert('readystate: ' + r.readyState);
			if (r.readyState==4)
				if (r.status==200)
				{
	    			//Skip this ajax html crap for saving account info
	    			if (divname=="myaccount_refresh")
	    			{
    	    			window.location.assign(this_url + "myaccount.php?cmd=display");
    	    			return;
	    			}
	    			//Go straight to images page
	    			if (divname=="display_myaccount_images")
	    			    var i=document.getElementById("display_myaccount");
	    			else
    					var i=document.getElementById(divname);					
	    			var this_html = r.responseText;
	    			i.style.display="block";
	    			if (divname == "display_signup") {

		    			captcha_arr = explodeArray(this_html,"|~~~~~|");
		    			var captcha_cnt = captcha_arr.length;
		    			if (captcha_cnt > 1){
			    			var myemail = captcha_arr[0];
							var signup_html = captcha_arr[1].replace("~~~~~|","");
							i.innerHTML=signup_html;				    			
							var domain_arr = new Array();
							domain_arr = explodeArray(myemail,"@");
			
							var myurl = new Array('yahoo.com', 'msn.net', 'msn.com', 'hotmail.com', 'go.com', 'gmail.com');
							var j;
							var domainname;
							var cnt = myurl.length;
							for (j = 0; j < cnt; j++) {
								//alert('domain_arr: ' + domain_arr[1] + ' myurl: ' + myurl[j]);
								if (domain_arr[1] == myurl[j]) {
									if (domain_arr[1] == "yahoo.com") domainname = "mail.yahoo.com";
									else if (domain_arr[1] == "msn.com" | domain_arr[1] == "msn.net" | domain_arr[1] == "hotmail.com") domainname = "hotmail.com";
									else if (domain_arr[1] == "gmail.com") domainname = "gmail.com";
									else if (domain_arr[1] == "go.com") domainname = "mail.go.com";
									var show_domain = "http://" + domainname;
									//here we will add the logic to open a popup directly to the mail domain
									window.open (show_domain,"mywindow","location=1,status=1,scrollbars=1,resizable=1,width=500,height=400"); 
									mywindow.moveTo(0,0);					
								}
							}	
							
		    			}
		    			else {
			    			i.innerHTML=r.responseText;	
		    			}
	    			}
	    			else if (divname == "buy_dir_ccnum") {
		    			i.value=r.responseText;
		    			
	    			}
	    			/*else if (divname == "display_myaccount") {
		    			
		    			alert(this_html);
		    			
	    			}*/
	    			else if (divname == "post_commenttext_item") {
		    			i.value=r.responseText;
	    			}
	    			else if (divname == "login_message") {

	    				if(document.getElementById("nonvalid_email")) {
			    			if (r.responseText != "E-mail not found.") {
			    				alert('Your validation code has been sent to the e-mail address that you entered. Please allow up to 30 minutes for email to be received.');
		    				}		    				
			    			if (document.getElementById("login_message1")) document.getElementById("login_message1").innerHTML = 	"Validation sent";
			    			document.getElementById("login_message").innerHTML = "Validation sent";
	    				}
	    				else {
			    			if (r.responseText != "E-mail not found.") {
			    				alert('Your password has been sent to the e-mail address that you entered. Please allow up to 30 minutes for email to be received.');
		    				}		    				
			    			if (document.getElementById("login_message1")) document.getElementById("login_message1").innerHTML = 	r.responseText;
			    			document.getElementById("login_message").innerHTML = 	r.responseText;
		    			}
	    			}
	    			else if (divname.substring(0, 12) == "manufacturer") {
		    			alert('heyyy\n' + this_html);
						var mfr_arr = new Array();
						mfr_arr = explodeArray(this_html,"|");
						var i;
						var mfr_arrcnt = mfr_arr.length;
						var catname = divname.replace(/manufacturer_/, "");
						//var catname = catname_arr[0];
						//alert(divname +".."+catname);
						//divname.innerHTML = "";
						var mfrsearch = catname + "_mfr_search";
						var mfr_let = document.getElementById(mfrsearch).value;						
						//var old_html = document.getElementById(divname).innerHTML;
						//alert(old_html);
						if (mfr_arrcnt < 20) var mult_size = mfr_arrcnt;
						else var mult_size = 20;
						var get_query = document.getElementById("query").value;
						alert(get_query);
						//alert(mult_size);
						var html_rows = "<select multiple id='load_mfr' size='"+mult_size+"' class='input' onchange='change_mfr(this.value, \""+catname+"\", \""+get_query+"\");'>";
						//document.getElementById(divname).innerHTML = this_html;
						//alert('mfr search div almost there ' + divname);	
						document.getElementById("mfr_shortlist").value = "";
						if (mfr_arrcnt > 0) {
							for (i = 0; i < mfr_arrcnt; i++) {
								if (trim(mfr_arr[0]) != "") {
									var mfr_el = new Array();
									mfr_el = explodeArray(mfr_arr[i], "~");
									var mfr_stid = mfr_el[0];
									var mfr_stname = mfr_el[1];
									//will need to make the url below dynamic, ssl or not
									//divname.innerHTML += "\n<a href='dropdown.php?catname="+catname+"&sender=ind&mfrid="+mfr_stid+"&typeid=&query="+query+"&increment=mfr' class='fText1' onclick='toggle_searchbutton();'>"+ mfr_stname + "</a><br>";
									var cmp_len = mfr_let.length;
									var mfr_small = mfr_stname.substring(0,cmp_len);
									mfr_small = mfr_small.toLowerCase();
									mfr_letlower = mfr_let.toLowerCase();
									if (mfr_letlower == mfr_small) {								
										//html_rows += "\n<a href='dropdown.php?catname="+catname+"&sender=ind&mfrid="+mfr_stid+"&typeid=&query=&increment=mfr' class='fText1' onclick='toggle_searchbutton();'>"+ mfr_stname + "</a><br>";
										html_rows += "\n<option value='"+mfr_stid+"'>"+ mfr_stname + "</option>";
									}
									//document.getElementById(mfr_div).innerHTML += mfr_stname + "<br>";
									document.getElementById("mfr_shortlist").value += mfr_arr[i] + "|";
								}
							}	
							html_rows += "</select>";	
						}
						else {
							html_rows = "";
						}
						//html_rows += this_html;
						//alert(document.getElementById("mfr_shortlist").value);
						if (trim(mfr_arr[0]) == ""	& i <= 1) {
							html_rows = "";	
						}
						else {
						}
						if (mfr_let) {
							var this_mfrsmall = mfr_let.toLowerCase();
							this_mfrsmall = this_mfrsmall.substring(0, 1);
							//alert('mfr_small ' + this_mfrsmall);
							//alert('assigning first letter');
							document.getElementById("search_firstlet").value = this_mfrsmall;
						}
						document.getElementById(divname).innerHTML = html_rows; 
						//document.getElementById(divname).innerHTML += this_html; 
						
						//if (document.getElementById("mfr_shortlist").value == "") {
						if (mfr_arrcnt == 0 | trim(html_rows) == "") {
							var mfr_div = "manufacturer_" + catname;
							document.getElementById(mfr_div).innerHTML = "<span class='errorred'>No results found. Please delete some letters and try again.</span>";
						}						
	    			}
	    			else {	    
		    			var thsinner = i.innerHTML;
		    			//var resp = 	r.responseText;
		    			//alert(thsinner + "---" + this_html);	
		    			//document.getElementById("audio_manufacturer").innerHTML = divname + "..audio_manufacturer";
		    			i.innerHTML = this_html;
		    			//alert(divname);
						//thsinner="";
		    			if (divname == "show_login") {
			    			document.loginform.submit();	
			    			
		    			}
		    			if (divname == "display_searchres") {
			    			check_search_parameters();
			    			document.getElementById("search_loader").innerHTML = "";
		    			}
		    			//if (divname == "display_ind") document.getElementById("hidden_ind").style.display = "block";
		    			if (divname == "contact_list") {
			    			
		    			}
						
		    			if (divname == "add_remove" || divname == "add_remove_right") {
			    			
			    			repop_rightdir();
		    			}
		    			if (divname == "add_remove_msg") {
			    			
			    			repop_msgblock();
		    			}
		    			if (divname == "display_directory" || divname == "display_dir_search") {
			    			repop_rightdir();
		    			}

		    			if (divname=="display_myaccount_images")
		    			    setActiveProfilePage(3);
					}
			    }
			else {
					return;
					var i=document.getElementById(divname);					
	    			var this_html = r.responseText;
	    			i.style.display="block";
	    			i.innerHTML=r.responseText;				
			}
		}
		catch (e) {	}
	}
