var ajaxm = {};

/**
 * Funkcja wysylajaca rzadanie AJAX do wskazanego pliku zewnetrznego
 *
 * @param {String} filePath	    sciezka do pliku
 * @param {String} params	    string zmiennych
 * @param {String} resultId	    id obiektu do zwracanie wyniku dzialania
 * @param {String} flag		    flaga wyswietlanie loadera lub samego tekstu
 * @param {String} loadingStr	    tekst wyswietlany przy wczytywaniu
 */


ajaxm.sendRequest = function(filePath, params, resultId, flag, loadingStr) {
	if (window.XMLHttpRequest) {
		var xmlhr = new XMLHttpRequest();
	} else {
		var xmlhr = new ActiveXObject('MSXML2.XMLHTTP.3.0');
	}

	xmlhr.open('POST', filePath, true);
	xmlhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=iso-8859-2'); 

	xmlhr.onreadystatechange = function() {

	    if (xmlhr.readyState == 1) {
		switch(flag) {
		    case "img":
			document.getElementById(resultId).innerHTML = loadingStr + '<br /><img src="images/loader.gif">';
		    break;
		    case "str":
			document.getElementById(resultId).innerHTML = loadingStr;
		    break;
                    case "input":
			document.getElementById(resultId).innerHTML = '<select name="preload" class="blockSelectTaryfy spacer"><option value="0">' + loadingStr + '</option></select>';
                    break;
		    case "none":

			break;
    		}

	    } else if (xmlhr.readyState == 4 && xmlhr.status == 200) {
		if (xmlhr.responseText) {
		    document.getElementById(resultId).innerHTML = xmlhr.responseText;
		}
	    } else if (xmlhr.readyState == 4) {
	//	alert('Invalid response received - Status: ' + xmlhr.status);
	    }
	}
	xmlhr.send(params);
}


ajaxm.PorownajTelefony = function(producent,model,container,blocked1,blocked2) {
      var params = 'queryType=porownanie&producent=' + producent + '&container=' + container + '&model=' + model + '&blocked1=' + blocked1 + '&blocked2=' + blocked2;
      var filePath = 'ajax/search.ajax.php';
      ajaxm.sendRequest(filePath, params, 'porownaj_' + container, 'none',null);
}

ajaxm.M_modele = function(producent,container) {
      var params = 'queryType=m_model&producent=' + producent + '&container=' + container;
      var filePath = 'ajax/search.ajax.php';
      ajaxm.sendRequest(filePath, params, container, 'none',null);
}


ajaxm.PorownajTelefon = function(telefon,container) {
      var params = 'queryType=doporownania&telefon=' + telefon + '&num=' + container;
      var filePath = 'ajax/search.ajax.php';
      ajaxm.sendRequest(filePath, params, 'pokaz_' + container, 'img','Wczytywanie danych...');
}

ajaxm.Modele = function() {
  var producent = document.getElementById("producent");
  var model = document.getElementById("model");
  var pokaz = document.getElementById("pokaz");

  var mod_sel = document.getElementById("mod_sel");
  var pok_sel = document.getElementById("pok_sel");

  mod_sel.disabled = true;

  if(producent.value == '0')
  {
      mod_sel.innerHTML = '<option value="0">-- wszystkie --</option>';
      mod_sel.disabled = true;

      pok_sel.options[0].selected = true;
      pok_sel.disabled = false;
  }
  else
  {
      var params = 'queryType=modele&producent=' + producent.value + '&show=0';
      var filePath = 'ajax/search.ajax.php';
      ajaxm.sendRequest(filePath, params, 'model', 'none',null);
      mod_sel.disabled = false;
  }
}


ajaxm.Modele2 = function() {
  var producent = document.getElementById("producent");
  var model = document.getElementById("model");
  var pokaz = document.getElementById("pokaz");

  var mod_sel = document.getElementById("mod_sel");
  var pok_sel = document.getElementById("pok_sel");

  mod_sel.disabled = true;

  if(producent.value == '0')
  {
      mod_sel.innerHTML = '<option value="0">-- wszystkie --</option>';
      mod_sel.disabled = true;
  }
  else
  {
      var params = 'queryType=modele&producent=' + producent.value + '&show=' + pok_sel.value;
      var filePath = 'ajax/search.ajax.php';
      ajaxm.sendRequest(filePath, params, 'model', 'none',null);
      mod_sel.disabled = false;
  }
}

