(function($){$("html").addClass("js");Array.prototype.indexOf=function(obj,start){for(var i=start||0;i<this.length;i++){if(this[i]==obj){return i}}};$.fn.extend({getSetSSValue:function(value){if(value){$(this).val(value).change();return this}else{return selText=$(this).find(":selected").text()}},resetSS:function(){$this=$(this);$this.next().remove();$this.unbind().sSelect()}});$.fn.sSelect=function(options){return this.each(function(){var defaults={hiddenValue:"",identifier:0,defaultText:"Please select",animationSpeed:0,ddMaxHeight:""};var opts=$.extend(defaults,options),$input=$(this),itemIndex=-1,currentIndex=-1,keys=[],prevKey=false,newListItems="",prevented=false;var $containerDivText=$("<div class=\"selectedTxt"+opts.identifier+"\"></div>"),$containerDiv=$("<div class=\"newListSelected"+opts.identifier+"\" tabindex=\"0\"></div>"),$newUl=$("<ul class=\"newList"+opts.identifier+"\"></ul>");$containerDiv.insertAfter($input);$containerDivText.prependTo($containerDiv);$newUl.appendTo($containerDiv);$input.hide();if($input.children("optgroup").length==0){$input.children().each(function(i){var option=$(this).text();var tele=$(this).val();var code=$(this).attr("id");keys.push(option.charAt(0).toLowerCase());if($(this).attr("selected")==true){opts.defaultText=option;currentIndex=i}newListItems+="<li id=\"-"+code+"\" name=\"-"+tele+"\"><div class=\"divleft flag vlag "+code.toUpperCase()+"\">&nbsp;</div>"+option.substr(0,15)+"<span class=\"divright gvt\">+"+tele+"</span></li>"});$newUl.html(newListItems);newListItems="";var $newLi=$newUl.children()}else{$input.children("optgroup").each(function(i){var optionTitle=$(this).attr("label");var $optGroup=$("<li class=\"newListOptionTitle"+opts.identifier+"\">"+optionTitle+"</li>");$optGroup.appendTo($newUl);var $optGroupList=$("<ul></ul>");$optGroupList.appendTo($optGroup);$(this).children().each(function(){++itemIndex;var option=$(this).text();var tele=$(this).val();var code=$(this).attr("id");keys.push(option.charAt(0).toLowerCase());if($(this).attr("selected")==true){opts.defaultText=option;currentIndex=itemIndex}newListItems+="<li id=\"-"+code+"\" name=\"-"+tele+"\"><div class=\"divleft flag vlag "+code.toUpperCase()+"\">&nbsp;</div>"+option.substr(0,15)+"<span class=\"divright gvt\">+"+tele+"</span></li>"});$optGroupList.html(newListItems);newListItems=""});var $newLi=$newUl.find("ul li")}var newUlHeight=$newUl.height()+3,containerHeight=$containerDiv.height()+3,newLiLength=$newLi.length;if(currentIndex!=-1){navigateList(currentIndex,true)}else{$containerDivText.text(opts.defaultText)}function newUlPos(){var containerPosY=$containerDiv.offset().top,docHeight=jQuery(window).height(),scrollTop=jQuery(window).scrollTop();if(newUlHeight>parseInt(opts.ddMaxHeight)){newUlHeight=parseInt(opts.ddMaxHeight)}containerPosY=containerPosY-scrollTop;if(containerPosY+newUlHeight>=docHeight){$newUl.css({top:"24px",height:"200px"});$input.onTop=true}else{$newUl.css({top:"24px",height:"200px"});$input.onTop=false}}newUlPos();$(window).resize(function(){newUlPos()});$(window).scroll(function(){newUlPos()});function positionFix(){$containerDiv.css("position","relative")}function positionHideFix(){$containerDiv.css("position","static")}$containerDivText.click(function(){if($newUl.is(":visible")){$containerDiv.blur();return false}else{$containerDiv.focus();$newUl.slideDown(opts.animationSpeed);positionFix();$newUl.scrollTop($input.liOffsetTop)}});$newLi.hover(function(e){$(".newList"+opts.identifier+" #"+e.target.id).removeClass("newListHover"+opts.identifier);$(".newList"+opts.identifier+" #"+e.target.id).addClass("newListHover"+opts.identifier)},function(e){$(".newList"+opts.identifier+" #"+e.target.id).removeClass("newListHover"+opts.identifier)});$newLi.click(function(e){var $clickedLi=$(e.target);currentIndex=$newLi.index($clickedLi);prevented=true;navigateList(currentIndex);$containerDiv.blur()});function navigateList(currentIndex,init){var containerOffsetTop=$containerDiv.offset().top,liOffsetTop=$newLi.eq(currentIndex).offset().top,ulScrollTop=$newUl.scrollTop();if($input.onTop==true){$input.liOffsetTop=liOffsetTop-containerOffsetTop-containerHeight+ulScrollTop+parseInt(opts.ddMaxHeight)}else{$input.liOffsetTop=liOffsetTop-containerOffsetTop-containerHeight+ulScrollTop}$newUl.scrollTop($input.liOffsetTop);$newLi.removeClass("hiLite"+opts.identifier).eq(currentIndex).addClass("hiLite"+opts.identifier);var text=$newLi.eq(currentIndex).text();var tele=$newLi.eq(currentIndex).attr("name").substring(1);var code=$newLi.eq(currentIndex).attr("id").substring(1);$("#my-dropdownCountries"+opts.identifier).val(tele);$("."+opts.hiddenValue).val(tele);if(init==true){$input.val(text);$containerDivText.html("<div class=\"divleft mflag\"><div class=\"divleft vlag "+code.toUpperCase()+"\">&nbsp;</div></div>(+"+tele+")");return false}$input.val(text).change();$containerDivText.html("<div class=\"divleft mflag\"><div class=\"divleft vlag "+code.toUpperCase()+"\">&nbsp;</div></div>(+"+tele+")")}$input.change(function(event){$targetInput=$(event.target);if(prevented==true){prevented=false;return false}$currentOpt=$targetInput.find(":selected");currentIndex=$targetInput.find("option").index($currentOpt);navigateList(currentIndex,true)});function keyPress(element){element.onkeydown=function(e){if(e==null){var keycode=event.keyCode}else{var keycode=e.which}prevented=true;switch(keycode){case 40:case 39:incrementList();return false;break;case 38:case 37:decrementList();return false;break;case 33:case 36:gotoFirst();return false;break;case 34:case 35:gotoLast();return false;break;case 13:case 27:$containerDiv.blur();return false;break;default:}keyPressed=String.fromCharCode(keycode).toLowerCase();var currentKeyIndex=keys.indexOf(keyPressed);if(typeof currentKeyIndex!="undefined"){++currentIndex;currentIndex=keys.indexOf(keyPressed,currentIndex);if(currentIndex==-1||currentIndex==null||prevKey!=keyPressed){currentIndex=keys.indexOf(keyPressed)}navigateList(currentIndex);prevKey=keyPressed;return false}}}function incrementList(){if(currentIndex<newLiLength-1){++currentIndex;navigateList(currentIndex)}}function decrementList(){if(currentIndex>0){--currentIndex;navigateList(currentIndex)}}function gotoFirst(){currentIndex=0;navigateList(currentIndex)}function gotoLast(){currentIndex=newLiLength-1;navigateList(currentIndex)}$containerDiv.click(function(){keyPress(this)});$containerDiv.focus(function(){$(this).addClass("newListSelFocus"+opts.identifier);keyPress(this)});$containerDiv.blur(function(){$(this).removeClass("newListSelFocus"+opts.identifier);$newUl.fadeOut("fast")});$containerDivText.hover(function(e){var $hoveredTxt=$(e.target);$hoveredTxt.parent().addClass("newListSelHover"+opts.identifier)},function(e){var $hoveredTxt=$(e.target);$hoveredTxt.parent().removeClass("newListSelHover"+opts.identifier)});$newUl.css("left","0").hide()})}})(jQuery);
