﻿// JScript File

function NavigateGameDetails(gid)
{
	window.location.href='ShopDetails.aspx?GID=' + gid;
	return false
}

flag=true;
var total=0;
function addToCart(itemID,itemTypeID,unitPrice,itemName,salesUnit,imgButId)
{
	
	
	if(document.getElementById(imgButId)!=null)
	{
		document.getElementById(imgButId).disabled=false;
		
		 var UrlImg =hdnChekOutSmallOnUrl.value;
		 document.getElementById(imgButId).src= UrlImg;
		 
	}
	objTable=document.getElementById("tbodyCart");
	var rows = objTable.getElementsByTagName("tr");
	for(i=1;i<rows.length;i++) 
	{ 
		for(j=0;j<objTable.rows[i].cells.length;j++) 
		{
			//if(objTable.rows[i].cells[0].innerHTML==itemID)
			if(objTable.rows[i].cells[0].innerHTML==itemID)
			{
				if(itemTypeID==2)
				{
					return false;
					flag=false;
					break;
				}
				else
				{
					objTable.rows[i].cells[3].innerHTML=parseInt(objTable.rows[i].cells[3].innerHTML)+1;
					objTable.rows[i].cells[4].innerHTML=parseInt(objTable.rows[i].cells[5].innerHTML)*parseInt(objTable.rows[i].cells[3].innerHTML);
					total+=parseInt(objTable.rows[i].cells[5].innerHTML)
					calculateGrandTotal();
					calculateNoOfItems();
					alignCell(objTable);
					BuildDataForCookie();
					return false;
					flag=false;
					break;
				}
			}
			else
			{
				flag=true;
			}
		}
		if(flag==false)
			break;
	}   
	if(flag==true)
	{
		objTable=document.getElementById("tbodyCart"); 
		row=document.createElement("TR");

		cell1 = document.createElement("TD");
		cell2 = document.createElement("TD");
		cell3 = document.createElement("TD");
		cell4 = document.createElement("TD");
		cell5 = document.createElement("TD");
		cell6 = document.createElement("TD");
		cell7 = document.createElement("TD");
		cell8 = document.createElement("TD");

		cell1.style.display="none";
		cell2.style.display="none";
		cell5.style.display="none";
		cell7.style.display="none";
		
		textnode1=document.createTextNode(itemID);
		textnode2=document.createTextNode(itemTypeID);
		textnode3=document.createTextNode(itemName);
		textnode4=document.createTextNode("1");	
		textnode5=document.createTextNode(parseInt(unitPrice)*parseInt(salesUnit));
		textnode6=document.createTextNode(parseInt(unitPrice)*parseInt(salesUnit));
		textnode7=document.createTextNode(salesUnit);
		total+=parseInt(parseInt(unitPrice)*parseInt(salesUnit));

		cell1.appendChild(textnode1);
		cell2.appendChild(textnode2);
		cell3.appendChild(textnode3);
		cell4.appendChild(textnode4);
		cell5.appendChild(textnode5);
		cell6.appendChild(textnode6);
		cell7.appendChild(textnode7);
						
		var ImgCode = getdeleteImgCode();
		
		//BEFA script only for FireFox
		var script = "<script type='text/javascript'>new  Draggable('"+itemID+"', {revert:true})</script>";
		
		cell8.innerHTML = "<div id='"+itemID+"' style='cursor:move' ondragstart='fnGetSource(this.parentNode.parentNode.rowIndex-1);' ondragover='cancelevent();' class=\"removeItem\">"+ImgCode+script +"</div>";
			
		row.appendChild(cell1);
		row.appendChild(cell2);
		row.appendChild(cell3);
		row.appendChild(cell4);
		row.appendChild(cell5);
		row.appendChild(cell6);
		row.appendChild(cell7);
		row.appendChild(cell8);
		
		document.getElementById("tbodyCart").appendChild(row);
		calculateGrandTotal();
		calculateNoOfItems();
		alignCell(objTable);
		BuildDataForCookie();
		return false; 
	}
}


function getdeleteImgCode()
{
	var ImgUrl = hdnDeleteImgUrl.value;
	var ImgCode = "<img onclick='deleteBtn(this.parentNode.parentNode.parentNode.rowIndex-1);' src="+ImgUrl +" />";
	return ImgCode ;
	
}

function deleteBtn(IndexItemDeleted)
{   
	srcElementId = IndexItemDeleted;
	objTable=document.getElementById("tbodyCart");
	objTable.deleteRow(IndexItemDeleted);
	calculateTotalAfterDeletingItems();
	BuildDataForCookie();
}

