var ShapeJSON = 
		 [
			{ key:'emerald',
			  array: 	[ 
					{ shape:'7',text:'Emerald',passcode:'3::shape::perEmeraldper' },
					{ shape:'12',text:'Cushion',passcode:'3::shape::perCushionper' },
					{ shape:'13',text:'Round',passcode:'3::shape::perRoundper' },
					{ shape:'11',text:'Oval',passcode:'3::shape::perovalper' },    
					{ shape:'9',text:'Pear',passcode:'3::shape::perpearper' },
					{ shape:'15',text:'Heart',passcode:'3::shape::perheartper' },
					{ shape:'10',text:'Marquise',passcode:'3::shape::permarquiseper' }
					 
					  
					  ] 
			},
			{ key:'ruby',
			  array: 	[ 
					{ shape:'11',text:'Oval',passcode:'3::shape::perovalper' },    
					{ shape:'7',text:'Emerald',passcode:'3::shape::perEmeraldper' },
					{ shape:'13',text:'Round',passcode:'3::shape::perRoundper' },
					{ shape:'9',text:'Pear',passcode:'3::shape::perpearper' },
					{ shape:'10',text:'Marquise',passcode:'3::shape::permarquiseper' },
					{ shape:'15',text:'Heart',passcode:'3::shape::perheartper' }
					 
					  
					  ] 
			},
			{ key:'sapphire',
			  array: 	[ 
					 { shape:'7',text:'Emerald',passcode:'3::shape::perEmeraldper' },
					{ shape:'12',text:'Cushion',passcode:'3::shape::perCushionper' },
					{ shape:'6',text:'Radiant',passcode:'3::shape::perradiantper' },
						  
					{ shape:'11',text:'Oval',passcode:'3::shape::perovalper' },    
					{ shape:'9',text:'Pear',passcode:'3::shape::perpearper' },
					
					{ shape:'15',text:'Heart',passcode:'3::shape::perheartper' },
					{ shape:'13',text:'Round',passcode:'3::shape::perRoundper' },
					{ shape:'10',text:'Marquise',passcode:'3::shape::permarquiseper' }
					 
					  
					  ] 
			},
			{ key:'psapphire',
			  array: 	[ 
					{ shape:'7',text:'Emerald',passcode:'3::shape::perEmeraldper' },
					{ shape:'12',text:'Cushion',passcode:'3::shape::perCushionper' },
					{ shape:'13',text:'Round',passcode:'3::shape::perRoundper' },
					{ shape:'11',text:'Oval',passcode:'3::shape::perovalper' },    
					{ shape:'9',text:'Pear',passcode:'3::shape::perpearper' },
					{ shape:'15',text:'Heart',passcode:'3::shape::perheartper' },
					{ shape:'10',text:'Marquise',passcode:'3::shape::permarquiseper' }
					 
					  
					  ] 
			},
			{ key:'ysapphire',
			  array: 	[ 
					 { shape:'7',text:'Emerald',passcode:'3::shape::perEmeraldper' },
{ shape:'12',text:'Cushion',passcode:'3::shape::perCushionper' },
     
{ shape:'11',text:'Oval',passcode:'3::shape::perovalper' },
{ shape:'6',text:'Radiant',passcode:'3::shape::perradiantper' },
{ shape:'9',text:'Pear',passcode:'3::shape::perpearper' },
{ shape:'15',text:'Heart',passcode:'3::shape::perheartper' },
{ shape:'13',text:'Round',passcode:'3::shape::perRoundper' },
{ shape:'10',text:'Marquise',passcode:'3::shape::permarquiseper' }
					 
					  
					  ] 
			},
			{ key:'diamond',
			  array: 	[ 
					{ shape:'13',text:'Round',passcode:'3::shape::perRoundper' },
        { shape:'5',text:'Princess',passcode:'3::shape::perprincessper' },
        { shape:'7',text:'Emerald',passcode:'3::shape::perEmeraldper' },
        { shape:'11',text:'Oval',passcode:'3::shape::perovalper' },
        { shape:'6',text:'Radiant',passcode:'3::shape::perradiantper' },
        { shape:'9',text:'Pear',passcode:'3::shape::perpearper' },
        { shape:'15',text:'Heart',passcode:'3::shape::perheartper' },
       
        { shape:'8',text:'Asscher',passcode:'3::shape::perasscherper' }
					 
					  
					  ] 
			},
			{ key:'fancy',
			  array: 	[ 
		{ color:'blue',text:'Blue',passcode:'c::csqlwhere::fancyblue' },
        { color:'pink',text:'Pink',passcode:'c::csqlwhere::fancypink' },
        { color:'green',text:'Green',passcode:'c::csqlwhere::fancygreen' },
        { color:'orange',text:'Orange',passcode:'c::csqlwhere::fancyorange' },
        { color:'yellow',text:'Yellow',passcode:'c::csqlwhere::fancyyellow' },
        { color:'gray',text:'Gray',passcode:'c::csqlwhere::fancygray' },
        { color:'champange',text:'Champange',passcode:'c::csqlwhere::fancychampange' },
		 { color:'cognac',text:'Cognac',passcode:'c::csqlwhere::fancycognac' }
					 
					  
					  ] 
			}
			
		]

// JavaScript Document
var wordpart_word = new Array()
var searchWorking=false
var filterChangeFlag = null
var startFlag = null

var otherArea = new Array()

	var tipsView1 = new TipOptions()
		
		tipsView1.src='/pic/newstruct/design/extra/tips/tip5.gif'
		tipsView1.tipX=0
		tipsView1.tipY=29
		tipsView1.width=164+'px'
		tipsView1.height=103+'px'
		tipsView1.paddingLeft=15
		tipsView1.paddingTop=10
		tipsView1.paddingRight=7
		tipsView1.offsetX=30
		tipsView1.offsetY=0
		tipsView1.posflag=0
		tipsView1.killed=false
		
	var tipsView2 = new TipOptions()
	
		
		tipsView2.src='/pic/newstruct/design/extra/tips/tip5.gif'
		tipsView2.tipX=0
		tipsView2.tipY=29
		tipsView2.width=164
		tipsView2.height=103
		tipsView2.paddingLeft=15
		tipsView2.paddingTop=10
		tipsView2.paddingRight=7
		tipsView2.offsetX=30
		tipsView2.offsetY=0
		tipsView2.posflag=0
		tipsView2.killed=false
		

var comboWordsRegistery = { combos : [ {
							  	hookid:'comboGenra'
							  }
							  
							  ]
							
							}

var PagingMill = { 
					page:1,
					pagesize:20,
					pagetotal:1
				  }


function loadtest() {
//AddWordPart('Master Category','Gemstones','genra|gemstones')
//CompileWordPartQS()
//BindDoubleRTForDrop('search_number_dropline','search_number')
//BindInput2ButtonEnter('search_number_f1','search_number_go')
//BindInput2ButtonEnter('search_text_fl','search_text_go')
searchWorking=false

//floatInfoTree('http://192.168.1.60/ajax/millsajax.aspx?id=1261&req=1')
//BindDiv2Obj2()

RedCombo(optSort,rcGemSortItems)
RedCombo(optOrder,rcOrderItems)
RedCombo(optGenra,rcGenraItems)

InitSearch(startFlag)

/*RegisterTipClickKiller()

areaAtom = new posXYWH()
areaAtom.LoadbyID('wordpart_base')
areaAtom.w=500
areaAtom.h=30
otherArea.push(areaAtom)
posAtom = new posXYWH()
posAtom.x = areaAtom.x
posAtom.x += AJS.$('wordpart_base').offsetWidth == 0 ? 100 : AJS.$('wordpart_base').offsetWidth/2
posAtom.y = 60

areaAtom2 = new posXYWH()
areaAtom2.LoadbyID('comboGenra')
areaAtom2.w+=100
areaAtom2.h+=20
areaAtom2.x-=80
areaAtom2.y-=20
otherArea.push(areaAtom2)
posAtom2 = new posXYWH()
posAtom2.x = areaAtom2.x+10
posAtom2.y = areaAtom2.y-90*/







//RegisterTipArea(areaAtom,otherArea,posAtom,'You can delete/add search terms to refine your search with filters below just select a word',tipsView1)

//RegisterTipArea(areaAtom2,otherArea,posAtom2,'You can search in diamonds,gemstones and jewelry. <br>select above',tipsView2)




//Function(rcSortItems.items[0].jsfunc)()
//function alert1(msg)
//ak
//IsMatchWordPartTextArray()

//FilterExtraInit('stonetype')




//AddCheckBox2Link('test')
}


