function TranslateCoreRO(msgId)
{	
	switch(msgId)
	{
		// menu bar
		case 1:		return 'Companie';
		case 2:		return 'Servicii';
		case 3:		return 'Tehnologii';
		case 4:		return 'Proiecte';
		case 5:		return 'Contact';

		// page title
		case 20:	return 'Bitground Software - Companie';
		case 21:	return 'Bitground Software - Servicii';
		case 22:	return 'Bitground Software - Tehnologii';
		case 23:	return 'Bitground Software - Proiecte';
		case 29:	return 'Bitground Software - Contact';

		// misc
		case 50:	return 'Schimb&#x103; limba în Englez&#x103;';
		case 51:	return 'Schimb&#x103; limba în Român&#x103;';
		case 52:	return 'Schimb&#x103; limba în Francez&#x103;';
		case 53:	return 'Schimb&#x103; limba în German&#x103;';
		case 61:	return 'Ap&#x103;sa&#x163;i aici pentru a naviga la prima pagin&#x103;';

		// home page
		case 100:	return 'Companie';
		case 101:	return 'Bitground este o companie dezvoltatoare de software cu sediul în Bucure&#x15F;ti, România. Oferta noastr&#x103; include consultan&#x163;&#x103; &#x15F;i servicii de outsourcing, precum &#x15F;i solu&#x163;ii software la cheie.';
		case 102:	return 'Misiune';
		case 103:	return 'Scopul companiei este de a furniza solu&#x163;ii software la standarde cât mai înalte de calitate. Acest obiectiv este atins folosind experien&#x163;a noastr&#x103; variat&#x103; în domeniul IT &#x15F;i în managementul proiectelor informatice, care se reflect&#x103; atât în produsele furnizate precum &#x15F;i în rela&#x163;ia noastr&#x103; cu clien&#x163;ii.';
		case 104:	return 'Echipa';
		case 105:	return 'Angaja&#x163;ii Bitground sunt profesioni&#x15F;ti IT cu o deosebit&#x103; educa&#x163;ie în domeniu &#x15F;i cu performan&#x163;e în sfera tehnologiilor de vârf. Majoritatea sunt absolven&#x163;i ai Facult&#x103;&#x163;ii de "Automatic&#x103; &#x15F;i Calculatoare" din cadrul Universit&#x103;&#x163;ii "Politehnica" Bucure&#x15F;ti, una din cele mai bine cotate din România &#x15F;i de peste hotare.';
		case 106:	return 'Procesul de dezvoltare';
		case 107:	return 'Bitground urmeaz&#x103; metodologii de lucru adaptive, permi&#x163;ând astfel o manipulare facil&#x103; a produsului în timpul stadiilor de dezvoltare. Aceast&#x103; abordare scute&#x15F;te clientul de fazele interminabile de planificare, oferindu-i o solu&#x163;ie de calitate la un cost convenabil.';

		// services
		case 200:	return 'Outsourcing';
		case 201:	return 'Echip&#x103; dinamic&#x103; cu experien&#x163;&#x103; în domeniile IT de vârf';
		case 202:	return 'Costuri de dezvoltare sc&#x103;zute';
		case 203:	return 'Management de proiect comprehensiv';
		case 204:	return 'Dezvoltare &#x15F;i instalare în timp minim';
		case 205:	return 'Suport tehnic &#x15F;i între&#x163;inere la standarde ridicate';
		case 206:	return 'Solu&#x163;ii software personalizate';
		case 207:	return 'Software pentru activit&#x103;&#x163;i comerciale';
		case 208:	return 'Aplica&#x163;ii multimedia';
		case 209:	return 'Re&#x163;ele &#x15F;i telecomunica&#x163;ii';
		case 210:	return 'Solu&#x163;ii de tip "knowledge management"';
		case 211:	return 'Aplica&#x163;ii pentru dispozitive mobile (telefoane, PDA-uri)';
		case 212:	return 'Sisteme de baze de date';
		case 213:	return 'Solu&#x163;ii enterprise';
		case 214:	return 'Consultan&#x163;&#x103;';
		case 215:	return 'Echip&#x103; tehnic&#x103; &#x15F;i de management cu înalt&#x103; preg&#x103;tire';
		case 216:	return 'Metodologii de lucru bine stabilite pentru o gam&#x103; larg&#x103; de profile client';
		case 217:	return 'Instruire aprofundat&#x103; a clientului';
		case 218:	return 'Analiza cerin&#x163;elor func&#x163;ionale &#x15F;i de performan&#x163;&#x103;';
		case 219:	return 'Inspectarea modelului de proiectare a unui sistem';
		case 220:	return 'Dezvoltare multi-platform&#x103;';
		case 221:	return 'Metode de testare eficiente';

		// technologies
		case 300:	return 'Limbaje de programare';
		case 301:	return 'C#, C/C++';
		case 302:	return 'Java';
		case 303:	return 'Perl, Python';

		case 306:	return 'Medii de dezvoltare';
		case 307:	return 'Visual Studio .NET';
		case 308:	return 'Eclipse';

		case 310:	return 'Dezvoltare web';
		case 341:	return 'ASP .NET, IIS6, IIS7';
		case 311:	return 'HTML, CSS';
		case 313:	return 'PHP, CGI';
		case 315:	return 'AJAX, Javascript';
		case 344:	return 'SharePoint';

		case 316:	return 'Baze de date';
		case 317:	return 'T-SQL';
		case 318:	return 'PL/SQL';
		case 319:	return 'MySQL';
		case 320:	return 'Microsoft Access';

		case 321:	return 'Sisteme de operare';
		case 322:	return 'Windows: XP/Vista/2003/2008';
		case 323:	return 'Linux: RedHat, Fedora, SuSE, Debian';
		case 324:	return 'Altele: Slackware, FreeBSD, OpenBSD';

		case 325:	return 'Tehnologii diverse';
		case 326:	return 'XML, XSL';
		case 327:	return 'ActiveX, ATL, COM';
		case 343:	return 'Active Directory';
		case 328:	return 'Corba, SOAP';
		case 329:	return 'TCP/IP, SSL';
		case 330:	return 'HTTP, SNMP, SMTP, ESMTP, POP3, IMAP';
		case 305:	return 'Bash scripting';
		case 342:	return 'Power shell';
		case 345:	return 'Windows services';

		case 331:	return 'Interfe&#x163;e programatice &#x15F;i instrumente de lucru';
		case 332:	return 'ADO, ODBC, UML';
		case 333:	return 'Rational Rose, Microsoft Visio';
		case 346:	return 'Amazon Web Services (EC2, SimpleDB, S3, SQS)';
		case 334:	return 'Tibco Rendezvous, Tibco EMS';
		case 335:	return 'VSS, TFS, CVS, Subversion';
		case 336:	return 'MSXML, Xerces, Sablotron';
		case 337:	return 'MFC, WTL, STL, Win32 SDK';
		case 338:	return 'OpenGL, DirectX';
		case 339:	return 'Seagate Crystal Reports, SQL Reporting Services';
		case 340:	return 'Adobe Acrobat SDK';
		case 347:	return 'wxWindows';

		// projects
		case 400:	return 'Xyleme Server';
		case 401:	return "Xyleme este o corpora&#x163;ie interna&#x163;ional&#x103; care ofer&#x103; solu&#x163;ii de stocare &#x15F;i extragere a datelor, ce permit clien&#x163;ilor s&#x103; urm&#x103;reasc&#x103;, converteasc&#x103; &#x15F;i distribuie informa&#x163;ii, atât în interiorul companiilor cât &#x15F;i cu partenerii de afaceri." + VerticalSpacerMedium + "Produsul cel mai important al companiei este Xyleme Server, un mediu de stocare, indexare &#x15F;i c&#x103;utare în colec&#x163;ii de date structurate în multiple moduri, cât &#x15F;i o platform&#x103; care suport&#x103; aplica&#x163;ii client personalizate." + VerticalSpacerMedium + "Colaborarea Bitground cu Xyleme a constat în dezvoltarea unor solu&#x163;ii software pentru Xyleme Server &#x15F;i elaborarea unor produse individualizate pentru clien&#x163;i, utilizând tehnologii <a href='http://www.tibco.com/' rel='external'>Tibco</a>.";
		case 402:	return 'http://www.xyleme.com';
		case 403:	return 'Intranet File Sharing';
		case 404:	return 'O suit&#x103; complet&#x103; pentru localizarea resurselor aflate într-o re&#x163;ea intern&#x103;, având ca principal&#x103; caracteristic&#x103; viteza de c&#x103;utare a datelor &#x15F;i oferind modalit&#x103;&#x163;i pentru indexarea &#x15F;i stocarea informa&#x163;iilor în baza de date.' + VerticalSpacerSmall + 'Intranet File Sharing permite de asemenea interogarea flexibil&#x103; a colec&#x163;iei de date, integrare în web browser, precum &#x15F;i instrumente de administrare, generare de statistici &#x15F;i monitorizare a sistemului.';
		case 405:	return 'http://www.ostafiev.com/ifs';
		case 406:	return '"Colaborarea dintre Xyleme &#x15F;i Bitground Software a durat o perioad&#x103; de un an, fiind în principal constituit&#x103; din externalizarea unor sarcini de cercetare &#x15F;i dezvoltare software. Datorit&#x103; experien&#x163;ei echipei Bitground în domeniul designului &#x15F;i implement&#x103;rii aplica&#x163;iilor, parteneriatul s-a derulat în condi&#x163;ii extrem de productive.' + VerticalSpacerXXSmall + 'În decursul perioadei men&#x163;ionate, au fost finalizate dou&#x103; proiecte de anvergur&#x103;: primul este reprezentat de interconectarea Xyleme Server cu Tibco Messaging Services, iar al doilea se refer&#x103; la extinderea nucleului Xyleme Server prin ad&#x103;ugarea unui suport flexibil de reorganizare fizic&#x103; a datelor. Ambele proiecte au necesitat o în&#x163;elegere profund&#x103; a arhitecturii produsului nostru.' + VerticalSpacerXXSmall + 'Pe lâng&#x103; cunostiin&#x163;ele în domeniul tehnic, partenerii de la Bitground au demonstrat aptitudini de comunicare foarte bune în rela&#x163;ia cu echipa noastr&#x103;. Ca &#x15F;i concluzie, Xyleme este pe deplin mul&#x163;umit&#x103; de aceast&#x103; cooperare."';
		case 407:	return 'Guy Ferran, Director Tehnic, Xyleme S.A.';
		case 408:	return 'Newsberry';
		case 409:	return 'http://www.newsberry.com';
		case 410:	return 'Newsberry este o aplica&#x163;ie web de marketing prin email, destinat&#x103; atât companiilor cât &#x15F;i persoanelor fizice. Aceasta permite atât realizarea facil&#x103; de emailuri cu aspect profesional, focalizate pe un anumit tip de afacere, cât &#x15F;i expedierea acestora c&#x103;tre grupuri mari de abona&#x163;i. Printre multiplele tr&#x103;s&#x103;turi ale sistemului reg&#x103;sim module de raportare, administrare a abona&#x163;ilor, posibilitatea de administrare a con&#x163;inutului campaniilor sau programarea lor precum &#x15F;i module de livrare ale acestora.';
		case 411:	return '"Firma Bitground s-a al&#x103;turat echipei noastre într-un stadiu avansat al proiectului Newsberry. Aplica&#x163;ia era realizat&#x103; în propor&#x163;ie de 60%, dar cu multe aspecte înc&#x103; nedefinite. Bitground s-a adaptat rapid în acest context &#x15F;i a identificat cu precizie modelul de lucru si obiectivele, promovând imediat idei noi.' + VerticalSpacerXXSmall + 'În decursul a trei luni întregul sistem a fost ref&#x103;cut complet, ceea ce a condus la ob&#x163;inerea unei aplica&#x163;ii f&#x103;r&#x103; defecte, scalabil&#x103; &#x15F;i consistent&#x103;. Aten&#x163;ia pentru detalii &#x15F;i ideile lor creative ne-au ajutat s&#x103; construim &#x15F;i s&#x103; finaliz&#x103;m viziunea original&#x103; a aplica&#x163;iei."';
		case 412:	return 'Chris Nagele, Pre&#x15F;edinte, <a href="http://www.wildbit.com/" rel="external">Wildbit</a>';
		case 413:	return 'Teamness';
		case 414:	return 'http://www.teamness.ro';
		case 415:	return 'Teamness este un serviciu web dezvoltat de noi care v&#x103; poate ajuta s&#x103; v&#x103; organiza&#x163;i proiectele &#x15F;i s&#x103; colabora&#x163;i cu colegii &#x15F;i clien&#x163;ii dvs. Aplica&#x163;ia ruleaz&#x103; pe serverele noastre, deci dvs nu trebuie s&#x103; instala&#x163;i nimic pentru a-l utiliza. Nu ave&#x163;i nevoie decât de un browser web &#x15F;i de o conexiune la Internet &#x15F;i v&#x103; ve&#x163;i putea accesa datele din orice loc.';
		case 416:	return 'Teamness rezolv&#x103; într-un mod intuitiv problemele de comunicare care apar de obicei pe parcursul unui proiect. Atunci când lucra&#x163;i la un proiect sunt necesare practic urm&#x103;toarele: cerin&#x163;e, stadii, mesaje &#x15F;i, cel mai important aspect dintre toate, s&#x103; fi&#x163;i la curent cu activitatea din cadrul proiectului.' + VerticalSpacerXXSmall + 'Pentru a v&#x103; ajuta cu cele de mai sus, Teamness ofer&#x103; o suit&#x103; de facilit&#x103;&#x163;i: sarcini, stadii, mesaje, fi&#x15F;iere, note cu versiuni, rezumatul activit&#x103;&#x163;ii, un motor de c&#x103;utare puternic &#x15F;i flexibil, grupuri pentru a v&#x103; organiza mai u&#x15F;or, notific&#x103;ri &#x15F;i feed-uri RSS pentru a v&#x103; ajuta s&#x103; fi&#x163;i la curent cu toate schimb&#x103;rile.';
		case 417:	return '<a href="https://www.teamness.ro/SignUp.aspx" rel="external">Începe&#x163;i acum colaborarea!</a>';
		case 418:	return 'zkBox';
		case 419:	return 'http://www.zkbox.com';
		case 420:	return 'zkBox este un serviciu web menit s&#x103; p&#x103;streze într-un mod secret, sigur &#x15F;i complet anonim datele senzitive salvate de utilizatori în sistem.';
		case 421:	return "Serviciul abordeaz&#x103; într-o manier&#x103; diferit&#x103; conceptul referitor la p&#x103;strarea datelor utilizatorilor: acestea sunt stocate în form&#x103; criptat&#x103; utilizând o cheie secret&#x103; apartinând utilizatorului ce nu este niciodat&#x103; trimis&#x103; serverelor zkBox. În acest mod nimeni în afar&#x103; de utilizator, nici m&#x103;car echipa zkBox, nu poate accesa datele stocate în sistem." + VerticalSpacerXXSmall + "Sunt posibile mai multe scenarii pentru instalarea zkBox atât pentru uz public cât &#x15F;i privat. Instalarea public&#x103; accesibil&#x103; la adresa <a href='http://api.zkbox.com/' rel='external'>api.zkbox.com</a> ruleaz&#x103; în <a href='http://aws.amazon.com/ec2/' rel='external'>reteaua Amazon</a> având datele utilizatorilor stocate într-un mod redundant &#x15F;i securizat prin folosirea <a href='http://aws.amazon.com/' rel='external'>serviciilor Amazon</a>.";
		case 422:	return '<a href="http://www.zkbox.com/" rel="external">Vezi cum po&#x163;i folosi zkBox în proiectele tale!</a>';
		case 423:	return 'Walnote';
		case 424:	return 'http://www.walnote.com';
		case 425:	return "Walnote este o aplica&#x163;ie web menit&#x103; s&#x103; stocheze online, în deplin&#x103; siguran&#x163;&#x103;, notele dvs.";
		case 426:	return "Este o aplica&#x163;ie sigur&#x103;, rapid&#x103; &#x15F;i anonim&#x103; ce ruleaz&#x103; în browser-ul utilizatorului. Ceea ce face Walnote cu adevarat special&#x103; este faptul c&#x103; nimeni în afar&#x103; de utilizator, nici m&#x103;car echipa din spatele aplica&#x163;iei, nu va putea accesa notele acestuia." + VerticalSpacerXXSmall + "Walnote folose&#x15F;te " + charLT + "a href='http://www.zkbox.com/' rel='external'" + charGT + "zkBox" + charLT + "/a" + charGT + " ca solu&#x163;ie de stocare a notelor, modelul de securitate din Walnote fiind echivalent cu cel din zkBox.";
		case 427:	return '<a href="http://www.walnote.com/app#signup" rel="external">Creeaz&#x103;-&#x163;i propriul cont Walnote!</a>';

		// contact
		case 900:	return 'Informa&#x163;ii de contact';
		case 901:	return 'Telefon:';
		case 902:	return '0723 331 803, 0723 231 661';
		//case 903:	return 'Fax:';
		//case 904:	return '031 408 45 52';
		case 905:	return 'Email:'
		case 906:	return 'Adres&#x103;:';
		case 907:	return 'Str. George Valentin Bibescu Nr. 15-19, Sector 1, Bucure&#x15F;ti, România';
		case 950:	return 'Cariere';
		case 951:	return 'Compania noastr&#x103; este într-o continu&#x103; c&#x103;utare de persoane dornice s&#x103; se al&#x103;ture echipei Bitground. Daca e&#x15F;ti interesat s&#x103; lucrezi al&#x103;turi de noi, ne po&#x163;i trimite cv-ul t&#x103;u la ';


		default:
			alert('UNEXPECTED ERROR: Invalid message id (' + msgId + ')');
			break;
	}
	return 'Invalid message id (' + msgId + ')';
}


