
var _selectHeight = 23;

var _forms = document.getElementsByTagName('form');
var inputs = new Array();
var selects = new Array();
var labels = new Array();
var radios = new Array();
var radioLabels = new Array();
var checkboxes = new Array();
var checkboxLabels = new Array();
var buttons = new Array();
var all_selects = false;
var active_select = null;
var agt = navigator.userAgent.toLowerCase();
var isMac = is_mac();
var selectText = "please select";
var IN_CFORMS = true;
var range = 0;

function is_mac() {
	if (navigator.appVersion.indexOf("Safari") != -1)
	{
		if(!window.getComputedStyle)
		{
			return true;
		}
	}

	return false;
}

function initCastomForms() {
	if(!document.getElementById) {return false;}
	getElements();
	separateElements();
	replaceRadios();
	replaceCheckboxes();
	replaceSelects();

	var _selects = document.getElementsByTagName('select');
	var _SelctClassName = [];
	if (_selects) {
		for (var i = 0; i < _selects.length; i++) {
			if (_selects[i].className != '' && _selects[i].className != 'outtaHere')
				_SelctClassName[i] = ' drop-'+_selects[i].className;
		}
		for (var i = 0; i < _SelctClassName.length; i++) {
			var _selectDrop = document.getElementById('optionsDiv'+i);
			if (_selectDrop) {
				if (_SelctClassName[i])
					_selectDrop.className += _SelctClassName[i];
			}
		}
	}
	initSearch();
	$('div.tabs').galleryScroll();
	$('div.articles').galleryScroll({slideNum:'span.swicher'});
	initTabs();

	/*$('.optionsDivInvisible ul li, .optionsDivVisible ul li').hover(function(){
     $(this).addClass('selected-li');   }, function(){
     $(this).removeClass('selected-li');
   });*/
}
// getting all the required elements
function getElements() {
	for (var nf = 0; nf < document.getElementsByTagName("form").length; nf++) {
		for(var nfi = 0; nfi < document.forms[nf].getElementsByTagName("input").length; nfi++) {inputs.push(document.forms[nf].getElementsByTagName("input")[nfi]);}
		for(var nfl = 0; nfl < document.forms[nf].getElementsByTagName("label").length; nfl++) {labels.push(document.forms[nf].getElementsByTagName("label")[nfl]);}
		for(var nfs = 0; nfs < document.forms[nf].getElementsByTagName("select").length; nfs++) {selects.push(document.forms[nf].getElementsByTagName("select")[nfs]);}
	}
}

// separating all the elements in their respective arrays
function separateElements() {
	var r = 0; var c = 0; var t = 0; var rl = 0; var cl = 0; var tl = 0; var b = 0;
	for (var q = 0; q < inputs.length; q++) {
		if(inputs[q].type == "radio") {
			radios[r] = inputs[q]; ++r;
			for(var w = 0; w < labels.length; w++) {
				if((inputs[q].id) && labels[w].htmlFor == inputs[q].id)
				{
					radioLabels[rl] = labels[w];
					++rl;
				}
			}
		}
		if(inputs[q].type == "checkbox") {
			checkboxes[c] = inputs[q]; ++c;
			for(var w = 0; w < labels.length; w++) {
				if((inputs[q].id) && (labels[w].htmlFor == inputs[q].id))
				{
					checkboxLabels[cl] = labels[w];
					++cl;
				}
			}
		}
		if((inputs[q].type == "submit") || (inputs[q].type == "button")) {
			buttons[b] = inputs[q]; ++b;
		}
	}
}

//replacing radio buttons
function replaceRadios() {
	for (var q = 0; q < radios.length; q++) {
	    if(radios[q].className != 'stdradio')
	    {
				radios[q].className += " outtaHere";
				var radioArea = document.createElement("div");
				if(radios[q].checked) {
					radioArea.className = "radioAreaChecked";
				}
				else
				{
					radioArea.className = "radioArea";
				}
				radioArea.id = "myRadio" + q;
				radios[q].parentNode.insertBefore(radioArea, radios[q]);
				radios[q]._ra = radioArea;

				radioArea.onclick = new Function('rechangeRadios('+q+')');
				if (radioLabels[q])
				{
					radioLabels[q].onclick = new Function('rechangeRadios('+q+')');
				}
		}
	}
	return true;
}

//checking radios
function checkRadios(who) {
	var what = radios[who]._ra;
	for(var q = 0; q < radios.length; q++) {
		if((radios[q]._ra.className == "radioAreaChecked")&&(radios[q]._ra.nextSibling.name == radios[who].name))
		{
			radios[q]._ra.className = "radioArea";
		}
	}
	what.className = "radioAreaChecked";
}

//changing radios
function changeRadios(who) {
	if(radios[who].checked) {
		for(var q = 0; q < radios.length; q++) {
			if(radios[q].name == radios[who].name) {
				radios[q].checked = false;
			}
			radios[who].checked = true;
			checkRadios(who);
		}
	}
}