function LoadShape() {
	
	tds = AJS.$bytc('table',null,AJS.$('ShapeArray'))
	
	var imgallcut
	
	imgallcut = AJS.$bytc('IMG',null,AJS.$('ShapeArrayAllCut'))[0]
	
	
	AJS.AEV(imgallcut,'mouseover',AJS.bind(function() {
											  
											
											  if (this.img.getAttribute('status') == '1' ) {  
													  
													  this.img.style.filter = 'alpha(opacity=100)'
													//  this.img.src=this.imgsrc.replace('.jpg','_on.jpg')
												//	alert(AJS.getParentBytc(this.img,'TABLE',null))
													AJS.setStyle(this.img,'border','3px solid #8f9193')
													
													if (AJS.isMozilla()) {  AJS.setStyle( this.img,'opacity','1') }	
													
													} 
											  
											  } ,{ img:imgallcut } ) )
	
	AJS.AEV(imgallcut,'mouseout',AJS.bind(function() {
											  
											
											  if (this.img.getAttribute('status') == '1' ) {  
													  
													  this.img.style.filter = 'alpha(opacity=70)'
													//  this.img.src=this.imgsrc.replace('.jpg','_on.jpg')
												//	alert(AJS.getParentBytc(this.img,'TABLE',null))
												AJS.setStyle(this.img,'border','3px solid white')

													
													if (AJS.isMozilla()) {  AJS.setStyle( this.img,'opacity','0.7') }	
													
													} 
											  
											  } ,{ img:imgallcut } ) )
			
			
	
	for (var i=0;i<tds.length;i++) {
			//if (tds[i].getAttribute('status') == '1' ) {
				//AJS.setStyle(tds[i],'border','3px solid white')
				
				AJS.AEV(tds[i],'mouseover',AJS.bind(function() {
												   
												 
													if (this.td.getAttribute('status') == '1' ) {  
													  
													  this.img.style.filter = 'alpha(opacity=100)'
													//  this.img.src=this.imgsrc.replace('.jpg','_on.jpg')
												//	alert(AJS.getParentBytc(this.img,'TABLE',null))
													AJS.setStyle(this.img.parentNode.parentNode.parentNode.parentNode,'border','3px solid #8f9193')
													
													if (AJS.isMozilla()) {  AJS.setStyle( this.img,'opacity','1') }	
													
													} 
												   
												  // AJS.setStyle(this.img.parentNode.parentNode.parentNode ,'backgroundColor','#e7ebf0')
												   
												   
												   },{img:AJS.$bytc('IMG',null,tds[i])[0],imgsrc:AJS.$bytc('IMG',null,tds[i])[0].src,td:tds[i]} ) )
				
				AJS.AEV(tds[i],'mouseout',AJS.bind(function() {
												   
												 
													  if (this.td.getAttribute('status') == '1' ) {  
													  
													  this.img.style.filter = 'alpha(opacity=70)'
													 //  this.img.src=this.imgsrc
													if (AJS.isMozilla()) {  AJS.setStyle( this.img,'opacity','0.7') }	
												  // AJS.setStyle(this.img.parentNode.parentNode.parentNode ,'backgroundColor','white')
												  AJS.setStyle(this.img.parentNode.parentNode.parentNode.parentNode,'border','3px solid white')
												  
													  }
													  
													  
													  
												   },{img:AJS.$bytc('IMG',null,tds[i])[0],imgsrc:AJS.$bytc('IMG',null,tds[i])[0].src,td:tds[i] } ) )
		
		
		
		
	}
	
	
	
	
}

function LinkClick(cat,display,passcode) {
	
	if (!searchWorking) { 
		AddWordPart(cat,display,passcode)
		InitSearch(startFlag)
		
	}
}
function ShapeClickAll(obj) {

	if (!searchWorking) { 
	
	tds = AJS.$bytc('table',null,AJS.$('ShapeArray'))
	AJS.map(tds,function(n,i) { 
						 
						 n.setAttribute('status','1')
						 AJS.setStyle(n,'border','3px solid white')
						
						  AJS.$bytc('IMG',null,n)[0].style.filter = 'alpha(opacity=70)'
													 //  this.img.src=this.imgsrc
													if (AJS.isMozilla()) {  AJS.setStyle( AJS.$bytc('IMG',null,n)[0],'opacity','0.7') }	
						 
						 
						 } ) 
	
	
	//alert(obj.src)
	
	 AJS.setStyle(obj,'border','3px solid #8f9193')
	 
	 obj.setAttribute('status','2')
	
	RemoveWordPart('Cut')
	///InitSearch(startFlag)
	 
	}
}
function ColorClickAll(obj) {
	
	if (!searchWorking) { 
	
	tds = AJS.$bytc('table',null,AJS.$('ShapeArray'))
	AJS.map(tds,function(n,i) { 
						 
						 n.setAttribute('status','1')
						 AJS.setStyle(n,'border','3px solid white')
						
						  AJS.$bytc('IMG',null,n)[0].style.filter = 'alpha(opacity=70)'
													 //  this.img.src=this.imgsrc
													if (AJS.isMozilla()) {  AJS.setStyle( AJS.$bytc('IMG',null,n)[0],'opacity','0.7') }	
						 
						 
						 } ) 
	
	
	//alert(obj.src)
	
	 AJS.setStyle(obj,'border','3px solid #8f9193')
	 
	 obj.setAttribute('status','2')
	
	RemoveWordPart('Color')
	///InitSearch(startFlag)
	 
	}
}
function ShapeClick(obj,shapeindex,stoneid) {
	
	
	if (!searchWorking) { 
	
	tds = AJS.$bytc('table',null,AJS.$('ShapeArray'))
	AJS.map(tds,function(n,i) { 
						 
						 n.setAttribute('status','1')
						 AJS.setStyle(n,'border','3px solid white')
						
						  AJS.$bytc('IMG',null,n)[0].style.filter = 'alpha(opacity=70)'
													 //  this.img.src=this.imgsrc
													if (AJS.isMozilla()) {  AJS.setStyle( AJS.$bytc('IMG',null,n)[0],'opacity','0.7') }	
						 
						 
						 } ) 
	
	
	
		imgallcut = AJS.$bytc('IMG',null,AJS.$('ShapeArrayAllCut'))[0]
		imgallcut.setAttribute('status','1')
		AJS.setStyle(imgallcut,'border','3px solid white')
	
		AJS.setStyle(obj,'border','3px solid #8f9193')
						
		AJS.$bytc('IMG',null,obj)[0].style.filter = 'alpha(opacity=100)'
		if (AJS.isMozilla()) {  AJS.setStyle( AJS.$bytc('IMG',null,obj)[0],'opacity','1') }	
						  
						  
		obj.setAttribute('status','2')
	
		if (stoneid==8 ) { 

		LinkClick('Color',ShapeJSON[stoneid-2].array[shapeindex].text,'fancycolor|'+ShapeJSON[stoneid-2].array[shapeindex].passcode)

}
		else {
		LinkClick('Cut',ShapeJSON[stoneid-2].array[shapeindex].text,'stoneshape|'+ShapeJSON[stoneid-2].array[shapeindex].passcode)
		}
	//LoadShape()
	}
}
function AddCustomWord(cat,obj) {
	
	if (!searchWorking) { 
	
	inputs = AJS.$bytc('INPUT',null,obj.parentNode)
	
	var hidden = new Array()
	var controls = new Array() 
	
	AJS.map(inputs,function(n,i) {
								if (n.type=='hidden' ) { hidden.push(n) }
								if (n.type=='text') { controls.push(n) }
								
							})
	
	
	var patternOut = hidden[0].value
	var patternWordText = hidden[1].value
	
	for( var i = 0;i<controls.length;i++) {
		patternOut=patternOut.replace('x'+i+'x',controls[i].value)
		patternWordText=patternWordText.replace('x'+i+'x',controls[i].value)
		
	}
	
	AddWordPart(cat,patternWordText,patternOut)
	InitSearch(startFlag)
	
	}
}


function StoneClickFromLink(cat,display,passcode,obj,stoneindex) {
	if (!searchWorking) { 
	tds = AJS.$bytc('table',null,AJS.$('StoneSelect'))
	StoneClick(cat,display,passcode,tds[stoneindex],stoneindex)
	}
}


