function getCompanyId(keyword, url)
{
// Funkce vrátí companyId ze souboru ids.xml
// Parametry: keyword - klíčové slovo mezi elementy <companyId>, relativní cesta(z HTML) k souboru ids.xml
/*
	if (document.implementation && document.implementation.createDocument)
	{
		var xmlDoc = document.implementation.createDocument("", 'doc', null);
	}
	else if (window.ActiveXObject)
	{
		var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
 	}
	else
	{
		return;
	}
  xmlDoc.async = false;
  xmlDoc.load(url);
*/
  if (window.ActiveXObject)
	{
		var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async = false;
    xmlDoc.load(url);
 	}
 	else
	{
		var xmlhttp = new window.XMLHttpRequest();
    xmlhttp.open("GET", url, false);
    xmlhttp.send(null);
    var xmlDoc = xmlhttp.responseXML.documentElement;
	}

  var companyId = "";
  var companyIds = xmlDoc.getElementsByTagName('companyId');

  for (var i = 0; i < companyIds.length; i++)
  {
	  if (companyIds[i].firstChild.data == keyword)
    {
			companyId = companyIds[i].getAttribute('id');
    }
	}
  return companyId;
}

function getExportId(keyword, url)
{
// Funkce vrátí exportId ze souboru ids.xml
// Parametry: keyword - klíčové slovo mezi elementy <exportId>, relativní cesta(z HTML) k souboru ids.xml
  var exportId = "";
  if (window.ActiveXObject)
	{
		var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async = false;
    xmlDoc.load(url);
 	}
 	else
	{
		var xmlhttp = new window.XMLHttpRequest();
    xmlhttp.open("GET", url, false);
    xmlhttp.send(null);
    var xmlDoc = xmlhttp.responseXML.documentElement;
	}

  var exportIds = xmlDoc.getElementsByTagName('exportId');

  for (var i = 0; i < exportIds.length; i++)
  {
	  if (exportIds[i].firstChild.data == keyword)
    {
			exportId = exportIds[i].getAttribute('id');
    }
	}
  return exportId;
}

function getUrlParam(name)
{
/*
Funkce vrací hodnotu GET parametru name
*/
  var url =  window.location.href.toString();
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp(regexS);
  var results = regex.exec(url);
  if( results == null )
    return "";
  else
    return results[1];
}

function getLinkParam(link, name)
{
/*
Funkce vrací hodnotu GET parametru name
*/
  var url =  link;
  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
  var regexS = "[\\?&]"+name+"=([^&#]*)";
  var regex = new RegExp(regexS);
  var results = regex.exec(url);
  if( results == null )
    return "";
  else
    return results[1];
}

function getSearchLink(localities)
{
/*
  Funkce vrátí searchový link s idecky ze souboru ids.xml
  Základní parametry si vezme ze souboru config/search_params.xml
  <domain value="http://www.jobs.cz/pd_search/search?"/>
	<param value="action=jd"/>
	<param value="design=kb_cs"/>
	<param value="brand=21200101&amp;brand=21200101"/>
	...
	<export value="karierni_sekce"/> or <cmpID value="CZ.designtemplates"/>
	Hodnoty export/@value a hodnoty cmpID/@value slouží jako vstupní proměnné (keyword) pro funkce getCompanyId a getExportId
*/
	if (document.implementation && document.implementation.createDocument)
	{
		var xmlDoc = document.implementation.createDocument("", 'doc', null);
	}
	else if (window.ActiveXObject)
	{
		var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
 	}
	else
	{
		return;
	}
  xmlDoc.async = false;
  xmlDoc.load("config/search_params.xml");
  
  var searchLink = "";
  var domain = xmlDoc.getElementsByTagName("domain");
  var exports = xmlDoc.getElementsByTagName("export");
  var cmpanys = xmlDoc.getElementsByTagName("cmpID");
  var elements = xmlDoc.getElementsByTagName("param");

  for (var i = 0; i < domain.length; i++)
  {
		searchLink += domain[i].getAttribute("value");
	}
	for (var i = 0; i < exports.length; i++)
  {
		searchLink += "exports="+getExportId(exports[i].getAttribute("value"), "ids.xml")+"&";
	}
	for (var i = 0; i < cmpanys.length; i++)
  {
		searchLink += "cmpID="+getCompanyId(cmpanys[i].getAttribute("value"), "ids.xml")+"&";
	}
  for (var i = 0; i < elements.length; i++)
  {
		searchLink += elements[i].getAttribute("value")+"&";
	}
	if(localities)
	{
    searchLink += "local="+localities;
  }
  window.location.href=searchLink;
}

