	/* GET ELEMENTS BY CLASS */

function getElementsByClassName(oElm, strTagName, oClassNames)
{
var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
var arrRegExpClassNames = new Array();

	if(typeof oClassNames == "object")
	{
	for(var i=0; i<oClassNames.length; i++)
		{
			arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames[i].replace(/\-/g, "\\-") + "(\\s|$)"));
		}
	}
	else
	{
		arrRegExpClassNames.push(new RegExp("(^|\\s)" + oClassNames.replace(/\-/g, "\\-") + "(\\s|$)"));
	}
	var oElement;
	var bMatchesAll;
	
	for(var j=0; j<arrElements.length; j++)
	{
		oElement = arrElements[j];
		bMatchesAll = true;
		for(var k=0; k<arrRegExpClassNames.length; k++)
		{
			if(!arrRegExpClassNames[k].test(oElement.className))
				{
				bMatchesAll = false;
				break;
				}
		}
		if(bMatchesAll)
			{
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements)
}

	/* VALIDATE FORM */

var formid = "joinform"

function errorNote(x)
{
var error = document.getElementById('error');

	if (document.getElementById('error') != null)
	{
		return false;
	}
	
	if (x == "show")
	{
		var newP = document.createElement("p");
		newP.setAttribute("id", "error");
		var txt = '您必须填写所有的必填项！';
		var msg = document.createTextNode(txt);
		newP.appendChild(msg);
		var form = document.getElementById('joinform');
		form.parentNode.insertBefore(newP,form);
	}
	else
	{
		if (document.getElementById('error') != null)
		{		
			error.parentNode.removeChild(error);
		}
	}
return true;	
}

function validateRequired(field,error)
{
	if (valid)
	{
		if (document.forms[formid].elements[field].value != "")
			{document.getElementById(field).parentNode.className = '';
			errorNote('hide');
			}
	
		if (document.forms[formid].elements[field].value == "")
		{
			document.getElementById(field).parentNode.className = 'error';
			var spanText = document.createTextNode(error);
			var newSpan = document.createElement("span");
			newSpan.setAttribute("class", "error");
			newSpan.setAttribute("className", "error"); // for IE
			newSpan.appendChild(spanText);
			var parent = document.getElementById(field).parentNode;
			var newChild = parent.appendChild(newSpan);
		}
	}
return true;
}

function validateNumber(field,error)
{
var re = /^[-]?\d*\.?\d*$/;
str = document.forms[formid].elements[field].value;

	if (valid)
	{
		if (document.forms[formid].elements[field].value != "")
			{document.getElementById(field).parentNode.className = '';}
	
		if (!str.match(re))
		{
			document.getElementById(field).parentNode.className = 'error';
			var spanText = document.createTextNode(error);
			var newSpan = document.createElement("span");
			newSpan.setAttribute("class", "error");
			newSpan.setAttribute("className", "error"); // for IE
			newSpan.appendChild(spanText);
			var parent = document.getElementById(field).parentNode;
			var newChild = parent.appendChild(newSpan);			
		}
	}
return true;
}

function validatePhone(field,error)
{
var re = /^(\(\d+\) ?)?(\d+[\- ])*\d+$/;
str = document.forms[formid].elements[field].value;
	if (valid)
	{
		if (document.forms[formid].elements[field].value == "")
			{return true;}

		if (document.forms[formid].elements[field].value != "")
			{document.getElementById(field).parentNode.className = '';}

		if (!str.match(re))
		{
			document.getElementById(field).parentNode.className = 'error';
			document.forms[formid].elements[field].focus();
			var spanText = document.createTextNode(error);
			var newSpan = document.createElement("span");
			newSpan.setAttribute("class", "error");
			newSpan.setAttribute("className", "error"); // for IE
			newSpan.appendChild(spanText);
			var parent = document.getElementById(field).parentNode;
			var newChild = parent.appendChild(newSpan);			
		}
	}
return true;
}

