/**
*   Peti altalanos fuggvenyei
*   
*/
var agt = navigator.userAgent.toLowerCase();
var is_op = (agt.indexOf("opera") != -1);
var is_ie = (agt.indexOf("msie") != -1) && document.all && !is_op;
var is_ie5 = (agt.indexOf("msie 5") != -1) && document.all && !is_op;
var IE = is_ie?true:false

if (!Array.prototype.indexOf){
  Array.prototype.indexOf = function(elt /*, from*/){
    var len = this.length;
    var from = Number(arguments[1]) || 0;
    from = (from < 0)
         ? Math.ceil(from)
         : Math.floor(from);
    if (from < 0)
      from += len;

    for (; from < len; from++){
      if (from in this &&
          this[from] === elt)
        return from;
    }
    return -1;
  }
}

String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}

COMMON  = function () {        
    
    COMMON.prototype.timer = 0;    
    COMMON.prototype.inputId = '';
    COMMON.prototype.url = '';
    COMMON.prototype.obj = '';       
    
    COMMON.prototype.openNewWin2  = function(url,w,h){
        var newwin = window.open(url,"newpage","menubar=no, toolbar=no, location=no, directories=no, scrollbars=yes, resizable=yes ,width="+w+", height="+h+", top=50, left=50, status=no");
        try{
            newwin.focus();
        }catch(e){
            alert('Popup blocked!Please check your popup blocker!');
        }
        return false;
    }    
    
    //konyvjelzo
    COMMON.prototype.addToBookmark = function(url,title){            
        if (window.sidebar) { 
            window.sidebar.addPanel(title, url,"");
        } else if( window.external ) { 
            window.external.AddFavorite( url, title); }
        else if(window.opera && window.print) { 
            return true;     
        }
    }
    
    COMMON.prototype.ajax = function(url,action) {    
        try {
    		xmlhttp = window.XMLHttpRequest?new XMLHttpRequest(): new ActiveXObject("Microsoft.XMLHTTP"); 
    	} catch (e) { 
    		alert('Sorry! Your browser is too old. Please upgrade.\n\nVisit: mozilla.com/');
    	} 		
    	xmlhttp.onreadystatechange = action; 		
    	xmlhttp.open("GET", url, true); 		
    	xmlhttp.send(null);          
    }
    
    
    //paramsearch keres mezojeben beirva hivjuk meg
    COMMON.prototype.checkInput = function(input,url){
        this.url = url;
        this.inputId = input;
		document.getElementById(com.inputId+'result').style.display = 'none';
        if(com.timer == 0){
          com.timer = window.setTimeout(function() {                
                com.ajax('/?ajax=1&block='+com.url+'&value=' + document.getElementById(''+com.inputId).value, com.showCheckInput);                
            },500
          );        
        }
    }

    //visszakapot eredmenyek feldolgozasa
    COMMON.prototype.showCheckInput = function(){
        if ((xmlhttp.readyState == 4) && (xmlhttp.status == 200)) {
            com.timer = 0;  
            if(xmlhttp.responseText.length>0){
    			document.getElementById(com.inputId+'result').style.display = 'block';
                document.getElementById(com.inputId+'result').innerHTML = xmlhttp.responseText;                
            }
        }
    }
    
    COMMON.prototype.showDropDown = function(objid){
        var obj = document.getElementById(''+objid);
        if(obj.style.display == 'block'){
            obj.style.display = 'none';
        }else{
            obj.style.display = 'block';   
        }
    }
    
    
    COMMON.prototype.ajaxCall = function(block, objid){
        this.obj = document.getElementById(''+objid);
        this.obj.style.display = 'block';
        this.obj.innerHTML = 'Kérem várjon ... ';
        this.ajax('/?ajax=1&block='+block,com.ajaxCallResults);
    }
    
    //visszakapot ajax hivas kiiras
    COMMON.prototype.ajaxCallResults = function(){
        if ((xmlhttp.readyState == 4) && (xmlhttp.status == 200)) {            
            com.obj.innerHTML = xmlhttp.responseText; 
        }
    }
    
    //layer bezaras
    COMMON.prototype.closeResults = function(){        
            com.obj.display = 'none';         
    }

    //cimke valaszto
    COMMON.prototype.selectTag = function(tag,inputField){
        var isTagExits = false;
        var tags = document.getElementById(inputField).value.split(',');
        for(i=0;i<tags.length;i++){
            if(tags[i].trim() == tag) isTagExits = true;        
        }
        
        if(!isTagExits){ 
            var commaPos = document.getElementById(inputField).value.length - document.getElementById(inputField).value.lastIndexOf(',');
            if( commaPos != 1 && commaPos != 2){
                document.getElementById(inputField).value += ', ';             
            }
            document.getElementById(inputField).value += tag + ', '; 
        }
    }
    
    //fules cserelo
    COMMON.prototype.TabSelect = function(tabs,active){
        var oList = document.getElementById(tabs+'');
        var listNo = 1;
        for (j = 0; j < oList .childNodes.length; j++){
            var oP = oList.childNodes[j];
            if (oP.nodeName == "A"){            
                if(IE) oP.setAttribute('className','');
                else oP.className = '';
                if(listNo == active) if(IE) oP.setAttribute('className','active');else oP.className = 'active';
                listNo++;
            }
        }        
        return false;
    }
    
    //font allito
        
    COMMON.prototype.setFont = function(cikkObj,font_size){
        /*var font_size = 11;
        var MAX = 14;
        var MIN = 10;

        font_size += num;
        if(font_size > MAX){
            font_size = MAX;
        }
        
        if(font_size < MIN) {
            font_size = MIN;
        }  */
        var oParagraphDiv = document.getElementById(cikkObj + "");
        oParagraphDiv.style.fontSize = font_size + "px";    
        for (j = 0; j < oParagraphDiv.childNodes.length; j++){
            var oP = oParagraphDiv.childNodes[j];
            if ((oP.nodeName == "P") || (oP.nodeName == "A")){
                oP.style.fontSize = font_size + "px";    
            }
            //console.log(oP.nodeName);
            /*if((oP.nodeName == "DIV")){
                for (k = 0; k < oP.childNodes.length; k++){
                    var oP2 = oP.childNodes[j];
                    if ((oP2.nodeName == "P") || (oP2.nodeName == "A")){
                        oP2.style.fontSize = font_size + "px";    
                    }                
                }
            }*/
        } 
        //document.getElementById("contentTitleCikkLead").childNodes[0].style.fontSize = font_size + "px";
    }
    
    COMMON.prototype.readCookie = function(name) {
    	var nameEQ = name + "=";
    	var ca = document.cookie.split(';');
    	for(var i=0;i < ca.length;i++) {
    		var c = ca[i];
    		while (c.charAt(0)==' ') c = c.substring(1,c.length);
    		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    	}
    	return false;
    }


}

