﻿/////////////////////////////////////// BEGIN DOMAIN HOME //////////////////////////////////
var inFade = false;
function fadeToImage(picId) {
    alert();

    if (jQuery('Td#fadePicContainer').attr('rel') == picId)
        return;

    jQuery('Td#fadePicContainer').attr('rel', picId);
    if (inFade) // don't interrupt current fade 	
        return;

    inFade = true;
    jQuery('Td#fadePicContainer').fadeOut('fast', fadeOutCallback);

}
function fadeOutCallback() {
    jQuery('Td#fadePicContainer').css('background-image', 'url(/img/layout/promo_' + jQuery('Td#fadePicContainer').attr('rel') + '.png)');
    jQuery('Td#fadePicContainer').fadeIn('fast', fadeInCallback);
}
function fadeInCallback() {
    inFade = false;
}
function validateDomain(domain) {
    var exp1 = /.com|.net/; //if more extensions, must be add here
    var matchPos1 = domain.search(exp1);
    if (matchPos1 != -1) {
        //do nothing
    } else {
        var exp2 = /./;
        var matchPos2 = domain.search(exp2);
        if (matchPos2 != -1) {
            domain += '.com';
        }
    }
}
function btnGoClick() {
    var domain = getElement("txt_FullDomainSearch").value;
    validateDomain(domain);
    location = g_domainCheckerLocation + '/domain/' + domain;
}
/////////////////////////////////////// BEGIN DOMAIN LOGIN //////////////////////////////////
function loginDomainClick() {
    var username = jQuery('#domainLog_username').val();
    var password = jQuery('#domainLog_password').val();
    var loginPath = "/login/ajax";
    jQuery.ajax({
        async: false,
        type: "POST",
        url: loginPath,
        data: "txtUsername=" + username + "&txtPassword=" + password + "&from=order&isSubmit=true",
        success: function(response) {	//if logged in - redirect to payment.
            if (response == "loggedin") location.href = g_appPath + "domains/payment";
            else jQuery("#divErrorMessages").html(response); //else print error message 					
        },
        error: function(html) {
            //show some error.
            return (false);
        }
    });
}

/////////////////////////////////////// BEGIN DOMAIN REGISTER //////////////////////////////////
function cellExtMouseDown(ext) {
    getElement("cellTLD").innerHTML = ext;
}
//------------------------------------------------------------------------
function extSelectClick() {
    var div, border, pos, table, extSelectBorder;
    div = getElement("extSelectDiv");
    table = getElement("tableExtDropDown");
    extSelectBorder = getElement("extSelectBorder");
    table.style.display = "";
    div.style.display = "";
    g_listFlag = true;

    /*
    pos = findPos(extSelectBorder);
    table.style.display = "";	
    div.style.display = "";
    //div.style.left = 0;
    //div.style.top = 0;	
    //div.style.left = pos[0];
    //div.style.top = pos[1]+35;
    g_listFlag = true;
    */
}

//------------------------------------------------------------------------
// on body click remove the tld selection list.
function bodyClick() {
    if (g_listFlag == false) displayElement("tableExtDropDown", false);
    g_listFlag = false;
}

//------------------------------------------------------------------------
function initDomains() {
    jQuery.noConflict();
    jQuery(document).ready(function() {
        //cachePicNewMenu(); //cache pic new menu for fadding    	
        document.body.onclick = bodyClick;
        //init positions for wheel window:
        g_wheelWindowRelPosLeft = 170;
        g_wheelWindowRelPosTop = -45;

        focusElement("txtDomainSearch");
    });
}
/////////////////////////////////////// END DOMAIN REGISTER ///////////////////////////////////

/////////////////////////////// BEGIN DOMAIN CHECKER /////////////////////////////////		
function addDomainsToCart() {
    if (g_domains.length == 0) {
        //alert("No domain!!! - can't add to cart");
        return (false);
    }
    var i = 0;
    for (i = 0; i < g_domains.length; i++) {
        updateMiniCart('add', '', buildDomainParams(g_domains[i].domain_full, 'register', g_domains[i].price, 1));
    }

    // TEST FOR PRODUCT 
    //updateMiniCart( 'add', '', 'pid=1&productType=product&productName=Product1&price=10' );	

    // TEST FOR RENEW
    //updateMiniCart( 'add', '', 'productType=domain&productName=notifycredittest789.com&price=8.00&type=renew&period=1' );

}