function TranslateCoreFR(msgId)
{	
	return "FR: translation";
}

function TranslateCoreDE(msgId)
{	
	return "DE: translation";
}

function URLGetParameterURL(url, name)
{
	var i = url.indexOf("?") + 1, x = url.length, v, n;
	for (; (i > 0) && (i < x); i = n + 1)
	{
		n = url.indexOf("&", i); if (n < 0) n = x;
		v = url.indexOf("=", i); if (v < 0) v = n; if (v > n) v = n;
		if (name.toLowerCase() == url.substring(i, v).toLowerCase())
		{
			if (n == x) i --; 
			if (v < n) v ++;
			return url.substring(v, n);
		}
	}
	return null;
}

function URLGetParameter(name)
{
	return URLGetParameterURL(location.href, name);
}


function URLAddParameter(url, name, value)
{
	url = URLDelParameter(url, name);
	return url + ((url.indexOf("?") < 0)? "?": "&") + name + "=" + escape(value);
}

function URLDelParameter(url, name)
{
	var i = url.indexOf("?") + 1, x = url.length, v, n;
	for (; (i > 0) && (i < x); i = n + 1)
	{
		n = url.indexOf("&", i); if (n < 0) n = x;
		v = url.indexOf("=", i); if (v < 0) v = n; if (v > n) v = n;
		if (name.toLowerCase() == url.substring(i, v).toLowerCase())
		{
			if (n == x) i --; else n ++;
			return url.substring(0, i) + url.substr(n);
		}
	}
	return url;
}

