// JavaScript Document

(function($){		

  $.fn.extend({	 
	 
	 selectResult:function(behaviour,data){	 
	   var tempMainObj=$(this)
	   tempMainObj.bind(behaviour,function(e){
		   getCondition(data,false,true)
	   })		
	 },
	 
	 
	 
	 productInfo:function(div){
	   var topPad=30 
	   var overOut=true
	   
	   
	   
	   $(div).click(function(){
		   if(overOut){
			 if (!jQuery.browser.msie) {
			   $('#detail').fadeOut('fast')
			 }else{
			   $('#detail').css('display','none')
			 }
		   }
	   })
	   
	  $('div').find('.close.btn').bind('click',function(){
	  if (!jQuery.browser.msie) {
	     $('#detail').fadeOut('fast')
	  }else{
	    $('#detail').css('display','none')
	  }	
	})
	  
	  
	  
	    $(div).find('#content').mouseover(function(){
		  overOut=false
		})
	   
	   $(div).find('#content').mouseout(function(){
		  overOut=true
		})
	   
	   
	   if (!jQuery.browser.msie) {
	     $(div).fadeOut(function(){$(div).css('top','0px')})
	   }else{
	     $(div).css('top','0px')
		 $(div).css('display','none')
	   }
	   
	   
	   this.find('.btn').bind('click',function(e){              
			  /*20111012*/
			 
			  
			  
			  
			  loadResult($(this), $(this).text());				  
			  
			  $(div).css('height',$(document).height()-30)
			  if (!jQuery.browser.msie) {  
			    $(div).css('padding-top',(topPad+window.scrollY)+'px')
				$(div).fadeOut('fast')
			    $(div).fadeIn('fast')	
			  }else{
			   $(div).css('display','block')
			  }
			  
			  
	
		  })
	 } 
	 
			  
  });		  
})(jQuery)




function getCondition(data,reset,methodType){
	
	
	tempC=[]
	tempF=[]	
	
	tempC[0]=[]
	if($('#family').find('.active').attr('familyvalue')){
		$('#family').find('.active').each(function(e){
		  tempC[0].push($(this).attr('familyvalue'))
		})	
	}
	
	if(tempC[0].length==0){
	   tempC[0]="none"
	}
	
	if($('#Conectivity').find('.active')){
	  tempC[1]=[]
	  $('#Conectivity').find('.active').each(function(e){			  
		tempC[1].push($(this).attr("Conectivityvalue"))
	  })
	  
	 if(tempC[1].length==0){
	   tempC[1][0]=0
	 }
	 
	}	
	
	tempC[2]= [Number($('#flashA option:selected').val()),Number($('#flashB option:selected').val())]
	tempC[3]= [Number($('#ramA option:selected').val()),Number($('#ramB option:selected').val())]
	tempC[4]= [Number($('#pinsA option:selected').val()),Number($('#pinsB option:selected').val())]
	tempC[5]= [Number($('#priceA option:selected').val()),Number($('#priceB option:selected').val())]
	
    

    tempParameter=tempC[0].length+","+tempC[1].length+","+tempC
	
	$('#result').find('.veiwAll').attr('parameter',tempParameter)
	
 	/*alert($('#result').find('.veiwAll').attr('parameter'))*/
	findDevice(data,tempC,methodType)
	
}

