// =============================== GLOBALS VARIALBLES ==================================== //
var JQ=jQuery.noConflict();

// var PATH = 'http://192.168.1.4/dutch/whproducts/';
// var PATH = 'http://dev03.codeclouds.com/dutch/whproducts/';

var s
var callFrom = '' ;
var tbox = Array();
var popUp;
var Interval;
var s1 ;
var popTop = 10 ;
var popInterval ; 
var popDivs = Array("add_popup_box", "err_msg_box" , "wait");
var close_over_main = '';
var selectedItem=-1;
var prevClass = '';
var popUpHtml = '' ;//for new popup window. 
// =============================== END OF GLOBALS VARIABLE =============================  //
function newWindow(data,win, w , h ){
	if(typeof(data)=='undefined')return false;
 	win = typeof(win)=='undefined' ? 'report#1' : win ; 
	w = typeof(w)=='undefined' ? '600' : w ; 
	h = typeof(h)=='undefined' ? '600' : h ; 
	popUpHtml = data ; 
	var url = '../admin/template/report/popup-report.html'; 
	var space = 'mode=0,directories=0,scrollbars=1,resizable=1,titlebar=0,height='+h+',' ; 
	space = space +  "width="+w ;
    if(win=='report#1')	window.open( url , 'report_blank'  , space );
}

function mousePos(){
	var IE = document.all?true:false;
	if (!IE) document.captureEvents(Event.MOUSEMOVE)
	document.onmousemove = getMouseXY;
	var tempX = 0;
	var tempY = 0;
	function getMouseXY(e) {
	if (IE) { // grab the x-y pos.s if browser is IE
	tempX = event.clientX + document.body.scrollLeft;
	tempY = event.clientY + document.body.scrollTop;
	}
	else {  // grab the x-y pos.s if browser is NS
	tempX = e.pageX;
	tempY = e.pageY;
	}  
	if (tempX < 0){tempX = 0;}
	if (tempY < 0){tempY = 0;}  
	document.Show.MouseX.value = tempX;
	document.Show.MouseY.value = tempY;
	return true;
	}
}

function mouseX(evt) {
if (evt.pageX) return evt.pageX;
else if (evt.clientX)
   return evt.clientX + (document.documentElement.scrollLeft ?
   document.documentElement.scrollLeft :
   document.body.scrollLeft);
else return null;
}

function mouseY(evt) {
if (evt.pageY) return evt.pageY;
else if (evt.clientY)
   return evt.clientY + (document.documentElement.scrollTop ?
   document.documentElement.scrollTop :
   document.body.scrollTop);
else return null;
}
// =============================== END OF MOUSE VARIABLE =============================  //
function f_clientWidth() {
	return f_filterResults (
		window.innerWidth ? window.innerWidth : 0,
		document.documentElement ? document.documentElement.clientWidth : 0,
		document.body ? document.body.clientWidth : 0
	);
}
function f_clientHeight() {
	return f_filterResults (
		window.innerHeight ? window.innerHeight : 0,
		document.documentElement ? document.documentElement.clientHeight : 0,
		document.body ? document.body.clientHeight : 0
	);
}

function f_scrollWidth(maxW) {
	maxW = typeof(maxW)!='undefined' ? maxW : 0;
	return document.body ? ( document.body.scrollWidth || document.body.offsetWidth ) : maxW;
}

function f_scrollHeight(maxH) {
	maxH = typeof(maxH)!='undefined' ? maxH : 0;
	return	document.body ? ( document.body.scrollHeight || document.body.offsetHeight ) : maxH; 
}

function f_scrollLeft() {
	return f_filterResults (
		window.pageXOffset ? window.pageXOffset : 0,
		document.documentElement ? document.documentElement.scrollLeft : 0,
		document.body ? document.body.scrollLeft : 0
	);
}

function f_scrollTop() {
	return f_filterResults (
		window.pageYOffset ? window.pageYOffset : 0,
		document.documentElement ? document.documentElement.scrollTop : 0,
		document.body ? document.body.scrollTop : 0
	);
}
function f_filterResults(n_win, n_docel, n_body) {
	var n_result = n_win ? n_win : 0;
	if (n_docel && (!n_result || (n_result > n_docel)))
		n_result = n_docel;
	return n_body && (!n_result || (n_result > n_body)) ? n_body : n_result;
}

function fixWidth(divId){
	divEle = document.getElementById(divId);
		if(popDivs.inArray(divId)){
			return (divEle.scrollWidth||divEle.offsetWidth);
		}
	return 0;		 
}

