/**
 * Ajax searches.
 *
 * @author EMV
 * @version $Id$
 * @package Video
 * @subpackage Modules.Showroom
 */
Emv.VideodeShowroomTrailersearch = {

    Dom:        YAHOO.util.Dom,
    Connect:    YAHOO.util.Connect,
    submitUri:  '/trailer-und-bilder/ajax/search-trailer/',

    /**
     * Submit the search form.
     *
     * @param object formObject
     * @param string flyoutHook
     * @param string fwdUrl
     * @return boolean false
     */
	searchSubmit: function(formObject, flyoutHook, fwdUrl) {

	    var fwdUri     = fwdUrl;
	    var flyoutHook = flyoutHook;

		var callbackSearch = {

			success: function(o) {

                // Process the response
                var data = YAHOO.lang.JSON.parse(o.responseText);

                if (typeof(data.status) == 'undefined') {

                    // Invalid status return!
                    Emv.VideodeJsoverlay.get(flyoutHook).show('Fehler bei der Trailersuche', 'Status-Fehler beim Senden des Formulars');
                    return;
                }

                if (data.status != 'success') {

                    // User/form error!
                    if ("undefined" !== typeof(data.errorMessage)) {

                        Emv.VideodeJsoverlay.get(flyoutHook).show('Fehler bei der Trailersuche', data.errorMessage);
                    } else {

                        Emv.VideodeJsoverlay.get(flyoutHook).show('Fehler bei der Trailersuche', 'Undefinierter Fehler beim Senden des Formulars');
                    }
                    return;
                } else {

                    // Everything is fine
                    formObject.reset();
                    Emv.VideodeJsoverlay.get(flyoutHook).show('Trailersuche erfolgreich', 'Ergebnisse werden geholt, bitte warte...');

                    // Forward to given page, add parameters
                    fwdUri += '?searchString=' + data.searchString;
                    fwdUri += '&tab=' + data.visibleTab;
                    window.location.href = fwdUri;
                }
            },
            failure: function() {

                // asyncRequest failure
                Emv.VideodeJsoverlay.get(flyoutHook).show('Fehler bei der Trailersuche', 'Fehler beim Senden des Formulars');
            },
            scope: this
		};

		this.Connect.setForm(formObject.id);
		var _uri = this.submitUri + '?format=json';
		this.Connect.asyncRequest('POST', _uri, callbackSearch);

	    return false;
    },

    /**
     * Submit the form by 'enter' key.
     *
     * @param object formObject
     * @param event  e
     * @param string flyoutHook
     * @param string fwdUrl
     * @return boolean false
     */
    submitEnter: function (formObject, e, flyoutHook, fwdUrl) {

        var fwdUri     = fwdUrl;
        var flyoutHook = flyoutHook;
        var keycode;

        if (window.event) {

            keycode = window.event.keyCode;
        } else if (e) {

            keycode = e.which;
        } else {

            return true;
        }

        if (keycode == 13) {

            return this.searchSubmit(formObject, flyoutHook, fwdUri);
        } else {

            return true;
        }
    }

},

Emv.VideodeShowroomStarpicsearch = {

    Dom:        YAHOO.util.Dom,
    Connect:    YAHOO.util.Connect,
    submitUri:  '/trailer-und-bilder/ajax/search-star-fotoshow/',

    /**
     * Submit the search form.
     *
     * @param object formObject
     * @param string flyoutHook
     * @param string fwdUrl
     * @return boolean false
     */
	searchSubmit: function(formObject, flyoutHook, fwdUrl) {

	    var fwdUri     = fwdUrl;
	    var flyoutHook = flyoutHook;

		var callbackSearch = {

			success: function(o) {

                // Process the response
                var data = YAHOO.lang.JSON.parse(o.responseText);

                if (typeof(data.status) == 'undefined') {

                    // Invalid status return!
                    Emv.VideodeJsoverlay.get(flyoutHook).show('Fehler bei der Suche nach Starfotos', 'Status-Fehler beim Senden des Formulars');
                    return;
                }

                if (data.status != 'success') {

                    // User/form error!
                    if ("undefined" !== typeof(data.errorMessage)) {

                        Emv.VideodeJsoverlay.get(flyoutHook).show('Fehler bei der Suche nach Starfotos', data.errorMessage);
                    } else {

                        Emv.VideodeJsoverlay.get(flyoutHook).show('Fehler bei der Suche nach Starfotos', 'Undefinierter Fehler beim Senden des Formulars');
                    }
                    return;
                } else {

                    // Everything is fine
                    formObject.reset();
                    Emv.VideodeJsoverlay.get(flyoutHook).show('Fotosuche erfolgreich', 'Ergebnisse werden geholt, bitte warte...');

                    // Forward to given page, add parameters
                    fwdUri += '?searchString=' + data.searchString;
                    if( data.filter ) {

                        fwdUri += '&filter=' + data.filter;
                    }
                    fwdUri += '&tab=' + data.visibleTab;
                    window.location.href = fwdUri;
                }
            },
            failure: function() {

                // asyncRequest failure
                Emv.VideodeJsoverlay.get(flyoutHook).show('Fehler bei der Suche nach Starfotos', 'Fehler beim Senden des Formulars');
            },
            scope: this
		};

		this.Connect.setForm(formObject.id);
		var _uri = this.submitUri + '?format=json';
		this.Connect.asyncRequest('POST', _uri, callbackSearch);

	    return false;
    },

    /**
     * Submit the form by 'enter' key.
     *
     * @param object formObject
     * @param event  e
     * @param string flyoutHook
     * @param string fwdUrl
     * @return boolean false
     */
    submitEnter: function (formObject, e, flyoutHook, fwdUrl) {

        var fwdUri     = fwdUrl;
        var flyoutHook = flyoutHook;
        var keycode;

        if (window.event) {

            keycode = window.event.keyCode;
        } else if (e) {

            keycode = e.which;
        } else {

            return true;
        }

        if (keycode == 13) {

            return this.searchSubmit(formObject, flyoutHook, fwdUri);
        } else {

            return true;
        }
    }

},

