//=======================BROWSER DETEKTÁLÁS=====================
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: "Chrome",
			identity: "Chrome"
		},
		{ 	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();
//=======================BROWSER DETEKTÁLÁS VÉGE=====================



function popUp(URL,w,h) {
            day = new Date();
            id = day.getTime();
            eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=' + w + ',height=' + h + ',left = 290,top = 112');");
}

//LINKEDLIST START
//Ez a from-ban kijelölteket áthelyezi a to-ba a from és a to a HTML elemek id-je
function move(from, to)
{
      var src = document.getElementById(from);
      var dst = document.getElementById(to);
      
      var size = src.options.length;
      
      for (var i = 0; i < size; i++){ 
              if (src.options[ i ].selected){
                      if(BrowserDetect.browser == "Firefox"){
                        dst.options[ dst.options.length ] = src.options[ i ];
                      }else{
                        dst.options.appendChild(src.options[ i ]);
                      }
                      //src.options[ i ] = null;

			size--;
			i--;

              }
      }
}
//LINKEDLIST VÉGE



//RECURSIVECOMBO START
var toClear = new Array();

//Ez elhideol mindenkit, és megjeleníti a kiválasztottat
function showrecur(target, source)
{
      var i=0;
      while(document.getElementById(target + '_' + i) != null){
            document.getElementById(target + '_' + i).style.display = 'none';
            
            toClear[toClear.length] = target + '_' + i;
            
            i++;
            if(i > 150) break; //watchdog
      }
      
      if(document.getElementById(target + '_' + document.getElementById(source).value) != null){
            document.getElementById(target + '_' + document.getElementById(source).value).style.display = 'inline';
      }
      
}

//Ez minden hidden-t kipucol a DOM-ból, hogy ne legyen Name conflict a postolt adatban
function clearrecur(target)
{
      var i=0;
      while(document.getElementById(target + '_' + i) != null){
            if(document.getElementById(target + '_' + i).style.display == 'none'){
                  var element = document.getElementById(target + '_' + i);
                  element.parentNode.removeChild(element);
            }
            i++;
            if(i > 150) break; //watchdog
      }
      return true;
}
//RECURSIVECOMBO VÉGE


//LIMITED TEXTAREA ELEJE

function textCounter(field, countfield, maxlimit) {
	if (field.value.length > maxlimit) // if too long...trim it!
	field.value = field.value.substring(0, maxlimit);
	// otherwise, update 'characters left' counter
	else 
	countfield.value = maxlimit - field.value.length;

}

//LIMITED TEXTAREA VEGE





function formValidate(nev)
{
  
  var recurs = document.getElementsByName('recursive');
  
  for(var i=0;i<recurs.length;i++){
      clearrecur(recurs[ i ].value); //RECURSIVECOMBO: Kipucoljuk a nem kiválasztott diveket, hogy ne legyen Name conflict a postolt adatban
      var j=0;
      
      while(true){
            if(document.getElementsByName(recurs[ i ].value + '_' +j).length == 0){
                  //alert('no items');
                  break;
            }
            
            if(document.getElementsByName(recurs[ i ].value + '_' +j)[0].selectedIndex <= 0){
                  hiba = 1;
                  //alert('unselected!');
            }
            j++;
            if(j>400){
                  //alert('j is bigger than 400');
                  break;
            }
      }
  }
  
  
  
  eval('var form_fields=form_'+nev+'_fields;');
  eval('var form_types=form_'+nev+'_types;');
  eval('var form_req=form_'+nev+'_req;');
  eval('var form_valdata=form_'+nev+'_valdata;');  
  var n=form_fields.length;
  var i;
  var hiba=0;
  var ok=1;
  var ehiba=0;
  for (var a=0;a<n;a++) {
	hiba=0;
  	if (form_req[a]) {
		//alert(form_types[a]);
  		switch (form_types[a]) {
  			case 'password':
  				  if (document.getElementById(nev+form_fields[a]).value!=document.getElementById(nev+form_fields[a]+'2').value) hiba=1;  				  
  			case 'text':
  			case 'textarea':  			 				  
  				  var s=document.getElementById(nev+form_fields[a]).value;  				  
  				  if (isNaN(form_valdata[a])) {  				  	  				  	
					if (!s.match(form_valdata[a])) hiba=1;
  				  } else {  				  	
  				  	if (s.length<form_valdata[a]) hiba=1;
  				  }  				  
  				break;	
  			case 'combobox':
  				  var s=document.getElementById(nev+form_fields[a]).value;  				  
				  if(s.length < 1) hiba=1;
				break;
  			case 'select':
  				if (document.getElementById(nev+form_fields[a]).options[0].selected) hiba=1;
  				break;
  			case 'date':
  				  var y=document.getElementById(nev+form_fields[a]+'y').value;
  				  var d=document.getElementById(nev+form_fields[a]+'d').value;
  				  var m=document.getElementById(nev+form_fields[a]+'m').value;
  				  if (y<1900) hiba=1;  				  
				  if (DaysC(m)<d) hiba=1;
				  if (m==2) {
				  	if (daysInFebruary(y)<d) hiba=1;
				  }  				  
  				break;
  			case 'checkbox':
  				 if (!document.getElementById(nev+form_fields[a]).checked) hiba=1;
  				break;
  			case 'radio':
  				  var td=document.getElementById('td'+nev+form_fields[a]);
  				  var r_ok=false;
  				  for( var x = 0; td.childNodes[x]; x++ ) 
  				  	if (td.childNodes[x].nodeName=='INPUT')
  				  		if (td.childNodes[x].checked) r_ok=true;
  				  if (r_ok==false) hiba=1; 
  				break;
  			case 'linkedlist':
 				if (document.getElementById(nev+form_fields[a]+'target').length == 0) hiba=1;
				break;
                        case 'recursivecombo':
 				alert('INCASE: ' +form_fields[a]);
  				break;
                        case 'tpl':
  			case 'tplleft':
  			case 'tplright':
  			case 'headertext':
  			
  			case 'limitedtextarea': 
  				if(document.getElementById(nev+form_fields[a]).value.length == 0) {
  					hiba = 1;
  				}
  				  				
  				break;
  				
  			default: hiba=0;
  					 break;
  		}
  		//alert(hiba);
  	}
  	if ((form_types[a]!='headertext')&&(form_types[a]!='tpl')&&(form_types[a]!='tplright')&&(form_types[a]!='tplleft')) {
	  	if (hiba==1) {  		  		
	  		document.getElementById('td'+nev+form_fields[a]).className='formValidateError';
			if(ehiba==0){
			alert('Hiba a bevitt adatokban!!');
	  		document.getElementById(nev+form_fields[a]).focus();
			ehiba=1;
			}
	  		ok=0;
	  	} else {
	  		document.getElementById('td'+nev+form_fields[a]).className='';
	  	}
  	}
  }
  return ok==1;
}




function daysInFebruary (year)
{
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}

function DaysC(n) {
	for (var i = 1; i <= 12; i++) {
		this[i] = 31
		if (i==4 || i==6 || i==9 || i==11) {this[i] = 30}
		if (i==2) {this[i] = 29}
   } 
   return this[n];
}

//ComboBox
<!--
var fActiveMenu = false;
var oOverMenu = false;

function mouseSelect(e)
{
	if (fActiveMenu)
	{
		if (oOverMenu == false)
		{
			oOverMenu = false;
			document.getElementById(fActiveMenu).style.display = "none";
			fActiveMenu = false;
			return false;
		}
		return false;
	}
	return true;
}

function menuActivate(idEdit, idMenu, idSel)
{
	if (fActiveMenu) return mouseSelect(0);

	oMenu = document.getElementById(idMenu);
	oEdit = document.getElementById(idEdit);
	nTop = oEdit.offsetTop + oEdit.offsetHeight;
	nLeft = oEdit.offsetLeft;
	while (oEdit.offsetParent != document.body)
	{
		oEdit = oEdit.offsetParent;
		nTop += oEdit.offsetTop;
		nLeft += oEdit.offsetLeft;
	}
	oMenu.style.left = nLeft;
	oMenu.style.top = nTop;
	oMenu.style.display = "";
	fActiveMenu = idMenu;
	document.getElementById(idSel).focus();
	return false;
}

function textSet(idEdit, text)
{
	document.getElementById(idEdit).value = text;
	oOverMenu = false;
	mouseSelect(0);
	document.getElementById(idEdit).focus();
}

function comboKey(idEdit, idSel)
{
	if (window.event.keyCode == 13 || window.event.keyCode == 32)
		textSet(idEdit,idSel.value);
	else if (window.event.keyCode == 27)
	{
		mouseSelect(0);
		document.getElementById(idEdit).focus();
	}
}
document.onmousedown = mouseSelect;

//-->