function fixHeight(divId){
	divEle = document.getElementById(divId);
	if(popDivs.inArray(divId)){
		return (divEle.scrollHeight||divEle.offsetHeight);
	}
	return 0;		 
}

function fixHeightWidth(divId){
	  if(client.browser=='E' || client.browser=='N'  ){
		  	JQ('div#'+divId).css('height', '0px');
		  	JQ('div#'+divId).css('width', '0px');
	  }else{
		  	JQ('div#'+divId).css('height', 'auto');
		  	JQ('div#'+divId).css('width', 'auto');
	  }
	  if(divId=='err_msg_box' && parseInt(fixHeight(divId)) <= 400 ){
	  	JQ('div#'+divId).css('width', '400px');
	  }
	  JQ('div#'+divId).css('height' , parseInt(fixHeight(divId)) + 'px' );
	  JQ('div#'+divId).css('width' ,  parseInt(fixWidth(divId)) + 'px' );
}

function appearCenter(divId){
	var	divEle 	= document.getElementById(divId);
	if(divEle){
		fixHeightWidth(divId);
		var eh = divEle.style.Height
		var ew = divEle.style.Width
		var dh 	= 0 ;
		var sh 	= 0 ; 
		var dw 	= 0 ;
		var sw 	= 0 ;

		sh = parseInt(f_clientHeight());
		sw = parseInt(f_clientWidth());
		if(typeof( eh == 'undefined') || eh=='' || eh == 'auto' ){ eh= fixHeight(divId) ;}
		if(typeof( ew == 'undefined') || ew=='' || ew == 'auto' ){ ew=fixWidth(divId) ;	 }
		divEle.style.height= eh + 'px' ; 
		divEle.style.width= ew + 'px' ; 
		dh = parseInt(eh) ;
		dw = parseInt(ew) ;
		divEle.style.position = 'absolute';
		if(dh>sh){ 
				if((dh/2) > parseInt( f_scrollTop()) ){
				  divEle.style.top= '0px';	
				}else{
				   divEle.style.top= ( sh-dh ) +  f_scrollTop() - 10 + 'px';
				}
		}else{
				if(client.browser != 'E' && client.browser != 'N'){
					divEle.style.position = 'fixed';
					divEle.style.top=  parseInt( (sh-dh)/2 ) + 'px';
				}else{
					divEle.style.top=  parseInt( (sh-dh)/2 ) +  parseInt(f_scrollTop()) +  'px';
				}
		}
		if(dw>sw){ 
				  divEle.style.left= '0px';	
		}else{
			    if(client.browser != 'E' && client.browser != 'N'){
					divEle.style.left=  parseInt( (sw-dw)/2 ) +  'px';
				}else{
					divEle.style.left=  parseInt( (sw-dw)/2 ) +  parseInt(f_scrollLeft()) + 'px';				
				}
		}
		
		if(client.browser=='E' || client.browser=='N'  ){
			 adjustScreen('over_main');
		  	 adjustScreen('layer_wait');
		}
	} //if DivElement found 
}

function adjustScreen(divId , maxH , maxW ){
	maxH = typeof(maxH)!='undefined' ? maxH : 0;
	maxW = typeof(maxW)!='undefined' ? maxW : 0;
	if(typeof(divId)!='undefined' ){

		if(client.browser != 'E' && client.browser != 'N'){
			JQ('div#'+divId).css('position','fixed');
			JQ('div#'+divId).css('height' , parseInt(f_clientHeight()) + 'px' ); 
			JQ('div#'+divId).css('width' , parseInt(f_clientWidth()) + 'px' ); 
		}else{
			JQ('div#'+divId).css('position','absolute');
			JQ('div#'+divId).css('height' , parseInt(f_scrollHeight()) + 'px' ); 
			JQ('div#'+divId).css('width' , parseInt(f_scrollWidth()) + 'px' ); 
		}
	}
}

function fn_close_over_main(){
	over_main(false);
	if(close_over_main.trim()!=''){
			eval(close_over_main);
	}
}

function over_main(flag,callBackFlag){
	callBackFlag = typeof(callBackFlag)!= 'undefined' ? callBackFlag : true;
		if(flag){
			adjustScreen('over_main');
			JQ("div#over_main").fadeTo("slow" , 0.8);
			JQ("div#over_main").show();
		}else{
			JQ("div#over_main").fadeTo("slow" , 0, function(){
				if(callBackFlag){										   
					for(i=0; i< popDivs.length ; i++){
				   		if(popDivs[i]!='err_msg_box'){
							hideMe(popDivs[i],false);			
						}		
					}
					JQ("div#over_main").hide();											   																									
				}
			});
		}
}

