jQuery.fn.sSelect = function(){  
    var selectId = $(this).attr('id');  
    var selectIndex = $('#'+selectId+' > select > option').index($('#'+selectId+' > select > option:selected')[0]);  
    $('#'+selectId).append('<div class="dropselectbox"><h4></h4><span class="FixSelectBrowserSpan"></span><ul style="display:none"><li></li></ul></div>');  
    $('#'+selectId+' > div > h4').empty().append($('#'+selectId+' > select > option:selected').text());  
    $('.dropselectbox').show();  
    var selectWidth = $('#'+selectId+'> select').width(); 
    $('#'+selectId+' > div > h4').css({width:selectWidth}); 
    var selectUlwidth = selectWidth ;
    $('#'+selectId+' > div > ul').css({width:selectUlwidth}); 
    $('#'+selectId+' > select').hide();  
    $('#'+selectId+' > div').hover(function(){  
        $('#'+selectId+' > div > h4').addClass("over");  
        $('#'+selectId+' > div > span').addClass("over");  
    },function(){  
        $('#'+selectId+' > div > h4').removeClass("over");  
        $('#'+selectId+' > div > span').removeClass("over");  
    });

    var ss = "blur";
      if ($.browser.safari) {
      		ss="mouseout";
	} 
    $('#'+selectId)  
	.bind(ss,function(){  
	$('#'+selectId).css({'position':'relative','z-index':'0'});
        __clearSelectMenu(ss); 
        return false;  
    })
    .bind("focus",function(){
        __clearSelectMenu();  
        $('#'+selectId+' > div > h4').addClass("over");  
        $('#'+selectId+' > div > span').addClass("over");  
    })  
    .bind("click",function(e){  
		if($('#'+selectId+' > div > h4').html().indexOf("Select a")==-1 && selectId=="stateDiv"){
			$('#'+selectId+' > div > h4').html("Select a State/Province");
			getLocations("programNameDiv");
		} 
		if($('#'+selectId+' > div > h4').html().indexOf("Select a")==-1 && selectId=="locationsDiv"){
			$('#'+selectId+' > div > h4').html("Select a Location");
			getLocations1(selectId);
		} 
		if($('#'+selectId+' > div > h4').html().indexOf("Select a")==-1 && selectId=="programNameDiv"){
			$('#'+selectId+' > div > h4').html("Select a Degree Program");
			getLocations("stateDiv");
		} 
       /* if($('#'+selectId+' > div > ul').css("display") == 'block'){  
            __clearSelectMenu();
			
          return false;  
        } else */{  
            $('#'+selectId+' > div > h4').addClass("current"); 
			
            $('#'+selectId+' > div > span').addClass("over").addClass("current");  
            $('#'+selectId+' > div > ul').show(); 
			$('#'+selectId+' > div > ul').css('display','block');
						
            __setSelectValue(selectId);  
             var windowspace = ($(window).scrollTop() + document.documentElement.clientHeight) - $('#'+selectId).offset().top;  
             var ulspace = $('#'+selectId+' > div > ul').outerHeight(true);  
            if(ulspace > 300 ){
				$('#'+selectId+' > div > ul').css('height','300px');
				$('#'+selectId+' > div > ul').css('overflow-y','auto');
				$('#'+selectId+' > div > ul').css('overflow-x','hidden');
			};
             
	selectIndex = $('#'+selectId+' > div > ul > li').index($('.selectedli')[0]);  
             $(window).scroll(function(){  
                 var windowspace = ($(window).scrollTop() + document.documentElement.clientHeight) - $('#'+selectId).offset().top;  
                 var ulspace = $('#'+selectId+' > div > ul').outerHeight(true);  
                 if (windowspace < ulspace) {  
                     $('#'+selectId+' > div > ul').css({top:-ulspace});  
                 }else{  
                     $('#'+selectId+' > div > ul').css({top:$('#'+selectId+' > div > h4').outerHeight(true)});  
                 }  
             });  
             $('#'+selectId+' > div > ul > li').click(function(e){      
															
                     selectIndex = $('#'+selectId+' > div > ul > li').index(this);  
                     $('#'+selectId+'> select')[0].selectedIndex = selectIndex;  
                     $('#'+selectId+' > div > h4').empty().append($('#'+selectId+' > select > option:selected').text());  
                     __clearSelectMenu();  
                     e.stopPropagation();  
                     e.cancelbubble = true;  
					 getLocations(selectId);
             })  
             .hover(  
                    function(){  
                         $('#'+selectId+' > div > ul > li').removeClass("over");  
                         $(this).addClass("over").addClass("selectedli");  
                         selectIndex = $('#'+selectId+' > div > ul > li').index(this);  
                     },  
                     function(){  
                         $(this).removeClass("over");  
                     }  
             );  
         };  
         e.stopPropagation();  
     })  
     .bind("mousewheel",function(){  
     })  
     .bind("dblclick", function(){  
         __clearSelectMenu();  
         return false;  
     })  
     .bind("keydown",function(e){  
         $(this).bind('keydown',function(e){  
             if (e.keyCode == 40 || e.keyCode == 38 || e.keyCode == 35 || e.keyCode == 36){  
                 return false;  
             }  
         });  
         switch(e.keyCode){
             case 9:  
                 return true;  
                 break;  
             case 13:  
                 __clearSelectMenu();  
                 break;  
             case 27:  
                 __clearSelectMenu();  
                 break;  
             case 33:  
                 $('#'+selectId+' > div > ul > li').removeClass("over");  
                 selectIndex = 0;  
                 __keyDown(selectId,selectIndex);  
                 break;  
             case 34:  
                 $('#'+selectId+' > div > ul > li').removeClass("over");  
                 selectIndex = ($('#'+selectId+' > select > option').length - 1);  
                 __keyDown(selectId,selectIndex);  
                 break;  
             case 35:  
                 $('#'+selectId+' > div > ul > li').removeClass("over");  
                 selectIndex = ($('#'+selectId+' > select > option').length - 1);  
                 __keyDown(selectId,selectIndex);  
                 break;  
             case 36:  
                 $('#'+selectId+' > div > ul > li').removeClass("over");  
                 selectIndex = 0;  
                 __keyDown(selectId,selectIndex);  
                 break;  
             case 38:  
                 //up  
                 //$('#value2').append('?-???????o'+selectIndex+'&nbsp;&nbsp;<br>');  
                 $('#'+selectId+' > div > ul > li').removeClass("over");  
                 if (selectIndex == 0){  
                     selectIndex = 0;  
                 }else{  
                     selectIndex--;  
                 };  
                 __keyDown(selectId,selectIndex);  
                 break;  
             case 40:  
                 $('#'+selectId+' > div > ul > li').removeClass("over");  
                 if (selectIndex == ($('#'+selectId+' > select > option').length - 1)){  
                    selectIndex = $('#'+selectId+' > select > option').length - 1;  
                }else{  
                    selectIndex ++;  
                };  
               __keyDown(selectId,selectIndex);  
                break;   
            default:  
                return false;  
                break;  
        };  
    });     
    $('.dropselectbox').bind("selectstart",function(){  
            return false;  
    });  
};  
  
