<script type="text/javascript"> 
attendanceAlertMsg = "<%= l(:text_are_you_sure) %>";
selectListAlertMsg = "<%=l(:actionview_instancetag_blank_option) %>";
issueExistsAlertMsg = "<%=l(:label_wk_leave_exists) %>";
issueUrl="<%= "#{url_for(:controller => 'wkattendance', :action => 'getIssuesByProject')}" %>";
projectUrl="<%= "#{url_for(:controller => 'wkattendance', :action => 'getProjectByIssue')}" %>";
lblInvalid= " <%= (CGI.unescapeHTML l('activerecord.errors.messages.invalid')).html_safe %>";
lblDaysPerMonth = "<%=l(:label_hours_per_month) %>";
lblAccrual = "<%=l(:label_wk_leave_accrual) %>";
lblAccrualAfter = "<%=l(:label_wk_leave_accrual_after) %>";
lblLeaveIssue = "<%=l(:label_wk_leave_issue) %>";
lblYear = "<%=l(:label_year) %>";
</script>
<fieldset style="display: inline-block; vertical-align: top;">
	<legend><%= l(:label_wk_attendance) %></legend>
	<p style="margin-left: -110px;">
			<%= check_box_tag('settings[wktime_enable_attendance_module]', 1, @settings['wktime_enable_attendance_module'].to_i == 1) %> <label><%= l(:label_enable_attendance_module) %></label>
	</p>	
	<p style="margin-left: -110px;">
	<%= check_box_tag('settings[wktime_enable_clock_in_out]', 1, @settings['wktime_enable_clock_in_out'].to_i == 1) %> <label><%= l(:label_wk_enable_clock_in_out) %></label>
	</p>
	<p style="margin-left: -110px;">
	<%= check_box_tag('settings[wktime_work_time_header]', 1, @settings['wktime_work_time_header'].to_i == 1) %> <label><%= l(:label_wk_work_time_header) %></label>
	</p> 
	<p style="margin-left: -110px;">
		<%
		breakTime = []
		if(@settings['wktime_break_time'].blank?)
			breakTime = ''
		else
			@settings['wktime_break_time'].each do |element|
			  listboxArr = element.split('|')
			  fromHr = listboxArr[0].to_i>9 ? listboxArr[0].strip  : "0"+listboxArr[0].strip
			  fromMin = listboxArr[1].to_i>9 ? listboxArr[1].strip : "0"+listboxArr[1].strip
			  toHr = listboxArr[2].to_i>9 ? listboxArr[2].strip : "0"+listboxArr[2].strip
			  toMin = listboxArr[3].to_i>9 ? listboxArr[3].strip : "0"+listboxArr[3].strip
			  optionText = fromHr + ":"  + fromMin + " - "  + toHr + ":"  + toMin
			  breakTime << [optionText,element]
			end
		end
		%>
	<label><%= l(:label_wk_break_time) %></label>
		<%=  select_tag('settings[wktime_break_time]',
			options_for_select(breakTime, :selected => 'settings[wktime_break_time]'), :multiple=> true, :style => "width:200px; height:100px;")%>	

	</p>			
	<p style="margin-left: -110px;">
		<%= link_to "Add", "javascript:showBreakTimeDialog('Add');", :class => "button"%>  |
		<%= link_to "Edit", "javascript:showBreakTimeDialog('Edit');", :class => "button"%>  |
		<%= link_to "Delete", "javascript:removeSelectedValue('settings_wktime_break_time');", :class => "button" %>
	</p>
	
	<div id="breaktime-dlg" title="<%= l(:label_wk_break_time) %>">
		<p>
			<label><%= l(:label_date_from) %></label><span style="margin-left:0.5em;"></span>
			<%
			hr = []
			min = []
			for i in 0..23
				if i < 10
					hr << ['0' + i.to_s,i]
				else
					hr << [i,i]
				end
			end
			i = 0
			num = 5

			until i > 55  do
				if i < 10
					min << ['0' + i.to_s,i]
				else
					min << [i,i]
				end
			
			   i +=5;
			end
			%>
			<%= select_tag('break_from_hr', options_for_select(hr))%>&nbsp<%= l(:field_hours) %>&nbsp;	
			<%= select_tag('break_from_min', options_for_select(min))%>&nbsp<%= l(:label_wk_minutes) %>								   	
		</p>
		<p>
			<span style="margin-left:1.1em;"></span><label><%= l(:label_date_to) %></label><span style="margin-left:0.5em;"></span>
			<%= select_tag('break_to_hr', options_for_select(hr))%>&nbsp<%= l(:field_hours) %>&nbsp;	
			<%= select_tag('break_to_min', options_for_select(min))%>&nbsp<%= l(:label_wk_minutes) %>								   	
		</p>
		<p>
			<%= hidden_field_tag :hdnAction, "" %>
		</p>
			<p><%= l(:label_hours_note) %></p>		
	</div>
	
	<p style="margin-left: -110px;">
		<%
		leave = []
		issue_list = Issue.order('subject')
		unless issue_list.blank?
			issueslist = issue_list.collect {|issue| [issue.subject, issue.id] }
			issuehash = Hash[issue_list.map { |u| [u.id, u.subject] }]
		else
			issueslist = Array.new
			issueslist << [ "", 0]
		end		
		projects = Project.where("#{Project.table_name}.status not in(#{Project::STATUS_CLOSED},#{Project::STATUS_ARCHIVED})").order('name')
		wktime_helper = Object.new.extend(WktimeHelper)
		projArr = wktime_helper.options_for_wktime_project(projects,false)
		
		if(@settings['wktime_leave'].blank?)
			leave = ''
		else
			@settings['wktime_leave'].each do |element|
			  listboxArr = element.split('|')
			  issueId = listboxArr[0]
			  issueName = issuehash[issueId.to_i].blank? ? issueId : issuehash[issueId.to_i]
			  leaveAccrual = listboxArr[1].blank? ? "" : listboxArr[1]
			  accrualAfter = listboxArr[2].blank? ? "" : listboxArr[2]
			  optionText = leaveAccrual.blank? ? issueName : issueName + " : "  + leaveAccrual + " " + l(:label_hours_per_month) + " " + l(:label_wk_leave_accrual_after) + " " + accrualAfter + " " + l(:label_year)
			  leave << [optionText,element]
			end
		end
		%>
		<label><%= l(:label_wk_leave) %></label>
			<%=  select_tag('settings[wktime_leave]',
				options_for_select(leave, :selected => 'settings[wktime_leave]'), :multiple=> true, :style => "min-width:200px; height:100px;")%>	

		</p>			
		<p style="margin-left: -110px;">
			<%= link_to "Add", "javascript:showLeaveDialog('Add');", :class => "button"%>  |
			<%= link_to "Edit", "javascript:showLeaveDialog('Edit');", :class => "button"%>  |
			<%= link_to "Delete", "javascript:removeSelectedValue('settings_wktime_leave');", :class => "button" %>
		</p>
	
	<div id="leave-dlg" title="<%= l(:label_wk_leave) %>">
		<table>
			<tr>
				<th align="left"><label><%= l(:label_project) %></label></th>
				<td class="project" align="left"><%=h select_tag('leave_project', options_for_select(projArr),:onchange => "projectChanged(this,-1);") %></td>
			</tr>
			<tr>
				<th align="left"><label><%= l(:label_wk_leave_issue) %></label><span style="margin-left:0.8em;"></span></th>
				<td class="issue" align="left"><%=h select_tag('leave_issue', options_for_select(issueslist)) %></td>
			</tr>
			<tr>
				<th align="left"><label><%= l(:label_wk_leave_short_name) %></label></th>
				<td><%= text_field_tag 'wk_leave_short_name','', :size => 4, :maxlength => 4 %></td>
			</tr>
			<tr>
				<th align="left"><label><%= l(:label_wk_leave_accrual) %></label></th>
				<td><%= text_field_tag('leave_accrual','', :size => 2.5, :maxlength => 3) %>&nbsp<%= l(:label_hours_per_month) %></td>		
			</tr>
			<tr>
				<th align="left"><label><%= l(:label_wk_leave_accrual_after) %></label></th>
				<td><%= text_field_tag 'leave_accrual_after','', :size => 2.5, :maxlength => 3 %>&nbsp<%= l(:label_year) %></td>
			</tr>
			<tr>
				<th align="left"><label><%= l(:button_reset) %> <%= l(:label_month) %></label></th>
				<td><%=h select_tag('wk_attn_leave_reset_month', options_for_select(l('date.month_names').collect.with_index.to_a)) %></td>								   	
			</tr>
			<tr>
				<%= hidden_field_tag :hdnAction, "" %>
			</tr>
		</table>
	</div>
	<%
		custom_fields = UserCustomField.order('name')
		allFields = Hash.new()
		fldInFiles = Hash.new()		
		allFields = {"user_id" => "#{l(:label_user_id)}", "start_time" => "#{l(:label_start_time)}", "end_time" => "#{l(:label_end_time)}", "hours" => "#{l(:label_hours)}" }
		unless custom_fields.blank?		
			cfdate = custom_fields.select {|cf| cf.field_format == 'date'}
			cfids = custom_fields.select {|cf| cf.field_format == 'string' || cf.field_format == 'int' }			
			unless cfdate.blank?
				cfd = cfdate.collect {|cf| [cf.name, cf.id] }
				cfd.unshift(["",0])
			else
				cfd = Array.new
				cfd << [ "", 0]
			end
			
			unless cfids.blank?
				 cfids.collect {|cf|
				 allFields.store("#{cf.id}", cf.name)}
			end
			
			cfs = custom_fields.collect {|cf| [cf.name, cf.id] }
			cfs.unshift(["",0])
		else
			cfd = Array.new
			cfd << [ "", 0]			
			cfs = Array.new
			cfs << [ "", 0]
		end
		available_fields = allFields
		selectedfld = Setting.plugin_redmine_wktime['wktime_fields_in_file']
		if !selectedfld.blank?
			selectedfld.each do |field|
				fldInFiles[field] = allFields[field]
			end
			available_fields = allFields.select {|key,value|  !selectedfld.include? key.to_s}
		end		
	%>
	 <p style="margin-left: -110px;">
		<label><%= l(:label_wk_attn_join_date) %> </label><%=h select_tag('settings[wktime_attn_join_date_cf]', 
			options_for_select(cfd, :selected =>  @settings['wktime_attn_join_date_cf'])) %>
	</p>
	 <p style="margin-left: -110px;">
		<label><%= l(:label_wk_attn_termination_date) %> </label><%=h select_tag('settings[wktime_attn_terminate_date_cf]', 
			options_for_select(cfd, :selected =>  @settings['wktime_attn_terminate_date_cf'])) %>
	</p>
	 <p style="margin-left: -110px;">
		<label><%= l(:label_wk_attn_user_dob) %> </label><%=h select_tag('settings[wktime_attn_user_dob_cf]', 
			options_for_select(cfd, :selected =>  @settings['wktime_attn_user_dob_cf'])) %>
	</p>
	 <p style="margin-left: -110px;">
		<label><%= l(:label_wk_designation) %> </label><%=h select_tag('settings[wktime_attn_designation_cf]', 
			options_for_select(cfs, :selected =>  @settings['wktime_attn_designation_cf'])) %>
	</p>
	 <p style="margin-left: -110px;">
		<label><%= l(:label_employee_id) %> </label><%=h select_tag('settings[wktime_attn_employee_id_cf]', 
			options_for_select(cfs, :selected =>  @settings['wktime_attn_employee_id_cf'])) %>
	</p>
