// --- BEGIN jQuery migrated code ---
var tag_line_length=70;

jQuery(document).ready(function($){	

// -- BEGIN Page specific jquery functions ---
	
	// -- BEGIN Stores --
	if ( $('body#stores').length ) {
		
		// --- BEGIN Create store
			if( $('form#create-store-form').length ){
			charControl( $('input#txt_store_name') ,32, []);
			charControl( $('textarea#txa_description') ,256,[13]);
			charControl( $('textarea#txa_retailer_opening_hours') ,128,[]);
		}// --- END Create store
		
		// --- BEGIN Edit store
			if( $('form#edit-store-details-form').length ){
			charControl( $('input#txt_store_name') ,32,[]);
			charControl( $('textarea#txa_description') ,256,[13]);
		}// --- END Create store
		
		// --- BEGIN Edit retailer
			if( $('form#edit-retailer-form').length ){
			charControl( $('textarea#txa_retailer_opening_hours') ,128,[]);
		}// --- END Edit store
        
		// --- BEGIN Add retailer
			if( $('form#add-retailer-form').length ){
			charControl( $('textarea#txa_retailer_opening_hours') ,128,[]);
		}// --- END Add store
				
	}// -- END Stores --
	
	// --- BEGIN Promotions ---	
	if ( $('body#promotions').length ) {
		
		// --- BEGIN Create promotions
		if ( $('form#create-promotion-form').length ) {
			charControl( $('input#txt_tag_line') ,tag_line_length, [] );			
			charControl( $('textarea#txa_description') ,2014,[13]);
			charControl( $('textarea#txa_terms_of_use') ,2014,[13]);
			
			$('select#id_slt_prefixes').change(function () {
				
				charControl( $('input#txt_tag_line') ,tag_line_length - $(this).val().length, [] );
							
			});
		}// --- END Create promotions
		
		// --- BEGIN Edit promotions
		if ( $('form#edit-promotion-details-form').length ) {
			charControl( $('input#txt_tag_line') ,tag_line_length, [] );
			charControl( $('textarea#txa_description') ,2014,[13]);
			charControl( $('textarea#txa_terms_of_use') ,2014,[13]);
		}// --- END Edit promotions
		
	}// --- END Promotions ---
	
	// --- BEGIN Group-Promotions ---	
	if ( $('body#group-promotions').length ) {
		
		// --- BEGIN Create promotions
		if ( $('form#create-promotion-form').length ) {
			charControl( $('input#txt_tag_line') ,tag_line_length, [] );			
			charControl( $('textarea#txa_description') ,256,[]);
			charControl( $('textarea#txa_terms_of_use') ,256,[]);
			
			$('select#id_slt_prefixes').change(function () {
				
				charControl( $('input#txt_tag_line') ,tag_line_length - $(this).val().length, [] );
							
			});
		}// --- END Create promotions
		
		// --- BEGIN Edit promotions
		if ( $('form#edit-promotion-details-form').length ) {
			charControl( $('input#txt_tag_line') ,tag_line_length, [] );
			charControl( $('textarea#txa_description') ,256,[]);
			charControl( $('textarea#txa_terms_of_use') ,256,[]);
		}// --- END Edit promotions
		
	}// --- END Promotions ---

	
	
	// --- BEGIN Advertise with us form ---
	if ( $('div#sign_up_wrap_sp').length && $('div#log_in_wrap_sp').length ) {
		
		signupForm = $('div#sign_up_wrap_sp');
		loginForm = $('div#log_in_wrap_sp');
		newAccount = $('#new-account');
		signupError = $("div#sign_up_wrap_sp ul.errorlist:first").length;
		signupEmail = $('div#sign_up_wrap_sp input#email');
		loginEmail = $('div#log_in_wrap_sp input#log_in_email');

		signupPw = $('div#sign_up_wrap_sp input#pwd_password');
		loginPw = $('div#log_in_wrap_sp input#password');
				
		// Toggle event for sign up / Log in forms
		newAccount.change( function () {
			form_toggle( this.checked );
			if( this.checked ) {
				signupEmail.val(loginEmail.val());
				signupPw.val(loginPw.val());
			} else {
				loginEmail.val(signupEmail.val());
				loginPw.val(signupPw.val());
			}
		});
		
		// Toggle function for sign up / Log in forms
		function form_toggle ( signup ) {
			if ( signup ) {
				signupForm.fadeIn();
				loginForm.hide();
				newAccount.attr('checked','checked');
			} else {
				signupForm.hide();
				loginForm.fadeIn();
				newAccount.removeAttr('checked','checked');
			}
		}
		
		// Initial toggle check for sign up / Log in forms
		form_toggle( newAccount.checked || signupError );
		
	}// --- END advertise-with-us ---
	
	// --- BEGIN add credits package ---
	if ( $('body#billing').length ) {
		
		//-- VAT FORMdd	
		if ( $('#vat-form').length ) {
			
			// Store elements in vars
			vatForm = $('fieldset#vat-validate-form');
			vatButton = $('input#vat-validate-form-button');
			ajaxLoader = $('img#ajax-loader');
			
			// Hide the ajax progress image
			ajaxLoader.hide();
			
			// Toggles the visibility of the VAT form
			$('input#choose-vat_0').click( function () {
				vatForm.fadeOut();	
			});
			
			// Toggles the visibility of the VAT form
			$('input#choose-vat_1').click( function () {
				vatForm.fadeIn();	
			});	
			
			// Validates the VAT with the NEXT button
			$('input#submit-button-confirm').click( function () {
				ajaxLoader.fadeIn();
				$('fieldset#vat-validate-form ul').remove();
			});
			
			// Vaidates VAT with validate button		
			vatButton.click( function (event) {
				
				event.preventDefault();
				$('fieldset#vat-validate-form ul').remove();
				ajaxLoader.fadeIn();
				this.disabled = 'disabled';
				
				$.get('/deals/billing/validate-vat/?vat=' + $("input#vat_number").val(), function(data) {
					response = data.split(';');		
					if ( response[0] === "false" ) {		
						$('fieldset#vat-validate-form').prepend('<ul class="errorlist"><li>' + response[1] + '</li></ul>');
					} else {
						$('fieldset#vat-validate-form').prepend('<ul class="succedlist"><li>' + response[1] + '</li></ul>');
					}
					ajaxLoader.fadeOut();
					vatButton.removeAttr('disabled');
				});
			});	
		}		
	}// --- END add credits package ---

// -- END Page specific jquery functions ---

// --- BEGIN Common functions ---

	// BEGIN Char control, ( element , char limit, forbidden chars[])
	function charControl(el,limit,forbidden) {
		var allowedKeys = [ 8, 13 , 46 , 37 , 38 , 39 , 40 ];
		var counter;
		var charLength = el.val().length;
		
		// Insert counter
		el.prev().html(el.prev().html() + (el.prev().has("span").length ? "" : ". <span></span>") );
		counter = el.prev().children('span').first();
		
		// check length
		if( charLength > limit ) {
			v = el.val().substring(0, limit);
			el.val(v);
		}
		
		// unbind previous events
		el.unbind();
		
		// Bind event
		el.bind('keyup keypress keydown', function(event) {
			if ( ( ( charLength >= limit ) ) & ( $.inArray( event.keyCode, allowedKeys ) == -1 ) ) {
				event.preventDefault();
				v = el.val().substring(0, limit);
				el.val(v);
			} 
			
			else if ( $.inArray( event.keyCode, forbidden ) != -1 ) 
			{
				event.preventDefault();
			}
				
			// update char count
			charLength = el.val().length;
			counter.html( charLength + '/' + limit );
        });
		
		// update char count
			charLength = el.val().length;
			counter.html( charLength + '/' + limit );
	}// END Char control
		
// --- END Common functions ---
	
}); // --- END jQuery migrated code ---