function addCookieToCart(itemID,itemTypeID,unitPrice,itemName,itemQty,newPrice,salesUnit,imgButId)
{
	
	
	if(document.getElementById(imgButId)!=null)
	{
		document.getElementById(imgButId).disabled=false;
		 var UrlImg = hdnChekOutSmallOnUrl.value;
		 document.getElementById(imgButId).src= UrlImg;
		
		
	}
	objTable=document.getElementById("tbodyCart");
	var rows = objTable.getElementsByTagName("tr");
	for(i=1;i<rows.length;i++) 
	{ 
		for(j=0;j<objTable.rows[i].cells.length;j++) 
		{
			if(objTable.rows[i].cells[0].innerHTML==itemID)
			{
				if(itemTypeID==2)
				{
					flag=false;
				}
				else
				{
					objTable.rows[i].cells[3].innerHTML=parseInt(objTable.rows[i].cells[3].innerHTML)+1;
					objTable.rows[i].cells[4].innerHTML=parseInt(objTable.rows[i].cells[5].innerHTML)*parseInt(objTable.rows[i].cells[3].innerHTML);
					total+=parseInt(newPrice)
					calculateGrandTotal();
					calculateNoOfItems();
					alignCell(objTable);
					flag=false;
				}
			}
			else
			{
				flag=true;
			}
		}
	}   
	if(flag==true)
	{
		objTable=document.getElementById("tbodyCart"); 
		row=document.createElement("TR");

		cell1 = document.createElement("TD");
		cell2 = document.createElement("TD");
		cell3 = document.createElement("TD");
		cell4 = document.createElement("TD");
		cell5 = document.createElement("TD");
		cell6 = document.createElement("TD");
		cell7 = document.createElement("TD");
		cell8 = document.createElement("TD");
		image = document.createElement("img");

		cell1.style.display="none";
		cell2.style.display="none";
		cell6.style.display="none";
		cell7.style.display="none";
	   
		textnode1=document.createTextNode(itemID);
		textnode2=document.createTextNode(itemTypeID);
		textnode3=document.createTextNode(itemName);
		textnode4=document.createTextNode(itemQty);	
		textnode5=document.createTextNode(newPrice); 
		textnode6=document.createTextNode(unitPrice); 
		textnode7=document.createTextNode(salesUnit); 
		total+=parseInt(newPrice);

		cell1.appendChild(textnode1);
		cell2.appendChild(textnode2);
		cell3.appendChild(textnode3);
		cell4.appendChild(textnode4);
		cell5.appendChild(textnode5);
		cell6.appendChild(textnode6);
		cell7.appendChild(textnode7);

		var ImgCode = getdeleteImgCode();
		cell8.innerHTML = "<div style='cursor:move' ondragstart='fnGetSource(this.parentNode.parentNode.rowIndex-1);' ondragover='cancelevent();' class=\"removeItem\">"+ImgCode+"</div>";

		row.appendChild(cell1);
		row.appendChild(cell2);
		row.appendChild(cell3);
		row.appendChild(cell4);
		row.appendChild(cell5);
		row.appendChild(cell6);
		row.appendChild(cell7);
		row.appendChild(cell8);
		
		document.getElementById("tbodyCart").appendChild(row);
		calculateGrandTotal();
		calculateNoOfItems();
		alignCell(objTable);
	}
}


function alignCell(objMainTable)
{
	var rows = objTable.getElementsByTagName("tr");
	for(i=1;i<rows.length;i++) 
	{ 
		for(j=0;j<objTable.rows[i].cells.length;j++) 
		{
			rows[i].cells.align="center";
		}
	}
}

// CALCULATE GRAND TOTAL
function calculateGrandTotal()
{
	document.getElementById("divTotal").innerHTML=total;
	document.getElementById("txtTotal").value=total;
	nhdTotal.value=total;
	if(document.getElementById("cafeCoins")!=null)
		document.getElementById("cafeCoins").innerHTML=total;
}

