// JavaScript Document



String.prototype.trim = function() {

	return this.replace(/(^\s*)|(\s*$)/g, "");

};

String.prototype.Ltrim = function() {

	return this.replace(/(^\s*)/g, "");

};

String.prototype.Rtrim = function() {

	return this.replace(/(\s*$)/g, "");

};



/*

Array.prototype.distinct = function() {

	var current = this;

	var o1 = {};

	var o2 = {};

	var o3 = [];

	var o;



	for (var i = 0; o = current[i]; i++) {

		if (o in o1) {

			if (!(o in o2)) {

				o2[o] = o;

				delete $[i];

			}

		} else {

			o1[o] = o;

		}

	}

	current.length = 0;

	for (o in o1) {

		current.push(o);

	}

	for (o in o2) {

		o3.push(o);

	}

	return o3;

}

*/



function $i(o) {

	return document.getElementById(o);

}



function $n(o) {

	return document.getElementsByName(o);

}



function $f(flashId) {

	var isIE = navigator.appName.indexOf("Microsoft") != -1;

	return (isIE) ? window[flashId] : document[flashId];

}



function $flash(o) {

	if (!document.all) {

		o = o + "_r";

	}

	return document.getElementById(o);

}



var strBugs = {

	ajax : function(str) {

		str = str.replace(/\+/g, "@ds32!1");

		str = str.replace(/\&/g, "@ds32!2");

		str = str.replace(/\·/g, "@ds32!3");

		return str;

	},

	xml : function(str) {

		str = str.replace(/\&/g, "&amp;");

		str = str.replace(/\</g, "&lt;");

		str = str.replace(/\>/g, "&gt;");

		return str;

	}

}



var strModifier = {

	mySubStr : function(str, len) {

		var str_append = start = "";

		if (arguments[2] == null) {

			str_append = "...";

		} else {

			str_append = arguments[2];

		}

		if (arguments[3] == null) {

			start = 0;

		} else {

			start = arguments[3];

		}

		if (str.length > len) {

			return (str.substr(start, len) + str_append);

		} else {

			return str;

		}

	},

	myExplodeStr : function(str) {

		var pos = explode = "";

		if (arguments[1] == null) {

			pos = 0;

		} else {

			pos = arguments[1];

		}

		if (arguments[2] == null) {

			explode = " ";

		} else {

			explode = arguments[2];

		}

		return str.split(explode)[pos];

	},

	selectSubstr : function(obj, len) {

		for (var i = 0; i < obj.length; i++) {

			obj.options[i].innerHTML = this.mySubStr(obj.options[i].innerHTML,

					len);

		}

	}

}



var JValidator = {

	isNum : function(str) {

		var cFnum = /^[0-9]\d*$/;

		return cFnum.test(str);

	},

	isEmail : function(str, pmstrlen) {

		var reEmail = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;

		if (reEmail.test(str) && str.length <= pmstrlen) {

			return true;

		} else {

			return false;

		}

	},

	isUserid : function(str, pmstrlen) {

		var reId = /^[a-zA-Z\d]*[a-zA-Z]+[a-zA-Z\d]*$/;

		if (reId.test(str) && str.length <= pmstrlen) {

			return true;

		} else {

			return false;

		}

	},

	isPass : function(str, pmstrlen) {

		var rePass = /^[A-Za-z0-9]+$/;

		if (rePass.test(str) && str.length <= pmstrlen) {

			return true;

		} else {

			return false;

		}

	},

	isSafeWord : function(str) {

		var safeWord = /^[A-Za-z0-9\:\._-]+$/;

		return safeWord.test(str);

	},

	isDate : function(str) {

		var reDate = /^(\d{4})\-(\d{2})\-(\d{2}) (\d{2}):(\d{2}):(\d{2})$/;

		return reDate.test(str);

	},

	isHttpUrl : function(str) {

		var reHttp = /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/;

		return reHttp.test(str);

	}

}