ajaxm.Ceny = function(val) {
    var ceny_select = document.getElementById("s_aa");
    var mod_sel = document.getElementById("mod_sel");
    var producent = document.getElementById("producent");
    if(val == '0')
    {
        if(producent.value != '0'){
            mod_sel.disabled = false;
        }
        ceny_select.disabled = false;

    }
    else
    {
        mod_sel.options[0].selected = true;
        mod_sel.disabled = true;
        ceny_select.options[0].selected = true;
        ceny_select.disabled = true;
    }
}

ajaxm.Pokaz = function() {
  var model = document.getElementById("model");
  var pokaz = document.getElementById("pokaz");

  var mod_sel = document.getElementById("mod_sel");
  var pok_sel = document.getElementById("pok_sel");

  if(mod_sel.value == '0')
  {
      //pokaz.innerHTML = '<option value="0">-- wybierz model --</option>';
 //     pok_sel.disabled = true;
      pok_sel.options[0].selected = true;
      pok_sel.disabled = false;
  }
  else
  {
      pok_sel.options[0].selected = true;
      pok_sel.disabled = true;

   //   pokaz.innerHTML = '<option value="0">-- wybierz --</option>';
   //   var params = 'queryType=pokaz&model=' + model.value;
    //  var filePath = 'ajax/search.ajax.php';
    //  ajaxm.sendRequest(filePath, params, 'pokaz', 'none',null);

 //     pok_sel.disabled = false;
  }

}

function pokazUkryjSpecyfikacje(co)
{
    var cos = document.getElementById(co);
    if(cos.style.display == 'none')
    {
	cos.style.display = 'block';
	cos.width = "100%";
    }
    else
    {
	cos.style.display = 'none';
    }
}


function ZaznaczWiersz(wiersz,co)
{
    if(co == 1)
    {
	for(i=0;i<=4;i++)
	{
	    if(document.getElementById("wiersz_" + i + "_" + wiersz) != null)
	    {
		document.getElementById("wiersz_" + i + "_" + wiersz).style.backgroundColor = '#87d3e6';
		document.getElementById("wiersz_" + i + "_" + wiersz).style.color = '#ffffff';
		document.getElementById("wiersz_" + i + "_" + wiersz).style.fontWeight = 'bold';
	    }
	}
    }
    else
    {
	for(i=0;i<=4;i++)
	{
	    if(document.getElementById("wiersz_" + i + "_" + wiersz) != null)
	    {
		document.getElementById("wiersz_" + i + "_" + wiersz).style.backgroundColor = '';
		document.getElementById("wiersz_" + i + "_" + wiersz).style.color = '';
		document.getElementById("wiersz_" + i + "_" + wiersz).style.fontWeight = 'normal';
	    }
	}
    }
}
var dateOK = 0;

function emailValidation(str){
	var at="@";
	var dot=".";
	var lat=str.indexOf(at);
	var lstr=str.length;
	var ldot=str.indexOf(dot);
	
	if(str.indexOf(at)==-1){
		alert('Niepoprawny format adresu e-mail!');
	}else if(str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		alert('Niepoprawny format adresu e-mail!');
	}else if(str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		alert('Niepoprawny format adresu e-mail!');
	}else if(str.indexOf(at,(lat+1))!=-1){
		alert('Niepoprawny format adresu e-mail!');
	}else if(str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		alert('Niepoprawny format adresu e-mail!');
	}else if(str.indexOf(dot,(lat+2))==-1){
		alert('Niepoprawny format adresu e-mail!');
	}else if(str.indexOf(" ")!=-1){
		alert('Niepoprawny format adresu e-mail!');
	}else{
	    dateOK = 1;
 	}	
}




