﻿
if(!window.VisaWiget) var VisaWiget = {};
var cash_result = new Array();
var onklk = new Array();
var obj;
var obj2;


VisaWiget.getdiv = function () {										/*функция создающая div*/
 var anchs = document.getElementsByTagName("script");
 for (i=0;i<anchs.length;i++) {
  var item = anchs[i];
  if (item.src.substring(item.src.length - 53) == '/partner.privatbank.ua/visaprocessor/js_visawidget.js') {
   VisaWiget.widgetid = item.getAttribute('identifi');
   VisaWiget.chanalname = item.getAttribute('chanalname');
   VisaWiget.chanalcomment = item.getAttribute('chanalcomment');
   VisaWiget.lang = item.getAttribute('lang');
   var eah = document.getElementById('js_vidget_visa');
   if (!eah) {
    var ah = document.createElement('div');
    ah.id = 'js_vidget_visa';
    item.parentNode.appendChild(ah);
   }
   return item.src.substring(0, item.src.length - 8);
  }
 }
}
VisaWiget.q = function (url, callback) {								/*функция трансфера данных*/
	if (!cash_result[url])
	{
		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));
					cash_result[url] = decodeURIComponent(response.text);
					container.removeChild(s);
				}
			}, 50);
		}
		container.appendChild(s);
	}
	else
	{
	callback(cash_result[url]);
	}
}
VisaWiget.linkCSS = function (file){									/*функция подключения стилей*/
	var link = document.createElement("link");
	link.type = "text/css";
	link.rel = "stylesheet";
	link.href = VisaWiget.server + file;
	document.getElementsByTagName('head')[0].appendChild(link);
}
VisaWiget.base64 = {
    // private property
    _keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
    // public method for encoding
    encode : function (input) {
        var output = "";
        var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
        var i = 0; 
        input = VisaWiget.base64._utf8_encode(input); 
        while (i < input.length) { 
            chr1 = input.charCodeAt(i++);
            chr2 = input.charCodeAt(i++);
            chr3 = input.charCodeAt(i++); 
            enc1 = chr1 >> 2;
            enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
            enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
            enc4 = chr3 & 63; 
            if (isNaN(chr2)) {
                enc3 = enc4 = 64;
            } else if (isNaN(chr3)) {
                enc4 = 64;
            } 
            output = output +
            this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) +
            this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4); 
        } 
        return output;
    }, _utf8_encode : function (string) {
        string = string.replace(/\r\n/g,"\n");
        var utftext = "";
        for (var n = 0; n < string.length; n++) {
            var c = string.charCodeAt(n);
            if (c < 128) {
                utftext += String.fromCharCode(c);
            }
            else if((c > 127) && (c < 2048)) {
                utftext += String.fromCharCode((c >> 6) | 192);
                utftext += String.fromCharCode((c & 63) | 128);
            }
            else {
                utftext += String.fromCharCode((c >> 12) | 224);
                utftext += String.fromCharCode(((c >> 6) & 63) | 128);
                utftext += String.fromCharCode((c & 63) | 128);
            }
        }
        return utftext;
    }
}
VisaWiget.soursefun = function (){										/*передаем урл*/
	
	var url = new String(document.location);

	url64 = VisaWiget.base64.encode(url);
	
	VisaWiget.q(VisaWiget.server+'?widgetid='+widgetid+'&lang='+lang+'&url='+url64, function(result) 
	{	
		obj = eval(result);
		var str  = '';
			

	});

}
VisaWiget.construct = function (state, id) {							/*функция построения страниц виджета*/
	
	if (state=='start') {												/*стартовые страницы виджета (пока такиеже как и листы)*/
	
		VisaWiget.q(VisaWiget.server+'?id='+id+'&widgetid='+widgetid+'&lang='+lang, function(result) 
		{	
			obj = eval(result);
			var str  = '<div id="js_visa_div_list">';
				
				if (id == 3)
				{
					str += '<p style="font-family:Arial, Helvetica, sans-serif;font-size: 11px;color:black;margin:0;width:160px;line-height:normal;">';
					str += verifi1;
					str += '</p>';
				}
				
				
				for (var i=0; i<obj.length; i++) {				/*построение страницы каталога*/
					
					if (obj[i]['type'] == 'link')
					{
						onklk[i] = 'onclick="return VisaWiget.trcounter(1);"'
						target = 'target="_blank"';
					}
					else
					{
						onklk[i] = '';
						target = '';
					}
					
					str += '<a href="'+obj[i]['url']+'" class="js_visa_a1" '+target+'>'+obj[i]['name']+'</a>';
				}
				
			str += '</div>';
			str += '<a href="http://visa.com" id="js_visa_logo_visa">&nbsp;</a>';
			
			str += '<div id="footer2_a_js_vidg">';
			if (id != 0)
				str += '	<a href="https://liqpay.com" class="js_visa_liqpay" target="_blank">liqpay.com</a>&nbsp;&nbsp;&nbsp;';
			str += '	<a id="js_visa_partner_plus" href="javascript: VisaWiget.construct(\'partner_up\',1);"><b>+</b></a>';
			str += '</div>';
			
			str += '<div id="footer_a_js_vidg">';
			if (id != 0)	
				str += '<a id="js_visa_back" href="javascript: VisaWiget.construct(\'start\',0);">'+back+'</a>';
			if (id == 0)
				str += '<a href="https://liqpay.com" class="js_visa_liqpay" target="_blank"><img src="'+VisaWiget.server+'/img/liq.png" width="73" height="16" border="0" /></a>';
			
			str += '</div>';
			
			VisaWiget.ctr.innerHTML = str;							/*вписываем сформированый str в div виджета*/
		});
	}
	else if(state=='partner_up') {								/*страница стать партнером*/
	
		var str  = '<div style="text-align:left;padding:8px 10px 10px 10px;color:black;">';
			str += '	<form>';
			str += '		<p style="font-family:Arial, Helvetica, sans-serif;font-size: 11px;color:black;margin:0 0 2px 0;paddong:0;">';
			str += 				number_phone;
			str += '		</p>';
			str += '		+&nbsp;<input style="width:100px;font-family:Arial, Helvetica, sans-serif;font-size: 11px;color:black;" type="text" name="partner_phone" value="380" /><br />';
			str += '		<input style="border:1px solid black;margin:4px 0 0 13px;font-family:Arial, Helvetica, sans-serif;font-size: 11px;color:black;" type="submit" name="partner_sub" onclick="return VisaWiget.validation2(this.form, 1, 54);" value="'+sub1+'" />';
			str += '	</form>';
			str += '</div>';
			str += '<a href="http://visa.com" id="js_visa_logo_visa">&nbsp;</a>';
		str += '<div id="footer_a_js_vidg">';
		str += '<a id="js_visa_back" href="javascript: VisaWiget.construct(\'start\',0);">'+back+'</a>';
		str += '</div>';
		VisaWiget.ctr.innerHTML = str;								/*вписываем сформированый str в div виджета*/
	}
	else if(state=='about') {									/*страница about*/
	
		var str  = '<div style="text-align:left;padding:10px 10px 10px 10px;color:black;">';
			str += '<p style="font-family:Arial, Helvetica, sans-serif;font-size: 11px;color:black;margin:0;width:100%;line-height:normal;">';
			str += about;
			str += '</p></div>';
			str += '<a href="http://visa.com" id="js_visa_logo_visa">&nbsp;</a>';
			
			str += '<div id="footer2_a_js_vidg">';
			if (id != 0)
				str += '	<a href="https://liqpay.com" class="js_visa_liqpay" target="_blank">liqpay.com</a>&nbsp;&nbsp;&nbsp;';
			str += '	<a id="js_visa_partner_plus" href="javascript: VisaWiget.construct(\'partner_up\',1);"><b>+</b></a>';
			str += '</div>';
			
			str += '<div id="footer_a_js_vidg">';
			if (id != 0)	
				str += '<a id="js_visa_back" href="javascript: VisaWiget.construct(\'start\',0);">'+back+'</a>';
			if (id == 0)
				str += '<a href="https://liqpay.com" class="js_visa_liqpay" target="_blank"><img src="'+VisaWiget.server+'/img/liq.png" width="73" height="16" border="0" /></a>';
			str += '</div>';
		
		VisaWiget.ctr.innerHTML = str;								/*вписываем сформированый str в div виджета*/
	}
	
}
VisaWiget.validation2 = function (form, state, phone_user) {			/*функция проверки правильности введенных данных стать партнером*/
	var url = '/?';
	var temp_el = form[0];
	var temp_el2 = form[2];
	var pattern = new RegExp('[0-9+]');							/*регулярное выражение для телефона и пароля*/
	if (!pattern.test(temp_el.value))
	{
		return false;
	}else{
		if (state == 1)	{										/*запрос на ввод пароля*/
		
			url += '&partner_phone='+temp_el.value+'&widgetid='+widgetid+'&lang='+lang;
			VisaWiget.q(VisaWiget.server+url, function(result) 
			{
				obj = eval(result);
				var str  = '<div style="text-align:left;">';
					if (obj[0]['widget_id'] != '')
					{
					alert(partner1+'\n'+obj[0]['result']);
					VisaWiget.construct('start', 0);
					return;
					}else{
						kk = obj[0]['result'];
						if (kk) {
							str += '<div style="text-align:left;padding:8px 10px 10px 10px;color:black;">';
							str += '<form>';
							str += '	<p style="font-family:Arial, Helvetica, sans-serif;font-size: 11px;color:black;margin:0 0 2px 0;paddong:0;">'+pass1+'</p>';
							str += '	<input style="width:100px;font-family:Arial, Helvetica, sans-serif;font-size: 11px;color:black;" type="text" name="partner_pass" value="" /><br />';
							str += '	<input style="border:1px solid black;margin-top:4px;font-family:Arial, Helvetica, sans-serif;font-size: 11px;color:black;" type="submit" name="partner_sub2" ';
							str += '	onclick="return VisaWiget.validation2(this.form, 2, '+temp_el.value+');" value="'+sub1+'" />';
							str += ' '+langvichh+' <select name="sellang" style="font-family:Arial, Helvetica, sans-serif;font-size: 11px;color:black;margin:0;paddong:0;width:50px;"><option value="en">EN</option><option value="ru">RU</option><option value="ua">UA</option></select>';
							
							
							str += '</form>';
							str += '</div>';
						}else{
							str += '<p style="font-family:Arial, Helvetica, sans-serif;font-size: 11px;color:black;">'+number_phone1+'</p>';
						}
					}
					str += '</div>';
					str += '<a href="http://visa.com" id="js_visa_logo_visa">&nbsp;</a>';
				str += '<div id="footer_a_js_vidg">';
				str += '<a id="js_visa_back" href="javascript: VisaWiget.construct(\'start\',0);">'+back+'</a>';
				str += '</div>';
				VisaWiget.ctr.innerHTML = str;						/*вписываем сформированый str в div виджета*/
			});
			return false;
		}
		else if (state == 2) {									/*выдача html кода партнеру*/
			url += '&partner_pass='+temp_el.value+'&widgetid='+widgetid+'&phone_user='+phone_user+'&lang='+lang+'&sellang='+temp_el2.value;
			VisaWiget.q(VisaWiget.server+url, function(result) 
			{
				obj = eval(result);
				var str  = '';
				if (obj[0]['err'] == 1)
				{
					str = err1;
				}else{
					str = code1;
				}
				alert(str+'\n\n'+obj[0]['result']);
				VisaWiget.construct('start', 0); 	
			});
			return false;
		}
	}
}

