		var multimediaPlaceHolder = null;

		var postRequest = function(event, servletName, params, placeholder, async, x, y){
			//alert(params + x + y);
			
			async = (async == null) ? true : async;
			multimediaPlaceHolder = placeholder;
			if(async){
				postRequestAsync(event, servletName, params, placeholder, x, y);
			}else{
				postRequestSync(servletName, params, placeholder);
			}

		}
		var postRequestAsync = function(event, servletName, params, placeholder, defaultX, defaultY){
		
			if(event){
				var x = Event.pointerX(event);
				var y = Event.pointerY(event);

				defaultX = defaultX || 800;
				defaultY = defaultY || 200;

				showMultimediaLoading(x, y, defaultX, defaultY, placeholder);
			}
			
			//if (navigation){
				
			//	defaultX = defaultX || 300;
			//	defaultY = defaultY || -200;
				
			//	showMultimediaLoading(x, y, defaultX, defaultY, placeholder);
			//}
			

			var myAjax = new Ajax.Request(servletName+'?'+params,{asynchronous: true, method: 'post',
			 onComplete:(function() {
			 	if(placeholder) {
			 		Element.update(placeholder, myAjax.transport.responseText);
			 	}
				hideMultimediaLoading();
			 	})
			 }) ;
		}
		var postRequestSync = function(servletName, params, placeholder){
			var myAjax = new Ajax.Request(servletName+'?'+params,{asynchronous: false, method: 'post' }) ;
			if(placeholder) {
				Element.update(placeholder, myAjax.transport.responseText);
			}
		}

		function firstPageControl(firstPage){
			if (firstPage == null){
				var imagePageDefault = 1
			}else{
				var imagePageDefault= $('firstPage').getAttribute('imagePage');
			}
			return imagePageDefault;
		}

		function topFirstPageControl(pageHour){
			if (pageHour == null) {
				var paperHourDefault = 0
			}else{
				var paperHourDefault= $('pageHour').getAttribute('pageHourId');
			}
			return paperHourDefault;
		}

		function showMultimediaLoading(x, y, defaultX, defaultY, placeholder){
			if(placeholder) {
				changeOpac(25, placeholder);
			}
			var panel = $('multimedya-yukleniyor-panel');
			panel.style.left = defaultX + 'px';
			panel.style.top = (y + defaultY) + 'px';

			panel.style.display = '';
		}

		
		
		function hideMultimediaLoading(placeholder){
			setTimeout((function(){
				$('multimedya-yukleniyor-panel').style.display = 'none';
				placeholder = (placeholder || multimediaPlaceHolder);
				if(placeholder){
					changeOpac(100, placeholder);
				}
			}).bind(this), 1000);
		}
		
		//-------------
		var postRequestWithPrompt = function(event, servletName, params, placeholder, x, y,prompt){
			//alert(params + x + y);
			
			//async = true; // always make async. requests.
			async = false; // always make async. requests.
			multimediaPlaceHolder = placeholder;
			postRequestSync(servletName, params, placeholder);
			//postRequestAsyncWithPrompt(event, servletName, params, placeholder, x, y,prompt);
		}
		function showMultimediaLoadingWithPrompt(x, y, defaultX, defaultY, placeholder,prompt){
			if(placeholder) {
				changeOpac(25, placeholder);
			}
			var panel = $('multimedya-yukleniyor-panel');
			panel.style.left = defaultX + 'px';
			panel.style.top = (y + defaultY) + 'px';

			panel.style.display = '';
			panel.innerHTML = prompt;
		}
		
		var postRequestAsyncWithPrompt = function(event, servletName, params, placeholder, defaultX, defaultY,prompt){
		
			if(event){
				var x = Event.pointerX(event);
				var y = Event.pointerY(event);

				defaultX = defaultX || 800;
				defaultY = defaultY || 200;

				showMultimediaLoadingWithPrompt(x, y, defaultX, defaultY, placeholder,prompt);
			}
			
			//if (navigation){
				
			//	defaultX = defaultX || 300;
			//	defaultY = defaultY || -200;
				
			//	showMultimediaLoading(x, y, defaultX, defaultY, placeholder);
			//}
			

			var myAjax = new Ajax.Request(servletName+'?'+params,{asynchronous: true, method: 'post',
			 onComplete:(function() {
			 	if(placeholder) {
			 		Element.update(placeholder, myAjax.transport.responseText);
			 	}
				hideMultimediaLoading();
			 	})
			 }) ;
		}
		
		/*---------------*/
			function only_numbers(event) {
			var key = (event.which || event.keyCode);
			if(key == 0 || key == 8 || key==9){
				return null;
			}
			if(key < 48 || key > 57 ){
				Event.stop(event);
				return null;
			}
			return key;
		}

		function isDecimalDigits(argvalue) {
		      argvalue = argvalue.toString();
		      var validChars = "0123456789";

		      var startFrom = 0;
		      if (argvalue.charAt(0) == "-") {
		          startFrom = 1;
		      }
		      for (var n = startFrom; n < argvalue.length; n++) {
		          if (validChars.indexOf(argvalue.substring(n, n+1)) == -1) return false;
		      }
		      return true;
  		}

	  	function luhnCheck(cardNumber) {
	        if (isLuhnNum(cardNumber)) {
	            var no_digit = cardNumber.length;
	            var oddoeven = no_digit & 1;
	            var sum = 0;
	            for (var count = 0; count < no_digit; count++) {
	                var digit = parseInt(cardNumber.charAt(count));
	                if (!((count & 1) ^ oddoeven)) {
	                    digit *= 2;
	                    if (digit > 9) digit -= 9;
	                }
	                sum += digit;
	            }
	            if (sum == 0) return false;
	            if (sum % 10 == 0) return true;
	        }
	        return false;
	    }

	    function isLuhnNum(argvalue) {
	        argvalue = argvalue.toString();
	        if (argvalue.length == 0) {
	            return false;
	        }
	        for (var n = 0; n < argvalue.length; n++) {
	            if ((argvalue.substring(n, n+1) < "0") ||
	                (argvalue.substring(n,n+1) > "9")) {
	                return false;
	            }
	        }
	        return true;
	    }

	  function validateCreditCard(field) {
            if (field.value.length > 0) {
                if (!luhnCheck(field.value)) {
                    return false;
                }
            }
	        return true;
	   }

	  function validateEmail(emailStr) {
        if (emailStr.length == 0) {
            return true;
        }
	}
       function validate_credit_card_form(form){
       	 
       	 if ( !validateCreditCard(form.cardNo.value) ) {
       	 	alert('Card number not valid.');
       	 	return false;
       	 }
       	 else {
       	 alert('ok');
       	 	return true;
       	 }
       }
		

	