﻿<!--

/*

copyright: Petr Koci
email: p.koci@txtester.com
web: http://www.txtester.com
destination: Czech Republic 
version: 1.2
date: 20/11/2009 (DD/MM/YYYY)

01 - AppsSaveCookie(name,value)
02 - AppsReadCookie(name,default_value)
03 - clsCookies

04 - AppsGetUrlParams(url)
05 - AppsGetUrlParam(url,name)
06 - AppsSetUrlParam(url,name,new_value)

07 - AppsGetLang(url)
08 - AppsRefreshUrl
09 - webInitOptLang
 
*/


var gstrLn="";

//===[01]=======================================================================
function AppsSaveCookie(name, value){
var objC = new clsCookies;
objC.setCookie(name,value,365);
objC=null;
}


//===[02]=======================================================================
function AppsReadCookie(name, default_value){
var objC = new clsCookies;
var v = objC.getCookie(name);
objC=null;
if(v=="")v=default_value;
return(v);
}


//====[03]======================================================================= 
function clsCookies()
{
	//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	this.getCookie		= function(strName)
	{
		if(document.cookie.length>0){
  			var intStart=document.cookie.indexOf(strName + "=");
  			if(intStart>-1){ 
				intStart += strName.length+1;
    				var intEnd=document.cookie.indexOf(";",intStart);
    				if(intEnd==-1) intEnd=document.cookie.length
				var strValue =unescape(document.cookie.substring(intStart,intEnd));
				strValue=strValue.toString();
    				return strValue;
    			} 
  		}
		return "";
	}

	//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	this.setCookie		= function(strName,strValue,expiredays)
	{
		var exdate=new Date();
		exdate.setDate(exdate.getDate()+expiredays);
		document.cookie=strName+ "=" +escape(strValue)+((expiredays==null) ? "" : "; expires="+exdate.toGMTString());
	}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
}//end of class







//===[04]=======================================================================
function AppsGetUrlParams(url){
var i = url.indexOf("?",0);
var arr = new Array();

if(i<0){
	arr[0]=url;
	return(arr);
}

arr[0]=new Array("url",url.substr(0,i)); //vraci url pred otaznikem, bez otazniku
url=url.substr(i+1,url.length-i-1); //text za otazníkem, bez otazníku
var arrAnd=url.split("&");	//text rozsekám v místě znaku "&"
var arrRow;
for(i=0;i<arrAnd.length;i++){
	arrRow = arrAnd[i].split("=");	//radek s parametrem rozsekam na -  nazev /hodnota	
	arr[i+1]=arrRow;		
}
return(arr);
}


//===[05]=======================================================================
function AppsGetUrlParam(url, name){
var arr=AppsGetUrlParams(url);
if(arr.length<2) return("");
var i = 1;
for(i=1;i<arr.length;i++){
	if(arr[i][0]==name)return (arr[i][1]);	
}
return("");
}


//===[06]=======================================================================
function AppsSetUrlParam(url, name,new_value){
var arr=AppsGetUrlParams(url);

name=name.toString();
new_value=new_value.toString();

if(arr.length<2) return(url + "?" + name + "=" + new_value);

var i = 1;
var j=0;
var bolParamExist=false;

for(i=1;i<arr.length;i++){	
	if(arr[i][0]==name){
		arr[i][1]=new_value;	
		bolParamExist=true;
		break;
	}	
}

if(!bolParamExist)arr[arr.length]=new Array(name,new_value)

url=arr[0][1];
url+="?";
for(i=1;i<arr.length;i++){
	if(i>1)url+="&";
	url+=arr[i][0];
	url+="=";	
	url+=arr[i][1];
}	
return(url);
}


//===[07]=======================================================================
function AppsGetLang_OLD(url){
var ln=AppsGetUrlParam(url,"ln");
if(ln=="en"||ln=="cs")return(ln);
ln=AppsReadCookie("ln","");
if(ln=="en"||ln=="cs")return(ln);
if(navigator.userLanguage){
	ln=navigator.userLanguage;
	if(ln=="en"||ln=="cs")return(ln);	
}
return("");
}

//===[07]=======================================================================
function AppsGetLang(url){

//otestuju parametr ln v url
var ln=AppsGetUrlParam(url,"ln");

//pokud je parametr platný...
if(ln=="en"||ln=="cs")return(ln);

//pokud není parametr platný, testuji cookies ln
ln=AppsReadCookie("ln","");
if(ln=="en"||ln=="cs")return(ln);

//testuji jayzk prohlížeče
if(navigator.userLanguage){
	ln=navigator.userLanguage;
	if(ln=="en"||ln=="cs")return(ln);	
}

//vrátím defaultní řeč - English
return("en");
}


//===[08]=======================================================================
function AppsRefreshUrl(){
var objLink;
var i=0;
var t="";
var t2="";

for (i==0;i<document.links.length;i++){
	objLink=document.links[i];
	t=objLink.id;
	t=t.substr(0,4);
	t2=t.substr(0,3);
	if(t=="link" || t2=="ln-"){
		objLink.href=AppsSetUrlParam(objLink.href,"ln", gstrLn);
		//objLink.href=AppsSetUrlParam(objLink.href,"css", "pda");
		if(objLink.id=="ln-license")objLink.innerHTML="www.TXTester.com";
	}
}
}





//===[09]=======================================================================
function webInitOptLang(){
var par;
var opt;

//enumerator for languages
var Lang = {
	'English' : 'en' ,
	'Česky' : 'cs'
};


var ln;
for(ln in Lang){
	if(Lang[ln]!="en"){
		opt=document.createElement("option");
		opt.id=Lang[ln];
		opt.value=Lang[ln];
		opt.innerHTML=ln;
		par=document.getElementById("optLang");
		par.appendChild(opt);
	}
}
document.getElementById(gstrLn).selected="selected";
}


--> 