function ValidateMemberRequestForm() {
	var fields = new Array("request_name", "request_email", "request_address1");
	var ftype  = new Array("name", "email", "name");
	var typ = document.getElementById("request_type");
	if(typ.options[typ.selectedIndex].value == "ORG") {
		fields.push("request_company");
		ftype.push("name");
	}
	var allok = true;
	for(var i=0;i<fields.length;i++) {
		f = document.getElementById(fields[i]);
		c = ftype[i];
		r = ValidateField(f, c);
		allok = allok & r;
	}	

	if(typ.options[typ.selectedIndex].value == "") {
		alert("Du måste välja medlemstyp.");
		return false;
	}

	if(allok == 0) {
		return false;
	} else {
		return true;
	}	
}

function ValidateField(f, t) {
	var r;
	switch(t) {
		case "name":
			r = ValidateFullName(f);
			break;
		case "htmltext":
			r = ValidateHtmlText(f);
			break;
		case "email":
			r = ValidateEmail(f);
			break;
		default:
			r = true;
	}

      	if(!r) {
      		f.style.backgroundColor = '#fcc';
      	} else {
      		f.style.backgroundColor = '#fff';
      	}

	return r;
}

function ValidateHtmlText(f) {
	return true;
}

function ValidateFullName(f) {
	if(!f.value) {
		return false;
	}
	return true;
}

function ValidateEmail(theinput)
{
	var s=theinput.value;
	if(s.search)
	{
		var moo = s.search(new RegExp('^([-!#$%&\'*+./0-9=?A-Z^_`a-z{|}~'+unescape('%7F')+'])+@([-!#$%&\'*+/0-9=?A-Z^_`a-z{|}~'+unescape('%7F')+']+\\.)+[a-zA-Z]{2,6}$','gi'))>=0; 
		return moo;
	}
	if(s.indexOf)
	{
		var at_character=s.indexOf('@')
		if(at_character<=0 || at_character+4>s.length) {
			return false;
		}
	}
	if(s.length<6) {
		return false;
	} else {
		return true;
	}
}
function ValidateCreditCard(theinput,cardtype)
{
	var first, second, third, val=theinput.value
	var len=val.length
	for(var position=0; position<len; )
	{
		if(val.charAt(position)==' ' || val.charAt(position)=='.' || val.charAt(position)=='-')
		{

			val=val.substring(0,position)+val.substring(position+1,len)
			len=len-1
		}
		else
			position++
	}
	if(len<13)
		return false
	if(cardtype!='unknown')
	{
		if(isNaN(first=parseInt(val.charAt(0),10)))
			return false
		if(isNaN(second=parseInt(val.charAt(1),10)))
			return false
		if(isNaN(third=parseInt(val.charAt(2),10)))
			return false
		if((cardtype=='mastercard') && (len!=16 || first!=5 || second<1 || second>5))
			return false
		if((cardtype=='visa') && ((len!=16 && len!=13) || first!=4))
			return false
		if((cardtype=='amex') && (len!=15 || first!=3 || (second!=4 && second!=7)))
			return false
		if((cardtype=='dinersclub' || cardtype=='carteblanche') && (len!=14 || first!=3 || ((second!=0 || third<0 || third>5) && second!=6 && second!=8)))
			return false
		if((cardtype=='discover') && (len!=16 || ((first!=5 || second<1 || second>5) && val.substring(0,4)!='6011')))
			return false
		if((cardtype=='enroute') && (len!=15 || (val.substring(0,4)!='2014' && val.substring(0,4)!='2149')))
			return false
		if((cardtype=='jcb') && ((len!=16 || first!=3) && (len!=15 || (val.substring(0,4)!='2031' && val.substring(0,4)!='1800'))))
			return false
	}
	for(var check=0,position=1;position<=len;position++)
	{
		if(isNaN(digit=parseInt(val.charAt(len-position),10)))
			return false
		if(!(position % 2))
			var digit=parseInt('0246813579'.charAt(digit),10)
		check+=digit
	}
	return((check % 10)==0)
}








function ValidateAll() {
	var e = document.getElementsByTagName("input");
	var allok = true;
	for(var i=0;i<e.length;i++){
		v = Validate(e[i]);
		if(!v) {
			e[i].style.backgroundColor = '#fcc';
			allok = false;
		} else {
			e[i].style.backgroundColor = '#fff';
		}
	}
	
	return allok;	
}

function Validate(f) {
	switch(f.className) {
		case "input_fullname":
			r = ValidateFullName(f);
			break;
		case "input_htmltext":
			r = ValidateHtmlText(f);
			break;
		case "input_email":
			r = ValidateEmail(f);
			break;
		default:
			r = true;
	}
	return r;
}
