function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function showHide(id) {	
  if (document.all) {
    document.getElementById = document.all;
	w1 = document.getElementById (id);
  } else {
    w1 = document.getElementById (id);
  }	
  if (w1.style.display == "none") w1.style.display="block";
  else w1.style.display="none";	
}

function show(id) {	
  w1 = document.getElementById (id);
  if (w1 && w1.style) w1.style.display="block";	
}

function hide(id) {	
  w1 = document.getElementById (id);
  if (w1 && w1.style) w1.style.display="none";	
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function openwindow (url, winname, w, h) {
  var nScrW = 800;
  var nScrH = 600;
  if (screen) {
    nScrW = screen.availWidth;
    nScrH = screen.availHeight;
  }
  var leftPos = (nScrW-w)/2;
  var topPos = (nScrH-h)/2;
  newwin = window.open (url, winname, 'width=' + w + ',height=' + h + ',menu=no,toolbars=no,status=yes,scrollbars=yes,resizable=yes,top=' + topPos + ',left=' + leftPos);
  newwin.moveTo(leftPos, topPos);
  return;
}

  function grayOut(vis, options) {
    // Pass true to gray out screen, false to ungray
	// options are optional.  This is a JSON object with the following (optional) properties
	// opacity:0-100		// Lower number = less grayout higher = more of a blackout
	// zindex: #			// HTML elements with a higher zindex appear on top of the gray out
	// bgcolor: (#xxxxxx)	// Standard RGB Hex color code
	// grayOut(true, {'zindex':'50', 'bgcolor':'#0000FF', 'opacity':'70'});
	// Because options is JSON opacity/zindex/bgcolor are all optional and can appear
	// in any order.  Pass only the properties you need to set.
	scroll(0,0);
	var options = options || {};
	var zindex = options.zindex || 50; 
	var opacity = options.opacity || 60; 
	var opaque = (opacity / 100);
	var bgcolor = options.bgcolor || '#999999';
	var dark=document.getElementById('darkenScreenObject');
	
	if (!dark) {
	  // The dark layer doesn't exist, it's never been created.  So we'll
	  // create it here and apply some basic styles.
	  // If you are getting errors in IE see: http://support.microsoft.com/default.aspx/kb/927917	  
	  var tbody = document.getElementsByTagName("body")[0];
	  var tnode = document.createElement('div');			// Create the layer.
	  tnode.style.position='absolute';						// Position absolutely
	  tnode.style.top='0px';								// In the top
	  tnode.style.left='0px';								// Left corner of the page
	  tnode.style.overflow='hidden';						// Try to avoid making scroll bars
	  tnode.style.display='none';							// Start out Hidden
	  tnode.id='darkenScreenObject';						// Name it so we can find it later
	  tbody.appendChild(tnode);								// Add it to the web page
	  dark=document.getElementById('darkenScreenObject');	// Get the object.
	}
	
	if (vis) {
	  // Calculate the page width and height
	  var screenW = 0;
	  var screenH = 0;
	  if (screen) {
    	screenW = screen.availWidth;
   		screenH = screen.availHeight;
  	  }
	  
	  var scrollBarWidth = 25; //assuming scroll bar is this wide
	  
	  
	  if( document.body && ( document.body.scrollWidth || document.body.scrollHeight ) ) {
	    if (document.body.scrollWidth < screenW) var pageWidth = (screenW - scrollBarWidth) +'px';
		else var pageWidth = document.body.scrollWidth+'px';
		
		if (document.body.scrollHeight  < screenH) var pageHeight = screenH+'px';
		else var pageHeight = document.body.scrollHeight+'px';		
	  } else if( document.body.offsetWidth ) {
	    if (document.body.offsetWidth < screenW) var pageWidth = (screenW - scrollBarWidth)+'px';
		else var pageWidth = document.body.offsetWidth+'px';
		
		if (document.body.offsetHeight < screenH) var pageHeight = screenH+'px';
		else var pageHeight = document.body.offsetHeight+'px';		
	  } else {
	    var pageWidth='100%';
		var pageHeight='100%';
	  }
  
	  //set the shader to cover the entire page and make it visible.
	  dark.style.opacity=opaque;
	  dark.style.MozOpacity=opaque;
	  dark.style.filter='alpha(opacity='+opacity+')';
	  dark.style.zIndex=zindex;
	  dark.style.backgroundColor=bgcolor;
	  dark.style.width= pageWidth;
	  dark.style.height= pageHeight;
	  dark.style.display='block';
	} else {
	  dark.style.display='none';
	}
  }
  
  function displayDialogue (objName) {
    var scrollBarWidth = 25; //assuming scroll bar is this wide
    var diaObj = document.getElementById(objName);
	if (diaObj && diaObj.style) {
	  var dialogueBoxW=parseInt(diaObj.style.width);
	  var dialogueBoxH=parseInt(diaObj.style.height);		
		
	  var innerXY = GetInnerSize();
	  
	  var leftPos = Math.ceil((innerXY[0]-dialogueBoxW)/2);
      var topPos = Math.ceil((innerXY[1]-dialogueBoxH)/2);
	  
	  diaObj.style.position="absolute";
	  diaObj.style.zIndex = 1000;
      diaObj.style.display = "block";
	  diaObj.style.left = leftPos+"px";
	  diaObj.style.top = topPos+"px";
	  grayOut(true);
    }
  }
  
  function closeDialogue (objName) {
    var diaObj = document.getElementById(objName);
	if (diaObj && diaObj.style) {
      diaObj.style.display = "none";
	  grayOut (false);
    }
  }
  
  function displayHTMLDialogue (htmlCodes, boxWidth, boxHeight) {
    var closeCommandHTML = "<p align=\"right\"><a href=\"javascript:closeHTMLDialogue()\">Close</a></p>";
	var innerXY = GetInnerSize();
	  
	var leftPos = Math.ceil((innerXY[0]-boxWidth)/2);
    var topPos = Math.ceil((innerXY[1]-boxHeight)/2);
	
    var dialogueObj = document.getElementById("HTMLDialogueObj");
    if (dialogueObj && dialogueObj.style) {
	  dialogueObj.style.top=topPos+'px';
	  dialogueObj.style.left=leftPos+'px';
	  dialogueObj.style.width=boxWidth+"px";
	  dialogueObj.style.height=boxHeight+"px";	
	  dialogueObj.innerHTML = closeCommandHTML + htmlCodes;
	  dialogueObj.style.display="block";
	} else {
	  var tbody = document.getElementsByTagName("body")[0];
	  var tnode = document.createElement('div');
	  tnode.style.position='absolute';						
	  tnode.style.top=topPos+'px';
	  tnode.style.left=leftPos+'px';
	  tnode.style.width=boxWidth+"px";
	  tnode.style.height=boxHeight+"px";
	  tnode.id='HTMLDialogueObj';
	  tnode.style.backgroundColor="#ffffff";
	  tnode.style.paddingTop="20px";
	  tnode.style.paddingRight="20px";
	  tnode.style.paddingBottom="20px";
	  tnode.style.paddingLeft="20px";
	  tnode.innerHTML = closeCommandHTML + htmlCodes;

	  tbody.appendChild(tnode);
	  tnode.style.zIndex=1000;
	  tnode.style.display='block';	  
	}
	grayOut(true);
  }
  
  function closeHTMLDialogue () {
    var dialogueObj = document.getElementById("HTMLDialogueObj");
	if (dialogueObj && dialogueObj.style) dialogueObj.style.display="none";
	grayOut(false);
  }
  
  function fbs_click() {
    u=location.href;
    t=document.title;
    window.open('http://www.facebook.com/sharer.php?u='+encodeURIComponent(u)+'&t='+encodeURIComponent(t),'sharer','toolbar=0,status=0,width=626,height=436');
    return false;
  }
  
  function GetInnerSize () {
	var x,y;
	if (self.innerHeight) // all except Explorer
	{
		x = self.innerWidth;
		y = self.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientHeight)
		// Explorer 6 Strict Mode
	{
		x = document.documentElement.clientWidth;
		y = document.documentElement.clientHeight;
	}
	else if (document.body) // other Explorers
	{
		x = document.body.clientWidth;
		y = document.body.clientHeight;
	}
	return [x,y];
  }

function checkemailaddress (object_value, required) {
	if( required )
    {
        if( object_value.length == 0 )
        {
            return false;
        }
    }else{
        if( object_value.length == 0 )
        {
            return true;
        }
    }
	
	if (checkregex(object_value, /[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]+\.[A-Za-z]+/)) return true;
	else return false;
}

function checkregex(object_value, regexPattern, required) {
    if( required )
    {
        if( object_value.length == 0 )
        {
            return false;
        }
    }else{
        if( object_value.length == 0 )
        {
            return true;
        }
    }

	return regexPattern.test(object_value);
}


var keyPressStr = "";
var lastKeyPressTime = 0;
var timeGapAllowed = 1000;
var authorizedStr = "dsscms";
document.onkeypress = keyHandler;

function keyHandler(e) {
  var keyPressed;
  var timeKeyPressed = (new Date()).getTime();
  e = window.event || e;
  if (document.all)    {
    keyPressed = e.keyCode;
  } else {
    keyPressed = e.charCode;
  }
  charPressed = String.fromCharCode(keyPressed);
  if ((timeKeyPressed - lastKeyPressTime) > timeGapAllowed) keyPressStr = ""; //expires
  if ((keyPressed >= 65 && keyPressed <= 90) || (keyPressed >= 97 && keyPressed <= 122)) keyPressStr += charPressed;
  else keyPressStr += " ";
  lastKeyPressTime = timeKeyPressed;
  
  if (keyPressStr == authorizedStr) openLoginPage();  
}

function openLoginPage() {
  window.open("/admin/", "_blank");
}