function ChangeLanguage(url, lang)
{
	return URLAddParameter(url, "l", lang)
}

var strPage = URLGetParameter("p");
var strLanguage = URLGetParameter("l");


switch(strLanguage)
{
	case 'ro': 
	case 'fr': 
	case 'de': 
		break;
	default: strLanguage = 'en'; break;
}

function TranslateCore(msgId, strDefault)
{
	switch(strLanguage)
	{
		case 'ro': return TranslateCoreRO(msgId);
		case 'fr': return TranslateCoreFR(msgId);
		case 'de': return TranslateCoreDE(msgId);
		default: return strDefault;
	}

	return strDefault;
}

function Translate(msgId, strDefault)
{
	document.write(TranslateCore(msgId, strDefault));
}

function DisplayPage(pageName)
{
	document.getElementById(pageName + 'MenuBar').style['display'] = 'block';
	document.getElementById(pageName).style['display'] = 'block';
}

function RevealBody()
{
	switch (strPage)
	{
		case 'services': 
		case 'technologies': 
		case 'projects': 
		case 'contact':
			DisplayPage(strPage); 
			break;
		default: 
			DisplayPage('home');
			break;
	}
	document.body.style['display'] = 'block';
	ProcessAnchors();
}


function GetMenuLink(menuId)
{
	switch(menuId)
	{
		case 1: return "home"; 
		case 2: return "services";
		case 3: return "technologies";
		case 4: return "projects";
		case 5: return "contact";
		default: alert('UNEXPECTED ERROR: Invalid menu id!'); break;
	}
	return 'UNEXPECTED ERROR: Invalid menu id!';
}
function GetMenuTitle(menuId)
{
	switch(menuId)
	{
		case 1: return "Home"; 
		case 2: return "Services";
		case 3: return "Technologies";
		case 4: return "Projects";
		case 5: return "Contact";
		default: alert('UNEXPECTED ERROR: Invalid menu id!'); break;
	}
	return 'UNEXPECTED ERROR: Invalid menu id!';
}

