// Register global responders that will occur on all AJAX requests

var f = false;
var filtersdone = false;
var e = new Array('UserCompanyId',
                    'CompanyName',
                    'CompanyAddress1',
                    'CompanyAddress2',
                    'CompanyCity',
                    'CompanyProvince',
                    'CompanyPostalCode',
                    'CompanyCountry',
                    'CompanyPhone',
                    'CompanyFax',
                    'CompanyEmail',
                    'CompanyWeb',
                    'CompanyProfile',
                    'CompanyYearEstablished',
                    'CompanyAdditionalOffices'
                    );

Flash = {
    show:function(dur){
        $('flashMessage').visualEffect('appear');
        if(dur) {
            this.timer = setTimeout('Flash.hide()',dur*1000);
        }
        else {
            this.timer = setTimeout('Flash.hide()',3000);
        }
    },
    hide:function(){
        $('flashMessage').visualEffect('fade');
        clearTimeout(this.timer);
        return false;
    }
};

Loading = {
    show:function(){
        $('loading').visualEffect('appear');
    },
    hide:function(){
        $('loading').visualEffect('fade');
        return false;
    }
};

Hover = {
    set:function(obj,cls){
        obj.className= cls;
    }
};


function toggleElement(id) {
    var msg = $(id);
    if(msg.style.display != 'none'){
        Effect.Fade(msg,{duration:0.5, queue:{scope:'global', limit: 3}});
    }
    else {
        Effect.Appear(msg,{duration:0.5, queue:{scope:'global', position:'end', limit: 3}});
    }
}

function handleUserSelect() {
    element = arguments[0];
    selectedElement = arguments[1];
    //assign company id
    document.getElementById('UserCompanyId').value = selectedElement.id;
    disableE();
}

function init()
{
  if(f == 0)
  {
    disableE();
  }
}

function checkCompanyId(cid)
{
    if(cid.value > 0)
    {
        disableE();
    }
    else
    {
        enableE();
    }
}

function enableE()
{

    Effect.BlindDown('auto');
    $('detailheader').update('Company Details');

    for(var i=0;i<=e.length-1;i++)
    {
        //clear value
        if(e[i] != 'UserCompanyId')
        {
            //Form.Element.clear(e[i])
            document.getElementById(e[i]).disabled = false;
        }
    }


}

function disableE() {
    for(var i=0;i<=e.length-1;i++) {

        if(e[i] != 'UserCompanyId')
        {
            document.getElementById(e[i]).disabled = true;
        }

    }
    Effect.BlindUp('auto');
    $('detailheader').update('Company Details Already on File');
}

function handleClear(){
    //reset opacity by changing class of tbody
    Element.removeClassName('auto', 'autocompleted');
    if($('auto').style.display == 'none') {
        Effect.BlindDown('auto');
    }
    $('detailheader').update('Company Details');

    for(var i=0;i<=e.length-1;i++) {
        Form.Element.clear(e[i]);
        document.getElementById(e[i]).disabled = false;
    }

}
/*
Ajax.Responders.register({
    onCreate: function(request) {

        $('CompanyName').addClassName('work');
        handleClear();
        request['timeoutId'] = window.setTimeout(
            function() {
                request.transport.abort();
                $('CompanyName').removeClassName('work');
        },
        3500 // 3.5 seconds
        );
    },
    onComplete: function(request) {
        $('CompanyName').removeClassName('work');
        window.clearTimeout(request['timeoutId']);
    },
    onFailure: function(request) {
        $('CompanyName').removeClassName('work');
    }
});
*/
//Directory list
function trHover(obj,clss) {
    (clss == 'even')? obj.className='evenOver':obj.className='oddOver';
}
function trHoverOut(obj,clss) {
    (clss == 'even')? obj.className='even':obj.className='odd';
}


