/** 
* Gets document language from html tag 
* @return {String}	Returns document language
*/
function getLang() { return document.getElementsByTagName('html')[0].getAttribute('lang'); }

/** 
* Includes javascript file 
* @return {Void}	Returns nothing
*/
function include(filename)
{
	var head = document.getElementsByTagName('head')[0];
	
	script = document.createElement('script');
	script.src = filename;
	script.type = 'text/javascript';
	
	head.appendChild(script)
}

/**
 * Sets a Cookie with the given name and value.
 *
 * name       Name of the cookie
 * value      Value of the cookie
 * [expires]  Expiration date of the cookie (default: end of current session)
 * [path]     Path where the cookie is valid (default: path of calling document)
 * [domain]   Domain where the cookie is valid
 *              (default: domain of calling document)
 * [secure]   Boolean value indicating if the cookie transmission requires a
 *              secure transmission
 */
function setCookie(name, value, expires, path, domain, secure) {
    document.cookie= name + "=" + encodeURIComponent(value) +
        ((expires) ? "; max-age=" + expires : "") +
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        ((secure) ? "; secure" : "");
}

/**
 * Gets the value of the specified cookie.
 *
 * name  Name of the desired cookie.
 *
 * Returns a string containing value of specified cookie,
 *   or null if cookie does not exist.
 */
function getCookie(name) {
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1) {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    } else {
        begin += 2;
    }
    var end = document.cookie.indexOf(";", begin);
    if (end == -1) {
        end = dc.length;
    }
    return decodeURIComponent(dc.substring(begin + prefix.length, end));
}

/**
 * Deletes the specified cookie.
 *
 * name      name of the cookie
 * [path]    path of the cookie (must be same as path used to create cookie)
 * [domain]  domain of the cookie (must be same as domain used to create cookie)
 */
function deleteCookie(name, path, domain) {
    if (getCookie(name)) {
        document.cookie = name + "=" +
            ((path) ? "; path=" + path : "") +
            ((domain) ? "; domain=" + domain : "") +
            "; expires=Thu, 01-Jan-70 00:00:01 GMT";
    }
}

/**
 * Test if cookies are enabled.
 *
 * @return bool	Returns browser's cookie status
 */
function testCookies()
{
	// Use navigator.cookieEnabled if this browser defines it
	if (navigator.cookieEnabled != undefined) return navigator.cookieEnabled;
	
	// Otherwise, create a test cookie with a lifetime
	setCookie('test-cookie', 'test', 10000);
	
	// Now see if that cookie was saved
	var cookies = document.cookie;
	if (cookies.indexOf("test-cookie=test") == -1)
	{
		// The cookie was not saved
		return false;
	}
	else
	{
		// Cookie was saved, so we've got to delete it before returning
		deleteCookie('test-cookie');
		return true;
	}
}


