function checker(strMode)
{
	return confirm("Are you sure you want to " + strMode + " this item?");
}

function openCenteredWindow(url, height, width, name, parms) {
   var left = Math.floor( (screen.width - width) / 2);
   var top = Math.floor( (screen.height - height) / 2);
   var winParms = "top=" + top + ",left=" + left + ",height=" + height + ",width=" + width;
   if (parms) 
   { 
     winParms += "," + parms; 
   }
   var win = window.open(url, name, winParms);
   if (parseInt(navigator.appVersion) >= 4) 
   { 
     win.window.focus(); 
   }
   return win;
}

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_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 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_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_nbGroup(event, grpName) { //v3.0
  var i,img,nbArr,args=MM_nbGroup.arguments;
  if (event == "init" && args.length > 2) {
    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
      nbArr[nbArr.length] = img;
      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
        if (!img.MM_up) img.MM_up = img.src;
        img.src = img.MM_dn = args[i+1];
        nbArr[nbArr.length] = img;
    } }
  } else if (event == "over") {
    document.MM_nbOver = nbArr = new Array();
    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : args[i+1];
      nbArr[nbArr.length] = img;
    }
  } else if (event == "out" ) {
    for (i=0; i < document.MM_nbOver.length; i++) {
      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
  } else if (event == "down") {
    if ((nbArr = document[grpName]) != null)
      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
    document[grpName] = nbArr = new Array();
    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = img.MM_dn = args[i+1];
      nbArr[nbArr.length] = img;
  } }
}
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
function isEmail(emailToCheck)
{
	if (emailToCheck.length > 8)
	{
		if (emailToCheck.indexOf("@") > 0 && emailToCheck.indexOf(".") > 0)
			return true;
		else
			return false;
	}
	else
		return false;
}

function isNumberInt(inputString)
{
  return (!isNaN(parseInt(inputString))) ? true : false;
}

function isNumberFloat(inputString)
{
  return (!isNaN(parseFloat(inputString))) ? true : false;
}

function printWindow() {
	bV = parseInt(navigator.appVersion);
	if (bV >= 4) window.print();
}

//this is a function that checks the form for submitting. It ASSUMES the 
//form to check is called form1 it checks all the fields in the fieldsToCheck 
//variable and all fields with the word "email" in it
//if checkPassword = true then the checker will verify the passwords match
function checkForm(fieldsToCheck) 
{
	var errorCount = 0;
	var emailErrorCount = 0;
	var errorMessage = "The form could not be submitted because of the following error(s): \n\n";
	var i;
	var invalidField;
	
	for (i = 0; i < document.form1.elements.length; i++)
	{
		if (document.form1.elements[i].type != "hidden" && fieldsToCheck.indexOf(document.form1.elements[i].name) > -1 && (document.form1.elements[i].value == "" || document.form1.elements[i].value == "invalid")) 
		{
			errorCount++;
			invalidField = document.form1.elements[i];
		}
		if (document.form1.elements[i].name.toUpperCase().indexOf("SENDMEMAIL") <= -1 && document.form1.elements[i].name.toUpperCase().indexOf("EMAIL") > -1 && fieldsToCheck.indexOf(document.form1.elements[i].name) > -1 && !isEmail(document.form1.elements[i].value))
		{
			emailErrorCount++;
			invalidField = document.form1.elements[i];
		}
		//is B'day required?
		if(document.form1.elements[i].name.toUpperCase().indexOf("BIRTHDAY") > -1 && fieldsToCheck.indexOf(document.form1.elements[i].name) > -1 && !isDate(document.form1.elements[i].value))
		{
			document.form1.elements[i].focus();
			return false;
		}
		//even if B'day not required, make sure the data is valid if entered
		if(document.form1.elements[i].name.toUpperCase().indexOf("BIRTHDAY") > -1 && document.form1.elements[i].value.length > 0 && !isDate(document.form1.elements[i].value))
		{
			document.form1.elements[i].focus();
			return false;
		}		
	}
	if (errorCount > 1)
		errorMessage += "* There were " + errorCount + " fields left empty.\n";
	else if (errorCount == 1)
		errorMessage += "* There was " + errorCount + " field left empty.\n";
	if (emailErrorCount > 1)
		errorMessage += "* All email addresses must be valid. There were " + emailErrorCount + " email fields invalid.\n";	
	else if (emailErrorCount == 1)		
		errorMessage += "* All email addresses must be valid. There was " + emailErrorCount + " email field invalid.\n";		
	if (errorCount > 0 || emailErrorCount > 0)
	{
		alert(errorMessage + "\nPlease click OK to try again.");
		invalidField.focus();
		return false;
	}
	else
		return true;
}

