document.write('<script src="/cms/js/prototype/prototype.js" type="text/javascript"></script>');

document.write('<link rel="stylesheet" type="text/css" href="/cms/css/inline_edit.css" />');

function align_elem(align_y, align_x, elem_id) {
	var elem = $(elem_id);

    var elem_width = elem.offsetWidth;
    var elem_height = elem.offsetHeight;

    var window_size = get_window_size();
    var scroll = get_scroll_pos();

    var pos_x = 0;
    var pos_y = 0;

    switch (align_x) {
    	case 'left':
			pos_x = scroll.x + 20;
    		break;

    	case 'right':
			pos_x = (window_size.width + scroll.x) - elem_width - 20;
    		break;

    	case 'center':
    	default:
    		pos_x = ((window_size.width - elem_width) / 2) + scroll.x
    }

    switch (align_y) {
    	case 'top':
    		pos_y = scroll.y + 10;
			break;

    	case 'bottom':
    		pos_y = (window_size.height + scroll.y) - elem_height - 20;
			break;

    	case 'middle':
    	default:
    		pos_y = ((window_size.height - elem_height) / 2) + scroll.y
    }

    if (pos_y < 0) {
        pos_y = 0;
    }
    if (pos_x < 0) {
        pos_x = 0;
    }

    elem.style.left = pos_x + 'px';
    elem.style.top = pos_y + 'px';
}

function center_elem(elem_id) {
	var elem = $(elem_id);

    var elem_width = elem.offsetWidth;
    var elem_height = elem.offsetHeight;

    var window_size = get_window_size();
    var scroll = get_scroll_pos();

    var pos_x = ((window_size.width - elem_width) / 2) + scroll.x;
    var pos_y = ((window_size.height - elem_height) / 2) + scroll.y;

    if (pos_y < 0) {
        pos_y = 0;
    }
    if (pos_x < 0) {
        pos_x = 0;
    }

    elem.style.left = pos_x + 'px';
    elem.style.top = pos_y + 'px';
}


function get_window_size() {
	var size = {
		width	: 0,
		height	: 0
	}

    // Non-IE
    if (window.innerWidth || window.innerHeight) {
        size.width = window.innerWidth;
        size.height = window.innerHeight;
    }
    // IE 6+ in standards compliant mode
    else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
        size.width = document.documentElement.clientWidth;
        size.height = document.documentElement.clientHeight;
    }
    // IE 4 compatible
    else if (document.body && (document.body.clientWidth || document.body.clientHeight)) {
        size.width = document.body.clientWidth;
        size.height = document.body.clientHeight;
    }
    return size;
}


function get_scroll_pos() {
	var scroll = {
		x : 0,
		y : 0
	};

    // Netscape
    if (window.pageYOffset || window.pageXOffset) {
        scroll.y = window.pageYOffset;
        scroll.x = window.pageXOffset;
    }
    // DOM
    else if (document.body && (document.body.scrollLeft || document.body.scrollTop)) {
        scroll.y = document.body.scrollTop;
        scroll.x = document.body.scrollLeft;
    }
    // IE6
    else if (document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)) {
        scroll.y = document.documentElement.scrollTop;
        scroll.x = document.documentElement.scrollLeft;
    }

    return scroll;
}

function get_pos_x(obj) {
	var curleft = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x) {
		curleft = obj.x;
	}

	return curleft;
}

function get_pos_y(obj) {
	var curtop = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y) {
		curtop = obj.y;
	}

	return curtop;
}

