// Cookies - Write, Read, Array support
function cookieWrite(name, value, hours) {
  var expire = "";
  if(hours != null) {
    expire = new Date((new Date()).getTime() + hours * 3600000);
    expire = "; expires=" + expire.toGMTString();
  }
  var path="; path=/";
  document.cookie = name + "=" + escape(value) + expire + path;
}

function cookieRead(name) {
  var cookieValue = "";
  var searchString = name + "=";
  if(document.cookie.length > 0) {
    offset = document.cookie.indexOf(searchString);
    if (offset != -1) {
      offset += searchString.length;
      end = document.cookie.indexOf(";", offset);
      if (end == -1) end = document.cookie.length;
      cookieValue = unescape(document.cookie.substring(offset, end));
    }
  }
  return cookieValue;
}

function cookieArrayWrite(name, v, hours) {
	var valueArray=new Array();
	var a=0;
	var i;
	for (i in v) {
		valueArray.push(i+"^"+v[i]);
	};
	var valueJoined=valueArray.join("~");
	cookieWrite(name, valueJoined, 750);
}

function cookieArrayRead(name) {
	var v=""+cookieRead(name);
	var newValue=new Array();
	if (v.length>0) {
		v=v.split("~");
		for (var i in v) {
			v[i]=v[i]+"";
			if (v[i].length>0){
				temp=v[i].split("^");
				newValue[temp[0]]=temp[1];
			}
		}
	}
	return newValue;
}

// new favorites

function bindFavorites() {
    //alert('bind');
	$('[addtofavs]').bind("click", function() {
		$(this).blur();
		var data=$(this).attr("addtofavs");
		var thisObjectId=$(this).attr("objectId");
		if (thisObjectId==undefined) thisObjectId=objectId;

		var favCookie=cookieArrayRead("favCookie");
		var thisIndex=favCookie.length;
        //alert(thisIndex);
		stored=0;
		for (i in favCookie) {
			if (favCookie[i]==data) {
				stored=1; var storedAs=i;
				break;
			}
		}
		if (stored==0) {
			favCookie[thisIndex]=data;
			cookieArrayWrite("favCookie", favCookie);
			if(thisIndex > 5) deltaIndex ++;
			submitSupplyStats(thisObjectId, 7);
		} else {
			delete favCookie[storedAs];
			cookieArrayWrite("favCookie", favCookie);
			if((thisIndex > 6) && (deltaIndex > 0)) deltaIndex --;
		}
		updateFavorites();
		return false;
	});
}
function updateFavorites() {
	var favCookie=cookieArrayRead("favCookie"); var favHtml=""; var favNames=""; newFavs=new Array();
	var ii=0;

	if (favCookie.length>0) {
		for (var i=0; i<favCookie.length; i++) {
			if (favCookie[i]) {
				var data=favCookie[i].split(",,");
				if (data.length==3) {
					newFavs[ii]=favCookie[i];
					favHtml=favHtml+'<td><div class="favsHolder"><a class="deselect" href="#" onclick="deleteCol(getOrderNum(this)); removeFavorite(\''+data[0]+',,'+data[1]+',,'+data[2]+'\'); return false;" title="'+lang.favorites.remove+'; "></a><a class="favs" href="'+data[0]+'"><img src="'+data[2]+'" title="'+data[1]+'"></a></div></td>';
                    favNames = favNames + data[1] + '<br />';
					ii++;
				}
			}
		}
        //alert(favNames);
	}
	if (newFavs.length>0) {
		//alert('>');
		$('tr.favsLine').html(favHtml);
		if($('div.favBox').css('display') == 'none') {
			$('div.favBox').slideDown();
		}
	} else {
		//alert($('div.favBox').css('display'));
		if($('div.favBox').css('display') == 'block') {
			$('div.favBox').slideUp(400, function() {
				$('tr.favsLine').html(favHtml);
			});
			} else {
				$('tr.favsLine').html(favHtml);
		}
	}
    $('div#cbox_reservationPanelFav p.names, div#cbox_friendPanelFav p.names').html(favNames);
	cookieArrayWrite("favCookie", newFavs);
	maxDeltaIndex = newFavs.length - 6;
	moveFavorites();
	alignFavorites();
	alignCompareLink(newFavs.length);
}
function removeFavorite(a) {
	var data=a;
    //alert(a);
	var favCookie=cookieArrayRead("favCookie");
	var thisIndex=favCookie.length;
	var stored=0;
	for (i in favCookie) {
		if (favCookie[i]==data) {
			stored=1; var storedAs=i;
			break;
		}
	}
	if (stored==1) {
		delete favCookie[storedAs];
		cookieArrayWrite("favCookie", favCookie);
		if((thisIndex > 6) && (deltaIndex > 0)) deltaIndex --;
		updateFavorites();
	}
	return false;
};


