var BasketDialog = undefined;

document.observe("dom:loaded", function() {
	BasketDialog = new Control.Modal($(document.body).down('[href=#basket-dialog]'),{
		className: 'simple_window',
		closeOnClick: false,
		overlayOpacity: 0.75,    
    	fade: true		
	});
});

// zkontroluje platnost slevoveho kuponu
var CheckCoupone = {
	value: 0.0,
	price: 0.0,
	
	check: function(curr, before) {
		var coupone = '';
    if ($('coupone') != undefined) {
			coupone = $F('coupone');
    }
    
    if( coupone.length == 0 ) {
    	$('check_coupone').innerHTML = '';
    	coupone_price = 0;
      $('show_coupone').hide();
      recalc_total(curr, before);
    	
      return false;
    }
      		
		new Ajax.Request(SHOP_URL+'ajax.php?page=ajax_coupone&coupone='+coupone, {
			valScripts: 'true',
			method:'post',
      onSuccess: function(transport) {
      	var response = transport.responseText.evalJSON() || "no response text";
      	$('check_coupone').innerHTML = response.message;
      	if( response.value != 'undefined' && response.value > 0 ) {
      		
      		CheckCoupone.value = response.value;
      		
      		// stejny vypocet je i v order
      		if( response.type == 'p' ) {
      			CheckCoupone.price = base_price * CheckCoupone.value / 100;  
      		} else {
      			CheckCoupone.price = CheckCoupone.value;
      			if( CheckCoupone.price < 0 ) {
      				CheckCoupone.price = 0;
      			}
      		}
      		
      		coupone_price = CheckCoupone.price;
      		$('show_coupone').show();
      		recalc_total(curr, before);
      	} else {
      		coupone_price = 0;
      		$('show_coupone').hide();
      		recalc_total(curr, before);
      	}
      }                                  
		});
	}
};

var CompareManager = {
	URL: SHOP_URL,
	REQUIRED_PROTOTYPE: '1.6.0',
			
	initialize: function() {
		
	    function convertVersionString(versionString){
	    	var r = versionString.split('.');
	        return parseInt(r[0])*100000 + parseInt(r[1])*1000 + parseInt(r[2]);
	    }
	   
	    if((typeof Prototype=='undefined'))
	    	throw("CompareManager requires the Prototype JavaScript framework >= " + CompareManager.REQUIRED_PROTOTYPE);
	},
	
	addProduct: function(id) {
		CompareManager.update({'compare_add_product' : id});
	},
	
	deleteProduct: function(id) {
		CompareManager.update({'compare_del_product' : id});
		CompareManager.changeButton('out', id);
	},
	
	deleteAll: function(id) {
		CompareManager.update({'compare_del_products_all' : true});
		$$(".in_compare").each(function(element){
			var match = element.id.match(/^[a-z_]*\[([0-9]*)\]$/);
			CompareManager.changeButton('out', match[1]);
		});
	},
	
	toBasket: function(id) {
        var count = 1;
        if ($('product_count') != undefined) {
			count = $F('product_count');
        }
		//'google_basket_ajax' - vystupny div pre ajax, pridanie produktu do kosiku.
		new Ajax.Updater('google_basket_ajax', CompareManager.URL+'ajax.php?page=ajax_basket_add&count='+count+'&addproduct='+id, {
            evalScripts: 'true',
            onSuccess: function() {
				BasketDialog.open($('basket-dialog'));
				var content = '';
				if ($('product-title-'+id) != undefined) {
					content = $('product-title-'+id).innerHTML;
				}
				$('basket-dialog-product').innerHTML = content;
                CompareManager.updateBasket();
             }                                  
		});
	},

	changeButton: function(type, id) {
		var parent = $('compare_product['+id+']');
		if (parent != undefined) {
			var children = $A(parent.childElements());
			
			if (type == 'in') {
				parent.className = 'in_compare';
				
				children.each(function(element){
					element.update('V porovnávaní');
					element.setAttribute('title', 'Odobrať z porovnania');
					element.setAttribute('onclick', 'CompareManager.deleteProduct(\''+id+'\'); return false;');
				});
			} else {
				parent.className = 'compare';
				
				children.each(function(element){
					element.update('Porovnaj');
					element.setAttribute('title', 'Pridať do porovnania');
					element.setAttribute('onclick', 'CompareManager.addProduct(\''+id+'\'); return false;');
				});
			}
		}

		
		parent = $('compare_product_detail['+id+']');
		
		if (parent != undefined) {
			var children = $A(parent.childElements());

			if (type == 'in') {
				parent.className = 'detail-in_compare';
				
				children.each(function(element){
					element.update('V porovnávaní');
					element.setAttribute('title', 'Odobrať z porovnania');
					element.setAttribute('onclick', 'CompareManager.deleteProduct(\''+id+'\'); return false;');
				});
			} else {
				parent.className = 'detail-compare';
				
				children.each(function(element){
					element.update('Porovnaj');
					element.setAttribute('title', 'Pridať do porovnania');
					element.setAttribute('onclick', 'CompareManager.addProduct(\''+id+'\'); return false;');
				});
			}
		}		
	},
		
	update: function(params) {
		if (params == undefined)
			params = new Object();
		
		new Ajax.Updater('ajax_compare_panel', CompareManager.URL+'ajax.php?page=ajax_products_compare_panel', {parameters: params, evalScripts: 'true'});
		//new Ajax.Updater('compare-wrapper', CompareManager.URL+'ajax.php?page=ajax_compare_panel', {parameters: params, evalScripts: 'true'});
		new Ajax.Updater('page-product-compare-wrapper', CompareManager.URL+'ajax.php?page=ajax_products_compare', {parameters: params, evalScripts: 'true'});
				
	},
	
	updateBasket: function() {
		new Ajax.Updater('basket-wrapper', CompareManager.URL+'ajax.php?page=ajax_basket_info', {evalScripts: 'true'});		
	}
			
};

//CompareManager.initialize();
    

