
String.prototype.trim = function() {
a = this.replace(/^\s+/, '');
return a.replace(/\s+$/, '');
};

function change(nr) {
	ktory = 'tt'+nr
	
	dopodmiany = document.getElementById(ktory).innerHTML;
	document.getElementById('tresc').innerHTML = dopodmiany;
}


function ShowMap() { 

	window.open( '/mapa/mapa.html','Mapa','toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=1024,height=768' );
}

var marker1;
var Glng;
var Glat;
var Gzoom;
var map;
        
function loadMap() {
        if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map"));
        
        var large = new GLargeMapControl();
        map.addControl(large);
            
        var MapTypes = map.getMapTypes();

        MapTypes[0].getName= function() { return "Mapa";} 
        MapTypes[1].getName = function() { return "Satelitarna";} 
        MapTypes[2].getName = function() { return "Hybrydowa";}

        map.setCenter(new GLatLng(lat, lng), zoom);
 
        var info =  "<b>Ustw lokalizację obieku</b>.<br> W celu powiększenia wybranego obszaru<br> użyj suwaka zoom po lewej stronie mapy<br> Na koniec przesuń znacznik w odpowiednie<br /> miejsce na mapie.";

        var point = new GLatLng(lat, lng);
        marker1 = new GMarker( point, {draggable: true} );

        Glng = document.getElementById("Glng"); 
        Glat = document.getElementById("Glat");
        Gzoom = document.getElementById("zoom");

        GEvent.addListener(map, "click", function(overlay, latlng) {
            if ( latlng ) {
                marker1.setPoint( latlng );
                Glng.value = latlng.x;
                Glat.value = latlng.y;
                Gzoom.value = map.getZoom();
            }
        });

        GEvent.addListener(large, "click", function() {
        
            Gzoom.value = map.getZoom();
        });

        GEvent.addListener(marker1, "dragstart", function() {
          map.closeInfoWindow();
        });
        
        map.addOverlay( marker1 ); //new GMarker(point) )
        marker1.openInfoWindowHtml(info);
      }
}

function saveGMapPosition() {

    //marker1.openInfoWindowHtml(info);
    var point = marker1.getPoint();
    Glng.value = point.x;
    Glat.value = point.y;
    Gzoom.value = map.getZoom();
}


String.prototype.trim = function() {
a = this.replace(/^\s+/, '');
return a.replace(/\s+$/, '');
};


function checkEmail(objEmail) {
    var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
    objEmail.value = objEmail.value.trim();
    if(reg.test(objEmail.value) == false) {
        return false;
    }    
    return true;
}


function checkNumber(objNum) { 
    if(isNaN(objNum.value)) return false;
    if(objNum.value < 0) return false;
    return true;
}

function checkZip(objZip) {
    var reg = /^([0-9]{2})\-([0-9]{3})$/;
    
    if(reg.test(objZip.value) == false) {
        return false;
    }    
    return true;
}

function checkPhone(Phone, mode) {

    var regStation = /^\+([0-9]{2}) ([0-9]{2}) ([0-9]{7})$/;
    var regMobile = /^\+([0-9]{2}) ([0-9]{9})$/;
    
    if(mode == 'all') {
        if(!regStation.test(Phone) && !regMobile.test(Phone)) {
            return false;
        }
        else return true;
    }
    else {
        if(!regStation.test(Phone)) {
            return false;
        }
        else return true;    
    }
}

function checkWWW(objWWW) {
    var reg1 = /^http:\/\//;
    
    if(!reg1.test(objWWW.value)) {
        objWWW.value = 'http://'+objWWW.value;
    }
    
    var reg = /^http:\/\/[A-Za-z0-9-_]+.[A-Za-z0-9-_%\,\;&\?\/.=]+$/;
    
    if(!reg.test(objWWW.value)) {
        return false;
    }
    else return true;
}

//sprawdza poprawność wypełnienia danych w formularzu//
function checkForm() {
    
    var objName = document.getElementById('object[name]');
    var objAddress = document.getElementById('object[address]');
    var objType = document.getElementById('object[type]');
    var objFreeplace = document.getElementById('object[free_place]');
    var objPhone = document.getElementById('object[phone]');
    var objFax = document.getElementById('object[fax]');
    var objZip = document.getElementById('object[zip]');
    var objCity = document.getElementById('object[city]');
    var objWWW = document.getElementById('object[www]');
    var objEmail = document.getElementById('object[email]');
    var token = document.getElementById('token');
    
    var Error = '';
    

    if(objName.value == '') {
        Error += '- proszę wpisać nazwę obiektu\n';
    }
    
    if(objAddress.value == '') {
        Error += '- proszę wpisać adres obiektu\n';
    }
    
    if(!checkZip(objZip)) {
        Error += '- nieprawidłowy kod pocztowy\n';
    }
    
    if(objCity.value == '') {
        Error += '- proszę wpisać miejscowość\n';
    }
    
    if(objType.value == '') {
        Error += '- proszę wybrać rodzaj obiektu\n';
    }
    
    if(objFreeplace.value != '')
    if(!checkNumber(objFreeplace)) {
        Error += '- nieprawidłowa ilość wolnych miejsc\n';
    }    

    if(objPhone.value != '') {
    
        if(objPhone.value.indexOf(',') != -1) {
            var Phones = objPhone.value.split(',');
    
            for(var i=0; i< Phones.length; i++) {
                if(!checkPhone(Phones[i].trim(), 'all')) {
                    Error += '- nieprawidłowe numery telefonów\n';
                    Error += '  (numery oddziela się przecinkiem i wpisuje w postaci: +48 89 0000000\n  lub +48 000000000 dla komórkowych)\n';
                    break;
                }
            }
        }
        else {
            if(!checkPhone(objPhone.value.trim(), 'all')) {
                Error += '- nieprawidłowy numer telefonu\n';
                Error += '  (w postaci: +48 89 0000000 lub +48 000000000 dla komórkowych)\n';
            }
        }    
    }
    
    if(objFax.value != '') {
    
        if(!checkPhone(objFax.value.trim(),'')) {
            Error += '- nieprawidłowy numer faxu\n';
            Error += '  (w postaci: +48 89 0000000)\n';
        }
    }    
    
    if( !checkEmail(objEmail) || objEmail.value == '' ) {
        Error += '- nieprawidłowy adres e-mail\n';
    }
    
    
    if(objWWW.value != '') {
        if(!checkWWW(objWWW)) {
            Error += '- nieptrawidłowy adres strony www\n';
        }
    }
    
    if(token.value == '') {
            Error += '- nie wprowadzono kodu z obrazka\n';
    }
    
    // zapamiętaj pozycje google map
    saveGMapPosition();
    
    if( Glng.value == 21.33544921875 && Glat.value == 53.61857936489517 ) {
            Error += '- nie ustawiono dokładnej lokalizacji na mapie\n';    
    }
    //=============================//
    if(Error != '') {
        alert('Proszę poprawić następujące błedy:\n'+Error);
        return false;
    }
    else { 
        
        if( confirm('Czy chcesz zapisać dane?') ) {
            document.getElementById( 'loader' ).style.display = '';
            return true;
        }
            return false;
    }
}
