function checkSelectionValid(fieldName) {
	
	var msg = "Are you sure you want '" + $('input[name=' + fieldName + ']:checked + label').text()  + "'?";
	
	return confirmAction(msg);
}

function showHideViewDetails(tableRow) {
	
	var elem = $(tableRow)[0];
	
	if(elem.style.display=='none') {
		
		$(tableRow).show();
	}
	else {
		
		$(tableRow).hide();
	}
}

function createBookmarkLink(title, url) {
	
	if (window.sidebar) { // Mozilla Firefox Bookmark
	
		window.sidebar.addPanel(title, url,"");
	} 
	else if( window.external ) { // IE Favorite
	
		window.external.AddFavorite( url, title); 
	}
	else if(window.opera && window.print) { // Opera Hotlist
		
		return true; 
	}
 }

function populateAddressFields(field, address_line1, address_line2, country_id, town, county, postcode) {
	
	if(field.checked==true){
    
    	$('#address_line1').val(address_line1);
    	$('#address_line2').val(address_line2);
    	$('#country_id').val(country_id);
    	$('#town').val(town);
    	$('#county').val(county);
    	$('#postcode').val(postcode);
	}
	else {
		
		$('#address_line1').val('');
    	$('#address_line2').val('');
    	$('#country_id').val('');
    	$('#town').val('');
    	$('#county').val('');
    	$('#postcode').val('');
	}
}

function showHideTransportTimeframeFields(fieldPreFix) {
	
	if($('input[name=' + fieldPreFix + '_option]:checked').val()==1) {
	
		$('#' + fieldPreFix + '_within_days_div').hide();
		$('#' + fieldPreFix + '_within_days_div_disabled').show();
		$('#' + fieldPreFix + '_between_from_div').show();
		$('#' + fieldPreFix + '_between_from_div_disabled').hide();
	}
	else {
		
		$('#' + fieldPreFix + '_within_days_div').show();
		$('#' + fieldPreFix + '_within_days_div_disabled').hide();
		$('#' + fieldPreFix + '_between_from_div').hide();
		$('#' + fieldPreFix + '_between_from_div_disabled').show();
	}
}


function parseFloatATotal(totalToFloat) {

	var returnVal = parseFloat(totalToFloat);
	
	if(isNaN(returnVal)) { 
		
		return 0.00; 
	}
	else {
	
		return returnVal;
	}
}

function totalFormat(amount) {	
	
	var num = parseFloat(amount);
	if(isNaN(num)) { num = 0.00; }
	num *= 100;
	num = Math.round(num);
	num /= 100;
	s = new String(num);
	if(s.indexOf('.') < 0) { s += '.00'; }
	if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
	return s;
}


function calculateSuccessIncluded() {
    
    var amount = $('#amount').val();
    
    var successFee = loopThroughMatrixAndCalcIncluded(amount);
    
    if(successFee < 8) {
        
        successFee = 8;
    }
    
    totalAmount = totalFormat(parseFloatATotal(amount)-parseFloatATotal(successFee));

    if(totalAmount < 0) {
        totalAmount = 0;
    }
    
    $('#fee-amount').val(totalFormat(parseFloatATotal(successFee)));    
    $('#net-amount').val(totalFormat(parseFloatATotal(totalAmount)));    

}

function loopThroughMatrixAndCalcIncluded(amount) {
    
    var successFee = 0;
    var amountFloat = parseFloatATotal(amount);
        
    for(i=0; i < matrix.length; i++) {

        if(matrix[i][1]!==null && amountFloat > parseFloatATotal(matrix[i][1])) {

            successFee += parseFloatATotal(matrix[i][3]);
        }
        else {
            amountToUse = amountFloat - parseFloatATotal(matrix[i][0]);

            successFee += amountToUse * (matrix[i][2] / 100);
        
            return successFee;
        }
    }
        
    return successFee;
}

function calculateSuccessNotIncluded() {
	
	var amount = $('#amount').val();
	
    var successFee = loopThroughMatrixAndCalcNotIncluded(amount);
	
	if(successFee < 8) {
		
		successFee = 8;
	}
	
    $('#fee-amount').val(totalFormat(parseFloatATotal(successFee)));    
    $('#net-amount').val(totalFormat(parseFloatATotal(amount)+parseFloatATotal(successFee)));    

}

function loopThroughMatrixAndCalcNotIncluded(amount) {
	
	var successFee = 0;
	var rollingStaticFee = 0;
	var rollingAmount = parseFloatATotal(amount);
		
	for(i=0; i < matrix.length; i++) {
			
		if(((rollingAmount + parseFloatATotal(matrix[i][3])) > matrix[i][1]) && matrix[i][1]!==null) {
				
			rollingStaticFee += parseFloatATotal(matrix[i][3]);
			rollingAmount += parseFloatATotal(matrix[i][3]);
		}
		else {
				
			var netFigure = rollingAmount - matrix[i][0];
				
			var grossFigure = netFigure / ((100 - matrix[i][2]) / 100);
				
			var feeFigure = grossFigure - netFigure;
				
			var successFee = feeFigure + rollingStaticFee;
				
			return successFee;
		}
	}
		
	return successFee;
}