var promo;

document.observe("dom:loaded", function() { 
	
	if ($('select-package')) {
		add_decrease_increase_buttons($$('input.quantity-input'));

	}	
	    
    if($('promotion-details')) {
    	var url_id = location.href.split('/')[location.href.split('/').indexOf("view") + 1];
   		var surl = "http://" + location.host + "/deals/promotions/get-promotion-info/" + url_id;
   		    	
   		new Ajax.Request(surl, {
			method:'get',
		  	onSuccess: function(transport){
		    	promo = transport.responseText.evalJSON();
		    	$('info-link').observe('click', change_promo_viewport);
        		$('map-link').observe('click', change_promo_viewport);
		   }
		});
		

    }
    
    if($('slt_select_store')) {
        $('slt_select_store').observe('change', load_retailers);
    }
    
	if($('promotion-usage-section')) {
		
		$('id_bool_unlimited_usages').observe('click', function(e) {
			if(this.checked) {
				$$('#frequency-fields input').each(function(item) {
					$('txt_usages_per_frequency').value="";
				});
			}
		});
	
		$('txt_usages_per_frequency').observe('keyup', function(e) {
			if(this.value) {
				$('id_bool_unlimited_usages').checked=false;
			}
		});
	
	
		$('id_bool_unlimited_maximum_usages').observe('click', function(e) {
			if(this.checked) {
				$('txt_total_volume').value="";
			}	
		});
	
		$('txt_total_volume').observe('keyup', function(e) {
			if(this.value) {
				$('id_bool_unlimited_maximum_usages').checked=false;
			}
		});
	}
	
    if($('slt_billing_infos')) {
        $('slt_billing_infos').observe('change', load_billing_info);
    }    
    
    if($$('a.a_cancel')) {
        $$('a.a_cancel').invoke('observe', 'click', remove_success_message);
    }
    
    if($$('a.close')) {
        $$('a.close').invoke('observe', 'click', remove_success_message);
    }
    
    if($$('a.a_view_retailer')) {
        $$('a.a_view_retailer').invoke('observe', 'click', view_retailer);
        $$('tr.retailer_info').invoke('toggle');
    }
    
    if($('brand_city_results')) {
        new Ajax.Autocompleter('city', 'brand_city_results', '/deals/stores/filter-cities', {
            paramName: "text"
    	});
    }
    
    if($('retailer_city_results')) {    	
    	new Ajax.Autocompleter('retailer_city', 'retailer_city_results', '/deals/stores/filter-cities', {
    				paramName: "text"
    		   		});
    }
    
    if($('collection_city_results')) {    	
    	new Ajax.Autocompleter('txt_city', 'collection_city_results', '/deals/stores/filter-cities', {
    				paramName: "text"
    		   		});
    }    

    if($('billing_city_results')) {    	
    	new Ajax.Autocompleter('txt_city', 'billing_city_results', '/deals/stores/filter-cities', {
    				paramName: "text"
    		   		});
    } 

    if($('account_city_results')) {    	
    	new Ajax.Autocompleter('txt_city', 'account_city_results', '/deals/stores/filter-cities', {
    				paramName: "text"
    		   		});
    }
     
    if($('slt_select_store')) {
        
        $('toggle-stores-button').hide();
        
        var brand_id = $('slt_select_store').value;
        if(brand_id != 0) {

           var elements = $$('input.checked_retailers');
           var url = '/deals/promotions/load-retailers/'+brand_id;
           
           new Ajax.Request(url, {
                method: 'get',
                onSuccess: function(transport) {
                    
                    $('stores-viewport').update(transport.responseText);
                    
                    var retailers = $$('input.retailer');
                                        
                    retailers.each(function(r) {
                        r.checked = true;
                        elements.each(function(s) {
                            if(r.value == s.value) {
                                $(r.id).checked = true;
                            } else {
                                $(r.id).checked = false;
                            }
                        });
                        
                    });
                    $('toggle-stores-button').show();
                    $('toggle-stores-button').observe('click', toggle_retailers);
                }
            });
        }

    }
    
    if($('slt_billing_infos')) {
        var billing_info_id = $('slt_billing_infos').value;
        if(billing_info_id != 0) {
           
           var url = '/deals/promotions/load-billing-info/'+billing_info_id;

           new Ajax.Request(url, {
                method: 'get',
                onSuccess: function(transport) {
                    
                    var response = transport.responseText;
                    if(response.search('no-funds') != -1) {
                        $('publish-step3').hide();
                    } else {
                        $('publish-step3').show();
                    }
                    
                    $('billing_info_viewport').update(response);
                }
            });
        }
    }
    
    if($('retailer_store_details')) {
        $('id_separate_retailer_info').observe('click', toggle_retailer_info);
        if($('id_separate_retailer_info').checked) {
        	$('retailer_store_details').show();
        	}
        	else {
        	$('retailer_store_details').hide();
        	}
    }
    
    if($$('div.more_info')) {
        $$('div.more_info').invoke('toggle');
        $$('a.a_more_info').invoke('observe', 'click', toggle_help_text);
    }
    
    if($('store-categories-wrap')) {
        $$('#store-categories-wrap input').invoke('observe', 'click', check_nr_of_checkboxes);
        check_nr_of_checkboxes();
    }
    
    if($$('div.legal')) {
        $$('div.legal').invoke('toggle');
        $$('a.legal').invoke('observe', 'click', toggle_legal);
    }
    

    if($('default-artwork-wrap')) {
        highlight_initial_default_image();
        $$('#default-artwork-wrap label').invoke('observe', 'click', highlight_selected_image);
        $$('input.file_img_upload').invoke('observe', 'change', deselect_default_image);

    }
    
    if($('edit_brand_details_message')) {
        refresh_image('store_logo');
    }
    
    
    if($('edit_brand_details_message')) {
        refresh_image('store_logo');
    }
    
    if($('edit_promotion_image_message')) {
        refresh_image('img_artwork');
    }
    
    if($('select-package')) {
        $$('div.credit-package').invoke('observe', 'click', select_credit_package);
        $$('div.credit-package').invoke('observe', 'mouseover', set_package_hover).invoke('observe', 'mouseout', remove_package_hover);
    }

	if($('promotion-validity-section')) {
		$$('#promotion-validity-section input').each(function(item) {
			item.readOnly = true;
		});
	}
            
});

