var pageloadComplete=false;
var searchFieldCleaned=false;
var popUpWindow;

function fancyBoxIframeOpen(url){
  $.fancybox({
		'transitionIn'  : 'none',
		'transitionOut' : 'none', 
  	'width'         : 530,
  	'height'        : 400,
    'type'          : 'iframe',
  	'href'          : url
  });
}

var popUpWindowPrint;
function printDataSheet(id){
  popUpWindowPrint=window.open(shopPath +'print_product_info.php?products_id=' + id, 'dataSheet', 'scrollbars=yes, resizable=yes, toolbar=0, width=600, height=600');
  popUpWindowPrint.focus();
}

function popUpContent(contentId){
  var url=shopPath +'popup_content.php?coID='+contentId;
  fancyBoxIframeOpen(url);
}

function cleanSearchField(callObj){
  if(!searchFieldCleaned){
    callObj.value='';
    searchFieldCleaned=true;
  }
}

function moveInfo(event, info){
	var eventSrc=event.target || event.srcElement;
	//delete alt info in event trigger object (img)
	eventSrc.alt="";
  var event=new Event(event);
  var x_pos=event.page.x;
	var y_pos=event.page.y+8;
	var objBody=document.getElementsByTagName("body").item(0);
	if(!document.getElementById("infoElement")){
		objInfoElement=document.createElement("div");
		objInfoElement.setAttribute('id','infoElement');
		
		objInfoElementContent=document.createElement("div");
		objInfoElementContent.setAttribute('id','infoElementContent');
		objInfoElement.appendChild(objInfoElementContent);
		
		objInfoElementBottom=document.createElement("div");
		objInfoElementBottom.setAttribute('id','infoElementBottom');
		objInfoElement.appendChild(objInfoElementBottom);		
		
		objBody.appendChild(objInfoElement);
		objInfoElementContent.innerHTML=info;
		
	}
	else{
		objInfoElement=document.getElementById("infoElement");
	}
	if(objInfoElement){			
		objInfoElement.style.top=(y_pos)+"px";
		objInfoElement.style.left=(x_pos+4)+"px";
	}
}

function hideInfo(){
	var tmpObj=document.getElementById("infoElement");
	if(tmpObj){
		var objBody = document.getElementsByTagName("body").item(0);
		objBody.removeChild(tmpObj);
	}
}

// option recalc price functions
function toDecimalPlaces(x, n){	
	if (n < 1 || n > 14) return false;
	var e = Math.pow(10, n);
	var k = (Math.round(x * e) / e).toString();
	if (k.indexOf('.') == -1) k += '.';
	k += e.toString().substring(1);
	return k.substring(0, k.indexOf('.') + n+1);  	
}

function currencyToXTC(str){
	var decimal_point = ',';
	var decimal_places = 2;
	var thousands_point = '.';
	str = toDecimalPlaces(str,decimal_places);
	var predecimal_part = str.substring(0,str.length-decimal_places-1);
	var deicmal_part = str.substr(str.length-decimal_places,decimal_places);
	if(thousands_point != "" && predecimal_part.length > 3){
		var predecimal_temp = predecimal_part;
		var predecimal_part = "";
		for(j = 3; j < predecimal_temp.length ; j+=3){
		  var extrakt = predecimal_temp.slice(predecimal_temp.length - j, predecimal_temp.length - j + 3);
		  predecimal_part = thousands_point + extrakt +  predecimal_part + "";
		}
		var str_first = predecimal_temp.substr(0, (predecimal_temp.length % 3 == 0)?3:(predecimal_temp.length % 3));
		predecimal_part = str_first + predecimal_part;
	  }
	return predecimal_part + decimal_point + deicmal_part;  	
}

function currencyToJavaScript(str){	
	var decimal_places = 2;
	var thousands_point = '.';
	str = str.toString()
	var predecimal_part = str.substring(0,str.length-decimal_places-1);
	var deicmal_part = str.substr(str.length-decimal_places,decimal_places);
	if(thousands_point != "" && predecimal_part.length > 3)
		predecimal_part = predecimal_part.replace(eval('/\\'+thousands_point+'/g'),'');
	return Number(predecimal_part + '.' + deicmal_part);  	
}

// xtc functions from header.phpvar selected;
var submitter = null;

function submitFunction() {
    submitter = 1;
}
function popupWindow(url) {
  window.open(url,'popupWindow','scrollbars=yes,resizable=yes,toolbar=0,width=630,height=630,screenX=50,screenY=50,top=50,left=50')
} 

