function initAutoScalingNav(o) {
    if (!o.menuId) o.menuId = "nav";
    if (!o.tag) o.tag = "a";
    if (!o.spacing) o.spacing = 0;
    if (!o.constant) o.constant = 0;
    if (!o.minPaddings) o.minPaddings = 0;
    if (!o.liHovering) o.liHovering = false;
    if (!o.sideClasses) o.sideClasses = false;
    if (!o.equalLinks) o.equalLinks = false;
    if (!o.flexible) o.flexible = false;
    var nav = document.getElementById(o.menuId);
    if(nav) {
        nav.className += " scaling-active";
        var lis = nav.getElementsByTagName("li");
        var asFl = [];
        var lisFl = [];
        var width = 0;
        for (var i=0, j=0; i<lis.length; i++) {
            if(lis[i].parentNode == nav) {
                var t = lis[i].getElementsByTagName(o.tag).item(0);
                asFl.push(t);
                asFl[j++].width = t.offsetWidth;
                lisFl.push(lis[i]);
                if(width < t.offsetWidth) width = t.offsetWidth;
            }
            if(o.liHovering) {
                lis[i].onmouseover = function() {
                    this.className += " hover";
                }
                lis[i].onmouseout = function() {
                    this.className = this.className.replace("hover", "");
                }
            }
        }
        var menuWidth = nav.clientWidth - asFl.length*o.spacing - o.constant;
        if(o.equalLinks && width * asFl.length < menuWidth) {
            for (var i=0; i<asFl.length; i++) {
                asFl[i].width = width;
            }
        }
        width = getItemsWidth(asFl);
        if(width < menuWidth) {
            var version = navigator.userAgent.toLowerCase();
            for (var i=0; getItemsWidth(asFl) < menuWidth; i++) {
                asFl[i].width++;
                if(!o.flexible) {
                    asFl[i].style.width = asFl[i].width + "px";
                }
                if(i >= asFl.length-1) i=-1;
            }
            if(o.flexible) {
                for (var i=0; i<asFl.length; i++) {
                    width = (asFl[i].width - o.spacing - o.constant/asFl.length)/menuWidth*100;
                    if(i != asFl.length-1) {
                        lisFl[i].style.width = width + "%";
                    }
                    else {
                        if(navigator.appName.indexOf("Microsoft Internet Explorer") == -1 || version.indexOf("msie 8") != -1 || version.indexOf("msie 9") != -1)
                            lisFl[i].style.width = width + "%";
                    }
                }
            }
        }
        else if(o.minPaddings > 0) {
            for (var i=0; i<asFl.length; i++) {
                asFl[i].style.paddingLeft = o.minPaddings + "px";
                asFl[i].style.paddingRight = o.minPaddings + "px";
            }
        }
        if(o.sideClasses) {
            lisFl[0].className += " first-child";
            lisFl[0].getElementsByTagName(o.tag).item(0).className += " first-child-a";
            lisFl[lisFl.length-1].className += " last-child";
            lisFl[lisFl.length-1].getElementsByTagName(o.tag).item(0).className += " last-child-a";
        }
        nav.className += " scaling-ready";
    }
    function getItemsWidth(a) {
        var w = 0;
        for(var q=0; q<a.length; q++) {
            w += a[q].width;
        }
        return w;
    }
}

function hideFormText() {
    var _inputs = document.getElementsByTagName('input');
    var _txt = document.getElementsByTagName('textarea');
    var _value = [];
    
    if (_inputs) {
        for(var i=0; i<_inputs.length; i++) {
            if (_inputs[i].type == 'text' || _inputs[i].type == 'password') {
                
                _inputs[i].index = i;
                _value[i] = _inputs[i].value;
                
                _inputs[i].onfocus = function(){
                    if (this.value == _value[this.index])
                        this.value = '';
                }
                _inputs[i].onblur = function(){
                    if (this.value == '')
                        this.value = _value[this.index];
                }
            }
        }
    }
    if (_txt) {
        for(var i=0; i<_txt.length; i++) {
            _txt[i].index = i;
            _value['txt'+i] = _txt[i].value;
            
            _txt[i].onfocus = function(){
                if (this.value == _value['txt'+this.index])
                    this.value = '';
            }
            _txt[i].onblur = function(){
                if (this.value == '')
                    this.value = _value['txt'+this.index];
            }
        }
    }
}

