mySubmitFormvalidated = true;
valuesEntered = false;
errors ="";
//var textNummer=["", "- Ett", "- Två", "- Tre", "- Fyra", "- Fem", "- Sex", "- Sju", "- Åtta", "- Nio", "- Tio", "- Elva", "- Tolv", "- 13", "- 14", "- 15", "- 16 ,17", "- 18", "- 19", "- 20", "- 21"]
var textNummer=["", "- 1", "- 2", "- 3", "- 4", "- 5", "- 6", "- 7", "- 8", "- 9", "- 10", "- 11", "- 12", "- 13", "- 14", "- 15", "- 16 ,17", "- 18", "- 19", "- 20", "- 21"]
var invalidMandatoryFields

function addError(errorMessage)
{
	validated = false;
	errors = errors + errorMessage + "\n";
}

function validate(element)
{
	valuesEntered = true;
	var result = true;

	switch (element.name)
	{
		case "userName":
			result = validateEmail(element.value);
			if (! result)
			{
				addError("- " + trans_email);
			}
			break;

		case "loginName":
			result = validateText(element.value, 1, 40);
			if (! result)
			{
				addError("- " + trans_login_name);
			}
			break;

		case "password":
			result = validateText(element.value, 1, 30);
			if (! result)
			{
				addError("- " + trans_password);
			}
			break;

		case "passwordValidate":

			var test1, test2, objParent

			objParent = element.form
			test1 = validateText(element.value, 1, 30);
			test2 = (objParent.password.value == element.value)

			if (!test1)
			{
				addError("- " + trans_verify_password);
				result=false
			}

			if (!test2)
			{
				addError("- " + trans_password_do_not_match);
				result=false
			}
			break;


		case "firstName":
			result = validateName(element.value, 1, 30);
			if (! result)
			{
				addError("- " + trans_first_name);
			}
			break;


		case "surName":
			result = validateName(element.value, 1, 30);
			if (! result)
			{
				addError("- " + trans_sur_name);
			}
			break;

		case "contactPerson":
			result = validateName(element.value, 1, 30);
			if (! result)
			{
				addError("- " + trans_contact_person);
			}
			break;

		case "address":
			result = validateText(element.value, 1, 30);
			if (! result)
			{
				addError("- " + trans_address);
			}
			break;

		case "addressRow2":
			result = validateText(element.value, 1, 30);
			if (! result)
			{
				addError("- " + trans_address_row + " 2");
			}
			break;

		case "zipCode":

			result = validateZipCode(element.value);
			if (! result)
			{
				addError("- " + trans_zip_code);
			}
			break;

		case "zipCodeEng":

			result = validateText(element.value, 1, 15);
			if (! result)
			{
				addError("- " + trans_zip_code);
			}
			break;

		case "city":
			result = validateName(element.value, 1, 30);
			if (! result)
			{
				addError("- " + trans_city);
			}
			break;

		case "deliveryAttention":
			result = validateName(element.value, 1, 100);
			if (! result)
			{
				addError("- " + trans_att);
			}
			break;

		case "deliveryAddress":
			result = validateText(element.value, 1, 100);
			if (! result)
			{
				addError("- " + trans_address);
			}
			break;

		case "deliveryAddressRow2":
			result = validateText(element.value, 1, 100);
			if (! result)
			{
				addError("- " + trans_address_row + " 2");
			}
			break;

		case "deliveryZipCode":

			result = validateZipCode(element.value);
			if (! result)
			{
				addError("- " + trans_zip_code);
			}
			break;

		case "deliveryZipCodeEng":

			result = validateText(element.value, 1, 10);
			if (! result)
			{
				addError("- " + trans_zip_code);
			}
			break;

		case "deliveryCity":
			result = validateName(element.value, 1, 50);
			if (! result)
			{
				addError("- " + trans_city);
			}
			break;

		case "emailAddress":
			result = validateEmail(element.value);
			if (! result)
			{
				addError("- " + trans_email);
			}
			break;

		case "phoneNo":
			result = validatePhoneNo(element.value);
			if (! result)
			{
				addError("- " + trans_telephone);
			}
			break;

		case "mobileNo":
			result = validatePhoneNo(element.value);
			if (! result)
			{
				addError("- " + trans_mobile);
			}
			break;

		case "faxNo":
			result = validatePhoneNo(element.value);
			if (! result)
			{
				addError("- " + trans_fax);
			}
			break;


		case "name":
			result = validateText(element.value, 1, 90);
			if (! result)
			{
				addError("- " + trans_name);
			}
			break;

						
		case "companyName":
			result = validateText(element.value, 1, 35);
			if (! result)
			{
				addError("- " + trans_company_name);
			}
			break;

		case "articleName":
			result = validateText(element.value, 1, 70);
			if (! result)
			{
				addError("- " + trans_benamning);
			}
			break;

		case "comment":
			result = validateTextArea(element.value);
			if (! result)
			{
				addError("- " + trans_comment);
			}
			break;

		case "comments":
			result = validateTextArea(element.value);
			if (! result)
			{
				addError("- " + trans_comment);
			}
			break;
													
		case "homePage":
			result = validateWww(element.value);
			if (! result)
			{
				addError("- " + trans_webpage);
			}
			break;	

		case "orgNo":

			result = validateText(element.value,10,12);
			if (! result)
			{
				addError("- " + trans_orgno);
			}
			break;

		case "noOfItems_" +element.id:

			result = validateInt2(element.value,1,4);
			if (! result)
			{
				addError("- " + trans_no_of_articles_on_row + element.id);
			}
			break;

		case "noOfItems":

			result = validateInt(element.value,0,4);
			if (! result)
			{
				addError("- " + trans_no_of_articles);
			}
			break;
	}
	

	switch (element.id)
	{
		case "validate":
			if (element.value == "")
			{
				//addError("- Ett obligatoriskt fält är ej ifyllt");
				invalidMandatoryFields = invalidMandatoryFields + 1
				result = false;
			}
			break;

		default:
			break;
		
	}

	switch (element.getAttribute('validate'))
	{
		case "1":
			if (element.value == "")
			{
				//addError("- Ett obligatoriskt fält är ej ifyllt");
				invalidMandatoryFields = invalidMandatoryFields + 1
				result = false;
			}
			break;

		default:
			break;
		
	}



	if(result == true)
	{
		if (element.type == "checkbox")
			element.className = "inputNoBorder";
		else if (element.type == "radio")
			element.className = "inputNoBorder";
		else if (element.type == "TEXTAREA")
			element.className = "textarea";
		else if (element.className == "inputWhite")
			element.className = "inputWhite";
		else if (element.type == "text")
			element.className = "textbox";
		else if (element.type == "password")
			element.className = "textbox";

	}
	else
	{
		validated = false;

		if (element.tagName == "TEXTAREA")
		element.className = "textareaError";

		if (element.tagName == "SELECT")
		element.className = "selectError";

		if (element.tagName == "INPUT")
		element.className = "inputError";

		if (element.type == "checkbox")
		element.className = "inputError";

		if (element.type == "radio")
		element.className = "inputError";

	}
}