/* menu bar navigation function */
function mainNavigationLayer()  {
    JQ("#topnavi li.tnav > a").unbind("mouseover");			
    JQ("#topnavi li.tnav > a").unbind("mouseout");			
    JQ("#topnavi li.tnav div > a").unbind("mouseover");			
    JQ("#topnavi li.tnav div > a").unbind("mouseout");			
    JQ(".suchbox").unbind("focus");			
    JQ("#topnavi li.tnav > a").mouseover(			
		function() {
            JQ(this).parent("li.tnav").each(function(i){
                JQ(this).addClass("subnav_show");
            }
            );          		
        }		
	);

	JQ("#topnavi li.tnav > a").mouseout(			
		function() {
            JQ(this).parent("li.tnav").each(function(i){
                JQ(this).removeClass("subnav_show");
            }
            );          		
        }		
	);
    
	JQ("#topnavi li.tnav div > a").mouseover(			
		function() {
            JQ(this).parent("div").each(function(i){
                JQ(this).addClass("subnav_show");
            }
            );          		
        }		
	);

    JQ("#topnavi li.tnav div > a").mouseout(			
		function() {
            JQ(this).parent("div").each(function(i){
                JQ(this).removeClass("subnav_show");
            }
            );          		
        }		
	);
    
    JQ(".suchbox").not("#content_home .suchbox").focus(
    	function() {
    		clearSearchBox(JQ(this));
    	}
	);
}

function clearSearchBox(fldObj) {
	query = JQ(fldObj).val();	
    if(query.indexOf("uchbegr") != -1) {
    	JQ(fldObj).val("");
    }
}


function makeBlank(){
	if(JQ('input#search').val() == 'Search...')
		document.getElementById('search').value ="";
	JQ('input#search').css('color', '#000000');	
}

function checkBlank(){
	// if()return false;
	if(JQ('input#search').length <=0 ) return false;
	search_val = JQ('input#search').val();
	if(search_val == ""){
		JQ('input#search').css('color', '#bbbbbb');	
		document.getElementById('search').value = 'Search...'; 
	}
		
}

function showMenu(mid, left) {	
	JQ(document).ready( function() {	
		//JQ('div#sm'+mid).slideDown();	
		JQ('div#sm'+mid).show();	
	});
}

function hideMenu(mid, left) {	
	JQ(document).ready( function() {
		//JQ('div#sm'+mid).slideUp();	
		JQ('div#sm'+mid).hide();	
	});
}

function wait(flag){
	flag = typeof(flag) == 'boolean' ? flag : true;
	/*
	if(flag){	
	  adjustScreen('layer_wait');
	  appearCenter('wait');
	  JQ('div#wait').show();	
	  JQ('div#layer_wait').show();
	  JQ('div#main').fadeTo("fast" , 0.33 );
//	  JQ('div#main').fadeTo("fast" , 0.33 );
	}
	else{		
	  JQ('div#wait').hide();	
  	  JQ('div#main').fadeTo("fast" , 1 );
	  JQ('div#add_popup_box').fadeTo("fast" , 1 );
	  JQ('div#layer_wait').hide();
	}
	*/
}

function searchMe(form_id, div_id) {
	if(JQ('form#'+form_id).find('input#search'))
		var sdata = JQ('input#search').val();
	if(sdata.replace(/\s/, "") == "" || sdata.replace(/\s/, "") == "Search...")
		return false;
	wait(true);
	JQ.get(JQ('form#'+form_id).attr('action') , {  ajx: true, sdata: sdata },
	   function(data){			
	   	 JQ('div#'+div_id).html("");
		 JQ('div#'+div_id).html(data);
		 wait(false);
	});
	return false;
}

function executeMe(str_url, div_id) {
	JQ.get(str_url , { pass : 'true' },
	   function(data){
			 JQ('div#'+div_id).html("");
			 JQ('div#'+div_id).html(data);
	});
}

function executeURL(str_url, feedback ) {
	feedback  = typeof(feedback)!='undefined' ? feedback  : '';
	JQ.get(str_url , {},
	   function(data){
	   	 eval(feedback);
	});
}



