function destinationID_onChange(){
    if(dijit.byId("selDestinationId").validate() && dijit.byId("selDestinationId").value != "0"){
        var portstore = new dojo.data.ItemFileReadStore({url: "/cruise/cruiseports?did="+dijit.byId("selDestinationId").value});
        dijit.byId("selPortId").setDisabled(true);
        dijit.byId("selPortId").attr("displayedValue", "Loading...");
        portstore.fetch({
            onBegin:function(){                
                
            },
            onComplete:function(items){
                dijit.byId("selPortId").store = portstore;
                dijit.byId("selPortId").setDisabled(false);
		dijit.byId("selPortId").attr("displayedValue", "Any Port");
                if(portText != ""){
                    dijit.byId("selPortId").attr("displayedValue",portText);
                }else{
                    dijit.byId("selPortId").attr("displayedValue",items[0].name.toString());
                }                
                dojo.byId("selPortId").select();
            }
        });        
    }else{
	dijit.byId("selPortId").setDisabled(true);
    }
}

function btnCruiseSearch_onClick(){
    if(dijit.byId("frmCruiseSearch").validate()){
	if(dijit.byId("selDestinationId").value != "none"){
	    dojo.byId("destinationText").value = dojo.byId("selDestinationId").value;
	    dojo.byId("portText").value = dojo.byId("selPortId").value;
	    dojo.byId("departureDateText").value = dojo.byId("selDepartDate").value;
	    dojo.byId("cruiseLengthText").value = dojo.byId("selCruiseLength").value;
	    dojo.byId("cruiseLineText").value = dojo.byId("selCruiseLine").value;
	    dojo.byId("starRatingText").value = dojo.byId("selMaxStar").value;
	    dojo.byId("loader").style.display = "block";
	    dojo.byId("messagetext").innerHTML = "Please wait...";
	    dojo.byId("messagebox").title = "Searching!";
	    dijit.byId("messagebox").show();
	    dijit.byId("frmCruiseSearch").submit();
	}else{
	    dijit.byId("selDestinationId").displayMessage("Please select a destination");
	}
    }
}

function bookNow_onClick(shipId,itineraryId){
    dojo.byId("bookingShipId").value = shipId;
    dojo.byId("bookingItineraryId").value = itineraryId;
    dojo.byId("frmBookNow").submit();
}

function topCruise_onSelect(cruiseId,destText){    
    dojo.byId("cruiseId").value = cruiseId;
    dojo.byId("destinationText").value = destText;
    dojo.byId("frmCruiseSearch").action = "/cruise/step2";
    dojo.byId("frmCruiseSearch").submit();
}

function selectCruiseDate(sid){
    dojo.byId("bookingSailingId").value = sid;    
    dojo.byId("frmBookNow").submit();
}

function ajaxImageSwap(TagID, newImg) {
    dojo.byId('ImageSwapTag'+TagID).innerHTML = '<img src='+newImg+' style="width:300px; height:200px; overflow:hidden; padding:2px; border:solid 1px #999999;" alt="" />';
}

function getDeckInfo(deckID, itineraryID, shipID, transactionID) {
    dojo.byId("bookingShipId").value = shipID;
    dojo.byId("bookingItineraryId").value = itineraryID;
    var url = '/cruise/deckinfo';
    dojo.byId('imgLoading').style.display = 'block';
    dojo.byId('tdDecks').innerHTML = '<select name="Decks" id="selDecks" style="width:200px;" disabled="disabled"><option value="N/A">Loading, Please Wait...</option></select>';
    $.ajax({
	    url: url,
	    type: 'post', // IE COMPATIBILITY ISSUE WITH LARGE AMOUNT OF DATA
	    data: 'deckID=' + deckID + '&itineraryID=' + itineraryID + '&shipID=' + shipID + '&transactionID=' + transactionID,
	    success: function(result){
		    dojo.byId('Ajax_Deck').innerHTML = result;
		    dojo.byId('imgLoading').style.display = 'none';
	    //$("#Ajax_Deck").after(result).remove(); // WAS NOT WORKING IN IE
	    }
    });
}

function selectCabinCategoryCode(cabincatcode){
    dojo.byId("bookingCabinCatCode").value = cabincatcode;
    dojo.byId("frmBookNow").submit();
}

