DayName = new Array(7) 
DayName[0] = "niedziela " 
DayName[1] = "poniedziałek " 
DayName[2] = "wtorek " 
DayName[3] = "środa " 
DayName[4] = "czwartek " 
DayName[5] = "piątek " 
DayName[6] = "sobota " 

MonthName = new Array(12) 
MonthName[0] = "stycznia " 
MonthName[1] = "lutego " 
MonthName[2] = "marca " 
MonthName[3] = "kwietnia " 
MonthName[4] = "maja " 
MonthName[5] = "czerwca " 
MonthName[6] = "lipca " 
MonthName[7] = "sierpnia " 
MonthName[8] = "września " 
MonthName[9] = "pażdziernika " 
MonthName[10] = "listopada " 
MonthName[11] = "grudnia " 

function getDateStr(){ 
	var Today = new Date() 
	var WeekDay = Today.getDay() 
	var Month = Today.getMonth() 
	var Day = Today.getDate() 
	var Year = Today.getFullYear() 

	if(Year <= 99) 
		Year += 1900 

	return DayName[WeekDay] + "," + " " + Day + " " + MonthName[Month] + ", " + Year 
} 

function jsonGrabe(req) {
	request = req;
	// Create a new script object
	// (implementation of this class is in /js/jsr_class.js)
	aObj = new JSONscriptRequest(request);
	// Build the script tag
	aObj.buildScriptTag();
	// Execute (add) the script tag
	aObj.addScriptTag();
}

function makePOSTRequest(url, parameters) {
   http_request = false;
   if (window.XMLHttpRequest) { // Mozilla, Safari,...
      http_request = new XMLHttpRequest();
      if (http_request.overrideMimeType) {
      	// set type accordingly to anticipated content type
         //http_request.overrideMimeType('text/xml');
         http_request.overrideMimeType('text/html');
      }
   } else if (window.ActiveXObject) { // IE
      try {
         http_request = new ActiveXObject("Msxml2.XMLHTTP");
      } catch (e) {
         try {
            http_request = new ActiveXObject("Microsoft.XMLHTTP");
         } catch (e) {}
      }
   }
   if (!http_request) {
      alert('Cannot create XMLHTTP instance');
      return false;
   }

   http_request.onreadystatechange = alertContents;
   http_request.open('POST', url, true);
   http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
   http_request.setRequestHeader("Content-length", parameters.length);
   http_request.setRequestHeader("Connection", "close");
   http_request.send(parameters);
}

function alertContents() {
   if (http_request.readyState == 4) {
      if (http_request.status == 200) {
        //alert(http_request.responseText);
       	document.getElementById('saving').style.display='none';
        result = http_request.responseText;
        alert(result);
        
      } else {
         alert('There was a problem with the request.');
      }
   }
}

function trim(stringToTrim) {
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}

function clearIt(item){
	var title=document.getElementById(item).title;
	var value=trim(document.getElementById(item).value);
	if(title==value){
		document.getElementById(item).value="";
	}
}

function setDefault(item){
	var title=document.getElementById(item).title;
	var value=trim(document.getElementById(item).value);
	if(!value){
		document.getElementById(item).value=title;
	}
}

function wyszukaj(item){
	if(item) clearIt(item);
	
}

function keyCheck(eventObj, obj)
{
	var keyCode

	// Check For Browser Type
	if (document.all){
		keyCode=eventObj.keyCode
	}
	else{
		keyCode=eventObj.which
	}

	var str=obj.value
	if(keyCode==46){
		if (str.indexOf(".")>0){
			return false
		}
	}

	if((keyCode<48 || keyCode >58)   &&   (keyCode != 46)){ // Allow only integers and decimal points
		return false
	}

	return true
}

function selectIt(val,fieldName){
 for (var idx=0;idx<document.getElementById(fieldName).options.length;idx++) {
            if (val==document.getElementById(fieldName).options[idx].value) {
                  document.getElementById(fieldName).selectedIndex=idx;
                        // The next line throws an undefined error.
                        // if the error is trapped with try .. catch, the option is selected
                        // as desired.  I can live with the try .. catch since I get the
                        // action I need, but I would prefer to get the desired action
                        // without the try .. catch block, if possible.
                  document.getElementById(fieldName).options[idx].selected=true;
                  break;
            }
      }      
}
function restBookmarks(name){
	var lay="l_"+name;
	document.getElementById('l_opis').className="inactiveBookmark";
	document.getElementById('l_cennik').className="inactiveBookmark";
	document.getElementById('l_okolica').className="inactiveBookmark";
	document.getElementById('l_opinie').className="inactiveBookmark";
	document.getElementById('l_wystaw').className="inactiveBookmark";
	document.getElementById(lay).className="activeBookmark";
}