//rechanging radios
function rechangeRadios(who) {
	if(!radios[who].checked) {
		for(var q = 0; q < radios.length; q++) {
			if(radios[q].name == radios[who].name)	{
				radios[q].checked = false;
			}
			radios[who].checked = true;
			checkRadios(who);
		}
	}
	selectPriceFilter('txt'+who);

	range = 1;
	 gotoPageStart();
	updateFilter();
	updatePagination();
}

//replacing checkboxes
function replaceCheckboxes() {
	for (var q = 0; q < checkboxes.length; q++) {
	    if(checkboxes[q].className != 'checkbox_normal' && checkboxes[q].className != 'checkbox_normal required') {
		checkboxes[q].className += " outtaHere";
		var checkboxArea = document.createElement("div");
		if(checkboxes[q].checked) {
			checkboxArea.className = "checkboxAreaChecked";
		}
		else {
			checkboxArea.className = "checkboxArea";
		}
		checkboxArea.id = "myCheckbox" + q;
		checkboxes[q].parentNode.insertBefore(checkboxArea, checkboxes[q]);
		checkboxes[q]._ca = checkboxArea;
		checkboxArea.onclick = checkboxArea.onclick2 = new Function('rechangeCheckboxes('+q+')');
		if (checkboxLabels[q])
		{
			checkboxLabels[q].onclick = new Function('changeCheckboxes('+q+')');
		}

		checkboxes[q].onkeydown = checkEvent;
		}
	}
	return true;
}

//checking checkboxes
function checkCheckboxes(who, action) {
	var what = checkboxes[who]._ca;
	if(action == true) {
		what.className = "checkboxAreaChecked";
		what.checked = true;
	}
	if(action == false) {
		what.className = "checkboxArea";
		what.checked = false;
	}
}

//changing checkboxes
function changeCheckboxes(who) {
	if(checkboxes[who].checked) {
		checkCheckboxes(who, false);
	}
	else {
		checkCheckboxes(who, true);
	}
}

//rechanging checkboxes
function rechangeCheckboxes(who) {
	var tester = false;
	if(checkboxes[who]._ca.className == "checkboxAreaChecked") {
		tester = false;
	}
	else {
		tester = true;
	}
	checkboxes[who].checked = tester;
	checkCheckboxes(who, tester);
	gotoPageStart();
	updateFilter();
}

//check event
function checkEvent(e) {
	if (!e) var e = window.event;
	if(e.keyCode == 32) {for (var q = 0; q < checkboxes.length; q++) {if(this == checkboxes[q]) {changeCheckboxes(q);}}} //check if space is pressed
}


function replaceSelects() {
	for(var q = 0; q < selects.length; q++) {
	if (!selects[q].replaced && selects[q].offsetWidth && selects[q].className != 'select_normal')
	{
		selects[q]._number = q;
		//create and build div structure
		var selectArea = document.createElement("div");
		var left = document.createElement("span");
		left.className = "left";
		selectArea.appendChild(left);

		var disabled = document.createElement("span");
		disabled.className = "disabled";
		selectArea.appendChild(disabled);

		selects[q]._disabled = disabled;
		var center = document.createElement("span");
		var button = document.createElement("a");
		var text = document.createTextNode(selectText);
		center.id = "mySelectText"+q;

		var stWidth = selects[q].offsetWidth;
		selectArea.style.width = stWidth + "px";
		if (selects[q].parentNode.className.indexOf("type2") != -1){
			//button.href = "javascript:showOptions("+q+",true)";
		} else {
			//button.href = "javascript:showOptions("+q+",false)";
		}
		button.className = "selectButton";
		selectArea.className = "selectArea";

		selectArea.className += " " + selects[q].className;
		selectArea.id = "sarea"+q;
		center.className = "center";
		center.appendChild(text);
		selectArea.appendChild(center);
		selectArea.appendChild(button);
        var classextra = selects[q].className;
		//hide the select field
		selects[q].className += " outtaHere";
		//insert select div
		selects[q].parentNode.insertBefore(selectArea, selects[q]);
		//build & place options div

		var optionsDiv = document.createElement("div");

		var optionsList = document.createElement("ul");
		optionsDiv.innerHTML += "<div class='select-top "+classextra+"'><div></div></div>";
		optionsDiv.appendChild(optionsList);

		selects[q]._options = optionsList;

		optionsDiv.style.width = stWidth + "px";
		optionsDiv._parent = selectArea;

		optionsDiv.className = "optionsDivInvisible";
    optionsDiv.className += " " + selects[q].className;
		optionsDiv.id = "optionsDiv"+q;


		populateSelectOptions(selects[q]);
		optionsDiv.innerHTML += "<div class='select-bottom'><div class='select-bottom-left'></div><div class='select-bottom-right'></div></div>";
		document.getElementsByTagName("body")[0].appendChild(optionsDiv);
		selects[q].replaced = true;

		$("#sarea"+q).bind("click", {id_q: q}, function(event){showOptions(event.data.id_q,false)});
		}
	all_selects = true;
	}
}