function selectCabinNumber(cabin_number,cabin_name,deck_name,target_cabin_id){
    dojo.byId('bookingCabinName').value	= cabin_number;
    dojo.byId('bookingCabinNumber').value	= cabin_name;
    dojo.byId('bookingDeckName').value		= deck_name;
    dojo.byId('bookingTargetCabinId').value	= target_cabin_id;
    dojo.byId('frmBookNow').submit();
}

function getStatesForCountry(country,i) {
	dojo.byId("state_area_"+i).innerHTML = '<label for="AdultArray['+i+'][state]" class="labelStep6">State</label><select name="AdultArray['+i+'][state]" id="AdultArray['+i+'][state]" disabled="disabled" style="width:228px;"><option value="none">Loading, Please Wait...</option></select>';
//	dojo.byId("state_area_"+i).style.display = 'none';
	var url = '/cruise/getstatesforcountry?';
	$.ajax({
		url: url,
		data: 'country=' + country + '&i=' + i,
		success: function(result){
			dojo.byId("state_area_"+i).innerHTML = result;
			//$("#AdultArray["+i+"][state]").after(result).remove();
		}
	});
}

function checkGender(id,i,ArrayName) {
    if(ArrayName == 'Adult')
	    obj = get('AdultArray['+i+'][Gender]');
    else if(ArrayName == 'Children')
	    obj = get('ChildrenArray['+i+'][Gender]');
    if ((id == 2)||(id == 4)||(id == 5)) obj.value = 2;
    else obj.value = 1;
}

