﻿function IsCtrl(e)
{if(window.event)
return window.event.ctrlKey;else
return(e.modifiers&Event.CONTROL_MASK==Event.CONTROL_MASK);}
function IsShift(e)
{if(window.event)
return window.event.shiftKey;else
return(e.modifiers&Event.SHIFT_MASK==Event.SHIFT_MASK);}
function SetIsCtrl(e)
{if($get('__CTRLKEY')!=null)
$get('__CTRLKEY').value=IsCtrl(e);}
function SetIsShift(e)
{if($get('__SHIFTKEY')!=null)
$get('__SHIFTKEY').value=IsShift(e);}
function InitiateControlEventWithArgument(controlClientID,argument,eventName)
{if(eventName==null)
eventName='click';if(argument!=null&&argument!='')
$get('__EVENTARGUMENT').value=argument;var ajaxifiedControl=$get(controlClientID);if(ajaxifiedControl!=null)
eval('ajaxifiedControl.'+eventName+'()');}
function InitiatePostBack(controlUniqueId,argument)
{__doPostBack(controlUniqueId,argument);}
var ignoreTabChange=false;function TabContainer_OnActiveTabChanged(sender,args)
{sender.get_clientStateField().value=sender.saveClientState();if(typeof(Page_ClientValidate)=='function')
{if(!ignoreTabChange&&!Page_ClientValidate())
{ShowFailedTab(sender);}}}
function ShowProblemTab()
{if(typeof(Page_ClientValidate)=='function'&&!Page_ClientValidate())
{var tabContainers=getElementsByClassName('ajax__tab_xp');for(var i=0;i<tabContainers.length;++i)
{ShowFailedTab($find(tabContainers[i].id));}}}
function ShowFailedTab(tabContainer)
{for(i=0;i<Page_Validators.length;++i)
{var val=Page_Validators[i];if(val.evaluationfunction(val)==false)
{var tabs=tabContainer.get_tabs();var control=val.parentNode;while(control!=null)
{for(var i=0;i<tabs.length;++i)
{if(control==tabs[i]._element)
{ignoreTabChange=true;tabContainer.set_activeTab(tabs[i]);ignoreTabChange=false;return;}}
control=control.parentNode;}}}}
function getElementsByClassName(classname,node)
{if(!node)node=document.getElementsByTagName("body")[0];var a=[];var re=new RegExp('\\b'+classname+'\\b');var els=node.getElementsByTagName("*");for(var i=0,j=els.length;i<j;i++)
if(re.test(els[i].className))a.push(els[i]);return a;}
