var MiniSite_LoadFunctions = new Array();

function getTop(o) {
  var ans = 0;
  while (o) {
    ans += o.offsetTop;
    o = o.offsetParent;
  }
  return ans;
}


function getLeft(o) {
  var ans = 0;
  while (o) {
    ans += o.offsetLeft;
    o = o.offsetParent;
  }
  return ans;
}

function getPos(o) {
  var a = 0;
  var b = 0;
  while (o) {
    a += o.offsetLeft;
    b += o.offsetTop;
    o = o.offsetParent;
  }
  return { l:a, t:b }
}

function getScrollTop() {
  var ans = window.pageYOffset;
  if (!ans && $) {
    ans = $('html,body').scrollTop();
  }
  if (!ans || ans == 0) {
    ans = document.body.scrollTop;
  }
  return ans;
}

function getScrollLeft() {
  var ans = window.pageXOffset;
  if (!ans && $) {
    ans = $('html,body').scrollLeft();
  }
  if (!ans || ans == 0) {
    ans = document.body.scrollLeft;
  }
  return ans;
}

function getClientHeight() {
  var ans = window.innerHeight;
  if (!ans || ans == 0) {
    ans = document.documentElement.clientHeight;
  }
  if (!ans || ans == 0) {
    ans = document.body.clientHeight;
  }
  return ans;
}

function getClientWidth() {
  var ans = window.innerWidth;
  if (!ans || ans == 0) {
    ans = document.documentElement.clientWidth;
  }
  if (!ans || ans == 0) {
    ans = document.body.clientWidth;
  }
  return ans;
}

  var MiniSite_ctrstInput;
  var MiniSite_ctrslInput;
  function MiniSite_saveScroll() {
    MiniSite_ctrstInput.value = getScrollTop();
    MiniSite_ctrslInput.value = getScrollLeft();
  }
  
  function MiniSite_reScroll() {
    MiniSite_ctrstInput = document.getElementById("Page_Layout_ctrst_");
    MiniSite_ctrslInput = document.getElementById("Page_Layout_ctrsl_");
    if (!MiniSite_ctrstInput) {
      var inputs = document.getElementsByTagName("input");
      var found = 0;
      for (var i = inputs.length - 1; i > -1; i--) {
        var inp = inputs[i];
        if (inp.id.indexOf("ctrst_") > -1) { MiniSite_ctrstInput = inp; if (++found == 2) { break; } }
        if (inp.id.indexOf("ctrsl_") > -1) { MiniSite_ctrslInput = inp; if (++found == 2) { break; } }
      }
    }
    if (MiniSite_ctrstInput) {
      if (MiniSite_ctrstInput.value != '' && !window["noscroll"]) {
        window.scroll(parseInt(MiniSite_ctrslInput.value), parseInt(MiniSite_ctrstInput.value));
      }
      window.onscroll = MiniSite_saveScroll;
    }
  }

  MiniSite_LoadFunctions[MiniSite_LoadFunctions.length] = MiniSite_reScroll;

var MiniSite_colapse = new Object();

function MiniSite_bodyClick() {
  //var sss = "MiniSite_bodyClick<br/>\n";
  //var fff = "";
  //var n = 0;
  for (var id in MiniSite_colapse) {
    //n++;
    if (MiniSite_colapse[id] == 1) {
      //sss += "1 -> 2 " + id + "<br/>";
      MiniSite_colapse[id] = 2;
    } else if (MiniSite_colapse[id] == 2) {
      var obj=document.getElementById(id);
      if (obj) {
        //sss += "closing " + id + "<br/>" + sss;
        if (obj.style.position == "absolute") {
          obj.style.visibility='hidden';
        }
        else  {
          obj.style.display="none";
        }
      }
      delete MiniSite_colapse[id];
    }
    //fff += id + ": " + MiniSite_colapse[id] + " " + (typeof id) + "<br/>\n";

  }
  //sss += "MiniSite_colapse[" + n + "]:<br/>\n" + fff + "<br/>\n";
  //document.getElementById('msg').innerHTML += sss;
}

function MiniSite_initColapse () {
  document.body.onclick = MiniSite_bodyClick;
}

function MiniSite_getFocus() {
	window.focus();
}

MiniSite_LoadFunctions[MiniSite_LoadFunctions.length] = MiniSite_initColapse;
MiniSite_LoadFunctions[MiniSite_LoadFunctions.length] = MiniSite_getFocus;

function MiniSite_loadWindow() {
  var e = arguments[0] || window.event;
  for (var i = 0; i < MiniSite_LoadFunctions.length; i++) {
    MiniSite_LoadFunctions[i](e);
  }
}

var MiniSite_guardActions_exitOnClicks = new Array();

var MiniSite_guardActions_okAction = null;