function add_decrease_increase_buttons(fields) {
	
	fields.each(function(item) {
      		item.insert({before:'<span class="quantity-input-decrease quantity-input-button"><img src="/kaskado-media/internal/image/deals/minus.png" /></span>'});
      		item.insert({after:'<span class="quantity-input-increase quantity-input-button"><img src="/kaskado-media/internal/image/deals/plus.png" /></span>'});
      		item.setAttribute('readOnly',true);
      		
	});
	
	$$('span.quantity-input-decrease').invoke('observe', 'click', decrease_package_quantity);
	$$('span.quantity-input-increase').invoke('observe', 'click', increase_package_quantity);
}

function decrease_package_quantity(event) {
	if (parseInt(this.next(0).value) <=0) {
		
	} else {
		this.next(0).value = parseInt(parseInt(this.next(0).value) - 1);
	}
}

function increase_package_quantity(event) {
	this.previous(0).value = parseInt(this.previous(0).value) + 1;
}

function change_promo_viewport(event) {
	
	if (this.hasClassName('promo_viewport_link_selected')) { 
		$('info-link').update('Details');
		$('map-link').update('Map');
		$('info-link').removeClassName('promo_viewport_link_selected');
		$('map-link').removeClassName('promo_viewport_link_selected');
				
		$('promo_viewport_update').update('Image');	
		$('promo_viewport_update').update('<img src="' + promo.image + '" id="img_promotion"/>');
		
	} else {
		
		$('info-link').update(gettext('Details'));
		$('map-link').update(gettext('Map'));
		$('info-link').removeClassName('promo_viewport_link_selected');
		$('map-link').removeClassName('promo_viewport_link_selected');
		
		this.update(gettext('Flip back'));
		this.addClassName('promo_viewport_link_selected');
		
		if (this.match('a#info-link')) {
			$('promo_viewport_update').update('<div class="promotion-description promotion-text"> <p>' + promo.description + '<p/></div>' + '<div class="promotion-terms promotion-text"><h3 id="terms-of-use">Terms of Use</h3><p>' + promo.terms_of_use + '</p></div>');
		} else if (this.match('a#map-link')) {
			$('promo_viewport_update').update('<img src="' + promo.map_url + '" id="img_promotion"/>');
		} else {
			$('promo_viewport_update').update(gettext('Error'));
		}
	}
}

