var popup1 = null;

function openWin1(page,PWidth,PHeight,flags) 
{ 
 	if (popup1)
	{
		if (!popup1.closed)
		{
			popup1.close();
		}
	}
	popup1 = null; 

	var PTop = (screen.height/2)-(PHeight/2);
 	var PLeft = (screen.width/2)-(PWidth/2);
 	
	if (flags != null)
	{
		if (flags.substring(0,1) != ",")
		{
			flags = "," + flags;
		}
	}
	
	popup1 = window.open(page, "ATTPOP", "TOP=" + PTop + ",LEFT=" + PLeft + ",HEIGHT=" + PHeight + ",WIDTH=" + PWidth + ",resizable=no,status=no,scrollbars=yes,toolbar=no");
	popup1.focus();
 }
 function goSearch()
 {
	 document.getElementById('gs').submit();
	 
 }
 function showProductsTab()
 {
	document.getElementById('mytab1').tabber.tabShow(2); 
	logIt(3);
}
 function showLandlineTab()
 {
	document.getElementById('mytab1').tabber.tabShow(2); 
	logIt(3);
}
 function showWirelessTab()
 {
	document.getElementById('mytab1').tabber.tabShow(3); 
	logIt(43);
}
 function showMessagingTab()
 {
	document.getElementById('mytab1').tabber.tabShow(4); 
	logIt('51');
}
 function showProblemsTab()
 {
	document.getElementById('mytab1').tabber.tabShow(1); 
	logIt(2);
}

 function showCallTypeTab(strObj)
 {
	var dt = document.getElementById(strObj + 'a');
	document.getElementById('mytab1').tabber.tabShow(1);
	dt.getElementsByTagName('a')[0].className = 'active';
	dt.status = true;
	document.getElementById(strObj + 'b').style.display = 'block';
	logIt(3 + parseInt(strObj.substring(2,strObj.length)));
}

function needCaseNumber()
{
	document.getElementById("errNotice").innerHTML = '<p><img src="images/icon_warning.gif" width="23" height="21" />If this is the first time you are reporting dates and times of annoyance calls online, you will need to have a police case number to complete the online report.</p>';
}

function errClear()
{
	if (document.getElementById("errNotice").innerHTML != '')
		document.getElementById("errNotice").innerHTML = '';	
}

function redirectCallType(obj)
{
	var callType = ""
	var callSelect = obj.selectedIndex;
	if ((callSelect != 2)  && (callSelect != 5)  && (callSelect != 6) && (callSelect != 0) )
	{
		document.getElementById("errNotice").innerHTML = '<p>Please wait, redirecting to requested information...</p>';
		window.location = 'index.asp?id=ct' + callSelect;
	}
	return	
}

function entryCheck1()
{
	var errMsg = '';
	var fm = document.getElementById("onlineReport1");
	if (fm.haveNumber[1].checked)
		needCaseNumber();
	else
	{
		if (fm.calltype.selectedIndex < 1)
			errMsg = "<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Type of Annoyance Call</li>";
		if ((!fm.firstTime[0].checked) && (!fm.firstTime[1].checked))
			errMsg = errMsg + "<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Is this the first time you are reporting dates and time of annoyance calls?</li>";
		if ((!fm.haveNumber[0].checked) && (!fm.haveNumber[1].checked))
			errMsg = errMsg + "<li>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Do you have a police case number for an active annoyance case call?</li>";
		if (errMsg != "")
			document.getElementById("errNotice").innerHTML = '<p><img src="images/icon_warning.gif" width="23" height="21" />There was an error in the following field(s). Please check your information and resubmit.<ul>' + errMsg + '</ul></p>';
		else
			fm.submit();
	}
}

