function applyAjaxRedirects()
{
	// applyAjaxRedirectsByGroup( 'menu' );
	// applyAjaxRedirectsByGroup( 'news' );
	// applyAjaxRedirectsByGroup( 'products' );
}

function applyAjaxRedirectsByGroup( mode )
{
	switch( mode )
	{
		case 'news':
		{
			$("#newsContainer a").click( redirectAjaxContentLink_News );
			break;
		}
		
		case 'products':
		{
			$("#productsContainer a").click( redirectAjaxContentLink_Products );
			break;
		}

		case 'menu':
		{
			$("#menuContainer a").click( redirectAjaxContentLink_Menu );
			break;
		}
	}

	return true;
}

/*************************************************************************************************/

var loadUrl;

function redirectAjaxContentLink_Menu()
{
	$("#showLoadProcess").show();
	
	loadUrl = this.href;

	$.getJSON(
		this.href,
		{ isAjax:"true" },
		function(json)
		{
			$("#showLoadProcess").hide();
			$("#linkwayContainer").html( json.linkway );
			$("#menuContainer").html( json.menu );
			$("#contentContainer").html( json.content );
			applyAjaxRedirects();

			document.title = json.title;
			
			showCurrentPageUrl( loadUrl );
		}
	);
	
	return false; // for deny <a href> browse
}

function redirectAjaxContentLink_News()
{
	$("#showLoadProcess").show();
	
	loadUrl = this.href;

	$.getJSON(
		this.href,
		{ isAjax:"true", isAjaxSubblock:"true" },
		function(json)
		{
			$("#showLoadProcess").hide();
			$("#linkwayContainer").html( json.linkway );
			$("#newsContainer").html( json.content );
			applyAjaxRedirects();
			
			document.title = json.title;

			showCurrentPageUrl( loadUrl );
		}
	);
	
	return false; // for deny <a href> browse
}

function redirectAjaxContentLink_Products()
{
	$("#showLoadProcess").show();
	
	loadUrl = this.href;

	$.getJSON(
		this.href,
		{ isAjax:"true", isAjaxSubblock:"true" },
		function(json)
		{
			$("#showLoadProcess").hide();
			$("#linkwayContainer").html( json.linkway );
			$("#productsContainer").html( json.content );
			applyAjaxRedirects();

			document.title = json.title;
			
			showCurrentPageUrl( loadUrl );
		}
	);
	
	return false; // for deny <a href> browse
}

/*************************************************************************************************/

