function get_client_info(browser){
	var agt=navigator.userAgent.toLowerCase();

	// *** BROWSER VERSION ***
	// Note: On IE5, these return 4, so use is_ie5up to detect IE5.
	var is_major = parseInt(navigator.appVersion);
	var is_minor = parseFloat(navigator.appVersion);

	// Note: Opera and WebTV spoof Navigator.  We do strict client detection.
	// If you want to allow spoofing, take out the tests for opera and webtv.
	var is_nav		= ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('spoofer')==-1)
					&& (agt.indexOf('compatible') == -1) && (agt.indexOf('opera')==-1)
					&& (agt.indexOf('webtv')==-1) && (agt.indexOf('hotjava')==-1));
	var is_nav2		= (is_nav && (is_major == 2));
	var is_nav3		= (is_nav && (is_major == 3));
	var is_nav4		= (is_nav && (is_major == 4));
	var is_nav4up	= (is_nav && (is_major >= 4));
	var is_navonly	= (is_nav && ((agt.indexOf(";nav") != -1) || (agt.indexOf("; nav") != -1)));
	var is_nav6		= (is_nav && (is_major == 5));
	var is_nav6up	= (is_nav && (is_major >= 5));
	var is_gecko	= (agt.indexOf('gecko') != -1);

	var is_ie		= ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
	var is_ie3		= (is_ie && (is_major < 4));
	var is_ie4		= (is_ie && (is_major == 4) && (agt.indexOf("msie 4")!=-1) );
	var is_ie4up	= (is_ie && (is_major >= 4));
	var is_ie5		= (is_ie && (is_major == 4) && (agt.indexOf("msie 5.0")!=-1) );
	var is_ie5_5	= (is_ie && (is_major == 4) && (agt.indexOf("msie 5.5") !=-1));
	var is_ie5up	= (is_ie && !is_ie3 && !is_ie4);
	var is_ie5_5up	= (is_ie && !is_ie3 && !is_ie4 && !is_ie5);
	var is_ie6		= (is_ie && (is_major == 4) && (agt.indexOf("msie 6.")!=-1) );
	var is_ie6up	= (is_ie && !is_ie3 && !is_ie4 && !is_ie5 && !is_ie5_5);

	// KNOWN BUG: On AOL4, returns false if IE3 is embedded browser
	// or if this is the first browser window opened.  Thus the
	// variables is_aol, is_aol3, and is_aol4 aren't 100% reliable.
	var is_aol		= (agt.indexOf("aol") != -1);
	var is_aol3		= (is_aol && is_ie3);
	var is_aol4		= (is_aol && is_ie4);
	var is_aol5		= (agt.indexOf("aol 5") != -1);
	var is_aol6		= (agt.indexOf("aol 6") != -1);

	var is_opera	= (agt.indexOf("opera") != -1);
	var is_opera2	= (agt.indexOf("opera 2") != -1 || agt.indexOf("opera/2") != -1);
	var is_opera3	= (agt.indexOf("opera 3") != -1 || agt.indexOf("opera/3") != -1);
	var is_opera4	= (agt.indexOf("opera 4") != -1 || agt.indexOf("opera/4") != -1);
	var is_opera5	= (agt.indexOf("opera 5") != -1 || agt.indexOf("opera/5") != -1);
	var is_opera5up	= (is_opera && !is_opera2 && !is_opera3 && !is_opera4);

	var is_webtv	= (agt.indexOf("webtv") != -1);

	var is_TVNavigator	= ((agt.indexOf("navio") != -1) || (agt.indexOf("navio_aoltv") != -1));
	var is_AOLTV		= is_TVNavigator;

	var is_hotjava		= (agt.indexOf("hotjava") != -1);
	var is_hotjava3		= (is_hotjava && (is_major == 3));
	var is_hotjava3up	= (is_hotjava && (is_major >= 3));

	// *** JAVASCRIPT VERSION CHECK ***
	var is_js;
	if (is_nav2 || is_ie3) is_js = 1.0;
	else if (is_nav3) is_js = 1.1;
	else if (is_opera5up) is_js = 1.3;
	else if (is_opera) is_js = 1.1;
	else if ((is_nav4 && (is_minor <= 4.05)) || is_ie4) is_js = 1.2;
	else if ((is_nav4 && (is_minor > 4.05)) || is_ie5) is_js = 1.3;
	else if (is_hotjava3up) is_js = 1.4;
	else if (is_nav6 || is_gecko) is_js = 1.5;
	// NOTE: In the future, update this code when newer versions of JS
	// are released. For now, we try to provide some upward compatibility
	// so that future versions of Nav and IE will show they are at
	// *least* JS 1.x capable. Always check for JS version compatibility
	// with > or >=.
	else if (is_nav6up) is_js = 1.5;
	// NOTE: ie5up on mac is 1.4
	else if (is_ie5up) is_js = 1.3

	// HACK: no idea for other browsers; always check for JS version with > or >=
	else is_js = 0.0;

	// *** PLATFORM ***
	var is_win   = ( (agt.indexOf("win")!=-1) || (agt.indexOf("16bit")!=-1) );
	// NOTE: On Opera 3.0, the userAgent string includes "Windows 95/NT4" on all
	//        Win32, so you can't distinguish between Win95 and WinNT.
	var is_win95 = ((agt.indexOf("win95")!=-1) || (agt.indexOf("windows 95")!=-1));

	// is this a 16 bit compiled version?
	var is_win16	= ((agt.indexOf("win16")!=-1) || (agt.indexOf("16bit")!=-1) || (agt.indexOf("windows 3.1")!=-1) || (agt.indexOf("windows 16-bit")!=-1) );
	var is_win31	= ((agt.indexOf("windows 3.1")!=-1) || (agt.indexOf("win16")!=-1) || (agt.indexOf("windows 16-bit")!=-1));
	var is_winme	= ((agt.indexOf("win 9x 4.90")!=-1));
	var is_win2k	= ((agt.indexOf("windows nt 5.0")!=-1));

	// NOTE: Reliable detection of Win98 may not be possible. It appears that:
	//       - On Nav 4.x and before you'll get plain "Windows" in userAgent.
	//       - On Mercury client, the 32-bit version will return "Win98", but
	//         the 16-bit version running on Win98 will still return "Win95".
	var is_win98	= ((agt.indexOf("win98")!=-1) || (agt.indexOf("windows 98")!=-1));
	var is_winnt	= ((agt.indexOf("winnt")!=-1) || (agt.indexOf("windows nt")!=-1));
	var is_win32	= (is_win95 || is_winnt || is_win98 || ((is_major >= 4) && (navigator.platform == "Win32")) || (agt.indexOf("win32")!=-1) || (agt.indexOf("32bit")!=-1));

	var is_os2		= ((agt.indexOf("os/2")!=-1) || (navigator.appVersion.indexOf("OS/2")!=-1) || (agt.indexOf("ibm-webexplorer")!=-1));

	var is_mac    = (agt.indexOf("mac")!=-1);
	// hack ie5 js version for mac
	if (is_mac && is_ie5up) is_js = 1.4;
	var is_mac68k	= (is_mac && ((agt.indexOf("68k")!=-1) || (agt.indexOf("68000")!=-1)));
	var is_macppc	= (is_mac && ((agt.indexOf("ppc")!=-1) || (agt.indexOf("powerpc")!=-1)));

	var is_sun		= (agt.indexOf("sunos")!=-1);
	var is_sun4		= (agt.indexOf("sunos 4")!=-1);
	var is_sun5		= (agt.indexOf("sunos 5")!=-1);
	var is_suni86	= (is_sun && (agt.indexOf("i86")!=-1));
	var is_irix		= (agt.indexOf("irix") !=-1);    // SGI
	var is_irix5	= (agt.indexOf("irix 5") !=-1);
	var is_irix6	= ((agt.indexOf("irix 6") !=-1) || (agt.indexOf("irix6") !=-1));
	var is_hpux		= (agt.indexOf("hp-ux")!=-1);
	var is_hpux9	= (is_hpux && (agt.indexOf("09.")!=-1));
	var is_hpux10	= (is_hpux && (agt.indexOf("10.")!=-1));
	var is_aix		= (agt.indexOf("aix") !=-1);      // IBM
	var is_aix1		= (agt.indexOf("aix 1") !=-1);
	var is_aix2		= (agt.indexOf("aix 2") !=-1);
	var is_aix3		= (agt.indexOf("aix 3") !=-1);
	var is_aix4		= (agt.indexOf("aix 4") !=-1);
	var is_linux	= (agt.indexOf("inux")!=-1);
	var is_sco		= (agt.indexOf("sco")!=-1) || (agt.indexOf("unix_sv")!=-1);
	var is_unixware	= (agt.indexOf("unix_system_v")!=-1);
	var is_mpras	= (agt.indexOf("ncr")!=-1);
	var is_reliant	= (agt.indexOf("reliantunix")!=-1);
	var is_dec		= ((agt.indexOf("dec")!=-1) || (agt.indexOf("osf1")!=-1) || (agt.indexOf("dec_alpha")!=-1) || (agt.indexOf("alphaserver")!=-1) || (agt.indexOf("ultrix")!=-1) || (agt.indexOf("alphastation")!=-1));
	var is_sinix	= (agt.indexOf("sinix")!=-1);
	var is_freebsd	= (agt.indexOf("freebsd")!=-1);
	var is_bsd		= (agt.indexOf("bsd")!=-1);
	var is_unix		= ((agt.indexOf("x11")!=-1) || is_sun || is_irix || is_hpux || is_sco ||is_unixware || is_mpras || is_reliant || is_dec || is_sinix || is_aix || is_linux || is_bsd || is_freebsd);

	var is_vms		= ((agt.indexOf("vax")!=-1) || (agt.indexOf("openvms")!=-1));

	if (browser==1)
	{
		if (is_ie) return "ie";
		if (is_gecko) return "gecko";
	}
}