var Request = {



	QueryString : function(item) {

		var sValue = unescape(location.search).match(new RegExp("[\?\&]" + item

						+ "=([^\&]*)(\&?)", "i"));

		return sValue ? sValue[1] : sValue;

	},



	Cookies : function(c_name) {

		var value = null;

		if (document.cookie.length > 0) {

			c_start = document.cookie.indexOf(c_name + "=");

			if (c_start != -1) {

				c_start = c_start + c_name.length + 1;

				c_end = document.cookie.indexOf(";", c_start);

				if (c_end == -1) {

					c_end = document.cookie.length;

				}

				// return unescape(document.cookie.substring(c_start,c_end));

				value = decodeURIComponent(document.cookie.substring(c_start,

						c_end));

				return (value == '' || value == 'undefined') ? '' : value;

			}

		}

		return "";

	},



	browserType : function() {

		var __Agt = navigator.userAgent.toLowerCase();

		var __If = /(firefox|netscape|chrome|opera).?[\/| ](.)\.([^;\)]+|[^\)]+\))$/

				.exec(__Agt);

		if (!__If)

			__If = /(msie) (.)\.[^;]+;/.exec(__Agt);

		var _Br = __If[1], _Ver = __If[2];

		return _Br + _Ver;

	},



	sendAjaxRequest : function() {



		var getAjaxReponse = function() {

			if (take_action.xml.readyState == 4

					&& take_action.xml.status == 200) {

				// alert(take_action.xml.responseText);

				try {

					var data = eval('(' + take_action.xml.responseText + ')');



					if (data.mapChanel.content != null) {

						alert(data.mapChanel.content);

					}



					if (data.mapChanel.jscript != null) {

						eval(data.mapChanel.jscript);

					}



				} catch (e) {

					alert('Javascript\'s AjaxException : ' + e.message);

				}

			}



		}



		var take_action = new CreateAjax();

		take_action.Send(arguments[0], arguments[1], getAjaxReponse);



	}



}



