﻿/**
 * jQuery redrawSelect plugin
 * This jQuery plugin was created to redraw default form select element to stylable drop down menu.
 * @name jquery-redrawSelect-1.0b.js
 * @author Robertas Leikus - http://www.skill.lt
 * @version 1.3b
 * @date April 08, 2009
 * @category jQuery plugin
 * @copyright (c) 2009 Robertas Leikus (skill.lt)
 */
jQuery._index = 0;
jQuery._redrawSelectIdents = new Array();
jQuery.fn.redrawSelect = function(settings, callBack) {
	return this.each(function(settings) {
		var aSelect = this;
		var settings = jQuery.extend({
			//menuWidth: ($(aSelect).width() ? $(aSelect).width() : '175px'),
			ident: (($(aSelect).attr('id')) ? $(aSelect).attr('id') : 'redrawnSelect_' + Math.round(Math.random() * 100)),
			cssClass: 'redrawSelect'
		}, settings);
		if(!$(aSelect).attr('id')) {
			$(aSelect).attr('id') = settings.ident;
		}
		var active = $(aSelect).find('option:selected');
		var optValues = new Object();
		var html = '<div class="' + settings.cssClass + '_h" id="div_' + settings.ident + '_h">';
		html += '<div class="' + settings.cssClass + '_txt" id="div_' + settings.ident + '_txt">' + active.html() + '</div>';
		html += '<div class="' + settings.cssClass + '_opts" id="div_' + settings.ident + '_opts">';
		$(aSelect).find('option').each(function() {
			optValues['div_' + settings.ident + '_opt_' + $(this).attr('value')] = $(this).attr('value');
			html += '<div class="' + settings.cssClass + '_itm' + (($(this).attr('value') == $(aSelect).attr('value')) ? '_act' : '') + '" id="div_' + settings.ident + '_opt_' + $(this).attr('value') + '">' + $(this).html() + '</div>';
		});
		html += '</div></div>';
		$(aSelect).after(html);
		$(aSelect).hide();
		var $container = $('#div_' + settings.ident + '_opts');
		var $textContainer = $('#div_' + settings.ident + '_txt');
		$container.hide();
		$textContainer.mouseover(function() {
			$(this).addClass(settings.cssClass + '_txt_act');
		});
		$textContainer.mouseout(function() {
			$(this).removeClass(settings.cssClass + '_txt_act');
		});
		$textContainer.click(function() {
			if(!$container.css('display') || $container.css('display') == 'none') {
				$container.slideDown();
				jQuery._redrawSelectIdents['div_' + settings.ident + '_opts'] = true;
			} else {
				$container.slideUp();
			}
		});
		jQuery._index++;
		zind = parseInt($('#div_' + settings.ident + '_h').css('z-index'));
		if(!zind) {
			zind = 1000;
		} else {
			zind += 1000;
		}
		$('#div_' + settings.ident + '_h').css({zIndex: (zind - jQuery._index)});
		jQuery._redrawSelectIdents['div_' + settings.ident + '_opts'] = false;
		$('#div_' + settings.ident + '_opts div').each(function() {
			$(this).mouseover(function() {
				$(this).addClass(settings.cssClass + '_itm_hover');
			});
			$(this).mouseout(function() {
				$(this).removeClass(settings.cssClass + '_itm_hover');
			});
			$(this).click(function() {
				$container.slideUp();
				$(aSelect).val(optValues[$(this).attr('id')]);
				$textContainer.html($(this).html());
				$container.find('div.' + settings.cssClass + '_itm_act').addClass(settings.cssClass + '_itm').removeClass(settings.cssClass + '_itm_act');
				$(this).addClass(settings.cssClass + '_itm_act');
				if(typeof callBack == 'function') {
					callBack();
				}
				if ( $(aSelect).attr('id') == "searchTipas")
				   if ($(aSelect).attr('value') == 44)
				   {
                                     //alert($('#div_searchSize_h').css("zIndex"));
                                     newzind = $('#div_searchSize_h').css("zIndex");
                                     $('#div_searchSize_h').remove();
                                     $('#searchSize').html("");
                                     for(i = 0; i < avalynes_dydziai.length; i++)
                                       $('#searchSize').append('<option value="' + avalynes_dydziai[i]['value'] + '">' + avalynes_dydziai[i]['text'] + '</option>');
                                     $('#searchSize').redrawSelect(false, redrawSelectCallBack);
                                     $('#div_searchSize_h').css({zIndex: (newzind)});

                                     newzind = $('#div_searchCategory_h').css("zIndex");
                                     $('#div_searchCategory_h').remove();
                                     $('#searchCategory').html("");
                                     for(i = 0; i < avalynes_kat.length; i++)
                                       $('#searchCategory').append('<option value="' + avalynes_kat[i]['value'] + '">' + avalynes_kat[i]['text'] + '</option>');
                                     $('#searchCategory').redrawSelect(false, redrawSelectCallBack);
                                     $('#div_searchCategory_h').css({zIndex: (newzind)});

                                   
                                   }
				  else if ($(aSelect).attr('value') == 31)
				   {
                                     newzind = $('#div_searchSize_h').css("zIndex");
                                     $('#div_searchSize_h').remove();
                                     $('#searchSize').html("");
                                     for(i = 0; i < aprangos_dydziai.length; i++)
                                       $('#searchSize').append('<option value="' + aprangos_dydziai[i]['value'] + '">' + aprangos_dydziai[i]['text'] + '</option>');
                                     $('#searchSize').redrawSelect(false, redrawSelectCallBack);
                                     $('#div_searchSize_h').css({zIndex: (newzind)});
                                   
                                     newzind = $('#div_searchCategory_h').css("zIndex");
                                     $('#div_searchCategory_h').remove();
                                     $('#searchCategory').html("");
                                     for(i = 0; i < aprangos_kat.length; i++)
                                       $('#searchCategory').append('<option value="' + aprangos_kat[i]['value'] + '">' + aprangos_kat[i]['text'] + '</option>');
                                     $('#searchCategory').redrawSelect(false, redrawSelectCallBack);
                                     $('#div_searchCategory_h').css({zIndex: (newzind)});

                                   }
                                   
				  else if ($(aSelect).attr('value') == 54)
				   {

                                     newzind = $('#div_searchCategory_h').css("zIndex");
                                     $('#div_searchCategory_h').remove();
                                     $('#searchCategory').html("");
                                     for(i = 0; i < aksesuaru_kat.length; i++)
                                       $('#searchCategory').append('<option value="' + aksesuaru_kat[i]['value'] + '">' + aksesuaru_kat[i]['text'] + '</option>');
                                     $('#searchCategory').redrawSelect(false, redrawSelectCallBack);
                                     $('#div_searchCategory_h').css({zIndex: (newzind)});

                                     newzind = $('#div_searchSize_h').css("zIndex");
                                     $('#div_searchSize_h').remove();
                                     $('#searchSize').html("");
                                     $('#searchSize').append('<option value="0">Pasirinkite</option>');
                                     $('#searchSize').redrawSelect(false, redrawSelectCallBack);
                                     $('#div_searchSize_h').css({zIndex: (newzind)});
                                   }
                                   else
                                   {
                                     newzind = $('#div_searchSize_h').css("zIndex");
                                     $('#div_searchSize_h').remove();
                                     $('#searchSize').html("");
                                     $('#searchSize').append('<option value="0">Pasirinkite</option>');
                                     $('#searchSize').redrawSelect(false, redrawSelectCallBack);
                                     $('#div_searchSize_h').css({zIndex: (newzind)});

                                     newzind = $('#div_searchCategory_h').css("zIndex");
                                     $('#div_searchCategory_h').remove();
                                     $('#searchCategory').html("");
                                     $('#searchCategory').append('<option value="0">Pasirinkite</option>');
                                     $('#searchCategory').redrawSelect(false, redrawSelectCallBack);
                                     $('#div_searchCategory_h').css({zIndex: (newzind)});
                                   }

			});
		});
	});
}

jQuery(document).ready(function() {
	$('body').click(function() {
		for(var i in jQuery._redrawSelectIdents) {
			if(jQuery._redrawSelectIdents[i]) {
				jQuery._redrawSelectIdents[i] = false;
			} else {
				$('#' + i).slideUp();
			}
		}
	});
});