function arrange_divs_in_browser(){
	if (get_client_info(1)=="ie")
	{
		document.getElementById('content').style.width="512px";
	}
}
//-->
function makeRequest(url, div) {
	var http_request = false;

	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType('text/xml');
			// See note below about this line
		}
	} else if (window.ActiveXObject) { // IE
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}

	if (!http_request) {
		alert('Giving up :( Cannot create an XMLHTTP instance');
		return false;
	}
	http_request.onreadystatechange = function() { alertContents(http_request, div); };
	http_request.open('GET', url, true);
	http_request.send(null);
}

function alertContents(http_request, div) {
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			document.getElementById(div).innerHTML=http_request.responseText;
		} else {
			alert('There was a problem with the request.');
		}
	}

}

function add_email_addres_ro(email){
	err_msg = 'Trebuie sa introduceti o adresa de email valida !';
	if (email=="adresa dvs de email")
	{
		alert (err_msg);
		return 0;
	}
	else{
		if (!emailCheck(email))
		{
			alert (err_msg);
			//return 0;
		}
		else{

			makeRequest('includes/actions/add_newsletter_user.inc.php?email='+email, 'newsletter_response');
			document.getElementById('newsletter_response').style.visibility = "visible";
			document.getElementById('newsletter_response').style.display = "block";
			setTimeout ('clear_newsletter_response()', 2500);
			document.getElementById('newsletter_email').value="adresa dvs de email";
		}
	}
}