function alignFavorites() {
	$('[addtofavs]').each(function() {
		$(this).removeClass('selected').attr('title',lang.favorites.add);
        var textLink = $(this).parents('div.detail').find('a.favLink');
		textLink.html(textLink.attr('compare'));
		var data=$(this).attr("addtofavs");
		var favCookie=cookieArrayRead("favCookie");
		if (favCookie.length>0) {
			for (i in favCookie) {
				if (favCookie[i]==data) {
					$(this).addClass('selected').attr('title',lang.favorites.remove);
		            textLink.html(textLink.attr('nocompare'));
				}
			}
		}
	});
}

function alignCompareLink(count) {
    if(count > 1) {
        $('a.compare').show();
    } else {
        $('a.compare').hide();
    }
}

function moveFavorites() {
    //alert(deltaIndex);
    delta = -(deltaIndex * 114);
    $('div.newFavs table').css('left',delta+'px');
    alignArrows();
}
function alignArrows() {
    $('div.leftArrow a').hide();
    $('div.rightArrow a').hide();

    if(deltaIndex < maxDeltaIndex) {
        $('div.rightArrow a').show();
    }
    if(deltaIndex > 0) {
        $('div.leftArrow a').show();
    }
}
/*function removeCol(o) {
    //compare table
    var td = $(o).parents('td');
    var indd = $(o).parents('tr').find('td').index(td);
    $('table#table tr').each(function() {
        $(this).find('td:eq('+indd+')').remove();
    });
}*/

   function deleteCol(index) {
       if($('#table thead tr td').length < 2) { // col count before click, redirect
           window.location = '/';
       } else {
           //td = $(o).parents('td');
           //var indd = $('table#table thead tr td').index(td);
           $('table#table tr').each(function() {
               $(this).find('td:eq('+index+')').remove();
           });
           //position correction
           var placeholderW = $('div.cols').width();
           var tableW = $('#table').width();
           var rightSpace = (tableW - placeholderW) + $('#table').position().left;
           if(($('#table').position().left < 0) && rightSpace < 0) {
               $('div.cols').scrollTo( {top:'-=0px',left:'-=232'}, 300, {
       			onAfter: function(){
                       alignEars();
       			}
       		});
           } else {
               alignEars();
           }
       }
   }
