/**
* For the shop
*/
var Shop=Class.create();
var nobasket=false;
var paymenttypes={};
var multiselect=false;
Shop.prototype={
	initialize:function(){
		this.highlight=false;
		this.user=null;
		this.cargocost=0;
		this.paymentcost=0;
		this.totalcost=0;
	},
	byItem:function(itemid, evt){
		Event.stop(evt);
		this.highlight=true;
		var maindiv=Event.element(evt).up('form');
		var values={};			
		if(maindiv){
			if($('submit_return')){
				$('submit_return').value='smallbasket';
			}else if($('submit_return_'+maindiv.id)){
				$('submit_return_'+maindiv.id).value='smallbasket';
			}			
			if(checkForcedFields(evt)){
				var parms=Form.serialize(maindiv);
				new Ajax.Request('/admin/ajax/ajax_shop.php', {postBody:parms,onSuccess:this.showSmallBasket.bindAsEventListener(this), 'method':'post'});
			}
			return false;
		}
		if($('tobasketbutton')) {
			$('tobasketbutton').removeClassName('disabled');
		}
		return false;
	},
	showSmallBasket:function(t){
		//alert(t.responseText);
		var eb=false; /*Tom varukorg*/
		var c = t.getHeader('X-basketEmpty');
		if(c && c=='true') {eb=true;}
		if($('smallbaskethider')){
			if(eb){$('smallbaskethider').hide();}else{$('smallbaskethider').show();}
		}
		if($('tobasketbutton')) {
			$('tobasketbutton').removeClassName('disabled');
			if(eb) {
				$('tobasketbutton').addClassName('disabled');
			}
		}		
		if($('smallbasket_div')){
			$('smallbasket_div').update(t.responseText);
			if(shop.highlight){
				new Effect.Highlight($('smallbasket_table'),{ startcolor: '#ffff99',endcolor: '#fffffff' });
			}
			shop.highlight=false;
		}
	},
	getItemInfo:function(itemid){
		var parms='itemid='+itemid+'&info=iteminfo&itemtemplate=shop/inc_iteminfo.tpl';
		new Ajax.Request('/admin/ajax/ajax_shop.php', {postBody:parms,onSuccess:this.showItemInfo.bindAsEventListener(this), 'method':'post'});
		return false;
	},
	showItemInfo:function(t){
		return overlib(t.responseText, STICKY, CAPTION, lang('ITEMINFO'), CLOSECLICK, SCROLL, DRAGGABLE, FGCLASS,'iteminfo_ol', BGCLASS,'iteminfo_olbg', CAPTIONFONTCLASS,'iteminfo_caption', CLOSEFONTCLASS,'iteminfo_close');
	},
	ajaxSubmit:function(evt){
		Event.stop(evt);
		this.highlight=true;
		var maindiv=Event.element(evt);
		var values={};
		if(maindiv){
			if($('submit_return')){
				$('submit_return').value='smallbasket';
			}else if($('submit_return_'+maindiv.id)){
				$('submit_return_'+maindiv.id).value='smallbasket';
			}
			var parms=Form.serialize(maindiv);
			
			new Ajax.Request('/admin/ajax/ajax_shop.php', {postBody:parms,onSuccess:this.showSmallBasket.bindAsEventListener(this), 'method':'post'});
			return false;
		}
		return false;		
	},
	removeItem:function(rowid){
		var parms='rowid[]='+rowid+'&info=changequant&quant_'+rowid+'=0';
		new Ajax.Request('/admin/ajax/ajax_shop.php', {postBody:parms,onSuccess:this.showSmallBasket.bindAsEventListener(this), 'method':'post'});
	},
	updateBigBasket:function(){
		var parms=Form.serialize('bigbasket_form');
		new Ajax.Request('/admin/ajax/ajax_shop.php', {postBody:parms,onSuccess:this.showBasket.bindAsEventListener(this), 'method':'post'});
	},
	clearBigBasket:function(){
		var rows=$('bigbasket_form').getInputs('hidden', 'rowid[]');
		$A(rows).each(
			function(elm){
				$('quant_'+elm.value).value=0;
			}
		);
		var parms=Form.serialize('bigbasket_form');
		$('bigbasket_table').update('Sparar');
		/*Töm hela alltihop*/
		if($('bigbasket_form')){
			$('bigbasket_form').update('<table id="bigbasket_table"><tbody></tbody></table>');
		}
		new Ajax.Request('/admin/ajax/ajax_shop.php', {postBody:parms,onSuccess:shop.showBasket, 'method':'post'});		
	},
	changeItemBig:function(rowid){
		var quant=$('quant_'+rowid).value;
		var parms='rowid[]='+rowid+'&info=changequant&quant_'+rowid+'='+quant+'&return=basket&pageid='+pageId;
		new Ajax.Request('/admin/ajax/ajax_shop.php', {postBody:parms,onSuccess:shop.showBasket, 'method':'post'});		
	},
	showBasket:function(t){
		shop.totalcost=t.headerJSON.total;
		$('bigbasket_table').replace(t.responseText);
		shop.highlight=false;
		if($('bigbasket_table')){
			$('bigbasket_table').show();
		}
		shop.getSmallBasket();
	},
	confirmBigBasket:function(){
		
	},
	getSmallBasket:function(){
		if(nobasket){
			return false;
		}
		var parms='info=getsmallbasket';
		this.highlight=false;
		new Ajax.Request('/admin/ajax/ajax_shop.php', {postBody:parms,onSuccess:shop.showSmallBasket, 'method':'post'});
	},
	getHomeAddress:function(){
		if(this.user==null){
			var parms='doWCM=getUser';
			new Ajax.Request('/admin/ajax/ajax_user.php', {postBody:parms,onSuccess:this.setUserAndFill.bindAsEventListener(this), 'method':'post'});
		}else{
			this.fillAddressFields();
		}
	},
	setUserAndFill:function(t){
		this.user=t.responseText.evalJSON();
		this.fillAddressFields();
	},
	setForcedFields:function(){
		$('address1').addClassName('D_VALIDATE');
		$('address1').addClassName('D_NOTEMPTY');			
		$('zip').addClassName('D_VALIDATE');
		$('zip').addClassName('D_NOTEMPTY');
		$('city').addClassName('D_VALIDATE');
		$('city').addClassName('D_NOTEMPTY');			
		$('email').addClassName('D_VALIDATE');
		$('email').addClassName('D_NOTEMPTY');
		$$('input[name="payment"]').each(function(elm){elm.addClassName('D_VALIDATE');elm.addClassName('D_RADIO');});
	},
	fillAddressFields:function(){
		var ad=this.user.addresses.home;
		$('custname').value=this.user.displayname;
		if(ad){
			$('address1').value=ad.address1;
			$('address2').value=ad.address2;
			$('address3').value=ad.address3;
			$('zip').value=ad.zip;
			$('city').value=ad.city;
			$('phone1').value=ad.phone1;
			$('phone2').value=ad.phone2;
			if(ad.email==''){
				$('email').value=this.user.email;
			}else{
				$('email').value=ad.email;
			}
			if($('country')){
				$A($('country').options).each(function(elm){
					if(elm.value==ad.country){
						elm.selected=true;
					}else{
						elm.selected=false;
					}
				});
			}
		}
	},
	showAddressField:function(){
		if($('shop_address')){
			$('shop_login').hide();
			$('shop_address').show();
			this.fillAddressFields();
		}
	},
	gotoBasket:function(basketId, evt) {
		Event.stop(evt);
		var elm=Event.element(evt);
		if(elm.hasClassName('disabled')) {
			return false;
		}
		document.location.href='/'+basketId+'.php';
	},
	calculateCargoCost:function(){
		var oldcost=shop.cargocost;
		var pcheck=$$('#payment_options input[type=radio]:checked');
		var ptype=1;
		if(pcheck[0]){
			ptype=pcheck[0].value;
		}
		/*Gör om till ajax för att kunna få rätt formatering samt kostnad*/
		new Ajax.Request('/admin/ajax/ajax_shop.php', {'postBody':'info=bskctype&ptype='+ptype, onSuccess:shop.updateCargoCost});
		/*
		shop.paymentcost=parseFloat(paymenttypes[ptype].object.cost);
		if(shop.totalcost >= 1500){
			shop.cargocost=0;
			shop.paymentcost=0;
		}
		if($('basketpayment') !=null){
			$('basketpayment').update(new Number(shop.paymentcost).toFixed(2)+' kr');
		}
		
		if($('baskettotal') !=null){
			$('baskettotal').update((new Number(shop.totalcost+shop.cargocost+shop.paymentcost)).toFixed(2)+' kr');
		}
		*/
	},
	updateCargoCost:function(t){
		if($('basketcargo') !=null){
			$('basketcargo').update(t.headerJSON.cargocost);
		}
		if($('basketpayment') !=null){
			$('basketpayment').update(t.headerJSON.paycost);
		}
		if($('baskettotal') !=null){
			$('baskettotal').update(t.headerJSON.loctotal);
		}		
	},
	setPaymentType:function(){
		this.calculateCargoCost();		
	},
	showOrderPrint:function(orderid){
		if(!orderid){		
			var midx=getMaintIndex();
		}else{
			var midx=orderid;
		}
		var ts=new Date().getMilliseconds();
		var ordersrc='/mods/orderprint.php?orderid='+midx+'&ts='+ts;
		window.open(ordersrc);
		/*
		if($('special_iframe') == null){
			var iframe=new Element('iframe', {'class':'hiddenframe','id':'special_iframe'});
			Element.insert($(document.body), iframe);
		}else{
			var iframe=$('special_iframe');
		}
		iframe.setStyle({'width':'1px','height':'1px','padding':'0','margin':'0','border':'0','visibility':'hidden'});
		iframe.src=ordersrc;
		*/
		
	},
	checkOrderSubmit:function(){
		var type=2;
		if(!loggedon){
			alert(lang('MUSTLOGINCONT'));
			return false;
		}
		$('submit_basketaction').value='addorder';
		shop.setForcedFields();
		var cf=checkForcedFields($('bigbasket_form'));
		if(!cf){
			return false;
		}
		if(($('payment_1') && $('payment_1').checked) || ($('payment_2') && $('payment_2').checked)){
			checkAndSubmitForcedFields($('bigbasket_form'));
		}else if($('payment_3') && $('payment_3').checked){
			if(checkForcedFields($('bigbasket_form'))){
				var parms=Form.serialize('bigbasket_form')+'&popaction=PopUp';
				//$('basket_big').update('<iframe id="Payment" src="/mods/payment.php?'+parms+'" style="width:580px;height:700px;border:none;"></iframe>');
				window.name='ShopMainWindow';
				window.open('/mods/payment.php?'+parms,'Payment');
				$('basket_big').update(lang('PAYWAIT'));
			}
		}else{
			alertSysMsg('NOVALIDPAYT');
		}
		return false;
	},
	setPaymentError:function(){
	},
	changePaymentType:function(orderid, newtype){
		new Ajax.Request('/admin/ajax/ajax_shop.php', {postBody:'info=changepayment&orderid='+orderid+'&cargotype='+newtype,'method':'post',onSuccess:function(t){window.location.href=t.responseText;}});
	},
	checkShopSelection:function(elm){
		var doWCM='searchTag';
		if(multiselect){
			doWCM='selectTag';
		}
		new Ajax.Request('/admin/ajax/ajax_shop.php', {postBody:'doWCM='+doWCM+'&'+$(elm.form).serialize(),'method':'post',onSuccess:function(t){$('produkt-content').update(t.responseText);}});
//		alert(Form.serialize(elm.form));
	}
}
document.write('<script type="text/javascript" src="/admin/script/validation.js"> </script>');
var shop=new Shop();
Event.observe(window, 'load', shop.getSmallBasket.bindAsEventListener(shop));