function ieHover(h_list, h_class){
    if(!h_class) h_class = 'hover'; 
    if ($.browser.msie && $.browser.version < 7){
        $(h_list).mouseenter(function(){
            $(this).addClass(h_class);
        }).mouseleave(function(){
            $(this).removeClass(h_class);
        });
    }
}

function initStars(){
    var _activeClass = 'active';
    var _settedClass = 'setted';

    $('ul.rate').each(function(){
        var _holder = $(this);

        var _rates = _holder.children();
        var _activeIndex = _rates.index(_rates.filter('.'+_activeClass));
        var _settedIndex = -1;
        var _input = _holder.find('input:hidden.val');
        if(_activeIndex<0) _activeIndex = 0;
        _holder.removeAttr('title');

        _rates.each(function(ind){
            // hover behaviour
            var _item = $(this);
            _item.hover(function(){
                _rates.removeClass(_activeClass).removeClass(_settedClass);
            },function(){
                if(_settedIndex < 0) _rates.eq(_activeIndex).addClass(_activeClass);
                else _rates.eq(_settedIndex).addClass(_settedClass);
            });

            // click behaviour
            _item.click(function(){


                $.ajax({
                    url:_url,
                    type:'POST',
                    data:'ajax=1&n='+_settedIndex,
                    success:function(){
                        //success code
                    },
                    error:function(){
                        //ajax error
                    }
                })
                _input.val((ind+1)/2);
                _settedIndex = ind;
                _rates.removeClass(_activeClass).eq(_settedIndex).addClass(_settedClass)
                //return false;
            })
        });
    });
}

var _selectHeight = 20;

var _forms = document.getElementsByTagName('form');
var inputs = new Array();
var selects = new Array();
var labels = new Array();
var radios = new Array();
var radioLabels = new Array();
var checkboxes = new Array();
var checkboxLabels = new Array();
var buttons = new Array();
var selects = new Array();
var all_selects = false;
var active_select = null;
var agt = navigator.userAgent.toLowerCase();
var isMac = is_mac();
var selectText = "please select";
var IN_CFORMS = true;

function is_mac() {
    if (navigator.appVersion.indexOf("Safari") != -1)
    {
        if(!window.getComputedStyle)
        {
            return true;
        }
    }
    
    return false;
}

function initCastomForms() {
    if(!document.getElementById) {return false;}
    getElements();
    separateElements();
    replaceRadios();
    //replaceCheckboxes();
    replaceSelects();

    var _selects = document.getElementsByTagName('select');
    var _SelctClassName = [];
    if (_selects) {
        for (var i = 0; i < _selects.length; i++) {
            if (_selects[i].className != '' && _selects[i].className != 'outtaHere')
                _SelctClassName[i] = ' drop-'+_selects[i].className;
        }
        for (var i = 0; i < _SelctClassName.length; i++) {
            var _selectDrop = document.getElementById('optionsDiv'+i);
            if (_selectDrop) {
                if (_SelctClassName[i]) 
                    _selectDrop.className += _SelctClassName[i];
            }
        }
    }
}


// getting all the required elements
function getElements() {
    for (var nf = 0; nf < document.getElementsByTagName("form").length; nf++) {
        for(var nfi = 0; nfi < document.forms[nf].getElementsByTagName("input").length; nfi++) {inputs.push(document.forms[nf].getElementsByTagName("input")[nfi]);}
        for(var nfl = 0; nfl < document.forms[nf].getElementsByTagName("label").length; nfl++) {labels.push(document.forms[nf].getElementsByTagName("label")[nfl]);}
        for(var nfs = 0; nfs < document.forms[nf].getElementsByTagName("select").length; nfs++) {selects.push(document.forms[nf].getElementsByTagName("select")[nfs]);}
    }
}

// separating all the elements in their respective arrays
function separateElements() {
    var r = 0; var c = 0; var t = 0; var rl = 0; var cl = 0; var tl = 0; var b = 0;
    for (var q = 0; q < inputs.length; q++) {
        if(inputs[q].type == "radio") {
            radios[r] = inputs[q]; ++r;
            for(var w = 0; w < labels.length; w++) {
                if((inputs[q].id) && labels[w].htmlFor == inputs[q].id)
                {
                    radioLabels[rl] = labels[w];
                    ++rl;
                }
            }
        }
        if(inputs[q].type == "checkbox") {
            checkboxes[c] = inputs[q]; ++c;
            for(var w = 0; w < labels.length; w++) {
                if((inputs[q].id) && (labels[w].htmlFor == inputs[q].id))
                {
                    checkboxLabels[cl] = labels[w];
                    ++cl;
                }
            }
        }
        if((inputs[q].type == "submit") || (inputs[q].type == "button")) {
            buttons[b] = inputs[q]; ++b;
        }
    }
}