function loadResult(target,PartNo){
	var btnArray=new Array()
	var tempValueArray=new Array() 
	var tagValueArray=new Array()
    var endstring=PartNo.indexOf("#")
	
	PartNo=PartNo.substring(0,endstring)

	
		
	$.ajax({
	url: 'http://www.rxmcu.com/USA/php/data_list.php?PartNo='+PartNo,/*data_list.xml*/
	type: "GET",
	dataType: 'text/xml',
	success: function(xml) {
    
	
	
	if (jQuery.browser.msie) {  
	   var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");  
	   xmlDoc.loadXML(xml);  
	   xml = xmlDoc;  
	}  	
	
	
	$(xml).find('product').find("*").each(function(e){
	tempValueArray.push($(this).text())
	tagValueArray.push($(this).get(0).tagName.replace(/_/ig," "))
	})
	
	
	/*20111012*/
	/*if(!$(xml).find("series").text()){
	  $('#detail').css('display','none');
	  alert("Sorry No Data Yet");
	  return false;
	}*/
	
	btnArray.push($(xml).find("series").text())
	btnArray.push($(xml).find("Group").text())
	btnArray.push($(xml).find("Docu_ments").text())
	
	
	
	var tempAppNote
	var groupLink 
	if(btnArray[1]=="RX610"){
	groupLink ="RX610group.php"
	}else if(btnArray[1]=="RX621" || btnArray[1]=="RX62N"){
	groupLink ="RX62Ngroup.php"
	}else if(btnArray[1]=="RX62T"){
	groupLink ="RX62Tgroup.php"
	}else if(btnArray[1]=="RX210"){
	groupLink ="RX210group.php"
	}
	
	
	btnArray.push(PartNo)
	btnArray.push($(xml).find("Samples").text())

	
    var tempObj=$('#detail')	
	tempObj.find('.series').text(btnArray[0]+' Series')
	tempObj.find('.groups').text(btnArray[1])
	tempObj.find('.groups').attr('href',groupLink)
	tempObj.find('.csv').attr("href",'http://www.rxmcu.com/USA/php/csv.php?CsvNo='+btnArray[3])
	tempObj.find('.partNo').text(btnArray[3])
	tempObj.find('.doc').attr("href",btnArray[2])
    tempObj.find('.buySample').attr("href",btnArray[4])

	
	temptable=""
	
	
	for(var i=0; i<29; ++i){
	temptable=temptable+'<tr class="styletr"><td class="style1">'+tagValueArray[i*3+1]+'</td>'+
      '<td class="style2"><span class="cell"><span class="note boxShadow2"></span><span class="textArea">'+tempValueArray[i*3+1]+'</span></span></td>'+
      '<td class="style1">'+tagValueArray[i*3+2]+'</td>'+
      '<td class="style2"><span class="cell"><span class="note boxShadow2"></span><span class="textArea">'+tempValueArray[i*3+2]+'</span></span></td>'+
      '<td class="style1">'+tagValueArray[i*3+3]+'</td>'+
      '<td class="style3"><span class="cell"><span class="note boxShadow2"></span><span class="textArea">'+ tempValueArray[i*3+3]+'<span></span></td></tr>';    
	}

	
	$('#detailTable').html(temptable);
	
	$('.cell').each(function(e){
			var target=$(this)
			var targetText=$(this).find('.textArea')
			var cellHight=target.height()
			var textArea=targetText.height()
			var tempText=targetText.text()
			
		
			if (!jQuery.browser.msie) {  
			  if(textArea>cellHight){			 
                var timer2=setInterval(setMore2,3000)			  
			  }
			}else{
			  
               var timer2=setInterval(setMore,3000)

			}
			
			function setMore2(){
			 clearInterval(timer2)
			 target.addClass('btn')
			 targetText.html('<a href="#">More</a>')				
			  
			  target.bind('mouseover',function(){
				   target.css('overflow','visible')
				   target.find('.note').css('display','block')
				   target.find('.note').html(tempText)
			  })			  
			  target.bind('mouseout',function(){
				  target.find('.note').css('display','none')
				  
			  })
			
			}
			
			
			function setMore(){
			  clearInterval(timer2)
			  var tempH1=Number(target.height())
			  var tempH2=Number(targetText.height())			  
			  if(tempH1<tempH2){			    
				target.addClass('btn')
			 targetText.html('<a href="#">More</a>')				
			  
			  target.bind('mouseover',function(){
				   target.css('overflow','visible')
				   target.find('.note').css('display','block')
				   target.find('.note').html(tempText)
			  })			  
			  target.bind('mouseout',function(){
				  target.find('.note').css('display','none')
				  
			  })
			  }
			}
			
	})
	

	},	   
	Error: function() {
	  alert("ERROR!!!");
	}
  });
}