function __clearSelectMenu(s){  

	if(s=="mouseout"){
		$("body").bind("click", function(){
			__clearSelectMenu();
		});	
	}else{
		$('.dropdown').css('visibility','visible');
		$('.dropselectbox > ul').empty().hide();  
		$('.dropselectbox > h4').removeClass("over").removeClass("current");  
	    $('.dropselectbox > span').removeClass("over");
	}
	 
}  
   
function __setSelectValue(sID){  
			var j = 0;
			var flag = false;
			$('.dropdown').each(function(i, n){

				
				if($(n).attr("id") == sID){
					$(n).css({'position':'relative','z-index':'999'});
					j = i;
					var ss = $(n).attr("id");
					if($('#'+ss+' > select > option').size()>2){
						flag = true;
					}
				}
				if(j<i && flag){
					
					$(n).css({'visibility':'hidden'});
				}
			});

    $('#'+sID+' > div > ul').empty();  
	
	$.each($('#'+sID+' > select > option'), function(i){  
        $('#'+sID+' > div > ul').append("<li class='FixSelectBrowser'>"+$(this).text()+"</li>");  
    });  
    $('#'+sID+' > div > h4').empty().append($('#'+sID+' > select option:selected').text()); 
    $('#'+sID+' > div > ul > li').eq($('#'+sID+'> select')[0].selectedIndex).addClass("over").addClass("selectedli");  
	
}  
 function __setSelectLi(sID){  
    $('#'+sID+' > div > ul').empty();  

	$.each($('#'+sID+' > select > option'), function(i){  
        $('#'+sID+' > div > ul').append("<li class='FixSelectBrowser'>"+$(this).text()+"</li>");  
    });  
    $('#'+sID+' > div > h4').empty().append($('#'+sID+' > select option:selected').text()); 
    $('#'+sID+' > div > ul > li').eq($('#'+sID+'> select')[0].selectedIndex).addClass("over").addClass("selectedli");  
	
}
function getLocations1(obj){
    if(obj=="locationsDiv"){
	    var createProgram = document.getElementById("programName");
	    createProgram.options[0].selected = true;
	    $("#locationsDiv div").remove();
	    $("#locationsDiv").sSelect();
    }
    
}