function modifyLinks(domainName, ks) {
/*
Funkce pro modifikaci parametrů href tagu a u Karierních sekcí
Vstupní parametr domainName = název domény zákaznického řešení
Vstupní parametr ks = 0 / 1 (ne / ano) - karierní sekce
Funkci je nutno zavolat v headu window.onload = function(){modifyLinks('název domény, např. lmc.jobs.cz', 0 nebo 1)};
Funkce obalí odkazy směřující na domainName, searchové linky a asmt definicí javascript:link('vlastní odkaz');
*/
  if(ks == 1){
    var links = document.getElementsByTagName("a");
    for(i = 0; i < links.length; i++){
      var link = links[i].href;
      if(link.indexOf(domainName) > -1 || link.indexOf("/pd_search/") > -1 || link.indexOf("/asmt/") > -1 || link.indexOf("/g2.lmc.cz/") > -1){
        if(link.indexOf("javascript:") == -1 && link.indexOf("mailto:") == -1 && link.indexOf(".gif") == -1 && link.indexOf(".jpg") == -1 && link.indexOf(".jpeg") == -1 && link.indexOf(".pdf") == -1 && link.indexOf("acl0=") == -1) {
          links[i].href = "javascript:link('" + link + "');";
        }
      }
    }
  }
}

function cleanUrlFromBrandsAndMakeUrlWithOneBrand(address){
  var isBrand = address.indexOf('&brand=');
  var isOtherBrand = address.lastIndexOf('&brand=');

  if(isBrand == isOtherBrand){
    return address;
  }
  else
  {
    var r = new RegExp('&brand=(g2|jobs.cz|prace.cz|topjobs.sk)');
    var newAddress = address.replace(r, '');
    return cleanUrlFromBrandsAndMakeUrlWithOneBrand(newAddress);
  }
}

function cleanUrlFromEntryPoint(address){
  var isEP = address.indexOf('&ep=');
  if(isEP > -1){
    var r = new RegExp('&ep=.*');
    var newAddress = address.replace(r, '');
    return newAddress;
  }
  else
  {
    return address;
  }
}

function cleanUrlFromSources(address){
  var isSource = address.indexOf('source=');
  var newAddress = address;
  if(isSource > -1){
    var r = new RegExp('(source=(1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|jobs|prace|topjobs)(&))', "g");
    newAddress = address.replace(r, '');
  }
  return newAddress;
}

function cleanUrlFromBrands(address){
  var isBrand = address.indexOf('brand=');
  var newAddress = address;
  if(isBrand > -1){
    var r = new RegExp('((sourcebrand|brand)=(g2|jobs.cz|prace.cz|topjobs.sk)(&))', "g");
    var newAddress = newAddress.replace(r, '');
  }
  return newAddress;
}

function cleanUrlFromExportID(address){
  var isExportID = address.indexOf('exportID=');
  var newAddress = address;
  if(isExportID > -1){
    var r = new RegExp('exportID=', "g");
    var newAddress = newAddress.replace(r, 'oldEID=');
  }
  return newAddress;
}

function getSource(newSource) {
  if(!newSource && document.referrer || newSource !== "topjobs" && newSource !== "prace" && newSource !== "jobs" && +newSource != newSource && document.referrer)  {
  	if(document.referrer.indexOf(".topjobs.sk") != -1 || document.referrer.indexOf("/topjobs.sk") != -1) {
      newSource = 'topjobs';
    }
  	else if(document.referrer.indexOf(".prace.cz") != -1 || document.referrer.indexOf("/prace.cz") != -1) {
      newSource = 'prace';
    }
  	else if(document.referrer.indexOf(".jobs.cz") != -1 || document.referrer.indexOf("/jobs.cz") != -1 || document.referrer.indexOf(".hotjobs.cz") != -1 || document.referrer.indexOf("/hotjobs.cz") != -1) {
      newSource = 'jobs';
    }
    else if(document.referrer.indexOf(".sprace.cz") != -1 || document.referrer.indexOf("/sprace.cz") != -1) {
      newSource = '12';
    }
    else if(!isNaN(+newSource) && +newSource > 0) {
      newSource = +newSource;
    }
    else {
      newSource = '3';
    }
  }
  else if(!newSource || newSource == "") {
    newSource = '3';
  }

  return newSource;
/*
1-HN 
2-TT 
3-EXPORT_PUBLISHER - KS 
4-RESENT_PDJD 
5-CO 
6-POLAND 
7-HUNGARY 
8-BULGARIA 
9-ROMANIA 
10-PROFESIA_SK 
11-VLP 
12-SPRACE -- ? někdy 3
13-CVMARKET_LV 
14-CVMARKET_IT 
15-CVKESKUS_EE 
16-JOBMARKET 
17-ROBOTA 
18-RESPONSE_REACTION 
19-24H 
20-SUPERJOB_RU 
*/
}

