/**
 * @(#)default1/view1_css.js
 *
 * Copyright 1999-2007(c) MijnWinkel B.V.
 *
 * $Revision: 3861 $
 *  
 * $Date: 2010-02-11 15:55:50 -0300 (jue, 11 feb 2010) $
 */

/* 
 * Product variations functions
 */
function getActiveRow(){return __activeRow}
function setActiveRow(i){__activeRow=i}
 
function FieldSelection(){
	var me=this,fld=[],fldsel=[];
	me.set=function(col,lst){fld[col]=lst};
	me.setActive=function(col,v){fldsel[col]=v};
	me.get=function(i){return fld[i]};
	me.active=function(i){return fldsel[i]};
}
function Selection(){
	var me=this,ins=[];
	me.has=function(oid,col){return self._fs&&_fs[oid]&&_fs[oid].get(--col)};
	me.get=function(oid,col,first){
		if(first==null)first=false;
		var sel=_fs[oid].get(--col);
		if(first)sel=sel[0];
		else if(sel.length<3&&sel[0].indexOf(';')!=-1){
			sel=sel[0].split(';');
			sel[sel.length]="";
			if(!ins[oid])ins[oid]=[];
			ins[oid][col]=true;
		}
		return sel
	};
	me.active=function(oid,col){return _fs[oid].active(--col)};
	me.enabled=function(oid){return self._fs&&_fs[oid]};
	me.isInlineSelection=function(oid,col){return(ins[oid]&&ins[oid][--col])?ins[oid][col]:false};
	me.reset=function(oid){ins[oid]=[]}; 
}
var selection=new Selection();

function parseDocument(doc,rel){
	function get(c){
		var v="";
		try{v=c.firstChild.nodeValue}
		catch(e){}
		return v
	}
	function getAttr(c,n){
		var v="";
		try{v=c.getAttribute(n)}
		catch(e){}
		return v
	}
	function getCols(r){return r.getElementsByTagName('col')}
	 
	var index=0,rows=doc.getElementsByTagName('row'),type,done=[];
	for(;index<rows.length;index++){
		row=rows[index];
		type=row.getAttribute("type")
	 	if(!done[type]&&type=="catalog"){
	 		done[type]=true;
			var cols=row.getElementsByTagName('col'),s="",v,item=[],l=cols.length,c;
			item[0]=row.getAttribute("number");
			for(var i=0;i<l;i++){
				v=cols[i].firstChild.nodeValue;
				if(v)item[i+1]=v;
				else item[i+1]="";
			}
			setCtlVal("_oid",_i(item[0]+1));
			_d[getActiveRow()]=item;
			__rowData=_d[getActiveRow()];

		}
		else if(!done[type]&&type=="catalog_replace"){
	 		done[type]=true;
			var cols=row.getElementsByTagName('col'),l=cols.length,n,c,i=0;
			for(;i<l;i++){
				c=cols[i];
				n=c.getAttribute("number");
				v=c.firstChild.nodeValue;
				if(v!=null&&v!='*'){
					if(n)setRaw(n,v);
					else{
						n=c.getAttribute("name");
						if(n&&n=="stock")_rel.setStock(v);
					}
				}
			}
		}
		else if(type=="catalog_selection"){
			if(this.selection)selection.reset();
			var cols=row.getElementsByTagName('col'),l=cols.length,col,i=0,opts,optsl,opti,opt,oid=_i(row.getAttribute("number"))+1;
			var info=new FieldSelection();
			_fs[oid]=info;
			for(;i<l;i++){
				col=cols[i];
				colNr=cols[i].getAttribute("number");
				opts=cols[i].getElementsByTagName('option');
				optsl=opts.length;
				var lst=[],sel="";
				for(opti=0;opti<optsl;opti++){
					opt=opts[opti];
					lst[opti]=opt.firstChild.nodeValue;
					if(sel==""&&opt.getAttribute("selected")){
						sel=opt.getAttribute("inline");
						if(sel=="")sel=lst[opti];
					}
				}
				lst[optsl]="";
				info.set(colNr,lst);
				info.setActive(colNr,sel);
			}
		}
		else if(!done[type]&&type=="catalog_localstock"){
	 		done[type]=true;
			var cols=row.getElementsByTagName('col'),l=cols.length,n,c,i=0;
			for(;i<l;i++){
				c=cols[i];
				v=_i(c.firstChild.nodeValue);
				if(v!=null&&v!='*')setRaw(getStockFld(),v);
			}
		}
	}
}
function response(doc){
	if(doc){
		parseDocument(doc,true);
		view.refreshProduct();
	}
}
function _selectProduct(ctl,i,oid,callback,count){
	if(!selection.isInlineSelection(oid,i)){
		var n=(count=="")?"":count+"_";
		for(var f=getData(),c;i<getNrOfFields();i++){
			c=f['_selection'+n+oid+'_'+i];
			if(c!=null)c.selectedIndex=-1;
		}
		setCtlVal("_oid",oid);
		new Remote().request(callback,"catalog_item_data","_oid",oid,"counter",count)
	}
}
function selectProduct(ctl,i,oid,row){
	setActiveRow(row);
	_selectProduct(ctl,i,oid,self.response,"")
}

