function cycleLoader(curr, next, opts) {
	if (!opts.addSlide || 0 == cycle_images.length) { 
	    return;
	}
	var img = cycle_images.shift();
	opts.addSlide(img);
}

function removeEdit(){
	jQuery('.editable input, .editable textarea', "#div_edit_content").removeClass("border");
	jQuery('.editable input, .editable textarea', "#div_edit_content").removeClass("textarea");
	jQuery('.centertext', "#div_edit_content").addClass('hide');
	jQuery('.div_files', "#div_edit_content").addClass('hide');
	jQuery('.a_upload', "#div_edit_content").addClass('hide');
}

function editContent(element){
	jQuery('.editable input, .editable textarea', "#div_edit_content").removeClass("border");
	jQuery('.editable input, .editable textarea', "#div_edit_content").removeClass("textarea");
	jQuery('.editable input, .editable textarea', "#div_edit_content").attr("readonly", true);
	
	jQuery('.centertext', "#div_edit_content").addClass('hide');
	jQuery('.div_files', "#div_edit_content").addClass('hide');
	jQuery('.a_upload', "#div_edit_content").addClass('hide');
	
	/*
	var newElement = document.createElement("div");
	newElement.setAttribute('id', 'changeForm');
	
	jQuery()
	
	jQuery(element),append(newElement);
	*/
	
	jQuery('input, textarea',element).addClass("border");
	jQuery('input, textarea',element).removeAttr("readonly");
	jQuery('textarea',element).addClass("textarea");
	jQuery('.div_files',element).removeClass('hide');
	jQuery('.centertext',element).removeClass('hide');
	jQuery('.a_upload', element).removeClass('hide');
}