function toggleMe(did){
	if(tbox[did] == 1){
		JQ('div#'+did).hide();
		JQ('img#tig'+did).attr('src', '../media/images/icon/plus.gif');
		tbox[did] = 0;
	} else {
		JQ('div#'+did).show();
		JQ('img#tig'+did).attr('src', '../media/images/icon/minus.gif');
		JQ('div#tig'+did).attr('src', '../media/images/icon/minus.gif');
		tbox[did] = 1;
	}
}

function showMsg(data , autoHide ){/*
	autoHide  = typeof(autoHide)!='undefined' ? autoHide  : true;
	JQ('div.err_msg_box').append(data);
	 //alert("Data Loaded: " + data);
	JQ('div.err_msg_box').show();
	appearCenter('err_msg_box');
	wait(false);
	if(autoHide){
		s = setInterval( 'hideMsg()', 5000);	
	}
	*/
	alert(data);
}

function showOnFormMsg(data){
	 	JQ('div#frm_err_msg_box').html(data);
		JQ('div#frm_err_msg_box').show();
		appearCenter('add_popup_box');
		wait(false);
}

function hideMsg(){
	//alert("hide msg")
	JQ('div.err_msg_box').html("");
	JQ('div.err_msg_box').hide();
	clearInterval(s);
}

function hideOnFormMsg(){
	JQ('div#frm_err_msg_box').html("");
	JQ('div#frm_err_msg_box').hide();
	 clearInterval(s);
}

function showMe(dvid) {	
	JQ(document).ready( function() {
		JQ('div#'+dvid).show();
		wait(false)
		if(popDivs.inArray(dvid)){
			JQ('div#'+dvid).css('height' , 'auto');
			JQ('div#'+dvid).css('width' , 'auto');
			appearCenter(dvid);
			over_main(true);
		}
	});
}

function hideMe(dvid,reCallOverMainFlag) {	
	reCallOverMainFlag = typeof(reCallOverMainFlag) != 'undefined' ? reCallOverMainFlag : true ;
	JQ(document).ready( function() {
		JQ('div#'+dvid).hide();
		JQ('div#'+dvid).html("&nbsp;");
		if(popDivs.inArray(dvid)){
			JQ('div#'+dvid).css('height' , 'auto');
			JQ('div#'+dvid).css('width' , 'auto');
			if(reCallOverMainFlag){
				over_main(false,reCallOverMainFlag); 
			}
		}
	});
}


function validateAdmin(form_id){
	var user_password		= JQ('input#user_password').val();
	var user_email			= JQ('input#user_email').val();
	var user_priority		= document.getElementById('user_priority')[document.getElementById('user_priority').selectedIndex].value;
	
	JQ('div.require_field_error').hide();
	JQ('div.require_field_error').html("");

	if(user_email.replace(/\s/,'') == ''){
		JQ('div#email_row').append('<div class="require_field_error">Required field must not be blank</div>');
		JQ('div.require_field_error').show();
		return false;
	} else if(user_password.replace(/\s/,'') == ''){
		JQ('div#password_row').append('<div class="require_field_error">Required field must not be blank</div>');
		JQ('div.require_field_error').show();
		return false;
	} /*else if(product_manufacturers.replace(/\s/,'') == ''){
		JQ('div#priority_row').append('<div style="background-color:#yellow;color:red; font-size:10px;">Please select any manucaturer<div>');
		JQ('div.require_field_error').show();
		return false;
	} */
	
	//alert("All is ok");
	//return false;		
	return true
}


function changeRecPerPage(str_url, div_id , obj )
{	str_url_arr = str_url.split('&ADMIN_LIMIT_COUNT=');
	str_url = str_url_arr[0];
	str_url_arr = str_url.split('&page=');
	str_url = str_url_arr[0];
	str_url = str_url.replace(/&show_all=true/ , '' );
	str_url = str_url.replace(/&$/,'');
	str_url = str_url + '&page=1&ADMIN_LIMIT_COUNT='+obj.value ; 
	executeMe(str_url, div_id) ; 
    // alert(str_url);
}

function goToPageNo(str_url, div_id , obj )
{
	str_url_arr = str_url.split('&page=');
	str_url = str_url_arr[0];
	str_url = str_url.replace(/&show_all=true/ , '' );
	str_url = str_url.replace(/&$/,'');
	//alert(str_url);
	str_url = str_url + '&page='+obj.value ; 
	executeMe(str_url, div_id) ; 
//	alert(str_url);
}

function voida(){};

function doWhenPressEnter(e , callBackFn){
	if(e.keyCode == 13 || e.keyCode == 10 ){
	  eval(callBackFn);	
	}
}