function durationIncrement(threeDaysMday,threeDaysMon,threeDaysYear,
						   sevenDaysMday,sevenDaysMon,sevenDaysYear,
						   tenDaysMday,tenDaysMon,tenDaysYear,
						   fourtenDaysMday,fourtenDaysMon,fourtenDaysYear) {
	
	if($('#shipment-deadline_increment').val()=='3') {
	
		var dpday = threeDaysMday;
		var dpmonth = threeDaysMon;
		var dpyear = threeDaysYear;
	}
	else if($('#shipment-deadline_increment').val()=='7') {
		
		var dpday = sevenDaysMday;
		var dpmonth = sevenDaysMon;
		var dpyear = sevenDaysYear;
	}
	else if($('#shipment-deadline_increment').val()=='10') { 
		
		var dpday = tenDaysMday;
		var dpmonth = tenDaysMon;
		var dpyear = tenDaysYear;
	}
	else if($('#shipment-deadline_increment').val()=='14') {
	
		var dpday = fourtenDaysMday;
		var dpmonth = fourtenDaysMon;
		var dpyear = fourtenDaysYear;
	}
	
	$('input#shipment-deadline-0').val(dpday);
	$('input#shipment-deadline-1').val(dpmonth);
	$('input#shipment-deadline-2').val(dpyear);
}



function popWin(url,width,height,title) {
	
	window.open(url, title, 'width=' + width + ',height=' + height + ',scrollbars=Yes');
}

function showHideCategoryVehicles(control, divName) {
	
	if(control.checked==1) {
		var slct = true;	
		$('#'+divName).show();
	}
	else {
		var slct = false;
		$('#'+divName).hide();
	}
	
	for(i = 5; i < 13; i++) {
		
		var fieldId = 'category-categories-' + i;
		$('#'+fieldId).attr('checked', slct);
	}
	
    var fieldId = 'category-categories-15';
    $('#'+fieldId).attr('checked', slct);

    var fieldId = 'category-categories-16';
    $('#'+fieldId).attr('checked', slct);

    var fieldId = 'category-categories-17';
    $('#'+fieldId).attr('checked', slct);
	
}

function showHideFieldFromRadio(radioField, actionValue, divToShowHide) {
	
	if(radioField.value==actionValue) {
		$('#'+divToShowHide).show();
	}
	else {
		$('#'+divToShowHide).hide();
	}
}

function showHideFieldFromDropdown(dropdownField, actionValue, divToShowHide) {
    
    if(dropdownField.value==actionValue) {
        $('#'+divToShowHide).show();
    }
    else {
        $('#'+divToShowHide).hide();
    }
}

function showHideFieldFromCheckbox(checkboxField, divToShowHide) {

    if(checkboxField.checked==1) {
        $('#'+divToShowHide).show();
    }
    else {
        $('#'+divToShowHide).hide();
    }
}

function hideShowFieldFromCheckbox(checkboxField, divToShowHide) {

    if(checkboxField.checked==0) {
        $('#'+divToShowHide).show();
    }
    else {
        $('#'+divToShowHide).hide();
    }
}

function showHideFieldFromMultiCheckbox(checkboxField, divToShowHide, checkboxFieldValue) {
	
    if(checkboxField.value==checkboxFieldValue) {
    	if(checkboxField.checked==1) {
	       $('#'+divToShowHide).show();
	    }
	    else {
	       $('#'+divToShowHide).hide();
	    }
    }
}

function textAreaMaxLength(field, maxChars) {
	
	if(field.value.length >= maxChars) {
    
    	event.returnValue = false;
    	return false;
    }
}

if($('.date-year')) {
	$(function() {
	    if ( $('.date-year').datepicker ) {
    		$('.date-year').datepicker({showOn: 'button', 
    									buttonImage: '/images/layout/calendar.gif', 
    									buttonImageOnly: true, 
    									changeMonth: true,
    									changeYear: true, 								
    									onSelect: function(dateText) { 
    										
    										var arr_dateText = dateText.split("/");
    										day = arr_dateText[1];
    										month = arr_dateText[0];
    										year = arr_dateText[2]; 
    										
    										var thisid =  this.id;
    										var stringLength = thisid.length - 1;
    										var thisidSubStr = thisid.substring(0, stringLength);
    										
    										var dayField = thisidSubStr + '0';
    										var monthField = thisidSubStr + '1';
    										var yearField = thisidSubStr + '2';
    										
    										$('input#'+dayField).val(day);
    										$('input#'+monthField).val(month);
    										$('input#'+yearField).val(year);
    										
    									}});		
    	}
	});
}

if($('.calendar')) {
    $(function() {
        if ( $('.calendar').datepicker ) {
            $('.calendar').datepicker({showOn: 'button', 
                                        buttonImage: '/images/layout/calendar.gif', 
                                        buttonImageOnly: true, 
                                        changeMonth: true,
                                        changeYear: true,                               
                                        onSelect: function(dateText) { 
                                            
                                            var arr_dateText = dateText.split("/");
                                            day = arr_dateText[1];
                                            month = arr_dateText[0];
                                            year = arr_dateText[2]; 
                                                                                    
                                            $('#shipment-deadline-0').val(day);
                                            $('#shipment-deadline-1').val(month);
                                            $('#shipment-deadline-2').val(year);
                                                                                    
                                        }});
        }
    
    
        
    });
}
		
		$(function() {
    		if ( $('span.help').tooltip ) {
    			$('span.help').tooltip({
    				showURL: false, 
    				bodyHandler: function() { 
    			        return $(this).children('a.help-link').attr("title"); 
    			    }
    			});
			}
		});

        $(function() {
            if ( $('a.link-tooltip').tooltip ) {
                $('a.link-tooltip').tooltip({
                    showURL: false, 
                    showBody: " - "
                });
            }
        });

function confirmAction(msg) {
    
    if(confirm(msg)) {
                    
        return true;
    }
    else {
                    
        return false;
    }   
}

function setRadioValue(radioObj, value) {
    var radioLength = radioObj.length;
    
    if(radioLength == undefined) {
        radioObj.checked = (radioObj.value == value);
        return;
    }

    for(var i = 0; i < radioLength; i++) {
        radioObj[i].checked = false;
        if(radioObj[i].value == value) {
            radioObj[i].checked = true;
        }
    }
}
