/**
 * @author Pampalini
 */
/**
 * Kemény mag
 */
function Core(){
    this.pages = new Array();
    this.pages = ['koszonto', 'bemutatkozas', 'vendegkonyv', 'szallasfoglalas', 'fotoalbum', 'kapcsolat', 'hirlevel', 'linkek', 'akcioink'];
    
    this.page_objects = new Array();
    this.page_objects['koszonto'] = ['nevjegy', 'akcio', 'foto_1', 'foto_2', 'catan', 'cipo', 'konyv', 'kocsog'];
    this.page_objects['bemutatkozas'] = ['akac', 'kulcs'];
    this.page_objects['vendegkonyv'] = ['tinta', 'toll', 'szemuveg'];
    this.page_objects['szallasfoglalas'] = ['tinta', 'toll', 'szemuveg'];
    this.page_objects['fotoalbum'] = ['foto_3', 'foto_4', 'fenykepezo'];
    this.page_objects['kapcsolat'] = ['iranytu', 'catan2'];
    this.page_objects['hirlevel'] = ['tinta', 'toll', 'szemuveg'];
    this.page_objects['linkek'] = ['tinta', 'toll', 'szemuveg'];
    this.page_objects['akcioink'] = ['tinta', 'toll', 'szemuveg'];
};

Core.prototype.init = function(){
    //document.getElementById('preloader').style.cssText = 'display:none'; //IE kompatibilis
    classCore.cmdShowContent('koszonto');
	
	
    
	setTimeout(function(){
        classCore.cmdAddEvent($('menu'), 'mouseover', classMenu.cmdSlideIn);
		classCore.cmdAddEvent(document, 'mousedown', classDragDrop.cmdCheckTarget);
    	classCore.cmdAddEvent(document, 'mousemove', classMenu.checkPositions);
    }, 3000);
	
	/*		
	//mocskos IE miatt (ami nem támogatja a base64-et)!
	if (navigator.appVersion.indexOf('MSIE') != -1 && document.all) {
		for (var i = 0; i < document.images.length; i++) {
			classCore.fixBase64(document.images[i]);
		}
	}
	*/		
			
	
};

Core.prototype.unload = function(event) {
	event.returnValue = 'Az Akácos Tanya honlapja bezárul!';
	
};

Core.prototype.cmdAddEvent = function(element, event_type, callBackFunction){
    if (element.addEventListener) { //W3C
        element.addEventListener(event_type, callBackFunction, false);
    }
    else 
        if (element.attachEvent) { //IE
            element.attachEvent('on' + event_type, callBackFunction);
        }
};

Core.prototype.cmdRemoveEvent = function(element, event_type, callBackFunction){
    if (element.addEventListener) { //W3C
        element.removeEventListener(event_type, callBackFunction, false);
    }
    else 
        if (element.detachEvent) { //IE
            element.detachEvent('on' + event_type, callBackFunction);
        }
};

Core.prototype.cmdGetAttribute = function(target, attr){

    try {
        var target_attr = target.getAttribute(attr); //W3C
    } 
    catch (ex) {
    }
    if (!target_attr) { //IE
        for (var i = 0; i < target.attributes.length; i++) {
            var taName = target.attributes[i].name.toLowerCase();
            if (taName == attr) {
                var target_attr = target.attributes[i].value;
            }
        }
    }
    return target_attr;
};

Core.prototype.getElementOffset = function(element){
    var top = 0, left = 0;
    var width = element.offsetWidth;
    var height = element.offsetHeight;
    do {
        left += element.offsetLeft || 0;
        top += element.offsetTop || 0;
    }
    while (element = element.offsetParent)
    
    return [left, top, width, height];
};

Core.prototype.cmdShowContent = function(page){
    for (var c = 0; c < classCore.pages.length; c++) {
        $(classCore.pages[c]).style.display='none'; //mocskosmód IE kompatibilis
		//$(classCore.pages[c]).style.cssText = 'display:none'; //IE kompatibilis
    }
	
	for (var c = 0; c < classCore.pages.length; c++) {
    
        for (var p = 0; p < classCore.page_objects[classCore.pages[c]].length; p++) {
            $(classCore.page_objects[classCore.pages[c]][p]).style.display='none'; //mocskosmód IE kompatibilis
            //$(classCore.page_objects[classCore.pages[c]][p]).style.cssText = 'display:none'; //IE kompatibilis
        }
        //$(classCore.pages[c]).style.cssText = '';
    
    }
	
    for (var i = 0; i < classCore.pages.length; i++) {
    
        for (var j = 0; j < classCore.page_objects[classCore.pages[i]].length; j++) {
            if (page == classCore.pages[i]) {
                $(classCore.page_objects[classCore.pages[i]][j]).style.display='block'; //mocskosmód IE kompatibilis
                //$(classCore.page_objects[classCore.pages[i]][j]).style.cssText = 'display:block'; //IE kompatibilis
            }
        }
    }
    //$(page).style.cssText = '';
    $(page).style.display='block'; //mocskosmód IE kompatibilis
    //$(page).style.cssText = 'display:block';
    
    document.body.style.cssText = 'overflow:auto';
	
    switch(page) {
		case 'koszonto':
			document.body.style.cssText = 'overflow:hidden';
			
		case 'kapcsolat':
			classMap.init();
			
		case 'fotoalbum':
			classPhotoAlbum.cmdShowPictures(1,1);
			
		case 'vendegkonyv':
			$('add_post_form_captcha_picture').src = 'imagebuilder.php?uid='+Math.random(); //kép újratöltése, azért hogy a php session-ben ez legyen az aktuális
	        classGuestBook.cmdShowComments(1);
		
		case 'hirlevel':
			$('newsletter_form_captcha_picture').src = 'imagebuilder.php?uid='+Math.random(); //kép újratöltése, azért hogy a php session-ben ez legyen az aktuális
			
		case 'szallasfoglalas':
			$('szallasfoglalas_form_captcha_picture').src = 'imagebuilder.php?uid='+Math.random(); //kép újratöltése, azért hogy a php session-ben ez legyen az aktuális
			
	}

};



Core.prototype.fixBase64 = function(img) {
	
	
	var BASE64_DATA = /^data:.*;base64/i;
	var base64Path = "base64.php";
	
	// apply the fix
	
	var src = classCore.cmdGetAttribute(img,'src').toString();
	
	if (BASE64_DATA.test(src)) {
		img.src = base64Path + "?" + src.slice(5);
	}
};

var classCore = new Core();



function $(element){
    return document.getElementById(element);
};