var selected="";
function selectRowEffect(object, buttonSelect) {
  if (!selected) selected=document.getElementById('defaultSelected');
  if (selected) selected.className='moduleRow';
  object.className='moduleRowSelected';
  selected=object;
  var radioArr=document.getElementsByName('payment');
  if(radioArr.length==0) var radioArr=document.getElementsByName('address');  
  if(radioArr.length==0) var radioArr=document.getElementsByName('shipping');
  var cRadioSelect=radioArr[buttonSelect];
  cRadioSelect.checked=true;
}

function rowOverEffect(object) {
  if (object.className=='moduleRow') object.className='moduleRowOver';
}

function rowOutEffect(object) {
  if (object.className=='moduleRowOver') object.className='moduleRow';
}

function popupImageWindow(url) {
  window.open(url,'popupImageWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=100,height=100,screenX=150,screenY=150,top=150,left=150')
}

// groupChange
function changeGroup(groupFormId){
  var groupForm=document.getElementById(groupFormId);
  if(groupForm){
    groupForm.submit();
  }
}

function updateShippingTime(callObj, products_id){
	var url=shopPath+"ajax_updateShippingTime.php?products_id="+products_id+"&options_values_id="+callObj.value;
  $("#pShippingTime").load(url);
}

//menu
jQuery.jMenu = function(id){
	$(id + " li[class='liCatLevel0'], li[class='liCatLevel0_active']").hover(function(){
		$(this)
    .css({'z-index':'1000'})
    .find('div:first').css({'z-index':'998', 'display':'block'});
    if(jQuery.browser.msie && jQuery.browser.version=='6.0'){
      $('select').css({'visibility':'hidden'});       
    }
	},
	function(){
		$(this)
    .css({'z-index':'10'})
    .find('div:first').css({display:'none'});
    if(jQuery.browser.msie && jQuery.browser.version=='6.0'){
      $('select').css({'visibility':'visible'});
    }
	});
}