function select_credit_package(event) {
    $$('div.credit-package').invoke('removeClassName', 'selected').invoke('removeClassName', 'hover');
    this.addClassName('selected');
}

function set_package_hover(event) {
    this.addClassName('hover');
}

function remove_package_hover(event) {
    $$('div.credit-package').invoke('removeClassName', 'hover');
}

function toggle_terms_of_sales(event) {
    
}

function refresh_image(image) {
    var obj = document.getElementById(image);
    var src = obj.src;
    var pos = src.indexOf('?');
    if (pos >= 0) {
        src = src.substr(0, pos);
    }
    var date = new Date();
    obj.src = src + '?v=' + date.getTime();
    return false;
}

function toggle_legal(event) {
    Event.stop(event);
    
    var element = this.rel;
    $(element).toggle();
    
}

function check_nr_of_checkboxes(event) {
    
    var boxes = 0;
        
    $$('#store-categories-wrap input').each(function(i) {
        if(i.checked) {
            boxes += 1;
        } 
    });
    
    if(boxes > 2) {
        $$('#store-categories-wrap input').each(function(i) {
            if(!i.checked) {
                i.disabled = true;
            } 
        });
    }
    
    if(boxes < 3) {
        $$('#store-categories-wrap input').each(function(i) {
            if(!i.checked) {
                i.disabled = false;
            } 
        });
    }
}

