/*#############################################################
Name: Select to CSS
Version: 0.2
Author: Utom
URL: http://utombox.com/
#############################################################*/
var selects = document.getElementsByTagName('select');
var url = window.location.href.replace("http://", "");
var localName = url.substring(url.indexOf("/") + 1, url.indexOf(".html"));
//alert(localName);

var isIE = (document.all && window.ActiveXObject && !window.opera) ? true : false;

function $(id) {
    return document.getElementById(id);
}

function stopBubbling(ev) {
    ev.stopPropagation();
}

function rSelects() {
    for (i = 0; i < selects.length; i++) {
        selects[i].style.display = 'none';
        select_tag = document.createElement('div');
        select_tag.id = 'select_' + selects[i].name;
        select_tag.className = 'select_box';
        selects[i].parentNode.insertBefore(select_tag, selects[i]);

        select_info = document.createElement('div');
        select_info.id = 'select_info_' + selects[i].name;
        select_info.className = 'tag_select';
        select_info.style.cursor = 'pointer';
        select_tag.appendChild(select_info);

        select_ul = document.createElement('ul');
        select_ul.id = 'options_' + selects[i].name;
        select_ul.className = 'tag_options';
        select_ul.style.position = 'absolute';
        select_ul.style.display = 'none';
        select_ul.style.zIndex = '999';
        select_tag.appendChild(select_ul);

        rOptions(i, selects[i].name);

        mouseSelects(selects[i].name);

        if (isIE) {
            selects[i].onclick = new Function("clickLabels3('" + selects[i].name + "');window.event.cancelBubble = true;");
        }
        else if (!isIE) {
            selects[i].onclick = new Function("clickLabels3('" + selects[i].name + "')");
            selects[i].addEventListener("click", stopBubbling, false);
        }
    }
}


function rOptions(i, name) {
    var options = selects[i].getElementsByTagName('option');
    var options_ul = 'options_' + name;
    for (n = 0; n < selects[i].options.length; n++) {
        option_li = document.createElement('li');
        option_li.style.cursor = 'pointer';
        option_li.className = 'open';
        $(options_ul).appendChild(option_li);

        option_text = document.createTextNode(selects[i].options[n].text);
        option_value = document.createTextNode(selects[i].options[n].value);

        option_li.appendChild(option_text);
        option_li.value = option_value.nodeValue;

        option_selected = selects[i].options[n].selected;

        if (option_selected) {
            option_li.className = 'open_selected';
            option_li.id = 'selected_' + name;
            $('select_info_' + name).appendChild(document.createTextNode(option_li.innerHTML));
            $('select_info_' + name).value = option_li.value;
            //alert(option_li.value);
            //$('select_info_' + name).value);
        }

        option_li.onmouseover = function() { this.className = 'open_hover'; }
        option_li.onmouseout = function() {
            if (this.id == 'selected_' + name) {
                this.className = 'open_selected';
            }
            else {
                this.className = 'open';
            }
        }

        option_li.onclick = new Function("clickOptions(" + i + "," + n + ",'" + selects[i].name + "'," + option_li.value + ")");
    }
}


function mouseSelects(name) {
    var sincn = 'select_info_' + name;

    $(sincn).onmouseover = function() { if (this.className == 'tag_select') this.className = 'tag_select_hover'; }
    $(sincn).onmouseout = function() { if (this.className == 'tag_select_hover') this.className = 'tag_select'; }

    if (isIE) {
        $(sincn).onclick = new Function("clickSelects('" + name + "');window.event.cancelBubble = true;");
    }
    else if (!isIE) {
        $(sincn).onclick = new Function("clickSelects('" + name + "');");
        $('select_info_' + name).addEventListener("click", stopBubbling, false);
    }

}

function clickSelects(name) {
    var sincn = 'select_info_' + name;
    var sinul = 'options_' + name;

    for (i = 0; i < selects.length; i++) {
        if (selects[i].name == name) {
            if ($(sincn).className == 'tag_select_hover') {
                $(sincn).className = 'tag_select_open';
                $(sinul).style.display = '';
            }
            else if ($(sincn).className == 'tag_select_open') {
                $(sincn).className = 'tag_select_hover';
                $(sinul).style.display = 'none';
            }
        }
        else {
            $('select_info_' + selects[i].name).className = 'tag_select';
            $('options_' + selects[i].name).style.display = 'none';
        }
    }

}

function clickOptions(i, n, name, id) {
    var li = $('options_' + name).getElementsByTagName('li');

    $('selected_' + name).className = 'open';
    $('selected_' + name).id = '';
    li[n].id = 'selected_' + name;
    li[n].className = 'open_hover';
    $('select_' + name).removeChild($('select_info_' + name));

    select_info = document.createElement('div');
    select_info.id = 'select_info_' + name;
    select_info.className = 'tag_select';
    select_info.style.cursor = 'pointer';
    $('options_' + name).parentNode.insertBefore(select_info, $('options_' + name));

    mouseSelects(name);

    $('select_info_' + name).appendChild(document.createTextNode(li[n].innerHTML));
    $('options_' + name).style.display = 'none';
    $('select_info_' + name).className = 'tag_select';
    $('select_info_' + name).value = id;
    //alert($('select_info_' + name).value);
    selects[i].options[n].selected = 'selected';
    if (name == "language") {
        jq.ajax({
            type: "POST",
            url: "/ajax/GetRoomType.aspx",
            data: { hid: id },
            dataType: "text",
            cache: false,
            success: function(data) {
                var list_obj = data.split('|');
                jq(".fangboxstyle #language2").html("");
                jq("#select_info_language2").html("");
                jq("#options_language2").html("");
                for (var i = 0; i < list_obj.length; i++) {
                    jq("#language2").append("<option value='" + list_obj[i].split(',')[0] + "'>" + list_obj[i].split(',')[1] + "</option>");
                }
                rOptions(1, "language2");
            }
        });
    }
    if (name == "language3") {
        jq.ajax({
            type: "POST",
            url: "/ajax/GetStandard.aspx",
            data: { hid: id },
            dataType: "text",
            cache: false,
            success: function(data) {
                var list_obj = data.split('|');
                jq(".fangboxstyle #language5").html("");
                jq("#select_info_language5").html("");
                jq("#options_language5").html("");
                for (var i = 0; i < list_obj.length; i++) {
                    jq("#language5").append("<option value='" + list_obj[i].split(',')[0] + "'>" + list_obj[i].split(',')[1] + "</option>");
                }
                if (localName == "meal_order") {
                    rOptions(2, "language5");
                }
                else {
                    rOptions(4, "language5");
                }
            }
        });
    }
}

window.onload = function(e) {
    bodyclick = document.getElementsByTagName('body').item(0);
    rSelects();
    bodyclick.onclick = function() {
        for (i = 0; i < selects.length; i++) {
            $('select_info_' + selects[i].name).className = 'tag_select';
            $('options_' + selects[i].name).style.display = 'none';
        }
    }
}