//collecting select options
function populateSelectOptions(me) {
	me._options.innerHTML = "";

	for(var w = 0; w < me.options.length; w++) {

		var optionHolder = document.createElement('li');
		var optionLink = document.createElement('a');
		var optionTxt;
		if (me.options[w].title.indexOf('image') != -1) {
			optionTxt = document.createElement('img');
			optionSpan = document.createElement('span');
			optionTxt.src = me.options[w].title;
			optionSpan = document.createTextNode(me.options[w].text);
		} else {
			optionTxt = document.createTextNode(me.options[w].text);
		}
        if(me.id == 'language'){
		  optionLink.href = "javascript:showOptions("+me._number+"); selectMe('"+me.id+"',"+w+","+me._number+"); goto_page();";
		}else if(me.id == 'currency_name')
		{
		 optionLink.href = "javascript:showOptions("+me._number+"); selectMe('"+me.id+"',"+w+","+me._number+"); change_currency();";
		}
		else if(me.id == 'sortorder')
		{
		 optionLink.href = "javascript:showOptions("+me._number+"); selectMe('"+me.id+"',"+w+","+me._number+"); gotoPageStart();updateFilter();";
		}
		else if(me.id == 'areaslist')
		{
		  optionLink.href = "javascript:showOptions("+me._number+"); selectMe('"+me.id+"',"+w+","+me._number+"); gotoPageStart();updateFilter();";
		}
		else if(me.id == 'diae' || me.id == 'meseanye')
		{		  optionLink.href = "javascript:showOptions("+me._number+"); selectMe('"+me.id+"',"+w+","+me._number+"); departure_update("+w+");";		}
		else if(me.id == 'diae2' || me.id == 'meseanye2')
		{
		  optionLink.href = "javascript:showOptions("+me._number+"); selectMe('"+me.id+"',"+w+","+me._number+"); departure_update2("+w+");";
		}
		else if(me.id == 'dias' || me.id == 'messanys')
		{
		  optionLink.href = "javascript:showOptions("+me._number+"); selectMe('"+me.id+"',"+w+","+me._number+"); arrival_update("+w+");";
		}
		else
		{
		  optionLink.href = "javascript:showOptions("+me._number+"); selectMe('"+me.id+"',"+w+","+me._number+");";
		}
		if (me.options[w].title.indexOf('image') != -1) {
			optionLink.appendChild(optionTxt);
			optionLink.appendChild(optionSpan);
		} else {
			optionLink.appendChild(optionTxt);
		}
		optionHolder.appendChild(optionLink);
		me._options.appendChild(optionHolder);
		//check for pre-selected items
		if(me.options[w].selected) {
			selectMe(me.id,w,me._number);
		}
	}
	if (me.disabled) {
		me._disabled.style.display = "block";
	}
	else {
		me._disabled.style.display = "none";
	}
}

//selecting me
function selectMe(selectFieldId,linkNo,selectNo) {
	selectField = selects[selectNo];
	for(var k = 0; k < selectField.options.length; k++) {
		if(k==linkNo) {
			selectField.options[k].selected = true;
		}
		else {
			selectField.options[k].selected = false;
		}
	}

	//show selected option
	textVar = document.getElementById("mySelectText"+selectNo);
	var newText;
	var optionSpan;
	if (selectField.options[linkNo].title.indexOf('image') != -1) {
		newText = document.createElement('img');
		newText.src = selectField.options[linkNo].title;
		optionSpan = document.createElement('span');
		optionSpan = document.createTextNode(selectField.options[linkNo].text);
	} else {
		newText = document.createTextNode(selectField.options[linkNo].text);
	}
	if (selectField.options[linkNo].title.indexOf('image') != -1) {
		if (textVar.childNodes.length > 1) textVar.removeChild(textVar.childNodes[0]);
		textVar.replaceChild(newText, textVar.childNodes[0]);
		textVar.appendChild(optionSpan);
	} else {
		if (textVar.childNodes.length > 1) textVar.removeChild(textVar.childNodes[0]);
		textVar.replaceChild(newText, textVar.childNodes[0]);
	}
	if (selectField.onchange && all_selects)
		{
			eval(selectField.onchange());
		}
}
//selecting me
function selectMe2(selectFieldId,linkNo,selectNo, custom) {
    if(custom){
      	linkNo = $('#'+linkNo).index();
      	selectMe(selectFieldId,linkNo,selectNo);
    }

}
//showing options
function showOptions(g) {
		_elem = document.getElementById("optionsDiv"+g);
		var divArea = document.getElementById("sarea"+g);
		if (active_select && active_select != _elem) {
			active_select.className = active_select.className.replace('optionsDivVisible','');
			active_select.className += " optionsDivInvisible";
			active_select.style.height = "auto";
		}
		if(_elem.className.indexOf("optionsDivInvisible") != -1) {
			_elem.style.left = "-9999px";
			_elem.style.top = findPosY(divArea) + _selectHeight + 'px';
			_elem.className = _elem.className.replace('optionsDivInvisible','');
			_elem.className += " optionsDivVisible";
			/*if (_elem.offsetHeight > 200)
			{
				_elem.style.height = "200px";
			}*/
			_elem.style.left = findPosX(divArea) + 'px';

			active_select = _elem;
			if(document.documentElement)
			{
				document.documentElement.onclick = hideSelectOptions;
			}
			else
			{
				window.onclick = hideSelectOptions;
			}
		}
		else if(_elem.className.indexOf("optionsDivVisible") != -1) {
			_elem.style.height = "auto";
			_elem.className = _elem.className.replace('optionsDivVisible','');
			_elem.className += " optionsDivInvisible";
		}

		// for mouseout
		/*_elem.timer = false;
		_elem.onmouseover = function() {
			if (this.timer) clearTimeout(this.timer);
		}
		_elem.onmouseout = function() {
			var _this = this;
			this.timer = setTimeout(function(){
				_this.style.height = "auto";
				_this.className = _this.className.replace('optionsDivVisible','');
				if (_elem.className.indexOf('optionsDivInvisible') == -1)
					_this.className += " optionsDivInvisible";
			},200);
		}*/
}