function StoneClick(cat,display,passcode,obj,stoneindex) {
		
	if (!searchWorking) { 

	tds = AJS.$bytc('table',null,AJS.$('StoneSelect'))
	AJS.map(tds,function(n,i) { 
						 n.setAttribute('status','1')
						 StoneMouseOut(n)
						 })
	
	StoneMouseOver(obj)
	obj.setAttribute('status','2')
	
	//event.cancelBubble=true
	
	//alert(stoneindex)
	//RemoveWordPart('Stone Type')
	if (stoneindex == 1) {
		stoneindex=2
		RemoveWordPart('Stone_Type')
		//InitSearch(startFlag)
	} else { 

	AddWordPart(cat,display,'stonetype|'+passcode)
	//InitSearch(startFlag)
	ShapeClick(AJS.$bytc('table',null,AJS.$('ShapeArray'))[0],0,stoneindex)
	}
	//change shapes
	
	tables = AJS.$bytc('TABLE',null,AJS.$('ShapeArray'))
	
	AJS.map(ShapeJSON[stoneindex-2].array,function(n,i) { 
										
										AJS.$bytc('IMG',null,tables[i])[0].src='/pic/v3/viewer/shapes/'+ShapeJSON[stoneindex-2].key+'/'+n.shape+'.jpg'
										
										tables[i].onclick = function() {
									ShapeClick(this,i,stoneindex)
								}
										
										
										
										
										})
	
	AJS.map(tables,function(n,i) {
							
							
							if (i >= ShapeJSON[stoneindex-2].array.length ) {
								AJS.$bytc('IMG',null,n)[0].src='/pic/v3/viewer/shapes/white.jpg'
								//AJS.hideElement(n)
							} else {
								AJS.showElement(n)
								
							}
							
							} )
	
	
	
	
	
	
	

	
	}
}
function StoneMouseOver(obj) {
	
	//if (!searchWorking) { 
	if (obj.getAttribute('status') == '1' ) { 
	
		AJS.setStyle(obj,'border','2px solid #a4a6aa')
		AJS.setStyle(obj,'backgroundImage','url(/pic/v3/tabs/refine/bg.jpg)')
		var img = 	obj.getAttribute('img')
		AJS.$bytc('IMG',null,obj)[0].src = img.replace('.jpg','_on.jpg')	
	
		}
	//}
}
function StoneMouseOut(obj) {
	//if (!searchWorking) { 
		if (obj.getAttribute('status') == '1' ) { 
	
		var img = 	obj.getAttribute('img')
		AJS.$bytc('IMG',null,obj)[0].src = img
		
		AJS.setStyle(obj,'border','2px solid #e7ebf0')
		AJS.setStyle(obj,'backgroundImage','')
		}
	//}
}
function AddWordPart(cat,display,passcode,flags,killwords) {
	
	
	//if (!searchWorking) { return 0 } 
	
	
	//code for the words table
	if (typeof(flags) == 'undefined' || flags == null ) { flags='none' }
	/*
	if (AJS.$('wordpart_'+cat)) {	
	
	if (flags.indexOf('replace') > -1 ) {
		AJS.$('wordpart_'+cat).removeNode(true)	
	} 
	
	else {
		
		var table1 = AJS.$('wordpart_'+cat)
		AJS.$('wordpart_title_'+cat).innerHTML+=', '+display
		table1.style.width=null
		var tmpNextSib = table1.nextSibling
		AJS.$('wordpart_drop').appendChild(table1)
		table1.style.width=table1.offsetWidth
		AJS.$('wordpart_base').insertBefore(table1,tmpNextSib)
		var added_passcode = passcode.split('::')
		table1.getElementsByTagName('INPUT')[0].value+='~~' + added_passcode[2]
		
		
		
		
		return 0
		
	 }
	 
	}*/
	

	
	if (typeof(killwords) == 'object' ||  typeof(killwords) == 'array'  ) {
		
		for (var i in killwords) {
			
			RemoveWordPart(killwords[i])
		}
		
	}
	
	
	var table1 = document.createElement('TABLE');
	table1.cellSpacing=0
	table1.cellPadding=0
	table1.style.height=20
	table1.className='vv_wordpart_container'
	table1.id='wordpart_'+cat.replace(/\s/ig,'_')
	//table1.style.styleFloat='left'
//	table1.style.display='none'
	
	/*table1.onresize  = function() {
		

    	if (CalcWordPartTotalWidth() > 620 ) {
		var br = document.createElement('BR')
		var wordparts = AJS.$('wordpart_base').getElementsByTagName('TABLE')
		
		AJS.$('wordpart_base').insertBefore(br,wordparts[wordparts.length-1])
		}
	//alert(event.srcElement.offsetWidth)	
	}
*/
	var tbody1 = document.createElement('TBODY');
	
	
	var row1 = document.createElement('TR');
	row1.style.backgroundImage='url(/pic/newstruct/viewer/wordparts/wordbg.jpg)'
	row1.style.backgroundRepeat='repeat-x'
	tbody1.appendChild(row1);
	
	wp = document.createElement('TD');
	wp.vAlign='middle'
	//wp.style.width=(cat.length+display.length)*9
	
	var cat_span = document.createElement('SPAN');
	cat_span.className='vv_wordpart_cat'
	cat_span.innerHTML=cat+': '
	
	
	
	
	wp.appendChild(cat_span);
	
	var cat_word = document.createElement('SPAN');
	wp.appendChild(cat_word);
	cat_word.className='vv_wordpart_itself'
	cat_word.innerHTML=display
	cat_word.id='wordpart_title_'+cat.replace(/\s/ig,'_')
	
	
	
	
	/*if ( flags.indexOf('noextra') == -1 ) {
		cat_word.onclick=function() {
			var hookid = 'wordpart_title_'+cat
			
			var pos =  getAnchorPosition(hookid)
			pos.y+=17
			

			FilterExtraInit(passcode.split('|')[0],cat,pos,2)
			
			
			
		}
	} else {*/
		AJS.setStyle(cat_word,'cursor','default')
		
	//}
	
	
	/*
	if ( flags.indexOf('noextra') == -1 ) {
		
	var more_img =  document.createElement('IMG');
	more_img.src='/pic/newstruct/viewer/wordparts/word-more.jpg'
	more_img.align='absmiddle'
	more_img.style.marginLeft=4
	more_img.style.cursor='pointer'
	more_img.onclick = function() {
		cat_word.onclick()
		//AJS.$('wordpart_base').removeChild(table1)
		
									}
	
	wp.appendChild(more_img);
	
	}
	
	if (cat == 'group') { AJS.hideElement(cat_span); AJS.setStyle(cat_word,'paddingLeft','5');  }  
	
	var del_img =  document.createElement('IMG');
	del_img.src='/pic/newstruct/viewer/wordparts/word-delete.jpg'
	del_img.align='absmiddle'
	del_img.style.marginLeft=4
	del_img.style.cursor='pointer'
	del_img.onclick = function() {
		RemoveWordPart(cat,display)
		//AJS.$('wordpart_base').removeChild(table1)
		
									}
	
	wp.appendChild(del_img);*/
	
	
	
	var codepass_input = document.createElement('INPUT');
	codepass_input.type='hidden'
	codepass_input.value=passcode

	wp.appendChild(codepass_input);
	row1.appendChild(wp)

	/*var counter = -1
	var tables = AJS.$('wordpart_base').getElementsByTagName('TABLE')
	for (var m=0;m<tables.length;m++) {
		if ( tables[m].id.indexOf('table_spacer_') > -1 ) {
		counter++
		}
	}
	
	if (counter > -1 ) {
		AJS.$('table_spacer_'+counter).appendChild(table1)	
	} else {*/
	table1.appendChild(tbody1)
				if ( AJS.$('wordpart_'+cat.replace(/\s/ig,'_') ) ) {	
				var nextSib = AJS.$('wordpart_'+cat.replace(/\s/ig,'_')).nextSibling
				if (nextSib) {
					AJS.removeElement(AJS.$('wordpart_'+cat.replace(/\s/ig,'_')))
					AJS.$('wordpart_drop').appendChild(table1)
					table1.style.width=table1.offsetWidth
					AJS.$('wordpart_base').insertBefore(table1,nextSib)
					
				} else {
					AJS.removeElement(AJS.$('wordpart_'+cat))
					AJS.$('wordpart_drop').appendChild(table1)
					table1.style.width=table1.offsetWidth
					AJS.ACN(AJS.$('wordpart_base'),table1)
				}
		
		} else {
			
					AJS.$('wordpart_drop').appendChild(table1)
					table1.style.width=table1.offsetWidth
					AJS.$('wordpart_base').appendChild(table1)
		
			}
			
			
		
		
//		alert(table1.offsetWidth)
		
	//}
	
	
	
	
}
function AddSpecialWordPart(flag,passcode) {
	
	if ( flag == 'itemnumber' ) {		
		ClearWordParts()
		if (typeof(passcode) == 'undefined') {
			var itemnumber  = AJS.$('search_number_f1').value
		} else {
				var itemnumber = passcode
		}
		//RemoveWordPart('Item Number')
		AddWordPart('Item Number',itemnumber,'itemnumber|'+itemnumber,'noextra')
		
	}
	if (flag == 'search' ) {
			//ClearWordParts()
		if (typeof(passcode) == 'undefined') {
	//		var search_txt  = AJS.$('search_text_fl').value
		} else {
			var search_txt = passcode
///			AJS.$('search_text_fl').value= passcode
		}
	//	window.location = '/viewer/xmyview.aspx?search='+AJS.$('search_text_fl').value
		AddWordPart('Search',search_txt,'search|'+search_txt,'noextra')
		
	}
	
	if (typeof(passcode) == 'undefined') {
		InitSearch(1)
	}
}
function RemoveWordPart(cat,display,passcode) {
	
	
	
	
	var wordpart = AJS.$('wordpart_'+cat)
	var wordpart_title_obj = AJS.$('wordpart_title_'+cat)
	if (!wordpart) { return 0 } 
	var wordpart_title = wordpart_title_obj.innerHTML
	
	if (typeof(display) == 'undefined') { FadeWord(wordpart); return 0}
	
	if (display.length == wordpart_title.length ) //there is only 1 word so the whole thing is removed
	{ 
		FadeWord(wordpart)
		
	} 
	else //this is a part of the words 
	{
		var wordpart_title_array = wordpart_title.split(", ")
		var new_wordpart_title_array = new Array()
		for ( var i = 0 in wordpart_title_array ) {
			
			if (display!=wordpart_title_array[i]) {
			//alert('dfgfg')	
			new_wordpart_title_array.push(wordpart_title_array[i])
			}
			
		}
		//alert(passcode)
		wordpart_title_obj.innerHTML=new_wordpart_title_array.join(", ")
		passcode_obj = wordpart.getElementsByTagName('INPUT')[0]
		var tmp_val = passcode_obj.value
		var vals_array = tmp_val.split('::')[2].split('~~')
		var new_val_array = new Array()
		
		for ( var j = 0 in vals_array ) {
			
			if (passcode.split('::')[2] !=vals_array[j]) {
			//alert('dfgfg')	
			new_val_array.push(vals_array[j])
			}
			
		}
		var tmp_val_array = tmp_val.split('::')
		tmp_val_array[2] =  new_val_array.join('~~')
		
		passcode_obj.value =  tmp_val_array.join('::')
		
		wordpart.style.width=null
		AJS.$('wordpart_drop').appendChild(wordpart)
		wordpart.style.width=wordpart.offsetWidth
		AJS.$('wordpart_base').appendChild(wordpart)
		
	}
	
	
	function FadeWord(wordpart) {
		RemoveExtraFilter(cat,2);
		var counter = 4
		var int1 = setInterval(function() {
							 if (counter == 0) { clearInterval(int1) ;AJS.removeElement(wordpart);InitSearch(1);return 0 } 
							 wordpart.style.filter = 'filter: alpha(opacity='+20*counter+')'
							 counter--
							 },30)
		
	}
	
	
	
		
	
}
function ClearWordParts() {
	
	var wordparts = AJS.$('wordpart_base').getElementsByTagName('TABLE')
	
	for (var i=0;0<wordparts.length;i++) {
		AJS.removeElement(wordparts[0])
	}
	
}
function WordPartExists(cat) {
	if (AJS.$('wordpart_'+cat)) {  return true } else {  return false }
}

