$j = jQuery.noConflict();

var $hassubmitted = false;

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

	/* payform
	---------------------------------------*/
	if($j('#payform').length > 0) {
		$j('#payform').submit(function(){
			return submitpayform();
		});
		if($j('#payform #anonymous').length > 0) {
			$j('#payform #anonymous').click(function(){
				if($j(this).attr("checked")) {
					$j('#payform_address').slideUp("fast");
					$j('#newsletter').attr("checked","");
				} else {
					$j('#payform_address').slideDown("fast");
				}
			});
		}
		$j("#amount_custom").keyup(function($e){
			$j("#amount_other").attr('checked','checked');
			$v = $j("#amount_custom").val();
			$v = $v.replace(/[^0-9\.,]/,'');
			$j("#amount_custom").val($v);
		});
		$j("#amount_custom").focus(function(){
			$j("#amount_other").attr('checked','checked');
		});
	}
	
});

this.submitpayform = function() {
	$form = $j('#payform');
	$payform_type = $j('#payform_type').val();
	$product_id = $j('#product_id').val();
	$amount = 0;
	$amounts = $j('#payform_amount input[name=amount]');
	for($i=0;$i<$amounts.length;$i++) {
		$a = $j($amounts.get($i));
		if($a.attr('checked')) {
			$amount = jQuery.trim($a.val());
			if( $amount == 'other') {
				$amount = jQuery.trim($j('#amount_custom').val()); 
			}
			$amount = parseFloat($amount.replace(/[^0-9\.,]/ig,""));
			break;
		}
	}
	$method = "";
	$methods = $j('#payform_payopt input[name=method]');
	for($i=0;$i<$methods.length;$i++) {
		$p = $j($methods.get($i));
		if($p.attr('checked')) {
			$method = jQuery.trim($p.val());
			break;
		}
	}
	$send = true;
	if($method == '') {
		alert('Du måste välja ett betalsätt.');
		$send = false;
	}
	if($send && (isNaN($amount) || $amount <= 0)) {
		alert('Du måste ange ett giltigt belopp.');
		$send = false;
	}
	if($send && $j('#newsletter').attr('checked')) {
		$email = jQuery.trim($j('#email').val());
		if($email == '') {
			alert('Du måste fylla i din e-postadress.');
			$send = false;
		} else {
			var $filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
			if(! $filter.test($email)) {
				alert('E-postadressen är inte giltig.');
				$send = false;
			}
		}
	}
	/*$payexurl = "";
	if($send) {
		// gather other formdata
		$q = 'ajax=1&payform_type='+$payform_type+'&product_id='+$product_id+'&method='+$method+'&amount='+$amount;
		if($j('#payform_address').length > 0) {
			$j('#payform_address input').each(function() {
				$q += getFieldData(this);
			});
		}
		// get redir url to payex
		$j.ajax({
			type: "POST",
			url: $form.attr("action"),
			data: $q,
			success: function(msg){
				msg = msg.split('::');
				if(msg[0] == 'error') {
					alert(msg[1]);
				}
				if(msg[0] == 'openwin') {
					openPayExWin(msg[1]);
				}
			}
		});
	}
	return false;
	*/
	return $send;
}

var $paywin = null;
var $cbox_ypos = 0;
function openPayExWin($url) {
	$cbox_ypos = $j(window).scrollTop();
	$j(window).scrollTop(0);
	$j.fn.colorbox({
		speed:1,
		href:$url,
		iframe:true,
		open:true,
		width:780,
		initialWidth:780,
		height:620,
		initialHeight:620,
		overlayClose:false,
		transition:"fade"
	});
	$j().bind('cbox_closed', function(){
		$j(window).scrollTop($cbox_ypos);
	});
}

this.getFieldData = function(o) {
	$name = $j(o).attr('name');
	$type = $j(o).attr('type');
	$type = $type.toLowerCase();
	$val = null;
	if($type == 'radio') {
		if($j(o).attr('checked')) {
			$val = jQuery.trim($j(o).val());
		}
	}
	if($type == 'checkbox') {
		$val = $j(o).attr('checked') ? "on" : "off";
	}
	if($type == 'select') {
		$val = jQuery.trim(o.options[o.selectedIndex].val());
	}
	if($type == 'text') {
		$val = jQuery.trim($j(o).val());
	}
	if($val != null) {
		return '&'+$name+'='+$val;
	}
	return '';
}

jQuery.fn.outerHTML = function(s) {
	return (s) ? this.before(s).remove() : jQuery("<p>").append(this.eq(0).clone()).html();
}