function checkBookingStep6(send) {
    var formErrors = false;
    var errorMsg = '';
    var Adults = dojo.byId('bookingAdult').value;
    var Children = dojo.byId('bookingChildren').value;
    var fields = Array('firstName','lastName');
    var errorMsgs = Array(
    'Please enter the First Name',
    'Please enter your Last Name',
    'Please enter your Date of Birth');
    var i = 0;
    var x = 1;
    var id = "";
    for(x=1;x<=Adults;x++) {
	    for(y=0;y<fields.length;y++) {
		    id = "AdultArray["+x+"][lbl_"+fields[i]+"]";
		    dojo.byId(id).className = 'labelStep6';
		    id = "AdultArray["+x+"]["+fields[i]+"]";
		    if(dojo.byId(id).value == "") {
			    formErrors = true;
		    }
		    i++;
	    }
	    dojo.byId("AdultArray["+x+"][lbl_DOB]").className = 'labelStep6';
	    if (dojo.byId("AdultArray["+x+"][DOBD]").value == "N/A")
		    formErrors = true;
	    else if (dojo.byId("AdultArray["+x+"][DOBM]").value == "N/A")
		    formErrors = true;
	    else if (dojo.byId("AdultArray["+x+"][DOBY]").value == "N/A")
		    formErrors = true;
	    i=0;
    }
    for(x=1;x<=Children;x++) {
	    for(y=0;y<fields.length;y++) {
		    dojo.byId("ChildrenArray["+x+"][lbl_"+fields[i]+"]").className = 'labelStep6';
		    if(dojo.byId("ChildrenArray["+x+"]["+fields[i]+"]").value == "") {
			    formErrors = true;
		    }
		    i++;
	    }
	    dojo.byId("ChildrenArray["+x+"][lbl_DOB]").className = 'labelStep6';
	    if (dojo.byId("ChildrenArray["+x+"][DOBD]").value == "N/A")
		    formErrors = true;
	    else if (dojo.byId("ChildrenArray["+x+"][DOBM]").value == "N/A")
		    formErrors = true;
	    else if (dojo.byId("ChildrenArray["+x+"][DOBY]").value == "N/A")
		    formErrors = true;
	    i=0;
    }
    if ((formErrors)&&(send))
	    confirm_booking_checked = true;
    if (confirm_booking_checked) {
	    for(x=1;x<=Adults;x++) {
		    for(y=0;y<fields.length;y++) {
			    if(dojo.byId("AdultArray["+x+"]["+fields[i]+"]").value == "") {
				    errorMsg += '<br> &raquo;  '+errorMsgs[i]+' for adult Passenger #'+x;
				    dojo.byId("AdultArray["+x+"][lbl_"+fields[i]+"]").className = 'labelErrorStep6';
				    formErrors = true;
			    }
			    i++;
		    }
		    if (dojo.byId("AdultArray["+x+"][DOBD]").value == "N/A") {
			    errorMsg += '<br> &raquo;  '+errorMsgs[2]+' for adult Passenger #'+x;
			    dojo.byId("AdultArray["+x+"][lbl_DOB]").className = 'labelErrorStep6';
			    formErrors = true;
		    } else if (dojo.byId("AdultArray["+x+"][DOBM]").value == "N/A") {
			    errorMsg += '<br> &raquo;  '+errorMsgs[2]+' for adult Passenger #'+x;
			    dojo.byId("AdultArray["+x+"][lbl_DOB]").className = 'labelErrorStep6';
			    formErrors = true;
		    } else if (dojo.byId("AdultArray["+x+"][DOBY]").value == "N/A") {
			    errorMsg += '<br> &raquo;  '+errorMsgs[2]+' for adult Passenger #'+x;
			    dojo.byId("AdultArray["+x+"][lbl_DOB]").className = 'labelErrorStep6';
			    formErrors = true;
		    }
		    i=0;
	    }
	    for(x=1;x<=Children;x++) {
		    for(y=0;y<fields.length;y++) {
			    if(dojo.byId("ChildrenArray["+x+"]["+fields[i]+"]").value == "") {
				    errorMsg += '<br> &raquo;  '+errorMsgs[i]+' for child Passenger #'+x;
				    dojo.byId("ChildrenArray["+x+"][lbl_"+fields[i]+"]").className = 'labelErrorStep6';
				    formErrors = true;
			    }
			    i++;
		    }
		    if (dojo.byId("ChildrenArray["+x+"][DOBD]").value == "N/A") {
			    errorMsg += '<br> &raquo;  '+errorMsgs[2]+' for child Passenger #'+x;
			    dojo.byId("ChildrenArray["+x+"][lbl_DOB]").className = 'labelErrorStep6';
			    formErrors = true;
		    } else if (dojo.byId("ChildrenArray["+x+"][DOBM]").value == "N/A") {
			    errorMsg += '<br> &raquo;  '+errorMsgs[2]+' for child Passenger #'+x;
			    dojo.byId("ChildrenArray["+x+"][lbl_DOB]").className = 'labelErrorStep6';
			    formErrors = true;
		    } else if (dojo.byId("ChildrenArray["+x+"][DOBY]").value == "N/A") {
			    errorMsg += '<br> &raquo;  '+errorMsgs[2]+' for child Passenger #'+x;
			    dojo.byId("ChildrenArray["+x+"][lbl_DOB]").className = 'labelErrorStep6';
			    formErrors = true;
		    }
		    i=0;
	    }
    }
    if ((!formErrors)&&(send)) {
	    dojo.byId('BookingStep6').submit();
    } else if (send) {
	    confirm_booking_checked = true;
	    dojo.byId('errorMsgDlg').innerHTML = errorMsg;
	    $(function(){
		    $('#errorMsgDlg').dialog({
			    modal: true,
			    resizable: false,
			    width: 400,
			    title: 'Please, fill the following fields:',
			    buttons: { "Ok": function() { $(this).dialog('close'); } }
		    });
		    $('#errorMsgDlg').dialog('open');
	    });
    }
}

function addNewCruise() {
    if(dojo.byId("cbTerms").checked){	
	dojo.byId("loader").style.display = "block";
	dojo.byId("messagetext").innerHTML = "Processing... please wait!";
	dijit.byId("messagebox").show();
	dojo.xhrPost({
	    form:dojo.byId('frmAddNewCruise'),
	    handleAs:"xml",
	    timeout:15000,
	    load: function(response,ioArgs){
		var status = response.getElementsByTagName("status");
		var msg = response.getElementsByTagName("message");
		if(status[0].childNodes[0].nodeValue == "1"){
		    LoadCart("Items in you basket");
		}
		dojo.byId("messagetext").innerHTML = msg[0].childNodes[0].nodeValue;
		dijit.byId("messagebox").hide();
	    },
	    error: function(response, ioArgs) {
		dojo.byId("messagetext").innerHTML = response;
	    }
	});
    }else{
	dojo.byId("messagetext").innerHTML = "Please confirm you have read and agreed to the terms and conditions";
	dijit.byId("messagebox").show();
    }
}
