$.fn.fval=function(arg){if($(this).hasClass("fancy-select")){if(!arg){return $(this).next("input").val();}
var selected=$(".list li[val=\'"+arg+"\']",this);if(selected.length<=0){selected=$(".list li:eq(0)",this);arg=selected.attr("val");}
$(".display",this).html(selected.attr("name"));$(this).next("input").val(arg);return $(this);}
return"";}
function setFancySelectWidth()
{$(".fancy-select").not('.fs-no-resize').each(function(i,n){var full_width=$(this).width()
var display=$(this).find(".display");var disp_width=$(display).width();var padding=parseInt(display.css("padding-right"),10)+parseInt(display.css("padding-left"),10);var list_width=$(this).find(".list-box").width();var new_width=list_width;if(new_width<400){if(new_width>disp_width)
display.width(new_width);else{display.width(disp_width);}
full_width=$(this).width();if(full_width>=(list_width+2)){$(this).find(".list-box").width(full_width-2);}}});}
function setupFancySelect()
{setFancySelectWidth();$(".fancy-select").bind("focus",function(e){$(this).addClass("focused");});$(".fancy-select").bind("blur",function(e){$(this).removeClass("focused");});$(".fancy-select").bind("keypress",function(e){if(e.keyCode==27||e.keyCode==9){showDropdown(this,null,true);return;}
if(e.keyCode==13){var newSelection=$(".list li.selected",this);if(newSelection.length>0){changeValue($(this),$(newSelection).attr("name"),$(newSelection).attr("val"));}
showDropdown(this,null,true);}
if(e.which==32){showDropdown(this);return;}
if(!$(".list-box",this).is(":visible")){if(e.keyCode==40){var newSelection=$(".list li[val=\'"+$(this).fval()+"\']",this).next("li");}else if(e.keyCode==38){var newSelection=$(".list li[val=\'"+$(this).fval()+"\']",this).prev("li:not(.search)");}
if(newSelection&&newSelection.length>0){changeValue($(this),$(newSelection).attr("name"),$(newSelection).attr("val"));}}else{if(e.keyCode==40){var newSelection=$(".list li.selected",this).next("li");}else if(e.keyCode==38){var newSelection=$(".list li.selected",this).prev("li:not(.search)");}
if(newSelection&&newSelection.length>0){$(".fancy-select .list li").removeClass("selected");$(newSelection).addClass("selected");}}
if(e.keyCode==40||e.keyCode==38||e.keyCode==13){e.preventDefault();}});$(".fancy-select:not(.disabled)").bind("mousedown",function(e){if(!$(e.target).hasClass("display")){e.stopPropagation();return;}
if($(this).data('list'))
{$($(this).data('list')).remove();$(this).data('list',false);return;}
showDropdown(this,e);});$(".list-box .list li:not(.search)").live("mouseup",function(e){if(!$(this).parents(".list-box").data("parent"))return;var $parent=$($(this).parents(".list-box").data("parent"));changeValue($parent,$("div",this).html(),$(this).attr("val"));$(this).parents(".list-box").remove();$parent.data('list',false);e.stopPropagation();});function showDropdown(obj,e,hide){$(".list-box:visible").remove();var list=$(".list-box",obj).clone(true).appendTo("body");$(obj).data('list',list);var orig_list=$(".list-box",obj);var data_size=false;var li_height=0;if($(orig_list).attr("data-size")!=undefined){data_size=$(orig_list).attr("data-size");}
$(list).data("parent","#"+$(obj).attr("id"));$(obj).disableSelection();if($(list).css("display")=="block"||hide==true){$(list).hide();}else{$(".list li",list).removeClass("default").removeClass("selected");$(list).hide();if(list.height()>350)list.height(300);if(list.height()+$(obj).offset().top>=$(window).scrollTop()+$(window).height()){list.css("top",-list.height());}else{list.css("top",null);}
list.css("top",$(obj).offset().top+$(obj).height()-1);list.css("left",$(obj).offset().left);list.show();if(data_size){var new_height=parseInt($("li:first",list).outerHeight())*data_size;var max_height=parseInt($("li",list).length*$("li:first",list).outerHeight());if(max_height>new_height){list.height(new_height);}}
$(".list li[val=\'"+$(obj).fval()+"\']",list).addClass("default").addClass("selected");$(document).not(list).one("mousedown",function(e){$(list).remove();$(obj).data('list',false);});if(e)e.stopPropagation();}}
function changeValue($parent,name,val){var $input=$parent.next("input");var oldVal=$input.val();$(".display",$parent).html(name);$input.val(val);if(oldVal!=val){$parent.trigger("change");}}
$(".list-box .list li:not(.search)").live("mouseover",function(e){$(".list-box .list li:not(.search)").removeClass("selected");$(this).addClass("selected");});$(".list-box .list li").live("mouseout",function(e){$(this).removeClass("selected");$(".list-box .list li.default").addClass("selected");});$(".list-box").bind("mousedown",function(e){e.stopPropagation();});var searchText="Search...";$(".list-box .list li.search input").bind("keyup",function(e){$li=$(this).parent().parent().find("li:not(.search):not(.static)");if($(this).val()==""){$li.show();$(this).css("background","none");}else{$(this).css("background","#FFF");$li.hide();$li.find(":Contains(\'"+$(this).val()+"\')").parent().show();}});$(".search-clear").bind("click",function(e){$(this).prev("input").val("").trigger("keyup");});}
function localizeLabels(country_id,prefix)
{var company=$("#"+prefix+"_company").closest("div.iron_element");var street_1=$("#"+prefix+"_street_address_1").closest("div.iron_element");var street_2=$("#"+prefix+"_street_address_2").closest("div.iron_element");var street_3=$("#"+prefix+"_street_address_3").closest("div.iron_element");var city=$("#"+prefix+"_city").closest("div.iron_element");var state_select=$("#"+prefix+"_state_select").closest("div.iron_element");var state_string=$("#"+prefix+"_state").closest("div.iron_element");var zip=$("#"+prefix+"_zip").closest("div.iron_element");var phone=$("#"+prefix+"_phone").closest("div.iron_element");if(addresses[country_id]&&addresses[country_id].fields){fields=addresses[country_id].fields;if(fields.company!=undefined){$(company).find("label").text(fields.company.label);if(fields.company.enabled!="on"){$(company).hide();}else{$(company).show();}}
if(fields.street_address_1!=undefined){$(street_1).find("label").text(fields.street_address_1.label);}
if(fields.street_address_2!=undefined){$(street_2).find("label").text(fields.street_address_2.label);if(fields.street_address_2.enabled!="on"){$(street_2).hide();}else{$(street_2).show();}}
if(fields.street_address_3!=undefined){$(street_3).find("label").text(fields.street_address_3.label);if(fields.street_address_3.enabled!="on"){$(street_3).hide();}else{$(street_3).show();}}
if(fields.state!=undefined){$(state_select).find("label").text(fields.state.label);$(state_string).find("label").text(fields.state.label);}
if(fields.city!=undefined){$(city).find("label").text(fields.city.label);if(fields.city.enabled!="on"){$(city).hide();}else{$(city).show();}}
if(fields.zip!=undefined){$(zip).find("label").text(fields.zip.label);if(fields.zip.enabled!="on"){$(zip).hide();}else{$(zip).show();}}
if(fields.phone!=undefined){$(phone).find("label").text(fields.phone.label);if(fields.phone.enabled!="on"){$(phone).hide();}else{$(phone).show();}}
if(fields.state.enabled!="on")
{$(state_select).hide();$(state_string).hide();}
else
{if(addresses[country_id].states)
{$(state_select).show();$(state_string).hide();$(state_select).find(".fancy-select").fval(-1);$(state_select).find("ul li[val!=-1]").remove();state_ul=$(state_select).find("ul");for(var x in addresses[country_id].states){state_val=addresses[country_id].states[x].location_id;state_name=addresses[country_id].states[x].location_name;$(state_ul).append('<li class="" name="'+state_name+'" val="'+state_val+'"><div>'+state_name+'</div></li>');}}
else
{$(state_select).hide();$(state_string).show();}}}
else
{$(street_3).hide();$(state_select).hide();$(state_string).show();}
$(".fancy-select",state_select).not('.fs-no-resize').each(function(i,n){var full_width=$(this).width()
var display=$(this).find(".display");var disp_width=$(display).width();var padding=parseInt(display.css("padding-right"),10)+parseInt(display.css("padding-left"),10);var list_width=$(this).find(".list-box").css("width","").width();var new_width=list_width;if(new_width<400){if(new_width>disp_width)
display.width(new_width);else{display.width(disp_width);}
full_width=$(this).width();if(full_width>=(list_width+2)){$(this).find(".list-box").width(full_width-2);}}});}