/**
*   Popuplayer v2
*/

var POPUPLAYER = {};

POPUPLAYER = function () {
    //block amit be kell tolteni es parameterek
    POPUPLAYER.prototype.block = '';
    POPUPLAYER.prototype.param = '';
    POPUPLAYER.prototype.paramhistory = '';
    POPUPLAYER.prototype.blockhistory = '';
    POPUPLAYER.prototype.xmlhttp = '';
    //keprenyo meret
    POPUPLAYER.prototype.getPageSize = function (){
    	var xScroll, yScroll;

    	if (window.innerHeight && window.scrollMaxY) {
    		xScroll = document.body.scrollWidth;
    		yScroll = window.innerHeight + window.scrollMaxY;
    	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
    		xScroll = document.body.scrollWidth;
    		yScroll = document.body.scrollHeight;
    	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
    		xScroll = document.body.offsetWidth;
    		yScroll = document.body.offsetHeight;
    	}

    	var windowWidth, windowHeight;
    	if (self.innerHeight) {	// all except Explorer
    		windowWidth = self.innerWidth;
    		windowHeight = self.innerHeight;
    	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
    		windowWidth = document.documentElement.clientWidth;
    		windowHeight = document.documentElement.clientHeight;
    	} else if (document.body) { // other Explorers
    		windowWidth = document.body.clientWidth;
    		windowHeight = document.body.clientHeight;
    	}

    	// for small pages with total height less then height of the viewport
    	if(yScroll < windowHeight){
    		pageHeight = windowHeight;
    	} else {
    		pageHeight = yScroll;
    	}

    	// for small pages with total width less then width of the viewport
    	if(xScroll < windowWidth){
    		pageWidth = windowWidth;
    	} else {
    		pageWidth = xScroll;
    	}

        var scrOfX = 0, scrOfY = 0;
        if( typeof( window.pageYOffset ) == 'number' ) {
            //Netscape compliant
            scrOfY = window.pageYOffset;
            scrOfX = window.pageXOffset;
        } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
            //DOM compliant
            scrOfY = document.body.scrollTop;
            scrOfX = document.body.scrollLeft;
        } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
            //IE6 standards compliant mode
            scrOfY = document.documentElement.scrollTop;
            scrOfX = document.documentElement.scrollLeft;
        }

    	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight,xScroll,yScroll,scrOfX,scrOfY);
    	return arrayPageSize;
    }

    //egy div atteszore allitas. param: div nev, opacity %
    POPUPLAYER.prototype.setOpacity = function(a, b){
        if(b<0){b=0;} if(b>100){b=100;}
        var c=b/100;
        var d=document.getElementById(a);
        if(typeof(d.style.filter)=='string'){d.style.filter='alpha(opacity:'+b+')';}
        if(typeof(d.style.KHTMLOpacity)=='string'){d.style.KHTMLOpacity=c;}
        if(typeof(d.style.MozOpacity)=='string'){d.style.MozOpacity=c;}
        if(typeof(d.style.opacity)=='string'){d.style.opacity=c;}
    }



    //layerek body ala szurasa, ha mar bent vannak akkor megmutatas
    POPUPLAYER.prototype.init = function(){
        //var pageSize = this.getPageSize();
        
        //probaljuk meg megmutatni a layereket. Ha nem sikerul akkor hozzuk letre
        try{
            document.getElementById('popup').style.display = 'block';
            /*document.getElementById('popuplayer').style.display = 'block';
            document.getElementById('popuplayer').style.top = (pageSize[7] + 50) + 'px';
            document.getElementById('popuplayerback').style.height = pageSize[1] + 'px';*/
        }catch(e){
            var objBody = document.getElementsByTagName("body").item(0);
            var a = document.createElement('div');
            a.innerHTML = '<div class="container"><div class="content"><div class="title" id="popuptitleframe"><span class="fleft" id="popuptitle">&nbsp;</span><a href="javascript:popuplayer.hide()" title="Close"><img src="/static/sportorvos/imgs/popup_close.gif" alt="x" class="fright"/></a><br /></div><div id="popupcontent">&nbsp;</div></div></div><div class="foot"></div>';
            a.setAttribute('id','popup');
            objBody.insertBefore(a, objBody.firstChild);
            DragHandler.attach(document.getElementById('popup'), document.getElementById('popuptitleframe'));
            this.resizeBack();
        }
    }

    //toltes effect
    POPUPLAYER.prototype.setLoading = function(){
        //ha van form akkor csak rejtsuk el
        /*var effect = '<p style="padding:100px;"><img src="/data/img/popup_loading.gif"></p>';
        if(this.form){
            //document.getElementById('popupcontent').innerHTML += effect;
            document.getElementById('popupcontent').style.display = 'none';
            //this.form.style.display = 'none';
        }else{
            document.getElementById('popupcontent').innerHTML = effect;
        }*/
        if(this.form){
            this.setTitle('<img src="/i/ajax_load.gif" /> <span style="font-weight:normal">Adatok küldése ...</span>');
        }else{
            this.setTitle('<img src="/i/ajax_load.gif" /> <span style="font-weight:normal">Betöltés folyamatban ...</span>');
        }
    }

    //popup bezar
    POPUPLAYER.prototype.hide = function(){
        //document.getElementById('popuplayerback').style.display = 'none';
        document.getElementById('popup').style.display = 'none';
        document.getElementById('popupcontent').innerHTML = '';
    }
    
    //title
    POPUPLAYER.prototype.setTitle = function(title){
        document.getElementById('popuptitle').innerHTML = title;
    }

    //ajax init, ha bongeszo nem tamogatja az ajaxot akkor atdobjuk a nem layeres verziora
    POPUPLAYER.prototype.ajax = function(){
        var url = '/index.php?ajax=1&block=' + this.block + '&' + this.param;
        try {
    		this.xmlhttp = window.XMLHttpRequest?new XMLHttpRequest(): new ActiveXObject("Microsoft.XMLHTTP");
    	} catch (e) {
    		//Ha nincs ajax akkor atdobjuk a usert a block oldalra
            window.location = url;
    	}
        
    	this.xmlhttp.onreadystatechange = this.showResults;
    	this.xmlhttp.open("GET", url, true);
    	this.xmlhttp.send(null);

    }

    POPUPLAYER.prototype.form = '';

    //ajax post form. Elkuldi a megadott form-ot postba. Ha van fajlfeltolto iframe akkor eloszor azt kuldi majd postolja az adatokat
    POPUPLAYER.prototype.post = function(formObj){
        if(formObj) this.form = formObj;

            //fajl feltoltes
            var i=0;
            var element = false;
            var regexp = /^fileupload_name_(.*)/i;
            var fileuploadName = false;
            var iframe = false;
            try {
				tinyMCE.triggerSave(false,true);
            } catch(e) {}
            for(i=0; i<this.form.elements.length; i++) {
                element = this.form.elements[i];
                if(regexp.test(element.id)) {
                    fileuploadName = element.id.replace(regexp, '$1');
                    iframe = document.getElementById('fileupload_iframe_'+fileuploadName);
                    if(iframe) {
                      try{
                        iframe.contentDocument.getElementById('uploadform').value;
                        iframe.contentDocument.getElementById('uploadform').onsubmit();
                        iframe.contentDocument.getElementById('uploadform').submit();
                        return false;
                      }catch(e) {}
                      try {
                        iframe.contentWindow.document.getElementById('uploadform').value;
                        iframe.contentWindow.document.getElementById('uploadform').onsubmit();
                        iframe.contentWindow.document.getElementById('uploadform').submit();
                        return false;
                      } catch(e) {}
                    }

                }
            }

            var url = '/index.php?ajax=1&block=' + this.block + '&' + this.param;
            var parameters = '';
            for(i=0;i<this.form.length;i++){
                if(this.form.elements[i].type == 'text' || this.form.elements[i].type == 'select-one' || this.form.elements[i].type == 'hidden' || this.form.elements[i].type == 'textarea' || this.form.elements[i].type == 'password' ){
                	parameters += '&' + this.form.elements[i].name + '=' + encodeURIComponent(this.form.elements[i].value);
                }
                if(this.form.elements[i].type == 'radio'){
                    if(this.form.elements[i].checked) parameters += '&' + this.form.elements[i].name + '=' + encodeURIComponent(this.form.elements[i].value);
                }
                if(this.form.elements[i].type == 'checkbox'){
                    if(this.form.elements[i].checked) parameters += '&' + this.form.elements[i].name + '=' + encodeURIComponent(this.form.elements[i].value);
                }
            }

            try {
        		this.xmlhttp = window.XMLHttpRequest?new XMLHttpRequest(): new ActiveXObject("Microsoft.XMLHTTP");
        	} catch (e) {
        		//Ha nincs ajax akkor posotolja az adatokat
               return true;
        	}
        	this.xmlhttp.onreadystatechange = this.showResults;
        	this.xmlhttp.open("POST", url, true);
        	this.xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
            this.xmlhttp.setRequestHeader("Content-length", parameters.length);
            this.xmlhttp.setRequestHeader("Connection", "close");
            this.xmlhttp.send(parameters);
            this.setLoading();

            //Andris: ha ezt nem tettem ide, akkor az onsubmit="return popuplayer.post(this)"
            //siman elpostolta a formot ajax hivas nelkul.. :(
            return false;
    }

    //ajax callback. Megmutajuk az eredmenyt
	POPUPLAYER.prototype.showResults = function(){
		if ((popuplayer.xmlhttp.readyState == 4) && (popuplayer.xmlhttp.status == 200)) {
            document.getElementById('popupcontent').innerHTML = popuplayer.xmlhttp.responseText;
            document.getElementById('popupcontent').style.display = 'block';
           // popuplayer.resizeBack();

            /*//ha van scrollbox
            try{
                document.getElementById('scrollbox_popup').innerHTML;
                setTimeout(function() {var scroll1 = new scrollbox( 'scrollbox_popup', 2 );},  100);
            }catch (e) {}*/

            //bug:#174. Ha hiba van akkor a form tetejere scrollozunk
            window.scrollTo(0,parseInt(document.getElementById('popup').style.top)-90);

            // JS futtatasa a responsebol
            var resp = popuplayer.xmlhttp.responseText;
			var ra = resp.split('\n');
			var inJs = false;
			var js = '';
			var i=0;
			for(i=0; i<ra.length; i++) {
				if(ra[i].match(/<\/script/i)) inJs = false;
				if(inJs) js += ra[i]+"\n";
				if(ra[i].match(/<script/i)) inJs = true;
			}

			try {
				eval(js);
			} catch(e) {
				console.log(e);
			}
        }
    }

    //ajax get form. Elkuldi a megadott form-ot es megjeleniti popupban az eredmenyt
    POPUPLAYER.prototype.getForm = function(block,form){
        var parameters = '';
        if(form) this.form = form;
        if(block) this.block = block;
        for(i=0;i<this.form.length;i++){
            if(this.form.elements[i].type == 'text' || this.form.elements[i].type == 'select-one' || this.form.elements[i].type == 'hidden' || this.form.elements[i].type == 'textarea' || this.form.elements[i].type == 'password' ){
              	parameters += '&' + this.form.elements[i].name + '=' + encodeURIComponent(this.form.elements[i].value);
            }
        }
        this.loadBlock(block,parameters);
        return false;
    }

    //ezt a metodust hivjuk meg ha be akkorunk tolteni egy popupot
    POPUPLAYER.prototype.loadBlock = function(block,param){
        if(this.block){
            this.paramhistory = this.param;
            this.blockhistory = this.block;
        }
        this.init();
        this.setLoading();
        this.block = block;
        this.param = param;
        this.ajax();        
        return false;
    }

    //popuplayer.init();

    //bug: atmeretezi a fekete hateret, ablak atmeretezesnel, meg az ajax hivas utan hivjuk meg
    POPUPLAYER.prototype.resizeBack = function(){
        var pageSize = popuplayer.getPageSize();
        try{
            document.getElementById('popup').style.top = (pageSize[7] + 90) + 'px';
            document.getElementById('popup').style.left = ((pageSize[0]/2)-310)+'px';            
        }catch (e) {}
    }
    
    POPUPLAYER.prototype.back = function(){
        if(this.blockhistory){
            this.loadBlock(this.blockhistory,this.paramhistory);
        }else{
            this.hide();
        }
    }

}

