function highlightTR(what, action) {
	if (document.getElementById(what)) {
		if (document.getElementById(what).className != 'red') {
			if (action == 1) {
				document.getElementById(what).className = 'highlight';
			}else{
				document.getElementById(what).className = 'light';
			}
		}
	}
}

function showHide(field, what) {
	if (document.getElementById(field)) {
		if (document.getElementById(field).checked == true) {
			if (document.getElementById(what)) {
				document.getElementById(what).style.display = 'none';
			}
		}else{
			if (document.getElementById(what)) {
				document.getElementById(what).style.display = '';
			}
		}
	}
}
function moveItem(where, what) {
	if (document.getElementById(what)) {
		list = document.getElementById(what);
		var selected = list.options.selectedIndex;

		if (where == "up") {
			var whereToMove = selected-1;
			if (selected == 0) {
				var dont = 1;
			}
		}else if (where == "down") {
			var whereToMove = selected+1;
			if (selected == list.length-1) {
				var dont = 1;
			}
		}

		if (!dont) {
			if (list.options[whereToMove].text) {
				if (selected >= 0) {
					var previousText = list.options[whereToMove].text;
					var previousValue = list.options[whereToMove].value;
		
					var thisText = list.options[selected].text;
					var thisValue = list.options[selected].value;
		
					list.options[selected].text = previousText;
					list.options[selected].value = previousValue;
		
					list.options[whereToMove].text = thisText;
					list.options[whereToMove].value = thisValue;
		
					list.options.selectedIndex = whereToMove;
				}
			}
		}
	}
}

function fillSelect(what) {
	element = window.document.getElementById(what);
	for (var i = 0; i < element.options.length; i++) {
		element.options[i].selected = true;
	}

	return true;
}
function getQuantities(){
	var ids = $("#ids").val();
	var queryString, step;
	var canReturn = 0;
	
	if(ids){
		// GET THE IDs IN HIDDEN FIELD
		var allIds = ids.split(',');
		// FOREACH ID
		for(var id in allIds){
			idTxt = eval(allIds[id]);
			var txt = "#quantity_" +  idTxt;
			var quantity = $(txt).val();

			if(quantity){
				if(!step){
					queryString = idTxt + "-" + quantity;
					step = 1;
				}else{
					queryString += "x" + idTxt + "-" + quantity;
				}
				$("#pids").attr("value", queryString);
				canReturn = 1;
			}
		}
		if(canReturn == 1)	return true;
	}
	return false;
}
function update(pid) {
	if (document.getElementById('form' + pid)) {
		document.getElementById('form' + pid).submit();
	}
}
function ChangeState(state_id){
	//var state_value = $('option:selected',this).attr('value')
	var state_value = document.getElementById('state_id')[document.getElementById('state_id').selectedIndex].value
	var cityObj = document.getElementById('city_id')
	var sel = 0
	
	if (state_value != 0){
		cities = eval("cities_" + state_value)
		citiesid = eval("cities_ids_" + state_value)
		cityLenght = cities.length
		cityObj.length = cityLenght
		
		if(cityLenght > 0){
			for( i=0 ; i < cityLenght ; i++ ){
				if(state_id != ''){
					if(parseInt(citiesid[i]) == parseInt(state_id)){
						sel = i
					}
				}
				cityObj.options[i].value = citiesid[i]
				cityObj.options[i].text = cities[i]
			}
		}
	}else{
		cityObj.length = 1
		cityObj.options[0].value = "0"
		cityObj.options[0].text = "Seleccione su Ciudad"
	}
	cityObj.options[parseInt(sel)].selected = true
}
function makeQuotes(selectedQuota) {
	var card_id = document.getElementById('card_id');
	var quotas = document.getElementById('quotas');
	var sel = 0;
	
	if(!card_id || !quotas) return false;
	
	quotas.length = 0;	
	
	quotasArr = eval("quota_" + card_id.value);
	
	if(!quotasArr) return false;
	quotasLenght = quotasArr.length;
	
	if (quotasLenght) {
		for (count = 1; count <= quotasLenght; count++) {
			if(parseInt(quotasArr[count]) == parseInt(selectedQuota)){
				sel = count;
			}
			quotas.options[count - 1] = new Option(quotasArr[count - 1], quotasArr[count - 1]);
		}
		quotas.options[parseInt(sel)].selected = true;
	}
}
function calculateShipping(){
	//var city_value = $('#city_id option:selected').attr('value')
	//var state_value = $('#state_id option:selected').attr('value')
	
	$('#e_action').val("2");
	$("#frm-shipment").submit();
}
function calculateQuota(){
	$('#e_action').val("2");
	$("#frm-paymethod").submit();
}
function unsetQuota(){
	$('#e_action').val("3");
	$("#frm-paymethod").submit();
}

