 


/***************************************************************************
* Functii JavaScript
***************************************************************************/

var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{

			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};

BrowserDetect.init();




function findElement(elementID) {
  var elem;
  if(document.getElementById) {// DOM
    elem = document.getElementById(elementID);
  } else if(document.all) { // old MSIE
      elem = document.all[elementID];
  } else if(document.layers) { // NN4
    elem = document.layers[elementID];
  } else {
  	elem = null;
  }
  return elem;
}
function findObj(elementID) {
  return findElement(elementID);
}
function showElement(elementID) {
	if(findElement(elementID)!=null) {findElement(elementID).style.display='block';}
}
function hideElement(elementID) {
	if(findElement(elementID)!=null) {findElement(elementID).style.display='none';}
}

function typePhoneNum(evt){
	var charCode = (evt.which) ? evt.which : event.keyCode; 
	if (charCode > 32 && (charCode < 46 || charCode > 57))	{return false;}
	else {return true;}
}
function typePositiveInteger(evt){
	var charCode = (evt.which) ? evt.which : event.keyCode; 
	if (charCode!=8 && charCode!=13 && charCode!=127 && (charCode < 48 || charCode > 57))	{return false;}
	else {return true;}
}

//
function checkIfContentLoaded(cVarName,elementID,url,pars) {
	var cVarValue = eval(cVarName);	
	if(cVarValue=="yes" && elementContainerID==null) {getElementContent(elementID,url,pars);}	
}
function getElementContent(elementID,url,pars) {
  var xhr = createXMLHttpRequest();
  findElement(elementID).innerHTML = '<img src="http://www.technoelectric.ro/_images/spacer.gif" border="0" class="loader" />';
  xhr.onreadystatechange = function() {  	
    if (xhr.readyState==4) { // Request finished
	  findElement(elementID).innerHTML = '';
      if (xhr.status==200) {
	  	var str_inner_html = findElement(elementID).innerHTML;
        str_inner_html += xhr.responseText;	
		str_inner_html = removeCRLF(str_inner_html);
		str_inner_html = replaceWideWithBasicASCII(str_inner_html);
		findElement(elementID).innerHTML = str_inner_html;
      } else {
        alert("Message returned, but with error status.");
      }
    }
  }
  xhr.open("get", url+'&'+pars, true);
  xhr.send(null);
}
function createXMLHttpRequest() {
  try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
  try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {}
  try { return new XMLHttpRequest(); } catch(e) {}
  alert("XMLHttpRequest not supported");
  return null;
}

function removeCRLF(str) {	
	if (BrowserDetect.browser=="Explorer") {
			}
	return str;
}

function replaceWideWithBasicASCII(str) { 
		str=str.replace(/／/gi, "/");
		str=str.replace(/﹡/gi, "*");
		//str=str.replace(/”/gi, "\"");
		//str=str.replace(/΄/gi, "'");
		str=str.replace(/％/gi, "%");
		str=str.replace(/＆/gi, "&");
		str=str.replace(/＋/gi, "+");
		str=str.replace(/＼/gi, "\\");
		str=str.replace(/＄/gi, "$");
		str=str.replace(/＜/gi, "<");
		str=str.replace(/＞/gi, ">");
		str=str.replace(/＝/gi, "=");
		str=str.replace(/？/gi, "?");
		str=str.replace(/＃/gi, "#");
		str=str.replace(/？/gi, "?");	
		str=str.replace(/＂/gi, "”");	
		str=str.replace(/＇/gi, "΄");
	return str;
}



// -----------------------------------------------------------------------------
// Globals
// Major version of Flash required
var requiredMajorVersion = 8;
// Minor version of Flash required
var requiredMinorVersion = 0;
// Revision of Flash required
var requiredRevision = 0;
// the version of javascript supported
var jsVersion = 1.0;

var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
jsVersion = 1.1;
// JavaScript helper required to detect Flash Player PlugIn version information
function JSGetSwfVer(i){
	// NS/Opera version >= 3 check for Flash plugin in plugin array
	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
      		var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
			descArray = flashDescription.split(" ");
			tempArrayMajor = descArray[2].split(".");
			versionMajor = tempArrayMajor[0];
			versionMinor = tempArrayMajor[1];
			if ( descArray[3] != "" ) {
				tempArrayMinor = descArray[3].split("r");
			} else {
				tempArrayMinor = descArray[4].split("r");
			}
      		versionRevision = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0;
            flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
      	} else {
			flashVer = -1;
		}
	}
	// MSN/WebTV 2.6 supports Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	// WebTV 2.5 supports Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	// older WebTV supports Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	// Can't detect in all other cases
	else {
		
		flashVer = -1;
	}
	return flashVer;
} 
/////////////////////////

// http://webreference.com/tools/browser/javascript.html

