onload = commonLoad;

function commonLoad() {
    fixFormsArray();
}

//loadQueue[ loadQueue.length ] = 'fixFormsArray()';

function fixFormsArray( d ) {

// solves cross layer image referencing problems in Netscape 4
// loops through the layers in the page
// adds all images to the window.document.images array

    if( !d ) { var d = document; }
    if( d.layers ) {
        for( var i = 0; i < d.forms.length; i++ ) {
            //if( typeof( d.forms[ i ].src == 'string' ) ) {
                window.document.forms[ d.forms[ i ].name ] = d.forms[ i ];
                window.document.forms[ i ] = d.forms[ i ];
            //}
        }
        if( d.layers.length > 0 ) {
            for( var i = 0; i < d.layers.length; i++ ) {
                fixFormsArray( d.layers[ i ].document );
            }
        }
    }
}

function calcCost() {

var dp = document.forms[ 'prices' ];
var checker = false;
var args = new Array();

    if( typeof( dp.payload ) == 'object' ) {
        
        if( dp.payload.type == 'radio' ) {
            checker = dp.payload.checked;
            args = dp.payload.value.split('|');
        } else {
        	for (i = 0; i < dp.payload.length; i++) {
        		if (dp.payload[i].checked){
        			checker = true;
        			args = dp.payload[ i ].value.split('|');
        			break;
        		}
        	}
        }
    }	
	
	if( checker ) {
		var supplement		= 0;
		var childCost		= 0;
		var adultCost		= 0;
		var childReduction	= 0;
		var adults = parseInt(dp.adults[dp.adults.selectedIndex].text);
		var children = parseInt(dp.children[dp.children.selectedIndex].text);
		
		var passengers = parseInt(adults+children);
		var ref = args[0];
		var duration = args[1];
		var month = args[2];
		var day = args[3];
		var year = args[4];
		var price = parseInt(args[5]);
		var single = parseInt(args[6]);
		var insure = parseInt(args[7]);
		var child = parseInt(args[8]);
		args[9]? accom = args[9]: accom='';
		if ((children==1) && (passengers==1)) {
			childCost 		= (children * (price-child)) + single;
		} else {
			childCost 		= children * (price-child);
		}
		if ((adults==1) && (passengers==1)) {
			adultCost 		= (adults * price) + single;
		} else {
			adultCost 		= adults * price;
		}
		totalCost 		= adultCost + childCost;
		insuranceCost 	= passengers * insure;

		//dp.payload[i].checked   = true;
		dp.childCost.value 		= childCost.toFixed( 2 );
		dp.adultCost.value 		= adultCost.toFixed( 2 );
		dp.insurance_cost.value = insuranceCost.toFixed( 2 );
		dp.total_cost.value 	= totalCost.toFixed( 2 );
		//dp.btnBook.focus();

	} else {

		alert('Please select your Departure Date');

	}
return true;
}

function submission() {

      
    writeCookie( "cookieTest", true, 1, "/" );
    var cookiesEnabled = ( document.cookie != "" );
    writeCookie( "cookieTest", "", -1 );
   
    if( !cookiesEnabled ) {
        
        window.location = 'http://www.crusader-holidays.co.uk/booking7/';   
        return false;
        
    } else {
        var dp = document.forms[ 'prices' ];
        var checker=false;
    
    	if(dp.payload.length>0) {
    		for (i = 0; i < dp.payload.length; i++) {
    			if (dp.payload[i].checked){
    				checker = true;
    				break;
    			}
    		}
    	} else {
    		for (var i = 0; i < dp.elements.length-4; i++) {
    			if (dp.elements[i].selectedIndex > 0){
    				checker = true;
    				break;
    			}
    		}
    	}
    	if (checker) {
            return true;
    	} else {
            alert('Please select a departure date from the table above');
    	}
        return false;
    }
}

// if Number.toFixed does not exist, point to custom function

if( typeof( Number ) != 'undefined' && typeof( Number.prototype ) != 'undefined' ) {
    if( typeof( Number.prototype.toFixed ) == 'undefined' ) {

        function Number_toFixed( d ) {
            // format a Number object to a set number of decimal places
            var n = this;
            d = d || 2;
            var f = Math.pow( 10, d );
            n = Math.round( n * f ) / f;
            n += Math.pow( 10, - ( d + 1 ) );
            n += '';
            return d == 0 ? n.substring( 0, n.indexOf( '.' ) ) : n.substring( 0, n.indexOf( '.' ) + d + 1 );
        }
        Number.prototype.toFixed = Number_toFixed;
    }
}

function getMonthList() {

    var dat = new Date();
    var mon = dat.getMonth();
    var mons = new Array( 'January','February','March','April','May','June','July','August','September','October','November','December' );
    var htm = '';

    for( var i = 0; i < 12; i++ ) {
        var sel = ( i == mon ? ' selected="selected"' : '' );
        htm += '<option value="' + ( i + 1 ) + '"' + sel + '>' + mons[ i ] + '</option>';
    }
    return htm;
}

function capitaliseStr( str ) {
// capitalises each word in a string
    var words = str.split( ' ' );
    for( word in words ) {
        words[ word ] = words[ word ].substring( 0, 1 ).toUpperCase() + words[ word ].substring( 1 ).toLowerCase();
    }
    return words.join( ' ' );
}


        function writeCookie( cookieName, cookieValue, expiryHours ) {
            if( expiryHours ) {
                var expDate = new Date();
                expDate.setTime( expDate.getTime() + 1000 * 60 * 60 * expiryHours );
                document.cookie = cookieName + "=" + escape( cookieValue ) + "; expires=" + expDate.toGMTString();
            } else {
                document.cookie = cookieName + "=" + escape( cookieValue );
        	}
        }