function getBrand(newBrand) {
  if(!newBrand && document.referrer || newBrand !== "topjobs.sk" && newBrand !== "prace.cz" && newBrand !== "jobs.cz" && newBrand !== "g2" && document.referrer) {
  	if(document.referrer.indexOf(".topjobs.sk") != -1 || document.referrer.indexOf("/topjobs.sk") != -1) {
      newBrand = 'topjobs.sk';
    }
  	else if(document.referrer.indexOf(".prace.cz") != -1 || document.referrer.indexOf("/prace.cz") != -1) {
      newBrand = 'prace.cz';
    }
    else if(document.referrer.indexOf(".jobs.cz") != -1 || document.referrer.indexOf("/jobs.cz") != -1 || document.referrer.indexOf(".hotjobs.cz") != -1 || document.referrer.indexOf("/hotjobs.cz") != -1) {
      newBrand = 'jobs.cz';
    }
    else {
      newBrand = 'g2';
    }
  }
  else if(!newBrand || newBrand == "") {
    newBrand = 'g2';
  }
  return newBrand;
}

function getKotva(link) {
  var kotva = "";
  kotva = link.hash;
  return kotva;
}

function clearUrlFromKotva(link) {
  var newLink = "";
  var regular = new RegExp('#.*');
  newLink = link.replace(regular, '');
  return newLink;
}

