function trim(str, chars) {
	return ltrim(rtrim(str, chars), chars);
}
 
function ltrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}
 
function rtrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}


function implode (glue, pieces) {
    // Joins array elements placing glue string between items and return one string  
    // 
    // version: 911.718
    // discuss at: http://phpjs.org/functions/implode    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Waldo Malqui Silva
    // +   improved by: Itsacon (http://www.itsacon.net/)
    // +   bugfixed by: Brett Zamir (http://brett-zamir.me)
    // *     example 1: implode(' ', ['Kevin', 'van', 'Zonneveld']);    // *     returns 1: 'Kevin van Zonneveld'
    // *     example 2: implode(' ', {first:'Kevin', last: 'van Zonneveld'});
    // *     returns 2: 'Kevin van Zonneveld'
    var i = '', retVal='', tGlue='';
    if (arguments.length === 1) {        pieces = glue;
        glue = '';
    }
    if (typeof(pieces) === 'object') {
            for (i in pieces) {
				if(pieces[i]!=''){
				retVal += tGlue + pieces[i]; tGlue = glue;
				}
                
            }
            return retVal;
        
    }    else {
        return pieces;
    }
}
function check_calc(lang){
	var err='';
	var kva = document.getElementById('kvartira_id');
	var kvaid =kva.value;
	var fio=document.getElementById('kvalabel');
	if(kvaid=='' || kvaid==0){	
		if(lang=='ru'){	
			err = '* Выберите апартаменты';
		}else{
			err = '* Choose appartments';		
		}
		fio.innerHTML = err;
		fio.className = 'labelred';
		kva.className = 'inputred';
	}else{
		if(lang=='ru'){
		txt = '*Ваш выбор:';
		}else{
		txt = '*Your Choice:';
		}
		fio.innerHTML = txt;
		fio.className = 'label';
		kva.className = 'input';		
		
	}		
	
	var guests = document.getElementById('guest_cnt');
	var guests_cnt =guests.value;
	var fio=document.getElementById('guest_label');
	if(guests_cnt=='' || guests_cnt==0){
		if(lang=='ru'){
			err = '*Количество гостей:';
		}else{
			err = '*Guests Count:';
		}
		fio.innerHTML = err;
		fio.className = 'labelred';
		guests.className = 'inputred';
	}else{
		if(lang=='ru'){
			txt = '*Количество гостей:';
		}else{
			txt = '*Guests Count:';
		}
		fio.innerHTML =txt;
		fio.className = 'label';
		guests.className = 'input';		
		
	}	
	
	var datefromel = document.getElementById('arriveDate');
	var datefrom =datefromel.value;
	var fio=document.getElementById('arrivedate_label');
	var datefromel = document.getElementById('arriveDate_d');
	
	if(datefrom=='' || datefrom==0){
		if(lang=='ru'){
			err = '*Выберите дату прибытия:';
		}else{
			err = '*Choose Arrive Date:';
		}
		fio.innerHTML = err;
		fio.className = 'labelred';
		datefromel.className = 'act-button-red';
	}else{
		if(lang=='ru'){
			txt = '*Выберите дату прибытия:';
		}else{
			txt = '*Choose Arrive Date:';
		}
		fio.innerHTML = txt;
		fio.className = 'label';
		datefromel.className = 'act-button';			
	}	
	
	var datetoel = document.getElementById('awayDate');
	var dateto =datetoel.value;	
	var fio=document.getElementById('awaydate_label');
	var datetoel = document.getElementById('awayDate_d');
	if(dateto=='' || dateto==0){
		if(lang=='ru'){
			err = '*Выберите дату отъезда:';
		}else{
			err = '*Choose Departure Date:';
		}
		fio.innerHTML = err;
		fio.className = 'labelred';
		datetoel.className = 'act-button-red';
	}else{
		if(lang=='ru'){
			txt = '*Выберите дату отъезда:';
		}else{
			txt = '*Choose Departure Date:';
		}
		fio.innerHTML = txt;
		fio.className = 'label';
		datetoel.className = 'act-button';		
		
	}	
	
	if(dateto==datefrom || datefrom>dateto){		
		datefromel.className = 'act-button-red';
		datetoel.className = 'act-button-red';
		if(lang=='ru'){
			err = 'Дата прибытия должна быть раньше даты отбытия\n';
		}else{
			err = 'Arrive date must be earlier than departure date\n';		
		}
	}
	return err;
}
function go2order(lang){
	var err = check_calc(lang);
	if(err!=''){
		alert(err);
		return false;
	}else{
		document.forms['rorder'].submit();
	}	
}
function check_field_error(fieldname,labelname,validate_type,label_normal,label_error,iswide){
	fieldobj = document.getElementById(fieldname);
	field_val = fieldobj.value;
	label_obj = document.getElementById(labelname);
	hasError = 0;
	if(validate_type=='empty'){
		if(trim(field_val)==''){
			hasError=1
		}		
	}
	if(validate_type=='email'){
		if(!is_valid_email(trim(field_val))){
			hasError=1
		}		
	}
	if(hasError==1){
	if(iswide){
	fieldobj.className = 'inputred wide';
	}else{
	fieldobj.className = 'inputred';
	}
		
		label_obj.innerHTML = label_error;
		label_obj.className = 'labelred';
		return label_error;
	}else{
	if(iswide){
	fieldobj.className = 'input wide';
	}else{
	fieldobj.className = 'input';
	}	

		label_obj.innerHTML = label_normal;
		label_obj.className = 'label';	
		return '';
	}	
}
function trysubmit_feed(lang){
var errarr = new Array();
if(lang=='ru'){
	errarr[0] = check_field_error('client_name','fio','empty','* Ваши фамилия и имя:','* Вы не ввели Ваши имя и фамилию',true);
	errarr[1] = check_field_error('client_mail','mail','email','* Ваш e-mail:','* Вы не ввели Ваш e-mail',0);
}else{
	errarr[0] = check_field_error('client_name','fio','empty','* Your surname and name:','* Please enter your name and surname',true);
	errarr[1] = check_field_error('client_mail','mail','email','* Your e-mail:','* Please enter your Ваш e-mail',0);	
}
var err='';	
	if(err!=''){
		alert(err);
		return;
	}else{
		document.forms['rfeed'].submit();
	}	
}
function trysubmit_recall(lang){
	var errarr = new Array();
if(lang=='ru'){
	errarr[0] = check_field_error('client_name','fio','empty','* Ваши фамилия и имя:','* Вы не ввели Ваши имя и фамилию',true);
	errarr[1] = check_field_error('client_email','mail','email','* Ваш e-mail:','* Вы не ввели Ваш e-mail',0);	
	errarr[2] = check_field_error('client_phone','phon','empty','* Ваш телефон:','* Вы не ввели Ваш телефон',0);
	errarr[3] = check_field_error('user_guess','captcha','empty','* Введите буквы с картинки справа:','* Введите буквы с картинки справа',0);
	errarr[4] = check_field_error('client_cmt','cmt','empty','* Введите текст отзыва:','* Вы не ввели текст отзыва',1);
}else{
	errarr[0] = check_field_error('client_name','fio','empty','* Your surname and name:','* Please enter your name and surname',true);
	errarr[1] = check_field_error('client_email','mail','email','* Your e-mail:','* Please enter your e-mail',0);	
	errarr[2] = check_field_error('client_phone','phon','empty','* Your phone:','* Please enter your phone',0);
	errarr[3] = check_field_error('user_guess','captcha','empty','* Enter captcha:','* Please enter captcha',0);
	errarr[4] = check_field_error('client_cmt','cmt','empty','* Enter Your recall:','* Please enter Your recall',1);
}
var errmsg='';
err = implode("\n",errarr);	
	
	if(implode("",errarr)!=''){
		alert(err);
		return;
	}else{
		document.forms['recallform'].submit();
	}	
	return
}
function trysubmit_order(lang){
	var client=document.getElementById('client_name');
	client_name = client.value;
	var fio=document.getElementById('fio');
	var err='';
	var verr='';
	if(client_name==''){	
		verr='fio';
		if(lang=='ru'){
			err = '* Вы не ввели Ваши имя и фамилию';
		}else{
			err = '* Please enter your name and surname';
		}		
		fio.innerHTML = err;
		fio.className = 'labelred';
		client.className = 'inputred wide';
	}else{
		fio.className = 'label';
		client.className = 'input wide';				
		if(lang=='ru'){
			fio.innerHTML = '*Ваши фамилия и имя:';
		}else{
			fio.innerHTML = '*Your surname and name:';
		}		
	}	
	var client=document.getElementById('client_email');
	client_email = client.value;
	var fio=document.getElementById('mail');
	if(client_email==''){		
		verr+='mail';
		if(lang=='ru'){
			err = '*Ваш e-mail:';
		}else{
			err = '*Your e-mai:';
		}
		fio.innerHTML = err;
		fio.className = 'labelred email';
		client.className = 'inputred';
	}else{
		if(is_valid_email(client_email)){
			if(lang=='ru'){
				fio.innerHTML = '*Ваш e-mail:';
			}else{
				fio.innerHTML = '*Your e-mai:';
			}
			fio.className = 'label email';
			client.className = 'input';	
		}else{
			if(lang=='ru'){
				err = '*Ваш e-mail:';
			}else{
				err = '*Your e-mai:';
			}
			fio.innerHTML = err;
			fio.className = 'labelred email';
			client.className = 'inputred';
		}
		
		
	}		
	var client=document.getElementById('client_phone');
	client_phone = client.value;	
	var fio=document.getElementById('phon');
	if(client_phone==''){
		verr='phon';
		if(lang=='ru'){
			err = '* Пустой телефон';
		}else{
			err = '* Empty phone';
		}	
		
		fio.innerHTML = err;
		fio.className = 'labelred';
		client.className = 'inputred';
	}else{
		if(lang=='ru'){
			fio.innerHTML = '*Ваш номер телефона:';
		}else{
			fio.innerHTML = '*Your phone number:';
		}
		fio.className = 'label';
		client.className = 'input';		
		
	}	
	
	errc = check_calc(lang);
	if(errc!=''){
	alert(errc);
	}
	if(verr!='' || errc!=''){
		
		return false;
	}else{
		document.forms['rorder'].submit();
	}		
}