var Response = {

	redirect : function(url) {

		window.location.href = url;

	},

	Reload : function() {

		window.location.reload(true);

	},

	Write : function(str) {

		document.writeln(str);

	},

	initSelectIndex : function(selectObj, svalue) {

		for (var i = 0; i < selectObj.length; i++) {

			if (selectObj.options[i].value == svalue) {

				selectObj.options[i].selected = "true";

				break;

			}

		}

	},

	flashWrite : function(id, flashUri, vWidth, vHeight, winMode) {

		var id_r = id + "_r";

		var _obj_ = "";

		_obj_ = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="'

				+ vWidth

				+ '" height="'

				+ vHeight

				+ '" id="'

				+ id

				+ '" align="middle">';

		_obj_ += '<param name="movie" value="' + flashUri + '" />';

		_obj_ += '<param name="quality" value="high" />';

		_obj_ += '<param name="wmode" value="' + winMode + '" /> ';

		_obj_ += '<param name="bgcolor" value="#ffffff" /> ';

		_obj_ += '<embed id="'

				+ id_r

				+ '" src="'

				+ flashUri

				+ '" quality="high" wmode="'

				+ winMode

				+ '" bgcolor="#ffffff" width="'

				+ vWidth

				+ '" height="'

				+ vHeight

				+ '" id="'

				+ id

				+ '" align="middle" allowscriptaccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></embed> ';

		_obj_ += '</object>';

		document.writeln(_obj_);

	},

	tableListCcEf : function(o, a, b, c, d) {

		/*

		 * o:对象ID, b:单row的bg颜色, a:双row的bg颜色, d:单击item时的背景颜色, c:鼠标经过似的背景颜色

		 */

		var t = document.getElementById(o).getElementsByTagName("tbody")[0].getElementsByTagName("tr");

		var length = t.length;

		for (var i = 0; i < length; i++) {

			t[i].style.backgroundColor = (t[i].sectionRowIndex % 2 == 0)

					? a

					: b;

			if (d != "false") {

				t[i].onclick = function() {

					if (this.y != "1") {

						this.y = "1";

						this.style.backgroundColor = d;

					} else {

						this.y = "0";

						this.style.backgroundColor = (this.sectionRowIndex % 2 == 0)

								? a

								: b;

					}

				}

			}

			if (c != "false") {

				t[i].onmouseover = function() {

					if (this.y != "1") {

						this.style.backgroundColor = c;

					}

				}

				t[i].onmouseout = function() {

					if (this.y != "1") {

						this.style.backgroundColor = (this.sectionRowIndex % 2 == 0)

								? a

								: b;

					}

				}

			}

		}

	},

	resize : function(width, height) {

		window.resizeTo(width, height);

	},

	Cookies : function(c_name, value) {

		var expiredays = "";

		if (arguments[2] == null) {

			expiredays = null;

		} else {

			expiredays = arguments[2];

		}

		var exdate = new Date();

		exdate.setDate(exdate.getDate() + expiredays);

		// document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" :

		// ";expires="+exdate.toGMTString());

		document.cookie = c_name

				+ "="

				+ (JValidator.isSafeWord(value)

						? value

						: encodeURIComponent(value))

				+ ((expiredays == null) ? "" : ";expires="

						+ exdate.toGMTString());

	},

	TabEffect : {

		action : function(obj, sectionId, tabType) {

			var p = obj.parentNode.getElementsByTagName("td");

			var p1 = this.getNames(sectionId, "f", "div");

			var times = p1.length;

			for (var i = 0; i < times; i++) {

				if (obj == p[i]) {

					p[i].className = "s";

					p1[i].className = "dis";

				} else {

					p[i].className = "";

					p1[i].className = "undis";

				}

			}

		},

		getNames : function(sectionId, name, tij) {

			var p = document.getElementById(sectionId);

			var plist = p.getElementsByTagName(tij);

			var rlist = new Array();

			var times = plist.length;

			for (var i = 0; i < times; i++) {

				if (plist[i].getAttribute("name") == name) {

					rlist[rlist.length] = plist[i];

				}

			}

			return rlist;

		}

	},

	addCssText : function(css) {

		var D = document, $ = this.style;

		if (!$) {

			$ = this.style = D.createElement('style');

			$.setAttribute("type", "text/css");

			D.getElementsByTagName('head')[0].appendChild($);

		}

		$.styleSheet && ($.styleSheet.cssText += css)

				|| $.appendChild(D.createTextNode(css));

	},

	addEvent : function(a, b, c) {

		var Ka = navigator.userAgent.toLowerCase();

		rt = Ka.indexOf("opera") != -1;

		r = Ka.indexOf("msie") != -1 && (document.all && !rt);

		r ? a.attachEvent("on" + b, c) : a.addEventListener(b, c, false);

	},

	showPopup : function(url, handler, width, height) {

		// return window.showModalDialog(url, handler, 'dialogWidth:'+ width

		// +'px; dialogHeight:'+ height +'px; dialogTop:'+

		// ((window.screen.availHeight-height)/2) +'px; dialogLeft:'+

		// ((window.screen.availWidth-width)/2) +'px; resizeable:no; help:no;

		// scroll:yes;');

		var obj = null

		obj = window

				.open(

						url,

						handler,

						'width='

								+ width

								+ ', height='

								+ height

								+ ', top='

								+ ((window.screen.availHeight - height) / 2)

								+ ', left='

								+ ((window.screen.availWidth - width) / 2)

								+ ', toolbar=no, menubar=no, scrollbars=yes, resizable=no,location=no');

		obj.focus();

		if (arguments[4] != null) {

			this.Cookies('_targetId', arguments[4]);

		}

		return obj;

	},

	showDialog : function(url, handler, width, height) {

		return window.showModalDialog(url, handler, 'dialogWidth:' + width

						+ 'px; dialogHeight:' + height + 'px; dialogTop:'

						+ ((window.screen.availHeight - height) / 2)

						+ 'px; dialogLeft:'

						+ ((window.screen.availWidth - width) / 2)

						+ 'px; resizeable:no; help:no; scroll:yes;');

	}



}



