$jq(document).ready(function() {
    $jq('.product_addon_select').change(function() {
        var select = $jq(this);
        $jq.ajax({
            type: "GET",
            url: '/layouts/g4s/service.aspx?m=updateprice&id=' + select.val(),
            success: function(data) {
                var updatedPriceObject = eval("(" + data + ")");
                select.parent().siblings('.product_addon_installation').html(updatedPriceObject.installationPrice);
                select.parent().siblings('.product_addon_subscription').html(updatedPriceObject.subscriptionPrice);
                $jq('.product_discount').html(updatedPriceObject.discountTotal);
                $jq('.product_installation_total').html(updatedPriceObject.installationTotal);
                $jq('.product_subscription_total').html(updatedPriceObject.subscriptionTotal);
				
				if(updatedPriceObject.includeTax = '1') {
					$jq('.product_installation_tax').html(updatedPriceObject.installationTax);
					$jq('.product_subscription_tax').html(updatedPriceObject.subscriptionTax);
					$jq('.product_installation_total_with_tax').html(updatedPriceObject.installationTotalWithTax);
					$jq('.product_subscription_total_with_tax').html(updatedPriceObject.subscriptionTotalWithTax);
				}
            }
        });
    });
	
	
	$jq('.product_gifts_select').change(function() {
        var select = $jq(this);
        $jq.ajax({
            type: "GET",
            url: '/layouts/g4s/service.aspx?m=selectgift&id=' + select.val(),
            success: function(data) {
				/*var obj = eval("(" + data + ")");
				if(obj.description == '') {
					$jq('#product_gifts_info').prev().hide();
				}
				else {
					$jq('#product_gifts_info').html(decodeURIComponent(obj.description.replace(/\+/g,  " ")));
					$jq('#product_gifts_info').prev().show();
				}*/
            }
        });
    });
	
	/*
	// Initialize product gifts readmore.
	if($jq('#product_gifts_info').length > 0) {
		if($jq('#product_gifts_info').html().replace(/\s/g, '') == ''){
			$jq('#product_gifts_info').prev().hide();
		}
	}*/

	$jq('.your_information input').keypress(function(e) { 
		if(e.keyCode == 13) { 
			return false;
		}
	});
	
    $jq('.your_information_next').click(function() {
        $jq('.your_information fieldset input:text').removeClass('error');
        $jq('.your_information .required').hide();

        var name = $jq('.your_information fieldset.field_name input').val();
        var company = $jq('.your_information fieldset.field_company input').val();
        var email = $jq('.your_information fieldset.field_email input').val();
        var postalcode = $jq('.your_information fieldset.field_postalcode input').val();
        var city = $jq('.your_information fieldset.field_city input').val();
        var address = $jq('.your_information fieldset.field_address input').val();
        var phonenumber = $jq('.your_information fieldset.field_phonenumber input').val();
        var hasPaymentTypes = $jq('.your_information fieldset.field_payment_types input').length > 0;
        var paymentType = $jq('.your_information fieldset.field_payment_types input:checked');
		var cpr = $jq('.your_information fieldset.field_cpr input').val();
		var cvr = $jq('.your_information fieldset.field_cvr input').val();

        if (name.replace(/\s/g, '') == '') {
            $jq('.your_information fieldset.field_name input').addClass('error');
            $jq('.your_information .required.name').show();
            return false;
        }

		if (typeof cpr != 'undefined') {
            if (cpr.replace(/\s/g, '') == '') {
                $jq('.your_information fieldset.field_cpr input').addClass('error');
                $jq('.your_information .required.cpr').show();
                return false;
            }
			else
			{
				var filter = /^[0-9]{6}$/;
				if(!filter.test(cpr)) {
					$jq('.your_information fieldset.field_cpr input').addClass('error');
					$jq('.your_information .required.cpr_exact').show();
					return false;
				}
			}
        }
		
        if (typeof company != 'undefined') {
            if (company.replace(/\s/g, '') == '') {
                $jq('.your_information fieldset.field_company input').addClass('error');
                $jq('.your_information .required.company').show();
                return false;
            }
        }
		
		if (typeof cvr != 'undefined') {
            if (cvr.replace(/\s/g, '') == '') {
                $jq('.your_information fieldset.field_cvr input').addClass('error');
                $jq('.your_information .required.cvr').show();
                return false;
            }
			else
			{
				var filter = /^[0-9]{8}$/;
				if(!filter.test(cvr)) {
					$jq('.your_information fieldset.field_cvr input').addClass('error');
					$jq('.your_information .required.cvr_exact').show();
					return false;
				}
			}
        }

        if (email.replace(/\s/g, '') == '') {
            $jq('.your_information fieldset.field_email input').addClass('error');
            $jq('.your_information .required.email').show();
            return false;
        }
        else {
            var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
            if (!filter.test(email)) {
                $jq('.your_information fieldset.field_email input').addClass('error');
                $jq('.your_information .required.email').show();
                return false;
            }
        }

        if (postalcode.replace(/\s/g, '') == '') {
            $jq('.your_information fieldset.field_postalcode input').addClass('error');
            $jq('.your_information .required.postalcode').show();
            return false;
        }

        if (city.replace(/\s/g, '') == '') {
            $jq('.your_information fieldset.field_city input').addClass('error');
            $jq('.your_information .required.city').show();
            return false;
        }

        if (address.replace(/\s/g, '') == '') {
            $jq('.your_information fieldset.field_address input').addClass('error');
            $jq('.your_information .required.address').show();
            return false;
        }

        if (phonenumber.replace(/\s/g, '') == '') {
            $jq('.your_information fieldset.field_phonenumber input').addClass('error');
            $jq('.your_information .required.phonenumber').show();
            return false;
        }

        if (hasPaymentTypes) {
            if (paymentType.length == 0) {
                $jq('.your_information .required.payment_type').show();
                return false;
            }
        }
    });
});