function IsMatchWordPartTextArray(text,word) {
	var pattern = '(^|,\\s)'+word+'($|,\\s)'

	if (text.match(pattern)) {
		 return true	
	} else {
 		return false	
	}


//	return text.split(', ')
}

function RenderCatalogSort() {
	
	
	
}

function AddDeleteWordHelp() {
	
	if (AJS.$('wordpart_infodelete')) { AJS.removeElement(AJS.$('wordpart_infodelete')) } 
		var wordparts = AJS.$('wordpart_base').getElementsByTagName('TABLE')
	
	var last = wordparts[wordparts.length-1]
	if (last) {
	var pos = new posXYWH()
		pos.LoadbyID(last)
		if (pos.x+pos.w+25 > 720) { return 0 } 
		
		var img = AJS.IMG()
		img.style.position='absolute'
		img.src='/pic/newstruct/viewer/wordparts/info2.jpg'
		pos.x = pos.x+pos.w+25
		img.id = 'wordpart_infodelete'
		PosMill.InforcePos(img,pos)
		AJS.ACN(AJS.getBody(),img)
		
		AJS.AEV(img,'click',function() { 
									 
							var wordparts = AJS.$('wordpart_base').getElementsByTagName('TABLE')
	
					
						AJS.removeElement(wordparts[wordparts.length-1])
						InitSearch()
								// AddDeleteWordHelp()
									 
									 } ) 
		
		img.style.cursor='pointer'
		
		
				 
	}
}
function RenderFilterColl(xmlroot) {
	
	return 0
	
	AJS.$('refine_tables_container').innerHTML=''
	
	/*if (idexViewer) {
		AJS.setStyle(AJS.$('refine_tables_container'),'paddingLeft','50px')
		
		AJS.hideElement(AJS.$('filter_side'))
		//AJS.$('filter_side').removeNode(true)
		//AJS.setStyle(AJS.$('refine_tables_container'),'width','728px')
		AJS.$('refine_tables_container').style.width = '728'
	} else {
		
		AJS.setStyle(AJS.$('refine_tables_container'),'paddingLeft','0px')
		
		AJS.showElement(AJS.$('filter_side'))
		//AJS.$('filter_side').removeNode(true)
		//AJS.setStyle(AJS.$('refine_tables_container'),'width','728px')
		AJS.$('refine_tables_container').style.width = '556'
		
	}*/
	
	if ( ReadExtraFromPage(1) == 0 ) {
	
		NoFiltersDisplay()
		return 0;
	
	}
	
	var filter_array = xmlroot.getElementsByTagName('filter')
	
	if (filter_array.length == 0 ) { NoFiltersDisplay();			return 0 }
	
	var filterEnd = filter_array.length > 6 ? filterEnd = 6 : filterEnd =  filter_array.length
	
	for  (var i=0;i<filterEnd;i++) {
			if (filter_array[i].getAttribute('wordid') == 'itemnumber') {
				
			NoFiltersDisplay()
			return 0
			
			}
		AddFilterByXML(filter_array[i])
	}
	
	//AddDeleteWordHelp()
	
}

