function PS_stateChanged() {
    if (xmlHttp.readyState==4) {                                   
        document.getElementById('search_results_ajax').innerHTML = xmlHttp.responseText;
    }
}

function PS_GetXmlHttpObject() {
    var xmlHttp = null;
    try {
        xmlHttp = new XMLHttpRequest();
    } catch (e) {
        try {
            xmlHttp = new ActiveXObject('Msxml2.XMLHTTP');
        } catch (e) {
            xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
        }
    }
    return xmlHttp;
}

function PS_showHint( str, cache, language ) {
    xmlHttp = PS_GetXmlHttpObject();
    if ( xmlHttp == null ) {
        alert ('Your browser does not support AJAX!');
        return;
    }
    var url = '/ajaxscript/powersearch_japan.php';
    url = url + '?q=' + str;
    url = url + '&sid=' + Math.random();
    url = url + '&language=' + language;
    url = url + '&POWERSEARCH_DISPLAY_ARTICLES=1';
    url = url + '&POWERSEARCH_DISPLAY_SPOT=1';
    url = url + '&POWERSEARCH_DISPLAY_STORES=1';
    url = url + '&POWERSEARCH_DISPLAY_FOCUS=1';
    url = url + '&POWERSEARCH_DISPLAY_FAQ=1';
    url = url + '&DIR_WS_CACHEFILES=' + cache;
    xmlHttp.onreadystatechange = PS_stateChanged;
    xmlHttp.open( 'GET', url, true );
    xmlHttp.send( null );
}


var powersearch_array = new Array();
powersearch_array.push('powersearch_product');
powersearch_array.push('powersearch_focus');
powersearch_array.push('powersearch_auctions');
powersearch_array.push('powersearch_spot');
powersearch_array.push('powersearch_articles');
powersearch_array.push('powersearch_faq');
powersearch_array.push('powersearch_stores');

var heightOfTable = 0.0;

function showAll(id, query, cache, language) {
    scope = Effect.Queues.get('showall');
    scope.each( function(effect) { effect.cancel(); } );                             

    var maintable = $(id).parentNode.parentNode.parentNode; 
    heightOfTable = $(maintable).getHeight(); 
    maintable.setAttribute('height', heightOfTable);        
    
    for( var i = 0; i <= powersearch_array.length - 1; i++ ) {
        if( $(powersearch_array[i]) != null && $(powersearch_array[i]) != $(id) ) { 
            new Effect.Fade(powersearch_array[i], {
                duration: 0.75
            });                     
        }
    }
    
    new Effect.Fade($(id), {
        duration: 0.75
    });
     
    
    new Effect.Appear($(id), {
        from: 0.0,
        to: 1.0,
        delay: 0.2,
        duration: 0.50,
        queue: 'end',
        scope: 'showall' 
    });
    
    
    new Ajax.Request('/ajaxscript/powersearch_japan.php', {
        method: "get",
        parameters: { q: query, 
                      DIR_WS_CACHEFILES: cache,
                      language: language,
                      type: id 
        },
        onSuccess: function(transport) {
            var hide = document.getElementsByClassName('powersearch_space');
            for( var i = hide.length; i >= 0; i-- ) {
               if ( $(hide[i]) != null ) {
                    $(hide[i]).hide(); 
               }
            }
            
            var hide = document.getElementsByClassName('showme');
            for( var i = hide.length; i >= 0; i-- ) {
               if ( $(hide[i]) != null ) {
                    $(hide[i]).remove(); 
               }
            }
              
            $(id).innerHTML += transport.responseText;
            
            var hide = document.getElementsByClassName('showme');
            new Effect.Appear(hide[0], {
                beforeStart: function(e) { 
                    var clear = document.getElementsByClassName('powersearch_clear');
                    for( var i = 0; i <= clear.length - 1; i++ ) {
                        if($(clear[i]) != null) {
                            $(clear[i]).show();
                        }
                    }
                },
                from: 0.0,
                to: 1.0,
                duration: 0.0075, 
                queue: {
                    position: 'end',
                    scope: 'showall'
                }
            });
             
            for( var i = 1; i <= hide.length - 2; i++ ) {
                new Effect.Appear(hide[i], {
                    from: 0.0,
                    to: 1.0,
                    duration: 0.0075, 
                    queue: {
                        position: 'end',
                        scope: 'showall'
                    }
                });
            }
            
            new Effect.Appear(hide[hide.length-1], {
                afterFinish: function(event) {
                    new Effect.Tween(maintable, heightOfTable, 0, { 
                        delay: 0.2, 
                        duration: 0.7, 
                        queue: { 
                            position: 'end', 
                            scope: 'showall' 
                        } 
                    }, function(e) { 
                        maintable.setAttribute('height', e);
                    });
                },
                from: 0.0,
                to: 1.0,
                duration: 0.0075, 
                queue: { 
                    position: 'end',
                    scope: 'showall'
                }
            });            
        }
    });
    
    var link = $(id).down().childElements()[2].childElements()[0];
    link.up().getElementsByClassName('show_back')[0].style.display = 'inline';
    link.up().getElementsByClassName('show_all')[0].style.display = 'none';
}


