function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
	    var c = ca[i];
	    while (c.charAt(0)==' ') c = c.substring(1,c.length);
	    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}
function setCookie(cookie, value)
{
    document.cookie = cookie + '=' + value + '; expires=Thu, 2 Aug 2030 20:47:11 UTC; path=/';
}
function getCookie(cookie)
{
    var val = readCookie(cookie);     
    return val;
}

function zekerWeten(sUrl, sMsg)
{
	if ( confirm(sMsg) )
	{
		window.location=sUrl;
	}
}

//IE6 flicker bug solution:
window.onload = function() {
	try {

		document.execCommand("BackgroundImageCache", false, true);

	} catch(err) {}
}

function mailMe(name, domain, extension)
{
  var url;
  url = 'mailto:';
  url += name;
  url += '@';
  url += domain;
  url += '.';
  url += extension;
  window.open(url);
}

function openpopup(sUrl)
{
  window.open(sUrl);
}

function openpopup(sUrl, width, height)
{
  openpopup(sUrl, width, height, 'resizable=1,scrollbars=0,toolbar=0,location=0,status=0,menubar=0');
}

function openpopup(sUrl, width, height, options)
{
  var sOptions = options;
  if (height > 0)
    sOptions = 'height='+height+','+sOptions;
  if (width > 0)
    sOptions = 'width='+width+','+sOptions;
  window.open(sUrl, 'popup', sOptions);
}

function setActionAndSubmit(sFormId, sAction)
{
  var form = document.getElementById(sFormId);
  if ( form )
  {
    form.action = sAction;
    form.submit();
  }
}