function validateText(strText, minLength, maxLength)
{
	var re = new RegExp('^.{' + minLength + ',' + maxLength + '}$');

	var invalidChar
	invalidChar=false
	if (strText.indexOf("'") == -1 && strText.indexOf("\"") == -1 && strText.indexOf("\\") == -1)
	{
		invalidChar = true;
	}
	
	if ((re.test(strText) && invalidChar) || strText == "")
	return true;
	else
	return false;
}


function validateTextArea(strText)
{
	var invalidChar
	invalidChar=false
	if (strText.indexOf("'") == -1 && strText.indexOf("\"") == -1 && strText.indexOf("\\") == -1)
	{
		invalidChar = true;
	}
	
	if (invalidChar || strText == "")
	return true;
	else
	return false;
}


function validateAddress(strText, minLength, maxLength)
{
	var invalidChar
	invalidChar=false
	if (strText.indexOf("'") == -1 && strText.indexOf("\"") == -1 && strText.indexOf("\\") == -1 && strText.indexOf("\;") == -1)
	{
		invalidChar = true;
	}
	
	var re = new RegExp('^[ _.,:;´`"#¤*&)(/0-9A-Za-zÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÑØÒÓÔÕÖÙÚÛÜÝŸßŠŒŽàáâãäåæçèéêëìíîïðñøòóôõöùúûüýÿšž-]{' + minLength + ',' + maxLength + '}$');
	if ((re.test(strText) && invalidChar) || strText == "")
	return true;
	else
	return false;
}


