/*  ÎÅÓÔÁÎÄÁÒÔÎÙÅ select 
    ×ÅÒÓÉÑ 1.1
    ÉÓÐÏÌØÚÕÅÔÓÑ ÂÉÂÌÉÏÔÅËÁ jQuery 1.2.6
	Á×ÔÏÒ Ksayri
	ÓÔÒÁÎÉÃÁ Ó ÏÐÉÓÁÎÉÅÍ http://www.xiper.net/html-and-css-tricks/verstka-form/nice-select-jquery.html      */

//jQuery.noConflict();

jQuery(document).ready(function(){

// ÐÒÉ ÚÁÇÒÕÚËÅ ÓÔÒÁÎÉÃÙ ×ÙÚÙ×ÁÅÍ ÓËÒÉÐÔ ÚÁÍÅÎÙ ÓÅÌÅËÔÏ×
changeSelects(false);
});

function optionClickHover()
{
	// ×ÙÂÏÒ ÐÏÚÉÃÉÉ × ÓÐÉÓËÅ option
jQuery('div.optionsDivInvisible > span').mousedown(
function()
{

jQuery(this.parentNode.parentNode.getElementsByTagName('input').item(1)).attr("value",jQuery(this).attr("name")); //  ÚÎÁÞÅÎÉÅ (value) option ÚÁÎÏÓÉÍ × input
	jQuery(this.parentNode.parentNode.getElementsByTagName('input').item(0)).attr("value",jQuery(this).text()); // ÔÅËÓÔ ÄÌÑ ÏÔÏÂÒÁÖÅÎÉÑ × ÓÅÌÅËÔÅ
	jQuery(this.parentNode).css("display","none"); //  ÓËÒÙ×ÁÅÍ ×ÙÐÁÄÁÀÝÉÊ ÓÐÉÓÏË
	if (jQuery(this.parentNode).attr("id")=="wid_fake"){
		change();
	}
});

//  ÐÏÄÓ×ÅÔËÁ ÏÐÔÉÏÎÁ ÐÒÉ ÎÁ×ÅÄÅÎÉÉ (Ô.Ë. ÉÅ6 ÐÏÎÉÁÅÔ hover ÔÏÌØËÏ ÎÁ ÓÓÙÌËÁÈ)
jQuery('div.optionsDivInvisible > span').mouseover(
function()
{
  this.className="over";
});

jQuery('div.optionsDivInvisible > span').mouseout(
function()
{
  this.className="";
});


// ÆÕÎËÃÉÑ ÏÂÒÁÂÏÔËÉ ËÌÉËÁ ÎÁ ÜÌÅÍÅÎÁÈ ÓÐÉÓËÁ ÄÌÑ ÓÅÌÅËÔÁ Ó ÐÒÏËÒÕÔËÏÊ
	jQuery('div.scroller-container > span').click(
	function()
		{

		var optionsDivInVisible = jQuery(this).parents("div.optionsDivInvisible");
		var hiddenInput = optionsDivInVisible.parent().find('input').eq(1); //ÓËÒÙÔÙÊ ÉÐÕÔ ÓÏ ÚÎÁÞÅÎÉÅÍ ÓÅÌÅËÔÁ
		var valueOption = jQuery(this).attr("name"); //ÚÎÁÞÅÎÉÅ optiona
		var textOption = jQuery(this).text(); // ÔÅËÓÔ optiona
		var inputInSelect = optionsDivInVisible.parent().find("input").eq(0); // ÐÏÌÅ, ËÏÔÏÒÏÅ ÓÏÄÅÒÖÉÔ ÔÅËÓÔ ÓÅÌÅËÔÁ
		
		inputInSelect.val(textOption); // ÏÂÎÏ×ÌÑÅÍ ÔÅËÓÔ ÓÅÌÅËÔÁ
		if(hiddenInput) hiddenInput.val(valueOption); // ÄÏÂÁ×ÌÑÅÍ ÚÎÁÞÅÎÉÅ ÓÅÌÅËÔÁ × ÓËÒÙÔÙÊ input
		optionsDivInVisible.css("display","none"); // ÓËÒÙ×ÁÅÍ ×ÙÐÁÄÁÀÝÉÊ ÓÐÉÓÏË

		}
);
	
// hover option for ie

	jQuery('div.scroller-container > span').mouseover(
	function()
		{
  		this.className="over";
		});

	jQuery('div.scroller-container > span').mouseout(
	function()
		{
  		this.className="";
		});
}