function getOrderNum(o) {
	var element = $(o).parents('td');
	var parent = $(o).parents('tr');
	var orderNum = parent.find('td').index(element);
	//alert(orderNum); 
	return orderNum; 
}
/*
// check Dates search form 2010 - is in panel search
    function checkDatesSearch2010(oFrom,oTo) {
        var now = new Date();
        var now_00 = new Date(now.getFullYear(),now.getMonth(),now.getDate());
        var dateFrom = oFrom.datepicker('getDate');
        var dateTo = oTo.datepicker('getDate');
        if((oFrom.val() != searchStatus[15]) && (oFrom.val() != '') && (oTo.val() != searchStatus[15]) && (oTo.val() != '')) {  // both filled
            if((dateFrom - now_00) < 0) {
                alert(lang.datepicker.wrongArrival+'!');
                return false;
            } else {
                if((dateTo - dateFrom) < 1) {
                    alert(lang.datepicker.wrongDeparture+'!');
                    return false;
                } else {
                    return true;
                }
            }
        } else {
            return false;
        }
    }
*/
// check Dates 2010
    function checkDates2010(oFrom,oTo) {
        var now = new Date();
        var now_00 = new Date(now.getFullYear(),now.getMonth(),now.getDate());
        var dateFrom = oFrom.datepicker('getDate');
        var dateTo = oTo.datepicker('getDate');

        //alert(oFrom.val()+'-'+oTo.val()+','+dateFrom+'-'+dateTo);

        if((oFrom.val() != searchStatus[15]) && (oFrom.val() != '') && (oTo.val() != searchStatus[15]) && (oTo.val() != '')) {  // both filled
            if((dateFrom - now_00) < 0) {
                alert(lang.datepicker.wrongArrival+'!');
                return false;
            } else {
                if((dateTo - dateFrom) < 1) {
                    alert(lang.datepicker.wrongDeparture+'!');
                    return false;
                } else {
                    return true;
                }
            }
        } else if(((oFrom.val() == searchStatus[15]) || (oFrom.val() == '')) && ((oTo.val() == searchStatus[15]) || (oTo.val() == ''))) {   // both empty
            return true;
        } else {
            alert(lang.datepicker.bothDates+'!');
            return false;
        }
    }

// check Dates 2010 object_details reservation form
    function checkDates2010ObjDet(oFrom,oTo) {
        var now = new Date();
        var now_00 = new Date(now.getFullYear(),now.getMonth(),now.getDate());
        var dateFrom = oFrom.datepicker('getDate');
        var dateTo = oTo.datepicker('getDate');
        //alert(oFrom.val()+'-'+oTo.val()+','+dateFrom+'-'+dateTo);
        if((oFrom.val() != searchStatus[15]) && (oFrom.val() != '') && (oTo.val() != searchStatus[15]) && (oTo.val() != '')) {  // both filled
            if((dateFrom - now_00) < 0) {
                alert(lang.datepicker.wrongArrival+'!');
                return false;
            } else {
                if((dateTo - dateFrom) < 1) {
                    alert(lang.datepicker.wrongDeparture+'!');
                    return false;
                } else {
                    return true;
                }
            }
        } else {
            alert(lang.datepicker.bothDates+'!');
            return false;
        }
    }

// check Dates 2011 object_details reservation form
function checkDates2011ObjDet(oFrom,oTo,labelFrom,labelTo) {
    var returnVal = 0;
    var now = new Date();
    var now_00 = new Date(now.getFullYear(),now.getMonth(),now.getDate());
    var dateFrom = oFrom.datepicker('getDate');
    var dateTo = oTo.datepicker('getDate');
    if((oFrom.val() != labelFrom) && (oTo.val() != labelTo) && (oFrom.val() != '') && (oTo.val() != '')) {  // both filled
	    if((dateTo - dateFrom) < 1) {
	    	returnVal = 2; // prekrizene datumy
	    }
    } else {
    	returnVal = 1; // nevyplnene oba
    }
	return returnVal;
}

