
/*
	Copyright © 2005 The East Coast Regional Internet Alliance (ECRIA LLC). All Rights Reserved.
	This code and associated artifacts may not be run, copied, inspected or otherwise used or 
	distributed without the explicit written consent of The East Coast Regional Internet Alliance.
	This code and program is protected by United States and International Copyright Law.
*/

function fade (newsrc)
{
	if (document.all)
	{
		document.images.thisimage.style.filter="blendTrans(delay=1)";
		document.images.thisimage.filters.blendTrans.Apply();
	}
	document.images.thisimage.src = newsrc;
	if (document.all)
	{
		document.images.thisimage.filters.blendTrans.Play();
	}
	return true;
}
function isdefined( variable) 
{ 
	return (typeof(variable) == "undefined")? false: true; 
} 

function rss()
{
	if (document.all)
	{
		document.images.SS.style.filter="blendTrans(duration=cfd)";
		document.images.SS.filters.blendTrans.Apply();
	}
	document.images.SS.src = preLoad[j].src;
	if (document.all)
	{
		document.images.SS.filters.blendTrans.Play();
	}
	j++;
	if(j>(p-1))	j=0;
	t = setTimeout('rss()', sss);
}
function validatemail(formObj) 
{  
	var fromaddr = formObj.from.value;
	//if (emptyField((formObj.name))||formObj.name.length<4) alert('Please enter your name');
	if (emptyField(formObj.from)) alert("Please enter your email address.");
	else if ((formObj.from.value.search("@")==-1)||(formObj.from.value.search("[.*]") == -1)) alert("Please enter a valid email address");
	else if (emptyField(formObj.message)) alert("Please enter an email message in the text area.");
	else return true;
	return false;
	//else if (!check_usphone(formObj.phone.value)) alert("Please enter a valid U.S. Phone number");
	//else if (emptyField(formObj.subject)) alert("Please enter a subject.");
}
function makemainframe()
{
	if (parent.frames.length > 0) parent.location.href = self.document.location;
}
function isleapyear(year)
{  	// returns true if 'year' is a leap year (multiple of 4):
	if(year/4-Math.floor(year/4)>0)return false;
	else return true;
}
function checkNumber(_value)
{   // checks that _value is numerical:
    var anum=/(^\d+$)|(^\d+\.\d+$)/
    if (anum.test(_value))return true;
    else return false;
}
function changebgcolor(_obj,_color)
{
	_obj.bgColor=_color;
	return true;
}
function emptyField(textObj)
{
	if ((!textObj)||textObj.value.length == 0) return true;
	for (var i=0; i<textObj.value.length; ++i) 
	{
		var ch = textObj.value.charAt(i);
		if (ch != ' ' && ch != '\t') return false;
	}
	return true;
}
function validatepostauction_step1(formObj) 
{   // check fields: title, description,
		// check title for appropriate length/characters:
    if (emptyField(formObj.title))                 alert("Please enter a title for the auction.");
	else if (formObj.title.value.length<5)         alert("Please enter a more descriptive title for the auction.");
		// check description length/values:
	else if (emptyField(formObj.description))            alert("Please enter a description of the item you are trying to sell.");
	else if (formObj.description.value.length<30)        alert("Please enter a better description of the item - your description is too short.");
	else return true;
	return false;
}
function validatepostauction_step2(formObj) 
{   // check fields: title, description,
        // check target price (if selected) is > 0):
	if((!formObj.notarget.checked)&&(!checkNumber(formObj.target.value)))alert("Please enter a numerical value for yout target price.");
		// check delivery option (that one is selected and that areas are entered if appropriate):
	else if((!formObj.deliver[0].checked)&&(!formObj.deliver[1].checked)&&(!formObj.deliver[2].checked))alert("Please select a delivery or pick-up option.");
	else if((!formObj.deliver[1].checked)&&emptyField(formObj.deliveryareas))alert("Please enter your delivery/drop-off area.");
	else if((!formObj.deliver[1].checked)&&(formObj.deliveryareas.value.length<7))alert("Please enter a more descriptive delivery/drop-off area.");
	else return true;
	return false;
}
function validatepostauction_step3(formObj) 
{   // check fields: title, description,
	var username = formObj.email;
	var password = formObj.password;
    var agree    = formObj.readterms.checked;
    if(emptyField(username))alert('Please enter your username (email address)');
	else if((username.value.length<7)||(username.value.search("@")==-1)||(username.value.search("[.*]")==-1)) alert("Please check your username - it appears to be invalid");
	else if((password.value.length<7)||(emptyField(password)))alert('Please enter your password to continue');
	else if(!agree)alert('You must read and agree to the terms of use in order to post your item. If you do not agree, you may not use this site.');
	else return true;
	return false;
}
function CLEAR_TEXT(textObj)
{
	if (textObj.value)textObj.value='';
}
function checkimage(filename)
{   // checks 'filename' to verify that it contains valid extensions (currently .jpeg, .jpg only)
	if((filename.search('.jpeg')==-1)&&(filename.search('.jpg')==-1)) 
	return confirm('The image you selected may not be valid - only JPEG images can be used. Continue?');
	return true;
}
function create_window(url,wdth,hght,name,scrlbr,centerXoffset,centerYoffset) 
{   // can be improved to center vertically:
	if (document.all)
	{
		var xMax = screen.width, yMax = screen.height;
	}
	else
	{
		if (document.layers) var xMax = window.outerWidth, yMax = window.outerHeight;    // else var xMax = 640, yMax=480;
	}
	var centerXset = centerXoffset;
	var centerYset = centerYoffset;
	var xOffset    = ((xMax - wdth)/2)-centerXset;
	var yOffset    = ((yMax - hght)/2)-centerYset;
	var features   = 'width=' + wdth + ',height=' + hght + ',directories=' + 0 + ',location=' + 0 + ',menubar=' + 0 +
                     ',scrollbars=' + scrlbr + ',status=' + 0 + ',toolbar=' + 0 + ',resizable=' + 1 + ',titlebar=' + name +
                     ',screenX=' + xOffset + ',screenY=' + yOffset + ',top=' + yOffset + ',left=' + xOffset;
	var aWindow = window.open (url, name, features);
}
function opendisplaywindow(url,auctionid,wdth,hght,name,scrlbr,centerXoffset,centerYoffset) 
{   // can be improved to center vertically:
	if (document.all)
	{
		var xMax = screen.width, yMax = screen.height;
	}
	else
	{
		if (document.layers) var xMax = window.outerWidth, yMax = window.outerHeight;    // else var xMax = 640, yMax=480;
	}
	var centerXset = centerXoffset;
	var centerYset = centerYoffset;
	var xOffset    = ((xMax - wdth)/2)-centerXset;
	var yOffset    = ((yMax - hght)/2)-centerYset;
	var features   = 'width=' + wdth + ',height=' + hght + ',directories=' + 0 + ',location=' + 0 + ',menubar=' + 0 +
                     ',scrollbars=' + scrlbr + ',status=' + 1 + ',toolbar=' + 0 + ',resizable=' + 1 + ',titlebar=' + 0 +
                     ',screenX=' + xOffset + ',screenY=' + yOffset + ',top=' + yOffset + ',left=' + xOffset;
	url = url + '&auctionid=' + auctionid;
	var aWindow = window.open (url, name, features);
}


