﻿var imgwidth=700;
function $(id){return document.getElementById(id);}
function show(o){document.getElementById(o).style.display="block";}
function hide(o){document.getElementById(o).style.display="none";}
function geturl(url,id){
var http=false;
$(id).innerHTML='<span class="loading">&nbsp;&nbsp;</span>';
if(window.XMLHttpRequest){http=new XMLHttpRequest();if(http.overrideMimeType){http.overrideMimeType('text/plain');}}else if(window.ActiveXObject){try{http=new ActiveXObject("Msxml2.XMLHTTP");}catch(e){try{http=new ActiveXObject("Microsoft.XMLHTTP");}catch(e){}}}
if(!http){alert('Cannot send an XMLHTTP request');return false;}
http.onreadystatechange=function(){if(http.readyState==4){$(id).innerHTML=http.responseText;}}
http.open("get", url, true);
http.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
http.send(null);
}
function imgsize(){
	var img=document.getElementById("content").getElementsByTagName("img");
	for(var i=0; i<img.length;i++){
		if(img[i].width>imgwidth){img[i].width=imgwidth;img[i].style.width=imgwidth;img[i].title="View";img[i].style.cursor="pointer";img[i].border=0;img[i].onclick=function(e){window.open(this.src);}}
	}
}

function fuckErrors() {
return true;
}
window.onerror = fuckErrors;


function AC_AddExtension(src, ext)
{
  if (src.indexOf('?') != -1)
    return src.replace(/\?/, ext+'?'); 
  else
    return src + ext;
}

function AC_Generateobj(objAttrs, params, embedAttrs) 
{ 
  var str = '<object ';
  for (var i in objAttrs)
    str += i + '="' + objAttrs[i] + '" ';
  str += '>';
  for (var i in params)
    str += '<param name="' + i + '" value="' + params[i] + '" /> ';
  str += '<embed ';
  for (var i in embedAttrs)
    str += i + '="' + embedAttrs[i] + '" ';
  str += ' ></embed></object>';

  document.write(str);
}