ajaxm.SendToFriend = function() {
    var alphaExp = /^[0-9a-zA-Z \_\-]+$/;
    //alert("#TODO kodowanie polskich znakow");
    var pers_o = document.getElementById('pers_o');

    if (pers_o.value.length > 2 && pers_o.value.length <= 20 && pers_o.value != ''){
	if(pers_o.value.match(alphaExp)){
	    dateOK = 1;
	} else {
	    alert("Błąd: pole 'Od' może zawierać tylko litery, cyfry, spacje, myślnik i podkreśnik (bez polskich znaków)");
	    dateOK = 0;
	}
    } else {
	    alert("Błąd: długość pola 'Od' musi mieścić się między 2 znakami, a 20 znakami");
	    dateOK = 0;
    }

    var adres_o = document.getElementById('adres_o');

    if(dateOK == 1)
    {
	emailValidation(adres_o.value);
    }

    var wiad = document.getElementById('wiad');

    var pers_n = document.getElementById('pers_n');


    if(dateOK == 1)
    {
    if (pers_n.value.length > 2 && pers_n.value.length <= 20 && pers_n.value != ''){
	if(pers_n.value.match(alphaExp)){
	    dateOK = 1;
	} else {
	    alert("Błąd: pole 'Podpis' może zawierać tylko litery, cyfry, spacje, myślnik i podkreśnik (bez polskich znaków)");
	    dateOK = 0;
	}
    } else {
	    alert("Błąd: długość pola 'Podpis' musi mieścić się między 2 znakami, a 20 znakami");
	    dateOK = 0;
    }
    }
    var adres_n = document.getElementById('adres_n');

    if(dateOK == 1)
    {
     	emailValidation(adres_n.value);
    }
    var polecam_produkt = document.getElementById('polecam_produkt');
    var polecam_link = document.getElementById('polecam_link');

    if(dateOK == 1)
    {
	var params = 'queryType=powiadom&pers_o=' + pers_o.value + '&adres_o=' + adres_o.value + '&wiad=' + wiad.value + '&pers_n=' + pers_n.value + '&adres_n=' + adres_n.value + '&polecam_produkt=' + polecam_produkt.value + '&polecam_link=' + polecam_link.value;
	var filePath = 'ajax/send.ajax.php';
	var sendform = document.getElementById("article_layer_5");
	var sendformmsg = document.getElementById("article_layer_5a");
	sendform.style.display = "none";
	sendformmsg.style.display = "block";

	ajaxm.sendRequest(filePath, params, 'article_layer_5a', 'img',"Trwa wysyłanie wiadomości....");
    }
}


ajaxm.SendError = function() {
    var alphaExp = /^[0-9a-zA-Z \_\-]+$/;


    //alert("#TODO kodowanie polskich znakow");
    var wiad = document.getElementById('zwiad');

    if (wiad.value.length > 20 && wiad.value.length <= 2000 && wiad.value != ''){
	    dateOK = 1;
    } else {
	    alert("Błąd: długość pola 'Treść' musi mieścić się między 20 znakami, a 2000 znakami");
	    dateOK = 0;
    }

    var pers_n = document.getElementById('zpers_n');


    if(dateOK == 1)
    {
    if (pers_n.value.length > 2 && pers_n.value.length <= 20 && pers_n.value != ''){
	if(pers_n.value.match(alphaExp)){
	    dateOK = 1;
	} else {
	    alert("Błąd: pole 'Podpis' może zawierać tylko litery, cyfry, spacje, myślnik i podkreśnik (bez polskich znaków)");
	    dateOK = 0;
	}
    } else {
	    alert("Błąd: długość pola 'Podpis' musi mieścić się między 2 znakami, a 20 znakami");
	    dateOK = 0;
    }
    }
    var adres_n = document.getElementById('zadres_n');

    if(dateOK == 1)
    {
     	emailValidation(adres_n.value);
    }
    var polecam_produkt = document.getElementById('zprodukt');
    var polecam_link = document.getElementById('zlink');

    if(dateOK == 1)
    {
	var params = 'queryType=zglos&zwiad=' + wiad.value + '&zpers_n=' + pers_n.value + '&zadres_n=' + adres_n.value + '&zprodukt=' + polecam_produkt.value + '&zlink=' + polecam_link.value;

        //alert(params);
	var filePath = 'ajax/send.ajax.php';
	var sendform = document.getElementById("article_layer_6");
	var sendformmsg = document.getElementById("article_layer_6a");
	sendform.style.display = "none";
	sendformmsg.style.display = "block";

	ajaxm.sendRequest(filePath, params, 'article_layer_6a', 'img',"Trwa wysyłanie wiadomości....");
    }
}


