$(document).ready(function(){start();});
function debug(array,type) {var elements = array.length;if (type == 'write') { var br = '<br/>&nbsp;&nbsp;&nbsp;'; }if (type == 'alert'){ var br = "\n"; }var out = "Array {"+br+br;if (elements) {for(i = 0;i < elements;i++) {out+= "\t["+i+"] = "+array[i]+br;}out+= br+"}";}if (type == 'write') {document.write(out);	}if (type == 'alert') {alert(out);}}	
function clearArray(array) { if (array) {var elements = array.length;var outArray = new Array();var id = 0;if (elements) {for(i = 0; i < elements;i++) {if (array[i] && array[i] != "none") {  outArray[id] = array[i]; id++; }}return outArray;}}} var x=0; 
var process=new Array();var ffirstname=new Array();var flasttname=new Array();var fusername=new Array();var fdongle=new Array();var fcontry=new Array();var femail=new Array();
var infoicon='&nbsp;<img src="http://www.dc-unlocker.com/images/info.gif" alt="" border="0" />';
function StartProcess(ex,name,typein){if (typein==1){process[x]=setTimeout(function(){insertPage(ex,name,'return'); $(".loadingbox").html("<img src='images/clock.jpg' alt='loading...' />"); },2000);} if(typein==2){ffirstname[x]=setTimeout(function(){$(name).html(ex).fadeIn("slow");},2000);} if(typein==3){flasttname[x]=setTimeout(function(){$(name).html(ex).fadeIn("slow");},2000);} if(typein==4){fusername[x]=setTimeout(function(){$(name).html(ex).fadeIn("slow");},2000);} if(typein==5){fdongle[x]=setTimeout(function(){$(name).html(ex).fadeIn("slow");},2000);} if(typein==6){fcontry[x]=setTimeout(function(){$(name).html(ex).fadeIn("slow");},2000);} if(typein==7){femail[x]=setTimeout(function(){$(name).html(ex).fadeIn("slow");},2000);}x=x+1;}
function stoper(stoptype) {if(stoptype==1){if (process.length>0){process=clearArray(process);killer(process,x,stoptype);}} if(stoptype==2){if (ffirstname.length>0){process=clearArray(ffirstname);killer(process,x,stoptype);}} if(stoptype==3){if (flasttname.length>0){process=clearArray(flasttname);killer(process,x,stoptype);}} if(stoptype==4){if (fusername.length>0){process=clearArray(fusername);killer(process,x,stoptype);}} if(stoptype==5){if (fdongle.length>0){process=clearArray(fdongle);killer(process,x,stoptype);}} if(stoptype==6){if (fcontry.length>0){process = clearArray(fcontry);killer(process,x,stoptype);}} if(stoptype==7){if (femail.length>0){process = clearArray(femail);killer(process,x,stoptype);}}}
function killer(array,id,typenew) {if (array) {var elements=array.length;if(elements){for(i = 0;i < elements;i++){clearTimeout(array[i]);}}if(typenew==1){process=new Array();}if(typenew==2){ffirstname=new Array();}if(typenew==3){flasttname=new Array();}if(typenew==4){fusername=new Array();}if (typenew==5){fdongle=new Array();}if(typenew==6){fcontry=new Array();}if(typenew==7){femail=new Array();}x=0;}}
function sendsubmit() {
	$(".paymentform").fadeOut("slow");$(".payments").fadeOut("slow");$(".paymentinfo").fadeOut("slow");$("#bank_name").fadeOut("slow");
	togetout();
}
function togetout() {
	stoper();
	$(".paymentbootn").html("<div style='text-align:center; margin: 0 auto; height:200px; width: 200px; padding-top: 70px;'><img src='images/aloader.gif' alt='loading...' /><br/><br/>Please wait</div>");
	insertPagePOST('buy.php',".paymentbootn",'','bank='+ $("#bank").val() +'&creditsfor='+ $("#creditsfor").val() +'&pay_first_name='+ $("#pay_first_name").val() +'&pay_last_name='+ $("#pay_last_name").val() +'&user='+ $("#user").val() +'&dongle='+ $("#dongle").val() +'&country=' + $("#country").val()+'&pay_from_email=' + $("#pay_from_email").val() +'&amount='+ $("#amount").val());
	
}
function backto() {
	responsearray = new Array();
	$("#amount").val('').focus().removeClass("amountenable").addClass("amountdisable");
	$(".paymentbootn").html('');
	$("#confirm").attr("disabled", "disabled");  
	$(".paymentform").fadeIn("slow");
	$(".payments").fadeIn("slow");
	$(".paymentinfo").fadeIn("slow");
	$("#bank_name").fadeIn("slow");
}
function showsu(arraysu) {
	var elements=arraysu.length;
	var goto=true;
	$(".loadingbox").html('');
	if (elements) {
		for(i = 0;i < elements;i++) {if (arraysu[i] == false) { goto = false; }	}
		if (goto) {$("#confirm").removeAttr("disabled");  $(".errorleter").hide('slow'); $(".loadingbox").html('');}
		else {$("#confirm").attr("disabled", "disabled");}
	}
	else {return false;}
}
function start() {
	if ($("#large")) {
		$("#large").tablesorter({widthFixed: false, widgets: ['zebra'],1: {sorter:'integers'}}).tablesorterFilter({ filterContainer: $("#filterBoxOne"),filterClearContainer: $("#filterClearOne"),filterColumns: [0, 1, 3, 4, 5, 6], filterCaseSensitive: false});
	}
	$("#confirm").attr("disabled", "disabled"); 
	$(".outbox").fadeIn("slow");
	$(".paymentbootn").html('');
	seloption(1);
	selectPayment();
	$(".input").val();
	imback();
	unblockme();
	$("#confirm").click(function () { sendsubmit(); });
}
var statustimes = '';
var stopwaitforme = 0;
function pwait(toname,backcount,mefunct) {
	var textme = '';
	if (backcount) {
		if (backcount > 1) { textme = 'Please wait '+backcount+' seconds server busy'; }
		else {textme='Please wait '+backcount+' second server busy';stopwaitforme++;}
		$(toname).html(textme); 
		backcount--;
		setTimeout(function(){ pwait(toname,backcount,mefunct); },1000); 
	}
	else {
		if (stopwaitforme < 2) {
			setTimeout(function(){if (mefunct==1) {imback();}if (mefunct==2){unblockme();}},1000);
		}
		else {
			$("#loading").html('');
			var orderid = $("#imback").val();
			$(toname).html("<strong>Please contact us</strong><br/><br/>Order id: "+orderid); 
		}
	}
}