var DragHandler = {


	// private property.
	_oElem : null,


	// public method. Attach drag handler to an element.
	attach : function(oElem,dragSpot) {
		//console.log(dragSpot);
        dragSpot.onmousedown = function(){ DragHandler._addDrag(oElem);}
        dragSpot.onmouseup = function(){ DragHandler._removeDrag(oElem);};
		
	},
    
    _removeDrag : function (obj){    
        obj.onmousedown = '';        
    },
    
    _addDrag : function (obj){
    
        obj.onmousedown = DragHandler._dragBegin;
        // callbacks
		obj.dragBegin = new Function();
		obj.drag = new Function();
		obj.dragEnd = new Function();


		return obj;
    
    },


	// private method. Begin drag process.
	_dragBegin : function(e) {
       
		var oElem = DragHandler._oElem = this;

		if (isNaN(parseInt(oElem.style.left))) { oElem.style.left = '0px'; }
		if (isNaN(parseInt(oElem.style.top))) { oElem.style.top = '0px'; }

		var x = parseInt(oElem.style.left);
		var y = parseInt(oElem.style.top);

		e = e ? e : window.event;
		oElem.mouseX = e.clientX;
		oElem.mouseY = e.clientY;

		oElem.dragBegin(oElem, x, y);

		document.onmousemove = DragHandler._drag;
		document.onmouseup = DragHandler._dragEnd;
		return false;
	},


	// private method. Drag (move) element.
	_drag : function(e) {
		var oElem = DragHandler._oElem;

		var x = parseInt(oElem.style.left);
		var y = parseInt(oElem.style.top);

		e = e ? e : window.event;
		oElem.style.left = x + (e.clientX - oElem.mouseX) + 'px';
		oElem.style.top = y + (e.clientY - oElem.mouseY) + 'px';

		oElem.mouseX = e.clientX;
		oElem.mouseY = e.clientY;

		oElem.drag(oElem, x, y);

		return false;
	},


	// private method. Stop drag process.
	_dragEnd : function() {
		var oElem = DragHandler._oElem;

		var x = parseInt(oElem.style.left);
		var y = parseInt(oElem.style.top);

		oElem.dragEnd(oElem, x, y);

		document.onmousemove = null;
		document.onmouseup = null;
		DragHandler._oElem = null;
	}

};

var com = new COMMON;
var popuplayer = new POPUPLAYER;