
var eventCount = 0;

/*
  Clear default form value script- by JavaScriptKit.com
  Featured on JavaScript Kit (http://javascriptkit.com)
  Visit javascriptkit.com for 400+ free scripts!
*/
function clearText(thefield)
{
	if (thefield.defaultValue==thefield.value)
		thefield.value = ""
}

function isNumber(s)
{
	if (s.length && s.charAt(0) == "-")
	{
		return isNumber(s.substr(1));
	}
	if (!(/^[\d.]+$/.test(s)))
	{
		return false;
	}
	if (s.indexOf(".") != -1 && (s.indexOf(".") != s.lastIndexOf(".")))
	{
		return false;
	}
	if (s.charAt(0) == ".")
	{
		return false;
	}
	/*
	if (s.length >= 2 && s.charAt(0) == "0" && s.charAt(1) != ".")
	{
		return false;
	}
	*/
	return !isNaN(s);
}

function activate(objectId, theValue)
{
   document.getElementById(objectId).value = theValue;
   document.getElementById(objectId).style.background = '';
   document.getElementById(objectId).disabled = false;
   document.getElementById(objectId).focus();
}

function addEvent(type, add_or_edit)
{
  var inputs = document.getElementById('eventRuleInputs');
  var i = (inputs.hasChildNodes()?(inputs.childNodes.length):0)
  if(type == 'o')
  {
    var a = add_or_edit+'_event_once_from['+i+']';
    var b = add_or_edit+'_event_once_has_end['+i+']';
    var c = add_or_edit+'_event_once_to['+i+']';
    document.getElementById('eventRuleInputs').innerHTML += ''
    + '<div id="eventRule'+i+'">'
    + 'One Time: '
    + '<input type="text"'
    +       ' name="'+a+'"'
    +       ' id="'+a+'" value="" class="datetime" />'
    + ' to <input type="checkbox" name="'+b+'" class="checkbox" CHECKED'
    + ' onChange="this.checked?activate(\''+c+'\',\'\')'
    + ':deactivate(\''+c+'\')" /> '
    + '<input type="text" name="'+c+'" id="'+c+'" value="" class="datetime" />'
    + ' [<a href="javascript:removeEvent('+i+')">remove</a>]'
    + '</div>';
  }
  else if(type == 'w')
  {
    var a = add_or_edit+'_event_weekly_day['+i+']';
    var b = add_or_edit+'_event_weekly_from['+i+']';
    var c = add_or_edit+'_event_weekly_to['+i+']';
    var d = add_or_edit+'_event_weekly_has_end['+i+']';
    document.getElementById('eventRuleInputs').innerHTML += ''
    + '<div id="eventRule'+i+'">'
    + 'Weekly: '
    + '<select name='+a+' id='+a+'>'
    + '  <option value="0">Sunday</option>'
    + '  <option value="1">Monday</option>'
    + '  <option value="2">Tuesday</option>'
    + '  <option value="3">Wednesday</option>'
    + '  <option value="4">Thursday</option>'
    + '  <option value="5">Friday</option>'
    + '  <option value="6">Saturday</option>'
    + '</select> '
    + '<input type="text" name="'+b+'" id="'+b+'" value="" class="datetime" />'
    + ' to '
    + '<input type="checkbox" name="'+d+'" id="'+d+'" class="checkbox" CHECKED '
    +       ' onChange="this.checked?activate(\''+c+'\',\'\')'
    +                              ':deactivate(\''+c+'\')" /> '
    + '<input type="text" name="'+c+'" id="'+c+'" value="" class="datetime" /> '
    + ' [<a href="javascript:removeEvent('+i+')">remove</a>]'
    + '</div>';
  }
}

function removeEvent(number)
{
	var inputs = document.getElementById('eventRuleInputs');
	var i = 0;
	var thisEvent;
	for(i; i < inputs.childNodes.length; i++)
	{
	   thisEvent = inputs.childNodes[i];
	   if(thisEvent.id == 'eventRule'+number)
	      inputs.removeChild(inputs.childNodes[i]);
	}
}

function deactivate(objectId)
{
	document.getElementById(objectId).value = '';
	document.getElementById(objectId).style.background = 'none';
	document.getElementById(objectId).disabled = true;
}

function clearInput(thisObject)
{
	thisObject.value = '';
}

function clearDefaultInput(thisObject, defaultValue)
{
	if(thisObject.value == defaultValue)
		thisObject.value = '';
}

function generateCheckbox(id,value,tieto)
{
	if(typeof value == 'undefined') value = '';
		return '<input type="checkbox" id="'+id+'" style="width: auto;" />';
}