// displayed clock functions:
function showclockcounter()
{
	if (!document.layers&&!document.all&&!document.getElementById) return;
	var months  = new makeArray('January','February','March','April','May','June','July','August','September','October','November','December');
	var wdays    = new makeArray('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');
	var Digital = new Date();
	var hours   = Digital.getHours();
	var minutes = Digital.getMinutes();
	var seconds = Digital.getSeconds();
	var day     = Digital.getDay()+1;
	var mday    = Digital.getDate();
	var month   = Digital.getMonth();
	var year    = Digital.getYear();
	var ampm    = "pm";
	if (hours<12) ampm  = "am";
	if (hours>12) hours = hours-12;
	if (hours==0) hours = 12;
	if (minutes<=9) minutes = "0" + minutes;
	if (seconds<=9) seconds = "0" + seconds;
	myclock = "<div class=clock>Currently: &nbsp<b>"+hours+":"+minutes+":"
		      +seconds+" "+ampm+"</b> on "+wdays[day]+" "+months[month]+" "+mday+", "+year+"</div>";
//	myclock = "<div class=clock>Currently: &nbsp<b>"+hours+":"+minutes+":"
//		      +seconds+" "+ampm+" "+day+" "+months[month]+"</b></div>";
	if (document.layers)
	{
		document.layers.liveclock.document.write(myclock);
		document.layers.liveclock.document.close();
	}
	else if (document.all) liveclock.innerHTML = myclock;
	else if (document.getElementById) document.getElementById("liveclock").innerHTML = myclock;
	setTimeout("showclockcounter()",1000);
}
function makeArray() 
{
	//alert(makeArray.arguments.length);
	for (i=0; i<makeArray.arguments.length; i++) this[i+1] = makeArray.arguments[i];
}

