
var cp;
function showPanel(pNum) {
	if (cp!=null) { hidePanel(); }
	var panelStyle = findObj('panel'+pNum).style;
	panelStyle.display = 'block';
	cp = pNum;
	setTab(cp,1);
}
function hidePanel() {
	var panelStyle = findObj('panel'+cp).style;
	panelStyle.display = 'none';
	setTab(cp);
}

var currenttip='';
function showthis(what) {
	var thisdiv = findObj(what+'tip');

	if (currenttip!=what) { 
		thisdiv.className = 'showtip';
		if (currenttip!='') { findObj(currenttip+'tip').className = 'hidetip'; }
		currenttip = what;
	}
	else if (currenttip==what){
		thisdiv.className = 'hidetip';
		currenttip = '';
	}
}

var currentdiv='';
function highlight(thisdiv) {
	if (dom) {
		thisdiv.className = "olshighlight";
		if (currentdiv!=''&&currentdiv!=thisdiv) { currentdiv.className = "sweepdiv"; }
		currentdiv=thisdiv;
	}
}

function checkform(what) {
	var a = what.Title.value;
	var b = what.URL.value;
	var c = what.Description.value;
	if (a!=''&&b!=''&&c!='') { return true; }
	else {
		alert('The Title, Main URL, and Prize Description are required to submit a sweep.');
		return false;
	}
}

function checkurl(what) {
	var a = what.sweepurl.value;
	if (a!='') {	
		if (a.indexOf('http://')==-1 && a.indexOf('https://')==-1) {
			alert('The URL must start with either "http://" or "https://".');
			return false;
		}
		return true;
	}
	else {
		alert('Please enter the full URL of the sweep you want to submit to the sweeps directory.');
		return false;
	}
}


function setTab(tNum,z) {
	var tabStyle = findObj('astab'+tNum);
	if (z) { tabStyle.className = 'formtab2'; }
	else { tabStyle.className = 'formtab'; }

}
function hover(tab) {
	tab.style.backgroundColor = '#ffffee';
}

var daysOfWeek = new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
var months = new Array("January","February","March","April","May","June","July","August","September","October","November","December");

function updateOngoing() {
	var theform = document.sweepform;
	var ongoing = theform.isOngoing;
	if (ongoing.checked) {
		var psExpires = findObj('psExpires');
		var ed_span = findObj('span_ExpirationDate');
		var psExpireTime = findObj('psExpireTime');
		var et_span = findObj('span_ExpirationTime');
		psExpires.innerHTML = psExpireTime.innerHTML = '';
		ed_span.innerHTML = et_span.innerHTML = '';
		showPanel(2);
	}
	else { updatePreview('expiredate'); }
	updatePreview('startdate');
}

function clearthis(what) {
	var theform = document.sweepform;
	if (what=='startdate') {
		var thisps = findObj('psStartAdddate');
		var thisspan = findObj('span_StartDate');
		var thisinput = theform.StartDate;
	}
	else if (what=='expiredate') {
		var thisps = findObj('psExpires');
		var thisspan = findObj('span_ExpirationDate');
		var thisinput = theform.ExpirationDate;
	}
	else if (what=='expiretime') {
		var thisps = findObj('psExpireTime');
		var thisspan = findObj('span_ExpirationTime');
		var thisinput = theform.edHour;
		var thisinput2 = theform.edMinute;
		var ampm = theform.am_pm;
		var timezone = theform.timezone;
		var eleven59 = theform.eleven59;
		var midnight = theform.midnight;
		var noon = theform.noon;

		ampm.options[0].selected = true;
		timezone.options[0].selected = true;
		eleven59.checked = false;
		midnight.checked = false;
		noon.checked = false;
		thisinput2.value = '';
	}
	thisps.innerHTML = '';
	thisspan.innerHTML = '&nbsp;';
	thisinput.value = '';
	updateOngoing();
}