function validateZipCode(strZipCode)
{
	var myValidator = strZipCode.match(/^(\d)(\d)(\d) (\d)(\d)$/);
	if (myValidator != null || strZipCode == "")
	return true;
	else
	return false;
}


function validatePhoneNo2(strPhoneNo)
{
	var re= /^\d{2,4}[ -]\d{5,9}$/;
	var re2= /^[+ 0-9][() 0-9]{2,9}[- ]\d{5,9}$/;

	if (re.test(strPhoneNo) || re2.test(strPhoneNo) || strPhoneNo == "")
	return true;
	else
	return false;
}

function validatePhoneNo(strPhoneNo)
{

	var re = new RegExp('^[ .,#+*()0-9 -]{1,20}$');
//	var re2 = /^\d{1,20}[ -]\d{3,20}$/;


	if (re.test(strPhoneNo) || strPhoneNo == "")
	return true;
	else
	return false;
}


function validateDate(element)
{
	var validformat=/^\d{2}\d{2}\d{2}$/ //Kollar så formatet stämmer
	var returnval=false
	if (!validformat.test(element.value))
	{
		return false;
	}
	else // Om formatet stämmer, kolla om datumet är korrekt.
	{
		var yearfield= element.value.split("")[0] + element.value.split("")[1]
		var monthfield=element.value.split("")[2] + element.value.split("")[3]
		var dayfield=element.value.split("")[4] + element.value.split("")[5]
		
		var dayobj = new Date('20' + yearfield, monthfield-1, dayfield)
		if ((dayobj.getMonth()+1!=monthfield)||(dayobj.getDate()!=dayfield)||(dayobj.getFullYear()!='20' + yearfield))
		{
			return false;
		}
		else
			return true
	}
}


function validateEmail(strEmail)
{	
	var invalidChar
	invalidChar=false
	if (strEmail.indexOf("'") == -1 && strEmail.indexOf("\"") == -1 && strEmail.indexOf("\\") == -1 && strEmail.indexOf("\;") == -1)
	{
		invalidChar = true;
	}
	
	var re= /^[^\x0d]+\@([-A-Za-z0-9ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÑØÒÓÔÕÖÙÚÛÜÝŸßŠŒŽàáâãäåæçèéêëìíîïðñøòóôõöùúûüýÿšž]+\.)+[A-Za-z]{2,4}$/;
	if ((re.test(strEmail) && invalidChar) || strEmail == "")
	return true;
	else
	return false;
}

function validateWww(strUrl)
{
	var invalidChar
	invalidChar=false
	if (strUrl.indexOf("'") == -1 && strUrl.indexOf("\"") == -1 && strUrl.indexOf("\\") == -1 && strUrl.indexOf("\;") == -1)
	{
		invalidChar = true;
	}
	
	var re= /^[^\x0d]([\_\.\~\^\-\/\&\%\?\^\+0-9A-Za-zÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÑØÒÓÔÕÖÙÚÛÜÝŸßŠŒŽàáâãäåæçèéêëìíîïðñøòóôõöùúûüýÿšž]+\.)+[\_\.\~\^\-\/\&\%\?\^0-9A-Za-zÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÑÒÓÔÕÖÙÚÛÜÝŸßŠŒŽàáâãäåæçèéêëìíîïðñòóôõöùúûüýÿšž]{2,148}$/;
	if ((re.test(strUrl) && invalidChar) || strUrl == "")
	return true;
	else
	return false;
}

function validateInt(strInt, minLength, maxLength)
{
	var re = new RegExp('^[0-9]{' + minLength + ',' + maxLength + '}$');

	if (re.test(strInt) || strInt == "")
	return true;
	else
	return false;
}

function validateInt2(strInt, minLength, maxLength)
{
	var re = new RegExp('^[0-9]{' + minLength + ',' + maxLength + '}$');

	if (re.test(strInt))
	return true;
	else
	return false;
}




function validateDouble(strDouble, minLength, maxLength)
{
	var re = new RegExp('^[0-9]{' + minLength + ',' + maxLength + '}$');

	var re2 = new RegExp('^[0-9]{' + minLength + ',' + maxLength + '}[.][0-9]{1,2}$');

	if (re.test(strDouble) || re2.test(strDouble) || strDouble == "")
	return true;
	else
	return false;
}