function ac_swf(){
  var ret = 
    AC_GetArgs
    (  arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
     , "application/x-shockwave-flash"
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_SW_RunContent(){
  var ret = 
    AC_GetArgs
    (  arguments, ".dcr", "src", "clsid:166B1BCA-3F9C-11CF-8075-444553540000"
     , null
    );
  AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}

function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
  var ret = new Object();
  ret.embedAttrs = new Object();
  ret.params = new Object();
  ret.objAttrs = new Object();
  for (var i=0; i < args.length; i=i+2){
    var currArg = args[i].toLowerCase();    

    switch (currArg){ 
      case "classid":
        break;
      case "pluginspage":
        ret.embedAttrs[args[i]] = args[i+1];
        break;
      case "src":
      case "movie": 
        args[i+1] = AC_AddExtension(args[i+1], ext);
        ret.embedAttrs["src"] = args[i+1];
        ret.params[srcParamName] = args[i+1];
        break;
      case "onafterupdate":
      case "onbeforeupdate":
      case "onblur":
      case "oncellchange":
      case "onclick":
      case "ondblClick":
      case "ondrag":
      case "ondragend":
      case "ondragenter":
      case "ondragleave":
      case "ondragover":
      case "ondrop":
      case "onfinish":
      case "onfocus":
      case "onhelp":
      case "onmousedown":
      case "onmouseup":
      case "onmouseover":
      case "onmousemove":
      case "onmouseout":
      case "onkeypress":
      case "onkeydown":
      case "onkeyup":
      case "onload":
      case "onlosecapture":
      case "onpropertychange":
      case "onreadystatechange":
      case "onrowsdelete":
      case "onrowenter":
      case "onrowexit":
      case "onrowsinserted":
      case "onstart":
      case "onscroll":
      case "onbeforeeditfocus":
      case "onactivate":
      case "onbeforedeactivate":
      case "ondeactivate":
      case "type":
      case "codebase":
        ret.objAttrs[args[i]] = args[i+1];
        break;
      case "width":
      case "height":
      case "align":
      case "vspace": 
      case "hspace":
      case "class":
      case "title":
      case "accesskey":
      case "name":
      case "id":
      case "tabindex":
        ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
        break;
      default:
        ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
    }
  }
  ret.objAttrs["classid"] = classid;
  if (mimeType) ret.embedAttrs["type"] = mimeType;
  return ret;
}

 
if(!x_open_path)
	var x_open_path = 'images/';	

var symbol_img = x_open_path + "symbol.gif";
var max_img = x_open_path + "max.gif";
var restore_img = x_open_path + "min.gif";
var close_img = x_open_path + "close.gif";
var help_img = x_open_path + "help.gif";
var title_img = x_open_path + "title.gif";
var bottom_img = x_open_path + "bottom.gif";
var intern_img = x_open_path + "intern.gif";
var grip_img = x_open_path + "grip.gif";
var forward_img = x_open_path + "forward.gif";
var back_img = x_open_path + "back.gif";
var border_img = x_open_path + "border.gif";
var loading_page = x_open_path + "loading.htm";
 

win_frame = "<div id='x_open_win' style='position:absolute;z-index:100; width: 100%; height: 100% ;left:120px;top:10px;font-size:12px; display:none; onselectstart='return false'>\r\n";
win_frame += "<div>\r\n";
win_frame += "<table width='100%'  border='0' cellspacing='0' cellpadding='0'>\r\n";
win_frame += "	<tr>\r\n";
win_frame += "		<td width='19'><img src='" + symbol_img + "' width='19' height='21' border='0'  title='reload' onclick='xopen_reload();'//></td>\r\n";
win_frame += "		<td width='5' style='background: url(" + title_img + "); padding:0px'></td><td style='background: url(" + title_img + "); padding:0px' onmousedown='initialize_drag(event)' ondblclick='maximize()'><font color='#333333'><div id='title_msg_layer'><strong>title</strong></div></font>\r\n";
win_frame += "		</td>\r\n";
win_frame += "		<td style='background: url(" + title_img + "); padding:0px' onmousedown='initialize_drag(event)' ondblclick='maximize()'></td>\r\n";
win_frame += "	<td width='44' style='cursor:default; ' align='center'>";
win_frame += "<img src='" + help_img + "' width='12' height='21' border='0' />";
win_frame += "<img src='" + max_img + "' id='max_button_name' width='16' height='21' border='0'  />";
win_frame += "<a href='#'><img src='" + close_img + "' onclick='closeit()' width='16' height='21' border='0' title='Close' /></a>";
win_frame += "</td>\r\n";
win_frame += "	</tr>\r\n";
win_frame += "</table>\r\n";
win_frame += "</div>\r\n";
win_frame += "<div id='x_open_content' align=center style='width:100%;  margin: 0px;background-color: #ffffff;	MOZ-OPACITY:0.50;FILTER :  Alpha(opacity=80);'>\r\n";
win_frame += "<table style='width:100%; height:100%; margin: 0px;' border='0' cellpadding='0' cellspacing='0'>\r\n";
win_frame += "	<tr>\r\n";
win_frame += "		<td width='1'><img src='" + border_img + "' id='border_img_name1' border='0' style='border:0px; width:1px; height:317px; margin: 0px;' /></td>\r\n";
win_frame += "		<td>\r\n";
win_frame += "		<iframe id='x_open_frame' name='x_open_frame' src='" + loading_page + "' frameborder=0 noresize style='width:100%; height:100%;background-color: #ffffff;color: #333;margin: 0px; padding: 0px;border:0px '></iframe>\r\n";
win_frame += "		</td>\r\n";
win_frame += "		<td width='1'><img src='" + border_img + "' id='border_img_name2' border='0' style='border:0px; width:1px; height:317px; margin: 0px;' /></td>\r\n";
win_frame += "	</tr>\r\n";
win_frame += "</table>\r\n";
win_frame += "</div>\r\n";
win_frame += "<div align='center' style='width:100%;height:15px;background: url(" + bottom_img + ");' onselectstart='return false'>\r\n";
win_frame += "<table width='100%'  border='0' cellspacing='0' cellpadding='0'>\r\n";
win_frame += "	<tr>\r\n";
win_frame += "		<td width='19'><img src='" + intern_img + "' width='28' height='15' border='0' /></td>\r\n";
win_frame += "			<td width='42'><img src='" + back_img + "' width='19' height='15' border='0' /><img src='" + forward_img + "' width='19' height='15' border='0' /></td>\r\n";
win_frame += "		<td><div id='size_info_layer'></div></td>\r\n";
win_frame += "		<td>&nbsp;</td>\r\n";
win_frame += "		<td width='19'><img src='" + grip_img + "' width='19' height='15' border='0' style='cursor:nw-resize' title='resize' onmousedown='return initialize_resize(event)' /></td>\r\n";
win_frame += "	</tr>\r\n";
win_frame += "</table>\r\n";
win_frame += "</div>\r\n";
win_frame += "</div>\r\n";
win_frame += "<div id='x_open_win_border' style='position:absolute;z-index:100;width:0px;height:0px;display:none'></div>\r\n";
window.document.write(win_frame);


// obj
var x_open_win_id = document.getElementById("x_open_win");
var x_open_content_id = document.getElementById("x_open_content");
var title_msg_layer_id = document.getElementById("title_msg_layer");
var x_open_frame_id = document.getElementById("x_open_frame");
var max_button_name_id = document.getElementById("max_button_name");
var border_img_name1_id = document.getElementById("border_img_name1");
var border_img_name2_id = document.getElementById("border_img_name2");
var x_open_win_border_id = document.getElementById("x_open_win_border");	
var size_info_layer_id =  document.getElementById("size_info_layer");	

var dragapproved = false;
var dragresized = false;
var minrestore = 0;
var initialwidth, initialheight;
var x_open_ie5 = document.all && document.getElementById;
var x_open_ns6 = document.getElementById && !document.all;
var title_height = 36;
 

 
function x_open(title, url, width, height){
	if (!x_open_ie5 && !x_open_ns6)
		window.open(url, "", "width=width,height=height,scrollbars=1");
	else{
		x_open_win_id.style.display = '';

		initialwidth = width;
		initialheight = height ;
		change_size(initialwidth, initialheight);
		x_open_win_id.style.left = "10px";
		x_open_win_id.style.top=x_open_ns6 ? window.pageYOffset * 1 + 10 + "px" : iecompattest().scrollTop * 1 + 10 + "px";
		x_open_frame_id.src = url;
		title_msg_layer_id.innerHTML = '<font color=#333333>' + title + '</font>';
	}
}

function iecompattest(){
	return (!window.opera && document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function xopen_about(){
	str = "算法之家(http://www.getcn.net)版权所有";
	alert(str);
}
function xopen_back(){
	x_open_frame.history.back();
}
function xopen_forward(){
	x_open_frame.history.go(1);
}
function xopen_reload(){
	x_open_frame.location.reload();
}
function closeit(){
	x_open_frame_id.src = loading_page;
	x_open_win_id.style.display = "none";
	return true;
}


function maximize(){
	if (minrestore == 0){
		minrestore = 1; //maximize window
		max_button_name_id.setAttribute("src", restore_img);
		max_button_name_id.setAttribute("title", 'zoom');
		w = x_open_ns6 ? window.innerWidth - 40 : iecompattest().clientWidth - 20;
		h = x_open_ns6 ? window.innerHeight - 40 : iecompattest().clientHeight - 20;
		change_size(w, h);
	}
	else{
		minrestore=0; //restore window
		max_button_name_id.setAttribute("src", max_img);
		max_button_name_id.setAttribute("title", 'zoom');
		change_size(initialwidth, initialheight);
	}
	x_open_win_id.style.left = x_open_ns6 ? window.pageXOffset + 10 + "px" : iecompattest().scrollLeft + 10 + "px";
	x_open_win_id.style.top = x_open_ns6 ? window.pageYOffset + 10 + "px" : iecompattest().scrollTop + 10 + "px";
}

function change_size(w, h){ 
		if(w > 150 ) {
			x_open_win_id.style.width = w;
		}else{
			x_open_win_id.style.width = 150;
		}
		if(h > 0 ) {
			x_open_win_id.style.height = border_img_name1_id.style.height = border_img_name2_id.style.height = x_open_frame_id.style.height = h;
		}else{
			x_open_win_id.style.height = border_img_name1_id.style.height = border_img_name2_id.style.height = x_open_frame_id.style.height = 0;
			
		}
		size_info_layer_id.innerHTML = '';
}
 
function remove_units(elem){
	return(parseInt(elem.replace(/px/g,"")));			
}
//<<<drag move

function initialize_drag(e){
	var evt = x_open_ns6 ? e : event;
	offsetx = evt.clientX;
	offsety = evt.clientY;
	tempx = parseInt(x_open_win_id.style.left);
	tempy = parseInt(x_open_win_id.style.top);

	dragapproved = true;
	//x_open_frame.style.display = 'none';
	x_open_frame_id.style.display = 'none';
	document.body.style.cursor = 'move';
	document.onmousemove = drag_drop;
	x_open_win_id.onmouseup = drag_drop_stop;
}

function drag_drop(e){
	if(dragapproved){
		var evt = x_open_ns6 ? e : event;
		x_open_win_id.style.left = tempx + evt.clientX - offsetx + "px";
		x_open_win_id.style.top = tempy + evt.clientY - offsety + "px";
	}
	return false;
}
function drag_drop_stop(e){
	dragapproved = false;
	//x_open_content_id.style.display = '';
	x_open_frame_id.style.display = '';
	document.body.style.cursor = 'default';
	document.onmousemove=null;
}
 
//>>>drag move

//resize===<<<
function initialize_resize(e){
	evt = x_open_ns6 ? e : event;
	x_open_win_border_id.style.left = x_open_win_id.style.left;
	x_open_win_border_id.style.top = x_open_win_id.style.top;
	x_open_win_border_id.style.width = x_open_win_id.style.width;
	x_open_win_border_id.style.height = x_open_win_id.style.height;

	click_x = evt.clientX;
	click_y = evt.clientY;
	evt_width = click_x - remove_units(x_open_win_id.style.left);
	evt_height = click_y - remove_units(x_open_win_id.style.top);
	dragresized = true;
	x_open_win_border_id.style.display = '';
	x_open_win_border_id.style.border='1px #808080 solid';
	
	document.body.style.cursor = 'nw-resize';
	document.onmousemove = drag_resize;
	document.onmouseup = drag_resize_stop;
	return false;
}
function drag_resize(e){
	if(dragresized){
		var evt = x_open_ns6 ? e : event;
		w = evt_width + (evt.clientX - click_x);
		h = evt_height + (evt.clientY - click_y);
		if(w > 0 ) {
			x_open_win_border_id.style.width = w;
		}
		if(h > 0 ) {
			x_open_win_border_id.style.height = h;
		}
	}
	document.body.style.cursor = 'nw-resize';
	return false;
}
function drag_resize_stop(e){
	dragresized=false;
	change_size(remove_units(x_open_win_border_id.style.width), remove_units(x_open_win_border_id.style.height));
	x_open_win_border_id.style.border='0px';
	x_open_win_border_id.style.display = 'none';
	document.body.style.cursor='default';
	document.onmousemove=null;
}