var wb_js_path ="http://"+document.domain+"/js/";
document.write('<script src="'+wb_js_path+'website_config.js" type="text/javascript"></script>');
document.write('<script src="'+wb_js_path+'encode.js" type="text/javascript"></script>');

var page_to_redirect='';
var call_to_LeadHandler = false;

// Email Campign click code
var campaignName ='';
var campaignemail='';
var blockNumber='';
var campaigneusername ='';
var listId='';



// code end

$().ready(function (){
    if(window.location.href.indexOf('?')>0)
    {
        var params = window.location.href.split("?");
        var urlParrems = $.base64Decode(params[1]);
        //campaignName = getQuerystring("campaignName", null,'?'+ $.base64Decode(params[1]));
        if(urlParrems.length>0)
        {
            var splitparams = urlParrems.split("/");
            if(splitparams.length>0)
            {
                if(splitparams[0] == "campaignName" )
                {
                    try
                    {
                        campaignName = splitparams[1];
                        campaignemail = splitparams[3];
                        blockNumber = splitparams[5];
                        campaigneusername = splitparams[7];
                        listId =  splitparams[9];
                    }catch(e)
                    {
                        
                    }
                  
                }
            }
      
        }
        params = null;
    }
    var user_forms = $('form');
    $.each(user_forms,function (k,v){
        if($(v).attr("id"))
        {
            if($(v).attr("id")=='htmlLogin')
            {
                return;
            }
            $(v).attr("id",$(v).attr('name'));

            var frmElements = document.getElementById($(v).attr('name')).elements;
            for(var i=0;i<frmElements.length;i++)
            {
                if(frmElements[i].type.toLowerCase()=="submit")
                {
                    $(frmElements[i]).attr('name',$(v).attr('name') + "_submit");
                    $(frmElements[i]).attr('id',$(v).attr('name') + "_submit");
                    var callbackFuntion = $(frmElements[i]).attr('onclick');

                    var typeoffunction = typeof callbackFuntion;
                    $(frmElements[i]).attr('onclick','');
                    if(callbackFuntion && (typeoffunction == 'function') )
                    {
                        $(frmElements[i]).click(function(){
                            if(callbackFuntion.call())
                            {
                                submitWebbuilderForm($(v).attr('name'));
                                return false;
                            }
                            else
                            {
                                return false;
                            }
                        });
                    }
                    else
                    {
                        $(frmElements[i]).click(function ()
                        {
                            submitWebbuilderForm($(v).attr('name'));
                            return false;
                        });
                    }

                }
            }
        }
    });
});


function submitWebbuilderForm(frmname)
{
    frmToSubmit = $('form[name="'+frmname+'"]');
    frmToSubmit.validate();
    call_to_LeadHandler = false;
    if(false == frmToSubmit.valid())
    {
        return false;
    }

    var frmElements = document.getElementById(frmname).elements;
    for(var i=0;i<frmElements.length;i++)
    {
        if(frmElements[i].id == 'email_for_lead')
        {
            var elemEmail_for_lead = frmElements[i].value;
        }
    }


    if(elemEmail_for_lead && elemEmail_for_lead.length > 0)
    {
        email_value = elemEmail_for_lead;
        submitToLead(frmToSubmit, email_value);
    }
    
    //checking if user has specifed any action
    
    var action = frmToSubmit.attr('action');
    var form_method = frmToSubmit.attr('method');


    var mail_id = getParamsFromActionString(action, 'mailId');
    var email_campaign=getParamsFromActionString(action, 'email_campaign');
    page_to_redirect = getParamsFromActionString(action, 'page_to_redirect');

    var onlyAction ='';

    if(action.indexOf('?')>0)
    {
        onlyAction = action.substring(0,action.indexOf('?'));
    }
    else
    {
        onlyAction = action;
    }
    try
    {
        if(campaignName.length>0)
            submitEmailClick();
    }catch(e)
    {
            
    }
    if(mail_id)
    {
        submitToFormMailer(frmToSubmit, mail_id, email_campaign);
    }

    if(onlyAction!='' && onlyAction!=form_mail_action)
    {
        onlyAction = onlyAction.replace('http://','');
        performUserAction(frmToSubmit, onlyAction, form_method);
    }

    if(page_to_redirect!='')
    {
        window.setTimeout(redirectToPage, 10000);
    }

    return false;
}

