function removeEntriesVerificationForm() {
	$("input:checked").parent().parent().hide();
}


function sortSearch() {
	
	if($('#searchtype').val()=='local-form') {
		
		var townPcode = $('#local_town_pcode').val();
		var country = 'United Kingdom';
		var errorDiv = 'local-form-error'; 
		var latField = 'local_lat'; 
		var longField = 'local_long';
		
		var geocoder = new GClientGeocoder();
		var address = townPcode + ',' + country;
		
		if(townPcode=='Enter Town or Postcode' || townPcode=='' || country=='' || country=='---------------------') {
			
			$('#'+errorDiv).html('Sorry that location was not found');
			$('#'+errorDiv).show();
			$('#'+latField).val('');
			$('#'+longField).val('');
		}
		
		geocoder.getLatLng(address,
				
			function(point) {
				
				if(!point) {
		        
					$('#'+errorDiv).html('Sorry that location was not found');
					$('#'+errorDiv).show();
					$('#'+latField).val('');
					$('#'+longField).val('');
				} 
				else {
					
					$('#'+latField).val(point.lat());
					$('#'+longField).val(point.lng());
					$('#search_listings').submit();
				}
		    }
		);
	}
	else if($('#searchtype').val()=='route-form') {
		
		var townPcodeFrom = $('#route_town_pcode_from').val(); 
		var countryFrom = $('#route_country_from option:selected').text(); 
		var errorDiv = 'route-form-error'; 
		var latFieldFrom = 'route_from_lat'; 
		var longFieldFrom = 'route_from_long'; 
		var townPcodeTo = $('#route_town_pcode_to').val(); 
		var countryTo = $('#route_country_to option:selected').text(); 
		var latFieldTo = 'route_to_lat'; 
		var longFieldTo = 'route_to_long';
		
		var geocoder = new GClientGeocoder();
		var addressFrom = townPcodeFrom + ',' + countryFrom;
		var addressTo = townPcodeTo + ',' + countryTo;
		
		if(townPcodeFrom=='Enter Town or Postcode' || townPcodeFrom=='' || countryFrom=='' || countryFrom=='---------------------' || 
		   townPcodeTo=='Enter Town or Postcode' || townPcodeTo=='' || countryTo=='' || countryTo=='---------------------') {
			
			$('#'+errorDiv).html('Sorry that location was not found');
			$('#'+errorDiv).show();
			$('#'+latFieldFrom).val('');
			$('#'+longFieldFrom).val('');
			$('#'+latFieldTo).val('');
			$('#'+longFieldTo).val('');
		}
		
		geocoder.getLatLng(addressFrom,
				
			function(pointFrom) {
				
				if(!pointFrom) {
		        
					$('#'+errorDiv).html('Sorry that location was not found');
					$('#'+errorDiv).show();
					$('#'+latFieldFrom).val('');
					$('#'+longFieldFrom).val('');
					$('#'+latFieldTo).val('');
					$('#'+longFieldTo).val('');
				} 
				else {
					
					geocoder.getLatLng(addressTo,
							
						function(pointTo) {
								
							if(!pointTo) {
						        
								$('#'+errorDiv).html('Sorry that location was not found');
								$('#'+errorDiv).show();
								$('#'+latFieldFrom).val('');
								$('#'+longFieldFrom).val('');
								$('#'+latFieldTo).val('');
								$('#'+longFieldTo).val('');
							} 
							else {
									
								$('#'+latFieldFrom).val(pointFrom.lat());
								$('#'+longFieldFrom).val(pointFrom.lng());
								$('#'+latFieldTo).val(pointTo.lat());
								$('#'+longFieldTo).val(pointTo.lng());
								$('#search_listings').submit();
							}
						}
					);
				}
		    }
		);
	}
	else {
		
		return true;
	}
	
	return false;
}

function resetSearchFieldsAndSubmit() {
	
	$('#local-form').hide();
	$('#local-form-link').removeClass('search-section-link-selected');
	$('#route-form').hide();
	$('#route-form-link').removeClass('search-section-link-selected');
	$('#country-form').hide();
	$('#country-form-link').removeClass('search-section-link-selected');
	checkAll('search_listings','categories[]',0);
	$('#searchtype').val('');
	$('#search_listings').submit();
}

function showHideSearchFields(divToShow) {
	
	if(divToShow!=='local-form') {
		$('#local-form').hide();
		$('#local-form-link').removeClass('search-section-link-selected');
	}
	if(divToShow!=='route-form') {
		$('#route-form').hide();
		$('#route-form-link').removeClass('search-section-link-selected');
	}
	if(divToShow!=='country-form') {
		$('#country-form').hide();
		$('#country-form-link').removeClass('search-section-link-selected');
	}
	if($('#'+divToShow+'-link').hasClass('search-section-link-selected')) {
		$('#'+divToShow+'-link').removeClass('search-section-link-selected');
		$('#searchtype').val('');
	}
	else {
		$('#'+divToShow+'-link').addClass('search-section-link-selected');
		$('#searchtype').val(divToShow);
	}
	$('#'+divToShow).toggle();
}

function defaultField(fieldId, defaultValue) {
	
	if($('#'+fieldId).val()=='') {
		
		$('#'+fieldId).val(defaultValue);
	}
}

function emptyField(fieldId, defaultValue) {
	
	if($('#'+fieldId).val()==defaultValue) {
		
		$('#'+fieldId).val('');
	}
}

function showSubDataField(currentValue) {
	
	for(i=1; i<=12; i++) {
		
		$('#sub_select_' + i + '_div').hide();
		$('#sub_select_' + i + '_element').attr('selectedIndex', '-1');
	}
	
	$('#sub_select_' + currentValue + '_div').show();
}

