/*
-------------------------------------------------------------------------------------------------
	[common.js] JavaScript
-------------------------------------------------------------------------------------------------
	copyright          : Lampros co.,Ltd.
	author             : Atsushi Umehara
	making day         : 2010-06-23
-------------------------------------------------------------------------------------------------
	note
	2011-04-06 : close window¤òÄÉ²Ã
-------------------------------------------------------------------------------------------------*/
var overChar = '_f2';
var btnClass = 'btn';

jQuery( function( $ ){

	// add browser class
	//$( 'html' ).css( 'overflow-y', 'scroll' );
	//$( 'body' ).addClass( $.browser.className );

	// pngfix
	//$( 'img' ).pngfix();
	//$( '.iepngfix' ).pngfix();

	// current hilite
	//$( '#menuArea' ).currentHilite( { hiliteChar:overChar, debugUrl:'http://www.lampros.co.jp/homepage-up/'});

	// rolloveer
	$( '.' + btnClass, 'body' ).setOverImgSmooth( { overChar:overChar } );
	$( 'a img:not( .' + btnClass + ' )', 'body' ).setHiliteImg();

	//odd even first last
	$( 'ul, ol', 'body' ).oefs( { setElement:"li" });
	$( 'table', 'body' ).oefs( { setElement:"tr" });
	
	// smooth scroll
	$( 'a[href^=#]' ).smoothScroll();
	
	//photoGallery
	//$( '.photoGallery' ).photoGallery();

});


// odd even first last
( function( $ ){
    $.fn.oefs = function( options ) {
        var defaults = {
            'setElement' : null
        };
        var setting = $.extend( defaults, options );
			var thisDOM =$( this );
			thisDOM.find( setting.setElement + ':odd' ).addClass( 'odd' );
			thisDOM.find( setting.setElement + ':even' ).addClass( 'even' );
			thisDOM.find( setting.setElement + ':first' ).addClass( 'first' );
			thisDOM.find( setting.setElement + ':last' ).addClass( 'last' );
        return this;
    };
})( jQuery );

// set over img
( function( $ ){
    $.fn.setOverImg = function( options ) {
        var defaults = {
            'overChar' : '_f2'
        };
        var setting = $.extend( defaults, options );
			this.each( function(){
				var thisDOM =$( this );
				var imgout = thisDOM.attr( "src" );
				var imgovr = imgout.replace( '.gif', setting.overChar + '.gif' ).replace( '.jpg', setting.overChar + '.jpg' ).replace( '.png', setting.overChar + '.png' );
				jQuery.preLoadImages( imgovr );
				thisDOM.hover( function(){
					thisDOM.attr( "src", imgovr );
				}, function(){
					thisDOM.attr( "src", imgout );
				});
			});
        return this;
    };
})( jQuery );

// set over img smooth
( function( $ ){
	$.fn.setOverImgSmooth = function( options ) {
		var defaults = {
			'overChar' : '_f2'
		};
		var setting = $.extend( defaults, options );
		var nvua = navigator.userAgent;
		if( nvua.indexOf( 'MSIE 6' ) != -1 ){
			$( this ).setOverImg( { overChar:setting.overChar });
			return false;
		}
		this.each( function(){
			var thisDOM =$( this );
			var wrapDom = $( "<div class='oiswrap'></div>" );
			wrapDom.width( thisDOM.width() ).height( thisDOM.height() ).css( {'display': 'inline','position': 'relative'});
			thisDOM.wrap( wrapDom );
			onImage = thisDOM.clone().prependTo( thisDOM.parent() );
			onImage.attr( 'src', this.src.replace( '.gif', setting.overChar + '.gif' ).replace( '.jpg', setting.overChar + '.jpg' ).replace( '.png', setting.overChar + '.png' ) ).fadeTo( 0, 0 ).css({ 'position': 'absolute' });
			onImage.hover( function(){
				$( this ).stop().fadeTo( 200, 1 );
			}, function(){
				$( this ).stop().fadeTo( 400, 0 );
			});
		});
		return this;
	};
})( jQuery );

// setHiliteImg
( function( $ ){
	$.fn.setHiliteImg = function( options ) {
		this.each( function(){
			var thisDOM =$( this );
			thisDOM.hover( function(){
				$( this ).stop().fadeTo( 400, 0.7 );
			}, function(){
				$( this ).stop().fadeTo( 400, 1 );
			});
		});
		return this;
	};
})( jQuery );