function RunTime() {

	this.startTime = 0;

	this.cStart = function() {

		this.startTime = (new Date()).getTime();

	}

	this.cStop = function() {

		var rt = ((new Date()).getTime() - this.startTime);

		this.startTime = 0;

		return rt;

	}

}



function CreateAjax() {

	this.xmlObject = function() {

		try {

			return new ActiveXObject("Microsoft.XMLHTTP");

		} catch (e) {

			try {

				return new ActiveXObject("Msxml2.XMLHTTP");

			} catch (e) {

				try {

					return new XMLHttpRequest();

				} catch (e) {

					return window.createRequest();

				};

			};

		};

	};

	this.xml = this.xmlObject();

	this.Send = function() {

		var PostStr = !!arguments[1] ? (function() {

			var tempArr = new Array();

			for (var i in arguments.callee.caller.arguments[1]) {

				tempArr.push(i + "=" + arguments.callee.caller.arguments[1][i]);

			}

			return tempArr.join("&");

		})()

				: null;

		this.xml.open(PostStr ? "POST" : "GET", arguments[0], !!arguments[2],

				arguments[3], arguments[4]);

		!!arguments[2] ? this.xml.onreadystatechange = arguments[2] : null;

		if (PostStr) {

			this.xml.setRequestHeader("Content-Length", PostStr.length);

			this.xml.setRequestHeader("Content-type",

					"application/x-www-form-urlencoded;charset=UTF-8");

		};

		this.xml.send(PostStr);

	};

};



function addEvent(node, type, listener) {

	if (!(node = $i(node))) {

		return false;

	}

	if (node.addEventListener) {

		node.addEventListener(type, listener, false);

		return true;

	}

	if (node.attachEvent) {

		node['e' + type + listener] = listener;

		node[type + listener] = function() {

			node['e' + type + listener](window.event);

		}

		node.attachEvent('on' + type, node[type + listener]);

		return true;

	}

}



function str_replace(search, replace, subject) {

	var f = search, r = replace, s = subject;

	var ra = r instanceof Array, sa = s instanceof Array, f = [].concat(f), r = []

			.concat(r), i = (s = [].concat(s)).length;



	while (j = 0, i--) {

		if (s[i]) {

			while (s[i] = (s[i] + '').split(f[j]).join(ra ? r[j] || "" : r[0]), ++j in f) {

			};

		}

	};



	return sa ? s : s[0];

}



function str_ireplace(search, replace, subject) {

	var i, k = '';

	var searchl = 0;



	search += '';

	searchl = search.length;

	if (!(replace instanceof Array)) {

		replace = new Array(replace);

		if (search instanceof Array) {

			while (searchl > replace.length) {

				replace[replace.length] = replace[0];

			}

		}

	}



	if (!(search instanceof Array)) {

		search = new Array(search);

	}

	while (search.length > replace.length) {

		replace[replace.length] = '';

	}



	if (subject instanceof Array) {

		for (k in subject) {

			subject[k] = str_ireplace(search, replace, subject[k]);

		}

		return subject;

	}



	searchl = search.length;

	for (i = 0; i < searchl; i++) {

		reg = new RegExp(search[i], 'gi');

		subject = subject.replace(reg, replace[i]);

	}



	return subject;

}



function in_array(needle, haystack, strict) {

	var found = false, key, strict = !!strict;

	for (key in haystack) {

		if ((strict && haystack[key] === needle)

				|| (!strict && haystack[key] == needle)) {

			found = true;

			break;

		}

	}

	return found;

}



function array_search(needle, haystack, strict) {

	var strict = !!strict;

	for (var key in haystack) {

		if ((strict && haystack[key] === needle)

				|| (!strict && haystack[key] == needle)) {

			return key;

		}

	}

	return false;

}