function AddFilterByXML(xmlroot) {
//	. 
//alert(xmlroot.getAttribute('cattext'))
	
	
	
	var cat = xmlroot.getAttribute('cattext')
	var wordid = xmlroot.getAttribute('wordid')
	
		if ( AJS.$('filter_'+cat) ) { return 0 } 
	
	var table1 = document.createElement('TABLE');
	table1.cellSpacing=0
	table1.cellPadding=0
	//table1.style.height=20
	table1.className='vv_refine_filter_box'
	table1.id='filter_'+cat
	
	var tbody1 = document.createElement('TBODY');
	table1.appendChild(tbody1)
	
	var row1 = document.createElement('TR');
	row1.className='vv_refine_filter_title'
	tbody1.appendChild(row1);
	
	var fti = document.createElement('TD');
	var ft = document.createElement('TD');
	
		AJS.setStyle(ft,'fontSize','17px')
	
	ft.innerHTML=cat
	
	row1.appendChild(fti)
	row1.appendChild(ft)
	

	
	var filterpart_array = xmlroot.getElementsByTagName('filterpart')
	
	
	
	var i=0
	var ilimit = filterpart_array.length>6 ? 5 : filterpart_array.length
	for (i=0;i<ilimit;i++) {
		
		
		var row2= document.createElement('TR');
		row2.className='vv_wordpart_itself'
		
	
		var fic = document.createElement('TD');
		var fi = document.createElement('TD');
		
		var filterlink = document.createElement('A');
		filterlink.innerHTML=filterpart_array[i].getAttribute('text')
		
			AJS.setStyle(filterlink,'fontSize','15px')
	
		
		if ( filterpart_array[i].getAttribute('killwords') ) {
			
			var killwords = new Array()
			
			var killwords_array  = filterpart_array[i].getAttribute('killwords').split(',')
			
			for (var i in killwords_array) {
				
				killwords.push(killwords_array[i])	
			}
			
			
			
		}
		filterlink.href='javascript:void(0)'
		
		var passcode =wordid+'|'+ filterpart_array[i].text
	
		filterlink.onclick = _oclick(cat,filterlink.innerHTML,passcode,killwords)
		/*filterlink.onclick = function() {
			AddWordPart(cat,filterlink.innerHTML,passcode)
			RemoveFilterByCat(cat)
			InitSearch()
		}*/

		
		fi.appendChild(filterlink)
		
		row2.appendChild(fic)
		row2.appendChild(fi)
		
		tbody1.appendChild(row2);
		
	}
		if (filterpart_array.length > 5 ) { 
		var row3= document.createElement('TR');
		
		var fic2 = document.createElement('TD');
		var more_td = document.createElement('TD');
		
		var more_link = document.createElement('A');
		more_link.id='filter_more_'+cat
		more_link.innerHTML='<i>More...<i>'
		more_link.href='javascript:void(0)'	
		
			AJS.setStyle(more_link,'fontSize','13px')
		
		more_link.onclick=function() {
			var hookid = 'filter_more_'+cat
			var pos =  getAnchorPosition(hookid)
			pos.x += AJS.$(hookid).offsetWidth+2
			
			//alert(pos.x+' - '+pos.y)
			FilterExtraInit(wordid,cat,pos,1)
			
			
			
		}
		more_td.appendChild(more_link)
		row3.appendChild(fic2)
		row3.appendChild(more_td)
		tbody1.appendChild(row3);
		
		}
	
		if (xmlroot.getElementsByTagName('customfilter')[0]) { 
		
			var row4= document.createElement('TR');
			
			var fic3 = document.createElement('TD');
			var custom_td = document.createElement('TD');
			
			var custom_link = document.createElement('A');
			custom_link.id='filter_custom_'+cat
			custom_link.innerHTML='<i>Custom...<i>'
			custom_link.href='javascript:void(0)'	
			
			
				AJS.setStyle(custom_link,'fontSize','13px')
			
			
			custom_td.style.marginTop=4
			custom_link.onclick=function() {
				
				var hookid = 'filter_custom_'+cat
				var pos =  getAnchorPosition(hookid)
				pos.x += AJS.$(hookid).offsetWidth+2
				
				var customOpt = new Object()
				if (xmlroot.getAttribute('type') == 'discrete' ) {
						
				var discrete_array = new Array()
				var k=0
				
					for (k=0;k<filterpart_array.length;k++) {
					discrete_array.push(filterpart_array[k].getAttribute('text')+'::'+filterpart_array[k].getAttribute('discrete'))
					
					}
					
					customOpt['discrete_values'] = discrete_array
					
					customOpt['discrete'] = 1
			}
				
				//alert(pos.x+' - '+pos.y)
				CustomWordDisplay(cat,xmlroot.getElementsByTagName('customfilter')[0].getAttribute('patternDisplay'),xmlroot.getElementsByTagName('customfilter')[0].getAttribute('patternOut'),xmlroot.getElementsByTagName('customfilter')[0].getAttribute('patternWordText'),pos,1,customOpt)
				
				
				
			}
			custom_td.appendChild(custom_link)
		
		row4.appendChild(fic3)
		row4.appendChild(custom_td)
		tbody1.appendChild(row4);
		}
		

		
		
	
		
	
	
	AJS.$('refine_tables_container').appendChild(table1)
	
	function _oclick(cat,text,passcode,killwords) {
		
		return function() {
		
				window.event.cancelBubble = true
			AddWordPart(cat,text,passcode,null,killwords)
			RemoveFilterByCat(cat)
			InitSearch(1)
			
			
		}
	}

}
//with fade effect
function RemoveFilterByCat(cat) {
	
	var filterbox = AJS.$('filter_'+cat)
	if (!filterbox) { return 0 }
	var	counter= 5
	var feInt = setInterval(function() { 
									 	if ( counter == 0 ) { 
										if ( AJS.$('filter_'+cat) ) { 
											AJS.$('refine_tables_container').removeChild(filterbox)
										}
										clearInterval(feInt) 
										} 
										filterbox.style.filter = 'filter: alpha(opacity='+20*counter+')'
										counter--
									 },20)
	
	
	
	
	
}
function NoFiltersDisplay() {
	
	var nofilters_img = AJS.IMG()
	
	nofilters_img.src = '/pic/newstruct/viewer/wordparts/nofilters.jpg'
	AJS.$('refine_tables_container').innerHTML=''
	AJS.ACN(AJS.$('refine_tables_container'),nofilters_img)
	
	
	
	
}
function CustomWordDisplay(cat,patternDisplay,patternOut,patternWordText,posAtom,mode,customOpt) {
	
	var custom_div = document.createElement('DIV');
	custom_div.className='vv_extradiv'
	custom_div.id='custom_div_container'
	
//	custom_div.style.top = pos.y
	//custom_div.style.left=pos.x
	
	var table1 = document.createElement('TABLE');
	table1.cellSpacing=0
	table1.cellPadding=2
	
	//table1.style.height=20
	
	var tbody1 = document.createElement('TBODY');
	table1.appendChild(tbody1)
	
	var row1 = document.createElement('TR');
	
	tbody1.appendChild(row1);
	
	var header = document.createElement('TD');
	header.style.height=21+'px'
	header.innerHTML=cat
	header.className='vv_extradivtitle'
	
	var del_img =  document.createElement('IMG');
	del_img.src='/pic/newstruct/viewer/wordparts/extra_close3.jpg'
	del_img.align='absmiddle'
	//del_img.style.marginLeft=4
	del_img.style.cursor='pointer'
	del_img.onclick = function () {
		AJS.removeElement(custom_div)
		
	}
	header.appendChild(del_img)
	
	

	row1.appendChild(header)
	
	
	var row2 = AJS.TR()
	var custom_td = AJS.TD()
	
	AJS.setStyle(custom_td,'fontFamily','Tahoma')
	AJS.setStyle(custom_td,'fontSize','11px')
	
	DecodeComponentPattern(patternDisplay,custom_td,cat+'_custom',customOpt)
	
	var add_button = AJS.INPUT()
	add_button.type='button'
	AJS.ACN(custom_td,add_button)
	
	add_button.value='Go'
	AJS.setStyle(add_button,'marginLeft','10px')
	AJS.setClass(add_button,'generic_input_look')
	AJS.setStyle(add_button,'height','17px')
	add_button.onclick = function () {
		
		if ( customOpt['discrete'] != 1 ) { 
		
		//var patternOut='gdfgdfgpdfgdfgpdfgdfgpdfgdfgpdfgfgpgfgfpfgfglpfgfgfpf22gfglp!'
		//var match_ids = patternOut.match('/id:.[^id:]*endid/g')
		var match_ids = patternOut.match(/id:.*?:endid/g)
		
			for (var i=0;i<match_ids.length;i++) {
				var strip_id = match_ids[i].substr(3,match_ids[i].length-9)
				patternOut=patternOut.replace(match_ids[i],AJS.$(cat+'_custom_'+strip_id).value)
				patternWordText=patternWordText.replace(match_ids[i],AJS.$(cat+'_custom_'+strip_id).value)
			}
		
		 }
		 
		else {
			
				var match_ids = patternOut.match(/id:.*?:endid/g)
				
				var values  = new Array() 
				
				listboxid1 = cat+'_custom_'+match_ids[0].substr(3,match_ids[0].length-9)
				listboxid2 = cat+'_custom_'+match_ids[1].substr(3,match_ids[1].length-9)
				
				
				var fromj = AJS.$(listboxid1).selectedIndex
				
				var toj = AJS.$(listboxid2).selectedIndex
				
				for (var j = fromj; j<=toj;j++) {
					
					values.push(customOpt['discrete_values'][j].split('::')[1])
					
				}
				
				
				patternOut=patternOut.replace(match_ids[0],values.join(','))
				patternOut=patternOut.replace(match_ids[1],'')
				patternWordText=patternWordText.replace(match_ids[0],AJS.$(listboxid1).options[AJS.$(listboxid1).selectedIndex].text)
				
				
				if (fromj == toj ) {
					patternWordText=patternWordText.replace(' to '+match_ids[1],'')
					}
				else { 
						patternWordText=patternWordText.replace(match_ids[1],AJS.$(listboxid2).options[AJS.$(listboxid2).selectedIndex].text)
				}	
			
			
		}
		
	
		
		//if ( WordPartExists(cat) ) { alert('fdg');RemoveWordPart(cat) }
		AddWordPart(cat,patternWordText,patternOut,'replace')
		RemoveFilterByCat(cat)	
		AJS.removeElement(custom_div)
		InitSearch(1)
	
	}
	
	
	
	AJS.ACN(row2,custom_td)
	AJS.ACN(tbody1,row2)
	
	//alert(tbody1.innerHTML)
	
	
	PosMill.InforcePos(custom_div,posAtom)
	
	custom_div.appendChild(table1)
	
	if (mode == 1 ) { 
	
	//AJS.$('refine_tables_container').appendChild(custom_div);
	AJS.getBody().appendChild(custom_div);
	
	

	
	PosMill.InforcePosParams(del_img,custom_div.offsetWidth-16,2)
	
	}
	
	if (mode ==2 ) {
		
	return 	custom_td
		
	}
	
	
	
}
function FilterExtraInit(wordid,cat,pos,mode) {
	
	window.event.cancelBubble = true

	
	//builds table + ajax call
	if ( AJS.$('extra_div_container') ) {
		AJS.$('refine_tables_container').removeChild(AJS.$('extra_div_container'));
	//	return 0
	}
	
	var extra_div = document.createElement('DIV');
	MakeClickCloseDiv(extra_div)
	extra_div.className='vv_extradiv'
	extra_div.id='extra_div_container'
	
	extra_div.style.top = pos.y
	extra_div.style.left=pos.x
	
	var table1 = document.createElement('TABLE');
	table1.cellSpacing=0
	table1.cellPadding=2
	
	//table1.style.height=20
	
	var tbody1 = document.createElement('TBODY');
	table1.appendChild(tbody1)
	
	var row1 = document.createElement('TR');
	
	tbody1.appendChild(row1);
	
	var header = document.createElement('TD');
	header.style.height=21+'px'
	header.innerHTML=cat
	header.className='vv_extradivtitle'
	
	var del_img =  document.createElement('IMG');
	del_img.src='/pic/newstruct/viewer/wordparts/extra_close3.jpg'
	del_img.align='absmiddle'
	//del_img.style.marginLeft=4
	del_img.style.cursor='pointer'
	del_img.onclick = function () {
		RemoveExtraFilter(cat,mode)						
	}
	header.appendChild(del_img)
	
	

	row1.appendChild(header)
	
	
	var row2 = document.createElement('TR');
	
	tbody1.appendChild(row2);
	
	var filterbody = document.createElement('TD');

	filterbody.align='center'
	filterbody.id='filterbody_'+wordid
	
	
	
	var loading = document.createElement('IMG');
	loading.src = '/pic/newstruct/design/extra/msgbox/loading.gif'
	loading.id = 'filterbody_'+wordid+'_loading'
	filterbody.appendChild(loading)
	
	
	




	row2.appendChild(filterbody)
	
	extra_div.appendChild(table1)
	
	
	AJS.$('refine_tables_container').appendChild(extra_div);
	
	
	//document.getElementsByTagName('body')[0].appendChild(extra_div);	
	var _ajax  = new  microAjax('ajaxfilter.aspx?req=2&getfilter='+wordid,_AjaxBuild,null,'xml')
	var checkList = new Array()
function _AjaxBuild(xmlroot) {
		xmlroot = xmlroot.getElementsByTagName('filter')[0]
	if (!xmlroot.hasChildren) {
		

		var cat = xmlroot.getAttribute('cattext')
		var wordid = xmlroot.getAttribute('wordid')
		
		if ( AJS.$('filter_pop_'+cat) ) { return 0 } 
		
		var table1 = document.createElement('TABLE');
		table1.cellSpacing=0
		table1.cellPadding=0
		table1.style.width=180
	
		//table1.style.height=20
		table1.className='vv_refine_filter_box'
		table1.id='filter_pop_'+cat
		
		var tbody1 = document.createElement('TBODY');
		table1.appendChild(tbody1)
		
		var row1 = document.createElement('TR');
	
		tbody1.appendChild(row1);
		
		
		var filterpart_array = xmlroot.getElementsByTagName('filterpart')
		
		if (WordPartExists(cat) && mode == 2) {
			var wordpart_text = AJS.$('wordpart_title_'+cat).innerHTML	
		}
		
		
		var i=0
		var ilimit = filterpart_array.length
		for (i=0;i<ilimit;i++) {
			
			
			var passcode =wordid+'|'+ filterpart_array[i].text
			
			var row2= document.createElement('TR');
			row2.className='vv_wordpart_itself'
		
			/*var fic = document.createElement('TD');
			
			var check= document.createElement('INPUT');
			check.type='checkbox'
			check.id = 'check_'+cat+'_'+filterpart_array[i].getAttribute('text')
			
		
			
									
			check.onclick = _oclickcheck(cat,filterpart_array[i].getAttribute('text'),passcode,check)
			
			fic.appendChild(check)*/
			
			
			
			var fi = document.createElement('TD');
			
			AJS.setStyle(fi,'paddingLeft',5)
			AJS.setStyle(fi,'paddingBottom',3)
					//AJS.setStyle(fi,'width','100%')
			
			var filterlink = document.createElement('A');
			filterlink.innerHTML=filterpart_array[i].getAttribute('text')
			filterlink.href='javascript:void(0)'
			
			if ( filterpart_array[i].getAttribute('killwords') ) {
			
			var killwords = new Array()
			
			var killwords_array  = filterpart_array[i].getAttribute('killwords').split(',')
			
			for (var i in killwords_array) {
				
				killwords.push(killwords_array[i])	
			}
			
			
			
			}
			
		
			filterlink.onclick = _oclick2(cat,filterlink.innerHTML,passcode,filterlink,killwords)
			/*filterlink.onclick = function() {
				AddWordPart(cat,filterlink.innerHTML,passcode)
				RemoveFilterByCat(cat)
				InitSearch()
			}*/
	
			
			
			fi.appendChild(filterlink)
			
			//row2.appendChild(fic)
			row2.appendChild(fi)
			
			tbody1.appendChild(row2);
			
			if ( mode == 2 && IsMatchWordPartTextArray(wordpart_text,filterpart_array[i].getAttribute('text')) ) {
	
//				check.checked=true
				checkList.push('1')
			//	check.setAttribute('checked','checked')
			}
			
			//check if custom
		
			
		}
		
		
	
		
		AJS.$('filterbody_'+wordid).removeChild(AJS.$('filterbody_'+wordid+'_loading'))
		
		if (checkList.length == 0 && mode == 2 ) { 
	//	if (1== 2 ) { 
	
			var customOpt = new Object()
			if (xmlroot.getAttribute('type') == 'discrete' ) {
						
				var discrete_array = new Array()
				var k=0
				
					for (k=0;k<filterpart_array.length;k++) {
					discrete_array.push(filterpart_array[k].getAttribute('text')+'::'+filterpart_array[k].getAttribute('discrete'))
					
					}
					
					customOpt['discrete_values'] = discrete_array
					
					customOpt['discrete'] = 1
			}
			
			
		
			var custom_td = CustomWordDisplay(cat,xmlroot.getElementsByTagName('customfilter')[0].getAttribute('patternDisplay'),		xmlroot.getElementsByTagName('customfilter')[0].getAttribute('patternOut'),xmlroot.getElementsByTagName('customfilter')[0].getAttribute('patternWordText'),{x:0,y:0},2,customOpt)
			
		//	AJS.ACN(AJS.$('wordpart_drop'),custom_td)
//			alert(custom_td.offsetWidth)
			AJS.setWidth(AJS.$('extra_div_container'),1000)
			AJS.$('filterbody_'+wordid).replaceNode(custom_td)	
			//alert(custom_td.offsetWidth)
			AJS.setWidth(AJS.$('extra_div_container'),custom_td.offsetWidth+16)

		
		
		} else { 
	
			AJS.$('filterbody_'+wordid).appendChild(table1)
	
			//this is a ir 6 fix
			/*if (BrowserDetect.browser == 'Explorer' && BrowserDetect.version < 7 ) {
					for (var j=0;j<checkList.length;j++) {
						
						AJS.$(checkList[j]).checked = true
						
					}
			
		}
		*/
		}
		
		var _mode = mode
		var _pos = new posXYWH()
		_pos.LoadbyID('extra_div_container')
		
		document.body.onclick = function () {
			
			var mode=_mode
			var pos=_pos
			
			if ( !CheckOutOfBoundByXYWH(pos,event.clientX,event.clientY+document.body.scrollTop) ) {
				if (mode == 1 ) {
						RemoveExtraFilter(cat,1)
						
				}
				if (mode ==2 ) {
						RemoveExtraFilter(cat,2)
					
				}
			}
		
			
		}
		
		
		del_img.style.position='absolute'
		
		
		PosMill.InforcePosParams(del_img,extra_div.offsetWidth-16,2)
	
	
		function _oclick2(cat,text,passcode,filterlink,killwords) {
			
				return function() {
					
					/*if (!filterlink.parentNode.parentNode.getElementsByTagName('INPUT')[0].checked) {
						
							AddWordPart(cat,text,passcode)
							filterlink.parentNode.parentNode.getElementsByTagName('INPUT')[0].checked=true
						
					} else {
							RemoveWordPart(cat,text,passcode)
							filterlink.parentNode.parentNode.getElementsByTagName('INPUT')[0].checked=false
								if ( !WordPartExists(cat) ) { 			RemoveExtraFilter(cat)		 }
					}*/
				
					AddWordPart(cat,text,passcode,null,killwords)
				//	RemoveFilterByCat(cat)
					InitSearch(1)
					
					
				}
			}
			
			
		function _oclickcheck(cat,text,passcode,check) {
			
				return function() {
					
					if (check.checked) {
						
							AddWordPart(cat,text,passcode)
							check.checked=true	
					} else {
				
							RemoveWordPart(cat,text,passcode)
							checked=false
								if ( !WordPartExists(cat) ) { 			RemoveExtraFilter(cat)		 }
					}
				//	RemoveFilterByCat(cat)
					InitSearch(1)
					
					
				}
			}
			
			}
			
	}
	
}
function StepBack1Word() {
	
	span = AJS.SPAN()
	
	span.innerHTML='No Items To Display<br>Please Select Another Cut/Color'
	
//alert(	AJS.$('wordpart_base').getElementsByTagName('TABLE')[0].id)


	if ( WordPartExists('Item_Number') ) 
	{
		FancyMsgBox('The item number cannot be located, please try another number<br>you are been redirected to browse our gemstone 		collection',4500,null,null,function() {
																																															            window.location = '/viewer/myview3.aspx?fromlink=1&stonetype=emerald'			
			} 
	
			)
	
	}
	
	if ( WordPartExists('Weight') && AJS.$('wordpart_base').getElementsByTagName('TABLE').length==1  ) 
	{
		
		var weight = AJS.$('wordpart_base').getElementsByTagName('TABLE')[0].getElementsByTagName('SPAN')[1].innerHTML
		FancyMsgBox('There are no items weighting '+weight +' please try another carat weight<br>you are been redirected to browse our gemstone collection' ,4500,null,null,function() {
					window.location = '/viewer/myview3.aspx?fromlink=1&stonetype=emerald'																																				
			} 
	
			)
	
	}
	
	
	
	
	
	
	AJS.ACN(AJS.$('view_canvas'),span)
	
		AJS.$('vv_rf_lookingfor').innerHTML=''
		
	
	
	
	return 0;
	

	var wordparts = AJS.$('wordpart_base').getElementsByTagName('TABLE')
	
	//
	
	
	for (var i=0; i<wordparts.length;i++ )  {
		
		//alert(AJS.$bytc('input',null,wordparts[i])[0].value.split('|')[1])
		//alert(this.cascadeProblem.replace(/\^\^/g,'::'))
		//alert(wordparts[0].value)
		if ( AJS.$bytc('input',null,wordparts[i])[0].value.split('|')[1] == this.cascadeProblem.replace(/\^\^/g,'::') ) {
			AJS.removeElement(wordparts[i])
			InitSearch(1)
		}
	}
	
	
}
function PopupInfoTree(obj) {

	var imgs = 	AJS.$bytc('td',null,AJS.getParentBytc(AJS.getParentBytc(obj,'table'),'table'))[3].getElementsByTagName('IMG')
	imgs[imgs.length-1].onclick()

}

