//common JS functions
//author Yakeen
//3.23.2006

var http_root = '';

window.addEvent('domready', function(){
    if ($('http_root')) {
        http_root = $('http_root').getProperty('value');
    }
    if ($('sort-by')) {
        $$('div#sort-by a').each(function(el){
            el.addEvent('focus', function(){
                el.blur();
            });
        });
    }
});

function exco(elID,url_) {
 obj = document.getElementById(elID);
 if((obj.style.display == "none") || (obj.style.display == "")) {
 	obj.style.display = "block";
 	submitIFRAMEG(url_);
 }
 else {
 	obj.style.display = "none";
 }
}


// ~AJAX Like funcs
function handleResponse(tab,elID){
	if(tab == 'gallery') {
		document.getElementById('galleryContent').innerHTML = "<div class=\"spacer\"><img src=\"images/transperant.gif\" height=\"1\"></div>" + top.Qman.document.getElementById('getContent').innerHTML + "<div class=\"spacer\"><img src=\"images/transperant.gif\" height=\"1\"></div>";
		document.getElementById('edit_gallery_form').style.display = "none";
		document.forms["insgal"].reset();
		document.forms["updgal"].reset();
		//alert(top.Qman.document.getElementById('getContent').innerHTML);
	}

	if(tab == 'hotel_details') {
		if(document.getElementById(elID)) {
			document.getElementById(elID).innerHTML = top.Qman.document.getElementById('getContent').innerHTML;
			minislides.init();

			//removing first LI in ULs with class 'minislides'
			_lists = document.getElementById(elID).getElementsByTagName('ul');
			for( var _i=0; _i<_lists.length; _i++ )
			{
				if( _lists[_i].className != 'minislides' ) continue;
				firstLI = _lists[_i].getElementsByTagName('li')[0];
				firstLI.parentNode.removeChild(firstLI);
			}

		}
	}
	if(tab == 'send_to_friend') {
		if(document.getElementById(elID)) {
			document.getElementById(elID).innerHTML = top.Qman.document.getElementById('getContent').innerHTML;
		}
	}
	//------- hide cover ---
	hideCover();
}


function hideCover() {
	document.getElementById('cover').style.top = 0 + "px";
	document.getElementById('cover').style.left = 0 + "px";
	document.getElementById('cover').style.width = 0 + "px";
	document.getElementById('cover').style.height = 0 + "px";
	document.getElementById('cover').style.display = "none";
}


function submitIFRAMEG(url_) {
	if(url_)top.Qman.document.location.href=url_;
}


function loading(el,msg){
	if(obj.style.display != "none") {
		elX = findPosX(el);
		elY = findPosY(el);
		//alert(elX + " / " + elY);

		elW = el.offsetWidth;
		elH = el.offsetHeight;

		elH = 30;

		//document.getElementById('cover').style.position = "absolute";
		document.getElementById('cover').style.top = elY + "px";
		document.getElementById('cover').style.left = elX + "px";
		document.getElementById('cover').style.width = elW + "px";
		document.getElementById('cover').style.height = elH + "px";

		if(document.getElementById('cover')) {
			document.getElementById('cover').style.top = elY + "px";
			document.getElementById('cover').style.left = elX + "px";
			document.getElementById('cover').style.width = elW + "px";
			document.getElementById('cover').style.height = elH + "px";
			document.getElementById('cover').childNodes[0].nodeValue = msg;
		}

		document.getElementById('cover').style.display = "block";
	}

	return true;
}


function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			//alert(curleft);
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}


function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}


function loadCities(region_id,miasto_array){

	var list = miasto_array[region_id];
	var box = document.forms[0].select;
	box.options.length = 0;
	box.options[0] = new Option('всички','');
	var j=1;

	for (var i in list)
	{
		box.options[j] = new Option(list[i],i);
		j++;
	}

	j=1;
	if(region_id == "") {
		box.options[0] = new Option('всички','');
		for (var i in miasto_array){
			for (var k in miasto_array[i]){
				box.options[j] = new Option(miasto_array[i][k],i);
				j++;
			}
		}
	}
	else document.getElementById('miasto').focus();

}


//проверява за валиден и-мейл
function is_valid_mail(mail)
{
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	return filter.test(mail);
}


//презарежда картинката на капча с зададено id
function refresh_captcha( captcha_id )
{
    (function(){
        get_el(captcha_id).src = http_root + 'visual-captcha.php?width=120&height=30&' + Math.random();
    }).delay(200);
  // alert(get_el(captcha_id).src);
}

//записва избраната буква в полето за търсене
function s( letter )
{
    if (document.forms["places_form"]) {
        search_field = document.forms["places_form"].elements["filter_place"];
        search_field.value = letter;
    }
    show_object('places_list');
    func_preloader('show_places(\'get_list\')', 400);
}

function place_search_conditions(search_field)
{
    if (search_field.value != 'ВЪВЕДИ ГРАД') {
        show_object('places_list');
    } else {
        search_field.value = '';
    }
}

function toggleDivOL( elemID, action )
{
    if (document.getElementById( elemID )) var elem = document.getElementById( elemID ); else return true;
    if( elem.style.position != 'absolute' || action == 'hide')
    {
        elem.style.position = 'absolute';
        elem.style.left = '-4000px';
    }
    else
    {
        elem.style.position = 'relative';
        elem.style.left = '0px';
        elem.style.zindex = '10';
    }
}

var oldFx;

function objectsResize(bEffectDisable){
    minHeight = 0;
    var divs = ['adv', 'destinations', 'user_menu'];
    $$('div#sidebar div').each(function(el){
        if (divs.contains(el.getProperty('id'))) {
            if (el.getProperty('id') == 'adv') {
                minHeight += 185;
            } else {
                if (el.getStyle('display') != 'none') {
                    minHeight += el.getSize().size.y;
                }
            }
        }
    });
    cor = 0;
    var divs = ['scroller'];
    $$('div#maincol div').each(function(el){
        if (divs.contains(el.getProperty('id'))) {
            cor += el.getSize().size.y;
        }
    });
    sidebarHeight = ($('maincol').getSize().size.y - cor > minHeight) ? $('maincol').getSize().size.y - cor : minHeight;
    $('sidebar').setStyle('height', sidebarHeight + 'px');
    if ($('adv')) {
        height = sidebarHeight - Math.abs($('sidebar').getTop() - $('adv').getTop());
        if ($('adv').getSize().size.y < height && !bEffectDisable) {
            var myFx = new Fx.Style('adv', 'height', {duration: 700, transition: Fx.Transitions.Bounce.easeOut});
            oldFx = myFx;
            myFx.start(height);
        } else {
            if (oldFx) oldFx.stop();
            $('adv').setStyle('height', height + 'px');
        }
    }
}

window.addEvent('load', function(e){
    if ($('sidebar') && $('maincol')) {
        objectsResize(true);
        $('maincol').addEvent('objectsResize', function(ev){
            objectsResize();
        });
    }
});
