﻿var baseType=function(mcode,scode,money,count){
	this.mcode=mcode;
	this.scode=scode;
	this.money=money;
	this.count=count;
	};
	
	var basket=new generic.list();
	basket.compare=function(a,b){
		return((a.mcode==b.mcode)&&(a.scode==b.scode))
		};
		
		
		function submitfrm(el){
			window.setTimeout("disableButton('"+el.id+"')",0);
			return true};
			
function disableButton(btnid){
	document.getElementById(btnid).disabled=true
	};
	
function getSubString(MainCode,Code){
	var arr=["فطریه عام","فطریه سادات","کفاره","نذر","کمک"];
	var returnMe="";
	
	switch(MainCode){
		case 0:
		case 1:
		switch(Code){
			case 0:
			returnMe="گندم";
			break;
			case 1:
			returnMe="برنج";
			break;
			case 2:
			returnMe="دیگر";
			break};
			
			break;
			case 2:
			switch(Code){
				case 0:
				returnMe="عادی یک روز روزه";
				break;
				case 1:
				returnMe="دیگر";
				break};
				
				break;
				case 4:
				switch(Code){
					case 0:
					returnMe="کلیه امور";
					break;
					case 1:
					returnMe="کودکان یتیم و بی سرپرست";
					break;
					case 2:
					returnMe="مراکز نگهداری سالمندان";
					break;
					case 3:
					returnMe="زنان بی سرپرست";
					break;
					case 4:
					returnMe="خانواده های بی بضاعت";
					break;
					case 5:
					returnMe="تامین جهزیه و مقدمات ازدواج نیازمندان";
					break;
					case 6:
					returnMe="تامین و مقاوم سازی مسکن نیازمندان";
					break;
					case 7:
					returnMe="هزینه تحصیل دانشجویان معلول و نیازمند";
					break};
					break};
	
	if(returnMe!="")
					returnMe=arr[MainCode]+" - "+returnMe;
					else
					returnMe=arr[MainCode];
					return returnMe};
					
					var tools={};
					tools.lastForm=-1;
					var config={};
					var dbox={};
					


