/*
 * JSMin
 * Javascript Compressor
 * http://www.crockford.com/
 * http://www.smallsharptools.com/Projects/Packer/
*/

// C:\TeamCity\buildAgent\work\d1c97f83e5a869da\FleetConnect\ShiftACar\Server\www\_scripts\contactdetailscontrol2.js

function contactControl(readonlyDiv,incompleteAddressDiv,addAsMasterDiv,editDiv,mapButton,doneButton,cancelButton,findLocationDiv,selectAddressDiv,errorDiv,lookupDiv,fieldDiv,findLocation,selectAddress,postcodeLookupButton,hiddenIdField,hiddenIsMasterField,hiddenShowIncompleteBannerText,hiddenAllowAddAsMasterText,hiddenTypeField,hiddenMasterTypeField,hiddenIsReadonlyField,loadEditableField,hiddenShowShortFormatField,hiddenShowInlineViewField,isLocationlookupField,mapUrlField,contactNameField,quickCodeField,organisationField,addressField,cityField,stateField,postcodeField,phoneField,alternatePhoneField,mobileField,emailField,notesField,drivenRateDropDown,transportedRateDropDown,sharedUsernamePreviousField,sharedUsernameField,sharedPasswordField){var _loadingHtml="<img src=\"http://c214476.r76.cf1.rackcdn.com/inprogress.gif\" alt=\"Loading...\"/>";var _mapUrl=mapUrlField.val();var _serviceUrl="cdnajaxhandler.ashx";var _isIsMaster=hiddenIsMasterField.val().toLowerCase()=="true";var _isReadonly=hiddenIsReadonlyField.val().toLowerCase()=="true";var _showShortFormat=hiddenShowShortFormatField.val().toLowerCase()=="true";var _showInlineView=hiddenShowInlineViewField.val().toLowerCase()=="true";var _loadEditable=_showInlineView||loadEditableField.val().toLowerCase()=="true";var _isLocationLookup=isLocationlookupField.val().toLowerCase()=="true";var _isCustomer=hiddenTypeField.val()=="customer";var _showIncompleteBanner=hiddenShowIncompleteBannerText.val().toLowerCase()=="true";var _isMasterCustomer=_isCustomer&&_isIsMaster;var _allowAddAsMaster=hiddenMasterTypeField.val()!=null&&hiddenMasterTypeField.val()!=""&&hiddenAllowAddAsMasterText.val().toLowerCase()=="true";var allFields=jayQ([]).add(contactNameField).add(quickCodeField).add(organisationField).add(addressField).add(cityField).add(stateField).add(postcodeField).add(phoneField).add(alternatePhoneField).add(mobileField).add(emailField).add(notesField).add(sharedUsernamePreviousField).add(sharedUsernameField).add(sharedPasswordField);var isLookupCancelled=false;var lookedUpMasterId=-1;var _instance=this;this.getData=function(){var data=new Object;data.Contact=contactNameField.val();data.QuickCode=quickCodeField.val();data.Phone=phoneField.val();data.OtherPhone=alternatePhoneField.val();data.MobilePhone=mobileField.val();data.Email=emailField.val();data.Notes=notesField.val();data.ContactAddress=new Object;data.ContactAddress.OrganisationName=organisationField.val();data.ContactAddress.Lines=addressField.val();data.ContactAddress.City=cityField.val();data.ContactAddress.RegionArea=stateField.val();data.ContactAddress.Postcode=postcodeField.val();return data;};if(_loadEditable){enableEdit(true,true);focusPostcodeLookup(true,true);}
if(!_isReadonly){readonlyDiv.addClass("editable");readonlyDiv.click(function(){enableEdit(true,true);focusPostcodeLookup(true,true);return false;});}
else{readonlyDiv.addClass("non-editable");}
incompleteAddressDiv.click(function(){enableEdit(true,true);focusPostcodeLookup(true,true);return false;});jayQ(document).bind('REQUEST_CONTACT',function(e){var data;data.Contact=contactNameField.val();data.QuickCode=quickCodeField.val();data.ContactAddress.OrganisationName=organisationField.val();data.ContactAddress.Lines=addressField.val();data.ContactAddress.City=cityField.val();data.ContactAddress.RegionArea=stateField.val();data.ContactAddress.Postcode=postcodeField.val();data.Phone=phoneField.val();data.OtherPhone=alternatePhoneField.val();data.MobilePhone=mobileField.val();data.Email=emailField.val();data.Notes=notesField.val();jayQ(document).trigger('RECEIVE_CONTACT'[data]);return false;});addAsMasterDiv.click(function(){addAsMasterDiv.hide('highlight',{},1000);jayQ.ajax({cache:false,async:false,url:_serviceUrl,data:({method:"makemastercontact",id:hiddenIdField.val(),mastertype:hiddenMasterTypeField.val()})});return false;});mapButton.click(function(){if(_mapUrl!="")
jQuery.modal('<iframe src="'+_mapUrl+'&output=embed"></iframe><p class="larger"><a target="_blank" href="'+_mapUrl+'">View larger</a></p>');return false;});cancelButton.click(function(){allFields.removeClass("ui-state-error");enableEdit(false,true);return false;});doneButton.click(function(){var bValid=true;allFields.removeClass("ui-state-error");bValid=bValid&&checkLength(errorDiv,contactNameField,"contact name",0,100);bValid=bValid&&checkLength(errorDiv,addressField,"address",1,1000);bValid=bValid&&checkLength(errorDiv,cityField,"display city",1,50);bValid=bValid&&checkLength(errorDiv,postcodeField,"postcode",1,50);bValid=bValid&&isValidMultipleEmail(errorDiv,emailField);if(_isIsMaster)
bValid=bValid&&isValidQuickCode(errorDiv,quickCodeField);if(_isCustomer){bValid=bValid&&checkPopulated(errorDiv,drivenRateDropDown,"driven rate",1,10);bValid=bValid&&checkPopulated(errorDiv,transportedRateDropDown,"transported rate",1,10);}
if(_isMasterCustomer){bValid=bValid&&isValidSharedUsername(errorDiv,sharedUsernameField,sharedUsernamePreviousField);}
if(bValid){readonlyDiv.html(_loadingHtml);jayQ.ajax({cache:false,async:false,url:_serviceUrl,data:({method:"setcontact",id:hiddenIdField.val(),masterid:lookedUpMasterId,type:hiddenTypeField.val(),contactname:contactNameField.val(),quickcode:quickCodeField.val(),organisation:organisationField.val(),address:addressField.val(),city:cityField.val(),state:stateField.val(),postcode:postcodeField.val(),phone:phoneField.val(),alternatephone:alternatePhoneField.val(),mobile:mobileField.val(),email:emailField.val(),notes:notesField.val(),drivenrateid:drivenRateDropDown.val(),transportedrateid:transportedRateDropDown.val(),sharedusername:sharedUsernameField.val(),sharedpassword:sharedPasswordField.val()}),success:function(data){populateControl(data,true);jayQ(document).trigger('ADDRESS_CHANGE',[hiddenTypeField.val(),hiddenIdField.val(),data]);}});enableEdit(false,true);}
return false;});lookupDiv.keypress(function(e){if(e.keyCode=='13'){isLookupCancelled=true;postcodeLookupButton.click();return false;}});var ignoreCR=false;addressField.keypress(function(e){ignoreCR=true;});fieldDiv.keypress(function(e){if(e.keyCode=='13'&&!ignoreCR){doneButton.click();return false;}
else{ignoreCR=false;return true;}});postcodeLookupButton.click(function(){selectAddress.empty();jayQ.ajax({cache:false,async:false,url:_serviceUrl+"?method=lookuppostcode&postcode="+findLocation.val(),dataType:"json",success:function(data){if(data!=null){focusPostcodeLookup(true,false);selectAddress.append(jayQ("<option />").val(-1).text("Please select an address"));jayQ.each(data,function(){selectAddress.append(jayQ("<option />").val(this.PoId).text(this.Description));});selectAddress.focus();}}});return false;});selectAddress.change(function(){var selectedValue=selectAddress.val();if(selectedValue!=-1){jayQ.ajax({cache:false,async:false,url:_serviceUrl+"?method=lookupaddress&poid="+selectedValue,dataType:"json",success:function(data){focusPostcodeLookup(false,true);organisationField.val(data.OrganisationName);addressField.val(data.Lines);cityField.val(data.City);stateField.val(data.RegionArea);postcodeField.val(data.Postcode);}});}});function isValidQuickCode(errorDiv,quickCode){var isValid=true;if(_isIsMaster&&quickCode.val()!=null&&quickCode.val()!=""){jayQ.ajax({cache:false,async:false,url:_serviceUrl,async:false,data:({method:"validatequickcode",id:hiddenIdField.val(),quickcode:quickCode.val()}),success:function(data){isValid=(data=="");if(!isValid)
updateTips(errorDiv,data);}});}
return isValid;}
function isValidSharedUsername(errorDiv,sharedUsername,sharedUsernamePrevious){var isValid=true;if(_isMasterCustomer&&sharedUsername.val()!=null&&sharedUsername.val()!=""&&sharedUsername.val()!=sharedUsernamePrevious.val()){jayQ.ajax({cache:false,async:false,url:_serviceUrl,async:false,data:({method:"validatesharedusername",sharedusername:sharedUsername.val()}),success:function(data){isValid=(data=="");if(!isValid)
updateTips(errorDiv,data);}});}
return isValid;}
function isValidMultipleEmail(errorDiv,email){var isValid=true;if(email.val()!=null&&email.val()!=""){jayQ.ajax({cache:false,async:false,url:_serviceUrl,async:false,data:({method:"validatemultipleemail",multipleemail:emailField.val()}),success:function(data){isValid=(data=="");if(!isValid)
updateTips(errorDiv,data);}});}
return isValid;}
function refreshControl(id,showEditable){enableEdit(showEditable,true);if(showEditable)
focusPostcodeLookup(true,true);else
readonlyDiv.html(_loadingHtml);jayQ.ajax({cache:false,async:false,url:_serviceUrl+"?method=getcontact&id="+id,dataType:"json",success:function(data){populateControl(data,!showEditable);}});}
if(_isLocationLookup){findLocation.autocomplete({source:_serviceUrl+"?method=lookupcontact&type="+hiddenTypeField.val()+"_objected",minLength:3,search:function(event,ui){isLookupCancelled=false;},select:function(event,ui){findLocation.val("")
if(!isLookupCancelled){refreshControl(ui.item.value,true);}
return false;}});}
function populateControl(data,populateReadonly){if(populateReadonly){if(_showShortFormat)
readonlyDiv.html("<span>"+data.AsShortWebString+"</span>");else
readonlyDiv.html("<span>"+data.AsWebString+"</span>");if(data.ContactAddress.HasCoordinates){_mapUrl="http://maps.google.com/maps?q="+data.ContactAddress.Latitude+",+"+data.ContactAddress.Longitude+"&iwloc=A&hl=en";mapButton.show();}
else{_mapUrl="";mapButton.hide();}}
var currentId=hiddenIdField.val();if(currentId=="0"){hiddenIdField.val(data.Id);}
if(!_isIsMaster&&data.IsMaster){lookedUpMasterId=data.Id;}
else{lookedUpMasterId=-1;}
hiddenIsMasterField.val(data.IsMaster);contactNameField.val(data.Contact);quickCodeField.val(data.QuickCode);organisationField.val(data.ContactAddress.OrganisationName);addressField.val(data.ContactAddress.Lines);cityField.val(data.ContactAddress.City);stateField.val(data.ContactAddress.RegionArea);postcodeField.val(data.ContactAddress.Postcode);phoneField.val(data.Phone);alternatePhoneField.val(data.OtherPhone);mobileField.val(data.MobilePhone);emailField.val(data.Email);notesField.val(data.Notes);if(_isCustomer){drivenRateDropDown.val(data.DrivenRateCard.Id);transportedRateDropDown.val(data.TransportedRateCard.Id);}
if(_isMasterCustomer){sharedUsernamePreviousField.val(data.SharedUsername);sharedUsernameField.val(data.SharedUsername);sharedPasswordField.val(data.SharedPassword);}
if(_showIncompleteBanner&&!data.IsViableContact)
incompleteAddressDiv.show();else
incompleteAddressDiv.hide();if(_allowAddAsMaster&&data.IsMasterCandidate)
addAsMasterDiv.show();else
addAsMasterDiv.hide();}
function focusPostcodeLookup(focus,postcodeMode){if(focus){lookupDiv.addClass("focussed");lookupDiv.removeClass("unfocussed");fieldDiv.addClass("unfocussed");fieldDiv.removeClass("focussed");findLocation.focus();}
else{lookupDiv.removeClass("focussed");lookupDiv.addClass("unfocussed");fieldDiv.removeClass("unfocussed");fieldDiv.addClass("focussed");findLocation.val("");contactNameField.focus();}
if(postcodeMode){findLocationDiv.show();selectAddressDiv.hide();}
else{findLocationDiv.hide();selectAddressDiv.show();}}
function enableEdit(enable,doMasking){if(enable){editDiv.show();doneButton.show();cancelButton.show();if(doMasking&&!_showInlineView){editDiv.expose({closeOnEsc:false,closeOnClick:false,opacity:0.2,onClose:function(event){enableEdit(false,false);}});}}
else{editDiv.hide();doneButton.hide();cancelButton.hide();if(doMasking&&!_showInlineView)
jayQ.mask.close();}}}

