var onloadCommands = new Array();
var sRequestURL = "/stepone/frontend/general/glossary_ajax.php";

$(document).ready(function(){
	initIFrameTeasers();
	initAjaxSearcher();
	initCheckBoxVisibility();
	
	$('a.googleAnalyticTracker').click(function(){
        try {
              if (pageTracker){
                    pageTracker._trackPageview($(this).attr('href'));
              }
        } catch(err) {}
	});

		
	$('.modaliframewindow').hide();
	
	$('a[title!=""]:not(.blocktooltip),img[title!=""]:not(.blocktooltip):parent():not(a)').tooltip({
	    showURL: false,
	    fade: 100,
	    delay: 500,
	    top: 21,
	    left: 0
	});
	
	$('a[title!=""]:hasClass(.blocktooltip), img[title!=""]:hasClass(.blocktooltip)').removeAttr("title");
	
		
	/* Productfinder filter reset */
	$("#reset_button_productfinder").click(function() {
		$(':text, :password, :file', 'form[name=productfilter_form]').val('');  
		$(':input', 'form[name=productfilter_form]').removeAttr('checked').removeAttr('selected');	
		$('form[name=productfilter_form] select option:lt(0)').attr('selected', 'selected');	
		return false;	  
	});
	
});

function zoomElement() {
	$('#box_lightbox_list').modaldialog({
		fadeInTime : 250,
		fadeOutTime : 250
	});
}

function showMoreProductImages(){
	$("#product_more_images_div").modaldialog({
		fadeInTime : 250,
		fadeOutTime : 250,
		closeOnCanvasClick : true
	});
}

function changeProductImage(url, name, description){
	var spacer   = document.getElementById('spacer');
	var bigImage = document.getElementById('bigProductImage');
	var bigFlash = document.getElementById('bigProductFlash');
	var type = 0;  //0=image  1=flash

	if(url.slice(url.length-4).toLowerCase()==".flv")
	{
		spacer.style.display="none";
		bigImage.style.display="none";
		bigFlash.style.display="";
		bigFlash.innerHTML = '<br/><br/><br/><embed width="600" height="360" flashvars="file='+url+'&amp;autostart=false&amp;bufferlength=15&amp;fullscreen=true" wmode="transparent" allowscriptaccess="always" allowfullscreen="true" quality="high" bgcolor="#FFFFFF" name="ply" id="ply" style="" src="/swf/player.swf" type="application/x-shockwave-flash"></embed>';;
		return;
	}
	
	if (bigImage){
		spacer.style.display="";
		bigImage.style.display="";
		bigFlash.style.display="none";
		bigImage.src = url;
		bigFlash.innerHTML = "";
	}
	element = document.getElementById('imgholder_headline_name');
	if (element){
		element.innerHTML = name;
	}
	element2 = document.getElementById('imgholder_headline_description');
	if (element2){
		element2.innerHTML = description;
	}

}


function printPage(){
	window.print();
	return true;
}

function switchProductTab(tabnr){
	alert(tabnr);
}

function clearInputContent(field){
	field.value = '';
	return true;
}

function reloadBasketView(dateval,urlpart){
	day = dateval.substring(0,2);
	month = dateval.substring(3,5);
	year = dateval.substring(6,10);
	document.location.href=urlpart+'?deliverydate='+year+'-'+month+'-'+day
}

function doOrderCreate(){
	if (document.getElementById('createOrderForm')){
		document.getElementById('createOrderForm').submit();
	}

}

function setTablerowVisibility(clickedElement, rowname)
{
	if(element = document.getElementById(clickedElement))
	{
		if(element.checked == true){
			var rowDisplayMode = "";
		} else {
			var rowDisplayMode = "none";
		}
		trElements = document.getElementsByTagName('tr');
		for (var i = 0; i < trElements.length; i++) {
			e = trElements[i];
			if(e.id && e.id.indexOf(clickedElement+'_') == 0){
				e.style.display = rowDisplayMode;
			}
		}
	}
	
}

function setCheckboxVisibility(name)
{
	var e = document.getElementById('pulldown');
	if(e==null) return;
	var type0 = document.getElementById('downloads_type0');
	if(type0 == null) e.style.display = "none";
	inputElements = document.getElementsByTagName('input');
	for (var i = 0; i < inputElements.length; i++) {
		e  = inputElements[i];
		if(e.id && e.id.indexOf('category_') == 0){
			var subCategory  = e.name.replace(/category_/g,'');
			var parentNode = e.parentNode;
			
			if( subCategory == name || type0 == null || name == "pleaseselect"){
				parentNode.style.display = "";
				e.checked = true;
			}
			else{
				parentNode.style.display = "none";
				e.checked = false;
			}
			setTablerowVisibility(e.id,"")
		}
	}
}

