(function(){
	"use strict";

	var KasikaTagManager = {
		props : {
            now : Date.now(),
			pid : "4A654791A86E304E7328B0E2B7C19E90",
			useTrackingTag : 1,
            useContactConversoinV1Tag : 0,
            useContactConversoinV2Tag : 0,
		},
        errors :[],
        v:{},
        init : function(){
            if(KasikaTagManager.check()){
                KasikaTagManager.appendScriptElement();
            }
        },
        check : function(){
            KasikaTagManager.error = [];
            if(!KasikaTagManager.props.pid){
                console.warn("KASIKA TagManager executed error :","Empty PID");
            }else if(KasikaTagManager.props.useTrackingTag !== 0 && KasikaTagManager.props.useTrackingTag !== 1){
                console.warn("KASIKA TagManager executed error :","Unexpected Value useTrackingTag");
            }else if(KasikaTagManager.props.useContactConversoinV1Tag !== 0 && KasikaTagManager.props.useContactConversoinV1Tag !== 1){
                console.warn("KASIKA TagManager executed error :","Unexpected Value useContactConversoinV1Tag");
            }else if(KasikaTagManager.props.useContactConversoinV2Tag !== 0 && KasikaTagManager.props.useContactConversoinV2Tag !== 1){
                console.warn("KASIKA TagManager executed error :","Unexpected Value useContactConversoinV2Tag");
            }else{
                return true
            }
            return false;
        },
        createTrackingTag :function(){
            KasikaTagManager.v.src = "//panda.kasika.io/tracking_s/?pid=" + KasikaTagManager.props.pid + "&date=" + KasikaTagManager.props.now + '';
            KasikaTagManager.createScriptElement();
        },
        createConversionV1Tag :function(){
            KasikaTagManager.v.src = "//panda.kasika.io/contact_conversion/?pid=" + KasikaTagManager.props.pid + "&date=" + KasikaTagManager.props.now;
            KasikaTagManager.createScriptElement();
        },
        createConversionV2Tag :function(){
            KasikaTagManager.v.src = "//pigeon.kasika.io/new_contact_conversion/?pid=" + KasikaTagManager.props.pid + "&date=" + KasikaTagManager.props.now
            KasikaTagManager.createScriptElement();
        },
        appendScriptElement : function(){
            if(KasikaTagManager.props.useTrackingTag === 1){
                KasikaTagManager.createTrackingTag();
            }
            if(KasikaTagManager.props.useContactConversoinV1Tag === 1){
                KasikaTagManager.createConversionV1Tag();
            }
            if(KasikaTagManager.props.useContactConversoinV2Tag === 1){
                KasikaTagManager.createConversionV2Tag();
            }
        },
        createScriptElement : function(){
            KasikaTagManager.v.d = document;
            KasikaTagManager.v.g = KasikaTagManager.v.d.createElement('script');
            KasikaTagManager.v.s = KasikaTagManager.v.d.getElementsByTagName('script')[0];
            KasikaTagManager.v.g.type = 'text/javascript';
            KasikaTagManager.v.g.async = true;
            KasikaTagManager.v.g.defer = true;
            KasikaTagManager.v.g.src = KasikaTagManager.v.src;
            KasikaTagManager.v.s.parentNode.insertBefore(KasikaTagManager.v.g, KasikaTagManager.v.s);
            KasikaTagManager.v = {};
        },
    }
	try {
		if (document.readyState && document.readyState == 'loading') {
			if (document.addEventListener) {
				document.addEventListener('DOMContentLoaded', KasikaTagManager.init);
			} else if (w.attachEvent) {
				document.attachEvent('DOMContentLoaded', KasikaTagManager.init);
			}
		} else {
			KasikaTagManager.init()
		}
	} catch (____e) {
		console.warn("KASIKA Fatal Error :",____e);
	}
})();