function orderTriggered(extra,oid,count){
	var f=getData(),s=new SB(),ss=new SB(),sep1='',sep2='',v,l;
	if(f){
		if(!oid)oid=getOID();
		if(selection.enabled(oid)){
			if(count!=null&&count!="")count+="_";
			else count="";
			for(var index=0,c,i=1;i<getNrOfFields();i++){
				if(selection.isInlineSelection(oid,i)){
					c=f['_selection'+count+oid+'_'+(i-1)];
					if(c){
						if(c.selectedIndex!=-1)index=c.selectedIndex;
						v=trim(c.options[index].value);
						l=fieldLabel(i);
						s.append(sep1,l," ",v);
						ss.append(sep2,l,"%3d",v);
						sep1=',';
						sep2=';';
					}
				}
			}
			if(extra){
				extra['_xd']=s.toString();
				extra['_xds']=ss.toString();
			}
		}
		c=f["productcount"];
		if(c&&extra)extra['_xc']=c.value;
	}
}
/*
 * Product variations end
 */

var view={
	"getCellFunction":function(t,styleText){
		var s="";
		switch(t){
			case "info":s='<a href="javascript:info('+getOID()+');"'+styleText+' class="myshp_list_product_moreinfo_button">'+getLabel('info')+'</a>&nbsp;';
			break;
			case "quotation":s='<a href="javascript:order('+getOID()+');"'+styleText+' class="myshp_list_product_quotation_button">'+getLabel('quotation')+'</a>&nbsp;'
			break;
			case "quotationq":s='<a '+styleText+' href="javascript:placeOrder(null,'+getOID()+',\'quantity'+getOID()+'\');" class="myshp_list_product_quotation_button">'+m('quotation')+'</a>';
			break;
			case "quantity":s='<input style="width:32px" name="quantity'+getOID()+'" type="text" onclick="javascript:return false;" value="'+getInfoQuantity("quantity"+getOID())+'" maxlength="6" size="4" onkeypress="javascript:return keyPress(arguments[0],this,'+getOID()+');" onkeyup="javascript:return keyUp(this);" class="myshp_list_product_quantity_field"/>';
				if(self.getMetric)s+='<span style="height:100%;vertical-align:top;">&nbsp;'+getMetric()+'</span>';
			break;
			case "orderq":s='<a '+styleText+' href="javascript:placeOrder(null,'+getOID()+',\'quantity'+getOID()+'\');" class="myshp_list_product_order_button">'+m('order')+'</a>';
			break;
			case "order":s='<a href="javascript:order('+getOID()+');"'+styleText+' class="myshp_list_product_order_button">'+m('order')+'</a>&nbsp;';
			break;
		}
		return s
	},
	
	"getCellId":function(row,col){return (row+col)+'" '},
	
	"getCellData":function(s,i){
		var rd=fieldRaw(i);
		if(rd!=null&&rd!=''){
			if(isImage(i))s.append(getPicture(i));
			else if(selection.has(getOID(),i)){
				var list=selection.get(getOID(),i),n=0,len=list.length-1,active=selection.active(getOID(),i);
				if(len>1){
					if(selection.isInlineSelection(getOID(),i))s.append('<input type=hidden name="_selectionall',getOID(),'_',(i-1),'" value="',selection.get(getOID(),i,true),'">');
					s.append('<select onchange="selectProduct(this,',i,',\''+getOID()+'\',',getActiveRow(),');" name="_selection',getOID(),'_',(i-1),'">');
					for(;n<len;n++)s.append('<option value="',escape(list[n]),'" ',((list[n]==active)?' selected ':''),'>',escapeValue(list[n]),'</option>');
					s.append('</select>');
				}else s.append(list[0]);
				
			}else s.append(fieldPlain(i));
		}else s.append('&nbsp');
	},
	
	"refreshProduct":function(){
		var row='id'+getCID()+'.'+getActiveRow()+'.',i,c;
		var styleText=makeStyle("font-family",getFontName("Verdana,Arial"),"font-size",getFontSize(9)+"pt","vertical-align","top")
		function getId(col){
			return row+col 
		}
		function updateCell(n){
			var c=getElementOnId(getId(n));
			if(c)c.innerHTML=view.getCellFunction(n,styleText);
		}
		updateCell("info");
		updateCell("quotation");
		updateCell("quotationq");
		updateCell("orderq");
		updateCell("quantity");
		updateCell("order");
		for(i=1;i<getNrOfFields();i++){
			if(getColShow(i)){
				c=getElementOnId(getId(i));
				if(c!=null){
					s=new SB();
					view.getCellData(s,i)
					c.innerHTML=s.toString();
				}
			}
		}
	}
}
 