//jquery 
$(window).load(function() {   
  // init menu  
  $.jMenu("#top_categories");  
  // specImage
  $(".specLink").fancybox({
		'transitionIn'	     : 'none',
		'transitionOut'	     : 'none',  
    'titleShow'          : false,
  	'autoScale'          : false,
  	'hideOnContentClick' : true
  });
  // thumbs
  $(".imageThumb a").click(function(e){
    e.preventDefault();
    var xxl_href=$(this).attr("href").replace('/products/m/', '/products/l/');
    $('#imageLarge')
    .attr("href", xxl_href)
    .html('<img src="'+$(this).attr("href")+'" alt="" />');
  });
  // magViewer
  $('#imageLarge').click(function(e){
    e.preventDefault();
    var pathParts=$(this).attr("href").split('/');
    var imgToLoad=pathParts[pathParts.length-1];
    var viewerUrl=$(this).attr("href");
  	$.fancybox({
  		'transitionIn'	: 'none',
  		'transitionOut'	: 'none',
  		'href'          : viewerUrl,
  		'title'         : '',
  		'autoScale'     : true
  	});
  });
  // nivoSlider
  $('#slider').nivoSlider({
		effect:'fade',
		animSpeed:300,
    captionOpacity:0.6   
  }); 
  // product listing image magnifier
  $(".pL_magnifier").hover(
    function(e){ 
      var imgSrc=shopPath+"images/products/m/"+$(this).attr("rel");
      var offsets=$(this).offset();
      var xPos=offsets.left-258+"px";  
      var yPos=offsets.top-258+"px";      
    	$('#imagePreview')
      .css({"top" : yPos, "left" : xPos, "display" : "block"})
      .html('<img src="'+imgSrc+'" alt="" />');
    }, 
    function(e){
      $('#imagePreview').css({"display" : "none"});
    }
  );
  // lightbox => fancybox 
  $('a[rel*=lightbox]').fancybox({ 
		'transitionIn'	: 'none',
		'transitionOut'	: 'none',
		'titleShow'	: true,
		'titlePosition' : 'inside'
	});
  // productDatasheet
  $("#productDatasheet").click(function(e){
    e.preventDefault();
    printDataSheet($(this).attr("rel"));
  });
  // productQuestion
  $("#productQuestion").click(function(e){
    e.preventDefault();
    var url="popup_content.php?coID=9998&products_id="+$(this).attr("rel");
    $.fancybox({ 
  		'transitionIn'	: 'none',
  		'transitionOut'	: 'none',
  		'width'         : 650,
  		'height'        : 460,
      'type'          : 'iframe',
  		'href'          : url
  	});
  });
  // productBestprice
  $("#productBestprice, .pL_bestprice").click(function(e){
    e.preventDefault();
    var url="popup_content.php?coID=9997&products_id="+$(this).attr("rel");
    $.fancybox({    
  		'transitionIn'	: 'none',
  		'transitionOut'	: 'none',
  		'width'         : 650,
  		'height'        : 460,
      'type'          : 'iframe',
  		'href'          : url
  	});
  });  
  // productSymbol
  $(".products_symbol").click(function(e){
    e.preventDefault();
    var url="popup_content.php?coID=9996&symbol_id="+$(this).attr("rel");
    $.fancybox({ 
  		'transitionIn'	: 'none',
  		'transitionOut'	: 'none',
  		'width'         : 650,
  		'height'        : 350,
      'type'          : 'iframe',
  		'href'          : url
  	});
  });
  // InfoLink
  $(".infoLink").click(function(e){
    e.preventDefault();
    var url="popup_content.php?coID="+$(this).attr("rel");
    $.fancybox({ 
  		'transitionIn'	: 'none',
  		'transitionOut'	: 'none',
  		'width'         : 650,
  		'height'        : 500,
      'type'          : 'iframe',
  		'href'          : url
  	});
  });
  //productInfo history back
  $("#btn_history_back").click(function(e){
    history.back();
  });
  // auto suggest
  var options_xml = {
		script: function (input) { return "ajax_autoSuggest.php?input="+input+"&testid="+document.getElementById('searchInput').value; },
		varname:"input",
  	timeout:3000,
  	maxresults:15,
  	delay:100,
  	cache:false
	};
	var as_xml = new bsn.AutoSuggest('searchInput', options_xml);
	
	
	
	// optionsSelect => updateOptionsPrice	
	
	$(".optionsSelect").change(function(e){
    var parentForm=$(this).parents('form:first');
    var products_id=parentForm.find("input[name=products_id]:first").attr("value");
    var updateTarget=parentForm.find(".price_update_target:first");
    //get options
    var optionsSelects=parentForm.find(".optionsSelect");
    var optionsStr="";
    for(i=0; i < optionsSelects.length ; i++){
      if(i > 0) optionsStr+="-";
      optionsStr+=""+optionsSelects[i].value;
    }
    var url="ajax_updatePrice.php?products_id="+products_id+"&options="+optionsStr;
    updateTarget.load(url); 
	});
  
  // catBox table click	
  $(".catBox").click(function(e){
    document.location.href=$(this).find("a:first").attr("href"); 
  });
	
	
  // ajax add to cart
  $("form[id^='cart_quantity']").submit(function() {
    //check options  
    var optionsError="";
    $(this).find('.optionsSelect').each(function(){
        if($(this).attr("value")=="0"){
          optionsError='<div class="ajax_info">Bitte treffen Sie eine Auswahl im Feld<b><br />'+$(this).attr("rel")+'</b></div>';
          optionsOk=false;
          return false;
        }
      }
    );
    if(optionsError!=""){
    	$.fancybox(
    		optionsError,
    		{
          'autoDimensions'	   : false,
    			'width'         	   : 270,
    			'hideOnContentClick' : true,
    			'height'        	   : 'auto',
    			'transitionIn'		   : 'none',
    			'transitionOut'		   : 'none',
    			'scrolling'		       : 'no'
    		}
    	);
      return false;
    }
    //ajax add
    $.ajax({
      url     : $(this).attr("action")+"&mode=ajax",
      type    : "POST",
      data    : $(this).serialize(),
      success : function(data) {
      	$.fancybox(
      		data,
      		{
            'autoDimensions'	: false,
      			'width'         	: 400,
      			'height'        	: 'auto',
      			'transitionIn'		: 'none',
      			'transitionOut'		: 'none',
      			'scrolling'		    : 'no'
      		}
      	);
      	//reload box_cart
        $("#box_cart").load("ajax_reload_box.php?box=cart");
      }
    });
    return false;
  });          
});

function ivLoadImage(imageSrc){
  //just the image name is required
  var urlParts=imageSrc.split('/');
  var imageSrc=urlParts[urlParts.length-1];
  popupWindow(shopPath+'popupImage.php?image='+imageSrc);
}

function spLoadImage(imageSrc){
  //just the image name is required
  var urlParts=imageSrc.split('/');
  var imageSrc=urlParts[urlParts.length-1];
  popupWindow(shopPath+'popupSpecImage.php?image='+imageSrc);
}

function popUpMagViewer(imgToLoad){
  newWin=void(window.open(shopPath +'popup_magviewer.php?imgToLoad=' + imgToLoad, 'popup', 'scrollbars=no, resizable=yes, toolbar=0, width=600, height=600'));
}

function createFlvPlayer(target_id, player_id, flv, image, width, height){
  var flashvars={
    file: flv, 
    image: image
  };
  var params={
    allowfullscreen: 'true', 
    allowscriptaccess: 'always',
    wmode: 'transparent'
  };
  var attributes={
    id: player_id, 
    name: player_id
  };
  swfobject.embedSWF('player.swf', target_id, width, height, '9.0.124', false, flashvars, params, attributes);
};

function closeFancyBox(){
  $.fancybox.close();
}