function updatePreview(section){
	var theform = document.sweepform;
	var preview = findObj('sweeppreview').style;
	preview.visibility = 'visible';

	if (section=='main') {
		var psTitle = findObj('psTitle');
		var psSweeplinks = findObj('psSweeplinks');
		var thistitle = theform.Title.value;
		var entryurl = theform.EntryForm_Url.value;
		var homeurl = theform.Home_Url.value;
		var winnersurl = theform.Winners_Url.value;
		var iswinners = theform.isWinners.checked;

		var frag = (theform.URLfrag) ? theform.URLfrag.value : '';
		psTitle.innerHTML = (thistitle!='') ? '<a href="'+theform.URL.value+frag+'" target="_blank">'+thistitle+'</a>' : '';

		var output = '';

		output = (homeurl!='') ? '<a href="'+homeurl+'" target="_blank">home page</a>' : '';
		output += (homeurl!=''&&entryurl!='') ? '  &nbsp;&middot;&nbsp; ' : '';
		output += (entryurl!='') ? '<a href="'+entryurl+'" target="_blank">entry form</a>' : '';
		if (iswinners&&winnersurl!='') { 
			output += (homeurl!=''||entryurl!='') ? ' &nbsp;&middot;&nbsp; ' : '';
			output += '<a href="'+winnersurl+'" target="_blank">winners list</a>';
		}
		if (output!='') { psSweeplinks.innerHTML = output + ' &nbsp;|&nbsp; '; }
		else { psSweeplinks.innerHTML = ''; }
	}
	else if (section=='rules') {
		var psRules = findObj('psRules');
		var output = '';	
		if (theform.Rules_Url.value!='') {
			output = '<a href="'+theform.Rules_Url.value+'" target="_blank">official rules</a>';
			output += (theform.Eligibility.value!='') ? ' &nbsp;|&nbsp; ' : '';
		}
		psRules.innerHTML = output;	
	}
	else if (section=='description') {
		var psDescription = findObj('psDescription');
		var thisdesc = theform.Description.value;
		var thiscomm = theform.comments.value;
		psDescription.innerHTML = '';

		if (thisdesc!='') {
			thisdesc = thisdesc.replace(/^(\r\n|\r|\n)+/, '');
			thisdesc = thisdesc.replace(/(\r\n|\r|\n)+$/, '');
			thisdesc = thisdesc.replace(/(\r\n|\r|\n)/g, '<br />');
			psDescription.innerHTML = '<table class="sprize"><tr><td>'+thisdesc+'</td></tr></table>';
		}
		if (thiscomm!='') {
			thiscomm = thiscomm.replace(/^(\r\n|\r|\n)+/, '');
			thiscomm = thiscomm.replace(/(\r\n|\r|\n)+$/, '');
			thiscomm = thiscomm.replace(/(\r\n|\r|\n)/g, '<br />');
			psDescription.innerHTML += '<p class="scmmts"><strong>Comments:</strong> '+thiscomm+'</p>';
		}
	}
	else if (section=='startdate') {
		var psStartAdddate = findObj('psStartAdddate');
		var sd_span = findObj('span_StartDate');
		var output = '';
		sd_span.innerHTML = '&nbsp;';
		if (theform.StartDate.value!='') {
			var thisdate = theform.StartDate.value;
			sd_span.innerHTML = thisdate;
			output = 'Started '+thisdate+' - ';
		}
		var today = new Date();
		output += 'Submitted '+(parseInt(today.getMonth())+1)+'/'+today.getDate()+'/'+today.getFullYear();
		psStartAdddate.innerHTML = output;
		showPanel(2);
	}
	else if (section=='expiredate') {
		var psExpires = findObj('psExpires');
		var ed_span = findObj('span_ExpirationDate');
		psExpires.innerHTML = ''; 
		ed_span.innerHTML = '&nbsp;';
		if (theform.ExpirationDate.value!='') {
			var mytmp = theform.ExpirationDate.value.split('/');
			var thisday = new Date(mytmp[2],mytmp[0]-1,mytmp[1]);
			dayofweek = daysOfWeek[thisday.getDay()];
			thisdate = dayofweek + ', ' + months[mytmp[0]-1] + ' ' + mytmp[1] + ', ' + mytmp[2];

			psExpires.innerHTML = 'expires &nbsp;<strong>'+thisdate+'</strong>';

			ed_span.innerHTML = thisdate;

			var ongoing = theform.isOngoing;
			if (ongoing.checked) { ongoing.checked=false; updatePreview('time'); }
		}
		updatePreview('time');
		updatePreview('startdate');
	}

	else if (section=='time') {
		var psExpireTime = findObj('psExpireTime');
		var thisspan = findObj('span_ExpirationTime');
		var hour = theform.edHour;
		var minute = theform.edMinute;
		var ongoing = theform.isOngoing;
		var formhour = parseInt(hour.value);
		var formminute = parseInt(minute.value);
		thisspan.innerHTML = '';

		if (hour.value!=''&&formhour>0&&formhour<13) {
			var ampm = theform.am_pm;
			var timezone = theform.timezone;
			var eleven59 = theform.eleven59;
			var midnight = theform.midnight;
			var noon = theform.noon;
			var output = '';

			if (ongoing.checked) { psExpireTime.innerHTML = ''; thisspan.innerHTML = ''; return; }
			else if (eleven59.checked||midnight.checked||noon.checked) {
				if (formhour==12&&formminute==0) {
					if (midnight.checked&&ampm.options[1].selected) { 
						output = 'midnight'; formhour = 0; 
					}
					else if (noon.checked&&ampm.options[0].selected) { 
						output = 'noon'; formhour = 0; 
					}
				}
				else if (eleven59.checked&&ampm.options[0].selected&&formhour==11&&formminute==59) {  
					output = '11:59pm'; formhour = 0;
				}
			}
			if (formhour>0) { 
				if (formminute>0&&formminute<60) { formminute = padZero(formminute); }
				else { formminute = minute.value = '00'; }
				output = formhour + ':' + formminute + ampm.options[ampm.selectedIndex].value;
				eleven59.checked=false;
				midnight.checked=false;
				noon.checked=false;
			}
			output += ' ' + timezone.options[timezone.selectedIndex].value;

			if (theform.ExpirationDate.value!='') {
				thisspan.innerHTML = output;
				psExpireTime.innerHTML = '&nbsp;<strong>@ ' + output + '</strong>';
			}
			else { psExpireTime.innerHTML = ''; thisspan.innerHTML = ''; }
		}
		else {
			psExpireTime.innerHTML = '';
			thisspan.innerHTML = '';
			hour.value = '';
			minute.value = '';
		}
		showPanel(2);

	}

	else if (section=='freq') {
		var psFreq = findObj('psFreq');
		var thisspan = findObj('span_Frequency');
		var maxentry = theform.maxentry;
		maxentry = parseInt(maxentry.value);
		var freq_select = theform.freq_select;
		var freq = freq_select.options[freq_select.selectedIndex].value;
		var person = theform.person;
		var email = theform.email;
		var household = theform.household;
		var output = '';
		psFreq.innerHTML = '';

		if (freq!='') { 
			if (freq=='other') {
				var a = window.prompt("Please enter the entry frequency, e.g. 'bi-weekly', 'quarterly', 'annually'.","");
				if (a!=null&&a!="") {
					freq_select.options[freq_select.options.length] = new Option(a, a);
					freq_select.options[eval(freq_select.options.length-1)].selected = true;
				}
				else { freq_select.options[0].selected = true; }
				freq = a;
			}

			if (freq=='unlimited'||freq=='???') { output = freq; }
			else if (maxentry>1) { output = (freq!="one time") ? maxentry + 'x ' + freq : maxentry + 'x'; }
			else if (freq=="one time") { output = '1x'; }
			else { output = freq; }
		
			output = '<b>' + output + '</b>';

			var per = '';
			per = (person.checked) ? 'person/' : '';
			per += (email.checked) ? 'email/' : '';
			per += (household.checked) ? 'household/' : '';
			if (per!="") {
				per = per.substring(0,per.length - 1);
				output += ' per ' + per;
			}
			psFreq.innerHTML = output + ' &nbsp;|&nbsp; '; 
		}
		thisspan.innerHTML = output;
		showPanel(3);
	}


	else if (section=='eligibility') {
		var thisps = findObj('psEligibility');
		var thisspan = findObj('span_Eligibility');
		var thisinput = theform.Eligibility;
		var include_sel = theform.el_include;
		var usdiv = findObj('USselect');
		var age_sel = theform.el_age;
		var age = age_sel.options[age_sel.selectedIndex].value;
		var exclude_sel = theform.el_exclude;

		var output = '';
		var include = '';

		if (include_sel.options[3].selected) { output='Not Specified'; include_sel.options[0].selected = false; include_sel.options[1].selected = false; include_sel.options[2].selected = false; }
		else {
			output = 'Open to residents of ';
			if (include_sel.options[2].selected) { output = 'Open to all'; include_sel.options[0].selected = false; include_sel.options[1].selected = false; }
			else if (include_sel.options[0].selected) { 
				var us_sel = theform.el_US;
				output += 'the '; 
				if (include_sel.options[1].selected) { output += us_sel.options[us_sel.selectedIndex].value + ' and Canada'; }
				else { output += us_sel.options[us_sel.selectedIndex].value; }
				usdiv.style.visibility = 'visible'; 
			} 
			else if (include_sel.options[1].selected) { output += 'Canada'; }
			else { 
				thisinput.value = ''; 
				thisps.innerHTML = '';
				updatePreview('rules'); 
				thisspan.style.visibility = 'hidden'; 
				showPanel(3);
				return; 
			}

			if (age=='other') {
				var a = window.prompt('Please enter the ages eligible for this sweepstakes or contest, e.g. \'16+\', \'13 and under\', \'6-13 years old\'.','');
				if ((a!=null)&&(a!='')) {
					age_sel.options[age_sel.options.length] = new Option(a, a);
					age_sel.options[eval(age_sel.options.length-1)].selected = true;
				}
				else { age_sel.options[0].selected = true; }
				age = age_sel.options[age_sel.selectedIndex].value;
			}
			if (age!=''&&age!="none") { output += ' ' + age; }

			if (include_sel.options[0].selected) { 
				var selected_list = new Array();
				for (var i=0; i<exclude_sel.options.length; i++) {
					if (exclude_sel.options[i].selected) { selected_list[selected_list.length] = exclude_sel.options[i].value; }
				}
				output += (selected_list[0]!=null) ? ' (void in '+spew_string(selected_list)+')' : '';
			}
		}

		thisspan.style.visibility = 'visible';
		thisinput.value = output;
		thisps.innerHTML = ' ' + output + '<br />';
		updatePreview('rules');
		showPanel(3);
	}


}