function RedirectSearch() {
	
	AJS.$('Menu_search_v11_txt_search').value = AJS.$('search_text_fl').value
	document.Form1.Menu_search_v11_search_go.click()
	
}

function OneClickSend() {
	
	

	AJS.$('1click_submit').disabled = true;
	
	var email = AJS.$('rf_email').value
	var comment  = AJS.$('rf_comment').value
	var lookingfor = GetRedComboValueById('comboGenra') + ' ' + AJS.$('wordpart_base').innerHTML.replace(/<.+?>/g," ")
	comment +='<br>'+lookingfor
	
	_ajax = microAjax('/pipes/1click.aspx?email='+email+'&comment='+comment,function(xmlroot) {
																							   
											 var answer = xmlroot.getElementsByTagName('answer')[0].text
											 
											 if (answer == 'error') {
												//alert('Error Sending Mail') 
												FancyMsgBox('Error Sending Email',3000,null,null,function() { AJS.$('ex_bindbox1cli').getElementsByTagName('IMG')[0].onclick();PushAweberMill.Open();AJS.$('1click_submit').disabled = false; } )
												
												tipsView1.killed=false
												tipsView2.killed=false
												
											 } else {
												tipsView1.killed=false
												tipsView2.killed=false		
												FancyMsgBox('Email Sent To sales<br>We will contact you as soon as possible',1500,null,null,function() { AJS.$('ex_bindbox1cli').getElementsByTagName('IMG')[0].onclick();PushAweberMill.Open();AJS.$('1click_submit').disabled = false; } )
												
												// AJS.$('ex_bindbox1cli').getElementsByTagName('IMG')[0].onclick()
											 }
																							   
																							   
																							   	
																							   },null,'xml')
}

