/************************************************
*
*	Window onload
*
*	add everything you want to be launch at the window.onload event
*
************************************************/

var gVisitorType = 'unknown';
var gEncodedCurrentUrl = '';

var gMenuImg = null;

var gShadowBoxColor = '';
Shadowbox.init( new Object( { overlayColor: '#ffffff', players: ["img", "html", "iframe"] } ) );						

$( document ).ready( function() {
	newsletterFormWording = $( '#newsletter-email' ).val();
	newsletterFormInit();
	
	giftFormWording = $( '#gift-code' ).val();
	giftFormInit();
} );

/*
*
* Do not place this code in $( document ).ready, shadowbox doest not work 
*
*/
window.onload = function() {
	
	if( gVisitorType == 'direct' ) {
		$( 'div#version' ).load( '/' + gLang + '/version/ #version_container', function() {
			$( 'div#version' ).height( $( document ).height() );
			
			$( '.version_link img' ).each( function() {
				var src = $( this ).attr( 'src' );
				var img = new Image();
				img.src = src.replace( 'off', 'on' );
			} );
			
			$( '.version_link img' ).mouseover( function() {
				$( this ).attr( 'src', $( this ).attr( 'src' ).replace( 'off.png', 'on.png' ) );
			} );
			
			$( '.version_link img' ).mouseout( function() {
				$( this ).attr( 'src', $( this ).attr( 'src' ).replace( 'on.png', 'off.png' ) );
			} );
		} );
	}
	
	$( window ).resize( function() {
		$( 'div#version' ).height( $( document ).height() );
	} );
};

/************************************************
*
*	General Functions
*
************************************************/

function displayMessage( message ) {
	Shadowbox.open({
		content:    '<table id="message-display"><tr><td class="vamid acenter">' + message + '</td></tr></table>',
		player:     "html",
		title:      "",
		height:     100,
		width:      400,
		options: new Object( { overlayColor: '#ffffff', overlayOpacity: 0.7 } )
	});
}

function parseResponse( response ) {
	
	var results = response.split( new RegExp( "&amp;" , "g" ) );
	var values = new Array();
	
	for( var i=0 ; i < results.length ; i++ ) {
		var keyval = results[ i ].split( new RegExp( "=" , "g" ) );
		values[ keyval[ 0 ] ] = keyval[ 1 ];
	}
	
	return values;
}



/************************************************
*
*	fast links function
*
************************************************/

function showFastLink( id ) {
	$( '#' + id + '-off' ).toggle();
	$( '#' + id + '-on' ).toggle();
}



/************************************************
*
*	fast links function
*
************************************************/

function switchVersion( version ) {
	$( '#version-' + version.split( '-' )[0] ).attr( 'src', gMenuImg[ version ] );
}



/************************************************
*
*	Gallery download links function
*
************************************************/

function switchDownloadLink( id ) {
	$( '#picture-' + id ).toggle();
}


/************************************************
*
*	Newsletter form Functions
*
************************************************/

var newsletterFormWording = '';
function newsletterFormInit() {
	$( '#newsletter-email' ).focusin( function() {
		if( $( '#newsletter-email' ).val() == newsletterFormWording ) {
			$( '#newsletter-email' ).val( "" );
			$( '#newsletter-email' ).css( 'color', '#333333' );
		}
	} );
	$( '#newsletter-email' ).focusout( function() {
		if( $( '#newsletter-email' ).val() == "" ) {
			$( '#newsletter-email' ).val( newsletterFormWording );
			$( '#newsletter-email' ).css( 'color', '#9d9d9d' );
		}
	} );
}

var giftFormWording = '';
function giftFormInit() {
	$( '#gift-code' ).focusin( function() {
		if( $( '#gift-code' ).val() == giftFormWording ) {
			$( '#gift-code' ).val( '' );
		}
	} );
	$( '#gift-code' ).focusout( function() {
		if( $( '#gift-code' ).val() == '' ) {
			$( '#gift-code' ).val( giftFormWording );
		}
	} );
}


/************************************************
*
*	Newsletter form Functions
*
************************************************/

function newsletterRegistration( email, lang, accept ) {
	$.ajax( new Object( {
   type: "get",
   url: 'http://' + document.domain + '/' + lang,
   data: new Object( { 'ajax': 1, 'action': 'newsletter-register', 'email': email, 'accept': accept } ),
   success: newsletterRegistrationSuccess,
   error: newsletterRegistrationError
 } ) );
}

function newsletterRegistrationSuccess( response ) {
	var result = parseResponse( response );

	if( result.error ) {
		displayMessage( result.error );
	} else {
		displayMessage( result.msg );
		$( '#newsletter-email' ).val( newsletterFormWording );
		
	  sendVirtualPage( result.ga_tag );
	}
}	

function newsletterRegistrationError( response ) {
	displayMessage( 'Internal error, please try again in few minutes...' );
}

function setVisitorType( gaType ) {
	if( gaType ) {
		gVisitorType = gaType;
	}
}

function setCurrentUrl( currentUrl ) {
	gEncodedCurrentUrl = currentUrl;
}

function sendVirtualPage( tag ) {
	_gaq.push(['_trackPageview', '/' + gVisitorType + tag ]);
	
	(function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();
}
