var stocklevels = new Array();
var has_inner = typeof(window.innerWidth) == 'number';   
var has_element = document.documentElement   
    && document.documentElement.clientWidth;   
  
// Moves the box object to be centered on current   
// viewable area of the page   
function center_box(box, width, height)   
{   
    cleft = has_inner   
        ? pageXOffset +    
          (window.innerWidth - width)/2   
        : has_element   
          ? document.documentElement.scrollLeft +    
            (document.documentElement.clientWidth - width)/2   
          : document.body.scrollLeft +    
            (document.body.clientWidth - width)/2;   
  
    ctop = has_inner   
        ? pageYOffset + (window.innerHeight - height)/2   
        : has_element   
          ? document.documentElement.scrollTop +    
            (document.documentElement.clientHeight - height)/2   
          : document.body.scrollTop +    
            (document.body.clientHeight - height)/2;   
  
    box.style.left = cleft > 0 ? cleft + 'px' : '0px';   
    box.style.top = ctop > 0 ? ctop + 'px' : '0px';   
}   

function DisplayWait()
{
	var ofillDiv = document.getElementById( "fillDiv" );
	if( ofillDiv )
	{
		//ofillDiv.style.width = has_inner?Window.innerWidth:has_element?document.documentElement.clientWidth:document.body.clientWidth;
		//ofillDiv.style.height = has_inner?Window.innerHeight:has_element?document.documentElement.clientHeight:document.body.clientHeight;
		ofillDiv.style.width = document.body.scrollWidth;
		ofillDiv.style.height = document.body.scrollHeight;
		ofillDiv.style.visibility = "visible";
	}

	var oDiv = document.getElementById( "waitDiv" );
	if( oDiv )
	{
		center_box( oDiv, 150, 150 );
		oDiv.style.visibility = "visible";
	}
}

function getCookieVal (offset) {
  var endstr = document.cookie.indexOf (";", offset);
  if (endstr == -1)
  endstr = document.cookie.length;
  return unescape(document.cookie.substring(offset, endstr));
}

function GetCookie (name) {
  var arg = name + "=";
  var alen = arg.length;
  var clen = document.cookie.length;
  var i = 0;
  while (i < clen) {
    var j = i + alen;
    if (document.cookie.substring(i, j) == arg)
    return getCookieVal (j);
    i = document.cookie.indexOf(" ", i) + 1;
    if (i == 0) break;
  }
  return null;
}

function SetCookie (name, value) {
  var argv = SetCookie.arguments;
  var argc = SetCookie.arguments.length;
  var expires = (argc > 2) ? argv[2] : null;
  var path = (argc > 3) ? argv[3] : null;
  var domain = (argc > 4) ? argv[4] : null;
  var secure = (argc > 5) ? argv[5] : false;
  document.cookie = name + "=" + escape (value) +
   ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
   ((path == null) ? "" : ("; path=" + path)) +
   ((domain == null) ? "" : ("; domain=" + domain)) +
   ((secure == true) ? "; secure" : "");
}

var cookiename = "instaprint_user";

// function to adjust the action of the login form and do the login cookie stuff
function new_user()
{
	document.loginform.action="newuser.go";
	save_user();
	document.loginform.submit();
  //var myform = document.getElementByID("loginform");
  //if( myform )
  //{
  //  myform.action="newuser.go";
  //  save_user();
  //  myform.submit();
 // }
}

// function to set the stored name and check the remember box if the cookie is valie
function get_user()
{
  var username = GetCookie( cookiename );

  if( username )
  {
      var myform = document.getElementById("loginform");
      if( myform )
      {
         myform.email.value = username;
         myform.remember.checked = 1;
      }
  }
}

function save_user()
{
  var expdate = new Date ();

  // if the remember box is checked
  if( document.loginform.remember.checked )
  {
     expdate.setTime ( expdate.getTime() + (31 + 24 * 60 * 60 * 1000) );
     var username = document.loginform.email.value;
     SetCookie ( cookiename, username, expdate );
  }
  else
  {
     expdate.setTime( expdate.getTime() );
     SetCookie( cookiename, "", expdate );
  }
}

function onImgErrorSmall( source )
{
	source.src = "img/no_thumb.png";
	// disable onerror to prevent endless loop
	source.onerror = "";
	return true;
}

function setlevel( i, x )
{
	stocklevels[i] = x;
}

function stylechange()
{
	if( document.orderform.style.selectedIndex < stocklevels.length )
	{
		document.all.instock.innerHTML="In Stock: " + stocklevels[document.orderform.style.selectedIndex];
	}
}

function forceupdate()
{
	alert( "You've made changes to the design.\n\nClick \'Update Design\' before ordering." );
}

function stoporder()
{
	document.orderform.action="javascript:forceupdate();";
}

function validateupdate()
{
	var savename = document.getElementById("savename");
	if( savename.value == "" )
	{
		alert( "Please input a save name.\n\nThis name will identify the design in the product listing." );
		return false;
	}
	else
	{
		DisplayWait();
		return true;
	}
}

function stopRKey( evt )
{
  var evt = (evt) ? evt : ((event) ? event : null);
  var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
  if ((evt.keyCode == 13) && (node.type=="text") || node.type=="radio" || node.type=="select")  {return false;}
}

document.onkeypress = stopRKey;
