﻿
var g_agt = navigator.userAgent.toLowerCase();
var is_opera = (g_agt.indexOf("opera") != -1);
var g_title = "";
var g_iframeno = 0;
var g_dialog_sWord;
var g_dialog_sButton;
var g_dialog_sAction;
var g_dialog_excss;

function exist(s) {
    return $(s) != null;
}
function myInnerHTML(idname, html) {
    if (parent.parent.document.getElementById(idname)!=null) {
        parent.parent.document.getElementById(idname).innerHTML = html;
    }
}
function dialog(v_w, v_h, v_title /*, v_needhead*/) {
    var width = v_w;
    var height = v_h;
    var title = v_title;
    g_title = title;

    var sBox = '\
		<div id="dialogBox" style="display:none;z-index:19999;width:' + width + 'px;">\
			<div style="margin:0px;position:absolute;height:' + height + 'px;top:8px;" >\
			<table border="0px" cellpadding="0px" cellspacing="0px">\
			<tr style="height:' + (height) + 'px;"><td style="filter:alpha(opacity=40); -moz-opacity:0.4;"></td>\
			<td style="width:' + (width - 14) + 'px;">\
				<div style="border:1px solid #565656;">\
				<table width="100%" border="0px" cellpadding="0px" cellspacing="0px">\
				';
    if (typeof arguments[3] != "undefined") {
        var sClose = '<a href="#" onclick="javascript:closeDivWindow();"><img src="../image/close.gif" width="10" alt="关闭"/></a>';
        if (0 == arguments[3]) {
            sBox += '\
					<tr valign="top">\
						<td id="dialogBody" style="height:' + (height - 2) + 'px" bgcolor="#0d7462"></td>\
					</tr>\
			';
        }
        else {
            sBox += '\
						<tr height="24" bgcolor="#ffffff">\
							<td>\
								<div class="ts3" style="background:#ffffff;border-bottom:1px solid #ffffff;">\
									<div id="dialogBoxTitle" class="ts31" >' + title + '</div>\
									<div id="dialogClose" class="ts32" style="margin-top:5px;margin-right:5px;">' + sClose + '</div>\
								</div>\
							</td>\
						</tr>\
						<tr valign="top">\
							<td id="dialogBody" style="height:' + (height - 28) + 'px" bgcolor="#ffffff"></td>\
						</tr>\
			';
        }
    }
    else {        
        sBox += '\
					<tr height="24px" bgcolor="#ED174C">\
						<td>\
							<div class="ts3" onmousedown=mdown("dialogBox",event);>\
								<div id="dialogBoxTitle" class="ts31"></div>\
								\
							</div>\
						</td>\
					</tr>\
					<tr valign="top">\
						<td id="dialogBody" style="height:' + (height - 28) + 'px" bgcolor="#ffffff"></td>\
					</tr>\
		';		
    }

    sBox += '\
				</table>\
				</div>\
			</td>\
			<td style="filter:alpha(opacity=40); -moz-opacity:0.4;"></td></tr>\
			</table>\
			</div>\
		</div><div id="dialogBoxShadow" style="display:none;z-index:19998;"></div>\
	';

    var sIfram = '\
		<iframe id="dialogIframBG" name="dialogIframBG" frameborder="0" marginheight="0" marginwidth="0" hspace="0" vspace="0" scrolling="no" style="position:absolute;z-index:19997;display:none;"></iframe>\
	';

    var sBG = '\
		<div id="dialogBoxBG" style="position:absolute;top:0px;left:0px;width:100%;height:100%;"></div>\
	';

    this.init = function() {           
        parent.parent.document.getElementById('dialogCase') ? 
        parent.parent.document.getElementById('dialogCase').parentNode.removeChild(parent.parent.document.getElementById('dialogCase')) : function() { };
        var oDiv = parent.parent.document.createElement('span');
        oDiv.id = "dialogCase";
        
        if (!is_opera) {
            oDiv.innerHTML = sBG + sIfram + sBox;
        }
        else {
            oDiv.innerHTML = sBG + sBox;
        }
        parent.parent.document.body.appendChild(oDiv);
    }

    
    this.open = function(_sUrl) {
        //		this.show();
        //		var openIframe = "<iframe width='100%' height='100%' name='iframe_parent' id='iframe_parent' src='" + _sUrl + "' frameborder='0' scrolling='no'></iframe>";
        //		myInnerHTML('dialogBody', openIframe);

        this.show(); 
        if (typeof parent.parent.document.body.style.maxHeight === "undefined") {
            var openIframe = "<iframe width='100%' height='100%' name='iframe_parent' id='iframe_parent' frameborder='0' scrolling='no'></iframe>";
            myInnerHTML('dialogBody', openIframe); $('iframe_parent').src = _sUrl; 
        }
        else {                               
            var openIframe = "<iframe width='100%' height='100%' name='iframe_parent' id='iframe_parent' src='" + _sUrl + "' frameborder='0' scrolling='no'></iframe>";
            myInnerHTML('dialogBody', openIframe); 
        }
    }

    this.show = function() {
        this.middle('dialogBox');
        if(parent.parent)
        {
        if (parent.parent.document.getElementById('dialogIframBG')) {
            parent.parent.document.getElementById('dialogIframBG').style.top = parent.parent.document.getElementById('dialogBox').style.top;
            parent.parent.document.getElementById('dialogIframBG').style.left = parent.parent.document.getElementById('dialogBox').style.left;
            parent.parent.document.getElementById('dialogIframBG').style.width = parent.parent.document.getElementById('dialogBox').offsetWidth + "px";
            parent.parent.document.getElementById('dialogIframBG').style.height = parent.parent.document.getElementById('dialogBox').offsetHeight + "px";
            parent.parent.document.getElementById('dialogIframBG').style.display = 'block';
        }
        }else
        {
            parent.document.getElementById('dialogIframBG').style.top = parent.document.getElementById('dialogBox').style.top;
            parent.document.getElementById('dialogIframBG').style.left = parent.document.getElementById('dialogBox').style.left;
            parent.document.getElementById('dialogIframBG').style.width = parent.document.getElementById('dialogBox').offsetWidth + "px";
            parent.document.getElementById('dialogIframBG').style.height = parent.document.getElementById('dialogBox').offsetHeight + "px";
            parent.document.getElementById('dialogIframBG').style.display = 'block'; 
        }        
        //if (!is_opera) {
            this.shadow();
        //}
    }

    this.reset = function() {
        this.closeDivWindow();
    }
    


    this.closeDivWindow = function() {         
        if (window.removeEventListener) {
            window.removeEventListener('resize', this.event_b, false);
            window.removeEventListener('scroll', this.event_b, false);
        }
        else if (window.detachEvent) {
            try {
                window.detachEvent('onresize', this.event_b);
                window.detachEvent('onscroll', this.event_b);
            } catch (e) { }
        }
        if (parent.parent.document.getElementById('dialogIframBG')) {
            parent.parent.document.getElementById('dialogIframBG').style.display = 'none';
        }
        parent.parent.document.getElementById('dialogBox').style.display = 'none';
        parent.parent.document.getElementById('dialogBoxBG').style.display = 'none';
        parent.parent.document.getElementById('dialogBoxShadow').style.display = "none";
        if (typeof (parent.onDialogClose) == "function") {
            parent.onDialogClose(parent.parent.document.getElementById('dialogBoxTitle').innerHTML);
        }
    }

    this.shadow = function() {
        this.event_b_show();
        if (window.attachEvent) {
            window.attachEvent('onresize', this.event_b);
            window.attachEvent('onscroll', this.event_b);
        }
        else {
            window.addEventListener('resize', this.event_b, false);
            window.addEventListener('scroll', this.event_b, false);
        }
    }

    this.event_b = function() {
        var oShadow = parent.parent ? parent.parent.document.getElementById('dialogBoxShadow') : parent.document.getElementById('dialogBoxShadow')

        if (oShadow.style.display != "none") {
            if (this.event_b_show) {
                this.event_b_show();
            }
        }
    }

    this.event_b_show = function() {
        var oShadow = parent.parent ? parent.parent.document.getElementById('dialogBoxShadow') : parent.document.getElementById('dialogBoxShadow')
        oShadow['style']['position'] = "absolute";
        oShadow['style']['display'] = "";
        oShadow['style']['opacity'] = "0.2";
        oShadow['style']['filter'] = "alpha(opacity=20)";
        oShadow['style']['background'] = "#000";     
        var sClientWidth;
        var sClientHeight;
        var sScrollTop;
       
            sClientHeight = parent.parent ? parent.parent.document.body.scrollHeight : parent.document.body.scrollHeight;            

        sClientWidth = parent.parent ? parent.parent.document.body.offsetWidth : parent.document.body.offsetWidth;            
        sScrollTop = parent.parent ? (parent.parent.document.body.scrollTop + parent.parent.document.documentElement.scrollTop) : (parent.document.body.scrollTop + parent.document.documentElement.scrollTop);
        
        if (is_opera) {
            sClientWidth = self.innerWidth;
        }

        oShadow['style']['top'] = '0px';
        oShadow['style']['left'] = '0px';
        oShadow['style']['width'] = sClientWidth + "px";
        oShadow['style']['height'] = sClientHeight  + "px";

    }

    this.middle = function(_sId) {
        parent.parent.document.getElementById(_sId)['style']['display'] = '';
        parent.parent.document.getElementById(_sId)['style']['position'] = "absolute";
        
        
        
        var sClientWidth = parent.parent.document.body.clientWidth;
        var sClientHeight = parent.parent.document.body.clientHeight;        
        var sScrollTop = parent.parent.document.body.scrollTop + parent.parent.document.documentElement.scrollTop;
        if (is_opera) {
            sClientWidth = self.innerWidth;
        }
        
        var sleft = (sClientWidth - parent.parent.document.getElementById(_sId).offsetWidth) / 2;
        var iTop = sScrollTop ==0 ? sScrollTop + 100 : sScrollTop - 100;
        var sTop = iTop > 0 ? iTop : 0;

        parent.parent.document.getElementById(_sId)['style']['left'] = sleft + "px";
        parent.parent.document.getElementById(_sId)['style']['top'] = sTop + "px";
    }
}

