function getAjaxConnector(){
    return "http://www.rizsanelkul.hu/wp-content/plugins/wpbsm/lib/AjaxConnector/AjaxConnector.php";
}

function createXmlHttp(sender, params, onStateChange){
    var parameters = "method="+sender+((params != '') ? '&'+params : '');
    
    //Leteszteljűk, hogy ie-t használunk-e.
    try {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    }catch (e){
        try {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }catch (E){
            xmlhttp = false;
        }
    }
    //És ha nem ie, akkor nem kell játszani az activex-es vacakokkal :-).
    if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
        xmlhttp = new XMLHttpRequest();
    }
    
    xmlhttp.open("POST", getAjaxConnector(), true);
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlhttp.setRequestHeader("Content-length", params.length);
    xmlhttp.setRequestHeader("Connection", "close");

    xmlhttp.onreadystatechange = onStateChange;
    
    xmlhttp.send(parameters);
    
    return xmlhttp;
}

function closeError(){
    closeWindow(errorWin, true);
}

function validateFormElement(element, errorOn){
    if (element.name == "email"){
        var emailExp = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$/;
        if (element.value == ""){
            errorWin = showMessage('Az e-mail-t kötelező megadni.', "closeError()", errorOn);
            return false;
        }
        if (element.value.match(emailExp)){
            return true;
        }else{
            errorWin = showMessage('Az e-mail mezőben megadott szöveg nem szabványos e-mail cím.', "closeError()", errorOn);
            return false;
        }
    }
    if (element.name == "userName"){
        var alphaExp = /^[0-9a-zA-Z]+$/;
        if ((element.value.length > 5) && (element.value.length < 21)){
            if (element.value.match(alphaExp)){
                return true;
            }else{
                errorWin = showMessage('A felhasználónév mezőben megadott szöveg csak az angol ábécé betűit, és számoka tartalmazhat.', "closeError()", errorOn);
                return false;
            }
        }else{
            errorWin = showMessage('A felhasználónévnek minimum 6 és maximum 20 karakternek kell lennie.', "closeError()", errorOn);
            return false;
        }
    }
    
    return true;
}

function addOrder(){
    addorderwin = openAjaxWait('orderbase');
    
    var params = '';
    var form = document.getElementById('orderadd');
    
    for (var i = 0; i < form.elements.length; ++i){
        var element = form.elements[i];
        if (element.name == "wpbsm_button"){ continue; }
        if (!validateFormElement(element, 'orderbase')){ closeWindow(addorderwin); return; }
        params += ((i > 0) ? '&' : '') + element.name + '=';
        params += element.value;
    }
    
    var partnerID = getGETVar('partnerid');
    var rateType = "";
    
    if (partnerID != ''){
    	rateType = "raised";
    }else{
    	if (readCookie("partnerID") != null){
    		rateType = "normal";
    		partnerID = readCookie("partnerID");
    	}else{
    		partnerID = null;
    	}
    }
    
    if (partnerID != null){
    	params += "&partnerID="+partnerID;
    	params += "&rateType="+rateType;
    }
    
    xmlhttp = createXmlHttp('addOrder', params, function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200){
            closeWindow(addpartnerwin);
            if (xmlhttp.responseText.toLowerCase().search("wpbsm_error") != -1){
                errorWin = showMessage(xmlhttp.responseText, "closeError()", 'orderbase');
            }else{
                result = '<div align="center">';
                result += xmlhttp.responseText;
                result += '</div>';
                
                var pageBase = document.getElementById('orderbase');
                pageBase.innerHTML = result;
            }
        }
    });
}

function loginPartner(){
	addpartnerwin = openAjaxWait('partnerbase');
    
    var params = '';
    var form = document.getElementById('partnerlogin');
    
    for (var i = 0; i < form.elements.length; ++i){
        var element = form.elements[i];
        if (element.name == "wpbsm_button"){ continue; }
        if (!validateFormElement(element, 'partnerbase')){ closeWindow(addpartnerwin); return; }
        params += ((i > 0) ? '&' : '') + element.name + '=';
        params += element.value;
    }
    
    xmlhttp = createXmlHttp('loginPartner', params, function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200){
            closeWindow(addpartnerwin);
            if (xmlhttp.responseText.toLowerCase().search("wpbsm_error") != -1){
                errorWin = showMessage(xmlhttp.responseText, "closeError()", 'partnerbase');
            }else{
                result = '<div align="center">';
                result += xmlhttp.responseText;
                result += '</div>';
                
                var pageBase = document.getElementById('partnerbase');
                pageBase.innerHTML = result;
            }
        }
    });
}