function setSourcesToLinks(domainName, ks, exportId, externalBrand) {
/*
Funkce pro modifikaci parametrů href tagu a u Karierních sekcí
Vstupní parametr domainName = název domény zákaznického řešení
Vstupní parametr ks = 0 / 1 (ne / ano) - karierní sekce
Funkci je nutno zavolat v headu window.onload = function(){modifyLinks('název domény, např. lmc.jobs.cz', 0 nebo 1, exportId)}; nebo před tagem </body> modifyLinks('název domény, např. lmc.jobs.cz', 0 nebo 1, exportId);
Funkce obalí odkazy směřující na domainName, searchové linky a asmt definicí javascript:window.location('vlastní odkaz')+ přidání parametrů souurcesouurce / souurce, souurcebrand / brand a zdrojUrl / zdrojUrl;;
*/

  if(ks == 1) {

    var newExportId = getUrlParam('exportID');

    if(newExportId) {
      exportId = newExportId;
    }
    else if(!exportId) {
      exportId = getExportId(domainName, "karierni_sekce");
    }

    var url = cleanUrlFromEntryPoint(window.location.href.toString());
    url = cleanUrlFromBrandsAndMakeUrlWithOneBrand(url);

    var newSource = getUrlParam('sourcesource');
    if(!newSource || newSource == "") {
      newSource = getUrlParam('source');
    }
    var newBrand = getUrlParam('sourcebrand');
    if(!newBrand || newBrand == "") {
      var newBrand = getUrlParam('brand');
    } 
      
    var newTrackingBrand = getUrlParam('trackingBrand');
    if(!newTrackingBrand || newTrackingBrand == "") {
      if(document.referrer) {
        var refererUrl =  document.referrer;
        var pattern = new RegExp('^http://?([^/]+)');
        var resultReferer = pattern.exec(refererUrl);
        if (resultReferer != null) {
          newTrackingBrand = resultReferer[1];       
        }
      }
      else {
        var newTrackingBrand = 'unknown';
      }
    }

// Set Source
    newSource = getSource(newSource);
// Set Brand 
    newBrand = getBrand(newBrand);
    if(externalBrand && externalBrand != '') {
      newBrand = externalBrand;
    }

// Modify links "a"
    var links = document.getElementsByTagName("*");

    for(i = 0; i < links.length; i++){
      if(links[i].nodeName.toLowerCase() == "a" && links[i].href.indexOf("#TOP") == -1 || links[i].nodeName.toLowerCase() == "area" && links[i].href.indexOf("#TOP") == -1) {
 
        if(links[i].href.indexOf(domainName) > -1 || links[i].href.indexOf("/pd_search/") > -1 || links[i].href.indexOf("asmt") > -1 || links[i].href.indexOf("/g2.lmc.cz/") > -1 || links[i].href.indexOf("onrea.com") > -1 || links[i].href.indexOf('tcpdsearch:') > -1 || links[i].href.indexOf('.jobs.cz/lang/') > -1 || links[i].href.indexOf('.topjobs.sk/pd/') > -1 || links[i].href.indexOf('.jobs.cz/pd/') > -1){
          if(links[i].href.indexOf("javascript:") == -1 && 
             links[i].href.indexOf("mailto:") == -1 && 
             links[i].href.indexOf(".gif") == -1 && 
             links[i].href.indexOf(".jpg") == -1 && 
             links[i].href.indexOf(".jpeg") == -1 && 
             links[i].href.indexOf(".pdf") == -1 && 
             links[i].href.indexOf("acl0=") == -1 &&
             links[i].href.indexOf("pdjd_name=") == -1 &&
             links[i].href !== "#" ||
             links[i].href.indexOf("pdjd_name=") != -1 &&
             links[i].href.indexOf("encodeURI") != -1) {
             
            var newEntryPoint = getLinkParam(links[i].href, 'ep');
            if(!newEntryPoint) {
              newEntryPoint = "";
            }

            var newKotva = getKotva(links[i]);
            if(!newKotva) {
              newKotva = "";
            }

            links[i].href = clearUrlFromKotva(cleanUrlFromBrands(cleanUrlFromSources(cleanUrlFromEntryPoint(links[i].href))));
        
            var delimiter = "?";
            if(links[i].href.indexOf("?") > -1) {
              delimiter = "&";
            }
  
            //udržení source = 24 pouze u linků na ASMT
            if(newSource == "24" && links[i].href.indexOf('/asmt/') < 0){
              newSource = 3;
            }
  
            if(newSource == "3"){
              if(links[i].href.indexOf("/pd_search/") > -1) {
                links[i].href = links[i].href + delimiter + "sourcebrand="+newBrand+"&source="+newSource+"&trackingBrand="+newTrackingBrand;
              }
              else if(links[i].href.indexOf("/asmt/") > -1) {
                if(newSource == "3") {
                  if(links[i].href.indexOf("exportID=") > -1 && getUrlParam('exportID') != "") {
                    links[i].href = links[i].href + delimiter + "brand="+newBrand+"&sourcebrand="+newBrand+"&source="+newSource+"&trackingBrand="+newTrackingBrand+"&ep="+encodeURIComponent(newEntryPoint);
                  }
                  else {
                    links[i].href = cleanUrlFromExportID(links[i].href) + delimiter + "brand="+newBrand+"&sourcebrand="+newBrand+"&source="+newSource+"&exportID="+exportId+"&trackingBrand="+newTrackingBrand+"&ep="+encodeURIComponent(newEntryPoint);
                  }
                }
                else {
                  links[i].href = links[i].href + delimiter + "brand="+newBrand+"&sourcebrand="+newBrand+"&sourcesource="+newSource+"&trackingBrand="+newTrackingBrand+"&ep="+encodeURIComponent(newEntryPoint);
                }
              }
              else if(links[i].href.indexOf("/pd/") > -1 && links[i].href.indexOf(".prace.cz") == -1 && links[i].href.indexOf("/prace.cz") == -1 && links[i].href.indexOf(".jobs.cz") == -1 && links[i].href.indexOf("/jobs.cz") == -1 && links[i].href.indexOf(".topjobs.sk") == -1 && links[i].href.indexOf("/topjobs.sk") == -1) {
                links[i].href = links[i].href + delimiter + "sourcebrand="+newBrand+"&source="+newSource+"&exportRCM="+exportId+"&trackingBrand="+newTrackingBrand;
              }
              else {
                links[i].href = links[i].href + delimiter + "sourcebrand="+newBrand+"&source="+newSource+"&trackingBrand="+newTrackingBrand;
              }
            }
            else if(links[i].href.indexOf("/pd_search/") > -1) {
              links[i].href = links[i].href + delimiter + "sourcebrand="+newBrand+"&source="+newSource+"&trackingBrand="+newTrackingBrand;
            }
            else if(links[i].href.indexOf("/asmt/") > -1) {
              if(+newSource == newSource && newSource !== "3") {
                links[i].href = links[i].href + delimiter + "brand="+newBrand+"&source="+newSource+"&sourcebrand="+newBrand+"&sourcesource="+newSource+"&trackingBrand="+newTrackingBrand+"&ep="+encodeURIComponent(newEntryPoint);
              }
              else {
                links[i].href = links[i].href + delimiter + "brand="+newBrand+"&sourcebrand="+newBrand+"&sourcesource="+newSource+"&trackingBrand="+newTrackingBrand+"&ep="+encodeURIComponent(newEntryPoint);
              }
            }
            else if(links[i].href.indexOf("/pd/") > -1 && links[i].href.indexOf(".prace.cz") == -1 && links[i].href.indexOf("/prace.cz") == -1 && links[i].href.indexOf(".jobs.cz") == -1 && links[i].href.indexOf("/jobs.cz") == -1 && links[i].href.indexOf(".topjobs.sk") == -1 && links[i].href.indexOf("/topjobs.sk") == -1) {
              links[i].href = links[i].href + delimiter + "sourcebrand="+newBrand+"&source="+newSource+"&exportRCM="+exportId+"&trackingBrand="+newTrackingBrand;
            }
            else {
              links[i].href = links[i].href + delimiter + "sourcebrand="+newBrand+"&source="+newSource+"&trackingBrand="+newTrackingBrand;
            }
            
            coverStart = "javascript:window.location.href='";
            coverEnd = "';";
            links[i].href = coverStart+links[i].href+newKotva+coverEnd;
          }
          else if (links[i].href.indexOf("acl0=") != -1) {
            links[i].href = cleanUrlFromEntryPoint(links[i].href)+ "&trackingBrand="+newTrackingBrand;
          }
          else if (links[i].href == "#") {
            links[i].href = 'javascript:scrollTo(0,0);';
          }
        }
      }
    
      if(links[i].nodeName.toLowerCase() == "iframe") {
        if(links[i].src.indexOf(domainName) > -1 || links[i].src.indexOf("/pd_search/") > -1 || links[i].src.indexOf("asmt") > -1 || links[i].src.indexOf("/g2.lmc.cz/") > -1 || links[i].src.indexOf("onrea.com") > -1 || links[i].src.indexOf('tcpdsearch:') > -1 || links[i].src.indexOf('.jobs.cz/lang/') > -1 || links[i].src.indexOf('.topjobs.sk/pd/') > -1 || links[i].src.indexOf('.jobs.cz/pd/') > -1){
          if(links[i].src.indexOf("javascript:") == -1 && 
             links[i].src.indexOf("mailto:") == -1 && 
             links[i].src.indexOf(".gif") == -1 && 
             links[i].src.indexOf(".jpg") == -1 && 
             links[i].src.indexOf(".jpeg") == -1 && 
             links[i].src.indexOf(".pdf") == -1 && 
             links[i].src.indexOf("acl0=") == -1 && 
             links[i].src !== "#") {
  
            var newKotva = getKotva(links[i]);
            if(!newKotva) {
              newKotva = "";
            }
            links[i].src = clearUrlFromKotva(cleanUrlFromBrands(cleanUrlFromSources(cleanUrlFromEntryPoint(links[i].src))));
        
            var delimiter = "?";
            if(links[i].src.indexOf("?") > -1) {
              delimiter = "&";
            }
  
            //udržení source = 24 pouze u linků na ASMT
            if(newSource == "24" && links[i].href.indexOf('/asmt/') < 0){
              newSource = 3;
            }
            
            if(newSource == "3"){
              if(links[i].src.indexOf("/pd_search/") > -1) {
                links[i].src = links[i].src + delimiter + "sourcebrand="+newBrand+"&source="+newSource+"&trackingBrand="+newTrackingBrand;
              }
              else if(links[i].src.indexOf("/asmt/") > -1) {
                if(newSource == "3") {
                  if(links[i].src.indexOf("exportID=") > -1 && getUrlParam('exportID') != "") {
                    links[i].src = links[i].src + delimiter + "brand="+newBrand+"&sourcebrand="+newBrand+"&source="+newSource+"&trackingBrand="+newTrackingBrand;
                  }
                  else {
                    links[i].src = cleanUrlFromExportID(links[i].src) + delimiter + "brand="+newBrand+"&sourcebrand="+newBrand+"&source="+newSource+"&exportID="+exportId+"&trackingBrand="+newTrackingBrand;
                  }
                }
                else {
                  links[i].src = links[i].src + delimiter + "brand="+newBrand+"&sourcebrand="+newBrand+"&sourcesource="+newSource+"&trackingBrand="+newTrackingBrand;
                }
              }
              else if(links[i].src.indexOf("/pd/") > -1 && links[i].src.indexOf(".prace.cz") == -1 && links[i].src.indexOf("/prace.cz") == -1 && links[i].src.indexOf(".jobs.cz") == -1 && links[i].src.indexOf("/jobs.cz") == -1 && links[i].src.indexOf(".topjobs.sk") == -1 && links[i].src.indexOf("/topjobs.sk") == -1) {
                links[i].src = links[i].src + delimiter + "sourcebrand="+newBrand+"&source="+newSource+"&exportRCM="+exportId+"&trackingBrand="+newTrackingBrand;
              }
              else {
                links[i].src = links[i].src + delimiter + "sourcebrand="+newBrand+"&source="+newSource+"&trackingBrand="+newTrackingBrand;
              }
            }
            else if(links[i].src.indexOf("/pd_search/") > -1) {
              links[i].src = links[i].src + delimiter + "sourcebrand="+newBrand+"&source="+newSource+"&trackingBrand="+newTrackingBrand;
            }
            else if(links[i].src.indexOf("/asmt/") > -1) {
              if(+newSource == newSource && newSource !== "3") {
                links[i].src = links[i].src + delimiter + "brand="+newBrand+"&source="+newSource+"&sourcebrand="+newBrand+"&sourcesource="+newSource+"&trackingBrand="+newTrackingBrand;
              }
              else {
                links[i].src = links[i].src + delimiter + "brand="+newBrand+"&sourcebrand="+newBrand+"&sourcesource="+newSource+"&trackingBrand="+newTrackingBrand;
              }
            }
            else if(links[i].src.indexOf("/pd/") > -1 && links[i].src.indexOf(".prace.cz") == -1 && links[i].src.indexOf("/prace.cz") == -1 && links[i].src.indexOf(".jobs.cz") == -1 && links[i].src.indexOf("/jobs.cz") == -1 && links[i].src.indexOf(".topjobs.sk") == -1 && links[i].src.indexOf("/topjobs.sk") == -1) {
              links[i].src = links[i].src + delimiter + "sourcebrand="+newBrand+"&source="+newSource+"&exportRCM="+exportId+"&trackingBrand="+newTrackingBrand;
            }
            else {
              links[i].src = links[i].src + delimiter + "sourcebrand="+newBrand+"&source="+newSource+"&trackingBrand="+newTrackingBrand;
            }
            
            coverStart = "";
            coverEnd = "";
            links[i].src = coverStart+links[i].src+newKotva+coverEnd;
          }
          else if (links[i].src.indexOf("acl0=") != -1) {
            links[i].src = cleanUrlFromEntryPoint(links[i].src)+ "&trackingBrand="+newTrackingBrand;
          }
        }
      }
    }
//Create hidden inputs for searchforms
    var forms = document.getElementsByTagName("form");
    if(forms.length > 0) {
      for(i = 0; i < forms.length; i++){
//         if(forms[i].action.value == 'jd') {
        var exists = forms[i]['action'];
        if(exists && exists.value && exists.value == 'jd' || exists && !exists.value && exists.indexOf('/pd_search/') > -1) {
        
          //udržení source = 24 pouze u linků na ASMT
          if(newSource == "24" && links[i].href.indexOf('/asmt/') < 0){
            newSource = 3;
          }
        
          var inputsource = document.createElement('input');
          inputsource.setAttribute("type", "hidden");
          inputsource.setAttribute("name", "source");
          inputsource.setAttribute("value", newSource);
          var inputbrand = document.createElement('input');
          inputbrand.setAttribute("type", "hidden");
          inputbrand.setAttribute("name", "sourcebrand");
          inputbrand.setAttribute("value", newBrand);
          var inputtrackingbrand = document.createElement('input');
          inputtrackingbrand.setAttribute("type", "hidden");
          inputtrackingbrand.setAttribute("name", "trackingBrand");
          inputtrackingbrand.setAttribute("value", newTrackingBrand);
//           var inputentrypoint = document.createElement('input');
//           inputentrypoint.setAttribute("type", "hidden");
//           inputentrypoint.setAttribute("name", "ep");
//           inputentrypoint.setAttribute("value", newEntryPoint);
          forms[i].appendChild(inputsource);
          forms[i].appendChild(inputbrand);
          forms[i].appendChild(inputtrackingbrand);
//           forms[i].appendChild(inputentrypoint);
        }
      }
    }
  }
}