function validEmail(valEmail , valOptional){
	valOptional = typeof(valOptional) != 'undefined' ? valOptional : false;
	if(valEmail.search(/\S/) == -1){
		if(!valOptional){	
			alert("Please enter your Email");
			return false;
		}
	}else{	var x = valEmail;
			var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z]{2,4})+$/;
			if (filter.test(x)==false){	
				alert("Email Id Is Not Valid.");
				return false;
			}
	}	

	return true; 
}
/*
JQ(document).ready( function() {
	checkBlank();

	if(client.browser != 'E' && client.browser != 'N'){
			appearCenter('wait');
	}else{
		JQ(window).scroll(function () { 
			appearCenter('add_popup_box');
			appearCenter('wait');
			appearCenter('err_msg_box');
		});
	}
	JQ('div#main').css('visibility' , 'visible') ;
	wait(false);
});
*/
function listHover(tr){
	trid = tr.id ;
	prevClass = JQ('table.admin_list tr#'+trid).attr("class");
	JQ('table.admin_list tr#'+trid).removeClass(prevClass);
	if(prevClass=='odd'||prevClass=='even'){
		JQ('table.admin_list tr#'+trid).addClass('tr_hover');
	}else{
		JQ('table.admin_list tr#'+trid).addClass('tr_selected');	
	}
}

function listOut(tr){
	trid = tr.id ;
	if(JQ('table.admin_list tr#'+trid).hasClass('tr_hover')){
		JQ('table.admin_list tr#'+trid).removeClass('tr_hover');
		JQ('table.admin_list tr#'+trid).addClass(prevClass);
	};
}

function tdHover(td,orgCls){
	tdid = td.id ;
	if(JQ('td#'+tdid).hasClass(orgCls)){
		// JQ('td#'+tdid).removeClass(orgCls);
		JQ('td#'+tdid).addClass(orgCls+'_hover');
	}
}

function tdOut(td,orgCls){
	tdid = td.id;
	if(JQ('td#'+tdid).hasClass(orgCls+'_hover')){
		JQ('td#'+tdid).removeClass(orgCls+'_hover');
		// JQ('td#'+tdid).addClass(orgCls);
	};
}



function getSelectedRow(trId){
	unsetSelectedRow();
	selectedItem = trId;
	if(JQ('table.admin_list tr#'+trid).hasClass('odd')){
		JQ('table.admin_list tr#'+trid).removeClass('odd');
	}
	if(JQ('table.admin_list tr#'+trid).hasClass('even')){
	  JQ('table.admin_list tr#'+trid).removeClass('even');
	}
	JQ('table.admin_list tr#'+trid).addClass('tr_selected');
}

function unsetSelectedRow(){
	var trid=selectedItem;
	tmpClass = JQ('table.admin_list tr#'+trid).attr('class')
	JQ('table.admin_list tr#'+trid).removeClass(tmpClass);
//	alert(tmpClass + ' : ' + trid)
//	alert(parseInt(trid)%2);
	if(parseInt(trid)%2==0){
		prevClass = 'odd';
		JQ('table.admin_list tr#'+trid).addClass('odd');
	}else{
		prevClass = 'even';
		JQ('table.admin_list tr#'+trid).addClass('even');
	}
//	alert(prevClass);
//	addClass(prevClass);
}

function goto_url(url){
	window.location.href=url;
}
/* ================= END OF MOST COMMON FUNCTION ========================== */
/* ========== Other Common Function : Ranjan */
/* ========================= CUSTOMER FUNCTIONS ============================================= */
function state_combo( script , country_id , div_id ){
	str_url =  'customer.php?sec=state_combo&ajx=true&script='+encodeURI(script) ; 
	str_url = str_url+  '&country_id='+country_id ; 
	executeMe(str_url, div_id) ;
}

function city_combo( script ,  country_id , state_id ,  div_id ){
	str_url =  'customer.php?sec=city_combo&ajx=true&script='+encodeURI(script) ; 
	str_url = str_url+  '&country_id='+country_id ; 
	str_url = str_url+  '&state_id='+state_id ; 
	executeMe(str_url, div_id) ;
}

function state_comboF( script , country_id , div_id ){
	str_url =  '/ajx/customer/state/'+country_id+'.htm?script='+encodeURI(script) ; 
	executeMe(str_url, div_id) ;
}

function city_comboF( script ,  country_id , state_id ,  div_id ){
	str_url =  '/ajx/customer/city/'+country_id+'/'+state_id+'.htm?script='+encodeURI(script) ; 
	executeMe(str_url, div_id) ;
}

