
var Site = 
{     	
	IsIE : function()
	{
		return (window.navigator.userAgent.indexOf("MSIE") > 0);
	},
	IsIE7 : function()
	{
		return (window.navigator.userAgent.indexOf("MSIE 7.0") > 0);
	},
	IsIE6 : function()
	{   
	    var regexIE6 = /MSIE ([0-6])/;
		return (regexIE6.test(window.navigator.userAgent));
	},
	AttachEvent : function(obj, eventName, delegate) 
	{
		if  (typeof( obj.addEventListener ) != 'undefined' ) 
		{
			obj.addEventListener(Site.GetEventName(eventName),delegate,false);
		} 
		else {
			obj.attachEvent(eventName,delegate);
		}
	},
	DetachEvent : function(obj,eventName,delegate)
	{
		if (obj.removeEventListener) {
			obj.removeEventListener(eventName,delegate, true);
		}
		else if (obj.detachEvent) {
			obj.detachEvent(eventName,delegate);
		}
	},
	GetEventName : function (name)
	{
		return (name.indexOf('on') == 0) ? name.substring(2,name.length) : name;
	},
	SelectInitInput : function (name)
	{
		Site.AttachEvent(window,'onload',new Function('Site.SelectInput("' + name + '")'));
	},
	SelectInput : function (name)
	{
		var input = document.getElementById(name);
		input.select();input.focus();
	},
	SrcElement : function(evt)
	{
		return (window.event) ? event.srcElement : evt.target;
	},
	IsClickedEnter : function(evt)
	{
		var keycode = (window.event) ? window.event.keyCode : evt.which;
		return (keycode == 13);
	},
	ClickedEnter : function(evt,enterElemId)
	{
		if (Site.IsClickedEnter(evt)){
			document.getElementById(enterElemId).click();
			return false;
		}
		return true;
	},
	WriteHTML : function (str)
	{
		for(i = 0 ; i < str.length ; i++){
			document.write(String.fromCharCode(4^str.charCodeAt(i)));
		}
	},
	HandleErrorGlobal : function(strErrorMsg,strUrl,iLineNumber)
	{
		window.status = strErrorMsg + ': Line:' + iLineNumber;
		return true;
	},
	ToggleInputs : function (elemId)
	{
		var inputs = document.getElementById(elemId).getElementsByTagName("INPUT");
		for (var i = 0;i < inputs.length;i++){
			inputs[i].disabled = !inputs[i].disabled;
		}
		var texts = document.getElementById(elemId).getElementsByTagName("TEXTAREA");
		for (var i = 0;i < texts.length;i++){
			texts[i].disabled = !texts[i].disabled;
		}
	},
	SetLabelsFor : function() 
	{
        if(!Site.IsIE()) return;
		var a = document.getElementsByTagName("label");
		for(var i=0;i<a.length;i++){
		    var labelImages = a[i].getElementsByTagName("IMG");
		    if(labelImages.length > 0){
		        for(var j=0;j<labelImages.length;j++){
		           labelImages[j].forid = a[i].htmlFor;
		           labelImages[j].onclick = function(){
			            var e = document.getElementById(this.forid);
			            if(e.onclick == null){
			                switch(e.type){
				                case "radio": e.checked|=1;break;
				                case "checkbox": e.checked=!e.checked;break;
				                case "text": case "password": case "textarea": e.focus(); break;
			                }
			            }
			            else{
			              e.click();
			            }
		          }
		       }
		   }
	    }
	},
	GetElementText : function(element)
	{
	  return Site.IsIE() ? element.innerText : element.textContent;
	},
	SetElementText : function(element,text)
	{
	  if(Site.IsIE()){element.innerText = text;}
	  else{element.textContent = text;} 
	},
    GetAjaxErrorMessage : function(args) 
	{
	    var msg = "";
	    if (args.get_error() != undefined){
            args.set_errorHandled(true);
            
            if(args.get_error().name == "Sys.WebForms.PageRequestManagerTimeoutException")
            {
                msg = 'Timeout has occur, please refresh your page';
            }
            else
            {
                msg = (args.get_error().message.indexOf('Sys.WebForms.') == 0) ? 'Error has occur, please refresh your page' : args.get_error().message;
            }         
            
        }
        return msg; 
   }  
}
window.onerror = Site.HandleErrorGlobal;