var DEFAULT_VALUES = {
  's_term' : {'txt' : 'Search here','style' : 'dimmed'},
  'newsletter_name' : {'txt' : 'Name','style' : 'dimmed'},
  'newsletter_email' : {'txt' : 'Email Address','style' : 'dimmed'},
  'newsletter_address' : {'txt' : 'Address or ZIP Code','style' : 'dimmed'}
};

$(document).ready(function() {

  setDefaultValues();
  $('#global_search_form').submit(function() {
    removeDefaultValues();
    window.location = $('#global_search_form').attr('action') + '?s_term=' + $('#s_term').val();
    return false;
  });

  $(document).pngFix();
  
  $('#form_newsletter').submit(function(){
	$('#newsletter_success').hide();
    var data = $("#form_newsletter").serializeArray();
    for (var i in data)
    {
      if (DEFAULT_VALUES['newsletter_'+data[i].name] && DEFAULT_VALUES['newsletter_'+data[i].name].txt == data[i].value)
        data[i].value = '';
    }
    $.post(
      BASE_URL+'index/newsletter',
      $.param(data),
      function(res) {
	    if (res.status == 1)
	    {
	      $('#form_newsletter UL.errors').remove();
	      $('#newsletter_success').show();
	      $("#form_newsletter INPUT").val('').each(function(){$(this).focus().blur()});
	      
	    }
	    else
	    {
	      $('#form_newsletter UL.errors').remove();
	      for (var key in res.errors)
	      {
	        var errorString = '';
	        for (var e in res.errors[key])
	        {
	          errorString += '<li>'+ res.errors[key][e] +'</li>';
	        }
	        $('#form_newsletter [name="'+key+'"]').parent().after('<ul class="errors">'+errorString+'</ul>');
	      }
	    }
	    $('#newsletter_submit').removeAttr('disabled').attr('src',BASE_URL+'styles/img/footer_submit.png');;
	  },
	  'json'
	);
    $('#newsletter_submit').attr('disabled','disabled').attr('src',BASE_URL+'styles/img/footer_submit_disabled.png');
    return false;
  });
  
  
});

function setDefaultValues() {
  for ( var elem in DEFAULT_VALUES) {
    if (DEFAULT_VALUES[elem].password == true
        && !$('#' + elem + '_hint').get().length) {
      $(
          "<input type='text' id='" + elem + '_hint' + "' rel='"+ elem  + "' class='"+ DEFAULT_VALUES[elem].style + "' />").val(DEFAULT_VALUES[elem].txt)
          .hide().prependTo($('#' + elem).parent());
    }

    if ($('#' + elem).val() == ''
        || $('#' + elem).val() == DEFAULT_VALUES[elem].txt) {
      if (DEFAULT_VALUES[elem].password == true) {
        $('#' + elem).hide();
        $('#' + elem + '_hint').show();
      } else {
    	$('#' + elem).addClass(DEFAULT_VALUES[elem].style);
        $('#' + elem).val(DEFAULT_VALUES[elem].txt)
      }
    }

    $('#' + elem).blur(function() {
      if ($(this).val() == '') {
        if (DEFAULT_VALUES[$(this).attr('id')].password == true) {
          $(this).hide();
          $('#' + $(this).attr('id') + '_hint').show();
        } else {
          $(this).addClass(DEFAULT_VALUES[$(this).attr('id')].style);
          $(this).val(DEFAULT_VALUES[$(this).attr('id')].txt);
        }
      }
    })

    $('#' + elem).focus(function() {
      if ($(this).val() == DEFAULT_VALUES[$(this).attr('id')].txt) {
        $(this).val('');
        $(this).removeClass(DEFAULT_VALUES[$(this).attr('id')].style);
      }
    })

    $('#' + elem + '_hint').focus(function() {
      try{
    	  $('#' + $(this).attr('rel')).show().focus();
      }catch(e){alert(e)}
    	
      $(this).hide();
    })
  }
}

function clickCheck(status)
{
	//NO CREDIT
	if(!status)
	  window.location = window.location;
}

function removeDefaultValues() {
  for ( var elem in DEFAULT_VALUES) {
    if ($('#' + elem).val() == DEFAULT_VALUES[elem].txt)
      $('#' + elem).val('')
  }
}

function currencyRenderer(v) 
{
    v = (Math.round((v-0)*100))/100;
    v = (v == Math.floor(v)) ? v + ".00" : ((v*10 == Math.floor(v*10)) ? v + "0" : v);
    v = String(v);
    var ps = v.split('.');
    var whole = ps[0];
    var sub = ps[1] ? '.'+ ps[1] : '.00';
    var r = /(\d+)(\d{3})/;
    while (r.test(whole)) {
        whole = whole.replace(r, '$1' + '.' + '$2');
    }
    v = whole + sub;
    /*
    if(v.charAt(0) == '-'){
        return '-$' + v.substr(1);
    }
    return "$" +  v;
    */
    return v;
}

function loadCheck(responseText, textStatus, XMLHttpRequest)
{
	var res = null;
	try {
	 res = eval('(' + responseText + ')');
	}catch(e){
	  res = responseText;
	}
	if(res != null && res.reload == true)
	{
		window.location.reload();
	}
}


function limitChars(textid, limit, infodiv)
{
	var text = $('#'+textid).val(); 
	var textlength = text.length;
	if(textlength > limit)
	{
		$('#' + infodiv).html('You cannot write more then '+limit+' characters!');
		$('#'+textid).val(text.substr(0,limit));
		return false;
	}
	else
	{
		$('#' + infodiv).html('You have '+ (limit - textlength) +' characters left.');
		return true;
	}
}