function sendCity(){
	$('#e_action').val("3");
	$("#frm-shipment").submit();
}

function changeCountry(){
	$('#e_action').val("3");
	$("#frm_register").submit();
}

// JavaScript Document
/*************************************************
	This is hacked version of star rating created by <a href="http://php.scripts.psu.edu/rja171/widgets/rating.php">Ritesh Agrawal</a>
	It thansform a set of radio type input elements to star rating type and remain the radio element name and value,
	so could be integrated with your form. It acts as a normal radio button.
	modified by : Logan Cai (cailongqun[at]yahoo.com.cn)
	website:www.phpletter.com
	


************************************************/
/*
*	convert a set of radio buttons to star rating type of question
*/

jQuery.fn.rating = function(settings) {
	settings = jQuery.extend({
		 cancel:'Cancel Rating',
		 currentValue:''
	}, settings);
	
	settings.currentValue = $("#default_score").val();
	
	var prevElem = null;
	var valueElem = null;
	var container = jQuery(this);
	var CancelElem = null;
	var event = {
		fill: function(el){ // fill to the current mouse position.
			var stars = jQuery(valueElem).siblings('.star');
			var index = stars.index(el) + 1;
			jQuery(stars)
				.children('a').css('width', '100%').end()
				.lt(index).addClass('star_on').end();
		},
		drain: function() { // drain all the stars.
			var stars = jQuery(valueElem).siblings('.star');
			jQuery(stars)
				.filter('.star_on').removeClass('star_on').end()
				.filter('.star_hover').removeClass('star_hover').end();
		},
		reset: function(){ // Reset the stars to the default index.
			var stars = jQuery(valueElem).siblings('.star');
			jQuery(stars).lt(settings.currentValue).addClass('star_on').end();
		}
	};
return this.each(function (i){
	
			if(i == 0)//prepend cancel option at the begining
			{					
			valueElem = jQuery('<input type="hidden" name="' + this.name + '" value="" >');
			jQuery(this).before(valueElem);
			prevElem = valueElem;
				var CancelElem = jQuery('<div class="cancel"><a href="#" title="' + settings.cancel + '">' + settings.cancel + '</a></div>');			
			}
			
			//insert rating option right after preview element
			preElemTemp  = jQuery('<div class="star"><a href="javascript:;" title="' + this.title + '" rel="' + this.value + '">' + this.value + '</a></div>');
			jQuery(prevElem).after(preElemTemp);
			jQuery(preElemTemp)
				.mouseover(function(){
						event.drain();
						event.fill(this);
						
				})
				.mouseout(function(){
						event.drain();
						event.reset();
			});			
			jQuery(preElemTemp).click(function(){
				//alert(jQuery(this).children('a').attr('title'));
				settings.currentValue = jQuery(this).children('a').attr('rel');
				//alert(jQuery(this).children('a').attr('title'));
				jQuery(valueElem).val(settings.currentValue);
				$("#default_score").val(settings.currentValue);
				event.drain();
				//event.reset();
				event.fill(this);
			});						
			prevElem = preElemTemp;
			preElemTemp = null;
			//remove this checkbox
			$(this).remove();
			if(i + 1 == this.length){    
				event.reset();
			}
			event.reset();
		}
	);
};

jQuery.fn.ratingNoVote = function(settings) {
	settings = jQuery.extend({
		 cancel:'Cancel Rating',
		 currentValue:''
	}, settings);
	
	settings.currentValue = $("#star #default_score").val();
	
	var prevElem = null;
	var valueElem = null;
	var container = jQuery(this);
	var CancelElem = null;
	var event = {
		fill: function(el){ // fill to the current mouse position.
			var stars = jQuery(valueElem).siblings('.star');
			var index = stars.index(el) + 1;
			jQuery(stars)
				.children('a').css('width', '100%').end()
				.lt(index).addClass('star_on').end();
		},
		drain: function() { // drain all the stars.
			var stars = jQuery(valueElem).siblings('.star');
			jQuery(stars)
				.filter('.star_on').removeClass('star_on').end()
				.filter('.star_hover').removeClass('star_hover').end();
		},
		reset: function(){ // Reset the stars to the default index.
			var stars = jQuery(valueElem).siblings('.star');
			jQuery(stars).lt(settings.currentValue).addClass('star_on').end();
		}
	};
return this.each(function (i){
	
			if(i == 0){					
				valueElem = jQuery('<input type="hidden" name="' + this.name + '" value="" >');
				jQuery(this).before(valueElem);
				prevElem = valueElem;
			}

			preElemTemp  = jQuery('<div class="star"><a title="' + this.title + '">' + this.value + '</a></div>');
			jQuery(prevElem).after(preElemTemp);	
			prevElem = preElemTemp;
			preElemTemp = null;
			$(this).remove();
			event.reset();
		}
	);
};
