				
//function for suppressing form submission
function no_Enter(event){
	var code
	if(event && event.which){
		 event = event
		 code = event.which
	 }
	 else{
		event = event
		code = event.keyCode
	 }	 
	 if(code == 13){
		return false
	 }
	 else{
		return true
	 }
}


function check_login(formName, str, rm, retval) {
			
			var xmlHttp = document.getElementById('lerror');
			var count = 0;
			var values = new Array();
			var labels = new Array();
			var isValidForm = new Array(), valid_count=0;
		
			if (str == '' && rm == '' && retval == '') {
			        xmlHttp.innerHTML  = 'Please click in the submit button';
				return;
                        }
    		 
			var number = document.forms[formName].elements.length;
			for (var i = 0; i < number; i++) {
				var element = document.forms[formName].elements[i].name;
				if (document.getElementById('l'+element) != null) {
					labels[count] = 'l'+element;
					values[count] = element;
					count++;
				}  
			}
		     
			for (var i = 0; i < labels.length; i++) {
				document.getElementById(labels[i]).style.color = '#6b6b6b';
			}
			for (var i = 0; i < values.length; i++) {
			
				if(( document.getElementById(values[i]).value == '') || (document.getElementById(values[i]).value == 'email address')  ||  (document.getElementById(values[i]).value == 'password') ) {	
				   document.getElementById(labels[i]).style.color = '#ff0000';
				   isValidForm[0] = false;
				   valid_count = 1;
				}
			
			
			}
					
			//error message
			for (var i = 0; i < isValidForm.length; i++) {
					if (isValidForm[i] == false) {
					xmlHttp.innerHTML  = document.getElementById("lrequired_fields").value;
					return;
				}
			}
			
			// validate length and character intput if it is not valid print error message and exit
			for (var i = 0; i < values.length; i++) {
				// validate Email 
				if (values[i] == ( "login_username")) {
					if (isValidEmailAddress(xmlHttp, values[i], labels[i], values, labels) == false) return;
				} 
				if (values[i] == ( "newpassword")) {
					if ( document.getElementById(values[i]).value != document.getElementById('confirmpassword').value ) {				
					      xmlHttp.innerHTML  = document.getElementById("lpassword_match").value;
                                              return;
					}
				} 
			}   
		
			//var url = 'http://mgsteel.ca:10080/';
			var url = str+"?rm="+rm;
			for (var i = 0; i < values.length; i++) {
				var field_name = values[i];
				var substr = field_name.replace(formName, "");
				url += '&'+ field_name + "=" + urlEncode( document.getElementById(values[i]).value );
			}
		
			//url=url+"&remote_connect=1"+"&sid="+Math.random();
			url=url+"&sid="+Math.random();
			if (rm == 'process_login') {
                            retval=url;
                        }
			if (rm == 'process_password_reset_user') {
                            url=url+"&record_id="+document.getElementById("id").value;
                            url=url+"&password_reset_code="+document.getElementById("password_reset_code").value;
			    email_reset = document.getElementById("email").value;
			}
			else {
		   	     email_reset = document.getElementById('login_username').value
			}

			//alert(url);	
//			document.getElementById('reqbutton').disabled = true;
			sendAjaxRequest(formName, url, retval, email_reset);
			
		}
		
		function sendAjaxRequest(formid, url, retval, email) { 
			var xmlHttp;
			xmlHttp=GetXmlHttpObject();
			if (xmlHttp==null) {
				alert ("Browser does not support HTTP Request");
				return;
			} 
			xmlHttp.onreadystatechange=function() { getHTTPRequest(xmlHttp, formid, url, retval, email); }; 
			xmlHttp.open("GET", url, true);
			xmlHttp.send(null);
		}

		// Handle HTTP Request