function urlencode(str) {

	return encodeURIComponent(str);

}



function urldecode(str) {

	return decodeURIComponent(str);

}



function basename(path, suffix) {

	var b = path.replace(/^.*[\/\\]/g, '');

	if (typeof(suffix) == 'string'

			&& b.substr(b.length - suffix.length) == suffix) {

		b = b.substr(0, b.length - suffix.length);

	}

	return b;

}



function rand() {

	var n = (arguments[0] == null) ? 5 : arguments[0];

	var rnd = "";

	for (var i = 0; i < n; i++) {

		rnd += Math.floor(Math.random() * 10);

	}

	return rnd;

}



function date(format, timestamp) {

	var a, jsdate = ((typeof(timestamp) == 'undefined')

			? new Date()

			: (typeof(timestamp) == 'number')

					? new Date(timestamp * 1000)

					: new Date(timestamp));

	var pad = function(n, c) {

		if ((n = n + "").length < c) {

			return new Array(++c - n.length).join("0") + n;

		} else {

			return n;

		}

	};

	var txt_weekdays = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday",

			"Friday", "Saturday"];

	var txt_ordin = {

		1 : "st",

		2 : "nd",

		3 : "rd",

		21 : "st",

		22 : "nd",

		23 : "rd",

		31 : "st"

	};

	var txt_months = ["", "January", "February", "March", "April", "May",

			"June", "July", "August", "September", "October", "November",

			"December"];

	var f = {

		d : function() {

			return pad(f.j(), 2);

		},

		D : function() {

			var t = f.l();

			return t.substr(0, 3);

		},

		j : function() {

			return jsdate.getDate();

		},

		l : function() {

			return txt_weekdays[f.w()];

		},

		N : function() {

			return f.w() + 1;

		},

		S : function() {

			return txt_ordin[f.j()] ? txt_ordin[f.j()] : 'th';

		},

		w : function() {

			return jsdate.getDay();

		},

		z : function() {

			return (jsdate - new Date(jsdate.getFullYear() + "/1/1")) / 864e5 >> 0;

		},

		W : function() {

			var a = f.z(), b = 364 + f.L() - a;

			var nd2, nd = (new Date(jsdate.getFullYear() + "/1/1").getDay() || 7)

					- 1;

			if (b <= 2 && ((jsdate.getDay() || 7) - 1) <= 2 - b) {

				return 1;

			} else {

				if (a <= 2 && nd >= 4 && a >= (6 - nd)) {

					nd2 = new Date(jsdate.getFullYear() - 1 + "/12/31");

					return date("W", Math.round(nd2.getTime() / 1000));

				} else {

					return (1 + (nd <= 3 ? ((a + nd) / 7) : (a - (7 - nd)) / 7) >> 0);

				}

			}

		},

		F : function() {

			return txt_months[f.n()];

		},

		m : function() {

			return pad(f.n(), 2);

		},

		M : function() {

			t = f.F();

			return t.substr(0, 3);

		},

		n : function() {

			return jsdate.getMonth() + 1;

		},

		t : function() {

			var n;

			if ((n = jsdate.getMonth() + 1) == 2) {

				return 28 + f.L();

			} else {

				if (n & 1 && n < 8 || !(n & 1) && n > 7) {

					return 31;

				} else {

					return 30;

				}

			}

		},

		L : function() {

			var y = f.Y();

			return (!(y & 3) && (y % 1e2 || !(y % 4e2))) ? 1 : 0;

		},

		o : function() {

			if (f.n() === 12 && f.W() === 1) {

				return jsdate.getFullYear() + 1;

			}

			if (f.n() === 1 && f.W() >= 52) {

				return jsdate.getFullYear() - 1;

			}

			return jsdate.getFullYear();

		},

		Y : function() {

			return jsdate.getFullYear();

		},

		y : function() {

			return (jsdate.getFullYear() + "").slice(2);

		},

		a : function() {

			return jsdate.getHours() > 11 ? "pm" : "am";

		},

		A : function() {

			return f.a().toUpperCase();

		},

		B : function() {

			var off = (jsdate.getTimezoneOffset() + 60) * 60;

			var theSeconds = (jsdate.getHours() * 3600)

					+ (jsdate.getMinutes() * 60) + jsdate.getSeconds() + off;

			var beat = Math.floor(theSeconds / 86.4);

			if (beat > 1000)

				beat -= 1000;

			if (beat < 0)

				beat += 1000;

			if ((String(beat)).length == 1)

				beat = "00" + beat;

			if ((String(beat)).length == 2)

				beat = "0" + beat;

			return beat;

		},

		g : function() {

			return jsdate.getHours() % 12 || 12;

		},

		G : function() {

			return jsdate.getHours();

		},

		h : function() {

			return pad(f.g(), 2);

		},

		H : function() {

			return pad(jsdate.getHours(), 2);

		},

		i : function() {

			return pad(jsdate.getMinutes(), 2);

		},

		s : function() {

			return pad(jsdate.getSeconds(), 2);

		},

		u : function() {

			return pad(jsdate.getMilliseconds() * 1000, 6);

		},

		I : function() {

			var DST = (new Date(jsdate.getFullYear(), 6, 1, 0, 0, 0));

			DST = DST.getHours() - DST.getUTCHours();

			var ref = jsdate.getHours() - jsdate.getUTCHours();

			return ref != DST ? 1 : 0;

		},

		O : function() {

			var t = pad(Math.abs(jsdate.getTimezoneOffset() / 60 * 100), 4);

			if (jsdate.getTimezoneOffset() > 0)

				t = "-" + t;

			else

				t = "+" + t;

			return t;

		},

		P : function() {

			var O = f.O();

			return (O.substr(0, 3) + ":" + O.substr(3, 2));

		},

		Z : function() {

			var t = -jsdate.getTimezoneOffset() * 60;

			return t;

		},

		c : function() {

			return f.Y() + "-" + f.m() + "-" + f.d() + "T" + f.h() + ":"

					+ f.i() + ":" + f.s() + f.P();

		},

		r : function() {

			return f.D() + ', ' + f.d() + ' ' + f.M() + ' ' + f.Y() + ' '

					+ f.H() + ':' + f.i() + ':' + f.s() + ' ' + f.O();

		},

		U : function() {

			return Math.round(jsdate.getTime() / 1000);

		}

	};

	return format.replace(/[\\]?([a-zA-Z])/g, function(t, s) {

				if (t != s) {

					ret = s;

				} else if (f[s]) {

					ret = f[s]();

				} else {

					ret = s;

				}

				return ret;

			});

}



