function makeR(url,layer) {
        http_request = false;
        if (window.XMLHttpRequest) { // Mozilla, Safari,...
            http_request = new XMLHttpRequest();
            if (http_request.overrideMimeType) {
                http_request.overrideMimeType('text/xml');
            }
        } 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('Bład! Nie można stworzyć instancji obiektu XMLHTTP');
            return false;
        }
        http_request.onreadystatechange = function() { alertC(http_request,layer); };
        http_request.open('GET', url, true);
        http_request.send(null);
}

function alertC(http_request,gg) {
        if (http_request.readyState == 4) {
            if (http_request.status == 200) {               
                  LayerW(http_request.responseText,gg); 
//                  initImage();                 
            } else {                
                alert('Wystąpił problem z zapytaniem.');
            }
        }
}

function LayerW(text,id) {
	if (document.getElementById)
	{
		x = document.getElementById(id);
		x.innerHTML = text;
	}
	else if (document.all)
	{
		x = document.all[id];
		x.innerHTML = text;
	}
	else if (document.layers)
	{
		x = document.layers[id];
		x.document.open();
		x.document.write(text);
		x.document.close();
	}
	ShowHidePreloader('hide');
} 

function CheckSendFormM(fbg) {
 
   var email=fbg.mail.value;
   var flag=1;
   var errmsg='';
   if (CheckMail(email))
     flag=0;
   else { 
     errmsg += "błędny adres e-mail\n"+email+"\n";        
   }

   if (flag==0) {
      SendFormM(fbg);   
   }       
   else {
        errmsg += "podaj adres e-mail.";
        alert(errmsg);  
   }   
}   




function SendFormM(formularz) {

  params=getFormValues(formularz);
  url='send.php';
  layer='aftersend';
  ShowHidePreloader('show');
  makePOSTRequest(url, params, layer);
} 


function getFormValues(fobj) {
       var str = "";
       var valueArr = null;
       var val = "";
       var cmd = "";
       for(var i = 0;i < fobj.elements.length;i++)
       {
           switch(fobj.elements[i].type)
           {
               case "text": 
                    str += fobj.elements[i].name +
                     "=" + encodeURIComponent(fobj.elements[i].value) + "&";
                     break;
               case "hidden": 
                    str += fobj.elements[i].name +
                     "=" + encodeURIComponent(fobj.elements[i].value) + "&";
                     break;      
               case "textarea":
                    var gh = encodeURIComponent(fobj.elements[i].value);
                    str += fobj.elements[i].name +
                     "=" +  gh + "&";
                     break;                     
               case "select-one":
                    str += fobj.elements[i].name +
                    "=" + fobj.elements[i].options[fobj.elements[i].selectedIndex].value + "&";
                    break;
           }
       }
       str = str.substr(0,(str.length - 1));
       return str;
}

function makePOSTRequest(url, parameters, layer) {

      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 = function() { alertC(http_request, layer); };
      http_request.open('POST', url, true);
//      http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded;");
      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 CheckMail(emailStr) {
var emailPat=/^(.+)@(.+)$/
var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
var validChars="\[^\\s" + specialChars + "\]"
var quotedUser="(\"[^\"]*\")"
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
var atom=validChars + '+'
var word="(" + atom + "|" + quotedUser + ")"
var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
var matchArray=emailStr.match(emailPat)
if (matchArray==null) {
	return false
}
var user=matchArray[1]
var domain=matchArray[2]

if (user.match(userPat)==null) {
 
//    alert("The part of your email address before the '@' doesn't seem to be valid.")
    return false
}

var IPArray=domain.match(ipDomainPat)
if (IPArray!=null) {
	  for (var i=1;i<=4;i++) {
	    if (IPArray[i]>255) {
//	        alert("Destination IP address is invalid!")
		return false
	    }
    }
    return true
}

var domainArray=domain.match(domainPat)
if (domainArray==null) {
//	 alert("Part of your email address after the '@' doesn't seem to be valid")
    return false
}

var atomPat=new RegExp(atom,"g")
var domArr=domain.match(atomPat)
var len=domArr.length
if (domArr[domArr.length-1].length<2 || 
    domArr[domArr.length-1].length>6) {
//   alert("The address must end in a top level domain (e.g. .com), or two letter country.")
   return false
}

if (len<2) {
   var errStr="This address is missing a hostname!"
   return false
}
  return true;
}


function ShowHidePreloader(flag) {
  if (flag=='show') { document.getElementById("preloader").style.display = "block";}
  else if (flag=='hide') {document.getElementById("preloader").style.display = "none";}
  return true;
} 

function calc() {
   var a= document.kal.wart.value;
   var b= document.kal.wklad.value;
   var c= document.kal.okres.value;
   var d= document.kal.proc.value;
     a=parseFloat(a);
     b=parseFloat(b);
     c=parseFloat(c);
     d=parseFloat(d);   
   var err=0;
   if (a<=0) {
      err=1;
      document.kal.wart.value=0;       
   }
   if (b<0 || b>a) {
      err=1;
      document.kal.wklad.value=0;       
   }
   if (c<=0) {
      err=1;
      document.kal.okres.value=0;       
   }
   if (err==1) {
     document.kal.rata.value='błąd';
   }
   else {
     var n=Math.round(c*12);
     var q=1+((d/100)/12);
     var p=Math.pow(q,n)
     var rata=(a-b)*p*(q-1)/(p-1);
     rata=Math.round(rata); 
     document.kal.rata.value=rata+' zł';
   }  
}