function getHTTPRequest(xmlHttp, formName, url, retvali, email)
{
	var responseMessage = document.getElementById('lerror');
	if(xmlHttp.readyState == 4 || xmlHttp.readyState=="complete")
	{
		if(xmlHttp.status == 200)
		{
	 	        var response = xmlHttp.responseText;
                        //alert(response);
			if(response == 0) {
				document.getElementById('lerror').style.color = '#FF0000';
				responseMessage.innerHTML = document.getElementById("lincorrect_login").value;
				document.getElementById('reqbutton').disabled = false;
				return;
			} 
			else if (response == 1) {
				document.getElementById('lerror').style.color = '#FF0000';
				responseMessage.innerHTML = document.getElementById("lno_record").value;
				document.getElementById('reqbutton').disabled = false;
				return;
                        }
			else if (response == 2) {
				document.getElementById('lerror').style.color = '#FF0000';
				responseMessage.innerHTML = document.getElementById("lpassword_no_reset").value;
				document.getElementById('reqbutton').disabled = false;
				return;
                        }
			else if (response == 3) {
				document.getElementById('lerror').style.color = '#55505F';
				var str1 = document.getElementById("lpassword_reset_request").value;
				var str2 = str1.replace('<email>', email);
				responseMessage.innerHTML = str2;
				//responseMessage.innerHTML = document.getElementById("lpassword_reset_request").value;
				document.getElementById('content').style.display = 'none';
				return;

                        }
			else if (response == 4) {
				 document.getElementById('lerror').style.color = '#55505F';
				 var str1 = document.getElementById("lpassword_reset").value;
				 var str2 = str1.replace('<email>', email);
				 responseMessage.innerHTML = str2;
				 //responseMessage.innerHTML = document.getElementById("lpassword_reset").value;
				 document.getElementById('content').style.display = 'none';
				 return;
                        }
			else if (response == 5) {
				document.getElementById('lerror').style.color = '#55505F';
				//responseMessage.innerHTML = document.getElementById("lpassword_reminder").value;
				//document.getElementById('reqbutton').style.display = 'none';
				var str1 = document.getElementById("lpassword_reminder").value;
				var str2 = str1.replace('<email>', email);
				responseMessage.innerHTML = str2;
				document.getElementById('content').style.display = 'none';
				return;
                        }
			else {
			        // window.location=url;
                                //alert("hola"+response);
				window.location=retval;
			}
			
	 	}
		// Server Response Error 
	 	else {
	 		responseMessage.innerHTML = 'SYSTEM ERROR: ' + xmlHttp.statusText;
	 	}
	}
}



		


		function GetXmlHttpObject()
		{
			var httpRequest;

			if (window.XMLHttpRequest) { // Mozilla, Safari, ...
				httpRequest = new XMLHttpRequest();
				if (httpRequest.overrideMimeType) {
					httpRequest.overrideMimeType('text/xml');
				}
			} else if (window.ActiveXObject) { // IE
				try {
					httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
				} catch (e) {
					try {
						httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
					} catch (e) {}
				}
			}

			if (!httpRequest) {
				alert('Cannot create  instance XMLHTTP');
				return false;
			}
			return httpRequest;
		}

	function isSameEmail(xmlHttp, field1, field2, lemail, lconfirm_email) {
    var retval = true;
    
     if (document.getElementById(field1).value != document.getElementById(field2).value)  { 
	   xmlHttp.innerHTML = document.getElementById("lemail_match").value;		
	   document.getElementById(lemail).style.color = '#ff0000';
	   document.getElementById(lconfirm_email).style.color = '#ff0000';
	   retval = false;
    }
    return retval;
}

function isValidEmailAddress(xmlHttp, email, lemail, values, labels) {
	var confirm = 0;
	var number = values.length;
	var retval = true;
	 
	if (isValidEmail(xmlHttp, email, lemail) == false) retval = false; 
 	return retval;
}

function isValidEmail(xmlHttp, field, label) {
	
	var email = document.getElementById(field).value;
	
	REG_EMAIL = /^[a-z0-9\-_.]{2,}\@[a-z0-9\-_]{2,}\.[a-z]{2,5}$/i
        var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
        var retval = (filter.test(email) ? true : false);
	var labelValue = document.getElementById(label).innerHTML;
	
    if (retval == false)  {
	   var message = document.getElementById("lemail_format").value;
           message = message.replace(/\[label\]/, labelValue);
	   xmlHttp.innerHTML = message;		
	   document.getElementById(label).style.color = '#ff0000';
    }
    return retval;
}

var unreserved = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_.~";
var hexchars   = "0123456789ABCDEFabcdef";

/* get hex value */
function gethex(decimal) {
	return "%" + hexchars.charAt(decimal >> 4) + hexchars.charAt(decimal & 0xF);
}

/* encode URL */
function urlEncode( str ) {
	var decoded = str;
	var encoded = "";
	var notascii = "";

	for (var i = 0; i < decoded.length; i++ ) {
		var ch = decoded.charAt(i);
		if (unreserved.indexOf(ch) != -1)	{
			encoded = encoded + ch;
		} else	{
			var charcode = decoded.charCodeAt(i);
			encoded = encoded + gethex(charcode);
	    }
	}
	return encoded;
}