//replacing radio buttons
function replaceRadios() {
    for (var q = 0; q < radios.length; q++) {
        radios[q].className += " outtaHere";
        var radioArea = document.createElement("div");
        if(radios[q].checked) {
            radioArea.className = "radioAreaChecked";
        }
        else
        {
            radioArea.className = "radioArea";
        }
        radioArea.id = "myRadio" + q;
        radios[q].parentNode.insertBefore(radioArea, radios[q]);
        radios[q]._ra = radioArea;

        radioArea.onclick = new Function('rechangeRadios('+q+')');
        if (radioLabels[q])
        {
            radioLabels[q].onclick = new Function('rechangeRadios('+q+')');
        }
    }
    return true;
}

//checking radios
function checkRadios(who) {
    var what = radios[who]._ra;
    for(var q = 0; q < radios.length; q++) {
        if((radios[q]._ra.className == "radioAreaChecked")&&(radios[q]._ra.nextSibling.name == radios[who].name))
        {
            radios[q]._ra.className = "radioArea";
        }
    }
    what.className = "radioAreaChecked";
}

//changing radios
function changeRadios(who) {
    if(radios[who].checked) {
        for(var q = 0; q < radios.length; q++) {
            if(radios[q].name == radios[who].name) {
                radios[q].checked = false;
            } 
            radios[who].checked = true; 
            checkRadios(who);
        }
    }
}

//rechanging radios
function rechangeRadios(who) {
    if(!radios[who].checked) {
        for(var q = 0; q < radios.length; q++) {
            if(radios[q].name == radios[who].name)  {
                radios[q].checked = false; 
            }
            radios[who].checked = true; 
            checkRadios(who);
        }
    }
}

//replacing checkboxes
function replaceCheckboxes() {
    for (var q = 0; q < checkboxes.length; q++) {
        checkboxes[q].className += " outtaHere";
        var checkboxArea = document.createElement("div");
        if(checkboxes[q].checked) {
            checkboxArea.className = "checkboxAreaChecked";
        }
        else {
            checkboxArea.className = "checkboxArea";
        }
        checkboxArea.id = "myCheckbox" + q;
        checkboxes[q].parentNode.insertBefore(checkboxArea, checkboxes[q]);
        checkboxes[q]._ca = checkboxArea;
        checkboxArea.onclick = checkboxArea.onclick2 = new Function('rechangeCheckboxes('+q+')');
        if (checkboxLabels[q])
        {
            checkboxLabels[q].onclick = new Function('changeCheckboxes('+q+')');
        }
        
        checkboxes[q].onkeydown = checkEvent;
    }
    return true;
}

//checking checkboxes
function checkCheckboxes(who, action) {
    var what = checkboxes[who]._ca;
    if(action == true) {
        what.className = "checkboxAreaChecked";
        what.checked = true;
    }
    if(action == false) {
        what.className = "checkboxArea";
        what.checked = false;
    }
}

//changing checkboxes
function changeCheckboxes(who) {
    if(checkboxes[who].checked) {
        checkCheckboxes(who, false);
    }
    else {
        checkCheckboxes(who, true);
    } 
}

//rechanging checkboxes
function rechangeCheckboxes(who) {
    var tester = false;
    if(checkboxes[who].checked == true) {
        tester = false;
    }
    else {
        tester = true;
    }
    checkboxes[who].checked = tester;
    checkCheckboxes(who, tester);
}

//check event
function checkEvent(e) {
    if (!e) var e = window.event;
    if(e.keyCode == 32) {for (var q = 0; q < checkboxes.length; q++) {if(this == checkboxes[q]) {changeCheckboxes(q);}}} //check if space is pressed
}