function getStockVal(count,oid){
	var v=-1,n=(oid==null)?__rowData[0]:(_i(oid)-1);
	if(self._stc&&_stc[n]!=null)v=_stc[n];
	if(v==-1)v=fieldRaw(getStockFld());
	v-=getBasketInfo().getProductQuantity(oid,getCID());
	return(v=="*")?-1:v;
}

function pageLoad() {
	if(hasLayout()) {
	 	var menuSideTopBar=document.getElementById('myshp_menu_side_topbar'),searchBlock=document.getElementById('myshp_info_search_block');
		if(menuSideTopBar&&searchBlock)searchBlock.style.height=menuSideTopBar.style.height;
	 }
}

function pageNavigatorStart(){
	var styleTitle=makeStyle("color",getFGTColor(),"font-family",getFontName("Verdana,Arial,Helvetica,sans-serif"),"font-size",getFontSize(9)+"pt");
	var s=new SB(), fgColor=getFGColor();
	s.append('<div id="myshp_list"'+((!hasISB())?' style="padding-top:12px;"':'')+'>');
	
	if(getPage()>0&&getNrOfItems()>4){
		s.append('<div id="myshp_list_navigation">',writeNavTopDiv(),'</div>');
	}
	s.append('<div class="clear"></div>');
	s.append('<div class="myshp_list_products"><table border="0" cellpadding="2" cellspacing="0" style="width:100%;'+(!hasLayout()?'_width:99%':'')+';"><tr class="myshp_list_top">');
	if(hasInfo()){
		s.append('<td class="myshp_list_product_label" nowrap bgcolor="'+fgColor+'">&nbsp;</td>');
	}
	if(hasQuotationLink()){
		s.append('<td class="myshp_list_product_label" nowrap bgcolor="'+fgColor+'">&nbsp;</td>');
		if(!hasOrderLink()){
			if(getQFType()==1)s.append('<td class="myshp_list_product_label" valign="top" nowrap bgcolor="'+fgColor+'"'+styleTitle+'>'+getQFLabel()+'&nbsp;</td>');
		}	
	}
	if(hasOrderLink()){
		s.append('<td class="myshp_list_product_label" nowrap bgcolor="'+fgColor+'">&nbsp;</td>');
		if(getQFType()==1)s.append('<td class="myshp_list_product_label" valign="top" nowrap bgcolor="'+fgColor+'"'+styleTitle+'>'+getQFLabel()+'&nbsp;</td>');
	}
	priceCol=getPrice();
	for(var i=1;i<getExcelCols();i++)if(getColShow(i)){
		s.append('<td class="myshp_list_product_label',(i==priceCol)?' myshp_list_product_label_price':'','" valign="top" '+getColFormat(i)+' nowrap bgcolor="'+fgColor+'"'+styleTitle+'>'+fieldLabel(i)+'&nbsp;</td>');
	}
	s.append('</tr>')
	return s.toString();
}