function hideSelectOptions(e)
{
	if(active_select)
	{
		if(!e) e = window.event;
		var _target = (e.target || e.srcElement);
		if(isElementBefore(_target,'selectArea') == 0 && isElementBefore(_target,'optionsDiv') == 0)
		{
			active_select.className = active_select.className.replace('optionsDivVisible', '');
			active_select.className = active_select.className.replace('optionsDivInvisible', '');
			active_select.className += " optionsDivInvisible";
			active_select = false;

			if(document.documentElement)
			{
				document.documentElement.onclick = function(){};
			}
			else
			{
				window.onclick = null;
			}
		}
	}
}

function isElementBefore(_el,_class)
{
	var _parent = _el;
	do
	{
		_parent = _parent.parentNode;
	}
	while(_parent && _parent.className != null && _parent.className.indexOf(_class) == -1)

	if(_parent.className && _parent.className.indexOf(_class) != -1)
	{
		return 1;
	}
	else
	{
		return 0;
	}

}

function findPosY(obj) {
	var posTop = 0;
	while (obj.offsetParent) {posTop += obj.offsetTop; obj = obj.offsetParent;}
	return posTop;
}
function findPosX(obj) {
	var posLeft = 0;
	while (obj.offsetParent) {posLeft += obj.offsetLeft; obj = obj.offsetParent;}
	return posLeft;
}
window.onload = initCastomForms;
function initSearch() {

// Slide effect
    var _parentSlide = 'div#search';
    var _linkSlide = 'a.open-close';
    var _slideBlock = 'div.search-form';
    var _openClassS = 'active';
    var _textOpenS = $('#search-btn').attr('alt');
    var _textCloseS = $('#search-btn').attr('alt');
    var _durationSlide = 500;

    $(_parentSlide).each(function(){
		if (!$(this).is('.'+_openClassS)) {
			$(this).find(_slideBlock).css('display','none');
		}
    });

    $(_linkSlide,_parentSlide).click(function(){
		if ($(this).parents(_parentSlide).is('.'+_openClassS)) {
			$(this).parents(_parentSlide).removeClass(_openClassS);
			$(this).parents(_parentSlide).find(_slideBlock).slideUp(_durationSlide);
			$(this).text(_textOpenS);
		} else {
			$(this).parents(_parentSlide).addClass(_openClassS);
			$(this).parents(_parentSlide).find(_slideBlock).slideDown(_durationSlide);
			$(this).text(_textCloseS);
		}
		return false;
    });

    $('.open-av').click(function(){
		if ($(this).parent().parent().parents(_parentSlide).is('.'+_openClassS)) {
			$(this).parent().parent().parents(_parentSlide).removeClass(_openClassS);
			$(this).parent().parent().parents(_parentSlide).find(_slideBlock).slideUp(_durationSlide);
			$(this).text(_textOpenS);
		} else {
			$(this).parent().parent().parents(_parentSlide).addClass(_openClassS);
			$(this).parent().parent().parents(_parentSlide).find(_slideBlock).slideDown(_durationSlide);
			$(this).text(_textCloseS);
		}
		return false;
    });
}
/*
 * jQuery galleryScroll v1.5.2
 */

