/*

-----------------------------------------------------------
This script is the property of Vastplanet Corporation.
Any intentional/unintentional use of the code or portion of the code
without prior permission of Vastplanet Corporation is illegal.

Valid for use in www.beautybridge.com only.

Date: 30 April 2008
--------------------------------------------------------

*/

	var sortName=0;
	var sortPrice=0;
	var sortPopularity=0;
	var myData = new Array();
	var currentPage=1;
	var rowsPerpage=5;
	

function itemData(itemName, itemLink, itemImg, itemAbstract, itemPrice, itemSalePrice, itemIndex, itemOptions, itemdetailnew) {
	this.itemName = itemName;
	this.itemLink = itemLink;
	this.itemImg = itemImg;
	this.itemAbstract = itemAbstract;
	this.itemPrice = itemPrice;
	this.itemSalePrice = itemSalePrice;
	this.itemIndex = itemIndex;
	this.itemOptions = itemOptions;
	this.itemdetailnew = itemdetailnew;
}

function sortByitemName(a, b) {
    var x = a.itemName.toLowerCase();
    var y = b.itemName.toLowerCase();
    return ((x < y) ? -1 : ((x > y) ? 1 : 0));
}

function sortByitemPrice(a, b) {
	var x = Number(a.itemPrice.replace(",",""));
    var y = Number(b.itemPrice.replace(",",""));
    return ((x < y) ? -1 : ((x > y) ? 1 : sortByitemName(a,b)));
//	return ((x < y) ? -1 : ((x > y) ? 1 : sortByFirstName(a, b)));
}

function sortByDefault(a, b) {
    var x = a.itemIndex;
    var y = b.itemIndex;
    return ((x < y) ? -1 : ((x > y) ? 1 : sortByitemName(a,b)));
}

function sortData(sfor){
	currentPage=currentPage;
//	alert(currentPage);
	if (sfor=="name"){
		if(sortName=="0"){
			myData.sort(sortByitemName);
			sortName="1";
			document.getElementById("sortArrowPrice").innerHTML="";
			document.getElementById("sortArrowPopularity").innerHTML="";
			document.getElementById("sortArrowPricefooter").innerHTML="";
			document.getElementById("sortArrowPopularityfooter").innerHTML="";
			document.getElementById("sortArrowName").innerHTML="&nbsp;<img src='"+downArrowImg+"' style='display:inline;'>";
			document.getElementById("sortArrowNamefooter").innerHTML="&nbsp;<img src='"+downArrowImg+"' style='display:inline;'>";
		}else{
			myData.reverse();
			sortName="0";
			document.getElementById("sortArrowPrice").innerHTML="";
			document.getElementById("sortArrowPopularity").innerHTML="";
			document.getElementById("sortArrowPricefooter").innerHTML="";
			document.getElementById("sortArrowPopularityfooter").innerHTML="";
			document.getElementById("sortArrowName").innerHTML="&nbsp;<img src='"+upArrowImg+"' style='display:inline;'>";
			document.getElementById("sortArrowNamefooter").innerHTML="&nbsp;<img src='"+upArrowImg+"' style='display:inline;'>";
		}
//		writeValues(currentPage)
	}

	if (sfor=="price"){
		if(sortPrice=="0"){
			myData.sort(sortByitemPrice);
			sortPrice="1";
			document.getElementById("sortArrowPopularity").innerHTML="";
			document.getElementById("sortArrowName").innerHTML="";
			document.getElementById("sortArrowNamefooter").innerHTML="";
			document.getElementById("sortArrowPopularityfooter").innerHTML="";
			document.getElementById("sortArrowPrice").innerHTML="&nbsp;<img src='"+downArrowImg+"' style='display:inline;'>";
			document.getElementById("sortArrowPricefooter").innerHTML="&nbsp;<img src='"+downArrowImg+"' style='display:inline;'>";
		}else{
			myData.reverse();
			sortPrice="0";
			document.getElementById("sortArrowPopularity").innerHTML="";
			document.getElementById("sortArrowName").innerHTML="";
			document.getElementById("sortArrowPricefooter").innerHTML="";
			document.getElementById("sortArrowNamefooter").innerHTML="";
			document.getElementById("sortArrowPrice").innerHTML="&nbsp;<img src='"+upArrowImg+"' style='display:inline;'>";
			document.getElementById("sortArrowPricefooter").innerHTML="&nbsp;<img src='"+upArrowImg+"' style='display:inline;'>";
		}
	//	writeValues(currentPage);
	}

	if (sfor=="default"){
		if(sortPopularity=="0"){
			sortPopularity="1";
			myData.sort(sortByDefault);
			document.getElementById("sortArrowPrice").innerHTML="";
			document.getElementById("sortArrowName").innerHTML="";
			document.getElementById("sortArrowNamefooter").innerHTML="";
			document.getElementById("sortArrowPricefooter").innerHTML="";
			document.getElementById("sortArrowPopularity").innerHTML="&nbsp;<img src='"+downArrowImg+"' style='display:inline;'>";
			document.getElementById("sortArrowPopularityfooter").innerHTML="&nbsp;<img src='"+downArrowImg+"' style='display:inline;'>";
		}else{
			myData.reverse();
			sortPopularity="0";
			document.getElementById("sortArrowPrice").innerHTML="";
			document.getElementById("sortArrowPopularity").innerHTML="";
			document.getElementById("sortArrowName").innerHTML="";
			document.getElementById("sortArrowPricefooter").innerHTML="";
			document.getElementById("sortArrowNamefooter").innerHTML="";
			document.getElementById("sortArrowPopularityfooter").innerHTML="";
			document.getElementById("sortArrowPopularity").innerHTML="&nbsp;<img src='"+upArrowImg+"' style='display:inline;'>";
				document.getElementById("sortArrowPopularityfooter").innerHTML="&nbsp;<img src='"+upArrowImg+"' style='display:inline;'>";
		}
	//	writeValues(currentPage);
	}
	if(contentFormat=="VERTICAL"){
		writeValues(currentPage);
		}else if(contentFormat=="ELL"){
			writeEllPages(currentPage);
			}else if(contentFormat=="WRAP"){
			writeWrapPages(currentPage);
			}

}