function getSourceToIframeRedirect(exportId) {
/*
Funkce vrátí query string s aktuálními zdroji, který se pak vloží za link pro redirect (IFRAMY)
*/
  if(!exportId) {
    exportId = "";
  }
  var newSource = getUrlParam('source');
  //udržení source = 24 pouze u linků na ASMT
  if(newSource == "24" && links[i].href.indexOf('/asmt/') < 0){
    newSource = 3;
  }
          
  var newBrand = getUrlParam('brand');
  var rcmId = '';
  if(getUrlParam('rcmid') != '') {
    rcmId = '&rcmid='+getUrlParam('rcmid');
  }
  var isRcm = '';
  if(window.location.href.toString().indexOf('isrcm') > -1) {
    isRcm = '&isrcm';
  }
  var newTrackingBrand = getUrlParam('trackingBrand');
  if(!newTrackingBrand || newTrackingBrand == "") {
    if(document.referrer) {
      var refererUrl =  document.referrer;
      var pattern = new RegExp('^http://?([^/]+)');
      var resultReferer = pattern.exec(refererUrl);
      if (resultReferer != null) {
        newTrackingBrand = resultReferer[1];       
      }
    }
    else {
      var newTrackingBrand = 'unknown';
    }
  }
// Set Source
  newSource = getSource(newSource);
// Set Brand 
  newBrand = getBrand(newBrand);

  var queryString = "?exportID="+exportId+"&source="+newSource+"&brand="+newBrand+"&trackingBrand="+newTrackingBrand+rcmId+isRcm;
  return queryString;
}

