window.onerror=function(){return true;}

function setPaperInfoText(surface, color, grammage)
{
	jQuery.ajax({
		type: "POST",
		async: false,
		cache: false,
		dataType: 'json',
		url: "ajax.php",
		data: {
			"action": "getInfoPaperText",
			"surface": surface,
			"color": color,
			"grammage":  grammage
			},
			success: function(data) {
				jQuery('#text_headline').html(data.title);
				jQuery('#text_paper_info').html(data.infotext);
			}
	});
}

/** Begin Callback Functions */

function login(REQUEST)
{
	if(REQUEST.responseText == 1)
	{
		alert("Du hast eine unbekannte Email-Adresse eingegeben. Bitte versuche es noch einmal!");
	}
	else if(REQUEST.responseText == 2)
	{
		alert("Das Passwort ist falsch. Bitte versuche es noch einmal!");
	}
	else
	{
		var parser=new DOMParser();
		var xmlDoc=parser.parseFromString(REQUEST.responseText,"text/xml");	
		session.getCustomer().importXML(xmlDoc.documentElement);

		transform.unsetCondition("authenticated_user");
		transform.setCondition("authenticated_user", "yes");
		
		var xmlDoc = session.getCustomer().exportXML();
		
		transform.transform(xmlDoc, "navigation_login");
		transform.transform(xmlDoc, "customer_form");
	
		var serialize = new XMLSerializer();
		var data = serialize.serializeToString(session.exportXML());
		data = "data=" + hexEncode(data);
		xmlHttp.sendRequest('cgi-bin/save.php',data, null);		
		
		var xmlDoc = new DocumentFactory().createDocument("","",null);
		xmlDoc.appendChild(xmlDoc.createElement("root"));
		transform.transform(xmlDoc, "navigation_login_form");
		transform.transform(xmlDoc, "basket_login");	
		
	}
}

function logout(REQUEST)
{
	location.href = 'index.php';
}

function setCookie(name,value,expire)
{
	var date=new Date();
	date.setDate(date.getDate() + expire);
	var data=escape(value) + ((expire==null) ? "" : "; expires="+date.toUTCString());
	document.cookie=name + "=" + data;
}

function getCookie(name)
{
	var i,x,y,ARRcookies=document.cookie.split(";");
	for (i=0;i<ARRcookies.length;i++)
	{
		x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
		y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
		x=x.replace(/^\s+|\s+$/g,"");
		if (x==name)
		{
			return unescape(y);
		}
	}
}


function save(REQUEST)
{
	//alert("Session " + REQUEST.responseText + " saved.");
}

/** END Callback Functions */

/** BEGINN Submit*/

/** exportXML() submit */
function submit(form, callback)
{

	isValid = validate.validate(form);
	validate.postprocess(form);
	
	if(isValid == false)
	{
		return;
	}
	
	var serialize = new XMLSerializer();
	var data = serialize.serializeToString(session.getCustomer().exportXML());
	
	data = "data=" + hexEncode(data);
	
	xmlHttp.sendRequest(form.action, data, callback);
}

/*Submit form via xmlHttpRequest */
function submitForm(form, callback)
{
	var form_id = jQuery(form).attr('id');
	
	var radioValid = true;
	if ($('input:radio', '#' + form_id).hasClass('input-radio-required')) {
		$('.' + $('input:radio', '#' + form_id).attr('id')).removeClass('input_label');
		if ($('input:radio', '#' + form_id).is(':checked')) {
			$('.' + $('input:radio', '#' + form_id).attr('id')).removeClass('process-input-action');
			$('.' + $('input:radio', '#' + form_id).attr('id')).addClass('process-input');
		} else {
			$('.' + $('input:radio', '#' + form_id).attr('id')).removeClass('process-input');
			$('.' + $('input:radio', '#' + form_id).attr('id')).addClass('process-input-action');
			radioValid = false;
		}
	}

	// quick-check
	if (form_id == "reg_form" || form_id == "basket_reg_form") {
		if ($('#reg_form_email').val() != $('#reg_form_email_compare').val()) {
			$('.reg_form_email').addClass('process-input-action');
			$('.reg_form_email_compare').addClass('process-input-action');
			return;
		}
		if ($('#reg_form_password').val() != $('#reg_form_password_compare').val()) {
			$('.reg_form_password').addClass('process-input-action');
			$('.reg_form_password_compare').addClass('process-input-action');
			return;
		}	
	}
	
	isValid = validate.validate(form);
	validate.postprocess(form);
	
	if(!isValid || !radioValid)
	{
		return;
	}
	
	var mapping = new Array();
	for(i=0;i<form.elements.length;i++)
	{
		mapping[form.elements[i].getAttribute("name")] = '';
	}
	
	for(i=0; i<form.elements.length; i++)
	{
		if (form.elements[i].getAttribute("type") != "radio" ) 
		{
			mapping[form.elements[i].name] = form.elements[i].value;
		}
		else if (form.elements[i].getAttribute("type") == "radio" && (form.elements[i].checked))
		{
			mapping[form.elements[i].name] = form.elements[i].value;
		}

	}
	
	var data = '';
	var i = 0;
	for(name in mapping)
	{
		if(i == 0)
		{
			data = data + name + "=" + mapping[name];
		}
		else
		{
			data = data + "&" + name + "=" + mapping[name];		
		}
		i++;
	}
	
	xmlHttp.sendRequest(form.action, data, callback);
	
}