function replaceSelects() {
    for(var q = 0; q < selects.length; q++) {
    if (!selects[q].replaced && selects[q].offsetWidth)
    {
        selects[q]._number = q;
        //create and build div structure
        var selectArea = document.createElement("div");
        var left = document.createElement("span");
        left.className = "left";
        selectArea.appendChild(left);
        
        var disabled = document.createElement("span");
        disabled.className = "disabled";
        selectArea.appendChild(disabled);
        
        selects[q]._disabled = disabled;
        var center = document.createElement("span");
        var button = document.createElement("a");
        var text = document.createTextNode(selectText);
        center.id = "mySelectText"+q;
        
        var stWidth = selects[q].offsetWidth;
        selectArea.style.width = stWidth + "px";
        if (selects[q].parentNode.className.indexOf("type2") != -1){
            button.href = "javascript:showOptions("+q+",true)";
        } else {
            button.href = "javascript:showOptions("+q+",false)";
        }
        button.className = "selectButton";
        selectArea.className = "selectArea";

        selectArea.className += " " + selects[q].className;
        selectArea.id = "sarea"+q;
        center.className = "center";
        center.appendChild(text);
        selectArea.appendChild(center);
        selectArea.appendChild(button);
        
        //hide the select field
        selects[q].className += " outtaHere";
        //insert select div
        selects[q].parentNode.insertBefore(selectArea, selects[q]);
        //build & place options div

        var optionsDiv = document.createElement("div");
        
        var optionsList = document.createElement("ul");
        optionsDiv.innerHTML += "<div class='select-top'><div></div></div>";
        optionsDiv.appendChild(optionsList);
        
        selects[q]._options = optionsList;
        
        optionsDiv.style.width = stWidth + "px";
        optionsDiv._parent = selectArea;
        
        optionsDiv.className = "optionsDivInvisible";
        optionsDiv.id = "optionsDiv"+q;
        
    
        populateSelectOptions(selects[q]);
        optionsDiv.innerHTML += "<div class='select-bottom'><div class='select-bottom-left'></div><div class='select-bottom-right'></div></div>";
        document.getElementsByTagName("body")[0].appendChild(optionsDiv);
        selects[q].replaced = true;
        }
    all_selects = true;
    }
}

//collecting select options
function populateSelectOptions(me) {
    me._options.innerHTML = "";
    
    for(var w = 0; w < me.options.length; w++) {
        
        var optionHolder = document.createElement('li');
        var optionLink = document.createElement('a');
        var optionTxt;
        if (me.options[w].title.indexOf('image') != -1) {
            optionTxt = document.createElement('img');
            optionSpan = document.createElement('span');
            optionTxt.src = me.options[w].title;
            optionSpan = document.createTextNode(me.options[w].text);
        } else {
            optionTxt = document.createTextNode(me.options[w].text);
        }
        
        optionLink.href = "javascript:showOptions("+me._number+"); selectMe('"+me.id+"',"+w+","+me._number+");";
        if (me.options[w].title.indexOf('image') != -1) {
            optionLink.appendChild(optionTxt);
            optionLink.appendChild(optionSpan);
        } else {
            optionLink.appendChild(optionTxt);
        }
        optionHolder.appendChild(optionLink);
        me._options.appendChild(optionHolder);
        //check for pre-selected items
        if(me.options[w].selected) {
            selectMe(me.id,w,me._number);
        }
    }
    if (me.disabled) {
        me._disabled.style.display = "block";
    }
    else {
        me._disabled.style.display = "none";
    }
}