function generateTextInput(id,size,defaultValue)
{
	if(typeof hidden == 'undefined') hidden = false;
	return '<input type="text" id="'+id+'" size="'+size+'"'
	      +' maxlength="'+size+'" value="'+defaultValue+'"'
	      +' onFocus="clearDefaultInput(this,defaultValue);"'
	      +' style="width: auto;"/>';
}

function generateSelect(id,a,b,c,d,e,f,g,h)
{
	return '<select id="'+id+'">'
	      +((typeof a != 'undefined')?'<option>'+a+'</option>':'')
	      +((typeof b != 'undefined')?'<option>'+b+'</option>':'')
	      +((typeof c != 'undefined')?'<option>'+c+'</option>':'')
	      +((typeof d != 'undefined')?'<option>'+d+'</option>':'')
	      +((typeof e != 'undefined')?'<option>'+e+'</option>':'')
	      +((typeof f != 'undefined')?'<option>'+f+'</option>':'')
	      +((typeof g != 'undefined')?'<option>'+g+'</option>':'')
	      +((typeof h != 'undefined')?'<option>'+h+'</option>':'')
	      +'</select>';
}

function generateInputEvents()
{
	var listText  = document.getElementById("eventRuleList").value;
	var inputType = document.getElementById("eventRuleType").value;
	if(inputType == 'o')
	{
	/* One Time Event - oYear[4]Month[2]Day[2]Hour[2]Minute[2]
	                   (-Year[4]Month[2]Day[2]Hour[2]Minute[2]) */
		document.getElementById("eventRuleInputs").innerHTML
			= '<table cellpadding="0px" cellspacing="0px" align="center"><tr>'
			 +'<td>&nbsp;</td>'
			 +'<td style="text-align: right;">'
			 +generateTextInput('EventRuleMonth','2','Mo')+' '
			 +generateTextInput('EventRuleDay','2','D')+' '
			 +generateTextInput('EventRuleYear','4','Year')+' - '
			 +generateTextInput('EventRuleHour','2','Hr')+':'
			 +generateTextInput('EventRuleMinute','2','Mi')+' '
			 +generateSelect('EventRuleAMPM','am','pm')
			 +'</td></tr><tr><td>Use End? '
			 +generateCheckbox('EventRuleHasEnd')
			 +'</td><td style="text-align: right;"> '
			 +generateTextInput('EventRuleEndMonth','2','Mo')+' '
			 +generateTextInput('EventRuleEndDay','2','D')+' '
			 +generateTextInput('EventRuleEndYear','4','Year')+' - '
			 +generateTextInput('EventRuleEndHour','2','Hr')+':'
			 +generateTextInput('EventRuleEndMinute','2','Mi')+' '
			 +generateSelect('EventRuleEndAMPM','am','pm')
			 +'</td></tr><tr><td colspan="2">'
			 +'<a href="javascript:addEvent()">Add Event Rule</a> '
			 +'</td></tr></table>';
	}
	else if(inputType == 'w')
	{
	   document.getElementById("eventRuleInputs").innerHTML
		  =  '<table cellpadding="0px" cellspacing="0px" align="center"><tr>'
			 +'<td>&nbsp;</td>'
			 +'<td style="text-align: right;">'
			 +generateTextInput('EventRuleMonth','2','Mo')+' '
			 +generateTextInput('EventRuleDay','2','D')+' '
			 +generateTextInput('EventRuleYear','4','Year')+' - '
			 +generateTextInput('EventRuleHour','2','Hr')+':'
			 +generateTextInput('EventRuleMinute','2','Mi')+' '
			 +generateSelect('EventRuleAMPM','am','pm')
			 +'</td></tr><tr><td>Use End? '
			 +generateCheckbox('EventRuleHasEnd')
			 +'</td><td style="text-align: right;"> '
			 +generateTextInput('EventRuleEndMonth','2','Mo')+' '
			 +generateTextInput('EventRuleEndDay','2','D')+' '
			 +generateTextInput('EventRuleEndYear','4','Year')+' - '
			 +generateTextInput('EventRuleEndHour','2','Hr')+':'
			 +generateTextInput('EventRuleEndMinute','2','Mi')+' '
			 +generateSelect('EventRuleEndAMPM','am','pm')
			 +'</td></tr><tr><td colspan="2">'
			 +'<a href="javascript:addEvent()">Add Event Rule</a> '
			 +'</td></tr></table>';
	}
	else
	{
		document.getElementById("eventRuleInputs")
						  .innerHTML = '';
	}
}

function cellChange(cell,tStyle)
{
    cell.style.cssText = tStyle;
}

function calOver(cell)
{
    cell.className = "calOver";
}

function calOut(cell, originalStyle)
{
    cell.className = originalStyle;
}

function pad(value,n)
{
  var i = value.length;
  while(i < n)
  {
    value = '0'+value;
    i++;
  }
  return value;
}