function checkDates(from,to) {
    filledFrom = !isNaN(parseInt($(from).val().substr(0,1)));
    filledTo = !isNaN(parseInt($(to).val().substr(0,1)));
   if((filledFrom) && (filledTo)) {
        var tstmpFrom = getTimeStmp($(from).attr('value'));
        var tstmpTo = getTimeStmp($(to).attr('value'));if((tstmpFrom - tstmpTo) >= 0) {
        tstmpTo = tstmpFrom + 86400000;
        var newTo = getStrFromTimeStmp(tstmpTo);
        $(to).attr('value',newTo);
    }
    } else if(filledFrom) {
        var tstmpFrom = getTimeStmp($(from).attr('value'));
        tstmpTo = tstmpFrom + 86400000;
        var newTo = getStrFromTimeStmp(tstmpTo);
        $(to).attr('value',newTo);
    } else if(filledTo) {
        var tstmpTo = getTimeStmp($(to).attr('value'));
        tstmpFrom = tstmpTo - 86400000;
        var newFrom = getStrFromTimeStmp(tstmpFrom);
        $(from).attr('value',newFrom);
    }
    //$('div#filter a.searchAny, form.simpleSearch a.searchAny').css('visibility','visible');
    $(from).parents('form').find('a.searchAny').css('visibility','visible');
    formValidateField(from);
}
function checkDatesDemand(oFrom,oTo) {
    var now = new Date();
    var now_00 = new Date(now.getFullYear(),now.getMonth(),now.getDate());
    var alternative = now.getDate()+'/'+(now.getMonth()+1)+'/'+now.getFullYear();
    if(oFrom.val() == '') oFrom.val(alternative);
    if(oTo.val() == '') oTo.val(alternative);
    var dateFrom = oFrom.datepicker('getDate');
    var dateTo = oTo.datepicker('getDate');
    if((dateFrom - now_00) < 0) dateFrom = now_00;
    if((dateTo - dateFrom) < 1) dateTo.setDate(dateFrom.getDate()+1);
    oFrom.datepicker('setDate',dateFrom);
    oTo.datepicker('setDate',dateTo);
    oFrom.blur();
    oTo.blur();
}
function getTimeStmp(str) {
    var aStr = str.split('/');
    var oDate = new Date(aStr[2],(aStr[1]-1),aStr[0]);
    var stmp = oDate.getTime();
    return stmp;
}
function getStrFromTimeStmp(stmp) {
    var oDate = new Date(stmp);
    var d = oDate.getDate();
    //alert(d);
    if(d < 10) d = '0'+d;
    var m = oDate.getMonth()+1;
    if(m < 10) m = '0'+m;
    var y = oDate.getFullYear();
    var str = d+'/'+m+'/'+y;
    //alert(str);
    return str;
}