function createModal(content, lang) {
  var modalTextTitle = 'Dotazník není správně vyplněný';
  var modalButtonText = 'OK';
  if(!lang || lang != 'en' && lang != 'sk' && lang != 'ro' && lang != 'pl' && lang != 'de' && lang != 'hu' && lang != 'ua' && lang != 'at') {
    lang = 'cs';
  }
  else {
    if(lang == 'en'){
      modalTextTitle = 'The questionnaire is not filled correctly';
    }
    else if(lang == 'sk'){
      modalTextTitle = 'Dotazník nie je správne vyplnený';
    }
    else if(lang == 'ro'){
      modalTextTitle = 'Chestionarul nu este completat corect';
    }
    else if(lang == 'pl'){
      modalTextTitle = 'Kwestionariusz nie został wypełniony poprawnie';
    }
    else if(lang == 'de' || lang == 'at'){
      modalTextTitle = 'Der Fragebogen ist nicht korrekt abgeschlossen';
    }
    else if(lang == 'hu'){
      modalTextTitle = 'Kérdőív nem fejeződött be megfelelően';
    }
    else if(lang == 'ua'){
      modalTextTitle = 'Анкета не правильно заповнені';
    }
  }
  if(content) {
    var IE = isClientIE();
    var windowWidth = getWindowWidth();
    var windowHeight = getWindowHeight();
    
    if(IE == "6") {
      var selects = document.getElementsByTagName('select');
      for(i = 0; i < selects.length; i++) {
        selects[i].style.visibility = 'hidden';
      }
    }
    
    var objects = document.getElementsByTagName('object');
    for(i = 0; i < objects.length; i++) {
      objects[i].style.visibility = 'hidden';
    }

    var maskDiv = document.createElement("div");
    maskDiv.setAttribute("id", "MASK");
    maskDiv.setAttribute("onclick", "removeModal();");
    maskDiv.style.cursor = "pointer";
// 1.
    document.body.appendChild(maskDiv);
    
    var cssStyle = document.createElement('link');
    cssStyle.setAttribute('rel', 'stylesheet');
    cssStyle.setAttribute('type', 'text/css');
    cssStyle.setAttribute('media', 'screen,projection');
    cssStyle.setAttribute('href', 'http://presentation.lmc.cz/designtemplates/css/g2-modal.css');
    maskDiv.appendChild(cssStyle);

// ModalBox
    var modalBoxDiv = document.createElement("div");
    modalBoxDiv.setAttribute("id", "g2-modal");
    document.body.appendChild(modalBoxDiv);
    
    var modalContentCoverDiv = document.createElement("div");
    modalContentCoverDiv.setAttribute('id', 'g2-modalContentCover');
    var modalContentDiv = document.createElement("div");
    modalContentDiv.setAttribute('id', 'g2-modalContent');
    modalBoxDiv.appendChild(modalContentCoverDiv);
    modalContentCoverDiv.appendChild(modalContentDiv);
    
    var modalContentTitle = document.createElement("h1");
    modalContentTitle.innerHTML = modalTextTitle;
    var modalContent = document.createElement("div");
    modalContent.innerHTML = content;
    
    var modalFooterDiv = document.createElement("div");
    modalFooterDiv.setAttribute('id', 'g2-modalFooter');
    var modalContentSpan = document.createElement("span");
    var modalContentButton = document.createElement("a");
    modalContentButton.setAttribute('href', 'javascript:removeModal();');
    modalContentButton.setAttribute('id', 'g2-close');
    modalContentButton.setAttribute('class', 'g2-close');
    modalContentButton.innerHTML = modalButtonText;
    modalContentSpan.appendChild(modalContentButton);
    modalFooterDiv.appendChild(modalContentSpan);
    modalContentDiv.appendChild(modalContentTitle);
    modalContentDiv.appendChild(modalContent);
    
    modalBoxDiv.appendChild(modalContentCoverDiv);
    modalBoxDiv.appendChild(modalFooterDiv);
    
    if(IE == "6") {
      document.getElementsByTagName('html')[0].style.height = "100%";
      document.getElementsByTagName('html')[0].style.overflow = "hidden";
      document.body.style.height = "100%";
      document.body.style.overflow = "hidden";
      window.scrollTo(0,0);
    }
  }
}