//------------------------------------------------------------------------------------------------
function checkDomainClick() {
    var check = getElement("checkDomain");
    if (check.checked) switchItems('rowAddToCartDisabled', 'rowAddToCart');
    else switchItems('rowAddToCart', 'rowAddToCartDisabled');
}

//------------------------------------------------------------------------------------------------
// get the bulkID and turn to server to validate if it is avaible.
function ajaxCheckAviability(batchID, domain) {
    jQuery.ajax({
        type: "POST",
        url: g_self,
        data: "action=checkDomain&batchID=" + batchID,
        success: function(status) {
            var divTable = getElement("checkerTxtStatus");
            var divFront = getElement("divCheckerMainMessage");

            switch (status) {
                case "taken":
                    divTable.innerHTML = "Unavailable";
                    divTable.className = "domainChecker_taken_table";
                    divFront.innerHTML = "The domain \"" + domain + "\" is unavailable!";
                    divFront.className = "domainChecker_taken_main";
                    break;
                case "available":
                    divTable.innerHTML = "Available";
                    divTable.className = "domainChecker_avaible_table";
                    divFront.innerHTML = "The domain \"" + domain + "\" is available!";
                    divFront.className = "domainChecker_avaible_main";
                    displayElement("checkDomain", true);
                    displayElement("rowAddToCart", true);
                    break;
                case "error":
                    divTable.innerHTML = "Error";
                    divTable.className = "domainChecker_taken_table";
                    divFront.innerHTML = "There was some error checking the domain: " + domain;
                    divFront.className = "domainChecker_taken_main";
                    break;
            }
        },
        error: function() {
            divTable.innerHTML = "Error";
            divTable.className = "domainChecker_taken_table";
            divFront.innerHTML = "There was some error checking the domain: " + domain;
            divFront.className = "domainChecker_taken_main";
        }
    });

    //trace([batchID,g_self]);
}

//------------------------------------------------------------------------------------------------
function initChecker(domain, batchID) {
    jQuery.noConflict();
    jQuery(document).ready(function() {
        /*if(batchID == 0){	//if 
        var divTable = getElement("checkerTxtStatus");
        var divFront = getElement("divCheckerMainMessage");
        divTable.innerHTML = "Error!";
        divTable.className = "domainChecker_taken_table";
        divFront.innerHTML = "Error checking aviability of '"+domain+"' ";
        divFront.className = "domainChecker_taken_main";
        }
        if(domain.length>0) ajaxCheckAviability(batchID,domain);*/
        updateMiniCart();
    });
}

//----------------------------------------------------------------------------------------------------
function checkDomainClick() {
    var check = getElement("checkDomain");
    if (check.checked) switchItems('rowAddToCartDisabled', 'rowAddToCart');
    else switchItems('rowAddToCart', 'rowAddToCartDisabled');
}
//----------------------------------------------------------------------------------------------------
function searchDomainClick() {
    var frmDomain;
    frmDomain = getElement("frmDomain");
    frmDomain.domain.value = getElement("txtDomain").value;
    var selected = jQuery("#selectExt option:selected");
    frmDomain.ext.value = selected.val();
    frmDomain.submit();
}
function searchDomainFrmCheckerClick() {
    var domain_full = '';
    var domain = getElement("txtDomainSearch").value;
    var extension = getElement("cellTLD").innerHTML;
    extension = trim(extension);
    if (domain != '' && extension != '') {
        domain_full = domain + extension;
    }
    location = '/domains/checker/domain/' + domain_full;
}

//------------------------------------------------------------------------------------------------
/////////////////////////////// END DOMAIN CHECKER ////////////////////////////////	