/*Submit form via ajax */
function submitFormAjax(form, callback)
{

	var form_id = jQuery(form).attr('id');
	
	var radioValid = true;
	if ($('input:radio', '#' + form_id).hasClass('input-radio-required')) {
		$('.' + $('input:radio', '#' + form_id).attr('id')).removeClass('input_label');
		if ($('input:radio', '#' + form_id).is(':checked')) {
			$('.' + $('input:radio', '#' + form_id).attr('id')).removeClass('process-input-action');
			$('.' + $('input:radio', '#' + form_id).attr('id')).addClass('process-input');
		} else {
			$('.' + $('input:radio', '#' + form_id).attr('id')).removeClass('process-input');
			$('.' + $('input:radio', '#' + form_id).attr('id')).addClass('process-input-action');
			radioValid = false;
		}
	}
	
	isValid = validate.validate(form);
	validate.postprocess(form);
	
	if(!isValid || !radioValid)
	{
		return;
	}
	
	jQuery.post(jQuery('#' + form_id).attr('action'), jQuery('#' + form_id).serialize());
	if(callback != undefined && typeof callback == 'function') callback();
	// scroll to top
	$('body,html').animate({ scrollTop: 0 }, 10);  
}

/** END Submit*/

function unload()
{
	var serialize = new XMLSerializer();
	var data = serialize.serializeToString(session.exportXML());
	data = "data=" + hexEncode(data);
	//alert(data);
	xmlHttp.sendRequest('cgi-bin/save.php',data, save);	
}

function resize() {
	$header = $('div#header');
	$footer = $('div#footer');
	$holder = $('div#holder');
	$footer_drawer = $('div#bottom_nav_drawer');
	
	$footer.css('top', '');
	$holder.css('height', '');

	if($(window).width() < 960)
	{
		$('#header').width(860);
		$('ul#center').attr('id','center_fixed');
	}
	else
	{
		$('#header').width('auto');
		$('ul#center_fixed').attr('id','center');
	}

	if ($(window).width() < 1440)
	{
		var w = Math.min(1440,$(window).width());
		$holder.width(w);
		$footer.width(w);
		$footer_drawer.width(w);
	}
	else
	{
		$footer.width($(window).width());
		$footer_drawer.width($(window).width());
	}
	
	if ($(window).width() < $(document).width())
	{
		$holder.width($(document).width());
		$footer.width($(document).width());
		$footer_drawer.width($(document).width());
	}

	if ($holder.height() < $(window).height())
	{		
		//$holder.height($(window).height() - $footer.height() - $header.height());
	}
	
	if ($(document).height() > $(window).height())
	{
		
		$footer.css('top', ($(document).height() - 40)+'px');
		
		$footer_drawer.css('top', ($(document).height()  -$footer_drawer.height() -40)+'px');
	}
	else
	{
		$footer.css('top', 'auto');
		$footer_drawer.css('top', 'auto');
	}
	//$footer.css('top', ($(document).height() - 40)+'px');
}

function gotoFreeBookSummary(){
	$('.area').addClass('hidden');
	$('#thank_you_free_book').removeClass('hidden').find('div.area').removeClass('hidden');
}

function gotoRequestPaperResearch(){
	$('.area').addClass('hidden');
	$('#thank_you_paper_research').removeClass('hidden').find('div.area').removeClass('hidden');
}

function goToCall_me_form_thx(){
	$('#callback_area').addClass('hidden');
	$('#callback_area_thx').removeClass('hidden');
}

function goToCall_me_form_reverse(){
	$('#callback_area').removeClass('hidden');
	$('#callback_area_thx').addClass('hidden');
}



