$().ready(function() {
	$.ajaxSetup({
		error:function(x,e) {
			switch(x.status) {
				case 500:
					xnipError(99999);
				break;
				case 401:
					window.location.href = '/';
				break;
			}
		}
	});
});



var data = "";
var contactAlreadySend	= false;
var fieldRetVal = false;


/* LOGIN */
function xnipLogin(login, password, forwardURL) {
	if (login.length == 0 || password.length == 0) {
		xnipError(99991);
	} else {
		$.post("/login/Login", {login: login, password: password }, function(data) {
				if (data == 'success') {
					document.location.href =  '/dashboard';
				} else {
					$('input[name=password]').val("");
					$('input[name=login]').select();
					$('input[name=login]').focus();
					xnipError(data);
				}
			}
			,'json'
		);
	}
	return(false);
}

function setCode(code) {
	$.post("/dashboard/xnipCode", {code: code }, function(data) {
		if (data.status == "success") {

				switch(data.type) {
	
				default:
					document.location.href="/dashboard/getXnips/type/all/page/1";
				break;

				case -1:
					xnipError(data.status);
				break;

				}		
			$("#navCode").val('');
		} else {
			xnipError(data.status);
		}
	
	}, "json");
}
function setCodeBookmarklet(code) {
	$.post("/dashboard/xnipCode", {code: code }, function(data) {
		window.close();
	}, "json");
}
/* CONTACT FORM */
function sendXnipRegForm() {
	$('#XnipRegSuccess, #XnipRegError').hide();
	gender		= $('input[name=gender]:checked').val();
	type		= $('#XnipRegType').val();
	category	= $('#category').val();
	catother	= $('#xnipRegcatother').val();
	company		= $('#contactCompany').val();
	titel		= $('input#contactTitle').val();
	firstname	= $('#contactFirstname').val();
	lastname	= $('#contactLastname').val();
	street		= $('#contactStreet').val();
	plz		= $('#contactPLZ').val();
	city		= $('#contactCity').val();
	email		= $('#contactEmail').val();
	phone		= $('#contactPhone').val();
	position	= $('#contactPosition').val();
	requestURI	= $('#XnipRegRequestURI').val();
	wunschcode  = $('#xnip_privat').val();
	mailCheck	= /^(?:[a-zA-Z0-9_'^&/+-])+(?:\.(?:[a-zA-Z0-9_'^&/+-])+)*@(?:(?:\[?(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))\.){3}(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\]?)|(?:[a-zA-Z0-9-]+\.)+(?:[a-zA-Z]){2,}\.?)$/;
	if (lastname == "Name *" || lastname == "") {
		showXnipRegError("Bitte geben Sie Ihren Namen an.");
		return(false);
	}
	/*else if (firstname == "Vorname" || firstname == "") {
		showXnipRegError("Bitte geben Sie Ihren Vornamen an.");
		return(false);
	}*/
	else if ((email == "E-Mail *" || email == "")) {
		showXnipRegError("Bitte geben Sie Ihre E-Mail Adresse an.");
		return(false);
	}
	/*else if ( (email == "E-Mail" || email == "") && (phone == "Telefon" || phone == "") ) {
		showXnipRegError("Bitte geben Sie eine Kontaktmöglichkeit an (E-Mail und/oder Telefon).");
		return(false);
	}*/
	else if (email != "" && !mailCheck.test(email)) {
		showXnipRegError("Bitte geben Sie eine gültige E-Mail Adresse an.");
		return(false);
	}
	else if (category != 'privat' && (company == "Firmenname *" || company == "")) {
		showXnipRegError("Bitte geben Sie Ihren Firmennamen an.");
		return(false);
	}
	else if (category != 'privat' && (street == "Straße *" || street == "")) {
		showXnipRegError("Bitte geben Sie Ihre Adresse an.");
		return(false);
	}
	else if (category != 'privat' && (plz == "PLZ *" || plz == "")) {
		showXnipRegError("Bitte geben Sie Ihre Adresse an.");
		return(false);
	}
	else if (category != 'privat' && (city == "Ort *" || city == "")) {
		showXnipRegError("Bitte geben Sie Ihre Adresse an.");
		return(false);
	}
	else if (category != 'privat' && (phone == "Telefon *" || phone == "")) {
		showXnipRegError("Bitte geben Sie eine Telefonnummer an.");
		return(false);
	}
	
	if (contactAlreadySend) {
		showXnipRegError("Wir haben Ihre Nachricht bereits erhalten, vielen Dank.");
	}
	else {
		$.post("/communication", {
			type: type,
			category: category,
			company: company,
			gender: gender,
			title: titel,
			firstname: firstname,
			lastname: lastname,
			street: street,
			plz: plz,
			city: city,
			email: email,
			phone: phone,
			position: position,
			requestURI: requestURI,
			wunschcode: wunschcode
			}, 
			function(data) {
				if (data.length > 0) {
					if (data == true) {
						showXnipRegSuccess();
					} else {
						showXnipRegError("Leider konnte Ihre Nachricht nicht versandt werden.\nBitte versuchen Sie es später noch einmal.");
					}
				} else {
					xnipError();
				}
		});
	}
}
function showXnipRegSuccess() {
	$('#xnipRegFormForm')[0].reset();
	$('#xnipRegFormForm').slideUp();
	contactAlreadySend = true;
	$('#XnipRegSuccess').show();
}
function showXnipRegError(msg) {
	$('#XnipRegError').html(msg);
	$('#XnipRegError').show();
}

