//  
//  ~/include/javascripts/system.js
//  

var Browser	= { agt:navigator.userAgent.toLowerCase(),app:navigator.appName.toLowerCase(),Version:function(){return parseInt(navigator.appVersion)},
	DOM:		function(){return (document.createElement && document.getElementById)?true:false; },
	MSIE:		function(){return (browser.app.indexOf('microsoft')!=-1)?true:false;},
	Firefox:	function(){return (agt.indexOf('firefox')!=-1)?true:false;},
	Safari:		function(){return (agt.indexOf('safari')!=-1)?true:false;},
	Opera:		function(){return (agt.indexOf('opera')!=-1)?true:false;},
	Chrome:		function(){return (agt.indexOf('chrome')!=-1)?true:false;},
	Netscape:	function(){return (agt.indexOf('netscape')!=-1)?true:false;}
};
var Document	= {
	GetParent:	function(o){ return Document.GetElement(o).parentNode; },
	GetElement:	function(o){ if(document.getElementById(o)){return document.getElementById(o);}else{return false;} },
	NewElement:	function(Type,ID,Class){ var newdiv=document.createElement(Type);if(ID){newdiv.setAttribute('id',ID);}if(Class){newdiv.setAttribute((Browser.MSIE())?'className':'class',Class);}return newdiv; },
	ClearNode:	function(o){ while(o.childNodes[0]){o.removeChild(o.childNodes[0]);} },
	InsideWidth:	function(){ return (Browser.DOM())?document.documentElement.clientWidth:(Browser.MSIE())?document.body.clientWidth:(Browser.Netscape())?window.innerWidth:0; },
	InsideHeight:	function(){ return (Browser.DOM())?document.documentElement.clientHeight:(Browser.MSIE())?document.body.clientHeight:(Browser.Netscape())?window.innerHeight:0; }
};
var Form	= { 
	isEmpty:	function(str){ return (str == "")?true:false; },
	isFalse:	function(str){ return (str == 0)?true:false; },
	isNumeric:	function(str){ return /^\d+$/.test(str)?true:false; },
	isEmail:	function(str){ if (str.indexOf('@') == -1) return false;if (str.indexOf('.') == -1) return false;if (str.lastIndexOf('.') < str.indexOf('@')) return false;if (str.lastIndexOf('@') != str.indexOf('@')) return false;var mailuser = str.substring(0,str.indexOf('@'));if (mailuser.length < 2) return false;var domain = str.substring(str.indexOf('@')+1,str.length);if (domain.substring(0,domain.lastIndexOf('.')).length < 2) return false;var tld = str.substring(str.lastIndexOf('.')+1,str.length);if (tld.length < 2) return false;if (tld.length > 3) return false;return true; }
};
var Server	= { request:false,response:null,
	Request:	function(url, post){request=false;if(window.XMLHttpRequest){if(window.XMLHttpRequest){try{request = new XMLHttpRequest();}catch(e){ request = false; }}}else if(window.ActiveXObject){try{request = new ActiveXObject("Msxml2.XMLHTTP");}catch(e){try{request = new ActiveXObject("Microsoft.XMLHTTP");}catch(e){request=false;}}}if(request){request.onreadystatechange = Server.Response;if(post){request.open("POST", url, true);request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");request.setRequestHeader("Content-Length",params.length);request.setRequestHeader("Connection","close");request.send(params);}else{request.open("GET", url, true);request.send(null);}}},
	Response:	function(){if(request.readyState == 4){var state = false;if(request.status == 200){var response = request.responseText;eval(response);}else{alert('There was an issue retrieving the data:\n' + request.statusText);}}}
};
var System	= {
	Root:		'',
	Init:		function(){
	}
};
