/* mailto.conver.js */

function initMailto(){
	var mailto = new Array();
/* ----------------------------------------------- setting ----------------------------------------------- */
param = 36;
mailto[0] = [ 'mail-00', '151,134,135,100,151,141,145,153,144,82,135,147,82,142,148' ];
mailto[1] = [ 'mail-01', '151,134,135,81,155,137,151,152,100,151,141,145,153,144,82,135,147,82,142,148' ];
/* ------------------------------------------------------------------------------------------------------- */
	//alert( mailto.length );
	var mailcode = 'ma';
	mailcode += 'ilt';
	mailcode += 'o:';
	for ( var i = 0; i < mailto.length; i++ ){
		var targetID = '#' + mailto[i][0];
		if ( $( targetID ).size() >= 1 ){
			var address = convert2address( mailto[i][1] );
			var htmlcode = 'E-mail: <a href="' + mailcode + address + '" class="link-1">' + address + '</a>';
			$( targetID ).html( htmlcode );
		}
	}
}
function convert2address( numcode ){
	var address = "";
	var arr = numcode.split( "," );
	for ( var i = 0; i < arr.length; i++ ){
		address += String.fromCharCode( eval( arr[i] ) - eval( param ) );
	}
	return address;
}

function initRollovers(){
	var image_cache = new Object();
	$( '.rollover' ).each( function(){
		var imgsrc = this.src;
		var ftype = imgsrc.substring( imgsrc.lastIndexOf('.'), imgsrc.length );
		var imgsrc_ov = imgsrc.replace( ftype, '_over' + ftype );
		image_cache[ this.src ] = new Image();
		image_cache[ this.src ].src = imgsrc_ov;
		
		$( this ).hover(
			function(){
				this.src = imgsrc_ov;
			},
			function(){
				this.src = imgsrc;
			}	
		);
	} );
}

function filterPath( string ) {
	return string
		.replace(/^\//,'')
		.replace(/(index|default).[a-zA-Z]{3,4}$/,'')
		.replace(/\/$/,'');
}
jQuery.easing['jswing'] = jQuery.easing['swing'];
jQuery.extend( jQuery.easing,
	{
	def: 'easeOutCubic',
	swing: function (x, t, b, c, d) {
		return jQuery.easing[jQuery.easing.def](x, t, b, c, d);
	},
	easeInCubic: function (x, t, b, c, d) {
		return c*(t/=d)*t*t + b;
	},
	easeOutCubic: function (x, t, b, c, d) {
		return c*((t=t/d-1)*t*t + 1) + b;
	},
	easeInOutCubic: function (x, t, b, c, d) {
		if ((t/=d/2) < 1) return c/2*t*t*t + b;
		return c/2*((t-=2)*t*t + 2) + b;
	}
});
function initSmoothScroll(){
	var locationPath = filterPath( location.pathname );
	$( 'a[ href *= # ]' ).each( function(){
		var thisPath = filterPath( this.pathname ) || locationPath;
		if ( locationPath == thisPath
		&& ( location.hostname == this.hostname || !this.hostname )
		&& this.hash.replace( /#/,'' ) ){
			var $target = $( this.hash ), target = this.hash;
			if (target) {
				var targetOffset = $target.offset().top;
				$(this).click( function( event ){
					event.preventDefault();
					$( 'html, body' ).animate( { scrollTop: targetOffset }, 900, function(){
						location.hash = target;
					});
				});
			}
		}
	});
}

function filterJobSelect( $slctObj ){
/* init */
	flagArr = new Array();
	$slctObj.each( function(){
		flagArr[ this.selectedIndex ] = 'selected';
	});
	setColorJobSelect( $slctObj, flagArr );
	
	$slctObj.each( function(i){
	/* debug */
		//$( this ).children( 'option' ).each( function(j){
		//	$( this ).prepend( j + '.' );
		//});
	/* bind */
		$( this ).change( function(){
		/* error */
			if ( this.selectedIndex != 0 && flagArr[ this.selectedIndex ] == 'selected' ){
				this.selectedIndex = 0;
				if ( $( this ).next( 'p.error-by-script' ).size() <1 ){
					$( this ).after( '<p class="error-by-script" style="margin: 5px 0 0 0;">同じ職種は選択できません。</p>' );
				}
			} else {
				if ( $( this ).next( 'p.error-by-script' ).size() >=1 ){
					$( this ).next( 'p.error-by-script' ).remove();
				}
			}
		/* get */
			for ( var j =0; j < flagArr.length; j++ ){
				flagArr[j] = '';
			}
			$slctObj.each( function(){
				flagArr[ this.selectedIndex ] = 'selected';
			});
		/* set */
			setColorJobSelect( $slctObj, flagArr );
		});
	});
}
function setColorJobSelect( $slctObj, flagArr ){
	$slctObj.each( function(k){
		$( this ).children( 'option' ).each( function(l){
			if ( l != 0 && flagArr[l] == 'selected' ){
				$( this ).css( 'background', '#CCCCCC' );
			} else {
				$( this ).css( 'background', '#FFFFFF' );
				//if ( k == 0 ){ flagArr[l] = 'blank'; }
			}
		});
	});
}

function clearForm(){
	$( ':text, :password, textarea' ).val( '' );
	$( ':checkbox, :radio' ).attr( 'checked', false );
	$( 'option' ).removeAttr( 'selected' );

	var $slctObj = $( 'option[ value = "通訳のみ" ]' ).parent().css( 'width', '200px' );
	$slctObj.each( function(){
		$( this ).unbind( 'change' );
	});
	filterJobSelect( $slctObj );
}

$( document ).ready( function(){

	initRollovers();
	initSmoothScroll();
	initMailto();

/* common */
	$( ':checkbox, :radio' ).css( 'border', '0' );
	$( ':text, :password, textarea, :file' )
		.focus( function(){
			$( this ).addClass( 'elm-focus' );
		})
		.blur(function(){
			$( this ).removeClass( 'elm-focus' );
		})
	;

/* automation */
	if ( $( 'body' ).attr( 'id' ) == 'registration_index' ){
	
		$( 'input[ value = "フルタイム可" ]' )
			.click( function(){
				$( 'input[ value = "月" ], input[ value = "火" ], input[ value = "水" ], input[ value = "木" ], input[ value = "金" ]' )
					.attr( 'checked', 'checked' )
				;
			})
		;

		var $slctObj = $( 'option[ value = "通訳のみ" ]' ).parent().css( 'width', '200px' );
		filterJobSelect( $slctObj );

		$sZipA = $( '.form-subtable tr:eq(0) input:eq(0)' );
		$sZipB = $( '.form-subtable tr:eq(0) input:eq(1)' );
		$sPref = $( '.form-subtable tr:eq(1) select' );
		$sCity = $( '.form-subtable tr:eq(2) input' );
		$sStrt = $( '.form-subtable tr:eq(3) input' );
		$sZipB.keyup( function(){
				//AjaxZip2.zip2addr( $sZipA.attr( 'name' ), $sPref.attr( 'name' ), $sCity.attr( 'name' ), $sZipB.attr( 'name' ), $sStrt.attr( 'name' ) );
				AjaxZip2.zip2addr( $sZipA.attr( 'name' ), $sPref.attr( 'name' ), $sCity.attr( 'name' ), $sZipB.attr( 'name' ) );
		});

	}
});