/*
	************* OPTIONS ************************************** default ****************
	btPrev         - link for previos [selector]    	btPrev: 'a.link-prev'
	btNext         - link for next [selector]		btNext: 'a.link-next'
	holderList     - image list holder [Tag name]		holderList: 'div'
	scrollElParent - list [Tag name]			scrollElParent: 'ul'
	scrollEl       - list element [Tag name]		scrollEl: 'li'
	slideNum       - view slide numbers [boolean]		slideNum: false
	duration       - duration slide [1000 - 1sec]		duration : 1000
	step           - slide step [int]			step: false
	circleSlide    - slide circle [boolean]			circleSlide: true
	disableClass   - class for disable link	[string] 	disableClass: 'disable'
	funcOnclick    - callback function			funcOnclick: null
	innerMargin    - inner margin, use width step [px]      innerMargin:0
	autoSlide      - auto slide [1000 - 1sec]               autoSlide:false
	*************************************************************************************
*/
jQuery.fn.galleryScroll = function(_options){
	// defaults options
	var _options = jQuery.extend({
		btPrev: 'a.link-prev',
		btNext: 'a.link-next',
		holderList: 'div',
		scrollElParent: 'ul',
		scrollEl: 'li',
		slideNum: false,
		duration : 1000,
		step: false,
		circleSlide: true,
		disableClass: 'disable',
		funcOnclick: null,
		autoSlide:false,
		innerMargin:0,
		stepWidth:false
	},_options);

	return this.each(function(){
		var _this = jQuery(this);

		var _holderBlock = jQuery(_options.holderList,_this);
		var _gWidth = _holderBlock.width();
		var _animatedBlock = jQuery(_options.scrollElParent,_holderBlock);
		var _liWidth = jQuery(_options.scrollEl,_animatedBlock).outerWidth(true);
		var _liSum = jQuery(_options.scrollEl,_animatedBlock).length * _liWidth;
		var _margin = -_options.innerMargin;
		var f = 0;
		var _step = 0;
		var _autoSlide = _options.autoSlide;
		var _timerSlide = null;
		if (!_options.step) _step = _gWidth; else _step = _options.step*_liWidth;
		if (_options.stepWidth) _step = _options.stepWidth;

		if (!_options.circleSlide) {
			if (_options.innerMargin == _margin)
				jQuery(_options.btPrev,_this).addClass('prev-'+_options.disableClass);
		}
		if (_options.slideNum && !_options.step) {
			var _lastSection = 0;
			var _sectionWidth = 0;
			while(_sectionWidth < _liSum)
			{
				_sectionWidth = _sectionWidth + _gWidth;
				if(_sectionWidth > _liSum) {
				       _lastSection = _sectionWidth - _liSum;
				}
			}
		}
		if (_autoSlide) {
				_timerSlide = setTimeout(function(){
					autoSlide(_autoSlide);
				}, _autoSlide);
			_animatedBlock.hover(function(){
				clearTimeout(_timerSlide);
			}, function(){
				_timerSlide = setTimeout(function(){
					autoSlide(_autoSlide)
				}, _autoSlide);
			});
		}

		// click button 'Next'
		jQuery(_options.btNext,_this).bind('click',function(){
			jQuery(_options.btPrev,_this).removeClass('prev-'+_options.disableClass);
			if (!_options.circleSlide) {
				if (_margin + _step  > _liSum - _gWidth - _options.innerMargin) {
					if (_margin != _liSum - _gWidth - _options.innerMargin) {
						_margin = _liSum - _gWidth  + _options.innerMargin;
						jQuery(_options.btNext,_this).addClass('next-'+_options.disableClass);
						_f2 = 0;
					}
				} else {
					_margin = _margin + _step;
					if (_margin == _liSum - _gWidth - _options.innerMargin) {
						jQuery(_options.btNext,_this).addClass('next-'+_options.disableClass);_f2 = 0;
					}
				}
			} else {
				if (_margin + _step  > _liSum - _gWidth + _options.innerMargin) {
					if (_margin != _liSum - _gWidth + _options.innerMargin) {
						_margin = _liSum - _gWidth  + _options.innerMargin;
					} else {
						_f2 = 1;
						_margin = -_options.innerMargin;
					}
				} else {
					_margin = _margin + _step;
					_f2 = 0;
				}
			}

			_animatedBlock.animate({marginLeft: -_margin+"px"}, {queue:false,duration: _options.duration });

			if (_timerSlide) {
				clearTimeout(_timerSlide);
				_timerSlide = setTimeout(function(){
					autoSlide(_options.autoSlide)
				}, _options.autoSlide);
			}

			if (_options.slideNum && !_options.step) jQuery.fn.galleryScroll.numListActive(_margin,jQuery(_options.slideNum, _this),_gWidth,_lastSection);
			if (jQuery.isFunction(_options.funcOnclick)) {
				_options.funcOnclick.apply(_this);
			}
			return false;
		});
		// click button 'Prev'
		var _f2 = 1;
		jQuery(_options.btPrev, _this).bind('click',function(){
			jQuery(_options.btNext,_this).removeClass('next-'+_options.disableClass);
			if (_margin - _step >= -_step - _options.innerMargin && _margin - _step <= -_options.innerMargin) {
				if (_f2 != 1) {
					_margin = -_options.innerMargin;
					_f2 = 1;
				} else {
					if (_options.circleSlide) {
						_margin = _liSum - _gWidth  + _options.innerMargin;
						f=1;_f2=0;
					} else {
						_margin = -_options.innerMargin
					}
				}
			} else if (_margin - _step < -_step + _options.innerMargin) {
				_margin = _margin - _step;
				f=0;
			}
			else {_margin = _margin - _step;f=0;};

			if (!_options.circleSlide && _margin == _options.innerMargin) {
				jQuery(this).addClass('prev-'+_options.disableClass);
				_f2=0;
			}

			if (!_options.circleSlide && _margin == -_options.innerMargin) jQuery(this).addClass('prev-'+_options.disableClass);
			_animatedBlock.animate({marginLeft: -_margin + "px"}, {queue:false, duration: _options.duration});

			if (_options.slideNum && !_options.step) jQuery.fn.galleryScroll.numListActive(_margin,jQuery(_options.slideNum, _this),_gWidth,_lastSection);

			if (_timerSlide) {
				clearTimeout(_timerSlide);
				_timerSlide = setTimeout(function(){
					autoSlide(_options.autoSlide)
				}, _options.autoSlide);
			}

			if (jQuery.isFunction(_options.funcOnclick)) {
				_options.funcOnclick.apply(_this);
			}
			return false;
		});

		if (_liSum <= _gWidth) {
			jQuery(_options.btPrev,_this).addClass('prev-'+_options.disableClass).unbind('click');
			jQuery(_options.btNext,_this).addClass('next-'+_options.disableClass).unbind('click');
		}
		// auto slide
		function autoSlide(autoSlideDuration){
			//if (_options.circleSlide) {
				jQuery(_options.btNext,_this).trigger('click');
			//}
		};
		// Number list
		jQuery.fn.galleryScroll.numListCreate = function(_elNumList, _liSumWidth, _width, _section){
			var _numListElC = '';
			var _num = 1;
			var _difference = _liSumWidth + _section;
			while(_difference > 0)
			{
				_numListElC += '<li><a href="">'+_num+'</a></li>';
				_num++;
				_difference = _difference - _width;
			}
			jQuery(_elNumList).html('<ul>'+_numListElC+'</ul>');
		};
		jQuery.fn.galleryScroll.numListActive = function(_marginEl, _slideNum, _width, _section){
			if (_slideNum) {
				jQuery('a',_slideNum).removeClass('active');
				var _activeRange = _width - _section-1;
				var _n = 0;
				if (_marginEl != 0) {
					while (_marginEl > _activeRange) {
						_activeRange = (_n * _width) -_section-1 + _options.innerMargin;
						_n++;
					}
				}
				var _a  = (_activeRange+_section+1 + _options.innerMargin)/_width - 1;
				jQuery('a',_slideNum).eq(_a).addClass('active');
			}
		};
		if (_options.slideNum && !_options.step) {
			jQuery.fn.galleryScroll.numListCreate(jQuery(_options.slideNum, _this), _liSum, _gWidth,_lastSection);
			jQuery.fn.galleryScroll.numListActive(_margin, jQuery(_options.slideNum, _this),_gWidth,_lastSection);
			numClick();
		};
		function numClick() {
			jQuery(_options.slideNum, _this).find('a').click(function(){
				jQuery(_options.btPrev,_this).removeClass('prev-'+_options.disableClass);
				jQuery(_options.btNext,_this).removeClass('next-'+_options.disableClass);

				var _indexNum = jQuery(_options.slideNum, _this).find('a').index(jQuery(this));
				_margin = (_step*_indexNum) - _options.innerMargin;
				f=0; _f2=0;
				if (_indexNum == 0) _f2=1;
				if (_margin + _step > _liSum) {
					_margin = _margin - (_margin - _liSum) - _step + _options.innerMargin;
					if (!_options.circleSlide) jQuery(_options.btNext, _this).addClass('next-'+_options.disableClass);
				}
				_animatedBlock.animate({marginLeft: -_margin + "px"}, {queue:false, duration: _options.duration});

				if (!_options.circleSlide && _margin==0) jQuery(_options.btPrev,_this).addClass('prev-'+_options.disableClass);
				jQuery.fn.galleryScroll.numListActive(_margin, jQuery(_options.slideNum, _this),_gWidth,_lastSection);

				if (_timerSlide) {
					clearTimeout(_timerSlide);
					_timerSlide = setTimeout(function(){
						autoSlide(_options.autoSlide)
					}, _options.autoSlide);
				}
				return false;
			});
		};
		jQuery(window).resize(function(){
			_gWidth = _holderBlock.width();
			_liWidth = jQuery(_options.scrollEl,_animatedBlock).outerWidth(true);
			_liSum = jQuery(_options.scrollEl,_animatedBlock).length * _liWidth;
			if (!_options.step) _step = _gWidth; else _step = _options.step*_liWidth;
			if (_options.slideNum && !_options.step) {
				var _lastSection = 0;
				var _sectionWidth = 0;
				while(_sectionWidth < _liSum)
				{
					_sectionWidth = _sectionWidth + _gWidth;
					if(_sectionWidth > _liSum) {
					       _lastSection = _sectionWidth - _liSum;
					}
				};
				jQuery.fn.galleryScroll.numListCreate(jQuery(_options.slideNum, _this), _liSum, _gWidth,_lastSection);
				jQuery.fn.galleryScroll.numListActive(_margin, jQuery(_options.slideNum, _this),_gWidth,_lastSection);
				numClick();
			};
			//if (_margin == _options.innerMargin) jQuery(this).addClass(_options.disableClass);
			if (_liSum - _gWidth  < _margin - _options.innerMargin) {
				if (!_options.circleSlide) jQuery(_options.btNext, _this).addClass('next-'+_options.disableClass);
				_animatedBlock.animate({marginLeft: -(_liSum - _gWidth + _options.innerMargin)}, {queue:false, duration: _options.duration});
			};
		});
	});
}
function initTabs()
{
	var sets = document.getElementsByTagName("ul");
	for (var i = 0; i < sets.length; i++)
	{
		if (sets[i].className.indexOf("tabset") != -1)
		{
			var tabs = [];
			var links = sets[i].getElementsByTagName("a");
			for (var j = 0; j < links.length; j++)
			{
				if (links[j].className.indexOf("tab") != -1)
				{
					tabs.push(links[j]);
					links[j].tabs = tabs;
					var c = document.getElementById(links[j].href.substr(links[j].href.indexOf("#") + 1));

					//reset all tabs on start
					if (c) if (links[j].className.indexOf("active") != -1) c.style.display = "block";
					else c.style.display = "none";

					links[j].onclick = function ()
					{
						var c = document.getElementById(this.href.substr(this.href.indexOf("#") + 1));
						if (c)
						{
							//reset all tabs before change
							for (var i = 0; i < this.tabs.length; i++)
							{
								var tab = document.getElementById(this.tabs[i].href.substr(this.tabs[i].href.indexOf("#") + 1));
								if (tab)
								{
									tab.style.display = "none";
								}
								this.tabs[i].className = this.tabs[i].className.replace("active", "");
							}
							this.className += " active";
							c.style.display = "block";
							return false;
						}
					}
				}
			}
		}
	}
}