function uncheckSubcategories(formName)
{
	var type = '';	
	var eLength = document.forms[formName].elements.length;
	for(var i=0; i < eLength; i++) 
	{
		type = document.forms[formName].elements[i].type;
        if(type == "checkbox" && document.forms[formName].elements[i].checked)
        {
        	document.forms[formName].elements[i].checked = false;         
        }
	}	
}

function hideAllTablerows()
{
	var rowDisplayMode = "none";
	trElements = document.getElementsByTagName('tr');
	for(var i=0; i < trElements.length; i++) 
	{
		e = trElements[i];		
		if(e.id && e.id.substr(0, 9) == 'category_')
		{
			e.style.display = rowDisplayMode;
		}
	}
}

function checkIfHideTotalDownloadListIsSet()
{
	var e = document.getElementById('hide_total_downloadlist');
	if(e)
		return e.value;
}

function initCheckBoxVisibility(){
	var b=document.getElementById("pulldown");
	var a=checkIfHideTotalDownloadListIsSet();
	var $deselect = $('#deselect-all');
	var $select = $('#select-all');
	var $checkboxes = $deselect.parent('div').prev('ul').find('input[type="checkbox"]');
	var $deselectContainer = $deselect.parents('div.deselect');
	var $selectContainer = $select.parents('div.deselect');
	if(b!=null)
	{setCheckboxVisibility(b.options[0].value);
		if(a)
		{
			uncheckSubcategories("downloadlist_filter");
			$deselectContainer.hide();
			$selectContainer.show();
			hideAllTablerows()
		}
	}
}

function updateCompareDialog(removeProduct, changeProduct) {
	products = new Array();
	products[1] = "";
	products[2] = "";
	products[3] = "";
	productModels = new Array();
	productModels[1] = "";
	productModels[2] = "";
	productModels[3] = "";
	element = document.getElementById("hidden_current_structure_id");
	structureId = element.value;


	if(element = document.getElementById("product_id_for_update_1")){
		products[1] = element.value;
	}
	if(element = document.getElementById("product_id_for_update_2")){
		products[2] = element.value;
	}
	if(element = document.getElementById("product_id_for_update_3")){
		products[3] = element.value;
	}
	if(element = document.getElementById("model_for_update_1")){
		productModels[1] = element.value;
	}
	if(element = document.getElementById("model_for_update_2")){
		productModels[2] = element.value;
	}
	if(element = document.getElementById("model_for_update_3")){
		productModels[3] = element.value;
	}

	switch(removeProduct){
		case 1:
			products[1] = products[2];
			products[2] = products[3];
			products[3] = "";
			productModels[1] = productModels[2];
			productModels[2] = productModels[3];
			productModels[3] = "";
		break;
		case 2:
			products[2] = products[3];
			products[3] = "";
			productModels[2] = productModels[3];
			productModels[3] = "";
		break;
		case 3:
			products[3] = "";
			productModels[3] = "";
		break;
	}
	switch(changeProduct){
		case 1:
			products[1] = "";
			productModels[1] = "";
		break;
		case 2:
			products[2] = "";
			productModels[2] = "";
		break;
		case 3:
			products[3] = "";
			productModels[3] = "";
		break;
	}


	$(document).ready(function() {
        $.get("/stepone/frontend/general/productcache/getProductCacheContent.php?firstcall=0"+
        																		"&product1="+products[1]+
        																		"&product2="+products[2]+
        																		"&product3="+products[3]+
        																		"&model1="+productModels[1]+
        																		"&model2="+productModels[2]+
        																		"&model3="+productModels[3]+
        																		"&structureid="+structureId,
        																		function(text){
			$('#box_lightbox_list_compare').html(text);
			updateCollapsibles();
		});
	});
}