//if the user chooses to start over, prompt then go back to the start
function startOver()
{
	if(confirm("Starting over will reset all the information you have entered in thus far. \nAre you sure you want to start over? (click OK to continue)"))
	{
		window.location = "login.asp";
	}
}

function focusWindow()
{
	window.focus();
}

function submitForm()
{
	document.form1.submit();
}

function enterPressed(event)
{
	var code = 0;
	if (document.layers)
		code = event.which;
	else
		code = event.keyCode;
	if (code==13)
		submitForm();
}
function loginSubmit()
{
	if (checkForm("userid,password"))
	{
		submitForm();
	}
}
//checks that at least one check box is checked
function checkArray(checkThis)
{
	var counter, i;
	counter = 0;
	for (i=0;i<checkThis.length;i++)
	{
		if (checkThis[i].checked)
			counter++;
	}
	return counter > 0;
}

function checkNewReleases(checkThis)
{
	if (checkArray(checkThis))
		return true;
	else
	{
		alert("You must select at least 1 new release to include.");
		return false;
	}
}

//CUSTOM is value 3 as defined in constants.asp as CUSTSPECIAL
function checkSpecials()
{
	var errorCount, errorMessage, checkedCount, lastError, i;
	errorCount = 0;
	checkedCount = 0;
	for (i=0;i<document.form1.includespecial.length;i++)
	{
		if (document.form1.includespecial[i].checked)
		{
			checkedCount++;
			if(document.form1.defaultspecial[i].value==3)
			{
				if (document.form1.customspecial[i].value.length <= 0)
				{
					lastError = document.form1.customspecial[i];
					errorCount++;
				}
				else if(document.form1.customspecial[i].value.indexOf(",") > 0)
				{
					lastError = document.form1.customspecial[i];
					errorCount++;
				}
			}
			else
			{
				if(document.form1.defaultspecial[i].value=="invalid")
				{
					lastError = document.form1.defaultspecial[i];
					errorCount++;
				}
			}
		}
		else
		{
			if(document.form1.defaultspecial[i].value!="invalid")
			{
				lastError = document.form1.defaultspecial[i];
				errorCount++;
			}
		}
	}
	if (checkedCount <= 0)
	{
		errorCount = 1;
		errorMessage = "You must select at least 1 special";
	}
	else
		errorMessage = "The form could not be submitted. Please note the following:\n\n*If you have ticked \"include special\" you must select a special\n*To include a custom special choose \"(Other)\" and enter it in\n*If you choose \"(Other)\" you must enter a custom special\n*To add a special, click the tickbox \"include special\"\n*You may not enter any commas (\",\") in custom specials";
	if (errorCount > 0)
	{
		alert(errorMessage);
		if (lastError != null)
			lastError.focus();
		return false;
	}
	else
	{
		alert(checkedCount + " special(s) successfully selected. \n\nPlease click OK to continue.");
		return true;
	}
}

function checkPromoItem()
{
	if (checkArray(document.form1.promoitem))
		return true;
	else
	{
		alert("Please click the dot next to the desired promotional item.");
		return false;
	}
}