function favoriteIt(id){
  var num = $('#numfav').val();
  $.post("prop_in_session.php",
        { "im_intrested": id, "prop_id": id},
        function(){
           $(".add_fav"+id).css('display', 'none');
           $(".del_fav"+id).css('display', 'block');
           if(num == 0)
		   {
  	         $('.mylist').show();
		   };
		   num++;
		   $('.mylist span').text('('+num+')');
		   $('#numfav').val(num);
        });
}

function deleteFavoriteIt(id){
  var num = $('#numfav').val();
  $.post("prop_in_session.php",
        { "im_intrested": id, "prop_id": id, "delpiso": 1},
        function(){
           $(".add_fav"+id).css('display', 'block');
           $(".del_fav"+id).css('display', 'none');
		   num--;
		   if(num == 0)
		   {
  	         $('.mylist').hide();
		   };
		   $('.mylist span').text('('+num+')');
		   $('#numfav').val(num);
        });
}

function deleteAllFavorite(lang){
  $.post("prop_in_session.php",
        { "im_intrested": 1, "piso_id": 0, "del": 1},
        function(){
        if(lang == 'eng') {        	  document.location='/';	        } else {
             document.location='/'+lang+'/';
           }
        });
}

function loadCalendar(y,m,id,lang){
  $.post("ajax_calendar.php",
        { "y": y, "m": m, "id": id, "lang": lang},
        function(data){
           $("#calendar-content").html(data);
        });
}

