/* $Id: schedule.js,v 1.16 2008/03/28 13:08:53 karuppannan Exp $ */
function MM_findObj(n, d) { //v4.01
  var p,i,x;  
  if(!d) 
  	d=document; 
	
  if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);
  }

  if(!(x=d[n])&&d.all) 
  	x=d.all[n]; 
  
  for(i=0;!x&&i<d.forms.length;i++) 
  	x=d.forms[i][n];
  
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) 
  	x=MM_findObj(n,d.layers[i].document);
  
  if(!x && d.getElementById) 
  	x=d.getElementById(n); 

  return x;
}

function selectAllElements(selectComp, selected)
{
	var options = selectComp.options;
	var len = options.length;
	for(var i=0;i<len;i++)
	{
		options[i].selected = selected;
	}
}
function changeFontWeight(object)
{
        var applyToOptions = new Array('radioHeading0','radioHeading1','radioHeading2','radioHeading3','radioHeading4','radioHeading5');
        for(var i= 0; i < applyToOptions.length; i++)
        {
            var applyToOption = document.getElementById(applyToOptions[i]);
            //As all the inputs are not shown all the time, a not null check is added to avoid script errors
            if(applyToOption != null) 
            {
                applyToOption.className='txt';
            }
        }
        var applyTo = document.getElementById('radioHeading'+object);
        applyTo.className='txtbold';
        
}
function toggleSwipe(rowid,isAdd,contextPath)
{

	for (i=0;i<=5;i++)
	{        
	
			var swipecontentObj=MM_findObj('swipecontent'+i)

			if ('swipecontent'+i!='swipecontent'+rowid)
			{
					swipecontentObj.className='hide'
			} 
			else
			{
			swipecontentObj.className='';
			
			}
	}
	if (rowid == "0")
	{
		if(isAdd == "true")
			document.schedulerForm.SCHEDULE_TYPE.value="Minutely"
		else
			document.schedulerForm.SCHEDULE_TYPE.value="Minutely";
	}
	if (rowid == "1")
	{
		if(isAdd == "true")
			document.schedulerForm.SCHEDULE_TYPE.value="Hourly"
		else
			document.schedulerForm.SCHEDULE_TYPE.value="Hourly";
	}
	else if (rowid == "2")
	{       
		if(isAdd == "true")
			document.schedulerForm.SCHEDULE_TYPE.value="Daily"
		else
			document.schedulerForm.SCHEDULE_TYPE.value="Daily"
	}
	else if (rowid == "3")
	{
		if(isAdd == "true")
			document.schedulerForm.SCHEDULE_TYPE.value="Weekly"
		else
			document.schedulerForm.SCHEDULE_TYPE.value="Weekly"
	}
	else if (rowid == "4")
	{                  
		if(isAdd == "true")
			document.schedulerForm.SCHEDULE_TYPE.value="Monthly"
		else
			document.schedulerForm.SCHEDULE_TYPE.value="Monthly"
	}
	else if (rowid == "5")
	{
		if(isAdd == "true")
			document.schedulerForm.SCHEDULE_TYPE.value="Once Only"
		else
			document.schedulerForm.SCHEDULE_TYPE.value="Once Only"
	}
        changeFontWeight(rowid)
}

function selectRecurrenceOption(recurrenceMode, isAdd)
{
	if(isAdd == "true")
	{
		// don't do anything in add screen
		return;
	}
	for(var i = 0 ; i < document.schedulerForm.SCHEDULE_TYPE_RADIO.length; i++)
	{
		if(document.schedulerForm.SCHEDULE_TYPE_RADIO[i].value==recurrenceMode)
		{
			document.schedulerForm.SCHEDULE_TYPE_RADIO[i].checked=true ;
		}
	}
}


function toggle1(rowName, days, months,isAdd,contextPath)
{ 
    /* 
     for(var i = 0 ; i < document.schedulerForm.SCHEDULE_TYPE_RADIO.length; i++)
        {
               if(document.schedulerForm.SCHEDULE_TYPE_RADIO[i].value==rowName)
               {
                 document.schedulerForm.SCHEDULE_TYPE_RADIO[i].checked=true ;
               }
         }
*/
	if(rowName =='Minutely' )
	{ 
	 	toggleSwipe('0',isAdd,contextPath)
	} 
	else if(rowName =='Hourly' )
	{  
	 	toggleSwipe('1',isAdd,contextPath)
	} 
	else if(rowName == 'Daily' )
	{ 
             
		toggleSwipe('2',isAdd,contextPath)
	}
	else if(rowName == 'Weekly')
	{
		toggleSwipe('3',isAdd,contextPath)
			validateString(days,isAdd)
	}
	else if(rowName == 'Monthly')
	{
		toggleSwipe('4',isAdd,contextPath)
			validateString(months,isAdd)
	}
	else if(rowName == 'Once Only')
	{
		toggleSwipe('5',isAdd,contextPath)
	}
}