function getBrowserInfo(ua)
{
   function findName(){
      var m;
      if(ua.match(/cs\s*2000/)){
         browser.name="compuserve";
         if(ua.match(/gecko/)){
            browser.version=7;
         } else {
            browser.version=2000;
         }
         return;
      }
      
      var names=["opera","aol","konqueror","netscape","safari","msie"];
      for(var i=0;i<names.length;i++){
         var ns=names[i];
         if((m=ua.indexOf(ns))>=0){
            browser.name=ns;
            m=ua.substr(m+ns.length).match(/[ \/]*(\d+(\.\d+)?)/);
            if(m){ browser.version=parseFloat(m[1]);}
            return;
         }
      }
      if(ua.indexOf("gecko")>=0){
         if(ua.indexOf("firefox")>=0){
            browser.name="firefox";
         }else{
            browser.name="mozilla";
         }
         m=ua.match(/rv:(\d+(\.\d+)?)/);
         if(m){ browser.version=parseFloat(m[1]);}
         return;
      }
      m=ua.match(/mozilla[^\/]*\/(\d+(\.\d+)?)/);
      if(m){
         browser.name="mozcompat";
         browser.version=parseFloat(m[1]);
      }
   }
   function findOS(){
      ua=ua.replace(/[^a-z0-9.]+/g,"")
      ua="**" + ua.replace(/windows/g,"win");

      browser.platform="win";
      if(0<ua.indexOf("win9"))     { return browser.os="9x";}
      if(0<ua.indexOf("winnt5.1")){ return browser.os="xp";}
      if(0<ua.indexOf("winnt5.2")){ return browser.os="xp";}
      if(0<ua.indexOf("winxp"))    { return browser.os="xp";}
      if(0<ua.indexOf("winnt"))    { return browser.os="nt";}
      if(0<ua.indexOf("win"))      { return browser.os="";}

      if(0<ua.indexOf("macosx"))   { return (browser.platform="mac",browser.os="osx");}
      if(0<ua.indexOf("mac"))      { return (browser.platform="mac",browser.os="classic");}
      if(0<ua.indexOf("linux"))    { return browser.platform="linux";}
   }

   var browser={platform:"",os:"",name:"",version:0};
   if(!ua){
      ua=navigator.userAgent;
   }
   ua=ua.toLowerCase();
   findName();
   findOS();
   return browser;
}

// http://www.quirksmode.org/js/flash.html

function getFlashInfo(){
   var flash={ version : 0,versionString: "" }
   if(navigator.plugins && navigator.plugins.length){
      var plugin=navigator.plugins["Shockwave Flash"];
      if (plugin){
         flash.version=1;
         var p=plugin.description && plugin.description.match(/\d+.*/);
         if(p){
            flash.version=parseInt(p[0]);
            flash.versionString=p[0];
         }
      }
   }
   else if(navigator.mimeTypes && navigator.mimeTypes.length){
      var plugin=navigator.mimeTypes['application/x-shockwave-flash'];
      if (plugin && plugin.enabledPlugin){
         flash.version=1;
      }
   }
   else if (window.ActiveXObject){
      try {
         var t=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
         var v=t.GetVariable("$version");
         var m=v.match(/\d+.*/);
         flash.version=parseInt(m[0]);
         flash.versionString=v;
      } catch(e){}
   }
   return flash;
}

// http://www.macromedia.com/cfusion/knowledgebase/index.cfm?id=tn_14201

function hasWmode(){
   var browser=getBrowserInfo();
   var flash=getFlashInfo();

   if(flash.version<6){ return false;}
   if(browser.platform != "win" && browser.os != "osx"){ return false;}
      
   //Internet Explorer 3 or higher (Windows)
   if(browser.name == "msie" && browser.platform == "win" && browser.version >= 3.0)
      { return true;}
   //Internet Explorer 5.1* and 5.2* (Macintosh)
   if(browser.name == "msie" && browser.os == "osx" && browser.version >= 5.1)
      { return true;}
   //Netscape 7.0*
   if(browser.name == "netscape" && browser.version >= 7.0)
      { return true;}
   //Mozilla 1.0 or higher*
   if(browser.name == "mozilla" && browser.version >= 1.0)
      { /*return true;*/}
   //AOL*
   if(browser.name == "aol")
      { return true;}
   //compuserve
   if(browser.name == "compuserve")
      { return true;}
   // Safari 1.3+ (build 312=version 1.3)
   if(browser.name == "safari" && browser.version >= 312)
      { return true;}
      
   //firefox 1.3+
   if(browser.name == "firefox" && browser.version >= 1.3)
      { return true;}
      
   //opera 8+
   if(browser.name == "opera" && browser.version >= 8)
      { return true;}


   return false;
} 