$(document).ready(function(){
	// Language Selection
	$(".dropdown_flag").click(function() {
		$(".languages").slideToggle("fast");
		return false;
	});

	// Dropdown Options
	$(".order_by > span > a, .green_cell_our_cottage > a").each( function (i) {
		$(this).mouseover(function() {
			$(this).parent().parent().find(".roll_over").show().bind("mouseleave",function(){
				$(this).hide();
			});
		});
	});

	// AutoHide value of INPUT field
	$("input[autohide], textarea[autohide]").each( function (i) {
		if ($(this).val()=='') {
			$(this).addClass('blank').val($(this).attr("autohide"));
		}
		$(this).focus(function() {
			if(this.value==$(this).attr("autohide")) {
				this.value='';	
				$(this).removeClass('blank');	
			}
		}).blur(function() {
			if ($(this).val()=='') {
				$(this).val($(this).attr("autohide"));
				$(this).addClass('blank');
			}
		});
	});
	
	// AutoHide value of INPUT field at search panel
	/*$('div.topFulltext input').focus(function() {
	    if ($(this).val() == $(this).attr('autohd')) {
            $(this).removeClass('blank').val('');
	    }
    });*/
    $('div.topFulltext input').bind('keyup', function(event) {
		if (event.keyCode==13) $(this).prev().trigger('click');
		//if (event.keyCode==13) eval($(this).attr('onEnter'));
	});

  	// Format Nice Tables
	$("table.nice").each( function (i) {
		if ($(this).find("td").length==0) {
			$(this).hide();
			return;
		}
		var cols=$(this).find("tr:eq(1) td").length;
		$(this).find("th:first").addClass("left");
		$(this).find("th:last").addClass("right");
		$(this).find("tr:last").each( function (i) {
			$(this).find("td").each(function (i) {
				$(this).addClass("noBorder");
			});
			var a="<tr>";
			for (i=0; i<cols; i++) {
				a=a+"<td>&nbsp;</td>";
			}
			a=a+"</tr>";
			$(this).after(a);
		});
		$(this).find("tr").each( function (i) {
			$(this).find("td:first").addClass("left");
			$(this).find("td:last").addClass("right");
		});
		$(this).find("tr:last").addClass("last");
	});
	
	// old Favorites
    /*
	$('[addtofavs]').bind("click", function() {
		var data=$(this).attr("addtofavs");
		var favCookie=cookieArrayRead("favCookie");
		var thisIndex=favCookie.length;
		var stored=0;
		for (i in favCookie) {
			if (favCookie[i]==data) {
				stored=1; var storedAs=i;
				break;
			}
		}
		if (stored==0) {
			if (thisIndex==10) {
				return false;
			}
			favCookie[thisIndex]=data;
			cookieArrayWrite("favCookie", favCookie);
			$(this).addClass("selected");
            $(this).html(lang.favorites.remove);
			updateFavorites();

			$(this).TransferTo({
				duration: 300,
				to: 'fav'+thisIndex,
				className: 'transferer1',
				easing: 'easein'
			}).addClass("selected");

			var nameParsed=data.split(",,");
			var namePos=nameParsed[0].lastIndexOf("/");
			nameParsed=nameParsed[0].substr(namePos+1);
            submitSupplyStats(nameParsed, 7);
		} else {
			delete favCookie[storedAs];
			cookieArrayWrite("favCookie", favCookie);
			thisIndex=storedAs;
			$(this).removeClass("selected");
            $(this).html(lang.favorites.add);
			updateFavorites();
		}
		return false;
	});
	
	$('[addtofavs]').each(function(i) {
		var data=$(this).attr("addtofavs");
		var favCookie=cookieArrayRead("favCookie");
		if (favCookie.length>0) {
			for (i in favCookie) {
				if (favCookie[i]==data) {
                    $(this).addClass("selected");
                    $(this).html(lang.favorites.remove);
				} else {
                    $(this).removeClass("selected");
                    $(this).html(lang.favorites.add);
				}
			}
		} else {
            $(this).removeClass("selected");
            $(this).html(lang.favorites.add);
		}
	});
	
	// Update Favorites
	updateFavorites(); */

	// Main Form validation
	$('form.main :text, form.main :password, form.main textarea, form.main select').bind("blur keyup focus change", formValidateField);
	$('form.main :file').bind("change", formValidateField);
	$('form.main input:radio, form.main input:checkbox').bind("change click", formValidateField);


	// Prepare the Search
	var html="";
	for (i in s_o) {
		if (s_o[i][2]==undefined || s_o[i][2]=='') continue;
		html+="<option value='"+s_o[i][0]+"' class='"+s_o[i][1]+"'>"+s_o[i][2]+"</option>"
	}
	$("#searchForm #lfObjectType").prepend(html);

	var html="";
	for (i in s_a) {
		if (s_a[i][2]==undefined || s_a[i][2]=='') continue;
		html+="<option value='"+s_a[i][0]+"' class='"+s_a[i][1]+"'>"+s_a[i][2]+"</option>"
	}
	$("#searchForm #lfArea").prepend(html);

	var html="";
	for (i in s_l) {
		if (s_l[i][2]==undefined || s_l[i][2]=='') continue;
		html+="<option value='"+s_l[i][0]+"' class='"+s_l[i][1]+"'>"+s_l[i][2]+"</option>"
	}
	$("#searchForm #lfLangSpoken").prepend(html);

	var html="";
	for (i in s_p) {
		if (s_p[i][2]==undefined || s_p[i][2]=='') continue;
		html+="<option value='"+s_p[i][0]+"' class='"+s_p[i][1]+"'>"+s_p[i][2]+"</option>"
	}
	$("#searchForm #lfPriceLevel").prepend(html);

	var html="";
	for (i in s_c) {
		if (s_c[i][2]==undefined || s_c[i][2]=='') continue;
		html+="<option value='"+s_c[i][0]+"' class='"+s_c[i][1]+"'>"+s_c[i][2]+"</option>"
	}
	$("#searchForm #lfCapacity").prepend(html);

	var html="";
	for (i in s_m) {
		if (s_m[i][2]==undefined || s_m[i][2]=='') continue;
		html+="<option value='"+s_m[i][0]+"' class='"+s_m[i][1]+"'>"+s_m[i][2]+"</option>"
	}
	$("#searchForm #lfMeal").prepend(html);

	var html="";
	for (i in s_d) {
		if (s_d[i][2]==undefined || s_d[i][2]=='') continue;
		html+="<option value='"+s_d[i][0]+"' class='"+s_d[i][1]+"'>"+s_d[i][2]+"</option>"
	}
	$("#searchForm #lfDog").prepend(html);

	setTimeout("setSearchStatus()", 1);

	// Quick Search
	$("#searchForm select, #searchForm input").bind("change keyup", function() {
		$.ajax({
			type: "GET",
			url: myPath+"ajax/search_results.php",
			data: $("#searchForm").serialize(),
			dataType: "text",
			success: function(msg, status){
				$("#searchForm .resultsResponse").css("display", "block").html(msg);
			}
		});
	});

	// Fancybox
 	$("a[enlarge=1]").fancybox({
 		'zoomSpeedIn': 200,
		'zoomSpeedOut': 200,
		'zoomSpeedChange': 200,
		'overlayShow': true,
		'overlayOpacity': 0.3,
		//'hideOnContentClick': true,
		'hideOnOverlayClick': true
	});

	// Fancybox Inline content
 	$("a[fancyboxContact=1]").fancybox({
 		'zoomSpeedIn': 200,
		'zoomSpeedOut': 200,
		'overlayShow': true,
		'overlayOpacity': 0.3,
		'hideOnOverlayClick': true,
		'onClosed':  function() { 
		    $('div.advanced').hide();
			$('div.basic').show(); 
		} 
	}).click(function() {
 		submitSupplyStats($(this).attr('objectId'), 3);
 		//alert($(this).attr('objectId'));
 	});

	// Iframe windows
 	$("a[inIframe=1]").fancybox({
 		'zoomSpeedIn': 200,
		'zoomSpeedOut': 200,
		'zoomSpeedChange': 200,
		'overlayShow': true,
		'overlayOpacity': 0.3,
		'width': 707,
		'height': 500,
		//'hideOnContentClick': true,
		'hideOnOverlayClick': true
	});

	//tooltip - homepage
    $('dl.gallery').live('mouseover', function(){
        $(this).find('div.homeTooltip').show();
        return false;
    });
    $('dl.gallery').live('mouseout', function(){
        $(this).find('div.homeTooltip').hide();
        return false;
    });

	// new favorites:

    $('div.leftArrow a').live('click', function(){
        $(this).blur();
        deltaIndex --;
        moveFavorites();
        return false;
    });
    $('div.rightArrow a').live('click', function(){
        deltaIndex ++;
        moveFavorites();
        return false;
    });
    $('div.favsHolder').live('mouseover', function(){
    $(this).find('a.deselect').css('display','block');
        return false;
    });
    $('div.favsHolder').live('mouseout', function(){
    $(this).find('a.deselect').css('display','none');
        return false;
    });
    $('div.favRow a.delete').live('click', function(){
        var favCookie='';
        cookieArrayWrite("favCookie", favCookie);
        maxDeltaIndex = -6;
        updateFavorites();
        if(redir) { // on compare page
            window.location = '/';
        }
        return false;
    });

	deltaIndex = 0;
    bindFavorites();
 	updateFavorites();

    //demand form
    /*
    $('div.max2items :checkbox').live('click', function(){
        if($(this).parents('.max2items').find(':checked').size() > 2) {
            return false;
        }
    });
    */
});

