﻿//-------------------------------------------------------------------------//
// Universal promo widget                                                  //
// http://edwik.com                                                        //
//-------------------------------------------------------------------------//
if(!window.Upsj) var Upsj = {};

Upsj.q = function (url, callback) {
//----------------------------------------------------------------//
//              функция трансфера данных                          //
//----------------------------------------------------------------//
    var qid = Math.random().toString();
    qid = qid.substr(3,5);
    var respname = 'Resp'+qid;
    var s = document.createElement('script');
    s.setAttribute('type', 'text/javascript');
    s.setAttribute('src', url+'&qid='+qid);
    var head = document.getElementsByTagName('head')[0];
    var container = (head) ? head : document.body;
    if (callback) {
        var interval = setInterval(function() {
            if (eval("typeof " + respname) != 'undefined') {
                var response = eval(respname);
                clearInterval(interval);
                callback(decodeURIComponent(response.text));
                container.removeChild(s);
            }
        }, 50);
    }
    container.appendChild(s);
}

Upsj.getserverurl = function () {
//--------------------------------------------------------//
//     получение урла сервера                             //
//--------------------------------------------------------//
    var anchs = document.getElementsByTagName("script");
    for (i=0;i<anchs.length;i++) {
        var item = anchs[i];
        if (item.src.substring(item.src.length - 8) == '/fpsj.js') {
            Upsj.wid = item.getAttribute('wid');
            var eah = document.getElementById('fpsj_promo');
            if (!eah) {
                var ah = document.createElement('span');
                ah.id = 'fpsj_promo';
                item.parentNode.appendChild(ah);
            }
            return item.src.substring(0, item.src.length - 8);
        }
    }
}

Upsj.becomePartner = function () {
//--------------------------------------------------------------------//
//    форма стать партнером                                           //
//--------------------------------------------------------------------//
    var obj = document.getElementById('cornucopiaMD');
    obj.innerHTML = '<div style="margin-bottom: 5px; font-family: Tahoma; font-size: 8pt;">Номер телефона:</div>';
    obj.innerHTML += '<input type="text" id="fpsj_phone" value="+380" />';
    obj.innerHTML += '<div style="margin-top: 5px;"><input type="button" onclick="Upsj.newPartner();" value="Отправить" /></div>';
    obj.innerHTML += '<div style="width: 50px; font-family: Tahoma; font-size: 8pt; cursor: pointer; margin-top: 15px;" onclick="Upsj.construct(\'start\')">&larr; <u>Акции</u></div>';
    document.getElementById('fpsj_phone').focus();
}

Upsj.newPartner = function () {
//---------------------------------------------------------------------//
//          Отправка пароля по sms                                     //
//---------------------------------------------------------------------//
    Upsj.phone = document.getElementById('fpsj_phone').value;
    var obj = document.getElementById('cornucopiaMD');
    obj.innerHTML = '<b>Отправка пароля по sms...</b>';
    var phn = Upsj.phone;
    Upsj.q(Upsj.server + '/api.php?do=sendotp&phone=' + phn.replace('+', ''), function(result) {
        if(result != 0) {
            var c = '';
            c += '<div style="margin-bottom: 5px; font-family: Tahoma; font-size: 8pt;">Пароль из sms</div>';
            c += '<input type="text" id="fpsj_password" />';
            c += '<div style="margin-top: 5px;"><input type="button" onclick="Upsj.sendPartner();" value="Зарегистрироваться" /></div>';
            obj.innerHTML += '<div style="width: 50px; font-family: Tahoma; font-size: 8pt; cursor: pointer; margin-top: 15px;" onclick="Upsj.construct(\'start\')">&larr; <u>Акции</u></div>';
            obj.innerHTML = c;	
            document.getElementById('fpsj_password').focus();
        } else {
            alert('Извините, произошла ошибка, попробуйте еще раз');
            document.getElementById('fpsj_partner').style.display = 'none';
        }
    });
}