/*********************************************/						

	
	
	VisaWiget.getdiv();
	VisaWiget.server = 'https://partner.privatbank.ua/visaprocessor';
	VisaWiget.ctr = document.getElementById('js_vidget_visa');
	var widgetid = VisaWiget.widgetid;
	var chanalname = VisaWiget.chanalname;
	var chanalcomment = VisaWiget.chanalcomment;
	var lang =  VisaWiget.lang;
//	if (lang == 'ru')
//	{
//		lang = 'en';
//	}
	
	if (lang == 'ru') {
		
		number_phone = 'Введите номер телефона:';
		number_phone1 = 'Неправилиный формат телефона';
		sub1 = 'отправить';
		back = 'назад';
		about = 'карта > счет liqpay - 0\r\nсчет liqpay > счет liqpay - 0\r\nсчет liqpay > карта ПБ - 0.55$+0.5%\r\nсчет liqpay > карта - 1.95$+1.0%';
		partner1 = 'Вы уже являетесь партнером. Код вашего виджета:';
		pass1 = 'Введите пароль:';
		err1 = 'Ошибка:';
		code1 = 'Данный код вам необходимо вставить на ваш ресурс без изменений:';
		langvichh = 'язык';
		verifi1 = 'Впервые на liqpay.com? Пройдите ';
	
	} 
	else if (lang == 'ua') {
		
		number_phone = 'Введіть номер телефону:';
		number_phone1 = 'Неправіліний формат телефону';
		sub1 = 'відправити';
		back = 'назад';
		about = 'картка > рахунок liqpay - 0\r\nрахунок liqpay > рахунок liqpay - 0\r\nрахунок liqpay > картка ПБ - 0.55$+0.5%\r\nрахунок liqpay > картка - 1.95$+1.0%';
		partner1 = 'Ви вже є партнером. Код вашого віджета:';
		pass1 = 'Введіть пароль:';
		err1 = 'Пмилка:';
		code1 = 'Даний код вам необхідно вставити на ваш ресурс без змін:';
		langvichh = 'мова';
		verifi1 = 'Вперше на liqpay.com? Пройдіть ';
	
	} 
	else {
		
		number_phone = 'Enter phone number:';
		number_phone1 = 'Incorrect format of phone';
		sub1 = 'submit';
		back = 'back';
		about = 'card to liqpay account - 0\r\nliqpay account to liqpay account - 0\r\nliqpay account to card PB - 0.55USD+0.5%\r\nliqpay account to card - 1.95USD+1.0%';
		partner1 = 'You already are the partner. A code of yours widget:';
		pass1 = 'Enter password:';
		err1 = 'Error:';
		code1 = 'The given code to you is necessary for inserting on your resource without changes:';
		langvichh = 'language';
		verifi1 = 'First time in liqpay.com? ';
	
	}
	
	
	
	if (widgetid == 5)
		VisaWiget.linkCSS("/css/js_vidg_main_css_liqpay.css");
	else
		VisaWiget.linkCSS("/css/js_vidg_main_css_visa.css");
	
	
	
	VisaWiget.soursefun();
	
	
	VisaWiget.construct('start',0); 
 