function GenerateMenu(menuId)
{
	var numberOfMenuItems = 5;
	document.write('<div id="' + GetMenuLink(menuId) + 'MenuBar"><table style="width: 100%; " cellpadding="0" cellspacing="0" align="right"><tr nowrap>');

	strStyleFirstBorderRight = "";
	if (1 == menuId)
	{
		strStyleFirstBorderRight = "; border-right: 2px solid #88A"
	}

	document.write('<td style="width:90%; border-bottom: 2px solid #88A; font-size: 1px' + strStyleFirstBorderRight + '">&nbsp;</td>');
	for(i = 1; i < 1 + numberOfMenuItems; i++)
	{
		link = GetMenuLink(i);
		title = GetMenuTitle(i);

		if (menuId == i)
		{
			document.write('<td class="menuCellSelected' + (numberOfMenuItems == i ? " menuCellSelectedLast" : "")+ '" style="vertical-align: bottom;" ><p class="menuCellA menuCellASelected" style="vertical-align: top; border-top: 3px solid #88A; dheight: 100%;">' + TranslateCore(i, title) + '</p></td>');
		}
		else
		{
			styleBorder = "";
			if (i == menuId - 1)
			{
				styleBorder = "border-right: 2px solid #88A";
			}
			if (i == menuId + 1)
			{
				styleBorder = "border-left: 2px solid #88A";
			}
			document.write('<td class="menuCell' + (numberOfMenuItems == i ? " menuCellLast" : "")+ '" style="' + styleBorder + '"><a class="menuCellA" href="?p=' + link + '&l=' + strLanguage + '">' + TranslateCore(i, title) + '</a>');
		}
	}

	
	strStyleLastBorderLeft = "";
	if (numberOfMenuItems == menuId)
	{
		strStyleLastBorderLeft = "; border-left: 2px solid #88A"
	}

	document.write('<td style="width:10px; padding-right: 10px; border-bottom: 2px solid #88A; font-size: 1px' + strStyleLastBorderLeft + '">&nbsp;</td>');

	document.write('</tr></table></div>');
}