function openWindow(_sUrl, _sWidth, _sHeight, _sTitle) {
    //alert("001");
    if (typeof arguments[4] != "undefined") {
        var oEdit = new dialog(_sWidth, _sHeight, _sTitle, arguments[4]);
    }
    else {
        var oEdit = new dialog(_sWidth, _sHeight, _sTitle);
    }
    oEdit.init();
    oEdit.open(_sUrl);

    if (window.attachEvent) {
        window.attachEvent('onresize', this.event_m);
        window.attachEvent('onscroll', this.event_m);
        //window.attachEvent('onmousemove', mmove);
        //window.attachEvent('onmouseup', mup);

    }
    else {
        window.addEventListener('resize', this.event_m, false);
        window.addEventListener('scroll', this.event_m, false);
        //window.addEventListener('mousemove', mmove, false);
        //window.addEventListener('mouseup', mup, false);

    }
}

this.event_m = function() {
    var oShadow = $('dialogBoxShadow');

    if (oShadow.style.display != "none") {
        var sClientWidth = parent.parent ? parent.parent.document.body.offsetWidth : parent.document.body.offsetWidth;
        var sClientHeight = parent.parent ? parent.parent.document.body.offsetHeight : parent.document.body.offsetHeight;
        var sScrollTop = parent.parent ? (parent.parent.document.body.scrollTop + parent.parent.document.documentElement.scrollTop) : (parent.document.body.scrollTop + parent.document.documentElement.scrollTop);
        oShadow['style']['top'] = '0px';
        oShadow['style']['left'] = '0px';
        oShadow['style']['width'] = sClientWidth + "px";
        //oShadow['style']['height'] = (sClientHeight + sScrollTop) + "px";
        oShadow['style']['height'] = sClientHeight + "px";
        //alert(sScrollTop);
    }
}

