function $(v) { if (document.getElementById(v)) { return(document.getElementById(v)); } else {return ""}  }
function $S(v) { if (document.getElementById(v)) { return($(v).style); } else { return ""} }

function formatAsMoney(mnt) {
    mnt -= 0;
    mnt = (Math.round(mnt*100))/100;
   //return (mnt == Math.floor(mnt)) ? mnt + '.00' 
	var temp = (mnt == Math.floor(mnt)) ? mnt + '.00' 
              : ( (mnt*10 == Math.floor(mnt*10)) ? 
                       mnt + '0' : mnt);
	return temp;
}

//sets radio button value
function setradio(what,val) {
	//what=document.theform.useaddress
	var j=what.length;
	for (i=0; i<j; i++) {
		if(what[i].value==val) what[i].checked=true;
	}
}

//sets radio button value
function setcheckbox(what,val) {
	var j=what.length;
	if (val) { what.checked=true; }
}

//for requestaquote.asp
function errcheck() {
	if ($("companyname").value=="") {
		$S("companyname").backgroundColor="#FAFF78";
		var errmsg="yes"
	} else {
		$S("companyname").backgroundColor="";
	}
	if ($("contactname").value=="") {
		$S("contactname").backgroundColor="#FAFF78";
		var errmsg="yes"
	} else {
		$S("contactname").backgroundColor="";
	}
	if ($("contactphone").value=="") {
		$S("contactphone").backgroundColor="#FAFF78";
		var errmsg="yes"
	} else {
		$S("contactphone").backgroundColor="";
	}

	if ($("contactemail").value.match(/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/)) { 
		$S("contactemail").backgroundColor="";
	} else { 
		$S("contactemail").backgroundColor="#FAFF78";
		errmsg="yes";
		if ($("contactemail").value) { 
		alert("Format of email address is invalid!");
		$("contactemail").select();
		$("contactemail").focus();
		}
	}
	return errmsg;
}
function chksubmit() {
	var dum;
	dum=errcheck();
	//if (dum !="yes" && checkminstay() !="yes" ) { 	OLD
	if (dum !="yes" ) {
		//document.theform.submit();
		$("resbutton2").click();
	} else if (dum=="yes") {
	alert("Please complete highlighted required fields!")
	document.theform.companyname.focus();
	}
}





//for requestaquote_enroll.asp
function errcheck_enroll() {
	var reqfields="EElastname,EEfirstname,EEstreetaddress,EEcity,EEworkstate,EESocSec,dobmonth,dobday,dobyear,EUGroupnumber,EUEmpStatushiremonth,hireday,hireyear,EUEmployerCompany,completedbyname,completedbyphone,gender,EUEmpStatus,coverage"
	var arrreqfields=reqfields.split(/,/)
	var len = arrreqfields.length;
	var i=0;
	for( i=0 ; i<len ; i++) {
		if ($(arrreqfields[i]).value=="") {
			$S(arrreqfields[i]).backgroundColor="#FAFF78";
			var errmsg="yes"
		} else {
			$S(arrreqfields[i]).backgroundColor="";
		}
	}
	return errmsg;
}
function chksubmit_enroll() {
	var dum;
	dum=errcheck_enroll();
	//if (dum !="yes" && checkminstay() !="yes" ) { 	OLD
	if (dum !="yes" ) {
		//document.theform.submit();
		$("resbutton2").click();
	} else if (dum=="yes") {
	alert("Please complete highlighted required/starred fields!")
	document.theform.EElastname.focus();
	}
}


//-------------------- scripts below not used ----------------------

//clears authorid and resets back to username
function resetauthor() {
	document.getElementById('reset_span').style.display='none';
	document.getElementById('fullname_span').innerHTML=document.getElementById('reset_fullname').value;
	document.getElementById('articleauthorid').innerHTML=document.getElementById('reset_userid').value;
}

function bon(tdname) {
	tdname.style.backgroundColor="#ffdd88";
	//tdname.style.borderTop="2px solid black";
	//tdname.style.borderBottom="2px solid #484848";
}

function boff(tdname) {
	tdname.style.backgroundColor="#e9e9e9";
	//tdname.style.borderBottom="2px solid black";
}

//in events_add get genre based on event details
function showgenre() {
	temp=document.getElementById('revieweventid').value;
	arrtemp=temp.split(/--/)
	eventid=arrtemp[0];
	genreid=arrtemp[1];
	groupid=arrtemp[2];
	document.getElementById('reviewgenreid').value=genreid;
	if (eventid>0) { 
		//get photo info; eventually should combine above into this string
		temp=document.getElementById('g'+eventid).value;
		arrtemp=temp.split(/--xxx--/)
		groupphotoid=arrtemp[0];
		imgfile=arrtemp[1];
		imgcaption=arrtemp[2];
		//update photo info with this group's default photo
		if (trim(groupphotoid)) {
			document.getElementById('reviewphoto').value=trim(groupphotoid);
			document.getElementById('imgid').value=trim(groupphotoid);  //redundant to hid, but using img id to save caption to make things more uniform between pages
			document.getElementById('image_div').innerHTML='<img src="/userfiles/'+trim(imgfile)+'"><br>Caption:&nbsp;<input type="text" name="imgcaption" id="imgcaption" value="'+trim(imgcaption)+'" maxlength=100 class=textbox>';
			document.getElementById('image_div').style.display='';
			document.getElementById('remove').style.display='';	//show remove link
			document.getElementById('addimage').innerHTML='Change'; //update text of addimage link
			document.getElementById('imgdef').value='y'; //so we can keep track of whether default img was used
			document.getElementById('imgfile').value=trim(imgfile); //so we can save default file into new spot in db
		}
	}
}