function RemoveExtraFilter(cat,mode) {
		if ( AJS.$('extra_div_container') ) {
		AJS.$('refine_tables_container').removeChild(AJS.$('extra_div_container'))
		document.body.onclick = function() { return 0 }
		if (WordPartExists(cat) && mode==1) {
							RemoveFilterByCat(cat)
						   }
						   
		}
}
function RenderPageCounter() {
	
	AJS.$('pages_counter').innerHTML = 'Page '+PagingMill.page+' of '+PagingMill.pagetotal
	AJS.$('pages_counter2').innerHTML = 'Page '+PagingMill.page+' of '+PagingMill.pagetotal
	
}
function GeneragePageNav(total_items,page_size,Display) {
		
	 
	 var pageNum = 0
	 if (total_items % page_size > 0 ) {
		 pageNum = Math.floor(total_items/page_size) + 1
	 }
	 else {
		pageNum = total_items / page_size
	 }
	 
	 RenderFullPageSelection(pageNum)
	 
	 if (pageNum > 1 ) { AJS.$('pages_td').style.display='inline' ; AJS.$('pages_td2').style.display='inline'} else { AJS.$('pages_td').style.display='none' ;AJS.$('pages_td2').style.display='none'; return 0}
	
	 
     var i=0
	 PagingMill.pagetotal=pageNum
	AJS.$('pages_container').innerHTML=''
	AJS.$('pages_container2').innerHTML=''
	var pagesMax = pageNum > 7 ? 7 : pageNum
	var pagesMin = 1
	
	if (typeof(Display) == 'object') {
		pagesMin=Display.min
		pagesMax=Display.max
	}
	if (PagingMill.page >= 7 ) {
		pagesMin=PagingMill.page-3
		pagesMax=PagingMill.page+4
		
		
	}
	
	if (PagingMill.page >= 100 ) {
		pagesMin=PagingMill.page-3
		pagesMax=PagingMill.page+2
		
		
	}
	
	

	AJS.hideElement(AJS.$('pages_next'))
	AJS.hideElement(AJS.$('pages_back'))
	AJS.setStyle(AJS.$('pages_next'),'marginLeft',0)
	
	AJS.hideElement(AJS.$('pages_next2'))
	AJS.hideElement(AJS.$('pages_back2'))
	AJS.setStyle(AJS.$('pages_next2'),'marginLeft',0)
	
	if (PagingMill.page == pageNum ) { 
		AJS.showElement(AJS.$('pages_back'))
	
		}
	else if (PagingMill.page == 1) {
		
		AJS.showElement(AJS.$('pages_next'))
			AJS.setStyle(AJS.$('pages_next'),'marginLeft',53)
			
					
		AJS.showElement(AJS.$('pages_next2'))
			AJS.setStyle(AJS.$('pages_next2'),'marginLeft',53)
		
	}
	else {
		AJS.showElement(AJS.$('pages_next'))
		AJS.showElement(AJS.$('pages_back'))
			AJS.showElement(AJS.$('pages_next2'))
		AJS.showElement(AJS.$('pages_back2'))
		
	}
	for (i=pagesMin;i<=pagesMax;i++) {
		 if (PagingMill.page == i ) {
			 var page_text = document.createTextNode(i+' ')
			 AJS.$('pages_container') .appendChild(page_text)
			 AJS.$('pages_container2') .appendChild(page_text.cloneNode(true))
		 } else {
		 var page_link = document.createElement('A');
		 page_link.innerHTML=i//+ ' '
		 page_link.href='javascript:void(0)'
		 page_link.onclick=oclick(i)
		 var page_link_sep = AJS.TN(' ')
		
		AJS.$('pages_container') .appendChild(page_link)
		 AJS.$('pages_container') .appendChild(page_link_sep)
		 var page_link2 = page_link.cloneNode(true)
		  page_link2.onclick=oclick(i)
		
		AJS.$('pages_container2') .appendChild(page_link2)
		AJS.$('pages_container2') .appendChild(page_link_sep.cloneNode(true))

		 }
		 
	 }
	 
	 
	 
	 if	(AJS.$('pages_showall').innerHTML == 'Show all' ) {
		 AJS.showElement(AJS.$('pages_items'))
		 AJS.showElement(AJS.$('pages_items2'))
		 AJS.setStyle(AJS.$('pages_td'),'width',AJS.$('pages_container').offsetWidth+300)
		  AJS.setStyle(AJS.$('pages_td2'),'width',AJS.$('pages_container2').offsetWidth+300)
	  
		 }
	 
	 function oclick(i) {
		 
		 return function() {
			 
			 PagingMill.pagesize = AJS.$('lister_items_per_page').value
			// PagingMill.pagesize = AJS.$('lister_items_per_page2').value
			 PagingMill.page=i
			 InitSearch()
			
		 }
	 }
	 
	 
	
}

function RenderFullPageSelection(TotalPages) {
	if (TotalPages <= 1  ) { return 0 }
	if (AJS.$('page_nav_full_numbers')) { 

	AJS.removeElement(AJS.$('page_nav_full_numbers')) }
	var numbers_div = document.createElement('DIV');
	numbers_div.id='page_nav_full_numbers'
	numbers_div.style.backgroundColor='white'
	numbers_div.style.padding=5
	numbers_div.style.display='none'
	//numbers_div.style.position='absolute'
	numbers_div.style.width=200
	numbers_div.className='vv_lister_generic'
	//numbers_div.style.border = '1px black solid'
	
	for (i=1;i<=TotalPages;i++) {
		 if (PagingMill.page == i ) {
			 var page_text = document.createTextNode(i+' ')
			 numbers_div.appendChild(page_text)
		 } else {
		 var page_link = document.createElement('A');
		 page_link.innerHTML=i+ ' '
		 page_link.href='javascript:void(0)'
		 page_link.onclick=oclick(i)
		numbers_div.appendChild(page_link)
		 
		 }
		 
	 }
	 
	  function oclick(i) {
		 
		 return function() {
			 
			 PagingMill.pagesize = AJS.$('lister_items_per_page').value
			 PagingMill.page=i
			 InitSearch()
			 
			 CloseBindedDivAPI('page_nav_full_numbers','pages_counter')
			
		 }
	 }
	 
	document.body.appendChild(numbers_div)
	
	
	 
	BindDiv2Obj('page_nav_full_numbers','pages_counter',0,15)
	BindDiv2Obj('page_nav_full_numbers','pages_counter2',0,15)
	 
	
}
function PagingShowAll(notactive) {
	
 	
	//alert(AJS.$('pages_showall').innerHTML)
 if	(AJS.$('pages_showall').innerHTML == 'Show all' ) {
	 
	 AJS.hideElement(AJS.$('pages_items'))
	 AJS.hideElement(AJS.$('pages_items2'))
	 
	 AJS.$('pages_showall').innerHTML = 'Normal navigation'
	 AJS.$('pages_showall2').innerHTML = 'Normal navigation'
	 if (!notactive) { 
		 InitSearch(2)
	 }
	 
 } else {
	  
	 
	 
	 AJS.$('pages_showall').innerHTML = 'Show all'
	  AJS.$('pages_showall2').innerHTML = 'Show all'
	   if (!notactive) { 
		 InitSearch(1)
	   }
 }
	
}
function PagingNextBack(type) {
	var modified = false
	if (type == 'next') {
		
		if (PagingMill.page < PagingMill.pagetotal) {
			
			
			 PagingMill.page++
			 modified=true
			 
		
	}
	}
	
		if (type == 'back') {
		
		if (PagingMill.page >1 ) {
			
			
			 PagingMill.page--
			 modified=true
			 
		
	}
		}
	
	
	
	PagingMill.pagesize = AJS.$('lister_items_per_page').value
	InitSearch()
}