function rowStart(row,maxRows){return ''}

function buildBlock(columns){
	var row=' id="id'+getCID()+'.'+getActiveRow()+'.',s=new SB(), isRowEven,isProductRowEven,colCounter;
	var fontSize=getFontSize(9),styleText=makeStyle("font-family",getFontName("Verdana,Arial"),"font-size",fontSize+"pt","vertical-align","top");
	var getCellId=view.getCellId;
	
	isRowEven=(!(getActiveRow()%2))?true:false;
	s.append('<tr class="myshp_list_product',((isRowEven)?' myshp_list_row_even':' myshp_list_row_odd'),'">');
	if(hasInfo()){
		s.append('<td ',getCellId(row,"info"),' valign="top" class="myshp_list_product_row" nowrap>',view.getCellFunction("info",styleText),'</td>');
	}
	if(hasQuotationLink()){
		if(getQFType()==1){
			s.append('<td ',getCellId(row,"quotationq"),' valign="top" class="myshp_list_product_row" nowrap>',view.getCellFunction("quotationq",styleText),'</td>');
		}
		else{
			s.append('<td ',getCellId(row,"quotation"),' valign="top" class="myshp_list_product_row" nowrap>',view.getCellFunction("quotation",styleText),'</td>');
		}
		if(!hasOrderLink()){
			s.append('<td ',getCellId(row,"quantity"),' valign="top" class="myshp_list_product_row">',view.getCellFunction("quantity",styleText),'</td>');
		}
	}
	if(hasOrderLink()){
		if(checkStock()&&getStockVal(null,getOID())<1){
			if(getQFType()==1){
				s.append('<td ',getCellId(row,"orderq"),' valign="top" class="myshp_list_product_row" nowrap>&nbsp;</td>');
				s.append('<td ',getCellId(row,"quantity"),' valign="top" class="myshp_list_product_row">&nbsp;</td>');
			}
			else s.append('<td ',getCellId(row,"order"),' valign="top" class="myshp_list_product_row">&nbsp;</td>');
		}
		else{
			if(getQFType()==1){
				s.append('<td ',getCellId(row,"orderq"),' valign="top" class="myshp_list_product_row" nowrap>',view.getCellFunction("orderq",styleText),'</td>');
				s.append('<td ',getCellId(row,"quantity"),' valign="top" class="myshp_list_product_row myshp_list_product_quantity_label">',view.getCellFunction("quantity",styleText),'</td>');
			}
			else s.append('<td ',getCellId(row,"order"),' valign="top" class="myshp_list_product_row">',view.getCellFunction("order",styleText),'</td>');
		}
	}
	colCounter = 1;
	priceCol = getPrice();
	pictureCol=getPictureIndex(); 
	for(var rd,i=1;i<columns;i++){
		isProductRowEven=(!(colCounter%2))?true:false;
		if(getColShow(i)){
			colCounter ++;
			s.append('<td ',getCellId(row,i),' class="',((isProductRowEven)?'myshp_list_product_row_even':'myshp_list_product_row_odd'),((i==priceCol)?' myshp_list_product_price':''),((i==pictureCol)?' myshp_list_product_image':''),'" ',styleText,'>');
			view.getCellData(s,i);
			s.append('</td>');
		}
	}
	
	s.append('</tr>');
	return s.toString();
}

