var oPage = {
	mInit : function() {
		oForm.mInit();
		oPage.mGetBackground();
	},
	mGetBackground : function() {		
		var iNumber = Math.floor( Math.random()*4 );
		$( '.main' ).css( 'backgroundImage', 'url(/inc/graphics/content/pbi/background-pbi-' + iNumber  + '.jpg)' ).fadeIn("slow");
	}
};

var oForm = {
	aURL : [ '/pbi/client/de','/pbi/client/uk','/investering/?site=pbi','/pbi/agent/de','/pbi/agent/uk' ],
	mInit : function() {
		oForm.mRadio();
		$( '#selection-form' ).submit( function( e ){
			e.preventDefault();

			var type = $( ':radio[name="type"]:checked' ).val(),
				language = $( ':radio[name="language"]:checked' ).val(),
				url;

			if( $( ':radio[name="type"]' ).is( ':checked' ) && $( ':radio[name="language"]' ).is( ':checked' ) ){
				$( '.submit button' ).attr( 'disabled', 'disabled' );				
				switch( language ) {
					case 'german': url = type == 'client' ? oForm.aURL[0] : oForm.aURL[3]; break;
					case 'english': url = type == 'client' ? oForm.aURL[1] : oForm.aURL[4]; break;
					case 'danish': url = oForm.aURL[2]; break
				}

				if( $( '#remember-me' ).is( ':checked' ) ) {
					oForm.setCookie( "PBI", url, 90 )
				}
				setTimeout( function() { location.href = url; }, 300 );
			}		
		});
	},
	mRadio : function() {
		$( ':radio' ).each( function(){
			var $input = $( this );
			var $link = $( '<a name="' + $input.attr( 'name' ) + '" href="#">' + $input.next( 'label' ).text() + '</a>' );
			var $danish = $( '.language input[value="danish"]' );
			var $agent = $( '.type input[value="agent"]' );
			
			if( $input.hasClass( 'hidden' ) ) { return };
			
			$input.next( 'label' ).remove()
			$input.addClass( 'hidden' ).wrap( '<div class="checkbox"/>' );
			
			if( $input.val() === 'danish' && $agent.is( ':checked' ) ){
				$danish.parent().hide();
				$danish.prev().removeClass( 'checked' ).addClass( 'disabled' );
				$danish[0].checked = false;
			}
			
			// Click Handler
			$link.bind ( 'click', function( e ) {
				e.preventDefault();
				
				var $a = $( this );
				
				$input[0].checked = true;
				$a.removeClass( 'disabled' ).addClass( 'checked' );
				
				// uncheck all others of same name
				$( 'a[name="' + $a.attr( 'name' ) + '"]', $input[0].form ).not( $a ).each(
					function() {
						$( this ).removeClass( 'checked' ).addClass( 'disabled' );
						this.checked = false;							
				});
				
				if( $input.val() === 'agent' ){
					$danish.parent().hide();
					$danish.prev().removeClass( 'checked' ).addClass( 'disabled' );
					$danish[0].checked = false;
				} else if( $input.val() === 'client' ){
					$danish.parent().show();
				}
				
				if( $( ':radio[name="type"]' ).is( ':checked' ) && $( ':radio[name="language"]' ).is( ':checked' ) ){
					$( '.submit button' ).removeClass( 'disabled' ).removeAttr( 'disabled' );
				} else {
					$( '.submit button' ).addClass( 'disabled' ).attr( 'disabled', 'disabled' );
				}
				
				$input[0].onchange && $input[0].onchange();
			});
			
			// set the default state
			$input[0].checked && $link.addClass( 'checked' );
			$input.parent().prepend( $link );
		});
	},
	setCookie : function( name, value, days ) {
		if (days) {
			var date = new Date();
			date.setTime( date.getTime()+( days*24*60*60*1000 ) );
			var expires = "; expires="+date.toGMTString();
		}
		else var expires = "";
		document.cookie = name+"="+value+expires+"; path=/";
	}
};

$( function() {
	oPage.mInit();
});
