function deleteConfirmation()
{
	var msg = confirm("Do you want to remove this record permanently?");
	if(msg==false)return false;
}

function reorderConfirmation()
{
	var msg = confirm("Do you really want to Reorder this?");
	if(msg==false)return false;
}

function openPopup(url,w,h,scroll,poptype)
{
	var top = 0;
	var left = 0;
	var customize = "toolbar=no,menubar=no,resizable=no,scrollbars="+scroll+",width="+w+",height="+h+",top="+top+",left="+left;
	var x = window.open(url,'_blank',customize);
}

function formValidate(formName,fieldsToBeValidate)
{	
	fieldsArray = fieldsToBeValidate.split('~');
	for(i=0;i<fieldsArray.length;i++)
	{
		fieldElementArray = fieldsArray[i].split(':');
		var fieldName = eval("document."+formName+"."+fieldElementArray[1]);
		
		switch(fieldElementArray[0])
		{
			case 'orderDateTimeDiff':
					keyValueArray = fieldElementArray[2].split('|');
					otherFieldName = eval("document."+formName+"."+keyValueArray[0]);
					if(fieldName.value.replace(/^\s+|\s+$/g,"")!='' && otherFieldName.value.replace(/^\s+|\s+$/g,"")!='')
					{
						todayDateParts = keyValueArray[1].split(',');
						todayDateTime = new Date(todayDateParts[0],todayDateParts[1]-1,todayDateParts[2],todayDateParts[3],todayDateParts[4],todayDateParts[5]);
						
						dateParts = fieldName.value.split('/');
						timeStr =   otherFieldName.value.replace(".",":");
						timeParts = timeStr.split(':');
												
						orderDateTime = new Date(dateParts[2],dateParts[1]-1,dateParts[0],timeParts[0],timeParts[1],00);
						
						oneHour=1000*60*60;

						milliSecondsDiff = orderDateTime.getTime() - todayDateTime.getTime();
						
						hoursDiff = parseInt(milliSecondsDiff / oneHour);
						
						if(hoursDiff < 24)
						{
							alert('Please note that we normally require more than 24 hrs notice to complete an order - depending on the items ordered. You may contact us directly on our 24 hr number +353 (0)87 9079051 to confirm the order delivery.');
							return false;
						}						
					}
					break;
			case 'radio': 
					k = 0;
					len = fieldName.length;
					
					for(i=0; i<len; i++)
					{
						if(fieldName[i].checked) k++;
					}
					
					if(k == 0)
					{
						alert("Please "+fieldElementArray[2]);
						return false;
					}
					break;
			case 'btn_extraservices_next': 
					alert("Please "+fieldElementArray[2]);
					return false;
					break;
			case 'minOrder': 
					minOrderAmount = parseFloat(fieldElementArray[2]);
					if(fieldName.value < minOrderAmount)
					{
						alert("You need to order atleast "+minOrderAmount+" Euro excluding 'Aircraft Service Charge'");
						return false;
					}
					break;
			case 'hidden': 
					if(fieldName.value.replace(/^\s+|\s+$/g,"")=='')
					{
						alert("Please enter "+fieldElementArray[2]);
						return false;
					}
					break;
			case 'iAgree': 
					if(!fieldName.checked)
					{
						alert(fieldElementArray[2]);
						fieldName.focus();
						return false;
					}
					break;
			case 'text': 
					if(fieldName.value.replace(/^\s+|\s+$/g,"")=='')
					{
						alert("Please enter "+fieldElementArray[2]);
						fieldName.focus();
						return false;
					}
					break;
			case 'quantity': 
					priceValue = parseInt(fieldName.value);
					if(fieldName.value.replace(/^\s+|\s+$/g,"")=='' || priceValue <= 0 || isNaN(priceValue))
					{
						alert("Please enter "+fieldElementArray[2]);
						fieldName.focus();
						return false;
					}				
					break;
			case 'price': 
					priceValue = parseFloat(fieldName.value);				
					if(fieldName.value.replace(/^\s+|\s+$/g,"")=='' || priceValue <= 0 || isNaN(priceValue))
					{
						alert("Please enter "+fieldElementArray[2]);
						fieldName.focus();
						return false;
					}				
					break;
			case 'dropDown': 
					if(fieldName.value==0)
					{
						alert("Please select "+fieldElementArray[2]);
						fieldName.focus();
						return false;
					}
					break;
			case 'email': 
					if(fieldName.value.replace(/^\s+|\s+$/g,"")=='')
					{
						alert("Please enter "+fieldElementArray[2]);
						fieldName.focus();
						return false;
					}
					if(!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(fieldName.value)))
					{
						alert("Please enter valid "+fieldElementArray[2]);
						fieldName.focus();
						return false;
					}
					break;
			case 'time': 	
					if(fieldName.value.replace(/^\s+|\s+$/g,"")=='')
					{
						alert("Please enter "+fieldElementArray[2]);
						fieldName.focus();
						return false;
					}
					
					timeStr = fieldName.value;
					
					//timeStr = timeStr.replace(".",":");

					if(timeStr.indexOf(':'))
					{
						timeStr = timeStr.split(":");	
					}
					else
					{
						alert("Please input the Time in 24 hour format e.g. 14:00");
						fieldName.focus();
						return false;
					}

					hour = timeStr[0];
					minute = timeStr[1];
					
					if(isNaN(hour) || isNaN(minute))
					{
						alert("Please input the Time in 24 hour format e.g. 14:00");
						fieldName.focus();
						return false;
					}
					
					if (hour < 0  || hour > 23) 
					{
						alert("Hour must be between 0 and 23");
						fieldName.focus();
						return false;
					}
				
					if (minute<0 || minute > 59) 
					{
						alert ("Minute must be between 0 and 59");
						fieldName.focus();
						return false;
					}
					break;
			case 'timeNotNULL': 
					if(fieldName.value.replace(/^\s+|\s+$/g,"")!='')
					{
						timeStr = fieldName.value;

						timeStr = timeStr.replace(".",":");

						if(timeStr.indexOf(':'))
						{
							timeStr = timeStr.split(":");	
						}
						else
						{
							alert("Please input the Time in 24 hour format e.g. 14:00");
							fieldName.focus();
							return false;
						}

						hour = timeStr[0];
						minute = timeStr[1];

						if(isNaN(hour) || isNaN(minute))
						{
							alert("Please input the Time in 24 hour format e.g. 14:00");
							fieldName.focus();
							return false;
						}

						if (hour < 0  || hour > 23) 
						{
							alert("Hour must be between 0 and 23");
							fieldName.focus();
							return false;
						}

						if (minute<0 || minute > 59) 
						{
							alert ("Minute must be between 0 and 59");
							fieldName.focus();
							return false;
						}
					}
					break;
			case 'futureDate': 
					var result = compareDates(fieldElementArray[2],fieldName.value);
					if(!result)
					{
						alert("Date of Order should be today or any other future dates.");
						fieldName.focus();
						return false;
					}
					break;
			case 'futureDateNotNullEDA': 
					if(fieldName.value.replace(/^\s+|\s+$/g,"")!='')
					{
						var result = compareDates(fieldElementArray[2],fieldName.value);
						if(!result)
						{
							alert("Expected Date of Arrival should be today or any other future dates.");
							fieldName.focus();
							return false;
						}
					}
					break;
			case 'futureDateNotNullEDD': 
					if(fieldName.value.replace(/^\s+|\s+$/g,"")!='')
					{
						var result = compareDates(fieldElementArray[2],fieldName.value);
						if(!result)
						{
							alert("Expected Date of Departure should be today or any other future dates.");
							fieldName.focus();
							return false;
						}
					}
					break;
			case 'dateForOrderCompareNotNull_eda': 
					var dateForOrder = eval("document."+formName+"."+fieldElementArray[1]).value;
					var eda = eval("document."+formName+"."+fieldElementArray[2]).value;
					if(dateForOrder.replace(/^\s+|\s+$/g,"")!='' && eda.replace(/^\s+|\s+$/g,"")!='')
					{	
						var result = compareDates(eda,dateForOrder);
						if(!result)
						{
							alert("Delivery date can not be earlier than Expected Date of Arrival.");
							fieldName.focus();
							return false;
						}
					}
					break;
			case 'dateForOrderCompareNotNull_edd': 
					var edd = eval("document."+formName+"."+fieldElementArray[1]).value;
					var dateForOrder = eval("document."+formName+"."+fieldElementArray[2]).value;
					if(dateForOrder.replace(/^\s+|\s+$/g,"")!='' && edd.replace(/^\s+|\s+$/g,"")!='')
					{	
						var result = compareDates(dateForOrder,edd);
						if(!result)
						{
							alert("Delivery date can not be later than Expected Date of Departure.");
							fieldName.focus();
							return false;
						}
					}
					break;
			case 'dateCompareNotNull': 
					var eda = eval("document."+formName+"."+fieldElementArray[1]).value;
					var edd = eval("document."+formName+"."+fieldElementArray[2]).value;
					if(eda.replace(/^\s+|\s+$/g,"")!='' && edd.replace(/^\s+|\s+$/g,"")!='')
					{	
						var result = compareDates(eda,edd);
						if(!result)
						{
							alert("Expected Date of Departure can not be earlier than Expected Date of Arrival.");
							fieldName.focus();
							return false;
						}
					}
					break;
		}
		
	}
	return true;
}

function compareDates(fromDate,toDate)
{
	var str1 = fromDate;
	var str2 = toDate;
	
	var dt1  = parseInt(str1.substring(0,2),10);
	var mon1 = parseInt(str1.substring(3,5),10);
	var yr1  = parseInt(str1.substring(6,10),10);
	
	var dt2  = parseInt(str2.substring(0,2),10);
	var mon2 = parseInt(str2.substring(3,5),10);
	var yr2  = parseInt(str2.substring(6,10),10);
	
	var date1 = new Date(mon1+'/'+dt1+'/'+yr1);
	
	var date2 = new Date(mon2+'/'+dt2+'/'+yr2);
	
	if(date2 >= date1)
	{
		return true;
	}
	else
	{
		return false;
	}
}

function submitForm(formName)
{
	var x = 'document.'+ formName;
	var y = eval(x);
	y.submit();
}

function submitFormJS(formName, fieldsToBeValidate)
{
	var isValidate = formValidate(formName,fieldsToBeValidate);

	if(isValidate)
	{
		var x = 'document.'+ formName;
		var y = eval(x);
		y.submit();
	}
}

function showAlert(message)
{
	alert(message);
	return false;
}