// GENERATE XML STRING FOR FINAL CHECKOUT
/*
<root>
	<UserCart F_ItemID="1" F_ItemTypeID="2" F_UnitPrice="50" F_Quantity=" "/>
	<UserCart F_ItemID="2" F_ItemTypeID="3" F_UnitPrice="50" F_Quantity="10"/>
	<UserCart F_ItemID="3" F_ItemTypeID="3" F_UnitPrice="50" F_Quantity="11"/>
</root>
*/
var latestCartTable="";
var latestRows="";
var strXmlForCart="";
var strValueForSafari="";
var canShop=false;
function checkOut()
{
	var existingGoldCoins=hdnGoldCoins.value
	latestCartTable=document.getElementById("tbodyCart");
	if(parseInt(document.getElementById("txtTotal").value)>=parseInt(existingGoldCoins))
	{
		canShop=false;
		flag=0;
	}
	else
		canShop=true;
	if(canShop==true)
	{
		strXmlForCart="<root>";
		for(i=1;i<latestCartTable.rows.length;i++) 
		{ 
			var unitPrice=(parseInt(latestCartTable.rows[i].cells[5].innerHTML)/parseInt(latestCartTable.rows[i].cells[6].innerHTML));
			var quantity=(parseInt(latestCartTable.rows[i].cells[3].innerHTML)*parseInt(latestCartTable.rows[i].cells[6].innerHTML));
			strXmlForCart+='<UserCart F_ItemID=\"'+latestCartTable.rows[i].cells[0].innerHTML+'\" F_ItemTypeID=\"'+latestCartTable.rows[i].cells[1].innerHTML+'\" F_UnitPrice=\"'+unitPrice+'\" F_Quantity=\"'+quantity+'\"/>'
			strValueForSafari +=latestCartTable.rows[i].cells[0].innerHTML+'@'+latestCartTable.rows[i].cells[1].innerHTML+'@'+unitPrice+'@'+quantity+'*';
			strXmlForCart+="\n";
		}
		strXmlForCart+="</root>";
		
		document.getElementById("hdnXmlForCart").value=strXmlForCart
		document.getElementById("hdnCartForSafari").value=strValueForSafari
		flag=1
	 
		if(strXmlForCart=="<root></root>")
			flag=0;  
	}
	
	if(flag==1)
	{ 
		__doPostBack('page','ChekOut');  
		return false;
	}
	else
	{
		document.getElementById("divValid").style.display = "none";
		document.getElementById("divNoCoin").style.display = "";
		return false;
	}
	
}

var newTotal=0;
function calculateTotalAfterDeletingItems()
{
	
	document.getElementById("divTotal").innerHTML="";
	latestCartTable=document.getElementById("tbodyCart");
	var latestRows = latestCartTable.getElementsByTagName("tr");
	for(i=1;i<latestRows.length;i++) 
	{ 
		newTotal+=parseInt(latestRows[i].cells[4].innerHTML);
	}
	document.getElementById("divTotal").innerHTML=newTotal;
	document.getElementById("txtTotal").value=newTotal;
	if(document.getElementById("cafeCoins")!=null)
		document.getElementById("cafeCoins").innerHTML=newTotal;
		
	if(parseInt(document.getElementById("divTotal").innerHTML)==0)
	{
		if(imgCheckOut!=null)
		{
			imgCheckOut.disabled=true; 
			var ImgUrlOf = hdnChekOutSmallofUrl.value;
			imgCheckOut.src=ImgUrlOf ;
		}
	}
	total=newTotal;
	newTotal=0;
	calculateNoOfItems();
}

var noOfItems=0;
function calculateNoOfItems()
{
	document.getElementById("divNoOfItems").innerHTML="";
	finalCartTable=document.getElementById("tbodyCart");
	var finalRows = finalCartTable.getElementsByTagName("tr");
	for(i=1;i<finalRows.length;i++) 
	{ 
		noOfItems+=parseInt(finalRows[i].cells[3].innerHTML);
	}
	var text = hdnTotalText.value;
	document.getElementById("divNoOfItems").innerHTML= text.replace('{0}', noOfItems) ;
	noOfItems=0;
}

function cancelShop()
{
	return false;
}

function CancelCheckOut()
{
	document.getElementById("divValid").style.display = "";
	document.getElementById("divNoCoin").style.display = "none";
	$find("CheckoutPopup").hide(); 
	return false;
}

function BuildDataForCookie()
{
	var cookieStr="";
	tableForCookie=document.getElementById("tbodyCart");
	var cookieTableRows = tableForCookie.getElementsByTagName("tr");
	for(i=1;i<cookieTableRows.length;i++) 
	{
		for(j=0;j<tableForCookie.rows[i].cells.length-1;j++) 
		{
			cookieStr+=cookieTableRows[i].cells[j].innerHTML+',';
		}
		cookieStr+='|';
	}
	setCookie('cafeCart', cookieStr, 2);
}

function setCookie(NameOfCookie, value, expiredays) 
{ 
	var ExpireDate = new Date ();
	ExpireDate.setTime(ExpireDate.getTime() + (expiredays * 24 * 3600 * 1000));
	var s = NameOfCookie + "=" + escape(value) + ((expiredays == null) ? "" : "; expires=" + ExpireDate.toGMTString() + ";path=/" );
	document.cookie = s;
}

function getCookie(NameOfCookie)
{ 
	if (document.cookie.length > 0) 
	{ 
		begin = document.cookie.indexOf(NameOfCookie+"="); 
		if (begin != -1) 
		{ 
			begin += NameOfCookie.length+1; 
			end = document.cookie.indexOf(";", begin);
			if (end == -1) end = document.cookie.length;
			return unescape(document.cookie.substring(begin, end)); 
		} 
	}
	return null; 
}