ajaxm.SendPktError = function() {
    var alphaExp = /^[0-9a-zA-Z \_\-]+$/;


    //alert("#TODO kodowanie polskich znakow");
    var wiad = document.getElementById('zwiad');

    if (wiad.value.length > 20 && wiad.value.length <= 2000 && wiad.value != ''){
	    dateOK = 1;
    } else {
	    alert("Błąd: długość pola 'Treść' musi mieścić się między 20 znakami, a 2000 znakami");
	    dateOK = 0;
    }

    var pers_n = document.getElementById('zpers_n');


    if(dateOK == 1)
    {
    if (pers_n.value.length > 2 && pers_n.value.length <= 20 && pers_n.value != ''){
	if(pers_n.value.match(alphaExp)){
	    dateOK = 1;
	} else {
	    alert("Błąd: pole 'Podpis' może zawierać tylko litery, cyfry, spacje, myślnik i podkreśnik (bez polskich znaków)");
	    dateOK = 0;
	}
    } else {
	    alert("Błąd: długość pola 'Podpis' musi mieścić się między 2 znakami, a 20 znakami");
	    dateOK = 0;
    }
    }
    var adres_n = document.getElementById('zadres_n');

    if(dateOK == 1)
    {
     	emailValidation(adres_n.value);
    }
    var polecam_produkt = document.getElementById('zpunkt');
    var polecam_link = document.getElementById('zlink');

    if(dateOK == 1)
    {
	var params = 'queryType=blad_punktu_sprzedazy&zwiad=' + wiad.value + '&zpers_n=' + pers_n.value + '&zadres_n=' + adres_n.value + '&zpunkt=' + polecam_produkt.value + '&zlink=' + polecam_link.value;

        //alert(params);
	var filePath = 'ajax/send.ajax.php';
	var sendform = document.getElementById("punkt_form");
	var sendformmsg = document.getElementById("punkt_send");
	sendform.style.display = "none";
	sendformmsg.style.display = "block";

	ajaxm.sendRequest(filePath, params, 'punkt_send', 'img',"Trwa wysyłanie wiadomości....");
    }
}


/*
 * wyswietlenie ocen produktu
 */

ajaxm.Oceny = function(product,hid) {
      var params = 'queryType=oceny&product=' + product + '&hid= ' + hid;
      var filePath = 'ajax/oceny.ajax.php';
      ajaxm.sendRequest(filePath, params, 'oceny', 'img','Trwa wczytywanie ocen produktu...');
      ajaxm.sendRequest(filePath, params, 'oceny2', 'img','Trwa wczytywanie ocen produktu...');
}

/*
 * kopiuj oceny do inny divow
 */

ajaxm.KopiujOceny = function(gdzie){
    var oceny = document.getElementById("oceny");
    var gdzies = document.getElementById(gdzie);

    gdzies.innerHTML = oceny.innerHTML;
}

/*
 * wyswietlenie glosowanie w ocenach produktu
 */

ajaxm.OcenyGlosowanie = function(product) {

    var vote_one = document.getElementById("vote_one");
    var vote_two = document.getElementById("vote_two");
    var vote_three = document.getElementById("vote_three");

    var params = 'queryType=ocenyglos&product=' + product + '&vote_one=' + vote_one.value + '&vote_two=' + vote_two.value + '&vote_three=' + vote_three.value;
    var filePath = 'ajax/oceny.ajax.php';
    ajaxm.sendRequest(filePath, params, 'oceny', 'img','Trwa obliczanie ocen produktu...');

    setTimeout("ajaxm.Oceny(" + product + ");",1000);
}

/*
 * youtube player prezentacja w specyfikacji
 */