function setSearchStatus() {
	$("#searchForm #lfObjectType").val(searchStatus[0]);
	$("#searchForm #lfArea").val(searchStatus[1]);
	$("#searchForm #lfLangSpoken").val(searchStatus[2]);
	$("#searchForm #lfPriceLevel").val(searchStatus[3]);
	$("#searchForm #lfCapacity").val(searchStatus[4]);
	$("#searchForm #lfMeal").val(searchStatus[5]);
	$("#searchForm #lfDog").val(searchStatus[6]);
	$("#searchForm #lfKeyword").val(searchStatus[10]);
	$("#searchForm #lfDateFromMain").val(searchStatus[13]);
	$("#searchForm #lfDateToMain").val(searchStatus[14]);
}
 

function reservationFocus() {
	$("#reservationForm #name")
	.animate({backgroundColor: "#ff0000"}, 100 )
	.animate({backgroundColor: ""}, 100 )
	.animate({backgroundColor: "#ff0000"}, 100 )
	.animate({backgroundColor: ""}, 100 )
	.animate({backgroundColor: "#ff0000"}, 100 )
	.animate({backgroundColor: ""}, 100 )
	.animate({backgroundColor: "#ff0000"}, 100 )
	.animate({backgroundColor: ""}, 100 )
	.focus()
}