function openAlert(_sWord, _sButton, _sWidth, _sHeight, _sTitle, _sAction) {
    return _openAlert(_sWord, _sButton, _sWidth, _sHeight, _sTitle, _sAction, "");
}

function openAlertDiv(_divName, _sWidth, _sHeight, _sTitle) {
    //alert('002'); 
    //alert($(_divName).innerHTML);
    return _openAlert($(_divName).innerHTML, "", _sWidth, _sHeight, _sTitle, "", "");
}

function openAlertBlue(_sWord, _sButton, _sWidth, _sHeight, _sTitle, _sAction) {
    var excss = '.rbs1{border:1px solid #d7e7fe; float:left;}\n' +
'.rb1-12,.rb2-12{height:23px; color:#fff; font-size:12px; background:#355582; padding:3px 5px; border-left:1px solid #fff; border-top:1px solid #fff; border-right:1px solid #6a6a6a; border-bottom:1px solid #6a6a6a; cursor:pointer;}\n' +
'.rb2-12{background:#355582;}\n';
    return _openAlert(_sWord, _sButton, _sWidth, _sHeight, _sTitle, _sAction, excss);
}

function _openAlert(_sWord, _sButton, _sWidth, _sHeight, _sTitle, _sAction, _excss) {
    var oEdit = new dialog(_sWidth, _sHeight, _sTitle);
    oEdit.init();
    oEdit.show();
    var framename = "iframe_parent_" + g_iframeno++;

    g_dialog_sWord = _sWord;
    g_dialog_sButton = _sButton;
    g_dialog_sAction = _sAction;
    g_dialog_excss = _excss;

    var openIframe = "<iframe width='100%' height='100%' name='" + framename + "' id='" + framename + "' src='#' frameborder='0' scrolling='no' onload=\"javascript:_openAlert_write('" + framename + "')\"></iframe>";
    myInnerHTML('dialogBody', openIframe);

    //setTimeout("", 0);
}