function imback() {
	var target = $("#imback").val();
	if (target) {
		$(".mystatus").html('Conecting...'+statustimes);
		$.post("plug/status.php", { tx: target  },
		  function(data){
			  if (data) { $('.imback').html(data); }
			  else {
				  if (statustimes < 11) {
				setTimeout(function(){ imback(); },5000);  
				  }
				  else {
					pwait(".mystatus",30,1);
					statustimes = '';
				  }
			  }
		  });
		statustimes++;

	}
	else {
		setTimeout(function(){ imback(); },5000);
	}
	
}
function unblockme() {
	var target = $("#unblockid").val();
	var target1 = $("#unblocksecid").val();
	if (target && target1) {
		$(".mystatus").html('Conecting...'+statustimes);
		$.post("plug/unblock.php", { orderid: target, secur: target1  },
		  function(data){
			  if (data) { $('.imback').html(data); }
			  else {
				  if (statustimes < 11) {
					  setTimeout(function(){ unblockme(); },5000);  
				  }
				  else {
					pwait(".mystatus",30,2);
					statustimes = '';
				  }
			  }
		  });
		statustimes++;

	}
	else {
		setTimeout(function(){ unblockme(); },5000);
	}
	
}
function selectPayment() {
	$("#bank_name").html('&nbsp;<h3>Pay with PayPal</h3>');
	$("#bank").val('PayPal');
	seloption(1);
	
	$(".paymentform").fadeIn();
	$('.payments img').click(function() {
			process=new Array();
			$(".errorleter").fadeOut('slow');
			$("#confirm").attr("disabled", true);

			$("#bank").val(this.alt);
						$("#bank_name").html('&nbsp;<h3>Pay with '+this.alt+'</h3>');
			$("#amount").val('').focus().removeClass("amountenable").removeClass("amountdisable").addClass("amountpending");
			$("#creditsfor").val(1);
			seloption(1);
	}); 
	$("#creditsfor").change(function () { $(".errorleter").hide('slow'); $("#confirm").attr("disabled", "disabled");   $("#amount").val(''); seloption(this.value); fullvalidate();  });
}
var responsearray = new Array();
function fullvalidate() {
	var bankname = $("#bank").val();
	var forpayment = $("#creditsfor").val();
	responsearray = new Array();
	if (bankname === 'PayPal' || bankname === 'SMS') { 
		if (forpayment == 1) {
			responsearray[0] = false;
			responsearray[2] = false;
			responsearray[1] = false;
			responsearray[2] = validate("#pay_from_email",'email');
			responsearray[1] = validate("#amount",'amount');
			if (bankname === 'SMS') {responsearray[3] = false; responsearray[3] = validate("#country",'flag');}
			validate("#user",'login');
		}
		if (forpayment == 2) {
			responsearray[0] = false;
			responsearray[1] = false;
			responsearray[1] = validate("#amount",'amount');
			if (bankname === 'SMS') {responsearray[2] = false; responsearray[2] = validate("#country",'flag');}
			validate("#user",'login');
		}
		if (forpayment == 3) {
			responsearray[0] = false;
			responsearray[1] = false;
			responsearray[1] = validate("#amount",'amount');
			if (bankname === 'SMS') {responsearray[2] = false; responsearray[2] = validate("#country",'flag');}
			validate("#dongle",'dongle');
		}	
		if (forpayment == 4 || forpayment == 5 || forpayment == 6 || forpayment == 7) {
			responsearray[0] = false;
			if (bankname == 'SMS') { 
				$("#first_name,#last_name,#email,#Countrynames,#dongle1,#email").hide();
				
			} else {
				validate("#dongle",'dongle'); 
			}
			
		}
	}
	if (bankname === 'Moneybookers' || bankname === 'AlertPay' || bankname === 'Credit card' || bankname === 'Webmoney' ||  bankname === 'Bank transfer' ||  bankname === 'Other') {
		if (forpayment == 1) {
			responsearray[0] = false;
			responsearray[1] = false;
			responsearray[2] = false;
			responsearray[3] = false;
			responsearray[4] = false;
			responsearray[5] = false;
			responsearray[1] = validate("#pay_first_name",'leter1');
			responsearray[2] = validate("#pay_last_name",'leter2');
			responsearray[3] = validate("#pay_from_email",'email');
			responsearray[4] = validate("#amount",'amount');
			responsearray[5] = validate("#country",'flag');
			validate("#user",'login');
		}
		if (forpayment == 2) {
			responsearray[0] = false;
			responsearray[1] = false;
			responsearray[2] = false;
			responsearray[3] = false;
			responsearray[4] = false;
			responsearray[1] = validate("#pay_first_name",'leter1');
			responsearray[2] = validate("#pay_last_name",'leter2');
			responsearray[3] = validate("#amount",'amount');
			responsearray[4] = validate("#country",'flag');
			
			validate("#user",'login');
		}
		if (forpayment == 3) {
			responsearray[0] = false;
			responsearray[1] = false;
			responsearray[2] = false;
			responsearray[3] = false;
			responsearray[4] = false;
			responsearray[1] = validate("#pay_first_name",'leter1');
			responsearray[2] = validate("#pay_last_name",'leter2');
			responsearray[3] = validate("#amount",'amount');
			responsearray[4] = validate("#country",'flag');
			if ($("#dongle").val().length == 8 || $("#dongle").val().length == 16 || $("#dongle").val().length == 19) { validate("#dongle",'dongle'); }
		}
		if (forpayment == 4 || forpayment == 5 || forpayment == 6 || forpayment == 7) {
			responsearray[0] = false;
			responsearray[1] = false;
			responsearray[2] = false;
			responsearray[3] = false;
			responsearray[1] = validate("#pay_first_name",'leter1');
			responsearray[2] = validate("#pay_last_name",'leter2');
			responsearray[3] = validate("#country",'flag');
			if ($("#dongle").val().length == 8 || $("#dongle").val().length == 16 || $("#dongle").val().length <= 19) { validate("#dongle",'dongle'); }
			
		}
	}
	showsu(responsearray);
}