// Marks the selected default image when clicked on.
function highlight_selected_image(event) {
    
    var use_default = true;
    
    $$('input.file_img_upload').each(function(element) {
        if(element.getValue()) {
            if(use_default = use_default_image()) {
                element.clear();
                $('place-holder').replace('<span id="place-holder"></span>');
                $('image-preview').removeClassName('preview');
            } else {
                Event.stop(event);
            }
        }
    });
    
    if(use_default) {
        
        Event.stop(event);
        
        if($('id_image')) {
            var file_element = new Element('input', {'type': 'file', 'name': 'image', 'id': 'id_image', 'class': 'file_img_upload'});
            $('id_image').replace(file_element);
        }
        
        if($('id_logotype')) {
            var file_element = new Element('input', {'type': 'file', 'name': 'logotype', 'id': 'id_logotype', 'class': 'file_img_upload'});
            $('id_logotype').replace(file_element);
        }
        
        $$('#default-artwork-wrap label').invoke('removeClassName', 'selected');
        this.addClassName('selected'); 
        this.down('input').checked = true;
    }

}

function use_default_image() {
    var use = confirm(gettext('Do you want to use the default image instead of the image you have uploaded?'));
    return use;
}

// Marks the selected default image when the page is loaded
function highlight_initial_default_image() {

    $$('#default-artwork-wrap input').each(function (element) {

        if(element.checked) {
            element.up(0).addClassName('selected');
        }
    });

}

function deselect_default_image(event) {

    $$('#default-artwork-wrap label').invoke('removeClassName', 'selected');
    
    $$('#default-artwork-wrap input').each(function (element) {
        if(element.checked) {
            element.checked = false;
        }
    });
    
}

function load_retailers(event) {
    var url = '/deals/promotions/load-retailers/'+this.value;
    new Ajax.Request(url, {
      method: 'get',
      onSuccess: function(transport) {
          $('stores-viewport').update(transport.responseText);
          
          $$('input.retailer').each(function(r) {
              r.checked = true;
          });
          
          $('toggle-stores-button').show();
          $('toggle-stores-button').observe('click', toggle_retailers);
      }
    });
    
}

function toggle_retailers(event) {
    Event.stop(event);
    
    var element = $('stores-select-text');
    
    if($('stores-select-text').hasClassName('deselect')) {
        
        $$('input.retailer').each(function(r) {
            r.checked = false;
        });
        
		
        element.removeClassName('deselect').addClassName('selected');
        element.title=gettext("Select all");
	element.update(element.title);
	
        
        
    } else {
        
        $$('input.retailer').each(function(r) {
            r.checked = true;
        });
        
        element.removeClassName('selected').addClassName('deselect');

	element.title=gettext('Deselect all');
	element.update(element.title);
        
    }
    
}

function load_billing_info(event) {
    var url = '/deals/promotions/load-billing-info/'+this.value;

    new Ajax.Request(url, {
      method: 'get',
      onSuccess: function(transport) {
          
          var response = transport.responseText;
          if(response.search('no-funds') != -1) {
              $('publish-step3').hide();
          } else {
              $('publish-step3').show();
          }
          
          $('billing_info_viewport').update(response);
          
      }
    });
    
}

function remove_success_message(event) {
    Event.stop(event);
    $$('div.success-message').invoke('remove');
}

function view_retailer(event) {
    
    Event.stop(event);
    element = this.rel;
    link = this.id
        
    if($(element).hasClassName('close')) {
        $(element).removeClassName('close')
        $(link).update('view');
    } else {
        $(element).addClassName('close');
        $(link).update('close');
    }

    $(element).toggle();
}

function toggle_retailer_info() {
    $('retailer_store_details').toggle();
}

