﻿var butlerWidth = 340;

function ajaxRequest(requestData, methodUrl) {
    var responseData;
    $.ajax({
        type: "POST",
        url: methodUrl,
        contentType: "application/json; charset=utf-8",
        data: requestData,
        dataType: "json",
        async: false,
        success: function (data) { responseData = $.parseJSON(data.d) },
        failure: function () { alert('Failed') }
    });
    return responseData;
}
function ajaxRequestXML(methodUrl, requestData) {
    var responseData;
    $.ajax({
        type: "POST",
        url: methodUrl,
        data: requestData,
        dataType: "xml",
        async: true,
        success: function (data) { responseData = data },
        failure: function () { alert('Failed') }
    });
    return responseData;
}
function createControls(className,withText) {
    var btnPrev = $('<a>',{'href':'#'}).append( $('<span>', { id: className+ 'Left' }));
    var btnNext = $('<a>',{'href':'#'}).append($('<span>', { id: className + 'Right' }));
    $(btnNext).addClass(className);
    $(btnPrev).addClass(className);
    if (withText) {
        $(btnNext).text('Right');
        $(btnPrev).text('Left');
    }
    return btnPrev.add(btnNext);
}

function OpenLoader(data) {
    WindowOpener('butler','mid=' + data.mID + '&url=' + data.url + '&src=' + data.src);
}

function OpenPersonalShopper(data) {
    WindowOpener('personalshopper', data.url);
}

function InitButler(data) {
    WindowOpener('loader', 'url=' + data.url);
}
function WindowCloser() {
    var data = {};
    data.mID = '-1';
    data.url = 'close';
    WindowOpener('loader', 'url=' + data.url);
    WindowOpener('butler', 'mid=' + data.mID );
}


function gup(name,url) {
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regexS = "[\\?&]" + name + "=([^&#]*)";
    var regex = new RegExp(regexS);
    var results = regex.exec(url);
    if (results == null)
        return "";
    else
        return results[1];
}

function WindowOpener(name, params) {
    var feature = '';
    switch (name) {
        case 'loader':
            feature = '';
            feature += 'menubar=0';
            feature += ', toolbar=1';
            feature += ', status=1';
            feature += ', addressbar=1';
            feature += ', directories=1';
            feature += ', resizable=1';
            feature += ', scrollbars=1';
            feature += ', width=' + screen.availWidth - butlerWidth;
            feature += ', height=' + screen.availHeight;
            feature += ', left=' + butlerWidth;
            var newWindow = window.open('/shop/butler/loader.htm?' + params, 'loader', feature);
            setTimeout(function () {
                if (newWindow) {
                    try {
                        newWindow.resizeTo(screen.availWidth - butlerWidth, screen.availHeight);
                        newWindow.moveTo(butlerWidth, 0);
                    }
                    catch (e) {
                    }
                }
            }, 100);
            break;
        case 'webPage':
            var width = screen.availWidth - butlerWidth;
            feature = '';
            feature += 'menubar=0';
            feature += ', toolbar=1';
            feature += ', status=1';
            feature += ', addressbar=1';
            feature += ', directories=1';
            feature += ', resizable=1';
            feature += ', scrollbars=1';
            feature += ', width=' + butlerWidth;
            feature += ', height=' + screen.availHeight;
            feature += ', left=0';

            var newWindow = window.open('/shop/butler/butlerPage.htm?' + params, 'webPage',feature);
            setTimeout(function () {
                if (newWindow) {
                    try {
                        newWindow.resizeTo(width, screen.availHeight);
                        newWindow.moveTo(butlerWidth, 0);
                    }
                    catch (e) {
                    }
                }
            }, 100);
            break;
        case 'butler':
            feature = '';
            feature += 'menubar=0';
            feature += ', toolbar=1';
            feature += ', status=1';
            //feature += ', addressbar=1';
            feature += ', directories=1';
            feature += ', resizable=1';
            feature += ', scrollbars=1';

            var newWindow = window.open('/shop/butler/butler.htm?' + params, 'butler', feature);
            setTimeout(function () {
                if (newWindow) {
                    try {
                        newWindow.parentWindow = window;

                        newWindow.moveTo(0, 0);
                        newWindow.resizeTo(screen.availWidth, screen.availHeight);
                    }
                    catch (e) {
                    }
                }
            }, 100);
            break;
        case 'personalshopper':
            feature = '';
            feature += 'menubar=0';
            feature += ', toolbar=1';
            feature += ', status=1';
            //feature += ', addressbar=1';
            feature += ', directories=1';
            feature += ', resizable=1';
            feature += ', scrollbars=1';

            var newWindow = window.open(params, 'butler', feature);
            setTimeout(function () {
                if (newWindow) {
                    try {
                        newWindow.parentWindow = window;

                        newWindow.moveTo(0, 0);
                        newWindow.resizeTo(screen.availWidth, screen.availHeight);
                    }
                    catch (e) {
                    }
                }
            }, 100);
            break;

    }

}

