// MCE Base URL
var MCE_BASE_URL = "http://admin.stalkretsloppet.se/mce/";
var mce_isAdmin = false; // Can be used by scripts to check if it's in admin mode or not

// name - name of the cookie
// value - value of the cookie
// [expires] - expiration date of the cookie (defaults to end of current session)
// [path] - path for which the cookie is valid (defaults to path of calling document)
// [domain] - domain for which the cookie is valid (defaults to domain of calling document)
// [secure] - Boolean value indicating if the cookie transmission requires a secure transmission
// * an argument defaults when it is assigned null as a placeholder
// * a null placeholder is not required for trailing omitted arguments
function mce_setCookie(name, value, expires, path, domain, secure) {
  var curCookie = name + "=" + escape(value) +
      ((expires) ? "; expires=" + expires.toGMTString() : "") +
      ((path) ? "; path=" + path : "") +
      ((domain) ? "; domain=" + domain : "") +
      ((secure) ? "; secure" : "");
  document.cookie = curCookie;
}

// name - name of the desired cookie
// * return string containing value of specified cookie or null if cookie does not exist
function mce_getCookie(name) {
  var dc = document.cookie;
  var prefix = name + "=";
  var begin = dc.indexOf("; " + prefix);
  if (begin == -1) {
    begin = dc.indexOf(prefix);
    if (begin != 0) return null;
  } else
    begin += 2;
  var end = document.cookie.indexOf(";", begin);
  if (end == -1)
    end = dc.length;
  return unescape(dc.substring(begin + prefix.length, end));
}

// name - name of the cookie
// [path] - path of the cookie (must be same as path used to create cookie)
// [domain] - domain of the cookie (must be same as domain used to create cookie)
// * path and domain default if assigned null or omitted if no explicit argument proceeds
function mce_deleteCookie(name, path, domain) {
  if (mce_getCookie(name)) {
    document.cookie = name + "=" + 
    ((path) ? "; path=" + path : "") +
    ((domain) ? "; domain=" + domain : "") +
    "; expires=Thu, 01-Jan-70 00:00:01 GMT";
  }
}

// date - any instance of the Date object
// * hand all instances of the Date object to this function for "repairs"
function mce_fixDate(date) {
  var base = new Date(0);
  var skew = base.getTime();
  if (skew > 0)
    date.setTime(date.getTime() - skew);
}

function mce_loadContent(file){
  var head = document.getElementsByTagName('head').item(0)
  var scriptTag = document.getElementById('loadScript');
  if(scriptTag) head.removeChild(scriptTag);
  script = document.createElement('script');
  script.src = file;
	script.type = 'text/javascript';
	script.id = 'loadScript';
	head.appendChild(script);
}

function mce_loadMCEScript() {
	if (document.mceInToolbar)
		return;

	var value = mce_getCookie("mceRemoteLogin");

	if (value && value == "true") {
		mce_loadContent(MCE_BASE_URL + "script.php?loaded=true");
		mce_isAdmin = true;
	}

	// Force scroll
	if ((href.indexOf('mce_edit=false') != -1 || href.indexOf('mce_lock=true') != -1) && href.indexOf('mce_preview=false') == -1)
		document.body.style.overflow = "scroll";
}

function mce_doLogin(url) {
	mce_setCookie("mceRemoteLogin", "true", null, "/");
}

function mce_doLogout() {
	mce_setCookie("mceRemoteLogin", "false", null, "/");
}

try {
	var href = document.location.href;

	attachEvent('onload', mce_loadMCEScript);

	// Is logged in
	if ((href.indexOf('mce_edit=false') != -1 || href.indexOf('mce_lock=true') != -1) && href.indexOf('mce_preview=false') == -1)
		document.write('<link href="/admin/admin.css" rel="stylesheet" type="text/css">');
} catch (e) {
	// Could I care less
}