function toggle_help_text(event) {

    Event.stop(event);
    element = this.rel;
    link = this.id

    $(element).toggle();

}

// Yahoo file uploader
function init() {
    
    var upload_image = function(e) {
        YAHOO.util.Event.preventDefault(e);
        var kind = this.rel;
        var form = this.rev;

        var file_elements = YAHOO.util.Dom.getElementsByClassName('file_img_upload');

        if(file_elements[0].value) {
            //the second argument of setForm is crucial,
            //which tells Connection Manager this is a file upload form
            YAHOO.util.Connect.setForm(form, true);

            var upload_handler = {
                upload: function(o) {
                    
                    var str_error = o.responseText;
                    if(str_error.match('Error')) {
                        alert(str_error.slice(9, -2));
                    } else {
                        var el = YAHOO.util.Dom.get('image-preview');
                        var img = document.createElement('img');
                        img.src = o.responseText;
                        img.id = 'place-holder';
                        YAHOO.util.Dom.addClass('image-preview', 'preview');
                        el.replaceChild(img, YAHOO.util.Dom.get('place-holder'));   
                    }
                }
            };
            YAHOO.util.Connect.asyncRequest('POST', '/deals/promotions/upload-image/'+kind+'/', upload_handler);
        } else {
            alert(gettext('Please use the browse button to select an image before previewing it.'));
        }
    };
    
  YAHOO.util.Event.on('preview-button', 'click', upload_image);
  
}
YAHOO.util.Event.on(window, 'load', init);

YAHOO.namespace("kaskado.calendar"); 
YAHOO.kaskado.calendar.init = function() {
    var todays_date = new Date();
    YAHOO.kaskado.calendar.cal1StartTime = new YAHOO.widget.Calendar("cal1","cal1StartTime", {title: "Promotion start date", minDate: todays_date});
    YAHOO.kaskado.calendar.cal1StartTime.cfg.setProperty("DATE_FIELD_DELIMITER", ".");
    YAHOO.kaskado.calendar.cal1StartTime.selectEvent.subscribe(handleSelect, YAHOO.kaskado.calendar.cal1StartTime, true);
    YAHOO.kaskado.calendar.cal1StartTime.render();
    
    YAHOO.kaskado.calendar.cal2EndTime = new YAHOO.widget.Calendar("cal2","cal2EndTime", {title: "Promotion end date", minDate: todays_date});
    YAHOO.kaskado.calendar.cal2EndTime.selectEvent.subscribe(handleSelect, YAHOO.kaskado.calendar.cal2EndTime, true);
    YAHOO.kaskado.calendar.cal2EndTime.render();

    YAHOO.util.Event.addListener(["calendar-start-time-img", "calendar-end-time-img"], "click", show_calendar);
    
} 

YAHOO.util.Event.onDOMReady(YAHOO.kaskado.calendar.init);

function show_calendar(e) {
        
    var cal1 = YAHOO.util.Dom.get("cal1StartTime");
    var cal2 = YAHOO.util.Dom.get("cal2EndTime");
    if(YAHOO.util.Dom.hasClass(cal1, "calendar-hidden")) {
        YAHOO.util.Dom.replaceClass(cal1, "calendar-hidden", "calendar-visible");
        YAHOO.util.Dom.replaceClass(cal2, "calendar-hidden", "calendar-visible");
    } else {
        YAHOO.util.Dom.replaceClass(cal1, "calendar-visible", "calendar-hidden");
        YAHOO.util.Dom.replaceClass(cal2, "calendar-visible", "calendar-hidden");
    }

}


function handleSelect(type, args, obj) {

    var dates = args[0]; 
    var date = dates[0]; 
    var year = date[0], month = date[1], day = date[2];
    var elements = YAHOO.util.Dom.getElementsByClassName(obj.containerId, 'input');
    
    if(month < 10) {
        month = '0'+month;
    }
    
    if(day < 10) {
        day = '0'+day;
    }
    
    var txt_field = document.getElementById(elements[0].id); 
    txt_field.value = year + "-" + month + "-" + day; 
    var txt_field_anim = new YAHOO.util.ColorAnim(txt_field, {backgroundColor: { from: '#ccffcc', to: '#ffffff' }, borderColor: { from: '#009900', to: '#cccccc' } }); 
    txt_field_anim.animate();  

}

