﻿var _panes = new Array();
var _btns = new Array();
var _currentPane;
var bFromLoad = true;

function RegisterPageLoadHandler(sender, args) {
    if (sender._postBackSettings == null) /*page load*/
    {
        winInit();
    }
}


function SetValidators() {
    for (i = 0; i < Page_Validators.length; i++) {
        if (Page_Validators[i].validationGroup == _panes[_currentPane]) {
            ValidatorEnable(Page_Validators[i], true);
        }
        else {
            ValidatorEnable(Page_Validators[i], false);
        }
    }
}
function HideRecaptchaElements(){
    try{
        var oTable = document.getElementById('recaptcha_table');
        if(oTable != null && oTable != undefined){
            oTable.rows[0].cells[1].style.display = 'none';
            oTable.rows[0].cells[2].style.display = 'none';
            oTable.rows[1].cells[1].style.display = 'none';
            oTable.rows[1].cells[2].style.display = 'none';
        }
    }catch(e){}
}
function OnLoad(btnNext, btnPrev, btnFinish) {
    _currentPane = 0;
    _panes[0] = "Account";
    _panes[1] = "PersonalData";
    _panes[2] = "Company";
    //    _panes[3] = "Bank";
    //    _panes[4] = "Experience";
    //    _panes[5] = "Contarct";
    //debugger;
    _btns["Prev"] = btnPrev;
    _btns["Next"] = btnNext;
    _btns["Finish"] = btnFinish;

    document.getElementById(_btns["Prev"]).className = "hidden";
    bFromLoad = true;
    HideRecaptchaElements();
    ValidatorEnable(document.getElementById(getObjectNameRegister('valPwd')),true);
    ValidatorEnable(document.getElementById(getObjectNameRegister('RequiredFieldValidator12')),true);
}

function OnNext() {
    bFromLoad = false;
    SetValidators();
    document.getElementById(getObjectNameRegister('RequiredFieldValidator12')).style.color='red';
    if (Page_ClientValidate(_panes[_currentPane]) == false) {
        //ValidateControls(_panes[_currentPane]);
        return;
    }
    document.getElementById(_btns["Prev"]).className = "btnPrevDiv visible";
    if (_panes.length == _currentPane + 2) // going to the last pane
    {
        //second next
        document.getElementById(_btns["Next"]).className = "hidden";
        document.getElementById(_btns["Finish"]).className = "btnFinishDiv visible";
        document.getElementById('divSpacerClear').style.display='';
    }
    else {
        //first next
        document.getElementById(_btns["Next"]).className = "btnFinishDiv visible";
        document.getElementById('divSpacerClear').style.display='none';
        document.getElementById(_btns["Finish"]).className = "hidden";
    }
    if (_panes.length > _currentPane + 1) {
        document.getElementById(_panes[_currentPane]).className = "hidden";
        _currentPane = _currentPane + 1;
        document.getElementById(_panes[_currentPane]).className = "visible";
        var oCapchaText = document.getElementById("recaptcha_response_field");
        if (oCapchaText != null) {
            oCapchaText.style.cssFloat = "left";
            document.getElementById("recaptcha_widget_div").cssFloat = "left";
        }
        // OnNext();
        //SetValidators();
    }
    if(document.getElementById('recaptcha_reload_btn') != null && document.getElementById('recaptcha_reload_btn') != undefined && _currentPane == 2){
        Recaptcha.reload();
    }
}
function ValidateControls(validatorGroupName){
    document.getElementById('divErrorControl').innerHTML = '';
    var sText = "The ";
    var sField = '';
    var bShowError = false;
    for (i = 0; i < Page_Validators.length; i++)
    {
        if (Page_Validators[i].validationGroup == validatorGroupName)
        {
            if(!Page_Validators[i].isvalid){
                sField = Page_Validators[i].controltovalidate;
                if(Page_Validators[i].id.indexOf("chkIAgreeRegister") != -1){
                    document.getElementById('divErrorControl').innerHTML = "You must be agree with  Privacy Policy,  Terms of Use.";
                    break;
                }
                if(sField != null && sField != undefined){
                    sField = sField.replace('ctl00_cntMainArea_','');
                    switch(sField){
                        case 'txtEmail':
                        case 'txtRetypeEmail':
                            sText += "'E-mail address' ";
                            bShowError = true;
                            break;
                        case 'txtRetypeEmail':
                            sText += "'Re-type E-mail address' ";
                            bShowError = true;
                            break;
                        case 'txtPassword':
                            sText += "'Password' ";
                            bShowError = true;
                            break;
                         case 'txtUsername':
                            sText += "'Create username' ";
                            bShowError = true;
                            break;
                         case 'txtfirstName':
                            sText += "'First Name' ";
                            bShowError = true;
                            break;
                         case 'txtLastName':
                            sText += "'Last Name' ";
                            bShowError = true;
                            break;
                         case 'txtDisplayName':
                            sText += "'Display Name' ";
                            bShowError = true;
                            break;
                         case 'txtTelCompany':
                            sText += "'Telephone' ";
                            bShowError = true;
                            break;
                         case 'drpSecurityQst':
                            sText += "'Choose Security Question' ";
                            bShowError = true;
                            break;
                         case 'txtSecurityAnswer':
                            sText += "'Answer' ";
                            bShowError = true;
                            break;
                        case 'txtCompanyName':
                            sText += "'Company Name' ";
                            bShowError = true;
                            break;
                        case 'drpCompanyCountry':
                            sText += "'Country' ";
                            bShowError = true;
                            break;
                        case 'drpCompanyType':
                            sText += "'Company Type' ";
                            bShowError = true;
                            break;
                        case 'txtCompanyStreetAddress1':
                            sText += "'Address (1)' ";
                            bShowError = true;
                            break;
                        case 'txtCompanyCity':
                            sText += "'City' ";
                            bShowError = true;
                            break;
                    }
                    sText += "field is empty or does not contain a valid value!";
                    if(bShowError){
                        document.getElementById('divErrorControl').innerHTML = sText;
                    }
                    break;
                }
            }
        }
     }
}
function OnPrev() {
    document.getElementById(_btns["Next"]).className = "visible btnNextDiv";
    document.getElementById(_btns["Finish"]).className = "hidden";
    document.getElementById('divSpacerClear').style.display='none';
    if (_currentPane > 0) {
        document.getElementById(_panes[_currentPane]).className = "hidden";
        _currentPane = _currentPane - 1;
        document.getElementById(_panes[_currentPane]).className = "visible";
    }

    if (_currentPane == 0) {
        document.getElementById(_btns["Prev"]).className = "hidden";
    }
    else {
        document.getElementById(_btns["Prev"]).className = "btnPrevDiv visible";
    }
}