function bookmarks(name){
	var lay="l_"+name;
	document.getElementById('l_opis').className="inactiveBookmark";
	document.getElementById('l_cennik').className="inactiveBookmark";
	document.getElementById('l_okolica').className="inactiveBookmark";
	document.getElementById('l_opinie').className="inactiveBookmark";
	document.getElementById('l_wystaw').className="inactiveBookmark";
	document.getElementById('opis').style.display="none";
	document.getElementById('cennik').style.display="none";
	document.getElementById('okolica').style.display="none";
	document.getElementById('opinie').style.display="none";
	document.getElementById('wystaw').style.display="none";
	
	document.getElementById(lay).className="activeBookmark";
	document.getElementById(name).style.display="block";
}

function validateEmail(email)
{
// a very simple email validation checking. 
// you can add more complex email checking if it helps 
    var splitted = email.match("^(.+)@(.+)$");
    if(splitted == null) return false;
    if(splitted[1] != null )
    {
      var regexp_user=/^\"?[\w-_\.]*\"?$/;
      if(splitted[1].match(regexp_user) == null) return false;
    }
    if(splitted[2] != null)
    {
      var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/;
      if(splitted[2].match(regexp_domain) == null) 
      {
	    var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/;
	    if(splitted[2].match(regexp_ip) == null) return false;
      }// if
      return true;
    }
return false;
}

function clearOpinie(){
	document.getElementById('autor').value="";
	document.getElementById('tresc').value="";
	document.getElementById('email').value="";
	document.getElementById('agree').checked=false;
}

function wystawOpinie(obiekt){
	var error=false;
	var autor=document.getElementById('autor').value;
	var tresc=document.getElementById('tresc').value;
	var email=document.getElementById('email').value;
	var agree=document.getElementById('agree').checked;
	if(!autor){
		document.getElementById('autorTxt').innerHTML="Musisz wpisać swój podpis";
		error=true;
	}else{
		document.getElementById('autorTxt').innerHTML="";
	}
	if(!tresc){
		document.getElementById('trescTxt').innerHTML="Musisz wpisać treść opinii";
		error=true;
	}else{
		document.getElementById('trescTxt').innerHTML="";
	}
	if(!email){
		document.getElementById('emailTxt').innerHTML="Musisz podać swój adres email";
		error=true;
	}else{
		var mailvalid=validateEmail(email);
		if(!mailvalid){
			document.getElementById('emailTxt').innerHTML="Adres email ma niepoprawną strukturę";
			error=true;
		}else
			document.getElementById('emailTxt').innerHTML="";
	}
	if(!agree){
		document.getElementById('agreeTxt').innerHTML="Aby wystawić opinie musisz zgodzić się z Polityką Prywatności";
		error=true;
	}else{
		document.getElementById('agreeTxt').innerHTML="";
	}
	if(!error){
		var parameters="opinia="+encodeURIComponent(tresc)+"&email="+encodeURIComponent(email)+"&wystawil="+encodeURIComponent(autor)+"&noclegi_id="+obiekt;
		clearOpinie();
		document.getElementById('saving').style.display="block";
		var scriptpath="http://"+document.domain+"/includes/wystaw_opinie.php";
		makePOSTRequest(scriptpath, parameters);

	}
}

function setValue(item,val){
	document.getElementById(item).value=val;
}
function setFocus(item){
	document.getElementById(item).focus();
}