//selecting me
function selectMe(selectFieldId,linkNo,selectNo) {
    selectField = selects[selectNo];
    for(var k = 0; k < selectField.options.length; k++) {
        if(k==linkNo) {
            selectField.options[k].selected = true;
        }
        else {
            selectField.options[k].selected = false;
        }
    }
    
    //show selected option
    textVar = document.getElementById("mySelectText"+selectNo);
    var newText;
    var optionSpan;
    if (selectField.options[linkNo].title.indexOf('image') != -1) {
        newText = document.createElement('img');
        newText.src = selectField.options[linkNo].title;
        optionSpan = document.createElement('span');
        optionSpan = document.createTextNode(selectField.options[linkNo].text);
    } else {
        newText = document.createTextNode(selectField.options[linkNo].text);
    }
    if (selectField.options[linkNo].title.indexOf('image') != -1) {
        if (textVar.childNodes.length > 1) textVar.removeChild(textVar.childNodes[0]);
        textVar.replaceChild(newText, textVar.childNodes[0]);   
        textVar.appendChild(optionSpan);    
    } else {
        if (textVar.childNodes.length > 1) textVar.removeChild(textVar.childNodes[0]);
        textVar.replaceChild(newText, textVar.childNodes[0]);   
    }
    if (selectField.onchange && all_selects)
        {
            eval(selectField.onchange());
        }
}
//showing options
function showOptions(g) {
        _elem = document.getElementById("optionsDiv"+g);
        var divArea = document.getElementById("sarea"+g);
        if (active_select && active_select != _elem) {
            active_select.className = active_select.className.replace('optionsDivVisible','optionsDivInvisible');
            active_select.style.height = "auto";
        }
        if(_elem.className.indexOf("optionsDivInvisible") != -1) {
            _elem.style.left = "-9999px";
            _elem.style.top = findPosY(divArea) + _selectHeight + 'px';
            _elem.className = _elem.className.replace('optionsDivInvisible','');
            _elem.className += " optionsDivVisible";
            /*if (_elem.offsetHeight > 200)
            {
                _elem.style.height = "200px";
            }*/
            _elem.style.left = findPosX(divArea) + 'px';
            
            active_select = _elem;
            if(document.documentElement)
            {
                document.documentElement.onclick = hideSelectOptions;
            }
            else
            {
                window.onclick = hideSelectOptions;
            }
        }
        else if(_elem.className.indexOf("optionsDivVisible") != -1) {
            _elem.style.height = "auto";
            _elem.className = _elem.className.replace('optionsDivVisible','');
            _elem.className += " optionsDivInvisible";
        }
        
        // for mouseout
        /*_elem.timer = false;
        _elem.onmouseover = function() {
            if (this.timer) clearTimeout(this.timer);
        }
        _elem.onmouseout = function() {
            var _this = this;
            this.timer = setTimeout(function(){
                _this.style.height = "auto";
                _this.className = _this.className.replace('optionsDivVisible','');
                if (_elem.className.indexOf('optionsDivInvisible') == -1)
                    _this.className += " optionsDivInvisible";
            },200);
        }*/
}

function hideSelectOptions(e)
{
    if(active_select)
    {
        if(!e) e = window.event;
        var _target = (e.target || e.srcElement);
        if(isElementBefore(_target,'selectArea') == 0 && isElementBefore(_target,'optionsDiv') == 0)
        {
            active_select.className = active_select.className.replace('optionsDivVisible', '');
            active_select.className = active_select.className.replace('optionsDivInvisible', '');
            active_select.className += " optionsDivInvisible";
            active_select = false;

            if(document.documentElement)
            {
                document.documentElement.onclick = function(){};
            }
            else
            {
                window.onclick = null;
            }
        }
    }
}

function isElementBefore(_el,_class)
{
    var _parent = _el;  
    do
    {
        _parent = _parent.parentNode;
    }
    while(_parent && _parent.className != null && _parent.className.indexOf(_class) == -1)
    
    if(_parent.className && _parent.className.indexOf(_class) != -1)
    {
        return 1;
    }
    else
    {
        return 0;
    }
    
}

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;
}