function showCurrentPageUrl( url )
{
	$("#currentPageUrlLinkObject").attr( 'href', url );
	$("#currentPageUrlLinkObject").text( url.replace( /^http:\/\//, '' ) );
	$("#currentPageUrl").show();
}

/*************************************************************************************************/

function setPartnerCellAttrs( cell_index, visible_border, image_border, unvisible_border, background_color )
{
	$("#partnerCell"+cell_index+"a").css( "border", visible_border );
	$("#partnerCell"+cell_index+"b").css( "border", visible_border );
	$("#partnerCell"+cell_index+"c").css( "border", visible_border );

	$("#partnerCell"+cell_index+"a img").css( "border", image_border );
	
	$("#partnerCell"+cell_index+"a").css( "border-bottom", unvisible_border );
	$("#partnerCell"+cell_index+"b").css( "border-top", unvisible_border );
	$("#partnerCell"+cell_index+"b").css( "border-bottom", unvisible_border );
	$("#partnerCell"+cell_index+"c").css( "border-top", unvisible_border );

	$("#partnerCell"+cell_index+"a").css( "background-color", background_color );
	$("#partnerCell"+cell_index+"b").css( "background-color", background_color );
	$("#partnerCell"+cell_index+"c").css( "background-color", background_color );
	
	return true;
}

function partnerCellOver( cell_index )
{
	setPartnerCellAttrs( cell_index, '1px solid #e0e0e0', '1px solid #cccccc', '1px solid #f0f0f0', '#f0f0f0' );
	return true;	
}

function partnerCellOut( cell_index )
{
	setPartnerCellAttrs( cell_index, '1px solid #ffffff', '1px solid #ffffff', '1px solid #ffffff', '#ffffff' );
	return true;	
}

/*************************************************************************************************/

var dataForm__caption__default;
var dataForm__caption__loadDone;

function urlvarPrepare( value )
{
    value = value.replace( /&/, '%26' );
    value = value.replace( /(\r|\n)/, '%0D' );

    return value;
}

/** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * **/

function partnerRegistration( submitButtonRef, loadCaption, loadDone )
{
	dataForm__caption__default = $("#partnerRegSubmit").attr( "value" );
	dataForm__caption__loadDone = loadDone;

	$("#partnerReg_www").attr( "disabled", true );
	$("#partnerReg_partner").attr( "disabled", true );
	$("#partnerReg_email").attr( "disabled", true );
	$("#partnerReg_notice").attr( "disabled", true );

	$("#partnerRegSubmit").attr( "disabled", true );
	$("#partnerRegSubmit").attr( "value", loadCaption );

	var formRef = submitButtonRef.form;

    formRef.action = formRef.action
                   + '?applyreg=true'
                   + '&www=' + urlvarPrepare( formRef['www'].value )
                   + '&partner=' + urlvarPrepare( formRef['partner'].value )
                   + '&email=' + urlvarPrepare( formRef['email'].value )
                   + '&notice=' + urlvarPrepare( formRef['notice'].value )
                   ;

	$.getJSON(
		formRef.action,
		{ isAjax:"true", isAjaxSubblock:"true" },
		function(json)
		{
			$("#partnerRegSubmit").attr( "value", dataForm__caption__loadDone );
			
			$("#partnerRegResultMessage").hide();
			$("#partnerRegResultMessage #message").html( json.content );
			$("#partnerRegResultMessage").fadeIn( 500 );
		}
	);

	submitButtonRef.blur();
}

function partnerRegistrationClose()
{
	$("#partnerRegResultMessage").fadeOut( 500, 
		function()
		{
			$("#partnerRegResultMessage #message").html('');
			$("#partnerRegResultMessage").hide();

			$("#partnerReg_www").attr( "disabled", false );
			$("#partnerReg_partner").attr( "disabled", false );
			$("#partnerReg_email").attr( "disabled", false );
			$("#partnerReg_notice").attr( "disabled", false );

			$("#partnerRegSubmit").attr( "disabled", false );
			$("#partnerRegSubmit").attr( "value", dataForm__caption__default );
		}
	);
}

/** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * **/

function contactFormSend( submitButtonRef, loadCaption, loadDone )
{
	dataForm__caption__default = $("#contactFormSubmit").attr( "value" );
	dataForm__caption__loadDone = loadDone;

	$("#contactForm_sendto").attr( "disabled", true );
	$("#contactForm_contact").attr( "disabled", true );
	$("#contactForm_email").attr( "disabled", true );
	$("#contactForm_notice").attr( "disabled", true );

	$("#contactFormSubmit").attr( "disabled", true );
	$("#contactFormSubmit").attr( "value", loadCaption );

	var formRef = submitButtonRef.form;
	
    formRef.action = formRef.action
                   + '?applysend=true'
                   + '&sendto=' + urlvarPrepare( formRef['sendto'].value )
                   + '&contact=' + urlvarPrepare( formRef['contact'].value )
                   + '&email=' + urlvarPrepare( formRef['email'].value )
                   + '&notice=' + urlvarPrepare( formRef['notice'].value )
                   ;

	$.getJSON(
		formRef.action,
		{ isAjax:"true", isAjaxSubblock:"true" },
		function(json)
		{
			$("#contactFormSubmit").attr( "value", dataForm__caption__loadDone );
			
			$("#contactFormResultMessage").hide();
			$("#contactFormResultMessage #message").html( json.content );
			$("#contactFormResultMessage").fadeIn( 500 );
		}
	);

	submitButtonRef.blur();
}

function contactFormClose()
{
	$("#contactFormResultMessage").fadeOut( 500, 
		function()
		{
			$("#contactFormResultMessage #message").html('');
			$("#contactFormResultMessage").hide();

			$("#contactForm_sendto").attr( "disabled", false );
			$("#contactForm_contact").attr( "disabled", false );
			$("#contactForm_email").attr( "disabled", false );
			$("#contactForm_notice").attr( "disabled", false );

			$("#contactFormSubmit").attr( "disabled", false );
			$("#contactFormSubmit").attr( "value", dataForm__caption__default );
		}
	);
}

/*************************************************************************************************/