/* REGISTRATION */
function showRegLayer(reg) {
	$(reg).hide();
	//$(reg).css('left', '264px');
	$(reg).show();
	$(reg).animate( {
		left:'0px'
	}, 300);
}

function hideRegLayer(regHide, regShow) {
	$(regHide + "Red").hide();
	$(regShow + "Red").show();
	if (regShow == '#regSMS') {
		move = '-264px'
	} else {
		move = '264px'
	}
	$(regHide).animate( {
		left:move
	}, 200, 'linear', showRegLayer(regShow));
}

function xnipSMSLogin(login, password, forwardURL) {
	if (!$('#tac2').is(':checked')) {
		xnipError("Bitte lesen und bestätigen Sie die Allgemeinen Geschäfts- und die Teilnahmebedingungen.");
		return(false);
	}
	else {
		return(xnipLogin(login, password, forwardURL));
	}
}


/* PopUp functions */
function xnipPopup(url,title) {
	$('#generalPopupContent').load(url, function() {
	var cssCenterObj = {
		'left' : Math.ceil(($(document).width() / 2) - ($('#generalPopup').width() / 2)),
		'top' : Math.ceil(($(document).height() / 2) - ($('#generalPopup').height() / 2))
	}
		$('#exposureLayer').show();
		$('#generalPopupTitle').html(title);
		$('#generalPopup').draggable({handle: '#dragHandle'}).show().css(cssCenterObj);
	});

}
function closePopup() {
	$('#generalPopup').hide();
	$('#exposureLayer').hide();
	$('#generalPopupContent').empty();
}
/* GENERAL FUNCTIONS */
function getPageHeight() {
	pageHeight = 0;
	
	if (window.innerHeight && window.scrollMaxY) {
		pageHeight = (window.innerHeight + window.scrollMaxY);
	}
	else if (document.body.scrollHeight > document.body.offsetHeight) {
		pageHeight = document.body.scrollHeight;
	}
	else if (document.documentElement) {
		pageHeight = (document.documentElement.offsetHeight + getYOffset());
	}
	else {
		pageHeight = (document.body.offsetHeight + getYOffset());
	}
	
	return(pageHeight);
}

function getPageWidth() {
	pageWidth = 0;

	if (window.innerWidth && window.scrollMaxY) {
		pageWidth = window.innerWidth + window.scrollMaxX;
	}
	else if (document.body.scrollWidth > document.body.offsetWidth) {
		pageWidth = document.body.scrollWidth;
	}
	else {
		pageWidth = document.body.offsetWidth + document.body.offsetLeft;
	}

	return(pageWidth);
}

function getAbsoluteX(e) {
	var x = 0;
	if (e && typeof e.offsetParent != "undefined") {
		while (e && typeof e.offsetLeft == "number") {
			x += e.offsetLeft;
			e = e.offsetParent;
		}
	}
	return x;
}


function getAbsoluteY(e) {
	var y = 0;
	if (e && typeof e.offsetParent != "undefined") {
		while (e && typeof e.offsetTop == "number") {
			y += e.offsetTop;
			e = e.offsetParent;
		}
	}
	return y;
}

function getYOffset() {
	if (window.pageYOffset || document.documentElement.scrollTop) {
		yPos = (window.pageYOffset) ? window.pageYOffset : document.documentElement.scrollTop;
		return(yPos);
	}
	else return(0);
}

function setYPos(myLayer) {
	if (window.pageYOffset || document.documentElement.scrollTop) {
		yPos = (window.pageYOffset) ? window.pageYOffset : document.documentElement.scrollTop;
		$(myLayer).css("top", yPos + "px");
	}
}

function toggle2Tabs(selector) {
	$("." + selector).toggleClass('tabHi');
	$("." + selector + "Content").toggle();
}

function slideToggle2Tabs(selector) {
	$("." + selector).toggleClass('tabHi');
	$("." + selector + "Content").slideToggle(1000);
}

// dropdown menu
var timeout    = 1000;
var closetimer = 0;
var ddmenuitem = 0;

function dropdown_toggle(event) {
	dropdown_canceltimer();
	ddmenuitem = $(this).find('ul').toggle();
}

function dropdown_open() {
	dropdown_canceltimer();
	dropdown_close();
	ddmenuitem = $(this).find('ul').show();
}

function dropdown_close(event) {
	if(ddmenuitem) { 
		ddmenuitem.hide();
	}
}
function dropdown_timer() {
	closetimer = window.setTimeout(dropdown_close, timeout);
}
function dropdown_canceltimer() {
	if(closetimer) {
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}
$(document).click(function(event) {
	if(!$(event.target).is('.dropdown *')) {
		dropdown_close();
	};
});
// end dropdown menu

// Category tabs
var tabLength = 0;
function tabHover(no) {
	$("TABLE.tabs TD, TABLE.tabs TD A").removeClass("hi");
	if (no == 0 || no == tabLength) {
		mySelector = (no == 0) ? "left" : "right";
		$("TABLE.tabs TD." + mySelector).toggleClass("hi");
	}
	$("TABLE.tabs TD.devider").eq(no).addClass("hi");
	$("TABLE.tabs TD A").eq(no).addClass("hi");
}


// end cateegory tabs