function generateNewPassword(winTo){
	addpartnerwin = openAjaxWait('partnerbase');
    
    var params = '';
    var form = document.getElementById('partnerlogin');
    
    for (var i = 0; i < form.elements.length; ++i){
        var element = form.elements[i];
        if (element.name == "wpbsm_button"){ continue; }
        if (!validateFormElement(element, 'partnerbase')){ closeWindow(addpartnerwin); return; }
        params += ((i > 0) ? '&' : '') + element.name + '=';
        params += element.value;
    }
    
    xmlhttp = createXmlHttp('generateNewPassword', params, function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200){
            closeWindow(addpartnerwin);
            if (xmlhttp.responseText.toLowerCase().search("wpbsm_error") != -1){
                errorWin = showMessage(xmlhttp.responseText, "closeError()", 'partnerbase');
            }else{
                errorWin = showMessage(xmlhttp.responseText, "closeError()", winTo);
            }
        }
    });
}

function showPartnerStatistics(partnerID, resultTo){
	addpartnerwin = openAjaxWait('partnerbase');
    
    var params = '';
    var form = document.getElementById('partnerstatform');
    
    for (var i = 0; i < form.elements.length; ++i){
        var element = form.elements[i];
        if (element.name == "wpbsm_button"){ continue; }
        if (!validateFormElement(element, 'partnerbase')){ closeWindow(addpartnerwin); return; }
        params += ((i > 0) ? '&' : '') + element.name + '=';
        params += element.value;
    }
    
    xmlhttp = createXmlHttp('showPartnerStatistics', params+"&partnerID="+partnerID, function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200){
            closeWindow(addpartnerwin);
            if (xmlhttp.responseText.toLowerCase().search("wpbsm_error") != -1){
                errorWin = showMessage(xmlhttp.responseText, "closeError()", 'partnerbase');
            }else{
                result = '<div align="center">';
                result += xmlhttp.responseText;
                result += '</div>';
                
                var pageBase = document.getElementById(resultTo);
                pageBase.innerHTML = result;
            }
        }
    });
}

function changePartnerDatas(partnerID, resultTo){
	addpartnerwin = openAjaxWait('partnerbase');
    
    var params = '';
    var form = document.getElementById('partnerchanger');
    
    for (var i = 0; i < form.elements.length; ++i){
        var element = form.elements[i];
        if (element.name == "wpbsm_button"){ continue; }
        if (!validateFormElement(element, 'partnerbase')){ closeWindow(addpartnerwin); return; }
        params += ((i > 0) ? '&' : '') + element.name + '=';
        params += element.value;
    }
    
    xmlhttp = createXmlHttp('changePartnerDatas', params+"&partnerID="+partnerID, function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200){
            closeWindow(addpartnerwin);
            if (xmlhttp.responseText.toLowerCase().search("wpbsm_error") != -1){
                errorWin = showMessage(xmlhttp.responseText, "closeError()", 'partnerbase');
            }else{
                result = '<div align="center">';
                result += xmlhttp.responseText;
                result += '</div>';
                
                var pageBase = document.getElementById(resultTo);
                pageBase.innerHTML = result;
            }
        }
    });
}

function getAddOrderForm(productID){
	addpartnerwin = openAjaxWait('caller');
    
    var params = '';
    
    xmlhttp = createXmlHttp('getAddOrderForm', "productID="+productID, function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200){
            closeWindow(addpartnerwin);
            if (xmlhttp.responseText.toLowerCase().search("wpbsm_error") != -1){
                errorWin = showMessage(xmlhttp.responseText, "closeError()", 'caller');
            }else{
                result = '<div align="center">';
                result += xmlhttp.responseText;
                result += '</div>';
                
                var pageBase = document.getElementById("caller");
                pageBase.innerHTML = result;
            }
        }
    });
}

function getPartnerLoginForm(){
	addpartnerwin = openAjaxWait('caller');
    
    var params = '';
    
    xmlhttp = createXmlHttp('getPartnerLoginForm', '', function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200){
            closeWindow(addpartnerwin);
            if (xmlhttp.responseText.toLowerCase().search("wpbsm_error") != -1){
                errorWin = showMessage(xmlhttp.responseText, "closeError()", 'caller');
            }else{
                result = '<div align="center">';
                result += xmlhttp.responseText;
                result += '</div>';
                
                var pageBase = document.getElementById("caller");
                pageBase.innerHTML = result;
            }
        }
    });
}