function OnFinish(inpFinal) {

    var oCtrl = document.getElementById(getObjectNameRegister('lbBroadcastTerritory'));
    var oCtrl2 = document.getElementById(getObjectNameRegister('lbActiveInCountries'));
    var oHdn = document.getElementById(getObjectNameRegister('hdnBroadcastTerritory'));
    var oHdn2 = document.getElementById(getObjectNameRegister('hdnActiveInCountries'));
    var sHdn = '';
    var sHdn2 = '';
    var sContinents = "";
    if(oCtrl != null && oCtrl != undefined){
        for(var iIdx = 0; iIdx < oCtrl.options.length; iIdx++){
            sHdn += oCtrl.options[iIdx].value + "|@|";
            
            //check if we have continents selected
            if (parseInt(oCtrl.options[iIdx].value) >= 1000){
               sContinents += oCtrl.options[iIdx].text + ",";
            }
        }
        oHdn.value = sHdn;
    }
    if(oCtrl2 != null && oCtrl2 != undefined){
        for(var iIdx2 = 0; iIdx2 < oCtrl2.options.length; iIdx2++){
            sHdn2 += oCtrl2.options[iIdx2].value + "|@|";
        }
        oHdn2.value = sHdn2;
    }
    
    if (sContinents.length > 0){
        if (sContinents.substring(sContinents.length-1, sContinents.length) == ",");
            sContinents = sContinents.substring(0, sContinents.length-1);
        if (!confirm('You have setup "' + sContinents + '" as your broadcast territory. If a provider excludes one country of this continent you will not be allowed to see the content. If you broadcast mainly in one territory, we advise you to select only this territory')){
            return false;
        }
    }
    
    if($get('btnFinishDiv').disabled) return false;
    document.getElementById(inpFinal).value = "1";
    if ($get(getObjectNameRegister('txtInvalidCaptcha')) != null) {
        $get(getObjectNameRegister('txtInvalidCaptcha')).style.display = 'none';
    }
    var bSubmit= true;
    SetValidators();
    if (Page_ClientValidate() == false) {
        return false;
    }
    bSubmit = validateCaptcha();
    if(bSubmit){
        $get(getObjectNameRegister('txtInvalidCaptcha')).style.display = 'none';
        $get('aspnetForm').submit();
        $get('btnFinishDiv').disabled = true;
    }
    else{
        $get(getObjectNameRegister('txtInvalidCaptcha')).style.display = 'inline';
        Recaptcha.reload();
    }
    return false;
}

function UserNameLength(sender, args) {
    if ($get(getObjectNameRegister('txtUsername')).value.length >= 5) {
        args.IsValid = true;
        return;
    }
    args.IsValid = false;
}

function AgreePaymentCheckingRegister(sender, args) {
    args.IsValid = $get(getObjectClientIdRegister('chkIAgreeRegister')).checked;
}

function disableIssuedBy(flag) {
    $get('trIssBy').disabled = flag;
    $get(getObjectNameRegister('txtIssBy')).disabled = flag;
}

function validateIssuedBy(sender, args) {
    var isValid = true;
    if ($get('trIssBy').disabled == false) {
        if ($get(getObjectNameRegister('txtIssBy')).value.length == 0) {
            isValid = false;
        }
    }
    args.IsValid = isValid;
}