/* ===================== END OF  CUSTOMER FUNCTIONS ============================================= */




// JavaScript Document
/*************************************************
Star Rating System
First Version: 21 November, 2006
Second Version: 17 May, 2007
Author: Ritesh Agrawal (http://php.scripts.psu.edu/rja171/widgets/rating.php)
        email: ragrawal [at] gmail (dot) com
Inspiration: Will Stuckey's star rating system (http://sandbox.wilstuckey.com/jquery-ratings/)
Half-Star Addition: Karl Swedberg
Demonstration: http://examples.learningjquery.com/rating/
Usage: JQ('#rating').rating('url-to-post.php', {maxvalue:5, curvalue:0});

arguments
url : required -- post changes to 
options
  increment : 1, // value to increment by
	maxvalue: number of stars
	curvalue: number of selected stars
	

************************************************/

jQuery.fn.rating = function(url, options) {
	if(url == null) return;
	var settings = {
    url : url, // post changes to 
    increment : 1, // value to increment by
    maxvalue  : 5,   // max number of stars
    curvalue  : 0    // number of selected stars
  };

  if(options) {
    jQuery.extend(settings, options);
  };
  jQuery.extend(settings, {cancel: (settings.maxvalue > 1) ? true : false});
  var container = jQuery(this);
	jQuery.extend(container, {
    averageRating: settings.curvalue,
    url: settings.url
  });
  settings.increment = (settings.increment < .75) ? .5 : 1;
  var s = 0;
	for(var i= 0; i <= settings.maxvalue ; i++){
    if (i == 0) {
	    if(settings.cancel == true){
        var div = '<div class="cancel"><a href="#0" title="Cancel Rating">Cancel Rating</a></div>';
        container.empty().append(div);
      }
    } else {
      var $div = JQ('<div class="star"></div>')
        .append('<a href="#'+i+'" title="Give it '+i+'/'+settings.maxvalue+'">'+i+'</a>')
        .appendTo(container);
      if (settings.increment == .5) {
        if (s%2) {
          $div.addClass('star-left');
        } else {
          $div.addClass('star-right');
        }
      }
    }
    i=i-1+settings.increment;
    s++;
  }
	
  var stars = jQuery(container).children('.star');
  var cancel = jQuery(container).children('.cancel');
	
  stars
    .mouseover(function(){
      event.drain();
      event.fill(this);
    })
    .mouseout(function(){
      event.drain();
      event.reset();
    })
    .focus(function(){
      event.drain();
      event.fill(this);
    })
    .blur(function(){
      event.drain();
      event.reset();
    });

  stars.click(function(){
		if(settings.cancel == true){
      settings.curvalue = (stars.index(this) * settings.increment) + settings.increment;
      jQuery.post(container.url, {
        "rating": jQuery(this).children('a')[0].href.split('#')[1] 
      
      });
			return false;
		} else if (settings.maxvalue == 1) {
			settings.curvalue = (settings.curvalue == 0) ? 1 : 0;
			JQ(this).toggleClass('on');
			jQuery.post(container.url, {
        "rating": jQuery(this).children('a')[0].href.split('#')[1] 
      });
			return false;
		}
		return true;
			
  });

  // cancel button events
	if(cancel){
    cancel
    .mouseover(function(){
      event.drain();
      jQuery(this).addClass('on');
    })
    .mouseout(function(){
      event.reset();
      jQuery(this).removeClass('on');
    })
    .focus(function(){
      event.drain();
      jQuery(this).addClass('on');
    })
    .blur(function(){
      event.reset();
      jQuery(this).removeClass('on');
    });
      
    // click events.
    cancel.click(function(){
      event.drain();
      settings.curvalue = 0;
      jQuery.post(container.url, {
        "rating": jQuery(this).children('a')[0].href.split('#')[1] 
      });
      return false;
    });
  }
        
	var event = {
		fill: function(el){ // fill to the current mouse position.
			var index = stars.index(el) + 1;
			stars
				.children('a').css('width', '100%').end()
				.slice(0,index).addClass('hover').end();
		},
		drain: function() { // drain all the stars.
			stars
				.filter('.on').removeClass('on').end()
				.filter('.hover').removeClass('hover').end();
		},
		reset: function(){ // Reset the stars to the default index.
			stars.slice(0,settings.curvalue / settings.increment).addClass('on').end();
		}
	};    
	event.reset();
	return(this);	
};

