






























com.coti.scaffold.Register('ca.carleton.gcrc.mute_button');

ca.carleton.gcrc.mute_button.model=null;

ca.carleton.gcrc.mute_button.state={};

ca.carleton.gcrc.mute_button.Configure=function(doc_,model_){

ca.carleton.gcrc.mute_button.model=model_;


var globalFeature=model_.LayerFromName('_module').FeatureFromId('global');
globalFeature.AddObserver('SoundMute',null,function(mvcEvent_){
var mute=(mvcEvent_.data!=0);
ca.carleton.gcrc.mute_button.state.mute=mute;
ca.carleton.gcrc.mute_button.AdjustDisplay(ca.carleton.gcrc.mute_button.state);
});
globalFeature.AddObserver('SoundAvailable',null,function(mvcEvent_){
var available=(mvcEvent_.data!=0);
ca.carleton.gcrc.mute_button.state.available=available;
ca.carleton.gcrc.mute_button.AdjustDisplay(ca.carleton.gcrc.mute_button.state);
});


var state=ca.carleton.gcrc.mute_button.state;

state.available=globalFeature.GetVariableValue('SoundAvailable',0);
state.mute=globalFeature.GetVariableValue('SoundMute',0);
state.focus=false;
state.down=false;

state.disabledElement=doc_.getElementById('sound_disabled');
state.onElement=doc_.getElementById('sound_on_selected');
state.offElement=doc_.getElementById('sound_off_selected');
state.onOverElement=doc_.getElementById('sound_on_mouseover');
state.offOverElement=doc_.getElementById('sound_off_mouseover');
state.onDownElement=doc_.getElementById('sound_on_mousedown');
state.offDownElement=doc_.getElementById('sound_off_mousedown');


ca.carleton.gcrc.mute_button.AdjustDisplay(ca.carleton.gcrc.mute_button.state);
}

ca.carleton.gcrc.mute_button.GetState=function(){
return ca.carleton.gcrc.mute_button.state;
}

ca.carleton.gcrc.mute_button.Hide=function(element_){
if(null!=element_){
element_.setAttribute('display','none');
}
}

ca.carleton.gcrc.mute_button.Show=function(element_){
if(null!=element_){
element_.setAttribute('display','inline');
}
}

ca.carleton.gcrc.mute_button.AdjustDisplay=function(state_){
if(state_.available){
if(state_.mute){
ca.carleton.gcrc.mute_button.Hide(state_.onElement);
ca.carleton.gcrc.mute_button.Hide(state_.onOverElement);
ca.carleton.gcrc.mute_button.Hide(state_.onDownElement);
if(state_.down){
ca.carleton.gcrc.mute_button.Hide(state_.offElement);
ca.carleton.gcrc.mute_button.Hide(state_.offOverElement);
ca.carleton.gcrc.mute_button.Show(state_.offDownElement);
}else if(state_.focus){
ca.carleton.gcrc.mute_button.Hide(state_.offElement);
ca.carleton.gcrc.mute_button.Show(state_.offOverElement);
ca.carleton.gcrc.mute_button.Hide(state_.offDownElement);
}else{
ca.carleton.gcrc.mute_button.Show(state_.offElement);
ca.carleton.gcrc.mute_button.Hide(state_.offOverElement);
ca.carleton.gcrc.mute_button.Hide(state_.offDownElement);
}
}else{
ca.carleton.gcrc.mute_button.Hide(state_.offElement);
ca.carleton.gcrc.mute_button.Hide(state_.offOverElement);
ca.carleton.gcrc.mute_button.Hide(state_.offDownElement);
if(state_.down){
ca.carleton.gcrc.mute_button.Hide(state_.onElement);
ca.carleton.gcrc.mute_button.Hide(state_.onOverElement);
ca.carleton.gcrc.mute_button.Show(state_.onDownElement);
}else if(state_.focus){
ca.carleton.gcrc.mute_button.Hide(state_.onElement);
ca.carleton.gcrc.mute_button.Show(state_.onOverElement);
ca.carleton.gcrc.mute_button.Hide(state_.onDownElement);
}else{
ca.carleton.gcrc.mute_button.Show(state_.onElement);
ca.carleton.gcrc.mute_button.Hide(state_.onOverElement);
ca.carleton.gcrc.mute_button.Hide(state_.onDownElement);
}
}
}else{
ca.carleton.gcrc.mute_button.Show(state_.disabledElement);
ca.carleton.gcrc.mute_button.Hide(state_.onElement);
ca.carleton.gcrc.mute_button.Hide(state_.onOverElement);
ca.carleton.gcrc.mute_button.Hide(state_.onDownElement);
ca.carleton.gcrc.mute_button.Hide(state_.offElement);
ca.carleton.gcrc.mute_button.Hide(state_.offOverElement);
ca.carleton.gcrc.mute_button.Hide(state_.offDownElement);
}
}




ca.carleton.gcrc.mute_button.OnClick=function(e_){
var state=ca.carleton.gcrc.mute_button.GetState();
if(state.available){
var globalFeature=ca.carleton.gcrc.mute_button.model.LayerFromName('_module').FeatureFromId('global');
var muteFlag=globalFeature.GetVariableValue('SoundMute',0);


if(muteFlag){
globalFeature.SetVariableValue('SoundMute',0);
}else{
globalFeature.SetVariableValue('SoundMute',1);
}
}
}

ca.carleton.gcrc.mute_button.OnMouseOver=function(e_){
var state=ca.carleton.gcrc.mute_button.GetState();
state.focus=true;
ca.carleton.gcrc.mute_button.AdjustDisplay(state);
}

ca.carleton.gcrc.mute_button.OnMouseOut=function(e_){
var state=ca.carleton.gcrc.mute_button.GetState();
state.focus=false;
ca.carleton.gcrc.mute_button.AdjustDisplay(state);
}

ca.carleton.gcrc.mute_button.OnMouseDown=function(e_){
var state=ca.carleton.gcrc.mute_button.GetState();
state.down=true;
ca.carleton.gcrc.mute_button.AdjustDisplay(state);
}

ca.carleton.gcrc.mute_button.OnMouseUp=function(e_){
var state=ca.carleton.gcrc.mute_button.GetState();
state.down=false;
ca.carleton.gcrc.mute_button.AdjustDisplay(state);
}
