var f = false;
var filtersdone = false;
var e = new Array('UserCompanyId',
                    '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 launchPayment() {
    var nme = 'payment';
    var url = 'https://secure.e-registernow.com/cgi-bin/mkpayment.cgi?MID=976&state=step2direct&event=3126220542333';
    var ht = '450';
    var wd = '300';
    var scrl = '1';
	var topX, leftY;
	topX =  (window.screen.height-ht)/2;
	leftY = (window.screen.width-wd)/2;
	window.open(url,nme,'height='+ht+',width='+wd+',toolbar=0,directories=0,menubar=0,status=0,resizable=0,location=0,scrollbars='+scrl+',copyhistory=0,screenX='+topX+',screenY='+leftY+',top='+topX+',left='+leftY);

}
function showFilters() {

     if(($('filters').style.display == 'none') && !filtersdone) {
         new Ajax.Updater('filterscontent','/users/filter', {method: 'get'});
         filtersdone = true;
     }
     $('filters').visualEffect('appear');


}
var filterarr = new Array();
function hlight(obj,label){
    var str = '';
    $('li_' + obj).toggleClassName('active');
    if($('ch_' + obj).checked) {
        filterarr.push(label);
    }
    else {
        filterarr.each(function(item) {
            if(item == label){
                filterarr = filterarr.without(label);
            }
        });
    }

    if(filterarr.length == 0) {
        str = 'none'
    }
    else {
         str =  filterarr.join(' OR ');
    }
    $('filterlog').innerHTML = 'FILTERING BY: ' + str;
}
function searchByCompany(){
    element = arguments[0];
    selectedElement = arguments[1];

    new Ajax.Updater('delsearch','/delegatesearch/display', {asynchronous:true, evalScripts:true, onLoading:Loading.show, onLoaded: Loading.hide, parameters:document.getElementById('DelegateCompanyId').name+'='+selectedElement.id},false);

}


function handleUserSelect() {
    //alert('stop');
    element = arguments[0];
    selectedElement = arguments[1];
    //assign company id
    document.getElementById('UserCompanyId').value = selectedElement.id;
    disableE();
}

function init() {
  if(f == 0) {
    disableE();
  }
}

function disableE() {
    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 = true;
        }
    }
    Element.toggleClassName('auto', 'autocompleted');
    Effect.BlindUp('auto');
    $('detailheader').update('Company Details Already on File');
    filtersdone = true;
}

function handleClear(){
    //reset opacity by changing class of tbody
    Element.removeClassName('auto', 'autocompleted');
    if($('auto').style.display == 'none') {
        Effect.BlindDown('auto');
    }
    //update contents of th
    $('detailheader').update('Company Details');
    //clear hidden company id

    for(var i=0;i<=e.length-1;i++) {
        //clear value
        Form.Element.clear(e[i]);
        //enable form elements
        //can't use Form.Element.activate - it focuses the cursor on called element
        document.getElementById(e[i]).disabled = false;
    }
  
  //document.getElementById('tabHeader2').style.display = 'visible';
  $('tabHeader2').style.display = '';
  filtersdone = false;
}
function handleToSelect() {

    element = arguments[0];
    selectedElement = arguments[1];
    //assign to id
    document.getElementById('Ice08MessagesToId').value = selectedElement.id;

}
function toggleReset(){
   toggleMsg('resetpass');
}
function toggleMsg(id) {
    var msg = $(id);
    if(msg.style.display != 'none'){
        Effect.Fade(msg,{duration:0.5, queue:{scope:'menus', limit: 3}});
    }
    else {
        Effect.Appear(msg,{duration:0.5, queue:{scope:'menus', position:'end', limit: 3}});
    }
}
function updateDiv(obj,msg) {
    obj.innerHTML = msg;
}
function displayBook(obj,item) {

  if(item == 0) {
    $(obj).src =  '/img/icon_available.png';
    alert("Meeting Cancelled");
  }
  else if (item == 1) {
    $(obj).src =  '/img/icon_byme.png';
    alert("Meeting Booked");
  }
  else {
    $(obj).src =  '/img/icon_booked.png';
    alert("Meeting Unavailable");
  }

}
function reply(id,sub) {

    document.getElementById('Ice08MessagesSubject').value = 'RE: ' + sub;
    var tof = document.getElementById('Ice08MessagesToId');
    var l = parseInt(tof.length)-1;
    for(var i=1;i<l; i++) {
        if(tof.options[parseInt(i)].value == id) {
            tof.selectedIndex = i;
        }
    }
}
function updateCount() {
    var i = parseInt($('msgcount').innerHTML);
    $('msgcount').update(i-1);
}
function validateSend() {
    if(document.getElementById('Ice08MessagesToId').selectedIndex == 0) {
        alert('Please select a recipient delegate');
        return false;
    }
    else {
        return true;
    }
}
function showResponse (originalRequest) {
	$('matchesfound').innerHTML = originalRequest.responseText;
}
function showMM (originalRequest) {
	$('mmcontent').innerHTML = originalRequest.responseText;
}

Ajax.Responders.register({
    onCreate: function(request) {
        //try { Ajax.currentRequests[request.options.onlyLatestOfClass].transport.abort(); } catch(e) {}

        $('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');
    }
});






//embed code copy
function copycode(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.");
    }
}

/*-----------------------------------------------------------
    Toggles element's display value
    Input: any number of element id's
    Output: none
    ---------------------------------------------------------*/
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';
    }
}
/*-----------------------------------------------------------
    Toggles tabs - Closes any open tabs, and then opens current tab
    Input:     1.The number of the current tab
                    2.The number of tabs
                    3.(optional)The number of the tab to leave open
                    4.(optional)Pass in true or false whether or not to animate the open/close of the tabs
    Output: 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);
                //c.style.position = 'absolute';
                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);
        }
    }
}

var album = {
  startup: function() {
    if($('sh_header')){
    new PeriodicalExecuter(album.cycle, 10) // change image every 5 seconds
    }
  },
  cycle: function() {
    new Effect.Fade('sh_header', { // the id of the <DIV> containing the photos
      duration: .5,
      fps: 50,
      afterFinish: function() {
        new Ajax.Updater('sh_header','/slideshows/view/sh_header', { // URL for next <IMG> tag
          asynchronous: true,
          onSuccess: function() {
            new Effect.Appear('sh_header', {
              duration: 1,
              fps: 50,
              queue:'end'
            })
          }
        })
      }
    })
  }
}

window.onload = album.startup;
