
// Boot up.
$(function() {

    // Set watermarks.
    //setWatermark();
    
    // Acvive/Halt navigation in mouse hovered.
    var currentBodyId   = $( "body" ).attr( "id" );
    var naviTargets     = $( "#header li a:not([id*=" + currentBodyId + "])" );
    $( naviTargets ).hover(
        function() {
            var parameters = getParameters( currentBodyId, getIdTag( this ) );
            activeNavi( parameters );
        },
        function() {
            var parameters = getParameters( currentBodyId, getIdTag( this ) );
            haltNavi( parameters );
        }
    );

});

/* [ Watermark ] */

function setWatermark() {
    var watermarkParameters = [
        { "selector":"#last_name", "text":"姓" },   { "selector":"#first_name", "text":"名" },
        { "selector":"#last_kana", "text":"セイ" }, { "selector":"#first_kana", "text":"メイ" },
        { "selector":"#note", "text":"質問などございましたらどうぞ" }
    ];
    for ( i = 0, index = watermarkParameters.length - 1; i <= index; i++ ) {
        var currentSelector = watermarkParameters[ i ][ "selector" ];
        var watermarkText   = watermarkParameters[ i ][ "text" ];
        var watermarkTargetType = $( currentSelector ).attr( 'type' );
        if ( watermarkTargetType !== 'text' && watermarkTargetType !== 'textarea' ) {
            continue;
        }
        $( currentSelector ).toggleVal({
            focusClass:     "watermarkChanging",
            changedClass:   "watermarkChanged",
            populateFrom:   "custom",
            text: watermarkText
        });
    }
}

/* [ NAVI Activation ] */

function getIdTag( obj ) {
    return $( obj ).attr( "id" ).split( "_" ).pop();
}

function getParameters( currentPageTag, targetPageTag ) {
    var parameters = {
        "home"      : { "imageDistanceY":"0",       "imageDistanceX":"0"        },
        "model"     : { "imageDistanceY":"-35px",   "imageDistanceX":"-75px"    },
        "contact"   : { "imageDistanceY":"-35px",   "imageDistanceX":"-150px"   },
        "privacy"   : { "imageDistanceY":"-35px",   "imageDistanceX":"-999px"   }
    }
    return {
        "tag"       : targetPageTag,
        "current"   : parameters[ currentPageTag ],
        "target"    : parameters[ targetPageTag ]
    };
}
function activeNavi( parameters ) {
    var tag             = parameters[ "tag" ];
    var imageDistanceX  = parameters[ "target" ][ "imageDistanceX" ];
    var imageDistanceY  = parameters[ "current" ][ "imageDistanceY" ];
    $( "#navi_a_"       + tag ).css( "background-position", imageDistanceX + " " + imageDistanceY );
    $( "#navi_img_"     + tag ).css( "visibility", "hidden" );
    $( "#navi_word_a_"  + tag ).toggleClass( "act" );
}

function haltNavi( parameters ) {
    var tag             = parameters[ "tag" ];
    var imageDistanceX  = parameters[ "target" ][ "imageDistanceX" ];
    $( "#navi_img_"     + tag ).css( "visibility", "visible" );
    $( "#navi_a_"       + tag ).css( "background-position", imageDistanceX + " " + "35px" );
    $( "#navi_word_a_"  + tag ).toggleClass( "act" );
}