Upsj.sendPartner = function () {
//----------------------------------------------------------------//
//          регистрация партнера                                  //
//----------------------------------------------------------------//
    var pass = document.getElementById('fpsj_password').value;
    if(pass == '') {
        alert('Введите пароль, который пришел вам на мобильный телефон');
        document.getElementById('fpsj_password').focus();
        return false;
    }
    var obj = document.getElementById('cornucopiaMD');
    obj.innerHTML = '<b>Отправка данных на сервер...</b>';
    var phn = Upsj.phone;
    Upsj.q(Upsj.server + '/api.php?do=create&pass=' + pass + '&phone=' + phn.replace('+', '') , function(id) {
        if(id > 0) {
            obj.innerHTML = '<div style="margin-bottom: 20px; font-family: Tahoma; font-size: 8pt;">Ваш код для вставки на сайт:</div>';
            //obj.innerHTML += '<textarea style="width: 172px; height: 80px; font-family: tahoma; font-size: 8pt;">';
            obj.innerHTML += '<div style="font-family: Tahoma; font-size: 8pt;">&lt;script language="javascript" charset="utf-8" src="'+Upsj.server+'/fpsj.js" wid="' + id + '"&gt;&lt;/script&gt;</div>';
            obj.innerHTML += '<div style="width: 50px; font-family: Tahoma; font-size: 8pt; cursor: pointer; margin-top: 40px;" onclick="Upsj.construct(\'start\')">&larr; <u>Акции</u></div>';
        } else {
            obj.innerHTML = 'Извините, при регистрации произошла ошибка, попробуйте еще раз.';
            obj.innerHTML += '<div style="width: 50px; font-family: Tahoma; font-size: 8pt; cursor: pointer; margin-top: 40px;" onclick="Upsj.construct(\'start\')">&larr; <u>Акции</u></div>';
        }
    });
}

Upsj.closeDiv = function () {
//--------------------------------------------------------------------//
//         скрытие виджета                                            //
//--------------------------------------------------------------------//
    document.getElementById('fpsj_partner').style.display = 'none';
}

Upsj.sendVoucher = function (program_id, obj, otp) {
//------------------------------------------------------------------//
//       отправка ваучера                                           //
//------------------------------------------------------------------//
    Upsj.programmID = program_id;
    var phone = document.getElementById('fpsj_phone_inp').value;
    if (otp == 1){
    	var otpt = document.getElementById('fpsj_otp_inp').value;
    }
    var fl = phone.length;
    if (10<fl && fl<15) {
        obj.innerHTML = 'Отправка данных...';
        obj.style.cursor = 'default';
        var u = Upsj.server + '/api.php?do=getvaucher&wid=' + Upsj.wid + '&prid=' + program_id + '&phone=' + phone.replace('+', '');
        if (otp == 1){
        	u += '&otppass='+otpt;
        }
        Upsj.q(u, function(result) {
            if(result == 1) {
                if(Upsj.programmID == 48) {
                    alert('С Вами свяжется ответственный менеджер в течение 2х дней.');
                } else {
                    alert('На ваш номер выслано sms-сообщение с кодом ваучера');
                }
                Upsj.puzo = -1;
                Upsj.construct('start');				
            } else if(result == -5) {
                alert('На этот номер уже был отправлен ваучер с этой скидкой');
                Upsj.construct('start');
            } else if(result == 2) {
                alert('Ваш IP-адрес заблокирован на некоторое время');
                Upsj.construct('start');
            } else if(result.substr(0, 5) == 20328) {
                Upsj.construct('otpprogram', 161, result.replace('20328#', ''));
            } else {
                alert('Извините, произошла ошибка, попробуйте позже. #' + result);
                Upsj.construct('start');
            }
        });
    } else {
        alert("Введите корректный номер телефона");
    }
}

Upsj.getCount = function (program_id) {
//----------------------------------------------------------------//
//         получение счетчика (походу пока не ипользуется)        //
//----------------------------------------------------------------//
    var arr = Upsj.programs[1];
    for(var i = 0; i < arr.length; i++) {
        if(arr[i]['id'] == program_id) {
            return arr[i]['counter'];
        }
    }
}