$(document).ready(function(){
	resize();
	setInterval(resize,500);
	$(this).scrollTop(0);
	
	
	window.setTimeout(function(){
      
    if ($('#header .nav_clicked').size() > 0)
    {
      $('#header').addClass('hover');
    }
    else
    {
      $('#header ul li').hover(function(){
        $('#header').addClass('hover');
      }, function(){
        $('#header').removeClass('hover');
      });
    }
  }, 500);
	
	
	$('.call_me_back').bind('click',function(){
		$('#overlay').removeClass('hidden');
	});
	$('#close_overlay').bind('click', function(){
		$('#overlay').addClass('hidden');
		goToCall_me_form_reverse();
	});
	
	$('.layer').bind('hover',function(){
		$(this).toggleClass('active');
	});
		
	
	//Add Datepicker
	$('.datepicker').datepicker();
	
	//slide Content
	var handler = function(){
		var parent = $(this).parent('div');
		
		var area = parent.find('.area');
		var ref = $(this);
		
		//Reset
		$('.area').each(function(){
			if(!$(this).hasClass('hidden')){
				$(this).slideToggle(function(){
					$(this).toggleClass('hidden');
					$(this).parent('div').find('.layer').bind('click', handler);
					resize();
				});
			}
		});
		
		$('.layer').removeClass('active');
		
		area.slideToggle('400', function(){
			ref.addClass('active').unbind('click');
			$(this).toggleClass('hidden');

			resize();
			$('.headline').first().find('input').trigger('click');
		});
		
		$(document).scrollTop(0);
	};
	
	$('.layer').bind('click', handler);
	$('.button_close_main').bind('click', function(){
		window.location="index.php";
	});
	
	$('.button_back_home').click(function(){
		window.location="index.php";
	});
	
	
	//Hover für Navigation
	$('.nav').mouseenter(function(){
    var offset = $(this).offset();
    $('.nav_sub_layer').stop(true, true).slideUp(200);
    
    /*
    window.setTimeout(function(){
      $('.nav_sub_layer').not('.active').addClass('hidden');
      $('.nav_sub_layer').removeClass('active');
    }, 400);
    */
    
    $('.nav').removeClass('nav_hover');
    
    var id = this.id.replace("navigation_", "");
      
    var layer = $('#nav_sub_'+id);
    layer.unbind('mouseleave');
    
    layer.find('.button_close_green').click(function(){
      layer.trigger('mouseleave');
    });
    
    var left = offset.left + $(this).width() - layer.width()+80;
    
    $('#nav_sub_'+id).addClass('active');
    $(this).addClass('nav_hover');
    //layer.css('left',left).removeClass('hidden');
    layer.css('left','auto').removeClass('hidden').stop(true, true).slideUp(0).stop(true, true).slideDown(250);
    layer.css('right',$(window).width() - offset.left - $(this).width() - 80).removeClass('hidden');
    
    layer.mouseleave(function(){
      layer.unbind('mouseleave');
      layer.find('.button_close_green').unbind('click');
      $(this).slideUp(250);
      window.setTimeout(function(){
        $(this).addClass('hidden');
        $('.nav').removeClass('nav_hover');
      }, 500);
    });
  });

	
	$('ul#center').find('li').hover(function(){
		$(this).toggleClass('nav_hover');
	});
	
	
	//Hover für Footer
	$('.footer_hover').mouseenter(function(){
		var drawer = $('#drawer_holder');
		var container = $('#bottom_nav_drawer');
		
		container.css('z-index',9999);
		drawer.slideDown();
		
		$('#sub_holder').find('ul').removeClass('hidden');
		
		if(this.id == 'comp'){
			$('ul#imprint').addClass('hidden');	
		}
		if(this.id == 'imp'){
			$('ul#company').addClass('hidden');	
		}
		
		
		drawer.mouseleave(function(){
			$(this).slideUp(400, function(){
				container.css('z-index',-9999);
			});
			
		})
	})
	
	
	//Hover für Formular Fehler
	$('.error_img_holder').hover(function(){
		var text = $(this).parent('.process-input-action').find('p');
		
		try{
			var right_input = $(this).parent('.process-input-action').parent('.left').next('.right').find('input');
		}catch(e){
			var right_input = $(this).parent('.process-input-action').parent('.left').next('.right').find('input');
		console.log('test');
		}
	
		
		right_input.toggleClass('negativ_z-index');
		
		
		$(this).find('.error_img_2').toggleClass('hidden').toggleClass('positiv_z-index');
		text.toggleClass('hidden');
	})
	
	var screenSize = {
		width: $(window).width(),
		height: $(window).height()
	};
	
	//Hover für Printerfinder
	$('#bg-home-printer-finder').hover(function(){
		var text = $('.layer');
		text.toggleClass('hidden');
	})
	
	
	// For use within normal web clients 
	var isiPad = navigator.userAgent.match(/iPad/i) != null;
	
	if (screenSize.width < 1000 || isiPad == true) {
		$('#holder').css({'padding-left': 200});
		$('#social-google').css({
			position: 'relative',
			top: -8
		});
		
		$('#footer').css({'padding-left': 200});
	}
	
	validate = new SimpleForm();
});

$(window).resize(function(){
	resize();
});


function page_loaded()
{
	$('.loading').remove();
}

function enableSheetCount(element) 
{
	$(element).removeClass('paper_format_sheet_count_disabled').addClass("paper_format_sheet_count_enabled");
}
