// images to preload
var imgArr = new Array();
imgArr[0] = "../images/layout/bg_subnav_border.png";
imgArr[1] = "../images/layout/bg_subnav_content.png";
imgArr[2] = "../images/layout/nav_normal_konzeption.png";
imgArr[3] = "../images/layout/nav_normal_arbeitsweise.png";
imgArr[4] = "../images/layout/nav_normal_loesungen.png";
imgArr[5] = "../images/layout/nav_normal_unternehmen.png";
imgArr[6] = "../images/layout/nav_normal_effizienzcheck.png";
imgArr[7] = "../images/layout/nav_normal_loginarea.png";
imgArr[8] = "../images/layout/nav_hover_konzeption.png";
imgArr[9] = "../images/layout/nav_hover_arbeitsweise.png";
imgArr[10] = "../images/layout/nav_hover_loesungen.png";
imgArr[11] = "../images/layout/nav_hover_unternehmen.png";
imgArr[12] = "../images/layout/nav_hover_effizienzcheck.png";
imgArr[13] = "../images/layout/nav_hover_loginarea.png";
imgArr[14] = "../images/layout/active_content.png";
imgArr[15] = "../images/layout/bg_inputfield.png";
imgArr[16] = "../images/layout/bg_inputfield.png";
imgArr[17] = "../images/layout/dotted_sep.png";


imgArr[18] = "images/layout/bg_subnav_border.png";
imgArr[19] = "images/layout/bg_subnav_content.png";
imgArr[20] = "images/layout/nav_normal_konzeption.png";
imgArr[21] = "images/layout/nav_normal_arbeitsweise.png";
imgArr[22] = "images/layout/nav_normal_loesungen.png";
imgArr[23] = "images/layout/nav_normal_unternehmen.png";
imgArr[24] = "images/layout/nav_normal_effizienzcheck.png";
imgArr[25] = "images/layout/nav_normal_loginarea.png";
imgArr[26] = "images/layout/nav_hover_konzeption.png";
imgArr[27] = "images/layout/nav_hover_arbeitsweise.png";
imgArr[28] = "images/layout/nav_hover_loesungen.png";
imgArr[29] = "images/layout/nav_hover_unternehmen.png";
imgArr[30] = "images/layout/nav_hover_effizienzcheck.png";
imgArr[31] = "images/layout/nav_hover_loginarea.png";
imgArr[32] = "images/layout/active_content.png";
imgArr[33] = "images/layout/bg_inputfield.png";
imgArr[34] = "images/layout/bg_inputfield.png";
imgArr[35] = "images/layout/dotted_sep.png";

var request_encoding = 'UTF-8';
var request_dataType = 'json';

function checkBrowserName(name){
	var agent = navigator.userAgent.toLowerCase();
	if (agent.indexOf(name.toLowerCase())>-1) {
		return true;
	}
	return false;
}

function validate(form)
{
	if(form.firma.value == "") {
		alert("Bitte geben sie das Unternehmen an in dem Sie tätig sind!");
		form.firma.focus();
		return false;
	}
	
	/*
	if(form.branche.value == "") {
		alert("Bitte geben Sie die Branche an in der Sie tätig sind!");
		form.branche.focus();
		return false;
	}
	*/

	if(form.name.value == "") {
		alert("Bitte geben Sie Ihren Nachnamen ein!");
		form.name.focus();
		return false;
	}

	if(form.vorname.value == "") {
		alert("Bitte geben Sie Ihren Vornamen ein!");
		form.vorname.focus();
		return false;
	}

	if( form.anschrift ) {
		if(form.anschrift.value == "") {
			alert("Bitte geben Sie Ihre Anschrift an!");
			form.anschrift.focus();
			return false;
		}
	} else {
		if(form.street.value == "") {
			alert("Bitte geben Sie die Straße Ihrer Firma an!");
			form.street.focus();
			return false;
		}

		if(form.houseno.value == "") {
			alert("Bitte geben Sie die Hausnummer Ihrer Firma an!");
			form.houseno.focus();
			return false;
		}

		if(form.zipcode.value == "") {
			alert("Bitte geben Sie die Postleitzahl Ihrer Firma an!");
			form.zipcode.focus();
			return false;
		}

		if(form.city.value == "") {
			alert("Bitte geben Sie den Ort Ihres Firmensitzes an!");
			form.city.focus();
			return false;
		}
	}

	if(form.tel.value == "") {
		alert("Bitte geben Sie Ihre Telefonnummer an!");
		form.tel.focus();
		return false;
	}

	if(form.email.value == "" || !checkEmail(form.email.value)) {
		alert("Bitte geben Sie eine gültige Email-Adresse an!");
		form.email.focus();
		return false;
	}

	if(form.code.value == "" ) {
		alert("Bitte geben Sie den korrekten Zahlencode an!");
		form.code.focus();
		return false;
	} else if ( MD5(form.code.value) != form.cryptcode.value ) {
		alert("Bitte geben Sie den korrekten Zahlencode an!");
		form.code.focus();
		return false;
	}
	return true;
}