function getParamsFromActionString(strAction, param)
{
    var startString = '&' + param + '=';
    var paramValue='';
    startIndex = strAction.indexOf(startString);

    if(startIndex < 0)
    {
        startString = '?' + param + '=';
        startIndex = strAction.indexOf(startString);
    }
    
    if(startIndex >= 0)
    {
        var startlength = startString.length;
        var remainingString = strAction.substring(startlength + startIndex,  strAction.length);
        var endIndex = remainingString.indexOf('&');

        if(endIndex >= 0)
        {
            paramValue = remainingString.substring(0,  endIndex);
        }
        else
        {
            paramValue = strAction.substring(startlength + startIndex,  strAction.length);
        }
    }

    return paramValue;
}

function performUserAction(frm_obj, action1, form_method)
{
    var options = {
        target:        '',   // target element(s) to be updated with server response
        beforeSubmit:  showUserRequest,  // pre-submit callback
        success:       showUserResponse,  // post-submit callback

        // other available options:
        url:       userAction + action1,         // override for form's 'action' attribute
        type:      form_method,        // 'get' or 'post', override for form's 'method' attribute
        dataType:  'html'  //,html, json
    };

    $(frm_obj).ajaxSubmit(options);

    return false;
}


function showUserRequest(formData, jqForm, options)
{
    
}

function showUserResponse(responseText, statusText)
{
    if(call_to_LeadHandler == false) // added by sangeeta 16_july_2009
    {
        alert('Your information has been submitted.');
        document.getElementById(frmToSubmit.attr('name')).reset();
    }
}

function redirectToPage()
{
    page_to_redirect = decodeURIComponent(page_to_redirect);
    window.location.href = "http://"+location.host+"/"+page_to_redirect;
}

function submitToFormMailer(frm_obj, email, campaign)
{
    form_mail_action = form_mail_action + "?&mailId="+email+"&emailCampaign="+campaign+"&userName="+createdOwner;

    var options = {
        target:        '',   // target element(s) to be updated with server response
        beforeSubmit:  showFormMailerRequest,  // pre-submit callback
        success:       showFormMailerResponse,  // post-submit callback

        // other available options:
        url:       form_mail_action,         // override for form's 'action' attribute
        type:      'post',        // 'get' or 'post', override for form's 'method' attribute
        dataType:  'html',  //,html, json
        data: {
            'mailId':email,
            'emailCampaign':campaign,
            'userName':createdOwner
        }
    };

    $(frm_obj).ajaxSubmit(options);
}

function showFormMailerRequest(formData, jqForm, options)
{
    
}

function showFormMailerResponse(responseText, statusText)
{

}

function submitToLead(frm_obj, email)
{

    lead_action = lead_action + "?&email="+email+"&createdOwner="+createdOwner+"&userType="+userType;

    var options = {
        target:        '',   // target element(s) to be updated with server response
        beforeSubmit:  showLeadRequest,  // pre-submit callback
        success:       showLeadResponse,  // post-submit callback

        // other available options:
        url:       lead_action,         // override for form's 'action' attribute
        type:      'post',        // 'get' or 'post', override for form's 'method' attribute
        dataType:  'json',  //,html, json
        data: {
            "email":email,
            'createdOwner':createdOwner,
            'userType':userType
        }
    };
    call_to_LeadHandler = true;
    $(frm_obj).ajaxSubmit(options);
}

function showLeadRequest(formData, jqForm, options)
{
    
}

function showLeadResponse(responseText, statusText)
{
    if(responseText.success)
    {
        alert('Your information has been submitted.');
        document.getElementById(frmToSubmit.attr('name')).reset();
    }
    else
    {
        alert('Sorry data submition Failed. Please Retry!');
        return false;
    }
}
function getQuerystring(key, default_,params)
{
    if (default_==null) default_="";
    key = key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
    var regex = new RegExp("[\\?&]"+key+"=([^&#]*)");
    var qs = regex.exec(params);
    if(qs == null)
        return default_;
    else
        return qs[1];
}


function submitEmailClick()
{
    var emailclickurl ="";
    var params = window.location.href.split("?");
    emailclickurl = form_fill_action + "?" + params[1];
    var options = {
        target:        '',   // target element(s) to be updated with server response
        beforeSubmit:  showEmailClickRequest,  // pre-submit callback
        success:       showEmailClickResponse,  // post-submit callback

        url:       emailclickurl,         // override for form's 'action' attribute
        type:      'post',        // 'get' or 'post', override for form's 'method' attribute
        dataType:  'html'
    };
    $(this).ajaxSubmit(options);
}


function showEmailClickRequest(formData, jqForm, options)
{

}

function showEmailClickResponse(responseText, statusText)
{
   
}
//$(window).load(function()
//{
//    var body_element = document.body;
//    var js_path ="http://"+document.domain + "/js/";
//    document.body.innerHTML = document.body.innerHTML + '<script type="text/javascript" src="'+ js_path +'analytics-users.js"></script>';
//});