function is_valid_email (email){
if(trim(email)!=''){
return /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(email);
}
return false;
}
function calc_arenda(lang,param){
	var err = check_calc(lang);
	if(err!=''){
		alert(err);
	return;
	}else{
		var kva = document.getElementById('kvartira_id');
		var kvaid =kva.value;
		var guests = document.getElementById('guest_cnt');
		var guests_cnt =guests.value;
		var datefromel = document.getElementById('arriveDate');
		var datefrom =datefromel.value;
		var datetoel = document.getElementById('awayDate');
		var dateto =datetoel.value;	
		var buttoncalc = document.getElementById('buttoncalc');
		buttoncalc.style.display='inline';

	}
	var req = new JsHttpRequest();
	req.loader = 'SCRIPT';
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
			buttoncalc.style.display='none';
			if(req.responseJS.success==1){
				if(lang=='ru'){
				strr = '<p style="margin: 4px;text-align:left;">Ваш заказ:<br />'+req.responseJS.resDaysHuman+' = <b>$'+req.responseJS.resCost+'</b></p>'
				}else{
				strr = '<p style="margin: 4px;ext-align:left;">Your order:<br />'+req.responseJS.resDaysHuman+' = <b>$'+req.responseJS.resCost+'</b></p>'
				}
			}else{
				strr = '<p style="margin: 4px;color:#F00;ext-align:left;">'+req.responseJS.err+'</p>';
			}
			calc(strr,param);
        }
    }
    // Prepare request object (automatically choose GET or POST).
    req.open(null, "/ajaxget_calc.php", true);
	
    // Send data to backend.
    req.send( { 
	kvaid: kvaid,
	lang:lang,
	guests_cnt:guests_cnt,
	datefrom:datefrom,
	dateto:dateto
	} );	
}
function chan_kvartira(lang){
	var kva = document.getElementById('kvartira_id');
	var kvaid =kva.value;
	var guests = document.getElementById('guest_cnt');
	while(guests.length > 0) {
		guests.remove(guests.length - 1);
	}
	var e=document.createElement('option');
	if(lang=='ru'){
		e.text='ждите, получаем лимит';
	}else{
		e.text='please wait';
	}
	e.value='0';
	try { 
		guests.add(e,null);
	} catch(ex) {
		guests.add(e);
	}
	var req = new JsHttpRequest();
	req.loader = 'SCRIPT';
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
			while(guests.length > 0) {
				guests.remove(guests.length - 1);
			}
			var e=document.createElement('option');
			e.value=0;
			if(lang=='ru'){
				e.text="Количество гостей";
				e.label="Количество гостей";
			}else{
				e.text="guest count";
				e.label="guest count";
			}
				try {
					guests.add(e,null);
				} catch(ex) {
					guests.add(e);
				}
			for(i=0;i<req.responseJS.cnt;i++){
				var e=document.createElement('option');
				e.text=req.responseJS.opname[i];
				e.value=req.responseJS.opid[i];
				e.label=req.responseJS.opname[i];
				try {
					guests.add(e,null);
				} catch(ex) {
					guests.add(e);
				}
			}
			loadBlockedDates(req.responseJS.blocked);
        }
    }
    // Prepare request object (automatically choose GET or POST).
    req.open(null, "/ajaxget_guest_cnt.php", true);
	
    // Send data to backend.
    req.send( { kvaid: kvaid, lang:lang } );	
}