function GenerateMenuBars()
{
	GenerateMenu(1);
	GenerateMenu(2);
	GenerateMenu(3);
	GenerateMenu(4);
	GenerateMenu(5);
}

function GetChangeLanguageText(flag, pageLanguage)
{
	strChangeLanguageToEnglish = "Change language to English";
	strChangeLanguageToRomanian = "Change language to Romanian";
	strChangeLanguageToFrench = "Change language to French";
	strChangeLanguageToDeutsch = "Change language to German";

	switch(pageLanguage)
	{
		case 'en':
			switch(flag)
			{
				case 'ro': return TranslateCoreRO(51) + " / " + strChangeLanguageToRomanian; break;
				case 'fr': return TranslateCoreFR(52) + " / " + strChangeLanguageToFrench; break;
				case 'de': return TranslateCoreDE(53) + " / " + strChangeLanguageToDeutsch; break;
				default: break;
			}
			break;
		case 'ro':
			switch(flag)
			{
				case 'en': return strChangeLanguageToEnglish + " / " + TranslateCoreRO(50); break;
				case 'fr': return TranslateCoreFR(52) + " / " + TranslateCoreRO(52); break;
				case 'de': return TranslateCoreDE(53) + " / " + TranslateCoreRO(53); break;
				default: break;
			}
			break;
		case 'fr':
			switch(flag)
			{
				case 'en': return strChangeLanguageToEnglish + " / " + TranslateCoreFR(50); break;
				case 'ro': return TranslateCoreRO(51) + " / " + TranslateCoreFR(51); break;
				case 'de': return TranslateCoreDE(53) + " / " + TranslateCoreFR(53); break;
				default: break;
			}
			break;
		case 'de':
			switch(flag)
			{
				case 'en': return strChangeLanguageToEnglish + " / " + TranslateCoreDE(50); break;
				case 'ro': return TranslateCoreRO(51) + " / " + TranslateCoreDE(51); break;
				case 'fr': return TranslateCoreFR(52) + " / " + TranslateCoreDE(52); break;
				default: break;
			}
			break;
		default:
			break;
	}

	alert("UNEXPECTED ERROR: Invalid flag (" + flag + ") - pageLanguage (" + pageLanguage + ") combination");
	return "UNEXPECTED ERROR: Invalid flag (" + flag + ") - pageLanguage (" + pageLanguage + ") combination";
}