function MiniSite_guardActions(okAction, message, actions) {
  MiniSite_guardActions_Ok = okAction;
  var links = document.getElementsByTagName("A");
  //var buttons = document.getElementsByTagName("INPUT");
  //var areas = document.getElementsByTagName("AREA"); 
  for (var i = links.length - 1; i > -1; i--) {
    var e = links[i];
    var isaction = false;
    for (var j = actions.length - 1; j > -1; j--) {
      if (e.id == actions[j]) {
        isaction = true;
        break;
      }
    }
    if (!isaction) { //&& (e.tagName.toLowerCase() != "INPUT" || e.type.toLowerCase() == "button" || e.type.toLowerCase() == "submit")) {
      MiniSite_guardActions_exitOnClicks.push(e.onclick);
      e.onclick = new Function("event",
        "if (window.confirm(\"" + message + "\")) {\n" + 
        ( 
          MiniSite_guardActions_Ok ?
          "  return MiniSite_guardActions_Ok(event); \n" :
          "  return MiniSite_guardActions_exitOnClicks[" + (MiniSite_guardActions_exitOnClicks.length - 1) + "](event);\n"
        ) + 
        "} else {\n" +
        "  return false;\n" + 
        "}\n" 
      );
    }
  } 
  
}

function submitEnter(E, id) {
  if (E.which==13||E.keyCode==13) {
    __doPostBack(id.replace(/:/g,"$"), '');
  }
}


  function MiniSite_openWindow(url, name, params, width, height, top, left, center) {
    var x, y, w, h
    if (center) {
      //alert(window.top.screenX);
      if (window.top.screenX || window.top.screenX == 0) {
        x = window.top.screenX;
        y = window.top.screenY;
        w = window.top.outerWidth;
        h = window.top.outerHeight;
      } else {
        x = window.top.screenLeft;
        y = window.top.screenTop;
        w = window.top.document.body.offsetWidth;
        h = window.top.document.body.offsetHeight;
      }
      //alert(x + " " + w + "\n" + y + " " + h);
      left = Math.floor(x + ((w - width) / 2));
      top = Math.floor(y + ((h - height) / 2));
    }
    var params = 'height='+height+',width='+width+',top='+(top - 40)+',left='+left+(params?','+params:'');
    //alert(params)
    return window.open(url,name,params);
  }