function add_email_addres_en(email){
	err_msg = 'You have to insert a valid email address !';
	if (email=="your email address")
	{
		alert (err_msg);
		return 0;
	}
	else{
		if (!emailCheck(email))
		{
			alert (err_msg);
			//return 0;
		}
		else{

			makeRequest('includes/actions/add_newsletter_user.inc.php?email='+email, 'newsletter_response');
			document.getElementById('newsletter_response').style.visibility = "visible";
			document.getElementById('newsletter_response').style.display = "block";
			setTimeout ('clear_newsletter_response()', 2500);
			document.getElementById('newsletter_email').value="your email address";
		}
	}
}

function clear_newsletter_response(){
	document.getElementById('newsletter_response').style.visibility = "hidden";
	document.getElementById('newsletter_response').style.display = "none";
}

function submit_poll(){
	flag = 0;
	for (iCounter=1; iCounter<=10; iCounter++){
		if (document.getElementById('poll_answer_'+iCounter)) if (document.getElementById('poll_answer_'+iCounter).checked==true) {flag = 1;}
	}
	if (!flag){
		alert ('Trebuie sa alegeti un raspuns !');
		return false;
	}
	else{
		return true;
	}
}

function emailCheck (emailStr) {
	var checkTLD=1;
	var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum|ro|eu)$/;
	var emailPat=/^(.+)@(.+)$/;
	var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
	var validChars="\[^\\s" + specialChars + "\]";
	var quotedUser="(\"[^\"]*\")";
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom=validChars + '+';
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
	var matchArray=emailStr.match(emailPat);

	if (matchArray==null) {
//		alert("Email address seems incorrect (check @ and .'s)");
		return false;
	}
	var user=matchArray[1];
	var domain=matchArray[2];
	for (i=0; i<user.length; i++) {
		if (user.charCodeAt(i)>127) {
//			alert("Ths username contains invalid characters.");
			return false;
		}
	}
	for (i=0; i<domain.length; i++) {
		if (domain.charCodeAt(i)>127) {
//			alert("Ths domain name contains invalid characters.");
			return false;
		}
	}

	if (user.match(userPat)==null) {
//		alert("The username doesn't seem to be valid.");
		return false;
	}

	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null) {
		for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
//				alert("Destination IP address is invalid!");
				return false;
			}
		}
		return true;
	}

	var atomPat=new RegExp("^" + atom + "$");
	var domArr=domain.split(".");
	var len=domArr.length;

	for (i=0;i<len;i++) {
		if (domArr[i].search(atomPat)==-1) {
//			alert("The domain name does not seem to be valid.");
			return false;
		}
	}
	if (checkTLD && domArr[domArr.length-1].length!=2 && domArr[domArr.length-1].search(knownDomsPat)==-1) {
//		alert("The address must end in a well-known domain or two letter " + "country.");
		return false;
	}
	if (len<2) {
//		alert("This address is missing a hostname!");
		return false;
	}
	return true;
}