function validateString(n,isAdd)
{
	var xyz = '';

	if(isAdd == 'true')
		xyz = document.schedulerForm;
	else
		xyz = document.schedulerForm;

	var len = xyz.length

		for (var i = 0 ; i < len ; i++)
		{
			var e = xyz.elements[i]
				if(n.indexOf(",") != -1)
				{
					m = n.split(",")
						for (var j = 0 ; j < m.length ; j++)
						{
							if(e.name == 'WEEKLY_DAYS') // && e.value == m[j])
							{
								var eValue = e.value.split(",");
								if(eValue[1] == m[j])
								{
									e.checked = true
								}
							}
							else if(e.name == 'MONTHLY_MONTHS') // && e.value == m[j])
							{
								var eValue = e.value.split(",");
								if(eValue[1] == m[j])
								{
									e.checked = true
								}
							}                 
						}
				}
				else
				{
					if(e.name == 'WEEKLY_DAYS') // && e.value == n)
					{
						var eValue = e.value.split(",");
						if(eValue[1] == n)
						{
							e.checked = true
						}
					}
					else if (e.name == 'MONTHLY_MONTHS') // && e.value == n)
					{
						var eValue = e.value.split(",");
						if(eValue[1] == n)
						{
							e.checked = true
						}
					}
				}
		}
}

function checkRecurrenceValues(form)
{
	form = document.schedulerForm;
	var scheduleType = form.SCHEDULE_TYPE.value;
	if(scheduleType == 'Weekly')
	{  
             //   var timeHour=form.WEEKLY_START_TIME_HOUR.value;
              //  var timeMin=form.WEEKLY_START_TIME_MIN.value;
		form.WEEKLY_START_TIME_HOUR.value=trimAll(form.WEEKLY_START_TIME_HOUR.value);
		form.WEEKLY_START_TIME_MIN.value=trimAll(form.WEEKLY_START_TIME_MIN.value);	
		var daysOfWeekCheck=false;
		var weeklyDays = form.WEEKLY_DAYS;
		var len = weeklyDays.length;
                var weeklyTimeHour=form.WEEKLY_START_TIME_HOUR.value;
                var weeklyTimeMin=form.WEEKLY_START_TIME_MIN.value;

          if(!isHour(weeklyTimeHour,form.WEEKLY_START_TIME_HOUR))
              {
                  alert("Please enter suitable value for Hour");
                    return false;
              }
          if(!isMinute(weeklyTimeMin,form.WEEKLY_START_TIME_MIN))
              {
                  alert("Please enter a suitable value for Min");
                    return false;
              }

		for(var j=0;j<len;j++)
		{
			if(weeklyDays[j].checked == true)
			{
				daysOfWeekCheck=true;
			}
		}

		if(daysOfWeekCheck == false)
	{
			alert("Please select a Day");
			return false;
		}
	}
	 if(scheduleType == 'Monthly')
	{     
		var monthlyMonthsCheck=false;
		var monthlyMonths = form.MONTHLY_MONTHS;
		var len = monthlyMonths.length;
                form.MONTHLY_START_TIME_HOUR.value=trimAll(form.MONTHLY_START_TIME_HOUR.value); 
		form.MONTHLY_START_TIME_MIN.value=trimAll(form.MONTHLY_START_TIME_MIN.value);
                var monthlyTimeHour=form.MONTHLY_START_TIME_HOUR.value;
                var monthlyTimeMin=form.MONTHLY_START_TIME_MIN.value;

          if(!isHour(monthlyTimeHour,form.MONTHLY_START_TIME_HOUR))
              {
                  alert("Please enter suitable value for Hour");
                    return false;
              }
          if(!isMinute(monthlyTimeMin,form.MONTHLY_START_TIME_MIN))
              {
                  alert("Please enter a suitable value for Min");
                    return false;
              }

		for(var j=0;j<len;j++)
		{
			if(monthlyMonths[j].checked == true)
			{
				monthlyMonthsCheck=true;
			}
		}

		if(monthlyMonthsCheck == false)
		{
			alert("Please select a Month");
			return false;
		}
	}
  if(scheduleType == 'Hourly')
        {
	  form.HOURLY_START_TIME_HOUR.value=trimAll(form.HOURLY_START_TIME_HOUR.value);		
	  form.HOURLY_START_TIME_MIN.value=trimAll(form.HOURLY_START_TIME_MIN.value);
          var hourlyTimeHour=form.HOURLY_START_TIME_HOUR.value;
          var hourlyTimeMin=form.HOURLY_START_TIME_MIN.value;

          if(!isHour(hourlyTimeHour,form.HOURLY_START_TIME_HOUR))
              {
                  alert("Please enter suitable value for Hour");
                    return false;
              }
          if(!isMinute(hourlyTimeMin,form.HOURLY_START_TIME_MIN))
              {
                  alert("Please enter a suitable value for Min");
                    return false;
              }
          }
	if(scheduleType == 'Daily')
        {
		form.DAILY_START_TIME_HOUR.value=trimAll(form.DAILY_START_TIME_HOUR.value);
		form.DAILY_START_TIME_MIN.value=trimAll(form.DAILY_START_TIME_MIN.value);
         	var dailyTimeHour=form.DAILY_START_TIME_HOUR.value;
                var dailyTimeMin=form.DAILY_START_TIME_MIN.value;

          if(!isHour(dailyTimeHour,form.DAILY_START_TIME_HOUR))
              {
                  alert("Please enter suitable value for Hour");
                    return false;
              }
          if(!isMinute(dailyTimeMin,form.DAILY_START_TIME_MIN))
              {
                  alert("Please enter a suitable value for Min");
                    return false;
              }
          }


        if(scheduleType == 'Once Only')
        {
	form.ONCEONLY_START_TIME_HOUR.value =trimAll(form.ONCEONLY_START_TIME_HOUR.value); 
        form.ONCEONLY_START_TIME_MIN.value= trimAll(form.ONCEONLY_START_TIME_MIN.value);

          var onceTimeHour=form.ONCEONLY_START_TIME_HOUR.value;
          var onceTimeMin=form.ONCEONLY_START_TIME_MIN.value;

          if(!isHour(onceTimeHour,form.ONCEONLY_START_TIME_HOUR))
              {
                  alert("Please enter suitable value for Hour");
                    return false;
              }
          if(!isMinute(onceTimeMin,form.ONCEONLY_START_TIME_MIN))
              {
                  alert("Please enter a suitable value for Min");
                    return false;
              }
          }

	return true;
}

