<!--
	// JavaScript functions
	// Written by: Rainer Rusch
	// Date: 22.02.2009
	// Last Change: 
	
	
	//
	// Data Change - record change to any field
	//
	function dataChange() {
		if (!document.getElementById && !document.insertBefore) {
			// Browser does not support W3C DOM
			return;
		}
		
		document.getElementById('data_change').value = "yes";
	}
	
	
	//
	// Check Data Change - check if data has changed after last save
	//
	function checkDataChange() {
		if (!document.getElementById && !document.insertBefore) {
			// Browser does not support W3C DOM
			return;
		}
		
		if (document.getElementById('data_change').value == "yes") {
			if (confirm("The data in this page has changed.\n\nDo you want to discard the changes?")) {
				return true;
			} else {
				return false;
			}
		}
	}
	
	//
	// Check Date - check date in field
	//
	function checkDate(theDate) {
		if (!document.getElementById && !document.insertBefore) {
			// Browser does not support W3C DOM
			return;
		}
		
		if (theDate.length > 0) {
			var dateEntry = theDate;
			var dateArr   = dateEntry.split(".");
			var day       = dateArr[0];
			var month     = dateArr[1];
			var year      = dateArr[2];
			
			var newDate   = new Date(year, month, day);
			if (newDate == 'NaN') {
				return false;
			} else {
				return true;
			}
		} else {
			return true;
		}
	}
	
	
	//
	// isNumeric - check that value is numeric
	//
	function isNumeric(value) {
		var validChars = "0123456789.";
		var isNumber   = true;
		var char;

		for (i = 0; i < value.length && isNumber == true; i++) { 
			char = value.charAt(i); 
			if (validChars.indexOf(char) == -1) {
				isNumber = false;
			}
		}
		return isNumber;
	}

	
	
	//
	// Confirm Delete
	//
	function confirmDelete(item) {
		if (confirm("Are you sure you want to delete this "+item+"?")) {
			return true;
		} else {
			return false;
		}
	}
	
	//
	// Add Lines to page
	// 
	function addLine(tblId) {
  		if (!document.getElementById && !document.insertBefore) {
			// Browser does not support W3C DOM
			return;
		}
		
  		var date_fields = new Array;
		var counter = document.getElementById('counter').value-0;
  		counter++;
		document.getElementById('counter').value = counter;
		
		var tblBody = document.getElementById(tblId).tBodies[2];
		var newLine = tblBody.rows[0].cloneNode(true);
  		newLine.id = 'clone' + counter;
		newLine.style.visibility = "visible";
		
		var lineFields = newLine.getElementsByTagName("*");
		for (var i=0;i<lineFields.length;i++) {
			var theName = lineFields[i].name
			if (theName) {
			  lineFields[i].name = theName.substring(0,theName.length) + counter;
			  lineFields[i].id = theName.substring(0,theName.length) + counter;
			  if ((theName.match(/date/)) && (lineFields[i].type == "text")) {
				  date_fields.push(theName + counter);
			  }
			}
		}
		
		var insertPlace = document.getElementById(tblId).tBodies[1];
		insertPlace.appendChild(newLine);
		
		for (var i=0;i<date_fields.length;i++) {
			var theName = date_fields[i];
			Calendar.setup({
				inputField     :    theName,
				ifFormat       :    "%d.%m.%Y",
				button         :    "t_" + theName,
				align          :    "Tl",
				singleClick    :    true
			});
		}
		
		var theMessage = "Line added...";
		window.status = theMessage;
	}
	
	//
	// delete Line
	// 
	function deleteLine(thisItem) {
  		if (!document.getElementById && !document.insertBefore) {
			// Browser does not support W3C DOM
			return;
		}
		
		var ok = confirm("Are you sure you want to delete this Line?");
		if (ok) {
			thisItem.parentNode.parentNode.parentNode.removeChild(thisItem.parentNode.parentNode);
		}
	}
	
	//
	// Confirm Logoff
	//
	function confirmLogoff() {
		if (confirm("Are you sure you want to log off?")) {
			return true;
		} else {
			return false;
		}
	}
	
	//
	// set Focus of field
	//
	function setFocus(field) {
		if (!document.getElementById && !document.insertBefore) {
			// Browser does not support W3C DOM
			return;
		}
		
		document.getElementById(field).focus();
	}
	
	//
	// set Notify Contact check box
	//
	function setNotifyContact() {
		if (!document.getElementById && !document.insertBefore) {
			// Browser does not support W3C DOM
			return;
		}
		
		if (document.getElementById('status').value == "closed") {
			document.getElementById('notify_contact').checked = true;
			document.getElementById('notify_contact').disabled = true;
		} else {
			document.getElementById('notify_contact').disabled = false;
		}
	}
	
	//
	// set Notify Assignee check box
	//
	function setNotifyAssignee() {
		if (!document.getElementById && !document.insertBefore) {
			// Browser does not support W3C DOM
			return;
		}
		
		if (document.getElementById('tic_status').value == "reopen") {
			document.getElementById('notify_assignee').checked = true;
			document.getElementById('notify_assignee').disabled = true;
		} else {
			document.getElementById('notify_assignee').disabled = false;
		}
	}
	
	//
	// Verify Logon Data
	//
	function verifyLogonData() {
		if (!document.getElementById && !document.insertBefore) {
			// Browser does not support W3C DOM
			return;
		}
		
		var ErrorMessage = "Error:\n";
		var showError = false;
		
		if (document.getElementById('user_name').value.length <= 0) {
			ErrorMessage += "Please enter the User name;\n";
			showError = true;
		}
		if (document.getElementById('password').value.length <= 0) {
			ErrorMessage += "Please enter the Password;\n";
			showError = true;
		}
		
		if (showError) {
			window.alert(ErrorMessage);
			return false;
		} else {
			return true;
		}
	}
	
	//
	// Verify Company Master Data
	//
	function verifyCompanyData() {
		if (!document.getElementById && !document.insertBefore) {
			// Browser does not support W3C DOM
			return;
		}
		
		var ErrorMessage = "Error:\n";
		var showError = false;
		
		if (document.getElementById('company').value.length <= 0) {
			ErrorMessage += "Please enter the Company;\n";
			showError = true;
		}
		if (document.getElementById('tel_no').value.length <= 0) {
			ErrorMessage += "Please enter the Tel no;\n";
			showError = true;
		}
		if (document.getElementById('city').value <= 0) {
			ErrorMessage += "Please select the City;\n";
			showError = true;
		}
		
		var num_products = document.getElementById('counter').value;
		for (var i = 1; i <= num_products; i++) {
			if (document.getElementById('unicare_'+i).checked == true) {
				if (document.getElementById('unicare_expiry_date_'+i).value.length <= 0) {
					ErrorMessage += "Please enter the Unicare Expiry date;\n";
					showError = true;
				}
			}
		}
		
		if (showError) {
			window.alert(ErrorMessage);
			return false;
		} else {
			return true;
		}
	}
	
	//
	// Verify Site Master Data
	//
	function verifySiteData() {
		if (!document.getElementById && !document.insertBefore) {
			// Browser does not support W3C DOM
			return;
		}
		
		var ErrorMessage = "Error:\n";
		var showError = false;
		
		if (document.getElementById('cid').value.length <= 0) {
			ErrorMessage += "Company not defined;\n";
			showError = true;
		}
		if (document.getElementById('site').value.length <= 0) {
			ErrorMessage += "Please enter the Site;\n";
			showError = true;
		}
		if (document.getElementById('city').value <= 0) {
			ErrorMessage += "Please select the City;\n";
			showError = true;
		}
		
		if (showError) {
			window.alert(ErrorMessage);
			return false;
		} else {
			return true;
		}
	}
	
	//
	// Verify Contact Master Data
	//
	function verifyContactData() {
		if (!document.getElementById && !document.insertBefore) {
			// Browser does not support W3C DOM
			return;
		}
		
		var ErrorMessage = "Error:\n";
		var showError = false;
		
		if (document.getElementById('cid').value.length <= 0) {
			ErrorMessage += "Company not defined;\n";
			showError = true;
		}
		if (document.getElementById('user_name').value.length <= 0) {
			ErrorMessage += "Please enter the User Name;\n";
			showError = true;
		}
		if (document.getElementById('id').value == "new") {
			if (document.getElementById('password_1').value.length <= 0) {
				ErrorMessage += "Please enter the Password;\n";
				showError = true;
			}
			if (document.getElementById('password_2').value.length <= 0) {
				ErrorMessage += "Please confirm the Password;\n";
				showError = true;
			}
		}
		if ((document.getElementById('password_1').value.length > 0) || (document.getElementById('password_2').value.length > 0)) {
			if (document.getElementById('password_1').value != document.getElementById('password_2').value) {
				ErrorMessage += "Passwords do not match;\n";
				showError = true;
			}
		}
		if (document.getElementById('full_name').value.length <= 0) {
			ErrorMessage += "Please enter the Full Name;\n";
			showError = true;
		}
		if (document.getElementById('position').value <= 0) {
			ErrorMessage += "Please select the Position;\n";
			showError = true;
		}
		if (document.getElementById('tel_no').value.length <= 0) {
			ErrorMessage += "Please enter the Tel no;\n";
			showError = true;
		}
		if (document.getElementById('cell_no').value.length <= 0) {
			ErrorMessage += "Please enter the Cell no;\n";
			showError = true;
		}
		if (document.getElementById('email').value.length <= 0) {
			ErrorMessage += "Please enter the E-Mail;\n";
			showError = true;
		}
		
		if (showError) {
			window.alert(ErrorMessage);
			return false;
		} else {
			return true;
		}
	}
	
	//
	// Verify MyProfile Data
	//
	function verifyMyProfileData() {
		if (!document.getElementById && !document.insertBefore) {
			// Browser does not support W3C DOM
			return;
		}
		
		var ErrorMessage = "Error:\n";
		var showError = false;
		
		if ((document.getElementById('password_1').value.length > 0) || (document.getElementById('password_2').value.length > 0)) {
			if (document.getElementById('password_1').value != document.getElementById('password_2').value) {
				ErrorMessage += "Passwords do not match;\n";
				showError = true;
			}
		}
		if (document.getElementById('tel_no').value.length <= 0) {
			ErrorMessage += "Please enter the Tel no;\n";
			showError = true;
		}
		if (document.getElementById('cell_no').value.length <= 0) {
			ErrorMessage += "Please enter the Cell no;\n";
			showError = true;
		}
		if (document.getElementById('email').value.length <= 0) {
			ErrorMessage += "Please enter the E-Mail;\n";
			showError = true;
		}
		
		if (showError) {
			window.alert(ErrorMessage);
			return false;
		} else {
			return true;
		}
	}
	
	//
	// Verify Product Data
	//
	function verifyProductData() {
		if (!document.getElementById && !document.insertBefore) {
			// Browser does not support W3C DOM
			return;
		}
		
		var ErrorMessage = "Error:\n";
		var showError = false;
		
		if (document.getElementById('product_code').value.length <= 0) {
			ErrorMessage += "Please enter the Product Code;\n";
			showError = true;
		}
		if (document.getElementById('description').value.length <= 0) {
			ErrorMessage += "Please enter the Description;\n";
			showError = true;
		}
		if (document.getElementById('license').value.length <= 0) {
			ErrorMessage += "Please enter the License;\n";
			showError = true;
		} else {
			if (!isNumeric(document.getElementById('license').value)) {
				ErrorMessage += "License must be numeric;\n";
				showError = true;
			}
		}
		if (document.getElementById('retail_value').value.length <= 0) {
			ErrorMessage += "Please enter the Retail Value;\n";
			showError = true;
		} else {
			if (!isNumeric(document.getElementById('retail_value').value)) {
				ErrorMessage += "Retail Value must be numeric;\n";
				showError = true;
			}
		}
		
		if (showError) {
			window.alert(ErrorMessage);
			return false;
		} else {
			return true;
		}
	}
	
	//
	// Verify Position Data
	//
	function verifyPositionData() {
		if (!document.getElementById && !document.insertBefore) {
			// Browser does not support W3C DOM
			return;
		}
		
		var ErrorMessage = "Error:\n";
		var showError = false;
		
		if (document.getElementById('position').value.length <= 0) {
			ErrorMessage += "Please enter the Position;\n";
			showError = true;
		}
		
		if (showError) {
			window.alert(ErrorMessage);
			return false;
		} else {
			return true;
		}
	}
	
	//
	// Verify City Data
	//
	function verifyCityData() {
		if (!document.getElementById && !document.insertBefore) {
			// Browser does not support W3C DOM
			return;
		}
		
		var ErrorMessage = "Error:\n";
		var showError = false;
		
		if (document.getElementById('city').value.length <= 0) {
			ErrorMessage += "Please enter the City;\n";
			showError = true;
		}
		
		if (showError) {
			window.alert(ErrorMessage);
			return false;
		} else {
			return true;
		}
	}
	
	//
	// Verify Role Master Data
	//
	function verifyRoleData() {
		if (!document.getElementById && !document.insertBefore) {
			// Browser does not support W3C DOM
			return;
		}
		
		var ErrorMessage = "Error:\n";
		var showError = false;
		
		if (document.getElementById('role').value.length <= 0) {
			ErrorMessage += "Please enter the Role;\n";
			showError = true;
		}
		
		if (showError) {
			window.alert(ErrorMessage);
			return false;
		} else {
			return true;
		}
	}
	
	//
	// Verify Ticket Type Data
	//
	function verifyTicketTypeData() {
		if (!document.getElementById && !document.insertBefore) {
			// Browser does not support W3C DOM
			return;
		}
		
		var ErrorMessage = "Error:\n";
		var showError = false;
		
		if (document.getElementById('type').value.length <= 0) {
			ErrorMessage += "Please enter the Ticket Type;\n";
			showError = true;
		}
		
		if (showError) {
			window.alert(ErrorMessage);
			return false;
		} else {
			return true;
		}
	}
	
	
	//
	// Verify Response Time Data
	//
	function verifyResponseTimeData() {
		if (!document.getElementById && !document.insertBefore) {
			// Browser does not support W3C DOM
			return;
		}
		
		var ErrorMessage = "Error:\n";
		var showError = false;
		
		if (document.getElementById('uc_response_time').value.length <= 0) {
			ErrorMessage += "Please enter the Unicare Response Time;\n";
			showError = true;
		}
		if (document.getElementById('uc_onsite_time').value.length <= 0) {
			ErrorMessage += "Please enter the Unicare Onsite Time;\n";
			showError = true;
		}
		if (document.getElementById('uc_resolution_time').value.length <= 0) {
			ErrorMessage += "Please enter the Unicare Resolution Time;\n";
			showError = true;
		}
		if (document.getElementById('response_time').value.length <= 0) {
			ErrorMessage += "Please enter the Response Time;\n";
			showError = true;
		}
		if (document.getElementById('onsite_time').value.length <= 0) {
			ErrorMessage += "Please enter the Onsite Time;\n";
			showError = true;
		}
		if (document.getElementById('resolution_time').value.length <= 0) {
			ErrorMessage += "Please enter the Resolution Time;\n";
			showError = true;
		}
		
		if (showError) {
			window.alert(ErrorMessage);
			return false;
		} else {
			return true;
		}
	}
	

	//
	// Verify New Ticket Data
	//
	function verifyTicketNewData() {
		if (!document.getElementById && !document.insertBefore) {
			// Browser does not support W3C DOM
			return;
		}
		
		var ErrorMessage = "Error:\n";
		var showError = false;
		
		if (document.getElementById('summary').value.length <= 0) {
			ErrorMessage += "Please enter the Summary;\n";
			showError = true;
		}
		if (document.getElementById('description').value.length <= 0) {
			ErrorMessage += "Please enter the Description;\n";
			showError = true;
		}
		if (document.getElementById('product').value <= 0) {
			ErrorMessage += "Please select the Product;\n";
			showError = true;
		}
		
		if (showError) {
			window.alert(ErrorMessage);
			return false;
		} else {
			return true;
		}
	}
	
	//
	// Verify Ticket Update Data
	//
	function verifyTicketUpdateData() {
		if (!document.getElementById && !document.insertBefore) {
			// Browser does not support W3C DOM
			return;
		}
		
		var ErrorMessage = "Error:\n";
		var showError = false;
		
		if (document.getElementById('summary').value.length <= 0) {
			ErrorMessage += "Please enter the Summary;\n";
			showError = true;
		}
		if (document.getElementById('comment').value.length <= 0) {
			ErrorMessage += "Please enter the Comment;\n";
			showError = true;
		}
		if ((document.getElementById('time_spent_h').value == '0') && (document.getElementById('time_spent_m').value == '0')) {
			ErrorMessage += "Please enter the Time Spent;\n";
			showError = true;
		}
		if (document.getElementById('status').value == "closed") {
			if (document.getElementById('ticket_type').value <= 0) {
				ErrorMessage += "Please select the Ticket Type;\n";
				showError = true;
			}
			if (document.getElementById('call_out_number').value <= 0) {
				ErrorMessage += "Please enter the Call Out Number;\n";
				showError = true;
			}
		}
		
		if (showError) {
			window.alert(ErrorMessage);
			return false;
		} else {
			return true;
		}
	}
	
	//
	// Verify Ticket Transfer Data
	//
	function verifyTicketTransferData() {
		if (!document.getElementById && !document.insertBefore) {
			// Browser does not support W3C DOM
			return;
		}
		
		var ErrorMessage = "Error:\n";
		var showError = false;
		
		if (document.getElementById('summary').value.length <= 0) {
			ErrorMessage += "Please enter the Summary;\n";
			showError = true;
		}
		if (document.getElementById('comment').value.length <= 0) {
			ErrorMessage += "Please enter the Comment;\n";
			showError = true;
		}
		if ((document.getElementById('time_spent_h').value == '0') && (document.getElementById('time_spent_m').value == '0')) {
			ErrorMessage += "Please enter the Time Spent;\n";
			showError = true;
		}
		if (document.getElementById('new_assignee').value <= 0) {
			ErrorMessage += "Please select the new Assignee;\n";
			showError = true;
		}
		
		if (showError) {
			window.alert(ErrorMessage);
			return false;
		} else {
			return true;
		}
	}
	
	//
	// Verify Ticket Comment Data
	//
	function verifyTicketCommentData() {
		if (!document.getElementById && !document.insertBefore) {
			// Browser does not support W3C DOM
			return;
		}
		
		var ErrorMessage = "Error:\n";
		var showError = false;
		
		if (document.getElementById('summary').value.length <= 0) {
			ErrorMessage += "Please enter the Summary;\n";
			showError = true;
		}
		if (document.getElementById('comment').value.length <= 0) {
			ErrorMessage += "Please enter the Comment;\n";
			showError = true;
		}
		
		if (showError) {
			window.alert(ErrorMessage);
			return false;
		} else {
			return true;
		}
	}
	
-->
	