$(document).ready(function() {
   $("#language").change(function(){   	 goto_page();   });
   $("#currency_name").change(function(){   	 change_currency();   });
   $("#help-target-1").ezpz_tooltip({contentPosition: 'belowRightFollow'});
   $(".help-target").ezpz_tooltip({contentPosition: 'belowRightFollow'});

   $( "#date_arr" ).click(function(){
    if($("#ui-datepicker-div").css('display')=='none')
    {      $( "#datepicker" ).datepicker( "show" );    }
    else
    {   	  $( "#datepicker" ).datepicker( "hide" );
   	}   });
   $( "#date_dep" ).click(function(){
   	if($("#ui-datepicker-div").css('display')=='none')
    {
      $( "#datepicker2" ).datepicker( "show" );
    }
    else
    {
   	  $( "#datepicker2" ).datepicker( "hide" );
   	}
   });

   $( "#date_arr2" ).click(function(){
    if($("#ui-datepicker-div").css('display')=='none')
    {
      $( "#datepicker3" ).datepicker( "show" );
    }
    else
    {
   	  $( "#datepicker3" ).datepicker( "hide" );
   	}
   });
   $( "#date_dep2" ).click(function(){
   	if($("#ui-datepicker-div").css('display')=='none')
    {
      $( "#datepicker4" ).datepicker( "show" );
    }
    else
    {
   	  $( "#datepicker4" ).datepicker( "hide" );
   	}
   });
   /*$(window).bind('keydown', function(e){
    if($('.optionsDivVisible').text() != '')
    {
      var char = '';
      var index = '';
      char= String.fromCharCode(e.keyCode);
      switch(e.keyCode)
      {
      case 40:
      	$('.optionsDivVisible .selected-li').next().addClass('selected-li');
      	$('.optionsDivVisible .selected-li').first().removeClass('selected-li');
      	break;
      case 38:
        $('.optionsDivVisible .selected-li').prev().addClass('selected-li');
      	$('.optionsDivVisible .selected-li').last().removeClass('selected-li');
      	break;
      default:
        if( $('.optionsDivVisible').text() )
        {        }
      	break;
      }
    }
   });
   */
});