//embed code copy
function copycode(txt) {
	alert(txt)
    try {
        if (window.clipboardData) {
            window.clipboardData.setData("Text",txt);
        }
        else {
            var flashcopier = 'flashcopier';
            if(!document.getElementById(flashcopier)) {
                var divholder = document.createElement('div');
                divholder.id = flashcopier;
                document.body.appendChild(divholder);
            }
            document.getElementById(flashcopier).innerHTML = '';
            var divinfo = '<embed src="/files/clipboard.swf" FlashVars="clipboard='+escape(txt)+'" width="0" height="0" type="application/x-shockwave-flash"></embed>';
            document.getElementById(flashcopier).innerHTML = divinfo;
        }
        alert("Successfully copied embed code.");
    }
    catch (e) {
        alert("An error copying the embed code has occured.\nPlease copy and paste manually.");
    }
}


function toggleDisp() {
    for (var i=0;i<arguments.length;i++){
        var d = $(arguments[i]);
        if (d.style.display == 'none')
            d.style.display = 'block';
        else
            d.style.display = 'none';
    }
}

function toggleTab(num,numelems,opennum,animate) {
    if ($('tabContent'+num).style.display == 'none'){
        for (var i=1;i<=numelems;i++){
            if ((opennum == null) || (opennum != i)){
                var temph = 'tabHeader'+i;
                var h = $(temph);
                if (!h){
                    var h = $('tabHeaderActive');
                    h.id = temph;
                }
                var tempc = 'tabContent'+i;
                var c = $(tempc);
                if(c.style.display != 'none'){
                    if (animate || typeof animate == 'undefined')
                        Effect.Fade(tempc,{duration:0.5, queue:{scope:'menus', limit: 3}});
                    else
                        toggleDisp(tempc);
                }
            }
        }
        var h = $('tabHeader'+num);
        if (h)
            h.id = 'tabHeaderActive';
        h.blur();
        var c = $('tabContent'+num);
        c.style.marginTop = '2px';
        if (animate || typeof animate == 'undefined'){
            Effect.Appear('tabContent'+num,{duration:0.5, queue:{scope:'menus', position:'end', limit: 3}});
        }else{
            toggleDisp('tabContent'+num);
        }
    }
}

function clearText(f)
{
    f.value = '';
}

function fillText(f)
{
    f.value = 'Search';
}


function initOverLabels ()
{
    if (!document.getElementById) return;

    var labels, id, field;

    labels = document.getElementsByTagName('label');

    for (var i = 0; i < labels.length; i++)
    {
        if (labels[i].className == 'overlabel')
        {

            id = labels[i].getAttribute('id');

            (id == 'UN') ? field = document.getElementById('UserUserName') : field = document.getElementById('UserPassword');

            if (field.value !== '')
            {
                var label;
                (this == document.getElementById('UserUserName')) ? label = 'UN' : label = 'PS';
                hideLabel(id, true);
            }

            // Set handlers to show and hide labels.
            field.onfocus = function()
            {
                var label;
                (this == document.getElementById('UserUserName')) ? label = 'UN' : label = 'PS';
                hideLabel(label, true);
            }
            field.onblur = function()
            {
                if (this.value === '')
                {
                    var label;
                    (this == document.getElementById('UserUserName')) ? label = 'UN' : label = 'PS';
                    hideLabel(label, false);
                }
            }

            // Handle clicks to label elements (for Safari).
            labels[i].onclick = function()
            {
                var id = this.getAttribute('id');
                (id == 'UN') ? field = document.getElementById('UserUserName') : field = document.getElementById('UserPassword');
                if (id )
                {
                    field.focus();
                }
            }
        }
    }
}

function hideLabel (label, hide)
{
    document.getElementById(label).style.textIndent = (hide) ? '-7000px' : '0px';
    return true;
}

window.onload = function ()
{
    setTimeout(initOverLabels, 50);
}

function goIndustry(y)
{
	window.location.href = '/directory/industry/' + y.value
}

function eventSorting(y)
{
	window.location.href = '/events' + y.value
}