Upsj.construct = function (state, id, phone) {
//----------------------------------------------------------------------//
//        функция формирующая содержимое виджета                        //
//----------------------------------------------------------------------//
    var header = '';	
    header += '<style>';
    header += '#upsjWidget * { padding: 0px; margin: 0px; border: none; text-decoration: none;'; 
    header += 'color: #333; font-family: Tahoma; font-size: 8pt; text-align: left;}';
    header += '#upsjWidget input { border: 1px solid #999; }';
    header += '</style>';
    header += '<div id="upsjWidget" style="width: 180px; border: 1px solid #ddd; font-family: Tahoma; ';
    header += 'font-size: 8pt; text-align: left; margin: 0px; padding: 0px;  line-height: 1.0em; background-color: #fff;">';
    header += '<div style="height: 14px; background-color: #ccc; font-weight: bold; text-align:';
    header += ' center; margin: 0px; padding: 0px; line-height: 1.0em;">';
    header += '<span style="color: #fff;"><a href="http://www.folkad.com/" style="color: #fff;';
    header += ' text-decoration: none; display: block; font-weight: normal; font-family: Tahoma;';
    header += ' font-size: 8pt;">Рог изобилия &#150; скидки для всех</a></span>';
    header += '</div>';
    header += '<div id="cornucopiaMD" style="margin: 3px; padding: 0px; line-height: 1.2em; height:258px;';
    header += ' border: 1px solid #fff; overflow-y: auto;">';
    var footer = '';
    footer += '</div>';
    footer += '<div style="margin: 0px 3px; height: 15px; line-height: 1.2em;">';
    footer += '<div style="text-align: left; color: #666; font-size: 8pt; width: 75%;';
    footer += ' float: left; line-height: 1.2em; font-family: Tahoma;">Выдано: ';
    footer += '<span id="upsjPCounter" style="color: #666; font-size: 8pt; line-height: 1.2em;';
    footer += ' font-family: Tahoma;">' + Upsj.puzo + '</span></div>';
    footer += '<div style="text-align: right; color: #666; font-size: 8pt; width: 25%; float: right; line-height: 1.2em;">';
    footer += '<a href="javascript:Upsj.becomePartner();" style="text-decoration: none; color: #666; font-weight: bold;';
    footer += ' font-family: Tahoma; font-size: 10pt;">+</a></div>';
    footer += '</div>';
    footer += '</div>';
    var fpsj_partner = '<div id="fpsj_partner" style="border: 1px solid rgb(51, 51, 51); padding: 10px;';
    fpsj_partner += ' position: absolute; display: none; z-index: 100; top: 200px; left: 520px; width: 400px; background-color: #fff;">';
    fpsj_partner += '<div style="text-align: right;">';
    fpsj_partner += '<a href="javascript:Upsj.closeDiv();" style="font-weight: normal;">Закрыть</a>';
    fpsj_partner += '</div><div id="fpsj_p_inner"/></div></div>';
    footer += fpsj_partner;

    if (state=='start') {
        Upsj.q(Upsj.server + '/api.php?do=getcatalog&wid=' + Upsj.wid, function(result) {
            var obj = eval(result);
            var str = '';
            for (var i=0;i<obj.length;i++) {
                str += '<div style="margin-top: 10px;">';
                str += '<table border="0"><tr><td><img src="http://www.folkad.com/image/small/';
                str += obj[i]['id']+'.jpg" border="0" width="16" height="16" /></td><td>';
                if(obj[i]['id'] == 5) {
                    str += '<a style="color: #c00; font-weight: normal; font-size: 8pt;  font-family: Tahoma;" ';
                    str += 'href="javascript:Upsj.construct(\'dir\', ';
                    str += obj[i]['id']+')"><b><font color="#cc0000">'+obj[i]['name'];
                    str += '<span>['+obj[i]['c']+']</span></font></b></a>';
                } else {
                    str += '<a style="color: #333; font-weight: normal; font-size: 8pt;  font-family: Tahoma;" ';
                    str += 'href="javascript:Upsj.construct(\'dir\', '+obj[i]['id']+')">'+obj[i]['name']+'<span>['+obj[i]['c']+']</span></a>';
                }
                str += '</td></tr></table></div>';
            }
            Upsj.ctr.innerHTML = header+str+footer;			
        });
    }
    else if (state=='dir') {
        Upsj.back = id; 
        Upsj.q(Upsj.server + '/api.php?do=getdir&wid=' + Upsj.wid + '&pid=' + id, function(result) {
            if (result!='0') {
                var obj = eval(result);
                Upsj.wids = obj;
                var str = '';
                for (var i = 0; i < obj.length; i++) {
                    str += '<div style="margin-bottom: 5px;"><table border="0"><tr><td width="38">';
                    str += '<a href="javascript:Upsj.construct(\'banner\', ' + obj[i]['id'] + ')">';
                    str += '<img width="30" border="0" src="' + Upsj.server + '/sitefiles/userdata/';
                    str += obj[i]['id'] + '.' + obj[i]['banner'] + '" /></a></td>';
                    str += '<td style="padding: 0px;"><a href="javascript:Upsj.construct(\'banner\', ';
                    str += obj[i]['id'] + ')" style="color: #333; font-size: 8pt; font-weight: normal; font-family: Tahoma;">';
                    str += obj[i]['name'] + '</a></td></tr></table></div>';
                }
                var backLink =  '<div style="font-family: Tahoma; font-size: 8pt; cursor: pointer; width: 50px;';
                backLink += 'margin-bottom: 5px; margin-left: 28px;" onclick="Upsj.construct(\'start\')">&larr; <u>назад</u></div>';
                Upsj.ctr.innerHTML = header + backLink + str + footer;
            }
            else alert('Ошибка!');
        });
    }
    else if (state=='banner') {
        for (var i = 0; i < Upsj.wids.length; i++) if (Upsj.wids[i]['id'] == id) var curwid = Upsj.wids[i];
        var str = '';
        str += '<div style="text-align: center;">';
        str += '<div style="margin: 15px 0px 10px 0px; text-align: center;">';
        str += '<img border="0" src="' + Upsj.server + '/sitefiles/userdata/' + curwid['id'] + '.' + curwid['banner'] + '";'
        str += ' alt="' + curwid['name'] + '" width="64" /></div>';
        if(curwid['counter'] != '0') {
            str += '<div style="margin: 5px 0px; font-family: Tahoma; font-size: 8pt; text-align: center;">Номер вашего мобильного</div>';
            str += '<div style="text-align: center;"><input type="text" id="fpsj_phone_inp" value="+" /></div>';
            str += '<div style="margin-top: 5px; font-family: Tahoma; font-size: 8pt; color: #999; text-align: center;">';
            str += 'осталось ваучеров: <span>' + curwid['counter'] + '</span></div>';
            str += '<div style="cursor: pointer; margin: 5px 0px 10px 0px; font-family: Tahoma; font-size: 8pt; text-align: center;"';
            str += ' onclick="Upsj.sendVoucher('+id+', this)">[ <u>Продолжить</u> ]</div>';
        } else {
            str += '<div style="margin: 5px 0px; font-family: Tahoma; font-size: 8pt; text-align: center;">Извините, ваучеров нет.</div>';
        }
        
        if(curwid['descr'] != null) {
            str += '<div style="margin: 5px 0px; font-family: Tahoma; font-size: 8pt; color: #666;';
            str += ' text-align: center;">' + curwid['descr'] + '</div>';
            str += '</div>';		
            var backLink =  '<div style="cursor: pointer; width: 50px; margin-bottom: 5px; margin-left: 28px;"';
            backLink += ' onclick="Upsj.construct(\'dir\', ' + Upsj.back + ')">&larr; <u>назад</u></div>';
            Upsj.ctr.innerHTML = header + backLink + str + footer;
        }
        else 
            Upsj.ctr.innerHTML = header+'<a href="#" style="font-weight: normal;">Создать свою промо-акцию</a>' + footer;
	}
    else if (state=='otpprogram') {
        for (var i = 0; i < Upsj.wids.length; i++) if (Upsj.wids[i]['id'] == id) var curwid = Upsj.wids[i];
        var str = '';
        str += '<div style="text-align: center;">';
        str += '<div style="margin: 15px 0px 10px 0px; text-align: center;">';
        str += '<img border="0" src="' + Upsj.server + '/sitefiles/userdata/' + curwid['id'] + '.' + curwid['banner'] + '";'
        str += ' alt="' + curwid['name'] + '" width="64" /></div>';
        if(curwid['counter'] != '0') {
            str += '<div style="margin: 5px 0px; font-family: Tahoma; font-size: 8pt; text-align: center;">Пароль пришедший вам на телефон</div>';
            str += '<div style="text-align: center;"><input type="text" id="fpsj_otp_inp" value="" /><input type="hidden" id="fpsj_phone_inp" value="'+phone+'" /></div>';
            str += '<div style="margin-top: 5px; font-family: Tahoma; font-size: 8pt; color: #999; text-align: center;">';
            str += 'осталось ваучеров: <span>' + curwid['counter'] + '</span></div>';
            str += '<div style="cursor: pointer; margin: 5px 0px 10px 0px; font-family: Tahoma; font-size: 8pt; text-align: center;"';
            str += ' onclick="Upsj.sendVoucher('+id+', this, 1)">[ <u>Получить ваучер</u> ]</div>';
        } else {
            str += '<div style="margin: 5px 0px; font-family: Tahoma; font-size: 8pt; text-align: center;">Извините, ваучеров нет.</div>';
        }
        if(curwid['descr'] != null) {
            str += '<div style="margin: 5px 0px; font-family: Tahoma; font-size: 8pt; color: #666;';
            str += ' text-align: center;">' + curwid['descr'] + '</div>';
            str += '</div>';		
            var backLink =  '<div style="cursor: pointer; width: 50px; margin-bottom: 5px; margin-left: 28px;"';
            backLink += ' onclick="Upsj.construct(\'dir\', ' + Upsj.back + ')">&larr; <u>назад</u></div>';
            Upsj.ctr.innerHTML = header + backLink + str + footer;
        }
        else 
            Upsj.ctr.innerHTML = header+'<a href="#" style="font-weight: normal;">Создать свою промо-акцию</a>' + footer;
    }
    if(Upsj.puzo == -1) {
        Upsj.setPuzo();
    }
}