jQuery(document).ready(function() {
	
	var pagecontainer = jQuery('#pagecontainer');
	
	var mainnavi = jQuery('#mainnavi');
	
	var infobox = jQuery('#infobox');
	var infobox_shadow = jQuery('#infobox-shadow');
	var healthclaims = jQuery('#healthclaims');
	

	jQuery('img.defaulticon', mainnavi).mouseover(function() {
		jQuery(this).hide();
		jQuery(this).next('img.hovericon').show();
	});
	jQuery('img.hovericon', mainnavi).mouseout(function() {
		jQuery(this).hide();
		jQuery(this).prev('img.defaulticon').show();
	});
	
	
		if (!jQuery.browser.msie) {
			infobox.wrap('<div/>');
			var infobox_wrapper = infobox.parent();
			infobox_wrapper.append(infobox_shadow);
			infobox_wrapper.addClass('infobox-wrapper');
		}
		
		var infobox_title = jQuery('.title', infobox);
		var infobox_text = jQuery('.text', infobox);
		
		if (infobox_text.size() == 1 && infobox_title.size() == 1) {
			if (!jQuery.browser.msie) {
				infobox_text.wrap('<div />');
				var infobox_text_wrapper = infobox_text.parent();
			}
			
			if (!infobox_text.hasClass('visible')) {
				if (!jQuery.browser.msie) {
					infobox_text_wrapper.hide();
				} else {
					infobox_text.hide();
				}
			}
		}
		
		var infobox_title_link = jQuery(document.createElement('a'));
		infobox_title_link.html(infobox_title.html());
		infobox_title_link.attr('href', 'javascript:;');
		
		infobox_title.html('');
		infobox_title.append(infobox_title_link);
		
		infobox_title_link.click(function() {
			if (!jQuery.browser.msie) {
				infobox_text_wrapper.slideToggle();
			} else {
				infobox_text.slideToggle();
			}
			return false;
		});
		
		if (!jQuery.browser.msie) {
		
			var spanner = jQuery(document.createElement('div'));
			spanner.css({
				height		: (infobox_wrapper.height() + infobox_shadow.height() + 100) + 'px'
			});
			
			jQuery(spanner).insertAfter(pagecontainer);
			
		}
		
	
	
	
	var healthclaims_title = jQuery('.title', healthclaims);
	var healthclaims_text = jQuery('.text', healthclaims);
	
	if (healthclaims_text.size() == 1 && healthclaims_title.size() == 1) {
		healthclaims_text.wrap('<div />');
		var healthclaims_text_wrapper = healthclaims_text.parent();
		
		if (!healthclaims_text_wrapper.hasClass('visible')) {
			healthclaims_text_wrapper.hide();
		}
	}
	
	var healthclaims_title_link = jQuery(document.createElement('a'));
	healthclaims_title_link.html(healthclaims_title.html());
	healthclaims_title_link.attr('href', 'javascript:;');
	
	healthclaims_title.html('');
	healthclaims_title.append(healthclaims_title_link);
	
	healthclaims_title_link.click(function() {
		healthclaims_text_wrapper.fadeToggle();
		return false;
	});
	
	
	
	
	jQuery('#darkener').css({
		height		: jQuery(document).height() + 'px'
	});
	
	jQuery('#darkener').click(hideLogin);
	
	
	jQuery('#login_login').each(function() {
		var self = jQuery(this);
		var defaulttext = self.val();
		
		self.attr('changed', 'false');
		
		self.focus(function() {
			if (self.attr('changed') == 'false') {
				self.val('');
				self.attr('changed', 'true');
				self.addClass('changed');
			}
		});
		
		self.blur(function() {
			if (self.val().match(/^\s*$/)) {
				self.attr('changed', 'false');
				self.val(defaulttext);
				self.removeClass('changed');
			}
		});
	});
	
	jQuery('#login_password').each(function() {
		var self = jQuery(this);
		var defaulttext = self.val();
		
		self.attr('changed', 'false');
		
		if (!jQuery.browser.msie) {
			self.detach();
			self.attr('type', 'text');
			jQuery(self).insertAfter(jQuery('#login_login'));
		} else {
			self.val('');
			self.addClass('changed');
		}
		
		self.focus(function() {
			if (self.attr('changed') == 'false') {
				self.val('');
				self.attr('changed', 'true');
				self.addClass('changed');
				if (!jQuery.browser.msie) {
					self.detach();
					self.attr('type', 'password');
					jQuery(self).insertAfter(jQuery('#login_login'));
				}
				window.setTimeout( function() {self.focus();}, 50);
			}
		});
		
		self.blur(function() {
			if (self.val().match(/^\s*$/)) {
				self.attr('changed', 'false');
				self.val(defaulttext);
				self.removeClass('changed');
				if (!jQuery.browser.msie) {
					self.detach();
					self.attr('type', 'text');
					jQuery(self).insertAfter(jQuery('#login_login'));
				}
			}
		});
	});
	
	
	jQuery('#login_submit').click(function() {
		var login = jQuery('#login_login');
		var password = jQuery('#login_password');
		
		var login_ = login.val();
		var password_ = password.val();
		
		
		jQuery('#loginpopup .error, #loginpopup .ok').fadeOut('fast');
		
		if (login.attr('changed') == 'false' || password.attr('changed') == 'false') {
			jQuery('#loginerror_incompletedata').fadeIn();
			
		} else {
			
			var logindata = 'login=' + encodeURIComponent(login_) + '&password=' + encodeURIComponent(password_);
			
			jQuery.ajax({
				url: '/?login',
				type : 'POST',
				dataType : 'json',
				data : logindata,
				success: function(data) {
					if (!data) {
						jQuery('#loginerror_incorrectlogin').fadeIn();
					} else {
						jQuery('#loginok_correctlogin').fadeIn();
						
						window.setTimeout( function() {
							jQuery('#loginpopup').fadeOut();
							jQuery('#darkener').fadeOut();
							
							window.setTimeout( function() {
								var target = jQuery('#login_target').val();
								if (target == '') {
									location.reload();
								} else {
									location.href = target;
								}
							}, 600);
							
						}, 100);
					}
				}
			});
		}
		
		return false;
	});
	
	
	jQuery('#loginpopup form').submit(function() {
		jQuery('#login_submit').click();
		return false;
	});

	
/* Interner Bereich */	
	jQuery(".a_new").click(function(){
		if(jQuery(this).next(".div_new_content").hasClass("div_show"))
			jQuery(this).next(".div_new_content").removeClass("div_show");
		else
			jQuery(this).next(".div_new_content").addClass("div_show");
	});

	jQuery(".a_upload").click(function(){
		var fileDiv = jQuery(this).prev(".div_files");
		var newElement = document.createElement("input");
		var firstChild = fileDiv.children("input:eq(0)"); 
		var nameAttr = firstChild.attr("name");

		newElement.name = nameAttr;
		newElement.type = "file";
		fileDiv.append(newElement);
	});

	jQuery(".centertext a", ".div_new_content").click(function(){
		jQuery(".a_new").click();
	});

	jQuery(".editbutton").click(function(){
		var element = jQuery(this).next(".editable");
		editContent(element);
	});
	
	jQuery('.centertext .reset', "#div_edit_content").click(function(){
		removeEdit();
	});
	
	
/* Flash Fallback - Animation mit Cycle */
	jQuery('.cyclefallback').cycle({ fx:'fade',timeout:6000,before:cycleLoader, autostop:true});

/* Flash Fallback - Weltkarte */
	if(jQuery('.karte').width()!=undefined){
		offsetKarte = jQuery('.karte').offset();
		karteMaxBottom = offsetKarte.top + jQuery('.karte').height();
		karteMaxRight = offsetKarte.left + jQuery('.karte').width();
	}
	
	jQuery('.a_kontinent').click(function(){
		var kontinent = jQuery(this).attr('rel');
		
		if(kontinent_arr[jQuery(this).attr('rel')])
			var bgImage = kontinent_arr[jQuery(this).attr('rel')];
		else
			var bgImage = "";
		
		var newOverlay = '<div class="karte_overlay" style="display:none;background:url('+bgImage+') no-repeat 0px 0px;"><img class="noflash_lupe" src="/ccds_tpl_img/pbcom/karte_noflash/lupe.gif" alt="close" /></div>';
		jQuery('.karte').append(newOverlay);
		
		var imgpreload = new Image();
		imgpreload.src = bgImage;
		imgpreload.onload = function(){
			jQuery('.karte_overlay').fadeIn('slow');
		};
		
		showCountries(kontinent);
		
		jQuery('.noflash_lupe').click(function(){
			jQuery('.karte_overlay').fadeOut(1000, function(){
				jQuery(this).remove();
			});
		});
	});
	
	jQuery('.map_title').live('click', function(){
		jQuery('.map_content').hide();
		/*jQuery(this).next('.map_content').show();*/
		jQuery(this).next('.map_content').css('display', 'inline-block');
		
		offset = jQuery(this).next('.map_content').offset();
		posx = offset.left;
		posy = offset.top;
		mapContentWidth = jQuery(this).next('.map_content').width();
		//mapContentHeight = jQuery(this).next('.map_content').height();
		mapContentHeight = jQuery(this).next('.map_content').get()[0].offsetHeight;

		mapContentMaxBottom = mapContentHeight + posy;
		mapContentMaxRight = mapContentWidth + posx;
		
		if(mapContentMaxBottom > karteMaxBottom){
			jQuery(this).next('.map_content').css('bottom', '0px');
			jQuery(this).next('.map_content').css('top', '');
		}
		
		if(mapContentMaxRight > karteMaxRight){
			jQuery(this).next('.map_content').css('right', '0px');
			jQuery(this).next('.map_content').css('left', '');
		}
	});
	
	jQuery('.point_country').live('click', function(){
		jQuery('.map_content').hide();
	});
});