function seloption(valu) {
	var bankname = $("#bank").val();
	$("#bank_name_desc").html('&nbsp;');
	$('.submit').show();
	
	if (bankname == 'PayPal' || bankname == 'SMS') { 
		if (valu == 1) {$("#user1, #email, #credits").show();$("#first_name,#last_name,#Countrynames,#dongle1").hide(); $("#amount").val('').focus().removeClass("amountenable").addClass("amountdisable"); }
		if (valu == 2) {$("#user1, #credits").show();$("#first_name,#last_name,#email,#Countrynames,#dongle1,#email").hide(); $("#amount").val('').focus().removeClass("amountenable").addClass("amountdisable");}
		if (valu == 3) {$("#dongle1, #credits").show();$("#first_name,#last_name,#Countrynames,#user1,#email").hide(); $("#amount").val('').focus().removeClass("amountenable").addClass("amountdisable");}	
		if (valu == 4 || valu == 5 || valu == 6 || valu == 7) {if (bankname == 'SMS') { $("#dongle1,.submit").hide(); }  $("#dongle1").show();$("#first_name,#last_name,#user1,#credits,#email").hide();}
		if (bankname == 'SMS') { $("#bank_name_desc").html('<strong>Paying by SMS cost <span class="red">2-5 times</span> more,<br>depending on your mobile provide fees</strong><br/><br/>'); $("#Countrynames").show(); }
	}
	if (bankname == 'Moneybookers' || bankname == 'AlertPay' || bankname == 'Credit card' || bankname == 'Webmoney' || bankname == 'Bank transfer' || bankname == 'Other') {
		
		if (bankname == 'Credit card') { $("#bank_name_desc").html('<strong>For local banks in countries<br/> Austria, Belgium, Germany, Netherlands, Switzerland, United Kingdom</strong>');}
		if (bankname == 'Bank transfer') { $("#bank_name_desc").html('<strong>For local banks in countries<br/> Austria, Belgium, Germany, Netherlands, Switzerland, United Kingdom</strong>');}
		if (bankname == 'Other') { $("#bank_name_desc").html('<strong>For local banks in contrys<br/> Lithuania, Latvia, Estonia</strong>');}
		if (valu == 1) {$("#first_name,#last_name,#user1, #email, #credits,#Countrynames").show();$("#dongle1").hide(); $("#amount").val('').focus().removeClass("amountenable").addClass("amountdisable");} 
		if (valu == 2) {$("#first_name,#last_name,#user1, #credits,#Countrynames").show();$(" #email,#dongle1").hide(); $("#amount").val('').focus().removeClass("amountenable").addClass("amountdisable");} 
		if (valu == 3) {$("#first_name,#last_name,#dongle1, #credits,#Countrynames").show();$("#user1,#email").hide(); $("#amount").val('').focus().removeClass("amountenable").addClass("amountdisable");}
		if (valu == 4 || valu == 5 || valu == 6 || valu == 7) {$("#first_name,#last_name,#dongle1,#Countrynames").show();$("#user1,#credits,#email").hide(); $("#amount").val('').focus().removeClass("amountenable").addClass("amountdisable");}
	}
}
function validate(name,type) {
	input = '';input2 = '';helperMsg = '';verifyurl = '';input = $(name).val();
	var validateselectfor = $("#creditsfor").val();   
	stoper(1);
	if (type == 'leter1' || type == 'leter2') {
		alphaExp = /^[a-zA-Z ]+$/;
		helperMsg = '<span>Letters Only and min lenght 2</span>'+infoicon;
		if (input) {
			if (input.match(alphaExp) && input.length > 1){ 
				$(name).removeClass("disable").addClass("enable");
				if (type == 'leter1'){stoper(2);}
				if (type == 'leter2'){stoper(3);}
				$(name+"error").html("&nbsp;").hide("slow");
				return true;
			}
			else {
				if (type == 'leter1'){stoper(2);StartProcess(helperMsg,name+"error",2);}
				if (type == 'leter2'){stoper(3);StartProcess(helperMsg,name+"error",3);}
				$(name).removeClass("enable").addClass("disable");
				return false;
			}
		}
	}
	if (type == 'login') {
		alphaExp = /^[a-zA-Z0-9_-]+$/;
		alphaExp2 = /^[a-fA-F0-9]+$/;
		helperMsg = '<span>Wrong user name Symbols allowed a-z A-Z 0-9 ._- lengt 5 - 16</span>'+infoicon;
		if (input) {
			if ((input.match(alphaExp2) && input.length == 8) || input.match(alphaExp2) && input.length == 16) {
				var bad = false;
				helperMsg = '<span>This user name is reserved.<br/>Please use other user name.<br/></span>'+infoicon;
			}
			else {
				var bad = true;
			}
			if (input.length > 4 && input.length < 17 && input.match(alphaExp) && bad == true) {
				$(name).removeClass("disable").addClass("enable");
				stoper(4);
				$(name+"error").html("&nbsp;").hide("slow");
				$("#dongleerror").hide('slow');
				StartProcess("validate.php?user="+input+'&type='+validateselectfor,name,1);
				return true;
				
			}
			else {
				stoper(4);
				$(name).removeClass("enable").addClass("disable");
				StartProcess(helperMsg,name+"error",4);
				return false;
			}
		}
	}
	
	if (type == 'dongle') {
		$("#usererror").hide('slow');
		if ($(name).val().length == 8 || $(name).val().length == 19 || $(name).val().length == 16) {
			alphaExp = /^[A-F0-9]+$/;
			
			input = input.toUpperCase();
			var input2 = input;
			input = input.replace(/-/gi, '');
			if ((input.length == 8 || input.length == 16) && input.match(alphaExp)) {
				$(name).removeClass("disable").addClass("enable").val(input.toUpperCase());
				stoper(5);
				$(name+"error").html('&nbsp;').hide("slow");
				StartProcess("validate.php?dongle="+input+'&type='+validateselectfor,name,1);

				return true;
			}
			else {stoper(5);helperMsg = '<span>Bad dongle number</span>'+infoicon;$(name).removeClass("enable").addClass("disable");StartProcess(helperMsg,name+"error",5); return false;}
		}
		else {$(name).removeClass("enable").addClass("disable");return false;}
	}
	if(type == 'flag') {
		var nameto=$(name).val();helperMsg='<span>Contry not Selected</span>'+infoicon;	if(nameto && nameto.length == 2) {nameto=nameto.toLowerCase();stoper(6);$(name+"error").html('&nbsp;').hide("slow"); return true; } else {stoper(6);StartProcess(helperMsg,name+"error",6);$("#amount").val(''); return false;}
	}
	if(type == 'amount') {
		helperMsg='<span>Bad amount</span>'+infoicon;
		var respomd='';
		if(input){input = Math.ceil(input);if(parseInt(input)){$(name).val(input);}
			if (input > 0 && parseInt(input)){$(name+"error").html('&nbsp;').hide("slow");respomd = true;}
			else {$(name+"error").html(helperMsg).fadeIn("slow"); respomd=false;}
			var banknameamount = $("#bank").val();
			if (banknameamount == 'AlertPay') {if(input < 10){helperMsg='<span>Amount to small</span>'+infoicon;$(name+"error").html(helperMsg).fadeIn("slow");respomd = false;}}
			if (banknameamount == 'SMS') {if(input > 30){helperMsg='&<span>Amount to big</span>'+infoicon; $(name+"error").html(helperMsg).fadeIn("slow"); respomd = false;}}
			if (respomd == true) { $(name).removeClass("amountdisable").removeClass("amountpendign").addClass("amountenable"); }
			else {$(name).removeClass("amountenable").removeClass("amountpendign").addClass("amountdisable");}
			return respomd;
		
		}
		else {
			$(name).removeClass("amountenable").removeClass("amountdisable").addClass("amountpendign");
			return false;
		}
	}
	if (type == 'email') {
		emailExp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;if (input) {if(input.match(emailExp)){$(name).removeClass("disable").addClass("enable").val(input.toLowerCase());stoper(7);$(name+"error").html("&nbsp;").hide("slow"); return true;}else{stoper(7);helperMsg = '<span>Not a Valid E-mail</span>'+infoicon;$(name).removeClass("enable").addClass("disable");StartProcess(helperMsg,name+"error",7); return false;}}
	}
}
var req = 1;
function insertPage(meurl,name,type) { 
	if (req == 1) {
		req++; 
		 $.ajax({type: "GET",url: 'plug/'+meurl,cache: true,
		 success: function(msg){ if (req) {req = (req - 1);} if (type=='return'){ if (msg){if (msg=='ok'){$(name).addClass("enable");$(name+"error").html("&nbsp;"); responsearray[0] = true; showsu(responsearray); return true;} else {$(name).removeClass("enable");$(name).addClass("disable");$(name+"error").html(msg).fadeIn("slow");stop();responsearray[0] = false; showsu(responsearray);return false;}} else {$(name).removeClass("enable");$(name).addClass("disable");$(name+"error").html('&nbsp;ERROR: The URL is not reachable!');return false;}}}
		 ,
                  error:function (xhr, ajaxOptions, thrownError){
                  	  				if (req) {req = (req - 1);}
                                                        setTimeout(function(){ insertPage(meurl,name,type); },2000);
                                                }  
		 });

		
	}
}
function insertPagePOST(meurl,name,type,datain) { 
	if (req == 1) {
		req++; 
		 $.ajax({type: "POST",
		 url: 'php/'+meurl,
		 data: datain,

		 cache: true,
		 success: function(msg){
		  if (req) {req = (req - 1);}
		 if (type=='return'){if (req) {req=(req-1);} if (msg){if (msg=='ok'){$(name).addClass("enable");$(name+"error").html("&nbsp;"); responsearray[0] = true; showsu(responsearray); return true;} else {$(name).removeClass("enable");$(name).addClass("disable");$(name+"error").html(msg).fadeIn("slow");stop();responsearray[0] = false; showsu(responsearray);return false;}} else {$(name).removeClass("enable");$(name).addClass("disable");$(name+"error").html('&nbsp;ERROR: The URL is not reachable!');return false;}}
		 $(".loadingbox").hide();
		 $(name).html(msg).fadeIn('slow');
		 
		 }
		 ,
                  error:function (xhr, ajaxOptions, thrownError){
                  	  				if (req) {req = (req - 1);}
                                                        setTimeout(function(){ insertPagePOST(meurl,name,type,datain); },2000);
                                                }  
		 });

		
	}
}