function check_job_fiels(language){

	if (language == "ro")
		{
		message_nume = "Introduceti numele !";
		message_prenume = "Introduceti prenumele !";
		message_email = "Introduceti o adresa de email valida !";
		message_tel = "Introduceti  telefonul fix !";
		}
		else
		{
		message_nume = "Specify last name !";
		message_prenume = "Specify first name !";
		message_email = "Specify a valid email address !";
		message_tel = "Specify a phone number !";
		}

	if (document.getElementById('nume').length<3 || document.getElementById('nume').length>25)
	{
		alert (message_nume);
		return 0;
	}
}


function check_curs_fiels(language){

	if (language == "ro")
		{
		message_nume = "Introduceti numele !";
		message_prenume = "Introduceti prenumele !";
		message_email = "Introduceti o adresa de email valida !";
		message_tel = "Introduceti telefonul fix !";
		}
		else
		{
		message_nume = "Specify last name !";
		message_prenume = "Specify first name !";
		message_email = "Specify a valid email address !";
		message_tel = "Specify a phone number !";
		}

	if (document.getElementById('nume').length<3 || document.getElementById('nume').length>25)
	{
		alert (message_nume);
		return 0;
	}
	if (document.getElementById('prenume').length<3 || document.getElementById('nume').length>25)
	{
		alert (message_nume);
		return 0;
	}
	if (document.getElementById('telfix').length<3 || document.getElementById('nume').length>25)
	{
		alert (message_nume);
		return 0;
	}
}

function toggle_display(id) {
	var e;
	e = document.getElementById(id);
	if(!e) return;
	e.style.display = e.style.display == 'none' ? 'block' : 'none';
}