function showpageOf(wp){
	//alert("Current Page: " + wp +  " Total Page: " + totalPages);
	document.getElementById("pageof").innerHTML = "Page " + wp + " of " + totalPages;
	document.getElementById("pageofFooter").innerHTML = "Page " + wp + " of " + totalPages;
	}
	
function writeWrapPages(wp,newshowItems){
if (newshowItems){
	showItems=newshowItems;
	}else {
		showItems=showItems
		}
var whichPage=wp;
var cnt=1;
var currentRow=1;
document.getElementById("page-contents").innerHTML="";
	if(whichPage=="ViewAll"){
		var from=0;
		var to=totalItems;
		currentPage="ViewAll";
	  }else if (whichPage==1){
			currentPage=1;
			var from= 0;
			var to=showItems;
		}else if (whichPage==totalPages){		
			currentPage=whichPage;
			var from=((whichPage) * showItems) - (showItems);
			var to=totalItems;	
		}else{
			currentPage=whichPage;
			var from=((whichPage) * showItems) - (showItems);
			if ((whichPage * showItems) > totalItems){
				var to = totalItems;
			}else{
				var to=whichPage * showItems;
				}
		}
	if(to>totalItems){
		to=totalItems;
		}
	var WraptableData='<table border="0" cellspacing="0" cellpadding="0" width="'+PagingTableWidth+'" align="center" class="advancedPagingTable">';
	RowSeperatorLimit = to-from;
	//WraptableData +="<tr><td style='border-top:1px solid #C1BCDC;border-bottom:1px solid #C1BCDC;border-left:1px solid #C1BCDC;' height=\"22\" width=\"155\" bgcolor='#eceaf5' colspan='2'><span class=\"text_menu_bold\">PRODUCTS</span></td><td align='left' bgcolor='#eceaf5' style='border-top:1px solid #C1BCDC;border-bottom:1px solid #C1BCDC;' width='150'><span class=\"text_menu_bold\">OPTIONS</span></td><td align=\"center\" bgcolor='#eceaf5' style='border-top:1px solid #C1BCDC;border-bottom:1px solid #C1BCDC;' width='90'><span class=\"text_menu_bold\">PRICE</span></td><td align=\"center\" width=\"50\" bgcolor='#eceaf5' style='border-top:1px solid #C1BCDC;border-bottom:1px solid #C1BCDC;border-right:1px solid #C1BCDC;'><span class=\"text_menu_bold\">QTY</span></td></tr><tr><td height='7'></td></tr>";
	WraptableData +='<tr><th colspan="2" style="border-left:1px solid #C1BCDC;">Products</th><th>Options</th><th>Price</th><th style="border-right:1px solid #C1BCDC;">Qty</th></tr><tr><td height="7"></td></tr>';
	
	// 447 = 155 + 150 + 90 + 50
	
	for (i=from;i<to; i++){	
		if(cnt==columns+1){cnt=1;}

		WraptableData +="<tr valign=top><td align='center' width='70' class='" + ImageCellClass +"' height='" + imageCellHeight +"'><a class='"+ linkClass + "' href='"+ myData[i].itemLink +"'><img class='"+ ImageClass + "' src='"+ myData[i].itemImg + "' border='0'></a></td>";

		WraptableData +="<td align='left' style='border-right:1px solid #B8B3D1;' width='84'><a class='"+ linkClass + "' href='"+ myData[i].itemLink +"'><b>"+ myData[i].itemName + "</a>";
		if(myData[i].itemdetailnew != ''){
		WraptableData +="&nbsp;<img src='"+myData[i].itemdetailnew+"'></td>";
		}
		
		WraptableData +="<td style='border-right:1px solid #B8B3D1;'>";
			if(myData[i].itemOptions){
				WraptableData += myData[i].itemOptions;
			}
		WraptableData +="&nbsp;</td>";		

		WraptableData +="<td align='center' style='border-right:1px solid #B8B3D1;'><span class='"+priceClass+"'>";
		if(myData[i].itemPrice && myData[i].itemSalePrice){
			WraptableData += RegularPriceText;
			}
		WraptableData +="$" + myData[i].itemPrice +"</span>";		
		if(myData[i].itemPrice && myData[i].itemSalePrice){
			WraptableData +="<br /><span class='"+SalePriceClass+"'>"+ SalePriceText + " $";
			WraptableData += myData[i].itemSalePrice;
			WraptableData += "</span>";
		}		
		WraptableData +="</td>";
		
		qtyno = parseInt(myData[i].itemIndex);
		WraptableData += "<td align='center'>";
		if(myData[i].itemAbstract == "<b>In Stock</b>"){
		WraptableData += "<input type='text' class='text_menu' name='vwquantity"+qtyno+"' size='1'><br /><br />";
		}
		if(myData[i].itemAbstract){
			WraptableData += "<span class='"+AbstractClass+"'>"+ myData[i].itemAbstract+ "</span>";
		}
		WraptableData +="</td></tr>";
		
		if(currentRow < RowSeperatorLimit){
			WraptableData +="<tr><td height='5'></td></tr>";
			WraptableData += "<tr><td height='1' style='border-bottom:1px solid "+ rowSeperatorColor +"' colspan=5'><img src='http://lib.store.yahoo.net/lib/"+storeId+"/spacer.gif' height='1' width='1'></td></tr>";
			WraptableData +="<tr><td height='5'></td></tr>";
		}
		currentRow = currentRow+1;
	}

	WraptableData+= '</table>';
	document.getElementById("page-contents").innerHTML = WraptableData;
	showPages(wp,"writeWrapPages");
	showingProducts(from,to,totalItems);
	writeArrows(wp, "writeWrapPages")
	showpageOf(wp)
}