ajaxm.PlayMovie = function(movie) {
      var params = 'queryType=singleplayer&movie=' + movie;
      var filePath = 'ajax/player.ajax.php';
      ajaxm.sendRequest(filePath, params, 'player', 'none',null);
}

/*
 * youtube player prezentacja w module
 */

ajaxm.PlayMassMovie = function(movie,phone,item) {
      var params = 'queryType=massplayer&movie=' + movie + '&phone=' + phone + '&item=' + item;
      var filePath = 'ajax/player.ajax.php';
      ajaxm.sendRequest(filePath, params, 'player', 'none',null);
}

function urlencode(str) {
    // http://kevin.vanzonneveld.net
    // +   original by: Philip Peterson
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: AJ
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // %          note: info on what encoding functions to use from: http://xkr.us/articles/javascript/encode-compare/
    // *     example 1: urlencode('Kevin van Zonneveld!');
    // *     returns 1: 'Kevin+van+Zonneveld%21'
    // *     example 2: urlencode('http://kevin.vanzonneveld.net/');
    // *     returns 2: 'http%3A%2F%2Fkevin.vanzonneveld.net%2F'
    // *     example 3: urlencode('http://www.google.nl/search?q=php.js&ie=utf-8&oe=utf-8&aq=t&rls=com.ubuntu:en-US:unofficial&client=firefox-a');
    // *     returns 3: 'http%3A%2F%2Fwww.google.nl%2Fsearch%3Fq%3Dphp.js%26ie%3Dutf-8%26oe%3Dutf-8%26aq%3Dt%26rls%3Dcom.ubuntu%3Aen-US%3Aunofficial%26client%3Dfirefox-a'
                                     
    var histogram = {}, histogram_r = {}, code = 0, tmp_arr = [];
    var ret = str.toString();
    
    var replacer = function(search, replace, str) {
        var tmp_arr = [];
        tmp_arr = str.split(search);
        return tmp_arr.join(replace);
    };
    
    // The histogram is identical to the one in urldecode.
    histogram['!']   = '%21';
    histogram['%20'] = '+';
    
    // Begin with encodeURIComponent, which most resembles PHP's encoding functions
    ret = encodeURIComponent(ret);
    
    for (search in histogram) {
        replace = histogram[search];
        ret = replacer(search, replace, ret) // Custom replace. No regexing
    }
    
    // Uppercase for full PHP compatibility
    return ret.replace(/(\%([a-z0-9]{2}))/g, function(full, m1, m2) {
        return "%"+m2.toUpperCase();
    });
    
    return ret;
}



function searchShowHide(tab)
{
    var telefony = document.getElementById("searchtab-telefony");
    var akcesoria = document.getElementById("searchtab-akcesoria");

    switch(tab)
    {
        case "telefony":
            if(telefony.style.display == 'block')
            {
                telefony.style.display = 'none';
                setCookie("telefony-tab","none",1);
            }
            else
            {
                telefony.style.display = 'block';
                setCookie("telefony-tab","block",1);
            }

            akcesoria.style.display = 'none';
            setCookie("akcesoria-tab","none",1);
            break;
        case "akcesoria":
            telefony.style.display = 'none';
            setCookie("telefony-tab","none",1);

            if(akcesoria.style.display == 'block')
            {
                akcesoria.style.display = 'none';
                setCookie("akcesoria-tab","none",1);
            }
            else
            {
                akcesoria.style.display = 'block';
                setCookie("akcesoria-tab","block",1);
            }
            break;
    }
}

function setCookie(c_name,value,expiredays)
{
    var exdate=new Date();
    exdate.setDate(exdate.getDate()+expiredays);
    document.cookie=c_name+ "=" +escape(value)+
        ((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}



function RequestPackage(c1,c2,c3) {
	var params = 'queryType=kup_pakiet_platny&c1=' + c1 + '&c2=' + c2 + '&c3=' + c3;

	var filePath = 'ajax/send.ajax.php';
	ajaxm.sendRequest(filePath, params, 'sendpackage', 'img',"Trwa zgłaszanie....");
}