function CreateFlag(flag, isLast)
{
	lastStyle = "";
	if (true == isLast)
	{
		lastStyle = "Last";
	}

	if (strLanguage == flag)
	{
		document.write("<td class='FlagCellDisabled" + lastStyle + "'><span class='FlagImgAnchorDisabled" + lastStyle + "'><img class='FlagImgDisabled" + lastStyle + "' src='flag" + flag + "disabled.gif'/></span></td>");
	}
	else
	{
		document.write("<td class='FlagCell" + lastStyle + "'><a class='FlagImgAnchor" + lastStyle + "' href='" + ChangeLanguage(location.href, flag) + "'><img class='FlagImg" + lastStyle + "' title='" + GetChangeLanguageText(flag, strLanguage) + "' alt='" + GetChangeLanguageText(flag, strLanguage) + "' src='flag" + flag + ".gif'/></a></td>");
	}
}

function CreateFlags()
{
	document.write('<div class="LanguagesContainer"><table class="Languages" align="right" cellpadding="0" cellspacing="0"><tr>');
	CreateFlag('en', false);
//	CreateFlag('ro', false);
	CreateFlag('ro', true);
//	CreateFlag('fr', false);
//	CreateFlag('de', true);
	document.write('</tr></table></div>');

}

function CreateLogo()
{
	strMessage = TranslateCore(61, 'Click here to jump to the first page');
	document.write("<a class='LogoAnchor' href='?p=home&l=" + strLanguage + "'><img class='LogoPic' title='" + strMessage + "' alt='" + strMessage + "' src='logo.gif'/></a>");
}