function writeArrows(whichPage, format){
	if(!format){
		pageFormat="writeValues";
	}else {
		pageFormat=format;
	}
	var arrowLink;
	if((whichPage < totalPages) & (totalPages >1) & (whichPage!="ViewAll")){
		document.getElementById("nextArrow").innerHTML="";
		document.getElementById("nextArrowFooter").innerHTML="";
		NextLink=parseInt(whichPage)+1;  
		document.getElementById("nextArrow").innerHTML="<a href=\"#"+NextLink+"\" onclick=\""+format+"("+NextLink+");\"> Next &gt;";
		document.getElementById("nextArrowFooter").innerHTML="<a href=\"#"+NextLink+"\" onclick=\""+format+"("+NextLink+");\"> Next &gt;";
	}else{
		document.getElementById("nextArrow").innerHTML="<span class='show-pages-off'> Next &gt;</span>";
		document.getElementById("nextArrowFooter").innerHTML="<span class='blbelobaac_files/show-pages-off'>Next &gt;</span>";
	}
	if((whichPage <= totalPages) & (totalPages >1) & (whichPage!=1) & (whichPage!="ViewAll")){
		PrevLink=parseInt(whichPage)-1;
		document.getElementById("prevArrow").innerHTML="<a href=\"#"+PrevLink+"\" onclick=\""+format+"("+PrevLink+");\">&lt; Previous";
		document.getElementById("prevArrowFooter").innerHTML="<a href=\"#"+PrevLink+"\" onclick=\""+format+"("+PrevLink+");\">&lt; Previous";
	}else{
		document.getElementById("prevArrow").innerHTML="<span class='show-pages-off'>&lt; Previous</span>";
		document.getElementById("prevArrowFooter").innerHTML="<span class='show-pages-off'>&lt; Previous</span>";
	}
	
}