// Form Validation
function validateForm(formObject, valData, resultObject) {
	var formData=new Object();
	$(formObject).find("input, textarea").each(function(i) {
		formData[$(this).attr("name")]=$(this).val();
	});
	var problems=new Array();
	for (i in valData) {
		var v=formData[i];
		eval('var result='+valData[i].cond+';');
		if (result==true) {
			$(formObject).find("#"+i).removeClass("inv");
		} else {
			$(formObject).find("#"+i).addClass("inv");
			problems[problems.length]=valData[i].text;
		}
	}
	if (problems.length>0) {
		$(resultObject).css("display", "block").html(lang.reserve.wrong);
		//$(resultObject).css("display", "block").html(problems.join("<br/>"));
		return false;
	} else {
		return true;
	}
}

function formIsEmail(value) {
	if (typeof($value)=="object") value = $(value).val();
	if (!value) return false;
	value=value.toLowerCase();
	var regex = /^([\w-+]+(?:\.[\w-+]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	return regex.test(value);
}


function formValidateField(event) {
	var el=$(this);
	if (el.attr("type")=="checkbox" || el.attr("type")=="radio") {
		var parentDiv=el.parents("div.row");
		var c=parentDiv.find(":checked").length;
		if (!parentDiv.attr("valCond")) return;
		eval('var result='+parentDiv.attr("valCond")+';');
		if (result==true) {
			parentDiv.find("label.form_help").html("").hide();
			parentDiv.find(".radio_group").removeClass("inv");
		} else {
			parentDiv.find("label.form_help").html(parentDiv.attr("valText")).show();
		}
	} else if (el.attr("type")=="file") {
		if (!el.attr("valCond")) return;
		var v=el.val();
		var types=el.attr("valCond").split(",");
		var matched=0;
		for (i in types) {
			if (v.indexOf("."+types[i])>0) matched++
		}
		if (matched>0) {
			el.parent().find("label.form_help").html("");
			el.removeClass("inv");
			if (formtext.autosubmit==1) {
				$("form.main").find("#mainFormResponse").html(formtext.sending);
				$("form.main").submit();
			}
		} else {
			el.parent().find("label.form_help").html(el.attr("valText"));
		}
	} else {
		if (!el.attr("valCond")) return;
		var v=el.val();
		eval('var result='+el.attr("valCond")+';');
        //alert(el.attr("valCond"));
		if (result==true) {
			el.parent().find("label.form_help").html("");
			el.removeClass("inv");
			//if ((el.attr("type")=="text" || el.attr("type")=="password") && event.keyCode==13) formValidateMain() ;
		} else {
			el.parent().find("label.form_help").html(el.attr("valText"));
		}
	}
}

function formValidateMain(send, ignoreValid) {
	var checkedFields=new Object();
	var invalidFields=0;
	var formEl=$("form.main");
	
	$(":text, :checkbox, :radio, :file, textarea, select, :password", "form.main").each(function (i,obj) {
		
		if (checkedFields[$(obj).attr("name")]==1) {
			return true;
		} else {
			checkedFields[$(obj).attr("name")]=1;
			if ($(obj).attr("type")=="checkbox" || $(obj).attr("type")=="radio") {
				var parentDiv=$(obj).parents("div.row");
				var c=parentDiv.find(":checked").length;
				if (!parentDiv.attr("valCond")) return true;
				eval('var result='+parentDiv.attr("valCond")+';');
				if (result==true) {
					parentDiv.find("label.form_help").html("").hide();
					parentDiv.find(".radio_group").removeClass("inv");
				} else {
					parentDiv.find("label.form_help").html(parentDiv.attr("valText")).show();
					parentDiv.find(".radio_group").addClass("inv");
					invalidFields++;
				}
			} else if ($(obj).attr("type")=="file") {
				if (!$(obj).attr("valCond")) return true;
				var v=$(obj).val();
				var types=$(obj).attr("valCond").split(",");
				var matched=0;
				for (i in types) {
					if (v.indexOf("."+types[i])>0) matched++
				}
				if (matched>0) {
					$(obj).parent().find("label.form_help").html("");
					$(obj).removeClass("inv");
				} else {
					$(obj).parent().find("label.form_help").html($(obj).attr("valText"));
					invalidFields++;
				}
			} else {
				if (!$(obj).attr("valCond")) return true;
				var v=$(obj).val();
				eval('var result='+$(obj).attr("valCond")+';');
				if (result==true) {
					$(obj).parent().find("label.form_help").html("");
					$(obj).removeClass("inv");
				} else {
					$(obj).parent().find("label.form_help").html($(obj).attr("valText"));
					$(obj).addClass("inv");
					invalidFields++;
				}
			}
		}
	});
	
	if (invalidFields>0 && !send) {
		formEl.find("#mainFormResponse").html(formtext.wrongCount)
        formEl.find(".inv:first").focus();
	} else if (!ignoreValid) {
		var t=formEl.find("#mainFormResponse");
		if (formtext.sending) {
			formEl.find("#mainFormResponse").html(formtext.sending);
		} else {
			formEl.find("#mainFormResponse").html("Posielam dáta...");
		}
		formEl.submit();
	}
	
	return false;
	
}

function onlyChars(text, validChars) {
	var Char;
	for (i = 0; i < text.length; i++) { 
		Char = text.charAt(i); 
		if (validChars.indexOf(text.charAt(i)) == -1) return false;
	}
	return true;
}

function submitFeedback() {
	$.ajax({
		type: "GET",
		url: myPath+"ajax/submit_feedback.php",
		data: "feedback="+$("#feedback").val(),
		dataType: "text",
		success: function(msg, status){
			alert("Ďakujeme za Váš odkaz.");
			$("#feedback").val($("#feedback").attr('autohide'));
		},
		error: function() {
			alert("problem.");
		}
	});
	$("#feedback").val("Posielam...")
}

function submitSupplyStats(id, action) {
	if ('i'+id+'i'=='ii') return false;
	//alert('id: '+id+'\naction: '+action);
	if(isLive)	pageTracker._trackEvent('visitors', 'a'+action, 'i'+id+'i');
	if (action==3) {
		$("#contactPanel").slideDown("normal");
		$("#contactLink").hide();
		$("#contactSpaceLink"+id).hide();
		$("#contactSpace"+id).show();
	}
}

function keepLogged() {
	$.ajax({
		type: "GET",
		url: "/?keepLogged",
		dataType: "text"
	});
}

function initKeepLogged() {
	setInterval("keepLogged();", 60000);
}

function round2(a) {
	return Math.round(a*100)/100;
}
