var scrollLocked = false ;
var Calc = {};

$( document ).ready( function() {

    $( "a, img, li" ).each( function (i) {
    	
        $.ui.disableSelection( this );
        
    } );
    
    $( "#scrollImages img" ).css( "opacity", "0.6" ) ;
    
    $( "#scrollImages img" ).mouseover( function() {
    	
    	$( this ).animate( {"opacity" : "1"}, "fast" ) ;
    	
    } ) ;

    $( "#scrollImages img" ).mouseout( function() {
        
        $( this ).animate( {"opacity" : "0.6"}, "fast" ) ;
        
    } ) ;

	$( "#scrollImages img" ).each( function(i) {
		
		var oLink = $( this ).parent() ;
		
		oLink.click( function() {
			
			var oMainImg = $( "#mainImage" ) ;
			
			var sUrl = $( this ).attr( 'href' ) ;
			
			var oLoader = $( "#loader" ) ;
			oLoader.show() ;
			
			var oImage = new Image() ;
			
			oImage.onload = function() {
				
				oImage.onload = null ;
			
				oLoader.fadeOut( 'fast' ) ;
				
				oMainImg.fadeOut( 'fast', function() {
					
		            $( "div.mainContent div.content" ).fadeOut( 'fast' ) ;
		            $( "div.mainContent div.mainImage" ).show() ;

					oMainImg.attr( 'src', sUrl ).fadeIn() ;
					
				} ) ;
			
			}
			
			oImage.src = sUrl ;
			
			return false ;
			
		} ) ;
		
	} ) ;
	
	$( "#arrowScroll a" ).click( function() {
		
		if ( scrollLocked )
		{
			return false ;
		}
		
		scrollLocked = true ;
		
		var nWidth = $( "#scrollImages" ).width() ;
		var nOffset = parseInt( $( "#scrollImages ul" ).css("margin-left") ) ;
		
		var newOffset = nOffset - 280 ;
		
		if ( Math.abs(newOffset) > nWidth )
		{
			newOffset = 0 ;
		}
		
		$( "#scrollImages ul" ).animate( {
			
			marginLeft : newOffset + "px"
			
		}, "slow", "swing" , function() { scrollLocked = false ; }) ;
		
		return false ;
		
	} ) ;
	
	$( "ul.menu a.about" ).click( function () {
		
		$( "div.mainContent div.mainImage" ).fadeOut( 'fast' ) ;
        $( "div.mainContent div.content" ).fadeOut( 'fast' ) ;

		$( "div.mainContent div.about" ).fadeIn() ;
		
		document.location.hash = '#about';
		
		return false ;
		
	} ) ;

    $( "ul.menu a.calc" ).click( function () {
        
        $( "div.mainContent div.mainImage" ).fadeOut( 'fast' ) ;
        $( "div.mainContent div.content" ).fadeOut( 'fast' ) ;
            
        $( "div.mainContent div.calc" ).fadeIn() ;
        
        if ( $( ".calc-1" ).css( "display" ) == "none" )
        {
            $( "#qty-2" ).focus() ;
        }
        else
        {
            $( "#qty-1" ).focus() ;
        }
        
        document.location.hash = '#calc';

        return false ;
        
    } ) ;

    $( "ul.menu a.contacts" ).click( function () {
        
        $( "div.mainContent div.mainImage" ).fadeOut( 'fast' ) ;
        $( "div.mainContent div.content" ).fadeOut( 'fast' ) ;
            
        $( "div.mainContent div.contacts" ).fadeIn() ;
        
        document.location.hash = '#contacts';
        
        return false ;
        
    } ) ;
    
    $( "#calc-1-sel" ).click( function () {
    	
    	$( this ).removeClass( "nonsel" ) ;
    	$( "#calc-2-sel" ).addClass( "nonsel" ) ;
    	
    	$( ".calc-1" ).show() ;
    	$( ".calc-2" ).hide() ;
        
        $( "#qty-1" ).focus() ;
    	
    	return false ;
    	
    } ) ;

    $( "#calc-2-sel" ).click( function () {
        
        $( this ).removeClass( "nonsel" ) ;
        $( "#calc-1-sel" ).addClass( "nonsel" ) ;
        
        $( ".calc-2" ).show() ;
        $( ".calc-1" ).hide() ;
        
        $( "#qty-2" ).focus() ;
        
        return false ;

    } ) ;
    
    $( ".calc-1 input[type=text]" ).keyup(function() { Calc.Calculate( 'termo' ) }) ;
    $( ".calc-1 select" ).change(function() { Calc.Calculate( 'termo' ) }) ;
    $( ".calc-1 input[type=checkbox]" ).click(function() { Calc.Calculate( 'termo' ) }) ;

    $( ".calc-2 input[type=text]" ).keyup(function() { Calc.Calculate( 'plastic' ) }) ;
    $( ".calc-2 select" ).change(function() { Calc.Calculate( 'plastic' ) }) ;
    $( ".calc-2 input[type=checkbox]" ).click(function() { Calc.Calculate( 'plastic' ) }) ;
    
    $( "div.calc p.more a" ).click(function() {
        window.open( this.href, "more", "width=400,height=300,location=no,directories=no,menubar=no,scrollbars=yes,resizable=yes,status=no" ) ;
        return false ;
    }) ;
    
    $( "#calc2" ).submit( function() { return false; } );
    
    if ( document.location.hash.length )
    {
        switch ( document.location.hash )
        {
			case '#about': $( "ul.menu a.about" ).click(); break;
			case '#calc': $( "ul.menu a.calc" ).click(); break;
			case '#contacts': $( "ul.menu a.contacts" ).click(); break;
		}
	    window.scrollTo(0, 0);
     }
} );

Calc.InProgress = false ;

Calc.GetFormData = function( sFormId )
{
	var oParams = {} ;
	
	oParams['qty'] = $.trim( $( "#" + sFormId + " input[type=text]" ).attr( "value" ) ) ;
	
	$( "#" + sFormId + " select" ).each( function() {
		oParams[this.name] = this.options[this.selectedIndex].value ;
	} ) ;

    $( "#" + sFormId + " input[type=checkbox]" ).each( function() {
        oParams[this.name] = this.checked ;
    } ) ;
    
	oParams['type'] = ( sFormId == "calc1" ) ? 'termo' : 'plastic' ;
	
	return oParams ;
}

Calc.Calculate = function( sType )
{
//	if ( Calc.InProgress )
//	{
//		window.setTimeout( function() { Calc.Calculate.apply( this, [sType] ), 500 } ) ;
//	}
	
	Calc.InProgress = true ;
	
	var oParams, oAmount ;
	
	switch ( sType )
	{
		case 'termo' :
		    oParams = Calc.GetFormData( 'calc1' ) ;
		    oAmount = $( ".calc-1 .amount span" ) ;
		    break ;
	    case 'plastic' :
	        oParams = Calc.GetFormData( 'calc2' );
	        oAmount = $( ".calc-2 .amount span" );
	        break;
	}
	
	$.post( "calc.php", oParams, function( data, textStatus ) {
		
//		Calc.InProgress = false ;
		oAmount.text( data.amount ) ;
		
	}, "json" ) ;
}