function prepareDataForComparePrint(){
	products = new Array();
	products[1] = "";
	products[2] = "";
	products[3] = "";
	productModels = new Array();
	productModels[1] = "";
	productModels[2] = "";
	productModels[3] = "";
	element = document.getElementById("hidden_current_structure_id");
	structureId = element.value;


	if(element = document.getElementById("product_id_for_update_1")){
		products[1] = element.value;
	}
	if(element = document.getElementById("product_id_for_update_2")){
		products[2] = element.value;
	}
	if(element = document.getElementById("product_id_for_update_3")){
		products[3] = element.value;
	}
	if(element = document.getElementById("model_for_update_1")){
		productModels[1] = element.value;
	}
	if(element = document.getElementById("model_for_update_2")){
		productModels[2] = element.value;
	}
	if(element = document.getElementById("model_for_update_3")){
		productModels[3] = element.value;
	}
	productData = new Array();
	productData["product1"] = products[1];
	productData["product2"] = products[2];
	productData["product3"] = products[3];
	productData["model1"] = productModels[1];
	productData["model2"] = productModels[2];
	productData["model3"] = productModels[3];
	return productData;

}
function showCompareDialog(structureId, productid) {
	products = new Array();
	products[1] = "";
	products[2] = "";
	products[3] = "";
	if (productid){
		products[1] = productid;
	} else {
		for (var object_id in comparebuttonsChecked)
		{

			if (products[1] == ""){
				products[1] = object_id.substr(8);
			}
			else if (products[2] == ""){
				products[2] = object_id.substr(8);
			} else {
				products[3] = object_id.substr(8);
			}
		}
	}


	$(document).ready(function() {
        $.get("/stepone/frontend/general/productcache/getProductCacheContent.php?firstcall=1"+
        																		"&product1="+products[1]+
        																		"&product2="+products[2]+
        																		"&product3="+products[3]+
        																		"&structureid="+structureId,
        																		function(text){
			$('#box_lightbox_list_compare').html(text);
			$('#box_lightbox_list_compare').modaldialog({
				fadeInTime : 250,
				fadeOutTime : 250
			});
			updateCollapsibles();
		});
	});
}

function filterProducts(currentStructureId){
	var temp = $('.productfilter_form').serialize();
	$(document).ready(function() {
	    $.get("/stepone/frontend/general/productfilter/getProductfilterCacheContent.php?currentStructureId="+currentStructureId+"&"+temp
	    																		,
	    																		function(text){
			$('#product_list_holder').html(text);

		});
	});
}

function productcategoryfilterCheck(targetlocation){
	if (element = document.getElementById("productcategoryfinder_select_1")){
		if(element.value != ""){
			document.location.href=element.value;
		}
	}
}


function onSlideChange(){
	element = document.getElementById("hidden_current_structure_id");
	filterProducts(element.value);
}


function openIFrameModalWindow(targetUrl)
{
	
}


function initIFrameTeasers()
{
	$('a.modalTeaser').click(function()
	{
		var triggerId = $(this).attr('name');
		
		var iFrameId = 'iframe_' + triggerId.substring(8);
		
		$("#"+iFrameId).modaldialog({ fadeInTime : 250, fadeOutTime : 250, closeOnCanvasClick : true });
		
		//Manually correct top-margin
		$('.box_lightbox').css('top', '1.8333em');
		return false;
	});
}

function initAjaxSearcher()
{
	
	/*
	$('input.installerSearch').each(function()
	{
		$(this).keyup(function(){
			var value = $(this).val();
			var name = $(this).attr('name');
			var dataForAutocomplete = new Array()
			$.getJSON("/stepone/frontend/general/getGlobalContactData.php?s_key[0]=" + name + "&s_value[0]="+ value +"&return=region",
			function(data)
			{
				var html = '';
				if(data.status == "ok")
				{
					delete data.status; //status should be displayed
					
					$.each(data, function(i,item)
					{
						/*
						if(i > 0)
						{
							if(i <= 1)
							{
								html += data[i];
							}
							else
							{
								html += '<br>'+data[i];
							}
						}
						*//*
						//alert(data[i]);
						dataForAutocomplete[i] = data[i];
					});
					$('.ac_input').autocomplete(dataForAutocomplete);
				}
				/*
				$.each(data.items, function(i,item)
				{
					alert(item.status);
					if(i==0)
					{
						alert(item.status);
					}
				});*//*
			});
		});
	});
	*/
	$('.region-select-autocomplete').autocomplete("/stepone/frontend/general/getGlobalContactData.php",{  
						extraParams : {"s_key": 'region', 
									   "s_value":function() { return $('.region-select-autocomplete').val();},
									   "return":"region", 
									   "returnformat":"jquery_autocomplete"}
	});
	
	
	/*
	 // for get ing the city depending on the region
	$('.region-select-autocomplete').result(function() {
		alert("/stepone/frontend/general/getGlobalContactData.php?s_key[0]=region&s_value[0]="+ $('.region-select-autocomplete').val() +"&return=city");
		$.getJSON("/stepone/frontend/general/getGlobalContactData.php?s_key[0]=region&s_value[0]="+ $('.region-select-autocomplete').val() +"&return=city",
		function(data)
		{
			var html = '';
			if(data.status == "ok")
			{
				delete data.status; //status should be displayed
				
				$.each(data, function(i,item)
				{
						if(i <= 1)
						{
							html += data[i];
						}
						else
						{
							html += '<br>'+data[i];
						}
					
					alert(data[i]);
					dataForAutocomplete[i] = data[i];
				});
				//$('.ac_input').autocomplete(dataForAutocomplete);
			}
			
		});
		
		$.each(selectValues, function(key, value) {
			$('.city-select').append('<option value="'+ key +'">'+ value +'</option>');
		});
		
		$('#select_installer_dropdown').show();
		});
     });*/

}
