    var nContent;//used for fade object and timers    
    var keepOpen=false,ratingTimer;
    function buildStarArray(arraySize){//should be inline;create array/build object
        var array=[];
        for(var i=1;i<=arraySize;i++){
            array[i]=[];
            array[i][0]=$('starBg'+i);
            array[i][1]=$('starEv'+i);
            array[i][2]=$('starEdit'+i);
            array[i][3]=$('wStars'+i).childNodes;
            //array[i][4]=$('wsStars'+i).childNodes;
            array[i][4]=$('starDisplay'+i);
        }      
        return array;
    }    
    function starRating(thisArray){
	    for(var i=1;i<thisArray.length;i++){	    	   
	        (function(a){
	            var starId=a.starId;	
	            var starEv=a.starEv;
		        var editBtn=a.editBtn;
		        var liArray=a.liArray;
                var liArray2=a.liArray2;
                var display=a.display;
                var realArray=[];            
                var starBg=new opacity(starId,0,0,100,100,5,1);		
                //starEv.onclick=function(){starBg.o.current<=starBg.o.start?starBg.iFadeIn(10):starBg.iFadeOut(10);};       
	            for(var i=0;i<liArray.length;i++){if(liArray[i].nodeName=='LI'){realArray.push(liArray[i]);}}		
    	        //for(var i=0;i<liArray2.length;i++){if(liArray2[i].nodeName=='LI'){realArray2.push(liArray2[i]);}}    	  		
	            var stars=new aStar(realArray,display);
            })({
                starId:thisArray[i][0],
                starEv:thisArray[i][1],
                editBtn:thisArray[i][2],
                liArray:thisArray[i][3],
                //liArray2:thisArray[i][4],
                display:thisArray[i][4]        
            });
        }   
    }    
    function aStar(array,display){	
		this.hasClicked=false;
		this.stars=array;
		//this.smallStars=array2;
		this.display=display;
		this.chosenStar=0;
		this.addEvent();
	}
	aStar.prototype={
	    doDisplay:function(){/** -1 after adding cancel/cross */
	        this.display.value=this.chosenStar>0?this.chosenStar-1:0;
	        /*for(var i=0;i<this.chosenStar;i++){
	            this.smallStars[i].sClass.class3=this.smallStars[i].sClass.class2;        
	        }	        
	        for(var i=this.chosenStar;i<this.smallStars.length;i++){
	            this.smallStars[i].sClass.class3=this.smallStars[i].sClass.class1;	        
	        }
	        for(var i=0;i<this.smallStars.length;i++){
	            this.smallStars[i].className=this.smallStars[i].sClass.class3;	        
	        }*/	    
	    },
		addEvent:function(){		    
		    this.stars[0].onclick=c$(this,'resetStars');
		    for(var i=1;i<this.stars.length;i++){		        
		        this.stars[i].order=(i+1);        
		        this.stars[i].onmouseover=c$(this,'doStar');	    
		        this.stars[i].onmouseout=c$(this,'dontStar');      
		        this.stars[i].onclick=c$(this,'clickStar');
		        this.stars[i].bClass={class1:'starOff',class2:'starOn',class3:'starOff'};
		    }
		    /*for(var i=0;i<this.smallStars.length;i++){
		        this.smallStars[i].sClass={class1:'smallOff',class2:'smallOn',class3:'smallOff'};		    
		    }*/		
		},
		resetStars:function(){
		    this.addEvent();
		    this.display.value=0;
		    for(var i=1;i<this.stars.length;i++){
		        this.stars[i].className=this.stars[i].bClass.class1;
		    }
		},
		clickStar:function(e){
		    var target=getTarget(e);
		    this.chosenStar=this.findStar(target.id);		    
		    this.defStar();
		    this.dontStar();
		    this.doDisplay();
		    this.stopStars();		    
		},
		stopStars:function(){
		    for(var i=1;i<this.stars.length;i++){
		        this.stars[i].onmouseover=null;
		        this.stars[i].onmouseout=null;		    	    
		    }	
		},
		doStar:function(e){
		    var target=getTarget(e);
		    var getIndex=this.findStar(target.id);		    
		    for(var i=1;i<getIndex;i++){		    
		        this.stars[i].className=this.stars[i].bClass.class2;		    
		    }
		    for(var i=getIndex;i<this.stars.length;i++){		    
		        this.stars[i].className=this.stars[i].bClass.class1;		    
		    }
		},
		defStar:function(){
		    for(var i=1;i<this.chosenStar;i++){
		        this.stars[i].bClass.class3=this.stars[i].bClass.class2;	    
		    }
		    for(var i=this.chosenStar;i<this.stars.length;i++){
		        this.stars[i].bClass.class3=this.stars[i].bClass.class1;		    
		    }	
		},
		dontStar:function(){
		    for(var i=1;i<this.stars.length;i++){
		        this.stars[i].className=this.stars[i].bClass.class3;//this.stars[i].timeout=setTimeout("this.stars["+i+"].className=this.stars["+i+"].bClass.class3",100);	    
		    }	
		},
		findStar:function(key){
		    for(var i=1;i<this.stars.length;i++){
		        if(key==this.stars[i].id){return this.stars[i].order;}		    
		    }return false;
		}	
	}
    
    function submitRating(){    
        var wrapRating=$('wrapRating');
        var xmlHttp=createxmlHttp(); 
        var getRating=[],getDesc=[];
        var getDescT=$$(document,'li','rDesc');
        var ratingText=$('ratingText');
        var getRatingT=$$(document,'input','starHidden');
        var getEmail=$('hEmail').innerHTML;
        var getPcode=$('hPcode').innerHTML;                        
        for(var i=0;i<getDescT.length;i++){
            if(getRatingT[i].value!=0){
                getDesc.push(getDescT[i]);
                getRating.push(getRatingT[i]);                
            }       
        }              
        var URL='/insertRating.asp?';
            URL+='pcode='+getPcode;
            URL+='&email='+getEmail;
            if(ratingText!=null){
                if(ratingText.value!=''){URL+='&comments='+ratingText.value;}
            }
            URL+='&ratingDesc=';                
        for(var i=0;i<getDesc.length;i++){            
            URL+=getDesc[i].innerHTML;
            URL+=i<getDesc.length-1?'::':'';                      
        }
        URL+='&ratingVal=';
        for(var i=0;i<getDesc.length;i++){            
            URL+=getRating[i].value;
            URL+=i<getDesc.length-1?':::':'';                            
        }
        xmlHttp.onreadystatechange=function(){ 
            if(xmlHttp.readyState==4 && xmlHttp.status==200){                          
                //nContent.fade.iFadeOut(10);
                /*nContent.fade.timer(
                    function(){
                        nContent.fade.iFadeOut(10);                    
                    }               
                ,100);
                */
                wrapRating.innerHTML=xmlHttp.responseText;      
                nContent.fade.timer(function(){posPopUp($('starContent'));},10);                                                  
            }
        };     
        //alert(URL);      
        xmlHttp.open("GET",URL,true);
        xmlHttp.send(null);       
    }
    function openRating(pcode){               
        if(pcode==''){return false;}
                
        nContent=$('starContent');     
        isNaN(parseInt(version1))?
        nContent.fade=new opacity(nContent,0,0,100,0,10,10):
        nContent.fade=new opacity(nContent,0,0,100,0,10,10);//IE      
        nContent.fade.iFadeIn(10);  
        var nreq=createxmlHttp();  
        nreq.onreadystatechange=function(){
            if(nreq.readyState==4&&nreq.status==200){            
                nContent.fade.iFadeIn(10);
                var result=nreq.responseText.split('#split#');
                nContent.innerHTML=result[0];                
                starRating(buildStarArray(result[1]));                
                if($('newsClose')){
                    $('newsClose').onclick=function(){
                        nContent.fade.iFadeOut(10);                
                    }
                }
                nContent.fade.timer(function(){posPopUp(nContent);},100);                           
            }            
        }
        var URL="/rating.asp?";
        URL+="pcode="+pcode;   
        //alert(URL);
        nreq.open("GET",URL,true);
        nreq.send(null);    
    }       
    function posPopUp(obj){        
        var windowHeight=window.innerHeight?window.innerHeight:document.documentElement.clientHeight;
        var height=obj.scrollHeight;  
        window.scrollTo(0,0);
        if(height>=windowHeight){obj.style.top=0+'px';}
        else{obj.style.top=parseInt((windowHeight/2)-(height/2))+'px';}               
    }
	function popupRating(offset,obj){
	    clearTimeout(ratingTimer);
	    var container=$('ratingContent');
	    var pcode=obj.id;
	    var request=createxmlHttp();  
        request.onreadystatechange=function(){
            if(request.readyState==4&&request.status==200){ 
	            container.style.left=obj.offsetLeft+offset.x+'px';
	            container.style.top=obj.offsetTop+offset.y+'px';	            
	            container.style.display='block';
	            container.innerHTML=request.responseText;
	        }
	    }	        
	    var URL="/getRating.asp?pcode="+pcode;
        request.open("GET",URL,true);
        request.send(null);             
	}
	function closeRating(){ratingTimer=setTimeout(function(){$('ratingContent').style.display='none';},300);}
	function doFlag(bool){keepOpen=bool;}
	function doLogin(pcode){	    	    
	    var username=document.starLogin.username1.value;
	    var password=document.starLogin.password1.value;
	    var URL=('https:' == document.location.protocol ? 'https://' : 'http://');	    
	    //URL+='www.';	    
	    URL+=window.location.host;
	    URL+='/aLogin.asp?username='+username;
	    URL+='&password='+password;
	    var request=createxmlHttp();  
	    request.onreadystatechange=function(){
	        if(request.readyState==4&&request.status==200){openRating(pcode);}    
	        return false;
	    }
	    request.open("GET",URL,true);
	    request.send(null);
	    //nContent.fade.iFadeOut(10);
	}
	