function SetPageTitle()
{
	switch (strPage)
	{
		case 'services': 
			strTitle = TranslateCore(21, 'Bitground Software - Services');
			break;

		case 'technologies': 
			strTitle = TranslateCore(22, 'Bitground Software - Technologies');
			break;

		case 'projects': 
			strTitle = TranslateCore(23, 'Bitground Software - Projects');
			break;

		case 'contact':
			strTitle = TranslateCore(29, 'Bitground Software - Contact');
			break;

		default: 
			strTitle = TranslateCore(20, 'Bitground Software - Home');
			break;
	}

	document.write('<title>' + strTitle + '</title>');
}

function ProcessAnchors()
{
	if (!document.getElementsByTagName) return;
	var anchors = document.getElementsByTagName("a");
	for (var i=0; i < anchors.length; i++) 
	{ 
		var anchor = anchors[i];
		if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external")
		{
			anchor.target = "_blank";
		}
	}
}


VerticalSpacerMedium = "<span class='VerticalSpacerMedium'>&nbsp;</span>";
VerticalSpacerSmall = "<span class='VerticalSpacerSmall'>&nbsp;</span>";
VerticalSpacerXXSmall = "<span class='VerticalSpacerXXSmall'>&nbsp;</span>";
charLT = "<";
charGT = ">";

SetPageTitle();

