/**
 * Created by JetBrains PhpStorm.
 * User: Brewing
 * Date: 30.08.11
 * Time: 09:34
 * To change this template use File | Settings | File Templates.
 */
$(document).ready(function () {
    /**
     * Checkbox handler
     */
    jQuery('.checkBoxCont').click(function() {
        if (jQuery(this).hasClass('selected')) {
            jQuery(this).removeClass('selected');
            jQuery('#callback').val(0);
        } else {
            jQuery(this).addClass('selected');
            jQuery('#callback').val(1);
        }
    });

    /**
     * Hover effekt Submit Button
     */
    jQuery('.submitButton').mouseover(function() {
        jQuery(this).addClass('selected');
    });

    jQuery('.submitButton').mouseout(function() {
        jQuery(this).removeClass('selected');
    });

    /**
     * Formular abschicken
     */
    jQuery('.submitButton').click(function() {
        sendForm();
    });

    /**
     * Ajax Fun
     */
    function sendForm() {
        var $data = getFormData();
        jQuery.ajax({
            url:'/toppanel-kontakt',
            type:'POST',
            dataType: 'json',
            contentType: "application/x-www-form-urlencoded; charset=UTF-8",
            data: $data,
            success: function($result) {
                if ($result.success == 1) {
                    jQuery('.right').html('<p class="message">Ihre Daten wurden erfolgreich übermittelt.<br />Vielen Dank für Ihre Anfrage!</p>');
                    iapixel('3363836303236323131303','le','1.0','Becklyn Contact');
                    return;
                }
                setFormData($result);
            }
        });
    }

    /**
     * Send click pixel
     *
     * Valid conversion types:
     * - 'sa' for sale
     * - 'le' for lead
     * - 'si' for signup
     * - 'pa' for pageview
     * - 'do' for download
     *
     * Note: Links should always open in a new window (target=_blank)
     *
     * @param integer  cId     Client ID [mandatory]
     * @param string   cvType  Conversion Type (i.e. 'le', 'sa', 'do', 'si')  [mandatory]
     * @param float    cvValue Conversion Value (i.e. '2.5') [mandatory]
     * @param object   opts    Additional Info [optional] Refer to manual for valid options and parameters
     */
    function iapixel(cId, cvType, cvValue, opts) {
        if (cId && cvType && cvValue) {
            var merge = function(d,s){
                for(var p in s){
                    if(d.hasOwnProperty(p)){
                        d[p]=s[p];
                    }
                }
                return d;
            };

            var options = merge({
                currency: 'EUR',  // conversion currency code(ACCORDING ISO 4271 i.e. 'EUR' or 'USD') [optional
                orderId: '', // orderId [optional]
                age: '', // user age [optional]
                dob: '', // user birth date (format: YYYYMMDD)
                gender: '', // user gender (possible values: m or w)
                zip: '', // user zip code (5 digit zip code, i.e. 12345)
                city: '', // user city (i.e. Berlin)
                region: '', // user region (i.e. Bayern)
                country: '', // user country (possible values: 2 char coutry code, i.e. de) [optional]
                custom1: '', // custom value 1 [optional]
                custom2: '', // custom value 2 [optional]
                custom3: '', // custom value 3 [optional]
                custom4: ''  // custom value 4 [optional]
            }, opts || {});

            var varMap = {
                currency: 'vv', orderId: 'po', age: 'sh', dob: 'nf', gender: 'hr', zip: 'uo', city: 'vo', region: 'tr',
                country: 'vp', custom1: 'c1', custom2: 'c2', custom3: 'c3', custom4: 'c4'
            };
            var proto = (document.location.toString().indexOf('https://') != -1) ? 'https' : 'http';
            var uri = 't23.intelliad.de/tc.php';
            var url = '?cl='+encodeURIComponent(cId)+'&v='+encodeURIComponent(cvValue)+'&vz='+encodeURIComponent(cvType)+'&';
            for(var v in varMap){ if(varMap.hasOwnProperty(v)){ url+= varMap[v]+'='+encodeURIComponent(options[v])+'&'; }}
            var imgsrc = proto+'://'+uri+url+'&rand='+Math.floor(Math.random()*11111139435231);
            var img = new Image(); img.setAttribute('width', 1); img.setAttribute('height', 1); img.src = imgsrc;
            document.getElementsByTagName('body')[0].appendChild(img);
        }
        return true;
    }

    /**
     * Formular befüllen nach Request
     * @param $data
     */
    function setFormData($data) {

        jQuery('#list').css('color', setColor($data.list_error));
        if ($data.list_error == 0) {
            jQuery('#list option:selected').val($data.list);

        } else {
            jQuery('#list option:selected').val(0);
            jQuery('#list option:selected').text($data.list);
        }

        jQuery('input[name=firma]').css('color', setColor($data.firma_error));
        jQuery('input[name=firma]').val($data.firma);

        jQuery('input[name=name_user]').css('color', setColor($data.name_error));
        jQuery('input[name=name_user]').val($data.name_user);

        jQuery('input[name=email]').css('color', setColor($data.email_error));
        jQuery('input[name=email]').val($data.email);

        jQuery('input[name=phone]').css('color', setColor($data.phone_error));
        jQuery('input[name=phone]').val($data.phone);

        jQuery('input[name=body]').val($data.body);
    }

    /**
     * Error oder nicht Farbe setzen
     * @param $error
     */
    function setColor($error) {
        var $red = '#FF0000';
        var $gray = '#666666';

        if ($error == 1) {
            return $red;
        }
        return $gray;
    }

    /**
     * Formular auslesen
     */
    function getFormData() {
        return jQuery('#becklyn_contact').serialize();
    }
});//Ende