function getObjPos(oElement) {

	var x2, y2 = 0;

	var width = oElement.offsetWidth;

	var height = oElement.offsetHeight;



	if (typeof(oElement.offsetParent) != 'undefined') {

		for (var posX = 0, posY = 0; oElement; oElement = oElement.offsetParent) {

			posX += oElement.offsetLeft;

			posY += oElement.offsetTop;

		}

		x2 = posX + width;

		y2 = posY + height;

		return {

			"x" : posX,

			"y" : posY,

			"x2" : x2,

			"y2" : y2

		};

	} else {

		x2 = oElement.x + width;

		y2 = oElement.y + height;

		return {

			"x" : oElement.x,

			"y" : oElement.y,

			"x2" : x2,

			"y2" : y2

		};

	}

}



var pagePreloadImg = function() {

	var loadImage = function(url) {

		var img = new Image();

		img.src = url;

	}

	var len = arguments.length;

	if (len <= 0) {

		return false;

	}

	for (var i = 0; i < len; i++) {

		loadImage(arguments[i]);

	}

}



function copyToClipboard(txt) {

	if (window.clipboardData) {

		window.clipboardData.clearData();

		window.clipboardData.setData("Text", txt);

		// alert("复制成功");

	} else if (navigator.userAgent.indexOf("Opera") != -1) {

		window.location = txt;

	} else if (window.netscape) {

		try {

			netscape.security.PrivilegeManager

					.enablePrivilege("UniversalXPConnect");

		} catch (e) {

			alert("如果您正在使用FireFox！\n请在浏览器地址栏输入'about:config'并回车\n然后将 'signed.applets.codebase_principal_support'设置为'true'");

		}

		var clip = Components.classes['@mozilla.org/widget/clipboard;1']

				.createInstance(Components.interfaces.nsIClipboard);

		if (!clip)

			return;

		var trans = Components.classes['@mozilla.org/widget/transferable;1']

				.createInstance(Components.interfaces.nsITransferable);

		if (!trans)

			return;

		trans.addDataFlavor('text/unicode');

		var str = new Object();

		var len = new Object();

		var str = Components.classes["@mozilla.org/supports-string;1"]

				.createInstance(Components.interfaces.nsISupportsString);

		var copytext = txt;

		str.data = copytext;

		trans.setTransferData("text/unicode", str, copytext.length * 2);

		var clipid = Components.interfaces.nsIClipboard;

		if (!clip)

			return false;

		clip.setData(trans, null, clipid.kGlobalClipboard);

		// alert("复制成功！")

	}

}