// slideshow plugin
jQuery.fn.slideShow = function(_options){
    // defaults options
    var _options = jQuery.extend({
        slideEl:'div.img-hold img',
        linkNext:'a.next',
        linkPrev:'a.prev',
        linkPause:'a.pause',
        numElementLink:'div.nav li a',
        duration:500,
        autoSlideShow:false,
        switchTime:3000,
        event:'click',
        currentEl:'#footer span.cur',
        allEl:'#footer span.all'
    },_options);

    return this.each(function(){
        var _THIS = jQuery(this);
        var _slideEl = $(_options.slideEl, _THIS);
        var _elTagName = _options.slideEl;
        var _linkNext = $(_options.linkNext, _THIS).length ? $(_options.linkNext, _THIS) : false;
        var _linkPrev = $(_options.linkPrev, _THIS).length ? $(_options.linkPrev, _THIS) : false;
        var _linkPause = $(_options.linkPause, _THIS).length ? $(_options.linkPause, _THIS) : false;
        var _numElementLink = $(_options.numElementLink, _THIS).length ? $(_options.numElementLink, _THIS) : false;
        var _numElement = $(_options.numElementLink, _THIS).length ? _numElementLink.parent() : false;
        var _duration = _options.duration;
        var _switchTime = _options.switchTime;
        var _numElActive, _n, _timer = false, _hover = false;

        if (!_slideEl.filter('.active').length)
                _slideEl.eq(0).addClass('active');

        $(_slideEl).not(".active").css('display','none');

        if ($(_numElement).length) {activeNumEl()}

        if (_options.autoSlideShow) {
                _timer = setTimeout(function(){nextEl()},_switchTime);
                contentHover();
        }
        if (_linkNext) {
                $(_linkNext).click(function(){
                        if (_timer) {
                                clearTimeout(_timer);
                                _timer = setTimeout(function(){nextEl()},_switchTime);
                        }
                        if ($(_slideEl).filter(".active").next().is(_elTagName)) {
                            $(_slideEl).filter(".active").next().addClass("next");
                        } else {
                            $(_slideEl).eq(0).addClass("next");
                        }
                        fadeElement();
                        activeNumEl();
                        return false;
                });
        }
        if (_linkPrev) {
                $(_linkPrev).click(function(){
                        if (_timer) {
                                clearTimeout(_timer);
                                _timer = setTimeout(function(){nextEl()},_switchTime);
                        }
                        if ($(_slideEl).filter(".active").prev().is(_elTagName)) {
                            $(_slideEl).filter(".active").prev().addClass("next");
                        } else {
                            $(_slideEl).filter(":last-child").addClass("next");
                        }
                        fadeElement();
                        activeNumEl();
                        return false;
                });
        }
        if (_linkPause) {
                if (!_options.autoSlideShow) {
                    _linkPause.addClass('play');
                    _options.autoSlideShow = true;
                    if (!_hover) contentHover();
                }
                $(_linkPause).click(function(){
                        if (!_linkPause.is('.play')) {
                            clearTimeout(_timer);
                            _linkPause.addClass('play');
                        } else {
                            _linkPause.removeClass('play');
                            _timer = setTimeout(function(){nextEl()},_switchTime);
                        }
                        return false;
                });
        }
        if (_numElementLink) {
                $(_numElementLink).bind(_options.event, function(){
                        if (_timer) {
                                clearTimeout(_timer);
                                _timer = setTimeout(function(){nextEl()},_switchTime);
                        }
                        _n = _numElement.index($(this).parent());
                        if (!$(_slideEl).eq(_n).hasClass("active")){
                            $(_slideEl).eq(_n).addClass("next");
                            fadeElement();
                            activeNumEl();
                        }
                        return false;
                });
        }
        if (_options.currentEl || _options.allEl) {
                _THIS.all = _slideEl.length;
                $(_options.allEl, _THIS).html(_THIS.all);
                function currentNum() {
                    var _index = _slideEl.index(_slideEl.filter('.active')) + 1;
                    $(_options.currentEl, _THIS).html(_index);
                }
                currentNum();
        }
        function contentHover() {
            _hover = true;
            _slideEl.hover(function() {
                    if (_timer) clearTimeout(_timer);
            }, function(){
                    if (_linkPause && !_linkPause.is('.play'))
                        _timer = setTimeout(function(){nextEl()},_switchTime);
                    else if (!_linkPause)
                        _timer = setTimeout(function(){nextEl()},_switchTime);
            });
        }
        function nextEl(){
                if ($(_slideEl).filter(".active").next().is(_elTagName)){
                    $(_slideEl).filter(".active").next().addClass("next");
                } else {
                    $(_slideEl).eq(0).addClass("next");
                }
                fadeElement();
                activeNumEl();
                _timer = setTimeout(function(){nextEl()},_switchTime);
                Cufon.refresh();
        };
        function activeNumEl() {
                $(_numElement).removeClass("active");
                _numElActive = $(_slideEl).index($(_slideEl).filter(".active")[0]);
                $(_numElement).eq(_numElActive).addClass("active");
                Cufon.refresh();
        };
        function fadeElement(){
                $(_slideEl).filter(".active").fadeOut(_duration).removeClass("active");
                $(_slideEl).filter(".next").fadeIn(_duration).addClass("active").removeClass("next");
                if (_options.currentEl || _options.allEl) currentNum();
        };
    });
}