function delCookie(userID) 
{ 
	setCookie('cafeCart', null, 1);
	if(userID!=null)
		window.location.href='Shop.aspx';
}

function buildHtmlFromCookie()
{
	splitUrl=window.location.href.split('/')
	for(var i=0;i<splitUrl.length;i++)
	{
		splitQuest=splitUrl[i].split('?')
	}
	for(var i=0;i<splitQuest.length;i++)
	{
		if(splitQuest[i]=="ShopDetails.aspx")
		{
			var cookieStr=getCookie('cafeCart');
		}
	}
	
	if(cookieStr!=null)
	{
		var splitcookieStr=cookieStr.split('|')
		var finalCartForHTML="";
		
		arrcookieStr=new Array(splitcookieStr.length-1)
		for(i=0;i<splitcookieStr.length;i++)
		{
			arrcookieStr[i]=splitcookieStr[i].split(',');
		}
		for(var jCnt=0;jCnt<arrcookieStr.length-1;jCnt++)
		{
			addCookieToCart(arrcookieStr[jCnt][0],arrcookieStr[jCnt][1],arrcookieStr[jCnt][5],arrcookieStr[jCnt][2],arrcookieStr[jCnt][3],arrcookieStr[jCnt][4],arrcookieStr[jCnt][6],null);
		}
	} 
}

/* Drag and Drop from Shop to Cart */
function BuildShopDragAndDrop()
{
	
	window.addEvent('domready', function()
	{
		var drop = $('cart');
		var dropFx = drop.effect('background-color', {wait: false}); // wait is needed so that to toggle the effect,
			
		$$('.item').each(function(item){
			
		item.addEvent('mousedown', function(e) 
		{
			e = new Event(e).stop();
			var clone = this.clone()
			.setStyles(this.getCoordinates()) // this returns an object with left/top/bottom/right, so its perfect
			.setStyles({'opacity': 0.7, 'position': 'absolute'})
			.addEvent('emptydrop', function() {
			this.remove();
			drop.removeEvents();
		}).inject(document.body);
			
		drop.addEvents({
		'drop': function() 
		{
			drop.removeEvents();
			clone.remove();
			dropFx.start('7389AE').chain(dropFx.start.pass('ffffff', dropFx));

			var images=item.getElementsByTagName("img");
			for(var i=0;i<images.length;i++)
			{
				if(images[i].DescriptionUrl!=null)
				{
					var strAddToCart=images[i].DescriptionUrl;
					eval("return " + eval(strAddToCart))
					break;
				}
			}
		},
		'over': function() 
		{
			dropFx.start('98B5C1');
		},
		'leave': function() 
		{
			dropFx.start('ffffff');
		}
		});
			
		var drag = clone.makeDraggable({droppables: [drop]}); // this returns the dragged element
		drag.start(e); // start the event manual
	});
			
	});
	});
}


/* Drag and Drop and Remove from Cart */

var srcElementId; //Id of dragged object
var destElementId; //Id of valid drop target object   

function fnGetSource(obj)
{
	srcElementId = obj;
}	

function fnGetDestination()
{
	objTable=document.getElementById("tbodyCart");
	objTable.deleteRow(srcElementId);
	calculateTotalAfterDeletingItems();
	BuildDataForCookie();
}	

function cancelevent()
{
	window.event.returnValue = false;
}

function OnItemOver(currObj)
{
		currObj.parentNode.parentNode.parentNode.parentNode.parentNode.style.cursor="move";
 
	if(currObj.parentNode.parentNode.parentNode.rows[2] != undefined)
	{
		currObj.parentNode.parentNode.parentNode.parentNode.parentNode.className='OnOverCart';
		currObj.parentNode.parentNode.parentNode.rows[2].style.display="none";
		currObj.parentNode.parentNode.parentNode.rows[1].style.display="none";
		currObj.parentNode.parentNode.parentNode.rows[3].style.display="";

	}
	
	
}

function OnItemOut(currObj)
{
 
	 currObj.parentNode.parentNode.parentNode.parentNode.parentNode.style.cursor="default";

	 if(currObj.parentNode.parentNode.parentNode.rows[2] != undefined)
	{
	
		currObj.parentNode.parentNode.parentNode.parentNode.parentNode.className='OnDefaultCart';
		currObj.parentNode.parentNode.parentNode.rows[2].style.display="";
		currObj.parentNode.parentNode.parentNode.rows[1].style.display="";
		currObj.parentNode.parentNode.parentNode.rows[3].style.display="none";
		
	}
	
}
