﻿
function MoveSelected(availableCountries,selectedCountries)
{
    // Get the object
    var objFrom = document.getElementById(availableCountries);
    var objTo = document.getElementById(selectedCountries);
   
    // Get the Value and Text     
    for(var i=0; i< objFrom.length; i++)
    {            
        if (objFrom.options[i].selected == true)
        {
            var val = objFrom.options[i].value;
            var txt = objFrom.options[i].text;
            
            // If the option does not exist, add the option
            if (IsExists(objTo, val) == false)
            {
                // Call the Function that will add the details
                // into the List box 
                addOption(objTo, txt, val, 1);
            }
        }
    }     
}

// Check the Exist
function IsExists(objDdl, val)
{
    for(var i=0; i<objDdl.length; i++)
    {
        var optVal = objDdl.options[i].value;
        // If the value exists return true
        if (optVal == val)
            return true;
    }
    return false;
}

//function add a new option to the list box
function addOption(obj, txt, val, txtCompare)
{
    var txtToCompare = txt.toUpperCase();
    var posToInsert = -1;
    
    // Create new option element
    var oOption = new Option(txt, val);
	
	// If text comparision needs to be done
	if (txtCompare == 1)
	{
	    // Check where to insert this
	    for(var i=0; i<obj.length; i++)
	    {
	        var txt = obj.options[i].text.toUpperCase();
	        var val = obj.options[i].value;
	        
	        if (txt > txtToCompare)
	        {
	            posToInsert = i;
	            break;
	        }
	    }
	}
		
	// Add the option
	if (posToInsert >= 0)
	    obj.options.add(oOption, posToInsert);
	else
	    obj.options.add(oOption);	
}

// This is for Travel Health Advice
function removeSelected(selectedCountries)
{
    var objFrom = document.getElementById(selectedCountries);
    
  	if (objFrom.length > 0)
	{
	    var index = objFrom.selectedIndex;
	    while (index != -1)
	    {
	        //remove the option
	        objFrom.options[index] = null;
	        index = objFrom.selectedIndex;
	    }
	}	
}

function IsValidDate(dd, mm, yyyy)
{
    
    // Convert to int
     dd = eval(dd);
    
    // Form the date selected
    var selectedDate = new Date("01/01/1900");    
    selectedDate.setDate(dd);
    selectedDate.setMonth(mm-1);        // Month starts from 0 as Jan and 11 as Dec
    selectedDate.setFullYear(yyyy);    
    
    // fetch the day value returned by the date formed
    var selectedDay = selectedDate.getDate();
    var selectedMonth = selectedDate.getMonth();
    var selectedYear = selectedDate.getYear();
    
    // Current date
    var now = new Date();
    var dayToday = now.getDate();
    var monthToday = now.getMonth();
    var yearToday = now.getYear();
    
    // If there is a mismatch in day value, then invalid date selected. For eg. 31/11/2006
    if (selectedDay != dd)
    {
        alert("Please select a valid date");
        return false;
    }
    
    // Selected date should be later than today's date
    if (selectedYear < yearToday)
    {
        alert("Please select a later date");
        return false;
    }
    else if (selectedYear == yearToday)
    {
        if (selectedMonth < monthToday)
        {
            alert("Please select a later date");
            return false;
        }
        else if (selectedMonth == monthToday)
        {
            if (selectedDay < dayToday)
            {
                alert("Please select a later date");
                return false;
            }
        }
    }
}

// Submit function
function SubmitForm()
{
    // Get the form Object
    var objForm = document.getElementById("frmTVPForm");
    var objTo   = document.getElementById("lstCountrySelected");
   
  
    var objDD = document.getElementById("selectDD");
    var objMM = document.getElementById("selectMM");
    var objYYYY = document.getElementById("selectYYYY");
      
    
    // Check if countries have been selected
    if(objTo.length <= 0)
    {
        alert("Please select the countries");
        return false;   
    }
    
    // Check if the selected date is a valid date
    if (IsValidDate(objDD.value, objMM.value, objYYYY.value) == false)
    {
        return false;
    }
    
    // If child criterias are selected
    if (hasChildOptionSelected() == false)
    {
		return false;
    }
        
    if (objForm != null)
    {
        // Call the Function SelectedValues
        focusSelectedValues( document.getElementById("lstCountrySelected") );
        focusSelectedValues( document.getElementById("lstBoxAdviceSelected") );
        
        // Submit the Form
        objForm.submit();
        return true;
    }
    else
    {
        return false;
    }
}

// Focus will be for the Selected Values
function focusSelectedValues(objDdl)
{
    for(var i=0; i<objDdl.length; i++)
    {
        objDdl.options[i].selected = true;
    }
}
// function to display age and wt options for child
function DisplayChildOption()
{
	// Get the traveller type selected
	var objDD = document.getElementById("ddlTravellerType");
	if (objDD != null)
	{	
		var objChild = document.getElementById("childAgeWt");
		
		// If object found
		if (objChild != null)
		{
			var i = objDD.selectedIndex;
			// alert(i);
			
			// If child selected then display the other elements else hide
			if (i == 1)
				objChild.style.display="";
			else
				objChild.style.display="none";
		}
	}
}

// function to initialize the controls on body load
function initializeControls()
{
	// Display child options
	DisplayChildOption();
	
	// Initlaize to today's date
	// Current date
    var now = new Date();
    var dayToday = eval(now.getDate());
    var monthToday = eval(now.getMonth());
    var yearToday = eval(now.getYear());
	
	//alert(dayToday + "," + monthToday + "," + yearToday);
    
    var objDD = document.getElementById("selectDD");
    var objMM = document.getElementById("selectMM");
    var objYYYY = document.getElementById("selectYYYY");
    
    // If drop down present
    if (objDD != null)
    {
		// Set current date, year and month
		objDD.options[dayToday-1].selected = true;
		objMM.options[monthToday].selected = true;
		
		for(var i=0; i<objYYYY.length; i++)
		{
			if (objYYYY[i].value == yearToday)
			{
				objYYYY.options[i].selected = true;
				break;
			}
		}
    }
}

// If child criterias are selected
function hasChildOptionSelected()
{
	var flag = true;
	
	// Get the traveller type selected
	var objDD = document.getElementById("ddlTravellerType");
	if (objDD != null)
	{
		var i = objDD.selectedIndex;
		if (i == 1)
		{
			var objAgeYY = document.getElementById("ddlAgeYY");
			var objAgeMM = document.getElementById("ddlAgeMM");
			var objWt = document.getElementById("ddlWt");
    
			var yy = eval(objAgeYY.value);
			var mm = eval(objAgeMM.value);
			var wt = eval(objWt.value);
    
			// if nothing has been selected
			if ( (yy + mm + wt) == 0)
			{
				alert("Please select child age and weight");
				objAgeYY.focus();
				flag = false;
			}
		}
	}
	
	// return flag
	return flag;    
}