</fieldset>

<fieldset style="display: inline-block; vertical-align: top;">
       <legend><%= l(:button_import) %></legend>
		<%= l(:label_redmine_restart_warning) %>
	    <p style="margin-left: -180px;">
			<%= check_box_tag('settings[wktime_auto_import]', 1, @settings['wktime_auto_import'].to_i == 1) %> <label><%= l(:label_auto_import) %></label>
		</p>
			<p style="margin-left: -180px;">	
			<label><%= l(:label_auto_import_time) %></label>
			<%
			hr = []
			for i in 0..23
				if i < 10
					hr << ['0' + i.to_s,i]
				else
					hr << [i,i]
				end
			end
			%>
			<%= l(:field_hours) %>&nbsp;<%= select_tag('settings[wktime_auto_import_time_hr]', options_for_select(hr, 
			:selected => @settings['wktime_auto_import_time_hr'].blank? ? 23 : @settings['wktime_auto_import_time_hr']))%>
			<%= l(:label_wk_minutes) %>&nbsp;<%= select_tag('settings[wktime_auto_import_time_min]', options_for_select([['00',0],
										   [15, 15],
										   [30, 30],
										   [45, 45]], :selected => @settings['wktime_auto_import_time_min'].blank? ? 0 : @settings['wktime_auto_import_time_min']))%>								   
		</p>		
       <p style="margin-left: -180px;">
			  <label><%= l(:label_path) %></label><%= text_field_tag 'settings[wktime_file_to_import]', @settings['wktime_file_to_import'], :size => 40 %> 
		</p> 
		<p style="margin-left: -180px;">
			<%= check_box_tag('settings[wktime_import_file_headers]', 1, @settings['wktime_import_file_headers'].to_i == 1) %> <label><%= l(:label_import_file_headers) %></label>
		</p>
	    <p style="margin-left: -180px;">
		  <label><%= l(:label_fields_separator) %></label>
		  <%= select_tag 'settings[wktime_field_separator]', 
				options_for_select([[l(:label_comma_char), ','], [l(:label_semi_colon_char), ';']], :selected => @settings['wktime_field_separator'].blank? ? 0 : @settings['wktime_field_separator']) %>
		</p>
		<p style="margin-left: -180px;">
		  <label><%= l(:label_fields_wrapper) %></label>
		  <%= select_tag 'settings[wktime_field_wrapper]',
			  options_for_select([[l(:label_quote_char), "'"], [l(:label_double_quote_char), '"']], :selected => @settings['wktime_field_wrapper'].blank? ? 0 : @settings['wktime_field_wrapper']) %>
		</p>
		<p style="margin-left: -180px;">
		  <label><%= l(:label_encoding) %></label>
		  <%= select_tag 'settings[wktime_field_encoding]', options_for_select(Setting::ENCODINGS, :selected => @settings['wktime_field_encoding'].blank? ? 0 : @settings['wktime_field_encoding']) %>
		</p>
		<p style="margin-left: -180px;">
		  <label><%= l(:setting_date_format) %></label>
		  <% wktime_helper = Object.new.extend(WktimeHelper) %>
		  <%= select_tag 'settings[wktime_field_datetime]', options_for_select(wktime_helper.date_format_options, :selected => @settings['wktime_field_datetime'].blank? ? 0 : @settings['wktime_field_datetime'] ) %>
		</p>	
		<table>
		<thead>
		<tr>
		<td></td>
		<td><p style="margin-left: -190px;"><label><%= l(:label_available_fields) %></label></p></td>
		<td></td>
		<td><p style="margin-left: -200px;"><label><%= l(:label_fields_in_file) %></p></label></td>
		</tr>
		</thead>
		<tbody>
			<tr valign="top">
				<td>&nbsp;&nbsp;&nbsp;</td>
				<td>					
					<%= select_tag('settings[wktime_avialable_fields]', options_for_select(available_fields.invert), :multiple => true, :size=> 10, :style => "min-width:100px; ") %>
				</td>
				<td valign="center">
					<button type="button" onclick="listbox_moveacross('settings_wktime_avialable_fields', 'settings_wktime_fields_in_file')" id="rightmove" style="position:relative; top:40px;">&gt;&gt;</button>
					<br>
					<button type="button" onclick="listbox_moveacross('settings_wktime_fields_in_file', 'settings_wktime_avialable_fields')" id="rightmove" style="position:relative; top:50px;">&lt;&lt;</button>
				</td>
				<td>					
					<%= select_tag('settings[wktime_fields_in_file]', options_for_select(fldInFiles.invert, :selected =>  @settings['wktime_fields_in_file'] ), multiple: true, size: 10, :style => "min-width:100px; ") %>
				</td>
			</tr>
		</tbody>
		</table>
 </fieldset>
<% if !projArr.blank? %>
<div style = "display:none">
	<%=h select_tag('template_projDD', options_for_select(projArr))%>
</div>
<% end %>