function removeModal() {
  var mask = document.getElementById("MASK");
  if(mask) {
    mask.parentNode.removeChild(mask);
  }
  var modal = document.getElementById("g2-modal");
  if(modal) {
    modal.parentNode.removeChild(modal);
  }
  var IE = isClientIE();
  if(IE == "6") {
    var selects = document.getElementsByTagName('select');
    for(i = 0; i < selects.length; i++) {
      selects[i].style.visibility = 'visible';
    }
    document.getElementsByTagName('html')[0].style.height = "auto";
    document.getElementsByTagName('html')[0].style.overflow = "auto";
    document.body.style.height = "auto";
    document.body.style.overflow = "auto";
  }
  var objects = document.getElementsByTagName('object');
  for(i = 0; i < objects.length; i++) {
    objects[i].style.visibility = 'visible';
  }
}

function getWindowWidth() {
  var windowWidth = 0;
  if( typeof(window.innerWidth) == 'number' ) {
    //Non-IE
    windowWidth = window.innerWidth;
  }
  else if( document.documentElement && ( document.documentElement.clientWidth ) ) {
    //IE 6+ in 'standards compliant mode'
    windowWidth = document.documentElement.clientWidth;
  }
  else if( document.body && ( document.body.clientWidth) ) {
    //IE 4 compatible
    windowWidth = document.body.clientWidth;
  }
  return windowWidth;
}

function getWindowHeight() {
  var windowHeight = 0;
  if( typeof(window.innerWidth) == 'number' ) {
    //Non-IE
    windowHeight = window.innerHeight;
  }
  else if( document.documentElement && ( document.documentElement.clientHeight ) ) {
    //IE 6+ in 'standards compliant mode'
    windowHeight = document.documentElement.clientHeight;
  }
  else if( document.body && ( document.body.clientHeight ) ) {
    //IE 4 compatible
    windowHeight = document.body.clientHeight;
  }
  return windowHeight;
}

function isClientIE() {
  if(window.navigator.appName.indexOf('Microsoft') > -1) {
    if(window.navigator.appVersion.indexOf('MSIE 6') > -1){
      return "6";
    }
    else if(window.navigator.appVersion.indexOf('MSIE 7') > -1){
      return "7";
    }
    if(window.navigator.appVersion.indexOf('MSIE 8') > -1){
      return "8";
    }
    if(window.navigator.appVersion.indexOf('MSIE 9') > -1){
      return "9";
    }
  }
  return false;
}