$().ready(
	function(){

		$('.subscribeButton').click(function(){
			validate(this);
		});

		$('#newsletterform').submit(function(){return false;});

		var ok=false;
		var res,res2,resditr1,resditr2,resdioc1,resdioc2;


		//checkIfHolderRequired();

		$("#trade").autocomplete("2", {
				width: 300,
				max: 0,
				selectFirst: false,
				cacheLength: 0,
				mustMatch: true,
				scrollHeight: 260,
				multipleSeparator: "|",
				highlight: function(value, term) {
					return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi, "\\$1") + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<span style='color:#5c7997; font-weight:bold; text-decoration:underline;'>$1</span>");
				}
		});

		$("#trade").result(function(event, data, formatted) {
			if (data)
			{
				$("#CustomerGroupCode").val(data[1])
				$("#CustomerSubGroupCode").val(data[2])
				res = data[0];
				if( data[1] == "undefined" || data[2] == "undefined" )
					ok=false;
				else
					ok=true;
			}
		});

		$("#trade").blur( function () {
			if(!ok)
			{
				$("#trade").val("");
				ok=false;
			}
			else
			{
				$("#trade").val(res);
				ok=true;
			}
		});

		$("#occupation").autocomplete("1", {
				width: 300,
				max: 0,
				selectFirst: false,
				cacheLength: 0,
				mustMatch: true,
				scrollHeight: 260,
				multipleSeparator: "|",
				highlight: function(value, term) {
					return value.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)(" + term.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi, "\\$1") + ")(?![^<>]*>)(?![^&;]+;)", "gi"), "<span style='color:#5c7997; font-weight:bold; text-decoration:underline;'>$1</span>");
				}
		});
		$("#occupation").result(function(event, data, formatted) {
			if (data)
			{
				$("#CustomerGroupCode").val(data[1])
				$("#CustomerSubGroupCode").val(data[2])
				res2 = data[0];
				if( data[1] == "undefined" || data[2] == "undefined" )
					ok=false;
				else
					ok=true;
			}
		});
		$("#occupation").blur( function () {
			if(!ok)
			{
				$("#occupation").val("");
				ok=false;
			}
			else
			{
				$("#occupation").val(res2);
				ok=true;
			}
		});

		$("#company,#praxis").click(function(){
			newInitTradeSuggest(2);
		});

		$("#privat").click(function(){
			newInitTradeSuggest(1);
		});

		if($("#privat:checked").length > 0)
		{
			window.setTimeout("delaySetBranche()",1000);
			$('#branch').css("display","none");
			if($.support.opacity)
				$("#beruf").css("display", "table-row");
			else
				$("#beruf").css("display", "block");
		}
});

function delaySetBranche()
{
	var occupationRegExp = new RegExp("\\|"+$('#CustomerGroupCode').val()+"\\|"+$('#CustomerSubGroupCode').val() + "\\|","gi");
	
	if(!occupationRegExp.test(CustomerGroupsAsXML1))
	{
		$('#occupation').val("");
	}
}

function newInitTradeSuggest(privatbranche)
{
	window.setTimeout("newInitTradeSuggestDelay(" + privatbranche + ");", 500);

}

function newInitTradeSuggestDelay(privatbranche)
{
	if (privatbranche == 1)
	{
		$("#branch").css("display", "none");
		if($.support.opacity)
			$("#beruf").css("display", "table-row");
		else
			$("#beruf").css("display", "block");

		document.getElementById("occupation").value = "";
		document.getElementById("trade").value = "";
		document.getElementById("CustomerGroupCode").value = "";
		document.getElementById("CustomerSubGroupCode").value = "";
	}
	else if(privatbranche == 2)
	{
		$("#beruf").css("display", "none");
		if($.support.opacity)
			$("#branch").css("display", "table-row");
		else
			$("#branch").css("display", "block");


		document.getElementById("occupation").value = "";
		document.getElementById("trade").value = "";
		document.getElementById("CustomerGroupCode").value = "";
		document.getElementById("CustomerSubGroupCode").value = "";
	}
}