function checkEmail(email) {
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	if(reg.test(email) == false) {
		return false;
	}
	return true
}

function toggleNavMenue(elem, bVisible) {
	if(elem.childNodes.length > 2) {
		for(i=0; i< elem.childNodes.length; i++) {
			work = elem.childNodes[i];
			if(work != undefined && work != null && work.id != undefined) {

				//alert(work.className + "|" +work.id+ "|" + work.id.substring(0, 3));

				if(work.className == "subnavcontainer" && work.id.substring(0, 3) == "snc") {
					if(bVisible) {
						work.style.visibility = 'visible';
						work.style.display = 'block';
					} else {
						work.style.display = "none";
					}
				}
			}
		}
	}
}

function togglePageNavi(elem, bVisible) {
	if(elem.firstChild) {
		if(bVisible) {
			elem.firstChild.style.visibility = 'visible';
		} else {
			elem.firstChild.style.visibility = "hidden";
		}
	}
}

function imagePreload() {
	for (i=0; i < imgArr.length; i++) {
		var myImg = new Image();
		myImg.src = imgArr[i];
	}
}

function submitForm( form ) {
	if ( validate(form) ) {
		var url = "http://dev.lexekon.com/LexService/auth/client/4711";
		//var url = "http://localhost:8080/LexService/auth/client/4711";
		getRequest( url, submitCallback, 'GET', '');
	} else {
		//alert("ERROR: Client could not authorised");
		return false;
	}
}

function submitCallback(data) {
	if ( data.successful ) {
		var carriedData;

		if (jQuery.browser.msie) {
			carriedData = serialisieren($('#lexform'), false);
		} else {
			carriedData = $('#lexform').serialize();
		}

		var url = 'http://dev.lexekon.com/LexService/user/askForTestLogin;lexsid=' + data.lexsid + '?' + carriedData;
		//var url = 'http://localhost:8080/LexService/user/askForTestLogin;lexsid=' + data.lexsid + '?' + carriedData;
		getRequest( url, submitCallbackCallback, 'GET', '' );
	} else {
		alert('ERROR: Client could not authorised');
	}
}

function submitCallbackCallback(data) {
	if (data.successful ) {
		location.href = '/testzugang.php'
	} else {
		alert('Error in askForTestLogin');
	}
}

function error() {
	alert( "Unknown error" );
}

function serialisieren(selector, visibleonly) {

	if (visibleonly) {
		var carriedData = "";
		selector.find('input:visible').each(
			function () {
				if ($(this).attr('type') == 'text' || $(this).attr('type') == 'hidden' || $(this).attr('type') == 'password') {
					carriedData = carriedData + "&" + $(this).attr('name') + "=" + escape($(this).val());
				} else if ($(this).attr('type') == 'checkbox' && $(this).is(':checked')) {
					carriedData = carriedData + "&" + $(this).attr('name') + "=" + escape($(this).val());
				} else if ($(this).attr('type') == 'radio' && $(this).is(':checked') ) {
					carriedData = carriedData + "&" + $(this).attr('name') + "=" + escape($(this).val());
				}
			}
		);

		selector.find('select:visible').each(
			function () {
				carriedData = carriedData + "&" + $(this).attr('name') + "=" + escape($(this).find('option:selected').val());
			}
		);

		selector.find('textarea:visible').each(
			function () {
				carriedData = carriedData + "&" + $(this).attr('name') + "=" + escape($(this).val());
			}
		);
	} else {
		var carriedData = "";
		selector.find('input').each(
			function () {
				if ($(this).attr('type') == 'text' || $(this).attr('type') == 'hidden' || $(this).attr('type') == 'password') {
					carriedData = carriedData + "&" + $(this).attr('name') + "=" + escape($(this).val());
				} else if ($(this).attr('type') == 'checkbox' && $(this).is(':checked')) {
					carriedData = carriedData + "&" + $(this).attr('name') + "=" + escape($(this).val());
				} else if ($(this).attr('type') == 'radio' && $(this).is(':checked') ) {
					carriedData = carriedData + "&" + $(this).attr('name') + "=" + escape($(this).val());
				}
			}
		);

		selector.find('select').each(
			function () {
				carriedData = carriedData + "&" + $(this).attr('name') + "=" + escape($(this).find('option:selected').val());
			}
		);

		selector.find('textarea').each(
			function () {
				carriedData = carriedData + "&" + $(this).attr('name') + "=" + escape($(this).val());
			}
		);
	}

	return carriedData.substring(1, carriedData.lenght);
}

function getRequest( request_url, callback, request_type, request_data, errorCallback, contentType)
{
	if(!request_type) request_type= 'GET';
	if(!request_data) request_data= '';
	if(!contentType) contentType = 'application/x-www-form-urlencoded';

	$.ajax({
		'type': request_type,
		'encoding': request_encoding,
		'dataType': request_dataType,
		'contentType': contentType,
		'url': "" + request_url,
		'data': request_data,
		'success': callback,
		'error': (errorCallback == null) ? error : errorCallback
	});
}