dbox.isKeyNumber=function(e){
	var key=(window.event)?window.event.keyCode:e.which;
	if(!((key>=48)&&(key<=57))&&(key!=46)){
	if(window.event){
	window.event.keyCode=null
	}
				
				e.returnValue=false;
				e.cancel=true;
				e.preventDefault();
				e.stopPropagation()
				}
				};
				


	dbox.setup=function(){
		$("input:text").each(function(i){
		
		if(this.className=="input-text-number"){
			$(this).bind("keypress",dbox.isKeyNumber)}})
		};
		
		
		tools.lastUpdate=-1;
		tools.update=function(m,s){
			var bt;
			bt=basket.find(new baseType(m,s,0,0));
			bt=basket.items[bt];
			switch(m){
				case 0:
				case 1:
				if(tools.lastForm!=0){
					tools.show(0)};
					document.getElementById("fetreh_mtype").selectedIndex=m;
					document.getElementById("fetreh_count").value=bt.count;
					
					switch(s){
						case 0:
						document.getElementById("fetreh_gandom").checked=true;
						document.getElementById("fetreh_other_box").disabled=true;
						document.getElementById("fetreh_other_box").value=config.gandom;
						break;
						case 1:
						document.getElementById("fetreh_berenj").checked=true;
						document.getElementById("fetreh_other_box").disabled=true;
						document.getElementById("fetreh_other_box").value=config.berenj;
						break;
						case 2:
						document.getElementById("fetreh_other").checked=true;
						document.getElementById("fetreh_other_box").value=bt.money;
						document.getElementById("fetreh_other_box").disabled=false;
						break};
						
						break;
						
						case 2:
						if(tools.lastForm!=1){
							tools.show(1)};
							document.getElementById("kafareh_count").value=bt.count;
							switch(s){
								case 0:
								document.getElementById("kafareh_normal").checked=true;
								document.getElementById("kafareh_other_box").diabled=true;
								document.getElementById("kafareh_other_box").value=config.kafareh;
								break;
								case 1:
								document.getElementById("kafareh_other").checked=true;
								document.getElementById("kafareh_other_box").value=bt.money;
								document.getElementById("kafareh_other_box").diabled=false;
								break};
								break;
								case 3:
								if(tools.lastForm!=2){
									tools.show(2)};
									document.getElementById("nazr").value=bt.money;
									break;
									case 4:
									if(tools.lastForm!=3){
										tools.show(3)};
										
										var iloop=0;
										for(iloop=0;iloop<8;iloop++){
											bt=new baseType(4,iloop,0,0);
											index=basket.find(bt);
											if(index>=0){
												document.getElementById("4"+iloop).value=basket.items[index].money;
												}
												else{
													document.getElementById("4"+iloop).value=""
													}
													};
													break
													}
													};
													
	tools.del=function(m,s){
		var index=basket.find(new baseType(m,s,0,0));
		if(index>=0){
		basket.removeAt(index);
		tools.build()
		}
		};
		tools.setDisable=function(el,mode,index,box){
			if(el.checked){
				switch(mode){
					case 0:
					document.getElementById(box).disabled=(index!=2);
					switch(index){
						case 0:
						document.getElementById(box).value=config.gandom;
						break;
						case 1:
						document.getElementById(box).value=config.berenj;
						break
						};
						
						break;
						
						case 1:
						document.getElementById(box).disabled=(index!=1);
						if(index==0){
							document.getElementById(box).value=config.kafareh
							};
							break
							}
							}
							};
							
		tools.isNumber=function(boxid)
		{
			var txt=document.getElementById(boxid).value;
			txt=parseFloat(txt)+"";
			if(txt!="NaN")
			{
				if(txt>0)
				{
					return true
					}
					};
					return false
					};
					
					tools.formp=function(indexType){
						var bt=new baseType(0,0,0,0);
						var index=0;
						var msgError="اشکال: فیلدهای زیر نمی توانند خالی باشند و باید تنها با اعداد بیشتر از صفر پر شوند\r\n";
						var msgErrorCount=0;
						switch(indexType){
							case 0:
							bt.mcode=document.getElementById("fetreh_mtype").selectedIndex;
							if(tools.isNumber("fetreh_count"))
							{
								bt.count=parseInt(document.getElementById("fetreh_count").value)
								}
								else{
									msgError+="[*]تعداد افراد فطریه\r\n";
									msgErrorCount++
									};
									
			if(document.getElementById("fetreh_gandom").checked){
				bt.money=config.gandom;
				bt.scode=0
				}
				else if(document.getElementById("fetreh_berenj").checked)
				{
					bt.money=config.berenj;bt.scode=1
					}
					else if(document.getElementById("fetreh_other").checked)
					{
						if(tools.isNumber("fetreh_other_box"))
						{
							bt.money=tools.format(parseFloat(document.getElementById("fetreh_other_box").value));
							bt.scode=2
							}
							else{msgError+="[*]مقدار دیگر فطریه\r\n";
							msgErrorCount++
							}
							}
							else
							{msgError+="[*]حداقل یک بخش باید انتخاب شود\r\n";
							msgErrorCount++};
							if(msgErrorCount==0)
							{
								index=basket.find(bt);
								if(index>=0)
								{
									basket.items[index]=bt
									}
									else
									{
										basket.add(bt)
										}
										}
										else
										{
											alert(msgError)};
											break;
											case 1:
											bt.mcode=2;
											if(tools.isNumber("kafareh_count")){
												bt.count=parseInt(document.getElementById("kafareh_count").value)
												}
												else{
													msgError+="[*]تعداد روزهای کفاره\r\n";
													msgErrorCount++
													};
													if(document.getElementById("kafareh_normal").checked)
													{
														bt.scode=0;
														bt.money=config.kafareh
														}
														else if(document.getElementById("kafareh_other").checked){
															if(tools.isNumber("kafareh_other_box")){
																bt.scode=1;
								bt.money=tools.format(parseFloat(document.getElementById("kafareh_other_box").value))
}
else{
	msgError+="[*]مقدار دیگر برای کفاره\r\n";
	msgErrorCount++
	}
	}
	else
	{
		msgErrorCount++;
		msgError+="[*]حداقل یک مورد باید انتخاب شود"
		};
		
		if(msgErrorCount==0){
			index=basket.find(bt);
			if(index>=0)
			{
				basket.items[index]=bt
				}
				else
				{
					basket.add(bt)
					}
					}
					else
					{
						alert(msgError)
						};
						
						break;
						case 2:
						bt.mcode=3;
						bt.scode=0;
						bt.count=1;
						if(tools.isNumber("nazr"))
						{
							bt.money=tools.format(parseFloat(document.getElementById("nazr").value))
							}
							
							else{
								msgError+="[*]مقدار نذر\r\n";
								msgErrorCount++
								};
								if(msgErrorCount==0)
								{
									index=basket.find(bt);
									if(index>=0)
									{
										basket.items[index]=bt
										}
										else
										{
											basket.add(bt)
											}
											}
											else
											{
												alert(msgError)
												};
												break;
												case 3:
												var iloop=0;
												var bxTemp;
												for(iloop=0;iloop<8;iloop++)
												{
													bxTemp=document.getElementById("4"+iloop).value;
													if(tools.isNumber("4"+iloop))
													{
														bt=new baseType(4,iloop,tools.format(parseFloat(bxTemp)),1);
														index=basket.find(bt);
														if(index>=0)
														{
basket.items[index]=bt
}
else
{
	basket.add(bt)
	}
	}
	};
	break
	};
	
	if(msgErrorCount==0)
	{
		tools.show(indexType);
		tools.build()
		}
		};
		
		tools.format=function(rnum){
			return Math.round(rnum*Math.pow(10,2))/Math.pow(10,2)};


			tools.total=0;
			tools.build=function(){
				if(basket.items.length>0){
					$("#info").hide();
					$("#basket").show();
					$("#paybtn").show();
					var scodes=[3,3,2,1,8];
					$("tr",document.getElementById("basket")).each(function(i)
					{
						if(i!=0){
							$(this).remove()
							}
							}
							);
					
					var i=0;
					var j=0;
					var index=-1;
					var tmp="";
					var txt="";
					var total=0;
					var et=0;
					for(i=0;i<5;i++){
						for(j=0;j<scodes[i];j++){
							tmp=new baseType(i,j,0,0);
							index=basket.find(tmp);
							if(index>=0){
								txt="<tr><td>";
								txt+=getSubString(i,j);
								et=tools.format(basket.items[index].money*basket.items[index].count);
								txt+="</td><td>"+basket.items[index].money;
								txt+="</td><td>"+basket.items[index].count;
								txt+="</td><td>"+et;
								txt+="</td><td class='cell-edit'><a class='link-edit' href='javascript:tools.update(";txt+=i+","+j+")'>ویرایش</a><a class='link-delete' href='javascript";
								txt+=":tools.del("+i+","+j+")'>حذف</a></td></tr>";
								$(txt).appendTo("#basket");total+=et
								}
								}
								};
								
								tools.total=total;
								txt="<tr><td class='head' colspan='2'>&nbsp;</td><td class='head'>جمع کل</td><td class='head'>"+total+"&nbsp;"+config.pool+"</td><td class='cell-edit head'>&nbsp;</td>";
								$(txt).appendTo("#basket")
								}
								
								else{
									$("#basket").hide();
									$("#info").show();
									$("#paybtn").hide()
									}
									};
									
									tools.setPool=function()
									{
										$("span.pool").html("&nbsp;"+config.pool)};
											
											window.onload=function(){
											dbox.setup();
											tools.setPool();
											tools.build();
											tools.show(3)
											};
											
							tools.show=function(i){
								tools.hide(tools.lastForm);
								if(tools.lastForm!=i){
									$("#form_"+i).animate({height:"show",opacity:"show"});
									
									$("a",document.getElementById("menulinks")).eq(i).addClass("active");
									tools.lastForm=i
									}
									else
									{
										tools.lastForm=-1
										}
										};
										
			tools.hide=function(index){
				if(index!=-1){
					$("#form_"+index).animate({height:"hide",opacity:"hide"});
					$("a",document.getElementById("menulinks")).eq(index).removeClass()
					}
					};
					
					tools.paybtn=function()
					{
						var errCount=0;
						var msg="شبکه بانکی در حال حاضر امکان تبادل این مبلغ را ندارد. لطفا مبلغ را کاهش دهید";
						if(window.confirm("آیا مطمئن هستید؟ در صورت بازگشت اطلاعات پاک می شود"))
						{
							if(config.pool=="ریال")
							{
								if(tools.total>10000000)
								{
									alert(msg);
									errCount++};
									
									if(tools.total<1000)
									{
										alert("این مبلغ برای پرداخت توسط شبکه بانکی خیلی کم است.");
										errCount++}
										}
										else
										{
											if(tools.total>10000)
											{
												alert(msg);
												errCount++
												}
												};
												
												if(errCount==0)
												{
													$("#centeredmenu").animate({height:"hide",opacity:"hide"});
													$("#paybtn").hide();
													$("td.cell-edit",document.getElementById("basket")).hide();
													$("#comment_box").animate({height:"show",opacity:"show"});
													$("#payment_box").show();
													
			tools.build=function()
				{
					alert(new Date())
					}
					}
					}
					
					};
					tools.refresh=function(){
						if(window.confirm("همه اطلاعات پاک خواهد شد، مطمئن هستید؟"))
						{
							window.location.reload()
							}
							
							};
							
		tools.validateSubmit=function(){
			var baseForm="ctl00_WebsiteMainContent_";
			var ids=["txt_comment","txt_email"];
			var errCount=0;
			var valueString=document.getElementById(baseForm+ids[1]).value;
			valueString=valueString.replace(/\s/g,"");
			if(valueString)
			{
				if(!valueString.match(/\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/))
				{
					alert("ایمیل نا معتبر است");
					return false
					}
					};
					
					valueString=document.getElementById(baseForm+ids[0]).value;
					if(valueString.length>300)
					{
						document.getElementById(baseForm+ids[0]).value=valueString.substring(0,299)};
						return true
						};
						
						tools.go=function(el){
							if(tools.validateSubmit()){
								if(window.confirm("شما هم اکنون به وب سایت بانک منتقل می شوید، آیا مطمئن هستید؟")){

submitfrm(el);
									var hhval=document.getElementById("ctl00_WebsiteMainContent_payment_information");
									if(basket.items.length>0)
									{
										var strVal="";
										var iloop=0;
										for(iloop=0;iloop<basket.items.length;iloop++){
											strVal+=basket.items[iloop].mcode+",";strVal+=basket.items[iloop].scode+",";strVal+=basket.items[iloop].money+",";
											strVal+=basket.items[iloop].count+"|"};
											hhval.value=strVal;
											return true
											}
											else
											{
												return false
												}
												}
												};
												return false
												};