function populateWithExistingAddress(ele, type) {
	
	var objProperty = ele.value;
	
	if(existingAddresses[objProperty]){
		var dataArray = existingAddresses[objProperty];
	}
	else {
		var dataArray = existingAddresses['empty'];
	}
	
	document.getElementById(type + '-address_line1').value = dataArray[0];
    document.getElementById(type + '-address_line2').value = dataArray[1];
    document.getElementById(type + '-country_id').value = dataArray[2];
    document.getElementById(type + '-town').value = dataArray[5];
    document.getElementById(type + '-county').value = dataArray[3];
    document.getElementById(type + '-postcode').value = dataArray[4];
    
    if(document.getElementById(type + '-is_port-0')!=null) {    
	    
	    document.getElementById(type + '-port').value = dataArray[6];
	    
	    if(dataArray[6]!='') {
	       	document.getElementById(type + '-is_port-0').checked = 'checked';
	      	$('#port_name_div').show();
	       	$('#address_details_div').hide();
	       	if(document.getElementById(type + '-shipment_details_holder').value=='lcl') {
		       	$('#other_details_div').hide();
		    }
	    }
	    else {
	    	document.getElementById(type + '-is_port-1').checked = 'checked';
	    	$('#port_name_div').hide();
	    	$('#address_details_div').show();
	    	if(document.getElementById(type + '-shipment_details_holder').value=='lcl') {
		       	$('#other_details_div').show();
		    }
	    }
	}
       	
    if(document.getElementById(type + '-country_id').value==121) {
      	$('#postcode_required').show();
      	$('#postcode_not_required').hide();
    }
    else {
      	$('#postcode_required').hide();
      	$('#postcode_not_required').show();
    }
}

function checkAll(id, name, flag) {
	
	if (flag==0) {
		
		$("form#" + id + " INPUT[@name=" + name + "][type='checkbox']").attr('checked', false);
	}
	else {
		
		$("form#" + id + " INPUT[@name=" + name + "][type='checkbox']").attr('checked', true);
	}
}

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 calculateAmountToReceive(fieldName, spanName, defaultText, vatPerc) {
	
	var amount = $('#'+fieldName).val();
	
	var successFee = loopThroughMatrixAndCalcIncluded(amount);
    
    if(successFee < 6.5) {
        
    	if(amount <= 35) {
			
    		successFee = 5;
		}
		else {
			
			successFee = 6.5;
		}
    }
    
    successFeeGross = successFee + (successFee * (vatPerc / 100));
    
    totalAmount = totalFormat(parseFloatATotal(amount)-parseFloatATotal(successFeeGross));

    if(totalAmount < 0) {
        totalAmount = 0;
    }
    
    toReceive = totalFormat(parseFloatATotal(totalAmount));
    
    if(toReceive > 0) {
    	$('#'+spanName).text('You will receive '+String.fromCharCode('163')+toReceive.toString()+' if your bid is accepted.');
    }
    else {
    	$('#'+spanName).text(defaultText);
    }
}


function calculateSuccessIncluded() {
    
    var amount = $('#amount').val();
    
    var successFee = loopThroughMatrixAndCalcIncluded(amount);
    
    if(successFee < 6.5) {
        
    	if(amount <= 35) {
			
    		successFee = 5;
		}
		else {
			
			successFee = 6.5;
		}
    }
    
    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 < 6.5) {
		
		if(amount <= 35) {
			
    		successFee = 5;
		}
		else {
			
			successFee = 6.5;
		}
	}
	
    $('#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 ) {
	    	addDatePicker();
    	}
	});
}

function addDatePicker() {
	
	$('.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;
        }
    }
}


function ajaxFileUpload(createPictureUrl,fileEle,page_action)
	{
		$("#loading")
		.ajaxStart(function(){
			$(this).show();
		})
		.ajaxComplete(function(){
			$(this).hide();
		});

		$.ajaxFileUpload
		(
			{
				url: createPictureUrl + '/page-action/' + page_action,
				secureuri:false,
				fileElementId:fileEle,
				dataType: 'json',
				success: function (data, status)
				{
					if(typeof(data.error) != 'undefined') {
						
						if(data.error != '') {
							
							$("#picture-error").show();
							$("#picture-error").html(data.error);
						}
						else {
							
							drawNewPic(data.key_value, data.thumb, page_action);
								
							$("#picture-error").hide();
							$("input#picture").val('');
						}
					}
				},
				error: function (data, status, e)
				{
					
					$("#picture-error").show();
					$("#picture-error").html(e);
				}
			}
		)
		
		return false;

	}

function drawNewPic(key_value, thumb, page_action) {

	$('<div></div>')
		.attr('id', 'image_' + key_value + '_div')
		.attr('class', 'image-as-field')
		.append('<img src="/images/tmp/' + thumb + '" alt="thumb" class="thumb" />')
		.append('<a href="#" class="thumb-remove" onclick="removePicture(' + key_value + ', \'' + page_action + '\'); return false;">Remove</a>')
		.appendTo("#pictures");
}

function removePicture(key_value, page_action) {
	
	returnValues = new Object();
	returnValues['image_id'] = key_value;
	returnValues['action'] = page_action;
	$.post('/customer/quoterequest/remove-picture', 
			returnValues, 
			function() { 
				$('#image_' + key_value + '_div').remove();
				$('#image_remove_' + key_value + '_div').remove();
			});
}

$(document).ready(function(){
	if($(".popout").colorbox) {
		$(".popout").colorbox({width:"430",height: "495px",opacity: 0.7});
	}
	
	// Show the menu (which has been hidden at first)
	if($('#menu').length > 0){
		$('#menu').css('visibility', 'visible');
	}
	
	
});