function entryCheck2()
{
	var errMsg = '';
	var fm = document.getElementById("onlineReport2");
	errMsg = addError("Phone number receiving unwanted calls is required",errMsg,(chkNumber(fm.unwantedNPA1.value,3) * chkNumber(fm.unwantedNXX1.value,3) * chkNumber(fm.unwantedLine1.value,4) == 0));
	errMsg = addError("Phone number receiving unwanted calls does not match re-entered phone number",errMsg,((fm.unwantedNPA2.value != fm.unwantedNPA1.value) || (fm.unwantedNXX2.value != fm.unwantedNXX1.value) || (fm.unwantedLine1.value != fm.unwantedLine1.value)));
	errMsg = addError("Police case / offense number is required",errMsg,isEmpty(fm.caseNumber));
	if (document.getElementById("agencyName") != null)
	{
		errMsg = addError("Law enforcement agency's name is required",errMsg,isEmpty(fm.agencyName));
		errMsg = addError("Officer's name is required",errMsg,isEmpty(fm.officerName));
		errMsg = addError("Law enforcement agency's FAX is required",errMsg,(chkNumber(fm.agencyFAXNPA.value,3) * chkNumber(fm.agencyFAXNXX.value,3) * chkNumber(fm.agencyFAXLine.value,4) == 0));
		errMsg = addError("Law enforcement agency's phone number is required",errMsg,(chkNumber(fm.agencyPhoneNPA.value,3) * chkNumber(fm.agencyPhoneNXX.value,3) * chkNumber(fm.agencyPhoneLine.value,4) == 0));
	}

	errMsg = addError("Your name is required",errMsg,isEmpty(fm.customerName));
	errMsg = addError("Your e-mail address is required",errMsg,!isEmail(fm.customerEmail.value));
	errMsg = addError("Re-entered e-mail address does not match your e-mail address",errMsg,(fm.customerEmail.value != fm.customerEmail2.value));
	errMsg = addError("Your daytime phone is required",errMsg,(chkNumber(fm.customerPhoneNPA.value,3) * chkNumber(fm.customerPhoneNXX.value,3) * chkNumber(fm.customerPhoneLine.value,4) == 0));
	errMsg = addError("Please add or correct annoyance call receive date/time entry 1", errMsg, checkCall(1));
	for (i=2; i < 10; i++)
		if (!isEmpty(document.getElementById("callMM" + i)))
			errMsg = addError("Please correct or remove annoyance call receive date/time entry " + i, errMsg, checkCall(i));
	if (errMsg != "")
	{
		document.getElementById("errNotice").innerHTML = '<p><img src="images/icon_warning.gif" width="23" height="21" />There was an error in the following field(s). Please check your information and resubmit.<ul>' + errMsg + '</ul></p>';
	window.scroll(0,1);
	}
	else
		fm.submit();

}

	function checkCall(numId)
	{
		var mm = document.getElementById("callMM" + numId).value;
		var dd = document.getElementById("callDD" + numId).value;
		var yy = document.getElementById("callYY" + numId).value;
		var hr = document.getElementById("callHR" + numId).value;
		var mn = document.getElementById("callMN" + numId).value;
		var tod = document.getElementById("callPeriod" + numId).selectedIndex;
		if (tod < 1)
			return true;
		if (chkNumber(mm,2) * chkNumber(dd,2) * chkNumber(yy,4)  * chkNumber(hr,2) * chkNumber(mn,2) == 0)
			return true;
		if (!(isDate(yy,mm,dd)))
			return true;
		return false;
	}
	
	function removeDate(numId)
	{
		document.getElementById("callMM" + numId).value = '';
		document.getElementById("callDD" + numId).value = '';
		document.getElementById("callYY" + numId).value = '';
		document.getElementById("callHR" + numId).value = '';
		document.getElementById("callMN" + numId).value = '';
		document.getElementById("callPeriod" + numId).selectedIndex = 0;
	}
	
	function copyDate(numId)
	{
		var prev = numId - 1;
		document.getElementById("callMM" + numId).value = document.getElementById("callMM" + prev).value;
		document.getElementById("callDD" + numId).value = document.getElementById("callDD" + prev).value;
		document.getElementById("callYY" + numId).value = document.getElementById("callYY" + prev).value;
	}

	function addError(strToAdd,errMsg,errStatus)
	{
		var blanks = '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;';
		if (errStatus)
			return errMsg + '<li>' + blanks + strToAdd + '</li>';
		else
			return errMsg;
	}