// ÚÁÍÅÎÁ ÏÂÙÞÎÙÈ select ÐÒÉ ×ÙÚÏ×Å ÆÕÎËÃÉÉ
function changeSelects(find)
{ 
		
/* ÓËÒÉÐÔ ÎÁÈÏÄÉÔ ×ÓÅ ÓÅÌÅËÔÙ ÎÁ ÓÔÒÁÎÉÃÅ É ÚÁÍÅÎÑÅÔ ÉÈ ÎÁ ÓÐÅÃ ËÏÎÓÔÒÕËÃÉÉ */
jQuery(".selectSP select").each(
function(num)
{
							// num - ÎÏÍÅÒ ÓÅÌÅËÔÁ ÎÁ ÓÔÒÁÎÉÃÅ
var selectOrCombobox = 8; 	// ÅÓÌÉ × ÓÅÌÅËÔÅ optionÏ× <= ÆÌÁÇÁ selectOrCombobox, ÔÏÇÄÁ ÓÅÌÅËÔ ÂÅÚ ÐÒÏËÒÕÔËÉ, ÂÏÌØÛÅ - ÄÏÂÁ×ÌÑÅÔÓÑ ÐÒÏËÒÕÔËÁ
var kolOptions=jQuery(this).children().length; // ÞÉÓÌÏ option × select

var className=this.className;//  ÉÍÑ ËÌÁÓÓÁ ÔÅËÕÝÅÇÏ ÓÅÌÅËÔÁ
var selName=this.name;		 //  name ÓÅÌÅËÔÁ
var selID=this.id;			 // id ÓÅÌÅËÔÁ       	
if (find==true){
	// $("#wid_fake").css("display", "none");
				 
	//alert("!"+selID);
	if (selID!="wid2"){
		return 'ok';
	}else{
		num=100;
	}
}

// ÏÐÒÅÄÅÌÑÅÍ ÔÉÐ ÓÅÌÅËÔÁ

if(kolOptions>selectOrCombobox)
{
	
	jQuery(this).css("display","none"); // ÓËÒÙ×ÁÅÍ select ÞÔÏÂÙ ÚÁÍÅÎÁ ×ÉÚÕÁÌØÎÏ ÐÒÏÛÌÁ ÂÏÌÅÅ ÇÌÁÄËÏ

	// ÞÔÏÂÙ ×ÅÒÈÎÉÅ ÓÅÌÅËÔÙ ÎÏÒÍÁÌØÎÏ ÐÅÒÅËÒÙ×ÁÌÉ ÎÉÖÎÉÅ, Á×ÔÏÍÁÔÉÞÅÓËÉ ÄÏÂÁ×ÌÑÅÍ z-index × ÐÏÒÑÄËÅ ÕÂÙ×ÁÎÉÑ
	// ÄÌÑ ÕÎÉËÁÌØÎÏÓÔÉ id ÜÌÅÍÅÎÔÏ× ÓÅÌÅËÔÏ× ÉÓÐÏÌØÚÕÅÔÓÑ num - ÐÏÒÑÄËÏ×ÙÊ ÎÏÍÅÒ ÓÅÌÅËÔÁ ÎÁ ÓÔÒÁÎÉÃÅ
	jQuery(this).before("<div class='selectArea "+className+"' style='z-index:"+(100-num)+"'>"+
							"<div class='left'></div>"+ // ÌÅ×ÁÑ ÞÁÓÔØ select
							"<div class='center_a'></div>"+ // ÐÒÁ×ÁÑ ÞÁÓÔØ (ÓÔÒÅÌËÁ) select
							"<div class='optionsDivInvisible' id='optInvis_"+num+"'>"+ // ËÏÎÔÅÊÎÅÒ ÄÌÑ option
								"<div class='scrollbar-container' id='scroll_container_"+num+"'>"+ // ËÏÎÔÅÊÎÅÒ ÄÌÑ ÓËÒÏÌÌÉÎÇÁ   
									"<div class='scrollbar-up'></div>"+ // ÓÔÒÅÌËÁ ××ÅÒÈ ÄÌÑ ÐÒÏËÒÕÔËÉ
									"<div class='scrollbar-down' id='scrollbar-down'></div>"+ // ÓÔÒÅÌËÁ ×ÎÉÚ
									"<div class='scrollbar-track' id='scrollbar-track'><b class='scrollbar-handle' id='scrollbar-handle'></b></div>"+ // ÔÒÜË ÓËÒÏÌÌÉÎÇÁ
									"<div class='container2' id='container'>"+ 
										"<div class='scroller-1' id='scroller_"+num+"'>"+
										"<div class='scroller-container' id='"+selID+"_fake'></div>"+
										"</div>"+
									"</div>"+
								"</div>"+
								"<table class='selbottab' border='0'><tr><td class='selb1'>&nbsp;</td><td class='selb3'>&nbsp;</td><td class='selb2'>&nbsp;</td></tr></table>"+
							"</div>"+
							"<input id='v"+selID+"' />"+ // ×ÉÄÉÍÙÊ ÔÅËÓÔ select
							"<input type='hidden' name='"+selName+"' id='"+selID+"' />"+ // ÚÎÁÞÅÎÉÅ select
						"</div>");

// ÚÁÐÏÌÎÑÅÍ <option>

var containerFofSel=jQuery("#scroller_"+num+" > div");
var selArr=jQuery(this).children(); // ÍÁÓÓÉ× ×ÓÅÈ option ÓÅÌÅËÔÁ
var sel_i; // ÔÅËÕÝÉÊ ÎÏÍÅÒ option
for(var i=0;i<kolOptions;i++) // ÐÒÅÏÂÒÁÚÏ×Ù×ÁÅÍ ×ÓÅ option × span
{							  // name spana - ÚÎÁÞÅÎÉÅ option
							  // ÔÅËÓÔ spana - ÔÅËÔ option
	sel_i = selArr.eq(i);
	containerFofSel.append("<span name='"+sel_i.val()+"'>"+sel_i.text()+"</span>");
}

// ÎÁÞÁÌØÎÏÅ ÚÎÁÞÅÎÉÅ ÓÅÌÅËÔÁ  
jQuery("#"+selID).val(jQuery(this).children("option[@selected=selected]").val());

// ÎÁÞÁÌØÎÙÊ ÔÅËÓÔ ÓÅÌÅËÔÁ
jQuery("#v"+selID).val(jQuery(this).children("option[@selected=selected]").eq(0).text());

// ÉÎÉÃÉÁÌÉÚÁÃÉÑ ÓËÒÏÌÌÉÎÇÁ
  var id_1='scroll_container_'+num;
  var id_2='scroller_'+num;
  scroller = new jsScroller(document.getElementById(id_2), 0, 143);
  scrollbar = new jsScrollbar(document.getElementById(id_1), scroller, false, false);
  
  	// ÓËÒÙ×ÅÍ ÎÏ×ÙÊ ÓÐÉÓÏË option
 	jQuery("#optInvis_"+num).css("display","none").css("visibility","visible");
	 // ÕÄÁÌÑÅÍ ÏÂÙÞÎÙÊ ÓÅÌÅËÔ  
	jQuery(this).remove();
}

// ÓÅÌÅËÔ ÂÅÚ ÐÒÏËÒÕÔËÉ  
else 
{
// ÆÏÒÍÉÒÕÅÍ ËÏÓÔÑË
jQuery(this).before("<div class='selectArea "+className+"' style='z-index:"+(100-num)+"'>"+
						"<div class='left'></div>"+
						"<div class='center_a'></div>"+
						"<div class='optionsDivInvisible' id='"+selID+"_fake'>"+
						"<table class='selbottab' border='0'><tr><td class='selb1'>&nbsp;</td><td class='selb3'>&nbsp;</td><td class='selb2'>&nbsp;</td></tr></table>"+
						"</div>"+
						"<input type='text' readonly='readonly' name='v"+selName+"' id='v"+selID+"' />"+
						"<input type='hidden' name='"+selName+"' id='"+selID+"' />"+
					"</div>");

//  ÚÁÐÏÌÎÑÅÍ <option>

var sel_i; // ÔÅËÕÝÉÊ ÎÏÍÅÒ option
var selArr=jQuery(this).children(); // ÍÁÓÓÉ× ×ÓÅÈ option ÓÅÌÅËÔÁ
for(var i=0;i<kolOptions;i++)
{
	sel_i = selArr.eq(i);
	// name spana - ÚÎÁÞÅÎÉÅ option
	// ÔÅËÓÔ spana - ÔÅËÔ option
	jQuery("#"+selID+"_fake").append("<span name='"+sel_i.val()+"'>"+sel_i.text()+"</span>");
}

// ÎÁÞÁÌØÎÏÅ ÚÎÁÞÅÎÉÅ ÓÅÌÅËÔÁ 
jQuery("#"+selID).val(jQuery(this).children("option[@selected]").eq(0).val());

// ÎÁÞÁÌØÎÙÊ ÔÅËÓÔ ÓÅÌÅËÔÁ
jQuery("#v"+selID).val(jQuery(this).children("option[@selected]").eq(0).text());

// ÓËÒÙ×ÁÅÍ ÓÐÉÓÏË option
jQuery("#"+selID+"_fake").css("display","none").css("visibility","visible");

//  ÕÄÁÌÑÅÍ ÏÂÙÞÎÙÊ ÓÅÌÅËÔ
jQuery(this).remove();
}

});

// ÐÏËÁÚÙ×ÁÅÍ/ÓËÒÙ×ÁÅÍ ÓÐÉÓÏË option
jQuery('div.center_a').mousedown(
function()
{
	var optionsDivInvisible = this.parentNode.getElementsByTagName('div').item(2); // ËÏÎÔÅÊÎÅÒ ÄÌÑ option
	//if(jQuery(optionsDivInvisible).css("display")=="none")		
		jQuery(optionsDivInvisible).slideDown(200); // ÅÓÌÉ ËÏÎÔÅÊÎÅÒ ÓËÒÙÔ, ÐÏËÁÚÙ×ÁÅÍ 
	//else 
	//	jQuery(optionsDivInvisible).slideUp(200); // ÉÎÁÞÅ ÓËÒÙ×ÁÅÍ 
	
	// ÅÓÌÉ ÜÔÏ select ÓÏ ÓËÒÏÏÍ, ÏÂÎÏ×ÌÑÅÍ ÓËÒÏÌÌ   
    var inp=this.parentNode.getElementsByTagName('input').item(0);
		if(!jQuery(inp).attr("readonly")) 
		{
		jQuery(inp).focus(); jQuery(inp).select(); // ÕÓÔÁÎÁ×ÌÉ×ÁÅÍ ÆÏËÕÓ ÎÁ ÓÅÌÅËÔ, ÞÔÏÂÙ ÍÏÖÎÏ ÂÙÌÏ ÏÔÂÉÒÁÔØ ÐÏ ÐÅÒ×ÙÍ ÂÕË×ÁÍ
		// ÏÂÎÏ×ÌÑÅÍ scroll
		var id_1=this.parentNode.getElementsByTagName('div').item(3).id;
		var id_2=this.parentNode.getElementsByTagName('div').item(8).id;
		scroller  = new jsScroller(document.getElementById(id_2), 0, 143);
		scrollbar = new jsScrollbar(document.getElementById(id_1), scroller, false, false);
		}
});

// ÄÕÂÌÑÖ ÐÏËÁÚÁ/ÓËÒÙÔÉÑ option ÐÒÉ ËÌÉËÅ ÎÁ input selectArea (ÄÌÑ combobox)
jQuery('div.selectArea > input').mousedown(
function()
{

  if(jQuery(this.parentNode.getElementsByTagName('div').item(2)).css("display")=="none")
  {

  	jQuery(this.parentNode.getElementsByTagName('div').item(2)).slideDown(200);
	/*var id_1=this.parentNode.getElementsByTagName('div').item(3).id;
	var id_2=this.parentNode.getElementsByTagName('div').item(8).id;
	scroller  = new jsScroller(document.getElementById(id_2), 0, 143);
	scrollbar = new jsScrollbar(document.getElementById(id_1), scroller, false, false);*/
  }
});

// ×ÙÂÏÒ ÐÏÚÉÃÉÉ × ÓÐÉÓËÅ option
optionClickHover();


//  ÓËÒÙ×ÁÅÍ ÓÐÉÓÏË option ËÏÇÄÁ ÕÂÉÒÁÅÍ ËÕÒÓÏÒ Ó ÓÅÌÅËÔÁ
jQuery('div.selectArea').mouseout(
function(e)
{
var x = 0, y = 0; // ÏÂßÑ×ÌÑÅÍ É ÏÂÎÕÌÑÅÍ ËÏÏÒÄÉÎÁÔÙ ËÕÒÓÏÒÁ  
    if (!e) e = window.event;
    if (e.pageX || e.pageY){
        x = e.pageX;
        y = e.pageY;
    } else if (e.clientX || e.clientY){
        x = e.clientX + (document.documentElement.scrollLeft || document.body.scrollLeft) - document.documentElement.clientLeft;
        y = e.clientY + (document.documentElement.scrollTop || document.body.scrollTop) - document.documentElement.clientTop;
    }
  var obj = this;
  var posx=findPosX(obj);
  var posy=findPosY(obj);
  var length_obj = obj.offsetWidth-2;
  var left=this.getElementsByTagName('div')[0].offsetWidth;
  var h = this.getElementsByTagName('div')[1].offsetHeight;
  var minus;
  if(jQuery.browser.msie) {minus=0;min2=1;left-=1;}
  else {minus=2;min2=1;left-=3;}
  var h1 = this.getElementsByTagName('div')[2].offsetHeight-minus;
  // ÅÓÌÉ ËÕÒÓÏÒ ÌÅ×ÅÅ, ÉÌÉ ×ÙÛÅ, ÉÌÉ ÐÒÁ×ÅÅ, ÉÌÉ ×ÎÅ ÓÐÉÓËÁ ÏÐÔÉÏÎÏ× - ÓËÒÙ×ÁÅÍ ÓÐÉÓÏË
  if((x<=posx+left || x>posx+length_obj+min2 || y<posy+2 || y>posy+h+h1) && jQuery(this).children('div.optionsDivInvisible').css("display")=="block")
  {
  jQuery(this).children('div.optionsDivInvisible').slideUp(200);
  }
});

//  ÏÔÂÏÒ option Ï ÐÅÒ×ÙÍ ÂÕË×ÁÍ
jQuery('div.selectArea > input').keyup(
function()
{
var id_1=this.parentNode.getElementsByTagName('div').item(3).id;
//id blocka scroll
var id_2=this.parentNode.getElementsByTagName('div').item(8).id;
//cicl proverka na sootvetstvie vvedenim simvolam
var col=jQuery("#"+id_2+" > div > span").length; // Ë-×Ï ×ÓÅÈ option
var span=jQuery("#"+id_2+" > div > span"); // ÍÁÓÓÉ× ×ÓÅÈ option
var val_input=jQuery(this).val().toUpperCase(); // ÐÅÒÅ×ÏÄÉÍ ×ÓÅ ÓÉÍ×ÏÌÙ × ÏÄÉÎ ÒÅÇÉÓÔÒ      
  for(i=0;i<col;i++)
  {
    var val_list=span.eq(i).text().toUpperCase();

    var pos=val_list.indexOf(val_input);
	if(pos!=0) span.eq(i).css("display","none"); // ÅÓÌÉ ÎÕÖÎÏÊ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ × ÓÌÏ×Å ÎÅÔ, ÓËÒÙ×ÁÅÍ option
    else span.eq(i).css("display","block");
  }
  //  ÏÂÎÏ×ÌÑÅÍ ÓËÒÏÌÌ
  scroller  = new jsScroller(document.getElementById(id_2), 0, 143);
  scrollbar = new jsScrollbar(document.getElementById(id_1), scroller, false, false);

});
function findPosY(obj) {
  var posTop = 0;
  while (obj.offsetParent) {posTop += obj.offsetTop; obj = obj.offsetParent;}
  return posTop;
}
function findPosX(obj) {
  var posLeft = 0;
  while (obj.offsetParent) {posLeft += obj.offsetLeft; obj = obj.offsetParent;}
  return posLeft;
}

}