Emv.VideodeShowroomFilmpicsearch = {

    Dom:        YAHOO.util.Dom,
    Connect:    YAHOO.util.Connect,
    submitUri:  '/trailer-und-bilder/ajax/search-film-fotoshow/',

    /**
     * Submit the search form.
     *
     * @param object formObject
     * @param string flyoutHook
     * @param string fwdUrl
     * @return boolean false
     */
	searchSubmit: function(formObject, flyoutHook, fwdUrl) {

	    var fwdUri     = fwdUrl;
	    var flyoutHook = flyoutHook;

		var callbackSearch = {

			success: function(o) {

                // Process the response
                var data = YAHOO.lang.JSON.parse(o.responseText);

                if (typeof(data.status) == 'undefined') {

                    // Invalid status return!
                    Emv.VideodeJsoverlay.get(flyoutHook).show('Fehler bei der Suche nach Filmfotos', 'Status-Fehler beim Senden des Formulars');
                    return;
                }

                if (data.status != 'success') {

                    // User/form error!
                    if ("undefined" !== typeof(data.errorMessage)) {

                        Emv.VideodeJsoverlay.get(flyoutHook).show('Fehler bei der Suche nach Filmfotos', data.errorMessage);
                    } else {

                        Emv.VideodeJsoverlay.get(flyoutHook).show('Fehler bei der Suche nach Filmfotos', 'Undefinierter Fehler beim Senden des Formulars');
                    }
                    return;
                } else {

                    // Everything is fine
                    formObject.reset();
                    Emv.VideodeJsoverlay.get(flyoutHook).show('Fotosuche erfolgreich', 'Ergebnisse werden geholt, bitte warte...');

                    // Forward to given page, add parameters
                    fwdUri += '?searchString=' + data.searchString;
                    if( data.filter ) {

                        fwdUri += '&filter=' + data.filter;
                    }
                    fwdUri += '&tab=' + data.visibleTab;
                    window.location.href = fwdUri;
                }
            },
            failure: function() {

                // asyncRequest failure
                Emv.VideodeJsoverlay.get(flyoutHook).show('Fehler bei der Suche nach Filmfotos', 'Fehler beim Senden des Formulars');
            },
            scope: this
		};

		this.Connect.setForm(formObject.id);
		var _uri = this.submitUri + '?format=json';
		this.Connect.asyncRequest('POST', _uri, callbackSearch);

	    return false;
    },

    /**
     * Submit the form by 'enter' key.
     *
     * @param object formObject
     * @param event  e
     * @param string flyoutHook
     * @param string fwdUrl
     * @return boolean false
     */
    submitEnter: function (formObject, e, flyoutHook, fwdUrl) {

        var fwdUri     = fwdUrl;
        var flyoutHook = flyoutHook;
        var keycode;

        if (window.event) {

            keycode = window.event.keyCode;
        } else if (e) {

            keycode = e.which;
        } else {

            return true;
        }

        if (keycode == 13) {

            return this.searchSubmit(formObject, flyoutHook, fwdUri);
        } else {

            return true;
        }
    }

}