/////////////////////////////// DOMAIN BUY STEP 2 (SIGN) //////////////////////////
function redirectToSearch() {
    location.href = g_appPath + "domains/checker";
}
//------------------------------------------------------------------------------------
function onCartChange() {
    if (jQuery("#cartHasItems")) {
        var divHasItems = jQuery("#cartHasItems");
        var hasItems = Number(divHasItems.innerHTML);
        if (hasItems == 0) {
            displayElement("cellContinue1", false);
            displayElement("cellContinue2", true);
            displayElement("rowRedirectingText", true);
            //setTimeout("redirectToSearch()",2000);
        }
    }
}
//------------------------------------------------------------------------------------
function removeWrongCell() {
    var cellWrong;
    cellWrong = document.getElementById("cellWrong");
    if (cellWrong) cellWrong.style.display = "none";
}
//------------------------------------------------------------------------------------
function initCart() {
    jQuery.noConflict();
    jQuery(document).ready(function() {
        setTimeout("removeWrongCell()", 3000);
        updateMiniCart("noContinue");
    });
}
//------------------------------------------------------------------------------------
//event from shopping_cart.php
function onCartDelete() {
    gotoPageWithNewCart(g_appPath + "domains/sign");
}
/////////////////////////////// DOMAIN BUY STEP 2 (SIGN) //////////////////////////

/////////////////////////////// DOMAIN BUY STEP 3 (PAYMENT) ///////////////////////
//event when the cart changes
function choosePaymentContinueClick() {
    jQuery.noConflict();
    var frm = jQuery("#frmMethod");
    var radioMethods = jQuery("paymentmethod");
    var payment_method = jQuery("#payment_method");
    var i, method;
    if (jQuery('#checkTerms').length > 0 && jQuery('#checkTerms').is(':checked') == false) {
        alert("To register a domain you must accept the 'Domain Registration Agreement'\n" +
							 "by checking the 'Domain Registration Agreement' checkbox on this page.");
        return false;
    }
    method = "";

    jQuery.each('#radioBox input', function(i) {
        if (jQuery('#pgbtn' + i + ':checked').length) method = jQuery('#pgbtn' + i).val();
    });
    jQuery("#payment_method").val(method);


    /*if(method == "paypalpaymentspro"){
    alert("The credit card is currently unavailable");
    return(false);		
    }*/

    frm.submit();
}
//------------------------------------------------------------------------------------
/*function onCartChange(){
var divHasItems = getElement("cartHasItems");
var hasItems = Number(divHasItems.innerHTML);
if(hasItems == 0){
//displayElement("cellContinue1",false);
//displayElement("cellContinue2",true);
//setTimeout("redirectToSearch()",2000);
}
}*/
//------------------------------------------------------------------------------------
function initPayment() {
    jQuery.noConflict();
    jQuery(document).ready(function() {
        updateMiniCart("noContinue");
    });
}

/////////////////////////////// DOMAIN BUY STEP 3 (PAYMENT) ///////////////////////		

