jQuery(document).ready(init);

function init() {
	// page fadein
	jQuery('#main').hide();
	jQuery('#main').fadeIn('slow');
	jQuery('#header').hide();
	jQuery('#header').fadeIn('slow');
	randomHeader();
	
	// email-addresses a little bit more spam secure
	d22.utils.nospam();
	
	fixBorders();
	
	// flickr-integration
	loadFlickr();
	
	// provide loginbutton
	jQuery('#loginbutton').click(function() {jQuery('#loginformdiv').slideDown('fast').find('input.loginpassword').focus(), jQuery('#loginbutton').hide()});
	
	// shop specific stuff
	if (jQuery('body#shop')) {
		// hide the orderform
		jQuery('#orderform').hide();
		
		// refresh and calculate price
		jQuery('.quantinput').change(shopShowPrice);
		jQuery('.quantinput').keyup(shopShowPrice);
		
		//provide orderform
		jQuery('.orderbutton').click(function(){jQuery('#orderform').slideDown('fast')});
		
		jQuery('#orderform').submit(function(e){e.preventDefault(); sendOrderform(this);});
	}
	
	//newsletter
	jQuery('#showNewsletterform').click(function(){jQuery('#newsletterform').slideDown('fast')});
	jQuery('#newsletterform').hide().submit(function(e){e.preventDefault(); sendNewsletterform(this);});
	
}

function fixBorders() {
	jQuery('.block div p:last-child').addClass('border');
	jQuery('.block p:last-child').addClass('border');
}

function randomHeader() {
	var headerImgs = new Array(
		'img/junesheader01.jpg',
		'img/junesheader02.jpg',
		'img/junesheader03.jpg',
		'img/junesheader04.jpg',
		'img/junesheader05.jpg',
		'img/junesheader06.jpg',
		'img/junesheader07.jpg',
		'img/junesheader08.jpg',
		'img/junesheader09.jpg'
	);
	
	var randomNumber = Math.floor(Math.random()* headerImgs.length);
	jQuery('#header').css('backgroundImage','url('+headerImgs[randomNumber]+')');
	
}

function loadFlickr(){
	// get flickr id: http://idgettr.com
	// jquery flickr plugin: http://www.projectatomic.com/2008/04/05/jquery-flickr/
	var tags = new Array();
	var counter = 0;
	
	$('#main p').each(function(){
			var text = $(this).text();
			if(text.match(/\[tag: (.*)\]/)){
				var tagText = text.match(/\[tag: (.*)\]/)[1];
				var marker = '<div class="imgcontainer" id="img'+counter+'"></div>';
				var replacement = '';
				try{replacement = text.replace(/\[tag: .*\]/,marker)}catch(e){replacement = $(this).text();};
				$(this).html(replacement);
				tags.push(tagText);
				counter++;
			}
	});
	
	for(var i=0;i<tags.length;i++){
		var imageSetDiv = jQuery('<div class="imageSet"></div>');
		var br = jQuery('<br class="clear"></br>');
		jQuery(imageSetDiv).appendTo(jQuery('#img'+i));
		jQuery(br).appendTo($('#img'+i));
		jQuery('<span>Lade Bilder</span>').appendTo(jQuery(imageSetDiv));
		
		jQuery(imageSetDiv).flickr({
			api_key: "4f0a7efa3f2c099ede20ca7f68aa70de",
			type: "search",
			user_id: "54383531@N05",
			tags: tags[i],
			tag_mode: "all",
			size: "o",
			per_page: 500,
			//page: page,
			callback: showImg
		});
	}
}

function showImg(set){
	jQuery(set).parent().children('span').remove();
	jQuery(set).find('a').lightBox({
		overlayBgColor: '#000',
		overlayOpacity: 0.7,
		containerBorderSize: 10,
		imageLoading: 'img/lightbox.loading.gif',
		imageBtnClose: 'img/lightbox.close.gif',
		imageBtnPrev: 'img/lightbox.prev.gif',
		imageBtnNext: 'img/lightbox.next.gif',
		imageBlank: 'img/lightbox.blank.gif',
		containerResizeSpeed: 300,
		txtImage: 'picture',
		txtOf: 'of'
   });
}


function shopShowPrice() {
	var quantInputs = jQuery('.quantinput');
	var totalEurVal = parseFloat(0);
	var totalChfVal = parseFloat(0);
	
	quantInputs.each(function(){
		var quantInput = jQuery(this);
		var productCount = parseInt(quantInput.val());
		if(!d22.utils.isInt(productCount)) {
			productCount = 0;
			quantInput.val(0);
			//quantInput.addClass('errorInput');
		}else{
			quantInput.removeClass('errorInput');
			//quantInput.val(productCount);
		}
		var productPriceChf = parseFloat(quantInput.parent('td').siblings('.chf').text());
		var productPriceEur = parseFloat(quantInput.parent('td').siblings('.eur').text());
		
		totalChfVal += (productPriceChf * productCount);
		totalEurVal += (productPriceEur * productCount);
	});
	
	jQuery('#totalchf').text(d22.formatters.money(totalChfVal));
	jQuery('#totaleur').text(d22.formatters.money(totalEurVal));
}

function sendOrderform(form){
	var orderString = '';
	jQuery('.quantinput').each(function(){
		var productName = jQuery(this).parent('td').siblings('.articlename').text();
		var quantity = jQuery(this).val();
		orderString += productName + ': ' + quantity + '\n';
	});
	
	orderString += 'Total CHF: '+jQuery('#totalchf').text()+ '\n';
	orderString += 'Total EUR: '+jQuery('#totaleur').text();
	
	jQuery('#Orders').val(orderString);
	
	var formInfo = jQuery(form).children(':input').serializeArray();
	jQuery('.error').removeClass('error');
	jQuery.post('orderform.php',formInfo,function(response){
			jQuery(response).each(function(){
				if(this == 'mail_sent'){
					jQuery('#orderform').hide();
					var summary = '';
					var summaryTable = jQuery('<table class="summaryTable"></table>');
					jQuery(formInfo).each(function(i,field){
						if (field.name != 'URL') {
							var tr = jQuery('<tr></tr>').appendTo(summaryTable);
							jQuery('<td></td>').html(field.name).appendTo(tr);
							jQuery('<td></td>').html(field.value).appendTo(tr);
						}
				     });
					 
					 jQuery('#forminfo').html('your order has been placed. thank your for your interest.').append(summaryTable).append('<span class="bold">please check your email. you should have received an order confirmation, if not please contact us.</span>');
				}else{
					jQuery('#'+this).addClass('error');
					jQuery('#forminfo').text('please provide us with complete and correct information.');
				}
			});
	},'json'); 
}

function sendNewsletterform(form){
	var formInfo = jQuery(form).children(':input').serializeArray();
	jQuery('.error').removeClass('error');
	jQuery.post('newsletterform.php',formInfo,function(response){
			jQuery(response).each(function(){
				if(this == 'mail_sent'){
					jQuery('#newsletterform').hide();
					jQuery('#forminfo').text('your request has been sent. thank you.');
				}else{
					jQuery('#'+this).addClass('error');
					jQuery('#forminfo').text('please provide us with complete and correct information.');
				}
			});
	},'json'); 
}