var pushValue2OpenerWindow = function(text) {

	if (Request.Cookies('_targetId') != '') {

		// for our site.

		var id = null;

		if (Request.Cookies('_targetId') != '' && window.opener) {

			id = Request.Cookies('_targetId');

			Response.Cookies('_targetId', '');

			window.opener.document.getElementById(id).value = text;

			window.opener.document.getElementById(id).focus();

			return true;

		}

		return false;



	} else if (window.top.opener) {

		try {

			// for fckeditor

			window.top.opener.SetUrl(text);

			window.top.close();

			window.top.opener.focus();

		} catch (e) {

			return false;

		}

	}

	return confirm('Close Windows?') ? window.close() : false;

}



function print_r( array, return_val ) {

    

    var output = "", pad_char = " ", pad_val = 4;



    var formatArray = function (obj, cur_depth, pad_val, pad_char) {

        if (cur_depth > 0) {

            cur_depth++;

        }



        var base_pad = repeat_char(pad_val*cur_depth, pad_char);

        var thick_pad = repeat_char(pad_val*(cur_depth+1), pad_char);

        var str = "";



        if (obj instanceof Array || obj instanceof Object) {

            str += "Array\n" + base_pad + "(\n";

            for (var key in obj) {

                if (obj[key] instanceof Array) {

                    str += thick_pad + "["+key+"] => "+formatArray(obj[key], cur_depth+1, pad_val, pad_char);

                } else {

                    str += thick_pad + "["+key+"] => " + obj[key] + "\n";

                }

            }

            str += base_pad + ")\n";

        } else if(obj == null || obj == undefined) {

            str = '';

        } else {

            str = obj.toString();

        }



        return str;

    };



    var repeat_char = function (len, pad_char) {

        var str = "";

        for(var i=0; i < len; i++) { 

            str += pad_char; 

        };

        return str;

    };

    output = formatArray(array, 0, pad_val, pad_char);



    if (return_val !== true) {

        document.write("<pre>" + output + "</pre>");

        return true;

    } else {

        return output;

    }

}





function setWinHeight(obj) 

{ 

	var win=obj; 

	if (document.getElementById) 

	{ 

		if (win && !window.opera) 

		{ 

			if (win.contentDocument && win.contentDocument.body.offsetHeight)

			{

				win.height = win.contentDocument.body.offsetHeight;

			}

			else if(win.Document && win.Document.body.scrollHeight)

			{

				win.height = win.Document.body.scrollHeight;

			}
			
			//alert("setWinHeight: " + win.height);

		} 

	} 

} 