function validateDoublePrice(strDouble, minLength, maxLength)
{
	var re = new RegExp('^[-]{0,1}[0-9]{' + minLength + ',' + maxLength + '}$');

	var re2 = new RegExp('^[-]{0,1}[0-9]{' + minLength + ',' + maxLength + '}[.0-9]{1,3}$');

	if (re.test(strDouble) || re2.test(strDouble) && strDouble != "")
	return true;
	else
	return false;
}


function validateDoubleCurrency(strDouble, minLength, maxLength)
{
	var re = new RegExp('^[-]{0,1}[0-9]{' + minLength + ',' + maxLength + '}$');

	var re2 = new RegExp('^[-]{0,1}[0-9]{' + minLength + ',' + maxLength + '}[.]{1,1}[0-9]{1,4}$');

	if (re.test(strDouble) || re2.test(strDouble) && strDouble != "")
	return true;
	else
	return false;
}

function validateDoubleNoItems(strDouble, minLength, maxLength)
{
	var re = new RegExp('^[0-9]{' + minLength + ',' + maxLength + '}$');

	var re2 = new RegExp('^[0-9]{' + minLength + ',' + maxLength + '}[.][0-9]{1,2}$');

	if ((re.test(strDouble) || re2.test(strDouble)) && strDouble != "")
	return true;
	else
	return false;
}



function validateName(strName, minLength, maxLength)
{
	var re = new RegExp('^[ .,´`0-9A-Za-zÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÑØÒÓÔÕÖÙÚÛÜÝŸßŠŒŽàáâãäåæçèéêëìíîïðñøòóôõöùúûüýÿšž&/ -]{' + minLength + ',' + maxLength + '}$');
	if (re.test(strName) || strName == "")
	return true
	else
	return false;
}



function displayElement(elementName) 
{
		var elem = document.getElementById(elementName);
		var indicatorElement = document.getElementById(elementName + "Indicator" );
		
		//elem.style.display = ((elem.style.display=='none')?'inline':'none');
		
		if ( elem.style.display == 'none')
		{
			indicatorElement.value = "1";
			elem.style.display = 'inline';
		}
		else
		{
			indicatorElement.value = "0";
			elem.style.display = 'none';
		}
}



function disableButton(val,myObj) 
{

// Denna rad "disableButton(true,this.form);" ska läggas till på onclick på de knappar som inte är submit.

	if(val==true) 
	{
		//Här disablas submitknappen
		//alert("Nu ska den vara osynlig")
		var pageForm = document.getElementById(myObj.id);
		var i = 0;
		for (i = 0; i < pageForm.elements.length; i++ )
		{
			if(pageForm.elements.item(i).type == 'submit' || pageForm.elements.item(i).type == 'button')
			{
				pageForm.elements.item(i).disabled = true
			}
		}
	}
	else
	{
		//Här enablas submitknappen
		//alert("Den ska vara synlig")
		var pageForm = document.getElementById(myObj.id);
		var i = 0;
		for (i = 0; i < pageForm.elements.length; i++ )
		{
			if(pageForm.elements.item(i).type == 'submit' || pageForm.elements.item(i).type == 'button')
			{
				pageForm.elements.item(i).disabled = false
			}
		}
	}
}


function mySubmitForm(objForm)
{
	disableButton(true,objForm)
	validated = true;
	valuesEntered = true;
	errors = "";
	invalidMandatoryFields = 0
	var mandatoryFields = ""
	var pageForm = document.getElementById(objForm.id);
	var i = 0;
	
	for (i = 0; i < pageForm.elements.length -1; i++ )
	{
		if(pageForm.elements.item(i).type != 'button' && pageForm.elements.item(i).type != 'submit')
		validate(pageForm.elements.item(i));
	}

	if(invalidMandatoryFields == 1)
		mandatoryFields = " "+ trans_mandatory_field_is_not_filled +"\n\n"
	else if(invalidMandatoryFields > 1)
		mandatoryFields = " "+ trans_mandatory_fields_are_not_filled +"\n\n"	
	
	if ((! validated ) || (! valuesEntered ))
	{
		disableButton(false,objForm)
		alert(trans_field_incorrectly_filled_in +":\n\n" + textNummer[invalidMandatoryFields] + mandatoryFields + errors);
		return false;
	}
	else
	{
		return true;
	}
}