function _openAlert_write(framename) {
    var _sWord = g_dialog_sWord;
    var _sButton = g_dialog_sButton;
    var _sAction = g_dialog_sAction;
    var _excss = g_dialog_excss;

    var iframe = window.frames[framename];
    if (_excss && _excss.length) {

        try {
            iframe.document.getElementsByTagName('head').item(0).innerHTML += '<style>' + _excss + '</style>';
        }
        catch (exc) {
            var ss = iframe.document.createElement('style');
            ss.type = "text/css";
            ss.styleSheet.cssText = _excss;
            iframe.document.getElementsByTagName('head').item(0).appendChild(ss);
        }
    }
    if (_sAction == undefined) {
        _sAction = "new parent.dialog().reset();";
    }
    iframe.document.body.innerHTML = alertHtml(_sWord, _sButton, _sAction);
}

function alertHtml(_sWord, _sButton, _sAction) {
    var html = "";

    var html = '<div class="ts4">\
			<div class="ts45" style="border-top:none;padding-top:0;">\
				 ' + _sWord + '\
				<div class="c"></div>\
			</div>\
		   </div>';

    return html;
}

var diaryimport = {};
diaryimport.imageOnError = function(v_obj) {
    v_obj.src = "#";
};

diaryimport.imageOnError = function(v_obj) {
    v_obj.src = "#";
};


addEventSimple(document, 'mousemove', mousemove); //为document对象绑定事件用来移动
addEventSimple(document, 'mouseup', mouseup); //为document对象绑定事件用来移动

//注册兼容绑定事件
function addEventSimple(obj, evt, fn) {
    if (obj.attachEvent) {
        obj.attachEvent('on' + evt, fn);
    }
    else if (obj.addEventListener) {
        obj.addEventListener(evt, fn, false);
    }
}

var obj = "", relLeft = "", relTop = "";
function mdown(id, ev) {
    obj = document.getElementById(id);
    relLeft = ev.clientX - obj.offsetLeft;
    relTop = ev.clientY - obj.offsetTop;
}
function mousemove(e) {

    if (obj) {
        var ev = e || window.event;

        obj.style.cursor = "move";
        //      obj.style.left=ev.clientX-relLeft+"px"; 
        //      obj.style.top=ev.clientY-relTop+"px"; 

        if (e.clientX - relLeft <= 0)
            obj.style.left = 0 + "px";
        else if (e.clientX - relLeft >= document.documentElement.clientWidth - obj.offsetWidth - 2)
            obj.style.left = (document.documentElement.clientWidth - obj.offsetWidth - 2) + "px";
        else
            obj.style.left = e.clientX - relLeft + "px";
        if (e.clientY - relTop <= 1)
            obj.style.top = 1 + "px";
        else if (e.clientY - relTop >= document.documentElement.clientHeight - obj.offsetHeight - 30)
            obj.style.top = (document.documentElement.clientHeight - obj.offsetHeight - 30) + "px";
        else
            obj.style.top = e.clientY - relTop + "px";
    }
}

function mouseup() {
    if (obj) {
        obj.style.cursor = "default";
        obj = "", relLeft = "", relTop = "";
    }
} 