function validate(obj)
{
	var err = "";
	switch ($(obj).attr("id"))
	{
case "doSubscribe":
	IsInternetDescriptionValid = false;
	var splitValue;
	var splitValue2;

	if($("#branch").css("display") != "none"  )
	{
		if(typeof(CustomerGroupsAsXML2) != "undefined")
		{
			splitValue = CustomerGroupsAsXML2.split("###BREAK###");
			for (var i = 0; i < splitValue.length - 1; i++)
			{

				if (splitValue[i].toLowerCase().indexOf($("#trade").attr("value").toLowerCase()) == "0")
				{
					splitValue2 = splitValue[i].split("|");

					if (splitValue2[1].toLowerCase().indexOf($("#CustomerGroupCode").attr("value").toLowerCase()) == "0" && splitValue2[2].toLowerCase().indexOf($("#CustomerSubGroupCode").attr("value").toLowerCase())  == "0" )
					{
						IsInternetDescriptionValid = true;
					}							
				}
			}
		} 
		if (IsInternetDescriptionValid == false)
		{
			$("#trade").attr("value", "");
			validate2(obj);
		}
		else
		{
			validate2(obj);
		}


	}
	else
	{
		if(typeof(CustomerGroupsAsXML1) != "undefined")
		{
			splitValue = CustomerGroupsAsXML1.split("###BREAK###");
			for (var i = 0; i < splitValue.length - 1; i++)
			{

				if (splitValue[i].toLowerCase().indexOf($("#occupation").attr("value").toLowerCase()) == "0")
				{
					splitValue2 = splitValue[i].split("|");

					if (splitValue2[1].toLowerCase().indexOf($("#CustomerGroupCode").attr("value").toLowerCase()) == "0" && splitValue2[2].toLowerCase().indexOf($("#CustomerSubGroupCode").attr("value").toLowerCase())  == "0" )
					{
						IsInternetDescriptionValid = true;
					}							
				}
			}
		}
		if (IsInternetDescriptionValid == false)
		{
			$("#occupation").attr("value", "");
			validate2(obj);
		}
		else
		{
			validate2(obj);
		}

	}
	break;
case "doChangeSubscriber":
	if (($("#currentSubscriberEMail").val().length > 7 || check_email($("#currentSubscriberEMail").val()) == 0) && ($("#currentSubscriberEMail").val() == $("#newSubscriberEMail").val()))
	{
		err = err + missingDifferentEMailAddress; 
		$("#newSubscriberEMail").css("border", "solid #d9131d 1px");
		break;
	}else
	{
		$("#newSubscriberEMail").css("border", "solid #c8c8c8 1px");
	}
	if ($("#currentSubscriberEMail").val().length < 7 || check_email($("#currentSubscriberEMail").val()) == 1)
	{
		err = err + invalidCurrentEMailAddress;
		$("#currentSubscriberEMail").css("border", "solid #d9131d 1px");
	}else
	{
		$("#currentSubscriberEMail").css("border", "solid #c8c8c8 1px");
	}
	if ($("#newSubscriberEMail").val().length < 7 || check_email($("#newSubscriberEMail").val()) == 1)
	{
		err = err + invalidNewEMailAddress;
		$("#newSubscriberEMail").css("border", "solid #d9131d 1px");
	}else
	{
		$("#newSubscriberEMail").css("border", "solid #c8c8c8 1px");
	}
	break;
case "doUnsubscribe":
	if ($("#unsubscribeEMail").val().length < 7 || check_email($("#unsubscribeEMail").val()) == 1)
	{
		err = err + invalidEMailAddress;
		$("#unsubscribeEMail").css("border", "solid #d9131d 1px");
	}else
	{
		$("#unsubscribeEMail").css("border", "solid #c8c8c8 1px");
	}
	break;
default:
	top.openPopUpDialog('wrongValue', note, '', '300', '', popupHTML + request + $('#wrongValue').html(), '', '', 'white', true, 'dark', 'right', false);
	return;
	break;
	}

	if ( $(obj).attr("id") != "doSubscribe")
	{
		if(err != "")
		{
			top.openPopUpDialog('wrongValue', note, '', '300', '', popupHTML + err + $('#wrongValue').html(), '', '', 'white', true, 'dark', 'right', false);
			return;
		}

		$("#task").val($(obj).attr("id"));
		document.newsletterform.submit();
	}
}


function validate2(obj)
{
	var err = "";
	if ($("#ForeName").val().length < 3)
	{
		err = missingForeName;
		$("#ForeName").css("border", "solid #d9131d 1px");
	}else
	{
		$("#ForeName").css("border", "solid #c8c8c8 1px");
	}

	if ($("#LastName").val().length < 3)
	{
		err = err + missingLastName;
		$("#LastName").css("border", "solid #d9131d 1px");
	}else
	{
		$("#LastName").css("border", "solid #c8c8c8 1px");
	}

	if($("#branch").css("display") != "none"  )
	{
		if (document.getElementById("CustomerGroupCode").value == "0" || document.getElementById("CustomerGroupCode").value == ""  || document.getElementById("trade").value == "")
		{
			err=err + missingBranche;
			document.getElementById("trade").value = "";
			document.getElementById("trade").style.border = "solid #d9131d 1px";
		}
		else
		{
			document.getElementById("trade").style.border = "solid #c8c8c8 1px";
		}
	}
	else
	{
		if (document.getElementById("CustomerGroupCode").value == "0" || document.getElementById("CustomerGroupCode").value == ""  || document.getElementById("occupation").value == "")
		{
			err=err + missingOccupation;
			document.getElementById("occupation").value = "";
			document.getElementById("occupation").style.border = "solid #d9131d 1px";
		}
		else
		{
			document.getElementById("occupation").style.border = "solid #c8c8c8 1px";
		}
	}

	if ($("#EMail").val().length < 7 || check_email($("#EMail").val()) == 1)
	{
		err = err + invalidEMailAddress;
		$("#EMail").css("border", "solid #d9131d 1px");
	}else
	{
		$("#EMail").css("border", "solid #c8c8c8 1px");
	}



	if(err != "")
	{
		top.openPopUpDialog('wrongValue', note, '', '300', '', popupHTML + err + $('#wrongValue').html(), '', '', 'white', true, 'dark', 'right', false);
		return;
	}

	$("#task").val($(obj).attr("id"));
	document.newsletterform.submit();
}




