/*
    Document    : domain_registration.js
    Encoding    : UTF-8
    Created on  : 11/Set/2011, 22:50:45
    Author      : amartins
    Description:
        Build the three steps for domain registration, select a plan and order.
*/
// doxygen documentation
/**
  @document domain_registration.js
  @author Alexandre Martins © Serveion LCC
  @created 11/Set/2011, 22:50:45
 **/

serveionDomainReg = {
    filterOption: function(element){
        if(element.innerHTML.test("CHECK")){
            serveionDomainReg.StepOne();
        } else if (element.innerHTML.test("NEXT")){
            //window.location = "clients/register.php";
            var domain_name = document.getElementById("domain_name").value;
		    var domain_ext = null;
		    var domain_ext_options = document.getElementsByName("domain_ext");
		    // travel each radio button to detec if one is checked
		    
		    for(var index = 0; index < domain_ext_options.length; index++){
		        if(domain_ext_options[index].checked){
		            domain_ext = domain_ext_options[index].value;
		            break;
		        }
		    }
            
            var domain = domain_name + domain_ext;
            
            // prepare variables
            var regperiod = document.getElementById("regperiod");
            regperiod.name = "domains[" + domain + "]";
            var domains_array = document.getElementById("domains_array");
            domains_array.value = domain;
            
            
            document.getElementById("reg_form").submit();
        }
    },
    
    StepOne: function(){
        var domain_name = document.getElementById("domain_name").value;
        var domain_ext = null;
        var domain_ext_options = document.getElementsByName("domain_ext");
        // travel each radio button to detec if one is checked
        for(var index = 0; index < domain_ext_options.length; index++){
            if(domain_ext_options[index].checked){
                domain_ext = domain_ext_options[index].value;
                break;
            }
        }
        // Need verify all data is correct
        var errors = new Array();
        if(domain_name == "" || domain_name.test("myDomain"))
            errors[0] = "Please insert a domain name.";
        if(domain_ext == null)
            errors[errors.length] = "Please select a domain extension.";
        
        // Show errors if any
        if(errors.length > 0){
            var message = "";
            for(var i= 0; i < errors.length; i++){
                if(i > 0)
                    message += "\n";
                message += errors[i];
            }
            alert(message);
        }
        else{ // No errors check if domain is available
            var url = "http://serveion.com/whmcs_helper.php";
            var data = {
                domain: domain_name + domain_ext,
                action: "check_domain"
            }
            var input = document.getElementById("domain_name");
            document.getElementById("check_domain_result").innerHTML = "";
            input.style.background = "url('https://www.bt.com/static/wa/reg/images/ior/progress_bar_circular_16x16_nobg_animated.gif') right no-repeat #FFFFFF"
            $.get(url, data, function(response){
            input.style.background = "";
                if(response.test("STATUS:")){
                    var div = document.getElementById("check_domain_result");
                    var status = response.split("TUS: ")[1];
                    if(status == "available"){
                        div.style.color = "green";
                        div.style.fontSize = "16pt";
                        div.innerHTML = "AVAILABLE";
                        document.getElementById("get_started").innerHTML = "<img class='valigner'> NEXT";
                        document.getElementById("registration_period_selector").style.display = "block";
                        document.getElementById("step_1").setAttribute("style", "cursor: pointer; filter: alpha(opacity = 20); zoom: 1; opacity: 0.2; text-align: center;");
                        document.getElementById("step_2").setAttribute("style", "cursor: pointer;");
            
                    } else if(status == "unavailable"){
                        div.style.color = "red";
                        div.style.fontSize = "16pt";
                        div.innerHTML = "UNAVAILABLE";
                        serveionDomainReg.resetCheckButton();
                        document.getElementById("registration_period_selector").style.display = "none";
                    }
                }
            });
        }
    },
    
    resetCheckButton: function(){
        document.getElementById("get_started").innerHTML = "<img class='valigner'> CHECK";
        document.getElementById("registration_period_selector").style.display = "none";
        document.getElementById("step_1").setAttribute("style", "cursor: pointer;");
        document.getElementById("step_2").setAttribute("style", "cursor: pointer; filter: alpha(opacity = 20); zoom: 1; opacity: 0.2; text-align: center;");
        document.getElementById("step_3").setAttribute("style", "cursor: pointer; filter: alpha(opacity = 20); zoom: 1; opacity: 0.2; text-align: center;");
    }
}


/** Lets prototype some missing functions if needed
 String.test(str) is needed for FF or IE
 */
//*String.test(str);
if(!String.test){
    String.prototype.test = function(str){
        if(this.indexOf(str) != -1)
            return true;
        else
            return false;
    }
}