function validateKeyCode(sender, args) {
    args.IsValid = true;
    return;
    var isValid = false;
    var key = $get(getObjectNameRegister('txtKeyCode')).value;
    var chksum = 0;
    var count = 0;

    for (; count < key.length; count++) {
        var string = "1234567890";
        if (string.indexOf(key.charAt(count)) != -1) {
            var myNum = new Number(key.charAt(count));
            chksum += myNum.valueOf();
        }
    }
    if (chksum > 0 && (chksum % 7 == 0)) {
        isValid = true;
    }
    args.IsValid = isValid;
}

function validatePassword(sender, args) {
    var isValid = false;
    
    var pwdSymbols = GetInnerText($get(getObjectNameRegister('lblPasswordSymbols')));
    var pwdText = $get(getObjectNameRegister('txtPassword')).value;

    if (pwdText.length >= 8) {
        var iNumbers = 0;
        for (i = 0; i < pwdText.length; i++) {
            if (pwdText.charCodeAt(i) >= 48 && pwdText.charCodeAt(i) <= 57)
                iNumbers++;
        }
        if (iNumbers >= 2)
            isValid = true;
    }
    if(!isValid && !bFromLoad){
        sender.style.color = 'red';
    }
    args.IsValid = isValid;
}

function validatePassword2(sender, args) {
    var isValid = false;

    var pwdText = $get(getObjectNameRegister('txtPassword')).value;

    if (pwdText.length != 0) {
        if (pwdText.length >= 8)
            var iNumbers = 0;
        for (i = 0; i < pwdText.length; i++) {
            if (pwdText.charCodeAt(i) >= 48 && pwdText.charCodeAt(i) <= 57)
                iNumbers++;
        }
        if (iNumbers >= 2)
            isValid = true;
    }
    else
        isValid = true;
           
    args.IsValid = isValid;
}

function PostWebRequest(postPage, body, OnWebRequestCompleted) {
    // Instantiate the WebRequest object.    
    var wRequest = new Sys.Net.WebRequest();

    // Set the request Url.  
    wRequest.set_url(postPage);

    // Set the request verb.
    wRequest.set_httpVerb("POST");

    //    var body = "Message=Hello! Do you hear me?"
    wRequest.set_body(body);
    wRequest.get_headers()["Content-Length"] = body.length;


    // Set the web request completed event handler,
    // for processing return data.
    wRequest.add_completed(OnWebRequestCompleted);

    // Clear the results page element.
    //   displayElement.innerHTML = "";

    // Execute the request.
    wRequest.invoke();
}


function OncaptchCompleted(response, param) {
    var responseText = response.get_responseData();
    if (responseText == "1") {
        $get('aspnetForm').submit();
    }
    else {
        if ($get(getObjectNameRegister('txtInvalidCaptcha')) != null) {
            $get(getObjectNameRegister('txtInvalidCaptcha')).style.display = 'inline';
        }
    }
}

function validateCaptcha() {
    capcthcompleted = 0;
    var challenge = Recaptcha.get_challenge();
    var repo = Recaptcha.get_response();
    var body, url;

    if (repo != null && repo != undefined) {
        url = "ValidateCaptcha.aspx?challenge=" + challenge + "&response=" + repo;
        var responseText = CallCaptchaSite(url);
        return (responseText == "1");
    }
    return false;
}
function CallCaptchaSite(url){
    var xmlHttp = getXmlHTTPObject();
	CallAjaxSyncWebFile(xmlHttp,url,"");
	return xmlHttp.responseText;
}
function ForgotUserPageLoadHandler(sender, args) {
    if (sender._postBackSettings == null) /*page load*/
    {
        winInit();
    }
}
//the server name for ajax request
function getXmlHTTPObject(){
	var xmlhttp;

        /** Special IE only code ... */
        try
        {
            xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e)
        {
            try
            {
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (E)
            {
                xmlhttp = false;
            }
        }

        /** Every other browser on the planet */
        if (!xmlhttp && typeof XMLHttpRequest != 'undefined')
        {
            try
            {
                xmlhttp = new XMLHttpRequest();
            }
            catch (ex)
            {
                xmlhttp = false;
            }
        }
    return xmlhttp;
}
function CallAjaxSyncWebFile(xmlHTTPObject,url, parameters){
	if(parameters != null && parameters != undefined && parameters.length > 0){
		url += "?" + parameters;
	}
	xmlHTTPObject.open('GET', url, false);
	xmlHTTPObject.onreadystatechange = function (){	
													onReadyStateChanged(xmlHTTPObject);
												}
	xmlHTTPObject.setRequestHeader('Content-Type', "application/x-www-form-urlencoded; Charset=utf-8;");
	if(parameters != null && parameters != undefined && parameters.length > 0){
		xmlHTTPObject.send(parameters);
	}
	else{
		xmlHTTPObject.send(null);
	}
}
function onReadyStateChanged(xmlhttp){
	if (xmlhttp.readyState==4) {
		if (xmlhttp.status==404) alert("URL doesn't exist!");
	}
}