function selectAllMonths(form)
{
  var status = form.MONTHLY_ALL_MONTHS.checked;
  var len = form.MONTHLY_MONTHS.length;
  
  for(i=0;i<len;i++)
  {
    form.MONTHLY_MONTHS[i].checked = status;
  }
}

function modifyStatusOfSelectAll(form,index)
{
  var status = form.MONTHLY_MONTHS[index].checked;
  if(!status)
    form.MONTHLY_ALL_MONTHS.checked = false;
  else
  {
    var allChecked = true;
    var len = form.MONTHLY_MONTHS.length;
    for(i=0;i<len;i++)
    {
      if(!form.MONTHLY_MONTHS[i].checked)
      {
       allChecked = false;
       break;
      }
    }
    if(allChecked)
     form.MONTHLY_ALL_MONTHS.checked = true;
    else
     form.MONTHLY_ALL_MONTHS.checked = false;
  }
}


function isHour(str, formElement){
        str = trimAll(str);
        if(str==""){
                return false;
        }
        var regEx = /^[0-9]+$/;
        if(regEx.test(str)){
                if(str <= 23){
                        return true;
                }
        }
        return false;
}

function isMinute(str, formElement){
        str = trimAll(str);
        if(str==""){
                return false;
        }
        var regEx = /^[0-9]+$/;
        if(regEx.test(str)){
                if(str <= 59){
                        return true;
                }
        }
        return false;
}


function trimAll(str)
{
  if(str == null)
  {
    return "";
  }

  //check for all spaces
  var objRegExp =/^(\s*)$/;
  if (objRegExp.test(str))
  {
    str = str.replace(objRegExp,'');
    if (str.length == 0)
      return str;
  }

  // check for leading and trailling spaces
  objRegExp = /^(\s*)([\W\w]*)(\b\s*$)/;
  if(objRegExp.test(str))
  {
    str = str.replace(objRegExp, '$2');
  }
  return str;
}


