/* routines.js */

addLoadEvent(externalLinks);


function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    }
  }
}

// http://www.scottandrew.com/weblog/articles/cbs-events

function addEvent(obj, evType, fn){ 
 if (obj.addEventListener){ 
   obj.addEventListener(evType, fn, false); 
   return true; 
 } else if (obj.attachEvent){ 
   var r = obj.attachEvent("on"+evType, fn); 
   return r; 
 } else { 
   return false; 
 } 
}

function removeEvent(obj, evType, fn, useCapture){
  if (obj.removeEventListener){
    obj.removeEventListener(evType, fn, useCapture);
    return true;
  } else if (obj.detachEvent){
    var r = obj.detachEvent("on"+evType, fn);
    return r;
  } else {
    return false;
  }
}

function _id(id) {
	if (!document.getElementById) return;
	var obj = document.getElementById(id);
return obj;
}

function _tag(name,id,cls) {
	if (!document.getElementsByTagName) return;
	var obj = new Array();
	if (typeof(id) != 'undefined' && id !=0) {
	var scope = _id(id);
		if (typeof(cls) != 'undefined') {
			var j = 0;
			var allobj = scope.getElementsByTagName(name);
			for (var i=0; i < allobj.length; i++) {
				if (allobj[i].className == cls) {
					obj[j] = allobj[i];
					j++;
				}
			}
		}
		else {
			obj = scope.getElementsByTagName(name);
		}
	}
	else {
		if (typeof(cls) != 'undefined') {
			var j = 0;
			var allobj = document.getElementsByTagName(name);
			for (var i=0; i < allobj.length; i++) {
				if (allobj[i].className == cls) {
					obj[j] = allobj[i];
					j++;
				}
			}
		}
		else {
			obj = document.getElementsByTagName(name);
		}	
	}
	return obj;
}

// Thanks! http://www.sitepoint.com/article/standards-compliant-world	
function externalLinks() {
 if (!document.getElementsByTagName) return;
 var anchors = _tag('a',0,'ext');
 for (var i=0; i < anchors.length; i++) {
 if (anchors[i].getAttribute('href')) {
 anchors[i].target = '_blank'; }
 }
}

function toggle(obj) {
  var o = _id(obj);
  o.style.display = o.style.display != 'block' ? 'block' : 'none';
}

function freeze(buttonid) { if (document.getElementById(buttonid).style.display != 'none') document.getElementById(buttonid).style.display == 'none'; }

function unfreeze(buttonid) { if (document.getElementById(buttonid).style.display == 'none') document.getElementById(buttonid).style.display == 'inline'; }

function showhideBox (box, caller) {
	bb = document.getElementById(box);
	cc = document.getElementById(caller);
	
	if (bb.style.display != 'block') {
	bb.style.display = 'block'
	cc.style.display = 'none'
	}
	else {
	bb.style.display = 'none'
	cc.style.display = 'block'
	}
}

/***********************************************
* Textarea Maxlength script- Dynamic Drive (www.dynamicdrive.com)
* This notice must stay intact for legal use.
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

function ismaxlength(obj){
var mlength=obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : ""
if (obj.getAttribute && obj.value.length>mlength) {
obj.value=obj.value.substring(0,mlength); 
alert('A hozzászólás hossza legfeljebb 4000 karakter lehet.');
}
}

function checkLength(obj,len){
var mlength=len;
if (obj.getAttribute && obj.value.length>mlength) {
obj.value=obj.value.substring(0,mlength); 
alert('A hozzászólás hossza legfeljebb 4000 karakter lehet.');
}
}