function validateupdateaccount(formObj) 
{  	// supposed to be the value of the selected month: alert(formObj.dobmonth.selectedIndex);
	if(formObj.status.value=="none")         alert("Please indicate your status (undergraduate, graduate, faculty, etc.)");
	else if((formObj.password.value).length < 7)  alert("Your password must be at least 7 characters long.");
	else if((formObj.password.value).length > 20) alert("Your password must be at most 20 characters long.");
	else if((formObj.password.value)!=(formObj.password2.value)) alert("Your password does not match the confirmation you entered.");
	else if ((formObj.atype[0])&&(emptyField(formObj.address))) alert("Please enter your correct address.");
	else if ((formObj.atype[0])&&(emptyField(formObj.city)))    alert("Please enter your correct city.");
	else if ((formObj.atype[0])&&((formObj.zipcode.value.length<5) || ((formObj.zipcode.value.length==5)&&(!checkNumber(formObj.zipcode.value))) || ((formObj.zipcode.value.length>5)&&( (formObj.zipcode.value.length!=10) || (!checkNumber(formObj.zipcode.value.substring(0,5))) || (!checkNumber(formObj.zipcode.value.substring(6))) || (!((formObj.zipcode.value.charAt(5)=='-')||(formObj.zipcode.value.charAt(5)==' '))))))) alert("Please enter your correct zip code.");
	else if ((formObj.atype[0])&&((emptyField(formObj.phonearea)) || (!checkNumber(formObj.phonearea.value)) || (formObj.phonearea.value.length!=3)))   alert("Please enter your correct area code.");
	else if ((formObj.atype[0])&&((emptyField(formObj.phonefirst))|| (!checkNumber(formObj.phonefirst.value)) || (formObj.phonefirst.value.length!=3))) alert("Please enter your correct phone number.");
	else if ((formObj.atype[0])&&((emptyField(formObj.phonelast)) || (!checkNumber(formObj.phonelast.value)) || (formObj.phonelast.value.length!=4)))   alert("Please enter your correct phone number.");
	else {alert("Thank you. Your information will be submitted now. \n Please be patient while it is processed - repeated \n clicking of the submit button may generate errors.");return true;}
	return false;
}
function check_usphone(phonenumber) 
{ 
//--------------------------------------
// (c) 2003 Peter Kionga-Kamau, 
// http://www.pmkmedia.com 
// no restrictions have been placed on 
// the use of this code
// 
// Overview: this function will validate 
// a US phone number. It may seem 
// trivial, but many people have run 
// into trouble with this problem 
// because of the tendency to use 
// parentheses () and dashes - in the 
// number, making a simple numerical 
// check insufficient. Often, designers 
// must resort to using three separate 
// fields for the number where only one 
// is needed.
// 
// Input: a single string parameter
// Output: boolean true(1) or false(0) 
// 
// The function will return true
// for any alphanumeric string with 
// the following sequence of characters: 
// any number of spaces [optional], a 
// single open parentheses [optional], 3 
// digits (area code), any number of 
// spaces [optional], a single close 
// parentheses [optional], a single dash 
// [optional], any number of spaces 
// [optional], 3 digits, any number of 
// spaces [optional], a single dash 
// [optional], any number of spaces 
// [optional], 4 digits, any number 
// of spaces [optional]. 
// 
//--------------------------------------

if(phonenumber.match(/^[ ]*[(]{0,1}[ ]*[0-9]{3,3}[ ]*[)]{0,1}[-]{0,1}[ ]*[0-9]{3,3}[ ]*[-]{0,1}[ ]*[0-9]{4,4}[ ]*$/)==null) return false; 
return true; 
} 