// current hilite
( function( $ ){
    $.fn.currentHilite = function( options ) {
        var defaults = {
            'hiliteChar' : '_f2',
            'debugUrl' : null
        };
        var setting = $.extend( defaults, options );
				var rootLevel = 3;
				var path = document.URL;
				var pathArr = path.split( "/" );
				if( setting.debugUrl != null ){
					var debugUrlArr = setting.debugUrl.split( "/" );
					rootLevel = debugUrlArr.length - 1;
				}
				var currentName = pathArr[rootLevel];
				if( currentName.indexOf( "." ) != -1 ){
					var currentName = currentName.substring( 0, currentName.lastIndexOf( "." ) );
				}
				if( currentName == "" ) currentName = "index";
				$( ' a[class*="' + currentName + '"] > img', this ).each( function(){
					var thisDOM = $( this );
					var imgout = thisDOM.attr( "src" );
					var imgovr = imgout.replace( '.jpg', setting.hiliteChar + '.jpg' );
					thisDOM.attr( "src", imgovr );
					thisDOM.removeClass( btnClass );
					return false;
				});
        return this;
    };
})( jQuery );

// smooth scroll
( function( $ ){
    $.fn.smoothScroll = function( options ) {
		$( this ).click(function() {
			var speed = 400;
			var href= $( this ).attr( "href" );
			var target = $( href == "#" || href == "" ? 'html' : href );
			var position = target.offset().top;
			$( $.browser.safari ? 'body' : 'html' ).animate( { scrollTop:position }, speed, 'swing' );
			return false;
		});
		return this;
    };
})( jQuery );

// photoGallery
( function( $ ){
	$.fn.photoGallery = function( options ) {
		var defaults = {
			'changeTime' : 5000
		};
		var setting = $.extend( defaults, options );
		var viewArea = $( '.viewArea', this );
		var viewList = $( '.viewlist', this );
		var photo_n = $( 'li', viewList ).length;
		var pid = "0";
		var nowViewId = "0";
		viewArea.html( "" );
		$( 'li', viewList ).each( function(){
			var photoDom = $( "<img src=\"" + $( "a", this ).attr( 'href' ) + "\"/>" );
			viewArea.append( photoDom );
			if( pid != 0 ) photoDom.hide();
			if( pid == 0 ) $( this ).addClass( "view" );
			var imgDom = $( "img", this );
			var srcDom = imgDom.attr( "src" );
			$( this ).click( function () {
				changePhotoCk( $( "li", viewList ).index( this ) );
				return false;
			});
			pid++;
		});
		var changeInterval = setInterval( changePhoto, setting.changeTime );
		function changePhoto(){
			$( 'img', viewArea ).eq( nowViewId ).hide();
			$( 'li', viewList ).eq( nowViewId ).removeClass( "view" );
			nowViewId++;
			if( nowViewId > photo_n - 1 ) nowViewId = 0;
			$( 'img', viewArea ).eq( nowViewId ).fadeIn( 1000 );
			$( 'li', viewList ).eq( nowViewId ).addClass( "view" );
		}
		function changePhotoCk( chId ){
			clearInterval( changeInterval );
			$( 'img', viewArea ).eq( nowViewId ).hide();
			$( 'li', viewList ).eq( nowViewId ).removeClass( "view" );
			$( 'img', viewArea ).eq( chId ).fadeIn( 1000 );
			$( 'li', viewList ).eq( chId ).addClass( "view" );
			nowViewId = chId;
			changeInterval = setInterval( changePhoto, setting.changeTime );
		}
		return this;
	};
})( jQuery );

// preLoadImages
(function($) {
  var cache = [];
  $.preLoadImages = function() {
    var args_len = arguments.length;
    for (var i = args_len; i--;) {
      var cacheImage = document.createElement( 'img' );
      cacheImage.src = arguments[i];
      cache.push(cacheImage);
    }
  }
})(jQuery);

//close window
function closeWin(){
	var nvua = navigator.userAgent;
	if( nvua.indexOf( 'MSIE' ) >= 0 ){
		if( nvua.indexOf( 'MSIE 5.0' ) == -1 ) { top.opener = ''; }
	}else if( nvua.indexOf( 'Gecko' ) >= 0 ){
		top.name = 'CLOSE_WINDOW';
		wid = window.open( '','CLOSE_WINDOW' );
	}
	top.close();
}