function getBack(id, query, cache, language) {
    var oldHeight = heightOfTable;
    
    scope = Effect.Queues.get('showall');
    scope.each( function(effect) { effect.cancel(); } );
 
    var maintable = $(id).parentNode.parentNode.parentNode; 
    heightOfTable = $(maintable).getHeight(); 
    $(maintable).setAttribute('height', heightOfTable);
    
    new Effect.Tween($(maintable), heightOfTable, oldHeight, {
        afterFinish: function(event) {
            $(maintable).setAttribute('height', oldHeight);
        },
        delay: 0.2,
        duration: 0.7,
        queue: { 
            position: 'end',
            scope: 'showall' 
        }
    }, function(e) {
        $(maintable).setAttribute('height', e);  
    });
                                               
    
    
    new Effect.Fade($(id), { duration: 1.0 });

    var hide = document.getElementsByClassName('showme'); 
    for( var i = hide.length; i >= 0; i-- ) {
        if( $(hide[i]) != null ) {
            new Effect.Fade($(hide[i]), {
                from: 1.0,
                to: 0.0,
                duration: 0.05,
                queue: 'end'
            });
        }
    }    
    
    for( var i = hide.length; i >= 0; i-- ) {     
        if( $(hide[i]) != null ) {
            $(hide[i]).remove(); 
        }
    }
       
    for( var i = 0; i <= powersearch_array.length - 1; i++ ) {
        if( $(powersearch_array[i]) != null) { 
            new Effect.Appear($(powersearch_array[i]), {
                delay: 1.0, 
                duration: 0.8,
                scope: 'showall'
            });                     
        }
    }
    
    hide = document.getElementsByClassName('powersearch_first');
    for( var i = 0; i <= hide.length - 1; i++ ) {
        new Effect.Appear($(hide[i]), {
            duration: 0.025,
            scope: 'showPage'
        });
    }
    
    hide = document.getElementsByClassName('powersearch_space');
    for( var i = 0; i <= hide.length - 1; i++ ) {
        new Effect.Appear($(hide[i]), {
            duration: 0.025,
            scope: 'showPage'
        });
    }

    var link = $(id).down().childElements()[2].childElements()[0];
    link.up().getElementsByClassName('show_back')[0].style.display = 'none';
    link.up().getElementsByClassName('show_all')[0].style.display = 'inline';
} 




function showPage(num, id, language, query, cache) {
    
    var maintable = $(id).parentNode.parentNode.parentNode; 
    var maintableh = $(maintable).getHeight(); 
    $(maintable).setAttribute('height', maintableh);
    
    new Effect.Tween($(maintable), maintableh, 0, {
        duration: 0.5,
        delay: 0.2
    }, 
    function(e) {
        $(maintable).setAttribute('height', e);
    });
    
    new Ajax.Request('/ajaxscript/powersearch_japan.php', {
        method: "get",
        parameters: { q: query, 
                      DIR_WS_CACHEFILES: cache,
                      language: language,
                      type: id,
                      page: num 
        },
        onSuccess: function(transport) {
            var hide = document.getElementsByClassName('showme');              
            for( var i = hide.length; i >= 0; i-- ) {     
                if( $(hide[i]) != null ) {
                    $(hide[i]).remove(); 
                }
            }
            
            hide = document.getElementsByClassName('powersearch_first');              
            for( var i = hide.length; i >= 0; i-- ) {     
                if( $(hide[i]) != null ) {
                    $(hide[i]).hide(); 
                }
            }
            
            $(id).innerHTML += transport.responseText;
            
            if( num == 1 ) {
                hide = document.getElementsByClassName('powersearch_first');
                for( var i = 0; i <= hide.length - 1; i++ ) {
                    new Effect.Appear($(hide[i]), {
                        from: 0.0,
                        to: 1.0,
                        duration: 0.5, 
                        scope: 'showPage'
                    });
                }
            }
            
            hide = document.getElementsByClassName('showme');
            for( var i = 0; i <= hide.length - 1; i++ ) {
                new Effect.Appear($(hide[i]), {
                    from: 0.0,
                    to: 1.0,
                    duration: 0.5,
                    scope: 'showPage'
                });
            }
        }
    });    
}