function ReadExtraFromPage(flag) {
if (!AJS.$('extra_input')) { return 'error' }

var extra_str = AJS.$('extra_input').value	
var extra_hash = GetHashArrayFromStr(extra_str,'|','::')

if (flag == '1') { return parseInt(extra_hash['total']) }


	var items_per_page = AJS.$('lister_items_per_page').value
	GeneragePageNav(extra_hash['total'],items_per_page)
	RenderPageCounter()
	if ( extra_hash['total'] == '0') {
		//tipsView1.killed=true
		//tipsView2.killed=true
		//
		
		var pos = new posXYWH()
		pos = PosMill.CenterByView(500,400)
		
		//AJS.$('vv_rf_lookingfor').innerHTML=''
		
		var wordpart_base_clone = AJS.$('wordpart_base').cloneNode(true)
		
		//var imgs = AJS.$bytc('img',null,wordpart_base_clone)
		
		/*for (var i = 0 ; i < imgs.length ; i++) {
			
			AJS.removeElement(imgs[i])
			
		}
		
		var spans = AJS.$bytc('span',null,wordpart_base_clone)
		
		for (var j = 0 ; j < spans.length ; j++) {
			
			spans[j].style.cursor='normal'
			spans[j].onclick = function() { return 0 } 
			
		}
		*/
		
		var tables = AJS.$bytc('table',null,wordpart_base_clone)
		
		for (var k = 0 ; k < tables.length ; k++) {
			
			//	tables[k].style.width = parseInt(tables[k].style.width) - 15
		
			
		}
	//	AJS.$('vv_rf_lookingfor').prototype.blah =1

		AJS.ACN(AJS.$('vv_rf_lookingfor'),wordpart_base_clone)
	
		WrapWithDiv('1click',pos,AJS.bind(StepBack1Word, { cascadeProblem:extra_hash['cascadeProblem'] } )   )
		AJS.$('rf_email').focus()
	
	}
}
function EncodeNavParams() {
	var hash = new Object()
	hash.pageStart=PagingMill.page
	hash.pageSize = PagingMill.pagesize
	
	
	
	var str = GetStrFromHash(hash,'|','::')
	return str
}
function InitSearch(flag) {
	
	//flags
	//alert(PagingMill.pagesize)
	//alert(flag)
	if (flag ==1) { PagingMill.page=1;PagingMill.pagesize=AJS.$('lister_items_per_page').value } 
	if (flag == 2) { PagingMill.page=1;PagingMill.pagesize=10000 } 
	if (searchWorking == false) {
		var url = '/viewer/ajaxcatalog.aspx?wordparts=' + CompileWordPartQS()
		
		url+='&navparams=' +  EncodeNavParams()
		
	
	//	var url_filter = 'ajaxfilter.aspx?req=1&wordparts=' + CompileWordPartQSFilter()
	//	var filterChangeFlag = CompileWordPartQS()
		
		searchWorking=true
		ShowLoading(true)
				
		
	
	var _ajax = new microAjax(url,function(answer) {
													
															
															searchWorking=false
															ShowLoading(false)
															//if (CompileWordPartQS() != filterChangeFlag) {
															//	InitSearch()	
														//	} else {
															
																AJS.$('view_canvas').innerHTML=answer	
																ReadExtraFromPage()
																
																
															//}
													  }
													  )
	

/*	var _ajax2 = new microAjax(url_filter,function(answer) {
												
															 searchWorking=false
															if (CompileWordPartQS() != filterChangeFlag) {
																InitSearch()	
															} else {
																
																RenderFilterColl(answer)

															}
															
													  },null,'xml'
													  )*/
	}
}


function ShowLoading(show) {
	var canvas = AJS.$('view_canvas')
	if (show) {
	
	
	canvas.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=50)'
	
	var div = 	document.createElement('DIV');
	div.style.position='absolute'

	PosMill.InforcePosParams(div,0,0)
	
	div.style.zOrder=100000
	div.id='item_load_div'
	
	var pos = new posXYWH()
	pos.LoadbyID('canvas_parent_td')
	
	div.style.left = (pos.x+(pos.w/2 - 497/2)) + 'px'
	div.style.top = (pos.y+60)+'px'
	
	document.body.appendChild(div)
	var loading = 	document.createElement('IMG');
	
	
	loading.src='/pic/newstruct/viewer/lister/loading.jpg'
	

	
	
	loading.style.position='absolute'
	
	loading.id='canvas_loading_img'
	div.appendChild(loading)
	
	var loading2 = 	document.createElement('IMG');
	loading2.src='/pic/newstruct/design/extra/msgbox/loading.gif'
	loading2.style.position='relative'
	
	loading2.style.left = 362+'px'
	loading2.style.top = 100+'px'
	
	loading2.id = 'canvas_loading_img2'
	div.appendChild(loading2)
	
	
	
	
	} else {
		document.body.removeChild(AJS.$('item_load_div'))

		canvas.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=100)'
	}
	
	
}
function ChangeGenraInit() {
	ClearWordParts()
	switch(GetRedComboValueById('comboGenra')) {
	 case 'genra|diamond' :	
 	 	RedCombo(optSort,rcGemSortItems)
		break;
     case 'genra|gemstones' :	
 	 	RedCombo(optSort,rcGemSortItems)
		break;
	 case 'genra|jewelry' :	
	 	RedCombo(optSort,rcJewelSortItems)
		break;
	}

	InitSearch(1)
}
function CalcWordPartTotalWidth() {
	var wordparts = AJS.$('wordpart_base').getElementsByTagName('TABLE')
	var total_l=0
	for (var i=0;i<wordparts.length;i++) {
		total_l+=wordparts[i].offsetWidth
	}
	
	return total_l
	
}
function a() {
	//AddWordPart('sdfsf','tertert','gdfg',null,['Color','Clarity'])
		
//		AJS.$('aaa').appendChild(AJS.$('aa'))
}
function CompileWordPartText() {
	
	
	
}
function CompileWordPartQS() {
	
	var wordpart_inputs = AJS.$('wordpart_base').getElementsByTagName('INPUT')
	
	var prep_array = new Array()
	
	var i = 0
	
	for (i=0;i<wordpart_inputs.length;i++) {
		var wordpart_atom = wordpart_inputs[i].value
		/*if (wordpart_atom.indexOf('~~') > -1 ) {
				
			var part_1_2 = wordpart_atom.split("::")
		
			var extra_elem = part_1_2[2].split("~~")
			
			var j = 0
			for (j=0;j<extra_elem.length;j++) {
				var tmp_atom = new Array()
				tmp_atom.push(part_1_2[0].split('|')[0]+(j == 0 ? '' : j+'^' ) +'|'+part_1_2[0].split('|')[1])
				tmp_atom.push(part_1_2[1])
				tmp_atom.push(extra_elem[j])
				
				prep_array.push(tmp_atom.join('::'))					
			}
				
		} else { */
		prep_array.push(wordpart_atom)
		
		//}
		
	}
	
	//add special words from combo
	
	for (var j in comboWordsRegistery.combos) {
		prep_array.push(GetRedComboValueById(comboWordsRegistery.combos[j].hookid))
	}
	
	//make sort word
	
	var sort_word = 'sort|5::'+GetRedComboValueById('comboSort')+'::'+GetRedComboValueById('comboOrder')
	
	prep_array.push(sort_word)
	
	//alert(prep_array.join('['))
	
	 return prep_array.join('[')
							  
							  
	
	
}

function CompileWordPartQSFilter() {
	
	var wordparts = AJS.$('wordpart_base').getElementsByTagName('TABLE')
	
	var prep_array = new Array()
	
	var i = 0
	
	for (i=0;i<wordparts.length;i++) {
		var wordpart_atom = wordparts[i].getElementsByTagName('INPUT')[0].value.split('|')[0]+'|'+wordparts[i].getElementsByTagName('SPAN')[1].innerHTML
		/*if (wordpart_atom.indexOf('~~') > -1 ) {
				
			var part_1_2 = wordpart_atom.split("::")
		
			var extra_elem = part_1_2[2].split("~~")
			
			var j = 0
			for (j=0;j<extra_elem.length;j++) {
				var tmp_atom = new Array()
				tmp_atom.push(part_1_2[0].split('|')[0]+(j == 0 ? '' : j+'^' ) +'|'+part_1_2[0].split('|')[1])
				tmp_atom.push(part_1_2[1])
				tmp_atom.push(extra_elem[j])
				
				prep_array.push(tmp_atom.join('::'))					
			}
				
		} else { */
		prep_array.push(wordpart_atom)
		
		//}
		
	}
	
	//soecual words
	
	for (var j in comboWordsRegistery.combos) {
		prep_array.push(AJS.$(comboWordsRegistery.combos[j].hookid+'_value').value.split('|')[0]+'|'+AJS.$(comboWordsRegistery.combos[j].hookid+'_text').innerHTML              )
	}
	

	
	 return prep_array.join('[')
	
	
}