// utility functions for client side validation
function padWithZeros(value,decimalPlaces) {
	valueStr = (Math.round((value + 0.0005) * 100) /100).toString();
	var decimalPos = valueStr.indexOf(".");
	if (decimalPos == -1) {
		decimalPartLen = 0;
		valueStr += (decimalPlaces > 0 ? "." : "");
	} else {
		decimalPartLen = valueStr.length - decimalPos - 1;
	}
	var padTotal = decimalPlaces - decimalPartLen;
	if (padTotal > 0) {
		for (k=0;k<padTotal;k++) {
			valueStr += "0";
		}
	}
	return valueStr;
}


function isEmpty(strObj){
	var str = strObj.value
	if (str == null){
		return false;
	}
	for (var intLoop = 0; intLoop < str.length; intLoop++){
		if (" " != str.charAt(intLoop)){
			return false;		    
		}
	}
	return true;
}

function chkNumber(chkNumber,chkLength)
{
	var chkStatus = 1;

	if (chkNumber.length == chkLength)
	{
		for (var i=0; i < chkNumber.length; i++)
		{
			oneChar = chkNumber.charAt(i);
			if ((oneChar < "0") || (oneChar > "9"))	
				chkStatus = 0;
		}
		return chkStatus;
	}
	else
		return 0;
}

function autoTab(control1, control2, maxSize) {
   if (control1.value.length == maxSize)
      control2.focus();
}
function toUnicode(elmnt,content,destination)
{
	if (content.length==elmnt.maxLength)
		{
			document.forms[0].elements[destination].focus();
		}
	
}
function isEmail(str) {
  // are regular expressions supported?
  var supported = 0;
  if (window.RegExp) {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }
  if (!supported) 
    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
  return (!r1.test(str) && r2.test(str));
}

//check date
 function isDate (year, month, day) 
{
    var currentDate = new Date();
	if (chkNumber1(year,2) == 0)
		return false;
	if (chkNumber1(month,1) == 0)
		return false;
	if (chkNumber1(day,1) == 0)
		return false;
	month = month - 1;  
	var tempDate = new Date(year,month,day);
	if ((y2k(tempDate.getYear()) == year) && (month == tempDate.getMonth()) && (day == tempDate.getDate()))
	{
	    if (tempDate > currentDate)
	        return false;
	    else
            return true;
    }
  else
     return false;
  }
   
function y2k(number) 
{ 
	return (number < 1000) ? number + 1900 : number; 
}
function chkNumber1(chkNumber,chkLength)
{
	var chkStatus = 1;

	if (chkNumber.length >= chkLength)
	{
		for (var i=0; i < chkNumber.length; i++)
		{
			oneChar = chkNumber.charAt(i);
			if ((oneChar < "0") || (oneChar > "9"))	
				chkStatus = 0;
		}
		return chkStatus;
	}
	else
		return 0;
}

function checkCallTrace()
{
	var npa = new Array("231","248","269","313","517","586","616","734","810","906","947","989","219","260","317","574","765","812","262","414","608","715","920");

	for (i=0; i < npa.length; i++)
		if (npa[i] == document.getElementById("unwantedNPA1").value)
		{
			document.getElementById("errNotice").innerHTML = '<p><img src="images/icon_warning.gif" width="23" height="21" />Call Trace is not available in your area. An AT&T representative will contact you.';
			return;
		}
	if (document.getElementById("errNotice").innerHTML != '')
		document.getElementById("errNotice").innerHTML = '';	

	return;

}


