/*
 * Function to increase/decrease amount of article by one.
 * 
 * @param val amount value
 * @param dir flag to increase/decrease value
 * @return String increased/decreased value
 */
function changeArticleAmount (val, dir) {
  val = val.replace(/,/g, ".");
  val = (isNaN(val) || val < 0) ? String(1) : val;
  tok = val.split(".");
  val = (tok.length > 1) ? tok[0] : val;
  val = (dir == "decrease") ? --val : ++val;    
  val = (tok.length > 1) ? val + "." + tok[1] : val;
  val = (val <= 0) ? 1 : Math.round(val*100)/100;
  return String(val).replace(/\./g, ",");
}

/*
 *
 *
 */
function validateBirthdate (params)
{
  if (
			typeof(params)=='undefined' ||
			typeof(params['day'])=='undefined' || 
			typeof(params['month'])=='undefined' ||
			typeof(params['year'])=='undefined' ||
			typeof(params['minAge'])=='undefined'
     )
    return false;
    
  var bdDay    = parseInt(params['day'], 10);
  var bdMonth  = parseInt(params['month'], 10);
  var bdYear   = parseInt(params['year'], 10);
  var bdMinAge = params['minAge'];

	if (isNaN(bdDay) || isNaN(bdMonth) || isNaN(bdYear)) 
	  return false;
	if (bdDay < 1 || bdMonth < 1 || bdYear < 1)
    return false;
    
	// compare dates
	var oDate = new Date();
	oDate.setFullYear(oDate.getFullYear() - bdMinAge);
	var oBirthDate = new Date(bdYear, bdMonth-1, bdDay);
	var diff = oDate.getTime() - oBirthDate.getTime();

  return (diff < 0) ? false : true;
}        
 

/*
 *
 *
 */
function validateDcard (params)
{
  if (
        typeof(params)=='undefined' ||
        typeof(params['number'])=='undefined'
     )
    return false;
    
    var dcardNumber = params['number'];
    
    // check for spaces
	if (dcardNumber.indexOf(" ") > -1)
		return false;

    // check numeric
    dcardNumberInt = parseInt(dcardNumber, 10);
    
	if (isNaN(dcardNumberInt) || dcardNumber.length != 10 || dcardNumberInt != dcardNumber) 
	  return false;
	  
    return true;
} 

function twitterThis(url, title) {
  // Create unique name for callback function:
  var ud = 'json'+(Math.random()*100).toString().replace(/\./g,''),
	// Define API URL:
  API = 'http://json-tinyurl.appspot.com/?url=';

  // Define a new global function:
  // (which will run the passed 'success' function:
  window[ud]= function(data){ 
    window.open('http://twitter.com/home/?status=' + escape(title) + '+' + escape(data.tinyurl) + '+via+@edeka24.de','twitter');
  };

  // Append new SCRIPT element to BODY with SRC of API:
  document.getElementsByTagName('body')[0].appendChild((function(){

    var s = document.createElement('script');
    s.type = 'text/javascript';
    s.src = API + encodeURIComponent(url) + '&callback=' + ud;
    return s;

  })());
    
}