function updateVergelijker(checkbox, siteNodeId, reloadPage)
{
	var act = 'removeFiets'; 
	if( $(checkbox).attr('checked') == true )
	{
		act = 'addFiets';
	}
	var link = '/asyncVergelijker.aspx?action='+act+'&arg0='+siteNodeId+'&dummy='+getRandomString(6);
	if ( reloadPage )
	{
		ajaxGet(link, '', function() { document.location.reload(true); } );
	}
	else
	{
		var fadeTime = 1000;
		$.get(link,function(a,b,c){
		    
			var responseDom = $('<div>'+a+'</div>');
			$('#fiets-vergelijker>h2>span').text(responseDom.find('h2').text());
			if(responseDom.find('div#melding').length == 1){
				if($('#fiets-vergelijker>div#melding').length == 1)
				{
					$('#fiets-vergelijker>div#melding').html(responseDom.find('div#melding').html());					
				} else {
					var el = responseDom.find('div#melding');					
					el.css({display:'none'});
					//if($("#vergelijkerContent").attr("state") == "visible")
					//{					    					
					    el.addClass('slideIn');
					//}
					
					if($("#melding", "#vergelijkerContent").length == 0)
					{
					  $("#vergelijkerContent").append(el);
					}
					var boxState = getCookie("textState");    
              if(typeof boxState == "undefined" || boxState == null || boxState == "")
              {
                $("#extraText").attr("state", "hidden");
                $("#extraText").hide();
                $("#showExtraTextIcon").attr("src", $("#showExtraTextIcon").attr("showsrc"));
                setCookie("textState", 'hidden');        
              }
              else
              {
                if(boxState == "visible")
                {
                  $("#extraText").show();
                  $("#showExtraTextIcon").attr("src", $("#showExtraTextIcon").attr("hidesrc"));
                  $("#extraText").attr("state", "visible");
                }
                else
                {
                  $("#extraText").hide();
                  $("#showExtraTextIcon").attr("src", $("#showExtraTextIcon").attr("showsrc"));
                  $("#extraText").attr("state", "hidden");
                }
              }
					//el.insertAfter($('#fiets-vergelijker>h2'));
				}
			}
			else
			{
				if($('#fiets-vergelijker div#melding').length == 1)
				{
					$('#fiets-vergelijker div#melding').addClass('slideOut');
				}
			}
			if(responseDom.find('a.vergelijken').length == 0)
			{
				$('#fiets-vergelijker a.vergelijken').addClass('slideOut');
			}
			else
			{
				if($('#fiets-vergelijker a.vergelijken').length == 0)
				{				
					var el = responseDom.find('a.vergelijken');
					el.css({display:'none'});
					//if($("#vergelijkerContent").attr("state") == "visible")
					//{					    
					    el.addClass('slideIn');
					//}
					el.appendTo($('#vergelijkerContent'));
				}
			}
			var fietsenInSite = $('#fiets-vergelijker div.mijnfiets');
			var fietsenInResponse = responseDom.find('div.mijnfiets');
			fietsenInSite.each(function(){
				var id = $(this).attr('data-fiets');
				if(fietsenInResponse.filter(function() { return $(this).attr('data-fiets') == id;}).length == 0)
				{
					$(this).addClass('slideOut');
				}
			});
			fietsenInSite = $('#fiets-vergelijker div.mijnfiets');
			fietsenInResponse.each(function(){
				var id = $(this).attr('data-fiets');
				if(fietsenInSite.filter(function(){ return $(this).attr('data-fiets') == id;}).length == 0)
				{
					$(this).css({display:'none'});
					$(this).addClass('slideIn');
					$('#fiets-vergelijker div.fietsen').append($(this));
				}
			});
			if($('#fiets-vergelijker .slideOut').length > 0)
			{
				$('#fiets-vergelijker .slideOut').slideUp(fadeTime,function(){
					$('#fiets-vergelijker .slideOut').remove();
					$('#fiets-vergelijker .slideIn').slideDown(fadeTime, function(){
						$(this).removeClass('slideIn');
					});
				});
			}
			else
			{
				$('#fiets-vergelijker .slideIn').slideDown(fadeTime, function(){
					$(this).removeClass('slideIn');
				});
			}
			if($('#fiets-vergelijker div.mijnfiets').filter(function(){return $(this).attr('data-fiets') == siteNodeId;}).length == 0)
			{			
				$(checkbox).attr('checked','');
				var el = $(checkbox).parent().find('div.validatieerror');				
				if(el.length == 0)
				{
					el = $('<div class="validatieerror"></div>');
					$(checkbox).parent().append(el);
				}				
				el.html($('#fiets-vergelijker div#melding div').html());	
			  var boxState = getCookie("textState");			    
			}
			else
			{
				var el = $(checkbox).parent().find('div.validatieerror');
				if(el.length == 1)
				{
					el.remove();
				}
			}
		});
	}
}

function updatePrijs(checkbox,min,max)
{
	var container  = $(checkbox).parent().parent();
	var min = $('#minPrijs');
	var max = $('#maxPrijs');
	$('#fietsoverview').slideUp(500,function(){
		$.post('/asyncAanbod.aspx?action=order',{'FietsZoekData.Page':page},function(a,b,c){ 
			$('#fietsoverview').html(a).slideDown(500);
		});
	});
}

function setCharacterLimit( textAreaId, maxChars )
{
	var textArea = $('#'+textAreaId);
	var counterId = textAreaId+'_counter';
	if ( textArea )
	{
		//span aanmaken als deze niet gevonden is.
		if ( $('#'+counterId).length == 0 )
		{
			 $('<span class="charactercounter" id="'+counterId.replace('\\.','.')+'"></span>').insertAfter(textArea); 
		}
	
		textArea.keyup(function(){
			charLength = textArea.val().length;
			$('#'+counterId).removeClass('max');
			if ( charLength > maxChars )
			{
				charLength = maxChars;
				textArea.val( textArea.val().substring(0, maxChars) );
			}
			if ( $('#'+counterId) )
			{
				$('#'+counterId).html(charLength+'/'+maxChars);
				
				if ( charLength == maxChars )
					$('#'+counterId).addClass('max');
			}
		});	
		textArea.keyup();
	}
}