function _typeAhead(code, eventType){
var self = this;
//define self._prevChar if needed
if(!self._prevChar){ self._prevChar = ['',0]; }
var C = String.fromCharCode(code);
c = C.toLowerCase();
var focusFound = false;

function focusOpt(elem, ind){
focusFound = true;
$(elem).trigger(eventType);
self._prevChar[1] = ind;
};

this.list.find('li a').each(function(i){
if(!focusFound){
var thisText = $(this).text();
if( thisText.indexOf(C) == 0 || thisText.indexOf(c) == 0){
if(self._prevChar[0] == C){
if(self._prevChar[1] < i){ focusOpt(this,i); }
}
else{ focusOpt(this,i); }
}
}
});
this._prevChar[0] = C;
}

function goto_page() {
	if($("#language").val() !='eng')
	{
	  if($("#pageurl").val() != '/')
	  {	    document.location="/"+$("#language").val()+$("#pageurl").val();
	  } else document.location="/"+$("#language").val()+"/";
	} else
	{
	  if($("#pageurl").val() != '/')
	  {	    document.location=$("#pageurl").val();
	  } else
	  {	  	document.location="/";	  }	}
}

function ShowSendto()
{  if($('#sendtofriend').css('display') == 'none')
  {    $('#sendtofriend').show();  }
  else
  {    $('#sendtofriend').hide();  }}

function Sendto(){
  $("#sendtoform").validate();
  if($("#sendtoform").valid()) {     $("#sendtoform").submit();
  }
}

function SendForm(id){
  $(id).validate();
  if($(id).valid()) {     $(id).submit(); }
}


  function selectPriceFilter(sel)
  {
    if(sel == 'txt0')
      {
        $('#txt1').hide();
        $('#txt2').hide();
        $('#txt0').show();
      }
      else if(sel == 'txt1') {
        $('#txt0').hide();
        $('#txt2').hide();
        $('#txt1').show();
      }
      else if(sel == 'txt2') {
        $('#txt0').hide();
        $('#txt1').hide();
        $('#txt2').show();
      }
  }

function show_comments(text_show, text_hide)
{  if( $('.hidden-comments').css('display') == 'none' )
  {    $('.hidden-comments').slideDown('fast');
    $('.viewcomments').text(text_hide);  } else {    $('.hidden-comments').slideUp('fast');
    $('.viewcomments').text(text_show);  }}

function change_currency()
{
  if(typeof updateFilter=="function")
  {
    var currency =  $('#currency_name').val();
    if(currency == 'usd')
    {
      $(".symb").text('$');
    } else if(currency == 'gbp')
    {      $(".symb").text('£');    } else {      $(".symb").text('€');    }
    updateFilter();
  }
  else
  {    $('#form_currency').submit();
  }}

function departure_update()
{
  var date = $("#datepicker" ).datepicker( "getDate");
  var date_arr = $("#messanys").val().split('-');
  var date2 =  new Date(parseInt(date_arr[1],10), parseInt(date_arr[0],10)-1, $("#dias").val());
  if(date.getTime()>date2.getTime())
  {
	  var days = 3;
	  date.setTime(date.getTime()+days*24*60*60*1000);
	  var new_date = $.datepicker.formatDate('DD d MM, yy', new Date(date.getFullYear(), date.getMonth(), date.getDate() ));
	  $("#date_dep").text(new_date);
	  $("#datepicker2" ).val(new_date);
	  var day, month_year;
	  if(parseInt(date.getDate(),10)<10) day = '0'+date.getDate(); else day = date.getDate();
	  if(parseInt(date.getMonth(),10)+1<10)
	  {	  	month_year = '0'+(parseInt(date.getMonth(),10)+1)+'-'+date.getFullYear();
	  }
	  else
	  {
	    month_year = (parseInt(date.getMonth(),10)+1)+'-'+date.getFullYear();
	  }
	  $("#dias").val(day);
	  $("#messanys").val(month_year);
	  return true;
  }
}

function arrival_update(id_opt)
{  }

function departure_update2()
{
 var date = $("#datepicker3" ).datepicker( "getDate");
  var date_arr = $("#messanys2").val().split('-');
  var date2 =  new Date(parseInt(date_arr[1],10), parseInt(date_arr[0],10)-1, $("#dias2").val());
  if(date.getTime()>date2.getTime())
  {
	  var days = 3;
	  date.setTime(date.getTime()+days*24*60*60*1000);
	  var new_date = $.datepicker.formatDate('DD d MM, yy', new Date(date.getFullYear(), date.getMonth(), date.getDate() ));
	  $("#date_dep2").text(new_date);
	  $("#datepicker4" ).val(new_date);
	  var day, month_year;
	  if(parseInt(date.getDate(),10)<10) day = '0'+date.getDate(); else day = date.getDate();
	  if(parseInt(date.getMonth(),10)+1<10)
	  {
	  	month_year = '0'+(parseInt(date.getMonth(),10)+1)+'-'+date.getFullYear();
	  }
	  else
	  {
	    month_year = (parseInt(date.getMonth(),10)+1)+'-'+date.getFullYear();
	  }
	  $("#dias2").val(day);
	  $("#messanys2").val(month_year);
	  return true;
  }
}