/////////////////////////////// DOMAIN BUY STEP 4 (CHECKOUT)///////////////////////
function frmCreditCardClick() {
    var frmCreditCard = getElement("frmCreditCard");
    frmCreditCard.isPost.value = jQuery("#isPost").val();
    frmCreditCard.action.value = jQuery("#action").val();

    //-------------------------------- radioBtn paymentmethod
    var radioMethods = jQuery("paymentmethod");
    var payment_method = jQuery("#payment_method");
    var i, method;
    method = "";
    jQuery.each('#radioBox input', function(i) {
        if (jQuery('#pgbtn' + i + ':checked').length) method = jQuery('#pgbtn' + i).val();
    });
    jQuery("#payment_method").val(method);
    //-------------------------------- radioBtn ccinfos
    var radioCCinfos = jQuery("ccinfos");
    var cc_infos = jQuery("#cc_infos");
    var j, type;
    type = "";
    jQuery.each('#radioBox input', function(j) {
        if (jQuery('#ccinfos' + j + ':checked').length) type = jQuery('#ccinfos' + j).val();
    });
    jQuery("#cc_infos").val(type);
    //-------------------------------------------------------------	
    frmCreditCard.firstname.value = jQuery("#firstname").val();
    frmCreditCard.lastname.value = jQuery("#lastname").val();
    frmCreditCard.companyname.value = jQuery("#companyname").val();
    frmCreditCard.email.value = jQuery("#email").val();
    frmCreditCard.address1.value = jQuery("#address1").val();
    frmCreditCard.address2.value = jQuery("#address2").val();
    frmCreditCard.city.value = jQuery("#city").val();
    if (jQuery("#state_us").length > 0) {
        frmCreditCard.state_us.value = jQuery("#state_us").val();
    }
    if (jQuery("#state_ca").length > 0) {
        frmCreditCard.state_ca.value = jQuery("#state_ca").val();
    }
    frmCreditCard.postcode.value = jQuery("#postcode").val();
    frmCreditCard.country.value = jQuery("#country").val();
    frmCreditCard.phonenumber.value = jQuery("#phonenumber").val();

    //Select Box Credit Card
    var selected = jQuery("#cctype option:selected");
    frmCreditCard.cctype.value = selected.val(); // jQuery("#cctype").val();

    frmCreditCard.ccnumber.value = jQuery("#ccnumber").val();
    frmCreditCard.ccexpirymonth.value = jQuery("#ccexpirymonth").val();
    frmCreditCard.ccexpiryyear.value = jQuery("#ccexpiryyear").val();
    frmCreditCard.cccvv.value = jQuery("#cccvv").val();
    frmCreditCard.submit();
}
function changeViewTo(method) {
    switch (method) {
        case "paypal":
            displayElement("rowCreditCardFields", false);
            displayElement("rowPaypalFields", true);
            break;
        case "cc":
            displayElement("rowCreditCardFields", true);
            displayElement("rowPaypalFields", false);
            break;
    }
} //------------------------------------------------------------------------------------
function initCreditCard() {
    jQuery.noConflict();
    jQuery(document).ready(function() {
        updateMiniCart("noContinue");
        if (g_ccinfos == 'exist') {
            jQuery("#cctype").attr('disabled', true);
            jQuery("#ccnumber").attr('disabled', true);
            jQuery("#ccexpirymonth").attr('disabled', true);
            jQuery("#ccexpiryyear").attr('disabled', true);
            jQuery("#cccvv").attr('disabled', true);
            jQuery("#cccvv2").attr('disabled', true);
            jQuery("#ccissuenum").attr('disabled', true);
            jQuery("#ccstartmonth").attr('disabled', true);
            jQuery("#ccstartyear").attr('disabled', true);
        }
    });
}
function initPaypal() {

    jQuery.noConflict();
    jQuery(document).ready(function() {
        setTimeout(function() {
            var frmPaypal = jQuery("#frmPaypal");
            frmPaypal.submit();
        }, 5000);
    });
    /*jQuery(document).ready(function (){ 
    var frmPaypal = jQuery("#frmPaypal");
    frmPaypal.submit();
    });*/
}
function enableFormElements(oper) {

    if (oper == 'exist') {
        jQuery("#cctype").attr('disabled', true);
        jQuery("#ccnumber").attr('disabled', true);
        jQuery("#ccexpirymonth").attr('disabled', true);
        jQuery("#ccexpiryyear").attr('disabled', true);
        jQuery("#cccvv").attr('disabled', true);
        jQuery("#cccvv2").attr('disabled', true);
        jQuery("#ccissuenum").attr('disabled', true);
        jQuery("#ccstartmonth").attr('disabled', true);
        jQuery("#ccstartyear").attr('disabled', true);
    }
    else {
        jQuery("#cctype").removeAttr('disabled');
        jQuery("#ccnumber").removeAttr('disabled');
        jQuery("#ccexpirymonth").removeAttr('disabled');
        jQuery("#ccexpiryyear").removeAttr('disabled');
        jQuery("#cccvv").removeAttr('disabled');
        jQuery("#cccvv2").removeAttr('disabled');
        jQuery("#ccissuenum").removeAttr('disabled');
        jQuery("#ccstartmonth").removeAttr('disabled');
        jQuery("#ccstartyear").removeAttr('disabled');
    }
}
function initccvToolTip() {
    jQuery.noConflict();
    jQuery(document).ready(function() {

        src = jQuery('#ccv').attr("rel");
        jQuery('#ccv').tooltip({
            cssClass: "tooltip",
            delay: 0,
            showURL: false,
            bodyHandler: function() {
                return jQuery("<img/>").attr("src", src);
            }
        });
    });
}
//---------------------------------------------------------------------------
function radioChooseClick(oper) {

    switch (oper) {
        case "exist":
            enableFormElements("exist");
            //displayElement("cellCardErrorMessage",false);
            break;
        case "new":
            enableFormElements("new");
            //displayElement("rowActualFields",true);
            break;
    }
}
/////////////////////////////// DOMAIN BUY STEP 4 (CHECKOUT)///////////////////////