function initGallery() {
    $('div.gallery').each(function(){
        var _fadeSpeed = 650;
        var _gallery = $(this);
        var _navClass = 'gallery-items';
        var _holderClass = 'gallery-holder';
        var _listClass = '';
        var _activeClass = 'active';

        var _xmlSource = _gallery.attr('title');
        _gallery.attr('title','');

        if(_xmlSource && _xmlSource.length>0) {
            $.ajax({
                url: _xmlSource,
                dataType: (jQuery.browser.msie) ? 'text' : 'xml',
                success: function(xmlData){
                    var _galleryData;
                    if ( typeof xmlData == 'string') {
                        _galleryData = new ActiveXObject( 'Microsoft.XMLDOM');
                        _galleryData.async = false;
                        _galleryData.loadXML(xmlData);
                    } else {
                        _galleryData = xmlData;
                    }

                    // gallery structure
                    var _navList = $('<ul></ul>').addClass(_navClass);
                    _gallery.empty().append(_navList);
                    var _slidesHolder = $('<div></div>').addClass(_holderClass);
                    var _slideList = $('<ul></ul>').addClass(_listClass);
                    _gallery.append(_slidesHolder.append(_slideList));
                    var _currentIndex = 0;

                    // gallery create structure
                    var _xmlItems = $('item',_galleryData);
                    _xmlItems.each(function(_ind){
                        var _menuItem = $('<li><a href="#"><span></span></a></li>');
                        var _curItem = $(this);
                        _menuItem.find('a span').html(_curItem.find('text-button').text());
                        loadSection(_ind, _menuItem);
                        if(_ind == _currentIndex) {
                            _menuItem.addClass(_activeClass);
                            _slideList.find('li[rel="'+_ind+'"]').addClass(_activeClass).fadeIn(_fadeSpeed);
                        }
                        _navList.append(_menuItem);
                    });

                    // load section function
                    function loadSection(_num, _navLink) {
                        if(_slideList.find('li[rel="'+_num+'"]').length>0) return;
                        var _curItem = _xmlItems.eq(_num);
                        var _slideItem = $('<li><a href="#"><img /></a></li>');
                        _slideItem.find('a').attr('href',_curItem.find('image-link').text());
                        _navLink.find('a').attr('href',_curItem.find('image-link').text());
                        _slideItem.find('img').attr('src',_curItem.find('image-source').text());
                        _slideItem.find('img').attr('alt','');
                        _slideItem.attr('rel',_num);
                        _slideList.append(_slideItem);
                    }

                    function sectionLoaded(_num) {
                        if(_slideList.find('li[rel="'+_num+'"]').length>0) return true;
                        return false;
                    }

                    // gallery code
                    _gallery.slideShow({
                        numElementLink:'ul.gallery-items a',
                        slideEl:'div.gallery-holder ul li',
                        event:'mouseenter',
                        autoSlideShow:true,
                        switchTime:5000,
                        duration:500
                    });
                    Cufon.refresh();
                    _gallery.find('.' + _navClass).children().mouseenter(function(){Cufon.refresh()})
                },
                error: function() {
                    alert('AJAX Error!');
                }
            });
        }
    });
}
function initPage() {
    initDropDown();
}
function initDropDown()
{
    var nav = document.getElementById("nav");
    if(nav) {
        var lis = nav.getElementsByTagName("li");
        for (var i=0; i<lis.length; i++) {
            if(lis[i].getElementsByTagName("ul").length > 0) {
                lis[i].className += " has-drop-down"
                lis[i].getElementsByTagName("a")[0].className += " has-drop-down-a"
            }
        }
    }
}  

function initCufon() {
 Cufon.replace('#nav, .gallery-items, .social-networks span, #sidebar .heading h3, #footer h4 ', { fontFamily: "Lucida Grande", hover: true });
 // Cufon.replace('.blogintro-contents h2, .article h3, .template-contents h3', { fontFamily: "Lucida Grande", hover: true });
 Cufon.replace(' #sidebar .heading a ', { fontFamily: "Lucida Grande" });
 
}

jQuery(function(){
    initCastomForms();
    ieHover("#nav li", "hover");
    hideFormText();
    initAutoScalingNav({
        menuId: "nav",
        dropExistenceClass: "has-drop-down",
        hoverClass: "hover",
        sideClasses: true,
        spacing: 2,
        constant: 0,
        minPaddings: 10
    });
    initStars();
    initCufon();
    initGallery();
    initPage();
})