function findDevice(data,searchP,methodType){
 
	  
	  
	  function muultiCompare(data,index,object){
		 this.dataResult=[]
		 var tempArray=[]
		 var tempFL=object.length		
		 var tempDL=data.length
	    
		for(var k = 0;k<tempFL;k++){
		  for(var i = 0; i < tempDL; i++){			  
			  
			  if(data[i][index]==object[k]){				  
				  tempArray.push(data[i])
			  }	else if(data[i][index]==0 || data[i][index]=="-" || data[i][index]==""){
			      data[i][index]="-"
				  tempArray.push(data[i])
			  }
		  }		  
		}
		 this.dataResult=tempArray
	  }
	  
	  function rangeCompare(Data,index,object){
		this.dataResult=[]
		var tempPL=Data.length		
		var tempArray=[]
		
		for(var k = 0;k<tempPL;k++){		   
		   
		   if(Data[k][index]>=object[0]&& Data[k][index]<=object[1]){
		    tempArray.push(Data[k])
		   }else if(Data[k][index]=="0" || Data[k][index]=="-" || Data[k][index]==""){
			 Data[k][index]="-"
			 tempArray.push(Data[k])
		   }
		}
		
		
				
		this.dataResult=tempArray
	  }
	  
  
	  function arrayParse(data,index,object){
		 this.dataResult=[]
		 var tempArray=[]

		 /*object=object.split(",")*/
		 var tempFL=object.length		
		 var tempDL=data.length
		 
		 		  
		  for(var i = 0; i < tempDL; i++){				  
			  var tempArray2=[]	
			  var tempArray2=data[i][index].split(",")
              var tempAL=tempArray2.length
              
			  for(var j=0; j<tempAL; ++j){			  
				  var breakpoint=false
				  for(var k=0;k<tempFL;k++){
					 if(tempArray2[j]==object[k] || tempArray2[j]=="" || tempArray2[j]=="-"){				  
					    tempArray.push(data[i])
						breakpoint=true
					    break;
				       }
				  }
				  
               if(breakpoint){break}		  
			  }
			  
			  
			  if(tempArray2[0]==0){
			     tempArray.push(data[i])
			  }
           			  		  
		  }		
		 this.dataResult=tempArray 
	  }	
	  
	  
	  
	  var device=new muultiCompare(data,0,searchP[0])	  
	  
	  
	  
	  if(methodType){
		device=new arrayParse(device.dataResult,2,searchP[1]);
		device=new rangeCompare(device.dataResult,3,searchP[2]);
		device=new rangeCompare(device.dataResult,4,searchP[3]);
		device=new rangeCompare(device.dataResult,5,searchP[4]);
	  }
		 
	  device=new rangeCompare(device.dataResult,6,searchP[5]);
	  redrawTable(device.dataResult,"#resultList");

}


function redrawTable(data,tableList){
	  filterData=data  
	   
	  var tempL=filterData.length
	  $('#result').find('.count').text("("+tempL+")")
	  $('#result').find('.blue').text(tempC[0]+"")	   
	  $('#resultList').fadeOut()
	  $('#resultList').html('')	 
	  var temptable='';	  
		
	 for (var i = 0; i < tempL; i++) {
	  var tempCon=""
	  var tempComArry=data[i][2].split(",")
	  var tempComL=tempComArry.length
	  if(tempComArry[0]==0){
		  tempCon="-"
	  }else{		
		for(var k=0; k<tempComL; ++k){
		   tempCon=tempCon+tempComArry[k]+' '
		}
	  }
	  

	   
	   
   temptable=temptable+'<tr><td class="partNo btn">'+data[i][7]+'</td>'+
		  '<td class="style1">'+data[i][3]+'</td>'+
		  '<td class="style2">'+data[i][4]+'</td>'+
		  '<td class="style6">'+tempCon+'</td>'+
		  '<td class="style4">'+data[i][5]+'</td>'+
		  '<td class="style5">'+data[i][6]+'</td><tr>';
   } 	   

   $('#resultList').html(temptable);
   $('#resultList').fadeIn()
   $('#resultList').productInfo('#detail')	
}
  

		  