function renderFlash(params, width, height, id, align, version) {
  if (!version)
    version = "7,0,0,0";
	var html = ""
	html += '<object tabindex="-1" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=' + version + '" width="'+width+'" height="'+ height+'" id="'+ id+'" align="'+align+'" VIEWASTEXT>';
	for (var p in params) {
		html += '<param name="' + p + '" value="' + params[p] + '" />\n';
	}
	html += '<embed';
	for (var p in params) {
	  if (p == "movie")
	    html += ' src="' + params[p] + '"';
	  else 
  		html += ' ' + p + '="' + params[p] + '"';
	}
	html += ' width="'+width+'" height="'+ height+'" name="'+ id+'" align="'+align+'" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />\n';
	html += '</object>\n';
	//alert(html);
  //document.write(html.replace(/&/g, "&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;"));
  document.write(html);
}
	
	
	function say(s) { alert(s); }
	
	var aryHelpMessages = [];
	var aryHelpMessagesPositions = [];
	
	function MiniSite_posotionHelp() {
	  for (var i = aryHelpMessages.length - 1; i > -1; i--) {
	    var b = document.getElementById(aryHelpMessages[i]);
	    var m = document.getElementById(aryHelpMessages[i] + "Message");
	    if (b && m) {
	      var top = getTop(b);
	      var left = getLeft(b);
	      var p = aryHelpMessagesPositions[i];
	      if (p == 1) {
	        m.style.top = (top - 2) + "px";
	        m.style.left = (left + 20) + "px";
	      } else if (p == 6) {
	        m.style.top = (top - 2) + "px";
	        m.style.left = (left - 254) + "px";
	      }
	    }
	  }
	}

	function instanciateSwf(id, uri, targetid, width, height, version, color, params) {
    so = new SWFObject(uri, targetid, width, height, version, color);	  
    for (var p in params) {
      so.addParam(p, params[p]);
    }
    so.write(id);
  }
  
  function getDaysInMonth(y, m) {
    switch (m + 1) {
      case 1:
      case 3:
      case 5:
      case 7:
      case 8:
      case 10:
      case 12:
        return 31;
        break;
      case 4:
      case 6:
      case 9:
      case 11:
        return 30;
        break;
      case 2:
        if (y % 4) {
          return 28;
        } else if (y % 100) {
          return 29;
        } else {
          if (y % 400) {
            return 28;
          } else {
            return 29;
          }
        }
        break;
    }
  }

  function addMonths(o, a) {
    var y = o.getFullYear();
    var m = o.getMonth();
    var d = o.getDate();
    var h = o.getHours();
    var n = o.getMinutes();
    var s = o.getSeconds();
    var ms = o.getMilliseconds();
    m += a + y * 12;
    
    var aY = Math.floor(m / 12);
    var aM = m % 12;
    var aD = getDaysInMonth(aY, aM);
    //alert(aY + " " + aM + " " + aD);
    var ans = new Date(aY, aM, d < aD ? d : aD, h, n, s, ms);
    return ans;
  }

  function getDatePart(d) {
    var y = d.getFullYear();
    var m = d.getMonth();
    var d = d.getDate();
    return new Date(y, m, d);
  }
  
  function getDayDiff(a, b) {
    var a0 = getDatePart(a);
    var b0 = getDatePart(b);
    return Math.round((b0.getTime() - a0.getTime()) / (1000 * 60 * 60 * 24));
  }
  
  function getDateString(c, o) {
    var aryC = c.split("-");
    var y = o.getFullYear();
    var m = o.getMonth() + 1;
    var d = o.getDate();
    if (aryC[0] == "da") {
      return (d < 10 ? "0" : "") + d + "-" + (m < 10 ? "0" : "") + m + "-" + y;
    } else {
      return (m < 10 ? "0" : "") + m + "-" + (d < 10 ? "0" : "") + d + "-" + y;
    }
  }
  
  function decDay(o) {
    var y = o.getFullYear();
    var m = o.getMonth();
    var d = o.getDate();
    var h = o.getHours();
    var n = o.getMinutes();
    var s = o.getSeconds();
    var ms = o.getMilliseconds();
    if (d == 1) {
      m--;
      if (m == -1) {
        m = 11;
        y--;
      }
      d = getDaysInMonth(y, m);
    } else {
      d--;
    }    
    return new Date(y, m, d, h, n, s, ms);  
  }
  
  function incDay(o) {
    var y = o.getFullYear();
    var m = o.getMonth();
    var d = o.getDate();
    var h = o.getHours();
    var n = o.getMinutes();
    var s = o.getSeconds();
    var ms = o.getMilliseconds();
    if (d == getDaysInMonth(y, m)) {
      m++;
      if (m == 12) {
        m = 0;
        y++;
      }
      d = 1;
    } else {
      d++;
    }    
    return new Date(y, m, d, h, n, s, ms);  
  }
  
  var regParseDate = /0*(\d+)-0*(\d+)-0*(\d+)/;
  function parseDate(str) {
    var ans = null;
    var match = regParseDate.exec(str);
    if (match) {
      var d;
      var m;
      var y;
      if (MiniSite_Snippet_Culture == "da-DK") {
        d = parseInt(match[1]);
        m = parseInt(match[2]);
        y = parseInt(match[3]);
      } else {
        d = parseInt(match[2]);
        m = parseInt(match[1]);
        y = parseInt(match[3]);
      }
      if (m > 0 && m < 13 && y > 0 && d >= 1 && d <= getDaysInMonth(y, m - 1)) {
        ans = new Date(y, m - 1, d);
      }
    }
    return ans;
  }
  
  var regParseEmail = /^[\\w\\.\\-_]+@([a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,}$/;
  function parseEmail(str) {
    var ans = null;
    var match = regParseEmail.exec(str);
    if (match) {
      ans = str;
    }    
    return ans;
  }
  
  function Minisite_GetText(n) {
    if (!window['Minisite_Snippets']) {
      return "[!!No_Minisite_Snippets]";
    } else if (window['Minisite_Snippets'][n]) {
      return window['Minisite_Snippets'][n];
    } else {
      return "[**" + n + "]";
    }
  }
  
  function removeParameter(url, name) {
    var regParam = new RegExp("(\\?|\\&)" + name.replace("\\", "\\\\").replace(".", "\.").replace("(","\(").replace(")","\)") + "=[^\\&]*(\\&?)");
    var ans = url.replace(regParam, "$1");
    if (ans.lastIndexOf("&") == ans.length - 1) 
      ans = ans.substr(0, ans.length - 1);
    if (ans.lastIndexOf("?") == ans.length - 1) 
      ans = ans.substr(0, ans.length - 1);
    regParam = new RegExp("(\\?|\\&)(\\%23|#).*");
    ans = ans.replace(regParam, "");
    return ans;
  }

  function replaceParameter(url, name, value) {
    var ans = removeParameter(url, name);
    return ans + (ans.indexOf("?") == -1 ? "?" : "&") + escape(name) + "=" + encodeURIComponent(value);
  }

  function moveElementToggle(link) {
    var clientid = link.id.substring(0, link.id.length - 12);
    return choosePageToggle(link, clientid + '_movediv', clientid + '_moveiframe', 'ElmEmailShopItemSelectMove', 'moveElementCallBack', clientid);
  }
  
  function choosePageToggle(link, divid, iframeid, rootsnippet, callback, callbackid, selected) {
    var cd = document.getElementById(divid); 
    var ci = document.getElementById(iframeid);
	//alert(link.clientWidth + " " + link.offsetWidth + " " + link.width + " " + link.style.width + "*");
    cd.style.left = (link.offsetWidth + 2) + "px";
    cd.style.top = (getTop(link) - getTop(link.parentNode)) + "px";
    cd.style.visibility = 'visible';
    MiniSite_colapse[cd.id] = 1;
    MiniSite_colapse[link.parentNode.id] = 1;
    ci.contentWindow.open('/Elements/PagesDropDown.aspx?rnd=' + Math.random() + '&ID=' + callbackid + '&CallBack=' + callback + "&rootsnippet=" + escape(rootsnippet) + (selected != null ? "&selected=" + selected : ""), '_self');
    return false;
  }
  
  function moveElementCallBack(id, targetPage) {
    if (window.confirm(Minisite_GetText("ElmMoveWarning"))) {
      document.getElementById(id + "_TargetPageID").value = targetPage;
      __doPostBack((id + '_MoveElement').replace(/_/g,'$'),'');
    }
  }

  function editClassNameToggle(link, elementid) {
    var element = document.getElementById(elementid);
    var clientid = link.id.substring(0, link.id.length - 14);
    var selid = clientid + '_ClassNameSelect';
    var sel = document.getElementById(selid);
    if (sel.options.length == 1) {
      for (var i = 0; i < aryClassNames.length; i++) {
        var option = new Option(aryClassNames[i][0]);
        option.value = aryClassNames[i][1];
        
        sel.options[sel.options.length] = option;
      }
    }
    var elementClassNames = element.className.split(" ");
    for (var i = sel.options.length - 1; i > -1; i--) {
      for (var j = elementClassNames.length - 1; j > -1; j--) {
        if (elementClassNames[j] == sel.options[i].value) {
          sel.selectedIndex = i;
          i = -1;
          j = -1;
        }
      }
    }
    var divid = clientid + '_classnamediv';
    var cd = document.getElementById(divid); 
	//alert(link.clientWidth + " " + link.offsetWidth + " " + link.width + " " + link.style.width + "*");
    cd.style.left = (link.offsetWidth + 2) + "px";
    cd.style.top = (getTop(link) - getTop(link.parentNode)) + "px";
    cd.style.visibility = 'visible';
    //alert("cd.id: " + cd.id + "\nlink.parentNode.id: " + link.parentNode.id);
    MiniSite_colapse[cd.id] = 1;
    MiniSite_colapse[link.parentNode.id] = 1;
    return false;
  }
  
      function MiniSite_Elements_initToolbarAux(prefix, buttons) {
        var Toolbar = document.getElementById(prefix + "_Toolbar");
        var Link = document.getElementById(prefix + "_Options");
        var top =  getTop(Link);
        var left = getLeft(Link);
        for (var i = buttons.length - 1; i > -1; i--) {
          var button = document.getElementById(prefix + "_" + buttons[i]);
          button.style.top = top + "px";
          button.style.left = (left + 0) + "px";
          button.style.visibility = "visible";
          left += button.clientWidth;
        }
      }
      
      function MiniSite_Elements_initToolbarPrime(prefix, buttons) {
        var jsButtons = "";
        for (var i = buttons.length - 1; i > -1; i--) {
          jsButtons += ",'" + buttons[i] + "'";
        }
        jsButtons = jsButtons.substr(1);
        MiniSite_LoadFunctions[MiniSite_LoadFunctions.length] = new Function("MiniSite_Elements_initToolbarAux('" + prefix + "', [" + jsButtons + "]);");
      }
      
      function MiniSite_Elements_initToolbar(elementID, buttons) {
        MiniSite_Elements_initToolbarPrime("Page_Layout_Elm" + elementID, buttons);
      }
      
      function MiniSite_Elements_strechZonePadding(elementid) {
        var table = document.getElementById("Page_Layout_Elm" + elementid + "_bottompadding");
        var td = document.getElementById("Page_Layout_Elm" + elementid + "_bottompaddingtd");
        var zone = table.parentNode;
        td.style.height = (zone.clientHeight - table.offsetTop) + "px";
      }
      

  function copyEmailShopItemToggle(link) {
    var cd=document.getElementById(link.id.substring(0,link.id.length-8)+'copydiv'); 
    var ci=document.getElementById(link.id.substring(0,link.id.length-8)+'copyiframe');  
    if (true) { //link.className=='adm_ele_menu') {
      //link.className='adm_ele_menu_on';
      cd.style.visibility='visible';
      ci.contentWindow.open('/Elements/ElmEmailShopItemsDropDown.aspx?rnd='+Math.random()+'&ElementPrefix='+link.id.substring(0,link.id.length-8),'_self');
      MiniSite_colapse[cd.id] = 1;
      MiniSite_colapse[link.parentNode.id] = 1;
    } else {
      link.className='adm_ele_menu';cd.style.visibility='hidden';
      MiniSite_colapse[cd.id] = 0;
    }
    return false;  
  }
  
  function MiniSite_initEditor(id, pageID, toolBar) {
	  var sBasePath = "/fckeditor/";
	  var oFCKeditor = new FCKeditor(id) ;
	  oFCKeditor.BasePath = sBasePath;
	  oFCKeditor.Width = '100%' ;
	  oFCKeditor.Config["EditorAreaCSS"] = "/include/fck.aspx?PageID=" + pageID;
	  oFCKeditor.Config["ToolbarCanCollapse"] = false;
	  oFCKeditor.ToolbarSet = toolBar;
	  oFCKeditor.Height = '350' ;
	  oFCKeditor.ReplaceTextarea() ;
  }

  function MiniSite_initCKEditor(id, pageID, toolBar) {
	  var sBasePath = "/ckeditor/";

	 CKEDITOR.stylesSet.add( 'myStyles',
[
	/* Block Styles */

	// These styles are already available in the "Format" combo, so they are
	// not needed here by default. You may enable them to avoid placing the
	// "Format" combo in the toolbar, maintaining the same features.
	
	{ name : 'Normal'		, element : 'p' },
	{ name : 'H1'		, element : 'h1' },
	{ name : 'H2'		, element : 'h2' },
	{ name : 'H3'		, element : 'h3' },
	{ name : 'H4'		, element : 'h4' },
	{ name : 'Highlight 1'		, element : 'span', attributes : { 'class' : 'highlight1' }  },
	{ name : 'Highlight 2'		, element : 'span', attributes : { 'class' : 'highlight2' }   },
	{ name : 'Highlight 3'		, element : 'span', attributes : { 'class' : 'highlight3' }  },
	{ name : 'Highlight 4'		, element : 'span', attributes : { 'class' : 'highlight4' }  },
	{ name : 'Deleted Text'		, element : 'del' }
]);	
	  //CKEDITOR.stylesSet = 'myStyles';		
	 CKEDITOR.plugins.addExternal('gmalink','/_source/plugins/gmslink/');
	 CKEDITOR.config.contentsCss  = "/include/fck.aspx?PageID=" + pageID;
					//CKEDITOR.config.format_tags = 'p;h1;h2;h3;h4';
	 CKEDITOR.config.pasteFromWordPromptCleanup = true;
		  var oCKeditor = CKEDITOR.replace( id,toolBar);
	  CKEDITOR.config.extraPlugins = 'gmslink';
	  oCKeditor.config.stylesSet = 'myStyles';
	  oCKeditor.config.keystrokes =
		[
			[ CKEDITOR.CTRL + 66 /*B*/, 'bold' ],
			[ CKEDITOR.CTRL + 73 /*I*/, 'italic' ],
			[ CKEDITOR.CTRL + 85 /*U*/, 'underline' ],
    		[ CKEDITOR.ALT + 13 /*<CR>*/, 'maximize' ]
    	];
//	  oCKeditor.config.fontSize_sizes = '8/8px;9/9px;10/10px;11/11px;12/12px;14/14px;16/16px;18/18px;20/20px;22/22px;24/24px;26/26px;28/28px;36/36px;48/48px;72/72px';
	  oCKeditor.config.fontSize_sizes = '8/8px;9/9px;10/10px;11/11px;12/12px;14/14px;16/16px;18/18px;20/20px;22/22px;24/24px;26/26px;28/28px;30/30px;32/32px;34/34px;36/36px;38/38px;40/40px;48/48px;72/72px';
	  oCKeditor.BasePath = sBasePath;
	  oCKeditor.Width = '100%' ;
	  oCKeditor.config.contentsCss  = "/include/fck.aspx?PageID=" + pageID;
	  oCKeditor.config.toolbarCanCollapse = false;
	  oCKeditor.config.enterMode = CKEDITOR.ENTER_BR;
	  oCKeditor.config.shiftEnterMode = CKEDITOR.ENTER_P;

	  //oCKeditor.toolbarSet = toolBar;
	  oCKeditor.Height = '350' ;
	  //oCKeditor.ReplaceTextarea() ;

			oCKeditor.on( 'pluginsLoaded', function( ev )
				{
					// If our custom dialog has not been registered, do that now.
					if ( !CKEDITOR.dialog.exists( 'gmslink' ) )
					{
						CKEDITOR.dialog.add( 'gmslink', '/ckeditor/plugins/gmslink/dialogs/gmslink.js' );
					}
					
				
					// Register the command used to open the dialog.
					oCKeditor.addCommand( 'gmslinkCmd', new CKEDITOR.dialogCommand( 'gmslink' ) );

					// Add the a custom toolbar buttons, which fires the above
					// command..
					oCKeditor.ui.addButton( 'gmslink',
						{
							label : 'Inds\u00e6t Link',
							command : 'gmslinkCmd',
							icon : '/ckeditor/plugins/gmslink/images/link.gif'
						} );
					//CKEDITOR.config.format_tags = 'p;h1;h2;h3;h4';

				});
  }

  function setScroll() {
    document.cookie='scl='+getScrollTop()+'x'+getScrollLeft();
  }

  function MiniSite_Elements_tuggleZoneExtra(id) {
    var open = document.getElementById(id + "_OpenExtra");
	var close = document.getElementById(id + "_CloseExtra");
	var hidden = document.getElementById(id + "_ExtraOpenHidden");
	var extra = document.getElementById(id + "_Extra");
	
	if (extra.style.display == 'none') {
	  extra.style.display = '';
	  open.style.display = 'none';
	  close.style.display = '';
	  hidden.value = '1';
	} else {
	  extra.style.display = 'none';
	  open.style.display = '';
	  close.style.display = 'none';
	  hidden.value = '';
    }
	return false;
  }
  
  
  function MiniSite_addEvent(obj, evType, fn){ 
    if (obj.addEventListener){ 
      obj.addEventListener(evType, fn, false); 
      return true; 
    } else if (obj.attachEvent){ 
      var r = obj.attachEvent("on"+evType, fn); 
      return r; 
    } else { 
      return false; 
    } 
  }
  
  function MiniSite_removeEvent(obj, evType, fn){ 
    if (obj.removeEventListener){ 
      obj.removeEventListener(evType, fn, false); 
      return true; 
    } else if (obj.detachEvent){ 
      var r = obj.detachEvent("on"+evType, fn); 
      return r; 
    } else { 
      return false; 
    } 
  }
  
  if (!MiniSite_addEvent(window, "load", MiniSite_loadWindow)) {
    window.onload = MiniSite_loadWindow;
  }
  
  
  
  
  function MiniSite_createEmptyDialog(dialogID, width, contentCreator) {
    var theBody = document.getElementById("theBody");
    
    dialog = document.createElement("div");
    dialog.id = dialogID;
    dialog.style.position = "absolute";
    dialog.style.visibility = "hidden";
    if (width != -1) {
      dialog.style.left = (theBody.scrollLeft + ((theBody.clientWidth - width) / 2)) + "px";
      dialog.style.width = width + "px";
    }
    theBody.appendChild(dialog);

    if (contentCreator) {
      contentCreator(dialog);
    }
     
    return dialog;
  }

  
  
  function MiniSite_emptyHtmlDialogHtmlLoadOnSuccess(data, dialog) {
    var dialogHtml=document.createElement('div');
    dialogHtml.id=dialog + 'html';
    dialogHtml.innerHTML=MiniSite_replaceSnippets(data);
    dialog.appendChild(dialogHtml);
    
    window["MiniSite_" + dialog.id + "HtmlLoaded"] = true;
  }

  function MiniSite_emptyHtmlIFrameDialogContentCreator(dialog, url) {
    var iframe = document.createElement("iframe");
    iframe.id = dialog.id + 'iframe';
    iframe.style.overflow = "hidden";
    iframe.style.border = "0px";
    iframe.setAttribute('scrolling', 'no');
    iframe.setAttribute('frameBorder', '0');
    iframe.setAttribute('frameSpacing', '0');
    dialog.appendChild(iframe);
  }
  
  function MiniSite_emptyHtmlDialogContentCreator(dialog, url) {
    $.ajax(
      {
        cache:false,
        dataType:'html',
        url:url,
        success:function(data) { MiniSite_emptyHtmlDialogHtmlLoadOnSuccess(data, dialog); }
      }
    );
  }
  
  function MiniSite_modalEmptyHtmlDialogLoadData(dialog, loadParameters) {
    if (!window["MiniSite_" + dialog.id + "HtmlLoaded"]) {
      window.setTimeout(function() { MiniSite_modalEmptyHtmlDialogLoadData(dialog, loadParameters); }, 300);
      return;
    }
    if (dialog.onLoadHandler) {
      dialog.onLoadHandler(dialog, loadParameters);
    }
    var width = dialog.clientWidth;
    var height = dialog.clientHeight;
    dialog.style.left = (getScrollLeft() + ((getClientWidth() - width) / 2)) + "px";
    dialog.style.top = (getScrollTop() + ((getClientHeight() - height) / 2)) + "px";
    dialog.style.visibility = "visible";
  }

  

  function MiniSite_openModalEmptyHtmlDialog(id, url, width, onLoadHandler, loadParameters) {
    MiniSite_openModalDialog(
      id,
      function() {
        var ans = MiniSite_createEmptyDialog(
          id,
          width,
          function(d) { MiniSite_emptyHtmlDialogContentCreator(d, url); }
        );
        ans.onLoadHandler = onLoadHandler;
        return ans;
      },
      MiniSite_modalEmptyHtmlDialogLoadData,
      loadParameters,
      [],
      null,
      true
    );
  }
  
  function MiniSite_openModalEmptyHtmlIFrameDialog(id, url, width, onLoadHandler, loadParameters, borderwidth, padding) {
    var widthsum = parseInt(width) + parseInt(borderwidth) * 2 + parseInt(padding) * 2;
    MiniSite_openModalDialog(
      id,
      function() {
        var ans = MiniSite_createEmptyDialog(
          id,
          -1,
          function(d) { 
            d.style.padding = borderwidth + "px";
            d.className = "iframedialog";
            var container = document.createElement("div");
            container.style.padding = padding + "px";
            container.className = "iframedialogcontainer";
            d.appendChild(container);
            var iframe = document.createElement("iframe");
            iframe.id = id + 'iframe';
            iframe.style.overflow = "hidden";
            iframe.style.border = "0px";
            iframe.setAttribute('scrolling', 'no');
            iframe.setAttribute('frameBorder', '0');
            iframe.setAttribute('frameSpacing', '0');
            iframe.style.width = width + "px";
            container.appendChild(iframe);
          }
        );
        ans.onLoadHandler = onLoadHandler;
        return ans;
      },
      function (dialog, loadParameters) {
        var iframe = document.getElementById(id + "iframe");
        window["MiniSite_" + dialog.id + "HtmlLoaded"] = false;
        iframe.contentWindow.open(url, '_self');
        if (dialog.onLoadHandler) {
          dialog.onLoadHandler(dialog, loadParameters);
        }
      },
      loadParameters,
      [],
      null,
      true
    );
  }
  
  
  /*
    if cancelHandler returns true the window will not close 
    
  */
  function MiniSite_openModalDialog(dialogID, createMethod, onLoadHandler, loadParameters, buttons, cancelHandler, dontShow) {
    var theBody = document.getElementById("theBody");
    var whitediv = document.getElementById("whitediv");
    if (whitediv == null) {
      whitediv = document.createElement("div");
      whitediv.id = "whitediv";
      whitediv.className = "whitediv";
      whitediv.style.position = "absolute";
      theBody.appendChild(whitediv);
    }

    var dialog = document.getElementById(dialogID);
    if (dialog == null) {
      dialog = createMethod();
    }
    
    dialog.style.top = "0px";
    whitediv.style.visibility = "visible";
    whitediv.style.top = "0px";
    whitediv.style.left = "0px";
    whitediv.style.width = theBody.scrollWidth + "px";
    whitediv.style.height = Math.max(theBody.clientHeight, theBody.scrollHeight) + "px";
    
    onLoadHandler(dialog, loadParameters);
    
    if (buttons) {
      for (var i = 0; i < buttons.length; i++) {
        var butA = document.getElementById(dialog.id + "_" + buttons[i].id);
        if (butA) {
          butA.onclick = buttons[i].onclick;
        }
      }
    }
    
    if (!dontShow) {
      window.setTimeout(function() {
        var dialog = document.getElementById(dialogID);
        var width = dialog.clientHeight;
        var height = dialog.clientHeight;
        dialog.style.left = (getScrollLeft() + ((getClientWidth() - width) / 2)) + "px";
        dialog.style.top = (getScrollTop() + ((getClientHeight() - height) / 2)) + "px";
        dialog.style.visibility = "visible";
      }, 300);
    }
    
    if (cancelHandler != null) {
      dialog.cancelHandler = cancelHandler;
      dialog.loadParameters = loadParameters;
    }
      
    if (MiniSite_currentModalDialogs.length > 0) {
      var prevdialog = MiniSite_currentModalDialogs[MiniSite_currentModalDialogs.length - 1];
      MiniSite_WhiteDisableDialog(prevdialog);
    }
    MiniSite_currentModalDialogs.push(dialog);
    if (MiniSite_currentModalDialogs.length == 1) {
      MiniSite_addEvent(document, "keydown", MiniSite_keyEscapeEvent);
    }
  }

  var MiniSite_replaceSnippetsReg = /\[\?\?([^\]]+)\]/;
  function MiniSite_replaceSnippets(str) {
    var ans = "";
    for (var m = str.match(MiniSite_replaceSnippetsReg); m != null; m = str.match(MiniSite_replaceSnippetsReg)) {
      ans += RegExp.leftContext + Minisite_GetText(m[1]);
      str = RegExp.rightContext
    }
    ans += str;
    return ans;
  }
  
  function MiniSite_WhiteDisableDialog(dialog) {
    var dialogwhitedivid = dialog.id + "whitediv";
    var dialogwhitediv = document.getElementById(dialogwhitedivid);
    if (!dialogwhitediv) {
      dialogwhitediv = document.createElement("div");
      dialogwhitediv.id = dialogwhitedivid;
      dialogwhitediv.className = "whitediv";
      dialogwhitediv.style.position = "absolute";
      if (dialog.nextSibling) {
        dialog.parentNode.insertBefore(dialogwhitediv, dialog.nextSibling);
      } else {
        theBody.appendChild(dialogwhitediv);
      }
    }
    dialogwhitediv.style.visibility = "visible";
    var pos = getPos(dialog)
    dialogwhitediv.style.top = pos.t + "px";
    dialogwhitediv.style.left = pos.l + "px";
    dialogwhitediv.style.width = dialog.offsetWidth + "px";
    dialogwhitediv.style.height = dialog.offsetHeight + "px";
  }
  
  function MiniSite_WhiteEnableDialog(dialog) {
    var dialogwhitedivid = dialog.id + "whitediv";
    var dialogwhitediv = document.getElementById(dialogwhitedivid);
    if (dialogwhitediv) {
      dialogwhitediv.style.visibility='hidden';
    }
  }
  
  var MiniSite_currentModalDialogs = new Array();

  function MiniSite_closeTopDialog() {
    if (MiniSite_currentModalDialogs.length > 0) {
      if (MiniSite_currentModalDialogs[MiniSite_currentModalDialogs.length - 1].cancelHandler) {
        var d = MiniSite_currentModalDialogs[MiniSite_currentModalDialogs.length - 1];
        if (d.cancelHandler(d.loadParameters)) {
          return;
        }
      }
      var dialog = MiniSite_currentModalDialogs.pop();
      dialog.style.visibility='hidden';
    }
    if (MiniSite_currentModalDialogs.length > 0) {
      var prevdialog = MiniSite_currentModalDialogs[MiniSite_currentModalDialogs.length - 1];
      MiniSite_WhiteEnableDialog(prevdialog);
    } else {
      document.getElementById('whitediv').style.visibility='hidden';
      MiniSite_removeEvent(document, "keydown", MiniSite_keyEscapeEvent);
    }
  }
  
  function MiniSite_AnimateWaiting(dialog, title) {
    var waitanimationbox = document.getElementById("waitanimationbox");
    var waitanimationboxcaption = document.getElementById("waitanimationboxcaption");
    var waitanimation = document.getElementById("waitanimation");
    if (!waitanimationbox) {
      var theBody = document.body;
      waitanimationbox = document.createElement("div");
      waitanimationbox.id = "waitanimationbox";
      waitanimationbox.style.position = "absolute";
      waitanimationbox.style.backgroundColor = "#FFFFFF";
      waitanimationbox.style.borderColor = "#FE9002";
      waitanimationbox.style.borderWidth = "2px";
      waitanimationbox.style.borderStyle = "solid";
      waitanimationbox.style.padding = "10px";
      waitanimationbox.style.backgroundImage = "url('/img/logo.gif')";
      waitanimationbox.style.backgroundRepeat = "no-repeat";
      waitanimationbox.style.backgroundPosition = "top right";
      theBody.appendChild(waitanimationbox);
      waitanimationboxcaption = document.createElement("span");
      waitanimationboxcaption.id = "waitanimationboxcaption";
      waitanimationboxcaption.className = "adm_txt_black";
      waitanimationboxcaption.appendChild(document.createTextNode(""));
      waitanimationbox.appendChild(waitanimationboxcaption);
      var waitanimationboxbr = document.createElement("br");
      waitanimationboxbr.style.clear = "both";
      waitanimationbox.appendChild(waitanimationboxbr);
      waitanimation = MiniSite_Elements_getLoadingAnimation("waitanimation", 15, 5, 2, 20); 
      waitanimation.style.marginTop = "4px";
      waitanimationbox.appendChild(waitanimation);
    }
    waitanimationbox.style.visibility = 'hidden';
    waitanimationbox.style.display = '';
    var pos = getPos(dialog);
    waitanimationbox.style.top = pos.t + (dialog.clientHeight - waitanimationbox.clientHeight) / 2 + "px";
    waitanimationbox.style.left = pos.l + (dialog.clientWidth - waitanimationbox.clientWidth) / 2 + "px";
    waitanimationbox.style.visibility = '';

    waitanimationboxcaption.firstChild.nodeValue = title + "  ";

    waitanimation.Step = 0;
    MiniSite_Elements_animateLoadingAnimation("waitanimation"); 
    MiniSite_removeEvent(document, "keydown", MiniSite_keyEscapeEvent);

  }

  function MiniSite_StopAnimateWaiting() {
    var waitanimationbox = document.getElementById("waitanimationbox");
    waitanimationbox.style.display = 'none';
    var waitanimation = document.getElementById("waitanimationbox");
    waitanimation.Step = -1;
    MiniSite_addEvent(document, "keydown", MiniSite_keyEscapeEvent);
  }
  
  function MiniSite_keyEscapeEvent(E) {
    if(!E){E=window.event;}
    if(E.keyCode==27||E.which==27){
      MiniSite_closeTopDialog();
    }
  }
  
  function Set_Cookie( name, value, expires, path, domain, secure )
  {
  // set time, it's in milliseconds
  var today = new Date();
  today.setTime( today.getTime() );

  /*
  if the expires variable is set, make the correct
  expires time, the current script below will set
  it for x number of days, to make it for hours,
  delete * 24, for minutes, delete * 60 * 24
  */
  if ( expires )
  {
  expires = expires * 1000 * 60 * 60 * 24;
  }
  var expires_date = new Date( today.getTime() + (expires) );

  document.cookie = name + "=" +escape( value ) +
  ( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
  ( ( path ) ? ";path=" + path : "" ) +
  ( ( domain ) ? ";domain=" + domain : "" ) +
  ( ( secure ) ? ";secure" : "" );
  }
  
  // this function gets the cookie, if it exists
  // don't use this, it's weak and does not handle some cases
  // correctly, this is just to maintain legacy information
  function Get_Cookie( name ) {

  var start = document.cookie.indexOf( name + "=" );
  var len = start + name.length + 1;
  if ( ( !start ) &&
  ( name != document.cookie.substring( 0, name.length ) ) )
  {
  return null;
  }
  if ( start == -1 ) return null;
  var end = document.cookie.indexOf( ";", len );
  if ( end == -1 ) end = document.cookie.length;
  return unescape( document.cookie.substring( len, end ) );
  }
  
  function searchUrl(url,elmID) {
     return removeParameter(replaceParameter(url, 's', document.getElementById('s'+elmID).value), 'p');
  }

  function search(strUrl,elmID) {
        var url;
      	if (strUrl != '') {
      		url = strUrl;
      	}
      	else {
            url = window.location.href;
        }
        window.location.href = searchUrl(url,elmID);
   }

function MiniSite_IsTouchDevice() {  
  var ans;
  try {  
    document.createEvent("TouchEvent");  
    ans = true;  
  } catch (e) {  
    ans = false;  
  }
  window["MiniSite_IsTouchDevice"] = new Function("return " + ans + ";"); 
  return ans;
}