function showCountries(kontinent){
	var map_point = '';
	var content = '';
	
	if(kartenpunkte_arr!=undefined){
		for(var i in kartenpunkte_arr){
			if(kartenpunkte_arr[i]!=undefined && kartenpunkte_arr[i].kontinent==kontinent){
				content = "<div class='point_country'>"+kartenpunkte_arr[i].country+" &raquo;<div>x</div></div>";
				content += "<div class='point'>";
				
				var defaultText = 0;
				
				if(kartenpunkte_arr[i].title!=undefined && kartenpunkte_arr[i].title!='')
					content += '<h3>'+kartenpunkte_arr[i].title+'</h3>';
				else
					content += '<h3>G. Pohl-Boskamp GmbH & Co. KG</h3>';
				
				if(kartenpunkte_arr[i].text!=undefined && kartenpunkte_arr[i].text!='')
					content += '<div>'+kartenpunkte_arr[i].text+'</div>';
				else
					defaultText = defaultText+1;
				
				if(kartenpunkte_arr[i].phone!=undefined && kartenpunkte_arr[i].phone!='')
					content += '<div class="point_label">Phone:</div><div class="point_content">'+kartenpunkte_arr[i].phone+'</div><div class="clear"></div>';
				
				if(kartenpunkte_arr[i].phone!=undefined && kartenpunkte_arr[i].fax!='')
					content += '<div class="point_label">Fax:</div><div class="point_content">'+kartenpunkte_arr[i].fax+'</div><div class="clear"></div>';
				
				if(kartenpunkte_arr[i].email!=undefined && kartenpunkte_arr[i].email!='')
					content += '<div class="point_label">e-mail:</div><div class="point_content">'+kartenpunkte_arr[i].email+'</div><div class="clear"></div>';
				else
					defaultText = defaultText+1;
				
				if(kartenpunkte_arr[i].web!=undefined && kartenpunkte_arr[i].web!='')
					content += '<div class="point_label">web:</div><div class="point_content">'+kartenpunkte_arr[i].web+'</div><div class="clear"></div>';
				
				if(defaultText == 2) {
					content += '<div class="point_label">e-mail:</div><div class="point_content"><a href="mailto:contact@pohl-boskamp.com">contact@pohl-boskamp.com</a></div><div class="clear"></div>';
				}
				content += "</div><div class='clear'></div>";
				
				map_point += '<a href="javascript:;" class="map_title" style="left:'+kartenpunkte_arr[i].x+'px;top:'+kartenpunkte_arr[i].y+'px;"><span>'+kartenpunkte_arr[i].country+'</span></a>';
				map_point += '<div class="map_content" style="left:'+kartenpunkte_arr[i].x+'px;top:'+kartenpunkte_arr[i].y+'px;">'+content+'</div>';
			}
			
			if(kartenpunkte_arr[i]!=undefined && kartenpunkte_arr[i][0]!=undefined && kartenpunkte_arr[i][0].kontinent==kontinent){
				content = "<div class='point_country'>"+kartenpunkte_arr[i][0].country+" &raquo;<div>x</div></div>";
				
				var laenge = kartenpunkte_arr[i].length; 
				for(var k=0;k<laenge;k++){
					var defaultText = 0;
					content += "<div class='point'>";
					
					if(kartenpunkte_arr[i][k].title!=undefined && kartenpunkte_arr[i][k].title!='')
						content += '<h3>'+kartenpunkte_arr[i][k].title+'</h3>';
					else
						content += '<h3>G. Pohl-Boskamp GmbH & Co. KG</h3>';
					
					if(kartenpunkte_arr[i][k].text!=undefined && kartenpunkte_arr[i][k].text!='')
						content += '<div>'+kartenpunkte_arr[i][k].text+'</div>';
					else
						defaultText = defaultText+1;
					
					if(kartenpunkte_arr[i][k].phone!=undefined && kartenpunkte_arr[i][k].phone!='')
						content += '<div class="point_label">Phone:</div><div class="point_content">'+kartenpunkte_arr[i][k].phone+'</div><div class="clear"></div>';
					
					if(kartenpunkte_arr[i][k].fax!=undefined && kartenpunkte_arr[i][k].fax!='')
						content += '<div class="point_label">Fax:</div><div class="point_content">'+kartenpunkte_arr[i][k].fax+'</div><div class="clear"></div>';
					
					if(kartenpunkte_arr[i][k].email!=undefined && kartenpunkte_arr[i][k].email!='')
						content += '<div class="point_label">e-mail:</div><div class="point_content">'+kartenpunkte_arr[i][k].email+'</div><div class="clear"></div>';
					else
						defaultText = defaultText+1;
					
					if(kartenpunkte_arr[i][k].web!=undefined && kartenpunkte_arr[i][k].web!='')
						content += '<div class="point_label">web:</div><div class="point_content">'+kartenpunkte_arr[i][k].web+'</div><div class="clear"></div>';
					
					if(defaultText == 2) {
						content += '<div class="point_label">e-mail:</div><div class="point_content"><a href="mailto:contact@pohl-boskamp.com">contact@pohl-boskamp.com</a></div><div class="clear"></div>';
					}
					content += "</div>";
				}
				
				map_point += '<a href="javascript:;" class="map_title" style="left:'+kartenpunkte_arr[i][0].x+'px;top:'+kartenpunkte_arr[i][0].y+'px;"><span>'+kartenpunkte_arr[i][0].country+'</span></a>';
				map_point += '<div class="map_content" style="left:'+kartenpunkte_arr[i][0].x+'px;top:'+kartenpunkte_arr[i][0].y+'px;">'+content+'<div class="clear"></div></div>';
			}
		}
		jQuery('.karte_overlay').append(map_point);
	}
}

function toggleLogin(target) {
	var popup = jQuery('#loginpopup');
	var darkener = jQuery('#darkener');
	
	var login_target = jQuery('#login_target');
	
	login_target.val(target);
	
	darkener.fadeToggle();
	popup.fadeToggle();
}

function hideLogin() {
	var popup = jQuery('#loginpopup');
	var darkener = jQuery('#darkener');
	
	darkener.fadeOut();
	popup.fadeOut();
}
