var fullURL = document.URL;

function langHandler() {

	var d_language = "en";
	var tagList = new Array();

	this.clientLang = getLang;
	this.scanLang = scanLang;

	if(getCookie("lang"))
	{
		d_language = getCookie("lang");
		d_language = d_language.split("-")[0];
	}


	function getLang() {
		return d_language;
	}

	function getCookie(cookieName)
	{
		var cookieName = cookieName+"=";
		var nameLength = cookieName.length;
		var i = 0
		while (i < document.cookie.length)
		{
			var j = i + nameLength
			if (document.cookie.substring(i, j) == cookieName)
			{
				var endstr = document.cookie.indexOf (";", j);
				if (endstr == -1)
				{
					endstr = document.cookie.length;
				}
				return unescape(document.cookie.substring(j,endstr))
			}
			i = document.cookie.indexOf(" ", i) + 1
			if (i == 0) break
		}
      		return null
	}



	function scanLang( myQuery ) {
		if (myQuery != '') {
			d_language = myQuery.substring(1);
			if (d_language.indexOf("&") == -1) { // Has more than one query variable
				d_language = d_language.split("=")[1];
				if (d_language != "es") { //If the alternative language is not set
					d_language = "en"; // then use english instate
				}
			} else {
				query_index = d_language.split("&");
				for(x=1;x<=query_index.length;x++) {
					if (query_index[x-1].indexOf("lang") != -1) { // Check if there is a language query variable
						d_language = query_index[x-1].split("=")[1];
						if (d_language != "es") { //If the alternative language is not set
							d_language = "en"; // then use english instate
						}
						break;
					} else {
						d_language = "en";
					}
				}
			}
		}
   	}
}

function langSwitch() {
	if (fullURL.indexOf("?") != -1) {
		var simpleURL = fullURL.split("?")[0];
		var URLquery = fullURL.split("?")[1];
		if (URLquery.indexOf("&") == -1) {
			if (URLquery.split("=")[1] == "en") {
				this.location.replace(simpleURL + "?lang=es");
			}
			if (URLquery.split("=")[1] == "es") {
				this.location.replace(simpleURL + "?lang=en");
			}
		} else {
			var allQueries = URLquery.split("&");
			for (x=0;x<=allQueries.length;x++) {
				if (allQueries[x].indexOf("lang=es") != -1) {
					allQueries[x] = "lang=en";
					break;
				}
				if (allQueries[x].indexOf("lang=en") != -1) {
					allQueries[x] = "lang=es";
					break;
				}
			}
			this.location.replace(simpleURL + "?" + allQueries.join("&"));
		}
	} else {
		this.location.replace(fullURL + "?lang=es")
	}
}

var curLang = new langHandler();
curLang.scanLang( location.search );