function rowEnd(row,maxRows){return ''}
function colSpawning(nrOfCols){return ''}

function pageNavigatorEnd(){
	var s=new SB(), bgColor=getBGColor();
	s.append('</table></div></div>')
	s.append('<div class="myshp_list_bottom"><table border="0" cellpadding="2" cellspacing="0" width="100%"><tr><td colspan="99" bgcolor='+bgColor+'>&nbsp;</td></tr>');
	if(hasResult()) s.append('<tr><td bgcolor="'+bgColor+'" class="border" colspan="100" align="center" style="padding:0 5px;">',writeNavBottomDiv(),'</td></tr>');
	else s.append('<tr><td align="center"><b>'+getLabel('noresult')+'</b></td></tr>');
	s.append('</table></div><br /><br />');
	return s.toString();
}
function writeNavTopDiv() {
	var s=new SB();
	s.append('<div class="myshp_list_navigation">');
	if((getShopState()!=2)&&(getShopState()!=6)&&getSponsorLevel()>3)s.append('<div style="float:left;text-align:left;width:200px;padding:0 0 0 3px;">powered by <a href="http://www.mijnwinkel.nl/?pow=sb'+getVID()+'" target="_blank">mijnWinkel</a></div>');
	s.append('<div style="text-align:right;padding-right:3px;">');
	if(hasPrev())s.append('<div class="myshp_list_navigation_button_prev"><a href="javascript:doPrev();">&#171;'+m('prev')+'</a>&#160;|&#160;</div>');
	if((hasPrev() && hasNext()))s.append(__n,((getPage()*getMaxItemsPerPage())+1),'-',((getPage()*getMaxItemsPerPage())+getNrOfItems()));
	if(hasNext())s.append('<div class="myshp_list_navigation_button_next">&#160;|&#160;<a href="javascript:doNext();">' + m('next') + '&#160;&#187;</a></div>');
	s.append('</div></div>');
	return s.toString();
}
function writeNavBottomDiv(){
	 var s=new SB(), blockWidth;
	 var productListPageWidth=getProductListPageWidth(),blockWidth=getBlockWidth();
	 var blockSpacing=(getColsPerPage()!=1)?((productListPageWidth-(blockWidth*(getColsPerPage())))/(getColsPerPage()+1)):'0';
	 var blockSpacingStr='margin-left:'+((getColsPerPage()!=1)?((productListPageWidth-(blockWidth*(getColsPerPage())))/(getColsPerPage()+1))+'px;':'auto');
	 var elm=document.getElementById("0");
	 var navMar='margin-left:'+((elm&&elm.style.marginLeft)?(elm.style.marginLeft):'0px').toString()+';';
	 s.append('<div class="myshp_list_navigation" style="',((getColsPerPage()>1)?navMar:'margin-left:auto;margin-right:auto;'),blockWidth,'" id="navBottom">');
	 s.append('<div style="text-align:center;float:left;clear:both;width:100%;margin-bottom:-12px;">');
	 if(!(hasPrev()&&hasNext()))s.append(m('results'),__n);
	 s.append(((getPage()*getMaxItemsPerPage())+1),'-',((getPage()*getMaxItemsPerPage())+getNrOfItems())); 
	 s.append('</div>'); 
	 s.append('<div style="float:left;text-align:left;width:auto;">');
	 if(getSponsorLevel()>3){
		  s.append('&#160;');
		  if(getLanguage()=="nl")s.append('<span>powered by </span><a href="http://www.mijnwinkel.nl/?pow=sb',getVID(),'" target="_blank">mijnwinkel.nl</a>');
		  else s.append('<span>powered by </span><a href="http://www.mijnwinkel.nl/?powen=sb',getVID(),'" target="_blank">mijnwinkel.nl</a>');
	 }
	 s.append('&#160;</div>')
	 s.append('<div style="text-align:right;float:right;">');
	 if(hasPrev())s.append('<a href="JavaScript:doPrev();">&#171;',m('prev'),'</a>&#160;&#160;');
	 if(hasNext())s.append('&#160;&#160;<a href="JavaScript:doNext();">',m('next'),'&#160;&#187;</a>');
	 s.append('&#160;</div></div>');
	 s.append('<div style="text-align:center;float:left;clear:right;">');
	 if(self.__statistic)s.append(__statistic.getCounter());
	 else{
		function pair(n,v){return "&"+n+"="+escape(v)}
		var st=getStatType(true),id=getStatValue(true);
		if(st=="nedstatpro")s.append('<img src="',id,'" border="0" width="1" height="1">');
		if((st=="onestatbasic")||(st=="onestatpremium")||(st=="onestatebusiness")){
			var osp_URL="",osp_Title="";
			if(st=="onestatbasic"){
				osp_URL="http://www.mijnwinkel.nl/shop"+getVID()+"/productlist"+getCID();
				osp_Title=osp_URL;
			}
			if((st=="onestatpremium")||(st=="onestatebusiness")){
				osp_URL="productlist"+getCID()+"("+getName().substring(0,18)+")";
				osp_Title=osp_URL;
			}
			var CONTENTSECTION="",CUSTOMDATA="",osp_ACTION="",osp_TRANSACTION="",osp_AMOUNT="",osp_PRODUCTCODE="",osp_PRODUCTGROUP="",osp_ADCAMPAIGN="";
			var t=new Date(),p="http"+(document.URL.indexOf('https:')==0?'s':'')+"://stat.onestat.com/stat.aspx?tagver=2&sid="+id;
			p+=pair("url",osp_URL);
			p+=pair("ti",osp_Title);
			p+=pair("section",CONTENTSECTION);
			p+=pair("custom",CUSTOMDATA);
			p+=pair("cma",osp_ACTION);
			p+=pair("cmt",osp_TRANSACTION);
			p+=pair("cmm",osp_AMOUNT);
			p+=pair("cmp",osp_PRODUCTCODE);
			p+=pair("cmg",osp_PRODUCTGROUP);
			p+=pair("cmad",osp_ADCAMPAIGN);
			p+=pair("rf",window.document.referrer);
			p+=pair("tz",t.getTimezoneOffset());
			p+=pair("ch=",t.getHours());
			p+=pair("js","1");
			p+=pair("ul",(navigator.appName=="Netscape")?navigator.language:navigator.userLanguage);
			if(typeof(screen)=="object"){
			   p+="&sr="+screen.width+"x"+screen.height;p+="&cd="+screen.colorDepth;
			   p+="&jo="+(navigator.javaEnabled()?"Yes":"No");
			}
			if(st=="onestatbasic")s.append('<a href="http://www.onestat.com/aspx/login.aspx?sid=',id,'" target=_blank><img id="ONESTAT_TAG" border="0" SRC="',p,'" alt="This site tracked by OneStat.com. Get your own free website counter."></A>');
			if((st=="onestatpremium")||(st=="onestatebusiness"))s.append('<img id="ONESTAT_TAG" border="0" width="1" height="1" src="',p,'" />');
	}
	 }
	 s.append('<div class="clear"></div></div><div class="clear"></div>');
	 return s.toString()
}