﻿String.prototype.parseQuery = function (name) {
    var reg = new RegExp("(^|&|\\?)" + name + "=([^&]*)(&|$)", "i"), r;
    if (r = this.match(reg)) return r[2]; return null;
}

function doWork(callback, arg) {
    try {
        if (callback != null && callback != "null" && callback != '') {
            var prefix = callback.indexOf(".") != -1 ? "" : "top.";
            if (!arg) {
                eval(prefix + callback + "()");
            }
            else {
                eval(prefix + callback + "('" + arg + "')");
            }
        }
        else {
            if (typeof (parent.popp) != "undefined") {
                parent.popp.close();
            }
        }
    } catch (e) { alert("执行回调出错，" + e.message); }
}

function doProxy() {
    var url = location.href;
    var callback = url.parseQuery("callback");
    var arg = url.parseQuery("arg") || "";
    //var t = url.parseQuery("timeout") || 2000;

    doWork(callback, arg);
}

//------------------------------------------------------新的封装函数
function __bingoGetIFrame(url,title, w, h, scrolling,paddingTop) {
    if(typeof(paddingTop) == 'undefined')
        paddingTop = "15%";

    var prefix = url.indexOf("?") > 0 ? "&" : "?";

    url = url + prefix + "_ran_=" + Math.random();

    $.prompt("<iframe id='iframe' src='" + url + "' width='100%' height='" + h + "' scrolling='" + scrolling + "' frameborder='0'></iframe>",
                { buttons: {}, prefix: 'cleanblue', width: w, top: paddingTop, title:title });
    $(".cleanbluemessage").css("padding", "1px 1px 0px 1px");
};

function __bingoGetIFrameNoScroll(url, title, w, h, paddingTop) {
    __bingoGetIFrame(url, title, w, h, 'no', paddingTop);
}

function __bingoGetIFrameHasScroll(url, title, w, h, paddingTop) {
    __bingoGetIFrame(url,title,w,h,'auto',paddingTop);
}

///	<summary>
///	关闭弹出提示框
///	</summary>
function __bingoClosePopUp() {
    $.prompt.close();
}

///	<summary>
///	关闭父页面的弹出提示框
///	</summary>
function __bingoParentClosePopUp() {
    if (typeof (parent.__bingoClosePopUp) == 'function') {
        parent.__bingoClosePopUp();
    }
}

///	<summary>
///	弹出提示框
///	</summary>
/// <param name="title" type="String">默认为'系统提示'</param>
///	<param name="content" type="String">要显示的内容</param>
///	<param name="width" type="String">弹出框的宽度,字符串空则为默认宽度</param>
///	<param name="width" type="String">自动关闭的时间,单位为秒</param>
function __bingoAlert(content, title, width, autoCloseTime) {
    var displayContent = (typeof (autoCloseTime) != 'undefined' && autoCloseTime != '') ? content + "（窗口" + autoCloseTime + "秒后自动关闭）" : content;
    var _timeout = (typeof (autoCloseTime) != 'undefined' && autoCloseTime !='')  ? parseInt(autoCloseTime)*1000 : 0; //0表示不自动关闭
    var _title = (typeof (title) != 'undefined' && title != '') ? title : "系统提示";
    var _w = (typeof (width) != 'undefined' && width != '') ? width : 300;

    $.prompt(displayContent, { buttons: { 确定: true }, prefix: 'cleanblue', timeout: _timeout, title: _title,width : _w });
}

///	<summary>
/// 确定/取消提示框
///	</summary>
/// <param name="width" type="String">确定时的回调函数：格式应当为： function(v){ if(v==true){alert('ok');return true;} }
/// ，return true表示执行回调函数后关闭弹出层；return false 则不关闭弹出层
/// </param>
function __bingoConfirm(content, width, okCallbackFunc) {
    var args = arguments;
    var _callback;
    var _w;

    if (args.length == 2) {
        _w = 300;
        _callback = args[1];
    }
    else if (args.length == 3) {
        _w = (typeof (args[1]) != 'undefined' && args[1] != '') ? args[1] : 300;
        _callback = args[2];
    }

    $.prompt(content, { buttons: { 确定: true, 取消: false }, prefix: 'cleanblue', submit: _callback, width: _w });
}