Upsj.setPuzo = function () {
//-------------------------------------------------------------//
//          получение счетчика                                 //
//-------------------------------------------------------------//
    Upsj.q(Upsj.server + '/api.php?do=getcount&wid=' + Upsj.wid, function(result) {
        Upsj.puzo = parseInt(result);
        if(document.getElementById('upsjPCounter')) {
            document.getElementById('upsjPCounter').innerHTML = Upsj.puzo;
        } else {
            setTimeout(Upsj.setPuzo, 300);
        }
    });
}

Upsj.linkCSS = function (file){
//--------------------------------------------------------------------//
//        подключение стилей                                          //
//--------------------------------------------------------------------//
    var link = document.createElement("link");
    link.type = "text/css";
    link.rel = "stylesheet";
    link.href = Upsj.server + file;
    document.getElementsByTagName('head')[0].appendChild(link);
}

//---------------------------------------------------------------------//
//        исполняемая часть                                            //
//---------------------------------------------------------------------//
    Upsj.wid = 0;
    Upsj.programs = {};
    Upsj.all_programs = {};
    Upsj.server = Upsj.getserverurl();
    var clientURL = document.location;
    Upsj.q(Upsj.server + '/api.php?whoami=' + document.location, function(res) { return; });
    Upsj.wids = {};
    Upsj.puzo = -1; // счетчик розданных штук
    Upsj.back = 0;
    Upsj.phone = '';
    Upsj.programmID = 0;
    Upsj.ctr = document.getElementById('fpsj_promo');
    Upsj.construct('start');