function setKatalog(item){
	var obiekt=document.getElementById(item).value;
	if(obiekt){
		obiekt=obiekt.replace(/#/gi,'');
		var req="add/ajax.setkatalog.php?nazwa="+obiekt;
		jsonGrabe(req);
	}

}

function checkAddForm(){
	var error=false;
	timer=setTimeout(function() {
	var imie=document.getElementById('imie').value;
	var email=document.getElementById('email').value;
	var haslo=document.getElementById('haslo').value;
	var rhaslo=document.getElementById('rhaslo').value;
	var obiekt=document.getElementById('obiekt').value;
	var katalog=document.getElementById('katalog').value;
	var pp=document.getElementById('pp').checked;
	if(!imie){
		setFocus('imie');
		alert('Musisz wpisać swoje imie');
		error=true;
	}
	if(!email && !error){
		setFocus('email');
		alert('Musisz wpisać prawidłowy adres emial');
		error=true;
	}else if(!validateEmail(email) && !error){
		setFocus('email');
		alert('Adres email ma niepoprawną strukturę');
		error=true;
	}else{
		//sprawdzenie emiala w bazie danych
	}
	
	if(!haslo && !error){
		setFocus('haslo');
		alert('Musisz wpisać swoje hasło');
		error=true;
	}else if(haslo.length<6 && !error){
		setFocus('haslo');
		alert('Hasło musi mieć conajmniej 6 znaków');
		error=true;
	}

	if(!rhaslo && !error){
		setFocus('rhaslo');
		alert('Musisz powtórnie wpisać swoje hasło');
		error=true;
	}else if(!error && haslo!=rhaslo){
		setFocus('haslo');
		alert('Błąd! Hasło i jego powtórzenie muszą być identyczne');
		error=true;
	}
	if(!obiekt && !error){
		setFocus('obiekt');
		alert('Musisz wpisać nazwę swojego Obiektu Turystycznego');
		error=true;
	}

	if(!pp && !error){
		alert('Aby zarejestrować swój Obiekt Turystyczny musisz zgodzić się z Polityką Prywatności publikowaną na łamach portalu Turystyka-Polska.pl');
		error=true;
	}

	if(!katalog && !error){
		setFocus('katalog');
		alert('Musisz wpisać nazwę katalogu, pod którym będzie widoczna twoja strona');
		error=true;
	}
	
	if(!error){
		var req="add/ajax.checkbase.php?nazwa="+katalog+"&email="+email;
		jsonGrabe(req);

	}
	}, 300);

}

function checkPasswForm(){
	var error=false;
	timer=setTimeout(function() {
	var email=document.getElementById('email').value;
	var haslo=document.getElementById('haslo').value;
	var rhaslo=document.getElementById('rhaslo').value;

	if(!email && !error){
		setFocus('email');
		alert('Musisz wpisać prawidłowy adres emial');
		error=true;
	}else if(!validateEmail(email) && !error){
		setFocus('email');
		alert('Adres email ma niepoprawną strukturę');
		error=true;
	}
	
	if(!haslo && !error){
		setFocus('haslo');
		alert('Musisz wpisać swoje hasło');
		error=true;
	}else if(haslo.length<6 && !error){
		setFocus('haslo');
		alert('Hasło musi mieć conajmniej 6 znaków');
		error=true;
	}

	if(!rhaslo && !error){
		setFocus('rhaslo');
		alert('Musisz powtórnie wpisać swoje hasło');
		error=true;
	}else if(!error && haslo!=rhaslo){
		setFocus('haslo');
		alert('Błąd! Hasło i jego powtórzenie muszą być identyczne');
		error=true;
	}
	
	
	if(!error){
		document.passwordForm.submit();
	}
	}, 300);

}

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}

function showInfo(idShow,idContekst,hide){
	var obj=document.getElementById(idShow);
	var div=document.getElementById(idContekst);
	if(div.style.display=="block" || hide==true){
		div.style.display="none";
	}else{
		var pos=findPos(obj);
		div.style.left=pos[0]+2+'px';
		div.style.top=pos[1]+19+'px';
		div.style.display="block";
	}
	
}

function showHiddenParts(){
	document.getElementById('hiddenPart1').style.display="block";
	document.getElementById('hiddenPart2').style.display="block";
}

function checkPromo(){
	var kupon=document.getElementById('kupon').value;
	var std=kupon.indexOf('std');
	if(kupon==''){
		zlyKupon();
	}else if(std<0){
		var req="add/ajax.checkpromo.php?kod="+kupon;
		jsonGrabe(req);
	}
}

function zlyKupon(){
	alert('Niepoprawny kupon promocyjny');
	document.getElementById('kupon').value='std156857';
	document.getElementById('promopln').innerHTML='4,20';
	document.getElementById('promodni').innerHTML='14 dni';
}