/*!
 * This is Zwoelf.Analyzer 1.1 
 * Copyright (c) 2011 Martin Gutsch
 *
 * Prequisites:
 *  - Mootools 1.2
 */
// ##########################
// File: Zwoelf.Analyzer.js
// ##########################
if ( ! Zwoelf ) var Zwoelf = {};

Zwoelf.randomNumber = function( minimum, maximum ) { 
	var temp = ( Math.random() * ( maximum - minimum) ) + minimum;
	return Math.floor( temp + 0.5 );
}


Zwoelf.Analyzer = function( options ){

	if( ! options.project_id ) throw({ errorMsg: 'must secify project_id' });
	if( ! options.element_to_inject_image ){
		options.element_to_inject_image = document.body;
	}
	
	var screen_size  = document.getSize();
	var session_uuid = Cookie.read('session_uuid');
	
	if ( session_uuid == undefined ){
		var slots = Array(10).join(',').split(',');
		session_uuid = slots.map(function(){return String.fromCharCode(Zwoelf.randomNumber(65,90))}).join('');
		Cookie.write('session_uuid', session_uuid, { duration: 1 } );
	}
	
	var data = {
		browser_name:       Browser.name,
		browser_platform:   Browser.Platform.name,
		browser_version:    Browser.version,
		screen_x: screen_size.x,
		screen_y: screen_size.y,
		
		url:        document.URL,
		referrer:   document.referrer,
		
		uuid: session_uuid,
		project_id: options.project_id,
		r: Math.random()
	};
	
	var image_src = new URI('http://analyzer.zwoelf.net/pixel.gif').setData(data).toString();
	options.element_to_inject_image.grab( new Element( 'img', { src: image_src } ) );

	return this;
   
};