function validateEmail(field,error)
{
var re = /^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9])+(\.[a-zA-Z0-9_-]+)+$/;
str = document.forms[formid].elements[field].value;
	if (valid)
	{
		if (document.forms[formid].elements[field].value == "")
			{return false;}

		if (document.forms[formid].elements[field].value != "")
			{document.getElementById(field).parentNode.className = '';}

		if (!str.match(re))
		{
			document.getElementById(field).parentNode.className = 'error';
			document.forms[formid].elements[field].focus();
			var spanText = document.createTextNode(error);
			var newSpan = document.createElement("span");
			newSpan.setAttribute("class", "error");
			newSpan.setAttribute("className", "error"); // for IE
			newSpan.appendChild(spanText);
			var parent = document.getElementById(field).parentNode;
			var newChild = parent.appendChild(newSpan);			
		}
	}
return true;
}

function validateValue(field,value,error)
{
	if (valid)
	{
		if (document.forms[formid].elements[field].value == "")
			{return true;}
	
		if (document.forms[formid].elements[field].value != value)
		{
			document.getElementById(field).parentNode.className = 'error';
			var spanText = document.createTextNode(error);
			var newSpan = document.createElement("span");
			newSpan.setAttribute("class", "error");
			newSpan.setAttribute("className", "error"); // for IE
			newSpan.appendChild(spanText);
			var parent = document.getElementById(field).parentNode;
			var newChild = parent.appendChild(newSpan);
		}
	}
return true;
}

function validateForm()
{
var els = getElementsByClassName(document, "span", "error");
	if (els.length > 0)
	{		
		for (i=0;i<els.length;i++ )
			{
			var span = els[i];
			var parent = span.parentNode;
			var removedChild = parent.removeChild(span);
			}
	}

	valid = true;
	valid = validateRequired('company','请填写您的姓名');
	valid = validateRequired('street_address','请填写您的详细地址');
	valid = validateRequired('city','请填写您所在的城市');

	valid = validateRequired('state','请选择您所在的省份');
	valid = validateRequired('postcode','请填写邮政编码');
	valid = validateRequired('company_phone','请填写您的电话号码');
	valid = validatePhone('company_phone','请填写有效的电话号码');
	valid = validateRequired('disti','请选择推荐您的迈克菲分销商');
	valid = validateRequired('name','请填写您的姓名');
	valid = validateRequired('job_title','请填写您的职务');
	valid = validateRequired('email_address','请填写您的电子邮件地址');
	valid = validateEmail('email_address','请填写有效的电子邮件地址');
	valid = validateRequired('work_phone','请填写您的办公电话号码');
	valid = validatePhone('work_phone','请填写有效的电话号码');
	valid = validateRequired('mobile_phone','请填写您的移动电话号码');
	valid = validatePhone('mobile_phone','请填写有效的移动电话号码');
	valid = validateRequired('preferred_contact','请选择您希望我们以何种方式与您联系');
	valid = validateRequired('business_description','请描述一下贵公司的主营业务');
	valid = validateRequired('year_established','请填写贵公司成立的年份');
	valid = validateNumber('year_established','请填写阿拉伯数字');
	valid = validateRequired('revenue_total','请填写贵公司的年总收入');
	valid = validateNumber('revenue_total','请填写阿拉伯数字');
	valid = validateRequired('employees_total','请填写贵公司的员工总数');
	valid = validateNumber('employees_total','请填写阿拉伯数字');

	if (document.forms[0].vertical_focus.checked == true)
	{
		valid = validateRequired('vertical_focus_other','请选择贵公司主要关注的市场');
	}		

	valid = validateRequired('current_products','请填写贵公司目前经销的产品');
	valid = validateRequired('desired_relationship','请告知您期望与迈克菲建立什么样的关系');
	valid = validateRequired('reseller_agreement','您必须同意这些条款和条件');
	valid = validateValue('reseller_agreement','Agree','您必须同意这些条款和条件，才能成为我们的合作伙伴');

var errorspans = getElementsByClassName(document, "span", "error");
	if (errorspans.length == 0)
	{
		return true;
	}
	else
	{
		errorNote('show');
	}
	
return false;
}