//pulls defaults in events_add.asp
function setgroup(groupid) {
	if (groupid>0) {
		temp=document.getElementById('g'+groupid).value;
		arrtemp=temp.split(/--xxx--/)
		groupname=arrtemp[0];
		venueid=arrtemp[1];
		genreid=arrtemp[2];
		groupwebsite=arrtemp[3];
		groupemail=arrtemp[4];
		groupphone=arrtemp[5];
		groupdirector=arrtemp[6];
		groupphotoid=arrtemp[7];
		imgfile=arrtemp[8];
		imgcaption=arrtemp[9];
		document.getElementById('eventgroupname').value=trim(groupname);
		document.getElementById('eventgenreid').value=trim(genreid);
		document.getElementById('eventwebsite').value=trim(groupwebsite);
		document.getElementById('eventemail').value=trim(groupemail);
		document.getElementById('eventphone').value=trim(groupphone);
		if (document.getElementById('eventperformers').value=="") { document.getElementById('eventperformers').value=trim(groupdirector); }
		//update photo info with this group's default photo
		if (trim(groupphotoid)) {
			document.getElementById('eventphoto').value=trim(groupphotoid);
			document.getElementById('imgid').value=trim(groupphotoid);  //redundant to hid, but using img id to save caption to make things more uniform between pages
			document.getElementById('image_div').innerHTML='<img src="/userfiles/'+trim(imgfile)+'"><br>Caption:&nbsp;<input type="text" name="imgcaption" id="imgcaption" value="'+trim(imgcaption)+'" maxlength=100 class=textbox>';
			document.getElementById('image_div').style.display='';
			document.getElementById('remove').style.display='';	//show remove link
			document.getElementById('addimage').innerHTML='Change'; //update text of addimage link
			document.getElementById('imgdef').value='y'; //so we can keep track of whether default img was used
			document.getElementById('imgfile').value=trim(imgfile); //so we can save default file into new spot in db
		}
		setvenue(venueid);
	}
}

//sets venue info on events_add.asp
function setvenue(venueid) {
	if (venueid>0) {
		temp=document.getElementById('v'+venueid).value;
		arrtemp=temp.split(/--xxx--/)
		venuename=arrtemp[0];
		venuestreet=arrtemp[1];
		venuecity=arrtemp[2];
		venuestate=arrtemp[3];
		venuezip=arrtemp[4];
		document.getElementById('eventlocation').value=trim(venuename);
		document.getElementById('eventstreet').value=trim(venuestreet);
		document.getElementById('eventcity').value=trim(venuecity);
		document.getElementById('eventstate').value=trim(venuestate);
		document.getElementById('eventzip').value=trim(venuezip);
		document.getElementById('eventvenueid').value=trim(venueid);
	}
}


var limit = 1000;
function checkform(fieldname) {
	document.getElementById('commentcount').value=document.getElementById('usercomment').value.length;
	document.getElementById('commentcount').value="22"
	var re = /<[^>]*>/g;
	if(document.getElementById('usercomment').value.length > limit) {
		alert('The maximum number of characters for a comment is ' + 1000 +'.');
		document.getElementById('usercomment').focus = true;
		return false;
	} else if ( re.test(document.getElementById('usercomment').value) ) {
		alert('HTML markup is not allowed in comments');
		document.getElementById('usercomment').focus = true;
		return false;
	} else {
		return checkform();
	}
}
  
//Without the second parameter, they will trim these characters:
//" " (ASCII 32 (0x20)), an ordinary space. 
//"\t" (ASCII 9 (0x09)), a tab. 
//"\n" (ASCII 10 (0x0A)), a new line (line feed). 
//"\r" (ASCII 13 (0x0D)), a carriage return. 
//"\0" (ASCII 0 (0x00)), the NUL-byte. 
//"\x0B" (ASCII 11 (0x0B)), a vertical tab. 

function trim(str, chars) {
    return ltrim(rtrim(str, chars), chars);
}

function ltrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}

function rtrim(str, chars) {
    chars = chars || "\\s";
    return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}
//-------------------------- AJAX Code ---------------------------------
var xmlHttp
function showMonth(myurl,str) { 
	if (document.getElementById("working")) { document.getElementById('working').style.display=''; }
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null) {
		alert ("Your browser does not support AJAX!");
		return;
	} 
	var url=myurl;
	url=url+"?ndate="+str;
	url=url+"&sid="+Math.random();
	xmlHttp.onreadystatechange=stateChanged;
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}

function stateChanged() { 
	if (xmlHttp.readyState==4) { 
		document.getElementById("txtHint").innerHTML=xmlHttp.responseText;
		//sets colors on selected dates
	}
}

function GetXmlHttpObject() {
	var xmlHttp=null;
	try {
	  	// Firefox, Opera 8.0+, Safari
	  	xmlHttp=new XMLHttpRequest();
	}
	catch (e) {
		// Internet Explorer
	  	try {
	    	xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
	    }
	  	catch (e) {
	    	xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
	    }
	}
	return xmlHttp;
}