/////////////////////////////////////// TOP MENU DOMAIN ///////////////////////////////
function isTopMenuDeselected(menu) {
    //Deselected current Element	
    if (menu.id == 'menu_0') {
        jQuery('#' + menu.id).removeClass("mainMenuCell_click");
        jQuery('#' + menu.id).removeClass("mainMenuCellFirst_over");
    }
    else {
        jQuery('#' + menu.id).addClass("mainMenuCell_click");
        jQuery('#' + menu.id).removeClass("mainMenuCell_click");
    }
}
function isTopMenuOver(menu) {
    // Deselected last button
    jQuery.noConflict();
    jQuery(document).ready(function() {
        jQuery.each('Table.topMenu tbody Tr Td.mainMenuCell_click', function(i) {
            if (typeof jQuery('Table.topMenu tbody Tr Td.mainMenuCell_click').attr('id') != "undefined") {
                jQuery('Table.topMenu tbody Tr Td.mainMenuCell_click').removeClass('mainMenuCell_click');
                jQuery('Table.topMenu tbody Tr Td.mainMenuCell_click').addClass('mainMenuCell');
            }
        });
        jQuery.each('Table.topMenu tbody Tr Td.mainMenuCellFirst_over', function(i) {
            if (typeof jQuery('Table.topMenu tbody Tr Td.mainMenuCellFirst_over').attr('id') != "undefined") {
                jQuery('Table.topMenu tbody Tr Td.mainMenuCell_click').removeClass('mainMenuCell_click');
                jQuery('Table.topMenu tbody Tr Td.mainMenuCellFirst_over').removeClass('mainMenuCellFirst_over');
                jQuery('Table.topMenu tbody Tr Td.mainMenuCellFirst_over').addClass('mainMenuCell');
            }
        });
    });

    //Display Sub menu
    displaySubMenu(menu.id);

    //Selected current Element		
    if (menu.id == 'menu_0') {
        jQuery('#' + menu.id).addClass("mainMenuCellFirst_over");
        jQuery('#' + menu.id).removeClass("mainMenuCell_click");
    }
    else {
        jQuery('#' + menu.id).addClass("mainMenuCell_click");
    }
}
function getNumSubMenu() {
    // get number of servers
    var counter = 0;
    var ul = document.getElementById("submenu_" + counter);
    while (ul) {
        counter++;
        ul = document.getElementById("submenu_" + counter);
    }
    return (counter);
}
function displaySubMenu(menu) {
    /*jQuery.noConflict();
    jQuery(document).ready(function(){  
    jQuery.each('Tr#subNav td ul#sub', function(i) {
    if(typeof jQuery('Tr#subNav td ul#sub'+i).attr('id') != "undefined"){	
    alert(jQuery('Tr#subNav td ul#sub'+i).attr('id'));
    //if(jQuery('Tr#subNav td ul#sub'+i).attr('href')==g_self){
    //jQuery(this+' a').removeClass("selected");
    }
    });
    });*/
    //trace(menu);

    var counter = getNumSubMenu();
    for (var i = 0; i < counter; i++) {
        var arrMenu = menu.split('_');
        var currentMenuId = arrMenu[1];
        switch (menu) {
            case menu:
                //Display current sub menu
                jQuery('Tr#subNav td ul#submenu_' + currentMenuId).css('display', 'block');

                //Undisplay other sub menu
                if (i != currentMenuId) jQuery('Tr#subNav td ul#submenu_' + i).css('display', 'none');
                break;
        }
    }
}
/////////////////////////////////////// END TOP MENU DOMAIN //////////////////////////
