var isSEO = (window.location.href.indexOf('.htm') > -1);
function GetLocationSEO() {
	var loc = window.location.href;
	var tmp = loc.substr(loc.lastIndexOf('/')).toLowerCase();
	if( (tmp == "/") || (tmp.indexOf('/default.asp') > -1)) return "home";
	if( tmp.indexOf("searchresults") > -1) return "category";
	if( loc.indexOf("_s/") > -1) return "category";
	if( loc.indexOf("_p/") > -1) return "product";
	if( tmp.indexOf('orderfinished') > -1) return "orderfinished";
	return "other";
}
function GetLocation() {
	var loc = window.location.href;
	var tmp = loc.substr(loc.lastIndexOf('/')).toLowerCase();
	if( (tmp == "/") || (tmp.indexOf('/default.asp') > -1)) return "home";
	if( tmp.indexOf("searchresults") > -1) return "category";
	if( tmp.indexOf("productdetails") > -1) return "product";
	if( tmp.indexOf('orderfinished') > -1) return "orderfinished";
	return "other";
}
$(document).ready(function() {
    RenderNav();
    BuildHomeBanner();
    var loc = 'home';
    if( isSEO) 
        loc = GetLocationSEO();
    else 
        loc = GetLocation();
    switch (loc) {
        case "home":
			$('#fake_content').removeClass('hideme');
            RenderHomeFeatured();
            break;
        case "category":
            RenderCategoryPage();
            break;
        case "product":
            RenderProductPage();
            break;
        default:
            $(window).load(function() {
                $('#fake_content').remove();
            });            
            //$('#top_content').remove();
            //$('#main_content').remove();
            $('#content_area').removeClass('hideme');
            break;
    }
    //CountDown
    var today = new Date();
    var christmas_day = new Date(today.getFullYear(), 11, 25);
    var oneday = 24 * 60 * 60 * 1000;
    var left_day = Math.ceil((christmas_day.getTime() - today.getTime()) / oneday);
    $('#countdown span').text(left_day);
    //RenderProductPage();
    //Build Nav 
    $('#content').show();
})
function GetProductCode(str) {
	if( str == undefined) return '';
	var retval = '';
	var index = str.lastIndexOf('/');
	if( index > -1) {
		retval = encodeURI(str.substr(index + 1).replace('.htm','').toUpperCase());
		retval = retval.substr(0, retval.indexOf('-'));
	}
	return retval;
}
function RenderHomeFeatured() {
	var featured_content = $('#content_area .productnamecolor:first').closest('table');
	var lstProductsTitle = new Array();
	var lstProductsImage = new Array();
	var lstProductsPrice = new Array();
	var lstProductsCategory = new Array();
	var lstProductsDescription = new Array();
	var i = 0;
	$(featured_content).find('.colors_productname').each(function() {
		lstProductsTitle[i] = $(this).parent().html();
	})
	var productRows = new Array();
	productRows[0] = featured_content.find('tr:first');
	var tmp = 0; 
	$(productRows[0]).siblings().each(function() {
		tmp++;
		productRows[tmp] = $(this);
	});
	var index = 0;
	var pI = 0;
	while(index < productRows.length) {
		var titles = $(productRows[index]).find('a.productnamecolor');
		lstProductsTitle[pI] = $(titles[0]).closest('td').html();
		lstProductsTitle[pI+1] = $(titles[1]).closest('td').html();
		//Category 
		lstProductsCategory[pI] = GetProductCode($(titles[0]).attr('href'));
		lstProductsCategory[pI+1] = GetProductCode($(titles[1]).attr('href'));
		
		var prices = $(productRows[index + 1]).find('.pricecolor');
		lstProductsPrice[pI] = $(prices[0]).closest('td').html();
		lstProductsPrice[pI+1] = $(prices[1]).closest('td').html();
		
		var images = $(productRows[index + 2]).find('a');
		lstProductsImage[pI] = $(images[0]).closest('td').html();
		lstProductsImage[pI+1] = $(images[1]).closest('td').html();
		
		var descriptions = $(productRows[index + 3]).find('.colors_text');
		lstProductsDescription[pI] = $(descriptions[0]).closest('td').html();
		lstProductsDescription[pI+1] = $(descriptions[1]).closest('td').html();
		pI += 2;
		index += 5;
	}
	//After that we have all products list in products featured
	//Build Products In Category
	var homecategory1 = new Array();//SPA
	var homecategory2 = new Array();//SA
	var homecategory3 = new Array();//CG
	var homecategory4 = new Array();//CF
	for( var i = 0; i < lstProductsTitle.length; i++) {
		switch(lstProductsCategory[i]) {
			case "SPA":
				homecategory1.push(i);
				break;
			case "SA":
				homecategory2.push(i);
				break;
			case "CG":
				homecategory3.push(i);
				break;
			case "CF":
				homecategory4.push(i);
				break;	
			
		}
	}
	//Render category 1 
	var number_products_in_category = 3;
	var idx = 0;
	var strContent = "";
	while(idx < number_products_in_category && idx < homecategory1.length) {
		var index = homecategory1[idx];
		if( idx == number_products_in_category- 1)
			strContent += "<div class='item item_last'>";
		else 
			strContent += "<div class='item'>";
		//Product Image 
		strContent += "<div class='product_image'>";
		strContent += lstProductsImage[index];
		strContent += "</div>";
		//Product Name
		strContent += "<div class='product_title'>";
		strContent += lstProductsTitle[index];
		strContent += "</div>";
		//Product Price 
		strContent += "<div class='product_price'>";
		strContent += lstProductsPrice[index];
		strContent += "</div>";
		strContent += "</div>";
		idx++;
	}
	$('#homecategory1_content').html(strContent);
	//Render category 2
	idx = 0;
	strContent = "";
	while(idx < number_products_in_category && idx < homecategory2.length) {
		var index = homecategory2[idx];
		if( idx == number_products_in_category- 1)
			strContent += "<div class='item item_last'>";
		else 
			strContent += "<div class='item'>";
		//Product Image 
		strContent += "<div class='product_image'>";
		strContent += lstProductsImage[index];
		strContent += "</div>";
		//Product Name
		strContent += "<div class='product_title'>";
		strContent += lstProductsTitle[index];
		strContent += "</div>";
		//Product Price 
		strContent += "<div class='product_price'>";
		strContent += lstProductsPrice[index];
		strContent += "</div>";
		strContent += "</div>";
		idx++;
	}
	$('#homecategory2_content').html(strContent);
	//Render category 3
	idx = 0;
	strContent = "";
	while(idx < number_products_in_category && idx < homecategory3.length) {
		var index = homecategory3[idx];
		if( idx == number_products_in_category- 1)
			strContent += "<div class='item item_last'>";
		else 
			strContent += "<div class='item'>";
		//Product Image 
		strContent += "<div class='product_image'>";
		strContent += lstProductsImage[index];
		strContent += "</div>";
		//Product Name
		strContent += "<div class='product_title'>";
		strContent += lstProductsTitle[index];
		strContent += "</div>";
		//Product Price 
		strContent += "<div class='product_price'>";
		strContent += lstProductsPrice[index];
		strContent += "</div>";
		strContent += "</div>";
		idx++;
	}
	$('#homecategory3_content').html(strContent);
	//Render category 4
	idx = 0;
	strContent = "";
	while(idx < number_products_in_category && idx < homecategory4.length) {
		var index = homecategory4[idx];
		if( idx == number_products_in_category- 1)
			strContent += "<div class='item item_last'>";
		else 
			strContent += "<div class='item'>";
		//Product Image 
		strContent += "<div class='product_image'>";
		strContent += lstProductsImage[index];
		strContent += "</div>";
		//Product Name
		strContent += "<div class='product_title'>";
		strContent += lstProductsTitle[index];
		strContent += "</div>";
		//Product Price 
		strContent += "<div class='product_price'>";
		strContent += lstProductsPrice[index];
		strContent += "</div>";
		strContent += "</div>";
		idx++;
	}
	$('#homecategory4_content').html(strContent);
}
function GetCategoryIDFromUrl(url) {
	url = url.toLowerCase();
	if( url.indexOf('?cat=') > -1) { //in not SEO status
		var index = url.lastIndexOf('=') + 1;
		return url.substr(index);
	} else { //in SEO status
        var index_from = url.lastIndexOf('/') + 1;
        var index_to = url.indexOf('.htm');
        var retval = url.substring(index_from, index_to);
        return retval;
	}
	
	return 0;
}
function RenderCategoryLeft() {
	var currentCatID = GetCategoryIDFromUrl(window.location.href);
	if( currentCatID == 0) // try to get category from hidden field
	{
		currentCatID = $('#MainForm input[name=Cat]').val();
	}
	if( currentCatID == 0 || isNaN(currentCatID)) return "";
	var leftNav = "";
	var lia = $('#nav li a');
	for( var i = 0; i < lia.length; i++) {
		var href = $(lia[i]).attr('href');
		if( href != undefined) {
			var catid = GetCategoryIDFromUrl(href);
			if( catid == currentCatID) {
				var liparent = $(lia[i]).parent().parent().parent();
				$(liparent).addClass('selected');
				leftNav = '<div id="navleft_category">' + $(liparent).html() + '</div>';
				break;
			}
		}
	}
	return leftNav;
}
function RenderNav() {
	$('#tmp_nav .navcontent').each(function() {
		//Get All Links 
		var content = '';
		$(this).find('a').each(function() {
			var tdparent = $(this).parent();
			var href = $(this).attr('href');
			var title = $(this).attr('title');
			var text = $.trim($(this).text());
			if( !$(tdparent).hasClass('subnav')) {
				content += "<li><a href='" + href + "' " + " title='" + title + "'>" + text + "</a></li>";
			} else {
				content += "<li class='lisubnav'><a href='" + href + "' " + " title='" + title + "'>" + text + "</a></li>";
			}
		})
		var idtext = $(this).attr('id');
		var index = idtext.substr(idtext.length - 1);
		$('#submenu_' + index).html(content);
	})
}
function RenderCategoryPage() {
	var breadcrumb_html = $.trim($('#content_area b:contains("You are here")').html());
	var mainForm = $('#MainForm')
	var inputs = $('#MainForm :input');
	var lstProducts = new Array();
	var lstProductsImg = new Array();
	var lstProductsTitle = new Array();
	var lstProductsPrice = new Array();
	var lstProductsDescription = new Array();
	$('#MainForm a img').parent().not('.smalltext').each(function() {
		var img = $($(this).find('img').get(0));
		if( !img.attr('align')) lstProductsImg.push(outerHTML(this));	
	});
	$('#MainForm a.productnamecolor').each(function() {
		lstProductsTitle.push(outerHTML(this));
	});
	$('#MainForm font.colors_productprice').each(function() {
		lstProductsPrice.push($(this).html())
	})
	var html_content = "";
	//Build HTML Content
	//BreadCrumb
	html_content += '<div id="category_breadcrumb">';
	html_content += breadcrumb_html;
	html_content += '</div>';
	var leftcategory = RenderCategoryLeft();
	html_content += leftcategory;	
	var total_items = 3;
	if( leftcategory.length == 0) { // Search products only page 
		total_items = 4;
		html_content += '<div id="category_product_right" style="width: 965px;">';
	} else {
		html_content += '<div id="category_product_right">';	
	}	
	//Category refinement selection 
	//html_content += '<div id="category_refinement_selection">';
	//html_content += outerHTML($('.refinement_price_section'));
	//html_content += outerHTML($('.refinement_brand_section'));
	//html_content += '</div>';
	//FilterForm Top
	html_content += '<div class="filter_category">';
	html_content += '<form action="SearchResults.asp" id="MainForm" name="MainForm" method="POST">';
	html_content += GetFilterCategoryForm();
	html_content += '</form>';
	html_content += '</div>';
	//Products List
	html_content += '<div id="category_product_list">';
	for( var i = 0; i < lstProductsTitle.length; i++) {		
		if(i % total_items == (total_items - 1)) 
			html_content += '<div class="item item_last">'
		else 
			html_content += '<div class="item">'
		html_content += '<div class="avatar">';
		html_content += lstProductsImg[i];
		html_content += '</div>';
		html_content += '<div class="content">';
		html_content += '<div class="title">';
		html_content += lstProductsTitle[i];
		html_content += '</div>';
		html_content += '<div class="price">';
		html_content += lstProductsPrice[i];
		html_content += '</div>';//End Price
		html_content += '</div>';//End Item Content
		html_content += '</div>';//End Item
	}
	html_content += '</div>';//End product list 
	html_content += '<p class="clear"></p>';
	//FilterForm Bottom
	html_content += '<div class="filter_category">';
	html_content += '<form action="SearchResults.asp" id="MainForm" name="MainForm" method="POST">';
	html_content += GetFilterCategoryForm();
	html_content += '</form>';
	html_content += '</div>';//End Filter
	html_content += '</div>';//End category right content
	html_content += '<p class="clear"></p>';
	$('#content .content').html(html_content);
	
}
function GetFilterCategoryForm() {
	var retval = '';
	$('#MainForm input[type=hidden]').each(function() {
		retval += outerHTML(this)
	})
	retval += '<div id="category_sort_by"><b>Sort By: </b>'
	retval += outerHTML($('#MainForm #SortBy'));//sort by feature 
//	retval += $('#additionalsearch').parent().html();//search within text
	retval += '<input type="submit" id="btnGreyGo" value="" />'
	retval += '</div>';
	retval += '<div id="category_view_mode">View:  '
	retval += $('#MainForm select.results_per_page_select').parent().html();
	retval += '</div>';
	retval += '<p class="clear0px"></p>';
	//alert(retval);
	return retval;
}
function RenderProductPage() {	
	var mainform = $('#content_area form[name=MainForm]');
	//Get Bread Crumb Html
	var firsttd = mainform.find('td:eq(0)');
	var breadcrumb_html = '<div id="product_breadcrumb">You Are Here: ';
	firsttd.find('a').each(function() { 
		breadcrumb_html += outerHTML(this) + " > ";
	})
	breadcrumb_html += 'Product Information</div>';
	//Product Title 
	var product_title = $(firsttd.find('.productnamecolorLARGE:eq(0)')).text();
	//Product Zoom 
	var product_zoom_html = $('#product_photo_zoom_url').closest('table').parent().html();
	//Product Info 
	var productinfo_html = mainform.find('table.colors_pricebox:eq(0)').parent().html();
	//Get Description HTML 
	var product_desc_box = $('table.colors_descriptionbox');
	var product_desc_html = product_desc_box.find('table:eq(0) td:eq(0)').html();
	$(mainform.find('b:contains("Features")')).wrap("<div id='product_featured_title'></div>");
	var product_feature_html = $('#product_featured_title').parent().html();
	var product_technical_spec_html = '';
	//Build Html Content
	var html = '';	
	html += breadcrumb_html;
	html += '<form name="MainForm" method="POST" action="' + mainform.attr('action') + '">';
	html += '<div id="product_detail_top">';
	html += '<div id="product_detail_topleft">';
	html += '<div id="product_detail_zoom">';
	html += product_zoom_html;
	html += '</div>';
	html += '</div>'; // End Product Detail TopLeft
	html += '<div id="product_detail_topright">';
	html += '<div id="product_detail_title">' + product_title + '</div>';
	html += productinfo_html;
	html += '</div>'; // End Product Detail TopRight
	html += '</div>'; // End Product Detail Top
	html += '</form>';
	html += '<div class="clear"></div>';
	html += '<div id="product_detail_middle">';
	html += '<div id="product_detail_middleleft">';
	html += '<div id="product_detail_banner">';
	html += '<a href="#"><img id="bonus_pack_image" src="" /></a>'
	html += '</div>'; // End banner
	html += '<div id="product_description_box">';
	html += '<div id="tab"><div class="item selected" onclick="GoToProductPage();">Overview</div><div class="item" onclick="GetTechSpecs()">Tech Specs</div><div class="item">Customer Reviews</div></div>'
	html += '<div class="content">';
	html += '<div id="product_detail_description">' + product_desc_html + '</div>';
	if( product_feature_html != null)
		html += '<div id="product_detail_featured">' + product_feature_html + '</div>';
	html += '</div>';
	html += '</div>'; //End Description Box
	html += '<div id="browser_more">';
	html += $("#content_area td b:contains('Browse for more products')").parent().html();
	html += '</div>';
	html += '</div>'; //End left middle
	html += '<div id="product_detail_middleright">';
	html += '<div id="related_product">';
	html += '<div id="product_related_title">Related Products</div>';
	html += GetRelatedProducts();
	html += '</div>';
	html += '</div>'; // End Right Middle
	html += '</div>'; // End Product Detail Middle
	html += '<div class="clear"></div>';
	$('#content .content').html(html);
	//Browser more 
	$('#browser_more b').wrap('<div class="title"></div>');
	$('#browser_more img').remove();
	//Product tab
	if( window.location.href.indexOf('&Show=TechSpecs') > -1) {
		$('#tab .item').removeClass('selected');
		$('#tab .item:eq(1)').addClass('selected');
	}
	//Process bonus pack : spa-jur-ena5-b1.htm with SEO, ProductDetails.asp?ProductCode=SPA-JUR-ENA5-B1 with no SEO
	var location = window.location.href.toUpperCase();	
	var bonus_code = location.substr(location.lastIndexOf('-') + 1);
	if( location.indexOf('%2D') > -1) {
		bonus_code = location.substr(location.lastIndexOf('%2D') + 3);
	}
	if( isSEO) {
		bonus_code = bonus_code.substr(0, bonus_code.indexOf('.HTM'));
	}
	if( bonus_code.length > 0) {
		var bonus_index = 0;
		if( bonus_code[0] == "B")
			bonus_index = bonus_code.substring(1);		
		if( bonus_index == 0)
			$('#bonus_pack_image').hide();
		else 
			$('#bonus_pack_image').attr('src','/v/vspfiles/templates/idcver3/images/product_bonus_pack_' + bonus_index + '.jpg')
	}
}
function GetRelatedProducts() {
	var relatedbox = $('table.colors_lines_light');
	var titles = new Array();
	var imgs = new Array();
	var prices = new Array();
	relatedbox.find('a.colors_productname').each(function() {
		titles.push(outerHTML(this));
	});
	relatedbox.find('a img').each(function() {
		imgs.push(outerHTML($(this).parent()));
	});
	relatedbox.find('font.colors_productprice').each(function() {
		prices.push($(this).text());
	})
	var html ='';
	for( var i = 0; i < titles.length; i++) {
		html += '<div class="item">';
		html += '<div class="title">' + titles[i] + '</div>';
		html += '<div class="avatar">' + imgs[i] + '</div>';
		html += '<div class="price">' + prices[i] + '</div>';
		html += '<p class="clear"></p>';
		html += '</div>';
	}
	return html;
}
function outerHTML(obj) {
	return $('<div>').append( $(obj).clone() ).html();
}
//Utilities
//Function URL In Ajax
function getURLParam(name) {
    var url = location.href
    var nav = ajaxGetNav(url)
    url = url.replace('#' + nav, '')
    url = url.substr(url.lastIndexOf('?') + 1)
    var s = url.indexOf(name + '=')
    if (s == -1) return ''
    var tmp = url.substr(s)
    var t = tmp.indexOf('&')
    if (t == -1) t = url.length
    var strParam = url.substr(s, t)
    return strParam.substr(strParam.indexOf('=') + 1)
}
function ajaxGetNav(url) {
    if (url.lastIndexOf('#') > -1)
        return url.substr(url.lastIndexOf('#') + 1)
    return null
}
function changeUrl(nav) {
    var url = location.href
    url = url.substr(0, url.lastIndexOf('#'))
    location.href = url + '#' + nav
}
//Setting for banner rotator
var delaytime = 12000; //miliseconds
var banner_path = '/v/vspfiles/templates/idcver3/images/banners/';
var links = new Array('/Rancilio_Silvia_Baratza_Vario_Combo_p/sa-ran-varcom-b4.htm', '/SearchResults.asp?mfg=Concept+art','/ProductDetails.asp?ProductCode=SA-LEL-PL41EM-B8');
var banners = new Array('Rancilio-Vario.jpg', '2010-Concept-Art.jpg','Lelit-PL41EM.jpg');
//End Setting For Banner Rotator
function MakeSlide(current) {
	return setInterval(function() {
		current += 1; 
		if( current == banners.length) current = 0;
		var imgBanner = $('#banner_rotator img:eq(0)');
		imgBanner.hide();
		imgBanner.attr('src', banner_path + banners[current]);
		imgBanner.fadeIn();
		$(imgBanner.parent()).attr('href',links[current]);
		$('#rotator_number a').removeClass('current');
		$($('#rotator_number a').get(current)).addClass('current');
	}, delaytime)
}
function BuildHomeBanner() {
	//preload images 
	for( var i = 0; i < banners.length; i++) {
		var image = new Image(702,260);
		image.src = banner_path + banners[i];
	}
	var current = 0;
	$('#banner_rotator').html('<a href="' + links[current] + '"><img src="' + banner_path + banners[current] + '"/></a>');
	var rotator = MakeSlide(current);
	//rotator number
	$('#rotator_number a').click(function() {
		$('#rotator_number a').removeClass('current');
		$(this).addClass('current');
		clearInterval(rotator);
		var text = $.trim($(this).text());
		if( text == '||') { //pause			
		} else {
			current = parseInt(text,10) - 1 ;
			var imgBanner = $('#banner_rotator img:eq(0)');
			imgBanner.hide();
			imgBanner.attr('src', banner_path + banners[current]);
			imgBanner.fadeIn();
			$(imgBanner.parent()).attr('href',links[current])
			rotator = MakeSlide(current);
		}
	})
}
function GetTechSpecs() {
	var url = window.location.href;
	if( url.indexOf('&Show=TechSpecs') == -1) url += '&Show=TechSpecs';
	window.location.href = url;
}
function GoToProductPage() {
	var url = window.location.href.replace('&Show=TechSpecs','');
	window.location.href = url;
}