function verify_contact_form(form,lang){
	if(lang=='ro')
	{
		if (form.nume.value==""){
			alert ('Trebuie sa completati campul "Nume" !');
			return false;
		}
		if (form.prenume.value==""){
			alert ('Trebuie sa completati campul "Prenume" !');
			return false;
		}
		if (form.email.value==""){
			alert ('Trebuie sa completati campul "E-mail" !');
			return false;
		}
		if (!emailCheck(form.email.value)){
			alert ('Campul "E-mail" trebuie sa contina o adresa de e-mail valida !');
			return false;
		}
		if (form.mesaj.value==""){
			alert ('Trebuie sa completati campul "Mesaj" !');
			return false;
		}
		return true;
	}
	else
	{
		if (form.nume.value==""){
			alert ('Please enter your "Last Name" !');
			return false;
		}
		if (form.prenume.value==""){
			alert ('Please enter your "First Name" !');
			return false;
		}
		if (form.email.value==""){
			alert ('Please enter your "E-mail" !');
			return false;
		}
		if (!emailCheck(form.email.value)){
			alert ('Field "E-mail" must contain a valid e-mail address !');
			return false;
		}
		if (form.mesaj.value==""){
			alert ('Please enter your "Message" !');
			return false;
		}
		return true;
	}
}


function verify_inscriere_form(form,lang){
	if(lang=='ro')
	{
		if (form.id_curs.value=="alege"){
			alert ('Trebuie sa completati campul "Cursuri" !');
			return false;
		}
		if (form.nume.value==""){
			alert ('Trebuie sa completati campul "Nume" !');
			return false;
		}
		if (form.prenume.value==""){
			alert ('Trebuie sa completati campul "Prenume" !');
			return false;
		}
		if (form.email.value==""){
			alert ('Trebuie sa completati campul "E-mail" !');
			return false;
		}
		if (!emailCheck(form.email.value)){
			alert ('Campul "E-mail" trebuie sa contina o adresa de e-mail valida !');
			return false;
		}
		if (form.mesaj.value==""){
			alert ('Trebuie sa completati campul "Mesaj" !');
			return false;
		}
		return true;
	}
	else
	{
		if (form.id_curs.value=="alege"){
			alert ('Trebuie sa completati campul "Trainings" !');
			return false;
		}
		if (form.nume.value==""){
			alert ('Please enter your "Last Name" !');
			return false;
		}
		if (form.prenume.value==""){
			alert ('Please enter your "First Name" !');
			return false;
		}
		if (form.email.value==""){
			alert ('Please enter your "E-mail" !');
			return false;
		}
		if (!emailCheck(form.email.value)){
			alert ('Field "E-mail" must contain a valid e-mail address !');
			return false;
		}
		if (form.mesaj.value==""){
			alert ('Please enter your "Message" !');
			return false;
		}
		return true;
	}
}


function verify_gbook_form(form,lang){
	if(lang=='ro')
	{
		if (form.nume.value==""){
			alert ('Trebuie sa completati campul "Nume" !');
			return false;
		}
		if (form.email.value==""){
			alert ('Trebuie sa completati campul "E-mail" !');
			return false;
		}
		if (!emailCheck(form.email.value)){
			alert ('Campul "E-mail" trebuie sa contina o adresa de e-mail valida !');
			return false;
		}
		if (form.mesaj.value==""){
			alert ('Trebuie sa completati campul "Mesaj" !');
			return false;
		}
		return true;
	}
	else
	{
		if (form.nume.value==""){
			alert ('Please enter your "Last Name" !');
			return false;
		}
		if (form.email.value==""){
			alert ('Please enter your "E-mail" !');
			return false;
		}
		if (!emailCheck(form.email.value)){
			alert ('Field "E-mail" must contain a valid e-mail address !');
			return false;
		}
		if (form.mesaj.value==""){
			alert ('Please enter your "Message" !');
			return false;
		}
		return true;
	}
}