function updateEligibility() {
	var theform = document.sweepform;
	var thisps = findObj('psEligibility');
	var thisinput = theform.Eligibility;
	var output = thisinput.value;
	thisps.innerHTML = (output!='') ? output + '<br />' : output;
	updatePreview('rules');
}


function spew_string(a) {
	var b = a[0];
	if (a.length > 1) {
		for (var i=1; i<(a.length-1); i++) { b+=', '+a[i]; }
		b += ' & '+a[a.length-1];
	}
	return b;
}

function updateTime(clicked) {
	var theform = document.sweepform;
	var hour = theform.edHour;
	var minute = theform.edMinute;
	var ampm = theform.am_pm;
	var eleven59 = theform.eleven59;
	var midnight = theform.midnight;
	var noon = theform.noon;
	switch (clicked) {
		case 'eleven59' :
			if (eleven59.checked) { 
				midnight.checked = false;
				noon.checked = false;
				hour.value = 11;
				minute.value = 59;
				ampm.options[0].selected = true;
			}
			break;
		case 'midnight' :
			if (midnight.checked) { 
				eleven59.checked = false;
				noon.checked = false;
				hour.value = 12;
				minute.value = '00';
				ampm.options[1].selected = true;
			}
			break;
		case 'noon' :
			if (noon.checked) { 
				eleven59.checked = false;
				midnight.checked = false;
				hour.value = 12;
				minute.value = '00';
				ampm.options[0].selected = true;
			}
			break;
	}
	updatePreview('time');
}