function updateColumns(nItems){
	creatPaging(nItems);
	}

function creatPaging(newItemList){
	var initPage=1;
	var pageLink = location.href;
	findPrevPage = pageLink.split("#");
	
	totalItems=myData.length;
	displayRows=Math.ceil(totalItems/rowsPerpage);
	Rowsperpage=Math.ceil(showItems/columns);
	if(newItemList){
			totalPages=Math.ceil(totalItems / newItemList);
		}else{
			totalPages=Math.ceil(totalItems / showItems);
			}
	//totalPages=Math.ceil(totalItems / showItems);
	//alert ("Total Rows: " + totalItems)
	
	if(findPrevPage[1] > 0){
		initPage = findPrevPage[1];		
		}else if(findPrevPage[1] == "viewAll"){
			initPage = 1;
			newItemList = totalItems
		}
	
	writeWrapPages(initPage, newItemList);
	
}

function showPages(cp,format){
	var pageLink = location.href;
	findPrevPage = pageLink.split("#");
	
	/*if(findPrevPage[1] == "viewAll"){
		cp = "ViewAll";
		} */
			
	var whichPage = cp;
	var currentPage=cp;
	var prevPages= 1;
	var nextPages;
	var nextPagesDiff=0;
//	alert (totalPages);
	if (currentPage > 5){
		prevPages=currentPage - 4;
		nextPages=currentPage + 5;
			if(nextPages > totalPages){
				nextPages=totalPages;
				nextPagesDiff= (currentPage + 5) - totalPages;
				prevPages=prevPages - nextPagesDiff
			}

		if(prevPages < 1){
			prevPages=1;
			}
	}else{
		prevPages= 1;
		if (totalPages > 10){
			nextPages=10;
		}else{
			nextPages=totalPages;
			}
	}
	
//	alert ("Sequance: " + prevPages + " to " +  nextPages + " Diff: " + nextPagesDiff);

var pageFormat;
	if(!format){
		pageFormat="writeValues";
	}else {
		pageFormat=format;
	}

	document.getElementById("ShowPages").innerHTML = "";
	document.getElementById("ShowPagesFooter").innerHTML = "";
	var pages="Pages: ";
//	for(i=1;i<=totalPages;i++){
	for(i=prevPages;i<=nextPages;i++){
		if (i==cp){
			pages += "<span class='currentPage'>"+i+"</span>&nbsp;|&nbsp;";
		}else {
			pages += '<a href="#'+i+'" class="show-pages" onclick="'+pageFormat+'(' + i +')">'+ i + "</a>&nbsp;|&nbsp;";
		}
	}
	if(totalPages >1){
		if (cp=="ViewAll"){
			pages += "<b>View All</b>&nbsp;";
		}else{
			pages += "<a href=\"#viewAll\" class=\"show-pages\" onclick=\""+pageFormat+"('ViewAll')\">View All</a>&nbsp;";
		}
	}	
	document.getElementById("ShowPages").innerHTML += pages;
	document.getElementById("ShowPagesFooter").innerHTML += pages;
}

function showingProducts(from,to, total){
	from=from + 1;
	document.getElementById("showingProducts").innerHTML= "showing products <b>" + from + "-" + to + "</b> of " + total;
	document.getElementById("showingProductsFooter").innerHTML= "showing products <b>" + from + "-" + to + "</b> of " + total;
}

function changeLayout(whichLayout){
	contentFormat=whichLayout;
	creatPaging();
	}	