function detect_env() {
	var env = {
		browser: {
			name			: '',
			version			: '',
			minorVersion	: ''
		},

		os: {
			name			: '',
			version			: '',
			versionNumber	: 0,
			minorVersion	: ''
		}
	};

	var userAgent = navigator.userAgent.toLowerCase();
	var appMinorVersion;

	if (navigator.appMinorVersion) {
		appMinorVersion = navigator.appMinorVersion.toLowerCase();
	} else {
		appMinorVersion = '';
	}

	/* list of supported user agents:  key is browser name and value is a list of keywords used to get browser version */
	var userAgent_list = {
		firefox		: ["firefox"],
		konqueror	: ["konqueror"],
		opera		: ["opera"],
		safari		: ["safari"],
		netscape	: ["netscape6","netscape","mozilla"],
		msie		: ["msie"],
		mozilla		: ["rv"]
	};

	/* list of supported OS with their major version names */
	var OS_list = {
		win:{
			win2k3	: ["windows nt 5.2"],
			winxp	: ["windows nt 5.1","windows xp"],
			win2k	: ["windows nt 5.0", "windows 2000"],
			winnt	: ["winnt","windows nt"],
			winme	: ["win 9x 4.90"],
			win98	: ["win98","windows 98"],
			win95	: ["win95","windows 95"],
			win31	: ["windows 3.1","win16","windows 16-bit","16bit"],
			win		: ["windows","win"]
		},
		mac:{
			osx		: ["mac os x"],
			mac9	: ["mac 9."],
			mac		: ["mac"]
		},
		unix:{
			linux	: ["inux"],
			unix	: ["sunos","irix","hp-ux","aix","sco","unix_system_v","ncr","reliantunix","dec","alpha","ultrix","sinix","bsd","x11"]
		}
	};

	/* windows minor versions list */
	var version_list = ["sp1","sp2","sp3","sp4","sp5","sp6"];


	/* detect browser */
	for (i in userAgent_list) {
		if (userAgent.indexOf(i) != -1) {
			env.browser.name = i;
			break;
		}
	}
	if (!env.browser.name) {
		env.browser.name = "other";
	}

	/* detect browser major / minor version */
   	var pos = false;
	for (i in userAgent_list[env.browser.name]) {
		needle = userAgent_list[env.browser.name][i];
		pos = userAgent.indexOf(needle);

		if (pos != -1) {
			break;
		}
	}

	/* handle mozilla specific:  if rv cannot be found, try again assuming it's netscape instead */
	if (env.browser.name == "mozilla" && pos == -1) {
		env.browser.name = "netscape";
		for (i in userAgent_list[env.browser.name]) {
    		needle = userAgent_list[env.browser.name][i];
    		pos = userAgent.indexOf(needle);

    		if (pos != -1) {
    			break;
    		}
		}
	}

	/* extract version from browser user agent string */
	new RegExp("([-.0-9a-z]+)").exec(String(userAgent.substr(pos + needle.length+1)));
	version = RegExp.$1;

	/* safari specific get browser version */
	if (env.browser.name == "safari") {
		env.browser.version = parseInt(version / 100);
		if (env.browser.version) {
			env.browser.minorVersion = version.substr(String(env.browser.version).length, 10);
		}
		else {
			env.browser.minorVersion = parseInt(version - (100 * env.browser.version));
		}
	}
	/* get all other browser major / minor version except 'other' */
	else if (env.browser.name != "other") {
		pos = version.indexOf('.');
    	if (pos != -1) {
    		env.browser.minorVersion = version.substr(pos + 1, 10);
    	}
    	else {
    		env.browser.minorVersion = 0;
    	}

    	env.browser.version = parseInt(version);
	}

	/* make sure browser version is a valid number */
	if (isNaN(env.browser.version) || !env.browser.version) {
		env.browser.version = 0;
	}
	if (!env.browser.minorVersion) {
		env.browser.minorVersion = 0;
	}

	/* detect OS name / version */
	for (i in OS_list) {
		for (j in OS_list[i]) {
			for (k in OS_list[i][j]) {
				if (userAgent.indexOf(OS_list[i][j][k]) != -1) {
					env.os.name = i;
					env.os.version = j;
					break;
				}
			}

			if (env.os.name) {
				break;
			}
		}

		if (env.os.name) {
			break;
		}
	}

	/* detect OS minor version */
	if (env.os.name && env.os.version) {
		for (i in version_list) {
			if (appMinorVersion.indexOf(version_list[i]) != -1) {
				env.os.minorVersion = version_list[i];
				env.os.versionNumber = i + 1;
				break;
			}
		}
	}
	else {
		env.os.name = "other";
		env.os.version = "other";
	}

	if (!env.os.minorVersion) {
		env.os.minorVersion = "other";
		env.os.version = "other";
	}

	return env;
}